@orchestraworks/cli 0.5.5 → 0.5.7

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 (606) hide show
  1. package/README.md +1 -1
  2. package/dist/artifacts/prelude.js +10 -1
  3. package/dist/cli/api/execute.js +7 -7
  4. package/dist/cli/core/profile.d.ts +2 -2
  5. package/dist/cli/factory/apply-preview.d.ts +23 -6
  6. package/dist/cli/factory/apply-preview.js +70 -43
  7. package/dist/cli/factory/apply-render.js +12 -4
  8. package/dist/cli/factory/apply.d.ts +7 -2
  9. package/dist/cli/factory/apply.js +86 -29
  10. package/dist/cli/factory/diff.js +20 -12
  11. package/dist/cli/factory/image-upload.d.ts +90 -0
  12. package/dist/cli/factory/image-upload.js +489 -0
  13. package/dist/cli/factory/synth.d.ts +7 -0
  14. package/dist/cli/factory/synth.js +35 -0
  15. package/dist/cli/firstRun.d.ts +2 -2
  16. package/dist/cli/firstRun.js +12 -13
  17. package/dist/cli/main.d.ts +1 -1
  18. package/dist/cli/main.js +4 -3
  19. package/dist/cli/upload.d.ts +3 -1
  20. package/dist/cli/upload.js +9 -2
  21. package/dist/constructs/agent.d.ts +9 -1
  22. package/dist/constructs/agent.js +7 -0
  23. package/dist/constructs/compute-provider.js +2 -2
  24. package/dist/constructs/connection.d.ts +22 -16
  25. package/dist/constructs/connection.js +29 -92
  26. package/dist/constructs/connector.d.ts +3 -1
  27. package/dist/constructs/connector.js +2 -0
  28. package/dist/constructs/egress-preset.d.ts +7 -52
  29. package/dist/constructs/egress-preset.js +7 -91
  30. package/dist/constructs/environment.d.ts +47 -70
  31. package/dist/constructs/environment.js +103 -213
  32. package/dist/constructs/gateway-key.d.ts +4 -1
  33. package/dist/constructs/gateway-key.js +4 -3
  34. package/dist/constructs/interfaces.d.ts +10 -2
  35. package/dist/constructs/model-provider-key.js +2 -3
  36. package/dist/constructs/pipeline.d.ts +5 -2
  37. package/dist/constructs/pipeline.js +4 -0
  38. package/dist/constructs/references.d.ts +4 -0
  39. package/dist/constructs/references.js +20 -0
  40. package/dist/constructs/role.d.ts +32 -0
  41. package/dist/constructs/role.js +77 -0
  42. package/dist/constructs/rules.d.ts +4 -4
  43. package/dist/constructs/rules.js +3 -3
  44. package/dist/constructs/secret.d.ts +36 -13
  45. package/dist/constructs/secret.js +110 -14
  46. package/dist/constructs/service-account.d.ts +12 -0
  47. package/dist/constructs/service-account.js +23 -0
  48. package/dist/constructs/skill.d.ts +3 -1
  49. package/dist/constructs/skill.js +2 -0
  50. package/dist/constructs/team-membership.d.ts +43 -0
  51. package/dist/constructs/team-membership.js +59 -0
  52. package/dist/constructs/team.d.ts +40 -0
  53. package/dist/constructs/team.js +107 -0
  54. package/dist/constructs/trigger.d.ts +7 -4
  55. package/dist/constructs/trigger.js +4 -0
  56. package/dist/constructs/workflow.d.ts +1 -1
  57. package/dist/core/factory.d.ts +0 -7
  58. package/dist/core/factory.js +15 -53
  59. package/dist/core/gateway-key-recipe.js +23 -2
  60. package/dist/core/host-pattern.d.ts +5 -0
  61. package/dist/core/host-pattern.js +14 -0
  62. package/dist/core/labels.d.ts +1 -1
  63. package/dist/core/labels.js +1 -1
  64. package/dist/core/outbound-warning.d.ts +2 -2
  65. package/dist/core/outbound-warning.js +52 -41
  66. package/dist/core/plan.d.ts +14 -11
  67. package/dist/core/plan.js +12 -11
  68. package/dist/engine/apply-core.d.ts +71 -67
  69. package/dist/engine/apply-core.js +120 -95
  70. package/dist/engine/client.d.ts +12 -4
  71. package/dist/engine/client.js +8 -3
  72. package/dist/engine/compute-provider-reconcile.js +1 -1
  73. package/dist/engine/condition-references.d.ts +2 -2
  74. package/dist/engine/condition-references.js +6 -6
  75. package/dist/engine/connection-install-link-reconcile.d.ts +4 -3
  76. package/dist/engine/connection-install-link-reconcile.js +35 -28
  77. package/dist/engine/diff.d.ts +12 -14
  78. package/dist/engine/diff.js +247 -113
  79. package/dist/engine/gateway-key-reconcile.d.ts +12 -9
  80. package/dist/engine/gateway-key-reconcile.js +43 -36
  81. package/dist/engine/model-provider-key-reconcile.js +2 -2
  82. package/dist/engine/pipeline-reconcile.d.ts +8 -9
  83. package/dist/engine/pipeline-reconcile.js +14 -10
  84. package/dist/engine/reconcile.d.ts +7 -21
  85. package/dist/engine/reconcile.js +115 -215
  86. package/dist/engine/refusals.d.ts +14 -31
  87. package/dist/engine/refusals.js +32 -81
  88. package/dist/engine/role-membership-reconcile.d.ts +19 -0
  89. package/dist/engine/role-membership-reconcile.js +276 -0
  90. package/dist/engine/secrets-apply.d.ts +18 -4
  91. package/dist/engine/secrets-apply.js +39 -4
  92. package/dist/engine/trigger-reconcile.d.ts +22 -23
  93. package/dist/engine/trigger-reconcile.js +43 -65
  94. package/dist/engine/workflow-reconcile.d.ts +2 -2
  95. package/dist/engine/workflow-reconcile.js +5 -5
  96. package/dist/generated/cli-commands.json +15398 -11771
  97. package/dist/generated/cli-dispatch.d.ts +4 -3
  98. package/dist/generated/cli-dispatch.js +76 -62
  99. package/dist/index.d.ts +12 -7
  100. package/dist/index.js +5 -3
  101. package/dist/metrics/metric.d.ts +3 -3
  102. package/dist/metrics/metric.js +1 -1
  103. package/docs/REFERENCE.md +84 -89
  104. package/node_modules/@orchestraworks/client/dist/apis/AgentsApi.d.ts +1 -1
  105. package/node_modules/@orchestraworks/client/dist/apis/AgentsApi.js +2 -2
  106. package/node_modules/@orchestraworks/client/dist/apis/ArtifactsApi.d.ts +1 -1
  107. package/node_modules/@orchestraworks/client/dist/apis/ArtifactsApi.js +2 -2
  108. package/node_modules/@orchestraworks/client/dist/apis/ConnectionInstallLinksApi.d.ts +1 -1
  109. package/node_modules/@orchestraworks/client/dist/apis/ConnectionInstallLinksApi.js +2 -2
  110. package/node_modules/@orchestraworks/client/dist/apis/ConnectionsApi.d.ts +1 -1
  111. package/node_modules/@orchestraworks/client/dist/apis/ConnectionsApi.js +2 -2
  112. package/node_modules/@orchestraworks/client/dist/apis/EnvironmentsApi.d.ts +1 -1
  113. package/node_modules/@orchestraworks/client/dist/apis/EnvironmentsApi.js +2 -2
  114. package/node_modules/@orchestraworks/client/dist/apis/FilesApi.d.ts +1 -1
  115. package/node_modules/@orchestraworks/client/dist/apis/FilesApi.js +2 -2
  116. package/node_modules/@orchestraworks/client/dist/apis/ImagesApi.d.ts +88 -0
  117. package/node_modules/@orchestraworks/client/dist/apis/ImagesApi.js +239 -0
  118. package/node_modules/@orchestraworks/client/dist/apis/MetricsApi.d.ts +1 -1
  119. package/node_modules/@orchestraworks/client/dist/apis/MetricsApi.js +2 -2
  120. package/node_modules/@orchestraworks/client/dist/apis/OrganizationsApi.d.ts +1 -15
  121. package/node_modules/@orchestraworks/client/dist/apis/OrganizationsApi.js +3 -49
  122. package/node_modules/@orchestraworks/client/dist/apis/PipelinesApi.d.ts +1 -1
  123. package/node_modules/@orchestraworks/client/dist/apis/PipelinesApi.js +2 -2
  124. package/node_modules/@orchestraworks/client/dist/apis/ProviderConnectionIntentsApi.d.ts +1 -1
  125. package/node_modules/@orchestraworks/client/dist/apis/ProviderConnectionIntentsApi.js +2 -2
  126. package/node_modules/@orchestraworks/client/dist/apis/SecretsApi.d.ts +1 -1
  127. package/node_modules/@orchestraworks/client/dist/apis/SecretsApi.js +2 -2
  128. package/node_modules/@orchestraworks/client/dist/apis/SessionsApi.d.ts +1 -1
  129. package/node_modules/@orchestraworks/client/dist/apis/SessionsApi.js +2 -2
  130. package/node_modules/@orchestraworks/client/dist/apis/SkillsApi.d.ts +1 -1
  131. package/node_modules/@orchestraworks/client/dist/apis/SkillsApi.js +2 -2
  132. package/node_modules/@orchestraworks/client/dist/apis/TeamMembershipsApi.d.ts +96 -0
  133. package/node_modules/@orchestraworks/client/dist/apis/{GroupsApi.js → TeamMembershipsApi.js} +62 -59
  134. package/node_modules/@orchestraworks/client/dist/apis/TeamsApi.d.ts +93 -0
  135. package/node_modules/@orchestraworks/client/dist/apis/{ProjectsApi.js → TeamsApi.js} +55 -55
  136. package/node_modules/@orchestraworks/client/dist/apis/TriggersApi.d.ts +1 -1
  137. package/node_modules/@orchestraworks/client/dist/apis/TriggersApi.js +2 -2
  138. package/node_modules/@orchestraworks/client/dist/apis/UsersApi.d.ts +0 -15
  139. package/node_modules/@orchestraworks/client/dist/apis/UsersApi.js +0 -49
  140. package/node_modules/@orchestraworks/client/dist/apis/VolumesApi.d.ts +1 -1
  141. package/node_modules/@orchestraworks/client/dist/apis/VolumesApi.js +2 -2
  142. package/node_modules/@orchestraworks/client/dist/apis/WorkItemsApi.d.ts +2 -2
  143. package/node_modules/@orchestraworks/client/dist/apis/WorkItemsApi.js +4 -4
  144. package/node_modules/@orchestraworks/client/dist/apis/WorkflowsApi.d.ts +1 -1
  145. package/node_modules/@orchestraworks/client/dist/apis/WorkflowsApi.js +2 -2
  146. package/node_modules/@orchestraworks/client/dist/apis/index.d.ts +3 -2
  147. package/node_modules/@orchestraworks/client/dist/apis/index.js +3 -2
  148. package/node_modules/@orchestraworks/client/dist/esm/apis/AgentsApi.d.ts +1 -1
  149. package/node_modules/@orchestraworks/client/dist/esm/apis/AgentsApi.js +2 -2
  150. package/node_modules/@orchestraworks/client/dist/esm/apis/ArtifactsApi.d.ts +1 -1
  151. package/node_modules/@orchestraworks/client/dist/esm/apis/ArtifactsApi.js +2 -2
  152. package/node_modules/@orchestraworks/client/dist/esm/apis/ConnectionInstallLinksApi.d.ts +1 -1
  153. package/node_modules/@orchestraworks/client/dist/esm/apis/ConnectionInstallLinksApi.js +2 -2
  154. package/node_modules/@orchestraworks/client/dist/esm/apis/ConnectionsApi.d.ts +1 -1
  155. package/node_modules/@orchestraworks/client/dist/esm/apis/ConnectionsApi.js +2 -2
  156. package/node_modules/@orchestraworks/client/dist/esm/apis/EnvironmentsApi.d.ts +1 -1
  157. package/node_modules/@orchestraworks/client/dist/esm/apis/EnvironmentsApi.js +2 -2
  158. package/node_modules/@orchestraworks/client/dist/esm/apis/FilesApi.d.ts +1 -1
  159. package/node_modules/@orchestraworks/client/dist/esm/apis/FilesApi.js +2 -2
  160. package/node_modules/@orchestraworks/client/dist/esm/apis/ImagesApi.d.ts +88 -0
  161. package/node_modules/@orchestraworks/client/dist/esm/apis/ImagesApi.js +235 -0
  162. package/node_modules/@orchestraworks/client/dist/esm/apis/MetricsApi.d.ts +1 -1
  163. package/node_modules/@orchestraworks/client/dist/esm/apis/MetricsApi.js +2 -2
  164. package/node_modules/@orchestraworks/client/dist/esm/apis/OrganizationsApi.d.ts +1 -15
  165. package/node_modules/@orchestraworks/client/dist/esm/apis/OrganizationsApi.js +3 -49
  166. package/node_modules/@orchestraworks/client/dist/esm/apis/PipelinesApi.d.ts +1 -1
  167. package/node_modules/@orchestraworks/client/dist/esm/apis/PipelinesApi.js +2 -2
  168. package/node_modules/@orchestraworks/client/dist/esm/apis/ProviderConnectionIntentsApi.d.ts +1 -1
  169. package/node_modules/@orchestraworks/client/dist/esm/apis/ProviderConnectionIntentsApi.js +2 -2
  170. package/node_modules/@orchestraworks/client/dist/esm/apis/SecretsApi.d.ts +1 -1
  171. package/node_modules/@orchestraworks/client/dist/esm/apis/SecretsApi.js +2 -2
  172. package/node_modules/@orchestraworks/client/dist/esm/apis/SessionsApi.d.ts +1 -1
  173. package/node_modules/@orchestraworks/client/dist/esm/apis/SessionsApi.js +2 -2
  174. package/node_modules/@orchestraworks/client/dist/esm/apis/SkillsApi.d.ts +1 -1
  175. package/node_modules/@orchestraworks/client/dist/esm/apis/SkillsApi.js +2 -2
  176. package/node_modules/@orchestraworks/client/dist/esm/apis/TeamMembershipsApi.d.ts +96 -0
  177. package/node_modules/@orchestraworks/client/dist/esm/apis/{GroupsApi.js → TeamMembershipsApi.js} +60 -57
  178. package/node_modules/@orchestraworks/client/dist/esm/apis/TeamsApi.d.ts +93 -0
  179. package/node_modules/@orchestraworks/client/dist/esm/apis/{ProjectsApi.js → TeamsApi.js} +53 -53
  180. package/node_modules/@orchestraworks/client/dist/esm/apis/TriggersApi.d.ts +1 -1
  181. package/node_modules/@orchestraworks/client/dist/esm/apis/TriggersApi.js +2 -2
  182. package/node_modules/@orchestraworks/client/dist/esm/apis/UsersApi.d.ts +0 -15
  183. package/node_modules/@orchestraworks/client/dist/esm/apis/UsersApi.js +0 -49
  184. package/node_modules/@orchestraworks/client/dist/esm/apis/VolumesApi.d.ts +1 -1
  185. package/node_modules/@orchestraworks/client/dist/esm/apis/VolumesApi.js +2 -2
  186. package/node_modules/@orchestraworks/client/dist/esm/apis/WorkItemsApi.d.ts +2 -2
  187. package/node_modules/@orchestraworks/client/dist/esm/apis/WorkItemsApi.js +4 -4
  188. package/node_modules/@orchestraworks/client/dist/esm/apis/WorkflowsApi.d.ts +1 -1
  189. package/node_modules/@orchestraworks/client/dist/esm/apis/WorkflowsApi.js +2 -2
  190. package/node_modules/@orchestraworks/client/dist/esm/apis/index.d.ts +3 -2
  191. package/node_modules/@orchestraworks/client/dist/esm/apis/index.js +3 -2
  192. package/node_modules/@orchestraworks/client/dist/esm/models/AddArtifactVersionRequest.d.ts +1 -1
  193. package/node_modules/@orchestraworks/client/dist/esm/models/Agent.d.ts +9 -3
  194. package/node_modules/@orchestraworks/client/dist/esm/models/Agent.js +3 -2
  195. package/node_modules/@orchestraworks/client/dist/esm/models/ApiErrorDetail.d.ts +9 -1
  196. package/node_modules/@orchestraworks/client/dist/esm/models/ApiErrorDetail.js +5 -1
  197. package/node_modules/@orchestraworks/client/dist/esm/models/Artifact.d.ts +2 -2
  198. package/node_modules/@orchestraworks/client/dist/esm/models/Artifact.js +2 -2
  199. package/node_modules/@orchestraworks/client/dist/esm/models/ArtifactSummary.d.ts +2 -2
  200. package/node_modules/@orchestraworks/client/dist/esm/models/ArtifactSummary.js +2 -2
  201. package/node_modules/@orchestraworks/client/dist/esm/models/AssignAction.d.ts +1 -1
  202. package/node_modules/@orchestraworks/client/dist/esm/models/AssignAction.js +2 -2
  203. package/node_modules/@orchestraworks/client/dist/esm/models/AssignWorkItemRequest.d.ts +2 -2
  204. package/node_modules/@orchestraworks/client/dist/esm/models/AssignWorkItemRequest.js +2 -2
  205. package/node_modules/@orchestraworks/client/dist/esm/models/ComputeProviderTarget.d.ts +6 -0
  206. package/node_modules/@orchestraworks/client/dist/esm/models/ComputeProviderTarget.js +2 -0
  207. package/node_modules/@orchestraworks/client/dist/esm/models/Connection.d.ts +16 -3
  208. package/node_modules/@orchestraworks/client/dist/esm/models/Connection.js +8 -2
  209. package/node_modules/@orchestraworks/client/dist/esm/models/ConnectionInstallLink.d.ts +2 -2
  210. package/node_modules/@orchestraworks/client/dist/esm/models/ConnectionInstallLink.js +2 -2
  211. package/node_modules/@orchestraworks/client/dist/esm/models/Connector.d.ts +2 -2
  212. package/node_modules/@orchestraworks/client/dist/esm/models/Connector.js +2 -2
  213. package/node_modules/@orchestraworks/client/dist/esm/models/CreateAgentRequest.d.ts +2 -2
  214. package/node_modules/@orchestraworks/client/dist/esm/models/CreateAgentRequest.js +2 -2
  215. package/node_modules/@orchestraworks/client/dist/esm/models/CreateArtifactRequest.d.ts +4 -4
  216. package/node_modules/@orchestraworks/client/dist/esm/models/CreateArtifactRequest.js +2 -2
  217. package/node_modules/@orchestraworks/client/dist/esm/models/CreateConnectionInstallLinkRequest.d.ts +3 -3
  218. package/node_modules/@orchestraworks/client/dist/esm/models/CreateConnectionInstallLinkRequest.js +2 -2
  219. package/node_modules/@orchestraworks/client/dist/esm/models/CreateConnectionRequest.d.ts +8 -2
  220. package/node_modules/@orchestraworks/client/dist/esm/models/CreateConnectionRequest.js +4 -2
  221. package/node_modules/@orchestraworks/client/dist/esm/models/CreateConnectorRequest.d.ts +2 -2
  222. package/node_modules/@orchestraworks/client/dist/esm/models/CreateConnectorRequest.js +2 -2
  223. package/node_modules/@orchestraworks/client/dist/esm/models/CreateDashboardRequest.d.ts +3 -3
  224. package/node_modules/@orchestraworks/client/dist/esm/models/CreateDashboardRequest.js +2 -2
  225. package/node_modules/@orchestraworks/client/dist/esm/models/CreateEnvironmentRequest.d.ts +2 -2
  226. package/node_modules/@orchestraworks/client/dist/esm/models/CreateEnvironmentRequest.js +2 -2
  227. package/node_modules/@orchestraworks/client/dist/esm/models/CreateFileRequest.d.ts +2 -2
  228. package/node_modules/@orchestraworks/client/dist/esm/models/CreateFileRequest.js +2 -2
  229. package/node_modules/@orchestraworks/client/dist/esm/models/CreateGatewayKeyRequest.d.ts +2 -2
  230. package/node_modules/@orchestraworks/client/dist/esm/models/CreateGatewayKeyRequest.js +2 -2
  231. package/node_modules/@orchestraworks/client/dist/esm/models/CreateImageRequest.d.ts +38 -0
  232. package/node_modules/@orchestraworks/client/dist/esm/models/{GroupMemberAgent.js → CreateImageRequest.js} +12 -16
  233. package/node_modules/@orchestraworks/client/dist/esm/models/CreateMachineRequest.d.ts +2 -2
  234. package/node_modules/@orchestraworks/client/dist/esm/models/CreateMachineRequest.js +2 -2
  235. package/node_modules/@orchestraworks/client/dist/esm/models/CreateMetricRequest.d.ts +2 -2
  236. package/node_modules/@orchestraworks/client/dist/esm/models/CreateMetricRequest.js +2 -2
  237. package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationInvitationRequest.d.ts +4 -4
  238. package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationInvitationRequest.js +3 -3
  239. package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationMembershipRequest.d.ts +1 -8
  240. package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationMembershipRequest.js +0 -3
  241. package/node_modules/@orchestraworks/client/dist/esm/models/CreatePipelineRequest.d.ts +2 -2
  242. package/node_modules/@orchestraworks/client/dist/esm/models/CreatePipelineRequest.js +2 -2
  243. package/node_modules/@orchestraworks/client/dist/esm/models/CreateProviderConnectionIntentRequest.d.ts +3 -3
  244. package/node_modules/@orchestraworks/client/dist/esm/models/CreateProviderConnectionIntentRequest.js +2 -2
  245. package/node_modules/@orchestraworks/client/dist/esm/models/CreateSecretRequest.d.ts +8 -2
  246. package/node_modules/@orchestraworks/client/dist/esm/models/CreateSecretRequest.js +4 -2
  247. package/node_modules/@orchestraworks/client/dist/esm/models/CreateSessionRequest.d.ts +2 -2
  248. package/node_modules/@orchestraworks/client/dist/esm/models/CreateSessionRequest.js +2 -2
  249. package/node_modules/@orchestraworks/client/dist/esm/models/CreateSkillRequest.d.ts +2 -2
  250. package/node_modules/@orchestraworks/client/dist/esm/models/CreateSkillRequest.js +2 -2
  251. package/node_modules/@orchestraworks/client/dist/esm/models/CreateTeamMembershipRequest.d.ts +65 -0
  252. package/node_modules/@orchestraworks/client/dist/esm/models/CreateTeamMembershipRequest.js +61 -0
  253. package/node_modules/@orchestraworks/client/dist/esm/models/CreateTeamRequest.d.ts +80 -0
  254. package/node_modules/@orchestraworks/client/dist/esm/models/CreateTeamRequest.js +64 -0
  255. package/node_modules/@orchestraworks/client/dist/esm/models/CreateTriggerRequest.d.ts +2 -2
  256. package/node_modules/@orchestraworks/client/dist/esm/models/CreateTriggerRequest.js +2 -2
  257. package/node_modules/@orchestraworks/client/dist/esm/models/CreateVolumeRequest.d.ts +2 -2
  258. package/node_modules/@orchestraworks/client/dist/esm/models/CreateVolumeRequest.js +2 -2
  259. package/node_modules/@orchestraworks/client/dist/esm/models/CreateWorkflowRequest.d.ts +1 -1
  260. package/node_modules/@orchestraworks/client/dist/esm/models/Dashboard.d.ts +8 -2
  261. package/node_modules/@orchestraworks/client/dist/esm/models/Dashboard.js +6 -2
  262. package/node_modules/@orchestraworks/client/dist/esm/models/DashboardChart.d.ts +45 -4
  263. package/node_modules/@orchestraworks/client/dist/esm/models/DashboardChart.js +29 -5
  264. package/node_modules/@orchestraworks/client/dist/esm/models/DashboardChartQuery.d.ts +1 -1
  265. package/node_modules/@orchestraworks/client/dist/esm/models/Delivery.d.ts +2 -2
  266. package/node_modules/@orchestraworks/client/dist/esm/models/Delivery.js +2 -2
  267. package/node_modules/@orchestraworks/client/dist/esm/models/EgressPolicyRule.d.ts +0 -13
  268. package/node_modules/@orchestraworks/client/dist/esm/models/EgressPolicyRule.js +0 -5
  269. package/node_modules/@orchestraworks/client/dist/esm/models/EntitlementTeamUsage.d.ts +58 -0
  270. package/node_modules/@orchestraworks/client/dist/esm/models/EntitlementTeamUsage.js +64 -0
  271. package/node_modules/@orchestraworks/client/dist/esm/models/Environment.d.ts +2 -2
  272. package/node_modules/@orchestraworks/client/dist/esm/models/Environment.js +2 -2
  273. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentEgressPolicy.d.ts +1 -1
  274. package/node_modules/@orchestraworks/client/dist/esm/models/GatewayKey.d.ts +2 -2
  275. package/node_modules/@orchestraworks/client/dist/esm/models/GatewayKey.js +2 -2
  276. package/node_modules/@orchestraworks/client/dist/esm/models/Image.d.ts +113 -0
  277. package/node_modules/@orchestraworks/client/dist/esm/models/Image.js +91 -0
  278. package/node_modules/@orchestraworks/client/dist/esm/models/InboundWebhookEdge.d.ts +2 -2
  279. package/node_modules/@orchestraworks/client/dist/esm/models/InboundWebhookEdge.js +2 -2
  280. package/node_modules/@orchestraworks/client/dist/esm/models/InvitationTeamMembership.d.ts +44 -0
  281. package/node_modules/@orchestraworks/client/dist/esm/models/InvitationTeamMembership.js +47 -0
  282. package/node_modules/@orchestraworks/client/dist/esm/models/MachineEgressPolicyDiagnostics.d.ts +1 -1
  283. package/node_modules/@orchestraworks/client/dist/esm/models/MachineEgressRuleDiagnostics.d.ts +0 -6
  284. package/node_modules/@orchestraworks/client/dist/esm/models/MachineEgressRuleDiagnostics.js +0 -4
  285. package/node_modules/@orchestraworks/client/dist/esm/models/MachineView.d.ts +2 -2
  286. package/node_modules/@orchestraworks/client/dist/esm/models/MachineView.js +2 -2
  287. package/node_modules/@orchestraworks/client/dist/esm/models/MessageWorkItemRequest.d.ts +1 -1
  288. package/node_modules/@orchestraworks/client/dist/esm/models/Metric.d.ts +2 -2
  289. package/node_modules/@orchestraworks/client/dist/esm/models/Metric.js +2 -2
  290. package/node_modules/@orchestraworks/client/dist/esm/models/MetricValue.d.ts +2 -2
  291. package/node_modules/@orchestraworks/client/dist/esm/models/MetricValue.js +2 -2
  292. package/node_modules/@orchestraworks/client/dist/esm/models/ModelFile.d.ts +2 -2
  293. package/node_modules/@orchestraworks/client/dist/esm/models/ModelFile.js +2 -2
  294. package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationEntitlements.d.ts +7 -0
  295. package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationEntitlements.js +5 -0
  296. package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationInvitation.d.ts +4 -4
  297. package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationInvitation.js +4 -4
  298. package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationMembership.d.ts +5 -5
  299. package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationMembership.js +4 -4
  300. package/node_modules/@orchestraworks/client/dist/esm/models/PageImage.d.ts +51 -0
  301. package/node_modules/@orchestraworks/client/dist/esm/models/{PageProject.js → PageImage.js} +11 -11
  302. package/node_modules/@orchestraworks/client/dist/esm/models/PageTeam.d.ts +51 -0
  303. package/node_modules/@orchestraworks/client/dist/esm/models/{PageGroupSummary.js → PageTeam.js} +11 -11
  304. package/node_modules/@orchestraworks/client/dist/esm/models/PageTeamMembership.d.ts +51 -0
  305. package/node_modules/@orchestraworks/client/dist/esm/models/PageTeamMembership.js +56 -0
  306. package/node_modules/@orchestraworks/client/dist/esm/models/Pipeline.d.ts +2 -2
  307. package/node_modules/@orchestraworks/client/dist/esm/models/Pipeline.js +2 -2
  308. package/node_modules/@orchestraworks/client/dist/esm/models/PolicyAssignment.d.ts +8 -2
  309. package/node_modules/@orchestraworks/client/dist/esm/models/PolicyAssignment.js +4 -2
  310. package/node_modules/@orchestraworks/client/dist/esm/models/ProviderConnectionIntent.d.ts +2 -2
  311. package/node_modules/@orchestraworks/client/dist/esm/models/ProviderConnectionIntent.js +2 -2
  312. package/node_modules/@orchestraworks/client/dist/esm/models/ReferenceSubject.d.ts +1 -1
  313. package/node_modules/@orchestraworks/client/dist/esm/models/ReferenceSubject.js +1 -1
  314. package/node_modules/@orchestraworks/client/dist/esm/models/Role.d.ts +6 -0
  315. package/node_modules/@orchestraworks/client/dist/esm/models/Role.js +4 -0
  316. package/node_modules/@orchestraworks/client/dist/esm/models/Secret.d.ts +16 -3
  317. package/node_modules/@orchestraworks/client/dist/esm/models/Secret.js +8 -2
  318. package/node_modules/@orchestraworks/client/dist/esm/models/ServiceAccount.d.ts +7 -1
  319. package/node_modules/@orchestraworks/client/dist/esm/models/ServiceAccount.js +1 -0
  320. package/node_modules/@orchestraworks/client/dist/esm/models/Session.d.ts +3 -2
  321. package/node_modules/@orchestraworks/client/dist/esm/models/Session.js +3 -2
  322. package/node_modules/@orchestraworks/client/dist/esm/models/SessionSummary.d.ts +3 -2
  323. package/node_modules/@orchestraworks/client/dist/esm/models/SessionSummary.js +3 -2
  324. package/node_modules/@orchestraworks/client/dist/esm/models/Skill.d.ts +2 -2
  325. package/node_modules/@orchestraworks/client/dist/esm/models/Skill.js +2 -2
  326. package/node_modules/@orchestraworks/client/dist/esm/models/SnapshotAnchor.d.ts +1 -1
  327. package/node_modules/@orchestraworks/client/dist/esm/models/Team.d.ts +104 -0
  328. package/node_modules/@orchestraworks/client/dist/esm/models/{GroupSummary.js → Team.js} +25 -15
  329. package/node_modules/@orchestraworks/client/dist/esm/models/TeamMembership.d.ts +83 -0
  330. package/node_modules/@orchestraworks/client/dist/esm/models/TeamMembership.js +77 -0
  331. package/node_modules/@orchestraworks/client/dist/esm/models/Trigger.d.ts +2 -2
  332. package/node_modules/@orchestraworks/client/dist/esm/models/Trigger.js +2 -2
  333. package/node_modules/@orchestraworks/client/dist/esm/models/TriggerTarget.d.ts +1 -1
  334. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateArtifactRequest.d.ts +1 -1
  335. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateConnectionRequest.d.ts +6 -0
  336. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateConnectionRequest.js +2 -0
  337. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateOrganizationInvitationRequest.d.ts +4 -4
  338. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateOrganizationInvitationRequest.js +3 -3
  339. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateOrganizationMembershipRequest.d.ts +1 -8
  340. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateOrganizationMembershipRequest.js +0 -3
  341. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateSecretRequest.d.ts +6 -0
  342. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateSecretRequest.js +2 -0
  343. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateTeamMembershipRequest.d.ts +47 -0
  344. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateTeamMembershipRequest.js +51 -0
  345. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateTeamRequest.d.ts +68 -0
  346. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateTeamRequest.js +58 -0
  347. package/node_modules/@orchestraworks/client/dist/esm/models/UserGrant.d.ts +2 -2
  348. package/node_modules/@orchestraworks/client/dist/esm/models/UserGrant.js +2 -2
  349. package/node_modules/@orchestraworks/client/dist/esm/models/Volume.d.ts +10 -3
  350. package/node_modules/@orchestraworks/client/dist/esm/models/Volume.js +4 -2
  351. package/node_modules/@orchestraworks/client/dist/esm/models/WorkItemActivity.d.ts +2 -2
  352. package/node_modules/@orchestraworks/client/dist/esm/models/WorkItemAssignment.d.ts +7 -7
  353. package/node_modules/@orchestraworks/client/dist/esm/models/WorkItemAssignment.js +5 -5
  354. package/node_modules/@orchestraworks/client/dist/esm/models/WorkItemDraftAssignment.d.ts +2 -2
  355. package/node_modules/@orchestraworks/client/dist/esm/models/WorkItemDraftAssignment.js +2 -2
  356. package/node_modules/@orchestraworks/client/dist/esm/models/Workflow.d.ts +2 -2
  357. package/node_modules/@orchestraworks/client/dist/esm/models/Workflow.js +2 -2
  358. package/node_modules/@orchestraworks/client/dist/esm/models/index.d.ts +13 -17
  359. package/node_modules/@orchestraworks/client/dist/esm/models/index.js +13 -17
  360. package/node_modules/@orchestraworks/client/dist/models/AddArtifactVersionRequest.d.ts +1 -1
  361. package/node_modules/@orchestraworks/client/dist/models/Agent.d.ts +9 -3
  362. package/node_modules/@orchestraworks/client/dist/models/Agent.js +3 -2
  363. package/node_modules/@orchestraworks/client/dist/models/ApiErrorDetail.d.ts +9 -1
  364. package/node_modules/@orchestraworks/client/dist/models/ApiErrorDetail.js +5 -1
  365. package/node_modules/@orchestraworks/client/dist/models/Artifact.d.ts +2 -2
  366. package/node_modules/@orchestraworks/client/dist/models/Artifact.js +2 -2
  367. package/node_modules/@orchestraworks/client/dist/models/ArtifactSummary.d.ts +2 -2
  368. package/node_modules/@orchestraworks/client/dist/models/ArtifactSummary.js +2 -2
  369. package/node_modules/@orchestraworks/client/dist/models/AssignAction.d.ts +1 -1
  370. package/node_modules/@orchestraworks/client/dist/models/AssignAction.js +2 -2
  371. package/node_modules/@orchestraworks/client/dist/models/AssignWorkItemRequest.d.ts +2 -2
  372. package/node_modules/@orchestraworks/client/dist/models/AssignWorkItemRequest.js +2 -2
  373. package/node_modules/@orchestraworks/client/dist/models/ComputeProviderTarget.d.ts +6 -0
  374. package/node_modules/@orchestraworks/client/dist/models/ComputeProviderTarget.js +2 -0
  375. package/node_modules/@orchestraworks/client/dist/models/Connection.d.ts +16 -3
  376. package/node_modules/@orchestraworks/client/dist/models/Connection.js +8 -2
  377. package/node_modules/@orchestraworks/client/dist/models/ConnectionInstallLink.d.ts +2 -2
  378. package/node_modules/@orchestraworks/client/dist/models/ConnectionInstallLink.js +2 -2
  379. package/node_modules/@orchestraworks/client/dist/models/Connector.d.ts +2 -2
  380. package/node_modules/@orchestraworks/client/dist/models/Connector.js +2 -2
  381. package/node_modules/@orchestraworks/client/dist/models/CreateAgentRequest.d.ts +2 -2
  382. package/node_modules/@orchestraworks/client/dist/models/CreateAgentRequest.js +2 -2
  383. package/node_modules/@orchestraworks/client/dist/models/CreateArtifactRequest.d.ts +4 -4
  384. package/node_modules/@orchestraworks/client/dist/models/CreateArtifactRequest.js +2 -2
  385. package/node_modules/@orchestraworks/client/dist/models/CreateConnectionInstallLinkRequest.d.ts +3 -3
  386. package/node_modules/@orchestraworks/client/dist/models/CreateConnectionInstallLinkRequest.js +2 -2
  387. package/node_modules/@orchestraworks/client/dist/models/CreateConnectionRequest.d.ts +8 -2
  388. package/node_modules/@orchestraworks/client/dist/models/CreateConnectionRequest.js +4 -2
  389. package/node_modules/@orchestraworks/client/dist/models/CreateConnectorRequest.d.ts +2 -2
  390. package/node_modules/@orchestraworks/client/dist/models/CreateConnectorRequest.js +2 -2
  391. package/node_modules/@orchestraworks/client/dist/models/CreateDashboardRequest.d.ts +3 -3
  392. package/node_modules/@orchestraworks/client/dist/models/CreateDashboardRequest.js +2 -2
  393. package/node_modules/@orchestraworks/client/dist/models/CreateEnvironmentRequest.d.ts +2 -2
  394. package/node_modules/@orchestraworks/client/dist/models/CreateEnvironmentRequest.js +2 -2
  395. package/node_modules/@orchestraworks/client/dist/models/CreateFileRequest.d.ts +2 -2
  396. package/node_modules/@orchestraworks/client/dist/models/CreateFileRequest.js +2 -2
  397. package/node_modules/@orchestraworks/client/dist/models/CreateGatewayKeyRequest.d.ts +2 -2
  398. package/node_modules/@orchestraworks/client/dist/models/CreateGatewayKeyRequest.js +2 -2
  399. package/node_modules/@orchestraworks/client/dist/models/CreateImageRequest.d.ts +38 -0
  400. package/node_modules/@orchestraworks/client/dist/models/CreateImageRequest.js +54 -0
  401. package/node_modules/@orchestraworks/client/dist/models/CreateMachineRequest.d.ts +2 -2
  402. package/node_modules/@orchestraworks/client/dist/models/CreateMachineRequest.js +2 -2
  403. package/node_modules/@orchestraworks/client/dist/models/CreateMetricRequest.d.ts +2 -2
  404. package/node_modules/@orchestraworks/client/dist/models/CreateMetricRequest.js +2 -2
  405. package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationInvitationRequest.d.ts +4 -4
  406. package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationInvitationRequest.js +3 -3
  407. package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationMembershipRequest.d.ts +1 -8
  408. package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationMembershipRequest.js +0 -3
  409. package/node_modules/@orchestraworks/client/dist/models/CreatePipelineRequest.d.ts +2 -2
  410. package/node_modules/@orchestraworks/client/dist/models/CreatePipelineRequest.js +2 -2
  411. package/node_modules/@orchestraworks/client/dist/models/CreateProviderConnectionIntentRequest.d.ts +3 -3
  412. package/node_modules/@orchestraworks/client/dist/models/CreateProviderConnectionIntentRequest.js +2 -2
  413. package/node_modules/@orchestraworks/client/dist/models/CreateSecretRequest.d.ts +8 -2
  414. package/node_modules/@orchestraworks/client/dist/models/CreateSecretRequest.js +4 -2
  415. package/node_modules/@orchestraworks/client/dist/models/CreateSessionRequest.d.ts +2 -2
  416. package/node_modules/@orchestraworks/client/dist/models/CreateSessionRequest.js +2 -2
  417. package/node_modules/@orchestraworks/client/dist/models/CreateSkillRequest.d.ts +2 -2
  418. package/node_modules/@orchestraworks/client/dist/models/CreateSkillRequest.js +2 -2
  419. package/node_modules/@orchestraworks/client/dist/models/CreateTeamMembershipRequest.d.ts +65 -0
  420. package/node_modules/@orchestraworks/client/dist/models/CreateTeamMembershipRequest.js +69 -0
  421. package/node_modules/@orchestraworks/client/dist/models/CreateTeamRequest.d.ts +80 -0
  422. package/node_modules/@orchestraworks/client/dist/models/CreateTeamRequest.js +72 -0
  423. package/node_modules/@orchestraworks/client/dist/models/CreateTriggerRequest.d.ts +2 -2
  424. package/node_modules/@orchestraworks/client/dist/models/CreateTriggerRequest.js +2 -2
  425. package/node_modules/@orchestraworks/client/dist/models/CreateVolumeRequest.d.ts +2 -2
  426. package/node_modules/@orchestraworks/client/dist/models/CreateVolumeRequest.js +2 -2
  427. package/node_modules/@orchestraworks/client/dist/models/CreateWorkflowRequest.d.ts +1 -1
  428. package/node_modules/@orchestraworks/client/dist/models/Dashboard.d.ts +8 -2
  429. package/node_modules/@orchestraworks/client/dist/models/Dashboard.js +6 -2
  430. package/node_modules/@orchestraworks/client/dist/models/DashboardChart.d.ts +45 -4
  431. package/node_modules/@orchestraworks/client/dist/models/DashboardChart.js +30 -6
  432. package/node_modules/@orchestraworks/client/dist/models/DashboardChartQuery.d.ts +1 -1
  433. package/node_modules/@orchestraworks/client/dist/models/Delivery.d.ts +2 -2
  434. package/node_modules/@orchestraworks/client/dist/models/Delivery.js +2 -2
  435. package/node_modules/@orchestraworks/client/dist/models/EgressPolicyRule.d.ts +0 -13
  436. package/node_modules/@orchestraworks/client/dist/models/EgressPolicyRule.js +0 -5
  437. package/node_modules/@orchestraworks/client/dist/models/EntitlementTeamUsage.d.ts +58 -0
  438. package/node_modules/@orchestraworks/client/dist/models/EntitlementTeamUsage.js +72 -0
  439. package/node_modules/@orchestraworks/client/dist/models/Environment.d.ts +2 -2
  440. package/node_modules/@orchestraworks/client/dist/models/Environment.js +2 -2
  441. package/node_modules/@orchestraworks/client/dist/models/EnvironmentEgressPolicy.d.ts +1 -1
  442. package/node_modules/@orchestraworks/client/dist/models/GatewayKey.d.ts +2 -2
  443. package/node_modules/@orchestraworks/client/dist/models/GatewayKey.js +2 -2
  444. package/node_modules/@orchestraworks/client/dist/models/Image.d.ts +113 -0
  445. package/node_modules/@orchestraworks/client/dist/models/Image.js +99 -0
  446. package/node_modules/@orchestraworks/client/dist/models/InboundWebhookEdge.d.ts +2 -2
  447. package/node_modules/@orchestraworks/client/dist/models/InboundWebhookEdge.js +2 -2
  448. package/node_modules/@orchestraworks/client/dist/models/InvitationTeamMembership.d.ts +44 -0
  449. package/node_modules/@orchestraworks/client/dist/models/InvitationTeamMembership.js +54 -0
  450. package/node_modules/@orchestraworks/client/dist/models/MachineEgressPolicyDiagnostics.d.ts +1 -1
  451. package/node_modules/@orchestraworks/client/dist/models/MachineEgressRuleDiagnostics.d.ts +0 -6
  452. package/node_modules/@orchestraworks/client/dist/models/MachineEgressRuleDiagnostics.js +0 -4
  453. package/node_modules/@orchestraworks/client/dist/models/MachineView.d.ts +2 -2
  454. package/node_modules/@orchestraworks/client/dist/models/MachineView.js +2 -2
  455. package/node_modules/@orchestraworks/client/dist/models/MessageWorkItemRequest.d.ts +1 -1
  456. package/node_modules/@orchestraworks/client/dist/models/Metric.d.ts +2 -2
  457. package/node_modules/@orchestraworks/client/dist/models/Metric.js +2 -2
  458. package/node_modules/@orchestraworks/client/dist/models/MetricValue.d.ts +2 -2
  459. package/node_modules/@orchestraworks/client/dist/models/MetricValue.js +2 -2
  460. package/node_modules/@orchestraworks/client/dist/models/ModelFile.d.ts +2 -2
  461. package/node_modules/@orchestraworks/client/dist/models/ModelFile.js +2 -2
  462. package/node_modules/@orchestraworks/client/dist/models/OrganizationEntitlements.d.ts +7 -0
  463. package/node_modules/@orchestraworks/client/dist/models/OrganizationEntitlements.js +5 -0
  464. package/node_modules/@orchestraworks/client/dist/models/OrganizationInvitation.d.ts +4 -4
  465. package/node_modules/@orchestraworks/client/dist/models/OrganizationInvitation.js +4 -4
  466. package/node_modules/@orchestraworks/client/dist/models/OrganizationMembership.d.ts +5 -5
  467. package/node_modules/@orchestraworks/client/dist/models/OrganizationMembership.js +4 -4
  468. package/node_modules/@orchestraworks/client/dist/models/PageImage.d.ts +51 -0
  469. package/node_modules/@orchestraworks/client/dist/models/{PageProject.js → PageImage.js} +16 -16
  470. package/node_modules/@orchestraworks/client/dist/models/PageTeam.d.ts +51 -0
  471. package/node_modules/@orchestraworks/client/dist/models/{PageGroupSummary.js → PageTeam.js} +16 -16
  472. package/node_modules/@orchestraworks/client/dist/models/PageTeamMembership.d.ts +51 -0
  473. package/node_modules/@orchestraworks/client/dist/models/PageTeamMembership.js +63 -0
  474. package/node_modules/@orchestraworks/client/dist/models/Pipeline.d.ts +2 -2
  475. package/node_modules/@orchestraworks/client/dist/models/Pipeline.js +2 -2
  476. package/node_modules/@orchestraworks/client/dist/models/PolicyAssignment.d.ts +8 -2
  477. package/node_modules/@orchestraworks/client/dist/models/PolicyAssignment.js +4 -2
  478. package/node_modules/@orchestraworks/client/dist/models/ProviderConnectionIntent.d.ts +2 -2
  479. package/node_modules/@orchestraworks/client/dist/models/ProviderConnectionIntent.js +2 -2
  480. package/node_modules/@orchestraworks/client/dist/models/ReferenceSubject.d.ts +1 -1
  481. package/node_modules/@orchestraworks/client/dist/models/ReferenceSubject.js +1 -1
  482. package/node_modules/@orchestraworks/client/dist/models/Role.d.ts +6 -0
  483. package/node_modules/@orchestraworks/client/dist/models/Role.js +4 -0
  484. package/node_modules/@orchestraworks/client/dist/models/Secret.d.ts +16 -3
  485. package/node_modules/@orchestraworks/client/dist/models/Secret.js +8 -2
  486. package/node_modules/@orchestraworks/client/dist/models/ServiceAccount.d.ts +7 -1
  487. package/node_modules/@orchestraworks/client/dist/models/ServiceAccount.js +1 -0
  488. package/node_modules/@orchestraworks/client/dist/models/Session.d.ts +3 -2
  489. package/node_modules/@orchestraworks/client/dist/models/Session.js +3 -2
  490. package/node_modules/@orchestraworks/client/dist/models/SessionSummary.d.ts +3 -2
  491. package/node_modules/@orchestraworks/client/dist/models/SessionSummary.js +3 -2
  492. package/node_modules/@orchestraworks/client/dist/models/Skill.d.ts +2 -2
  493. package/node_modules/@orchestraworks/client/dist/models/Skill.js +2 -2
  494. package/node_modules/@orchestraworks/client/dist/models/SnapshotAnchor.d.ts +1 -1
  495. package/node_modules/@orchestraworks/client/dist/models/Team.d.ts +104 -0
  496. package/node_modules/@orchestraworks/client/dist/models/{GroupSummary.js → Team.js} +31 -21
  497. package/node_modules/@orchestraworks/client/dist/models/TeamMembership.d.ts +83 -0
  498. package/node_modules/@orchestraworks/client/dist/models/TeamMembership.js +85 -0
  499. package/node_modules/@orchestraworks/client/dist/models/Trigger.d.ts +2 -2
  500. package/node_modules/@orchestraworks/client/dist/models/Trigger.js +2 -2
  501. package/node_modules/@orchestraworks/client/dist/models/TriggerTarget.d.ts +1 -1
  502. package/node_modules/@orchestraworks/client/dist/models/UpdateArtifactRequest.d.ts +1 -1
  503. package/node_modules/@orchestraworks/client/dist/models/UpdateConnectionRequest.d.ts +6 -0
  504. package/node_modules/@orchestraworks/client/dist/models/UpdateConnectionRequest.js +2 -0
  505. package/node_modules/@orchestraworks/client/dist/models/UpdateOrganizationInvitationRequest.d.ts +4 -4
  506. package/node_modules/@orchestraworks/client/dist/models/UpdateOrganizationInvitationRequest.js +3 -3
  507. package/node_modules/@orchestraworks/client/dist/models/UpdateOrganizationMembershipRequest.d.ts +1 -8
  508. package/node_modules/@orchestraworks/client/dist/models/UpdateOrganizationMembershipRequest.js +0 -3
  509. package/node_modules/@orchestraworks/client/dist/models/UpdateSecretRequest.d.ts +6 -0
  510. package/node_modules/@orchestraworks/client/dist/models/UpdateSecretRequest.js +2 -0
  511. package/node_modules/@orchestraworks/client/dist/models/UpdateTeamMembershipRequest.d.ts +47 -0
  512. package/node_modules/@orchestraworks/client/dist/models/UpdateTeamMembershipRequest.js +59 -0
  513. package/node_modules/@orchestraworks/client/dist/models/UpdateTeamRequest.d.ts +68 -0
  514. package/node_modules/@orchestraworks/client/dist/models/UpdateTeamRequest.js +66 -0
  515. package/node_modules/@orchestraworks/client/dist/models/UserGrant.d.ts +2 -2
  516. package/node_modules/@orchestraworks/client/dist/models/UserGrant.js +2 -2
  517. package/node_modules/@orchestraworks/client/dist/models/Volume.d.ts +10 -3
  518. package/node_modules/@orchestraworks/client/dist/models/Volume.js +4 -2
  519. package/node_modules/@orchestraworks/client/dist/models/WorkItemActivity.d.ts +2 -2
  520. package/node_modules/@orchestraworks/client/dist/models/WorkItemAssignment.d.ts +7 -7
  521. package/node_modules/@orchestraworks/client/dist/models/WorkItemAssignment.js +5 -5
  522. package/node_modules/@orchestraworks/client/dist/models/WorkItemDraftAssignment.d.ts +2 -2
  523. package/node_modules/@orchestraworks/client/dist/models/WorkItemDraftAssignment.js +2 -2
  524. package/node_modules/@orchestraworks/client/dist/models/Workflow.d.ts +2 -2
  525. package/node_modules/@orchestraworks/client/dist/models/Workflow.js +2 -2
  526. package/node_modules/@orchestraworks/client/dist/models/index.d.ts +13 -17
  527. package/node_modules/@orchestraworks/client/dist/models/index.js +13 -17
  528. package/node_modules/@orchestraworks/client/package.json +1 -1
  529. package/package.json +4 -4
  530. package/skills/orchestra/SKILL.md +74 -64
  531. package/skills/orchestra-fdk/references/authoring.md +75 -39
  532. package/skills/orchestra-fdk/references/environment.md +214 -33
  533. package/skills/orchestra-fdk/references/troubleshooting.md +8 -7
  534. package/templates/bug-fix/main.ts +6 -1
  535. package/templates/engineering-team/README.md +10 -7
  536. package/templates/engineering-team/agents/engineer-agent.md +38 -16
  537. package/templates/engineering-team/lib/environment.ts +15 -3
  538. package/templates/engineering-team/main.ts +1 -1
  539. package/templates/todo-factory/main.ts +6 -1
  540. package/dist/constructs/project.d.ts +0 -33
  541. package/dist/constructs/project.js +0 -82
  542. package/node_modules/@orchestraworks/client/dist/apis/GroupsApi.d.ts +0 -95
  543. package/node_modules/@orchestraworks/client/dist/apis/ProjectsApi.d.ts +0 -93
  544. package/node_modules/@orchestraworks/client/dist/esm/apis/GroupsApi.d.ts +0 -95
  545. package/node_modules/@orchestraworks/client/dist/esm/apis/ProjectsApi.d.ts +0 -93
  546. package/node_modules/@orchestraworks/client/dist/esm/models/CreateGroupRequest.d.ts +0 -82
  547. package/node_modules/@orchestraworks/client/dist/esm/models/CreateGroupRequest.js +0 -74
  548. package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationRequest.d.ts +0 -53
  549. package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationRequest.js +0 -50
  550. package/node_modules/@orchestraworks/client/dist/esm/models/CreateProjectRequest.d.ts +0 -52
  551. package/node_modules/@orchestraworks/client/dist/esm/models/CreateProjectRequest.js +0 -49
  552. package/node_modules/@orchestraworks/client/dist/esm/models/CreateUserRequest.d.ts +0 -46
  553. package/node_modules/@orchestraworks/client/dist/esm/models/CreateUserRequest.js +0 -47
  554. package/node_modules/@orchestraworks/client/dist/esm/models/CredentialBinding.d.ts +0 -57
  555. package/node_modules/@orchestraworks/client/dist/esm/models/CredentialBinding.js +0 -50
  556. package/node_modules/@orchestraworks/client/dist/esm/models/Group.d.ts +0 -106
  557. package/node_modules/@orchestraworks/client/dist/esm/models/Group.js +0 -92
  558. package/node_modules/@orchestraworks/client/dist/esm/models/GroupMember.d.ts +0 -40
  559. package/node_modules/@orchestraworks/client/dist/esm/models/GroupMember.js +0 -45
  560. package/node_modules/@orchestraworks/client/dist/esm/models/GroupMemberAgent.d.ts +0 -44
  561. package/node_modules/@orchestraworks/client/dist/esm/models/GroupMemberReference.d.ts +0 -38
  562. package/node_modules/@orchestraworks/client/dist/esm/models/GroupMemberReference.js +0 -43
  563. package/node_modules/@orchestraworks/client/dist/esm/models/GroupMemberUser.d.ts +0 -38
  564. package/node_modules/@orchestraworks/client/dist/esm/models/GroupMemberUser.js +0 -45
  565. package/node_modules/@orchestraworks/client/dist/esm/models/GroupSummary.d.ts +0 -86
  566. package/node_modules/@orchestraworks/client/dist/esm/models/PageGroupSummary.d.ts +0 -51
  567. package/node_modules/@orchestraworks/client/dist/esm/models/PageProject.d.ts +0 -51
  568. package/node_modules/@orchestraworks/client/dist/esm/models/Project.d.ts +0 -76
  569. package/node_modules/@orchestraworks/client/dist/esm/models/Project.js +0 -69
  570. package/node_modules/@orchestraworks/client/dist/esm/models/RoleAssignment.d.ts +0 -38
  571. package/node_modules/@orchestraworks/client/dist/esm/models/RoleAssignment.js +0 -45
  572. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateGroupRequest.d.ts +0 -70
  573. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateGroupRequest.js +0 -60
  574. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateProjectRequest.d.ts +0 -46
  575. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateProjectRequest.js +0 -45
  576. package/node_modules/@orchestraworks/client/dist/models/CreateGroupRequest.d.ts +0 -82
  577. package/node_modules/@orchestraworks/client/dist/models/CreateGroupRequest.js +0 -82
  578. package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationRequest.d.ts +0 -53
  579. package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationRequest.js +0 -57
  580. package/node_modules/@orchestraworks/client/dist/models/CreateProjectRequest.d.ts +0 -52
  581. package/node_modules/@orchestraworks/client/dist/models/CreateProjectRequest.js +0 -56
  582. package/node_modules/@orchestraworks/client/dist/models/CreateUserRequest.d.ts +0 -46
  583. package/node_modules/@orchestraworks/client/dist/models/CreateUserRequest.js +0 -54
  584. package/node_modules/@orchestraworks/client/dist/models/CredentialBinding.d.ts +0 -57
  585. package/node_modules/@orchestraworks/client/dist/models/CredentialBinding.js +0 -57
  586. package/node_modules/@orchestraworks/client/dist/models/Group.d.ts +0 -106
  587. package/node_modules/@orchestraworks/client/dist/models/Group.js +0 -100
  588. package/node_modules/@orchestraworks/client/dist/models/GroupMember.d.ts +0 -40
  589. package/node_modules/@orchestraworks/client/dist/models/GroupMember.js +0 -52
  590. package/node_modules/@orchestraworks/client/dist/models/GroupMemberAgent.d.ts +0 -44
  591. package/node_modules/@orchestraworks/client/dist/models/GroupMemberAgent.js +0 -58
  592. package/node_modules/@orchestraworks/client/dist/models/GroupMemberReference.d.ts +0 -38
  593. package/node_modules/@orchestraworks/client/dist/models/GroupMemberReference.js +0 -50
  594. package/node_modules/@orchestraworks/client/dist/models/GroupMemberUser.d.ts +0 -38
  595. package/node_modules/@orchestraworks/client/dist/models/GroupMemberUser.js +0 -52
  596. package/node_modules/@orchestraworks/client/dist/models/GroupSummary.d.ts +0 -86
  597. package/node_modules/@orchestraworks/client/dist/models/PageGroupSummary.d.ts +0 -51
  598. package/node_modules/@orchestraworks/client/dist/models/PageProject.d.ts +0 -51
  599. package/node_modules/@orchestraworks/client/dist/models/Project.d.ts +0 -76
  600. package/node_modules/@orchestraworks/client/dist/models/Project.js +0 -76
  601. package/node_modules/@orchestraworks/client/dist/models/RoleAssignment.d.ts +0 -38
  602. package/node_modules/@orchestraworks/client/dist/models/RoleAssignment.js +0 -52
  603. package/node_modules/@orchestraworks/client/dist/models/UpdateGroupRequest.d.ts +0 -70
  604. package/node_modules/@orchestraworks/client/dist/models/UpdateGroupRequest.js +0 -68
  605. package/node_modules/@orchestraworks/client/dist/models/UpdateProjectRequest.d.ts +0 -46
  606. package/node_modules/@orchestraworks/client/dist/models/UpdateProjectRequest.js +0 -52
