@functional-systems/lambdadb-cli 0.1.6 → 0.1.7-dev.24

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 (49) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/CONTRIBUTING.md +29 -0
  3. package/DESIGN.md +9 -3
  4. package/ONBOARDING.md +417 -0
  5. package/README.md +390 -138
  6. package/dist/account.d.ts +50 -0
  7. package/dist/account.js +301 -0
  8. package/dist/account.js.map +1 -0
  9. package/dist/agent-config.d.ts +4 -3
  10. package/dist/agent-config.js +12 -5
  11. package/dist/agent-config.js.map +1 -1
  12. package/dist/agents.d.ts +3 -3
  13. package/dist/agents.js +8 -8
  14. package/dist/agents.js.map +1 -1
  15. package/dist/cli.js +44 -6
  16. package/dist/cli.js.map +1 -1
  17. package/dist/config.d.ts +10 -4
  18. package/dist/config.js +43 -6
  19. package/dist/config.js.map +1 -1
  20. package/dist/credentials.d.ts +29 -0
  21. package/dist/credentials.js +116 -0
  22. package/dist/credentials.js.map +1 -0
  23. package/dist/device-auth.d.ts +16 -0
  24. package/dist/device-auth.js +160 -0
  25. package/dist/device-auth.js.map +1 -0
  26. package/dist/errors.d.ts +7 -0
  27. package/dist/errors.js +35 -1
  28. package/dist/errors.js.map +1 -1
  29. package/dist/init.d.ts +5 -2
  30. package/dist/init.js +50 -31
  31. package/dist/init.js.map +1 -1
  32. package/dist/mcp.js +8 -1
  33. package/dist/mcp.js.map +1 -1
  34. package/dist/projects.d.ts +29 -0
  35. package/dist/projects.js +323 -0
  36. package/dist/projects.js.map +1 -0
  37. package/package.json +7 -2
  38. package/skills/lambdadb/SKILL.md +9 -6
  39. package/src/account.ts +351 -0
  40. package/src/agent-config.ts +14 -8
  41. package/src/agents.ts +8 -8
  42. package/src/cli.ts +46 -6
  43. package/src/config.ts +43 -10
  44. package/src/credentials.ts +138 -0
  45. package/src/device-auth.ts +200 -0
  46. package/src/errors.ts +31 -2
  47. package/src/init.ts +42 -29
  48. package/src/mcp.ts +7 -1
  49. package/src/projects.ts +439 -0
