@openrig/cli 0.3.4 → 0.4.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 (250) hide show
  1. package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +34 -0
  2. package/daemon/dist/adapters/codex-resume.d.ts +2 -1
  3. package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
  4. package/daemon/dist/adapters/codex-resume.js +18 -6
  5. package/daemon/dist/adapters/codex-resume.js.map +1 -1
  6. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +5 -1
  7. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  8. package/daemon/dist/adapters/codex-runtime-adapter.js +58 -5
  9. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  10. package/daemon/dist/adapters/tmux.d.ts +28 -14
  11. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  12. package/daemon/dist/adapters/tmux.js +65 -30
  13. package/daemon/dist/adapters/tmux.js.map +1 -1
  14. package/daemon/dist/db/migrations/043_resume_provenance.d.ts +3 -0
  15. package/daemon/dist/db/migrations/043_resume_provenance.d.ts.map +1 -0
  16. package/daemon/dist/db/migrations/043_resume_provenance.js +5 -0
  17. package/daemon/dist/db/migrations/043_resume_provenance.js.map +1 -0
  18. package/daemon/dist/domain/agent-activity-store.d.ts +11 -1
  19. package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -1
  20. package/daemon/dist/domain/agent-activity-store.js +11 -2
  21. package/daemon/dist/domain/agent-activity-store.js.map +1 -1
  22. package/daemon/dist/domain/native-resume-probe.d.ts +2 -1
  23. package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
  24. package/daemon/dist/domain/native-resume-probe.js +21 -2
  25. package/daemon/dist/domain/native-resume-probe.js.map +1 -1
  26. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  27. package/daemon/dist/domain/node-inventory.js +70 -46
  28. package/daemon/dist/domain/node-inventory.js.map +1 -1
  29. package/daemon/dist/domain/node-launcher.d.ts +7 -7
  30. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  31. package/daemon/dist/domain/node-launcher.js +0 -22
  32. package/daemon/dist/domain/node-launcher.js.map +1 -1
  33. package/daemon/dist/domain/profile-resolver.d.ts +4 -5
  34. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  35. package/daemon/dist/domain/profile-resolver.js.map +1 -1
  36. package/daemon/dist/domain/queue-repository.d.ts +4 -0
  37. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  38. package/daemon/dist/domain/queue-repository.js +21 -2
  39. package/daemon/dist/domain/queue-repository.js.map +1 -1
  40. package/daemon/dist/domain/restore-check-service.d.ts +14 -0
  41. package/daemon/dist/domain/restore-check-service.d.ts.map +1 -1
  42. package/daemon/dist/domain/restore-check-service.js +78 -8
  43. package/daemon/dist/domain/restore-check-service.js.map +1 -1
  44. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  45. package/daemon/dist/domain/restore-orchestrator.js +3 -3
  46. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  47. package/daemon/dist/domain/resume-metadata-refresher.js +1 -1
  48. package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  49. package/daemon/dist/domain/resume-token-validation.d.ts +17 -0
  50. package/daemon/dist/domain/resume-token-validation.d.ts.map +1 -0
  51. package/daemon/dist/domain/resume-token-validation.js +46 -0
  52. package/daemon/dist/domain/resume-token-validation.js.map +1 -0
  53. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  54. package/daemon/dist/domain/rigspec-instantiator.js +3 -6
  55. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  56. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  57. package/daemon/dist/domain/runtime-adapter.js +1 -0
  58. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  59. package/daemon/dist/domain/scope/dot-id.d.ts +43 -0
  60. package/daemon/dist/domain/scope/dot-id.d.ts.map +1 -0
  61. package/daemon/dist/domain/scope/dot-id.js +165 -0
  62. package/daemon/dist/domain/scope/dot-id.js.map +1 -0
  63. package/daemon/dist/domain/scope/scope-audit.d.ts +26 -0
  64. package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -0
  65. package/daemon/dist/domain/scope/scope-audit.js +96 -0
  66. package/daemon/dist/domain/scope/scope-audit.js.map +1 -0
  67. package/daemon/dist/domain/scope/types.d.ts +61 -0
  68. package/daemon/dist/domain/scope/types.d.ts.map +1 -0
  69. package/daemon/dist/domain/scope/types.js +38 -0
  70. package/daemon/dist/domain/scope/types.js.map +1 -0
  71. package/daemon/dist/domain/seat-attention-reconciler.d.ts +12 -0
  72. package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
  73. package/daemon/dist/domain/seat-attention-reconciler.js +116 -88
  74. package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
  75. package/daemon/dist/domain/session-registry.d.ts +15 -1
  76. package/daemon/dist/domain/session-registry.d.ts.map +1 -1
  77. package/daemon/dist/domain/session-registry.js +46 -4
  78. package/daemon/dist/domain/session-registry.js.map +1 -1
  79. package/daemon/dist/domain/skill-audit.d.ts +47 -0
  80. package/daemon/dist/domain/skill-audit.d.ts.map +1 -0
  81. package/daemon/dist/domain/skill-audit.js +218 -0
  82. package/daemon/dist/domain/skill-audit.js.map +1 -0
  83. package/daemon/dist/domain/skill-discovery.d.ts +15 -0
  84. package/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
  85. package/daemon/dist/domain/skill-discovery.js +70 -0
  86. package/daemon/dist/domain/skill-discovery.js.map +1 -1
  87. package/daemon/dist/domain/skill-mirror-drift.d.ts +10 -0
  88. package/daemon/dist/domain/skill-mirror-drift.d.ts.map +1 -0
  89. package/daemon/dist/domain/skill-mirror-drift.js +24 -0
  90. package/daemon/dist/domain/skill-mirror-drift.js.map +1 -0
  91. package/daemon/dist/domain/startup-orchestrator.js +1 -1
  92. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  93. package/daemon/dist/domain/types.d.ts +38 -14
  94. package/daemon/dist/domain/types.d.ts.map +1 -1
  95. package/daemon/dist/domain/types.js.map +1 -1
  96. package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  97. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  98. package/daemon/dist/domain/user-settings/settings-store.js +4 -0
  99. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  100. package/daemon/dist/domain/whoami-service.d.ts +1 -0
  101. package/daemon/dist/domain/whoami-service.d.ts.map +1 -1
  102. package/daemon/dist/domain/whoami-service.js +8 -4
  103. package/daemon/dist/domain/whoami-service.js.map +1 -1
  104. package/daemon/dist/index.d.ts.map +1 -1
  105. package/daemon/dist/index.js +25 -3
  106. package/daemon/dist/index.js.map +1 -1
  107. package/daemon/dist/routes/activity.d.ts.map +1 -1
  108. package/daemon/dist/routes/activity.js +29 -0
  109. package/daemon/dist/routes/activity.js.map +1 -1
  110. package/daemon/dist/routes/queue.d.ts.map +1 -1
  111. package/daemon/dist/routes/queue.js +8 -0
  112. package/daemon/dist/routes/queue.js.map +1 -1
  113. package/daemon/dist/routes/restore-check.js +33 -2
  114. package/daemon/dist/routes/restore-check.js.map +1 -1
  115. package/daemon/dist/routes/scope-audit.d.ts +3 -0
  116. package/daemon/dist/routes/scope-audit.d.ts.map +1 -0
  117. package/daemon/dist/routes/scope-audit.js +148 -0
  118. package/daemon/dist/routes/scope-audit.js.map +1 -0
  119. package/daemon/dist/routes/sessions.d.ts.map +1 -1
  120. package/daemon/dist/routes/sessions.js +67 -3
  121. package/daemon/dist/routes/sessions.js.map +1 -1
  122. package/daemon/dist/routes/skills.d.ts.map +1 -1
  123. package/daemon/dist/routes/skills.js +43 -0
  124. package/daemon/dist/routes/skills.js.map +1 -1
  125. package/daemon/dist/routes/terminal-ws.d.ts +7 -0
  126. package/daemon/dist/routes/terminal-ws.d.ts.map +1 -0
  127. package/daemon/dist/routes/terminal-ws.js +132 -0
  128. package/daemon/dist/routes/terminal-ws.js.map +1 -0
  129. package/daemon/dist/routes/transport.d.ts +3 -1
  130. package/daemon/dist/routes/transport.d.ts.map +1 -1
  131. package/daemon/dist/routes/transport.js +4 -1
  132. package/daemon/dist/routes/transport.js.map +1 -1
  133. package/daemon/dist/routes/whoami.d.ts.map +1 -1
  134. package/daemon/dist/routes/whoami.js +5 -0
  135. package/daemon/dist/routes/whoami.js.map +1 -1
  136. package/daemon/dist/server.d.ts +6 -0
  137. package/daemon/dist/server.d.ts.map +1 -1
  138. package/daemon/dist/server.js +29 -2
  139. package/daemon/dist/server.js.map +1 -1
  140. package/daemon/dist/startup.d.ts +8 -0
  141. package/daemon/dist/startup.d.ts.map +1 -1
  142. package/daemon/dist/startup.js +27 -8
  143. package/daemon/dist/startup.js.map +1 -1
  144. package/daemon/dist/terminal/TerminalSessionBroker.d.ts +173 -0
  145. package/daemon/dist/terminal/TerminalSessionBroker.d.ts.map +1 -0
  146. package/daemon/dist/terminal/TerminalSessionBroker.js +570 -0
  147. package/daemon/dist/terminal/TerminalSessionBroker.js.map +1 -0
  148. package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +131 -2
  149. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +29 -0
  150. package/dist/client.d.ts +1 -0
  151. package/dist/client.d.ts.map +1 -1
  152. package/dist/client.js +23 -0
  153. package/dist/client.js.map +1 -1
  154. package/dist/commands/capture.d.ts.map +1 -1
  155. package/dist/commands/capture.js +6 -6
  156. package/dist/commands/capture.js.map +1 -1
  157. package/dist/commands/context.d.ts.map +1 -1
  158. package/dist/commands/context.js +41 -5
  159. package/dist/commands/context.js.map +1 -1
  160. package/dist/commands/down.d.ts.map +1 -1
  161. package/dist/commands/down.js +27 -0
  162. package/dist/commands/down.js.map +1 -1
  163. package/dist/commands/launch.d.ts.map +1 -1
  164. package/dist/commands/launch.js +34 -0
  165. package/dist/commands/launch.js.map +1 -1
  166. package/dist/commands/ps.d.ts.map +1 -1
  167. package/dist/commands/ps.js +361 -53
  168. package/dist/commands/ps.js.map +1 -1
  169. package/dist/commands/queue.d.ts.map +1 -1
  170. package/dist/commands/queue.js +60 -3
  171. package/dist/commands/queue.js.map +1 -1
  172. package/dist/commands/restore-check.d.ts.map +1 -1
  173. package/dist/commands/restore-check.js +80 -2
  174. package/dist/commands/restore-check.js.map +1 -1
  175. package/dist/commands/scope.d.ts.map +1 -1
  176. package/dist/commands/scope.js +688 -4
  177. package/dist/commands/scope.js.map +1 -1
  178. package/dist/commands/seat.d.ts +3 -1
  179. package/dist/commands/seat.d.ts.map +1 -1
  180. package/dist/commands/seat.js +61 -1
  181. package/dist/commands/seat.js.map +1 -1
  182. package/dist/commands/send.d.ts.map +1 -1
  183. package/dist/commands/send.js +6 -6
  184. package/dist/commands/send.js.map +1 -1
  185. package/dist/commands/skill.d.ts +4 -0
  186. package/dist/commands/skill.d.ts.map +1 -0
  187. package/dist/commands/skill.js +77 -0
  188. package/dist/commands/skill.js.map +1 -0
  189. package/dist/commands/up.d.ts.map +1 -1
  190. package/dist/commands/up.js +27 -0
  191. package/dist/commands/up.js.map +1 -1
  192. package/dist/commands/whoami.d.ts.map +1 -1
  193. package/dist/commands/whoami.js +208 -20
  194. package/dist/commands/whoami.js.map +1 -1
  195. package/dist/cross-host-executor.d.ts +1 -1
  196. package/dist/cross-host-executor.d.ts.map +1 -1
  197. package/dist/cross-host-executor.js +3 -2
  198. package/dist/cross-host-executor.js.map +1 -1
  199. package/dist/cross-host-types.d.ts +2 -0
  200. package/dist/cross-host-types.d.ts.map +1 -0
  201. package/dist/cross-host-types.js +2 -0
  202. package/dist/cross-host-types.js.map +1 -0
  203. package/dist/host-registry.d.ts +27 -5
  204. package/dist/host-registry.d.ts.map +1 -1
  205. package/dist/host-registry.js +86 -19
  206. package/dist/host-registry.js.map +1 -1
  207. package/dist/index.d.ts +1 -0
  208. package/dist/index.d.ts.map +1 -1
  209. package/dist/index.js +2 -0
  210. package/dist/index.js.map +1 -1
  211. package/dist/lib/scope/progress-edit.d.ts +42 -0
  212. package/dist/lib/scope/progress-edit.d.ts.map +1 -0
  213. package/dist/lib/scope/progress-edit.js +171 -0
  214. package/dist/lib/scope/progress-edit.js.map +1 -0
  215. package/dist/lib/scope/scope-audit.d.ts +26 -0
  216. package/dist/lib/scope/scope-audit.d.ts.map +1 -0
  217. package/dist/lib/scope/scope-audit.js +96 -0
  218. package/dist/lib/scope/scope-audit.js.map +1 -0
  219. package/dist/lib/scope/templates.d.ts +2 -0
  220. package/dist/lib/scope/templates.d.ts.map +1 -1
  221. package/dist/lib/scope/templates.js +8 -0
  222. package/dist/lib/scope/templates.js.map +1 -1
  223. package/dist/lib/scope/trust.d.ts +30 -0
  224. package/dist/lib/scope/trust.d.ts.map +1 -0
  225. package/dist/lib/scope/trust.js +80 -0
  226. package/dist/lib/scope/trust.js.map +1 -0
  227. package/dist/lib/scope/types.d.ts +6 -0
  228. package/dist/lib/scope/types.d.ts.map +1 -1
  229. package/dist/lib/scope/types.js +8 -0
  230. package/dist/lib/scope/types.js.map +1 -1
  231. package/dist/lib/scope-templates/backlog-deprecation.md +1 -0
  232. package/dist/lib/scope-templates/backlog-tech-debt.md +1 -0
  233. package/dist/lib/scope-templates/bug-fix.md +1 -0
  234. package/dist/lib/scope-templates/mission-placeholder.md +1 -0
  235. package/dist/lib/scope-templates/mission-progress.md +12 -0
  236. package/dist/lib/scope-templates/mission-release.md +1 -0
  237. package/dist/lib/scope-templates/placeholder.md +1 -0
  238. package/dist/lib/scope-templates/release-feature.md +1 -0
  239. package/dist/lib/scope-templates/research.md +1 -0
  240. package/dist/lib/scope-templates/slice-progress.md +11 -0
  241. package/dist/remote-host-ops.d.ts +24 -0
  242. package/dist/remote-host-ops.d.ts.map +1 -0
  243. package/dist/remote-host-ops.js +53 -0
  244. package/dist/remote-host-ops.js.map +1 -0
  245. package/package.json +1 -1
  246. package/ui/dist/assets/index-DMI6jeAX.css +32 -0
  247. package/ui/dist/assets/index-FQgCB6mC.js +580 -0
  248. package/ui/dist/index.html +2 -2
  249. package/ui/dist/assets/index-C_Q5FczU.css +0 -1
  250. package/ui/dist/assets/index-De6vv0yO.js +0 -552
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/lib/scope/templates.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA+BzE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAaD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAIrF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAIzF;AAUD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AASD;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAczE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,sBAAsB,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,KAAK,GAAG,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAUzE;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlD"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/lib/scope/templates.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA+BzE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAaD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAIrF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAIzF;AAUD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AASD;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAczE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,sBAAsB,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,KAAK,GAAG,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAUzE;AAED,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAGzE;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGrE;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlD"}
@@ -98,6 +98,14 @@ export function renderMissionNotesTemplate(opts, envValue) {
98
98
  absPath,
99
99
  };
