@orchestraworks/cli 0.5.5 → 0.5.8

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 (610) 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/auth.d.ts +11 -1
  5. package/dist/cli/core/auth.js +48 -4
  6. package/dist/cli/core/errors.js +4 -0
  7. package/dist/cli/core/platform-client.d.ts +3 -2
  8. package/dist/cli/core/profile.d.ts +2 -2
  9. package/dist/cli/factory/apply-preview.d.ts +23 -6
  10. package/dist/cli/factory/apply-preview.js +70 -43
  11. package/dist/cli/factory/apply-render.js +12 -4
  12. package/dist/cli/factory/apply.d.ts +7 -2
  13. package/dist/cli/factory/apply.js +86 -29
  14. package/dist/cli/factory/diff.js +20 -12
  15. package/dist/cli/factory/image-upload.d.ts +90 -0
  16. package/dist/cli/factory/image-upload.js +489 -0
  17. package/dist/cli/factory/synth.d.ts +7 -0
  18. package/dist/cli/factory/synth.js +35 -0
  19. package/dist/cli/firstRun.d.ts +5 -5
  20. package/dist/cli/firstRun.js +18 -17
  21. package/dist/cli/main.d.ts +1 -1
  22. package/dist/cli/main.js +4 -3
  23. package/dist/cli/upload.d.ts +3 -1
  24. package/dist/cli/upload.js +9 -2
  25. package/dist/constructs/agent.d.ts +9 -1
  26. package/dist/constructs/agent.js +7 -0
  27. package/dist/constructs/compute-provider.js +2 -2
  28. package/dist/constructs/connection.d.ts +22 -16
  29. package/dist/constructs/connection.js +29 -92
  30. package/dist/constructs/connector.d.ts +3 -1
  31. package/dist/constructs/connector.js +2 -0
  32. package/dist/constructs/egress-preset.d.ts +7 -52
  33. package/dist/constructs/egress-preset.js +7 -91
  34. package/dist/constructs/environment.d.ts +47 -70
  35. package/dist/constructs/environment.js +103 -213
  36. package/dist/constructs/gateway-key.d.ts +4 -1
  37. package/dist/constructs/gateway-key.js +4 -3
  38. package/dist/constructs/interfaces.d.ts +10 -2
  39. package/dist/constructs/model-provider-key.js +2 -3
  40. package/dist/constructs/pipeline.d.ts +5 -2
  41. package/dist/constructs/pipeline.js +4 -0
  42. package/dist/constructs/references.d.ts +4 -0
  43. package/dist/constructs/references.js +20 -0
  44. package/dist/constructs/role.d.ts +32 -0
  45. package/dist/constructs/role.js +77 -0
  46. package/dist/constructs/rules.d.ts +4 -4
  47. package/dist/constructs/rules.js +3 -3
  48. package/dist/constructs/secret.d.ts +36 -13
  49. package/dist/constructs/secret.js +110 -14
  50. package/dist/constructs/service-account.d.ts +12 -0
  51. package/dist/constructs/service-account.js +23 -0
  52. package/dist/constructs/skill.d.ts +3 -1
  53. package/dist/constructs/skill.js +2 -0
  54. package/dist/constructs/team-membership.d.ts +43 -0
  55. package/dist/constructs/team-membership.js +59 -0
  56. package/dist/constructs/team.d.ts +40 -0
  57. package/dist/constructs/team.js +107 -0
  58. package/dist/constructs/trigger.d.ts +7 -4
  59. package/dist/constructs/trigger.js +4 -0
  60. package/dist/constructs/workflow.d.ts +1 -1
  61. package/dist/core/factory.d.ts +0 -7
  62. package/dist/core/factory.js +15 -53
  63. package/dist/core/gateway-key-recipe.js +23 -2
  64. package/dist/core/host-pattern.d.ts +5 -0
  65. package/dist/core/host-pattern.js +14 -0
  66. package/dist/core/labels.d.ts +1 -1
  67. package/dist/core/labels.js +1 -1
  68. package/dist/core/outbound-warning.d.ts +2 -2
  69. package/dist/core/outbound-warning.js +52 -41
  70. package/dist/core/plan.d.ts +14 -11
  71. package/dist/core/plan.js +12 -11
  72. package/dist/engine/apply-core.d.ts +71 -67
  73. package/dist/engine/apply-core.js +120 -95
  74. package/dist/engine/client.d.ts +12 -4
  75. package/dist/engine/client.js +8 -3
  76. package/dist/engine/compute-provider-reconcile.js +1 -1
  77. package/dist/engine/condition-references.d.ts +2 -2
  78. package/dist/engine/condition-references.js +6 -6
  79. package/dist/engine/connection-install-link-reconcile.d.ts +4 -3
  80. package/dist/engine/connection-install-link-reconcile.js +35 -28
  81. package/dist/engine/diff.d.ts +12 -14
  82. package/dist/engine/diff.js +247 -113
  83. package/dist/engine/gateway-key-reconcile.d.ts +12 -9
  84. package/dist/engine/gateway-key-reconcile.js +43 -36
  85. package/dist/engine/model-provider-key-reconcile.js +2 -2
  86. package/dist/engine/pipeline-reconcile.d.ts +8 -9
  87. package/dist/engine/pipeline-reconcile.js +14 -10
  88. package/dist/engine/reconcile.d.ts +7 -21
  89. package/dist/engine/reconcile.js +115 -215
  90. package/dist/engine/refusals.d.ts +14 -31
  91. package/dist/engine/refusals.js +32 -81
  92. package/dist/engine/role-membership-reconcile.d.ts +19 -0
  93. package/dist/engine/role-membership-reconcile.js +276 -0
  94. package/dist/engine/secrets-apply.d.ts +18 -4
  95. package/dist/engine/secrets-apply.js +39 -4
  96. package/dist/engine/trigger-reconcile.d.ts +22 -23
  97. package/dist/engine/trigger-reconcile.js +43 -65
  98. package/dist/engine/workflow-reconcile.d.ts +2 -2
  99. package/dist/engine/workflow-reconcile.js +5 -5
  100. package/dist/generated/cli-commands.json +15398 -11771
  101. package/dist/generated/cli-dispatch.d.ts +4 -3
  102. package/dist/generated/cli-dispatch.js +76 -62
  103. package/dist/index.d.ts +12 -7
  104. package/dist/index.js +5 -3
  105. package/dist/metrics/metric.d.ts +3 -3
  106. package/dist/metrics/metric.js +1 -1
  107. package/docs/REFERENCE.md +102 -95
  108. package/node_modules/@orchestraworks/client/dist/apis/AgentsApi.d.ts +1 -1
  109. package/node_modules/@orchestraworks/client/dist/apis/AgentsApi.js +2 -2
  110. package/node_modules/@orchestraworks/client/dist/apis/ArtifactsApi.d.ts +1 -1
  111. package/node_modules/@orchestraworks/client/dist/apis/ArtifactsApi.js +2 -2
  112. package/node_modules/@orchestraworks/client/dist/apis/ConnectionInstallLinksApi.d.ts +1 -1
  113. package/node_modules/@orchestraworks/client/dist/apis/ConnectionInstallLinksApi.js +2 -2
  114. package/node_modules/@orchestraworks/client/dist/apis/ConnectionsApi.d.ts +1 -1
  115. package/node_modules/@orchestraworks/client/dist/apis/ConnectionsApi.js +2 -2
  116. package/node_modules/@orchestraworks/client/dist/apis/EnvironmentsApi.d.ts +1 -1
  117. package/node_modules/@orchestraworks/client/dist/apis/EnvironmentsApi.js +2 -2
  118. package/node_modules/@orchestraworks/client/dist/apis/FilesApi.d.ts +1 -1
  119. package/node_modules/@orchestraworks/client/dist/apis/FilesApi.js +2 -2
  120. package/node_modules/@orchestraworks/client/dist/apis/ImagesApi.d.ts +88 -0
  121. package/node_modules/@orchestraworks/client/dist/apis/ImagesApi.js +239 -0
  122. package/node_modules/@orchestraworks/client/dist/apis/MetricsApi.d.ts +1 -1
  123. package/node_modules/@orchestraworks/client/dist/apis/MetricsApi.js +2 -2
  124. package/node_modules/@orchestraworks/client/dist/apis/OrganizationsApi.d.ts +1 -15
  125. package/node_modules/@orchestraworks/client/dist/apis/OrganizationsApi.js +3 -49
  126. package/node_modules/@orchestraworks/client/dist/apis/PipelinesApi.d.ts +1 -1
  127. package/node_modules/@orchestraworks/client/dist/apis/PipelinesApi.js +2 -2
  128. package/node_modules/@orchestraworks/client/dist/apis/ProviderConnectionIntentsApi.d.ts +1 -1
  129. package/node_modules/@orchestraworks/client/dist/apis/ProviderConnectionIntentsApi.js +2 -2
  130. package/node_modules/@orchestraworks/client/dist/apis/SecretsApi.d.ts +1 -1
  131. package/node_modules/@orchestraworks/client/dist/apis/SecretsApi.js +2 -2
  132. package/node_modules/@orchestraworks/client/dist/apis/SessionsApi.d.ts +1 -1
  133. package/node_modules/@orchestraworks/client/dist/apis/SessionsApi.js +2 -2
  134. package/node_modules/@orchestraworks/client/dist/apis/SkillsApi.d.ts +1 -1
  135. package/node_modules/@orchestraworks/client/dist/apis/SkillsApi.js +2 -2
  136. package/node_modules/@orchestraworks/client/dist/apis/TeamMembershipsApi.d.ts +96 -0
  137. package/node_modules/@orchestraworks/client/dist/apis/{GroupsApi.js → TeamMembershipsApi.js} +62 -59
  138. package/node_modules/@orchestraworks/client/dist/apis/TeamsApi.d.ts +93 -0
  139. package/node_modules/@orchestraworks/client/dist/apis/{ProjectsApi.js → TeamsApi.js} +55 -55
  140. package/node_modules/@orchestraworks/client/dist/apis/TriggersApi.d.ts +1 -1
  141. package/node_modules/@orchestraworks/client/dist/apis/TriggersApi.js +2 -2
  142. package/node_modules/@orchestraworks/client/dist/apis/UsersApi.d.ts +0 -15
  143. package/node_modules/@orchestraworks/client/dist/apis/UsersApi.js +0 -49
  144. package/node_modules/@orchestraworks/client/dist/apis/VolumesApi.d.ts +1 -1
  145. package/node_modules/@orchestraworks/client/dist/apis/VolumesApi.js +2 -2
  146. package/node_modules/@orchestraworks/client/dist/apis/WorkItemsApi.d.ts +2 -2
  147. package/node_modules/@orchestraworks/client/dist/apis/WorkItemsApi.js +4 -4
  148. package/node_modules/@orchestraworks/client/dist/apis/WorkflowsApi.d.ts +1 -1
  149. package/node_modules/@orchestraworks/client/dist/apis/WorkflowsApi.js +2 -2
  150. package/node_modules/@orchestraworks/client/dist/apis/index.d.ts +3 -2
  151. package/node_modules/@orchestraworks/client/dist/apis/index.js +3 -2
  152. package/node_modules/@orchestraworks/client/dist/esm/apis/AgentsApi.d.ts +1 -1
  153. package/node_modules/@orchestraworks/client/dist/esm/apis/AgentsApi.js +2 -2
  154. package/node_modules/@orchestraworks/client/dist/esm/apis/ArtifactsApi.d.ts +1 -1
  155. package/node_modules/@orchestraworks/client/dist/esm/apis/ArtifactsApi.js +2 -2
  156. package/node_modules/@orchestraworks/client/dist/esm/apis/ConnectionInstallLinksApi.d.ts +1 -1
  157. package/node_modules/@orchestraworks/client/dist/esm/apis/ConnectionInstallLinksApi.js +2 -2
  158. package/node_modules/@orchestraworks/client/dist/esm/apis/ConnectionsApi.d.ts +1 -1
  159. package/node_modules/@orchestraworks/client/dist/esm/apis/ConnectionsApi.js +2 -2
  160. package/node_modules/@orchestraworks/client/dist/esm/apis/EnvironmentsApi.d.ts +1 -1
  161. package/node_modules/@orchestraworks/client/dist/esm/apis/EnvironmentsApi.js +2 -2
  162. package/node_modules/@orchestraworks/client/dist/esm/apis/FilesApi.d.ts +1 -1
  163. package/node_modules/@orchestraworks/client/dist/esm/apis/FilesApi.js +2 -2
  164. package/node_modules/@orchestraworks/client/dist/esm/apis/ImagesApi.d.ts +88 -0
  165. package/node_modules/@orchestraworks/client/dist/esm/apis/ImagesApi.js +235 -0
  166. package/node_modules/@orchestraworks/client/dist/esm/apis/MetricsApi.d.ts +1 -1
  167. package/node_modules/@orchestraworks/client/dist/esm/apis/MetricsApi.js +2 -2
  168. package/node_modules/@orchestraworks/client/dist/esm/apis/OrganizationsApi.d.ts +1 -15
  169. package/node_modules/@orchestraworks/client/dist/esm/apis/OrganizationsApi.js +3 -49
  170. package/node_modules/@orchestraworks/client/dist/esm/apis/PipelinesApi.d.ts +1 -1
  171. package/node_modules/@orchestraworks/client/dist/esm/apis/PipelinesApi.js +2 -2
  172. package/node_modules/@orchestraworks/client/dist/esm/apis/ProviderConnectionIntentsApi.d.ts +1 -1
  173. package/node_modules/@orchestraworks/client/dist/esm/apis/ProviderConnectionIntentsApi.js +2 -2
  174. package/node_modules/@orchestraworks/client/dist/esm/apis/SecretsApi.d.ts +1 -1
  175. package/node_modules/@orchestraworks/client/dist/esm/apis/SecretsApi.js +2 -2
  176. package/node_modules/@orchestraworks/client/dist/esm/apis/SessionsApi.d.ts +1 -1
  177. package/node_modules/@orchestraworks/client/dist/esm/apis/SessionsApi.js +2 -2
  178. package/node_modules/@orchestraworks/client/dist/esm/apis/SkillsApi.d.ts +1 -1
  179. package/node_modules/@orchestraworks/client/dist/esm/apis/SkillsApi.js +2 -2
  180. package/node_modules/@orchestraworks/client/dist/esm/apis/TeamMembershipsApi.d.ts +96 -0
  181. package/node_modules/@orchestraworks/client/dist/esm/apis/{GroupsApi.js → TeamMembershipsApi.js} +60 -57
  182. package/node_modules/@orchestraworks/client/dist/esm/apis/TeamsApi.d.ts +93 -0
  183. package/node_modules/@orchestraworks/client/dist/esm/apis/{ProjectsApi.js → TeamsApi.js} +53 -53
  184. package/node_modules/@orchestraworks/client/dist/esm/apis/TriggersApi.d.ts +1 -1
  185. package/node_modules/@orchestraworks/client/dist/esm/apis/TriggersApi.js +2 -2
  186. package/node_modules/@orchestraworks/client/dist/esm/apis/UsersApi.d.ts +0 -15
  187. package/node_modules/@orchestraworks/client/dist/esm/apis/UsersApi.js +0 -49
  188. package/node_modules/@orchestraworks/client/dist/esm/apis/VolumesApi.d.ts +1 -1
  189. package/node_modules/@orchestraworks/client/dist/esm/apis/VolumesApi.js +2 -2
  190. package/node_modules/@orchestraworks/client/dist/esm/apis/WorkItemsApi.d.ts +2 -2
  191. package/node_modules/@orchestraworks/client/dist/esm/apis/WorkItemsApi.js +4 -4
  192. package/node_modules/@orchestraworks/client/dist/esm/apis/WorkflowsApi.d.ts +1 -1
  193. package/node_modules/@orchestraworks/client/dist/esm/apis/WorkflowsApi.js +2 -2
  194. package/node_modules/@orchestraworks/client/dist/esm/apis/index.d.ts +3 -2
  195. package/node_modules/@orchestraworks/client/dist/esm/apis/index.js +3 -2
  196. package/node_modules/@orchestraworks/client/dist/esm/models/AddArtifactVersionRequest.d.ts +1 -1
  197. package/node_modules/@orchestraworks/client/dist/esm/models/Agent.d.ts +9 -3
  198. package/node_modules/@orchestraworks/client/dist/esm/models/Agent.js +3 -2
  199. package/node_modules/@orchestraworks/client/dist/esm/models/ApiErrorDetail.d.ts +9 -1
  200. package/node_modules/@orchestraworks/client/dist/esm/models/ApiErrorDetail.js +5 -1
  201. package/node_modules/@orchestraworks/client/dist/esm/models/Artifact.d.ts +2 -2
  202. package/node_modules/@orchestraworks/client/dist/esm/models/Artifact.js +2 -2
  203. package/node_modules/@orchestraworks/client/dist/esm/models/ArtifactSummary.d.ts +2 -2
  204. package/node_modules/@orchestraworks/client/dist/esm/models/ArtifactSummary.js +2 -2
  205. package/node_modules/@orchestraworks/client/dist/esm/models/AssignAction.d.ts +1 -1
  206. package/node_modules/@orchestraworks/client/dist/esm/models/AssignAction.js +2 -2
  207. package/node_modules/@orchestraworks/client/dist/esm/models/AssignWorkItemRequest.d.ts +2 -2
  208. package/node_modules/@orchestraworks/client/dist/esm/models/AssignWorkItemRequest.js +2 -2
  209. package/node_modules/@orchestraworks/client/dist/esm/models/ComputeProviderTarget.d.ts +6 -0
  210. package/node_modules/@orchestraworks/client/dist/esm/models/ComputeProviderTarget.js +2 -0
  211. package/node_modules/@orchestraworks/client/dist/esm/models/Connection.d.ts +16 -3
  212. package/node_modules/@orchestraworks/client/dist/esm/models/Connection.js +8 -2
  213. package/node_modules/@orchestraworks/client/dist/esm/models/ConnectionInstallLink.d.ts +2 -2
  214. package/node_modules/@orchestraworks/client/dist/esm/models/ConnectionInstallLink.js +2 -2
  215. package/node_modules/@orchestraworks/client/dist/esm/models/Connector.d.ts +2 -2
  216. package/node_modules/@orchestraworks/client/dist/esm/models/Connector.js +2 -2
  217. package/node_modules/@orchestraworks/client/dist/esm/models/CreateAgentRequest.d.ts +2 -2
  218. package/node_modules/@orchestraworks/client/dist/esm/models/CreateAgentRequest.js +2 -2
  219. package/node_modules/@orchestraworks/client/dist/esm/models/CreateArtifactRequest.d.ts +4 -4
  220. package/node_modules/@orchestraworks/client/dist/esm/models/CreateArtifactRequest.js +2 -2
  221. package/node_modules/@orchestraworks/client/dist/esm/models/CreateConnectionInstallLinkRequest.d.ts +3 -3
  222. package/node_modules/@orchestraworks/client/dist/esm/models/CreateConnectionInstallLinkRequest.js +2 -2
  223. package/node_modules/@orchestraworks/client/dist/esm/models/CreateConnectionRequest.d.ts +8 -2
  224. package/node_modules/@orchestraworks/client/dist/esm/models/CreateConnectionRequest.js +4 -2
  225. package/node_modules/@orchestraworks/client/dist/esm/models/CreateConnectorRequest.d.ts +2 -2
  226. package/node_modules/@orchestraworks/client/dist/esm/models/CreateConnectorRequest.js +2 -2
  227. package/node_modules/@orchestraworks/client/dist/esm/models/CreateDashboardRequest.d.ts +3 -3
  228. package/node_modules/@orchestraworks/client/dist/esm/models/CreateDashboardRequest.js +2 -2
  229. package/node_modules/@orchestraworks/client/dist/esm/models/CreateEnvironmentRequest.d.ts +2 -2
  230. package/node_modules/@orchestraworks/client/dist/esm/models/CreateEnvironmentRequest.js +2 -2
  231. package/node_modules/@orchestraworks/client/dist/esm/models/CreateFileRequest.d.ts +2 -2
  232. package/node_modules/@orchestraworks/client/dist/esm/models/CreateFileRequest.js +2 -2
  233. package/node_modules/@orchestraworks/client/dist/esm/models/CreateGatewayKeyRequest.d.ts +2 -2
  234. package/node_modules/@orchestraworks/client/dist/esm/models/CreateGatewayKeyRequest.js +2 -2
  235. package/node_modules/@orchestraworks/client/dist/esm/models/CreateImageRequest.d.ts +38 -0
  236. package/node_modules/@orchestraworks/client/dist/esm/models/{GroupMemberAgent.js → CreateImageRequest.js} +12 -16
  237. package/node_modules/@orchestraworks/client/dist/esm/models/CreateMachineRequest.d.ts +2 -2
  238. package/node_modules/@orchestraworks/client/dist/esm/models/CreateMachineRequest.js +2 -2
  239. package/node_modules/@orchestraworks/client/dist/esm/models/CreateMetricRequest.d.ts +2 -2
  240. package/node_modules/@orchestraworks/client/dist/esm/models/CreateMetricRequest.js +2 -2
  241. package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationInvitationRequest.d.ts +4 -4
  242. package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationInvitationRequest.js +3 -3
  243. package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationMembershipRequest.d.ts +1 -8
  244. package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationMembershipRequest.js +0 -3
  245. package/node_modules/@orchestraworks/client/dist/esm/models/CreatePipelineRequest.d.ts +2 -2
  246. package/node_modules/@orchestraworks/client/dist/esm/models/CreatePipelineRequest.js +2 -2
  247. package/node_modules/@orchestraworks/client/dist/esm/models/CreateProviderConnectionIntentRequest.d.ts +3 -3
  248. package/node_modules/@orchestraworks/client/dist/esm/models/CreateProviderConnectionIntentRequest.js +2 -2
  249. package/node_modules/@orchestraworks/client/dist/esm/models/CreateSecretRequest.d.ts +8 -2
  250. package/node_modules/@orchestraworks/client/dist/esm/models/CreateSecretRequest.js +4 -2
  251. package/node_modules/@orchestraworks/client/dist/esm/models/CreateSessionRequest.d.ts +2 -2
  252. package/node_modules/@orchestraworks/client/dist/esm/models/CreateSessionRequest.js +2 -2
  253. package/node_modules/@orchestraworks/client/dist/esm/models/CreateSkillRequest.d.ts +2 -2
  254. package/node_modules/@orchestraworks/client/dist/esm/models/CreateSkillRequest.js +2 -2
  255. package/node_modules/@orchestraworks/client/dist/esm/models/CreateTeamMembershipRequest.d.ts +65 -0
  256. package/node_modules/@orchestraworks/client/dist/esm/models/CreateTeamMembershipRequest.js +61 -0
  257. package/node_modules/@orchestraworks/client/dist/esm/models/CreateTeamRequest.d.ts +80 -0
  258. package/node_modules/@orchestraworks/client/dist/esm/models/CreateTeamRequest.js +64 -0
  259. package/node_modules/@orchestraworks/client/dist/esm/models/CreateTriggerRequest.d.ts +2 -2
  260. package/node_modules/@orchestraworks/client/dist/esm/models/CreateTriggerRequest.js +2 -2
  261. package/node_modules/@orchestraworks/client/dist/esm/models/CreateVolumeRequest.d.ts +2 -2
  262. package/node_modules/@orchestraworks/client/dist/esm/models/CreateVolumeRequest.js +2 -2
  263. package/node_modules/@orchestraworks/client/dist/esm/models/CreateWorkflowRequest.d.ts +1 -1
  264. package/node_modules/@orchestraworks/client/dist/esm/models/Dashboard.d.ts +8 -2
  265. package/node_modules/@orchestraworks/client/dist/esm/models/Dashboard.js +6 -2
  266. package/node_modules/@orchestraworks/client/dist/esm/models/DashboardChart.d.ts +45 -4
  267. package/node_modules/@orchestraworks/client/dist/esm/models/DashboardChart.js +29 -5
  268. package/node_modules/@orchestraworks/client/dist/esm/models/DashboardChartQuery.d.ts +1 -1
  269. package/node_modules/@orchestraworks/client/dist/esm/models/Delivery.d.ts +2 -2
  270. package/node_modules/@orchestraworks/client/dist/esm/models/Delivery.js +2 -2
  271. package/node_modules/@orchestraworks/client/dist/esm/models/EgressPolicyRule.d.ts +0 -13
  272. package/node_modules/@orchestraworks/client/dist/esm/models/EgressPolicyRule.js +0 -5
  273. package/node_modules/@orchestraworks/client/dist/esm/models/EntitlementTeamUsage.d.ts +58 -0
  274. package/node_modules/@orchestraworks/client/dist/esm/models/EntitlementTeamUsage.js +64 -0
  275. package/node_modules/@orchestraworks/client/dist/esm/models/Environment.d.ts +2 -2
  276. package/node_modules/@orchestraworks/client/dist/esm/models/Environment.js +2 -2
  277. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentEgressPolicy.d.ts +1 -1
  278. package/node_modules/@orchestraworks/client/dist/esm/models/GatewayKey.d.ts +2 -2
  279. package/node_modules/@orchestraworks/client/dist/esm/models/GatewayKey.js +2 -2
  280. package/node_modules/@orchestraworks/client/dist/esm/models/Image.d.ts +113 -0
  281. package/node_modules/@orchestraworks/client/dist/esm/models/Image.js +91 -0
  282. package/node_modules/@orchestraworks/client/dist/esm/models/InboundWebhookEdge.d.ts +2 -2
  283. package/node_modules/@orchestraworks/client/dist/esm/models/InboundWebhookEdge.js +2 -2
  284. package/node_modules/@orchestraworks/client/dist/esm/models/InvitationTeamMembership.d.ts +44 -0
  285. package/node_modules/@orchestraworks/client/dist/esm/models/InvitationTeamMembership.js +47 -0
  286. package/node_modules/@orchestraworks/client/dist/esm/models/MachineEgressPolicyDiagnostics.d.ts +1 -1
  287. package/node_modules/@orchestraworks/client/dist/esm/models/MachineEgressRuleDiagnostics.d.ts +0 -6
  288. package/node_modules/@orchestraworks/client/dist/esm/models/MachineEgressRuleDiagnostics.js +0 -4
  289. package/node_modules/@orchestraworks/client/dist/esm/models/MachineView.d.ts +2 -2
  290. package/node_modules/@orchestraworks/client/dist/esm/models/MachineView.js +2 -2
  291. package/node_modules/@orchestraworks/client/dist/esm/models/MessageWorkItemRequest.d.ts +1 -1
  292. package/node_modules/@orchestraworks/client/dist/esm/models/Metric.d.ts +2 -2
  293. package/node_modules/@orchestraworks/client/dist/esm/models/Metric.js +2 -2
  294. package/node_modules/@orchestraworks/client/dist/esm/models/MetricValue.d.ts +2 -2
  295. package/node_modules/@orchestraworks/client/dist/esm/models/MetricValue.js +2 -2
  296. package/node_modules/@orchestraworks/client/dist/esm/models/ModelFile.d.ts +2 -2
  297. package/node_modules/@orchestraworks/client/dist/esm/models/ModelFile.js +2 -2
  298. package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationEntitlements.d.ts +7 -0
  299. package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationEntitlements.js +5 -0
  300. package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationInvitation.d.ts +4 -4
  301. package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationInvitation.js +4 -4
  302. package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationMembership.d.ts +5 -5
  303. package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationMembership.js +4 -4
  304. package/node_modules/@orchestraworks/client/dist/esm/models/PageImage.d.ts +51 -0
  305. package/node_modules/@orchestraworks/client/dist/esm/models/{PageProject.js → PageImage.js} +11 -11
  306. package/node_modules/@orchestraworks/client/dist/esm/models/PageTeam.d.ts +51 -0
  307. package/node_modules/@orchestraworks/client/dist/esm/models/{PageGroupSummary.js → PageTeam.js} +11 -11
  308. package/node_modules/@orchestraworks/client/dist/esm/models/PageTeamMembership.d.ts +51 -0
  309. package/node_modules/@orchestraworks/client/dist/esm/models/PageTeamMembership.js +56 -0
  310. package/node_modules/@orchestraworks/client/dist/esm/models/Pipeline.d.ts +2 -2
  311. package/node_modules/@orchestraworks/client/dist/esm/models/Pipeline.js +2 -2
  312. package/node_modules/@orchestraworks/client/dist/esm/models/PolicyAssignment.d.ts +8 -2
  313. package/node_modules/@orchestraworks/client/dist/esm/models/PolicyAssignment.js +4 -2
  314. package/node_modules/@orchestraworks/client/dist/esm/models/ProviderConnectionIntent.d.ts +2 -2
  315. package/node_modules/@orchestraworks/client/dist/esm/models/ProviderConnectionIntent.js +2 -2
  316. package/node_modules/@orchestraworks/client/dist/esm/models/ReferenceSubject.d.ts +1 -1
  317. package/node_modules/@orchestraworks/client/dist/esm/models/ReferenceSubject.js +1 -1
  318. package/node_modules/@orchestraworks/client/dist/esm/models/Role.d.ts +6 -0
  319. package/node_modules/@orchestraworks/client/dist/esm/models/Role.js +4 -0
  320. package/node_modules/@orchestraworks/client/dist/esm/models/Secret.d.ts +16 -3
  321. package/node_modules/@orchestraworks/client/dist/esm/models/Secret.js +8 -2
  322. package/node_modules/@orchestraworks/client/dist/esm/models/ServiceAccount.d.ts +7 -1
  323. package/node_modules/@orchestraworks/client/dist/esm/models/ServiceAccount.js +1 -0
  324. package/node_modules/@orchestraworks/client/dist/esm/models/Session.d.ts +3 -2
  325. package/node_modules/@orchestraworks/client/dist/esm/models/Session.js +3 -2
  326. package/node_modules/@orchestraworks/client/dist/esm/models/SessionSummary.d.ts +3 -2
  327. package/node_modules/@orchestraworks/client/dist/esm/models/SessionSummary.js +3 -2
  328. package/node_modules/@orchestraworks/client/dist/esm/models/Skill.d.ts +2 -2
  329. package/node_modules/@orchestraworks/client/dist/esm/models/Skill.js +2 -2
  330. package/node_modules/@orchestraworks/client/dist/esm/models/SnapshotAnchor.d.ts +1 -1
  331. package/node_modules/@orchestraworks/client/dist/esm/models/Team.d.ts +104 -0
  332. package/node_modules/@orchestraworks/client/dist/esm/models/{GroupSummary.js → Team.js} +25 -15
  333. package/node_modules/@orchestraworks/client/dist/esm/models/TeamMembership.d.ts +83 -0
  334. package/node_modules/@orchestraworks/client/dist/esm/models/TeamMembership.js +77 -0
  335. package/node_modules/@orchestraworks/client/dist/esm/models/Trigger.d.ts +2 -2
  336. package/node_modules/@orchestraworks/client/dist/esm/models/Trigger.js +2 -2
  337. package/node_modules/@orchestraworks/client/dist/esm/models/TriggerTarget.d.ts +1 -1
  338. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateArtifactRequest.d.ts +1 -1
  339. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateConnectionRequest.d.ts +6 -0
  340. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateConnectionRequest.js +2 -0
  341. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateOrganizationInvitationRequest.d.ts +4 -4
  342. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateOrganizationInvitationRequest.js +3 -3
  343. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateOrganizationMembershipRequest.d.ts +1 -8
  344. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateOrganizationMembershipRequest.js +0 -3
  345. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateSecretRequest.d.ts +6 -0
  346. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateSecretRequest.js +2 -0
  347. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateTeamMembershipRequest.d.ts +47 -0
  348. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateTeamMembershipRequest.js +51 -0
  349. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateTeamRequest.d.ts +68 -0
  350. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateTeamRequest.js +58 -0
  351. package/node_modules/@orchestraworks/client/dist/esm/models/UserGrant.d.ts +2 -2
  352. package/node_modules/@orchestraworks/client/dist/esm/models/UserGrant.js +2 -2
  353. package/node_modules/@orchestraworks/client/dist/esm/models/Volume.d.ts +10 -3
  354. package/node_modules/@orchestraworks/client/dist/esm/models/Volume.js +4 -2
  355. package/node_modules/@orchestraworks/client/dist/esm/models/WorkItemActivity.d.ts +2 -2
  356. package/node_modules/@orchestraworks/client/dist/esm/models/WorkItemAssignment.d.ts +7 -7
  357. package/node_modules/@orchestraworks/client/dist/esm/models/WorkItemAssignment.js +5 -5
  358. package/node_modules/@orchestraworks/client/dist/esm/models/WorkItemDraftAssignment.d.ts +2 -2
  359. package/node_modules/@orchestraworks/client/dist/esm/models/WorkItemDraftAssignment.js +2 -2
  360. package/node_modules/@orchestraworks/client/dist/esm/models/Workflow.d.ts +2 -2
  361. package/node_modules/@orchestraworks/client/dist/esm/models/Workflow.js +2 -2
  362. package/node_modules/@orchestraworks/client/dist/esm/models/index.d.ts +13 -17
  363. package/node_modules/@orchestraworks/client/dist/esm/models/index.js +13 -17
  364. package/node_modules/@orchestraworks/client/dist/models/AddArtifactVersionRequest.d.ts +1 -1
  365. package/node_modules/@orchestraworks/client/dist/models/Agent.d.ts +9 -3
  366. package/node_modules/@orchestraworks/client/dist/models/Agent.js +3 -2
  367. package/node_modules/@orchestraworks/client/dist/models/ApiErrorDetail.d.ts +9 -1
  368. package/node_modules/@orchestraworks/client/dist/models/ApiErrorDetail.js +5 -1
  369. package/node_modules/@orchestraworks/client/dist/models/Artifact.d.ts +2 -2
  370. package/node_modules/@orchestraworks/client/dist/models/Artifact.js +2 -2
  371. package/node_modules/@orchestraworks/client/dist/models/ArtifactSummary.d.ts +2 -2
  372. package/node_modules/@orchestraworks/client/dist/models/ArtifactSummary.js +2 -2
  373. package/node_modules/@orchestraworks/client/dist/models/AssignAction.d.ts +1 -1
  374. package/node_modules/@orchestraworks/client/dist/models/AssignAction.js +2 -2
  375. package/node_modules/@orchestraworks/client/dist/models/AssignWorkItemRequest.d.ts +2 -2
  376. package/node_modules/@orchestraworks/client/dist/models/AssignWorkItemRequest.js +2 -2
  377. package/node_modules/@orchestraworks/client/dist/models/ComputeProviderTarget.d.ts +6 -0
  378. package/node_modules/@orchestraworks/client/dist/models/ComputeProviderTarget.js +2 -0
  379. package/node_modules/@orchestraworks/client/dist/models/Connection.d.ts +16 -3
  380. package/node_modules/@orchestraworks/client/dist/models/Connection.js +8 -2
  381. package/node_modules/@orchestraworks/client/dist/models/ConnectionInstallLink.d.ts +2 -2
  382. package/node_modules/@orchestraworks/client/dist/models/ConnectionInstallLink.js +2 -2
  383. package/node_modules/@orchestraworks/client/dist/models/Connector.d.ts +2 -2
  384. package/node_modules/@orchestraworks/client/dist/models/Connector.js +2 -2
  385. package/node_modules/@orchestraworks/client/dist/models/CreateAgentRequest.d.ts +2 -2
  386. package/node_modules/@orchestraworks/client/dist/models/CreateAgentRequest.js +2 -2
  387. package/node_modules/@orchestraworks/client/dist/models/CreateArtifactRequest.d.ts +4 -4
  388. package/node_modules/@orchestraworks/client/dist/models/CreateArtifactRequest.js +2 -2
  389. package/node_modules/@orchestraworks/client/dist/models/CreateConnectionInstallLinkRequest.d.ts +3 -3
  390. package/node_modules/@orchestraworks/client/dist/models/CreateConnectionInstallLinkRequest.js +2 -2
  391. package/node_modules/@orchestraworks/client/dist/models/CreateConnectionRequest.d.ts +8 -2
  392. package/node_modules/@orchestraworks/client/dist/models/CreateConnectionRequest.js +4 -2
  393. package/node_modules/@orchestraworks/client/dist/models/CreateConnectorRequest.d.ts +2 -2
  394. package/node_modules/@orchestraworks/client/dist/models/CreateConnectorRequest.js +2 -2
  395. package/node_modules/@orchestraworks/client/dist/models/CreateDashboardRequest.d.ts +3 -3
  396. package/node_modules/@orchestraworks/client/dist/models/CreateDashboardRequest.js +2 -2
  397. package/node_modules/@orchestraworks/client/dist/models/CreateEnvironmentRequest.d.ts +2 -2
  398. package/node_modules/@orchestraworks/client/dist/models/CreateEnvironmentRequest.js +2 -2
  399. package/node_modules/@orchestraworks/client/dist/models/CreateFileRequest.d.ts +2 -2
  400. package/node_modules/@orchestraworks/client/dist/models/CreateFileRequest.js +2 -2
  401. package/node_modules/@orchestraworks/client/dist/models/CreateGatewayKeyRequest.d.ts +2 -2
  402. package/node_modules/@orchestraworks/client/dist/models/CreateGatewayKeyRequest.js +2 -2
  403. package/node_modules/@orchestraworks/client/dist/models/CreateImageRequest.d.ts +38 -0
  404. package/node_modules/@orchestraworks/client/dist/models/CreateImageRequest.js +54 -0
  405. package/node_modules/@orchestraworks/client/dist/models/CreateMachineRequest.d.ts +2 -2
  406. package/node_modules/@orchestraworks/client/dist/models/CreateMachineRequest.js +2 -2
  407. package/node_modules/@orchestraworks/client/dist/models/CreateMetricRequest.d.ts +2 -2
  408. package/node_modules/@orchestraworks/client/dist/models/CreateMetricRequest.js +2 -2
  409. package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationInvitationRequest.d.ts +4 -4
  410. package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationInvitationRequest.js +3 -3
  411. package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationMembershipRequest.d.ts +1 -8
  412. package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationMembershipRequest.js +0 -3
  413. package/node_modules/@orchestraworks/client/dist/models/CreatePipelineRequest.d.ts +2 -2
  414. package/node_modules/@orchestraworks/client/dist/models/CreatePipelineRequest.js +2 -2
  415. package/node_modules/@orchestraworks/client/dist/models/CreateProviderConnectionIntentRequest.d.ts +3 -3
  416. package/node_modules/@orchestraworks/client/dist/models/CreateProviderConnectionIntentRequest.js +2 -2
  417. package/node_modules/@orchestraworks/client/dist/models/CreateSecretRequest.d.ts +8 -2
  418. package/node_modules/@orchestraworks/client/dist/models/CreateSecretRequest.js +4 -2
  419. package/node_modules/@orchestraworks/client/dist/models/CreateSessionRequest.d.ts +2 -2
  420. package/node_modules/@orchestraworks/client/dist/models/CreateSessionRequest.js +2 -2
  421. package/node_modules/@orchestraworks/client/dist/models/CreateSkillRequest.d.ts +2 -2
  422. package/node_modules/@orchestraworks/client/dist/models/CreateSkillRequest.js +2 -2
  423. package/node_modules/@orchestraworks/client/dist/models/CreateTeamMembershipRequest.d.ts +65 -0
  424. package/node_modules/@orchestraworks/client/dist/models/CreateTeamMembershipRequest.js +69 -0
  425. package/node_modules/@orchestraworks/client/dist/models/CreateTeamRequest.d.ts +80 -0
  426. package/node_modules/@orchestraworks/client/dist/models/CreateTeamRequest.js +72 -0
  427. package/node_modules/@orchestraworks/client/dist/models/CreateTriggerRequest.d.ts +2 -2
  428. package/node_modules/@orchestraworks/client/dist/models/CreateTriggerRequest.js +2 -2
  429. package/node_modules/@orchestraworks/client/dist/models/CreateVolumeRequest.d.ts +2 -2
  430. package/node_modules/@orchestraworks/client/dist/models/CreateVolumeRequest.js +2 -2
  431. package/node_modules/@orchestraworks/client/dist/models/CreateWorkflowRequest.d.ts +1 -1
  432. package/node_modules/@orchestraworks/client/dist/models/Dashboard.d.ts +8 -2
  433. package/node_modules/@orchestraworks/client/dist/models/Dashboard.js +6 -2
  434. package/node_modules/@orchestraworks/client/dist/models/DashboardChart.d.ts +45 -4
  435. package/node_modules/@orchestraworks/client/dist/models/DashboardChart.js +30 -6
  436. package/node_modules/@orchestraworks/client/dist/models/DashboardChartQuery.d.ts +1 -1
  437. package/node_modules/@orchestraworks/client/dist/models/Delivery.d.ts +2 -2
  438. package/node_modules/@orchestraworks/client/dist/models/Delivery.js +2 -2
  439. package/node_modules/@orchestraworks/client/dist/models/EgressPolicyRule.d.ts +0 -13
  440. package/node_modules/@orchestraworks/client/dist/models/EgressPolicyRule.js +0 -5
  441. package/node_modules/@orchestraworks/client/dist/models/EntitlementTeamUsage.d.ts +58 -0
  442. package/node_modules/@orchestraworks/client/dist/models/EntitlementTeamUsage.js +72 -0
  443. package/node_modules/@orchestraworks/client/dist/models/Environment.d.ts +2 -2
  444. package/node_modules/@orchestraworks/client/dist/models/Environment.js +2 -2
  445. package/node_modules/@orchestraworks/client/dist/models/EnvironmentEgressPolicy.d.ts +1 -1
  446. package/node_modules/@orchestraworks/client/dist/models/GatewayKey.d.ts +2 -2
  447. package/node_modules/@orchestraworks/client/dist/models/GatewayKey.js +2 -2
  448. package/node_modules/@orchestraworks/client/dist/models/Image.d.ts +113 -0
  449. package/node_modules/@orchestraworks/client/dist/models/Image.js +99 -0
  450. package/node_modules/@orchestraworks/client/dist/models/InboundWebhookEdge.d.ts +2 -2
  451. package/node_modules/@orchestraworks/client/dist/models/InboundWebhookEdge.js +2 -2
  452. package/node_modules/@orchestraworks/client/dist/models/InvitationTeamMembership.d.ts +44 -0
  453. package/node_modules/@orchestraworks/client/dist/models/InvitationTeamMembership.js +54 -0
  454. package/node_modules/@orchestraworks/client/dist/models/MachineEgressPolicyDiagnostics.d.ts +1 -1
  455. package/node_modules/@orchestraworks/client/dist/models/MachineEgressRuleDiagnostics.d.ts +0 -6
  456. package/node_modules/@orchestraworks/client/dist/models/MachineEgressRuleDiagnostics.js +0 -4
  457. package/node_modules/@orchestraworks/client/dist/models/MachineView.d.ts +2 -2
  458. package/node_modules/@orchestraworks/client/dist/models/MachineView.js +2 -2
  459. package/node_modules/@orchestraworks/client/dist/models/MessageWorkItemRequest.d.ts +1 -1
  460. package/node_modules/@orchestraworks/client/dist/models/Metric.d.ts +2 -2
  461. package/node_modules/@orchestraworks/client/dist/models/Metric.js +2 -2
  462. package/node_modules/@orchestraworks/client/dist/models/MetricValue.d.ts +2 -2
  463. package/node_modules/@orchestraworks/client/dist/models/MetricValue.js +2 -2
  464. package/node_modules/@orchestraworks/client/dist/models/ModelFile.d.ts +2 -2
  465. package/node_modules/@orchestraworks/client/dist/models/ModelFile.js +2 -2
  466. package/node_modules/@orchestraworks/client/dist/models/OrganizationEntitlements.d.ts +7 -0
  467. package/node_modules/@orchestraworks/client/dist/models/OrganizationEntitlements.js +5 -0
  468. package/node_modules/@orchestraworks/client/dist/models/OrganizationInvitation.d.ts +4 -4
  469. package/node_modules/@orchestraworks/client/dist/models/OrganizationInvitation.js +4 -4
  470. package/node_modules/@orchestraworks/client/dist/models/OrganizationMembership.d.ts +5 -5
  471. package/node_modules/@orchestraworks/client/dist/models/OrganizationMembership.js +4 -4
  472. package/node_modules/@orchestraworks/client/dist/models/PageImage.d.ts +51 -0
  473. package/node_modules/@orchestraworks/client/dist/models/{PageProject.js → PageImage.js} +16 -16
  474. package/node_modules/@orchestraworks/client/dist/models/PageTeam.d.ts +51 -0
  475. package/node_modules/@orchestraworks/client/dist/models/{PageGroupSummary.js → PageTeam.js} +16 -16
  476. package/node_modules/@orchestraworks/client/dist/models/PageTeamMembership.d.ts +51 -0
  477. package/node_modules/@orchestraworks/client/dist/models/PageTeamMembership.js +63 -0
  478. package/node_modules/@orchestraworks/client/dist/models/Pipeline.d.ts +2 -2
  479. package/node_modules/@orchestraworks/client/dist/models/Pipeline.js +2 -2
  480. package/node_modules/@orchestraworks/client/dist/models/PolicyAssignment.d.ts +8 -2
  481. package/node_modules/@orchestraworks/client/dist/models/PolicyAssignment.js +4 -2
  482. package/node_modules/@orchestraworks/client/dist/models/ProviderConnectionIntent.d.ts +2 -2
  483. package/node_modules/@orchestraworks/client/dist/models/ProviderConnectionIntent.js +2 -2
  484. package/node_modules/@orchestraworks/client/dist/models/ReferenceSubject.d.ts +1 -1
  485. package/node_modules/@orchestraworks/client/dist/models/ReferenceSubject.js +1 -1
  486. package/node_modules/@orchestraworks/client/dist/models/Role.d.ts +6 -0
  487. package/node_modules/@orchestraworks/client/dist/models/Role.js +4 -0
  488. package/node_modules/@orchestraworks/client/dist/models/Secret.d.ts +16 -3
  489. package/node_modules/@orchestraworks/client/dist/models/Secret.js +8 -2
  490. package/node_modules/@orchestraworks/client/dist/models/ServiceAccount.d.ts +7 -1
  491. package/node_modules/@orchestraworks/client/dist/models/ServiceAccount.js +1 -0
  492. package/node_modules/@orchestraworks/client/dist/models/Session.d.ts +3 -2
  493. package/node_modules/@orchestraworks/client/dist/models/Session.js +3 -2
  494. package/node_modules/@orchestraworks/client/dist/models/SessionSummary.d.ts +3 -2
  495. package/node_modules/@orchestraworks/client/dist/models/SessionSummary.js +3 -2
  496. package/node_modules/@orchestraworks/client/dist/models/Skill.d.ts +2 -2
  497. package/node_modules/@orchestraworks/client/dist/models/Skill.js +2 -2
  498. package/node_modules/@orchestraworks/client/dist/models/SnapshotAnchor.d.ts +1 -1
  499. package/node_modules/@orchestraworks/client/dist/models/Team.d.ts +104 -0
  500. package/node_modules/@orchestraworks/client/dist/models/{GroupSummary.js → Team.js} +31 -21
  501. package/node_modules/@orchestraworks/client/dist/models/TeamMembership.d.ts +83 -0
  502. package/node_modules/@orchestraworks/client/dist/models/TeamMembership.js +85 -0
  503. package/node_modules/@orchestraworks/client/dist/models/Trigger.d.ts +2 -2
  504. package/node_modules/@orchestraworks/client/dist/models/Trigger.js +2 -2
  505. package/node_modules/@orchestraworks/client/dist/models/TriggerTarget.d.ts +1 -1
  506. package/node_modules/@orchestraworks/client/dist/models/UpdateArtifactRequest.d.ts +1 -1
  507. package/node_modules/@orchestraworks/client/dist/models/UpdateConnectionRequest.d.ts +6 -0
  508. package/node_modules/@orchestraworks/client/dist/models/UpdateConnectionRequest.js +2 -0
  509. package/node_modules/@orchestraworks/client/dist/models/UpdateOrganizationInvitationRequest.d.ts +4 -4
  510. package/node_modules/@orchestraworks/client/dist/models/UpdateOrganizationInvitationRequest.js +3 -3
  511. package/node_modules/@orchestraworks/client/dist/models/UpdateOrganizationMembershipRequest.d.ts +1 -8
  512. package/node_modules/@orchestraworks/client/dist/models/UpdateOrganizationMembershipRequest.js +0 -3
  513. package/node_modules/@orchestraworks/client/dist/models/UpdateSecretRequest.d.ts +6 -0
  514. package/node_modules/@orchestraworks/client/dist/models/UpdateSecretRequest.js +2 -0
  515. package/node_modules/@orchestraworks/client/dist/models/UpdateTeamMembershipRequest.d.ts +47 -0
  516. package/node_modules/@orchestraworks/client/dist/models/UpdateTeamMembershipRequest.js +59 -0
  517. package/node_modules/@orchestraworks/client/dist/models/UpdateTeamRequest.d.ts +68 -0
  518. package/node_modules/@orchestraworks/client/dist/models/UpdateTeamRequest.js +66 -0
  519. package/node_modules/@orchestraworks/client/dist/models/UserGrant.d.ts +2 -2
  520. package/node_modules/@orchestraworks/client/dist/models/UserGrant.js +2 -2
  521. package/node_modules/@orchestraworks/client/dist/models/Volume.d.ts +10 -3
  522. package/node_modules/@orchestraworks/client/dist/models/Volume.js +4 -2
  523. package/node_modules/@orchestraworks/client/dist/models/WorkItemActivity.d.ts +2 -2
  524. package/node_modules/@orchestraworks/client/dist/models/WorkItemAssignment.d.ts +7 -7
  525. package/node_modules/@orchestraworks/client/dist/models/WorkItemAssignment.js +5 -5
  526. package/node_modules/@orchestraworks/client/dist/models/WorkItemDraftAssignment.d.ts +2 -2
  527. package/node_modules/@orchestraworks/client/dist/models/WorkItemDraftAssignment.js +2 -2
  528. package/node_modules/@orchestraworks/client/dist/models/Workflow.d.ts +2 -2
  529. package/node_modules/@orchestraworks/client/dist/models/Workflow.js +2 -2
  530. package/node_modules/@orchestraworks/client/dist/models/index.d.ts +13 -17
  531. package/node_modules/@orchestraworks/client/dist/models/index.js +13 -17
  532. package/node_modules/@orchestraworks/client/package.json +1 -1
  533. package/package.json +4 -4
  534. package/skills/orchestra/SKILL.md +82 -67
  535. package/skills/orchestra-fdk/references/authoring.md +83 -45
  536. package/skills/orchestra-fdk/references/environment.md +214 -33
  537. package/skills/orchestra-fdk/references/troubleshooting.md +10 -8
  538. package/templates/bug-fix/main.ts +6 -1
  539. package/templates/engineering-team/README.md +10 -7
  540. package/templates/engineering-team/agents/engineer-agent.md +38 -16
  541. package/templates/engineering-team/lib/environment.ts +15 -3
  542. package/templates/engineering-team/main.ts +1 -1
  543. package/templates/todo-factory/main.ts +6 -1
  544. package/dist/constructs/project.d.ts +0 -33
  545. package/dist/constructs/project.js +0 -82
  546. package/node_modules/@orchestraworks/client/dist/apis/GroupsApi.d.ts +0 -95
  547. package/node_modules/@orchestraworks/client/dist/apis/ProjectsApi.d.ts +0 -93
  548. package/node_modules/@orchestraworks/client/dist/esm/apis/GroupsApi.d.ts +0 -95
  549. package/node_modules/@orchestraworks/client/dist/esm/apis/ProjectsApi.d.ts +0 -93
  550. package/node_modules/@orchestraworks/client/dist/esm/models/CreateGroupRequest.d.ts +0 -82
  551. package/node_modules/@orchestraworks/client/dist/esm/models/CreateGroupRequest.js +0 -74
  552. package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationRequest.d.ts +0 -53
  553. package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationRequest.js +0 -50
  554. package/node_modules/@orchestraworks/client/dist/esm/models/CreateProjectRequest.d.ts +0 -52
  555. package/node_modules/@orchestraworks/client/dist/esm/models/CreateProjectRequest.js +0 -49
  556. package/node_modules/@orchestraworks/client/dist/esm/models/CreateUserRequest.d.ts +0 -46
  557. package/node_modules/@orchestraworks/client/dist/esm/models/CreateUserRequest.js +0 -47
  558. package/node_modules/@orchestraworks/client/dist/esm/models/CredentialBinding.d.ts +0 -57
  559. package/node_modules/@orchestraworks/client/dist/esm/models/CredentialBinding.js +0 -50
  560. package/node_modules/@orchestraworks/client/dist/esm/models/Group.d.ts +0 -106
  561. package/node_modules/@orchestraworks/client/dist/esm/models/Group.js +0 -92
  562. package/node_modules/@orchestraworks/client/dist/esm/models/GroupMember.d.ts +0 -40
  563. package/node_modules/@orchestraworks/client/dist/esm/models/GroupMember.js +0 -45
  564. package/node_modules/@orchestraworks/client/dist/esm/models/GroupMemberAgent.d.ts +0 -44
  565. package/node_modules/@orchestraworks/client/dist/esm/models/GroupMemberReference.d.ts +0 -38
  566. package/node_modules/@orchestraworks/client/dist/esm/models/GroupMemberReference.js +0 -43
  567. package/node_modules/@orchestraworks/client/dist/esm/models/GroupMemberUser.d.ts +0 -38
  568. package/node_modules/@orchestraworks/client/dist/esm/models/GroupMemberUser.js +0 -45
  569. package/node_modules/@orchestraworks/client/dist/esm/models/GroupSummary.d.ts +0 -86
  570. package/node_modules/@orchestraworks/client/dist/esm/models/PageGroupSummary.d.ts +0 -51
  571. package/node_modules/@orchestraworks/client/dist/esm/models/PageProject.d.ts +0 -51
  572. package/node_modules/@orchestraworks/client/dist/esm/models/Project.d.ts +0 -76
  573. package/node_modules/@orchestraworks/client/dist/esm/models/Project.js +0 -69
  574. package/node_modules/@orchestraworks/client/dist/esm/models/RoleAssignment.d.ts +0 -38
  575. package/node_modules/@orchestraworks/client/dist/esm/models/RoleAssignment.js +0 -45
  576. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateGroupRequest.d.ts +0 -70
  577. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateGroupRequest.js +0 -60
  578. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateProjectRequest.d.ts +0 -46
  579. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateProjectRequest.js +0 -45
  580. package/node_modules/@orchestraworks/client/dist/models/CreateGroupRequest.d.ts +0 -82
  581. package/node_modules/@orchestraworks/client/dist/models/CreateGroupRequest.js +0 -82
  582. package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationRequest.d.ts +0 -53
  583. package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationRequest.js +0 -57
  584. package/node_modules/@orchestraworks/client/dist/models/CreateProjectRequest.d.ts +0 -52
  585. package/node_modules/@orchestraworks/client/dist/models/CreateProjectRequest.js +0 -56
  586. package/node_modules/@orchestraworks/client/dist/models/CreateUserRequest.d.ts +0 -46
  587. package/node_modules/@orchestraworks/client/dist/models/CreateUserRequest.js +0 -54
  588. package/node_modules/@orchestraworks/client/dist/models/CredentialBinding.d.ts +0 -57
  589. package/node_modules/@orchestraworks/client/dist/models/CredentialBinding.js +0 -57
  590. package/node_modules/@orchestraworks/client/dist/models/Group.d.ts +0 -106
  591. package/node_modules/@orchestraworks/client/dist/models/Group.js +0 -100
  592. package/node_modules/@orchestraworks/client/dist/models/GroupMember.d.ts +0 -40
  593. package/node_modules/@orchestraworks/client/dist/models/GroupMember.js +0 -52
  594. package/node_modules/@orchestraworks/client/dist/models/GroupMemberAgent.d.ts +0 -44
  595. package/node_modules/@orchestraworks/client/dist/models/GroupMemberAgent.js +0 -58
  596. package/node_modules/@orchestraworks/client/dist/models/GroupMemberReference.d.ts +0 -38
  597. package/node_modules/@orchestraworks/client/dist/models/GroupMemberReference.js +0 -50
  598. package/node_modules/@orchestraworks/client/dist/models/GroupMemberUser.d.ts +0 -38
  599. package/node_modules/@orchestraworks/client/dist/models/GroupMemberUser.js +0 -52
  600. package/node_modules/@orchestraworks/client/dist/models/GroupSummary.d.ts +0 -86
  601. package/node_modules/@orchestraworks/client/dist/models/PageGroupSummary.d.ts +0 -51
  602. package/node_modules/@orchestraworks/client/dist/models/PageProject.d.ts +0 -51
  603. package/node_modules/@orchestraworks/client/dist/models/Project.d.ts +0 -76
  604. package/node_modules/@orchestraworks/client/dist/models/Project.js +0 -76
  605. package/node_modules/@orchestraworks/client/dist/models/RoleAssignment.d.ts +0 -38
  606. package/node_modules/@orchestraworks/client/dist/models/RoleAssignment.js +0 -52
  607. package/node_modules/@orchestraworks/client/dist/models/UpdateGroupRequest.d.ts +0 -70
  608. package/node_modules/@orchestraworks/client/dist/models/UpdateGroupRequest.js +0 -68
  609. package/node_modules/@orchestraworks/client/dist/models/UpdateProjectRequest.d.ts +0 -46
  610. package/node_modules/@orchestraworks/client/dist/models/UpdateProjectRequest.js +0 -52
