@stigmer/server 3.15.3-dev.20260914121148 → 3.16.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 (680) 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/lane-admission.d.ts +50 -0
  42. package/dist/authorization/lane-admission.d.ts.map +1 -0
  43. package/dist/authorization/lane-admission.js +13 -0
  44. package/dist/authorization/lane-admission.js.map +1 -0
  45. package/dist/authorization/list-read-scope.d.ts +18 -0
  46. package/dist/authorization/list-read-scope.d.ts.map +1 -0
  47. package/dist/authorization/list-read-scope.js +155 -0
  48. package/dist/authorization/list-read-scope.js.map +1 -0
  49. package/dist/authorization/model/agent.d.ts +2 -0
  50. package/dist/authorization/model/agent.d.ts.map +1 -0
  51. package/dist/authorization/model/agent.js +42 -0
  52. package/dist/authorization/model/agent.js.map +1 -0
  53. package/dist/authorization/model/agent_channel.d.ts +2 -0
  54. package/dist/authorization/model/agent_channel.d.ts.map +1 -0
  55. package/dist/authorization/model/agent_channel.js +38 -0
  56. package/dist/authorization/model/agent_channel.js.map +1 -0
  57. package/dist/authorization/model/agent_execution.d.ts +2 -0
  58. package/dist/authorization/model/agent_execution.d.ts.map +1 -0
  59. package/dist/authorization/model/agent_execution.js +25 -0
  60. package/dist/authorization/model/agent_execution.js.map +1 -0
  61. package/dist/authorization/model/agent_instance.d.ts +2 -0
  62. package/dist/authorization/model/agent_instance.d.ts.map +1 -0
  63. package/dist/authorization/model/agent_instance.js +47 -0
  64. package/dist/authorization/model/agent_instance.js.map +1 -0
  65. package/dist/authorization/model/agent_share.d.ts +2 -0
  66. package/dist/authorization/model/agent_share.d.ts.map +1 -0
  67. package/dist/authorization/model/agent_share.js +29 -0
  68. package/dist/authorization/model/agent_share.js.map +1 -0
  69. package/dist/authorization/model/api_key.d.ts +2 -0
  70. package/dist/authorization/model/api_key.d.ts.map +1 -0
  71. package/dist/authorization/model/api_key.js +27 -0
  72. package/dist/authorization/model/api_key.js.map +1 -0
  73. package/dist/authorization/model/artifact.d.ts +2 -0
  74. package/dist/authorization/model/artifact.d.ts.map +1 -0
  75. package/dist/authorization/model/artifact.js +27 -0
  76. package/dist/authorization/model/artifact.js.map +1 -0
  77. package/dist/authorization/model/channel_app.d.ts +2 -0
  78. package/dist/authorization/model/channel_app.d.ts.map +1 -0
  79. package/dist/authorization/model/channel_app.js +28 -0
  80. package/dist/authorization/model/channel_app.js.map +1 -0
  81. package/dist/authorization/model/default-of.d.ts +38 -0
  82. package/dist/authorization/model/default-of.d.ts.map +1 -0
  83. package/dist/authorization/model/default-of.js +39 -0
  84. package/dist/authorization/model/default-of.js.map +1 -0
  85. package/dist/authorization/model/environment.d.ts +2 -0
  86. package/dist/authorization/model/environment.d.ts.map +1 -0
  87. package/dist/authorization/model/environment.js +33 -0
  88. package/dist/authorization/model/environment.js.map +1 -0
  89. package/dist/authorization/model/execution_context.d.ts +2 -0
  90. package/dist/authorization/model/execution_context.d.ts.map +1 -0
  91. package/dist/authorization/model/execution_context.js +19 -0
  92. package/dist/authorization/model/execution_context.js.map +1 -0
  93. package/dist/authorization/model/iam_policy.d.ts +2 -0
  94. package/dist/authorization/model/iam_policy.d.ts.map +1 -0
  95. package/dist/authorization/model/iam_policy.js +31 -0
  96. package/dist/authorization/model/iam_policy.js.map +1 -0
  97. package/dist/authorization/model/identity_account.d.ts +2 -0
  98. package/dist/authorization/model/identity_account.d.ts.map +1 -0
  99. package/dist/authorization/model/identity_account.js +25 -0
  100. package/dist/authorization/model/identity_account.js.map +1 -0
  101. package/dist/authorization/model/index.d.ts +36 -0
  102. package/dist/authorization/model/index.d.ts.map +1 -0
  103. package/dist/authorization/model/index.js +72 -0
  104. package/dist/authorization/model/index.js.map +1 -0
  105. package/dist/authorization/model/mcp_server.d.ts +2 -0
  106. package/dist/authorization/model/mcp_server.d.ts.map +1 -0
  107. package/dist/authorization/model/mcp_server.js +37 -0
  108. package/dist/authorization/model/mcp_server.js.map +1 -0
  109. package/dist/authorization/model/memory.d.ts +2 -0
  110. package/dist/authorization/model/memory.d.ts.map +1 -0
  111. package/dist/authorization/model/memory.js +26 -0
  112. package/dist/authorization/model/memory.js.map +1 -0
  113. package/dist/authorization/model/oauth_app.d.ts +2 -0
  114. package/dist/authorization/model/oauth_app.d.ts.map +1 -0
  115. package/dist/authorization/model/oauth_app.js +30 -0
  116. package/dist/authorization/model/oauth_app.js.map +1 -0
  117. package/dist/authorization/model/organization.d.ts +2 -0
  118. package/dist/authorization/model/organization.d.ts.map +1 -0
  119. package/dist/authorization/model/organization.js +54 -0
  120. package/dist/authorization/model/organization.js.map +1 -0
  121. package/dist/authorization/model/plugin.d.ts +2 -0
  122. package/dist/authorization/model/plugin.d.ts.map +1 -0
  123. package/dist/authorization/model/plugin.js +44 -0
  124. package/dist/authorization/model/plugin.js.map +1 -0
  125. package/dist/authorization/model/project.d.ts +2 -0
  126. package/dist/authorization/model/project.d.ts.map +1 -0
  127. package/dist/authorization/model/project.js +32 -0
  128. package/dist/authorization/model/project.js.map +1 -0
  129. package/dist/authorization/model/rewrite.d.ts +127 -0
  130. package/dist/authorization/model/rewrite.d.ts.map +1 -0
  131. package/dist/authorization/model/rewrite.js +82 -0
  132. package/dist/authorization/model/rewrite.js.map +1 -0
  133. package/dist/authorization/model/schedule.d.ts +2 -0
  134. package/dist/authorization/model/schedule.d.ts.map +1 -0
  135. package/dist/authorization/model/schedule.js +29 -0
  136. package/dist/authorization/model/schedule.js.map +1 -0
  137. package/dist/authorization/model/session.d.ts +2 -0
  138. package/dist/authorization/model/session.d.ts.map +1 -0
  139. package/dist/authorization/model/session.js +38 -0
  140. package/dist/authorization/model/session.js.map +1 -0
  141. package/dist/authorization/model/skill.d.ts +2 -0
  142. package/dist/authorization/model/skill.d.ts.map +1 -0
  143. package/dist/authorization/model/skill.js +38 -0
  144. package/dist/authorization/model/skill.js.map +1 -0
  145. package/dist/authorization/model/workflow.d.ts +2 -0
  146. package/dist/authorization/model/workflow.d.ts.map +1 -0
  147. package/dist/authorization/model/workflow.js +38 -0
  148. package/dist/authorization/model/workflow.js.map +1 -0
  149. package/dist/authorization/model/workflow_execution.d.ts +2 -0
  150. package/dist/authorization/model/workflow_execution.d.ts.map +1 -0
  151. package/dist/authorization/model/workflow_execution.js +32 -0
  152. package/dist/authorization/model/workflow_execution.js.map +1 -0
  153. package/dist/authorization/model/workflow_instance.d.ts +2 -0
  154. package/dist/authorization/model/workflow_instance.d.ts.map +1 -0
  155. package/dist/authorization/model/workflow_instance.js +92 -0
  156. package/dist/authorization/model/workflow_instance.js.map +1 -0
  157. package/dist/authorization/organization-directory.d.ts +13 -0
  158. package/dist/authorization/organization-directory.d.ts.map +1 -0
  159. package/dist/authorization/organization-directory.js +83 -0
  160. package/dist/authorization/organization-directory.js.map +1 -0
  161. package/dist/authorization/person.d.ts +42 -0
  162. package/dist/authorization/person.d.ts.map +1 -0
  163. package/dist/authorization/person.js +19 -0
  164. package/dist/authorization/person.js.map +1 -0
  165. package/dist/authorization/posture.d.ts +38 -0
  166. package/dist/authorization/posture.d.ts.map +1 -0
  167. package/dist/authorization/posture.js +7 -0
  168. package/dist/authorization/posture.js.map +1 -0
  169. package/dist/authorization/schedule-fire-caller.d.ts +12 -0
  170. package/dist/authorization/schedule-fire-caller.d.ts.map +1 -0
  171. package/dist/authorization/schedule-fire-caller.js +67 -0
  172. package/dist/authorization/schedule-fire-caller.js.map +1 -0
  173. package/dist/authorization/store-test-kit.d.ts +68 -0
  174. package/dist/authorization/store-test-kit.d.ts.map +1 -0
  175. package/dist/authorization/store-test-kit.js +311 -0
  176. package/dist/authorization/store-test-kit.js.map +1 -0
  177. package/dist/authorization/tuples.d.ts +115 -0
  178. package/dist/authorization/tuples.d.ts.map +1 -0
  179. package/dist/authorization/tuples.js +83 -0
  180. package/dist/authorization/tuples.js.map +1 -0
  181. package/dist/boot/compose.d.ts.map +1 -1
  182. package/dist/boot/compose.js +220 -43
  183. package/dist/boot/compose.js.map +1 -1
  184. package/dist/boot/inprocess.d.ts +12 -0
  185. package/dist/boot/inprocess.d.ts.map +1 -1
  186. package/dist/boot/inprocess.js +68 -21
  187. package/dist/boot/inprocess.js.map +1 -1
  188. package/dist/domain/agent/controller.d.ts.map +1 -1
  189. package/dist/domain/agent/controller.js +9 -0
  190. package/dist/domain/agent/controller.js.map +1 -1
  191. package/dist/domain/executioncontext/resolve-values-for-caller.d.ts +33 -14
  192. package/dist/domain/executioncontext/resolve-values-for-caller.d.ts.map +1 -1
  193. package/dist/domain/executioncontext/resolve-values-for-caller.js +32 -8
  194. package/dist/domain/executioncontext/resolve-values-for-caller.js.map +1 -1
  195. package/dist/domain/iampolicy/constants.d.ts +11 -0
  196. package/dist/domain/iampolicy/constants.d.ts.map +1 -1
  197. package/dist/domain/iampolicy/constants.js +11 -0
  198. package/dist/domain/iampolicy/constants.js.map +1 -1
  199. package/dist/domain/iampolicy/membership.d.ts +72 -1
  200. package/dist/domain/iampolicy/membership.d.ts.map +1 -1
  201. package/dist/domain/iampolicy/membership.js +141 -56
  202. package/dist/domain/iampolicy/membership.js.map +1 -1
  203. package/dist/domain/identityaccount/actor.d.ts +41 -0
  204. package/dist/domain/identityaccount/actor.d.ts.map +1 -0
  205. package/dist/domain/identityaccount/actor.js +34 -0
  206. package/dist/domain/identityaccount/actor.js.map +1 -0
  207. package/dist/domain/identityaccount/resolve.d.ts +19 -0
  208. package/dist/domain/identityaccount/resolve.d.ts.map +1 -1
  209. package/dist/domain/identityaccount/resolve.js +12 -0
  210. package/dist/domain/identityaccount/resolve.js.map +1 -1
  211. package/dist/domain/mcpserver/connect-execution-id.d.ts +5 -0
  212. package/dist/domain/mcpserver/connect-execution-id.d.ts.map +1 -0
  213. package/dist/domain/mcpserver/connect-execution-id.js +32 -0
  214. package/dist/domain/mcpserver/connect-execution-id.js.map +1 -0
  215. package/dist/domain/mcpserver/connect.d.ts +28 -2
  216. package/dist/domain/mcpserver/connect.d.ts.map +1 -1
  217. package/dist/domain/mcpserver/connect.js +27 -7
  218. package/dist/domain/mcpserver/connect.js.map +1 -1
  219. package/dist/domain/mcpserver/controller.d.ts.map +1 -1
  220. package/dist/domain/mcpserver/controller.js +9 -0
  221. package/dist/domain/mcpserver/controller.js.map +1 -1
  222. package/dist/domain/mcpserver/engine.d.ts +9 -3
  223. package/dist/domain/mcpserver/engine.d.ts.map +1 -1
  224. package/dist/domain/mcpserver/engine.js.map +1 -1
  225. package/dist/domain/mcpserver/start-connect.js +1 -1
  226. package/dist/domain/mcpserver/start-connect.js.map +1 -1
  227. package/dist/domain/platform/controller.d.ts +24 -11
  228. package/dist/domain/platform/controller.d.ts.map +1 -1
  229. package/dist/domain/platform/controller.js.map +1 -1
  230. package/dist/domain/plugin/archive.d.ts +37 -0
  231. package/dist/domain/plugin/archive.d.ts.map +1 -0
  232. package/dist/domain/plugin/archive.js +50 -0
  233. package/dist/domain/plugin/archive.js.map +1 -0
  234. package/dist/domain/plugin/constants.d.ts +38 -0
  235. package/dist/domain/plugin/constants.d.ts.map +1 -0
  236. package/dist/domain/plugin/constants.js +46 -0
  237. package/dist/domain/plugin/constants.js.map +1 -0
  238. package/dist/domain/plugin/controller.d.ts +25 -0
  239. package/dist/domain/plugin/controller.d.ts.map +1 -0
  240. package/dist/domain/plugin/controller.js +493 -0
  241. package/dist/domain/plugin/controller.js.map +1 -0
  242. package/dist/domain/plugin/materialize/agent.d.ts +13 -0
  243. package/dist/domain/plugin/materialize/agent.d.ts.map +1 -0
  244. package/dist/domain/plugin/materialize/agent.js +128 -0
  245. package/dist/domain/plugin/materialize/agent.js.map +1 -0
  246. package/dist/domain/plugin/materialize/default-agent-instructions.d.ts +22 -0
  247. package/dist/domain/plugin/materialize/default-agent-instructions.d.ts.map +1 -0
  248. package/dist/domain/plugin/materialize/default-agent-instructions.js +31 -0
  249. package/dist/domain/plugin/materialize/default-agent-instructions.js.map +1 -0
  250. package/dist/domain/plugin/materialize/identity.d.ts +28 -0
  251. package/dist/domain/plugin/materialize/identity.d.ts.map +1 -0
  252. package/dist/domain/plugin/materialize/identity.js +40 -0
  253. package/dist/domain/plugin/materialize/identity.js.map +1 -0
  254. package/dist/domain/plugin/materialize/mcp-servers.d.ts +15 -0
  255. package/dist/domain/plugin/materialize/mcp-servers.d.ts.map +1 -0
  256. package/dist/domain/plugin/materialize/mcp-servers.js +131 -0
  257. package/dist/domain/plugin/materialize/mcp-servers.js.map +1 -0
  258. package/dist/domain/plugin/materialize/plan.d.ts +24 -0
  259. package/dist/domain/plugin/materialize/plan.d.ts.map +1 -0
  260. package/dist/domain/plugin/materialize/plan.js +77 -0
  261. package/dist/domain/plugin/materialize/plan.js.map +1 -0
  262. package/dist/domain/plugin/materialize/ports.d.ts +42 -0
  263. package/dist/domain/plugin/materialize/ports.d.ts.map +1 -0
  264. package/dist/domain/plugin/materialize/ports.js +2 -0
  265. package/dist/domain/plugin/materialize/ports.js.map +1 -0
  266. package/dist/domain/plugin/materialize/skills.d.ts +12 -0
  267. package/dist/domain/plugin/materialize/skills.d.ts.map +1 -0
  268. package/dist/domain/plugin/materialize/skills.js +44 -0
  269. package/dist/domain/plugin/materialize/skills.js.map +1 -0
  270. package/dist/domain/plugin/materialize/workflows.d.ts +15 -0
  271. package/dist/domain/plugin/materialize/workflows.d.ts.map +1 -0
  272. package/dist/domain/plugin/materialize/workflows.js +31 -0
  273. package/dist/domain/plugin/materialize/workflows.js.map +1 -0
  274. package/dist/domain/plugin/members.d.ts +42 -0
  275. package/dist/domain/plugin/members.d.ts.map +1 -0
  276. package/dist/domain/plugin/members.js +97 -0
  277. package/dist/domain/plugin/members.js.map +1 -0
  278. package/dist/domain/plugin/overlay/documents.d.ts +31 -0
  279. package/dist/domain/plugin/overlay/documents.d.ts.map +1 -0
  280. package/dist/domain/plugin/overlay/documents.js +38 -0
  281. package/dist/domain/plugin/overlay/documents.js.map +1 -0
  282. package/dist/domain/plugin/overlay/parse.d.ts +16 -0
  283. package/dist/domain/plugin/overlay/parse.d.ts.map +1 -0
  284. package/dist/domain/plugin/overlay/parse.js +79 -0
  285. package/dist/domain/plugin/overlay/parse.js.map +1 -0
  286. package/dist/domain/plugin/overlay/sanitize.d.ts +10 -0
  287. package/dist/domain/plugin/overlay/sanitize.d.ts.map +1 -0
  288. package/dist/domain/plugin/overlay/sanitize.js +103 -0
  289. package/dist/domain/plugin/overlay/sanitize.js.map +1 -0
  290. package/dist/domain/plugin/push.d.ts +133 -0
  291. package/dist/domain/plugin/push.d.ts.map +1 -0
  292. package/dist/domain/plugin/push.js +800 -0
  293. package/dist/domain/plugin/push.js.map +1 -0
  294. package/dist/domain/plugin/search-extractor.d.ts +3 -0
  295. package/dist/domain/plugin/search-extractor.d.ts.map +1 -0
  296. package/dist/domain/plugin/search-extractor.js +41 -0
  297. package/dist/domain/plugin/search-extractor.js.map +1 -0
  298. package/dist/domain/skill/constants.d.ts +6 -11
  299. package/dist/domain/skill/constants.d.ts.map +1 -1
  300. package/dist/domain/skill/constants.js +6 -11
  301. package/dist/domain/skill/constants.js.map +1 -1
  302. package/dist/domain/skill/controller.d.ts.map +1 -1
  303. package/dist/domain/skill/controller.js +33 -30
  304. package/dist/domain/skill/controller.js.map +1 -1
  305. package/dist/domain/skill/push.d.ts +9 -10
  306. package/dist/domain/skill/push.d.ts.map +1 -1
  307. package/dist/domain/skill/push.js +53 -122
  308. package/dist/domain/skill/push.js.map +1 -1
  309. package/dist/domain/skill/search-extractor.d.ts.map +1 -1
  310. package/dist/domain/skill/search-extractor.js.map +1 -1
  311. package/dist/domain/skill/storage/artifact-storage.d.ts +26 -29
  312. package/dist/domain/skill/storage/artifact-storage.d.ts.map +1 -1
  313. package/dist/domain/skill/storage/artifact-storage.js +6 -103
  314. package/dist/domain/skill/storage/artifact-storage.js.map +1 -1
  315. package/dist/domain/skill/storage/zip-gate.d.ts +1 -2
  316. package/dist/domain/skill/storage/zip-gate.d.ts.map +1 -1
  317. package/dist/domain/skill/storage/zip-gate.js +56 -126
  318. package/dist/domain/skill/storage/zip-gate.js.map +1 -1
  319. package/dist/domain/skill/version-resolution.d.ts +5 -5
  320. package/dist/domain/skill/version-resolution.d.ts.map +1 -1
  321. package/dist/domain/skill/version-resolution.js +34 -216
  322. package/dist/domain/skill/version-resolution.js.map +1 -1
  323. package/dist/domain/workflow/controller.d.ts.map +1 -1
  324. package/dist/domain/workflow/controller.js +30 -3
  325. package/dist/domain/workflow/controller.js.map +1 -1
  326. package/dist/domain/workflow/registry/data/task-kind-registry.json +1 -0
  327. package/dist/domain/workflowexecution/phases.d.ts +21 -0
  328. package/dist/domain/workflowexecution/phases.d.ts.map +1 -0
  329. package/dist/domain/workflowexecution/phases.js +31 -0
  330. package/dist/domain/workflowexecution/phases.js.map +1 -0
  331. package/dist/extensions/authorizer.d.ts +10 -5
  332. package/dist/extensions/authorizer.d.ts.map +1 -1
  333. package/dist/extensions/drivers.d.ts +4 -1
  334. package/dist/extensions/drivers.d.ts.map +1 -1
  335. package/dist/extensions/list-read-scope.d.ts +47 -20
  336. package/dist/extensions/list-read-scope.d.ts.map +1 -1
  337. package/dist/extensions/list-read-scope.js +20 -24
  338. package/dist/extensions/list-read-scope.js.map +1 -1
  339. package/dist/extensions/organization-directory.d.ts +13 -9
  340. package/dist/extensions/organization-directory.d.ts.map +1 -1
  341. package/dist/extensions/organization-directory.js.map +1 -1
  342. package/dist/extensions/resource-authorization.d.ts +33 -0
  343. package/dist/extensions/resource-authorization.d.ts.map +1 -1
  344. package/dist/extensions/schedule-fire-caller.d.ts +45 -18
  345. package/dist/extensions/schedule-fire-caller.d.ts.map +1 -1
  346. package/dist/extensions/schedule-fire-caller.js +12 -1
  347. package/dist/extensions/schedule-fire-caller.js.map +1 -1
  348. package/dist/identity/oidc-verifier.js +8 -1
  349. package/dist/identity/oidc-verifier.js.map +1 -1
  350. package/dist/index.d.ts +10 -0
  351. package/dist/index.d.ts.map +1 -1
  352. package/dist/index.js +8 -0
  353. package/dist/index.js.map +1 -1
  354. package/dist/pipeline/apiresource-labels.d.ts +23 -3
  355. package/dist/pipeline/apiresource-labels.d.ts.map +1 -1
  356. package/dist/pipeline/apiresource-labels.js +20 -0
  357. package/dist/pipeline/apiresource-labels.js.map +1 -1
  358. package/dist/pipeline/apiresource-meta.d.ts +15 -0
  359. package/dist/pipeline/apiresource-meta.d.ts.map +1 -1
  360. package/dist/pipeline/apiresource-meta.js +34 -0
  361. package/dist/pipeline/apiresource-meta.js.map +1 -1
  362. package/dist/pipeline/errors.d.ts.map +1 -1
  363. package/dist/pipeline/errors.js.map +1 -1
  364. package/dist/pipeline/steps/authorization-facts.d.ts +12 -0
  365. package/dist/pipeline/steps/authorization-facts.d.ts.map +1 -0
  366. package/dist/pipeline/steps/authorization-facts.js +100 -0
  367. package/dist/pipeline/steps/authorization-facts.js.map +1 -0
  368. package/dist/pipeline/steps/delete.d.ts.map +1 -1
  369. package/dist/pipeline/steps/delete.js +1 -1
  370. package/dist/pipeline/steps/delete.js.map +1 -1
  371. package/dist/pipeline/steps/duplicate.d.ts.map +1 -1
  372. package/dist/pipeline/steps/duplicate.js.map +1 -1
  373. package/dist/pipeline/steps/guard-memory-capture.d.ts.map +1 -1
  374. package/dist/pipeline/steps/guard-memory-capture.js +5 -3
  375. package/dist/pipeline/steps/guard-memory-capture.js.map +1 -1
  376. package/dist/pipeline/steps/guard-plugin-managed.d.ts +12 -0
  377. package/dist/pipeline/steps/guard-plugin-managed.d.ts.map +1 -0
  378. package/dist/pipeline/steps/guard-plugin-managed.js +96 -0
  379. package/dist/pipeline/steps/guard-plugin-managed.js.map +1 -0
  380. package/dist/pipeline/steps/guard-reserved-labels.d.ts +16 -2
  381. package/dist/pipeline/steps/guard-reserved-labels.d.ts.map +1 -1
  382. package/dist/pipeline/steps/guard-reserved-labels.js +11 -7
  383. package/dist/pipeline/steps/guard-reserved-labels.js.map +1 -1
  384. package/dist/pipeline/steps/helpers.d.ts.map +1 -1
  385. package/dist/pipeline/steps/helpers.js.map +1 -1
  386. package/dist/pipeline/steps/index-search.d.ts.map +1 -1
  387. package/dist/pipeline/steps/index-search.js.map +1 -1
  388. package/dist/pipeline/steps/load-existing.d.ts.map +1 -1
  389. package/dist/pipeline/steps/load-existing.js +1 -1
  390. package/dist/pipeline/steps/load-existing.js.map +1 -1
  391. package/dist/pipeline/steps/references.d.ts +16 -0
  392. package/dist/pipeline/steps/references.d.ts.map +1 -1
  393. package/dist/pipeline/steps/references.js +18 -0
  394. package/dist/pipeline/steps/references.js.map +1 -1
  395. package/dist/pipeline/steps/resolve-artifact-source.d.ts +35 -0
  396. package/dist/pipeline/steps/resolve-artifact-source.d.ts.map +1 -0
  397. package/dist/pipeline/steps/resolve-artifact-source.js +27 -0
  398. package/dist/pipeline/steps/resolve-artifact-source.js.map +1 -0
  399. package/dist/pipeline/steps/server-stamped-reserved-labels.d.ts.map +1 -1
  400. package/dist/pipeline/steps/server-stamped-reserved-labels.js.map +1 -1
  401. package/dist/pipeline/steps/slug.d.ts.map +1 -1
  402. package/dist/pipeline/steps/slug.js.map +1 -1
  403. package/dist/pipeline/steps/validate-visibility.d.ts +9 -0
  404. package/dist/pipeline/steps/validate-visibility.d.ts.map +1 -1
  405. package/dist/pipeline/steps/validate-visibility.js +6 -1
  406. package/dist/pipeline/steps/validate-visibility.js.map +1 -1
  407. package/dist/pipeline/steps/validation.d.ts.map +1 -1
  408. package/dist/pipeline/steps/validation.js.map +1 -1
  409. package/dist/pipeline/steps/version-archive.d.ts +63 -0
  410. package/dist/pipeline/steps/version-archive.d.ts.map +1 -0
  411. package/dist/pipeline/steps/version-archive.js +129 -0
  412. package/dist/pipeline/steps/version-archive.js.map +1 -0
  413. package/dist/pipeline/steps/version-history.d.ts +49 -0
  414. package/dist/pipeline/steps/version-history.d.ts.map +1 -0
  415. package/dist/pipeline/steps/version-history.js +229 -0
  416. package/dist/pipeline/steps/version-history.js.map +1 -0
  417. package/dist/pipeline/steps/visibility-gates.d.ts +8 -0
  418. package/dist/pipeline/steps/visibility-gates.d.ts.map +1 -1
  419. package/dist/pipeline/steps/visibility-gates.js +7 -2
  420. package/dist/pipeline/steps/visibility-gates.js.map +1 -1
  421. package/dist/query/search/registry.d.ts.map +1 -1
  422. package/dist/query/search/registry.js +2 -0
  423. package/dist/query/search/registry.js.map +1 -1
  424. package/dist/runnerauth/bound-execution.d.ts +27 -0
  425. package/dist/runnerauth/bound-execution.d.ts.map +1 -0
  426. package/dist/runnerauth/bound-execution.js +137 -0
  427. package/dist/runnerauth/bound-execution.js.map +1 -0
  428. package/dist/runnerauth/built-in-runner-credential-provider.d.ts +28 -0
  429. package/dist/runnerauth/built-in-runner-credential-provider.d.ts.map +1 -0
  430. package/dist/runnerauth/built-in-runner-credential-provider.js +217 -0
  431. package/dist/runnerauth/built-in-runner-credential-provider.js.map +1 -0
  432. package/dist/runnerauth/constants.d.ts +63 -0
  433. package/dist/runnerauth/constants.d.ts.map +1 -0
  434. package/dist/runnerauth/constants.js +63 -0
  435. package/dist/runnerauth/constants.js.map +1 -0
  436. package/dist/runnerauth/dispatch-credential.d.ts +38 -0
  437. package/dist/runnerauth/dispatch-credential.d.ts.map +1 -0
  438. package/dist/runnerauth/dispatch-credential.js +17 -0
  439. package/dist/runnerauth/dispatch-credential.js.map +1 -0
  440. package/dist/runnerauth/runner-credential-provider.d.ts +49 -11
  441. package/dist/runnerauth/runner-credential-provider.d.ts.map +1 -1
  442. package/dist/runnerauth/runner-credential-provider.js +16 -4
  443. package/dist/runnerauth/runner-credential-provider.js.map +1 -1
  444. package/dist/runnerauth/runner-subject-verifier.d.ts +14 -0
  445. package/dist/runnerauth/runner-subject-verifier.d.ts.map +1 -0
  446. package/dist/runnerauth/runner-subject-verifier.js +115 -0
  447. package/dist/runnerauth/runner-subject-verifier.js.map +1 -0
  448. package/dist/runnerauth/runnerauth.d.ts +33 -4
  449. package/dist/runnerauth/runnerauth.d.ts.map +1 -1
  450. package/dist/runnerauth/runnerauth.js +131 -35
  451. package/dist/runnerauth/runnerauth.js.map +1 -1
  452. package/dist/temporal/agentexecution/engine-client.d.ts +13 -0
  453. package/dist/temporal/agentexecution/engine-client.d.ts.map +1 -1
  454. package/dist/temporal/agentexecution/engine-client.js +10 -2
  455. package/dist/temporal/agentexecution/engine-client.js.map +1 -1
  456. package/dist/temporal/agentexecution/workflow-input.d.ts +13 -0
  457. package/dist/temporal/agentexecution/workflow-input.d.ts.map +1 -1
  458. package/dist/temporal/agentexecution/workflows/invoke-agent-execution.d.ts.map +1 -1
  459. package/dist/temporal/agentexecution/workflows/invoke-agent-execution.js +35 -31
  460. package/dist/temporal/agentexecution/workflows/invoke-agent-execution.js.map +1 -1
  461. package/dist/temporal/schedule/run-starter.d.ts +1 -1
  462. package/dist/temporal/schedule/run-starter.d.ts.map +1 -1
  463. package/dist/temporal/schedule/run-starter.js +14 -1
  464. package/dist/temporal/schedule/run-starter.js.map +1 -1
  465. package/dist/temporal/workflowexecution/engine-client.d.ts +24 -0
  466. package/dist/temporal/workflowexecution/engine-client.d.ts.map +1 -1
  467. package/dist/temporal/workflowexecution/engine-client.js +26 -19
  468. package/dist/temporal/workflowexecution/engine-client.js.map +1 -1
  469. package/dist/temporal/workflowexecution/workflow-input.d.ts +14 -0
  470. package/dist/temporal/workflowexecution/workflow-input.d.ts.map +1 -1
  471. package/package.json +5 -4
  472. package/src/archive/__tests__/archive.test.ts +233 -0
  473. package/src/{domain/skill → archive}/__tests__/prefilter.test.ts +1 -1
  474. package/src/archive/content-store.ts +132 -0
  475. package/src/archive/inflate.ts +107 -0
  476. package/src/archive/limits.ts +42 -0
  477. package/src/archive/open.ts +131 -0
  478. package/src/{domain/skill/storage → archive}/prefilter.ts +5 -0
  479. package/src/archive/write.ts +54 -0
  480. package/src/authorization/README.md +124 -0
  481. package/src/authorization/__tests__/authorizer.test.ts +719 -0
  482. package/src/authorization/__tests__/derived-tuples.test.ts +802 -0
  483. package/src/authorization/__tests__/drivers.ts +70 -0
  484. package/src/authorization/__tests__/evaluator.test.ts +359 -0
  485. package/src/authorization/__tests__/facts.test.ts +155 -0
  486. package/src/authorization/__tests__/fixtures/fga/agent-channel-owner.fga.yaml +112 -0
  487. package/src/authorization/__tests__/fixtures/fga/agent-share-owner.fga.yaml +109 -0
  488. package/src/authorization/__tests__/fixtures/fga/artifact-org-and-owner.fga.yaml +128 -0
  489. package/src/authorization/__tests__/fixtures/fga/blueprint-private-visibility.fga.yaml +410 -0
  490. package/src/authorization/__tests__/fixtures/fga/channel-app-owner.fga.yaml +125 -0
  491. package/src/authorization/__tests__/fixtures/fga/channel-participation.fga.yaml +201 -0
  492. package/src/authorization/__tests__/fixtures/fga/channel-session-visibility.fga.yaml +187 -0
  493. package/src/authorization/__tests__/fixtures/fga/cross-org-share-creation.fga.yaml +98 -0
  494. package/src/authorization/__tests__/fixtures/fga/default-instance-inheritance.fga.yaml +271 -0
  495. package/src/authorization/__tests__/fixtures/fga/memory-subject-only.fga.yaml +72 -0
  496. package/src/authorization/__tests__/fixtures/fga/org-admin-owner-inheritance.fga.yaml +328 -0
  497. package/src/authorization/__tests__/fixtures/fga/org-shared-environment.fga.yaml +144 -0
  498. package/src/authorization/__tests__/fixtures/fga/platform-visibility.fga.yaml +223 -0
  499. package/src/authorization/__tests__/fixtures/fga/provider-standing-viewer.fga.yaml +40 -0
  500. package/src/authorization/__tests__/fixtures/fga/public-visibility-setter.fga.yaml +52 -0
  501. package/src/authorization/__tests__/fixtures/fga/reserved-label-writer.fga.yaml +41 -0
  502. package/src/authorization/__tests__/fixtures/fga/schedule-owner.fga.yaml +113 -0
  503. package/src/authorization/__tests__/fixtures/fga/schedule-session-visibility.fga.yaml +214 -0
  504. package/src/authorization/__tests__/fixtures/fga/session-personal-resource.fga.yaml +117 -0
  505. package/src/authorization/__tests__/fixtures/fga/workflow-execution-sharing.fga.yaml +192 -0
  506. package/src/authorization/__tests__/lane-admission.test.ts +115 -0
  507. package/src/authorization/__tests__/list-read-scope.measure.test.ts +317 -0
  508. package/src/authorization/__tests__/list-read-scope.test.ts +796 -0
  509. package/src/authorization/__tests__/organization-directory.test.ts +236 -0
  510. package/src/authorization/__tests__/person.test.ts +114 -0
  511. package/src/authorization/__tests__/posture.test.ts +25 -0
  512. package/src/authorization/__tests__/schedule-fire-caller.test.ts +134 -0
  513. package/src/authorization/__tests__/store-tests.test.ts +306 -0
  514. package/src/authorization/__tests__/support.ts +101 -0
  515. package/src/authorization/__tests__/tuples.test.ts +62 -0
  516. package/src/authorization/__tests__/wire-permissions.test.ts +154 -0
  517. package/src/authorization/authorizer.ts +208 -0
  518. package/src/authorization/derived-tuples.ts +384 -0
  519. package/src/authorization/evaluator.ts +283 -0
  520. package/src/authorization/facts.ts +47 -0
  521. package/src/authorization/lane-admission.ts +73 -0
  522. package/src/authorization/list-read-scope.ts +216 -0
  523. package/src/authorization/model/__tests__/registry.test.ts +317 -0
  524. package/src/authorization/model/agent.ts +64 -0
  525. package/src/authorization/model/agent_channel.ts +49 -0
  526. package/src/authorization/model/agent_execution.ts +33 -0
  527. package/src/authorization/model/agent_instance.ts +66 -0
  528. package/src/authorization/model/agent_share.ts +40 -0
  529. package/src/authorization/model/api_key.ts +28 -0
  530. package/src/authorization/model/artifact.ts +38 -0
  531. package/src/authorization/model/channel_app.ts +39 -0
  532. package/src/authorization/model/default-of.ts +99 -0
  533. package/src/authorization/model/environment.ts +48 -0
  534. package/src/authorization/model/execution_context.ts +20 -0
  535. package/src/authorization/model/iam_policy.ts +42 -0
  536. package/src/authorization/model/identity_account.ts +26 -0
  537. package/src/authorization/model/index.ts +108 -0
  538. package/src/authorization/model/mcp_server.ts +59 -0
  539. package/src/authorization/model/memory.ts +27 -0
  540. package/src/authorization/model/oauth_app.ts +42 -0
  541. package/src/authorization/model/organization.ts +55 -0
  542. package/src/authorization/model/plugin.ts +66 -0
  543. package/src/authorization/model/project.ts +47 -0
  544. package/src/authorization/model/rewrite.ts +213 -0
  545. package/src/authorization/model/schedule.ts +40 -0
  546. package/src/authorization/model/session.ts +50 -0
  547. package/src/authorization/model/skill.ts +60 -0
  548. package/src/authorization/model/workflow.ts +60 -0
  549. package/src/authorization/model/workflow_execution.ts +44 -0
  550. package/src/authorization/model/workflow_instance.ts +122 -0
  551. package/src/authorization/organization-directory.ts +114 -0
  552. package/src/authorization/person.ts +68 -0
  553. package/src/authorization/posture.ts +49 -0
  554. package/src/authorization/schedule-fire-caller.ts +87 -0
  555. package/src/authorization/store-test-kit.ts +454 -0
  556. package/src/authorization/tuples.ts +190 -0
  557. package/src/boot/compose.ts +246 -52
  558. package/src/boot/inprocess.ts +115 -31
  559. package/src/domain/agent/controller.ts +11 -0
  560. package/src/domain/executioncontext/__tests__/executioncontext.test.ts +104 -0
  561. package/src/domain/executioncontext/__tests__/resolve-values-capability.test.ts +33 -4
  562. package/src/domain/executioncontext/resolve-values-for-caller.ts +79 -22
  563. package/src/domain/iampolicy/__tests__/membership.test.ts +357 -3
  564. package/src/domain/iampolicy/constants.ts +12 -0
  565. package/src/domain/iampolicy/membership.ts +221 -66
  566. package/src/domain/identityaccount/__tests__/account-for-stamp.test.ts +111 -0
  567. package/src/domain/identityaccount/actor.ts +84 -0
  568. package/src/domain/identityaccount/resolve.ts +31 -0
  569. package/src/domain/mcpserver/__tests__/connect.test.ts +17 -2
  570. package/src/domain/mcpserver/connect-execution-id.ts +34 -0
  571. package/src/domain/mcpserver/connect.ts +38 -3
  572. package/src/domain/mcpserver/controller.ts +11 -0
  573. package/src/domain/mcpserver/engine.ts +9 -3
  574. package/src/domain/mcpserver/start-connect.ts +1 -1
  575. package/src/domain/platform/controller.ts +24 -11
  576. package/src/domain/plugin/__tests__/materialize.test.ts +303 -0
  577. package/src/domain/plugin/__tests__/overlay-parse.test.ts +85 -0
  578. package/src/domain/plugin/__tests__/plugin.test.ts +796 -0
  579. package/src/domain/plugin/__tests__/sanitize.test.ts +174 -0
  580. package/src/domain/plugin/archive.ts +89 -0
  581. package/src/domain/plugin/constants.ts +53 -0
  582. package/src/domain/plugin/controller.ts +913 -0
  583. package/src/domain/plugin/materialize/agent.ts +186 -0
  584. package/src/domain/plugin/materialize/default-agent-instructions.ts +59 -0
  585. package/src/domain/plugin/materialize/identity.ts +67 -0
  586. package/src/domain/plugin/materialize/mcp-servers.ts +175 -0
  587. package/src/domain/plugin/materialize/plan.ts +124 -0
  588. package/src/domain/plugin/materialize/ports.ts +53 -0
  589. package/src/domain/plugin/materialize/skills.ts +68 -0
  590. package/src/domain/plugin/materialize/workflows.ts +51 -0
  591. package/src/domain/plugin/members.ts +180 -0
  592. package/src/domain/plugin/overlay/documents.ts +78 -0
  593. package/src/domain/plugin/overlay/parse.ts +115 -0
  594. package/src/domain/plugin/overlay/sanitize.ts +151 -0
  595. package/src/domain/plugin/push.ts +1062 -0
  596. package/src/domain/plugin/search-extractor.ts +60 -0
  597. package/src/domain/skill/constants.ts +11 -14
  598. package/src/domain/skill/controller.ts +44 -36
  599. package/src/domain/skill/push.ts +61 -156
  600. package/src/domain/skill/search-extractor.ts +3 -1
  601. package/src/domain/skill/storage/artifact-storage.ts +23 -124
  602. package/src/domain/skill/storage/zip-gate.ts +58 -154
  603. package/src/domain/skill/version-resolution.ts +67 -269
  604. package/src/domain/workflow/controller.ts +38 -4
  605. package/src/domain/workflow/registry/data/task-kind-registry.json +1 -0
  606. package/src/domain/workflowexecution/__tests__/phases.test.ts +58 -0
  607. package/src/domain/workflowexecution/phases.ts +33 -0
  608. package/src/extensions/__tests__/built-in-authorization-composed.test.ts +835 -0
  609. package/src/extensions/__tests__/composed-support.ts +32 -1
  610. package/src/extensions/__tests__/extension-composition.test.ts +42 -1
  611. package/src/extensions/__tests__/list-read-scope.test.ts +137 -33
  612. package/src/extensions/__tests__/role-reconciliation-composed.test.ts +209 -0
  613. package/src/extensions/__tests__/tier-truthfulness.test.ts +6 -14
  614. package/src/extensions/authorizer.ts +10 -5
  615. package/src/extensions/drivers.ts +4 -1
  616. package/src/extensions/list-read-scope.ts +67 -45
  617. package/src/extensions/organization-directory.ts +13 -9
  618. package/src/extensions/resource-authorization.ts +34 -0
  619. package/src/extensions/schedule-fire-caller.ts +49 -18
  620. package/src/identity/__tests__/oidc-verifier.test.ts +22 -0
  621. package/src/identity/oidc-verifier.ts +8 -1
  622. package/src/index.ts +51 -1
  623. package/src/pipeline/__tests__/kind-by-id-prefix.test.ts +75 -0
  624. package/src/pipeline/__tests__/router-transport.test.ts +1 -3
  625. package/src/pipeline/apiresource-labels.ts +31 -3
  626. package/src/pipeline/apiresource-meta.ts +41 -0
  627. package/src/pipeline/errors.ts +5 -5
  628. package/src/pipeline/steps/__tests__/authorize-annotation-completeness.test.ts +1 -20
  629. package/src/pipeline/steps/__tests__/guard-memory-capture.test.ts +58 -44
  630. package/src/pipeline/steps/__tests__/guard-plugin-managed.test.ts +151 -0
  631. package/src/pipeline/steps/__tests__/guard-reserved-labels.test.ts +83 -8
  632. package/src/pipeline/steps/authorization-facts.ts +131 -0
  633. package/src/pipeline/steps/delete.ts +11 -3
  634. package/src/pipeline/steps/duplicate.ts +8 -2
  635. package/src/pipeline/steps/guard-memory-capture.ts +5 -3
  636. package/src/pipeline/steps/guard-plugin-managed.ts +133 -0
  637. package/src/pipeline/steps/guard-reserved-labels.ts +29 -8
  638. package/src/pipeline/steps/helpers.ts +4 -1
  639. package/src/pipeline/steps/index-search.ts +28 -15
  640. package/src/pipeline/steps/load-existing.ts +12 -3
  641. package/src/pipeline/steps/references.ts +36 -2
  642. package/src/pipeline/steps/resolve-artifact-source.ts +66 -0
  643. package/src/pipeline/steps/server-stamped-reserved-labels.ts +2 -1
  644. package/src/pipeline/steps/slug.ts +7 -2
  645. package/src/pipeline/steps/validate-visibility.ts +9 -2
  646. package/src/pipeline/steps/validation.ts +3 -1
  647. package/src/pipeline/steps/version-archive.ts +225 -0
  648. package/src/pipeline/steps/version-history.ts +362 -0
  649. package/src/pipeline/steps/visibility-gates.ts +12 -9
  650. package/src/query/README.md +1 -1
  651. package/src/query/search/__tests__/criteria.test.ts +6 -7
  652. package/src/query/search/__tests__/query-store.test.ts +9 -2
  653. package/src/query/search/__tests__/registry.test.ts +6 -4
  654. package/src/query/search/registry.ts +6 -1
  655. package/src/runnerauth/__tests__/bound-execution.test.ts +334 -0
  656. package/src/runnerauth/__tests__/built-in-runner-credential-provider.test.ts +516 -0
  657. package/src/runnerauth/__tests__/dispatch-credential.test.ts +94 -0
  658. package/src/runnerauth/__tests__/runner-credential-provider.test.ts +27 -0
  659. package/src/runnerauth/__tests__/runner-subject-composed.test.ts +497 -0
  660. package/src/runnerauth/__tests__/runner-subject-verifier.test.ts +541 -0
  661. package/src/runnerauth/bound-execution.ts +270 -0
  662. package/src/runnerauth/built-in-runner-credential-provider.ts +300 -0
  663. package/src/runnerauth/constants.ts +74 -0
  664. package/src/runnerauth/dispatch-credential.ts +63 -0
  665. package/src/runnerauth/runner-credential-provider.ts +60 -11
  666. package/src/runnerauth/runner-subject-verifier.ts +152 -0
  667. package/src/runnerauth/runnerauth.ts +148 -38
  668. package/src/temporal/agentexecution/__tests__/engine-client.test.ts +107 -38
  669. package/src/temporal/agentexecution/__tests__/invoke-workflow.test.ts +105 -2
  670. package/src/temporal/agentexecution/engine-client.ts +27 -2
  671. package/src/temporal/agentexecution/workflow-input.ts +13 -0
  672. package/src/temporal/agentexecution/workflows/invoke-agent-execution.ts +90 -44
  673. package/src/temporal/schedule/__tests__/run-starter.test.ts +86 -24
  674. package/src/temporal/schedule/run-starter.ts +31 -8
  675. package/src/temporal/workflowexecution/__tests__/engine-client.test.ts +139 -33
  676. package/src/temporal/workflowexecution/engine-client.ts +48 -21
  677. package/src/temporal/workflowexecution/workflow-input.ts +14 -0
  678. package/dist/domain/skill/storage/prefilter.d.ts.map +0 -1
  679. package/dist/domain/skill/storage/prefilter.js.map +0 -1
  680. /package/dist/{domain/skill/storage → archive}/prefilter.js +0 -0
