poe-code 3.0.71 → 3.0.72-beta.2

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 (61) hide show
  1. package/dist/cli/commands/auth.d.ts +3 -0
  2. package/dist/cli/commands/auth.js +102 -0
  3. package/dist/cli/commands/auth.js.map +1 -0
  4. package/dist/cli/commands/configure.js +2 -2
  5. package/dist/cli/commands/configure.js.map +1 -1
  6. package/dist/cli/commands/ensure-isolated-config.js +1 -1
  7. package/dist/cli/commands/ensure-isolated-config.js.map +1 -1
  8. package/dist/cli/commands/generate.js +5 -2
  9. package/dist/cli/commands/generate.js.map +1 -1
  10. package/dist/cli/commands/login.d.ts +1 -0
  11. package/dist/cli/commands/login.js +57 -36
  12. package/dist/cli/commands/login.js.map +1 -1
  13. package/dist/cli/commands/logout.d.ts +1 -0
  14. package/dist/cli/commands/logout.js +32 -29
  15. package/dist/cli/commands/logout.js.map +1 -1
  16. package/dist/cli/commands/mcp.js +4 -12
  17. package/dist/cli/commands/mcp.js.map +1 -1
  18. package/dist/cli/commands/models.js +1 -5
  19. package/dist/cli/commands/models.js.map +1 -1
  20. package/dist/cli/commands/research.js +2 -2
  21. package/dist/cli/commands/research.js.map +1 -1
  22. package/dist/cli/commands/spawn.js +2 -2
  23. package/dist/cli/commands/spawn.js.map +1 -1
  24. package/dist/cli/commands/test.js +1 -1
  25. package/dist/cli/commands/test.js.map +1 -1
  26. package/dist/cli/commands/unconfigure.js +2 -2
  27. package/dist/cli/commands/unconfigure.js.map +1 -1
  28. package/dist/cli/commands/wrap.js +1 -0
  29. package/dist/cli/commands/wrap.js.map +1 -1
  30. package/dist/cli/container.d.ts +2 -0
  31. package/dist/cli/container.js +29 -11
  32. package/dist/cli/container.js.map +1 -1
  33. package/dist/cli/environment.d.ts +2 -2
  34. package/dist/cli/environment.js +4 -4
  35. package/dist/cli/environment.js.map +1 -1
  36. package/dist/cli/isolated-env-runner.d.ts +1 -0
  37. package/dist/cli/isolated-env-runner.js +2 -2
  38. package/dist/cli/isolated-env-runner.js.map +1 -1
  39. package/dist/cli/isolated-env.d.ts +2 -2
  40. package/dist/cli/isolated-env.js +15 -17
  41. package/dist/cli/isolated-env.js.map +1 -1
  42. package/dist/cli/poe-code-command-runner.js +2 -2
  43. package/dist/cli/poe-code-command-runner.js.map +1 -1
  44. package/dist/cli/program.js +13 -6
  45. package/dist/cli/program.js.map +1 -1
  46. package/dist/index.js +1187 -611
  47. package/dist/index.js.map +4 -4
  48. package/dist/sdk/container.js +27 -11
  49. package/dist/sdk/container.js.map +1 -1
  50. package/dist/sdk/credentials.d.ts +1 -1
  51. package/dist/sdk/credentials.js +6 -19
  52. package/dist/sdk/credentials.js.map +1 -1
  53. package/dist/services/client-instance.d.ts +1 -3
  54. package/dist/services/client-instance.js +1 -11
  55. package/dist/services/client-instance.js.map +1 -1
  56. package/dist/services/config.d.ts +24 -0
  57. package/dist/services/{credentials.js → config.js} +34 -21
  58. package/dist/services/config.js.map +1 -0
  59. package/package.json +2 -1
  60. package/dist/services/credentials.d.ts +0 -24
  61. package/dist/services/credentials.js.map +0 -1
@@ -10,8 +10,8 @@ import { ErrorLogger } from "../cli/error-logger.js";
10
10
  import { runCommand } from "@poe-code/agent-spawn";
11
11
  import { getDefaultProviders } from "../providers/index.js";
12
12
  import { createPoeCodeCommandRunner } from "../cli/poe-code-command-runner.js";
