pulseed 0.4.7 → 0.4.8

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 (75) hide show
  1. package/dist/base/llm/provider-config.d.ts.map +1 -1
  2. package/dist/base/llm/provider-config.js +33 -8
  3. package/dist/base/llm/provider-config.js.map +1 -1
  4. package/dist/interface/cli/cli-command-registry.d.ts.map +1 -1
  5. package/dist/interface/cli/cli-command-registry.js +23 -3
  6. package/dist/interface/cli/cli-command-registry.js.map +1 -1
  7. package/dist/interface/cli/commands/approval.d.ts +3 -0
  8. package/dist/interface/cli/commands/approval.d.ts.map +1 -0
  9. package/dist/interface/cli/commands/approval.js +112 -0
  10. package/dist/interface/cli/commands/approval.js.map +1 -0
  11. package/dist/interface/cli/commands/daemon.d.ts.map +1 -1
  12. package/dist/interface/cli/commands/daemon.js +21 -7
  13. package/dist/interface/cli/commands/daemon.js.map +1 -1
  14. package/dist/interface/cli/commands/setup/import/apply.d.ts.map +1 -1
  15. package/dist/interface/cli/commands/setup/import/apply.js +86 -0
  16. package/dist/interface/cli/commands/setup/import/apply.js.map +1 -1
  17. package/dist/interface/cli/commands/setup/import/constants.d.ts +1 -1
  18. package/dist/interface/cli/commands/setup/import/constants.d.ts.map +1 -1
  19. package/dist/interface/cli/commands/setup/import/constants.js +5 -0
  20. package/dist/interface/cli/commands/setup/import/constants.js.map +1 -1
  21. package/dist/interface/cli/commands/setup/import/discovery.d.ts.map +1 -1
  22. package/dist/interface/cli/commands/setup/import/discovery.js +37 -6
  23. package/dist/interface/cli/commands/setup/import/discovery.js.map +1 -1
  24. package/dist/interface/cli/commands/setup/import/flow.d.ts.map +1 -1
  25. package/dist/interface/cli/commands/setup/import/flow.js +22 -4
  26. package/dist/interface/cli/commands/setup/import/flow.js.map +1 -1
  27. package/dist/interface/cli/commands/setup/import/fs-utils.d.ts +1 -0
  28. package/dist/interface/cli/commands/setup/import/fs-utils.d.ts.map +1 -1
  29. package/dist/interface/cli/commands/setup/import/fs-utils.js +27 -1
  30. package/dist/interface/cli/commands/setup/import/fs-utils.js.map +1 -1
  31. package/dist/interface/cli/commands/setup/import/mcp.d.ts.map +1 -1
  32. package/dist/interface/cli/commands/setup/import/mcp.js +3 -1
  33. package/dist/interface/cli/commands/setup/import/mcp.js.map +1 -1
  34. package/dist/interface/cli/commands/setup/import/provider.d.ts +3 -1
  35. package/dist/interface/cli/commands/setup/import/provider.d.ts.map +1 -1
  36. package/dist/interface/cli/commands/setup/import/provider.js +94 -5
  37. package/dist/interface/cli/commands/setup/import/provider.js.map +1 -1
  38. package/dist/interface/cli/commands/setup/import/telegram.d.ts +5 -0
  39. package/dist/interface/cli/commands/setup/import/telegram.d.ts.map +1 -0
  40. package/dist/interface/cli/commands/setup/import/telegram.js +109 -0
  41. package/dist/interface/cli/commands/setup/import/telegram.js.map +1 -0
  42. package/dist/interface/cli/commands/setup/import/types.d.ts +6 -1
  43. package/dist/interface/cli/commands/setup/import/types.d.ts.map +1 -1
  44. package/dist/interface/cli/commands/setup/steps-provider.d.ts +1 -1
  45. package/dist/interface/cli/commands/setup/steps-provider.d.ts.map +1 -1
  46. package/dist/interface/cli/commands/setup/steps-provider.js +57 -38
  47. package/dist/interface/cli/commands/setup/steps-provider.js.map +1 -1
  48. package/dist/interface/cli/commands/setup-wizard.d.ts.map +1 -1
  49. package/dist/interface/cli/commands/setup-wizard.js +44 -6
  50. package/dist/interface/cli/commands/setup-wizard.js.map +1 -1
  51. package/dist/interface/cli/commands/telegram.d.ts.map +1 -1
  52. package/dist/interface/cli/commands/telegram.js +22 -20
  53. package/dist/interface/cli/commands/telegram.js.map +1 -1
  54. package/dist/interface/cli/ensure-api-key.d.ts +3 -1
  55. package/dist/interface/cli/ensure-api-key.d.ts.map +1 -1
  56. package/dist/interface/cli/ensure-api-key.js +20 -13
  57. package/dist/interface/cli/ensure-api-key.js.map +1 -1
  58. package/dist/interface/cli/utils.d.ts.map +1 -1
  59. package/dist/interface/cli/utils.js +1 -0
  60. package/dist/interface/cli/utils.js.map +1 -1
  61. package/dist/runtime/store/runtime-schemas.d.ts +2 -2
  62. package/dist/runtime/types/envelope.d.ts +2 -2
  63. package/package.json +1 -1
  64. package/dist/adapters/agents/openclaw-acp.d.ts +0 -32
  65. package/dist/adapters/agents/openclaw-acp.d.ts.map +0 -1
  66. package/dist/adapters/agents/openclaw-acp.js +0 -212
  67. package/dist/adapters/agents/openclaw-acp.js.map +0 -1
  68. package/dist/adapters/datasources/openclaw-datasource.d.ts +0 -33
  69. package/dist/adapters/datasources/openclaw-datasource.d.ts.map +0 -1
  70. package/dist/adapters/datasources/openclaw-datasource.js +0 -176
  71. package/dist/adapters/datasources/openclaw-datasource.js.map +0 -1
  72. package/dist/orchestrator/knowledge/memory/memory-lifecycle.d.ts +0 -2
  73. package/dist/orchestrator/knowledge/memory/memory-lifecycle.d.ts.map +0 -1
  74. package/dist/orchestrator/knowledge/memory/memory-lifecycle.js +0 -2
  75. package/dist/orchestrator/knowledge/memory/memory-lifecycle.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import * as path from "node:path";