@@ -29,8 +29,19 @@ import path from "node:path";
29
29
  import type { ConnectRouter, Transport } from "@connectrpc/connect";
30
30
 
31
31
  import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
32
+ import { ServerEdition } from "@stigmer/protos/ai/stigmer/platform/v1/server_info_pb";
32
33
  import { HealthCheckResponse_ServingStatus as ServingStatus } from "@stigmer/protos/grpc/health/v1/health_pb";
33
34
 
35
+ import { newBuiltInAuthorizer } from "../authorization/authorizer.js";
36
+ import { newLaneAdmittedAuthorizer } from "../authorization/lane-admission.js";
37
+ import { newBuiltInListReadScope } from "../authorization/list-read-scope.js";
38
+ import { newBuiltInOrganizationDirectory } from "../authorization/organization-directory.js";
39
+ import { authorizationPostureOf } from "../authorization/posture.js";
40
+ import { newBuiltInScheduleFireCaller } from "../authorization/schedule-fire-caller.js";
41
+ import type { Authorizer } from "../extensions/authorizer.js";
42
+ import type { ListReadScope } from "../extensions/list-read-scope.js";
43
+ import type { OrganizationDirectory } from "../extensions/organization-directory.js";
44
+ import type { ScheduleFireCallerMint } from "../extensions/schedule-fire-caller.js";
34
45
  import { registerAgentServices } from "../domain/agent/controller.js";
