@jmanuelcorral/openteam 0.2.1 → 0.9.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 (312) hide show
  1. package/.opencode/command/openteam.md +2 -1
  2. package/.opencode/openteam.example.json +27 -8
  3. package/AGENTS.md +5 -2
  4. package/README.es.md +155 -59
  5. package/README.md +418 -62
  6. package/dist/capabilities/types.d.ts +3 -3
  7. package/dist/capabilities/types.d.ts.map +1 -1
  8. package/dist/classifier/localClassifier.d.ts +0 -2
  9. package/dist/classifier/localClassifier.d.ts.map +1 -1
  10. package/dist/cli/consoleServe.d.ts +30 -1
  11. package/dist/cli/consoleServe.d.ts.map +1 -1
  12. package/dist/cli/graphOperator.d.ts +22 -0
  13. package/dist/cli/graphOperator.d.ts.map +1 -0
  14. package/dist/cli/graphStatusSnapshot.d.ts +16 -0
  15. package/dist/cli/graphStatusSnapshot.d.ts.map +1 -0
  16. package/dist/cli/graphViewProvider.d.ts +30 -0
  17. package/dist/cli/graphViewProvider.d.ts.map +1 -0
  18. package/dist/cli/migrateAdapter.d.ts +12 -0
  19. package/dist/cli/migrateAdapter.d.ts.map +1 -0
  20. package/dist/cli/purgeAdapter.d.ts +10 -0
  21. package/dist/cli/purgeAdapter.d.ts.map +1 -0
  22. package/dist/cli/setupAdapters.d.ts.map +1 -1
  23. package/dist/cli.js +13480 -5176
  24. package/dist/commands/agents.d.ts +102 -2
  25. package/dist/commands/agents.d.ts.map +1 -1
  26. package/dist/commands/baseline.d.ts.map +1 -1
  27. package/dist/commands/clearCache.d.ts +23 -0
  28. package/dist/commands/clearCache.d.ts.map +1 -0
  29. package/dist/commands/dispatch.d.ts +197 -4
  30. package/dist/commands/dispatch.d.ts.map +1 -1
  31. package/dist/commands/doctor.d.ts +40 -0
  32. package/dist/commands/doctor.d.ts.map +1 -1
  33. package/dist/commands/frontierCatalog.d.ts +8 -14
  34. package/dist/commands/frontierCatalog.d.ts.map +1 -1
  35. package/dist/commands/graph.d.ts +0 -27
  36. package/dist/commands/graph.d.ts.map +1 -1
  37. package/dist/commands/local.d.ts.map +1 -1
  38. package/dist/commands/migrate.d.ts +11 -0
  39. package/dist/commands/migrate.d.ts.map +1 -0
  40. package/dist/commands/purge.d.ts +132 -0
  41. package/dist/commands/purge.d.ts.map +1 -0
  42. package/dist/commands/report.d.ts +1 -0
  43. package/dist/commands/report.d.ts.map +1 -1
  44. package/dist/commands/setup.d.ts +62 -5
  45. package/dist/commands/setup.d.ts.map +1 -1
  46. package/dist/config/errors.d.ts +10 -0
  47. package/dist/config/errors.d.ts.map +1 -0
  48. package/dist/config/legacyMigration.d.ts +82 -0
  49. package/dist/config/legacyMigration.d.ts.map +1 -0
  50. package/dist/config/legacyPaths.d.ts +105 -0
  51. package/dist/config/legacyPaths.d.ts.map +1 -0
  52. package/dist/config/load.d.ts.map +1 -1
  53. package/dist/config/opencode.d.ts +63 -0
  54. package/dist/config/opencode.d.ts.map +1 -0
  55. package/dist/config/persist.d.ts +8 -0
  56. package/dist/config/persist.d.ts.map +1 -1
  57. package/dist/config/resolve.d.ts +1 -1
  58. package/dist/config/resolve.d.ts.map +1 -1
  59. package/dist/config/runtime.d.ts +62 -0
  60. package/dist/config/runtime.d.ts.map +1 -0
  61. package/dist/config/schema.d.ts +145 -77
  62. package/dist/config/schema.d.ts.map +1 -1
  63. package/dist/console/assets.d.ts +2 -2
  64. package/dist/console/assets.d.ts.map +1 -1
  65. package/dist/console/configView.d.ts +74 -0
  66. package/dist/console/configView.d.ts.map +1 -0
  67. package/dist/console/opencodeClient.d.ts +8 -6
  68. package/dist/console/opencodeClient.d.ts.map +1 -1
  69. package/dist/console/protocol.d.ts +30 -6
  70. package/dist/console/protocol.d.ts.map +1 -1
  71. package/dist/console/render.d.ts +30 -1
  72. package/dist/console/render.d.ts.map +1 -1
  73. package/dist/console/types.d.ts +1 -1
  74. package/dist/console/types.d.ts.map +1 -1
  75. package/dist/context/redaction.d.ts +27 -19
  76. package/dist/context/redaction.d.ts.map +1 -1
  77. package/dist/context/schema.d.ts +26 -26
  78. package/dist/context/schema.d.ts.map +1 -1
  79. package/dist/context/types.d.ts +3 -3
  80. package/dist/contract/opencode.d.ts +39 -23
  81. package/dist/contract/opencode.d.ts.map +1 -1
  82. package/dist/graph/certificate.d.ts +37 -16
  83. package/dist/graph/certificate.d.ts.map +1 -1
  84. package/dist/graph/langgraph/adapter.d.ts +56 -0
  85. package/dist/graph/langgraph/adapter.d.ts.map +1 -0
  86. package/dist/graph/langgraph/certification.d.ts +64 -0
  87. package/dist/graph/langgraph/certification.d.ts.map +1 -0
  88. package/dist/graph/langgraph/checkpointReplay.d.ts +49 -0
  89. package/dist/graph/langgraph/checkpointReplay.d.ts.map +1 -0
  90. package/dist/graph/langgraph/checkpointer.d.ts +49 -0
  91. package/dist/graph/langgraph/checkpointer.d.ts.map +1 -0
  92. package/dist/graph/langgraph/engine.d.ts +34 -0
  93. package/dist/graph/langgraph/engine.d.ts.map +1 -0
  94. package/dist/graph/langgraph/graphModel.d.ts +37 -0
  95. package/dist/graph/langgraph/graphModel.d.ts.map +1 -0
  96. package/dist/graph/langgraph/reducer.d.ts +18 -0
  97. package/dist/graph/langgraph/reducer.d.ts.map +1 -0
  98. package/dist/graph/langgraph/retirement.d.ts +59 -0
  99. package/dist/graph/langgraph/retirement.d.ts.map +1 -0
  100. package/dist/graph/langgraph/types.d.ts +65 -0
  101. package/dist/graph/langgraph/types.d.ts.map +1 -0
  102. package/dist/graph/privacyPolicy.d.ts +7 -0
  103. package/dist/graph/privacyPolicy.d.ts.map +1 -1
  104. package/dist/graph/soakLedger.d.ts.map +1 -1
  105. package/dist/graph/types.d.ts +0 -2
  106. package/dist/graph/types.d.ts.map +1 -1
  107. package/dist/index.d.ts +48 -16
  108. package/dist/index.d.ts.map +1 -1
  109. package/dist/index.js +11596 -4180
  110. package/dist/local/cacheAdapter.d.ts +7 -0
  111. package/dist/local/cacheAdapter.d.ts.map +1 -0
  112. package/dist/local/concurrency.d.ts +52 -0
  113. package/dist/local/concurrency.d.ts.map +1 -0
  114. package/dist/local/embeddings.d.ts +10 -10
  115. package/dist/local/embeddings.d.ts.map +1 -1
  116. package/dist/local/extractClient.d.ts +13 -10
  117. package/dist/local/extractClient.d.ts.map +1 -1
  118. package/dist/local/lemonade.d.ts +4 -0
  119. package/dist/local/lemonade.d.ts.map +1 -0
  120. package/dist/local/registry.d.ts +16 -0
  121. package/dist/local/registry.d.ts.map +1 -1
  122. package/dist/local/types.d.ts +1 -1
  123. package/dist/local/types.d.ts.map +1 -1
  124. package/dist/mcp/semanticRecall.d.ts +18 -1
  125. package/dist/mcp/semanticRecall.d.ts.map +1 -1
  126. package/dist/mcp/server.d.ts +41 -1
  127. package/dist/mcp/server.d.ts.map +1 -1
  128. package/dist/memory/embedText.d.ts +4 -0
  129. package/dist/memory/embedText.d.ts.map +1 -0
  130. package/dist/memory/extract.d.ts +33 -18
  131. package/dist/memory/extract.d.ts.map +1 -1
  132. package/dist/memory/fold.d.ts +3 -2
  133. package/dist/memory/fold.d.ts.map +1 -1
  134. package/dist/memory/index.d.ts +1 -0
  135. package/dist/memory/index.d.ts.map +1 -1
  136. package/dist/memory/inject.d.ts.map +1 -1
  137. package/dist/memory/log.d.ts +15 -4
  138. package/dist/memory/log.d.ts.map +1 -1
  139. package/dist/memory/merge.d.ts +18 -1
  140. package/dist/memory/merge.d.ts.map +1 -1
  141. package/dist/memory/traverse.d.ts +80 -0
  142. package/dist/memory/traverse.d.ts.map +1 -0
  143. package/dist/memory/types.d.ts +53 -7
  144. package/dist/memory/types.d.ts.map +1 -1
  145. package/dist/messages/commands.d.ts +84 -0
  146. package/dist/messages/commands.d.ts.map +1 -0
  147. package/dist/messages/index.d.ts +46 -0
  148. package/dist/messages/index.d.ts.map +1 -0
  149. package/dist/opencodeArtifacts/index.d.ts +33 -0
  150. package/dist/opencodeArtifacts/index.d.ts.map +1 -0
  151. package/dist/opencodeArtifacts/orchestratorAgent.d.ts +29 -0
  152. package/dist/opencodeArtifacts/orchestratorAgent.d.ts.map +1 -0
  153. package/dist/opencodeArtifacts/slashCommand.d.ts +31 -0
  154. package/dist/opencodeArtifacts/slashCommand.d.ts.map +1 -0
  155. package/dist/orchestrator/coordinator.d.ts +188 -2
  156. package/dist/orchestrator/coordinator.d.ts.map +1 -1
  157. package/dist/orchestrator/graphCancellation.d.ts +40 -37
  158. package/dist/orchestrator/graphCancellation.d.ts.map +1 -1
  159. package/dist/orchestrator/graphEffects.d.ts +24 -24
  160. package/dist/orchestrator/graphEffects.d.ts.map +1 -1
  161. package/dist/orchestrator/graphFacade.d.ts +16 -16
  162. package/dist/orchestrator/graphFacade.d.ts.map +1 -1
  163. package/dist/orchestrator/graphIngress.d.ts +49 -45
  164. package/dist/orchestrator/graphIngress.d.ts.map +1 -1
  165. package/dist/orchestrator/graphReview.d.ts +24 -23
  166. package/dist/orchestrator/graphReview.d.ts.map +1 -1
  167. package/dist/orchestrator/graphRuntime.d.ts +27 -26
  168. package/dist/orchestrator/graphRuntime.d.ts.map +1 -1
  169. package/dist/orchestrator/graphShadow.d.ts +70 -69
  170. package/dist/orchestrator/graphShadow.d.ts.map +1 -1
  171. package/dist/orchestrator/opencodeSessionAdapter.d.ts +25 -25
  172. package/dist/orchestrator/opencodeSessionAdapter.d.ts.map +1 -1
  173. package/dist/orchestrator/permissions.d.ts.map +1 -1
  174. package/dist/orchestrator/ralphLoop.d.ts +57 -0
  175. package/dist/orchestrator/ralphLoop.d.ts.map +1 -0
  176. package/dist/orchestrator/roles.d.ts +50 -8
  177. package/dist/orchestrator/roles.d.ts.map +1 -1
  178. package/dist/orchestrator/roster.d.ts +103 -0
  179. package/dist/orchestrator/roster.d.ts.map +1 -0
  180. package/dist/orchestrator/rosterPersistence.d.ts +22 -0
  181. package/dist/orchestrator/rosterPersistence.d.ts.map +1 -0
  182. package/dist/orchestrator/runtimeSelection.d.ts +46 -0
  183. package/dist/orchestrator/runtimeSelection.d.ts.map +1 -0
  184. package/dist/orchestrator/sddCompiler.d.ts +34 -34
  185. package/dist/orchestrator/sddCompiler.d.ts.map +1 -1
  186. package/dist/orchestrator/sessionReconciler.d.ts +31 -29
  187. package/dist/orchestrator/sessionReconciler.d.ts.map +1 -1
  188. package/dist/orchestrator/shadowComparator.d.ts +23 -23
  189. package/dist/orchestrator/shadowComparator.d.ts.map +1 -1
  190. package/dist/orchestrator/subsessions.d.ts.map +1 -1
  191. package/dist/orchestrator/worktreeAdapter.d.ts +12 -12
  192. package/dist/orchestrator/worktreeAdapter.d.ts.map +1 -1
  193. package/dist/orchestrator/worktreeDispatch.d.ts +34 -34
  194. package/dist/orchestrator/worktreeDispatch.d.ts.map +1 -1
  195. package/dist/orchestrator/worktreeReconciler.d.ts +37 -36
  196. package/dist/orchestrator/worktreeReconciler.d.ts.map +1 -1
  197. package/dist/plugin/availability.d.ts.map +1 -1
  198. package/dist/plugin/capture.d.ts +12 -12
  199. package/dist/plugin/capture.d.ts.map +1 -1
  200. package/dist/plugin/commandTool.d.ts +1 -1
  201. package/dist/plugin/commandTool.d.ts.map +1 -1
  202. package/dist/plugin/graphShadowIngress.d.ts +50 -48
  203. package/dist/plugin/graphShadowIngress.d.ts.map +1 -1
  204. package/dist/plugin/graphTool.d.ts +25 -23
  205. package/dist/plugin/graphTool.d.ts.map +1 -1
  206. package/dist/plugin/hooks.d.ts +10 -10
  207. package/dist/plugin/hooks.d.ts.map +1 -1
  208. package/dist/plugin/legacyRunProducer.d.ts +22 -22
  209. package/dist/plugin/legacyRunProducer.d.ts.map +1 -1
  210. package/dist/plugin/memoryInject.d.ts +6 -6
  211. package/dist/plugin/memoryInject.d.ts.map +1 -1
  212. package/dist/plugin/memoryTool.d.ts +36 -0
  213. package/dist/plugin/memoryTool.d.ts.map +1 -0
  214. package/dist/plugin/orchestrateTool.d.ts +230 -0
  215. package/dist/plugin/orchestrateTool.d.ts.map +1 -0
  216. package/dist/plugin/reportRunSchema.d.ts +8 -8
  217. package/dist/plugin/reportRunSchema.d.ts.map +1 -1
  218. package/dist/plugin/sessionTracker.d.ts +15 -15
  219. package/dist/plugin/sessionTracker.d.ts.map +1 -1
  220. package/dist/plugin/shadowPipeline.d.ts +2 -1
  221. package/dist/plugin/shadowPipeline.d.ts.map +1 -1
  222. package/dist/plugin/soakObserver.d.ts +18 -11
  223. package/dist/plugin/soakObserver.d.ts.map +1 -1
  224. package/dist/plugin/toolcalls.d.ts +3 -3
  225. package/dist/router/chooseModel.d.ts.map +1 -1
  226. package/dist/router/frontierBaseline.d.ts +3 -3
  227. package/dist/router/modelSelection.d.ts +12 -4
  228. package/dist/router/modelSelection.d.ts.map +1 -1
  229. package/dist/router/types.d.ts +6 -1
  230. package/dist/router/types.d.ts.map +1 -1
  231. package/dist/storage/graph/snapshot.d.ts.map +1 -1
  232. package/dist/storage/graph/soakRecorder.d.ts +14 -1
  233. package/dist/storage/graph/soakRecorder.d.ts.map +1 -1
  234. package/dist/storage/graph/workspaceLease.d.ts +1 -1
  235. package/dist/storage/graph/workspaceLease.d.ts.map +1 -1
  236. package/dist/storage/graph/worktreeRegistry.d.ts +1 -1
  237. package/dist/storage/graph/worktreeRegistry.d.ts.map +1 -1
  238. package/dist/storage/httpStorageProvider.d.ts +2 -2
  239. package/dist/storage/index/bunSqlite.d.ts +1 -0
  240. package/dist/storage/index/bunSqlite.d.ts.map +1 -1
  241. package/dist/storage/index/memoryConsolidate.d.ts +2 -0
  242. package/dist/storage/index/memoryConsolidate.d.ts.map +1 -1
  243. package/dist/storage/index/memoryEmbeddings.d.ts +51 -0
  244. package/dist/storage/index/memoryEmbeddings.d.ts.map +1 -0
  245. package/dist/storage/index/memoryIndex.d.ts +36 -4
  246. package/dist/storage/index/memoryIndex.d.ts.map +1 -1
  247. package/dist/storage/index/memoryRecall.d.ts +1 -1
  248. package/dist/storage/index/memoryRecall.d.ts.map +1 -1
  249. package/dist/storage/index/memoryRuntime.d.ts +2 -0
  250. package/dist/storage/index/memoryRuntime.d.ts.map +1 -1
  251. package/dist/storage/index/sqliteIndex.d.ts +18 -1
  252. package/dist/storage/index/sqliteIndex.d.ts.map +1 -1
  253. package/dist/storage/path.d.ts.map +1 -1
  254. package/dist/telemetry/aggregate.d.ts +12 -12
  255. package/dist/telemetry/aggregate.d.ts.map +1 -1
  256. package/dist/telemetry/cost.d.ts.map +1 -1
  257. package/dist/telemetry/decisions.d.ts +11 -11
  258. package/dist/telemetry/decisions.d.ts.map +1 -1
  259. package/dist/telemetry/eventLog.d.ts +41 -25
  260. package/dist/telemetry/eventLog.d.ts.map +1 -1
  261. package/dist/telemetry/events.d.ts +79 -34
  262. package/dist/telemetry/events.d.ts.map +1 -1
  263. package/dist/telemetry/fanout.d.ts +18 -0
  264. package/dist/telemetry/fanout.d.ts.map +1 -0
  265. package/dist/telemetry/graphProjection.d.ts +12 -12
  266. package/dist/telemetry/graphProjection.d.ts.map +1 -1
  267. package/dist/telemetry/graphRuntimeHealth.d.ts +26 -26
  268. package/dist/telemetry/graphRuntimeHealth.d.ts.map +1 -1
  269. package/dist/telemetry/graphView.d.ts +20 -20
  270. package/dist/telemetry/graphView.d.ts.map +1 -1
  271. package/dist/telemetry/otel.d.ts +86 -0
  272. package/dist/telemetry/otel.d.ts.map +1 -0
  273. package/dist/telemetry/otelConfig.d.ts +128 -0
  274. package/dist/telemetry/otelConfig.d.ts.map +1 -0
  275. package/dist/telemetry/otelExporter.d.ts +7 -0
  276. package/dist/telemetry/otelExporter.d.ts.map +1 -0
  277. package/dist/telemetry/read.d.ts +18 -4
  278. package/dist/telemetry/read.d.ts.map +1 -1
  279. package/dist/telemetry/types.d.ts +3 -2
  280. package/dist/telemetry/types.d.ts.map +1 -1
  281. package/dist/version.d.ts +3 -0
  282. package/dist/version.d.ts.map +1 -0
  283. package/dist/web/configApi.d.ts +154 -0
  284. package/dist/web/configApi.d.ts.map +1 -0
  285. package/dist/web/configRoute.d.ts +57 -0
  286. package/dist/web/configRoute.d.ts.map +1 -0
  287. package/dist/web/console.d.ts +8 -0
  288. package/dist/web/console.d.ts.map +1 -1
  289. package/dist/web/paths.d.ts +4 -3
  290. package/dist/web/paths.d.ts.map +1 -1
  291. package/dist/web/server.d.ts +30 -1
  292. package/dist/web/server.d.ts.map +1 -1
  293. package/dist/web/start.d.ts +15 -0
  294. package/dist/web/start.d.ts.map +1 -1
  295. package/dist/web/storageRoute.d.ts +2 -2
  296. package/package.json +13 -7
  297. package/dist/cli/tunnel.d.ts +0 -89
  298. package/dist/cli/tunnel.d.ts.map +0 -1
  299. package/dist/commands/orchestratorAgent.d.ts +0 -30
  300. package/dist/commands/orchestratorAgent.d.ts.map +0 -1
  301. package/dist/commands/slashCommand.d.ts +0 -39
  302. package/dist/commands/slashCommand.d.ts.map +0 -1
  303. package/dist/orchestrator/ledger.d.ts +0 -28
  304. package/dist/orchestrator/ledger.d.ts.map +0 -1
  305. package/dist/storage/graph/importLegacy.d.ts +0 -62
  306. package/dist/storage/graph/importLegacy.d.ts.map +0 -1
  307. package/dist/storage/graph/migrateLegacyBriefs.d.ts +0 -32
  308. package/dist/storage/graph/migrateLegacyBriefs.d.ts.map +0 -1
  309. package/dist/storage/graph/migration.d.ts +0 -91
  310. package/dist/storage/graph/migration.d.ts.map +0 -1
  311. package/dist/storage/graph/projections.d.ts +0 -31
  312. package/dist/storage/graph/projections.d.ts.map +0 -1
