@stigmer/server 3.22.1 → 3.23.1-dev.20260923075205

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 (329) hide show
  1. package/dist/artifactstorage/artifact-storage.d.ts +29 -31
  2. package/dist/artifactstorage/artifact-storage.d.ts.map +1 -1
  3. package/dist/artifactstorage/artifact-storage.js +5 -7
  4. package/dist/artifactstorage/artifact-storage.js.map +1 -1
  5. package/dist/artifactstorage/r2-storage.d.ts +12 -7
  6. package/dist/artifactstorage/r2-storage.d.ts.map +1 -1
  7. package/dist/artifactstorage/r2-storage.js +6 -14
  8. package/dist/artifactstorage/r2-storage.js.map +1 -1
  9. package/dist/authorization/authorizer.d.ts +4 -8
  10. package/dist/authorization/authorizer.d.ts.map +1 -1
  11. package/dist/authorization/authorizer.js +5 -9
  12. package/dist/authorization/authorizer.js.map +1 -1
  13. package/dist/authorization/derived-tuples.d.ts.map +1 -1
  14. package/dist/authorization/derived-tuples.js +10 -25
  15. package/dist/authorization/derived-tuples.js.map +1 -1
  16. package/dist/authorization/evaluator.d.ts +7 -8
  17. package/dist/authorization/evaluator.d.ts.map +1 -1
  18. package/dist/authorization/evaluator.js +4 -20
  19. package/dist/authorization/evaluator.js.map +1 -1
  20. package/dist/authorization/list-read-scope.d.ts.map +1 -1
  21. package/dist/authorization/list-read-scope.js +5 -9
  22. package/dist/authorization/list-read-scope.js.map +1 -1
  23. package/dist/authorization/model/agent.d.ts.map +1 -1
  24. package/dist/authorization/model/agent.js +4 -5
  25. package/dist/authorization/model/agent.js.map +1 -1
  26. package/dist/authorization/model/agent_instance.d.ts.map +1 -1
  27. package/dist/authorization/model/agent_instance.js +2 -2
  28. package/dist/authorization/model/agent_instance.js.map +1 -1
  29. package/dist/authorization/model/mcp_server.d.ts.map +1 -1
  30. package/dist/authorization/model/mcp_server.js +2 -2
  31. package/dist/authorization/model/mcp_server.js.map +1 -1
  32. package/dist/authorization/model/plugin.d.ts.map +1 -1
  33. package/dist/authorization/model/plugin.js +3 -4
  34. package/dist/authorization/model/plugin.js.map +1 -1
  35. package/dist/authorization/model/rewrite.d.ts +8 -10
  36. package/dist/authorization/model/rewrite.d.ts.map +1 -1
  37. package/dist/authorization/model/rewrite.js +0 -3
  38. package/dist/authorization/model/rewrite.js.map +1 -1
  39. package/dist/authorization/model/skill.d.ts.map +1 -1
  40. package/dist/authorization/model/skill.js +2 -2
  41. package/dist/authorization/model/skill.js.map +1 -1
  42. package/dist/authorization/model/workflow.d.ts.map +1 -1
  43. package/dist/authorization/model/workflow.js +2 -2
  44. package/dist/authorization/model/workflow.js.map +1 -1
  45. package/dist/authorization/model/workflow_instance.d.ts.map +1 -1
  46. package/dist/authorization/model/workflow_instance.js +2 -2
  47. package/dist/authorization/model/workflow_instance.js.map +1 -1
  48. package/dist/authorization/organization-directory.d.ts.map +1 -1
  49. package/dist/authorization/organization-directory.js +2 -3
  50. package/dist/authorization/organization-directory.js.map +1 -1
  51. package/dist/authorization/store-test-kit.d.ts +0 -6
  52. package/dist/authorization/store-test-kit.d.ts.map +1 -1
  53. package/dist/authorization/store-test-kit.js +16 -62
  54. package/dist/authorization/store-test-kit.js.map +1 -1
  55. package/dist/authorization/tuples.d.ts +13 -32
  56. package/dist/authorization/tuples.d.ts.map +1 -1
  57. package/dist/authorization/tuples.js +3 -11
  58. package/dist/authorization/tuples.js.map +1 -1
  59. package/dist/boot/compose.d.ts.map +1 -1
  60. package/dist/boot/compose.js +49 -24
  61. package/dist/boot/compose.js.map +1 -1
  62. package/dist/boot/config.d.ts +4 -3
  63. package/dist/boot/config.d.ts.map +1 -1
  64. package/dist/boot/config.js.map +1 -1
  65. package/dist/boot/skill-transfer-origin.d.ts +52 -0
  66. package/dist/boot/skill-transfer-origin.d.ts.map +1 -0
  67. package/dist/boot/skill-transfer-origin.js +54 -0
  68. package/dist/boot/skill-transfer-origin.js.map +1 -0
  69. package/dist/domain/agent/controller.d.ts.map +1 -1
  70. package/dist/domain/agent/controller.js +4 -4
  71. package/dist/domain/agent/controller.js.map +1 -1
  72. package/dist/domain/agentchannel/controller.d.ts.map +1 -1
  73. package/dist/domain/agentchannel/controller.js +3 -1
  74. package/dist/domain/agentchannel/controller.js.map +1 -1
  75. package/dist/domain/agentexecution/controller.d.ts.map +1 -1
  76. package/dist/domain/agentexecution/controller.js +3 -1
  77. package/dist/domain/agentexecution/controller.js.map +1 -1
  78. package/dist/domain/agentinstance/controller.d.ts.map +1 -1
  79. package/dist/domain/agentinstance/controller.js +3 -4
  80. package/dist/domain/agentinstance/controller.js.map +1 -1
  81. package/dist/domain/agentshare/constants.d.ts +6 -11
  82. package/dist/domain/agentshare/constants.d.ts.map +1 -1
  83. package/dist/domain/agentshare/constants.js +8 -16
  84. package/dist/domain/agentshare/constants.js.map +1 -1
  85. package/dist/domain/agentshare/controller.d.ts.map +1 -1
  86. package/dist/domain/agentshare/controller.js +3 -1
  87. package/dist/domain/agentshare/controller.js.map +1 -1
  88. package/dist/domain/agentshare/steps.d.ts +18 -25
  89. package/dist/domain/agentshare/steps.d.ts.map +1 -1
  90. package/dist/domain/agentshare/steps.js +41 -142
  91. package/dist/domain/agentshare/steps.js.map +1 -1
  92. package/dist/domain/environment/controller.d.ts.map +1 -1
  93. package/dist/domain/environment/controller.js +2 -3
  94. package/dist/domain/environment/controller.js.map +1 -1
  95. package/dist/domain/executioncontext/controller.d.ts.map +1 -1
  96. package/dist/domain/executioncontext/controller.js +2 -1
  97. package/dist/domain/executioncontext/controller.js.map +1 -1
  98. package/dist/domain/mcpserver/controller.d.ts.map +1 -1
  99. package/dist/domain/mcpserver/controller.js +3 -4
  100. package/dist/domain/mcpserver/controller.js.map +1 -1
  101. package/dist/domain/plugin/controller.d.ts +3 -7
  102. package/dist/domain/plugin/controller.d.ts.map +1 -1
  103. package/dist/domain/plugin/controller.js +9 -11
  104. package/dist/domain/plugin/controller.js.map +1 -1
  105. package/dist/domain/plugin/push.d.ts +7 -5
  106. package/dist/domain/plugin/push.d.ts.map +1 -1
  107. package/dist/domain/plugin/push.js +8 -14
  108. package/dist/domain/plugin/push.js.map +1 -1
  109. package/dist/domain/schedule/controller.d.ts.map +1 -1
  110. package/dist/domain/schedule/controller.js +3 -1
  111. package/dist/domain/schedule/controller.js.map +1 -1
  112. package/dist/domain/session/controller.d.ts.map +1 -1
  113. package/dist/domain/session/controller.js +3 -2
  114. package/dist/domain/session/controller.js.map +1 -1
  115. package/dist/domain/skill/constants.d.ts +26 -3
  116. package/dist/domain/skill/constants.d.ts.map +1 -1
  117. package/dist/domain/skill/constants.js +26 -3
  118. package/dist/domain/skill/constants.js.map +1 -1
  119. package/dist/domain/skill/controller.d.ts +6 -11
  120. package/dist/domain/skill/controller.d.ts.map +1 -1
  121. package/dist/domain/skill/controller.js +33 -24
  122. package/dist/domain/skill/controller.js.map +1 -1
  123. package/dist/domain/skill/push.d.ts +2 -2
  124. package/dist/domain/skill/push.d.ts.map +1 -1
  125. package/dist/domain/skill/push.js +2 -2
  126. package/dist/domain/skill/push.js.map +1 -1
  127. package/dist/domain/skill/transfer/handler.d.ts +17 -9
  128. package/dist/domain/skill/transfer/handler.d.ts.map +1 -1
  129. package/dist/domain/skill/transfer/handler.js +19 -8
  130. package/dist/domain/skill/transfer/handler.js.map +1 -1
  131. package/dist/domain/skill/transfer/slots.d.ts +26 -41
  132. package/dist/domain/skill/transfer/slots.d.ts.map +1 -1
  133. package/dist/domain/skill/transfer/slots.js +80 -87
  134. package/dist/domain/skill/transfer/slots.js.map +1 -1
  135. package/dist/domain/skill/transfer/staging.d.ts +48 -0
  136. package/dist/domain/skill/transfer/staging.d.ts.map +1 -0
  137. package/dist/domain/skill/transfer/staging.js +127 -0
  138. package/dist/domain/skill/transfer/staging.js.map +1 -0
  139. package/dist/domain/workflow/agent-call-references.d.ts +54 -0
  140. package/dist/domain/workflow/agent-call-references.d.ts.map +1 -0
  141. package/dist/domain/workflow/agent-call-references.js +97 -0
  142. package/dist/domain/workflow/agent-call-references.js.map +1 -0
  143. package/dist/domain/workflow/controller.d.ts.map +1 -1
  144. package/dist/domain/workflow/controller.js +14 -6
  145. package/dist/domain/workflow/controller.js.map +1 -1
  146. package/dist/domain/workflow/registry/data/task-kind-registry.json +1 -1
  147. package/dist/domain/workflow/validation/task-config-constraints.d.ts +10 -1
  148. package/dist/domain/workflow/validation/task-config-constraints.d.ts.map +1 -1
  149. package/dist/domain/workflow/validation/task-config-constraints.js +3 -2
  150. package/dist/domain/workflow/validation/task-config-constraints.js.map +1 -1
  151. package/dist/domain/workflowexecution/controller.d.ts.map +1 -1
  152. package/dist/domain/workflowexecution/controller.js +4 -2
  153. package/dist/domain/workflowexecution/controller.js.map +1 -1
  154. package/dist/domain/workflowinstance/controller.d.ts.map +1 -1
  155. package/dist/domain/workflowinstance/controller.js +3 -4
  156. package/dist/domain/workflowinstance/controller.js.map +1 -1
  157. package/dist/extensions/authorization-queries.d.ts +6 -5
  158. package/dist/extensions/authorization-queries.d.ts.map +1 -1
  159. package/dist/extensions/list-read-scope.d.ts +1 -1
  160. package/dist/extensions/resource-authorization.d.ts +3 -2
  161. package/dist/extensions/resource-authorization.d.ts.map +1 -1
  162. package/dist/index.d.ts +1 -1
  163. package/dist/index.d.ts.map +1 -1
  164. package/dist/index.js.map +1 -1
  165. package/dist/pipeline/apiresource-meta.d.ts +12 -3
  166. package/dist/pipeline/apiresource-meta.d.ts.map +1 -1
  167. package/dist/pipeline/apiresource-meta.js +21 -10
  168. package/dist/pipeline/apiresource-meta.js.map +1 -1
  169. package/dist/pipeline/steps/authorization-tuples.d.ts +9 -3
  170. package/dist/pipeline/steps/authorization-tuples.d.ts.map +1 -1
  171. package/dist/pipeline/steps/authorization-tuples.js +9 -11
  172. package/dist/pipeline/steps/authorization-tuples.js.map +1 -1
  173. package/dist/pipeline/steps/references.d.ts +178 -20
  174. package/dist/pipeline/steps/references.d.ts.map +1 -1
  175. package/dist/pipeline/steps/references.js +344 -43
  176. package/dist/pipeline/steps/references.js.map +1 -1
  177. package/dist/pipeline/steps/resolve-artifact-source.d.ts +11 -8
  178. package/dist/pipeline/steps/resolve-artifact-source.d.ts.map +1 -1
  179. package/dist/pipeline/steps/resolve-artifact-source.js +8 -4
  180. package/dist/pipeline/steps/resolve-artifact-source.js.map +1 -1
  181. package/dist/query/search/controller.js +0 -1
  182. package/dist/query/search/controller.js.map +1 -1
  183. package/dist/query/search/criteria.d.ts +1 -5
  184. package/dist/query/search/criteria.d.ts.map +1 -1
  185. package/dist/query/search/criteria.js +3 -13
  186. package/dist/query/search/criteria.js.map +1 -1
  187. package/dist/query/search/handler.d.ts +5 -4
  188. package/dist/query/search/handler.d.ts.map +1 -1
  189. package/dist/query/search/handler.js +7 -6
  190. package/dist/query/search/handler.js.map +1 -1
  191. package/dist/query/search/query-store.d.ts.map +1 -1
  192. package/dist/query/search/query-store.js +0 -2
  193. package/dist/query/search/query-store.js.map +1 -1
  194. package/dist/store/interface.d.ts +3 -6
  195. package/dist/store/interface.d.ts.map +1 -1
  196. package/dist/store/interface.js.map +1 -1
  197. package/dist/store/postgres/migrations.d.ts +3 -1
  198. package/dist/store/postgres/migrations.d.ts.map +1 -1
  199. package/dist/store/postgres/migrations.js +35 -1
  200. package/dist/store/postgres/migrations.js.map +1 -1
  201. package/dist/store/postgres/store.d.ts.map +1 -1
  202. package/dist/store/postgres/store.js +4 -9
  203. package/dist/store/postgres/store.js.map +1 -1
  204. package/dist/store/public-visibility-retired.d.ts +67 -0
  205. package/dist/store/public-visibility-retired.d.ts.map +1 -0
  206. package/dist/store/public-visibility-retired.js +55 -0
  207. package/dist/store/public-visibility-retired.js.map +1 -0
  208. package/dist/store/sqlite/migrations.d.ts +3 -1
  209. package/dist/store/sqlite/migrations.d.ts.map +1 -1
  210. package/dist/store/sqlite/migrations.js +36 -1
  211. package/dist/store/sqlite/migrations.js.map +1 -1
  212. package/dist/store/sqlite/store.d.ts.map +1 -1
  213. package/dist/store/sqlite/store.js +4 -8
  214. package/dist/store/sqlite/store.js.map +1 -1
  215. package/package.json +6 -6
  216. package/src/artifactstorage/__tests__/artifact-storage.test.ts +36 -33
  217. package/src/artifactstorage/__tests__/r2-storage.test.ts +11 -13
  218. package/src/artifactstorage/artifact-storage.ts +37 -33
  219. package/src/artifactstorage/r2-storage.ts +6 -15
  220. package/src/authorization/README.md +24 -26
  221. package/src/authorization/__tests__/authorizer.test.ts +10 -9
  222. package/src/authorization/__tests__/derived-tuples.test.ts +4 -11
  223. package/src/authorization/__tests__/evaluator.test.ts +14 -73
  224. package/src/authorization/__tests__/facts.test.ts +2 -2
  225. package/src/authorization/__tests__/fixtures/fga/agent-instance-creation.fga.yaml +19 -27
  226. package/src/authorization/__tests__/fixtures/fga/blueprint-private-visibility.fga.yaml +6 -98
  227. package/src/authorization/__tests__/fixtures/fga/default-instance-inheritance.fga.yaml +4 -61
  228. package/src/authorization/__tests__/fixtures/fga/mcp-server-authoring.fga.yaml +1 -15
  229. package/src/authorization/__tests__/fixtures/fga/org-admin-owner-inheritance.fga.yaml +1 -21
  230. package/src/authorization/__tests__/fixtures/fga/platform-visibility.fga.yaml +1 -25
  231. package/src/authorization/__tests__/fixtures/fga/workflow-execution-sharing.fga.yaml +1 -3
  232. package/src/authorization/__tests__/list-read-scope.test.ts +18 -17
  233. package/src/authorization/__tests__/store-tests.test.ts +2 -6
  234. package/src/authorization/__tests__/tuples.test.ts +12 -11
  235. package/src/authorization/authorizer.ts +4 -9
  236. package/src/authorization/derived-tuples.ts +14 -31
  237. package/src/authorization/evaluator.ts +8 -44
  238. package/src/authorization/list-read-scope.ts +5 -11
  239. package/src/authorization/model/agent.ts +2 -5
  240. package/src/authorization/model/agent_instance.ts +0 -2
  241. package/src/authorization/model/mcp_server.ts +0 -2
  242. package/src/authorization/model/plugin.ts +1 -4
  243. package/src/authorization/model/rewrite.ts +8 -13
  244. package/src/authorization/model/skill.ts +0 -2
  245. package/src/authorization/model/workflow.ts +0 -2
  246. package/src/authorization/model/workflow_instance.ts +0 -2
  247. package/src/authorization/organization-directory.ts +1 -3
  248. package/src/authorization/store-test-kit.ts +16 -75
  249. package/src/authorization/tuples.ts +16 -39
  250. package/src/boot/__tests__/skill-transfer-origin.test.ts +72 -0
  251. package/src/boot/compose.ts +62 -25
  252. package/src/boot/config.ts +4 -3
  253. package/src/boot/skill-transfer-origin.ts +76 -0
  254. package/src/domain/agent/__tests__/agent.test.ts +11 -4
  255. package/src/domain/agent/controller.ts +7 -7
  256. package/src/domain/agentchannel/__tests__/agentchannel.test.ts +223 -48
  257. package/src/domain/agentchannel/controller.ts +6 -1
  258. package/src/domain/agentexecution/controller.ts +6 -1
  259. package/src/domain/agentinstance/controller.ts +6 -12
  260. package/src/domain/agentshare/__tests__/agentshare.test.ts +196 -172
  261. package/src/domain/agentshare/__tests__/create-authorization.test.ts +16 -31
  262. package/src/domain/agentshare/constants.ts +14 -26
  263. package/src/domain/agentshare/controller.ts +6 -1
  264. package/src/domain/agentshare/steps.ts +41 -194
  265. package/src/domain/environment/controller.ts +5 -8
  266. package/src/domain/executioncontext/controller.ts +5 -1
  267. package/src/domain/mcpserver/__tests__/mcpserver.test.ts +115 -28
  268. package/src/domain/mcpserver/__tests__/oauth-handshake.test.ts +53 -18
  269. package/src/domain/mcpserver/controller.ts +6 -12
  270. package/src/domain/plugin/controller.ts +16 -25
  271. package/src/domain/plugin/push.ts +8 -16
  272. package/src/domain/schedule/controller.ts +6 -1
  273. package/src/domain/session/controller.ts +12 -4
  274. package/src/domain/skill/__tests__/skill.test.ts +5 -3
  275. package/src/domain/skill/__tests__/slots.test.ts +113 -60
  276. package/src/domain/skill/__tests__/staging.test.ts +304 -0
  277. package/src/domain/skill/constants.ts +28 -3
  278. package/src/domain/skill/controller.ts +44 -42
  279. package/src/domain/skill/push.ts +3 -3
  280. package/src/domain/skill/transfer/handler.ts +33 -15
  281. package/src/domain/skill/transfer/slots.ts +89 -100
  282. package/src/domain/skill/transfer/staging.ts +191 -0
  283. package/src/domain/workflow/__tests__/agent-call-references.test.ts +222 -0
  284. package/src/domain/workflow/agent-call-references.ts +157 -0
  285. package/src/domain/workflow/controller.ts +28 -10
  286. package/src/domain/workflow/registry/data/task-kind-registry.json +1 -1
  287. package/src/domain/workflow/validation/task-config-constraints.ts +7 -3
  288. package/src/domain/workflowexecution/controller.ts +7 -2
  289. package/src/domain/workflowinstance/controller.ts +6 -12
  290. package/src/extensions/__tests__/built-in-authorization-composed.test.ts +32 -19
  291. package/src/extensions/__tests__/extension-composition.test.ts +4 -4
  292. package/src/extensions/__tests__/list-read-scope-composed.test.ts +9 -6
  293. package/src/extensions/authorization-queries.ts +6 -5
  294. package/src/extensions/list-read-scope.ts +1 -1
  295. package/src/extensions/resource-authorization.ts +3 -5
  296. package/src/index.ts +0 -1
  297. package/src/pipeline/__tests__/supports-visibility.test.ts +112 -0
  298. package/src/pipeline/apiresource-meta.ts +21 -10
  299. package/src/pipeline/steps/__tests__/authorization-tuples.test.ts +18 -31
  300. package/src/pipeline/steps/__tests__/references.test.ts +703 -0
  301. package/src/pipeline/steps/authorization-tuples.ts +9 -11
  302. package/src/pipeline/steps/references.ts +578 -70
  303. package/src/pipeline/steps/resolve-artifact-source.ts +20 -13
  304. package/src/query/search/__tests__/criteria.test.ts +0 -4
  305. package/src/query/search/__tests__/query-store.test.ts +11 -40
  306. package/src/query/search/controller.ts +0 -1
  307. package/src/query/search/criteria.ts +0 -14
  308. package/src/query/search/handler.ts +6 -7
  309. package/src/query/search/query-store.ts +0 -2
  310. package/src/store/__tests__/public-visibility-retired.test.ts +127 -0
  311. package/src/store/__tests__/store-contract.ts +6 -51
  312. package/src/store/interface.ts +3 -6
  313. package/src/store/postgres/__tests__/migrations.test.ts +187 -6
  314. package/src/store/postgres/__tests__/store-contract.test.ts +0 -2
  315. package/src/store/postgres/migrations.ts +48 -1
  316. package/src/store/postgres/store.ts +4 -11
  317. package/src/store/public-visibility-retired.ts +119 -0
  318. package/src/store/sqlite/__tests__/migrations.test.ts +191 -5
  319. package/src/store/sqlite/migrations.ts +45 -1
  320. package/src/store/sqlite/store.ts +4 -10
  321. package/src/transport/registry/__tests__/lanes.test.ts +1 -1
  322. package/dist/pipeline/steps/visibility-gates.d.ts +0 -27
  323. package/dist/pipeline/steps/visibility-gates.d.ts.map +0 -1
  324. package/dist/pipeline/steps/visibility-gates.js +0 -139
  325. package/dist/pipeline/steps/visibility-gates.js.map +0 -1
  326. package/src/authorization/__tests__/fixtures/fga/cross-org-share-creation.fga.yaml +0 -98
  327. package/src/authorization/__tests__/fixtures/fga/public-visibility-setter.fga.yaml +0 -52
  328. package/src/pipeline/steps/__tests__/visibility-gates.test.ts +0 -187
  329. package/src/pipeline/steps/visibility-gates.ts +0 -174