35
46
  import {
36
47
  newConfigFromEnv,
@@ -99,12 +110,15 @@ import { registerMcpServerServices } from "../domain/mcpserver/controller.js";
99
110
  import { registerPlatformServices } from "../domain/platform/controller.js";
100
111
  import { registerProjectServices } from "../domain/project/controller.js";
101
112
  import { registerSessionServices } from "../domain/session/controller.js";
113
+ import { registerPluginServices } from "../domain/plugin/controller.js";
114
+ import { PLUGIN_ARTIFACT_KEY_PREFIX } from "../domain/plugin/constants.js";
102
115
  import { registerSkillServices } from "../domain/skill/controller.js";
103
116
  import {
104
117
  DEFAULT_SLOT_TTL_MS,
105
118
  MAX_ZIP_SIZE,
106
119
  } from "../domain/skill/constants.js";
107
120
  import { newSkillArtifactStorage } from "../domain/skill/storage/artifact-storage.js";
121
+ import { newContentAddressedArchiveStore } from "../archive/content-store.js";
108
122
  import {
109
123
  newSkillTransferLane,
110
124
  uploadUrl as skillUploadUrl,
@@ -137,7 +151,12 @@ import { operatorIdentitySnapshot } from "../pipeline/steps/defaults.js";
137
151
  import { createErrorBoundaryInterceptor } from "../pipeline/interceptors/error-boundary.js";
138
152
  import { createRequestMetricsInterceptor } from "../pipeline/interceptors/request-metrics.js";
139
153
  import { newPermissiveSingleTeamAuthorizer } from "../pipeline/steps/authorize.js";
154
+ import {
155
+ isWorkflowBoundRunner,
156
+ newBuiltInRunnerCredentialProvider,
157
+ } from "../runnerauth/built-in-runner-credential-provider.js";
140
158
  import { newExecutionScopedRunnerCredentialProvider } from "../runnerauth/runner-credential-provider.js";
159
+ import { newRunnerSubjectIdentityVerifier } from "../runnerauth/runner-subject-verifier.js";
141
160
  import { RunnerAuthService } from "../runnerauth/runnerauth.js";
142
161
  import { PostgresStore } from "../store/postgres/store.js";
143
162
  import { SqliteStore } from "../store/sqlite/store.js";
@@ -285,20 +304,6 @@ export async function composeServer(
285
304
  units: extensions.unitNames.join(", "),
286
305
  });
287
306
  }
