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,109 @@
1
+ const CATALOG_DESCRIPTION_LIMIT = 120;
2
+ const COMBINING_DOT_ABOVE = String.fromCharCode(0x0307);
3
+ /** The first sentence of a catalog description, capped: enough to choose a skill, not to apply it. */
4
+ export function catalogSummary(description) {
5
+ const flat = description.replace(/\s+/g, " ").trim();
6
+ const sentence = /^(.+?[.!?])(?:\s|$)/.exec(flat)?.[1] ?? flat;
7
+ return sentence.length <= CATALOG_DESCRIPTION_LIMIT ? sentence : `${sentence.slice(0, CATALOG_DESCRIPTION_LIMIT - 1).trimEnd()}…`;
8
+ }
9
+ export function renderCatalog(entries, inContext = new Set()) {
10
+ return [
11
+ "Skill catalog (call load_skill with a name; never read_file a SKILL.md):",
12
+ ...entries.map((entry) => `- ${entry.name}: ${inContext.has(entry.name) ? "(in context below)" : catalogSummary(entry.description)}`),
13
+ ].join("\n");
14
+ }
15
+ /**
16
+ * Locale-safe folding for trigger matching: Turkish dotted/dotless I (`İ`, `I`, `ı`) all fold to
17
+ * `i` before lowercasing, so `İMPLEMENTATION`, `implementatıon` and `Implementation` match the same
18
+ * phrase and `"İ".toLowerCase()` never leaves a stray combining dot behind.
19
+ */
20
+ export function foldForMatch(text) {
21
+ return text.normalize("NFC").replace(/[İIı]/g, "i").toLowerCase().replaceAll(COMBINING_DOT_ABOVE, "");
22
+ }
23
+ function containsPhrase(haystack, phrase) {
24
+ const needle = foldForMatch(phrase.trim());
25
+ return needle.length > 0 && haystack.includes(needle);
26
+ }
27
+ export function triggeredSkills(entries, text) {
28
+ const haystack = foldForMatch(text);
29
+ return entries.filter((entry) => containsPhrase(haystack, entry.name) || entry.triggers.some((trigger) => containsPhrase(haystack, trigger)));
30
+ }
31
+ const REGISTRY_SCOPES = 512;
32
+ export function skillScopeKey(scope) {
33
+ return [scope.runId, scope.taskId ?? "-", scope.attemptId ?? "-", scope.role].join("|");
34
+ }
35
+ export function createSkillContextRegistry() {
36
+ const scopes = new Map();
37
+ const entry = (scope) => {
38
+ const key = skillScopeKey(scope);
39
+ let found = scopes.get(key);
40
+ if (found === undefined) {
41
+ found = { injected: new Set(), loaded: new Set() };
42
+ scopes.set(key, found);
43
+ if (scopes.size > REGISTRY_SCOPES)
44
+ scopes.delete(scopes.keys().next().value);
45
+ }
46
+ return found;
47
+ };
48
+ return {
49
+ sync(scope, injected, loaded) {
50
+ const found = entry(scope);
51
+ found.injected = new Set(injected);
52
+ found.loaded = new Set(loaded);
53
+ },
54
+ noteLoaded(scope, name) {
55
+ entry(scope).loaded.add(name);
56
+ },
57
+ state(scope, name) {
58
+ const found = scopes.get(skillScopeKey(scope));
59
+ if (found?.injected.has(name) === true)
60
+ return "injected";
61
+ if (found?.loaded.has(name) === true)
62
+ return "loaded";
63
+ return undefined;
64
+ },
65
+ };
66
+ }
67
+ const SKILL_TEXT_LIMIT = 60 * 1024;
68
+ const NOT_LOADED_AGAIN = "it was not loaded again";
69
+ /** True for a `load_skill` result that carried no skill content (the skill was already in context). */
70
+ export function isDuplicateSkillLoad(resultText) {
71
+ return resultText.includes(NOT_LOADED_AGAIN);
72
+ }
73
+ function ok(text, truncated = false) {
74
+ return { status: "ok", text, truncated, redactions: 0 };
75
+ }
76
+ /**
77
+ * The `load_skill` control callback (ADR-20, AC-d5). It serves a catalog skill allowed for the
78
+ * caller's role once per conversation: a skill the ContextBuilder already injected (or the role's
79
+ * primary skill) answers "already in your context" and a skill loaded earlier answers "already
80
+ * loaded", both without repeating the content. It never widens a task's read scope to `.ai/**`.
81
+ */
82
+ export function createSkillLoadCallback(deps) {
83
+ const registry = deps.registry ?? createSkillContextRegistry();
84
+ const limit = deps.maxChars ?? SKILL_TEXT_LIMIT;
85
+ return async (input, context) => {
86
+ const name = input.name.trim();
87
+ const scope = { runId: context.runId, taskId: context.taskId, attemptId: context.attemptId, role: context.role };
88
+ const primary = (await deps.skills.primary?.(context.role)) ?? [];
89
+ const state = registry.state(scope, name) ?? (primary.includes(name) ? "injected" : undefined);
90
+ if (state === "injected")
91
+ return ok(`Skill ${name} is already in your context (system instructions); use that copy, ${NOT_LOADED_AGAIN}.`);
92
+ if (state === "loaded")
93
+ return ok(`Skill ${name} was already loaded earlier in this conversation; use that result, ${NOT_LOADED_AGAIN}.`);
94
+ const text = await deps.skills.load(name, context.role);
95
+ if (text === undefined) {
96
+ const available = (await deps.skills.list(context.role)).map((entry) => entry.name);
97
+ return {
98
+ status: "error",
99
+ text: "",
100
+ truncated: false,
101
+ redactions: 0,
102
+ error: { code: "invalid_arguments", message: `skill ${name} is not in the ${context.role} catalog; available: ${available.join(", ") || "none"}`.slice(0, 2000) },
103
+ };
104
+ }
105
+ registry.noteLoaded(scope, name);
106
+ return ok(text.slice(0, limit), text.length > limit);
107
+ };
108
+ }
109
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/harness/context/skills.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ModelMessage, SystemBlock, ToolDescriptor } from "../contracts/index.ts";
2
+ /**
3
+ * A provider-neutral token estimate (about four characters per token). It only has to be stable
4
+ * and conservative enough to budget a context; providers report the real numbers afterwards.
5
+ */
6
+ export declare function estimateTokens(text: string): number;
7
+ export declare function messageTokens(message: ModelMessage): number;
8
+ export declare function blockTokens(block: Pick<SystemBlock, "text">): number;
9
+ export declare function toolTokens(tools: readonly ToolDescriptor[]): number;
10
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/harness/context/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvF;;;GAGG;AAEH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAwB3D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,MAAM,CAEpE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,GAAG,MAAM,CAEnE"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * A provider-neutral token estimate (about four characters per token). It only has to be stable
3
+ * and conservative enough to budget a context; providers report the real numbers afterwards.
4
+ */
5
+ export function estimateTokens(text) {
6
+ return text.length === 0 ? 0 : Math.ceil(text.length / 4);
7
+ }
8
+ export function messageTokens(message) {
9
+ let total = 4;
10
+ for (const part of message.content) {
11
+ switch (part.type) {
12
+ case "text":
13
+ case "thinking":
14
+ total += estimateTokens(part.text);
15
+ break;
16
+ case "tool_call":
17
+ total += estimateTokens(part.name) + estimateTokens(JSON.stringify(part.arguments));
18
+ break;
19
+ case "tool_result":
20
+ total += estimateTokens(part.text);
21
+ break;
22
+ case "blob":
23
+ total += 16;
24
+ break;
25
+ case "image":
26
+ // Providers bill an image by pixels (roughly 1-2k tokens for a screenshot); budget conservatively.
27
+ total += 1600;
28
+ break;
29
+ }
30
+ }
31
+ return total;
32
+ }
33
+ export function blockTokens(block) {
34
+ return estimateTokens(block.text) + 4;
35
+ }
36
+ export function toolTokens(tools) {
37
+ return tools.reduce((sum, tool) => sum + estimateTokens(tool.name + tool.description + JSON.stringify(tool.input_schema)), 0);
38
+ }
39
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/harness/context/tokens.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAqB;IACjD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACnC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC;YACZ,KAAK,UAAU;gBACb,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,WAAW;gBACd,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBACpF,MAAM;YACR,KAAK,aAAa;gBAChB,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,MAAM;gBACT,KAAK,IAAI,EAAE,CAAC;gBACZ,MAAM;YACR,KAAK,OAAO;gBACV,mGAAmG;gBACnG,KAAK,IAAI,IAAI,CAAC;gBACd,MAAM;QACV,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAgC;IAC1D,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAgC;IACzD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChI,CAAC"}
@@ -0,0 +1,214 @@
1
+ import { z } from "zod";
2
+ import { type ProviderId } from "./ids.ts";
3
+ /**
4
+ * Authentication is split from model access. An `AuthProvider` owns one (provider, method,
5
+ * profile) identity; a `CredentialStore` persists secrets for the identities Synorch owns. A
6
+ * `cli-bridge` identity is owned by the user's own installed client (Claude Code, Codex): Synorch
7
+ * never sees, stores or copies its tokens, so no secret schema exists for it.
8
+ */
9
+ export declare const AUTH_METHODS: readonly ["oauth-subscription", "cli-bridge", "api-key"];
10
+ export declare const authMethodSchema: z.ZodEnum<{
11
+ "oauth-subscription": "oauth-subscription";
12
+ "cli-bridge": "cli-bridge";
13
+ "api-key": "api-key";
14
+ }>;
15
+ export type AuthMethodKind = (typeof AUTH_METHODS)[number];
16
+ export declare const AUTH_STATES: readonly ["connected", "expired", "login_required", "disconnected", "unknown", "error"];
17
+ /**
18
+ * Where secrets are kept, reported truthfully: `os-keychain` is a real OS credential store (macOS
19
+ * Keychain, Secret Service); `os-dpapi` is a file holding only ciphertext encrypted with Windows
20
+ * DPAPI for the current user; `file-0600` is plain text protected by file mode only.
21
+ */
22
+ export declare const CREDENTIAL_STORE_BACKENDS: readonly ["os-keychain", "os-dpapi", "file-0600", "memory"];
23
+ export type CredentialStoreBackend = (typeof CREDENTIAL_STORE_BACKENDS)[number];
24
+ export declare const profileNameSchema: z.ZodString;
25
+ export declare const credentialRefSchema: z.ZodObject<{
26
+ provider_id: z.core.$ZodBranded<z.ZodString, "ProviderId", "out">;
27
+ method: z.ZodEnum<{
28
+ "oauth-subscription": "oauth-subscription";
29
+ "cli-bridge": "cli-bridge";
30
+ "api-key": "api-key";
31
+ }>;
32
+ profile: z.ZodString;
33
+ }, z.core.$strict>;
34
+ export type CredentialRef = z.infer<typeof credentialRefSchema>;
35
+ /** Keychain service name; the account key is `<provider>:<method>:<profile>`. */
36
+ export declare const CREDENTIAL_SERVICE_NAME = "synorch";
37
+ export declare function credentialAccountKey(ref: CredentialRef): string;
38
+ /** What `syn auth status` and `doctor --runtime` show. Never carries a secret. */
39
+ export declare const authStatusSchema: z.ZodObject<{
40
+ provider_id: z.core.$ZodBranded<z.ZodString, "ProviderId", "out">;
41
+ method: z.ZodEnum<{
42
+ "oauth-subscription": "oauth-subscription";
43
+ "cli-bridge": "cli-bridge";
44
+ "api-key": "api-key";
45
+ }>;
46
+ profile: z.ZodString;
47
+ state: z.ZodEnum<{
48
+ error: "error";
49
+ unknown: "unknown";
50
+ expired: "expired";
51
+ connected: "connected";
52
+ login_required: "login_required";
53
+ disconnected: "disconnected";
54
+ }>;
55
+ account_label: z.ZodOptional<z.ZodString>;
56
+ plan_label: z.ZodOptional<z.ZodString>;
57
+ entitlement: z.ZodEnum<{
58
+ unknown: "unknown";
59
+ verified: "verified";
60
+ unverified: "unverified";
61
+ }>;
62
+ billing: z.ZodEnum<{
63
+ unknown: "unknown";
64
+ subscription: "subscription";
65
+ metered: "metered";
66
+ }>;
67
+ expires_at: z.ZodOptional<z.ZodISODateTime>;
68
+ store_backend: z.ZodOptional<z.ZodEnum<{
69
+ "os-keychain": "os-keychain";
70
+ "os-dpapi": "os-dpapi";
71
+ "file-0600": "file-0600";
72
+ memory: "memory";
73
+ }>>;
74
+ detail: z.ZodOptional<z.ZodString>;
75
+ }, z.core.$strict>;
76
+ export type AuthStatus = z.infer<typeof authStatusSchema>;
77
+ /** Stored secret shapes. `cli-bridge` is deliberately absent: its credentials are never ours. */
78
+ export declare const credentialSecretSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
79
+ method: z.ZodLiteral<"oauth-subscription">;
80
+ access_token: z.ZodString;
81
+ refresh_token: z.ZodString;
82
+ id_token: z.ZodOptional<z.ZodString>;
83
+ expires_at: z.ZodISODateTime;
84
+ account_id: z.ZodOptional<z.ZodString>;
85
+ plan_type: z.ZodOptional<z.ZodString>;
86
+ originator: z.ZodLiteral<"synorch">;
87
+ obtained_at: z.ZodISODateTime;
88
+ last_refresh_at: z.ZodOptional<z.ZodISODateTime>;
89
+ }, z.core.$strict>, z.ZodObject<{
90
+ method: z.ZodLiteral<"api-key">;
91
+ api_key: z.ZodString;
92
+ created_at: z.ZodISODateTime;
93
+ }, z.core.$strict>], "method">;
94
+ export type CredentialSecret = z.infer<typeof credentialSecretSchema>;
95
+ /** File fallback layout: `~/.synorch/credentials.json`, mode 0600, directory 0700. */
96
+ export declare const credentialFileSchema: z.ZodObject<{
97
+ schema_version: z.ZodLiteral<1>;
98
+ profiles: z.ZodRecord<z.ZodString, z.ZodObject<{
99
+ ref: z.ZodObject<{
100
+ provider_id: z.core.$ZodBranded<z.ZodString, "ProviderId", "out">;
101
+ method: z.ZodEnum<{
102
+ "oauth-subscription": "oauth-subscription";
103
+ "cli-bridge": "cli-bridge";
104
+ "api-key": "api-key";
105
+ }>;
106
+ profile: z.ZodString;
107
+ }, z.core.$strict>;
108
+ secret: z.ZodDiscriminatedUnion<[z.ZodObject<{
109
+ method: z.ZodLiteral<"oauth-subscription">;
110
+ access_token: z.ZodString;
111
+ refresh_token: z.ZodString;
112
+ id_token: z.ZodOptional<z.ZodString>;
113
+ expires_at: z.ZodISODateTime;
114
+ account_id: z.ZodOptional<z.ZodString>;
115
+ plan_type: z.ZodOptional<z.ZodString>;
116
+ originator: z.ZodLiteral<"synorch">;
117
+ obtained_at: z.ZodISODateTime;
118
+ last_refresh_at: z.ZodOptional<z.ZodISODateTime>;
119
+ }, z.core.$strict>, z.ZodObject<{
120
+ method: z.ZodLiteral<"api-key">;
121
+ api_key: z.ZodString;
122
+ created_at: z.ZodISODateTime;
123
+ }, z.core.$strict>], "method">;
124
+ }, z.core.$strict>>;
125
+ }, z.core.$strict>;
126
+ export type CredentialFile = z.infer<typeof credentialFileSchema>;
127
+ /**
128
+ * Other applications' credential stores. Reading, copying or writing any of them is a hard
129
+ * non-goal (ADR-05): Synorch performs its own login or drives the official client, never both.
130
+ */
131
+ export declare const FORBIDDEN_CREDENTIAL_SOURCES: readonly ["~/.claude/.credentials.json", "~/.claude.json", "~/.codex/auth.json", "keychain:Claude Code-credentials"];
132
+ /**
133
+ * Removed from a bridge child's environment so a subscription bridge never bills an API key, a
134
+ * cloud account (Bedrock, Vertex) or a redirected endpoint silently (SEC-M2). Every name starting
135
+ * with a `BRIDGE_STRIPPED_ENV_PREFIXES` entry is removed as well.
136
+ */
137
+ export declare const BRIDGE_STRIPPED_ENV: readonly ["ANTHROPIC_API_KEY", "ANTHROPIC_AUTH_TOKEN", "ANTHROPIC_BASE_URL", "CLAUDE_CODE_OAUTH_TOKEN", "CLAUDE_CODE_USE_BEDROCK", "CLAUDE_CODE_USE_VERTEX", "AWS_BEARER_TOKEN_BEDROCK", "OPENAI_API_KEY", "CODEX_API_KEY"];
138
+ /** Name prefixes stripped from a bridge child's environment (`ANTHROPIC_*`, `CLAUDE_CODE_USE_*`). */
139
+ export declare const BRIDGE_STRIPPED_ENV_PREFIXES: readonly ["ANTHROPIC_", "CLAUDE_CODE_USE_"];
140
+ /** True when `name` must not reach a bridge child. Matching is case-insensitive (Windows env names are). */
141
+ export declare function isBridgeStrippedEnvName(name: string): boolean;
142
+ export declare const AUTH_NOTICE_IDS: readonly ["chatgpt-subscription", "claude-bridge-experimental", "api-key-billing", "plaintext-credential-file"];
143
+ export interface AuthNotice {
144
+ readonly id: (typeof AUTH_NOTICE_IDS)[number];
145
+ readonly text: string;
146
+ /** When true the login does not proceed until the user acknowledges it once per profile. */
147
+ readonly requiresAcknowledgement: boolean;
148
+ }
149
+ export interface DeviceCodePrompt {
150
+ readonly verificationUri: string;
151
+ readonly userCode: string;
152
+ readonly expiresAt: string;
153
+ }
154
+ /** The only channel an auth flow may use to reach the user; the TUI and plain renderers implement it. */
155
+ export interface AuthInteraction {
156
+ readonly interactive: boolean;
157
+ openBrowser(url: string): Promise<boolean>;
158
+ showDeviceCode(prompt: DeviceCodePrompt): void;
159
+ promptSecret(label: string, signal: AbortSignal): Promise<string>;
160
+ acknowledge(notice: AuthNotice, signal: AbortSignal): Promise<boolean>;
161
+ notify(message: string): void;
162
+ }
163
+ /**
164
+ * A usable credential for one request. The secret stays inside the implementation: it can be
165
+ * applied to outgoing headers and reported to the redactor, but never serialized.
166
+ */
167
+ export interface ResolvedCredential {
168
+ readonly providerId: ProviderId;
169
+ readonly method: Exclude<AuthMethodKind, "cli-bridge">;
170
+ readonly profile: string;
171
+ readonly expiresAt: string | undefined;
172
+ applyTo(headers: Headers): void;
173
+ redactionValues(): readonly string[];
174
+ toJSON(): "[redacted]";
175
+ }
176
+ export interface ResolveOptions {
177
+ /**
178
+ * The provider rejected a credential that still looked valid locally (HTTP 401): refresh under the
179
+ * profile's refresh lock unless another process already rotated it since this process last
180
+ * issued it. Only `oauth-subscription` providers can refresh; other methods resolve as usual, so
181
+ * callers retry a rejected request only for that method.
182
+ */
183
+ readonly forceRefresh?: boolean;
184
+ }
185
+ export interface AuthProvider {
186
+ readonly providerId: ProviderId;
187
+ readonly method: AuthMethodKind;
188
+ readonly profile: string;
189
+ readonly notices: readonly AuthNotice[];
190
+ status(signal: AbortSignal): Promise<AuthStatus>;
191
+ login(interaction: AuthInteraction, signal: AbortSignal): Promise<AuthStatus>;
192
+ logout(signal: AbortSignal): Promise<void>;
193
+ /**
194
+ * Returns a fresh credential, refreshing under the store's per-profile refresh lock when needed.
195
+ * Throws `ProviderFailure` with `auth_expired` / `unauthenticated`; never falls back to another
196
+ * method or profile. A `cli-bridge` provider rejects with `invalid_request`: bridges resolve
197
+ * their own credentials inside the user's client.
198
+ */
199
+ resolve(signal: AbortSignal, options?: ResolveOptions): Promise<ResolvedCredential>;
200
+ }
201
+ export interface CredentialStore {
202
+ readonly backend: CredentialStoreBackend;
203
+ get(ref: CredentialRef): Promise<CredentialSecret | undefined>;
204
+ set(ref: CredentialRef, secret: CredentialSecret): Promise<void>;
205
+ delete(ref: CredentialRef): Promise<boolean>;
206
+ list(): Promise<readonly CredentialRef[]>;
207
+ /**
208
+ * Runs `refresh` while holding a cross-process lock for this profile. The old secret is kept
209
+ * until the new one is durably written; a permanent refresh failure moves the profile to
210
+ * `login_required` instead of deleting it.
211
+ */
212
+ withRefreshLock<T>(ref: CredentialRef, refresh: () => Promise<T>, signal: AbortSignal): Promise<T>;
213
+ }
214
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/harness/contracts/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ import { z } from "zod";
2
+ import { timestampSchema } from "./common.js";
3
+ import { providerIdSchema } from "./ids.js";
4
+ /**
5
+ * Authentication is split from model access. An `AuthProvider` owns one (provider, method,
6
+ * profile) identity; a `CredentialStore` persists secrets for the identities Synorch owns. A
7
+ * `cli-bridge` identity is owned by the user's own installed client (Claude Code, Codex): Synorch
8
+ * never sees, stores or copies its tokens, so no secret schema exists for it.
9
+ */
10
+ export const AUTH_METHODS = ["oauth-subscription", "cli-bridge", "api-key"];
11
+ export const authMethodSchema = z.enum(AUTH_METHODS);
12
+ export const AUTH_STATES = [
13
+ "connected",
14
+ "expired",
15
+ "login_required",
16
+ "disconnected",
17
+ "unknown",
18
+ "error",
19
+ ];
20
+ /**
21
+ * Where secrets are kept, reported truthfully: `os-keychain` is a real OS credential store (macOS
22
+ * Keychain, Secret Service); `os-dpapi` is a file holding only ciphertext encrypted with Windows
23
+ * DPAPI for the current user; `file-0600` is plain text protected by file mode only.
24
+ */
25
+ export const CREDENTIAL_STORE_BACKENDS = ["os-keychain", "os-dpapi", "file-0600", "memory"];
26
+ export const profileNameSchema = z
27
+ .string()
28
+ .max(64)
29
+ .regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, "profile must be kebab-case");
30
+ export const credentialRefSchema = z.strictObject({
31
+ provider_id: providerIdSchema,
32
+ method: authMethodSchema,
33
+ profile: profileNameSchema,
34
+ });
35
+ /** Keychain service name; the account key is `<provider>:<method>:<profile>`. */
36
+ export const CREDENTIAL_SERVICE_NAME = "synorch";
37
+ export function credentialAccountKey(ref) {
38
+ return `${ref.provider_id}:${ref.method}:${ref.profile}`;
39
+ }
40
+ /** What `syn auth status` and `doctor --runtime` show. Never carries a secret. */
41
+ export const authStatusSchema = z.strictObject({
42
+ provider_id: providerIdSchema,
43
+ method: authMethodSchema,
44
+ profile: profileNameSchema,
45
+ state: z.enum(AUTH_STATES),
46
+ account_label: z.string().max(200).optional(),
47
+ plan_label: z.string().max(100).optional(),
48
+ entitlement: z.enum(["verified", "unverified", "unknown"]),
49
+ billing: z.enum(["subscription", "metered", "unknown"]),
50
+ expires_at: timestampSchema.optional(),
51
+ store_backend: z.enum(CREDENTIAL_STORE_BACKENDS).optional(),
52
+ detail: z.string().max(500).optional(),
53
+ });
54
+ const oauthSubscriptionSecretSchema = z.strictObject({
55
+ method: z.literal("oauth-subscription"),
56
+ access_token: z.string().min(1),
57
+ refresh_token: z.string().min(1),
58
+ id_token: z.string().min(1).optional(),
59
+ expires_at: timestampSchema,
60
+ account_id: z.string().min(1).optional(),
61
+ plan_type: z.string().min(1).optional(),
62
+ originator: z.literal("synorch"),
63
+ obtained_at: timestampSchema,
64
+ last_refresh_at: timestampSchema.optional(),
65
+ });
66
+ const apiKeySecretSchema = z.strictObject({
67
+ method: z.literal("api-key"),
68
+ api_key: z.string().min(1),
69
+ created_at: timestampSchema,
70
+ });
71
+ /** Stored secret shapes. `cli-bridge` is deliberately absent: its credentials are never ours. */
72
+ export const credentialSecretSchema = z.discriminatedUnion("method", [
73
+ oauthSubscriptionSecretSchema,
74
+ apiKeySecretSchema,
75
+ ]);
76
+ /** File fallback layout: `~/.synorch/credentials.json`, mode 0600, directory 0700. */
77
+ export const credentialFileSchema = z.strictObject({
78
+ schema_version: z.literal(1),
79
+ profiles: z.record(z.string().min(1), z.strictObject({ ref: credentialRefSchema, secret: credentialSecretSchema })),
80
+ });
81
+ /**
82
+ * Other applications' credential stores. Reading, copying or writing any of them is a hard
83
+ * non-goal (ADR-05): Synorch performs its own login or drives the official client, never both.
84
+ */
85
+ export const FORBIDDEN_CREDENTIAL_SOURCES = [
86
+ "~/.claude/.credentials.json",
87
+ "~/.claude.json",
88
+ "~/.codex/auth.json",
89
+ "keychain:Claude Code-credentials",
90
+ ];
91
+ /**
92
+ * Removed from a bridge child's environment so a subscription bridge never bills an API key, a
93
+ * cloud account (Bedrock, Vertex) or a redirected endpoint silently (SEC-M2). Every name starting
94
+ * with a `BRIDGE_STRIPPED_ENV_PREFIXES` entry is removed as well.
95
+ */
96
+ export const BRIDGE_STRIPPED_ENV = [
97
+ "ANTHROPIC_API_KEY",
98
+ "ANTHROPIC_AUTH_TOKEN",
99
+ "ANTHROPIC_BASE_URL",
100
+ "CLAUDE_CODE_OAUTH_TOKEN",
101
+ "CLAUDE_CODE_USE_BEDROCK",
102
+ "CLAUDE_CODE_USE_VERTEX",
103
+ "AWS_BEARER_TOKEN_BEDROCK",
104
+ "OPENAI_API_KEY",
105
+ "CODEX_API_KEY",
106
+ ];
107
+ /** Name prefixes stripped from a bridge child's environment (`ANTHROPIC_*`, `CLAUDE_CODE_USE_*`). */
108
+ export const BRIDGE_STRIPPED_ENV_PREFIXES = ["ANTHROPIC_", "CLAUDE_CODE_USE_"];
109
+ /** True when `name` must not reach a bridge child. Matching is case-insensitive (Windows env names are). */
110
+ export function isBridgeStrippedEnvName(name) {
111
+ const upper = name.toUpperCase();
112
+ return BRIDGE_STRIPPED_ENV.includes(upper) || BRIDGE_STRIPPED_ENV_PREFIXES.some((prefix) => upper.startsWith(prefix));
113
+ }
114
+ export const AUTH_NOTICE_IDS = [
115
+ "chatgpt-subscription",
116
+ "claude-bridge-experimental",
117
+ "api-key-billing",
118
+ "plaintext-credential-file",
119
+ ];
120
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/harness/contracts/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * K5 choice questions: one shape for every question the harness puts to the user (the `/init`
4
+ * confirmation, approval cards, `/model`, `/config`, the memory desk, the agent's `ask_user` and
5
+ * Claude Code's own AskUserQuestion). The interactive renderer shows it as a focused modal; plain
6
+ * mode prints the numbered equivalent and parses what is typed (`parseTypedChoice`).
7
+ */
8
+ export interface ChoiceOption {
9
+ readonly label: string;
10
+ /** One dim line under the label. */
11
+ readonly description?: string;
12
+ /** A short preview block (code, mockup) shown under the highlighted option. */
13
+ readonly preview?: string;
14
+ /** Tagged "Recommended"; at most one per question. */
15
+ readonly recommended?: boolean;
16
+ /** Shown but not selectable; the text says why. */
17
+ readonly disabled?: string;
18
+ }
19
+ export interface ChoiceQuestion {
20
+ readonly question: string;
21
+ /** A short chip shown before the question (`Auth`, `Format`). */
22
+ readonly header?: string;
23
+ /** Pre-rendered lines between the question and the options (the approval card's what, where and why). */
24
+ readonly context?: readonly string[];
25
+ /** One dim line under the question (column legend, where a setting is saved). */
26
+ readonly subtitle?: string;
27
+ readonly options: readonly ChoiceOption[];
28
+ /** 1-9 pick an option directly (default true; off for the trust prompt, where a stray digit must not trust). */
29
+ readonly numberShortcuts?: boolean;
30
+ /** Space toggles, Enter confirms. */
31
+ readonly multiSelect?: boolean;
32
+ /** Multi-select rows checked when the modal opens (for example every changed file in `/commit`). */
33
+ readonly initialChecked?: readonly number[];
34
+ /** Appends "Other…", which switches to a free-text answer. Default true. */
35
+ readonly allowOther?: boolean;
36
+ /** The row highlighted first (default: the recommended one, else the first). */
37
+ readonly initialIndex?: number;
38
+ /** What Esc means, for the hint line (`cancel`, `deny`, `not now`). */
39
+ readonly escapeLabel?: string;
40
+ /** `attention` (yellow frame) for questions that block work; `neutral` for pickers. */
41
+ readonly tone?: "attention" | "neutral";
42
+ }
43
+ /** What the user answered; the renderer resolves undefined on Esc / abort instead. */
44
+ export type ChoiceAnswer = {
45
+ readonly kind: "selected";
46
+ readonly indices: readonly number[];
47
+ readonly labels: readonly string[];
48
+ } | {
49
+ readonly kind: "other";
50
+ readonly text: string;
51
+ };
52
+ export declare const OTHER_LABEL = "Other\u2026";
53
+ /** The row the modal highlights first. */
54
+ export declare function initialChoiceIndex(question: ChoiceQuestion): number;
55
+ /** The answer's text: the chosen labels joined with ", ", or the free text. */
56
+ export declare function choiceAnswerText(answer: ChoiceAnswer): string;
57
+ /**
58
+ * Plain-mode lines for a question: the chip and question, one numbered row per option (with its
59
+ * description and the recommended tag), "Other" and how to answer.
60
+ */
61
+ export declare function choiceQuestionLines(question: ChoiceQuestion): string[];
62
+ /**
63
+ * Reads a typed plain-mode answer: a number (or comma-separated numbers for multi-select) picks
64
+ * options, a typed label picks that option, anything else is free text (when "Other" is allowed).
65
+ * Undefined when nothing usable was typed (empty, or text a closed question cannot take).
66
+ */
67
+ export declare function parseTypedChoice(question: ChoiceQuestion, typed: string): ChoiceAnswer | undefined;
68
+ export declare const askUserOptionSchema: z.ZodObject<{
69
+ label: z.ZodString;
70
+ description: z.ZodString;
71
+ preview: z.ZodOptional<z.ZodString>;
72
+ recommended: z.ZodOptional<z.ZodBoolean>;
73
+ }, z.core.$strict>;
74
+ export declare const askUserQuestionSchema: z.ZodObject<{
75
+ question: z.ZodString;
76
+ header: z.ZodString;
77
+ options: z.ZodArray<z.ZodObject<{
78
+ label: z.ZodString;
79
+ description: z.ZodString;
80
+ preview: z.ZodOptional<z.ZodString>;
81
+ recommended: z.ZodOptional<z.ZodBoolean>;
82
+ }, z.core.$strict>>;
83
+ multiSelect: z.ZodOptional<z.ZodBoolean>;
84
+ }, z.core.$strict>;
85
+ export declare const askUserInputSchema: z.ZodObject<{
86
+ questions: z.ZodArray<z.ZodObject<{
87
+ question: z.ZodString;
88
+ header: z.ZodString;
89
+ options: z.ZodArray<z.ZodObject<{
90
+ label: z.ZodString;
91
+ description: z.ZodString;
92
+ preview: z.ZodOptional<z.ZodString>;
93
+ recommended: z.ZodOptional<z.ZodBoolean>;
94
+ }, z.core.$strict>>;
95
+ multiSelect: z.ZodOptional<z.ZodBoolean>;
96
+ }, z.core.$strict>>;
97
+ }, z.core.$strict>;
98
+ export type AskUserInput = z.infer<typeof askUserInputSchema>;
99
+ export type AskUserQuestion = z.infer<typeof askUserQuestionSchema>;
100
+ /**
101
+ * What goes back to the model: per question text, the selected labels (an array) or the user's
102
+ * own free text (a string).
103
+ */
104
+ export interface AskUserAnswers {
105
+ readonly answers: Readonly<Record<string, readonly string[] | string>>;
106
+ }
107
+ export declare function askUserChoiceQuestion(question: AskUserQuestion): ChoiceQuestion;
108
+ export declare function askUserAnswerValue(answer: ChoiceAnswer): readonly string[] | string;
109
+ /** The one transcript line an answered question leaves: `? Auth method → OAuth`. */
110
+ export declare function askUserSummaryLine(question: {
111
+ readonly question: string;
112
+ readonly header?: string;
113
+ }, answer: ChoiceAnswer | undefined): string;
114
+ export declare const ASK_USER_HEADLESS_MESSAGE = "no user available in this session (headless, JSONL or piped input); decide yourself using the recommended option (or the safest one) and say which you chose";
115
+ //# sourceMappingURL=choice.d.ts.map