@sand.ai/vibable-cli 0.3.6 → 0.3.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/dist/agent-control-context.d.ts +19 -0
- package/dist/agent-control-context.d.ts.map +1 -0
- package/dist/agent-control-context.js +67 -0
- package/dist/agent-control-context.js.map +1 -0
- package/dist/args.d.ts +9 -2
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js +42 -16
- package/dist/args.js.map +1 -1
- package/dist/command-manifest.d.ts +476 -0
- package/dist/command-manifest.d.ts.map +1 -0
- package/dist/command-manifest.js +338 -0
- package/dist/command-manifest.js.map +1 -0
- package/dist/deployment-client.d.ts +3 -0
- package/dist/deployment-client.d.ts.map +1 -0
- package/dist/deployment-client.js +150 -0
- package/dist/deployment-client.js.map +1 -0
- package/dist/deployment-contract.d.ts +75 -0
- package/dist/deployment-contract.d.ts.map +1 -0
- package/dist/deployment-contract.js +2 -0
- package/dist/deployment-contract.js.map +1 -0
- package/dist/deployment.d.ts +55 -0
- package/dist/deployment.d.ts.map +1 -0
- package/dist/deployment.js +252 -0
- package/dist/deployment.js.map +1 -0
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +32 -121
- package/dist/help.js.map +1 -1
- package/dist/hosting.d.ts +1 -17
- package/dist/hosting.d.ts.map +1 -1
- package/dist/hosting.js +15 -233
- package/dist/hosting.js.map +1 -1
- package/dist/index.js +127 -115
- package/dist/index.js.map +1 -1
- package/dist/platform-commands.d.ts +6 -0
- package/dist/platform-commands.d.ts.map +1 -0
- package/dist/platform-commands.js +47 -0
- package/dist/platform-commands.js.map +1 -0
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +1 -0
- package/dist/sync.js.map +1 -1
- package/dist/workspace-client.d.ts +48 -0
- package/dist/workspace-client.d.ts.map +1 -0
- package/dist/workspace-client.js +112 -0
- package/dist/workspace-client.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
export const cliCommandManifest = [
|
|
2
|
+
{
|
|
3
|
+
id: "root",
|
|
4
|
+
path: [],
|
|
5
|
+
executable: false,
|
|
6
|
+
usage: ["vibable <command> [options]"],
|
|
7
|
+
agentUsage: ["--help"],
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
id: "auth",
|
|
11
|
+
path: ["auth"],
|
|
12
|
+
executable: false,
|
|
13
|
+
usage: ["vibable auth login --api <url>"],
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
id: "auth.login",
|
|
17
|
+
path: ["auth", "login"],
|
|
18
|
+
executable: true,
|
|
19
|
+
description: "Authorize the CLI through the user's existing Vibable Web login.",
|
|
20
|
+
usage: ["vibable auth login --api <url>"],
|
|
21
|
+
rootSummary: "Authorize the CLI through Vibable Web",
|
|
22
|
+
agentUsage: ["auth login --api <url>"],
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: "guide",
|
|
26
|
+
path: ["guide"],
|
|
27
|
+
executable: true,
|
|
28
|
+
description: "Read the public Agent Skill catalog or one Skill. Authentication is not required.",
|
|
29
|
+
usage: ["vibable guide [skill] [--api <url>]"],
|
|
30
|
+
examples: ["vibable guide", "vibable guide vibable-runtime"],
|
|
31
|
+
rootSummary: "Read the Agent Skill catalog or one Skill",
|
|
32
|
+
agentUsage: ["guide [skill]"],
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: "dev",
|
|
36
|
+
path: ["dev"],
|
|
37
|
+
executable: false,
|
|
38
|
+
description: "Create and manage a CLI-backed local development session.",
|
|
39
|
+
usage: [
|
|
40
|
+
"vibable dev init [--api <url>] [--config <path>] <directory>",
|
|
41
|
+
"vibable dev connect --api <url> --session <id> --token <token> <directory>",
|
|
42
|
+
"vibable dev start",
|
|
43
|
+
"vibable dev status",
|
|
44
|
+
"vibable dev stop",
|
|
45
|
+
],
|
|
46
|
+
rootSummary: "Create and manage a local development session",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
id: "dev.init",
|
|
50
|
+
path: ["dev", "init"],
|
|
51
|
+
executable: true,
|
|
52
|
+
description: "Upload a local project, create or resume its Feature, and start synchronization.",
|
|
53
|
+
usage: [
|
|
54
|
+
"vibable dev init [--api <url>] [--config <path>] <directory>",
|
|
55
|
+
],
|
|
56
|
+
agentUsage: [
|
|
57
|
+
"dev init [--config .vibable/vibable.yaml] <directory>",
|
|
58
|
+
],
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
id: "dev.connect",
|
|
62
|
+
path: ["dev", "connect"],
|
|
63
|
+
executable: true,
|
|
64
|
+
description: "Connect to an existing Feature using the command generated by Vibable.",
|
|
65
|
+
usage: [
|
|
66
|
+
"vibable dev connect --api <url> --session <id> --token <token> <directory>",
|
|
67
|
+
],
|
|
68
|
+
agentUsage: [
|
|
69
|
+
"dev connect --api <url> --session <id> --token <token> <directory>",
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
id: "dev.start",
|
|
74
|
+
path: ["dev", "start"],
|
|
75
|
+
executable: true,
|
|
76
|
+
usage: ["vibable dev start"],
|
|
77
|
+
agentUsage: ["dev start"],
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
id: "dev.status",
|
|
81
|
+
path: ["dev", "status"],
|
|
82
|
+
executable: true,
|
|
83
|
+
usage: ["vibable dev status"],
|
|
84
|
+
agentUsage: ["dev status"],
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
id: "dev.stop",
|
|
88
|
+
path: ["dev", "stop"],
|
|
89
|
+
executable: true,
|
|
90
|
+
usage: ["vibable dev stop"],
|
|
91
|
+
agentUsage: ["dev stop"],
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id: "config",
|
|
95
|
+
path: ["config"],
|
|
96
|
+
executable: false,
|
|
97
|
+
usage: ["vibable config apply [--config <path>]"],
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
id: "config.apply",
|
|
101
|
+
path: ["config", "apply"],
|
|
102
|
+
executable: true,
|
|
103
|
+
description: "Apply the local Vibable runtime configuration and rebuild the Feature Pod.",
|
|
104
|
+
usage: ["vibable config apply [--config <path>]"],
|
|
105
|
+
rootSummary: "Apply vibable.yaml and rebuild Preview",
|
|
106
|
+
agentUsage: ["config apply"],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
id: "deploy",
|
|
110
|
+
path: ["deploy"],
|
|
111
|
+
executable: true,
|
|
112
|
+
description: "Publish a Deployment Revision.",
|
|
113
|
+
usage: [
|
|
114
|
+
"vibable deploy [--subdomain <subdomain>] [--access <public|authenticated>]",
|
|
115
|
+
],
|
|
116
|
+
rootSummary: "Build and publish a Deployment",
|
|
117
|
+
agentUsage: [
|
|
118
|
+
"deploy [--subdomain <subdomain>] [--access public|authenticated]",
|
|
119
|
+
],
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
id: "deployment",
|
|
123
|
+
path: ["deployment"],
|
|
124
|
+
executable: false,
|
|
125
|
+
description: "Inspect and operate the formal Deployment independently from Feature Preview.",
|
|
126
|
+
usage: [
|
|
127
|
+
"vibable deployment status",
|
|
128
|
+
"vibable deployment revisions",
|
|
129
|
+
"vibable deployment logs [--revision <latest|active|id|sequence>] [--follow]",
|
|
130
|
+
"vibable deployment stop",
|
|
131
|
+
],
|
|
132
|
+
rootSummary: "Inspect and operate the formal Deployment",
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
id: "deployment.status",
|
|
136
|
+
path: ["deployment", "status"],
|
|
137
|
+
executable: true,
|
|
138
|
+
usage: ["vibable deployment status"],
|
|
139
|
+
agentUsage: ["deployment status"],
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
id: "deployment.revisions",
|
|
143
|
+
path: ["deployment", "revisions"],
|
|
144
|
+
executable: true,
|
|
145
|
+
description: "List immutable Deployment Revisions.",
|
|
146
|
+
usage: ["vibable deployment revisions"],
|
|
147
|
+
agentUsage: ["deployment revisions"],
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
id: "deployment.logs",
|
|
151
|
+
path: ["deployment", "logs"],
|
|
152
|
+
executable: true,
|
|
153
|
+
description: "Read the complete retained log history for one Deployment Revision, then optionally follow new entries.",
|
|
154
|
+
usage: [
|
|
155
|
+
"vibable deployment logs [--revision <latest|active|id|sequence>] [--follow]",
|
|
156
|
+
],
|
|
157
|
+
agentUsage: [
|
|
158
|
+
"deployment logs [--revision <latest|active|id|sequence>] [--follow]",
|
|
159
|
+
],
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
id: "deployment.stop",
|
|
163
|
+
path: ["deployment", "stop"],
|
|
164
|
+
executable: true,
|
|
165
|
+
description: "Take the stable Deployment URL offline while preserving its identity and Revision history.",
|
|
166
|
+
usage: ["vibable deployment stop"],
|
|
167
|
+
agentUsage: ["deployment stop"],
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
id: "env",
|
|
171
|
+
path: ["env"],
|
|
172
|
+
executable: false,
|
|
173
|
+
usage: ["vibable env <set|list|unset> --deployment"],
|
|
174
|
+
rootSummary: "Manage Deployment environment variables",
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
id: "env.set",
|
|
178
|
+
path: ["env", "set"],
|
|
179
|
+
executable: true,
|
|
180
|
+
usage: [
|
|
181
|
+
"vibable env set KEY=value --deployment [--secret] [--redeploy]",
|
|
182
|
+
"vibable env set KEY --deployment --stdin [--secret] [--redeploy]",
|
|
183
|
+
"vibable env set KEY --deployment --from-file <path> [--secret] [--redeploy]",
|
|
184
|
+
],
|
|
185
|
+
agentUsage: [
|
|
186
|
+
"env set KEY=value --deployment [--secret] [--redeploy]",
|
|
187
|
+
"env set KEY --secret --stdin --deployment [--redeploy]",
|
|
188
|
+
"env set KEY --from-file <path> --deployment [--secret] [--redeploy]",
|
|
189
|
+
],
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
id: "env.list",
|
|
193
|
+
path: ["env", "list"],
|
|
194
|
+
executable: true,
|
|
195
|
+
usage: ["vibable env list --deployment"],
|
|
196
|
+
agentUsage: ["env list --deployment"],
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
id: "env.unset",
|
|
200
|
+
path: ["env", "unset"],
|
|
201
|
+
executable: true,
|
|
202
|
+
usage: ["vibable env unset KEY --deployment [--redeploy]"],
|
|
203
|
+
agentUsage: ["env unset KEY --deployment [--redeploy]"],
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
id: "status",
|
|
207
|
+
path: ["status"],
|
|
208
|
+
executable: true,
|
|
209
|
+
usage: ["vibable status"],
|
|
210
|
+
rootSummary: "Show Feature runtime status and service URL",
|
|
211
|
+
agentUsage: ["status"],
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
id: "logs",
|
|
215
|
+
path: ["logs"],
|
|
216
|
+
executable: true,
|
|
217
|
+
description: "Read the complete retained Feature log history, then optionally follow new entries.",
|
|
218
|
+
usage: ["vibable logs [--follow]"],
|
|
219
|
+
rootSummary: "Read complete Feature logs or follow new entries",
|
|
220
|
+
agentUsage: ["logs [--follow]"],
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
id: "exec",
|
|
224
|
+
path: ["exec"],
|
|
225
|
+
executable: true,
|
|
226
|
+
description: "Run a command in the active Feature Pod.",
|
|
227
|
+
usage: [
|
|
228
|
+
"vibable exec [--api <url> --session <id> --token <token>] [--shell] -- <command>",
|
|
229
|
+
],
|
|
230
|
+
rootSummary: "Run a command in the Feature Pod",
|
|
231
|
+
agentUsage: ["exec [--shell] -- <command>"],
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
id: "data",
|
|
235
|
+
path: ["data"],
|
|
236
|
+
executable: false,
|
|
237
|
+
usage: ["vibable data migrate [--wait] <operation.json|->"],
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
id: "data.migrate",
|
|
241
|
+
path: ["data", "migrate"],
|
|
242
|
+
executable: true,
|
|
243
|
+
description: "Apply a Managed Data schema operation from a file or stdin.",
|
|
244
|
+
usage: ["vibable data migrate [--wait] <operation.json|->"],
|
|
245
|
+
rootSummary: "Apply a Managed Data schema operation",
|
|
246
|
+
agentUsage: ["data migrate --wait <operation.json|->"],
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
id: "app-auth",
|
|
250
|
+
path: ["app-auth"],
|
|
251
|
+
executable: false,
|
|
252
|
+
usage: ["vibable app-auth enable"],
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
id: "app-auth.enable",
|
|
256
|
+
path: ["app-auth", "enable"],
|
|
257
|
+
executable: true,
|
|
258
|
+
description: "Enable Vibable App Auth for the bound project.",
|
|
259
|
+
usage: ["vibable app-auth enable"],
|
|
260
|
+
rootSummary: "Enable Vibable App Auth",
|
|
261
|
+
agentUsage: ["app-auth enable"],
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
id: "sync.init",
|
|
265
|
+
path: ["sync", "init"],
|
|
266
|
+
executable: true,
|
|
267
|
+
usage: [
|
|
268
|
+
"vibable sync init [--api <url>] [--config <path>] <directory>",
|
|
269
|
+
],
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
id: "sync.watch",
|
|
273
|
+
path: ["sync", "watch"],
|
|
274
|
+
executable: true,
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
id: "sync.start",
|
|
278
|
+
path: ["sync", "start"],
|
|
279
|
+
executable: true,
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
id: "sync.status",
|
|
283
|
+
path: ["sync", "status"],
|
|
284
|
+
executable: true,
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
id: "sync.stop",
|
|
288
|
+
path: ["sync", "stop"],
|
|
289
|
+
executable: true,
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
id: "sync.daemon",
|
|
293
|
+
path: ["sync", "daemon"],
|
|
294
|
+
executable: true,
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
id: "connect",
|
|
298
|
+
path: ["connect"],
|
|
299
|
+
executable: true,
|
|
300
|
+
usage: [
|
|
301
|
+
"vibable connect --api <url> --session <id> --token <token> <directory>",
|
|
302
|
+
],
|
|
303
|
+
},
|
|
304
|
+
];
|
|
305
|
+
export function resolveCliInvocation(args) {
|
|
306
|
+
const command = [...cliCommandManifest]
|
|
307
|
+
.filter((candidate) => candidate.executable)
|
|
308
|
+
.sort((left, right) => right.path.length - left.path.length)
|
|
309
|
+
.find((candidate) => candidate.path.every((segment, index) => args[index] === segment));
|
|
310
|
+
return command
|
|
311
|
+
? {
|
|
312
|
+
command,
|
|
313
|
+
args: args.slice(command.path.length),
|
|
314
|
+
}
|
|
315
|
+
: null;
|
|
316
|
+
}
|
|
317
|
+
export function findCliCommandForHelp(args) {
|
|
318
|
+
for (let length = args.length; length >= 0; length -= 1) {
|
|
319
|
+
const command = cliCommandManifest.find((candidate) => candidate.path.length === length &&
|
|
320
|
+
candidate.path.every((segment, index) => args[index] === segment));
|
|
321
|
+
if (command)
|
|
322
|
+
return command;
|
|
323
|
+
}
|
|
324
|
+
return cliCommandManifest[0];
|
|
325
|
+
}
|
|
326
|
+
export function listAgentCliUsages() {
|
|
327
|
+
return cliCommandManifest.flatMap((command) => "agentUsage" in command ? command.agentUsage : []);
|
|
328
|
+
}
|
|
329
|
+
export function formatCliUsage(commandId) {
|
|
330
|
+
const command = cliCommandManifest.find((candidate) => candidate.id === commandId);
|
|
331
|
+
if (!command || !("usage" in command)) {
|
|
332
|
+
throw new Error(`CLI command ${commandId} does not declare its usage.`);
|
|
333
|
+
}
|
|
334
|
+
return `Usage:\n${command.usage
|
|
335
|
+
.map((usage) => ` ${usage}`)
|
|
336
|
+
.join("\n")}`;
|
|
337
|
+
}
|
|
338
|
+
//# sourceMappingURL=command-manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-manifest.js","sourceRoot":"","sources":["../src/command-manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployment-client.d.ts","sourceRoot":"","sources":["../src/deployment-client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,uBAAuB,EAKxB,MAAM,0BAA0B,CAAC;AAUlC,wBAAsB,8BAA8B,CAClD,GAAG,SAAgB,EACnB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,uBAAuB,CAAC,CAWlC"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { startHostingSync } from "./hosting.js";
|
|
2
|
+
import { readAgentControlContext, requireAgentCapability, } from "./agent-control-context.js";
|
|
3
|
+
import { deleteRequest, getJson, postJson, putJson, readWorkspaceContext, } from "./workspace-client.js";
|
|
4
|
+
export async function resolveDeploymentControlClient(cwd = process.cwd(), env = process.env) {
|
|
5
|
+
const agentContext = readAgentControlContext(env);
|
|
6
|
+
if (agentContext) {
|
|
7
|
+
return createAgentDeploymentClient({
|
|
8
|
+
apiUrl: requireAgentCapability(agentContext, "deploymentApiUrl"),
|
|
9
|
+
token: agentContext.token,
|
|
10
|
+
projectSlug: agentContext.projectSlug,
|
|
11
|
+
featureSlug: agentContext.featureSlug,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
return createLocalDeploymentClient(await readWorkspaceContext(cwd));
|
|
15
|
+
}
|
|
16
|
+
function createLocalDeploymentClient(context) {
|
|
17
|
+
const featurePath = `/api/workspace/features/${encodeURIComponent(context.binding.featureSlug)}`;
|
|
18
|
+
const deploymentPath = (deploymentId) => `/api/workspace/deployments/${encodeURIComponent(deploymentId)}`;
|
|
19
|
+
return {
|
|
20
|
+
mode: "local-user",
|
|
21
|
+
projectSlug: context.binding.projectSlug,
|
|
22
|
+
featureSlug: context.binding.featureSlug,
|
|
23
|
+
preparePublish: () => startHostingSync(context.binding.root),
|
|
24
|
+
apply: (input) => postJson({
|
|
25
|
+
apiBaseUrl: context.binding.apiBaseUrl,
|
|
26
|
+
token: context.auth.token,
|
|
27
|
+
path: `${featurePath}/deployments/apply`,
|
|
28
|
+
body: {
|
|
29
|
+
spec: {
|
|
30
|
+
...(input.subdomain ? { subdomain: input.subdomain } : {}),
|
|
31
|
+
...(input.accessMode ? { accessMode: input.accessMode } : {}),
|
|
32
|
+
},
|
|
33
|
+
release: { source: "feature-worktree" },
|
|
34
|
+
},
|
|
35
|
+
}),
|
|
36
|
+
ensure: async (input) => {
|
|
37
|
+
await postJson({
|
|
38
|
+
apiBaseUrl: context.binding.apiBaseUrl,
|
|
39
|
+
token: context.auth.token,
|
|
40
|
+
path: `${featurePath}/deployments/ensure`,
|
|
41
|
+
body: {
|
|
42
|
+
subdomain: input.subdomain,
|
|
43
|
+
visibility: "public",
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
},
|
|
47
|
+
listDeployments: () => getJson({
|
|
48
|
+
apiBaseUrl: context.binding.apiBaseUrl,
|
|
49
|
+
token: context.auth.token,
|
|
50
|
+
path: `${featurePath}/deployments`,
|
|
51
|
+
}).then(({ deployments }) => deployments),
|
|
52
|
+
listRevisions: (deploymentId) => getJson({
|
|
53
|
+
apiBaseUrl: context.binding.apiBaseUrl,
|
|
54
|
+
token: context.auth.token,
|
|
55
|
+
path: `${deploymentPath(deploymentId)}/revisions`,
|
|
56
|
+
}).then(({ revisions }) => revisions),
|
|
57
|
+
readRevisionLogs: (deploymentId, revisionId) => getJson({
|
|
58
|
+
apiBaseUrl: context.binding.apiBaseUrl,
|
|
59
|
+
token: context.auth.token,
|
|
60
|
+
path: `${deploymentPath(deploymentId)}/revisions/${encodeURIComponent(revisionId)}/logs?history=all`,
|
|
61
|
+
}),
|
|
62
|
+
stop: async (deploymentId) => {
|
|
63
|
+
await postJson({
|
|
64
|
+
apiBaseUrl: context.binding.apiBaseUrl,
|
|
65
|
+
token: context.auth.token,
|
|
66
|
+
path: `${deploymentPath(deploymentId)}/stop`,
|
|
67
|
+
body: {},
|
|
68
|
+
});
|
|
69
|
+
},
|
|
70
|
+
listEnvironment: (deploymentId) => getJson({
|
|
71
|
+
apiBaseUrl: context.binding.apiBaseUrl,
|
|
72
|
+
token: context.auth.token,
|
|
73
|
+
path: `${deploymentPath(deploymentId)}/env`,
|
|
74
|
+
}).then(({ variables }) => variables),
|
|
75
|
+
setEnvironment: (deploymentId, key, input) => putJson({
|
|
76
|
+
apiBaseUrl: context.binding.apiBaseUrl,
|
|
77
|
+
token: context.auth.token,
|
|
78
|
+
path: `${deploymentPath(deploymentId)}/env/${encodeURIComponent(key)}`,
|
|
79
|
+
body: input,
|
|
80
|
+
}),
|
|
81
|
+
unsetEnvironment: (deploymentId, key) => deleteRequest({
|
|
82
|
+
apiBaseUrl: context.binding.apiBaseUrl,
|
|
83
|
+
token: context.auth.token,
|
|
84
|
+
path: `${deploymentPath(deploymentId)}/env/${encodeURIComponent(key)}`,
|
|
85
|
+
}),
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
function createAgentDeploymentClient(binding) {
|
|
89
|
+
const request = {
|
|
90
|
+
apiBaseUrl: binding.apiUrl,
|
|
91
|
+
token: binding.token,
|
|
92
|
+
};
|
|
93
|
+
return {
|
|
94
|
+
mode: "agent-scoped",
|
|
95
|
+
projectSlug: binding.projectSlug,
|
|
96
|
+
featureSlug: binding.featureSlug,
|
|
97
|
+
preparePublish: async () => undefined,
|
|
98
|
+
apply: (input) => postJson({
|
|
99
|
+
...request,
|
|
100
|
+
path: "/publish",
|
|
101
|
+
body: {
|
|
102
|
+
spec: {
|
|
103
|
+
...(input.subdomain ? { subdomain: input.subdomain } : {}),
|
|
104
|
+
...(input.accessMode ? { accessMode: input.accessMode } : {}),
|
|
105
|
+
},
|
|
106
|
+
release: { source: "feature-worktree" },
|
|
107
|
+
},
|
|
108
|
+
}),
|
|
109
|
+
ensure: async (input) => {
|
|
110
|
+
await postJson({
|
|
111
|
+
...request,
|
|
112
|
+
path: "/ensure",
|
|
113
|
+
body: input,
|
|
114
|
+
});
|
|
115
|
+
},
|
|
116
|
+
listDeployments: () => getJson({
|
|
117
|
+
...request,
|
|
118
|
+
path: "",
|
|
119
|
+
}).then(({ deployment }) => deployment ? [deployment] : []),
|
|
120
|
+
listRevisions: () => getJson({
|
|
121
|
+
...request,
|
|
122
|
+
path: "/revisions",
|
|
123
|
+
}).then(({ revisions }) => revisions),
|
|
124
|
+
readRevisionLogs: (_deploymentId, revisionId) => getJson({
|
|
125
|
+
...request,
|
|
126
|
+
path: `/revisions/${encodeURIComponent(revisionId)}/logs?history=all`,
|
|
127
|
+
}),
|
|
128
|
+
stop: async () => {
|
|
129
|
+
await postJson({
|
|
130
|
+
...request,
|
|
131
|
+
path: "/stop",
|
|
132
|
+
body: {},
|
|
133
|
+
});
|
|
134
|
+
},
|
|
135
|
+
listEnvironment: () => getJson({
|
|
136
|
+
...request,
|
|
137
|
+
path: "/env",
|
|
138
|
+
}).then(({ variables }) => variables),
|
|
139
|
+
setEnvironment: (_deploymentId, key, input) => putJson({
|
|
140
|
+
...request,
|
|
141
|
+
path: `/env/${encodeURIComponent(key)}`,
|
|
142
|
+
body: input,
|
|
143
|
+
}),
|
|
144
|
+
unsetEnvironment: (_deploymentId, key) => deleteRequest({
|
|
145
|
+
...request,
|
|
146
|
+
path: `/env/${encodeURIComponent(key)}`,
|
|
147
|
+
}),
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=deployment-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployment-client.js","sourceRoot":"","sources":["../src/deployment-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AASpC,OAAO,EACL,aAAa,EACb,OAAO,EACP,QAAQ,EACR,OAAO,EACP,oBAAoB,GAErB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EACnB,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,YAAY,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,2BAA2B,CAAC;YACjC,MAAM,EAAE,sBAAsB,CAAC,YAAY,EAAE,kBAAkB,CAAC;YAChE,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,WAAW,EAAE,YAAY,CAAC,WAAW;SACtC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,2BAA2B,CAAC,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,2BAA2B,CAClC,OAAyB;IAEzB,MAAM,WAAW,GACf,2BAA2B,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;IAC/E,MAAM,cAAc,GAAG,CAAC,YAAoB,EAAE,EAAE,CAC9C,8BAA8B,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;IACnE,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;QACxC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;QACxC,cAAc,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5D,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,QAAQ,CAAwB;YAC9B,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;YACtC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;YACzB,IAAI,EAAE,GAAG,WAAW,oBAAoB;YACxC,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1D,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9D;gBACD,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;aACxC;SACF,CAAC;QACJ,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACtB,MAAM,QAAQ,CAAC;gBACb,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;gBACtC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;gBACzB,IAAI,EAAE,GAAG,WAAW,qBAAqB;gBACzC,IAAI,EAAE;oBACJ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,UAAU,EAAE,QAAQ;iBACrB;aACF,CAAC,CAAC;QACL,CAAC;QACD,eAAe,EAAE,GAAG,EAAE,CACpB,OAAO,CAAuC;YAC5C,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;YACtC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;YACzB,IAAI,EAAE,GAAG,WAAW,cAAc;SACnC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC;QAC3C,aAAa,EAAE,CAAC,YAAY,EAAE,EAAE,CAC9B,OAAO,CAA6C;YAClD,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;YACtC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;YACzB,IAAI,EAAE,GAAG,cAAc,CAAC,YAAY,CAAC,YAAY;SAClD,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC;QACvC,gBAAgB,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE,CAC7C,OAAO,CAAyB;YAC9B,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;YACtC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;YACzB,IAAI,EACF,GAAG,cAAc,CAAC,YAAY,CAAC,cAAc,kBAAkB,CAAC,UAAU,CAAC,mBAAmB;SACjG,CAAC;QACJ,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;YAC3B,MAAM,QAAQ,CAAC;gBACb,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;gBACtC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;gBACzB,IAAI,EAAE,GAAG,cAAc,CAAC,YAAY,CAAC,OAAO;gBAC5C,IAAI,EAAE,EAAE;aACT,CAAC,CAAC;QACL,CAAC;QACD,eAAe,EAAE,CAAC,YAAY,EAAE,EAAE,CAChC,OAAO,CAAiD;YACtD,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;YACtC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;YACzB,IAAI,EAAE,GAAG,cAAc,CAAC,YAAY,CAAC,MAAM;SAC5C,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC;QACvC,cAAc,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAC3C,OAAO,CAAC;YACN,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;YACtC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;YACzB,IAAI,EACF,GAAG,cAAc,CAAC,YAAY,CAAC,QAAQ,kBAAkB,CAAC,GAAG,CAAC,EAAE;YAClE,IAAI,EAAE,KAAK;SACZ,CAAC;QACJ,gBAAgB,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,CACtC,aAAa,CAAC;YACZ,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;YACtC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;YACzB,IAAI,EACF,GAAG,cAAc,CAAC,YAAY,CAAC,QAAQ,kBAAkB,CAAC,GAAG,CAAC,EAAE;SACnE,CAAC;KACL,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,OAKC;IAED,MAAM,OAAO,GAAG;QACd,UAAU,EAAE,OAAO,CAAC,MAAM;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;IACF,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QACrC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,QAAQ,CAAwB;YAC9B,GAAG,OAAO;YACV,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1D,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9D;gBACD,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;aACxC;SACF,CAAC;QACJ,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACtB,MAAM,QAAQ,CAAC;gBACb,GAAG,OAAO;gBACV,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;QACL,CAAC;QACD,eAAe,EAAE,GAAG,EAAE,CACpB,OAAO,CAA2C;YAChD,GAAG,OAAO;YACV,IAAI,EAAE,EAAE;SACT,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,aAAa,EAAE,GAAG,EAAE,CAClB,OAAO,CAA6C;YAClD,GAAG,OAAO;YACV,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC;QACvC,gBAAgB,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,EAAE,CAC9C,OAAO,CAAyB;YAC9B,GAAG,OAAO;YACV,IAAI,EAAE,cAAc,kBAAkB,CAAC,UAAU,CAAC,mBAAmB;SACtE,CAAC;QACJ,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,MAAM,QAAQ,CAAC;gBACb,GAAG,OAAO;gBACV,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,EAAE;aACT,CAAC,CAAC;QACL,CAAC;QACD,eAAe,EAAE,GAAG,EAAE,CACpB,OAAO,CAAiD;YACtD,GAAG,OAAO;YACV,IAAI,EAAE,MAAM;SACb,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC;QACvC,cAAc,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAC5C,OAAO,CAAC;YACN,GAAG,OAAO;YACV,IAAI,EAAE,QAAQ,kBAAkB,CAAC,GAAG,CAAC,EAAE;YACvC,IAAI,EAAE,KAAK;SACZ,CAAC;QACJ,gBAAgB,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CACvC,aAAa,CAAC;YACZ,GAAG,OAAO;YACV,IAAI,EAAE,QAAQ,kBAAkB,CAAC,GAAG,CAAC,EAAE;SACxC,CAAC;KACL,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
export type DeploymentRuntimePhase = "queued" | "provisioning_runtime" | "preparing_source" | "building" | "starting" | "ready" | "stopping" | "stopped" | "failed";
|
|
2
|
+
export type DeploymentRevisionSummary = {
|
|
3
|
+
id: string;
|
|
4
|
+
sequence: number;
|
|
5
|
+
sourceCommit?: string;
|
|
6
|
+
publishAttempt?: number;
|
|
7
|
+
status: string;
|
|
8
|
+
runtimePhase: DeploymentRuntimePhase;
|
|
9
|
+
errorMessage: string | null;
|
|
10
|
+
createdAt?: string;
|
|
11
|
+
updatedAt?: string;
|
|
12
|
+
readyAt?: string | null;
|
|
13
|
+
failedAt?: string | null;
|
|
14
|
+
};
|
|
15
|
+
export type DeploymentSummary = {
|
|
16
|
+
id: string;
|
|
17
|
+
accessMode: "public" | "authenticated";
|
|
18
|
+
subdomain: string;
|
|
19
|
+
publicDomain: string;
|
|
20
|
+
url: string;
|
|
21
|
+
status: "active" | "inactive";
|
|
22
|
+
activeRevision: DeploymentRevisionSummary | null;
|
|
23
|
+
latestRevision: DeploymentRevisionSummary | null;
|
|
24
|
+
};
|
|
25
|
+
export type DeploymentLogEntry = {
|
|
26
|
+
id: string;
|
|
27
|
+
source?: "service" | "agent" | "runtime";
|
|
28
|
+
level: "info" | "warn" | "error";
|
|
29
|
+
message: string;
|
|
30
|
+
sequence: number;
|
|
31
|
+
createdAt: string;
|
|
32
|
+
};
|
|
33
|
+
export type DeploymentRevisionLogs = {
|
|
34
|
+
status: string;
|
|
35
|
+
runtimePhase: DeploymentRuntimePhase;
|
|
36
|
+
historyComplete: boolean;
|
|
37
|
+
logs: DeploymentLogEntry[];
|
|
38
|
+
};
|
|
39
|
+
export type DeploymentEnvironmentVariable = {
|
|
40
|
+
key: string;
|
|
41
|
+
secret: boolean;
|
|
42
|
+
scope: "deployment";
|
|
43
|
+
updatedAt: string;
|
|
44
|
+
};
|
|
45
|
+
export type DeploymentApplyResult = {
|
|
46
|
+
deployment: DeploymentSummary;
|
|
47
|
+
revision: {
|
|
48
|
+
id: string;
|
|
49
|
+
reused?: boolean;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
export type DeploymentControlClient = {
|
|
53
|
+
mode: "local-user" | "agent-scoped";
|
|
54
|
+
projectSlug: string;
|
|
55
|
+
featureSlug: string;
|
|
56
|
+
preparePublish: () => Promise<void>;
|
|
57
|
+
apply: (input: {
|
|
58
|
+
subdomain?: string;
|
|
59
|
+
accessMode?: "public" | "authenticated";
|
|
60
|
+
}) => Promise<DeploymentApplyResult>;
|
|
61
|
+
ensure: (input: {
|
|
62
|
+
subdomain: string;
|
|
63
|
+
}) => Promise<void>;
|
|
64
|
+
listDeployments: () => Promise<DeploymentSummary[]>;
|
|
65
|
+
listRevisions: (deploymentId: string) => Promise<DeploymentRevisionSummary[]>;
|
|
66
|
+
readRevisionLogs: (deploymentId: string, revisionId: string) => Promise<DeploymentRevisionLogs>;
|
|
67
|
+
stop: (deploymentId: string) => Promise<void>;
|
|
68
|
+
listEnvironment: (deploymentId: string) => Promise<DeploymentEnvironmentVariable[]>;
|
|
69
|
+
setEnvironment: (deploymentId: string, key: string, input: {
|
|
70
|
+
value: string;
|
|
71
|
+
secret: boolean;
|
|
72
|
+
}) => Promise<void>;
|
|
73
|
+
unsetEnvironment: (deploymentId: string, key: string) => Promise<void>;
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=deployment-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployment-contract.d.ts","sourceRoot":"","sources":["../src/deployment-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployment-contract.js","sourceRoot":"","sources":["../src/deployment-contract.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { DeploymentControlClient, DeploymentLogEntry, DeploymentRevisionLogs, DeploymentRevisionSummary, DeploymentRuntimePhase, DeploymentSummary } from "./deployment-contract.js";
|
|
2
|
+
export type { DeploymentRevisionSummary, DeploymentRuntimePhase, DeploymentSummary, } from "./deployment-contract.js";
|
|
3
|
+
type DeploymentOperationsContext = {
|
|
4
|
+
projectSlug: string;
|
|
5
|
+
featureSlug: string;
|
|
6
|
+
control?: DeploymentControlClient;
|
|
7
|
+
};
|
|
8
|
+
export type DeploymentOperationsAdapter = {
|
|
9
|
+
readContext: (cwd: string) => Promise<DeploymentOperationsContext>;
|
|
10
|
+
listDeployments: (context: DeploymentOperationsContext) => Promise<DeploymentSummary[]>;
|
|
11
|
+
listRevisions: (context: DeploymentOperationsContext, deploymentId: string) => Promise<DeploymentRevisionSummary[]>;
|
|
12
|
+
readRevisionLogs: (context: DeploymentOperationsContext, deploymentId: string, revisionId: string) => Promise<DeploymentRevisionLogs>;
|
|
13
|
+
stopDeployment: (context: DeploymentOperationsContext, deploymentId: string) => Promise<void>;
|
|
14
|
+
write: (value: string) => void;
|
|
15
|
+
wait: (durationMs: number) => Promise<void>;
|
|
16
|
+
};
|
|
17
|
+
export declare function createDeploymentOperations(adapter: DeploymentOperationsAdapter): {
|
|
18
|
+
status(cwd?: string): Promise<void>;
|
|
19
|
+
revisions(cwd?: string): Promise<void>;
|
|
20
|
+
logs(input: {
|
|
21
|
+
follow: boolean;
|
|
22
|
+
revision?: string;
|
|
23
|
+
cwd?: string;
|
|
24
|
+
}): Promise<void>;
|
|
25
|
+
stop(cwd?: string): Promise<void>;
|
|
26
|
+
};
|
|
27
|
+
export declare function isTerminalDeploymentRuntimePhase(phase: DeploymentRuntimePhase): phase is "failed" | "ready" | "stopped";
|
|
28
|
+
export declare function formatDeploymentLog(log: DeploymentLogEntry): string;
|
|
29
|
+
export declare function deployHostedProject(input: {
|
|
30
|
+
subdomain?: string;
|
|
31
|
+
accessMode?: "public" | "authenticated";
|
|
32
|
+
cwd?: string;
|
|
33
|
+
}): Promise<void>;
|
|
34
|
+
export declare function setDeploymentEnvironment(input: {
|
|
35
|
+
key: string;
|
|
36
|
+
value?: string;
|
|
37
|
+
secret: boolean;
|
|
38
|
+
stdin: boolean;
|
|
39
|
+
fromFile?: string;
|
|
40
|
+
redeploy: boolean;
|
|
41
|
+
}): Promise<void>;
|
|
42
|
+
export declare function listDeploymentEnvironment(_input: Record<string, never>): Promise<void>;
|
|
43
|
+
export declare function unsetDeploymentEnvironment(input: {
|
|
44
|
+
key: string;
|
|
45
|
+
redeploy: boolean;
|
|
46
|
+
}): Promise<void>;
|
|
47
|
+
export declare function showDeploymentStatus(cwd?: string): Promise<void>;
|
|
48
|
+
export declare function showDeploymentRevisions(cwd?: string): Promise<void>;
|
|
49
|
+
export declare function showDeploymentLogs(input: {
|
|
50
|
+
follow: boolean;
|
|
51
|
+
revision?: string;
|
|
52
|
+
cwd?: string;
|
|
53
|
+
}): Promise<void>;
|
|
54
|
+
export declare function stopDeployment(cwd?: string): Promise<void>;
|
|
55
|
+
//# sourceMappingURL=deployment.d.ts.map
|