288
- // The ONE composed Authorizer (DD-007 §3): an extension's registration
289
- // or the OSS permissive single-team default. Resolved here, handed to
290
- // every controller as an explicit dependency — the Authorize step at
291
- // position 1 of every chain calls it (O2).
292
- const authorizer =
293
- extensions.authorizer ?? newPermissiveSingleTeamAuthorizer();
294
- // The built-in authorization POSTURE (20260913.01, Q-OR-6), named once:
295
- // no unit registered an Authorizer, so the roles open source records
296
- // exist to feed the built-in one. Under it — and only under it — the
297
- // identity-accounts stage below installs the built-in role lifecycle
298
- // and the membership rules; a composition with its own Authorizer has
299
- // its own onboarding and gets neither.
300
- const builtInAuthorization = extensions.authorizer === undefined;
301
-
302
307
  // Stage: storage — the driver selection seam (DD-010): DATABASE_URL
303
308
  // present → Postgres (async connect + advisory-locked migrations), else
304
309
  // sqlite on DB_PATH (migrations v1–v7, incl. adopting a Go-created
@@ -331,6 +336,38 @@ export async function composeServer(
331
336
  const requireAuthentication =
332
337
  authEnabled || extensions.requireAuthentication !== undefined;
333
338
 
339
+ // The AUTHORIZATION posture (authorization/posture.ts), named once and
340
+ // handed down: a unit's own Authorizer (nothing built in installs);
341
+ // the built-in posture (no unit Authorizer under an authentication
342
+ // posture — open source composes its Authorizer, organization directory
343
+ // and schedule fire caller below, and the roles 2b records are
344
+ // enforced); or trusted-local (the permissive default: one caller,
345
+ // nothing to separate). `builtInAuthorization` (20260913.01, Q-OR-6) is
346
+ // the first two together — the roles exist to feed the built-in
347
+ // authorizer, so the identity stage installs the built-in role
348
+ // lifecycle and the membership rules under both; a composition with its
349
+ // own Authorizer has its own onboarding and gets neither.
350
+ const authorizationPosture = authorizationPostureOf({
351
+ unitAuthorizer: extensions.authorizer !== undefined,
352
+ requireAuthentication,
353
+ });
354
+ const builtInAuthorization = authorizationPosture !== "unit-authorizer";
355
+ // The built-in authorizer declares the open-source kinds and no other
356
+ // (its registry is pinned set-equal to that tier), so a composition
357
+ // that serves a wider edition must bring its own Authorizer: every
358
+ // check on a kind the model does not declare would otherwise fault
359
+ // INTERNAL per request. Refused at boot, the same class as a
360
+ // misconfigured registry (DD-006 §2b) and the verifierless posture
361
+ // below — caught before any side effect.
362
+ if (
363
+ authorizationPosture === "built-in" &&
364
+ extensions.edition !== ServerEdition.oss
365
+ ) {
366
+ throw new Error(
367
+ `the composition serves edition '${ServerEdition[extensions.edition]}' under the require-authentication posture but registers no Authorizer — the built-in authorizer enforces the open-source kinds only; register an Authorizer or serve the open-source edition`,
368
+ );
369
+ }
370
+
334
371
  // Stage: identity accounts (20260911.11) — the first domain whose
335
372
  // persistence is a PORT rather than the generic Store. The composed
336
373
  // driver (`drivers.identityAccountStore`, Q-IA-9) serves when a unit
@@ -400,6 +437,110 @@ export async function composeServer(
400
437
  operatorEmail: operatorIdentity.email,
401
438
  })