@@ -1,5 +1,5 @@
1
1
  # Pinned copy of stigmer-cloud backend/services/stigmer-server/fga/tests/blueprint-private-visibility.fga.yaml
2
- # at commit 2ec420161 (the OpenFGA store test the cloud runs against its live model).
2
+ # as changed by stigmer-cloud#765 (the OpenFGA store test the cloud runs against its live model).
3
3
  # The body below is byte-identical to the source; the cloud re-runs the LIVE
4
4
  # file against this evaluator at the re-pin, so a stale copy is caught there.
5
5
  # Store tests for real blueprint privacy (Phase 3 of the visibility model).
@@ -14,7 +14,6 @@
14
14
  # viewers; pre-cloud#257 tuples carried #member, which excluded
15
15
  # viewer-role users — still honored until backfilled, see the
16
16
  # legacy-bot fixture)
17
- # PUBLIC viewer@identity_account:* (allow_public) + the ORG tuple
18
17
  # PLATFORM platform_viewer@identity_provider:<idp>#platform_user + the ORG tuple
19
18
  #
20
19
  # Read vs spend: an org viewer-role user READS org-visible blueprints (and, at
@@ -23,9 +22,8 @@
23
22
  # can_create_execution_in permissions, which require member-or-guest. The
24
23
  # vera assertions pin both halves of that contract.
