@kbediako/codex-orchestrator 0.1.37 → 0.2.0

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.
Files changed (302) hide show
  1. package/.agents/plugins/marketplace.json +20 -0
  2. package/README.md +73 -291
  3. package/bin/codex-orchestrator.js +161 -0
  4. package/codex.orchestrator.json +149 -13
  5. package/dist/bin/codex-orchestrator.js +795 -1154
  6. package/dist/orchestrator/src/cli/adapters/CommandPlanner.js +22 -4
  7. package/dist/orchestrator/src/cli/adapters/CommandReviewer.js +3 -3
  8. package/dist/orchestrator/src/cli/adapters/CommandTester.js +2 -2
  9. package/dist/orchestrator/src/cli/adapters/cloudFailureDiagnostics.js +183 -11
  10. package/dist/orchestrator/src/cli/coStatusAttachCliShell.js +402 -0
  11. package/dist/orchestrator/src/cli/coStatusCliShell.js +429 -0
  12. package/dist/orchestrator/src/cli/coStatusOperatorAutopilotCliShell.js +120 -0
  13. package/dist/orchestrator/src/cli/codexCliShell.js +72 -0
  14. package/dist/orchestrator/src/cli/codexDefaultsSetup.js +49 -11
  15. package/dist/orchestrator/src/cli/config/delegationConfig.js +317 -5
  16. package/dist/orchestrator/src/cli/config/repoConfigPolicy.js +2 -3
  17. package/dist/orchestrator/src/cli/config/userConfig.js +28 -13
  18. package/dist/orchestrator/src/cli/control/authenticatedControlRouteGate.js +69 -0
  19. package/dist/orchestrator/src/cli/control/authenticatedRouteComposition.js +267 -0
  20. package/dist/orchestrator/src/cli/control/authenticatedRouteController.js +5 -0
  21. package/dist/orchestrator/src/cli/control/authenticatedRouteDispatcher.js +41 -0
  22. package/dist/orchestrator/src/cli/control/compatibilityIssuePresenter.js +1035 -0
  23. package/dist/orchestrator/src/cli/control/confirmationApproveController.js +62 -0
  24. package/dist/orchestrator/src/cli/control/confirmationCreateController.js +69 -0
  25. package/dist/orchestrator/src/cli/control/confirmationIssueConsumeController.js +43 -0
  26. package/dist/orchestrator/src/cli/control/confirmationListController.js +22 -0
  27. package/dist/orchestrator/src/cli/control/confirmationValidateController.js +58 -0
  28. package/dist/orchestrator/src/cli/control/confirmations.js +25 -3
  29. package/dist/orchestrator/src/cli/control/controlActionCancelConfirmation.js +65 -0
  30. package/dist/orchestrator/src/cli/control/controlActionController.js +77 -0
  31. package/dist/orchestrator/src/cli/control/controlActionControllerSequencing.js +161 -0
  32. package/dist/orchestrator/src/cli/control/controlActionExecution.js +142 -0
  33. package/dist/orchestrator/src/cli/control/controlActionFinalization.js +43 -0
  34. package/dist/orchestrator/src/cli/control/controlActionOutcome.js +60 -0
  35. package/dist/orchestrator/src/cli/control/controlActionPreflight.js +476 -0
  36. package/dist/orchestrator/src/cli/control/controlAuthenticatedRouteHandoff.js +57 -0
  37. package/dist/orchestrator/src/cli/control/controlBootstrapAssembly.js +39 -0
  38. package/dist/orchestrator/src/cli/control/controlBootstrapMetadataPersistence.js +16 -0
  39. package/dist/orchestrator/src/cli/control/controlEventTransport.js +49 -0
  40. package/dist/orchestrator/src/cli/control/controlExpiryLifecycle.js +102 -0
  41. package/dist/orchestrator/src/cli/control/controlHostOwnership.js +480 -0
  42. package/dist/orchestrator/src/cli/control/controlHostSupervision.js +608 -0
  43. package/dist/orchestrator/src/cli/control/controlOversightFacade.js +8 -0
  44. package/dist/orchestrator/src/cli/control/controlOversightReadContract.js +1 -0
  45. package/dist/orchestrator/src/cli/control/controlOversightReadService.js +16 -0
  46. package/dist/orchestrator/src/cli/control/controlOversightUpdateContract.js +1 -0
  47. package/dist/orchestrator/src/cli/control/controlPersistenceFiles.js +6 -0
  48. package/dist/orchestrator/src/cli/control/controlQuestionChildResolution.js +18 -0
  49. package/dist/orchestrator/src/cli/control/controlRequestContext.js +42 -0
  50. package/dist/orchestrator/src/cli/control/controlRequestController.js +9 -0
  51. package/dist/orchestrator/src/cli/control/controlRequestPredispatch.js +17 -0
  52. package/dist/orchestrator/src/cli/control/controlRequestRouteDispatch.js +44 -0
  53. package/dist/orchestrator/src/cli/control/controlRuntime.js +992 -0
  54. package/dist/orchestrator/src/cli/control/controlServer.js +23 -1456
  55. package/dist/orchestrator/src/cli/control/controlServerAuditAndErrorHelpers.js +115 -0
  56. package/dist/orchestrator/src/cli/control/controlServerAuthenticatedRouteBranch.js +29 -0
  57. package/dist/orchestrator/src/cli/control/controlServerBootstrapLifecycle.js +30 -0
  58. package/dist/orchestrator/src/cli/control/controlServerBootstrapStartSequence.js +21 -0
  59. package/dist/orchestrator/src/cli/control/controlServerOwnedRuntimeLifecycle.js +67 -0
  60. package/dist/orchestrator/src/cli/control/controlServerPublicLifecycle.js +756 -0
  61. package/dist/orchestrator/src/cli/control/controlServerPublicRouteHelpers.js +86 -0
  62. package/dist/orchestrator/src/cli/control/controlServerReadyInstanceLifecycle.js +25 -0
  63. package/dist/orchestrator/src/cli/control/controlServerReadyInstanceStartup.js +18 -0
  64. package/dist/orchestrator/src/cli/control/controlServerRequestBodyHelpers.js +37 -0
  65. package/dist/orchestrator/src/cli/control/controlServerRequestShell.js +40 -0
  66. package/dist/orchestrator/src/cli/control/controlServerRequestShellBinding.js +17 -0
  67. package/dist/orchestrator/src/cli/control/controlServerSeedLoading.js +27 -0
  68. package/dist/orchestrator/src/cli/control/controlServerSeededRuntimeAssembly.js +186 -0
  69. package/dist/orchestrator/src/cli/control/controlServerStartupInputPreparation.js +31 -0
  70. package/dist/orchestrator/src/cli/control/controlServerStartupSequence.js +49 -0
  71. package/dist/orchestrator/src/cli/control/controlState.js +233 -2
  72. package/dist/orchestrator/src/cli/control/controlStatusDashboard.js +1899 -0
  73. package/dist/orchestrator/src/cli/control/controlTelegramBridgeBootstrapLifecycle.js +22 -0
  74. package/dist/orchestrator/src/cli/control/controlTelegramBridgeLifecycle.js +67 -0
  75. package/dist/orchestrator/src/cli/control/controlTelegramBridgeOversightFacadeFactory.js +8 -0
  76. package/dist/orchestrator/src/cli/control/controlTelegramCommandController.js +49 -0
  77. package/dist/orchestrator/src/cli/control/controlTelegramDispatchRead.js +40 -0
  78. package/dist/orchestrator/src/cli/control/controlTelegramPollingController.js +89 -0
  79. package/dist/orchestrator/src/cli/control/controlTelegramProjectionNotificationController.js +29 -0
  80. package/dist/orchestrator/src/cli/control/controlTelegramPushState.js +63 -0
  81. package/dist/orchestrator/src/cli/control/controlTelegramQuestionRead.js +13 -0
  82. package/dist/orchestrator/src/cli/control/controlTelegramReadController.js +216 -0
  83. package/dist/orchestrator/src/cli/control/controlTelegramUpdateHandler.js +63 -0
  84. package/dist/orchestrator/src/cli/control/controlWatcher.js +73 -5
  85. package/dist/orchestrator/src/cli/control/delegationRegisterController.js +35 -0
  86. package/dist/orchestrator/src/cli/control/dynamicToolBridgePolicy.js +139 -0
  87. package/dist/orchestrator/src/cli/control/eventsSseController.js +12 -0
  88. package/dist/orchestrator/src/cli/control/linearBudgetState.js +1789 -0
  89. package/dist/orchestrator/src/cli/control/linearDispatchSource.js +1137 -0
  90. package/dist/orchestrator/src/cli/control/linearGraphqlClient.js +150 -0
  91. package/dist/orchestrator/src/cli/control/linearRateLimit.js +102 -0
  92. package/dist/orchestrator/src/cli/control/linearWebhookController.js +499 -0
  93. package/dist/orchestrator/src/cli/control/liveLinearAdvisoryRuntime.js +70 -0
  94. package/dist/orchestrator/src/cli/control/observabilityApiController.js +173 -0
  95. package/dist/orchestrator/src/cli/control/observabilityReadModel.js +500 -0
  96. package/dist/orchestrator/src/cli/control/observabilitySurface.js +284 -0
  97. package/dist/orchestrator/src/cli/control/observabilityUpdateNotifier.js +22 -0
  98. package/dist/orchestrator/src/cli/control/operatorDashboardPresenter.js +252 -0
  99. package/dist/orchestrator/src/cli/control/providerAgentCapacity.js +70 -0
  100. package/dist/orchestrator/src/cli/control/providerControlHostFreshnessGauge.js +1068 -0
  101. package/dist/orchestrator/src/cli/control/providerIntakeState.js +473 -0
  102. package/dist/orchestrator/src/cli/control/providerIssueHandoff.js +6811 -0
  103. package/dist/orchestrator/src/cli/control/providerIssueObservability.js +1348 -0
  104. package/dist/orchestrator/src/cli/control/providerIssueRetryQueue.js +84 -0
  105. package/dist/orchestrator/src/cli/control/providerLinearRuntimeProof.js +588 -0
  106. package/dist/orchestrator/src/cli/control/providerLinearScreenshotProof.js +473 -0
  107. package/dist/orchestrator/src/cli/control/providerLinearWorkerTruth.js +383 -0
  108. package/dist/orchestrator/src/cli/control/providerLinearWorkflowAudit.js +254 -0
  109. package/dist/orchestrator/src/cli/control/providerLinearWorkflowFacade.js +5573 -0
  110. package/dist/orchestrator/src/cli/control/providerLinearWorkflowStates.js +115 -0
  111. package/dist/orchestrator/src/cli/control/providerMergeCloseout.js +1868 -0
  112. package/dist/orchestrator/src/cli/control/providerOperatorAutopilot.js +1580 -0
  113. package/dist/orchestrator/src/cli/control/providerOperatorAutopilotLifecycle.js +154 -0
  114. package/dist/orchestrator/src/cli/control/providerOperatorAutopilotLocalRolloutExecution.js +1006 -0
  115. package/dist/orchestrator/src/cli/control/providerPollingHealth.js +435 -0
  116. package/dist/orchestrator/src/cli/control/providerTerminalCleanup.js +516 -0
  117. package/dist/orchestrator/src/cli/control/providerWorkerHosts.js +191 -0
  118. package/dist/orchestrator/src/cli/control/providerWorkflowConfigStore.js +515 -0
  119. package/dist/orchestrator/src/cli/control/questionChildResolutionAdapter.js +361 -0
  120. package/dist/orchestrator/src/cli/control/questionQueueController.js +181 -0
  121. package/dist/orchestrator/src/cli/control/questionReadRetryDeduplication.js +9 -0
  122. package/dist/orchestrator/src/cli/control/questionReadSequence.js +10 -0
  123. package/dist/orchestrator/src/cli/control/securityViolationController.js +27 -0
  124. package/dist/orchestrator/src/cli/control/selectedRunProjection.js +1838 -0
  125. package/dist/orchestrator/src/cli/control/telegramOversightApiClient.js +48 -0
  126. package/dist/orchestrator/src/cli/control/telegramOversightBridge.js +180 -0
  127. package/dist/orchestrator/src/cli/control/telegramOversightBridgeProjectionDeliveryQueue.js +25 -0
  128. package/dist/orchestrator/src/cli/control/telegramOversightBridgeRuntimeLifecycle.js +45 -0
  129. package/dist/orchestrator/src/cli/control/telegramOversightBridgeStateStore.js +77 -0
  130. package/dist/orchestrator/src/cli/control/telegramOversightControlActionApiClient.js +45 -0
  131. package/dist/orchestrator/src/cli/control/trackerDispatchPilot.js +439 -0
  132. package/dist/orchestrator/src/cli/control/uiDataController.js +34 -0
  133. package/dist/orchestrator/src/cli/control/uiSessionController.js +100 -0
  134. package/dist/orchestrator/src/cli/controlHostCliShell.js +860 -0
  135. package/dist/orchestrator/src/cli/controlHostFreshnessGaugeCliShell.js +129 -0
  136. package/dist/orchestrator/src/cli/controlHostSupervisionCliShell.js +2127 -0
  137. package/dist/orchestrator/src/cli/delegationCliShell.js +62 -0
  138. package/dist/orchestrator/src/cli/delegationServer.js +567 -678
  139. package/dist/orchestrator/src/cli/delegationServerCliShell.js +52 -0
  140. package/dist/orchestrator/src/cli/delegationServerQuestionFlowShell.js +228 -0
  141. package/dist/orchestrator/src/cli/delegationServerToolDispatchShell.js +411 -0
  142. package/dist/orchestrator/src/cli/delegationServerTransport.js +274 -0
  143. package/dist/orchestrator/src/cli/delegationSetup.js +51 -171
  144. package/dist/orchestrator/src/cli/devtoolsCliShell.js +34 -0
  145. package/dist/orchestrator/src/cli/doctor.js +542 -122
  146. package/dist/orchestrator/src/cli/doctorCliRequestShell.js +72 -0
  147. package/dist/orchestrator/src/cli/doctorCliShell.js +138 -0
  148. package/dist/orchestrator/src/cli/doctorUsage.js +136 -16
  149. package/dist/orchestrator/src/cli/exec/experience.js +16 -2
  150. package/dist/orchestrator/src/cli/exec/summary.js +3 -0
  151. package/dist/orchestrator/src/cli/execCliShell.js +51 -0
  152. package/dist/orchestrator/src/cli/flowCliRequestShell.js +44 -0
  153. package/dist/orchestrator/src/cli/flowCliShell.js +239 -0
  154. package/dist/orchestrator/src/cli/frontendTestCliRequestShell.js +80 -0
  155. package/dist/orchestrator/src/cli/frontendTestCliShell.js +41 -0
  156. package/dist/orchestrator/src/cli/init.js +1 -0
  157. package/dist/orchestrator/src/cli/initCliShell.js +50 -0
  158. package/dist/orchestrator/src/cli/linearCliShell.js +1200 -0
  159. package/dist/orchestrator/src/cli/mcpEnableCliShell.js +132 -0
  160. package/dist/orchestrator/src/cli/metrics/metricsAggregator.js +3 -2
  161. package/dist/orchestrator/src/cli/metrics/metricsRecorder.js +56 -0
  162. package/dist/orchestrator/src/cli/orchestrator.js +66 -1376
  163. package/dist/orchestrator/src/cli/planCliShell.js +19 -0
  164. package/dist/orchestrator/src/cli/prCliShell.js +41 -0
  165. package/dist/orchestrator/src/cli/providerLinearChildLanePhaseContract.js +204 -0
  166. package/dist/orchestrator/src/cli/providerLinearChildLaneRunner.js +1772 -0
  167. package/dist/orchestrator/src/cli/providerLinearChildLaneShell.js +2420 -0
  168. package/dist/orchestrator/src/cli/providerLinearChildStreamShell.js +385 -0
  169. package/dist/orchestrator/src/cli/providerLinearWorkerRunner.js +5738 -0
  170. package/dist/orchestrator/src/cli/resumeCliShell.js +14 -0
  171. package/dist/orchestrator/src/cli/reviewCliLaunchShell.js +72 -0
  172. package/dist/orchestrator/src/cli/rlm/alignment.js +3 -3
  173. package/dist/orchestrator/src/cli/rlm/context.js +94 -7
  174. package/dist/orchestrator/src/cli/rlm/rlmCodexRuntimeShell.js +546 -0
  175. package/dist/orchestrator/src/cli/rlm/symbolic.js +4 -2
  176. package/dist/orchestrator/src/cli/rlmCliRequestShell.js +42 -0
  177. package/dist/orchestrator/src/cli/rlmCompletionCliShell.js +46 -0
  178. package/dist/orchestrator/src/cli/rlmLaunchCliShell.js +51 -0
  179. package/dist/orchestrator/src/cli/rlmRunner.js +83 -523
  180. package/dist/orchestrator/src/cli/run/blockMemory.js +500 -0
  181. package/dist/orchestrator/src/cli/run/manifest.js +410 -73
  182. package/dist/orchestrator/src/cli/run/manifestPersister.js +45 -14
  183. package/dist/orchestrator/src/cli/run/runMemoryController.js +216 -0
  184. package/dist/orchestrator/src/cli/run/source0.js +690 -0
  185. package/dist/orchestrator/src/cli/run/workspacePath.js +101 -0
  186. package/dist/orchestrator/src/cli/runtime/mode.js +2 -1
  187. package/dist/orchestrator/src/cli/runtime/provider.js +39 -2
  188. package/dist/orchestrator/src/cli/selfCheckCliShell.js +12 -0
  189. package/dist/orchestrator/src/cli/services/commandRunner.js +668 -18
  190. package/dist/orchestrator/src/cli/services/execRuntime.js +66 -1
  191. package/dist/orchestrator/src/cli/services/orchestratorAutoScoutEvidenceRecorder.js +71 -0
  192. package/dist/orchestrator/src/cli/services/orchestratorCloudBranchResolution.js +8 -0
  193. package/dist/orchestrator/src/cli/services/orchestratorCloudEnvironmentResolution.js +22 -0
  194. package/dist/orchestrator/src/cli/services/orchestratorCloudExecutionLifecycleShell.js +39 -0
  195. package/dist/orchestrator/src/cli/services/orchestratorCloudPromptBuilder.js +37 -0
  196. package/dist/orchestrator/src/cli/services/orchestratorCloudRouteFallbackContract.js +45 -0
  197. package/dist/orchestrator/src/cli/services/orchestratorCloudRouteShell.js +36 -0
  198. package/dist/orchestrator/src/cli/services/orchestratorCloudTargetExecutor.js +277 -0
  199. package/dist/orchestrator/src/cli/services/orchestratorControlPlaneLifecycle.js +98 -0
  200. package/dist/orchestrator/src/cli/services/orchestratorControlPlaneLifecycleShell.js +54 -0
  201. package/dist/orchestrator/src/cli/services/orchestratorExecutionLifecycle.js +112 -0
  202. package/dist/orchestrator/src/cli/services/orchestratorExecutionModePolicy.js +27 -0
  203. package/dist/orchestrator/src/cli/services/orchestratorExecutionRouteAdapterShell.js +59 -0
  204. package/dist/orchestrator/src/cli/services/orchestratorExecutionRouteDecisionShell.js +57 -0
  205. package/dist/orchestrator/src/cli/services/orchestratorExecutionRouteState.js +21 -0
  206. package/dist/orchestrator/src/cli/services/orchestratorExecutionRouter.js +2 -0
  207. package/dist/orchestrator/src/cli/services/orchestratorLocalPipelineExecutor.js +149 -0
  208. package/dist/orchestrator/src/cli/services/orchestratorLocalRouteShell.js +63 -0
  209. package/dist/orchestrator/src/cli/services/orchestratorPlanShell.js +54 -0
  210. package/dist/orchestrator/src/cli/services/orchestratorPlanTargetTracker.js +16 -0
  211. package/dist/orchestrator/src/cli/services/orchestratorResumePreparationShell.js +84 -0
  212. package/dist/orchestrator/src/cli/services/orchestratorResumeTokenValidation.js +15 -0
  213. package/dist/orchestrator/src/cli/services/orchestratorRunLifecycleCompletion.js +31 -0
  214. package/dist/orchestrator/src/cli/services/orchestratorRunLifecycleExecutionRegistration.js +37 -0
  215. package/dist/orchestrator/src/cli/services/orchestratorRunLifecycleOrchestrationShell.js +83 -0
  216. package/dist/orchestrator/src/cli/services/orchestratorRunLifecycleTaskManagerShell.js +37 -0
  217. package/dist/orchestrator/src/cli/services/orchestratorRuntimeManifestMutation.js +20 -0
  218. package/dist/orchestrator/src/cli/services/orchestratorStartPreparationShell.js +56 -0
  219. package/dist/orchestrator/src/cli/services/orchestratorStatusShell.js +70 -0
  220. package/dist/orchestrator/src/cli/services/pipelineResolver.js +7 -3
  221. package/dist/orchestrator/src/cli/services/plannerMemory.js +119 -0
  222. package/dist/orchestrator/src/cli/services/runPreparation.js +7 -3
  223. package/dist/orchestrator/src/cli/services/runSummaryWriter.js +9 -0
  224. package/dist/orchestrator/src/cli/setupBootstrapShell.js +114 -0
  225. package/dist/orchestrator/src/cli/setupCliShell.js +51 -0
  226. package/dist/orchestrator/src/cli/skillsCliShell.js +56 -0
  227. package/dist/orchestrator/src/cli/startCliRequestShell.js +53 -0
  228. package/dist/orchestrator/src/cli/startCliShell.js +68 -0
  229. package/dist/orchestrator/src/cli/statusCliShell.js +22 -0
  230. package/dist/orchestrator/src/cli/utils/authProvenanceFingerprint.js +27 -0
  231. package/dist/orchestrator/src/cli/utils/cloudPreflight.js +83 -1
  232. package/dist/orchestrator/src/cli/utils/delegationConfigParser.js +250 -0
  233. package/dist/orchestrator/src/cli/utils/delegationMcpHealth.js +1382 -0
  234. package/dist/orchestrator/src/cli/utils/devtools.js +2 -54
  235. package/dist/orchestrator/src/cli/utils/mcpServerEntry.js +53 -0
  236. package/dist/orchestrator/src/cli/utils/packageProgramResolver.js +151 -0
  237. package/dist/orchestrator/src/cli/utils/providerOverrideEnv.js +71 -0
  238. package/dist/orchestrator/src/cli/utils/trailingJsonObject.js +59 -0
  239. package/dist/orchestrator/src/learning/crystalizer.js +2 -2
  240. package/dist/orchestrator/src/persistence/ExperienceStore.js +233 -49
  241. package/dist/orchestrator/src/persistence/TaskStateStore.js +6 -6
  242. package/dist/orchestrator/src/persistence/lockFile.js +70 -4
  243. package/dist/orchestrator/src/persistence/sanitizeIdentifier.js +39 -0
  244. package/dist/orchestrator/src/sync/createCloudSyncWorker.js +3 -2
  245. package/dist/orchestrator/src/utils/atomicWrite.js +17 -2
  246. package/dist/packages/orchestrator/src/exec/unified-exec.js +99 -6
  247. package/dist/packages/orchestrator/src/instructions/promptPacks.js +150 -19
  248. package/dist/packages/sdk-node/src/orchestrator.js +137 -13
  249. package/dist/packages/shared/config/designConfig.js +8 -1
  250. package/dist/packages/shared/streams/stdio.js +1 -1
  251. package/dist/scripts/design/pipeline/permit.js +15 -0
  252. package/dist/scripts/lib/docs-catalog.js +365 -0
  253. package/dist/scripts/lib/docs-helpers.js +87 -5
  254. package/dist/scripts/lib/pr-watch-merge.js +1088 -80
  255. package/dist/scripts/lib/provider-run-contract.js +26 -0
  256. package/dist/scripts/lib/review-command-intent-classification.js +532 -0
  257. package/dist/scripts/lib/review-command-probe-classification.js +385 -0
  258. package/dist/scripts/lib/review-execution-boundary-preflight.js +279 -0
  259. package/dist/scripts/lib/review-execution-runtime.js +753 -0
  260. package/dist/scripts/lib/review-execution-state.js +1144 -0
  261. package/dist/scripts/lib/review-execution-telemetry.js +215 -0
  262. package/dist/scripts/lib/review-inspection-target-parsing.js +78 -0
  263. package/dist/scripts/lib/review-launch-attempt.js +601 -0
  264. package/dist/scripts/lib/review-meta-surface-boundary-analysis.js +300 -0
  265. package/dist/scripts/lib/review-meta-surface-normalization.js +746 -0
  266. package/dist/scripts/lib/review-non-interactive-handoff.js +61 -0
  267. package/dist/scripts/lib/review-prompt-context.js +376 -0
  268. package/dist/scripts/lib/review-scope-advisory.js +286 -0
  269. package/dist/scripts/lib/review-scope-paths.js +123 -0
  270. package/dist/scripts/lib/review-shell-command-parser.js +389 -0
  271. package/dist/scripts/lib/review-shell-env-interpreter.js +340 -0
  272. package/dist/scripts/lib/run-manifests.js +192 -36
  273. package/dist/scripts/lib/spark-policy-classifier.js +593 -0
  274. package/dist/scripts/run-review.js +507 -1777
  275. package/docs/public/downstream-setup.md +106 -0
  276. package/docs/public/provider-onboarding.md +173 -0
  277. package/package.json +30 -11
  278. package/plugins/codex-orchestrator/.codex-plugin/plugin.json +30 -0
  279. package/plugins/codex-orchestrator/.mcp.json +13 -0
  280. package/plugins/codex-orchestrator/launcher.mjs +359 -0
  281. package/schemas/manifest.json +395 -0
  282. package/skills/chrome-devtools/SKILL.md +1 -1
  283. package/skills/codex-orchestrator/SKILL.md +83 -0
  284. package/skills/collab-subagents-first/SKILL.md +2 -1
  285. package/skills/delegation-usage/DELEGATION_GUIDE.md +24 -11
  286. package/skills/delegation-usage/SKILL.md +20 -13
  287. package/skills/land/SKILL.md +77 -0
  288. package/skills/linear/SKILL.md +255 -0
  289. package/skills/release/SKILL.md +47 -3
  290. package/skills/standalone-review/SKILL.md +6 -1
  291. package/templates/README.md +4 -2
  292. package/templates/codex/.codex/agents/awaiter-high.toml +2 -2
  293. package/templates/codex/.codex/agents/explorer-fast.toml +1 -0
  294. package/templates/codex/.codex/agents/worker-complex.toml +1 -1
  295. package/templates/codex/.codex/config.toml +3 -4
  296. package/templates/codex/.codex/providers/README.md +13 -0
  297. package/templates/codex/.codex/providers/control.example.json +18 -0
  298. package/templates/codex/.codex/providers/provider.env.example +15 -0
  299. package/templates/codex/AGENTS.md +12 -7
  300. package/templates/codex/mcp-client.json +5 -1
  301. package/docs/README.md +0 -307
  302. package/docs/assets/setup.gif +0 -0