402
439
  : undefined;
440
+ // Stage: runner credentials (§6c, O5). The concrete service is
441
+ // constructed and exposed UNCONDITIONALLY — its boot-fatal key posture
442
+ // is the ratified cross-domain invariant, and the boot/EC-decrypt tests
443
+ // mint against the server's own key through it. The provider over it is
444
+ // the edition's whole credential story in one object: a composed
445
+ // driver; otherwise, under the built-in authorization posture, open
446
+ // source's built-in provider (runnerauth/built-in-runner-credential-
447
+ // provider.ts — the execution-scoped default plus the lineage-vouching,
448
+ // memory-capture and exchange-gating capabilities an enforcing
449
+ // self-host needs, and the one reading of a runner's binding the
450
+ // Authorizer below admits a workflow-bound runner on); otherwise the
451
+ // execution-scoped default, byte-identical to the wiring this seam
452
+ // replaced. Both open-source providers also mint the RUN credential the
453
+ // two execution engines put on every dispatch (the engines below take
454
+ // this object; runnerauth/dispatch-credential.ts) — a composed driver
455
+ // that leaves that capability undefined dispatches without one, its
456
+ // runners being credentialed another way. Bound HERE, before the
457
+ // Authorizer, because the lane admission reads the binding.
458
+ const runnerAuthService = RunnerAuthService.fromEnv();
459
+ const runnerCredentials =
460
+ extensions.drivers.runnerCredentialProvider ??
461
+ (authorizationPosture === "built-in"
462
+ ? newBuiltInRunnerCredentialProvider({
463
+ service: runnerAuthService,
464
+ store,
465
+ accounts: identityAccounts,
466
+ })
467
+ : newExecutionScopedRunnerCredentialProvider(runnerAuthService));
468
+ // The ONE composed Authorizer (DD-007 §3), bound here — after the store,
469
+ // the account port and the IamPolicy port it reads — and handed to every
470
+ // controller as an explicit dependency; the Authorize step at position 1
471
+ // of every chain calls it (O2). By posture: an extension's registration;
472
+ // open source's built-in Authorizer (authorization/authorizer.ts — the
473
+ // cloud's model evaluated over the tuples the row would have had),
474
+ // decorated with the lane admission (authorization/lane-admission.ts) so
475
+ // a runner acting for a WORKFLOW execution passes the run gate on the
476
+ // child executions its `agent_call` creates — the parent workflow
477
+ // already passed its own, the cloud's `workflow_sandbox` posture; or
478
+ // the permissive single-team default. The organization directory and the
479
+ // schedule fire caller are bound beside it under the same posture, so
480
+ // `findMyOrganizations` lists what a person may view and a scheduled run
481
+ // belongs to the person who scheduled it — a fire the internal lane
482
+ // would otherwise hand to nobody an enforcing evaluator recognizes.
483
+ const authorizer: Authorizer =
484
+ extensions.authorizer ??
485
+ (authorizationPosture === "built-in"
486
+ ? newLaneAdmittedAuthorizer(
487
+ newBuiltInAuthorizer({
488
+ store,
489
+ policies: iamPolicies,
490
+ accounts: identityAccounts,
491
+ edition: extensions.edition,
492
+ logger,
493
+ }),
494
+ (caller) => isWorkflowBoundRunner(runnerAuthService, caller),
495
+ )
496
+ : newPermissiveSingleTeamAuthorizer());
497
+ const organizationDirectory: OrganizationDirectory | undefined =
498
+ extensions.drivers.organizationDirectory ??
499
+ (authorizationPosture === "built-in"
500
+ ? newBuiltInOrganizationDirectory({
501
+ store,
502
+ policies: iamPolicies,
503
+ accounts: identityAccounts,
504
+ })
505
+ : undefined);
506
+ const scheduleFireCaller: ScheduleFireCallerMint | undefined =
507
+ extensions.drivers.scheduleFireCaller ??
508
+ (authorizationPosture === "built-in"
509
+ ? newBuiltInScheduleFireCaller({ store, accounts: identityAccounts })
510
+ : undefined);
511
+ // The ONE list read scope (the seam's single-instance point), bound
512
+ // here under the same posture and handed to every list-shaped consumer
513
+ // below — the post-scan lanes through restrictListByReadScope, the
514
+ // search, activity and summary lanes through the enumeration verb. A
515
+ // unit's driver wins in every posture; the built-in one evaluates the
516
+ // model per candidate over the facts the candidate carries
517
+ // (authorization/list-read-scope.ts); trusted-local composes none and
518
+ // keeps the full scan.
519
+ const listReadScope: ListReadScope | undefined =
520
+ extensions.drivers.listReadScope ??
521
+ (authorizationPosture === "built-in"
522
+ ? newBuiltInListReadScope({
523
+ store,
524
+ policies: iamPolicies,
525
+ accounts: identityAccounts,
526
+ logger,
527
+ })
528
+ : undefined);
529
+ logger.info("authorization posture resolved", {
530
+ posture: authorizationPosture,
531
+ authorizer:
532
+ extensions.authorizer !== undefined
533
+ ? "extension"
534
+ : authorizationPosture === "built-in"
535
+ ? "built-in"
536
+ : "permissive",
537
+ listReadScope:
538
+ extensions.drivers.listReadScope !== undefined
539
+ ? "extension"
540
+ : authorizationPosture === "built-in"
541
+ ? "built-in"
542
+ : "none",
543
+ });
403
544
  const identityAccountPath = {
404
545
  accounts: identityAccounts,
405
546
  logger,
@@ -456,6 +597,22 @@ export async function composeServer(
456
597
  });
