@canhta/dsh-autopilot 0.1.0-alpha.1

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 (448) hide show
  1. package/AGENTS.md +41 -0
  2. package/CONTEXT.md +39 -0
  3. package/LICENSE +21 -0
  4. package/README.md +95 -0
  5. package/cordis.patch.yml +13 -0
  6. package/deploy/dsh-autopilot.service +26 -0
  7. package/docs/CONTRIBUTING.md +60 -0
  8. package/docs/README.md +34 -0
  9. package/docs/agents/domain.md +7 -0
  10. package/docs/agents/issue-tracker.md +21 -0
  11. package/docs/agents/triage-labels.md +13 -0
  12. package/docs/assets/banner.png +0 -0
  13. package/docs/deployment.md +138 -0
  14. package/docs/engineering.md +43 -0
  15. package/docs/specs/execution.md +65 -0
  16. package/docs/specs/integrations.md +89 -0
  17. package/docs/specs/lifecycle.md +81 -0
  18. package/docs/specs/operations.md +89 -0
  19. package/docs/specs/plugin.md +49 -0
  20. package/docs/specs/providers.md +62 -0
  21. package/docs/specs/scope.md +35 -0
  22. package/docs/specs/ui-components.md +96 -0
  23. package/docs/specs/web-ui.md +64 -0
  24. package/lib/admission/cancellation-control.d.ts +11 -0
  25. package/lib/admission/cancellation-control.js +72 -0
  26. package/lib/admission/cancellation-control.js.map +1 -0
  27. package/lib/admission/candidates.d.ts +2 -0
  28. package/lib/admission/candidates.js +23 -0
  29. package/lib/admission/candidates.js.map +1 -0
  30. package/lib/admission/composition-claim.d.ts +10 -0
  31. package/lib/admission/composition-claim.js +13 -0
  32. package/lib/admission/composition-claim.js.map +1 -0
  33. package/lib/admission/constants.d.ts +12 -0
  34. package/lib/admission/constants.js +13 -0
  35. package/lib/admission/constants.js.map +1 -0
  36. package/lib/admission/deliveries.d.ts +6 -0
  37. package/lib/admission/deliveries.js +175 -0
  38. package/lib/admission/deliveries.js.map +1 -0
  39. package/lib/admission/delivery-control.d.ts +28 -0
  40. package/lib/admission/delivery-control.js +294 -0
  41. package/lib/admission/delivery-control.js.map +1 -0
  42. package/lib/admission/execution-control.d.ts +29 -0
  43. package/lib/admission/execution-control.js +177 -0
  44. package/lib/admission/execution-control.js.map +1 -0
  45. package/lib/admission/index.d.ts +4 -0
  46. package/lib/admission/index.js +4 -0
  47. package/lib/admission/index.js.map +1 -0
  48. package/lib/admission/model.d.ts +296 -0
  49. package/lib/admission/model.js +13 -0
  50. package/lib/admission/model.js.map +1 -0
  51. package/lib/admission/pause-control.d.ts +44 -0
  52. package/lib/admission/pause-control.js +220 -0
  53. package/lib/admission/pause-control.js.map +1 -0
  54. package/lib/admission/policy.d.ts +39 -0
  55. package/lib/admission/policy.js +238 -0
  56. package/lib/admission/policy.js.map +1 -0
  57. package/lib/admission/ports.d.ts +13 -0
  58. package/lib/admission/ports.js +2 -0
  59. package/lib/admission/ports.js.map +1 -0
  60. package/lib/admission/publication-control.d.ts +16 -0
  61. package/lib/admission/publication-control.js +153 -0
  62. package/lib/admission/publication-control.js.map +1 -0
  63. package/lib/admission/reconciler.d.ts +7 -0
  64. package/lib/admission/reconciler.js +121 -0
  65. package/lib/admission/reconciler.js.map +1 -0
  66. package/lib/admission/resume-control.d.ts +27 -0
  67. package/lib/admission/resume-control.js +213 -0
  68. package/lib/admission/resume-control.js.map +1 -0
  69. package/lib/admission/run-fence.d.ts +11 -0
  70. package/lib/admission/run-fence.js +49 -0
  71. package/lib/admission/run-fence.js.map +1 -0
  72. package/lib/admission/service.d.ts +130 -0
  73. package/lib/admission/service.js +415 -0
  74. package/lib/admission/service.js.map +1 -0
  75. package/lib/admission/state-domain.d.ts +11 -0
  76. package/lib/admission/state-domain.js +33 -0
  77. package/lib/admission/state-domain.js.map +1 -0
  78. package/lib/admission/state-integrity.d.ts +19 -0
  79. package/lib/admission/state-integrity.js +102 -0
  80. package/lib/admission/state-integrity.js.map +1 -0
  81. package/lib/admission/state-migration.d.ts +4 -0
  82. package/lib/admission/state-migration.js +46 -0
  83. package/lib/admission/state-migration.js.map +1 -0
  84. package/lib/admission/state.d.ts +4524 -0
  85. package/lib/admission/state.js +394 -0
  86. package/lib/admission/state.js.map +1 -0
  87. package/lib/admission.d.ts +1 -0
  88. package/lib/admission.js +2 -0
  89. package/lib/admission.js.map +1 -0
  90. package/lib/client-types/client/OperationsAtoms.d.ts +30 -0
  91. package/lib/client-types/client/OperationsPanel.d.ts +34 -0
  92. package/lib/client-types/client/RunsView.d.ts +14 -0
  93. package/lib/client-types/client/SettingsCapabilitySections.d.ts +16 -0
  94. package/lib/client-types/client/SettingsPanel.d.ts +40 -0
  95. package/lib/client-types/client/SettingsPolicySections.d.ts +13 -0
  96. package/lib/client-types/client/SettingsProviderSection.d.ts +21 -0
  97. package/lib/client-types/client/SummaryView.d.ts +10 -0
  98. package/lib/client-types/client/WorktreesView.d.ts +9 -0
  99. package/lib/client-types/client/index.d.ts +9 -0
  100. package/lib/client-types/client/locales/en.d.ts +154 -0
  101. package/lib/client-types/client/locales/index.d.ts +9 -0
  102. package/lib/client-types/client/locales/zh.d.ts +155 -0
  103. package/lib/client-types/client/settings-draft.d.ts +29 -0
  104. package/lib/client-types/client/state.d.ts +63 -0
  105. package/lib/client-types/code-host/index.d.ts +2 -0
  106. package/lib/client-types/code-host/model.d.ts +118 -0
  107. package/lib/client-types/code-host/registry.d.ts +23 -0
  108. package/lib/client-types/code-host/validation.d.ts +51 -0
  109. package/lib/client-types/code-host.d.ts +2 -0
  110. package/lib/client-types/config/index.d.ts +2 -0
  111. package/lib/client-types/config/settings.d.ts +51 -0
  112. package/lib/client-types/config.d.ts +2 -0
  113. package/lib/client-types/notification/index.d.ts +2 -0
  114. package/lib/client-types/notification/model.d.ts +57 -0
  115. package/lib/client-types/notification/registry.d.ts +16 -0
  116. package/lib/client-types/notification.d.ts +2 -0
  117. package/lib/client-types/providers/generation-registry.d.ts +20 -0
  118. package/lib/client-types/remote.d.ts +65 -0
  119. package/lib/client-types/tracker/index.d.ts +2 -0
  120. package/lib/client-types/tracker/model.d.ts +222 -0
  121. package/lib/client-types/tracker/registry.d.ts +49 -0
  122. package/lib/client-types/tracker/validation.d.ts +60 -0
  123. package/lib/client-types/tracker.d.ts +2 -0
  124. package/lib/client-types/web/contract.d.ts +958 -0
  125. package/lib/client.js +7961 -0
  126. package/lib/client.js.map +1 -0
  127. package/lib/code-host/index.d.ts +2 -0
  128. package/lib/code-host/index.js +3 -0
  129. package/lib/code-host/index.js.map +1 -0
  130. package/lib/code-host/model.d.ts +118 -0
  131. package/lib/code-host/model.js +23 -0
  132. package/lib/code-host/model.js.map +1 -0
  133. package/lib/code-host/registry.d.ts +23 -0
  134. package/lib/code-host/registry.js +90 -0
  135. package/lib/code-host/registry.js.map +1 -0
  136. package/lib/code-host/validation.d.ts +51 -0
  137. package/lib/code-host/validation.js +30 -0
  138. package/lib/code-host/validation.js.map +1 -0
  139. package/lib/code-host.d.ts +2 -0
  140. package/lib/code-host.js +3 -0
  141. package/lib/code-host.js.map +1 -0
  142. package/lib/config/index.d.ts +2 -0
  143. package/lib/config/index.js +3 -0
  144. package/lib/config/index.js.map +1 -0
  145. package/lib/config/settings.d.ts +51 -0
  146. package/lib/config/settings.js +195 -0
  147. package/lib/config/settings.js.map +1 -0
  148. package/lib/config.d.ts +2 -0
  149. package/lib/config.js +3 -0
  150. package/lib/config.js.map +1 -0
  151. package/lib/delivery/index.d.ts +1 -0
  152. package/lib/delivery/index.js +2 -0
  153. package/lib/delivery/index.js.map +1 -0
  154. package/lib/delivery/service.d.ts +29 -0
  155. package/lib/delivery/service.js +140 -0
  156. package/lib/delivery/service.js.map +1 -0
  157. package/lib/delivery.d.ts +2 -0
  158. package/lib/delivery.js +3 -0
  159. package/lib/delivery.js.map +1 -0
  160. package/lib/dispatch/composition.d.ts +18 -0
  161. package/lib/dispatch/composition.js +109 -0
  162. package/lib/dispatch/composition.js.map +1 -0
  163. package/lib/dispatch/contract.d.ts +2 -0
  164. package/lib/dispatch/contract.js +2 -0
  165. package/lib/dispatch/contract.js.map +1 -0
  166. package/lib/dispatch/execute.d.ts +10 -0
  167. package/lib/dispatch/execute.js +138 -0
  168. package/lib/dispatch/execute.js.map +1 -0
  169. package/lib/dispatch/execution-state.d.ts +12 -0
  170. package/lib/dispatch/execution-state.js +24 -0
  171. package/lib/dispatch/execution-state.js.map +1 -0
  172. package/lib/dispatch/git.d.ts +5 -0
  173. package/lib/dispatch/git.js +95 -0
  174. package/lib/dispatch/git.js.map +1 -0
  175. package/lib/dispatch/index.d.ts +2 -0
  176. package/lib/dispatch/index.js +2 -0
  177. package/lib/dispatch/index.js.map +1 -0
  178. package/lib/dispatch/report.d.ts +11 -0
  179. package/lib/dispatch/report.js +141 -0
  180. package/lib/dispatch/report.js.map +1 -0
  181. package/lib/dispatch/resume.d.ts +17 -0
  182. package/lib/dispatch/resume.js +89 -0
  183. package/lib/dispatch/resume.js.map +1 -0
  184. package/lib/dispatch/service.d.ts +56 -0
  185. package/lib/dispatch/service.js +231 -0
  186. package/lib/dispatch/service.js.map +1 -0
  187. package/lib/dispatch/usage.d.ts +10 -0
  188. package/lib/dispatch/usage.js +47 -0
  189. package/lib/dispatch/usage.js.map +1 -0
  190. package/lib/dispatch.d.ts +2 -0
  191. package/lib/dispatch.js +3 -0
  192. package/lib/dispatch.js.map +1 -0
  193. package/lib/github-code-host.d.ts +1 -0
  194. package/lib/github-code-host.js +2 -0
  195. package/lib/github-code-host.js.map +1 -0
  196. package/lib/github-issues.d.ts +1 -0
  197. package/lib/github-issues.js +2 -0
  198. package/lib/github-issues.js.map +1 -0
  199. package/lib/index.d.ts +21 -0
  200. package/lib/index.js +48 -0
  201. package/lib/index.js.map +1 -0
  202. package/lib/ingress.d.ts +2 -0
  203. package/lib/ingress.js +3 -0
  204. package/lib/ingress.js.map +1 -0
  205. package/lib/jira.d.ts +1 -0
  206. package/lib/jira.js +2 -0
  207. package/lib/jira.js.map +1 -0
  208. package/lib/mcp/contracts.d.ts +21 -0
  209. package/lib/mcp/contracts.js +33 -0
  210. package/lib/mcp/contracts.js.map +1 -0
  211. package/lib/mcp/cursor.d.ts +10 -0
  212. package/lib/mcp/cursor.js +68 -0
  213. package/lib/mcp/cursor.js.map +1 -0
  214. package/lib/mcp/definition.d.ts +8 -0
  215. package/lib/mcp/definition.js +43 -0
  216. package/lib/mcp/definition.js.map +1 -0
  217. package/lib/mcp/index.d.ts +6 -0
  218. package/lib/mcp/index.js +7 -0
  219. package/lib/mcp/index.js.map +1 -0
  220. package/lib/mcp/json.d.ts +4 -0
  221. package/lib/mcp/json.js +20 -0
  222. package/lib/mcp/json.js.map +1 -0
  223. package/lib/mcp/mount.d.ts +17 -0
  224. package/lib/mcp/mount.js +79 -0
  225. package/lib/mcp/mount.js.map +1 -0
  226. package/lib/mcp/read-tools.d.ts +27 -0
  227. package/lib/mcp/read-tools.js +149 -0
  228. package/lib/mcp/read-tools.js.map +1 -0
  229. package/lib/notification/index.d.ts +2 -0
  230. package/lib/notification/index.js +3 -0
  231. package/lib/notification/index.js.map +1 -0
  232. package/lib/notification/model.d.ts +57 -0
  233. package/lib/notification/model.js +20 -0
  234. package/lib/notification/model.js.map +1 -0
  235. package/lib/notification/registry.d.ts +16 -0
  236. package/lib/notification/registry.js +67 -0
  237. package/lib/notification/registry.js.map +1 -0
  238. package/lib/notification.d.ts +2 -0
  239. package/lib/notification.js +3 -0
  240. package/lib/notification.js.map +1 -0
  241. package/lib/ntfy-notification.d.ts +1 -0
  242. package/lib/ntfy-notification.js +2 -0
  243. package/lib/ntfy-notification.js.map +1 -0
  244. package/lib/operations/cleanup-inspector.d.ts +16 -0
  245. package/lib/operations/cleanup-inspector.js +132 -0
  246. package/lib/operations/cleanup-inspector.js.map +1 -0
  247. package/lib/operations/cleanup.d.ts +25 -0
  248. package/lib/operations/cleanup.js +151 -0
  249. package/lib/operations/cleanup.js.map +1 -0
  250. package/lib/operations/disposition.d.ts +46 -0
  251. package/lib/operations/disposition.js +89 -0
  252. package/lib/operations/disposition.js.map +1 -0
  253. package/lib/operations/health.d.ts +6 -0
  254. package/lib/operations/health.js +41 -0
  255. package/lib/operations/health.js.map +1 -0
  256. package/lib/operations/index.d.ts +6 -0
  257. package/lib/operations/index.js +7 -0
  258. package/lib/operations/index.js.map +1 -0
  259. package/lib/operations/inspection.d.ts +35 -0
  260. package/lib/operations/inspection.js +183 -0
  261. package/lib/operations/inspection.js.map +1 -0
  262. package/lib/operations/model.d.ts +77 -0
  263. package/lib/operations/model.js +2 -0
  264. package/lib/operations/model.js.map +1 -0
  265. package/lib/operations/recovery.d.ts +11 -0
  266. package/lib/operations/recovery.js +101 -0
  267. package/lib/operations/recovery.js.map +1 -0
  268. package/lib/operations/retention.d.ts +28 -0
  269. package/lib/operations/retention.js +105 -0
  270. package/lib/operations/retention.js.map +1 -0
  271. package/lib/operations/runtime-owner.d.ts +54 -0
  272. package/lib/operations/runtime-owner.js +281 -0
  273. package/lib/operations/runtime-owner.js.map +1 -0
  274. package/lib/operations/service.d.ts +55 -0
  275. package/lib/operations/service.js +154 -0
  276. package/lib/operations/service.js.map +1 -0
  277. package/lib/operations/state.d.ts +79 -0
  278. package/lib/operations/state.js +51 -0
  279. package/lib/operations/state.js.map +1 -0
  280. package/lib/operations/storage-composition.d.ts +16 -0
  281. package/lib/operations/storage-composition.js +61 -0
  282. package/lib/operations/storage-composition.js.map +1 -0
  283. package/lib/operations/store.d.ts +16 -0
  284. package/lib/operations/store.js +84 -0
  285. package/lib/operations/store.js.map +1 -0
  286. package/lib/operations.d.ts +2 -0
  287. package/lib/operations.js +3 -0
  288. package/lib/operations.js.map +1 -0
  289. package/lib/providers/generation-registry.d.ts +20 -0
  290. package/lib/providers/generation-registry.js +72 -0
  291. package/lib/providers/generation-registry.js.map +1 -0
  292. package/lib/providers/github-code-host/contracts.d.ts +224 -0
  293. package/lib/providers/github-code-host/contracts.js +144 -0
  294. package/lib/providers/github-code-host/contracts.js.map +1 -0
  295. package/lib/providers/github-code-host/index.d.ts +2 -0
  296. package/lib/providers/github-code-host/index.js +2 -0
  297. package/lib/providers/github-code-host/index.js.map +1 -0
  298. package/lib/providers/github-code-host/provider.d.ts +5 -0
  299. package/lib/providers/github-code-host/provider.js +289 -0
  300. package/lib/providers/github-code-host/provider.js.map +1 -0
  301. package/lib/providers/github-code-host/schemas.d.ts +81 -0
  302. package/lib/providers/github-code-host/schemas.js +39 -0
  303. package/lib/providers/github-code-host/schemas.js.map +1 -0
  304. package/lib/providers/github-code-host/settings.d.ts +16 -0
  305. package/lib/providers/github-code-host/settings.js +65 -0
  306. package/lib/providers/github-code-host/settings.js.map +1 -0
  307. package/lib/providers/github-issues/contracts.d.ts +151 -0
  308. package/lib/providers/github-issues/contracts.js +141 -0
  309. package/lib/providers/github-issues/contracts.js.map +1 -0
  310. package/lib/providers/github-issues/index.d.ts +1 -0
  311. package/lib/providers/github-issues/index.js +2 -0
  312. package/lib/providers/github-issues/index.js.map +1 -0
  313. package/lib/providers/github-issues/ingress.d.ts +8 -0
  314. package/lib/providers/github-issues/ingress.js +80 -0
  315. package/lib/providers/github-issues/ingress.js.map +1 -0
  316. package/lib/providers/github-issues/normalization.d.ts +11 -0
  317. package/lib/providers/github-issues/normalization.js +115 -0
  318. package/lib/providers/github-issues/normalization.js.map +1 -0
  319. package/lib/providers/github-issues/provider.d.ts +6 -0
  320. package/lib/providers/github-issues/provider.js +235 -0
  321. package/lib/providers/github-issues/provider.js.map +1 -0
  322. package/lib/providers/github-issues/schemas.d.ts +123 -0
  323. package/lib/providers/github-issues/schemas.js +58 -0
  324. package/lib/providers/github-issues/schemas.js.map +1 -0
  325. package/lib/providers/github-issues/settings.d.ts +27 -0
  326. package/lib/providers/github-issues/settings.js +154 -0
  327. package/lib/providers/github-issues/settings.js.map +1 -0
  328. package/lib/providers/jira/contracts.d.ts +193 -0
  329. package/lib/providers/jira/contracts.js +133 -0
  330. package/lib/providers/jira/contracts.js.map +1 -0
  331. package/lib/providers/jira/index.d.ts +1 -0
  332. package/lib/providers/jira/index.js +2 -0
  333. package/lib/providers/jira/index.js.map +1 -0
  334. package/lib/providers/jira/ingress.d.ts +4 -0
  335. package/lib/providers/jira/ingress.js +60 -0
  336. package/lib/providers/jira/ingress.js.map +1 -0
  337. package/lib/providers/jira/normalization.d.ts +8 -0
  338. package/lib/providers/jira/normalization.js +121 -0
  339. package/lib/providers/jira/normalization.js.map +1 -0
  340. package/lib/providers/jira/provider.d.ts +6 -0
  341. package/lib/providers/jira/provider.js +317 -0
  342. package/lib/providers/jira/provider.js.map +1 -0
  343. package/lib/providers/jira/schemas.d.ts +134 -0
  344. package/lib/providers/jira/schemas.js +76 -0
  345. package/lib/providers/jira/schemas.js.map +1 -0
  346. package/lib/providers/jira/settings.d.ts +32 -0
  347. package/lib/providers/jira/settings.js +163 -0
  348. package/lib/providers/jira/settings.js.map +1 -0
  349. package/lib/providers/notification-http.d.ts +13 -0
  350. package/lib/providers/notification-http.js +136 -0
  351. package/lib/providers/notification-http.js.map +1 -0
  352. package/lib/providers/ntfy-notification/index.d.ts +2 -0
  353. package/lib/providers/ntfy-notification/index.js +2 -0
  354. package/lib/providers/ntfy-notification/index.js.map +1 -0
  355. package/lib/providers/ntfy-notification/provider.d.ts +4 -0
  356. package/lib/providers/ntfy-notification/provider.js +89 -0
  357. package/lib/providers/ntfy-notification/provider.js.map +1 -0
  358. package/lib/providers/ntfy-notification/settings.d.ts +12 -0
  359. package/lib/providers/ntfy-notification/settings.js +34 -0
  360. package/lib/providers/ntfy-notification/settings.js.map +1 -0
  361. package/lib/providers/webhook-notification/index.d.ts +2 -0
  362. package/lib/providers/webhook-notification/index.js +2 -0
  363. package/lib/providers/webhook-notification/index.js.map +1 -0
  364. package/lib/providers/webhook-notification/provider.d.ts +4 -0
  365. package/lib/providers/webhook-notification/provider.js +57 -0
  366. package/lib/providers/webhook-notification/provider.js.map +1 -0
  367. package/lib/providers/webhook-notification/settings.d.ts +11 -0
  368. package/lib/providers/webhook-notification/settings.js +31 -0
  369. package/lib/providers/webhook-notification/settings.js.map +1 -0
  370. package/lib/publication/git.d.ts +7 -0
  371. package/lib/publication/git.js +154 -0
  372. package/lib/publication/git.js.map +1 -0
  373. package/lib/publication/index.d.ts +1 -0
  374. package/lib/publication/index.js +2 -0
  375. package/lib/publication/index.js.map +1 -0
  376. package/lib/publication/service.d.ts +27 -0
  377. package/lib/publication/service.js +166 -0
  378. package/lib/publication/service.js.map +1 -0
  379. package/lib/publication.d.ts +2 -0
  380. package/lib/publication.js +3 -0
  381. package/lib/publication.js.map +1 -0
  382. package/lib/reconciliation/index.d.ts +3 -0
  383. package/lib/reconciliation/index.js +4 -0
  384. package/lib/reconciliation/index.js.map +1 -0
  385. package/lib/reconciliation/ingress.d.ts +21 -0
  386. package/lib/reconciliation/ingress.js +168 -0
  387. package/lib/reconciliation/ingress.js.map +1 -0
  388. package/lib/reconciliation/service.d.ts +75 -0
  389. package/lib/reconciliation/service.js +228 -0
  390. package/lib/reconciliation/service.js.map +1 -0
  391. package/lib/reconciliation.d.ts +2 -0
  392. package/lib/reconciliation.js +3 -0
  393. package/lib/reconciliation.js.map +1 -0
  394. package/lib/remote.d.ts +65 -0
  395. package/lib/remote.js +135 -0
  396. package/lib/remote.js.map +1 -0
  397. package/lib/tracker/index.d.ts +2 -0
  398. package/lib/tracker/index.js +3 -0
  399. package/lib/tracker/index.js.map +1 -0
  400. package/lib/tracker/model.d.ts +222 -0
  401. package/lib/tracker/model.js +66 -0
  402. package/lib/tracker/model.js.map +1 -0
  403. package/lib/tracker/registry.d.ts +49 -0
  404. package/lib/tracker/registry.js +213 -0
  405. package/lib/tracker/registry.js.map +1 -0
  406. package/lib/tracker/validation.d.ts +60 -0
  407. package/lib/tracker/validation.js +52 -0
  408. package/lib/tracker/validation.js.map +1 -0
  409. package/lib/tracker.d.ts +2 -0
  410. package/lib/tracker.js +3 -0
  411. package/lib/tracker.js.map +1 -0
  412. package/lib/typert.d.ts +1 -0
  413. package/lib/typert.js +2 -0
  414. package/lib/typert.js.map +1 -0
  415. package/lib/web/commands.d.ts +18 -0
  416. package/lib/web/commands.js +231 -0
  417. package/lib/web/commands.js.map +1 -0
  418. package/lib/web/contract.d.ts +958 -0
  419. package/lib/web/contract.js +230 -0
  420. package/lib/web/contract.js.map +1 -0
  421. package/lib/web/contributions.d.ts +41 -0
  422. package/lib/web/contributions.js +61 -0
  423. package/lib/web/contributions.js.map +1 -0
  424. package/lib/web/integrations.d.ts +13 -0
  425. package/lib/web/integrations.js +95 -0
  426. package/lib/web/integrations.js.map +1 -0
  427. package/lib/web/projection.d.ts +10 -0
  428. package/lib/web/projection.js +192 -0
  429. package/lib/web/projection.js.map +1 -0
  430. package/lib/web/service.d.ts +31 -0
  431. package/lib/web/service.js +141 -0
  432. package/lib/web/service.js.map +1 -0
  433. package/lib/web.d.ts +5 -0
  434. package/lib/web.js +6 -0
  435. package/lib/web.js.map +1 -0
  436. package/lib/webhook-notification.d.ts +1 -0
  437. package/lib/webhook-notification.js +2 -0
  438. package/lib/webhook-notification.js.map +1 -0
  439. package/lib/workflow/index.d.ts +1 -0
  440. package/lib/workflow/index.js +2 -0
  441. package/lib/workflow/index.js.map +1 -0
  442. package/lib/workflow/service.d.ts +31 -0
  443. package/lib/workflow/service.js +220 -0
  444. package/lib/workflow/service.js.map +1 -0
  445. package/lib/workflow.d.ts +2 -0
  446. package/lib/workflow.js +3 -0
  447. package/lib/workflow.js.map +1 -0
  448. package/package.json +276 -0
