@xemahq/contracts 0.80.0 → 0.82.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. package/README.md +16 -41
  2. package/dist/.source-stamp.json +2 -2
  3. package/dist/agent-workspace/index.d.ts +1 -0
  4. package/dist/agent-workspace/index.d.ts.map +1 -1
  5. package/dist/agent-workspace/index.js +1 -0
  6. package/dist/agent-workspace/index.js.map +1 -1
  7. package/dist/agent-workspace/lib/interactive-workspace-layout.d.ts +25 -0
  8. package/dist/agent-workspace/lib/interactive-workspace-layout.d.ts.map +1 -0
  9. package/dist/agent-workspace/lib/interactive-workspace-layout.js +72 -0
  10. package/dist/agent-workspace/lib/interactive-workspace-layout.js.map +1 -0
  11. package/dist/artifact-store/index.d.ts +3 -0
  12. package/dist/artifact-store/index.d.ts.map +1 -0
  13. package/dist/artifact-store/index.js +19 -0
  14. package/dist/artifact-store/index.js.map +1 -0
  15. package/dist/artifact-store/lib/artifact-store-errors.d.ts +14 -0
  16. package/dist/artifact-store/lib/artifact-store-errors.d.ts.map +1 -0
  17. package/dist/artifact-store/lib/artifact-store-errors.js +41 -0
  18. package/dist/artifact-store/lib/artifact-store-errors.js.map +1 -0
  19. package/dist/artifact-store/lib/artifact-versioning-mode.d.ts +6 -0
  20. package/dist/artifact-store/lib/artifact-versioning-mode.d.ts.map +1 -0
  21. package/dist/artifact-store/lib/artifact-versioning-mode.js +10 -0
  22. package/dist/artifact-store/lib/artifact-versioning-mode.js.map +1 -0
  23. package/dist/biome/lib/biome-component-requirements.d.ts.map +1 -1
  24. package/dist/biome/lib/biome-component-requirements.js.map +1 -1
  25. package/dist/biome/lib/biome-component.d.ts.map +1 -1
  26. package/dist/biome/lib/biome-component.js +16 -4
  27. package/dist/biome/lib/biome-component.js.map +1 -1
  28. package/dist/biome/lib/biome-generated-index.d.ts +18 -3
  29. package/dist/biome/lib/biome-generated-index.d.ts.map +1 -1
  30. package/dist/biome-dependency/index.d.ts +1 -0
  31. package/dist/biome-dependency/index.d.ts.map +1 -1
  32. package/dist/biome-dependency/index.js +1 -0
  33. package/dist/biome-dependency/index.js.map +1 -1
  34. package/dist/biome-dependency/lib/biome-dependency-contract.d.ts +13 -2
  35. package/dist/biome-dependency/lib/biome-dependency-contract.d.ts.map +1 -1
  36. package/dist/biome-dependency/lib/biome-dependency-contract.js +19 -2
  37. package/dist/biome-dependency/lib/biome-dependency-contract.js.map +1 -1
  38. package/dist/biome-dependency/lib/package-peer-facts.d.ts +125 -0
  39. package/dist/biome-dependency/lib/package-peer-facts.d.ts.map +1 -0
  40. package/dist/biome-dependency/lib/package-peer-facts.js +77 -0
  41. package/dist/biome-dependency/lib/package-peer-facts.js.map +1 -0
  42. package/dist/biome-dependency/lib/peer-seam-table.d.ts +3 -1
  43. package/dist/biome-dependency/lib/peer-seam-table.d.ts.map +1 -1
  44. package/dist/biome-dependency/lib/peer-seam-table.js +8 -15
  45. package/dist/biome-dependency/lib/peer-seam-table.js.map +1 -1
  46. package/dist/biome-dependency/lib/service-peer-contract.d.ts +1 -1
  47. package/dist/caller-context/index.d.ts +18 -0
  48. package/dist/caller-context/index.d.ts.map +1 -0
  49. package/dist/caller-context/index.js +34 -0
  50. package/dist/caller-context/index.js.map +1 -0
  51. package/dist/caller-context/lib/approval-mode.d.ts +9 -0
  52. package/dist/caller-context/lib/approval-mode.d.ts.map +1 -0
  53. package/dist/caller-context/lib/approval-mode.js +27 -0
  54. package/dist/caller-context/lib/approval-mode.js.map +1 -0
  55. package/dist/caller-context/lib/boundary-context-brand.d.ts +5 -0
  56. package/dist/caller-context/lib/boundary-context-brand.d.ts.map +1 -0
  57. package/dist/caller-context/lib/boundary-context-brand.js +17 -0
  58. package/dist/caller-context/lib/boundary-context-brand.js.map +1 -0
  59. package/dist/caller-context/lib/caller-context.d.ts +28 -0
  60. package/dist/caller-context/lib/caller-context.d.ts.map +1 -0
  61. package/dist/caller-context/lib/caller-context.js +53 -0
  62. package/dist/caller-context/lib/caller-context.js.map +1 -0
  63. package/dist/caller-context/lib/caller-org-scope.d.ts +4 -0
  64. package/dist/caller-context/lib/caller-org-scope.d.ts.map +1 -0
  65. package/dist/caller-context/lib/caller-org-scope.js +22 -0
  66. package/dist/caller-context/lib/caller-org-scope.js.map +1 -0
  67. package/dist/caller-context/lib/direct-service-actor.d.ts +3 -0
  68. package/dist/caller-context/lib/direct-service-actor.d.ts.map +1 -0
  69. package/dist/caller-context/lib/direct-service-actor.js +8 -0
  70. package/dist/caller-context/lib/direct-service-actor.js.map +1 -0
  71. package/dist/caller-context/lib/holds-org-authority.d.ts +10 -0
  72. package/dist/caller-context/lib/holds-org-authority.d.ts.map +1 -0
  73. package/dist/caller-context/lib/holds-org-authority.js +16 -0
  74. package/dist/caller-context/lib/holds-org-authority.js.map +1 -0
  75. package/dist/caller-context/lib/lent-capability.d.ts +11 -0
  76. package/dist/caller-context/lib/lent-capability.d.ts.map +1 -0
  77. package/dist/caller-context/lib/lent-capability.js +19 -0
  78. package/dist/caller-context/lib/lent-capability.js.map +1 -0
  79. package/dist/caller-context/lib/org-authority.d.ts +29 -0
  80. package/dist/caller-context/lib/org-authority.d.ts.map +1 -0
  81. package/dist/caller-context/lib/org-authority.js +84 -0
  82. package/dist/caller-context/lib/org-authority.js.map +1 -0
  83. package/dist/caller-context/lib/org-claim.d.ts +15 -0
  84. package/dist/caller-context/lib/org-claim.d.ts.map +1 -0
  85. package/dist/caller-context/lib/org-claim.js +29 -0
  86. package/dist/caller-context/lib/org-claim.js.map +1 -0
  87. package/dist/caller-context/lib/org-role.d.ts +8 -0
  88. package/dist/caller-context/lib/org-role.d.ts.map +1 -0
  89. package/dist/caller-context/lib/org-role.js +59 -0
  90. package/dist/caller-context/lib/org-role.js.map +1 -0
  91. package/dist/caller-context/lib/org-scope-mint.d.ts +22 -0
  92. package/dist/caller-context/lib/org-scope-mint.d.ts.map +1 -0
  93. package/dist/caller-context/lib/org-scope-mint.js +36 -0
  94. package/dist/caller-context/lib/org-scope-mint.js.map +1 -0
  95. package/dist/caller-context/lib/platform-sweep.d.ts +64 -0
  96. package/dist/caller-context/lib/platform-sweep.d.ts.map +1 -0
  97. package/dist/caller-context/lib/platform-sweep.js +124 -0
  98. package/dist/caller-context/lib/platform-sweep.js.map +1 -0
  99. package/dist/caller-context/lib/receiver-audience.d.ts +13 -0
  100. package/dist/caller-context/lib/receiver-audience.d.ts.map +1 -0
  101. package/dist/caller-context/lib/receiver-audience.js +36 -0
  102. package/dist/caller-context/lib/receiver-audience.js.map +1 -0
  103. package/dist/caller-context/lib/receiver-operation.d.ts +10 -0
  104. package/dist/caller-context/lib/receiver-operation.d.ts.map +1 -0
  105. package/dist/caller-context/lib/receiver-operation.js +22 -0
  106. package/dist/caller-context/lib/receiver-operation.js.map +1 -0
  107. package/dist/caller-context/lib/request-context.d.ts +49 -0
  108. package/dist/caller-context/lib/request-context.d.ts.map +1 -0
  109. package/dist/caller-context/lib/request-context.js +25 -0
  110. package/dist/caller-context/lib/request-context.js.map +1 -0
  111. package/dist/caller-context/lib/resolve-acting-user.d.ts +8 -0
  112. package/dist/caller-context/lib/resolve-acting-user.d.ts.map +1 -0
  113. package/dist/caller-context/lib/resolve-acting-user.js +44 -0
  114. package/dist/caller-context/lib/resolve-acting-user.js.map +1 -0
  115. package/dist/caller-context/lib/worker-context.d.ts +13 -0
  116. package/dist/caller-context/lib/worker-context.d.ts.map +1 -0
  117. package/dist/caller-context/lib/worker-context.js +9 -0
  118. package/dist/caller-context/lib/worker-context.js.map +1 -0
  119. package/dist/capability/index.d.ts +1 -0
  120. package/dist/capability/index.d.ts.map +1 -1
  121. package/dist/capability/index.js +1 -0
  122. package/dist/capability/index.js.map +1 -1
  123. package/dist/capability/lib/capability-contribution.d.ts +3 -0
  124. package/dist/capability/lib/capability-contribution.d.ts.map +1 -1
  125. package/dist/capability/lib/capability-contribution.js +2 -0
  126. package/dist/capability/lib/capability-contribution.js.map +1 -1
  127. package/dist/capability/lib/capability-descriptor-kind.d.ts +11 -0
  128. package/dist/capability/lib/capability-descriptor-kind.d.ts.map +1 -0
  129. package/dist/capability/lib/capability-descriptor-kind.js +31 -0
  130. package/dist/capability/lib/capability-descriptor-kind.js.map +1 -0
  131. package/dist/capability-projection/index.d.ts +1 -0
  132. package/dist/capability-projection/index.d.ts.map +1 -1
  133. package/dist/capability-projection/index.js +1 -0
  134. package/dist/capability-projection/index.js.map +1 -1
  135. package/dist/capability-projection/lib/capability-descriptor-kind-binding.d.ts +9 -0
  136. package/dist/capability-projection/lib/capability-descriptor-kind-binding.d.ts.map +1 -0
  137. package/dist/capability-projection/lib/capability-descriptor-kind-binding.js +16 -0
  138. package/dist/capability-projection/lib/capability-descriptor-kind-binding.js.map +1 -0
  139. package/dist/capability-projection/lib/capability-sync-manifest.d.ts.map +1 -1
  140. package/dist/capability-projection/lib/capability-sync-manifest.js +2 -1
  141. package/dist/capability-projection/lib/capability-sync-manifest.js.map +1 -1
  142. package/dist/capability-projection/lib/projected-capability.d.ts +1 -0
  143. package/dist/capability-projection/lib/projected-capability.d.ts.map +1 -1
  144. package/dist/capability-projection/lib/projected-capability.js +2 -1
  145. package/dist/capability-projection/lib/projected-capability.js.map +1 -1
  146. package/dist/connector/index.d.ts +3 -0
  147. package/dist/connector/index.d.ts.map +1 -1
  148. package/dist/connector/index.js +3 -0
  149. package/dist/connector/index.js.map +1 -1
  150. package/dist/connector/lib/adapter-key.enum.d.ts +11 -0
  151. package/dist/connector/lib/adapter-key.enum.d.ts.map +1 -0
  152. package/dist/connector/lib/adapter-key.enum.js +15 -0
  153. package/dist/connector/lib/adapter-key.enum.js.map +1 -0
  154. package/dist/connector/lib/routes.d.ts +3 -0
  155. package/dist/connector/lib/routes.d.ts.map +1 -0
  156. package/dist/connector/lib/routes.js +6 -0
  157. package/dist/connector/lib/routes.js.map +1 -0
  158. package/dist/connector/lib/webhook-entity-kind.enum.d.ts +13 -0
  159. package/dist/connector/lib/webhook-entity-kind.enum.d.ts.map +1 -0
  160. package/dist/connector/lib/webhook-entity-kind.enum.js +17 -0
  161. package/dist/connector/lib/webhook-entity-kind.enum.js.map +1 -0
  162. package/dist/deliverable-validation/index.d.ts +4 -0
  163. package/dist/deliverable-validation/index.d.ts.map +1 -0
  164. package/dist/deliverable-validation/index.js +20 -0
  165. package/dist/deliverable-validation/index.js.map +1 -0
  166. package/dist/deliverable-validation/lib/outcome.d.ts +30 -0
  167. package/dist/deliverable-validation/lib/outcome.d.ts.map +1 -0
  168. package/dist/deliverable-validation/lib/outcome.js +47 -0
  169. package/dist/deliverable-validation/lib/outcome.js.map +1 -0
  170. package/dist/deliverable-validation/lib/phase.d.ts +11 -0
  171. package/dist/deliverable-validation/lib/phase.d.ts.map +1 -0
  172. package/dist/deliverable-validation/lib/phase.js +29 -0
  173. package/dist/deliverable-validation/lib/phase.js.map +1 -0
  174. package/dist/deliverable-validation/lib/validator-declaration.d.ts +19 -0
  175. package/dist/deliverable-validation/lib/validator-declaration.d.ts.map +1 -0
  176. package/dist/deliverable-validation/lib/validator-declaration.js +37 -0
  177. package/dist/deliverable-validation/lib/validator-declaration.js.map +1 -0
  178. package/dist/deployment/lib/artifact-signer-trust.d.ts +1 -0
  179. package/dist/deployment/lib/artifact-signer-trust.d.ts.map +1 -1
  180. package/dist/deployment/lib/artifact-signer-trust.js +8 -7
  181. package/dist/deployment/lib/artifact-signer-trust.js.map +1 -1
  182. package/dist/distribution/index.d.ts +1 -0
  183. package/dist/distribution/index.d.ts.map +1 -1
  184. package/dist/distribution/index.js +1 -0
  185. package/dist/distribution/index.js.map +1 -1
  186. package/dist/distribution/lib/contract-required-service-targets.d.ts +3 -0
  187. package/dist/distribution/lib/contract-required-service-targets.d.ts.map +1 -0
  188. package/dist/distribution/lib/contract-required-service-targets.js +16 -0
  189. package/dist/distribution/lib/contract-required-service-targets.js.map +1 -0
  190. package/dist/distribution/lib/distribution-lock.d.ts +7 -0
  191. package/dist/distribution/lib/distribution-lock.d.ts.map +1 -1
  192. package/dist/distribution/lib/distribution-lock.js +55 -1
  193. package/dist/distribution/lib/distribution-lock.js.map +1 -1
  194. package/dist/distribution/lib/kernel-contract-source-paths.d.ts +1 -1
  195. package/dist/distribution/lib/kernel-contract-source-paths.d.ts.map +1 -1
  196. package/dist/distribution/lib/kernel-contract-source-paths.js +9 -0
  197. package/dist/distribution/lib/kernel-contract-source-paths.js.map +1 -1
  198. package/dist/edge-stream/index.d.ts +2 -0
  199. package/dist/edge-stream/index.d.ts.map +1 -0
  200. package/dist/edge-stream/index.js +18 -0
  201. package/dist/edge-stream/index.js.map +1 -0
  202. package/dist/edge-stream/lib/edge-budget.d.ts +5 -0
  203. package/dist/edge-stream/lib/edge-budget.d.ts.map +1 -0
  204. package/dist/edge-stream/lib/edge-budget.js +8 -0
  205. package/dist/edge-stream/lib/edge-budget.js.map +1 -0
  206. package/dist/edition-protocol/edition-contract.schema.json +1 -1
  207. package/dist/edition-protocol/edition-protocol.json +1 -1
  208. package/dist/edition-protocol/lib/edition-protocol.js +2 -2
  209. package/dist/exact-optional/index.d.ts +2 -0
  210. package/dist/exact-optional/index.d.ts.map +1 -0
  211. package/dist/exact-optional/index.js +18 -0
  212. package/dist/exact-optional/index.js.map +1 -0
  213. package/dist/exact-optional/lib/omit-undefined.d.ts +2 -0
  214. package/dist/exact-optional/lib/omit-undefined.d.ts.map +1 -0
  215. package/dist/exact-optional/lib/omit-undefined.js +9 -0
  216. package/dist/exact-optional/lib/omit-undefined.js.map +1 -0
  217. package/dist/generated-client/index.d.ts +2 -0
  218. package/dist/generated-client/index.d.ts.map +1 -0
  219. package/dist/generated-client/index.js +18 -0
  220. package/dist/generated-client/index.js.map +1 -0
  221. package/dist/generated-client/lib/orval-client-config.d.ts +34 -0
  222. package/dist/generated-client/lib/orval-client-config.d.ts.map +1 -0
  223. package/dist/generated-client/lib/orval-client-config.js +33 -0
  224. package/dist/generated-client/lib/orval-client-config.js.map +1 -0
  225. package/dist/growth/index.d.ts +4 -0
  226. package/dist/growth/index.d.ts.map +1 -0
  227. package/dist/growth/index.js +18 -0
  228. package/dist/growth/index.js.map +1 -0
  229. package/dist/growth/lib/growth-gate.d.ts +24 -0
  230. package/dist/growth/lib/growth-gate.d.ts.map +1 -0
  231. package/dist/growth/lib/growth-gate.js +46 -0
  232. package/dist/growth/lib/growth-gate.js.map +1 -0
  233. package/dist/growth/lib/member-shell-mode.d.ts +13 -0
  234. package/dist/growth/lib/member-shell-mode.d.ts.map +1 -0
  235. package/dist/growth/lib/member-shell-mode.js +9 -0
  236. package/dist/growth/lib/member-shell-mode.js.map +1 -0
  237. package/dist/growth/lib/org-growth-policy.d.ts +17 -0
  238. package/dist/growth/lib/org-growth-policy.d.ts.map +1 -0
  239. package/dist/growth/lib/org-growth-policy.js +24 -0
  240. package/dist/growth/lib/org-growth-policy.js.map +1 -0
  241. package/dist/http/index.d.ts +1 -0
  242. package/dist/http/index.d.ts.map +1 -1
  243. package/dist/http/index.js +1 -0
  244. package/dist/http/index.js.map +1 -1
  245. package/dist/http/lib/response-envelope.d.ts +2 -0
  246. package/dist/http/lib/response-envelope.d.ts.map +1 -0
  247. package/dist/http/lib/response-envelope.js +26 -0
  248. package/dist/http/lib/response-envelope.js.map +1 -0
  249. package/dist/idempotency/index.d.ts +2 -0
  250. package/dist/idempotency/index.d.ts.map +1 -1
  251. package/dist/idempotency/index.js +2 -0
  252. package/dist/idempotency/index.js.map +1 -1
  253. package/dist/idempotency/lib/idempotency.service.d.ts +24 -0
  254. package/dist/idempotency/lib/idempotency.service.d.ts.map +1 -0
  255. package/dist/idempotency/lib/idempotency.service.js +23 -0
  256. package/dist/idempotency/lib/idempotency.service.js.map +1 -0
  257. package/dist/idempotency/lib/idempotency.tokens.d.ts +2 -0
  258. package/dist/idempotency/lib/idempotency.tokens.d.ts.map +1 -0
  259. package/dist/idempotency/lib/idempotency.tokens.js +5 -0
  260. package/dist/idempotency/lib/idempotency.tokens.js.map +1 -0
  261. package/dist/knowledge-graph/index.d.ts +2 -0
  262. package/dist/knowledge-graph/index.d.ts.map +1 -0
  263. package/dist/knowledge-graph/index.js +18 -0
  264. package/dist/knowledge-graph/index.js.map +1 -0
  265. package/dist/knowledge-graph/lib/knowledge-graph-errors.d.ts +5 -0
  266. package/dist/knowledge-graph/lib/knowledge-graph-errors.d.ts.map +1 -0
  267. package/dist/knowledge-graph/lib/knowledge-graph-errors.js +17 -0
  268. package/dist/knowledge-graph/lib/knowledge-graph-errors.js.map +1 -0
  269. package/dist/llm-gateway/index.d.ts +1 -0
  270. package/dist/llm-gateway/index.d.ts.map +1 -1
  271. package/dist/llm-gateway/index.js +1 -0
  272. package/dist/llm-gateway/index.js.map +1 -1
  273. package/dist/llm-gateway/lib/llm-gateway.d.ts +19 -0
  274. package/dist/llm-gateway/lib/llm-gateway.d.ts.map +1 -0
  275. package/dist/llm-gateway/lib/llm-gateway.js +51 -0
  276. package/dist/llm-gateway/lib/llm-gateway.js.map +1 -0
  277. package/dist/llm-stream/index.d.ts +6 -0
  278. package/dist/llm-stream/index.d.ts.map +1 -0
  279. package/dist/llm-stream/index.js +22 -0
  280. package/dist/llm-stream/index.js.map +1 -0
  281. package/dist/llm-stream/lib/consume-stream.d.ts +14 -0
  282. package/dist/llm-stream/lib/consume-stream.d.ts.map +1 -0
  283. package/dist/llm-stream/lib/consume-stream.js +57 -0
  284. package/dist/llm-stream/lib/consume-stream.js.map +1 -0
  285. package/dist/llm-stream/lib/progress.d.ts +17 -0
  286. package/dist/llm-stream/lib/progress.d.ts.map +1 -0
  287. package/dist/llm-stream/lib/progress.js +12 -0
  288. package/dist/llm-stream/lib/progress.js.map +1 -0
  289. package/dist/llm-stream/lib/reasoning-field.d.ts +29 -0
  290. package/dist/llm-stream/lib/reasoning-field.d.ts.map +1 -0
  291. package/dist/llm-stream/lib/reasoning-field.js +45 -0
  292. package/dist/llm-stream/lib/reasoning-field.js.map +1 -0
  293. package/dist/llm-stream/lib/think-tag-stream-parser.d.ts +17 -0
  294. package/dist/llm-stream/lib/think-tag-stream-parser.d.ts.map +1 -0
  295. package/dist/llm-stream/lib/think-tag-stream-parser.js +90 -0
  296. package/dist/llm-stream/lib/think-tag-stream-parser.js.map +1 -0
  297. package/dist/llm-stream/lib/types.d.ts +56 -0
  298. package/dist/llm-stream/lib/types.d.ts.map +1 -0
  299. package/dist/llm-stream/lib/types.js +3 -0
  300. package/dist/llm-stream/lib/types.js.map +1 -0
  301. package/dist/mcp-tool/index.d.ts +1 -0
  302. package/dist/mcp-tool/index.d.ts.map +1 -1
  303. package/dist/mcp-tool/index.js +1 -0
  304. package/dist/mcp-tool/index.js.map +1 -1
  305. package/dist/mcp-tool/lib/mcp-response-projection.d.ts +9 -0
  306. package/dist/mcp-tool/lib/mcp-response-projection.d.ts.map +1 -0
  307. package/dist/mcp-tool/lib/mcp-response-projection.js +57 -0
  308. package/dist/mcp-tool/lib/mcp-response-projection.js.map +1 -0
  309. package/dist/output/index.d.ts +1 -0
  310. package/dist/output/index.d.ts.map +1 -1
  311. package/dist/output/index.js +1 -0
  312. package/dist/output/index.js.map +1 -1
  313. package/dist/output/lib/deliverable-output-contract.d.ts +146 -0
  314. package/dist/output/lib/deliverable-output-contract.d.ts.map +1 -0
  315. package/dist/output/lib/deliverable-output-contract.js +162 -0
  316. package/dist/output/lib/deliverable-output-contract.js.map +1 -0
  317. package/dist/project-manifest/index.d.ts +4 -0
  318. package/dist/project-manifest/index.d.ts.map +1 -0
  319. package/dist/project-manifest/index.js +20 -0
  320. package/dist/project-manifest/index.js.map +1 -0
  321. package/dist/project-manifest/lib/manifest.enums.d.ts +55 -0
  322. package/dist/project-manifest/lib/manifest.enums.d.ts.map +1 -0
  323. package/dist/project-manifest/lib/manifest.enums.js +278 -0
  324. package/dist/project-manifest/lib/manifest.enums.js.map +1 -0
  325. package/dist/project-manifest/lib/manifest.types.d.ts +146 -0
  326. package/dist/project-manifest/lib/manifest.types.d.ts.map +1 -0
  327. package/dist/project-manifest/lib/manifest.types.js +54 -0
  328. package/dist/project-manifest/lib/manifest.types.js.map +1 -0
  329. package/dist/project-manifest/lib/manifest.validation.d.ts +17 -0
  330. package/dist/project-manifest/lib/manifest.validation.d.ts.map +1 -0
  331. package/dist/project-manifest/lib/manifest.validation.js +353 -0
  332. package/dist/project-manifest/lib/manifest.validation.js.map +1 -0
  333. package/dist/redaction/index.d.ts +4 -0
  334. package/dist/redaction/index.d.ts.map +1 -0
  335. package/dist/redaction/index.js +21 -0
  336. package/dist/redaction/index.js.map +1 -0
  337. package/dist/redaction/lib/default-rules.d.ts +3 -0
  338. package/dist/redaction/lib/default-rules.d.ts.map +1 -0
  339. package/dist/redaction/lib/default-rules.js +78 -0
  340. package/dist/redaction/lib/default-rules.js.map +1 -0
  341. package/dist/redaction/lib/problem-extensions.d.ts +24 -0
  342. package/dist/redaction/lib/problem-extensions.d.ts.map +1 -0
  343. package/dist/redaction/lib/problem-extensions.js +139 -0
  344. package/dist/redaction/lib/problem-extensions.js.map +1 -0
  345. package/dist/redaction/lib/redaction-rule.d.ts +8 -0
  346. package/dist/redaction/lib/redaction-rule.d.ts.map +1 -0
  347. package/dist/redaction/lib/redaction-rule.js +3 -0
  348. package/dist/redaction/lib/redaction-rule.js.map +1 -0
  349. package/dist/session-events/index.d.ts +4 -0
  350. package/dist/session-events/index.d.ts.map +1 -0
  351. package/dist/session-events/index.js +20 -0
  352. package/dist/session-events/index.js.map +1 -0
  353. package/dist/session-events/lib/agent-session.types.d.ts +166 -0
  354. package/dist/session-events/lib/agent-session.types.d.ts.map +1 -0
  355. package/dist/session-events/lib/agent-session.types.js +146 -0
  356. package/dist/session-events/lib/agent-session.types.js.map +1 -0
  357. package/dist/session-events/lib/safe-truncate.d.ts +2 -0
  358. package/dist/session-events/lib/safe-truncate.d.ts.map +1 -0
  359. package/dist/session-events/lib/safe-truncate.js +15 -0
  360. package/dist/session-events/lib/safe-truncate.js.map +1 -0
  361. package/dist/session-events/lib/session-event-payloads/actor.d.ts +12 -0
  362. package/dist/session-events/lib/session-event-payloads/actor.d.ts.map +1 -0
  363. package/dist/session-events/lib/session-event-payloads/actor.js +9 -0
  364. package/dist/session-events/lib/session-event-payloads/actor.js.map +1 -0
  365. package/dist/session-events/lib/session-event-payloads/assistant-message-metadata.d.ts +25 -0
  366. package/dist/session-events/lib/session-event-payloads/assistant-message-metadata.d.ts.map +1 -0
  367. package/dist/session-events/lib/session-event-payloads/assistant-message-metadata.js +26 -0
  368. package/dist/session-events/lib/session-event-payloads/assistant-message-metadata.js.map +1 -0
  369. package/dist/session-events/lib/session-event-payloads/delta-ledger-policy.d.ts +11 -0
  370. package/dist/session-events/lib/session-event-payloads/delta-ledger-policy.d.ts.map +1 -0
  371. package/dist/session-events/lib/session-event-payloads/delta-ledger-policy.js +43 -0
  372. package/dist/session-events/lib/session-event-payloads/delta-ledger-policy.js.map +1 -0
  373. package/dist/session-events/lib/session-event-payloads/error-codes.d.ts +41 -0
  374. package/dist/session-events/lib/session-event-payloads/error-codes.d.ts.map +1 -0
  375. package/dist/session-events/lib/session-event-payloads/error-codes.js +83 -0
  376. package/dist/session-events/lib/session-event-payloads/error-codes.js.map +1 -0
  377. package/dist/session-events/lib/session-event-payloads/index.d.ts +8 -0
  378. package/dist/session-events/lib/session-event-payloads/index.d.ts.map +1 -0
  379. package/dist/session-events/lib/session-event-payloads/index.js +24 -0
  380. package/dist/session-events/lib/session-event-payloads/index.js.map +1 -0
  381. package/dist/session-events/lib/session-event-payloads/payloads.d.ts +140 -0
  382. package/dist/session-events/lib/session-event-payloads/payloads.d.ts.map +1 -0
  383. package/dist/session-events/lib/session-event-payloads/payloads.js +148 -0
  384. package/dist/session-events/lib/session-event-payloads/payloads.js.map +1 -0
  385. package/dist/session-events/lib/session-event-payloads/tool-call-enums.d.ts +11 -0
  386. package/dist/session-events/lib/session-event-payloads/tool-call-enums.d.ts.map +1 -0
  387. package/dist/session-events/lib/session-event-payloads/tool-call-enums.js +16 -0
  388. package/dist/session-events/lib/session-event-payloads/tool-call-enums.js.map +1 -0
  389. package/dist/session-events/lib/session-event-payloads/validation.d.ts +86 -0
  390. package/dist/session-events/lib/session-event-payloads/validation.d.ts.map +1 -0
  391. package/dist/session-events/lib/session-event-payloads/validation.js +221 -0
  392. package/dist/session-events/lib/session-event-payloads/validation.js.map +1 -0
  393. package/dist/untrusted-content/index.d.ts +4 -0
  394. package/dist/untrusted-content/index.d.ts.map +1 -0
  395. package/dist/untrusted-content/index.js +20 -0
  396. package/dist/untrusted-content/index.js.map +1 -0
  397. package/dist/untrusted-content/lib/fence.d.ts +30 -0
  398. package/dist/untrusted-content/lib/fence.d.ts.map +1 -0
  399. package/dist/untrusted-content/lib/fence.js +94 -0
  400. package/dist/untrusted-content/lib/fence.js.map +1 -0
  401. package/dist/untrusted-content/lib/notice.d.ts +3 -0
  402. package/dist/untrusted-content/lib/notice.d.ts.map +1 -0
  403. package/dist/untrusted-content/lib/notice.js +11 -0
  404. package/dist/untrusted-content/lib/notice.js.map +1 -0
  405. package/dist/untrusted-content/lib/origin.d.ts +9 -0
  406. package/dist/untrusted-content/lib/origin.d.ts.map +1 -0
  407. package/dist/untrusted-content/lib/origin.js +13 -0
  408. package/dist/untrusted-content/lib/origin.js.map +1 -0
  409. package/dist/webapp-studio/index.d.ts +2 -0
  410. package/dist/webapp-studio/index.d.ts.map +1 -0
  411. package/dist/webapp-studio/index.js +18 -0
  412. package/dist/webapp-studio/index.js.map +1 -0
  413. package/dist/webapp-studio/lib/webapp-studio.d.ts +20 -0
  414. package/dist/webapp-studio/lib/webapp-studio.d.ts.map +1 -0
  415. package/dist/webapp-studio/lib/webapp-studio.js +27 -0
  416. package/dist/webapp-studio/lib/webapp-studio.js.map +1 -0
  417. package/dist/widget/lib/chat-widget-kind.d.ts.map +1 -1
  418. package/dist/widget/lib/chat-widget-kind.js.map +1 -1
  419. package/dist/worker-runtime/lib/enums.d.ts +4 -1
  420. package/dist/worker-runtime/lib/enums.d.ts.map +1 -1
  421. package/dist/worker-runtime/lib/enums.js +3 -0
  422. package/dist/worker-runtime/lib/enums.js.map +1 -1
  423. package/package.json +3 -3
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ThinkTagStreamParser = exports.UnterminatedThinkBlockError = void 0;
4
+ exports.splitThinkTaggedContent = splitThinkTaggedContent;
5
+ const OPEN_TAG = '<think>';
6
+ const CLOSE_TAG = '</think>';
7
+ class UnterminatedThinkBlockError extends Error {
8
+ constructor() {
9
+ super('LLM stream ended before the closing </think> tag.');
10
+ this.name = 'UnterminatedThinkBlockError';
11
+ }
12
+ }
13
+ exports.UnterminatedThinkBlockError = UnterminatedThinkBlockError;
14
+ class ThinkTagStreamParser {
15
+ mode = 'content';
16
+ pending = '';
17
+ finished = false;
18
+ push(chunk) {
19
+ if (this.finished) {
20
+ throw new Error('Cannot push content after ThinkTagStreamParser.finish().');
21
+ }
22
+ this.pending += chunk;
23
+ return this.drain(false);
24
+ }
25
+ finish() {
26
+ if (this.finished) {
27
+ throw new Error('ThinkTagStreamParser.finish() may only be called once.');
28
+ }
29
+ this.finished = true;
30
+ if (this.mode === 'reasoning') {
31
+ throw new UnterminatedThinkBlockError();
32
+ }
33
+ return this.drain(true);
34
+ }
35
+ drain(flushAll) {
36
+ let content = '';
37
+ let reasoning = '';
38
+ while (this.pending.length > 0) {
39
+ const delimiter = this.mode === 'content' ? OPEN_TAG : CLOSE_TAG;
40
+ const delimiterIndex = this.pending.toLowerCase().indexOf(delimiter);
41
+ if (delimiterIndex >= 0) {
42
+ const text = this.pending.slice(0, delimiterIndex);
43
+ if (this.mode === 'content') {
44
+ content += text;
45
+ }
46
+ else {
47
+ reasoning += text;
48
+ }
49
+ this.pending = this.pending.slice(delimiterIndex + delimiter.length);
50
+ this.mode = this.mode === 'content' ? 'reasoning' : 'content';
51
+ continue;
52
+ }
53
+ const retainedLength = flushAll
54
+ ? 0
55
+ : longestDelimiterPrefixSuffix(this.pending, delimiter);
56
+ const emittedLength = this.pending.length - retainedLength;
57
+ const text = this.pending.slice(0, emittedLength);
58
+ if (this.mode === 'content') {
59
+ content += text;
60
+ }
61
+ else {
62
+ reasoning += text;
63
+ }
64
+ this.pending = this.pending.slice(emittedLength);
65
+ break;
66
+ }
67
+ return { content, reasoning };
68
+ }
69
+ }
70
+ exports.ThinkTagStreamParser = ThinkTagStreamParser;
71
+ function longestDelimiterPrefixSuffix(value, delimiter) {
72
+ const lowerValue = value.toLowerCase();
73
+ const max = Math.min(lowerValue.length, delimiter.length - 1);
74
+ for (let length = max; length > 0; length -= 1) {
75
+ if (lowerValue.endsWith(delimiter.slice(0, length))) {
76
+ return length;
77
+ }
78
+ }
79
+ return 0;
80
+ }
81
+ function splitThinkTaggedContent(content) {
82
+ const parser = new ThinkTagStreamParser();
83
+ const first = parser.push(content);
84
+ const final = parser.finish();
85
+ return {
86
+ content: first.content + final.content,
87
+ reasoning: first.reasoning + final.reasoning,
88
+ };
89
+ }
90
+ //# sourceMappingURL=think-tag-stream-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"think-tag-stream-parser.js","sourceRoot":"","sources":["../../../src/llm-stream/lib/think-tag-stream-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import type { ReasoningBearingMessage } from './reasoning-field';
2
+ export type ChatMessageRole = 'system' | 'user' | 'assistant' | 'tool';
3
+ export interface ChatMessage extends ReasoningBearingMessage {
4
+ role: ChatMessageRole;
5
+ content: string | null;
6
+ tool_calls?: AssistantToolCall[];
7
+ tool_call_id?: string;
8
+ }
9
+ export interface ToolDefinition {
10
+ type: 'function';
11
+ function: {
12
+ name: string;
13
+ description: string;
14
+ parameters: {
15
+ type: 'object';
16
+ properties: Record<string, unknown>;
17
+ required?: string[];
18
+ };
19
+ };
20
+ }
21
+ export interface AssistantToolCall {
22
+ id: string;
23
+ type: 'function';
24
+ function: {
25
+ name: string;
26
+ arguments: string;
27
+ };
28
+ }
29
+ export interface StreamDelta {
30
+ id?: string;
31
+ choices?: Array<{
32
+ index?: number;
33
+ delta?: StreamDeltaBody;
34
+ finish_reason?: string | null;
35
+ }>;
36
+ }
37
+ export interface StreamDeltaBody extends ReasoningBearingMessage {
38
+ role?: ChatMessageRole;
39
+ content?: string;
40
+ tool_calls?: Array<{
41
+ index: number;
42
+ id?: string;
43
+ type?: 'function';
44
+ function?: {
45
+ name?: string;
46
+ arguments?: string;
47
+ };
48
+ }>;
49
+ }
50
+ export interface ConsumedStream {
51
+ content: string;
52
+ reasoning: string;
53
+ toolCalls: AssistantToolCall[];
54
+ finishReason: string | null;
55
+ }
56
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/llm-stream/lib/types.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAKjE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;AAGvE,MAAM,WAAW,WAAY,SAAQ,uBAAuB;IAC1D,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAEjC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ,CAAC;YACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;SACrB,CAAC;KACH,CAAC;CACH;AAGD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAcD,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,eAAe,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,CAAC,CAAC;CACJ;AAUD,MAAM,WAAW,eAAgB,SAAQ,uBAAuB;IAC9D,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,QAAQ,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAClD,CAAC,CAAC;CACJ;AAQD,MAAM,WAAW,cAAc;IAE7B,OAAO,EAAE,MAAM,CAAC;IAEhB,SAAS,EAAE,MAAM,CAAC;IAElB,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAE/B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/llm-stream/lib/types.ts"],"names":[],"mappings":""}
@@ -4,4 +4,5 @@ export * from './lib/provider-kind';
4
4
  export * from './lib/resolver-scope';
