@stigmer/server 3.15.3-dev.20260914100347 → 3.15.3-dev.20260916211208

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 (570) hide show
  1. package/README.md +3 -3
  2. package/dist/archive/content-store.d.ts +35 -0
  3. package/dist/archive/content-store.d.ts.map +1 -0
  4. package/dist/archive/content-store.js +98 -0
  5. package/dist/archive/content-store.js.map +1 -0
  6. package/dist/archive/inflate.d.ts +22 -0
  7. package/dist/archive/inflate.d.ts.map +1 -0
  8. package/dist/archive/inflate.js +75 -0
  9. package/dist/archive/inflate.js.map +1 -0
  10. package/dist/archive/limits.d.ts +33 -0
  11. package/dist/archive/limits.d.ts.map +1 -0
  12. package/dist/archive/limits.js +31 -0
  13. package/dist/archive/limits.js.map +1 -0
  14. package/dist/archive/open.d.ts +24 -0
  15. package/dist/archive/open.d.ts.map +1 -0
  16. package/dist/archive/open.js +93 -0
  17. package/dist/archive/open.js.map +1 -0
  18. package/dist/{domain/skill/storage → archive}/prefilter.d.ts +5 -0
  19. package/dist/archive/prefilter.d.ts.map +1 -0
  20. package/dist/archive/prefilter.js.map +1 -0
  21. package/dist/archive/write.d.ts +8 -0
  22. package/dist/archive/write.d.ts.map +1 -0
  23. package/dist/archive/write.js +44 -0
  24. package/dist/archive/write.js.map +1 -0
  25. package/dist/authorization/authorizer.d.ts +98 -0
  26. package/dist/authorization/authorizer.d.ts.map +1 -0
  27. package/dist/authorization/authorizer.js +156 -0
  28. package/dist/authorization/authorizer.js.map +1 -0
  29. package/dist/authorization/derived-tuples.d.ts +42 -0
  30. package/dist/authorization/derived-tuples.d.ts.map +1 -0
  31. package/dist/authorization/derived-tuples.js +240 -0
  32. package/dist/authorization/derived-tuples.js.map +1 -0
  33. package/dist/authorization/evaluator.d.ts +66 -0
  34. package/dist/authorization/evaluator.d.ts.map +1 -0
  35. package/dist/authorization/evaluator.js +153 -0
  36. package/dist/authorization/evaluator.js.map +1 -0
  37. package/dist/authorization/facts.d.ts +29 -0
  38. package/dist/authorization/facts.d.ts.map +1 -0
  39. package/dist/authorization/facts.js +17 -0
  40. package/dist/authorization/facts.js.map +1 -0
  41. package/dist/authorization/list-read-scope.d.ts +18 -0
  42. package/dist/authorization/list-read-scope.d.ts.map +1 -0
  43. package/dist/authorization/list-read-scope.js +155 -0
  44. package/dist/authorization/list-read-scope.js.map +1 -0
  45. package/dist/authorization/model/agent.d.ts +2 -0
  46. package/dist/authorization/model/agent.d.ts.map +1 -0
  47. package/dist/authorization/model/agent.js +42 -0
  48. package/dist/authorization/model/agent.js.map +1 -0
  49. package/dist/authorization/model/agent_channel.d.ts +2 -0
  50. package/dist/authorization/model/agent_channel.d.ts.map +1 -0
  51. package/dist/authorization/model/agent_channel.js +38 -0
  52. package/dist/authorization/model/agent_channel.js.map +1 -0
  53. package/dist/authorization/model/agent_execution.d.ts +2 -0
  54. package/dist/authorization/model/agent_execution.d.ts.map +1 -0
  55. package/dist/authorization/model/agent_execution.js +25 -0
  56. package/dist/authorization/model/agent_execution.js.map +1 -0
  57. package/dist/authorization/model/agent_instance.d.ts +2 -0
  58. package/dist/authorization/model/agent_instance.d.ts.map +1 -0
  59. package/dist/authorization/model/agent_instance.js +47 -0
  60. package/dist/authorization/model/agent_instance.js.map +1 -0
  61. package/dist/authorization/model/agent_share.d.ts +2 -0
  62. package/dist/authorization/model/agent_share.d.ts.map +1 -0
  63. package/dist/authorization/model/agent_share.js +29 -0
  64. package/dist/authorization/model/agent_share.js.map +1 -0
  65. package/dist/authorization/model/api_key.d.ts +2 -0
  66. package/dist/authorization/model/api_key.d.ts.map +1 -0
  67. package/dist/authorization/model/api_key.js +27 -0
  68. package/dist/authorization/model/api_key.js.map +1 -0
  69. package/dist/authorization/model/artifact.d.ts +2 -0
  70. package/dist/authorization/model/artifact.d.ts.map +1 -0
  71. package/dist/authorization/model/artifact.js +27 -0
  72. package/dist/authorization/model/artifact.js.map +1 -0
  73. package/dist/authorization/model/channel_app.d.ts +2 -0
  74. package/dist/authorization/model/channel_app.d.ts.map +1 -0
  75. package/dist/authorization/model/channel_app.js +28 -0
  76. package/dist/authorization/model/channel_app.js.map +1 -0
  77. package/dist/authorization/model/default-of.d.ts +38 -0
  78. package/dist/authorization/model/default-of.d.ts.map +1 -0
  79. package/dist/authorization/model/default-of.js +39 -0
  80. package/dist/authorization/model/default-of.js.map +1 -0
  81. package/dist/authorization/model/environment.d.ts +2 -0
  82. package/dist/authorization/model/environment.d.ts.map +1 -0
  83. package/dist/authorization/model/environment.js +33 -0
  84. package/dist/authorization/model/environment.js.map +1 -0
  85. package/dist/authorization/model/execution_context.d.ts +2 -0
  86. package/dist/authorization/model/execution_context.d.ts.map +1 -0
  87. package/dist/authorization/model/execution_context.js +19 -0
  88. package/dist/authorization/model/execution_context.js.map +1 -0
  89. package/dist/authorization/model/iam_policy.d.ts +2 -0
  90. package/dist/authorization/model/iam_policy.d.ts.map +1 -0
  91. package/dist/authorization/model/iam_policy.js +31 -0
  92. package/dist/authorization/model/iam_policy.js.map +1 -0
  93. package/dist/authorization/model/identity_account.d.ts +2 -0
  94. package/dist/authorization/model/identity_account.d.ts.map +1 -0
  95. package/dist/authorization/model/identity_account.js +25 -0
  96. package/dist/authorization/model/identity_account.js.map +1 -0
  97. package/dist/authorization/model/index.d.ts +36 -0
  98. package/dist/authorization/model/index.d.ts.map +1 -0
  99. package/dist/authorization/model/index.js +72 -0
  100. package/dist/authorization/model/index.js.map +1 -0
  101. package/dist/authorization/model/mcp_server.d.ts +2 -0
  102. package/dist/authorization/model/mcp_server.d.ts.map +1 -0
  103. package/dist/authorization/model/mcp_server.js +37 -0
  104. package/dist/authorization/model/mcp_server.js.map +1 -0
  105. package/dist/authorization/model/memory.d.ts +2 -0
  106. package/dist/authorization/model/memory.d.ts.map +1 -0
  107. package/dist/authorization/model/memory.js +26 -0
  108. package/dist/authorization/model/memory.js.map +1 -0
  109. package/dist/authorization/model/oauth_app.d.ts +2 -0
  110. package/dist/authorization/model/oauth_app.d.ts.map +1 -0
  111. package/dist/authorization/model/oauth_app.js +30 -0
  112. package/dist/authorization/model/oauth_app.js.map +1 -0
  113. package/dist/authorization/model/organization.d.ts +2 -0
  114. package/dist/authorization/model/organization.d.ts.map +1 -0
  115. package/dist/authorization/model/organization.js +54 -0
  116. package/dist/authorization/model/organization.js.map +1 -0
  117. package/dist/authorization/model/plugin.d.ts +2 -0
  118. package/dist/authorization/model/plugin.d.ts.map +1 -0
  119. package/dist/authorization/model/plugin.js +44 -0
  120. package/dist/authorization/model/plugin.js.map +1 -0
  121. package/dist/authorization/model/project.d.ts +2 -0
  122. package/dist/authorization/model/project.d.ts.map +1 -0
  123. package/dist/authorization/model/project.js +32 -0
  124. package/dist/authorization/model/project.js.map +1 -0
  125. package/dist/authorization/model/rewrite.d.ts +127 -0
  126. package/dist/authorization/model/rewrite.d.ts.map +1 -0
  127. package/dist/authorization/model/rewrite.js +82 -0
  128. package/dist/authorization/model/rewrite.js.map +1 -0
  129. package/dist/authorization/model/schedule.d.ts +2 -0
  130. package/dist/authorization/model/schedule.d.ts.map +1 -0
  131. package/dist/authorization/model/schedule.js +29 -0
  132. package/dist/authorization/model/schedule.js.map +1 -0
  133. package/dist/authorization/model/session.d.ts +2 -0
  134. package/dist/authorization/model/session.d.ts.map +1 -0
  135. package/dist/authorization/model/session.js +38 -0
  136. package/dist/authorization/model/session.js.map +1 -0
  137. package/dist/authorization/model/skill.d.ts +2 -0
  138. package/dist/authorization/model/skill.d.ts.map +1 -0
  139. package/dist/authorization/model/skill.js +38 -0
  140. package/dist/authorization/model/skill.js.map +1 -0
  141. package/dist/authorization/model/workflow.d.ts +2 -0
  142. package/dist/authorization/model/workflow.d.ts.map +1 -0
  143. package/dist/authorization/model/workflow.js +38 -0
  144. package/dist/authorization/model/workflow.js.map +1 -0
  145. package/dist/authorization/model/workflow_execution.d.ts +2 -0
  146. package/dist/authorization/model/workflow_execution.d.ts.map +1 -0
  147. package/dist/authorization/model/workflow_execution.js +32 -0
  148. package/dist/authorization/model/workflow_execution.js.map +1 -0
  149. package/dist/authorization/model/workflow_instance.d.ts +2 -0
  150. package/dist/authorization/model/workflow_instance.d.ts.map +1 -0
  151. package/dist/authorization/model/workflow_instance.js +92 -0
  152. package/dist/authorization/model/workflow_instance.js.map +1 -0
  153. package/dist/authorization/organization-directory.d.ts +13 -0
  154. package/dist/authorization/organization-directory.d.ts.map +1 -0
  155. package/dist/authorization/organization-directory.js +83 -0
  156. package/dist/authorization/organization-directory.js.map +1 -0
  157. package/dist/authorization/person.d.ts +42 -0
  158. package/dist/authorization/person.d.ts.map +1 -0
  159. package/dist/authorization/person.js +19 -0
  160. package/dist/authorization/person.js.map +1 -0
  161. package/dist/authorization/posture.d.ts +38 -0
  162. package/dist/authorization/posture.d.ts.map +1 -0
  163. package/dist/authorization/posture.js +7 -0
  164. package/dist/authorization/posture.js.map +1 -0
  165. package/dist/authorization/schedule-fire-caller.d.ts +12 -0
  166. package/dist/authorization/schedule-fire-caller.d.ts.map +1 -0
  167. package/dist/authorization/schedule-fire-caller.js +67 -0
  168. package/dist/authorization/schedule-fire-caller.js.map +1 -0
  169. package/dist/authorization/store-test-kit.d.ts +68 -0
  170. package/dist/authorization/store-test-kit.d.ts.map +1 -0
  171. package/dist/authorization/store-test-kit.js +311 -0
  172. package/dist/authorization/store-test-kit.js.map +1 -0
  173. package/dist/authorization/tuples.d.ts +115 -0
  174. package/dist/authorization/tuples.d.ts.map +1 -0
  175. package/dist/authorization/tuples.js +83 -0
  176. package/dist/authorization/tuples.js.map +1 -0
  177. package/dist/boot/compose.d.ts.map +1 -1
  178. package/dist/boot/compose.js +157 -32
  179. package/dist/boot/compose.js.map +1 -1
  180. package/dist/boot/inprocess.d.ts +12 -0
  181. package/dist/boot/inprocess.d.ts.map +1 -1
  182. package/dist/boot/inprocess.js +62 -20
  183. package/dist/boot/inprocess.js.map +1 -1
  184. package/dist/domain/agent/controller.d.ts.map +1 -1
  185. package/dist/domain/agent/controller.js +9 -0
  186. package/dist/domain/agent/controller.js.map +1 -1
  187. package/dist/domain/iampolicy/constants.d.ts +11 -0
  188. package/dist/domain/iampolicy/constants.d.ts.map +1 -1
  189. package/dist/domain/iampolicy/constants.js +11 -0
  190. package/dist/domain/iampolicy/constants.js.map +1 -1
  191. package/dist/domain/iampolicy/membership.d.ts +72 -1
  192. package/dist/domain/iampolicy/membership.d.ts.map +1 -1
  193. package/dist/domain/iampolicy/membership.js +141 -56
  194. package/dist/domain/iampolicy/membership.js.map +1 -1
  195. package/dist/domain/identityaccount/actor.d.ts +26 -0
  196. package/dist/domain/identityaccount/actor.d.ts.map +1 -0
  197. package/dist/domain/identityaccount/actor.js +17 -0
  198. package/dist/domain/identityaccount/actor.js.map +1 -0
  199. package/dist/domain/mcpserver/controller.d.ts.map +1 -1
  200. package/dist/domain/mcpserver/controller.js +9 -0
  201. package/dist/domain/mcpserver/controller.js.map +1 -1
  202. package/dist/domain/plugin/archive.d.ts +37 -0
  203. package/dist/domain/plugin/archive.d.ts.map +1 -0
  204. package/dist/domain/plugin/archive.js +50 -0
  205. package/dist/domain/plugin/archive.js.map +1 -0
  206. package/dist/domain/plugin/constants.d.ts +38 -0
  207. package/dist/domain/plugin/constants.d.ts.map +1 -0
  208. package/dist/domain/plugin/constants.js +46 -0
  209. package/dist/domain/plugin/constants.js.map +1 -0
  210. package/dist/domain/plugin/controller.d.ts +25 -0
  211. package/dist/domain/plugin/controller.d.ts.map +1 -0
  212. package/dist/domain/plugin/controller.js +493 -0
  213. package/dist/domain/plugin/controller.js.map +1 -0
  214. package/dist/domain/plugin/materialize/agent.d.ts +13 -0
  215. package/dist/domain/plugin/materialize/agent.d.ts.map +1 -0
  216. package/dist/domain/plugin/materialize/agent.js +128 -0
  217. package/dist/domain/plugin/materialize/agent.js.map +1 -0
  218. package/dist/domain/plugin/materialize/default-agent-instructions.d.ts +22 -0
  219. package/dist/domain/plugin/materialize/default-agent-instructions.d.ts.map +1 -0
  220. package/dist/domain/plugin/materialize/default-agent-instructions.js +31 -0
  221. package/dist/domain/plugin/materialize/default-agent-instructions.js.map +1 -0
  222. package/dist/domain/plugin/materialize/identity.d.ts +28 -0
  223. package/dist/domain/plugin/materialize/identity.d.ts.map +1 -0
  224. package/dist/domain/plugin/materialize/identity.js +40 -0
  225. package/dist/domain/plugin/materialize/identity.js.map +1 -0
  226. package/dist/domain/plugin/materialize/mcp-servers.d.ts +15 -0
  227. package/dist/domain/plugin/materialize/mcp-servers.d.ts.map +1 -0
  228. package/dist/domain/plugin/materialize/mcp-servers.js +131 -0
  229. package/dist/domain/plugin/materialize/mcp-servers.js.map +1 -0
  230. package/dist/domain/plugin/materialize/plan.d.ts +24 -0
  231. package/dist/domain/plugin/materialize/plan.d.ts.map +1 -0
  232. package/dist/domain/plugin/materialize/plan.js +77 -0
  233. package/dist/domain/plugin/materialize/plan.js.map +1 -0
  234. package/dist/domain/plugin/materialize/ports.d.ts +42 -0
  235. package/dist/domain/plugin/materialize/ports.d.ts.map +1 -0
  236. package/dist/domain/plugin/materialize/ports.js +2 -0
  237. package/dist/domain/plugin/materialize/ports.js.map +1 -0
  238. package/dist/domain/plugin/materialize/skills.d.ts +12 -0
  239. package/dist/domain/plugin/materialize/skills.d.ts.map +1 -0
  240. package/dist/domain/plugin/materialize/skills.js +44 -0
  241. package/dist/domain/plugin/materialize/skills.js.map +1 -0
  242. package/dist/domain/plugin/materialize/workflows.d.ts +15 -0
  243. package/dist/domain/plugin/materialize/workflows.d.ts.map +1 -0
  244. package/dist/domain/plugin/materialize/workflows.js +31 -0
  245. package/dist/domain/plugin/materialize/workflows.js.map +1 -0
  246. package/dist/domain/plugin/members.d.ts +42 -0
  247. package/dist/domain/plugin/members.d.ts.map +1 -0
  248. package/dist/domain/plugin/members.js +97 -0
  249. package/dist/domain/plugin/members.js.map +1 -0
  250. package/dist/domain/plugin/overlay/documents.d.ts +31 -0
  251. package/dist/domain/plugin/overlay/documents.d.ts.map +1 -0
  252. package/dist/domain/plugin/overlay/documents.js +38 -0
  253. package/dist/domain/plugin/overlay/documents.js.map +1 -0
  254. package/dist/domain/plugin/overlay/parse.d.ts +16 -0
  255. package/dist/domain/plugin/overlay/parse.d.ts.map +1 -0
  256. package/dist/domain/plugin/overlay/parse.js +79 -0
  257. package/dist/domain/plugin/overlay/parse.js.map +1 -0
  258. package/dist/domain/plugin/overlay/sanitize.d.ts +10 -0
  259. package/dist/domain/plugin/overlay/sanitize.d.ts.map +1 -0
  260. package/dist/domain/plugin/overlay/sanitize.js +101 -0
  261. package/dist/domain/plugin/overlay/sanitize.js.map +1 -0
  262. package/dist/domain/plugin/push.d.ts +133 -0
  263. package/dist/domain/plugin/push.d.ts.map +1 -0
  264. package/dist/domain/plugin/push.js +800 -0
  265. package/dist/domain/plugin/push.js.map +1 -0
  266. package/dist/domain/plugin/search-extractor.d.ts +3 -0
  267. package/dist/domain/plugin/search-extractor.d.ts.map +1 -0
  268. package/dist/domain/plugin/search-extractor.js +41 -0
  269. package/dist/domain/plugin/search-extractor.js.map +1 -0
  270. package/dist/domain/skill/constants.d.ts +6 -11
  271. package/dist/domain/skill/constants.d.ts.map +1 -1
  272. package/dist/domain/skill/constants.js +6 -11
  273. package/dist/domain/skill/constants.js.map +1 -1
  274. package/dist/domain/skill/controller.d.ts.map +1 -1
  275. package/dist/domain/skill/controller.js +33 -30
  276. package/dist/domain/skill/controller.js.map +1 -1
  277. package/dist/domain/skill/push.d.ts +9 -10
  278. package/dist/domain/skill/push.d.ts.map +1 -1
  279. package/dist/domain/skill/push.js +53 -122
  280. package/dist/domain/skill/push.js.map +1 -1
  281. package/dist/domain/skill/search-extractor.d.ts.map +1 -1
  282. package/dist/domain/skill/search-extractor.js.map +1 -1
  283. package/dist/domain/skill/storage/artifact-storage.d.ts +26 -29
  284. package/dist/domain/skill/storage/artifact-storage.d.ts.map +1 -1
  285. package/dist/domain/skill/storage/artifact-storage.js +6 -103
  286. package/dist/domain/skill/storage/artifact-storage.js.map +1 -1
  287. package/dist/domain/skill/storage/zip-gate.d.ts +1 -2
  288. package/dist/domain/skill/storage/zip-gate.d.ts.map +1 -1
  289. package/dist/domain/skill/storage/zip-gate.js +56 -126
  290. package/dist/domain/skill/storage/zip-gate.js.map +1 -1
  291. package/dist/domain/skill/version-resolution.d.ts +5 -5
  292. package/dist/domain/skill/version-resolution.d.ts.map +1 -1
  293. package/dist/domain/skill/version-resolution.js +34 -216
  294. package/dist/domain/skill/version-resolution.js.map +1 -1
  295. package/dist/domain/workflow/controller.d.ts.map +1 -1
  296. package/dist/domain/workflow/controller.js +30 -3
  297. package/dist/domain/workflow/controller.js.map +1 -1
  298. package/dist/domain/workflow/registry/data/task-kind-registry.json +1 -0
  299. package/dist/extensions/authorizer.d.ts +10 -5
  300. package/dist/extensions/authorizer.d.ts.map +1 -1
  301. package/dist/extensions/drivers.d.ts +4 -1
  302. package/dist/extensions/drivers.d.ts.map +1 -1
  303. package/dist/extensions/list-read-scope.d.ts +75 -11
  304. package/dist/extensions/list-read-scope.d.ts.map +1 -1
  305. package/dist/extensions/list-read-scope.js +40 -7
  306. package/dist/extensions/list-read-scope.js.map +1 -1
  307. package/dist/extensions/organization-directory.d.ts +13 -9
  308. package/dist/extensions/organization-directory.d.ts.map +1 -1
  309. package/dist/extensions/organization-directory.js.map +1 -1
  310. package/dist/extensions/resource-authorization.d.ts +33 -0
  311. package/dist/extensions/resource-authorization.d.ts.map +1 -1
  312. package/dist/extensions/schedule-fire-caller.d.ts +45 -18
  313. package/dist/extensions/schedule-fire-caller.d.ts.map +1 -1
  314. package/dist/extensions/schedule-fire-caller.js +12 -1
  315. package/dist/extensions/schedule-fire-caller.js.map +1 -1
  316. package/dist/index.d.ts +10 -0
  317. package/dist/index.d.ts.map +1 -1
  318. package/dist/index.js +8 -0
  319. package/dist/index.js.map +1 -1
  320. package/dist/pipeline/apiresource-labels.d.ts +23 -3
  321. package/dist/pipeline/apiresource-labels.d.ts.map +1 -1
  322. package/dist/pipeline/apiresource-labels.js +20 -0
  323. package/dist/pipeline/apiresource-labels.js.map +1 -1
  324. package/dist/pipeline/apiresource-meta.d.ts +21 -0
  325. package/dist/pipeline/apiresource-meta.d.ts.map +1 -1
  326. package/dist/pipeline/apiresource-meta.js +28 -0
  327. package/dist/pipeline/apiresource-meta.js.map +1 -1
  328. package/dist/pipeline/errors.d.ts.map +1 -1
  329. package/dist/pipeline/errors.js.map +1 -1
  330. package/dist/pipeline/steps/authorization-facts.d.ts +12 -0
  331. package/dist/pipeline/steps/authorization-facts.d.ts.map +1 -0
  332. package/dist/pipeline/steps/authorization-facts.js +100 -0
  333. package/dist/pipeline/steps/authorization-facts.js.map +1 -0
  334. package/dist/pipeline/steps/authorization-tuples.d.ts.map +1 -1
  335. package/dist/pipeline/steps/authorization-tuples.js +7 -26
  336. package/dist/pipeline/steps/authorization-tuples.js.map +1 -1
  337. package/dist/pipeline/steps/delete.d.ts.map +1 -1
  338. package/dist/pipeline/steps/delete.js +1 -1
  339. package/dist/pipeline/steps/delete.js.map +1 -1
  340. package/dist/pipeline/steps/duplicate.d.ts.map +1 -1
  341. package/dist/pipeline/steps/duplicate.js.map +1 -1
  342. package/dist/pipeline/steps/guard-plugin-managed.d.ts +12 -0
  343. package/dist/pipeline/steps/guard-plugin-managed.d.ts.map +1 -0
  344. package/dist/pipeline/steps/guard-plugin-managed.js +96 -0
  345. package/dist/pipeline/steps/guard-plugin-managed.js.map +1 -0
  346. package/dist/pipeline/steps/guard-reserved-labels.d.ts +16 -2
  347. package/dist/pipeline/steps/guard-reserved-labels.d.ts.map +1 -1
  348. package/dist/pipeline/steps/guard-reserved-labels.js +11 -7
  349. package/dist/pipeline/steps/guard-reserved-labels.js.map +1 -1
  350. package/dist/pipeline/steps/helpers.d.ts.map +1 -1
  351. package/dist/pipeline/steps/helpers.js.map +1 -1
  352. package/dist/pipeline/steps/index-search.d.ts.map +1 -1
  353. package/dist/pipeline/steps/index-search.js.map +1 -1
  354. package/dist/pipeline/steps/load-existing.d.ts.map +1 -1
  355. package/dist/pipeline/steps/load-existing.js +1 -1
  356. package/dist/pipeline/steps/load-existing.js.map +1 -1
  357. package/dist/pipeline/steps/references.d.ts +16 -0
  358. package/dist/pipeline/steps/references.d.ts.map +1 -1
  359. package/dist/pipeline/steps/references.js +18 -0
  360. package/dist/pipeline/steps/references.js.map +1 -1
  361. package/dist/pipeline/steps/resolve-artifact-source.d.ts +35 -0
  362. package/dist/pipeline/steps/resolve-artifact-source.d.ts.map +1 -0
  363. package/dist/pipeline/steps/resolve-artifact-source.js +27 -0
  364. package/dist/pipeline/steps/resolve-artifact-source.js.map +1 -0
  365. package/dist/pipeline/steps/server-stamped-reserved-labels.d.ts.map +1 -1
  366. package/dist/pipeline/steps/server-stamped-reserved-labels.js.map +1 -1
  367. package/dist/pipeline/steps/shapes.d.ts +18 -0
  368. package/dist/pipeline/steps/shapes.d.ts.map +1 -1
  369. package/dist/pipeline/steps/shapes.js +29 -0
  370. package/dist/pipeline/steps/shapes.js.map +1 -1
  371. package/dist/pipeline/steps/slug.d.ts.map +1 -1
  372. package/dist/pipeline/steps/slug.js.map +1 -1
  373. package/dist/pipeline/steps/validate-visibility.d.ts +9 -0
  374. package/dist/pipeline/steps/validate-visibility.d.ts.map +1 -1
  375. package/dist/pipeline/steps/validate-visibility.js +6 -1
  376. package/dist/pipeline/steps/validate-visibility.js.map +1 -1
  377. package/dist/pipeline/steps/validation.d.ts.map +1 -1
  378. package/dist/pipeline/steps/validation.js.map +1 -1
  379. package/dist/pipeline/steps/version-archive.d.ts +63 -0
  380. package/dist/pipeline/steps/version-archive.d.ts.map +1 -0
  381. package/dist/pipeline/steps/version-archive.js +129 -0
  382. package/dist/pipeline/steps/version-archive.js.map +1 -0
  383. package/dist/pipeline/steps/version-history.d.ts +49 -0
  384. package/dist/pipeline/steps/version-history.d.ts.map +1 -0
  385. package/dist/pipeline/steps/version-history.js +229 -0
  386. package/dist/pipeline/steps/version-history.js.map +1 -0
  387. package/dist/pipeline/steps/visibility-gates.d.ts +8 -0
  388. package/dist/pipeline/steps/visibility-gates.d.ts.map +1 -1
  389. package/dist/pipeline/steps/visibility-gates.js +7 -2
  390. package/dist/pipeline/steps/visibility-gates.js.map +1 -1
  391. package/dist/query/search/registry.d.ts.map +1 -1
  392. package/dist/query/search/registry.js +2 -0
  393. package/dist/query/search/registry.js.map +1 -1
  394. package/dist/temporal/schedule/run-starter.d.ts +1 -1
  395. package/dist/temporal/schedule/run-starter.d.ts.map +1 -1
  396. package/dist/temporal/schedule/run-starter.js +14 -1
  397. package/dist/temporal/schedule/run-starter.js.map +1 -1
  398. package/package.json +5 -4
  399. package/src/archive/__tests__/archive.test.ts +233 -0
  400. package/src/{domain/skill → archive}/__tests__/prefilter.test.ts +1 -1
  401. package/src/archive/content-store.ts +132 -0
  402. package/src/archive/inflate.ts +107 -0
  403. package/src/archive/limits.ts +42 -0
  404. package/src/archive/open.ts +131 -0
  405. package/src/{domain/skill/storage → archive}/prefilter.ts +5 -0
  406. package/src/archive/write.ts +54 -0
  407. package/src/authorization/README.md +124 -0
  408. package/src/authorization/__tests__/authorizer.test.ts +719 -0
  409. package/src/authorization/__tests__/derived-tuples.test.ts +802 -0
  410. package/src/authorization/__tests__/drivers.ts +70 -0
  411. package/src/authorization/__tests__/evaluator.test.ts +359 -0
  412. package/src/authorization/__tests__/facts.test.ts +155 -0
  413. package/src/authorization/__tests__/fixtures/fga/agent-channel-owner.fga.yaml +112 -0
  414. package/src/authorization/__tests__/fixtures/fga/agent-share-owner.fga.yaml +109 -0
  415. package/src/authorization/__tests__/fixtures/fga/artifact-org-and-owner.fga.yaml +128 -0
  416. package/src/authorization/__tests__/fixtures/fga/blueprint-private-visibility.fga.yaml +410 -0
  417. package/src/authorization/__tests__/fixtures/fga/channel-app-owner.fga.yaml +125 -0
  418. package/src/authorization/__tests__/fixtures/fga/channel-participation.fga.yaml +201 -0
  419. package/src/authorization/__tests__/fixtures/fga/channel-session-visibility.fga.yaml +187 -0
  420. package/src/authorization/__tests__/fixtures/fga/cross-org-share-creation.fga.yaml +98 -0
  421. package/src/authorization/__tests__/fixtures/fga/default-instance-inheritance.fga.yaml +271 -0
  422. package/src/authorization/__tests__/fixtures/fga/memory-subject-only.fga.yaml +72 -0
  423. package/src/authorization/__tests__/fixtures/fga/org-admin-owner-inheritance.fga.yaml +328 -0
  424. package/src/authorization/__tests__/fixtures/fga/org-shared-environment.fga.yaml +144 -0
  425. package/src/authorization/__tests__/fixtures/fga/platform-visibility.fga.yaml +223 -0
  426. package/src/authorization/__tests__/fixtures/fga/provider-standing-viewer.fga.yaml +40 -0
  427. package/src/authorization/__tests__/fixtures/fga/public-visibility-setter.fga.yaml +52 -0
  428. package/src/authorization/__tests__/fixtures/fga/reserved-label-writer.fga.yaml +41 -0
  429. package/src/authorization/__tests__/fixtures/fga/schedule-owner.fga.yaml +113 -0
  430. package/src/authorization/__tests__/fixtures/fga/schedule-session-visibility.fga.yaml +214 -0
  431. package/src/authorization/__tests__/fixtures/fga/session-personal-resource.fga.yaml +117 -0
  432. package/src/authorization/__tests__/fixtures/fga/workflow-execution-sharing.fga.yaml +192 -0
  433. package/src/authorization/__tests__/list-read-scope.measure.test.ts +317 -0
  434. package/src/authorization/__tests__/list-read-scope.test.ts +796 -0
  435. package/src/authorization/__tests__/organization-directory.test.ts +236 -0
  436. package/src/authorization/__tests__/person.test.ts +114 -0
  437. package/src/authorization/__tests__/posture.test.ts +25 -0
  438. package/src/authorization/__tests__/schedule-fire-caller.test.ts +134 -0
  439. package/src/authorization/__tests__/store-tests.test.ts +306 -0
  440. package/src/authorization/__tests__/support.ts +101 -0
  441. package/src/authorization/__tests__/tuples.test.ts +62 -0
  442. package/src/authorization/__tests__/wire-permissions.test.ts +154 -0
  443. package/src/authorization/authorizer.ts +208 -0
  444. package/src/authorization/derived-tuples.ts +384 -0
  445. package/src/authorization/evaluator.ts +283 -0
  446. package/src/authorization/facts.ts +47 -0
  447. package/src/authorization/list-read-scope.ts +216 -0
  448. package/src/authorization/model/__tests__/registry.test.ts +317 -0
  449. package/src/authorization/model/agent.ts +64 -0
  450. package/src/authorization/model/agent_channel.ts +49 -0
  451. package/src/authorization/model/agent_execution.ts +33 -0
  452. package/src/authorization/model/agent_instance.ts +66 -0
  453. package/src/authorization/model/agent_share.ts +40 -0
  454. package/src/authorization/model/api_key.ts +28 -0
  455. package/src/authorization/model/artifact.ts +38 -0
  456. package/src/authorization/model/channel_app.ts +39 -0
  457. package/src/authorization/model/default-of.ts +99 -0
  458. package/src/authorization/model/environment.ts +48 -0
  459. package/src/authorization/model/execution_context.ts +20 -0
  460. package/src/authorization/model/iam_policy.ts +42 -0
  461. package/src/authorization/model/identity_account.ts +26 -0
  462. package/src/authorization/model/index.ts +108 -0
  463. package/src/authorization/model/mcp_server.ts +59 -0
  464. package/src/authorization/model/memory.ts +27 -0
  465. package/src/authorization/model/oauth_app.ts +42 -0
  466. package/src/authorization/model/organization.ts +55 -0
  467. package/src/authorization/model/plugin.ts +66 -0
  468. package/src/authorization/model/project.ts +47 -0
  469. package/src/authorization/model/rewrite.ts +213 -0
  470. package/src/authorization/model/schedule.ts +40 -0
  471. package/src/authorization/model/session.ts +50 -0
  472. package/src/authorization/model/skill.ts +60 -0
  473. package/src/authorization/model/workflow.ts +60 -0
  474. package/src/authorization/model/workflow_execution.ts +44 -0
  475. package/src/authorization/model/workflow_instance.ts +122 -0
  476. package/src/authorization/organization-directory.ts +114 -0
  477. package/src/authorization/person.ts +68 -0
  478. package/src/authorization/posture.ts +49 -0
  479. package/src/authorization/schedule-fire-caller.ts +91 -0
  480. package/src/authorization/store-test-kit.ts +454 -0
  481. package/src/authorization/tuples.ts +190 -0
  482. package/src/boot/compose.ts +175 -38
  483. package/src/boot/inprocess.ts +108 -30
  484. package/src/domain/agent/controller.ts +11 -0
  485. package/src/domain/iampolicy/__tests__/membership.test.ts +357 -3
  486. package/src/domain/iampolicy/constants.ts +12 -0
  487. package/src/domain/iampolicy/membership.ts +221 -66
  488. package/src/domain/identityaccount/actor.ts +44 -0
  489. package/src/domain/mcpserver/controller.ts +11 -0
  490. package/src/domain/plugin/__tests__/materialize.test.ts +303 -0
  491. package/src/domain/plugin/__tests__/overlay-parse.test.ts +85 -0
  492. package/src/domain/plugin/__tests__/plugin.test.ts +681 -0
  493. package/src/domain/plugin/__tests__/sanitize.test.ts +174 -0
  494. package/src/domain/plugin/archive.ts +89 -0
  495. package/src/domain/plugin/constants.ts +53 -0
  496. package/src/domain/plugin/controller.ts +913 -0
  497. package/src/domain/plugin/materialize/agent.ts +186 -0
  498. package/src/domain/plugin/materialize/default-agent-instructions.ts +59 -0
  499. package/src/domain/plugin/materialize/identity.ts +67 -0
  500. package/src/domain/plugin/materialize/mcp-servers.ts +175 -0
  501. package/src/domain/plugin/materialize/plan.ts +124 -0
  502. package/src/domain/plugin/materialize/ports.ts +53 -0
  503. package/src/domain/plugin/materialize/skills.ts +68 -0
  504. package/src/domain/plugin/materialize/workflows.ts +51 -0
  505. package/src/domain/plugin/members.ts +180 -0
  506. package/src/domain/plugin/overlay/documents.ts +78 -0
  507. package/src/domain/plugin/overlay/parse.ts +115 -0
  508. package/src/domain/plugin/overlay/sanitize.ts +149 -0
  509. package/src/domain/plugin/push.ts +1062 -0
  510. package/src/domain/plugin/search-extractor.ts +60 -0
  511. package/src/domain/skill/constants.ts +11 -14
  512. package/src/domain/skill/controller.ts +44 -36
  513. package/src/domain/skill/push.ts +61 -156
  514. package/src/domain/skill/search-extractor.ts +3 -1
  515. package/src/domain/skill/storage/artifact-storage.ts +23 -124
  516. package/src/domain/skill/storage/zip-gate.ts +58 -154
  517. package/src/domain/skill/version-resolution.ts +67 -269
  518. package/src/domain/workflow/controller.ts +38 -4
  519. package/src/domain/workflow/registry/data/task-kind-registry.json +1 -0
  520. package/src/extensions/__tests__/built-in-authorization-composed.test.ts +835 -0
  521. package/src/extensions/__tests__/composed-support.ts +32 -1
  522. package/src/extensions/__tests__/extension-composition.test.ts +35 -0
  523. package/src/extensions/__tests__/list-read-scope.test.ts +245 -3
  524. package/src/extensions/__tests__/role-reconciliation-composed.test.ts +209 -0
  525. package/src/extensions/__tests__/tier-truthfulness.test.ts +6 -14
  526. package/src/extensions/authorizer.ts +10 -5
  527. package/src/extensions/drivers.ts +4 -1
  528. package/src/extensions/list-read-scope.ts +116 -16
  529. package/src/extensions/organization-directory.ts +13 -9
  530. package/src/extensions/resource-authorization.ts +34 -0
  531. package/src/extensions/schedule-fire-caller.ts +49 -18
  532. package/src/index.ts +51 -1
  533. package/src/pipeline/__tests__/inherited-authorization-parent.test.ts +51 -0
  534. package/src/pipeline/__tests__/router-transport.test.ts +1 -3
  535. package/src/pipeline/apiresource-labels.ts +31 -3
  536. package/src/pipeline/apiresource-meta.ts +37 -0
  537. package/src/pipeline/errors.ts +5 -5
  538. package/src/pipeline/steps/__tests__/authorize-annotation-completeness.test.ts +1 -20
  539. package/src/pipeline/steps/__tests__/guard-memory-capture.test.ts +3 -9
  540. package/src/pipeline/steps/__tests__/guard-plugin-managed.test.ts +151 -0
  541. package/src/pipeline/steps/__tests__/guard-reserved-labels.test.ts +83 -8
  542. package/src/pipeline/steps/authorization-facts.ts +131 -0
  543. package/src/pipeline/steps/authorization-tuples.ts +7 -28
  544. package/src/pipeline/steps/delete.ts +11 -3
  545. package/src/pipeline/steps/duplicate.ts +8 -2
  546. package/src/pipeline/steps/guard-plugin-managed.ts +133 -0
  547. package/src/pipeline/steps/guard-reserved-labels.ts +29 -8
  548. package/src/pipeline/steps/helpers.ts +4 -1
  549. package/src/pipeline/steps/index-search.ts +28 -15
  550. package/src/pipeline/steps/load-existing.ts +12 -3
  551. package/src/pipeline/steps/references.ts +36 -2
  552. package/src/pipeline/steps/resolve-artifact-source.ts +66 -0
  553. package/src/pipeline/steps/server-stamped-reserved-labels.ts +2 -1
  554. package/src/pipeline/steps/shapes.ts +31 -0
  555. package/src/pipeline/steps/slug.ts +7 -2
  556. package/src/pipeline/steps/validate-visibility.ts +9 -2
  557. package/src/pipeline/steps/validation.ts +3 -1
  558. package/src/pipeline/steps/version-archive.ts +225 -0
  559. package/src/pipeline/steps/version-history.ts +362 -0
  560. package/src/pipeline/steps/visibility-gates.ts +12 -9
  561. package/src/query/README.md +1 -1
  562. package/src/query/search/__tests__/criteria.test.ts +6 -7
  563. package/src/query/search/__tests__/query-store.test.ts +9 -2
  564. package/src/query/search/__tests__/registry.test.ts +6 -4
  565. package/src/query/search/registry.ts +6 -1
  566. package/src/temporal/schedule/__tests__/run-starter.test.ts +86 -24
  567. package/src/temporal/schedule/run-starter.ts +31 -8
  568. package/dist/domain/skill/storage/prefilter.d.ts.map +0 -1
  569. package/dist/domain/skill/storage/prefilter.js.map +0 -1
  570. /package/dist/{domain/skill/storage → archive}/prefilter.js +0 -0