@@ -0,0 +1,50 @@
1
+ import { type Options } from './config.js';
2
+ import { CredentialVault, type CredentialReference } from './credentials.js';
3
+ import type { Output } from './output.js';
4
+ export type AccountOptions = Options & {
5
+ apiUrl?: string;
6
+ browser?: boolean;
7
+ signal?: AbortSignal;
8
+ };
9
+ export type Account = CredentialReference & {
10
+ apiUrl: string;
11
+ consoleUrl: string;
12
+ memberId: string;
13
+ email: string;
14
+ expiresAt: string;
15
+ };
16
+ export declare const accountVault: () => CredentialVault;
17
+ export declare const accountPath: (options: Options) => Promise<string>;
18
+ export declare const accountTarget: (a: Account) => {
19
+ endpoint: string;
20
+ project: string;
21
+ credentialStore: import("./credentials.js").CredentialStore;
22
+ credentialId: string;
23
+ apiUrl: string;
24
+ consoleUrl: string;
25
+ memberId: string;
26
+ email: string;
27
+ expiresAt: string;
28
+ };
29
+ export declare function readOptional(path: string): Promise<string | undefined>;
30
+ export declare function writeMetadata(path: string, value: unknown, before: string | undefined): Promise<void>;
31
+ export declare function withManagementLock<T>(options: Options, action: () => Promise<T>): Promise<T>;
32
+ export declare function loadAccount(options: AccountOptions): Promise<Account>;
33
+ export declare function accountRequest(account: Account, token: string, path: string, method?: string, body?: object, org?: string, signal?: AbortSignal, requestTimeoutMs?: number): Promise<Record<string, unknown>>;
34
+ export type Organization = {
35
+ id: string;
36
+ name: string;
37
+ role: string;
38
+ plan: string;
39
+ max_projects: number;
40
+ projects_count: number;
41
+ billing_url: string;
42
+ can_upgrade: boolean;
43
+ };
44
+ export declare function parseOrganization(value: unknown, a: Account): Organization;
45
+ export declare function management(options: AccountOptions, output: Output): Promise<{
46
+ account: Account;
47
+ request: (path: string, method?: string, body?: object, org?: string) => Promise<Record<string, unknown>>;
48
+ }>;
49
+ export declare function login(options: AccountOptions, output: Output, vault?: CredentialVault): Promise<Account>;
50
+ export declare function logout(options: AccountOptions, output: Output, vault?: CredentialVault): Promise<void>;
@@ -0,0 +1,301 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { mkdir, readFile, writeFile, rename, rm, open } from 'node:fs/promises';
3
+ import { dirname } from 'node:path';
4
+ import { configPath, endpoint, fileIdentity, timeoutMs } from './config.js';
5
+ import { CredentialVault, credentialReference } from './credentials.js';
6
+ import { authorizeAccount } from './device-auth.js';
7
+ import { InputError, ManagementError } from './errors.js';
8
+ export const accountVault = () => new CredentialVault(undefined, process.platform, 'account');
9
+ export const accountPath = async (options) => `${await fileIdentity(configPath(options))}.account.json`;
10
+ export const accountTarget = (a) => ({ ...a, endpoint: a.apiUrl, project: 'account' });
11
+ export async function readOptional(path) {
12
+ try {
13
+ return await readFile(path, 'utf8');
14
+ }
15
+ catch (error) {
16
+ if (error.code === 'ENOENT')
17
+ return undefined;
18
+ throw new InputError(`Cannot read ${path}. Check file permissions.`);
19
+ }
20
+ }
21
+ export async function writeMetadata(path, value, before) {
22
+ const destination = await fileIdentity(path);
23
+ if ((await readOptional(path)) !== before)
24
+ throw new InputError(`Configuration changed: ${path}. Retry after reviewing it.`);
25
+ const temp = `${destination}.${randomUUID()}.tmp`;
26
+ try {
27
+ await mkdir(dirname(destination), { recursive: true, mode: 0o700 });
28
+ await writeFile(temp, JSON.stringify(value, null, 2) + '\n', { flag: 'wx', mode: 0o600 });
29
+ await rename(temp, destination);
30
+ }
31
+ finally {
32
+ await rm(temp, { force: true }).catch(() => { });
33
+ }
34
+ }
35
+ export async function withManagementLock(options, action) {
36
+ const path = `${await fileIdentity(configPath(options))}.management.lock`;
37
+ await mkdir(dirname(path), { recursive: true, mode: 0o700 });
38
+ let handle;
39
+ try {
40
+ handle = await open(path, 'wx', 0o600);
41
+ }
42
+ catch {
43
+ throw new InputError(`Another management operation may be running. After confirming it has stopped, remove ${path} and retry.`);
44
+ }
45
+ try {
46
+ await handle.writeFile(String(process.pid));
47
+ return await action();
48
+ }
49
+ finally {
50
+ await handle.close();
51
+ await rm(path, { force: true });
52
+ }
53
+ }
54
+ function parseAccount(text) {
55
+ let a;
56
+ try {
57
+ a = JSON.parse(text);
58
+ credentialReference(a.credentialStore, a.credentialId);
59
+ if (Object.keys(a).some((k) => ![
60
+ 'apiUrl',
61
+ 'consoleUrl',
62
+ 'memberId',
63
+ 'email',
64
+ 'expiresAt',
65
+ 'credentialStore',
66
+ 'credentialId',
67
+ ].includes(k)) ||
68
+ typeof a.memberId !== 'string' ||
69
+ !/^[0-9a-f-]{36}$/.test(a.memberId) ||
70
+ typeof a.email !== 'string' ||
71
+ typeof a.expiresAt !== 'string' ||
72
+ !Number.isFinite(Date.parse(a.expiresAt)))
73
+ throw new Error();
74
+ if (endpoint(a.apiUrl) !== a.apiUrl || endpoint(a.consoleUrl) !== a.consoleUrl)
75
+ throw new Error();
76
+ }
77
+ catch {
78
+ throw new InputError('Invalid account metadata. Never store tokens in configuration; restore the file or run login.');
79
+ }
80
+ return a;
81
+ }
82
+ export async function loadAccount(options) {
83
+ const text = await readOptional(await accountPath(options));
84
+ if (!text)
85
+ throw new InputError('Run lambdadb login first. Project-key environment setup remains available without account login.');
86
+ const a = parseAccount(text);
87
+ if (options.apiUrl && endpoint(options.apiUrl) !== a.apiUrl)
88
+ throw new InputError('This login belongs to a different API origin. Run login with --api-url for that server.');
89
+ if (Date.parse(a.expiresAt) <= Date.now())
90
+ throw new InputError('CLI login expired. Run lambdadb login again; existing project connections are preserved.');
91
+ return a;
92
+ }
93
+ export async function accountRequest(account, token, path, method = 'GET', body, org, signal, requestTimeoutMs = 30_000) {
94
+ let response;
95
+ let value;
96
+ try {
97
+ response = await fetch(`${account.apiUrl}/auth/cli/${path}`, {
98
+ method,
99
+ redirect: 'error',
100
+ headers: {
101
+ Authorization: `Bearer ${token}`,
102
+ 'Content-Type': 'application/json',
103
+ ...(org ? { 'X-Organization-ID': org } : {}),
104
+ },
105
+ ...(body ? { body: JSON.stringify(body) } : {}),
106
+ signal: signal ? AbortSignal.any([signal, AbortSignal.timeout(requestTimeoutMs)]) : AbortSignal.timeout(requestTimeoutMs),
107
+ });
108
+ if (response.status === 204)
109
+ return {};
110
+ const reader = response.body?.getReader();
111
+ if (!reader)
112
+ throw new Error();
113
+ const chunks = [];
114
+ let size = 0;
115
+ try {
116
+ for (;;) {
117
+ const next = await reader.read();
118
+ if (next.done)
119
+ break;
120
+ size += next.value.length;
121
+ if (size > 2_000_000)
122
+ throw new Error();
123
+ chunks.push(next.value);
124
+ }
125
+ }
126
+ finally {
127
+ await reader.cancel().catch(() => { });
128
+ }
129
+ value = JSON.parse(Buffer.concat(chunks).toString('utf8'));
130
+ if (!value || typeof value !== 'object' || Array.isArray(value))
131
+ throw new Error();
132
+ }
133
+ catch {
134
+ // A rejection remains definite without a JSON body. A connect conflict may
135
+ // represent an already claimed issuance, whose result cannot be recovered.
136
+ const status = response?.status;
137
+ if (status !== undefined && status >= 400 && status < 500 && status !== 408 &&
138
+ !(path === 'connect' && status === 409)) {
139
+ throw new ManagementError('management_request_failed', status);
140
+ }
141
+ throw new ManagementError(method === 'GET' ? 'management_unavailable' : 'write_outcome_unknown', status);
142
+ }
143
+ if (!response.ok) {
144
+ const known = [
145
+ 'login_required',
146
+ 'access_denied',
147
+ 'project_limit_reached',
148
+ 'issuance_unconfirmed',
149
+ 'project_not_ready_or_forbidden',
150
+ 'project_request_rejected',
151
+ ];
152
+ const code = method !== 'GET' && (response.status >= 500 || response.status === 408) && value.error !== 'issuance_unconfirmed'
153
+ ? 'write_outcome_unknown'
154
+ : typeof value.error === 'string' && known.includes(value.error)
155
+ ? value.error
156
+ : 'management_request_failed';
157
+ // Only a small allowlist of non-secret fields may reach diagnostics.
158
+ const details = {};
159
+ if (typeof value.invitation_id === 'string' && /^[0-9a-f-]{36}$/.test(value.invitation_id)) {
160
+ details.invitation_id = value.invitation_id;
161
+ details.invitation_url = `${account.consoleUrl}/invites/${value.invitation_id}`;
162
+ }
163
+ if (code === 'project_limit_reached')
164
+ details.organization = parseOrganization(value.organization, account);
165
+ throw new ManagementError(code, response.status, details);
166
+ }
167
+ return value;
168
+ }
169
+ export function parseOrganization(value, a) {
170
+ const v = value;
171
+ if (!v ||
172
+ typeof v.id !== 'string' ||
173
+ !/^[0-9a-f-]{36}$/.test(v.id) ||
174
+ typeof v.name !== 'string' ||
175
+ !['owner', 'admin', 'member'].includes(v.role) ||
176
+ typeof v.plan !== 'string' ||
177
+ !Number.isInteger(v.max_projects) ||
178
+ v.max_projects < 0 ||
179
+ !Number.isInteger(v.projects_count) ||
180
+ v.projects_count < 0)
181
+ throw new InputError('Invalid Organization response. Check server compatibility.');
182
+ return {
183
+ id: v.id,
184
+ name: v.name,
185
+ role: v.role,
186
+ plan: v.plan,
187
+ max_projects: v.max_projects,
188
+ projects_count: v.projects_count,
189
+ billing_url: `${a.consoleUrl}/organization/billing/open?org_id=${encodeURIComponent(v.id)}`,
190
+ can_upgrade: v.role === 'owner',
191
+ };
192
+ }
193
+ export async function management(options, output) {
194
+ const requestTimeoutMs = timeoutMs(options);
195
+ const account = await loadAccount(options);
196
+ let token;
197
+ try {
198
+ token = await accountVault().read(accountTarget(account));
199
+ }
200
+ catch {
201
+ throw new InputError('Cannot read the CLI account session. Unlock the recorded OS store or run login explicitly. No account credential is forwarded to MCP.');
202
+ }
203
+ output.protect(token);
204
+ return {
205
+ account,
206
+ request: (path, method = 'GET', body, org) => accountRequest(account, token, path, method, body, org, options.signal, requestTimeoutMs),
207
+ };
208
+ }
209
+ export async function login(options, output, vault = accountVault()) {
210
+ const requestTimeoutMs = timeoutMs(options);
211
+ return withManagementLock(options, async () => {
212
+ const path = await accountPath(options), before = await readOptional(path);
213
+ let previousOrigin;
214
+ if (before) {
215
+ try {
216
+ previousOrigin = parseAccount(before).apiUrl;
217
+ }
218
+ catch {
219
+ /* Explicit login can replace malformed non-secret metadata. */
220
+ }
221
+ }
222
+ const apiUrl = endpoint(options.apiUrl ?? previousOrigin ?? 'https://api.lambdadb.ai');
223
+ const store = await vault.select(options.credentialStore ?? 'auto');
224
+ output.diagnostic(`Account session: ${store}; non-secret metadata: ${path}. Login lasts up to seven days. Project credentials are separate.`);
225
+ if (store === 'keyutils')
226
+ output.diagnostic('Kernel credentials can expire or disappear after reboot. Run login again explicitly if unavailable.');
227
+ const cancellation = new AbortController();
228
+ const cancel = () => cancellation.abort();
229
+ process.once('SIGINT', cancel);
230
+ process.once('SIGTERM', cancel);
231
+ try {
232
+ const granted = await authorizeAccount(apiUrl, options.browser !== false, output, options.signal ? AbortSignal.any([options.signal, cancellation.signal]) : cancellation.signal, requestTimeoutMs);
233
+ const account = {
234
+ apiUrl,
235
+ consoleUrl: granted.consoleUrl,
236
+ memberId: granted.memberId,
237
+ email: granted.email,
238
+ expiresAt: granted.expiresAt,
239
+ credentialStore: store,
240
+ credentialId: randomUUID(),
241
+ };
242
+ try {
243
+ await vault.save(accountTarget(account), granted.token);
244
+ await writeMetadata(path, account, before);
245
+ }
246
+ catch (error) {
247
+ await accountRequest(account, granted.token, 'logout', 'POST', {}, undefined, options.signal, requestTimeoutMs).catch(() => output.diagnostic('Server-session cleanup could not be confirmed; it expires within seven days.'));
248
+ await vault.remove(accountTarget(account)).catch(() => { });
249
+ throw error;
250
+ }
251
+ if (before) {
252
+ // Retire only a parseable previous account slot after the replacement is durable.
253
+ try {
254
+ const old = parseAccount(before);
255
+ const token = await vault.read(accountTarget(old));
256
+ output.protect(token);
257
+ await revokeAccount(old, token, options);
258
+ await vault.remove(accountTarget(old));
259
+ }
260
+ catch {
261
+ output.diagnostic('Previous login cleanup could not be confirmed. It expires within seven days; project keys are unaffected.');
262
+ }
263
+ }
264
+ return account;
265
+ }
266
+ finally {
267
+ process.removeListener('SIGINT', cancel);
268
+ process.removeListener('SIGTERM', cancel);
269
+ }
270
+ });
271
+ }
272
+ export async function logout(options, output, vault = accountVault()) {
273
+ timeoutMs(options);
274
+ return withManagementLock(options, async () => {
275
+ const path = await accountPath(options), before = await readOptional(path);
276
+ if (!before)
277
+ return;
278
+ // Expired sessions may still be removed locally, without opening a browser.
279
+ const account = parseAccount(before);
280
+ if (options.apiUrl && endpoint(options.apiUrl) !== account.apiUrl)
281
+ throw new InputError('The account belongs to another API origin.');
282
+ const token = await vault.read(accountTarget(account));
283
+ output.protect(token);
284
+ await revokeAccount(account, token, options);
285
+ await vault.remove(accountTarget(account));
286
+ if ((await readOptional(path)) !== before)
287
+ throw new InputError('Account metadata changed. Review it before removing it.');
288
+ await rm(await fileIdentity(path));
289
+ });
290
+ }
291
+ async function revokeAccount(account, token, options) {
292
+ try {
293
+ await accountRequest(account, token, 'logout', 'POST', {}, undefined, options.signal, timeoutMs(options));
294
+ }
295
+ catch (error) {
296
+ // An expired or already revoked session is safe to remove locally.
297
+ if (!(error instanceof ManagementError && error.status === 401))
298
+ throw error;
299
+ }
300
+ }
301
+ //# sourceMappingURL=account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../src/account.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import type { Settings } from './config.js';
1
+ import type { SelectedSettings } from './config.js';
2
2
  export type McpLaunch = {
3
3
  command: string;
4
4
  args: string[];
5
- apiKeyEnv: string;
5
+ apiKeyEnv?: string;
6
+ runtimeEnv?: string[];
6
7
  };