@@ -1,46 +1,37 @@
1
- // Cross-references (secret ids in credential bindings, volume ids in mounts) serialize as `${ref:…}` tokens
1
+ // Cross-references (volume ids in mounts, the pull credential's secret id) serialize as `${ref:…}` tokens
2
2
  // or verbatim import refs and resolve to canonical ids at apply. Server-default sub-fields are emitted
3
3
  // explicitly so the whole-object egress/ingress diff stays stable.
4
4
  import { Construct } from "../core/construct.js";
5
- import { refToken } from "../core/tokens.js";
5
+ import { hostPatternCovers } from "../core/host-pattern.js";
6
+ import { isRefToken, parseRefToken, refToken } from "../core/tokens.js";
6
7
  import { connectionLabel } from "./connection.js";
7
- import { AUTHORIZATION_TEMPLATE, CONNECTION_RULE_PRIORITY, CREDENTIAL_FREE_RULE_SUFFIX, CREDENTIAL_RULE_SUFFIX, connectionCredentialOf, } from "./egress-preset.js";
8
+ import { CONNECTION_RULE_PRIORITY } from "./egress-preset.js";
8
9
  import { interpolateHost } from "./provider-types.js";
9
10
  import { registerImport, resolveManagedSlug, validateExplicitSlug, } from "./references.js";