25
24
  #
26
- # The ORG tuple rides along on PUBLIC/PLATFORM (the "org floor") so a shared
27
- # blueprint stays listable in its own org — org-scoped ListObjects runs with
28
- # {"allow": false}, which suppresses the public wildcard.
25
+ # The ORG tuple rides along on PLATFORM (the "org floor") so a shared
26
+ # blueprint stays listable in its own org.
29
27
  #
30
28
  # T08 exception: org ADMINS (and org owners, via the role hierarchy) are
31
29
  # composed into blueprint `owner` and therefore see, list, and manage
@@ -39,8 +37,8 @@
39
37
  # Scenario: org "acme" has owner-creator carol, org admin oscar, plain
40
38
  # member dave, and read-only viewer vera (the role SSO auto-provisioning
41
39
  # grants by default); mallory belongs to an unrelated org. Carol authors one
42
- # blueprint of each kind at PRIVATE, plus an ORG agent, a PUBLIC agent, and
43
- # a legacy ORG agent whose tuple still carries the pre-cloud#257 shape.
40
+ # blueprint of each kind at PRIVATE, plus an ORG agent and a legacy ORG
41
+ # agent whose tuple still carries the pre-cloud#257 shape.
44
42
  name: blueprint-private-visibility
45
43
  model_file: ../model/fga.mod
