run402 3.7.14 → 3.8.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 (94) hide show
  1. package/cli.mjs +6 -0
  2. package/core-dist/config.js +9 -0
  3. package/core-dist/keystore.js +103 -68
  4. package/core-dist/profile-state.js +137 -0
  5. package/lib/config.mjs +31 -20
  6. package/lib/credentials.mjs +273 -0
  7. package/lib/domains.mjs +40 -20
  8. package/lib/next-actions.mjs +7 -0
  9. package/lib/projects.mjs +65 -27
  10. package/lib/sdk-errors.mjs +24 -3
  11. package/lib/sdk.mjs +3 -2
  12. package/package.json +1 -1
  13. package/sdk/core-dist/config.js +9 -0
  14. package/sdk/core-dist/keystore.js +103 -68
  15. package/sdk/core-dist/profile-state.js +137 -0
  16. package/sdk/dist/credentials.d.ts +24 -7
  17. package/sdk/dist/credentials.d.ts.map +1 -1
  18. package/sdk/dist/credentials.js +4 -4
  19. package/sdk/dist/errors.d.ts +27 -1
  20. package/sdk/dist/errors.d.ts.map +1 -1
  21. package/sdk/dist/errors.js +61 -3
  22. package/sdk/dist/errors.js.map +1 -1
  23. package/sdk/dist/index.d.ts +7 -2
  24. package/sdk/dist/index.d.ts.map +1 -1
  25. package/sdk/dist/index.js +8 -3
  26. package/sdk/dist/index.js.map +1 -1
  27. package/sdk/dist/kernel.d.ts +2 -0
  28. package/sdk/dist/kernel.d.ts.map +1 -1
  29. package/sdk/dist/kernel.js +5 -1
  30. package/sdk/dist/kernel.js.map +1 -1
  31. package/sdk/dist/namespaces/ai.d.ts.map +1 -1
  32. package/sdk/dist/namespaces/ai.js +5 -10
  33. package/sdk/dist/namespaces/ai.js.map +1 -1
  34. package/sdk/dist/namespaces/apps.d.ts.map +1 -1
  35. package/sdk/dist/namespaces/apps.js +5 -13
  36. package/sdk/dist/namespaces/apps.js.map +1 -1
  37. package/sdk/dist/namespaces/assets.d.ts.map +1 -1
  38. package/sdk/dist/namespaces/assets.js +9 -22
  39. package/sdk/dist/namespaces/assets.js.map +1 -1
  40. package/sdk/dist/namespaces/auth.d.ts.map +1 -1
  41. package/sdk/dist/namespaces/auth.js +16 -43
  42. package/sdk/dist/namespaces/auth.js.map +1 -1
  43. package/sdk/dist/namespaces/contracts.d.ts.map +1 -1
  44. package/sdk/dist/namespaces/contracts.js +12 -31
  45. package/sdk/dist/namespaces/contracts.js.map +1 -1
  46. package/sdk/dist/namespaces/credentials.d.ts +48 -0
  47. package/sdk/dist/namespaces/credentials.d.ts.map +1 -0
  48. package/sdk/dist/namespaces/credentials.js +115 -0
  49. package/sdk/dist/namespaces/credentials.js.map +1 -0
  50. package/sdk/dist/namespaces/domains.d.ts +8 -2
  51. package/sdk/dist/namespaces/domains.d.ts.map +1 -1
  52. package/sdk/dist/namespaces/domains.js +41 -23
  53. package/sdk/dist/namespaces/domains.js.map +1 -1
  54. package/sdk/dist/namespaces/email.d.ts.map +1 -1
  55. package/sdk/dist/namespaces/email.js +8 -19
  56. package/sdk/dist/namespaces/email.js.map +1 -1
  57. package/sdk/dist/namespaces/functions.d.ts.map +1 -1
  58. package/sdk/dist/namespaces/functions.js +14 -37
  59. package/sdk/dist/namespaces/functions.js.map +1 -1
  60. package/sdk/dist/namespaces/jobs.d.ts.map +1 -1
  61. package/sdk/dist/namespaces/jobs.js +8 -19
  62. package/sdk/dist/namespaces/jobs.js.map +1 -1
  63. package/sdk/dist/namespaces/projects.d.ts +4 -4
  64. package/sdk/dist/namespaces/projects.d.ts.map +1 -1
  65. package/sdk/dist/namespaces/projects.js +18 -42
  66. package/sdk/dist/namespaces/projects.js.map +1 -1
  67. package/sdk/dist/namespaces/secrets.d.ts.map +1 -1
  68. package/sdk/dist/namespaces/secrets.js +5 -10
  69. package/sdk/dist/namespaces/secrets.js.map +1 -1
  70. package/sdk/dist/namespaces/sender-domain.d.ts.map +1 -1
  71. package/sdk/dist/namespaces/sender-domain.js +6 -16
  72. package/sdk/dist/namespaces/sender-domain.js.map +1 -1
  73. package/sdk/dist/namespaces/subdomains.d.ts.map +1 -1
  74. package/sdk/dist/namespaces/subdomains.js +5 -10
  75. package/sdk/dist/namespaces/subdomains.js.map +1 -1
  76. package/sdk/dist/node/credentials.d.ts +18 -4
  77. package/sdk/dist/node/credentials.d.ts.map +1 -1
  78. package/sdk/dist/node/credentials.js +37 -9
  79. package/sdk/dist/node/credentials.js.map +1 -1
  80. package/sdk/dist/node/index.d.ts +4 -2
  81. package/sdk/dist/node/index.d.ts.map +1 -1
  82. package/sdk/dist/node/index.js +2 -1
  83. package/sdk/dist/node/index.js.map +1 -1
  84. package/sdk/dist/node/target-profile.d.ts.map +1 -1
  85. package/sdk/dist/node/target-profile.js +6 -4
  86. package/sdk/dist/node/target-profile.js.map +1 -1
  87. package/sdk/dist/project-auth-classification.d.ts +125 -0
  88. package/sdk/dist/project-auth-classification.d.ts.map +1 -0
  89. package/sdk/dist/project-auth-classification.js +135 -0
  90. package/sdk/dist/project-auth-classification.js.map +1 -0
  91. package/sdk/dist/project-credentials.d.ts +4 -0
  92. package/sdk/dist/project-credentials.d.ts.map +1 -0
  93. package/sdk/dist/project-credentials.js +9 -0
  94. package/sdk/dist/project-credentials.js.map +1 -0
package/lib/sdk.mjs CHANGED
@@ -8,7 +8,7 @@
8
8
  */
9
9
 
10
10
  import { run402 } from "#sdk/node";
11
- import { allowanceFile, projectsFile } from "./config.mjs";
11
+ import { allowanceFile, profileStateFile, projectCredentialsFile } from "./config.mjs";
12
12
 
13
13
  export function getSdk(opts = {}) {
14
14
  // surface: "cli" opts the default credential resolution into `auto` — wallet
@@ -16,7 +16,8 @@ export function getSdk(opts = {}) {
16
16
  return run402({
17
17
  surface: "cli",
18
18
  allowancePath: allowanceFile(),
19
- keystorePath: projectsFile(),
19
+ keystorePath: projectCredentialsFile(),
20
+ profileStatePath: profileStateFile(),
20
21
  ...opts,
21
22
  });
22
23
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "run402",
3
- "version": "3.7.14",
3
+ "version": "3.8.0",
4
4
  "description": "CLI for Run402 — provision Postgres databases, deploy static sites, generate images, and manage wallets via x402 and MPP micropayments.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -119,8 +119,17 @@ export function getConfigDir() {
119
119
  return profile === DEFAULT_PROFILE ? base : join(base, "profiles", profile);
120
120
  }
121
121
  export function getKeystorePath() {
122
+ return getProjectCredentialsPath();
123
+ }
124
+ export function getLegacyProjectsPath() {
122
125
  return join(getConfigDir(), "projects.json");
123
126
  }
127
+ export function getProjectCredentialsPath() {
128
+ return join(getConfigDir(), "credentials", "project-keys.v1.json");
129
+ }
130
+ export function getProfileStatePath() {
131
+ return join(getConfigDir(), "state.json");
132
+ }
124
133
  export function getApiTargetConfigPath() {
125
134
  return join(getConfigDir(), "target.json");
126
135
  }
@@ -1,7 +1,8 @@
1
- import { readFileSync, writeFileSync, mkdirSync, renameSync, chmodSync, rmdirSync } from "node:fs";
1
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, renameSync, chmodSync, rmdirSync } from "node:fs";
2
2
  import { dirname, join } from "node:path";
3
3
  import { randomBytes } from "node:crypto";
4
- import { getKeystorePath } from "./config.js";
4
+ import { getLegacyProjectsPath, getProjectCredentialsPath } from "./config.js";
5
+ import { clearActiveProjectId as clearProfileActiveProjectId, getActiveProjectId as getProfileActiveProjectId, recordMigration, setActiveProjectId as setProfileActiveProjectId, } from "./profile-state.js";
5
6
  function withFileLock(path, fn, { retries = 200, delayMs = 20 } = {}) {
6
7
  const lockDir = path + ".lock";
7
8
  mkdirSync(dirname(path), { recursive: true });
@@ -29,56 +30,107 @@ function withFileLock(path, fn, { retries = 200, delayMs = 20 } = {}) {
29
30
  }
30
31
  throw new Error(`Could not acquire keystore lock after ${retries} retries: ${lockDir}`);
31
32
  }
32
- /**
33
- * Load the keystore from disk.
34
- * Auto-migrates legacy formats:
35
- * - Array format (CLI legacy): [{project_id, ...}] → {projects: {id: {...}}}
36
- * - Old field name: expires_at → lease_expires_at
37
- */
38
- export function loadKeyStore(path) {
39
- const p = path ?? getKeystorePath();
40
- try {
41
- const data = readFileSync(p, "utf-8");
42
- const parsed = JSON.parse(data);
43
- if (Array.isArray(parsed)) {
44
- const projects = {};
45
- for (const item of parsed) {
46
- if (item.project_id) {
47
- projects[item.project_id] = {
48
- anon_key: item.anon_key,
49
- service_key: item.service_key,
50
- ...(item.site_url && { site_url: item.site_url }),
51
- ...(item.deployed_at && { deployed_at: item.deployed_at }),
52
- };
53
- }
33
+ function normalizeParsedKeyStore(parsed) {
34
+ if (Array.isArray(parsed)) {
35
+ const projects = {};
36
+ for (const item of parsed) {
37
+ if (item.project_id) {
38
+ projects[item.project_id] = {
39
+ anon_key: item.anon_key,
40
+ service_key: item.service_key,
41
+ ...(item.site_url && { site_url: item.site_url }),
42
+ ...(item.deployed_at && { deployed_at: item.deployed_at }),
43
+ cached_at: new Date().toISOString(),
44
+ source: "legacy_projects_json",
45
+ };
54
46
  }
55
- return { projects };
56
47
  }
57
- if (parsed && typeof parsed === "object" && parsed.projects) {
58
- for (const proj of Object.values(parsed.projects)) {
59
- const rec = proj;
60
- delete rec.tier;
61
- delete rec.lease_expires_at;
62
- delete rec.expires_at;
63
- }
64
- return {
65
- ...(parsed.active_project_id && { active_project_id: parsed.active_project_id }),
66
- ...(parsed.previous_active_project_id && { previous_active_project_id: parsed.previous_active_project_id }),
67
- projects: parsed.projects,
68
- };
48
+ return { version: 1, source: "local_cache", projects };
49
+ }
50
+ if (parsed && typeof parsed === "object" && "projects" in parsed) {
51
+ const obj = parsed;
52
+ const rawProjects = obj.projects && typeof obj.projects === "object" && !Array.isArray(obj.projects)
53
+ ? obj.projects
54
+ : {};
55
+ const projects = {};
56
+ for (const [id, proj] of Object.entries(rawProjects)) {
57
+ const rec = { ...proj };
58
+ delete rec.tier;
59
+ delete rec.lease_expires_at;
60
+ delete rec.expires_at;
61
+ projects[id] = rec;
69
62
  }
70
- return { projects: {} };
63
+ return {
64
+ version: 1,
65
+ source: "local_cache",
66
+ ...(typeof obj.active_project_id === "string" && { active_project_id: obj.active_project_id }),
67
+ ...(typeof obj.previous_active_project_id === "string" && { previous_active_project_id: obj.previous_active_project_id }),
68
+ projects,
69
+ ...(typeof obj.migrated_from === "string" && { migrated_from: obj.migrated_from }),
70
+ ...(typeof obj.migrated_at === "string" && { migrated_at: obj.migrated_at }),
71
+ };
72
+ }
73
+ return { version: 1, source: "local_cache", projects: {} };
74
+ }
75
+ function loadParsedKeyStore(path) {
76
+ try {
77
+ return normalizeParsedKeyStore(JSON.parse(readFileSync(path, "utf-8")));
71
78
  }
72
79
  catch {
73
- return { projects: {} };
80
+ return { version: 1, source: "local_cache", projects: {} };
74
81
  }
75
82
  }
83
+ function migrateLegacyProjectsJson(targetPath) {
84
+ const legacyPath = getLegacyProjectsPath();
85
+ if (existsSync(targetPath) || !existsSync(legacyPath))
86
+ return;
87
+ const legacy = loadParsedKeyStore(legacyPath);
88
+ const migratedAt = new Date().toISOString();
89
+ const cache = {
90
+ version: 1,
91
+ source: "local_cache",
92
+ projects: legacy.projects,
93
+ migrated_from: legacyPath,
94
+ migrated_at: migratedAt,
95
+ };
96
+ saveKeyStore(cache, targetPath);
97
+ if (legacy.active_project_id) {
98
+ setProfileActiveProjectId(legacy.active_project_id);
99
+ }
100
+ recordMigration("projects_json_import", {
101
+ legacy_path: legacyPath,
102
+ cache_path: targetPath,
103
+ project_count: Object.keys(legacy.projects).length,
104
+ imported_at: migratedAt,
105
+ });
106
+ }
107
+ /**
108
+ * Load the project-key credential cache from disk.
109
+ * Auto-imports legacy `projects.json` formats into the new cache path when using
110
+ * the default location:
111
+ * - Array format (CLI legacy): [{project_id, ...}] → {projects: {id: {...}}}
112
+ * - Object format: {active_project_id, projects} → credentials cache + state.json
113
+ * - Old metadata fields: tier/expires_at/lease_expires_at are stripped
114
+ */
115
+ export function loadKeyStore(path) {
116
+ const p = path ?? getProjectCredentialsPath();
117
+ if (!path)
118
+ migrateLegacyProjectsJson(p);
119
+ return loadParsedKeyStore(p);
120
+ }
76
121
  export function saveKeyStore(store, path) {
77
- const p = path ?? getKeystorePath();
122
+ const p = path ?? getProjectCredentialsPath();
78
123
  const dir = dirname(p);
79
124
  mkdirSync(dir, { recursive: true });
80
- const tmp = join(dir, `.projects.${randomBytes(4).toString("hex")}.tmp`);
81
- writeFileSync(tmp, JSON.stringify(store, null, 2), { mode: 0o600 });
125
+ const cache = {
126
+ version: 1,
127
+ source: "local_cache",
128
+ ...(store.migrated_from ? { migrated_from: store.migrated_from } : {}),
129
+ ...(store.migrated_at ? { migrated_at: store.migrated_at } : {}),
130
+ projects: store.projects,
131
+ };
132
+ const tmp = join(dir, `.project-keys.${randomBytes(4).toString("hex")}.tmp`);
133
+ writeFileSync(tmp, JSON.stringify(cache, null, 2), { mode: 0o600 });
82
134
  renameSync(tmp, p);
83
135
  chmodSync(p, 0o600);
84
136
  }
@@ -87,55 +139,38 @@ export function getProject(projectId, path) {
87
139
  return store.projects[projectId];
88
140
  }
89
141
  export function saveProject(projectId, project, path) {
90
- const p = path ?? getKeystorePath();
142
+ const p = path ?? getProjectCredentialsPath();
91
143
  withFileLock(p, () => {
92
144
  const store = loadKeyStore(p);
93
- store.projects[projectId] = project;
145
+ store.projects[projectId] = { ...project, cached_at: project.cached_at ?? new Date().toISOString() };
94
146
  saveKeyStore(store, p);
95
147
  });
96
148
  }
97
149
  export function updateProject(projectId, update, path) {
98
- const p = path ?? getKeystorePath();
150
+ const p = path ?? getProjectCredentialsPath();
99
151
  withFileLock(p, () => {
100
152
  const store = loadKeyStore(p);
101
153
  const existing = store.projects[projectId];
102
154
  if (existing) {
103
- store.projects[projectId] = { ...existing, ...update };
155
+ store.projects[projectId] = { ...existing, ...update, cached_at: existing.cached_at ?? new Date().toISOString() };
104
156
  saveKeyStore(store, p);
105
157
  }
106
158
  });
107
159
  }
108
160
  export function removeProject(projectId, path) {
109
- const p = path ?? getKeystorePath();
161
+ const p = path ?? getProjectCredentialsPath();
110
162
  withFileLock(p, () => {
111
163
  const store = loadKeyStore(p);
112
164
  delete store.projects[projectId];
113
- if (store.active_project_id === projectId) {
114
- const fallback = store.previous_active_project_id;
115
- if (fallback && fallback !== projectId && store.projects[fallback]) {
116
- store.active_project_id = fallback;
117
- }
118
- else {
119
- delete store.active_project_id;
120
- }
121
- delete store.previous_active_project_id;
122
- }
123
165
  saveKeyStore(store, p);
124
166
  });
167
+ if (!path)
168
+ clearProfileActiveProjectId(projectId);
125
169
  }
126
170
  export function getActiveProjectId(path) {
127
- const store = loadKeyStore(path);
128
- return store.active_project_id;
171
+ return getProfileActiveProjectId(path);
129
172
  }
130
173
  export function setActiveProjectId(projectId, path) {
131
- const p = path ?? getKeystorePath();
132
- withFileLock(p, () => {
133
- const store = loadKeyStore(p);
134
- if (store.active_project_id && store.active_project_id !== projectId) {
135
- store.previous_active_project_id = store.active_project_id;
136
- }
137
- store.active_project_id = projectId;
138
- saveKeyStore(store, p);
139
- });
174
+ setProfileActiveProjectId(projectId, path);
140
175
  }
141
176
  //# sourceMappingURL=keystore.js.map
@@ -0,0 +1,137 @@
1
+ import { readFileSync, writeFileSync, mkdirSync, renameSync, chmodSync, rmdirSync } from "node:fs";
2
+ import { dirname, join } from "node:path";
3
+ import { randomBytes } from "node:crypto";
4
+ import { getActiveProfile, getApiBase, getProfileStatePath } from "./config.js";
5
+ function withFileLock(path, fn, { retries = 200, delayMs = 20 } = {}) {
6
+ const lockDir = path + ".lock";
7
+ mkdirSync(dirname(path), { recursive: true });
8
+ for (let i = 0; i < retries; i++) {
9
+ try {
10
+ mkdirSync(lockDir, { mode: 0o700 });
11
+ }
12
+ catch (e) {
13
+ const code = e.code;
14
+ if (code !== "EEXIST")
15
+ throw e;
16
+ const until = Date.now() + delayMs;
17
+ while (Date.now() < until) { /* spin */ }
18
+ continue;
19
+ }
20
+ try {
21
+ return fn();
22
+ }
23
+ finally {
24
+ try {
25
+ rmdirSync(lockDir);
26
+ }
27
+ catch { /* best-effort */ }
28
+ }
29
+ }
30
+ throw new Error(`Could not acquire profile-state lock after ${retries} retries: ${lockDir}`);
31
+ }
32
+ export function loadProfileState(path) {
33
+ const p = path ?? getProfileStatePath();
34
+ try {
35
+ const parsed = JSON.parse(readFileSync(p, "utf-8"));
36
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
37
+ return {};
38
+ return parsed;
39
+ }
40
+ catch {
41
+ return {};
42
+ }
43
+ }
44
+ export function saveProfileState(state, path) {
45
+ const p = path ?? getProfileStatePath();
46
+ const dir = dirname(p);
47
+ mkdirSync(dir, { recursive: true });
48
+ const tmp = join(dir, `.state.${randomBytes(4).toString("hex")}.tmp`);
49
+ writeFileSync(tmp, JSON.stringify({ version: 1, ...state }, null, 2), { mode: 0o600 });
50
+ renameSync(tmp, p);
51
+ chmodSync(p, 0o600);
52
+ }
53
+ export function defaultActiveProjectScope(scope = {}) {
54
+ return {
55
+ api_base: scope.api_base ?? getApiBase(),
56
+ profile: scope.profile ?? getActiveProfile(),
57
+ principal: scope.principal ?? null,
58
+ };
59
+ }
60
+ export function activeProjectScopeKey(scope = {}) {
61
+ const resolved = defaultActiveProjectScope(scope);
62
+ return JSON.stringify({
63
+ api_base: resolved.api_base,
64
+ profile: resolved.profile,
65
+ principal: resolved.principal ?? "unknown",
66
+ });
67
+ }
68
+ export function getActiveProjectId(path, scope = {}) {
69
+ const state = loadProfileState(path);
70
+ const key = activeProjectScopeKey(scope);
71
+ return state.active_projects?.[key]?.project_id ?? state.active_project_id;
72
+ }
73
+ export function setActiveProjectId(projectId, path, scope = {}) {
74
+ const p = path ?? getProfileStatePath();
75
+ withFileLock(p, () => {
76
+ const state = loadProfileState(p);
77
+ const key = activeProjectScopeKey(scope);
78
+ const resolved = defaultActiveProjectScope(scope);
79
+ const current = state.active_projects?.[key]?.project_id ?? state.active_project_id;
80
+ const previous = current && current !== projectId ? current : undefined;
81
+ state.active_projects = state.active_projects ?? {};
82
+ state.active_projects[key] = {
83
+ project_id: projectId,
84
+ ...(previous ? { previous_project_id: previous } : {}),
85
+ api_base: resolved.api_base,
86
+ principal: resolved.principal ?? null,
87
+ profile: resolved.profile,
88
+ updated_at: new Date().toISOString(),
89
+ };
90
+ state.active_project_id = projectId;
91
+ if (previous)
92
+ state.previous_active_project_id = previous;
93
+ else
94
+ delete state.previous_active_project_id;
95
+ saveProfileState(state, p);
96
+ });
97
+ }
98
+ export function clearActiveProjectId(projectId, path, scope = {}) {
99
+ const p = path ?? getProfileStatePath();
100
+ withFileLock(p, () => {
101
+ const state = loadProfileState(p);
102
+ const key = activeProjectScopeKey(scope);
103
+ const scoped = state.active_projects?.[key];
104
+ if (scoped?.project_id === projectId && state.active_projects) {
105
+ if (scoped.previous_project_id) {
106
+ state.active_projects[key] = {
107
+ ...scoped,
108
+ project_id: scoped.previous_project_id,
109
+ previous_project_id: undefined,
110
+ updated_at: new Date().toISOString(),
111
+ };
112
+ }
113
+ else {
114
+ delete state.active_projects[key];
115
+ }
116
+ }
117
+ if (state.active_project_id === projectId) {
118
+ if (state.previous_active_project_id && state.previous_active_project_id !== projectId) {
119
+ state.active_project_id = state.previous_active_project_id;
120
+ }
121
+ else {
122
+ delete state.active_project_id;
123
+ }
124
+ delete state.previous_active_project_id;
125
+ }
126
+ saveProfileState(state, p);
127
+ });
128
+ }
129
+ export function recordMigration(marker, value, path) {
130
+ const p = path ?? getProfileStatePath();
131
+ withFileLock(p, () => {
132
+ const state = loadProfileState(p);
133
+ state.migrations = { ...(state.migrations ?? {}), [marker]: value };
134
+ saveProfileState(state, p);
135
+ });
136
+ }
137
+ //# sourceMappingURL=profile-state.js.map
@@ -2,15 +2,15 @@
2
2
  * Credential provider interface for the Run402 SDK.
3
3
  *
4
4
  * The SDK's request kernel calls `getAuth` before each request to obtain
5
- * signed auth headers, and `getProject` to resolve per-project anon/service
6
- * keys. All filesystem, environment, and session-state access lives inside
7
- * provider implementations — never in the kernel.
5
+ * signed auth headers, and `getProjectCredentials` to resolve per-project
6
+ * anon/service keys. All filesystem, environment, and session-state access
7
+ * lives inside provider implementations — never in the kernel.
8
8
  *
9
9
  * Node consumers use {@link NodeCredentialsProvider} from `@run402/sdk/node`
10
10
  * which wraps the local keystore + allowance. Sandbox consumers supply their
11
11
  * own implementation bound to a session token issued by the supervisor.
12
12
  *
13
- * The two required methods (`getAuth`, `getProject`) support every API call.
13
+ * The two required methods (`getAuth`, `getProjectCredentials`) support every API call.
14
14
  * The optional methods let providers opt in to local persistence (keystore
15
15
  * writes, active-project tracking). Namespace methods that need a missing
16
16
  * optional method throw a descriptive error at runtime.
@@ -23,6 +23,13 @@ export interface ProjectKeys {
23
23
  last_deployment_id?: string;
24
24
  mailbox_id?: string;
25
25
  mailbox_address?: string;
26
+ cached_at?: string;
27
+ }
28
+ export interface ProjectCredentialCacheInfo {
29
+ source: "local_cache";
30
+ cache_path?: string;
31
+ wallet?: string;
32
+ profile?: string;
26
33
  }
27
34
  export interface AllowanceData {
28
35
  address: string;
@@ -78,10 +85,18 @@ export interface CredentialsProvider {
78
85
  */
79
86
  getAuth(path: string, metadata?: AuthRequestMeta): Promise<Record<string, string> | null>;
80
87
  /**
81
- * Resolve the anon/service keys for a project. Returns null if the project
82
- * is not known to this provider the kernel then throws ProjectNotFound.
88
+ * Resolve the anon/service keys for a project. Returns null when local
89
+ * credentials are absent. This is a credential-cache lookup, not a project
90
+ * existence check.
91
+ */
92
+ getProjectCredentials?(id: string): Promise<ProjectKeys | null>;
93
+ /**
94
+ * @deprecated Use `getProjectCredentials`. This alias is retained only for
95
+ * older custom providers; first-party SDK code must use the explicit name.
83
96
  */
84
- getProject(id: string): Promise<ProjectKeys | null>;
97
+ getProject?(id: string): Promise<ProjectKeys | null>;
98
+ /** List locally cached project credentials. Optional and local-cache only; not project inventory. */
99
+ listProjectCredentials?(): Promise<Record<string, ProjectKeys>>;
85
100
  /**
86
101
  * Persist project keys after a successful provision or deploy. Optional:
87
102
  * providers without local storage (pure session providers) may omit this.
@@ -103,6 +118,8 @@ export interface CredentialsProvider {
103
118
  createAllowance?(): Promise<AllowanceData>;
104
119
  /** Return the absolute path to the local allowance file, for diagnostic output. Optional. */
105
120
  getAllowancePath?(): string;
121
+ /** Return safe provenance for the local project credential cache. Optional. */
122
+ getProjectCredentialCacheInfo?(): ProjectCredentialCacheInfo;
106
123
  /**
107
124
  * Return the active wallet's display identity (local name + address + cached
108
125
  * server label). The Node provider derives this from the active profile;
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAC3B,oBAAoB,GACpB,gBAAgB,GAChB,sBAAsB,GACtB,yBAAyB,CAAC;AAE9B,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,+BAA+B;IAC/B,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;OASG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAE1F;;;OAGG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAEpD;;;OAGG;IACH,WAAW,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D,kGAAkG;IAClG,aAAa,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE,oEAAoE;IACpE,aAAa,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C,kEAAkE;IAClE,gBAAgB,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C,oEAAoE;IACpE,gBAAgB,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE5C,gFAAgF;IAChF,aAAa,CAAC,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAEhD,6CAA6C;IAC7C,aAAa,CAAC,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD,oHAAoH;IACpH,eAAe,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3C,6FAA6F;IAC7F,gBAAgB,CAAC,IAAI,MAAM,CAAC;IAE5B;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACtD"}
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAC3B,oBAAoB,GACpB,gBAAgB,GAChB,sBAAsB,GACtB,yBAAyB,CAAC;AAE9B,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,+BAA+B;IAC/B,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;OASG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAE1F;;;;OAIG;IACH,qBAAqB,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAEhE;;;OAGG;IACH,UAAU,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAErD,qGAAqG;IACrG,sBAAsB,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAEhE;;;OAGG;IACH,WAAW,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D,kGAAkG;IAClG,aAAa,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE,oEAAoE;IACpE,aAAa,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C,kEAAkE;IAClE,gBAAgB,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C,oEAAoE;IACpE,gBAAgB,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE5C,gFAAgF;IAChF,aAAa,CAAC,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAEhD,6CAA6C;IAC7C,aAAa,CAAC,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD,oHAAoH;IACpH,eAAe,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3C,6FAA6F;IAC7F,gBAAgB,CAAC,IAAI,MAAM,CAAC;IAE5B,+EAA+E;IAC/E,6BAA6B,CAAC,IAAI,0BAA0B,CAAC;IAE7D;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACtD"}
@@ -2,15 +2,15 @@
2
2
  * Credential provider interface for the Run402 SDK.
3
3
  *
4
4
  * The SDK's request kernel calls `getAuth` before each request to obtain
5
- * signed auth headers, and `getProject` to resolve per-project anon/service
6
- * keys. All filesystem, environment, and session-state access lives inside
7
- * provider implementations — never in the kernel.
5
+ * signed auth headers, and `getProjectCredentials` to resolve per-project
6
+ * anon/service keys. All filesystem, environment, and session-state access
7
+ * lives inside provider implementations — never in the kernel.
8
8
  *
9
9
  * Node consumers use {@link NodeCredentialsProvider} from `@run402/sdk/node`
10
10
  * which wraps the local keystore + allowance. Sandbox consumers supply their
11
11
  * own implementation bound to a session token issued by the supervisor.
12
12
  *
13
- * The two required methods (`getAuth`, `getProject`) support every API call.
13
+ * The two required methods (`getAuth`, `getProjectCredentials`) support every API call.
14
14
  * The optional methods let providers opt in to local persistence (keystore
15
15
  * writes, active-project tracking). Namespace methods that need a missing
16
16
  * optional method throw a descriptive error at runtime.
@@ -166,7 +166,7 @@ export declare class LocalError extends Run402Error {
166
166
  * @param message Human-readable error message.
167
167
  * @param context Short verb phrase identifying the operation (used for triage).
168
168
  * @param opts Optional. Pass a raw `unknown` for back-compat (treated as `cause`),
169
- * or an options bag `{ cause?, code?, details? }` to thread a stable error
169
+ * or an options bag `{ cause?, code?, details?, next_actions? }` to thread a stable error
170
170
  * `code` (mirrors a gateway error code so client-side validators throw with
171
171
  * the same `code` field consumers branch on).
172
172
  */
@@ -174,8 +174,16 @@ export declare class LocalError extends Run402Error {
174
174
  cause?: unknown;
175
175
  code?: string;
176
176
  details?: unknown;
177
+ next_actions?: unknown[];
177
178
  });
178
179
  }
180
+ /** Local credential-cache miss — the project may exist, but no cached keys are available locally. */
181
+ export declare class ProjectCredentialNotFound extends LocalError {
182
+ readonly projectId: string;
183
+ constructor(projectId: string, context: string, details?: Record<string, unknown>);
184
+ }
185
+ export declare const PROJECT_CREDENTIAL_ERROR_CODES: readonly ["PROJECT_CREDENTIAL_NOT_FOUND", "PROJECT_CREDENTIAL_INVALID", "PROJECT_CREDENTIAL_EXPIRED", "PROJECT_CREDENTIAL_PROJECT_MISMATCH"];
186
+ export type ProjectCredentialErrorCode = typeof PROJECT_CREDENTIAL_ERROR_CODES[number];
179
187
  /**
180
188
  * Deploy-state-machine failure surfaced from the v2 deploy flow. Carries the
181
189
  * structured error envelope the gateway returns alongside the operation
@@ -349,6 +357,24 @@ export declare function isRun402Error(e: unknown): e is Run402Error;
349
357
  export declare function isPaymentRequired(e: unknown): e is PaymentRequired;
350
358
  /** True if `e` is a {@link ProjectNotFound}. */
351
359
  export declare function isProjectNotFound(e: unknown): e is ProjectNotFound;
360
+ /** True if `e` is a local project credential-cache miss. */
361
+ export declare function isProjectCredentialNotFound(e: unknown): e is ProjectCredentialNotFound;
362
+ /** True if `e` carries any stable project-credential error code. */
363
+ export declare function isProjectCredentialError(e: unknown): e is Run402Error & {
364
+ code: ProjectCredentialErrorCode;
365
+ };
366
+ /** True if cached or supplied project credentials were rejected as invalid. */
367
+ export declare function isProjectCredentialInvalid(e: unknown): e is Run402Error & {
368
+ code: "PROJECT_CREDENTIAL_INVALID";
369
+ };
370
+ /** True if cached or supplied project credentials were rejected as expired. */
371
+ export declare function isProjectCredentialExpired(e: unknown): e is Run402Error & {
372
+ code: "PROJECT_CREDENTIAL_EXPIRED";
373
+ };
374
+ /** True if service-key auth was supplied for a different explicit project id. */
375
+ export declare function isProjectCredentialProjectMismatch(e: unknown): e is Run402Error & {
376
+ code: "PROJECT_CREDENTIAL_PROJECT_MISMATCH";
377
+ };
352
378
  /** True if `e` is an {@link Unauthorized}. */
353
379
  export declare function isUnauthorized(e: unknown): e is Unauthorized;
354
380
  /** True if `e` is a {@link NotAuthorizedError} (org-owned control-plane denial, gateway v1.77+). */
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}