Tags

Tags give the ability to mark specific points in history as being important
  • go/v0.9.0

    cloudsync.v1 connector role
    
    - New CloudSync connector API: CloudSyncExtension (Sync, mandatory),
      ResourceWatcher (Watch) and ResourceActor (Act), served over
      cloudsyncpb.CloudSyncServer
    - Resource envelope with ext:<slug>:<kind>:<provider-id> ids, parent
      chains, cursors and tombstones; ResourceStream delivers with
      Send/Checkpoint/Close
    - SyncCheckpoint splits enumerated out of complete, so a pass can end
      without claiming it saw the whole set
    - Kinds pinned for v1: workspace, agent, session, transcript, member,
      audit_event, usage, policy. Verbs: contain, release
    - Agent capability vocabulary pinned: tool, skill, knowledge, with the
      provider's own word kept beside the normalized one
    - ContentState vocabulary: full, redacted, metadata_only,
      provider_suppressed
    - TranscriptResource / DecodeTranscript encode a PromptSession as a
      kind:transcript resource, with the payload's stable_id required to
      agree with its envelope
    - PromptMessage gains reported_cost_usd, so a producer can report what
      a message cost
    - Extension gRPC servers now recover panics instead of taking the
      process down
  • go/v0.8.0

    PromptMessage tools[] / PromptToolCall
  • go/v0.7.0

    Go SDK v0.7.0
    
    Cloud-hosted extension contract: control.v1 + promptstore.v1.
    
    New:
      - controlpb / promptstorepb generated packages
      - sdk.CloudExtension replaces Lifecycle for cloud-hosted
        extensions (Configure/Unconfigure/Test per org)
      - PromptSinkExtension write half; per-capability read
        interfaces (SessionGetter, MessageLister, SessionSearcher,
        SessionFaceter, UsageReporter, ...)
      - Per-org capability scoping via OrgCapabilityScoper
      - Host stamped on Metadata (HOST_CLOUD)
    
    Breaking:
      - BackendExtension renamed to CloudExtension
      - proto Context renamed to OrgContext
      - PromptSink folded into PromptStore
      - append-only records require session_id, not stable_id
    
    See merge request superalign-public/sdks!6
  • go/v0.6.0

    Go SDK v0.6.0
    
    Lifecycle: forward structured install/uninstall context (InstallContext
    + UninstallContext) to extensions via Go-native context.Context types
    that carry Usernames.
    
    Wire format:
      - SetupRequest.context   (InstallContext)
      - TeardownRequest.context (UninstallContext)
    
    Plugin-owned per-user iteration: the scanner makes ONE Setup/Teardown
    RPC carrying the full username list; per-user plugins (cursor) iterate
    in-process, hybrid plugins (codex) write a system file once and iterate
    per-user, system-wide plugins (claude) ignore the list.
    
    Note: skip-past v0.5.0 — that version was tagged against the
    re-exec-refactor design (LifecycleWithUser / RunCLI) that this
    release supersedes. The v0.5.0 tag was deleted and re-tagging the
    same version with a different commit violates Go's module
    checksum protocol (sum.golang.org refuses to update the recorded
    hash).
  • go/v0.4.0

    go/v0.4.0
    
    - Lifecycle service gains GetState / SetState RPCs (in-memory key/value
      store served on the same daemon socket, for hook-child cursor coordination)
    - PromptMessage gains Usage field (input/output/reasoning/cache_{creation,read}/total tokens)
    - Daemon socket chmod 0666 so user-perm hook children can dial root-perm daemons
    - New SDK helper: sdk.DefaultExtensionState() returns a client wired to the convention path
  • go/v0.3.0

    go/v0.3.0: protojson PromptSession encoding + cursor example relocated
    
    Notable changes vs go/v0.2.0:
    
    * sdk: postLocalAPI now marshals via protojson (UseProtoNames=true).
      Default encoding/json on *timestamppb.Timestamp rendered struct dumps
      ({seconds,nanos}) that the scanner's protocol.PromptSession time.Time
      fields rejected. RFC3339 string output + snake_case field names match
      the scanner-side decoder exactly. This is a wire-format change for
      anyone consuming the scanner's localapi from an SDK plugin.
    
    * sdk: cursor example removed; cursor now ships as a first-party
      extension in gitlab.com/superalign-public/extensions/promptcollectors/cursor.
    
    * ci: buf-breaking relaxed from FILE → PACKAGE (with FILE_SAME_GO_PACKAGE
      exempted) to permit the earlier scanner.proto layout flattening.
    
    No public Go API surface changed in this release; the protojson switch
    is internal to postLocalAPI.
  • go/v0.2.0

    go/v0.2.0 — v2 proto: drop Metadata RPC, rename stable_id→id, expand AIAsset
  • node/v0.2.0

    node/v0.2.0 — v2 proto: drop Metadata RPC, rename stable_id→id, expand AIAsset
  • node/v0.1.1

    node/v0.1.1 — reorg under node/scanner; bundle hello to single .cjs
  • node/v0.1.0

    node/v0.1.0 — initial Node SDK release: serve(impl) + hello example
  • go/v0.1.1

    go/v0.1.1 — cosmetic: rename sdk.go to serve.go (no behavior change)
  • go/v0.1.0

    go/v0.1.0 — initial polyglot release: scanner SDK + proto contract