@corenel/harness 0.10.0 → 0.12.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 (251) hide show
  1. package/dist/approvals/decisionLog.d.ts +21 -0
  2. package/dist/approvals/decisionLog.d.ts.map +1 -0
  3. package/dist/approvals/decisionLog.js +129 -0
  4. package/dist/approvals/decisionLog.js.map +1 -0
  5. package/dist/approvals/hooks.d.ts +18 -0
  6. package/dist/approvals/hooks.d.ts.map +1 -0
  7. package/dist/approvals/hooks.js +34 -0
  8. package/dist/approvals/hooks.js.map +1 -0
  9. package/dist/approvals/index.d.ts +10 -0
  10. package/dist/approvals/index.d.ts.map +1 -0
  11. package/dist/approvals/index.js +10 -0
  12. package/dist/approvals/index.js.map +1 -0
  13. package/dist/approvals/service.d.ts +46 -0
  14. package/dist/approvals/service.d.ts.map +1 -0
  15. package/dist/approvals/service.js +181 -0
  16. package/dist/approvals/service.js.map +1 -0
  17. package/dist/approvals/settings.d.ts +20 -0
  18. package/dist/approvals/settings.d.ts.map +1 -0
  19. package/dist/approvals/settings.js +32 -0
  20. package/dist/approvals/settings.js.map +1 -0
  21. package/dist/approvals/shellTools.d.ts +10 -0
  22. package/dist/approvals/shellTools.d.ts.map +1 -0
  23. package/dist/approvals/shellTools.js +17 -0
  24. package/dist/approvals/shellTools.js.map +1 -0
  25. package/dist/approvals/standingStore.d.ts +15 -0
  26. package/dist/approvals/standingStore.d.ts.map +1 -0
  27. package/dist/approvals/standingStore.js +50 -0
  28. package/dist/approvals/standingStore.js.map +1 -0
  29. package/dist/approvals/suggest.d.ts +15 -0
  30. package/dist/approvals/suggest.d.ts.map +1 -0
  31. package/dist/approvals/suggest.js +23 -0
  32. package/dist/approvals/suggest.js.map +1 -0
  33. package/dist/approvals/summarize.d.ts +7 -0
  34. package/dist/approvals/summarize.d.ts.map +1 -0
  35. package/dist/approvals/summarize.js +70 -0
  36. package/dist/approvals/summarize.js.map +1 -0
  37. package/dist/approvals/testTextStore.d.ts +6 -0
  38. package/dist/approvals/testTextStore.d.ts.map +1 -0
  39. package/dist/approvals/testTextStore.js +11 -0
  40. package/dist/approvals/testTextStore.js.map +1 -0
  41. package/dist/approvals/textStore.d.ts +9 -0
  42. package/dist/approvals/textStore.d.ts.map +1 -0
  43. package/dist/approvals/textStore.js +2 -0
  44. package/dist/approvals/textStore.js.map +1 -0
  45. package/dist/audit/canonical.d.ts +5 -0
  46. package/dist/audit/canonical.d.ts.map +1 -0
  47. package/dist/audit/canonical.js +15 -0
  48. package/dist/audit/canonical.js.map +1 -0
  49. package/dist/audit/ids.d.ts +3 -0
  50. package/dist/audit/ids.d.ts.map +1 -0
  51. package/dist/audit/ids.js +11 -0
  52. package/dist/audit/ids.js.map +1 -0
  53. package/dist/audit/index.d.ts +7 -0
  54. package/dist/audit/index.d.ts.map +1 -0
  55. package/dist/audit/index.js +7 -0
  56. package/dist/audit/index.js.map +1 -0
  57. package/dist/audit/log.d.ts +64 -0
  58. package/dist/audit/log.d.ts.map +1 -0
  59. package/dist/audit/log.js +457 -0
  60. package/dist/audit/log.js.map +1 -0
  61. package/dist/audit/recorder.d.ts +31 -0
  62. package/dist/audit/recorder.d.ts.map +1 -0
  63. package/dist/audit/recorder.js +185 -0
  64. package/dist/audit/recorder.js.map +1 -0
  65. package/dist/audit/runAudit.d.ts +38 -0
  66. package/dist/audit/runAudit.d.ts.map +1 -0
  67. package/dist/audit/runAudit.js +99 -0
  68. package/dist/audit/runAudit.js.map +1 -0
  69. package/dist/audit/verify.d.ts +14 -0
  70. package/dist/audit/verify.d.ts.map +1 -0
  71. package/dist/audit/verify.js +47 -0
  72. package/dist/audit/verify.js.map +1 -0
  73. package/dist/conversation.d.ts +31 -0
  74. package/dist/conversation.d.ts.map +1 -1
  75. package/dist/conversation.js +33 -0
  76. package/dist/conversation.js.map +1 -1
  77. package/dist/core/hash.d.ts +2 -0
  78. package/dist/core/hash.d.ts.map +1 -0
  79. package/dist/core/hash.js +9 -0
  80. package/dist/core/hash.js.map +1 -0
  81. package/dist/core/loop.d.ts +18 -0
  82. package/dist/core/loop.d.ts.map +1 -1
  83. package/dist/core/loop.js +67 -6
  84. package/dist/core/loop.js.map +1 -1
  85. package/dist/core/spawn.d.ts +59 -4
  86. package/dist/core/spawn.d.ts.map +1 -1
  87. package/dist/core/spawn.js +83 -5
  88. package/dist/core/spawn.js.map +1 -1
  89. package/dist/core/turnVerify.d.ts +25 -0
  90. package/dist/core/turnVerify.d.ts.map +1 -0
  91. package/dist/core/turnVerify.js +177 -0
  92. package/dist/core/turnVerify.js.map +1 -0
  93. package/dist/dag/executeNode.d.ts +7 -0
  94. package/dist/dag/executeNode.d.ts.map +1 -1
  95. package/dist/dag/executeNode.js +3 -0
  96. package/dist/dag/executeNode.js.map +1 -1
  97. package/dist/guardrail/guardrail.d.ts +7 -0
  98. package/dist/guardrail/guardrail.d.ts.map +1 -1
  99. package/dist/guardrail/guardrail.js +8 -0
  100. package/dist/guardrail/guardrail.js.map +1 -1
  101. package/dist/guardrail/index.d.ts +2 -2
  102. package/dist/guardrail/index.d.ts.map +1 -1
  103. package/dist/guardrail/index.js +2 -2
  104. package/dist/guardrail/index.js.map +1 -1
  105. package/dist/guardrail/permission-service.d.ts +41 -6
  106. package/dist/guardrail/permission-service.d.ts.map +1 -1
  107. package/dist/guardrail/permission-service.js +118 -11
  108. package/dist/guardrail/permission-service.js.map +1 -1
  109. package/dist/guardrail/serialize.d.ts.map +1 -1
  110. package/dist/guardrail/serialize.js +2 -0
  111. package/dist/guardrail/serialize.js.map +1 -1
  112. package/dist/guardrail/validate.d.ts.map +1 -1
  113. package/dist/guardrail/validate.js +3 -1
  114. package/dist/guardrail/validate.js.map +1 -1
  115. package/dist/install/lockfile.d.ts +13 -5
  116. package/dist/install/lockfile.d.ts.map +1 -1
  117. package/dist/install/lockfile.js +31 -2
  118. package/dist/install/lockfile.js.map +1 -1
  119. package/dist/orchestrator/agentSearch.d.ts +15 -0
  120. package/dist/orchestrator/agentSearch.d.ts.map +1 -0
  121. package/dist/orchestrator/agentSearch.js +112 -0
  122. package/dist/orchestrator/agentSearch.js.map +1 -0
  123. package/dist/orchestrator/agentTags.d.ts +13 -0
  124. package/dist/orchestrator/agentTags.d.ts.map +1 -0
  125. package/dist/orchestrator/agentTags.js +48 -0
  126. package/dist/orchestrator/agentTags.js.map +1 -0
  127. package/dist/orchestrator/branch.d.ts +9 -0
  128. package/dist/orchestrator/branch.d.ts.map +1 -0
  129. package/dist/orchestrator/branch.js +26 -0
  130. package/dist/orchestrator/branch.js.map +1 -0
  131. package/dist/orchestrator/checks.d.ts +16 -0
  132. package/dist/orchestrator/checks.d.ts.map +1 -0
  133. package/dist/orchestrator/checks.js +66 -0
  134. package/dist/orchestrator/checks.js.map +1 -0
  135. package/dist/orchestrator/planDoc.d.ts +41 -0
  136. package/dist/orchestrator/planDoc.d.ts.map +1 -0
  137. package/dist/orchestrator/planDoc.js +181 -0
  138. package/dist/orchestrator/planDoc.js.map +1 -0
  139. package/dist/orchestrator/record.d.ts +110 -0
  140. package/dist/orchestrator/record.d.ts.map +1 -0
  141. package/dist/orchestrator/record.js +221 -0
  142. package/dist/orchestrator/record.js.map +1 -0
  143. package/dist/orchestrator/sidecarTools.d.ts +7 -0
  144. package/dist/orchestrator/sidecarTools.d.ts.map +1 -0
  145. package/dist/orchestrator/sidecarTools.js +141 -0
  146. package/dist/orchestrator/sidecarTools.js.map +1 -0
  147. package/dist/prompts/config.d.ts.map +1 -1
  148. package/dist/prompts/config.js +11 -0
  149. package/dist/prompts/config.js.map +1 -1
  150. package/dist/prompts/index.d.ts +0 -6
  151. package/dist/prompts/index.d.ts.map +1 -1
  152. package/dist/prompts/index.js +10 -17
  153. package/dist/prompts/index.js.map +1 -1
  154. package/dist/prompts/init.d.ts +12 -0
  155. package/dist/prompts/init.d.ts.map +1 -0
  156. package/dist/prompts/init.js +48 -0
  157. package/dist/prompts/init.js.map +1 -0
  158. package/dist/prompts/library/defaults.generated.d.ts.map +1 -1
  159. package/dist/prompts/library/defaults.generated.js +29 -12
  160. package/dist/prompts/library/defaults.generated.js.map +1 -1
  161. package/dist/redact.d.ts.map +1 -1
  162. package/dist/redact.js +1 -0
  163. package/dist/redact.js.map +1 -1
  164. package/dist/rooms/findings.d.ts +14 -0
  165. package/dist/rooms/findings.d.ts.map +1 -1
  166. package/dist/rooms/findings.js +37 -0
  167. package/dist/rooms/findings.js.map +1 -1
  168. package/dist/sessions/blobGc.d.ts.map +1 -1
  169. package/dist/sessions/blobGc.js +2 -5
  170. package/dist/sessions/blobGc.js.map +1 -1
  171. package/dist/sessions/childSessions.d.ts +12 -0
  172. package/dist/sessions/childSessions.d.ts.map +1 -0
  173. package/dist/sessions/childSessions.js +43 -0
  174. package/dist/sessions/childSessions.js.map +1 -0
  175. package/dist/sessions/fileRecallStore.d.ts.map +1 -1
  176. package/dist/sessions/fileRecallStore.js +1 -3
  177. package/dist/sessions/fileRecallStore.js.map +1 -1
  178. package/dist/sessions/fileSessionStore.d.ts +11 -7
  179. package/dist/sessions/fileSessionStore.d.ts.map +1 -1
  180. package/dist/sessions/fileSessionStore.js +27 -16
  181. package/dist/sessions/fileSessionStore.js.map +1 -1
  182. package/dist/sessions/inflight.js +0 -0
  183. package/dist/sessions/inflight.js.map +1 -1
  184. package/dist/sessions/jsonl.d.ts +4 -0
  185. package/dist/sessions/jsonl.d.ts.map +1 -1
  186. package/dist/sessions/jsonl.js +1 -0
  187. package/dist/sessions/jsonl.js.map +1 -1
  188. package/dist/sessions/testFs.d.ts.map +1 -1
  189. package/dist/sessions/testFs.js +1 -1
  190. package/dist/sessions/testFs.js.map +1 -1
  191. package/dist/sidecar/host.d.ts +194 -3
  192. package/dist/sidecar/host.d.ts.map +1 -1
  193. package/dist/sidecar/host.js +401 -6
  194. package/dist/sidecar/host.js.map +1 -1
  195. package/dist/sidecar/identity.d.ts +44 -0
  196. package/dist/sidecar/identity.d.ts.map +1 -0
  197. package/dist/sidecar/identity.js +45 -0
  198. package/dist/sidecar/identity.js.map +1 -0
  199. package/dist/sidecar/server.d.ts +250 -4
  200. package/dist/sidecar/server.d.ts.map +1 -1
  201. package/dist/sidecar/server.js +866 -46
  202. package/dist/sidecar/server.js.map +1 -1
  203. package/dist/skillSource.js +1 -1
  204. package/dist/skillSource.js.map +1 -1
  205. package/dist/skills.d.ts +23 -7
  206. package/dist/skills.d.ts.map +1 -1
  207. package/dist/skills.js +62 -37
  208. package/dist/skills.js.map +1 -1
  209. package/dist/tools/callAgent.d.ts +29 -12
  210. package/dist/tools/callAgent.d.ts.map +1 -1
  211. package/dist/tools/callAgent.js +120 -14
  212. package/dist/tools/callAgent.js.map +1 -1
  213. package/dist/tools/crewList.d.ts +33 -0
  214. package/dist/tools/crewList.d.ts.map +1 -0
  215. package/dist/tools/crewList.js +66 -0
  216. package/dist/tools/crewList.js.map +1 -0
  217. package/dist/tools/files.d.ts.map +1 -1
  218. package/dist/tools/files.js +11 -5
  219. package/dist/tools/files.js.map +1 -1
  220. package/dist/tools/findAgent.d.ts +23 -0
  221. package/dist/tools/findAgent.d.ts.map +1 -0
  222. package/dist/tools/findAgent.js +58 -0
  223. package/dist/tools/findAgent.js.map +1 -0
  224. package/dist/tools/namespaces.d.ts.map +1 -1
  225. package/dist/tools/namespaces.js +7 -0
  226. package/dist/tools/namespaces.js.map +1 -1
  227. package/dist/tools/orchestrate.d.ts +4 -0
  228. package/dist/tools/orchestrate.d.ts.map +1 -0
  229. package/dist/tools/orchestrate.js +38 -0
  230. package/dist/tools/orchestrate.js.map +1 -0
  231. package/dist/tools/orchestration.d.ts +24 -0
  232. package/dist/tools/orchestration.d.ts.map +1 -0
  233. package/dist/tools/orchestration.js +173 -0
  234. package/dist/tools/orchestration.js.map +1 -0
  235. package/dist/tools/orchestrationSet.d.ts +6 -0
  236. package/dist/tools/orchestrationSet.d.ts.map +1 -0
  237. package/dist/tools/orchestrationSet.js +12 -0
  238. package/dist/tools/orchestrationSet.js.map +1 -0
  239. package/dist/tools/roomTools.d.ts +6 -0
  240. package/dist/tools/roomTools.d.ts.map +1 -1
  241. package/dist/tools/roomTools.js +26 -2
  242. package/dist/tools/roomTools.js.map +1 -1
  243. package/dist/tools/skillTool.d.ts +15 -0
  244. package/dist/tools/skillTool.d.ts.map +1 -0
  245. package/dist/tools/skillTool.js +39 -0
  246. package/dist/tools/skillTool.js.map +1 -0
  247. package/dist/tools/urlGuard.d.ts +7 -0
  248. package/dist/tools/urlGuard.d.ts.map +1 -1
  249. package/dist/tools/urlGuard.js +54 -18
  250. package/dist/tools/urlGuard.js.map +1 -1
  251. package/package.json +6 -2