457
598
  }
458
599
  }
600
+ // The built-in posture's own boot ensure, the sibling of the block
601
+ // above: the membership rules run at a person's FIRST provisioning, so a
602
+ // database whose people were provisioned before the rules existed (a
603
+ // 3.15.x self-host with OIDC on) holds accounts with no role rows — and
604
+ // the built-in authorizer below would make every one of them an
605
+ // outsider on every organization, with nobody left who could grant a
606
+ // way back. Once per database (a bootstrap-state marker; the rules'
607
+ // header), the same arms run for every person account in creation
608
+ // order; a fault is a loud boot throw like the storage stage's, and the
609
+ // next boot converges. Under the built-in posture only: a unit with its
610
+ // own Authorizer has its own onboarding, and trusted-local has the
611
+ // operator ensure above and one principal.
612
+ if (authorizationPosture === "built-in" && membership !== undefined) {
613
+ await membership.ensureRolesForExistingAccounts();
614
+ logger.info("built-in posture role reconciliation ensured");
615
+ }
459
616
 
460
617
  // Stage: keys — the ratified fail-loud boot ASYMMETRY (D2 cross-domain
461
618
  // invariants; Go server.go:277-293):
@@ -510,16 +667,6 @@ export async function composeServer(
510
667
  writeVersionValue === "" ? DEFAULT_WRITE_VERSION : writeVersionValue,
511
668
  registeredCodecs: [...secretCodecs.keys()].sort(),
512
669
  });
