openplanr 2.2641.0 → 2.2641.2

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 (583) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +14 -14
  3. package/bin/openplanr.js +13 -0
  4. package/bin/planr.js +5 -11
  5. package/dist/cli/commands/artifact.d.ts.map +1 -1
  6. package/dist/cli/commands/artifact.js +6 -5
  7. package/dist/cli/commands/artifact.js.map +1 -1
  8. package/dist/cli/commands/checklist.d.ts.map +1 -1
  9. package/dist/cli/commands/checklist.js +4 -3
  10. package/dist/cli/commands/checklist.js.map +1 -1
  11. package/dist/cli/commands/company.d.ts.map +1 -1
  12. package/dist/cli/commands/company.js +3 -2
  13. package/dist/cli/commands/company.js.map +1 -1
  14. package/dist/cli/commands/context.d.ts +1 -1
  15. package/dist/cli/commands/context.js +1 -1
  16. package/dist/cli/commands/doctor.d.ts.map +1 -1
  17. package/dist/cli/commands/doctor.js +11 -5
  18. package/dist/cli/commands/doctor.js.map +1 -1
  19. package/dist/cli/commands/export.d.ts +1 -1
  20. package/dist/cli/commands/export.js +1 -1
  21. package/dist/cli/commands/github.d.ts +1 -1
  22. package/dist/cli/commands/github.d.ts.map +1 -1
  23. package/dist/cli/commands/github.js +16 -18
  24. package/dist/cli/commands/github.js.map +1 -1
  25. package/dist/cli/commands/init-deterministic.d.ts.map +1 -1
  26. package/dist/cli/commands/init-deterministic.js +2 -1
  27. package/dist/cli/commands/init-deterministic.js.map +1 -1
  28. package/dist/cli/commands/linear.d.ts +2 -2
  29. package/dist/cli/commands/linear.d.ts.map +1 -1
  30. package/dist/cli/commands/linear.js +29 -28
  31. package/dist/cli/commands/linear.js.map +1 -1
  32. package/dist/cli/commands/operate/registrars/index.d.ts +1 -1
  33. package/dist/cli/commands/operate/registrars/index.d.ts.map +1 -1
  34. package/dist/cli/commands/operate/registrars/index.js +1 -1
  35. package/dist/cli/commands/operate/registrars/index.js.map +1 -1
  36. package/dist/cli/commands/operate/render.d.ts.map +1 -1
  37. package/dist/cli/commands/operate/render.js +2 -1
  38. package/dist/cli/commands/operate/render.js.map +1 -1
  39. package/dist/cli/commands/operate.d.ts.map +1 -1
  40. package/dist/cli/commands/operate.js +2 -1
  41. package/dist/cli/commands/operate.js.map +1 -1
  42. package/dist/cli/commands/planning-artifacts.d.ts.map +1 -1
  43. package/dist/cli/commands/planning-artifacts.js +2 -1
  44. package/dist/cli/commands/planning-artifacts.js.map +1 -1
  45. package/dist/cli/commands/quick/interaction.d.ts +1 -1
  46. package/dist/cli/commands/quick/interaction.d.ts.map +1 -1
  47. package/dist/cli/commands/quick/interaction.js +1 -1
  48. package/dist/cli/commands/quick/interaction.js.map +1 -1
  49. package/dist/cli/commands/quick/project.d.ts +1 -1
  50. package/dist/cli/commands/quick/project.d.ts.map +1 -1
  51. package/dist/cli/commands/quick/project.js +1 -1
  52. package/dist/cli/commands/quick/project.js.map +1 -1
  53. package/dist/cli/commands/report-linter.d.ts +1 -1
  54. package/dist/cli/commands/report-linter.js +1 -1
  55. package/dist/cli/commands/report.d.ts +1 -1
  56. package/dist/cli/commands/report.d.ts.map +1 -1
  57. package/dist/cli/commands/report.js +32 -35
  58. package/dist/cli/commands/report.js.map +1 -1
  59. package/dist/cli/commands/setup.d.ts.map +1 -1
  60. package/dist/cli/commands/setup.js +5 -4
  61. package/dist/cli/commands/setup.js.map +1 -1
  62. package/dist/cli/commands/spec.d.ts +11 -11
  63. package/dist/cli/commands/spec.d.ts.map +1 -1
  64. package/dist/cli/commands/spec.js +34 -33
  65. package/dist/cli/commands/spec.js.map +1 -1
  66. package/dist/cli/commands/sprint-refinement.d.ts.map +1 -1
  67. package/dist/cli/commands/sprint-refinement.js +2 -1
  68. package/dist/cli/commands/sprint-refinement.js.map +1 -1
  69. package/dist/cli/commands/status.d.ts.map +1 -1
  70. package/dist/cli/commands/status.js +2 -1
  71. package/dist/cli/commands/status.js.map +1 -1
  72. package/dist/cli/commands/story/interaction.d.ts +1 -1
  73. package/dist/cli/commands/story/interaction.d.ts.map +1 -1
  74. package/dist/cli/commands/story/interaction.js +1 -1
  75. package/dist/cli/commands/story/interaction.js.map +1 -1
  76. package/dist/cli/commands/story/project.d.ts +1 -1
  77. package/dist/cli/commands/story/project.d.ts.map +1 -1
  78. package/dist/cli/commands/story/project.js +1 -1
  79. package/dist/cli/commands/story/project.js.map +1 -1
  80. package/dist/cli/commands/sync.d.ts +1 -1
  81. package/dist/cli/commands/sync.d.ts.map +1 -1
  82. package/dist/cli/commands/sync.js +3 -2
  83. package/dist/cli/commands/sync.js.map +1 -1
  84. package/dist/cli/commands/template.d.ts +1 -1
  85. package/dist/cli/commands/template.js +10 -10
  86. package/dist/cli/commands/template.js.map +1 -1
  87. package/dist/cli/commands/update.d.ts +1 -1
  88. package/dist/cli/commands/update.js +1 -1
  89. package/dist/cli/commands/upgrade.d.ts +1 -1
  90. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  91. package/dist/cli/commands/upgrade.js +3 -2
  92. package/dist/cli/commands/upgrade.js.map +1 -1
  93. package/dist/cli/commands/voice.d.ts +1 -1
  94. package/dist/cli/commands/voice.js +1 -1
  95. package/dist/cli/index.js +6 -3
  96. package/dist/cli/index.js.map +1 -1
  97. package/dist/dashboard/.vite/manifest.json +1 -1
  98. package/dist/dashboard/assets/{index-D7R6tnlX.js → index-DI_TKz9J.js} +115 -115
  99. package/dist/dashboard/assets/index-DI_TKz9J.js.map +1 -0
  100. package/dist/dashboard/dashboard-manifest.json +10 -10
  101. package/dist/dashboard/index.html +1 -1
  102. package/dist/generators/cursor-generator.js +1 -1
  103. package/dist/generators/cursor-generator.js.map +1 -1
  104. package/dist/models/schema.d.ts +0 -4
  105. package/dist/models/schema.d.ts.map +1 -1
  106. package/dist/models/schema.js +2 -3
  107. package/dist/models/schema.js.map +1 -1
  108. package/dist/models/types.d.ts +13 -16
  109. package/dist/models/types.d.ts.map +1 -1
  110. package/dist/services/artifact-service.d.ts +1 -1
  111. package/dist/services/artifact-service.js +2 -2
  112. package/dist/services/artifact-service.js.map +1 -1
  113. package/dist/services/audit-log-service.d.ts.map +1 -1
  114. package/dist/services/audit-log-service.js +2 -1
  115. package/dist/services/audit-log-service.js.map +1 -1
  116. package/dist/services/claude-plugin-service.d.ts +3 -1
  117. package/dist/services/claude-plugin-service.d.ts.map +1 -1
  118. package/dist/services/claude-plugin-service.js +9 -5
  119. package/dist/services/claude-plugin-service.js.map +1 -1
  120. package/dist/services/codex-plugin-service.d.ts.map +1 -1
  121. package/dist/services/codex-plugin-service.js +3 -2
  122. package/dist/services/codex-plugin-service.js.map +1 -1
  123. package/dist/services/company-auth-service.d.ts.map +1 -1
  124. package/dist/services/company-auth-service.js +2 -1
  125. package/dist/services/company-auth-service.js.map +1 -1
  126. package/dist/services/company-sync-service.d.ts.map +1 -1
  127. package/dist/services/company-sync-service.js +9 -8
  128. package/dist/services/company-sync-service.js.map +1 -1
  129. package/dist/services/config-service.d.ts +6 -1
  130. package/dist/services/config-service.d.ts.map +1 -1
  131. package/dist/services/config-service.js +19 -4
  132. package/dist/services/config-service.js.map +1 -1
  133. package/dist/services/credentials-service.js +2 -2
  134. package/dist/services/credentials-service.js.map +1 -1
  135. package/dist/services/delivery-status-service.d.ts +1 -1
  136. package/dist/services/delivery-status-service.d.ts.map +1 -1
  137. package/dist/services/delivery-status-service.js +3 -2
  138. package/dist/services/delivery-status-service.js.map +1 -1
  139. package/dist/services/diagram-authoring-service.d.ts.map +1 -1
  140. package/dist/services/diagram-authoring-service.js +2 -1
  141. package/dist/services/diagram-authoring-service.js.map +1 -1
  142. package/dist/services/diagram-pipeline-service.d.ts.map +1 -1
  143. package/dist/services/diagram-pipeline-service.js +6 -5
  144. package/dist/services/diagram-pipeline-service.js.map +1 -1
  145. package/dist/services/distribution-service.d.ts +1 -4
  146. package/dist/services/distribution-service.d.ts.map +1 -1
  147. package/dist/services/distribution-service.js +3 -61
  148. package/dist/services/distribution-service.js.map +1 -1
  149. package/dist/services/github-service.d.ts +8 -5
  150. package/dist/services/github-service.d.ts.map +1 -1
  151. package/dist/services/github-service.js +23 -21
  152. package/dist/services/github-service.js.map +1 -1
  153. package/dist/services/graph-integrity.d.ts +1 -1
  154. package/dist/services/graph-integrity.js +1 -1
  155. package/dist/services/landing/landing-service.d.ts.map +1 -1
  156. package/dist/services/landing/landing-service.js +4 -1
  157. package/dist/services/landing/landing-service.js.map +1 -1
  158. package/dist/services/landing/receipt-custody.d.ts.map +1 -1
  159. package/dist/services/landing/receipt-custody.js +3 -2
  160. package/dist/services/landing/receipt-custody.js.map +1 -1
  161. package/dist/services/linear/errors.d.ts.map +1 -1
  162. package/dist/services/linear/errors.js +2 -1
  163. package/dist/services/linear/errors.js.map +1 -1
  164. package/dist/services/linear/plan-builders.d.ts +3 -3
  165. package/dist/services/linear/plan-builders.d.ts.map +1 -1
  166. package/dist/services/linear/plan-builders.js +2 -2
  167. package/dist/services/linear/strategy-context.d.ts.map +1 -1
  168. package/dist/services/linear/strategy-context.js +6 -5
  169. package/dist/services/linear/strategy-context.js.map +1 -1
  170. package/dist/services/linear-mapping-service.d.ts +1 -1
  171. package/dist/services/linear-mapping-service.d.ts.map +1 -1
  172. package/dist/services/linear-mapping-service.js +3 -2
  173. package/dist/services/linear-mapping-service.js.map +1 -1
  174. package/dist/services/linear-pull-service.d.ts +1 -1
  175. package/dist/services/linear-pull-service.d.ts.map +1 -1
  176. package/dist/services/linear-pull-service.js +10 -9
  177. package/dist/services/linear-pull-service.js.map +1 -1
  178. package/dist/services/linear-push-service.d.ts +5 -6
  179. package/dist/services/linear-push-service.d.ts.map +1 -1
  180. package/dist/services/linear-push-service.js +22 -22
  181. package/dist/services/linear-push-service.js.map +1 -1
  182. package/dist/services/linear-service.d.ts +2 -2
  183. package/dist/services/linear-service.js +2 -2
  184. package/dist/services/linear-team-service.d.ts.map +1 -1
  185. package/dist/services/linear-team-service.js +2 -1
  186. package/dist/services/linear-team-service.js.map +1 -1
  187. package/dist/services/operate/assignment-packet-service.d.ts.map +1 -1
  188. package/dist/services/operate/assignment-packet-service.js +2 -1
  189. package/dist/services/operate/assignment-packet-service.js.map +1 -1
  190. package/dist/services/operate/delivery-evidence.d.ts.map +1 -1
  191. package/dist/services/operate/delivery-evidence.js +2 -1
  192. package/dist/services/operate/delivery-evidence.js.map +1 -1
  193. package/dist/services/operate/measurement-schedule-service.d.ts.map +1 -1
  194. package/dist/services/operate/measurement-schedule-service.js +2 -1
  195. package/dist/services/operate/measurement-schedule-service.js.map +1 -1
  196. package/dist/services/operate/path-custody.d.ts.map +1 -1
  197. package/dist/services/operate/path-custody.js +2 -1
  198. package/dist/services/operate/path-custody.js.map +1 -1
  199. package/dist/services/operate/pinned-legacy-replay-runner.d.ts.map +1 -1
  200. package/dist/services/operate/pinned-legacy-replay-runner.js +3 -2
  201. package/dist/services/operate/pinned-legacy-replay-runner.js.map +1 -1
  202. package/dist/services/operate/planning-handoff-service.d.ts.map +1 -1
  203. package/dist/services/operate/planning-handoff-service.js +3 -2
  204. package/dist/services/operate/planning-handoff-service.js.map +1 -1
  205. package/dist/services/operate/project-transaction-lock.d.ts.map +1 -1
  206. package/dist/services/operate/project-transaction-lock.js +2 -1
  207. package/dist/services/operate/project-transaction-lock.js.map +1 -1
  208. package/dist/services/operate/repository-read-service.d.ts.map +1 -1
  209. package/dist/services/operate/repository-read-service.js +5 -4
  210. package/dist/services/operate/repository-read-service.js.map +1 -1
  211. package/dist/services/operate/screened-evidence-service.d.ts.map +1 -1
  212. package/dist/services/operate/screened-evidence-service.js +5 -4
  213. package/dist/services/operate/screened-evidence-service.js.map +1 -1
  214. package/dist/services/operate/storage-layout.d.ts.map +1 -1
  215. package/dist/services/operate/storage-layout.js +8 -7
  216. package/dist/services/operate/storage-layout.js.map +1 -1
  217. package/dist/services/operate/store.d.ts.map +1 -1
  218. package/dist/services/operate/store.js +7 -6
  219. package/dist/services/operate/store.js.map +1 -1
  220. package/dist/services/pipeline-package-service.js +1 -1
  221. package/dist/services/pipeline-package-service.js.map +1 -1
  222. package/dist/services/provenance-service.d.ts.map +1 -1
  223. package/dist/services/provenance-service.js +2 -1
  224. package/dist/services/provenance-service.js.map +1 -1
  225. package/dist/services/report-linter-service.js +1 -1
  226. package/dist/services/report-linter-service.js.map +1 -1
  227. package/dist/services/revise-cache-service.d.ts.map +1 -1
  228. package/dist/services/revise-cache-service.js +2 -1
  229. package/dist/services/revise-cache-service.js.map +1 -1
  230. package/dist/services/runtime-manager/doctor.d.ts +13 -0
  231. package/dist/services/runtime-manager/doctor.d.ts.map +1 -1
  232. package/dist/services/runtime-manager/doctor.js +50 -3
  233. package/dist/services/runtime-manager/doctor.js.map +1 -1
  234. package/dist/services/runtime-manager/inventory.d.ts +1 -0
  235. package/dist/services/runtime-manager/inventory.d.ts.map +1 -1
  236. package/dist/services/runtime-manager/inventory.js +3 -1
  237. package/dist/services/runtime-manager/inventory.js.map +1 -1
  238. package/dist/services/runtime-manager-service.d.ts +4 -2
  239. package/dist/services/runtime-manager-service.d.ts.map +1 -1
  240. package/dist/services/runtime-manager-service.js +52 -33
  241. package/dist/services/runtime-manager-service.js.map +1 -1
  242. package/dist/services/server-lifecycle-service.d.ts.map +1 -1
  243. package/dist/services/server-lifecycle-service.js +14 -9
  244. package/dist/services/server-lifecycle-service.js.map +1 -1
  245. package/dist/services/spec-service.d.ts +4 -4
  246. package/dist/services/spec-service.d.ts.map +1 -1
  247. package/dist/services/spec-service.js +43 -77
  248. package/dist/services/spec-service.js.map +1 -1
  249. package/dist/services/sprint-refinement-service.d.ts +6 -6
  250. package/dist/services/sprint-refinement-service.d.ts.map +1 -1
  251. package/dist/services/sprint-refinement-service.js +16 -16
  252. package/dist/services/sprint-refinement-service.js.map +1 -1
  253. package/dist/services/template-service.d.ts.map +1 -1
  254. package/dist/services/template-service.js +3 -1
  255. package/dist/services/template-service.js.map +1 -1
  256. package/dist/services/upgrade-offer-service.d.ts +2 -2
  257. package/dist/services/upgrade-offer-service.d.ts.map +1 -1
  258. package/dist/services/upgrade-offer-service.js +4 -3
  259. package/dist/services/upgrade-offer-service.js.map +1 -1
  260. package/dist/services/upgrade-report.d.ts +1 -1
  261. package/dist/services/upgrade-report.d.ts.map +1 -1
  262. package/dist/services/upgrade-report.js +5 -4
  263. package/dist/services/upgrade-report.js.map +1 -1
  264. package/dist/services/upgrade-service.d.ts +5 -5
  265. package/dist/services/upgrade-service.d.ts.map +1 -1
  266. package/dist/services/upgrade-service.js +14 -13
  267. package/dist/services/upgrade-service.js.map +1 -1
  268. package/dist/templates/backlog/backlog-item.md.hbs +1 -1
  269. package/dist/templates/checklists/agile-checklist.md.hbs +6 -6
  270. package/dist/templates/epics/epic.md.hbs +1 -1
  271. package/dist/templates/export/planning-report.html.hbs +1 -1
  272. package/dist/templates/export/planning-report.md.hbs +1 -1
  273. package/dist/templates/features/feature.md.hbs +1 -1
  274. package/dist/templates/guides/estimation.md.hbs +3 -12
  275. package/dist/templates/quick/quick-task.md.hbs +1 -1
  276. package/dist/templates/rules/cursor/create-epic.mdc.hbs +1 -1
  277. package/dist/templates/rules/cursor/create-features.mdc.hbs +1 -1
  278. package/dist/templates/rules/cursor/create-user-story.mdc.hbs +1 -1
  279. package/dist/templates/rules/cursor/openplanr.mdc.hbs +1 -1
  280. package/dist/templates/rules/shared/capability-map.md.hbs +1 -1
  281. package/dist/templates/rules/shared/host-native-guidance.md.hbs +1 -1
  282. package/dist/templates/spec/spec-shaped.md.hbs +1 -1
  283. package/dist/templates/spec/spec.md.hbs +1 -1
  284. package/dist/templates/sprints/sprint-tasks.md.hbs +1 -1
  285. package/dist/templates/sprints/sprint.md.hbs +1 -1
  286. package/dist/templates/stories/user-story.md.hbs +1 -1
  287. package/dist/utils/constants.d.ts +8 -4
  288. package/dist/utils/constants.d.ts.map +1 -1
  289. package/dist/utils/constants.js +10 -4
  290. package/dist/utils/constants.js.map +1 -1
  291. package/docs/ARTIFACT_REVIEW.md +13 -13
  292. package/docs/CLI.md +258 -262
  293. package/docs/CROSS_RUNTIME_SETUP.md +33 -33
  294. package/docs/TROUBLESHOOTING.md +28 -28
  295. package/install.ps1 +2 -2
  296. package/install.sh +3 -3
  297. package/lib/host-packages/adapter-registry.json +5 -5
  298. package/lib/host-packages/capability-map.json +9 -9
  299. package/lib/host-packages/claude/.claude-plugin/marketplace.json +2 -2
  300. package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +1 -1
  301. package/lib/host-packages/claude/openplanr/.openplanr-content.json +109 -89
  302. package/lib/host-packages/claude/openplanr/README.md +13 -17
  303. package/lib/host-packages/claude/openplanr/agents/planr-backend.md +49 -55
  304. package/lib/host-packages/claude/openplanr/agents/planr-database.md +56 -92
  305. package/lib/host-packages/claude/openplanr/agents/planr-designer.md +35 -51
  306. package/lib/host-packages/claude/openplanr/agents/planr-devops.md +37 -51
  307. package/lib/host-packages/claude/openplanr/agents/planr-documentation.md +29 -52
  308. package/lib/host-packages/claude/openplanr/agents/planr-entity-scaffold.md +24 -23
  309. package/lib/host-packages/claude/openplanr/agents/planr-frontend.md +46 -58
  310. package/lib/host-packages/claude/openplanr/agents/planr-qa.md +4 -2
  311. package/lib/host-packages/claude/openplanr/agents/planr-specification.md +54 -51
  312. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/backend.md +21 -65
  313. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/designer.md +5 -6
  314. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/devops.md +2 -3
  315. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/doc-gen.md +3 -4
  316. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/frontend.md +19 -64
  317. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/specification.md +10 -12
  318. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/backend.md +19 -62
  319. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/designer.md +5 -6
  320. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/devops.md +2 -3
  321. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/doc-gen.md +2 -3
  322. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/frontend.md +16 -59
  323. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/specification.md +9 -11
  324. package/lib/host-packages/claude/openplanr/references/pipeline/stacks/database/mongodb.md +4 -4
  325. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-owner-custody.mjs +8 -0
  326. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-review.mjs +105 -55
  327. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-share.mjs +12 -7
  328. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
  329. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +1 -1
  330. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +9 -1
  331. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design.mjs +11 -4
  332. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +9 -1
  333. package/lib/host-packages/claude/openplanr/skills/artifact/SKILL.md +14 -14
  334. package/lib/host-packages/claude/openplanr/skills/artifact/references/company-review.md +9 -9
  335. package/lib/host-packages/claude/openplanr/skills/artifact/references/design-sharing.md +1 -1
  336. package/lib/host-packages/claude/openplanr/skills/artifact/references/diagram-sharing.md +4 -4
  337. package/lib/host-packages/claude/openplanr/skills/ceo-review/SKILL.md +0 -1
  338. package/lib/host-packages/claude/openplanr/skills/ceo-review/references/operate-advisor-contract.md +25 -4
  339. package/lib/host-packages/claude/openplanr/skills/chair-review/SKILL.md +6 -2
  340. package/lib/host-packages/claude/openplanr/skills/challenger-review/SKILL.md +6 -2
  341. package/lib/host-packages/claude/openplanr/skills/cmo-review/SKILL.md +0 -1
  342. package/lib/host-packages/claude/openplanr/skills/cmo-review/references/operate-advisor-contract.md +25 -4
  343. package/lib/host-packages/claude/openplanr/skills/coo-review/SKILL.md +0 -1
  344. package/lib/host-packages/claude/openplanr/skills/coo-review/references/operate-advisor-contract.md +25 -4
  345. package/lib/host-packages/claude/openplanr/skills/cpo-review/SKILL.md +0 -1
  346. package/lib/host-packages/claude/openplanr/skills/cpo-review/references/operate-advisor-contract.md +25 -4
  347. package/lib/host-packages/claude/openplanr/skills/cto-review/SKILL.md +0 -1
  348. package/lib/host-packages/claude/openplanr/skills/cto-review/references/operate-advisor-contract.md +25 -4
  349. package/lib/host-packages/claude/openplanr/skills/dashboard/SKILL.md +1 -1
  350. package/lib/host-packages/claude/openplanr/skills/delegate/SKILL.md +7 -0
  351. package/lib/host-packages/claude/openplanr/skills/delegate/references/capsule-contract.md +16 -1
  352. package/lib/host-packages/claude/openplanr/skills/delegate/references/operator-guide.md +8 -6
  353. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/claude.mjs +11 -4
  354. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/native.mjs +1 -1
  355. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/backend-diagnostics.mjs +14 -48
  356. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/context.mjs +84 -22
  357. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/credentials.mjs +167 -0
  358. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/presentation.mjs +3 -2
  359. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-contract.mjs +5 -7
  360. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-preparation.mjs +2 -0
  361. package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-record.mjs +2 -3
  362. package/lib/host-packages/claude/openplanr/skills/design/SKILL.md +1 -1
  363. package/lib/host-packages/claude/openplanr/skills/design/references/team-review.md +1 -1
  364. package/lib/host-packages/claude/openplanr/skills/design/references/utilities.md +4 -4
  365. package/lib/host-packages/claude/openplanr/skills/design-loop/SKILL.md +1 -1
  366. package/lib/host-packages/claude/openplanr/skills/design-loop/references/team-review.md +1 -1
  367. package/lib/host-packages/claude/openplanr/skills/design-loop/references/utilities.md +4 -4
  368. package/lib/host-packages/claude/openplanr/skills/design-review/SKILL.md +1 -1
  369. package/lib/host-packages/claude/openplanr/skills/design-review/references/team-review.md +1 -1
  370. package/lib/host-packages/claude/openplanr/skills/design-review/references/utilities.md +4 -4
  371. package/lib/host-packages/claude/openplanr/skills/diagram/SKILL.md +15 -15
  372. package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-document.md +1 -1
  373. package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-intent-to-ir.md +1 -1
  374. package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-sharing.md +4 -4
  375. package/lib/host-packages/claude/openplanr/skills/doctor/SKILL.md +9 -9
  376. package/lib/host-packages/claude/openplanr/skills/doctor/references/upgrade.md +18 -16
  377. package/lib/host-packages/claude/openplanr/skills/land/SKILL.md +2 -2
  378. package/lib/host-packages/claude/openplanr/skills/operate/SKILL.md +5 -3
  379. package/lib/host-packages/claude/openplanr/skills/plan/SKILL.md +8 -2
  380. package/lib/host-packages/claude/openplanr/skills/plan/references/artifact-contract.md +5 -0
  381. package/lib/host-packages/claude/openplanr/skills/spec/references/specification-contract.md +5 -0
  382. package/lib/host-packages/claude/openplanr/skills/sprint/SKILL.md +16 -15
  383. package/lib/host-packages/claude/openplanr/skills/sprint/references/refinement-contract.md +5 -5
  384. package/lib/host-packages/claude/openplanr/skills/sprint/references/sprint-formats.md +8 -8
  385. package/lib/host-packages/claude/openplanr/skills/sprint/references/tracker-connections.md +70 -0
  386. package/lib/host-packages/claude/openplanr/skills/sprint/schemas/refinement.schema.json +3 -3
  387. package/lib/host-packages/claude/openplanr/skills/status/SKILL.md +5 -4
  388. package/lib/host-packages/claude/openplanr/skills/status/references/tracker-connections.md +70 -0
  389. package/lib/host-packages/claude/openplanr/skills/sync/SKILL.md +11 -20
  390. package/lib/host-packages/claude/openplanr/skills/sync/references/tracker-connections.md +70 -0
  391. package/lib/host-packages/claude/openplanr/skills/sync/scripts/names.mjs +8 -0
  392. package/lib/host-packages/claude/openplanr/skills/sync/scripts/sync.mjs +3 -2
  393. package/lib/host-packages/cursor/openplanr/.openplanr-content.json +81 -61
  394. package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
  395. package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/company-review.md +9 -9
  396. package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/design-sharing.md +1 -1
  397. package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/diagram-sharing.md +4 -4
  398. package/lib/host-packages/cursor/openplanr/rules/planr-artifact.mdc +14 -14
  399. package/lib/host-packages/cursor/openplanr/rules/planr-ceo-review/references/operate-advisor-contract.md +25 -4
  400. package/lib/host-packages/cursor/openplanr/rules/planr-chair-review.mdc +6 -1
  401. package/lib/host-packages/cursor/openplanr/rules/planr-challenger-review.mdc +6 -1
  402. package/lib/host-packages/cursor/openplanr/rules/planr-cmo-review/references/operate-advisor-contract.md +25 -4
  403. package/lib/host-packages/cursor/openplanr/rules/planr-coo-review/references/operate-advisor-contract.md +25 -4
  404. package/lib/host-packages/cursor/openplanr/rules/planr-cpo-review/references/operate-advisor-contract.md +25 -4
  405. package/lib/host-packages/cursor/openplanr/rules/planr-cto-review/references/operate-advisor-contract.md +25 -4
  406. package/lib/host-packages/cursor/openplanr/rules/planr-dashboard.mdc +1 -1
  407. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/capsule-contract.md +16 -1
  408. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/operator-guide.md +8 -6
  409. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/claude.mjs +11 -4
  410. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/native.mjs +1 -1
  411. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/backend-diagnostics.mjs +14 -48
  412. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/context.mjs +84 -22
  413. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/credentials.mjs +167 -0
  414. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/presentation.mjs +3 -2
  415. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-contract.mjs +5 -7
  416. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-preparation.mjs +2 -0
  417. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-record.mjs +2 -3
  418. package/lib/host-packages/cursor/openplanr/rules/planr-delegate.mdc +7 -0
  419. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/team-review.md +1 -1
  420. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/utilities.md +4 -4
  421. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/team-review.md +1 -1
  422. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/utilities.md +4 -4
  423. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop.mdc +1 -1
  424. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/team-review.md +1 -1
  425. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/utilities.md +4 -4
  426. package/lib/host-packages/cursor/openplanr/rules/planr-design-review.mdc +1 -1
  427. package/lib/host-packages/cursor/openplanr/rules/planr-design.mdc +1 -1
  428. package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-document.md +1 -1
  429. package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-intent-to-ir.md +1 -1
  430. package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-sharing.md +4 -4
  431. package/lib/host-packages/cursor/openplanr/rules/planr-diagram.mdc +15 -15
  432. package/lib/host-packages/cursor/openplanr/rules/planr-doctor/references/upgrade.md +18 -16
  433. package/lib/host-packages/cursor/openplanr/rules/planr-doctor.mdc +9 -9
  434. package/lib/host-packages/cursor/openplanr/rules/planr-land.mdc +2 -2
  435. package/lib/host-packages/cursor/openplanr/rules/planr-operate.mdc +5 -3
  436. package/lib/host-packages/cursor/openplanr/rules/planr-plan/references/artifact-contract.md +5 -0
  437. package/lib/host-packages/cursor/openplanr/rules/planr-plan.mdc +8 -2
  438. package/lib/host-packages/cursor/openplanr/rules/planr-spec/references/specification-contract.md +5 -0
  439. package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/refinement-contract.md +5 -5
  440. package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/sprint-formats.md +8 -8
  441. package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/tracker-connections.md +70 -0
  442. package/lib/host-packages/cursor/openplanr/rules/planr-sprint/schemas/refinement.schema.json +3 -3
  443. package/lib/host-packages/cursor/openplanr/rules/planr-sprint.mdc +16 -15
  444. package/lib/host-packages/cursor/openplanr/rules/planr-status/references/tracker-connections.md +70 -0
  445. package/lib/host-packages/cursor/openplanr/rules/planr-status.mdc +5 -4
  446. package/lib/host-packages/cursor/openplanr/rules/planr-sync/references/tracker-connections.md +70 -0
  447. package/lib/host-packages/cursor/openplanr/rules/planr-sync/scripts/names.mjs +8 -0
  448. package/lib/host-packages/cursor/openplanr/rules/planr-sync/scripts/sync.mjs +3 -2
  449. package/lib/host-packages/cursor/openplanr/rules/planr-sync.mdc +11 -20
  450. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-owner-custody.mjs +8 -0
  451. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-review.mjs +105 -55
  452. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-share.mjs +12 -7
  453. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
  454. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +1 -1
  455. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +9 -1
  456. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design.mjs +11 -4
  457. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +9 -1
  458. package/lib/host-packages/openai/.claude-plugin/marketplace.json +2 -2
  459. package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +1 -1
  460. package/lib/host-packages/openai/openplanr/.openplanr-content.json +90 -70
  461. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-owner-custody.mjs +8 -0
  462. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-review.mjs +105 -55
  463. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-share.mjs +12 -7
  464. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
  465. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +1 -1
  466. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +9 -1
  467. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design.mjs +11 -4
  468. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +9 -1
  469. package/lib/host-packages/openai/openplanr/skills/artifact/SKILL.md +14 -14
  470. package/lib/host-packages/openai/openplanr/skills/artifact/references/company-review.md +9 -9
  471. package/lib/host-packages/openai/openplanr/skills/artifact/references/design-sharing.md +1 -1
  472. package/lib/host-packages/openai/openplanr/skills/artifact/references/diagram-sharing.md +4 -4
  473. package/lib/host-packages/openai/openplanr/skills/ceo-review/SKILL.md +0 -1
  474. package/lib/host-packages/openai/openplanr/skills/ceo-review/references/operate-advisor-contract.md +25 -4
  475. package/lib/host-packages/openai/openplanr/skills/chair-review/SKILL.md +6 -2
  476. package/lib/host-packages/openai/openplanr/skills/challenger-review/SKILL.md +6 -2
  477. package/lib/host-packages/openai/openplanr/skills/cmo-review/SKILL.md +0 -1
  478. package/lib/host-packages/openai/openplanr/skills/cmo-review/references/operate-advisor-contract.md +25 -4
  479. package/lib/host-packages/openai/openplanr/skills/coo-review/SKILL.md +0 -1
  480. package/lib/host-packages/openai/openplanr/skills/coo-review/references/operate-advisor-contract.md +25 -4
  481. package/lib/host-packages/openai/openplanr/skills/cpo-review/SKILL.md +0 -1
  482. package/lib/host-packages/openai/openplanr/skills/cpo-review/references/operate-advisor-contract.md +25 -4
  483. package/lib/host-packages/openai/openplanr/skills/cto-review/SKILL.md +0 -1
  484. package/lib/host-packages/openai/openplanr/skills/cto-review/references/operate-advisor-contract.md +25 -4
  485. package/lib/host-packages/openai/openplanr/skills/dashboard/SKILL.md +1 -1
  486. package/lib/host-packages/openai/openplanr/skills/delegate/SKILL.md +7 -0
  487. package/lib/host-packages/openai/openplanr/skills/delegate/openplanr.skill.json +11 -0
  488. package/lib/host-packages/openai/openplanr/skills/delegate/references/capsule-contract.md +16 -1
  489. package/lib/host-packages/openai/openplanr/skills/delegate/references/operator-guide.md +8 -6
  490. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/claude.mjs +11 -4
  491. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/native.mjs +1 -1
  492. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/backend-diagnostics.mjs +14 -48
  493. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/context.mjs +84 -22
  494. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/credentials.mjs +167 -0
  495. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/presentation.mjs +3 -2
  496. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-contract.mjs +5 -7
  497. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-preparation.mjs +2 -0
  498. package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-record.mjs +2 -3
  499. package/lib/host-packages/openai/openplanr/skills/design/SKILL.md +1 -1
  500. package/lib/host-packages/openai/openplanr/skills/design/references/team-review.md +1 -1
  501. package/lib/host-packages/openai/openplanr/skills/design/references/utilities.md +4 -4
  502. package/lib/host-packages/openai/openplanr/skills/design-loop/SKILL.md +1 -1
  503. package/lib/host-packages/openai/openplanr/skills/design-loop/references/team-review.md +1 -1
  504. package/lib/host-packages/openai/openplanr/skills/design-loop/references/utilities.md +4 -4
  505. package/lib/host-packages/openai/openplanr/skills/design-review/SKILL.md +1 -1
  506. package/lib/host-packages/openai/openplanr/skills/design-review/references/team-review.md +1 -1
  507. package/lib/host-packages/openai/openplanr/skills/design-review/references/utilities.md +4 -4
  508. package/lib/host-packages/openai/openplanr/skills/diagram/SKILL.md +15 -15
  509. package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-document.md +1 -1
  510. package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-intent-to-ir.md +1 -1
  511. package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-sharing.md +4 -4
  512. package/lib/host-packages/openai/openplanr/skills/doctor/SKILL.md +9 -9
  513. package/lib/host-packages/openai/openplanr/skills/doctor/references/upgrade.md +18 -16
  514. package/lib/host-packages/openai/openplanr/skills/land/SKILL.md +2 -2
  515. package/lib/host-packages/openai/openplanr/skills/operate/SKILL.md +5 -3
  516. package/lib/host-packages/openai/openplanr/skills/plan/SKILL.md +8 -2
  517. package/lib/host-packages/openai/openplanr/skills/plan/references/artifact-contract.md +5 -0
  518. package/lib/host-packages/openai/openplanr/skills/spec/references/specification-contract.md +5 -0
  519. package/lib/host-packages/openai/openplanr/skills/sprint/SKILL.md +16 -15
  520. package/lib/host-packages/openai/openplanr/skills/sprint/openplanr.skill.json +11 -0
  521. package/lib/host-packages/openai/openplanr/skills/sprint/references/refinement-contract.md +5 -5
  522. package/lib/host-packages/openai/openplanr/skills/sprint/references/sprint-formats.md +8 -8
  523. package/lib/host-packages/openai/openplanr/skills/sprint/references/tracker-connections.md +70 -0
  524. package/lib/host-packages/openai/openplanr/skills/sprint/schemas/refinement.schema.json +3 -3
  525. package/lib/host-packages/openai/openplanr/skills/status/SKILL.md +5 -4
  526. package/lib/host-packages/openai/openplanr/skills/status/openplanr.skill.json +11 -0
  527. package/lib/host-packages/openai/openplanr/skills/status/references/tracker-connections.md +70 -0
  528. package/lib/host-packages/openai/openplanr/skills/sync/SKILL.md +11 -20
  529. package/lib/host-packages/openai/openplanr/skills/sync/openplanr.skill.json +22 -0
  530. package/lib/host-packages/openai/openplanr/skills/sync/references/tracker-connections.md +70 -0
  531. package/lib/host-packages/openai/openplanr/skills/sync/scripts/names.mjs +8 -0
  532. package/lib/host-packages/openai/openplanr/skills/sync/scripts/sync.mjs +3 -2
  533. package/lib/integrations.mjs +3 -2
  534. package/lib/names.d.mts +4 -0
  535. package/lib/names.mjs +8 -0
  536. package/lib/planning-folder.d.mts +14 -0
  537. package/lib/planning-folder.mjs +40 -0
  538. package/package.json +5 -5
  539. package/dist/dashboard/assets/index-D7R6tnlX.js.map +0 -1
  540. package/dist/services/connectors/adapters/business-metrics.d.ts +0 -5
  541. package/dist/services/connectors/adapters/business-metrics.d.ts.map +0 -1
  542. package/dist/services/connectors/adapters/business-metrics.js +0 -41
  543. package/dist/services/connectors/adapters/business-metrics.js.map +0 -1
  544. package/dist/services/connectors/adapters/deployment-health.d.ts +0 -18
  545. package/dist/services/connectors/adapters/deployment-health.d.ts.map +0 -1
  546. package/dist/services/connectors/adapters/deployment-health.js +0 -67
  547. package/dist/services/connectors/adapters/deployment-health.js.map +0 -1
  548. package/dist/services/connectors/adapters/github.d.ts +0 -5
  549. package/dist/services/connectors/adapters/github.d.ts.map +0 -1
  550. package/dist/services/connectors/adapters/github.js +0 -31
  551. package/dist/services/connectors/adapters/github.js.map +0 -1
  552. package/dist/services/connectors/adapters/linear-jira.d.ts +0 -5
  553. package/dist/services/connectors/adapters/linear-jira.d.ts.map +0 -1
  554. package/dist/services/connectors/adapters/linear-jira.js +0 -26
  555. package/dist/services/connectors/adapters/linear-jira.js.map +0 -1
  556. package/dist/services/connectors/adapters/posthog.d.ts +0 -5
  557. package/dist/services/connectors/adapters/posthog.d.ts.map +0 -1
  558. package/dist/services/connectors/adapters/posthog.js +0 -31
  559. package/dist/services/connectors/adapters/posthog.js.map +0 -1
  560. package/dist/services/connectors/adapters/sentry.d.ts +0 -5
  561. package/dist/services/connectors/adapters/sentry.d.ts.map +0 -1
  562. package/dist/services/connectors/adapters/sentry.js +0 -31
  563. package/dist/services/connectors/adapters/sentry.js.map +0 -1
  564. package/dist/services/connectors/checkpoint-custody.d.ts +0 -45
  565. package/dist/services/connectors/checkpoint-custody.d.ts.map +0 -1
  566. package/dist/services/connectors/checkpoint-custody.js +0 -496
  567. package/dist/services/connectors/checkpoint-custody.js.map +0 -1
  568. package/dist/services/connectors/connector-registry.d.ts +0 -144
  569. package/dist/services/connectors/connector-registry.d.ts.map +0 -1
  570. package/dist/services/connectors/connector-registry.js +0 -423
  571. package/dist/services/connectors/connector-registry.js.map +0 -1
  572. package/dist/services/connectors/connector-runtime.d.ts +0 -208
  573. package/dist/services/connectors/connector-runtime.d.ts.map +0 -1
  574. package/dist/services/connectors/connector-runtime.js +0 -1305
  575. package/dist/services/connectors/connector-runtime.js.map +0 -1
  576. package/dist/services/connectors/credential-custody.d.ts +0 -96
  577. package/dist/services/connectors/credential-custody.d.ts.map +0 -1
  578. package/dist/services/connectors/credential-custody.js +0 -390
  579. package/dist/services/connectors/credential-custody.js.map +0 -1
  580. package/dist/templates/voice/standup.md.hbs +0 -20
  581. /package/lib/host-packages/claude/openplanr/runtime/design/scripts/{design-runtime-support-5cb7531bede8.mjs → design-runtime-support-336900df0d39.mjs} +0 -0
  582. /package/lib/host-packages/cursor/openplanr/runtime/design/scripts/{design-runtime-support-5cb7531bede8.mjs → design-runtime-support-336900df0d39.mjs} +0 -0
  583. /package/lib/host-packages/openai/openplanr/runtime/design/scripts/{design-runtime-support-5cb7531bede8.mjs → design-runtime-support-336900df0d39.mjs} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"connector-runtime.js","sourceRoot":"","sources":["../../../src/services/connectors/connector-runtime.ts"],"names":[],"mappings":"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"}
