decocms 0.16.0

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 (111) hide show
  1. package/README.md +95 -0
  2. package/dist/cli.d.ts +3 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +373 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/commands/add/add.d.ts +7 -0
  7. package/dist/commands/add/add.d.ts.map +1 -0
  8. package/dist/commands/add/add.js +90 -0
  9. package/dist/commands/add/add.js.map +1 -0
  10. package/dist/commands/auth/login.d.ts +2 -0
  11. package/dist/commands/auth/login.d.ts.map +1 -0
  12. package/dist/commands/auth/login.js +125 -0
  13. package/dist/commands/auth/login.js.map +1 -0
  14. package/dist/commands/auth/whoami.d.ts +2 -0
  15. package/dist/commands/auth/whoami.d.ts.map +1 -0
  16. package/dist/commands/auth/whoami.js +51 -0
  17. package/dist/commands/auth/whoami.js.map +1 -0
  18. package/dist/commands/config/configure.d.ts +2 -0
  19. package/dist/commands/config/configure.d.ts.map +1 -0
  20. package/dist/commands/config/configure.js +51 -0
  21. package/dist/commands/config/configure.js.map +1 -0
  22. package/dist/commands/create/create.d.ts +3 -0
  23. package/dist/commands/create/create.d.ts.map +1 -0
  24. package/dist/commands/create/create.js +238 -0
  25. package/dist/commands/create/create.js.map +1 -0
  26. package/dist/commands/dev/dev.d.ts +8 -0
  27. package/dist/commands/dev/dev.d.ts.map +1 -0
  28. package/dist/commands/dev/dev.js +64 -0
  29. package/dist/commands/dev/dev.js.map +1 -0
  30. package/dist/commands/dev/link.d.ts +8 -0
  31. package/dist/commands/dev/link.d.ts.map +1 -0
  32. package/dist/commands/dev/link.js +124 -0
  33. package/dist/commands/dev/link.js.map +1 -0
  34. package/dist/commands/gen/gen.d.ts +11 -0
  35. package/dist/commands/gen/gen.d.ts.map +1 -0
  36. package/dist/commands/gen/gen.js +341 -0
  37. package/dist/commands/gen/gen.js.map +1 -0
  38. package/dist/commands/hosting/deploy.d.ts +19 -0
  39. package/dist/commands/hosting/deploy.d.ts.map +1 -0
  40. package/dist/commands/hosting/deploy.js +194 -0
  41. package/dist/commands/hosting/deploy.js.map +1 -0
  42. package/dist/commands/hosting/list.d.ts +6 -0
  43. package/dist/commands/hosting/list.d.ts.map +1 -0
  44. package/dist/commands/hosting/list.js +26 -0
  45. package/dist/commands/hosting/list.js.map +1 -0
  46. package/dist/commands/hosting/promote.d.ts +11 -0
  47. package/dist/commands/hosting/promote.d.ts.map +1 -0
  48. package/dist/commands/hosting/promote.js +153 -0
  49. package/dist/commands/hosting/promote.js.map +1 -0
  50. package/dist/commands/update/update.d.ts +4 -0
  51. package/dist/commands/update/update.d.ts.map +1 -0
  52. package/dist/commands/update/update.js +242 -0
  53. package/dist/commands/update/update.js.map +1 -0
  54. package/dist/commands/update/upgrade.d.ts +4 -0
  55. package/dist/commands/update/upgrade.d.ts.map +1 -0
  56. package/dist/commands/update/upgrade.js +157 -0
  57. package/dist/commands/update/upgrade.js.map +1 -0
  58. package/dist/lib/config.d.ts +309 -0
  59. package/dist/lib/config.d.ts.map +1 -0
  60. package/dist/lib/config.js +262 -0
  61. package/dist/lib/config.js.map +1 -0
  62. package/dist/lib/constants.d.ts +10 -0
  63. package/dist/lib/constants.d.ts.map +1 -0
  64. package/dist/lib/constants.js +16 -0
  65. package/dist/lib/constants.js.map +1 -0
  66. package/dist/lib/fs.d.ts +40 -0
  67. package/dist/lib/fs.d.ts.map +1 -0
  68. package/dist/lib/fs.js +162 -0
  69. package/dist/lib/fs.js.map +1 -0
  70. package/dist/lib/mcp.d.ts +34 -0
  71. package/dist/lib/mcp.d.ts.map +1 -0
  72. package/dist/lib/mcp.js +19 -0
  73. package/dist/lib/mcp.js.map +1 -0
  74. package/dist/lib/parse-binding-tool.d.ts +12 -0
  75. package/dist/lib/parse-binding-tool.d.ts.map +1 -0
  76. package/dist/lib/parse-binding-tool.js +15 -0
  77. package/dist/lib/parse-binding-tool.js.map +1 -0
  78. package/dist/lib/prompt-ide-setup.d.ts +27 -0
  79. package/dist/lib/prompt-ide-setup.d.ts.map +1 -0
  80. package/dist/lib/prompt-ide-setup.js +158 -0
  81. package/dist/lib/prompt-ide-setup.js.map +1 -0
  82. package/dist/lib/prompt-integrations.d.ts +7 -0
  83. package/dist/lib/prompt-integrations.d.ts.map +1 -0
  84. package/dist/lib/prompt-integrations.js +84 -0
  85. package/dist/lib/prompt-integrations.js.map +1 -0
  86. package/dist/lib/prompt-workspace.d.ts +2 -0
  87. package/dist/lib/prompt-workspace.d.ts.map +1 -0
  88. package/dist/lib/prompt-workspace.js +93 -0
  89. package/dist/lib/prompt-workspace.js.map +1 -0
  90. package/dist/lib/runtime.d.ts +5 -0
  91. package/dist/lib/runtime.d.ts.map +1 -0
  92. package/dist/lib/runtime.js +15 -0
  93. package/dist/lib/runtime.js.map +1 -0
  94. package/dist/lib/session.d.ts +39 -0
  95. package/dist/lib/session.d.ts.map +1 -0
  96. package/dist/lib/session.js +124 -0
  97. package/dist/lib/session.js.map +1 -0
  98. package/dist/lib/slugify.d.ts +13 -0
  99. package/dist/lib/slugify.d.ts.map +1 -0
  100. package/dist/lib/slugify.js +27 -0
  101. package/dist/lib/slugify.js.map +1 -0
  102. package/dist/lib/supabase.d.ts +5 -0
  103. package/dist/lib/supabase.d.ts.map +1 -0
  104. package/dist/lib/supabase.js +19 -0
  105. package/dist/lib/supabase.js.map +1 -0
  106. package/dist/lib/wrangler.d.ts +9 -0
  107. package/dist/lib/wrangler.d.ts.map +1 -0
  108. package/dist/lib/wrangler.js +118 -0
  109. package/dist/lib/wrangler.js.map +1 -0
  110. package/dist/rules/deco-chat.mdc +902 -0
  111. package/package.json +79 -0
