@kortix/sdk 0.9.102 → 0.9.104
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +92 -2
- package/dist/browser/cache/idb-sync-cache.d.ts.map +1 -0
- package/dist/{state → browser/cache}/idb-sync-cache.js +1 -1
- package/dist/browser/cache/idb-sync-cache.js.map +1 -0
- package/dist/browser/stores/diagnostics-store.d.ts.map +1 -0
- package/dist/browser/stores/diagnostics-store.js.map +1 -0
- package/dist/browser/stores/opencode-compaction-store.d.ts.map +1 -0
- package/dist/browser/stores/opencode-compaction-store.js.map +1 -0
- package/dist/browser/stores/opencode-pending-store.d.ts.map +1 -0
- package/dist/browser/stores/opencode-pending-store.js.map +1 -0
- package/dist/{state → browser/stores}/sandbox-connection-store.d.ts +2 -0
- package/dist/browser/stores/sandbox-connection-store.d.ts.map +1 -0
- package/dist/{state → browser/stores}/sandbox-connection-store.js +11 -1
- package/dist/browser/stores/sandbox-connection-store.js.map +1 -0
- package/dist/{state → browser/stores}/server-store.d.ts +6 -6
- package/dist/browser/stores/server-store.d.ts.map +1 -0
- package/dist/{state → browser/stores}/server-store.js +7 -7
- package/dist/browser/stores/server-store.js.map +1 -0
- package/dist/browser/stores/sync-store/ascending-id.d.ts.map +1 -0
- package/dist/browser/stores/sync-store/ascending-id.js.map +1 -0
- package/dist/browser/stores/sync-store/binary.d.ts.map +1 -0
- package/dist/browser/stores/sync-store/binary.js.map +1 -0
- package/dist/browser/stores/sync-store/stream-cache.d.ts.map +1 -0
- package/dist/browser/stores/sync-store/stream-cache.js.map +1 -0
- package/dist/browser/stores/sync-store/types.d.ts.map +1 -0
- package/dist/browser/stores/sync-store/types.js.map +1 -0
- package/dist/browser/stores/sync-store.d.ts.map +1 -0
- package/dist/browser/stores/sync-store.js.map +1 -0
- package/dist/browser/stores/tab-store.d.ts.map +1 -0
- package/dist/{state → browser/stores}/tab-store.js +2 -2
- package/dist/browser/stores/tab-store.js.map +1 -0
- package/dist/{kortix.d.ts → core/client/kortix.d.ts} +27 -7
- package/dist/core/client/kortix.d.ts.map +1 -0
- package/dist/{kortix.js → core/client/kortix.js} +27 -14
- package/dist/core/client/kortix.js.map +1 -0
- package/dist/core/files/client.d.ts.map +1 -0
- package/dist/{files → core/files}/client.js +4 -4
- package/dist/core/files/client.js.map +1 -0
- package/dist/core/files/types.d.ts.map +1 -0
- package/dist/core/files/types.js.map +1 -0
- package/dist/core/http/api/errors.d.ts.map +1 -0
- package/dist/core/http/api/errors.js.map +1 -0
- package/dist/core/http/api-client.d.ts.map +1 -0
- package/dist/core/http/api-client.js.map +1 -0
- package/dist/{platform → core/http}/auth.d.ts +1 -1
- package/dist/core/http/auth.d.ts.map +1 -0
- package/dist/{platform → core/http}/auth.js +1 -1
- package/dist/core/http/auth.js.map +1 -0
- package/dist/core/http/config.d.ts.map +1 -0
- package/dist/core/http/config.js.map +1 -0
- package/dist/core/http/env.d.ts +7 -0
- package/dist/core/http/env.d.ts.map +1 -0
- package/dist/core/http/env.js +14 -0
- package/dist/core/http/env.js.map +1 -0
- package/dist/core/http/feature-flags.d.ts.map +1 -0
- package/dist/{platform → core/http}/feature-flags.js +1 -13
- package/dist/core/http/feature-flags.js.map +1 -0
- package/dist/core/http/fresh-sessions.d.ts.map +1 -0
- package/dist/core/http/fresh-sessions.js.map +1 -0
- package/dist/core/http/instance-routes.d.ts.map +1 -0
- package/dist/{platform → core/http}/instance-routes.js +5 -3
- package/dist/core/http/instance-routes.js.map +1 -0
- package/dist/core/http/logger.d.ts.map +1 -0
- package/dist/{platform → core/http}/logger.js +1 -1
- package/dist/core/http/logger.js.map +1 -0
- package/dist/core/http/opencode-errors.d.ts.map +1 -0
- package/dist/core/http/opencode-errors.js.map +1 -0
- package/dist/core/rest/platform-client/backups.d.ts.map +1 -0
- package/dist/core/rest/platform-client/backups.js.map +1 -0
- package/dist/core/rest/platform-client/index.d.ts.map +1 -0
- package/dist/core/rest/platform-client/index.js.map +1 -0
- package/dist/core/rest/platform-client/instance-admin.d.ts.map +1 -0
- package/dist/{platform → core/rest}/platform-client/instance-admin.js +1 -1
- package/dist/core/rest/platform-client/instance-admin.js.map +1 -0
- package/dist/core/rest/platform-client/invites.d.ts.map +1 -0
- package/dist/core/rest/platform-client/invites.js.map +1 -0
- package/dist/core/rest/platform-client/lifecycle.d.ts.map +1 -0
- package/dist/core/rest/platform-client/lifecycle.js.map +1 -0
- package/dist/core/rest/platform-client/members.d.ts.map +1 -0
- package/dist/{platform → core/rest}/platform-client/members.js +2 -2
- package/dist/core/rest/platform-client/members.js.map +1 -0
- package/dist/core/rest/platform-client/shared.d.ts.map +1 -0
- package/dist/{platform → core/rest}/platform-client/shared.js +8 -5
- package/dist/core/rest/platform-client/shared.js.map +1 -0
- package/dist/core/rest/platform-client/ssh.d.ts.map +1 -0
- package/dist/core/rest/platform-client/ssh.js.map +1 -0
- package/dist/core/rest/platform-client/types.d.ts.map +1 -0
- package/dist/core/rest/platform-client/types.js.map +1 -0
- package/dist/core/rest/platform-client/updates.d.ts.map +1 -0
- package/dist/core/rest/platform-client/updates.js.map +1 -0
- package/dist/core/rest/platform-client/urls.d.ts.map +1 -0
- package/dist/core/rest/platform-client/urls.js.map +1 -0
- package/dist/{platform → core/rest}/projects-client/access.d.ts +1 -1
- package/dist/core/rest/projects-client/access.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/access.js +1 -1
- package/dist/core/rest/projects-client/access.js.map +1 -0
- package/dist/{platform → core/rest}/projects-client/accounts.d.ts +1 -1
- package/dist/core/rest/projects-client/accounts.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/accounts.js +1 -1
- package/dist/core/rest/projects-client/accounts.js.map +1 -0
- package/dist/{platform → core/rest}/projects-client/agent-config.d.ts +6 -0
- package/dist/core/rest/projects-client/agent-config.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/agent-config.js +5 -1
- package/dist/core/rest/projects-client/agent-config.js.map +1 -0
- package/dist/core/rest/projects-client/agent-scope.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/agent-scope.js +1 -1
- package/dist/core/rest/projects-client/agent-scope.js.map +1 -0
- package/dist/core/rest/projects-client/apps.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/apps.js +1 -1
- package/dist/core/rest/projects-client/apps.js.map +1 -0
- package/dist/core/rest/projects-client/audit.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/audit.js +1 -1
- package/dist/core/rest/projects-client/audit.js.map +1 -0
- package/dist/core/rest/projects-client/billing.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/billing.js +1 -1
- package/dist/core/rest/projects-client/billing.js.map +1 -0
- package/dist/core/rest/projects-client/change-requests.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/change-requests.js +1 -1
- package/dist/core/rest/projects-client/change-requests.js.map +1 -0
- package/dist/{platform → core/rest}/projects-client/channels.d.ts +10 -0
- package/dist/core/rest/projects-client/channels.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/channels.js +9 -4
- package/dist/core/rest/projects-client/channels.js.map +1 -0
- package/dist/{platform → core/rest}/projects-client/connectors.d.ts +33 -0
- package/dist/core/rest/projects-client/connectors.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/connectors.js +17 -2
- package/dist/core/rest/projects-client/connectors.js.map +1 -0
- package/dist/core/rest/projects-client/files.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/files.js +3 -3
- package/dist/core/rest/projects-client/files.js.map +1 -0
- package/dist/core/rest/projects-client/gateway.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/gateway.js +1 -1
- package/dist/core/rest/projects-client/gateway.js.map +1 -0
- package/dist/core/rest/projects-client/git-history.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/git-history.js +1 -1
- package/dist/core/rest/projects-client/git-history.js.map +1 -0
- package/dist/core/rest/projects-client/github.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/github.js +1 -1
- package/dist/core/rest/projects-client/github.js.map +1 -0
- package/dist/{platform → core/rest}/projects-client/index.d.ts +1 -0
- package/dist/core/rest/projects-client/index.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/index.js +1 -0
- package/dist/core/rest/projects-client/index.js.map +1 -0
- package/dist/core/rest/projects-client/marketplace-catalog.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/marketplace-catalog.js +1 -1
- package/dist/core/rest/projects-client/marketplace-catalog.js.map +1 -0
- package/dist/core/rest/projects-client/marketplace.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/marketplace.js +1 -1
- package/dist/core/rest/projects-client/marketplace.js.map +1 -0
- package/dist/core/rest/projects-client/model-defaults.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/model-defaults.js +1 -1
- package/dist/core/rest/projects-client/model-defaults.js.map +1 -0
- package/dist/core/rest/projects-client/policies.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/policies.js +1 -1
- package/dist/core/rest/projects-client/policies.js.map +1 -0
- package/dist/{platform → core/rest}/projects-client/projects.d.ts +1 -1
- package/dist/core/rest/projects-client/projects.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/projects.js +1 -1
- package/dist/core/rest/projects-client/projects.js.map +1 -0
- package/dist/core/rest/projects-client/public-session-shares.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/public-session-shares.js +1 -1
- package/dist/core/rest/projects-client/public-session-shares.js.map +1 -0
- package/dist/core/rest/projects-client/review.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/review.js +1 -1
- package/dist/core/rest/projects-client/review.js.map +1 -0
- package/dist/core/rest/projects-client/sandbox-shares.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/sandbox-shares.js +1 -1
- package/dist/core/rest/projects-client/sandbox-shares.js.map +1 -0
- package/dist/core/rest/projects-client/sandbox.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/sandbox.js +1 -1
- package/dist/core/rest/projects-client/sandbox.js.map +1 -0
- package/dist/core/rest/projects-client/secrets.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/secrets.js +1 -1
- package/dist/core/rest/projects-client/secrets.js.map +1 -0
- package/dist/core/rest/projects-client/session-sandbox.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/session-sandbox.js +4 -4
- package/dist/core/rest/projects-client/session-sandbox.js.map +1 -0
- package/dist/{platform → core/rest}/projects-client/sessions.d.ts +26 -14
- package/dist/core/rest/projects-client/sessions.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/sessions.js +5 -3
- package/dist/core/rest/projects-client/sessions.js.map +1 -0
- package/dist/core/rest/projects-client/setup-links.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/setup-links.js +1 -1
- package/dist/core/rest/projects-client/setup-links.js.map +1 -0
- package/dist/core/rest/projects-client/shared.d.ts.map +1 -0
- package/dist/core/rest/projects-client/shared.js.map +1 -0
- package/dist/core/rest/projects-client/templates.d.ts +50 -0
- package/dist/core/rest/projects-client/templates.d.ts.map +1 -0
- package/dist/core/rest/projects-client/templates.js +11 -0
- package/dist/core/rest/projects-client/templates.js.map +1 -0
- package/dist/core/rest/projects-client/tokens.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/tokens.js +1 -1
- package/dist/core/rest/projects-client/tokens.js.map +1 -0
- package/dist/core/rest/projects-client/transcription.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/transcription.js +1 -1
- package/dist/core/rest/projects-client/transcription.js.map +1 -0
- package/dist/core/rest/projects-client/triggers.d.ts.map +1 -0
- package/dist/{platform → core/rest}/projects-client/triggers.js +1 -1
- package/dist/core/rest/projects-client/triggers.js.map +1 -0
- package/dist/{opencode → core/runtime}/client.d.ts +1 -0
- package/dist/core/runtime/client.d.ts.map +1 -0
- package/dist/{opencode → core/runtime}/client.js +11 -8
- package/dist/core/runtime/client.js.map +1 -0
- package/dist/core/runtime/env.d.ts.map +1 -0
- package/dist/{opencode → core/runtime}/env.js +1 -1
- package/dist/core/runtime/env.js.map +1 -0
- package/dist/{opencode → core/runtime}/kortix-master.d.ts +19 -6
- package/dist/core/runtime/kortix-master.d.ts.map +1 -0
- package/dist/{opencode → core/runtime}/kortix-master.js +1 -1
- package/dist/core/runtime/kortix-master.js.map +1 -0
- package/dist/core/runtime/pty.d.ts +46 -0
- package/dist/core/runtime/pty.d.ts.map +1 -0
- package/dist/core/runtime/pty.js +109 -0
- package/dist/core/runtime/pty.js.map +1 -0
- package/dist/core/runtime/triggers.d.ts.map +1 -0
- package/dist/{opencode → core/runtime}/triggers.js +1 -1
- package/dist/core/runtime/triggers.js.map +1 -0
- package/dist/core/session/current-runtime.d.ts.map +1 -0
- package/dist/core/session/current-runtime.js.map +1 -0
- package/dist/core/session/health.d.ts.map +1 -0
- package/dist/{session → core/session}/health.js +2 -2
- package/dist/core/session/health.js.map +1 -0
- package/dist/core/session/index.d.ts.map +1 -0
- package/dist/core/session/index.js.map +1 -0
- package/dist/core/session/preview.d.ts.map +1 -0
- package/dist/core/session/preview.js.map +1 -0
- package/dist/core/session/server-store/active.d.ts.map +1 -0
- package/dist/{state → core/session}/server-store/active.js +1 -1
- package/dist/core/session/server-store/active.js.map +1 -0
- package/dist/core/session/server-store/types.d.ts.map +1 -0
- package/dist/core/session/server-store/types.js.map +1 -0
- package/dist/core/session/server-store/url-helpers.d.ts.map +1 -0
- package/dist/{state → core/session}/server-store/url-helpers.js +1 -1
- package/dist/core/session/server-store/url-helpers.js.map +1 -0
- package/dist/{state → core/session}/session-runtime-registry.d.ts +3 -3
- package/dist/core/session/session-runtime-registry.d.ts.map +1 -0
- package/dist/{state → core/session}/session-runtime-registry.js +3 -3
- package/dist/core/session/session-runtime-registry.js.map +1 -0
- package/dist/core/session/url.d.ts.map +1 -0
- package/dist/{session → core/session}/url.js +1 -1
- package/dist/core/session/url.js.map +1 -0
- package/dist/{state → core/stream}/chat-events.d.ts +1 -1
- package/dist/core/stream/chat-events.d.ts.map +1 -0
- package/dist/core/stream/chat-events.js.map +1 -0
- package/dist/core/stream/event-stream.d.ts.map +1 -0
- package/dist/{state → core/stream}/event-stream.js +2 -2
- package/dist/core/stream/event-stream.js.map +1 -0
- package/dist/{turns → core/turns}/classify.d.ts +2 -2
- package/dist/core/turns/classify.d.ts.map +1 -0
- package/dist/core/turns/classify.js.map +1 -0
- package/dist/core/turns/errors.d.ts.map +1 -0
- package/dist/core/turns/errors.js.map +1 -0
- package/dist/core/turns/grouping.d.ts +72 -0
- package/dist/core/turns/grouping.d.ts.map +1 -0
- package/dist/core/turns/grouping.js +196 -0
- package/dist/core/turns/grouping.js.map +1 -0
- package/dist/core/turns/index.d.ts +14 -0
- package/dist/core/turns/index.d.ts.map +1 -0
- package/dist/core/turns/index.js +9 -0
- package/dist/core/turns/index.js.map +1 -0
- package/dist/core/turns/parts.d.ts +115 -0
- package/dist/core/turns/parts.d.ts.map +1 -0
- package/dist/{turns/index.js → core/turns/parts.js} +10 -636
- package/dist/core/turns/parts.js.map +1 -0
- package/dist/core/turns/shell.d.ts +22 -0
- package/dist/core/turns/shell.d.ts.map +1 -0
- package/dist/core/turns/shell.js +42 -0
- package/dist/core/turns/shell.js.map +1 -0
- package/dist/core/turns/state.d.ts +82 -0
- package/dist/core/turns/state.d.ts.map +1 -0
- package/dist/core/turns/state.js +417 -0
- package/dist/core/turns/state.js.map +1 -0
- package/dist/core/turns/tool-registry.d.ts.map +1 -0
- package/dist/core/turns/tool-registry.js.map +1 -0
- package/dist/core/turns/types.d.ts.map +1 -0
- package/dist/core/turns/types.js.map +1 -0
- package/dist/core/turns/view-model.d.ts.map +1 -0
- package/dist/core/turns/view-model.js.map +1 -0
- package/dist/deprecated/api-client.d.ts +6 -0
- package/dist/deprecated/api-client.d.ts.map +1 -0
- package/dist/deprecated/api-client.js +6 -0
- package/dist/deprecated/api-client.js.map +1 -0
- package/dist/deprecated/auth.d.ts +6 -0
- package/dist/deprecated/auth.d.ts.map +1 -0
- package/dist/deprecated/auth.js +6 -0
- package/dist/deprecated/auth.js.map +1 -0
- package/dist/deprecated/config.d.ts +6 -0
- package/dist/deprecated/config.d.ts.map +1 -0
- package/dist/deprecated/config.js +6 -0
- package/dist/deprecated/config.js.map +1 -0
- package/dist/deprecated/event-stream.d.ts +6 -0
- package/dist/deprecated/event-stream.d.ts.map +1 -0
- package/dist/deprecated/event-stream.js +6 -0
- package/dist/deprecated/event-stream.js.map +1 -0
- package/dist/deprecated/feature-flags.d.ts +6 -0
- package/dist/deprecated/feature-flags.d.ts.map +1 -0
- package/dist/deprecated/feature-flags.js +6 -0
- package/dist/deprecated/feature-flags.js.map +1 -0
- package/dist/deprecated/files.d.ts +6 -0
- package/dist/deprecated/files.d.ts.map +1 -0
- package/dist/deprecated/files.js +6 -0
- package/dist/deprecated/files.js.map +1 -0
- package/dist/deprecated/fresh-sessions.d.ts +6 -0
- package/dist/deprecated/fresh-sessions.d.ts.map +1 -0
- package/dist/deprecated/fresh-sessions.js +6 -0
- package/dist/deprecated/fresh-sessions.js.map +1 -0
- package/dist/deprecated/idb-sync-cache.d.ts +7 -0
- package/dist/deprecated/idb-sync-cache.d.ts.map +1 -0
- package/dist/deprecated/idb-sync-cache.js +7 -0
- package/dist/deprecated/idb-sync-cache.js.map +1 -0
- package/dist/deprecated/instance-routes.d.ts +6 -0
- package/dist/deprecated/instance-routes.d.ts.map +1 -0
- package/dist/deprecated/instance-routes.js +6 -0
- package/dist/deprecated/instance-routes.js.map +1 -0
- package/dist/deprecated/opencode-client.d.ts +6 -0
- package/dist/deprecated/opencode-client.d.ts.map +1 -0
- package/dist/deprecated/opencode-client.js +6 -0
- package/dist/deprecated/opencode-client.js.map +1 -0
- package/dist/deprecated/opencode-errors.d.ts +6 -0
- package/dist/deprecated/opencode-errors.d.ts.map +1 -0
- package/dist/deprecated/opencode-errors.js +6 -0
- package/dist/deprecated/opencode-errors.js.map +1 -0
- package/dist/deprecated/opencode-pending-store.d.ts +7 -0
- package/dist/deprecated/opencode-pending-store.d.ts.map +1 -0
- package/dist/deprecated/opencode-pending-store.js +7 -0
- package/dist/deprecated/opencode-pending-store.js.map +1 -0
- package/dist/deprecated/platform-client.d.ts +6 -0
- package/dist/deprecated/platform-client.d.ts.map +1 -0
- package/dist/deprecated/platform-client.js +6 -0
- package/dist/deprecated/platform-client.js.map +1 -0
- package/dist/deprecated/projects-client.d.ts +6 -0
- package/dist/deprecated/projects-client.d.ts.map +1 -0
- package/dist/deprecated/projects-client.js +6 -0
- package/dist/deprecated/projects-client.js.map +1 -0
- package/dist/deprecated/sandbox-connection-store.d.ts +7 -0
- package/dist/deprecated/sandbox-connection-store.d.ts.map +1 -0
- package/dist/deprecated/sandbox-connection-store.js +7 -0
- package/dist/deprecated/sandbox-connection-store.js.map +1 -0
- package/dist/deprecated/server-store.d.ts +7 -0
- package/dist/deprecated/server-store.d.ts.map +1 -0
- package/dist/deprecated/server-store.js +7 -0
- package/dist/deprecated/server-store.js.map +1 -0
- package/dist/deprecated/session-url.d.ts +6 -0
- package/dist/deprecated/session-url.d.ts.map +1 -0
- package/dist/deprecated/session-url.js +6 -0
- package/dist/deprecated/session-url.js.map +1 -0
- package/dist/deprecated/session.d.ts +6 -0
- package/dist/deprecated/session.d.ts.map +1 -0
- package/dist/deprecated/session.js +6 -0
- package/dist/deprecated/session.js.map +1 -0
- package/dist/deprecated/sync-store.d.ts +7 -0
- package/dist/deprecated/sync-store.d.ts.map +1 -0
- package/dist/deprecated/sync-store.js +7 -0
- package/dist/deprecated/sync-store.js.map +1 -0
- package/dist/deprecated/turns.d.ts +6 -0
- package/dist/deprecated/turns.d.ts.map +1 -0
- package/dist/deprecated/turns.js +6 -0
- package/dist/deprecated/turns.js.map +1 -0
- package/dist/index.d.ts +49 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +43 -21
- package/dist/index.js.map +1 -1
- package/dist/internal/idb-sync-cache.d.ts +6 -0
- package/dist/internal/idb-sync-cache.d.ts.map +1 -0
- package/dist/internal/idb-sync-cache.js +6 -0
- package/dist/internal/idb-sync-cache.js.map +1 -0
- package/dist/internal/opencode-pending-store.d.ts +6 -0
- package/dist/internal/opencode-pending-store.d.ts.map +1 -0
- package/dist/internal/opencode-pending-store.js +6 -0
- package/dist/internal/opencode-pending-store.js.map +1 -0
- package/dist/internal/sandbox-connection-store.d.ts +6 -0
- package/dist/internal/sandbox-connection-store.d.ts.map +1 -0
- package/dist/internal/sandbox-connection-store.js +6 -0
- package/dist/internal/sandbox-connection-store.js.map +1 -0
- package/dist/internal/server-store.d.ts +6 -0
- package/dist/internal/server-store.d.ts.map +1 -0
- package/dist/internal/server-store.js +6 -0
- package/dist/internal/server-store.js.map +1 -0
- package/dist/internal/sync-store.d.ts +6 -0
- package/dist/internal/sync-store.d.ts.map +1 -0
- package/dist/internal/sync-store.js +6 -0
- package/dist/internal/sync-store.js.map +1 -0
- package/dist/kortix.esm.min.js +64 -0
- package/dist/kortix.global.js +64 -0
- package/dist/{server.d.ts → node/server.d.ts} +3 -3
- package/dist/node/server.d.ts.map +1 -0
- package/dist/{server.js → node/server.js} +2 -2
- package/dist/node/server.js.map +1 -0
- package/dist/platform/auth-core.d.ts +1 -1
- package/dist/platform/auth-core.js +1 -1
- package/dist/platform/config-node.d.ts +1 -1
- package/dist/platform/config-node.d.ts.map +1 -1
- package/dist/platform/config-node.js +1 -1
- package/dist/platform/config-node.js.map +1 -1
- package/dist/platform/ui.js +1 -1
- package/dist/platform/ui.js.map +1 -1
- package/dist/react/chat/render-parts.d.ts +1 -1
- package/dist/react/chat/render-parts.d.ts.map +1 -1
- package/dist/react/chat/use-chat-turns.d.ts +1 -1
- package/dist/react/chat/use-chat-turns.d.ts.map +1 -1
- package/dist/react/chat/use-chat-turns.js +1 -1
- package/dist/react/chat/use-chat-turns.js.map +1 -1
- package/dist/react/index.d.ts +2 -3
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +2 -6
- package/dist/react/index.js.map +1 -1
- package/dist/react/opencode.d.ts +3 -3
- package/dist/react/opencode.d.ts.map +1 -1
- package/dist/react/opencode.js +2 -2
- package/dist/react/opencode.js.map +1 -1
- package/dist/react/prefetch-session-start.js +1 -1
- package/dist/react/prefetch-session-start.js.map +1 -1
- package/dist/react/provider-refresh.js +1 -1
- package/dist/react/provider-refresh.js.map +1 -1
- package/dist/react/provider-selection.d.ts +1 -1
- package/dist/react/provider-selection.d.ts.map +1 -1
- package/dist/react/session-start-stash.d.ts +0 -9
- package/dist/react/session-start-stash.d.ts.map +1 -1
- package/dist/react/session-start-stash.js +9 -42
- package/dist/react/session-start-stash.js.map +1 -1
- package/dist/react/use-canonical-opencode-session.js +1 -1
- package/dist/react/use-canonical-opencode-session.js.map +1 -1
- package/dist/react/use-change-requests.d.ts +7 -7
- package/dist/react/use-change-requests.d.ts.map +1 -1
- package/dist/react/use-change-requests.js +1 -1
- package/dist/react/use-change-requests.js.map +1 -1
- package/dist/react/use-current-runtime.d.ts +1 -1
- package/dist/react/use-current-runtime.d.ts.map +1 -1
- package/dist/react/use-current-runtime.js +1 -1
- package/dist/react/use-current-runtime.js.map +1 -1
- package/dist/react/use-gateway-catalog-sync.js +2 -2
- package/dist/react/use-gateway-catalog-sync.js.map +1 -1
- package/dist/react/use-kortix-master.d.ts +8 -8
- package/dist/react/use-kortix-master.d.ts.map +1 -1
- package/dist/react/use-kortix-master.js +2 -2
- package/dist/react/use-kortix-master.js.map +1 -1
- package/dist/react/use-model-store.d.ts +17 -0
- package/dist/react/use-model-store.d.ts.map +1 -1
- package/dist/react/use-model-store.js +30 -0
- package/dist/react/use-model-store.js.map +1 -1
- package/dist/react/use-opencode-config.js +1 -1
- package/dist/react/use-opencode-config.js.map +1 -1
- package/dist/react/use-opencode-events/diagnostics.js +1 -1
- package/dist/react/use-opencode-events/diagnostics.js.map +1 -1
- package/dist/react/use-opencode-events/handle-event.d.ts +1 -1
- package/dist/react/use-opencode-events/handle-event.d.ts.map +1 -1
- package/dist/react/use-opencode-events/handle-event.js +3 -3
- package/dist/react/use-opencode-events/handle-event.js.map +1 -1
- package/dist/react/use-opencode-events/index.js +10 -10
- package/dist/react/use-opencode-events/index.js.map +1 -1
- package/dist/react/use-opencode-events/types.d.ts +1 -1
- package/dist/react/use-opencode-events/types.d.ts.map +1 -1
- package/dist/react/use-opencode-events/use-event-stream-refs.js +4 -4
- package/dist/react/use-opencode-events/use-event-stream-refs.js.map +1 -1
- package/dist/react/use-opencode-local.d.ts +11 -2
- package/dist/react/use-opencode-local.d.ts.map +1 -1
- package/dist/react/use-opencode-local.js +31 -8
- package/dist/react/use-opencode-local.js.map +1 -1
- package/dist/react/use-opencode-mcp.js +1 -1
- package/dist/react/use-opencode-mcp.js.map +1 -1
- package/dist/react/use-opencode-pty.d.ts +5 -5
- package/dist/react/use-opencode-pty.d.ts.map +1 -1
- package/dist/react/use-opencode-pty.js +7 -69
- package/dist/react/use-opencode-pty.js.map +1 -1
- package/dist/react/use-opencode-sessions/agents.d.ts +7 -0
- package/dist/react/use-opencode-sessions/agents.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/agents.js +21 -3
- package/dist/react/use-opencode-sessions/agents.js.map +1 -1
- package/dist/react/use-opencode-sessions/commands.js +1 -1
- package/dist/react/use-opencode-sessions/commands.js.map +1 -1
- package/dist/react/use-opencode-sessions/files.js +1 -1
- package/dist/react/use-opencode-sessions/files.js.map +1 -1
- package/dist/react/use-opencode-sessions/keys.js +2 -2
- package/dist/react/use-opencode-sessions/keys.js.map +1 -1
- package/dist/react/use-opencode-sessions/mcp.js +1 -1
- package/dist/react/use-opencode-sessions/mcp.js.map +1 -1
- package/dist/react/use-opencode-sessions/messages.js +3 -3
- package/dist/react/use-opencode-sessions/messages.js.map +1 -1
- package/dist/react/use-opencode-sessions/parts.js +1 -1
- package/dist/react/use-opencode-sessions/parts.js.map +1 -1
- package/dist/react/use-opencode-sessions/permissions.js +1 -1
- package/dist/react/use-opencode-sessions/permissions.js.map +1 -1
- package/dist/react/use-opencode-sessions/projects.js +1 -1
- package/dist/react/use-opencode-sessions/projects.js.map +1 -1
- package/dist/react/use-opencode-sessions/providers.js +2 -2
- package/dist/react/use-opencode-sessions/providers.js.map +1 -1
- package/dist/react/use-opencode-sessions/sessions.d.ts +0 -11
- package/dist/react/use-opencode-sessions/sessions.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/sessions.js +4 -43
- package/dist/react/use-opencode-sessions/sessions.js.map +1 -1
- package/dist/react/use-opencode-sessions/shared.js +1 -1
- package/dist/react/use-opencode-sessions/shared.js.map +1 -1
- package/dist/react/use-opencode-sessions/sharing.js +1 -1
- package/dist/react/use-opencode-sessions/sharing.js.map +1 -1
- package/dist/react/use-opencode-sessions/tools.js +1 -1
- package/dist/react/use-opencode-sessions/tools.js.map +1 -1
- package/dist/react/use-permission-self-heal.d.ts +1 -1
- package/dist/react/use-permission-self-heal.d.ts.map +1 -1
- package/dist/react/use-permission-self-heal.js +2 -2
- package/dist/react/use-permission-self-heal.js.map +1 -1
- package/dist/react/use-project-config.d.ts +1 -1
- package/dist/react/use-project-config.d.ts.map +1 -1
- package/dist/react/use-project-config.js +1 -1
- package/dist/react/use-project-config.js.map +1 -1
- package/dist/react/use-project-models.js +1 -1
- package/dist/react/use-project-models.js.map +1 -1
- package/dist/react/use-project-secrets.d.ts +1 -1
- package/dist/react/use-project-secrets.d.ts.map +1 -1
- package/dist/react/use-project-secrets.js +1 -1
- package/dist/react/use-project-secrets.js.map +1 -1
- package/dist/react/use-project-triggers.d.ts +13 -13
- package/dist/react/use-project-triggers.d.ts.map +1 -1
- package/dist/react/use-project-triggers.js +1 -1
- package/dist/react/use-project-triggers.js.map +1 -1
- package/dist/react/use-question-self-heal.d.ts +1 -1
- package/dist/react/use-question-self-heal.d.ts.map +1 -1
- package/dist/react/use-question-self-heal.js +2 -2
- package/dist/react/use-question-self-heal.js.map +1 -1
- package/dist/react/use-runtime-phase.js +1 -1
- package/dist/react/use-runtime-phase.js.map +1 -1
- package/dist/react/use-runtime-reconnect.d.ts +2 -2
- package/dist/react/use-runtime-reconnect.d.ts.map +1 -1
- package/dist/react/use-runtime-reconnect.js +9 -5
- package/dist/react/use-runtime-reconnect.js.map +1 -1
- package/dist/react/use-session-prefetch.js +4 -4
- package/dist/react/use-session-prefetch.js.map +1 -1
- package/dist/react/use-session-send.js +2 -2
- package/dist/react/use-session-send.js.map +1 -1
- package/dist/react/use-session-sync.d.ts +1 -1
- package/dist/react/use-session-sync.d.ts.map +1 -1
- package/dist/react/use-session-sync.js +4 -4
- package/dist/react/use-session-sync.js.map +1 -1
- package/dist/react/use-session.d.ts +5 -5
- package/dist/react/use-session.d.ts.map +1 -1
- package/dist/react/use-session.js +9 -9
- package/dist/react/use-session.js.map +1 -1
- package/dist/react/use-visible-agents.js +1 -1
- package/dist/react/use-visible-agents.js.map +1 -1
- package/package.json +85 -59
- package/dist/files/client.d.ts.map +0 -1
- package/dist/files/client.js.map +0 -1
- package/dist/files/types.d.ts.map +0 -1
- package/dist/files/types.js.map +0 -1
- package/dist/kortix.d.ts.map +0 -1
- package/dist/kortix.js.map +0 -1
- package/dist/opencode/client.d.ts.map +0 -1
- package/dist/opencode/client.js.map +0 -1
- package/dist/opencode/env.d.ts.map +0 -1
- package/dist/opencode/env.js.map +0 -1
- package/dist/opencode/kortix-master.d.ts.map +0 -1
- package/dist/opencode/kortix-master.js.map +0 -1
- package/dist/opencode/triggers.d.ts.map +0 -1
- package/dist/opencode/triggers.js.map +0 -1
- package/dist/platform/api/errors.d.ts.map +0 -1
- package/dist/platform/api/errors.js.map +0 -1
- package/dist/platform/api-client.d.ts.map +0 -1
- package/dist/platform/api-client.js.map +0 -1
- package/dist/platform/auth.d.ts.map +0 -1
- package/dist/platform/auth.js.map +0 -1
- package/dist/platform/config.d.ts.map +0 -1
- package/dist/platform/config.js.map +0 -1
- package/dist/platform/feature-flags.d.ts.map +0 -1
- package/dist/platform/feature-flags.js.map +0 -1
- package/dist/platform/fresh-sessions.d.ts.map +0 -1
- package/dist/platform/fresh-sessions.js.map +0 -1
- package/dist/platform/instance-routes.d.ts.map +0 -1
- package/dist/platform/instance-routes.js.map +0 -1
- package/dist/platform/logger.d.ts.map +0 -1
- package/dist/platform/logger.js.map +0 -1
- package/dist/platform/opencode-errors.d.ts.map +0 -1
- package/dist/platform/opencode-errors.js.map +0 -1
- package/dist/platform/platform-client/backups.d.ts.map +0 -1
- package/dist/platform/platform-client/backups.js.map +0 -1
- package/dist/platform/platform-client/index.d.ts.map +0 -1
- package/dist/platform/platform-client/index.js.map +0 -1
- package/dist/platform/platform-client/instance-admin.d.ts.map +0 -1
- package/dist/platform/platform-client/instance-admin.js.map +0 -1
- package/dist/platform/platform-client/invites.d.ts.map +0 -1
- package/dist/platform/platform-client/invites.js.map +0 -1
- package/dist/platform/platform-client/lifecycle.d.ts.map +0 -1
- package/dist/platform/platform-client/lifecycle.js.map +0 -1
- package/dist/platform/platform-client/members.d.ts.map +0 -1
- package/dist/platform/platform-client/members.js.map +0 -1
- package/dist/platform/platform-client/shared.d.ts.map +0 -1
- package/dist/platform/platform-client/shared.js.map +0 -1
- package/dist/platform/platform-client/ssh.d.ts.map +0 -1
- package/dist/platform/platform-client/ssh.js.map +0 -1
- package/dist/platform/platform-client/types.d.ts.map +0 -1
- package/dist/platform/platform-client/types.js.map +0 -1
- package/dist/platform/platform-client/updates.d.ts.map +0 -1
- package/dist/platform/platform-client/updates.js.map +0 -1
- package/dist/platform/platform-client/urls.d.ts.map +0 -1
- package/dist/platform/platform-client/urls.js.map +0 -1
- package/dist/platform/projects-client/access.d.ts.map +0 -1
- package/dist/platform/projects-client/access.js.map +0 -1
- package/dist/platform/projects-client/accounts.d.ts.map +0 -1
- package/dist/platform/projects-client/accounts.js.map +0 -1
- package/dist/platform/projects-client/agent-config.d.ts.map +0 -1
- package/dist/platform/projects-client/agent-config.js.map +0 -1
- package/dist/platform/projects-client/agent-scope.d.ts.map +0 -1
- package/dist/platform/projects-client/agent-scope.js.map +0 -1
- package/dist/platform/projects-client/apps.d.ts.map +0 -1
- package/dist/platform/projects-client/apps.js.map +0 -1
- package/dist/platform/projects-client/audit.d.ts.map +0 -1
- package/dist/platform/projects-client/audit.js.map +0 -1
- package/dist/platform/projects-client/billing.d.ts.map +0 -1
- package/dist/platform/projects-client/billing.js.map +0 -1
- package/dist/platform/projects-client/change-requests.d.ts.map +0 -1
- package/dist/platform/projects-client/change-requests.js.map +0 -1
- package/dist/platform/projects-client/channels.d.ts.map +0 -1
- package/dist/platform/projects-client/channels.js.map +0 -1
- package/dist/platform/projects-client/connectors.d.ts.map +0 -1
- package/dist/platform/projects-client/connectors.js.map +0 -1
- package/dist/platform/projects-client/files.d.ts.map +0 -1
- package/dist/platform/projects-client/files.js.map +0 -1
- package/dist/platform/projects-client/gateway.d.ts.map +0 -1
- package/dist/platform/projects-client/gateway.js.map +0 -1
- package/dist/platform/projects-client/git-history.d.ts.map +0 -1
- package/dist/platform/projects-client/git-history.js.map +0 -1
- package/dist/platform/projects-client/github.d.ts.map +0 -1
- package/dist/platform/projects-client/github.js.map +0 -1
- package/dist/platform/projects-client/index.d.ts.map +0 -1
- package/dist/platform/projects-client/index.js.map +0 -1
- package/dist/platform/projects-client/marketplace-catalog.d.ts.map +0 -1
- package/dist/platform/projects-client/marketplace-catalog.js.map +0 -1
- package/dist/platform/projects-client/marketplace.d.ts.map +0 -1
- package/dist/platform/projects-client/marketplace.js.map +0 -1
- package/dist/platform/projects-client/model-defaults.d.ts.map +0 -1
- package/dist/platform/projects-client/model-defaults.js.map +0 -1
- package/dist/platform/projects-client/policies.d.ts.map +0 -1
- package/dist/platform/projects-client/policies.js.map +0 -1
- package/dist/platform/projects-client/projects.d.ts.map +0 -1
- package/dist/platform/projects-client/projects.js.map +0 -1
- package/dist/platform/projects-client/public-session-shares.d.ts.map +0 -1
- package/dist/platform/projects-client/public-session-shares.js.map +0 -1
- package/dist/platform/projects-client/review.d.ts.map +0 -1
- package/dist/platform/projects-client/review.js.map +0 -1
- package/dist/platform/projects-client/sandbox-shares.d.ts.map +0 -1
- package/dist/platform/projects-client/sandbox-shares.js.map +0 -1
- package/dist/platform/projects-client/sandbox.d.ts.map +0 -1
- package/dist/platform/projects-client/sandbox.js.map +0 -1
- package/dist/platform/projects-client/secrets.d.ts.map +0 -1
- package/dist/platform/projects-client/secrets.js.map +0 -1
- package/dist/platform/projects-client/session-sandbox.d.ts.map +0 -1
- package/dist/platform/projects-client/session-sandbox.js.map +0 -1
- package/dist/platform/projects-client/sessions.d.ts.map +0 -1
- package/dist/platform/projects-client/sessions.js.map +0 -1
- package/dist/platform/projects-client/setup-links.d.ts.map +0 -1
- package/dist/platform/projects-client/setup-links.js.map +0 -1
- package/dist/platform/projects-client/shared.d.ts.map +0 -1
- package/dist/platform/projects-client/shared.js.map +0 -1
- package/dist/platform/projects-client/tokens.d.ts.map +0 -1
- package/dist/platform/projects-client/tokens.js.map +0 -1
- package/dist/platform/projects-client/transcription.d.ts.map +0 -1
- package/dist/platform/projects-client/transcription.js.map +0 -1
- package/dist/platform/projects-client/triggers.d.ts.map +0 -1
- package/dist/platform/projects-client/triggers.js.map +0 -1
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js.map +0 -1
- package/dist/session/health.d.ts.map +0 -1
- package/dist/session/health.js.map +0 -1
- package/dist/session/index.d.ts.map +0 -1
- package/dist/session/index.js.map +0 -1
- package/dist/session/preview.d.ts.map +0 -1
- package/dist/session/preview.js.map +0 -1
- package/dist/session/url.d.ts.map +0 -1
- package/dist/session/url.js.map +0 -1
- package/dist/state/chat-events.d.ts.map +0 -1
- package/dist/state/chat-events.js.map +0 -1
- package/dist/state/current-runtime.d.ts.map +0 -1
- package/dist/state/current-runtime.js.map +0 -1
- package/dist/state/diagnostics-store.d.ts.map +0 -1
- package/dist/state/diagnostics-store.js.map +0 -1
- package/dist/state/event-stream.d.ts.map +0 -1
- package/dist/state/event-stream.js.map +0 -1
- package/dist/state/idb-sync-cache.d.ts.map +0 -1
- package/dist/state/idb-sync-cache.js.map +0 -1
- package/dist/state/opencode-compaction-store.d.ts.map +0 -1
- package/dist/state/opencode-compaction-store.js.map +0 -1
- package/dist/state/opencode-pending-store.d.ts.map +0 -1
- package/dist/state/opencode-pending-store.js.map +0 -1
- package/dist/state/sandbox-connection-store.d.ts.map +0 -1
- package/dist/state/sandbox-connection-store.js.map +0 -1
- package/dist/state/server-store/active.d.ts.map +0 -1
- package/dist/state/server-store/active.js.map +0 -1
- package/dist/state/server-store/types.d.ts.map +0 -1
- package/dist/state/server-store/types.js.map +0 -1
- package/dist/state/server-store/url-helpers.d.ts.map +0 -1
- package/dist/state/server-store/url-helpers.js.map +0 -1
- package/dist/state/server-store.d.ts.map +0 -1
- package/dist/state/server-store.js.map +0 -1
- package/dist/state/session-runtime-registry.d.ts.map +0 -1
- package/dist/state/session-runtime-registry.js.map +0 -1
- package/dist/state/sync-store/ascending-id.d.ts.map +0 -1
- package/dist/state/sync-store/ascending-id.js.map +0 -1
- package/dist/state/sync-store/binary.d.ts.map +0 -1
- package/dist/state/sync-store/binary.js.map +0 -1
- package/dist/state/sync-store/stream-cache.d.ts.map +0 -1
- package/dist/state/sync-store/stream-cache.js.map +0 -1
- package/dist/state/sync-store/types.d.ts.map +0 -1
- package/dist/state/sync-store/types.js.map +0 -1
- package/dist/state/sync-store.d.ts.map +0 -1
- package/dist/state/sync-store.js.map +0 -1
- package/dist/state/tab-store.d.ts.map +0 -1
- package/dist/state/tab-store.js.map +0 -1
- package/dist/turns/classify.d.ts.map +0 -1
- package/dist/turns/classify.js.map +0 -1
- package/dist/turns/errors.d.ts.map +0 -1
- package/dist/turns/errors.js.map +0 -1
- package/dist/turns/index.d.ts +0 -264
- package/dist/turns/index.d.ts.map +0 -1
- package/dist/turns/index.js.map +0 -1
- package/dist/turns/tool-registry.d.ts.map +0 -1
- package/dist/turns/tool-registry.js.map +0 -1
- package/dist/turns/types.d.ts.map +0 -1
- package/dist/turns/types.js.map +0 -1
- package/dist/turns/view-model.d.ts.map +0 -1
- package/dist/turns/view-model.js.map +0 -1
- /package/dist/{state → browser/cache}/idb-sync-cache.d.ts +0 -0
- /package/dist/{state → browser/stores}/diagnostics-store.d.ts +0 -0
- /package/dist/{state → browser/stores}/diagnostics-store.js +0 -0
- /package/dist/{state → browser/stores}/opencode-compaction-store.d.ts +0 -0
- /package/dist/{state → browser/stores}/opencode-compaction-store.js +0 -0
- /package/dist/{state → browser/stores}/opencode-pending-store.d.ts +0 -0
- /package/dist/{state → browser/stores}/opencode-pending-store.js +0 -0
- /package/dist/{state → browser/stores}/sync-store/ascending-id.d.ts +0 -0
- /package/dist/{state → browser/stores}/sync-store/ascending-id.js +0 -0
- /package/dist/{state → browser/stores}/sync-store/binary.d.ts +0 -0
- /package/dist/{state → browser/stores}/sync-store/binary.js +0 -0
- /package/dist/{state → browser/stores}/sync-store/stream-cache.d.ts +0 -0
- /package/dist/{state → browser/stores}/sync-store/stream-cache.js +0 -0
- /package/dist/{state → browser/stores}/sync-store/types.d.ts +0 -0
- /package/dist/{state → browser/stores}/sync-store/types.js +0 -0
- /package/dist/{state → browser/stores}/sync-store.d.ts +0 -0
- /package/dist/{state → browser/stores}/sync-store.js +0 -0
- /package/dist/{state → browser/stores}/tab-store.d.ts +0 -0
- /package/dist/{files → core/files}/client.d.ts +0 -0
- /package/dist/{files → core/files}/types.d.ts +0 -0
- /package/dist/{files → core/files}/types.js +0 -0
- /package/dist/{platform → core/http}/api/errors.d.ts +0 -0
- /package/dist/{platform → core/http}/api/errors.js +0 -0
- /package/dist/{platform → core/http}/api-client.d.ts +0 -0
- /package/dist/{platform → core/http}/api-client.js +0 -0
- /package/dist/{platform → core/http}/config.d.ts +0 -0
- /package/dist/{platform → core/http}/config.js +0 -0
- /package/dist/{platform → core/http}/feature-flags.d.ts +0 -0
- /package/dist/{platform → core/http}/fresh-sessions.d.ts +0 -0
- /package/dist/{platform → core/http}/fresh-sessions.js +0 -0
- /package/dist/{platform → core/http}/instance-routes.d.ts +0 -0
- /package/dist/{platform → core/http}/logger.d.ts +0 -0
- /package/dist/{platform → core/http}/opencode-errors.d.ts +0 -0
- /package/dist/{platform → core/http}/opencode-errors.js +0 -0
- /package/dist/{platform → core/rest}/platform-client/backups.d.ts +0 -0
- /package/dist/{platform → core/rest}/platform-client/backups.js +0 -0
- /package/dist/{platform → core/rest}/platform-client/index.d.ts +0 -0
- /package/dist/{platform → core/rest}/platform-client/index.js +0 -0
- /package/dist/{platform → core/rest}/platform-client/instance-admin.d.ts +0 -0
- /package/dist/{platform → core/rest}/platform-client/invites.d.ts +0 -0
- /package/dist/{platform → core/rest}/platform-client/invites.js +0 -0
- /package/dist/{platform → core/rest}/platform-client/lifecycle.d.ts +0 -0
- /package/dist/{platform → core/rest}/platform-client/lifecycle.js +0 -0
- /package/dist/{platform → core/rest}/platform-client/members.d.ts +0 -0
- /package/dist/{platform → core/rest}/platform-client/shared.d.ts +0 -0
- /package/dist/{platform → core/rest}/platform-client/ssh.d.ts +0 -0
- /package/dist/{platform → core/rest}/platform-client/ssh.js +0 -0
- /package/dist/{platform → core/rest}/platform-client/types.d.ts +0 -0
- /package/dist/{platform → core/rest}/platform-client/types.js +0 -0
- /package/dist/{platform → core/rest}/platform-client/updates.d.ts +0 -0
- /package/dist/{platform → core/rest}/platform-client/updates.js +0 -0
- /package/dist/{platform → core/rest}/platform-client/urls.d.ts +0 -0
- /package/dist/{platform → core/rest}/platform-client/urls.js +0 -0
- /package/dist/{platform → core/rest}/projects-client/agent-scope.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/apps.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/audit.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/billing.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/change-requests.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/files.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/gateway.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/git-history.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/github.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/marketplace-catalog.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/marketplace.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/model-defaults.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/policies.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/public-session-shares.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/review.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/sandbox-shares.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/sandbox.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/secrets.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/session-sandbox.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/setup-links.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/shared.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/shared.js +0 -0
- /package/dist/{platform → core/rest}/projects-client/tokens.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/transcription.d.ts +0 -0
- /package/dist/{platform → core/rest}/projects-client/triggers.d.ts +0 -0
- /package/dist/{opencode → core/runtime}/env.d.ts +0 -0
- /package/dist/{opencode → core/runtime}/triggers.d.ts +0 -0
- /package/dist/{state → core/session}/current-runtime.d.ts +0 -0
- /package/dist/{state → core/session}/current-runtime.js +0 -0
- /package/dist/{session → core/session}/health.d.ts +0 -0
- /package/dist/{session → core/session}/index.d.ts +0 -0
- /package/dist/{session → core/session}/index.js +0 -0
- /package/dist/{session → core/session}/preview.d.ts +0 -0
- /package/dist/{session → core/session}/preview.js +0 -0
- /package/dist/{state → core/session}/server-store/active.d.ts +0 -0
- /package/dist/{state → core/session}/server-store/types.d.ts +0 -0
- /package/dist/{state → core/session}/server-store/types.js +0 -0
- /package/dist/{state → core/session}/server-store/url-helpers.d.ts +0 -0
- /package/dist/{session → core/session}/url.d.ts +0 -0
- /package/dist/{state → core/stream}/chat-events.js +0 -0
- /package/dist/{state → core/stream}/event-stream.d.ts +0 -0
- /package/dist/{turns → core/turns}/classify.js +0 -0
- /package/dist/{turns → core/turns}/errors.d.ts +0 -0
- /package/dist/{turns → core/turns}/errors.js +0 -0
- /package/dist/{turns → core/turns}/tool-registry.d.ts +0 -0
- /package/dist/{turns → core/turns}/tool-registry.js +0 -0
- /package/dist/{turns → core/turns}/types.d.ts +0 -0
- /package/dist/{turns → core/turns}/types.js +0 -0
- /package/dist/{turns → core/turns}/view-model.d.ts +0 -0
- /package/dist/{turns → core/turns}/view-model.js +0 -0
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Part-level helpers — type guards, attachment splitting, tool-part display
|
|
3
|
+
* info, and everything else that operates on a single part (or a single
|
|
4
|
+
* part's tool/path/diagnostics data) rather than a whole turn.
|
|
3
5
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* IMPORTANT: No React / DOM / framework imports allowed in this module.
|
|
8
|
-
* Matches the SolidJS reference in opencode/packages/ui/src/components/session-turn.tsx
|
|
6
|
+
* Split out of `turns/index.ts` — see that file's history for the original
|
|
7
|
+
* single-file version. No React / DOM / framework imports allowed.
|
|
9
8
|
*/
|
|
10
|
-
export { unwrapError } from './errors.js';
|
|
11
|
-
export * from './tool-registry.js';
|
|
12
|
-
export * from './classify.js';
|
|
13
|
-
export * from './view-model.js';
|
|
14
9
|
import { unwrapError } from './errors.js';
|
|
15
10
|
// ============================================================================
|
|
16
11
|
// Type guards
|
|
@@ -74,168 +69,6 @@ export function splitUserParts(parts) {
|
|
|
74
69
|
}
|
|
75
70
|
return { attachments, stickyParts };
|
|
76
71
|
}
|
|
77
|
-
// ============================================================================
|
|
78
|
-
// Turn grouping
|
|
79
|
-
// ============================================================================
|
|
80
|
-
/**
|
|
81
|
-
* Group messages into turns: each turn starts with a user message followed
|
|
82
|
-
* by 0+ assistant messages.
|
|
83
|
-
*
|
|
84
|
-
* Uses parentID-based linking (matching SolidJS session-turn.tsx:272-292):
|
|
85
|
-
* assistant messages are associated with their parent user message via
|
|
86
|
-
* `parentID`. Falls back to sequential ordering when parentID is absent.
|
|
87
|
-
*/
|
|
88
|
-
export function groupMessagesIntoTurns(messages) {
|
|
89
|
-
const turns = [];
|
|
90
|
-
const turnsByUserMsgId = new Map();
|
|
91
|
-
// First pass: create turns from user messages.
|
|
92
|
-
// Dedupe by id — a user message can transiently appear twice (e.g. an
|
|
93
|
-
// optimistic copy + the real one before reconcile finishes, or a hydrate
|
|
94
|
-
// that races a part.updated event). Two turns with the same userMessage.id
|
|
95
|
-
// would crash list renderers keyed by it (e.g. FlatList's keyExtractor).
|
|
96
|
-
for (const msg of messages) {
|
|
97
|
-
if (msg.info.role === 'user') {
|
|
98
|
-
if (turnsByUserMsgId.has(msg.info.id))
|
|
99
|
-
continue;
|
|
100
|
-
const turn = { userMessage: msg, assistantMessages: [] };
|
|
101
|
-
turns.push(turn);
|
|
102
|
-
turnsByUserMsgId.set(msg.info.id, turn);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
// Second pass: link assistant messages via parentID or sequential
|
|
106
|
-
let lastTurn = null;
|
|
107
|
-
for (const msg of messages) {
|
|
108
|
-
if (msg.info.role === 'user') {
|
|
109
|
-
lastTurn = turnsByUserMsgId.get(msg.info.id) ?? null;
|
|
110
|
-
continue;
|
|
111
|
-
}
|
|
112
|
-
if (msg.info.role !== 'assistant')
|
|
113
|
-
continue;
|
|
114
|
-
const assistantMsg = msg.info;
|
|
115
|
-
// Try parentID-based linking first (matches SolidJS)
|
|
116
|
-
if (assistantMsg.parentID) {
|
|
117
|
-
const parentTurn = turnsByUserMsgId.get(assistantMsg.parentID);
|
|
118
|
-
if (parentTurn) {
|
|
119
|
-
parentTurn.assistantMessages.push(msg);
|
|
120
|
-
continue;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
// Fall back to sequential ordering — attach to the most recently seen
|
|
124
|
-
// user turn in iteration order. This keeps streaming parts that arrive
|
|
125
|
-
// before their parent metadata in the right turn.
|
|
126
|
-
if (lastTurn) {
|
|
127
|
-
lastTurn.assistantMessages.push(msg);
|
|
128
|
-
continue;
|
|
129
|
-
}
|
|
130
|
-
// Orphan assistant message that precedes every user message in the
|
|
131
|
-
// session (e.g. a session-init failure with no parentID). Attaching to
|
|
132
|
-
// the LAST turn would surface its error under an unrelated, much later
|
|
133
|
-
// user prompt. Attach to the FIRST turn instead so it renders at its
|
|
134
|
-
// real chronological position — or create a synthetic turn if no user
|
|
135
|
-
// messages exist at all.
|
|
136
|
-
if (turns.length > 0) {
|
|
137
|
-
turns[0].assistantMessages.unshift(msg);
|
|
138
|
-
continue;
|
|
139
|
-
}
|
|
140
|
-
const syntheticTurn = { userMessage: msg, assistantMessages: [] };
|
|
141
|
-
turns.push(syntheticTurn);
|
|
142
|
-
}
|
|
143
|
-
return turns;
|
|
144
|
-
}
|
|
145
|
-
// ============================================================================
|
|
146
|
-
// Part collection helpers
|
|
147
|
-
// ============================================================================
|
|
148
|
-
/** Collect all parts from a turn's assistant messages. */
|
|
149
|
-
export function collectTurnParts(turn) {
|
|
150
|
-
const result = [];
|
|
151
|
-
for (const msg of turn.assistantMessages) {
|
|
152
|
-
for (const part of msg.parts) {
|
|
153
|
-
result.push({ part, message: msg });
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
return result;
|
|
157
|
-
}
|
|
158
|
-
/** Find the last non-empty text part in a turn (the "response"). */
|
|
159
|
-
export function findLastTextPart(parts) {
|
|
160
|
-
for (let i = parts.length - 1; i >= 0; i--) {
|
|
161
|
-
const p = parts[i].part;
|
|
162
|
-
if (isTextPart(p) && p.text?.trim()) {
|
|
163
|
-
return p;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
return undefined;
|
|
167
|
-
}
|
|
168
|
-
/** Check if a turn has tool steps. */
|
|
169
|
-
export function turnHasSteps(parts) {
|
|
170
|
-
return parts.some(({ part }) => part.type === 'tool' ||
|
|
171
|
-
part.type === 'compaction' ||
|
|
172
|
-
part.type === 'snapshot' ||
|
|
173
|
-
part.type === 'patch');
|
|
174
|
-
}
|
|
175
|
-
// ============================================================================
|
|
176
|
-
// Shell mode detection
|
|
177
|
-
// ============================================================================
|
|
178
|
-
/**
|
|
179
|
-
* Detect "shell mode": user message is entirely synthetic text parts AND
|
|
180
|
-
* there's exactly one assistant message with exactly one part which is a bash tool.
|
|
181
|
-
*
|
|
182
|
-
* Stricter than our previous implementation — matches SolidJS session-turn.tsx:364-379
|
|
183
|
-
* which checks `msgParts.length !== 1` (exactly one assistant part total).
|
|
184
|
-
*/
|
|
185
|
-
export function isShellMode(turn) {
|
|
186
|
-
const userParts = turn.userMessage.parts;
|
|
187
|
-
if (userParts.length === 0)
|
|
188
|
-
return false;
|
|
189
|
-
const allSynthetic = userParts.every((p) => isTextPart(p) && p.synthetic);
|
|
190
|
-
if (!allSynthetic)
|
|
191
|
-
return false;
|
|
192
|
-
if (turn.assistantMessages.length !== 1)
|
|
193
|
-
return false;
|
|
194
|
-
const assistantParts = turn.assistantMessages[0].parts;
|
|
195
|
-
// Strict: exactly 1 part total (not just 1 tool part)
|
|
196
|
-
if (assistantParts.length !== 1)
|
|
197
|
-
return false;
|
|
198
|
-
const part = assistantParts[0];
|
|
199
|
-
return isToolPart(part) && part.tool === 'bash';
|
|
200
|
-
}
|
|
201
|
-
/** Get the bash tool part when in shell mode. */
|
|
202
|
-
export function getShellModePart(turn) {
|
|
203
|
-
if (!isShellMode(turn))
|
|
204
|
-
return undefined;
|
|
205
|
-
return turn.assistantMessages[0].parts[0];
|
|
206
|
-
}
|
|
207
|
-
// ============================================================================
|
|
208
|
-
// Working state
|
|
209
|
-
// ============================================================================
|
|
210
|
-
/** Check if this is the last user message in the session. */
|
|
211
|
-
export function isLastUserMessage(messageId, allMessages) {
|
|
212
|
-
for (let i = allMessages.length - 1; i >= 0; i--) {
|
|
213
|
-
if (allMessages[i].info.role === 'user') {
|
|
214
|
-
return allMessages[i].info.id === messageId;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
return false;
|
|
218
|
-
}
|
|
219
|
-
/** Derive the "working" state for a turn. Only the last turn shows as working. */
|
|
220
|
-
export function getWorkingState(sessionStatus, isLast) {
|
|
221
|
-
if (!isLast)
|
|
222
|
-
return false;
|
|
223
|
-
if (!sessionStatus)
|
|
224
|
-
return false;
|
|
225
|
-
return sessionStatus.type !== 'idle';
|
|
226
|
-
}
|
|
227
|
-
// ============================================================================
|
|
228
|
-
// Response part separation
|
|
229
|
-
// ============================================================================
|
|
230
|
-
/**
|
|
231
|
-
* Whether the last text part (the "response") should be extracted from the
|
|
232
|
-
* steps list and shown separately in the Response section.
|
|
233
|
-
*
|
|
234
|
-
* Matches SolidJS session-turn.tsx:440-443
|
|
235
|
-
*/
|
|
236
|
-
export function shouldHideResponsePart(working, responsePartId) {
|
|
237
|
-
return !working && !!responsePartId;
|
|
238
|
-
}
|
|
239
72
|
/**
|
|
240
73
|
* Get the list of tool parts to hide from the step list.
|
|
241
74
|
* Matches SolidJS session-turn.tsx:332-339
|
|
@@ -253,209 +86,11 @@ export function isToolPartHidden(part, messageId, hidden) {
|
|
|
253
86
|
return hidden.some((h) => h.messageID === messageId && h.callID === part.callID);
|
|
254
87
|
}
|
|
255
88
|
// ============================================================================
|
|
256
|
-
//
|
|
257
|
-
// ============================================================================
|
|
258
|
-
/**
|
|
259
|
-
* Collect answered question parts that should be shown outside of the
|
|
260
|
-
* steps list. Questions are always rendered standalone (never inside steps),
|
|
261
|
-
* so answered questions are shown regardless of stepsExpanded state.
|
|
262
|
-
*/
|
|
263
|
-
export function getAnsweredQuestionParts(turn, _stepsExpanded, hasActiveQuestion) {
|
|
264
|
-
// Active question takes precedence — don't also show old answered ones
|
|
265
|
-
if (hasActiveQuestion)
|
|
266
|
-
return [];
|
|
267
|
-
const result = [];
|
|
268
|
-
for (const msg of turn.assistantMessages) {
|
|
269
|
-
for (const part of msg.parts) {
|
|
270
|
-
if (!isToolPart(part))
|
|
271
|
-
continue;
|
|
272
|
-
const tp = part;
|
|
273
|
-
const answers = tp.state?.metadata?.answers;
|
|
274
|
-
if (tp.tool === 'question' && (answers?.length ?? 0) > 0) {
|
|
275
|
-
result.push({ part, message: msg });
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
return result;
|
|
280
|
-
}
|
|
281
|
-
// ============================================================================
|
|
282
|
-
// Error extraction — with deep JSON unwrapping
|
|
283
|
-
// ============================================================================
|
|
284
|
-
/** Extract error message from assistant messages in a turn. */
|
|
285
|
-
export function getTurnError(turn) {
|
|
286
|
-
for (const msg of turn.assistantMessages) {
|
|
287
|
-
const info = msg.info;
|
|
288
|
-
if (info.error) {
|
|
289
|
-
return unwrapError(info.error);
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
return undefined;
|
|
293
|
-
}
|
|
294
|
-
// ============================================================================
|
|
295
|
-
// Status text computation
|
|
296
|
-
// ============================================================================
|
|
297
|
-
/**
|
|
298
|
-
* Derive human-readable status from a part.
|
|
299
|
-
* Matches SolidJS computeStatusFromPart — session-turn.tsx:83-119
|
|
300
|
-
*/
|
|
301
|
-
export function computeStatusFromPart(part) {
|
|
302
|
-
if (!part)
|
|
303
|
-
return undefined;
|
|
304
|
-
if (isToolPart(part)) {
|
|
305
|
-
switch (part.tool) {
|
|
306
|
-
case 'task':
|
|
307
|
-
case 'session_spawn':
|
|
308
|
-
case 'session_start_background':
|
|
309
|
-
case 'session-spawn':
|
|
310
|
-
case 'session-start-background':
|
|
311
|
-
return 'Delegating to agent...';
|
|
312
|
-
case 'agent_spawn':
|
|
313
|
-
case 'agent-spawn':
|
|
314
|
-
case 'agent_task':
|
|
315
|
-
case 'agent-task':
|
|
316
|
-
return 'Delegating to agent...';
|
|
317
|
-
case 'agent_task_update':
|
|
318
|
-
case 'agent-task-update':
|
|
319
|
-
case 'task_update':
|
|
320
|
-
case 'task-update':
|
|
321
|
-
return 'Updating task...';
|
|
322
|
-
case 'agent_message':
|
|
323
|
-
case 'agent-message':
|
|
324
|
-
case 'agent_task_message':
|
|
325
|
-
case 'agent-task-message':
|
|
326
|
-
case 'task_message':
|
|
327
|
-
case 'task-message':
|
|
328
|
-
return 'Messaging agent...';
|
|
329
|
-
case 'task_create':
|
|
330
|
-
case 'task-create':
|
|
331
|
-
case 'task_start':
|
|
332
|
-
case 'task-start':
|
|
333
|
-
return 'Creating task...';
|
|
334
|
-
case 'task_list':
|
|
335
|
-
case 'task-list':
|
|
336
|
-
return 'Listing tasks...';
|
|
337
|
-
case 'task_done':
|
|
338
|
-
case 'task-done':
|
|
339
|
-
return 'Updating task...';
|
|
340
|
-
case 'todowrite':
|
|
341
|
-
case 'todoread':
|
|
342
|
-
return 'Planning...';
|
|
343
|
-
case 'read':
|
|
344
|
-
return 'Gathering context...';
|
|
345
|
-
case 'list':
|
|
346
|
-
case 'grep':
|
|
347
|
-
case 'glob':
|
|
348
|
-
return 'Searching codebase...';
|
|
349
|
-
case 'webfetch':
|
|
350
|
-
case 'scrape-webpage':
|
|
351
|
-
return 'Fetching web page...';
|
|
352
|
-
case 'websearch':
|
|
353
|
-
case 'web-search':
|
|
354
|
-
case 'web_search':
|
|
355
|
-
return 'Searching web...';
|
|
356
|
-
case 'image-search':
|
|
357
|
-
return 'Searching images...';
|
|
358
|
-
case 'image-gen':
|
|
359
|
-
return 'Generating image...';
|
|
360
|
-
case 'video-gen':
|
|
361
|
-
return 'Generating video...';
|
|
362
|
-
case 'presentation-gen':
|
|
363
|
-
return 'Creating presentation...';
|
|
364
|
-
case 'show':
|
|
365
|
-
case 'show-user':
|
|
366
|
-
return 'Showing output...';
|
|
367
|
-
case 'edit':
|
|
368
|
-
case 'write':
|
|
369
|
-
case 'morph_edit':
|
|
370
|
-
return 'Making edits...';
|
|
371
|
-
case 'bash':
|
|
372
|
-
return 'Running commands...';
|
|
373
|
-
case 'apply_patch':
|
|
374
|
-
return 'Applying patches...';
|
|
375
|
-
case 'prune':
|
|
376
|
-
return 'Pruning context...';
|
|
377
|
-
case 'distill':
|
|
378
|
-
return 'Distilling context...';
|
|
379
|
-
case 'compress':
|
|
380
|
-
return 'Compressing context...';
|
|
381
|
-
case 'context_info':
|
|
382
|
-
return 'Updating context info...';
|
|
383
|
-
default:
|
|
384
|
-
return `Running ${part.tool}...`;
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
if (isReasoningPart(part)) {
|
|
388
|
-
const text = part.text?.trimStart();
|
|
389
|
-
if (text) {
|
|
390
|
-
const match = text.match(/^\*\*(.+?)\*\*/);
|
|
391
|
-
if (match)
|
|
392
|
-
return `Thinking about ${match[1].trim()}...`;
|
|
393
|
-
}
|
|
394
|
-
return 'Thinking...';
|
|
395
|
-
}
|
|
396
|
-
if (isTextPart(part))
|
|
397
|
-
return 'Gathering thoughts...';
|
|
398
|
-
return undefined;
|
|
399
|
-
}
|
|
400
|
-
/**
|
|
401
|
-
* Get status text for a turn, with child session delegation.
|
|
402
|
-
*
|
|
403
|
-
* Matches SolidJS rawStatus — session-turn.tsx:381-428
|
|
404
|
-
* When the last part is a running `task` tool, drills into the child session
|
|
405
|
-
* to derive the real status.
|
|
406
|
-
*/
|
|
407
|
-
export function getTurnStatus(parts, childMessages) {
|
|
408
|
-
// Scan parts in reverse for the last meaningful status
|
|
409
|
-
for (let i = parts.length - 1; i >= 0; i--) {
|
|
410
|
-
const p = parts[i].part;
|
|
411
|
-
// If it's a running task orchestration tool, try to get status from child session
|
|
412
|
-
const tp = isToolPart(p) ? p : undefined;
|
|
413
|
-
if (tp &&
|
|
414
|
-
(tp.tool === 'task' ||
|
|
415
|
-
tp.tool === 'agent_task' ||
|
|
416
|
-
tp.tool === 'agent-task' ||
|
|
417
|
-
tp.tool === 'task_create' ||
|
|
418
|
-
tp.tool === 'task-create' ||
|
|
419
|
-
tp.tool === 'task_start' ||
|
|
420
|
-
tp.tool === 'task-start') &&
|
|
421
|
-
tp.state.status === 'running' &&
|
|
422
|
-
childMessages &&
|
|
423
|
-
childMessages.length > 0) {
|
|
424
|
-
// Walk child session messages in reverse to find status
|
|
425
|
-
for (let mi = childMessages.length - 1; mi >= 0; mi--) {
|
|
426
|
-
const childMsg = childMessages[mi];
|
|
427
|
-
if (childMsg.info.role !== 'assistant')
|
|
428
|
-
continue;
|
|
429
|
-
for (let pi = childMsg.parts.length - 1; pi >= 0; pi--) {
|
|
430
|
-
const childStatus = computeStatusFromPart(childMsg.parts[pi]);
|
|
431
|
-
if (childStatus)
|
|
432
|
-
return childStatus;
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
// Fall through to parent status
|
|
436
|
-
return 'Delegating to agent...';
|
|
437
|
-
}
|
|
438
|
-
const s = computeStatusFromPart(p);
|
|
439
|
-
if (s)
|
|
440
|
-
return s;
|
|
441
|
-
}
|
|
442
|
-
return 'Considering next steps...';
|
|
443
|
-
}
|
|
444
|
-
// ============================================================================
|
|
445
|
-
// Duration formatting
|
|
89
|
+
// Tool part filtering
|
|
446
90
|
// ============================================================================
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
// non-empty, so nothing visible changes when a tool returns in 200ms.
|
|
451
|
-
if (!Number.isFinite(ms) || ms < 1000)
|
|
452
|
-
return '';
|
|
453
|
-
const seconds = Math.floor(ms / 1000);
|
|
454
|
-
if (seconds < 60)
|
|
455
|
-
return `${seconds}s`;
|
|
456
|
-
const minutes = Math.floor(seconds / 60);
|
|
457
|
-
const secs = seconds % 60;
|
|
458
|
-
return secs > 0 ? `${minutes}m ${secs}s` : `${minutes}m`;
|
|
91
|
+
const HIDDEN_TOOLS = new Set(['todoread', 'context_info']);
|
|
92
|
+
export function shouldShowToolPart(part) {
|
|
93
|
+
return !HIDDEN_TOOLS.has(part.tool);
|
|
459
94
|
}
|
|
460
95
|
// ============================================================================
|
|
461
96
|
// Child session helpers
|
|
@@ -559,13 +194,6 @@ export function getChildSessionToolParts(childMessages) {
|
|
|
559
194
|
return result;
|
|
560
195
|
}
|
|
561
196
|
// ============================================================================
|
|
562
|
-
// Tool part filtering
|
|
563
|
-
// ============================================================================
|
|
564
|
-
const HIDDEN_TOOLS = new Set(['todoread', 'context_info']);
|
|
565
|
-
export function shouldShowToolPart(part) {
|
|
566
|
-
return !HIDDEN_TOOLS.has(part.tool);
|
|
567
|
-
}
|
|
568
|
-
// ============================================================================
|
|
569
197
|
// Tool info (icon + title + subtitle)
|
|
570
198
|
// ============================================================================
|
|
571
199
|
/**
|
|
@@ -971,199 +599,6 @@ export function getQuestionForTool(questions, callID) {
|
|
|
971
599
|
return questions.find((q) => q.tool?.callID === callID);
|
|
972
600
|
}
|
|
973
601
|
// ============================================================================
|
|
974
|
-
// Cost & Token helpers
|
|
975
|
-
// ============================================================================
|
|
976
|
-
/**
|
|
977
|
-
* Platform markup applied to raw provider costs.
|
|
978
|
-
*
|
|
979
|
-
* The step-finish parts report raw provider cost (what the LLM vendor charges).
|
|
980
|
-
* The billing system deducts cost × COST_MARKUP from the user's credits.
|
|
981
|
-
* We apply the same multiplier here so the UI matches what's actually billed.
|
|
982
|
-
*
|
|
983
|
-
* Must stay in sync with KORTIX_MARKUP in apps/api/src/config.ts.
|
|
984
|
-
*/
|
|
985
|
-
export const COST_MARKUP = 1.2;
|
|
986
|
-
function estimateTokenCost(tokens, rates) {
|
|
987
|
-
if (!tokens)
|
|
988
|
-
return 0;
|
|
989
|
-
const input = tokens.input ?? 0;
|
|
990
|
-
const output = (tokens.output ?? 0) + (tokens.reasoning ?? 0);
|
|
991
|
-
const cacheRead = tokens.cache?.read ?? 0;
|
|
992
|
-
const cacheWrite = tokens.cache?.write ?? 0;
|
|
993
|
-
const regularInput = Math.max(0, input - cacheRead - cacheWrite);
|
|
994
|
-
let cost = (regularInput / 1_000_000) * rates.inputPer1M;
|
|
995
|
-
cost += (output / 1_000_000) * rates.outputPer1M;
|
|
996
|
-
if (cacheRead > 0) {
|
|
997
|
-
cost += (cacheRead / 1_000_000) * (rates.cacheReadPer1M ?? rates.inputPer1M);
|
|
998
|
-
}
|
|
999
|
-
if (cacheWrite > 0) {
|
|
1000
|
-
cost += (cacheWrite / 1_000_000) * rates.inputPer1M;
|
|
1001
|
-
}
|
|
1002
|
-
return cost;
|
|
1003
|
-
}
|
|
1004
|
-
function stepFinishRawCost(sfp, providerID, modelID, lookup) {
|
|
1005
|
-
const reported = sfp.cost || 0;
|
|
1006
|
-
if (reported > 0)
|
|
1007
|
-
return reported;
|
|
1008
|
-
if (!lookup || !providerID || !modelID)
|
|
1009
|
-
return 0;
|
|
1010
|
-
const rates = lookup(providerID, modelID);
|
|
1011
|
-
if (!rates)
|
|
1012
|
-
return 0;
|
|
1013
|
-
return estimateTokenCost(sfp.tokens, rates);
|
|
1014
|
-
}
|
|
1015
|
-
function assistantMessageIds(message) {
|
|
1016
|
-
if (message.role !== 'assistant')
|
|
1017
|
-
return {};
|
|
1018
|
-
const assistant = message;
|
|
1019
|
-
return { providerID: assistant.providerID, modelID: assistant.modelID };
|
|
1020
|
-
}
|
|
1021
|
-
/**
|
|
1022
|
-
* Aggregate cost/token info from step-finish parts in a turn.
|
|
1023
|
-
* Returns undefined if no step-finish parts found.
|
|
1024
|
-
*
|
|
1025
|
-
* The cost is multiplied by COST_MARKUP so the displayed value matches
|
|
1026
|
-
* the actual credits deducted (raw provider cost × 1.2).
|
|
1027
|
-
*/
|
|
1028
|
-
export function getTurnCost(parts, lookup) {
|
|
1029
|
-
let totalCost = 0;
|
|
1030
|
-
let input = 0;
|
|
1031
|
-
let output = 0;
|
|
1032
|
-
let reasoning = 0;
|
|
1033
|
-
let cacheRead = 0;
|
|
1034
|
-
let cacheWrite = 0;
|
|
1035
|
-
let found = false;
|
|
1036
|
-
for (const { part, message } of parts) {
|
|
1037
|
-
if (part.type === 'step-finish') {
|
|
1038
|
-
found = true;
|
|
1039
|
-
const sfp = part;
|
|
1040
|
-
const { providerID, modelID } = assistantMessageIds(message.info);
|
|
1041
|
-
totalCost += stepFinishRawCost(sfp, providerID, modelID, lookup);
|
|
1042
|
-
input += sfp.tokens?.input || 0;
|
|
1043
|
-
output += sfp.tokens?.output || 0;
|
|
1044
|
-
reasoning += sfp.tokens?.reasoning || 0;
|
|
1045
|
-
cacheRead += sfp.tokens?.cache?.read || 0;
|
|
1046
|
-
cacheWrite += sfp.tokens?.cache?.write || 0;
|
|
1047
|
-
}
|
|
1048
|
-
}
|
|
1049
|
-
if (!found) {
|
|
1050
|
-
for (const { message } of parts) {
|
|
1051
|
-
if (message.info.role !== 'assistant')
|
|
1052
|
-
continue;
|
|
1053
|
-
const assistant = message.info;
|
|
1054
|
-
const stepCost = assistantTokensCost(assistant, lookup);
|
|
1055
|
-
if (stepCost <= 0)
|
|
1056
|
-
continue;
|
|
1057
|
-
found = true;
|
|
1058
|
-
totalCost += stepCost;
|
|
1059
|
-
const t = assistant.tokens;
|
|
1060
|
-
if (t) {
|
|
1061
|
-
input += t.input ?? 0;
|
|
1062
|
-
output += t.output ?? 0;
|
|
1063
|
-
reasoning += t.reasoning ?? 0;
|
|
1064
|
-
cacheRead += t.cache?.read ?? 0;
|
|
1065
|
-
cacheWrite += t.cache?.write ?? 0;
|
|
1066
|
-
}
|
|
1067
|
-
}
|
|
1068
|
-
}
|
|
1069
|
-
if (!found)
|
|
1070
|
-
return undefined;
|
|
1071
|
-
return {
|
|
1072
|
-
cost: totalCost * COST_MARKUP,
|
|
1073
|
-
tokens: { input, output, reasoning, cacheRead, cacheWrite },
|
|
1074
|
-
};
|
|
1075
|
-
}
|
|
1076
|
-
function assistantTokensCost(assistant, lookup) {
|
|
1077
|
-
if (!lookup || !assistant.providerID || !assistant.modelID || !assistant.tokens)
|
|
1078
|
-
return 0;
|
|
1079
|
-
const rates = lookup(assistant.providerID, assistant.modelID);
|
|
1080
|
-
if (!rates)
|
|
1081
|
-
return 0;
|
|
1082
|
-
return estimateTokenCost({
|
|
1083
|
-
input: assistant.tokens.input,
|
|
1084
|
-
output: assistant.tokens.output,
|
|
1085
|
-
reasoning: assistant.tokens.reasoning,
|
|
1086
|
-
cache: assistant.tokens.cache,
|
|
1087
|
-
}, rates);
|
|
1088
|
-
}
|
|
1089
|
-
/**
|
|
1090
|
-
* Aggregate billed cost for an entire session from step-finish parts.
|
|
1091
|
-
* Matches per-turn `getTurnCost` and mobile session stats aggregation.
|
|
1092
|
-
*/
|
|
1093
|
-
export function getSessionCost(messages, lookup) {
|
|
1094
|
-
let totalCost = 0;
|
|
1095
|
-
for (const msg of messages) {
|
|
1096
|
-
if (msg.info?.role !== 'assistant')
|
|
1097
|
-
continue;
|
|
1098
|
-
const assistant = msg.info;
|
|
1099
|
-
const { providerID, modelID } = assistantMessageIds(assistant);
|
|
1100
|
-
let msgCost = 0;
|
|
1101
|
-
let sawStepFinish = false;
|
|
1102
|
-
for (const part of msg.parts) {
|
|
1103
|
-
if (part.type !== 'step-finish')
|
|
1104
|
-
continue;
|
|
1105
|
-
sawStepFinish = true;
|
|
1106
|
-
msgCost += stepFinishRawCost(part, providerID, modelID, lookup);
|
|
1107
|
-
}
|
|
1108
|
-
if (!sawStepFinish) {
|
|
1109
|
-
msgCost += assistantTokensCost(assistant, lookup);
|
|
1110
|
-
}
|
|
1111
|
-
totalCost += msgCost;
|
|
1112
|
-
}
|
|
1113
|
-
return totalCost * COST_MARKUP;
|
|
1114
|
-
}
|
|
1115
|
-
/** Format cost in USD (e.g. "$0.0032") */
|
|
1116
|
-
export function formatCost(cost) {
|
|
1117
|
-
if (cost === 0)
|
|
1118
|
-
return '$0.00';
|
|
1119
|
-
if (cost < 0.001)
|
|
1120
|
-
return `$${cost.toFixed(4)}`;
|
|
1121
|
-
if (cost < 0.01)
|
|
1122
|
-
return `$${cost.toFixed(3)}`;
|
|
1123
|
-
return `$${cost.toFixed(2)}`;
|
|
1124
|
-
}
|
|
1125
|
-
/** Format token count (e.g. "12.3k") */
|
|
1126
|
-
export function formatTokens(tokens) {
|
|
1127
|
-
if (tokens < 1000)
|
|
1128
|
-
return String(tokens);
|
|
1129
|
-
if (tokens < 10000)
|
|
1130
|
-
return `${(tokens / 1000).toFixed(1)}k`;
|
|
1131
|
-
return `${Math.round(tokens / 1000)}k`;
|
|
1132
|
-
}
|
|
1133
|
-
// ============================================================================
|
|
1134
|
-
// Retry helpers
|
|
1135
|
-
// ============================================================================
|
|
1136
|
-
/**
|
|
1137
|
-
* Extract retry info from session status.
|
|
1138
|
-
* Truncates message to 60 chars matching SolidJS session-turn.tsx:695
|
|
1139
|
-
*/
|
|
1140
|
-
export function getRetryInfo(status) {
|
|
1141
|
-
if (!status || status.type !== 'retry')
|
|
1142
|
-
return undefined;
|
|
1143
|
-
const retry = status;
|
|
1144
|
-
return {
|
|
1145
|
-
attempt: retry.attempt,
|
|
1146
|
-
message: retry.message.length > 60 ? `${retry.message.slice(0, 60)}...` : retry.message,
|
|
1147
|
-
next: retry.next,
|
|
1148
|
-
};
|
|
1149
|
-
}
|
|
1150
|
-
/**
|
|
1151
|
-
* Extract the full retry error message from session status (not truncated).
|
|
1152
|
-
*/
|
|
1153
|
-
export function getRetryMessage(status) {
|
|
1154
|
-
if (!status || status.type !== 'retry')
|
|
1155
|
-
return undefined;
|
|
1156
|
-
return unwrapError(status.message);
|
|
1157
|
-
}
|
|
1158
|
-
// ============================================================================
|
|
1159
|
-
// hasDiffs check
|
|
1160
|
-
// ============================================================================
|
|
1161
|
-
/** Check if a user message has associated file diffs. */
|
|
1162
|
-
export function hasDiffs(userMessage) {
|
|
1163
|
-
const summary = userMessage.info.summary;
|
|
1164
|
-
return (summary?.diffs?.length ?? 0) > 0;
|
|
1165
|
-
}
|
|
1166
|
-
// ============================================================================
|
|
1167
602
|
// ANSI strip (used by bash tool renderer)
|
|
1168
603
|
// ============================================================================
|
|
1169
604
|
// OSC payloads (window titles, OSC-8 hyperlink URLs) are never more than a
|
|
@@ -1179,65 +614,4 @@ export function stripAnsi(str) {
|
|
|
1179
614
|
return '';
|
|
1180
615
|
return str.replace(ANSI_RE, '');
|
|
1181
616
|
}
|
|
1182
|
-
|
|
1183
|
-
// Session list helpers (sidebar / tabs)
|
|
1184
|
-
// ============================================================================
|
|
1185
|
-
/**
|
|
1186
|
-
* Build a map from parent session ID → array of child session IDs.
|
|
1187
|
-
* Used to aggregate child session status (permissions, busy) in the sidebar.
|
|
1188
|
-
* Matches SolidJS reference `childMapByParent()` in helpers.ts.
|
|
1189
|
-
*/
|
|
1190
|
-
export function childMapByParent(sessions) {
|
|
1191
|
-
const map = new Map();
|
|
1192
|
-
for (const session of sessions) {
|
|
1193
|
-
if (!session.parentID)
|
|
1194
|
-
continue;
|
|
1195
|
-
const existing = map.get(session.parentID);
|
|
1196
|
-
if (existing) {
|
|
1197
|
-
existing.push(session.id);
|
|
1198
|
-
}
|
|
1199
|
-
else {
|
|
1200
|
-
map.set(session.parentID, [session.id]);
|
|
1201
|
-
}
|
|
1202
|
-
}
|
|
1203
|
-
return map;
|
|
1204
|
-
}
|
|
1205
|
-
/**
|
|
1206
|
-
* Sort comparator for sessions.
|
|
1207
|
-
* Two tiers:
|
|
1208
|
-
* 1. Sessions updated within `now - 60s` are pinned to top, sorted by ID (stable).
|
|
1209
|
-
* 2. Older sessions sorted by `updated` time descending.
|
|
1210
|
-
* Matches SolidJS reference `sortSessions()` in helpers.ts.
|
|
1211
|
-
*/
|
|
1212
|
-
export function sortSessions(now) {
|
|
1213
|
-
const oneMinuteAgo = now - 60 * 1000;
|
|
1214
|
-
return (a, b) => {
|
|
1215
|
-
const aUpdated = a.time.updated ?? a.time.created;
|
|
1216
|
-
const bUpdated = b.time.updated ?? b.time.created;
|
|
1217
|
-
const aRecent = aUpdated > oneMinuteAgo;
|
|
1218
|
-
const bRecent = bUpdated > oneMinuteAgo;
|
|
1219
|
-
if (aRecent && bRecent)
|
|
1220
|
-
return a.id < b.id ? -1 : a.id > b.id ? 1 : 0;
|
|
1221
|
-
if (aRecent && !bRecent)
|
|
1222
|
-
return -1;
|
|
1223
|
-
if (!aRecent && bRecent)
|
|
1224
|
-
return 1;
|
|
1225
|
-
return bUpdated - aUpdated;
|
|
1226
|
-
};
|
|
1227
|
-
}
|
|
1228
|
-
/**
|
|
1229
|
-
* Recursively collect ALL descendant session IDs for a given parent.
|
|
1230
|
-
* Walks the full tree so deeply nested sub-agents are included.
|
|
1231
|
-
*/
|
|
1232
|
-
export function allDescendantIds(childMap, sessionId) {
|
|
1233
|
-
const directChildren = childMap.get(sessionId);
|
|
1234
|
-
if (!directChildren || directChildren.length === 0)
|
|
1235
|
-
return [];
|
|
1236
|
-
const result = [];
|
|
1237
|
-
for (const childId of directChildren) {
|
|
1238
|
-
result.push(childId);
|
|
1239
|
-
result.push(...allDescendantIds(childMap, childId));
|
|
1240
|
-
}
|
|
1241
|
-
return result;
|
|
1242
|
-
}
|
|
1243
|
-
//# sourceMappingURL=index.js.map
|
|
617
|
+
//# sourceMappingURL=parts.js.map
|