synorch 0.2.0 → 0.4.0-beta.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 (1137) hide show
  1. package/CHANGELOG.md +55 -1
  2. package/README.md +338 -28
  3. package/dist/application/doctor-service.d.ts +16 -0
  4. package/dist/application/doctor-service.d.ts.map +1 -1
  5. package/dist/application/doctor-service.js +230 -32
  6. package/dist/application/doctor-service.js.map +1 -1
  7. package/dist/application/generated-skill-doctor.d.ts +9 -0
  8. package/dist/application/generated-skill-doctor.d.ts.map +1 -0
  9. package/dist/application/generated-skill-doctor.js +433 -0
  10. package/dist/application/generated-skill-doctor.js.map +1 -0
  11. package/dist/application/project-discovery.d.ts +26 -1
  12. package/dist/application/project-discovery.d.ts.map +1 -1
  13. package/dist/application/project-discovery.js +99 -6
  14. package/dist/application/project-discovery.js.map +1 -1
  15. package/dist/application/safe-path.d.ts +19 -0
  16. package/dist/application/safe-path.d.ts.map +1 -0
  17. package/dist/application/safe-path.js +35 -0
  18. package/dist/application/safe-path.js.map +1 -0
  19. package/dist/application/size-ceiling.d.ts +15 -0
  20. package/dist/application/size-ceiling.d.ts.map +1 -0
  21. package/dist/application/size-ceiling.js +32 -0
  22. package/dist/application/size-ceiling.js.map +1 -0
  23. package/dist/application/structure-service.d.ts.map +1 -1
  24. package/dist/application/structure-service.js +10 -1
  25. package/dist/application/structure-service.js.map +1 -1
  26. package/dist/build-info.json +4 -0
  27. package/dist/cli.js +135 -18
  28. package/dist/cli.js.map +1 -1
  29. package/dist/domain/canonical-contracts.d.ts +69 -0
  30. package/dist/domain/canonical-contracts.d.ts.map +1 -0
  31. package/dist/domain/canonical-contracts.js +92 -0
  32. package/dist/domain/canonical-contracts.js.map +1 -0
  33. package/dist/domain/generated-skill.d.ts +55 -0
  34. package/dist/domain/generated-skill.d.ts.map +1 -0
  35. package/dist/domain/generated-skill.js +90 -0
  36. package/dist/domain/generated-skill.js.map +1 -0
  37. package/dist/domain/generation.d.ts +15 -2
  38. package/dist/domain/generation.d.ts.map +1 -1
  39. package/dist/domain/observation-ledger.d.ts +118 -0
  40. package/dist/domain/observation-ledger.d.ts.map +1 -0
  41. package/dist/domain/observation-ledger.js +183 -0
  42. package/dist/domain/observation-ledger.js.map +1 -0
  43. package/dist/domain/product.d.ts +1 -1
  44. package/dist/domain/product.d.ts.map +1 -1
  45. package/dist/domain/product.js +1 -1
  46. package/dist/domain/product.js.map +1 -1
  47. package/dist/domain/relative-path.d.ts +21 -0
  48. package/dist/domain/relative-path.d.ts.map +1 -0
  49. package/dist/domain/relative-path.js +43 -0
  50. package/dist/domain/relative-path.js.map +1 -0
  51. package/dist/domain/skill-packs.d.ts.map +1 -1
  52. package/dist/domain/skill-packs.js +1 -0
  53. package/dist/domain/skill-packs.js.map +1 -1
  54. package/dist/domain/suggest.d.ts +5 -0
  55. package/dist/domain/suggest.d.ts.map +1 -0
  56. package/dist/domain/suggest.js +32 -0
  57. package/dist/domain/suggest.js.map +1 -0
  58. package/dist/domain/zod-issues.d.ts +21 -0
  59. package/dist/domain/zod-issues.d.ts.map +1 -0
  60. package/dist/domain/zod-issues.js +27 -0
  61. package/dist/domain/zod-issues.js.map +1 -0
  62. package/dist/harness/auth/api-key.d.ts +13 -0
  63. package/dist/harness/auth/api-key.d.ts.map +1 -0
  64. package/dist/harness/auth/api-key.js +87 -0
  65. package/dist/harness/auth/api-key.js.map +1 -0
  66. package/dist/harness/auth/claude-bridge.d.ts +22 -0
  67. package/dist/harness/auth/claude-bridge.d.ts.map +1 -0
  68. package/dist/harness/auth/claude-bridge.js +92 -0
  69. package/dist/harness/auth/claude-bridge.js.map +1 -0
  70. package/dist/harness/auth/command.d.ts +17 -0
  71. package/dist/harness/auth/command.d.ts.map +1 -0
  72. package/dist/harness/auth/command.js +223 -0
  73. package/dist/harness/auth/command.js.map +1 -0
  74. package/dist/harness/auth/credential-store.d.ts +30 -0
  75. package/dist/harness/auth/credential-store.d.ts.map +1 -0
  76. package/dist/harness/auth/credential-store.js +270 -0
  77. package/dist/harness/auth/credential-store.js.map +1 -0
  78. package/dist/harness/auth/index.d.ts +13 -0
  79. package/dist/harness/auth/index.d.ts.map +1 -0
  80. package/dist/harness/auth/index.js +10 -0
  81. package/dist/harness/auth/index.js.map +1 -0
  82. package/dist/harness/auth/json-file.d.ts +8 -0
  83. package/dist/harness/auth/json-file.d.ts.map +1 -0
  84. package/dist/harness/auth/json-file.js +57 -0
  85. package/dist/harness/auth/json-file.js.map +1 -0
  86. package/dist/harness/auth/jwt.d.ts +11 -0
  87. package/dist/harness/auth/jwt.d.ts.map +1 -0
  88. package/dist/harness/auth/jwt.js +37 -0
  89. package/dist/harness/auth/jwt.js.map +1 -0
  90. package/dist/harness/auth/keychain.d.ts +39 -0
  91. package/dist/harness/auth/keychain.d.ts.map +1 -0
  92. package/dist/harness/auth/keychain.js +191 -0
  93. package/dist/harness/auth/keychain.js.map +1 -0
  94. package/dist/harness/auth/locks.d.ts +19 -0
  95. package/dist/harness/auth/locks.d.ts.map +1 -0
  96. package/dist/harness/auth/locks.js +102 -0
  97. package/dist/harness/auth/locks.js.map +1 -0
  98. package/dist/harness/auth/notices.d.ts +6 -0
  99. package/dist/harness/auth/notices.d.ts.map +1 -0
  100. package/dist/harness/auth/notices.js +29 -0
  101. package/dist/harness/auth/notices.js.map +1 -0
  102. package/dist/harness/auth/openai-chatgpt.d.ts +32 -0
  103. package/dist/harness/auth/openai-chatgpt.d.ts.map +1 -0
  104. package/dist/harness/auth/openai-chatgpt.js +446 -0
  105. package/dist/harness/auth/openai-chatgpt.js.map +1 -0
  106. package/dist/harness/auth/profile-state.d.ts +25 -0
  107. package/dist/harness/auth/profile-state.d.ts.map +1 -0
  108. package/dist/harness/auth/profile-state.js +77 -0
  109. package/dist/harness/auth/profile-state.js.map +1 -0
  110. package/dist/harness/auth/providers.d.ts +27 -0
  111. package/dist/harness/auth/providers.d.ts.map +1 -0
  112. package/dist/harness/auth/providers.js +66 -0
  113. package/dist/harness/auth/providers.js.map +1 -0
  114. package/dist/harness/auth/resolved-credential.d.ts +11 -0
  115. package/dist/harness/auth/resolved-credential.d.ts.map +1 -0
  116. package/dist/harness/auth/resolved-credential.js +35 -0
  117. package/dist/harness/auth/resolved-credential.js.map +1 -0
  118. package/dist/harness/cli/appearance.d.ts +28 -0
  119. package/dist/harness/cli/appearance.d.ts.map +1 -0
  120. package/dist/harness/cli/appearance.js +123 -0
  121. package/dist/harness/cli/appearance.js.map +1 -0
  122. package/dist/harness/cli/args.d.ts +429 -0
  123. package/dist/harness/cli/args.d.ts.map +1 -0
  124. package/dist/harness/cli/args.js +372 -0
  125. package/dist/harness/cli/args.js.map +1 -0
  126. package/dist/harness/cli/attachments.d.ts +44 -0
  127. package/dist/harness/cli/attachments.d.ts.map +1 -0
  128. package/dist/harness/cli/attachments.js +176 -0
  129. package/dist/harness/cli/attachments.js.map +1 -0
  130. package/dist/harness/cli/canonical.d.ts +64 -0
  131. package/dist/harness/cli/canonical.d.ts.map +1 -0
  132. package/dist/harness/cli/canonical.js +455 -0
  133. package/dist/harness/cli/canonical.js.map +1 -0
  134. package/dist/harness/cli/claude-native-approvals.d.ts +45 -0
  135. package/dist/harness/cli/claude-native-approvals.d.ts.map +1 -0
  136. package/dist/harness/cli/claude-native-approvals.js +183 -0
  137. package/dist/harness/cli/claude-native-approvals.js.map +1 -0
  138. package/dist/harness/cli/command-grants.d.ts +23 -0
  139. package/dist/harness/cli/command-grants.d.ts.map +1 -0
  140. package/dist/harness/cli/command-grants.js +76 -0
  141. package/dist/harness/cli/command-grants.js.map +1 -0
  142. package/dist/harness/cli/config-command.d.ts +98 -0
  143. package/dist/harness/cli/config-command.d.ts.map +1 -0
  144. package/dist/harness/cli/config-command.js +561 -0
  145. package/dist/harness/cli/config-command.js.map +1 -0
  146. package/dist/harness/cli/config.d.ts +429 -0
  147. package/dist/harness/cli/config.d.ts.map +1 -0
  148. package/dist/harness/cli/config.js +504 -0
  149. package/dist/harness/cli/config.js.map +1 -0
  150. package/dist/harness/cli/conversation.d.ts +35 -0
  151. package/dist/harness/cli/conversation.d.ts.map +1 -0
  152. package/dist/harness/cli/conversation.js +3755 -0
  153. package/dist/harness/cli/conversation.js.map +1 -0
  154. package/dist/harness/cli/doctor.d.ts +32 -0
  155. package/dist/harness/cli/doctor.d.ts.map +1 -0
  156. package/dist/harness/cli/doctor.js +329 -0
  157. package/dist/harness/cli/doctor.js.map +1 -0
  158. package/dist/harness/cli/effort-command.d.ts +41 -0
  159. package/dist/harness/cli/effort-command.d.ts.map +1 -0
  160. package/dist/harness/cli/effort-command.js +133 -0
  161. package/dist/harness/cli/effort-command.js.map +1 -0
  162. package/dist/harness/cli/extensions/agents.d.ts +40 -0
  163. package/dist/harness/cli/extensions/agents.d.ts.map +1 -0
  164. package/dist/harness/cli/extensions/agents.js +66 -0
  165. package/dist/harness/cli/extensions/agents.js.map +1 -0
  166. package/dist/harness/cli/extensions/catalog.d.ts +134 -0
  167. package/dist/harness/cli/extensions/catalog.d.ts.map +1 -0
  168. package/dist/harness/cli/extensions/catalog.js +213 -0
  169. package/dist/harness/cli/extensions/catalog.js.map +1 -0
  170. package/dist/harness/cli/extensions/claude-home.d.ts +33 -0
  171. package/dist/harness/cli/extensions/claude-home.d.ts.map +1 -0
  172. package/dist/harness/cli/extensions/claude-home.js +78 -0
  173. package/dist/harness/cli/extensions/claude-home.js.map +1 -0
  174. package/dist/harness/cli/extensions/controller.d.ts +51 -0
  175. package/dist/harness/cli/extensions/controller.d.ts.map +1 -0
  176. package/dist/harness/cli/extensions/controller.js +67 -0
  177. package/dist/harness/cli/extensions/controller.js.map +1 -0
  178. package/dist/harness/cli/extensions/hooks.d.ts +164 -0
  179. package/dist/harness/cli/extensions/hooks.d.ts.map +1 -0
  180. package/dist/harness/cli/extensions/hooks.js +442 -0
  181. package/dist/harness/cli/extensions/hooks.js.map +1 -0
  182. package/dist/harness/cli/extensions/index.d.ts +10 -0
  183. package/dist/harness/cli/extensions/index.d.ts.map +1 -0
  184. package/dist/harness/cli/extensions/index.js +10 -0
  185. package/dist/harness/cli/extensions/index.js.map +1 -0
  186. package/dist/harness/cli/extensions/markdown.d.ts +46 -0
  187. package/dist/harness/cli/extensions/markdown.d.ts.map +1 -0
  188. package/dist/harness/cli/extensions/markdown.js +139 -0
  189. package/dist/harness/cli/extensions/markdown.js.map +1 -0
  190. package/dist/harness/cli/extensions/plugins.d.ts +160 -0
  191. package/dist/harness/cli/extensions/plugins.d.ts.map +1 -0
  192. package/dist/harness/cli/extensions/plugins.js +645 -0
  193. package/dist/harness/cli/extensions/plugins.js.map +1 -0
  194. package/dist/harness/cli/extensions/tool-hooks.d.ts +28 -0
  195. package/dist/harness/cli/extensions/tool-hooks.d.ts.map +1 -0
  196. package/dist/harness/cli/extensions/tool-hooks.js +63 -0
  197. package/dist/harness/cli/extensions/tool-hooks.js.map +1 -0
  198. package/dist/harness/cli/extensions-command.d.ts +64 -0
  199. package/dist/harness/cli/extensions-command.d.ts.map +1 -0
  200. package/dist/harness/cli/extensions-command.js +639 -0
  201. package/dist/harness/cli/extensions-command.js.map +1 -0
  202. package/dist/harness/cli/help.d.ts +9 -0
  203. package/dist/harness/cli/help.d.ts.map +1 -0
  204. package/dist/harness/cli/help.js +191 -0
  205. package/dist/harness/cli/help.js.map +1 -0
  206. package/dist/harness/cli/index.d.ts +52 -0
  207. package/dist/harness/cli/index.d.ts.map +1 -0
  208. package/dist/harness/cli/index.js +297 -0
  209. package/dist/harness/cli/index.js.map +1 -0
  210. package/dist/harness/cli/inspect.d.ts +40 -0
  211. package/dist/harness/cli/inspect.d.ts.map +1 -0
  212. package/dist/harness/cli/inspect.js +185 -0
  213. package/dist/harness/cli/inspect.js.map +1 -0
  214. package/dist/harness/cli/mcp-command.d.ts +61 -0
  215. package/dist/harness/cli/mcp-command.d.ts.map +1 -0
  216. package/dist/harness/cli/mcp-command.js +519 -0
  217. package/dist/harness/cli/mcp-command.js.map +1 -0
  218. package/dist/harness/cli/memory-desk.d.ts +28 -0
  219. package/dist/harness/cli/memory-desk.d.ts.map +1 -0
  220. package/dist/harness/cli/memory-desk.js +275 -0
  221. package/dist/harness/cli/memory-desk.js.map +1 -0
  222. package/dist/harness/cli/model-picker.d.ts +44 -0
  223. package/dist/harness/cli/model-picker.d.ts.map +1 -0
  224. package/dist/harness/cli/model-picker.js +267 -0
  225. package/dist/harness/cli/model-picker.js.map +1 -0
  226. package/dist/harness/cli/onboarding.d.ts +29 -0
  227. package/dist/harness/cli/onboarding.d.ts.map +1 -0
  228. package/dist/harness/cli/onboarding.js +101 -0
  229. package/dist/harness/cli/onboarding.js.map +1 -0
  230. package/dist/harness/cli/orchestrate-tool.d.ts +60 -0
  231. package/dist/harness/cli/orchestrate-tool.d.ts.map +1 -0
  232. package/dist/harness/cli/orchestrate-tool.js +167 -0
  233. package/dist/harness/cli/orchestrate-tool.js.map +1 -0
  234. package/dist/harness/cli/orchestration-view.d.ts +57 -0
  235. package/dist/harness/cli/orchestration-view.d.ts.map +1 -0
  236. package/dist/harness/cli/orchestration-view.js +371 -0
  237. package/dist/harness/cli/orchestration-view.js.map +1 -0
  238. package/dist/harness/cli/outcome.d.ts +11 -0
  239. package/dist/harness/cli/outcome.d.ts.map +1 -0
  240. package/dist/harness/cli/outcome.js +70 -0
  241. package/dist/harness/cli/outcome.js.map +1 -0
  242. package/dist/harness/cli/panels/common.d.ts +30 -0
  243. package/dist/harness/cli/panels/common.d.ts.map +1 -0
  244. package/dist/harness/cli/panels/common.js +143 -0
  245. package/dist/harness/cli/panels/common.js.map +1 -0
  246. package/dist/harness/cli/panels/mcp.d.ts +18 -0
  247. package/dist/harness/cli/panels/mcp.d.ts.map +1 -0
  248. package/dist/harness/cli/panels/mcp.js +132 -0
  249. package/dist/harness/cli/panels/mcp.js.map +1 -0
  250. package/dist/harness/cli/panels/plugins.d.ts +8 -0
  251. package/dist/harness/cli/panels/plugins.d.ts.map +1 -0
  252. package/dist/harness/cli/panels/plugins.js +114 -0
  253. package/dist/harness/cli/panels/plugins.js.map +1 -0
  254. package/dist/harness/cli/panels/session.d.ts +54 -0
  255. package/dist/harness/cli/panels/session.d.ts.map +1 -0
  256. package/dist/harness/cli/panels/session.js +221 -0
  257. package/dist/harness/cli/panels/session.js.map +1 -0
  258. package/dist/harness/cli/panels/skills.d.ts +16 -0
  259. package/dist/harness/cli/panels/skills.d.ts.map +1 -0
  260. package/dist/harness/cli/panels/skills.js +146 -0
  261. package/dist/harness/cli/panels/skills.js.map +1 -0
  262. package/dist/harness/cli/project-profile.d.ts +87 -0
  263. package/dist/harness/cli/project-profile.d.ts.map +1 -0
  264. package/dist/harness/cli/project-profile.js +709 -0
  265. package/dist/harness/cli/project-profile.js.map +1 -0
  266. package/dist/harness/cli/project-scope.d.ts +2 -0
  267. package/dist/harness/cli/project-scope.d.ts.map +1 -0
  268. package/dist/harness/cli/project-scope.js +55 -0
  269. package/dist/harness/cli/project-scope.js.map +1 -0
  270. package/dist/harness/cli/renderers.d.ts +75 -0
  271. package/dist/harness/cli/renderers.d.ts.map +1 -0
  272. package/dist/harness/cli/renderers.js +162 -0
  273. package/dist/harness/cli/renderers.js.map +1 -0
  274. package/dist/harness/cli/rewind.d.ts +54 -0
  275. package/dist/harness/cli/rewind.d.ts.map +1 -0
  276. package/dist/harness/cli/rewind.js +80 -0
  277. package/dist/harness/cli/rewind.js.map +1 -0
  278. package/dist/harness/cli/role-policy.d.ts +8 -0
  279. package/dist/harness/cli/role-policy.d.ts.map +1 -0
  280. package/dist/harness/cli/role-policy.js +53 -0
  281. package/dist/harness/cli/role-policy.js.map +1 -0
  282. package/dist/harness/cli/run-summary.d.ts +16 -0
  283. package/dist/harness/cli/run-summary.d.ts.map +1 -0
  284. package/dist/harness/cli/run-summary.js +105 -0
  285. package/dist/harness/cli/run-summary.js.map +1 -0
  286. package/dist/harness/cli/runtime.d.ts +182 -0
  287. package/dist/harness/cli/runtime.d.ts.map +1 -0
  288. package/dist/harness/cli/runtime.js +999 -0
  289. package/dist/harness/cli/runtime.js.map +1 -0
  290. package/dist/harness/cli/scripted-script.d.ts +50 -0
  291. package/dist/harness/cli/scripted-script.d.ts.map +1 -0
  292. package/dist/harness/cli/scripted-script.js +110 -0
  293. package/dist/harness/cli/scripted-script.js.map +1 -0
  294. package/dist/harness/cli/session-git.d.ts +76 -0
  295. package/dist/harness/cli/session-git.d.ts.map +1 -0
  296. package/dist/harness/cli/session-git.js +146 -0
  297. package/dist/harness/cli/session-git.js.map +1 -0
  298. package/dist/harness/cli/session.d.ts +22 -0
  299. package/dist/harness/cli/session.d.ts.map +1 -0
  300. package/dist/harness/cli/session.js +203 -0
  301. package/dist/harness/cli/session.js.map +1 -0
  302. package/dist/harness/cli/slash-commands.d.ts +85 -0
  303. package/dist/harness/cli/slash-commands.d.ts.map +1 -0
  304. package/dist/harness/cli/slash-commands.js +114 -0
  305. package/dist/harness/cli/slash-commands.js.map +1 -0
  306. package/dist/harness/cli/startup-notices.d.ts +32 -0
  307. package/dist/harness/cli/startup-notices.d.ts.map +1 -0
  308. package/dist/harness/cli/startup-notices.js +93 -0
  309. package/dist/harness/cli/startup-notices.js.map +1 -0
  310. package/dist/harness/cli/terminal.d.ts +32 -0
  311. package/dist/harness/cli/terminal.d.ts.map +1 -0
  312. package/dist/harness/cli/terminal.js +21 -0
  313. package/dist/harness/cli/terminal.js.map +1 -0
  314. package/dist/harness/cli/transparency.d.ts +39 -0
  315. package/dist/harness/cli/transparency.d.ts.map +1 -0
  316. package/dist/harness/cli/transparency.js +491 -0
  317. package/dist/harness/cli/transparency.js.map +1 -0
  318. package/dist/harness/cli/trust.d.ts +40 -0
  319. package/dist/harness/cli/trust.d.ts.map +1 -0
  320. package/dist/harness/cli/trust.js +133 -0
  321. package/dist/harness/cli/trust.js.map +1 -0
  322. package/dist/harness/cli/usage-stats.d.ts +57 -0
  323. package/dist/harness/cli/usage-stats.d.ts.map +1 -0
  324. package/dist/harness/cli/usage-stats.js +341 -0
  325. package/dist/harness/cli/usage-stats.js.map +1 -0
  326. package/dist/harness/context/compaction.d.ts +69 -0
  327. package/dist/harness/context/compaction.d.ts.map +1 -0
  328. package/dist/harness/context/compaction.js +149 -0
  329. package/dist/harness/context/compaction.js.map +1 -0
  330. package/dist/harness/context/context-builder.d.ts +76 -0
  331. package/dist/harness/context/context-builder.d.ts.map +1 -0
  332. package/dist/harness/context/context-builder.js +367 -0
  333. package/dist/harness/context/context-builder.js.map +1 -0
  334. package/dist/harness/context/history.d.ts +31 -0
  335. package/dist/harness/context/history.d.ts.map +1 -0
  336. package/dist/harness/context/history.js +105 -0
  337. package/dist/harness/context/history.js.map +1 -0
  338. package/dist/harness/context/index.d.ts +11 -0
  339. package/dist/harness/context/index.d.ts.map +1 -0
  340. package/dist/harness/context/index.js +9 -0
  341. package/dist/harness/context/index.js.map +1 -0
  342. package/dist/harness/context/instructions.d.ts +30 -0
  343. package/dist/harness/context/instructions.d.ts.map +1 -0
  344. package/dist/harness/context/instructions.js +82 -0
  345. package/dist/harness/context/instructions.js.map +1 -0
  346. package/dist/harness/context/model-view.d.ts +46 -0
  347. package/dist/harness/context/model-view.d.ts.map +1 -0
  348. package/dist/harness/context/model-view.js +136 -0
  349. package/dist/harness/context/model-view.js.map +1 -0
  350. package/dist/harness/context/scope.d.ts +9 -0
  351. package/dist/harness/context/scope.d.ts.map +1 -0
  352. package/dist/harness/context/scope.js +50 -0
  353. package/dist/harness/context/scope.js.map +1 -0
  354. package/dist/harness/context/skills.d.ts +75 -0
  355. package/dist/harness/context/skills.d.ts.map +1 -0
  356. package/dist/harness/context/skills.js +109 -0
  357. package/dist/harness/context/skills.js.map +1 -0
  358. package/dist/harness/context/tokens.d.ts +10 -0
  359. package/dist/harness/context/tokens.d.ts.map +1 -0
  360. package/dist/harness/context/tokens.js +39 -0
  361. package/dist/harness/context/tokens.js.map +1 -0
  362. package/dist/harness/contracts/auth.d.ts +214 -0
  363. package/dist/harness/contracts/auth.d.ts.map +1 -0
  364. package/dist/harness/contracts/auth.js +120 -0
  365. package/dist/harness/contracts/auth.js.map +1 -0
  366. package/dist/harness/contracts/choice.d.ts +115 -0
  367. package/dist/harness/contracts/choice.d.ts.map +1 -0
  368. package/dist/harness/contracts/choice.js +115 -0
  369. package/dist/harness/contracts/choice.js.map +1 -0
  370. package/dist/harness/contracts/common.d.ts +119 -0
  371. package/dist/harness/contracts/common.d.ts.map +1 -0
  372. package/dist/harness/contracts/common.js +66 -0
  373. package/dist/harness/contracts/common.js.map +1 -0
  374. package/dist/harness/contracts/digest.d.ts +59 -0
  375. package/dist/harness/contracts/digest.d.ts.map +1 -0
  376. package/dist/harness/contracts/digest.js +88 -0
  377. package/dist/harness/contracts/digest.js.map +1 -0
  378. package/dist/harness/contracts/errors.d.ts +70 -0
  379. package/dist/harness/contracts/errors.d.ts.map +1 -0
  380. package/dist/harness/contracts/errors.js +87 -0
  381. package/dist/harness/contracts/errors.js.map +1 -0
  382. package/dist/harness/contracts/events.d.ts +3094 -0
  383. package/dist/harness/contracts/events.d.ts.map +1 -0
  384. package/dist/harness/contracts/events.js +426 -0
  385. package/dist/harness/contracts/events.js.map +1 -0
  386. package/dist/harness/contracts/evidence.d.ts +286 -0
  387. package/dist/harness/contracts/evidence.d.ts.map +1 -0
  388. package/dist/harness/contracts/evidence.js +234 -0
  389. package/dist/harness/contracts/evidence.js.map +1 -0
  390. package/dist/harness/contracts/ids.d.ts +77 -0
  391. package/dist/harness/contracts/ids.d.ts.map +1 -0
  392. package/dist/harness/contracts/ids.js +126 -0
  393. package/dist/harness/contracts/ids.js.map +1 -0
  394. package/dist/harness/contracts/index.d.ts +23 -0
  395. package/dist/harness/contracts/index.d.ts.map +1 -0
  396. package/dist/harness/contracts/index.js +23 -0
  397. package/dist/harness/contracts/index.js.map +1 -0
  398. package/dist/harness/contracts/jsonl.d.ts +3386 -0
  399. package/dist/harness/contracts/jsonl.d.ts.map +1 -0
  400. package/dist/harness/contracts/jsonl.js +87 -0
  401. package/dist/harness/contracts/jsonl.js.map +1 -0
  402. package/dist/harness/contracts/memory.d.ts +271 -0
  403. package/dist/harness/contracts/memory.d.ts.map +1 -0
  404. package/dist/harness/contracts/memory.js +152 -0
  405. package/dist/harness/contracts/memory.js.map +1 -0
  406. package/dist/harness/contracts/model.d.ts +1201 -0
  407. package/dist/harness/contracts/model.d.ts.map +1 -0
  408. package/dist/harness/contracts/model.js +386 -0
  409. package/dist/harness/contracts/model.js.map +1 -0
  410. package/dist/harness/contracts/packets.d.ts +945 -0
  411. package/dist/harness/contracts/packets.d.ts.map +1 -0
  412. package/dist/harness/contracts/packets.js +535 -0
  413. package/dist/harness/contracts/packets.js.map +1 -0
  414. package/dist/harness/contracts/panel.d.ts +140 -0
  415. package/dist/harness/contracts/panel.d.ts.map +1 -0
  416. package/dist/harness/contracts/panel.js +19 -0
  417. package/dist/harness/contracts/panel.js.map +1 -0
  418. package/dist/harness/contracts/paths.d.ts +58 -0
  419. package/dist/harness/contracts/paths.d.ts.map +1 -0
  420. package/dist/harness/contracts/paths.js +204 -0
  421. package/dist/harness/contracts/paths.js.map +1 -0
  422. package/dist/harness/contracts/policy.d.ts +459 -0
  423. package/dist/harness/contracts/policy.d.ts.map +1 -0
  424. package/dist/harness/contracts/policy.js +338 -0
  425. package/dist/harness/contracts/policy.js.map +1 -0
  426. package/dist/harness/contracts/projection.d.ts +111 -0
  427. package/dist/harness/contracts/projection.d.ts.map +1 -0
  428. package/dist/harness/contracts/projection.js +2 -0
  429. package/dist/harness/contracts/projection.js.map +1 -0
  430. package/dist/harness/contracts/renderer.d.ts +291 -0
  431. package/dist/harness/contracts/renderer.d.ts.map +1 -0
  432. package/dist/harness/contracts/renderer.js +36 -0
  433. package/dist/harness/contracts/renderer.js.map +1 -0
  434. package/dist/harness/contracts/roles.d.ts +28 -0
  435. package/dist/harness/contracts/roles.d.ts.map +1 -0
  436. package/dist/harness/contracts/roles.js +36 -0
  437. package/dist/harness/contracts/roles.js.map +1 -0
  438. package/dist/harness/contracts/runtime.d.ts +283 -0
  439. package/dist/harness/contracts/runtime.d.ts.map +1 -0
  440. package/dist/harness/contracts/runtime.js +13 -0
  441. package/dist/harness/contracts/runtime.js.map +1 -0
  442. package/dist/harness/contracts/state.d.ts +124 -0
  443. package/dist/harness/contracts/state.d.ts.map +1 -0
  444. package/dist/harness/contracts/state.js +172 -0
  445. package/dist/harness/contracts/state.js.map +1 -0
  446. package/dist/harness/contracts/store.d.ts +117 -0
  447. package/dist/harness/contracts/store.d.ts.map +1 -0
  448. package/dist/harness/contracts/store.js +54 -0
  449. package/dist/harness/contracts/store.js.map +1 -0
  450. package/dist/harness/contracts/tools.d.ts +296 -0
  451. package/dist/harness/contracts/tools.d.ts.map +1 -0
  452. package/dist/harness/contracts/tools.js +117 -0
  453. package/dist/harness/contracts/tools.js.map +1 -0
  454. package/dist/harness/contracts/views.d.ts +468 -0
  455. package/dist/harness/contracts/views.d.ts.map +1 -0
  456. package/dist/harness/contracts/views.js +2 -0
  457. package/dist/harness/contracts/views.js.map +1 -0
  458. package/dist/harness/core/driver.d.ts +53 -0
  459. package/dist/harness/core/driver.d.ts.map +1 -0
  460. package/dist/harness/core/driver.js +566 -0
  461. package/dist/harness/core/driver.js.map +1 -0
  462. package/dist/harness/core/envelope.d.ts +11 -0
  463. package/dist/harness/core/envelope.d.ts.map +1 -0
  464. package/dist/harness/core/envelope.js +35 -0
  465. package/dist/harness/core/envelope.js.map +1 -0
  466. package/dist/harness/core/index.d.ts +7 -0
  467. package/dist/harness/core/index.d.ts.map +1 -0
  468. package/dist/harness/core/index.js +5 -0
  469. package/dist/harness/core/index.js.map +1 -0
  470. package/dist/harness/core/projection.d.ts +10 -0
  471. package/dist/harness/core/projection.d.ts.map +1 -0
  472. package/dist/harness/core/projection.js +268 -0
  473. package/dist/harness/core/projection.js.map +1 -0
  474. package/dist/harness/core/recovery.d.ts +14 -0
  475. package/dist/harness/core/recovery.d.ts.map +1 -0
  476. package/dist/harness/core/recovery.js +115 -0
  477. package/dist/harness/core/recovery.js.map +1 -0
  478. package/dist/harness/core/stream.d.ts +23 -0
  479. package/dist/harness/core/stream.d.ts.map +1 -0
  480. package/dist/harness/core/stream.js +102 -0
  481. package/dist/harness/core/stream.js.map +1 -0
  482. package/dist/harness/core/testing.d.ts +80 -0
  483. package/dist/harness/core/testing.d.ts.map +1 -0
  484. package/dist/harness/core/testing.js +258 -0
  485. package/dist/harness/core/testing.js.map +1 -0
  486. package/dist/harness/mcp/approvals.d.ts +14 -0
  487. package/dist/harness/mcp/approvals.d.ts.map +1 -0
  488. package/dist/harness/mcp/approvals.js +60 -0
  489. package/dist/harness/mcp/approvals.js.map +1 -0
  490. package/dist/harness/mcp/client.d.ts +74 -0
  491. package/dist/harness/mcp/client.d.ts.map +1 -0
  492. package/dist/harness/mcp/client.js +214 -0
  493. package/dist/harness/mcp/client.js.map +1 -0
  494. package/dist/harness/mcp/config.d.ts +156 -0
  495. package/dist/harness/mcp/config.d.ts.map +1 -0
  496. package/dist/harness/mcp/config.js +180 -0
  497. package/dist/harness/mcp/config.js.map +1 -0
  498. package/dist/harness/mcp/errors.d.ts +24 -0
  499. package/dist/harness/mcp/errors.d.ts.map +1 -0
  500. package/dist/harness/mcp/errors.js +67 -0
  501. package/dist/harness/mcp/errors.js.map +1 -0
  502. package/dist/harness/mcp/index.d.ts +9 -0
  503. package/dist/harness/mcp/index.d.ts.map +1 -0
  504. package/dist/harness/mcp/index.js +9 -0
  505. package/dist/harness/mcp/index.js.map +1 -0
  506. package/dist/harness/mcp/manager.d.ts +115 -0
  507. package/dist/harness/mcp/manager.d.ts.map +1 -0
  508. package/dist/harness/mcp/manager.js +361 -0
  509. package/dist/harness/mcp/manager.js.map +1 -0
  510. package/dist/harness/mcp/oauth.d.ts +54 -0
  511. package/dist/harness/mcp/oauth.d.ts.map +1 -0
  512. package/dist/harness/mcp/oauth.js +253 -0
  513. package/dist/harness/mcp/oauth.js.map +1 -0
  514. package/dist/harness/mcp/tools.d.ts +24 -0
  515. package/dist/harness/mcp/tools.d.ts.map +1 -0
  516. package/dist/harness/mcp/tools.js +142 -0
  517. package/dist/harness/mcp/tools.js.map +1 -0
  518. package/dist/harness/memory/bootstrap.d.ts +55 -0
  519. package/dist/harness/memory/bootstrap.d.ts.map +1 -0
  520. package/dist/harness/memory/bootstrap.js +124 -0
  521. package/dist/harness/memory/bootstrap.js.map +1 -0
  522. package/dist/harness/memory/desk.d.ts +74 -0
  523. package/dist/harness/memory/desk.d.ts.map +1 -0
  524. package/dist/harness/memory/desk.js +211 -0
  525. package/dist/harness/memory/desk.js.map +1 -0
  526. package/dist/harness/memory/graph.d.ts +24 -0
  527. package/dist/harness/memory/graph.d.ts.map +1 -0
  528. package/dist/harness/memory/graph.js +92 -0
  529. package/dist/harness/memory/graph.js.map +1 -0
  530. package/dist/harness/memory/index.d.ts +12 -0
  531. package/dist/harness/memory/index.d.ts.map +1 -0
  532. package/dist/harness/memory/index.js +10 -0
  533. package/dist/harness/memory/index.js.map +1 -0
  534. package/dist/harness/memory/markdown-memory-store.d.ts +122 -0
  535. package/dist/harness/memory/markdown-memory-store.d.ts.map +1 -0
  536. package/dist/harness/memory/markdown-memory-store.js +419 -0
  537. package/dist/harness/memory/markdown-memory-store.js.map +1 -0
  538. package/dist/harness/memory/memory-command.d.ts +22 -0
  539. package/dist/harness/memory/memory-command.d.ts.map +1 -0
  540. package/dist/harness/memory/memory-command.js +335 -0
  541. package/dist/harness/memory/memory-command.js.map +1 -0
  542. package/dist/harness/memory/memory-index.d.ts +71 -0
  543. package/dist/harness/memory/memory-index.d.ts.map +1 -0
  544. package/dist/harness/memory/memory-index.js +206 -0
  545. package/dist/harness/memory/memory-index.js.map +1 -0
  546. package/dist/harness/memory/note-format.d.ts +20 -0
  547. package/dist/harness/memory/note-format.d.ts.map +1 -0
  548. package/dist/harness/memory/note-format.js +69 -0
  549. package/dist/harness/memory/note-format.js.map +1 -0
  550. package/dist/harness/memory/obsidian.d.ts +14 -0
  551. package/dist/harness/memory/obsidian.d.ts.map +1 -0
  552. package/dist/harness/memory/obsidian.js +64 -0
  553. package/dist/harness/memory/obsidian.js.map +1 -0
  554. package/dist/harness/memory/redaction.d.ts +15 -0
  555. package/dist/harness/memory/redaction.d.ts.map +1 -0
  556. package/dist/harness/memory/redaction.js +64 -0
  557. package/dist/harness/memory/redaction.js.map +1 -0
  558. package/dist/harness/memory/relations.d.ts +29 -0
  559. package/dist/harness/memory/relations.d.ts.map +1 -0
  560. package/dist/harness/memory/relations.js +117 -0
  561. package/dist/harness/memory/relations.js.map +1 -0
  562. package/dist/harness/memory/vault.d.ts +35 -0
  563. package/dist/harness/memory/vault.d.ts.map +1 -0
  564. package/dist/harness/memory/vault.js +194 -0
  565. package/dist/harness/memory/vault.js.map +1 -0
  566. package/dist/harness/orchestration/approval.d.ts +29 -0
  567. package/dist/harness/orchestration/approval.d.ts.map +1 -0
  568. package/dist/harness/orchestration/approval.js +86 -0
  569. package/dist/harness/orchestration/approval.js.map +1 -0
  570. package/dist/harness/orchestration/artifact-review.d.ts +219 -0
  571. package/dist/harness/orchestration/artifact-review.d.ts.map +1 -0
  572. package/dist/harness/orchestration/artifact-review.js +319 -0
  573. package/dist/harness/orchestration/artifact-review.js.map +1 -0
  574. package/dist/harness/orchestration/attempt-log.d.ts +53 -0
  575. package/dist/harness/orchestration/attempt-log.d.ts.map +1 -0
  576. package/dist/harness/orchestration/attempt-log.js +138 -0
  577. package/dist/harness/orchestration/attempt-log.js.map +1 -0
  578. package/dist/harness/orchestration/budget.d.ts +110 -0
  579. package/dist/harness/orchestration/budget.d.ts.map +1 -0
  580. package/dist/harness/orchestration/budget.js +197 -0
  581. package/dist/harness/orchestration/budget.js.map +1 -0
  582. package/dist/harness/orchestration/capabilities.d.ts +6 -0
  583. package/dist/harness/orchestration/capabilities.d.ts.map +1 -0
  584. package/dist/harness/orchestration/capabilities.js +80 -0
  585. package/dist/harness/orchestration/capabilities.js.map +1 -0
  586. package/dist/harness/orchestration/claims.d.ts +148 -0
  587. package/dist/harness/orchestration/claims.d.ts.map +1 -0
  588. package/dist/harness/orchestration/claims.js +64 -0
  589. package/dist/harness/orchestration/claims.js.map +1 -0
  590. package/dist/harness/orchestration/control-plane.d.ts +18 -0
  591. package/dist/harness/orchestration/control-plane.d.ts.map +1 -0
  592. package/dist/harness/orchestration/control-plane.js +74 -0
  593. package/dist/harness/orchestration/control-plane.js.map +1 -0
  594. package/dist/harness/orchestration/coordinator.d.ts +132 -0
  595. package/dist/harness/orchestration/coordinator.d.ts.map +1 -0
  596. package/dist/harness/orchestration/coordinator.js +1628 -0
  597. package/dist/harness/orchestration/coordinator.js.map +1 -0
  598. package/dist/harness/orchestration/delegation.d.ts +80 -0
  599. package/dist/harness/orchestration/delegation.d.ts.map +1 -0
  600. package/dist/harness/orchestration/delegation.js +81 -0
  601. package/dist/harness/orchestration/delegation.js.map +1 -0
  602. package/dist/harness/orchestration/evidence.d.ts +124 -0
  603. package/dist/harness/orchestration/evidence.d.ts.map +1 -0
  604. package/dist/harness/orchestration/evidence.js +576 -0
  605. package/dist/harness/orchestration/evidence.js.map +1 -0
  606. package/dist/harness/orchestration/factories.d.ts +13 -0
  607. package/dist/harness/orchestration/factories.d.ts.map +1 -0
  608. package/dist/harness/orchestration/factories.js +20 -0
  609. package/dist/harness/orchestration/factories.js.map +1 -0
  610. package/dist/harness/orchestration/git.d.ts +77 -0
  611. package/dist/harness/orchestration/git.d.ts.map +1 -0
  612. package/dist/harness/orchestration/git.js +214 -0
  613. package/dist/harness/orchestration/git.js.map +1 -0
  614. package/dist/harness/orchestration/index.d.ts +25 -0
  615. package/dist/harness/orchestration/index.d.ts.map +1 -0
  616. package/dist/harness/orchestration/index.js +23 -0
  617. package/dist/harness/orchestration/index.js.map +1 -0
  618. package/dist/harness/orchestration/isolation.d.ts +181 -0
  619. package/dist/harness/orchestration/isolation.d.ts.map +1 -0
  620. package/dist/harness/orchestration/isolation.js +1357 -0
  621. package/dist/harness/orchestration/isolation.js.map +1 -0
  622. package/dist/harness/orchestration/paths.d.ts +18 -0
  623. package/dist/harness/orchestration/paths.d.ts.map +1 -0
  624. package/dist/harness/orchestration/paths.js +56 -0
  625. package/dist/harness/orchestration/paths.js.map +1 -0
  626. package/dist/harness/orchestration/plan.d.ts +219 -0
  627. package/dist/harness/orchestration/plan.d.ts.map +1 -0
  628. package/dist/harness/orchestration/plan.js +537 -0
  629. package/dist/harness/orchestration/plan.js.map +1 -0
  630. package/dist/harness/orchestration/planner.d.ts +137 -0
  631. package/dist/harness/orchestration/planner.d.ts.map +1 -0
  632. package/dist/harness/orchestration/planner.js +162 -0
  633. package/dist/harness/orchestration/planner.js.map +1 -0
  634. package/dist/harness/orchestration/recorder.d.ts +23 -0
  635. package/dist/harness/orchestration/recorder.d.ts.map +1 -0
  636. package/dist/harness/orchestration/recorder.js +50 -0
  637. package/dist/harness/orchestration/recorder.js.map +1 -0
  638. package/dist/harness/orchestration/scheduler.d.ts +40 -0
  639. package/dist/harness/orchestration/scheduler.d.ts.map +1 -0
  640. package/dist/harness/orchestration/scheduler.js +157 -0
  641. package/dist/harness/orchestration/scheduler.js.map +1 -0
  642. package/dist/harness/orchestration/testing.d.ts +233 -0
  643. package/dist/harness/orchestration/testing.d.ts.map +1 -0
  644. package/dist/harness/orchestration/testing.js +734 -0
  645. package/dist/harness/orchestration/testing.js.map +1 -0
  646. package/dist/harness/orchestration/verification-preflight.d.ts +46 -0
  647. package/dist/harness/orchestration/verification-preflight.d.ts.map +1 -0
  648. package/dist/harness/orchestration/verification-preflight.js +104 -0
  649. package/dist/harness/orchestration/verification-preflight.js.map +1 -0
  650. package/dist/harness/orchestration/worker-control.d.ts +64 -0
  651. package/dist/harness/orchestration/worker-control.d.ts.map +1 -0
  652. package/dist/harness/orchestration/worker-control.js +199 -0
  653. package/dist/harness/orchestration/worker-control.js.map +1 -0
  654. package/dist/harness/orchestration/worker-manager.d.ts +225 -0
  655. package/dist/harness/orchestration/worker-manager.d.ts.map +1 -0
  656. package/dist/harness/orchestration/worker-manager.js +1347 -0
  657. package/dist/harness/orchestration/worker-manager.js.map +1 -0
  658. package/dist/harness/orchestration/workspace-digest.d.ts +39 -0
  659. package/dist/harness/orchestration/workspace-digest.d.ts.map +1 -0
  660. package/dist/harness/orchestration/workspace-digest.js +147 -0
  661. package/dist/harness/orchestration/workspace-digest.js.map +1 -0
  662. package/dist/harness/policy/approval-broker.d.ts +13 -0
  663. package/dist/harness/policy/approval-broker.d.ts.map +1 -0
  664. package/dist/harness/policy/approval-broker.js +26 -0
  665. package/dist/harness/policy/approval-broker.js.map +1 -0
  666. package/dist/harness/policy/command-classifier.d.ts +29 -0
  667. package/dist/harness/policy/command-classifier.d.ts.map +1 -0
  668. package/dist/harness/policy/command-classifier.js +459 -0
  669. package/dist/harness/policy/command-classifier.js.map +1 -0
  670. package/dist/harness/policy/command-rules.d.ts +56 -0
  671. package/dist/harness/policy/command-rules.d.ts.map +1 -0
  672. package/dist/harness/policy/command-rules.js +588 -0
  673. package/dist/harness/policy/command-rules.js.map +1 -0
  674. package/dist/harness/policy/config.d.ts +27 -0
  675. package/dist/harness/policy/config.d.ts.map +1 -0
  676. package/dist/harness/policy/config.js +37 -0
  677. package/dist/harness/policy/config.js.map +1 -0
  678. package/dist/harness/policy/engine.d.ts +67 -0
  679. package/dist/harness/policy/engine.d.ts.map +1 -0
  680. package/dist/harness/policy/engine.js +483 -0
  681. package/dist/harness/policy/engine.js.map +1 -0
  682. package/dist/harness/policy/exec-allowlist.d.ts +66 -0
  683. package/dist/harness/policy/exec-allowlist.d.ts.map +1 -0
  684. package/dist/harness/policy/exec-allowlist.js +449 -0
  685. package/dist/harness/policy/exec-allowlist.js.map +1 -0
  686. package/dist/harness/policy/index.d.ts +10 -0
  687. package/dist/harness/policy/index.d.ts.map +1 -0
  688. package/dist/harness/policy/index.js +8 -0
  689. package/dist/harness/policy/index.js.map +1 -0
  690. package/dist/harness/policy/secret-patterns.d.ts +12 -0
  691. package/dist/harness/policy/secret-patterns.d.ts.map +1 -0
  692. package/dist/harness/policy/secret-patterns.js +48 -0
  693. package/dist/harness/policy/secret-patterns.js.map +1 -0
  694. package/dist/harness/policy/shell-parser.d.ts +40 -0
  695. package/dist/harness/policy/shell-parser.d.ts.map +1 -0
  696. package/dist/harness/policy/shell-parser.js +278 -0
  697. package/dist/harness/policy/shell-parser.js.map +1 -0
  698. package/dist/harness/policy/workspace-trust.d.ts +37 -0
  699. package/dist/harness/policy/workspace-trust.d.ts.map +1 -0
  700. package/dist/harness/policy/workspace-trust.js +164 -0
  701. package/dist/harness/policy/workspace-trust.js.map +1 -0
  702. package/dist/harness/providers/anthropic-messages.d.ts +48 -0
  703. package/dist/harness/providers/anthropic-messages.d.ts.map +1 -0
  704. package/dist/harness/providers/anthropic-messages.js +360 -0
  705. package/dist/harness/providers/anthropic-messages.js.map +1 -0
  706. package/dist/harness/providers/assembler.d.ts +29 -0
  707. package/dist/harness/providers/assembler.d.ts.map +1 -0
  708. package/dist/harness/providers/assembler.js +130 -0
  709. package/dist/harness/providers/assembler.js.map +1 -0
  710. package/dist/harness/providers/authenticated-stream.d.ts +9 -0
  711. package/dist/harness/providers/authenticated-stream.d.ts.map +1 -0
  712. package/dist/harness/providers/authenticated-stream.js +81 -0
  713. package/dist/harness/providers/authenticated-stream.js.map +1 -0
  714. package/dist/harness/providers/catalog.d.ts +75 -0
  715. package/dist/harness/providers/catalog.d.ts.map +1 -0
  716. package/dist/harness/providers/catalog.js +124 -0
  717. package/dist/harness/providers/catalog.js.map +1 -0
  718. package/dist/harness/providers/claude-code/adapter.d.ts +96 -0
  719. package/dist/harness/providers/claude-code/adapter.d.ts.map +1 -0
  720. package/dist/harness/providers/claude-code/adapter.js +863 -0
  721. package/dist/harness/providers/claude-code/adapter.js.map +1 -0
  722. package/dist/harness/providers/claude-code/mcp-relay.d.ts +2 -0
  723. package/dist/harness/providers/claude-code/mcp-relay.d.ts.map +1 -0
  724. package/dist/harness/providers/claude-code/mcp-relay.js +27 -0
  725. package/dist/harness/providers/claude-code/mcp-relay.js.map +1 -0
  726. package/dist/harness/providers/claude-code/mcp-server.d.ts +40 -0
  727. package/dist/harness/providers/claude-code/mcp-server.d.ts.map +1 -0
  728. package/dist/harness/providers/claude-code/mcp-server.js +171 -0
  729. package/dist/harness/providers/claude-code/mcp-server.js.map +1 -0
  730. package/dist/harness/providers/claude-code/native.d.ts +36 -0
  731. package/dist/harness/providers/claude-code/native.d.ts.map +1 -0
  732. package/dist/harness/providers/claude-code/native.js +153 -0
  733. package/dist/harness/providers/claude-code/native.js.map +1 -0
  734. package/dist/harness/providers/claude-code/process.d.ts +48 -0
  735. package/dist/harness/providers/claude-code/process.d.ts.map +1 -0
  736. package/dist/harness/providers/claude-code/process.js +128 -0
  737. package/dist/harness/providers/claude-code/process.js.map +1 -0
  738. package/dist/harness/providers/codex-app-server.d.ts +8 -0
  739. package/dist/harness/providers/codex-app-server.d.ts.map +1 -0
  740. package/dist/harness/providers/codex-app-server.js +45 -0
  741. package/dist/harness/providers/codex-app-server.js.map +1 -0
  742. package/dist/harness/providers/effort.d.ts +51 -0
  743. package/dist/harness/providers/effort.d.ts.map +1 -0
  744. package/dist/harness/providers/effort.js +108 -0
  745. package/dist/harness/providers/effort.js.map +1 -0
  746. package/dist/harness/providers/errors.d.ts +34 -0
  747. package/dist/harness/providers/errors.d.ts.map +1 -0
  748. package/dist/harness/providers/errors.js +143 -0
  749. package/dist/harness/providers/errors.js.map +1 -0
  750. package/dist/harness/providers/grammar.d.ts +17 -0
  751. package/dist/harness/providers/grammar.d.ts.map +1 -0
  752. package/dist/harness/providers/grammar.js +89 -0
  753. package/dist/harness/providers/grammar.js.map +1 -0
  754. package/dist/harness/providers/http-stream.d.ts +40 -0
  755. package/dist/harness/providers/http-stream.d.ts.map +1 -0
  756. package/dist/harness/providers/http-stream.js +134 -0
  757. package/dist/harness/providers/http-stream.js.map +1 -0
  758. package/dist/harness/providers/index.d.ts +20 -0
  759. package/dist/harness/providers/index.d.ts.map +1 -0
  760. package/dist/harness/providers/index.js +17 -0
  761. package/dist/harness/providers/index.js.map +1 -0
  762. package/dist/harness/providers/responses.d.ts +36 -0
  763. package/dist/harness/providers/responses.d.ts.map +1 -0
  764. package/dist/harness/providers/responses.js +435 -0
  765. package/dist/harness/providers/responses.js.map +1 -0
  766. package/dist/harness/providers/reviewer-route.d.ts +14 -0
  767. package/dist/harness/providers/reviewer-route.d.ts.map +1 -0
  768. package/dist/harness/providers/reviewer-route.js +31 -0
  769. package/dist/harness/providers/reviewer-route.js.map +1 -0
  770. package/dist/harness/providers/router.d.ts +50 -0
  771. package/dist/harness/providers/router.d.ts.map +1 -0
  772. package/dist/harness/providers/router.js +295 -0
  773. package/dist/harness/providers/router.js.map +1 -0
  774. package/dist/harness/providers/scripted.d.ts +22 -0
  775. package/dist/harness/providers/scripted.d.ts.map +1 -0
  776. package/dist/harness/providers/scripted.js +111 -0
  777. package/dist/harness/providers/scripted.js.map +1 -0
  778. package/dist/harness/providers/sse.d.ts +13 -0
  779. package/dist/harness/providers/sse.d.ts.map +1 -0
  780. package/dist/harness/providers/sse.js +82 -0
  781. package/dist/harness/providers/sse.js.map +1 -0
  782. package/dist/harness/providers/testing.d.ts +35 -0
  783. package/dist/harness/providers/testing.d.ts.map +1 -0
  784. package/dist/harness/providers/testing.js +93 -0
  785. package/dist/harness/providers/testing.js.map +1 -0
  786. package/dist/harness/providers/web-search.d.ts +110 -0
  787. package/dist/harness/providers/web-search.d.ts.map +1 -0
  788. package/dist/harness/providers/web-search.js +476 -0
  789. package/dist/harness/providers/web-search.js.map +1 -0
  790. package/dist/harness/store/blob-store.d.ts +4 -0
  791. package/dist/harness/store/blob-store.d.ts.map +1 -0
  792. package/dist/harness/store/blob-store.js +79 -0
  793. package/dist/harness/store/blob-store.js.map +1 -0
  794. package/dist/harness/store/durable-file.d.ts +17 -0
  795. package/dist/harness/store/durable-file.d.ts.map +1 -0
  796. package/dist/harness/store/durable-file.js +84 -0
  797. package/dist/harness/store/durable-file.js.map +1 -0
  798. package/dist/harness/store/event-store.d.ts +56 -0
  799. package/dist/harness/store/event-store.d.ts.map +1 -0
  800. package/dist/harness/store/event-store.js +210 -0
  801. package/dist/harness/store/event-store.js.map +1 -0
  802. package/dist/harness/store/index.d.ts +8 -0
  803. package/dist/harness/store/index.d.ts.map +1 -0
  804. package/dist/harness/store/index.js +4 -0
  805. package/dist/harness/store/index.js.map +1 -0
  806. package/dist/harness/store/layout.d.ts +12 -0
  807. package/dist/harness/store/layout.d.ts.map +1 -0
  808. package/dist/harness/store/layout.js +27 -0
  809. package/dist/harness/store/layout.js.map +1 -0
  810. package/dist/harness/store/lease.d.ts +37 -0
  811. package/dist/harness/store/lease.d.ts.map +1 -0
  812. package/dist/harness/store/lease.js +326 -0
  813. package/dist/harness/store/lease.js.map +1 -0
  814. package/dist/harness/store/segments.d.ts +49 -0
  815. package/dist/harness/store/segments.d.ts.map +1 -0
  816. package/dist/harness/store/segments.js +216 -0
  817. package/dist/harness/store/segments.js.map +1 -0
  818. package/dist/harness/store/session-store.d.ts +18 -0
  819. package/dist/harness/store/session-store.d.ts.map +1 -0
  820. package/dist/harness/store/session-store.js +319 -0
  821. package/dist/harness/store/session-store.js.map +1 -0
  822. package/dist/harness/tools/builtin/control-tools.d.ts +57 -0
  823. package/dist/harness/tools/builtin/control-tools.d.ts.map +1 -0
  824. package/dist/harness/tools/builtin/control-tools.js +72 -0
  825. package/dist/harness/tools/builtin/control-tools.js.map +1 -0
  826. package/dist/harness/tools/builtin/glob.d.ts +15 -0
  827. package/dist/harness/tools/builtin/glob.d.ts.map +1 -0
  828. package/dist/harness/tools/builtin/glob.js +164 -0
  829. package/dist/harness/tools/builtin/glob.js.map +1 -0
  830. package/dist/harness/tools/builtin/process-bg.d.ts +72 -0
  831. package/dist/harness/tools/builtin/process-bg.d.ts.map +1 -0
  832. package/dist/harness/tools/builtin/process-bg.js +360 -0
  833. package/dist/harness/tools/builtin/process-bg.js.map +1 -0
  834. package/dist/harness/tools/builtin/process-tools.d.ts +46 -0
  835. package/dist/harness/tools/builtin/process-tools.d.ts.map +1 -0
  836. package/dist/harness/tools/builtin/process-tools.js +263 -0
  837. package/dist/harness/tools/builtin/process-tools.js.map +1 -0
  838. package/dist/harness/tools/builtin/read-media.d.ts +10 -0
  839. package/dist/harness/tools/builtin/read-media.d.ts.map +1 -0
  840. package/dist/harness/tools/builtin/read-media.js +128 -0
  841. package/dist/harness/tools/builtin/read-media.js.map +1 -0
  842. package/dist/harness/tools/builtin/read-tools.d.ts +29 -0
  843. package/dist/harness/tools/builtin/read-tools.d.ts.map +1 -0
  844. package/dist/harness/tools/builtin/read-tools.js +329 -0
  845. package/dist/harness/tools/builtin/read-tools.js.map +1 -0
  846. package/dist/harness/tools/builtin/shared.d.ts +47 -0
  847. package/dist/harness/tools/builtin/shared.d.ts.map +1 -0
  848. package/dist/harness/tools/builtin/shared.js +94 -0
  849. package/dist/harness/tools/builtin/shared.js.map +1 -0
  850. package/dist/harness/tools/builtin/todo.d.ts +38 -0
  851. package/dist/harness/tools/builtin/todo.d.ts.map +1 -0
  852. package/dist/harness/tools/builtin/todo.js +55 -0
  853. package/dist/harness/tools/builtin/todo.js.map +1 -0
  854. package/dist/harness/tools/builtin/web-common.d.ts +18 -0
  855. package/dist/harness/tools/builtin/web-common.d.ts.map +1 -0
  856. package/dist/harness/tools/builtin/web-common.js +53 -0
  857. package/dist/harness/tools/builtin/web-common.js.map +1 -0
  858. package/dist/harness/tools/builtin/web-fetch.d.ts +33 -0
  859. package/dist/harness/tools/builtin/web-fetch.d.ts.map +1 -0
  860. package/dist/harness/tools/builtin/web-fetch.js +173 -0
  861. package/dist/harness/tools/builtin/web-fetch.js.map +1 -0
  862. package/dist/harness/tools/builtin/web-html.d.ts +14 -0
  863. package/dist/harness/tools/builtin/web-html.d.ts.map +1 -0
  864. package/dist/harness/tools/builtin/web-html.js +314 -0
  865. package/dist/harness/tools/builtin/web-html.js.map +1 -0
  866. package/dist/harness/tools/builtin/web-net.d.ts +59 -0
  867. package/dist/harness/tools/builtin/web-net.d.ts.map +1 -0
  868. package/dist/harness/tools/builtin/web-net.js +347 -0
  869. package/dist/harness/tools/builtin/web-net.js.map +1 -0
  870. package/dist/harness/tools/builtin/web-search.d.ts +40 -0
  871. package/dist/harness/tools/builtin/web-search.d.ts.map +1 -0
  872. package/dist/harness/tools/builtin/web-search.js +60 -0
  873. package/dist/harness/tools/builtin/web-search.js.map +1 -0
  874. package/dist/harness/tools/builtin/web-state.d.ts +67 -0
  875. package/dist/harness/tools/builtin/web-state.d.ts.map +1 -0
  876. package/dist/harness/tools/builtin/web-state.js +227 -0
  877. package/dist/harness/tools/builtin/web-state.js.map +1 -0
  878. package/dist/harness/tools/builtin/write-tools.d.ts +18 -0
  879. package/dist/harness/tools/builtin/write-tools.d.ts.map +1 -0
  880. package/dist/harness/tools/builtin/write-tools.js +335 -0
  881. package/dist/harness/tools/builtin/write-tools.js.map +1 -0
  882. package/dist/harness/tools/environment.d.ts +9 -0
  883. package/dist/harness/tools/environment.d.ts.map +1 -0
  884. package/dist/harness/tools/environment.js +59 -0
  885. package/dist/harness/tools/environment.js.map +1 -0
  886. package/dist/harness/tools/file-ledger.d.ts +9 -0
  887. package/dist/harness/tools/file-ledger.d.ts.map +1 -0
  888. package/dist/harness/tools/file-ledger.js +26 -0
  889. package/dist/harness/tools/file-ledger.js.map +1 -0
  890. package/dist/harness/tools/gateway.d.ts +52 -0
  891. package/dist/harness/tools/gateway.d.ts.map +1 -0
  892. package/dist/harness/tools/gateway.js +435 -0
  893. package/dist/harness/tools/gateway.js.map +1 -0
  894. package/dist/harness/tools/index.d.ts +20 -0
  895. package/dist/harness/tools/index.d.ts.map +1 -0
  896. package/dist/harness/tools/index.js +17 -0
  897. package/dist/harness/tools/index.js.map +1 -0
  898. package/dist/harness/tools/patch.d.ts +51 -0
  899. package/dist/harness/tools/patch.d.ts.map +1 -0
  900. package/dist/harness/tools/patch.js +450 -0
  901. package/dist/harness/tools/patch.js.map +1 -0
  902. package/dist/harness/tools/process.d.ts +28 -0
  903. package/dist/harness/tools/process.d.ts.map +1 -0
  904. package/dist/harness/tools/process.js +263 -0
  905. package/dist/harness/tools/process.js.map +1 -0
  906. package/dist/harness/tools/redaction.d.ts +26 -0
  907. package/dist/harness/tools/redaction.d.ts.map +1 -0
  908. package/dist/harness/tools/redaction.js +77 -0
  909. package/dist/harness/tools/redaction.js.map +1 -0
  910. package/dist/harness/tools/registry.d.ts +26 -0
  911. package/dist/harness/tools/registry.d.ts.map +1 -0
  912. package/dist/harness/tools/registry.js +57 -0
  913. package/dist/harness/tools/registry.js.map +1 -0
  914. package/dist/harness/tools/sandbox.d.ts +23 -0
  915. package/dist/harness/tools/sandbox.d.ts.map +1 -0
  916. package/dist/harness/tools/sandbox.js +117 -0
  917. package/dist/harness/tools/sandbox.js.map +1 -0
  918. package/dist/harness/tools/testing.d.ts +42 -0
  919. package/dist/harness/tools/testing.d.ts.map +1 -0
  920. package/dist/harness/tools/testing.js +143 -0
  921. package/dist/harness/tools/testing.js.map +1 -0
  922. package/dist/harness/tools/text-file.d.ts +38 -0
  923. package/dist/harness/tools/text-file.d.ts.map +1 -0
  924. package/dist/harness/tools/text-file.js +90 -0
  925. package/dist/harness/tools/text-file.js.map +1 -0
  926. package/dist/harness/tools/windows-launch.d.ts +52 -0
  927. package/dist/harness/tools/windows-launch.d.ts.map +1 -0
  928. package/dist/harness/tools/windows-launch.js +261 -0
  929. package/dist/harness/tools/windows-launch.js.map +1 -0
  930. package/dist/harness/tools/workspace-path.d.ts +34 -0
  931. package/dist/harness/tools/workspace-path.d.ts.map +1 -0
  932. package/dist/harness/tools/workspace-path.js +133 -0
  933. package/dist/harness/tools/workspace-path.js.map +1 -0
  934. package/dist/harness/tui/approvals.d.ts +44 -0
  935. package/dist/harness/tui/approvals.d.ts.map +1 -0
  936. package/dist/harness/tui/approvals.js +127 -0
  937. package/dist/harness/tui/approvals.js.map +1 -0
  938. package/dist/harness/tui/auth-interaction.d.ts +36 -0
  939. package/dist/harness/tui/auth-interaction.d.ts.map +1 -0
  940. package/dist/harness/tui/auth-interaction.js +76 -0
  941. package/dist/harness/tui/auth-interaction.js.map +1 -0
  942. package/dist/harness/tui/choice-modal.d.ts +58 -0
  943. package/dist/harness/tui/choice-modal.d.ts.map +1 -0
  944. package/dist/harness/tui/choice-modal.js +244 -0
  945. package/dist/harness/tui/choice-modal.js.map +1 -0
  946. package/dist/harness/tui/conversation-view.d.ts +250 -0
  947. package/dist/harness/tui/conversation-view.d.ts.map +1 -0
  948. package/dist/harness/tui/conversation-view.js +1115 -0
  949. package/dist/harness/tui/conversation-view.js.map +1 -0
  950. package/dist/harness/tui/describe.d.ts +21 -0
  951. package/dist/harness/tui/describe.d.ts.map +1 -0
  952. package/dist/harness/tui/describe.js +110 -0
  953. package/dist/harness/tui/describe.js.map +1 -0
  954. package/dist/harness/tui/index.d.ts +30 -0
  955. package/dist/harness/tui/index.d.ts.map +1 -0
  956. package/dist/harness/tui/index.js +26 -0
  957. package/dist/harness/tui/index.js.map +1 -0
  958. package/dist/harness/tui/input/attachments.d.ts +20 -0
  959. package/dist/harness/tui/input/attachments.d.ts.map +1 -0
  960. package/dist/harness/tui/input/attachments.js +100 -0
  961. package/dist/harness/tui/input/attachments.js.map +1 -0
  962. package/dist/harness/tui/input/autocomplete.d.ts +41 -0
  963. package/dist/harness/tui/input/autocomplete.d.ts.map +1 -0
  964. package/dist/harness/tui/input/autocomplete.js +85 -0
  965. package/dist/harness/tui/input/autocomplete.js.map +1 -0
  966. package/dist/harness/tui/input/clipboard.d.ts +44 -0
  967. package/dist/harness/tui/input/clipboard.d.ts.map +1 -0
  968. package/dist/harness/tui/input/clipboard.js +181 -0
  969. package/dist/harness/tui/input/clipboard.js.map +1 -0
  970. package/dist/harness/tui/input/commands.d.ts +23 -0
  971. package/dist/harness/tui/input/commands.d.ts.map +1 -0
  972. package/dist/harness/tui/input/commands.js +71 -0
  973. package/dist/harness/tui/input/commands.js.map +1 -0
  974. package/dist/harness/tui/input/file-index.d.ts +49 -0
  975. package/dist/harness/tui/input/file-index.d.ts.map +1 -0
  976. package/dist/harness/tui/input/file-index.js +170 -0
  977. package/dist/harness/tui/input/file-index.js.map +1 -0
  978. package/dist/harness/tui/input/index.d.ts +8 -0
  979. package/dist/harness/tui/input/index.d.ts.map +1 -0
  980. package/dist/harness/tui/input/index.js +8 -0
  981. package/dist/harness/tui/input/index.js.map +1 -0
  982. package/dist/harness/tui/input/mouse.d.ts +68 -0
  983. package/dist/harness/tui/input/mouse.d.ts.map +1 -0
  984. package/dist/harness/tui/input/mouse.js +141 -0
  985. package/dist/harness/tui/input/mouse.js.map +1 -0
  986. package/dist/harness/tui/interrupt.d.ts +25 -0
  987. package/dist/harness/tui/interrupt.d.ts.map +1 -0
  988. package/dist/harness/tui/interrupt.js +49 -0
  989. package/dist/harness/tui/interrupt.js.map +1 -0
  990. package/dist/harness/tui/jsonl-renderer.d.ts +68 -0
  991. package/dist/harness/tui/jsonl-renderer.d.ts.map +1 -0
  992. package/dist/harness/tui/jsonl-renderer.js +172 -0
  993. package/dist/harness/tui/jsonl-renderer.js.map +1 -0
  994. package/dist/harness/tui/line-source.d.ts +39 -0
  995. package/dist/harness/tui/line-source.d.ts.map +1 -0
  996. package/dist/harness/tui/line-source.js +137 -0
  997. package/dist/harness/tui/line-source.js.map +1 -0
  998. package/dist/harness/tui/logo-art.d.ts +9 -0
  999. package/dist/harness/tui/logo-art.d.ts.map +1 -0
  1000. package/dist/harness/tui/logo-art.js +24 -0
  1001. package/dist/harness/tui/logo-art.js.map +1 -0
  1002. package/dist/harness/tui/logo.d.ts +28 -0
  1003. package/dist/harness/tui/logo.d.ts.map +1 -0
  1004. package/dist/harness/tui/logo.js +88 -0
  1005. package/dist/harness/tui/logo.js.map +1 -0
  1006. package/dist/harness/tui/open-browser.d.ts +17 -0
  1007. package/dist/harness/tui/open-browser.d.ts.map +1 -0
  1008. package/dist/harness/tui/open-browser.js +45 -0
  1009. package/dist/harness/tui/open-browser.js.map +1 -0
  1010. package/dist/harness/tui/output-chunks.d.ts +8 -0
  1011. package/dist/harness/tui/output-chunks.d.ts.map +1 -0
  1012. package/dist/harness/tui/output-chunks.js +48 -0
  1013. package/dist/harness/tui/output-chunks.js.map +1 -0
  1014. package/dist/harness/tui/panels/index.d.ts +2 -0
  1015. package/dist/harness/tui/panels/index.d.ts.map +1 -0
  1016. package/dist/harness/tui/panels/index.js +2 -0
  1017. package/dist/harness/tui/panels/index.js.map +1 -0
  1018. package/dist/harness/tui/panels/panel-view.d.ts +98 -0
  1019. package/dist/harness/tui/panels/panel-view.d.ts.map +1 -0
  1020. package/dist/harness/tui/panels/panel-view.js +596 -0
  1021. package/dist/harness/tui/panels/panel-view.js.map +1 -0
  1022. package/dist/harness/tui/pi-tui-renderer.d.ts +363 -0
  1023. package/dist/harness/tui/pi-tui-renderer.d.ts.map +1 -0
  1024. package/dist/harness/tui/pi-tui-renderer.js +2696 -0
  1025. package/dist/harness/tui/pi-tui-renderer.js.map +1 -0
  1026. package/dist/harness/tui/plain-line-renderer.d.ts +102 -0
  1027. package/dist/harness/tui/plain-line-renderer.d.ts.map +1 -0
  1028. package/dist/harness/tui/plain-line-renderer.js +491 -0
  1029. package/dist/harness/tui/plain-line-renderer.js.map +1 -0
  1030. package/dist/harness/tui/render-queue.d.ts +34 -0
  1031. package/dist/harness/tui/render-queue.d.ts.map +1 -0
  1032. package/dist/harness/tui/render-queue.js +92 -0
  1033. package/dist/harness/tui/render-queue.js.map +1 -0
  1034. package/dist/harness/tui/sanitize.d.ts +9 -0
  1035. package/dist/harness/tui/sanitize.d.ts.map +1 -0
  1036. package/dist/harness/tui/sanitize.js +31 -0
  1037. package/dist/harness/tui/sanitize.js.map +1 -0
  1038. package/dist/harness/tui/style.d.ts +54 -0
  1039. package/dist/harness/tui/style.d.ts.map +1 -0
  1040. package/dist/harness/tui/style.js +64 -0
  1041. package/dist/harness/tui/style.js.map +1 -0
  1042. package/dist/harness/tui/terminal-lifecycle.d.ts +49 -0
  1043. package/dist/harness/tui/terminal-lifecycle.d.ts.map +1 -0
  1044. package/dist/harness/tui/terminal-lifecycle.js +100 -0
  1045. package/dist/harness/tui/terminal-lifecycle.js.map +1 -0
  1046. package/dist/harness/tui/theme.d.ts +77 -0
  1047. package/dist/harness/tui/theme.d.ts.map +1 -0
  1048. package/dist/harness/tui/theme.js +501 -0
  1049. package/dist/harness/tui/theme.js.map +1 -0
  1050. package/dist/harness/tui/tool-cards.d.ts +35 -0
  1051. package/dist/harness/tui/tool-cards.d.ts.map +1 -0
  1052. package/dist/harness/tui/tool-cards.js +122 -0
  1053. package/dist/harness/tui/tool-cards.js.map +1 -0
  1054. package/dist/harness/tui/tool-row.d.ts +51 -0
  1055. package/dist/harness/tui/tool-row.d.ts.map +1 -0
  1056. package/dist/harness/tui/tool-row.js +98 -0
  1057. package/dist/harness/tui/tool-row.js.map +1 -0
  1058. package/dist/harness/tui/views/board.d.ts +49 -0
  1059. package/dist/harness/tui/views/board.d.ts.map +1 -0
  1060. package/dist/harness/tui/views/board.js +293 -0
  1061. package/dist/harness/tui/views/board.js.map +1 -0
  1062. package/dist/harness/tui/views/cards.d.ts +8 -0
  1063. package/dist/harness/tui/views/cards.d.ts.map +1 -0
  1064. package/dist/harness/tui/views/cards.js +206 -0
  1065. package/dist/harness/tui/views/cards.js.map +1 -0
  1066. package/dist/harness/tui/views/components.d.ts +101 -0
  1067. package/dist/harness/tui/views/components.d.ts.map +1 -0
  1068. package/dist/harness/tui/views/components.js +186 -0
  1069. package/dist/harness/tui/views/components.js.map +1 -0
  1070. package/dist/harness/tui/views/diff.d.ts +11 -0
  1071. package/dist/harness/tui/views/diff.d.ts.map +1 -0
  1072. package/dist/harness/tui/views/diff.js +150 -0
  1073. package/dist/harness/tui/views/diff.js.map +1 -0
  1074. package/dist/harness/tui/views/graph.d.ts +49 -0
  1075. package/dist/harness/tui/views/graph.d.ts.map +1 -0
  1076. package/dist/harness/tui/views/graph.js +361 -0
  1077. package/dist/harness/tui/views/graph.js.map +1 -0
  1078. package/dist/harness/tui/views/index.d.ts +15 -0
  1079. package/dist/harness/tui/views/index.d.ts.map +1 -0
  1080. package/dist/harness/tui/views/index.js +15 -0
  1081. package/dist/harness/tui/views/index.js.map +1 -0
  1082. package/dist/harness/tui/views/kit.d.ts +112 -0
  1083. package/dist/harness/tui/views/kit.d.ts.map +1 -0
  1084. package/dist/harness/tui/views/kit.js +282 -0
  1085. package/dist/harness/tui/views/kit.js.map +1 -0
  1086. package/dist/harness/tui/views/trust-cards.d.ts +27 -0
  1087. package/dist/harness/tui/views/trust-cards.d.ts.map +1 -0
  1088. package/dist/harness/tui/views/trust-cards.js +181 -0
  1089. package/dist/harness/tui/views/trust-cards.js.map +1 -0
  1090. package/dist/harness/tui/views/usage.d.ts +4 -0
  1091. package/dist/harness/tui/views/usage.d.ts.map +1 -0
  1092. package/dist/harness/tui/views/usage.js +182 -0
  1093. package/dist/harness/tui/views/usage.js.map +1 -0
  1094. package/dist/harness/tui/views/worker.d.ts +47 -0
  1095. package/dist/harness/tui/views/worker.d.ts.map +1 -0
  1096. package/dist/harness/tui/views/worker.js +221 -0
  1097. package/dist/harness/tui/views/worker.js.map +1 -0
  1098. package/dist/harness/tui/welcome.d.ts +97 -0
  1099. package/dist/harness/tui/welcome.d.ts.map +1 -0
  1100. package/dist/harness/tui/welcome.js +271 -0
  1101. package/dist/harness/tui/welcome.js.map +1 -0
  1102. package/dist/harness/tui/wrap.d.ts +26 -0
  1103. package/dist/harness/tui/wrap.d.ts.map +1 -0
  1104. package/dist/harness/tui/wrap.js +38 -0
  1105. package/dist/harness/tui/wrap.js.map +1 -0
  1106. package/dist/infrastructure/build-info.d.ts +5 -0
  1107. package/dist/infrastructure/build-info.d.ts.map +1 -0
  1108. package/dist/infrastructure/build-info.js +21 -0
  1109. package/dist/infrastructure/build-info.js.map +1 -0
  1110. package/dist/infrastructure/frontmatter.d.ts +25 -0
  1111. package/dist/infrastructure/frontmatter.d.ts.map +1 -0
  1112. package/dist/infrastructure/frontmatter.js +75 -0
  1113. package/dist/infrastructure/frontmatter.js.map +1 -0
  1114. package/dist/templates/agent-manifests.d.ts +19 -0
  1115. package/dist/templates/agent-manifests.d.ts.map +1 -0
  1116. package/dist/templates/agent-manifests.js +302 -0
  1117. package/dist/templates/agent-manifests.js.map +1 -0
  1118. package/dist/templates/base-skills.d.ts +23 -0
  1119. package/dist/templates/base-skills.d.ts.map +1 -0
  1120. package/dist/templates/base-skills.js +477 -0
  1121. package/dist/templates/base-skills.js.map +1 -0
  1122. package/dist/templates/skill-creator-skill.d.ts +23 -0
  1123. package/dist/templates/skill-creator-skill.d.ts.map +1 -0
  1124. package/dist/templates/skill-creator-skill.js +235 -0
  1125. package/dist/templates/skill-creator-skill.js.map +1 -0
  1126. package/dist/templates/skill-references.d.ts +13 -0
  1127. package/dist/templates/skill-references.d.ts.map +1 -0
  1128. package/dist/templates/skill-references.js +280 -0
  1129. package/dist/templates/skill-references.js.map +1 -0
  1130. package/dist/templates/structure-templates.d.ts.map +1 -1
  1131. package/dist/templates/structure-templates.js +20 -144
  1132. package/dist/templates/structure-templates.js.map +1 -1
  1133. package/dist/templates/task-conductor-skill.d.ts +1 -1
  1134. package/dist/templates/task-conductor-skill.d.ts.map +1 -1
  1135. package/dist/templates/task-conductor-skill.js +50 -22
  1136. package/dist/templates/task-conductor-skill.js.map +1 -1
  1137. package/package.json +8 -2