2
+ import { MODEL_REGISTRY } from "../../../../../base/llm/provider-config.js";
2
3
  import { PROVIDERS, getAdaptersForModel } from "../../setup-shared.js";
3
4
  import { SOURCE_LABELS } from "./constants.js";
4
5
  import { collectRecords, firstString, nestedRecord } from "./parse.js";
@@ -12,9 +13,14 @@ const PROVIDER_KEYS = [
12
13
  ];
13
14
  const MODEL_KEYS = ["model", "default_model", "defaultModel", "modelName"];
14
15
  const ADAPTER_KEYS = ["adapter", "default_adapter", "defaultAdapter", "backend", "terminalBackend"];
15
- const API_KEY_KEYS = ["api_key", "apiKey", "key", "token", "authToken"];
16
+ const API_KEY_KEYS = ["api_key", "apiKey", "openai_api_key", "anthropic_api_key", "OPENAI_API_KEY", "ANTHROPIC_API_KEY"];
16
17
  const BASE_URL_KEYS = ["base_url", "baseUrl", "baseURL", "endpoint", "api_base"];
17
18
  const CLI_PATH_KEYS = ["codex_cli_path", "codexCliPath", "cli_path", "cliPath"];
19
+ const PROVIDER_ENV_KEYS = {
20
+ openai: ["OPENAI_API_KEY"],
21
+ anthropic: ["ANTHROPIC_API_KEY"],
22
+ ollama: [],
23
+ };
18
24
  function normalizeProvider(value) {
19
25
  const normalized = value?.toLowerCase().trim();
20
26
  if (!normalized)
@@ -30,6 +36,30 @@ function normalizeProvider(value) {
30
36
  }
31
37
  return PROVIDERS.includes(normalized) ? normalized : undefined;
32
38
  }