10
- import { cloneInjectionRecipe, normalizeInjectionRecipe } from "./secret.js";
11
- /** Binding a recipe-carrying secret this way is a valid presentation choice — the binding determines
12
- * application. */
11
+ import { cloneInjectionRecipe, normalizeInjectionRecipe, Secret } from "./secret.js";
12
+ // The four binders below survive only so a rule that still names a credential fails at synth with the exact
13
+ // `injection` its Secret should declare: a rule carries no credential, and the binder is what knows the form.
14
+ /** @deprecated A rule carries no credential: declare `hosts` and `injection` on the Secret instead. */
13
15
  export function bearer(header, secret) {
14
16
  const secretId = secret.secretId;
15
17
  return { _credentialBinding: () => ({ header, secretId, valueTemplate: "Bearer ${secret}" }) };
16
18
  }
19
+ /** @deprecated A rule carries no credential: declare `hosts` and `injection` on the Secret instead. */
17
20
  export function basic(header, secret) {
18
21
  const secretId = secret.secretId;
19
22
  return { _credentialBinding: () => ({ header, secretId, valueTemplate: "Basic ${secret}" }) };
20
23
  }
21
- /**
22
- * Injects `<header>: <secret>` verbatim with no scheme prefix, for a provider-specific header whose value is
23
- * the secret as-is.
24
- */
24
+ /** @deprecated A rule carries no credential: declare `hosts` and `injection` on the Secret instead. */
25
25
  export function header(name, secret) {
26
26
  const secretId = secret.secretId;
27
27
  return { _credentialBinding: () => ({ header: name, secretId, valueTemplate: "${secret}" }) };
28
28
  }