@@ -1,96 +0,0 @@
1
- import type { ConnectorProviderIdentityV2 } from './connector-registry.js';
2
- export type ConnectorCredentialSourceV2 = Readonly<{
3
- kind: 'environment-name';
4
- name: string;
5
- }> | Readonly<{
6
- kind: 'os-custody-key';
7
- service: string;
8
- account: string;
9
- }>;
10
- export type ConnectorCredentialLocalBindingV2 = Readonly<{
11
- credentialRef: string;
12
- provider: ConnectorProviderIdentityV2;
13
- adapterVersion: string;
14
- accountIdentityHash: `sha256:${string}`;
15
- source: ConnectorCredentialSourceV2;
16
- }>;
17
- export type ConnectorCredentialProtocolBindingV2 = Readonly<{
18
- actorId: string;
19
- credentialRef: string;
20
- consentRecordId: string;
21
- protocolDocketHash: `sha256:${string}`;
22
- provider: ConnectorProviderIdentityV2;
23
- adapterVersion: string;
24
- accountIdentityHash: `sha256:${string}`;
25
- }>;
26
- export type ConnectorCredentialCapabilityBindingV2 = ConnectorCredentialProtocolBindingV2 & Readonly<{
27
- requestHash: `sha256:${string}`;
28
- }>;
29
- declare const OWNER_CONFIRMATION_BRAND: unique symbol;
30
- declare const CREDENTIAL_CAPABILITY_BRAND: unique symbol;
31
- export type ConnectorOwnerConfirmationV2 = Readonly<{
32
- readonly [OWNER_CONFIRMATION_BRAND]: true;
33
- }>;
34
- export type ConnectorCredentialCapabilityV2 = Readonly<{
35
- readonly [CREDENTIAL_CAPABILITY_BRAND]: true;
36
- }>;
37
- export type ConnectorOwnerConfirmationDocketV2 = Readonly<{
38
- kind: 'openplanr-live-evidence-owner-confirmation-docket';
39
- schemaVersion: '1.0.0';
40
- actorId: string;
41
- consentRecordId: string;
42
- requestHash: `sha256:${string}`;
43
- logicalCredentialRef: string;
44
- protocolDocket: Readonly<Record<string, unknown>>;
45
- protocolDocketHash: `sha256:${string}`;
46
- effect: 'provider-call';
47
- authorityBoundary: 'confirmation-is-not-credential-authority';
48
- choices: readonly ['approve', 'cancel'];
49
- defaultChoice: null;
50
- cancelEffect: 'none';
51
- expiresAt: string;
52
- }>;
53
- export type ConnectorCredentialCustodyErrorCode = 'LIVE_EVIDENCE_CREDENTIAL_CONFIG_INVALID' | 'LIVE_EVIDENCE_CREDENTIAL_CUSTODY_UNAVAILABLE' | 'LIVE_EVIDENCE_CREDENTIAL_READ_FAILED' | 'LIVE_EVIDENCE_CREDENTIAL_UNAVAILABLE' | 'LIVE_EVIDENCE_CONSENT_INVALID' | 'LIVE_EVIDENCE_CONSENT_EXPIRED' | 'LIVE_EVIDENCE_OWNER_CONFIRMATION_REQUIRED' | 'LIVE_EVIDENCE_OWNER_CONFIRMATION_INVALID' | 'LIVE_EVIDENCE_CAPABILITY_INVALID' | 'LIVE_EVIDENCE_CAPABILITY_EXPIRED' | 'LIVE_EVIDENCE_CAPABILITY_REPLAYED';
54
- type ConnectorCredentialSourceErrorCode = 'LIVE_EVIDENCE_KEYRING_UNAVAILABLE' | 'LIVE_EVIDENCE_KEYRING_READ_FAILED';
55
- export declare class ConnectorCredentialCustodyError extends Error {
56
- readonly code: ConnectorCredentialCustodyErrorCode;
57
- readonly sourceCode?: ConnectorCredentialSourceErrorCode | undefined;
58
- constructor(code: ConnectorCredentialCustodyErrorCode, message: string, sourceCode?: ConnectorCredentialSourceErrorCode | undefined);
59
- }
60
- export declare class ConnectorCredentialCustodyV2 {
61
- #private;
62
- constructor(input: {
63
- contracts: Readonly<{
64
- assertOperatingLiveEvidenceConsentRecordV2(record: unknown): Readonly<Record<string, unknown>>;
65
- }>;
66
- bindings: readonly ConnectorCredentialLocalBindingV2[];
67
- allowedEnvironmentNames: readonly string[];
68
- loadConsentRecord(consentRecordId: string): Promise<unknown | null>;
69
- persistConsentRecord(record: Readonly<Record<string, unknown>>): Promise<unknown>;
70
- confirmOwner(docket: ConnectorOwnerConfirmationDocketV2): Promise<Readonly<{
71
- approved: boolean;
72
- actorId: string;
73
- }>>;
74
- readEnvironment?: (name: string) => string | Uint8Array | undefined;
75
- readKeychain?: (service: string, account: string) => Promise<string | Uint8Array | undefined>;
76
- now?: () => number;
77
- entropy?: () => Uint8Array;
78
- ttlMs?: number;
79
- });
80
- validatedConsent(binding: ConnectorCredentialCapabilityBindingV2): Promise<Readonly<Record<string, unknown>>>;
81
- issueOwnerConfirmation(input: Readonly<{
82
- binding: ConnectorCredentialCapabilityBindingV2;
83
- proposedConsentRecord: unknown;
84
- }>): Promise<ConnectorOwnerConfirmationV2>;
85
- issueCapability(input: {
86
- binding: ConnectorCredentialCapabilityBindingV2;
87
- ownerConfirmation?: ConnectorOwnerConfirmationV2;
88
- }): Promise<ConnectorCredentialCapabilityV2>;
89
- capabilityHash(capability: ConnectorCredentialCapabilityV2): `sha256:${string}`;
90
- /** Stable, non-authoritative protocol custody for restart-safe checkpoint identity. */
91
- protocolBindingHash(binding: ConnectorCredentialProtocolBindingV2): Promise<`sha256:${string}`>;
92
- withResolvedCredential<T>(capability: ConnectorCredentialCapabilityV2, binding: ConnectorCredentialCapabilityBindingV2, use: (credential: Uint8Array) => Promise<T>): Promise<T>;
93
- }
94
- export declare function createConnectorCredentialCustodyV2(input: ConstructorParameters<typeof ConnectorCredentialCustodyV2>[0]): ConnectorCredentialCustodyV2;
95
- export {};
96
- //# sourceMappingURL=credential-custody.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credential-custody.d.ts","sourceRoot":"","sources":["../../../src/services/connectors/credential-custody.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAE3E,MAAM,MAAM,2BAA2B,GACnC,QAAQ,CAAC;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GACpD,QAAQ,CAAC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE3E,MAAM,MAAM,iCAAiC,GAAG,QAAQ,CAAC;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,2BAA2B,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,UAAU,MAAM,EAAE,CAAC;IACxC,MAAM,EAAE,2BAA2B,CAAC;CACrC,CAAC,CAAC;AAEH,MAAM,MAAM,oCAAoC,GAAG,QAAQ,CAAC;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,UAAU,MAAM,EAAE,CAAC;IACvC,QAAQ,EAAE,2BAA2B,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,UAAU,MAAM,EAAE,CAAC;CACzC,CAAC,CAAC;AAEH,MAAM,MAAM,sCAAsC,GAAG,oCAAoC,GACvF,QAAQ,CAAC;IAAE,WAAW,EAAE,UAAU,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC;AAEhD,OAAO,CAAC,MAAM,wBAAwB,EAAE,OAAO,MAAM,CAAC;AACtD,OAAO,CAAC,MAAM,2BAA2B,EAAE,OAAO,MAAM,CAAC;AACzD,MAAM,MAAM,4BAA4B,GAAG,QAAQ,CAAC;IAClD,QAAQ,CAAC,CAAC,wBAAwB,CAAC,EAAE,IAAI,CAAC;CAC3C,CAAC,CAAC;AACH,MAAM,MAAM,+BAA+B,GAAG,QAAQ,CAAC;IACrD,QAAQ,CAAC,CAAC,2BAA2B,CAAC,EAAE,IAAI,CAAC;CAC9C,CAAC,CAAC;AAEH,MAAM,MAAM,kCAAkC,GAAG,QAAQ,CAAC;IACxD,IAAI,EAAE,mDAAmD,CAAC;IAC1D,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,UAAU,MAAM,EAAE,CAAC;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,kBAAkB,EAAE,UAAU,MAAM,EAAE,CAAC;IACvC,MAAM,EAAE,eAAe,CAAC;IACxB,iBAAiB,EAAE,0CAA0C,CAAC;IAC9D,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACxC,aAAa,EAAE,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAEH,MAAM,MAAM,mCAAmC,GAC3C,yCAAyC,GACzC,8CAA8C,GAC9C,sCAAsC,GACtC,sCAAsC,GACtC,+BAA+B,GAC/B,+BAA+B,GAC/B,2CAA2C,GAC3C,0CAA0C,GAC1C,kCAAkC,GAClC,kCAAkC,GAClC,mCAAmC,CAAC;AAExC,KAAK,kCAAkC,GACnC,mCAAmC,GACnC,mCAAmC,CAAC;AAYxC,qBAAa,+BAAgC,SAAQ,KAAK;IAEtD,QAAQ,CAAC,IAAI,EAAE,mCAAmC;IAElD,QAAQ,CAAC,UAAU,CAAC,EAAE,kCAAkC;gBAF/C,IAAI,EAAE,mCAAmC,EAClD,OAAO,EAAE,MAAM,EACN,UAAU,CAAC,EAAE,kCAAkC,YAAA;CAK3D;AAqJD,qBAAa,4BAA4B;;gBAoB3B,KAAK,EAAE;QACjB,SAAS,EAAE,QAAQ,CAAC;YAClB,0CAA0C,CACxC,MAAM,EAAE,OAAO,GACd,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;SACtC,CAAC,CAAC;QACH,QAAQ,EAAE,SAAS,iCAAiC,EAAE,CAAC;QACvD,uBAAuB,EAAE,SAAS,MAAM,EAAE,CAAC;QAC3C,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACpE,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAClF,YAAY,CACV,MAAM,EAAE,kCAAkC,GACzC,OAAO,CAAC,QAAQ,CAAC;YAAE,QAAQ,EAAE,OAAO,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC,CAAC;QAC7D,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;QACpE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC;QAC9F,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,UAAU,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB;IAuHK,gBAAgB,CACpB,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAOvC,sBAAsB,CAC1B,KAAK,EAAE,QAAQ,CAAC;QACd,OAAO,EAAE,sCAAsC,CAAC;QAChD,qBAAqB,EAAE,OAAO,CAAC;KAChC,CAAC,GACD,OAAO,CAAC,4BAA4B,CAAC;IAwClC,eAAe,CAAC,KAAK,EAAE;QAC3B,OAAO,EAAE,sCAAsC,CAAC;QAChD,iBAAiB,CAAC,EAAE,4BAA4B,CAAC;KAClD,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAkD5C,cAAc,CAAC,UAAU,EAAE,+BAA+B,GAAG,UAAU,MAAM,EAAE;IAM/E,uFAAuF;IACjF,mBAAmB,CACvB,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,UAAU,MAAM,EAAE,CAAC;IAoBxB,sBAAsB,CAAC,CAAC,EAC5B,UAAU,EAAE,+BAA+B,EAC3C,OAAO,EAAE,sCAAsC,EAC/C,GAAG,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GAC1C,OAAO,CAAC,CAAC,CAAC;CAqEd;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,qBAAqB,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,GACnE,4BAA4B,CAE9B"}
@@ -1,390 +0,0 @@
1
- import { createHash, randomBytes } from 'node:crypto';
2
- import { sha256CanonicalJson } from '../canonical-json.js';
3
- class ConnectorCredentialSourceError extends Error {
4
- code;
5
- constructor(code, message) {
6
- super(message);
7
- this.code = code;
8
- this.name = code;
9
- }
10
- }
11
- export class ConnectorCredentialCustodyError extends Error {
12
- code;
13
- sourceCode;
14
- constructor(code, message, sourceCode) {
15
- super(message);
16
- this.code = code;
17
- this.sourceCode = sourceCode;
18
- this.name = code;
19
- }
20
- }
21
- const HASH = /^sha256:[a-f0-9]{64}$/u;
22
- const TEXT_ID = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/u;
23
- const VERSION = /^(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)$/u;
24
- function fail(code, message) {
25
- throw new ConnectorCredentialCustodyError(code, message);
26
- }
27
- function object(value, label) {
28
- if (value === null || typeof value !== 'object' || Array.isArray(value)) {
29
- fail('LIVE_EVIDENCE_CONSENT_INVALID', `${label} is unavailable or invalid.`);
30
- }
31
- return value;
32
- }
33
- function createOpaqueHandle(label) {
34
- const handle = Object.create(null);
35
- Object.defineProperty(handle, 'toJSON', {
36
- enumerable: false,
37
- value: () => {
38
- throw new TypeError(`${label} is process-local and cannot be serialized.`);
39
- },
40
- });
41
- return Object.freeze(handle);
42
- }
43
- function deepFreeze(value) {
44
- if (value && typeof value === 'object' && !Object.isFrozen(value)) {
45
- for (const nested of Object.values(value))
46
- deepFreeze(nested);
47
- Object.freeze(value);
48
- }
49
- return value;
50
- }
51
- function bytesHash(bytes) {
52
- return `sha256:${createHash('sha256').update(bytes).digest('hex')}`;
53
- }
54
- function assertProtocolBinding(binding) {
55
- if (!TEXT_ID.test(binding.actorId) ||
56
- !TEXT_ID.test(binding.credentialRef) ||
57
- !TEXT_ID.test(binding.consentRecordId) ||
58
- !TEXT_ID.test(binding.provider.id) ||
59
- !VERSION.test(binding.provider.version) ||
60
- !VERSION.test(binding.adapterVersion) ||
61
- !HASH.test(binding.protocolDocketHash) ||
62
- !HASH.test(binding.accountIdentityHash)) {
63
- fail('LIVE_EVIDENCE_CREDENTIAL_CONFIG_INVALID', 'Credential capability binding is invalid.');
64
- }
65
- }
66
- function assertBinding(binding) {
67
- assertProtocolBinding(binding);
68
- if (!HASH.test(binding.requestHash)) {
69
- fail('LIVE_EVIDENCE_CREDENTIAL_CONFIG_INVALID', 'Credential request binding is invalid.');
70
- }
71
- }
72
- function localBindingHash(binding) {
73
- return sha256CanonicalJson({
74
- credentialRef: binding.credentialRef,
75
- provider: binding.provider,
76
- adapterVersion: binding.adapterVersion,
77
- accountIdentityHash: binding.accountIdentityHash,
78
- });
79
- }
80
- function capabilityBindingHash(binding) {
81
- assertBinding(binding);
82
- return sha256CanonicalJson({
83
- actorId: binding.actorId,
84
- credentialRef: binding.credentialRef,
85
- requestHash: binding.requestHash,
86
- consentRecordId: binding.consentRecordId,
87
- protocolDocketHash: binding.protocolDocketHash,
88
- provider: binding.provider,
89
- adapterVersion: binding.adapterVersion,
90
- accountIdentityHash: binding.accountIdentityHash,
91
- });
92
- }
93
- function matchesLocalBinding(local, requested) {
94
- return (local.credentialRef === requested.credentialRef &&
95
- local.provider.id === requested.provider.id &&
96
- local.provider.version === requested.provider.version &&
97
- local.adapterVersion === requested.adapterVersion &&
98
- local.accountIdentityHash === requested.accountIdentityHash);
99
- }
100
- async function defaultKeychainRead(service, account) {
101
- let Entry;
102
- try {
103
- ({ Entry } = await import('@napi-rs/keyring'));
104
- }
105
- catch {
106
- throw new ConnectorCredentialSourceError('LIVE_EVIDENCE_KEYRING_UNAVAILABLE', 'OS credential-store support is unavailable on this platform.');
107
- }
108
- try {
109
- return new Entry(service, account).getPassword() ?? undefined;
110
- }
111
- catch {
112
- throw new ConnectorCredentialSourceError('LIVE_EVIDENCE_KEYRING_READ_FAILED', 'The OS credential store refused or failed the credential read.');
113
- }
114
- }
115
- function credentialSourceError(error) {
116
- if (error instanceof ConnectorCredentialSourceError)
117
- return error;
118
- return new ConnectorCredentialSourceError('LIVE_EVIDENCE_KEYRING_READ_FAILED', 'The OS credential store refused or failed the credential read.');
119
- }
120
- export class ConnectorCredentialCustodyV2 {
121
- #bindings;
122
- #allowedEnvironmentNames;
123
- #assertConsent;
124
- #loadConsentRecord;
125
- #persistConsentRecord;
126
- #confirmOwner;
127
- #readEnvironment;
128
- #readKeychain;
129
- #now;
130
- #entropy;
131
- #ttlMs;
132
- #ownerConfirmations = new WeakMap();
133
- #capabilities = new WeakMap();
134
- constructor(input) {
135
- if (!Number.isSafeInteger(input.ttlMs ?? 60_000) ||
136
- (input.ttlMs ?? 60_000) < 1_000 ||
137
- (input.ttlMs ?? 60_000) > 300_000) {
138
- fail('LIVE_EVIDENCE_CREDENTIAL_CONFIG_INVALID', 'Credential capability TTL is invalid.');
139
- }
140
- const environmentNames = new Set(input.allowedEnvironmentNames);
141
- if (environmentNames.size !== input.allowedEnvironmentNames.length) {
142
- fail('LIVE_EVIDENCE_CREDENTIAL_CONFIG_INVALID', 'Environment allowlist is not unique.');
143
- }
144
- const identities = new Set();
145
- this.#bindings = Object.freeze(input.bindings.map((binding) => {
146
- if (!TEXT_ID.test(binding.credentialRef) ||
147
- !TEXT_ID.test(binding.provider.id) ||
148
- !VERSION.test(binding.provider.version) ||
149
- !VERSION.test(binding.adapterVersion) ||
150
- !HASH.test(binding.accountIdentityHash)) {
151
- fail('LIVE_EVIDENCE_CREDENTIAL_CONFIG_INVALID', 'Credential binding is invalid.');
152
- }
153
- if (binding.source.kind === 'environment-name' &&
154
- !environmentNames.has(binding.source.name)) {
155
- fail('LIVE_EVIDENCE_CREDENTIAL_CONFIG_INVALID', 'Credential source is not allowlisted.');
156
- }
157
- if (binding.source.kind === 'os-custody-key' &&
158
- (!binding.source.service.trim() || !binding.source.account.trim())) {
159
- fail('LIVE_EVIDENCE_CREDENTIAL_CONFIG_INVALID', 'Credential source is invalid.');
160
- }
161
- const identity = localBindingHash(binding);
162
- if (identities.has(identity)) {
163
- fail('LIVE_EVIDENCE_CREDENTIAL_CONFIG_INVALID', 'Credential binding is duplicated.');
164
- }
165
- identities.add(identity);
166
- return Object.freeze(structuredClone(binding));
167
- }));
168
- this.#allowedEnvironmentNames = environmentNames;
169
- this.#assertConsent = input.contracts.assertOperatingLiveEvidenceConsentRecordV2;
170
- this.#loadConsentRecord = input.loadConsentRecord;
171
- this.#persistConsentRecord = input.persistConsentRecord;
172
- this.#confirmOwner = input.confirmOwner;
173
- this.#readEnvironment = input.readEnvironment ?? ((name) => process.env[name]);
174
- this.#readKeychain = input.readKeychain ?? defaultKeychainRead;
175
- this.#now = input.now ?? Date.now;
176
- this.#entropy = input.entropy ?? (() => randomBytes(32));
177
- this.#ttlMs = input.ttlMs ?? 60_000;
178
- }
179
- #assertExactConsent(binding, value) {
180
- assertProtocolBinding(binding);
181
- let asserted;
182
- try {
183
- asserted = this.#assertConsent(value);
184
- }
185
- catch {
186
- fail('LIVE_EVIDENCE_CONSENT_INVALID', 'The trusted local consent is invalid.');
187
- }
188
- const consent = object(asserted, 'Consent record');
189
- const actor = object(consent.actor, 'Consent actor');
190
- const provider = object(consent.provider, 'Consent provider');
191
- const expiresAtMs = Date.parse(String(consent.expiresAt));
192
- const consentHash = String(consent.consentHash);
193
- if (consent.kind !== 'operating-live-evidence-consent-record' ||
194
- consent.consentRecordId !== binding.consentRecordId ||
195
- consent.decision !== 'approved' ||
196
- consent.authority !== 'none' ||
197
- actor.actorId !== binding.actorId ||
198
- actor.kind !== 'human' ||
199
- provider.id !== binding.provider.id ||
200
- provider.version !== binding.provider.version ||
201
- consent.adapterVersion !== binding.adapterVersion ||
202
- consent.accountIdentityHash !== binding.accountIdentityHash ||
203
- consent.docketHash !== binding.protocolDocketHash ||
204
- !HASH.test(consentHash) ||
205
- !Number.isFinite(expiresAtMs)) {
206
- fail('LIVE_EVIDENCE_CONSENT_INVALID', 'The exact trusted local consent does not match the request.');
207
- }
208
- if (expiresAtMs <= this.#now()) {
209
- fail('LIVE_EVIDENCE_CONSENT_EXPIRED', 'The exact trusted local consent has expired.');
210
- }
211
- return { record: consent, consentHash: consentHash, expiresAtMs };
212
- }
213
- async #loadExactConsent(binding, optional = false) {
214
- const value = await this.#loadConsentRecord(binding.consentRecordId);
215
- if (value === null || value === undefined) {
216
- if (optional)
217
- return null;
218
- fail('LIVE_EVIDENCE_CONSENT_INVALID', 'The trusted local consent is unavailable.');
219
- }
220
- try {
221
- return await this.#assertExactConsent(binding, value);
222
- }
223
- catch (error) {
224
- if (optional && error instanceof ConnectorCredentialCustodyError)
225
- return null;
226
- throw error;
227
- }
228
- }
229
- async validatedConsent(binding) {
230
- const consent = await this.#loadExactConsent(binding);
231
- if (!consent)
232
- fail('LIVE_EVIDENCE_CONSENT_INVALID', 'The trusted local consent is unavailable.');
233
- return Object.freeze(structuredClone(consent.record));
234
- }
235
- async issueOwnerConfirmation(input) {
236
- const { binding } = input;
237
- const { record, consentHash, expiresAtMs } = await this.#assertExactConsent(binding, input.proposedConsentRecord);
238
- const docket = Object.freeze({
239
- kind: 'openplanr-live-evidence-owner-confirmation-docket',
240
- schemaVersion: '1.0.0',
241
- actorId: binding.actorId,
242
- consentRecordId: binding.consentRecordId,
243
- requestHash: binding.requestHash,
244
- logicalCredentialRef: binding.credentialRef,
245
- protocolDocket: deepFreeze(structuredClone(object(record.docket, 'Consent protocol docket'))),
246
- protocolDocketHash: binding.protocolDocketHash,
247
- effect: 'provider-call',
248
- authorityBoundary: 'confirmation-is-not-credential-authority',
249
- choices: Object.freeze(['approve', 'cancel']),
250
- defaultChoice: null,
251
- cancelEffect: 'none',
252
- expiresAt: new Date(Math.min(expiresAtMs, this.#now() + this.#ttlMs)).toISOString(),
253
- });
254
- const decision = await this.#confirmOwner(docket);
255
- if (decision.approved !== true || decision.actorId !== binding.actorId) {
256
- fail('LIVE_EVIDENCE_OWNER_CONFIRMATION_INVALID', 'Owner confirmation was declined or mismatched.');
257
- }
258
- const handle = createOpaqueHandle('Owner confirmation');
259
- this.#ownerConfirmations.set(handle, {
260
- bindingHash: capabilityBindingHash(binding),
261
- consentHash,
262
- consentRecord: Object.freeze(structuredClone(record)),
263
- expiresAtMs: Math.min(expiresAtMs, this.#now() + this.#ttlMs),
264
- used: false,
265
- });
266
- return handle;
267
- }
268
- async issueCapability(input) {
269
- const { binding } = input;
270
- const bindingHash = capabilityBindingHash(binding);
271
- let consent = await this.#loadExactConsent(binding, true);
272
- if (!consent) {
273
- const confirmation = input.ownerConfirmation
274
- ? this.#ownerConfirmations.get(input.ownerConfirmation)
275
- : undefined;
276
- if (!confirmation) {
277
- fail('LIVE_EVIDENCE_OWNER_CONFIRMATION_REQUIRED', 'A one-shot owner confirmation is required.');
278
- }
279
- if (confirmation.used ||
280
- confirmation.bindingHash !== bindingHash ||
281
- confirmation.expiresAtMs <= this.#now()) {
282
- fail('LIVE_EVIDENCE_OWNER_CONFIRMATION_INVALID', 'Owner confirmation is expired, replayed, or foreign.');
283
- }
284
- confirmation.used = true;
285
- await this.#persistConsentRecord(Object.freeze(structuredClone(confirmation.consentRecord)));
286
- consent = await this.#loadExactConsent(binding);
287
- if (!consent || consent.consentHash !== confirmation.consentHash) {
288
- fail('LIVE_EVIDENCE_CONSENT_INVALID', 'Persisted consent does not match the confirmed grant.');
289
- }
290
- }
291
- const { consentHash, expiresAtMs } = consent;
292
- const entropy = this.#entropy();
293
- if (!(entropy instanceof Uint8Array) || entropy.byteLength < 32) {
294
- fail('LIVE_EVIDENCE_CREDENTIAL_CONFIG_INVALID', 'Credential capability entropy is invalid.');
295
- }
296
- const capability = createOpaqueHandle('Credential capability');
297
- this.#capabilities.set(capability, {
298
- bindingHash,
299
- capabilityHash: bytesHash(entropy),
300
- consentHash,
301
- expiresAtMs: Math.min(expiresAtMs, this.#now() + this.#ttlMs),
302
- used: false,
303
- });
304
- return capability;
305
- }
306
- capabilityHash(capability) {
307
- const state = this.#capabilities.get(capability);
308
- if (!state)
309
- fail('LIVE_EVIDENCE_CAPABILITY_INVALID', 'Credential capability is invalid.');
310
- return state.capabilityHash;
311
- }
312
- /** Stable, non-authoritative protocol custody for restart-safe checkpoint identity. */
313
- async protocolBindingHash(binding) {
314
- const consent = await this.#loadExactConsent(binding);
315
- if (!consent)
316
- fail('LIVE_EVIDENCE_CONSENT_INVALID', 'The trusted local consent is unavailable.');
317
- return sha256CanonicalJson({
318
- domain: 'openplanr-local-live-evidence-capability-binding-v2',
319
- authority: 'none',
320
- bindingHash: sha256CanonicalJson({
321
- actorId: binding.actorId,
322
- credentialRef: binding.credentialRef,
323
- consentRecordId: binding.consentRecordId,
324
- protocolDocketHash: binding.protocolDocketHash,
325
- provider: binding.provider,
326
- adapterVersion: binding.adapterVersion,
327
- accountIdentityHash: binding.accountIdentityHash,
328
- }),
329
- consentHash: consent.consentHash,
330
- });
331
- }
332
- async withResolvedCredential(capability, binding, use) {
333
- const state = this.#capabilities.get(capability);
334
- if (!state || state.bindingHash !== capabilityBindingHash(binding)) {
335
- fail('LIVE_EVIDENCE_CAPABILITY_INVALID', 'Credential capability is invalid or foreign.');
336
- }
337
- if (state.used) {
338
- fail('LIVE_EVIDENCE_CAPABILITY_REPLAYED', 'Credential capability has already been consumed.');
339
- }
340
- if (state.expiresAtMs <= this.#now()) {
341
- fail('LIVE_EVIDENCE_CAPABILITY_EXPIRED', 'Credential capability has expired.');
342
- }
343
- const consent = await this.#loadExactConsent(binding);
344
- if (!consent)
345
- fail('LIVE_EVIDENCE_CONSENT_INVALID', 'The trusted local consent is unavailable.');
346
- const { consentHash } = consent;
347
- if (consentHash !== state.consentHash) {
348
- fail('LIVE_EVIDENCE_CAPABILITY_INVALID', 'Credential capability no longer matches trusted consent.');
349
- }
350
- const local = this.#bindings.find((candidate) => matchesLocalBinding(candidate, binding));
351
- if (!local) {
352
- fail('LIVE_EVIDENCE_CREDENTIAL_UNAVAILABLE', 'No trusted local credential binding is available.');
353
- }
354
- state.used = true;
355
- let resolved;
356
- if (local.source.kind === 'environment-name') {
357
- resolved = this.#allowedEnvironmentNames.has(local.source.name)
358
- ? this.#readEnvironment(local.source.name)
359
- : undefined;
360
- }
361
- else {
362
- try {
363
- resolved = await this.#readKeychain(local.source.service, local.source.account);
364
- }
365
- catch (error) {
366
- const cause = credentialSourceError(error);
367
- if (cause.code === 'LIVE_EVIDENCE_KEYRING_UNAVAILABLE') {
368
- throw new ConnectorCredentialCustodyError('LIVE_EVIDENCE_CREDENTIAL_CUSTODY_UNAVAILABLE', `OS credential-store support is unavailable for logical credential reference "${binding.credentialRef}".`, cause.code);
369
- }
370
- throw new ConnectorCredentialCustodyError('LIVE_EVIDENCE_CREDENTIAL_READ_FAILED', `OS credential-store access failed for logical credential reference "${binding.credentialRef}".`, cause.code);
371
- }
372
- }
373
- if (!resolved || resolved.length === 0) {
374
- fail('LIVE_EVIDENCE_CREDENTIAL_UNAVAILABLE', `The trusted local credential "${binding.credentialRef}" is absent from its configured source.`);
375
- }
376
- const credential = typeof resolved === 'string'
377
- ? Buffer.from(resolved, 'utf8')
378
- : Buffer.from(resolved.buffer, resolved.byteOffset, resolved.byteLength);
379
- try {
380
- return await use(credential);
381
- }
382
- finally {
383
- credential.fill(0);
384
- }
385
- }
386
- }
387
- export function createConnectorCredentialCustodyV2(input) {
388
- return new ConnectorCredentialCustodyV2(input);
389
- }
390
- //# sourceMappingURL=credential-custody.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credential-custody.js","sourceRoot":"","sources":["../../../src/services/connectors/credential-custody.ts"],"names":[],"mappings":"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"}