513
- const runnerAuthService = RunnerAuthService.fromEnv();
514
- // The runner-credential seam (§6c, O5): the composed provider, or the
515
- // OSS execution-scoped default over the service above. The concrete
516
- // service is constructed and exposed UNCONDITIONALLY either way — its
517
- // boot-fatal key posture is the ratified cross-domain invariant, and the
518
- // boot/EC-decrypt tests mint against the server's own key through it.
519
- const runnerCredentials =
520
- extensions.drivers.runnerCredentialProvider ??
521
- newExecutionScopedRunnerCredentialProvider(runnerAuthService);
522
-
523
670
  // Stage: temporal (#18). Construction is sync and connection-free —
524
671
  // initialConnect/startWorkers/startHealthMonitor run in start(), all
525
672
  // NON-fatal (Go server.go: the server boots and serves with the engine
@@ -643,9 +790,10 @@ export async function composeServer(
643
790
  );
644
791
  // Every fire enters the FULL execution create pipeline through the
645
792
  // in-process agentexecution client (Go server.go 581: the RunStarter's
646
- // ExecutionCreator edge). The composed scheduleFireCaller driver
647
- // (stigmer-cloud#572), when present, gives each fire its edition
648
- // identity — propagated by the creator's asCaller lane.
793
+ // ExecutionCreator edge). The scheduleFireCaller driver bound in the
794
+ // identity stage (stigmer-cloud#572; a unit's, or open source's under
795
+ // the built-in posture), when present, gives each fire its identity —
796
+ // propagated by the creator's asCaller lane.
649
797
  const scheduleRunStarter = new RunStarter({
650
798
  store,
651
799
  config: scheduleTemporalConfig,
@@ -656,7 +804,7 @@ export async function composeServer(
656
804
  fireCaller,
657
805
  ),
658
806
  },
659
- fireCallerMint: extensions.drivers.scheduleFireCaller,
807
+ fireCallerMint: scheduleFireCaller,
660
808
  logger,
661
809
  });
662
810
  const scheduleReconciler = new ScheduleReconciler(
@@ -720,6 +868,7 @@ export async function composeServer(
720
868
  manager: temporalManager,
721
869
  config: temporalConfig,
722
870
  store,
871
+ runnerCredentials,
723
872
  logger,
724
873
  });
725
874
  // The workflow-execution twin: the same provider-is-the-injection
@@ -727,6 +876,7 @@ export async function composeServer(
727
876
  const workflowExecutionEngineState = newWorkflowExecutionEngineStateProvider({
728
877
  manager: temporalManager,
729
878
  config: workflowExecutionTemporalConfig,
879
+ runnerCredentials,
730
880
  logger,
731
881
  });
732
882
  // The artifact blob store (Go server.go 349: shared by agentexecution
@@ -820,6 +970,14 @@ export async function composeServer(
820
970
  );
821
971
  })();
822
972
  const skillArtifactStorage = newSkillArtifactStorage(skillStorageDriver);
