@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.
- package/README.md +1 -1
- package/dist/artifacts/prelude.js +10 -1
- package/dist/cli/api/execute.js +7 -7
- package/dist/cli/core/auth.d.ts +11 -1
- package/dist/cli/core/auth.js +48 -4
- package/dist/cli/core/errors.js +4 -0
- package/dist/cli/core/platform-client.d.ts +3 -2
- package/dist/cli/core/profile.d.ts +2 -2
- package/dist/cli/factory/apply-preview.d.ts +23 -6
- package/dist/cli/factory/apply-preview.js +70 -43
- package/dist/cli/factory/apply-render.js +12 -4
- package/dist/cli/factory/apply.d.ts +7 -2
- package/dist/cli/factory/apply.js +86 -29
- package/dist/cli/factory/diff.js +20 -12
- package/dist/cli/factory/image-upload.d.ts +90 -0
- package/dist/cli/factory/image-upload.js +489 -0
- package/dist/cli/factory/synth.d.ts +7 -0
- package/dist/cli/factory/synth.js +35 -0
- package/dist/cli/firstRun.d.ts +5 -5
- package/dist/cli/firstRun.js +18 -17
- package/dist/cli/main.d.ts +1 -1
- package/dist/cli/main.js +4 -3
- package/dist/cli/upload.d.ts +3 -1
- package/dist/cli/upload.js +9 -2
- package/dist/constructs/agent.d.ts +9 -1
- package/dist/constructs/agent.js +7 -0
- package/dist/constructs/compute-provider.js +2 -2
- package/dist/constructs/connection.d.ts +22 -16
- package/dist/constructs/connection.js +29 -92
- package/dist/constructs/connector.d.ts +3 -1
- package/dist/constructs/connector.js +2 -0
- package/dist/constructs/egress-preset.d.ts +7 -52
- package/dist/constructs/egress-preset.js +7 -91
- package/dist/constructs/environment.d.ts +47 -70
- package/dist/constructs/environment.js +103 -213
- package/dist/constructs/gateway-key.d.ts +4 -1
- package/dist/constructs/gateway-key.js +4 -3
- package/dist/constructs/interfaces.d.ts +10 -2
- package/dist/constructs/model-provider-key.js +2 -3
- package/dist/constructs/pipeline.d.ts +5 -2
- package/dist/constructs/pipeline.js +4 -0
- package/dist/constructs/references.d.ts +4 -0
- package/dist/constructs/references.js +20 -0
- package/dist/constructs/role.d.ts +32 -0
- package/dist/constructs/role.js +77 -0
- package/dist/constructs/rules.d.ts +4 -4
- package/dist/constructs/rules.js +3 -3
- package/dist/constructs/secret.d.ts +36 -13
- package/dist/constructs/secret.js +110 -14
- package/dist/constructs/service-account.d.ts +12 -0
- package/dist/constructs/service-account.js +23 -0
- package/dist/constructs/skill.d.ts +3 -1
- package/dist/constructs/skill.js +2 -0
- package/dist/constructs/team-membership.d.ts +43 -0
- package/dist/constructs/team-membership.js +59 -0
- package/dist/constructs/team.d.ts +40 -0
- package/dist/constructs/team.js +107 -0
- package/dist/constructs/trigger.d.ts +7 -4
- package/dist/constructs/trigger.js +4 -0
- package/dist/constructs/workflow.d.ts +1 -1
- package/dist/core/factory.d.ts +0 -7
- package/dist/core/factory.js +15 -53
- package/dist/core/gateway-key-recipe.js +23 -2
- package/dist/core/host-pattern.d.ts +5 -0
- package/dist/core/host-pattern.js +14 -0
- package/dist/core/labels.d.ts +1 -1
- package/dist/core/labels.js +1 -1
- package/dist/core/outbound-warning.d.ts +2 -2
- package/dist/core/outbound-warning.js +52 -41
- package/dist/core/plan.d.ts +14 -11
- package/dist/core/plan.js +12 -11
- package/dist/engine/apply-core.d.ts +71 -67
- package/dist/engine/apply-core.js +120 -95
- package/dist/engine/client.d.ts +12 -4
- package/dist/engine/client.js +8 -3
- package/dist/engine/compute-provider-reconcile.js +1 -1
- package/dist/engine/condition-references.d.ts +2 -2
- package/dist/engine/condition-references.js +6 -6
- package/dist/engine/connection-install-link-reconcile.d.ts +4 -3
- package/dist/engine/connection-install-link-reconcile.js +35 -28
- package/dist/engine/diff.d.ts +12 -14
- package/dist/engine/diff.js +247 -113
- package/dist/engine/gateway-key-reconcile.d.ts +12 -9
- package/dist/engine/gateway-key-reconcile.js +43 -36
- package/dist/engine/model-provider-key-reconcile.js +2 -2
- package/dist/engine/pipeline-reconcile.d.ts +8 -9
- package/dist/engine/pipeline-reconcile.js +14 -10
- package/dist/engine/reconcile.d.ts +7 -21
- package/dist/engine/reconcile.js +115 -215
- package/dist/engine/refusals.d.ts +14 -31
- package/dist/engine/refusals.js +32 -81
- package/dist/engine/role-membership-reconcile.d.ts +19 -0
- package/dist/engine/role-membership-reconcile.js +276 -0
- package/dist/engine/secrets-apply.d.ts +18 -4
- package/dist/engine/secrets-apply.js +39 -4
- package/dist/engine/trigger-reconcile.d.ts +22 -23
- package/dist/engine/trigger-reconcile.js +43 -65
- package/dist/engine/workflow-reconcile.d.ts +2 -2
- package/dist/engine/workflow-reconcile.js +5 -5
- package/dist/generated/cli-commands.json +15398 -11771
- package/dist/generated/cli-dispatch.d.ts +4 -3
- package/dist/generated/cli-dispatch.js +76 -62
- package/dist/index.d.ts +12 -7
- package/dist/index.js +5 -3
- package/dist/metrics/metric.d.ts +3 -3
- package/dist/metrics/metric.js +1 -1
- package/docs/REFERENCE.md +102 -95
- package/node_modules/@orchestraworks/client/dist/apis/AgentsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/apis/AgentsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/apis/ArtifactsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/apis/ArtifactsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/apis/ConnectionInstallLinksApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/apis/ConnectionInstallLinksApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/apis/ConnectionsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/apis/ConnectionsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/apis/EnvironmentsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/apis/EnvironmentsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/apis/FilesApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/apis/FilesApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/apis/ImagesApi.d.ts +88 -0
- package/node_modules/@orchestraworks/client/dist/apis/ImagesApi.js +239 -0
- package/node_modules/@orchestraworks/client/dist/apis/MetricsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/apis/MetricsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/apis/OrganizationsApi.d.ts +1 -15
- package/node_modules/@orchestraworks/client/dist/apis/OrganizationsApi.js +3 -49
- package/node_modules/@orchestraworks/client/dist/apis/PipelinesApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/apis/PipelinesApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/apis/ProviderConnectionIntentsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/apis/ProviderConnectionIntentsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/apis/SecretsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/apis/SecretsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/apis/SessionsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/apis/SessionsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/apis/SkillsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/apis/SkillsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/apis/TeamMembershipsApi.d.ts +96 -0
- package/node_modules/@orchestraworks/client/dist/apis/{GroupsApi.js → TeamMembershipsApi.js} +62 -59
- package/node_modules/@orchestraworks/client/dist/apis/TeamsApi.d.ts +93 -0
- package/node_modules/@orchestraworks/client/dist/apis/{ProjectsApi.js → TeamsApi.js} +55 -55
- package/node_modules/@orchestraworks/client/dist/apis/TriggersApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/apis/TriggersApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/apis/UsersApi.d.ts +0 -15
- package/node_modules/@orchestraworks/client/dist/apis/UsersApi.js +0 -49
- package/node_modules/@orchestraworks/client/dist/apis/VolumesApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/apis/VolumesApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/apis/WorkItemsApi.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/apis/WorkItemsApi.js +4 -4
- package/node_modules/@orchestraworks/client/dist/apis/WorkflowsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/apis/WorkflowsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/apis/index.d.ts +3 -2
- package/node_modules/@orchestraworks/client/dist/apis/index.js +3 -2
- package/node_modules/@orchestraworks/client/dist/esm/apis/AgentsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/apis/AgentsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/apis/ArtifactsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/apis/ArtifactsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/apis/ConnectionInstallLinksApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/apis/ConnectionInstallLinksApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/apis/ConnectionsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/apis/ConnectionsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/apis/EnvironmentsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/apis/EnvironmentsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/apis/FilesApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/apis/FilesApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/apis/ImagesApi.d.ts +88 -0
- package/node_modules/@orchestraworks/client/dist/esm/apis/ImagesApi.js +235 -0
- package/node_modules/@orchestraworks/client/dist/esm/apis/MetricsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/apis/MetricsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/apis/OrganizationsApi.d.ts +1 -15
- package/node_modules/@orchestraworks/client/dist/esm/apis/OrganizationsApi.js +3 -49
- package/node_modules/@orchestraworks/client/dist/esm/apis/PipelinesApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/apis/PipelinesApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/apis/ProviderConnectionIntentsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/apis/ProviderConnectionIntentsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/apis/SecretsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/apis/SecretsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/apis/SessionsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/apis/SessionsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/apis/SkillsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/apis/SkillsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/apis/TeamMembershipsApi.d.ts +96 -0
- package/node_modules/@orchestraworks/client/dist/esm/apis/{GroupsApi.js → TeamMembershipsApi.js} +60 -57
- package/node_modules/@orchestraworks/client/dist/esm/apis/TeamsApi.d.ts +93 -0
- package/node_modules/@orchestraworks/client/dist/esm/apis/{ProjectsApi.js → TeamsApi.js} +53 -53
- package/node_modules/@orchestraworks/client/dist/esm/apis/TriggersApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/apis/TriggersApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/apis/UsersApi.d.ts +0 -15
- package/node_modules/@orchestraworks/client/dist/esm/apis/UsersApi.js +0 -49
- package/node_modules/@orchestraworks/client/dist/esm/apis/VolumesApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/apis/VolumesApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/apis/WorkItemsApi.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/apis/WorkItemsApi.js +4 -4
- package/node_modules/@orchestraworks/client/dist/esm/apis/WorkflowsApi.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/apis/WorkflowsApi.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/apis/index.d.ts +3 -2
- package/node_modules/@orchestraworks/client/dist/esm/apis/index.js +3 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/AddArtifactVersionRequest.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/models/Agent.d.ts +9 -3
- package/node_modules/@orchestraworks/client/dist/esm/models/Agent.js +3 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/ApiErrorDetail.d.ts +9 -1
- package/node_modules/@orchestraworks/client/dist/esm/models/ApiErrorDetail.js +5 -1
- package/node_modules/@orchestraworks/client/dist/esm/models/Artifact.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/Artifact.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/ArtifactSummary.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/ArtifactSummary.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/AssignAction.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/models/AssignAction.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/AssignWorkItemRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/AssignWorkItemRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/ComputeProviderTarget.d.ts +6 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/ComputeProviderTarget.js +2 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/Connection.d.ts +16 -3
- package/node_modules/@orchestraworks/client/dist/esm/models/Connection.js +8 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/ConnectionInstallLink.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/ConnectionInstallLink.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/Connector.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/Connector.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateAgentRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateAgentRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateArtifactRequest.d.ts +4 -4
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateArtifactRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateConnectionInstallLinkRequest.d.ts +3 -3
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateConnectionInstallLinkRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateConnectionRequest.d.ts +8 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateConnectionRequest.js +4 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateConnectorRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateConnectorRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateDashboardRequest.d.ts +3 -3
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateDashboardRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateEnvironmentRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateEnvironmentRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateFileRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateFileRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateGatewayKeyRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateGatewayKeyRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateImageRequest.d.ts +38 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/{GroupMemberAgent.js → CreateImageRequest.js} +12 -16
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateMachineRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateMachineRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateMetricRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateMetricRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationInvitationRequest.d.ts +4 -4
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationInvitationRequest.js +3 -3
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationMembershipRequest.d.ts +1 -8
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationMembershipRequest.js +0 -3
- package/node_modules/@orchestraworks/client/dist/esm/models/CreatePipelineRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreatePipelineRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateProviderConnectionIntentRequest.d.ts +3 -3
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateProviderConnectionIntentRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateSecretRequest.d.ts +8 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateSecretRequest.js +4 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateSessionRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateSessionRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateSkillRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateSkillRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateTeamMembershipRequest.d.ts +65 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateTeamMembershipRequest.js +61 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateTeamRequest.d.ts +80 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateTeamRequest.js +64 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateTriggerRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateTriggerRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateVolumeRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateVolumeRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateWorkflowRequest.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/models/Dashboard.d.ts +8 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/Dashboard.js +6 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/DashboardChart.d.ts +45 -4
- package/node_modules/@orchestraworks/client/dist/esm/models/DashboardChart.js +29 -5
- package/node_modules/@orchestraworks/client/dist/esm/models/DashboardChartQuery.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/models/Delivery.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/Delivery.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/EgressPolicyRule.d.ts +0 -13
- package/node_modules/@orchestraworks/client/dist/esm/models/EgressPolicyRule.js +0 -5
- package/node_modules/@orchestraworks/client/dist/esm/models/EntitlementTeamUsage.d.ts +58 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/EntitlementTeamUsage.js +64 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/Environment.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/Environment.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentEgressPolicy.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/models/GatewayKey.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/GatewayKey.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/Image.d.ts +113 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/Image.js +91 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/InboundWebhookEdge.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/InboundWebhookEdge.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/InvitationTeamMembership.d.ts +44 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/InvitationTeamMembership.js +47 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/MachineEgressPolicyDiagnostics.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/models/MachineEgressRuleDiagnostics.d.ts +0 -6
- package/node_modules/@orchestraworks/client/dist/esm/models/MachineEgressRuleDiagnostics.js +0 -4
- package/node_modules/@orchestraworks/client/dist/esm/models/MachineView.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/MachineView.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/MessageWorkItemRequest.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/models/Metric.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/Metric.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/MetricValue.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/MetricValue.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/ModelFile.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/ModelFile.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationEntitlements.d.ts +7 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationEntitlements.js +5 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationInvitation.d.ts +4 -4
- package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationInvitation.js +4 -4
- package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationMembership.d.ts +5 -5
- package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationMembership.js +4 -4
- package/node_modules/@orchestraworks/client/dist/esm/models/PageImage.d.ts +51 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/{PageProject.js → PageImage.js} +11 -11
- package/node_modules/@orchestraworks/client/dist/esm/models/PageTeam.d.ts +51 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/{PageGroupSummary.js → PageTeam.js} +11 -11
- package/node_modules/@orchestraworks/client/dist/esm/models/PageTeamMembership.d.ts +51 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/PageTeamMembership.js +56 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/Pipeline.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/Pipeline.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/PolicyAssignment.d.ts +8 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/PolicyAssignment.js +4 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/ProviderConnectionIntent.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/ProviderConnectionIntent.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/ReferenceSubject.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/models/ReferenceSubject.js +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/models/Role.d.ts +6 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/Role.js +4 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/Secret.d.ts +16 -3
- package/node_modules/@orchestraworks/client/dist/esm/models/Secret.js +8 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/ServiceAccount.d.ts +7 -1
- package/node_modules/@orchestraworks/client/dist/esm/models/ServiceAccount.js +1 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/Session.d.ts +3 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/Session.js +3 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/SessionSummary.d.ts +3 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/SessionSummary.js +3 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/Skill.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/Skill.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/SnapshotAnchor.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/models/Team.d.ts +104 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/{GroupSummary.js → Team.js} +25 -15
- package/node_modules/@orchestraworks/client/dist/esm/models/TeamMembership.d.ts +83 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/TeamMembership.js +77 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/Trigger.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/Trigger.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/TriggerTarget.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/models/UpdateArtifactRequest.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/esm/models/UpdateConnectionRequest.d.ts +6 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/UpdateConnectionRequest.js +2 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/UpdateOrganizationInvitationRequest.d.ts +4 -4
- package/node_modules/@orchestraworks/client/dist/esm/models/UpdateOrganizationInvitationRequest.js +3 -3
- package/node_modules/@orchestraworks/client/dist/esm/models/UpdateOrganizationMembershipRequest.d.ts +1 -8
- package/node_modules/@orchestraworks/client/dist/esm/models/UpdateOrganizationMembershipRequest.js +0 -3
- package/node_modules/@orchestraworks/client/dist/esm/models/UpdateSecretRequest.d.ts +6 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/UpdateSecretRequest.js +2 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/UpdateTeamMembershipRequest.d.ts +47 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/UpdateTeamMembershipRequest.js +51 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/UpdateTeamRequest.d.ts +68 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/UpdateTeamRequest.js +58 -0
- package/node_modules/@orchestraworks/client/dist/esm/models/UserGrant.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/UserGrant.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/Volume.d.ts +10 -3
- package/node_modules/@orchestraworks/client/dist/esm/models/Volume.js +4 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/WorkItemActivity.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/WorkItemAssignment.d.ts +7 -7
- package/node_modules/@orchestraworks/client/dist/esm/models/WorkItemAssignment.js +5 -5
- package/node_modules/@orchestraworks/client/dist/esm/models/WorkItemDraftAssignment.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/WorkItemDraftAssignment.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/Workflow.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/Workflow.js +2 -2
- package/node_modules/@orchestraworks/client/dist/esm/models/index.d.ts +13 -17
- package/node_modules/@orchestraworks/client/dist/esm/models/index.js +13 -17
- package/node_modules/@orchestraworks/client/dist/models/AddArtifactVersionRequest.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/models/Agent.d.ts +9 -3
- package/node_modules/@orchestraworks/client/dist/models/Agent.js +3 -2
- package/node_modules/@orchestraworks/client/dist/models/ApiErrorDetail.d.ts +9 -1
- package/node_modules/@orchestraworks/client/dist/models/ApiErrorDetail.js +5 -1
- package/node_modules/@orchestraworks/client/dist/models/Artifact.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/Artifact.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/ArtifactSummary.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/ArtifactSummary.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/AssignAction.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/models/AssignAction.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/AssignWorkItemRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/AssignWorkItemRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/ComputeProviderTarget.d.ts +6 -0
- package/node_modules/@orchestraworks/client/dist/models/ComputeProviderTarget.js +2 -0
- package/node_modules/@orchestraworks/client/dist/models/Connection.d.ts +16 -3
- package/node_modules/@orchestraworks/client/dist/models/Connection.js +8 -2
- package/node_modules/@orchestraworks/client/dist/models/ConnectionInstallLink.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/ConnectionInstallLink.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/Connector.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/Connector.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateAgentRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateAgentRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateArtifactRequest.d.ts +4 -4
- package/node_modules/@orchestraworks/client/dist/models/CreateArtifactRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateConnectionInstallLinkRequest.d.ts +3 -3
- package/node_modules/@orchestraworks/client/dist/models/CreateConnectionInstallLinkRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateConnectionRequest.d.ts +8 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateConnectionRequest.js +4 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateConnectorRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateConnectorRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateDashboardRequest.d.ts +3 -3
- package/node_modules/@orchestraworks/client/dist/models/CreateDashboardRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateEnvironmentRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateEnvironmentRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateFileRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateFileRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateGatewayKeyRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateGatewayKeyRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateImageRequest.d.ts +38 -0
- package/node_modules/@orchestraworks/client/dist/models/CreateImageRequest.js +54 -0
- package/node_modules/@orchestraworks/client/dist/models/CreateMachineRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateMachineRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateMetricRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateMetricRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationInvitationRequest.d.ts +4 -4
- package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationInvitationRequest.js +3 -3
- package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationMembershipRequest.d.ts +1 -8
- package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationMembershipRequest.js +0 -3
- package/node_modules/@orchestraworks/client/dist/models/CreatePipelineRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreatePipelineRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateProviderConnectionIntentRequest.d.ts +3 -3
- package/node_modules/@orchestraworks/client/dist/models/CreateProviderConnectionIntentRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateSecretRequest.d.ts +8 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateSecretRequest.js +4 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateSessionRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateSessionRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateSkillRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateSkillRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateTeamMembershipRequest.d.ts +65 -0
- package/node_modules/@orchestraworks/client/dist/models/CreateTeamMembershipRequest.js +69 -0
- package/node_modules/@orchestraworks/client/dist/models/CreateTeamRequest.d.ts +80 -0
- package/node_modules/@orchestraworks/client/dist/models/CreateTeamRequest.js +72 -0
- package/node_modules/@orchestraworks/client/dist/models/CreateTriggerRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateTriggerRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateVolumeRequest.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateVolumeRequest.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/CreateWorkflowRequest.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/models/Dashboard.d.ts +8 -2
- package/node_modules/@orchestraworks/client/dist/models/Dashboard.js +6 -2
- package/node_modules/@orchestraworks/client/dist/models/DashboardChart.d.ts +45 -4
- package/node_modules/@orchestraworks/client/dist/models/DashboardChart.js +30 -6
- package/node_modules/@orchestraworks/client/dist/models/DashboardChartQuery.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/models/Delivery.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/Delivery.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/EgressPolicyRule.d.ts +0 -13
- package/node_modules/@orchestraworks/client/dist/models/EgressPolicyRule.js +0 -5
- package/node_modules/@orchestraworks/client/dist/models/EntitlementTeamUsage.d.ts +58 -0
- package/node_modules/@orchestraworks/client/dist/models/EntitlementTeamUsage.js +72 -0
- package/node_modules/@orchestraworks/client/dist/models/Environment.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/Environment.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/EnvironmentEgressPolicy.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/models/GatewayKey.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/GatewayKey.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/Image.d.ts +113 -0
- package/node_modules/@orchestraworks/client/dist/models/Image.js +99 -0
- package/node_modules/@orchestraworks/client/dist/models/InboundWebhookEdge.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/InboundWebhookEdge.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/InvitationTeamMembership.d.ts +44 -0
- package/node_modules/@orchestraworks/client/dist/models/InvitationTeamMembership.js +54 -0
- package/node_modules/@orchestraworks/client/dist/models/MachineEgressPolicyDiagnostics.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/models/MachineEgressRuleDiagnostics.d.ts +0 -6
- package/node_modules/@orchestraworks/client/dist/models/MachineEgressRuleDiagnostics.js +0 -4
- package/node_modules/@orchestraworks/client/dist/models/MachineView.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/MachineView.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/MessageWorkItemRequest.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/models/Metric.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/Metric.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/MetricValue.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/MetricValue.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/ModelFile.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/ModelFile.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/OrganizationEntitlements.d.ts +7 -0
- package/node_modules/@orchestraworks/client/dist/models/OrganizationEntitlements.js +5 -0
- package/node_modules/@orchestraworks/client/dist/models/OrganizationInvitation.d.ts +4 -4
- package/node_modules/@orchestraworks/client/dist/models/OrganizationInvitation.js +4 -4
- package/node_modules/@orchestraworks/client/dist/models/OrganizationMembership.d.ts +5 -5
- package/node_modules/@orchestraworks/client/dist/models/OrganizationMembership.js +4 -4
- package/node_modules/@orchestraworks/client/dist/models/PageImage.d.ts +51 -0
- package/node_modules/@orchestraworks/client/dist/models/{PageProject.js → PageImage.js} +16 -16
- package/node_modules/@orchestraworks/client/dist/models/PageTeam.d.ts +51 -0
- package/node_modules/@orchestraworks/client/dist/models/{PageGroupSummary.js → PageTeam.js} +16 -16
- package/node_modules/@orchestraworks/client/dist/models/PageTeamMembership.d.ts +51 -0
- package/node_modules/@orchestraworks/client/dist/models/PageTeamMembership.js +63 -0
- package/node_modules/@orchestraworks/client/dist/models/Pipeline.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/Pipeline.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/PolicyAssignment.d.ts +8 -2
- package/node_modules/@orchestraworks/client/dist/models/PolicyAssignment.js +4 -2
- package/node_modules/@orchestraworks/client/dist/models/ProviderConnectionIntent.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/ProviderConnectionIntent.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/ReferenceSubject.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/models/ReferenceSubject.js +1 -1
- package/node_modules/@orchestraworks/client/dist/models/Role.d.ts +6 -0
- package/node_modules/@orchestraworks/client/dist/models/Role.js +4 -0
- package/node_modules/@orchestraworks/client/dist/models/Secret.d.ts +16 -3
- package/node_modules/@orchestraworks/client/dist/models/Secret.js +8 -2
- package/node_modules/@orchestraworks/client/dist/models/ServiceAccount.d.ts +7 -1
- package/node_modules/@orchestraworks/client/dist/models/ServiceAccount.js +1 -0
- package/node_modules/@orchestraworks/client/dist/models/Session.d.ts +3 -2
- package/node_modules/@orchestraworks/client/dist/models/Session.js +3 -2
- package/node_modules/@orchestraworks/client/dist/models/SessionSummary.d.ts +3 -2
- package/node_modules/@orchestraworks/client/dist/models/SessionSummary.js +3 -2
- package/node_modules/@orchestraworks/client/dist/models/Skill.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/Skill.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/SnapshotAnchor.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/models/Team.d.ts +104 -0
- package/node_modules/@orchestraworks/client/dist/models/{GroupSummary.js → Team.js} +31 -21
- package/node_modules/@orchestraworks/client/dist/models/TeamMembership.d.ts +83 -0
- package/node_modules/@orchestraworks/client/dist/models/TeamMembership.js +85 -0
- package/node_modules/@orchestraworks/client/dist/models/Trigger.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/Trigger.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/TriggerTarget.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/models/UpdateArtifactRequest.d.ts +1 -1
- package/node_modules/@orchestraworks/client/dist/models/UpdateConnectionRequest.d.ts +6 -0
- package/node_modules/@orchestraworks/client/dist/models/UpdateConnectionRequest.js +2 -0
- package/node_modules/@orchestraworks/client/dist/models/UpdateOrganizationInvitationRequest.d.ts +4 -4
- package/node_modules/@orchestraworks/client/dist/models/UpdateOrganizationInvitationRequest.js +3 -3
- package/node_modules/@orchestraworks/client/dist/models/UpdateOrganizationMembershipRequest.d.ts +1 -8
- package/node_modules/@orchestraworks/client/dist/models/UpdateOrganizationMembershipRequest.js +0 -3
- package/node_modules/@orchestraworks/client/dist/models/UpdateSecretRequest.d.ts +6 -0
- package/node_modules/@orchestraworks/client/dist/models/UpdateSecretRequest.js +2 -0
- package/node_modules/@orchestraworks/client/dist/models/UpdateTeamMembershipRequest.d.ts +47 -0
- package/node_modules/@orchestraworks/client/dist/models/UpdateTeamMembershipRequest.js +59 -0
- package/node_modules/@orchestraworks/client/dist/models/UpdateTeamRequest.d.ts +68 -0
- package/node_modules/@orchestraworks/client/dist/models/UpdateTeamRequest.js +66 -0
- package/node_modules/@orchestraworks/client/dist/models/UserGrant.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/UserGrant.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/Volume.d.ts +10 -3
- package/node_modules/@orchestraworks/client/dist/models/Volume.js +4 -2
- package/node_modules/@orchestraworks/client/dist/models/WorkItemActivity.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/WorkItemAssignment.d.ts +7 -7
- package/node_modules/@orchestraworks/client/dist/models/WorkItemAssignment.js +5 -5
- package/node_modules/@orchestraworks/client/dist/models/WorkItemDraftAssignment.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/WorkItemDraftAssignment.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/Workflow.d.ts +2 -2
- package/node_modules/@orchestraworks/client/dist/models/Workflow.js +2 -2
- package/node_modules/@orchestraworks/client/dist/models/index.d.ts +13 -17
- package/node_modules/@orchestraworks/client/dist/models/index.js +13 -17
- package/node_modules/@orchestraworks/client/package.json +1 -1
- package/package.json +4 -4
- package/skills/orchestra/SKILL.md +82 -67
- package/skills/orchestra-fdk/references/authoring.md +83 -45
- package/skills/orchestra-fdk/references/environment.md +214 -33
- package/skills/orchestra-fdk/references/troubleshooting.md +10 -8
- package/templates/bug-fix/main.ts +6 -1
- package/templates/engineering-team/README.md +10 -7
- package/templates/engineering-team/agents/engineer-agent.md +38 -16
- package/templates/engineering-team/lib/environment.ts +15 -3
- package/templates/engineering-team/main.ts +1 -1
- package/templates/todo-factory/main.ts +6 -1
- package/dist/constructs/project.d.ts +0 -33
- package/dist/constructs/project.js +0 -82
- package/node_modules/@orchestraworks/client/dist/apis/GroupsApi.d.ts +0 -95
- package/node_modules/@orchestraworks/client/dist/apis/ProjectsApi.d.ts +0 -93
- package/node_modules/@orchestraworks/client/dist/esm/apis/GroupsApi.d.ts +0 -95
- package/node_modules/@orchestraworks/client/dist/esm/apis/ProjectsApi.d.ts +0 -93
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateGroupRequest.d.ts +0 -82
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateGroupRequest.js +0 -74
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationRequest.d.ts +0 -53
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationRequest.js +0 -50
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateProjectRequest.d.ts +0 -52
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateProjectRequest.js +0 -49
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateUserRequest.d.ts +0 -46
- package/node_modules/@orchestraworks/client/dist/esm/models/CreateUserRequest.js +0 -47
- package/node_modules/@orchestraworks/client/dist/esm/models/CredentialBinding.d.ts +0 -57
- package/node_modules/@orchestraworks/client/dist/esm/models/CredentialBinding.js +0 -50
- package/node_modules/@orchestraworks/client/dist/esm/models/Group.d.ts +0 -106
- package/node_modules/@orchestraworks/client/dist/esm/models/Group.js +0 -92
- package/node_modules/@orchestraworks/client/dist/esm/models/GroupMember.d.ts +0 -40
- package/node_modules/@orchestraworks/client/dist/esm/models/GroupMember.js +0 -45
- package/node_modules/@orchestraworks/client/dist/esm/models/GroupMemberAgent.d.ts +0 -44
- package/node_modules/@orchestraworks/client/dist/esm/models/GroupMemberReference.d.ts +0 -38
- package/node_modules/@orchestraworks/client/dist/esm/models/GroupMemberReference.js +0 -43
- package/node_modules/@orchestraworks/client/dist/esm/models/GroupMemberUser.d.ts +0 -38
- package/node_modules/@orchestraworks/client/dist/esm/models/GroupMemberUser.js +0 -45
- package/node_modules/@orchestraworks/client/dist/esm/models/GroupSummary.d.ts +0 -86
- package/node_modules/@orchestraworks/client/dist/esm/models/PageGroupSummary.d.ts +0 -51
- package/node_modules/@orchestraworks/client/dist/esm/models/PageProject.d.ts +0 -51
- package/node_modules/@orchestraworks/client/dist/esm/models/Project.d.ts +0 -76
- package/node_modules/@orchestraworks/client/dist/esm/models/Project.js +0 -69
- package/node_modules/@orchestraworks/client/dist/esm/models/RoleAssignment.d.ts +0 -38
- package/node_modules/@orchestraworks/client/dist/esm/models/RoleAssignment.js +0 -45
- package/node_modules/@orchestraworks/client/dist/esm/models/UpdateGroupRequest.d.ts +0 -70
- package/node_modules/@orchestraworks/client/dist/esm/models/UpdateGroupRequest.js +0 -60
- package/node_modules/@orchestraworks/client/dist/esm/models/UpdateProjectRequest.d.ts +0 -46
- package/node_modules/@orchestraworks/client/dist/esm/models/UpdateProjectRequest.js +0 -45
- package/node_modules/@orchestraworks/client/dist/models/CreateGroupRequest.d.ts +0 -82
- package/node_modules/@orchestraworks/client/dist/models/CreateGroupRequest.js +0 -82
- package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationRequest.d.ts +0 -53
- package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationRequest.js +0 -57
- package/node_modules/@orchestraworks/client/dist/models/CreateProjectRequest.d.ts +0 -52
- package/node_modules/@orchestraworks/client/dist/models/CreateProjectRequest.js +0 -56
- package/node_modules/@orchestraworks/client/dist/models/CreateUserRequest.d.ts +0 -46
- package/node_modules/@orchestraworks/client/dist/models/CreateUserRequest.js +0 -54
- package/node_modules/@orchestraworks/client/dist/models/CredentialBinding.d.ts +0 -57
- package/node_modules/@orchestraworks/client/dist/models/CredentialBinding.js +0 -57
- package/node_modules/@orchestraworks/client/dist/models/Group.d.ts +0 -106
- package/node_modules/@orchestraworks/client/dist/models/Group.js +0 -100
- package/node_modules/@orchestraworks/client/dist/models/GroupMember.d.ts +0 -40
- package/node_modules/@orchestraworks/client/dist/models/GroupMember.js +0 -52
- package/node_modules/@orchestraworks/client/dist/models/GroupMemberAgent.d.ts +0 -44
- package/node_modules/@orchestraworks/client/dist/models/GroupMemberAgent.js +0 -58
- package/node_modules/@orchestraworks/client/dist/models/GroupMemberReference.d.ts +0 -38
- package/node_modules/@orchestraworks/client/dist/models/GroupMemberReference.js +0 -50
- package/node_modules/@orchestraworks/client/dist/models/GroupMemberUser.d.ts +0 -38
- package/node_modules/@orchestraworks/client/dist/models/GroupMemberUser.js +0 -52
- package/node_modules/@orchestraworks/client/dist/models/GroupSummary.d.ts +0 -86
- package/node_modules/@orchestraworks/client/dist/models/PageGroupSummary.d.ts +0 -51
- package/node_modules/@orchestraworks/client/dist/models/PageProject.d.ts +0 -51
- package/node_modules/@orchestraworks/client/dist/models/Project.d.ts +0 -76
- package/node_modules/@orchestraworks/client/dist/models/Project.js +0 -76
- package/node_modules/@orchestraworks/client/dist/models/RoleAssignment.d.ts +0 -38
- package/node_modules/@orchestraworks/client/dist/models/RoleAssignment.js +0 -52
- package/node_modules/@orchestraworks/client/dist/models/UpdateGroupRequest.d.ts +0 -70
- package/node_modules/@orchestraworks/client/dist/models/UpdateGroupRequest.js +0 -68
- package/node_modules/@orchestraworks/client/dist/models/UpdateProjectRequest.d.ts +0 -46
- package/node_modules/@orchestraworks/client/dist/models/UpdateProjectRequest.js +0 -52
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ The full guide to every construct, secrets, connections and troubleshooting is [
|
|
|
20
20
|
```bash
|
|
21
21
|
npm install -g @orchestraworks/cli # the CLI, on your path as `orchestra`
|
|
22
22
|
npm install @orchestraworks/cli # the current release
|
|
23
|
-
npm install @orchestraworks/cli@0.5.
|
|
23
|
+
npm install @orchestraworks/cli@0.5.8 # this exact release
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Then `import { Factory, Agent, … } from "@orchestraworks/cli"` normally — the package `exports` entry resolves
|
|
@@ -260,8 +260,17 @@
|
|
|
260
260
|
}
|
|
261
261
|
|
|
262
262
|
function onKeyDown(event) {
|
|
263
|
-
if (event.key
|
|
263
|
+
if (event.key !== "Escape") {
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
266
|
+
if (commentMode) {
|
|
264
267
|
setCommentMode(false);
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
// A key pressed in this frame never reaches the console's document, so an Escape the page left
|
|
271
|
+
// unused is passed on: it is how a reader leaves the console's full-screen layer from inside a page.
|
|
272
|
+
if (!event.defaultPrevented) {
|
|
273
|
+
window.parent.postMessage({ sf: 1, event: "escape" }, consoleOrigin);
|
|
265
274
|
}
|
|
266
275
|
}
|
|
267
276
|
|
package/dist/cli/api/execute.js
CHANGED
|
@@ -327,8 +327,8 @@ async function storeDeclaredFile(row, invocation, body, apis, target, deps, io)
|
|
|
327
327
|
fetchApi: (deps.fetchApi ?? fetch),
|
|
328
328
|
io,
|
|
329
329
|
organizationId: target.organizationId,
|
|
330
|
-
|
|
331
|
-
(await
|
|
330
|
+
teamId: stringField(body, "teamId") ??
|
|
331
|
+
(await ownerTeam(row, invocation, apis, target.organizationId)),
|
|
332
332
|
// The one create describes one file: what it says about the name and the type governs both calls, so
|
|
333
333
|
// the upload cannot land as something the create did not ask for.
|
|
334
334
|
filename: stringField(body, "filename"),
|
|
@@ -359,13 +359,13 @@ async function readStoredFile(row, invocation, apis, target, fileId) {
|
|
|
359
359
|
}
|
|
360
360
|
/**
|
|
361
361
|
* Where a create that publishes UNDER an item puts its file: with that item. `artifacts create-version` has
|
|
362
|
-
* no
|
|
363
|
-
*
|
|
364
|
-
*
|
|
362
|
+
* no team field of its own, so without this the upload is declared in Shared — which a `files:createFile`
|
|
363
|
+
* grant at the artifact's team refuses, and a wider one accepts into the wrong place for good, since a
|
|
364
|
+
* file's team is fixed when it is declared.
|
|
365
365
|
*
|
|
366
366
|
* A failure is raised rather than swallowed: a placement that cannot be read must not be guessed.
|
|
367
367
|
*/
|
|
368
|
-
async function
|
|
368
|
+
async function ownerTeam(row, invocation, apis, organizationId) {
|
|
369
369
|
const owner = findCommand(row.noun, "get");
|
|
370
370
|
if (owner === undefined || !sameItemPath(owner, row)) {
|
|
371
371
|
return undefined;
|
|
@@ -379,7 +379,7 @@ async function ownerProject(row, invocation, apis, organizationId) {
|
|
|
379
379
|
if (typeof read !== "object" || read === null || Array.isArray(read)) {
|
|
380
380
|
return undefined;
|
|
381
381
|
}
|
|
382
|
-
return stringField(read, "
|
|
382
|
+
return stringField(read, "teamId");
|
|
383
383
|
}
|
|
384
384
|
function stringField(body, field) {
|
|
385
385
|
const value = body[field];
|
package/dist/cli/core/auth.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ export declare const AUTH_ENV: {
|
|
|
14
14
|
/** Read after `baseUrl`: the platform writes this name into every machine. */
|
|
15
15
|
readonly machineBaseUrl: "PLATFORM_BASE_URL";
|
|
16
16
|
readonly token: "ORCHESTRA_API_TOKEN";
|
|
17
|
+
/** Set by the worker on each harness and hook process; the file holds a token it renews. */
|
|
18
|
+
readonly tokenFile: "ORCHESTRA_API_TOKEN_FILE";
|
|
17
19
|
readonly organizationId: "ORCHESTRA_ORGANIZATION_ID";
|
|
18
20
|
/** Presence is the declaration. */
|
|
19
21
|
readonly edgeInjected: "SFDK_AUTH_EDGE_INJECTED";
|
|
@@ -26,7 +28,7 @@ export declare function baseUrlFromEnv(env: NodeJS.ProcessEnv): {
|
|
|
26
28
|
readonly variable: string;
|
|
27
29
|
} | undefined;
|
|
28
30
|
/** Which tier of the chain supplied the authorization. */
|
|
29
|
-
export type AuthProvider = "env" | "profile" | "edge";
|
|
31
|
+
export type AuthProvider = "env" | "file" | "profile" | "edge";
|
|
30
32
|
/**
|
|
31
33
|
* The conversation the command runs in, or undefined when the variable is absent, empty or whitespace only.
|
|
32
34
|
* The only reader of the variable: auth resolution and `login` both call it.
|
|
@@ -36,6 +38,9 @@ export declare function sessionIdFrom(env: NodeJS.ProcessEnv): string | undefine
|
|
|
36
38
|
* `session` rides along under the PROFILE provider only: `token` is the bearer as of this resolution, and
|
|
37
39
|
* the session is what keeps a bearer valid over time. The env provider's token has nothing to refresh it
|
|
38
40
|
* with and the edge provider holds no credential at all, so for both the field's absence is structural.
|
|
41
|
+
*
|
|
42
|
+
* Under the FILE provider the worker renews the token in place, so `token` reads the file again before each
|
|
43
|
+
* request, and the token names its own organization, so no organization is resolved.
|
|
39
44
|
*/
|
|
40
45
|
export type AuthResolution = {
|
|
41
46
|
readonly provider: "env" | "profile";
|
|
@@ -44,6 +49,11 @@ export type AuthResolution = {
|
|
|
44
49
|
readonly organizationId?: string;
|
|
45
50
|
readonly session?: CredentialSession;
|
|
46
51
|
readonly sessionId?: string;
|
|
52
|
+
} | {
|
|
53
|
+
readonly provider: "file";
|
|
54
|
+
readonly token: () => string;
|
|
55
|
+
readonly baseUrl: string;
|
|
56
|
+
readonly sessionId?: string;
|
|
47
57
|
} | {
|
|
48
58
|
readonly provider: "edge";
|
|
49
59
|
readonly baseUrl: string;
|
package/dist/cli/core/auth.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// Every command resolves credentials through ONE ordered chain, with strict presence-is-selection
|
|
2
2
|
// precedence: `ORCHESTRA_API_TOKEN` (one opaque slot holding ANY principal's bearer — the CLI never looks inside,
|
|
3
|
-
// IAM judges server-side), then the
|
|
4
|
-
//
|
|
5
|
-
//
|
|
3
|
+
// IAM judges server-side), then the agent token file the worker names in `ORCHESTRA_API_TOKEN_FILE` and renews
|
|
4
|
+
// while the agent is placed, then the `orchestra auth login` profile, then the sandbox flag the platform
|
|
5
|
+
// DECLARES and never infers (the request goes out BARE and the egress stamps the per-request agent
|
|
6
|
+
// authorization), then a refusal.
|
|
6
7
|
//
|
|
7
8
|
// The precedence is purely CLIENT-side. Inside a sandbox the egress stamp REPLACES whatever the request
|
|
8
9
|
// carried, so an exported token is sent, then overwritten, and the call executes as the agent.
|
|
@@ -13,6 +14,7 @@
|
|
|
13
14
|
// Resolution is ASYNC because the profile tier renews itself. The renewal lives in
|
|
14
15
|
// `core/credentialSession.ts`: this module decides WHICH credential a command uses, and the session owns
|
|
15
16
|
// what happens to it over time.
|
|
17
|
+
import { readFileSync } from "node:fs";
|
|
16
18
|
import { CredentialSession } from "./credentialSession.js";
|
|
17
19
|
import { DEFAULT_PROFILE_NAME, loadProfile as loadProfileFromDisk, } from "./profile.js";
|
|
18
20
|
/**
|
|
@@ -28,6 +30,8 @@ export const AUTH_ENV = {
|
|
|
28
30
|
/** Read after `baseUrl`: the platform writes this name into every machine. */
|
|
29
31
|
machineBaseUrl: "PLATFORM_BASE_URL",
|
|
30
32
|
token: "ORCHESTRA_API_TOKEN",
|
|
33
|
+
/** Set by the worker on each harness and hook process; the file holds a token it renews. */
|
|
34
|
+
tokenFile: "ORCHESTRA_API_TOKEN_FILE",
|
|
31
35
|
organizationId: "ORCHESTRA_ORGANIZATION_ID",
|
|
32
36
|
/** Presence is the declaration. */
|
|
33
37
|
edgeInjected: "SFDK_AUTH_EDGE_INJECTED",
|
|
@@ -80,6 +84,26 @@ export class MissingBaseUrlError extends Error {
|
|
|
80
84
|
this.name = "MissingBaseUrlError";
|
|
81
85
|
}
|
|
82
86
|
}
|
|
87
|
+
/** The trimmed content, or undefined when the file is missing, unreadable, empty or whitespace only. */
|
|
88
|
+
function tokenFromFile(path) {
|
|
89
|
+
let content;
|
|
90
|
+
try {
|
|
91
|
+
content = readFileSync(path, "utf8");
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
const token = content.trim();
|
|
97
|
+
return token === "" ? undefined : token;
|
|
98
|
+
}
|
|
99
|
+
/** A failed read mid-command keeps the last token read rather than sending the request bare. */
|
|
100
|
+
function fileTokenReader(path, first) {
|
|
101
|
+
let last = first;
|
|
102
|
+
return () => {
|
|
103
|
+
last = tokenFromFile(path) ?? last;
|
|
104
|
+
return last;
|
|
105
|
+
};
|
|
106
|
+
}
|
|
83
107
|
/** Loopback hosts reachable over plain HTTP — the local dev-stack contract. */
|
|
84
108
|
const LOOPBACK_HOSTS = new Set(["127.0.0.1", "localhost", "::1"]);
|
|
85
109
|
/**
|
|
@@ -132,12 +156,18 @@ export async function resolveAuthWithWarnings(env, flags, deps = {}) {
|
|
|
132
156
|
const profile = (deps.loadProfile ?? loadProfileFromDisk)(flags.profile);
|
|
133
157
|
const baseUrl = firstPresent(flags.baseUrl, baseUrlFromEnv(env)?.value, profile?.baseUrl);
|
|
134
158
|
const envToken = firstPresent(env[AUTH_ENV.token]);
|
|
159
|
+
const tokenFilePath = firstPresent(env[AUTH_ENV.tokenFile]);
|
|
160
|
+
const fileToken = envToken === undefined && tokenFilePath !== undefined ? tokenFromFile(tokenFilePath) : undefined;
|
|
135
161
|
const profileToken = firstPresent(profile?.token);
|
|
136
162
|
const edgeDeclared = firstPresent(env[AUTH_ENV.edgeInjected]) !== undefined;
|
|
137
163
|
// Read before the provider split: a person may export it by hand under any provider.
|
|
138
164
|
const sessionId = sessionIdFrom(env);
|
|
139
165
|
const withSessionId = sessionId !== undefined ? { sessionId } : {};
|
|
140
|
-
if (envToken === undefined && profileToken === undefined && !edgeDeclared) {
|
|
166
|
+
if (envToken === undefined && fileToken === undefined && profileToken === undefined && !edgeDeclared) {
|
|
167
|
+
if (tokenFilePath !== undefined) {
|
|
168
|
+
throw new MissingCredentialsError(`no auth provider resolved: ${AUTH_ENV.tokenFile} names ${tokenFilePath}, which the worker has not ` +
|
|
169
|
+
`written yet. The worker writes it once the agent is placed on this machine; try again shortly.`);
|
|
170
|
+
}
|
|
141
171
|
throw new MissingCredentialsError(`no auth provider resolved: export ${AUTH_ENV.token}, run \`orchestra auth login\`, or run inside a host ` +
|
|
142
172
|
`where the platform declares ${AUTH_ENV.edgeInjected}.`);
|
|
143
173
|
}
|
|
@@ -146,6 +176,17 @@ export async function resolveAuthWithWarnings(env, flags, deps = {}) {
|
|
|
146
176
|
}
|
|
147
177
|
// Refuse before ANY network access, for every provider — the bare edge send included.
|
|
148
178
|
assertSecretTransport(baseUrl);
|
|
179
|
+
if (fileToken !== undefined && tokenFilePath !== undefined) {
|
|
180
|
+
return {
|
|
181
|
+
auth: {
|
|
182
|
+
provider: "file",
|
|
183
|
+
token: fileTokenReader(tokenFilePath, fileToken),
|
|
184
|
+
baseUrl,
|
|
185
|
+
...withSessionId,
|
|
186
|
+
},
|
|
187
|
+
warnings: [],
|
|
188
|
+
};
|
|
189
|
+
}
|
|
149
190
|
if (envToken === undefined && profileToken === undefined) {
|
|
150
191
|
// The egress stamps the authorization and the stamped identity carries the org.
|
|
151
192
|
return { auth: { provider: "edge", baseUrl, ...withSessionId }, warnings: [] };
|
|
@@ -223,6 +264,9 @@ export function platformTargetFrom(auth) {
|
|
|
223
264
|
if (auth.provider === "edge") {
|
|
224
265
|
return { baseUrl: auth.baseUrl, ...sessionId };
|
|
225
266
|
}
|
|
267
|
+
if (auth.provider === "file") {
|
|
268
|
+
return { baseUrl: auth.baseUrl, token: auth.token, ...sessionId };
|
|
269
|
+
}
|
|
226
270
|
return {
|
|
227
271
|
baseUrl: auth.baseUrl,
|
|
228
272
|
token: auth.token,
|
package/dist/cli/core/errors.js
CHANGED
|
@@ -182,6 +182,10 @@ function guidance(status, api, ctx) {
|
|
|
182
182
|
case "env":
|
|
183
183
|
return (`The token in ${AUTH_ENV.token} is not accepted. Renew that token and re-export ` +
|
|
184
184
|
`${AUTH_ENV.token}; a stored login profile is not what this command used.`);
|
|
185
|
+
case "file":
|
|
186
|
+
return (`The agent token in the file ${AUTH_ENV.tokenFile} names is not accepted. The worker renews that ` +
|
|
187
|
+
`file, so there is nothing to renew here: the token expired before the worker renewed it, or the ` +
|
|
188
|
+
`agent's placement on this machine, the machine's state or the agent's status refused it.`);
|
|
185
189
|
case "edge":
|
|
186
190
|
return (`Authorization is stamped at the egress edge (${AUTH_ENV.edgeInjected} is declared), so there is ` +
|
|
187
191
|
`no credential here to renew — the stamping path itself failed. Check the egress/identity plane.`);
|
|
@@ -50,7 +50,8 @@ export declare function withRefreshRetry(fetchApi: FetchAPI, session: Credential
|
|
|
50
50
|
*/
|
|
51
51
|
export interface PlatformTarget {
|
|
52
52
|
readonly baseUrl: string;
|
|
53
|
-
|
|
53
|
+
/** The bearer, or under the file provider a reader of the worker's renewed token, called before each request. */
|
|
54
|
+
readonly token?: string | (() => string);
|
|
54
55
|
readonly organizationId?: string;
|
|
55
56
|
/**
|
|
56
57
|
* `token` above is the bearer as of auth resolution; the session is what keeps a bearer valid, and every
|
|
@@ -73,7 +74,7 @@ export declare function createPlatformApis(target: PlatformTarget, fetchApi: Fet
|
|
|
73
74
|
export interface RawPlatformRequest {
|
|
74
75
|
baseUrl: string;
|
|
75
76
|
/** Absent for the bare edge send, exactly as for a typed command. */
|
|
76
|
-
token?: string;
|
|
77
|
+
token?: string | (() => string);
|
|
77
78
|
organizationId?: string;
|
|
78
79
|
/** The live credentials behind `token`, when the resolution carried one. */
|
|
79
80
|
session?: CredentialSession;
|
|
@@ -15,9 +15,9 @@ export interface Profile {
|
|
|
15
15
|
/**
|
|
16
16
|
* The remaining three are the first-run interview's answers, kept beside the credential because they are
|
|
17
17
|
* answers about this machine that nothing should ask twice. Absent means the question was never answered;
|
|
18
|
-
* an absent `
|
|
18
|
+
* an absent `teamId` in particular is an answer of its own: Shared.
|
|
19
19
|
*/
|
|
20
|
-
|
|
20
|
+
teamId?: string;
|
|
21
21
|
role?: string;
|
|
22
22
|
harnesses?: string[];
|
|
23
23
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { PlanImport, PlanResource, SynthResult } from "../../core/plan.js";
|
|
2
|
-
import { type
|
|
2
|
+
import { type TeamResolver } from "../../engine/apply-core.js";
|
|
3
3
|
import type { PlatformApis } from "../../engine/client.js";
|
|
4
4
|
import { type DiffEntry, type DiffReadCache } from "../../engine/diff.js";
|
|
5
5
|
import { type makeTriggersApi, type TriggerAction, type TriggerReconcileOutcome } from "../../engine/trigger-reconcile.js";
|
|
6
6
|
import { type WorkflowAction, type WorkflowReconcileOutcome } from "../../engine/workflow-reconcile.js";
|
|
7
7
|
import { type ImageBuildSpec } from "./docker.js";
|
|
8
|
+
import { type HostedImages } from "./image-upload.js";
|
|
8
9
|
/**
|
|
9
10
|
* Taken off the module-level factory rather than restated: the preview needs the RAW adapter, because the
|
|
10
11
|
* generated typed converter truncates the free-form `where`/`binding` subtrees, and a restated signature
|
|
@@ -38,9 +39,21 @@ export interface ApplyPreview {
|
|
|
38
39
|
blockedImports: BlockedImport[];
|
|
39
40
|
/** The image builds this run would perform (empty under `--no-docker-build`). */
|
|
40
41
|
pendingImageBuilds: ImageBuildSpec[];
|
|
42
|
+
/**
|
|
43
|
+
* The builds among {@link pendingImageBuilds} that upload to the platform rather than push, each with the
|
|
44
|
+
* digest of its newest `READY` image. The new digest exists only after the build, so it is not shown.
|
|
45
|
+
*/
|
|
46
|
+
hostedUploads?: HostedUpload[];
|
|
41
47
|
/** True iff anything non-no-op and non-blocked would happen, or an image would be built. */
|
|
42
48
|
firing: boolean;
|
|
43
49
|
}
|
|
50
|
+
export interface HostedUpload {
|
|
51
|
+
tag: string;
|
|
52
|
+
name: string;
|
|
53
|
+
dockerfile: string;
|
|
54
|
+
/** Absent when the platform holds no `READY` image of this name yet. */
|
|
55
|
+
readyDigest?: string;
|
|
56
|
+
}
|
|
44
57
|
/** What the workflow + trigger previews need — the half `orchestra fdk diff` shares with apply's pre-flight. */
|
|
45
58
|
export interface PreviewCompositionOptions {
|
|
46
59
|
/**
|
|
@@ -48,11 +61,14 @@ export interface PreviewCompositionOptions {
|
|
|
48
61
|
* inputs rather than one of them reading `process.env` behind the other's back.
|
|
49
62
|
*/
|
|
50
63
|
env: Record<string, string | undefined>;
|
|
51
|
-
/**
|
|
52
|
-
|
|
64
|
+
/**
|
|
65
|
+
* Each row's team, resolved over one set of team reads the caller shares with its other preview passes;
|
|
66
|
+
* absent, the preview builds its own.
|
|
67
|
+
*/
|
|
68
|
+
teams?: TeamResolver;
|
|
53
69
|
makeTriggersApi: MakeTriggersApi;
|
|
54
70
|
/**
|
|
55
|
-
* Supplying the SAME cache the plan-resource pass uses is what stops the managed agent and
|
|
71
|
+
* Supplying the SAME cache the plan-resource pass uses is what stops the managed agent and team rows
|
|
56
72
|
* being GET twice per command.
|
|
57
73
|
*/
|
|
58
74
|
reads: DiffReadCache;
|
|
@@ -63,6 +79,8 @@ export interface ApplyPreviewOptions extends Omit<PreviewCompositionOptions, "re
|
|
|
63
79
|
dockerBuild: boolean;
|
|
64
80
|
/** Optional: apply's pre-flight passes none and gets a fresh per-run memo (see {@link DiffReadCache}). */
|
|
65
81
|
reads?: DiffReadCache;
|
|
82
|
+
/** Absent when the plan declares no hosted image; apply reads it once and shares it with the build phase. */
|
|
83
|
+
hostedImages?: HostedImages;
|
|
66
84
|
}
|
|
67
85
|
/**
|
|
68
86
|
* Reads only — no POST, no PATCH, no docker. Unresolvable reachable imports short-circuit everything else:
|
|
@@ -96,8 +114,7 @@ export declare function isFiringAction(outcome: {
|
|
|
96
114
|
* Two lanes, because a reference reaches this pass two ways. The VERBATIM connection slots are walked
|
|
97
115
|
* unconditionally — they name a connection directly, so whether the plan registers an import for that slug
|
|
98
116
|
* is beside the point, and the bare spelling registers none. Everything else is demand-driven from
|
|
99
|
-
* `plan.imports`, mirroring apply's own lazy resolution, with the build-carrying image
|
|
100
|
-
* project as inherent roots. The exemption that falls out is the one wanted: a handle the author registered
|
|
117
|
+
* `plan.imports`, mirroring apply's own lazy resolution, with the build-carrying image as an inherent root. The exemption that falls out is the one wanted: a handle the author registered
|
|
101
118
|
* and then referenced from nothing must not abort a valid apply.
|
|
102
119
|
*/
|
|
103
120
|
export declare function blockedImportsOf(synth: SynthResult, apis: PlatformApis, env: Record<string, string | undefined>): Promise<BlockedImport[]>;
|
|
@@ -33,19 +33,22 @@ import { gatewayKeyRefOf } from "../../core/gateway-key-recipe.js";
|
|
|
33
33
|
import { refToken } from "../../core/tokens.js";
|
|
34
34
|
import { getBySlugOrUndefined } from "../../engine/apply-core.js";
|
|
35
35
|
import { connectionIdResolver, connectionSlots, managedConnectionTokens, unmanagedConnectionSlotRefs, } from "../../engine/connection-slots.js";
|
|
36
|
-
import { createDiffReadCache, diffResources } from "../../engine/diff.js";
|
|
36
|
+
import { createDiffReadCache, diffResources, previewTeamResolver, } from "../../engine/diff.js";
|
|
37
37
|
import { PreflightRefusalError, resolveSecretRef } from "../../engine/preflight.js";
|
|
38
38
|
import { ConnectionResolutionContext, resolveReferenceId } from "../../engine/reconcile.js";
|
|
39
39
|
import { declaredPipelinesOf } from "../../engine/pipeline-reconcile.js";
|
|
40
40
|
import { pipelineResolver, reconcileTriggers, } from "../../engine/trigger-reconcile.js";
|
|
41
41
|
import { reconcileWorkflows, workflowResolvers, } from "../../engine/workflow-reconcile.js";
|
|
42
42
|
import { imageBuildSpecs } from "./docker.js";
|
|
43
|
+
import { hostedImageName } from "../../constructs/references.js";
|
|
44
|
+
import { hostedSpecs } from "./image-upload.js";
|
|
43
45
|
/**
|
|
44
46
|
* Reads only — no POST, no PATCH, no docker. Unresolvable reachable imports short-circuit everything else:
|
|
45
47
|
* apply aborts on them, so spending the three preview phases' reads first would be discarded work.
|
|
46
48
|
*/
|
|
47
49
|
export async function buildApplyPreview(synth, apis, opts) {
|
|
48
50
|
const pendingImageBuilds = opts.dockerBuild ? imageBuildSpecs(synth.plan) : [];
|
|
51
|
+
const hostedUploads = hostedUploadsOf(pendingImageBuilds, opts.hostedImages);
|
|
49
52
|
const blockedImports = await blockedImportsOf(synth, apis, opts.env);
|
|
50
53
|
if (blockedImports.length > 0) {
|
|
51
54
|
return {
|
|
@@ -57,17 +60,19 @@ export async function buildApplyPreview(synth, apis, opts) {
|
|
|
57
60
|
firingTriggers: [],
|
|
58
61
|
blockedImports,
|
|
59
62
|
pendingImageBuilds,
|
|
63
|
+
...hostedUploads,
|
|
60
64
|
firing: false,
|
|
61
65
|
};
|
|
62
66
|
}
|
|
63
67
|
const reads = opts.reads ?? createDiffReadCache(apis);
|
|
68
|
+
const teams = opts.teams ?? (await previewTeamResolver(synth.plan, apis));
|
|
64
69
|
const rows = await diffResources(synth.plan, apis, {
|
|
65
70
|
env: opts.env,
|
|
66
|
-
|
|
71
|
+
teams,
|
|
67
72
|
reads,
|
|
68
73
|
triggers: synth.triggers ?? [],
|
|
69
74
|
});
|
|
70
|
-
const { workflowActions, triggerActions } = await composePreviews(synth, apis, { ...opts, reads });
|
|
75
|
+
const { workflowActions, triggerActions } = await composePreviews(synth, apis, { ...opts, reads, teams });
|
|
71
76
|
const blockedOwners = await blockedReferenceOwnersOf(synth, blockedImports, rows);
|
|
72
77
|
const blockedResourceKeys = new Set([...blockedOwners.resources].map((owner) => `${owner.kind}\u0000${owner.slug}`));
|
|
73
78
|
const firingRows = rows.filter((row) => isFiringRow(row) && !blockedResourceKeys.has(`${row.kind}\u0000${row.slug}`));
|
|
@@ -82,9 +87,26 @@ export async function buildApplyPreview(synth, apis, opts) {
|
|
|
82
87
|
firingTriggers,
|
|
83
88
|
blockedImports,
|
|
84
89
|
pendingImageBuilds,
|
|
90
|
+
...hostedUploads,
|
|
85
91
|
firing: firingRows.length + firingWorkflows.length + firingTriggers.length + pendingImageBuilds.length > 0,
|
|
86
92
|
};
|
|
87
93
|
}
|
|
94
|
+
function hostedUploadsOf(builds, hosted) {
|
|
95
|
+
if (hosted === undefined || !hosted.available)
|
|
96
|
+
return {};
|
|
97
|
+
return {
|
|
98
|
+
hostedUploads: hostedSpecs(builds).map((spec) => {
|
|
99
|
+
const name = hostedImageName(spec.ref);
|
|
100
|
+
const ready = hosted.newestReady.get(name);
|
|
101
|
+
return {
|
|
102
|
+
tag: spec.ref,
|
|
103
|
+
name,
|
|
104
|
+
dockerfile: spec.dockerfile,
|
|
105
|
+
...(ready !== undefined ? { readyDigest: ready.digest } : {}),
|
|
106
|
+
};
|
|
107
|
+
}),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
88
110
|
/**
|
|
89
111
|
* Composed once for BOTH commands, which are contractually required to agree: the pre-flight's whole claim
|
|
90
112
|
* is that it shows what `orchestra fdk diff` shows, and two copies of a preview is two answers to that question
|
|
@@ -92,9 +114,10 @@ export async function buildApplyPreview(synth, apis, opts) {
|
|
|
92
114
|
*/
|
|
93
115
|
export async function composePreviews(synth, apis, opts) {
|
|
94
116
|
const liveRefs = await liveRefMap(synth, opts.reads);
|
|
117
|
+
const teams = opts.teams ?? (await previewTeamResolver(synth.plan, apis));
|
|
95
118
|
return {
|
|
96
119
|
workflowActions: await previewWorkflows(synth, apis, opts, liveRefs),
|
|
97
|
-
triggerActions: await previewTriggers(synth, apis, opts, liveRefs),
|
|
120
|
+
triggerActions: await previewTriggers(synth, apis, { ...opts, teams }, liveRefs),
|
|
98
121
|
};
|
|
99
122
|
}
|
|
100
123
|
/** An EXECUTABLE pending write: not a no-op, and not something reconcile refuses. */
|
|
@@ -136,10 +159,17 @@ async function previewTriggers(synth, apis, opts, liveRefs) {
|
|
|
136
159
|
const api = opts.makeTriggersApi(apis.target);
|
|
137
160
|
// Preview-local, like the pre-flight's own: a handoff a preview collects is never printed.
|
|
138
161
|
const connections = new ConnectionResolutionContext(apis, synth.plan.imports, liveRefs, opts.env);
|
|
139
|
-
return reconcileTriggers(api, docs, async (ref) => resolveReferenceId(ref, "agent", liveRefs, apis),
|
|
162
|
+
return reconcileTriggers(api, docs, async (ref) => resolveReferenceId(ref, "agent", liveRefs, apis), async (raw, live) => {
|
|
163
|
+
const teams = opts.teams;
|
|
164
|
+
if (teams === undefined)
|
|
165
|
+
return undefined;
|
|
166
|
+
const surface = { kind: "team", slug: raw ?? "shared", op: "get" };
|
|
167
|
+
return teams
|
|
168
|
+
.desired(raw, surface, [])
|
|
169
|
+
.then((team) => teams.judged(team, live, surface, []))
|
|
170
|
+
.catch(() => undefined);
|
|
171
|
+
}, [], {
|
|
140
172
|
dryRun: true,
|
|
141
|
-
projectPending: opts.project.state === "pending-managed",
|
|
142
|
-
projectRef: managedProjectSlug(synth.plan),
|
|
143
173
|
resolveConnectionId: connectionIdResolver(managedConnectionTokens(synth.plan), connections),
|
|
144
174
|
resolvePipeline: pipelineResolver(apis, declaredPipelinesOf(synth.plan.resources)),
|
|
145
175
|
});
|
|
@@ -156,8 +186,8 @@ async function liveRefMap(synth, reads) {
|
|
|
156
186
|
return applied;
|
|
157
187
|
}
|
|
158
188
|
for (const resource of synth.plan.resources) {
|
|
159
|
-
if (resource.kind !== "agent" && resource.kind !== "
|
|
160
|
-
continue; // only agent,
|
|
189
|
+
if (resource.kind !== "agent" && resource.kind !== "team" && resource.kind !== "connection") {
|
|
190
|
+
continue; // only agent, team and connection refs flow through the `applied` map in the previews
|
|
161
191
|
}
|
|
162
192
|
const live = await reads.read(resource.kind, resource.slug);
|
|
163
193
|
if (live !== undefined) {
|
|
@@ -166,10 +196,6 @@ async function liveRefMap(synth, reads) {
|
|
|
166
196
|
}
|
|
167
197
|
return applied;
|
|
168
198
|
}
|
|
169
|
-
/** By its PLAN SLUG — the one canonical public name of a pending project. */
|
|
170
|
-
function managedProjectSlug(plan) {
|
|
171
|
-
return plan.resources.find((resource) => resource.kind === "project")?.slug;
|
|
172
|
-
}
|
|
173
199
|
/**
|
|
174
200
|
* Shared by BOTH commands, which are contractually required to agree; they differ only in what they DO with
|
|
175
201
|
* the answer. The resolver is created per call and dropped with it, so a diff run contributes no
|
|
@@ -178,8 +204,7 @@ function managedProjectSlug(plan) {
|
|
|
178
204
|
* Two lanes, because a reference reaches this pass two ways. The VERBATIM connection slots are walked
|
|
179
205
|
* unconditionally — they name a connection directly, so whether the plan registers an import for that slug
|
|
180
206
|
* is beside the point, and the bare spelling registers none. Everything else is demand-driven from
|
|
181
|
-
* `plan.imports`, mirroring apply's own lazy resolution, with the build-carrying image
|
|
182
|
-
* project as inherent roots. The exemption that falls out is the one wanted: a handle the author registered
|
|
207
|
+
* `plan.imports`, mirroring apply's own lazy resolution, with the build-carrying image as an inherent root. The exemption that falls out is the one wanted: a handle the author registered
|
|
183
208
|
* and then referenced from nothing must not abort a valid apply.
|
|
184
209
|
*/
|
|
185
210
|
export async function blockedImportsOf(synth, apis, env) {
|
|
@@ -189,7 +214,6 @@ export async function blockedImportsOf(synth, apis, env) {
|
|
|
189
214
|
return [];
|
|
190
215
|
}
|
|
191
216
|
const referenced = referencedRefs(synth);
|
|
192
|
-
const managesProject = synth.plan.resources.some((resource) => resource.kind === "project");
|
|
193
217
|
// ONE resolver for the whole pass, so a connection several slots reference is READ once. A preview is a
|
|
194
218
|
// snapshot, so the memo lives exactly as long as the pass and never answers a later question. It is
|
|
195
219
|
// preview-LOCAL rather than shared with apply's own resolver, which reads at its own time.
|
|
@@ -211,7 +235,6 @@ export async function blockedImportsOf(synth, apis, env) {
|
|
|
211
235
|
const resolvedSlots = new Set(slotRefs);
|
|
212
236
|
for (const imported of synth.plan.imports) {
|
|
213
237
|
const reachable = imported.build !== undefined ||
|
|
214
|
-
(imported.kind === "project" && !managesProject) ||
|
|
215
238
|
names(referenced, imported.kind, imported.ref);
|
|
216
239
|
if (!reachable) {
|
|
217
240
|
continue;
|
|
@@ -326,8 +349,10 @@ export function messageOf(error) {
|
|
|
326
349
|
*/
|
|
327
350
|
function readImport(apis, kind, ref) {
|
|
328
351
|
switch (kind) {
|
|
329
|
-
case "
|
|
330
|
-
return () => apis.
|
|
352
|
+
case "team":
|
|
353
|
+
return () => apis.teams.getTeam({ id: ref });
|
|
354
|
+
case "policy":
|
|
355
|
+
return () => apis.policies.getPolicy({ id: ref });
|
|
331
356
|
case "environment":
|
|
332
357
|
return () => apis.environments.getEnvironment({ id: ref });
|
|
333
358
|
case "agent":
|
|
@@ -428,9 +453,6 @@ function asArray(value) {
|
|
|
428
453
|
*/
|
|
429
454
|
function referencedRefs(synth) {
|
|
430
455
|
const index = { refs: new Map(), owners: new Map(), compositionAnchors: new Map() };
|
|
431
|
-
const implicitTriggerProjectRef = synth.plan.resources.some((resource) => resource.kind === "project")
|
|
432
|
-
? undefined
|
|
433
|
-
: synth.plan.imports.find((imported) => imported.kind === "project")?.ref;
|
|
434
456
|
const managedResources = new Map(synth.plan.resources.map((resource) => [refToken(resource.kind, resource.path.split("/")), resource]));
|
|
435
457
|
for (const resource of synth.plan.resources) {
|
|
436
458
|
if (resource.kind === "workflow")
|
|
@@ -452,7 +474,7 @@ function referencedRefs(synth) {
|
|
|
452
474
|
collectWorkflowRefs(resource.payload, index, { type: "workflow", slug: resource.slug });
|
|
453
475
|
}
|
|
454
476
|
for (const doc of synth.triggers ?? []) {
|
|
455
|
-
collectTriggerRefs(doc, index, { type: "trigger", slug: doc.slug }
|
|
477
|
+
collectTriggerRefs(doc, index, { type: "trigger", slug: doc.slug });
|
|
456
478
|
}
|
|
457
479
|
return index;
|
|
458
480
|
}
|
|
@@ -577,12 +599,12 @@ function collectResourceRefs(resource, index, owner) {
|
|
|
577
599
|
if (payload === undefined) {
|
|
578
600
|
return;
|
|
579
601
|
}
|
|
580
|
-
// Every
|
|
581
|
-
addRef(index, "
|
|
602
|
+
// Every team-able kind may name its team; a row in Shared names none.
|
|
603
|
+
addRef(index, "team", payload.teamId, owner);
|
|
582
604
|
switch (resource.kind) {
|
|
583
605
|
case "environment": {
|
|
584
|
-
// The image, its pull credential and the mounts live inside `provisionSpec`; the egress
|
|
585
|
-
//
|
|
606
|
+
// The image, its pull credential and the mounts live inside `provisionSpec`; the egress rules name no
|
|
607
|
+
// other resource.
|
|
586
608
|
const launchSpec = asRecord(payload.provisionSpec);
|
|
587
609
|
addRef(index, "image", launchSpec?.image, owner);
|
|
588
610
|
addRef(index, "secret", launchSpec?.imagePullSecretId, owner);
|
|
@@ -592,13 +614,6 @@ function collectResourceRefs(resource, index, owner) {
|
|
|
592
614
|
for (const mount of asArray(launchSpec?.volumeMounts)) {
|
|
593
615
|
addRef(index, "volume", asRecord(mount)?.volumeId, owner);
|
|
594
616
|
}
|
|
595
|
-
for (const rule of asArray(asRecord(payload.egressPolicy)?.rules)) {
|
|
596
|
-
for (const binding of asArray(asRecord(rule)?.credentialBindings)) {
|
|
597
|
-
// Exactly one of the two per binding, so recording both records whichever is set.
|
|
598
|
-
addRef(index, "secret", asRecord(binding)?.secretId, owner);
|
|
599
|
-
addRef(index, "connection", asRecord(binding)?.connectionId, owner);
|
|
600
|
-
}
|
|
601
|
-
}
|
|
602
617
|
return;
|
|
603
618
|
}
|
|
604
619
|
case "connection": {
|
|
@@ -632,9 +647,25 @@ function collectResourceRefs(resource, index, owner) {
|
|
|
632
647
|
}
|
|
633
648
|
return;
|
|
634
649
|
}
|
|
650
|
+
case "team": {
|
|
651
|
+
addRef(index, "team", payload.parentTeamId, owner);
|
|
652
|
+
return;
|
|
653
|
+
}
|
|
654
|
+
case "role": {
|
|
655
|
+
for (const policyId of asArray(payload.policyIds)) {
|
|
656
|
+
addRef(index, "policy", policyId, owner);
|
|
657
|
+
}
|
|
658
|
+
return;
|
|
659
|
+
}
|
|
660
|
+
case "team-membership": {
|
|
661
|
+
for (const row of asArray(payload.rows)) {
|
|
662
|
+
addRef(index, "team", asRecord(row)?.teamId, owner);
|
|
663
|
+
}
|
|
664
|
+
return;
|
|
665
|
+
}
|
|
635
666
|
default:
|
|
636
|
-
// These kinds carry no payload reference beyond the
|
|
637
|
-
//
|
|
667
|
+
// These kinds carry no payload reference beyond the team above; the gateway-key pair's reverse
|
|
668
|
+
// ownership-only edge is added by the caller.
|
|
638
669
|
return;
|
|
639
670
|
}
|
|
640
671
|
}
|
|
@@ -654,16 +685,12 @@ function collectWorkflowRefs(workflow, index, owner) {
|
|
|
654
685
|
}
|
|
655
686
|
}
|
|
656
687
|
}
|
|
657
|
-
/**
|
|
658
|
-
|
|
659
|
-
* stamps it on every trigger though the document has no project field — and not a composition anchor, because
|
|
660
|
-
* the preview receives the descriptor out of band rather than re-resolving this import.
|
|
661
|
-
*/
|
|
662
|
-
function collectTriggerRefs(doc, index, owner, implicitProjectRef) {
|
|
688
|
+
/** `on.connection` is a verbatim slot resolved elsewhere. */
|
|
689
|
+
function collectTriggerRefs(doc, index, owner) {
|
|
663
690
|
const trigger = asRecord(doc);
|
|
664
691
|
if (trigger === undefined) {
|
|
665
692
|
return;
|
|
666
693
|
}
|
|
667
|
-
addRef(index, "
|
|
694
|
+
addRef(index, "team", trigger.teamId, owner);
|
|
668
695
|
addRef(index, "agent", asRecord(trigger.target)?.agent, owner, true);
|
|
669
696
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
// terminal.
|
|
10
10
|
import { describeSource, preApprovalLevers, REQUIRE_APPROVAL_ENV, typedAtTerminalRemedy, } from "../core/approval-policy.js";
|
|
11
11
|
import { NOTHING_WAS_WRITTEN } from "../core/prompts.js";
|
|
12
|
-
import {
|
|
12
|
+
import { describeTeamIdentityRefusal } from "../../engine/apply-core.js";
|
|
13
13
|
import { containsCommandLineRecipe, pendingCredentialWrite } from "../../engine/secrets-apply.js";
|
|
14
14
|
import { describeTargetOrganization, } from "../../engine/reconcile.js";
|
|
15
15
|
import { isFiringRow } from "./apply-preview.js";
|
|
@@ -37,8 +37,16 @@ export function renderApplyPreview(preview, io) {
|
|
|
37
37
|
for (const outcome of preview.firingTriggers) {
|
|
38
38
|
io.out(` ${outcome.action.padEnd(19)} trigger ${outcome.slug}`);
|
|
39
39
|
}
|
|
40
|
+
const uploads = new Map((preview.hostedUploads ?? []).map((upload) => [upload.tag, upload]));
|
|
40
41
|
for (const spec of preview.pendingImageBuilds) {
|
|
41
|
-
|
|
42
|
+
const upload = uploads.get(spec.ref);
|
|
43
|
+
if (upload === undefined) {
|
|
44
|
+
io.out(` ${"image build".padEnd(19)} ${spec.ref} (${spec.dockerfile})`);
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
const now = upload.readyDigest !== undefined ? `newest READY ${upload.readyDigest}` : "no READY image of this name yet";
|
|
48
|
+
io.out(` ${"image upload".padEnd(19)} ${upload.name} from ${upload.tag} (${upload.dockerfile}); ${now}; ` +
|
|
49
|
+
`the new digest is known only after the build`);
|
|
42
50
|
}
|
|
43
51
|
for (const line of renderSensitiveRows(preview.rows, "will")) {
|
|
44
52
|
io.out(line);
|
|
@@ -61,7 +69,7 @@ export function renderApplyPreview(preview, io) {
|
|
|
61
69
|
}
|
|
62
70
|
}
|
|
63
71
|
/**
|
|
64
|
-
* A
|
|
72
|
+
* A team-identity row goes through the shared formatter, and every other blocked row keeps its `details`
|
|
65
73
|
* — the classifier's own value-free note, which is the difference between "will fail — unset-source" and a
|
|
66
74
|
* sentence that says which variable to export. The surface standing in front of the write must not say less
|
|
67
75
|
* than the read-only preview.
|
|
@@ -69,7 +77,7 @@ export function renderApplyPreview(preview, io) {
|
|
|
69
77
|
function blockedRowText(entry) {
|
|
70
78
|
if (entry.refusal !== undefined) {
|
|
71
79
|
// The same call the error and `renderDiff` make, so all three word one conflict exactly one way.
|
|
72
|
-
return `will fail — ${
|
|
80
|
+
return `will fail — ${describeTeamIdentityRefusal(entry.refusal)}`;
|
|
73
81
|
}
|
|
74
82
|
return `will fail — ${entry.blocked}: ${entry.kind} ${entry.slug}${detailsOf(entry)}`;
|
|
75
83
|
}
|