@@ -7,10 +7,14 @@
7
7
  * ValidateProto → ResolveArtifactSource → BuildInitialSkill →
8
8
  * ExtractAndHashArtifact → ResolveSlugForPush → FindExistingBySlug →
9
9
  * GenerateIDIfNeeded → CheckAndStoreArtifact → PopulateSkillFields →
10
- * ArchiveCurrentSkill → StoreSkill → IndexSkillSearch
10
+ * GuardReservedLabels → ArchiveCurrentSkill → StoreSkill →
11
+ * IndexSkillSearch
11
12
  *
12
- * Step names and context keys are Go's, verbatim. The load-bearing
13
- * semantics, all preserved:
13
+ * Step names and context keys are Go's, verbatim; GuardReservedLabels
14
+ * joined when PushSkillRequest gained `labels` (a plugin materialises its
15
+ * skills with the plugin label through this chain, so the chain must run
16
+ * the same reserved-namespace guard every other write boundary runs). The
17
+ * load-bearing semantics, all preserved:
14
18
  * - exactly one artifact source (inline bytes XOR upload ref — proto
15
19
  * CEL); a staged ref is consumed (retired) whatever happens downstream;
16
20
  * - content addressing: same bytes = same SHA-256 = one stored copy;
@@ -37,56 +41,36 @@ import { ApiResourceMetadataSchema, ApiResourceMetadataVersionSchema, } from "@s
37
41
  import { ApiResourceAuditSchema } from "@stigmer/protos/ai/stigmer/commons/apiresource/status_pb";