39
+ function providerFromModel(model) {
40
+ if (!model)
41
+ return undefined;
42
+ const registered = MODEL_REGISTRY[model]?.provider;
43
+ if (registered && PROVIDERS.includes(registered))
44
+ return registered;
45
+ const lower = model.toLowerCase();
46
+ if (lower.startsWith("gpt-") || lower.startsWith("o3") || lower.startsWith("o4"))
47
+ return "openai";
48
+ if (lower.startsWith("claude-"))
49
+ return "anthropic";
50
+ return undefined;
51
+ }
52
+ function providerFromKnownMap(records) {
53
+ for (const record of records) {
54
+ const providers = nestedRecord(record, "providers");
55
+ if (!providers)
56
+ continue;
57
+ const keys = Object.keys(providers).map(normalizeProvider).filter(Boolean);
58
+ if (keys.length === 1)
59
+ return keys[0];
60
+ }
61
+ return undefined;
62
+ }
33
63
  function normalizeAdapter(value, provider, model) {
34
64
  const normalized = value?.toLowerCase().trim();
35
65
  const knownAdapters = [
@@ -78,6 +108,61 @@ function providerSection(records, provider) {
78
108
  }
79
109
  return undefined;
80
110
  }
111
+ function stringFromSecretRef(value, env) {
112
+ if (typeof value === "string" && value.trim()) {
113
+ const match = /^\$\{([A-Za-z_][A-Za-z0-9_]*)\}$/.exec(value.trim());
114
+ if (match)
115
+ return env[match[1]];
116
+ return value.trim();
117
+ }
118
+ if (!value || typeof value !== "object" || Array.isArray(value))
119
+ return undefined;
120
+ const record = value;
121
+ if (record["source"] === "env" && typeof record["id"] === "string") {
122
+ return env[record["id"]];
123
+ }
124
+ return undefined;
125
+ }
126
+ function firstSecretString(records, keys, env) {
127
+ for (const record of records) {
128
+ for (const key of keys) {
129
+ const value = stringFromSecretRef(record[key], env);
130
+ if (value)
131
+ return value;
132
+ }
133
+ }
134
+ return undefined;
135
+ }
136
+ function envFromConfig(records) {
137
+ const result = {};
138
+ for (const record of records) {
139
+ const env = nestedRecord(record, "env");
140
+ const vars = env ? nestedRecord(env, "vars") : undefined;
141
+ for (const source of [env, vars]) {
142
+ if (!source)
143
+ continue;
144
+ for (const [key, value] of Object.entries(source)) {
145
+ if (typeof value === "string")
146
+ result[key] = value;
147
+ }
148
+ }
149
+ }
150
+ return result;
151
+ }
152
+ function providerApiKey(provider, records, env) {
153
+ if (!provider)
154
+ return undefined;
155
+ const section = providerSection(records, provider);
156
+ const sectionKey = section ? firstSecretString([section], API_KEY_KEYS, env) : undefined;
157
+ if (sectionKey)
158
+ return sectionKey;
159
+ for (const key of PROVIDER_ENV_KEYS[provider]) {
160
+ if (env[key])
161
+ return env[key];
162
+ }
163
+ const root = records[0];
164
+ return root ? firstSecretString([root], API_KEY_KEYS, env) : undefined;
165
+ }
81
166
  function openclawSettings(records, model) {
82
167
  const cliPath = firstString(records, ["openclaw_cli_path", "openclawCliPath", "cli_path", "cliPath"]);
83
168
  const profile = firstString(records, ["profile", "openclawProfile"]);
@@ -91,16 +176,20 @@ function openclawSettings(records, model) {
91
176
  ...(workDir ? { work_dir: workDir } : {}),
92
177
  };
93
178
  }
94
- export function extractProviderSettings(raw, source) {
179
+ export function extractProviderSettings(raw, source, context = {}) {
95
180
  const records = collectRecords(raw);
96
181
  if (records.length === 0)
97
182
  return undefined;
98
- const provider = normalizeProvider(firstString(records, PROVIDER_KEYS));
183
+ const env = { ...envFromConfig(records), ...(context.env ?? {}) };
184
+ const initialModel = firstString(records, MODEL_KEYS);
185
+ const provider = normalizeProvider(firstString(records, PROVIDER_KEYS)) ??
186
+ providerFromModel(initialModel) ??
187
+ providerFromKnownMap(records);
99
188
  const section = providerSection(records, provider);
100
189
  const searchable = section ? [section, ...records] : records;
101
- const model = firstString(searchable, MODEL_KEYS);
190
+ const model = firstString(searchable, MODEL_KEYS) ?? initialModel;
102
191
  const adapter = normalizeAdapter(firstString(searchable, ADAPTER_KEYS), provider, model);
103
- const apiKey = firstString(searchable, API_KEY_KEYS);
192
+ const apiKey = providerApiKey(provider, searchable, env);
104
193
  const baseUrl = firstString(searchable, BASE_URL_KEYS);
105
194
  const codexCliPath = firstString(searchable, CLI_PATH_KEYS);
106
195
  const openclaw = source === "openclaw" ? openclawSettings(searchable, model) : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../../../src/interface/cli/commands/setup/import/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../../../src/interface/cli/commands/setup/import/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { SetupImportItem, SetupImportSourceId, SetupImportTelegramSettings } from "./types.js";
2
+ export declare function extractTelegramSettings(raw: unknown, env: Record<string, string>): SetupImportTelegramSettings | undefined;
3
+ export declare function telegramCredentialItems(source: SetupImportSourceId, rootDir: string): SetupImportItem[];
4
+ export declare function buildTelegramItem(source: SetupImportSourceId, configPath: string, settings: SetupImportTelegramSettings): SetupImportItem;
5
+ //# sourceMappingURL=telegram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telegram.d.ts","sourceRoot":"","sources":["../../../../../../src/interface/cli/commands/setup/import/telegram.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AA8CpG,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,2BAA2B,GAAG,SAAS,CAiBzC;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,MAAM,GACd,eAAe,EAAE,CAoBnB;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,2BAA2B,GACpC,eAAe,CAgBjB"}
@@ -0,0 +1,109 @@
1
+ import * as path from "node:path";
2
+ import { SOURCE_LABELS } from "./constants.js";
3
+ import { pathExists, readJson, safeImportName } from "./fs-utils.js";
4
+ import { collectRecords, isRecord, nestedRecord } from "./parse.js";
5
+ function secretString(value, env) {
6
+ if (typeof value === "string" && value.trim()) {
7
+ const match = /^\$\{([A-Za-z_][A-Za-z0-9_]*)\}$/.exec(value.trim());
8
+ if (match)
9
+ return env[match[1]];
10
+ return value.trim();
11
+ }
12
+ if (!isRecord(value))
13
+ return undefined;
14
+ if (value["source"] === "env" && typeof value["id"] === "string") {
15
+ return env[value["id"]];
16
+ }
17
+ return undefined;
18
+ }
19
+ function numberArray(value) {
20
+ if (!Array.isArray(value))
21
+ return undefined;
22
+ const numbers = value.flatMap((item) => {
23
+ if (typeof item === "number" && Number.isInteger(item))
24
+ return [item];
25
+ if (typeof item === "string") {
26
+ const parsed = parseInt(item, 10);
27
+ return Number.isInteger(parsed) ? [parsed] : [];
28
+ }
29
+ return [];
30
+ });
31
+ return numbers.length > 0 ? numbers : undefined;
32
+ }
33
+ function findTelegramRecord(records) {
34
+ for (const record of records) {
35
+ const channels = nestedRecord(record, "channels");
36
+ const telegram = channels ? nestedRecord(channels, "telegram") : undefined;
37
+ if (telegram)
38
+ return telegram;
39
+ const messaging = nestedRecord(record, "messaging");
40
+ const messagingTelegram = messaging ? nestedRecord(messaging, "telegram") : undefined;
41
+ if (messagingTelegram)
42
+ return messagingTelegram;
43
+ }
44
+ return undefined;
45
+ }
46
+ function findDefaultAccount(record) {
47
+ const accounts = record ? nestedRecord(record, "accounts") : undefined;
48
+ return accounts ? nestedRecord(accounts, "default") : undefined;
49
+ }
50
+ export function extractTelegramSettings(raw, env) {
51
+ const records = collectRecords(raw);
52
+ if (records.length === 0)
53
+ return undefined;
54
+ const telegram = findTelegramRecord(records);
55
+ const account = findDefaultAccount(telegram);
56
+ const searchable = [account, telegram].filter((item) => Boolean(item));
57
+ const botToken = searchable
58
+ .map((record) => secretString(record["botToken"] ?? record["bot_token"] ?? record["token"], env))
59
+ .find(Boolean);
60
+ const allowedUserIds = searchable
61
+ .map((record) => numberArray(record["allowFrom"] ?? record["allowedUserIds"] ?? record["allowed_user_ids"]))
62
+ .find(Boolean);
63
+ if (!botToken && !allowedUserIds)
64
+ return undefined;
65
+ return {
66
+ ...(botToken ? { botToken } : {}),
67
+ ...(allowedUserIds ? { allowedUserIds } : {}),
68
+ };
69
+ }
70
+ export function telegramCredentialItems(source, rootDir) {
71
+ const credentialPaths = [
72
+ path.join(rootDir, "credentials", "telegram-default-allowFrom.json"),
73
+ ].filter(pathExists);
74
+ return credentialPaths.flatMap((credentialPath) => {
75
+ const raw = readJson(credentialPath);
76
+ const allowedUserIds = isRecord(raw) ? numberArray(raw["allowFrom"] ?? raw["allowed_user_ids"]) : numberArray(raw);
77
+ if (!allowedUserIds)
78
+ return [];
79
+ return [{
80
+ id: `${source}:telegram:${safeImportName(path.basename(credentialPath))}`,
81
+ source,
82
+ sourceLabel: SOURCE_LABELS[source],
83
+ kind: "telegram",
84
+ label: "telegram allowed users",
85
+ sourcePath: credentialPath,
86
+ decision: "import",
87
+ reason: "Telegram allowed user IDs",
88
+ telegramSettings: { allowedUserIds },
89
+ }];
90
+ });
91
+ }
92
+ export function buildTelegramItem(source, configPath, settings) {
93
+ const label = [
94
+ settings.botToken ? "bot token" : undefined,
95
+ settings.allowedUserIds?.length ? `${settings.allowedUserIds.length} allowed user(s)` : undefined,
96
+ ].filter(Boolean).join(" / ");
97
+ return {
98
+ id: `${source}:telegram:${path.basename(configPath)}`,
99
+ source,
100
+ sourceLabel: SOURCE_LABELS[source],
101
+ kind: "telegram",
102
+ label: label || "telegram settings",
103
+ sourcePath: configPath,
104
+ decision: "import",
105
+ reason: "Telegram bot and allowed-user defaults",
106
+ telegramSettings: settings,
107
+ };
108
+ }
109
+ //# sourceMappingURL=telegram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../../../../../src/interface/cli/commands/setup/import/telegram.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { ProviderConfig } from "../../../../../base/llm/provider-config.js";
2
2
  import type { MCPServerConfig } from "../../../../../base/types/mcp.js";
3
3
  export type SetupImportSourceId = "hermes" | "openclaw";
4
- export type SetupImportItemKind = "provider" | "skill" | "mcp" | "plugin";
4
+ export type SetupImportItemKind = "provider" | "skill" | "mcp" | "plugin" | "telegram";
5
5
  export type SetupImportDecision = "import" | "copy_disabled" | "skip";
6
6
  export interface SetupImportProviderSettings {
7
7
  provider?: ProviderConfig["provider"];
@@ -12,6 +12,10 @@ export interface SetupImportProviderSettings {
12
12
  codexCliPath?: string;
13
13
  openclaw?: ProviderConfig["openclaw"];
14
14
  }
15
+ export interface SetupImportTelegramSettings {
16
+ botToken?: string;
17
+ allowedUserIds?: number[];
18
+ }
15
19
  export interface SetupImportItem {
16
20
  id: string;
17
21
  source: SetupImportSourceId;
@@ -22,6 +26,7 @@ export interface SetupImportItem {
22
26
  decision: SetupImportDecision;
23
27
  reason: string;
24
28
  providerSettings?: SetupImportProviderSettings;
29
+ telegramSettings?: SetupImportTelegramSettings;
25
30
  mcpServer?: MCPServerConfig;
26
31
  }
27
32
  export interface SetupImportSource {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/interface/cli/commands/setup/import/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAExE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAExD,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE1E,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,eAAe,GAAG,MAAM,CAAC;AAEtE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,mBAAmB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;IAC/C,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,mBAAmB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;CAChD;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,mBAAmB,CAAC;IAC5B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC;IACpE,KAAK,EAAE,sBAAsB,EAAE,CAAC;CACjC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/interface/cli/commands/setup/import/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAExE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAExD,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEvF,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,eAAe,GAAG,MAAM,CAAC;AAEtE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,mBAAmB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;IAC/C,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;IAC/C,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,mBAAmB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;CAChD;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,mBAAmB,CAAC;IAC5B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC;IACpE,KAAK,EAAE,sBAAsB,EAAE,CAAC;CACjC"}
@@ -4,5 +4,5 @@ export declare function stepRootPreset(initialPreset?: RootPresetKey): Promise<R
4
4
  export declare function stepProvider(initialProvider?: Provider): Promise<Provider>;
5
5
  export declare function stepModel(provider: Provider, initialModel?: string): Promise<string>;
6
6
  export declare function runCodexOAuthLogin(): Promise<string | undefined>;
7
- export declare function stepApiKey(provider: Provider, detectedKeys: Record<string, boolean>, existingApiKey?: string): Promise<string | undefined>;
7
+ export declare function stepApiKey(provider: Provider, detectedKeys: Record<string, boolean>, existingApiKey?: string, adapter?: string): Promise<string | undefined>;
8
8
  //# sourceMappingURL=steps-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"steps-provider.d.ts","sourceRoot":"","sources":["../../../../../src/interface/cli/commands/setup/steps-provider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAShE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD,wBAAsB,cAAc,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAyB1F;AAED,wBAAsB,YAAY,CAAC,eAAe,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAsBhF;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+C1F;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8BtE;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkF7B"}
1
+ {"version":3,"file":"steps-provider.d.ts","sourceRoot":"","sources":["../../../../../src/interface/cli/commands/setup/steps-provider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAShE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD,wBAAsB,cAAc,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAyB1F;AAED,wBAAsB,YAAY,CAAC,eAAe,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAsBhF;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+C1F;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8BtE;AAYD,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAyF7B"}
@@ -117,15 +117,58 @@ export async function runCodexOAuthLogin() {
117
117
  p.log.error("Codex CLI not found. Install with: npm install -g @openai/codex");
118
118
  return undefined;
119
119
  }
120
- export async function stepApiKey(provider, detectedKeys, existingApiKey) {
120
+ function isLikelyCodexOAuthToken(value) {
121
+ if (!value)
122
+ return false;
123
+ const trimmed = value.trim();
124
+ return trimmed.startsWith("eyJ") && trimmed.split(".").length >= 3;
125
+ }
126
+ function requiresOpenAIApiKey(provider, adapter) {
127
+ return provider === "openai" && adapter !== "openai_codex_cli";
128
+ }
129
+ export async function stepApiKey(provider, detectedKeys, existingApiKey, adapter) {
121
130
  const envKeyName = ENV_KEY_NAMES[provider];
122
131
  if (!envKeyName)
123
132
  return undefined;
133
+ if (provider === "openai" && adapter === "openai_codex_cli") {
134
+ const existingToken = await readCodexOAuthToken();
135
+ if (existingToken) {
136
+ p.log.info("Using existing Codex CLI OAuth login. No OpenAI API key will be saved.");
137
+ return undefined;
138
+ }
139
+ const authChoice = guardCancel(await p.select({
140
+ message: "Codex CLI authentication:",
141
+ options: [
142
+ {
143
+ value: "login",
144
+ label: "Login with OAuth (opens browser via Codex CLI)",
145
+ hint: "recommended for OpenAI Codex CLI adapter",
146
+ },
147
+ {
148
+ value: "skip",
149
+ label: "Skip for now",
150
+ hint: "run `codex login` before using this adapter",
151
+ },
152
+ ],
153
+ initialValue: "login",
154
+ }));
155
+ if (authChoice === "login") {
156
+ await runCodexOAuthLogin();
157
+ }
158
+ return undefined;
159
+ }
124
160
  if (detectedKeys[provider]) {
125
- p.log.info(`Using ${envKeyName} from environment.`);
126
- return process.env[envKeyName];
161
+ const envValue = process.env[envKeyName];
162
+ if (requiresOpenAIApiKey(provider, adapter) && isLikelyCodexOAuthToken(envValue)) {
163
+ p.log.warn(`${envKeyName} appears to contain a Codex OAuth token, not an OpenAI API key.`);
164
+ }
165
+ else {
166
+ p.log.info(`Using ${envKeyName} from environment.`);
167
+ return envValue;
168
+ }
127
169
  }
128
- if (existingApiKey) {
170
+ const canKeepExisting = existingApiKey && !(requiresOpenAIApiKey(provider, adapter) && isLikelyCodexOAuthToken(existingApiKey));
171
+ if (canKeepExisting) {
129
172
  const keyChoice = guardCancel(await p.select({
130
173
  message: `${envKeyName} is already configured. What should setup do?`,
131
174
  options: [
@@ -144,43 +187,19 @@ export async function stepApiKey(provider, detectedKeys, existingApiKey) {
144
187
  if (keyChoice === "keep")
145
188
  return existingApiKey;
146
189
  }
147
- if (provider === "openai") {
148
- const existingToken = await readCodexOAuthToken();
149
- const oauthOptions = [
150
- {
151
- value: "login",
152
- label: "Login with OAuth (opens browser via Codex CLI)",
153
- hint: "runs npx @openai/codex login",
154
- },
155
- ];
156
- if (existingToken) {
157
- oauthOptions.push({
158
- value: "oauth",
159
- label: "Use existing OAuth token",
160
- hint: "from previous Codex CLI login",
161
- });
162
- }
163
- oauthOptions.push({
164
- value: "manual",
165
- label: "Enter API key manually",
166
- });
167
- const authMethod = guardCancel(await p.select({
168
- message: "Select authentication method:",
169
- options: oauthOptions,
170
- }));
171
- if (authMethod === "login") {
172
- const token = await runCodexOAuthLogin();
173
- if (token)
174
- return token;
175
- p.log.info("Falling back to manual API key entry.");
176
- }
177
- else if (authMethod === "oauth" && existingToken) {
178
- return existingToken;
179
- }
190
+ else if (existingApiKey && requiresOpenAIApiKey(provider, adapter)) {
191
+ p.log.warn("Existing OpenAI auth looks like a Codex OAuth token and cannot be used for the OpenAI API adapter.");
180
192
  }
181
193
  const key = guardCancel(await p.password({
182
194
  message: `Enter ${envKeyName}:`,
183
- validate: (value) => (!value ? "API key is required" : undefined),
195
+ validate: (value) => {
196
+ if (!value)
197
+ return "API key is required";
198
+ if (requiresOpenAIApiKey(provider, adapter) && isLikelyCodexOAuthToken(value)) {
199
+ return "Codex OAuth tokens cannot call OpenAI API endpoints. Enter an OpenAI API key instead.";
200
+ }
201
+ return undefined;
202
+ },
184
203
  }));
185
204
  if (!key) {
186
205
  p.log.warn(`No API key provided. Set ${envKeyName} before running PulSeed.`);
@@ -1 +1 @@
1
- {"version":3,"file":"steps-provider.js","sourceRoot":"","sources":["../../../../../src/interface/cli/commands/setup/steps-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"steps-provider.js","sourceRoot":"","sources":["../../../../../src/interface/cli/commands/setup/steps-provider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../../../../src/interface/cli/commands/setup-wizard.ts"],"names":[],"mappings":"AAyNA,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAqOtD"}
1
+ {"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../../../../src/interface/cli/commands/setup-wizard.ts"],"names":[],"mappings":"AA+PA,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAqOtD"}
@@ -72,7 +72,9 @@ async function stepExecutionConfig(current) {
72
72
  if (!adapter)
73
73
  return { provider, model, adapter, apiKey: current?.apiKey };
74
74
  const detectedKeys = detectApiKeys();
75
- const apiKey = current?.provider === provider ? await stepApiKey(provider, detectedKeys, current.apiKey) : await stepApiKey(provider, detectedKeys);
75
+ const apiKey = current?.provider === provider
76
+ ? await stepApiKey(provider, detectedKeys, current.apiKey, adapter)
77
+ : await stepApiKey(provider, detectedKeys, undefined, adapter);
76
78
  return { provider, model, adapter, apiKey };
77
79
  }
78
80
  async function stepIdentityConfig(current) {
@@ -113,9 +115,45 @@ async function validateAndSaveProviderConfig(config) {
113
115
  }
114
116
  return 1;
115
117
  }
116
- await saveProviderConfig(config);
118
+ const fileConfig = { ...config };
119
+ const apiKey = fileConfig.api_key;
120
+ delete fileConfig.api_key;
121
+ await saveProviderConfig(fileConfig);
122
+ if (apiKey) {
123
+ saveProviderApiKeyToEnv(config.provider, apiKey);
124
+ }
117
125
  return undefined;
118
126
  }
127
+ function saveProviderApiKeyToEnv(provider, apiKey) {
128
+ const envKey = provider === "openai"
129
+ ? "OPENAI_API_KEY"
130
+ : provider === "anthropic"
131
+ ? "ANTHROPIC_API_KEY"
132
+ : undefined;
133
+ if (!envKey)
134
+ return;
135
+ const dir = ensurePulseedDir();
136
+ const envPath = path.join(dir, ".env");
137
+ let lines = [];
138
+ try {
139
+ lines = fs.readFileSync(envPath, "utf-8").split(/\r?\n/);
140
+ }
141
+ catch {
142
+ lines = [];
143
+ }
144
+ const replacement = `${envKey}=${apiKey}`;
145
+ let replaced = false;
146
+ lines = lines.map((line) => {
147
+ if (line.startsWith(`${envKey}=`)) {
148
+ replaced = true;
149
+ return replacement;
150
+ }
151
+ return line;
152
+ }).filter((line, index, all) => line || index < all.length - 1);
153
+ if (!replaced)
154
+ lines.push(replacement);
155
+ fs.writeFileSync(envPath, `${lines.join("\n")}\n`, "utf-8");
156
+ }
119
157
  async function startDaemonDetached(baseDir) {
120
158
  const scriptPath = process.argv[1];
121
159
  if (!scriptPath) {
@@ -320,7 +358,7 @@ export async function runSetupWizard() {
320
358
  fs.writeFileSync(daemonConfigPath, JSON.stringify(existing, null, 2), "utf-8");
321
359
  }
322
360
  catch {
323
- p.log.warn("Could not save daemon port to daemon.json");
361
+ p.log.warn("Setup saved, but could not save daemon port to daemon.json");
324
362
  }
325
363
  p.log.info("Daemon port " + finalAnswers.daemonPort + " saved. Start it later with pulseed daemon start or pulseed start --goal <goal-id>.");
326
364
  }
@@ -331,7 +369,7 @@ export async function runSetupWizard() {
331
369
  fs.writeFileSync(notifPath, JSON.stringify(finalAnswers.notificationConfig, null, 2));
332
370
  }
333
371
  catch (err) {
334
- p.log.warn(`Could not save notification config: ${err}`);
372
+ p.log.warn(`Setup saved, but could not save notification config: ${err}`);
335
373
  }
336
374
  }
337
375
  if (importSelection) {
@@ -343,7 +381,7 @@ export async function runSetupWizard() {
343
381
  (failedCount > 0 ? ` (${failedCount} failed; see import report).` : "."));
344
382
  }
345
383
  catch (err) {
346
- p.log.warn(`Configuration saved, but import side effects failed: ${err instanceof Error ? err.message : String(err)}`);
384
+ p.log.warn(`Setup saved, but import side effects failed: ${err instanceof Error ? err.message : String(err)}`);
347
385
  }
348
386
  }
349
387
  if (finalAnswers.startDaemon) {
@@ -352,7 +390,7 @@ export async function runSetupWizard() {
352
390
  }
353
391
  catch (err) {
354
392
  const message = err instanceof Error ? err.message : String(err);
355
- p.log.warn(`Configuration saved, but daemon/gateway did not start: ${message}. ` +
393
+ p.log.warn(`Setup saved, but daemon/gateway did not start: ${message}. ` +
356
394
  "Run `pulseed daemon start --detach` to try again.");
357
395
  }
358
396
  }