46
44
 
@@ -114,22 +112,6 @@ tuples:
114
112
  relation: viewer
115
113
  object: agent:legacy-bot
116
114
 
117
- # --- PUBLIC agent (wildcard + org floor tuple) ---
118
- - user: organization:acme
119
- relation: organization
120
- object: agent:open-bot
121
- - user: identity_account:carol
122
- relation: owner
123
- object: agent:open-bot
124
- - user: identity_account:*
125
- relation: viewer
126
- object: agent:open-bot
127
- condition:
128
- name: allow_public
129
- - user: organization:acme#viewer
130
- relation: viewer
131
- object: agent:open-bot
132
-
133
115
  # --- PRIVATE agent with an explicit individual viewer grant ---
134
116
  - user: organization:acme
135
117
  relation: organization
@@ -146,8 +128,6 @@ tests:
146
128
  check:
147
129
  - user: identity_account:dave
148
130
  object: agent:secret-bot
149
- context:
150
- allow: false
151
131
  assertions:
152
132
  can_view: false
153
133
  can_execute: false
@@ -155,22 +135,16 @@ tests:
155
135
  can_clone: false
156
136
  - user: identity_account:dave
157
137
  object: skill:secret-notes
158
- context:
159
- allow: false
160
138
  assertions:
161
139
  can_view: false