38
42
  import { ApiResourceVisibility } from "@stigmer/protos/ai/stigmer/commons/apiresource/enum_pb";
39
43
  import { defaultVisibilityFor, getIdPrefix, } from "../../pipeline/apiresource-meta.js";
40
- import { failedPreconditionError, internalError, invalidArgumentError, } from "../../pipeline/errors.js";
44
+ import { internalError, invalidArgumentError } from "../../pipeline/errors.js";
41
45
  import { diffVisibilityShapes, resolveResourceCreatedEvent, } from "../../pipeline/steps/authorization-tuples.js";
42
46
  import { generateId, setAuditFieldsForCreate, setAuditFieldsForUpdate, } from "../../pipeline/steps/defaults.js";
43
47
  import { findResourceBySlug } from "../../pipeline/steps/helpers.js";
44
48
  import { generateSlug } from "../../pipeline/steps/slug.js";
45
- import { AuditNotFoundError } from "../../store/interface.js";
49
+ import { ARTIFACT_BYTES_KEY, newResolveArtifactSourceStep as newSharedResolveArtifactSourceStep, } from "../../pipeline/steps/resolve-artifact-source.js";
50
+ import { newArchiveCurrentVersionStep } from "../../pipeline/steps/version-archive.js";
46
51
  import { TRANSFER_LANE_NOT_CONFIGURED } from "./constants.js";