@@ -1,22 +1,22 @@
1
1
  /**
2
- * GE-050 — ingress activo de SDD detrás de una puerta cerrada por defecto.
2
+ * GE-050 — active SDD ingress behind a gate closed by default.
3
3
  *
4
- * R1 entrega el punto de entrada de producción que el runtime activo nunca tuvo
5
- * y lo deja **inalcanzable**. La propiedad central es que "inalcanzable por
6
- * configuración soportada" es ESTRUCTURAL, no una promesa: la puerta es una
7
- * capability que el parser de config no puede construir (su marca es un símbolo
8
- * privado de este módulo), así que ningún `.opencode/openteam.json` — se escriba
9
- * como se escriba — puede abrirla. Solo `unsafeGrantActiveIngress` la produce, y
10
- * ningún módulo de producción lo llama.
4
+ * R1 delivers the production entry point that the active runtime never had and
5
+ * leaves it **unreachable**. The central property is that "unreachable by
6
+ * supported configuration" is STRUCTURAL, not a promise: the gate is a
7
+ * capability that the config parser cannot construct (its brand is a symbol
8
+ * private to this module), so no `.opencode/openteam.json` — no matter how it
9
+ * is written — can open it. Only `unsafeGrantActiveIngress` produces it, and no
10
+ * production module calls it.
11
11
  *
12
- * El motivo devuelto es siempre el bloqueo **más externo necesario**, para que
13
- * un diagnóstico nunca sugiera un remedio que no funcionaría: en R1, apagar el
14
- * kill switch o ampliar la allow-list no cambia nada mientras la puerta esté
15
- * cerrada, y el ingress lo dice.
12
+ * The returned reason is always the **outermost necessary** block, so a
13
+ * diagnostic never suggests a remedy that would not work: in R1, turning off
14
+ * the kill switch or broadening the allow-list changes nothing while the gate
15
+ * remains closed, and ingress says so.
16
16
  *
17
- * Este módulo es una capa de **composición**: no reimplementa el runtime, la
18
- * revisión ni la cancelación; los orquesta y traduce sus resultados a un
19
- * resultado total (nunca lanza) y reference-only.
17
+ * This module is a **composition** layer: it does not reimplement the runtime,
18
+ * review, or cancellation; it orchestrates them and translates their results
19
+ * into a total (never throws) and reference-only result.
20
20
  */