162
140
  can_use: false
163
141
  - user: identity_account:dave
164
142
  object: workflow:secret-flow
165
- context:
166
- allow: false
167
143
  assertions:
168
144
  can_view: false
169
145
  can_execute: false
170
146
  - user: identity_account:dave
171
147
  object: mcp_server:secret-tools
172
- context:
173
- allow: false
174
148
  assertions:
175
149
  can_view: false
176
150
  can_use: false
@@ -180,8 +154,6 @@ tests:
180
154
  check:
181
155
  - user: identity_account:oscar
182
156
  object: agent:secret-bot
183
- context:
184
- allow: false
185
157
  assertions:
186
158
  can_view: true
187
159
  can_edit: true
@@ -189,15 +161,11 @@ tests:
189
161
  can_execute: true
190
162
  - user: identity_account:oscar
191
163
  object: skill:secret-notes
192
- context:
193
- allow: false
194
164
  assertions:
195
165
  can_view: true
196
166
  can_edit: true
197
167
  - user: identity_account:oscar
198
168
  object: workflow:secret-flow
199
- context:
200
- allow: false
201
169
  assertions:
202
170
  can_view: true
203
171
  can_edit: true
@@ -205,8 +173,6 @@ tests:
205
173
  # four private-blueprint kinds are pinned to the same rule.
206
174
  - user: identity_account:oscar
207
175
  object: mcp_server:secret-tools
208
- context:
209
- allow: false
210
176
  assertions:
211
177
  can_view: true
212
178
  can_edit: true
@@ -215,22 +181,17 @@ tests:
215
181
  list_objects:
216
182
  - user: identity_account:oscar
217
183
  type: agent
218
- context:
219
- allow: false
220
184
  assertions:
221
185
  can_view:
222
186
  - agent:secret-bot
223
187
  - agent:team-bot
224
188
  - agent:legacy-bot
225
- - agent:open-bot
226
189
  - agent:shared-secret
227
190
 
228
191
  - name: owner retains full access to private blueprints
229
192
  check:
230
193
  - user: identity_account:carol
231
194
  object: agent:secret-bot
232
- context:
233
- allow: false
234
195
  assertions:
235
196
  can_view: true
236
197
  can_execute: true
@@ -239,8 +200,6 @@ tests:
239
200
  can_delete: true
240
201
  - user: identity_account:carol
241
202
  object: workflow:secret-flow
242
- context:
243
- allow: false
244
203
  assertions:
245
204
  can_view: true
246
205
  can_execute: true
@@ -250,8 +209,6 @@ tests:
250
209
  check:
251
210
  - user: identity_account:dave
252
211
  object: agent:team-bot
253
- context:
254
- allow: false
255
212
  assertions:
256
213
  can_view: true
257
214
  can_execute: true
@@ -260,33 +217,10 @@ tests:
260
217
  can_delete: false
261
218
  - user: identity_account:mallory
262
219
  object: agent:team-bot
263
- context:
264
- allow: false
265
220
  assertions:
266
221
  can_view: false
267
222
  can_execute: false
268
223
 