@@ -0,0 +1,57 @@
1
+ declare const notificationProviderIdBrand: unique symbol;
2
+ declare const notificationDestinationIdBrand: unique symbol;
3
+ export type NotificationProviderId = string & {
4
+ readonly [notificationProviderIdBrand]: true;
5
+ };
6
+ export type NotificationDestinationId = string & {
7
+ readonly [notificationDestinationIdBrand]: true;
8
+ };
9
+ export declare const notificationProviderId: (value: string) => NotificationProviderId;
10
+ export declare const notificationDestinationId: (value: string) => NotificationDestinationId;
11
+ export declare const NOTIFICATION_INTERFACE_VERSION: 1;
12
+ export interface NotificationEvent {
13
+ readonly version: 1;
14
+ readonly eventId: string;
15
+ readonly runId: string;
16
+ readonly timestamp: string;
17
+ readonly type: 'started' | 'blocked' | 'paused' | 'failed' | 'completed';
18
+ readonly issueIdentity: string;
19
+ readonly displayKey: string;
20
+ readonly summary: string;
21
+ readonly actionNeeded?: string | undefined;
22
+ readonly runUrl: string;
23
+ readonly issueUrl: string;
24
+ readonly pullRequestUrl?: string | undefined;
25
+ readonly usage: {
26
+ readonly kind: 'provider' | 'estimate' | 'unknown';
27
+ readonly tokens?: number | undefined;
28
+ };
29
+ }
30
+ export interface NotificationReceipt {
31
+ readonly receiptId: string;
32
+ readonly receivedAt: string;
33
+ }
34
+ export interface NotificationProviderRequest {
35
+ readonly destinationId: NotificationDestinationId;
36
+ readonly event: NotificationEvent;
37
+ readonly signal: AbortSignal;
38
+ }
39
+ export interface NotificationProvider {
40
+ readonly id: NotificationProviderId;
41
+ readonly interfaceVersion: typeof NOTIFICATION_INTERFACE_VERSION;
42
+ readonly displayName: string;
43
+ readonly configurationNamespace: string;
44
+ reconcile(request: NotificationProviderRequest): Promise<NotificationReceipt | undefined>;
45
+ deliver(request: NotificationProviderRequest): Promise<NotificationReceipt>;
46
+ }
47
+ export interface NotificationSender {
48
+ reconcile(destinationId: NotificationDestinationId, event: NotificationEvent, signal?: AbortSignal): Promise<NotificationReceipt | undefined>;
49
+ deliver(destinationId: NotificationDestinationId, event: NotificationEvent, signal?: AbortSignal): Promise<NotificationReceipt>;
50
+ }
51
+ export type NotificationProviderErrorCode = 'authentication' | 'permission' | 'invalid-configuration' | 'permanent-rejection' | 'rate-limit' | 'timeout' | 'transient' | 'ambiguous-acknowledgement' | 'invalid-response' | 'provider-unavailable';
52
+ export declare class NotificationProviderError extends Error {
53
+ readonly code: NotificationProviderErrorCode;
54
+ readonly retryAfterMs?: number | undefined;
55
+ constructor(code: NotificationProviderErrorCode, message: string, retryAfterMs?: number | undefined);
56
+ }
57
+ export {};
@@ -0,0 +1,16 @@
1
+ import { type Context, Service } from '@deepseek-ai/cordis';
2
+ import { type NotificationProvider, type NotificationProviderId, type NotificationSender } from './model.js';
3
+ declare module '@deepseek-ai/cordis' {
4
+ interface Context {
5
+ notifications: Notifications;
6
+ }
7
+ }
8
+ /** Registry for independently loaded notification transports; it stores no destinations, secrets, or delivery state. */
9
+ export declare class Notifications extends Service {
10
+ private readonly providers;
11
+ constructor(ctx: Context);
12
+ register(provider: NotificationProvider): () => Promise<void>;
13
+ withProvider<T>(id: NotificationProviderId, operation: (sender: NotificationSender) => Promise<T>): Promise<T>;
14
+ private invoke;
15
+ }
16
+ export default Notifications;
@@ -0,0 +1,2 @@
1
+ export * from './notification/index.js';
2
+ export { default } from './notification/index.js';
@@ -0,0 +1,20 @@
1
+ export interface ProviderGeneration<P> {
2
+ readonly provider: P;
3
+ readonly controller: AbortController;
4
+ readonly active: Set<Promise<unknown>>;
5
+ accepting: boolean;
6
+ }
7
+ /** Shared lifecycle core for provider registries; protocol validation and error normalization stay with each seam. */
8
+ export declare class GenerationRegistry<K, P> {
9
+ private readonly onAvailable?;
10
+ private readonly onUnavailable?;
11
+ private readonly generations;
12
+ constructor(onAvailable?: ((key: K) => void) | undefined, onUnavailable?: ((key: K) => void) | undefined);
13
+ has(key: K): boolean;
14
+ values(): IterableIterator<ProviderGeneration<P>>;
15
+ register(key: K, provider: P): () => Promise<void>;
16
+ require(key: K, unavailable: () => Error): ProviderGeneration<P>;
17
+ retain<T>(generation: ProviderGeneration<P>, operation: () => Promise<T>): Promise<T>;
18
+ assertCurrent(generation: ProviderGeneration<P>, unavailable: () => Error): void;
19
+ signal(generation: ProviderGeneration<P>, callerSignal?: AbortSignal): AbortSignal;
20
+ }
@@ -0,0 +1,65 @@
1
+ import type { RemoteResult, TypertRemoteContribution } from '@deepseek-ai/dsh-typert-protocol';
2
+ import { z } from 'zod';
3
+ import { type CleanupPreviewView, type CommandReceipt, type CommandRequest, type OperationsQuery, type OperationsSnapshot, type ProviderTestResult, type RunDetailView, type WorktreeView } from './web/contract.js';
4
+ export interface AutopilotRemoteNamespace {
5
+ operations: (query: OperationsQuery, signal?: AbortSignal) => Promise<RemoteResult<OperationsSnapshot>>;
6
+ run: (runId: string, signal?: AbortSignal) => Promise<RemoteResult<RunDetailView | null>>;
7
+ worktree: (runId: string, signal?: AbortSignal) => Promise<RemoteResult<WorktreeView | null>>;
8
+ previewCleanup: (runId: string, signal?: AbortSignal) => Promise<RemoteResult<CleanupPreviewView | null>>;
9
+ command: (request: CommandRequest, signal?: AbortSignal) => Promise<RemoteResult<CommandReceipt>>;
10
+ commandStatus: (requestId: string, signal?: AbortSignal) => Promise<RemoteResult<CommandReceipt | null>>;
11
+ testProvider: (providerId: string, signal?: AbortSignal) => Promise<RemoteResult<ProviderTestResult>>;
12
+ }
13
+ declare module '@deepseek-ai/dsh-typert-protocol' {
14
+ interface TypertRemoteMap {
15
+ 'autopilot/operations': AutopilotRemoteNamespace['operations'];
16
+ 'autopilot/run': AutopilotRemoteNamespace['run'];
17
+ 'autopilot/worktree': AutopilotRemoteNamespace['worktree'];
18
+ 'autopilot/previewCleanup': AutopilotRemoteNamespace['previewCleanup'];
19
+ 'autopilot/command': AutopilotRemoteNamespace['command'];
20
+ 'autopilot/commandStatus': AutopilotRemoteNamespace['commandStatus'];
21
+ 'autopilot/testProvider': AutopilotRemoteNamespace['testProvider'];
22
+ }
23
+ interface TypertRemoteNamespaceMap {
24
+ autopilot: AutopilotRemoteNamespace;
25
+ }
26
+ }
27
+ export declare const TYPERT_REMOTE: TypertRemoteContribution;
28
+ export declare const TYPERT: {
29
+ package: string;
30
+ face: string;
31
+ schemas: never[];
32
+ model: {
33
+ services: never[];
34
+ events: never[];
35
+ objects: never[];
36
+ };
37
+ invocations: {
38
+ id: string;
39
+ service: string;
40
+ namespace: string;
41
+ method: string;
42
+ invocation: {
43
+ kind: 'direct';
44
+ };
45
+ parameters: {
46
+ name: string;
47
+ wire: string;
48
+ source: 'json';
49
+ codec: {
50
+ mode: 'strict';
51
+ typeSymbol: string;
52
+ schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
53
+ };
54
+ }[];
55
+ cancellation: {
56
+ parameter: 'signal';
57
+ };
58
+ result: {
59
+ mode: 'strict';
60
+ typeSymbol: string;
61
+ schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
62
+ };
63
+ }[];
64
+ };
65
+ export default TYPERT_REMOTE;
@@ -0,0 +1,2 @@
1
+ export * from './model.js';
2
+ export { default, Tracker } from './registry.js';
@@ -0,0 +1,222 @@
1
+ declare const trackerProviderIdBrand: unique symbol;
2
+ declare const trackerBindingIdBrand: unique symbol;
3
+ declare const trackerIssueIdBrand: unique symbol;
4
+ declare const trackerCommentIdBrand: unique symbol;
5
+ declare const readinessGenerationBrand: unique symbol;
6
+ /** Validated stable identity of one tracker provider implementation. */
7
+ export type TrackerProviderId = string & {
8
+ readonly [trackerProviderIdBrand]: true;
9
+ };
10
+ /** Validated identity of the configured project or workspace binding that supplied an issue. */
11
+ export type TrackerBindingId = string & {
12
+ readonly [trackerBindingIdBrand]: true;
13
+ };
14
+ /** Validated provider-native issue identity, independent of its display key. */
15
+ export type TrackerIssueId = string & {
16
+ readonly [trackerIssueIdBrand]: true;
17
+ };
18
+ /** Validated provider-native comment identity. */
19
+ export type TrackerCommentId = string & {
20
+ readonly [trackerCommentIdBrand]: true;
21
+ };
22
+ /** Validated identity of the human readiness transition authorizing one run. */
23
+ export type ReadinessGeneration = string & {
24
+ readonly [readinessGenerationBrand]: true;
25
+ };
26
+ /** Validate and brand a provider id; throws `TypeError` for an invalid external value and has no cancellation point. */
27
+ export declare const trackerProviderId: (value: string) => TrackerProviderId;
28
+ /** Validate and brand a binding id; throws `TypeError` for an invalid external value and has no cancellation point. */
29
+ export declare const trackerBindingId: (value: string) => TrackerBindingId;
30
+ /** Validate and brand an issue id; throws `TypeError` for an invalid external value and has no cancellation point. */
31
+ export declare const trackerIssueId: (value: string) => TrackerIssueId;
32
+ /** Validate and brand a comment id; throws `TypeError` for an invalid external value and has no cancellation point. */
33
+ export declare const trackerCommentId: (value: string) => TrackerCommentId;
34
+ /**
35
+ * Validate and brand a readiness-generation id; throws `TypeError` for an invalid external value and has no
36
+ * cancellation point.
37
+ */
38
+ export declare const readinessGeneration: (value: string) => ReadinessGeneration;
39
+ /** Exact provider contract version accepted by this build. */
40
+ export declare const TRACKER_INTERFACE_VERSION: 2;
41
+ /** Capabilities every provider generation must implement before registration succeeds. */
42
+ export declare const trackerCapabilities: readonly ['candidates', 'comments', 'dependencies', 'readiness', 'ingress'];
43
+ /** Capability name declared by a compatible provider generation. */
44
+ export type TrackerCapability = (typeof trackerCapabilities)[number];
45
+ export declare const trackerWriteCapabilities: readonly ['reports', 'projections'];
46
+ export type TrackerWriteCapability = (typeof trackerWriteCapabilities)[number];
47
+ /** Immutable comment data used to select and retain the Agent Brief. */
48
+ export interface TrackerComment {
49
+ id: TrackerCommentId;
50
+ authorId: string;
51
+ body: string;
52
+ updatedAt: string;
53
+ }
54
+ /** Current completion observation for an issue that blocks a candidate. */
55
+ export interface TrackerDependency {
56
+ issueId: TrackerIssueId;
57
+ displayKey: string;
58
+ state: 'completed' | 'not-completed' | 'unknown';
59
+ }
60
+ /** Human readiness evidence, or its explicit absence, at the time of the provider read. */
61
+ export type TrackerReadiness = {
62
+ kind: 'absent';
63
+ } | {
64
+ kind: 'transition';
65
+ generation: ReadinessGeneration;
66
+ actorId: string;
67
+ actorKind: 'human' | 'automation' | 'unknown';
68
+ occurredAt: string;
69
+ };
70
+ /** Complete, bounded issue projection consumed by admission policy. */
71
+ export interface TrackerIssueSnapshot {
72
+ bindingId: TrackerBindingId;
73
+ issueId: TrackerIssueId;
74
+ displayKey: string;
75
+ summary: string;
76
+ priorityRank: number;
77
+ isReady: boolean;
78
+ labels: readonly string[];
79
+ comments: readonly TrackerComment[];
80
+ dependencies: readonly TrackerDependency[];
81
+ readiness: TrackerReadiness;
82
+ }
83
+ /** One validated provider page and its opaque continuation cursor. */
84
+ export interface TrackerCandidatePage {
85
+ issues: readonly TrackerIssueSnapshot[];
86
+ nextCursor?: string;
87
+ }
88
+ /** Generation- and caller-cancellable input supplied to a provider candidate read. */
89
+ export interface TrackerReadRequest {
90
+ /** Aborts when either the provider generation is withdrawn or the calling operation is cancelled. */
91
+ signal: AbortSignal;
92
+ cursor?: string;
93
+ }
94
+ /** One raw ingress header; repeated names remain separate entries. */
95
+ export interface TrackerIngressHeader {
96
+ name: string;
97
+ value: string;
98
+ }
99
+ /** Detached, bounded HTTP input passed from the Host adapter to the selected provider. */
100
+ export interface TrackerIngressRequest {
101
+ /** HTTP method received by the Host ingress adapter. */
102
+ method: string;
103
+ /** Raw headers with duplicates preserved so the provider can reject ambiguous authentication input. */
104
+ headers: readonly TrackerIngressHeader[];
105
+ /** Detached, bounded request bytes. */
106
+ body: Uint8Array;
107
+ }
108
+ /** Ingress input extended with the operation's combined cancellation signal. */
109
+ export interface TrackerProviderIngressRequest extends TrackerIngressRequest {
110
+ /** Aborts when either the provider generation is withdrawn or the calling operation is cancelled. */
111
+ signal: AbortSignal;
112
+ }
113
+ /** Authentication result whose id is stable across retries and qualified by provider id. */
114
+ export interface TrackerIngressDelivery {
115
+ /** Provider-qualified delivery id safe to retain in durable admission state. */
116
+ deliveryId: string;
117
+ }
118
+ export interface TrackerReportDelivery {
119
+ readonly kind: 'report';
120
+ readonly deliveryId: string;
121
+ readonly eventId: string;
122
+ readonly bindingId: TrackerBindingId;
123
+ readonly issueId: TrackerIssueId;
124
+ readonly displayKey: string;
125
+ readonly body: string;
126
+ }
127
+ export type TrackerProjectionState = 'queued' | 'implementing' | 'paused' | 'blocked' | 'failed' | 'completed';
128
+ export interface TrackerProjectionDelivery {
129
+ readonly kind: 'projection';
130
+ readonly deliveryId: string;
131
+ readonly eventId: string;
132
+ readonly bindingId: TrackerBindingId;
133
+ readonly issueId: TrackerIssueId;
134
+ readonly displayKey: string;
135
+ readonly readinessGeneration: ReadinessGeneration;
136
+ readonly runRevision: number;
137
+ readonly desiredState: TrackerProjectionState;
138
+ }
139
+ export type TrackerOutboundDelivery = TrackerReportDelivery | TrackerProjectionDelivery;
140
+ export interface TrackerOutboundReceipt {
141
+ readonly receiptId: string;
142
+ readonly receivedAt: string;
143
+ }
144
+ export type TrackerDeliveryObservation = {
145
+ readonly kind: 'missing';
146
+ } | {
147
+ readonly kind: 'delivered';
148
+ readonly receipt: TrackerOutboundReceipt;
149
+ } | {
150
+ readonly kind: 'conflict';
151
+ readonly reason: string;
152
+ };
153
+ export interface TrackerProviderWriteRequest {
154
+ readonly delivery: TrackerOutboundDelivery;
155
+ readonly signal: AbortSignal;
156
+ }
157
+ /** Non-replayed availability transition for one provider generation. */
158
+ export interface TrackerProviderLifecycleEvent {
159
+ kind: 'available' | 'unavailable';
160
+ providerId: TrackerProviderId;
161
+ }
162
+ /** Bounded, secret-free metadata for one currently available tracker provider generation. */
163
+ export interface TrackerProviderRegistration {
164
+ readonly id: TrackerProviderId;
165
+ readonly displayName: string;
166
+ readonly configurationNamespace: string;
167
+ readonly capabilities: readonly (TrackerCapability | TrackerWriteCapability)[];
168
+ }
169
+ /** Versioned read-only tracker adapter registered as one lifecycle-owned generation. */
170
+ export interface TrackerProvider {
171
+ id: TrackerProviderId;
172
+ interfaceVersion: typeof TRACKER_INTERFACE_VERSION;
173
+ displayName: string;
174
+ configurationNamespace: string;
175
+ capabilities: readonly (TrackerCapability | TrackerWriteCapability)[];
176
+ /**
177
+ * Read one provider page without external writes. The cursor, when present, must come from the preceding page.
178
+ * Resolve with provider data or reject with `TrackerProviderError`; reject with the signal reason when cancelled.
179
+ */
180
+ readCandidates(request: TrackerReadRequest): Promise<TrackerCandidatePage>;
181
+ /**
182
+ * Authenticate a bounded raw ingress request without retaining a receipt or making external writes. Resolve with a
183
+ * provider-qualified, retry-stable delivery id; reject with `TrackerProviderError` for authentication or malformed
184
+ * input and reject with the signal reason when cancelled.
185
+ */
186
+ verifyIngress(request: TrackerProviderIngressRequest): Promise<TrackerIngressDelivery>;
187
+ /** Reconcile a stable outbound identity before any retry. Required when reports/projections are declared. */
188
+ reconcileDelivery?(request: TrackerProviderWriteRequest): Promise<TrackerDeliveryObservation>;
189
+ /** Apply one report or mutable projection. Required when reports/projections are declared. */
190
+ deliver?(request: TrackerProviderWriteRequest): Promise<TrackerOutboundReceipt>;
191
+ }
192
+ /** A generation-scoped, normalized provider view valid only during its `Tracker.withProvider` callback. */
193
+ export interface TrackerReader {
194
+ /**
195
+ * Read and validate one candidate page. A supplied caller signal is combined with provider-withdrawal cancellation;
196
+ * caller cancellation rejects with its original reason, while withdrawal and provider failures are normalized as
197
+ * `TrackerProviderError`. This operation has no durable or external-write effect.
198
+ */
199
+ readCandidates(cursor?: string, signal?: AbortSignal): Promise<TrackerCandidatePage>;
200
+ /**
201
+ * Authenticate and validate detached ingress bytes. A supplied caller signal is combined with provider-withdrawal
202
+ * cancellation; caller cancellation rejects with its original reason, while withdrawal and provider failures are
203
+ * normalized as `TrackerProviderError`. Successful verification does not retain a receipt.
204
+ */
205
+ verifyIngress(request: TrackerIngressRequest, signal?: AbortSignal): Promise<TrackerIngressDelivery>;
206
+ }
207
+ export interface TrackerWriter {
208
+ reconcileDelivery(delivery: TrackerOutboundDelivery, signal?: AbortSignal): Promise<TrackerDeliveryObservation>;
209
+ deliver(delivery: TrackerOutboundDelivery, signal?: AbortSignal): Promise<TrackerOutboundReceipt>;
210
+ }
211
+ /** Stable failure classification safe for scheduling, diagnostics, and HTTP mapping. */
212
+ export type TrackerProviderErrorCode = 'authentication' | 'permission' | 'invalid-configuration' | 'not-found' | 'conflict' | 'rate-limit' | 'timeout' | 'transient' | 'unsupported-capability' | 'ambiguous-acknowledgement' | 'invalid-response' | 'provider-unavailable';
213
+ /** Normalized operational failure at the tracker-provider boundary. */
214
+ export declare class TrackerProviderError extends Error {
215
+ readonly code: TrackerProviderErrorCode;
216
+ readonly retryAfterMs?: number | undefined;
217
+ /** Construct a provider-safe failure; retry delay is meaningful only for retryable codes and cannot be cancelled. */
218
+ constructor(code: TrackerProviderErrorCode, message: string, retryAfterMs?: number | undefined);
219
+ }
220
+ /** Map a provider failure code to stable operator-facing text without retaining provider-authored details. */
221
+ export declare function publicTrackerFailureMessage(code: TrackerProviderErrorCode): string;
222
+ export {};
@@ -0,0 +1,49 @@
1
+ import { type Context, Service } from '@deepseek-ai/cordis';
2
+ import { type TrackerCandidatePage, type TrackerProvider, type TrackerProviderId, type TrackerProviderLifecycleEvent, type TrackerProviderRegistration, type TrackerReader, type TrackerWriter } from './model.js';
3
+ declare module '@deepseek-ai/cordis' {
4
+ interface Context {
5
+ tracker: Tracker;
6
+ }
7
+ }
8
+ /** Provider registry and normalized read seam consumed by admission. */
9
+ export declare class Tracker extends Service {
10
+ private readonly lifecycleObservers;
11
+ private readonly providers;
12
+ constructor(ctx: Context);
13
+ /**
14
+ * Register one complete provider generation and synchronously publish its availability. The provider must use the
15
+ * current interface version, declare every required capability, and have a unique id; violations throw without
16
+ * changing the registry. The returned idempotent disposer stops admission to the generation, aborts and drains its
17
+ * active operations, removes it, then publishes unavailability. Disposer cancellation is not supported.
18
+ */
19
+ register(provider: TrackerProvider): () => Promise<void>;
20
+ /**
21
+ * Observe future provider availability changes synchronously. Registration has no replay and no cancellation point;
22
+ * observer failures are logged and do not block other observers. The returned idempotent function unsubscribes.
23
+ */
24
+ watchProviders(observer: (event: TrackerProviderLifecycleEvent) => void): () => void;
25
+ /** Return stable, secret-free metadata for every currently accepting provider generation. */
26
+ providerRegistrations(): readonly TrackerProviderRegistration[];
27
+ /**
28
+ * Read one validated page through the currently registered provider generation. The optional cursor must have been
29
+ * returned by that provider. Provider failures and withdrawal reject with `TrackerProviderError`; caller cancellation
30
+ * rejects with its original reason. This operation has no durable or external-write effect.
31
+ */
32
+ readCandidates(id: TrackerProviderId, cursor?: string, signal?: AbortSignal): Promise<TrackerCandidatePage>;
33
+ /**
34
+ * Retain the selected provider generation while an operation uses its reader. The provider must be available when
35
+ * called. Provider withdrawal aborts its reads, waits for the callback to settle, and fences late results; consumer
36
+ * failures are preserved. Effects performed by the callback are caller-owned and must occur only after awaited reader
37
+ * operations succeed. `withProvider` itself has no independent caller-cancellation input.
38
+ */
39
+ withProvider<T>(id: TrackerProviderId, operation: (reader: TrackerReader) => Promise<T>): Promise<T>;
40
+ /** Retain one write-capable provider generation while a durable delivery owner reconciles and applies its intent. */
41
+ withWriter<T>(id: TrackerProviderId, operation: (writer: TrackerWriter) => Promise<T>): Promise<T>;
42
+ private readProviderCandidates;
43
+ private verifyProviderIngress;
44
+ private reconcileProviderDelivery;
45
+ private deliverProviderIntent;
46
+ private invokeWrite;
47
+ private notifyProviderLifecycle;
48
+ }
49
+ export default Tracker;
@@ -0,0 +1,60 @@
1
+ import { z } from 'zod';
2
+ export declare const candidatePageSchema: z.ZodObject<{
3
+ issues: z.ZodArray<z.ZodObject<{
4
+ bindingId: z.ZodPipe<z.ZodString, z.ZodTransform<import("./model.js").TrackerBindingId, string>>;
5
+ issueId: z.ZodPipe<z.ZodString, z.ZodTransform<import("./model.js").TrackerIssueId, string>>;
6
+ displayKey: z.ZodString;
7
+ summary: z.ZodString;
8
+ priorityRank: z.ZodNumber;
9
+ isReady: z.ZodBoolean;
10
+ labels: z.ZodArray<z.ZodString>;
11
+ comments: z.ZodArray<z.ZodObject<{
12
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<import("./model.js").TrackerCommentId, string>>;
13
+ authorId: z.ZodString;
14
+ body: z.ZodString;
15
+ updatedAt: z.ZodISODateTime;
16
+ }, z.core.$strip>>;
17
+ dependencies: z.ZodArray<z.ZodObject<{
18
+ issueId: z.ZodPipe<z.ZodString, z.ZodTransform<import("./model.js").TrackerIssueId, string>>;
19
+ displayKey: z.ZodString;
20
+ state: z.ZodEnum<{
21
+ completed: "completed";
22
+ "not-completed": "not-completed";
23
+ unknown: "unknown";
24
+ }>;
25
+ }, z.core.$strip>>;
26
+ readiness: z.ZodDiscriminatedUnion<[z.ZodObject<{
27
+ kind: z.ZodLiteral<"absent">;
28
+ }, z.core.$strip>, z.ZodObject<{
29
+ kind: z.ZodLiteral<"transition">;
30
+ generation: z.ZodPipe<z.ZodString, z.ZodTransform<import("./model.js").ReadinessGeneration, string>>;
31
+ actorId: z.ZodString;
32
+ actorKind: z.ZodEnum<{
33
+ automation: "automation";
34
+ human: "human";
35
+ unknown: "unknown";
36
+ }>;
37
+ occurredAt: z.ZodISODateTime;
38
+ }, z.core.$strip>], "kind">;
39
+ }, z.core.$strip>>;
40
+ nextCursor: z.ZodOptional<z.ZodString>;
41
+ }, z.core.$strip>;
42
+ export declare const ingressDeliverySchema: z.ZodObject<{
43
+ deliveryId: z.ZodString;
44
+ }, z.core.$strip>;
45
+ export declare const outboundReceiptSchema: z.ZodObject<{
46
+ receiptId: z.ZodString;
47
+ receivedAt: z.ZodISODateTime;
48
+ }, z.core.$strip>;
49
+ export declare const deliveryObservationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
50
+ kind: z.ZodLiteral<"missing">;
51
+ }, z.core.$strip>, z.ZodObject<{
52
+ kind: z.ZodLiteral<"delivered">;
53
+ receipt: z.ZodObject<{
54
+ receiptId: z.ZodString;
55
+ receivedAt: z.ZodISODateTime;
56
+ }, z.core.$strip>;
57
+ }, z.core.$strip>, z.ZodObject<{
58
+ kind: z.ZodLiteral<"conflict">;
59
+ reason: z.ZodString;
60
+ }, z.core.$strip>], "kind">;
@@ -0,0 +1,2 @@
1
+ export * from './tracker/index.js';
2
+ export { default } from './tracker/index.js';