7
8
  type Server = {
8
9
  command: string | string[];
@@ -14,7 +15,7 @@ type Server = {
14
15
  };
15
16
  type ServerFactory = (launch: McpLaunch) => Server;
16
17
  type JsonMapPath = readonly string[] | ((value: Record<string, unknown>) => readonly string[]);
17
- export declare function mcpLaunch(selected: Required<Settings>, writeTools: boolean, cliVersion: string): McpLaunch;
18
+ export declare function mcpLaunch(selected: SelectedSettings, writeTools: boolean, cliVersion: string): McpLaunch;
18
19
  export declare function jsonConfig(path: string, text: string | undefined, launch: McpLaunch, createServer: ServerFactory, mapPath?: JsonMapPath): string;
19
20
  export declare function strictJsonConfig(path: string, text: string | undefined, launch: McpLaunch, createServer: ServerFactory, mapPath?: JsonMapPath): string;
20
21
  export declare function tomlConfig(path: string, text: string | undefined, launch: McpLaunch, createServer: ServerFactory): string;
@@ -1,12 +1,16 @@
1
1
  import { applyEdits, modify, parse as parseJson } from 'jsonc-parser';
2
2
  import { parse as parseToml } from 'smol-toml';
3
+ import { credentialReference } from './credentials.js';
3
4
  import { InputError } from './errors.js';
4
5
  const begin = '# BEGIN lambdadb init';
5
6
  const end = '# END lambdadb init';
6
7
  export function mcpLaunch(selected, writeTools, cliVersion) {
7
- return { command: 'npx', apiKeyEnv: selected.apiKeyEnv,
8
+ const stored = selected.credentialStore ? credentialReference(selected.credentialStore, selected.credentialId) : undefined;
9
+ return { command: 'npx', apiKeyEnv: selected.credentialStore ? undefined : selected.apiKeyEnv,
10
+ runtimeEnv: selected.credentialStore === 'secret-service' ? ['DBUS_SESSION_BUS_ADDRESS', 'XDG_RUNTIME_DIR'] : [],
8
11
  args: ['-y', `@functional-systems/lambdadb-cli@${cliVersion}`, 'mcp',
9
- '--endpoint', selected.endpoint, '--project', selected.project, '--api-key-env', selected.apiKeyEnv,
12
+ '--endpoint', selected.endpoint, '--project', selected.project,
13
+ ...(stored ? ['--credential-store', stored.credentialStore, '--credential-id', stored.credentialId] : ['--api-key-env', selected.apiKeyEnv]),
10
14
  ...(writeTools ? ['--write-tools'] : [])] };
11
15
  }
12
16
  function object(value) {
@@ -22,10 +26,13 @@ function managedServer(value, createServer) {
22
26
  if (command !== 'npx' || !Array.isArray(a))
23
27
  return false;
24
28
  if (a.some(v => typeof v !== 'string') || !/^@functional-systems\/lambdadb-cli@[\w.+-]+$/.test(a[1] ?? '')
25
- || a[0] !== '-y' || a[2] !== 'mcp' || a[3] !== '--endpoint' || a[5] !== '--project'
26
- || a[7] !== '--api-key-env' || ![9, 10].includes(a.length) || (a.length === 10 && a[9] !== '--write-tools'))
29
+ || a[0] !== '-y' || a[2] !== 'mcp' || a[3] !== '--endpoint' || a[5] !== '--project')
27
30
  return false;
28
- const expected = createServer({ command: 'npx', args: a, apiKeyEnv: a[8] });
31
+ const stored = a[7] === '--credential-store' && ['keychain', 'windows', 'secret-service', 'keyutils'].includes(a[8]) && a[9] === '--credential-id';
32
+ const length = stored ? 11 : 9;
33
+ if ((!stored && a[7] !== '--api-key-env') || ![length, length + 1].includes(a.length) || (a.length > length && a[length] !== '--write-tools'))
34
+ return false;
35
+ const expected = createServer({ command: 'npx', args: a, apiKeyEnv: stored ? undefined : a[8], runtimeEnv: stored && a[8] === 'secret-service' ? ['DBUS_SESSION_BUS_ADDRESS', 'XDG_RUNTIME_DIR'] : [] });
29
36
  return Object.keys(value).length === Object.keys(expected).length
30
37
  && Object.entries(expected).every(([key, item]) => JSON.stringify(value[key]) === JSON.stringify(item));
31
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-config.js","sourceRoot":"","sources":["../src/agent-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-config.js","sourceRoot":"","sources":["../src/agent-config.ts"],"names":[],"mappings":"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"}
package/dist/agents.d.ts CHANGED
@@ -84,7 +84,7 @@ export declare const agentAdapters: readonly [{
84
84
  readonly detectionDirectories: (context: AgentContext) => string[];
85
85
  readonly paths: typeof copilotPaths;
86
86
  readonly configure: (path: string, text: string | undefined, launch: McpLaunch) => string;
87
- readonly instructions: "GitHub Copilot CLI: restart from the environment holding the selected key, trust the repository, then check /mcp and run /skills reload. Project MCP settings override user settings.";
87
+ readonly instructions: "GitHub Copilot CLI: restart with the configured credential source available, trust the repository, then check /mcp and run /skills reload. Project MCP settings override user settings.";
88
88
  }, {
89
89
  readonly id: "kiro";
90
90
  readonly executable: readonly ["kiro", "kiro-cli"];
@@ -94,7 +94,7 @@ export declare const agentAdapters: readonly [{
94
94
  skill: string;
95
95
  };
96
96
  readonly configure: (path: string, text: string | undefined, launch: McpLaunch) => string;
97
- readonly instructions: "Kiro IDE/CLI: restart from the environment holding the selected key and check /mcp. Approve the selected variable in Mcp Approved Env Vars when prompted. Custom agents must include the MCP JSON and skill resources; init does not alter agent permissions or definitions.";
97
+ readonly instructions: "Kiro IDE/CLI: restart with the configured credential source available and check /mcp. For environment mode, approve the selected variable in Mcp Approved Env Vars when prompted. Custom agents must include the MCP JSON and skill resources; init does not alter agent permissions or definitions.";
98
98
  }, {
99
99
  readonly id: "cline";
100
100
  readonly executable: readonly [];
@@ -105,7 +105,7 @@ export declare const agentAdapters: readonly [{
105
105
  skill: string;
106
106
  };
107
107
  readonly configure: (path: string, text: string | undefined, launch: McpLaunch) => string;
108
- readonly instructions: "Cline VS Code extension: reload VS Code from the environment holding the selected key and check MCP Servers and the Skills menu. Init targets the default stable VS Code profile, not Cline CLI or other editors/profiles. No tools are auto-approved.";
108
+ readonly instructions: "Cline VS Code extension: reload VS Code with the configured credential source available and check MCP Servers and the Skills menu. Init targets the default stable VS Code profile, not Cline CLI or other editors/profiles. No tools are auto-approved.";
109
109
  }];
110
110
  export type Agent = typeof agentAdapters[number]['id'];
111
111
  export declare const agentNames: string;
package/dist/agents.js CHANGED
@@ -3,18 +3,18 @@ import { constants } from 'node:fs';
3
3
  import { delimiter, join, resolve } from 'node:path';
4
4
  import { jsonConfig, strictJsonConfig, tomlConfig } from './agent-config.js';
5
5
  import { InputError } from './errors.js';
6
- const codexServer = ({ command, args, apiKeyEnv }) => ({ command, args, env_vars: [apiKeyEnv] });
6
+ const codexServer = ({ command, args, apiKeyEnv, runtimeEnv }) => ({ command, args, env_vars: apiKeyEnv ? [apiKeyEnv] : runtimeEnv ?? [] });
7
7
  const claudeServer = ({ command, args, apiKeyEnv }) => ({
8
- type: 'stdio', command, args, env: { [apiKeyEnv]: `\${${apiKeyEnv}}` },
8
+ type: 'stdio', command, args, env: apiKeyEnv ? { [apiKeyEnv]: `\${${apiKeyEnv}}` } : {},
9
9
  });
10
10
  const cursorServer = ({ command, args, apiKeyEnv }) => ({
11
- type: 'stdio', command, args, env: { [apiKeyEnv]: `\${env:${apiKeyEnv}}` },
11
+ type: 'stdio', command, args, env: apiKeyEnv ? { [apiKeyEnv]: `\${env:${apiKeyEnv}}` } : {},
12
12
  });
13
13
  const geminiServer = ({ command, args, apiKeyEnv }) => ({
14
- command, args, env: { [apiKeyEnv]: `\${${apiKeyEnv}}` },
14
+ command, args, env: apiKeyEnv ? { [apiKeyEnv]: `\${${apiKeyEnv}}` } : {},
15
15
  });
16
16
  const opencodeServer = ({ command, args, apiKeyEnv }) => ({
17
- type: 'local', command: [command, ...args], environment: { [apiKeyEnv]: `{env:${apiKeyEnv}}` },
17
+ type: 'local', command: [command, ...args], environment: apiKeyEnv ? { [apiKeyEnv]: `{env:${apiKeyEnv}}` } : {},
18
18
  });
19
19
  function vscodeUserDirectory({ cwd, home, env, platform = process.platform }) {
20
20
  if (env.VSCODE_PORTABLE)
@@ -146,7 +146,7 @@ export const agentAdapters = [
146
146
  detectionDirectories: context => [copilotDirectory(context), join(context.cwd, '.github', 'mcp.json')],
147
147
  paths: copilotPaths,
148
148
  configure: (path, text, launch) => strictJsonConfig(path, text, launch, claudeServer, copilotMapPath),
149
- instructions: 'GitHub Copilot CLI: restart from the environment holding the selected key, trust the repository, then check /mcp and run /skills reload. Project MCP settings override user settings.',
149
+ instructions: 'GitHub Copilot CLI: restart with the configured credential source available, trust the repository, then check /mcp and run /skills reload. Project MCP settings override user settings.',
150
150
  },
151
151
  {
152
152
  id: 'kiro', executable: ['kiro', 'kiro-cli'],
@@ -156,7 +156,7 @@ export const agentAdapters = [
156
156
  return { mcp: join(directory, 'settings', 'mcp.json'), skill: join(directory, 'skills', 'lambdadb', 'SKILL.md') };
157
157
  },
158
158
  configure: (path, text, launch) => jsonConfig(path, text, launch, geminiServer),
159
- instructions: 'Kiro IDE/CLI: restart from the environment holding the selected key and check /mcp. Approve the selected variable in Mcp Approved Env Vars when prompted. Custom agents must include the MCP JSON and skill resources; init does not alter agent permissions or definitions.',
159
+ instructions: 'Kiro IDE/CLI: restart with the configured credential source available and check /mcp. For environment mode, approve the selected variable in Mcp Approved Env Vars when prompted. Custom agents must include the MCP JSON and skill resources; init does not alter agent permissions or definitions.',
160
160
  },
161
161
  {
162
162
  id: 'cline', executable: [], scopes: ['user'],
@@ -166,7 +166,7 @@ export const agentAdapters = [
166
166
  skill: join(context.home, '.cline', 'skills', 'lambdadb', 'SKILL.md') };
167
167
  },
168
168
  configure: (path, text, launch) => strictJsonConfig(path, text, launch, cursorServer),
169
- instructions: 'Cline VS Code extension: reload VS Code from the environment holding the selected key and check MCP Servers and the Skills menu. Init targets the default stable VS Code profile, not Cline CLI or other editors/profiles. No tools are auto-approved.',
169
+ instructions: 'Cline VS Code extension: reload VS Code with the configured credential source available and check MCP Servers and the Skills menu. Init targets the default stable VS Code profile, not Cline CLI or other editors/profiles. No tools are auto-approved.',
170
170
  },
171
171
  ];
172
172
  export const agentNames = agentAdapters.map(adapter => adapter.id).join(',');
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}