@@ -0,0 +1,267 @@
1
+ import { handleObservabilityApiRequest } from './observabilityApiController.js';
2
+ import { handleUiDataRequest } from './uiDataController.js';
3
+ import { handleEventsSseRequest } from './eventsSseController.js';
4
+ import { handleQuestionQueueRequest } from './questionQueueController.js';
5
+ import { handleDelegationRegisterRequest } from './delegationRegisterController.js';
6
+ import { handleConfirmationListRequest } from './confirmationListController.js';
7
+ import { handleConfirmationCreateRequest } from './confirmationCreateController.js';
8
+ import { handleConfirmationApproveRequest } from './confirmationApproveController.js';
9
+ import { handleConfirmationIssueConsumeRequest } from './confirmationIssueConsumeController.js';
10
+ import { handleConfirmationValidateRequest } from './confirmationValidateController.js';
11
+ import { handleControlActionRequest } from './controlActionController.js';
12
+ import { handleSecurityViolationRequest } from './securityViolationController.js';
13
+ export function createAuthenticatedRouteDispatcherContext(context) {
14
+ return {
15
+ pathname: context.pathname,
16
+ method: context.method,
17
+ authKind: context.authKind,
18
+ handleEventsSse: () => handleEventsSseRequest({
19
+ req: context.req,
20
+ res: context.res,
21
+ clients: context.clients
22
+ }),
23
+ handleUiData: () => handleUiDataRequest({
24
+ req: context.req,
25
+ res: context.res,
26
+ presenterContext: context.presenterContext
27
+ }),
28
+ handleObservabilityApi: () => handleObservabilityApiRequest({
29
+ req: context.req,
30
+ res: context.res,
31
+ presenterContext: context.presenterContext,
32
+ readRequestBody: context.readRequestBody,
33
+ requestRefresh: async () => {
34
+ const requestedAt = new Date().toISOString();
35
+ const providerRefresh = await context.refreshProviderIssues?.();
36
+ await context.runtime.requestRefresh();
37
+ return buildRefreshAcknowledgement(requestedAt, providerRefresh ?? null);
38
+ },
39
+ readDispatchEvaluation: () => context.readDispatchEvaluation(),
40
+ onDispatchEvaluated: (record) => context.onDispatchEvaluated(record)
41
+ }),
42
+ handleControlAction: (authKind) => handleControlActionRequest({
43
+ authKind,
44
+ taskId: context.taskId,
45
+ manifestPath: context.manifestPath,
46
+ readRequestBody: context.readRequestBody,
47
+ readInitialSnapshot: () => context.controlStore.snapshot(),
48
+ isTransportNonceConsumed: (nonce) => context.controlStore.isTransportNonceConsumed(nonce),
49
+ validateConfirmation: (validationInput) => context.confirmationStore.validateNonce(validationInput),
50
+ persistConfirmations: () => context.persist.confirmations(),
51
+ emitConfirmationResolved: (payload) => context.emitControlEvent({
52
+ event: 'confirmation_resolved',
53
+ actor: 'runner',
54
+ payload
55
+ }),
56
+ readSnapshot: () => context.controlStore.snapshot(),
57
+ updateAction: (updateInput) => context.controlStore.updateAction(updateInput),
58
+ persistControlAction: async (input) => {
59
+ if (!input.transportMutation) {
60
+ await context.persist.control();
61
+ return;
62
+ }
63
+ context.controlStore.consumeTransportNonce({
64
+ nonce: input.transportMutation.nonce,
65
+ action: input.action,
66
+ transport: input.transportMutation.transport,
67
+ requestId: input.requestId ?? null,
68
+ intentId: input.intentId,
69
+ expiresAt: input.transportMutation.nonceExpiresAt
70
+ });
71
+ try {
72
+ await context.persist.control();
73
+ }
74
+ catch (error) {
75
+ context.controlStore.rollbackTransportNonce(input.transportMutation.nonce);
76
+ throw error;
77
+ }
78
+ },
79
+ publishRuntime: (source) => context.runtime.publish({ source }),
80
+ emitControlActionAuditEvent: context.emitControlActionAuditEvent,
81
+ writeControlError: context.writeControlError,
82
+ writeControlResponse: (response) => {
83
+ context.res.writeHead(response.status, { 'Content-Type': 'application/json' });
84
+ context.res.end(JSON.stringify(response.body));
85
+ }
86
+ }),
87
+ handleConfirmationCreate: () => handleConfirmationCreateRequest({
88
+ req: context.req,
89
+ res: context.res,
90
+ authKind: context.authKind,
91
+ readRequestBody: context.readRequestBody,
92
+ expireConfirmations: context.expireConfirmations,
93
+ createConfirmation: ({ action, tool, params }) => context.confirmationStore.create({ action, tool, params }),
94
+ persistConfirmations: () => context.persist.confirmations(),
95
+ maybeAutoPause: async (requestId) => {
96
+ if (!context.confirmAutoPause) {
97
+ return;
98
+ }
99
+ const latestAction = context.controlStore.snapshot().latest_action?.action ?? null;
100
+ if (latestAction === 'pause') {
101
+ return;
102
+ }
103
+ context.controlStore.updateAction({
104
+ action: 'pause',
105
+ requestedBy: 'runner',
106
+ requestId,
107
+ reason: 'confirmation_required'
108
+ });
109
+ await context.persist.control();
110
+ context.runtime.publish({ source: 'control.action' });
111
+ },
112
+ readRunId: () => context.controlStore.snapshot().run_id,
113
+ emitConfirmationRequired: (payload) => context.emitControlEvent({
114
+ event: 'confirmation_required',
115
+ actor: 'runner',
116
+ payload
117
+ })
118
+ }),
119
+ handleConfirmationList: () => handleConfirmationListRequest({
120
+ req: context.req,
121
+ res: context.res,
122
+ expireConfirmations: context.expireConfirmations,
123
+ listPendingConfirmations: () => context.confirmationStore.listPending()
124
+ }),
125
+ handleConfirmationApprove: () => handleConfirmationApproveRequest({
126
+ req: context.req,
127
+ res: context.res,
128
+ readRequestBody: context.readRequestBody,
129
+ expireConfirmations: context.expireConfirmations,
130
+ approveConfirmation: (requestId, actor) => context.confirmationStore.approve(requestId, actor),
131
+ readConfirmation: (requestId) => context.confirmationStore.get(requestId),
132
+ persistConfirmations: () => context.persist.confirmations(),
133
+ issueConfirmation: (requestId) => context.confirmationStore.issue(requestId),
134
+ validateConfirmation: (input) => context.confirmationStore.validateNonce({
135
+ confirmNonce: input.confirmNonce,
136
+ tool: input.tool,
137
+ params: input.params
138
+ }),
139
+ emitConfirmationResolved: (payload) => context.emitControlEvent({
140
+ event: 'confirmation_resolved',
141
+ actor: 'runner',
142
+ payload
143
+ }),
144
+ updateControlAction: (input) => context.controlStore.updateAction({
145
+ action: input.action,
146
+ requestedBy: input.requestedBy,
147
+ requestId: input.requestId
148
+ }),
149
+ persistControl: () => context.persist.control(),
150
+ publishRuntime: () => context.runtime.publish({ source: 'control.action' })
151
+ }),
152
+ handleConfirmationIssueConsume: () => handleConfirmationIssueConsumeRequest({
153
+ req: context.req,
154
+ res: context.res,
155
+ readRequestBody: context.readRequestBody,
156
+ expireConfirmations: context.expireConfirmations,
157
+ issueConfirmation: (requestId) => context.confirmationStore.issue(requestId),
158
+ persistConfirmations: () => context.persist.confirmations()
159
+ }),
160
+ handleConfirmationValidate: () => handleConfirmationValidateRequest({
161
+ req: context.req,
162
+ res: context.res,
163
+ readRequestBody: context.readRequestBody,
164
+ expireConfirmations: context.expireConfirmations,
165
+ validateConfirmation: ({ confirmNonce, tool, params }) => context.confirmationStore.validateNonce({ confirmNonce, tool, params }),
166
+ persistConfirmations: () => context.persist.confirmations(),
167
+ emitConfirmationResolved: (payload) => context.emitControlEvent({
168
+ event: 'confirmation_resolved',
169
+ actor: 'runner',
170
+ payload
171
+ })
172
+ }),
173
+ handleSecurityViolation: () => handleSecurityViolationRequest({
174
+ req: context.req,
175
+ res: context.res,
176
+ readRequestBody: context.readRequestBody,
177
+ emitSecurityViolation: (payload) => context.emitControlEvent({
178
+ event: 'security_violation',
179
+ actor: 'runner',
180
+ payload
181
+ })
182
+ }),
183
+ handleDelegationRegister: () => handleDelegationRegisterRequest({
184
+ req: context.req,
185
+ res: context.res,
186
+ delegationTokens: context.delegationTokens,
187
+ readRequestBody: context.readRequestBody,
188
+ persistDelegationTokens: () => context.persist.delegationTokens()
189
+ }),
190
+ handleQuestionQueue: () => handleQuestionQueueRequest({
191
+ req: context.req,
192
+ res: context.res,
193
+ questionQueue: context.questionQueue,
194
+ readRequestBody: context.readRequestBody,
195
+ expireQuestions: context.expireQuestions,
196
+ queueQuestionResolutions: context.queueQuestionResolutions,
197
+ readDelegationHeaders: context.readDelegationHeaders,
198
+ validateDelegation: context.validateDelegation,
199
+ resolveManifestPath: context.resolveManifestPath,
200
+ readManifest: context.readManifest,
201
+ getParentRunId: () => context.controlStore.snapshot().run_id,
202
+ persistQuestions: () => context.persist.questions(),
203
+ resolveChildQuestion: context.resolveChildQuestion,
204
+ emitQuestionQueued: (record) => context.emitControlEvent({
205
+ event: 'question_queued',
206
+ actor: 'delegate',
207
+ payload: {
208
+ question_id: record.question_id,
209
+ parent_run_id: record.parent_run_id,
210
+ from_run_id: record.from_run_id,
211
+ prompt: record.prompt,
212
+ urgency: record.urgency,
213
+ queued_at: record.queued_at,
214
+ expires_at: record.expires_at ?? null,
215
+ expires_in_ms: record.expires_in_ms ?? null
216
+ }
217
+ }),
218
+ emitQuestionAnswered: async (record) => {
219
+ await context.emitControlEvent({
220
+ event: 'question_answered',
221
+ actor: 'user',
222
+ payload: {
223
+ question_id: record.question_id,
224
+ parent_run_id: record.parent_run_id,
225
+ answer: record.answer,
226
+ answered_by: record.answered_by,
227
+ answered_at: record.answered_at
228
+ }
229
+ });
230
+ await context.emitControlEvent({
231
+ event: 'question_closed',
232
+ actor: 'runner',
233
+ payload: {
234
+ question_id: record.question_id,
235
+ parent_run_id: record.parent_run_id,
236
+ outcome: record.status,
237
+ closed_at: record.closed_at,
238
+ expires_at: record.expires_at ?? null
239
+ }
240
+ });
241
+ },
242
+ emitQuestionDismissed: (record) => context.emitControlEvent({
243
+ event: 'question_closed',
244
+ actor: 'user',
245
+ payload: {
246
+ question_id: record.question_id,
247
+ parent_run_id: record.parent_run_id,
248
+ outcome: record.status,
249
+ closed_at: record.closed_at,
250
+ expires_at: record.expires_at ?? null
251
+ }
252
+ }),
253
+ publishRuntime: (source) => context.runtime.publish({ source })
254
+ })
255
+ };
256
+ }
257
+ function buildRefreshAcknowledgement(requestedAt, providerRefresh) {
258
+ return {
259
+ queued: providerRefresh?.queued ?? true,
260
+ coalesced: providerRefresh?.coalesced ?? false,
261
+ requested_at: requestedAt,
262
+ operations: providerRefresh ? ['poll', 'reconcile'] : ['reconcile'],
263
+ stuck: providerRefresh?.stuck ?? false,
264
+ restart_required: providerRefresh?.restart_required ?? false,
265
+ reason: providerRefresh?.reason ?? null
266
+ };
267
+ }
@@ -0,0 +1,5 @@
1
+ import { createAuthenticatedRouteDispatcherContext } from './authenticatedRouteComposition.js';
2
+ import { handleAuthenticatedRouteDispatcher } from './authenticatedRouteDispatcher.js';
3
+ export async function handleAuthenticatedRouteRequest(context) {
4
+ return handleAuthenticatedRouteDispatcher(createAuthenticatedRouteDispatcherContext(context));
5
+ }
@@ -0,0 +1,41 @@
1
+ export async function handleAuthenticatedRouteDispatcher(context) {
2
+ if (context.pathname === '/events' && context.method === 'GET') {
3
+ context.handleEventsSse();
4
+ return true;
5
+ }
6
+ if (await context.handleUiData()) {
7
+ return true;
8
+ }
9
+ if (await context.handleObservabilityApi()) {
10
+ return true;
11
+ }
12
+ if (context.pathname === '/control/action' && context.method === 'POST') {
13
+ await context.handleControlAction(context.authKind);
14
+ return true;
15
+ }
16
+ if (await context.handleConfirmationCreate()) {
17
+ return true;
18
+ }
19
+ if (await context.handleConfirmationList()) {
20
+ return true;
21
+ }
22
+ if (await context.handleConfirmationApprove()) {
23
+ return true;
24
+ }
25
+ if (await context.handleConfirmationIssueConsume()) {
26
+ return true;
27
+ }
28
+ if (await context.handleConfirmationValidate()) {
29
+ return true;
30
+ }
31
+ if (await context.handleSecurityViolation()) {
32
+ return true;
33
+ }
34
+ if (await context.handleDelegationRegister()) {
35
+ return true;
36
+ }
37
+ if (await context.handleQuestionQueue()) {
38
+ return true;
39
+ }
40
+ return false;
41
+ }