47
52
  import { skillSearchExtractor } from "./search-extractor.js";
48
53
  import { extractSkillMd } from "./storage/zip-gate.js";
49
54
  // Context keys for the push operation (Go push.go, verbatim).
50
55
  export const SKILL_KEY = "skill";
51
- export const ARTIFACT_BYTES_KEY = "pushArtifactBytes";
56
+ export { ARTIFACT_BYTES_KEY };
52
57
  export const EXTRACT_RESULT_KEY = "extractResult";
53
58
  export const ARTIFACT_STORAGE_KEY_KEY = "artifactStorageKey";
54
59
  export const EXISTING_SKILL_KEY = "existingSkill";
55
60
  export const SHOULD_CREATE_SKILL_KEY = "shouldCreateSkill";
56
61
  /**
57
- * ResolveArtifactSource — materializes the artifact ZIP bytes from
58
- * whichever source the request carries (proto validation has already
59
- * guaranteed exactly one): inline bytes pass through; an upload ref is
60
- * consumed HERE, which retires the single-use reference regardless of how
61
- * the rest of the pipeline fares. Downstream steps read ARTIFACT_BYTES_KEY
62
- * and never touch the request's artifact field, so the two sources are
63
- * indistinguishable past this point.
62
+ * ResolveArtifactSource — the shared step bound to PushSkillRequest's two
63
+ * sources and the skill lane's FailedPrecondition copy (see
64
+ * pipeline/steps/resolve-artifact-source.ts for the semantics).
64
65
  */