@@ -0,0 +1,40 @@
1
+ import { Construct } from "../core/construct.js";
2
+ import type { PlanResource } from "../core/plan.js";
3
+ import type { ITeam } from "./interfaces.js";
4
+ /** The built-in team every organization has from creation. */
5
+ export declare const SHARED_TEAM_SLUG = "shared";
6
+ /** How a team hands an item assigned to it to one of its members. */
7
+ export type TeamAssignment = "AGENT_FIRST" | "ROUND_ROBIN" | "BALANCED_WORKLOAD" | "QUEUE";
8
+ export interface TeamProps {
9
+ slug?: string;
10
+ name?: string;
11
+ labels?: Record<string, string>;
12
+ /** Fixed at create. A sub-team sits under a team that is neither Shared, private, nor a sub-team itself. */
13
+ parent?: ITeam;
14
+ /** All-teams roles skip a private team unless they may enter it. */
15
+ private?: boolean;
16
+ /** Undeclared, the platform's default, `AGENT_FIRST`. */
17
+ assignment?: TeamAssignment;
18
+ }
19
+ export declare class Team extends Construct implements ITeam {
20
+ /** Accepts a platform id or a slug interchangeably — one rule, stated on `IResource`. */
21
+ readonly teamId: string;
22
+ private readonly explicitSlug;
23
+ private readonly displayName;
24
+ private readonly labels;
25
+ private readonly parent;
26
+ private readonly isPrivate;
27
+ private readonly assignment;
28
+ constructor(scope: Construct, id: string, props?: TeamProps);
29
+ /** @internal */
30
+ _resourceId(): string;
31
+ get slug(): string;
32
+ /** @internal */
33
+ _isSubTeam(): boolean;
34
+ /** @internal */
35
+ _isPrivate(): boolean;
36
+ _toPlanResource(): PlanResource;
37
+ /** `Team.fromSlug(scope, "shared")` names Shared. */
38
+ static fromSlug(scope: Construct, slug: string): ITeam;
39
+ static fromId(scope: Construct, id: string): ITeam;
40
+ }
@@ -0,0 +1,107 @@
1
+ // A team is a prop on every team-able row, never a scope, so placing a row in a team changes neither its
2
+ // construct path nor its slug. A row that names no team is created in Shared, and its plan resource
3
+ // carries no `teamId` at all.
4
+ import { Construct } from "../core/construct.js";
5
+ import { validateDeclaredLabels } from "../core/labels.js";
6
+ import { validateSlugOrKey } from "../core/naming.js";
7
+ import { refToken } from "../core/tokens.js";
8
+ import { registerImport, resolveManagedSlug, validateExplicitSlug } from "./references.js";
9
+ /** The built-in team every organization has from creation. */
10
+ export const SHARED_TEAM_SLUG = "shared";
11
+ const TEAM_ASSIGNMENTS = ["AGENT_FIRST", "ROUND_ROBIN", "BALANCED_WORKLOAD", "QUEUE"];
12
+ /** The complement of the slug grammar, which never carries `_`; the platform itself never parses an id. */
13
+ const ENTITY_ID_PATTERN = /^[a-z][a-z0-9]*_[^_]+$/;
14
+ export class Team extends Construct {
15
+ /** Accepts a platform id or a slug interchangeably — one rule, stated on `IResource`. */
16
+ teamId;
17
+ explicitSlug;
18
+ displayName;
19
+ labels;
20
+ parent;
21
+ isPrivate;
22
+ assignment;
23
+ constructor(scope, id, props = {}) {
24
+ super(scope, id);
25
+ const label = `team '${this.node.path.join("/")}'`;
26
+ validateDeclaredLabels(props.labels, `${label} labels`);
27
+ validateExplicitSlug(this, props.slug, "team");
28
+ if (props.assignment !== undefined && !TEAM_ASSIGNMENTS.includes(props.assignment)) {
29
+ throw new Error(`${label}: unknown assignment '${String(props.assignment)}'. Use one of ${JSON.stringify(TEAM_ASSIGNMENTS)}.`);
30
+ }
31
+ validateParent(label, props);
32
+ this.explicitSlug = props.slug;
33
+ this.displayName = props.name ?? id;
34
+ this.labels = props.labels !== undefined ? { ...props.labels } : undefined;
35
+ this.parent = props.parent;
36
+ this.isPrivate = props.private ?? false;
37
+ this.assignment = props.assignment ?? "AGENT_FIRST";
38
+ this.teamId = refToken("team", this.node.path);
39
+ }
40
+ /** @internal */
41
+ _resourceId() {
42
+ return this.teamId;
43
+ }
44
+ get slug() {
45
+ return resolveManagedSlug(this, this.explicitSlug, "team");
46
+ }
47
+ /** @internal */
48
+ _isSubTeam() {
49
+ return this.parent !== undefined;
50
+ }
51
+ /** @internal */
52
+ _isPrivate() {
53
+ return this.isPrivate;
54
+ }
55
+ _toPlanResource() {
56
+ const slug = this.slug;
57
+ // `description` is console-owned and never emitted; `labels` only when declared, as on every kind.
58
+ // `private` and `assignment` are always emitted, so code stays the source of a team's privacy.
59
+ const payload = {
60
+ name: this.displayName,
61
+ slug,
62
+ ...(this.labels !== undefined ? { labels: { ...this.labels } } : {}),
63
+ ...(this.parent !== undefined ? { parentTeamId: this.parent.teamId } : {}),
64
+ private: this.isPrivate,
65
+ assignment: this.assignment,
66
+ };
67
+ return { kind: "team", path: this.node.path.join("/"), slug, managed: true, payload };
68
+ }
69
+ /** `Team.fromSlug(scope, "shared")` names Shared. */
70
+ static fromSlug(scope, slug) {
71
+ validateSlugOrKey(slug, "Team.fromSlug slug", "To reference a team by its platform id instead, use Team.fromId.");
72
+ registerImport(scope, { kind: "team", ref: slug }, slug);
73
+ return { teamId: slug, _resourceId: () => slug };
74
+ }
75
+ static fromId(scope, id) {
76
+ if (!ENTITY_ID_PATTERN.test(id)) {
77
+ throw new Error(`Invalid team id ${JSON.stringify(id)} for Team.fromId: a platform id is a lowercase prefix word, ` +
78
+ `exactly one '_', then a '_'-free suffix (e.g. 'proj_01jq7v…'). To reference a team by its slug ` +
79
+ `instead, use Team.fromSlug.`);
80
+ }
81
+ registerImport(scope, { kind: "team", ref: id }, id);
82
+ return { teamId: id, _resourceId: () => id };
83
+ }
84
+ }
85
+ /**
86
+ * The platform refuses each of these at create too; the program can see them for its own teams, so they fail
87
+ * at the call site. An imported parent's privacy and depth are the platform's to judge.
88
+ */
89
+ function validateParent(label, props) {
90
+ const parent = props.parent;
91
+ if (parent === undefined)
92
+ return;
93
+ if (parent.teamId === SHARED_TEAM_SLUG) {
94
+ throw new Error(`${label}: Shared has no sub-teams. Name another team as the parent, or declare no parent.`);
95
+ }
96
+ if (props.private === true) {
97
+ throw new Error(`${label}: a sub-team cannot be private. Make the team a top-level team to make it private.`);
98
+ }
99
+ if (parent instanceof Team) {
100
+ if (parent._isSubTeam()) {
101
+ throw new Error(`${label}: its parent is itself a sub-team, and teams nest one level deep. Name a top-level team as the parent.`);
102
+ }
103
+ if (parent._isPrivate()) {
104
+ throw new Error(`${label}: its parent is private, and a private team has no sub-teams.`);
105
+ }
106
+ }
107
+ }
@@ -3,7 +3,7 @@ import type { Binding, ProviderEventHandle } from "./provider-types.js";
3
3
  import { type PromptEventScope, type TypedPrompt } from "./prompt-template.js";