100
100
  }
101
+ export function renderMissionProgressTemplate(missionName) {
102
+ const raw = fs.readFileSync(resolveTemplate("mission-progress.md"), "utf8");
103
+ return raw.replace(/\{\{missionName\}\}/g, missionName);
104
+ }
105
+ export function renderSliceProgressTemplate(sliceName) {
106
+ const raw = fs.readFileSync(resolveTemplate("slice-progress.md"), "utf8");
107
+ return raw.replace(/\{\{sliceName\}\}/g, sliceName);
108
+ }
101
109
  /** Convert a folder-slug to a title-cased display name. */
102
110
  export function titleFromSlug(slug) {
103
111
  return slug
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/lib/scope/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/lib/scope/templates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /** Mirror of skill-audit.ts:34 — keep in sync if that window changes. */
2
+ export declare const FRESHNESS_WINDOW_DAYS = 90;
3
+ export type VerifiedTrust = "verified" | "stale_verified" | "bare_verified" | "missing_verified" | "unverified_provenance";
4
+ export interface VerifiedTrustResult {
5
+ status: VerifiedTrust;
6
+ date?: string;
7
+ source?: string;
8
+ }
9
+ /** Classify a `verified:` frontmatter value. Mirrors skill-audit checkStaleness. */
10
+ export declare function deriveVerifiedTrust(verified: unknown, now?: Date): VerifiedTrustResult;
11
+ export interface EffectiveStageResult {
12
+ /** The stage as written in frontmatter (echoed, may be empty). */
13
+ declaredStage: string;
14
+ /** The stage to actually trust right now. */
15
+ effectiveStage: string;
16
+ /** True when the declared stage was downgraded by a weak `verified`. */
17
+ downgraded: boolean;
18
+ /** One-line why, or null when not downgraded. */
19
+ reason: string | null;
20
+ }
21
+ /** Derive the effective (trust-adjusted) stage. Only `established`/`canonical`
22
+ * can be downgraded — they are the stages that claim "rely on me", so a weak
23
+ * `verified` knocks them back to `provisional`. wip/provisional/exits are
24
+ * echoed unchanged. */
25
+ export declare function deriveEffectiveStage(stage: unknown, verifiedStatus: VerifiedTrust): EffectiveStageResult;
26
+ /** Convenience: derive full read-time trust from a parsed frontmatter object. */
27
+ export declare function deriveScopeTrust(frontmatter: Record<string, unknown>, now?: Date): {
28
+ verified: VerifiedTrustResult;
29
+ } & EffectiveStageResult;
30
+ //# sourceMappingURL=trust.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust.d.ts","sourceRoot":"","sources":["../../../src/lib/scope/trust.ts"],"names":[],"mappings":"AAgBA,yEAAyE;AACzE,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,MAAM,MAAM,aAAa,GACrB,UAAU,GACV,gBAAgB,GAChB,eAAe,GACf,kBAAkB,GAClB,uBAAuB,CAAC;AAE5B,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAmBD,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAE,IAAiB,GAAG,mBAAmB,CAqBlG;AAED,MAAM,WAAW,oBAAoB;IACnC,kEAAkE;IAClE,aAAa,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,UAAU,EAAE,OAAO,CAAC;IACpB,iDAAiD;IACjD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;wBAGwB;AACxB,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,GAAG,oBAAoB,CAaxG;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,GAAG,GAAE,IAAiB,GACrB;IAAE,QAAQ,EAAE,mBAAmB,CAAA;CAAE,GAAG,oBAAoB,CAI1D"}
@@ -0,0 +1,80 @@
1
+ // OPR.0.4.1.6 — read-time-trust derivation for `rig scope` (FR-5).
2
+ //
3
+ // The scope-and-versioning convention §2 keystone: an `established`/`canonical`
4
+ // artifact whose `verified` is stale, absent, bare, or a not-yet-verified
5
+ // placeholder is treated as `provisional`. Trust is DERIVED at read time from
6
+ // (stage x verified) and NEVER stored (a stored composite re-rots).
7
+ //
8
+ // This is the static-artifact sibling of the daemon's skill-audit. The 90-day
9
+ // freshness window + the bare/stale/verified taxonomy MIRROR
10
+ // `packages/daemon/src/domain/skill-audit.ts:34` (`FRESHNESS_WINDOW_DAYS = 90`)
11
+ // + its `checkStaleness` (:118-126). The daemon module is not importable from
12
+ // the CLI (separate package; the daemon is a spawned app, not a library), so we
13
+ // mirror the constant + taxonomy here rather than cross-import. The convention
14
+ // itself names no age window — 90 days is the load-bearing pin shared with
15
+ // skill-audit.
16
+ /** Mirror of skill-audit.ts:34 — keep in sync if that window changes. */
17
+ export const FRESHNESS_WINDOW_DAYS = 90;
18
+ const VERIFIED_RE = /^(\d{4}-\d{2}-\d{2})\s+against\s+(.+)$/i;
19
+ // Tool-written placeholder provenances. None is a real verification against a
20
+ // named source, so an established/canonical carrying one cannot coast as fresh
21
+ // (the exact "looks fresh while lying" trap §2 closes). `rig scope verified`
22
+ // replaces these with a real source.
23
+ const PLACEHOLDER_PROVENANCE_RE = /\bscaffold \(rig scope create\)|\bbackfill \(rig scope repair\)|\(unverified\)/i;
24
+ function isValidISODate(dateStr) {
25
+ if (!/^\d{4}-\d{2}-\d{2}$/.test(dateStr))
26
+ return false;
27
+ const d = new Date(dateStr);
28
+ if (isNaN(d.getTime()))
29
+ return false;
30
+ // Reject overflowed components (e.g. 2026-13-99 → Date rolls over).
31
+ return d.toISOString().slice(0, 10) === dateStr;
32
+ }
33
+ /** Classify a `verified:` frontmatter value. Mirrors skill-audit checkStaleness. */
34
+ export function deriveVerifiedTrust(verified, now = new Date()) {
35
+ if (typeof verified !== "string" || verified.trim().length === 0) {
36
+ return { status: "missing_verified" };
37
+ }
38
+ const m = VERIFIED_RE.exec(verified.trim());
39
+ if (!m) {
40
+ return { status: "bare_verified" };
41
+ }
42
+ const dateStr = m[1];
43
+ const source = m[2].trim();
44
+ if (!isValidISODate(dateStr)) {
45
+ return { status: "bare_verified", date: dateStr };
46
+ }
47
+ if (PLACEHOLDER_PROVENANCE_RE.test(source)) {
48
+ return { status: "unverified_provenance", date: dateStr, source };
49
+ }
50
+ const daysDiff = (now.getTime() - new Date(dateStr).getTime()) / (1000 * 60 * 60 * 24);
51
+ if (daysDiff > FRESHNESS_WINDOW_DAYS) {
52
+ return { status: "stale_verified", date: dateStr, source };
53
+ }
54
+ return { status: "verified", date: dateStr, source };
55
+ }
56
+ /** Derive the effective (trust-adjusted) stage. Only `established`/`canonical`
57
+ * can be downgraded — they are the stages that claim "rely on me", so a weak
58
+ * `verified` knocks them back to `provisional`. wip/provisional/exits are
59
+ * echoed unchanged. */
60
+ export function deriveEffectiveStage(stage, verifiedStatus) {
61
+ const declaredStage = typeof stage === "string" ? stage : "";
62
+ const claimsReliable = declaredStage === "established" || declaredStage === "canonical";
63
+ const trusted = verifiedStatus === "verified";
64
+ if (claimsReliable && !trusted) {
65
+ return {
66
+ declaredStage,
67
+ effectiveStage: "provisional",
68
+ downgraded: true,
69
+ reason: `${declaredStage} with ${verifiedStatus} verified -> treated as provisional (scope-and-versioning §2)`,
70
+ };
71
+ }
72
+ return { declaredStage, effectiveStage: declaredStage, downgraded: false, reason: null };
73
+ }
74
+ /** Convenience: derive full read-time trust from a parsed frontmatter object. */
75
+ export function deriveScopeTrust(frontmatter, now = new Date()) {
76
+ const verified = deriveVerifiedTrust(frontmatter.verified, now);
77
+ const effective = deriveEffectiveStage(frontmatter.stage, verified.status);
78
+ return { verified, ...effective };
79
+ }
80
+ //# sourceMappingURL=trust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust.js","sourceRoot":"","sources":["../../../src/lib/scope/trust.ts"],"names":[],"mappings":"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"}
@@ -58,4 +58,10 @@ export type MissionTemplateKind = "placeholder" | "release";
58
58
  export declare const MISSION_TEMPLATE_KINDS: ReadonlyArray<MissionTemplateKind>;
59
59
  export type CloseReason = "wontfix" | "deferred" | "superseded" | "stale";
60
60
  export declare const CLOSE_REASONS: ReadonlyArray<CloseReason>;
61
+ /** OPR.0.4.1.6 — the scope-and-versioning §2 epistemic-maturity `stage` enum
62
+ * (4 rungs + 2 exits). The ONLY valid stage values; invented values
63
+ * (shape/shaped/draft) are rejected. `superseded` must name its successor;
64
+ * `retired` means do-not-use. */
65
+ export type Stage = "wip" | "provisional" | "established" | "canonical" | "superseded" | "retired";
66
+ export declare const STAGE_VALUES: ReadonlyArray<Stage>;
61
67
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/scope/types.ts"],"names":[],"mappings":"AAOA;sDACsD;AACtD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAEtE;;oDAEoD;AACpD,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC;4DACwD;IACxD,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,sBAAsB;IACtB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,wBAAwB;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,mEAAmE;AACnE,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBACZ,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAOxE;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;AACjE,MAAM,MAAM,iBAAiB,GACzB,aAAa,GACb,SAAS,GACT,qBAAqB,GACrB,mBAAmB,GACnB,iBAAiB,GACjB,UAAU,CAAC;AACf,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,iBAAiB,CAOjE,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,SAAS,CAAC;AAC5D,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,mBAAmB,CAGrE,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,OAAO,CAAC;AAC1E,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,WAAW,CAKpD,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/scope/types.ts"],"names":[],"mappings":"AAOA;sDACsD;AACtD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAEtE;;oDAEoD;AACpD,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC;4DACwD;IACxD,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,sBAAsB;IACtB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,wBAAwB;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,mEAAmE;AACnE,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBACZ,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAOxE;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;AACjE,MAAM,MAAM,iBAAiB,GACzB,aAAa,GACb,SAAS,GACT,qBAAqB,GACrB,mBAAmB,GACnB,iBAAiB,GACjB,UAAU,CAAC;AACf,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,iBAAiB,CAOjE,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,SAAS,CAAC;AAC5D,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,mBAAmB,CAGrE,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,OAAO,CAAC;AAC1E,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,WAAW,CAKpD,CAAC;AAEF;;;kCAGkC;AAClC,MAAM,MAAM,KAAK,GACb,KAAK,GACL,aAAa,GACb,aAAa,GACb,WAAW,GACX,YAAY,GACZ,SAAS,CAAC;AACd,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,KAAK,CAO7C,CAAC"}
@@ -35,4 +35,12 @@ export const CLOSE_REASONS = [
35
35
  "superseded",
36
36
  "stale",
37
37
  ];
38
+ export const STAGE_VALUES = [
39
+ "wip",
40
+ "provisional",
41
+ "established",
42
+ "canonical",
43
+ "superseded",
44
+ "retired",
45
+ ];
38
46
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/scope/types.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,EAAE;AACF,2CAA2C;AAC3C,oEAAoE;AACpE,kEAAkE;AAClE,oEAAoE;AAgDpE,mEAAmE;AACnE,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC7B,IAAI,CAAS;IACb,WAAW,CAAS;IACpB,MAAM,CAAS;IACxB,YAAY,IAA2D;QACrE,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;CACF;AAUD,MAAM,CAAC,MAAM,oBAAoB,GAAqC;IACpE,aAAa;IACb,SAAS;IACT,qBAAqB;IACrB,mBAAmB;IACnB,iBAAiB;IACjB,UAAU;CACX,CAAC;AAGF,MAAM,CAAC,MAAM,sBAAsB,GAAuC;IACxE,aAAa;IACb,SAAS;CACV,CAAC;AAGF,MAAM,CAAC,MAAM,aAAa,GAA+B;IACvD,SAAS;IACT,UAAU;IACV,YAAY;IACZ,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/scope/types.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,EAAE;AACF,2CAA2C;AAC3C,oEAAoE;AACpE,kEAAkE;AAClE,oEAAoE;AAgDpE,mEAAmE;AACnE,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC7B,IAAI,CAAS;IACb,WAAW,CAAS;IACpB,MAAM,CAAS;IACxB,YAAY,IAA2D;QACrE,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;CACF;AAUD,MAAM,CAAC,MAAM,oBAAoB,GAAqC;IACpE,aAAa;IACb,SAAS;IACT,qBAAqB;IACrB,mBAAmB;IACnB,iBAAiB;IACjB,UAAU;CACX,CAAC;AAGF,MAAM,CAAC,MAAM,sBAAsB,GAAuC;IACxE,aAAa;IACb,SAAS;CACV,CAAC;AAGF,MAAM,CAAC,MAAM,aAAa,GAA+B;IACvD,SAAS;IACT,UAAU;IACV,YAAY;IACZ,OAAO;CACR,CAAC;AAaF,MAAM,CAAC,MAAM,YAAY,GAAyB;IAChD,KAAK;IACL,aAAa;IACb,aAAa;IACb,WAAW;IACX,YAAY;IACZ,SAAS;CACV,CAAC"}
@@ -4,6 +4,7 @@ slice: {{slice_number}}-{{slug}}
4
4
  mission: {{mission}}
5
5
  status: placeholder
6
6
  stage: wip
7
+ verified: {{created_date}} against scaffold (rig scope create)
7
8
  created: {{created_date}}
8
9
  ---
9
10
 
@@ -4,6 +4,7 @@ slice: {{slice_number}}-{{slug}}
4
4
  mission: {{mission}}
5
5
  status: placeholder
6
6
  stage: wip
7
+ verified: {{created_date}} against scaffold (rig scope create)
7
8
  created: {{created_date}}
8
9
  ---
9
10
 
@@ -4,6 +4,7 @@ slice: {{slice_number}}-{{slug}}
4
4
  mission: {{mission}}
5
5
  status: placeholder
6
6
  stage: wip
7
+ verified: {{created_date}} against scaffold (rig scope create)
7
8
  created: {{created_date}}
8
9
  ---
9
10
 
@@ -2,6 +2,7 @@
2
2
  id: {{id}}
3
3
  mission: {{mission}}
4
4
  stage: wip
5
+ verified: {{created_date}} against scaffold (rig scope create)
5
6
  created: {{created_date}}
6
7
  ---
7
8
 
@@ -0,0 +1,12 @@
1
+ # Progress — {{missionName}}
2
+
3
+ ## Milestones
4
+
5
+ - [ ] Scope complete (all slices shaped)
6
+ - [ ] Implementation in progress
7
+ - [ ] QA / review pass
8
+ - [ ] Merge / ship
9
+
10
+ ## Notes
11
+
12
+ _Add progress notes here._
@@ -3,6 +3,7 @@ id: {{id}}
3
3
  mission: {{mission}}
4
4
  release: {{release_version}}
5
5
  stage: wip
6
+ verified: {{created_date}} against scaffold (rig scope create)
6
7
  created: {{created_date}}
7
8
  ---
8
9
 
@@ -4,6 +4,7 @@ slice: {{slice_number}}-{{slug}}
4
4
  mission: {{mission}}
5
5
  status: placeholder
6
6
  stage: wip
7
+ verified: {{created_date}} against scaffold (rig scope create)
7
8
  created: {{created_date}}
8
9
  ---
9
10
 
@@ -4,6 +4,7 @@ slice: {{slice_number}}-{{slug}}
4
4
  mission: {{mission}}
5
5
  status: placeholder
6
6
  stage: wip
7
+ verified: {{created_date}} against scaffold (rig scope create)
7
8
  created: {{created_date}}
8
9
  ---
9
10
 
@@ -4,6 +4,7 @@ slice: {{slice_number}}-{{slug}}
4
4
  mission: {{mission}}
5
5
  status: placeholder
6
6
  stage: wip
7
+ verified: {{created_date}} against scaffold (rig scope create)
7
8
  created: {{created_date}}
8
9
  ---
9
10
 
@@ -0,0 +1,11 @@
1
+ # Progress — {{sliceName}}
2
+
3
+ ## Acceptance
4
+
5
+ - [ ] Implementation complete
6
+ - [ ] Tests passing
7
+ - [ ] Review approved
8
+
9
+ ## Notes
10
+
11
+ _Add progress notes here._
@@ -0,0 +1,24 @@
1
+ import { DaemonClient } from "./client.js";
2
+ import { loadHostRegistry } from "./host-registry.js";
3
+ import type { FailedStep } from "./cross-host-types.js";
4
+ export interface RemoteHostDeps {
5
+ clientFactory: (url: string) => DaemonClient;
6
+ hostRegistryLoader?: () => ReturnType<typeof loadHostRegistry>;
7
+ }
8
+ export interface RemoteOpResult {
9
+ ok: boolean;
10
+ failedStep: FailedStep;
11
+ data?: unknown;
12
+ error?: string;
13
+ }
14
+ export declare function runRemoteHttpOp(hostId: string, method: "GET" | "POST", apiPath: string, body: unknown | undefined, deps: RemoteHostDeps, opts: {
15
+ json?: boolean;
16
+ }): Promise<RemoteOpResult>;
17
+ export declare function resolveRemoteRigId(hostId: string, handle: string, deps: RemoteHostDeps): Promise<{
18
+ ok: true;
19
+ rigId: string;
20
+ } | {
21
+ ok: false;
22
+ error: string;
23
+ }>;
24
+ //# sourceMappingURL=remote-host-ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-host-ops.d.ts","sourceRoot":"","sources":["../src/remote-host-ops.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAmG,MAAM,oBAAoB,CAAC;AACvJ,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,CAAC;IAC7C,kBAAkB,CAAC,EAAE,MAAM,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,KAAK,GAAG,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,GAAG,SAAS,EACzB,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GACvB,OAAO,CAAC,cAAc,CAAC,CAsCzB;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAerE"}
@@ -0,0 +1,53 @@
1
+ import { loadHostRegistry, resolveHost, resolveRemoteBearer, classifyHttpFailedStep, classifyHttpError } from "./host-registry.js";
2
+ export async function runRemoteHttpOp(hostId, method, apiPath, body, deps, opts) {
3
+ const loader = deps.hostRegistryLoader ?? loadHostRegistry;
4
+ const registry = loader();
5
+ if (!registry.ok) {
6
+ return { ok: false, failedStep: "remote-daemon-unreachable", error: registry.error };
7
+ }
8
+ const resolved = resolveHost(registry.registry, hostId);
9
+ if (!resolved.ok) {
10
+ return { ok: false, failedStep: "remote-daemon-unreachable", error: resolved.error };
11
+ }
12
+ const host = resolved.host;
13
+ if (host.transport === "ssh") {
14
+ return { ok: false, failedStep: "remote-command-failed", error: `host ${hostId} uses SSH transport; HTTP --host not available` };
15
+ }
16
+ const httpHost = host;
17
+ const bearerResult = resolveRemoteBearer(httpHost);
18
+ if (!bearerResult.ok) {
19
+ return { ok: false, failedStep: bearerResult.failedStep, error: bearerResult.error };
20
+ }
21
+ const client = deps.clientFactory(httpHost.url);
22
+ const headers = { Authorization: `Bearer ${bearerResult.token}` };
23
+ try {
24
+ const res = method === "POST"
25
+ ? await client.post(apiPath, body, { headers })
26
+ : await client.get(apiPath, { headers });
27
+ const failedStep = classifyHttpFailedStep(res.status);
28
+ if (failedStep !== "none") {
29
+ return { ok: false, failedStep, error: `HTTP ${res.status}` };
30
+ }
31
+ return { ok: true, failedStep: "none", data: res.data };
32
+ }
33
+ catch (err) {
34
+ return { ok: false, failedStep: classifyHttpError(err), error: err.message };
35
+ }
36
+ }
37
+ export async function resolveRemoteRigId(hostId, handle, deps) {
38
+ const psResult = await runRemoteHttpOp(hostId, "GET", "/api/ps?includeArchived=true", undefined, deps, {});
39
+ if (!psResult.ok)
40
+ return { ok: false, error: `cannot resolve rig on host ${hostId}: ${psResult.error}` };
41
+ const rigs = psResult.data;
42
+ const exactId = rigs.find((r) => r.rigId === handle);
43
+ if (exactId)
44
+ return { ok: true, rigId: exactId.rigId };
45
+ const byName = rigs.filter((r) => r.name === handle && !r.archivedAt);
46
+ if (byName.length === 1)
47
+ return { ok: true, rigId: byName[0].rigId };
48
+ if (byName.length > 1) {
49
+ return { ok: false, error: `ambiguous rig name "${handle}" on host ${hostId}: ${byName.length} active rigs share that name. Use the rig id instead.` };
50
+ }
51
+ return { ok: false, error: `rig "${handle}" not found on host ${hostId}` };
52
+ }
53
+ //# sourceMappingURL=remote-host-ops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-host-ops.js","sourceRoot":"","sources":["../src/remote-host-ops.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrig/cli",
3
- "version": "0.3.4",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "description": "Local control plane for multi-agent coding topologies",
6
6
  "keywords": [