@@ -0,0 +1,124 @@
1
+ import { spawn } from "child_process";
2
+ import { connect } from "@deco-cx/warp-node";
3
+ import chalk from "chalk";
4
+ import { getAppDomain, getConfig, readWranglerConfig, } from "../../lib/config.js";
5
+ import { createServer } from "net";
6
+ import process from "node:process";
7
+ function copyToClipboard(text) {
8
+ try {
9
+ let command;
10
+ let args = [];
11
+ switch (process.platform) {
12
+ case "darwin":
13
+ command = "pbcopy";
14
+ break;
15
+ case "win32":
16
+ command = "clip";
17
+ break;
18
+ case "linux":
19
+ command = "xclip";
20
+ args = ["-selection", "clipboard"];
21
+ break;
22
+ default:
23
+ return Promise.resolve(false);
24
+ }
25
+ return new Promise((resolve) => {
26
+ const clipProcess = spawn(command, args, { stdio: "pipe" });
27
+ clipProcess.stdin.write(text);
28
+ clipProcess.stdin.end();
29
+ clipProcess.on("close", (code) => {
30
+ resolve(code === 0);
31
+ });
32
+ clipProcess.on("error", () => {
33
+ resolve(false);
34
+ });
35
+ });
36
+ }
37
+ catch {
38
+ return Promise.resolve(false);
39
+ }
40
+ }
41
+ async function findRunningAddr(port) {
42
+ const LOCALHOST_ENDPOINTS = ["localhost", "127.0.0.1", "0.0.0.0"];
43
+ for (const endpoint of LOCALHOST_ENDPOINTS) {
44
+ try {
45
+ const server = createServer();
46
+ await new Promise((resolve, reject) => {
47
+ server.listen(port, endpoint, () => {
48
+ server.close();
49
+ resolve();
50
+ });
51
+ server.on("error", reject);
52
+ });
53
+ // Port is available on this endpoint, continue checking others
54
+ }
55
+ catch {
56
+ // Port is in use on this endpoint
57
+ return endpoint;
58
+ }
59
+ }
60
+ // Port is available on all endpoints
61
+ return null;
62
+ }
63
+ async function waitForPort(port) {
64
+ let addr = await findRunningAddr(port);
65
+ if (addr) {
66
+ return addr;
67
+ }
68
+ console.log(chalk.yellow(`Waiting for port ${port} to become available...`));
69
+ while (!addr) {
70
+ await new Promise((resolve) => setTimeout(resolve, 1000));
71
+ addr = await findRunningAddr(port);
72
+ }
73
+ console.log(chalk.green(`Port ${port} is now available!`));
74
+ return addr;
75
+ }
76
+ async function monitorPortAvailability(port) {
77
+ while (true) {
78
+ const isAvailable = await findRunningAddr(port);
79
+ if (!isAvailable) {
80
+ console.log(chalk.red(`⚠️ Warning: Port ${port} is no longer available!`));
81
+ }
82
+ await new Promise((resolve) => setTimeout(resolve, 2000)); // Check every 2 seconds
83
+ }
84
+ }
85
+ async function register(port, domain, onBeforeRegister) {
86
+ const server = `wss://${domain}`;
87
+ try {
88
+ // Start port monitoring in the background
89
+ monitorPortAvailability(port).catch((err) => {
90
+ console.error("Port monitoring error:", err);
91
+ });
92
+ onBeforeRegister?.();
93
+ // Wait for port to become available before connecting
94
+ const host = await waitForPort(port);
95
+ const localAddr = `http://${host}:${port}`;
96
+ const tunnel = await connect({
97
+ domain,
98
+ localAddr,
99
+ server,
100
+ apiKey: process.env.DECO_TUNNEL_SERVER_TOKEN ??
101
+ "c309424a-2dc4-46fe-bfc7-a7c10df59477",
102
+ });
103
+ await tunnel.registered;
104
+ const serverUrl = `https://${domain}`;
105
+ const copied = await copyToClipboard(serverUrl);
106
+ console.log(`\nTunnel started \n -> 🌐 ${chalk.bold("Preview")}: ${chalk.cyan(serverUrl)}${copied ? chalk.dim(" (copied to clipboard)") : ""}`);
107
+ await tunnel.closed;
108
+ }
109
+ catch (err) {
110
+ console.log("Tunnel connection error, retrying in 500ms...", err);
111
+ await new Promise((resolve) => setTimeout(resolve, 500));
112
+ return register(port, domain);
113
+ }
114
+ }
115
+ export const link = async ({ port = 8787, onBeforeRegister, } = {}) => {
116
+ // Get config to extract workspace and app
117
+ const config = await getConfig({});
118
+ const wranglerConfig = await readWranglerConfig();
119
+ const app = typeof wranglerConfig.name === "string" ? wranglerConfig.name : "my-app";
120
+ // Generate app domain based on workspace and app name
121
+ const appDomain = getAppDomain(config.workspace, app);
122
+ await register(port, appDomain, onBeforeRegister);
123
+ };
124
+ //# sourceMappingURL=link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/commands/dev/link.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type DecoBinding } from "../../lib/config.js";
2
+ interface Options {
3
+ workspace: string;
4
+ local?: boolean;
5
+ bindings: DecoBinding[];
6
+ selfUrl?: string;
7
+ }
8
+ export declare function format(content: string): Promise<string>;
9
+ export declare const genEnv: ({ workspace, local, bindings, selfUrl, }: Options) => Promise<string>;
10
+ export {};
11
+ //# sourceMappingURL=gen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gen.d.ts","sourceRoot":"","sources":["../../../src/commands/gen/gen.ts"],"names":[],"mappings":"AAKA,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAI3E,UAAU,OAAO;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA8BD,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUvD;AAoID,eAAO,MAAM,MAAM,GAAU,0CAK1B,OAAO,oBAiPT,CAAC"}
@@ -0,0 +1,341 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gen.js","sourceRoot":"","sources":["../../../src/commands/gen/gen.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAoB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,iCAAiC,CAAC;AASxE,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC3C,OAAO,6BAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC;AAChF,CAAC,CAAC;AAEF,4DAA4D;AAC5D,MAAM,iBAAiB,GAAG,CAAC,IAAwB,EAAE,EAAE;IACrD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,OAAO,CACL,IAAI;QACF,yDAAyD;SACxD,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,yBAAyB;SACxB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;SACtB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;QACrB,wCAAwC;SACvC,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC;SAC3B,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAAe;IACpC,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE;YAC9B,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,kCAAkC;QAClC,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,8CAA8C;AAC9C,MAAM,iBAAiB,GAAG;IACxB,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,SAAS;IACT,SAAS;IACT,KAAK;IACL,UAAU;IACV,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,YAAY;IACZ,KAAK;IACL,KAAK;IACL,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,YAAY;IACZ,WAAW;IACX,SAAS;IACT,SAAS;IACT,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;IACT,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,QAAQ;IACR,OAAO;IACP,cAAc;IACd,QAAQ;IACR,WAAW;IACX,UAAU;IACV,MAAM;IACN,MAAM;IACN,OAAO;IACP,WAAW;IACX,KAAK;IACL,UAAU;CACX,CAAC;AAEF,SAAS,6BAA6B,CAAC,IAAY;IACjD,8CAA8C;IAC9C,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;IAE1D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8BAA8B;IAC9B,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAID,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAC5C,MAAM,gBAAgB,GAAkB;IACtC;QACE,IAAI,EAAE,yBAAyB;QAC/B,cAAc,EAAE,wBAAwB;QACxC,IAAI,EAAE,KAAK;KACZ;IACD;QACE,IAAI,EAAE,eAAe;QACrB,cAAc,EAAE,mBAAmB;QACnC,IAAI,EAAE,KAAK;KACZ;CACF,CAAC;AAYF,MAAM,eAAe,GAAG,CACtB,MAAoB,EACpB,IAEC,EACE,EAAE;IACL,IAAI,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC1C,MAAM,OAAO,GACX,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,MAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC1C,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,gCAAgC;QAChC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EAAE,EAC3B,SAAS,EACT,KAAK,EACL,QAAQ,EACR,OAAO,GACC,EAAE,EAAE;IACZ,MAAM,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,KAAK,IAAI,aAAa,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;IAClF,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAEzD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,2BAA2B;QAChD,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,MAAM,eAAe,GAA6B,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B;YACE,GAAG,QAAQ;YACX,GAAG,gBAAgB;YACnB,GAAG,CAAC,OAAO;gBACT,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,KAAc;wBACpB,eAAe,EAAE,OAAO;wBACxB,WAAW,EAAE,IAAI;qBAClB;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACtB,IAAI,UAAmB,CAAC;YACxB,IAAI,QAA6B,CAAC;YAClC,IAAI,gBAAgB,IAAI,OAAO,EAAE,CAAC;gBAChC,MAAM,iBAAiB,GAAG,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC;oBAC/C,IAAI,EAAE,kBAAkB;oBACxB,SAAS,EAAE;wBACT,EAAE,EAAE,OAAO,CAAC,cAAc;qBAC3B;iBACF,CAAC,CAA8D,CAAC;gBACjE,MAAM,WAAW,GAAG,eAAe,CAAC,iBAAiB,EAAE;oBACrD,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CACtB,6BAA6B,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE;iBAClE,CAAC,CAAC;gBACH,UAAU,GAAG,WAAW,CAAC,iBAAiB,CAAC,UAAU,CAAC;YACxD,CAAC;iBAAM,IACL,kBAAkB,IAAI,OAAO;gBAC7B,OAAO,CAAC,IAAI,KAAK,UAAU,EAC3B,CAAC;gBACD,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,GAC3B,kBAAkB,IAAI,OAAO;oBAC3B,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC;oBACtD,CAAC,CAAC,CAAC,iBAAiB,EAAE,GAAG,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACjE,QAAQ,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;gBACvC,MAAM,SAAS,GAAG,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC;oBACvC,IAAI,EAAE,kBAAkB;oBACxB,SAAS,EAAE;wBACT,IAAI,EAAE,eAAe;qBACtB;iBACF,CAAC,CAA8D,CAAC;gBACjE,MAAM,GAAG,GAAG,eAAe,CAAC,SAAS,EAAE;oBACrC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CACtB,qBAAqB,eAAe,KAAK,KAAK,EAAE;iBACnD,CAAC,CAAC;gBACH,UAAU,GAAG,GAAG,CAAC,iBAAiB,CAAC,UAAU,CAAC;YAChD,CAAC;iBAAM,IAAI,iBAAiB,IAAI,OAAO,EAAE,CAAC;gBACxC,UAAU,GAAG;oBACX,IAAI,EAAE,MAAM;oBACZ,GAAG,EAAE,OAAO,CAAC,eAAe;iBAC7B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,KAAK,GAAG,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC;gBACtC,IAAI,EAAE,yBAAyB;gBAC/B,SAAS,EAAE;oBACT,UAAU;oBACV,WAAW,EACT,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;iBAC7D;aACF,CAAC,CASD,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,IAAI,CACV,qCAAqC,OAAO,CAAC,IAAI,eAAe,CACjE,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,kBAAkB,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACjE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAC/D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CACd,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;gBAC/C,MAAM,SAAS,GAAG,GAAG,MAAM,OAAO,CAAC;gBACnC,MAAM,UAAU,GAAG,GAAG,MAAM,QAAQ,CAAC;gBACrC,MAAM,UAAU,GAAG,CAAC,MAAW,EAAE,EAAE;oBACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC;oBAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC5B,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChC,CAAC;oBAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBACjC,OAAO,SAAS,CAAC;oBACnB,CAAC;oBACD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBAC1B,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACnD,CAAC,CAAC;gBACF,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAC5C,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE;wBACzD,oBAAoB,EAAE,KAAK;wBAC3B,UAAU;wBACV,MAAM,EAAE,KAAK;qBACd,CAAC;oBACF,CAAC,CAAC,YAAY;wBACZ,CAAC,CAAC,MAAM,OAAO,CACX,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,EACxC,UAAU,EACV;4BACE,UAAU;4BACV,oBAAoB,EAAE,KAAK;4BAC3B,MAAM,EAAE,KAAK;yBACd,CACF;wBACH,CAAC,CAAC,SAAS;iBACd,CAAC,CAAC;gBACH,OAAO,IAAI;UACb,OAAO;UACP,QAAQ,IAAI,EAAE;WACb,CAAC;gBACA,OAAO;oBACL,CAAC,CAAC,IAAI;oBACN,SAAS;oBACT,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;oBACjC,CAAC,CAAC,WAAW;iBACd,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;YAEF,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAI5C,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,MAAM,MAAM,CAAC;;EAEtB,OAAO;;;;;;;;;;;;;;;;;MAiBH,KAAK;aACJ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;aAC/C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,GAAG,IAIzB,CAAC;YACF,OAAO,GAAG,QAAS,CAAC,GAAG;;6BAEF,QAAS,CAAC,IAAI,eAAe,QAAS,CAAC,IAAI;SAC/D,CAAC;QACJ,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,CAAC;;;;;;MAMZ,KAAK;aACJ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;aACzB,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE;YACzB,OAAO,GAAG,QAAQ;UAChB,KAAK;iBACJ,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE;gBACtD,MAAM,UAAU,GAAG,WAAW;oBAC5B,CAAC,CAAC,QAAQ,iBAAiB,CAAC,WAAW,CAAC,OAAO;oBAC/C,CAAC,CAAC,EAAE,CAAC;gBAEP,OAAO,GAAG,UAAU;YACpB,eAAe,CACf,QAAQ,CACT,aAAa,SAAS,gBAAgB,UAAU,IAAI,KAAK;WACzD,CAAC;YACF,CAAC,CAAC;iBACD,IAAI,CAAC,EAAE,CAAC;UACT,CAAC;QACL,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC;;;;MAIT,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;aAC9B,GAAG,CACF,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CACvB,GAAG,eAAe,CAAC,WAAW,CAAC;QACjC,KAAK;aACJ,GAAG,CACF,CAAC,QAAQ,EAAE,EAAE,CACX,GAAG,eAAe,CAAC,QAAQ,CAAC,MAAM,WAAW,CAAC,sBAAsB,CAClE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAC1B,GAAG,CACP;aACA,IAAI,CAAC,KAAK,CAAC;MACd,CACC;aACA,IAAI,CAAC,KAAK,CAAC;;GAEf,CAAC,CAAC;IACH,CAAC;YAAS,CAAC;QACT,kCAAkC;QAClC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,19 @@
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
@@ -0,0 +1 @@
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"}