4
4
  import type { SeedPromptRootName } from "../generated/contextShapes.js";
5
5
  import type { IConnection } from "./connection.js";
6
- import type { IAgent } from "./interfaces.js";
6
+ import type { IAgent, ITeam } from "./interfaces.js";
7
7
  import type { IPipeline } from "./pipeline.js";
8
8
  import { type EventScope, type FilterNode, type FilterInput } from "./workflow-filter.js";
9
9
  /**
@@ -58,6 +58,7 @@ export interface TriggerDocument {
58
58
  target: TriggerTarget;
59
59
  status?: "active" | "paused";
60
60
  expiresAt?: string;
61
+ teamId?: string;
61
62
  }
62
63
  /** A generated event handle, or a raw `<provider>::<token>` wire string. */
63
64
  export type EventSelector<W extends string = string> = ProviderEventHandle<W> | W;
@@ -105,9 +106,8 @@ export interface AgentTargetProps<W extends string = string, WPrompt extends str
105
106
  requireEverParticipated?: boolean;
106
107
  /**
107
108
  * Stamp the minted session's server-owned `connectionId` from the routed event's attributed connection.
108
- * Deliberately opt-in: a non-attributed session leaves the field null, so its egress rule selection is
109
- * byte-identical to before. A conversation lane sets it so the agent's replies resolve against the right
110
- * installation. Default false.
109
+ * Opt-in: a non-attributed session leaves the field null. It chooses no credential; a request names its
110
+ * own. Default false.
111
111
  */