65
66
  export function newResolveArtifactSourceStep(slots) {
66
- return {
67
- name: "ResolveArtifactSource",
68
- async execute(ctx) {
69
- const req = ctx.input;
70
- if (req.artifactUploadRef === "") {
71
- ctx.set(ARTIFACT_BYTES_KEY, req.artifact);
72
- return;
73
- }
74
- if (slots === undefined) {
75
- throw failedPreconditionError(TRANSFER_LANE_NOT_CONFIGURED);
76
- }
77
- let data;
78
- try {
79
- data = await slots.consume(req.artifactUploadRef);
80
- }
81
- catch (error) {
82
- // The reference is client-supplied state, not server fault:
83
- // unknown, expired, already consumed, or minted-but-never-uploaded
84
- // all mean the client must re-mint and re-upload.
85
- throw invalidArgumentError(`artifact_upload_ref not usable: ${error instanceof Error ? error.message : String(error)} — request a new upload URL via createArtifactUploadUrl`);
86
- }
87
- ctx.set(ARTIFACT_BYTES_KEY, data);
88
- },
89
- };
67
+ return newSharedResolveArtifactSourceStep(slots, {
68
+ source: (req) => ({
69
+ artifact: req.artifact,
70
+ artifactUploadRef: req.artifactUploadRef,
71
+ }),
72
+ laneNotConfigured: TRANSFER_LANE_NOT_CONFIGURED,
73
+ });
90
74
  }
91
75
  /**
92
76
  * BuildInitialSkill — the Skill scaffold from the request. Name, ID, and
@@ -98,10 +82,16 @@ export function newBuildInitialSkillStep() {
98
82
  name: "BuildInitialSkill",
99
83
  execute(ctx) {
100
84
  const req = ctx.input;
85
+ // The request's labels ARE the skill's labels (replace, never merge):
86
+ // a push is the skill's definition. GuardReservedLabels, spliced after
87
+ // FindExistingBySlug, judges them against the stored skill's.
101
88
  const skill = create(SkillSchema, {
102
89
  apiVersion: "agentic.stigmer.ai/v1",
103
90
  kind: "Skill",
104
- metadata: create(ApiResourceMetadataSchema, { org: req.org }),
91
+ metadata: create(ApiResourceMetadataSchema, {
92
+ org: req.org,
93
+ labels: { ...req.labels },
94
+ }),
105
95
  spec: create(SkillSpecSchema, { tag: req.tag }),
106
96
  status: create(SkillStatusSchema, { state: SkillState.READY }),
107
97
  });
@@ -247,6 +237,12 @@ export function newPopulateSkillFieldsStep() {
247
237
  skill.spec.skillMd = extractResult.content;
248
238
  skill.spec.name = extractResult.name;
249
239
  skill.spec.description = extractResult.description;
240
+ // A push IS the skill's definition: the labels it carries are the
241
+ // labels the skill has (replace, never merge), so a re-push that
242
+ // omits a label removes it — the apply chains' BuildUpdateState
243
+ // posture. The reserved namespace is judged by GuardReservedLabels
244
+ // right after this step, against the stored skill's labels.
245
+ skill.metadata.labels = { ...req.labels };
250
246
  if (skill.metadata.visibility ===
251
247
  ApiResourceVisibility.api_resource_visibility_unspecified) {
252
248
  skill.metadata.visibility = defaultVisibilityFor(ctx.apiResourceKind);
@@ -290,94 +286,29 @@ export function newPopulateSkillFieldsStep() {
290
286
  * ArchiveCurrentSkill — the versioning heart (#341/#475): repoint or
291
287
  * archive, then the single-holder tag assignment, each with its safe
292
288
  * degradation (see the module doc). Runs AFTER PopulateSkillFields so the
293
- * archived snapshot is the fully-populated head.
289
+ * archived snapshot is the fully-populated head. The mechanism is the
290
+ * shared version-archive step; this binding says where a skill keeps its
291
+ * hash (status.version_hash, mirrored in metadata.version.id) and its tag
292
+ * (spec.tag).
294
293
  */
