devflare 1.0.0-next.22 → 1.0.0-next.24
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/LLM.md +221 -7
- package/dist/account-5nm1xn0v.js +475 -0
- package/dist/account-j8nfggg4.js +475 -0
- package/dist/account-qhe8vtds.js +475 -0
- package/dist/bridge/miniflare.d.ts +1 -1
- package/dist/bridge/miniflare.d.ts.map +1 -1
- package/dist/browser.d.ts +35 -15
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +4 -2
- package/dist/build-vctfnmsf.js +54 -0
- package/dist/build-vy95gy3f.js +54 -0
- package/dist/build-yzx0gsaj.js +54 -0
- package/dist/cli/commands/build-artifacts.d.ts.map +1 -1
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/deploy/prepare.d.ts.map +1 -1
- package/dist/cli/commands/deploy.d.ts.map +1 -1
- package/dist/cli/commands/type-generation/generator.d.ts +4 -2
- package/dist/cli/commands/type-generation/generator.d.ts.map +1 -1
- package/dist/cli/commands/types.d.ts.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/config/compiler/types.d.ts +1 -1
- package/dist/config/compiler/types.d.ts.map +1 -1
- package/dist/config/define.d.ts +7 -4
- package/dist/config/define.d.ts.map +1 -1
- package/dist/config/env-vars.d.ts +309 -0
- package/dist/config/env-vars.d.ts.map +1 -0
- package/dist/config/index.d.ts +2 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/local-dev-vars.d.ts +2 -2
- package/dist/config/local-dev-vars.d.ts.map +1 -1
- package/dist/config/schema-env.d.ts +28 -8
- package/dist/config/schema-env.d.ts.map +1 -1
- package/dist/config/schema-runtime.d.ts +11 -1
- package/dist/config/schema-runtime.d.ts.map +1 -1
- package/dist/config/schema-types-bindings-platform.d.ts +378 -0
- package/dist/config/schema-types-bindings-platform.d.ts.map +1 -0
- package/dist/config/schema-types-bindings-resources.d.ts +551 -0
- package/dist/config/schema-types-bindings-resources.d.ts.map +1 -0
- package/dist/config/schema-types-bindings.d.ts +254 -0
- package/dist/config/schema-types-bindings.d.ts.map +1 -0
- package/dist/config/schema-types-build.d.ts +86 -0
- package/dist/config/schema-types-build.d.ts.map +1 -0
- package/dist/config/schema-types-runtime.d.ts +885 -0
- package/dist/config/schema-types-runtime.d.ts.map +1 -0
- package/dist/config/schema-types.d.ts +377 -0
- package/dist/config/schema-types.d.ts.map +1 -0
- package/dist/config/schema.d.ts +47 -18
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config-entry.d.ts +2 -0
- package/dist/config-entry.d.ts.map +1 -1
- package/dist/config-entry.js +3 -1
- package/dist/config-gq5jh4cx.js +105 -0
- package/dist/config-rq32csms.js +105 -0
- package/dist/config-vec13050.js +105 -0
- package/dist/deploy-01j0ep5n.js +1055 -0
- package/dist/deploy-krj3k9zm.js +1055 -0
- package/dist/deploy-mem96qyn.js +1066 -0
- package/dist/deploy-tjypkhg7.js +1055 -0
- package/dist/dev-apkr7cfv.js +2597 -0
- package/dist/dev-bh581ew3.js +2597 -0
- package/dist/dev-gn5y93z9.js +2597 -0
- package/dist/dev-server/server.d.ts.map +1 -1
- package/dist/doctor-9asw8x18.js +259 -0
- package/dist/doctor-h5q28qt1.js +259 -0
- package/dist/doctor-khk550tw.js +259 -0
- package/dist/env.d.ts +10 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/index-0bv2qjs1.js +1555 -0
- package/dist/index-3tkzn06q.js +413 -0
- package/dist/index-4j9ah79n.js +1033 -0
- package/dist/index-8fyz6gcm.js +699 -0
- package/dist/index-97z629zr.js +109 -0
- package/dist/index-b28c4yr4.js +1205 -0
- package/dist/index-bfjpjs07.js +581 -0
- package/dist/index-c8p4njqy.js +479 -0
- package/dist/index-cna43592.js +1573 -0
- package/dist/index-cr06zrgw.js +1033 -0
- package/dist/index-cwjjdtgn.js +74 -0
- package/dist/index-d00njc1f.js +147 -0
- package/dist/index-dgeamyfk.js +1426 -0
- package/dist/index-dref9ecb.js +476 -0
- package/dist/index-e151t4ge.js +895 -0
- package/dist/index-e7kakw0j.js +1033 -0
- package/dist/index-f1g5jdm8.js +1426 -0
- package/dist/index-f46984zs.js +1554 -0
- package/dist/index-ftf7yqhs.js +74 -0
- package/dist/index-grk8pzhr.js +185 -0
- package/dist/index-h332fg62.js +1205 -0
- package/dist/index-hzmpecq9.js +52 -0
- package/dist/index-j1csb7gb.js +581 -0
- package/dist/index-j7x7f72h.js +185 -0
- package/dist/index-ja2rdbt0.js +476 -0
- package/dist/index-jkqbjwt2.js +476 -0
- package/dist/index-kc207nyr.js +52 -0
- package/dist/index-meq8ydc0.js +895 -0
- package/dist/index-mh5renra.js +895 -0
- package/dist/index-myfjejs0.js +185 -0
- package/dist/index-p9xq83p7.js +147 -0
- package/dist/index-q15nj71j.js +52 -0
- package/dist/index-qkfvd3cs.js +109 -0
- package/dist/index-qqp65pyv.js +699 -0
- package/dist/index-rnz879kf.js +1426 -0
- package/dist/index-s0fmwxbk.js +74 -0
- package/dist/index-s96e5dd9.js +699 -0
- package/dist/index-stzx8nc4.js +111 -0
- package/dist/index-th4vrnbk.js +1205 -0
- package/dist/index-vtcmsgaf.js +581 -0
- package/dist/index-x2k3awjs.js +147 -0
- package/dist/index-x8x547tz.js +1426 -0
- package/dist/index-xxxd0mvw.js +109 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -6
- package/dist/login-280p2cm9.js +77 -0
- package/dist/login-4n266whq.js +77 -0
- package/dist/login-g9rb7dj3.js +77 -0
- package/dist/previews-3m3ffpaw.js +1337 -0
- package/dist/previews-tr8sm03d.js +1337 -0
- package/dist/previews-ykamw25e.js +1337 -0
- package/dist/productions-4m1pd6ts.js +505 -0
- package/dist/productions-62y489ff.js +505 -0
- package/dist/productions-cgn3fz7d.js +505 -0
- package/dist/runtime/exports.d.ts +23 -0
- package/dist/runtime/exports.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +5 -3
- package/dist/secrets-4050kqf5.js +91 -0
- package/dist/secrets-gywxctdh.js +91 -0
- package/dist/secrets-p112cajt.js +91 -0
- package/dist/sveltekit/index.js +4 -4
- package/dist/test/index.js +23 -11
- package/dist/test/resolve-service-bindings.d.ts +1 -1
- package/dist/test/resolve-service-bindings.d.ts.map +1 -1
- package/dist/test/simple-context-lifecycle.d.ts.map +1 -1
- package/dist/types-17kkqw37.js +705 -0
- package/dist/types-apmt10yj.js +705 -0
- package/dist/types-ttrrgdfj.js +705 -0
- package/dist/vite/index.js +5 -5
- package/dist/vite/plugin-context.d.ts.map +1 -1
- package/dist/vite/plugin-programmatic.d.ts.map +1 -1
- package/dist/worker-2k1jyr6p.js +513 -0
- package/dist/worker-4fd49jm0.js +513 -0
- package/dist/worker-jqgn6jyj.js +513 -0
- package/package.json +1 -1
|
@@ -0,0 +1,475 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getConfiguredAccountId
|
|
3
|
+
} from "./index-cwjjdtgn.js";
|
|
4
|
+
import {
|
|
5
|
+
account
|
|
6
|
+
} from "./index-0m6e4mxz.js";
|
|
7
|
+
import"./index-k7m5f1dg.js";
|
|
8
|
+
import"./index-3jme4hgw.js";
|
|
9
|
+
import {
|
|
10
|
+
bold,
|
|
11
|
+
createCliTheme,
|
|
12
|
+
dim,
|
|
13
|
+
formatCommand,
|
|
14
|
+
formatLabelValue,
|
|
15
|
+
green,
|
|
16
|
+
logLine,
|
|
17
|
+
logTable,
|
|
18
|
+
whiteDim,
|
|
19
|
+
yellow
|
|
20
|
+
} from "./index-stgn34cr.js";
|
|
21
|
+
import {
|
|
22
|
+
CYAN,
|
|
23
|
+
CYAN_BOLD,
|
|
24
|
+
DIM,
|
|
25
|
+
RESET
|
|
26
|
+
} from "./index-3t6rypgc.js";
|
|
27
|
+
import"./index-15fpa5tx.js";
|
|
28
|
+
import"./index-f46984zs.js";
|
|
29
|
+
import {
|
|
30
|
+
getGlobalDefaultAccountId,
|
|
31
|
+
getWorkspaceAccountId,
|
|
32
|
+
setGlobalDefaultAccountId,
|
|
33
|
+
setWorkspaceAccountId
|
|
34
|
+
} from "./index-1d4jg11n.js";
|
|
35
|
+
import {
|
|
36
|
+
AuthenticationError,
|
|
37
|
+
CloudflareAPIError
|
|
38
|
+
} from "./index-mg8vwqxf.js";
|
|
39
|
+
import"./index-c8p4njqy.js";
|
|
40
|
+
import"./index-37x76zdn.js";
|
|
41
|
+
|
|
42
|
+
// src/cli/commands/account.ts
|
|
43
|
+
var ACCOUNT_SUBCOMMANDS = [
|
|
44
|
+
"info",
|
|
45
|
+
"workers",
|
|
46
|
+
"kv",
|
|
47
|
+
"d1",
|
|
48
|
+
"r2",
|
|
49
|
+
"vectorize",
|
|
50
|
+
"limits",
|
|
51
|
+
"usage",
|
|
52
|
+
"global",
|
|
53
|
+
"workspace"
|
|
54
|
+
];
|
|
55
|
+
function isAccountSubcommand(value) {
|
|
56
|
+
return ACCOUNT_SUBCOMMANDS.includes(value);
|
|
57
|
+
}
|
|
58
|
+
var CLI_API_OPTIONS = { timeout: 1e4 };
|
|
59
|
+
function formatDate(date) {
|
|
60
|
+
if (!date)
|
|
61
|
+
return "N/A";
|
|
62
|
+
return date.toLocaleDateString("en-US", {
|
|
63
|
+
year: "numeric",
|
|
64
|
+
month: "short",
|
|
65
|
+
day: "numeric"
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
function formatPercent(value) {
|
|
69
|
+
if (value === undefined)
|
|
70
|
+
return "N/A";
|
|
71
|
+
return `${value.toFixed(1)}%`;
|
|
72
|
+
}
|
|
73
|
+
function logSection(logger, title, theme, count, accent = "cyan") {
|
|
74
|
+
logLine(logger);
|
|
75
|
+
const heading = accent === "yellow" ? yellow(title, theme) : accent === "green" ? green(title, theme) : bold(title, theme);
|
|
76
|
+
logLine(logger, `${heading}${count === undefined ? "" : ` ${dim(`(${count})`, theme)}`}`);
|
|
77
|
+
}
|
|
78
|
+
function logEmptyState(logger, message, theme) {
|
|
79
|
+
logLine(logger);
|
|
80
|
+
logLine(logger, dim(message, theme));
|
|
81
|
+
logLine(logger);
|
|
82
|
+
return { exitCode: 0 };
|
|
83
|
+
}
|
|
84
|
+
async function runAccountCommand(parsed, logger, options) {
|
|
85
|
+
const theme = createCliTheme(parsed.options);
|
|
86
|
+
const isAuth = await account.isAuthenticated();
|
|
87
|
+
if (!isAuth) {
|
|
88
|
+
logger.error("Not authenticated with Cloudflare");
|
|
89
|
+
logLine(logger, dim("Run: devflare login", theme));
|
|
90
|
+
return { exitCode: 1 };
|
|
91
|
+
}
|
|
92
|
+
const subcommand = parsed.args[0];
|
|
93
|
+
const rawSubcommand = parsed.args[0];
|
|
94
|
+
if (rawSubcommand && !isAccountSubcommand(rawSubcommand)) {
|
|
95
|
+
logger.error(`Unknown account subcommand: ${rawSubcommand}`);
|
|
96
|
+
logLine(logger, dim(`Available account subcommands: ${ACCOUNT_SUBCOMMANDS.join(", ")}`, theme));
|
|
97
|
+
return { exitCode: 1 };
|
|
98
|
+
}
|
|
99
|
+
if (subcommand === "global") {
|
|
100
|
+
return await selectGlobalAccount(logger, theme);
|
|
101
|
+
}
|
|
102
|
+
if (subcommand === "workspace") {
|
|
103
|
+
return await selectWorkspaceAccount(logger, theme);
|
|
104
|
+
}
|
|
105
|
+
try {
|
|
106
|
+
let accountId = parsed.options.account;
|
|
107
|
+
if (!accountId) {
|
|
108
|
+
accountId = await getConfiguredAccountId(options.cwd ?? process.cwd());
|
|
109
|
+
}
|
|
110
|
+
if (!accountId) {
|
|
111
|
+
const primary = await account.getPrimaryAccount();
|
|
112
|
+
if (!primary) {
|
|
113
|
+
logger.error("No Cloudflare accounts found");
|
|
114
|
+
return { exitCode: 1 };
|
|
115
|
+
}
|
|
116
|
+
accountId = primary.id;
|
|
117
|
+
}
|
|
118
|
+
switch (subcommand) {
|
|
119
|
+
case "workers":
|
|
120
|
+
return await showWorkers(accountId, logger, theme);
|
|
121
|
+
case "kv":
|
|
122
|
+
return await showKV(accountId, logger, theme);
|
|
123
|
+
case "d1":
|
|
124
|
+
return await showD1(accountId, logger, theme);
|
|
125
|
+
case "r2":
|
|
126
|
+
return await showR2(accountId, logger, theme);
|
|
127
|
+
case "vectorize":
|
|
128
|
+
return await showVectorize(accountId, logger, theme);
|
|
129
|
+
case "limits":
|
|
130
|
+
return await handleLimits(accountId, parsed, logger, theme);
|
|
131
|
+
case "usage":
|
|
132
|
+
return await showUsage(accountId, logger, theme);
|
|
133
|
+
case "info":
|
|
134
|
+
default:
|
|
135
|
+
return await showAccountOverview(accountId, logger, theme);
|
|
136
|
+
}
|
|
137
|
+
} catch (error) {
|
|
138
|
+
if (error instanceof AuthenticationError) {
|
|
139
|
+
logger.error(error.message);
|
|
140
|
+
return { exitCode: 1 };
|
|
141
|
+
}
|
|
142
|
+
if (error instanceof CloudflareAPIError) {
|
|
143
|
+
logger.error(`API Error: ${error.message}`);
|
|
144
|
+
return { exitCode: 1 };
|
|
145
|
+
}
|
|
146
|
+
if (error instanceof Error) {
|
|
147
|
+
if (error.name === "AbortError" || error.message.includes("timed out")) {
|
|
148
|
+
logger.error("Request timed out. The Cloudflare API is slow or unavailable.");
|
|
149
|
+
return { exitCode: 1 };
|
|
150
|
+
}
|
|
151
|
+
logger.error(`Error: ${error.message}`);
|
|
152
|
+
return { exitCode: 1 };
|
|
153
|
+
}
|
|
154
|
+
throw error;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
async function showAccountOverview(accountId, logger, theme) {
|
|
158
|
+
logSection(logger, "Accounts", theme);
|
|
159
|
+
let accounts = [];
|
|
160
|
+
let limitedAccountView = false;
|
|
161
|
+
try {
|
|
162
|
+
accounts = await account.getAccounts();
|
|
163
|
+
} catch {
|
|
164
|
+
const fallbackAccount = await account.getAccountById(accountId);
|
|
165
|
+
if (!fallbackAccount) {
|
|
166
|
+
logger.error("Could not inspect Cloudflare accounts with the current credentials");
|
|
167
|
+
return { exitCode: 1 };
|
|
168
|
+
}
|
|
169
|
+
accounts = [fallbackAccount];
|
|
170
|
+
limitedAccountView = true;
|
|
171
|
+
}
|
|
172
|
+
if (accounts.length === 0) {
|
|
173
|
+
logger.error("No Cloudflare accounts found");
|
|
174
|
+
return { exitCode: 1 };
|
|
175
|
+
}
|
|
176
|
+
const workspaceId = getWorkspaceAccountId();
|
|
177
|
+
const globalId = await getGlobalDefaultAccountId(accountId);
|
|
178
|
+
if (limitedAccountView) {
|
|
179
|
+
logLine(logger, dim("Using the configured account directly because the current credentials cannot enumerate all Cloudflare accounts.", theme));
|
|
180
|
+
}
|
|
181
|
+
for (let i = 0;i < accounts.length; i++) {
|
|
182
|
+
const acc = accounts[i];
|
|
183
|
+
const isWorkspace = acc.id === workspaceId;
|
|
184
|
+
const isGlobal = acc.id === globalId;
|
|
185
|
+
let badge = "";
|
|
186
|
+
if (isWorkspace) {
|
|
187
|
+
badge = ` ${CYAN_BOLD}(workspace)${RESET}`;
|
|
188
|
+
} else if (isGlobal) {
|
|
189
|
+
badge = workspaceId ? ` ${DIM}(global)${RESET}` : ` ${CYAN}(global)${RESET}`;
|
|
190
|
+
}
|
|
191
|
+
if (i > 0) {
|
|
192
|
+
logLine(logger);
|
|
193
|
+
}
|
|
194
|
+
logLine(logger, `${dim("account", theme)} ${green(acc.name, theme)}${badge}`);
|
|
195
|
+
logLine(logger, formatLabelValue("id", whiteDim(acc.id, theme), theme, 10));
|
|
196
|
+
logLine(logger, formatLabelValue("type", acc.type, theme, 10));
|
|
197
|
+
}
|
|
198
|
+
logSection(logger, "Commands", theme);
|
|
199
|
+
logLine(logger, formatCommand("devflare account global", "Set global default account", theme));
|
|
200
|
+
logLine(logger, formatCommand("devflare account workspace", "Set workspace account", theme));
|
|
201
|
+
logLine(logger, formatCommand("devflare account workers", "List Workers", theme));
|
|
202
|
+
logLine(logger, formatCommand("devflare account kv", "List KV namespaces", theme));
|
|
203
|
+
logLine(logger, formatCommand("devflare account d1", "List D1 databases", theme));
|
|
204
|
+
logLine(logger, formatCommand("devflare account r2", "List R2 buckets", theme));
|
|
205
|
+
logLine(logger, formatCommand("devflare account vectorize", "List Vectorize indexes", theme));
|
|
206
|
+
logLine(logger, formatCommand("devflare account limits", "View or set usage limits", theme));
|
|
207
|
+
logLine(logger, formatCommand("devflare account usage", "View detailed usage", theme));
|
|
208
|
+
logLine(logger, formatCommand("devflare ai", "View AI models and pricing", theme));
|
|
209
|
+
logLine(logger);
|
|
210
|
+
return { exitCode: 0 };
|
|
211
|
+
}
|
|
212
|
+
async function selectGlobalAccount(logger, theme) {
|
|
213
|
+
const accounts = await account.getAccounts();
|
|
214
|
+
if (accounts.length === 0) {
|
|
215
|
+
logger.error("No Cloudflare accounts found");
|
|
216
|
+
return { exitCode: 1 };
|
|
217
|
+
}
|
|
218
|
+
if (accounts.length === 1) {
|
|
219
|
+
await setGlobalDefaultAccountId(accounts[0].id);
|
|
220
|
+
logger.success(`Global default set to: ${accounts[0].name}`);
|
|
221
|
+
return { exitCode: 0 };
|
|
222
|
+
}
|
|
223
|
+
const currentGlobal = await getGlobalDefaultAccountId(accounts[0].id);
|
|
224
|
+
const options = accounts.map((acc) => {
|
|
225
|
+
const isCurrent = acc.id === currentGlobal;
|
|
226
|
+
return {
|
|
227
|
+
label: isCurrent ? `${acc.name} ${CYAN}(default)${RESET}` : acc.name,
|
|
228
|
+
value: acc.id,
|
|
229
|
+
hint: acc.id.substring(0, 8) + "..."
|
|
230
|
+
};
|
|
231
|
+
});
|
|
232
|
+
const selected = await logger.prompt("Select global default account:", {
|
|
233
|
+
type: "select",
|
|
234
|
+
options,
|
|
235
|
+
initial: currentGlobal ?? accounts[0].id
|
|
236
|
+
});
|
|
237
|
+
if (!selected || typeof selected === "symbol") {
|
|
238
|
+
logLine(logger, dim("Cancelled", theme));
|
|
239
|
+
return { exitCode: 0 };
|
|
240
|
+
}
|
|
241
|
+
await setGlobalDefaultAccountId(selected, accounts[0].id);
|
|
242
|
+
const selectedAccount = accounts.find((a) => a.id === selected);
|
|
243
|
+
logger.success(`Global default set to: ${selectedAccount?.name}`);
|
|
244
|
+
logLine(logger, `${dim("saved to", theme)} ~/.devflare/preferences.json + cloud KV`);
|
|
245
|
+
return { exitCode: 0 };
|
|
246
|
+
}
|
|
247
|
+
async function selectWorkspaceAccount(logger, theme) {
|
|
248
|
+
const accounts = await account.getAccounts();
|
|
249
|
+
if (accounts.length === 0) {
|
|
250
|
+
logger.error("No Cloudflare accounts found");
|
|
251
|
+
return { exitCode: 1 };
|
|
252
|
+
}
|
|
253
|
+
if (accounts.length === 1) {
|
|
254
|
+
const pkgPath2 = setWorkspaceAccountId(accounts[0].id);
|
|
255
|
+
logger.success(`Workspace account set to: ${accounts[0].name}`);
|
|
256
|
+
logLine(logger, `${dim("saved to", theme)} ${pkgPath2}`);
|
|
257
|
+
return { exitCode: 0 };
|
|
258
|
+
}
|
|
259
|
+
const currentWorkspace = getWorkspaceAccountId();
|
|
260
|
+
const options = accounts.map((acc) => {
|
|
261
|
+
const isCurrent = acc.id === currentWorkspace;
|
|
262
|
+
return {
|
|
263
|
+
label: isCurrent ? `${acc.name} ${CYAN}(workspace)${RESET}` : acc.name,
|
|
264
|
+
value: acc.id,
|
|
265
|
+
hint: acc.id.substring(0, 8) + "..."
|
|
266
|
+
};
|
|
267
|
+
});
|
|
268
|
+
const selected = await logger.prompt("Select workspace account:", {
|
|
269
|
+
type: "select",
|
|
270
|
+
options,
|
|
271
|
+
initial: currentWorkspace ?? accounts[0].id
|
|
272
|
+
});
|
|
273
|
+
if (!selected || typeof selected === "symbol") {
|
|
274
|
+
logLine(logger, dim("Cancelled", theme));
|
|
275
|
+
return { exitCode: 0 };
|
|
276
|
+
}
|
|
277
|
+
const pkgPath = setWorkspaceAccountId(selected);
|
|
278
|
+
const selectedAccount = accounts.find((a) => a.id === selected);
|
|
279
|
+
logger.success(`Workspace account set to: ${selectedAccount?.name}`);
|
|
280
|
+
logLine(logger, `${dim("saved to", theme)} ${pkgPath}`);
|
|
281
|
+
return { exitCode: 0 };
|
|
282
|
+
}
|
|
283
|
+
async function showWorkers(accountId, logger, theme) {
|
|
284
|
+
const workers = await account.workers(accountId, CLI_API_OPTIONS);
|
|
285
|
+
if (workers.length === 0) {
|
|
286
|
+
return logEmptyState(logger, "No Workers found", theme);
|
|
287
|
+
}
|
|
288
|
+
logSection(logger, "Workers", theme, workers.length, "green");
|
|
289
|
+
logTable(logger, {
|
|
290
|
+
title: "Worker list",
|
|
291
|
+
rows: workers,
|
|
292
|
+
columns: [
|
|
293
|
+
{ label: "Name", width: 30, value: (worker) => worker.name },
|
|
294
|
+
{ label: "Modified", width: 20, value: (worker) => whiteDim(formatDate(worker.modifiedOn), theme) }
|
|
295
|
+
],
|
|
296
|
+
theme,
|
|
297
|
+
titleAccent: "green"
|
|
298
|
+
});
|
|
299
|
+
logLine(logger);
|
|
300
|
+
return { exitCode: 0 };
|
|
301
|
+
}
|
|
302
|
+
async function showKV(accountId, logger, theme) {
|
|
303
|
+
const namespaces = await account.kv(accountId, CLI_API_OPTIONS);
|
|
304
|
+
if (namespaces.length === 0) {
|
|
305
|
+
return logEmptyState(logger, "No KV namespaces found", theme);
|
|
306
|
+
}
|
|
307
|
+
logSection(logger, "KV namespaces", theme, namespaces.length);
|
|
308
|
+
logTable(logger, {
|
|
309
|
+
title: "Namespace list",
|
|
310
|
+
rows: namespaces,
|
|
311
|
+
columns: [
|
|
312
|
+
{ label: "Name", width: 35, value: (ns) => ns.name },
|
|
313
|
+
{ label: "ID", width: 35, value: (ns) => whiteDim(ns.id, theme) }
|
|
314
|
+
],
|
|
315
|
+
theme,
|
|
316
|
+
titleAccent: "cyan"
|
|
317
|
+
});
|
|
318
|
+
logLine(logger);
|
|
319
|
+
return { exitCode: 0 };
|
|
320
|
+
}
|
|
321
|
+
async function showD1(accountId, logger, theme) {
|
|
322
|
+
const databases = await account.d1(accountId, CLI_API_OPTIONS);
|
|
323
|
+
if (databases.length === 0) {
|
|
324
|
+
return logEmptyState(logger, "No D1 databases found", theme);
|
|
325
|
+
}
|
|
326
|
+
logSection(logger, "D1 databases", theme, databases.length, "yellow");
|
|
327
|
+
logTable(logger, {
|
|
328
|
+
title: "Database list",
|
|
329
|
+
rows: databases,
|
|
330
|
+
columns: [
|
|
331
|
+
{ label: "Name", width: 25, value: (db) => db.name },
|
|
332
|
+
{ label: "ID", width: 40, value: (db) => whiteDim(db.id, theme) },
|
|
333
|
+
{ label: "Tables", width: 8, value: (db) => String(db.tableCount ?? "N/A") }
|
|
334
|
+
],
|
|
335
|
+
theme,
|
|
336
|
+
titleAccent: "yellow"
|
|
337
|
+
});
|
|
338
|
+
logLine(logger);
|
|
339
|
+
return { exitCode: 0 };
|
|
340
|
+
}
|
|
341
|
+
async function showR2(accountId, logger, theme) {
|
|
342
|
+
const buckets = await account.r2(accountId, CLI_API_OPTIONS);
|
|
343
|
+
if (buckets.length === 0) {
|
|
344
|
+
return logEmptyState(logger, "No R2 buckets found", theme);
|
|
345
|
+
}
|
|
346
|
+
logSection(logger, "R2 buckets", theme, buckets.length, "green");
|
|
347
|
+
logTable(logger, {
|
|
348
|
+
title: "Bucket list",
|
|
349
|
+
rows: buckets,
|
|
350
|
+
columns: [
|
|
351
|
+
{ label: "Name", width: 30, value: (bucket) => bucket.name },
|
|
352
|
+
{ label: "Created", width: 20, value: (bucket) => whiteDim(formatDate(bucket.createdOn), theme) },
|
|
353
|
+
{ label: "Location", width: 10, value: (bucket) => bucket.location ?? "auto" }
|
|
354
|
+
],
|
|
355
|
+
theme,
|
|
356
|
+
titleAccent: "green"
|
|
357
|
+
});
|
|
358
|
+
logLine(logger);
|
|
359
|
+
return { exitCode: 0 };
|
|
360
|
+
}
|
|
361
|
+
async function showVectorize(accountId, logger, theme) {
|
|
362
|
+
const indexes = await account.vectorize(accountId, CLI_API_OPTIONS);
|
|
363
|
+
if (indexes.length === 0) {
|
|
364
|
+
return logEmptyState(logger, "No Vectorize indexes found", theme);
|
|
365
|
+
}
|
|
366
|
+
logSection(logger, "Vectorize indexes", theme, indexes.length, "yellow");
|
|
367
|
+
logTable(logger, {
|
|
368
|
+
title: "Index list",
|
|
369
|
+
rows: indexes,
|
|
370
|
+
columns: [
|
|
371
|
+
{ label: "Name", width: 25, value: (idx) => idx.name },
|
|
372
|
+
{ label: "Dimensions", width: 12, value: (idx) => String(idx.dimensions) },
|
|
373
|
+
{ label: "Metric", width: 15, value: (idx) => idx.metric }
|
|
374
|
+
],
|
|
375
|
+
theme,
|
|
376
|
+
titleAccent: "yellow"
|
|
377
|
+
});
|
|
378
|
+
logLine(logger);
|
|
379
|
+
return { exitCode: 0 };
|
|
380
|
+
}
|
|
381
|
+
async function showUsage(accountId, logger, theme) {
|
|
382
|
+
const usages = await account.getAllUsageSummaries(accountId);
|
|
383
|
+
const limits = await account.getLimits(accountId);
|
|
384
|
+
logSection(logger, "Usage", theme, undefined, "yellow");
|
|
385
|
+
logLine(logger, formatLabelValue("limits", limits.enabled ? green("enabled", theme) : dim("disabled", theme), theme, 12));
|
|
386
|
+
if (usages.length === 0) {
|
|
387
|
+
return logEmptyState(logger, "No usage tracked yet", theme);
|
|
388
|
+
}
|
|
389
|
+
logTable(logger, {
|
|
390
|
+
title: "Usage by service",
|
|
391
|
+
rows: usages,
|
|
392
|
+
columns: [
|
|
393
|
+
{ label: "Service", width: 15, value: (usage) => usage.service },
|
|
394
|
+
{ label: "Today", width: 10, value: (usage) => String(usage.today) },
|
|
395
|
+
{ label: "Limit", width: 10, value: (usage) => usage.limit?.toString() ?? "∞" },
|
|
396
|
+
{ label: "%", width: 10, value: (usage) => formatPercent(usage.percentUsed) },
|
|
397
|
+
{ label: "Status", width: 10, value: (usage) => usage.withinLimit ? green("ok", theme) : yellow("limit", theme) }
|
|
398
|
+
],
|
|
399
|
+
theme,
|
|
400
|
+
titleAccent: "yellow"
|
|
401
|
+
});
|
|
402
|
+
logLine(logger);
|
|
403
|
+
return { exitCode: 0 };
|
|
404
|
+
}
|
|
405
|
+
async function handleLimits(accountId, parsed, logger, theme) {
|
|
406
|
+
const action = parsed.args[1];
|
|
407
|
+
switch (action) {
|
|
408
|
+
case "set":
|
|
409
|
+
return await setLimit(accountId, parsed, logger, theme);
|
|
410
|
+
case "enable":
|
|
411
|
+
await account.setLimitsEnabled(accountId, true);
|
|
412
|
+
logger.success("Usage limits enabled");
|
|
413
|
+
return { exitCode: 0 };
|
|
414
|
+
case "disable":
|
|
415
|
+
await account.setLimitsEnabled(accountId, false);
|
|
416
|
+
logger.success("Usage limits disabled");
|
|
417
|
+
return { exitCode: 0 };
|
|
418
|
+
default:
|
|
419
|
+
return await showLimits(accountId, logger, theme);
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
async function showLimits(accountId, logger, theme) {
|
|
423
|
+
const limits = await account.getLimits(accountId);
|
|
424
|
+
logSection(logger, "Usage limits", theme, undefined, "yellow");
|
|
425
|
+
logLine(logger, formatLabelValue("status", limits.enabled ? green("enabled", theme) : dim("disabled", theme), theme, 16));
|
|
426
|
+
logLine(logger);
|
|
427
|
+
logLine(logger, dim("current limits", theme));
|
|
428
|
+
logLine(logger, formatLabelValue("AI Requests/Day", String(limits.aiRequestsPerDay ?? "Unlimited"), theme, 18));
|
|
429
|
+
logLine(logger, formatLabelValue("AI Tokens/Day", String(limits.aiTokensPerDay ?? "Unlimited"), theme, 18));
|
|
430
|
+
logLine(logger, formatLabelValue("Vectorize Ops/Day", String(limits.vectorizeOpsPerDay ?? "Unlimited"), theme, 18));
|
|
431
|
+
logSection(logger, "Commands", theme);
|
|
432
|
+
logLine(logger, formatCommand("devflare account limits set ai-requests 50", "Set the AI request daily limit", theme));
|
|
433
|
+
logLine(logger, formatCommand("devflare account limits set ai-tokens 5000", "Set the AI token daily limit", theme));
|
|
434
|
+
logLine(logger, formatCommand("devflare account limits set vectorize-ops 500", "Set the Vectorize daily limit", theme));
|
|
435
|
+
logLine(logger, formatCommand("devflare account limits enable", "Enable usage limits", theme));
|
|
436
|
+
logLine(logger, formatCommand("devflare account limits disable", "Disable usage limits", theme));
|
|
437
|
+
logLine(logger);
|
|
438
|
+
return { exitCode: 0 };
|
|
439
|
+
}
|
|
440
|
+
async function setLimit(accountId, parsed, logger, theme) {
|
|
441
|
+
const limitName = parsed.args[2];
|
|
442
|
+
const limitValue = parsed.args[3];
|
|
443
|
+
if (!limitName || !limitValue) {
|
|
444
|
+
logger.error("Usage: devflare account limits set <limit-name> <value>");
|
|
445
|
+
logLine(logger, dim("Limit names: ai-requests, ai-tokens, vectorize-ops", theme));
|
|
446
|
+
return { exitCode: 1 };
|
|
447
|
+
}
|
|
448
|
+
const value = parseInt(limitValue, 10);
|
|
449
|
+
if (isNaN(value) || value < 0) {
|
|
450
|
+
logger.error("Limit value must be a positive number");
|
|
451
|
+
return { exitCode: 1 };
|
|
452
|
+
}
|
|
453
|
+
switch (limitName) {
|
|
454
|
+
case "ai-requests":
|
|
455
|
+
await account.setLimits(accountId, { aiRequestsPerDay: value });
|
|
456
|
+
logger.success(`AI requests limit set to ${value}/day`);
|
|
457
|
+
break;
|
|
458
|
+
case "ai-tokens":
|
|
459
|
+
await account.setLimits(accountId, { aiTokensPerDay: value });
|
|
460
|
+
logger.success(`AI tokens limit set to ${value}/day`);
|
|
461
|
+
break;
|
|
462
|
+
case "vectorize-ops":
|
|
463
|
+
await account.setLimits(accountId, { vectorizeOpsPerDay: value });
|
|
464
|
+
logger.success(`Vectorize ops limit set to ${value}/day`);
|
|
465
|
+
break;
|
|
466
|
+
default:
|
|
467
|
+
logger.error(`Unknown limit: ${limitName}`);
|
|
468
|
+
logLine(logger, dim("Valid limits: ai-requests, ai-tokens, vectorize-ops", theme));
|
|
469
|
+
return { exitCode: 1 };
|
|
470
|
+
}
|
|
471
|
+
return { exitCode: 0 };
|
|
472
|
+
}
|
|
473
|
+
export {
|
|
474
|
+
runAccountCommand
|
|
475
|
+
};
|
|
@@ -100,7 +100,7 @@ export interface MiniflareOptions {
|
|
|
100
100
|
allowedSenderAddresses?: string[];
|
|
101
101
|
}>;
|
|
102
102
|
/** Environment variables */
|
|
103
|
-
bindings?: Record<string,
|
|
103
|
+
bindings?: Record<string, unknown>;
|
|
104
104
|
/** Service bindings */
|
|
105
105
|
serviceBindings?: Record<string, {
|
|
106
106
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"miniflare.d.ts","sourceRoot":"","sources":["../../src/bridge/miniflare.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,WAAW,CAAA;AAC3D,OAAO,EACN,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"miniflare.d.ts","sourceRoot":"","sources":["../../src/bridge/miniflare.ts"],"names":[],"mappings":"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"}
|
package/dist/browser.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { defineConfig } from './config/define';
|
|
2
2
|
export { ref } from './config/ref';
|
|
3
3
|
export { workerName } from './workerName';
|
|
4
|
-
export { env } from './env';
|
|
4
|
+
export { env, vars } from './env';
|
|
5
5
|
export { setBindingHints, createEnvProxy, initEnv } from './bridge/proxy';
|
|
6
6
|
export type { EnvProxyOptions, BindingHints } from './bridge/proxy';
|
|
7
7
|
export { BridgeClient, getClient } from './bridge/client';
|
|
@@ -723,7 +723,7 @@ export declare const configSchema: import("zod").ZodEffects<import("zod").ZodObj
|
|
|
723
723
|
service: string;
|
|
724
724
|
environment?: string | undefined;
|
|
725
725
|
}>]>, "many">>;
|
|
726
|
-
vars: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").
|
|
726
|
+
vars: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodType<unknown, import("zod").ZodTypeDef, unknown>>>;
|
|
727
727
|
secrets: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodObject<{
|
|
728
728
|
required: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
|
|
729
729
|
}, "strip", import("zod").ZodTypeAny, {
|
|
@@ -731,7 +731,7 @@ export declare const configSchema: import("zod").ZodEffects<import("zod").ZodObj
|
|
|
731
731
|
}, {
|
|
732
732
|
required?: boolean | undefined;
|
|
733
733
|
}>>>;
|
|
734
|
-
routes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
|
|
734
|
+
routes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEffects<import("zod").ZodObject<{
|
|
735
735
|
pattern: import("zod").ZodString;
|
|
736
736
|
zone_name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
737
737
|
zone_id: import("zod").ZodOptional<import("zod").ZodString>;
|
|
@@ -746,6 +746,16 @@ export declare const configSchema: import("zod").ZodEffects<import("zod").ZodObj
|
|
|
746
746
|
zone_name?: string | undefined;
|
|
747
747
|
zone_id?: string | undefined;
|
|
748
748
|
custom_domain?: boolean | undefined;
|
|
749
|
+
}>, {
|
|
750
|
+
pattern: string;
|
|
751
|
+
zone_name?: string | undefined;
|
|
752
|
+
zone_id?: string | undefined;
|
|
753
|
+
custom_domain?: boolean | undefined;
|
|
754
|
+
}, {
|
|
755
|
+
pattern: string;
|
|
756
|
+
zone_name?: string | undefined;
|
|
757
|
+
zone_id?: string | undefined;
|
|
758
|
+
custom_domain?: boolean | undefined;
|
|
749
759
|
}>, "many">>;
|
|
750
760
|
wsRoutes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
|
|
751
761
|
pattern: import("zod").ZodString;
|
|
@@ -1708,7 +1718,7 @@ export declare const configSchema: import("zod").ZodEffects<import("zod").ZodObj
|
|
|
1708
1718
|
service: string;
|
|
1709
1719
|
environment?: string | undefined;
|
|
1710
1720
|
}>]>, "many">>>;
|
|
1711
|
-
readonly vars: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").
|
|
1721
|
+
readonly vars: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodType<unknown, import("zod").ZodTypeDef, unknown>>>>;
|
|
1712
1722
|
readonly secrets: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodObject<{
|
|
1713
1723
|
required: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
|
|
1714
1724
|
}, "strip", import("zod").ZodTypeAny, {
|
|
@@ -1716,7 +1726,7 @@ export declare const configSchema: import("zod").ZodEffects<import("zod").ZodObj
|
|
|
1716
1726
|
}, {
|
|
1717
1727
|
required?: boolean | undefined;
|
|
1718
1728
|
}>>>>;
|
|
1719
|
-
readonly routes: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
|
|
1729
|
+
readonly routes: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEffects<import("zod").ZodObject<{
|
|
1720
1730
|
pattern: import("zod").ZodString;
|
|
1721
1731
|
zone_name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1722
1732
|
zone_id: import("zod").ZodOptional<import("zod").ZodString>;
|
|
@@ -1731,6 +1741,16 @@ export declare const configSchema: import("zod").ZodEffects<import("zod").ZodObj
|
|
|
1731
1741
|
zone_name?: string | undefined;
|
|
1732
1742
|
zone_id?: string | undefined;
|
|
1733
1743
|
custom_domain?: boolean | undefined;
|
|
1744
|
+
}>, {
|
|
1745
|
+
pattern: string;
|
|
1746
|
+
zone_name?: string | undefined;
|
|
1747
|
+
zone_id?: string | undefined;
|
|
1748
|
+
custom_domain?: boolean | undefined;
|
|
1749
|
+
}, {
|
|
1750
|
+
pattern: string;
|
|
1751
|
+
zone_name?: string | undefined;
|
|
1752
|
+
zone_id?: string | undefined;
|
|
1753
|
+
custom_domain?: boolean | undefined;
|
|
1734
1754
|
}>, "many">>>;
|
|
1735
1755
|
readonly assets: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
|
|
1736
1756
|
directory: import("zod").ZodString;
|
|
@@ -2132,7 +2152,7 @@ export declare const configSchema: import("zod").ZodEffects<import("zod").ZodObj
|
|
|
2132
2152
|
service: string;
|
|
2133
2153
|
environment?: string | undefined;
|
|
2134
2154
|
})[] | undefined;
|
|
2135
|
-
vars?: Record<string,
|
|
2155
|
+
vars?: Record<string, unknown> | undefined;
|
|
2136
2156
|
secrets?: Record<string, {
|
|
2137
2157
|
required: boolean;
|
|
2138
2158
|
}> | undefined;
|
|
@@ -2378,7 +2398,7 @@ export declare const configSchema: import("zod").ZodEffects<import("zod").ZodObj
|
|
|
2378
2398
|
service: string;
|
|
2379
2399
|
environment?: string | undefined;
|
|
2380
2400
|
})[] | undefined;
|
|
2381
|
-
vars?: Record<string,
|
|
2401
|
+
vars?: Record<string, unknown> | undefined;
|
|
2382
2402
|
secrets?: Record<string, {
|
|
2383
2403
|
required?: boolean | undefined;
|
|
2384
2404
|
}> | undefined;
|
|
@@ -2626,7 +2646,7 @@ export declare const configSchema: import("zod").ZodEffects<import("zod").ZodObj
|
|
|
2626
2646
|
service: string;
|
|
2627
2647
|
environment?: string | undefined;
|
|
2628
2648
|
})[] | undefined;
|
|
2629
|
-
vars?: Record<string,
|
|
2649
|
+
vars?: Record<string, unknown> | undefined;
|
|
2630
2650
|
secrets?: Record<string, {
|
|
2631
2651
|
required: boolean;
|
|
2632
2652
|
}> | undefined;
|
|
@@ -2878,7 +2898,7 @@ export declare const configSchema: import("zod").ZodEffects<import("zod").ZodObj
|
|
|
2878
2898
|
service: string;
|
|
2879
2899
|
environment?: string | undefined;
|
|
2880
2900
|
})[] | undefined;
|
|
2881
|
-
vars?: Record<string,
|
|
2901
|
+
vars?: Record<string, unknown> | undefined;
|
|
2882
2902
|
secrets?: Record<string, {
|
|
2883
2903
|
required: boolean;
|
|
2884
2904
|
}> | undefined;
|
|
@@ -3126,7 +3146,7 @@ export declare const configSchema: import("zod").ZodEffects<import("zod").ZodObj
|
|
|
3126
3146
|
service: string;
|
|
3127
3147
|
environment?: string | undefined;
|
|
3128
3148
|
})[] | undefined;
|
|
3129
|
-
vars?: Record<string,
|
|
3149
|
+
vars?: Record<string, unknown> | undefined;
|
|
3130
3150
|
secrets?: Record<string, {
|
|
3131
3151
|
required?: boolean | undefined;
|
|
3132
3152
|
}> | undefined;
|
|
@@ -3378,7 +3398,7 @@ export declare const configSchema: import("zod").ZodEffects<import("zod").ZodObj
|
|
|
3378
3398
|
service: string;
|
|
3379
3399
|
environment?: string | undefined;
|
|
3380
3400
|
})[] | undefined;
|
|
3381
|
-
vars?: Record<string,
|
|
3401
|
+
vars?: Record<string, unknown> | undefined;
|
|
3382
3402
|
secrets?: Record<string, {
|
|
3383
3403
|
required?: boolean | undefined;
|
|
3384
3404
|
}> | undefined;
|
|
@@ -3626,7 +3646,7 @@ export declare const configSchema: import("zod").ZodEffects<import("zod").ZodObj
|
|
|
3626
3646
|
service: string;
|
|
3627
3647
|
environment?: string | undefined;
|
|
3628
3648
|
})[] | undefined;
|
|
3629
|
-
vars?: Record<string,
|
|
3649
|
+
vars?: Record<string, unknown> | undefined;
|
|
3630
3650
|
secrets?: Record<string, {
|
|
3631
3651
|
required: boolean;
|
|
3632
3652
|
}> | undefined;
|
|
@@ -3878,7 +3898,7 @@ export declare const configSchema: import("zod").ZodEffects<import("zod").ZodObj
|
|
|
3878
3898
|
service: string;
|
|
3879
3899
|
environment?: string | undefined;
|
|
3880
3900
|
})[] | undefined;
|
|
3881
|
-
vars?: Record<string,
|
|
3901
|
+
vars?: Record<string, unknown> | undefined;
|
|
3882
3902
|
secrets?: Record<string, {
|
|
3883
3903
|
required: boolean;
|
|
3884
3904
|
}> | undefined;
|
|
@@ -4126,7 +4146,7 @@ export declare const configSchema: import("zod").ZodEffects<import("zod").ZodObj
|
|
|
4126
4146
|
service: string;
|
|
4127
4147
|
environment?: string | undefined;
|
|
4128
4148
|
})[] | undefined;
|
|
4129
|
-
vars?: Record<string,
|
|
4149
|
+
vars?: Record<string, unknown> | undefined;
|
|
4130
4150
|
secrets?: Record<string, {
|
|
4131
4151
|
required?: boolean | undefined;
|
|
4132
4152
|
}> | undefined;
|
|
@@ -4378,7 +4398,7 @@ export declare const configSchema: import("zod").ZodEffects<import("zod").ZodObj
|
|
|
4378
4398
|
service: string;
|
|
4379
4399
|
environment?: string | undefined;
|
|
4380
4400
|
})[] | undefined;
|
|
4381
|
-
vars?: Record<string,
|
|
4401
|
+
vars?: Record<string, unknown> | undefined;
|
|
4382
4402
|
secrets?: Record<string, {
|
|
4383
4403
|
required?: boolean | undefined;
|
|
4384
4404
|
}> | undefined;
|