29
- /**
30
- * OVERRIDES the secret's own recipe wholesale at the broker — replace, never merge. The recipe is validated
31
- * and normalized once here and the producer hands out a deep copy each call, so a caller cannot mutate the
32
- * validated recipe after `allow()` to smuggle an unvalidated header past synth validation. There is
33
- * deliberately no recipe-presence check on `secret`: overriding a recipe-less secret is the whole point, since
34
- * the bare secret means "use the secret's own recipe" and `inject()` means "use THIS one".
35
- */
29
+ /** @deprecated A rule carries no credential: declare `hosts` and `injection` on the Secret instead. */
36
30
  export function inject(secret, recipe) {
37
31
  const secretId = secret.secretId;
38
32
  const normalized = normalizeInjectionRecipe(recipe, `inject() binding for secret '${secretId}'`);
39
33
  return { _credentialBinding: () => ({ secretId, injection: cloneInjectionRecipe(normalized) }) };
40
34
  }
41
- function isConnectionRule(rule) {
42
- return "connectionId" in rule;
43
- }
44
35
  /**
45
36
  * 300 is deliberately the same band `allow(connection)` defaults to, not a race won: priority only arbitrates
46
37
  * between rules matching the SAME host, and no connection provider declares the model gateway's host.
@@ -54,7 +45,7 @@ const DEFAULT_MODEL_GATEWAY_RULE_NAME = "model-gateway";
54
45
  export const DEFAULT_MODEL_GATEWAY_HOST = "models.orchestraworks.ai";
55
46
  /**
56
47
  * One DNS name and nothing else: `hosts` is matched as a host pattern, so a scheme, path or port would match
57
- * no request, and a `*` would send the gateway key to every host it covers.
48
+ * no request, and a `*` would open every host to the network.
58
49
  */