269
- - name: public agent is reachable by everyone with allow context, and by org members without it
270
- check:
271
- # Outsider resolves through the conditional wildcard ({"allow": true}).
272
- - user: identity_account:mallory
273
- object: agent:open-bot
274
- context:
275
- allow: true
276
- assertions:
277
- can_view: true
278
- can_execute: true
279
- # Org member resolves through the org floor tuple even with the
280
- # wildcard suppressed — this is what keeps public blueprints in
281
- # org-scoped listings.
282
- - user: identity_account:dave
283
- object: agent:open-bot
284
- context:
285
- allow: false
286
- assertions:
287
- can_view: true
288
- can_execute: true
289
-
290
224
  - name: explicit individual viewer grant on a private agent conveys view and run
291
225
  check:
292
226
  # Run-what-you-can-read: can_execute derives from viewer, so an
@@ -294,38 +228,30 @@ tests:
294
228
  # which checks can_view).
295
229
  - user: identity_account:dave
296
230
  object: agent:shared-secret
297
- context:
298
- allow: false
299
231
  assertions:
300
232
  can_view: true
301
233
  can_execute: true
302
234
  can_edit: false
303
235
 
304
- - name: org member's listable agents exclude private ones (wildcard suppressed)
236
+ - name: org member's listable agents exclude private ones
305
237
  list_objects:
306
238
  - user: identity_account:dave
307
239
  type: agent
308
- context:
309
- allow: false
310
240
  assertions:
311
241
  can_view:
312
242
  - agent:team-bot
313
243
  - agent:legacy-bot
314
- - agent:open-bot
315
244
  - agent:shared-secret
316
245
 
317
246
  - name: owner's listable agents include everything they authored
318
247
  list_objects:
319
248
  - user: identity_account:carol
320
249
  type: agent
321
- context:
322
- allow: false
323
250
  assertions:
324
251
  can_view:
325
252
  - agent:secret-bot
326
253
  - agent:team-bot
327
254
  - agent:legacy-bot
328
- - agent:open-bot
329
255
  - agent:shared-secret
330
256
 
331
257
  # ── cloud#257: the viewer-role cell (previously untested) ──────────────
@@ -336,27 +262,16 @@ tests:
336
262
  # spend refusal is pinned separately on the org permissions below.
337
263
  - user: identity_account:vera
338
264
  object: agent:team-bot
339
- context:
340
- allow: false
341
265
  assertions:
342
266
  can_view: true
343
267
  can_clone: true
344
268
  can_execute: true
345
269
  can_edit: false
346
270
  can_delete: false
347
- # The org floor of a PUBLIC blueprint reaches viewers the same way.
348
- - user: identity_account:vera
349
- object: agent:open-bot
350
- context:
351
- allow: false
352
- assertions:
353
- can_view: true
354
271
  # Private stays private — the viewer role grants nothing beyond the
355
272
  # explicit visibility tuples.
356
273
  - user: identity_account:vera
357
274
  object: agent:secret-bot
358
- context:
359
- allow: false
360
275
  assertions:
361
276
  can_view: false
362
277
  can_execute: false
@@ -382,8 +297,6 @@ tests:
382
297
  check:
383
298
  - user: identity_account:dave
384
299
  object: agent:legacy-bot
385
- context:
386
- allow: false
387
300
  assertions:
388
301
  can_view: true
389
302
  can_execute: true
@@ -392,8 +305,6 @@ tests:
392
305
  # organization#member. The boot backfill converges these tuples.
393
306
  - user: identity_account:vera
394
307
  object: agent:legacy-bot
395
- context:
396
- allow: false
397
308
  assertions:
398
309
  can_view: false
399
310
  can_execute: false
@@ -402,9 +313,6 @@ tests:
402
313
  list_objects:
403
314
  - user: identity_account:vera
404
315
  type: agent
405
- context:
406
- allow: false
407
316
  assertions:
408
317
  can_view:
409
318
  - agent:team-bot
410
- - agent:open-bot
@@ -1,5 +1,5 @@
1
1
  # Pinned copy of stigmer-cloud backend/services/stigmer-server/fga/tests/default-instance-inheritance.fga.yaml
2
- # at commit b87dd1170 (the OpenFGA store test the cloud runs against its live model).
2
+ # as changed by stigmer-cloud#765 (the OpenFGA store test the cloud runs against its live model).
3
3
  # The body below is byte-identical to the source; the cloud re-runs the LIVE
4
4
  # file against this evaluator at the re-pin, so a stale copy is caught there.
5
5
  # Store tests for default-instance structural inheritance (default_of).
@@ -7,8 +7,8 @@
7
7
  # A blueprint's system-managed default instance carries a single
8
8
  # instance#default_of@<blueprint>:<id>
9
9
  # tuple and inherits the blueprint's ENTIRE viewer set through
10
- # `viewer from default_of` — org members, public users (allow_public), and
11
- # platform users (identity_provider#platform_user). No enum-derived
10
+ # `viewer from default_of` — org members and platform users
11
+ # (identity_provider#platform_user). No enum-derived
12
12
  # visibility tuples are ever written on default instances, so their access
13
13
  # can never drift from the template's.
14
14
  #
@@ -20,8 +20,7 @@
20
20
  # visibility level; each has a default instance linked via default_of.
21
21
  # Alice (acme member) reaches default instances of platform-shared
22
22
  # blueprints; planton members reach default instances of org-visible ones;
23
- # everyone reaches default instances of public ones; personal instances
24
- # never leak.
23
+ # personal instances never leak.
25
24
  name: default-instance-inheritance
26
25
  model_file: ../model/fga.mod
27
26
 
@@ -115,35 +114,6 @@ tuples:
115
114
  relation: default_of
116
115
  object: agent_instance:internal-default
117
116
 
118
- # --- Public agent + its default instance ---
119
- # PUBLIC carries the org floor tuple too (viewer@org#viewer).
120
- - user: organization:planton
121
- relation: organization
122
- object: agent:public-bot
123
- - user: identity_account:swarup
124
- relation: owner
125
- object: agent:public-bot
126
- - user: identity_account:*
127
- relation: viewer
128
- object: agent:public-bot
129
- condition:
130
- name: allow_public
131
- - user: organization:planton#viewer
132
- relation: viewer
133
- object: agent:public-bot
134
- - user: organization:planton
135
- relation: organization
136
- object: agent_instance:public-bot-default
137
- - user: agent:public-bot
138
- relation: agent
139
- object: agent_instance:public-bot-default
140
- - user: identity_account:swarup
141
- relation: owner
142
- object: agent_instance:public-bot-default
143
- - user: agent:public-bot
144
- relation: default_of
145
- object: agent_instance:public-bot-default
146
-
147
117
  # --- Platform-shared workflow + its default instance ---
