convex 1.36.1 → 1.37.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.
- package/CHANGELOG.md +47 -25
- package/dist/browser.bundle.js +1 -1
- package/dist/browser.bundle.js.map +1 -1
- package/dist/cjs/cli/codegen_templates/agentsmd.js +8 -2
- package/dist/cjs/cli/codegen_templates/agentsmd.js.map +2 -2
- package/dist/cjs/cli/codegen_templates/claudemd.js +2 -0
- package/dist/cjs/cli/codegen_templates/claudemd.js.map +2 -2
- package/dist/cjs/cli/configure.js +0 -8
- package/dist/cjs/cli/configure.js.map +2 -2
- package/dist/cjs/cli/deployment.js +2 -1
- package/dist/cjs/cli/deployment.js.map +2 -2
- package/dist/cjs/cli/deploymentToken.js +30 -0
- package/dist/cjs/cli/deploymentToken.js.map +7 -0
- package/dist/cjs/cli/deploymentTokenCreate.js +109 -0
- package/dist/cjs/cli/deploymentTokenCreate.js.map +7 -0
- package/dist/cjs/cli/deploymentTokenDelete.js +87 -0
- package/dist/cjs/cli/deploymentTokenDelete.js.map +7 -0
- package/dist/cjs/cli/envDefault.js +1 -1
- package/dist/cjs/cli/envDefault.js.map +1 -1
- package/dist/cjs/cli/generatedApi.js.map +1 -1
- package/dist/cjs/cli/lib/generatedFunctionLogsApi.js.map +1 -1
- package/dist/cjs/cli/lib/usage.js +13 -6
- package/dist/cjs/cli/lib/usage.js.map +2 -2
- package/dist/cjs/cli/lib/workos/environmentApi.js +6 -12
- package/dist/cjs/cli/lib/workos/environmentApi.js.map +3 -3
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/react/client.js +40 -42
- package/dist/cjs/react/client.js.map +2 -2
- package/dist/cjs/react/index.js +1 -0
- package/dist/cjs/react/index.js.map +2 -2
- package/dist/cjs/react/use_paginated_query.js +5 -46
- package/dist/cjs/react/use_paginated_query.js.map +2 -2
- package/dist/cjs/react/use_paginated_query2.js.map +2 -2
- package/dist/cjs/server/audit_logging.js +67 -0
- package/dist/cjs/server/audit_logging.js.map +7 -0
- package/dist/cjs/server/impl/meta_impl.js +27 -3
- package/dist/cjs/server/impl/meta_impl.js.map +2 -2
- package/dist/cjs/server/impl/registration_impl.js +2 -0
- package/dist/cjs/server/impl/registration_impl.js.map +2 -2
- package/dist/cjs/server/index.js +2 -0
- package/dist/cjs/server/index.js.map +2 -2
- package/dist/cjs/server/log.js +30 -0
- package/dist/cjs/server/log.js.map +7 -0
- package/dist/cjs/server/logVars.js +48 -0
- package/dist/cjs/server/logVars.js.map +7 -0
- package/dist/cjs/server/meta.js.map +1 -1
- package/dist/cjs/server/registration.js.map +1 -1
- package/dist/cjs-types/cli/codegen_templates/agentsmd.d.ts.map +1 -1
- package/dist/cjs-types/cli/codegen_templates/claudemd.d.ts.map +1 -1
- package/dist/cjs-types/cli/configure.d.ts.map +1 -1
- package/dist/cjs-types/cli/deployment.d.ts.map +1 -1
- package/dist/cjs-types/cli/deploymentToken.d.ts +3 -0
- package/dist/cjs-types/cli/deploymentToken.d.ts.map +1 -0
- package/dist/cjs-types/cli/deploymentToken.test.d.ts +2 -0
- package/dist/cjs-types/cli/deploymentToken.test.d.ts.map +1 -0
- package/dist/cjs-types/cli/deploymentTokenCreate.d.ts +13 -0
- package/dist/cjs-types/cli/deploymentTokenCreate.d.ts.map +1 -0
- package/dist/cjs-types/cli/deploymentTokenDelete.d.ts +11 -0
- package/dist/cjs-types/cli/deploymentTokenDelete.d.ts.map +1 -0
- package/dist/cjs-types/cli/generatedApi.d.ts +1 -1
- package/dist/cjs-types/cli/generatedApi.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/generatedFunctionLogsApi.d.ts +1 -0
- package/dist/cjs-types/cli/lib/generatedFunctionLogsApi.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/usage.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/workos/environmentApi.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/workos/environmentApi.test.d.ts +2 -0
- package/dist/cjs-types/cli/lib/workos/environmentApi.test.d.ts.map +1 -0
- package/dist/cjs-types/index.d.ts +1 -1
- package/dist/cjs-types/react/client.d.ts +52 -0
- package/dist/cjs-types/react/client.d.ts.map +1 -1
- package/dist/cjs-types/react/index.d.ts +2 -2
- package/dist/cjs-types/react/index.d.ts.map +1 -1
- package/dist/cjs-types/react/use_paginated_query.d.ts.map +1 -1
- package/dist/cjs-types/react/use_paginated_query2.d.ts +63 -1
- package/dist/cjs-types/react/use_paginated_query2.d.ts.map +1 -1
- package/dist/cjs-types/server/api.intersect.test.d.ts +2 -0
- package/dist/cjs-types/server/api.intersect.test.d.ts.map +1 -0
- package/dist/cjs-types/server/audit_logging.d.ts +19 -0
- package/dist/cjs-types/server/audit_logging.d.ts.map +1 -0
- package/dist/cjs-types/server/audit_logging.test.d.ts +2 -0
- package/dist/cjs-types/server/audit_logging.test.d.ts.map +1 -0
- package/dist/cjs-types/server/impl/meta_impl.d.ts.map +1 -1
- package/dist/cjs-types/server/impl/registration_impl.d.ts.map +1 -1
- package/dist/cjs-types/server/index.d.ts +2 -2
- package/dist/cjs-types/server/index.d.ts.map +1 -1
- package/dist/cjs-types/server/log.d.ts +2 -0
- package/dist/cjs-types/server/log.d.ts.map +1 -0
- package/dist/cjs-types/server/logVars.d.ts +20 -0
- package/dist/cjs-types/server/logVars.d.ts.map +1 -0
- package/dist/cjs-types/server/meta.d.ts +40 -0
- package/dist/cjs-types/server/meta.d.ts.map +1 -1
- package/dist/cjs-types/server/registration.d.ts +5 -2
- package/dist/cjs-types/server/registration.d.ts.map +1 -1
- package/dist/cli.bundle.cjs +184 -34
- package/dist/cli.bundle.cjs.map +4 -4
- package/dist/esm/cli/codegen_templates/agentsmd.js +8 -2
- package/dist/esm/cli/codegen_templates/agentsmd.js.map +2 -2
- package/dist/esm/cli/codegen_templates/claudemd.js +2 -0
- package/dist/esm/cli/codegen_templates/claudemd.js.map +2 -2
- package/dist/esm/cli/configure.js +0 -8
- package/dist/esm/cli/configure.js.map +2 -2
- package/dist/esm/cli/deployment.js +2 -1
- package/dist/esm/cli/deployment.js.map +2 -2
- package/dist/esm/cli/deploymentToken.js +8 -0
- package/dist/esm/cli/deploymentToken.js.map +7 -0
- package/dist/esm/cli/deploymentTokenCreate.js +91 -0
- package/dist/esm/cli/deploymentTokenCreate.js.map +7 -0
- package/dist/esm/cli/deploymentTokenDelete.js +68 -0
- package/dist/esm/cli/deploymentTokenDelete.js.map +7 -0
- package/dist/esm/cli/envDefault.js +1 -1
- package/dist/esm/cli/envDefault.js.map +1 -1
- package/dist/esm/cli/lib/usage.js +15 -8
- package/dist/esm/cli/lib/usage.js.map +2 -2
- package/dist/esm/cli/lib/workos/environmentApi.js +6 -12
- package/dist/esm/cli/lib/workos/environmentApi.js.map +3 -3
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/react/client.js +38 -41
- package/dist/esm/react/client.js.map +2 -2
- package/dist/esm/react/index.js +4 -1
- package/dist/esm/react/index.js.map +2 -2
- package/dist/esm/react/use_paginated_query.js +5 -46
- package/dist/esm/react/use_paginated_query.js.map +2 -2
- package/dist/esm/react/use_paginated_query2.js.map +2 -2
- package/dist/esm/server/audit_logging.js +44 -0
- package/dist/esm/server/audit_logging.js.map +7 -0
- package/dist/esm/server/impl/meta_impl.js +27 -3
- package/dist/esm/server/impl/meta_impl.js.map +2 -2
- package/dist/esm/server/impl/registration_impl.js +2 -0
- package/dist/esm/server/impl/registration_impl.js.map +2 -2
- package/dist/esm/server/index.js +1 -0
- package/dist/esm/server/index.js.map +2 -2
- package/dist/esm/server/log.js +8 -0
- package/dist/esm/server/log.js.map +7 -0
- package/dist/esm/server/logVars.js +25 -0
- package/dist/esm/server/logVars.js.map +7 -0
- package/dist/esm-types/cli/codegen_templates/agentsmd.d.ts.map +1 -1
- package/dist/esm-types/cli/codegen_templates/claudemd.d.ts.map +1 -1
- package/dist/esm-types/cli/configure.d.ts.map +1 -1
- package/dist/esm-types/cli/deployment.d.ts.map +1 -1
- package/dist/esm-types/cli/deploymentToken.d.ts +3 -0
- package/dist/esm-types/cli/deploymentToken.d.ts.map +1 -0
- package/dist/esm-types/cli/deploymentToken.test.d.ts +2 -0
- package/dist/esm-types/cli/deploymentToken.test.d.ts.map +1 -0
- package/dist/esm-types/cli/deploymentTokenCreate.d.ts +13 -0
- package/dist/esm-types/cli/deploymentTokenCreate.d.ts.map +1 -0
- package/dist/esm-types/cli/deploymentTokenDelete.d.ts +11 -0
- package/dist/esm-types/cli/deploymentTokenDelete.d.ts.map +1 -0
- package/dist/esm-types/cli/generatedApi.d.ts +1 -1
- package/dist/esm-types/cli/generatedApi.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/generatedFunctionLogsApi.d.ts +1 -0
- package/dist/esm-types/cli/lib/generatedFunctionLogsApi.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/usage.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/workos/environmentApi.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/workos/environmentApi.test.d.ts +2 -0
- package/dist/esm-types/cli/lib/workos/environmentApi.test.d.ts.map +1 -0
- package/dist/esm-types/index.d.ts +1 -1
- package/dist/esm-types/react/client.d.ts +52 -0
- package/dist/esm-types/react/client.d.ts.map +1 -1
- package/dist/esm-types/react/index.d.ts +2 -2
- package/dist/esm-types/react/index.d.ts.map +1 -1
- package/dist/esm-types/react/use_paginated_query.d.ts.map +1 -1
- package/dist/esm-types/react/use_paginated_query2.d.ts +63 -1
- package/dist/esm-types/react/use_paginated_query2.d.ts.map +1 -1
- package/dist/esm-types/server/api.intersect.test.d.ts +2 -0
- package/dist/esm-types/server/api.intersect.test.d.ts.map +1 -0
- package/dist/esm-types/server/audit_logging.d.ts +19 -0
- package/dist/esm-types/server/audit_logging.d.ts.map +1 -0
- package/dist/esm-types/server/audit_logging.test.d.ts +2 -0
- package/dist/esm-types/server/audit_logging.test.d.ts.map +1 -0
- package/dist/esm-types/server/impl/meta_impl.d.ts.map +1 -1
- package/dist/esm-types/server/impl/registration_impl.d.ts.map +1 -1
- package/dist/esm-types/server/index.d.ts +2 -2
- package/dist/esm-types/server/index.d.ts.map +1 -1
- package/dist/esm-types/server/log.d.ts +2 -0
- package/dist/esm-types/server/log.d.ts.map +1 -0
- package/dist/esm-types/server/logVars.d.ts +20 -0
- package/dist/esm-types/server/logVars.d.ts.map +1 -0
- package/dist/esm-types/server/meta.d.ts +40 -0
- package/dist/esm-types/server/meta.d.ts.map +1 -1
- package/dist/esm-types/server/registration.d.ts +5 -2
- package/dist/esm-types/server/registration.d.ts.map +1 -1
- package/dist/react.bundle.js +45 -88
- package/dist/react.bundle.js.map +2 -2
- package/package.json +1 -1
- package/src/cli/codegen_templates/agentsmd.ts +8 -2
- package/src/cli/codegen_templates/claudemd.ts +2 -0
- package/src/cli/configure.ts +0 -9
- package/src/cli/deployment.ts +3 -1
- package/src/cli/deploymentToken.test.ts +372 -0
- package/src/cli/deploymentToken.ts +11 -0
- package/src/cli/deploymentTokenCreate.ts +113 -0
- package/src/cli/deploymentTokenDelete.ts +91 -0
- package/src/cli/envDefault.ts +1 -1
- package/src/cli/generatedApi.ts +1 -1
- package/src/cli/lib/generatedFunctionLogsApi.ts +1 -0
- package/src/cli/lib/usage.ts +18 -8
- package/src/cli/lib/workos/environmentApi.test.ts +107 -0
- package/src/cli/lib/workos/environmentApi.ts +12 -19
- package/src/index.ts +1 -1
- package/src/react/client.test.tsx +10 -8
- package/src/react/client.ts +88 -96
- package/src/react/index.ts +6 -1
- package/src/react/use_paginated_query.test.tsx +215 -132
- package/src/react/use_paginated_query.ts +8 -142
- package/src/react/use_paginated_query2.ts +78 -5
- package/src/react/use_query_object_options.test.ts +8 -7
- package/src/react/use_query_result.test.ts +40 -7
- package/src/server/api.intersect.test.ts +109 -0
- package/src/server/audit_logging.test.ts +129 -0
- package/src/server/audit_logging.ts +75 -0
- package/src/server/impl/meta_impl.ts +28 -0
- package/src/server/impl/registration_impl.ts +2 -0
- package/src/server/index.ts +12 -0
- package/src/server/log.ts +16 -0
- package/src/server/logVars.ts +34 -0
- package/src/server/meta.ts +53 -1
- package/src/server/registration.ts +10 -8
package/dist/cli.bundle.cjs
CHANGED
|
@@ -28695,7 +28695,7 @@ var version;
|
|
|
28695
28695
|
var init_index = __esm({
|
|
28696
28696
|
"src/index.ts"() {
|
|
28697
28697
|
"use strict";
|
|
28698
|
-
version = "1.
|
|
28698
|
+
version = "1.37.0";
|
|
28699
28699
|
}
|
|
28700
28700
|
});
|
|
28701
28701
|
|
|
@@ -62688,13 +62688,10 @@ async function createRedirectURI(ctx, apiKey, uri) {
|
|
|
62688
62688
|
}
|
|
62689
62689
|
);
|
|
62690
62690
|
if (!response.ok) {
|
|
62691
|
-
if (response.status === 422) {
|
|
62692
|
-
const errorText2 = await response.text();
|
|
62693
|
-
if (errorText2.includes("already exists")) {
|
|
62694
|
-
return { modified: false };
|
|
62695
|
-
}
|
|
62696
|
-
}
|
|
62697
62691
|
const errorText = await response.text();
|
|
62692
|
+
if (response.status === 422 && errorText.includes("already exists")) {
|
|
62693
|
+
return { modified: false };
|
|
62694
|
+
}
|
|
62698
62695
|
return await ctx.crash({
|
|
62699
62696
|
exitCode: 1,
|
|
62700
62697
|
errorType: "fatal",
|
|
@@ -62741,13 +62738,10 @@ async function createCORSOrigin(ctx, apiKey, origin) {
|
|
|
62741
62738
|
}
|
|
62742
62739
|
);
|
|
62743
62740
|
if (!response.ok) {
|
|
62744
|
-
if (response.status === 409) {
|
|
62745
|
-
const errorText2 = await response.text();
|
|
62746
|
-
if (errorText2.includes("duplicate_cors_origin") || errorText2.includes("already exists")) {
|
|
62747
|
-
return { modified: false };
|
|
62748
|
-
}
|
|
62749
|
-
}
|
|
62750
62741
|
const errorText = await response.text();
|
|
62742
|
+
if (response.status === 409 && (errorText.includes("duplicate_cors_origin") || errorText.includes("already exists"))) {
|
|
62743
|
+
return { modified: false };
|
|
62744
|
+
}
|
|
62751
62745
|
return await ctx.crash({
|
|
62752
62746
|
exitCode: 1,
|
|
62753
62747
|
errorType: "fatal",
|
|
@@ -77820,13 +77814,19 @@ function convexAiMarkdownBody(convexDir) {
|
|
|
77820
77814
|
const normalizedConvexDir = convexDir.replaceAll("\\", "/");
|
|
77821
77815
|
return `This project uses [Convex](https://convex.dev) as its backend.
|
|
77822
77816
|
|
|
77823
|
-
When working on Convex code, **always read
|
|
77817
|
+
When working on Convex code, **always read
|
|
77818
|
+
\`${normalizedConvexDir}/_generated/ai/guidelines.md\` first** for important guidelines on
|
|
77819
|
+
how to correctly use Convex APIs and patterns. The file contains rules that
|
|
77820
|
+
override what you may have learned about Convex from training data.
|
|
77824
77821
|
|
|
77825
|
-
Convex agent skills for common tasks can be installed by running
|
|
77822
|
+
Convex agent skills for common tasks can be installed by running
|
|
77823
|
+
\`npx convex ai-files install\`.`;
|
|
77826
77824
|
}
|
|
77827
77825
|
function agentsMdConvexSection(convexDir) {
|
|
77828
77826
|
return `${AGENTS_MD_START_MARKER}
|
|
77827
|
+
|
|
77829
77828
|
${convexAiMarkdownBody(convexDir)}
|
|
77829
|
+
|
|
77830
77830
|
${AGENTS_MD_END_MARKER}`;
|
|
77831
77831
|
}
|
|
77832
77832
|
var AGENTS_MD_START_MARKER, AGENTS_MD_END_MARKER;
|
|
@@ -77893,7 +77893,9 @@ var init_agentsmd2 = __esm({
|
|
|
77893
77893
|
// src/cli/codegen_templates/claudemd.ts
|
|
77894
77894
|
function claudeMdConvexSection(convexDir) {
|
|
77895
77895
|
return `${CLAUDE_MD_START_MARKER}
|
|
77896
|
+
|
|
77896
77897
|
${convexAiMarkdownBody(convexDir)}
|
|
77898
|
+
|
|
77897
77899
|
${CLAUDE_MD_END_MARKER}`;
|
|
77898
77900
|
}
|
|
77899
77901
|
var CLAUDE_MD_START_MARKER, CLAUDE_MD_END_MARKER;
|
|
@@ -78784,9 +78786,9 @@ var require_balanced_match = __commonJS({
|
|
|
78784
78786
|
}
|
|
78785
78787
|
});
|
|
78786
78788
|
|
|
78787
|
-
// ../common/temp/node_modules/.pnpm/brace-expansion@1.1.
|
|
78789
|
+
// ../common/temp/node_modules/.pnpm/brace-expansion@1.1.12/node_modules/brace-expansion/index.js
|
|
78788
78790
|
var require_brace_expansion = __commonJS({
|
|
78789
|
-
"../common/temp/node_modules/.pnpm/brace-expansion@1.1.
|
|
78791
|
+
"../common/temp/node_modules/.pnpm/brace-expansion@1.1.12/node_modules/brace-expansion/index.js"(exports2, module2) {
|
|
78790
78792
|
var concatMap = require_concat_map();
|
|
78791
78793
|
var balanced = require_balanced_match();
|
|
78792
78794
|
module2.exports = expandTop;
|
|
@@ -78881,7 +78883,7 @@ var require_brace_expansion = __commonJS({
|
|
|
78881
78883
|
var x = numeric(n[0]);
|
|
78882
78884
|
var y = numeric(n[1]);
|
|
78883
78885
|
var width = Math.max(n[0].length, n[1].length);
|
|
78884
|
-
var incr = n.length == 3 ? Math.
|
|
78886
|
+
var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
|
|
78885
78887
|
var test = lte;
|
|
78886
78888
|
var reverse = y < x;
|
|
78887
78889
|
if (reverse) {
|
|
@@ -133911,14 +133913,6 @@ async function selectExistingProject(ctx, chosenConfiguration, config3) {
|
|
|
133911
133913
|
forceDevDeployment: config3.local ? "local" : config3.cloud ? "cloud" : void 0
|
|
133912
133914
|
});
|
|
133913
133915
|
logFinishedStep(`Reinitialized project ${chalkStderr.bold(projectSlug)}`);
|
|
133914
|
-
const { configPath, projectConfig } = await readProjectConfig(ctx);
|
|
133915
|
-
const folder = functionsDir(configPath, projectConfig);
|
|
133916
|
-
await attemptSetupAiFiles({
|
|
133917
|
-
ctx,
|
|
133918
|
-
aiFilesConfig: projectConfig.aiFiles,
|
|
133919
|
-
convexDir: import_path31.default.resolve(folder),
|
|
133920
|
-
projectDir: import_path31.default.resolve(import_path31.default.dirname(configPath))
|
|
133921
|
-
});
|
|
133922
133916
|
return { teamSlug, projectSlug, devDeployment };
|
|
133923
133917
|
}
|
|
133924
133918
|
async function askToConfigure(ctx) {
|
|
@@ -134037,7 +134031,7 @@ async function warn(ctx, options) {
|
|
|
134037
134031
|
);
|
|
134038
134032
|
}
|
|
134039
134033
|
async function teamUsageState(ctx, teamId) {
|
|
134040
|
-
const { usageState } = await
|
|
134034
|
+
const { usageState } = await bigBrainAPIMaybeThrows({
|
|
134041
134035
|
ctx,
|
|
134042
134036
|
method: "GET",
|
|
134043
134037
|
path: "dashboard/teams/" + teamId + "/usage/team_usage_state"
|
|
@@ -134045,7 +134039,7 @@ async function teamUsageState(ctx, teamId) {
|
|
|
134045
134039
|
return usageState;
|
|
134046
134040
|
}
|
|
134047
134041
|
async function teamSpendingLimitsState(ctx, teamId) {
|
|
134048
|
-
const response = await
|
|
134042
|
+
const response = await bigBrainAPIMaybeThrows({
|
|
134049
134043
|
ctx,
|
|
134050
134044
|
method: "GET",
|
|
134051
134045
|
path: "dashboard/teams/" + teamId + "/get_spending_limits"
|
|
@@ -134058,10 +134052,17 @@ async function usageStateWarning(ctx, targetDeployment) {
|
|
|
134058
134052
|
return;
|
|
134059
134053
|
}
|
|
134060
134054
|
const { teamId, team } = await fetchTeamAndProject(ctx, targetDeployment);
|
|
134061
|
-
|
|
134062
|
-
|
|
134063
|
-
|
|
134064
|
-
|
|
134055
|
+
let usageState;
|
|
134056
|
+
let spendingLimitsState;
|
|
134057
|
+
try {
|
|
134058
|
+
[usageState, spendingLimitsState] = await Promise.all([
|
|
134059
|
+
teamUsageState(ctx, teamId),
|
|
134060
|
+
teamSpendingLimitsState(ctx, teamId)
|
|
134061
|
+
]);
|
|
134062
|
+
} catch (err) {
|
|
134063
|
+
logVerbose("Skipping usage state warning:", err);
|
|
134064
|
+
return;
|
|
134065
|
+
}
|
|
134065
134066
|
if (spendingLimitsState === "Disabled") {
|
|
134066
134067
|
await warn(ctx, {
|
|
134067
134068
|
title: "Your projects are disabled because you exceeded your spending limit.",
|
|
@@ -136314,7 +136315,7 @@ function addEnvDefaultOptions(cmd) {
|
|
|
136314
136315
|
return cmd.addOption(
|
|
136315
136316
|
new Option(
|
|
136316
136317
|
"--type <type>",
|
|
136317
|
-
"Manage default env vars for the given deployment type instead of inferring from the current deployment."
|
|
136318
|
+
"Manage default env vars for the given deployment type (dev, preview, prod) instead of inferring from the current deployment."
|
|
136318
136319
|
)
|
|
136319
136320
|
).addOption(
|
|
136320
136321
|
new Option(
|
|
@@ -147523,8 +147524,157 @@ function defaultRef(branch, deploymentType) {
|
|
|
147523
147524
|
return ref;
|
|
147524
147525
|
}
|
|
147525
147526
|
|
|
147527
|
+
// src/cli/deploymentTokenCreate.ts
|
|
147528
|
+
init_source();
|
|
147529
|
+
init_log();
|
|
147530
|
+
init_api3();
|
|
147531
|
+
init_envvars();
|
|
147532
|
+
init_utils5();
|
|
147533
|
+
var deploymentTokenCreate = new Command("create").summary("Create an access token").description(
|
|
147534
|
+
`Creates a deploy key that, when set as ${chalkStderr.bold(CONVEX_DEPLOY_KEY_ENV_VAR_NAME)}, scopes all commands to the target deployment. Defaults to the current deployment if '--deployment' isn't passed
|
|
147535
|
+
|
|
147536
|
+
Print a new deploy key to stdout: \`npx convex deployment token create my-token\`
|
|
147537
|
+
Save a new deploy key in ${ENV_VAR_FILE_PATH}: \`npx convex deployment token create my-token --save-env\`
|
|
147538
|
+
Save a new deploy key in a custom env file: \`npx convex deployment token create ci-token --save-env .env.production\`
|
|
147539
|
+
Create a key for the project's prod: \`npx convex deployment token create ci-token --deployment prod\`
|
|
147540
|
+
`
|
|
147541
|
+
).argument("<name>", "Name for the new deploy key").allowExcessArguments(false).option(
|
|
147542
|
+
"--save-env [path]",
|
|
147543
|
+
`Save the new key as ${CONVEX_DEPLOY_KEY_ENV_VAR_NAME} in an env file instead of printing it. Defaults to ${ENV_VAR_FILE_PATH}.`
|
|
147544
|
+
).addDeploymentSelectionOptions(actionDescription("Create a deploy key for")).showHelpAfterError().action(async (name, options) => {
|
|
147545
|
+
const ctx = await oneoffContext(options);
|
|
147546
|
+
const auth2 = ctx.bigBrainAuth();
|
|
147547
|
+
if (auth2 === null || auth2.kind !== "accessToken") {
|
|
147548
|
+
return await ctx.crash({
|
|
147549
|
+
exitCode: 1,
|
|
147550
|
+
errorType: "fatal",
|
|
147551
|
+
printedMessage: `Creating a deploy key currently requires being logged in with a personal access token. ${process.env[CONVEX_DEPLOY_KEY_ENV_VAR_NAME] ? `Unset ${CONVEX_DEPLOY_KEY_ENV_VAR_NAME}` : `Run ${chalkStderr.bold("npx convex login")}`} and try again.`
|
|
147552
|
+
});
|
|
147553
|
+
}
|
|
147554
|
+
const deploymentSelection = await getDeploymentSelection(ctx, options);
|
|
147555
|
+
const deployment2 = await loadSelectedDeploymentCredentials(
|
|
147556
|
+
ctx,
|
|
147557
|
+
deploymentSelection,
|
|
147558
|
+
{ ensureLocalRunning: false }
|
|
147559
|
+
);
|
|
147560
|
+
if (deployment2.deploymentFields === null) {
|
|
147561
|
+
return await ctx.crash({
|
|
147562
|
+
exitCode: 1,
|
|
147563
|
+
errorType: "fatal",
|
|
147564
|
+
printedMessage: "Cannot create a deploy key for a self-hosted deployment."
|
|
147565
|
+
});
|
|
147566
|
+
}
|
|
147567
|
+
const { deploymentName, deploymentType } = deployment2.deploymentFields;
|
|
147568
|
+
if (deploymentType === "local" || deploymentType === "anonymous") {
|
|
147569
|
+
return await ctx.crash({
|
|
147570
|
+
exitCode: 1,
|
|
147571
|
+
errorType: "fatal",
|
|
147572
|
+
printedMessage: `Cannot create a deploy key for a ${deploymentType} deployment.`
|
|
147573
|
+
});
|
|
147574
|
+
}
|
|
147575
|
+
showSpinner(`Creating deploy key for ${deploymentName}...`);
|
|
147576
|
+
const response = await typedPlatformClient(ctx).POST(
|
|
147577
|
+
"/deployments/{deployment_name}/create_deploy_key",
|
|
147578
|
+
{
|
|
147579
|
+
params: { path: { deployment_name: deploymentName } },
|
|
147580
|
+
body: { name }
|
|
147581
|
+
}
|
|
147582
|
+
);
|
|
147583
|
+
const deployKey = response.data.deployKey;
|
|
147584
|
+
if (options.saveEnv === void 0) {
|
|
147585
|
+
logFinishedStep(`Created deploy key "${name}" for ${deploymentName}.`);
|
|
147586
|
+
logOutput(deployKey);
|
|
147587
|
+
return;
|
|
147588
|
+
}
|
|
147589
|
+
const envFile = typeof options.saveEnv === "string" ? options.saveEnv : ENV_VAR_FILE_PATH;
|
|
147590
|
+
const existingFileContent = ctx.fs.exists(envFile) ? ctx.fs.readUtf8File(envFile) : null;
|
|
147591
|
+
const updatedContent = changedEnvVarFile({
|
|
147592
|
+
existingFileContent,
|
|
147593
|
+
envVarName: CONVEX_DEPLOY_KEY_ENV_VAR_NAME,
|
|
147594
|
+
envVarValue: deployKey,
|
|
147595
|
+
commentAfterValue: null,
|
|
147596
|
+
commentOnPreviousLine: null
|
|
147597
|
+
});
|
|
147598
|
+
if (updatedContent === null) {
|
|
147599
|
+
logFinishedStep(
|
|
147600
|
+
`Deploy key for ${deploymentName} already present in ${envFile}; no changes made.`
|
|
147601
|
+
);
|
|
147602
|
+
return;
|
|
147603
|
+
}
|
|
147604
|
+
ctx.fs.writeUtf8File(envFile, updatedContent);
|
|
147605
|
+
logFinishedStep(
|
|
147606
|
+
`Saved deploy key "${name}" for ${deploymentName} as ${CONVEX_DEPLOY_KEY_ENV_VAR_NAME} in ${envFile}.`
|
|
147607
|
+
);
|
|
147608
|
+
});
|
|
147609
|
+
|
|
147610
|
+
// src/cli/deploymentTokenDelete.ts
|
|
147611
|
+
init_source();
|
|
147612
|
+
init_log();
|
|
147613
|
+
init_api3();
|
|
147614
|
+
init_utils5();
|
|
147615
|
+
var deploymentTokenDelete = new Command("delete").summary("Delete an access token").description(
|
|
147616
|
+
"Delete an access token. Currently only deploy keys (deployment-scoped access tokens) are supported.\n\nThe positional `<nameOrToken>` can be the unique name of the deploy key (as passed to `token create`) or the deploy key value itself. The target deployment defaults to the currently-selected one; pass `--deployment` to target a different deployment.\n\n Delete by name: `npx convex deployment token delete my-token`\n Delete by value: `npx convex deployment token delete 'dev:happy-animal-123|ey...'`\n Target prod: `npx convex deployment token delete ci-token --deployment prod`"
|
|
147617
|
+
).argument(
|
|
147618
|
+
"<nameOrToken>",
|
|
147619
|
+
"The unique name of the deploy key, or the deploy key value itself."
|
|
147620
|
+
).allowExcessArguments(false).addDeploymentSelectionOptions(actionDescription("Delete a deploy key for")).showHelpAfterError().action(async (nameOrToken, options) => {
|
|
147621
|
+
const ctx = await oneoffContext(options);
|
|
147622
|
+
const auth2 = ctx.bigBrainAuth();
|
|
147623
|
+
if (auth2 === null || auth2.kind !== "accessToken") {
|
|
147624
|
+
return await ctx.crash({
|
|
147625
|
+
exitCode: 1,
|
|
147626
|
+
errorType: "fatal",
|
|
147627
|
+
printedMessage: `Deleting a deploy key requires being logged in with a personal access token. ${auth2 === null ? "Run " : `Unset ${CONVEX_DEPLOY_KEY_ENV_VAR_NAME} and run `}${chalkStderr.bold("npx convex login")} and try again.`
|
|
147628
|
+
});
|
|
147629
|
+
}
|
|
147630
|
+
const deploymentSelection = await getDeploymentSelection(ctx, options);
|
|
147631
|
+
const deployment2 = await loadSelectedDeploymentCredentials(
|
|
147632
|
+
ctx,
|
|
147633
|
+
deploymentSelection,
|
|
147634
|
+
{ ensureLocalRunning: false }
|
|
147635
|
+
);
|
|
147636
|
+
if (deployment2.deploymentFields === null) {
|
|
147637
|
+
return await ctx.crash({
|
|
147638
|
+
exitCode: 1,
|
|
147639
|
+
errorType: "fatal",
|
|
147640
|
+
printedMessage: "Cannot delete a deploy key for a self-hosted deployment."
|
|
147641
|
+
});
|
|
147642
|
+
}
|
|
147643
|
+
const { deploymentName, deploymentType } = deployment2.deploymentFields;
|
|
147644
|
+
if (deploymentType === "local" || deploymentType === "anonymous") {
|
|
147645
|
+
return await ctx.crash({
|
|
147646
|
+
exitCode: 1,
|
|
147647
|
+
errorType: "fatal",
|
|
147648
|
+
printedMessage: `Cannot delete a deploy key for a ${deploymentType} deployment.`
|
|
147649
|
+
});
|
|
147650
|
+
}
|
|
147651
|
+
if (/^(dev|prod|preview|local):[^|]*$/.test(nameOrToken)) {
|
|
147652
|
+
return await ctx.crash({
|
|
147653
|
+
exitCode: 1,
|
|
147654
|
+
errorType: "fatal",
|
|
147655
|
+
printedMessage: `"${nameOrToken}" looks like a partial deploy key \u2014 your shell likely consumed the \`|\` and everything after it. Wrap the value in single quotes (e.g. ${chalkStderr.bold(`npx convex deployment token delete '${nameOrToken}|...'`)}) and try again.`
|
|
147656
|
+
});
|
|
147657
|
+
}
|
|
147658
|
+
const pipeIdx = nameOrToken.indexOf("|");
|
|
147659
|
+
const id = pipeIdx >= 0 ? nameOrToken.slice(pipeIdx + 1) : nameOrToken;
|
|
147660
|
+
showSpinner(`Deleting deploy key for ${deploymentName}...`);
|
|
147661
|
+
await typedPlatformClient(ctx).POST(
|
|
147662
|
+
"/deployments/{deployment_name}/delete_deploy_key",
|
|
147663
|
+
{
|
|
147664
|
+
params: { path: { deployment_name: deploymentName } },
|
|
147665
|
+
body: { id }
|
|
147666
|
+
}
|
|
147667
|
+
);
|
|
147668
|
+
logFinishedStep(`Deleted deploy key for ${deploymentName}.`);
|
|
147669
|
+
});
|
|
147670
|
+
|
|
147671
|
+
// src/cli/deploymentToken.ts
|
|
147672
|
+
var deploymentToken = new Command("token").summary("Manage access tokens").description(
|
|
147673
|
+
"Create and delete access tokens. Currently supports deploy keys."
|
|
147674
|
+
).addCommand(deploymentTokenCreate).addCommand(deploymentTokenDelete);
|
|
147675
|
+
|
|
147526
147676
|
// src/cli/deployment.ts
|
|
147527
|
-
var deployment = new Command("deployment").summary("Manage deployments").description("Manage deployments in your project.").addCommand(deploymentSelect).addCommand(deploymentCreate);
|
|
147677
|
+
var deployment = new Command("deployment").summary("Manage deployments").description("Manage deployments in your project.").addCommand(deploymentSelect).addCommand(deploymentCreate).addCommand(deploymentToken);
|
|
147528
147678
|
|
|
147529
147679
|
// src/cli/aiFiles.ts
|
|
147530
147680
|
var import_path34 = __toESM(require("path"), 1);
|