@@ -0,0 +1,137 @@
1
+ import { type AgentDriver, type BlobStore, type EffectivePolicy, type EventStore, type ModelRoute, type PlanId, type PolicyMode, type RunId, type SessionId, type TaskModelTier } from "../contracts/index.ts";
2
+ /**
3
+ * Plan production. The coordinator only needs a candidate; `validatePlan` decides whether it is a
4
+ * plan. The model planner runs one orchestrator turn in the run session and reads the plan from the
5
+ * last succeeded `plan_propose` call (fallback: the final message's JSON block); identity fields
6
+ * (ids, version, timestamp) are always set by the harness.
7
+ */
8
+ export interface PlannerInput {
9
+ readonly runId: RunId;
10
+ readonly planId: PlanId;
11
+ readonly version: number;
12
+ readonly goal: string;
13
+ readonly workspaceRoot: string;
14
+ readonly mode: PolicyMode;
15
+ readonly createdAt: string;
16
+ /** Validation problems of the previous candidate and queued steering, newest last. */
17
+ readonly feedback: readonly string[];
18
+ readonly route: ModelRoute;
19
+ readonly policy: EffectivePolicy;
20
+ readonly events: EventStore;
21
+ readonly sessionId: SessionId;
22
+ }
23
+ export interface ConsultInput {
24
+ readonly runId: RunId;
25
+ readonly goal: string;
26
+ readonly planVersion: number;
27
+ /** Steering the user queued since the plan was approved, oldest first. */
28
+ readonly steering: readonly string[];
29
+ /** K1.7: messages the user sent running workers directly since the last orchestrator turn (`to <key>: text`). */
30
+ readonly workerMessages?: readonly string[];
31
+ /** One line per task of the active plan with its current state. */
32
+ readonly tasks: readonly string[];
33
+ readonly route: ModelRoute;
34
+ readonly policy: EffectivePolicy;
35
+ readonly events: EventStore;
36
+ readonly sessionId: SessionId;
37
+ }
38
+ export interface TriageInput {
39
+ readonly runId: RunId;
40
+ readonly goal: string;
41
+ readonly planVersion: number;
42
+ /** The triaged task: key, id, role, risk and write mode. */
43
+ readonly task: {
44
+ readonly key: string;
45
+ readonly taskId: string;
46
+ readonly role: string;
47
+ readonly risk: string;
48
+ readonly writeMode: string;
49
+ };
50
+ readonly attempt: number;
51
+ readonly status: string;
52
+ /**
53
+ * Criteria of the task with their evidence *after resolution* (ADR-18, F10): `resolved`,
54
+ * `unresolved` (with the reason) or `missing`; `evidenced` is `evidence === "resolved"`.
55
+ */
56
+ readonly criteria: readonly {
57
+ readonly id: string;
58
+ readonly statement: string;
59
+ readonly evidenced: boolean;
60
+ readonly evidence?: "resolved" | "unresolved" | "missing";
61
+ readonly reason?: string | undefined;
62
+ readonly capabilityNote: string | undefined;
63
+ }[];
64
+ /** Verification problems that remained after the in-session repairs (a completed report that did not verify). */
65
+ readonly problems?: readonly string[];
66
+ /**
67
+ * Verification commands that could not run for a plan-caused reason (refused, not runnable,
68
+ * program not found); they never went to a worker repair. `verificationOnly`: they are the only
69
+ * problems left, so `accept` (waiving them) is possible even for a writing task.
70
+ */
71
+ readonly planCaused?: readonly string[];
72
+ readonly verificationOnly?: boolean;
73
+ /**
74
+ * A verified writing task whose review_revisions budget is spent (the review still did not
75
+ * accept, no blocker finding): `accept` integrates the change with the findings as notes.
76
+ */
77
+ readonly reviewOverride?: boolean;
78
+ /** What the review said, when the triage follows a review (per-task or integration). */
79
+ readonly reviewNote?: string;
80
+ /** The task's owned paths (where a replacement check script must live). */
81
+ readonly ownedPaths?: readonly string[];
82
+ /** The harness-run verification commands and their outcome. */
83
+ readonly harnessChecks?: readonly string[];
84
+ /** K1.7: messages the user sent running workers directly since the last orchestrator turn. */
85
+ readonly workerMessages?: readonly string[];
86
+ readonly summary: string;
87
+ readonly skippedChecks: readonly string[];
88
+ readonly unresolvedRisks: readonly string[];
89
+ /** Whether `accept` is possible (read-only task that changed nothing). */
90
+ readonly acceptable: boolean;
91
+ /**
92
+ * The writing task changed these owned paths and nothing verified or reviewed them yet: `review`
93
+ * sends the change to harness verification and independent review (preferred over `fail`).
94
+ */
95
+ readonly reviewablePaths?: readonly string[];
96
+ readonly retriesLeft: number;
97
+ readonly tasks: readonly string[];
98
+ readonly route: ModelRoute;
99
+ readonly policy: EffectivePolicy;
100
+ readonly events: EventStore;
101
+ readonly sessionId: SessionId;
102
+ }
103
+ export interface Planner {
104
+ propose(input: PlannerInput, signal: AbortSignal): Promise<unknown>;
105
+ /**
106
+ * Mid-run consultation at a safe boundary (after user steering): one orchestrator turn that may
107
+ * call `task_status` and `task_spawn`. Whatever it adds reaches workers only through a new,
108
+ * approved plan revision. Optional: a planner without it re-versions the plan with the steering.
109
+ */
110
+ consult?(input: ConsultInput, signal: AbortSignal): Promise<void>;
111
+ /**
112
+ * Triage of a worker's `partial` or `needs_context` report (never retried blindly): one
113
+ * orchestrator turn that decides with `task_triage` (accept findings of a read-only task, retry
114
+ * with guidance, or fail) and may add follow-up tasks with `task_spawn`. Optional: without it the
115
+ * harness retries once with the report in the delta packet.
116
+ */
117
+ triage?(input: TriageInput, signal: AbortSignal): Promise<void>;
118
+ }
119
+ export declare function renderTriagePrompt(input: TriageInput): string;
120
+ export declare function renderConsultPrompt(input: ConsultInput): string;
121
+ /** K1.7: the user's direct messages to workers, so the orchestrator knows what its workers were told. */
122
+ export declare function renderWorkerMessages(messages: readonly string[] | undefined): string;
123
+ export declare const PLAN_FORMAT: string;
124
+ export declare function renderPlanningPrompt(input: PlannerInput, projectHint?: string): string;
125
+ export interface ModelPlannerDependencies {
126
+ readonly createDriver: (events: EventStore) => AgentDriver;
127
+ readonly blobs: BlobStore;
128
+ readonly maxSteps?: number;
129
+ /** The detected project's real commands (zero-config profile), so plan verification uses existing scripts. */
130
+ readonly projectHint?: () => string | undefined;
131
+ /** K7: the plugin agents a task may name as `agent` (one line each), or undefined when there are none. */
132
+ readonly personaHint?: () => string | undefined;
133
+ /** K7: a named agent's model hint as a task tier; it replaces the task's tier (the user's routes for that tier still decide). */
134
+ readonly personaTier?: (agent: string) => TaskModelTier | undefined;
135
+ }
136
+ export declare function createModelPlanner(deps: ModelPlannerDependencies): Planner;
137
+ //# sourceMappingURL=planner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../../src/harness/orchestration/planner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,162 @@
1
+ import { REPORT_TOOL_NAMES, renderRoleCapabilityTable, } from "../contracts/index.js";
2
+ import { buildAttemptLog, latestReport, readEvents } from "./attempt-log.js";
3
+ import { extractJsonBlock } from "./claims.js";
4
+ function evidenceLabel(criterion) {
5
+ const status = criterion.evidence ?? (criterion.evidenced ? "resolved" : "missing");
6
+ return status === "unresolved" ? `unresolved: ${criterion.reason ?? "the pointers do not resolve"}` : status;
7
+ }
8
+ export function renderTriagePrompt(input) {
9
+ const criteria = input.criteria.map((criterion) => `- ${criterion.id} [${evidenceLabel(criterion)}]: ${criterion.statement}${criterion.capabilityNote === undefined ? "" : ` (harness note: ${criterion.capabilityNote})`}`);
10
+ const problems = input.problems ?? [];
11
+ const checks = input.harnessChecks ?? [];
12
+ const planCaused = input.planCaused ?? [];
13
+ const acceptLine = input.reviewOverride === true
14
+ ? "- accept: the harness verification passed and the review found no blocker; the change is integrated with the review findings recorded as notes. Choose it only when the remaining findings do not matter for the goal."
15
+ : input.acceptable
16
+ ? "- accept: the findings are sufficient; list in waive_criteria the criteria this role could not meet (they are handed to dependent tasks as notes); every other criterion must be evidenced."
17
+ : input.verificationOnly === true
18
+ ? "- accept: the change goes to independent review without the commands that could not run (they are waived and noted); choose it when the reviewer can still check the criteria."
19
+ : "- accept is not possible: this task writes files, so it completes only through verification and independent review.";
20
+ return [
21
+ `Worker report needs your decision (plan v${input.planVersion}, goal: ${input.goal}).`,
22
+ `Task ${input.task.key} ${input.task.taskId} (${input.task.role}, ${input.task.risk}, ${input.task.writeMode}), attempt ${input.attempt}, reported ${input.status}${problems.length > 0 ? " but did not pass verification after its in-session repairs" : ""}.`,
23
+ `Summary: ${input.summary}`,
24
+ input.reviewNote === undefined ? "" : `Review: ${input.reviewNote}`,
25
+ `Acceptance criteria (evidence as the harness resolved it):\n${criteria.join("\n")}`,
26
+ checks.length > 0 ? `Harness-run verification:\n${checks.map((line) => `- ${line}`).join("\n")}` : "",
27
+ problems.length > 0 ? `Verification problems:\n${problems.slice(0, 10).map((line) => `- ${line}`).join("\n")}` : "",
28
+ planCaused.length > 0
29
+ ? `Plan-caused (the plan's verification could not run; the worker cannot fix this and was not asked to):\n${planCaused.map((command) => `- ${command}`).join("\n")}\nTo replace them, call task_triage with decision retry and verification = the whole replacement list: plain argv commands (no shell syntax, no inline interpreter code) such as \`node <check script inside ${(input.ownedPaths ?? []).join(", ") || "the owned paths"}>\` or the project's test runner; the plan is revised and a new attempt continues from the current change.`
30
+ : "",
31
+ input.skippedChecks.length > 0 ? `Skipped checks:\n${input.skippedChecks.map((line) => `- ${line}`).join("\n")}` : "",
32
+ input.unresolvedRisks.length > 0 ? `Unresolved:\n${input.unresolvedRisks.map((line) => `- ${line}`).join("\n")}` : "",
33
+ renderWorkerMessages(input.workerMessages),
34
+ `Tasks:\n${input.tasks.map((line) => `- ${line}`).join("\n")}`,
35
+ [
36
+ `Call task_triage exactly once for task ${input.task.key}:`,
37
+ acceptLine,
38
+ `- retry: one more attempt (${input.retriesLeft} left) with your guidance; only when a new attempt can succeed.`,
39
+ ...((input.reviewablePaths ?? []).length > 0
40
+ ? [`- review: the worker produced ${(input.reviewablePaths ?? []).join(", ")}; send it to harness verification and independent review with the worker's caveats as notes (the reviewer decides). Prefer this over fail when the change may already meet the criteria; a check the worker invented and the sandbox refused is not a reason to fail.`]
41
+ : []),
42
+ "- fail: stop this task (its dependents are cancelled); add replacement work with task_spawn if the goal still needs it.",
43
+ "You never implement anything yourself. Do not ask the user. End your turn after deciding.",
44
+ ].join("\n"),
45
+ ]
46
+ .filter((part) => part !== "")
47
+ .join("\n\n");
48
+ }
49
+ export function renderConsultPrompt(input) {
50
+ return [
51
+ `The user steered the running plan v${input.planVersion} for: ${input.goal}`,
52
+ `User steering (newest last):\n${input.steering.map((line) => `- ${line}`).join("\n")}`,
53
+ renderWorkerMessages(input.workerMessages),
54
+ `Tasks:\n${input.tasks.map((line) => `- ${line}`).join("\n")}`,
55
+ "Tasks that have not started yet will receive this steering through a revised plan. If the steering needs extra work, call task_spawn with one plan task per follow-up (same fields as a plan_propose task); use task_status to inspect tasks. You never implement anything yourself. End your turn when done.",
56
+ ]
57
+ .filter((part) => part !== "")
58
+ .join("\n\n");
59
+ }
60
+ /** K1.7: the user's direct messages to workers, so the orchestrator knows what its workers were told. */
61
+ export function renderWorkerMessages(messages) {
62
+ if (messages === undefined || messages.length === 0)
63
+ return "";
64
+ return `The user messaged running workers directly (they received these at their next step; take them into account):\n${messages.slice(-20).map((line) => `- ${line}`).join("\n")}`;
65
+ }
66
+ export const PLAN_FORMAT = [
67
+ // ADR-20 / F19: the plan's shape is the plan_propose tool schema; repeating a JSON template here re-bills it on every request.
68
+ `Call the \`${REPORT_TOOL_NAMES.plan}\` tool once with the whole plan; its schema lists every field (if the tool is unavailable, reply with exactly one \`\`\`json block holding the same object).`,
69
+ "Rules: explorers and reviewers own no paths; two tasks without a dependency between them never own overlapping paths;",
70
+ "nobody owns the whole workspace, .git or .synorch. An explorer runs no commands: its verification is empty and its criteria are about what to find by reading;",
71
+ "put commands on the implementer that owns the change. A reviewer task depends on the standard/high-risk task(s) it reviews; with several dependencies it is the integration review of their combined result.",
72
+ "A task's criteria must be checkable from its own files; criteria about other tasks' files or the combined result go on the integration reviewer task. You never implement anything yourself.",
73
+ "Optional per-task effort: low for trivial or mechanical tasks (renames, boilerplate, small edits), high for hard debugging or design; omit it otherwise. The user's own effort settings override it.",
74
+ ].join("\n");
75
+ export function renderPlanningPrompt(input, projectHint) {
76
+ return [
77
+ `Goal: ${input.goal}`,
78
+ `Workspace: ${input.workspaceRoot} (policy mode ${input.mode}).`,
79
+ projectHint ?? "",
80
+ "Plan the work as a task DAG for workers. Explore first when the codebase is unknown; for a small, well-located change an explorer is optional.",
81
+ renderRoleCapabilityTable(),
82
+ PLAN_FORMAT,
83
+ input.feedback.length > 0 ? `Fix these problems from the previous attempt:\n${input.feedback.map((line) => `- ${line}`).join("\n")}` : "",
84
+ ]
85
+ .filter((part) => part !== "")
86
+ .join("\n\n");
87
+ }
88
+ /** K7: a task naming a plugin agent with a model hint runs on the hinted tier. */
89
+ function applyPersonaTiers(raw, tierOf) {
90
+ if (tierOf === undefined || !Array.isArray(raw.tasks))
91
+ return raw;
92
+ const tasks = raw.tasks.map((task) => {
93
+ if (typeof task !== "object" || task === null)
94
+ return task;
95
+ const record = task;
96
+ const tier = typeof record.agent === "string" ? tierOf(record.agent) : undefined;
97
+ return tier === undefined ? record : { ...record, model_tier: tier };
98
+ });
99
+ return { ...raw, tasks };
100
+ }
101
+ export function createModelPlanner(deps) {
102
+ return {
103
+ async propose(input, signal) {
104
+ await deps.createDriver(input.events).runTurn({
105
+ sessionId: input.sessionId,
106
+ runId: input.runId,
107
+ taskId: undefined,
108
+ attemptId: undefined,
109
+ role: "orchestrator",
110
+ route: input.route,
111
+ policy: input.policy,
112
+ packet: undefined,
113
+ userMessage: renderPlanningPrompt(input, [deps.projectHint?.(), deps.personaHint?.()].filter((part) => part !== undefined && part !== "").join("\n\n") || undefined),
114
+ trigger: "orchestrator",
115
+ maxSteps: deps.maxSteps ?? 20,
116
+ }, signal);
117
+ const log = await buildAttemptLog(input.sessionId, await readEvents(input.events), deps.blobs);
118
+ const raw = latestReport(log, REPORT_TOOL_NAMES.plan) ?? extractJsonBlock(log.finalAssistantText ?? "");
119
+ if (typeof raw !== "object" || raw === null)
120
+ return raw;
121
+ return {
122
+ ...applyPersonaTiers(raw, deps.personaTier),
123
+ schema_version: 1,
124
+ plan_id: input.planId,
125
+ run_id: input.runId,
126
+ version: input.version,
127
+ created_at: input.createdAt,
128
+ };
129
+ },
130
+ async triage(input, signal) {
131
+ await deps.createDriver(input.events).runTurn({
132
+ sessionId: input.sessionId,
133
+ runId: input.runId,
134
+ taskId: undefined,
135
+ attemptId: undefined,
136
+ role: "orchestrator",
137
+ route: input.route,
138
+ policy: input.policy,
139
+ packet: undefined,
140
+ userMessage: renderTriagePrompt(input),
141
+ trigger: "orchestrator",
142
+ maxSteps: deps.maxSteps ?? 20,
143
+ }, signal);
144
+ },
145
+ async consult(input, signal) {
146
+ await deps.createDriver(input.events).runTurn({
147
+ sessionId: input.sessionId,
148
+ runId: input.runId,
149
+ taskId: undefined,
150
+ attemptId: undefined,
151
+ role: "orchestrator",
152
+ route: input.route,
153
+ policy: input.policy,
154
+ packet: undefined,
155
+ userMessage: renderConsultPrompt(input),
156
+ trigger: "steer",
157
+ maxSteps: deps.maxSteps ?? 20,
158
+ }, signal);
159
+ },
160
+ };
161
+ }
162
+ //# sourceMappingURL=planner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../../src/harness/orchestration/planner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { type Actor, type AttemptId, type BlobRef, type BlobStore, type Digest, type EventStore, type RunId, type SessionEvent, type SessionEventOf, type SessionEventType, type TaskId } from "../contracts/index.ts";
2
+ /** Typed, audited appends to the run log. Every orchestration fact goes through here. */
3
+ export interface RecordMeta {
4
+ readonly taskId?: TaskId | undefined;
5
+ readonly attemptId?: AttemptId | undefined;
6
+ readonly actor?: Actor;
7
+ readonly causationSeq?: number | undefined;
8
+ }
9
+ export interface RunRecorder {
10
+ readonly log: EventStore;
11
+ readonly runId: RunId;
12
+ record<T extends SessionEventType>(type: T, data: SessionEventOf<T>["data"], meta?: RecordMeta): Promise<SessionEvent>;
13
+ putJson(value: unknown, mediaType: string): Promise<BlobRef>;
14
+ }
15
+ export declare function createRunRecorder(log: EventStore, blobs: BlobStore, runId: RunId): RunRecorder;
16
+ export declare const PACKET_MEDIA_TYPE = "application/vnd.synorch.task-packet+json";
17
+ export declare const COMPLETION_MEDIA_TYPE = "application/vnd.synorch.completion+json";
18
+ export declare const REVIEW_MEDIA_TYPE = "application/vnd.synorch.review+json";
19
+ export type SourceDigestReader = (relativePath: string) => Promise<Digest | undefined>;
20
+ /** Digests a workspace file the way packets cite sources (`digestText`, LF-normalized). */
21
+ export declare function createWorkspaceSourceReader(workspaceRoot: string): SourceDigestReader;
22
+ export declare function currentDigests(paths: readonly string[], reader: SourceDigestReader): Promise<Map<string, Digest | undefined>>;
23
+ //# sourceMappingURL=recorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../../src/harness/orchestration/recorder.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,KAAK,EACV,KAAK,YAAY,EAEjB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACZ,MAAM,uBAAuB,CAAC;AAG/B,yFAAyF;AAEzF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,MAAM,CAAC,CAAC,SAAS,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACvH,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9D;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,WAAW,CAqB9F;AAED,eAAO,MAAM,iBAAiB,6CAA6C,CAAC;AAC5E,eAAO,MAAM,qBAAqB,4CAA4C,CAAC;AAC/E,eAAO,MAAM,iBAAiB,wCAAwC,CAAC;AAEvE,MAAM,MAAM,kBAAkB,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAEvF,2FAA2F;AAC3F,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,kBAAkB,CAUrF;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAInI"}
@@ -0,0 +1,50 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { canonicalJson, digestText, EVENT_VERSIONS, } from "../contracts/index.js";
4
+ import { normalizeWorkspacePath } from "./paths.js";
5
+ export function createRunRecorder(log, blobs, runId) {
6
+ return {
7
+ log,
8
+ runId,
9
+ async record(type, data, meta = {}) {
10
+ const draft = {
11
+ type,
12
+ data,
13
+ event_version: EVENT_VERSIONS[type],
14
+ actor: meta.actor ?? { kind: "orchestrator", role: "orchestrator" },
15
+ run_id: runId,
16
+ ...(meta.taskId === undefined ? {} : { task_id: meta.taskId }),
17
+ ...(meta.attemptId === undefined ? {} : { attempt_id: meta.attemptId }),
18
+ ...(meta.causationSeq === undefined ? {} : { causation_seq: meta.causationSeq }),
19
+ };
20
+ return log.append(draft);
21
+ },
22
+ putJson(value, mediaType) {
23
+ return blobs.put(Buffer.from(canonicalJson(value), "utf8"), mediaType);
24
+ },
25
+ };
26
+ }
27
+ export const PACKET_MEDIA_TYPE = "application/vnd.synorch.task-packet+json";
28
+ export const COMPLETION_MEDIA_TYPE = "application/vnd.synorch.completion+json";
29
+ export const REVIEW_MEDIA_TYPE = "application/vnd.synorch.review+json";
30
+ /** Digests a workspace file the way packets cite sources (`digestText`, LF-normalized). */
31
+ export function createWorkspaceSourceReader(workspaceRoot) {
32
+ return async (relativePath) => {
33
+ const normalized = normalizeWorkspacePath(relativePath);
34
+ if (normalized === undefined || normalized === ".")
35
+ return undefined;
36
+ try {
37
+ return digestText(await readFile(path.join(workspaceRoot, ...normalized.split("/")), "utf8"));
38
+ }
39
+ catch {
40
+ return undefined;
41
+ }
42
+ };
43
+ }
44
+ export async function currentDigests(paths, reader) {
45
+ const current = new Map();
46
+ for (const relative of paths)
47
+ current.set(relative, await reader(relative));
48
+ return current;
49
+ }
50
+ //# sourceMappingURL=recorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recorder.js","sourceRoot":"","sources":["../../../src/harness/orchestration/recorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,aAAa,EACb,UAAU,EACV,cAAc,GAaf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAkBpD,MAAM,UAAU,iBAAiB,CAAC,GAAe,EAAE,KAAgB,EAAE,KAAY;IAC/E,OAAO;QACL,GAAG;QACH,KAAK;QACL,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE;YAChC,MAAM,KAAK,GAAG;gBACZ,IAAI;gBACJ,IAAI;gBACJ,aAAa,EAAE,cAAc,CAAC,IAAI,CAAC;gBACnC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE;gBACnE,MAAM,EAAE,KAAK;gBACb,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC9D,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvE,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;aAC5D,CAAC;YACvB,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,SAAS;YACtB,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;QACzE,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,0CAA0C,CAAC;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAG,yCAAyC,CAAC;AAC/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,qCAAqC,CAAC;AAIvE,2FAA2F;AAC3F,MAAM,UAAU,2BAA2B,CAAC,aAAqB;IAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,EAAE;QAC5B,MAAM,UAAU,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,GAAG;YAAE,OAAO,SAAS,CAAC;QACrE,IAAI,CAAC;YACH,OAAO,UAAU,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAChG,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAwB,EAAE,MAA0B;IACvF,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8B,CAAC;IACtD,KAAK,MAAM,QAAQ,IAAI,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5E,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * DAG scheduler. The graph is validated acyclic up front; a task becomes startable when every
3
+ * dependency completed, and it starts only if the global, per-provider and per-workspace limits
4
+ * allow it and no running task owns an overlapping path. The overlap rule is enforced here even
5
+ * though the plan schema already rejects parallel overlapping owners: a second, independent
6
+ * guard means a bypassed plan check still cannot produce two concurrent writers.
7
+ */
8
+ export interface SchedulableTask {
9
+ readonly key: string;
10
+ readonly dependsOn: readonly string[];
11
+ readonly ownedPaths: readonly string[];
12
+ readonly provider: string | undefined;
13
+ readonly workspace: string;
14
+ }
15
+ export interface ConcurrencyLimits {
16
+ readonly global: number;
17
+ readonly perProvider: number;
18
+ readonly perWorkspace: number;
19
+ }
20
+ export declare const DEFAULT_CONCURRENCY: ConcurrencyLimits;
21
+ export type ScheduledState = "pending" | "running" | "completed" | "failed" | "skipped";
22
+ export interface DagScheduler {
23
+ /** Keys that may start now, in plan order; calling it does not start them. */
24
+ startable(): readonly string[];
25
+ start(key: string): void;
26
+ finish(key: string, outcome: "completed" | "failed"): void;
27
+ /** Marks every pending task as skipped (budget stop, cancellation). */
28
+ skipPending(): readonly string[];
29
+ state(key: string): ScheduledState;
30
+ running(): readonly string[];
31
+ done(): boolean;
32
+ /** Adds a pending task (an approved plan revision); its dependencies must already be known. */
33
+ add(task: SchedulableTask): void;
34
+ }
35
+ export declare class SchedulerError extends Error {
36
+ constructor(message: string);
37
+ }
38
+ export declare function findDependencyCycle(tasks: readonly Pick<SchedulableTask, "key" | "dependsOn">[]): readonly string[] | undefined;
39
+ export declare function createDagScheduler(initial: readonly SchedulableTask[], limits?: ConcurrencyLimits): DagScheduler;
40
+ //# sourceMappingURL=scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/harness/orchestration/scheduler.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,mBAAmB,EAAE,iBAAkE,CAAC;AAErG,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExF,MAAM,WAAW,YAAY;IAC3B,8EAA8E;IAC9E,SAAS,IAAI,SAAS,MAAM,EAAE,CAAC;IAC/B,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC3D,uEAAuE;IACvE,WAAW,IAAI,SAAS,MAAM,EAAE,CAAC;IACjC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;IACnC,OAAO,IAAI,SAAS,MAAM,EAAE,CAAC;IAC7B,IAAI,IAAI,OAAO,CAAC;IAChB,+FAA+F;IAC/F,GAAG,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;CAClC;AAED,qBAAa,cAAe,SAAQ,KAAK;gBACpB,OAAO,EAAE,MAAM;CAInC;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,eAAe,EAAE,KAAK,GAAG,WAAW,CAAC,EAAE,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAuB/H;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,EAAE,MAAM,GAAE,iBAAuC,GAAG,YAAY,CAoHrI"}
@@ -0,0 +1,157 @@
1
+ import { pathPatternsOverlap } from "../contracts/index.js";
2
+ export const DEFAULT_CONCURRENCY = { global: 4, perProvider: 2, perWorkspace: 4 };
3
+ export class SchedulerError extends Error {
4
+ constructor(message) {
5
+ super(message);
6
+ this.name = "SchedulerError";
7
+ }
8
+ }
9
+ export function findDependencyCycle(tasks) {
10
+ const edges = new Map(tasks.map((task) => [task.key, task.dependsOn]));
11
+ const marks = new Map();
12
+ const stack = [];
13
+ const visit = (key) => {
14
+ const mark = marks.get(key);
15
+ if (mark === "done")
16
+ return undefined;
17
+ if (mark === "visiting")
18
+ return [...stack.slice(stack.indexOf(key)), key];
19
+ marks.set(key, "visiting");
20
+ stack.push(key);
21
+ for (const next of edges.get(key) ?? []) {
22
+ const cycle = visit(next);
23
+ if (cycle !== undefined)
24
+ return cycle;
25
+ }
26
+ stack.pop();
27
+ marks.set(key, "done");
28
+ return undefined;
29
+ };
30
+ for (const task of tasks) {
31
+ const cycle = visit(task.key);
32
+ if (cycle !== undefined)
33
+ return cycle;
34
+ }
35
+ return undefined;
36
+ }
37
+ export function createDagScheduler(initial, limits = DEFAULT_CONCURRENCY) {
38
+ const tasks = [...initial];
39
+ if (limits.global < 1 || limits.perProvider < 1 || limits.perWorkspace < 1) {
40
+ throw new SchedulerError("concurrency limits must be at least 1");
41
+ }
42
+ const byKey = new Map();
43
+ for (const task of tasks) {
44
+ if (byKey.has(task.key))
45
+ throw new SchedulerError(`duplicate task ${task.key}`);
46
+ byKey.set(task.key, task);
47
+ }
48
+ for (const task of tasks) {
49
+ for (const dependency of task.dependsOn) {
50
+ if (!byKey.has(dependency))
51
+ throw new SchedulerError(`${task.key} depends on unknown task ${dependency}`);
52
+ }
53
+ }
54
+ const cycle = findDependencyCycle(tasks);
55
+ if (cycle !== undefined)
56
+ throw new SchedulerError(`dependency cycle: ${cycle.join(" -> ")}`);
57
+ const states = new Map(tasks.map((task) => [task.key, "pending"]));
58
+ const require = (key) => {
59
+ const task = byKey.get(key);
60
+ if (task === undefined)
61
+ throw new SchedulerError(`unknown task ${key}`);
62
+ return task;
63
+ };
64
+ const runningTasks = () => tasks.filter((task) => states.get(task.key) === "running");
65
+ const conflicts = (candidate, active) => active.some((other) => candidate.ownedPaths.some((pattern) => other.ownedPaths.some((owned) => pathPatternsOverlap(pattern, owned))));
66
+ const fits = (candidate, active) => {
67
+ if (active.length >= limits.global)
68
+ return false;
69
+ if (active.filter((task) => task.workspace === candidate.workspace).length >= limits.perWorkspace)
70
+ return false;
71
+ if (candidate.provider !== undefined &&
72
+ active.filter((task) => task.provider === candidate.provider).length >= limits.perProvider) {
73
+ return false;
74
+ }
75
+ return !conflicts(candidate, active);
76
+ };
77
+ const skipDependents = (key) => {
78
+ for (const task of tasks) {
79
+ if (states.get(task.key) === "pending" && task.dependsOn.includes(key)) {
80
+ states.set(task.key, "skipped");
81
+ skipDependents(task.key);
82
+ }
83
+ }
84
+ };
85
+ return {
86
+ startable() {
87
+ const active = runningTasks();
88
+ const selected = [];
89
+ for (const task of tasks) {
90
+ if (states.get(task.key) !== "pending")
91
+ continue;
92
+ if (!task.dependsOn.every((dependency) => states.get(dependency) === "completed"))
93
+ continue;
94
+ if (!fits(task, active))
95
+ continue;
96
+ active.push(task);
97
+ selected.push(task.key);
98
+ }
99
+ return selected;
100
+ },
101
+ start(key) {
102
+ const task = require(key);
103
+ if (states.get(key) !== "pending")
104
+ throw new SchedulerError(`${key} is not pending`);
105
+ if (!task.dependsOn.every((dependency) => states.get(dependency) === "completed")) {
106
+ throw new SchedulerError(`${key} has unfinished dependencies`);
107
+ }
108
+ if (!fits(task, runningTasks()))
109
+ throw new SchedulerError(`${key} would exceed a limit or overlap a running owner`);
110
+ states.set(key, "running");
111
+ },
112
+ finish(key, outcome) {
113
+ require(key);
114
+ if (states.get(key) !== "running")
115
+ throw new SchedulerError(`${key} is not running`);
116
+ states.set(key, outcome);
117
+ if (outcome === "failed")
118
+ skipDependents(key);
119
+ },
120
+ skipPending() {
121
+ const skipped = [];
122
+ for (const task of tasks) {
123
+ if (states.get(task.key) === "pending") {
124
+ states.set(task.key, "skipped");
125
+ skipped.push(task.key);
126
+ }
127
+ }
128
+ return skipped;
129
+ },
130
+ state(key) {
131
+ require(key);
132
+ return states.get(key) ?? "pending";
133
+ },
134
+ running() {
135
+ return runningTasks().map((task) => task.key);
136
+ },
137
+ done() {
138
+ return tasks.every((task) => {
139
+ const state = states.get(task.key);
140
+ return state === "completed" || state === "failed" || state === "skipped";
141
+ });
142
+ },
143
+ add(task) {
144
+ if (byKey.has(task.key))
145
+ throw new SchedulerError(`duplicate task ${task.key}`);
146
+ for (const dependency of task.dependsOn) {
147
+ if (!byKey.has(dependency))
148
+ throw new SchedulerError(`${task.key} depends on unknown task ${dependency}`);
149
+ }
150
+ const blocked = task.dependsOn.some((dependency) => states.get(dependency) === "failed" || states.get(dependency) === "skipped");
151
+ byKey.set(task.key, task);
152
+ tasks.push(task);
153
+ states.set(task.key, blocked ? "skipped" : "pending");
154
+ },
155
+ };
156
+ }
157
+ //# sourceMappingURL=scheduler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/harness/orchestration/scheduler.ts"],"names":[],"mappings":"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"}