@mastra/factory 0.21.1-alpha.3 → 0.22.0-alpha.4
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/dist/capabilities/version-control.d.ts +13 -8
- package/dist/capabilities/version-control.d.ts.map +1 -1
- package/dist/environment/build-runner.d.ts +72 -0
- package/dist/environment/build-runner.d.ts.map +1 -0
- package/dist/environment/build-runner.js +131 -0
- package/dist/environment/build-runner.js.map +1 -0
- package/dist/environment/build-schedule.d.ts +40 -0
- package/dist/environment/build-schedule.d.ts.map +1 -0
- package/dist/environment/build-schedule.js +94 -0
- package/dist/environment/build-schedule.js.map +1 -0
- package/dist/environment/build-workflow.d.ts +62 -0
- package/dist/environment/build-workflow.d.ts.map +1 -0
- package/dist/environment/build-workflow.js +149 -0
- package/dist/environment/build-workflow.js.map +1 -0
- package/dist/environment/build.d.ts +111 -0
- package/dist/environment/build.d.ts.map +1 -0
- package/dist/environment/build.js +344 -0
- package/dist/environment/build.js.map +1 -0
- package/dist/environment/heads.d.ts +36 -0
- package/dist/environment/heads.d.ts.map +1 -0
- package/dist/environment/heads.js +60 -0
- package/dist/environment/heads.js.map +1 -0
- package/dist/factory.d.ts +18 -4
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +89 -15
- package/dist/factory.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/integrations/base.d.ts +17 -2
- package/dist/integrations/base.d.ts.map +1 -1
- package/dist/integrations/github/commits.d.ts +11 -0
- package/dist/integrations/github/commits.d.ts.map +1 -1
- package/dist/integrations/github/commits.js +20 -1
- package/dist/integrations/github/commits.js.map +1 -1
- package/dist/integrations/github/config.d.ts +3 -3
- package/dist/integrations/github/config.d.ts.map +1 -1
- package/dist/integrations/github/config.js +1 -1
- package/dist/integrations/github/config.js.map +1 -1
- package/dist/integrations/github/routes.d.ts +2 -2
- package/dist/integrations/github/routes.d.ts.map +1 -1
- package/dist/integrations/github/routes.js +6 -5
- package/dist/integrations/github/routes.js.map +1 -1
- package/dist/integrations/github/rules.d.ts +3 -1
- package/dist/integrations/github/rules.d.ts.map +1 -1
- package/dist/integrations/github/rules.js +31 -1
- package/dist/integrations/github/rules.js.map +1 -1
- package/dist/integrations/github/sandbox.d.ts +35 -0
- package/dist/integrations/github/sandbox.d.ts.map +1 -1
- package/dist/integrations/github/sandbox.js +203 -2
- package/dist/integrations/github/sandbox.js.map +1 -1
- package/dist/integrations/github/session-subscriptions.d.ts.map +1 -1
- package/dist/integrations/github/session-subscriptions.js +117 -62
- package/dist/integrations/github/session-subscriptions.js.map +1 -1
- package/dist/integrations/github/token-refresh.d.ts +7 -0
- package/dist/integrations/github/token-refresh.d.ts.map +1 -1
- package/dist/integrations/github/token-refresh.js.map +1 -1
- package/dist/integrations/github/webhook.js.map +1 -1
- package/dist/integrations/gitlab/agent-tools.js +1 -1
- package/dist/integrations/gitlab/routes.d.ts +2 -2
- package/dist/integrations/gitlab/routes.d.ts.map +1 -1
- package/dist/integrations/gitlab/routes.js.map +1 -1
- package/dist/integrations/gitlab/session-subscriptions.d.ts.map +1 -1
- package/dist/integrations/gitlab/session-subscriptions.js +8 -7
- package/dist/integrations/gitlab/session-subscriptions.js.map +1 -1
- package/dist/integrations/incidentio/agent-tools.js +1 -1
- package/dist/integrations/jira/agent-tools.js +1 -1
- package/dist/integrations/linear/agent-tools.js +1 -1
- package/dist/integrations/platform/github/integration.d.ts.map +1 -1
- package/dist/integrations/platform/github/integration.js +46 -2
- package/dist/integrations/platform/github/integration.js.map +1 -1
- package/dist/integrations/platform/jira/agent-tools.js +1 -1
- package/dist/integrations/slack/slack.d.ts.map +1 -1
- package/dist/integrations/slack/slack.js +15 -16
- package/dist/integrations/slack/slack.js.map +1 -1
- package/dist/integrations/subscription-session.js +1 -1
- package/dist/packages/_internals/workspace/dist/index.js +21 -1
- package/dist/packages/_internals/workspace/dist/index.js.map +1 -1
- package/dist/routes/contracts.d.ts +386 -2
- package/dist/routes/contracts.d.ts.map +1 -1
- package/dist/routes/contracts.js +166 -1
- package/dist/routes/contracts.js.map +1 -1
- package/dist/routes/fs.d.ts +25 -0
- package/dist/routes/fs.d.ts.map +1 -1
- package/dist/routes/fs.js +142 -46
- package/dist/routes/fs.js.map +1 -1
- package/dist/routes/projects.d.ts +6 -0
- package/dist/routes/projects.d.ts.map +1 -1
- package/dist/routes/projects.js +344 -1
- package/dist/routes/projects.js.map +1 -1
- package/dist/routes/source-control-sessions.d.ts +2 -0
- package/dist/routes/source-control-sessions.d.ts.map +1 -1
- package/dist/routes/source-control-sessions.js +36 -1
- package/dist/routes/source-control-sessions.js.map +1 -1
- package/dist/routes/supervisor.js +1 -1
- package/dist/routes/surface.d.ts +6 -3
- package/dist/routes/surface.d.ts.map +1 -1
- package/dist/routes/surface.js +21 -34
- package/dist/routes/surface.js.map +1 -1
- package/dist/rules/binding-context.d.ts +1 -1
- package/dist/rules/binding-context.d.ts.map +1 -1
- package/dist/rules/binding-context.js +1 -1
- package/dist/rules/binding-context.js.map +1 -1
- package/dist/rules/review-source-tool.js +1 -1
- package/dist/rules/start-coordinator.d.ts.map +1 -1
- package/dist/rules/start-coordinator.js +7 -2
- package/dist/rules/start-coordinator.js.map +1 -1
- package/dist/rules/tools.js +1 -1
- package/dist/sandbox/callback-factory-sandbox.d.ts +15 -0
- package/dist/sandbox/callback-factory-sandbox.d.ts.map +1 -0
- package/dist/sandbox/callback-factory-sandbox.js +22 -0
- package/dist/sandbox/callback-factory-sandbox.js.map +1 -0
- package/dist/sandbox/local-factory-sandbox.d.ts +20 -0
- package/dist/sandbox/local-factory-sandbox.d.ts.map +1 -0
- package/dist/sandbox/local-factory-sandbox.js +27 -0
- package/dist/sandbox/local-factory-sandbox.js.map +1 -0
- package/dist/sandbox/session-retirement.d.ts.map +1 -1
- package/dist/sandbox/session-retirement.js +23 -3
- package/dist/sandbox/session-retirement.js.map +1 -1
- package/dist/sandbox/session-sandbox.d.ts +82 -40
- package/dist/sandbox/session-sandbox.d.ts.map +1 -1
- package/dist/sandbox/session-sandbox.js +130 -13
- package/dist/sandbox/session-sandbox.js.map +1 -1
- package/dist/sandbox/workdir.d.ts +10 -0
- package/dist/sandbox/workdir.d.ts.map +1 -1
- package/dist/sandbox/workdir.js +10 -1
- package/dist/sandbox/workdir.js.map +1 -1
- package/dist/session/environment-repositories.d.ts +31 -0
- package/dist/session/environment-repositories.d.ts.map +1 -0
- package/dist/session/environment-repositories.js +89 -0
- package/dist/session/environment-repositories.js.map +1 -0
- package/dist/session/environment-state-processor.d.ts +59 -0
- package/dist/session/environment-state-processor.d.ts.map +1 -0
- package/dist/session/environment-state-processor.js +105 -0
- package/dist/session/environment-state-processor.js.map +1 -0
- package/dist/session/factory-session.d.ts +26 -35
- package/dist/session/factory-session.d.ts.map +1 -1
- package/dist/session/factory-session.js +34 -71
- package/dist/session/factory-session.js.map +1 -1
- package/dist/session/filesystem-capture.d.ts +13 -0
- package/dist/session/filesystem-capture.d.ts.map +1 -1
- package/dist/session/filesystem-capture.js +73 -14
- package/dist/session/filesystem-capture.js.map +1 -1
- package/dist/session/source-control-tools.d.ts +1 -1
- package/dist/session/source-control-tools.d.ts.map +1 -1
- package/dist/session/source-control-tools.js +144 -71
- package/dist/session/source-control-tools.js.map +1 -1
- package/dist/spa-static.js +2 -2
- package/dist/storage/domains/audit/agent-audit.d.ts +6 -1
- package/dist/storage/domains/audit/agent-audit.d.ts.map +1 -1
- package/dist/storage/domains/audit/agent-audit.js +31 -13
- package/dist/storage/domains/audit/agent-audit.js.map +1 -1
- package/dist/storage/domains/projects/base.d.ts +115 -2
- package/dist/storage/domains/projects/base.d.ts.map +1 -1
- package/dist/storage/domains/projects/base.js +219 -12
- package/dist/storage/domains/projects/base.js.map +1 -1
- package/dist/storage/domains/source-control/base.d.ts +123 -7
- package/dist/storage/domains/source-control/base.d.ts.map +1 -1
- package/dist/storage/domains/source-control/base.js +406 -33
- package/dist/storage/domains/source-control/base.js.map +1 -1
- package/dist/storage/domains/source-control/inmemory.d.ts +19 -6
- package/dist/storage/domains/source-control/inmemory.d.ts.map +1 -1
- package/dist/storage/domains/source-control/inmemory.js +90 -2
- package/dist/storage/domains/source-control/inmemory.js.map +1 -1
- package/dist/storage/domains/work-items/base.d.ts.map +1 -1
- package/dist/storage/domains/work-items/base.js +12 -5
- package/dist/storage/domains/work-items/base.js.map +1 -1
- package/dist/supervisor/read-tools.js +1 -1
- package/dist/supervisor/write-tools.js +1 -1
- package/dist/workspace.d.ts +50 -7
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +344 -24
- package/dist/workspace.js.map +1 -1
- package/package.json +7 -7
|
@@ -25,6 +25,173 @@ export declare const updateProjectBodySchema: z.ZodObject<{
|
|
|
25
25
|
autoRunEnabled: z.ZodOptional<z.ZodBoolean>;
|
|
26
26
|
autoApprovePlans: z.ZodOptional<z.ZodBoolean>;
|
|
27
27
|
}, z.core.$strip>;
|
|
28
|
+
/** The configured FactorySandbox as factory describes it: provider id, JSON Schema of its settings, capabilities. */
|
|
29
|
+
export declare const environmentSandboxSchema: z.ZodObject<{
|
|
30
|
+
provider: z.ZodString;
|
|
31
|
+
settingsSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
32
|
+
capabilities: z.ZodObject<{
|
|
33
|
+
template: z.ZodBoolean;
|
|
34
|
+
builds: z.ZodObject<{
|
|
35
|
+
available: z.ZodBoolean;
|
|
36
|
+
history: z.ZodBoolean;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
}, z.core.$strip>;
|
|
40
|
+
/** When the environment builds on its own; present only when the sandbox can build. */
|
|
41
|
+
export declare const environmentBuildTriggersSchema: z.ZodObject<{
|
|
42
|
+
schedule: z.ZodObject<{
|
|
43
|
+
enabled: z.ZodBoolean;
|
|
44
|
+
cron: z.ZodNullable<z.ZodString>;
|
|
45
|
+
timezone: z.ZodNullable<z.ZodString>;
|
|
46
|
+
scheduleAvailable: z.ZodBoolean;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
push: z.ZodObject<{
|
|
49
|
+
enabled: z.ZodBoolean;
|
|
50
|
+
debounceMinutes: z.ZodNumber;
|
|
51
|
+
}, z.core.$strip>;
|
|
52
|
+
}, z.core.$strip>;
|
|
53
|
+
/** The last build factory asked the provider for, from the project row only; status is read live. */
|
|
54
|
+
export declare const environmentLastBuildSchema: z.ZodObject<{
|
|
55
|
+
buildId: z.ZodString;
|
|
56
|
+
attemptedAt: z.ZodNullable<z.ZodString>;
|
|
57
|
+
}, z.core.$strip>;
|
|
58
|
+
export declare const projectEnvironmentResponseSchema: z.ZodObject<{
|
|
59
|
+
environment: z.ZodObject<{
|
|
60
|
+
sandbox: z.ZodObject<{
|
|
61
|
+
provider: z.ZodString;
|
|
62
|
+
settingsSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
63
|
+
capabilities: z.ZodObject<{
|
|
64
|
+
template: z.ZodBoolean;
|
|
65
|
+
builds: z.ZodObject<{
|
|
66
|
+
available: z.ZodBoolean;
|
|
67
|
+
history: z.ZodBoolean;
|
|
68
|
+
}, z.core.$strip>;
|
|
69
|
+
}, z.core.$strip>;
|
|
70
|
+
}, z.core.$strip>;
|
|
71
|
+
settings: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
72
|
+
sandboxWorkingDirectory: z.ZodNullable<z.ZodString>;
|
|
73
|
+
workspaceSetupCommand: z.ZodNullable<z.ZodString>;
|
|
74
|
+
activeTemplateId: z.ZodNullable<z.ZodString>;
|
|
75
|
+
activeTemplateHeads: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
76
|
+
repositories: z.ZodArray<z.ZodObject<{
|
|
77
|
+
projectRepositoryId: z.ZodString;
|
|
78
|
+
connectionId: z.ZodString;
|
|
79
|
+
repositoryId: z.ZodString;
|
|
80
|
+
slug: z.ZodNullable<z.ZodString>;
|
|
81
|
+
defaultBranch: z.ZodNullable<z.ZodString>;
|
|
82
|
+
position: z.ZodNumber;
|
|
83
|
+
inEnvironment: z.ZodBoolean;
|
|
84
|
+
setupCommand: z.ZodNullable<z.ZodString>;
|
|
85
|
+
teardownCommand: z.ZodNullable<z.ZodString>;
|
|
86
|
+
lastBuildStatus: z.ZodEnum<{
|
|
87
|
+
unbuilt: "unbuilt";
|
|
88
|
+
configured: "configured";
|
|
89
|
+
failed: "failed";
|
|
90
|
+
}>;
|
|
91
|
+
lastBuildError: z.ZodNullable<z.ZodString>;
|
|
92
|
+
lastBuiltAt: z.ZodNullable<z.ZodString>;
|
|
93
|
+
}, z.core.$strip>>;
|
|
94
|
+
buildTriggers: z.ZodOptional<z.ZodObject<{
|
|
95
|
+
schedule: z.ZodObject<{
|
|
96
|
+
enabled: z.ZodBoolean;
|
|
97
|
+
cron: z.ZodNullable<z.ZodString>;
|
|
98
|
+
timezone: z.ZodNullable<z.ZodString>;
|
|
99
|
+
scheduleAvailable: z.ZodBoolean;
|
|
100
|
+
}, z.core.$strip>;
|
|
101
|
+
push: z.ZodObject<{
|
|
102
|
+
enabled: z.ZodBoolean;
|
|
103
|
+
debounceMinutes: z.ZodNumber;
|
|
104
|
+
}, z.core.$strip>;
|
|
105
|
+
}, z.core.$strip>>;
|
|
106
|
+
build: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
107
|
+
buildId: z.ZodString;
|
|
108
|
+
attemptedAt: z.ZodNullable<z.ZodString>;
|
|
109
|
+
}, z.core.$strip>>>;
|
|
110
|
+
}, z.core.$strip>;
|
|
111
|
+
}, z.core.$strip>;
|
|
112
|
+
export declare const environmentBuildStartResponseSchema: z.ZodObject<{
|
|
113
|
+
outcome: z.ZodEnum<{
|
|
114
|
+
started: "started";
|
|
115
|
+
failed: "failed";
|
|
116
|
+
skipped: "skipped";
|
|
117
|
+
unavailable: "unavailable";
|
|
118
|
+
}>;
|
|
119
|
+
buildId: z.ZodOptional<z.ZodString>;
|
|
120
|
+
templateId: z.ZodOptional<z.ZodString>;
|
|
121
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
122
|
+
}, z.core.$strip>;
|
|
123
|
+
export declare const environmentBuildSchema: z.ZodObject<{
|
|
124
|
+
buildId: z.ZodString;
|
|
125
|
+
status: z.ZodEnum<{
|
|
126
|
+
unknown: "unknown";
|
|
127
|
+
failed: "failed";
|
|
128
|
+
pending: "pending";
|
|
129
|
+
ready: "ready";
|
|
130
|
+
building: "building";
|
|
131
|
+
}>;
|
|
132
|
+
templateId: z.ZodOptional<z.ZodString>;
|
|
133
|
+
startedAt: z.ZodOptional<z.ZodString>;
|
|
134
|
+
finishedAt: z.ZodOptional<z.ZodString>;
|
|
135
|
+
error: z.ZodOptional<z.ZodString>;
|
|
136
|
+
logs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
137
|
+
}, z.core.$strip>;
|
|
138
|
+
export declare const environmentBuildsResponseSchema: z.ZodObject<{
|
|
139
|
+
builds: z.ZodArray<z.ZodObject<{
|
|
140
|
+
buildId: z.ZodString;
|
|
141
|
+
status: z.ZodEnum<{
|
|
142
|
+
unknown: "unknown";
|
|
143
|
+
failed: "failed";
|
|
144
|
+
pending: "pending";
|
|
145
|
+
ready: "ready";
|
|
146
|
+
building: "building";
|
|
147
|
+
}>;
|
|
148
|
+
templateId: z.ZodOptional<z.ZodString>;
|
|
149
|
+
startedAt: z.ZodOptional<z.ZodString>;
|
|
150
|
+
finishedAt: z.ZodOptional<z.ZodString>;
|
|
151
|
+
error: z.ZodOptional<z.ZodString>;
|
|
152
|
+
logs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
153
|
+
}, z.core.$strip>>;
|
|
154
|
+
}, z.core.$strip>;
|
|
155
|
+
export declare const environmentBuildResponseSchema: z.ZodObject<{
|
|
156
|
+
build: z.ZodObject<{
|
|
157
|
+
buildId: z.ZodString;
|
|
158
|
+
status: z.ZodEnum<{
|
|
159
|
+
unknown: "unknown";
|
|
160
|
+
failed: "failed";
|
|
161
|
+
pending: "pending";
|
|
162
|
+
ready: "ready";
|
|
163
|
+
building: "building";
|
|
164
|
+
}>;
|
|
165
|
+
templateId: z.ZodOptional<z.ZodString>;
|
|
166
|
+
startedAt: z.ZodOptional<z.ZodString>;
|
|
167
|
+
finishedAt: z.ZodOptional<z.ZodString>;
|
|
168
|
+
error: z.ZodOptional<z.ZodString>;
|
|
169
|
+
logs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
170
|
+
}, z.core.$strip>;
|
|
171
|
+
}, z.core.$strip>;
|
|
172
|
+
export declare const updateProjectEnvironmentBodySchema: z.ZodObject<{
|
|
173
|
+
sandboxWorkingDirectory: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<string | null, string>>, z.ZodNull]>>;
|
|
174
|
+
settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNullable<z.ZodUnknown>>>;
|
|
175
|
+
workspaceSetupCommand: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<string | null, string>>, z.ZodNull]>>;
|
|
176
|
+
buildTriggers: z.ZodOptional<z.ZodObject<{
|
|
177
|
+
schedule: z.ZodOptional<z.ZodObject<{
|
|
178
|
+
enabled: z.ZodBoolean;
|
|
179
|
+
cron: z.ZodOptional<z.ZodString>;
|
|
180
|
+
timezone: z.ZodOptional<z.ZodString>;
|
|
181
|
+
}, z.core.$strip>>;
|
|
182
|
+
push: z.ZodOptional<z.ZodObject<{
|
|
183
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
184
|
+
debounceMinutes: z.ZodOptional<z.ZodNumber>;
|
|
185
|
+
}, z.core.$strip>>;
|
|
186
|
+
}, z.core.$strip>>;
|
|
187
|
+
repositories: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
188
|
+
projectRepositoryId: z.ZodString;
|
|
189
|
+
position: z.ZodOptional<z.ZodNumber>;
|
|
190
|
+
inEnvironment: z.ZodOptional<z.ZodBoolean>;
|
|
191
|
+
setupCommand: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<string | null, string>>, z.ZodNull]>>;
|
|
192
|
+
teardownCommand: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<string | null, string>>, z.ZodNull]>>;
|
|
193
|
+
}, z.core.$strip>>>;
|
|
194
|
+
}, z.core.$strip>;
|
|
28
195
|
export declare const createWorkItemBodySchema: z.ZodObject<{
|
|
29
196
|
title: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>;
|
|
30
197
|
board: z.ZodOptional<z.ZodString>;
|
|
@@ -128,7 +295,7 @@ export declare const metricsQuerySchema: z.ZodObject<{
|
|
|
128
295
|
to: z.ZodOptional<z.ZodString>;
|
|
129
296
|
}, z.core.$strip>;
|
|
130
297
|
export declare const decisionQuerySchema: z.ZodObject<{
|
|
131
|
-
statuses: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<("dismissed" | "retry" | "pending" | "proposed" | "superseded" | "leased" | "succeeded"
|
|
298
|
+
statuses: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<("dismissed" | "retry" | "failed" | "pending" | "proposed" | "superseded" | "leased" | "succeeded")[] | undefined, string | undefined>>;
|
|
132
299
|
before: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<{
|
|
133
300
|
createdAt: Date;
|
|
134
301
|
id: string;
|
|
@@ -212,6 +379,223 @@ export declare const FACTORY_ROUTE_CONTRACTS: {
|
|
|
212
379
|
project: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
213
380
|
}, z.core.$strip>;
|
|
214
381
|
};
|
|
382
|
+
readonly projectEnvironmentGet: {
|
|
383
|
+
readonly method: "GET";
|
|
384
|
+
readonly path: "/web/factory/projects/:id/environment";
|
|
385
|
+
readonly description: "Get the sandbox environment of a Factory project: provider settings and its repositories in order";
|
|
386
|
+
readonly pathSchema: z.ZodObject<{
|
|
387
|
+
id: z.ZodString;
|
|
388
|
+
}, z.core.$strip>;
|
|
389
|
+
readonly responseSchema: z.ZodObject<{
|
|
390
|
+
environment: z.ZodObject<{
|
|
391
|
+
sandbox: z.ZodObject<{
|
|
392
|
+
provider: z.ZodString;
|
|
393
|
+
settingsSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
394
|
+
capabilities: z.ZodObject<{
|
|
395
|
+
template: z.ZodBoolean;
|
|
396
|
+
builds: z.ZodObject<{
|
|
397
|
+
available: z.ZodBoolean;
|
|
398
|
+
history: z.ZodBoolean;
|
|
399
|
+
}, z.core.$strip>;
|
|
400
|
+
}, z.core.$strip>;
|
|
401
|
+
}, z.core.$strip>;
|
|
402
|
+
settings: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
403
|
+
sandboxWorkingDirectory: z.ZodNullable<z.ZodString>;
|
|
404
|
+
workspaceSetupCommand: z.ZodNullable<z.ZodString>;
|
|
405
|
+
activeTemplateId: z.ZodNullable<z.ZodString>;
|
|
406
|
+
activeTemplateHeads: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
407
|
+
repositories: z.ZodArray<z.ZodObject<{
|
|
408
|
+
projectRepositoryId: z.ZodString;
|
|
409
|
+
connectionId: z.ZodString;
|
|
410
|
+
repositoryId: z.ZodString;
|
|
411
|
+
slug: z.ZodNullable<z.ZodString>;
|
|
412
|
+
defaultBranch: z.ZodNullable<z.ZodString>;
|
|
413
|
+
position: z.ZodNumber;
|
|
414
|
+
inEnvironment: z.ZodBoolean;
|
|
415
|
+
setupCommand: z.ZodNullable<z.ZodString>;
|
|
416
|
+
teardownCommand: z.ZodNullable<z.ZodString>;
|
|
417
|
+
lastBuildStatus: z.ZodEnum<{
|
|
418
|
+
unbuilt: "unbuilt";
|
|
419
|
+
configured: "configured";
|
|
420
|
+
failed: "failed";
|
|
421
|
+
}>;
|
|
422
|
+
lastBuildError: z.ZodNullable<z.ZodString>;
|
|
423
|
+
lastBuiltAt: z.ZodNullable<z.ZodString>;
|
|
424
|
+
}, z.core.$strip>>;
|
|
425
|
+
buildTriggers: z.ZodOptional<z.ZodObject<{
|
|
426
|
+
schedule: z.ZodObject<{
|
|
427
|
+
enabled: z.ZodBoolean;
|
|
428
|
+
cron: z.ZodNullable<z.ZodString>;
|
|
429
|
+
timezone: z.ZodNullable<z.ZodString>;
|
|
430
|
+
scheduleAvailable: z.ZodBoolean;
|
|
431
|
+
}, z.core.$strip>;
|
|
432
|
+
push: z.ZodObject<{
|
|
433
|
+
enabled: z.ZodBoolean;
|
|
434
|
+
debounceMinutes: z.ZodNumber;
|
|
435
|
+
}, z.core.$strip>;
|
|
436
|
+
}, z.core.$strip>>;
|
|
437
|
+
build: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
438
|
+
buildId: z.ZodString;
|
|
439
|
+
attemptedAt: z.ZodNullable<z.ZodString>;
|
|
440
|
+
}, z.core.$strip>>>;
|
|
441
|
+
}, z.core.$strip>;
|
|
442
|
+
}, z.core.$strip>;
|
|
443
|
+
};
|
|
444
|
+
readonly projectEnvironmentUpdate: {
|
|
445
|
+
readonly method: "PATCH";
|
|
446
|
+
readonly path: "/web/factory/projects/:id/environment";
|
|
447
|
+
readonly description: "Update the sandbox environment of a Factory project: provider settings, repository order and setup";
|
|
448
|
+
readonly pathSchema: z.ZodObject<{
|
|
449
|
+
id: z.ZodString;
|
|
450
|
+
}, z.core.$strip>;
|
|
451
|
+
readonly bodySchema: z.ZodObject<{
|
|
452
|
+
sandboxWorkingDirectory: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<string | null, string>>, z.ZodNull]>>;
|
|
453
|
+
settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNullable<z.ZodUnknown>>>;
|
|
454
|
+
workspaceSetupCommand: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<string | null, string>>, z.ZodNull]>>;
|
|
455
|
+
buildTriggers: z.ZodOptional<z.ZodObject<{
|
|
456
|
+
schedule: z.ZodOptional<z.ZodObject<{
|
|
457
|
+
enabled: z.ZodBoolean;
|
|
458
|
+
cron: z.ZodOptional<z.ZodString>;
|
|
459
|
+
timezone: z.ZodOptional<z.ZodString>;
|
|
460
|
+
}, z.core.$strip>>;
|
|
461
|
+
push: z.ZodOptional<z.ZodObject<{
|
|
462
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
463
|
+
debounceMinutes: z.ZodOptional<z.ZodNumber>;
|
|
464
|
+
}, z.core.$strip>>;
|
|
465
|
+
}, z.core.$strip>>;
|
|
466
|
+
repositories: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
467
|
+
projectRepositoryId: z.ZodString;
|
|
468
|
+
position: z.ZodOptional<z.ZodNumber>;
|
|
469
|
+
inEnvironment: z.ZodOptional<z.ZodBoolean>;
|
|
470
|
+
setupCommand: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<string | null, string>>, z.ZodNull]>>;
|
|
471
|
+
teardownCommand: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<string | null, string>>, z.ZodNull]>>;
|
|
472
|
+
}, z.core.$strip>>>;
|
|
473
|
+
}, z.core.$strip>;
|
|
474
|
+
readonly responseSchema: z.ZodObject<{
|
|
475
|
+
environment: z.ZodObject<{
|
|
476
|
+
sandbox: z.ZodObject<{
|
|
477
|
+
provider: z.ZodString;
|
|
478
|
+
settingsSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
479
|
+
capabilities: z.ZodObject<{
|
|
480
|
+
template: z.ZodBoolean;
|
|
481
|
+
builds: z.ZodObject<{
|
|
482
|
+
available: z.ZodBoolean;
|
|
483
|
+
history: z.ZodBoolean;
|
|
484
|
+
}, z.core.$strip>;
|
|
485
|
+
}, z.core.$strip>;
|
|
486
|
+
}, z.core.$strip>;
|
|
487
|
+
settings: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
488
|
+
sandboxWorkingDirectory: z.ZodNullable<z.ZodString>;
|
|
489
|
+
workspaceSetupCommand: z.ZodNullable<z.ZodString>;
|
|
490
|
+
activeTemplateId: z.ZodNullable<z.ZodString>;
|
|
491
|
+
activeTemplateHeads: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
492
|
+
repositories: z.ZodArray<z.ZodObject<{
|
|
493
|
+
projectRepositoryId: z.ZodString;
|
|
494
|
+
connectionId: z.ZodString;
|
|
495
|
+
repositoryId: z.ZodString;
|
|
496
|
+
slug: z.ZodNullable<z.ZodString>;
|
|
497
|
+
defaultBranch: z.ZodNullable<z.ZodString>;
|
|
498
|
+
position: z.ZodNumber;
|
|
499
|
+
inEnvironment: z.ZodBoolean;
|
|
500
|
+
setupCommand: z.ZodNullable<z.ZodString>;
|
|
501
|
+
teardownCommand: z.ZodNullable<z.ZodString>;
|
|
502
|
+
lastBuildStatus: z.ZodEnum<{
|
|
503
|
+
unbuilt: "unbuilt";
|
|
504
|
+
configured: "configured";
|
|
505
|
+
failed: "failed";
|
|
506
|
+
}>;
|
|
507
|
+
lastBuildError: z.ZodNullable<z.ZodString>;
|
|
508
|
+
lastBuiltAt: z.ZodNullable<z.ZodString>;
|
|
509
|
+
}, z.core.$strip>>;
|
|
510
|
+
buildTriggers: z.ZodOptional<z.ZodObject<{
|
|
511
|
+
schedule: z.ZodObject<{
|
|
512
|
+
enabled: z.ZodBoolean;
|
|
513
|
+
cron: z.ZodNullable<z.ZodString>;
|
|
514
|
+
timezone: z.ZodNullable<z.ZodString>;
|
|
515
|
+
scheduleAvailable: z.ZodBoolean;
|
|
516
|
+
}, z.core.$strip>;
|
|
517
|
+
push: z.ZodObject<{
|
|
518
|
+
enabled: z.ZodBoolean;
|
|
519
|
+
debounceMinutes: z.ZodNumber;
|
|
520
|
+
}, z.core.$strip>;
|
|
521
|
+
}, z.core.$strip>>;
|
|
522
|
+
build: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
523
|
+
buildId: z.ZodString;
|
|
524
|
+
attemptedAt: z.ZodNullable<z.ZodString>;
|
|
525
|
+
}, z.core.$strip>>>;
|
|
526
|
+
}, z.core.$strip>;
|
|
527
|
+
}, z.core.$strip>;
|
|
528
|
+
};
|
|
529
|
+
readonly projectEnvironmentBuild: {
|
|
530
|
+
readonly method: "POST";
|
|
531
|
+
readonly path: "/web/factory/projects/:id/environment/build";
|
|
532
|
+
readonly description: "Build the sandbox environment template of a Factory project now";
|
|
533
|
+
readonly pathSchema: z.ZodObject<{
|
|
534
|
+
id: z.ZodString;
|
|
535
|
+
}, z.core.$strip>;
|
|
536
|
+
readonly responseSchema: z.ZodObject<{
|
|
537
|
+
outcome: z.ZodEnum<{
|
|
538
|
+
started: "started";
|
|
539
|
+
failed: "failed";
|
|
540
|
+
skipped: "skipped";
|
|
541
|
+
unavailable: "unavailable";
|
|
542
|
+
}>;
|
|
543
|
+
buildId: z.ZodOptional<z.ZodString>;
|
|
544
|
+
templateId: z.ZodOptional<z.ZodString>;
|
|
545
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
546
|
+
}, z.core.$strip>;
|
|
547
|
+
};
|
|
548
|
+
readonly projectEnvironmentBuilds: {
|
|
549
|
+
readonly method: "GET";
|
|
550
|
+
readonly path: "/web/factory/projects/:id/environment/builds";
|
|
551
|
+
readonly description: "List the environment template builds of a Factory project, newest first, when the provider keeps history";
|
|
552
|
+
readonly pathSchema: z.ZodObject<{
|
|
553
|
+
id: z.ZodString;
|
|
554
|
+
}, z.core.$strip>;
|
|
555
|
+
readonly responseSchema: z.ZodObject<{
|
|
556
|
+
builds: z.ZodArray<z.ZodObject<{
|
|
557
|
+
buildId: z.ZodString;
|
|
558
|
+
status: z.ZodEnum<{
|
|
559
|
+
unknown: "unknown";
|
|
560
|
+
failed: "failed";
|
|
561
|
+
pending: "pending";
|
|
562
|
+
ready: "ready";
|
|
563
|
+
building: "building";
|
|
564
|
+
}>;
|
|
565
|
+
templateId: z.ZodOptional<z.ZodString>;
|
|
566
|
+
startedAt: z.ZodOptional<z.ZodString>;
|
|
567
|
+
finishedAt: z.ZodOptional<z.ZodString>;
|
|
568
|
+
error: z.ZodOptional<z.ZodString>;
|
|
569
|
+
logs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
570
|
+
}, z.core.$strip>>;
|
|
571
|
+
}, z.core.$strip>;
|
|
572
|
+
};
|
|
573
|
+
readonly projectEnvironmentBuildGet: {
|
|
574
|
+
readonly method: "GET";
|
|
575
|
+
readonly path: "/web/factory/projects/:id/environment/builds/:buildId";
|
|
576
|
+
readonly description: "Get the live status of one environment template build of a Factory project";
|
|
577
|
+
readonly pathSchema: z.ZodObject<{
|
|
578
|
+
id: z.ZodString;
|
|
579
|
+
buildId: z.ZodString;
|
|
580
|
+
}, z.core.$strip>;
|
|
581
|
+
readonly responseSchema: z.ZodObject<{
|
|
582
|
+
build: z.ZodObject<{
|
|
583
|
+
buildId: z.ZodString;
|
|
584
|
+
status: z.ZodEnum<{
|
|
585
|
+
unknown: "unknown";
|
|
586
|
+
failed: "failed";
|
|
587
|
+
pending: "pending";
|
|
588
|
+
ready: "ready";
|
|
589
|
+
building: "building";
|
|
590
|
+
}>;
|
|
591
|
+
templateId: z.ZodOptional<z.ZodString>;
|
|
592
|
+
startedAt: z.ZodOptional<z.ZodString>;
|
|
593
|
+
finishedAt: z.ZodOptional<z.ZodString>;
|
|
594
|
+
error: z.ZodOptional<z.ZodString>;
|
|
595
|
+
logs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
596
|
+
}, z.core.$strip>;
|
|
597
|
+
}, z.core.$strip>;
|
|
598
|
+
};
|
|
215
599
|
readonly projectApplyDefaultModel: {
|
|
216
600
|
readonly method: "POST";
|
|
217
601
|
readonly path: "/web/factory/projects/:id/apply-default-model";
|
|
@@ -480,7 +864,7 @@ export declare const FACTORY_ROUTE_CONTRACTS: {
|
|
|
480
864
|
id: z.ZodString;
|
|
481
865
|
}, z.core.$strip>;
|
|
482
866
|
readonly querySchema: z.ZodObject<{
|
|
483
|
-
statuses: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<("dismissed" | "retry" | "pending" | "proposed" | "superseded" | "leased" | "succeeded"
|
|
867
|
+
statuses: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<("dismissed" | "retry" | "failed" | "pending" | "proposed" | "superseded" | "leased" | "succeeded")[] | undefined, string | undefined>>;
|
|
484
868
|
before: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<{
|
|
485
869
|
createdAt: Date;
|
|
486
870
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/routes/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;IACvB,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,YAAY,kFAAkF,CAAC;AA8B5G,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;iBAUoE,CAAC;
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/routes/contracts.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/contracts.js
CHANGED
|
@@ -38,6 +38,135 @@ const updateProjectBodySchema = z.object({
|
|
|
38
38
|
autoRunEnabled: z.boolean().optional(),
|
|
39
39
|
autoApprovePlans: z.boolean().optional()
|
|
40
40
|
}).refine((input) => Object.keys(input).length > 0, { message: "At least one project field is required" });
|
|
41
|
+
const environmentRepositorySchema = z.object({
|
|
42
|
+
projectRepositoryId: z.string(),
|
|
43
|
+
connectionId: z.string(),
|
|
44
|
+
repositoryId: z.string(),
|
|
45
|
+
slug: z.string().nullable(),
|
|
46
|
+
defaultBranch: z.string().nullable(),
|
|
47
|
+
position: z.number().int(),
|
|
48
|
+
inEnvironment: z.boolean(),
|
|
49
|
+
setupCommand: z.string().nullable(),
|
|
50
|
+
teardownCommand: z.string().nullable(),
|
|
51
|
+
lastBuildStatus: z.enum([
|
|
52
|
+
"unbuilt",
|
|
53
|
+
"configured",
|
|
54
|
+
"failed"
|
|
55
|
+
]),
|
|
56
|
+
lastBuildError: z.string().nullable(),
|
|
57
|
+
lastBuiltAt: z.string().nullable()
|
|
58
|
+
});
|
|
59
|
+
/** The configured FactorySandbox as factory describes it: provider id, JSON Schema of its settings, capabilities. */
|
|
60
|
+
const environmentSandboxSchema = z.object({
|
|
61
|
+
provider: z.string(),
|
|
62
|
+
settingsSchema: z.record(z.string(), z.unknown()),
|
|
63
|
+
capabilities: z.object({
|
|
64
|
+
template: z.boolean(),
|
|
65
|
+
builds: z.object({
|
|
66
|
+
available: z.boolean(),
|
|
67
|
+
history: z.boolean()
|
|
68
|
+
})
|
|
69
|
+
})
|
|
70
|
+
});
|
|
71
|
+
/** When the environment builds on its own; present only when the sandbox can build. */
|
|
72
|
+
const environmentBuildTriggersSchema = z.object({
|
|
73
|
+
schedule: z.object({
|
|
74
|
+
enabled: z.boolean(),
|
|
75
|
+
cron: z.string().nullable(),
|
|
76
|
+
timezone: z.string().nullable(),
|
|
77
|
+
/** False when the host's storage has no schedules domain; the cron trigger cannot be enabled then. */
|
|
78
|
+
scheduleAvailable: z.boolean()
|
|
79
|
+
}),
|
|
80
|
+
push: z.object({
|
|
81
|
+
enabled: z.boolean(),
|
|
82
|
+
debounceMinutes: z.number().int()
|
|
83
|
+
})
|
|
84
|
+
});
|
|
85
|
+
/** The last build factory asked the provider for, from the project row only; status is read live. */
|
|
86
|
+
const environmentLastBuildSchema = z.object({
|
|
87
|
+
buildId: z.string(),
|
|
88
|
+
attemptedAt: z.string().nullable()
|
|
89
|
+
});
|
|
90
|
+
const projectEnvironmentResponseSchema = z.object({ environment: z.object({
|
|
91
|
+
sandbox: environmentSandboxSchema,
|
|
92
|
+
/** The stored settings document; only keys the user set. */
|
|
93
|
+
settings: z.record(z.string(), z.unknown()),
|
|
94
|
+
sandboxWorkingDirectory: z.string().nullable(),
|
|
95
|
+
workspaceSetupCommand: z.string().nullable(),
|
|
96
|
+
activeTemplateId: z.string().nullable(),
|
|
97
|
+
activeTemplateHeads: z.record(z.string(), z.string()).nullable(),
|
|
98
|
+
repositories: z.array(environmentRepositorySchema),
|
|
99
|
+
buildTriggers: environmentBuildTriggersSchema.optional(),
|
|
100
|
+
build: environmentLastBuildSchema.nullable().optional()
|
|
101
|
+
}) });
|
|
102
|
+
const environmentBuildStatusSchema = z.enum([
|
|
103
|
+
"pending",
|
|
104
|
+
"building",
|
|
105
|
+
"ready",
|
|
106
|
+
"failed",
|
|
107
|
+
"unknown"
|
|
108
|
+
]);
|
|
109
|
+
const environmentBuildStartResponseSchema = z.object({
|
|
110
|
+
outcome: z.enum([
|
|
111
|
+
"started",
|
|
112
|
+
"skipped",
|
|
113
|
+
"unavailable",
|
|
114
|
+
"failed"
|
|
115
|
+
]),
|
|
116
|
+
buildId: z.string().optional(),
|
|
117
|
+
templateId: z.string().optional(),
|
|
118
|
+
reason: z.string().optional()
|
|
119
|
+
});
|
|
120
|
+
const environmentBuildSchema = z.object({
|
|
121
|
+
buildId: z.string(),
|
|
122
|
+
status: environmentBuildStatusSchema,
|
|
123
|
+
templateId: z.string().optional(),
|
|
124
|
+
startedAt: z.string().optional(),
|
|
125
|
+
finishedAt: z.string().optional(),
|
|
126
|
+
error: z.string().optional(),
|
|
127
|
+
logs: z.array(z.string()).optional()
|
|
128
|
+
});
|
|
129
|
+
const environmentBuildsResponseSchema = z.object({ builds: z.array(environmentBuildSchema) });
|
|
130
|
+
const environmentBuildResponseSchema = z.object({ build: environmentBuildSchema });
|
|
131
|
+
const buildPathSchema = projectPathSchema.extend({ buildId: z.string().min(1) });
|
|
132
|
+
const environmentRepositoryPatchSchema = z.object({
|
|
133
|
+
projectRepositoryId: uuidSchema,
|
|
134
|
+
position: z.number().int().min(1).optional(),
|
|
135
|
+
inEnvironment: z.boolean().optional(),
|
|
136
|
+
setupCommand: nullableTrimmed(2e3).optional(),
|
|
137
|
+
teardownCommand: nullableTrimmed(2e3).optional()
|
|
138
|
+
});
|
|
139
|
+
const updateProjectEnvironmentBodySchema = z.object({
|
|
140
|
+
sandboxWorkingDirectory: nullableTrimmed(1e3).refine((value) => value === null || value.startsWith("/"), { message: "sandboxWorkingDirectory must be absolute" }).optional(),
|
|
141
|
+
/** Partial settings merged onto the stored document; null removes a key. Validated by the FactorySandbox. */
|
|
142
|
+
settings: z.record(z.string(), z.unknown().nullable()).optional(),
|
|
143
|
+
workspaceSetupCommand: nullableTrimmed(2e3).optional(),
|
|
144
|
+
/** Build triggers; only accepted when the sandbox can build. */
|
|
145
|
+
buildTriggers: z.object({
|
|
146
|
+
schedule: z.object({
|
|
147
|
+
enabled: z.boolean(),
|
|
148
|
+
cron: z.string().trim().min(1).max(100).optional(),
|
|
149
|
+
timezone: z.string().trim().min(1).max(100).optional()
|
|
150
|
+
}).optional(),
|
|
151
|
+
push: z.object({
|
|
152
|
+
enabled: z.boolean().optional(),
|
|
153
|
+
debounceMinutes: z.number().int().min(0).max(1440).optional()
|
|
154
|
+
}).optional()
|
|
155
|
+
}).optional(),
|
|
156
|
+
repositories: z.array(environmentRepositoryPatchSchema).max(100).superRefine((entries, ctx) => {
|
|
157
|
+
if (new Set(entries.map((entry) => entry.projectRepositoryId)).size !== entries.length) ctx.addIssue({
|
|
158
|
+
code: "custom",
|
|
159
|
+
message: "Each repository may be listed once"
|
|
160
|
+
});
|
|
161
|
+
const positions = entries.flatMap((entry) => entry.position === void 0 ? [] : [entry.position]);
|
|
162
|
+
if (positions.length === 0) return;
|
|
163
|
+
const expected = Array.from({ length: entries.length }, (_, index) => index + 1);
|
|
164
|
+
if (positions.length !== entries.length || [...positions].sort((a, b) => a - b).some((p, i) => p !== expected[i])) ctx.addIssue({
|
|
165
|
+
code: "custom",
|
|
166
|
+
message: "Positions must be a permutation of 1..n over the listed repositories"
|
|
167
|
+
});
|
|
168
|
+
}).optional()
|
|
169
|
+
}).refine((input) => Object.keys(input).length > 0, { message: "At least one environment field is required" });
|
|
41
170
|
const stagesSchema = z.array(z.string().max(64).regex(/^[a-z0-9][a-z0-9_-]*$/i)).min(1).max(16).refine((stages) => new Set(stages).size === stages.length, { message: "Stages must be unique" });
|
|
42
171
|
const externalSourceSchema = z.object({
|
|
43
172
|
integrationId: z.string().min(1).max(128),
|
|
@@ -267,6 +396,42 @@ const FACTORY_ROUTE_CONTRACTS = {
|
|
|
267
396
|
bodySchema: updateProjectBodySchema,
|
|
268
397
|
responseSchema: projectResponseSchema
|
|
269
398
|
},
|
|
399
|
+
projectEnvironmentGet: {
|
|
400
|
+
method: "GET",
|
|
401
|
+
path: "/web/factory/projects/:id/environment",
|
|
402
|
+
description: "Get the sandbox environment of a Factory project: provider settings and its repositories in order",
|
|
403
|
+
pathSchema: projectPathSchema,
|
|
404
|
+
responseSchema: projectEnvironmentResponseSchema
|
|
405
|
+
},
|
|
406
|
+
projectEnvironmentUpdate: {
|
|
407
|
+
method: "PATCH",
|
|
408
|
+
path: "/web/factory/projects/:id/environment",
|
|
409
|
+
description: "Update the sandbox environment of a Factory project: provider settings, repository order and setup",
|
|
410
|
+
pathSchema: projectPathSchema,
|
|
411
|
+
bodySchema: updateProjectEnvironmentBodySchema,
|
|
412
|
+
responseSchema: projectEnvironmentResponseSchema
|
|
413
|
+
},
|
|
414
|
+
projectEnvironmentBuild: {
|
|
415
|
+
method: "POST",
|
|
416
|
+
path: "/web/factory/projects/:id/environment/build",
|
|
417
|
+
description: "Build the sandbox environment template of a Factory project now",
|
|
418
|
+
pathSchema: projectPathSchema,
|
|
419
|
+
responseSchema: environmentBuildStartResponseSchema
|
|
420
|
+
},
|
|
421
|
+
projectEnvironmentBuilds: {
|
|
422
|
+
method: "GET",
|
|
423
|
+
path: "/web/factory/projects/:id/environment/builds",
|
|
424
|
+
description: "List the environment template builds of a Factory project, newest first, when the provider keeps history",
|
|
425
|
+
pathSchema: projectPathSchema,
|
|
426
|
+
responseSchema: environmentBuildsResponseSchema
|
|
427
|
+
},
|
|
428
|
+
projectEnvironmentBuildGet: {
|
|
429
|
+
method: "GET",
|
|
430
|
+
path: "/web/factory/projects/:id/environment/builds/:buildId",
|
|
431
|
+
description: "Get the live status of one environment template build of a Factory project",
|
|
432
|
+
pathSchema: buildPathSchema,
|
|
433
|
+
responseSchema: environmentBuildResponseSchema
|
|
434
|
+
},
|
|
270
435
|
projectApplyDefaultModel: {
|
|
271
436
|
method: "POST",
|
|
272
437
|
path: "/web/factory/projects/:id/apply-default-model",
|
|
@@ -503,6 +668,6 @@ const FACTORY_ROUTE_CONTRACTS = {
|
|
|
503
668
|
}
|
|
504
669
|
};
|
|
505
670
|
//#endregion
|
|
506
|
-
export { FACTORY_ROUTE_CONTRACTS, UUID_PATTERN, attentionQuerySchema, automationRunStartBodySchema, createProjectBodySchema, createWorkItemBodySchema, decisionQuerySchema, metricsQuerySchema, startWorkItemBodySchema, transitionBodySchema, updateProjectBodySchema, updateWorkItemBodySchema };
|
|
671
|
+
export { FACTORY_ROUTE_CONTRACTS, UUID_PATTERN, attentionQuerySchema, automationRunStartBodySchema, createProjectBodySchema, createWorkItemBodySchema, decisionQuerySchema, environmentBuildResponseSchema, environmentBuildSchema, environmentBuildStartResponseSchema, environmentBuildTriggersSchema, environmentBuildsResponseSchema, environmentLastBuildSchema, environmentSandboxSchema, metricsQuerySchema, projectEnvironmentResponseSchema, startWorkItemBodySchema, transitionBodySchema, updateProjectBodySchema, updateProjectEnvironmentBodySchema, updateWorkItemBodySchema };
|
|
507
672
|
|
|
508
673
|
//# sourceMappingURL=contracts.js.map
|