21
21
  import type { ResolvedGraphConfig } from "../config/resolve";
22
22
  import type { GraphJournal } from "../storage/graph/provider";
@@ -25,54 +25,58 @@ import type { GraphEffectExecutor } from "./graphEffects";
25
25
  import type { RevisionPlan } from "./graphReview";
26
26
  import { type RuntimeStepOutcome } from "./graphRuntime";
27
27
  import { type SddTask } from "./sddCompiler";
28
- /** Marca privada del módulo: nada fuera de aquí puede fabricarla. */
28
+ /** Module-private brand: nothing outside here can manufacture it. */
29
29
  declare const ACTIVE_INGRESS_BRAND: unique symbol;
30
30
  /**
31
- * Permiso interno para el ingress activo. Es opaco a propósito: al llevar una
32
- * marca de símbolo privado, ningún objeto derivado de JSON (y por tanto ninguna
33
- * config de usuario) es asignable a este tipo.
31
+ * Internal permission for active ingress. It is intentionally opaque: because
32
+ * it carries a private symbol brand, no JSON-derived object (and therefore no
33
+ * user config) is assignable to this type.
34
34
  */
35
35
  export type ActiveIngressCapability = {
36
36
  readonly [ACTIVE_INGRESS_BRAND]: true;
37
- /** Motivo declarado de la concesión; solo para trazas internas. */
37
+ /** Declared reason for the grant; only for internal traces. */
38
38
  readonly grantedFor: string;
39
39
  };
