yepanywhere 0.5.2 → 0.6.1
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 +21 -5
- package/bundled/@yep-anywhere/shared/dist/agent-context.d.ts +9 -0
- package/bundled/@yep-anywhere/shared/dist/agent-context.d.ts.map +1 -0
- package/bundled/@yep-anywhere/shared/dist/agent-context.js +18 -0
- package/bundled/@yep-anywhere/shared/dist/agent-context.js.map +1 -0
- package/bundled/@yep-anywhere/shared/dist/app-types.d.ts +107 -1
- package/bundled/@yep-anywhere/shared/dist/app-types.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/app-types.js +4 -0
- package/bundled/@yep-anywhere/shared/dist/app-types.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/binary-framing.d.ts +4 -1
- package/bundled/@yep-anywhere/shared/dist/binary-framing.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/binary-framing.js +8 -3
- package/bundled/@yep-anywhere/shared/dist/binary-framing.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/AssistantEntrySchema.d.ts +4 -0
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/AssistantEntrySchema.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/BaseEntrySchema.d.ts +4 -0
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/BaseEntrySchema.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/BaseEntrySchema.js +7 -0
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/BaseEntrySchema.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/ProgressEntrySchema.d.ts +4 -0
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/ProgressEntrySchema.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SystemEntrySchema.d.ts +64 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SystemEntrySchema.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SystemEntrySchema.js +9 -0
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SystemEntrySchema.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/UserEntrySchema.d.ts +4 -0
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/UserEntrySchema.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/guards.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/guards.js +45 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/guards.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/index.d.ts +144 -2
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/index.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/ToolResultSchemas.d.ts +6 -4
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/ToolResultSchemas.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/ToolResultSchemas.js +8 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/ToolResultSchemas.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/codex-schema/index.d.ts +3 -2
- package/bundled/@yep-anywhere/shared/dist/codex-schema/index.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/codex-schema/index.js +3 -2
- package/bundled/@yep-anywhere/shared/dist/codex-schema/index.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/codex-schema/session.d.ts +266 -17
- package/bundled/@yep-anywhere/shared/dist/codex-schema/session.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/codex-schema/session.js +128 -1
- package/bundled/@yep-anywhere/shared/dist/codex-schema/session.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/dag.d.ts +31 -11
- package/bundled/@yep-anywhere/shared/dist/dag.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/dag.js +77 -33
- package/bundled/@yep-anywhere/shared/dist/dag.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/git-status.d.ts +93 -1
- package/bundled/@yep-anywhere/shared/dist/git-status.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/git-status.js +1 -1
- package/bundled/@yep-anywhere/shared/dist/git-status.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/ideMetadata.js +1 -1
- package/bundled/@yep-anywhere/shared/dist/ideMetadata.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/index.d.ts +22 -11
- package/bundled/@yep-anywhere/shared/dist/index.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/index.js +9 -3
- package/bundled/@yep-anywhere/shared/dist/index.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/local-resource.d.ts +1 -0
- package/bundled/@yep-anywhere/shared/dist/local-resource.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/local-resource.js +4 -0
- package/bundled/@yep-anywhere/shared/dist/local-resource.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/opencode-schema/events.d.ts +136 -0
- package/bundled/@yep-anywhere/shared/dist/opencode-schema/events.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/opencode-schema/events.js +65 -3
- package/bundled/@yep-anywhere/shared/dist/opencode-schema/events.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/opencode-schema/types.d.ts +1 -1
- package/bundled/@yep-anywhere/shared/dist/opencode-schema/types.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/project-queue.d.ts +153 -0
- package/bundled/@yep-anywhere/shared/dist/project-queue.d.ts.map +1 -0
- package/bundled/@yep-anywhere/shared/dist/project-queue.js +8 -0
- package/bundled/@yep-anywhere/shared/dist/project-queue.js.map +1 -0
- package/bundled/@yep-anywhere/shared/dist/relay-protocol.d.ts +26 -2
- package/bundled/@yep-anywhere/shared/dist/relay-protocol.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/relay-protocol.js +33 -0
- package/bundled/@yep-anywhere/shared/dist/relay-protocol.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/relay.d.ts +45 -5
- package/bundled/@yep-anywhere/shared/dist/relay.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/relay.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/safe-restart.d.ts +25 -0
- package/bundled/@yep-anywhere/shared/dist/safe-restart.d.ts.map +1 -0
- package/bundled/@yep-anywhere/shared/dist/safe-restart.js +2 -0
- package/bundled/@yep-anywhere/shared/dist/safe-restart.js.map +1 -0
- package/bundled/@yep-anywhere/shared/dist/server-capabilities.d.ts +248 -0
- package/bundled/@yep-anywhere/shared/dist/server-capabilities.d.ts.map +1 -0
- package/bundled/@yep-anywhere/shared/dist/server-capabilities.js +251 -0
- package/bundled/@yep-anywhere/shared/dist/server-capabilities.js.map +1 -0
- package/bundled/@yep-anywhere/shared/dist/session/SessionView.d.ts +2 -2
- package/bundled/@yep-anywhere/shared/dist/session/SessionView.js +3 -3
- package/bundled/@yep-anywhere/shared/dist/session/SessionView.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/session/UnifiedSession.d.ts +10 -0
- package/bundled/@yep-anywhere/shared/dist/session/UnifiedSession.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/session-liveness.d.ts +18 -0
- package/bundled/@yep-anywhere/shared/dist/session-liveness.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/tool-display-actions.d.ts +26 -0
- package/bundled/@yep-anywhere/shared/dist/tool-display-actions.d.ts.map +1 -0
- package/bundled/@yep-anywhere/shared/dist/tool-display-actions.js +9 -0
- package/bundled/@yep-anywhere/shared/dist/tool-display-actions.js.map +1 -0
- package/bundled/@yep-anywhere/shared/dist/types.d.ts +253 -8
- package/bundled/@yep-anywhere/shared/dist/types.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/types.js +48 -5
- package/bundled/@yep-anywhere/shared/dist/types.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/upload.d.ts +34 -2
- package/bundled/@yep-anywhere/shared/dist/upload.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/user-message-metadata.d.ts +47 -0
- package/bundled/@yep-anywhere/shared/dist/user-message-metadata.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/user-message-metadata.js +59 -1
- package/bundled/@yep-anywhere/shared/dist/user-message-metadata.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/workstreams.d.ts +54 -0
- package/bundled/@yep-anywhere/shared/dist/workstreams.d.ts.map +1 -0
- package/bundled/@yep-anywhere/shared/dist/workstreams.js +8 -0
- package/bundled/@yep-anywhere/shared/dist/workstreams.js.map +1 -0
- package/bundled/@yep-anywhere/shared/package.json +1 -1
- package/client-dist/assets/alegreya-sans-latin-400-italic-BQIUBrX-.woff2 +0 -0
- package/client-dist/assets/alegreya-sans-latin-400-normal-BxeZdXas.woff2 +0 -0
- package/client-dist/assets/alegreya-sans-latin-500-normal-uodOEoAl.woff2 +0 -0
- package/client-dist/assets/alegreya-sans-latin-700-normal-DFYOGfC8.woff2 +0 -0
- package/client-dist/assets/de-BNhVdIq4.js +6 -0
- package/client-dist/assets/es-Csn9n24J.js +6 -0
- package/client-dist/assets/fira-mono-latin-400-normal-DVTTRLHv.woff2 +0 -0
- package/client-dist/assets/fira-mono-latin-ext-400-normal-B2gPvaNr.woff2 +0 -0
- package/client-dist/assets/fira-mono-symbols2-400-normal-C6JptOil.woff2 +0 -0
- package/client-dist/assets/fr-DKx4tSpo.js +6 -0
- package/client-dist/assets/index-C41clQ66.js +561 -0
- package/client-dist/assets/index-LbeFv8ym.css +1 -0
- package/client-dist/assets/inter-latin-400-italic-D1l0FflY.woff2 +0 -0
- package/client-dist/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
- package/client-dist/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
- package/client-dist/assets/inter-latin-700-normal-Yt3aPRUw.woff2 +0 -0
- package/client-dist/assets/ja-DAkhkwQZ.js +6 -0
- package/client-dist/assets/zh-CN-B7lY0cc6.js +6 -0
- package/client-dist/index.html +3 -3
- package/client-dist/sw.js +96 -9
- package/dist/app.d.ts +25 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +350 -35
- package/dist/app.js.map +1 -1
- package/dist/augments/augment-generator.d.ts +1 -1
- package/dist/augments/augment-generator.d.ts.map +1 -1
- package/dist/augments/augment-generator.js +2 -2
- package/dist/augments/augment-generator.js.map +1 -1
- package/dist/augments/markdown-augments.d.ts +1 -1
- package/dist/augments/markdown-augments.d.ts.map +1 -1
- package/dist/augments/markdown-augments.js +5 -5
- package/dist/augments/markdown-augments.js.map +1 -1
- package/dist/augments/safe-markdown.d.ts +10 -0
- package/dist/augments/safe-markdown.d.ts.map +1 -1
- package/dist/augments/safe-markdown.js +146 -3
- package/dist/augments/safe-markdown.js.map +1 -1
- package/dist/augments/stream-augmenter.d.ts +3 -0
- package/dist/augments/stream-augmenter.d.ts.map +1 -1
- package/dist/augments/stream-augmenter.js +6 -3
- package/dist/augments/stream-augmenter.js.map +1 -1
- package/dist/augments/stream-coordinator.d.ts +5 -1
- package/dist/augments/stream-coordinator.d.ts.map +1 -1
- package/dist/augments/stream-coordinator.js +6 -4
- package/dist/augments/stream-coordinator.js.map +1 -1
- package/dist/augments/task-list-augments.d.ts +27 -0
- package/dist/augments/task-list-augments.d.ts.map +1 -0
- package/dist/augments/task-list-augments.js +360 -0
- package/dist/augments/task-list-augments.js.map +1 -0
- package/dist/cli.d.ts +1 -17
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +22 -8
- package/dist/cli.js.map +1 -1
- package/dist/codex/codeModeExec.d.ts +27 -0
- package/dist/codex/codeModeExec.d.ts.map +1 -0
- package/dist/codex/codeModeExec.js +264 -0
- package/dist/codex/codeModeExec.js.map +1 -0
- package/dist/codex/correlationDebugLogger.d.ts.map +1 -1
- package/dist/codex/correlationDebugLogger.js +36 -8
- package/dist/codex/correlationDebugLogger.js.map +1 -1
- package/dist/codex/displayActions.d.ts +48 -0
- package/dist/codex/displayActions.d.ts.map +1 -0
- package/dist/codex/displayActions.js +674 -0
- package/dist/codex/displayActions.js.map +1 -0
- package/dist/codex/normalization.d.ts +10 -6
- package/dist/codex/normalization.d.ts.map +1 -1
- package/dist/codex/normalization.js +94 -261
- package/dist/codex/normalization.js.map +1 -1
- package/dist/config.d.ts +49 -6
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +55 -14
- package/dist/config.js.map +1 -1
- package/dist/defaults.d.ts +3 -0
- package/dist/defaults.d.ts.map +1 -0
- package/dist/defaults.js +3 -0
- package/dist/defaults.js.map +1 -0
- package/dist/device/DeviceBridgeService.js +1 -1
- package/dist/device/DeviceBridgeService.js.map +1 -1
- package/dist/envSettings.d.ts +64 -0
- package/dist/envSettings.d.ts.map +1 -0
- package/dist/envSettings.js +553 -0
- package/dist/envSettings.js.map +1 -0
- package/dist/frontend/static.d.ts.map +1 -1
- package/dist/frontend/static.js +3 -1
- package/dist/frontend/static.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +190 -14
- package/dist/index.js.map +1 -1
- package/dist/indexes/SessionDiscoveryIndex.d.ts +78 -0
- package/dist/indexes/SessionDiscoveryIndex.d.ts.map +1 -0
- package/dist/indexes/SessionDiscoveryIndex.js +223 -0
- package/dist/indexes/SessionDiscoveryIndex.js.map +1 -0
- package/dist/indexes/SessionIndexService.d.ts +114 -1
- package/dist/indexes/SessionIndexService.d.ts.map +1 -1
- package/dist/indexes/SessionIndexService.js +875 -105
- package/dist/indexes/SessionIndexService.js.map +1 -1
- package/dist/indexes/index.d.ts +2 -1
- package/dist/indexes/index.d.ts.map +1 -1
- package/dist/indexes/index.js +1 -0
- package/dist/indexes/index.js.map +1 -1
- package/dist/indexes/types.d.ts +26 -0
- package/dist/indexes/types.d.ts.map +1 -1
- package/dist/logging/logger.d.ts.map +1 -1
- package/dist/logging/logger.js +2 -3
- package/dist/logging/logger.js.map +1 -1
- package/dist/maintenance/server.d.ts.map +1 -1
- package/dist/maintenance/server.js +8 -11
- package/dist/maintenance/server.js.map +1 -1
- package/dist/metadata/ProjectMetadataService.d.ts +7 -0
- package/dist/metadata/ProjectMetadataService.d.ts.map +1 -1
- package/dist/metadata/ProjectMetadataService.js +63 -19
- package/dist/metadata/ProjectMetadataService.js.map +1 -1
- package/dist/metadata/SessionMetadataService.d.ts +82 -3
- package/dist/metadata/SessionMetadataService.d.ts.map +1 -1
- package/dist/metadata/SessionMetadataService.js +233 -17
- package/dist/metadata/SessionMetadataService.js.map +1 -1
- package/dist/middleware/file-access.d.ts +66 -0
- package/dist/middleware/file-access.d.ts.map +1 -0
- package/dist/middleware/file-access.js +112 -0
- package/dist/middleware/file-access.js.map +1 -0
- package/dist/projects/codex-scanner.d.ts +28 -1
- package/dist/projects/codex-scanner.d.ts.map +1 -1
- package/dist/projects/codex-scanner.js +149 -39
- package/dist/projects/codex-scanner.js.map +1 -1
- package/dist/projects/gemini-scanner.d.ts.map +1 -1
- package/dist/projects/gemini-scanner.js +59 -6
- package/dist/projects/gemini-scanner.js.map +1 -1
- package/dist/projects/paths.d.ts +15 -1
- package/dist/projects/paths.d.ts.map +1 -1
- package/dist/projects/paths.js +69 -23
- package/dist/projects/paths.js.map +1 -1
- package/dist/projects/scanner.d.ts +5 -0
- package/dist/projects/scanner.d.ts.map +1 -1
- package/dist/projects/scanner.js +136 -28
- package/dist/projects/scanner.js.map +1 -1
- package/dist/push/InactivityPushNotifier.d.ts +61 -0
- package/dist/push/InactivityPushNotifier.d.ts.map +1 -0
- package/dist/push/InactivityPushNotifier.js +305 -0
- package/dist/push/InactivityPushNotifier.js.map +1 -0
- package/dist/push/PushNotifier.d.ts.map +1 -1
- package/dist/push/PushNotifier.js.map +1 -1
- package/dist/push/PushService.d.ts +7 -4
- package/dist/push/PushService.d.ts.map +1 -1
- package/dist/push/PushService.js +27 -7
- package/dist/push/PushService.js.map +1 -1
- package/dist/push/index.d.ts +2 -1
- package/dist/push/index.d.ts.map +1 -1
- package/dist/push/index.js +1 -0
- package/dist/push/index.js.map +1 -1
- package/dist/push/routes.d.ts.map +1 -1
- package/dist/push/routes.js +28 -1
- package/dist/push/routes.js.map +1 -1
- package/dist/push/types.d.ts +21 -3
- package/dist/push/types.d.ts.map +1 -1
- package/dist/push/types.js +2 -0
- package/dist/push/types.js.map +1 -1
- package/dist/routes/dev.d.ts +2 -0
- package/dist/routes/dev.d.ts.map +1 -1
- package/dist/routes/dev.js +25 -0
- package/dist/routes/dev.js.map +1 -1
- package/dist/routes/env-settings.d.ts +20 -0
- package/dist/routes/env-settings.d.ts.map +1 -0
- package/dist/routes/env-settings.js +25 -0
- package/dist/routes/env-settings.js.map +1 -0
- package/dist/routes/files.d.ts +9 -0
- package/dist/routes/files.d.ts.map +1 -1
- package/dist/routes/files.js +98 -10
- package/dist/routes/files.js.map +1 -1
- package/dist/routes/git-status.d.ts.map +1 -1
- package/dist/routes/git-status.js +691 -23
- package/dist/routes/git-status.js.map +1 -1
- package/dist/routes/global-sessions.d.ts +11 -1
- package/dist/routes/global-sessions.d.ts.map +1 -1
- package/dist/routes/global-sessions.js +53 -33
- package/dist/routes/global-sessions.js.map +1 -1
- package/dist/routes/inbox.d.ts +10 -1
- package/dist/routes/inbox.d.ts.map +1 -1
- package/dist/routes/inbox.js +30 -3
- package/dist/routes/inbox.js.map +1 -1
- package/dist/routes/local-file.d.ts +6 -2
- package/dist/routes/local-file.d.ts.map +1 -1
- package/dist/routes/local-file.js +13 -4
- package/dist/routes/local-file.js.map +1 -1
- package/dist/routes/local-image.d.ts +2 -1
- package/dist/routes/local-image.d.ts.map +1 -1
- package/dist/routes/local-image.js.map +1 -1
- package/dist/routes/local-resource-policy.d.ts +7 -1
- package/dist/routes/local-resource-policy.d.ts.map +1 -1
- package/dist/routes/local-resource-policy.js +0 -0
- package/dist/routes/local-resource-policy.js.map +1 -1
- package/dist/routes/processes.d.ts.map +1 -1
- package/dist/routes/processes.js +49 -11
- package/dist/routes/processes.js.map +1 -1
- package/dist/routes/project-queue-response.d.ts +26 -0
- package/dist/routes/project-queue-response.d.ts.map +1 -0
- package/dist/routes/project-queue-response.js +188 -0
- package/dist/routes/project-queue-response.js.map +1 -0
- package/dist/routes/project-queue.d.ts +5 -0
- package/dist/routes/project-queue.d.ts.map +1 -0
- package/dist/routes/project-queue.js +219 -0
- package/dist/routes/project-queue.js.map +1 -0
- package/dist/routes/projects.d.ts +6 -0
- package/dist/routes/projects.d.ts.map +1 -1
- package/dist/routes/projects.js +116 -28
- package/dist/routes/projects.js.map +1 -1
- package/dist/routes/providers.d.ts +5 -0
- package/dist/routes/providers.d.ts.map +1 -1
- package/dist/routes/providers.js +52 -33
- package/dist/routes/providers.js.map +1 -1
- package/dist/routes/public-shares.d.ts.map +1 -1
- package/dist/routes/public-shares.js +46 -17
- package/dist/routes/public-shares.js.map +1 -1
- package/dist/routes/recents.d.ts +3 -0
- package/dist/routes/recents.d.ts.map +1 -1
- package/dist/routes/recents.js +3 -1
- package/dist/routes/recents.js.map +1 -1
- package/dist/routes/server-admin.d.ts +9 -0
- package/dist/routes/server-admin.d.ts.map +1 -1
- package/dist/routes/server-admin.js +45 -7
- package/dist/routes/server-admin.js.map +1 -1
- package/dist/routes/session-claude-resume-guard.d.ts +16 -0
- package/dist/routes/session-claude-resume-guard.d.ts.map +1 -0
- package/dist/routes/session-claude-resume-guard.js +50 -0
- package/dist/routes/session-claude-resume-guard.js.map +1 -0
- package/dist/routes/session-compact-thresholds.d.ts +22 -0
- package/dist/routes/session-compact-thresholds.d.ts.map +1 -0
- package/dist/routes/session-compact-thresholds.js +35 -0
- package/dist/routes/session-compact-thresholds.js.map +1 -0
- package/dist/routes/session-index.d.ts +7 -0
- package/dist/routes/session-index.d.ts.map +1 -0
- package/dist/routes/session-index.js +9 -0
- package/dist/routes/session-index.js.map +1 -0
- package/dist/routes/session-list-options.d.ts +1 -1
- package/dist/routes/session-list-options.d.ts.map +1 -1
- package/dist/routes/session-list-options.js +1 -1
- package/dist/routes/session-list-options.js.map +1 -1
- package/dist/routes/session-metadata-patch.d.ts +24 -0
- package/dist/routes/session-metadata-patch.d.ts.map +1 -0
- package/dist/routes/session-metadata-patch.js +119 -0
- package/dist/routes/session-metadata-patch.js.map +1 -0
- package/dist/routes/session-project-routing.d.ts +25 -0
- package/dist/routes/session-project-routing.d.ts.map +1 -0
- package/dist/routes/session-project-routing.js +32 -0
- package/dist/routes/session-project-routing.js.map +1 -0
- package/dist/routes/session-provider-resolution.d.ts +28 -0
- package/dist/routes/session-provider-resolution.d.ts.map +1 -0
- package/dist/routes/session-provider-resolution.js +22 -0
- package/dist/routes/session-provider-resolution.js.map +1 -0
- package/dist/routes/session-queue-summaries.d.ts +21 -0
- package/dist/routes/session-queue-summaries.d.ts.map +1 -0
- package/dist/routes/session-queue-summaries.js +79 -0
- package/dist/routes/session-queue-summaries.js.map +1 -0
- package/dist/routes/session-recovered-queue.d.ts +43 -0
- package/dist/routes/session-recovered-queue.d.ts.map +1 -0
- package/dist/routes/session-recovered-queue.js +132 -0
- package/dist/routes/session-recovered-queue.js.map +1 -0
- package/dist/routes/session-request-helpers.d.ts +31 -0
- package/dist/routes/session-request-helpers.d.ts.map +1 -0
- package/dist/routes/session-request-helpers.js +212 -0
- package/dist/routes/session-request-helpers.js.map +1 -0
- package/dist/routes/session-thinking-options.d.ts +12 -0
- package/dist/routes/session-thinking-options.d.ts.map +1 -0
- package/dist/routes/session-thinking-options.js +7 -0
- package/dist/routes/session-thinking-options.js.map +1 -0
- package/dist/routes/sessions.d.ts +14 -1
- package/dist/routes/sessions.d.ts.map +1 -1
- package/dist/routes/sessions.js +1965 -679
- package/dist/routes/sessions.js.map +1 -1
- package/dist/routes/settings-parsers.d.ts +37 -0
- package/dist/routes/settings-parsers.d.ts.map +1 -0
- package/dist/routes/settings-parsers.js +896 -0
- package/dist/routes/settings-parsers.js.map +1 -0
- package/dist/routes/settings.d.ts +7 -1
- package/dist/routes/settings.d.ts.map +1 -1
- package/dist/routes/settings.js +114 -258
- package/dist/routes/settings.js.map +1 -1
- package/dist/routes/speech.d.ts +24 -2
- package/dist/routes/speech.d.ts.map +1 -1
- package/dist/routes/speech.js +539 -10
- package/dist/routes/speech.js.map +1 -1
- package/dist/routes/supervisor-queue.d.ts +6 -0
- package/dist/routes/supervisor-queue.d.ts.map +1 -0
- package/dist/routes/supervisor-queue.js +35 -0
- package/dist/routes/supervisor-queue.js.map +1 -0
- package/dist/routes/upload.d.ts +2 -0
- package/dist/routes/upload.d.ts.map +1 -1
- package/dist/routes/upload.js +190 -38
- package/dist/routes/upload.js.map +1 -1
- package/dist/routes/version.d.ts +16 -1
- package/dist/routes/version.d.ts.map +1 -1
- package/dist/routes/version.js +27 -8
- package/dist/routes/version.js.map +1 -1
- package/dist/routes/workstreams.d.ts +11 -0
- package/dist/routes/workstreams.d.ts.map +1 -0
- package/dist/routes/workstreams.js +144 -0
- package/dist/routes/workstreams.js.map +1 -0
- package/dist/routes/ws-message-router.d.ts +10 -1
- package/dist/routes/ws-message-router.d.ts.map +1 -1
- package/dist/routes/ws-message-router.js +43 -4
- package/dist/routes/ws-message-router.js.map +1 -1
- package/dist/routes/ws-relay-handlers.d.ts +27 -5
- package/dist/routes/ws-relay-handlers.d.ts.map +1 -1
- package/dist/routes/ws-relay-handlers.js +177 -19
- package/dist/routes/ws-relay-handlers.js.map +1 -1
- package/dist/routes/ws-relay.d.ts +19 -0
- package/dist/routes/ws-relay.d.ts.map +1 -1
- package/dist/routes/ws-relay.js +21 -7
- package/dist/routes/ws-relay.js.map +1 -1
- package/dist/sdk/cli-detection.d.ts +1 -1
- package/dist/sdk/cli-detection.d.ts.map +1 -1
- package/dist/sdk/cli-detection.js +47 -7
- package/dist/sdk/cli-detection.js.map +1 -1
- package/dist/sdk/messageLogger.d.ts.map +1 -1
- package/dist/sdk/messageLogger.js +38 -10
- package/dist/sdk/messageLogger.js.map +1 -1
- package/dist/sdk/messageQueue.d.ts +5 -0
- package/dist/sdk/messageQueue.d.ts.map +1 -1
- package/dist/sdk/messageQueue.js +47 -0
- package/dist/sdk/messageQueue.js.map +1 -1
- package/dist/sdk/providers/__mocks__/grok.d.ts +1 -1
- package/dist/sdk/providers/__mocks__/grok.d.ts.map +1 -1
- package/dist/sdk/providers/__mocks__/grok.js +1 -1
- package/dist/sdk/providers/__mocks__/grok.js.map +1 -1
- package/dist/sdk/providers/agentctl-session-env.d.ts +8 -0
- package/dist/sdk/providers/agentctl-session-env.d.ts.map +1 -0
- package/dist/sdk/providers/agentctl-session-env.js +52 -0
- package/dist/sdk/providers/agentctl-session-env.js.map +1 -0
- package/dist/sdk/providers/claude-ollama.d.ts +2 -1
- package/dist/sdk/providers/claude-ollama.d.ts.map +1 -1
- package/dist/sdk/providers/claude-ollama.js +1 -0
- package/dist/sdk/providers/claude-ollama.js.map +1 -1
- package/dist/sdk/providers/claude-retention.d.ts +19 -0
- package/dist/sdk/providers/claude-retention.d.ts.map +1 -0
- package/dist/sdk/providers/claude-retention.js +169 -0
- package/dist/sdk/providers/claude-retention.js.map +1 -0
- package/dist/sdk/providers/claude.d.ts +52 -5
- package/dist/sdk/providers/claude.d.ts.map +1 -1
- package/dist/sdk/providers/claude.js +593 -71
- package/dist/sdk/providers/claude.js.map +1 -1
- package/dist/sdk/providers/codex-model-catalog.d.ts +34 -0
- package/dist/sdk/providers/codex-model-catalog.d.ts.map +1 -0
- package/dist/sdk/providers/codex-model-catalog.js +378 -0
- package/dist/sdk/providers/codex-model-catalog.js.map +1 -0
- package/dist/sdk/providers/codex-notification-guards.d.ts +15 -0
- package/dist/sdk/providers/codex-notification-guards.d.ts.map +1 -0
- package/dist/sdk/providers/codex-notification-guards.js +159 -0
- package/dist/sdk/providers/codex-notification-guards.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/AgentMessageInputContent.d.ts +8 -0
- package/dist/sdk/providers/codex-protocol/generated/AgentMessageInputContent.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/AgentMessageInputContent.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/AgentMessageInputContent.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/ImageGenerationItem.d.ts +9 -0
- package/dist/sdk/providers/codex-protocol/generated/ImageGenerationItem.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/ImageGenerationItem.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/ImageGenerationItem.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/InternalChatMessageMetadataPassthrough.d.ts +10 -0
- package/dist/sdk/providers/codex-protocol/generated/InternalChatMessageMetadataPassthrough.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/InternalChatMessageMetadataPassthrough.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/InternalChatMessageMetadataPassthrough.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/LegacyAppPathString.d.ts +23 -0
- package/dist/sdk/providers/codex-protocol/generated/LegacyAppPathString.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/LegacyAppPathString.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/LegacyAppPathString.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/MultiAgentMode.d.ts +8 -0
- package/dist/sdk/providers/codex-protocol/generated/MultiAgentMode.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/MultiAgentMode.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/MultiAgentMode.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/ReasoningEffort.d.ts +1 -1
- package/dist/sdk/providers/codex-protocol/generated/ReasoningEffort.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/ResponseItem.d.ts +39 -1
- package/dist/sdk/providers/codex-protocol/generated/ResponseItem.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/ThreadId.d.ts +5 -0
- package/dist/sdk/providers/codex-protocol/generated/ThreadId.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/WebSearchItem.d.ts +7 -0
- package/dist/sdk/providers/codex-protocol/generated/WebSearchItem.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/WebSearchItem.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/WebSearchItem.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/AdditionalFileSystemPermissions.d.ts +3 -3
- package/dist/sdk/providers/codex-protocol/generated/v2/AdditionalFileSystemPermissions.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/AskForApproval.d.ts +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/AskForApproval.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/CapabilityRootLocation.d.ts +12 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/CapabilityRootLocation.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/CapabilityRootLocation.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/CapabilityRootLocation.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/CodexErrorInfo.d.ts +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/CodexErrorInfo.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/CommandExecutionRequestApprovalParams.d.ts +6 -2
- package/dist/sdk/providers/codex-protocol/generated/v2/CommandExecutionRequestApprovalParams.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolFunctionSpec.d.ts +8 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolFunctionSpec.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolFunctionSpec.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolFunctionSpec.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceSpec.d.ts +7 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceSpec.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceSpec.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceSpec.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceTool.d.ts +5 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceTool.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceTool.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceTool.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolSpec.d.ts +6 -7
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolSpec.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/FileSystemPath.d.ts +2 -2
- package/dist/sdk/providers/codex-protocol/generated/v2/FileSystemPath.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/McpToolCallAppContext.d.ts +9 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/McpToolCallAppContext.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/McpToolCallAppContext.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/McpToolCallAppContext.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/PermissionsRequestApprovalParams.d.ts +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/PermissionsRequestApprovalParams.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/SelectedCapabilityRoot.d.ts +15 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SelectedCapabilityRoot.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SelectedCapabilityRoot.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SelectedCapabilityRoot.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SortDirection.d.ts +2 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SortDirection.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SortDirection.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SortDirection.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SubAgentActivityKind.d.ts +2 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SubAgentActivityKind.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SubAgentActivityKind.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SubAgentActivityKind.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/Thread.d.ts +21 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/Thread.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartParams.d.ts +4 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartParams.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartParams.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartParams.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartResponse.d.ts +2 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartResponse.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartResponse.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartResponse.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadExtra.d.ts +5 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadExtra.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadExtra.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadExtra.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkParams.d.ts +71 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkParams.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkParams.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkParams.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkResponse.d.ts +46 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkResponse.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkResponse.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkResponse.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadHistoryMode.d.ts +2 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadHistoryMode.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadHistoryMode.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadHistoryMode.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadItem.d.ts +22 -12
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadItem.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadReadResponse.d.ts +5 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadReadResponse.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadReadResponse.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadReadResponse.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeInitialTurnsPageParams.d.ts +17 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeInitialTurnsPageParams.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeInitialTurnsPageParams.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeInitialTurnsPageParams.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeParams.d.ts +7 -7
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeParams.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeResponse.d.ts +13 -2
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeResponse.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackParams.d.ts +14 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackParams.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackParams.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackParams.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackResponse.d.ts +12 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackResponse.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackResponse.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackResponse.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadSource.d.ts +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadSource.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadStartParams.d.ts +23 -9
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadStartParams.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadStartResponse.d.ts +8 -2
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadStartResponse.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/ToolRequestUserInputParams.d.ts +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ToolRequestUserInputParams.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/Turn.d.ts +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/Turn.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnEnvironmentParams.d.ts +2 -2
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnEnvironmentParams.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnStartParams.d.ts +17 -5
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnStartParams.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnSteerParams.d.ts +8 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnSteerParams.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnsPage.d.ts +7 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnsPage.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnsPage.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnsPage.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/index.d.ts +7 -0
- package/dist/sdk/providers/codex-protocol/index.d.ts.map +1 -1
- package/dist/sdk/providers/codex-summary-helpers.d.ts +41 -0
- package/dist/sdk/providers/codex-summary-helpers.d.ts.map +1 -0
- package/dist/sdk/providers/codex-summary-helpers.js +207 -0
- package/dist/sdk/providers/codex-summary-helpers.js.map +1 -0
- package/dist/sdk/providers/codex.d.ts +23 -26
- package/dist/sdk/providers/codex.d.ts.map +1 -1
- package/dist/sdk/providers/codex.js +429 -623
- package/dist/sdk/providers/codex.js.map +1 -1
- package/dist/sdk/providers/env-filter.d.ts.map +1 -1
- package/dist/sdk/providers/env-filter.js +19 -1
- package/dist/sdk/providers/env-filter.js.map +1 -1
- package/dist/sdk/providers/gemini-tools.d.ts +28 -0
- package/dist/sdk/providers/gemini-tools.d.ts.map +1 -0
- package/dist/sdk/providers/gemini-tools.js +57 -0
- package/dist/sdk/providers/gemini-tools.js.map +1 -0
- package/dist/sdk/providers/gemini.d.ts.map +1 -1
- package/dist/sdk/providers/gemini.js +4 -2
- package/dist/sdk/providers/gemini.js.map +1 -1
- package/dist/sdk/providers/grok-acp.d.ts +1 -1
- package/dist/sdk/providers/grok-acp.d.ts.map +1 -1
- package/dist/sdk/providers/grok-acp.js +1 -1
- package/dist/sdk/providers/grok-acp.js.map +1 -1
- package/dist/sdk/providers/index.d.ts +1 -0
- package/dist/sdk/providers/index.d.ts.map +1 -1
- package/dist/sdk/providers/index.js +6 -0
- package/dist/sdk/providers/index.js.map +1 -1
- package/dist/sdk/providers/opencode-models.d.ts +17 -0
- package/dist/sdk/providers/opencode-models.d.ts.map +1 -0
- package/dist/sdk/providers/opencode-models.js +83 -0
- package/dist/sdk/providers/opencode-models.js.map +1 -0
- package/dist/sdk/providers/opencode-tools.d.ts +36 -0
- package/dist/sdk/providers/opencode-tools.d.ts.map +1 -0
- package/dist/sdk/providers/opencode-tools.js +78 -0
- package/dist/sdk/providers/opencode-tools.js.map +1 -0
- package/dist/sdk/providers/opencode.d.ts +44 -4
- package/dist/sdk/providers/opencode.d.ts.map +1 -1
- package/dist/sdk/providers/opencode.js +329 -102
- package/dist/sdk/providers/opencode.js.map +1 -1
- package/dist/sdk/providers/pi-rpc-client.d.ts +90 -0
- package/dist/sdk/providers/pi-rpc-client.d.ts.map +1 -0
- package/dist/sdk/providers/pi-rpc-client.js +168 -0
- package/dist/sdk/providers/pi-rpc-client.js.map +1 -0
- package/dist/sdk/providers/pi-tools.d.ts +38 -0
- package/dist/sdk/providers/pi-tools.d.ts.map +1 -0
- package/dist/sdk/providers/pi-tools.js +214 -0
- package/dist/sdk/providers/pi-tools.js.map +1 -0
- package/dist/sdk/providers/pi.d.ts +84 -0
- package/dist/sdk/providers/pi.d.ts.map +1 -0
- package/dist/sdk/providers/pi.js +686 -0
- package/dist/sdk/providers/pi.js.map +1 -0
- package/dist/sdk/providers/staticSlashCommands.d.ts +4 -0
- package/dist/sdk/providers/staticSlashCommands.d.ts.map +1 -0
- package/dist/sdk/providers/staticSlashCommands.js +14 -0
- package/dist/sdk/providers/staticSlashCommands.js.map +1 -0
- package/dist/sdk/providers/types.d.ts +144 -17
- package/dist/sdk/providers/types.d.ts.map +1 -1
- package/dist/sdk/remote-spawn.d.ts.map +1 -1
- package/dist/sdk/remote-spawn.js.map +1 -1
- package/dist/sdk/slashCommandEmulation.d.ts +9 -0
- package/dist/sdk/slashCommandEmulation.d.ts.map +1 -1
- package/dist/sdk/slashCommandEmulation.js +15 -0
- package/dist/sdk/slashCommandEmulation.js.map +1 -1
- package/dist/sdk/types.d.ts +43 -1
- package/dist/sdk/types.d.ts.map +1 -1
- package/dist/security/approvalAuditLog.d.ts +3 -2
- package/dist/security/approvalAuditLog.d.ts.map +1 -1
- package/dist/security/approvalAuditLog.js +62 -2
- package/dist/security/approvalAuditLog.js.map +1 -1
- package/dist/services/BrowserProfileService.d.ts +21 -0
- package/dist/services/BrowserProfileService.d.ts.map +1 -1
- package/dist/services/BrowserProfileService.js +74 -1
- package/dist/services/BrowserProfileService.js.map +1 -1
- package/dist/services/CacheMissBillingMonitor.d.ts +25 -0
- package/dist/services/CacheMissBillingMonitor.d.ts.map +1 -0
- package/dist/services/CacheMissBillingMonitor.js +179 -0
- package/dist/services/CacheMissBillingMonitor.js.map +1 -0
- package/dist/services/CodexUpdateChecker.d.ts.map +1 -1
- package/dist/services/CodexUpdateChecker.js +3 -2
- package/dist/services/CodexUpdateChecker.js.map +1 -1
- package/dist/services/ModelInfoService.d.ts +58 -9
- package/dist/services/ModelInfoService.d.ts.map +1 -1
- package/dist/services/ModelInfoService.js +127 -14
- package/dist/services/ModelInfoService.js.map +1 -1
- package/dist/services/ProjectQueueScheduler.d.ts +91 -0
- package/dist/services/ProjectQueueScheduler.d.ts.map +1 -0
- package/dist/services/ProjectQueueScheduler.js +404 -0
- package/dist/services/ProjectQueueScheduler.js.map +1 -0
- package/dist/services/ProjectQueueService.d.ts +60 -0
- package/dist/services/ProjectQueueService.d.ts.map +1 -0
- package/dist/services/ProjectQueueService.js +806 -0
- package/dist/services/ProjectQueueService.js.map +1 -0
- package/dist/services/RelayClientService.d.ts +5 -0
- package/dist/services/RelayClientService.d.ts.map +1 -1
- package/dist/services/RelayClientService.js +26 -12
- package/dist/services/RelayClientService.js.map +1 -1
- package/dist/services/SafeRestartService.d.ts +48 -0
- package/dist/services/SafeRestartService.d.ts.map +1 -0
- package/dist/services/SafeRestartService.js +173 -0
- package/dist/services/SafeRestartService.js.map +1 -0
- package/dist/services/ServerSettingsService.d.ts +41 -1
- package/dist/services/ServerSettingsService.d.ts.map +1 -1
- package/dist/services/ServerSettingsService.js +110 -1
- package/dist/services/ServerSettingsService.js.map +1 -1
- package/dist/services/SessionQueuePersistenceService.d.ts +55 -0
- package/dist/services/SessionQueuePersistenceService.d.ts.map +1 -0
- package/dist/services/SessionQueuePersistenceService.js +264 -0
- package/dist/services/SessionQueuePersistenceService.js.map +1 -0
- package/dist/services/WorkstreamService.d.ts +92 -0
- package/dist/services/WorkstreamService.d.ts.map +1 -0
- package/dist/services/WorkstreamService.js +627 -0
- package/dist/services/WorkstreamService.js.map +1 -0
- package/dist/services/index.d.ts +4 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +4 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/projectWorkIdle.d.ts +42 -0
- package/dist/services/projectWorkIdle.d.ts.map +1 -0
- package/dist/services/projectWorkIdle.js +50 -0
- package/dist/services/projectWorkIdle.js.map +1 -0
- package/dist/services/voice/SpeechBackend.d.ts +18 -1
- package/dist/services/voice/SpeechBackend.d.ts.map +1 -1
- package/dist/services/voice/SpeechBackend.js +3 -0
- package/dist/services/voice/SpeechBackend.js.map +1 -1
- package/dist/services/voice/audioRetention.d.ts +20 -0
- package/dist/services/voice/audioRetention.d.ts.map +1 -1
- package/dist/services/voice/audioRetention.js +2 -0
- package/dist/services/voice/audioRetention.js.map +1 -1
- package/dist/services/voice/deepgramBackend.d.ts.map +1 -1
- package/dist/services/voice/deepgramBackend.js +4 -1
- package/dist/services/voice/deepgramBackend.js.map +1 -1
- package/dist/services/voice/localNemoBackend.d.ts +31 -0
- package/dist/services/voice/localNemoBackend.d.ts.map +1 -0
- package/dist/services/voice/localNemoBackend.js +181 -0
- package/dist/services/voice/localNemoBackend.js.map +1 -0
- package/dist/services/voice/localParakeetBackend.d.ts +31 -0
- package/dist/services/voice/localParakeetBackend.d.ts.map +1 -0
- package/dist/services/voice/localParakeetBackend.js +180 -0
- package/dist/services/voice/localParakeetBackend.js.map +1 -0
- package/dist/services/voice/localSttRuntime.d.ts +21 -0
- package/dist/services/voice/localSttRuntime.d.ts.map +1 -0
- package/dist/services/voice/localSttRuntime.js +87 -0
- package/dist/services/voice/localSttRuntime.js.map +1 -0
- package/dist/services/voice/localWhisperBackend.d.ts +2 -1
- package/dist/services/voice/localWhisperBackend.d.ts.map +1 -1
- package/dist/services/voice/localWhisperBackend.js +47 -34
- package/dist/services/voice/localWhisperBackend.js.map +1 -1
- package/dist/services/voice/nemo_worker.py +232 -0
- package/dist/services/voice/parakeet_worker.py +151 -0
- package/dist/services/voice/registry.d.ts +19 -4
- package/dist/services/voice/registry.d.ts.map +1 -1
- package/dist/services/voice/registry.js +72 -22
- package/dist/services/voice/registry.js.map +1 -1
- package/dist/services/voice/serialQueue.d.ts +17 -0
- package/dist/services/voice/serialQueue.d.ts.map +1 -0
- package/dist/services/voice/serialQueue.js +24 -0
- package/dist/services/voice/serialQueue.js.map +1 -0
- package/dist/services/voice/whisper_worker.py +94 -0
- package/dist/services/voice/xaiSttBackend.d.ts +1 -1
- package/dist/services/voice/xaiSttBackend.d.ts.map +1 -1
- package/dist/services/voice/xaiSttBackend.js +15 -3
- package/dist/services/voice/xaiSttBackend.js.map +1 -1
- package/dist/sessions/agent-excerpt.d.ts +29 -0
- package/dist/sessions/agent-excerpt.d.ts.map +1 -0
- package/dist/sessions/agent-excerpt.js +128 -0
- package/dist/sessions/agent-excerpt.js.map +1 -0
- package/dist/sessions/claude-messages.d.ts.map +1 -1
- package/dist/sessions/claude-messages.js +75 -4
- package/dist/sessions/claude-messages.js.map +1 -1
- package/dist/sessions/claude-summary.d.ts +33 -0
- package/dist/sessions/claude-summary.d.ts.map +1 -0
- package/dist/sessions/claude-summary.js +461 -0
- package/dist/sessions/claude-summary.js.map +1 -0
- package/dist/sessions/codex-discovery.d.ts +46 -0
- package/dist/sessions/codex-discovery.d.ts.map +1 -0
- package/dist/sessions/codex-discovery.js +269 -0
- package/dist/sessions/codex-discovery.js.map +1 -0
- package/dist/sessions/codex-reader.d.ts +96 -13
- package/dist/sessions/codex-reader.d.ts.map +1 -1
- package/dist/sessions/codex-reader.js +1070 -142
- package/dist/sessions/codex-reader.js.map +1 -1
- package/dist/sessions/dag.d.ts +25 -4
- package/dist/sessions/dag.d.ts.map +1 -1
- package/dist/sessions/dag.js +37 -4
- package/dist/sessions/dag.js.map +1 -1
- package/dist/sessions/gemini-reader.d.ts +3 -1
- package/dist/sessions/gemini-reader.d.ts.map +1 -1
- package/dist/sessions/gemini-reader.js +17 -8
- package/dist/sessions/gemini-reader.js.map +1 -1
- package/dist/sessions/grok-reader.d.ts +1 -0
- package/dist/sessions/grok-reader.d.ts.map +1 -1
- package/dist/sessions/grok-reader.js +11 -5
- package/dist/sessions/grok-reader.js.map +1 -1
- package/dist/sessions/normalization.d.ts +4 -1
- package/dist/sessions/normalization.d.ts.map +1 -1
- package/dist/sessions/normalization.js +109 -21
- package/dist/sessions/normalization.js.map +1 -1
- package/dist/sessions/null-reader.d.ts +31 -0
- package/dist/sessions/null-reader.d.ts.map +1 -0
- package/dist/sessions/null-reader.js +30 -0
- package/dist/sessions/null-reader.js.map +1 -0
- package/dist/sessions/opencode-db-reader.d.ts +66 -0
- package/dist/sessions/opencode-db-reader.d.ts.map +1 -0
- package/dist/sessions/opencode-db-reader.js +333 -0
- package/dist/sessions/opencode-db-reader.js.map +1 -0
- package/dist/sessions/opencode-reader.d.ts +50 -0
- package/dist/sessions/opencode-reader.d.ts.map +1 -1
- package/dist/sessions/opencode-reader.js +375 -71
- package/dist/sessions/opencode-reader.js.map +1 -1
- package/dist/sessions/pagination.d.ts +6 -0
- package/dist/sessions/pagination.d.ts.map +1 -1
- package/dist/sessions/pagination.js +158 -5
- package/dist/sessions/pagination.js.map +1 -1
- package/dist/sessions/persisted-augments.d.ts +2 -1
- package/dist/sessions/persisted-augments.d.ts.map +1 -1
- package/dist/sessions/persisted-augments.js +2 -2
- package/dist/sessions/persisted-augments.js.map +1 -1
- package/dist/sessions/pi-fork.d.ts +12 -0
- package/dist/sessions/pi-fork.d.ts.map +1 -0
- package/dist/sessions/pi-fork.js +125 -0
- package/dist/sessions/pi-fork.js.map +1 -0
- package/dist/sessions/pi-reader.d.ts +81 -0
- package/dist/sessions/pi-reader.d.ts.map +1 -0
- package/dist/sessions/pi-reader.js +413 -0
- package/dist/sessions/pi-reader.js.map +1 -0
- package/dist/sessions/provider-resolution.d.ts +10 -3
- package/dist/sessions/provider-resolution.d.ts.map +1 -1
- package/dist/sessions/provider-resolution.js +62 -6
- package/dist/sessions/provider-resolution.js.map +1 -1
- package/dist/sessions/reader.d.ts +17 -24
- package/dist/sessions/reader.d.ts.map +1 -1
- package/dist/sessions/reader.js +86 -157
- package/dist/sessions/reader.js.map +1 -1
- package/dist/sessions/recap-overlays.d.ts +38 -0
- package/dist/sessions/recap-overlays.d.ts.map +1 -0
- package/dist/sessions/recap-overlays.js +176 -0
- package/dist/sessions/recap-overlays.js.map +1 -0
- package/dist/sessions/summary-parser-worker-client.d.ts +80 -0
- package/dist/sessions/summary-parser-worker-client.d.ts.map +1 -0
- package/dist/sessions/summary-parser-worker-client.js +539 -0
- package/dist/sessions/summary-parser-worker-client.js.map +1 -0
- package/dist/sessions/summary-parser-worker-entry.d.ts +2 -0
- package/dist/sessions/summary-parser-worker-entry.d.ts.map +1 -0
- package/dist/sessions/summary-parser-worker-entry.js +29 -0
- package/dist/sessions/summary-parser-worker-entry.js.map +1 -0
- package/dist/sessions/summary-parser-worker-protocol.d.ts +105 -0
- package/dist/sessions/summary-parser-worker-protocol.d.ts.map +1 -0
- package/dist/sessions/summary-parser-worker-protocol.js +35 -0
- package/dist/sessions/summary-parser-worker-protocol.js.map +1 -0
- package/dist/sessions/summary-parser-worker-runner.d.ts +3 -0
- package/dist/sessions/summary-parser-worker-runner.d.ts.map +1 -0
- package/dist/sessions/summary-parser-worker-runner.js +158 -0
- package/dist/sessions/summary-parser-worker-runner.js.map +1 -0
- package/dist/sessions/types.d.ts +30 -1
- package/dist/sessions/types.d.ts.map +1 -1
- package/dist/startupEnv.d.ts +2 -0
- package/dist/startupEnv.d.ts.map +1 -0
- package/dist/startupEnv.js +97 -0
- package/dist/startupEnv.js.map +1 -0
- package/dist/subscriptions.d.ts.map +1 -1
- package/dist/subscriptions.js +28 -18
- package/dist/subscriptions.js.map +1 -1
- package/dist/supervisor/ExternalSessionTracker.d.ts +5 -1
- package/dist/supervisor/ExternalSessionTracker.d.ts.map +1 -1
- package/dist/supervisor/ExternalSessionTracker.js +98 -6
- package/dist/supervisor/ExternalSessionTracker.js.map +1 -1
- package/dist/supervisor/Process.d.ts +259 -30
- package/dist/supervisor/Process.d.ts.map +1 -1
- package/dist/supervisor/Process.js +1282 -229
- package/dist/supervisor/Process.js.map +1 -1
- package/dist/supervisor/Supervisor.d.ts +201 -5
- package/dist/supervisor/Supervisor.d.ts.map +1 -1
- package/dist/supervisor/Supervisor.js +1074 -55
- package/dist/supervisor/Supervisor.js.map +1 -1
- package/dist/supervisor/WorkerQueue.d.ts +3 -1
- package/dist/supervisor/WorkerQueue.d.ts.map +1 -1
- package/dist/supervisor/WorkerQueue.js +1 -0
- package/dist/supervisor/WorkerQueue.js.map +1 -1
- package/dist/supervisor/composeTimeAnchor.d.ts +36 -0
- package/dist/supervisor/composeTimeAnchor.d.ts.map +1 -0
- package/dist/supervisor/composeTimeAnchor.js +51 -0
- package/dist/supervisor/composeTimeAnchor.js.map +1 -0
- package/dist/supervisor/deferredDeliverySettings.d.ts +23 -0
- package/dist/supervisor/deferredDeliverySettings.d.ts.map +1 -0
- package/dist/supervisor/deferredDeliverySettings.js +40 -0
- package/dist/supervisor/deferredDeliverySettings.js.map +1 -0
- package/dist/supervisor/liveness.d.ts +5 -2
- package/dist/supervisor/liveness.d.ts.map +1 -1
- package/dist/supervisor/liveness.js +40 -2
- package/dist/supervisor/liveness.js.map +1 -1
- package/dist/supervisor/types.d.ts +56 -5
- package/dist/supervisor/types.d.ts.map +1 -1
- package/dist/supervisor/types.js +0 -2
- package/dist/supervisor/types.js.map +1 -1
- package/dist/uploads/AttachmentStagingService.d.ts +94 -0
- package/dist/uploads/AttachmentStagingService.d.ts.map +1 -0
- package/dist/uploads/AttachmentStagingService.js +673 -0
- package/dist/uploads/AttachmentStagingService.js.map +1 -0
- package/dist/uploads/index.d.ts +2 -0
- package/dist/uploads/index.d.ts.map +1 -1
- package/dist/uploads/index.js +1 -0
- package/dist/uploads/index.js.map +1 -1
- package/dist/uploads/manager.d.ts +1 -0
- package/dist/uploads/manager.d.ts.map +1 -1
- package/dist/uploads/manager.js +72 -12
- package/dist/uploads/manager.js.map +1 -1
- package/dist/utils/codexRolloutFiles.d.ts +16 -0
- package/dist/utils/codexRolloutFiles.d.ts.map +1 -0
- package/dist/utils/codexRolloutFiles.js +45 -0
- package/dist/utils/codexRolloutFiles.js.map +1 -0
- package/dist/utils/jsonl.d.ts +8 -0
- package/dist/utils/jsonl.d.ts.map +1 -1
- package/dist/utils/jsonl.js +158 -5
- package/dist/utils/jsonl.js.map +1 -1
- package/dist/utils/publicShareViewerUrl.d.ts.map +1 -1
- package/dist/utils/publicShareViewerUrl.js +2 -15
- package/dist/utils/publicShareViewerUrl.js.map +1 -1
- package/dist/watcher/EventBus.d.ts +42 -4
- package/dist/watcher/EventBus.d.ts.map +1 -1
- package/dist/watcher/EventBus.js.map +1 -1
- package/dist/watcher/FileWatcher.d.ts +47 -0
- package/dist/watcher/FileWatcher.d.ts.map +1 -1
- package/dist/watcher/FileWatcher.js +185 -14
- package/dist/watcher/FileWatcher.js.map +1 -1
- package/dist/watcher/index.d.ts +2 -2
- package/dist/watcher/index.d.ts.map +1 -1
- package/dist/watcher/index.js.map +1 -1
- package/dist/yaModuleEnv.d.ts +6 -6
- package/dist/yaModuleEnv.d.ts.map +1 -1
- package/dist/yaModuleEnv.js +12 -12
- package/dist/yaModuleEnv.js.map +1 -1
- package/package.json +5 -6
- package/client-dist/assets/de-BuEb60Yc.js +0 -6
- package/client-dist/assets/es-CRlmPKnE.js +0 -6
- package/client-dist/assets/fr-Cglgjc2X.js +0 -6
- package/client-dist/assets/index-BNj7ibmq.js +0 -524
- package/client-dist/assets/index-CAmsUazi.css +0 -1
- package/client-dist/assets/ja-DMb9mFPv.js +0 -6
- package/client-dist/assets/zh-CN-D1tbfamz.js +0 -6
|
@@ -19,6 +19,8 @@ import { parseOpenCodeSSEEvent } from "../../../bundled/@yep-anywhere/shared/dis
|
|
|
19
19
|
import { getLogger } from "../../logging/logger.js";
|
|
20
20
|
import { whichCommand } from "../cli-detection.js";
|
|
21
21
|
import { MessageQueue } from "../messageQueue.js";
|
|
22
|
+
import { mapOpenCodeQuestionAnswers, normalizeOpenCodeTool, } from "./opencode-tools.js";
|
|
23
|
+
import { getLocalGlmModelDescription, LOCAL_GLM_MODEL_PREFIX, parseOpenCodeModelSelection, parseOpenCodeModelVariants, } from "./opencode-models.js";
|
|
22
24
|
const execAsync = promisify(exec);
|
|
23
25
|
function execFileUtf8(file, args, options) {
|
|
24
26
|
return new Promise((resolve, reject) => {
|
|
@@ -33,47 +35,14 @@ function execFileUtf8(file, args, options) {
|
|
|
33
35
|
}
|
|
34
36
|
/** Port counter for unique port assignment */
|
|
35
37
|
let nextPort = 14100;
|
|
36
|
-
const LOCAL_GLM_MODEL_PREFIX = "local-glm/";
|
|
37
|
-
function getLocalGlmModelDescription(modelId) {
|
|
38
|
-
const servedModelName = modelId.slice(LOCAL_GLM_MODEL_PREFIX.length);
|
|
39
|
-
const vllmModelArg = servedModelName === "Qwen/Qwen3.6-27B"
|
|
40
|
-
? "Qwen/Qwen3.6-27B-FP8"
|
|
41
|
-
: servedModelName;
|
|
42
|
-
const command = [
|
|
43
|
-
"pixi run vllm serve",
|
|
44
|
-
vllmModelArg,
|
|
45
|
-
"--served-model-name",
|
|
46
|
-
servedModelName,
|
|
47
|
-
"--tool-call-parser qwen3_coder",
|
|
48
|
-
"--reasoning-parser qwen3",
|
|
49
|
-
"--enable-auto-tool-choice",
|
|
50
|
-
"--port 8001",
|
|
51
|
-
].join(" ");
|
|
52
|
-
return `Start matching vLLM server: ${command}`;
|
|
53
|
-
}
|
|
54
38
|
/**
|
|
55
39
|
* Get next available port for OpenCode server.
|
|
56
40
|
*/
|
|
57
41
|
function getNextPort() {
|
|
58
42
|
return nextPort++;
|
|
59
43
|
}
|
|
60
|
-
function parseOpenCodeModelSelection(model) {
|
|
61
|
-
if (!model || model === "default" || model === "auto") {
|
|
62
|
-
return undefined;
|
|
63
|
-
}
|
|
64
|
-
const slashIndex = model.indexOf("/");
|
|
65
|
-
if (slashIndex <= 0 || slashIndex === model.length - 1) {
|
|
66
|
-
throw new Error(`OpenCode model must use provider/model format, got "${model}"`);
|
|
67
|
-
}
|
|
68
|
-
return {
|
|
69
|
-
providerID: model.slice(0, slashIndex),
|
|
70
|
-
modelID: model.slice(slashIndex + 1),
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
44
|
function isProcessStillAlive(process) {
|
|
74
|
-
return (!process.killed &&
|
|
75
|
-
process.exitCode === null &&
|
|
76
|
-
process.signalCode === null);
|
|
45
|
+
return (!process.killed && process.exitCode === null && process.signalCode === null);
|
|
77
46
|
}
|
|
78
47
|
function updateOpenCodeRuntimeEvent(runtime, event) {
|
|
79
48
|
const now = new Date();
|
|
@@ -103,6 +72,9 @@ function getOpenCodeEventSessionId(event) {
|
|
|
103
72
|
return event.properties.part.sessionID;
|
|
104
73
|
case "message.part.delta":
|
|
105
74
|
return event.properties.sessionID;
|
|
75
|
+
case "permission.asked":
|
|
76
|
+
case "question.asked":
|
|
77
|
+
return event.properties.sessionID;
|
|
106
78
|
default:
|
|
107
79
|
return undefined;
|
|
108
80
|
}
|
|
@@ -116,14 +88,15 @@ export class OpenCodeProvider {
|
|
|
116
88
|
name = "opencode";
|
|
117
89
|
displayName = "OpenCode";
|
|
118
90
|
supportsPermissionMode = false; // OpenCode has its own permission model
|
|
119
|
-
|
|
91
|
+
// OpenCode exposes per-model reasoning effort via model "variants"
|
|
92
|
+
// (low/medium/high/xhigh/max); the effort selector is gated per-model by
|
|
93
|
+
// ModelInfo.supportsEffort/supportedEffortLevels from getAvailableModels.
|
|
94
|
+
supportsThinkingToggle = true;
|
|
120
95
|
supportsSlashCommands = false;
|
|
121
96
|
supportsSteering = false;
|
|
122
97
|
opencodePath;
|
|
123
|
-
timeout;
|
|
124
98
|
constructor(config = {}) {
|
|
125
99
|
this.opencodePath = config.opencodePath;
|
|
126
|
-
this.timeout = config.timeout ?? 300000; // 5 minutes default
|
|
127
100
|
}
|
|
128
101
|
/**
|
|
129
102
|
* Check if the OpenCode CLI is installed.
|
|
@@ -173,14 +146,20 @@ export class OpenCodeProvider {
|
|
|
173
146
|
encoding: "utf-8",
|
|
174
147
|
timeout: 10000,
|
|
175
148
|
});
|
|
149
|
+
// Best-effort: learn each model's reasoning-effort variants so the UI can
|
|
150
|
+
// offer an effort selector for models that support it (e.g. copilot opus).
|
|
151
|
+
const variantMap = await this.getModelVariantMap(opencodePath);
|
|
176
152
|
const discoveredModels = [];
|
|
177
153
|
for (const line of result.split("\n")) {
|
|
178
154
|
const trimmed = line.trim();
|
|
179
155
|
if (trimmed && !trimmed.startsWith("─")) {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
156
|
+
const model = { id: trimmed, name: trimmed };
|
|
157
|
+
const effortLevels = variantMap.get(trimmed);
|
|
158
|
+
if (effortLevels && effortLevels.length > 0) {
|
|
159
|
+
model.supportsEffort = true;
|
|
160
|
+
model.supportedEffortLevels = effortLevels;
|
|
161
|
+
}
|
|
162
|
+
discoveredModels.push(model);
|
|
184
163
|
}
|
|
185
164
|
}
|
|
186
165
|
const localGlmModels = discoveredModels
|
|
@@ -208,6 +187,20 @@ export class OpenCodeProvider {
|
|
|
208
187
|
];
|
|
209
188
|
}
|
|
210
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* Best-effort fetch of per-model reasoning-effort variants from
|
|
192
|
+
* `opencode models --verbose`. Returns an empty map on any failure so model
|
|
193
|
+
* discovery still works without effort metadata.
|
|
194
|
+
*/
|
|
195
|
+
async getModelVariantMap(opencodePath) {
|
|
196
|
+
try {
|
|
197
|
+
const { stdout } = await execFileUtf8(opencodePath, ["models", "--verbose"], { encoding: "utf-8", timeout: 15000 });
|
|
198
|
+
return parseOpenCodeModelVariants(stdout);
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
return new Map();
|
|
202
|
+
}
|
|
203
|
+
}
|
|
211
204
|
/**
|
|
212
205
|
* Start a new OpenCode session.
|
|
213
206
|
*
|
|
@@ -260,7 +253,10 @@ export class OpenCodeProvider {
|
|
|
260
253
|
try {
|
|
261
254
|
const sessionResponse = await fetch(`${baseUrl}/session`, {
|
|
262
255
|
method: "POST",
|
|
263
|
-
headers: {
|
|
256
|
+
headers: {
|
|
257
|
+
Accept: "application/json",
|
|
258
|
+
"Content-Type": "application/json",
|
|
259
|
+
},
|
|
264
260
|
body: JSON.stringify({ title: "Yep Anywhere Session" }),
|
|
265
261
|
});
|
|
266
262
|
if (!sessionResponse.ok) {
|
|
@@ -296,6 +292,12 @@ export class OpenCodeProvider {
|
|
|
296
292
|
iterator,
|
|
297
293
|
queue,
|
|
298
294
|
abort: () => abortController.abort(),
|
|
295
|
+
// Graceful turn interrupt: stop the in-flight turn via the server's own
|
|
296
|
+
// abort endpoint and keep the per-session `opencode serve` alive so the
|
|
297
|
+
// session can continue. (abort(), by contrast, ends the session by
|
|
298
|
+
// killing the server.) The SSE loop already treats the resulting
|
|
299
|
+
// session.idle as turn-complete.
|
|
300
|
+
interrupt: () => this.interruptTurn(runtime),
|
|
299
301
|
isProcessAlive: () => isProcessStillAlive(serverProcess),
|
|
300
302
|
probeLiveness: () => this.probeLiveness(runtime),
|
|
301
303
|
getProviderActivity: () => this.getProviderActivity(runtime),
|
|
@@ -304,6 +306,29 @@ export class OpenCodeProvider {
|
|
|
304
306
|
},
|
|
305
307
|
};
|
|
306
308
|
}
|
|
309
|
+
/**
|
|
310
|
+
* Stop the current OpenCode turn without killing the per-session server,
|
|
311
|
+
* via POST /session/:id/abort. Returns true when the request succeeds.
|
|
312
|
+
*/
|
|
313
|
+
async interruptTurn(runtime) {
|
|
314
|
+
const log = getLogger();
|
|
315
|
+
try {
|
|
316
|
+
const response = await fetch(`${runtime.baseUrl}/session/${runtime.opencodeSessionId}/abort`, {
|
|
317
|
+
method: "POST",
|
|
318
|
+
headers: { Accept: "application/json" },
|
|
319
|
+
signal: AbortSignal.timeout(5000),
|
|
320
|
+
});
|
|
321
|
+
if (!response.ok) {
|
|
322
|
+
log.warn({ status: response.status, sessionId: runtime.opencodeSessionId }, "OpenCode turn abort request failed");
|
|
323
|
+
return false;
|
|
324
|
+
}
|
|
325
|
+
return true;
|
|
326
|
+
}
|
|
327
|
+
catch (error) {
|
|
328
|
+
log.warn({ error, sessionId: runtime.opencodeSessionId }, "OpenCode turn abort request errored");
|
|
329
|
+
return false;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
307
332
|
/**
|
|
308
333
|
* Return a minimal AgentSession whose iterator immediately yields one error message.
|
|
309
334
|
*/
|
|
@@ -461,6 +486,7 @@ export class OpenCodeProvider {
|
|
|
461
486
|
if (signal.aborted)
|
|
462
487
|
break;
|
|
463
488
|
let userPrompt = this.extractTextFromMessage(message);
|
|
489
|
+
const imageParts = this.extractImageFileParts(message);
|
|
464
490
|
if (isFirstNewMessage && options.globalInstructions) {
|
|
465
491
|
userPrompt = `[Global context]\n${options.globalInstructions}\n\n---\n\n${userPrompt}`;
|
|
466
492
|
}
|
|
@@ -474,7 +500,7 @@ export class OpenCodeProvider {
|
|
|
474
500
|
content: userPrompt,
|
|
475
501
|
},
|
|
476
502
|
};
|
|
477
|
-
yield* this.sendMessageAndStream(runtime, sessionId, userPrompt, options.model, signal);
|
|
503
|
+
yield* this.sendMessageAndStream(runtime, sessionId, userPrompt, options.model, signal, options.onToolApproval, options.effort, imageParts);
|
|
478
504
|
}
|
|
479
505
|
}
|
|
480
506
|
finally {
|
|
@@ -488,7 +514,7 @@ export class OpenCodeProvider {
|
|
|
488
514
|
/**
|
|
489
515
|
* Send a message to OpenCode and stream the response via SSE.
|
|
490
516
|
*/
|
|
491
|
-
async *sendMessageAndStream(runtime, sessionId, text, model, signal) {
|
|
517
|
+
async *sendMessageAndStream(runtime, sessionId, text, model, signal, onToolApproval, effort, imageParts = []) {
|
|
492
518
|
const log = getLogger();
|
|
493
519
|
let modelSelection;
|
|
494
520
|
try {
|
|
@@ -505,12 +531,13 @@ export class OpenCodeProvider {
|
|
|
505
531
|
const sseUrl = `${runtime.baseUrl}/event?directory=${encodeURIComponent(runtime.cwd)}`;
|
|
506
532
|
const sseController = new AbortController();
|
|
507
533
|
const streamState = {
|
|
508
|
-
currentAssistantMessageId: null,
|
|
509
534
|
messageRolesById: new Map(),
|
|
510
535
|
partMessageIdsById: new Map(),
|
|
511
536
|
partTypesById: new Map(),
|
|
512
537
|
partTextById: new Map(),
|
|
513
538
|
partSentLengthsById: new Map(),
|
|
539
|
+
toolUseEmitted: new Set(),
|
|
540
|
+
toolResultEmitted: new Set(),
|
|
514
541
|
sawAssistantContent: false,
|
|
515
542
|
usedPostBodyFallback: false,
|
|
516
543
|
};
|
|
@@ -564,17 +591,26 @@ export class OpenCodeProvider {
|
|
|
564
591
|
const messageEvent = event;
|
|
565
592
|
streamState.messageRolesById.set(messageEvent.properties.info.id, messageEvent.properties.info.role);
|
|
566
593
|
}
|
|
567
|
-
//
|
|
568
|
-
|
|
569
|
-
|
|
594
|
+
// Interactive prompts: route to YA's approval/question UI and POST
|
|
595
|
+
// the reply back to opencode. Fire-and-forget so the SSE read loop
|
|
596
|
+
// keeps draining (the tool's own progress/result events follow the
|
|
597
|
+
// reply). The handlers never throw into the loop.
|
|
598
|
+
if (event.type === "permission.asked") {
|
|
599
|
+
void this.handlePermissionAsked(runtime, event, onToolApproval, signal);
|
|
600
|
+
continue;
|
|
601
|
+
}
|
|
602
|
+
if (event.type === "question.asked") {
|
|
603
|
+
void this.handleQuestionAsked(runtime, event, onToolApproval, signal);
|
|
604
|
+
continue;
|
|
605
|
+
}
|
|
606
|
+
// Convert to SDK messages (a single unified tool part can yield
|
|
607
|
+
// both a tool_use and a tool_result, so this is an array).
|
|
608
|
+
const sdkMessages = this.convertSSEEventToSDKMessage(event, sessionId, streamState);
|
|
609
|
+
for (const sdkMessage of sdkMessages) {
|
|
570
610
|
if (sdkMessage.type === "assistant") {
|
|
571
611
|
if (streamState.usedPostBodyFallback) {
|
|
572
612
|
continue;
|
|
573
613
|
}
|
|
574
|
-
if ("uuid" in sdkMessage && sdkMessage.uuid) {
|
|
575
|
-
streamState.currentAssistantMessageId =
|
|
576
|
-
sdkMessage.uuid;
|
|
577
|
-
}
|
|
578
614
|
streamState.sawAssistantContent = true;
|
|
579
615
|
}
|
|
580
616
|
state.eventBuffer.push(sdkMessage);
|
|
@@ -618,7 +654,12 @@ export class OpenCodeProvider {
|
|
|
618
654
|
},
|
|
619
655
|
body: JSON.stringify({
|
|
620
656
|
...(modelSelection ? { model: modelSelection } : {}),
|
|
621
|
-
|
|
657
|
+
// OpenCode selects reasoning effort by naming a model variant; the
|
|
658
|
+
// variant keys (low/medium/high/xhigh/max) coincide with YA's
|
|
659
|
+
// EffortLevel. Only sent when YA provides an effort (the UI gates
|
|
660
|
+
// this to models advertised with supportedEffortLevels).
|
|
661
|
+
...(effort ? { variant: effort } : {}),
|
|
662
|
+
parts: [{ type: "text", text }, ...imageParts],
|
|
622
663
|
}),
|
|
623
664
|
signal,
|
|
624
665
|
});
|
|
@@ -626,7 +667,9 @@ export class OpenCodeProvider {
|
|
|
626
667
|
const errorText = await response.text();
|
|
627
668
|
throw new Error(`Failed to send message: ${response.status} ${errorText}`);
|
|
628
669
|
}
|
|
629
|
-
const responsePayload = (await response
|
|
670
|
+
const responsePayload = (await response
|
|
671
|
+
.json()
|
|
672
|
+
.catch(() => null));
|
|
630
673
|
if (!streamState.sawAssistantContent) {
|
|
631
674
|
const fallbackMessages = this.convertOpenCodeMessageResponseToSDKMessages(responsePayload, sessionId);
|
|
632
675
|
if (fallbackMessages.length > 0) {
|
|
@@ -690,6 +733,81 @@ export class OpenCodeProvider {
|
|
|
690
733
|
session_id: sessionId,
|
|
691
734
|
};
|
|
692
735
|
}
|
|
736
|
+
/**
|
|
737
|
+
* Bridge an opencode permission request to YA's approval UI, then reply.
|
|
738
|
+
* allow -> "once", deny -> "reject". Never throws; on any failure or missing
|
|
739
|
+
* approver, reject so the gated tool does not hang.
|
|
740
|
+
*/
|
|
741
|
+
async handlePermissionAsked(runtime, event, onToolApproval, signal) {
|
|
742
|
+
const log = getLogger();
|
|
743
|
+
const { id: requestId, permission, metadata } = event.properties;
|
|
744
|
+
let reply = "reject";
|
|
745
|
+
try {
|
|
746
|
+
if (onToolApproval) {
|
|
747
|
+
const { name, input } = normalizeOpenCodeTool(permission, metadata);
|
|
748
|
+
const result = await onToolApproval(name, input, { signal });
|
|
749
|
+
reply = result.behavior === "allow" ? "once" : "reject";
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
catch (error) {
|
|
753
|
+
log.warn({ error, requestId }, "OpenCode permission approval failed; rejecting");
|
|
754
|
+
}
|
|
755
|
+
await this.postOpenCodeReply(runtime, `/permission/${requestId}/reply`, { reply }, requestId);
|
|
756
|
+
}
|
|
757
|
+
/**
|
|
758
|
+
* Bridge an opencode interactive question to YA's AskUserQuestion UI, then
|
|
759
|
+
* reply with the selected option labels per question (or reject). The
|
|
760
|
+
* opencode question shape matches YA's AskUserQuestion input, so the existing
|
|
761
|
+
* pending-input UI handles it. Never throws.
|
|
762
|
+
*/
|
|
763
|
+
async handleQuestionAsked(runtime, event, onToolApproval, signal) {
|
|
764
|
+
const log = getLogger();
|
|
765
|
+
const { id: requestId, questions } = event.properties;
|
|
766
|
+
try {
|
|
767
|
+
if (onToolApproval) {
|
|
768
|
+
const result = await onToolApproval("AskUserQuestion", { questions }, { signal });
|
|
769
|
+
if (result.behavior === "allow") {
|
|
770
|
+
const answers = mapOpenCodeQuestionAnswers(questions, this.extractQuestionAnswers(result.updatedInput));
|
|
771
|
+
await this.postOpenCodeReply(runtime, `/question/${requestId}/reply`, { answers }, requestId);
|
|
772
|
+
return;
|
|
773
|
+
}
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
catch (error) {
|
|
777
|
+
log.warn({ error, requestId }, "OpenCode question handling failed; rejecting");
|
|
778
|
+
}
|
|
779
|
+
await this.postOpenCodeReply(runtime, `/question/${requestId}/reject`, {}, requestId);
|
|
780
|
+
}
|
|
781
|
+
extractQuestionAnswers(updatedInput) {
|
|
782
|
+
if (updatedInput &&
|
|
783
|
+
typeof updatedInput === "object" &&
|
|
784
|
+
"answers" in updatedInput) {
|
|
785
|
+
const answers = updatedInput.answers;
|
|
786
|
+
if (answers && typeof answers === "object" && !Array.isArray(answers)) {
|
|
787
|
+
return answers;
|
|
788
|
+
}
|
|
789
|
+
}
|
|
790
|
+
return undefined;
|
|
791
|
+
}
|
|
792
|
+
async postOpenCodeReply(runtime, path, body, requestId) {
|
|
793
|
+
const log = getLogger();
|
|
794
|
+
try {
|
|
795
|
+
const response = await fetch(`${runtime.baseUrl}${path}`, {
|
|
796
|
+
method: "POST",
|
|
797
|
+
headers: {
|
|
798
|
+
Accept: "application/json",
|
|
799
|
+
"Content-Type": "application/json",
|
|
800
|
+
},
|
|
801
|
+
body: JSON.stringify(body),
|
|
802
|
+
});
|
|
803
|
+
if (!response.ok) {
|
|
804
|
+
log.warn({ requestId, status: response.status, path }, "OpenCode interactive reply failed");
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
catch (error) {
|
|
808
|
+
log.warn({ error, requestId, path }, "OpenCode interactive reply request errored");
|
|
809
|
+
}
|
|
810
|
+
}
|
|
693
811
|
/**
|
|
694
812
|
* Convert an OpenCode SSE event to an SDK message.
|
|
695
813
|
*/
|
|
@@ -709,14 +827,15 @@ export class OpenCodeProvider {
|
|
|
709
827
|
streamState.partMessageIdsById.get(deltaEvent.properties.partID);
|
|
710
828
|
const partType = streamState.partTypesById.get(deltaEvent.properties.partID);
|
|
711
829
|
if (!messageId || !partType || deltaEvent.properties.field !== "text") {
|
|
712
|
-
return
|
|
830
|
+
return [];
|
|
713
831
|
}
|
|
714
|
-
|
|
832
|
+
const message = this.convertTextLikePartToSDKMessage({
|
|
715
833
|
partId: deltaEvent.properties.partID,
|
|
716
834
|
messageId,
|
|
717
835
|
partType,
|
|
718
836
|
delta: deltaEvent.properties.delta,
|
|
719
837
|
}, sessionId, streamState, streamState.messageRolesById.get(messageId));
|
|
838
|
+
return message ? [message] : [];
|
|
720
839
|
}
|
|
721
840
|
case "session.idle":
|
|
722
841
|
case "session.status":
|
|
@@ -725,9 +844,9 @@ export class OpenCodeProvider {
|
|
|
725
844
|
case "message.updated":
|
|
726
845
|
case "server.connected":
|
|
727
846
|
// These are status events, not content - skip
|
|
728
|
-
return
|
|
847
|
+
return [];
|
|
729
848
|
default:
|
|
730
|
-
return
|
|
849
|
+
return [];
|
|
731
850
|
}
|
|
732
851
|
}
|
|
733
852
|
convertTextLikePartToSDKMessage(part, sessionId, streamState, messageRole) {
|
|
@@ -750,7 +869,12 @@ export class OpenCodeProvider {
|
|
|
750
869
|
return {
|
|
751
870
|
type: "assistant",
|
|
752
871
|
session_id: sessionId,
|
|
753
|
-
|
|
872
|
+
// Use the part's own OpenCode message id (== the durable message.id), so
|
|
873
|
+
// the streamed assistant uuid matches the persisted row and the client
|
|
874
|
+
// dedups by id instead of re-appending the backfilled copy. (Previously a
|
|
875
|
+
// carried-over "current" id could attribute a later message's parts to an
|
|
876
|
+
// earlier message, diverging from the durable id.)
|
|
877
|
+
uuid: part.messageId,
|
|
754
878
|
message: {
|
|
755
879
|
role: "assistant",
|
|
756
880
|
content,
|
|
@@ -759,7 +883,7 @@ export class OpenCodeProvider {
|
|
|
759
883
|
}
|
|
760
884
|
convertOpenCodeMessageResponseToSDKMessages(response, sessionId) {
|
|
761
885
|
const info = response?.info ?? response?.message;
|
|
762
|
-
if (
|
|
886
|
+
if (info?.role !== "assistant" || !Array.isArray(response?.parts)) {
|
|
763
887
|
return [];
|
|
764
888
|
}
|
|
765
889
|
const contentBlocks = [];
|
|
@@ -797,70 +921,145 @@ export class OpenCodeProvider {
|
|
|
797
921
|
convertPartToSDKMessage(part, sessionId, delta, streamState, messageRole) {
|
|
798
922
|
switch (part.type) {
|
|
799
923
|
case "text":
|
|
800
|
-
case "reasoning":
|
|
801
|
-
|
|
924
|
+
case "reasoning": {
|
|
925
|
+
const message = this.convertTextLikePartToSDKMessage({
|
|
802
926
|
partId: part.id,
|
|
803
927
|
messageId: part.messageID,
|
|
804
928
|
partType: part.type,
|
|
805
929
|
fullText: part.text,
|
|
806
930
|
delta,
|
|
807
931
|
}, sessionId, streamState, messageRole);
|
|
932
|
+
return message ? [message] : [];
|
|
933
|
+
}
|
|
808
934
|
case "step-start":
|
|
809
935
|
// Start of a processing step - no content to emit
|
|
810
|
-
return
|
|
936
|
+
return [];
|
|
811
937
|
case "step-finish": {
|
|
812
938
|
// End of processing step - emit usage info if available
|
|
813
939
|
if (part.tokens) {
|
|
814
|
-
return
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
940
|
+
return [
|
|
941
|
+
{
|
|
942
|
+
type: "result",
|
|
943
|
+
session_id: sessionId,
|
|
944
|
+
usage: {
|
|
945
|
+
input_tokens: part.tokens.input ?? 0,
|
|
946
|
+
output_tokens: part.tokens.output ?? 0,
|
|
947
|
+
},
|
|
820
948
|
},
|
|
821
|
-
|
|
949
|
+
];
|
|
822
950
|
}
|
|
823
|
-
return
|
|
951
|
+
return [];
|
|
824
952
|
}
|
|
953
|
+
// Unified tool part (opencode 1.16+): one type:"tool" part streams
|
|
954
|
+
// pending -> running -> completed/error. Emit the tool_use once the call
|
|
955
|
+
// is underway, then the tool_result once it settles, deduped by callID.
|
|
956
|
+
case "tool":
|
|
957
|
+
return this.convertUnifiedToolPart(part, sessionId, streamState);
|
|
825
958
|
case "tool-use": {
|
|
826
|
-
//
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
959
|
+
// Legacy split tool invocation (older opencode)
|
|
960
|
+
const normalized = normalizeOpenCodeTool(part.tool, part.input);
|
|
961
|
+
return [
|
|
962
|
+
{
|
|
963
|
+
type: "assistant",
|
|
964
|
+
session_id: sessionId,
|
|
965
|
+
message: {
|
|
966
|
+
role: "assistant",
|
|
967
|
+
content: [
|
|
968
|
+
{
|
|
969
|
+
type: "tool_use",
|
|
970
|
+
id: part.id,
|
|
971
|
+
name: normalized.name,
|
|
972
|
+
input: normalized.input,
|
|
973
|
+
},
|
|
974
|
+
],
|
|
975
|
+
},
|
|
840
976
|
},
|
|
841
|
-
|
|
977
|
+
];
|
|
842
978
|
}
|
|
843
979
|
case "tool-result": {
|
|
844
|
-
//
|
|
845
|
-
return
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
980
|
+
// Legacy split tool result (older opencode)
|
|
981
|
+
return [
|
|
982
|
+
{
|
|
983
|
+
type: "user",
|
|
984
|
+
session_id: sessionId,
|
|
985
|
+
message: {
|
|
986
|
+
role: "user",
|
|
987
|
+
content: [
|
|
988
|
+
{
|
|
989
|
+
type: "tool_result",
|
|
990
|
+
tool_use_id: part.id,
|
|
991
|
+
content: part.error ?? String(part.output ?? ""),
|
|
992
|
+
},
|
|
993
|
+
],
|
|
994
|
+
},
|
|
857
995
|
},
|
|
858
|
-
|
|
996
|
+
];
|
|
859
997
|
}
|
|
860
998
|
default:
|
|
861
|
-
return
|
|
999
|
+
return [];
|
|
862
1000
|
}
|
|
863
1001
|
}
|
|
1002
|
+
/**
|
|
1003
|
+
* Convert a unified `type:"tool"` part into YA tool_use/tool_result messages.
|
|
1004
|
+
*
|
|
1005
|
+
* The same part is delivered repeatedly as its `state.status` advances
|
|
1006
|
+
* (pending -> running -> completed/error) and `state.input`/`state.output`
|
|
1007
|
+
* fill in. Emit the tool_use once the call is underway (running or settled)
|
|
1008
|
+
* and the tool_result once it settles, each deduped by callID so a streamed
|
|
1009
|
+
* tool appears exactly once. A fast tool whose first update is already
|
|
1010
|
+
* completed yields both messages at once.
|
|
1011
|
+
*/
|
|
1012
|
+
convertUnifiedToolPart(part, sessionId, streamState) {
|
|
1013
|
+
const callId = part.callID;
|
|
1014
|
+
if (!callId)
|
|
1015
|
+
return [];
|
|
1016
|
+
const status = part.state?.status;
|
|
1017
|
+
const settled = status === "completed" || status === "error";
|
|
1018
|
+
const underway = status === "running" || settled;
|
|
1019
|
+
const messages = [];
|
|
1020
|
+
if (underway && !streamState.toolUseEmitted.has(callId)) {
|
|
1021
|
+
streamState.toolUseEmitted.add(callId);
|
|
1022
|
+
const normalized = normalizeOpenCodeTool(part.tool, part.state?.input);
|
|
1023
|
+
messages.push({
|
|
1024
|
+
type: "assistant",
|
|
1025
|
+
session_id: sessionId,
|
|
1026
|
+
message: {
|
|
1027
|
+
role: "assistant",
|
|
1028
|
+
content: [
|
|
1029
|
+
{
|
|
1030
|
+
type: "tool_use",
|
|
1031
|
+
id: callId,
|
|
1032
|
+
name: normalized.name,
|
|
1033
|
+
input: normalized.input,
|
|
1034
|
+
},
|
|
1035
|
+
],
|
|
1036
|
+
},
|
|
1037
|
+
});
|
|
1038
|
+
}
|
|
1039
|
+
if (settled && !streamState.toolResultEmitted.has(callId)) {
|
|
1040
|
+
streamState.toolResultEmitted.add(callId);
|
|
1041
|
+
const error = part.state?.error;
|
|
1042
|
+
const output = part.state?.output;
|
|
1043
|
+
const content = error ??
|
|
1044
|
+
(typeof output === "string" ? output : JSON.stringify(output ?? ""));
|
|
1045
|
+
messages.push({
|
|
1046
|
+
type: "user",
|
|
1047
|
+
session_id: sessionId,
|
|
1048
|
+
message: {
|
|
1049
|
+
role: "user",
|
|
1050
|
+
content: [
|
|
1051
|
+
{
|
|
1052
|
+
type: "tool_result",
|
|
1053
|
+
tool_use_id: callId,
|
|
1054
|
+
content,
|
|
1055
|
+
is_error: status === "error" || Boolean(error),
|
|
1056
|
+
},
|
|
1057
|
+
],
|
|
1058
|
+
},
|
|
1059
|
+
});
|
|
1060
|
+
}
|
|
1061
|
+
return messages;
|
|
1062
|
+
}
|
|
864
1063
|
/**
|
|
865
1064
|
* Wait for server to be ready.
|
|
866
1065
|
*/
|
|
@@ -900,6 +1099,31 @@ export class OpenCodeProvider {
|
|
|
900
1099
|
}
|
|
901
1100
|
return "";
|
|
902
1101
|
}
|
|
1102
|
+
/**
|
|
1103
|
+
* Convert any base64 image content blocks on a user message into OpenCode
|
|
1104
|
+
* file parts (a data-URL `url` + mime), so pasted/uploaded images are sent to
|
|
1105
|
+
* OpenCode instead of being dropped. Non-image content is untouched.
|
|
1106
|
+
*/
|
|
1107
|
+
extractImageFileParts(message) {
|
|
1108
|
+
const content = message.message?.content;
|
|
1109
|
+
if (!Array.isArray(content))
|
|
1110
|
+
return [];
|
|
1111
|
+
const parts = [];
|
|
1112
|
+
for (const block of content) {
|
|
1113
|
+
if (typeof block !== "object" || block === null)
|
|
1114
|
+
continue;
|
|
1115
|
+
const b = block;
|
|
1116
|
+
if (b.type === "image" && b.source?.type === "base64" && b.source.data) {
|
|
1117
|
+
const mime = b.source.media_type || "image/png";
|
|
1118
|
+
parts.push({
|
|
1119
|
+
type: "file",
|
|
1120
|
+
mime,
|
|
1121
|
+
url: `data:${mime};base64,${b.source.data}`,
|
|
1122
|
+
});
|
|
1123
|
+
}
|
|
1124
|
+
}
|
|
1125
|
+
return parts;
|
|
1126
|
+
}
|
|
903
1127
|
/**
|
|
904
1128
|
* Find the OpenCode CLI path.
|
|
905
1129
|
*/
|
|
@@ -908,8 +1132,11 @@ export class OpenCodeProvider {
|
|
|
908
1132
|
if (this.opencodePath && existsSync(this.opencodePath)) {
|
|
909
1133
|
return this.opencodePath;
|
|
910
1134
|
}
|
|
911
|
-
// Check common locations
|
|
1135
|
+
// Check common locations. `~/.opencode/bin` is the official installer
|
|
1136
|
+
// location (curl opencode.ai/install); it is on PATH for login shells but
|
|
1137
|
+
// a server not launched through one may miss it, so check it explicitly.
|
|
912
1138
|
const commonPaths = [
|
|
1139
|
+
join(homedir(), ".opencode", "bin", "opencode"),
|
|
913
1140
|
join(homedir(), ".local", "bin", "opencode"),
|
|
914
1141
|
"/usr/local/bin/opencode",
|
|
915
1142
|
join(homedir(), "bin", "opencode"),
|