run402-mcp 3.5.5 → 3.5.7
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/README.md +1 -1
- package/core/dist/config.d.ts.map +1 -1
- package/core/dist/config.js +20 -3
- package/core/dist/config.js.map +1 -1
- package/package.json +1 -1
- package/schemas/release-spec.v1.json +29 -2
- package/sdk/README.md +28 -1
- package/sdk/core-dist/config.js +20 -3
- package/sdk/dist/namespaces/deploy.d.ts.map +1 -1
- package/sdk/dist/namespaces/deploy.js +108 -6
- package/sdk/dist/namespaces/deploy.js.map +1 -1
- package/sdk/dist/namespaces/email.d.ts +21 -2
- package/sdk/dist/namespaces/email.d.ts.map +1 -1
- package/sdk/dist/namespaces/email.js +26 -2
- package/sdk/dist/namespaces/email.js.map +1 -1
- package/sdk/dist/node/deploy-manifest.d.ts +5 -3
- package/sdk/dist/node/deploy-manifest.d.ts.map +1 -1
- package/sdk/dist/node/deploy-manifest.js +1 -0
- package/sdk/dist/node/deploy-manifest.js.map +1 -1
- package/sdk/dist/node/index.d.ts +2 -0
- package/sdk/dist/node/index.d.ts.map +1 -1
- package/sdk/dist/node/index.js +1 -0
- package/sdk/dist/node/index.js.map +1 -1
- package/sdk/dist/node/target-profile.d.ts +40 -0
- package/sdk/dist/node/target-profile.d.ts.map +1 -0
- package/sdk/dist/node/target-profile.js +98 -0
- package/sdk/dist/node/target-profile.js.map +1 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { DEFAULT_API_BASE, getActiveProfile, getApiBase, getApiBaseSource, getApiTargetKind, getConfigDir, } from "../../core-dist/config.js";
|
|
2
|
+
import { loadKeyStore } from "../../core-dist/keystore.js";
|
|
3
|
+
import { LocalError } from "../errors.js";
|
|
4
|
+
const DEFAULT_ENV_ALIASES = {
|
|
5
|
+
projectId: ["RUN402_PROJECT_ID"],
|
|
6
|
+
anonKey: ["RUN402_ANON_KEY"],
|
|
7
|
+
serviceKey: ["RUN402_SERVICE_KEY"],
|
|
8
|
+
};
|
|
9
|
+
const CONTEXT = "resolving Run402 target profile";
|
|
10
|
+
export function resolveRun402TargetProfile(options = {}) {
|
|
11
|
+
const env = options.env ?? process.env;
|
|
12
|
+
const aliases = mergeAliases(options.envAliases);
|
|
13
|
+
const store = loadKeyStore();
|
|
14
|
+
const apiBase = getApiBase();
|
|
15
|
+
const apiBaseSource = getApiBaseSource();
|
|
16
|
+
const configuredKind = getApiTargetKind();
|
|
17
|
+
const targetKind = effectiveTargetKind(apiBase, configuredKind);
|
|
18
|
+
const isCore = targetKind === "core";
|
|
19
|
+
const projectFromEnv = firstEnv(env, aliases.projectId);
|
|
20
|
+
const projectId = firstString(options.projectId, projectFromEnv?.value, store.active_project_id);
|
|
21
|
+
const project = projectId ? store.projects[projectId] : undefined;
|
|
22
|
+
const anonFromEnv = firstEnv(env, aliases.anonKey);
|
|
23
|
+
const serviceFromEnv = firstEnv(env, aliases.serviceKey);
|
|
24
|
+
const anonKey = firstString(options.anonKey, anonFromEnv?.value, project?.anon_key);
|
|
25
|
+
const serviceKey = firstString(options.serviceKey, serviceFromEnv?.value, project?.service_key);
|
|
26
|
+
const requiredTarget = options.requiredTarget ?? "any";
|
|
27
|
+
if (requiredTarget !== "any" && targetKind !== requiredTarget) {
|
|
28
|
+
throw new LocalError(`Run402 target must be ${requiredTarget}, but resolved ${targetKind} (${apiBase}).`, CONTEXT, {
|
|
29
|
+
code: "RUN402_TARGET_MISMATCH",
|
|
30
|
+
details: { required_target: requiredTarget, target_kind: targetKind, api_base: apiBase },
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
if (options.requireProject && !projectId) {
|
|
34
|
+
throw new LocalError("No active Run402 project found. Run `run402 projects provision --name my-app` or set RUN402_PROJECT_ID.", CONTEXT, { code: "RUN402_TARGET_PROJECT_REQUIRED" });
|
|
35
|
+
}
|
|
36
|
+
if (options.requireAnonKey && !anonKey) {
|
|
37
|
+
throw new LocalError("No Run402 anon key found. Run `run402 projects provision --name my-app`, or set RUN402_ANON_KEY.", CONTEXT, { code: "RUN402_TARGET_ANON_KEY_REQUIRED", details: { project_id: projectId ?? null } });
|
|
38
|
+
}
|
|
39
|
+
if (options.requireServiceKey && !serviceKey) {
|
|
40
|
+
throw new LocalError("No Run402 service key found. Run `run402 projects provision --name my-app`, or set RUN402_SERVICE_KEY.", CONTEXT, { code: "RUN402_TARGET_SERVICE_KEY_REQUIRED", details: { project_id: projectId ?? null } });
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
profile: getActiveProfile(),
|
|
44
|
+
configDir: getConfigDir(),
|
|
45
|
+
apiBase,
|
|
46
|
+
apiBaseSource,
|
|
47
|
+
targetKind,
|
|
48
|
+
isCore,
|
|
49
|
+
...(projectId ? { projectId } : {}),
|
|
50
|
+
...(project ? { project } : {}),
|
|
51
|
+
...(anonKey ? { anonKey } : {}),
|
|
52
|
+
...(serviceKey ? { serviceKey } : {}),
|
|
53
|
+
sources: {
|
|
54
|
+
apiBase: apiBaseSource,
|
|
55
|
+
...(projectId
|
|
56
|
+
? { project: options.projectId ? "option:projectId" : projectFromEnv?.source ?? "profile:active_project_id" }
|
|
57
|
+
: {}),
|
|
58
|
+
...(anonKey
|
|
59
|
+
? { anonKey: options.anonKey ? "option:anonKey" : anonFromEnv?.source ?? "profile:projects.json" }
|
|
60
|
+
: {}),
|
|
61
|
+
...(serviceKey
|
|
62
|
+
? { serviceKey: options.serviceKey ? "option:serviceKey" : serviceFromEnv?.source ?? "profile:projects.json" }
|
|
63
|
+
: {}),
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
function mergeAliases(aliases) {
|
|
68
|
+
return {
|
|
69
|
+
projectId: [...(aliases?.projectId ?? []), ...DEFAULT_ENV_ALIASES.projectId],
|
|
70
|
+
anonKey: [...(aliases?.anonKey ?? []), ...DEFAULT_ENV_ALIASES.anonKey],
|
|
71
|
+
serviceKey: [...(aliases?.serviceKey ?? []), ...DEFAULT_ENV_ALIASES.serviceKey],
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function effectiveTargetKind(apiBase, configuredKind) {
|
|
75
|
+
if (configuredKind !== "unknown")
|
|
76
|
+
return configuredKind;
|
|
77
|
+
return stripSlash(apiBase) === stripSlash(DEFAULT_API_BASE) ? "cloud" : "core";
|
|
78
|
+
}
|
|
79
|
+
function stripSlash(value) {
|
|
80
|
+
return value.replace(/\/+$/, "");
|
|
81
|
+
}
|
|
82
|
+
function firstString(...values) {
|
|
83
|
+
for (const value of values) {
|
|
84
|
+
const trimmed = value?.trim();
|
|
85
|
+
if (trimmed)
|
|
86
|
+
return trimmed;
|
|
87
|
+
}
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
function firstEnv(env, names) {
|
|
91
|
+
for (const name of names) {
|
|
92
|
+
const value = firstString(env[name]);
|
|
93
|
+
if (value)
|
|
94
|
+
return { value, source: `env:${name}` };
|
|
95
|
+
}
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=target-profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-profile.js","sourceRoot":"","sources":["../../src/node/target-profile.ts"],"names":[],"mappings":"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"}
|