40
40
  /**
41
- * Único productor de la capability. No se invoca desde ningún módulo de
42
- * producción; existe para que tests y futuros pilotos (R2+) puedan abrir la
43
- * puerta explícitamente, dejando la concesión visible en el código que la usa.
41
+ * Sole producer of the capability. It is not invoked from any production
42
+ * module; it exists so tests and future pilots (R2+) can open the gate
43
+ * explicitly, leaving the grant visible in the code that uses it.
44
44
  */
45
45
  export declare function unsafeGrantActiveIngress(grantedFor: string): ActiveIngressCapability;
46
- /** Motivo por el que una petición se queda en la ruta legacy. */
47
- export type IngressLegacyReason = "gate-closed" | "kill-switch" | "graph-disabled" | "not-allow-listed";
48
- /** Decisión de enrutado de una tarea SDD. */
46
+ /** Reason why a request remains on the legacy path. */
47
+ export type IngressLegacyReason = "gate-closed" | "kill-switch" | "cutover-gate-denied" | "graph-disabled" | "not-allow-listed";
48
+ export type IngressGateViolations = NonNullable<ResolvedGraphConfig["gateViolations"]>;
49
+ type IngressLegacyBlock = {
50
+ readonly reason: IngressLegacyReason;
51
+ readonly gateViolations?: IngressGateViolations;
52
+ };
53
+ /** Routing decision for an SDD task. */
49
54
  export type IngressDecision = {
50
55
  readonly route: "graph";
51
56
  readonly taskID: string;
52
- } | {
57
+ } | ({
53
58
  readonly route: "legacy";
54
- readonly reason: IngressLegacyReason;
55
- };
56
- /** Política de admisión: config resuelta, allow-list y puerta interna. */
59
+ } & IngressLegacyBlock);
60
+ /** Admission policy: resolved config, allow-list, and internal gate. */
57
61
  export type IngressPolicy = {
58
62
  readonly graph: ResolvedGraphConfig;
59
63
  readonly allowList: readonly string[];
60
64
  readonly capability?: ActiveIngressCapability;
61
65
  };
62
66
  /**
63
- * Decide la ruta de una tarea. Pura y determinista.
67
+ * Decides the route for a task. Pure and deterministic.
64
68
  *
65
- * Precedencia: `gate-closed` → `kill-switch` → `graph-disabled` →
66
- * `not-allow-listed`, es decir, el bloqueo más externo primero.
69
+ * Precedence: `gate-closed` → `kill-switch` →
70
+ * `cutover-gate-denied` → `graph-disabled` → `not-allow-listed`, that is, the
71
+ * outermost block first.
67
72
  */
68
73
  export declare function decideIngress(policy: IngressPolicy, taskID: string): IngressDecision;
69
- /** Clase de fallo del ingress. Nunca transporta payload del usuario. */
74
+ /** Ingress failure class. It never carries user payload. */
70
75
  export type IngressErrorCode = "compile-failed" | "unknown-run" | "no-reviewer" | "lease-held" | "journal-failed";
71
- /** Resultado total de una operación del ingress. Reference-only. */
72
- export type IngressOutcome = {
76
+ /** Total outcome of an ingress operation. Reference-only. */
77
+ export type IngressOutcome = ({
73
78
  readonly kind: "legacy";
74
- readonly reason: IngressLegacyReason;
75
- } | {
79
+ } & IngressLegacyBlock) | {
76
80
  readonly kind: "accepted";
77
81
  readonly runID: string;
78
82
  readonly step: RuntimeStepOutcome;
@@ -95,21 +99,21 @@ export type IngressOutcome = {
95
99
  readonly code: IngressErrorCode;
96
100
  readonly detail: string;
97
101
  };
98
- /** Petición de rechazo de revisión: ancla la revisión en curso. */
102
+ /** Review rejection request: anchors the in-progress review. */
99
103
  export type IngressRejectRequest = {
100
104
  readonly runID: string;
101
105
  readonly nodeID: string;
102
106
  readonly currentRevision: number;
103
107
  readonly currentOperationID: string;
104
108
  };
105
- /** Petición de reasignación de reviewer tras un fallo técnico. */
109
+ /** Reviewer reassignment request after a technical failure. */
106
110
  export type IngressReassignRequest = {
107
111
  readonly runID: string;
108
112
  readonly authorID: string;
109
113
  readonly failedReviewers: readonly string[];
110
114
  readonly candidates: readonly string[];
111
115
  };
112
- /** Dependencias inyectadas del ingress. Todo el I/O entra por aquí. */
116
+ /** Injected ingress dependencies. All I/O enters here. */
113
117
  export type GraphIngressDeps = {
114
118
  readonly policy: IngressPolicy;
115
119
  readonly journal: GraphJournal;
@@ -119,10 +123,10 @@ export type GraphIngressDeps = {
119
123
  readonly revisionLimit?: number;
120
124
  };
121
125
  /**
122
- * Superficie del ingress activo. Total para los fallos de infraestructura
123
- * clasificados (compilación, journal, lease), que se devuelven como resultado.
124
- * Un error no clasificado **sí** se propaga: un bug no debe disfrazarse de
125
- * decisión de enrutado, porque entonces sería indistinguible de una política.
126
+ * Active ingress surface. Total for classified infrastructure failures
127
+ * (compilation, journal, lease), which are returned as a result. An
128
+ * unclassified error **does** propagate: a bug must not masquerade as a routing
129
+ * decision, because then it would be indistinguishable from a policy.
126
130
  */
127
131
  export interface GraphIngress {
128
132
  start(task: SddTask): Promise<IngressOutcome>;
@@ -1 +1 @@
1
- {"version":3,"file":"graphIngress.d.ts","sourceRoot":"","sources":["../../src/orchestrator/graphIngress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphIngress.d.ts","sourceRoot":"","sources":["../../src/orchestrator/graphIngress.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type Sha256, type TaskAnchor } from "../context/schema";
2
2
  import type { Capability } from "../graph/types";
3
- /** Veredicto normalizado de una revisión. */
3
+ /** Normalized verdict of a review. */
4
4
  export type ReviewVerdict = {
5
5
  readonly decision: "approved";
6
6
  } | {
@@ -10,19 +10,19 @@ export type ReviewVerdict = {
10
10
  readonly decision: "inconclusive";
11
11
  readonly reason: string;
12
12
  };
13
- /** Lo que el runtime despachó y a lo que debe anclarse la aprobación. */
13
+ /** What the runtime dispatched and what the approval must be anchored to. */
14
14
  export type ReviewExpectation = {
15
15
  readonly anchor: TaskAnchor;
16
16
  readonly artifactSha256: Sha256;
17
17
  };
18
18
  /**
19
- * Parsea el veredicto de forma conservadora. Entrada no estructurada o inválida
20
- * es `inconclusive`; un rechazo se honra con su motivo; una aprobación exige un
21
- * ancla y un digest de artefacto que coincidan con lo despachado, y en cualquier
22
- * discrepancia degrada a `inconclusive` (fail-closed).
19
+ * Parses the verdict conservatively. Unstructured or invalid input is
20
+ * `inconclusive`; a rejection is honored with its reason; an approval requires
21
+ * an anchor and artifact digest that match what was dispatched, and any
22
+ * discrepancy degrades to `inconclusive` (fail-closed).
23
23
  */
24
24
  export declare function parseReviewVerdict(raw: unknown, expected: ReviewExpectation): ReviewVerdict;
25
- /** Decisión de lockout del efecto de un reviewer antes del despacho. */
25
+ /** Reviewer effect lockout decision before dispatch. */
26
26
  export type ReviewerEffectDecision = {
27
27
  readonly kind: "allow";
28
28
  } | {
@@ -30,30 +30,30 @@ export type ReviewerEffectDecision = {
30
30
  readonly capability: Capability;
31
31
  };
32
32
  /**
33
- * Bloquea el efecto de un reviewer a solo lectura. Devuelve `reject` con la
34
- * primera capacidad mutante planificada (orden de entrada, determinista); si
35
- * todas las capacidades son de solo lectura, `allow`.
33
+ * Locks the reviewer effect to read-only. Returns `reject` with the first
34
+ * planned mutating capability (input order, deterministic); if all capabilities
35
+ * are read-only, `allow`.
36
36
  */
37
37
  export declare function reviewerEffectDecision(capabilities: readonly Capability[]): ReviewerEffectDecision;
38
- /** Plan de linaje tras un rechazo: nueva revisión enlazada o agotamiento. */
38
+ /** Lineage plan after a rejection: linked new revision or exhaustion. */
39
39
  export type RevisionPlan = {
40
40
  readonly kind: "revise";
41
41
  readonly nodeID: string;
42
- /** Índice de la nueva revisión (0 la implementación inicial). */
42
+ /** Index of the new revision (0 is the initial implementation). */
43
43
  readonly revision: number;
44
- /** Operación de la nueva revisión, distinta de la anterior. */
44
+ /** Operation for the new revision, distinct from the previous one. */
45
45
  readonly operationID: string;
46
- /** Operación de la que procede (enlace append-only). */
46
+ /** Operation it derives from (append-only link). */
47
47
  readonly previousOperationID: string;
48
48
  } | {
49
49
  readonly kind: "exhausted";
50
50
  readonly revision: number;
51
51
  };
52
52
  /**
53
- * Planifica la revisión que enlaza un rechazo. Si aún queda margen bajo el
54
- * límite, produce una nueva revisión con una `operationID` distinta que apunta
55
- * a la anterior (`previousOperationID`), preservando la historia append-only;
56
- * si se agotó el margen, `exhausted`.
53
+ * Plans the revision that links a rejection. If room remains under the limit,
54
+ * produces a new revision with a distinct `operationID` that points to the
55
+ * previous one (`previousOperationID`), preserving append-only history; if the
56
+ * margin is exhausted, `exhausted`.
57
57
  */
58
58
  export declare function planRevision(input: {
59
59
  readonly runID: string;
@@ -62,19 +62,20 @@ export declare function planRevision(input: {
62
62
  readonly currentOperationID: string;
63
63
  readonly limit?: number;
64
64
  }): RevisionPlan;
65
- /** Resultado de reasignar el reviewer tras un fallo técnico. */
65
+ /** Result of reassigning the reviewer after a technical failure. */
66
66
  export type ReviewerReassignment = {
67
67
  readonly kind: "reassign";
68
68
  readonly reviewerID: string;
69
- /** Un fallo técnico del reviewer no re-ejecuta la implementación. */
69
+ /** A technical reviewer failure does not re-execute the implementation. */
70
70
  readonly rerunImplementation: false;
71
71
  } | {
72
72
  readonly kind: "no-reviewer";
73
73
  };
74
74
  /**
75
- * Reasigna la revisión al primer candidato elegible (orden de entrada), nunca
76
- * el autor ni un reviewer que ya falló. La implementación no se re-ejecuta: su
77
- * artefacto se conserva. Sin candidatos elegibles, `no-reviewer`.
75
+ * Reassigns the review to the first eligible candidate (input order), never the
76
+ * author nor a reviewer that has already failed. The implementation is not
77
+ * re-executed: its artifact is preserved. With no eligible candidates,
78
+ * `no-reviewer`.
78
79
  */
79
80
  export declare function reassignReviewer(input: {
80
81
  readonly authorID: string;
@@ -1 +1 @@
1
- {"version":3,"file":"graphReview.d.ts","sourceRoot":"","sources":["../../src/orchestrator/graphReview.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,UAAU,EAEhB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA6BjD,6CAA6C;AAC7C,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAA;CAAE,GACjC;IAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,yEAAyE;AACzE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,iBAAiB,GAC1B,aAAa,CAsBf;AAED,wEAAwE;AACxE,MAAM,MAAM,sBAAsB,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,SAAS,UAAU,EAAE,GAClC,sBAAsB,CAOxB;AAED,6EAA6E;AAC7E,MAAM,MAAM,YAAY,GACpB;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,YAAY,CAaf;AAED,gEAAgE;AAChE,MAAM,MAAM,oBAAoB,GAC5B;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC;CACrC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAErC;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC,GAAG,oBAAoB,CAevB"}
1
+ {"version":3,"file":"graphReview.d.ts","sourceRoot":"","sources":["../../src/orchestrator/graphReview.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,UAAU,EAEhB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA+BjD,sCAAsC;AACtC,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAA;CAAE,GACjC;IAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,6EAA6E;AAC7E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,iBAAiB,GAC1B,aAAa,CAsBf;AAED,wDAAwD;AACxD,MAAM,MAAM,sBAAsB,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,SAAS,UAAU,EAAE,GAClC,sBAAsB,CAOxB;AAED,yEAAyE;AACzE,MAAM,MAAM,YAAY,GACpB;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oDAAoD;IACpD,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,YAAY,CAaf;AAED,oEAAoE;AACpE,MAAM,MAAM,oBAAoB,GAC5B;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC;CACrC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAErC;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC,GAAG,oBAAoB,CAevB"}
@@ -4,36 +4,37 @@ import type { GraphJournal } from "../storage/graph/provider";
4
4
  import type { WorkspaceLease } from "../storage/graph/workspaceLease";
5
5
  import type { GraphEffectExecutor } from "./graphEffects";
6
6
  /**
7
- * Runtime single-writer de Graph (GE-031, GE-033).
7
+ * Graph single-writer runtime (GE-031, GE-033).
8
8
  *
9
- * Un `step` adquiere (idempotentemente) el lease del workspace, garantiza el
10
- * evento `run.started`, y avanza **como mucho un efecto**: commitea la intención
11
- * (`node.dispatched`) en el journal antes de invocar el executor y el recibo
12
- * (`node.succeeded`/`node.failed`) después. Reanuda tras un reinicio tomando el
13
- * relevo del journal (`takeOver`) y no re-despacha un efecto en vuelo: un nodo
14
- * `running` sin recibo se deja a la reconciliación (GE-032) devolviendo
15
- * `blocked`. El fencing del lease impide un segundo orquestador simultáneo.
9
+ * A `step` (idempotently) acquires the workspace lease, ensures the
10
+ * `run.started` event, and advances **at most one effect**: it commits the
11
+ * intention (`node.dispatched`) to the journal before invoking the executor and
12
+ * the receipt (`node.succeeded`/`node.failed`) after. It resumes after a restart
13
+ * by taking over the journal (`takeOver`) and does not re-dispatch an in-flight
14
+ * effect: a `running` node without a receipt is left for reconciliation
15
+ * (GE-032) by returning `blocked`. Lease fencing prevents a second simultaneous
16
+ * orchestrator.
16
17
  *
17
- * Reintentos (GE-033): un nodo `failed` con una clase de error reintentable
18
- * (`transient`/`timeout`) y dentro del límite se vuelve a despachar con el mismo
19
- * `operationID` y un `attemptID` nuevo derivado del journal, de modo que la
20
- * decisión y el ID reaparecen igual tras un reinicio. El retardo de backoff es
21
- * una función pura del índice de intento que el runtime expone en el resultado
22
- * del paso; no duerme ni consulta reloj.
18
+ * Retries (GE-033): a `failed` node with a retryable error class
19
+ * (`transient`/`timeout`) and within the limit is dispatched again with the same
20
+ * `operationID` and a new `attemptID` derived from the journal, so the decision
21
+ * and ID reappear the same after a restart. The backoff delay is a pure function
22
+ * of the attempt index that the runtime exposes in the step result; it neither
23
+ * sleeps nor consults the clock.
23
24
  *
24
- * El runtime aísla toda la lógica de orquestación; el I/O real vive en los
25
- * puertos inyectados (`WorkspaceLease`, `GraphJournal`, `GraphEffectExecutor`),
26
- * de modo que se prueba con dobles deterministas sin red ni SDK.
25
+ * The runtime isolates all orchestration logic; real I/O lives in injected
26
+ * ports (`WorkspaceLease`, `GraphJournal`, `GraphEffectExecutor`), so it is
27
+ * tested with deterministic doubles without network or SDK.
27
28
  */
28
- /** Resultado de un `step` del runtime. */
29
+ /** Result of one runtime `step`. */
29
30
  export type RuntimeStepOutcome = {
30
31
  readonly kind: "dispatched";
31
32
  readonly nodeID: string;
32
33
  readonly operationID: string;
33
34
  readonly attemptID: string;
34
- /** Índice de intento (0 el primero); crece en cada reintento. */
35
+ /** Attempt index (0 is the first); grows on each retry. */
35
36
  readonly attempt: number;
36
- /** Retardo determinista sugerido antes de este intento, en ms. */
37
+ /** Suggested deterministic delay before this attempt, in ms. */
37
38
  readonly backoffMs: number;
38
39
  } | {
39
40
  readonly kind: "completed";
@@ -46,23 +47,23 @@ export type RuntimeStepOutcome = {
46
47
  readonly kind: "terminal";
47
48
  readonly status: RunStatus;
48
49
  };
49
- /** Dependencias inyectadas del runtime; ninguna hace I/O dentro de este módulo. */
50
+ /** Injected runtime dependencies; none performs I/O inside this module. */
50
51
  export type GraphRuntimeDeps = {
51
52
  readonly spec: GraphSpecV1;
52
53
  readonly journal: GraphJournal;
53
54
  readonly lease: WorkspaceLease;
54
55
  readonly effects: GraphEffectExecutor;
55
56
  readonly holder: string;
56
- /** Límite de intentos por nodo reintentable; por defecto `DEFAULT_RETRY_LIMIT`. */
57
+ /** Attempt limit per retryable node; defaults to `DEFAULT_RETRY_LIMIT`. */
57
58
  readonly retryLimit?: number;
58
59
  };
59
- /** Runtime que avanza un run de Graph paso a paso. */
60
+ /** Runtime that advances a Graph run step by step. */
60
61
  export interface GraphRuntime {
61
- /** Adquiere el lease y garantiza `run.started`; idempotente. */
62
+ /** Acquires the lease and ensures `run.started`; idempotent. */
62
63
  start(): Promise<void>;
63
- /** Avanza como mucho un efecto y devuelve el resultado del paso. */
64
+ /** Advances at most one effect and returns the step result. */
64
65
  step(): Promise<RuntimeStepOutcome>;
65
- /** Repite `step` hasta un estado no despachador (terminal, completado, etc.). */
66
+ /** Repeats `step` until a non-dispatching state (terminal, completed, etc.). */
66
67
  runToCompletion(): Promise<RuntimeStepOutcome>;
67
68
  }
68
69
  export declare function createGraphRuntime(deps: GraphRuntimeDeps): GraphRuntime;
@@ -1 +1 @@
1
- {"version":3,"file":"graphRuntime.d.ts","sourceRoot":"","sources":["../../src/orchestrator/graphRuntime.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,0CAA0C;AAC1C,MAAM,MAAM,kBAAkB,GAC1B;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GACjE;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAE9D,mFAAmF;AACnF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mFAAmF;IACnF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,sDAAsD;AACtD,MAAM,WAAW,YAAY;IAC3B,gEAAgE;IAChE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,oEAAoE;IACpE,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpC,iFAAiF;IACjF,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChD;AAkDD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,CA2JvE"}
1
+ {"version":3,"file":"graphRuntime.d.ts","sourceRoot":"","sources":["../../src/orchestrator/graphRuntime.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAEV,cAAc,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,oCAAoC;AACpC,MAAM,MAAM,kBAAkB,GAC1B;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GACjE;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAE9D,2EAA2E;AAC3E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,sDAAsD;AACtD,MAAM,WAAW,YAAY;IAC3B,gEAAgE;IAChE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,+DAA+D;IAC/D,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpC,gFAAgF;IAChF,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChD;AAmDD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,CAkLvE"}