@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
@@ -0,0 +1,80 @@
1
+ import { type RecallDeps } from "./recall";
2
+ import { type Embedding, type MemoryRecord, type RecallQuery, type RecallResult } from "./types";
3
+ /**
4
+ * Pure, deterministic multi-hop traversal over the relation-edge graph (W5-S02).
5
+ * The graph nodes are entity identifiers (an edge's `from`/`to`) and the arcs are
6
+ * the typed relation edges introduced in W5-S01. This module has no I/O, clock,
7
+ * randomness, or env access: the reference instant `asOf` (epoch ms) and the
8
+ * owner scope are always injected, exactly like `recall`/`temporal`.
9
+ *
10
+ * Traversal is:
11
+ * - owner-scoped: only edges visible to `ownerKey` (plus the shared sentinel when
12
+ * `includeShared`) are walked, so a traversal can never cross `ownerKey`.
13
+ * - bitemporal: an edge is only walked if it is active at `asOf` (reusing
14
+ * `isActiveAt`), so invalidated or superseded edges drop out of the graph.
15
+ * - depth-bounded and cycle-safe: BFS by depth up to `maxDepth`, each node
16
+ * visited once.
17
+ *
18
+ * It WRAPS vector recall (`recallGraph`): the seed is a node reached by the
19
+ * existing similarity pipeline; recall behaviour is left byte-identical for
20
+ * callers that do not ask for traversal.
21
+ */
22
+ /** A node reached by traversal, tagged with its hop distance from the seed. */
23
+ export type TraversalNode = {
24
+ id: string;
25
+ depth: number;
26
+ };
27
+ /** An edge walked during traversal; `depth` is the hop distance of `to`. */
28
+ export type TraversalEdge = {
29
+ from: string;
30
+ to: string;
31
+ predicate: string;
32
+ depth: number;
33
+ };
34
+ /** The reachable sub-graph from a seed node. */
35
+ export type TraversalResult = {
36
+ seed: string;
37
+ nodes: TraversalNode[];
38
+ edges: TraversalEdge[];
39
+ };
40
+ /** Owner-scoped, bitemporal, depth-bounded traversal request. */
41
+ export type TraversalQuery = {
42
+ /** Entity identifier to start from (matched against edge `from`). */
43
+ seed: string;
44
+ ownerKey: string;
45
+ /** Reference instant (epoch ms) for bitemporal activity. */
46
+ asOf: number;
47
+ /** Maximum hop distance; `0` returns only the seed. */
48
+ maxDepth: number;
49
+ /** Include the shared sentinel owner. Defaults to `true`, like recall. */
50
+ includeShared?: boolean;
51
+ };
52
+ /**
53
+ * Walks the relation-edge graph from `query.seed` up to `query.maxDepth` hops,
54
+ * returning the reachable nodes (including the seed at depth 0) and the edges
55
+ * used to reach them. Only owner-scoped, bitemporally active edges participate.
56
+ */
57
+ export declare function traverseRelations(records: readonly MemoryRecord[], query: TraversalQuery): TraversalResult;
58
+ /** Extra knobs for the graph-aware wrapper around vector recall. */
59
+ export type GraphRecallOptions = {
60
+ maxDepth: number;
61
+ includeShared?: boolean;
62
+ };
63
+ /** A traversal anchored on one recalled seed record. */
64
+ export type GraphSeedTraversal = {
65
+ seedRecordId: string;
66
+ traversal: TraversalResult;
67
+ };
68
+ /** Vector recall plus the sub-graph reachable from each graph-bearing seed. */
69
+ export type GraphRecallResult = {
70
+ recall: RecallResult[];
71
+ traversals: GraphSeedTraversal[];
72
+ };
73
+ /**
74
+ * Wraps `recall`: runs the unchanged vector pipeline to pick seeds, then walks
75
+ * the relation graph from each seed that names a node (entities and relations).
76
+ * The `recall` field is exactly what `recall(...)` returns today, so existing
77
+ * non-graph callers are unaffected; `traversals` is the additive layer.
78
+ */
79
+ export declare function recallGraph(records: readonly MemoryRecord[], queryEmbedding: Embedding, query: RecallQuery, options: GraphRecallOptions, deps: RecallDeps): GraphRecallResult;
80
+ //# sourceMappingURL=traverse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../src/memory/traverse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAU,MAAM,UAAU,CAAC;AAEnD,OAAO,EACL,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EAGlB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;GAkBG;AAEH,+EAA+E;AAC/E,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,4EAA4E;AAC5E,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB,CAAC;AAEF,iEAAiE;AACjE,MAAM,MAAM,cAAc,GAAG;IAC3B,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAcF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,KAAK,EAAE,cAAc,GACpB,eAAe,CAmDjB;AAWD,oEAAoE;AACpE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,UAAU,EAAE,kBAAkB,EAAE,CAAC;CAClC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,cAAc,EAAE,SAAS,EACzB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,UAAU,GACf,iBAAiB,CAsBnB"}
@@ -45,7 +45,7 @@ export declare const FactSchema: z.ZodObject<{
45
45
  predicate: z.ZodString;
46
46
  object: z.ZodString;
47
47
  category: z.ZodDefault<z.ZodNullable<z.ZodString>>;
48
- }, z.core.$strip>;
48
+ }, z.core.$strict>;
49
49
  /** Preferencia del usuario/proyecto en una categoría. */
