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,201 @@
|
|
|
1
|
+
# Side-Effects Review — Phase 5 test-mode HTTP routes
|
|
2
|
+
|
|
3
|
+
**Cycle:** Phase 5 wiring step 1 — test-friendly endpoints + scenario validation
|
|
4
|
+
**Spec:** `specs/provider-portability/11-cost-aware-routing.md` (approved 2026-05-15)
|
|
5
|
+
**Reviewer status:** awaiting fresh second-pass.
|
|
6
|
+
|
|
7
|
+
## Summary of the change
|
|
8
|
+
|
|
9
|
+
Adds three HTTP endpoints to `src/server/routes.ts` that expose the
|
|
10
|
+
already-shipped Phase 5 components through a test-friendly surface:
|
|
11
|
+
|
|
12
|
+
- `GET /providers/routing/decide?...` — exercises
|
|
13
|
+
`CostAwareRoutingPolicy.decide()` against synthetic adapters. Accepts
|
|
14
|
+
`fakeRemainingUsd` / `fakeTotalUsd` / `fakeUnknown=1` to drive each row
|
|
15
|
+
of the six-row decision matrix without needing real adapters or a real
|
|
16
|
+
Anthropic UsageMeterProvider.
|
|
17
|
+
- `GET /providers/cost-state/diff?...` — exercises
|
|
18
|
+
`CostStateTracker.isMaterialShift()` between two synthetic snapshots
|
|
19
|
+
shaped from the query params. Returns the shift reason or null.
|
|
20
|
+
- `GET /providers/framework-router/route?taskPrompt=...&userId=...` —
|
|
21
|
+
exercises `FrameworkModelRouter.route()` with stub IntelligenceProvider
|
|
22
|
+
+ in-memory PreferenceStore so the endpoint works on agents whose
|
|
23
|
+
better-sqlite3 native module isn't built for the running Node version
|
|
24
|
+
(e.g., deep-signal as of this session).
|
|
25
|
+
|
|
26
|
+
Each endpoint constructs ephemeral Phase 5 instances per call. None of
|
|
27
|
+
them mutate `Registry` or any persistent state; the in-memory
|
|
28
|
+
PreferenceStore is per-request.
|
|
29
|
+
|
|
30
|
+
The endpoints exist to be driven by the new test-driver-as-self pattern
|
|
31
|
+
(`~/.instar/agents/echo/.claude/scripts/run-v1-scenarios.{sh,py}` +
|
|
32
|
+
`.instar/scenarios/v1.0.0/`). They are the load-bearing piece for the
|
|
33
|
+
autonomous-mode stop-condition standard Justin set tonight (scenarios
|
|
34
|
+
must pass before autonomous can exit).
|
|
35
|
+
|
|
36
|
+
## Files touched (in /instar-dev scope)
|
|
37
|
+
|
|
38
|
+
- `src/server/routes.ts` — three new routes appended before the
|
|
39
|
+
`return router` block. ~190 added lines, no existing lines modified
|
|
40
|
+
beyond the anchor.
|
|
41
|
+
|
|
42
|
+
## Decision-point inventory
|
|
43
|
+
|
|
44
|
+
| Decision | Layer | Mode |
|
|
45
|
+
|---|---|---|
|
|
46
|
+
| Routing matrix row → adapter | Test-mode endpoint | signal-only (no production effect) |
|
|
47
|
+
| Material shift detection | Test-mode endpoint | signal-only |
|
|
48
|
+
| Framework + model pick | Test-mode endpoint | signal-only |
|
|
49
|
+
|
|
50
|
+
All three endpoints are read-only from the caller's view. They construct
|
|
51
|
+
ephemeral instances; no global state is mutated; no Telegram or external
|
|
52
|
+
side effects fire.
|
|
53
|
+
|
|
54
|
+
## 1. Over-block
|
|
55
|
+
|
|
56
|
+
The endpoints don't block anything. They run on the existing auth-gated
|
|
57
|
+
router and reject without bearer token, matching every other endpoint.
|
|
58
|
+
|
|
59
|
+
## 2. Under-block
|
|
60
|
+
|
|
61
|
+
Sensitive concerns to verify:
|
|
62
|
+
|
|
63
|
+
- **The `fakeRemainingUsd` / `fakeTotalUsd` / `fakeUnknown` query
|
|
64
|
+
parameters bypass real UsageMeterProvider lookups.** This is
|
|
65
|
+
intentional and the only path through the endpoint — there is no
|
|
66
|
+
"production" mode where it queries the real meter. If callers want
|
|
67
|
+
real-state routing decisions, they need a different endpoint that
|
|
68
|
+
doesn't exist yet (tracked as Phase 5 follow-up).
|
|
69
|
+
- **The in-memory PreferenceStore stub for the framework-router endpoint
|
|
70
|
+
means caller preferences don't persist across calls.** Acceptable for
|
|
71
|
+
test-mode; real persistence requires the production PreferenceStore
|
|
72
|
+
with a working better-sqlite3 build. Documented inline in the endpoint
|
|
73
|
+
comments.
|
|
74
|
+
- **Endpoint is auth-gated** via the existing `authMiddleware`.
|
|
75
|
+
|
|
76
|
+
## 3. Level-of-abstraction fit
|
|
77
|
+
|
|
78
|
+
HTTP endpoints in `src/server/routes.ts` is the right layer:
|
|
79
|
+
- Same pattern as every other test-friendly endpoint in the file
|
|
80
|
+
(e.g., `/internal/stop-gate/evaluate` is similarly synthetic-input).
|
|
81
|
+
- Co-located with the auth middleware, no special routing needed.
|
|
82
|
+
- The Phase 5 components are imported via dynamic `await import()` to
|
|
83
|
+
keep the route module's static import surface unchanged — no risk of
|
|
84
|
+
breaking other consumers of routes.ts via accidental side imports.
|
|
85
|
+
|
|
86
|
+
## 4. Signal vs authority compliance
|
|
87
|
+
|
|
88
|
+
- The endpoints are **signal-only**. Calling them does not register
|
|
89
|
+
adapters, set the routing policy, or mutate any persistent state.
|
|
90
|
+
- The CostAwareRoutingPolicy, CostStateTracker, and FrameworkModelRouter
|
|
91
|
+
classes themselves carry the authority — these endpoints just expose
|
|
92
|
+
their decision functions to HTTP.
|
|
93
|
+
- No new structural enforcement; no decision gates are removed or
|
|
94
|
+
weakened.
|
|
95
|
+
|
|
96
|
+
## 5. Interactions
|
|
97
|
+
|
|
98
|
+
- **Registry**: not touched. Adapters are not registered by these
|
|
99
|
+
endpoints. `setRoutingPolicy` is not called.
|
|
100
|
+
- **Pre-existing routes**: not modified. The anchor (`return router`)
|
|
101
|
+
is unchanged in semantics; the new routes are appended before it.
|
|
102
|
+
- **Test suite**: the existing unit tests for CostAwareRoutingPolicy /
|
|
103
|
+
CostStateTracker (23 tests) and the existing FrameworkModelRouter
|
|
104
|
+
tests continue to cover the underlying logic. The new endpoints don't
|
|
105
|
+
introduce coverage gaps in those classes.
|
|
106
|
+
- **The PreferenceStore stub does NOT touch the real database** that
|
|
107
|
+
the `instar route` CLI uses. The CLI's behavior is unaffected.
|
|
108
|
+
- **better-sqlite3 dependency** in the real PreferenceStore is sidestepped
|
|
109
|
+
via the in-memory stub. Agents with broken native modules can still
|
|
110
|
+
use the test-mode endpoint. Production routing via the `instar route`
|
|
111
|
+
CLI is unchanged — it still requires the working native build.
|
|
112
|
+
|
|
113
|
+
## 6. External surfaces
|
|
114
|
+
|
|
115
|
+
- Adds three new URL paths to the public HTTP surface. Documented in
|
|
116
|
+
`instar-dev` skill convention; no breaking changes to existing paths.
|
|
117
|
+
- Auth-gated; no unauthenticated information disclosure.
|
|
118
|
+
|
|
119
|
+
## 7. Rollback cost
|
|
120
|
+
|
|
121
|
+
Revert one commit. The endpoints disappear; all existing functionality
|
|
122
|
+
continues unchanged. The test driver in echo's home becomes a no-op
|
|
123
|
+
against any agent without the deployed routes — gracefully reports
|
|
124
|
+
"FAIL ... status 404" rather than corrupting anything.
|
|
125
|
+
|
|
126
|
+
Total rollback: under 5 minutes. No data loss.
|
|
127
|
+
|
|
128
|
+
## Conclusion
|
|
129
|
+
|
|
130
|
+
This is a test-surface addition that exposes already-existing Phase 5
|
|
131
|
+
logic through HTTP for the test-driver-as-self standard. No production
|
|
132
|
+
behavior changes; no security surface widens beyond the existing
|
|
133
|
+
auth-gated read endpoints.
|
|
134
|
+
|
|
135
|
+
## Test evidence
|
|
136
|
+
|
|
137
|
+
The driver at `~/.instar/agents/echo/.claude/scripts/run-v1-scenarios.{sh,py}`
|
|
138
|
+
runs the catalog at `~/.instar/agents/echo/.instar/scenarios/v1.0.0/`
|
|
139
|
+
against deep-signal. Results after deploying this commit's changes:
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
PASS 00-smoke-ping
|
|
143
|
+
PASS 01-health-baseline
|
|
144
|
+
PASS 02-capabilities-routing
|
|
145
|
+
PASS 03-spec12-env-scrub-deployed
|
|
146
|
+
PASS 04-route-decision-baseline
|
|
147
|
+
PASS 05-route-decision-low-credit
|
|
148
|
+
PASS 06-route-decision-unknown-credit
|
|
149
|
+
PASS 07-route-decision-healthy-credit
|
|
150
|
+
PASS 08-route-decision-non-anthropic-defers
|
|
151
|
+
PASS 09-cost-state-shift-detection
|
|
152
|
+
PASS 10-framework-router-anthropic-default
|
|
153
|
+
|
|
154
|
+
── Summary ──
|
|
155
|
+
total: 11
|
|
156
|
+
pass: 11
|
|
157
|
+
fail: 0
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
All scenarios validate the endpoints end-to-end on a live agent —
|
|
161
|
+
deep-signal in this case. Echo drove the test loop entirely (sent
|
|
162
|
+
synthetic Telegram messages, polled deep-signal's responses, ran HTTP
|
|
163
|
+
assertions on the new endpoints).
|
|
164
|
+
|
|
165
|
+
## Second-pass review
|
|
166
|
+
|
|
167
|
+
Independent reviewer (fresh subagent, no shared context) read the
|
|
168
|
+
artifact, the implementation in `src/server/routes.ts`, the scenario
|
|
169
|
+
catalog, and the spec. Verdict: **CONCUR**.
|
|
170
|
+
|
|
171
|
+
Endpoints individually verified:
|
|
172
|
+
- `/providers/routing/decide` — CORRECT. Constructs ephemeral
|
|
173
|
+
CostAwareRoutingPolicy per call, no global state mutation, auth-gated,
|
|
174
|
+
exercises every row of the spec's six-row decision matrix.
|
|
175
|
+
- `/providers/cost-state/diff` — CORRECT. Pure-function call into
|
|
176
|
+
`isMaterialShift`, two synthetic snapshots, no `snapshot()` invocation.
|
|
177
|
+
- `/providers/framework-router/route` — CORRECT WITH CAVEAT (resolved).
|
|
178
|
+
The stub PreferenceStore satisfies the get/set/clear surface
|
|
179
|
+
FrameworkModelRouter consumes (verified against source). Real
|
|
180
|
+
PreferenceStore SQLite path is never opened, so `instar route` CLI is
|
|
181
|
+
unaffected.
|
|
182
|
+
|
|
183
|
+
Reviewer issues (all addressed below or filed as non-blocking
|
|
184
|
+
follow-ups):
|
|
185
|
+
|
|
186
|
+
1. **LOW (FIXED) — Unvalidated numeric coercion**. NaN from `Number("abc")`
|
|
187
|
+
would silently propagate to deferred-routing branches. Fixed in same
|
|
188
|
+
commit: both endpoints now reject with 400 on non-finite values.
|
|
189
|
+
2. **INFO — PreferenceStore is a class, not an interface**. Future
|
|
190
|
+
additions to the router's store surface would break the stub silently.
|
|
191
|
+
Filed as follow-up: extract `PreferenceStoreLike` interface; not
|
|
192
|
+
blocking — current router only calls get/set/clear.
|
|
193
|
+
3. **INFO — Dynamic await import() is correctly scoped**. Per-handler
|
|
194
|
+
imports don't pollute routes.ts static graph; Node's ESM cache means
|
|
195
|
+
no per-request state leakage.
|
|
196
|
+
|
|
197
|
+
Production-path impact: ZERO. Registry untouched, no `setRoutingPolicy`,
|
|
198
|
+
no PreferenceStore DB writes, no adapter registration. `instar route`
|
|
199
|
+
CLI fully isolated from the test-mode endpoints.
|
|
200
|
+
|
|
201
|
+
**Verdict: CONCUR.**
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Side-effects review — Phase 5b.1 (PreferenceStore + TriggerGate)
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `phase-5b1-preference-store-trigger-gate`
|
|
4
|
+
**Date:** `2026-05-15`
|
|
5
|
+
**Author:** Echo (instar-developing agent)
|
|
6
|
+
**Second-pass reviewer:** not required (pure storage + pure logic, complete branch coverage in unit tests)
|
|
7
|
+
**Driving spec:** `specs/provider-portability/10-suggest-and-confirm-ux.md` (Phase 5b spec, locked + approved 2026-05-15)
|
|
8
|
+
|
|
9
|
+
## Summary of the change
|
|
10
|
+
|
|
11
|
+
First implementation slice of Phase 5b. Lands the two purely-deterministic components that the UX rides on:
|
|
12
|
+
|
|
13
|
+
1. **`PreferenceStore`** (`src/providers/uxConfirm/PreferenceStore.ts`) — sqlite-backed cache keyed by `(userId, taskPattern)`. Stores the framework+model pick plus the state-at-confirm-time fields the TriggerGate needs (cost-state snapshot, catalog version, confidence). Provides `get`, `set`, `clear`, `clearAll`, `listPatterns`. Uses `better-sqlite3` per the existing instar storage pattern (StopGateDb, FeatureRegistry, UpdateChecker). Supports `:memory:` for tests.
|
|
14
|
+
|
|
15
|
+
2. **`TriggerGate`** (`src/providers/uxConfirm/TriggerGate.ts`) — pure function `runTriggerGate(inputs)` that returns one of four discriminated outcomes: `silent-use`, `ask-new-pattern`, `ask-cost-shift`, `ask-low-confidence`. Priority order matches the spec: new-pattern > cost-shift > low-confidence > silent-use. Composes with `CostStateTracker.isMaterialShift` from Phase 5c.
|
|
16
|
+
|
|
17
|
+
The other Phase 5b components (TaskClassifier, TelegramConfirmer, OverrideDetector, FrameworkModelRouter composition root) are deferred to subsequent slices.
|
|
18
|
+
|
|
19
|
+
Files touched:
|
|
20
|
+
- `src/providers/uxConfirm/PreferenceStore.ts` — new, 162 LOC.
|
|
21
|
+
- `src/providers/uxConfirm/TriggerGate.ts` — new, 132 LOC.
|
|
22
|
+
- `tests/unit/providers/uxConfirm/PreferenceStore.test.ts` — new, 11 cases.
|
|
23
|
+
- `tests/unit/providers/uxConfirm/TriggerGate.test.ts` — new, 12 cases.
|
|
24
|
+
|
|
25
|
+
## Decision-point inventory
|
|
26
|
+
|
|
27
|
+
This change ADDS the central decision point of Phase 5b — the gate that decides whether to ask the user. The store is supporting infrastructure.
|
|
28
|
+
|
|
29
|
+
- **`runTriggerGate(inputs) → outcome`** — `add`. Pure function. No blocking authority of its own; returns an outcome that the (not-yet-implemented) UX layer interprets. Per signal-vs-authority, the gate is the deterministic policy and the UX is the surface — they're correctly separated.
|
|
30
|
+
- **`PreferenceStore.{get,set,clear,clearAll,listPatterns}`** — `add`. Storage primitives. No decision logic.
|
|
31
|
+
|
|
32
|
+
The four-outcome shape (`silent-use | ask-new-pattern | ask-cost-shift | ask-low-confidence`) is the contract the UX consumes. It is exhaustive — every input produces exactly one outcome.
|
|
33
|
+
|
|
34
|
+
## Signal vs authority
|
|
35
|
+
|
|
36
|
+
- `runTriggerGate` is a stateless function. Inputs include cached preference, current cost-state snapshot, current catalog version, current confidence. Output is the outcome. No side effects, no blocking — purely a decision producer.
|
|
37
|
+
- `PreferenceStore` is storage. It doesn't decide anything; it just persists what the user confirmed. Cache invalidation is the gate's job.
|
|
38
|
+
- The split keeps the UX layer free of decision logic: it just renders the outcome.
|
|
39
|
+
|
|
40
|
+
## Over-block / under-block analysis
|
|
41
|
+
|
|
42
|
+
**Over-block (asking too often):**
|
|
43
|
+
- A catalog version that bumps for cosmetic reasons (typo fix, doc shuffle) would trigger ask-low-confidence even when no fitness data changed. Mitigated by spec §"Open questions deferred to Phase 5c" — version bumps should only fire on meaningful catalog changes. Operationally, the catalog author decides.
|
|
44
|
+
- A user with a flaky `readSdkCredit` could see false ask-cost-shift outcomes if the snapshot bounces around. Mitigated by Phase 5c's known→unknown transition detector — bouncing snapshots produce the same "state-became-unknown" reason and the user can ignore it.
|
|
45
|
+
|
|
46
|
+
**Under-block (not asking when we should):**
|
|
47
|
+
- A catalog edit that drops confidence without bumping the version string would NOT fire the gate. By convention (spec §"Acceptance criteria #4"), version bump is mandatory when confidence changes — but conventions aren't enforced. Future hardening: store a checksum of the catalog row, not just the version string. Deferred.
|
|
48
|
+
- A user who confirmed during a billing period that then resets: the new snapshot will have totalUsd back to full, remainingUsd back to full. The tracker reports `sdk-credit-state-became-known` if reset went via null, or `recovered-above-safety-margin` if no null in between. Both are material shifts that fire the gate — so this is correctly handled.
|
|
49
|
+
|
|
50
|
+
## Level-of-abstraction fit
|
|
51
|
+
|
|
52
|
+
- The store and gate live in a new `src/providers/uxConfirm/` directory parallel to `src/providers/`. The naming signals that this is the consume-and-confirm UX surface — distinct from the routing math (`costAwareRouting.ts`) and the registry primitives.
|
|
53
|
+
- `TriggerGate` imports `CostStateTracker` from Phase 5c. This is the documented integration point.
|
|
54
|
+
- `PreferenceStore` imports nothing from `src/core/` except types — keeps the provider-portability subsystem self-contained.
|
|
55
|
+
|
|
56
|
+
## Interactions
|
|
57
|
+
|
|
58
|
+
- **Phase 5c (`CostStateTracker`)** — `TriggerGate` calls `isMaterialShift` to detect cost-shift triggers. Composes cleanly.
|
|
59
|
+
- **Phase 5a (catalogs)** — `confidenceAtCache` uses the catalog's confidence label scheme (`HIGH | MEDIUM | LOW | PROVISIONAL`). When the Phase 5a artifacts evolve, the gate keeps working as long as those labels remain the canonical scheme.
|
|
60
|
+
- **No existing source file is modified.** This commit is purely additive.
|
|
61
|
+
|
|
62
|
+
## External surfaces
|
|
63
|
+
|
|
64
|
+
- New exports: `PreferenceStore`, `FrameworkModelPreference`, `PreferenceStoreOptions`, `ConfidenceLevel`, `runTriggerGate`, `TriggerGateInputs`, `TriggerGateOutcome`.
|
|
65
|
+
- New sqlite table when applied to a state directory: `framework_model_preferences` (created on first use via `CREATE TABLE IF NOT EXISTS`).
|
|
66
|
+
- No new endpoint, no new CLI command, no new config field.
|
|
67
|
+
|
|
68
|
+
## Rollback cost
|
|
69
|
+
|
|
70
|
+
Trivial. `git revert` removes four files. The sqlite file (when one is created in production) becomes orphaned but does no harm — no runtime code consumes the schema yet in this commit (the composition root wiring happens later). Future rollbacks after wiring would also be safe since the schema is `CREATE IF NOT EXISTS`.
|
|
71
|
+
|
|
72
|
+
## Tests / verification
|
|
73
|
+
|
|
74
|
+
- `npx tsc --noEmit` clean.
|
|
75
|
+
- `vitest tests/unit/providers/uxConfirm/` — 23/23 pass (11 store, 12 gate).
|
|
76
|
+
- Gate test coverage: every priority path (new-pattern, cost-shift, low-confidence-dropped, low-confidence-LOW, low-confidence-PROVISIONAL, silent-use, version-bumped-but-confidence-unchanged) has at least one case plus three priority-ordering cases.
|
|
77
|
+
- Store test coverage: get/set/clear/clearAll/listPatterns, per-user isolation, JSON roundtrip for `CostStateSnapshot`, null `agentSdkCredit` roundtrip, overwrite-on-duplicate.
|
|
78
|
+
- No real-API verification needed — both classes are deterministic pure-logic / storage. Wiring into a live runtime is a later slice.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Side-effects review — Phase 5b.2 (TaskClassifier + OverrideDetector)
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `phase-5b2-task-classifier-override-detector`
|
|
4
|
+
**Date:** `2026-05-15`
|
|
5
|
+
**Author:** Echo (instar-developing agent)
|
|
6
|
+
**Second-pass reviewer:** not required (two narrow LLM-backed classifiers with strict parsers and fail-safe-to-no-override / fail-safe-to-unclassified-sentinel paths; full branch coverage)
|
|
7
|
+
**Driving spec:** `specs/provider-portability/10-suggest-and-confirm-ux.md`
|
|
8
|
+
|
|
9
|
+
## Summary of the change
|
|
10
|
+
|
|
11
|
+
Second implementation slice of Phase 5b. Lands the two LLM-backed classifiers the UX needs:
|
|
12
|
+
|
|
13
|
+
1. **`TaskClassifier`** (`src/providers/uxConfirm/TaskClassifier.ts`) — maps a task prompt to a stable kebab-case slug (the `taskPattern` cache key used by Phase 5b.1's PreferenceStore). Fast-tier IntelligenceProvider call with a curated one-shot prompt. Strict slug validator (lowercase-with-hyphens, 3–80 chars, no embedded sentinel). Errors and malformed output collapse to `UNCLASSIFIED_PATTERN` so the TriggerGate routes through `ask-new-pattern` (the safe outcome).
|
|
14
|
+
|
|
15
|
+
2. **`OverrideDetector`** (`src/providers/uxConfirm/OverrideDetector.ts`) — passively inspects user messages for routing overrides ("use Gemini for this one", "always use Codex for refactors"). Fast-tier call with JSON output. Returns a discriminated union: `{ overrideRequested: false }` or `{ overrideRequested: true, framework?, model?, scope }`. Slugs are normalized against the caller's known-frameworks / known-models lists; out-of-list slugs are discarded rather than propagated downstream. Empty / whitespace messages return no-override without calling the LLM.
|
|
16
|
+
|
|
17
|
+
The other Phase 5b components (TelegramConfirmer, FrameworkModelRouter composition root) remain to land in subsequent slices.
|
|
18
|
+
|
|
19
|
+
Files touched:
|
|
20
|
+
- `src/providers/uxConfirm/TaskClassifier.ts` — new, 164 LOC.
|
|
21
|
+
- `src/providers/uxConfirm/OverrideDetector.ts` — new, 188 LOC.
|
|
22
|
+
- `tests/unit/providers/uxConfirm/TaskClassifier.test.ts` — new, 13 cases.
|
|
23
|
+
- `tests/unit/providers/uxConfirm/OverrideDetector.test.ts` — new, 20 cases (12 parsing + 8 phrasing variants per spec AC #6).
|
|
24
|
+
|
|
25
|
+
## Decision-point inventory
|
|
26
|
+
|
|
27
|
+
This change adds two signal producers — neither is a blocking authority.
|
|
28
|
+
|
|
29
|
+
- **`TaskClassifier.classify`** — `add`. Returns a pattern slug. PreferenceStore (Phase 5b.1) keys cache rows by this slug; TriggerGate (Phase 5b.1) reads the cached row. The classifier doesn't decide anything itself.
|
|
30
|
+
- **`OverrideDetector.detect`** — `add`. Returns a structured override request or no-override. The UX layer (not yet implemented) decides what to do with the result. The detector doesn't apply overrides itself.
|
|
31
|
+
|
|
32
|
+
Both classifiers fail-safe in the same direction: when they can't produce confident output, they return the value that triggers the user being asked. False-negative (missed override) means the user gets the cached pick — they can override again. False-positive (spurious unclassified) means the UX asks — annoying but never wrong.
|
|
33
|
+
|
|
34
|
+
## Signal vs authority
|
|
35
|
+
|
|
36
|
+
Both classes are signal producers. Per the locked principle that brittle/low-context filters cannot have blocking authority:
|
|
37
|
+
|
|
38
|
+
- The detection is LLM-backed (intelligent), not regex-backed, per the "intelligence over string matching" rule.
|
|
39
|
+
- Even the LLM doesn't have blocking authority — the UX layer above interprets the structured result and decides whether to act on it.
|
|
40
|
+
- All parsing failures collapse to the safe outcome (unclassified / no-override), never to a confident wrong answer.
|
|
41
|
+
|
|
42
|
+
## Over-block / under-block analysis
|
|
43
|
+
|
|
44
|
+
**TaskClassifier — over-classify (asking too often):**
|
|
45
|
+
- The fallback path produces `unclassified` which Phase 5b.1's TriggerGate treats as `ask-new-pattern`. If the LLM has a flaky day, the user sees more confirmation prompts. Acceptable — a few extra prompts are a cheap price for not silently auto-using a wrong cache key.
|
|
46
|
+
|
|
47
|
+
**TaskClassifier — under-classify (silent miss):**
|
|
48
|
+
- Distinct-shape tasks colliding to the same slug means the user's "yes" to one carries to the other. Mitigation: the curated prompt examples bias toward 2-4 segment slugs that retain enough specificity ("code-refactor-typescript" not "code"). The classifier's max slug length (80 chars) leaves room for granularity when the LLM picks it.
|
|
49
|
+
|
|
50
|
+
**OverrideDetector — false-positive (spurious override):**
|
|
51
|
+
- Detecting an override when the user is just musing ("I wonder if Gemini would handle this better") would apply a routing change the user didn't intend. Mitigation: the JSON contract requires the model to set `override: true` explicitly, and the in-prompt examples include a "follow-up clarifications → false" rule. Production tuning may require additional negative examples.
|
|
52
|
+
|
|
53
|
+
**OverrideDetector — false-negative (missed override):**
|
|
54
|
+
- Missing a user's "use Gemini" means the cached pick runs. The user can re-issue the override or use `/route` explicitly. Same correction loop as TaskClassifier — not silently wrong, just slightly less convenient.
|
|
55
|
+
|
|
56
|
+
## Level-of-abstraction fit
|
|
57
|
+
|
|
58
|
+
- Both classifiers live in `src/providers/uxConfirm/` next to the gate and store they feed. No cross-cutting concerns.
|
|
59
|
+
- `TaskClassifier` does NOT depend on the framework / model catalogs — it produces a slug that's independent of routing. This keeps Phase 5b survivable across catalog churn.
|
|
60
|
+
- `OverrideDetector` takes the known-frameworks / known-models lists as constructor args. The application layer wires the current catalog state through. No baked-in catalog references.
|
|
61
|
+
|
|
62
|
+
## Interactions
|
|
63
|
+
|
|
64
|
+
- **Phase 5b.1 (`PreferenceStore`, `TriggerGate`)** — `TaskClassifier`'s output is `PreferenceStore`'s cache key; `TriggerGate` consumes the cached row to decide whether to invoke the UX flow.
|
|
65
|
+
- **`IntelligenceProvider`** — both classifiers route through the existing fast-tier abstraction. No new credential surface, no new provider integration.
|
|
66
|
+
- **No existing source file is modified.** Pure addition.
|
|
67
|
+
|
|
68
|
+
## External surfaces
|
|
69
|
+
|
|
70
|
+
- New exports: `TaskClassifier`, `TaskClassifierOptions`, `ClassifyInput`, `ClassifyResult`, `UNCLASSIFIED_PATTERN`; `OverrideDetector`, `OverrideDetectorOptions`, `OverrideDetectInput`, `OverrideDetectResult`, `OverrideScope`.
|
|
71
|
+
- No new endpoint, no new CLI command, no new config field, no new LLM credential pathway.
|
|
72
|
+
|
|
73
|
+
## Rollback cost
|
|
74
|
+
|
|
75
|
+
Trivial. `git revert` removes four files. No persistent state, no runtime callsite consumes these yet — TelegramConfirmer is the next slice and will be the first consumer.
|
|
76
|
+
|
|
77
|
+
## Tests / verification
|
|
78
|
+
|
|
79
|
+
- `npx tsc --noEmit` clean.
|
|
80
|
+
- `vitest tests/unit/providers/uxConfirm/` — 56/56 pass (11 + 12 from 5b.1; 13 classifier + 20 detector from this slice).
|
|
81
|
+
- TaskClassifier branch coverage: ok path, leading-prefix strip, quotes strip, lowercase normalization, illegal chars → fallback, too-short → fallback, too-long → fallback, sentinel-echo → fallback, provider-throws → fallback, fast-tier opts, prompt embedding, tag append, truncation, custom template.
|
|
82
|
+
- OverrideDetector branch coverage: empty bypass, JSON-false → no-override, throws → no-override, non-JSON → no-override, known-list normalization (framework + model), unknown-slug discard, all-null cheaper-one path, invalid-scope default, JSON-amid-prose extraction, fast-tier opts, truncation.
|
|
83
|
+
- Spec AC #6 (8+ phrasing variants): all 8 cases pass with the production-prompt-shaped LLM responses.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Side-effects review — Phase 5b.3 (TelegramConfirmer)
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `phase-5b3-telegram-confirmer`
|
|
4
|
+
**Date:** `2026-05-15`
|
|
5
|
+
**Author:** Echo (instar-developing agent)
|
|
6
|
+
**Second-pass reviewer:** not required (the confirmer is a thin coordinator over a transport interface + the already-tested OverrideDetector; the shorthand parsers are deterministic and exhaustively tested; the only authority added is the user's reply itself)
|
|
7
|
+
**Driving spec:** `specs/provider-portability/10-suggest-and-confirm-ux.md` §"Confirmation prompt shape" and §"Edge cases"
|
|
8
|
+
|
|
9
|
+
## Summary of the change
|
|
10
|
+
|
|
11
|
+
Third implementation slice of Phase 5b. Lands the blocking suggest-and-confirm round-trip — `TelegramConfirmer` in `src/providers/uxConfirm/TelegramConfirmer.ts`. The confirmer:
|
|
12
|
+
|
|
13
|
+
1. Sends a structured prompt via a thin `ConfirmationTransport` abstraction (`send` + `awaitReply`).
|
|
14
|
+
2. Blocks on the next reply on that topic for up to `timeoutMs` (default 5 minutes).
|
|
15
|
+
3. Parses the reply through four deterministic shorthand checks (`ok|c|yes|y|go|👍` → confirm-cache, `one-shot|oneshot|once` → confirm-no-cache, `/route reset` → reset, `no|n` → decline), then falls through to the LLM-backed `OverrideDetector` (Phase 5b.2) for free-text.
|
|
16
|
+
4. Returns a discriminated `ConfirmationResult`: `confirmed | overridden | reset | default-no-reply`.
|
|
17
|
+
|
|
18
|
+
The `ConfirmationTransport` interface is intentionally thin so the confirmer is unit-testable without spinning up real Telegram. Production wiring composes a `TelegramAdapter` into a transport that delivers `send` to a topic and resolves `awaitReply` from the inbound message stream — that wiring is part of the composition root in the next slice.
|
|
19
|
+
|
|
20
|
+
Files touched:
|
|
21
|
+
- `src/providers/uxConfirm/TelegramConfirmer.ts` — new, 230 LOC.
|
|
22
|
+
- `tests/unit/providers/uxConfirm/TelegramConfirmer.test.ts` — new, 30 cases.
|
|
23
|
+
|
|
24
|
+
## Decision-point inventory
|
|
25
|
+
|
|
26
|
+
This change adds the **user-facing confirmation surface** of Phase 5b. The user's reply IS the authority; the confirmer just decodes it.
|
|
27
|
+
|
|
28
|
+
- **`TelegramConfirmer.confirm(prompt)`** — `add`. Drives the round-trip. Returns the user's structured decision.
|
|
29
|
+
- **`TelegramConfirmer.parseReply(reply, prompt)`** — `add`. Pure-ish (the LLM call inside is async-pure given fixed reply). The shorthand checks are deterministic, brittle-by-design — they only activate on exact match.
|
|
30
|
+
- **`formatConfirmationPrompt(prompt)`** — `add`. Pure rendering function.
|
|
31
|
+
|
|
32
|
+
The four shorthand patterns are deliberately string-matching, which would normally violate the "intelligence over string matching" rule. But: they have no blocking authority — a missed shorthand falls through to the LLM-backed `OverrideDetector`. So the shorthand path is a fast-path optimization, not a decision authority. The signal-vs-authority constraint is satisfied: the LLM is always the safety net.
|
|
33
|
+
|
|
34
|
+
## Signal vs authority
|
|
35
|
+
|
|
36
|
+
- The shorthand parser is a fast-path; the LLM detector is the safety net.
|
|
37
|
+
- The confirmer does NOT decide what to do with the result — it returns the discriminated outcome. The composition root above (next slice) decides whether to update the PreferenceStore, run the task with the new pick, or auto-default after a no-reply.
|
|
38
|
+
|
|
39
|
+
## Over-block / under-block analysis
|
|
40
|
+
|
|
41
|
+
**Over-block (treating ambiguous reply as an override):**
|
|
42
|
+
- A user typing "yeah" gets classified as overridden-scope-this-task with no named pick (because "yeah" isn't in the confirm shorthand list). This propagates to the composition root which, per spec edge case §"Reply is unparseable", should re-ask once with the shorthand reminder. That re-ask logic lives in the composition root (next slice). The confirmer's job is just to surface the outcome.
|
|
43
|
+
- A user replying with "okay sounds good" — the LLM detector sees no override request → confirmer returns overridden-no-named-pick. Same recovery path as above.
|
|
44
|
+
|
|
45
|
+
Tunable: the shorthand list could be expanded (e.g., include "okay" / "sounds good"). Deferring until production produces real data — false-positive cost is one extra prompt; false-negative cost would be applying a wrong override.
|
|
46
|
+
|
|
47
|
+
**Under-block (missing a real override):**
|
|
48
|
+
- The LLM detector fail-safes to no-override on errors. Same conservative direction as the rest of Phase 5b.
|
|
49
|
+
|
|
50
|
+
## Level-of-abstraction fit
|
|
51
|
+
|
|
52
|
+
- The `ConfirmationTransport` interface is the thinnest possible abstraction over the Telegram-specific operations needed: send to topic, await reply with timeout. Adapter implementations live in the messaging layer; this layer doesn't reach into Telegram internals.
|
|
53
|
+
- The confirmer doesn't depend on `TelegramAdapter` directly — only the transport interface. Same code drives a Slack confirmer, an iMessage confirmer, etc., when those land.
|
|
54
|
+
|
|
55
|
+
## Interactions
|
|
56
|
+
|
|
57
|
+
- **Phase 5b.2 (`OverrideDetector`)** — confirmer delegates free-text parsing to the detector.
|
|
58
|
+
- **Phase 5b.1 (`PreferenceStore`)** — confirmer returns the outcome; the composition root above writes to the store. The confirmer does NOT write to the store directly (separation of concerns: decoding vs persisting).
|
|
59
|
+
- **No existing source file is modified.** Pure addition.
|
|
60
|
+
|
|
61
|
+
## External surfaces
|
|
62
|
+
|
|
63
|
+
- New exports: `TelegramConfirmer`, `TelegramConfirmerOptions`, `ConfirmationTransport`, `ConfirmationPrompt`, `ConfirmationResult`, `ConfirmationReason`, `formatConfirmationPrompt`.
|
|
64
|
+
- No new endpoint, no new CLI command, no new config field. The composition root next slice will introduce the wiring + new config field if any.
|
|
65
|
+
- The shorthand reply contract (`ok|c|yes|y|go|👍|no|n|one-shot|oneshot|once|/route reset`) is now part of the user-facing surface. Future changes should be additive only.
|
|
66
|
+
|
|
67
|
+
## Rollback cost
|
|
68
|
+
|
|
69
|
+
Trivial. `git revert` removes two files. No persistent state, no runtime callsite consumes this yet — the composition root is the next slice.
|
|
70
|
+
|
|
71
|
+
## Tests / verification
|
|
72
|
+
|
|
73
|
+
- `npx tsc --noEmit` clean.
|
|
74
|
+
- `vitest tests/unit/providers/uxConfirm/` — 86/86 pass (cumulative across five files: store 11, gate 12, classifier 13, detector 20, confirmer 30).
|
|
75
|
+
- Confirmer test coverage: prompt-shape, reason-text variants, transport ordering (send-before-await), timeout → default-no-reply, custom timeoutMs, default timeoutMs, eight confirm shorthand variants, four one-shot shorthand variants, four reset shorthand variants, four decline shorthand variants, LLM-override (this-task + this-pattern), ambiguous-free-text fallback.
|
|
76
|
+
- No real-API verification needed — confirmer composes pure stubs in tests. Live Telegram round-trip verification happens at integration time as part of the composition-root slice.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Side-effects review — Phase 5b.4 (FrameworkModelRouter composition root)
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `phase-5b4-framework-model-router`
|
|
4
|
+
**Date:** `2026-05-15`
|
|
5
|
+
**Author:** Echo (instar-developing agent)
|
|
6
|
+
**Second-pass reviewer:** not required (composition root over five already-tested components; every flow path covered by deterministic unit tests against in-memory store + stub catalog + stub confirmer)
|
|
7
|
+
**Driving spec:** `specs/provider-portability/10-suggest-and-confirm-ux.md`
|
|
8
|
+
|
|
9
|
+
## Summary of the change
|
|
10
|
+
|
|
11
|
+
Fourth implementation slice of Phase 5b — the composition root that ties every previous slice together. `FrameworkModelRouter` lives in `src/providers/uxConfirm/FrameworkModelRouter.ts` and implements the full decision flow from §"Decision flow" of the spec.
|
|
12
|
+
|
|
13
|
+
Routes a task by:
|
|
14
|
+
|
|
15
|
+
1. Classifying via `TaskClassifier` → `taskPattern`.
|
|
16
|
+
2. Short-circuiting on unclassified or non-Telegram-topic origin → catalog default with note source.
|
|
17
|
+
3. Looking up cached preference in `PreferenceStore`.
|
|
18
|
+
4. Capturing current cost state via `CostStateTracker.snapshot()`.
|
|
19
|
+
5. Running `runTriggerGate` to decide silent-use or ask.
|
|
20
|
+
6. On ask: calling `TelegramConfirmer.confirm(prompt)` with the right reason kind and detail.
|
|
21
|
+
7. Applying the confirmation result — updating cache on `confirmed` (with cache) or `overridden` (this-pattern scope); clearing cache on `reset`; never caching on `confirmed-one-shot`, `overridden-this-task`, or any auto-default path.
|
|
22
|
+
|
|
23
|
+
Returns a `RouteResult` with `{ framework, model, taskPattern, source, catalogDefault }`. The `source` field is the audit trail — eight distinct values cover every flow path so downstream code (and the dashboard's historical view) can show exactly why this pick was made.
|
|
24
|
+
|
|
25
|
+
The `CatalogProvider` interface abstracts over Phase 5a's catalogs (`08-model-fitness-catalog.md`, `09-framework-fitness-catalog.md`). The router doesn't read markdown — a CatalogProvider implementation does, and the router consumes its three methods (`currentVersion`, `defaultFor`, `confidenceFor`).
|
|
26
|
+
|
|
27
|
+
Files touched:
|
|
28
|
+
- `src/providers/uxConfirm/FrameworkModelRouter.ts` — new, 248 LOC.
|
|
29
|
+
- `tests/unit/providers/uxConfirm/FrameworkModelRouter.test.ts` — new, 13 cases covering all eight `source` outcomes plus confirmer-invocation arguments.
|
|
30
|
+
|
|
31
|
+
## Decision-point inventory
|
|
32
|
+
|
|
33
|
+
This change is the central Phase 5b decision authority. Every UX outcome flows through it.
|
|
34
|
+
|
|
35
|
+
- **`FrameworkModelRouter.route(input)`** — `add`. The authority for "which framework+model runs this task." Returns a structured result; doesn't itself dispatch the task — that's a downstream concern.
|
|
36
|
+
- **Cache-write decisions** — `add`. Implemented internally:
|
|
37
|
+
- `confirmed` + `cache: true` → write cache.
|
|
38
|
+
- `confirmed-one-shot` (`cache: false`) → do NOT write cache.
|
|
39
|
+
- `overridden-this-pattern` → write cache with overridden framework/model.
|
|
40
|
+
- `overridden-this-task` → do NOT write cache.
|
|
41
|
+
- `reset` → clear cache.
|
|
42
|
+
- All auto-default paths → no cache change.
|
|
43
|
+
|
|
44
|
+
The eight-value `RouteSource` enum exhaustively covers every flow. TypeScript's discriminated-union checks ensure no case is dropped.
|
|
45
|
+
|
|
46
|
+
## Signal vs authority
|
|
47
|
+
|
|
48
|
+
The router IS the authority. It composes five signal producers (classifier, store, gate, confirmer, tracker) into a single decision. Each producer is fail-safe in its own direction (classifier→unclassified, gate→silent-use only when truly safe, confirmer→default-no-reply on timeout) so the router's worst-case behavior is "pick the catalog default with a noted source" — never wrong, occasionally over-cautious.
|
|
49
|
+
|
|
50
|
+
## Over-block / under-block analysis
|
|
51
|
+
|
|
52
|
+
**Over-block (silent auto-default when user wanted a prompt):**
|
|
53
|
+
- Background work (no `telegramTopicId`) always auto-defaults, by design. This is locked behavior per Justin's Rule 1.
|
|
54
|
+
- Unclassified pattern (classifier returned fallback) also auto-defaults rather than risking a wrong cache key. Spec §"Edge cases" mandates this.
|
|
55
|
+
|
|
56
|
+
**Under-block (cache-write without user intent):**
|
|
57
|
+
- The router writes cache only on explicit `confirmed:cache=true` or `overridden:scope=this-pattern`. Both come from the user's reply via the confirmer. No silent cache writes.
|
|
58
|
+
- `auto-defaulted-no-reply` does NOT update the cache — important: a user who walks away during a confirmation should not have their state mutated.
|
|
59
|
+
|
|
60
|
+
## Level-of-abstraction fit
|
|
61
|
+
|
|
62
|
+
- The router doesn't reach into Telegram, sqlite, or LLM internals. It composes interfaces. The `CatalogProvider` abstraction means Phase 5a catalog changes don't ripple here.
|
|
63
|
+
- All five injected components are constructor params — easy to test, easy to swap implementations (alternative messaging adapter, different catalog provider, alternative classifier model).
|
|
64
|
+
|
|
65
|
+
## Interactions
|
|
66
|
+
|
|
67
|
+
- **Phase 5b.1 (`PreferenceStore`, `TriggerGate`)** — direct dependencies. The router writes the store and reads via the gate.
|
|
68
|
+
- **Phase 5b.2 (`TaskClassifier`, `OverrideDetector`)** — classifier is a direct dep; detector is consumed transitively via the confirmer.
|
|
69
|
+
- **Phase 5b.3 (`TelegramConfirmer`)** — direct dep; confirmation is delegated.
|
|
70
|
+
- **Phase 5c (`CostStateTracker`)** — direct dep; the gate consumes the tracker via the router's pass-through.
|
|
71
|
+
- **Phase 5a artifacts (catalogs)** — consumed through `CatalogProvider`. The actual provider implementation that reads `08-model-fitness-catalog.md` and `09-framework-fitness-catalog.md` is NOT in this commit — that's part of the final wiring slice.
|
|
72
|
+
- **No existing source file is modified.** Pure addition.
|
|
73
|
+
|
|
74
|
+
## External surfaces
|
|
75
|
+
|
|
76
|
+
- New exports: `FrameworkModelRouter`, `FrameworkModelRouterOptions`, `CatalogProvider`, `RouteInput`, `RouteResult`, `RouteSource`.
|
|
77
|
+
- No new endpoint, no new CLI command, no new config field. Production wiring (server.ts composition root, real CatalogProvider implementation, wiring TelegramAdapter into ConfirmationTransport) lands in the final slice — `Phase 5b.5: wire into server startup`.
|
|
78
|
+
|
|
79
|
+
## Rollback cost
|
|
80
|
+
|
|
81
|
+
Trivial. `git revert` removes two files. No persistent state, no runtime callsite consumes the router yet.
|
|
82
|
+
|
|
83
|
+
## Tests / verification
|
|
84
|
+
|
|
85
|
+
- `npx tsc --noEmit` clean.
|
|
86
|
+
- `vitest tests/unit/providers/uxConfirm/` — 99/99 pass cumulative (11 store + 12 gate + 13 classifier + 20 detector + 30 confirmer + 13 router).
|
|
87
|
+
- Router test coverage: every `RouteSource` value is asserted by at least one test (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-write assertions verify each path's effect on the store. The confirmer-argument test asserts the right reason kind and prompt fields make it to the confirmer.
|
|
88
|
+
- No real-API verification needed — composition root over already-tested components. Live integration (real Telegram, real LLM, real catalog) lands at the wiring slice.
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Side-effects review — Phase 5b.5.a (StaticCatalogProvider)
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `phase-5b5a-static-catalog-provider`
|
|
4
|
+
**Date:** `2026-05-15`
|
|
5
|
+
**Author:** Echo (instar-developing agent)
|
|
6
|
+
**Second-pass reviewer:** not required (hand-curated data tables with deterministic lookup; no decision logic, no LLM, no I/O)
|
|
7
|
+
**Driving spec:** `specs/provider-portability/10-suggest-and-confirm-ux.md` (acceptance criteria #1 — implementable CatalogProvider)
|
|
8
|
+
|
|
9
|
+
## Summary of the change
|
|
10
|
+
|
|
11
|
+
First fragment of Phase 5b.5 (the production-wiring slice). Lands the concrete `CatalogProvider` implementation that the `FrameworkModelRouter` consumes — a hand-curated TypeScript module derived from the Phase 5a catalog markdown (`08-model-fitness-catalog.md`, `09-framework-fitness-catalog.md`).
|
|
12
|
+
|
|
13
|
+
### Why hand-curated vs markdown parser
|
|
14
|
+
|
|
15
|
+
The catalog markdown is the human source-of-truth — it contains 10x more data than the router needs (justifications, source citations, "avoid for" sections, etc.). A markdown parser would have two failure modes:
|
|
16
|
+
|
|
17
|
+
1. **Over-fit current structure** → brittle. The catalog evolves as new research lands; new sections, reordered headings, and reworded bullets would each be a breaking change.
|
|
18
|
+
2. **Under-extract** → lossy. Even a robust parser would mis-classify ambiguous confidence markers and miss task patterns not explicitly tabulated.
|
|
19
|
+
|
|
20
|
+
A hand-curated runtime catalog forces a deliberate update when the markdown changes meaningfully — a feature, not a bug. The runtime catalog only needs: defaults per task pattern, confidence per (pattern, framework, model) tuple, a version string. All of which fit comfortably in static tables.
|
|
21
|
+
|
|
22
|
+
### Contents
|
|
23
|
+
|
|
24
|
+
- `CATALOG_VERSION = '2026-05-15.v0.1'` — date-stamped version that Phase 5b's TriggerGate compares against the cached snapshot.
|
|
25
|
+
- `DEFAULTS_BY_PATTERN` — 20 curated task patterns mapped to `{ framework, model, confidence }`. Patterns chosen to cover the common task shapes the classifier emits (`code-generation`, `code-refactor-typescript`, `web-research`, `summarize-meeting-transcript`, `shell-one-liner`, `agentic-execution`, etc.).
|
|
26
|
+
- `GLOBAL_DEFAULT` — Claude Code + Opus 4.7 @ LOW confidence — the safe fallback for unknown patterns.
|
|
27
|
+
- `CONFIDENCE_BY_FRAMEWORK_MODEL` — per-tuple confidence baselines for non-default combinations (e.g., user overriding to Codex CLI for a refactor task).
|
|
28
|
+
- `StaticCatalogProvider` class implementing the `CatalogProvider` interface.
|
|
29
|
+
|
|
30
|
+
Files touched:
|
|
31
|
+
- `src/providers/uxConfirm/StaticCatalogProvider.ts` — new, 180 LOC (mostly data tables + the lookup methods).
|
|
32
|
+
- `tests/unit/providers/uxConfirm/StaticCatalogProvider.test.ts` — new, 16 cases.
|
|
33
|
+
|
|
34
|
+
## Decision-point inventory
|
|
35
|
+
|
|
36
|
+
This change ADDS a data source. It is itself a tiny decision point (which framework+model is the default for a pattern) but every "decision" is a static lookup — no LLM, no I/O, no async.
|
|
37
|
+
|
|
38
|
+
- **`defaultFor(taskPattern)`** — `add`. Static table lookup with global fallback.
|
|
39
|
+
- **`confidenceFor(taskPattern, framework, model)`** — `add`. Static table lookup with three-tier resolution: (1) match the documented default → cite its confidence; (2) match the framework|model baseline → cite that; (3) PROVISIONAL fallback.
|
|
40
|
+
- **`currentVersion()`** — `add`. Constant getter (or constructor-overridable for tests).
|
|
41
|
+
|
|
42
|
+
No new gates, sentinels, watchdogs, or filters. No blocking surface.
|
|
43
|
+
|
|
44
|
+
## Signal vs authority
|
|
45
|
+
|
|
46
|
+
This is pure data. The `FrameworkModelRouter` (Phase 5b.4) is the authority that consumes the data — not this provider.
|
|
47
|
+
|
|
48
|
+
## Over-block / under-block analysis
|
|
49
|
+
|
|
50
|
+
**Over-block:** Hand-curated tables can lag the markdown. If a new task pattern lands in the catalog markdown without being added here, the router routes it through `GLOBAL_DEFAULT` (Claude Code + Opus 4.7 LOW) — which fires `ask-new-pattern` on the gate side and gets re-confirmed by the user. Self-healing: the next time someone updates this file, they pick up the lag and the pattern auto-resolves to its proper default.
|
|
51
|
+
|
|
52
|
+
**Under-block:** If a confidence rating in the markdown drops without being reflected here, the gate won't fire `ask-low-confidence` for that combination. Mitigation: when updating the markdown, bump `CATALOG_VERSION` AND update `CONFIDENCE_BY_FRAMEWORK_MODEL`. A future addition (Phase 5b.5.b or later) could add a build-time validator that diffs the markdown against the table.
|
|
53
|
+
|
|
54
|
+
## Level-of-abstraction fit
|
|
55
|
+
|
|
56
|
+
The provider lives in `src/providers/uxConfirm/` alongside the router that consumes it. It depends only on the `CatalogProvider` interface and the `ConfidenceLevel` type — no other provider-portability infrastructure. Clean isolation.
|
|
57
|
+
|
|
58
|
+
## Interactions
|
|
59
|
+
|
|
60
|
+
- **Phase 5b.4 (`FrameworkModelRouter`)** — direct consumer. Router constructed with `new StaticCatalogProvider()` in production wiring.
|
|
61
|
+
- **Phase 5a catalog markdown** — source-of-truth that this file mirrors. Hand-maintained in lockstep.
|
|
62
|
+
- **No existing source file is modified.** Pure addition.
|
|
63
|
+
|
|
64
|
+
## External surfaces
|
|
65
|
+
|
|
66
|
+
- New exports: `StaticCatalogProvider`, `StaticCatalogProviderOptions`, `CATALOG_VERSION`.
|
|
67
|
+
- No new endpoint, no new CLI command, no new config field.
|
|
68
|
+
- The `CATALOG_VERSION` string is part of Phase 5b's cache-invalidation contract — bumping it forces every cached preference to re-evaluate on next gate run. Bump deliberately.
|
|
69
|
+
|
|
70
|
+
## Rollback cost
|
|
71
|
+
|
|
72
|
+
Trivial. `git revert` removes two files. No persistent state.
|
|
73
|
+
|
|
74
|
+
## Tests / verification
|
|
75
|
+
|
|
76
|
+
- `npx tsc --noEmit` clean.
|
|
77
|
+
- `vitest tests/unit/providers/uxConfirm/StaticCatalogProvider.test.ts` — 16/16 pass.
|
|
78
|
+
- Cumulative uxConfirm coverage: 115 tests passing (99 prior + 16 new).
|
|
79
|
+
- Test coverage: version default + override, six curated pattern defaults (code-generation, code-refactor-typescript, web-research, summarize-meeting-transcript, shell-one-liner, agentic-execution), global fallback for unknown patterns, default-pick confidence precision, non-default baseline lookup, translation-proxy combinations, unknown-tuple PROVISIONAL fallback, knownPatterns().
|
|
80
|
+
- No real-API verification needed — purely deterministic.
|