295
294
  export function newArchiveCurrentSkillStep(store, logger) {
296
- return {
297
- name: "ArchiveCurrentSkill",
298
- async execute(ctx) {
299
- const skill = ctx.get(SKILL_KEY);
300
- const versionHash = skill.status?.versionHash ?? "";
301
- if (versionHash === "") {
302
- return;
303
- }
304
- const tag = skill.spec?.tag ?? "";
305
- const skillId = skill.metadata.id;
306
- // Repoint, never duplicate: if this content was ever archived, the
307
- // head simply repoints to the existing row and only the tag
308
- // assignment below still runs. An unexpected lookup failure degrades
309
- // to archiving anyway — a possible duplicate row beats a failed push
310
- // (readers resolve duplicates newest-wins).
311
- let alreadyArchived = false;
312
- try {
313
- await store.getAuditByHash(ctx.apiResourceKind, skillId, versionHash, SkillSchema);
314
- alreadyArchived = true;
315
- }
316
- catch (error) {
317
- if (!(error instanceof AuditNotFoundError)) {
318
- logger.warn("Could not check for an existing archived skill version — archiving anyway", {
319
- skillId,
320
- versionHash,
321
- error: error instanceof Error ? error.message : String(error),
322
- });
323
- }
324
- }
325
- if (!alreadyArchived) {
326
- // Archive the snapshot tagless: the tag lives only in the audit
327
- // tag column (the source of truth), assigned below through the
328
- // single-holder primitive — a later tag move never rewrites this
329
- // immutable content.
330
- try {
331
- await store.saveAudit(ctx.apiResourceKind, skillId, SkillSchema, skill, versionHash, "");
332
- }
333
- catch (error) {
334
- logger.error("Failed to archive skill version — reverting the version hash to maintain the audit-resolvability invariant", {
335
- skillId,
336
- versionHash,
337
- error: error instanceof Error ? error.message : String(error),
338
- });
339
- // Revert: the persisted head must never reference an audit entry
340
- // that does not exist. The push still succeeds, but without
341
- // version tracking for this apply.
342
- skill.status.versionHash = "";
343
- if (skill.metadata?.version !== undefined) {
344
- skill.metadata.version.id = "";
345
- }
346
- return;
347
- }
348
- }
349
- // Assign the requested tag through setAuditTag — the single-holder
350
- // primitive — so the head version (freshly archived or repointed-to)
351
- // becomes the tag's sole holder; any prior holder is cleared.
352
- if (tag !== "") {
353
- try {
354
- await store.setAuditTag(ctx.apiResourceKind, skillId, versionHash, tag);
355
- }
356
- catch (error) {
357
- logger.error("Archived skill version but failed to assign its tag — clearing the live tag to stay consistent with the audit column", {
358
- skillId,
359
- versionHash,
360
- tag,
361
- error: error instanceof Error ? error.message : String(error),
362
- });
363
- // The audit head is now untagged; keep the live head consistent
364
- // so get / getByReference never advertise a tag the store cannot
365
- // resolve.
366
- skill.spec.tag = "";
367
- }
368
- }
369
- if (alreadyArchived) {
370
- logger.info("Skill version content already archived — repointed head without a new history row", { skillId, versionHash, tag });
371
- }
372
- else {
373
- logger.info("Archived skill version to audit history", {
374
- skillId,
375
- versionHash,
376
- tag,
377
- });
295
+ return newArchiveCurrentVersionStep(store, logger, {
296
+ stepName: "ArchiveCurrentSkill",
297
+ resourceKey: SKILL_KEY,
298
+ schema: SkillSchema,
299
+ noun: "skill",
300
+ headHashOf: (skill) => skill.status?.versionHash ?? "",
301
+ clearHeadHash: (skill) => {
302
+ skill.status.versionHash = "";
303
+ if (skill.metadata?.version !== undefined) {
304
+ skill.metadata.version.id = "";
378
305
  }
379
306
  },
380
- };
307
+ liveTagOf: (skill) => skill.spec?.tag ?? "",
308
+ clearLiveTag: (skill) => {
309
+ skill.spec.tag = "";
310
+ },
311
+ });
381
312
  }
382
313
  /** StoreSkill — persists the fully populated head. */
383
314
  export function newStoreSkillStep(store) {
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/domain/skill/push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/domain/skill/push.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-extractor.d.ts","sourceRoot":"","sources":["../../../src/domain/skill/search-extractor.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,eAAO,MAAM,oBAAoB,EAAE,mBAyClC,CAAC"}
1
+ {"version":3,"file":"search-extractor.d.ts","sourceRoot":"","sources":["../../../src/domain/skill/search-extractor.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,eAAO,MAAM,oBAAoB,EAAE,mBA2ClC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-extractor.js","sourceRoot":"","sources":["../../../src/domain/skill/search-extractor.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;AACtH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAI/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE,MAAM,CAAC,MAAM,oBAAoB,GAAwB;IACvD,IAAI,EAAE,eAAe,CAAC,KAAK;IAC3B,MAAM,EAAE,WAAW;IAEnB,gBAAgB,CAAC,QAAiB;QAChC,wDAAwD;QACxD,MAAM,KAAK,GAAG,QAA4B,CAAC;QAC3C,OAAO,KAAK,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,cAAc,CAAC,QAAiB,EAAE,KAAa;QAC7C,MAAM,KAAK,GAAG,QAA4B,CAAC;QAC3C,OAAO,iBAAiB,CAAC;YACvB,IAAI,EAAE,eAAe,CAAC,KAAK;YAC3B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE;YACtC,KAAK;YACL,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;YACpD,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;SACrD,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,QAAiB;QACnC,MAAM,KAAK,GAAG,QAA4B,CAAC;QAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,wDAAwD;YACxD,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE;YAC1C,+DAA+D;YAC/D,kCAAkC;YAClC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YAC7B,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,0DAA0D;YAC1D,UAAU,EAAE,qBAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE;YAC5D,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC;SAC5E,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"search-extractor.js","sourceRoot":"","sources":["../../../src/domain/skill/search-extractor.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;AACtH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAI/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE,MAAM,CAAC,MAAM,oBAAoB,GAAwB;IACvD,IAAI,EAAE,eAAe,CAAC,KAAK;IAC3B,MAAM,EAAE,WAAW;IAEnB,gBAAgB,CAAC,QAAiB;QAChC,wDAAwD;QACxD,MAAM,KAAK,GAAG,QAA4B,CAAC;QAC3C,OAAO,KAAK,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,cAAc,CAAC,QAAiB,EAAE,KAAa;QAC7C,MAAM,KAAK,GAAG,QAA4B,CAAC;QAC3C,OAAO,iBAAiB,CAAC;YACvB,IAAI,EAAE,eAAe,CAAC,KAAK;YAC3B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE;YACtC,KAAK;YACL,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;YACpD,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;SACrD,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,QAAiB;QACnC,MAAM,KAAK,GAAG,QAA4B,CAAC;QAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,wDAAwD;YACxD,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE;YAC1C,+DAA+D;YAC/D,kCAAkC;YAClC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YAC7B,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,0DAA0D;YAC1D,UAAU,EAAE,qBAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE;YAC5D,SAAS,EAAE,MAAM,CACf,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,IAAI,EAAE,CACzD;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -1,33 +1,30 @@
1
- import type { ArtifactStorage } from "../../../artifactstorage/artifact-storage.js";
2
- /**
3
- * Storage abstraction for skill artifacts (Go ArtifactStorage). The
4
- * interface exists for the same reason as Go's: cloud uses R2 behind the
5
- * identical surface, and the controller must not know which one it holds.
6
- */
7
- export interface SkillArtifactStorage {
8
- /** Saves an artifact under its content hash; returns the storage key. */
9
- store(hash: string, data: Uint8Array): Promise<string>;
10
- /** Loads an artifact by storage key; throws ArtifactNotFoundError if absent. */
11
- get(storageKey: string): Promise<Uint8Array>;
12
- /** Whether an artifact with this content hash already exists (dedupe). */
13
- exists(hash: string): Promise<boolean>;
14
- /** The storage key for a hash, without storing ("skills/<hash>.zip"). */
15
- getStorageKey(hash: string): string;
16
- /** The stored artifact's byte size via stat — never loads content. */
17
- size(storageKey: string): Promise<number>;
18
- }
19
1
  /**
20
- * A storage key that addresses nothing inside the store — missing file OR
21
- * a traversal-shaped key (both render as Go's "artifact not found: %s";
22
- * distinguishing them would tell a probing caller which escapes exist).
23
- */
24
- export declare class ArtifactNotFoundError extends Error {
25
- constructor(storageKey: string);
26
- }
27
- /**
28
- * The skill store over a blob driver. Object-literal factory rather than a
29
- * class: all state is the captured driver, and the seam-adapter shape
30
- * matches runner-credential-provider.ts (the O5 house style for ports).
2
+ * Skill artifact store — the `skills/` instance of the content-addressed
3
+ * archive store (src/archive/content-store.ts). Artifacts live at
4
+ * {storagePath}/skills/{sha256}.zip, byte-identical to the retired Go
5
+ * server's paths: at cutover the TS server inherited a Go-written storage
6
+ * directory and serves its artifacts in place. Write-once, never
7
+ * garbage-collected (OD-5): there is deliberately NO delete method, so the
8
+ * storage keys listVersions exposes stay downloadable.
9
+ *
10
+ * Since O5 (20260827.02, blueprint 03 §6b) this is a DOMAIN PORT over the
11
+ * one ArtifactStorage blob driver (the Q2 gate ruling); the compose root
12
+ * hands it a PER-DOMAIN driver instance rooted at storagePath (Q2b), so
13
+ * skill artifacts never silently follow the generic artifact store's
14
+ * backend selection. The port's implementation moved to src/archive when
15
+ * plugins needed the identical shape under `plugins/`; the names exported
16
+ * here are the skill domain's and every consumer keeps them.
17
+ *
18
+ * Proven by __tests__/artifact-storage.test.ts and the skill conformance
19
+ * suite's getArtifact/round-trip tests.
31
20
  */
21
+ import type { ArtifactStorage } from "../../../artifactstorage/artifact-storage.js";
22
+ import type { ContentAddressedArchiveStore } from "../../../archive/content-store.js";
23
+ export { ArtifactNotFoundError } from "../../../archive/content-store.js";
24
+ /** Storage abstraction for skill artifacts (Go ArtifactStorage). */
25
+ export type SkillArtifactStorage = ContentAddressedArchiveStore;
26
+ /** The key prefix shared with cloud R2 and the download lane's containment check. */
27
+ export declare const SKILL_ARTIFACT_KEY_PREFIX = "skills/";
28
+ /** The skill store over a blob driver: "skills/<hash>.zip". */
32
29
  export declare function newSkillArtifactStorage(driver: ArtifactStorage): SkillArtifactStorage;
33
30
  //# sourceMappingURL=artifact-storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-storage.d.ts","sourceRoot":"","sources":["../../../../src/domain/skill/storage/artifact-storage.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAGpF;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,yEAAyE;IACzE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,gFAAgF;IAChF,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,0EAA0E;IAC1E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,yEAAyE;IACzE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,sEAAsE;IACtE,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3C;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,UAAU,EAAE,MAAM;CAI/B;AAKD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,eAAe,GACtB,oBAAoB,CAwDtB"}
1
+ {"version":3,"file":"artifact-storage.d.ts","sourceRoot":"","sources":["../../../../src/domain/skill/storage/artifact-storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAGtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,oEAAoE;AACpE,MAAM,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AAEhE,qFAAqF;AACrF,eAAO,MAAM,yBAAyB,YAAY,CAAC;AAEnD,+DAA+D;AAC/D,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,eAAe,GACtB,oBAAoB,CAEtB"}
@@ -1,106 +1,9 @@
1
- /**
2
- * Skill artifact store — ports pkg/domain/skill/storage/artifact_storage.go.
3
- * Content-addressed, write-once, never garbage-collected (OD-5): artifacts
4
- * live at {storagePath}/skills/{sha256}.zip, byte-identical to Go's paths —
5
- * at cutover the TS server inherits a Go-written storage directory and must
6
- * serve its artifacts in place. There is deliberately NO delete method on
7
- * the interface: historical versions stay downloadable through the storage
8
- * keys listVersions exposes.
9
- *
10
- * Since O5 (20260827.02, blueprint 03 §6b) this is a DOMAIN PORT layered
11
- * over the one ArtifactStorage blob driver (the Q2 gate ruling): the
12
- * driver stores blobs; this module owns the keys, the write-once posture,
13
- * and the not-found vocabulary. The compose root hands it a PER-DOMAIN
14
- * driver instance rooted at storagePath (the Q2b ruling) — skill artifacts
15
- * never silently follow the generic artifact store's backend selection.
16
- *
17
- * Proven by __tests__/artifact-storage.test.ts and the skill conformance
18
- * suite's getArtifact/round-trip tests.
19
- */
20
- import path from "node:path";
21
- import { ArtifactStorageNotFoundError } from "../../../artifactstorage/artifact-storage.js";
22
- /**
23
- * A storage key that addresses nothing inside the store — missing file OR
24
- * a traversal-shaped key (both render as Go's "artifact not found: %s";
25
- * distinguishing them would tell a probing caller which escapes exist).
26
- */
27
- export class ArtifactNotFoundError extends Error {
28
- constructor(storageKey) {
29
- super(`artifact not found: ${storageKey}`);
30
- this.name = "ArtifactNotFoundError";
31
- }
32
- }
33
- /** Skill artifacts are zip archives; the driver stores the honest type. */
34
- const SKILL_ARTIFACT_CONTENT_TYPE = "application/zip";
35
- /**
36
- * The skill store over a blob driver. Object-literal factory rather than a
37
- * class: all state is the captured driver, and the seam-adapter shape
38
- * matches runner-credential-provider.ts (the O5 house style for ports).
39
- */
1
+ import { newContentAddressedArchiveStore } from "../../../archive/content-store.js";
2
+ export { ArtifactNotFoundError } from "../../../archive/content-store.js";
3
+ /** The key prefix shared with cloud R2 and the download lane's containment check. */
4
+ export const SKILL_ARTIFACT_KEY_PREFIX = "skills/";
5
+ /** The skill store over a blob driver: "skills/<hash>.zip". */
40
6
  export function newSkillArtifactStorage(driver) {
41
- return {
42
- /**
43
- * "skills/<hash>.zip" — the relative key format shared with cloud R2.
44
- * Deliberately a LITERAL forward-slash join, not path.join: the key is
45
- * a wire-visible identifier (status.artifact_storage_key, download
46
- * URLs, the lane's "skills/" prefix check), and Windows support
47
- * arrives only through this server (#24) — path.join would mint
48
- * backslash keys there that the download lane could never serve.
49
- */
50
- getStorageKey(hash) {
51
- return `skills/${hash}.zip`;
52
- },
53
- async store(hash, data) {
54
- const storageKey = this.getStorageKey(hash);
55
- await driver.upload(storageKey, data, SKILL_ARTIFACT_CONTENT_TYPE);
56
- return storageKey;
57
- },
58
- async get(storageKey) {
59
- if (keyEscapesStore(storageKey)) {
60
- throw new ArtifactNotFoundError(storageKey);
61
- }
62
- try {
63
- return await driver.download(storageKey);
64
- }
65
- catch (error) {
66
- if (error instanceof ArtifactStorageNotFoundError) {
67
- throw new ArtifactNotFoundError(storageKey);
68
- }
69
- throw new Error(`failed to read artifact: ${error instanceof Error ? error.message : String(error)}`);
70
- }
71
- },
72
- async exists(hash) {
73
- return driver.exists(this.getStorageKey(hash));
74
- },
75
- async size(storageKey) {
76
- if (keyEscapesStore(storageKey)) {
77
- throw new ArtifactNotFoundError(storageKey);
78
- }
79
- try {
80
- return await driver.size(storageKey);
81
- }
82
- catch (error) {
83
- if (error instanceof ArtifactStorageNotFoundError) {
84
- throw new ArtifactNotFoundError(storageKey);
85
- }
86
- throw new Error(`failed to stat artifact: ${error instanceof Error ? error.message : String(error)}`);
87
- }
88
- },
89
- };
90
- }
91
- /**
92
- * The domain's own traversal guard (Go resolveWithinRoot, kept HERE per
93
- * "the domain owns keys"): a client-supplied storage key that resolves
94
- * outside the store addresses nothing inside it, and must collapse to the
95
- * same not-found as a missing file BEFORE the driver sees it — the
96
- * driver's own containment refusal is a distinguishable error, and
97
- * distinguishing them would tell a probing caller which escapes exist.
98
- * Lexical, against a fixed virtual root, so the judgment is identical on
99
- * every backend rather than an accident of the local driver's directory.
100
- */
101
- function keyEscapesStore(storageKey) {
102
- const virtualRoot = path.resolve(path.sep, "skill-store");
103
- const resolved = path.resolve(virtualRoot, storageKey);
104
- return (resolved !== virtualRoot && !resolved.startsWith(virtualRoot + path.sep));
7
+ return newContentAddressedArchiveStore(driver, SKILL_ARTIFACT_KEY_PREFIX);
105
8
  }
106
9
  //# sourceMappingURL=artifact-storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-storage.js","sourceRoot":"","sources":["../../../../src/domain/skill/storage/artifact-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact-storage.js","sourceRoot":"","sources":["../../../../src/domain/skill/storage/artifact-storage.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAK1E,qFAAqF;AACrF,MAAM,CAAC,MAAM,yBAAyB,GAAG,SAAS,CAAC;AAEnD,+DAA+D;AAC/D,MAAM,UAAU,uBAAuB,CACrC,MAAuB;IAEvB,OAAO,+BAA+B,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;AAC5E,CAAC"}
@@ -1,3 +1,4 @@
1
+ export { calculateHash } from "../../../archive/open.js";
1
2
  /** Result of a successful gate pass (Go ExtractSkillMdResult). */
2
3
  export interface ExtractSkillMdResult {
3
4
  /** Full SKILL.md content, frontmatter included. */
@@ -15,6 +16,4 @@ export interface ExtractSkillMdResult {
15
16
  * push pipeline owns the gRPC code.
16
17
  */
17
18
  export declare function extractSkillMd(zipData: Uint8Array): ExtractSkillMdResult;
18
- /** SHA-256 hex of the artifact bytes (Go CalculateHash). */
19
- export declare function calculateHash(data: Uint8Array): string;
20
19
  //# sourceMappingURL=zip-gate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zip-gate.d.ts","sourceRoot":"","sources":["../../../../src/domain/skill/storage/zip-gate.ts"],"names":[],"mappings":"AAyCA,kEAAkE;AAClE,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAMD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,oBAAoB,CA0CxE;AAwID,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEtD"}
1
+ {"version":3,"file":"zip-gate.d.ts","sourceRoot":"","sources":["../../../../src/domain/skill/storage/zip-gate.ts"],"names":[],"mappings":"AA0CA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,kEAAkE;AAClE,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,oBAAoB,CAwCxE"}