5
5
  export * from './lib/tool-provider';
6
6
  export * from './lib/tool-selection';
7
+ export * from './lib/mcp-response-projection';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp-tool/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp-tool/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC"}
@@ -20,4 +20,5 @@ __exportStar(require("./lib/provider-kind"), exports);
20
20
  __exportStar(require("./lib/resolver-scope"), exports);
21
21
  __exportStar(require("./lib/tool-provider"), exports);
22
22
  __exportStar(require("./lib/tool-selection"), exports);
23
+ __exportStar(require("./lib/mcp-response-projection"), exports);
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp-tool/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,0DAAwC;AACxC,sDAAoC;AACpC,uDAAqC;AACrC,sDAAoC;AACpC,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp-tool/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,0DAAwC;AACxC,sDAAoC;AACpC,uDAAqC;AACrC,sDAAoC;AACpC,uDAAqC;AACrC,gEAA8C"}
@@ -0,0 +1,9 @@
1
+ export interface McpProjectionOptions {
2
+ maxItems?: number;
3
+ maxChars?: number;
4
+ excludeFields?: string[];
5
+ maxDepth?: number;
6
+ maxStringLength?: number;
7
+ }
8
+ export declare function projectMcpResponse(data: unknown, options?: McpProjectionOptions): string;
9
+ //# sourceMappingURL=mcp-response-projection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-response-projection.d.ts","sourceRoot":"","sources":["../../../src/mcp-tool/lib/mcp-response-projection.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,oBAAoB;IAEnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAGzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAoBD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,CAgBR"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.projectMcpResponse = projectMcpResponse;
4
+ const DEFAULT_OPTIONS = {
5
+ maxItems: 50,
6
+ maxChars: 16_000,
7
+ maxDepth: 3,
8
+ maxStringLength: 500,
9
+ excludeFields: [],
10
+ };
11
+ function projectMcpResponse(data, options) {
12
+ const opts = { ...DEFAULT_OPTIONS, ...options };
13
+ const projected = projectValue(data, opts, 0);
14
+ const json = JSON.stringify(projected, null, 2);
15
+ if (json.length <= opts.maxChars) {
16
+ return json;
17
+ }
18
+ const truncated = json.slice(0, opts.maxChars);
19
+ const lastNewline = truncated.lastIndexOf('\n');
20
+ return ((lastNewline > 0 ? truncated.slice(0, lastNewline) : truncated) +
21
+ '\n... [response truncated]');
22
+ }
23
+ function projectValue(value, opts, depth) {
24
+ if (value === null || value === undefined)
25
+ return value;
26
+ if (typeof value === 'string') {
27
+ if (value.length > opts.maxStringLength) {
28
+ return value.slice(0, opts.maxStringLength) + '...';
29
+ }
30
+ return value;
31
+ }
32
+ if (typeof value === 'number' || typeof value === 'boolean')
33
+ return value;
34
+ if (Array.isArray(value)) {
35
+ const items = value.slice(0, opts.maxItems);
36
+ const projected = items.map((item) => projectValue(item, opts, depth + 1));
37
+ if (value.length > opts.maxItems) {
38
+ projected.push(`... and ${value.length - opts.maxItems} more items`);
39
+ }
40
+ return projected;
41
+ }
42
+ if (typeof value === 'object') {
43
+ if (depth >= opts.maxDepth) {
44
+ return '[nested object]';
45
+ }
46
+ const result = {};
47
+ const excludeSet = new Set(opts.excludeFields);
48
+ for (const [key, val] of Object.entries(value)) {
49
+ if (excludeSet.has(key))
50
+ continue;
51
+ result[key] = projectValue(val, opts, depth + 1);
52
+ }
53
+ return result;
54
+ }
55
+ return String(value);
56
+ }
57
+ //# sourceMappingURL=mcp-response-projection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-response-projection.js","sourceRoot":"","sources":["../../../src/mcp-tool/lib/mcp-response-projection.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,5 @@ export * from './lib/output-deliverable-expectation';
5
5
  export * from './lib/output-version-dto';
