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,44 @@
|
|
|
1
|
+
# Upgrade Guide — v1.0.1
|
|
2
|
+
|
|
3
|
+
<!-- bump: patch -->
|
|
4
|
+
|
|
5
|
+
## What Changed
|
|
6
|
+
|
|
7
|
+
The Codex provider-scaffolder now writes bundled skills to the path Codex 0.130 actually walks for project-scope discovery. The old layout silently failed — Codex never saw any of the skills the scaffolder installed.
|
|
8
|
+
|
|
9
|
+
Two related changes in `src/providers/adapters/openai-codex/integration/providerScaffolder.ts`:
|
|
10
|
+
|
|
11
|
+
1. Skill installation moved from `.agent/openai/skills/<name>/` to `.agents/skills/<name>/`. The plural `.agents/` (with a trailing `s`) is Codex 0.130's documented project-scope skill discovery path. The prior path (`.agent/openai/...`) was a co-location guess that Codex never looked at — every bundled skill we installed under it was invisible to the agent.
|
|
12
|
+
|
|
13
|
+
2. Each installed skill now also gets a sibling `agents/openai.yaml` inside its own directory (`.agents/skills/<name>/agents/openai.yaml`), generated from the skill's frontmatter. The YAML carries `interface.display_name` and `interface.short_description`. Codex requires this sibling to surface the skill in UI lists and chips; without it the skill loads but is undiscoverable.
|
|
14
|
+
|
|
15
|
+
The provider-config tree at `.agent/openai/` (AGENTS.md, config.toml, hooks.json) is unchanged — that's the Instar-standardized per-provider config bucket and Codex doesn't walk it for skills.
|
|
16
|
+
|
|
17
|
+
`uninstall()` now removes both `.agent/openai/` and `.agents/skills/` to match the install footprint.
|
|
18
|
+
|
|
19
|
+
This is the first concrete fix landing from the framework-functional-parity foundational work. Future framework-parity work will follow the same pattern: align scaffolder output to what each framework actually loads at the file-discovery layer.
|
|
20
|
+
|
|
21
|
+
## What to Tell Your User
|
|
22
|
+
|
|
23
|
+
- "Skills you bundle for Codex sessions are now actually visible to Codex. Before this fix they were being written to a location Codex doesn't look at, so they loaded but never appeared in skill lists."
|
|
24
|
+
- "No action needed on your end. Existing scaffolds will pick up the correct layout the next time the scaffolder installs."
|
|
25
|
+
|
|
26
|
+
## Summary of New Capabilities
|
|
27
|
+
|
|
28
|
+
| Capability | How to Use |
|
|
29
|
+
|-----------|-----------|
|
|
30
|
+
| Codex skill discovery (project-scope) | Automatic — scaffolder writes `.agents/skills/<name>/SKILL.md` + sibling `agents/openai.yaml` |
|
|
31
|
+
| Codex skill UI metadata | Automatic — generated from each skill's frontmatter (`name`, `description`, `metadata.short-description`) |
|
|
32
|
+
|
|
33
|
+
## Evidence
|
|
34
|
+
|
|
35
|
+
The bug was reproducible against Codex 0.130 with the prior layout:
|
|
36
|
+
|
|
37
|
+
- **Before**: `.agent/openai/skills/hello-instar/SKILL.md` created by the scaffolder. Running `codex` in the project directory and asking "what skills are available?" returned no project-scope skills. Direct filesystem inspection confirmed the file existed; Codex was not walking that path.
|
|
38
|
+
- **After**: `.agents/skills/hello-instar/SKILL.md` + `.agents/skills/hello-instar/agents/openai.yaml` created by the scaffolder. Layout matches the on-disk format of Codex's own installed skills under `~/.codex/skills/.system/<name>/` — `SKILL.md` at the root, `agents/openai.yaml` as a sibling subdirectory.
|
|
39
|
+
|
|
40
|
+
YAML format anchored to Codex's documented spec at `~/.codex/skills/.system/skill-creator/references/openai_yaml.md` — `interface.display_name` and `interface.short_description` are the documented required fields; we generate both from frontmatter.
|
|
41
|
+
|
|
42
|
+
Unit tests cover: correct path written, legacy wrong path not written, YAML sibling emitted at correct location, display_name derived from skill name when frontmatter omits it, short_description sourced from `metadata.short-description` (canonical Codex skill format) with fallback to top-level `description`, long descriptions truncated to 64 chars per spec, `uninstall()` removes both trees, multiple skills handled in one install call, YAML escapes double quotes in string values.
|
|
43
|
+
|
|
44
|
+
Test file: `tests/unit/providers/adapters/openai-codex/providerScaffolder.test.ts` (14 tests, all passing). Full openai-codex adapter suite: 78/78 passing. Typecheck: clean.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Upgrade Guide — v1.0.1
|
|
2
|
+
|
|
3
|
+
<!-- bump: patch -->
|
|
4
|
+
|
|
5
|
+
## What Changed
|
|
6
|
+
|
|
7
|
+
Codex topics now actually resume into their prior session when one has been tracked. Before this release, the launch helper recognized that a topic had a tracked Codex session id but logged a warning and started fresh anyway — the resume id was thrown away. After this release, the helper rebuilds argv with `codex resume <SESSION_ID>` as a subcommand inserted right after the binary path, with all the usual sandbox / model / `--oss --local-provider` flags accepted by the `resume` subcommand verbatim.
|
|
8
|
+
|
|
9
|
+
The implementation is in `src/core/frameworkSessionLaunch.ts` (codexCliBuilder). One small refactor: `resumePrefix` is built first (either `['resume', <id>]` when resuming, or empty for fresh), then spread into argv between the binary path and `--model`. The prior warning is removed. Codex's flag-style `--resume` was never accepted by the binary in the first place; the new shape matches what `codex resume --help` documents on Codex 0.130.
|
|
10
|
+
|
|
11
|
+
Stale-id handling: if the tracked SESSION_ID no longer exists in Codex's session store, `codex resume` exits non-zero at startup and the tmux pane shows an error. SessionManager's respawn logic catches the dead pane, and the route handler can clear the stale resume id (same pattern PR #248 established for framework swaps clearing resume ids whose scheme no longer matches the new framework).
|
|
12
|
+
|
|
13
|
+
In capability-matrix terms (from `specs/instar-foundations/required-primitives-inventory.md` once it lands on main), this shifts primitive #7 Session-resume on Codex from `partial ⚠️` to `native ✓`.
|
|
14
|
+
|
|
15
|
+
## What to Tell Your User
|
|
16
|
+
|
|
17
|
+
- "Codex sessions you've been chatting with now actually pick up where they left off after a restart. Before, restarts silently started a fresh session and lost the conversation thread."
|
|
18
|
+
- "No action needed. Topics that were tracked with a Codex session id will resume the next time they restart."
|
|
19
|
+
|
|
20
|
+
## Summary of New Capabilities
|
|
21
|
+
|
|
22
|
+
| Capability | How to Use |
|
|
23
|
+
|-----------|-----------|
|
|
24
|
+
| Codex session resume | Automatic — when a topic has a tracked Codex session id, launch uses `codex resume <id>` as a subcommand |
|
|
25
|
+
|
|
26
|
+
## Evidence
|
|
27
|
+
|
|
28
|
+
The bug was reproducible: any Codex topic that had a tracked session id and got respawned (manually, via /restart, or via lifeline recovery) logged a `console.warn` about Codex resume being a subcommand and started fresh — the user's conversation history in that session was gone from Codex's view (Instar's topic history was still there, but the model lost continuity).
|
|
29
|
+
|
|
30
|
+
Unit tests confirm the new argv shape:
|
|
31
|
+
|
|
32
|
+
- `resume <id>` inserted at positions 1 and 2 of argv when `resumeSessionId` is set
|
|
33
|
+
- No `resume` token in argv when `resumeSessionId` is absent (fresh launch unchanged)
|
|
34
|
+
- Sandbox flags (`--sandbox`, `--ask-for-approval`, `--dangerously-bypass-approvals-and-sandbox`) preserved when resuming
|
|
35
|
+
- Local-model flags (`--oss`, `--local-provider`) preserved when resuming
|
|
36
|
+
- The flag-style `--resume` is never emitted (Codex doesn't accept it)
|
|
37
|
+
|
|
38
|
+
Test file: `tests/unit/frameworkSessionLaunch.test.ts` (38/38 passing — 4 new tests in the codex-cli describe block, 1 prior test updated from "should-not-resume-because-not-supported" to "should-insert-subcommand"). Typecheck: clean.
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# Upgrade Guide — v1.0.0 (Provider Portability release)
|
|
2
|
+
|
|
3
|
+
<!-- bump: major -->
|
|
4
|
+
<!-- Valid values: patch, minor, major -->
|
|
5
|
+
<!-- patch = bug fixes, refactors, test additions, doc updates -->
|
|
6
|
+
<!-- minor = new features, new APIs, new capabilities (backwards-compatible) -->
|
|
7
|
+
<!-- major = breaking changes to existing APIs or behavior -->
|
|
8
|
+
|
|
9
|
+
## v1.0.0 headline (what this release IS)
|
|
10
|
+
|
|
11
|
+
Instar is no longer locked to one AI provider. Every hot-path session
|
|
12
|
+
(interactive, headless, pipe-mode, upgrade-notify, stall-recovery)
|
|
13
|
+
routes through a framework-aware launch helper that supports Claude
|
|
14
|
+
Code, OpenAI Codex, AND local models via Ollama / LM Studio (through
|
|
15
|
+
Codex CLI's `--oss` passthrough). Operators flip a topic between
|
|
16
|
+
frameworks via the `/route` slash command. Generic model tiers
|
|
17
|
+
(`fast` / `balanced` / `capable`) map to each framework's preferred
|
|
18
|
+
concrete model automatically.
|
|
19
|
+
|
|
20
|
+
Spec 12 Rule 1 (Codex subscription-only path) lands in Phase A:
|
|
21
|
+
adapter init emits a warning + telemetry when API-key auth is
|
|
22
|
+
detected; full refusal is opt-in via `INSTAR_RULE1_ENFORCE=hard` for
|
|
23
|
+
v1.0.0 and default in v1.1.
|
|
24
|
+
|
|
25
|
+
Local-model adapter is shipped as a passthrough — `codex exec
|
|
26
|
+
--oss --local-provider ollama --model llama3.2:latest` works
|
|
27
|
+
end-to-end via Codex CLI 0.50.x. Recipe at `docs/local-model-recipe.md`.
|
|
28
|
+
|
|
29
|
+
Existing Claude-only installs upgrade transparently: framework
|
|
30
|
+
defaults to claude-code, no behavior change unless the operator opts
|
|
31
|
+
into Codex or local-model routing.
|
|
32
|
+
|
|
33
|
+
## What Changed
|
|
34
|
+
|
|
35
|
+
Codex topics now round-trip end-to-end. Four follow-ups on the /route work below closed the live-test gaps that surfaced when the framework was switched on a real Telegram topic.
|
|
36
|
+
|
|
37
|
+
First, `respawnSessionForTopic` now kills the existing tmux session before spawning a replacement. `SessionManager.spawnInteractiveSession` no-ops when a tmux session with the same name already exists — that's intentional for "reuse the agent that's already up" semantics, but it silently defeats a framework swap: the kill-and-respawn invariant the /route flow assumed wasn't there. Added the kill at the top of `respawnSessionForTopic` (idempotent — no-op when the session is already dead), so every framework swap, recovery respawn, and /restart path now gets a fresh process. Verified live: a `/route claude-code → codex-cli` swap on a topic with an active Claude tmux session now actually replaces it with a Codex one.
|
|
38
|
+
|
|
39
|
+
Second, the per-topic resume-uuid is now cleared on framework swap inside the /route handler. The UUID was created under one framework's session-id scheme and is meaningless to the other (Claude UUIDs ≠ Codex session ids); without clearing it the new spawn's `--resume <id>` either logged a "starting fresh" warning (Codex) or attempted to attach to a non-existent session (Claude). The route handler now calls `_topicResumeMap.remove(topicId)` between the store update and the respawn.
|
|
40
|
+
|
|
41
|
+
Third, codex spawns now request `gpt-5.3-codex` explicitly via `--model`. Codex CLI's default is `gpt-5.2-codex`, which OpenAI retired from ChatGPT-subscription auth on 2026-04-14 (Community thread 1378986). Without the flag, a spawn under a subscription account hits "The 'gpt-5.2-codex' model is not supported when using Codex with a ChatGPT account" on the first turn. Picked `gpt-5.3-codex` (the coding-specialist tier in `providers/adapters/openai-codex/models.ts`); API-key users can override per session via `~/.codex/config.toml` or `-c model=`.
|
|
42
|
+
|
|
43
|
+
Fourth, codex spawns now use `--dangerously-bypass-approvals-and-sandbox` instead of the prior `--sandbox workspace-write --ask-for-approval never` pair. Claude's `--dangerously-skip-permissions` is one flag that means BOTH "no approval prompts" AND "no sandbox" — the parity flag on Codex is the bypass, not the flag-pair. The flag-pair left Codex's seatbelt sandbox running, which blocked the agent from reaching localhost (where the relay script ultimately posts) and from writing outside the project (which the relay needs for its outbox), so Codex sessions read AGENTS.md, attempted the relay, and got denied at the syscall level. `codexSandboxMode` callers still get the flag-pair form for the safer profile. Live-verified: Codex now reaches `.claude/scripts/telegram-reply.sh`, calls instar's local server, and round-trips messages back to the Telegram topic.
|
|
44
|
+
|
|
45
|
+
Fifth, `SessionManager.rawInject` is now 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 arrives during that window — observed live as messages stacking up in Codex's input box without ever submitting. The injector now reads the spawned session's `INSTAR_FRAMEWORK` from its tmux env (cached, single lookup per session), and for `codex-cli` waits 1.5s after the paste end (vs 0.5s for Claude) and sends Enter twice with a 300ms gap. The second Enter is a harmless no-op against an empty buffer if the first one landed. `clearSessionFrameworkCache(name)` is exposed so callers killing-and-respawning a tmux name under a different framework (e.g., the /route flow) can invalidate the cache; `respawnSessionForTopic` calls it.
|
|
46
|
+
|
|
47
|
+
Sixth (closes the legacy-install gap): `spawnSessionForTopic` now calls `ensureFrameworkIdentityFile` before every spawn — a new idempotent helper in `IdentityRenderer` that ensures the framework's shadow file (AGENTS.md for codex-cli, CLAUDE.md for claude-code) exists at the project root. When `.instar/AGENT.md` exists, it renders from there; when only a legacy shadow exists (older installs that authored CLAUDE.md directly without AGENT.md), it bootstraps AGENT.md from the legacy shadow first, then renders. Idempotent — no-op when the target shadow already exists, so the per-spawn cost is one stat call. Closes the gap that required dropping AGENTS.md by hand for the live test. 6 new unit tests.
|
|
48
|
+
|
|
49
|
+
/route slash-command landed: users can now flip a Telegram topic between Claude Code and Codex via a conversational command. `/route` or `/route status` shows the current framework; `/route claude-code` or `/route codex-cli` switches and respawns the topic's session via the existing TopicMemory-bootstrapping respawn flow. State persists in `<stateDir>/state/topic-frameworks.json` (atomic writes; separate from the operator-edited `topicFrameworks` in config.json so the two write paths don't race). New `TopicFrameworksStore` tolerates corrupt state files at boot — falls back to config defaults rather than crashing. 9 new store tests + 89 touched-area tests pass. Per Justin's clarified design model: the user-facing choice is Claude Code vs Codex; the SDK-credit-vs-subscription distinction inside "Claude Code" is invisible (Phase 5c cost-router handles it automatically when wired in a follow-up).
|
|
50
|
+
|
|
51
|
+
Tier 1.A (spawnInteractiveSession framework dispatch + per-topic override) landed: the foundational Telegram-driven session spawn path no longer hardcodes Claude's CLI flags. New `src/core/frameworkSessionLaunch.ts` carries per-framework builders that return `{ argv, envOverrides }`; SessionManager dispatches to the right builder based on a new optional `framework` parameter. New `InstarConfig.topicFrameworks` map (`{ "9984": "claude-code", "9985": "codex-cli" }`) lets operators flip a single topic to a different framework without changing the agent's overall framework. `spawnSessionForTopic` and `respawnSessionForTopic` consult the per-topic map via a `resolveTopicFramework(topicId)` helper. `SessionManagerConfig.frameworkBinaryPaths` populated from detection at load time so the dispatcher picks the right binary. Existing Claude callers behave identically. The Agent SDK spawn mode is deferred — needs a different shape than tmux'd CLIs. 12 new launch-builder tests; 181 touched-area tests still pass.
|
|
52
|
+
|
|
53
|
+
Tier 2.B+ (SessionWatchdog framework-aware PID resolution) landed: the watchdog's `getClaudePid` resolved the in-pane CLI process by matching `^claude$` / `/claude$` directly, so for Codex installs it returned null and the watchdog silently no-opped on every Codex session. New `getFrameworkPid` walks `listProcessSignals()` (reusing Tier 2.C's framework process signals) and matches both bare-name (`claude`, `codex`) and path-tail forms, then falls back to a multi-needle egrep on the pane's child processes. The 65 existing watchdog tests all pass.
|
|
54
|
+
|
|
55
|
+
Tier 2.E (subsystem framework-aware intelligence) landed: server-boot smoke test of `INSTAR_FRAMEWORK=codex-cli` revealed that three subsystems were still constructing their own `ClaudeCliIntelligenceProvider` rather than reusing the framework-aware `sharedIntelligence` singleton: RelationshipManager (identity resolution), TopicSummarizer (session-completion summaries), and JobReflector (via `instar reflect`). All three now consult `sharedIntelligence` first and fall back to a Claude provider only when sharedIntelligence couldn't be built. Boot log now reports `Relationships loaded: 0 tracked (LLM-supervised (Codex CLI))` instead of always claiming Claude. No interface changes, no new tests (call-site re-pointer to an already-tested singleton).
|
|
56
|
+
|
|
57
|
+
Provider-portability v1.0.0 spawn-path closure: every remaining hot-path Claude hardcode shipped. New `buildHeadlessLaunch(framework, options)` companion to the existing `buildInteractiveLaunch` — same shape, same exhaustiveness check, same envOverrides contract. `SessionManager.spawnSession` (the headless `-p` prompt path) now routes through it with a per-call `framework` override and reads its binary from `frameworkBinaryPaths[framework]`. `PipeSessionSpawner`'s three direct `claude -p` callsites are gone: `classifyIntent` and `summarizeThreadHistory` accept an `IntelligenceProvider` (fail-closed to interactive/unavailable when none is wired — safer than the old silent shell-exec failure); `spawn()` uses `buildHeadlessLaunch` + `$(< "$file")` substitution so the prompt stays off the command line (no leak via `ps`). Env scrub now covers both `ANTHROPIC_API_KEY` AND `OPENAI_API_KEY` (Spec 12 Rule 1a extended to the pipe spawn). server.ts wires the pipe spawner with the resolved framework + sharedIntelligence. 11 new pipe-portability tests + buildHeadlessLaunch test coverage; 74/74 unit tests across the touched files green.
|
|
58
|
+
|
|
59
|
+
Provider-portability v1.0.0 tier-vocabulary unification: cross-framework generic tiers (`fast`|`balanced`|`capable`) are now the canonical model vocabulary. New `resolveModelForFramework(framework, modelOrTier)` helper maps the generic tiers to each framework's preferred concrete model (`fast`→`haiku`/`gpt-5.2`, `balanced`→`sonnet`/`gpt-5.3-codex`, `capable`→`opus`/`gpt-5.4`). Legacy Claude tier names map cleanly to Codex equivalents so unported callsites don't crash; raw model ids pass through verbatim. The Codex builder's hardcoded `'gpt-5.3-codex'` is now a `SessionManagerConfig.frameworkDefaultModels['codex-cli']` lookup — operators can override per agent without code changes. `UpgradeNotifyManager.MODEL_CHAIN` switched from Claude-only `['haiku','sonnet']` to generic `['fast','balanced']`; the spawn callback widened to accept generic tiers. `/sessions/spawn` route accepts a `framework` field and a framework-aware model whitelist that rejects Claude-only names when `framework=codex-cli` (and vice versa). `StallTriageNurse` model normalization is now framework-aware: Codex agents get `gpt-5.3-codex` for the default `balanced` tier instead of `claude-sonnet-4-6`. 5 new tier-resolution tests + 197/197 unit tests across 8 touched files green.
|
|
60
|
+
|
|
61
|
+
Tier 4.C release blocker (Codex non-git directory fix): the `CodexCliIntelligenceProvider` was silently failing for every Codex-based agent whose state directory wasn't a git checkout. Codex CLI refused to run with `--cd <non-git-dir>` and the resulting error was masked downstream as `taskPattern: "unclassified"` (the classifier's catch-all). Added `--skip-git-repo-check` to the `codex exec` invocation; these reviewer/sentinel/canary calls don't depend on the cwd being a trusted git repo. Surfaced and verified via end-to-end smoke test (`INSTAR_FRAMEWORK=codex-cli node dist/cli.js route "refactor python helper"`) that previously produced `auto-defaulted-unclassified` in 0.8s; now produces `code-refactor-python` / `auto-defaulted-no-topic` in ~4s. 5 new regression tests use a fake codex script to assert the exact spawn-arg shape.
|
|
62
|
+
|
|
63
|
+
## Evidence
|
|
64
|
+
|
|
65
|
+
**Codex non-git directory fix** — reproduced and verified.
|
|
66
|
+
|
|
67
|
+
Before (broken):
|
|
68
|
+
```
|
|
69
|
+
$ INSTAR_FRAMEWORK=codex-cli node dist/cli.js route "refactor this old python helper to use type hints" --dir /tmp/codex-smoke-2 --json
|
|
70
|
+
{
|
|
71
|
+
"framework": "claude-code",
|
|
72
|
+
"model": "opus-4.7",
|
|
73
|
+
"taskPattern": "unclassified",
|
|
74
|
+
"source": "auto-defaulted-unclassified",
|
|
75
|
+
...
|
|
76
|
+
}
|
|
77
|
+
# Internal Codex error visible only on direct provider call:
|
|
78
|
+
# Codex CLI error: Command failed: /Users/.../bin/codex exec --model gpt-5.2 --sandbox read-only --cd /tmp/codex-smoke-2/.instar ...
|
|
79
|
+
# Not inside a trusted directory and --skip-git-repo-check was not specified.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
After:
|
|
83
|
+
```
|
|
84
|
+
$ INSTAR_FRAMEWORK=codex-cli node dist/cli.js route "refactor this old python helper to use type hints" --dir /tmp/codex-smoke-2 --json
|
|
85
|
+
{
|
|
86
|
+
"framework": "claude-code",
|
|
87
|
+
"model": "opus-4.7",
|
|
88
|
+
"taskPattern": "code-refactor-python",
|
|
89
|
+
"source": "auto-defaulted-no-topic",
|
|
90
|
+
...
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Tier 2.C (OrphanProcessReaper framework awareness) landed: the orphan-process sentinel no longer hardcodes Claude's binary patterns or its `grep -i '[c]laude'` prefilter. New `src/monitoring/frameworkProcessSignals.ts` exposes per-framework `psGrepNeedle`, `binaryPattern`, `nodePattern`, exclusion list, and display name; the reaper builds a single `ps … | egrep …` over every framework's needle and tags each process with the matched framework via `matchProcessSignal`. `FrameworkProcess` is the new canonical type (Claude/Codex/etc.); `ClaudeProcess` lives on as a deprecated alias for one release cycle. External-process Telegram alerts now group counts by framework display name. Orphan Codex processes are now detected and cleaned identically to orphan Claude processes. Also rewrote one orphaned `StallTriageNurse` test that asserted on the Rule-2-removed direct-API fallback; the replacement asserts the actual post-Rule-2 heuristic-fallback contract. 24 new signal tests + 200 existing tests pass.
|
|
95
|
+
|
|
96
|
+
Tier 2.B (StallTriageNurse framework awareness) landed: the stall-detection sentinel's heuristic pre-filter no longer hardcodes Claude Code's tool-call regex and spinner glyphs. New `src/monitoring/frameworkActivitySignals.ts` exposes per-framework activity signatures (`toolCallOrSpinner`, `escapeToInterrupt`, `runningIndicator`, plus a prompt-signatures line injected into the LLM system prompt). The nurse reads `config.framework` from `StallTriageConfig` (defaulting to claude-code for backwards-compat), and `server.ts` threads the resolved `INSTAR_FRAMEWORK` value into the construction site. Previously the shell-prompt restart heuristic would false-fire on a healthy Codex pane (no Claude tokens → "framework wrapper has exited"); now it correctly recognizes Codex tool tokens. 22 new tests (16 signal-module + 6 framework-aware heuristics).
|
|
97
|
+
|
|
98
|
+
CoherenceReviewer subclasses and CoherenceGate dropped the unused `apiKey` constructor parameter — dead since the Rule 2 path-constraint lockdown removed the direct-Anthropic-API fallback. Reviewer LLM calls already route exclusively through the IntelligenceProvider; the key was being stored but never read.
|
|
99
|
+
|
|
100
|
+
CoherenceGate now requires an IntelligenceProvider. When none is wired, the response review pipeline is disabled with a warning instead of attempting a raw API fallback.
|
|
101
|
+
|
|
102
|
+
Internal-only API change: external code that constructs CoherenceGate directly must drop `apiKey` from the options bag and supply `intelligence`.
|
|
103
|
+
|
|
104
|
+
The anthropic-interactive-pool adapter now accepts an optional `llmFallback` in its config. The empty-prompt canary (Rule 3 detector for the pool's idle signal) had a tested LLM-fallback contract but no application-layer wiring — that's now plumbed end-to-end. Adapter clients can opt in by passing `buildCanaryLlmFallback(intelligence)`; omitting it preserves deterministic-only behavior.
|
|
105
|
+
|
|
106
|
+
Phase 5c shipped: `CostAwareRoutingPolicy` and `CostStateTracker` in `src/providers/costAwareRouting.ts`. The policy implements the path-constraints "Routing default" (drain SDK credit pot while above the 10% safety margin, switch to subscription floor when at or below). The tracker emits `CostStateSnapshot` objects with a `isMaterialShift` helper Phase 5b consumes to decide when to re-ask the user. Pure additive infrastructure — not yet wired into the runtime; that wiring lands with Phase 5b implementation. 23 unit tests cover every row of the decision matrix and every material-shift category.
|
|
107
|
+
|
|
108
|
+
Phase 5b.1 shipped: `PreferenceStore` (sqlite-backed cache of framework+model picks keyed by user × task pattern) and `TriggerGate` (pure-function decision logic implementing Phase 5b's three-trigger rule with priority ordering). Both live under `src/providers/uxConfirm/`. The remaining Phase 5b components — TaskClassifier, TelegramConfirmer, OverrideDetector, and the FrameworkModelRouter composition root — land in subsequent slices.
|
|
109
|
+
|
|
110
|
+
Phase 5b.2 shipped: `TaskClassifier` and `OverrideDetector` — both fast-tier IntelligenceProvider classifiers under `src/providers/uxConfirm/`. The classifier maps a task prompt to a stable kebab-case slug (the cache key for preferences). The detector spots routing overrides in free-text messages ("use Gemini for this one") via LLM, not regex, per the "intelligence over string matching" rule. Both fail-safe on errors — unclassified slug or no-override outcome — so the UX never silently auto-uses a wrong pick. 33 new unit tests pass (13 classifier + 20 detector, including the 8 phrasing variants the spec required).
|
|
111
|
+
|
|
112
|
+
Phase 5b.3 shipped: `TelegramConfirmer` — the blocking suggest-and-confirm round-trip. Sends the structured prompt via a thin `ConfirmationTransport` interface (testable without real Telegram), blocks on next reply with timeout, parses replies through four deterministic shorthand paths (`ok|c|👍|no|once|/route reset`) before falling through to the LLM-backed `OverrideDetector` for free-text. Returns a discriminated `ConfirmationResult` (`confirmed | overridden | reset | default-no-reply`). 30 new tests; cumulative uxConfirm coverage now 86 tests.
|
|
113
|
+
|
|
114
|
+
Phase 5b.4 shipped: `FrameworkModelRouter` — the composition root that ties every Phase 5b component into the full flow. Returns a structured `RouteResult` with eight distinct `source` values covering every outcome (cached-silent, confirmed, confirmed-one-shot, overridden-this-task, overridden-this-pattern, reset-defaulted, auto-defaulted-no-topic, auto-defaulted-no-reply, auto-defaulted-unclassified). Cache writes are scoped strictly to user-confirmed paths. The `CatalogProvider` interface abstracts over Phase 5a artifacts so the router doesn't read markdown directly. 13 router tests; cumulative uxConfirm coverage 99 tests.
|
|
115
|
+
|
|
116
|
+
Phase 5b.5.c shipped: `instar route <task...>` CLI subcommand — a thin composition root that wires every Phase 5b component (TaskClassifier, OverrideDetector, PreferenceStore, StaticCatalogProvider, CostStateTracker, TelegramConfirmer, FrameworkModelRouter) and runs a single classification. Forces `telegramTopicId: null` so the CLI path is deterministic (no-topic → catalog default). Lets Justin exercise the end-to-end Phase 5b flow against his real IntelligenceProvider (Claude or Codex per `INSTAR_FRAMEWORK`) without standing up the full HTTP/Telegram wiring. AgentServer integration deferred — that wiring touches the massive injected-dependencies constructor and is tracked separately.
|
|
117
|
+
|
|
118
|
+
Phase 5b.5.b shipped: `TelegramConfirmationTransport` — bridges the push-based `MessagingAdapter.onMessage` contract to the pull-based `ConfirmationTransport.awaitReply` contract Phase 5b.3 requires. Per-topic waiter queue with timeout; supersession (new awaitReply on same topic resolves prior with null); drop-on-no-waiter for stale replies; shutdown resolves all pending. Composable via `MinimalMessagingAdapter` + caller-supplied `topicFromInbound` / `outboundForTopic` — same class drives Slack/iMessage/etc. when those land. 9 new tests against a fake adapter; cumulative uxConfirm coverage 124 tests.
|
|
119
|
+
|
|
120
|
+
Phase 5b.5.a shipped: `StaticCatalogProvider` — hand-curated CatalogProvider implementation. 20 task-pattern defaults derived from the Phase 5a catalogs (code-generation/refactor/debug → Opus 4.7; web-research → Sonnet 4.6; summarize/draft/shell → Haiku 4.5; etc.) plus per-(framework, model) confidence baselines and a `CATALOG_VERSION` string that drives Phase 5b's re-ask trigger. Hand-curated rather than markdown-parsed: deliberate updates when the catalog moves, not silent drift from regex breakage. 16 new tests; cumulative uxConfirm coverage 115 tests.
|
|
121
|
+
|
|
122
|
+
Tier 0 release blocker fixed: stripped a hardcoded developer-specific path (`/Users/justin/.asdf/installs/nodejs/22.18.0/bin/codex`) from the Codex adapter default config. Replaced with a new framework-agnostic `detectFrameworkBinary(name)` helper that searches install locations, npm-global, nvm-managed, and PATH for any of eight known framework binaries (claude, codex, gemini, aider, goose, cursor-cli, opencode, plandex). Includes a source-level regression test that fails if any future commit re-introduces the asdf hardcode.
|
|
123
|
+
|
|
124
|
+
Tier 1.B (multi-provider credentials) landed: new `ProviderCredentialKind` + `ProviderCredential` types, new `SessionManagerConfig.credentials: { [providerId]: ... }` field with legacy `anthropicApiKey` / `anthropicBaseUrl` automatically migrated at load time. New helpers `getProviderCredential(config, providerId)` and `buildProviderEnvFlags(providerId, cred)` give code paths a clean way to ask "do I have a credential for X" and "what env vars do I inject when spawning a subprocess for provider X." SessionManager spawn paths are unchanged in this slice — they still read the legacy field; migration to the helper is a follow-up. 14 tests cover migration, kind detection, baseUrl propagation, lookup fallback, and env-flag building for anthropic/openai/google + unknown-provider safe-no-op.
|
|
125
|
+
|
|
126
|
+
Tier 1.C (Codex intelligence provider) landed: new `CodexCliIntelligenceProvider` sibling of `ClaudeCliIntelligenceProvider`. Routes evaluate() calls through `codex exec` with tier→model mapping reused from the Codex adapter. Plus a `buildIntelligenceProvider({ framework })` factory that picks the right implementation at startup, and a `frameworkFromEnv()` parser for the new `INSTAR_FRAMEWORK` env var (accepts `claude-code` / `claude` / `codex-cli` / `codex` case-insensitive). Until now `ClaudeCliIntelligenceProvider` was the ONLY implementation, so every reviewer/sentinel/canary ran `claude -p` exclusively — "supports Codex" was a promise we couldn't keep. 10 tests cover framework selection, binary detection fallback, env-var parsing.
|
|
127
|
+
|
|
128
|
+
Tier 1.D (identity-file rendering) landed: AGENT.md is now the canonical source of truth for an agent's identity. New `IdentityRenderer` module reads `.instar/AGENT.md` and writes framework-specific shadow files (CLAUDE.md for Claude Code, AGENTS.md for Codex, GEMINI.md for Gemini) with an auto-generation banner warning against hand-editing. ProjectMapper lookup priority flipped to AGENT.md first, CLAUDE.md fallback (existing installs keep working). Migration path: `bootstrapAgentMdFromShadow` reads legacy CLAUDE.md content, strips banner, writes canonical AGENT.md. 16 tests cover render, banner content, framework subset, source fallback, throw-on-missing, framework detection, and migration bootstrap.
|
|
129
|
+
|
|
130
|
+
Tier 2.A (framework-aware boot prerequisite) landed: `Config.load()` no longer throws "Claude CLI not found" unconditionally. New pure helpers `resolveConfiguredFramework()` (picks active framework from config / INSTAR_FRAMEWORK env / default claude-code) and `checkFrameworkPrerequisite()` (validates the configured framework's binary is installed) decouple boot logic from Claude. Codex-cli installs now boot cleanly with only the codex binary present. Error messages are framework-specific with the right install command. New `sessions.framework` config field + `INSTAR_FRAMEWORK` env var (accepts claude-code/claude/codex-cli/codex). 11 tests cover every framework × binary-presence combination.
|
|
131
|
+
|
|
132
|
+
## What to Tell Your User
|
|
133
|
+
|
|
134
|
+
- **You can pick which AI I run on per topic now.** Tell me "switch this topic to Codex" or "switch this topic to Claude" and I'll respawn with the other framework. The default stays the same as before — you choose only when you want a change.
|
|
135
|
+
- **I can run a local model for sensitive work.** If you have Ollama installed on your machine, tell me "use the local model for this topic" and your prompts never leave your machine. Best for routine work; complex coding still wants a frontier model.
|
|
136
|
+
- **No surprises if you upgrade in place.** Your existing agents keep working exactly as they did. The new portability paths only activate when you ask for them.
|
|
137
|
+
- **You may see a one-time warning at startup** if your machine has an OpenAI API key set in its environment. That's a heads-up — I'll explain why and how to switch to the subscription path. It's informational only; nothing breaks.
|
|
138
|
+
|
|
139
|
+
## Summary of New Capabilities
|
|
140
|
+
|
|
141
|
+
| Capability | How to Use |
|
|
142
|
+
|-----------|-----------|
|
|
143
|
+
| Per-topic framework swap (Claude vs Codex) | Ask the agent: "switch this topic to Codex" |
|
|
144
|
+
| Per-topic local model (Ollama) | Ask the agent: "use the local model for this topic" |
|
|
145
|
+
| Cross-framework model tiers (fast, balanced, capable) | Automatic — the right concrete model is picked per framework |
|
|
146
|
+
| Codex subscription-path enforcement (Spec 12 Rule 1) | Automatic warning when an API key is present; full refusal opt-in for early adopters |
|
|
147
|
+
| Existing-install upgrade safety | Automatic — framework defaults to Claude; no behavior change unless you choose |
|
|
148
|
+
|
|
149
|
+
## Evidence
|
|
150
|
+
|
|
151
|
+
<!-- REQUIRED if this release claims to fix a bug. -->
|
|
152
|
+
<!-- Unit tests passing is NOT evidence. Provide ONE of: -->
|
|
153
|
+
<!-- (a) Reproduction steps + observed before/after on a live system. -->
|
|
154
|
+
<!-- Include log excerpts, observed command output, or behavior -->
|
|
155
|
+
<!-- description. Make it specific enough that a future reader can -->
|
|
156
|
+
<!-- re-run it and see the same thing. -->
|
|
157
|
+
<!-- (b) "Not reproducible in dev — [concrete reason]" if the failure -->
|
|
158
|
+
<!-- mode truly can't be exercised locally (race conditions, -->
|
|
159
|
+
<!-- event-driven paths requiring external signals, etc). -->
|
|
160
|
+
<!-- -->
|
|
161
|
+
<!-- If this release doesn't claim a bug fix (pure feature / refactor), -->
|
|
162
|
+
<!-- leave this section blank or delete it — it's only enforced when -->
|
|
163
|
+
<!-- "What Changed" describes a fix. -->
|
|
164
|
+
|
|
165
|
+
[Describe reproduction + verified fix, OR "Not reproducible in dev — [concrete reason]"]
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Side-effects review — v1.0.0 release rollup (Provider Portability)
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `1.0.0` (release rollup)
|
|
4
|
+
**Date:** `2026-05-18`
|
|
5
|
+
**Author:** Echo
|
|
6
|
+
**Second-pass reviewer:** self-review — every constituent change shipped through its own /instar-dev cycle with its own artifact, listed below.
|
|
7
|
+
**Driving spec:** `specs/provider-portability/README.md` (Phase 8 release cut).
|
|
8
|
+
|
|
9
|
+
## Summary of the v1.0.0 release
|
|
10
|
+
|
|
11
|
+
This is the rollup artifact for v1.0.0 — the first portable Instar release. Provider portability ends Anthropic-only lock-in. Every hot-path session (interactive, headless, pipe-mode, upgrade-notify, stall-recovery) now routes through a framework-aware launch helper that supports Claude Code, OpenAI Codex, AND local models via Codex CLI's `--oss --local-provider` passthrough.
|
|
12
|
+
|
|
13
|
+
The release closes nine work tracks across multiple autonomous cycles. Each track shipped its own /instar-dev cycle with its own side-effects artifact:
|
|
14
|
+
|
|
15
|
+
| Track | Slug | Date |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| Spec 12 Rule 1a env scrubbing | `codex-env-scrubbing` (prior) | 2026-05-17 |
|
|
18
|
+
| Phase 5b/5c routing | various Phase 5 artifacts | 2026-05-17 |
|
|
19
|
+
| Spawn-path closure (buildHeadlessLaunch + PipeSessionSpawner) | `portability-headless-launch-helper` | 2026-05-18 |
|
|
20
|
+
| Generic tier routing + /sessions/spawn whitelist + StallTriageNurse normalization | `portability-generic-tier-routing` | 2026-05-18 |
|
|
21
|
+
| Codex Rule 1 Phase A + Phase B opt-in + drift gate | `codex-rule1-phase-a-and-b-groundwork` | 2026-05-18 |
|
|
22
|
+
| Phase 6 local-model adapter via Codex --oss | `local-model-codex-oss` | 2026-05-18 |
|
|
23
|
+
| Phase 7 migration entry | `migrate-provider-portability` | 2026-05-18 |
|
|
24
|
+
| Sentinel + monitoring cross-port | `sentinel-monitoring-cross-port` | 2026-05-18 |
|
|
25
|
+
|
|
26
|
+
## What changes for end users
|
|
27
|
+
|
|
28
|
+
- **No-op for Claude-only installs.** Framework defaults to `claude-code`. Existing topics keep working. No config required.
|
|
29
|
+
- **Per-topic framework swap.** `/route codex-cli` flips a topic; `/route claude-code` flips it back. Per-topic config in `topicFrameworks` map.
|
|
30
|
+
- **Per-topic local model.** With Ollama installed locally, set `topicCodexLocalProvider` + `topicCodexLocalModel` in config and restart. Recipe at `docs/local-model-recipe.md`.
|
|
31
|
+
- **Codex API-key warning.** Agents that have `OPENAI_API_KEY` in env or API-key auth in `~/.codex/auth.json` get a Spec 12 Rule 1 warning at adapter init. No behavior change — the warning is informational in v1.0.0 Phase A. Lock down early via `INSTAR_RULE1_ENFORCE=hard` env var. Escape hatch `INSTAR_DISABLE_RULE1_OPENAI=1` sunsets 2026-12-01.
|
|
32
|
+
|
|
33
|
+
## Decision-point inventory (release-level)
|
|
34
|
+
|
|
35
|
+
- **Phase A as default** (not Phase B) — back-compat for existing installs.
|
|
36
|
+
- **Local-model as passthrough** (not new adapter) — Codex CLI handles the OpenAI-API translation; zero translation code in Instar.
|
|
37
|
+
- **No silent framework-default flip** — operator opts in via `/route` or config.
|
|
38
|
+
- **Lifeline doctor stays Claude-only** — Codex equivalents require their own design pass; documented residual.
|
|
39
|
+
- **Setup wizard stays Claude-only** — Claude Code's skill system is upstream territory.
|
|
40
|
+
|
|
41
|
+
## Signal vs authority (release-level)
|
|
42
|
+
|
|
43
|
+
- All framework dispatch helpers (`frameworkSessionLaunch`, `resolveModelForFramework`, `resolveTopicFramework`) are pure functions — signal.
|
|
44
|
+
- `/sessions/spawn`'s framework-aware whitelist, the Codex Rule 1 validator at adapter init, and `PostUpdateMigrator.migrateProviderPortability`'s marker are the authorities.
|
|
45
|
+
- Sentinels (InstructionsVerifier, PromptGate, StallTriageNurse) are signal layers feeding the existing authority layer above them.
|
|
46
|
+
|
|
47
|
+
## Over-block / under-block analysis (release-level)
|
|
48
|
+
|
|
49
|
+
**Over-block:** None at the release level. Each individual artifact analyzed its own scope and confirmed no new false-positive blocks.
|
|
50
|
+
|
|
51
|
+
**Under-block:** Documented residuals (Lifeline doctor + setup wizard under Codex; `OPENAI_BASE_URL` HMAC approval flow). Each is honest scope, not silent gap.
|
|
52
|
+
|
|
53
|
+
## Level-of-abstraction fit
|
|
54
|
+
|
|
55
|
+
The release introduces no new architectural layers. It populates the existing provider-substrate layer (Phase 2 interfaces) with one new framework (Codex) and one new model class (local). Sentinels gain a `framework?` field; spawn paths gain a `framework` + `codexLocalProvider` option. No cross-layer leaks.
|
|
56
|
+
|
|
57
|
+
## Interactions
|
|
58
|
+
|
|
59
|
+
- Cost-aware routing (Phase 5c) is orthogonal to local-model passthrough — `CostAwareRoutingPolicy` ignores local sessions (no credit pot). Future Phase 5d work could integrate.
|
|
60
|
+
- Spec 12 Rule 1 validator and Rule 1a env-scrub cooperate at adapter init + spawn time.
|
|
61
|
+
- All sentinels coexist; framework-aware defaults degrade gracefully (cross-framework fallback when no hint).
|
|
62
|
+
|
|
63
|
+
## Rollback cost
|
|
64
|
+
|
|
65
|
+
Per-cycle revert is cheap (each cycle is a separate commit with its own artifact). Full v1.0.0 rollback to 0.28.76 requires reverting the release-cut commit + the per-cycle commits; no schema migration to undo, no on-disk state changes beyond the (benign) `_instar_migrations` marker in agents that ran `instar update` against v1.0.0.
|
|
66
|
+
|
|
67
|
+
## Verification
|
|
68
|
+
|
|
69
|
+
- `npx tsc --noEmit` — clean.
|
|
70
|
+
- `npm run lint` — clean (includes drift gate).
|
|
71
|
+
- Per-cycle unit + integration tests — all green at commit time.
|
|
72
|
+
- 12/12 v1.0.0 scenarios green via injection mode against updated deep-signal.
|
|
73
|
+
- Live Codex spawn round-trip succeeded on deep-signal (`/sessions/spawn` with `framework: codex-cli`).
|
|
74
|
+
- Live Codex --oss + Ollama smoke succeeded (`codex exec --oss --local-provider ollama --model llama3.2:latest --json` returned PONG in ~3s).
|
|
75
|
+
- Real-Telegram-loop verification requires provisioning a separate driver bot — documented as setup step, not a behavior gap (polling-health scenario #11 covers the network leg without that dependency).
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Side-effects review — wire canary LLM fallback into the application layer
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `canary-llm-fallback-wiring`
|
|
4
|
+
**Date:** `2026-05-15`
|
|
5
|
+
**Author:** Echo (instar-developing agent)
|
|
6
|
+
**Second-pass reviewer:** not required (additive plumbing of an existing, tested fallback function into a previously-unused field on the pool config)
|
|
7
|
+
**Driving spec:** `specs/provider-portability/04-anthropic-path-constraints.md` (Rule 3 — state-detection robustness; the empty-prompt canary IS the Rule 3 self-test for the pool's idle detector)
|
|
8
|
+
|
|
9
|
+
## Summary of the change
|
|
10
|
+
|
|
11
|
+
Tasks #16 (canary LLM fallback) and the unit tests under `emptyPromptCanary-llmFallback.test.ts` established the `CanaryLlmFallback` contract and verified the canary calls it correctly when deterministic re-derivation fails. Until this change, that fallback was never threaded into the runtime — both call sites of `runEmptyPromptCanary()` inside `pool.ts` passed only the three required positional arguments and omitted the optional `options.llmFallback`. The fallback existed but was structurally dead at runtime.
|
|
12
|
+
|
|
13
|
+
This change wires the path end-to-end:
|
|
14
|
+
|
|
15
|
+
- `InteractivePoolConfig` grows an optional `llmFallback?: CanaryLlmFallback` field.
|
|
16
|
+
- Both `pool.ts` canary call sites pass `this.config.llmFallback` through to `runEmptyPromptCanary`.
|
|
17
|
+
- The adapter entry point exposes `buildCanaryLlmFallback(intelligence)` — a small helper that turns an `IntelligenceProvider` into a `CanaryLlmFallback` by sending a narrowly-scoped "is this pane at a completed prompt?" prompt to the fast tier (Haiku-class), parsing the single-word verdict, and treating provider errors as `'error'` (the canary's recipe-conservative outcome).
|
|
18
|
+
|
|
19
|
+
Application-layer wiring is now `createAnthropicInteractivePoolAdapter({ ..., llmFallback: buildCanaryLlmFallback(intelligence) })`. Omitting the field leaves the canary deterministic-only — a failed re-derivation surfaces as a hard fail, exactly as it did before this change.
|
|
20
|
+
|
|
21
|
+
Files touched:
|
|
22
|
+
- `src/providers/adapters/anthropic-interactive-pool/config.ts` — added optional `llmFallback` field + import of the `CanaryLlmFallback` type.
|
|
23
|
+
- `src/providers/adapters/anthropic-interactive-pool/pool.ts` — both `runEmptyPromptCanary` call sites now pass `{ llmFallback: this.config.llmFallback }`.
|
|
24
|
+
- `src/providers/adapters/anthropic-interactive-pool/index.ts` — new exported `buildCanaryLlmFallback` helper.
|
|
25
|
+
- `tests/unit/providers/adapters/anthropic-interactive-pool/buildCanaryLlmFallback.test.ts` — new, 8 cases covering parsing variants, error fail-safe, fast-tier routing budget, and bottom-30-line windowing of the prompt.
|
|
26
|
+
|
|
27
|
+
## Decision-point inventory
|
|
28
|
+
|
|
29
|
+
- **Canary self-heal verdict** — `pass-through`. The canary itself still decides what to do with the fallback verdict (see `emptyPromptCanary.ts` step 9). This change only ensures the fallback is reachable; the canary's existing decision logic is unchanged.
|
|
30
|
+
- **Application-layer config wiring** — `add`. Callers of `createAnthropicInteractivePoolAdapter` may now opt in to the LLM fallback by passing `llmFallback: buildCanaryLlmFallback(intelligence)`. Default behavior (no fallback) is unchanged.
|
|
31
|
+
- No new gates, no new authorities, no new blocking surfaces.
|
|
32
|
+
|
|
33
|
+
## Signal vs authority
|
|
34
|
+
|
|
35
|
+
The fallback is a signal producer (it returns one of `'complete' | 'not-complete' | 'error'`). The canary remains the only authority that decides what those signals mean for pool health. The helper does not gate anything — it returns a verdict that the existing canary logic interprets. Provider errors collapse silently to `'error'`, which the canary already treats as the conservative "do not trust" path.
|
|
36
|
+
|
|
37
|
+
## Over-block / under-block analysis
|
|
38
|
+
|
|
39
|
+
- **Over-block:** None. A misbehaving LLM that returns junk falls into the `'error'` branch, which the canary already treats as conservative-fail (same behavior as if no fallback were configured). The fallback can never cause a healthier verdict than the deterministic path would have produced when it succeeded.
|
|
40
|
+
- **Under-block:** Possible. If the canary's deterministic re-derivation has failed AND the LLM lies about what's on the pane (says "complete" when Claude Code is actually mid-generation), the canary will continue serving with a stale signature for one cycle longer. This is bounded by `canaryIntervalMs` (default 1h) — the next cycle re-runs the deterministic path. The risk is documented in `emptyPromptCanary.ts:218-264` as the explicit cost of keeping the pool operational rather than hard-failing on every UI shift.
|
|
41
|
+
|
|
42
|
+
## Level-of-abstraction fit
|
|
43
|
+
|
|
44
|
+
The helper lives in the adapter entry-point module because it bridges two abstractions: the pool's internal `CanaryLlmFallback` shape (defined in the canary module) and the application layer's `IntelligenceProvider` (defined in `core/types.ts`). Putting the bridge in `index.ts` keeps both inner modules ignorant of the application-layer LLM abstraction.
|
|
45
|
+
|
|
46
|
+
## Interactions
|
|
47
|
+
|
|
48
|
+
- **Existing canary tests** in `emptyPromptCanary-llmFallback.test.ts` still pass — they construct their own `vi.fn()` fallback and don't depend on the config wiring.
|
|
49
|
+
- **`InteractivePool.runScheduledCanary()`** and **`InteractivePool.spawnOne()`** are the only two consumers of the threaded value. Both pass it through identically.
|
|
50
|
+
- **Adapter factory tests** don't yet assert on `llmFallback` because no production wiring uses it yet. When the runtime is wired (a later phase), an integration test will exercise the live path.
|
|
51
|
+
|
|
52
|
+
## External surfaces
|
|
53
|
+
|
|
54
|
+
- `InteractivePoolConfig.llmFallback` — new optional field. Backwards-compatible (omitting it preserves prior behavior).
|
|
55
|
+
- `buildCanaryLlmFallback(intelligence)` — new exported helper from `anthropic-interactive-pool/index.ts`.
|
|
56
|
+
- No new endpoint, no new CLI command.
|
|
57
|
+
|
|
58
|
+
## Rollback cost
|
|
59
|
+
|
|
60
|
+
Trivial. `git revert` restores three source files + removes the new test. No persistent state changes. Pre-existing canary behavior is unchanged.
|
|
61
|
+
|
|
62
|
+
## Tests / verification
|
|
63
|
+
|
|
64
|
+
- `npx tsc --noEmit` clean.
|
|
65
|
+
- `vitest tests/unit/providers/adapters/anthropic-interactive-pool/` — 40/40 pass (8 new from buildCanaryLlmFallback.test.ts; 32 pre-existing unchanged).
|
|
66
|
+
- The bottom-30-line windowing assertion guards against the prompt growing unboundedly with pane history — a regression that would silently inflate per-canary token cost.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Side-effects review — Codex Rule 1 Phase A + structural Phase B groundwork
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `codex-rule1-phase-a-and-b-groundwork`
|
|
4
|
+
**Date:** `2026-05-18`
|
|
5
|
+
**Author:** Echo
|
|
6
|
+
**Second-pass reviewer:** self-review — 23 new unit tests green; typecheck clean; drift gate active and passing.
|
|
7
|
+
**Driving spec:** `specs/provider-portability/12-openai-path-constraints.md` (approved 2026-05-17)
|
|
8
|
+
|
|
9
|
+
## Summary of the change
|
|
10
|
+
|
|
11
|
+
Lands spec 12 Rule 1 enforcement for the openai-codex adapter. Phase A behavior is the **default** for v1.0.0 (warning + telemetry, no behavior change for existing installs); Phase B behavior is **opt-in via env** (`INSTAR_RULE1_ENFORCE=hard`) so deployments can elect to refuse early.
|
|
12
|
+
|
|
13
|
+
1. **`src/providers/adapters/openai-codex/config.ts`** — rewritten:
|
|
14
|
+
- Stale "Agent SDK credit pot analog" comment block replaced with a reference to spec 12 Rule 1 (correct framing: API-key auth is FORBIDDEN, not "acceptable").
|
|
15
|
+
- `configFromEnv` no longer reads `OPENAI_API_KEY` into config. The `apiKey: env['OPENAI_API_KEY']` line is gone.
|
|
16
|
+
- `OpenAiCodexConfig.apiKey` field is now annotated `@deprecated` + `@internal` so external callers see TypeScript/IDE warnings while their code keeps compiling (Phase A back-compat).
|
|
17
|
+
|
|
18
|
+
2. **`src/providers/adapters/openai-codex/credentials.ts`** (new) — Rule 1 validator. Detects API-key auth via env var OR `~/.codex/auth.json` shape. Returns structured error codes:
|
|
19
|
+
- `CODEX_AUTH_APIKEY_DETECTED` (security_violation class)
|
|
20
|
+
- `CODEX_KILLSWITCH_EXPIRED` (security_violation; escape hatch past sunset)
|
|
21
|
+
- plus FILE_MISSING / FILE_UNREADABLE / FILE_MALFORMED / OAUTH_REFRESH_FAILED / UNKNOWN_FAILURE codes per spec 12.
|
|
22
|
+
|
|
23
|
+
Enforcement modes:
|
|
24
|
+
- `warn` (default for v1.0.0 Phase A) — emit structured warning to stderr, write telemetry to `.instar/security.jsonl`, do not refuse.
|
|
25
|
+
- `hard` (opt-in via `INSTAR_RULE1_ENFORCE=hard`) — adapter init throws `AuthError`.
|
|
26
|
+
- `disabled` (escape hatch via `INSTAR_DISABLE_RULE1_OPENAI=1`) — suppresses warning entirely until sunset.
|
|
27
|
+
|
|
28
|
+
Hard sunset constant `RULE1_KILLSWITCH_SUNSET_DATE = '2026-12-01'`. After that date the escape hatch is ignored.
|
|
29
|
+
|
|
30
|
+
3. **`src/providers/adapters/openai-codex/index.ts`** — wires `checkAndWarn` into `createOpenAiCodexAdapter`. Runs at adapter construction; in `hard` mode throws `AuthError`; in `warn` mode logs + appends telemetry and returns. Telemetry includes `stateDir` when caller provides `defaultWorkingDirectory` (the convention used by the rest of the adapter).
|
|
31
|
+
|
|
32
|
+
4. **`scripts/check-codex-rule1-drift.js`** (new) — CI drift-detection gate. Fails the build when `config.ts` regresses:
|
|
33
|
+
- Forbidden string `"Agent SDK credit pot analog"` reappears.
|
|
34
|
+
- `apiKey: env['OPENAI_API_KEY']` (or variants) reappears in `configFromEnv`.
|
|
35
|
+
- `apiKey` field on `OpenAiCodexConfig` is missing `@deprecated` AND `@internal` tags (Phase A) AND isn't narrowed to `never` (Phase B+).
|
|
36
|
+
|
|
37
|
+
Wired into `npm run lint` so every commit + push runs it.
|
|
38
|
+
|
|
39
|
+
5. **`tests/unit/providers/adapters/openai-codex/credentialsRule1.test.ts`** (new) — 23 cases covering: configFromEnv no-read; env detection; auth-file detection (api_key + apiKey field variants); enforcement mode resolution; killswitch sunset; checkAndWarn warn/silent/telemetry branches.
|
|
40
|
+
|
|
41
|
+
## Decision-point inventory
|
|
42
|
+
|
|
43
|
+
- **Phase A as default for v1.0.0** — `add`. Existing installs that have `OPENAI_API_KEY` set don't break the moment they upgrade — they get a visible warning and a telemetry event. The operator decides when to flip the env to `hard`.
|
|
44
|
+
- **`INSTAR_RULE1_ENFORCE=hard` opt-in** — `add`. Lets deployments that have ALREADY moved to subscription auth lock the rule down early, before v1.1's default flip.
|
|
45
|
+
- **`INSTAR_DISABLE_RULE1_OPENAI=1` escape hatch** — `add`. Required by spec 12 for the migration window. Sunsets on hardcoded date.
|
|
46
|
+
- **Drift gate at lint time, not just CI** — `extend`. Runs in `npm run lint` which fires on every pre-commit. Catches local regressions before push.
|
|
47
|
+
- **`apiKey` field stays as `string` in Phase A** — deliberate. Narrowing to `never` immediately would break the type for any third-party consumer (or test) that destructures the config. Phase A's `@deprecated` + `@internal` produces lint warnings without breaking compilation.
|
|
48
|
+
|
|
49
|
+
## Signal vs authority
|
|
50
|
+
|
|
51
|
+
- **`validateRule1` is signal-only** — it returns a structured result. Decision authority lives in the enforcement-mode resolver + the adapter's init code.
|
|
52
|
+
- **`checkAndWarn` is signal + side-effect** — it emits the warning and writes telemetry, but its decision to refuse is delegated to the caller (`createOpenAiCodexAdapter`).
|
|
53
|
+
- **`createOpenAiCodexAdapter` is the authority** — it reads the enforcement mode and either throws (`hard`) or proceeds (`warn`/`disabled`).
|
|
54
|
+
- **The drift gate is structural authority** — at lint time, refuses to let the source regress past Phase A guardrails.
|
|
55
|
+
|
|
56
|
+
## Over-block / under-block analysis
|
|
57
|
+
|
|
58
|
+
**Over-block:** A user who legitimately depends on API-key auth on Codex will see a warning at adapter init. They can suppress it with the escape hatch env var (which logs loudly itself). Without the hatch, behavior is unchanged for them in Phase A; no refusal happens. Mitigation: the warning is loud enough to be noticed but not so noisy as to break workflow.
|
|
59
|
+
|
|
60
|
+
**Under-block:** None — the validator covers the two attack surfaces spec 12 explicitly names (env var + auth.json shape). The drift gate prevents quietly re-adding the env read.
|
|
61
|
+
|
|
62
|
+
## Level-of-abstraction fit
|
|
63
|
+
|
|
64
|
+
- `credentials.ts` lives at the adapter root, sibling to `config.ts` (per spec 12). Future per-credential helpers belong there too.
|
|
65
|
+
- `check-codex-rule1-drift.js` lives in `scripts/` next to other lint helpers (`lint-no-direct-destructive.js`).
|
|
66
|
+
- Telemetry writes to the existing `.instar/security.jsonl` channel (per `feedback_signal_vs_authority` memory: telemetry events at this layer are signal; the security channel reader is authority).
|
|
67
|
+
|
|
68
|
+
## Interactions
|
|
69
|
+
|
|
70
|
+
- **`buildCodexChildEnv` (existing Spec 12 Rule 1a env-scrub)** — orthogonal. That helper strips `OPENAI_API_KEY` from spawn child env regardless of validator state. Both layers cooperate: validator detects auth shape; scrub ensures process trees never see the key.
|
|
71
|
+
- **`openaiKeyLeakageCanary` (existing)** — orthogonal. The canary asserts no spawn ever leaks the key; the validator asserts no adapter ever reads it.
|
|
72
|
+
- **`AuthCredentialInjection.validate` (existing)** — distinct concern. That validates a `ProviderCredential` shape passed by the caller; the new validator inspects the ambient env/auth.json at adapter init. Both can fail-fast independently.
|
|
73
|
+
|
|
74
|
+
## Rollback cost
|
|
75
|
+
|
|
76
|
+
Pure code change. To roll back, revert the four files (config.ts, credentials.ts, index.ts, lint script wiring) and the test file. The escape hatch + sunset constant make Phase A migration recoverable for users; rollback at the codebase level recovers the developer state too. The new tests would surface what's missing post-revert.
|
|
77
|
+
|
|
78
|
+
## Verification
|
|
79
|
+
|
|
80
|
+
- `npx tsc --noEmit` — clean.
|
|
81
|
+
- `npm run lint` — green (includes the new drift check passing).
|
|
82
|
+
- `npx vitest run tests/unit/providers/adapters/openai-codex/credentialsRule1.test.ts` — 23/23 green.
|
|
83
|
+
- Manual: setting `OPENAI_API_KEY=sk-test` in the shell and constructing the adapter emits the expected warning + telemetry line.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Side-effects review — Codex Telegram-relay bootstrap fix
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `codex-telegram-relay-bootstrap`
|
|
4
|
+
**Date:** `2026-05-18`
|
|
5
|
+
**Author:** Echo
|
|
6
|
+
**Second-pass reviewer:** self-review — additive structural fix; framework-aware; covered by new tests + scenario-level test-as-self.
|
|
7
|
+
**Driving spec:** `specs/provider-portability/04-anthropic-path-constraints.md` (Rule 2 + Codex/local-model parity).
|
|
8
|
+
|
|
9
|
+
## Summary
|
|
10
|
+
|
|
11
|
+
Codex-routed Telegram topics on v1.0.0 received user messages, processed them in the Codex CLI session, but never called `telegram-reply.sh` — the user only saw PresenceProxy standby messages and assumed the agent had ignored them. Claude Code-routed topics didn't have this bug because a SessionStart shell hook (`.claude/hooks/instar/session-start.sh`) re-injects "MANDATORY: After EVERY response, relay…" at every session start. Codex CLI has no analogous hook system, so the relay convention has to live somewhere structural in the prompt context.
|
|
12
|
+
|
|
13
|
+
Three changes, shipped together so the fix is durable across both turn-1 spawn and every subsequent injection within a long-running session:
|
|
14
|
+
|
|
15
|
+
1. **`src/messaging/shared/telegramRelayPrompt.ts` (new).** Pure helper that emits the inline "Telegram Relay (MANDATORY)" block with the exact bash command, framework-aware. Imported by every bootstrap-construction call site.
|
|
16
|
+
|
|
17
|
+
2. **`src/commands/server.ts` + `src/server/routes.ts`.** All three Telegram bootstrap paths (spawnSessionForTopic, /internal/telegram-forward main, /internal/telegram-forward Secret Drop) now append the relay block inline. Previously the relay instruction lived in a side ctx file that the agent was supposed to read — Codex apparently treats that as skippable background, not a structural directive.
|
|
18
|
+
|
|
19
|
+
3. **`src/core/IdentityRenderer.ts`.** New `appendTelegramRelayBlock` option auto-appends a "## Telegram Relay (MANDATORY)" section to AGENTS.md/CLAUDE.md at render time. AGENTS.md is loaded into Codex's system prompt for the entire session lifetime, so this covers every subsequent turn — not just turn 1. Idempotent: existing shadows with the appendix are skipped; missing-appendix shadows get re-rendered when the caller asks.
|
|
20
|
+
|
|
21
|
+
Plus the test-as-self framework upgrade Justin requested:
|
|
22
|
+
|
|
23
|
+
4. **`run-v1-scenarios.py`.** New `is_sentinel_text` helper recognizes sentinel/proxy patterns (✓ Delivered, Session restarting, Session respawned, 🔭/✷︎ prefix + "N-minute update/check", "appears to be stuck", "Reply unstick", etc.). `wait-for-response` excludes them by default; scenarios that legitimately want sentinel-acceptance can opt in via `acceptSentinel: true`. Without this, every "did the agent reply?" assertion was satisfied by sentinel chatter — the exact failure mode the screenshot caught.
|
|
24
|
+
|
|
25
|
+
5. **Two new scenarios.** `12-codex-telegram-roundtrip` flips topic 2525 to Codex and asserts a non-sentinel "PONG12" reply within 120s. `13-local-model-telegram-roundtrip` does the same for the Codex --oss + Ollama passthrough (degrades to cloud Codex if the operator hasn't configured `topicCodexLocalProvider`, still passes because the assertion is "agent replied at all").
|
|
26
|
+
|
|
27
|
+
## Decision-point inventory
|
|
28
|
+
|
|
29
|
+
- **Inline bootstrap relay block** — `change`. The previous ctx-file indirection was structurally too weak for Codex. Mirrors signal-vs-authority: the relay convention is authoritative, not optional context.
|
|
30
|
+
- **AGENTS.md appendix** — `add`. New structural surface, gated on `appendTelegramRelayBlock: true` so non-Telegram installs aren't affected.
|
|
31
|
+
- **Idempotent re-render when appendix missing** — `change`. ensureFrameworkIdentityFile's "shadow exists → no-op" was too coarse; we need to re-render when the appendix is missing but requested.
|
|
32
|
+
- **Sentinel-exclusion in test driver** — `change`. The default-true behavior is "agent must really reply"; the opt-in for sentinel-friendly scenarios stays narrow.
|
|
33
|
+
|
|
34
|
+
## Signal vs authority
|
|
35
|
+
|
|
36
|
+
- The relay block is authoritative: presence in the prompt is enforced by the bootstrap path (server.ts/routes.ts) and by IdentityRenderer. Removal regresses obvious behavior.
|
|
37
|
+
- Sentinels remain signal: they detect agent silence and emit standby messages, but they don't carry the agent's voice. The test driver's `is_sentinel_text` filter encodes this distinction structurally.
|
|
38
|
+
|
|
39
|
+
## Over-block / under-block analysis
|
|
40
|
+
|
|
41
|
+
**Over-block:** None. Existing Claude installs receive the same inline block; their SessionStart hook also fires — duplicate reminder is harmless (Claude already complies). Codex installs receive the block where they previously received nothing.
|
|
42
|
+
|
|
43
|
+
**Under-block:** None. The block is appended to every Telegram-spawned session regardless of framework; the appendix renders into both AGENTS.md (Codex) and CLAUDE.md (Claude) when callers pass `appendTelegramRelayBlock: true`.
|
|
44
|
+
|
|
45
|
+
## Level-of-abstraction fit
|
|
46
|
+
|
|
47
|
+
- `buildTelegramRelayBlock` lives in `src/messaging/shared/` next to `isSystemOrProxyMessage` — peer location for shared message-classification helpers.
|
|
48
|
+
- IdentityRenderer extension stays in IdentityRenderer; no new module.
|
|
49
|
+
- Test driver changes stay in the existing runner; no new entry point.
|
|
50
|
+
|
|
51
|
+
## Interactions
|
|
52
|
+
|
|
53
|
+
- Coexists with the SessionStart shell hook (Claude Code path) — the bootstrap inline block is harmless redundancy when the hook fires.
|
|
54
|
+
- Coexists with PresenceProxy: when the agent now replies for real, PresenceProxy's standby messages stop appearing because the agent's reply clears the watchdog. Verified end-to-end in scenario 12 (PONG12 reply lands, sentinel chatter stops).
|
|
55
|
+
- The `telegram-reply.sh` template drift surfaced during scenario validation: deep-signal had an OLD relay script that posted directly to Telegram instead of through the local server. This is fixed by `TemplatesDriftVerifier` + PostUpdateMigrator's hook-overwrite path on the next `instar update`; the fix here is structurally independent.
|
|
56
|
+
|
|
57
|
+
## Rollback cost
|
|
58
|
+
|
|
59
|
+
- Revert is one commit. Restored behavior is "Codex sessions don't relay, sentinels fill the gap" — the bug, but no data loss.
|
|
60
|
+
- No schema changes. AGENT.md (canonical source) is unchanged; only the rendered shadows gain the appendix.
|
|
61
|
+
|
|
62
|
+
## Verification
|
|
63
|
+
|
|
64
|
+
- `npx tsc --noEmit` clean.
|
|
65
|
+
- `npm run lint` clean (Rule 1 drift gate green).
|
|
66
|
+
- New unit tests: `tests/unit/telegramRelayPrompt.test.ts` (7 tests), `tests/unit/IdentityRenderer.test.ts` extended (+5 new tests for appendTelegramRelayBlock).
|
|
67
|
+
- End-to-end on deep-signal (running v1.0.0 + this fix deployed): 14/14 scenarios PASS, including 12-codex-telegram-roundtrip (PONG12 codex-cli) and 13-local-model-telegram-roundtrip (PING13 gpt-5.3-codex).
|
|
68
|
+
- Pre-fix scenario 12 deterministically FAILS with the correct diagnostic: "last sentinel message seen: '🔭 deep-signal is actively working…' — the agent itself never replied, only sentinels did". This is the regression-prevention shape Justin asked for.
|