instar 0.28.113 → 0.28.115
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/dist/cli.js +15 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/reflect.d.ts.map +1 -1
- package/dist/commands/reflect.js +17 -8
- package/dist/commands/reflect.js.map +1 -1
- package/dist/commands/route.d.ts +30 -0
- package/dist/commands/route.d.ts.map +1 -0
- package/dist/commands/route.js +124 -0
- package/dist/commands/route.js.map +1 -0
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +418 -67
- package/dist/commands/server.js.map +1 -1
- package/dist/core/CapabilityRegistryGenerator.js +1 -1
- package/dist/core/CapabilityRegistryGenerator.js.map +1 -1
- package/dist/core/ClaudeCliIntelligenceProvider.d.ts +7 -11
- package/dist/core/ClaudeCliIntelligenceProvider.d.ts.map +1 -1
- package/dist/core/ClaudeCliIntelligenceProvider.js +7 -11
- package/dist/core/ClaudeCliIntelligenceProvider.js.map +1 -1
- package/dist/core/CodexCliIntelligenceProvider.d.ts +38 -0
- package/dist/core/CodexCliIntelligenceProvider.d.ts.map +1 -0
- package/dist/core/CodexCliIntelligenceProvider.js +81 -0
- package/dist/core/CodexCliIntelligenceProvider.js.map +1 -0
- package/dist/core/CoherenceGate.d.ts +5 -6
- package/dist/core/CoherenceGate.d.ts.map +1 -1
- package/dist/core/CoherenceGate.js +9 -9
- package/dist/core/CoherenceGate.js.map +1 -1
- package/dist/core/CoherenceReviewer.d.ts +14 -12
- package/dist/core/CoherenceReviewer.d.ts.map +1 -1
- package/dist/core/CoherenceReviewer.js +23 -60
- package/dist/core/CoherenceReviewer.js.map +1 -1
- package/dist/core/Config.d.ts +107 -0
- package/dist/core/Config.d.ts.map +1 -1
- package/dist/core/Config.js +291 -20
- package/dist/core/Config.js.map +1 -1
- package/dist/core/FeatureDefinitions.js +2 -2
- package/dist/core/FeatureDefinitions.js.map +1 -1
- package/dist/core/FeatureRegistry.d.ts +1 -1
- package/dist/core/IdentityRenderer.d.ts +125 -0
- package/dist/core/IdentityRenderer.d.ts.map +1 -0
- package/dist/core/IdentityRenderer.js +264 -0
- package/dist/core/IdentityRenderer.js.map +1 -0
- package/dist/core/PostUpdateMigrator.d.ts +1 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +66 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/ProjectMapper.d.ts.map +1 -1
- package/dist/core/ProjectMapper.js +10 -3
- package/dist/core/ProjectMapper.js.map +1 -1
- package/dist/core/SessionManager.d.ts +27 -1
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +167 -44
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/core/SurfacingTemplates.js +1 -1
- package/dist/core/SurfacingTemplates.js.map +1 -1
- package/dist/core/TopicFrameworksStore.d.ts +71 -0
- package/dist/core/TopicFrameworksStore.d.ts.map +1 -0
- package/dist/core/TopicFrameworksStore.js +109 -0
- package/dist/core/TopicFrameworksStore.js.map +1 -0
- package/dist/core/TopicLocalModelStore.d.ts +55 -0
- package/dist/core/TopicLocalModelStore.d.ts.map +1 -0
- package/dist/core/TopicLocalModelStore.js +92 -0
- package/dist/core/TopicLocalModelStore.js.map +1 -0
- package/dist/core/UpgradeNotifyManager.d.ts +7 -4
- package/dist/core/UpgradeNotifyManager.d.ts.map +1 -1
- package/dist/core/UpgradeNotifyManager.js +6 -3
- package/dist/core/UpgradeNotifyManager.js.map +1 -1
- package/dist/core/banal.d.ts +2 -0
- package/dist/core/banal.d.ts.map +1 -0
- package/dist/core/banal.js +2 -0
- package/dist/core/banal.js.map +1 -0
- package/dist/core/frameworkSessionLaunch.d.ts +161 -0
- package/dist/core/frameworkSessionLaunch.d.ts.map +1 -0
- package/dist/core/frameworkSessionLaunch.js +259 -0
- package/dist/core/frameworkSessionLaunch.js.map +1 -0
- package/dist/core/intelligenceProviderFactory.d.ts +58 -0
- package/dist/core/intelligenceProviderFactory.d.ts.map +1 -0
- package/dist/core/intelligenceProviderFactory.js +73 -0
- package/dist/core/intelligenceProviderFactory.js.map +1 -0
- package/dist/core/models.d.ts +1 -1
- package/dist/core/models.js +1 -1
- package/dist/core/reviewers/capability-accuracy.d.ts +1 -1
- package/dist/core/reviewers/capability-accuracy.d.ts.map +1 -1
- package/dist/core/reviewers/capability-accuracy.js +2 -2
- package/dist/core/reviewers/capability-accuracy.js.map +1 -1
- package/dist/core/reviewers/claim-provenance.d.ts +1 -1
- package/dist/core/reviewers/claim-provenance.d.ts.map +1 -1
- package/dist/core/reviewers/claim-provenance.js +2 -2
- package/dist/core/reviewers/claim-provenance.js.map +1 -1
- package/dist/core/reviewers/context-completeness.d.ts +1 -1
- package/dist/core/reviewers/context-completeness.d.ts.map +1 -1
- package/dist/core/reviewers/context-completeness.js +2 -2
- package/dist/core/reviewers/context-completeness.js.map +1 -1
- package/dist/core/reviewers/conversational-tone.d.ts +1 -1
- package/dist/core/reviewers/conversational-tone.d.ts.map +1 -1
- package/dist/core/reviewers/conversational-tone.js +2 -2
- package/dist/core/reviewers/conversational-tone.js.map +1 -1
- package/dist/core/reviewers/escalation-resolution.d.ts +1 -1
- package/dist/core/reviewers/escalation-resolution.d.ts.map +1 -1
- package/dist/core/reviewers/escalation-resolution.js +2 -2
- package/dist/core/reviewers/escalation-resolution.js.map +1 -1
- package/dist/core/reviewers/gate-reviewer.d.ts +1 -1
- package/dist/core/reviewers/gate-reviewer.d.ts.map +1 -1
- package/dist/core/reviewers/gate-reviewer.js +2 -2
- package/dist/core/reviewers/gate-reviewer.js.map +1 -1
- package/dist/core/reviewers/information-leakage.d.ts +1 -1
- package/dist/core/reviewers/information-leakage.d.ts.map +1 -1
- package/dist/core/reviewers/information-leakage.js +2 -2
- package/dist/core/reviewers/information-leakage.js.map +1 -1
- package/dist/core/reviewers/settling-detection.d.ts +1 -1
- package/dist/core/reviewers/settling-detection.d.ts.map +1 -1
- package/dist/core/reviewers/settling-detection.js +2 -2
- package/dist/core/reviewers/settling-detection.js.map +1 -1
- package/dist/core/reviewers/url-validity.d.ts +1 -1
- package/dist/core/reviewers/url-validity.d.ts.map +1 -1
- package/dist/core/reviewers/url-validity.js +2 -2
- package/dist/core/reviewers/url-validity.js.map +1 -1
- package/dist/core/reviewers/value-alignment.d.ts +1 -1
- package/dist/core/reviewers/value-alignment.d.ts.map +1 -1
- package/dist/core/reviewers/value-alignment.js +2 -2
- package/dist/core/reviewers/value-alignment.js.map +1 -1
- package/dist/core/types.d.ts +92 -6
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/lifeline/TelegramLifeline.d.ts +19 -1
- package/dist/lifeline/TelegramLifeline.d.ts.map +1 -1
- package/dist/lifeline/TelegramLifeline.js +28 -1
- package/dist/lifeline/TelegramLifeline.js.map +1 -1
- package/dist/messaging/TelegramAdapter.d.ts +31 -1
- package/dist/messaging/TelegramAdapter.d.ts.map +1 -1
- package/dist/messaging/TelegramAdapter.js +83 -0
- package/dist/messaging/TelegramAdapter.js.map +1 -1
- package/dist/messaging/shared/telegramRelayPrompt.d.ts +49 -0
- package/dist/messaging/shared/telegramRelayPrompt.d.ts.map +1 -0
- package/dist/messaging/shared/telegramRelayPrompt.js +54 -0
- package/dist/messaging/shared/telegramRelayPrompt.js.map +1 -0
- package/dist/monitoring/InstructionsVerifier.d.ts +20 -6
- package/dist/monitoring/InstructionsVerifier.d.ts.map +1 -1
- package/dist/monitoring/InstructionsVerifier.js +40 -11
- package/dist/monitoring/InstructionsVerifier.js.map +1 -1
- package/dist/monitoring/OrphanProcessReaper.d.ts +36 -15
- package/dist/monitoring/OrphanProcessReaper.d.ts.map +1 -1
- package/dist/monitoring/OrphanProcessReaper.js +60 -46
- package/dist/monitoring/OrphanProcessReaper.js.map +1 -1
- package/dist/monitoring/PromptGate.d.ts.map +1 -1
- package/dist/monitoring/PromptGate.js +21 -10
- package/dist/monitoring/PromptGate.js.map +1 -1
- package/dist/monitoring/SessionWatchdog.d.ts +10 -0
- package/dist/monitoring/SessionWatchdog.d.ts.map +1 -1
- package/dist/monitoring/SessionWatchdog.js +37 -10
- package/dist/monitoring/SessionWatchdog.js.map +1 -1
- package/dist/monitoring/StallTriageNurse.d.ts +0 -1
- package/dist/monitoring/StallTriageNurse.d.ts.map +1 -1
- package/dist/monitoring/StallTriageNurse.js +60 -65
- package/dist/monitoring/StallTriageNurse.js.map +1 -1
- package/dist/monitoring/StallTriageNurse.types.d.ts +8 -6
- package/dist/monitoring/StallTriageNurse.types.d.ts.map +1 -1
- package/dist/monitoring/frameworkActivitySignals.d.ts +62 -0
- package/dist/monitoring/frameworkActivitySignals.d.ts.map +1 -0
- package/dist/monitoring/frameworkActivitySignals.js +73 -0
- package/dist/monitoring/frameworkActivitySignals.js.map +1 -0
- package/dist/monitoring/frameworkProcessSignals.d.ts +75 -0
- package/dist/monitoring/frameworkProcessSignals.d.ts.map +1 -0
- package/dist/monitoring/frameworkProcessSignals.js +109 -0
- package/dist/monitoring/frameworkProcessSignals.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/_smoketest.d.ts +9 -0
- package/dist/providers/adapters/anthropic-headless/_smoketest.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/_smoketest.js +36 -0
- package/dist/providers/adapters/anthropic-headless/_smoketest.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/capabilities.d.ts +18 -0
- package/dist/providers/adapters/anthropic-headless/capabilities.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/capabilities.js +77 -0
- package/dist/providers/adapters/anthropic-headless/capabilities.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/capability/bashExecution.d.ts +7 -0
- package/dist/providers/adapters/anthropic-headless/capability/bashExecution.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/capability/bashExecution.js +18 -0
- package/dist/providers/adapters/anthropic-headless/capability/bashExecution.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/capability/fileSystemAccess.d.ts +7 -0
- package/dist/providers/adapters/anthropic-headless/capability/fileSystemAccess.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/capability/fileSystemAccess.js +18 -0
- package/dist/providers/adapters/anthropic-headless/capability/fileSystemAccess.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/capability/pathAllowlist.d.ts +6 -0
- package/dist/providers/adapters/anthropic-headless/capability/pathAllowlist.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/capability/pathAllowlist.js +17 -0
- package/dist/providers/adapters/anthropic-headless/capability/pathAllowlist.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/capability/toolAccess.d.ts +6 -0
- package/dist/providers/adapters/anthropic-headless/capability/toolAccess.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/capability/toolAccess.js +36 -0
- package/dist/providers/adapters/anthropic-headless/capability/toolAccess.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/capability/toolAllowlist.d.ts +7 -0
- package/dist/providers/adapters/anthropic-headless/capability/toolAllowlist.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/capability/toolAllowlist.js +15 -0
- package/dist/providers/adapters/anthropic-headless/capability/toolAllowlist.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/capability/webAccess.d.ts +6 -0
- package/dist/providers/adapters/anthropic-headless/capability/webAccess.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/capability/webAccess.js +17 -0
- package/dist/providers/adapters/anthropic-headless/capability/webAccess.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/config.d.ts +33 -0
- package/dist/providers/adapters/anthropic-headless/config.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/config.js +19 -0
- package/dist/providers/adapters/anthropic-headless/config.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/authCredentialInjection.d.ts +11 -0
- package/dist/providers/adapters/anthropic-headless/control/authCredentialInjection.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/authCredentialInjection.js +77 -0
- package/dist/providers/adapters/anthropic-headless/control/authCredentialInjection.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/compactionLifecycle.d.ts +12 -0
- package/dist/providers/adapters/anthropic-headless/control/compactionLifecycle.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/compactionLifecycle.js +96 -0
- package/dist/providers/adapters/anthropic-headless/control/compactionLifecycle.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/contextScopeControl.d.ts +11 -0
- package/dist/providers/adapters/anthropic-headless/control/contextScopeControl.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/contextScopeControl.js +29 -0
- package/dist/providers/adapters/anthropic-headless/control/contextScopeControl.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/credentialStorageProvider.d.ts +10 -0
- package/dist/providers/adapters/anthropic-headless/control/credentialStorageProvider.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/credentialStorageProvider.js +81 -0
- package/dist/providers/adapters/anthropic-headless/control/credentialStorageProvider.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/hardKill.d.ts +7 -0
- package/dist/providers/adapters/anthropic-headless/control/hardKill.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/hardKill.js +37 -0
- package/dist/providers/adapters/anthropic-headless/control/hardKill.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/idleBound.d.ts +9 -0
- package/dist/providers/adapters/anthropic-headless/control/idleBound.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/idleBound.js +24 -0
- package/dist/providers/adapters/anthropic-headless/control/idleBound.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/inputInjection.d.ts +7 -0
- package/dist/providers/adapters/anthropic-headless/control/inputInjection.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/inputInjection.js +71 -0
- package/dist/providers/adapters/anthropic-headless/control/inputInjection.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/interrupt.d.ts +7 -0
- package/dist/providers/adapters/anthropic-headless/control/interrupt.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/interrupt.js +36 -0
- package/dist/providers/adapters/anthropic-headless/control/interrupt.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/stopGateInterceptor.d.ts +11 -0
- package/dist/providers/adapters/anthropic-headless/control/stopGateInterceptor.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/stopGateInterceptor.js +24 -0
- package/dist/providers/adapters/anthropic-headless/control/stopGateInterceptor.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/timeoutBound.d.ts +14 -0
- package/dist/providers/adapters/anthropic-headless/control/timeoutBound.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/control/timeoutBound.js +38 -0
- package/dist/providers/adapters/anthropic-headless/control/timeoutBound.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/errors.d.ts +24 -0
- package/dist/providers/adapters/anthropic-headless/errors.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/errors.js +55 -0
- package/dist/providers/adapters/anthropic-headless/errors.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/index.d.ts +25 -0
- package/dist/providers/adapters/anthropic-headless/index.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/index.js +114 -0
- package/dist/providers/adapters/anthropic-headless/index.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/integration/conversationLogProvider.d.ts +7 -0
- package/dist/providers/adapters/anthropic-headless/integration/conversationLogProvider.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/integration/conversationLogProvider.js +39 -0
- package/dist/providers/adapters/anthropic-headless/integration/conversationLogProvider.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/integration/mcpToolRegistry.d.ts +7 -0
- package/dist/providers/adapters/anthropic-headless/integration/mcpToolRegistry.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/integration/mcpToolRegistry.js +88 -0
- package/dist/providers/adapters/anthropic-headless/integration/mcpToolRegistry.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/integration/providerScaffolder.d.ts +11 -0
- package/dist/providers/adapters/anthropic-headless/integration/providerScaffolder.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/integration/providerScaffolder.js +89 -0
- package/dist/providers/adapters/anthropic-headless/integration/providerScaffolder.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/integration/sessionResumeIndex.d.ts +6 -0
- package/dist/providers/adapters/anthropic-headless/integration/sessionResumeIndex.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/integration/sessionResumeIndex.js +90 -0
- package/dist/providers/adapters/anthropic-headless/integration/sessionResumeIndex.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/models.d.ts +13 -0
- package/dist/providers/adapters/anthropic-headless/models.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/models.js +26 -0
- package/dist/providers/adapters/anthropic-headless/models.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/observability/conversationLogReader.d.ts +24 -0
- package/dist/providers/adapters/anthropic-headless/observability/conversationLogReader.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/observability/conversationLogReader.js +167 -0
- package/dist/providers/adapters/anthropic-headless/observability/conversationLogReader.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/observability/conversationLogTailer.d.ts +7 -0
- package/dist/providers/adapters/anthropic-headless/observability/conversationLogTailer.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/observability/conversationLogTailer.js +112 -0
- package/dist/providers/adapters/anthropic-headless/observability/conversationLogTailer.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/observability/hookEventReceiver.d.ts +18 -0
- package/dist/providers/adapters/anthropic-headless/observability/hookEventReceiver.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/observability/hookEventReceiver.js +119 -0
- package/dist/providers/adapters/anthropic-headless/observability/hookEventReceiver.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/observability/liveOutputStream.d.ts +7 -0
- package/dist/providers/adapters/anthropic-headless/observability/liveOutputStream.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/observability/liveOutputStream.js +81 -0
- package/dist/providers/adapters/anthropic-headless/observability/liveOutputStream.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/observability/processLifecycle.d.ts +7 -0
- package/dist/providers/adapters/anthropic-headless/observability/processLifecycle.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/observability/processLifecycle.js +64 -0
- package/dist/providers/adapters/anthropic-headless/observability/processLifecycle.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/observability/sessionId.d.ts +15 -0
- package/dist/providers/adapters/anthropic-headless/observability/sessionId.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/observability/sessionId.js +30 -0
- package/dist/providers/adapters/anthropic-headless/observability/sessionId.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/observability/subagentLifecycleObserver.d.ts +7 -0
- package/dist/providers/adapters/anthropic-headless/observability/subagentLifecycleObserver.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/observability/subagentLifecycleObserver.js +74 -0
- package/dist/providers/adapters/anthropic-headless/observability/subagentLifecycleObserver.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/observability/usageMeterProvider.d.ts +14 -0
- package/dist/providers/adapters/anthropic-headless/observability/usageMeterProvider.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/observability/usageMeterProvider.js +79 -0
- package/dist/providers/adapters/anthropic-headless/observability/usageMeterProvider.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/stubs.d.ts +24 -0
- package/dist/providers/adapters/anthropic-headless/stubs.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/stubs.js +40 -0
- package/dist/providers/adapters/anthropic-headless/stubs.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/transport/agenticSessionHeadless.d.ts +20 -0
- package/dist/providers/adapters/anthropic-headless/transport/agenticSessionHeadless.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/transport/agenticSessionHeadless.js +118 -0
- package/dist/providers/adapters/anthropic-headless/transport/agenticSessionHeadless.js.map +1 -0
- package/dist/providers/adapters/anthropic-headless/transport/oneShotCompletion.d.ts +13 -0
- package/dist/providers/adapters/anthropic-headless/transport/oneShotCompletion.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-headless/transport/oneShotCompletion.js +93 -0
- package/dist/providers/adapters/anthropic-headless/transport/oneShotCompletion.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/_smoketest.d.ts +13 -0
- package/dist/providers/adapters/anthropic-interactive-pool/_smoketest.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/_smoketest.js +47 -0
- package/dist/providers/adapters/anthropic-interactive-pool/_smoketest.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/_stresstest.d.ts +13 -0
- package/dist/providers/adapters/anthropic-interactive-pool/_stresstest.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/_stresstest.js +146 -0
- package/dist/providers/adapters/anthropic-interactive-pool/_stresstest.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/canary/emptyPromptCanary.d.ts +95 -0
- package/dist/providers/adapters/anthropic-interactive-pool/canary/emptyPromptCanary.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/canary/emptyPromptCanary.js +233 -0
- package/dist/providers/adapters/anthropic-interactive-pool/canary/emptyPromptCanary.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/canary/emptyPromptSignature.d.ts +53 -0
- package/dist/providers/adapters/anthropic-interactive-pool/canary/emptyPromptSignature.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/canary/emptyPromptSignature.js +128 -0
- package/dist/providers/adapters/anthropic-interactive-pool/canary/emptyPromptSignature.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/canary/poolDecayCanary.d.ts +50 -0
- package/dist/providers/adapters/anthropic-interactive-pool/canary/poolDecayCanary.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/canary/poolDecayCanary.js +128 -0
- package/dist/providers/adapters/anthropic-interactive-pool/canary/poolDecayCanary.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/capabilities.d.ts +26 -0
- package/dist/providers/adapters/anthropic-interactive-pool/capabilities.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/capabilities.js +45 -0
- package/dist/providers/adapters/anthropic-interactive-pool/capabilities.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/config.d.ts +57 -0
- package/dist/providers/adapters/anthropic-interactive-pool/config.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/config.js +22 -0
- package/dist/providers/adapters/anthropic-interactive-pool/config.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/authCredentialInjection.d.ts +7 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/authCredentialInjection.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/authCredentialInjection.js +39 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/authCredentialInjection.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/compactionLifecycle.d.ts +12 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/compactionLifecycle.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/compactionLifecycle.js +91 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/compactionLifecycle.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/contextScopeControl.d.ts +8 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/contextScopeControl.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/contextScopeControl.js +25 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/contextScopeControl.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/hardKill.d.ts +7 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/hardKill.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/hardKill.js +25 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/hardKill.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/inputInjection.d.ts +7 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/inputInjection.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/inputInjection.js +70 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/inputInjection.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/interrupt.d.ts +7 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/interrupt.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/interrupt.js +38 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/interrupt.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/simpleControls.d.ts +13 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/simpleControls.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/simpleControls.js +64 -0
- package/dist/providers/adapters/anthropic-interactive-pool/control/simpleControls.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/errors.d.ts +6 -0
- package/dist/providers/adapters/anthropic-interactive-pool/errors.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/errors.js +5 -0
- package/dist/providers/adapters/anthropic-interactive-pool/errors.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/index.d.ts +65 -0
- package/dist/providers/adapters/anthropic-interactive-pool/index.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/index.js +174 -0
- package/dist/providers/adapters/anthropic-interactive-pool/index.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/observability/liveOutputStream.d.ts +13 -0
- package/dist/providers/adapters/anthropic-interactive-pool/observability/liveOutputStream.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/observability/liveOutputStream.js +95 -0
- package/dist/providers/adapters/anthropic-interactive-pool/observability/liveOutputStream.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/observability/processLifecycle.d.ts +15 -0
- package/dist/providers/adapters/anthropic-interactive-pool/observability/processLifecycle.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/observability/processLifecycle.js +85 -0
- package/dist/providers/adapters/anthropic-interactive-pool/observability/processLifecycle.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/observability/sessionId.d.ts +23 -0
- package/dist/providers/adapters/anthropic-interactive-pool/observability/sessionId.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/observability/sessionId.js +57 -0
- package/dist/providers/adapters/anthropic-interactive-pool/observability/sessionId.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/pool.d.ts +131 -0
- package/dist/providers/adapters/anthropic-interactive-pool/pool.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/pool.js +439 -0
- package/dist/providers/adapters/anthropic-interactive-pool/pool.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/promptRunner.d.ts +64 -0
- package/dist/providers/adapters/anthropic-interactive-pool/promptRunner.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/promptRunner.js +212 -0
- package/dist/providers/adapters/anthropic-interactive-pool/promptRunner.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/stubs.d.ts +16 -0
- package/dist/providers/adapters/anthropic-interactive-pool/stubs.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/stubs.js +31 -0
- package/dist/providers/adapters/anthropic-interactive-pool/stubs.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/transport/oneShotCompletion.d.ts +13 -0
- package/dist/providers/adapters/anthropic-interactive-pool/transport/oneShotCompletion.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/transport/oneShotCompletion.js +64 -0
- package/dist/providers/adapters/anthropic-interactive-pool/transport/oneShotCompletion.js.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/transport/warmSessionInbox.d.ts +21 -0
- package/dist/providers/adapters/anthropic-interactive-pool/transport/warmSessionInbox.d.ts.map +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/transport/warmSessionInbox.js +163 -0
- package/dist/providers/adapters/anthropic-interactive-pool/transport/warmSessionInbox.js.map +1 -0
- package/dist/providers/adapters/example/Foo.test.d.ts +2 -0
- package/dist/providers/adapters/example/Foo.test.d.ts.map +1 -0
- package/dist/providers/adapters/example/Foo.test.js +4 -0
- package/dist/providers/adapters/example/Foo.test.js.map +1 -0
- package/dist/providers/adapters/example/LogReader.d.ts +4 -0
- package/dist/providers/adapters/example/LogReader.d.ts.map +1 -0
- package/dist/providers/adapters/example/LogReader.js +4 -0
- package/dist/providers/adapters/example/LogReader.js.map +1 -0
- package/dist/providers/adapters/example/canary/fooCanary.d.ts +2 -0
- package/dist/providers/adapters/example/canary/fooCanary.d.ts.map +1 -0
- package/dist/providers/adapters/example/canary/fooCanary.js +3 -0
- package/dist/providers/adapters/example/canary/fooCanary.js.map +1 -0
- package/dist/providers/adapters/example/foo.d.ts +2 -0
- package/dist/providers/adapters/example/foo.d.ts.map +1 -0
- package/dist/providers/adapters/example/foo.js +3 -0
- package/dist/providers/adapters/example/foo.js.map +1 -0
- package/dist/providers/adapters/openai-codex/_smoketest.d.ts +15 -0
- package/dist/providers/adapters/openai-codex/_smoketest.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/_smoketest.js +101 -0
- package/dist/providers/adapters/openai-codex/_smoketest.js.map +1 -0
- package/dist/providers/adapters/openai-codex/canary/codexEventNormalizerCanary.d.ts +40 -0
- package/dist/providers/adapters/openai-codex/canary/codexEventNormalizerCanary.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/canary/codexEventNormalizerCanary.js +146 -0
- package/dist/providers/adapters/openai-codex/canary/codexEventNormalizerCanary.js.map +1 -0
- package/dist/providers/adapters/openai-codex/canary/codexSessionLayoutCanary.d.ts +37 -0
- package/dist/providers/adapters/openai-codex/canary/codexSessionLayoutCanary.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/canary/codexSessionLayoutCanary.js +61 -0
- package/dist/providers/adapters/openai-codex/canary/codexSessionLayoutCanary.js.map +1 -0
- package/dist/providers/adapters/openai-codex/canary/openaiKeyLeakageCanary.d.ts +42 -0
- package/dist/providers/adapters/openai-codex/canary/openaiKeyLeakageCanary.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/canary/openaiKeyLeakageCanary.js +101 -0
- package/dist/providers/adapters/openai-codex/canary/openaiKeyLeakageCanary.js.map +1 -0
- package/dist/providers/adapters/openai-codex/capabilities.d.ts +17 -0
- package/dist/providers/adapters/openai-codex/capabilities.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/capabilities.js +60 -0
- package/dist/providers/adapters/openai-codex/capabilities.js.map +1 -0
- package/dist/providers/adapters/openai-codex/capability/bashExecution.d.ts +10 -0
- package/dist/providers/adapters/openai-codex/capability/bashExecution.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/capability/bashExecution.js +17 -0
- package/dist/providers/adapters/openai-codex/capability/bashExecution.js.map +1 -0
- package/dist/providers/adapters/openai-codex/capability/fileSystemAccess.d.ts +10 -0
- package/dist/providers/adapters/openai-codex/capability/fileSystemAccess.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/capability/fileSystemAccess.js +22 -0
- package/dist/providers/adapters/openai-codex/capability/fileSystemAccess.js.map +1 -0
- package/dist/providers/adapters/openai-codex/capability/pathAllowlist.d.ts +9 -0
- package/dist/providers/adapters/openai-codex/capability/pathAllowlist.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/capability/pathAllowlist.js +16 -0
- package/dist/providers/adapters/openai-codex/capability/pathAllowlist.js.map +1 -0
- package/dist/providers/adapters/openai-codex/capability/toolAccess.d.ts +15 -0
- package/dist/providers/adapters/openai-codex/capability/toolAccess.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/capability/toolAccess.js +41 -0
- package/dist/providers/adapters/openai-codex/capability/toolAccess.js.map +1 -0
- package/dist/providers/adapters/openai-codex/capability/toolAllowlist.d.ts +12 -0
- package/dist/providers/adapters/openai-codex/capability/toolAllowlist.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/capability/toolAllowlist.js +18 -0
- package/dist/providers/adapters/openai-codex/capability/toolAllowlist.js.map +1 -0
- package/dist/providers/adapters/openai-codex/capability/webAccess.d.ts +9 -0
- package/dist/providers/adapters/openai-codex/capability/webAccess.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/capability/webAccess.js +16 -0
- package/dist/providers/adapters/openai-codex/capability/webAccess.js.map +1 -0
- package/dist/providers/adapters/openai-codex/config.d.ts +87 -0
- package/dist/providers/adapters/openai-codex/config.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/config.js +65 -0
- package/dist/providers/adapters/openai-codex/config.js.map +1 -0
- package/dist/providers/adapters/openai-codex/control/authCredentialInjection.d.ts +18 -0
- package/dist/providers/adapters/openai-codex/control/authCredentialInjection.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/control/authCredentialInjection.js +55 -0
- package/dist/providers/adapters/openai-codex/control/authCredentialInjection.js.map +1 -0
- package/dist/providers/adapters/openai-codex/control/compactionLifecycle.d.ts +27 -0
- package/dist/providers/adapters/openai-codex/control/compactionLifecycle.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/control/compactionLifecycle.js +134 -0
- package/dist/providers/adapters/openai-codex/control/compactionLifecycle.js.map +1 -0
- package/dist/providers/adapters/openai-codex/control/contextScopeControl.d.ts +14 -0
- package/dist/providers/adapters/openai-codex/control/contextScopeControl.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/control/contextScopeControl.js +37 -0
- package/dist/providers/adapters/openai-codex/control/contextScopeControl.js.map +1 -0
- package/dist/providers/adapters/openai-codex/control/credentialStorageProvider.d.ts +16 -0
- package/dist/providers/adapters/openai-codex/control/credentialStorageProvider.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/control/credentialStorageProvider.js +91 -0
- package/dist/providers/adapters/openai-codex/control/credentialStorageProvider.js.map +1 -0
- package/dist/providers/adapters/openai-codex/control/hardKill.d.ts +10 -0
- package/dist/providers/adapters/openai-codex/control/hardKill.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/control/hardKill.js +45 -0
- package/dist/providers/adapters/openai-codex/control/hardKill.js.map +1 -0
- package/dist/providers/adapters/openai-codex/control/idleBound.d.ts +10 -0
- package/dist/providers/adapters/openai-codex/control/idleBound.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/control/idleBound.js +25 -0
- package/dist/providers/adapters/openai-codex/control/idleBound.js.map +1 -0
- package/dist/providers/adapters/openai-codex/control/inputInjection.d.ts +13 -0
- package/dist/providers/adapters/openai-codex/control/inputInjection.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/control/inputInjection.js +76 -0
- package/dist/providers/adapters/openai-codex/control/inputInjection.js.map +1 -0
- package/dist/providers/adapters/openai-codex/control/interrupt.d.ts +12 -0
- package/dist/providers/adapters/openai-codex/control/interrupt.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/control/interrupt.js +35 -0
- package/dist/providers/adapters/openai-codex/control/interrupt.js.map +1 -0
- package/dist/providers/adapters/openai-codex/control/stopGateInterceptor.d.ts +12 -0
- package/dist/providers/adapters/openai-codex/control/stopGateInterceptor.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/control/stopGateInterceptor.js +49 -0
- package/dist/providers/adapters/openai-codex/control/stopGateInterceptor.js.map +1 -0
- package/dist/providers/adapters/openai-codex/control/timeoutBound.d.ts +10 -0
- package/dist/providers/adapters/openai-codex/control/timeoutBound.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/control/timeoutBound.js +45 -0
- package/dist/providers/adapters/openai-codex/control/timeoutBound.js.map +1 -0
- package/dist/providers/adapters/openai-codex/credentials.d.ts +91 -0
- package/dist/providers/adapters/openai-codex/credentials.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/credentials.js +178 -0
- package/dist/providers/adapters/openai-codex/credentials.js.map +1 -0
- package/dist/providers/adapters/openai-codex/errors.d.ts +25 -0
- package/dist/providers/adapters/openai-codex/errors.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/errors.js +74 -0
- package/dist/providers/adapters/openai-codex/errors.js.map +1 -0
- package/dist/providers/adapters/openai-codex/index.d.ts +31 -0
- package/dist/providers/adapters/openai-codex/index.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/index.js +135 -0
- package/dist/providers/adapters/openai-codex/index.js.map +1 -0
- package/dist/providers/adapters/openai-codex/integration/conversationLogProvider.d.ts +11 -0
- package/dist/providers/adapters/openai-codex/integration/conversationLogProvider.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/integration/conversationLogProvider.js +48 -0
- package/dist/providers/adapters/openai-codex/integration/conversationLogProvider.js.map +1 -0
- package/dist/providers/adapters/openai-codex/integration/mcpToolRegistry.d.ts +16 -0
- package/dist/providers/adapters/openai-codex/integration/mcpToolRegistry.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/integration/mcpToolRegistry.js +116 -0
- package/dist/providers/adapters/openai-codex/integration/mcpToolRegistry.js.map +1 -0
- package/dist/providers/adapters/openai-codex/integration/providerScaffolder.d.ts +30 -0
- package/dist/providers/adapters/openai-codex/integration/providerScaffolder.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/integration/providerScaffolder.js +182 -0
- package/dist/providers/adapters/openai-codex/integration/providerScaffolder.js.map +1 -0
- package/dist/providers/adapters/openai-codex/integration/sessionResumeIndex.d.ts +14 -0
- package/dist/providers/adapters/openai-codex/integration/sessionResumeIndex.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/integration/sessionResumeIndex.js +120 -0
- package/dist/providers/adapters/openai-codex/integration/sessionResumeIndex.js.map +1 -0
- package/dist/providers/adapters/openai-codex/models.d.ts +17 -0
- package/dist/providers/adapters/openai-codex/models.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/models.js +60 -0
- package/dist/providers/adapters/openai-codex/models.js.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/conversationLogReader.d.ts +18 -0
- package/dist/providers/adapters/openai-codex/observability/conversationLogReader.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/conversationLogReader.js +93 -0
- package/dist/providers/adapters/openai-codex/observability/conversationLogReader.js.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/conversationLogTailer.d.ts +11 -0
- package/dist/providers/adapters/openai-codex/observability/conversationLogTailer.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/conversationLogTailer.js +78 -0
- package/dist/providers/adapters/openai-codex/observability/conversationLogTailer.js.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/eventNormalizer.d.ts +47 -0
- package/dist/providers/adapters/openai-codex/observability/eventNormalizer.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/eventNormalizer.js +209 -0
- package/dist/providers/adapters/openai-codex/observability/eventNormalizer.js.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/hookEventReceiver.d.ts +20 -0
- package/dist/providers/adapters/openai-codex/observability/hookEventReceiver.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/hookEventReceiver.js +97 -0
- package/dist/providers/adapters/openai-codex/observability/hookEventReceiver.js.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/interactivePromptObserver.d.ts +20 -0
- package/dist/providers/adapters/openai-codex/observability/interactivePromptObserver.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/interactivePromptObserver.js +95 -0
- package/dist/providers/adapters/openai-codex/observability/interactivePromptObserver.js.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/liveOutputStream.d.ts +18 -0
- package/dist/providers/adapters/openai-codex/observability/liveOutputStream.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/liveOutputStream.js +78 -0
- package/dist/providers/adapters/openai-codex/observability/liveOutputStream.js.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/processLifecycle.d.ts +18 -0
- package/dist/providers/adapters/openai-codex/observability/processLifecycle.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/processLifecycle.js +84 -0
- package/dist/providers/adapters/openai-codex/observability/processLifecycle.js.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/sessionId.d.ts +21 -0
- package/dist/providers/adapters/openai-codex/observability/sessionId.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/sessionId.js +42 -0
- package/dist/providers/adapters/openai-codex/observability/sessionId.js.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/sessionPaths.d.ts +23 -0
- package/dist/providers/adapters/openai-codex/observability/sessionPaths.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/sessionPaths.js +89 -0
- package/dist/providers/adapters/openai-codex/observability/sessionPaths.js.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/subagentLifecycleObserver.d.ts +21 -0
- package/dist/providers/adapters/openai-codex/observability/subagentLifecycleObserver.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/subagentLifecycleObserver.js +86 -0
- package/dist/providers/adapters/openai-codex/observability/subagentLifecycleObserver.js.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/usageMeterProvider.d.ts +23 -0
- package/dist/providers/adapters/openai-codex/observability/usageMeterProvider.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/usageMeterProvider.js +59 -0
- package/dist/providers/adapters/openai-codex/observability/usageMeterProvider.js.map +1 -0
- package/dist/providers/adapters/openai-codex/stubs.d.ts +25 -0
- package/dist/providers/adapters/openai-codex/stubs.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/stubs.js +38 -0
- package/dist/providers/adapters/openai-codex/stubs.js.map +1 -0
- package/dist/providers/adapters/openai-codex/transport/agenticSessionHeadless.d.ts +51 -0
- package/dist/providers/adapters/openai-codex/transport/agenticSessionHeadless.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/transport/agenticSessionHeadless.js +191 -0
- package/dist/providers/adapters/openai-codex/transport/agenticSessionHeadless.js.map +1 -0
- package/dist/providers/adapters/openai-codex/transport/checkLocalProvider.d.ts +32 -0
- package/dist/providers/adapters/openai-codex/transport/checkLocalProvider.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/transport/checkLocalProvider.js +99 -0
- package/dist/providers/adapters/openai-codex/transport/checkLocalProvider.js.map +1 -0
- package/dist/providers/adapters/openai-codex/transport/codexSpawn.d.ts +66 -0
- package/dist/providers/adapters/openai-codex/transport/codexSpawn.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/transport/codexSpawn.js +246 -0
- package/dist/providers/adapters/openai-codex/transport/codexSpawn.js.map +1 -0
- package/dist/providers/adapters/openai-codex/transport/oneShotCompletion.d.ts +11 -0
- package/dist/providers/adapters/openai-codex/transport/oneShotCompletion.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/transport/oneShotCompletion.js +93 -0
- package/dist/providers/adapters/openai-codex/transport/oneShotCompletion.js.map +1 -0
- package/dist/providers/adapters/openai-codex/transport/structuredOneShot.d.ts +16 -0
- package/dist/providers/adapters/openai-codex/transport/structuredOneShot.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/transport/structuredOneShot.js +115 -0
- package/dist/providers/adapters/openai-codex/transport/structuredOneShot.js.map +1 -0
- package/dist/providers/canary/capabilityHonestyCanary.d.ts +44 -0
- package/dist/providers/canary/capabilityHonestyCanary.d.ts.map +1 -0
- package/dist/providers/canary/capabilityHonestyCanary.js +136 -0
- package/dist/providers/canary/capabilityHonestyCanary.js.map +1 -0
- package/dist/providers/capabilities.d.ts +97 -0
- package/dist/providers/capabilities.d.ts.map +1 -0
- package/dist/providers/capabilities.js +111 -0
- package/dist/providers/capabilities.js.map +1 -0
- package/dist/providers/conformance/capability/bashExecution.d.ts +11 -0
- package/dist/providers/conformance/capability/bashExecution.d.ts.map +1 -0
- package/dist/providers/conformance/capability/bashExecution.js +12 -0
- package/dist/providers/conformance/capability/bashExecution.js.map +1 -0
- package/dist/providers/conformance/capability/fileSystemAccess.d.ts +11 -0
- package/dist/providers/conformance/capability/fileSystemAccess.d.ts.map +1 -0
- package/dist/providers/conformance/capability/fileSystemAccess.js +12 -0
- package/dist/providers/conformance/capability/fileSystemAccess.js.map +1 -0
- package/dist/providers/conformance/capability/pathAllowlist.d.ts +11 -0
- package/dist/providers/conformance/capability/pathAllowlist.d.ts.map +1 -0
- package/dist/providers/conformance/capability/pathAllowlist.js +12 -0
- package/dist/providers/conformance/capability/pathAllowlist.js.map +1 -0
- package/dist/providers/conformance/capability/toolAccess.d.ts +11 -0
- package/dist/providers/conformance/capability/toolAccess.d.ts.map +1 -0
- package/dist/providers/conformance/capability/toolAccess.js +12 -0
- package/dist/providers/conformance/capability/toolAccess.js.map +1 -0
- package/dist/providers/conformance/capability/toolAllowlist.d.ts +11 -0
- package/dist/providers/conformance/capability/toolAllowlist.d.ts.map +1 -0
- package/dist/providers/conformance/capability/toolAllowlist.js +11 -0
- package/dist/providers/conformance/capability/toolAllowlist.js.map +1 -0
- package/dist/providers/conformance/capability/webAccess.d.ts +11 -0
- package/dist/providers/conformance/capability/webAccess.d.ts.map +1 -0
- package/dist/providers/conformance/capability/webAccess.js +12 -0
- package/dist/providers/conformance/capability/webAccess.js.map +1 -0
- package/dist/providers/conformance/control/authCredentialInjection.d.ts +11 -0
- package/dist/providers/conformance/control/authCredentialInjection.d.ts.map +1 -0
- package/dist/providers/conformance/control/authCredentialInjection.js +13 -0
- package/dist/providers/conformance/control/authCredentialInjection.js.map +1 -0
- package/dist/providers/conformance/control/compactionLifecycle.d.ts +11 -0
- package/dist/providers/conformance/control/compactionLifecycle.d.ts.map +1 -0
- package/dist/providers/conformance/control/compactionLifecycle.js +14 -0
- package/dist/providers/conformance/control/compactionLifecycle.js.map +1 -0
- package/dist/providers/conformance/control/contextScopeControl.d.ts +11 -0
- package/dist/providers/conformance/control/contextScopeControl.d.ts.map +1 -0
- package/dist/providers/conformance/control/contextScopeControl.js +13 -0
- package/dist/providers/conformance/control/contextScopeControl.js.map +1 -0
- package/dist/providers/conformance/control/credentialStorageProvider.d.ts +11 -0
- package/dist/providers/conformance/control/credentialStorageProvider.d.ts.map +1 -0
- package/dist/providers/conformance/control/credentialStorageProvider.js +18 -0
- package/dist/providers/conformance/control/credentialStorageProvider.js.map +1 -0
- package/dist/providers/conformance/control/hardKill.d.ts +11 -0
- package/dist/providers/conformance/control/hardKill.d.ts.map +1 -0
- package/dist/providers/conformance/control/hardKill.js +11 -0
- package/dist/providers/conformance/control/hardKill.js.map +1 -0
- package/dist/providers/conformance/control/idleBound.d.ts +11 -0
- package/dist/providers/conformance/control/idleBound.d.ts.map +1 -0
- package/dist/providers/conformance/control/idleBound.js +13 -0
- package/dist/providers/conformance/control/idleBound.js.map +1 -0
- package/dist/providers/conformance/control/inputInjection.d.ts +11 -0
- package/dist/providers/conformance/control/inputInjection.d.ts.map +1 -0
- package/dist/providers/conformance/control/inputInjection.js +12 -0
- package/dist/providers/conformance/control/inputInjection.js.map +1 -0
- package/dist/providers/conformance/control/intelligenceCallQueue.d.ts +11 -0
- package/dist/providers/conformance/control/intelligenceCallQueue.d.ts.map +1 -0
- package/dist/providers/conformance/control/intelligenceCallQueue.js +13 -0
- package/dist/providers/conformance/control/intelligenceCallQueue.js.map +1 -0
- package/dist/providers/conformance/control/interrupt.d.ts +11 -0
- package/dist/providers/conformance/control/interrupt.d.ts.map +1 -0
- package/dist/providers/conformance/control/interrupt.js +12 -0
- package/dist/providers/conformance/control/interrupt.js.map +1 -0
- package/dist/providers/conformance/control/stopGateInterceptor.d.ts +11 -0
- package/dist/providers/conformance/control/stopGateInterceptor.d.ts.map +1 -0
- package/dist/providers/conformance/control/stopGateInterceptor.js +11 -0
- package/dist/providers/conformance/control/stopGateInterceptor.js.map +1 -0
- package/dist/providers/conformance/control/timeoutBound.d.ts +11 -0
- package/dist/providers/conformance/control/timeoutBound.d.ts.map +1 -0
- package/dist/providers/conformance/control/timeoutBound.js +13 -0
- package/dist/providers/conformance/control/timeoutBound.js.map +1 -0
- package/dist/providers/conformance/index.d.ts +62 -0
- package/dist/providers/conformance/index.d.ts.map +1 -0
- package/dist/providers/conformance/index.js +68 -0
- package/dist/providers/conformance/index.js.map +1 -0
- package/dist/providers/conformance/integration/conversationLogProvider.d.ts +11 -0
- package/dist/providers/conformance/integration/conversationLogProvider.d.ts.map +1 -0
- package/dist/providers/conformance/integration/conversationLogProvider.js +11 -0
- package/dist/providers/conformance/integration/conversationLogProvider.js.map +1 -0
- package/dist/providers/conformance/integration/mcpToolRegistry.d.ts +11 -0
- package/dist/providers/conformance/integration/mcpToolRegistry.d.ts.map +1 -0
- package/dist/providers/conformance/integration/mcpToolRegistry.js +14 -0
- package/dist/providers/conformance/integration/mcpToolRegistry.js.map +1 -0
- package/dist/providers/conformance/integration/providerScaffolder.d.ts +11 -0
- package/dist/providers/conformance/integration/providerScaffolder.d.ts.map +1 -0
- package/dist/providers/conformance/integration/providerScaffolder.js +13 -0
- package/dist/providers/conformance/integration/providerScaffolder.js.map +1 -0
- package/dist/providers/conformance/integration/sessionResumeIndex.d.ts +11 -0
- package/dist/providers/conformance/integration/sessionResumeIndex.d.ts.map +1 -0
- package/dist/providers/conformance/integration/sessionResumeIndex.js +14 -0
- package/dist/providers/conformance/integration/sessionResumeIndex.js.map +1 -0
- package/dist/providers/conformance/observability/conversationLogReader.d.ts +11 -0
- package/dist/providers/conformance/observability/conversationLogReader.d.ts.map +1 -0
- package/dist/providers/conformance/observability/conversationLogReader.js +12 -0
- package/dist/providers/conformance/observability/conversationLogReader.js.map +1 -0
- package/dist/providers/conformance/observability/conversationLogTailer.d.ts +11 -0
- package/dist/providers/conformance/observability/conversationLogTailer.d.ts.map +1 -0
- package/dist/providers/conformance/observability/conversationLogTailer.js +11 -0
- package/dist/providers/conformance/observability/conversationLogTailer.js.map +1 -0
- package/dist/providers/conformance/observability/hookEventReceiver.d.ts +11 -0
- package/dist/providers/conformance/observability/hookEventReceiver.d.ts.map +1 -0
- package/dist/providers/conformance/observability/hookEventReceiver.js +13 -0
- package/dist/providers/conformance/observability/hookEventReceiver.js.map +1 -0
- package/dist/providers/conformance/observability/interactivePromptObserver.d.ts +11 -0
- package/dist/providers/conformance/observability/interactivePromptObserver.d.ts.map +1 -0
- package/dist/providers/conformance/observability/interactivePromptObserver.js +13 -0
- package/dist/providers/conformance/observability/interactivePromptObserver.js.map +1 -0
- package/dist/providers/conformance/observability/liveOutputStream.d.ts +11 -0
- package/dist/providers/conformance/observability/liveOutputStream.d.ts.map +1 -0
- package/dist/providers/conformance/observability/liveOutputStream.js +12 -0
- package/dist/providers/conformance/observability/liveOutputStream.js.map +1 -0
- package/dist/providers/conformance/observability/processLifecycle.d.ts +11 -0
- package/dist/providers/conformance/observability/processLifecycle.d.ts.map +1 -0
- package/dist/providers/conformance/observability/processLifecycle.js +12 -0
- package/dist/providers/conformance/observability/processLifecycle.js.map +1 -0
- package/dist/providers/conformance/observability/sessionId.d.ts +11 -0
- package/dist/providers/conformance/observability/sessionId.d.ts.map +1 -0
- package/dist/providers/conformance/observability/sessionId.js +12 -0
- package/dist/providers/conformance/observability/sessionId.js.map +1 -0
- package/dist/providers/conformance/observability/subagentLifecycleObserver.d.ts +11 -0
- package/dist/providers/conformance/observability/subagentLifecycleObserver.d.ts.map +1 -0
- package/dist/providers/conformance/observability/subagentLifecycleObserver.js +13 -0
- package/dist/providers/conformance/observability/subagentLifecycleObserver.js.map +1 -0
- package/dist/providers/conformance/observability/usageMeterProvider.d.ts +11 -0
- package/dist/providers/conformance/observability/usageMeterProvider.d.ts.map +1 -0
- package/dist/providers/conformance/observability/usageMeterProvider.js +12 -0
- package/dist/providers/conformance/observability/usageMeterProvider.js.map +1 -0
- package/dist/providers/conformance/optional/capabilityNegotiation.d.ts +11 -0
- package/dist/providers/conformance/optional/capabilityNegotiation.d.ts.map +1 -0
- package/dist/providers/conformance/optional/capabilityNegotiation.js +11 -0
- package/dist/providers/conformance/optional/capabilityNegotiation.js.map +1 -0
- package/dist/providers/conformance/optional/codeReviewPreset.d.ts +11 -0
- package/dist/providers/conformance/optional/codeReviewPreset.d.ts.map +1 -0
- package/dist/providers/conformance/optional/codeReviewPreset.js +11 -0
- package/dist/providers/conformance/optional/codeReviewPreset.js.map +1 -0
- package/dist/providers/conformance/optional/complianceApi.d.ts +11 -0
- package/dist/providers/conformance/optional/complianceApi.d.ts.map +1 -0
- package/dist/providers/conformance/optional/complianceApi.js +13 -0
- package/dist/providers/conformance/optional/complianceApi.js.map +1 -0
- package/dist/providers/conformance/optional/csvBatchMode.d.ts +11 -0
- package/dist/providers/conformance/optional/csvBatchMode.d.ts.map +1 -0
- package/dist/providers/conformance/optional/csvBatchMode.js +11 -0
- package/dist/providers/conformance/optional/csvBatchMode.js.map +1 -0
- package/dist/providers/conformance/optional/customModelProvider.d.ts +11 -0
- package/dist/providers/conformance/optional/customModelProvider.d.ts.map +1 -0
- package/dist/providers/conformance/optional/customModelProvider.js +15 -0
- package/dist/providers/conformance/optional/customModelProvider.js.map +1 -0
- package/dist/providers/conformance/optional/filesystemRpc.d.ts +11 -0
- package/dist/providers/conformance/optional/filesystemRpc.d.ts.map +1 -0
- package/dist/providers/conformance/optional/filesystemRpc.js +14 -0
- package/dist/providers/conformance/optional/filesystemRpc.js.map +1 -0
- package/dist/providers/conformance/optional/notificationOptOut.d.ts +11 -0
- package/dist/providers/conformance/optional/notificationOptOut.d.ts.map +1 -0
- package/dist/providers/conformance/optional/notificationOptOut.js +12 -0
- package/dist/providers/conformance/optional/notificationOptOut.js.map +1 -0
- package/dist/providers/conformance/optional/otelExporter.d.ts +11 -0
- package/dist/providers/conformance/optional/otelExporter.d.ts.map +1 -0
- package/dist/providers/conformance/optional/otelExporter.js +12 -0
- package/dist/providers/conformance/optional/otelExporter.js.map +1 -0
- package/dist/providers/conformance/optional/pluginRegistry.d.ts +11 -0
- package/dist/providers/conformance/optional/pluginRegistry.d.ts.map +1 -0
- package/dist/providers/conformance/optional/pluginRegistry.js +14 -0
- package/dist/providers/conformance/optional/pluginRegistry.js.map +1 -0
- package/dist/providers/conformance/optional/processSpawn.d.ts +11 -0
- package/dist/providers/conformance/optional/processSpawn.d.ts.map +1 -0
- package/dist/providers/conformance/optional/processSpawn.js +13 -0
- package/dist/providers/conformance/optional/processSpawn.js.map +1 -0
- package/dist/providers/conformance/optional/profileSwitcher.d.ts +11 -0
- package/dist/providers/conformance/optional/profileSwitcher.d.ts.map +1 -0
- package/dist/providers/conformance/optional/profileSwitcher.js +15 -0
- package/dist/providers/conformance/optional/profileSwitcher.js.map +1 -0
- package/dist/providers/conformance/optional/requirementsToml.d.ts +11 -0
- package/dist/providers/conformance/optional/requirementsToml.d.ts.map +1 -0
- package/dist/providers/conformance/optional/requirementsToml.js +13 -0
- package/dist/providers/conformance/optional/requirementsToml.js.map +1 -0
- package/dist/providers/conformance/optional/selfUpdate.d.ts +11 -0
- package/dist/providers/conformance/optional/selfUpdate.d.ts.map +1 -0
- package/dist/providers/conformance/optional/selfUpdate.js +12 -0
- package/dist/providers/conformance/optional/selfUpdate.js.map +1 -0
- package/dist/providers/conformance/optional/shellEnvironmentPolicy.d.ts +11 -0
- package/dist/providers/conformance/optional/shellEnvironmentPolicy.d.ts.map +1 -0
- package/dist/providers/conformance/optional/shellEnvironmentPolicy.js +12 -0
- package/dist/providers/conformance/optional/shellEnvironmentPolicy.js.map +1 -0
- package/dist/providers/conformance/optional/threadFork.d.ts +11 -0
- package/dist/providers/conformance/optional/threadFork.d.ts.map +1 -0
- package/dist/providers/conformance/optional/threadFork.js +12 -0
- package/dist/providers/conformance/optional/threadFork.js.map +1 -0
- package/dist/providers/conformance/optional/threadGoalSlot.d.ts +11 -0
- package/dist/providers/conformance/optional/threadGoalSlot.d.ts.map +1 -0
- package/dist/providers/conformance/optional/threadGoalSlot.js +13 -0
- package/dist/providers/conformance/optional/threadGoalSlot.js.map +1 -0
- package/dist/providers/conformance/optional/threadRollback.d.ts +11 -0
- package/dist/providers/conformance/optional/threadRollback.d.ts.map +1 -0
- package/dist/providers/conformance/optional/threadRollback.js +11 -0
- package/dist/providers/conformance/optional/threadRollback.js.map +1 -0
- package/dist/providers/conformance/optional/trustedProjectGate.d.ts +11 -0
- package/dist/providers/conformance/optional/trustedProjectGate.d.ts.map +1 -0
- package/dist/providers/conformance/optional/trustedProjectGate.js +14 -0
- package/dist/providers/conformance/optional/trustedProjectGate.js.map +1 -0
- package/dist/providers/conformance/runner.d.ts +99 -0
- package/dist/providers/conformance/runner.d.ts.map +1 -0
- package/dist/providers/conformance/runner.js +70 -0
- package/dist/providers/conformance/runner.js.map +1 -0
- package/dist/providers/conformance/transport/agenticSessionHeadless.d.ts +11 -0
- package/dist/providers/conformance/transport/agenticSessionHeadless.d.ts.map +1 -0
- package/dist/providers/conformance/transport/agenticSessionHeadless.js +11 -0
- package/dist/providers/conformance/transport/agenticSessionHeadless.js.map +1 -0
- package/dist/providers/conformance/transport/agenticSessionInteractive.d.ts +11 -0
- package/dist/providers/conformance/transport/agenticSessionInteractive.d.ts.map +1 -0
- package/dist/providers/conformance/transport/agenticSessionInteractive.js +11 -0
- package/dist/providers/conformance/transport/agenticSessionInteractive.js.map +1 -0
- package/dist/providers/conformance/transport/agenticSessionRpc.d.ts +11 -0
- package/dist/providers/conformance/transport/agenticSessionRpc.d.ts.map +1 -0
- package/dist/providers/conformance/transport/agenticSessionRpc.js +15 -0
- package/dist/providers/conformance/transport/agenticSessionRpc.js.map +1 -0
- package/dist/providers/conformance/transport/oneShotCompletion.d.ts +11 -0
- package/dist/providers/conformance/transport/oneShotCompletion.d.ts.map +1 -0
- package/dist/providers/conformance/transport/oneShotCompletion.js +11 -0
- package/dist/providers/conformance/transport/oneShotCompletion.js.map +1 -0
- package/dist/providers/conformance/transport/structuredOneShot.d.ts +11 -0
- package/dist/providers/conformance/transport/structuredOneShot.d.ts.map +1 -0
- package/dist/providers/conformance/transport/structuredOneShot.js +11 -0
- package/dist/providers/conformance/transport/structuredOneShot.js.map +1 -0
- package/dist/providers/conformance/transport/warmSessionInbox.d.ts +11 -0
- package/dist/providers/conformance/transport/warmSessionInbox.d.ts.map +1 -0
- package/dist/providers/conformance/transport/warmSessionInbox.js +13 -0
- package/dist/providers/conformance/transport/warmSessionInbox.js.map +1 -0
- package/dist/providers/costAwareRouting.d.ts +134 -0
- package/dist/providers/costAwareRouting.d.ts.map +1 -0
- package/dist/providers/costAwareRouting.js +169 -0
- package/dist/providers/costAwareRouting.js.map +1 -0
- package/dist/providers/errors.d.ts +100 -0
- package/dist/providers/errors.d.ts.map +1 -0
- package/dist/providers/errors.js +139 -0
- package/dist/providers/errors.js.map +1 -0
- package/dist/providers/events.d.ts +166 -0
- package/dist/providers/events.d.ts.map +1 -0
- package/dist/providers/events.js +38 -0
- package/dist/providers/events.js.map +1 -0
- package/dist/providers/markers.d.ts +35 -0
- package/dist/providers/markers.d.ts.map +1 -0
- package/dist/providers/markers.js +40 -0
- package/dist/providers/markers.js.map +1 -0
- package/dist/providers/parity/_codex_paritytest.d.ts +16 -0
- package/dist/providers/parity/_codex_paritytest.d.ts.map +1 -0
- package/dist/providers/parity/_codex_paritytest.js +37 -0
- package/dist/providers/parity/_codex_paritytest.js.map +1 -0
- package/dist/providers/parity/_paritytest.d.ts +15 -0
- package/dist/providers/parity/_paritytest.d.ts.map +1 -0
- package/dist/providers/parity/_paritytest.js +36 -0
- package/dist/providers/parity/_paritytest.js.map +1 -0
- package/dist/providers/parity/index.d.ts +39 -0
- package/dist/providers/parity/index.d.ts.map +1 -0
- package/dist/providers/parity/index.js +24 -0
- package/dist/providers/parity/index.js.map +1 -0
- package/dist/providers/parity/runner.d.ts +78 -0
- package/dist/providers/parity/runner.d.ts.map +1 -0
- package/dist/providers/parity/runner.js +96 -0
- package/dist/providers/parity/runner.js.map +1 -0
- package/dist/providers/parity/scenarios/capabilityOverlap.d.ts +23 -0
- package/dist/providers/parity/scenarios/capabilityOverlap.d.ts.map +1 -0
- package/dist/providers/parity/scenarios/capabilityOverlap.js +100 -0
- package/dist/providers/parity/scenarios/capabilityOverlap.js.map +1 -0
- package/dist/providers/parity/scenarios/oneShotCompletion.d.ts +46 -0
- package/dist/providers/parity/scenarios/oneShotCompletion.d.ts.map +1 -0
- package/dist/providers/parity/scenarios/oneShotCompletion.js +127 -0
- package/dist/providers/parity/scenarios/oneShotCompletion.js.map +1 -0
- package/dist/providers/parity/scenarios/sessionId.d.ts +28 -0
- package/dist/providers/parity/scenarios/sessionId.d.ts.map +1 -0
- package/dist/providers/parity/scenarios/sessionId.js +71 -0
- package/dist/providers/parity/scenarios/sessionId.js.map +1 -0
- package/dist/providers/primitives/capability/bashExecution.d.ts +53 -0
- package/dist/providers/primitives/capability/bashExecution.d.ts.map +1 -0
- package/dist/providers/primitives/capability/bashExecution.js +15 -0
- package/dist/providers/primitives/capability/bashExecution.js.map +1 -0
- package/dist/providers/primitives/capability/fileSystemAccess.d.ts +42 -0
- package/dist/providers/primitives/capability/fileSystemAccess.d.ts.map +1 -0
- package/dist/providers/primitives/capability/fileSystemAccess.js +17 -0
- package/dist/providers/primitives/capability/fileSystemAccess.js.map +1 -0
- package/dist/providers/primitives/capability/pathAllowlist.d.ts +41 -0
- package/dist/providers/primitives/capability/pathAllowlist.d.ts.map +1 -0
- package/dist/providers/primitives/capability/pathAllowlist.js +18 -0
- package/dist/providers/primitives/capability/pathAllowlist.js.map +1 -0
- package/dist/providers/primitives/capability/toolAccess.d.ts +38 -0
- package/dist/providers/primitives/capability/toolAccess.d.ts.map +1 -0
- package/dist/providers/primitives/capability/toolAccess.js +16 -0
- package/dist/providers/primitives/capability/toolAccess.js.map +1 -0
- package/dist/providers/primitives/capability/toolAllowlist.d.ts +57 -0
- package/dist/providers/primitives/capability/toolAllowlist.d.ts.map +1 -0
- package/dist/providers/primitives/capability/toolAllowlist.js +14 -0
- package/dist/providers/primitives/capability/toolAllowlist.js.map +1 -0
- package/dist/providers/primitives/capability/webAccess.d.ts +45 -0
- package/dist/providers/primitives/capability/webAccess.d.ts.map +1 -0
- package/dist/providers/primitives/capability/webAccess.js +14 -0
- package/dist/providers/primitives/capability/webAccess.js.map +1 -0
- package/dist/providers/primitives/control/authCredentialInjection.d.ts +64 -0
- package/dist/providers/primitives/control/authCredentialInjection.d.ts.map +1 -0
- package/dist/providers/primitives/control/authCredentialInjection.js +18 -0
- package/dist/providers/primitives/control/authCredentialInjection.js.map +1 -0
- package/dist/providers/primitives/control/compactionLifecycle.d.ts +68 -0
- package/dist/providers/primitives/control/compactionLifecycle.d.ts.map +1 -0
- package/dist/providers/primitives/control/compactionLifecycle.js +24 -0
- package/dist/providers/primitives/control/compactionLifecycle.js.map +1 -0
- package/dist/providers/primitives/control/contextScopeControl.d.ts +67 -0
- package/dist/providers/primitives/control/contextScopeControl.d.ts.map +1 -0
- package/dist/providers/primitives/control/contextScopeControl.js +24 -0
- package/dist/providers/primitives/control/contextScopeControl.js.map +1 -0
- package/dist/providers/primitives/control/credentialStorageProvider.d.ts +48 -0
- package/dist/providers/primitives/control/credentialStorageProvider.d.ts.map +1 -0
- package/dist/providers/primitives/control/credentialStorageProvider.js +23 -0
- package/dist/providers/primitives/control/credentialStorageProvider.js.map +1 -0
- package/dist/providers/primitives/control/hardKill.d.ts +39 -0
- package/dist/providers/primitives/control/hardKill.d.ts.map +1 -0
- package/dist/providers/primitives/control/hardKill.js +20 -0
- package/dist/providers/primitives/control/hardKill.js.map +1 -0
- package/dist/providers/primitives/control/idleBound.d.ts +48 -0
- package/dist/providers/primitives/control/idleBound.d.ts.map +1 -0
- package/dist/providers/primitives/control/idleBound.js +21 -0
- package/dist/providers/primitives/control/idleBound.js.map +1 -0
- package/dist/providers/primitives/control/inputInjection.d.ts +46 -0
- package/dist/providers/primitives/control/inputInjection.d.ts.map +1 -0
- package/dist/providers/primitives/control/inputInjection.js +19 -0
- package/dist/providers/primitives/control/inputInjection.js.map +1 -0
- package/dist/providers/primitives/control/intelligenceCallQueue.d.ts +106 -0
- package/dist/providers/primitives/control/intelligenceCallQueue.d.ts.map +1 -0
- package/dist/providers/primitives/control/intelligenceCallQueue.js +24 -0
- package/dist/providers/primitives/control/intelligenceCallQueue.js.map +1 -0
- package/dist/providers/primitives/control/interrupt.d.ts +45 -0
- package/dist/providers/primitives/control/interrupt.d.ts.map +1 -0
- package/dist/providers/primitives/control/interrupt.js +26 -0
- package/dist/providers/primitives/control/interrupt.js.map +1 -0
- package/dist/providers/primitives/control/stopGateInterceptor.d.ts +55 -0
- package/dist/providers/primitives/control/stopGateInterceptor.d.ts.map +1 -0
- package/dist/providers/primitives/control/stopGateInterceptor.js +21 -0
- package/dist/providers/primitives/control/stopGateInterceptor.js.map +1 -0
- package/dist/providers/primitives/control/timeoutBound.d.ts +54 -0
- package/dist/providers/primitives/control/timeoutBound.d.ts.map +1 -0
- package/dist/providers/primitives/control/timeoutBound.js +23 -0
- package/dist/providers/primitives/control/timeoutBound.js.map +1 -0
- package/dist/providers/primitives/integration/conversationLogProvider.d.ts +35 -0
- package/dist/providers/primitives/integration/conversationLogProvider.d.ts.map +1 -0
- package/dist/providers/primitives/integration/conversationLogProvider.js +14 -0
- package/dist/providers/primitives/integration/conversationLogProvider.js.map +1 -0
- package/dist/providers/primitives/integration/mcpToolRegistry.d.ts +55 -0
- package/dist/providers/primitives/integration/mcpToolRegistry.d.ts.map +1 -0
- package/dist/providers/primitives/integration/mcpToolRegistry.js +20 -0
- package/dist/providers/primitives/integration/mcpToolRegistry.js.map +1 -0
- package/dist/providers/primitives/integration/providerScaffolder.d.ts +84 -0
- package/dist/providers/primitives/integration/providerScaffolder.d.ts.map +1 -0
- package/dist/providers/primitives/integration/providerScaffolder.js +24 -0
- package/dist/providers/primitives/integration/providerScaffolder.js.map +1 -0
- package/dist/providers/primitives/integration/sessionResumeIndex.d.ts +73 -0
- package/dist/providers/primitives/integration/sessionResumeIndex.d.ts.map +1 -0
- package/dist/providers/primitives/integration/sessionResumeIndex.js +20 -0
- package/dist/providers/primitives/integration/sessionResumeIndex.js.map +1 -0
- package/dist/providers/primitives/observability/conversationLogReader.d.ts +46 -0
- package/dist/providers/primitives/observability/conversationLogReader.d.ts.map +1 -0
- package/dist/providers/primitives/observability/conversationLogReader.js +20 -0
- package/dist/providers/primitives/observability/conversationLogReader.js.map +1 -0
- package/dist/providers/primitives/observability/conversationLogTailer.d.ts +49 -0
- package/dist/providers/primitives/observability/conversationLogTailer.d.ts.map +1 -0
- package/dist/providers/primitives/observability/conversationLogTailer.js +23 -0
- package/dist/providers/primitives/observability/conversationLogTailer.js.map +1 -0
- package/dist/providers/primitives/observability/hookEventReceiver.d.ts +88 -0
- package/dist/providers/primitives/observability/hookEventReceiver.d.ts.map +1 -0
- package/dist/providers/primitives/observability/hookEventReceiver.js +30 -0
- package/dist/providers/primitives/observability/hookEventReceiver.js.map +1 -0
- package/dist/providers/primitives/observability/interactivePromptObserver.d.ts +65 -0
- package/dist/providers/primitives/observability/interactivePromptObserver.d.ts.map +1 -0
- package/dist/providers/primitives/observability/interactivePromptObserver.js +24 -0
- package/dist/providers/primitives/observability/interactivePromptObserver.js.map +1 -0
- package/dist/providers/primitives/observability/liveOutputStream.d.ts +56 -0
- package/dist/providers/primitives/observability/liveOutputStream.d.ts.map +1 -0
- package/dist/providers/primitives/observability/liveOutputStream.js +19 -0
- package/dist/providers/primitives/observability/liveOutputStream.js.map +1 -0
- package/dist/providers/primitives/observability/processLifecycle.d.ts +47 -0
- package/dist/providers/primitives/observability/processLifecycle.d.ts.map +1 -0
- package/dist/providers/primitives/observability/processLifecycle.js +20 -0
- package/dist/providers/primitives/observability/processLifecycle.js.map +1 -0
- package/dist/providers/primitives/observability/sessionId.d.ts +33 -0
- package/dist/providers/primitives/observability/sessionId.d.ts.map +1 -0
- package/dist/providers/primitives/observability/sessionId.js +21 -0
- package/dist/providers/primitives/observability/sessionId.js.map +1 -0
- package/dist/providers/primitives/observability/subagentLifecycleObserver.d.ts +53 -0
- package/dist/providers/primitives/observability/subagentLifecycleObserver.d.ts.map +1 -0
- package/dist/providers/primitives/observability/subagentLifecycleObserver.js +23 -0
- package/dist/providers/primitives/observability/subagentLifecycleObserver.js.map +1 -0
- package/dist/providers/primitives/observability/usageMeterProvider.d.ts +76 -0
- package/dist/providers/primitives/observability/usageMeterProvider.d.ts.map +1 -0
- package/dist/providers/primitives/observability/usageMeterProvider.js +24 -0
- package/dist/providers/primitives/observability/usageMeterProvider.js.map +1 -0
- package/dist/providers/primitives/optional/capabilityNegotiation.d.ts +35 -0
- package/dist/providers/primitives/optional/capabilityNegotiation.d.ts.map +1 -0
- package/dist/providers/primitives/optional/capabilityNegotiation.js +18 -0
- package/dist/providers/primitives/optional/capabilityNegotiation.js.map +1 -0
- package/dist/providers/primitives/optional/codeReviewPreset.d.ts +60 -0
- package/dist/providers/primitives/optional/codeReviewPreset.d.ts.map +1 -0
- package/dist/providers/primitives/optional/codeReviewPreset.js +16 -0
- package/dist/providers/primitives/optional/codeReviewPreset.js.map +1 -0
- package/dist/providers/primitives/optional/complianceApi.d.ts +48 -0
- package/dist/providers/primitives/optional/complianceApi.d.ts.map +1 -0
- package/dist/providers/primitives/optional/complianceApi.js +17 -0
- package/dist/providers/primitives/optional/complianceApi.js.map +1 -0
- package/dist/providers/primitives/optional/csvBatchMode.d.ts +47 -0
- package/dist/providers/primitives/optional/csvBatchMode.d.ts.map +1 -0
- package/dist/providers/primitives/optional/csvBatchMode.js +13 -0
- package/dist/providers/primitives/optional/csvBatchMode.js.map +1 -0
- package/dist/providers/primitives/optional/customModelProvider.d.ts +67 -0
- package/dist/providers/primitives/optional/customModelProvider.d.ts.map +1 -0
- package/dist/providers/primitives/optional/customModelProvider.js +21 -0
- package/dist/providers/primitives/optional/customModelProvider.js.map +1 -0
- package/dist/providers/primitives/optional/filesystemRpc.d.ts +28 -0
- package/dist/providers/primitives/optional/filesystemRpc.d.ts.map +1 -0
- package/dist/providers/primitives/optional/filesystemRpc.js +15 -0
- package/dist/providers/primitives/optional/filesystemRpc.js.map +1 -0
- package/dist/providers/primitives/optional/notificationOptOut.d.ts +25 -0
- package/dist/providers/primitives/optional/notificationOptOut.d.ts.map +1 -0
- package/dist/providers/primitives/optional/notificationOptOut.js +14 -0
- package/dist/providers/primitives/optional/notificationOptOut.js.map +1 -0
- package/dist/providers/primitives/optional/otelExporter.d.ts +30 -0
- package/dist/providers/primitives/optional/otelExporter.d.ts.map +1 -0
- package/dist/providers/primitives/optional/otelExporter.js +13 -0
- package/dist/providers/primitives/optional/otelExporter.js.map +1 -0
- package/dist/providers/primitives/optional/pluginRegistry.d.ts +56 -0
- package/dist/providers/primitives/optional/pluginRegistry.d.ts.map +1 -0
- package/dist/providers/primitives/optional/pluginRegistry.js +16 -0
- package/dist/providers/primitives/optional/pluginRegistry.js.map +1 -0
- package/dist/providers/primitives/optional/processSpawn.d.ts +44 -0
- package/dist/providers/primitives/optional/processSpawn.d.ts.map +1 -0
- package/dist/providers/primitives/optional/processSpawn.js +16 -0
- package/dist/providers/primitives/optional/processSpawn.js.map +1 -0
- package/dist/providers/primitives/optional/profileSwitcher.d.ts +33 -0
- package/dist/providers/primitives/optional/profileSwitcher.d.ts.map +1 -0
- package/dist/providers/primitives/optional/profileSwitcher.js +15 -0
- package/dist/providers/primitives/optional/profileSwitcher.js.map +1 -0
- package/dist/providers/primitives/optional/requirementsToml.d.ts +47 -0
- package/dist/providers/primitives/optional/requirementsToml.d.ts.map +1 -0
- package/dist/providers/primitives/optional/requirementsToml.js +13 -0
- package/dist/providers/primitives/optional/requirementsToml.js.map +1 -0
- package/dist/providers/primitives/optional/selfUpdate.d.ts +34 -0
- package/dist/providers/primitives/optional/selfUpdate.d.ts.map +1 -0
- package/dist/providers/primitives/optional/selfUpdate.js +13 -0
- package/dist/providers/primitives/optional/selfUpdate.js.map +1 -0
- package/dist/providers/primitives/optional/shellEnvironmentPolicy.d.ts +35 -0
- package/dist/providers/primitives/optional/shellEnvironmentPolicy.d.ts.map +1 -0
- package/dist/providers/primitives/optional/shellEnvironmentPolicy.js +15 -0
- package/dist/providers/primitives/optional/shellEnvironmentPolicy.js.map +1 -0
- package/dist/providers/primitives/optional/threadFork.d.ts +47 -0
- package/dist/providers/primitives/optional/threadFork.d.ts.map +1 -0
- package/dist/providers/primitives/optional/threadFork.js +13 -0
- package/dist/providers/primitives/optional/threadFork.js.map +1 -0
- package/dist/providers/primitives/optional/threadGoalSlot.d.ts +23 -0
- package/dist/providers/primitives/optional/threadGoalSlot.d.ts.map +1 -0
- package/dist/providers/primitives/optional/threadGoalSlot.js +13 -0
- package/dist/providers/primitives/optional/threadGoalSlot.js.map +1 -0
- package/dist/providers/primitives/optional/threadRollback.d.ts +34 -0
- package/dist/providers/primitives/optional/threadRollback.d.ts.map +1 -0
- package/dist/providers/primitives/optional/threadRollback.js +12 -0
- package/dist/providers/primitives/optional/threadRollback.js.map +1 -0
- package/dist/providers/primitives/optional/trustedProjectGate.d.ts +44 -0
- package/dist/providers/primitives/optional/trustedProjectGate.d.ts.map +1 -0
- package/dist/providers/primitives/optional/trustedProjectGate.js +20 -0
- package/dist/providers/primitives/optional/trustedProjectGate.js.map +1 -0
- package/dist/providers/primitives/transport/agenticSessionHeadless.d.ts +87 -0
- package/dist/providers/primitives/transport/agenticSessionHeadless.d.ts.map +1 -0
- package/dist/providers/primitives/transport/agenticSessionHeadless.js +22 -0
- package/dist/providers/primitives/transport/agenticSessionHeadless.js.map +1 -0
- package/dist/providers/primitives/transport/agenticSessionInteractive.d.ts +72 -0
- package/dist/providers/primitives/transport/agenticSessionInteractive.d.ts.map +1 -0
- package/dist/providers/primitives/transport/agenticSessionInteractive.js +30 -0
- package/dist/providers/primitives/transport/agenticSessionInteractive.js.map +1 -0
- package/dist/providers/primitives/transport/agenticSessionRpc.d.ts +83 -0
- package/dist/providers/primitives/transport/agenticSessionRpc.d.ts.map +1 -0
- package/dist/providers/primitives/transport/agenticSessionRpc.js +28 -0
- package/dist/providers/primitives/transport/agenticSessionRpc.js.map +1 -0
- package/dist/providers/primitives/transport/oneShotCompletion.d.ts +56 -0
- package/dist/providers/primitives/transport/oneShotCompletion.d.ts.map +1 -0
- package/dist/providers/primitives/transport/oneShotCompletion.js +26 -0
- package/dist/providers/primitives/transport/oneShotCompletion.js.map +1 -0
- package/dist/providers/primitives/transport/structuredOneShot.d.ts +70 -0
- package/dist/providers/primitives/transport/structuredOneShot.d.ts.map +1 -0
- package/dist/providers/primitives/transport/structuredOneShot.js +23 -0
- package/dist/providers/primitives/transport/structuredOneShot.js.map +1 -0
- package/dist/providers/primitives/transport/warmSessionInbox.d.ts +94 -0
- package/dist/providers/primitives/transport/warmSessionInbox.d.ts.map +1 -0
- package/dist/providers/primitives/transport/warmSessionInbox.js +33 -0
- package/dist/providers/primitives/transport/warmSessionInbox.js.map +1 -0
- package/dist/providers/registry.d.ts +101 -0
- package/dist/providers/registry.d.ts.map +1 -0
- package/dist/providers/registry.js +109 -0
- package/dist/providers/registry.js.map +1 -0
- package/dist/providers/routing.d.ts +59 -0
- package/dist/providers/routing.d.ts.map +1 -0
- package/dist/providers/routing.js +72 -0
- package/dist/providers/routing.js.map +1 -0
- package/dist/providers/types.d.ts +82 -0
- package/dist/providers/types.d.ts.map +1 -0
- package/dist/providers/types.js +16 -0
- package/dist/providers/types.js.map +1 -0
- package/dist/providers/uxConfirm/FrameworkModelRouter.d.ts +97 -0
- package/dist/providers/uxConfirm/FrameworkModelRouter.d.ts.map +1 -0
- package/dist/providers/uxConfirm/FrameworkModelRouter.js +218 -0
- package/dist/providers/uxConfirm/FrameworkModelRouter.js.map +1 -0
- package/dist/providers/uxConfirm/OverrideDetector.d.ts +65 -0
- package/dist/providers/uxConfirm/OverrideDetector.d.ts.map +1 -0
- package/dist/providers/uxConfirm/OverrideDetector.js +149 -0
- package/dist/providers/uxConfirm/OverrideDetector.js.map +1 -0
- package/dist/providers/uxConfirm/PreferenceStore.d.ts +57 -0
- package/dist/providers/uxConfirm/PreferenceStore.d.ts.map +1 -0
- package/dist/providers/uxConfirm/PreferenceStore.js +125 -0
- package/dist/providers/uxConfirm/PreferenceStore.js.map +1 -0
- package/dist/providers/uxConfirm/StaticCatalogProvider.d.ts +60 -0
- package/dist/providers/uxConfirm/StaticCatalogProvider.d.ts.map +1 -0
- package/dist/providers/uxConfirm/StaticCatalogProvider.js +155 -0
- package/dist/providers/uxConfirm/StaticCatalogProvider.js.map +1 -0
- package/dist/providers/uxConfirm/TaskClassifier.d.ts +67 -0
- package/dist/providers/uxConfirm/TaskClassifier.d.ts.map +1 -0
- package/dist/providers/uxConfirm/TaskClassifier.js +122 -0
- package/dist/providers/uxConfirm/TaskClassifier.js.map +1 -0
- package/dist/providers/uxConfirm/TelegramConfirmationTransport.d.ts +98 -0
- package/dist/providers/uxConfirm/TelegramConfirmationTransport.d.ts.map +1 -0
- package/dist/providers/uxConfirm/TelegramConfirmationTransport.js +99 -0
- package/dist/providers/uxConfirm/TelegramConfirmationTransport.js.map +1 -0
- package/dist/providers/uxConfirm/TelegramConfirmer.d.ts +102 -0
- package/dist/providers/uxConfirm/TelegramConfirmer.d.ts.map +1 -0
- package/dist/providers/uxConfirm/TelegramConfirmer.js +163 -0
- package/dist/providers/uxConfirm/TelegramConfirmer.js.map +1 -0
- package/dist/providers/uxConfirm/TriggerGate.d.ts +64 -0
- package/dist/providers/uxConfirm/TriggerGate.d.ts.map +1 -0
- package/dist/providers/uxConfirm/TriggerGate.js +73 -0
- package/dist/providers/uxConfirm/TriggerGate.js.map +1 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +243 -23
- package/dist/server/routes.js.map +1 -1
- package/dist/threadline/PipeSessionSpawner.d.ts +18 -1
- package/dist/threadline/PipeSessionSpawner.d.ts.map +1 -1
- package/dist/threadline/PipeSessionSpawner.js +65 -19
- package/dist/threadline/PipeSessionSpawner.js.map +1 -1
- package/package.json +2 -2
- package/scripts/check-codex-rule1-drift.js +117 -0
- package/scripts/check-phase-complete.cjs +151 -0
- package/scripts/check-rule3-coverage.cjs +277 -0
- package/scripts/lint-no-direct-llm-http.js +12 -1
- package/src/data/builtin-manifest.json +94 -94
- package/upgrades/0.28.114.md +44 -0
- package/upgrades/0.28.115.md +38 -0
- package/upgrades/1.0.0.md +165 -0
- package/upgrades/side-effects/1.0.0.md +75 -0
- package/upgrades/side-effects/canary-llm-fallback-wiring.md +66 -0
- package/upgrades/side-effects/codex-rule1-phase-a-and-b-groundwork.md +83 -0
- package/upgrades/side-effects/codex-telegram-relay-bootstrap.md +68 -0
- package/upgrades/side-effects/codex-topic-roundtrip-fixes.md +113 -0
- package/upgrades/side-effects/coherence-apikey-cleanup.md +66 -0
- package/upgrades/side-effects/config-framework-routing-skip-guard.md +35 -0
- package/upgrades/side-effects/feat-codex-session-resume.md +84 -0
- package/upgrades/side-effects/fix-codex-skill-scaffold-path.md +86 -0
- package/upgrades/side-effects/local-model-codex-oss.md +63 -0
- package/upgrades/side-effects/local-model-conversational-command.md +74 -0
- package/upgrades/side-effects/migrate-provider-portability.md +58 -0
- package/upgrades/side-effects/openai-codex-env-scrubbing.md +366 -0
- package/upgrades/side-effects/phase-5-set-routing-policy.md +145 -0
- package/upgrades/side-effects/phase-5-test-mode-routes.md +201 -0
- package/upgrades/side-effects/phase-5b1-preference-store-trigger-gate.md +78 -0
- package/upgrades/side-effects/phase-5b2-task-classifier-override-detector.md +83 -0
- package/upgrades/side-effects/phase-5b3-telegram-confirmer.md +76 -0
- package/upgrades/side-effects/phase-5b4-framework-model-router.md +88 -0
- package/upgrades/side-effects/phase-5b5a-static-catalog-provider.md +80 -0
- package/upgrades/side-effects/phase-5b5b-telegram-confirmation-transport.md +68 -0
- package/upgrades/side-effects/phase-5b5c-route-cli.md +106 -0
- package/upgrades/side-effects/phase-5c-cost-aware-routing.md +81 -0
- package/upgrades/side-effects/portability-generic-tier-routing.md +85 -0
- package/upgrades/side-effects/portability-headless-launch-helper.md +76 -0
- package/upgrades/side-effects/post-merge-lint-allowlist.md +44 -0
- package/upgrades/side-effects/post-update-migrator-bracket-fix.md +36 -0
- package/upgrades/side-effects/sentinel-monitoring-cross-port.md +76 -0
- package/upgrades/side-effects/tests-followup-deleted-provider-and-refactor.md +40 -0
- package/upgrades/side-effects/tier-1a-fix-codex-launch-flags.md +57 -0
- package/upgrades/side-effects/tier-1a-spawn-interactive-framework-dispatch.md +102 -0
- package/upgrades/side-effects/tier-2b-stalltriagenurse-framework-signals.md +84 -0
- package/upgrades/side-effects/tier-2bplus-watchdog-framework-pid.md +109 -0
- package/upgrades/side-effects/tier-2c-orphan-reaper-framework-signals.md +164 -0
- package/upgrades/side-effects/tier-2e-subsystem-shared-intelligence.md +115 -0
- package/upgrades/side-effects/tier-4c-codex-skip-git-repo-check.md +105 -0
- package/upgrades/side-effects/tier0-leaking-codex-dev-path.md +70 -0
- package/upgrades/side-effects/tier1b-multi-provider-credentials.md +79 -0
- package/upgrades/side-effects/tier1c-codex-intelligence-provider.md +80 -0
- package/upgrades/side-effects/tier1d-identity-renderer.md +75 -0
- package/upgrades/side-effects/tier2a-framework-aware-boot-prerequisite.md +71 -0
- package/upgrades/side-effects/topic-route-slash-command.md +72 -0
- package/upgrades/v1.0.0/CHANGES.md +296 -0
- package/dist/core/AnthropicIntelligenceProvider.d.ts +0 -63
- package/dist/core/AnthropicIntelligenceProvider.d.ts.map +0 -1
- package/dist/core/AnthropicIntelligenceProvider.js +0 -109
- package/dist/core/AnthropicIntelligenceProvider.js.map +0 -1
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# Side-Effects Review — Codex Topic Round-Trip Fixes
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `codex-topic-roundtrip-fixes`
|
|
4
|
+
**Date:** `2026-05-16`
|
|
5
|
+
**Author:** `echo`
|
|
6
|
+
**Second-pass reviewer:** `not required — five tactical fixes, each independently verifiable, exercised live end-to-end on deep-signal codex-cli topic`
|
|
7
|
+
|
|
8
|
+
## Summary of the change
|
|
9
|
+
|
|
10
|
+
Six fixes (five Codex defects + one auto-scaffold) surfaced when /route was exercised on a real Telegram topic and Codex tried to actually respond. The first five silently no-op'd in a way that made spawn look successful but the agent unreachable; the sixth closes the legacy-install gap that required manually dropping AGENTS.md before Codex would know about the relay script.
|
|
11
|
+
|
|
12
|
+
1. `respawnSessionForTopic` kills the existing tmux session before spawning a replacement (line ~605 of server.ts). `spawnInteractiveSession` no-ops when a tmux name is already taken — that's "reuse the running agent" semantics intentionally, but it silently defeats a framework swap. The kill makes respawn semantics explicit ("get me a fresh process"), idempotent on already-dead sessions.
|
|
13
|
+
|
|
14
|
+
2. The /route handler clears `_topicResumeMap.remove(topicId)` between the framework store update and the respawn. Resume ids are framework-specific (Claude UUIDs ≠ Codex session ids); carrying one across a swap caused either spurious warnings (Codex) or attaching to a non-existent session (Claude).
|
|
15
|
+
|
|
16
|
+
3. Codex spawns pass `--model gpt-5.3-codex`. Codex CLI's default `gpt-5.2-codex` was retired from ChatGPT-subscription auth on 2026-04-14 (per OpenAI Community thread 1378986); without this flag, a subscription-auth spawn errors on the first turn. `gpt-5.3-codex` is the coding-specialist tier already used by the headless adapter (see `src/providers/adapters/openai-codex/models.ts`).
|
|
17
|
+
|
|
18
|
+
4. Codex spawns use `--dangerously-bypass-approvals-and-sandbox` instead of the prior `--sandbox workspace-write --ask-for-approval never` pair. The flag-pair silenced approval prompts but left Codex's seatbelt sandbox active, which blocks localhost reach (where instar's server runs, where the relay script posts) and blocks writes outside the project (the relay's outbox). The bypass flag is the single-flag parity for Claude's `--dangerously-skip-permissions`. Callers passing `codexSandboxMode` explicitly still get the flag-pair form for the safer profile.
|
|
19
|
+
|
|
20
|
+
5. `SessionManager.rawInject` is framework-aware. Codex's TUI takes longer than Claude's to commit a bracketed paste into its input state and silently discards a single Enter that lands during the commit window. The injector now reads the spawned session's `INSTAR_FRAMEWORK` from its tmux env (cached per tmux name), and for `codex-cli` waits 1.5s after the paste end (vs 0.5s for Claude) and presses Enter twice with a 300ms gap. The second Enter is a no-op against an empty buffer if the first one landed. `clearSessionFrameworkCache(name)` is exposed for callers that kill+respawn a tmux name under a different framework; `respawnSessionForTopic` calls it.
|
|
21
|
+
|
|
22
|
+
6. `spawnSessionForTopic` now calls `ensureFrameworkIdentityFile` before every spawn. The new helper in `IdentityRenderer` is idempotent: no-op when the framework's shadow already exists; render from `.instar/AGENT.md` when missing; bootstrap AGENT.md from a legacy shadow (e.g., `CLAUDE.md` on installs that pre-date the IdentityRenderer) before rendering. Without this, legacy installs that author CLAUDE.md directly would have a fresh Codex spawn read no AGENTS.md and never learn about the relay script — the failure mode that required dropping AGENTS.md by hand for the deep-signal live test. The shadow is regenerated atomically per spawn so AGENT.md edits stay propagated. 6 new unit tests cover idempotency, legacy bootstrap, unknown-framework, no-source-available, and the regenerate-on-spawn smoke path.
|
|
23
|
+
|
|
24
|
+
## Decision-point inventory
|
|
25
|
+
|
|
26
|
+
- `src/commands/server.ts:~605` — **add** — kill-session before spawn in `respawnSessionForTopic`. Idempotent.
|
|
27
|
+
- `src/commands/server.ts:~615` — **add** — `sessionManager.clearSessionFrameworkCache(targetSession)` after kill.
|
|
28
|
+
- `src/commands/server.ts:~917` — **add** — `_topicResumeMap?.remove(topicId)` in /route handler after framework store update.
|
|
29
|
+
- `src/core/frameworkSessionLaunch.ts:codexCliBuilder` — **modify** — argv composition: add `--model gpt-5.3-codex`, branch on `codexSandboxMode` to choose bypass flag (default) vs flag-pair (explicit override).
|
|
30
|
+
- `src/core/SessionManager.ts:rawInject` — **modify** — branch on `getSessionFramework(tmuxSession)` for post-paste delay and Enter count. Single new helper method `getSessionFramework` with cache; new public method `clearSessionFrameworkCache`.
|
|
31
|
+
|
|
32
|
+
## 1. Over-block
|
|
33
|
+
|
|
34
|
+
**Risk:** Low.
|
|
35
|
+
|
|
36
|
+
- Kill-before-respawn: respawn semantics were "get a fresh process," not "reuse." The prior behavior of reusing was a latent bug. Existing callers (onRestartSession, recovery paths) already expected fresh state.
|
|
37
|
+
- Resume-uuid clear: only fires on framework swap. Same-framework reuse paths are untouched.
|
|
38
|
+
- Codex model flag: API-key users can override via `~/.codex/config.toml` or `-c model=`. Subscription users were already blocked without the flag.
|
|
39
|
+
- Bypass-sandbox flag: only the default path uses bypass. Callers explicitly passing `codexSandboxMode` get the safer flag-pair.
|
|
40
|
+
- Framework-aware injection: Claude path unchanged (500ms delay, 1 Enter). Codex path is additive — 1.5s delay + 2 Enters. The 2nd Enter is a no-op against an empty buffer.
|
|
41
|
+
|
|
42
|
+
## 2. Under-block
|
|
43
|
+
|
|
44
|
+
**Risk:** Negligible.
|
|
45
|
+
|
|
46
|
+
- Kill-before-respawn could surprise a future caller expecting "reuse existing session" semantics from respawn. Risk mitigated: the function name is "respawn" and all current call sites want fresh processes.
|
|
47
|
+
- Resume-uuid clear is scoped to `/route` only. Resume across same-framework restarts continues to work.
|
|
48
|
+
- Codex bypass flag: callers who want the sandbox can still get it by passing `codexSandboxMode` (e.g., `'workspace-write'`). The default — autonomous instar agent topic — explicitly chose the bypass parity.
|
|
49
|
+
|
|
50
|
+
## 3. Silent behavior change
|
|
51
|
+
|
|
52
|
+
**Risk:** Low.
|
|
53
|
+
|
|
54
|
+
- Framework-aware injection adds 1.5s per Codex injection (vs 0.5s before). This is a latency increase but no behavior change — the prior fast path silently dropped messages.
|
|
55
|
+
- Existing Codex sessions spawned before this commit don't have my fixes in their tmux env. The framework cache will return null for those (lookup miss = Claude defaults), so the injection won't get the Codex treatment. New spawns after the upgrade get the right behavior.
|
|
56
|
+
|
|
57
|
+
## 4. Data / state impact
|
|
58
|
+
|
|
59
|
+
- New state file mutations: none. Existing `_topicResumeMap.remove(topicId)` writes to `.instar/topic-resume-map.json` — already a documented write path.
|
|
60
|
+
- No new persistent state introduced.
|
|
61
|
+
- Framework cache lives in process memory only; cleared on process restart.
|
|
62
|
+
|
|
63
|
+
## 5. Downstream agent impact
|
|
64
|
+
|
|
65
|
+
Positive.
|
|
66
|
+
|
|
67
|
+
- Codex agents can now actually reply to Telegram messages (the whole point of supporting Codex framework).
|
|
68
|
+
- Existing Claude agents experience no behavior change (their default path is unchanged).
|
|
69
|
+
|
|
70
|
+
## 6. Rollback cost
|
|
71
|
+
|
|
72
|
+
Low. Each fix is independently revertable:
|
|
73
|
+
- The kill-before-respawn line can be removed without affecting Claude paths.
|
|
74
|
+
- The resume-uuid clear is one line in the /route handler.
|
|
75
|
+
- The Codex model flag is one argv entry; reverting puts Codex back to its default model (which fails for subscription auth).
|
|
76
|
+
- The bypass flag is one argv entry; reverting puts the old flag-pair back (which leaves Codex inaccessible from localhost).
|
|
77
|
+
- The framework-aware injection: removing the framework lookup falls back to the Claude path. Codex would regress to "message stuck in input buffer."
|
|
78
|
+
|
|
79
|
+
Each revert is independent.
|
|
80
|
+
|
|
81
|
+
## 7. Signal-vs-authority
|
|
82
|
+
|
|
83
|
+
All five fixes operate on the **authority** layer (decisions about which flags to pass, when to kill, whether to clear cache). They don't introduce new signal detectors. They don't make a brittle detector load-bearing for blocking — they fix authoritative spawn/inject paths to match the framework's actual contract.
|
|
84
|
+
|
|
85
|
+
The framework lookup helper (`getSessionFramework`) reads `INSTAR_FRAMEWORK` from the spawned session's tmux env — that's authoritative, not heuristic (we set it ourselves at spawn).
|
|
86
|
+
|
|
87
|
+
## 8. Interactions with adjacent systems
|
|
88
|
+
|
|
89
|
+
- **InputGuard**: unchanged; provenance/coherence checks still run before `rawInject` is called.
|
|
90
|
+
- **Watchdog / OrphanReaper**: unaffected; both already framework-aware via `frameworkProcessSignals` and `frameworkActivitySignals` (landed in Tier 2.B / 2.C).
|
|
91
|
+
- **PresenceProxy**: unaffected; reads tmux output regardless of framework.
|
|
92
|
+
- **TopicMemory**: unaffected; respawn bootstrap path same as before.
|
|
93
|
+
- **Cost router**: unaffected; lives at a different layer.
|
|
94
|
+
|
|
95
|
+
## 9. Tests
|
|
96
|
+
|
|
97
|
+
- `tests/unit/frameworkSessionLaunch.test.ts` — 12 tests pass. Two test bodies updated to assert on `--dangerously-bypass-approvals-and-sandbox` + `--model gpt-5.3-codex`. Existing `honors codexSandboxMode` test still asserts the flag-pair form (now requires `codexSandboxMode` to be explicit).
|
|
98
|
+
- `tests/integration/topic-framework-dispatch.test.ts` — 6 tests pass. Two updated to assert on the bypass flag for the default path; the misconfigured-binary safety-net test now asserts bypass too.
|
|
99
|
+
- `tests/integration/route-command-end-to-end.test.ts` — 5 tests pass, unchanged.
|
|
100
|
+
- Live end-to-end on deep-signal: verified Codex spawn → message inject → auto-submit → AGENTS.md read → relay script call → "Sent to topic 2525" confirmation in the tmux pane.
|
|
101
|
+
|
|
102
|
+
## 10. Live evidence
|
|
103
|
+
|
|
104
|
+
The kill-before-respawn + resume-uuid-clear + bypass-sandbox + model-flag + framework-aware-inject stack was deployed to the deep-signal test agent at the spec/provider-portability branch. A test sequence on Telegram topic 2525 ("route test"):
|
|
105
|
+
|
|
106
|
+
1. `/route codex-cli` — store updated, respawn kicked off
|
|
107
|
+
2. Existing Claude tmux session killed
|
|
108
|
+
3. Fresh Codex spawn with `gpt-5.3-codex` model and bypass flag visible in `ps`
|
|
109
|
+
4. AGENTS.md (manually scaffolded for the legacy install) read by Codex
|
|
110
|
+
5. Codex called `.claude/scripts/telegram-reply.sh 2525` twice with acknowledgment + content
|
|
111
|
+
6. Both calls returned "Sent to topic 2525"
|
|
112
|
+
|
|
113
|
+
End-to-end Codex round-trip confirmed working live.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Side-effects review — drop unused `apiKey` from CoherenceReviewer + CoherenceGate
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `coherence-apikey-cleanup`
|
|
4
|
+
**Date:** `2026-05-15`
|
|
5
|
+
**Author:** Echo (instar-developing agent)
|
|
6
|
+
**Second-pass reviewer:** not required (mechanical dead-code removal; baseline test diff is identity)
|
|
7
|
+
**Driving spec:** `specs/provider-portability/04-anthropic-path-constraints.md` (Rule 2 lockdown)
|
|
8
|
+
|
|
9
|
+
## Summary of the change
|
|
10
|
+
|
|
11
|
+
Carry-over cleanup from the Rule 2 path-constraint lockdown (task #5, commit landed earlier in this branch). After that commit removed the direct-Anthropic-API fallback inside `CoherenceReviewer.callApi()`, the `apiKey` parameter on the base class, every subclass, `DynamicReviewer`, and `CoherenceGateOptions` became stored-but-never-read dead state. This change removes the parameter, makes `intelligence` required on `CoherenceGateOptions`, and updates `server.ts` to gate response-review activation purely on `sharedIntelligence` instead of an `ANTHROPIC_API_KEY` fallback.
|
|
12
|
+
|
|
13
|
+
Files touched (in scope per the destructive-callsite gate):
|
|
14
|
+
- `src/core/CoherenceReviewer.ts` — drop `apiKey` ctor arg + `protected readonly apiKey` field.
|
|
15
|
+
- `src/core/CoherenceGate.ts` — drop `apiKey` from `CoherenceGateOptions`; `intelligence` becomes required; remove the three callsites that threaded the key down to GateReviewer / specialist reviewers / DynamicReviewer.
|
|
16
|
+
- 10 reviewer subclasses (`src/core/reviewers/*.ts`) — drop `apiKey` ctor arg.
|
|
17
|
+
- `src/commands/server.ts` — drop `ANTHROPIC_API_KEY` fallback activation; pipeline disables with warning when no IntelligenceProvider is wired.
|
|
18
|
+
- `src/providers/adapters/anthropic-interactive-pool/canary/emptyPromptSignature.ts` — orthogonal carry-over: add file-level `safe-git-allow:` marker for the existing `fs.rmSync` in `resetSignatureForTests()` (pre-existing lint violation blocking all commits in this worktree; not introduced by this change).
|
|
19
|
+
- `scripts/check-rule3-coverage.cjs` — orthogonal carry-over: add `safe-git-allow:` marker for read-only `git diff --cached` / `git show` bootstrap invocations.
|
|
20
|
+
|
|
21
|
+
Tests touched: 7 unit-test files dropping `FAKE_API_KEY` ctor args and `apiKey: ...` lines from `CoherenceGateOptions` literals; plus the test isolation fix from task #24 (`promptRunner.test.ts` `beforeEach(resetSignatureForTests)`) and two test-file `safe-git-allow:` markers for tmpdir / throwaway-repo cleanup.
|
|
22
|
+
|
|
23
|
+
## Decision-point inventory
|
|
24
|
+
|
|
25
|
+
This change has NO decision-point surface. It removes dead constructor parameters and adjusts one server-side activation gate.
|
|
26
|
+
|
|
27
|
+
- `src/commands/server.ts` (response-review pipeline activation) — `pass-through`. The decision is identical: "activate iff we have an IntelligenceProvider." Previously expressed as `(sharedIntelligence || anthropicKey)` with a never-reachable raw-API branch downstream; now expressed as `sharedIntelligence` alone. The raw-API branch was already dead after Rule 2.
|
|
28
|
+
- `CoherenceGate` constructor — `pass-through`. Pipeline behavior unchanged; only the options-bag shape changed.
|
|
29
|
+
- No new gates, sentinels, watchdogs, or filters introduced or modified.
|
|
30
|
+
|
|
31
|
+
## Signal vs authority
|
|
32
|
+
|
|
33
|
+
No authority change. The IntelligenceProvider continues to be the single authority for reviewer LLM dispatch (subscription-floor-compliant per Rule 1). This change just removes a parameter that was being passed alongside but never consulted.
|
|
34
|
+
|
|
35
|
+
## Over-block / under-block analysis
|
|
36
|
+
|
|
37
|
+
- **Over-block:** Server.ts no longer activates the response-review pipeline when only `ANTHROPIC_API_KEY` is set (no IntelligenceProvider wired). The old code emitted a "via Anthropic API (direct)" log message and constructed the gate, but every reviewer-call would have failed downstream because Rule 2 already removed the direct-API path in `callApi()`. So the old activation was misleading: it lit up a pipeline that couldn't function. The new gate is honest — it explicitly declines to activate and warns. Real over-block: none, because the formerly-activated pipeline was non-functional.
|
|
38
|
+
- **Under-block:** None. Every code path that previously could have made an LLM call through a reviewer still can; the call now uniformly routes through IntelligenceProvider (which has been the only working path since Rule 2 anyway).
|
|
39
|
+
|
|
40
|
+
## Level-of-abstraction fit
|
|
41
|
+
|
|
42
|
+
The `apiKey` parameter was a per-reviewer leak of a credential concern that belongs at the provider/transport layer (where IntelligenceProvider lives). Removing it tightens the abstraction: reviewers know "I have an intelligence provider" and that's all they need; they don't carry a credential token they never read.
|
|
43
|
+
|
|
44
|
+
## Interactions
|
|
45
|
+
|
|
46
|
+
- **AnthropicIntelligenceProvider** (the Rule 2 routing target): unchanged. Already accepts no apiKey from reviewers and routes through Claude CLI / Agent SDK.
|
|
47
|
+
- **External callers of `CoherenceGate`**: this is an internal API change — `apiKey` must be removed from any `CoherenceGateOptions` literal and `intelligence` must be supplied. Documented in `upgrades/NEXT.md`. The only known external callsite is `src/commands/server.ts`, which was updated.
|
|
48
|
+
- **Tests:** 25/47 tests in `CoherenceReviewer.test.ts` were already broken by the Rule 2 cleanup (they asserted on `fetch` mock headers/body that don't exist any more). This change does not introduce a new regression — baseline diff confirms identical 69/220 failure count across the seven affected test files both with and without this change. Task #26 tracks the proper rewrite to IntelligenceProvider mocks.
|
|
49
|
+
|
|
50
|
+
## External surfaces
|
|
51
|
+
|
|
52
|
+
- **Internal API change:** `CoherenceGateOptions.apiKey` field removed. `CoherenceGateOptions.intelligence` becomes required (previously optional).
|
|
53
|
+
- **No new endpoint, no new CLI command, no new config field, no new hook.**
|
|
54
|
+
- **No new file ships** that hadn't existed before this change (lint-marker comments are added to existing files; the side-effects artifact and the spec frontmatter are paperwork).
|
|
55
|
+
|
|
56
|
+
## Rollback cost
|
|
57
|
+
|
|
58
|
+
Trivial. `git revert` restores the 13 source files + 7 test files to the pre-change state. Server startup will then once again warn about misleading "direct" activation but functionality is unchanged because the direct path was already dead.
|
|
59
|
+
|
|
60
|
+
## Tests / verification
|
|
61
|
+
|
|
62
|
+
- `npx tsc --noEmit` clean.
|
|
63
|
+
- `node scripts/lint-no-direct-destructive.js` exits 0 (`safe-git-allow:` markers cover the four pre-existing flagged files).
|
|
64
|
+
- Full unit suite: 17,315 passed / 84 failed / 11 skipped. The 84 failures are all pre-existing — verified by stash-and-rerun on identical test slice. 69 are the Rule 2 fetch-mock breakage tracked in task #26; the remaining ~15 are unrelated flaky tests outside the apiKey scope (session-lifecycle integration, etc).
|
|
65
|
+
- Baseline diff: stashed all changes, reran the seven affected test files → identical `Tests 69 failed | 151 passed (220)`. Restored changes; same count. Zero regression.
|
|
66
|
+
- No real-API or runtime verification needed — this change removes a parameter that no code path consumed.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Side-effects review — config-framework-routing test skip-guard fix
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `config-framework-routing-skip-guard`
|
|
4
|
+
**Date:** `2026-05-18`
|
|
5
|
+
**Author:** Echo
|
|
6
|
+
**Second-pass reviewer:** self-review — tests-only; logic correction in skip guard.
|
|
7
|
+
**Driving spec:** `specs/provider-portability/04-anthropic-path-constraints.md`.
|
|
8
|
+
|
|
9
|
+
## Summary
|
|
10
|
+
|
|
11
|
+
`tests/unit/config-framework-routing.test.ts` used `detectClaudePath() !== ''` as its skip guard. But `detectClaudePath` returns `null` (not `''`) when the binary is missing — `null !== ''` is always `true`, so `claudePresent` was always `true` and the `it.skipIf(!claudePresent)` guards never fired. On CI runners (no `claude` binary), `loadConfig()` threw the prerequisite error and three tests failed.
|
|
12
|
+
|
|
13
|
+
Fix: guard against both `null` and `''`. The tests now correctly skip on CI when the binary is absent, while still running on dev machines that have it installed.
|
|
14
|
+
|
|
15
|
+
## Decision-point inventory
|
|
16
|
+
|
|
17
|
+
- **Skip-guard correction** — `change`. Pure test-helper bug; no production code touched.
|
|
18
|
+
|
|
19
|
+
## Signal vs authority
|
|
20
|
+
|
|
21
|
+
CI Unit Tests are structural authority. Fix unblocks the gate.
|
|
22
|
+
|
|
23
|
+
## Over-block / under-block analysis
|
|
24
|
+
|
|
25
|
+
**Over-block:** None. The tests still run wherever the binary is present.
|
|
26
|
+
**Under-block:** None. The tests already declare "these need at least one framework binary installed"; the skip guards now correctly enforce that.
|
|
27
|
+
|
|
28
|
+
## Rollback cost
|
|
29
|
+
|
|
30
|
+
Zero.
|
|
31
|
+
|
|
32
|
+
## Verification
|
|
33
|
+
|
|
34
|
+
- Local: `npx vitest run tests/unit/config-framework-routing.test.ts` — 7/7 pass.
|
|
35
|
+
- CI: skip-guards will now correctly fire when the binary is absent.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Side-Effects Review — Codex session-resume via subcommand
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `feat-codex-session-resume` (v0.28.115)
|
|
4
|
+
**Date:** 2026-05-18
|
|
5
|
+
**Author:** Echo
|
|
6
|
+
|
|
7
|
+
## Summary of the change
|
|
8
|
+
|
|
9
|
+
When `frameworkSessionLaunch.buildInteractiveLaunch('codex-cli', { resumeSessionId })` was called with a session id, the prior implementation logged a console warning and started a fresh session — Codex's `--resume` flag was never accepted. New implementation inserts `resume <SESSION_ID>` as a subcommand right after the binary path. All flags (`--model`, `--sandbox`, `--ask-for-approval`, `--dangerously-bypass-approvals-and-sandbox`, `--oss`, `--local-provider`) continue to be appended; they are accepted by the `codex resume` subcommand identically to a fresh `codex` invocation (verified against `codex resume --help` on Codex 0.130).
|
|
10
|
+
|
|
11
|
+
**Files changed (source):**
|
|
12
|
+
- `src/core/frameworkSessionLaunch.ts` — codexCliBuilder restructured to insert `resume <id>` prefix when resuming; warning removed; JSDoc updated.
|
|
13
|
+
|
|
14
|
+
**Files changed (tests):**
|
|
15
|
+
- `tests/unit/frameworkSessionLaunch.test.ts` — 1 existing test updated, 3 new tests added.
|
|
16
|
+
|
|
17
|
+
**Files changed (release notes):**
|
|
18
|
+
- `upgrades/NEXT.md` — v0.28.115 release notes.
|
|
19
|
+
- `package.json` — version bump 0.28.114 → 0.28.115.
|
|
20
|
+
|
|
21
|
+
## Decision-point inventory
|
|
22
|
+
|
|
23
|
+
- **Argv shape when resuming**: `[binary, 'resume', id, '--model', ..., ...sandbox]` vs `[binary, '--model', ..., 'resume', id, ...sandbox]` — chose the former because `resume` is a subcommand-style invocation in Codex's CLI grammar; subcommands must come before option flags. Verified via `codex resume --help` accepting the same options.
|
|
24
|
+
- **Whether to pass `--model` when resuming** — yes. Codex's `resume` subcommand accepts `--model`; the original session's model might be retired or unavailable on the current auth path. Passing the configured model overrides safely (Codex documents this as supported).
|
|
25
|
+
- **Whether to validate the session id exists before launch** — no. Pre-validating would couple this helper to Codex's on-disk session layout (`~/.codex/sessions/YYYY/MM/DD/<uuid>.json`) and any change to that layout would break us. Instead, rely on Codex's own startup-time error reporting via the tmux pane + SessionManager's existing dead-pane respawn logic.
|
|
26
|
+
- **Whether to clear stale resume ids on detected failure** — out of scope here. PR #248 established the pattern for the route handler (`/route` cmd clears resume ids on framework swap); a separate "Codex resume id stale" detection path can reuse the same `_topicResumeMap.remove(topicId)` pattern. Tracked but not in this PR.
|
|
27
|
+
|
|
28
|
+
## 1. Over-block
|
|
29
|
+
|
|
30
|
+
None. The change makes resume actually work where it was previously silently disabled.
|
|
31
|
+
|
|
32
|
+
## 2. Under-block
|
|
33
|
+
|
|
34
|
+
None. The launch helper has no gating responsibility; it only constructs argv.
|
|
35
|
+
|
|
36
|
+
## 3. Level-of-abstraction fit
|
|
37
|
+
|
|
38
|
+
Correct. Change lives entirely in the framework-specific builder for codex-cli. `buildInteractiveLaunch` dispatch and the claude-code builder are untouched. The shared `InteractiveLaunchOptions` shape is unchanged — `resumeSessionId` was already part of the contract.
|
|
39
|
+
|
|
40
|
+
## 4. Signal vs authority
|
|
41
|
+
|
|
42
|
+
Not applicable — pure argv construction. No LLM gate, no policy decision.
|
|
43
|
+
|
|
44
|
+
## 5. Interactions
|
|
45
|
+
|
|
46
|
+
- **SessionManager.spawnInteractiveSession** — consumer of the launch spec. Receives the new argv shape transparently. No code change needed there.
|
|
47
|
+
- **TopicResumeMap** — already stores Codex session ids per topic; was previously written to but the resume path ignored them. Now actually consumed. No store change needed.
|
|
48
|
+
- **`/route` framework-swap path** — already clears resume ids on framework swap (PR #248); behavior unchanged.
|
|
49
|
+
- **Claude Code builder** — independent codepath, untouched.
|
|
50
|
+
- **codexCliBuilder used by buildHeadlessLaunch** — `buildHeadlessLaunch` uses a different builder path (`codex exec --json ...`); not affected by this change. Headless resume on Codex is a separate question.
|
|
51
|
+
|
|
52
|
+
## 6. External surfaces
|
|
53
|
+
|
|
54
|
+
- **Public API**: `InteractiveLaunchOptions.resumeSessionId` still accepts a string; semantics changed from "logged + ignored on codex" to "actually used."
|
|
55
|
+
- **CLI surface**: None directly.
|
|
56
|
+
- **Process surface (the actual side-effect)**: A Codex tmux session for a topic with a tracked resume id now spawns as `codex resume <uuid> --model ... --dangerously-bypass-approvals-and-sandbox` instead of `codex --model ... --dangerously-bypass-approvals-and-sandbox`. Process arguments visible in `ps`/tmux capture-pane change accordingly.
|
|
57
|
+
|
|
58
|
+
## 7. Rollback cost
|
|
59
|
+
|
|
60
|
+
Trivial. Revert the commit:
|
|
61
|
+
- argv returns to fresh-launch shape
|
|
62
|
+
- The warning re-appears
|
|
63
|
+
- Sessions silently start fresh again (the prior bug)
|
|
64
|
+
|
|
65
|
+
No persistent state migration, no data loss. Existing tracked Codex session ids in `TopicResumeMap` remain valid — Codex stores them indefinitely (within reason); they'll just stop being consumed.
|
|
66
|
+
|
|
67
|
+
## Tests
|
|
68
|
+
|
|
69
|
+
- Updated: `tests/unit/frameworkSessionLaunch.test.ts` — 1 test renamed and inverted (was "does NOT pass --resume because subcommand not supported", now "inserts `resume <id>` as a subcommand right after the binary"); 3 new tests added covering fresh launch is unchanged, sandbox flags preserved when resuming, `--oss --local-provider` preserved when resuming a local-model session.
|
|
70
|
+
- Total: 38/38 in `tests/unit/frameworkSessionLaunch.test.ts`. Typecheck (`tsc --noEmit`) clean.
|
|
71
|
+
|
|
72
|
+
## Evidence
|
|
73
|
+
|
|
74
|
+
The bug was reproducible by tracing the prior code path: any topic with a stored Codex session id that respawned would log:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
[frameworkSessionLaunch] Codex resume requested (id=<uuid>) but codex CLI's "resume" is a subcommand, not a flag — starting fresh.
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
…and start a fresh session. The user's prior conversation context in that Codex session was therefore not restored even though the id was tracked.
|
|
81
|
+
|
|
82
|
+
After the fix, the same code path produces argv that begins with `[binary, 'resume', <uuid>]`. The shape was verified against `codex resume --help` on Codex 0.130, which documents `[SESSION_ID]` as a positional argument and accepts `--model`, `--sandbox`, `-a/--ask-for-approval`, `--dangerously-bypass-approvals-and-sandbox`, `--oss` as options.
|
|
83
|
+
|
|
84
|
+
Live end-to-end verification (a real Codex resume successfully recovering a real prior session's context) is queued as a follow-up that needs a Codex agent with a session that has built up context. The argv-shape correctness is verifiable via unit tests; the model's actual continuity-of-context depends on Codex's session store correctness, which is Codex's responsibility, not Instar's.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Side-Effects Review — Codex skill scaffold path correction
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `fix-codex-skill-scaffold-path` (v1.0.1)
|
|
4
|
+
**Date:** 2026-05-18
|
|
5
|
+
**Author:** Echo
|
|
6
|
+
|
|
7
|
+
## Summary of the change
|
|
8
|
+
|
|
9
|
+
Two corrections to `src/providers/adapters/openai-codex/integration/providerScaffolder.ts`:
|
|
10
|
+
|
|
11
|
+
1. Skill bundles installed under `.agents/skills/<name>/` (Codex 0.130's project-scope discovery path) instead of `.agent/openai/skills/<name>/` (the prior path, which Codex never walked).
|
|
12
|
+
2. Each installed skill now also gets a sibling `agents/openai.yaml` file inside its own directory, generated from skill frontmatter (`display_name` derived from `name`, `short_description` sourced from `metadata.short-description` with fallback to `description`, truncated to 64 chars). This file is required by Codex to surface the skill in UI lists.
|
|
13
|
+
|
|
14
|
+
Provider-config tree (`AGENTS.md`, `config.toml`, `hooks.json` under `.agent/openai/`) is unchanged. `uninstall()` now removes both trees to match install footprint.
|
|
15
|
+
|
|
16
|
+
**Files changed (source):**
|
|
17
|
+
- `src/providers/adapters/openai-codex/integration/providerScaffolder.ts` — skill-path correction + YAML sibling emission + frontmatter parser
|
|
18
|
+
|
|
19
|
+
**Files changed (tests):**
|
|
20
|
+
- `tests/unit/providers/adapters/openai-codex/providerScaffolder.test.ts` — 14 new tests
|
|
21
|
+
|
|
22
|
+
**Files changed (release notes):**
|
|
23
|
+
- `upgrades/NEXT.md` — v1.0.1 release notes
|
|
24
|
+
- `package.json` — version bump 1.0.0 → 1.0.1
|
|
25
|
+
|
|
26
|
+
## Decision-point inventory
|
|
27
|
+
|
|
28
|
+
- **Skill path: `.agents/skills/<name>/` vs `.agent/openai/skills/<name>/`** — fix (move to the path Codex 0.130 actually walks). Verified against Codex's on-disk skill layout at `~/.codex/skills/.system/<name>/` and Codex's own `skill-creator` documentation at `~/.codex/skills/.system/skill-creator/references/openai_yaml.md`.
|
|
29
|
+
- **YAML sibling location: `agents/openai.yaml` inside each skill dir vs at project root** — fix as per-skill sibling (matches Codex's installed-skill layout; the prior summary that said "project root" was wrong).
|
|
30
|
+
- **YAML format: minimal vs full** — minimal. Only `interface.display_name` and `interface.short_description` are emitted. Optional fields (icons, brand color, default_prompt, dependencies, policy) are NOT emitted — they require per-skill content the scaffolder doesn't have. Skills can override by including their own `agents/openai.yaml` in their bundle (current scaffolder always overwrites; a follow-up could respect an asset-provided yaml).
|
|
31
|
+
- **`trust_level="trusted"` in the YAML** — NOT emitted. Despite earlier verification notes suggesting it was required, inspection of real installed Codex skills shows no `trust_level` field in `agents/openai.yaml` (it's a project-level config in `~/.codex/config.toml`, not skill-level). Emitting it from the scaffolder would be incorrect.
|
|
32
|
+
- **Provider-config tree path** — unchanged. `.agent/openai/AGENTS.md`/`config.toml`/`hooks.json` continues to live where Instar puts it. Whether Codex reads `AGENTS.md` from project root vs from `.agent/openai/` is a separate question not in scope for this fix.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 1. Over-block
|
|
37
|
+
|
|
38
|
+
None. The change is additive at the new location and silent-removal at the wrong location. No previously-working behavior is blocked.
|
|
39
|
+
|
|
40
|
+
## 2. Under-block
|
|
41
|
+
|
|
42
|
+
None. The scaffolder is not a gate — it's an installer. There is no decision boundary being widened or narrowed.
|
|
43
|
+
|
|
44
|
+
## 3. Level-of-abstraction fit
|
|
45
|
+
|
|
46
|
+
Correct. The fix lives entirely in the `ProviderScaffolder` adapter layer for openai-codex. Generic `ProviderScaffolder` contract is unchanged; only the codex-specific implementation's on-disk layout is corrected. Other framework adapters (anthropic-headless) are untouched.
|
|
47
|
+
|
|
48
|
+
## 4. Signal vs authority
|
|
49
|
+
|
|
50
|
+
Not applicable — no LLM gate, no policy decision. Pure scaffolding logic.
|
|
51
|
+
|
|
52
|
+
## 5. Interactions
|
|
53
|
+
|
|
54
|
+
- **Consumers of `bundledAssets`** (instar init, setup wizard, migration code): No interface change. Same `ScaffoldAsset` input; output paths change. Callers that hard-coded the old path would break — `grep` confirms no such callers in src/ or tests/.
|
|
55
|
+
- **Other adapters**: Anthropic-headless ProviderScaffolder is unchanged. Its `.agent/anthropic/` tree is unaffected.
|
|
56
|
+
- **Conformance suite**: Shape-only; not affected by path changes.
|
|
57
|
+
- **IdentityRenderer**: Renders AGENTS.md to project root for Codex sessions independently of scaffolder; not affected.
|
|
58
|
+
|
|
59
|
+
## 6. External surfaces
|
|
60
|
+
|
|
61
|
+
- **Public API**: `ProviderScaffolder` interface unchanged.
|
|
62
|
+
- **CLI surface**: None directly. Scaffolder is invoked programmatically.
|
|
63
|
+
- **On-disk surface (the actual side-effect)**: Two paths change for Codex-using agents installing skills via the scaffolder:
|
|
64
|
+
- Created: `.agents/skills/<name>/SKILL.md` (+ `agents/openai.yaml`)
|
|
65
|
+
- Not created: `.agent/openai/skills/<name>/SKILL.md`
|
|
66
|
+
|
|
67
|
+
No agent today depends on the wrong-path skills being present (Codex never saw them), so no migration is needed for skills that were "installed" under the bad path — they were dead files. Operators may want to manually delete any leftover `.agent/openai/skills/` directories in existing projects. Documented as a follow-up; not blocking this PR.
|
|
68
|
+
|
|
69
|
+
## 7. Rollback cost
|
|
70
|
+
|
|
71
|
+
Trivial. Revert the commit:
|
|
72
|
+
- `git revert` brings back the old (broken) path.
|
|
73
|
+
- Existing `.agents/skills/<name>/` directories created post-fix would remain on disk but become orphaned (Codex's auto-cleanup or operator action handles).
|
|
74
|
+
- No data loss; SKILL.md content is identical, only location differs.
|
|
75
|
+
|
|
76
|
+
## Tests
|
|
77
|
+
|
|
78
|
+
- New: `tests/unit/providers/adapters/openai-codex/providerScaffolder.test.ts` — 14 tests covering correct path, legacy wrong path absence, YAML sibling location, display_name derivation, short_description sourcing + fallback + truncation, SKILL.md verbatim writing, provider-config tree coexistence, no `.agents/` dir when no skills bundled, `created[]` reporting, multi-skill install, uninstall removing both trees, install idempotency, YAML escape of double quotes in string values.
|
|
79
|
+
- Full openai-codex adapter suite: 78/78 passing.
|
|
80
|
+
- Typecheck (`tsc --noEmit`): clean.
|
|
81
|
+
|
|
82
|
+
## Evidence
|
|
83
|
+
|
|
84
|
+
The bug was reproducible: bundling a skill via the scaffolder produced a `.agent/openai/skills/<name>/SKILL.md` file that no Codex session could see. The on-disk layout of Codex's own installed skills at `~/.codex/skills/.system/<name>/` was confirmed to follow the corrected layout (SKILL.md + agents/openai.yaml as a sibling subdirectory). YAML format anchored to Codex's documented spec (`~/.codex/skills/.system/skill-creator/references/openai_yaml.md`).
|
|
85
|
+
|
|
86
|
+
Live end-to-end verification with a running Codex agent is queued as a follow-up — local `codex exec` smoke tests against ChatGPT-subscription auth failed with model-availability errors unrelated to this fix. The unit tests + on-disk format match against real installed skills + adherence to documented YAML spec provide structural confidence; full end-to-end depends on a healthy Codex session.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Side-effects review — Phase 6 local-model adapter via Codex CLI `--oss`
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `local-model-codex-oss`
|
|
4
|
+
**Date:** `2026-05-18`
|
|
5
|
+
**Author:** Echo
|
|
6
|
+
**Second-pass reviewer:** self-review — empirically verified end-to-end with `codex exec --oss --local-provider ollama --model llama3.2:latest --json`; 35/35 launch-builder tests green.
|
|
7
|
+
**Driving spec:** `specs/provider-portability/08-model-fitness-catalog.md` (Phase 6 local-adapter scope); `specs/provider-portability/12-openai-path-constraints.md` (BASE_URL/local-provider compatibility carve-out).
|
|
8
|
+
|
|
9
|
+
## Summary of the change
|
|
10
|
+
|
|
11
|
+
Ships Phase 6 of provider-portability as a **passthrough**, not a new adapter. The Codex CLI's built-in `--oss --local-provider <p>` flags route to a locally-running Ollama or LM Studio backend. Empirically verified working: `codex exec --oss --local-provider ollama --model llama3.2:latest --json` produces the same `thread.started` → `turn.started` → `item.completed` → `turn.completed` event sequence that `agenticSessionHeadless` already normalizes. No event-normalizer change needed.
|
|
12
|
+
|
|
13
|
+
1. **`src/core/frameworkSessionLaunch.ts`** — `HeadlessLaunchOptions` and `InteractiveLaunchOptions` gain a `codexLocalProvider?: 'ollama' | 'lmstudio'` field. Both Codex builders detect it and emit `--oss --local-provider <p>` plus pass the model field verbatim (skipping the OpenAI tier resolver, since local models like `llama3.2:latest` don't share OpenAI's vocabulary).
|
|
14
|
+
|
|
15
|
+
2. **`src/core/SessionManager.ts`** — `spawnSession` and `spawnInteractiveSession` accept a `codexLocalProvider` option and forward it to the builders. Operators / per-topic routing can opt in without code changes elsewhere.
|
|
16
|
+
|
|
17
|
+
3. **`specs/provider-portability/08-model-fitness-catalog.md`** — new section "Local-model adapter via Codex CLI (Phase 6 path)" documents the verified backend, fitness ratings for `llama3.2:latest`, caveats (no cost-aware routing for local, Spec 12 Rule 1 still applies, sandbox modes work identically).
|
|
18
|
+
|
|
19
|
+
4. **`docs/local-model-recipe.md`** (new) — operator-facing setup guide. Prerequisites, per-topic config example, troubleshooting, common pitfalls, architectural note explaining the passthrough trade-off.
|
|
20
|
+
|
|
21
|
+
5. **`tests/unit/frameworkSessionLaunch.test.ts`** — 5 new tests covering the local-provider branch: `--oss` + `--local-provider` emitted; default model `llama3.2:latest` when omitted; `lmstudio` provider accepted; interactive launch also supports it; `claude-code` framework correctly ignores the codex-only flag.
|
|
22
|
+
|
|
23
|
+
## Decision-point inventory
|
|
24
|
+
|
|
25
|
+
- **Passthrough not adapter** — `add`. Codex CLI already speaks Ollama/LM Studio's API; building a separate Instar adapter would duplicate that translation logic without adding capability. Trade-off: limited to providers Codex supports; other backends need a dedicated adapter.
|
|
26
|
+
- **Per-topic config keys `topicCodexLocalProvider` / `topicCodexLocalModel`** — `add` (documented in recipe; runtime wiring deferred to a follow-up since config plumbing is mostly mechanical and not security-relevant).
|
|
27
|
+
- **Default model `llama3.2:latest`** — `add`. Smallest model that produces useful output; matches the recipe's "smallest path that works" advice.
|
|
28
|
+
- **Skip OpenAI tier resolver when local-provider set** — `change`. Tier names (`fast`/`balanced`/`capable`) only make sense for hosted models; local models use their own naming.
|
|
29
|
+
|
|
30
|
+
## Signal vs authority
|
|
31
|
+
|
|
32
|
+
- `codexLocalProvider` is a launch-options field — pure signal flowing into the builders.
|
|
33
|
+
- The builders are pure functions — no authority.
|
|
34
|
+
- Routing authority (which topic uses local vs hosted) is the operator's via config; future work could add `LocalProviderRoutingPolicy` for autonomous selection.
|
|
35
|
+
|
|
36
|
+
## Over-block / under-block analysis
|
|
37
|
+
|
|
38
|
+
**Over-block:** None. The change is additive — existing callers don't pass `codexLocalProvider` and get the hosted path unchanged.
|
|
39
|
+
|
|
40
|
+
**Under-block:** Spec 12 Rule 1 still fires when `OPENAI_API_KEY` is in env, even though local-provider mode never uses it. That's correct: the env var is a security signal regardless of which path consumes it. The recipe doc explicitly tells operators to `unset OPENAI_API_KEY` for a clean local-only profile.
|
|
41
|
+
|
|
42
|
+
## Level-of-abstraction fit
|
|
43
|
+
|
|
44
|
+
- `codexLocalProvider` lives on `HeadlessLaunchOptions` / `InteractiveLaunchOptions` next to `codexSandboxMode` and `defaultModel` — same level (per-launch overrides).
|
|
45
|
+
- The fitness-catalog section lives next to the other model entries with the same "what / when / when not / caveats" shape.
|
|
46
|
+
- The recipe doc lives in `docs/` not `specs/` — it's user-facing operations, not design.
|
|
47
|
+
|
|
48
|
+
## Interactions
|
|
49
|
+
|
|
50
|
+
- **Spec 12 Rule 1 enforcement** — preserved. The credential validator still inspects env + auth.json regardless of `--oss` mode; users who don't want the warning can `unset OPENAI_API_KEY`.
|
|
51
|
+
- **Spec 12 Rule 1a env-scrub** — preserved. The env-allowlist still strips `OPENAI_API_KEY` from child env. `--oss` mode doesn't need the key anyway; this just keeps the scrubbing universal.
|
|
52
|
+
- **`CostAwareRoutingPolicy`** — orthogonal. Local-provider sessions sidestep the policy (no credit pot involved). Future Phase 5d work could integrate.
|
|
53
|
+
- **`agenticSessionHeadless` event normalizer** — works as-is. The event stream from `codex exec --oss` is identical in shape to the hosted path.
|
|
54
|
+
|
|
55
|
+
## Rollback cost
|
|
56
|
+
|
|
57
|
+
Pure additive code. To roll back, remove the `codexLocalProvider` field from the launch options and the conditional branches in the two builders + the SessionManager passthrough. Existing tests would still pass; only the 5 new tests cover the removed surface.
|
|
58
|
+
|
|
59
|
+
## Verification
|
|
60
|
+
|
|
61
|
+
- `npx tsc --noEmit` — clean.
|
|
62
|
+
- `npx vitest run tests/unit/frameworkSessionLaunch.test.ts` — 35/35 green (includes 5 new Phase 6 cases).
|
|
63
|
+
- Live smoke: `codex exec --oss --local-provider ollama --model llama3.2:latest --json --skip-git-repo-check -s read-only "Reply ONLY with: PONG"` returned `{"item":{"text":"PONG"}}` in ~3s. Verified at 2026-05-18T03:35Z on Echo's dev machine.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Side-effects review — Conversational /local-model command
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `local-model-conversational-command`
|
|
4
|
+
**Date:** `2026-05-18`
|
|
5
|
+
**Author:** Echo
|
|
6
|
+
**Second-pass reviewer:** self-review — net new conversational surface, no behavior change to topics that don't invoke it.
|
|
7
|
+
**Driving spec:** `specs/provider-portability/04-anthropic-path-constraints.md` (Codex local-model passthrough scope).
|
|
8
|
+
|
|
9
|
+
## Summary
|
|
10
|
+
|
|
11
|
+
Justin's rule: every config change must be reachable conversationally via Telegram. Local-model selection (Codex --oss --local-provider) was config-only — operator had to edit `.instar/config.json` and restart. This change adds `/local-model <provider> [model]` as a first-class Telegram command, mirroring the existing `/route` command.
|
|
12
|
+
|
|
13
|
+
End-to-end:
|
|
14
|
+
- `/local-model` → status (current binding + how to switch)
|
|
15
|
+
- `/local-model ollama llama3.2:latest` → switches the topic, validates the provider is reachable + the model is pulled, persists via TopicLocalModelStore, respawns the session
|
|
16
|
+
- `/local-model lmstudio mistral-7b` → same but for LM Studio
|
|
17
|
+
- `/local-model off` → revert to cloud Codex
|
|
18
|
+
- Requires the topic to be on codex-cli first (local-model goes through Codex --oss); surfaces a "/route codex-cli first" hint when not
|
|
19
|
+
|
|
20
|
+
## New files
|
|
21
|
+
|
|
22
|
+
- `src/core/TopicLocalModelStore.ts` — sibling of TopicFrameworksStore. Per-topic local-model binding with override + config-default layers, atomic persistence, defensive load.
|
|
23
|
+
- `src/providers/adapters/openai-codex/transport/checkLocalProvider.ts` — pre-flight reachability + model-existence check (Ollama /api/version + /api/tags; LM Studio /v1/models). Surfaces actionable errors before the user wonders why the session won't spawn.
|
|
24
|
+
- `tests/unit/TopicLocalModelStore.test.ts` — 10 tests covering get/set/clear/snapshot/load-validation/corrupt-file resilience.
|
|
25
|
+
|
|
26
|
+
## Modified files
|
|
27
|
+
|
|
28
|
+
- `src/messaging/TelegramAdapter.ts` — adds `onLocalModelCommand` callback declaration + the `/local-model` parser. Pattern is identical to `/route`: parse args, dispatch to handler, echo result message to topic.
|
|
29
|
+
- `src/commands/server.ts` — wires `_topicLocalModelStore` at boot (seeded from `topicCodexLocalProvider` + `topicCodexLocalModel` config maps), wires `telegram.onLocalModelCommand`, and threads the per-topic binding through `spawnSessionForTopic` → `spawnInteractiveSession`. Per-call `defaultModel` override now wins over config defaults so /local-model can target a specific model id.
|
|
30
|
+
- `src/core/SessionManager.ts` — adds `defaultModel?: string` to `spawnInteractiveSession` options. Mirrors the existing `codexLocalProvider` option; both flow to `buildInteractiveLaunch`.
|
|
31
|
+
|
|
32
|
+
## Decision-point inventory
|
|
33
|
+
|
|
34
|
+
- **Separate store from TopicFrameworksStore** — `add`. Reason: framework (claude vs codex) and provider (cloud-codex vs local-ollama) are independent dimensions. A single store couldn't express "Codex with cloud" vs "Codex with local".
|
|
35
|
+
- **Reachability pre-flight before flip** — `add`. Without it, a user typing `/local-model ollama` when Ollama isn't running gets a session that fails to spawn 90 seconds later. The pre-flight gives an actionable error in 3 seconds.
|
|
36
|
+
- **Require codex-cli framework first** — `change`. Local-model only routes through Codex --oss; flipping it on a claude-code topic would be silently inert. The command surfaces the requirement explicitly.
|
|
37
|
+
|
|
38
|
+
## Signal vs authority
|
|
39
|
+
|
|
40
|
+
- TopicLocalModelStore is authority for runtime local-model binding (it gates whether the spawn argv gets `--oss --local-provider`).
|
|
41
|
+
- checkLocalProviderReachable is signal: a "yes it's reachable" doesn't guarantee the spawn succeeds (Codex could still fail for other reasons), but a "no" is a definitive blocker that prevents wasted respawn cycles.
|
|
42
|
+
- /local-model is the conversational authority surface; the underlying mechanism stays the same (TopicLocalModelStore + frameworkSessionLaunch passthrough).
|
|
43
|
+
|
|
44
|
+
## Over-block / under-block analysis
|
|
45
|
+
|
|
46
|
+
**Over-block:** Pre-flight returns false if Ollama isn't running. That's correct — the spawn would fail anyway. The error message points the user at `ollama serve` so it's recoverable.
|
|
47
|
+
|
|
48
|
+
**Under-block:** Pre-flight skips model-list check on transient failures (the /api/tags request times out). The spawn will still attempt and fail loudly if the model genuinely isn't there. Acceptable: don't block the user on partial network flakiness.
|
|
49
|
+
|
|
50
|
+
## Interactions
|
|
51
|
+
|
|
52
|
+
- Coexists with `/route` — the two commands are orthogonal. A topic can be on (claude-code, no-local), (codex-cli, no-local = cloud), or (codex-cli, local). The (claude-code, local) state is rejected at the command level.
|
|
53
|
+
- Coexists with PostUpdateMigrator's `migrateProviderPortability` — that migration records the v1.0.0 marker; it doesn't touch TopicLocalModelStore. No conflict.
|
|
54
|
+
- The state file `.instar/state/topic-local-models.json` is a sibling of `topic-frameworks.json`. Both atomic-writes, both backed up by the standard agent backup.
|
|
55
|
+
|
|
56
|
+
## Rollback cost
|
|
57
|
+
|
|
58
|
+
- Revert is one commit. The state file persists (no schema migration); subsequent reverts leave it untouched but ignored.
|
|
59
|
+
- Operators using the old config-driven path keep working — `topicCodexLocalProvider` / `topicCodexLocalModel` in config.json still seed the store as defaults.
|
|
60
|
+
|
|
61
|
+
## Verification
|
|
62
|
+
|
|
63
|
+
- `npx tsc --noEmit` clean.
|
|
64
|
+
- `npm run lint` clean (Rule 1 drift gate green).
|
|
65
|
+
- 10 new unit tests for TopicLocalModelStore (10/10 pass).
|
|
66
|
+
- End-to-end on deep-signal (running v1.0.0 + this change):
|
|
67
|
+
- `/local-model` → status returned correctly.
|
|
68
|
+
- `/local-model ollama llama3.2:latest` → flip persisted, session respawned, Codex banner shows `model: llama3.2:latest`.
|
|
69
|
+
- Test probe to topic — local Codex session received the message (output captured in pane), demonstrating the --oss passthrough is live.
|
|
70
|
+
- `/local-model off` → revert persisted, session respawned, Codex banner shows `model: gpt-5.3-codex`.
|
|
71
|
+
|
|
72
|
+
## What this doesn't fix
|
|
73
|
+
|
|
74
|
+
Llama 3.2 (3B) doesn't reliably emit tool calls (telegram-reply.sh invocations) — small local models often can't follow the relay convention. This is a model-capability limit, not an Instar bug. Documented in `docs/local-model-recipe.md`. Operators using local models for chat should expect responses to land in the terminal pane rather than back through Telegram unless they switch to a larger local model (e.g., qwen2.5-coder:7b).
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Side-effects review — Phase 7 migration entry (provider-portability v1.0.0)
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `migrate-provider-portability`
|
|
4
|
+
**Date:** `2026-05-18`
|
|
5
|
+
**Author:** Echo
|
|
6
|
+
**Second-pass reviewer:** self-review — 5 new tests covering idempotency + Codex detection surfacing; typecheck clean.
|
|
7
|
+
**Driving spec:** `specs/provider-portability/README.md` Phase 7 ("Migration design + local agent testing").
|
|
8
|
+
|
|
9
|
+
## Summary of the change
|
|
10
|
+
|
|
11
|
+
Adds an idempotent migrator entry to `PostUpdateMigrator` that runs on every `instar update`. The migration is intentionally lightweight: the load-bearing piece (auto-populating `frameworkBinaryPaths` from detection) already happens at every server boot in `Config.ts`, so a one-time on-disk transform isn't required. What this migrator does:
|
|
12
|
+
|
|
13
|
+
1. Records `provider-portability-v1.0.0-<ISO>` in `_instar_migrations` so re-runs are no-ops and the migration is auditable in `config.json`.
|
|
14
|
+
2. Detects Codex CLI presence and surfaces it in the upgrade message ("Codex CLI detected at /path/to/codex — portable to Codex via /route or topicFrameworks config." OR "Codex CLI not detected — install via npm i -g @openai/codex to enable Codex routing.").
|
|
15
|
+
3. Does NOT mutate `frameworkBinaryPaths`, `topicFrameworks`, or any other behavior-affecting field — operator choice via `/route` and conversational tooling owns those decisions.
|
|
16
|
+
|
|
17
|
+
Files touched:
|
|
18
|
+
- `src/core/PostUpdateMigrator.ts` — adds `migrateProviderPortability(result)` step and wires it into the `migrate()` orchestration.
|
|
19
|
+
- `tests/unit/migrateProviderPortability.test.ts` — 5 tests (missing config, first run, re-run no-op, Codex surfacing, no field mutation).
|
|
20
|
+
|
|
21
|
+
## Decision-point inventory
|
|
22
|
+
|
|
23
|
+
- **Migration marker in `_instar_migrations`** — `add`. Matches the existing convention (`defaults-<version>-<ISO>`) so the audit trail is uniform.
|
|
24
|
+
- **Skip Codex CLI install detection in migrator (don't auto-install)** — `add` (deliberate non-action). User's package-manager choice.
|
|
25
|
+
- **No automatic framework-default flip** — `add` (deliberate non-action). Flipping a Claude-only agent to Codex on update would be a silent behavior change; spec 12 explicitly forbids this kind of silent migration. Operator opts in via `/route` or `topicFrameworks` config.
|
|
26
|
+
- **Best-effort Codex detection, fall through on error** — `add`. If `detectCodexPath` throws or returns null, the migrator still records the marker so re-runs don't repeat. The user just gets the "not detected" message.
|
|
27
|
+
|
|
28
|
+
## Signal vs authority
|
|
29
|
+
|
|
30
|
+
- The migrator is **signal-only** at the operator level — it records what's true, surfaces the detection result, lets the operator decide.
|
|
31
|
+
- The runtime authority is `Config.ts`'s `frameworkBinaryPaths` population at boot, plus the per-topic `topicFrameworks` map + `/route` slash command.
|
|
32
|
+
|
|
33
|
+
## Over-block / under-block analysis
|
|
34
|
+
|
|
35
|
+
**Over-block:** None. Existing Claude-only agents update transparently — no new field is added that changes behavior.
|
|
36
|
+
|
|
37
|
+
**Under-block:** Operators who never run `/route` and never edit `topicFrameworks` stay on claude-code forever even after upgrading. That's the correct default — no silent flip.
|
|
38
|
+
|
|
39
|
+
## Level-of-abstraction fit
|
|
40
|
+
|
|
41
|
+
- Lives next to other migration entries in `PostUpdateMigrator` (`migrateConfig`, `migrateContextDeathAntiPattern`, etc.) with the same shape.
|
|
42
|
+
- Uses the same `result.upgraded`/`result.skipped`/`result.errors` channels.
|
|
43
|
+
|
|
44
|
+
## Interactions
|
|
45
|
+
|
|
46
|
+
- **`Config.ts` runtime detection** — orthogonal. Migrator records a marker; Config.ts populates the runtime field. Both can change independently.
|
|
47
|
+
- **`getMigrationDefaults` defaults applier** — orthogonal. That applies safe defaults; this records a versioned marker.
|
|
48
|
+
- **Spec 12 Rule 1 validator** — orthogonal. Validator fires at adapter init regardless of migration state.
|
|
49
|
+
|
|
50
|
+
## Rollback cost
|
|
51
|
+
|
|
52
|
+
Pure code change. Reverting removes the migrator step from `migrate()` and the entry function. The migration marker stays in `_instar_migrations` of any agent that already ran the update — harmless on re-runs of the reverted code (the marker just isn't checked anymore).
|
|
53
|
+
|
|
54
|
+
## Verification
|
|
55
|
+
|
|
56
|
+
- `npx tsc --noEmit` — clean.
|
|
57
|
+
- `npx vitest run tests/unit/migrateProviderPortability.test.ts` — 5/5 green.
|
|
58
|
+
- Manual: will run against ai-guy and sagemind config copies as part of Track D step 19 (live verification).
|