@kortix/sdk 0.9.98
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 +313 -0
- package/dist/files/client.d.ts +96 -0
- package/dist/files/client.d.ts.map +1 -0
- package/dist/files/client.js +346 -0
- package/dist/files/client.js.map +1 -0
- package/dist/files/types.d.ts +82 -0
- package/dist/files/types.d.ts.map +1 -0
- package/dist/files/types.js +6 -0
- package/dist/files/types.js.map +1 -0
- package/dist/index.d.ts +119 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +93 -0
- package/dist/index.js.map +1 -0
- package/dist/kortix.d.ts +897 -0
- package/dist/kortix.d.ts.map +1 -0
- package/dist/kortix.js +772 -0
- package/dist/kortix.js.map +1 -0
- package/dist/opencode/client.d.ts +89 -0
- package/dist/opencode/client.d.ts.map +1 -0
- package/dist/opencode/client.js +191 -0
- package/dist/opencode/client.js.map +1 -0
- package/dist/opencode/env.d.ts +13 -0
- package/dist/opencode/env.d.ts.map +1 -0
- package/dist/opencode/env.js +63 -0
- package/dist/opencode/env.js.map +1 -0
- package/dist/opencode/kortix-master.d.ts +487 -0
- package/dist/opencode/kortix-master.d.ts.map +1 -0
- package/dist/opencode/kortix-master.js +313 -0
- package/dist/opencode/kortix-master.js.map +1 -0
- package/dist/opencode/triggers.d.ts +6 -0
- package/dist/opencode/triggers.d.ts.map +1 -0
- package/dist/opencode/triggers.js +34 -0
- package/dist/opencode/triggers.js.map +1 -0
- package/dist/platform/api/errors.d.ts +106 -0
- package/dist/platform/api/errors.d.ts.map +1 -0
- package/dist/platform/api/errors.js +137 -0
- package/dist/platform/api/errors.js.map +1 -0
- package/dist/platform/api-client.d.ts +35 -0
- package/dist/platform/api-client.d.ts.map +1 -0
- package/dist/platform/api-client.js +279 -0
- package/dist/platform/api-client.js.map +1 -0
- package/dist/platform/auth-core.d.ts +60 -0
- package/dist/platform/auth-core.d.ts.map +1 -0
- package/dist/platform/auth-core.js +104 -0
- package/dist/platform/auth-core.js.map +1 -0
- package/dist/platform/auth.d.ts +88 -0
- package/dist/platform/auth.d.ts.map +1 -0
- package/dist/platform/auth.js +161 -0
- package/dist/platform/auth.js.map +1 -0
- package/dist/platform/config-node.d.ts +33 -0
- package/dist/platform/config-node.d.ts.map +1 -0
- package/dist/platform/config-node.js +63 -0
- package/dist/platform/config-node.js.map +1 -0
- package/dist/platform/config.d.ts +77 -0
- package/dist/platform/config.d.ts.map +1 -0
- package/dist/platform/config.js +62 -0
- package/dist/platform/config.js.map +1 -0
- package/dist/platform/feature-flags.d.ts +25 -0
- package/dist/platform/feature-flags.d.ts.map +1 -0
- package/dist/platform/feature-flags.js +114 -0
- package/dist/platform/feature-flags.js.map +1 -0
- package/dist/platform/fresh-sessions.d.ts +4 -0
- package/dist/platform/fresh-sessions.d.ts.map +1 -0
- package/dist/platform/fresh-sessions.js +22 -0
- package/dist/platform/fresh-sessions.js.map +1 -0
- package/dist/platform/instance-routes.d.ts +17 -0
- package/dist/platform/instance-routes.d.ts.map +1 -0
- package/dist/platform/instance-routes.js +105 -0
- package/dist/platform/instance-routes.js.map +1 -0
- package/dist/platform/logger.d.ts +20 -0
- package/dist/platform/logger.d.ts.map +1 -0
- package/dist/platform/logger.js +44 -0
- package/dist/platform/logger.js.map +1 -0
- package/dist/platform/opencode-errors.d.ts +20 -0
- package/dist/platform/opencode-errors.d.ts.map +1 -0
- package/dist/platform/opencode-errors.js +71 -0
- package/dist/platform/opencode-errors.js.map +1 -0
- package/dist/platform/platform-client/backups.d.ts +22 -0
- package/dist/platform/platform-client/backups.d.ts.map +1 -0
- package/dist/platform/platform-client/backups.js +16 -0
- package/dist/platform/platform-client/backups.js.map +1 -0
- package/dist/platform/platform-client/index.d.ts +21 -0
- package/dist/platform/platform-client/index.d.ts.map +1 -0
- package/dist/platform/platform-client/index.js +21 -0
- package/dist/platform/platform-client/index.js.map +1 -0
- package/dist/platform/platform-client/instance-admin.d.ts +67 -0
- package/dist/platform/platform-client/instance-admin.d.ts.map +1 -0
- package/dist/platform/platform-client/instance-admin.js +59 -0
- package/dist/platform/platform-client/instance-admin.js.map +1 -0
- package/dist/platform/platform-client/invites.d.ts +35 -0
- package/dist/platform/platform-client/invites.d.ts.map +1 -0
- package/dist/platform/platform-client/invites.js +25 -0
- package/dist/platform/platform-client/invites.js.map +1 -0
- package/dist/platform/platform-client/lifecycle.d.ts +78 -0
- package/dist/platform/platform-client/lifecycle.d.ts.map +1 -0
- package/dist/platform/platform-client/lifecycle.js +151 -0
- package/dist/platform/platform-client/lifecycle.js.map +1 -0
- package/dist/platform/platform-client/members.d.ts +81 -0
- package/dist/platform/platform-client/members.d.ts.map +1 -0
- package/dist/platform/platform-client/members.js +59 -0
- package/dist/platform/platform-client/members.js.map +1 -0
- package/dist/platform/platform-client/shared.d.ts +44 -0
- package/dist/platform/platform-client/shared.d.ts.map +1 -0
- package/dist/platform/platform-client/shared.js +177 -0
- package/dist/platform/platform-client/shared.js.map +1 -0
- package/dist/platform/platform-client/ssh.d.ts +29 -0
- package/dist/platform/platform-client/ssh.d.ts.map +1 -0
- package/dist/platform/platform-client/ssh.js +14 -0
- package/dist/platform/platform-client/ssh.js.map +1 -0
- package/dist/platform/platform-client/types.d.ts +56 -0
- package/dist/platform/platform-client/types.d.ts.map +1 -0
- package/dist/platform/platform-client/types.js +19 -0
- package/dist/platform/platform-client/types.js.map +1 -0
- package/dist/platform/platform-client/updates.d.ts +117 -0
- package/dist/platform/platform-client/updates.d.ts.map +1 -0
- package/dist/platform/platform-client/updates.js +97 -0
- package/dist/platform/platform-client/updates.js.map +1 -0
- package/dist/platform/platform-client/urls.d.ts +18 -0
- package/dist/platform/platform-client/urls.d.ts.map +1 -0
- package/dist/platform/platform-client/urls.js +31 -0
- package/dist/platform/platform-client/urls.js.map +1 -0
- package/dist/platform/projects-client/access.d.ts +273 -0
- package/dist/platform/projects-client/access.d.ts.map +1 -0
- package/dist/platform/projects-client/access.js +89 -0
- package/dist/platform/projects-client/access.js.map +1 -0
- package/dist/platform/projects-client/accounts.d.ts +184 -0
- package/dist/platform/projects-client/accounts.d.ts.map +1 -0
- package/dist/platform/projects-client/accounts.js +78 -0
- package/dist/platform/projects-client/accounts.js.map +1 -0
- package/dist/platform/projects-client/agent-config.d.ts +58 -0
- package/dist/platform/projects-client/agent-config.d.ts.map +1 -0
- package/dist/platform/projects-client/agent-config.js +9 -0
- package/dist/platform/projects-client/agent-config.js.map +1 -0
- package/dist/platform/projects-client/agent-scope.d.ts +12 -0
- package/dist/platform/projects-client/agent-scope.d.ts.map +1 -0
- package/dist/platform/projects-client/agent-scope.js +6 -0
- package/dist/platform/projects-client/agent-scope.js.map +1 -0
- package/dist/platform/projects-client/apps.d.ts +98 -0
- package/dist/platform/projects-client/apps.d.ts.map +1 -0
- package/dist/platform/projects-client/apps.js +29 -0
- package/dist/platform/projects-client/apps.js.map +1 -0
- package/dist/platform/projects-client/audit.d.ts +85 -0
- package/dist/platform/projects-client/audit.d.ts.map +1 -0
- package/dist/platform/projects-client/audit.js +51 -0
- package/dist/platform/projects-client/audit.js.map +1 -0
- package/dist/platform/projects-client/billing.d.ts +336 -0
- package/dist/platform/projects-client/billing.d.ts.map +1 -0
- package/dist/platform/projects-client/billing.js +260 -0
- package/dist/platform/projects-client/billing.js.map +1 -0
- package/dist/platform/projects-client/change-requests.d.ts +119 -0
- package/dist/platform/projects-client/change-requests.d.ts.map +1 -0
- package/dist/platform/projects-client/change-requests.js +56 -0
- package/dist/platform/projects-client/change-requests.js.map +1 -0
- package/dist/platform/projects-client/channels.d.ts +135 -0
- package/dist/platform/projects-client/channels.d.ts.map +1 -0
- package/dist/platform/projects-client/channels.js +103 -0
- package/dist/platform/projects-client/channels.js.map +1 -0
- package/dist/platform/projects-client/connectors.d.ts +148 -0
- package/dist/platform/projects-client/connectors.d.ts.map +1 -0
- package/dist/platform/projects-client/connectors.js +66 -0
- package/dist/platform/projects-client/connectors.js.map +1 -0
- package/dist/platform/projects-client/files.d.ts +37 -0
- package/dist/platform/projects-client/files.d.ts.map +1 -0
- package/dist/platform/projects-client/files.js +58 -0
- package/dist/platform/projects-client/files.js.map +1 -0
- package/dist/platform/projects-client/gateway.d.ts +177 -0
- package/dist/platform/projects-client/gateway.d.ts.map +1 -0
- package/dist/platform/projects-client/gateway.js +59 -0
- package/dist/platform/projects-client/gateway.js.map +1 -0
- package/dist/platform/projects-client/git-history.d.ts +74 -0
- package/dist/platform/projects-client/git-history.d.ts.map +1 -0
- package/dist/platform/projects-client/git-history.js +40 -0
- package/dist/platform/projects-client/git-history.js.map +1 -0
- package/dist/platform/projects-client/github.d.ts +62 -0
- package/dist/platform/projects-client/github.d.ts.map +1 -0
- package/dist/platform/projects-client/github.js +30 -0
- package/dist/platform/projects-client/github.js.map +1 -0
- package/dist/platform/projects-client/index.d.ts +32 -0
- package/dist/platform/projects-client/index.d.ts.map +1 -0
- package/dist/platform/projects-client/index.js +34 -0
- package/dist/platform/projects-client/index.js.map +1 -0
- package/dist/platform/projects-client/marketplace-catalog.d.ts +76 -0
- package/dist/platform/projects-client/marketplace-catalog.d.ts.map +1 -0
- package/dist/platform/projects-client/marketplace-catalog.js +48 -0
- package/dist/platform/projects-client/marketplace-catalog.js.map +1 -0
- package/dist/platform/projects-client/marketplace.d.ts +80 -0
- package/dist/platform/projects-client/marketplace.d.ts.map +1 -0
- package/dist/platform/projects-client/marketplace.js +52 -0
- package/dist/platform/projects-client/marketplace.js.map +1 -0
- package/dist/platform/projects-client/model-defaults.d.ts +36 -0
- package/dist/platform/projects-client/model-defaults.d.ts.map +1 -0
- package/dist/platform/projects-client/model-defaults.js +16 -0
- package/dist/platform/projects-client/model-defaults.js.map +1 -0
- package/dist/platform/projects-client/policies.d.ts +21 -0
- package/dist/platform/projects-client/policies.d.ts.map +1 -0
- package/dist/platform/projects-client/policies.js +10 -0
- package/dist/platform/projects-client/policies.js.map +1 -0
- package/dist/platform/projects-client/projects.d.ts +235 -0
- package/dist/platform/projects-client/projects.d.ts.map +1 -0
- package/dist/platform/projects-client/projects.js +161 -0
- package/dist/platform/projects-client/projects.js.map +1 -0
- package/dist/platform/projects-client/public-session-shares.d.ts +52 -0
- package/dist/platform/projects-client/public-session-shares.d.ts.map +1 -0
- package/dist/platform/projects-client/public-session-shares.js +54 -0
- package/dist/platform/projects-client/public-session-shares.js.map +1 -0
- package/dist/platform/projects-client/review.d.ts +57 -0
- package/dist/platform/projects-client/review.d.ts.map +1 -0
- package/dist/platform/projects-client/review.js +28 -0
- package/dist/platform/projects-client/review.js.map +1 -0
- package/dist/platform/projects-client/sandbox-shares.d.ts +25 -0
- package/dist/platform/projects-client/sandbox-shares.d.ts.map +1 -0
- package/dist/platform/projects-client/sandbox-shares.js +29 -0
- package/dist/platform/projects-client/sandbox-shares.js.map +1 -0
- package/dist/platform/projects-client/sandbox.d.ts +123 -0
- package/dist/platform/projects-client/sandbox.d.ts.map +1 -0
- package/dist/platform/projects-client/sandbox.js +45 -0
- package/dist/platform/projects-client/sandbox.js.map +1 -0
- package/dist/platform/projects-client/secrets.d.ts +122 -0
- package/dist/platform/projects-client/secrets.d.ts.map +1 -0
- package/dist/platform/projects-client/secrets.js +34 -0
- package/dist/platform/projects-client/secrets.js.map +1 -0
- package/dist/platform/projects-client/session-sandbox.d.ts +61 -0
- package/dist/platform/projects-client/session-sandbox.d.ts.map +1 -0
- package/dist/platform/projects-client/session-sandbox.js +82 -0
- package/dist/platform/projects-client/session-sandbox.js.map +1 -0
- package/dist/platform/projects-client/sessions.d.ts +216 -0
- package/dist/platform/projects-client/sessions.d.ts.map +1 -0
- package/dist/platform/projects-client/sessions.js +74 -0
- package/dist/platform/projects-client/sessions.js.map +1 -0
- package/dist/platform/projects-client/setup-links.d.ts +35 -0
- package/dist/platform/projects-client/setup-links.d.ts.map +1 -0
- package/dist/platform/projects-client/setup-links.js +24 -0
- package/dist/platform/projects-client/setup-links.js.map +1 -0
- package/dist/platform/projects-client/shared.d.ts +66 -0
- package/dist/platform/projects-client/shared.d.ts.map +1 -0
- package/dist/platform/projects-client/shared.js +44 -0
- package/dist/platform/projects-client/shared.js.map +1 -0
- package/dist/platform/projects-client/tokens.d.ts +77 -0
- package/dist/platform/projects-client/tokens.d.ts.map +1 -0
- package/dist/platform/projects-client/tokens.js +43 -0
- package/dist/platform/projects-client/tokens.js.map +1 -0
- package/dist/platform/projects-client/transcription.d.ts +5 -0
- package/dist/platform/projects-client/transcription.d.ts.map +1 -0
- package/dist/platform/projects-client/transcription.js +14 -0
- package/dist/platform/projects-client/transcription.js.map +1 -0
- package/dist/platform/projects-client/triggers.d.ts +102 -0
- package/dist/platform/projects-client/triggers.d.ts.map +1 -0
- package/dist/platform/projects-client/triggers.js +27 -0
- package/dist/platform/projects-client/triggers.js.map +1 -0
- package/dist/platform/session-id.d.ts +9 -0
- package/dist/platform/session-id.d.ts.map +1 -0
- package/dist/platform/session-id.js +23 -0
- package/dist/platform/session-id.js.map +1 -0
- package/dist/platform/storage/managed-storage.d.ts +97 -0
- package/dist/platform/storage/managed-storage.d.ts.map +1 -0
- package/dist/platform/storage/managed-storage.js +271 -0
- package/dist/platform/storage/managed-storage.js.map +1 -0
- package/dist/platform/strings.d.ts +12 -0
- package/dist/platform/strings.d.ts.map +1 -0
- package/dist/platform/strings.js +17 -0
- package/dist/platform/strings.js.map +1 -0
- package/dist/platform/ui.d.ts +11 -0
- package/dist/platform/ui.d.ts.map +1 -0
- package/dist/platform/ui.js +22 -0
- package/dist/platform/ui.js.map +1 -0
- package/dist/react/chat/index.d.ts +3 -0
- package/dist/react/chat/index.d.ts.map +1 -0
- package/dist/react/chat/index.js +7 -0
- package/dist/react/chat/index.js.map +1 -0
- package/dist/react/chat/render-parts.d.ts +39 -0
- package/dist/react/chat/render-parts.d.ts.map +1 -0
- package/dist/react/chat/render-parts.js +34 -0
- package/dist/react/chat/render-parts.js.map +1 -0
- package/dist/react/chat/use-chat-turns.d.ts +19 -0
- package/dist/react/chat/use-chat-turns.d.ts.map +1 -0
- package/dist/react/chat/use-chat-turns.js +27 -0
- package/dist/react/chat/use-chat-turns.js.map +1 -0
- package/dist/react/file-keys.d.ts +18 -0
- package/dist/react/file-keys.d.ts.map +1 -0
- package/dist/react/file-keys.js +18 -0
- package/dist/react/file-keys.js.map +1 -0
- package/dist/react/index.d.ts +12 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +49 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/model-flatten.d.ts +33 -0
- package/dist/react/model-flatten.d.ts.map +1 -0
- package/dist/react/model-flatten.js +59 -0
- package/dist/react/model-flatten.js.map +1 -0
- package/dist/react/opencode.d.ts +43 -0
- package/dist/react/opencode.d.ts.map +1 -0
- package/dist/react/opencode.js +100 -0
- package/dist/react/opencode.js.map +1 -0
- package/dist/react/prefetch-session-start.d.ts +10 -0
- package/dist/react/prefetch-session-start.d.ts.map +1 -0
- package/dist/react/prefetch-session-start.js +17 -0
- package/dist/react/prefetch-session-start.js.map +1 -0
- package/dist/react/provider-refresh.d.ts +7 -0
- package/dist/react/provider-refresh.d.ts.map +1 -0
- package/dist/react/provider-refresh.js +28 -0
- package/dist/react/provider-refresh.js.map +1 -0
- package/dist/react/provider-selection.d.ts +31 -0
- package/dist/react/provider-selection.d.ts.map +1 -0
- package/dist/react/provider-selection.js +135 -0
- package/dist/react/provider-selection.js.map +1 -0
- package/dist/react/route-project.d.ts +7 -0
- package/dist/react/route-project.d.ts.map +1 -0
- package/dist/react/route-project.js +19 -0
- package/dist/react/route-project.js.map +1 -0
- package/dist/react/session-start-stash.d.ts +56 -0
- package/dist/react/session-start-stash.d.ts.map +1 -0
- package/dist/react/session-start-stash.js +202 -0
- package/dist/react/session-start-stash.js.map +1 -0
- package/dist/react/use-canonical-opencode-session.d.ts +35 -0
- package/dist/react/use-canonical-opencode-session.d.ts.map +1 -0
- package/dist/react/use-canonical-opencode-session.js +52 -0
- package/dist/react/use-canonical-opencode-session.js.map +1 -0
- package/dist/react/use-change-requests.d.ts +321 -0
- package/dist/react/use-change-requests.d.ts.map +1 -0
- package/dist/react/use-change-requests.js +43 -0
- package/dist/react/use-change-requests.js.map +1 -0
- package/dist/react/use-current-runtime.d.ts +8 -0
- package/dist/react/use-current-runtime.d.ts.map +1 -0
- package/dist/react/use-current-runtime.js +12 -0
- package/dist/react/use-current-runtime.js.map +1 -0
- package/dist/react/use-gateway-catalog-sync.d.ts +2 -0
- package/dist/react/use-gateway-catalog-sync.d.ts.map +1 -0
- package/dist/react/use-gateway-catalog-sync.js +39 -0
- package/dist/react/use-gateway-catalog-sync.js.map +1 -0
- package/dist/react/use-kortix-master.d.ts +384 -0
- package/dist/react/use-kortix-master.d.ts.map +1 -0
- package/dist/react/use-kortix-master.js +958 -0
- package/dist/react/use-kortix-master.js.map +1 -0
- package/dist/react/use-model-store.d.ts +71 -0
- package/dist/react/use-model-store.d.ts.map +1 -0
- package/dist/react/use-model-store.js +411 -0
- package/dist/react/use-model-store.js.map +1 -0
- package/dist/react/use-opencode-config.d.ts +15 -0
- package/dist/react/use-opencode-config.d.ts.map +1 -0
- package/dist/react/use-opencode-config.js +79 -0
- package/dist/react/use-opencode-config.js.map +1 -0
- package/dist/react/use-opencode-events/diagnostics.d.ts +11 -0
- package/dist/react/use-opencode-events/diagnostics.d.ts.map +1 -0
- package/dist/react/use-opencode-events/diagnostics.js +58 -0
- package/dist/react/use-opencode-events/diagnostics.js.map +1 -0
- package/dist/react/use-opencode-events/handle-event.d.ts +20 -0
- package/dist/react/use-opencode-events/handle-event.d.ts.map +1 -0
- package/dist/react/use-opencode-events/handle-event.js +450 -0
- package/dist/react/use-opencode-events/handle-event.js.map +1 -0
- package/dist/react/use-opencode-events/helpers.d.ts +30 -0
- package/dist/react/use-opencode-events/helpers.d.ts.map +1 -0
- package/dist/react/use-opencode-events/helpers.js +93 -0
- package/dist/react/use-opencode-events/helpers.js.map +1 -0
- package/dist/react/use-opencode-events/index.d.ts +25 -0
- package/dist/react/use-opencode-events/index.d.ts.map +1 -0
- package/dist/react/use-opencode-events/index.js +242 -0
- package/dist/react/use-opencode-events/index.js.map +1 -0
- package/dist/react/use-opencode-events/types.d.ts +10 -0
- package/dist/react/use-opencode-events/types.d.ts.map +1 -0
- package/dist/react/use-opencode-events/types.js +2 -0
- package/dist/react/use-opencode-events/types.js.map +1 -0
- package/dist/react/use-opencode-events/use-event-stream-refs.d.ts +22 -0
- package/dist/react/use-opencode-events/use-event-stream-refs.d.ts.map +1 -0
- package/dist/react/use-opencode-events/use-event-stream-refs.js +158 -0
- package/dist/react/use-opencode-events/use-event-stream-refs.js.map +1 -0
- package/dist/react/use-opencode-local.d.ts +139 -0
- package/dist/react/use-opencode-local.d.ts.map +1 -0
- package/dist/react/use-opencode-local.js +484 -0
- package/dist/react/use-opencode-local.js.map +1 -0
- package/dist/react/use-opencode-mcp.d.ts +34 -0
- package/dist/react/use-opencode-mcp.d.ts.map +1 -0
- package/dist/react/use-opencode-mcp.js +190 -0
- package/dist/react/use-opencode-mcp.js.map +1 -0
- package/dist/react/use-opencode-pty.d.ts +30 -0
- package/dist/react/use-opencode-pty.d.ts.map +1 -0
- package/dist/react/use-opencode-pty.js +126 -0
- package/dist/react/use-opencode-pty.js.map +1 -0
- package/dist/react/use-opencode-sessions/agents.d.ts +14 -0
- package/dist/react/use-opencode-sessions/agents.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/agents.js +82 -0
- package/dist/react/use-opencode-sessions/agents.js.map +1 -0
- package/dist/react/use-opencode-sessions/commands.d.ts +8 -0
- package/dist/react/use-opencode-sessions/commands.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/commands.js +46 -0
- package/dist/react/use-opencode-sessions/commands.js.map +1 -0
- package/dist/react/use-opencode-sessions/files.d.ts +2 -0
- package/dist/react/use-opencode-sessions/files.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/files.js +181 -0
- package/dist/react/use-opencode-sessions/files.js.map +1 -0
- package/dist/react/use-opencode-sessions/index.d.ts +15 -0
- package/dist/react/use-opencode-sessions/index.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/index.js +21 -0
- package/dist/react/use-opencode-sessions/index.js.map +1 -0
- package/dist/react/use-opencode-sessions/keys.d.ts +94 -0
- package/dist/react/use-opencode-sessions/keys.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/keys.js +39 -0
- package/dist/react/use-opencode-sessions/keys.js.map +1 -0
- package/dist/react/use-opencode-sessions/mcp.d.ts +3 -0
- package/dist/react/use-opencode-sessions/mcp.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/mcp.js +23 -0
- package/dist/react/use-opencode-sessions/mcp.js.map +1 -0
- package/dist/react/use-opencode-sessions/messages.d.ts +75 -0
- package/dist/react/use-opencode-sessions/messages.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/messages.js +319 -0
- package/dist/react/use-opencode-sessions/messages.js.map +1 -0
- package/dist/react/use-opencode-sessions/parts.d.ts +23 -0
- package/dist/react/use-opencode-sessions/parts.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/parts.js +49 -0
- package/dist/react/use-opencode-sessions/parts.js.map +1 -0
- package/dist/react/use-opencode-sessions/permissions.d.ts +17 -0
- package/dist/react/use-opencode-sessions/permissions.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/permissions.js +66 -0
- package/dist/react/use-opencode-sessions/permissions.js.map +1 -0
- package/dist/react/use-opencode-sessions/projects.d.ts +5 -0
- package/dist/react/use-opencode-sessions/projects.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/projects.js +54 -0
- package/dist/react/use-opencode-sessions/projects.js.map +1 -0
- package/dist/react/use-opencode-sessions/providers.d.ts +10 -0
- package/dist/react/use-opencode-sessions/providers.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/providers.js +98 -0
- package/dist/react/use-opencode-sessions/providers.js.map +1 -0
- package/dist/react/use-opencode-sessions/sessions.d.ts +35 -0
- package/dist/react/use-opencode-sessions/sessions.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/sessions.js +380 -0
- package/dist/react/use-opencode-sessions/sessions.js.map +1 -0
- package/dist/react/use-opencode-sessions/shared.d.ts +43 -0
- package/dist/react/use-opencode-sessions/shared.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/shared.js +109 -0
- package/dist/react/use-opencode-sessions/shared.js.map +1 -0
- package/dist/react/use-opencode-sessions/sharing.d.ts +4 -0
- package/dist/react/use-opencode-sessions/sharing.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/sharing.js +57 -0
- package/dist/react/use-opencode-sessions/sharing.js.map +1 -0
- package/dist/react/use-opencode-sessions/tools.d.ts +5 -0
- package/dist/react/use-opencode-sessions/tools.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/tools.js +54 -0
- package/dist/react/use-opencode-sessions/tools.js.map +1 -0
- package/dist/react/use-permission-self-heal.d.ts +45 -0
- package/dist/react/use-permission-self-heal.d.ts.map +1 -0
- package/dist/react/use-permission-self-heal.js +144 -0
- package/dist/react/use-permission-self-heal.js.map +1 -0
- package/dist/react/use-project-config.d.ts +11 -0
- package/dist/react/use-project-config.d.ts.map +1 -0
- package/dist/react/use-project-config.js +22 -0
- package/dist/react/use-project-config.js.map +1 -0
- package/dist/react/use-project-models.d.ts +11 -0
- package/dist/react/use-project-models.d.ts.map +1 -0
- package/dist/react/use-project-models.js +25 -0
- package/dist/react/use-project-models.js.map +1 -0
- package/dist/react/use-project-secrets.d.ts +265 -0
- package/dist/react/use-project-secrets.d.ts.map +1 -0
- package/dist/react/use-project-secrets.js +41 -0
- package/dist/react/use-project-secrets.js.map +1 -0
- package/dist/react/use-project-triggers.d.ts +228 -0
- package/dist/react/use-project-triggers.d.ts.map +1 -0
- package/dist/react/use-project-triggers.js +42 -0
- package/dist/react/use-project-triggers.js.map +1 -0
- package/dist/react/use-question-self-heal.d.ts +36 -0
- package/dist/react/use-question-self-heal.d.ts.map +1 -0
- package/dist/react/use-question-self-heal.js +95 -0
- package/dist/react/use-question-self-heal.js.map +1 -0
- package/dist/react/use-runtime-phase.d.ts +9 -0
- package/dist/react/use-runtime-phase.d.ts.map +1 -0
- package/dist/react/use-runtime-phase.js +20 -0
- package/dist/react/use-runtime-phase.js.map +1 -0
- package/dist/react/use-runtime-reconnect.d.ts +90 -0
- package/dist/react/use-runtime-reconnect.d.ts.map +1 -0
- package/dist/react/use-runtime-reconnect.js +234 -0
- package/dist/react/use-runtime-reconnect.js.map +1 -0
- package/dist/react/use-session-picks.d.ts +17 -0
- package/dist/react/use-session-picks.d.ts.map +1 -0
- package/dist/react/use-session-picks.js +36 -0
- package/dist/react/use-session-picks.js.map +1 -0
- package/dist/react/use-session-prefetch.d.ts +18 -0
- package/dist/react/use-session-prefetch.d.ts.map +1 -0
- package/dist/react/use-session-prefetch.js +84 -0
- package/dist/react/use-session-prefetch.js.map +1 -0
- package/dist/react/use-session-send.d.ts +183 -0
- package/dist/react/use-session-send.d.ts.map +1 -0
- package/dist/react/use-session-send.js +287 -0
- package/dist/react/use-session-send.js.map +1 -0
- package/dist/react/use-session-sync.d.ts +24 -0
- package/dist/react/use-session-sync.d.ts.map +1 -0
- package/dist/react/use-session-sync.js +375 -0
- package/dist/react/use-session-sync.js.map +1 -0
- package/dist/react/use-session.d.ts +171 -0
- package/dist/react/use-session.d.ts.map +1 -0
- package/dist/react/use-session.js +396 -0
- package/dist/react/use-session.js.map +1 -0
- package/dist/react/use-visible-agents.d.ts +22 -0
- package/dist/react/use-visible-agents.d.ts.map +1 -0
- package/dist/react/use-visible-agents.js +45 -0
- package/dist/react/use-visible-agents.js.map +1 -0
- package/dist/server.d.ts +55 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +122 -0
- package/dist/server.js.map +1 -0
- package/dist/session/health.d.ts +49 -0
- package/dist/session/health.d.ts.map +1 -0
- package/dist/session/health.js +57 -0
- package/dist/session/health.js.map +1 -0
- package/dist/session/index.d.ts +19 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +19 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/preview.d.ts +24 -0
- package/dist/session/preview.d.ts.map +1 -0
- package/dist/session/preview.js +85 -0
- package/dist/session/preview.js.map +1 -0
- package/dist/session/url.d.ts +160 -0
- package/dist/session/url.d.ts.map +1 -0
- package/dist/session/url.js +522 -0
- package/dist/session/url.js.map +1 -0
- package/dist/state/chat-events.d.ts +141 -0
- package/dist/state/chat-events.d.ts.map +1 -0
- package/dist/state/chat-events.js +135 -0
- package/dist/state/chat-events.js.map +1 -0
- package/dist/state/current-runtime.d.ts +44 -0
- package/dist/state/current-runtime.d.ts.map +1 -0
- package/dist/state/current-runtime.js +44 -0
- package/dist/state/current-runtime.js.map +1 -0
- package/dist/state/diagnostics-store.d.ts +114 -0
- package/dist/state/diagnostics-store.d.ts.map +1 -0
- package/dist/state/diagnostics-store.js +319 -0
- package/dist/state/diagnostics-store.js.map +1 -0
- package/dist/state/event-stream.d.ts +134 -0
- package/dist/state/event-stream.d.ts.map +1 -0
- package/dist/state/event-stream.js +424 -0
- package/dist/state/event-stream.js.map +1 -0
- package/dist/state/idb-sync-cache.d.ts +18 -0
- package/dist/state/idb-sync-cache.d.ts.map +1 -0
- package/dist/state/idb-sync-cache.js +209 -0
- package/dist/state/idb-sync-cache.js.map +1 -0
- package/dist/state/opencode-compaction-store.d.ts +10 -0
- package/dist/state/opencode-compaction-store.d.ts.map +1 -0
- package/dist/state/opencode-compaction-store.js +32 -0
- package/dist/state/opencode-compaction-store.js.map +1 -0
- package/dist/state/opencode-pending-store.d.ts +19 -0
- package/dist/state/opencode-pending-store.d.ts.map +1 -0
- package/dist/state/opencode-pending-store.js +76 -0
- package/dist/state/opencode-pending-store.js.map +1 -0
- package/dist/state/sandbox-connection-store.d.ts +62 -0
- package/dist/state/sandbox-connection-store.d.ts.map +1 -0
- package/dist/state/sandbox-connection-store.js +290 -0
- package/dist/state/sandbox-connection-store.js.map +1 -0
- package/dist/state/server-store/active.d.ts +49 -0
- package/dist/state/server-store/active.d.ts.map +1 -0
- package/dist/state/server-store/active.js +76 -0
- package/dist/state/server-store/active.js.map +1 -0
- package/dist/state/server-store/types.d.ts +12 -0
- package/dist/state/server-store/types.d.ts.map +1 -0
- package/dist/state/server-store/types.js +2 -0
- package/dist/state/server-store/types.js.map +1 -0
- package/dist/state/server-store/url-helpers.d.ts +33 -0
- package/dist/state/server-store/url-helpers.d.ts.map +1 -0
- package/dist/state/server-store/url-helpers.js +55 -0
- package/dist/state/server-store/url-helpers.js.map +1 -0
- package/dist/state/server-store.d.ts +18 -0
- package/dist/state/server-store.d.ts.map +1 -0
- package/dist/state/server-store.js +23 -0
- package/dist/state/server-store.js.map +1 -0
- package/dist/state/session-runtime-registry.d.ts +49 -0
- package/dist/state/session-runtime-registry.d.ts.map +1 -0
- package/dist/state/session-runtime-registry.js +85 -0
- package/dist/state/session-runtime-registry.js.map +1 -0
- package/dist/state/sync-store/ascending-id.d.ts +2 -0
- package/dist/state/sync-store/ascending-id.d.ts.map +1 -0
- package/dist/state/sync-store/ascending-id.js +21 -0
- package/dist/state/sync-store/ascending-id.js.map +1 -0
- package/dist/state/sync-store/binary.d.ts +7 -0
- package/dist/state/sync-store/binary.d.ts.map +1 -0
- package/dist/state/sync-store/binary.js +21 -0
- package/dist/state/sync-store/binary.js.map +1 -0
- package/dist/state/sync-store/stream-cache.d.ts +2 -0
- package/dist/state/sync-store/stream-cache.d.ts.map +1 -0
- package/dist/state/sync-store/stream-cache.js +29 -0
- package/dist/state/sync-store/stream-cache.js.map +1 -0
- package/dist/state/sync-store/types.d.ts +29 -0
- package/dist/state/sync-store/types.d.ts.map +1 -0
- package/dist/state/sync-store/types.js +2 -0
- package/dist/state/sync-store/types.js.map +1 -0
- package/dist/state/sync-store.d.ts +39 -0
- package/dist/state/sync-store.d.ts.map +1 -0
- package/dist/state/sync-store.js +692 -0
- package/dist/state/sync-store.js.map +1 -0
- package/dist/state/tab-store.d.ts +91 -0
- package/dist/state/tab-store.d.ts.map +1 -0
- package/dist/state/tab-store.js +369 -0
- package/dist/state/tab-store.js.map +1 -0
- package/dist/transcript.d.ts +40 -0
- package/dist/transcript.d.ts.map +1 -0
- package/dist/transcript.js +126 -0
- package/dist/transcript.js.map +1 -0
- package/dist/turns/classify.d.ts +166 -0
- package/dist/turns/classify.d.ts.map +1 -0
- package/dist/turns/classify.js +259 -0
- package/dist/turns/classify.js.map +1 -0
- package/dist/turns/errors.d.ts +11 -0
- package/dist/turns/errors.d.ts.map +1 -0
- package/dist/turns/errors.js +85 -0
- package/dist/turns/errors.js.map +1 -0
- package/dist/turns/index.d.ts +264 -0
- package/dist/turns/index.d.ts.map +1 -0
- package/dist/turns/index.js +1243 -0
- package/dist/turns/index.js.map +1 -0
- package/dist/turns/tool-registry.d.ts +33 -0
- package/dist/turns/tool-registry.d.ts.map +1 -0
- package/dist/turns/tool-registry.js +108 -0
- package/dist/turns/tool-registry.js.map +1 -0
- package/dist/turns/types.d.ts +125 -0
- package/dist/turns/types.d.ts.map +1 -0
- package/dist/turns/types.js +12 -0
- package/dist/turns/types.js.map +1 -0
- package/dist/turns/view-model.d.ts +127 -0
- package/dist/turns/view-model.d.ts.map +1 -0
- package/dist/turns/view-model.js +401 -0
- package/dist/turns/view-model.js.map +1 -0
- package/package.json +155 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Curated OpenCode event union for building a product chat UI — framework-free.
|
|
3
|
+
*
|
|
4
|
+
* `OpenCodeEvent` (`./event-stream.ts`) is the FULL raw wire union: ~50+
|
|
5
|
+
* variants covering LSP, PTY, worktrees, plugins, projects, MCP, installation,
|
|
6
|
+
* and more. A chat surface only ever cares about a small slice of that —
|
|
7
|
+
* message/part updates, session status, questions, permissions, todos, and
|
|
8
|
+
* connection health. `narrowChatEvent` filters + reshapes the raw stream down
|
|
9
|
+
* to `KortixChatEvent`, so a host's dispatch switch only has to handle events
|
|
10
|
+
* that actually matter to chat, each carrying a purpose-shaped payload
|
|
11
|
+
* instead of the raw untyped `properties` bag.
|
|
12
|
+
*
|
|
13
|
+
* `heartbeat-gap` has no wire representation of its own — `openEventStream`'s
|
|
14
|
+
* `onGapRehydrate(gapMs)` callback fires out-of-band when the SSE stream
|
|
15
|
+
* reconnects after a gap large enough that cached state may be stale. Build
|
|
16
|
+
* it with `heartbeatGapEvent(gapMs)` and dispatch it the same way as
|
|
17
|
+
* `narrowChatEvent`'s output:
|
|
18
|
+
*
|
|
19
|
+
* ```ts
|
|
20
|
+
* openEventStream({
|
|
21
|
+
* client,
|
|
22
|
+
* onEvent: (e) => {
|
|
23
|
+
* const chatEvent = narrowChatEvent(e);
|
|
24
|
+
* if (chatEvent) dispatch(chatEvent);
|
|
25
|
+
* },
|
|
26
|
+
* onGapRehydrate: (gapMs) => dispatch(heartbeatGapEvent(gapMs)),
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
import type { Message, Part, QuestionAnswer, SessionStatus, Todo } from '../opencode/client.js';
|
|
31
|
+
import type { OpenCodeEvent } from './event-stream.js';
|
|
32
|
+
export interface KortixChatEventMessageUpdated {
|
|
33
|
+
type: 'message.updated';
|
|
34
|
+
sessionID: string;
|
|
35
|
+
message: Message;
|
|
36
|
+
}
|
|
37
|
+
export interface KortixChatEventMessageRemoved {
|
|
38
|
+
type: 'message.removed';
|
|
39
|
+
sessionID: string;
|
|
40
|
+
messageID: string;
|
|
41
|
+
}
|
|
42
|
+
export interface KortixChatEventPartUpdated {
|
|
43
|
+
type: 'message.part.updated';
|
|
44
|
+
sessionID: string;
|
|
45
|
+
part: Part;
|
|
46
|
+
}
|
|
47
|
+
export interface KortixChatEventPartRemoved {
|
|
48
|
+
type: 'message.part.removed';
|
|
49
|
+
sessionID: string;
|
|
50
|
+
messageID: string;
|
|
51
|
+
partID: string;
|
|
52
|
+
}
|
|
53
|
+
export interface KortixChatEventSessionStatus {
|
|
54
|
+
type: 'session.status';
|
|
55
|
+
sessionID: string;
|
|
56
|
+
status: SessionStatus;
|
|
57
|
+
}
|
|
58
|
+
export interface KortixChatEventSessionIdle {
|
|
59
|
+
type: 'session.idle';
|
|
60
|
+
sessionID: string;
|
|
61
|
+
}
|
|
62
|
+
export interface KortixChatEventSessionError {
|
|
63
|
+
type: 'session.error';
|
|
64
|
+
sessionID?: string;
|
|
65
|
+
error?: unknown;
|
|
66
|
+
}
|
|
67
|
+
export interface KortixChatQuestionOption {
|
|
68
|
+
label: string;
|
|
69
|
+
description: string;
|
|
70
|
+
}
|
|
71
|
+
export interface KortixChatQuestionInfo {
|
|
72
|
+
question: string;
|
|
73
|
+
header: string;
|
|
74
|
+
options: KortixChatQuestionOption[];
|
|
75
|
+
multiple?: boolean;
|
|
76
|
+
custom?: boolean;
|
|
77
|
+
}
|
|
78
|
+
export interface KortixChatToolRef {
|
|
79
|
+
messageID: string;
|
|
80
|
+
callID: string;
|
|
81
|
+
}
|
|
82
|
+
export interface KortixChatEventQuestionAsked {
|
|
83
|
+
type: 'question.asked';
|
|
84
|
+
sessionID: string;
|
|
85
|
+
requestID: string;
|
|
86
|
+
questions: KortixChatQuestionInfo[];
|
|
87
|
+
tool?: KortixChatToolRef;
|
|
88
|
+
}
|
|
89
|
+
/** Merges the wire's `question.replied` / `question.rejected` events — a host
|
|
90
|
+
* usually just needs to know "this pending question resolved" plus how. */
|
|
91
|
+
export interface KortixChatEventQuestionAnswered {
|
|
92
|
+
type: 'question.answered';
|
|
93
|
+
sessionID: string;
|
|
94
|
+
requestID: string;
|
|
95
|
+
outcome: 'replied' | 'rejected';
|
|
96
|
+
answers?: QuestionAnswer[];
|
|
97
|
+
}
|
|
98
|
+
export interface KortixChatEventPermissionAsked {
|
|
99
|
+
type: 'permission.asked';
|
|
100
|
+
sessionID: string;
|
|
101
|
+
requestID: string;
|
|
102
|
+
permission: string;
|
|
103
|
+
patterns: string[];
|
|
104
|
+
tool?: KortixChatToolRef;
|
|
105
|
+
}
|
|
106
|
+
export interface KortixChatEventPermissionReplied {
|
|
107
|
+
type: 'permission.replied';
|
|
108
|
+
sessionID: string;
|
|
109
|
+
requestID: string;
|
|
110
|
+
reply: 'once' | 'always' | 'reject';
|
|
111
|
+
}
|
|
112
|
+
export interface KortixChatEventTodoUpdated {
|
|
113
|
+
type: 'todo.updated';
|
|
114
|
+
sessionID: string;
|
|
115
|
+
todos: Todo[];
|
|
116
|
+
}
|
|
117
|
+
/** Fired once per SSE (re)connect — a host can use it to clear a "reconnecting…" banner. */
|
|
118
|
+
export interface KortixChatEventConnection {
|
|
119
|
+
type: 'connection';
|
|
120
|
+
status: 'connected';
|
|
121
|
+
}
|
|
122
|
+
/** Synthetic — see the module doc comment. Not derived from `narrowChatEvent`;
|
|
123
|
+
* built directly from `openEventStream`'s `onGapRehydrate(gapMs)`. */
|
|
124
|
+
export interface KortixChatEventHeartbeatGap {
|
|
125
|
+
type: 'heartbeat-gap';
|
|
126
|
+
gapMs: number;
|
|
127
|
+
}
|
|
128
|
+
export type KortixChatEvent = KortixChatEventMessageUpdated | KortixChatEventMessageRemoved | KortixChatEventPartUpdated | KortixChatEventPartRemoved | KortixChatEventSessionStatus | KortixChatEventSessionIdle | KortixChatEventSessionError | KortixChatEventQuestionAsked | KortixChatEventQuestionAnswered | KortixChatEventPermissionAsked | KortixChatEventPermissionReplied | KortixChatEventTodoUpdated | KortixChatEventConnection | KortixChatEventHeartbeatGap;
|
|
129
|
+
/** Build the synthetic heartbeat-gap chat event from `openEventStream`'s `onGapRehydrate` callback. */
|
|
130
|
+
export declare function heartbeatGapEvent(gapMs: number): KortixChatEventHeartbeatGap;
|
|
131
|
+
/**
|
|
132
|
+
* Narrow a raw `OpenCodeEvent` down to the curated `KortixChatEvent` union a
|
|
133
|
+
* chat UI needs, reshaping `properties` into a purpose-built payload.
|
|
134
|
+
*
|
|
135
|
+
* Returns `null` for every event outside the curated set (LSP, PTY,
|
|
136
|
+
* worktrees, plugins, projects, MCP, installation, session lifecycle CRUD,
|
|
137
|
+
* …) — callers should treat `null` as "not a chat event, ignore" rather than
|
|
138
|
+
* an error; this is a deliberate filter, not an exhaustive switch.
|
|
139
|
+
*/
|
|
140
|
+
export declare function narrowChatEvent(event: OpenCodeEvent): KortixChatEvent | null;
|
|
141
|
+
//# sourceMappingURL=chat-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-events.d.ts","sourceRoot":"","sources":["../../src/state/chat-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Curated OpenCode event union for building a product chat UI — framework-free.
|
|
3
|
+
*
|
|
4
|
+
* `OpenCodeEvent` (`./event-stream.ts`) is the FULL raw wire union: ~50+
|
|
5
|
+
* variants covering LSP, PTY, worktrees, plugins, projects, MCP, installation,
|
|
6
|
+
* and more. A chat surface only ever cares about a small slice of that —
|
|
7
|
+
* message/part updates, session status, questions, permissions, todos, and
|
|
8
|
+
* connection health. `narrowChatEvent` filters + reshapes the raw stream down
|
|
9
|
+
* to `KortixChatEvent`, so a host's dispatch switch only has to handle events
|
|
10
|
+
* that actually matter to chat, each carrying a purpose-shaped payload
|
|
11
|
+
* instead of the raw untyped `properties` bag.
|
|
12
|
+
*
|
|
13
|
+
* `heartbeat-gap` has no wire representation of its own — `openEventStream`'s
|
|
14
|
+
* `onGapRehydrate(gapMs)` callback fires out-of-band when the SSE stream
|
|
15
|
+
* reconnects after a gap large enough that cached state may be stale. Build
|
|
16
|
+
* it with `heartbeatGapEvent(gapMs)` and dispatch it the same way as
|
|
17
|
+
* `narrowChatEvent`'s output:
|
|
18
|
+
*
|
|
19
|
+
* ```ts
|
|
20
|
+
* openEventStream({
|
|
21
|
+
* client,
|
|
22
|
+
* onEvent: (e) => {
|
|
23
|
+
* const chatEvent = narrowChatEvent(e);
|
|
24
|
+
* if (chatEvent) dispatch(chatEvent);
|
|
25
|
+
* },
|
|
26
|
+
* onGapRehydrate: (gapMs) => dispatch(heartbeatGapEvent(gapMs)),
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
/** Build the synthetic heartbeat-gap chat event from `openEventStream`'s `onGapRehydrate` callback. */
|
|
31
|
+
export function heartbeatGapEvent(gapMs) {
|
|
32
|
+
return { type: 'heartbeat-gap', gapMs };
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Narrow a raw `OpenCodeEvent` down to the curated `KortixChatEvent` union a
|
|
36
|
+
* chat UI needs, reshaping `properties` into a purpose-built payload.
|
|
37
|
+
*
|
|
38
|
+
* Returns `null` for every event outside the curated set (LSP, PTY,
|
|
39
|
+
* worktrees, plugins, projects, MCP, installation, session lifecycle CRUD,
|
|
40
|
+
* …) — callers should treat `null` as "not a chat event, ignore" rather than
|
|
41
|
+
* an error; this is a deliberate filter, not an exhaustive switch.
|
|
42
|
+
*/
|
|
43
|
+
export function narrowChatEvent(event) {
|
|
44
|
+
switch (event.type) {
|
|
45
|
+
case 'message.updated':
|
|
46
|
+
return {
|
|
47
|
+
type: 'message.updated',
|
|
48
|
+
sessionID: event.properties.sessionID,
|
|
49
|
+
message: event.properties.info,
|
|
50
|
+
};
|
|
51
|
+
case 'message.removed':
|
|
52
|
+
return {
|
|
53
|
+
type: 'message.removed',
|
|
54
|
+
sessionID: event.properties.sessionID,
|
|
55
|
+
messageID: event.properties.messageID,
|
|
56
|
+
};
|
|
57
|
+
case 'message.part.updated':
|
|
58
|
+
return {
|
|
59
|
+
type: 'message.part.updated',
|
|
60
|
+
sessionID: event.properties.sessionID,
|
|
61
|
+
part: event.properties.part,
|
|
62
|
+
};
|
|
63
|
+
case 'message.part.removed':
|
|
64
|
+
return {
|
|
65
|
+
type: 'message.part.removed',
|
|
66
|
+
sessionID: event.properties.sessionID,
|
|
67
|
+
messageID: event.properties.messageID,
|
|
68
|
+
partID: event.properties.partID,
|
|
69
|
+
};
|
|
70
|
+
case 'session.status':
|
|
71
|
+
return {
|
|
72
|
+
type: 'session.status',
|
|
73
|
+
sessionID: event.properties.sessionID,
|
|
74
|
+
status: event.properties.status,
|
|
75
|
+
};
|
|
76
|
+
case 'session.idle':
|
|
77
|
+
return { type: 'session.idle', sessionID: event.properties.sessionID };
|
|
78
|
+
case 'session.error':
|
|
79
|
+
return {
|
|
80
|
+
type: 'session.error',
|
|
81
|
+
sessionID: event.properties.sessionID,
|
|
82
|
+
error: event.properties.error,
|
|
83
|
+
};
|
|
84
|
+
case 'question.asked':
|
|
85
|
+
return {
|
|
86
|
+
type: 'question.asked',
|
|
87
|
+
sessionID: event.properties.sessionID,
|
|
88
|
+
requestID: event.properties.id,
|
|
89
|
+
questions: event.properties.questions,
|
|
90
|
+
tool: event.properties.tool,
|
|
91
|
+
};
|
|
92
|
+
case 'question.replied':
|
|
93
|
+
return {
|
|
94
|
+
type: 'question.answered',
|
|
95
|
+
sessionID: event.properties.sessionID,
|
|
96
|
+
requestID: event.properties.requestID,
|
|
97
|
+
outcome: 'replied',
|
|
98
|
+
answers: event.properties.answers,
|
|
99
|
+
};
|
|
100
|
+
case 'question.rejected':
|
|
101
|
+
return {
|
|
102
|
+
type: 'question.answered',
|
|
103
|
+
sessionID: event.properties.sessionID,
|
|
104
|
+
requestID: event.properties.requestID,
|
|
105
|
+
outcome: 'rejected',
|
|
106
|
+
};
|
|
107
|
+
case 'permission.asked':
|
|
108
|
+
return {
|
|
109
|
+
type: 'permission.asked',
|
|
110
|
+
sessionID: event.properties.sessionID,
|
|
111
|
+
requestID: event.properties.id,
|
|
112
|
+
permission: event.properties.permission,
|
|
113
|
+
patterns: event.properties.patterns,
|
|
114
|
+
tool: event.properties.tool,
|
|
115
|
+
};
|
|
116
|
+
case 'permission.replied':
|
|
117
|
+
return {
|
|
118
|
+
type: 'permission.replied',
|
|
119
|
+
sessionID: event.properties.sessionID,
|
|
120
|
+
requestID: event.properties.requestID,
|
|
121
|
+
reply: event.properties.reply,
|
|
122
|
+
};
|
|
123
|
+
case 'todo.updated':
|
|
124
|
+
return {
|
|
125
|
+
type: 'todo.updated',
|
|
126
|
+
sessionID: event.properties.sessionID,
|
|
127
|
+
todos: event.properties.todos,
|
|
128
|
+
};
|
|
129
|
+
case 'server.connected':
|
|
130
|
+
return { type: 'connection', status: 'connected' };
|
|
131
|
+
default:
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=chat-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-events.js","sourceRoot":"","sources":["../../src/state/chat-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The current session runtime — the ONE OpenCode daemon the app is talking to
|
|
3
|
+
* right now (the sandbox of the session being viewed), as a proxy URL
|
|
4
|
+
* `${backendUrl}/p/<external_id>/8000`.
|
|
5
|
+
*
|
|
6
|
+
* This replaces the old global "active server" machinery. A session binds here
|
|
7
|
+
* (`useSession` sets it on open, clears it on unmount); every runtime read —
|
|
8
|
+
* `getClient()`, the SSE stream, the file/terminal/git hooks — resolves through
|
|
9
|
+
* it; switching sessions just sets a new url. There is no servers[] registry, no
|
|
10
|
+
* `serverVersion`, no reset-cascade. `version` bumps on every change so the SSE
|
|
11
|
+
* stream re-subscribes to the new daemon.
|
|
12
|
+
*
|
|
13
|
+
* This module is part of the isomorphic core (reachable from the root
|
|
14
|
+
* `@kortix/sdk` export), so it is a plain hand-rolled store — no zustand, no
|
|
15
|
+
* React. The React selector hook lives at `react/use-current-runtime`.
|
|
16
|
+
*/
|
|
17
|
+
export interface CurrentRuntimeState {
|
|
18
|
+
url: string | null;
|
|
19
|
+
/** The sandbox's external_id (Daytona id) — used for proxy routing. */
|
|
20
|
+
sandboxId: string | null;
|
|
21
|
+
/** The sandbox's DB instance id (platform `sandbox_id`) — used by ownership-
|
|
22
|
+
* scoped APIs like per-sandbox API keys that key on the DB row, not the
|
|
23
|
+
* external id (which the backend would mistake for the primary key). */
|
|
24
|
+
dbSandboxId: string | null;
|
|
25
|
+
version: number;
|
|
26
|
+
}
|
|
27
|
+
/** Framework-free store over the current runtime (getState/subscribe). */
|
|
28
|
+
export declare const currentRuntimeStore: {
|
|
29
|
+
getState(): CurrentRuntimeState;
|
|
30
|
+
subscribe(listener: () => void): () => void;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Point the app at a session's runtime. `null` clears it (no active session) — the
|
|
34
|
+
* next runtime read then has no url and callers wait, exactly as before a session
|
|
35
|
+
* is open.
|
|
36
|
+
*/
|
|
37
|
+
export declare function setCurrentRuntime(url: string | null, sandboxId?: string | null, dbSandboxId?: string | null): void;
|
|
38
|
+
/** Read the current runtime url outside React (API modules, the client factory). */
|
|
39
|
+
export declare function getCurrentRuntimeUrl(): string | null;
|
|
40
|
+
/** Read the current runtime sandbox id (external_id) outside React. */
|
|
41
|
+
export declare function getCurrentRuntimeSandboxId(): string | null;
|
|
42
|
+
/** Read the current runtime DB sandbox id (platform `sandbox_id`) outside React. */
|
|
43
|
+
export declare function getCurrentRuntimeDbSandboxId(): string | null;
|
|
44
|
+
//# sourceMappingURL=current-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"current-runtime.d.ts","sourceRoot":"","sources":["../../src/state/current-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,uEAAuE;IACvE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;6EAEyE;IACzE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAWD,0EAA0E;AAC1E,eAAO,MAAM,mBAAmB;gBAClB,mBAAmB;wBAGX,MAAM,IAAI,GAAG,MAAM,IAAI;CAM5C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,SAAS,GAAE,MAAM,GAAG,IAAW,EAC/B,WAAW,GAAE,MAAM,GAAG,IAAW,GAChC,IAAI,CAKN;AAED,oFAAoF;AACpF,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAEpD;AAED,uEAAuE;AACvE,wBAAgB,0BAA0B,IAAI,MAAM,GAAG,IAAI,CAE1D;AAED,oFAAoF;AACpF,wBAAgB,4BAA4B,IAAI,MAAM,GAAG,IAAI,CAE5D"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
let state = {
|
|
2
|
+
url: null,
|
|
3
|
+
sandboxId: null,
|
|
4
|
+
dbSandboxId: null,
|
|
5
|
+
version: 0,
|
|
6
|
+
};
|
|
7
|
+
const listeners = new Set();
|
|
8
|
+
/** Framework-free store over the current runtime (getState/subscribe). */
|
|
9
|
+
export const currentRuntimeStore = {
|
|
10
|
+
getState() {
|
|
11
|
+
return state;
|
|
12
|
+
},
|
|
13
|
+
subscribe(listener) {
|
|
14
|
+
listeners.add(listener);
|
|
15
|
+
return () => {
|
|
16
|
+
listeners.delete(listener);
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Point the app at a session's runtime. `null` clears it (no active session) — the
|
|
22
|
+
* next runtime read then has no url and callers wait, exactly as before a session
|
|
23
|
+
* is open.
|
|
24
|
+
*/
|
|
25
|
+
export function setCurrentRuntime(url, sandboxId = null, dbSandboxId = null) {
|
|
26
|
+
if (state.url === url && state.sandboxId === sandboxId && state.dbSandboxId === dbSandboxId)
|
|
27
|
+
return;
|
|
28
|
+
state = { url, sandboxId, dbSandboxId, version: state.version + 1 };
|
|
29
|
+
for (const listener of listeners)
|
|
30
|
+
listener();
|
|
31
|
+
}
|
|
32
|
+
/** Read the current runtime url outside React (API modules, the client factory). */
|
|
33
|
+
export function getCurrentRuntimeUrl() {
|
|
34
|
+
return state.url;
|
|
35
|
+
}
|
|
36
|
+
/** Read the current runtime sandbox id (external_id) outside React. */
|
|
37
|
+
export function getCurrentRuntimeSandboxId() {
|
|
38
|
+
return state.sandboxId;
|
|
39
|
+
}
|
|
40
|
+
/** Read the current runtime DB sandbox id (platform `sandbox_id`) outside React. */
|
|
41
|
+
export function getCurrentRuntimeDbSandboxId() {
|
|
42
|
+
return state.dbSandboxId;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=current-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"current-runtime.js","sourceRoot":"","sources":["../../src/state/current-runtime.ts"],"names":[],"mappings":"AA2BA,IAAI,KAAK,GAAwB;IAC/B,GAAG,EAAE,IAAI;IACT,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC;CACX,CAAC;AAEF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;AAExC,0EAA0E;AAC1E,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,QAAQ;QACN,OAAO,KAAK,CAAC;IACf,CAAC;IACD,SAAS,CAAC,QAAoB;QAC5B,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAkB,EAClB,YAA2B,IAAI,EAC/B,cAA6B,IAAI;IAEjC,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,WAAW;QACzF,OAAO;IACT,KAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;IACpE,KAAK,MAAM,QAAQ,IAAI,SAAS;QAAE,QAAQ,EAAE,CAAC;AAC/C,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,oBAAoB;IAClC,OAAO,KAAK,CAAC,GAAG,CAAC;AACnB,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,0BAA0B;IACxC,OAAO,KAAK,CAAC,SAAS,CAAC;AACzB,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,4BAA4B;IAC1C,OAAO,KAAK,CAAC,WAAW,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
export type DiagnosticSeverity = 1 | 2 | 3 | 4;
|
|
2
|
+
export interface LspDiagnostic {
|
|
3
|
+
file: string;
|
|
4
|
+
line: number;
|
|
5
|
+
column: number;
|
|
6
|
+
endLine?: number;
|
|
7
|
+
endColumn?: number;
|
|
8
|
+
severity: DiagnosticSeverity;
|
|
9
|
+
message: string;
|
|
10
|
+
source?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface DiagnosticsState {
|
|
13
|
+
/** All diagnostics keyed by file path (may be absolute or relative) */
|
|
14
|
+
byFile: Record<string, LspDiagnostic[]>;
|
|
15
|
+
/** Set all diagnostics for a given file (replaces existing) */
|
|
16
|
+
setFileDiagnostics: (file: string, diagnostics: LspDiagnostic[]) => void;
|
|
17
|
+
/** Bulk-set diagnostics from an lsp.updated event payload (Record<string, RawDiag[]>) */
|
|
18
|
+
setFromLspEvent: (diagnosticsByFile: Record<string, RawDiagnostic[]>) => void;
|
|
19
|
+
/** Clear diagnostics for a file */
|
|
20
|
+
clearFile: (file: string) => void;
|
|
21
|
+
/** Clear all diagnostics */
|
|
22
|
+
clearAll: () => void;
|
|
23
|
+
/** Total error count (severity 1) */
|
|
24
|
+
getErrorCount: () => number;
|
|
25
|
+
/** Total warning count (severity 2) */
|
|
26
|
+
getWarningCount: () => number;
|
|
27
|
+
/** Get all diagnostics across all files, sorted by severity then file */
|
|
28
|
+
getAllDiagnostics: () => LspDiagnostic[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Raw diagnostic shape from LSP / tool metadata.
|
|
32
|
+
* Supports both the range-based format (from tool metadata) and flat format.
|
|
33
|
+
*/
|
|
34
|
+
export interface RawDiagnostic {
|
|
35
|
+
range?: {
|
|
36
|
+
start: {
|
|
37
|
+
line: number;
|
|
38
|
+
character: number;
|
|
39
|
+
};
|
|
40
|
+
end?: {
|
|
41
|
+
line: number;
|
|
42
|
+
character: number;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
line?: number;
|
|
46
|
+
column?: number;
|
|
47
|
+
character?: number;
|
|
48
|
+
endLine?: number;
|
|
49
|
+
endColumn?: number;
|
|
50
|
+
severity?: number;
|
|
51
|
+
message: string;
|
|
52
|
+
source?: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Find diagnostics for a file using flexible path matching.
|
|
56
|
+
*
|
|
57
|
+
* LSP servers store diagnostics keyed by absolute sandbox paths (e.g.
|
|
58
|
+
* `/workspace/desktop/express-crud-app/src/server.js`), but the frontend
|
|
59
|
+
* uses project-relative paths (e.g. `src/server.js`). This function
|
|
60
|
+
* handles the mismatch by:
|
|
61
|
+
*
|
|
62
|
+
* 1. Exact match (covers relative-to-relative)
|
|
63
|
+
* 2. The store key ends with `/<relativePath>` (abs→rel match)
|
|
64
|
+
* 3. The lookup path ends with `/<storeKey>` (rel→abs, unlikely but safe)
|
|
65
|
+
*/
|
|
66
|
+
export declare function findDiagnosticsForFile(byFile: Record<string, LspDiagnostic[]>, filePath: string): LspDiagnostic[] | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Build a map from relative file path → { errors, warnings } by iterating
|
|
69
|
+
* the diagnostics store. Uses the last N segments of each store key so that
|
|
70
|
+
* both `sidebar-explorer` (uses `node.path` which is relative) and
|
|
71
|
+
* `file-browser` can compute diagnostic counts.
|
|
72
|
+
*
|
|
73
|
+
* Returns a map where keys are every possible suffix of the store keys
|
|
74
|
+
* (e.g. for `/workspace/project/src/app.ts` it includes entries for
|
|
75
|
+
* `src/app.ts`, `project/src/app.ts`, `app.ts`, etc.) This is O(totalKeys * avgDepth)
|
|
76
|
+
* but in practice the number of files with diagnostics is small.
|
|
77
|
+
*/
|
|
78
|
+
export declare function buildDiagnosticCountsMap(byFile: Record<string, LspDiagnostic[]>): Record<string, {
|
|
79
|
+
errors: number;
|
|
80
|
+
warnings: number;
|
|
81
|
+
}>;
|
|
82
|
+
/**
|
|
83
|
+
* Extract the relative filename from a diagnostic's file path.
|
|
84
|
+
* Used by the diagnostics panel to show short names.
|
|
85
|
+
*/
|
|
86
|
+
export declare function getRelativePath(absPath: string): string;
|
|
87
|
+
/**
|
|
88
|
+
* Parse diagnostics from OpenCode tool output text.
|
|
89
|
+
*
|
|
90
|
+
* The Go backend embeds diagnostics as plain text in `<file_diagnostics>`
|
|
91
|
+
* and `<project_diagnostics>` XML tags within the tool result. Each line
|
|
92
|
+
* follows the format:
|
|
93
|
+
*
|
|
94
|
+
* Severity: /path/to/file.ts:line:col [source][code] (tags) message
|
|
95
|
+
*
|
|
96
|
+
* Examples:
|
|
97
|
+
* Error: /workspace/src/server.js:4:1 [typescript] Cannot find module './utils/nonexistent'
|
|
98
|
+
* Warn: /workspace/src/server.js:5:7 [typescript][6133] (unnecessary) 'unused_import' is declared but never read
|
|
99
|
+
*/
|
|
100
|
+
export declare function parseDiagnosticsFromToolOutput(output: string): Record<string, LspDiagnostic[]>;
|
|
101
|
+
export declare const useDiagnosticsStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<DiagnosticsState>, "setState" | "persist"> & {
|
|
102
|
+
setState(partial: DiagnosticsState | Partial<DiagnosticsState> | ((state: DiagnosticsState) => DiagnosticsState | Partial<DiagnosticsState>), replace?: false | undefined): unknown;
|
|
103
|
+
setState(state: DiagnosticsState | ((state: DiagnosticsState) => DiagnosticsState), replace: true): unknown;
|
|
104
|
+
persist: {
|
|
105
|
+
setOptions: (options: Partial<import("zustand/middleware").PersistOptions<DiagnosticsState, DiagnosticsState, unknown>>) => void;
|
|
106
|
+
clearStorage: () => void;
|
|
107
|
+
rehydrate: () => Promise<void> | void;
|
|
108
|
+
hasHydrated: () => boolean;
|
|
109
|
+
onHydrate: (fn: (state: DiagnosticsState) => void) => () => void;
|
|
110
|
+
onFinishHydration: (fn: (state: DiagnosticsState) => void) => () => void;
|
|
111
|
+
getOptions: () => Partial<import("zustand/middleware").PersistOptions<DiagnosticsState, DiagnosticsState, unknown>>;
|
|
112
|
+
};
|
|
113
|
+
}>;
|
|
114
|
+
//# sourceMappingURL=diagnostics-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics-store.d.ts","sourceRoot":"","sources":["../../src/state/diagnostics-store.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IAIxC,+DAA+D;IAC/D,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IAEzE,yFAAyF;IACzF,eAAe,EAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,KAAK,IAAI,CAAC;IAE9E,mCAAmC;IACnC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,IAAI,CAAC;IAIrB,qCAAqC;IACrC,aAAa,EAAE,MAAM,MAAM,CAAC;IAE5B,uCAAuC;IACvC,eAAe,EAAE,MAAM,MAAM,CAAC;IAE9B,yEAAyE;IACzE,iBAAiB,EAAE,MAAM,aAAa,EAAE,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE;QACN,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;QAC3C,GAAG,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KAC3C,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,EACvC,QAAQ,EAAE,MAAM,GACf,aAAa,EAAE,GAAG,SAAS,CAsB7B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAwCtD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAqBvD;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAiEjC;AA6BD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EA4G9B,CAAC"}
|