13
- import { loadCredentials, saveCredentials } from "../services/credentials.js";
14
13
  import * as nodeFsSync from "node:fs";
14
+ import { createAuthStore } from "@poe-code/auth";
15
15
  /**
16
16
  * Creates a lightweight container for SDK usage.
17
17
  * Uses real file system and command runner.
@@ -57,6 +57,27 @@ export function createSdkContainer(options) {
57
57
  chmod: (path, mode) => fs.chmod(path, mode)
58
58
  };
59
59
  const contextFactory = createCommandContextFactory({ fs: asyncFs });
60
+ const authFs = {
61
+ readFile: (filePath, encoding) => fs.readFile(filePath, encoding),
62
+ writeFile: (filePath, data, options) => fs.writeFile(filePath, data, options),
63
+ mkdir: (directoryPath, options) => fs.mkdir(directoryPath, options).then(() => undefined),
64
+ unlink: (filePath) => fs.unlink(filePath),
65
+ chmod: (filePath, mode) => fs.chmod(filePath, mode)
66
+ };
67
+ const { store: authStore } = createAuthStore({
68
+ env: variables,
69
+ platform: process.platform,
70
+ fileStore: {
71
+ fs: authFs,
72
+ getHomeDirectory: () => homeDir
73
+ },
74
+ legacyCredentials: {
75
+ fs: authFs,
76
+ getHomeDirectory: () => homeDir
77
+ }
78
+ });
79
+ const readApiKey = authStore.getApiKey.bind(authStore);
80
+ const writeApiKey = authStore.setApiKey.bind(authStore);
60
81
  // No-op prompts for SDK (non-interactive)
61
82
  const noopPrompts = async () => {
62
83
  throw new Error("SDK does not support interactive prompts");
@@ -66,15 +87,8 @@ export function createSdkContainer(options) {
66
87
  prompts: noopPrompts,
67
88
  promptLibrary,
68
89
  apiKeyStore: {
69
- read: () => loadCredentials({
70
- fs: asyncFs,
71
- filePath: environment.credentialsPath
72
- }),
73
- write: (value) => saveCredentials({
74
- fs: asyncFs,
75
- filePath: environment.credentialsPath,
76
- apiKey: value
77
- })
90
+ read: readApiKey,
91
+ write: writeApiKey
78
92
  },
79
93
  confirm: async () => true
80
94
  });
@@ -121,7 +135,9 @@ export function createSdkContainer(options) {
121
135
  platform: process.platform,
122
136
  variables
123
137
  }
124
- }
138
+ },
139
+ readApiKey,
140
+ writeApiKey
125
141
  };
126
142
  return container;
127
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/sdk/container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAG9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EACL,eAAe,EACf,eAAe,EAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,UAAU,MAAM,SAAS,CAAC;AAatC;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAA6B;IAC9D,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IACpD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;IAE1C,MAAM,WAAW,GAAG,oBAAoB,CAAC;QACvC,GAAG;QACH,OAAO;QACP,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS;KACV,CAAC,CAAC;IAEH,gDAAgD;IAChD,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAEzD,mCAAmC;IACnC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;QAClC,EAAE,EAAE,UAAiB;QACrB,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC;IACH,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAE1C,mCAAmC;IACnC,MAAM,OAAO,GAAe;QAC1B,QAAQ,EAAE,CAAC,CAAC,IAAY,EAAE,QAAyB,EAAE,EAAE;YACrD,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAA2B;QAC5B,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAC9B,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QAChC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;QAC1D,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7B,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACrC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;QACjC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACnC,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;QAC/C,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;KAC5C,CAAC;IAEF,MAAM,cAAc,GAAG,2BAA2B,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAEpE,0CAA0C;IAC1C,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;IAE5C,MAAM,eAAe,GAAG,qBAAqB,CAAC;QAC5C,OAAO,EAAE,WAAW;QACpB,aAAa;QACb,WAAW,EAAE;YACX,IAAI,EAAE,GAAG,EAAE,CACT,eAAe,CAAC;gBACd,EAAE,EAAE,OAAO;gBACX,QAAQ,EAAE,WAAW,CAAC,eAAe;aACtC,CAAC;YACJ,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,eAAe,CAAC;gBACd,EAAE,EAAE,OAAO;gBACX,QAAQ,EAAE,WAAW,CAAC,eAAe;gBACrC,MAAM,EAAE,KAAK;aACd,CAAC;SACL;QACD,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;KAC1B,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IAEzC,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC,MAAM,CAC5C,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAC/B,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAChC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC;IAE9B,uCAAuC;IACvC,IAAI,SAAS,GAAiB,IAA+B,CAAC;IAC9D,MAAM,aAAa,GAAG,0BAA0B,CAAC;QAC/C,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS;QAC7B,UAAU;KACX,CAAC,CAAC;IAEH,iCAAiC;IACjC,MAAM,UAAU,GAAG,KAAK,EAAE,GAAW,EAAE,IAAkB,EAAE,EAAE;QAC3D,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnD,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE;SAC5B,CAAC;IACJ,CAAC,CAAC;IAEF,SAAS,GAAG;QACV,GAAG,EAAE,WAAW;QAChB,EAAE,EAAE,OAAO;QACX,OAAO,EAAE,WAAW;QACpB,aAAa;QACb,aAAa;QACb,WAAW;QACX,OAAO,EAAE,eAAe;QACxB,cAAc;QACd,QAAQ;QACR,UAAU;QACV,aAAa,EAAE,aAAa;QAC5B,SAAS;QACT,YAAY,EAAE;YACZ,EAAE,EAAE,OAAO;YACX,OAAO,EAAE,WAAW;YACpB,GAAG,EAAE;gBACH,GAAG;gBACH,OAAO;gBACP,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,SAAS;aACV;SACF;KACF,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/sdk/container.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Reads the Poe API key with the following priority:
3
3
  * 1. `POE_API_KEY` environment variable (if set)
4
- * 2. Credentials file (`~/.poe-code/credentials.json`)
4
+ * 2. Auth store (`@poe-code/auth`)
5
5
  *
6
6
  * @returns The API key
7
7
  * @throws Error if no credentials found
@@ -1,11 +1,8 @@
1
- import * as fs from "node:fs/promises";
2
- import * as os from "node:os";
3
- import * as path from "node:path";
4
- const CREDENTIALS_RELATIVE_PATH = ".poe-code/credentials.json";
1
+ import { createAuthStore } from "@poe-code/auth";
5
2
  /**
6
3
  * Reads the Poe API key with the following priority:
7
4
  * 1. `POE_API_KEY` environment variable (if set)
8
- * 2. Credentials file (`~/.poe-code/credentials.json`)
5
+ * 2. Auth store (`@poe-code/auth`)
9
6
  *
10
7
  * @returns The API key
11
8
  * @throws Error if no credentials found
@@ -15,20 +12,10 @@ export async function getPoeApiKey() {
15
12
  if (typeof envKey === "string" && envKey.trim().length > 0) {
16
13
  return envKey.trim();
17
14
  }
18
- const homeDir = os.homedir();
19
- const credentialsPath = path.join(homeDir, CREDENTIALS_RELATIVE_PATH);
20
- try {
21
- const content = await fs.readFile(credentialsPath, "utf8");
22
- const parsed = JSON.parse(content);
23
- if (typeof parsed === "object" &&
24
- parsed !== null &&
25
- typeof parsed.apiKey === "string" &&
26
- parsed.apiKey.length > 0) {
27
- return parsed.apiKey;
28
- }
29
- }
30
- catch {
31
- // File doesn't exist or is invalid
15
+ const { store } = createAuthStore();
16
+ const storedKey = await store.getApiKey();
17
+ if (typeof storedKey === "string" && storedKey.trim().length > 0) {
18
+ return storedKey.trim();
32
19
  }
33
20
  throw new Error("No API key found. Set POE_API_KEY or run 'poe-code login'.");
34
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/sdk/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,yBAAyB,GAAG,4BAA4B,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACvC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAEtE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,IACE,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,KAAK,IAAI;YACf,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;YACjC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EACxB,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,mCAAmC;IACrC,CAAC;IAED,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/sdk/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACvC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;IAE1C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;AACJ,CAAC"}
@@ -1,12 +1,10 @@
1
- import type { FileSystem } from "../utils/file-system.js";
2
1
  import type { HttpClient } from "../cli/http.js";
3
2
  import type { LlmClient } from "./llm-client.js";
4
3
  export declare function setGlobalClient(client: LlmClient): void;
5
4
  export declare function getGlobalClient(): LlmClient;
6
5
  export declare function hasGlobalClient(): boolean;
7
6
  export declare function initializeClient(options: {
8
- fs: FileSystem;
9
- credentialsPath: string;
7
+ apiKey: string;
10
8
  baseUrl: string;
11
9
  httpClient?: HttpClient;
12
10
  }): Promise<void>;
@@ -1,5 +1,3 @@
1
- import { AuthenticationError } from "../cli/errors.js";
2
- import { loadCredentials } from "./credentials.js";
3
1
  import { createPoeClient } from "./llm-client.js";
4
2
  let globalClient = null;
5
3
  export function setGlobalClient(client) {
@@ -15,19 +13,11 @@ export function hasGlobalClient() {
15
13
  return globalClient !== null;
16
14
  }
17
15
  export async function initializeClient(options) {
18
- // Don't reinitialize if a client is already set (e.g., in tests)
19
16
  if (globalClient !== null) {
20
17
  return;
21
18
  }
22
- const apiKey = await loadCredentials({
23
- fs: options.fs,
24
- filePath: options.credentialsPath
25
- });
26
- if (!apiKey) {
27
- throw new AuthenticationError("Poe API key not found. Run 'poe-code login' first.");
28
- }
29
19
  const client = createPoeClient({
30
- apiKey,
20
+ apiKey: options.apiKey,
31
21
  baseUrl: options.baseUrl,
32
22
  httpClient: options.httpClient
33
23
  });
@@ -1 +1 @@
1
- {"version":3,"file":"client-instance.js","sourceRoot":"","sources":["../../src/services/client-instance.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,IAAI,YAAY,GAAqB,IAAI,CAAC;AAE1C,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,YAAY,GAAG,MAAM,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,YAAY,KAAK,IAAI,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAKtC;IACC,iEAAiE;IACjE,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;QACnC,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,QAAQ,EAAE,OAAO,CAAC,eAAe;KAClC,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,mBAAmB,CAC3B,oDAAoD,CACrD,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC;QAC7B,MAAM;QACN,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC,CAAC;IAEH,eAAe,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"client-instance.js","sourceRoot":"","sources":["../../src/services/client-instance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,IAAI,YAAY,GAAqB,IAAI,CAAC;AAE1C,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,YAAY,GAAG,MAAM,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,YAAY,KAAK,IAAI,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAItC;IACC,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC;QAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC,CAAC;IAEH,eAAe,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { FileSystem } from "../utils/file-system.js";
2
+ export interface ConfigStoreOptions {
3
+ fs: FileSystem;
4
+ filePath: string;
5
+ }
6
+ export interface SaveConfigOptions extends ConfigStoreOptions {
7
+ apiKey: string;
8
+ }
9
+ export interface ConfiguredServiceMetadata {
10
+ files: string[];
11
+ }
12
+ export interface SaveConfiguredServiceOptions extends ConfigStoreOptions {
13
+ service: string;
14
+ metadata: ConfiguredServiceMetadata;
15
+ }
16
+ export interface UnconfigureServiceOptions extends ConfigStoreOptions {
17
+ service: string;
18
+ }
19
+ export declare function saveConfig(options: SaveConfigOptions): Promise<void>;
20
+ export declare function loadConfig(options: ConfigStoreOptions): Promise<string | null>;
21
+ export declare function deleteConfig(options: ConfigStoreOptions): Promise<boolean>;
22
+ export declare function loadConfiguredServices(options: ConfigStoreOptions): Promise<Record<string, ConfiguredServiceMetadata>>;
23
+ export declare function saveConfiguredService(options: SaveConfiguredServiceOptions): Promise<void>;
24
+ export declare function unconfigureService(options: UnconfigureServiceOptions): Promise<boolean>;
@@ -1,19 +1,19 @@
1
1
  import path from "node:path";
2
2
  import { isNotFound } from "@poe-code/config-mutations";
3
- export async function saveCredentials(options) {
3
+ export async function saveConfig(options) {
4
4
  const { fs, filePath, apiKey } = options;
5
- const document = await readCredentialsDocument(fs, filePath);
5
+ const document = await readConfigDocument(fs, filePath);
6
6
  document.apiKey = apiKey;
7
- await writeCredentialsDocument(fs, filePath, document);
7
+ await writeConfigDocument(fs, filePath, document);
8
8
  }
9
- export async function loadCredentials(options) {
9
+ export async function loadConfig(options) {
10
10
  const { fs, filePath } = options;
11
- const document = await readCredentialsDocument(fs, filePath);
11
+ const document = await readConfigDocument(fs, filePath);
12
12
  return typeof document.apiKey === "string" && document.apiKey.length > 0
13
13
  ? document.apiKey
14
14
  : null;
15
15
  }
16
- export async function deleteCredentials(options) {
16
+ export async function deleteConfig(options) {
17
17
  const { fs, filePath } = options;
18
18
  try {
19
19
  await fs.unlink(filePath);
@@ -28,22 +28,22 @@ export async function deleteCredentials(options) {
28
28
  }
29
29
  export async function loadConfiguredServices(options) {
30
30
  const { fs, filePath } = options;
31
- const document = await readCredentialsDocument(fs, filePath);
31
+ const document = await readConfigDocument(fs, filePath);
32
32
  return { ...(document.configured_services ?? {}) };
33
33
  }
34
34
  export async function saveConfiguredService(options) {
35
35
  const { fs, filePath, service, metadata } = options;
36
- const document = await readCredentialsDocument(fs, filePath);
36
+ const document = await readConfigDocument(fs, filePath);
37
37
  const normalized = normalizeConfiguredServiceMetadata(metadata);
38
38
  document.configured_services = {
39
39
  ...(document.configured_services ?? {}),
40
40
  [service]: normalized
41
41
  };
42
- await writeCredentialsDocument(fs, filePath, document);
42
+ await writeConfigDocument(fs, filePath, document);
43
43
  }
44
44
  export async function unconfigureService(options) {
45
45
  const { fs, filePath, service } = options;
46
- const document = await readCredentialsDocument(fs, filePath);
46
+ const document = await readConfigDocument(fs, filePath);
47
47
  const services = document.configured_services;
48
48
  if (!services || !(service in services)) {
49
49
  return false;
@@ -52,7 +52,7 @@ export async function unconfigureService(options) {
52
52
  if (Object.keys(services).length === 0) {
53
53
  delete document.configured_services;
54
54
  }
55
- await writeCredentialsDocument(fs, filePath, document);
55
+ await writeConfigDocument(fs, filePath, document);
56
56
  return true;
57
57
  }
58
58
  function normalizeConfiguredServiceMetadata(metadata) {
@@ -71,32 +71,45 @@ function normalizeConfiguredServiceMetadata(metadata) {
71
71
  files
72
72
  };
73
73
  }
74
- async function readCredentialsDocument(fs, filePath) {
74
+ async function readConfigDocument(fs, filePath) {
75
75
  try {
76
76
  const raw = await fs.readFile(filePath, "utf8");
77
- return await parseCredentialsDocument(fs, filePath, raw);
77
+ return await parseConfigDocument(fs, filePath, raw);
78
78
  }
79
79
  catch (error) {
80
80
  if (isNotFound(error)) {
81
- return {};
81
+ return migrateLegacyCredentialsFile(fs, filePath);
82
82
  }
83
83
  throw error;
84
84
  }
85
85
  }
86
- async function parseCredentialsDocument(fs, filePath, raw) {
86
+ async function migrateLegacyCredentialsFile(fs, configPath) {
87
+ const legacyPath = path.join(path.dirname(configPath), "credentials.json");
88
+ try {
89
+ const raw = await fs.readFile(legacyPath, "utf8");
90
+ const document = await parseConfigDocument(fs, legacyPath, raw);
91
+ await writeConfigDocument(fs, configPath, document);
92
+ await fs.unlink(legacyPath);
93
+ return document;
94
+ }
95
+ catch {
96
+ return {};
97
+ }
98
+ }
99
+ async function parseConfigDocument(fs, filePath, raw) {
87
100
  try {
88
101
  const parsed = JSON.parse(raw);
89
- return normalizeCredentialsDocument(parsed);
102
+ return normalizeConfigDocument(parsed);
90
103
  }
91
104
  catch (error) {
92
105
  if (error instanceof SyntaxError) {
93
- await recoverInvalidCredentials(fs, filePath, raw);
106
+ await recoverInvalidConfig(fs, filePath, raw);
94
107
  return {};
95
108
  }
96
109
  throw error;
97
110
  }
98
111
  }
99
- function normalizeCredentialsDocument(value) {
112
+ function normalizeConfigDocument(value) {
100
113
  if (!isRecord(value)) {
101
114
  return {};
102
115
  }
@@ -126,7 +139,7 @@ function normalizeConfiguredServices(value) {
126
139
  }
127
140
  return entries;
128
141
  }
129
- async function writeCredentialsDocument(fs, filePath, document) {
142
+ async function writeConfigDocument(fs, filePath, document) {
130
143
  await fs.mkdir(path.dirname(filePath), { recursive: true });
131
144
  const payload = {};
132
145
  if (document.apiKey) {
@@ -139,7 +152,7 @@ async function writeCredentialsDocument(fs, filePath, document) {
139
152
  encoding: "utf8"
140
153
  });
141
154
  }
142
- async function recoverInvalidCredentials(fs, filePath, content) {
155
+ async function recoverInvalidConfig(fs, filePath, content) {
143
156
  const backupPath = createInvalidBackupPath(filePath);
144
157
  await fs.writeFile(backupPath, content, { encoding: "utf8" });
145
158
  await fs.writeFile(filePath, EMPTY_DOCUMENT, { encoding: "utf8" });
@@ -154,4 +167,4 @@ function isRecord(value) {
154
167
  return Boolean(value && typeof value === "object" && !Array.isArray(value));
155
168
  }
156
169
  const EMPTY_DOCUMENT = `${JSON.stringify({}, null, 2)}\n`;
157
- //# sourceMappingURL=credentials.js.map
170
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "poe-code",
3
- "version": "3.0.71",
3
+ "version": "3.0.72-beta.2",
4
4
  "description": "CLI tool to configure Poe API for developer workflows.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -82,6 +82,7 @@
82
82
  "devDependencies": {
83
83
  "@eslint/js": "^9.0.0",
84
84
  "@modelcontextprotocol/sdk": "^1.26.0",
85
+ "@poe-code/auth": "*",
85
86
  "@poe-code/agent-spawn": "*",
86
87
  "@poe-code/config-mutations": "*",
87
88
  "@poe-code/design-system": "*",
@@ -1,24 +0,0 @@
1
- import type { FileSystem } from "../utils/file-system.js";
2
- export interface CredentialsStoreOptions {
3
- fs: FileSystem;
4
- filePath: string;
5
- }
6
- export interface SaveCredentialsOptions extends CredentialsStoreOptions {
7
- apiKey: string;
8
- }
9
- export interface ConfiguredServiceMetadata {
10
- files: string[];
11
- }
12
- export interface SaveConfiguredServiceOptions extends CredentialsStoreOptions {
13
- service: string;
14
- metadata: ConfiguredServiceMetadata;
15
- }
16
- export interface UnconfigureServiceOptions extends CredentialsStoreOptions {
17
- service: string;
18
- }
19
- export declare function saveCredentials(options: SaveCredentialsOptions): Promise<void>;
20
- export declare function loadCredentials(options: CredentialsStoreOptions): Promise<string | null>;
21
- export declare function deleteCredentials(options: CredentialsStoreOptions): Promise<boolean>;
22
- export declare function loadConfiguredServices(options: CredentialsStoreOptions): Promise<Record<string, ConfiguredServiceMetadata>>;
23
- export declare function saveConfiguredService(options: SaveConfiguredServiceOptions): Promise<void>;
24
- export declare function unconfigureService(options: UnconfigureServiceOptions): Promise<boolean>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/services/credentials.ts"],"names":[],"mappings":"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"}