148
118
  - user: organization:planton
149
119
  relation: organization
@@ -175,8 +145,6 @@ tests:
175
145
  check:
176
146
  - user: identity_account:alice
177
147
  object: agent_instance:sara-default
178
- context:
179
- allow: false
180
148
  assertions:
181
149
  can_view: true
182
150
  can_execute: true
@@ -187,8 +155,6 @@ tests:
187
155
  check:
188
156
  - user: identity_account:mallory
189
157
  object: agent_instance:sara-default
190
- context:
191
- allow: false
192
158
  assertions:
193
159
  can_view: false
194
160
  can_execute: false
@@ -199,14 +165,10 @@ tests:
199
165
  # default_of tuple — only she (its owner) can reach it.
200
166
  - user: identity_account:swarup
201
167
  object: agent_instance:alice-personal
202
- context:
203
- allow: false
204
168
  assertions:
205
169
  can_view: false
206
170
  - user: identity_account:alice
207
171
  object: agent_instance:alice-personal
208
- context:
209
- allow: false
210
172
  assertions:
211
173
  can_view: true
212
174
  can_edit: true
@@ -215,8 +177,6 @@ tests:
215
177
  check:
216
178
  - user: identity_account:priya
217
179
  object: agent_instance:internal-default
218
- context:
219
- allow: false
220
180
  assertions:
221
181
  can_view: true
222
182
  can_execute: true
@@ -226,34 +186,19 @@ tests:
226
186
  # read audience, and the default instance inherits it structurally.
227
187
  - user: identity_account:veda
228
188
  object: agent_instance:internal-default
229
- context:
230
- allow: false
231
189
  assertions:
232
190
  can_view: true
233
191
  can_edit: false
234
192
  # Managed-org membership grants nothing on non-platform-shared agents.
235
193
  - user: identity_account:alice
236
194
  object: agent_instance:internal-default
237
- context:
238
- allow: false
239
195
  assertions:
240
196
  can_view: false
241
197
 
242
- - name: everyone reaches the default instance of a public agent
243
- check:
244
- - user: identity_account:mallory
245
- object: agent_instance:public-bot-default
246
- context:
247
- allow: true
248
- assertions:
249
- can_view: true
250
-
251
198
  - name: managed-org member reaches the default instance of a platform-shared workflow
252
199
  check:
253
200
  - user: identity_account:alice
254
201
  object: workflow_instance:onboarding-default
255
- context:
256
- allow: false
257
202
  assertions:
258
203
  can_view: true
259
204
  can_execute: true
@@ -263,8 +208,6 @@ tests:
263
208
  list_objects:
264
209
  - user: identity_account:alice
265
210
  type: agent_instance
266
- context:
267
- allow: false
268
211
  assertions:
269
212
  can_view:
270
213
  - agent_instance:sara-default
@@ -1,5 +1,5 @@
1
1
  # Pinned copy of stigmer-cloud backend/services/stigmer-server/fga/tests/mcp-server-authoring.fga.yaml
2
- # at commit 4c03c38d2 (the OpenFGA store test the cloud runs against its live model).
2
+ # as changed by stigmer-cloud#765 (the OpenFGA store test the cloud runs against its live model).
3
3
  # The body below is byte-identical to the source; the cloud re-runs the LIVE
4
4
  # file against this evaluator at the re-pin, so a stale copy is caught there.
5
5
  # Store tests for MCP-server authoring: an MCP server is an organization's
@@ -88,24 +88,18 @@ tests:
88
88
  check:
89
89
  - user: identity_account:dave
90
90
  object: mcp_server:github
91
- context:
92
- allow: false
93
91
  assertions:
94
92
  can_view: true
95
93
  can_connect: true
96
94
  can_edit: false
97
95
  - user: identity_account:vera
98
96
  object: mcp_server:github
99
- context:
100
- allow: false
101
97
  assertions:
102
98
  can_view: true
103
99
  can_connect: true
104
100
  can_edit: false
105
101
  - user: identity_account:mallory
106
102
  object: mcp_server:github
107
- context:
108
- allow: false
109
103
  assertions:
110
104
  can_view: false
111
105
  can_connect: false
@@ -114,30 +108,22 @@ tests:
114
108
  check:
115
109
  - user: identity_account:oscar
116
110
  object: mcp_server:vault
117
- context:
118
- allow: false
119
111
  assertions:
120
112
  can_view: true
121
113
  can_connect: true
122
114
  can_edit: true
123
115
  - user: identity_account:olivia
124
116
  object: mcp_server:vault
125
- context:
126
- allow: false
127
117
  assertions:
128
118
  can_view: true
129
119
  can_edit: true
130
120
  - user: identity_account:dave
131
121
  object: mcp_server:vault
132
- context:
133
- allow: false
134
122
  assertions:
135
123
  can_view: false
136
124
  can_connect: false
137
125
  - user: identity_account:vera
138
126
  object: mcp_server:vault
139
- context:
140
- allow: false
141
127
  assertions:
142
128
  can_view: false
143
129
  can_connect: false
@@ -1,5 +1,5 @@
1
1
  # Pinned copy of stigmer-cloud backend/services/stigmer-server/fga/tests/org-admin-owner-inheritance.fga.yaml
2
- # as changed by stigmer-cloud#757 (the OpenFGA store test the cloud runs against its live model).
2
+ # as changed by stigmer-cloud#765 (the OpenFGA store test the cloud runs against its live model).
3
3
  # The body below is byte-identical to the source; the cloud re-runs the LIVE
4
4
  # file against this evaluator at the re-pin, so a stale copy is caught there.
5
5
  # Store tests for org-admin owner inheritance (T08).
@@ -131,8 +131,6 @@ tests:
131
131
  check:
132
132
  - user: identity_account:ana
133
133
  object: agent:carols-bot
134
- context:
135
- allow: false
136
134
  assertions:
137
135
  can_view: true
138
136
  can_edit: true
@@ -169,8 +167,6 @@ tests:
169
167
  can_grant_access: true