6
6
  export * from './lib/output-item-dto';
7
7
  export * from './lib/payload-schemas';
8
+ export * from './lib/deliverable-output-contract';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":"AAcA,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sCAAsC,CAAC;AACrD,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":"AAcA,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sCAAsC,CAAC;AACrD,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mCAAmC,CAAC"}
@@ -21,4 +21,5 @@ __exportStar(require("./lib/output-deliverable-expectation"), exports);
21
21
  __exportStar(require("./lib/output-version-dto"), exports);
22
22
  __exportStar(require("./lib/output-item-dto"), exports);
23
23
  __exportStar(require("./lib/payload-schemas"), exports);
24
+ __exportStar(require("./lib/deliverable-output-contract"), exports);
24
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAcA,oDAAkC;AAClC,2DAAyC;AACzC,2DAAyC;AACzC,uEAAqD;AACrD,2DAAyC;AACzC,wDAAsC;AACtC,wDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAcA,oDAAkC;AAClC,2DAAyC;AACzC,2DAAyC;AACzC,uEAAqD;AACrD,2DAAyC;AACzC,wDAAsC;AACtC,wDAAsC;AACtC,oEAAkD"}
@@ -0,0 +1,146 @@
1
+ import { z } from 'zod';
2
+ export declare const DeliverableContentKind: {
3
+ readonly Json: "json";
4
+ readonly Markdown: "markdown";
5
+ readonly Text: "text";
6
+ };
7
+ export type DeliverableContentKindValue = (typeof DeliverableContentKind)[keyof typeof DeliverableContentKind];
8
+ declare const NamedFileEntrySchema: z.ZodObject<{
9
+ fallbackPaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
10
+ required: z.ZodBoolean;
11
+ purpose: z.ZodString;
12
+ contentKind: z.ZodEnum<{
13
+ markdown: "markdown";
14
+ json: "json";
15
+ text: "text";
16
+ }>;
17
+ schemaRef: z.ZodOptional<z.ZodString>;
18
+ canonicalPath: z.ZodString;
19
+ }, z.core.$strict>;
20
+ declare const PatternFileEntrySchema: z.ZodObject<{
21
+ required: z.ZodBoolean;
22
+ purpose: z.ZodString;
23
+ contentKind: z.ZodEnum<{
24
+ markdown: "markdown";
25
+ json: "json";
26
+ text: "text";
27
+ }>;
28
+ schemaRef: z.ZodOptional<z.ZodString>;
29
+ pathPattern: z.ZodString;
30
+ min: z.ZodNumber;
31
+ max: z.ZodNumber;
32
+ }, z.core.$strict>;
33
+ declare const FileEntrySchema: z.ZodUnion<readonly [z.ZodObject<{
34
+ fallbackPaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
35
+ required: z.ZodBoolean;
36
+ purpose: z.ZodString;
37
+ contentKind: z.ZodEnum<{
38
+ markdown: "markdown";
39
+ json: "json";
40
+ text: "text";
41
+ }>;
42
+ schemaRef: z.ZodOptional<z.ZodString>;
43
+ canonicalPath: z.ZodString;
44
+ }, z.core.$strict>, z.ZodObject<{
45
+ required: z.ZodBoolean;
46
+ purpose: z.ZodString;
47
+ contentKind: z.ZodEnum<{
48
+ markdown: "markdown";
49
+ json: "json";
50
+ text: "text";
51
+ }>;
52
+ schemaRef: z.ZodOptional<z.ZodString>;
53
+ pathPattern: z.ZodString;
54
+ min: z.ZodNumber;
55
+ max: z.ZodNumber;
56
+ }, z.core.$strict>]>;
57
+ declare const MultiPageSchema: z.ZodObject<{
58
+ manifestPath: z.ZodString;
59
+ pagePathTemplate: z.ZodString;
60
+ pages: z.ZodArray<z.ZodObject<{
61
+ slug: z.ZodString;
62
+ title: z.ZodString;
63
+ }, z.core.$strict>>;
64
+ }, z.core.$strict>;
65
+ export declare const DeliverableOutputContractMode: {
66
+ readonly WorkspaceFiles: "workspace-files";
67
+ readonly ResponseOnly: "response-only";
68
+ readonly EndpointFetch: "endpoint-fetch";
69
+ readonly NoOutput: "no-output";
70
+ };
71
+ export type DeliverableOutputContractModeValue = (typeof DeliverableOutputContractMode)[keyof typeof DeliverableOutputContractMode];
72
+ export declare const DeliverableTargetSlotKind: {
73
+ readonly Deliverables: "deliverables";
74
+ readonly Repos: "repos";
75
+ };
76
+ export type DeliverableTargetSlotKindValue = (typeof DeliverableTargetSlotKind)[keyof typeof DeliverableTargetSlotKind];
77
+ declare const TargetSlotDescriptorSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
78
+ kind: z.ZodLiteral<"deliverables">;
79
+ }, z.core.$strict>, z.ZodObject<{
80
+ kind: z.ZodLiteral<"repos">;
81
+ repoSlug: z.ZodString;
82
+ }, z.core.$strict>], "kind">;
83
+ export declare const DeliverableOutputContractSchema: z.ZodObject<{
84
+ title: z.ZodString;
85
+ mode: z.ZodEnum<{
86
+ "workspace-files": "workspace-files";
87
+ "response-only": "response-only";
88
+ "endpoint-fetch": "endpoint-fetch";
89
+ "no-output": "no-output";
90
+ }>;
91
+ targetSlot: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
92
+ kind: z.ZodLiteral<"deliverables">;
93
+ }, z.core.$strict>, z.ZodObject<{
94
+ kind: z.ZodLiteral<"repos">;
95
+ repoSlug: z.ZodString;
96
+ }, z.core.$strict>], "kind">>;
97
+ files: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
98
+ fallbackPaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
99
+ required: z.ZodBoolean;
100
+ purpose: z.ZodString;
101
+ contentKind: z.ZodEnum<{
102
+ markdown: "markdown";
103
+ json: "json";
104
+ text: "text";
105
+ }>;
106
+ schemaRef: z.ZodOptional<z.ZodString>;
107
+ canonicalPath: z.ZodString;
108
+ }, z.core.$strict>, z.ZodObject<{
109
+ required: z.ZodBoolean;
110
+ purpose: z.ZodString;
111
+ contentKind: z.ZodEnum<{
112
+ markdown: "markdown";
113
+ json: "json";
114
+ text: "text";
115
+ }>;
116
+ schemaRef: z.ZodOptional<z.ZodString>;
117
+ pathPattern: z.ZodString;
118
+ min: z.ZodNumber;
119
+ max: z.ZodNumber;
120
+ }, z.core.$strict>]>>>;
121
+ multiPage: z.ZodOptional<z.ZodObject<{
122
+ manifestPath: z.ZodString;
123
+ pagePathTemplate: z.ZodString;
124
+ pages: z.ZodArray<z.ZodObject<{
125
+ slug: z.ZodString;
126
+ title: z.ZodString;
127
+ }, z.core.$strict>>;
128
+ }, z.core.$strict>>;
129
+ validators: z.ZodOptional<z.ZodArray<z.ZodObject<{
130
+ capability: z.ZodType<import("../../capability").CapabilityRef, unknown, z.core.$ZodTypeInternals<import("../../capability").CapabilityRef, unknown>>;
131
+ phase: z.ZodEnum<typeof import("@xemahq/contracts/deliverable-validation").DeliverableValidationPhase>;
132
+ mode: z.ZodEnum<typeof import("@xemahq/contracts/deliverable-validation").DeliverableValidatorMode>;
133
+ requiredForCompletion: z.ZodOptional<z.ZodBoolean>;
134
+ repair: z.ZodOptional<z.ZodEnum<typeof import("@xemahq/contracts/deliverable-validation").DeliverableValidatorRepair>>;
135
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
136
+ }, z.core.$strict>>>;
137
+ notes: z.ZodOptional<z.ZodString>;
138
+ }, z.core.$strict>;
139
+ export type DeliverableOutputContract = z.infer<typeof DeliverableOutputContractSchema>;
140
+ export type DeliverableOutputContractFile = z.infer<typeof FileEntrySchema>;
141
+ export type DeliverableOutputContractNamedFile = z.infer<typeof NamedFileEntrySchema>;
142
+ export type DeliverableOutputContractPatternFile = z.infer<typeof PatternFileEntrySchema>;
143
+ export type DeliverableOutputContractMultiPage = z.infer<typeof MultiPageSchema>;
144
+ export type DeliverableTargetSlotDescriptor = z.infer<typeof TargetSlotDescriptorSchema>;
145
+ export {};
146
+ //# sourceMappingURL=deliverable-output-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deliverable-output-contract.d.ts","sourceRoot":"","sources":["../../../src/output/lib/deliverable-output-contract.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,sBAAsB;;;;CAIzB,CAAC;AAEX,MAAM,MAAM,2BAA2B,GACrC,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAC;AAgBvE,QAAA,MAAM,oBAAoB;;;;;;;;;;;kBASf,CAAC;AAMZ,QAAA,MAAM,sBAAsB;;;;;;;;;;;;kBAkBxB,CAAC;AAEL,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;oBAA0D,CAAC;AAEhF,QAAA,MAAM,eAAe;;;;;;;kBAkBV,CAAC;AAEZ,eAAO,MAAM,6BAA6B;;;;;CAKhC,CAAC;AAEX,MAAM,MAAM,kCAAkC,GAC5C,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,OAAO,6BAA6B,CAAC,CAAC;AAcrF,eAAO,MAAM,yBAAyB;;;CAG5B,CAAC;AAEX,MAAM,MAAM,8BAA8B,GACxC,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,OAAO,yBAAyB,CAAC,CAAC;AAI7E,QAAA,MAAM,0BAA0B;;;;;4BAkB9B,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkExC,CAAC;AAEL,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC5E,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACtF,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC1F,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACjF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeliverableOutputContractSchema = exports.DeliverableTargetSlotKind = exports.DeliverableOutputContractMode = exports.DeliverableContentKind = void 0;
4
+ const deliverable_validation_1 = require("@xemahq/contracts/deliverable-validation");
5
+ const zod_1 = require("zod");
6
+ const SAFE_PATH_PATTERN = /^[a-zA-Z0-9._\-/]+$/;
7
+ exports.DeliverableContentKind = {
8
+ Json: 'json',
9
+ Markdown: 'markdown',
10
+ Text: 'text',
11
+ };
12
+ const FILE_ENTRY_COMMON = {
13
+ required: zod_1.z.boolean(),
14
+ purpose: zod_1.z.string().min(1),
15
+ contentKind: zod_1.z.enum([
16
+ exports.DeliverableContentKind.Json,
17
+ exports.DeliverableContentKind.Markdown,
18
+ exports.DeliverableContentKind.Text,
19
+ ]),
20
+ schemaRef: zod_1.z.string().min(1).optional(),
21
+ };
22
+ const SAFE_GLOB_PATTERN = /^[a-zA-Z0-9._\-/*]+$/;
23
+ const NamedFileEntrySchema = zod_1.z
24
+ .object({
25
+ canonicalPath: zod_1.z
26
+ .string()
27
+ .min(1)
28
+ .regex(SAFE_PATH_PATTERN, 'canonicalPath must use [a-zA-Z0-9._-/] only'),
29
+ ...FILE_ENTRY_COMMON,
30
+ fallbackPaths: zod_1.z.array(zod_1.z.string().min(1).regex(SAFE_PATH_PATTERN)).optional(),
31
+ })
32
+ .strict();
33
+ const PatternFileEntrySchema = zod_1.z
34
+ .object({
35
+ pathPattern: zod_1.z
36
+ .string()
37
+ .min(1)
38
+ .regex(SAFE_GLOB_PATTERN, 'pathPattern must use [a-zA-Z0-9._-/*] only'),
39
+ min: zod_1.z.number().int().min(0),
40
+ max: zod_1.z.number().int().min(1),
41
+ ...FILE_ENTRY_COMMON,
42
+ })
43
+ .strict()
44
+ .refine((entry) => entry.max >= entry.min, {
45
+ message: 'max must be greater than or equal to min',
46
+ path: ['max'],
47
+ })
48
+ .refine((entry) => !(entry.required && entry.min < 1), {
49
+ message: 'a required pattern entry must have min >= 1',
50
+ path: ['min'],
51
+ });
52
+ const FileEntrySchema = zod_1.z.union([NamedFileEntrySchema, PatternFileEntrySchema]);
53
+ const MultiPageSchema = zod_1.z
54
+ .object({
55
+ manifestPath: zod_1.z.string().min(1).regex(SAFE_PATH_PATTERN),
56
+ pagePathTemplate: zod_1.z
57
+ .string()
58
+ .min(1)
59
+ .regex(/^[a-zA-Z0-9._\-/]+<slug>[a-zA-Z0-9._\-/]*$/, 'pagePathTemplate must contain a literal `<slug>` placeholder'),
60
+ pages: zod_1.z
61
+ .array(zod_1.z
62
+ .object({
63
+ slug: zod_1.z.string().min(1),
64
+ title: zod_1.z.string().min(1),
65
+ })
66
+ .strict())
67
+ .min(1),
68
+ })
69
+ .strict();
70
+ exports.DeliverableOutputContractMode = {
71
+ WorkspaceFiles: 'workspace-files',
72
+ ResponseOnly: 'response-only',
73
+ EndpointFetch: 'endpoint-fetch',
74
+ NoOutput: 'no-output',
75
+ };
76
+ exports.DeliverableTargetSlotKind = {
77
+ Deliverables: 'deliverables',
78
+ Repos: 'repos',
79
+ };
80
+ const REPO_SLUG_PATTERN = /^[a-z0-9][a-z0-9-_]*$/;
81
+ const TargetSlotDescriptorSchema = zod_1.z.discriminatedUnion('kind', [
82
+ zod_1.z
83
+ .object({
84
+ kind: zod_1.z.literal(exports.DeliverableTargetSlotKind.Deliverables),
85
+ })
86
+ .strict(),
87
+ zod_1.z
88
+ .object({
89
+ kind: zod_1.z.literal(exports.DeliverableTargetSlotKind.Repos),
90
+ repoSlug: zod_1.z
91
+ .string()
92
+ .min(1)
93
+ .regex(REPO_SLUG_PATTERN, 'repoSlug must be kebab/snake-case ([a-z0-9][a-z0-9-_]*)'),
94
+ })
95
+ .strict(),
96
+ ]);
97
+ exports.DeliverableOutputContractSchema = zod_1.z
98
+ .object({
99
+ title: zod_1.z.string().min(1),
100
+ mode: zod_1.z.enum([
101
+ exports.DeliverableOutputContractMode.WorkspaceFiles,
102
+ exports.DeliverableOutputContractMode.ResponseOnly,
103
+ exports.DeliverableOutputContractMode.EndpointFetch,
104
+ exports.DeliverableOutputContractMode.NoOutput,
105
+ ]),
106
+ targetSlot: TargetSlotDescriptorSchema.optional(),
107
+ files: zod_1.z.array(FileEntrySchema).optional(),
108
+ multiPage: MultiPageSchema.optional(),
109
+ validators: zod_1.z.array(deliverable_validation_1.deliverableValidatorDeclarationSchema).optional(),
110
+ notes: zod_1.z.string().optional(),
111
+ })
112
+ .strict()
113
+ .superRefine((value, ctx) => {
114
+ if (value.mode === exports.DeliverableOutputContractMode.WorkspaceFiles) {
115
+ const hasFiles = Array.isArray(value.files) && value.files.length > 0;
116
+ const hasMultiPage = value.multiPage !== undefined;
117
+ if (!hasFiles && !hasMultiPage) {
118
+ ctx.addIssue({
119
+ code: zod_1.z.ZodIssueCode.custom,
120
+ message: "mode='workspace-files' requires either `files[]` or `multiPage{}` to declare what the agent must write",
121
+ });
122
+ }
123
+ if (value.targetSlot === undefined) {
124
+ ctx.addIssue({
125
+ code: zod_1.z.ZodIssueCode.custom,
126
+ message: "mode='workspace-files' requires `targetSlot` to declare which workspace slot the deliverable lands in (deliverables vs repos/<slug>)",
127
+ });
128
+ }
129
+ }
130
+ if (value.validators !== undefined) {
131
+ const declared = new Set();
132
+ for (const entry of value.files ?? []) {
133
+ declared.add('canonicalPath' in entry ? entry.canonicalPath : entry.pathPattern);
134
+ }
135
+ value.validators.forEach((validator, vi) => {
136
+ (validator.paths ?? []).forEach((path, pi) => {
137
+ if (!declared.has(path)) {
138
+ ctx.addIssue({
139
+ code: zod_1.z.ZodIssueCode.custom,
140
+ path: ['validators', vi, 'paths', pi],
141
+ message: `validator path '${path}' does not equal the canonicalPath or pathPattern of any files[] entry`,
142
+ });
143
+ }
144
+ });
145
+ });
146
+ }
147
+ if (value.mode !== exports.DeliverableOutputContractMode.WorkspaceFiles) {
148
+ if (value.files !== undefined || value.multiPage !== undefined) {
149
+ ctx.addIssue({
150
+ code: zod_1.z.ZodIssueCode.custom,
151
+ message: `mode='${value.mode}' must not declare files[] or multiPage{}`,
152
+ });
153
+ }
154
+ if (value.targetSlot !== undefined) {
155
+ ctx.addIssue({
156
+ code: zod_1.z.ZodIssueCode.custom,
157
+ message: `mode='${value.mode}' must not declare targetSlot — only workspace-files contracts target a slot`,
158
+ });
159
+ }
160
+ }
161
+ });
162
+ //# sourceMappingURL=deliverable-output-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deliverable-output-contract.js","sourceRoot":"","sources":["../../../src/output/lib/deliverable-output-contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './lib/manifest.types';
2
+ export * from './lib/manifest.enums';
3
+ export * from './lib/manifest.validation';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/project-manifest/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./lib/manifest.types"), exports);
18
+ __exportStar(require("./lib/manifest.enums"), exports);
19
+ __exportStar(require("./lib/manifest.validation"), exports);
20
+ //# sourceMappingURL=index.js.map