decocms 0.16.0 → 2.135.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +52 -77
  2. package/bin/deco.js +33 -0
  3. package/package.json +29 -60
  4. package/dist/cli.d.ts +0 -3
  5. package/dist/cli.d.ts.map +0 -1
  6. package/dist/cli.js +0 -373
  7. package/dist/cli.js.map +0 -1
  8. package/dist/commands/add/add.d.ts +0 -7
  9. package/dist/commands/add/add.d.ts.map +0 -1
  10. package/dist/commands/add/add.js +0 -90
  11. package/dist/commands/add/add.js.map +0 -1
  12. package/dist/commands/auth/login.d.ts +0 -2
  13. package/dist/commands/auth/login.d.ts.map +0 -1
  14. package/dist/commands/auth/login.js +0 -125
  15. package/dist/commands/auth/login.js.map +0 -1
  16. package/dist/commands/auth/whoami.d.ts +0 -2
  17. package/dist/commands/auth/whoami.d.ts.map +0 -1
  18. package/dist/commands/auth/whoami.js +0 -51
  19. package/dist/commands/auth/whoami.js.map +0 -1
  20. package/dist/commands/config/configure.d.ts +0 -2
  21. package/dist/commands/config/configure.d.ts.map +0 -1
  22. package/dist/commands/config/configure.js +0 -51
  23. package/dist/commands/config/configure.js.map +0 -1
  24. package/dist/commands/create/create.d.ts +0 -3
  25. package/dist/commands/create/create.d.ts.map +0 -1
  26. package/dist/commands/create/create.js +0 -238
  27. package/dist/commands/create/create.js.map +0 -1
  28. package/dist/commands/dev/dev.d.ts +0 -8
  29. package/dist/commands/dev/dev.d.ts.map +0 -1
  30. package/dist/commands/dev/dev.js +0 -64
  31. package/dist/commands/dev/dev.js.map +0 -1
  32. package/dist/commands/dev/link.d.ts +0 -8
  33. package/dist/commands/dev/link.d.ts.map +0 -1
  34. package/dist/commands/dev/link.js +0 -124
  35. package/dist/commands/dev/link.js.map +0 -1
  36. package/dist/commands/gen/gen.d.ts +0 -11
  37. package/dist/commands/gen/gen.d.ts.map +0 -1
  38. package/dist/commands/gen/gen.js +0 -341
  39. package/dist/commands/gen/gen.js.map +0 -1
  40. package/dist/commands/hosting/deploy.d.ts +0 -19
  41. package/dist/commands/hosting/deploy.d.ts.map +0 -1
  42. package/dist/commands/hosting/deploy.js +0 -194
  43. package/dist/commands/hosting/deploy.js.map +0 -1
  44. package/dist/commands/hosting/list.d.ts +0 -6
  45. package/dist/commands/hosting/list.d.ts.map +0 -1
  46. package/dist/commands/hosting/list.js +0 -26
  47. package/dist/commands/hosting/list.js.map +0 -1
  48. package/dist/commands/hosting/promote.d.ts +0 -11
  49. package/dist/commands/hosting/promote.d.ts.map +0 -1
  50. package/dist/commands/hosting/promote.js +0 -153
  51. package/dist/commands/hosting/promote.js.map +0 -1
  52. package/dist/commands/update/update.d.ts +0 -4
  53. package/dist/commands/update/update.d.ts.map +0 -1
  54. package/dist/commands/update/update.js +0 -242
  55. package/dist/commands/update/update.js.map +0 -1
  56. package/dist/commands/update/upgrade.d.ts +0 -4
  57. package/dist/commands/update/upgrade.d.ts.map +0 -1
  58. package/dist/commands/update/upgrade.js +0 -157
  59. package/dist/commands/update/upgrade.js.map +0 -1
  60. package/dist/lib/config.d.ts +0 -309
  61. package/dist/lib/config.d.ts.map +0 -1
  62. package/dist/lib/config.js +0 -262
  63. package/dist/lib/config.js.map +0 -1
  64. package/dist/lib/constants.d.ts +0 -10
  65. package/dist/lib/constants.d.ts.map +0 -1
  66. package/dist/lib/constants.js +0 -16
  67. package/dist/lib/constants.js.map +0 -1
  68. package/dist/lib/fs.d.ts +0 -40
  69. package/dist/lib/fs.d.ts.map +0 -1
  70. package/dist/lib/fs.js +0 -162
  71. package/dist/lib/fs.js.map +0 -1
  72. package/dist/lib/mcp.d.ts +0 -34
  73. package/dist/lib/mcp.d.ts.map +0 -1
  74. package/dist/lib/mcp.js +0 -19
  75. package/dist/lib/mcp.js.map +0 -1
  76. package/dist/lib/parse-binding-tool.d.ts +0 -12
  77. package/dist/lib/parse-binding-tool.d.ts.map +0 -1
  78. package/dist/lib/parse-binding-tool.js +0 -15
  79. package/dist/lib/parse-binding-tool.js.map +0 -1
  80. package/dist/lib/prompt-ide-setup.d.ts +0 -27
  81. package/dist/lib/prompt-ide-setup.d.ts.map +0 -1
  82. package/dist/lib/prompt-ide-setup.js +0 -158
  83. package/dist/lib/prompt-ide-setup.js.map +0 -1
  84. package/dist/lib/prompt-integrations.d.ts +0 -7
  85. package/dist/lib/prompt-integrations.d.ts.map +0 -1
  86. package/dist/lib/prompt-integrations.js +0 -84
  87. package/dist/lib/prompt-integrations.js.map +0 -1
  88. package/dist/lib/prompt-workspace.d.ts +0 -2
  89. package/dist/lib/prompt-workspace.d.ts.map +0 -1
  90. package/dist/lib/prompt-workspace.js +0 -93
  91. package/dist/lib/prompt-workspace.js.map +0 -1
  92. package/dist/lib/runtime.d.ts +0 -5
  93. package/dist/lib/runtime.d.ts.map +0 -1
  94. package/dist/lib/runtime.js +0 -15
  95. package/dist/lib/runtime.js.map +0 -1
  96. package/dist/lib/session.d.ts +0 -39
  97. package/dist/lib/session.d.ts.map +0 -1
  98. package/dist/lib/session.js +0 -124
  99. package/dist/lib/session.js.map +0 -1
  100. package/dist/lib/slugify.d.ts +0 -13
  101. package/dist/lib/slugify.d.ts.map +0 -1
  102. package/dist/lib/slugify.js +0 -27
  103. package/dist/lib/slugify.js.map +0 -1
  104. package/dist/lib/supabase.d.ts +0 -5
  105. package/dist/lib/supabase.d.ts.map +0 -1
  106. package/dist/lib/supabase.js +0 -19
  107. package/dist/lib/supabase.js.map +0 -1
  108. package/dist/lib/wrangler.d.ts +0 -9
  109. package/dist/lib/wrangler.d.ts.map +0 -1
  110. package/dist/lib/wrangler.js +0 -118
  111. package/dist/lib/wrangler.js.map +0 -1
  112. package/dist/rules/deco-chat.mdc +0 -902