973
+ // Plugin archives are pushed archives exactly as skills' are, so they
974
+ // ride the same blob driver and backend selection; the key prefix
975
+ // (`plugins/`) keeps the two stores apart and the plugin store owns its
976
+ // keys (src/archive/content-store.ts).
977
+ const pluginArtifactStorage = newContentAddressedArchiveStore(
978
+ skillStorageDriver,
979
+ PLUGIN_ARTIFACT_KEY_PREFIX,
980
+ );
823
981
  const skillTransferLane = newSkillTransferLane(
824
982
  skillUploadSlots,
825
983
  skillArtifactStorage,
@@ -886,14 +1044,10 @@ export async function composeServer(
886
1044
  const searchHandler = new SearchHandler(
887
1045
  searchQueryStore,
888
1046
  logger,
889
- extensions.drivers.listReadScope,
1047
+ listReadScope,
890
1048
  );
891
1049
  // The activity recents feed (#14) — pure reads over listResources.
892
- const activityHandler = new ActivityHandler(
893
- store,
894
- logger,
895
- extensions.drivers.listReadScope,
896
- );
1050
+ const activityHandler = new ActivityHandler(store, logger, listReadScope);
897
1051
  // The environment runtime-resolution service (#5) — the decrypt-for-
898
1052
  // execution path the EC builder uses to resolve environment_refs (the
899
1053
  // RPC surface redacts secret values, oss#405).
@@ -972,10 +1126,10 @@ export async function composeServer(
972
1126
  logger,
973
1127
  authorizer,
974
1128
  gateSteps: extensions.gateSteps,
975
- // The role lifecycle (the identity stage): the composed driver, or
976
- // open source's owner-row writer under the built-in posture.
1129
+ // The role lifecycle and the directory (the identity stage): the
1130
+ // composed drivers, or open source's under the built-in posture.
977
1131
  authorizationLifecycle: roleLifecycle,
978
- organizationDirectory: extensions.drivers.organizationDirectory,
1132
+ organizationDirectory,
979
1133
  });
980
1134
  // ApiKey is the first domain born AFTER the Go port (O3, 20260827.06 —
981
1135
  // DD-003: the apikey contract is wholly OSS), so it has no Go
@@ -987,7 +1141,7 @@ export async function composeServer(
987
1141
  logger,
988
1142
  authorizer,
989
1143
  authorizationLifecycle,
990
- listReadScope: extensions.drivers.listReadScope,
1144
+ listReadScope,
991
1145
  });
992
1146
  // IdentityAccount (20260911.11): served once by open source in every
993
1147
  // edition over the store PORT bound in the identity-accounts stage; a
@@ -1028,7 +1182,7 @@ export async function composeServer(
1028
1182
  authorizer,
1029
1183
  secretService,
1030
1184
  authorizationLifecycle,
1031
- listReadScope: extensions.drivers.listReadScope,
1185
+ listReadScope,
1032
1186
  });
1033
1187
  // OAuthApp reuses the environment's SecretService instance — Go wires
1034
1188
  // ONE encryption service for both (server.go 302–307).
@@ -1060,7 +1214,7 @@ export async function composeServer(
1060
1214
  authorizer,
1061
1215
  authorizationLifecycle,
1062
1216
  parentAgentLoader: () => requireInProcess().parentAgentLoader,
1063
- listReadScope: extensions.drivers.listReadScope,
1217
+ listReadScope,
1064
1218
  });
1065
1219
  registerSessionServices(router, {
1066
1220
  store,
@@ -1071,7 +1225,7 @@ export async function composeServer(
1071
1225
  gateSteps: extensions.gateSteps,
1072
1226
  sandboxLane,
1073
1227
  authorizationLifecycle,
1074
- listReadScope: extensions.drivers.listReadScope,
1228
+ listReadScope,
1075
1229
  });
1076
1230
  // The sharing/channel family registers after the agent family, as in
1077
1231
  // Go server.go (agent 378 → agentshare 384 → agentchannel 391 →
@@ -1083,14 +1237,14 @@ export async function composeServer(
1083
1237
  logger,
1084
1238
  authorizer,
1085
1239
  authorizationLifecycle,
1086
- listReadScope: extensions.drivers.listReadScope,
1240
+ listReadScope,
1087
1241
  });
1088
1242
  registerAgentChannelServices(router, {
1089
1243
  store,
1090
1244
  logger,
1091
1245
  authorizer,
1092
1246
  authorizationLifecycle,
1093
- listReadScope: extensions.drivers.listReadScope,
1247
+ listReadScope,
1094
1248
  // The SAME domain-owned registry instance the workflow validator
1095
1249
  // and the registry lanes read — the channel model-pin rule
1096
1250
  // (stigmer/stigmer#774) can never drift from the served pickers.
@@ -1124,14 +1278,14 @@ export async function composeServer(
1124
1278
  clock: () => scheduleSyncer,
1125
1279
  runner: () => scheduleRunStarter,
1126
1280
  authorizationLifecycle,
1127
- listReadScope: extensions.drivers.listReadScope,
1281
+ listReadScope,
1128
1282
  });
1129
1283
  registerMemoryServices(router, {
1130
1284
  store,
1131
1285
  logger,
1132
1286
  authorizer,
1133
1287
  authorizationLifecycle,
1134
- listReadScope: extensions.drivers.listReadScope,
1288
+ listReadScope,
1135
1289
  runnerCredentialProvider: runnerCredentials,
1136
1290
  });
1137
1291
  registerAgentExecutionServices(router, {
@@ -1139,7 +1293,7 @@ export async function composeServer(
1139
1293
  logger,
1140
1294
  authorizer,
1141
1295
  authorizationLifecycle,
1142
- listReadScope: extensions.drivers.listReadScope,
1296
+ listReadScope,
1143
1297
  runnerCredentialProvider: runnerCredentials,
1144
1298
  broker: agentExecutionStreamBroker,
1145
1299
  engineState: executionEngineState,
@@ -1182,14 +1336,14 @@ export async function composeServer(
1182
1336
  authorizer,
1183
1337
  authorizationLifecycle,
1184
1338
  parentWorkflowLoader: () => requireInProcess().parentWorkflowLoader,
1185
- listReadScope: extensions.drivers.listReadScope,
1339
+ listReadScope,
1186
1340
  });
1187
1341
  registerWorkflowExecutionServices(router, {
1188
1342
  store,
1189
1343
  logger,
1190
1344
  authorizer,
1191
1345
  authorizationLifecycle,
1192
- listReadScope: extensions.drivers.listReadScope,
1346
+ listReadScope,
1193
1347
  gateSteps: extensions.gateSteps,
1194
1348
  engineState: workflowExecutionEngineState,
1195
1349
  broker: workflowExecutionStreamBroker,
@@ -1234,8 +1388,8 @@ export async function composeServer(
1234
1388
  requireInProcess().executionEnvironmentReader.getSecretValue(input),
1235
1389
  },
1236
1390
  executionContext: {
1237
- create: (ec) =>
1238
- requireInProcess().connectExecutionContextClient.create(ec),
1391
+ create: (ec, caller) =>
1392
+ requireInProcess().connectExecutionContextClient.create(ec, caller),
1239
1393
  delete: (input) =>
1240
1394
  requireInProcess().connectExecutionContextClient.delete(input),
1241
1395
  },
@@ -1263,6 +1417,22 @@ export async function composeServer(
1263
1417
  baseUrl: config.skillTransferBaseUrl,
1264
1418
  },
1265
1419
  });
1420
+ // Plugins materialise their members through the in-process lane as
1421
+ // the installing caller; the lazy provider resolves the clients built
1422
+ // from these same routes after boot. The upload slots are the skill
1423
+ // lane's: one upload surface for every archive.
1424
+ registerPluginServices(router, {
1425
+ store,
1426
+ logger,
1427
+ authorizer,
1428
+ authorizationLifecycle,
1429
+ artifactStorage: pluginArtifactStorage,
1430
+ materializerProvider: () => requireInProcess().pluginMaterializer,
1431
+ transferLane: {
1432
+ slots: skillUploadSlots,
1433
+ baseUrl: config.skillTransferBaseUrl,
1434
+ },
1435
+ });
1266
1436
  // Artifact CRUD shares the ONE blob store with agentexecution's
1267
1437
  // attachment lanes (Go server.go 347–374).
1268
1438
  registerArtifactServices(router, {
@@ -1337,12 +1507,36 @@ export async function composeServer(
1337
1507
  // port the domain writes through (`identityAccounts`, the
1338
1508
  // identity-accounts stage — a composed driver included), so a row
1339
1509
  // provisioning creates resolves on the very next request.
1340
- // The runner's credential in either posture is an operator-minted API
1341
- // token via STIGMER_TOKEN (O3 ruling Q3) — no runner-specific verifier.
1510
+ // - the runner-subject verifier rides the AUTHORIZATION posture
1511
+ // (`built-in`, beside the Authorizer and the fire caller above): it
1512
+ // admits the bearer of the server's own execution-scoped runner
1513
+ // token as the human whose run it is, which only means something
1514
+ // when the server enforces who may report on a run. Its place in
1515
+ // the chain is the contract: BETWEEN `apikey` and `oidc`, because
1516
+ // the OIDC verifier claims any JWT-shaped token and throws on one
1517
+ // it cannot verify — composed after it, ours would never see its
1518
+ // own token, and every runner call would fail as the OIDC verifier's
1519
+ // fault (stigmer#1137). Until 2026-09-16 this comment read "the
1520
+ // runner's credential in either posture is an operator-minted API
1521
+ // token via STIGMER_TOKEN — no runner-specific verifier"; that
1522
+ // described a server whose Authorizer was permissive. The operator's
1523
+ // key is still the runner's PROCESS credential (bootstrap, registry);
1524
+ // the run credential is how it acts for each run. A unit with its
1525
+ // own Authorizer composes none of this — its credential story is its
1526
+ // own (the cloud's sandbox lanes).
1342
1527
  const identityVerifiers = [
1343
1528
  ...(requireAuthentication
1344
1529
  ? [newApiKeyIdentityVerifier({ store, accounts: identityAccounts })]
1345
1530
  : []),
1531
+ ...(authorizationPosture === "built-in"
1532
+ ? [
1533
+ newRunnerSubjectIdentityVerifier({
1534
+ store,
1535
+ accounts: identityAccounts,
1536
+ credentials: runnerCredentials,
1537
+ }),
1538
+ ]
1539
+ : []),
1346
1540
  ...(authEnabled
1347
1541
  ? [
1348
1542
  newOidcIdentityVerifier({