@@ -1 +1 @@
1
- {"version":3,"file":"permission-service.js","sourceRoot":"","sources":["../../guardrail/permission-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission-service.js","sourceRoot":"","sources":["../../guardrail/permission-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../guardrail/serialize.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAkB,KAAK,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzE;kFACkF;AAClF,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAoB9C;AAED;8DAC8D;AAC9D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,CAYnE"}
1
+ {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../guardrail/serialize.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAkB,KAAK,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzE;kFACkF;AAClF,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAqB9C;AAED;8DAC8D;AAC9D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,CAYnE"}
@@ -38,6 +38,8 @@ export function policyToYaml(p) {
38
38
  ordered.unattended = p.unattended;
39
39
  if (p.parkTimeoutMs !== undefined)
40
40
  ordered.parkTimeoutMs = p.parkTimeoutMs;
41
+ if (p.pushWaitMs !== undefined)
42
+ ordered.pushWaitMs = p.pushWaitMs;
41
43
  return stringify(ordered, { lineWidth: 0 });
42
44
  }
43
45
  /** Parse YAML text into a validated Policy. YAML syntax errors and schema errors
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../guardrail/serialize.ts"],"names":[],"mappings":"AAAA;;;;;uFAKuF;AACvF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAExC,OAAO,EAAE,cAAc,EAA+B,MAAM,YAAY,CAAC;AAEzE;kFACkF;AAClF,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,8EAA8E;IAC9E,MAAM,OAAO,GAA4B,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9E,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;IACrE,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;IACrE,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC5D,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;IACxE,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACnD,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC5D,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;IACrE,IAAI,CAAC,CAAC,iBAAiB,KAAK,SAAS;QAAE,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;IACvF,kFAAkF;IAClF,6EAA6E;IAC7E,6BAA6B;IAC7B,IAAI,CAAC,CAAC,eAAe,KAAK,SAAS;QAAE,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC;IACjF,gFAAgF;IAChF,sDAAsD;IACtD,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;IAClE,IAAI,CAAC,CAAC,aAAa,KAAK,SAAS;QAAE,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;IAC3E,OAAO,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;8DAC8D;AAC9D,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,qBAAqB,GAAG,EAAE,CAAC,EAAE,CAAC;IAC7D,CAAC;IACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../guardrail/serialize.ts"],"names":[],"mappings":"AAAA;;;;;uFAKuF;AACvF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAExC,OAAO,EAAE,cAAc,EAA+B,MAAM,YAAY,CAAC;AAEzE;kFACkF;AAClF,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,8EAA8E;IAC9E,MAAM,OAAO,GAA4B,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9E,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;IACrE,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;IACrE,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC5D,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;IACxE,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACnD,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC5D,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;IACrE,IAAI,CAAC,CAAC,iBAAiB,KAAK,SAAS;QAAE,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;IACvF,kFAAkF;IAClF,6EAA6E;IAC7E,6BAA6B;IAC7B,IAAI,CAAC,CAAC,eAAe,KAAK,SAAS;QAAE,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC;IACjF,gFAAgF;IAChF,sDAAsD;IACtD,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;IAClE,IAAI,CAAC,CAAC,aAAa,KAAK,SAAS;QAAE,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;IAC3E,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;IAClE,OAAO,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;8DAC8D;AAC9D,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,qBAAqB,GAAG,EAAE,CAAC,EAAE,CAAC;IAC7D,CAAC;IACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../guardrail/validate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAoD,MAAM,mBAAmB,CAAC;AAkBlG,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AA2BD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAuErE"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../guardrail/validate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAoD,MAAM,mBAAmB,CAAC;AAkBlG,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AA2BD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAwErE"}
@@ -27,7 +27,7 @@ function isPosNum(v) {
27
27
  const POLICY_KEYS = new Set([
28
28
  'version', 'name', 'description', 'onViolation', 'maxTurns', 'maxToolCalls',
29
29
  'tools', 'mustCall', 'permissions', 'defaultPermission', 'mutatingDefault',
30
- 'unattended', 'parkTimeoutMs',
30
+ 'unattended', 'parkTimeoutMs', 'pushWaitMs',
31
31
  ]);
32
32
  const TOOLS_KEYS = new Set(['allow', 'deny']);
33
33
  /** Names that would collide with Object.prototype slots — saving one corrupts
@@ -115,6 +115,8 @@ export function validatePolicy(input) {
115
115
  if (o.parkTimeoutMs !== undefined && !isPosNum(o.parkTimeoutMs)) {
116
116
  errors.push('Policy.parkTimeoutMs must be a positive number.');
117
117
  }
118
+ if (o.pushWaitMs !== undefined && !isPosNum(o.pushWaitMs))
119
+ errors.push('Policy.pushWaitMs must be a positive number.');
118
120
  if (errors.length)
119
121
  return { ok: false, errors };
120
122
  return { ok: true, policy: input, errors: [] };
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../guardrail/validate.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,GAAsB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC3D,MAAM,OAAO,GAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACpD,MAAM,UAAU,GAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAE/D;mFACmF;AACnF,MAAM,aAAa,GAAoC;IACrD,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM;IACxC,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM;CACzC,CAAC;AAEF,kFAAkF;AAClF,SAAS,cAAc,CAAC,CAAU;IAChC,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC;AAQD,SAAS,aAAa,CAAC,CAAU;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;AACnE,CAAC;AACD,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC;AACD;qFACqF;AACrF,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED;qEACqE;AACrE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc;IAC3E,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,iBAAiB;IAC1E,YAAY,EAAE,eAAe;CAC9B,CAAC,CAAC;AACH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAE9C;8EAC8E;AAC9E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;AAE1E,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC;IAC9D,CAAC;IACD,MAAM,CAAC,GAAG,KAAgC,CAAC;IAE3C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;SACrF,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,sCAAsC,CAAC,CAAC;IAC7H,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;QAAE,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAC1H,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAA8B,CAAC,EAAE,CAAC;QACvF,MAAM,CAAC,IAAI,CAAC,sCAAsC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,yEAAyE;IACzE,yEAAyE;IACzE,oEAAoE;IACpE,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC;QACrH,MAAM,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAE9H,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,CAAC,KAAgC,CAAC;YAC7C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,0CAA0C,CAAC,CAAC;YACnG,CAAC;YACD,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YAC5G,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAE/G,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,CAAC,CAAC,WAAsC,CAAC;YACvD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,IAAI;oBAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,sBAAsB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;oBACtF,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,6BAA6B;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,4CAA4C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;YACpF,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAClC,CAAC;IACD,IAAI,CAAC,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,0CAA0C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;YAClF,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAA4B,CAAC,EAAE,CAAC;QACvF,MAAM,CAAC,IAAI,CAAC,qCAAqC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,CAAC,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAe,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../guardrail/validate.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,3 @@
1
- /** Package kinds the registry serves. A plain string union rather than an import
2
- * from @prompd/core, to keep this module free of that dependency; unknown kinds
3
- * off the wire are preserved rather than rejected (see parseLock). */
4
1
  export type LockedType = 'package' | 'workflow' | 'skill' | 'node-template' | (string & {});
5
2
  export interface LockedPackage {
6
3
  /** Full scoped name, e.g. "@prompd/core". */
@@ -18,8 +15,19 @@ export interface Lockfile {
18
15
  packages: LockedPackage[];
19
16
  }
20
17
  export declare const LOCKFILE_VERSION: 1;
21
- /** Conventional location, alongside the manifest it pins. */
22
- export declare const LOCKFILE_PATH = ".prompd/prompd-lock.json";
18
+ /** The lockfile's name. It carries Prompd's name because it names the FORMAT. */
19
+ export declare const LOCKFILE_NAME = "prompd-lock.json";
20
+ /** Where THIS host writes its lockfile: `<stateDir>/prompd-lock.json`. Read lazily. */
21
+ export declare function lockfilePath(): string;
22
+ /** Every lockfile to READ, host dir first, then Prompd's (read-only fallback). */
23
+ export declare function lockfileReadPaths(): string[];
24
+ /** Merge locks given in priority order: on a NAME collision the earlier lock
25
+ * wins outright — every entry for that name in a later lock is dropped, even
26
+ * at a different version — so the host's pin always shadows Prompd's for the
27
+ * same package rather than the two versions coexisting. Built through
28
+ * `withPackages` so the result stays canonical. A READ view only; never write
29
+ * the result back. */
30
+ export declare function mergeLocks(locks: readonly Lockfile[]): Lockfile;
23
31
  export declare function emptyLock(): Lockfile;
24
32
  /**
25
33
  * Add or replace entries, returning a NEW lockfile.
@@ -1 +1 @@
1
- {"version":3,"file":"lockfile.d.ts","sourceRoot":"","sources":["../../install/lockfile.ts"],"names":[],"mappings":"AAoBA;;sEAEsE;AACtE,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,eAAe,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE5F,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB;;wCAEoC;IACpC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,eAAe,EAAE,CAAC,CAAC;IACnB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,gBAAgB,EAAG,CAAU,CAAC;AAC3C,6DAA6D;AAC7D,eAAO,MAAM,aAAa,6BAA6B,CAAC;AAExD,wBAAgB,SAAS,IAAI,QAAQ,CAEpC;AAwBD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,QAAQ,CAKtF;AAED,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAKrE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAMpD;AAMD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAqBvD;AAED,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,gCAAgC;IAChC,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,2DAA2D;AAC3D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAOjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,OAAO,CAG9G;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,aAAa,EAAE,CAGpH;AAED;4CAC4C;AAC5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAEjD"}
1
+ {"version":3,"file":"lockfile.d.ts","sourceRoot":"","sources":["../../install/lockfile.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,eAAe,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE5F,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB;;wCAEoC;IACpC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,eAAe,EAAE,CAAC,CAAC;IACnB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,gBAAgB,EAAG,CAAU,CAAC;AAE3C,iFAAiF;AACjF,eAAO,MAAM,aAAa,qBAAqB,CAAC;AAEhD,uFAAuF;AACvF,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C;AAED;;;;;uBAKuB;AACvB,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ,CAS/D;AAED,wBAAgB,SAAS,IAAI,QAAQ,CAEpC;AAwBD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,QAAQ,CAKtF;AAED,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAKrE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAMpD;AAMD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAqBvD;AAED,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,gCAAgC;IAChC,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,2DAA2D;AAC3D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAOjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,OAAO,CAG9G;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,aAAa,EAAE,CAGpH;AAED;4CAC4C;AAC5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAEjD"}
@@ -17,9 +17,38 @@
17
17
  * installed in. Without that, a lockfile churns in version control on every
18
18
  * install and stops being reviewable — which is most of why anyone keeps one.
19
19
  */
20
+ /** Package kinds the registry serves. A plain string union rather than an import
21
+ * from @prompd/core, to keep this module free of that dependency; unknown kinds
22
+ * off the wire are preserved rather than rejected (see parseLock). */
23
+ import { stateDirName, stateReadDirs } from '@corenel/protocol';
20
24
  export const LOCKFILE_VERSION = 1;
21
- /** Conventional location, alongside the manifest it pins. */
22
- export const LOCKFILE_PATH = '.prompd/prompd-lock.json';
25
+ /** The lockfile's name. It carries Prompd's name because it names the FORMAT. */
26
+ export const LOCKFILE_NAME = 'prompd-lock.json';
27
+ /** Where THIS host writes its lockfile: `<stateDir>/prompd-lock.json`. Read lazily. */
28
+ export function lockfilePath() {
29
+ return `${stateDirName()}/${LOCKFILE_NAME}`;
30
+ }
31
+ /** Every lockfile to READ, host dir first, then Prompd's (read-only fallback). */
32
+ export function lockfileReadPaths() {
33
+ return stateReadDirs().map((d) => `${d}/${LOCKFILE_NAME}`);
34
+ }
35
+ /** Merge locks given in priority order: on a NAME collision the earlier lock
36
+ * wins outright — every entry for that name in a later lock is dropped, even
37
+ * at a different version — so the host's pin always shadows Prompd's for the
38
+ * same package rather than the two versions coexisting. Built through
39
+ * `withPackages` so the result stays canonical. A READ view only; never write
40
+ * the result back. */
41
+ export function mergeLocks(locks) {
42
+ let out = emptyLock();
43
+ const seenNames = new Set();
44
+ for (const l of locks) {
45
+ const kept = l.packages.filter((p) => !seenNames.has(p.name));
46
+ out = withPackages(out, kept);
47
+ for (const p of kept)
48
+ seenNames.add(p.name);
49
+ }
50
+ return out;
51
+ }
23
52
  export function emptyLock() {
24
53
  return { lockfileVersion: LOCKFILE_VERSION, packages: [] };
25
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lockfile.js","sourceRoot":"","sources":["../../install/lockfile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lockfile.js","sourceRoot":"","sources":["../../install/lockfile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export interface SearchableAgent {
2
+ name: string;
3
+ jobTitle?: string;
4
+ description: string;
5
+ tags?: string[];
6
+ enabled?: boolean;
7
+ installed?: boolean;
8
+ }
9
+ /** Score one agent against a free-text query. 0 when nothing matches. */
10
+ export declare function scoreAgent(a: SearchableAgent, query: string): number;
11
+ /** Rank agents by relevance to `query`. With an empty/whitespace-only query,
12
+ * returns the input order unchanged. Otherwise scores, drops zero-score
13
+ * agents, and sorts by score desc, then installed, then enabled, then name. */
14
+ export declare function rankAgents<T extends SearchableAgent>(agents: readonly T[], query: string): T[];
15
+ //# sourceMappingURL=agentSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentSearch.d.ts","sourceRoot":"","sources":["../../orchestrator/agentSearch.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAkFD,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAkBpE;AAED;;+EAE+E;AAC/E,wBAAgB,UAAU,CAAC,CAAC,SAAS,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAoB9F"}
@@ -0,0 +1,112 @@
1
+ /* Pure keyword/tag scorer for finding agents. Lives in the harness (not
2
+ * @corenel/crew, which re-exports it) because list_agents ranks with it and the
3
+ * harness cannot depend on crew. Shared by the crew list search,
4
+ * the orchestrator's list_agents, and a chat find_agent tool, so the ranking
5
+ * behaves identically everywhere it is used. */
6
+ import { normalizeTag } from './agentTags.js';
7
+ const EXACT_TAG = 10;
8
+ const TAG_PREFIX = 6;
9
+ const WHOLE_WORD_TITLE = 5;
10
+ /* A name, title or tag word that STARTS with the query word, at any length.
11
+ * This is what makes the crew list search type-ahead: 'o' finds the
12
+ * orchestrator, 'ana' both analysts, without waiting for a third character.
13
+ * Below a whole word, so finishing the word still ranks it higher. */
14
+ const WORD_PREFIX = 3;
15
+ const WHOLE_WORD_DESCRIPTION = 2;
16
+ const SUBSTRING = 1;
17
+ function splitWords(text) {
18
+ return text
19
+ .toLowerCase()
20
+ .split(/[^a-z0-9]+/)
21
+ .filter(Boolean);
22
+ }
23
+ /** Split free-text query into words: punctuation other than hyphen/underscore
24
+ * separates (so 'docs/api' -> 'docs','api' and "don't" -> 'don','t'), then each
25
+ * word is normalised the same way a tag is (so a hyphenated word like
26
+ * 'code-reviewer' survives as one word, matching how tags and names keep
27
+ * their hyphens). Empty results after normalising are dropped. */
28
+ function splitQueryWords(query) {
29
+ return query
30
+ .split(/[^a-zA-Z0-9_-]+/)
31
+ .map(normalizeTag)
32
+ .filter(Boolean);
33
+ }
34
+ function scoreWord(word, tags, nameWords, titleWords, descWords, nameText, titleText, descText, rawName) {
35
+ let best = 0;
36
+ if (tags.includes(word))
37
+ best = Math.max(best, EXACT_TAG);
38
+ if (word.length >= 3) {
39
+ for (const tag of tags) {
40
+ if (tag !== word && tag.startsWith(word)) {
41
+ best = Math.max(best, TAG_PREFIX);
42
+ break;
43
+ }
44
+ }
45
+ }
46
+ if (nameWords.includes(word) || titleWords.includes(word))
47
+ best = Math.max(best, WHOLE_WORD_TITLE);
48
+ // A query word equal to the agent's whole (still-hyphenated) name is a
49
+ // name match too -- otherwise typing an agent's name exactly as shown
50
+ // ('code-reviewer') never matches, since nameWords only holds the
51
+ // hyphen-split pieces ('code', 'reviewer').
52
+ if (word === rawName)
53
+ best = Math.max(best, WHOLE_WORD_TITLE);
54
+ if (best < WORD_PREFIX && (rawName.startsWith(word)
55
+ || nameWords.some((w) => w.startsWith(word))
56
+ || titleWords.some((w) => w.startsWith(word))
57
+ || tags.some((t) => t.startsWith(word))))
58
+ best = WORD_PREFIX;
59
+ if (descWords.includes(word))
60
+ best = Math.max(best, WHOLE_WORD_DESCRIPTION);
61
+ if (word.length >= 3 && best < SUBSTRING) {
62
+ if (nameText.includes(word) || titleText.includes(word) || descText.includes(word) || rawName.includes(word)) {
63
+ best = Math.max(best, SUBSTRING);
64
+ }
65
+ }
66
+ return best;
67
+ }
68
+ /** Score one agent against a free-text query. 0 when nothing matches. */
69
+ export function scoreAgent(a, query) {
70
+ const words = splitQueryWords(query);
71
+ if (words.length === 0)
72
+ return 0;
73
+ const tags = a.tags ?? [];
74
+ const rawName = a.name.toLowerCase();
75
+ const nameText = a.name.split('-').join(' ').toLowerCase();
76
+ const titleText = (a.jobTitle ?? '').toLowerCase();
77
+ const descText = a.description.toLowerCase();
78
+ const nameWords = splitWords(nameText);
79
+ const titleWords = splitWords(titleText);
80
+ const descWords = splitWords(descText);
81
+ let total = 0;
82
+ for (const word of words) {
83
+ total += scoreWord(word, tags, nameWords, titleWords, descWords, nameText, titleText, descText, rawName);
84
+ }
85
+ return total;
86
+ }
87
+ /** Rank agents by relevance to `query`. With an empty/whitespace-only query,
88
+ * returns the input order unchanged. Otherwise scores, drops zero-score
89
+ * agents, and sorts by score desc, then installed, then enabled, then name. */
90
+ export function rankAgents(agents, query) {
91
+ const words = splitQueryWords(query);
92
+ if (words.length === 0)
93
+ return [...agents];
94
+ const scored = agents
95
+ .map((agent) => ({ agent, score: scoreAgent(agent, query) }))
96
+ .filter((s) => s.score > 0);
97
+ scored.sort((x, y) => {
98
+ if (y.score !== x.score)
99
+ return y.score - x.score;
100
+ const xInstalled = x.agent.installed !== false;
101
+ const yInstalled = y.agent.installed !== false;
102
+ if (xInstalled !== yInstalled)
103
+ return xInstalled ? -1 : 1;
104
+ const xEnabled = x.agent.enabled !== false;
105
+ const yEnabled = y.agent.enabled !== false;
106
+ if (xEnabled !== yEnabled)
107
+ return xEnabled ? -1 : 1;
108
+ return x.agent.name < y.agent.name ? -1 : x.agent.name > y.agent.name ? 1 : 0;
109
+ });
110
+ return scored.map((s) => s.agent);
111
+ }
112
+ //# sourceMappingURL=agentSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentSearch.js","sourceRoot":"","sources":["../../orchestrator/agentSearch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export declare const TAG_MAX = 12;
2
+ export declare const TAG_LEN = 32;
3
+ /** Suggested starter tags. A suggestion list only: any normalised tag is valid. */
4
+ export declare const TAG_VOCABULARY: readonly string[];
5
+ /** Normalise one tag; '' when nothing survives. */
6
+ export declare function normalizeTag(raw: string): string;
7
+ /** Normalise a list: non-strings and empties dropped, duplicates removed
8
+ * keeping first order, capped at TAG_MAX. */
9
+ export declare function normalizeTags(raw: readonly unknown[]): string[];
10
+ /** Tags from parsed frontmatter; undefined when absent, not a list, or empty
11
+ * after normalising. */
12
+ export declare function parseTags(meta: Record<string, unknown>): string[] | undefined;
13
+ //# sourceMappingURL=agentTags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentTags.d.ts","sourceRoot":"","sources":["../../orchestrator/agentTags.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,KAAK,CAAC;AAC1B,eAAO,MAAM,OAAO,KAAK,CAAC;AAE1B,mFAAmF;AACnF,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAE3C,CAAC;AAEF,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAUhD;AAED;6CAC6C;AAC7C,wBAAgB,aAAa,CAAC,GAAG,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,EAAE,CAS/D;AAED;wBACwB;AACxB,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAK7E"}
@@ -0,0 +1,48 @@
1
+ /* Free-form agent tags. Stored in AGENT.md frontmatter as a YAML list, always
2
+ * in normalised form: lowercase, [a-z0-9-] only, whitespace and underscores
3
+ * collapsed to one hyphen, no leading/trailing hyphen. Over-long tags are cut
4
+ * and extra tags dropped rather than refused, so a hand-edited file never
5
+ * fails to load over its tags. */
6
+ export const TAG_MAX = 12;
7
+ export const TAG_LEN = 32;
8
+ /** Suggested starter tags. A suggestion list only: any normalised tag is valid. */
9
+ export const TAG_VOCABULARY = [
10
+ 'code', 'testing', 'review', 'docs', 'research', 'git', 'planning', 'data', 'writing', 'marketing',
11
+ ];
12
+ /** Normalise one tag; '' when nothing survives. */
13
+ export function normalizeTag(raw) {
14
+ return raw
15
+ .trim()
16
+ .toLowerCase()
17
+ .replace(/[\s_]+/g, '-')
18
+ .replace(/[^a-z0-9-]/g, '')
19
+ .replace(/-+/g, '-')
20
+ .replace(/^-|-$/g, '')
21
+ .slice(0, TAG_LEN)
22
+ .replace(/-$/, '');
23
+ }
24
+ /** Normalise a list: non-strings and empties dropped, duplicates removed
25
+ * keeping first order, capped at TAG_MAX. */
26
+ export function normalizeTags(raw) {
27
+ const out = [];
28
+ for (const r of raw) {
29
+ if (typeof r !== 'string')
30
+ continue;
31
+ const t = normalizeTag(r);
32
+ if (t && !out.includes(t))
33
+ out.push(t);
34
+ if (out.length === TAG_MAX)
35
+ break;
36
+ }
37
+ return out;
38
+ }
39
+ /** Tags from parsed frontmatter; undefined when absent, not a list, or empty
40
+ * after normalising. */
41
+ export function parseTags(meta) {
42
+ const raw = meta.tags;
43
+ if (!Array.isArray(raw))
44
+ return undefined;
45
+ const t = normalizeTags(raw);
46
+ return t.length ? t : undefined;
47
+ }
48
+ //# sourceMappingURL=agentTags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentTags.js","sourceRoot":"","sources":["../../orchestrator/agentTags.ts"],"names":[],"mappings":"AAAA;;;;kCAIkC;AAElC,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,CAAC;AAC1B,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,CAAC;AAE1B,mFAAmF;AACnF,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC/C,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW;CACnG,CAAC;AAEF,mDAAmD;AACnD,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,GAAG;SACP,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC;SACjB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACvB,CAAC;AAED;6CAC6C;AAC7C,MAAM,UAAU,aAAa,CAAC,GAAuB;IACnD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,SAAS;QACpC,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO;YAAE,MAAM;IACpC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;wBACwB;AACxB,MAAM,UAAU,SAAS,CAAC,IAA6B;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;IACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const MAX_SLUG = 40;
2
+ /** The orchestrator record id minted by record.ts: `orch_` + base-36. */
3
+ export declare const RUN_ID_RE: RegExp;
4
+ export declare function slugify(title: string): string;
5
+ /** A dot-dir name minus its dot, with anything git could object to (a `.lock`
6
+ * suffix, `..`) folded to dashes. */
7
+ export declare function productOf(stateDir: string): string;
8
+ export declare function runBranchName(stateDir: string, runId: string, title: string): string;
9
+ //# sourceMappingURL=branch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../orchestrator/branch.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,QAAQ,KAAK,CAAC;AAC3B,yEAAyE;AACzE,eAAO,MAAM,SAAS,QAA0B,CAAC;AAEjD,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG7C;AAED;qCACqC;AACrC,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIpF"}
@@ -0,0 +1,26 @@
1
+ /* The run's branch: `<product>/<run-id>-<slug>` (spec section 7). `<product>`
2
+ * is the host's state dir without its leading dot -- git refuses a ref
3
+ * component that starts with a dot. Pure; the sidecar also runs
4
+ * `git check-ref-format --branch` before creating it. */
5
+ import { isStateDirName } from '@corenel/protocol';
6
+ export const MAX_SLUG = 40;
7
+ /** The orchestrator record id minted by record.ts: `orch_` + base-36. */
8
+ export const RUN_ID_RE = /^orch_[a-z0-9]{4,40}$/;
9
+ export function slugify(title) {
10
+ const s = title.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '').slice(0, MAX_SLUG).replace(/-+$/, '');
11
+ return s || 'task';
12
+ }
13
+ /** A dot-dir name minus its dot, with anything git could object to (a `.lock`
14
+ * suffix, `..`) folded to dashes. */
15
+ export function productOf(stateDir) {
16
+ const p = stateDir.replace(/^\.+/, '').replace(/[^A-Za-z0-9_-]+/g, '-').replace(/^-+|-+$/g, '');
17
+ return p || 'agent';
18
+ }
19
+ export function runBranchName(stateDir, runId, title) {
20
+ if (!isStateDirName(stateDir))
21
+ throw new Error(`invalid state dir name: ${String(stateDir)}`);
22
+ if (!RUN_ID_RE.test(runId))
23
+ throw new Error(`invalid run id: ${runId}`);
24
+ return `${productOf(stateDir)}/${runId}-${slugify(title)}`;
25
+ }
26
+ //# sourceMappingURL=branch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch.js","sourceRoot":"","sources":["../../orchestrator/branch.ts"],"names":[],"mappings":"AAAA;;;yDAGyD;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAC3B,yEAAyE;AACzE,MAAM,CAAC,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAEjD,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxH,OAAO,CAAC,IAAI,MAAM,CAAC;AACrB,CAAC;AAED;qCACqC;AACrC,MAAM,UAAU,SAAS,CAAC,QAAgB;IACxC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAChG,OAAO,CAAC,IAAI,OAAO,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,KAAa,EAAE,KAAa;IAC1E,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC9F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;IACxE,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { CheckDef } from '@corenel/protocol';
2
+ export declare const CHECKS_FILE = "checks.yaml";
3
+ export declare const MAX_CHECKS_BYTES: number;
4
+ export declare const MAX_CHECKS = 20;
5
+ export declare const MAX_COMMAND_CHARS = 1000;
6
+ export declare const CHECK_NAME_RE: RegExp;
7
+ export interface ParsedChecks {
8
+ checks: CheckDef[];
9
+ problems: string[];
10
+ }
11
+ /** Parse the file. `checks` holds every valid entry; `problems` says what is
12
+ * wrong with the rest. A file with any problem cannot be pinned. */
13
+ export declare function parseChecksYaml(content: string): ParsedChecks;
14
+ /** The YAML for a list of checks (proposals shown to the user). */
15
+ export declare function checksToYaml(defs: CheckDef[]): string;
16
+ //# sourceMappingURL=checks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checks.d.ts","sourceRoot":"","sources":["../../orchestrator/checks.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,gBAAgB,QAAY,CAAC;AAC1C,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,eAAO,MAAM,aAAa,QAA4B,CAAC;AAEvD,MAAM,WAAW,YAAY;IAAG,MAAM,EAAE,QAAQ,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE;AAMxE;oEACoE;AACpE,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CA6B7D;AAED,mEAAmE;AACnE,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAErD"}
@@ -0,0 +1,66 @@
1
+ /* The checks file, `<root>/<stateDir>/checks.yaml`:
2
+ *
3
+ * checks:
4
+ * typecheck: pnpm typecheck
5
+ * test: pnpm test
6
+ *
7
+ * Pure: parsing and serializing only. The sidecar reads the file, hashes it and
8
+ * compares the hash to the one the user confirmed before it runs anything. */
9
+ import { parse, stringify } from 'yaml';
10
+ export const CHECKS_FILE = 'checks.yaml';
11
+ export const MAX_CHECKS_BYTES = 16 * 1024;
12
+ export const MAX_CHECKS = 20;
13
+ export const MAX_COMMAND_CHARS = 1000;
14
+ export const CHECK_NAME_RE = /^[a-z][a-z0-9_-]{0,39}$/;
15
+ function byteLength(s) {
16
+ return new TextEncoder().encode(s).byteLength;
17
+ }
18
+ /** Parse the file. `checks` holds every valid entry; `problems` says what is
19
+ * wrong with the rest. A file with any problem cannot be pinned. */
20
+ export function parseChecksYaml(content) {
21
+ if (byteLength(content) > MAX_CHECKS_BYTES) {
22
+ return { checks: [], problems: [`the checks file is larger than ${MAX_CHECKS_BYTES} bytes`] };
23
+ }
24
+ let doc;
25
+ try {
26
+ doc = parse(content);
27
+ }
28
+ catch (e) {
29
+ return { checks: [], problems: [`not valid YAML: ${e instanceof Error ? e.message : String(e)}`] };
30
+ }
31
+ const raw = doc && typeof doc === 'object' && !Array.isArray(doc) ? doc.checks : undefined;
32
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
33
+ return { checks: [], problems: ['expected a `checks:` mapping of name to command'] };
34
+ }
35
+ const checks = [];
36
+ const problems = [];
37
+ for (const [name, value] of Object.entries(raw)) {
38
+ if (!CHECK_NAME_RE.test(name)) {
39
+ problems.push(`"${name}": a name is lower-case letters, digits, - and _, starts with a letter, at most 40 characters`);
40
+ continue;
41
+ }
42
+ if (typeof value !== 'string' || !value.trim()) {
43
+ problems.push(`"${name}": the command must be a non-empty string`);
44
+ continue;
45
+ }
46
+ if (/[\r\n\0]/.test(value)) {
47
+ problems.push(`"${name}": the command must be one line`);
48
+ continue;
49
+ }
50
+ if (value.length > MAX_COMMAND_CHARS) {
51
+ problems.push(`"${name}": the command is longer than ${MAX_COMMAND_CHARS} characters`);
52
+ continue;
53
+ }
54
+ checks.push({ name, command: value.trim() });
55
+ }
56
+ if (checks.length > MAX_CHECKS)
57
+ problems.push(`at most ${MAX_CHECKS} checks are allowed`);
58
+ if (!checks.length && !problems.length)
59
+ problems.push('no checks are defined');
60
+ return { checks, problems };
61
+ }
62
+ /** The YAML for a list of checks (proposals shown to the user). */
63
+ export function checksToYaml(defs) {
64
+ return stringify({ checks: Object.fromEntries(defs.map((d) => [d.name, d.command])) });
65
+ }
66
+ //# sourceMappingURL=checks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checks.js","sourceRoot":"","sources":["../../orchestrator/checks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ export interface PlanTask {
2
+ n: number;
3
+ title: string;
4
+ agent: string;
5
+ steps: number;
6
+ }
7
+ export declare const PLAN_DIR = "docs/plans";
8
+ export declare const SUPERPOWERS_PLAN_DIR = "docs/superpowers/plans";
9
+ /** One task of a plan document, as the review sheet shows it. */
10
+ export interface PlanSection {
11
+ n: number;
12
+ title: string;
13
+ agent: string;
14
+ /** Each line under `**Files:**`, its bullet removed (or the text after `**Files:**` on the same line). */
15
+ files: string[];
16
+ /** The text of each `- [ ]` line, a wrapping `**...**` removed. */
17
+ steps: string[];
18
+ /** The whole section as written, heading included. */
19
+ raw: string;
20
+ /** The section without its heading, its Agent line and its Files block. */
21
+ body: string;
22
+ }
23
+ /** A run of plan text: prose, or the inside of one fenced code block. */
24
+ export interface PlanTextPart {
25
+ kind: 'text' | 'code';
26
+ text: string;
27
+ lang?: string;
28
+ }
29
+ /** Text and fenced code, in order. An unclosed fence runs to the end. */
30
+ export declare function splitFences(text: string): PlanTextPart[];
31
+ /** Every `### Task N:` section. Lines inside fenced code are text, never
32
+ * structure: a `### Task` or `- [ ]` inside a code block belongs to the task
33
+ * the block is in. A heading at the task's level or above ends the task. */
34
+ export declare function parsePlanSections(markdown: string): PlanSection[];
35
+ export declare function parsePlan(markdown: string): PlanTask[];
36
+ /** What is wrong with a plan, in the words the orchestrator is told. */
37
+ export declare function planProblems(tasks: PlanTask[], roster: readonly string[]): string[];
38
+ export declare function planSlug(title: string): string;
39
+ export declare function planFilePath(dir: string, now: Date, title: string): string;
40
+ export declare function planHash(markdown: string): Promise<string>;
41
+ //# sourceMappingURL=planDoc.d.ts.map