59
50
  const BARE_HOSTNAME = /^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?(?:\.[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?)*$/;
60
51
  /**
@@ -140,69 +131,42 @@ function normalizePaths(ruleName, paths) {
140
131
  return [...paths];
141
132
  }
142
133
  /**
143
- * `credential` and `credentials` are mutually exclusive, an explicit `credentials` list must be non-empty, and
144
- * header names within it must be unique case-insensitively — broker hydration builds its header map with
145
- * `associate`, so a duplicate would silently drop a binding at runtime.
146
- *
147
- * Each entry's own `_credentialBinding()` produces its fresh wire literal here (a recipe-less local `Secret`
148
- * throws its synth error at this point); the produced literals are the rule's stored, snapshot-immutable
149
- * credential data — a caller mutating their array or inputs after `allow()` cannot reach them.
134
+ * A rule that still names a credential is an authored statement that can no longer apply, so it fails here
135
+ * with the Secret declaration that replaces it: the rule's hosts become the Secret's `hosts`, and the binder's
136
+ * form becomes its `injection`.
150
137
  */
151
- function normalizeCredentials(ruleName, options) {
152
- if (options.credential !== undefined && options.credentials !== undefined) {
153
- throw new Error(`egress rule '${ruleName}': set either 'credential' (one binding) or 'credentials' (a list), not both.`);
154
- }
155
- if (options.credential !== undefined) {
156
- return [options.credential._credentialBinding()];
157
- }
158
- if (options.credentials === undefined) {
159
- return [];
160
- }
161
- if (options.credentials.length === 0) {
162
- throw new Error(`egress rule '${ruleName}': 'credentials' is empty. Omit it for a credential-free rule, or list at least one binding.`);
163
- }
164
- const bindings = options.credentials.map((entry) => entry._credentialBinding());
165
- const seen = new Set();
166
- for (const binding of bindings) {
167
- // A recipe/injection binding names no header (its recipe does), so it has nothing to collide on and is
168
- // skipped; uniqueness stays enforced across the single-header bindings beside it.
169
- if (binding.header === undefined) {
170
- continue;
171
- }
172
- const key = binding.header.toLowerCase();
173
- if (seen.has(key)) {
174
- throw new Error(`egress rule '${ruleName}': duplicate credential header '${binding.header}' (header names match ` +
175
- `case-insensitively). Bind each header at most once.`);
176
- }
177
- seen.add(key);
178
- }
179
- return bindings;
138
+ function refuseRuleCredential(ruleName, options, hosts) {
139
+ const declared = options.credentials !== undefined
140
+ ? Array.isArray(options.credentials)
141
+ ? options.credentials
142
+ : [options.credentials]
143
+ : options.credential !== undefined
144
+ ? [options.credential]
145
+ : [];
146
+ if (declared.length === 0 && options.credentials === undefined)
147
+ return;
148
+ const remedies = declared.map((entry) => secretRemedy(entry, hosts));
149
+ throw new Error(`egress rule '${ruleName}': a rule carries no credential, so 'credential'/'credentials' is not accepted. ` +
150
+ `A credential declares where and how it is presented on its own resource: ` +
151
+ `${remedies.length > 0 ? remedies.join("; ") : "give the Secret 'hosts' and an 'injection' recipe"}. ` +
152
+ `Then keep this rule as a network rule, with no credential.`);
180
153
  }
181
- /**
182
- * Three fail-at-synth shapes, each a certain misconfiguration rather than a warning: an empty list (the author
183
- * meant "omit the option"), a duplicate entry (an ambiguous declaration), and a host that is not one of the
184
- * connection's own — most commonly the uninterpolated `{param}` pattern, which would otherwise silently match
185
- * nothing and push the intended-credentialed host into the credential-free partition.
186
- */
187
- function validateCredentialHosts(declared, interpolatedHosts, ctx) {
188
- if (declared.length === 0) {
189
- throw new Error(`egress rule '${ctx.ruleName}': 'credentialHosts' is empty. Omit it to bind the connection credential ` +
190
- `to every provider host, or list at least one of ${JSON.stringify(interpolatedHosts)}.`);
191
- }
192
- const known = new Set(interpolatedHosts);
193
- const selected = new Set();
194
- for (const host of declared) {
195
- if (selected.has(host)) {
196
- throw new Error(`egress rule '${ctx.ruleName}': duplicate host '${host}' in 'credentialHosts'.`);
197
- }
198
- if (!known.has(host)) {
199
- throw new Error(`egress rule '${ctx.ruleName}': 'credentialHosts' host '${host}' is not one of connection provider ` +
200
- `'${ctx.providerId}' hosts ${JSON.stringify(interpolatedHosts)}. Name the INTERPOLATED host (the ` +
201
- `install values are already substituted), not the '{param}' pattern.`);
202
- }
203
- selected.add(host);
204
- }
205
- return selected;
154
+ /** The Secret declaration one binder stands for, with no value: a recipe and host names only. */
155
+ function secretRemedy(entry, hosts) {
156
+ const binding = entry !== null && typeof entry === "object" && "_credentialBinding" in entry
157
+ ? entry._credentialBinding()
158
+ : undefined;
159
+ if (binding === undefined)
160
+ return "give the Secret 'hosts' and an 'injection' recipe";
161
+ const name = isRefToken(binding.secretId)
162
+ ? `Secret '${parseRefToken(binding.secretId).path.join("/")}'`
163
+ : `secret '${binding.secretId}'`;
164
+ const injection = binding.injection !== undefined
165
+ ? JSON.stringify(binding.injection)
166
+ : binding.header !== undefined
167
+ ? JSON.stringify({ headers: [{ name: binding.header, value: binding.valueTemplate }] })
168
+ : "its own injection recipe";
169
+ return `${name} takes hosts: ${JSON.stringify(hosts)} and injection: ${injection}`;
206
170
  }
207
171
  /**
208
172
  * **The builder is mutating, and every chaining method returns `this`, not a copy.** `denyAll()` or
@@ -224,9 +188,9 @@ export class EgressPolicy {
224
188
  return new EgressPolicy("deny");
225
189
  }
226
190
  /**
227
- * Allows every host no rule matches. Rules fold onto it exactly as onto {@link denyAll}: a credentialed
228
- * allow rule still injects its credential at the edge, and a deny still refuses. It opens hosts, not
229
- * ports: the ports the edge answers on are the same under either starting point.
191
+ * Allows every host no rule matches. Rules fold onto it exactly as onto {@link denyAll}, and a deny still
192
+ * refuses. It opens hosts, not ports: the ports the edge answers on are the same under either starting
193
+ * point.
230
194
  */
231
195
  static allowAll() {
232
196
  return new EgressPolicy("allow");
@@ -238,8 +202,7 @@ export class EgressPolicy {
238
202
  * step the first time a future mint site pushed a rule without claiming, leaving that rule on the wire and
239
203
  * invisible to the check. Deliberately order-blind, so applying one preset twice is an error too, and
240
204
  * checked BEFORE the rule's shape normalizers, because the name is the rule's identity — except where a
241
- * mint site cannot know its names that early (the `credentialHosts` split) or has already refused the entry
242
- * outright. `fix` is the one sentence that differs per mint site.
205
+ * mint site has already refused the entry outright. `fix` is the one sentence that differs per mint site.
243
206
  */
244
207
  claimRuleName(name, fix) {
245
208
  if (this.rules.some((rule) => rule.name === name)) {
@@ -252,16 +215,17 @@ export class EgressPolicy {
252
215
  if (typeof first === "string") {
253
216
  const rule = second;
254
217
  this.claimRuleName(first, "Rename one of them, or drop the duplicate declaration.");
218
+ // COPIED on intake by each normalizer: the stored rule is the policy's own snapshot, so a caller
219
+ // mutating their `hosts`/`paths` array after `allow()` cannot change what later synths emit.
220
+ const hosts = normalizeHosts(first, rule.hosts);
221
+ refuseRuleCredential(first, rule, hosts);
255
222
  this.rules.push({
256
223
  name: first,
257
224
  action: "allow",
258
- // COPIED on intake by each normalizer: the stored rule is the policy's own snapshot, so a caller
259
- // mutating their `hosts`/`paths` array after `allow()` cannot change what later synths emit.
260
- hosts: normalizeHosts(first, rule.hosts),
225
+ hosts,
261
226
  priority: rule.priority,
262
227
  paths: normalizePaths(first, rule.paths),
263
228
  methods: normalizeMethods(first, rule.methods),
264
- credentials: normalizeCredentials(first, rule),
265
229
  });
266
230
  return this;
267
231
  }
@@ -269,59 +233,24 @@ export class EgressPolicy {
269
233
  const opts = second ?? {};
270
234
  const name = opts.name ?? `connection-${connectionLabel(connection)}`;
271
235
  const hosts = connection.provider.apiHosts.map((host) => interpolateHost(host, connection.installValues, { providerId: connection.provider.id, ruleName: name }));
272
- const priority = opts.priority ?? CONNECTION_RULE_PRIORITY;
273
- const paths = normalizePaths(name, opts.paths);
236
+ if (opts.credentialHosts !== undefined) {
237
+ throw new Error(`egress rule '${name}': 'credentialHosts' is not accepted, because a rule carries no credential. The ` +
238
+ `connection's own 'hosts' choose the catalog hosts its credential is presented on, such as ` +
239
+ `hosts: ${JSON.stringify(opts.credentialHosts)} on the Connection. Drop 'credentialHosts' from this ` +
240
+ `rule.`);
241
+ }
274
242
  // The derived name is what two grants for the SAME connection collide on — most often a second, narrower
275
243
  // `allow(connection, { paths })` beside the broad one. `name:` is the knob.
276
- const connectionNameFix = `Give one of the two grants its own name (\`allow(connection, { name: "…" })\`), or fold them into ` +
277
- `one rule.`;
278
- if (opts.credentialHosts === undefined) {
279
- this.claimRuleName(name, connectionNameFix);
280
- this.rules.push({
281
- name,
282
- action: "allow",
283
- hosts,
284
- priority,
285
- paths,
286
- methods: ["*"],
287
- connectionId: connection.connectionId,
288
- valueTemplate: AUTHORIZATION_TEMPLATE,
289
- });
290
- return this;
291
- }
292
- // Both partitions preserve the provider's declaration order, and both names are derived (never
293
- // author-supplied) so the pair is deterministic across synths.
294
- const credentialed = validateCredentialHosts(opts.credentialHosts, hosts, {
295
- providerId: connection.provider.id,
296
- ruleName: name,
297
- });
298
- const remainder = hosts.filter((host) => !credentialed.has(host));
299
- // Each partition name is claimed right before its own push: the pair is derived and mutually
300
- // collision-safe, but the BASE name is the author's.
301
- this.claimRuleName(`${name}${CREDENTIAL_RULE_SUFFIX}`, connectionNameFix);
244
+ this.claimRuleName(name, `Give one of the two grants its own name (\`allow(connection, { name: "…" })\`), or fold them into ` +
245
+ `one rule.`);
302
246
  this.rules.push({
303
- name: `${name}${CREDENTIAL_RULE_SUFFIX}`,
247
+ name,
304
248
  action: "allow",
305
- hosts: hosts.filter((host) => credentialed.has(host)),
306
- priority,
307
- paths: [...paths],
249
+ hosts,
250
+ priority: opts.priority ?? CONNECTION_RULE_PRIORITY,
251
+ paths: normalizePaths(name, opts.paths),
308
252
  methods: ["*"],
309
- connectionId: connection.connectionId,
310
- valueTemplate: AUTHORIZATION_TEMPLATE,
311
253
  });
312
- // Omitted when the subset is every host: an empty-host rule would allow nothing.
313
- if (remainder.length > 0) {
314
- this.claimRuleName(`${name}${CREDENTIAL_FREE_RULE_SUFFIX}`, connectionNameFix);
315
- this.rules.push({
316
- name: `${name}${CREDENTIAL_FREE_RULE_SUFFIX}`,
317
- action: "allow",
318
- hosts: remainder,
319
- priority,
320
- paths: [...paths],
321
- methods: ["*"],
322
- credentials: [],
323
- });
324
- }
325
254
  return this;
326
255
  }
327
256
  /**
@@ -329,9 +258,8 @@ export class EgressPolicy {
329
258
  * host, everything on that host is open, and a deny carves a hole back out of it while the allow beside it
330
259
  * serves the rest. **Deny wins among equal-priority matches**, so it can never lose a tie, but it CAN lose
331
260
  * to a strictly higher-priority allow — which is why its default priority sits above the band the
332
- * credentialed allow rules use. A denied request fails closed at the broker and the credential the allow
333
- * would have injected is never resolved: a fence at the network edge, not a narrowing of what the agent may
334
- * see or ask for. Both `paths` and `methods` default to `["*"]`, so `deny(name, { hosts })` is a total
261
+ * connection allow rules use. A denied request fails closed at the broker before any credential is
262
+ * resolved: a fence at the network edge, not a narrowing of what the agent may see or ask for. Both `paths` and `methods` default to `["*"]`, so `deny(name, { hosts })` is a total
335
263
  * revocation on a host an allow rule opens; narrow at least one when the intent is partial.
336
264
  */
337
265
  deny(name, rule) {
@@ -345,19 +273,18 @@ export class EgressPolicy {
345
273
  priority: rule.priority ?? DEFAULT_DENY_PRIORITY,
346
274
  paths: normalizePaths(name, rule.paths),
347
275
  methods: normalizeMethods(name, rule.methods),
348
- credentials: [],
349
276
  });
350
277
  return this;
351
278
  }
352
279
  /**
353
- * Routes this environment's model traffic through the model gateway with a gateway key: one ordinary allow
354
- * rule named `model-gateway` on the gateway host, whose binding adds `Authorization: Bearer <key>`. The rule
355
- * only adds the key; the harness learns the gateway address from the agent's
356
- * `modelSettings.enableModelGateway`, which an app routing through the gateway sets as well.
357
- *
358
- * `inject()` rather than `bearer()` because the runtime image bakes an `ANTHROPIC_API_KEY` placeholder the
359
- * claude harness sends as `x-api-key`, and the gateway refuses a request whose two key headers disagree.
360
- * `removeHeaders` strips the placeholder before injection; the other harnesses never send it.
280
+ * Routes this environment's model traffic through the model gateway: one ordinary allow rule named
281
+ * `model-gateway` on the gateway host. The key is presented by its own Secret, which declares the gateway
282
+ * host in its `hosts` and an `injection` recipe — `Authorization: Bearer ${secret}`, removing `x-api-key`,
283
+ * because the runtime image bakes an `ANTHROPIC_API_KEY` placeholder the claude harness sends as `x-api-key`
284
+ * and the gateway refuses a request whose two key headers disagree. A declared key is checked for both at
285
+ * synth; an imported one cannot be read here and is the platform's to check. The harness learns the gateway
286
+ * address from the agent's `modelSettings.enableModelGateway`, which an app routing through the gateway sets
287
+ * as well.
361
288
  */
362
289
  routeModelsViaGateway(opts) {
363
290
  // Read through an optional chain: an untyped `npx tsx` caller can omit the options bag entirely.
@@ -371,14 +298,20 @@ export class EgressPolicy {
371
298
  throw new Error(`routeModelsViaGateway(): 'host' must be a bare hostname such as "${DEFAULT_MODEL_GATEWAY_HOST}", ` +
372
299
  `but got ${JSON.stringify(host)}. Drop any scheme, path, port or '*'.`);
373
300
  }
374
- return this.allow(DEFAULT_MODEL_GATEWAY_RULE_NAME, {
375
- hosts: [host],
376
- priority: DEFAULT_MODEL_GATEWAY_PRIORITY,
377
- credential: inject(key, {
378
- headers: [{ name: "Authorization", value: "Bearer ${secret}" }],
379
- removeHeaders: ["x-api-key"],
380
- }),
381
- });
301
+ if (key instanceof Secret) {
302
+ const remedy = `Declare it as new Secret(scope, id, { value: SecretValue.fromGatewayKey(gatewayKey), ` +
303
+ `hosts: ["${host}"], injection: { headers: [{ name: "Authorization", value: "Bearer \${secret}" }], ` +
304
+ `removeHeaders: ["x-api-key"] } }).`;
305
+ if (!key._presentsHeader()) {
306
+ throw new Error(`routeModelsViaGateway(): key Secret '${key.node.path.join("/")}' has no 'injection' header, so the ` +
307
+ `gateway key is never presented. ${remedy}`);
308
+ }
309
+ if (!key._hosts().some((pattern) => hostPatternCovers(pattern, host))) {
310
+ throw new Error(`routeModelsViaGateway(): key Secret '${key.node.path.join("/")}' does not cover '${host}' in its ` +
311
+ `'hosts' ${JSON.stringify(key._hosts())}, so model calls would leave with no key. ${remedy}`);
312
+ }
313
+ }
314
+ return this.allow(DEFAULT_MODEL_GATEWAY_RULE_NAME, { hosts: [host], priority: DEFAULT_MODEL_GATEWAY_PRIORITY });
382
315
  }
383
316
  /**
384
317
  * Each entry lands as an ordinary allow rule — the same wire shape, in the same `rules` array, in the same
@@ -386,18 +319,12 @@ export class EgressPolicy {
386
319
  * hand: there is nothing to learn about presets when reading a plan, a diff, or the live environment.
387
320
  *
388
321
  * Rules are appended where the call sits in the chain, and the matcher arbitrates by priority first (preset
389
- * rows sit below every band shipped policies use) and by declaration order only among equal-priority ties,
390
- * where a credentialed rule outranks a zero-binding one — so a preset's anonymous row can never shadow an
391
- * author's credentialed rule for the same host. A name collision is a synth error, so applying a preset over
392
- * a rule you already named fails, and so does applying the same preset twice.
322
+ * rows sit below every band shipped policies use) and by declaration order only among equal-priority ties.
323
+ * A name collision is a synth error, so applying a preset over a rule you already named fails, and so does
324
+ * applying the same preset twice.
393
325
  */
394
326
  applyPreset(bundle) {
395
327
  for (const rule of bundle) {
396
- // This is the ONE place a bundle entry's credential is read, and recognition is by instance identity,
397
- // never by property shape: a hand-built object with the same fields — or a `structuredClone` of a real
398
- // entry — is simply not one, so it folds as the ordinary anonymous allow rule its fields describe. That
399
- // degradation is the safety property: the worst an author can express by hand is a credential-free rule.
400
- const credential = connectionCredentialOf(rule);
401
328
  // `action` is typed `"allow"` and nothing else, but a bundle assembled by hand in an untyped `npx tsx`
402
329
  // app carries whatever it carries, and an entry spelling `action: "deny"` folded on as an ALLOW rule
403
330
  // would invert the author's stated prohibition into a grant with no error anywhere. Checked before the
@@ -407,11 +334,10 @@ export class EgressPolicy {
407
334
  `${JSON.stringify(rule.action)}. A bundle opens reachability; a prohibition is the app's own ` +
408
335
  `\`deny(...)\` rule, stated where a reader looks for it and at a priority that wins.`);
409
336
  }
410
- this.claimRuleName(rule.name, credential !== undefined
411
- ? `A connection's bundle supersedes a separate \`allow(connection)\` grant — apply one of them, ` +
412
- `and apply each connection's bundle once.`
413
- : `Rename the rule you authored, drop it in favor of the preset's, or apply the preset once.`);
414
- const common = {
337
+ this.claimRuleName(rule.name, `Rename the rule you authored, drop it in favor of the preset's, or apply the preset once. A ` +
338
+ `connection's bundle supersedes a separate \`allow(connection)\` grant — apply one of them, and ` +
339
+ `apply each connection's bundle once.`);
340
+ this.rules.push({
415
341
  name: rule.name,
416
342
  // Narrowed, not assumed: the guard above has already refused every other spelling.
417
343
  action: "allow",
@@ -419,20 +345,14 @@ export class EgressPolicy {
419
345
  priority: rule.priority,
420
346
  paths: normalizePaths(rule.name, rule.paths),
421
347
  methods: normalizeMethods(rule.name, rule.methods),
422
- };
423
- this.rules.push(credential !== undefined
424
- ? // The SAME `ConnectionAllowRule` shape `allow(connection)` stores, so the wire is one shape from
425
- // one place, carrying whichever carriage the entry declared.
426
- { ...common, connectionId: credential.connectionId, valueTemplate: credential.valueTemplate }
427
- : { ...common, credentials: [] });
348
+ });
428
349
  }
429
350
  return this;
430
351
  }
431
352
  /**
432
- * Every emitted array is FRESH — `hosts`/`paths` are copied out of the stored rule and
433
- * `credentialBindingsFor` builds new literals — so the payload shares no mutable structure with the policy.
434
- * Without the copy, mutating one synthesized plan's `rules[i].hosts` would mutate the stored rule and every
435
- * later synth would emit the mutation.
353
+ * Every emitted array is FRESH — `hosts`/`paths`/`methods` are copied out of the stored rule — so the payload
354
+ * shares no mutable structure with the policy. Without the copy, mutating one synthesized plan's
355
+ * `rules[i].hosts` would mutate the stored rule and every later synth would emit the mutation.
436
356
  */
437
357
  _toPayload() {
438
358
  return {
@@ -445,41 +365,10 @@ export class EgressPolicy {
445
365
  hosts: [...rule.hosts],
446
366
  paths: [...rule.paths],
447
367
  methods: [...rule.methods],
448
- agentIds: [],
449
- credentialBindings: credentialBindingsFor(rule),
450
368
  })),
451
369
  };
452
370
  }
453
371
  }
454
- /**
455
- * The omitted keys on each arm are deliberate, not defaults-elided: the platform classifies a binding as
456
- * "recipe" from the BLANK `header` and rejects an omitted header paired with a meaningful `valueTemplate`, or
457
- * a `header` beside an `injection`. Omission is safe against both the whole-object PATCH (the server
458
- * re-applies its own defaults, which is exactly the recipe shape) and the no-change diff, which walks the
459
- * DESIRED keys only.
460
- */
461
- function credentialBindingsFor(rule) {
462
- if (isConnectionRule(rule)) {
463
- // `valueTemplate` is the rule's own stored carriage, a platform placeholder naming a RENDERING rather than
464
- // a credential value.
465
- return [
466
- { header: "Authorization", connectionId: rule.connectionId, valueTemplate: rule.valueTemplate },
467
- ];
468
- }
469
- // Each arm's exact wire keys are projected again here, never spread, so the plan payload can never carry a
470
- // stray key or an object by reference. The `injection` recipe is the one nested mutable structure, and it is
471
- // DEEP-COPIED because the stored one is shared across synths: without that, a caller mutating one returned
472
- // plan's recipe would corrupt the stored policy and every later synth would emit the mutation unvalidated.
473
- return rule.credentials.map((binding) => {
474
- if (binding.injection !== undefined) {
475
- return { secretId: binding.secretId, injection: cloneInjectionRecipe(binding.injection) };
476
- }
477
- if (binding.header === undefined) {
478
- return { secretId: binding.secretId };
479
- }
480
- return { header: binding.header, secretId: binding.secretId, valueTemplate: binding.valueTemplate };
481
- });
482
- }
483
372
  /**
484
373
  * Used for exactly one thing: deriving an OMITTED memory from the selected cpu, the same way the platform
485
374
  * derives it. A flat `"4G"` fill would make `{ cpu: "8" }` synthesize `8 : 4G` — half a gigabyte per core — so
@@ -642,6 +531,7 @@ export class Environment extends Construct {
642
531
  ? { computeProviderId: this.props.computeProvider?.computeProviderId ?? null }
643
532
  : {}),
644
533
  },
534
+ ...(this.props.team !== undefined ? { teamId: this.props.team.teamId } : {}),
645
535
  };
646
536
  return { kind: "environment", path: this.node.path.join("/"), slug, managed: true, payload };
647
537
  }
@@ -1,6 +1,6 @@
1
1
  import { Construct } from "../core/construct.js";
2
2
  import type { PlanResource } from "../core/plan.js";
3
- import type { IGatewayKey } from "./interfaces.js";
3
+ import type { IGatewayKey, ITeam } from "./interfaces.js";
4
4
  export interface GatewayKeyProps {
5
5
  readonly slug?: string;
6
6
  readonly displayName?: string;
@@ -10,6 +10,8 @@ export interface GatewayKeyProps {
10
10
  */
11
11
  readonly monthlyCreditCap?: number;
12
12
  readonly labels?: Record<string, string>;
13
+ /** Fixed at create, and the same as its paired Secret's; undeclared, the key is created in Shared. */
14
+ readonly team?: ITeam;
13
15
  }
14
16
  export declare class GatewayKey extends Construct implements IGatewayKey {
15
17
  /** Accepts a platform id or a slug interchangeably — one rule, stated on `IResource`. */
@@ -18,6 +20,7 @@ export declare class GatewayKey extends Construct implements IGatewayKey {
18
20
  private readonly displayName;
19
21
  private readonly monthlyCreditCap;
20
22
  private readonly labels;
23
+ private readonly team;
21
24
  constructor(scope: Construct, id: string, props?: GatewayKeyProps);
22
25
  get slug(): string;
23
26
  /** @internal */
@@ -16,6 +16,7 @@ export class GatewayKey extends Construct {
16
16
  displayName;
17
17
  monthlyCreditCap;
18
18
  labels;
19
+ team;
19
20
  constructor(scope, id, props = {}) {
20
21
  super(scope, id);
21
22
  validateExplicitSlug(this, props.slug, "gateway-key");
@@ -28,6 +29,7 @@ export class GatewayKey extends Construct {
28
29
  this.displayName = props.displayName ?? id;
29
30
  this.monthlyCreditCap = props.monthlyCreditCap;
30
31
  this.labels = { ...(props.labels ?? {}) };
32
+ this.team = props.team;
31
33
  this.gatewayKeyId = refToken("gateway-key", this.node.path);
32
34
  }
33
35
  get slug() {
@@ -46,9 +48,7 @@ export class GatewayKey extends Construct {
46
48
  }
47
49
  _toPlanResource() {
48
50
  const slug = this.slug;
49
- // `projectId` is stamped by `Factory.synth()` for a project-backed factory — a gateway key keeps the
50
- // project stamp, unlike the org-commons `model-provider-key`. `labels` is always emitted because the
51
- // create wire requires it; that is safe on UPDATE because `engine/gateway-key-reconcile.ts` assembles the
51
+ // `labels` is always emitted because the create wire requires it; that is safe on UPDATE because `engine/gateway-key-reconcile.ts` assembles the
52
52
  // PATCH one declared field at a time from actual drift, so an empty declared map is never sent and a
53
53
  // PATCH of some other field cannot clear labels a sibling app or the console set on a shared key.
54
54
  const payload = {
@@ -56,6 +56,7 @@ export class GatewayKey extends Construct {
56
56
  displayName: this.displayName,
57
57
  labels: { ...this.labels },
58
58
  ...(this.monthlyCreditCap !== undefined ? { monthlyCreditCap: this.monthlyCreditCap } : {}),
59
+ ...(this.team !== undefined ? { teamId: this.team.teamId } : {}),
59
60
  };
60
61
  return { kind: "gateway-key", path: this.node.path.join("/"), slug, managed: true, payload };
61
62
  }
@@ -17,9 +17,17 @@ export interface IResource {
17
17
  */
18
18
  _resourceId(): string;
19
19
  }
20
- export interface IProject extends IResource {
20
+ export interface ITeam extends IResource {
21
21
  /** Accepts a platform id or a slug interchangeably — one rule, stated on {@link IResource}. */
22
- readonly projectId: string;
22
+ readonly teamId: string;
23
+ }
24
+ /** A managed role's slug is its id, so `roleId` holds either a managed slug or a custom role's reference. */
25
+ export interface IRole extends IResource {
26
+ readonly roleId: string;
27
+ }
28
+ /** A policy has no slug, so it is named by its id alone. */
29
+ export interface IPolicy extends IResource {
30
+ readonly policyId: string;
23
31
  }
24
32
  /**
25
33
  * The exactly-emitted plan literal for one egress credential binding: a legacy single-header binding
@@ -3,9 +3,8 @@
3
3
  // error (`engine/model-provider-key-reconcile.ts`). The credential is write-only and is not a platform
4
4
  // `Secret`: it has no id to bind, cannot be injected at egress, and leaves only through the gateway, so this
5
5
  // construct reuses the `SecretValue` recipe machinery without minting a Secret, and a `fromGatewayKey` recipe
6
- // — whose write protocol is defined for a paired Secret alone — is rejected at synth. The row is org-commons
7
- // with no project axis (exempt from `Factory.stampResourceProject`), and nothing in an orchestra app can reference
8
- // a BYOK key, which is why there is no reference interface, no `*Id` property and no importer.
6
+ // — whose write protocol is defined for a paired Secret alone — is rejected at synth. The row is
7
+ // organization-wide with no team, and nothing in an orchestra app can reference a BYOK key, which is why there is no reference interface, no `*Id` property and no importer.
9
8
  import { Construct } from "../core/construct.js";
10
9
  import { containsGatewayKeyRecipe, gatewayKeyNestingError } from "../core/gateway-key-recipe.js";
11
10
  import { validateDeclaredLabels } from "../core/labels.js";
@@ -1,6 +1,6 @@
1
1
  import { Construct } from "../core/construct.js";
2
2
  import type { PlanResource } from "../core/plan.js";
3
- import type { IAgent, IResource } from "./interfaces.js";
3
+ import type { IAgent, IResource, ITeam } from "./interfaces.js";
4
4
  import { type FilterInput, type FilterNode } from "./workflow-filter.js";
5
5
  /** The platform reads only open (`TODO`, `IN_PROGRESS`) or closed (`DONE`, `CANCELED`). */
6
6
  export type StageCategory = "TODO" | "IN_PROGRESS" | "DONE" | "CANCELED";
@@ -79,6 +79,8 @@ export interface PipelineProps {
79
79
  * someone deletes it.
80
80
  */
81
81
  workflows?: readonly PipelineWorkflowProps[];
82
+ /** Fixed at create; undeclared, the pipeline is created in Shared. Its workflows take its team. */
83
+ team?: ITeam;
82
84
  }
83
85
  export interface IPipeline extends IResource {
84
86
  /** Accepts a platform id or a slug interchangeably — one rule, stated on `IResource`. */
@@ -122,7 +124,7 @@ export interface PipelinePayload {
122
124
  overrideGate?: boolean;
123
125
  checkGrants?: CheckGrantDocument[];
124
126
  workflows?: PipelineEntryDocument[];
125
- projectId?: string;
127
+ teamId?: string;
126
128
  }
127
129
  export declare const OPEN_CATEGORIES: ReadonlySet<StageCategory>;
128
130
  export declare const SET_CHECK_ACTION = "work-items:setWorkItemCheck";
@@ -142,6 +144,7 @@ export declare class Pipeline extends Construct implements IPipeline {
142
144
  private readonly listed;
143
145
  private readonly running;
144
146
  private readonly grants;
147
+ private readonly team;
145
148
  constructor(scope: Construct, id: string, props: PipelineProps);
146
149
  /** @internal */
147
150
  _resourceId(): string;
@@ -33,6 +33,7 @@ export class Pipeline extends Construct {
33
33
  listed;
34
34
  running = [];
35
35
  grants = [];
36
+ team;
36
37
  constructor(scope, id, props) {
37
38
  super(scope, id);
38
39
  const where = `pipeline '${this.node.path.join("/")}'`;
@@ -56,6 +57,7 @@ export class Pipeline extends Construct {
56
57
  // Checked here, where the author wrote them, and built again at synth beside the running workflows.
57
58
  for (const listed of this.listed)
58
59
  entryDocuments(listed, where);
60
+ this.team = props.team;
59
61
  this.pipelineId = refToken("pipeline", this.node.path);
60
62
  }
61
63
  /** @internal */
@@ -106,6 +108,8 @@ export class Pipeline extends Construct {
106
108
  statement: { effect: "allow", actions: [SET_CHECK_ACTION], resources: [checkResource(key)] },
107
109
  }));
108
110
  }
111
+ if (this.team !== undefined)
112
+ payload.teamId = this.team.teamId;
109
113
  return { kind: "pipeline", path: this.node.path.join("/"), slug, managed: true, payload };
110
114
  }
111
115
  /** The listed entries, then one following the newest version for each running workflow the list leaves out. */