@@ -1,341 +0,0 @@
1
- // deno-lint-ignore-file no-explicit-any
2
- import { compile } from "json-schema-to-typescript";
3
- import { generateName } from "json-schema-to-typescript/dist/src/utils.js";
4
- import { MD5 } from "object-hash";
5
- import prettier from "prettier";
6
- import { readWranglerConfig } from "../../lib/config.js";
7
- import { createWorkspaceClient } from "../../lib/mcp.js";
8
- import { parser as scopeParser } from "../../lib/parse-binding-tool.js";
9
- const toValidProperty = (property) => {
10
- return isValidJavaScriptPropertyName(property) ? property : `["${property}"]`;
11
- };
12
- // Sanitize description for safe use in JSDoc block comments
13
- const formatDescription = (desc) => {
14
- if (!desc)
15
- return "";
16
- return (desc
17
- // Escape */ sequences that would break the comment block
18
- .replace(/\*\//g, "*\\/")
19
- // Normalize line endings
20
- .replace(/\r\n/g, "\n")
21
- .replace(/\r/g, "\n")
22
- // Split into lines and format each line
23
- .split("\n")
24
- .map((line) => line.trim())
25
- .filter((line) => line.length > 0)
26
- .map((line) => ` * ${line}`)
27
- .join("\n"));
28
- };
29
- function slugify(name) {
30
- return name.replace(/[^a-zA-Z0-9]/g, "").toLowerCase();
31
- }
32
- export function format(content) {
33
- try {
34
- return prettier.format(content, {
35
- parser: "babel-ts",
36
- plugins: [],
37
- });
38
- }
39
- catch {
40
- // Fallback to unformatted content
41
- return Promise.resolve(content);
42
- }
43
- }
44
- // Shared list of reserved JavaScript keywords
45
- const RESERVED_KEYWORDS = [
46
- "break",
47
- "case",
48
- "catch",
49
- "class",
50
- "const",
51
- "continue",
52
- "debugger",
53
- "default",
54
- "delete",
55
- "do",
56
- "else",
57
- "export",
58
- "extends",
59
- "finally",
60
- "for",
61
- "function",
62
- "if",
63
- "import",
64
- "in",
65
- "instanceof",
66
- "let",
67
- "new",
68
- "return",
69
- "super",
70
- "switch",
71
- "this",
72
- "throw",
73
- "try",
74
- "typeof",
75
- "var",
76
- "void",
77
- "while",
78
- "with",
79
- "yield",
80
- "enum",
81
- "await",
82
- "implements",
83
- "interface",
84
- "package",
85
- "private",
86
- "protected",
87
- "public",
88
- "static",
89
- "abstract",
90
- "boolean",
91
- "byte",
92
- "char",
93
- "double",
94
- "final",
95
- "float",
96
- "goto",
97
- "int",
98
- "long",
99
- "native",
100
- "short",
101
- "synchronized",
102
- "throws",
103
- "transient",
104
- "volatile",
105
- "null",
106
- "true",
107
- "false",
108
- "undefined",
109
- "NaN",
110
- "Infinity",
111
- ];
112
- function isValidJavaScriptPropertyName(name) {
113
- // Check if it's a valid JavaScript identifier
114
- const validIdentifierRegex = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/;
115
- if (!validIdentifierRegex.test(name)) {
116
- return false;
117
- }
118
- // Check for reserved keywords
119
- return !RESERVED_KEYWORDS.includes(name);
120
- }
121
- const CONTRACTS_BINDING = "@deco/contracts";
122
- const DEFAULT_BINDINGS = [
123
- {
124
- name: "DECO_CHAT_WORKSPACE_API",
125
- integration_id: "i:workspace-management",
126
- type: "mcp",
127
- },
128
- {
129
- name: "DECO_CHAT_API",
130
- integration_id: "i:user-management",
131
- type: "mcp",
132
- },
133
- ];
134
- const unwrapMcpResult = (result, opts) => {
135
- if ("isError" in result && result.isError) {
136
- const message = (Array.isArray(result.content) ? result.content[0]?.text : undefined) ??
137
- JSON.stringify(result);
138
- throw new Error(opts?.errorMessage?.(message) ?? message);
139
- }
140
- return result;
141
- };
142
- const workspaceSlug = (workspace) => {
143
- if (workspace.startsWith("/")) {
144
- // /shared/$slug or /users/$slug
145
- return workspace.slice(1).split("/")[1];
146
- }
147
- return workspace;
148
- };
149
- export const genEnv = async ({ workspace, local, bindings, selfUrl, }) => {
150
- const wrangler = await readWranglerConfig();
151
- const appName = `@${wrangler.scope ?? workspaceSlug(workspace)}/${wrangler.name}`;
152
- const client = await createWorkspaceClient({ workspace, local });
153
- const apiClient = await createWorkspaceClient({ local });
154
- try {
155
- const types = new Map();
156
- types.set("Env", 1); // set the default env type
157
- let tsTypes = "";
158
- const mapBindingTools = {};
159
- const props = await Promise.all([
160
- ...bindings,
161
- ...DEFAULT_BINDINGS,
162
- ...(selfUrl
163
- ? [
164
- {
165
- name: "SELF",
166
- type: "mcp",
167
- integration_url: selfUrl,
168
- ignoreCache: true,
169
- },
170
- ]
171
- : []),
172
- ].map(async (binding) => {
173
- let connection;
174
- let stateKey;
175
- if ("integration_id" in binding) {
176
- const integrationResult = (await client.callTool({
177
- name: "INTEGRATIONS_GET",
178
- arguments: {
179
- id: binding.integration_id,
180
- },
181
- }));
182
- const integration = unwrapMcpResult(integrationResult, {
183
- errorMessage: (error) => `Error getting integration ${binding.integration_id}: ${error}`,
184
- });
185
- connection = integration.structuredContent.connection;
186
- }
187
- else if ("integration_name" in binding ||
188
- binding.type === "contract") {
189
- const [integrationName, type] = "integration_name" in binding
190
- ? [binding.integration_name, binding.integration_name]
191
- : [CONTRACTS_BINDING, `${appName}-${MD5(binding.contract)}`];
192
- stateKey = { type, key: binding.name };
193
- const appResult = (await client.callTool({
194
- name: "REGISTRY_GET_APP",
195
- arguments: {
196
- name: integrationName,
197
- },
198
- }));
199
- const app = unwrapMcpResult(appResult, {
200
- errorMessage: (error) => `Error getting app ${integrationName}: ${error}`,
201
- });
202
- connection = app.structuredContent.connection;
203
- }
204
- else if ("integration_url" in binding) {
205
- connection = {
206
- type: "HTTP",
207
- url: binding.integration_url,
208
- };
209
- }
210
- else {
211
- throw new Error(`Unknown binding type: ${binding}`);
212
- }
213
- const tools = (await apiClient.callTool({
214
- name: "INTEGRATIONS_LIST_TOOLS",
215
- arguments: {
216
- connection,
217
- ignoreCache: "ignoreCache" in binding ? binding.ignoreCache : undefined,
218
- },
219
- }));
220
- if (!Array.isArray(tools.structuredContent?.tools)) {
221
- console.warn(`āš ļø No tools found for integration ${binding.name}. Skipping...`);
222
- return null;
223
- }
224
- if ("integration_name" in binding || binding.type === "contract") {
225
- mapBindingTools[binding.name] = tools.structuredContent.tools.map((t) => t.name);
226
- }
227
- const compiledTools = await Promise.all(tools.structuredContent.tools.map(async (t) => {
228
- const jsName = generateName(t.name, new Set());
229
- const inputName = `${jsName}Input`;
230
- const outputName = `${jsName}Output`;
231
- const customName = (schema) => {
232
- let typeName = schema.title ?? schema.type;
233
- if (Array.isArray(typeName)) {
234
- typeName = typeName.join(",");
235
- }
236
- if (typeof typeName !== "string") {
237
- return undefined;
238
- }
239
- const key = slugify(typeName);
240
- const count = types.get(key) ?? 0;
241
- types.set(key, count + 1);
242
- return count ? `${typeName}_${count}` : typeName;
243
- };
244
- const [inputTs, outputTs] = await Promise.all([
245
- compile({ ...t.inputSchema, title: inputName }, inputName, {
246
- additionalProperties: false,
247
- customName,
248
- format: false,
249
- }),
250
- t.outputSchema
251
- ? await compile({ ...t.outputSchema, title: outputName }, outputName, {
252
- customName,
253
- additionalProperties: false,
254
- format: false,
255
- })
256
- : undefined,
257
- ]);
258
- tsTypes += `
259
- ${inputTs}
260
- ${outputTs ?? ""}
261
- `;
262
- return [
263
- t.name,
264
- inputName,
265
- outputTs ? outputName : undefined,
266
- t.description,
267
- ];
268
- }));
269
- return [binding.name, compiledTools, stateKey];
270
- }));
271
- return await format(`
272
- // Generated types - do not edit manually
273
- ${tsTypes}
274
-
275
- import { z } from "zod";
276
-
277
- export type Mcp<T extends Record<string, (input: any) => Promise<any>>> = {
278
- [K in keyof T]: ((input: Parameters<T[K]>[0]) => Promise<ReturnType<T[K]>>) & {
279
- asTool: () => Promise<{
280
- inputSchema: z.ZodType<Parameters<T[K]>[0]>
281
- outputSchema?: z.ZodType<ReturnType<T[K]>>
282
- description: string
283
- id: string
284
- execute: ({ context }: { context: Parameters<T[K]>[0] }) => Promise<ReturnType<T[K]>>
285
- }>
286
- }
287
- }
288
-
289
- export const StateSchema = z.object({
290
- ${props
291
- .filter((p) => p !== null && p[2] !== undefined)
292
- .map((prop) => {
293
- const [_, __, stateKey] = prop;
294
- return `${stateKey.key}: z.object({
295
- value: z.string(),
296
- __type: z.literal("${stateKey.type}").default("${stateKey.type}"),
297
- })`;
298
- })
299
- .join(",\n")}
300
- })
301
-
302
- export interface Env {
303
- DECO_CHAT_WORKSPACE: string;
304
- DECO_CHAT_API_JWT_PUBLIC_KEY: string;
305
- ${props
306
- .filter((p) => p !== null)
307
- .map(([propName, tools]) => {
308
- return `${propName}: Mcp<{
309
- ${tools
310
- .map(([toolName, inputName, outputName, description]) => {
311
- const docComment = description
312
- ? `/**\n${formatDescription(description)}\n */`
313
- : "";
314
- return `${docComment}
315
- ${toValidProperty(toolName)}: (input: ${inputName}) => Promise<${outputName ?? "any"}>;
316
- `;
317
- })
318
- .join("")}
319
- }>;`;
320
- })
321
- .join("")}
322
- }
323
-
324
- export const Scopes = {
325
- ${Object.entries(mapBindingTools)
326
- .map(([bindingName, tools]) => `${toValidProperty(bindingName)}: {
327
- ${tools
328
- .map((toolName) => `${toValidProperty(toolName)}: "${scopeParser.fromBindingToolToScope({ bindingName, toolName })}"`)
329
- .join(",\n")}
330
- }`)
331
- .join(",\n")}
332
- }
333
- `);
334
- }
335
- finally {
336
- // Clean up the client connections
337
- await client.close();
338
- await apiClient.close();
339
- }
340
- };
341
- //# sourceMappingURL=gen.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gen.js","sourceRoot":"","sources":["../../../src/commands/gen/gen.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- export type FileLike = {
2
- path: string;
3
- content: string;
4
- asset?: boolean;
5
- };
6
- interface Options {
7
- cwd: string;
8
- workspace: string;
9
- app: string;
10
- local: boolean;
11
- skipConfirmation?: boolean;
12
- unlisted?: boolean;
13
- assetsDirectory?: string;
14
- force?: boolean;
15
- dryRun?: boolean;
16
- }
17
- export declare const deploy: ({ cwd, workspace, app: appSlug, local, assetsDirectory, skipConfirmation, force, unlisted, dryRun, }: Options) => Promise<void>;
18
- export {};
19
- //# sourceMappingURL=deploy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/hosting/deploy.ts"],"names":[],"mappings":"AAsBA,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,UAAU,OAAO;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAID,eAAO,MAAM,MAAM,GAAU,sGAU1B,OAAO,kBA8LT,CAAC"}
@@ -1,194 +0,0 @@
1
- import inquirer from "inquirer";
2
- import { promises as fs } from "fs";
3
- import { relative, join, posix } from "path";
4
- import { walk } from "../../lib/fs.js";
5
- import { createWorkspaceClient } from "../../lib/mcp.js";
6
- import { getCurrentEnvVars } from "../../lib/wrangler.js";
7
- import { Buffer } from "node:buffer";
8
- import process from "node:process";
9
- function tryParseJson(text) {
10
- try {
11
- return JSON.parse(text);
12
- }
13
- catch {
14
- return null;
15
- }
16
- }
17
- function normalizePath(path) {
18
- // Convert Windows backslashes to Unix forward slashes
19
- return posix.normalize(path.replace(/\\/g, "/"));
20
- }
21
- const WRANGLER_CONFIG_FILES = ["wrangler.toml", "wrangler.json"];
22
- export const deploy = async ({ cwd, workspace, app: appSlug, local, assetsDirectory, skipConfirmation, force, unlisted = true, dryRun = false, }) => {
23
- console.log(`\nšŸš€ ${dryRun ? "Preparing" : "Deploying"} '${appSlug}' to '${workspace}'${dryRun ? " (dry run)" : ""}...\n`);
24
- // Ensure the target directory exists
25
- try {
26
- await fs.stat(cwd);
27
- }
28
- catch {
29
- throw new Error("Target directory not found");
30
- }
31
- // 1. Prepare files to upload: all files in dist/ and wrangler.toml (if exists)
32
- const files = [];
33
- let hasTsFile = false;
34
- let foundWranglerConfigInWalk = false;
35
- let foundWranglerConfigName = "";
36
- // Recursively walk cwd/ and add all files
37
- for await (const entry of walk(cwd, {
38
- includeFiles: true,
39
- includeDirs: false,
40
- skip: [
41
- /node_modules/,
42
- /\.git/,
43
- /\.DS_Store/,
44
- /\.env/,
45
- /\.env\.local/,
46
- /\.dev\.vars/,
47
- ],
48
- exts: [
49
- "ts",
50
- "mjs",
51
- "js",
52
- "cjs",
53
- "toml",
54
- "json",
55
- "css",
56
- "html",
57
- "txt",
58
- "wasm",
59
- "sql",
60
- ],
61
- })) {
62
- const realPath = normalizePath(relative(cwd, entry.path));
63
- const content = await fs.readFile(entry.path, "utf-8");
64
- files.push({ path: realPath, content });
65
- if (realPath.endsWith(".ts")) {
66
- hasTsFile = true;
67
- }
68
- if (WRANGLER_CONFIG_FILES.some((name) => realPath.includes(name))) {
69
- foundWranglerConfigInWalk = true;
70
- foundWranglerConfigName = realPath;
71
- }
72
- }
73
- if (assetsDirectory) {
74
- for await (const entry of walk(assetsDirectory, {
75
- includeFiles: true,
76
- includeDirs: false,
77
- skip: [
78
- /node_modules/,
79
- /\.git/,
80
- /\.DS_Store/,
81
- /\.env/,
82
- /\.env\.local/,
83
- /\.dev\.vars/,
84
- ],
85
- })) {
86
- const realPath = normalizePath(relative(assetsDirectory, entry.path));
87
- const content = await fs.readFile(entry.path);
88
- const base64Content = Buffer.from(content).toString("base64");
89
- files.push({ path: realPath, content: base64Content, asset: true });
90
- }
91
- }
92
- // 2. wrangler.toml/json (optional)
93
- let wranglerConfigStatus = "";
94
- if (!foundWranglerConfigInWalk) {
95
- let found = false;
96
- for (const configFile of WRANGLER_CONFIG_FILES) {
97
- const configPath = `${process.cwd()}/${configFile}`;
98
- try {
99
- const configContent = await fs.readFile(configPath, "utf-8");
100
- files.push({ path: configFile, content: configContent });
101
- wranglerConfigStatus = `${configFile} āœ… (found in ${configPath})`;
102
- found = true;
103
- break;
104
- }
105
- catch (_) {
106
- // not found, try next
107
- }
108
- }
109
- if (!found) {
110
- wranglerConfigStatus = "wrangler.toml/json āŒ";
111
- }
112
- }
113
- else {
114
- wranglerConfigStatus = `${foundWranglerConfigName} āœ… (found in project files)`;
115
- }
116
- // 3. Load envVars from .dev.vars
117
- const { envVars, envFilepath } = await getCurrentEnvVars(process.cwd());
118
- const envVarsStatus = `Loaded ${Object.keys(envVars).length} env vars from ${envFilepath}`;
119
- const manifest = {
120
- appSlug,
121
- files,
122
- envVars,
123
- envFilepath,
124
- bundle: hasTsFile,
125
- unlisted,
126
- force,
127
- };
128
- console.log("🚚 Deployment summary:");
129
- console.log(` App: ${appSlug}`);
130
- console.log(` Files: ${files.length}`);
131
- console.log(` ${envVarsStatus}`);
132
- console.log(` ${wranglerConfigStatus}`);
133
- if (dryRun) {
134
- const manifestPath = join(cwd, "deploy-manifest.json");
135
- await fs.writeFile(manifestPath, JSON.stringify(manifest, null, 2));
136
- console.log(`\nšŸ“„ Dry run complete! Deploy manifest written to:`);
137
- console.log(` ${manifestPath}`);
138
- console.log();
139
- return;
140
- }
141
- const confirmed = skipConfirmation ||
142
- (await inquirer.prompt([
143
- {
144
- type: "confirm",
145
- name: "proceed",
146
- message: "Proceed with deployment?",
147
- default: true,
148
- },
149
- ])).proceed;
150
- if (!confirmed) {
151
- console.log("āŒ Deployment cancelled");
152
- process.exit(0);
153
- }
154
- const client = await createWorkspaceClient({ workspace, local });
155
- const deploy = async (options) => {
156
- const response = await client.callTool({
157
- name: "HOSTING_APP_DEPLOY",
158
- arguments: manifest,
159
- });
160
- if (response.isError && Array.isArray(response.content)) {
161
- console.error("Error deploying: ", response);
162
- const errorText = response.content[0]?.text;
163
- const errorTextJson = tryParseJson(errorText ?? "");
164
- if (errorTextJson?.name === "MCPBreakingChangeError" && !force) {
165
- console.log("Looks like you have breaking changes in your app.");
166
- console.log(errorTextJson.message);
167
- if (skipConfirmation) {
168
- console.error("Use --force (-f) to deploy with breaking changes");
169
- process.exit(1);
170
- }
171
- const confirmed = await inquirer.prompt([
172
- {
173
- type: "confirm",
174
- name: "proceed",
175
- message: "Would you like to retry with the --force flag?",
176
- default: true,
177
- },
178
- ]);
179
- if (!confirmed) {
180
- process.exit(1);
181
- }
182
- return deploy({ ...options, force: true });
183
- }
184
- throw new Error(errorTextJson ?? errorText ?? "Unknown error");
185
- }
186
- return response;
187
- };
188
- const response = await deploy(manifest);
189
- const { hosts } = response.structuredContent;
190
- console.log(`\nšŸŽ‰ Deployed! Available at:`);
191
- hosts.forEach((host) => console.log(` ${host}`));
192
- console.log();
193
- };
194
- //# sourceMappingURL=deploy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/hosting/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,sDAAsD;IACtD,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AACnD,CAAC;AAoBD,MAAM,qBAAqB,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EAAE,EAC3B,GAAG,EACH,SAAS,EACT,GAAG,EAAE,OAAO,EACZ,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,KAAK,EACL,QAAQ,GAAG,IAAI,EACf,MAAM,GAAG,KAAK,GACN,EAAE,EAAE;IACZ,OAAO,CAAC,GAAG,CACT,QAAQ,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,KAAK,OAAO,SAAS,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAC9G,CAAC;IAEF,qCAAqC;IACrC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAED,+EAA+E;IAC/E,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,yBAAyB,GAAG,KAAK,CAAC;IACtC,IAAI,uBAAuB,GAAG,EAAE,CAAC;IAEjC,0CAA0C;IAC1C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE;QAClC,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,KAAK;QAClB,IAAI,EAAE;YACJ,cAAc;YACd,OAAO;YACP,YAAY;YACZ,OAAO;YACP,cAAc;YACd,aAAa;SACd;QACD,IAAI,EAAE;YACJ,IAAI;YACJ,KAAK;YACL,IAAI;YACJ,KAAK;YACL,MAAM;YACN,MAAM;YACN,KAAK;YACL,MAAM;YACN,KAAK;YACL,MAAM;YACN,KAAK;SACN;KACF,CAAC,EAAE,CAAC;QACH,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACxC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAClE,yBAAyB,GAAG,IAAI,CAAC;YACjC,uBAAuB,GAAG,QAAQ,CAAC;QACrC,CAAC;IACH,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE;YAC9C,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE;gBACJ,cAAc;gBACd,OAAO;gBACP,YAAY;gBACZ,OAAO;gBACP,cAAc;gBACd,aAAa;aACd;SACF,CAAC,EAAE,CAAC;YACH,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,IAAI,oBAAoB,GAAG,EAAE,CAAC;IAC9B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC/B,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,KAAK,MAAM,UAAU,IAAI,qBAAqB,EAAE,CAAC;YAC/C,MAAM,UAAU,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,UAAU,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC7D,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;gBACzD,oBAAoB,GAAG,GAAG,UAAU,gBAAgB,UAAU,GAAG,CAAC;gBAClE,KAAK,GAAG,IAAI,CAAC;gBACb,MAAM;YACR,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,sBAAsB;YACxB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,oBAAoB,GAAG,sBAAsB,CAAC;QAChD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,oBAAoB,GAAG,GAAG,uBAAuB,6BAA6B,CAAC;IACjF,CAAC;IAED,iCAAiC;IACjC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,UACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MACvB,kBAAkB,WAAW,EAAE,CAAC;IAEhC,MAAM,QAAQ,GAAG;QACf,OAAO;QACP,KAAK;QACL,OAAO;QACP,WAAW;QACX,MAAM,EAAE,SAAS;QACjB,QAAQ;QACR,KAAK;KACN,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,KAAK,aAAa,EAAE,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,KAAK,oBAAoB,EAAE,CAAC,CAAC;IAEzC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;QACvD,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,KAAK,YAAY,EAAE,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GACb,gBAAgB;QAChB,CACE,MAAM,QAAQ,CAAC,MAAM,CAAC;YACpB;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,0BAA0B;gBACnC,OAAO,EAAE,IAAI;aACd;SACF,CAAC,CACH,CAAC,OAAO,CAAC;IAEZ,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,KAAK,EAAE,OAAwB,EAAE,EAAE;QAChD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,oBAAoB;YAC1B,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;YAE7C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;YAC5C,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YACpD,IAAI,aAAa,EAAE,IAAI,KAAK,wBAAwB,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACnC,IAAI,gBAAgB,EAAE,CAAC;oBACrB,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;oBAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;oBACtC;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,gDAAgD;wBACzD,OAAO,EAAE,IAAI;qBACd;iBACF,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,OAAO,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,SAAS,IAAI,eAAe,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,iBAAwC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- interface Options {
2
- workspace: string;
3
- }
4
- export declare const listApps: ({ workspace }: Options) => Promise<void>;
5
- export {};
6
- //# sourceMappingURL=list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/hosting/list.ts"],"names":[],"mappings":"AAIA,UAAU,OAAO;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAUD,eAAO,MAAM,QAAQ,GAAU,eAAe,OAAO,kBA6BpD,CAAC"}
@@ -1,26 +0,0 @@
1
- import { createWorkspaceClient } from "../../lib/mcp.js";
2
- import { z } from "zod";
3
- export const listApps = async ({ workspace }) => {
4
- console.log(`šŸ” Listing apps in workspace '${workspace}'...`);
5
- const client = await createWorkspaceClient({ workspace });
6
- const response = await client.callTool({
7
- name: "HOSTING_APPS_LIST",
8
- arguments: {},
9
- },
10
- // @ts-expect-error We need to refactor HOSTING_APPS_LIST to stop returning array and use a proper object
11
- z.any());
12
- if (response.isError && Array.isArray(response.content)) {
13
- throw new Error(response.content[0]?.text ?? "Unknown error");
14
- }
15
- const apps = response.structuredContent;
16
- if (apps.length === 0) {
17
- console.log("šŸ“­ No apps found in this workspace.");
18
- }
19
- else {
20
- console.log("šŸ“± Apps in workspace:");
21
- apps.forEach((app) => {
22
- console.log(` • ${app.slug} (${app.entrypoint}, Files: ${app.files.length})`);
23
- });
24
- }
25
- };
26
- //# sourceMappingURL=list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/hosting/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,EAAE,SAAS,EAAW,EAAE,EAAE;IACvD,OAAO,CAAC,GAAG,CAAC,iCAAiC,SAAS,MAAM,CAAC,CAAC;IAE9D,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CACpC;QACE,IAAI,EAAE,mBAAmB;QACzB,SAAS,EAAE,EAAE;KACd;IACD,yGAAyG;IACzG,CAAC,CAAC,GAAG,EAAE,CACR,CAAC;IAEF,IAAI,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,eAAe,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAA0B,CAAC;IAEjD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;YACxB,OAAO,CAAC,GAAG,CACT,OAAO,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,UAAU,YAAY,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAClE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC"}
@@ -1,11 +0,0 @@
1
- interface Options {
2
- workspace: string;
3
- appSlug?: string;
4
- local?: boolean;
5
- deploymentId?: string;
6
- routePattern?: string;
7
- skipConfirmation?: boolean;
8
- }
9
- export declare const promoteApp: ({ workspace, local, appSlug, deploymentId, routePattern, skipConfirmation, }: Options) => Promise<void>;
10
- export {};
11
- //# sourceMappingURL=promote.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promote.d.ts","sourceRoot":"","sources":["../../../src/commands/hosting/promote.ts"],"names":[],"mappings":"AAGA,UAAU,OAAO;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAmBD,eAAO,MAAM,UAAU,GAAU,8EAO9B,OAAO,kBA6MT,CAAC"}