170
168
  - user: identity_account:ana
171
169
  object: skill:carols-notes
172
- context:
173
- allow: false
174
170
  assertions:
175
171
  can_view: true
176
172
  can_edit: true
@@ -178,8 +174,6 @@ tests:
178
174
  can_grant_access: true
179
175
  - user: identity_account:ana
180
176
  object: workflow:carols-flow
181
- context:
182
- allow: false
183
177
  assertions:
184
178
  can_view: true
185
179
  can_edit: true
@@ -197,8 +191,6 @@ tests:
197
191
  check:
198
192
  - user: identity_account:root
199
193
  object: agent:carols-bot
200
- context:
201
- allow: false
202
194
  assertions:
203
195
  can_edit: true
204
196
  can_delete: true
@@ -218,8 +210,6 @@ tests:
218
210
  check:
219
211
  - user: identity_account:dave
220
212
  object: agent:carols-bot
221
- context:
222
- allow: false
223
213
  assertions:
224
214
  can_view: false
225
215
  can_edit: false
@@ -250,8 +240,6 @@ tests:
250
240
  check:
251
241
  - user: identity_account:zara
252
242
  object: agent:carols-bot
253
- context:
254
- allow: false
255
243
  assertions:
256
244
  can_view: false
257
245
  can_edit: false
@@ -266,8 +254,6 @@ tests:
266
254
  check:
267
255
  - user: identity_account:ana
268
256
  object: agent_instance:carols-instance
269
- context:
270
- allow: false
271
257
  assertions:
272
258
  can_view: false
273
259
  can_edit: false
@@ -297,8 +283,6 @@ tests:
297
283
  check:
298
284
  - user: identity_account:carol
299
285
  object: agent:carols-bot
300
- context:
301
- allow: false
302
286
  assertions:
303
287
  can_view: true
304
288
  can_edit: true
@@ -309,8 +293,6 @@ tests:
309
293
  list_objects:
310
294
  - user: identity_account:ana
311
295
  type: agent
312
- context:
313
- allow: false
314
296
  assertions:
315
297
  can_view:
316
298
  - agent:carols-bot
@@ -318,8 +300,6 @@ tests:
318
300
  - agent:carols-bot
319
301
  - user: identity_account:ana
320
302
  type: agent_instance
321
- context:
322
- allow: false
323
303
  assertions:
324
304
  can_view: []
325
305
  - user: identity_account:ana
@@ -1,5 +1,5 @@
1
1
  # Pinned copy of stigmer-cloud backend/services/stigmer-server/fga/tests/platform-visibility.fga.yaml
2
- # at commit b87dd1170 (the OpenFGA store test the cloud runs against its live model).
2
+ # as changed by stigmer-cloud#765 (the OpenFGA store test the cloud runs against its live model).
3
3
  # The body below is byte-identical to the source; the cloud re-runs the LIVE
4
4
  # file against this evaluator at the re-pin, so a stale copy is caught there.
5
5
  # Store tests for platform visibility (visibility_platform).
@@ -102,8 +102,6 @@ tests:
102
102
  check:
103
103
  - user: identity_account:alice
104
104
  object: agent:sara
105
- context:
106
- allow: false
107
105
  assertions:
108
106
  can_view: true
109
107
  can_execute: true
@@ -112,8 +110,6 @@ tests:
112
110
  can_delete: false
113
111
  - user: identity_account:bob
114
112
  object: agent:sara
115
- context:
116
- allow: false
117
113
  assertions:
118
114
  can_view: true
119
115
  can_execute: true
@@ -122,8 +118,6 @@ tests:
122
118
  check:
123
119
  - user: identity_account:mallory
124
120
  object: agent:sara
125
- context:
126
- allow: false
127
121
  assertions:
128
122
  can_view: false
129
123
  can_execute: false
@@ -133,8 +127,6 @@ tests:
133
127
  check:
134
128
  - user: identity_account:priya
135
129
  object: agent:sara
136
- context:
137
- allow: false
138
130
  assertions:
139
131
  can_view: true
140
132
  can_execute: true
@@ -144,8 +136,6 @@ tests:
144
136
  # narrower: platform_user resolves member-from-managed_org.)
145
137
  - user: identity_account:veda
146
138
  object: agent:sara
147
- context:
148
- allow: false
149
139
  assertions:
150
140
  can_view: true
151
141
  can_edit: false
@@ -154,8 +144,6 @@ tests:
154
144
  check:
155
145
  - user: identity_account:alice
156
146
  object: agent:internal-bot
157
- context:
158
- allow: false
159
147
  assertions:
160
148
  can_view: false
161
149
  can_execute: false
@@ -163,8 +151,6 @@ tests:
163
151
  # without an explicit visibility tuple.
164
152
  - user: identity_account:priya
165
153
  object: agent:internal-bot
166
- context:
167
- allow: false
168
154
  assertions:
169
155
  can_view: false
170
156
  can_execute: false
@@ -173,8 +159,6 @@ tests:
173
159
  check:
174
160
  - user: identity_account:alice
175
161
  object: skill:research
176
- context:
177
- allow: false
178
162
  assertions:
179
163
  can_view: true
180
164
  can_use: true
@@ -184,8 +168,6 @@ tests:
184
168
  check:
185
169
  - user: identity_account:alice
186
170
  object: workflow:onboarding
187
- context:
188
- allow: false
189
171
  assertions:
190
172
  can_view: true
191
173
  can_execute: true
@@ -194,8 +176,6 @@ tests:
194
176
  check:
195
177
  - user: identity_account:alice
196
178
  object: mcp_server:github
197
- context:
198
- allow: false
199
179
  assertions:
200
180
  can_view: true
201
181
  can_use: true
@@ -205,8 +185,6 @@ tests:
205
185
  check:
206
186
  - user: identity_account:swarup
207
187
  object: agent:sara
208
- context:
209
- allow: false
210
188
  assertions:
211
189
  can_view: true
212
190
  can_edit: true
@@ -216,8 +194,6 @@ tests:
216
194
  list_objects:
217
195
  - user: identity_account:alice
218
196
  type: agent
219
- context:
220
- allow: false
221
197
  assertions:
222
198
  can_view:
223
199
  - agent:sara