50
50
  export declare const PreferenceSchema: z.ZodObject<{
51
51
  id: z.ZodString;
@@ -63,7 +63,7 @@ export declare const PreferenceSchema: z.ZodObject<{
63
63
  context: z.ZodDefault<z.ZodNullable<z.ZodString>>;
64
64
  lastAccessedAt: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
65
65
  accessCount: z.ZodDefault<z.ZodNumber>;
66
- }, z.core.$strip>;
66
+ }, z.core.$strict>;
67
67
  /** Entidad canónica (persona/objeto/lugar/evento/organización). */
68
68
  export declare const EntitySchema: z.ZodObject<{
69
69
  id: z.ZodString;
@@ -79,7 +79,37 @@ export declare const EntitySchema: z.ZodObject<{
79
79
  canonicalName: z.ZodString;
80
80
  type: z.ZodString;
81
81
  aliases: z.ZodDefault<z.ZodArray<z.ZodString>>;
82
- }, z.core.$strip>;
82
+ }, z.core.$strict>;
83
+ /**
84
+ * First-class typed relation edge between two entity endpoints (W5). A relation
85
+ * is the edge analogue of a `fact`: `from`/`to`/`predicate` are structural
86
+ * identifiers (entity canonicalNames + a typed label) that survive ADR-5
87
+ * redaction exactly like a fact's `subject`/`predicate`, while the optional
88
+ * free-text `annotation` is the only value redacted when `storeContent=false`.
89
+ * No raw prompt text is ever stored — the transcript only becomes `sourceHash`.
90
+ *
91
+ * decision/component are entity `type` values (see `EntitySchema.type`), not new
92
+ * memory kinds, so the graph is a set of entities connected by these edges. The
93
+ * relation inherits the full bitemporal + provenance base, so an edge can be
94
+ * invalidated (consolidation tombstone) or superseded (a newer edge in the same
95
+ * `{from, predicate, owner}` slot) just like a fact.
96
+ */
97
+ export declare const RelationSchema: z.ZodObject<{
98
+ id: z.ZodString;
99
+ ownerKey: z.ZodString;
100
+ confidence: z.ZodNumber;
101
+ validFrom: z.ZodNumber;
102
+ validUntil: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
103
+ createdAt: z.ZodNumber;
104
+ invalidatedAt: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
105
+ sourceHash: z.ZodString;
106
+ supersededBy: z.ZodDefault<z.ZodNullable<z.ZodString>>;
107
+ kind: z.ZodLiteral<"relation">;
108
+ from: z.ZodString;
109
+ to: z.ZodString;
110
+ predicate: z.ZodString;
111
+ annotation: z.ZodDefault<z.ZodNullable<z.ZodString>>;
112
+ }, z.core.$strict>;
83
113
  export declare const MemoryRecordSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
84
114
  id: z.ZodString;
85
115
  ownerKey: z.ZodString;
@@ -95,7 +125,7 @@ export declare const MemoryRecordSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
95
125
  predicate: z.ZodString;
96
126
  object: z.ZodString;
97
127
  category: z.ZodDefault<z.ZodNullable<z.ZodString>>;