112
112
  attributeConnection?: boolean;
113
113
  }
@@ -164,6 +164,8 @@ export interface TriggerProps<E extends readonly EventSelector[] = readonly Even
164
164
  target: AuthoredTarget<WiresOf<E>, WiresOf<E>>;
165
165
  status?: "active" | "paused";
166
166
  expiresAt?: string;
167
+ /** Fixed at create; undeclared, the trigger is created in Shared. */
168
+ team?: ITeam;
167
169
  }
168
170
  /** A durable routing entry `{ on → target }`, M:N, with its own lifecycle. */
169
171
  export declare class Trigger<const E extends readonly EventSelector[] = readonly EventSelector[]> extends Construct {
@@ -173,6 +175,7 @@ export declare class Trigger<const E extends readonly EventSelector[] = readonly
173
175
  private readonly target;
174
176
  private readonly status;
175
177
  private readonly expiresAt;
178
+ private readonly team;
176
179
  private readonly notes;
177
180
  constructor(scope: Construct, id: string, props: TriggerProps<E>);
178
181
  get slug(): string;
@@ -99,6 +99,7 @@ export class Trigger extends Construct {
99
99
  target;
100
100
  status;
101
101
  expiresAt;
102
+ team;
102
103
  notes = [];
103
104
  constructor(scope, id, props) {
104
105
  super(scope, id);
@@ -140,6 +141,7 @@ export class Trigger extends Construct {
140
141
  this.target = { _fields: { ...props.target._fields }, _bindingDeclared: props.target._bindingDeclared };
141
142
  this.status = props.status;
142
143
  this.expiresAt = props.expiresAt;
144
+ this.team = props.team;
143
145
  }
144
146
  get slug() {
145
147
  return resolveManagedSlug(this, this.explicitSlug, "trigger");
@@ -172,6 +174,8 @@ export class Trigger extends Construct {
172
174
  doc.status = this.status;
173
175
  if (this.expiresAt !== undefined)
174
176
  doc.expiresAt = this.expiresAt;
177
+ if (this.team !== undefined)
178
+ doc.teamId = this.team.teamId;
175
179
  return doc;
176
180
  }
177
181
  /** A raw wire string carries no catalog knowledge, so it never contributes a canonical binding. */
@@ -8,7 +8,7 @@ export interface WorkflowProps {
8
8
  /** Defaults to the construct id. A rename appends no version. */
9
9
  name?: string;
10
10
  labels?: Record<string, string>;
11
- /** The pipeline whose items the rules act on. The platform fixes it at create, and the workflow takes its project. */
11
+ /** The pipeline whose items the rules act on. The platform fixes it at create, and the workflow takes its team. */
12
12
  pipeline: IPipeline;
13
13
  /** What the rules do and why, at most 2,000 characters; it is versioned with them. */
14
14
  description?: string;
@@ -1,17 +1,10 @@
1
- import type { IProject } from "../constructs/interfaces.js";
2
1
  import { Construct } from "./construct.js";
3
2
  import { type SynthResult } from "./plan.js";
4
3
  export declare class Factory extends Construct {
5
- #private;
6
4
  readonly name: string;
7
5
  constructor(props: {
8
6
  name: string;
9
- project?: IProject;
10
7
  });
11
- /** Undefined for a commons factory. */
12
- get project(): IProject | undefined;
13
- /** @internal — called by a managed `Project`'s constructor, or by this one for the import form. */
14
- _registerProject(project: IProject): void;
15
8
  /**
16
9
  * Idempotent and side-effect-free over the tree: repeated calls produce byte-identical output, which holds
17
10
  * only because nothing anywhere below reads a clock or a random source.
@@ -10,7 +10,7 @@ import { validateSlugOrKey } from "./naming.js";
10
10
  import { outboundWarnings } from "./outbound-warning.js";
11
11
  import { PLAN_KINDS, stableStringify, } from "./plan.js";
12
12
  import { validateSynthTemplates } from "./templateValidation.js";
13
- import { isRefToken, scanRefTokens } from "./tokens.js";
13
+ import { scanRefTokens } from "./tokens.js";
14
14
  let currentFactory;
15
15
  let beforeExitRegistered = false;
16
16
  const synthesizedFactories = new WeakSet();
@@ -28,8 +28,6 @@ function registerBeforeExit() {
28
28
  }
29
29
  export class Factory extends Construct {
30
30
  name;
31
- /** A managed {@link Project} self-registers here; the `project` prop is only ever the import form. */
32
- #project;
33
31
  constructor(props) {
34
32
  // Before super() so a bad name reports as a "factory name" error rather than a bare construct-id one.
35
33
  // Legal because the validation touches no `this` and this class declares no field initializers.
@@ -42,21 +40,6 @@ export class Factory extends Construct {
42
40
  this.name = props.name;
43
41
  currentFactory = this;
44
42
  registerBeforeExit();
45
- if (props.project !== undefined) {
46
- this._registerProject(props.project);
47
- }
48
- }
49
- /** Undefined for a commons factory. */
50
- get project() {
51
- return this.#project;
52
- }
53
- /** @internal — called by a managed `Project`'s constructor, or by this one for the import form. */
54
- _registerProject(project) {
55
- if (this.#project !== undefined) {
56
- throw new Error("a Factory declares at most one project; remove the extra Project " +
57
- "declaration (a managed `new Project(factory, ...)` and a `Project.fromSlug(...)` prop cannot coexist).");
58
- }
59
- this.#project = project;
60
43
  }
61
44
  /**
62
45
  * Idempotent and side-effect-free over the tree: repeated calls produce byte-identical output, which holds
@@ -68,14 +51,10 @@ export class Factory extends Construct {
68
51
  const imports = [];
69
52
  const warnings = [];
70
53
  const triggers = [];
71
- // The stamp lands on every plan resource, but ONLY when a project is declared — a deliberate exception to
72
- // always-emit, so a commons factory's bytes are unchanged.
73
- const projectId = this.#project?.projectId;
74
54
  for (const construct of constructs) {
75
55
  const resource = construct._toPlanResource();
76
- if (resource !== undefined) {
77
- resources.push(projectId !== undefined ? stampResourceProject(resource, projectId) : resource);
78
- }
56
+ if (resource !== undefined)
57
+ resources.push(resource);
79
58
  const imported = construct._toImport();
80
59
  if (imported !== undefined)
81
60
  imports.push(imported);
@@ -84,11 +63,6 @@ export class Factory extends Construct {
84
63
  if (rows !== undefined)
85
64
  triggers.push(...rows);
86
65
  }
87
- // A project importer has no scope to register under — it is evaluated before the Factory exists — so the
88
- // Factory contributes its plan import here instead of through the walk.
89
- if (this.#project !== undefined && !isRefToken(this.#project.projectId)) {
90
- imports.push({ kind: "project", ref: this.#project.projectId });
91
- }
92
66
  // Trigger slugs share the org trigger namespace, so the platform would 409 the second create.
93
67
  triggers.sort((a, b) => (a.slug < b.slug ? -1 : a.slug > b.slug ? 1 : 0));
94
68
  const seenTriggerSlugs = new Set();
@@ -110,6 +84,17 @@ export class Factory extends Construct {
110
84
  }
111
85
  seenWorkflowSlugs.add(resource.slug);
112
86
  }
87
+ // A custom role's name is its key in the organization, so the platform would 409 the second create.
88
+ const seenRoleNames = new Set();
89
+ for (const resource of resources) {
90
+ if (resource.kind !== "role")
91
+ continue;
92
+ if (seenRoleNames.has(resource.slug)) {
93
+ throw new Error(`two roles are named ${JSON.stringify(resource.slug)} in factory ${JSON.stringify(this.name)}; ` +
94
+ `a custom role's name is unique in the organization.`);
95
+ }
96
+ seenRoleNames.add(resource.slug);
97
+ }
113
98
  // A managed slug that also appears as an import ref is ambiguous — no silent dedup.
114
99
  const managedSlugs = new Set(resources.map((resource) => resource.slug));
115
100
  for (const imported of imports) {
@@ -127,7 +112,7 @@ export class Factory extends Construct {
127
112
  assertEventSelectionValues(resources);
128
113
  // The advisory passes append after the tree-walk `_synthWarnings` entries, each block internally sorted,
129
114
  // so `warnings.json` stays byte-stable across re-synth.
130
- warnings.push(...outboundWarnings(resources, triggers));
115
+ warnings.push(...outboundWarnings(resources, triggers, imports));
131
116
  warnings.push(...eventSelectionWarnings(resources, triggers));
132
117
  // The synth-time reference gate. A broken reference is caught on the author's machine instead of at the
133
118
  // platform's save-time 400, which stays authoritative; anything that cannot be said with certainty
@@ -171,29 +156,6 @@ export class Factory extends Construct {
171
156
  runAutoSynth();
172
157
  }
173
158
  }
174
- /**
175
- * A project is not stamped into itself, a model-provider-key row and a compute provider are organization-wide
176
- * with no project axis at all,
177
- * and a workflow takes its pipeline's project, so none of their bodies has a `projectId` field to fence. Every
178
- * other kind has a real `projectId` column and keeps the stamp.
179
- */
180
- const PROJECT_UNSTAMPED_KINDS = new Set([
181
- "project",
182
- "model-provider-key",
183
- "compute-provider",
184
- "workflow",
185
- ]);
186
- /** Returns a fresh resource and payload, so the source construct's payload is never mutated. */
187
- function stampResourceProject(resource, projectId) {
188
- if (PROJECT_UNSTAMPED_KINDS.has(resource.kind))
189
- return resource;
190
- return {
191
- ...resource,
192
- // Explicit key:value, never shorthand: the payload is an untyped `Record<string, unknown>`, so a
193
- // shorthand `{ projectId }` would silently rename this WIRE key along with the parameter.
194
- payload: { ...resource.payload, projectId: projectId },
195
- };
196
- }
197
159
  /**
198
160
  * Read off the plan resource rather than the construct, so what is checked is exactly what is about to be
199
161
  * written: a `where` the construct holds but does not emit is not a stored reference.
@@ -21,6 +21,8 @@ export function containsGatewayKeyRecipe(valueFrom) {
21
21
  return containsGatewayKeyRecipe(valueFrom.basicAuth.source);
22
22
  if ("registryCredential" in valueFrom)
23
23
  return containsGatewayKeyRecipe(valueFrom.registryCredential.source);
24
+ if ("fields" in valueFrom)
25
+ return Object.values(valueFrom.fields).some(containsGatewayKeyRecipe);
24
26
  return (containsGatewayKeyRecipe(valueFrom.ecrCredential.accessKeyIdSource) ||
25
27
  containsGatewayKeyRecipe(valueFrom.ecrCredential.secretAccessKeySource));
26
28
  }
@@ -33,6 +35,14 @@ function firstGatewayKeyRef(valueFrom) {
33
35
  return firstGatewayKeyRef(valueFrom.basicAuth.source);
34
36
  if ("registryCredential" in valueFrom)
35
37
  return firstGatewayKeyRef(valueFrom.registryCredential.source);
38
+ if ("fields" in valueFrom) {
39
+ for (const field of Object.values(valueFrom.fields)) {
40
+ const ref = firstGatewayKeyRef(field);
41
+ if (ref !== undefined)
42
+ return ref;
43
+ }
44
+ return undefined;
45
+ }
36
46
  return (firstGatewayKeyRef(valueFrom.ecrCredential.accessKeyIdSource) ??
37
47
  firstGatewayKeyRef(valueFrom.ecrCredential.secretAccessKeySource));
38
48
  }
@@ -46,8 +56,8 @@ export function gatewayKeyNestingError(compositor, valueFrom) {
46
56
  return new Error(`SecretValue.fromGatewayKey${named} cannot be used inside ${compositor}: a gateway key's one-time ` +
47
57
  `token is written by the paired-Secret write protocol, which runs only when the recipe is the ` +
48
58
  `complete top-level value of exactly one managed Secret. Declare it directly instead — ` +
49
- `new Secret(scope, id, { value: SecretValue.fromGatewayKey(gatewayKey) }) — and bind that Secret ` +
50
- `wherever the token is needed.`);
59
+ `new Secret(scope, id, { value: SecretValue.fromGatewayKey(gatewayKey) }) — and give that Secret the ` +
60
+ `hosts it is presented on.`);
51
61
  }
52
62
  /**
53
63
  * Every declared `GatewayKey` has exactly one direct top-level `Secret` consumer. Nested occurrences never
@@ -55,12 +65,14 @@ export function gatewayKeyNestingError(compositor, valueFrom) {
55
65
  */
56
66
  export function assertGatewayKeyPairing(resources) {
57
67
  const consumersByRef = new Map();
68
+ const consumerTeamByPath = new Map();
58
69
  for (const resource of resources) {
59
70
  if (resource.kind !== "secret" || resource.valueFrom === undefined)
60
71
  continue;
61
72
  const ref = gatewayKeyRefOf(resource.valueFrom);
62
73
  if (ref === undefined)
63
74
  continue;
75
+ consumerTeamByPath.set(resource.path, teamOf(resource));
64
76
  const consumers = consumersByRef.get(ref);
65
77
  if (consumers === undefined)
66
78
  consumersByRef.set(ref, [resource.path]);
@@ -95,5 +107,14 @@ export function assertGatewayKeyPairing(resources) {
95
107
  `exactly ONE Secret, so several consumers make the token write ambiguous and could strand the ` +
96
108
  `token. Declare exactly one Secret for this gateway key.`);
97
109
  }
110
+ // The key and its Secret are one unit, so a row of the pair in another team could never be judged or
111
+ // remedied on its own.
112
+ if (consumerTeamByPath.get(consumers[0]) !== teamOf(resource)) {
113
+ throw new Error(`gateway key '${resource.path}' and its Secret '${consumers[0]}' name different teams. A gateway key ` +
114
+ `and the Secret that holds its token are one unit, so declare both in the same team.`);
115
+ }
98
116
  }
99
117
  }
118
+ function teamOf(resource) {
119
+ return resource.payload?.teamId;
120
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * The egress rule host syntax as the platform's matcher reads it: `*` covers every host, `*.` and a suffix
3
+ * covers that suffix's subdomains and the suffix itself, and anything else is one host, case-insensitively.
4
+ */
5
+ export declare function hostPatternCovers(pattern: string, host: string): boolean;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The egress rule host syntax as the platform's matcher reads it: `*` covers every host, `*.` and a suffix
3
+ * covers that suffix's subdomains and the suffix itself, and anything else is one host, case-insensitively.
4
+ */
5
+ export function hostPatternCovers(pattern, host) {
6
+ const lowerPattern = pattern.toLowerCase();
7
+ const lowerHost = host.toLowerCase();
8
+ if (lowerPattern === "*")
9
+ return true;
10
+ if (lowerPattern.startsWith("*.")) {
11
+ return lowerHost.endsWith(lowerPattern.slice(1)) || lowerHost === lowerPattern.slice(2);
12
+ }
13
+ return lowerPattern === lowerHost;
14
+ }
@@ -5,7 +5,7 @@
5
5
  export declare const LABEL_KEY_PREFIX = "sfdk.";
6
6
  /**
7
7
  * Stamped on every resource `apply` creates or adopts among the kinds whose API request exposes `labels`.
8
- * Its value is the root factory name, which is always present — even for a project-less factory — so a CLI
8
+ * Its value is the root factory name, which is always present — even for a factory that declares no team — so a CLI
9
9
  * write against a managed resource can name the owning factory verbatim.
10
10
  */
11
11
  export declare const MANAGED_BY_LABEL_KEY = "sfdk.managedBy";
@@ -7,7 +7,7 @@
7
7
  export const LABEL_KEY_PREFIX = "sfdk.";
8
8
  /**
9
9
  * Stamped on every resource `apply` creates or adopts among the kinds whose API request exposes `labels`.
10
- * Its value is the root factory name, which is always present — even for a project-less factory — so a CLI
10
+ * Its value is the root factory name, which is always present — even for a factory that declares no team — so a CLI
11
11
  * write against a managed resource can name the owning factory verbatim.
12
12
  */
13
13
  export const MANAGED_BY_LABEL_KEY = `${LABEL_KEY_PREFIX}managedBy`;
@@ -1,3 +1,3 @@
1
- import type { PlanResource, TriggerDocument } from "./plan.js";
1
+ import type { PlanImport, PlanResource, TriggerDocument } from "./plan.js";
2
2
  /** Output is sorted so `warnings.json` stays byte-stable across re-synth. */
3
- export declare function outboundWarnings(resources: PlanResource[], triggers: TriggerDocument[]): string[];
3
+ export declare function outboundWarnings(resources: PlanResource[], triggers: TriggerDocument[], imports?: PlanImport[]): string[];
@@ -1,18 +1,20 @@
1
1
  // Wiring a connection to an agent is a triad — the `Connection`, the inbound `Trigger`s, and the outbound
2
2
  // `.allow(connection)` on the agent's environment egress policy — and only the third side is invisible when
3
3
  // forgotten: everything synths, applies and routes, and then the agent's CLI takes a 403 from the egress
4
- // fence inside its own sandbox where nothing surfaces it but decision logs. Detection is by connection-bound
5
- // rule only, so a hand-written rule covering the provider's hosts still warns — an accepted false positive
6
- // the message acknowledges — and anything a check cannot prove stays silent, per check.
4
+ // fence inside its own sandbox where nothing surfaces it but decision logs. Detection reads the hosts: an
5
+ // allow rule covering any of the provider's interpolated api hosts counts, whoever wrote it, and anything a
6
+ // check cannot prove (an unknown provider, a missing install value) stays silent, per check.
7
7
  //
8
8
  // The skill half's identity rule is a VERBATIM slug comparison, never {@link connectionSlugOf}'s
9
9
  // `_`-heuristic: a connection's id ≠ its slug, but a catalog skill's id IS its slug (`skill_zendesk`), so
10
10
  // reusing the heuristic would call every correct attachment indeterminate and silence the check forever.
11
11
  import { objectArrayFieldOf, objectFieldOf, stringArrayFieldOf, stringFieldOf, } from "./plan-payload.js";
12
- import { PROVIDER_HANDLE_NAMES, PROVIDER_SKILL_SLUGS } from "./provider-lookup.js";
12
+ import { interpolateHost } from "../constructs/provider-types.js";
13
+ import { hostPatternCovers } from "./host-pattern.js";
14
+ import { PROVIDER_HANDLES, PROVIDER_HANDLE_NAMES, PROVIDER_SKILL_SLUGS } from "./provider-lookup.js";
13
15
  import { isRefToken, parseRefToken } from "./tokens.js";
14
16
  /** Output is sorted so `warnings.json` stays byte-stable across re-synth. */
15
- export function outboundWarnings(resources, triggers) {
17
+ export function outboundWarnings(resources, triggers, imports = []) {
16
18
  const byRef = new Map();
17
19
  const connectionsBySlug = new Map();
18
20
  for (const resource of resources) {
@@ -22,7 +24,7 @@ export function outboundWarnings(resources, triggers) {
22
24
  }
23
25
  const pairs = new Map();
24
26
  for (const trigger of triggers) {
25
- const pair = resolvePair(trigger, byRef, connectionsBySlug);
27
+ const pair = resolvePair(trigger, byRef, connectionsBySlug, imports);
26
28
  // Several triggers on one pair collapse to one entry — the verdict below is identical for all of them.
27
29
  if (pair !== undefined)
28
30
  pairs.set(`${pair.connectionSlug} ${pair.agent.path}`, pair);
@@ -30,7 +32,7 @@ export function outboundWarnings(resources, triggers) {
30
32
  return [...pairs.values()].sort(comparePairs).flatMap((pair) => {
31
33
  const messages = [];
32
34
  const environment = pair.environment;
33
- if (environment !== undefined && lacksOutboundRule(environment, pair.connectionSlug, byRef)) {
35
+ if (environment !== undefined && lacksOutboundRule(environment, pair.installed)) {
34
36
  messages.push(outboundWarningMessage(pair, environment));
35
37
  }
36
38
  const missingSkill = missingProviderSkill(pair);
@@ -45,7 +47,7 @@ export function outboundWarnings(resources, triggers) {
45
47
  * `${ref:…}` token, so it is structurally invisible. An imported environment is NOT a skip: it leaves
46
48
  * `environment` undefined, silencing the egress half alone.
47
49
  */
48
- function resolvePair(trigger, byRef, connectionsBySlug) {
50
+ function resolvePair(trigger, byRef, connectionsBySlug, imports) {
49
51
  const connectionSlug = trigger.on.connection;
50
52
  const agentId = trigger.target.agent;
51
53
  if (connectionSlug === undefined || agentId === undefined)
@@ -58,33 +60,54 @@ function resolvePair(trigger, byRef, connectionsBySlug) {
58
60
  return {
59
61
  connectionLabel: connection?.path ?? connectionSlug,
60
62
  connectionSlug,
63
+ installed: installedProvider(connection, imports.find((imported) => imported.kind === "connection" && imported.ref === connectionSlug)),
61
64
  providerId: stringFieldOf(connection?.payload, "provider"),
62
65
  agent,
63
66
  environment: environmentId === undefined ? undefined : resolveRef(environmentId, "environment", byRef),
64
67
  };
65
68
  }
69
+ /** A managed connection's payload, else an import's `expect` (its `provider` and flat `install.<key>`). */
70
+ function installedProvider(connection, imported) {
71
+ if (connection !== undefined) {
72
+ const providerId = stringFieldOf(connection.payload, "provider");
73
+ const install = objectFieldOf(objectFieldOf(connection.payload, "install"), "provider") ?? {};
74
+ return providerId === undefined ? undefined : { providerId, install: install };
75
+ }
76
+ const expect = imported?.expect;
77
+ if (expect?.provider === undefined)
78
+ return undefined;
79
+ const install = {};
80
+ for (const [key, value] of Object.entries(expect)) {
81
+ if (key.startsWith("install."))
82
+ install[key.slice("install.".length)] = value;
83
+ }
84
+ return { providerId: expect.provider, install };
85
+ }
66
86
  /**
67
- * A rule whose `connectionId` cannot be correlated to a slug makes the whole environment indeterminate and
68
- * silences the pair, rather than risking a warning that is wrong.
87
+ * True only when the provider's hosts are provable and no allow rule covers any of them under a deny-all
88
+ * default: an open default, an unknown provider or a missing install value is indeterminate and stays silent
89
+ * rather than risking a warning that is wrong.
69
90
  */
70
- function lacksOutboundRule(environment, connectionSlug, byRef) {
71
- let indeterminate = false;
72
- for (const rule of objectArrayFieldOf(objectFieldOf(environment.payload, "egressPolicy"), "rules")) {
73
- for (const binding of objectArrayFieldOf(rule, "credentialBindings")) {
74
- const boundId = stringFieldOf(binding, "connectionId");
75
- // A secret binding (`bearer`/`basic`/`header`/`inject`) names no connection at all.
76
- if (boundId === undefined)
77
- continue;
78
- const boundSlug = connectionSlugOf(boundId, byRef);
79
- if (boundSlug === undefined) {
80
- indeterminate = true;
81
- continue;
82
- }
83
- if (boundSlug === connectionSlug)
84
- return false;
85
- }
91
+ function lacksOutboundRule(environment, installed) {
92
+ const egress = objectFieldOf(environment.payload, "egressPolicy");
93
+ if (stringFieldOf(egress, "defaultAction") !== "deny")
94
+ return false;
95
+ const hosts = providerApiHosts(installed);
96
+ if (hosts === undefined || hosts.length === 0)
97
+ return false;
98
+ return !objectArrayFieldOf(egress, "rules").some((rule) => stringFieldOf(rule, "action") === "allow" &&
99
+ stringArrayFieldOf(rule, "hosts").some((pattern) => hosts.some((host) => hostPatternCovers(pattern, host))));
100
+ }
101
+ function providerApiHosts(installed) {
102
+ const handle = installed === undefined ? undefined : PROVIDER_HANDLES.get(installed.providerId);
103
+ if (handle === undefined || installed === undefined)
104
+ return undefined;
105
+ try {
106
+ return handle.apiHosts.map((host) => interpolateHost(host, installed.install, { providerId: handle.id, ruleName: "" }));
107
+ }
108
+ catch {
109
+ return undefined;
86
110
  }
87
- return !indeterminate;
88
111
  }
89
112
  /**
90
113
  * Presence is a plain verbatim comparison because a catalog row's id equals its slug, so
@@ -105,17 +128,6 @@ function missingProviderSkill(pair) {
105
128
  return undefined;
106
129
  return { providerId, catalogSlug };
107
130
  }
108
- /**
109
- * `undefined` means indeterminate: an import marker resolved only at apply, an id-shaped value (ids carry
110
- * `_`, slugs never do, so identity is unprovable at synth), or a token naming a resource this plan lacks.
111
- */
112
- function connectionSlugOf(connectionId, byRef) {
113
- if (isRefToken(connectionId))
114
- return resolveRef(connectionId, "connection", byRef)?.slug;
115
- if (connectionId.startsWith("${") || connectionId.includes("_"))
116
- return undefined;
117
- return connectionId;
118
- }
119
131
  function resolveRef(value, kind, byRef) {
120
132
  if (!isRefToken(value))
121
133
  return undefined;
@@ -127,9 +139,8 @@ function resolveRef(value, kind, byRef) {
127
139
  /** Carries no `warning:` prefix — the CLI's `printWarnings` prepends it. */
128
140
  function outboundWarningMessage(pair, environment) {
129
141
  return (`connection '${pair.connectionLabel}' is wired inbound to agent '${pair.agent.path}' but its ` +
130
- `environment '${environment.path}' has no outbound rule for it — add ` +
131
- `.allow(${pair.connectionLabel}) to its egress, or ignore this if that is deliberate ` +
132
- `(listener-only, or the hosts are covered by a hand-written rule).`);
142
+ `environment '${environment.path}' has no allow rule covering its provider's hosts — add ` +
143
+ `.allow(${pair.connectionLabel}) to its egress, or ignore this if that is deliberate (listener-only).`);
133
144
  }
134
145
  /**
135
146
  * The remedy names the generated handle plus the catalog slug, because the `skills` prop takes an `ISkill`: