run402-mcp 3.7.13 → 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 (128) hide show
  1. package/README.md +7 -5
  2. package/core/dist/config.d.ts +3 -0
  3. package/core/dist/config.d.ts.map +1 -1
  4. package/core/dist/config.js +9 -0
  5. package/core/dist/config.js.map +1 -1
  6. package/core/dist/keystore.d.ts +11 -3
  7. package/core/dist/keystore.d.ts.map +1 -1
  8. package/core/dist/keystore.js +103 -68
  9. package/core/dist/keystore.js.map +1 -1
  10. package/core/dist/profile-state.d.ts +29 -0
  11. package/core/dist/profile-state.d.ts.map +1 -0
  12. package/core/dist/profile-state.js +137 -0
  13. package/core/dist/profile-state.js.map +1 -0
  14. package/dist/config.d.ts +1 -1
  15. package/dist/config.d.ts.map +1 -1
  16. package/dist/config.js +1 -1
  17. package/dist/config.js.map +1 -1
  18. package/dist/errors.d.ts +5 -0
  19. package/dist/errors.d.ts.map +1 -1
  20. package/dist/errors.js +19 -1
  21. package/dist/errors.js.map +1 -1
  22. package/dist/index.js +6 -6
  23. package/dist/index.js.map +1 -1
  24. package/dist/tools/deploy.d.ts +16 -16
  25. package/dist/tools/{project-keys.d.ts → project-key-cache-export.d.ts} +5 -3
  26. package/dist/tools/project-key-cache-export.d.ts.map +1 -0
  27. package/dist/tools/project-key-cache-export.js +29 -0
  28. package/dist/tools/project-key-cache-export.js.map +1 -0
  29. package/dist/tools/{project-info.d.ts → project-key-cache-status.d.ts} +3 -3
  30. package/dist/tools/project-key-cache-status.d.ts.map +1 -0
  31. package/dist/tools/project-key-cache-status.js +34 -0
  32. package/dist/tools/project-key-cache-status.js.map +1 -0
  33. package/package.json +1 -1
  34. package/sdk/README.md +22 -4
  35. package/sdk/core-dist/config.d.ts +3 -0
  36. package/sdk/core-dist/config.js +9 -0
  37. package/sdk/core-dist/keystore.d.ts +11 -3
  38. package/sdk/core-dist/keystore.js +103 -68
  39. package/sdk/core-dist/profile-state.d.ts +29 -0
  40. package/sdk/core-dist/profile-state.js +137 -0
  41. package/sdk/dist/credentials.d.ts +24 -7
  42. package/sdk/dist/credentials.d.ts.map +1 -1
  43. package/sdk/dist/credentials.js +4 -4
  44. package/sdk/dist/errors.d.ts +27 -1
  45. package/sdk/dist/errors.d.ts.map +1 -1
  46. package/sdk/dist/errors.js +61 -3
  47. package/sdk/dist/errors.js.map +1 -1
  48. package/sdk/dist/index.d.ts +7 -2
  49. package/sdk/dist/index.d.ts.map +1 -1
  50. package/sdk/dist/index.js +8 -3
  51. package/sdk/dist/index.js.map +1 -1
  52. package/sdk/dist/kernel.d.ts +2 -0
  53. package/sdk/dist/kernel.d.ts.map +1 -1
  54. package/sdk/dist/kernel.js +5 -1
  55. package/sdk/dist/kernel.js.map +1 -1
  56. package/sdk/dist/namespaces/ai.d.ts.map +1 -1
  57. package/sdk/dist/namespaces/ai.js +5 -10
  58. package/sdk/dist/namespaces/ai.js.map +1 -1
  59. package/sdk/dist/namespaces/apps.d.ts.map +1 -1
  60. package/sdk/dist/namespaces/apps.js +5 -13
  61. package/sdk/dist/namespaces/apps.js.map +1 -1
  62. package/sdk/dist/namespaces/assets.d.ts.map +1 -1
  63. package/sdk/dist/namespaces/assets.js +9 -22
  64. package/sdk/dist/namespaces/assets.js.map +1 -1
  65. package/sdk/dist/namespaces/auth.d.ts.map +1 -1
  66. package/sdk/dist/namespaces/auth.js +16 -43
  67. package/sdk/dist/namespaces/auth.js.map +1 -1
  68. package/sdk/dist/namespaces/contracts.d.ts.map +1 -1
  69. package/sdk/dist/namespaces/contracts.js +12 -31
  70. package/sdk/dist/namespaces/contracts.js.map +1 -1
  71. package/sdk/dist/namespaces/credentials.d.ts +48 -0
  72. package/sdk/dist/namespaces/credentials.d.ts.map +1 -0
  73. package/sdk/dist/namespaces/credentials.js +115 -0
  74. package/sdk/dist/namespaces/credentials.js.map +1 -0
  75. package/sdk/dist/namespaces/deploy.d.ts.map +1 -1
  76. package/sdk/dist/namespaces/deploy.js +23 -3
  77. package/sdk/dist/namespaces/deploy.js.map +1 -1
  78. package/sdk/dist/namespaces/domains.d.ts +8 -2
  79. package/sdk/dist/namespaces/domains.d.ts.map +1 -1
  80. package/sdk/dist/namespaces/domains.js +41 -23
  81. package/sdk/dist/namespaces/domains.js.map +1 -1
  82. package/sdk/dist/namespaces/email.d.ts.map +1 -1
  83. package/sdk/dist/namespaces/email.js +8 -19
  84. package/sdk/dist/namespaces/email.js.map +1 -1
  85. package/sdk/dist/namespaces/functions.d.ts.map +1 -1
  86. package/sdk/dist/namespaces/functions.js +14 -37
  87. package/sdk/dist/namespaces/functions.js.map +1 -1
  88. package/sdk/dist/namespaces/jobs.d.ts.map +1 -1
  89. package/sdk/dist/namespaces/jobs.js +8 -19
  90. package/sdk/dist/namespaces/jobs.js.map +1 -1
  91. package/sdk/dist/namespaces/projects.d.ts +4 -4
  92. package/sdk/dist/namespaces/projects.d.ts.map +1 -1
  93. package/sdk/dist/namespaces/projects.js +18 -42
  94. package/sdk/dist/namespaces/projects.js.map +1 -1
  95. package/sdk/dist/namespaces/secrets.d.ts.map +1 -1
  96. package/sdk/dist/namespaces/secrets.js +5 -10
  97. package/sdk/dist/namespaces/secrets.js.map +1 -1
  98. package/sdk/dist/namespaces/sender-domain.d.ts.map +1 -1
  99. package/sdk/dist/namespaces/sender-domain.js +6 -16
  100. package/sdk/dist/namespaces/sender-domain.js.map +1 -1
  101. package/sdk/dist/namespaces/subdomains.d.ts.map +1 -1
  102. package/sdk/dist/namespaces/subdomains.js +5 -10
  103. package/sdk/dist/namespaces/subdomains.js.map +1 -1
  104. package/sdk/dist/node/credentials.d.ts +18 -4
  105. package/sdk/dist/node/credentials.d.ts.map +1 -1
  106. package/sdk/dist/node/credentials.js +37 -9
  107. package/sdk/dist/node/credentials.js.map +1 -1
  108. package/sdk/dist/node/index.d.ts +4 -2
  109. package/sdk/dist/node/index.d.ts.map +1 -1
  110. package/sdk/dist/node/index.js +2 -1
  111. package/sdk/dist/node/index.js.map +1 -1
  112. package/sdk/dist/node/target-profile.d.ts.map +1 -1
  113. package/sdk/dist/node/target-profile.js +6 -4
  114. package/sdk/dist/node/target-profile.js.map +1 -1
  115. package/sdk/dist/project-auth-classification.d.ts +125 -0
  116. package/sdk/dist/project-auth-classification.d.ts.map +1 -0
  117. package/sdk/dist/project-auth-classification.js +135 -0
  118. package/sdk/dist/project-auth-classification.js.map +1 -0
  119. package/sdk/dist/project-credentials.d.ts +4 -0
  120. package/sdk/dist/project-credentials.d.ts.map +1 -0
  121. package/sdk/dist/project-credentials.js +9 -0
  122. package/sdk/dist/project-credentials.js.map +1 -0
  123. package/dist/tools/project-info.d.ts.map +0 -1
  124. package/dist/tools/project-info.js +0 -29
  125. package/dist/tools/project-info.js.map +0 -1
  126. package/dist/tools/project-keys.d.ts.map +0 -1
  127. package/dist/tools/project-keys.js +0 -24
  128. package/dist/tools/project-keys.js.map +0 -1
package/README.md CHANGED
@@ -309,7 +309,7 @@ npm install @run402/sdk
309
309
  Two entry points:
310
310
 
311
311
  - **`@run402/sdk`** — isomorphic. Bring your own `CredentialsProvider` (a session-token shim, a remote vault, anything that resolves project keys + auth headers). Works in Node 22, Deno, Bun, V8 isolates.
312
- - **`@run402/sdk/node`** — Node-only convenience. Reads `~/.config/run402/projects.json`, signs x402 payments from the local allowance, exposes `sites.deployDir(...)`, `fileSetFromDir(...)`, typed deploy-manifest helpers (`loadDeployManifest`, `normalizeDeployManifest`), and `resolveRun402TargetProfile()` for app build scripts that need the same Core/Cloud target the CLI uses.
312
+ - **`@run402/sdk/node`** — Node-only convenience. Reads local profile state plus the project-key credential cache (`credentials/project-keys.v1.json`), signs x402 payments from the local allowance, exposes `sites.deployDir(...)`, `fileSetFromDir(...)`, typed deploy-manifest helpers (`loadDeployManifest`, `normalizeDeployManifest`), and `resolveRun402TargetProfile()` for app build scripts that need the same Core/Cloud target the CLI uses.
313
313
 
314
314
  ```ts
315
315
  import { run402 } from "@run402/sdk/node";
@@ -363,7 +363,7 @@ run402 core projects import ./project.r402ar --name imported-project --env-file
363
363
 
364
364
  Archive v1 excludes secret values, auth credentials, logs, billing/allowance state, Cloud operations metadata, Cloud import, and existing-project merge import. Verify is local/offline and checks integrity plus compatibility; archives remain untrusted input until Core import verifies and stages them.
365
365
 
366
- The active project is sticky: `run402 projects use <id>` makes `<id>` the default for every subsequent `<id>`-taking subcommand, so most commands work without it.
366
+ The active project is sticky: `run402 projects use <id>` server-validates `<id>` and stores it as the default for subsequent `<id>`-taking subcommands, so most commands work without it. Local key material is managed separately under `run402 credentials project-keys ...`; that cache is never project inventory.
367
367
 
368
368
  ## MCP server — `run402-mcp`
369
369
 
@@ -564,7 +564,8 @@ The full MCP surface — every tool is a thin shim over an SDK call.
564
564
  | `check_balance` | USDC balance for an allowance address. |
565
565
  | `list_projects` | Named, domain-aware project inventory (name, site_url, custom_domains, org). Membership-scoped; supports `org_id` filter, `all` cross-wallet read, and pagination. |
566
566
  | `rename_project` | Rename a project to fix an auto-generated name (org admin / `project:write` grant). |
567
- | `project_info` / `project_keys` / `project_use` | Inspect / set the active project. |
567
+ | `project_get` / `project_use` | Server project detail and active-project selection. `project_use` validates through the server, then stores only an active id pointer. |
568
+ | `project_key_cache_status` / `project_key_cache_export` | Explicit local project-key cache tools. `status` is redacted; `export` requires `reveal: true` and emits cached secret key material. |
568
569
  | `create_checkout` | Org checkout for balance top-ups, tiers, or email packs. |
569
570
  | `send_message` | Send feedback to the Run402 team. |
570
571
  | `set_agent_contact` / `get_agent_contact_status` / `verify_agent_contact_email` | Register agent contact info, read assurance status, and start the operator email reply challenge. |
@@ -593,10 +594,11 @@ The full MCP surface — every tool is a thin shim over an SDK call.
593
594
 
594
595
  Local state lives at:
595
596
 
596
- - `~/.config/run402/projects.json` (`0600`) `{ projects: { <id>: { anon_key, service_key, tier, lease_expires_at } } }`
597
+ - profile `state.json` — active project pointer and profile state
598
+ - profile `credentials/project-keys.v1.json` (`0600`) — local anon/service key cache for explicit credential-required operations
597
599
  - `~/.config/run402/allowance.json` (`0600`) — wallet for x402 signing
598
600
 
599
- `anon_key` and `service_key` have no expiry — lease enforcement happens server-side. Rotate them by deleting the project and re-provisioning.
601
+ Legacy `projects.json` files are one-way migration input only. `anon_key` and `service_key` have no expiry — lease enforcement happens server-side. Inspect cache state with `run402 credentials project-keys status --project <id>` and export secrets only with `run402 credentials project-keys export --project <id> --reveal`.
600
602
 
601
603
  ## Development
602
604
 
@@ -45,6 +45,9 @@ export declare function getProfilesDir(): string;
45
45
  */
46
46
  export declare function getConfigDir(): string;
47
47
  export declare function getKeystorePath(): string;
48
+ export declare function getLegacyProjectsPath(): string;
49
+ export declare function getProjectCredentialsPath(): string;
50
+ export declare function getProfileStatePath(): string;
48
51
  export declare function getApiTargetConfigPath(): string;
49
52
  export declare function readApiTargetConfig(path?: string): ApiTargetConfig | null;
50
53
  export declare function saveApiTargetConfig(config: ApiTargetConfig, path?: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AAEzD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAoCD,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED,wBAAgB,gBAAgB,IAAI,KAAK,GAAG,SAAS,GAAG,SAAS,CAGhE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,eAAO,MAAM,eAAe,YAAY,CAAC;AASzC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAmBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAMzC;AAED,8DAA8D;AAC9D,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAIrC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAmBzE;AAeD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAGhF;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,YAAY,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACvF,eAAe,CAiBjB;AAED,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAKpD;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CAGhD;AAeD,wBAAgB,eAAe,IAAI,OAAO,CAQzC;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAoBzC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AAEzD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAoCD,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED,wBAAgB,gBAAgB,IAAI,KAAK,GAAG,SAAS,GAAG,SAAS,CAGhE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,eAAO,MAAM,eAAe,YAAY,CAAC;AASzC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAmBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAMzC;AAED,8DAA8D;AAC9D,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAIrC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAmBzE;AAeD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAGhF;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,YAAY,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACvF,eAAe,CAiBjB;AAED,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAKpD;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CAGhD;AAeD,wBAAgB,eAAe,IAAI,OAAO,CAQzC;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAoBzC"}
@@ -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 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -4,17 +4,25 @@ export interface StoredProject {
4
4
  site_url?: string;
5
5
  deployed_at?: string;
6
6
  last_deployment_id?: string;
7
+ cached_at?: string;
8
+ source?: string;
7
9
  }
8
10
  export interface KeyStore {
11
+ version?: 1;
12
+ source?: "local_cache";
9
13
  active_project_id?: string;
10
14
  previous_active_project_id?: string;
11
15
  projects: Record<string, StoredProject>;
16
+ migrated_from?: string;
17
+ migrated_at?: string;
12
18
  }
13
19
  /**
14
- * Load the keystore from disk.
15
- * Auto-migrates legacy formats:
20
+ * Load the project-key credential cache from disk.
21
+ * Auto-imports legacy `projects.json` formats into the new cache path when using
22
+ * the default location:
16
23
  * - Array format (CLI legacy): [{project_id, ...}] → {projects: {id: {...}}}
17
- * - Old field name: expires_atlease_expires_at
24
+ * - Object format: {active_project_id, projects} credentials cache + state.json
25
+ * - Old metadata fields: tier/expires_at/lease_expires_at are stripped
18
26
  */
19
27
  export declare function loadKeyStore(path?: string): KeyStore;
20
28
  export declare function saveKeyStore(store: KeyStore, path?: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"keystore.d.ts","sourceRoot":"","sources":["../src/keystore.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,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;CAC7B;AAED,MAAM,WAAW,QAAQ;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACzC;AA4BD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAuCpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CASjE;AAED,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,GACZ,aAAa,GAAG,SAAS,CAG3B;AAED,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI,CAON;AAED,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,EAC9B,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI,CAUN;AAED,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI,CAgBN;AAED,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGpE;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI,CAUN"}
1
+ {"version":3,"file":"keystore.d.ts","sourceRoot":"","sources":["../src/keystore.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,aAAa;IAC5B,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,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA2GD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAIpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAgBjE;AAED,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,GACZ,aAAa,GAAG,SAAS,CAG3B;AAED,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI,CAON;AAED,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,EAC9B,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI,CAUN;AAED,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI,CAQN;AAED,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEpE;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI,CAEN"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"keystore.js","sourceRoot":"","sources":["../src/keystore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keystore.js","sourceRoot":"","sources":["../src/keystore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export interface ActiveProjectScope {
2
+ api_base?: string;
3
+ principal?: string | null;
4
+ profile?: string;
5
+ }
6
+ export interface ActiveProjectState {
7
+ project_id: string;
8
+ previous_project_id?: string;
9
+ api_base: string;
10
+ principal?: string | null;
11
+ profile: string;
12
+ updated_at: string;
13
+ }
14
+ export interface ProfileState {
15
+ version?: 1;
16
+ active_project_id?: string;
17
+ previous_active_project_id?: string;
18
+ active_projects?: Record<string, ActiveProjectState>;
19
+ migrations?: Record<string, unknown>;
20
+ }
21
+ export declare function loadProfileState(path?: string): ProfileState;
22
+ export declare function saveProfileState(state: ProfileState, path?: string): void;
23
+ export declare function defaultActiveProjectScope(scope?: ActiveProjectScope): Required<Pick<ActiveProjectScope, "api_base" | "profile">> & Pick<ActiveProjectScope, "principal">;
24
+ export declare function activeProjectScopeKey(scope?: ActiveProjectScope): string;
25
+ export declare function getActiveProjectId(path?: string, scope?: ActiveProjectScope): string | undefined;
26
+ export declare function setActiveProjectId(projectId: string, path?: string, scope?: ActiveProjectScope): void;
27
+ export declare function clearActiveProjectId(projectId: string, path?: string, scope?: ActiveProjectScope): void;
28
+ export declare function recordMigration(marker: string, value: unknown, path?: string): void;
29
+ //# sourceMappingURL=profile-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-state.d.ts","sourceRoot":"","sources":["../src/profile-state.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AA4BD,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAS5D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAQzE;AAED,wBAAgB,yBAAyB,CAAC,KAAK,GAAE,kBAAuB,GAAG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAM5K;AAED,wBAAgB,qBAAqB,CAAC,KAAK,GAAE,kBAAuB,GAAG,MAAM,CAO5E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,kBAAuB,GAAG,MAAM,GAAG,SAAS,CAIpG;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,kBAAuB,GAAG,IAAI,CAsBzG;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,kBAAuB,GAAG,IAAI,CA4B3G;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAOnF"}
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-state.js","sourceRoot":"","sources":["../src/profile-state.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { getApiBase, getConfigDir, getKeystorePath, getAllowancePath, getActiveProfile, } from "../core/dist/config.js";
1
+ export { getApiBase, getConfigDir, getKeystorePath, getProjectCredentialsPath, getProfileStatePath, getLegacyProjectsPath, getAllowancePath, getActiveProfile, } from "../core/dist/config.js";
2
2
  export { readMeta } from "../core/dist/profiles.js";
3
3
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,eAAe,EACf,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC"}
package/dist/config.js CHANGED
@@ -1,3 +1,3 @@
1
- export { getApiBase, getConfigDir, getKeystorePath, getAllowancePath, getActiveProfile, } from "../core/dist/config.js";
1
+ export { getApiBase, getConfigDir, getKeystorePath, getProjectCredentialsPath, getProfileStatePath, getLegacyProjectsPath, getAllowancePath, getActiveProfile, } from "../core/dist/config.js";
2
2
  export { readMeta } from "../core/dist/profiles.js";
3
3
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,eAAe,EACf,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC"}