98
- }, z.core.$strip>, z.ZodObject<{
128
+ }, z.core.$strict>, z.ZodObject<{
99
129
  id: z.ZodString;
100
130
  ownerKey: z.ZodString;
101
131
  confidence: z.ZodNumber;
@@ -111,7 +141,7 @@ export declare const MemoryRecordSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
111
141
  context: z.ZodDefault<z.ZodNullable<z.ZodString>>;
112
142
  lastAccessedAt: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
113
143
  accessCount: z.ZodDefault<z.ZodNumber>;
114
- }, z.core.$strip>, z.ZodObject<{
144
+ }, z.core.$strict>, z.ZodObject<{
115
145
  id: z.ZodString;
116
146
  ownerKey: z.ZodString;
117
147
  confidence: z.ZodNumber;
@@ -125,7 +155,22 @@ export declare const MemoryRecordSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
125
155
  canonicalName: z.ZodString;
126
156
  type: z.ZodString;
127
157
  aliases: z.ZodDefault<z.ZodArray<z.ZodString>>;
128
- }, z.core.$strip>], "kind">;
158
+ }, z.core.$strict>, z.ZodObject<{
159
+ id: z.ZodString;
160
+ ownerKey: z.ZodString;
161
+ confidence: z.ZodNumber;
162
+ validFrom: z.ZodNumber;
163
+ validUntil: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
164
+ createdAt: z.ZodNumber;
165
+ invalidatedAt: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
166
+ sourceHash: z.ZodString;
167
+ supersededBy: z.ZodDefault<z.ZodNullable<z.ZodString>>;
168
+ kind: z.ZodLiteral<"relation">;
169
+ from: z.ZodString;
170
+ to: z.ZodString;
171
+ predicate: z.ZodString;
172
+ annotation: z.ZodDefault<z.ZodNullable<z.ZodString>>;
173
+ }, z.core.$strict>], "kind">;
129
174
  /** Consulta de recall (dueño-scoped, temporal y semántica). */
130
175
  export declare const RecallQuerySchema: z.ZodObject<{
131
176
  ownerKey: z.ZodString;
@@ -138,11 +183,12 @@ export declare const RecallQuerySchema: z.ZodObject<{
138
183
  limit: z.ZodDefault<z.ZodNumber>;
139
184
  minSimilarity: z.ZodDefault<z.ZodNumber>;
140
185
  includeShared: z.ZodDefault<z.ZodBoolean>;
141
- }, z.core.$strip>;
186
+ }, z.core.$strict>;
142
187
  export type MemoryKind = z.infer<typeof MemoryKindSchema>;
143
188
  export type Fact = z.infer<typeof FactSchema>;
144
189
  export type Preference = z.infer<typeof PreferenceSchema>;
145
190
  export type Entity = z.infer<typeof EntitySchema>;
191
+ export type Relation = z.infer<typeof RelationSchema>;
146
192
  export type MemoryRecord = z.infer<typeof MemoryRecordSchema>;
147
193
  export type RecallQuery = z.infer<typeof RecallQuerySchema>;
148
194
  /** Vector de embedding (dimensiones configurables). */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/memory/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,qBAAqB,EAAG,CAAU,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAG,GAAY,CAAC;AAE7C,eAAO,MAAM,cAAc,aAAoB,CAAC;AAEhD,eAAO,MAAM,gBAAgB;;;;EAA2C,CAAC;AAiBzE,6EAA6E;AAC7E,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;iBAMrB,CAAC;AAEH,yDAAyD;AACzD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;iBAO3B,CAAC;AAEH,mEAAmE;AACnE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;iBAKvB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAI7B,CAAC;AAEH,+DAA+D;AAC/D,eAAO,MAAM,iBAAiB;;;;;;;;;;;iBAQ5B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,uDAAuD;AACvD,MAAM,MAAM,SAAS,GAAG,SAAS,MAAM,EAAE,CAAC;AAE1C,yDAAyD;AACzD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/memory/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,qBAAqB,EAAG,CAAU,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAG,GAAY,CAAC;AAE7C,eAAO,MAAM,cAAc,aAAoB,CAAC;AAEhD,eAAO,MAAM,gBAAgB;;;;EAA2C,CAAC;AAmBzE,6EAA6E;AAC7E,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;kBAMrB,CAAC;AAEH,yDAAyD;AACzD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;kBAO3B,CAAC;AAEH,mEAAmE;AACnE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;kBAKvB,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;kBAMzB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAK7B,CAAC;AAEH,+DAA+D;AAC/D,eAAO,MAAM,iBAAiB;;;;;;;;;;;kBAUnB,CAAC;AAEZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,uDAAuD;AACvD,MAAM,MAAM,SAAS,GAAG,SAAS,MAAM,EAAE,CAAC;AAE1C,yDAAyD;AACzD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * User-facing message catalog for the `openteam` CLI command surface.
3
+ *
4
+ * Part of the `src/messages/**` boundary (see `./index.ts` for the full design
5
+ * decision). This file holds the English strings rendered by individual
6
+ * `src/commands/*` handlers, grouped one exported object per command, so a
7
+ * future translation edits one place instead of grepping call sites.
8
+ *
9
+ * Pure: data plus deterministic string builders only. No I/O, filesystem,
10
+ * network, clock, randomness, env vars, or logging. Static text is a typed
11
+ * constant; parameterised text is a small pure function returning `string`.
12
+ * Layout concerns (column widths, `padEnd` alignment) stay in the command
13
+ * handlers — only the human-readable text lives here.
14
+ */
15
+ /** Messages for `openteam clear-cache`. */
16
+ export declare const clearCacheMessages: {
17
+ readonly header: "openteam clear-cache — frozen plugin cache entries:";
18
+ readonly columns: {
19
+ readonly specDir: "spec dir";
20
+ readonly pinned: "spec-pinned";
21
+ readonly installed: "installed";
22
+ readonly mtime: "mtime";
23
+ };
24
+ readonly reparseSkipSuffix: " [SKIP — reparse point]";
25
+ readonly deletedLabel: "deleted.";
26
+ readonly lockedLabel: (message: string) => string;
27
+ readonly pathOutsideWarning: (specDir: string, absolutePath: string) => string;
28
+ readonly processed: (count: number) => string;
29
+ readonly found: (count: number) => string;
30
+ };
31
+ /** Messages for `openteam baseline`. */
32
+ export declare const baselineMessages: {
33
+ readonly effectiveAuto: "cheapest-capable (auto)";
34
+ readonly pinnedSuffix: (ref: string) => string;
35
+ readonly summary: (params: {
36
+ mode: string;
37
+ pinned: string;
38
+ hardDefault: string;
39
+ effective: string;
40
+ }) => string[];
41
+ readonly invalidModel: (input: string) => string;
42
+ readonly pinnedTo: (ref: string) => string;
43
+ readonly autoMode: "Baseline set to auto mode (cheapest-capable).";
44
+ };
45
+ /** Messages for `openteam local`. */
46
+ export declare const localMessages: {
47
+ readonly noRuntimes: "none";
48
+ readonly modeFrontierOnly: "frontier-only (frontierOnly)";
49
+ readonly modeLocalFirst: "local-first";
50
+ readonly summary: (params: {
51
+ mode: string;
52
+ frontierOnly: boolean;
53
+ privacy: string;
54
+ runtimes: string;
55
+ }) => string[];
56
+ readonly frontierOnlyNoChange: "No change: already in frontier-only mode.";
57
+ readonly privacyAdjustedNote: " Privacy adjusted to 'consentBeforeFrontier' (forceLocalOnSensitive requires a local runtime).";
58
+ readonly frontierOnlyEnabled: "Frontier-only mode enabled (frontierOnly=true).";
59
+ readonly localFirstNoChange: "No change: local-first routing is already active.";
60
+ readonly localFirstReEnabled: "Local-first routing re-enabled (frontierOnly=false). Make sure a local runtime is reachable.";
61
+ };
62
+ /** Messages for the frontier catalog rendered during `init`. */
63
+ export declare const frontierCatalogMessages: {
64
+ readonly free: "free";
65
+ readonly costPerMillion: (inputUSD: number, outputUSD: number) => string;
66
+ };
67
+ /** Messages for `openteam migrate`. */
68
+ export declare const migrateMessages: {
69
+ readonly header: "openteam migrate:";
70
+ readonly nothingToMigrate: " nothing to migrate — the P15b layout is already in place.";
71
+ readonly counts: (params: {
72
+ moved: number;
73
+ deduped: number;
74
+ conflicts: number;
75
+ }) => string[];
76
+ readonly relocatedHeader: " relocated:";
77
+ readonly relocatedEntry: (from: string, to: string, deduped: boolean) => string;
78
+ readonly conflictsHeader: " ⚠ left in place (destination exists with different content — no data lost):";
79
+ readonly conflictEntry: (from: string, to: string) => string;
80
+ readonly manualWorktreesHeader: " ⚠ legacy git worktree(s) need a manual move (run `git worktree move`):";
81
+ readonly manualWorktreeEntry: (label: string, from: string, to: string) => string;
82
+ readonly success: " ✓ machine-local runtime output relocated under .opencode/openteam-local/.";
83
+ };
84
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/messages/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,2CAA2C;AAC3C,eAAO,MAAM,kBAAkB;aAC7B,MAAM,EAAE,qDAAqD;aAC7D,OAAO;iBACL,OAAO,EAAE,UAAU;iBACnB,MAAM,EAAE,aAAa;iBACrB,SAAS,EAAE,WAAW;iBACtB,KAAK,EAAE,OAAO;;aAEhB,iBAAiB,EAAE,0BAA0B;aAC7C,YAAY,EAAE,UAAU;aACxB,WAAW,YAAY,MAAM,KAAG,MAAM;aACtC,kBAAkB,YAAY,MAAM,gBAAgB,MAAM,KAAG,MAAM;aAEnE,SAAS,UAAU,MAAM,KAAG,MAAM;aAClC,KAAK,UAAU,MAAM,KAAG,MAAM;CAEtB,CAAC;AAEX,wCAAwC;AACxC,eAAO,MAAM,gBAAgB;aAC3B,aAAa,EAAE,yBAAyB;aACxC,YAAY,QAAQ,MAAM,KAAG,MAAM;aACnC,OAAO,WAAW;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,KAAG,MAAM,EAAE;aAOZ,YAAY,UAAU,MAAM,KAAG,MAAM;aAErC,QAAQ,QAAQ,MAAM,KAAG,MAAM;aAC/B,QAAQ,EAAE,+CAA+C;CACjD,CAAC;AAEX,qCAAqC;AACrC,eAAO,MAAM,aAAa;aACxB,UAAU,EAAE,MAAM;aAClB,gBAAgB,EAAE,8BAA8B;aAChD,cAAc,EAAE,aAAa;aAC7B,OAAO,WAAW;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAG,MAAM,EAAE;aAOZ,oBAAoB,EAAE,2CAA2C;aACjE,mBAAmB,EACjB,gGAAgG;aAClG,mBAAmB,EAAE,iDAAiD;aACtE,kBAAkB,EAAE,mDAAmD;aACvE,mBAAmB,EACjB,8FAA8F;CACxF,CAAC;AAEX,gEAAgE;AAChE,eAAO,MAAM,uBAAuB;aAClC,IAAI,EAAE,MAAM;aACZ,cAAc,aAAa,MAAM,aAAa,MAAM,KAAG,MAAM;CAErD,CAAC;AAEX,uCAAuC;AACvC,eAAO,MAAM,eAAe;aAC1B,MAAM,EAAE,mBAAmB;aAC3B,gBAAgB,EACd,6DAA6D;aAC/D,MAAM,WAAW;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,KAAG,MAAM,EAAE;aAKZ,eAAe,EAAE,cAAc;aAC/B,cAAc,SAAS,MAAM,MAAM,MAAM,WAAW,OAAO,KAAG,MAAM;aAEpE,eAAe,EACb,+EAA+E;aACjF,aAAa,SAAS,MAAM,MAAM,MAAM,KAAG,MAAM;aACjD,qBAAqB,EACnB,0EAA0E;aAC5E,mBAAmB,UAAU,MAAM,QAAQ,MAAM,MAAM,MAAM,KAAG,MAAM;aAEtE,OAAO,EACL,6EAA6E;CACvE,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * `src/messages/**` — the openteam user-facing message catalog.
3
+ *
4
+ * ## What this boundary is
5
+ * A **pure**, **single-locale (English)** catalog of every string a user reads:
6
+ * CLI stdout/stderr text, section headings, warnings, hints, wizard prompts and
7
+ * labels, and human-readable error text. Static text is an exported typed
8
+ * constant; parameterised text is a small exported pure function returning
9
+ * `string`. It is data + pure string functions only.
10
+ *
11
+ * ## Purity contract
12
+ * Like `src/router/**`, this boundary has **no I/O, filesystem, network, clock,
13
+ * randomness, env vars, or logging**. Handlers keep their layout logic (column
14
+ * widths, `padEnd` alignment, `\n` joins); the catalog owns only the text. This
15
+ * keeps the catalog deterministic and trivially testable, and lets the coverage
16
+ * gate hold it to 100% the same way it holds `src/router/**`.
17
+ *
18
+ * ## Why a catalog (the design decision)
19
+ * Centralising user-facing text is what makes the *next* translation cheap: one
20
+ * place to swap, instead of grepping ~1000 literals across the tree. Extraction
21
+ * is deliberately **opportunistic and incremental** (see issue #145), never a
22
+ * big-bang sweep — a mechanical 100+ file diff hides accidental code changes and
23
+ * cannot be reviewed. Files are migrated a safe slice at a time, preserving
24
+ * byte-identical output.
25
+ *
26
+ * ## Single-locale on purpose — no i18n runtime
27
+ * There is **exactly one locale (English) today**. The shape (typed constants +
28
+ * pure functions behind a stable export surface) means a second locale *could*
29
+ * be added later by swapping the catalog implementation without touching call
30
+ * sites. But we deliberately **do not** build an i18n runtime, locale loader,
31
+ * `Intl` plumbing, or any non-English resources now: that would be unused,
32
+ * speculative complexity. Add the machinery only when a real second locale
33
+ * lands.
34
+ *
35
+ * ## What counts as a "message"
36
+ * In the catalog: CLI stdout/stderr text, section headings, warnings, hints,
37
+ * human-readable error text, wizard prompts and labels.
38
+ *
39
+ * Deliberately **not** in the catalog (left where they are): object keys, ids,
40
+ * enum/discriminant values, file paths, URLs, protocol/JSON field names, SQL,
41
+ * CSS/HTML attribute names, provider/model identifiers, and anything only ever
42
+ * compared programmatically. Over-extraction buries real text in noise and is as
43
+ * harmful as under-extraction, so the boundary is kept strict.
44
+ */
45
+ export * from "./commands";
46
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,cAAc,YAAY,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * `src/opencodeArtifacts/**` — generated `.opencode/**` artifact content.
3
+ *
4
+ * This boundary holds the builders and path constants for the files that
5
+ * `openteam setup` writes into a project's `.opencode/**` tree:
6
+ * - `orchestratorAgent.ts` → `.opencode/agent/openteam.md` (the orchestrator
7
+ * agent's system-prompt / instructions Markdown), and
8
+ * - `slashCommand.ts` → `.opencode/command/*.md` (slash-command definitions).
9
+ *
10
+ * ## Why this is its own boundary (read before moving anything here)
11
+ * The string literals in these modules are **model-/opencode-facing prose** — an
12
+ * LLM system prompt and opencode command definitions — NOT user-facing CLI
13
+ * output. They are therefore deliberately:
14
+ *
15
+ * 1. **NOT part of the `src/messages/**` user-message catalog.** Extracting this
16
+ * prose into the catalog and translating it as if it were UI text would
17
+ * corrupt the convention: an LLM system prompt is content, not a translatable
18
+ * interface string.
19
+ * 2. **Outside the `messages-catalog-ratchet` gate's scope BY CONSTRUCTION.** That
20
+ * gate scopes `src/commands/**` + `src/console/**`. These templates once lived
21
+ * under `src/commands/` and were kept green only by a per-file `ARTIFACT`
22
+ * allowlist — an unguarded laundering channel that would have let a real
23
+ * CLI-message file be silenced just by listing it. Moving them into their own
24
+ * boundary removes them from the gated scope structurally, so the gate is now
25
+ * a clean two-list ratchet (MIGRATED + LEGACY) with no allowlist to append to.
26
+ *
27
+ * These files are not CLI commands. They only ever emit `.opencode/**` file
28
+ * content and produce no CLI stdout/stderr of their own. New generated-artifact
29
+ * builders belong here; a file that prints to the user does not.
30
+ */
31
+ export { buildOrchestratorAgent, OPENTEAM_ROSTER_PATH, ORCHESTRATOR_AGENT_PATH, } from "./orchestratorAgent";
32
+ export { buildOpenteamCommand, buildOpenteamCommands, OPENTEAM_COMMAND_DIR, type SlashCommandFile, } from "./slashCommand";
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/opencodeArtifacts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { FrontierChoice } from "../commands/setup";
2
+ /**
3
+ * Relative path (from cwd) to the primary agent that `openteam setup` generates. The
4
+ * filename (`openteam`) is the agent name in opencode.
5
+ */
6
+ export declare const ORCHESTRATOR_AGENT_PATH = ".opencode/agent/openteam.md";
7
+ /**
8
+ * Path to the casting registry (universe + name→role→model table). Lives
9
+ * **outside** `.opencode/agent/` intentionally: opencode loads as an agent every
10
+ * `.md` in that folder, so a stray roster markdown file inside would appear as a
11
+ * phantom agent in the Tab-switcher. It is portable team-state (P15b), so it lives
12
+ * in the git-tracked `.opencode/openteam/` directory alongside the decisions log.
13
+ */
14
+ export declare const OPENTEAM_ROSTER_PATH = ".opencode/openteam/roster.md";
15
+ /**
16
+ * Builds the Markdown for the `openteam` primary agent (multi-agent orchestrator):
17
+ * an orchestrator that appears in the Tab-switcher, chooses a thematic universe,
18
+ * casts the team, and creates subagents on demand (including the standard roles
19
+ * scribe, ralph and guardian). Pure: no I/O.
20
+ *
21
+ * `frontier` sets the orchestrator's `model` (baseline cheapest-capable), a
22
+ * real and resolvable `provider/model`; the openteam plugin continues routing per
23
+ * message, so subagents it creates can inherit the default and be
24
+ * routed local-first.
25
+ */
26
+ export declare function buildOrchestratorAgent(frontier: FrontierChoice, options?: {
27
+ yolo?: boolean;
28
+ }): string;
29
+ //# sourceMappingURL=orchestratorAgent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestratorAgent.d.ts","sourceRoot":"","sources":["../../src/opencodeArtifacts/orchestratorAgent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,iCAAiC,CAAC;AAInE;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,MAAM,CAiOR"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Directory (relative to cwd) where opencode discovers the project's slash commands.
3
+ * opencode scans `{command,commands}/**\/*.md` (singular and plural) in
4
+ * each `.opencode/` in the tree and in `~/.config/opencode/`; the filename
5
+ * is the command name (verified in the opencode v1.17.8 source:
6
+ * `packages/opencode/src/config/command.ts`).
7
+ */
8
+ export declare const OPENTEAM_COMMAND_DIR = ".opencode/command";
9
+ export type SlashCommandFile = {
10
+ /** Command name (file `<name>.md`), invocable as `/<name>`. */
11
+ name: string;
12
+ path: string;
13
+ /** Markdown content (frontmatter + template). */
14
+ contents: string;
15
+ };
16
+ /**
17
+ * Builds the Markdown for the `/openteam` slash command (catch-all). Teaches the
18
+ * agent to map user arguments to a single `openteam` tool call. Must stay
19
+ * aligned with the actions of `commandArgv` in `src/plugin/commandTool.ts`.
20
+ * Pure/deterministic: no I/O.
21
+ */
22
+ export declare function buildOpenteamCommand(): string;
23
+ /**
24
+ * All slash commands that `openteam setup` writes to
25
+ * `.opencode/command/`. In addition to the catch-all `/openteam`, generates a flat
26
+ * command per action (`/openteam-doctor`, `/openteam-agents`, …) so that all
27
+ * appear and autocomplete in opencode's command palette when typing `/openteam`.
28
+ * Pure/deterministic: no I/O.
29
+ */
30
+ export declare function buildOpenteamCommands(): SlashCommandFile[];
31
+ //# sourceMappingURL=slashCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slashCommand.d.ts","sourceRoot":"","sources":["../../src/opencodeArtifacts/slashCommand.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAkBF;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAoB7C;AAqBD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,gBAAgB,EAAE,CAmD1D"}