@idcloudhost/ai-connect 0.1.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 (155) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +287 -0
  3. package/dist/adapters/aider.d.ts +11 -0
  4. package/dist/adapters/aider.d.ts.map +1 -0
  5. package/dist/adapters/aider.js +69 -0
  6. package/dist/adapters/aider.js.map +1 -0
  7. package/dist/adapters/claude-code.d.ts +17 -0
  8. package/dist/adapters/claude-code.d.ts.map +1 -0
  9. package/dist/adapters/claude-code.js +73 -0
  10. package/dist/adapters/claude-code.js.map +1 -0
  11. package/dist/adapters/codex.d.ts +11 -0
  12. package/dist/adapters/codex.d.ts.map +1 -0
  13. package/dist/adapters/codex.js +71 -0
  14. package/dist/adapters/codex.js.map +1 -0
  15. package/dist/adapters/continue.d.ts +7 -0
  16. package/dist/adapters/continue.d.ts.map +1 -0
  17. package/dist/adapters/continue.js +79 -0
  18. package/dist/adapters/continue.js.map +1 -0
  19. package/dist/adapters/crush.d.ts +4 -0
  20. package/dist/adapters/crush.d.ts.map +1 -0
  21. package/dist/adapters/crush.js +72 -0
  22. package/dist/adapters/crush.js.map +1 -0
  23. package/dist/adapters/goose.d.ts +11 -0
  24. package/dist/adapters/goose.d.ts.map +1 -0
  25. package/dist/adapters/goose.js +68 -0
  26. package/dist/adapters/goose.js.map +1 -0
  27. package/dist/adapters/helpers.d.ts +33 -0
  28. package/dist/adapters/helpers.d.ts.map +1 -0
  29. package/dist/adapters/helpers.js +117 -0
  30. package/dist/adapters/helpers.js.map +1 -0
  31. package/dist/adapters/hermes.d.ts +11 -0
  32. package/dist/adapters/hermes.d.ts.map +1 -0
  33. package/dist/adapters/hermes.js +100 -0
  34. package/dist/adapters/hermes.js.map +1 -0
  35. package/dist/adapters/index.d.ts +20 -0
  36. package/dist/adapters/index.d.ts.map +1 -0
  37. package/dist/adapters/index.js +60 -0
  38. package/dist/adapters/index.js.map +1 -0
  39. package/dist/adapters/manual.d.ts +6 -0
  40. package/dist/adapters/manual.d.ts.map +1 -0
  41. package/dist/adapters/manual.js +87 -0
  42. package/dist/adapters/manual.js.map +1 -0
  43. package/dist/adapters/omp.d.ts +8 -0
  44. package/dist/adapters/omp.d.ts.map +1 -0
  45. package/dist/adapters/omp.js +64 -0
  46. package/dist/adapters/omp.js.map +1 -0
  47. package/dist/adapters/openclaw.d.ts +10 -0
  48. package/dist/adapters/openclaw.d.ts.map +1 -0
  49. package/dist/adapters/openclaw.js +107 -0
  50. package/dist/adapters/openclaw.js.map +1 -0
  51. package/dist/adapters/opencode.d.ts +11 -0
  52. package/dist/adapters/opencode.d.ts.map +1 -0
  53. package/dist/adapters/opencode.js +86 -0
  54. package/dist/adapters/opencode.js.map +1 -0
  55. package/dist/adapters/pi-family.d.ts +14 -0
  56. package/dist/adapters/pi-family.d.ts.map +1 -0
  57. package/dist/adapters/pi-family.js +27 -0
  58. package/dist/adapters/pi-family.js.map +1 -0
  59. package/dist/adapters/pi.d.ts +8 -0
  60. package/dist/adapters/pi.d.ts.map +1 -0
  61. package/dist/adapters/pi.js +56 -0
  62. package/dist/adapters/pi.js.map +1 -0
  63. package/dist/adapters/shell-env.d.ts +12 -0
  64. package/dist/adapters/shell-env.d.ts.map +1 -0
  65. package/dist/adapters/shell-env.js +81 -0
  66. package/dist/adapters/shell-env.js.map +1 -0
  67. package/dist/adapters/zed.d.ts +10 -0
  68. package/dist/adapters/zed.d.ts.map +1 -0
  69. package/dist/adapters/zed.js +91 -0
  70. package/dist/adapters/zed.js.map +1 -0
  71. package/dist/cli.d.ts +3 -0
  72. package/dist/cli.d.ts.map +1 -0
  73. package/dist/cli.js +207 -0
  74. package/dist/cli.js.map +1 -0
  75. package/dist/commands/connect.d.ts +3 -0
  76. package/dist/commands/connect.d.ts.map +1 -0
  77. package/dist/commands/connect.js +179 -0
  78. package/dist/commands/connect.js.map +1 -0
  79. package/dist/commands/context.d.ts +21 -0
  80. package/dist/commands/context.d.ts.map +1 -0
  81. package/dist/commands/context.js +4 -0
  82. package/dist/commands/context.js.map +1 -0
  83. package/dist/commands/doctor.d.ts +11 -0
  84. package/dist/commands/doctor.d.ts.map +1 -0
  85. package/dist/commands/doctor.js +85 -0
  86. package/dist/commands/doctor.js.map +1 -0
  87. package/dist/commands/env.d.ts +7 -0
  88. package/dist/commands/env.d.ts.map +1 -0
  89. package/dist/commands/env.js +37 -0
  90. package/dist/commands/env.js.map +1 -0
  91. package/dist/commands/list.d.ts +3 -0
  92. package/dist/commands/list.d.ts.map +1 -0
  93. package/dist/commands/list.js +39 -0
  94. package/dist/commands/list.js.map +1 -0
  95. package/dist/commands/login.d.ts +7 -0
  96. package/dist/commands/login.d.ts.map +1 -0
  97. package/dist/commands/login.js +130 -0
  98. package/dist/commands/login.js.map +1 -0
  99. package/dist/commands/models.d.ts +9 -0
  100. package/dist/commands/models.d.ts.map +1 -0
  101. package/dist/commands/models.js +51 -0
  102. package/dist/commands/models.js.map +1 -0
  103. package/dist/commands/remove.d.ts +3 -0
  104. package/dist/commands/remove.d.ts.map +1 -0
  105. package/dist/commands/remove.js +43 -0
  106. package/dist/commands/remove.js.map +1 -0
  107. package/dist/commands/snippet.d.ts +7 -0
  108. package/dist/commands/snippet.d.ts.map +1 -0
  109. package/dist/commands/snippet.js +91 -0
  110. package/dist/commands/snippet.js.map +1 -0
  111. package/dist/core/detect.d.ts +12 -0
  112. package/dist/core/detect.d.ts.map +1 -0
  113. package/dist/core/detect.js +59 -0
  114. package/dist/core/detect.js.map +1 -0
  115. package/dist/core/discovery.d.ts +46 -0
  116. package/dist/core/discovery.d.ts.map +1 -0
  117. package/dist/core/discovery.js +124 -0
  118. package/dist/core/discovery.js.map +1 -0
  119. package/dist/core/gateway.d.ts +59 -0
  120. package/dist/core/gateway.d.ts.map +1 -0
  121. package/dist/core/gateway.js +385 -0
  122. package/dist/core/gateway.js.map +1 -0
  123. package/dist/core/http.d.ts +18 -0
  124. package/dist/core/http.d.ts.map +1 -0
  125. package/dist/core/http.js +73 -0
  126. package/dist/core/http.js.map +1 -0
  127. package/dist/core/management.d.ts +47 -0
  128. package/dist/core/management.d.ts.map +1 -0
  129. package/dist/core/management.js +88 -0
  130. package/dist/core/management.js.map +1 -0
  131. package/dist/core/store.d.ts +25 -0
  132. package/dist/core/store.d.ts.map +1 -0
  133. package/dist/core/store.js +48 -0
  134. package/dist/core/store.js.map +1 -0
  135. package/dist/fsutil/edit.d.ts +18 -0
  136. package/dist/fsutil/edit.d.ts.map +1 -0
  137. package/dist/fsutil/edit.js +102 -0
  138. package/dist/fsutil/edit.js.map +1 -0
  139. package/dist/fsutil/formats.d.ts +32 -0
  140. package/dist/fsutil/formats.d.ts.map +1 -0
  141. package/dist/fsutil/formats.js +154 -0
  142. package/dist/fsutil/formats.js.map +1 -0
  143. package/dist/index.d.ts +23 -0
  144. package/dist/index.d.ts.map +1 -0
  145. package/dist/index.js +8 -0
  146. package/dist/index.js.map +1 -0
  147. package/dist/types.d.ts +134 -0
  148. package/dist/types.d.ts.map +1 -0
  149. package/dist/types.js +3 -0
  150. package/dist/types.js.map +1 -0
  151. package/dist/ui.d.ts +20 -0
  152. package/dist/ui.d.ts.map +1 -0
  153. package/dist/ui.js +69 -0
  154. package/dist/ui.js.map +1 -0
  155. package/package.json +75 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { ConnectionTarget } from '../types.js';
2
+ import type { ResolveInput } from '../core/discovery.js';
3
+ export interface GlobalFlags extends ResolveInput {
4
+ json?: boolean;
5
+ yes?: boolean;
6
+ dryRun?: boolean;
7
+ print?: boolean;
8
+ secret?: 'inline' | 'env';
9
+ scope?: 'user' | 'project';
10
+ configPath?: string;
11
+ cwd: string;
12
+ save?: boolean;
13
+ profileName?: string;
14
+ verify?: boolean;
15
+ }
16
+ export interface RunContext {
17
+ flags: GlobalFlags;
18
+ target: ConnectionTarget;
19
+ }
20
+ export declare function interactive(flags: GlobalFlags): boolean;
21
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAEvD"}
@@ -0,0 +1,4 @@
1
+ export function interactive(flags) {
2
+ return !flags.yes && !flags.json && process.stdout.isTTY === true && process.stdin.isTTY === true;
3
+ }
4
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAsBA,MAAM,UAAU,WAAW,CAAC,KAAkB;IAC5C,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;AACpG,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { GlobalFlags } from './context.js';
2
+ /**
3
+ * Diagnose the connection end to end.
4
+ *
5
+ * The gateway is a LiteLLM proxy in front of whatever upstreams the environment
6
+ * has configured, so which OpenAI features work is a property of the deployment,
7
+ * not of this package. Everything here is measured against the live endpoint —
8
+ * nothing is asserted from a compatibility table.
9
+ */
10
+ export declare function doctorCommand(flags: GlobalFlags): Promise<number>;
11
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAuEvE"}
@@ -0,0 +1,85 @@
1
+ import { adapters } from '../adapters/index.js';
2
+ import { buildTarget, explainUnresolvedBase, resolveSource } from '../core/discovery.js';
3
+ import { probeCapabilities, resolveApiBase } from '../core/gateway.js';
4
+ import { readIfExists, shortenHome } from '../fsutil/edit.js';
5
+ import { c, maskKey, table, ui } from '../ui.js';
6
+ /**
7
+ * Diagnose the connection end to end.
8
+ *
9
+ * The gateway is a LiteLLM proxy in front of whatever upstreams the environment
10
+ * has configured, so which OpenAI features work is a property of the deployment,
11
+ * not of this package. Everything here is measured against the live endpoint —
12
+ * nothing is asserted from a compatibility table.
13
+ */
14
+ export async function doctorCommand(flags) {
15
+ const source = await resolveSource(flags);
16
+ ui.title('Connection');
17
+ ui.info(`base URL ${source.baseUrl} (${source.from.baseUrl})`);
18
+ ui.info(`key ${maskKey(source.apiKey)} (${source.from.apiKey})`);
19
+ const probe = await resolveApiBase(source.baseUrl, source.apiKey);
20
+ if (!probe.probed) {
21
+ ui.fail(explainUnresolvedBase(source.baseUrl, probe.discrimination));
22
+ return 1;
23
+ }
24
+ ui.ok(`OpenAI routes resolved to ${c.bold(probe.apiBase)}`);
25
+ if (probe.discrimination === 'live') {
26
+ // Worth stating: the verdict rests on this host returning 404 for unknown
27
+ // paths, and we confirmed that on this run rather than assuming it.
28
+ ui.info('verified against a control path — this host does distinguish real routes from missing ones');
29
+ }
30
+ const target = await buildTarget({ ...source, baseUrl: probe.apiBase }, { ...flags, onlyModels: [] });
31
+ const model = flags.defaultModel ?? target.defaultModel;
32
+ if (!model) {
33
+ ui.fail('this key can see no models, so there is nothing to test. Ask an org admin to widen the allowlist.');
34
+ return 1;
35
+ }
36
+ ui.ok(`${target.models.length} model(s) visible. Probing with ${c.bold(model)}.`);
37
+ ui.title('Gateway capabilities');
38
+ const report = await probeCapabilities(probe.apiBase, source.apiKey, model);
39
+ ui.plain(table(['CHECK', 'RESULT', 'DETAIL'], report.checks.map((ch) => [ch.label, badge(ch), c.dim(ch.detail ?? '')])));
40
+ ui.plain();
41
+ ui.info('A failed row means this gateway or this model does not support it — not that the tool is broken.');
42
+ ui.info('Optional routes (Responses API, Anthropic /messages, embeddings) are only present if an upstream provides them.');
43
+ ui.title('Agent configs');
44
+ const agentRows = [];
45
+ for (const adapter of adapters) {
46
+ const detected = await adapter.detect({ cwd: flags.cwd });
47
+ if (!detected.installed)
48
+ continue;
49
+ if (adapter.mode === 'manual') {
50
+ agentRows.push([adapter.name, c.dim('n/a'), c.dim('configured in the app')]);
51
+ continue;
52
+ }
53
+ const file = adapter.configPath({ scope: flags.scope ?? 'user', cwd: flags.cwd });
54
+ const text = await readIfExists(file);
55
+ if (text === null) {
56
+ agentRows.push([adapter.name, c.dim('—'), c.dim(`no ${shortenHome(file)}`)]);
57
+ continue;
58
+ }
59
+ // Format-agnostic on purpose: five config languages, one honest question —
60
+ // does this file point at the gateway we just verified?
61
+ const pointsHere = text.includes(probe.apiBase) || text.includes(probe.origin);
62
+ agentRows.push([
63
+ adapter.name,
64
+ pointsHere ? c.green('connected') : c.yellow('not connected'),
65
+ c.dim(shortenHome(file)),
66
+ ]);
67
+ }
68
+ if (agentRows.length)
69
+ ui.plain(table(['AGENT', 'STATUS', 'CONFIG'], agentRows));
70
+ else
71
+ ui.info('no supported agents detected on this machine');
72
+ if (flags.json) {
73
+ ui.plain(JSON.stringify({ apiBase: probe.apiBase, model, checks: report.checks }, null, 2));
74
+ }
75
+ const coreFailed = report.checks.some((ch) => ['models', 'chat'].includes(ch.id) && ch.status === 'fail');
76
+ return coreFailed ? 1 : 0;
77
+ }
78
+ function badge(ch) {
79
+ if (ch.status === 'pass')
80
+ return c.green('yes');
81
+ if (ch.status === 'skip')
82
+ return c.dim('skipped');
83
+ return c.red('no');
84
+ }
85
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { GlobalFlags } from './context.js';
2
+ export type Shell = 'posix' | 'fish' | 'powershell' | 'dotenv';
3
+ /** Print the gateway as environment variables, for eval/source or a .env file. */
4
+ export declare function envCommand(flags: GlobalFlags & {
5
+ shell?: Shell;
6
+ }): Promise<number>;
7
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE/D,kFAAkF;AAClF,wBAAsB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBxF"}
@@ -0,0 +1,37 @@
1
+ import { buildTarget, resolveSource } from '../core/discovery.js';
2
+ import { ui } from '../ui.js';
3
+ /** Print the gateway as environment variables, for eval/source or a .env file. */
4
+ export async function envCommand(flags) {
5
+ const source = await resolveSource(flags);
6
+ const target = await buildTarget(source, { ...flags, offline: true });
7
+ const vars = [
8
+ ['OPENAI_API_KEY', target.apiKey],
9
+ ['OPENAI_BASE_URL', target.apiBase],
10
+ ['OPENAI_API_BASE', target.apiBase],
11
+ ['IDCH_AI_API_KEY', target.apiKey],
12
+ ['IDCH_AI_BASE_URL', target.apiBase],
13
+ ];
14
+ if (target.defaultModel)
15
+ vars.push(['OPENAI_MODEL', target.defaultModel], ['IDCH_AI_MODEL', target.defaultModel]);
16
+ if (flags.json) {
17
+ ui.plain(JSON.stringify(Object.fromEntries(vars), null, 2));
18
+ return 0;
19
+ }
20
+ const shell = flags.shell ?? 'posix';
21
+ for (const [k, v] of vars)
22
+ ui.plain(render(shell, k, v));
23
+ return 0;
24
+ }
25
+ function render(shell, key, value) {
26
+ switch (shell) {
27
+ case 'fish':
28
+ return `set -gx ${key} ${JSON.stringify(value)}`;
29
+ case 'powershell':
30
+ return `$env:${key} = ${JSON.stringify(value)}`;
31
+ case 'dotenv':
32
+ return `${key}=${value}`;
33
+ default:
34
+ return `export ${key}=${JSON.stringify(value)}`;
35
+ }
36
+ }
37
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAK9B,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAsC;IACrE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtE,MAAM,IAAI,GAA4B;QACpC,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC;QACjC,CAAC,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC;QACnC,CAAC,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC;QACnC,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC;QAClC,CAAC,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC;KACrC,CAAC;IACF,IAAI,MAAM,CAAC,YAAY;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IAElH,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC;IACrC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI;QAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,MAAM,CAAC,KAAY,EAAE,GAAW,EAAE,KAAa;IACtD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM;YACT,OAAO,WAAW,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,KAAK,YAAY;YACf,OAAO,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,KAAK,QAAQ;YACX,OAAO,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QAC3B;YACE,OAAO,UAAU,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IACpD,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { GlobalFlags } from './context.js';
2
+ export declare function listCommand(flags: GlobalFlags): Promise<number>;
3
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,wBAAsB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAwCrE"}
@@ -0,0 +1,39 @@
1
+ import { adapters } from '../adapters/index.js';
2
+ import { c, table, ui } from '../ui.js';
3
+ export async function listCommand(flags) {
4
+ const rows = await Promise.all(adapters.map(async (a) => {
5
+ const d = await a.detect({ cwd: flags.cwd });
6
+ return {
7
+ id: a.id,
8
+ name: a.name,
9
+ mode: a.mode,
10
+ summary: a.summary,
11
+ docsUrl: a.docsUrl,
12
+ installed: d.installed,
13
+ evidence: d.evidence,
14
+ version: d.version,
15
+ configPath: a.mode === 'auto' ? a.configPath({ scope: flags.scope ?? 'user', cwd: flags.cwd }) : null,
16
+ };
17
+ }));
18
+ if (flags.json) {
19
+ ui.plain(JSON.stringify(rows, null, 2));
20
+ return 0;
21
+ }
22
+ ui.title('Supported agents');
23
+ ui.plain(table(['AGENT', 'ID', 'STATUS', 'WRITES'], rows.map((r) => [
24
+ r.name,
25
+ c.dim(r.id),
26
+ r.installed ? c.green('installed') : c.dim('not found'),
27
+ r.mode === 'auto' ? shorten(r.configPath) : c.yellow('instructions only'),
28
+ ])));
29
+ ui.plain();
30
+ ui.info('Connect everything detected: idch-ai connect');
31
+ ui.info('Connect one: idch-ai connect opencode');
32
+ ui.info('Connect several: idch-ai connect pi,omp,hermes');
33
+ return 0;
34
+ }
35
+ function shorten(p) {
36
+ const home = process.env.HOME ?? '';
37
+ return home && p.startsWith(home) ? '~' + p.slice(home.length) : p;
38
+ }
39
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGxC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAkB;IAClD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACvB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,OAAO;YACL,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,UAAU,EAAE,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;SACtG,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC7B,EAAE,CAAC,KAAK,CACN,KAAK,CACH,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACd,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACX,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;QACvD,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC;KAC3E,CAAC,CACH,CACF,CAAC;IACF,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,EAAE,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IACzD,EAAE,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IAClE,EAAE,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;IACvE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,OAAO,CAAC,CAAS;IACxB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACpC,OAAO,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ResolvedSource } from '../core/discovery.js';
2
+ import type { GlobalFlags } from './context.js';
3
+ /** Ask for a gateway URL and key, offering dashboard discovery as the easier path. */
4
+ export declare function promptForCredentials(flags: GlobalFlags): Promise<ResolvedSource>;
5
+ /** `idch-ai login` — store credentials without touching any agent config. */
6
+ export declare function loginCommand(flags: GlobalFlags): Promise<number>;
7
+ //# sourceMappingURL=login.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,sFAAsF;AACtF,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAoCtF;AAwFD,6EAA6E;AAC7E,wBAAsB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBtE"}
@@ -0,0 +1,130 @@
1
+ import prompts from 'prompts';
2
+ import { ManagementClient, DEFAULT_DASHBOARD_URL, explainManagementError } from '../core/management.js';
3
+ import { resolveApiBase } from '../core/gateway.js';
4
+ import { saveProfile } from '../core/store.js';
5
+ import { shortenHome } from '../fsutil/edit.js';
6
+ import { c, maskKey, ui } from '../ui.js';
7
+ const cancel = { onCancel: () => process.exit(130) };
8
+ /** Ask for a gateway URL and key, offering dashboard discovery as the easier path. */
9
+ export async function promptForCredentials(flags) {
10
+ const { how } = (await prompts({
11
+ type: 'select',
12
+ name: 'how',
13
+ message: 'How do you want to connect?',
14
+ choices: [
15
+ { title: 'I have a gateway URL and an API key', value: 'manual' },
16
+ { title: 'Look it up from my IDCloudHost dashboard', value: 'dashboard' },
17
+ ],
18
+ }, cancel));
19
+ if (how === 'dashboard')
20
+ return promptViaDashboard(flags);
21
+ const answers = (await prompts([
22
+ {
23
+ type: 'text',
24
+ name: 'baseUrl',
25
+ message: 'Gateway base URL',
26
+ initial: flags.baseUrl ?? '',
27
+ validate: (v) => (v.trim() ? true : 'required'),
28
+ },
29
+ { type: 'password', name: 'apiKey', message: 'API key', validate: (v) => (v.trim() ? true : 'required') },
30
+ ], cancel));
31
+ if (!answers.baseUrl || !answers.apiKey)
32
+ process.exit(130);
33
+ return {
34
+ baseUrl: answers.baseUrl.trim(),
35
+ apiKey: answers.apiKey.trim(),
36
+ from: { baseUrl: 'prompt', apiKey: 'prompt' },
37
+ };
38
+ }
39
+ async function promptViaDashboard(flags) {
40
+ const answers = (await prompts([
41
+ {
42
+ type: 'text',
43
+ name: 'dashboardUrl',
44
+ message: 'Dashboard URL',
45
+ initial: flags.dashboardUrl ?? DEFAULT_DASHBOARD_URL,
46
+ },
47
+ {
48
+ type: 'password',
49
+ name: 'token',
50
+ message: 'Dashboard access token',
51
+ validate: (v) => (v.trim() ? true : 'required'),
52
+ },
53
+ {
54
+ type: 'text',
55
+ name: 'org',
56
+ message: 'Organization id',
57
+ initial: flags.org ?? '',
58
+ validate: (v) => (v.trim() ? true : 'required'),
59
+ },
60
+ ], cancel));
61
+ if (!answers.token || !answers.org)
62
+ process.exit(130);
63
+ const client = new ManagementClient(answers.dashboardUrl ?? DEFAULT_DASHBOARD_URL, answers.token, answers.org);
64
+ let baseUrl;
65
+ try {
66
+ const status = await client.status();
67
+ if (!status.public_base_url)
68
+ throw new Error('the dashboard published no gateway URL for this organization');
69
+ baseUrl = status.public_base_url;
70
+ ui.ok(`Gateway discovered: ${c.bold(baseUrl)}`);
71
+ }
72
+ catch (err) {
73
+ throw new Error(`dashboard lookup failed: ${explainManagementError(err)}`);
74
+ }
75
+ const existing = await client.keys().catch(() => []);
76
+ const choices = existing.map((k) => ({
77
+ title: `${k.key_alias ?? k.key_id}${k.models?.length ? c.dim(` — ${k.models.length} model(s)`) : ''}`,
78
+ value: k.key_id,
79
+ }));
80
+ // Existing key secrets are only ever shown once at creation, so we cannot reuse
81
+ // them from a listing — the user pastes the one they saved, or we mint a new one.
82
+ const { mode } = (await prompts({
83
+ type: 'select',
84
+ name: 'mode',
85
+ message: choices.length ? `You have ${choices.length} key(s). What now?` : 'No keys yet. What now?',
86
+ choices: [
87
+ { title: 'Create a new key (needs organization admin)', value: 'create' },
88
+ { title: 'Paste a key I already saved', value: 'paste' },
89
+ ],
90
+ }, cancel));
91
+ if (mode === 'create') {
92
+ const { alias } = (await prompts({ type: 'text', name: 'alias', message: 'Name for the new key', initial: `ai-connect-${hostSuffix()}` }, cancel));
93
+ try {
94
+ const created = await client.createKey(alias || `ai-connect-${hostSuffix()}`);
95
+ ui.ok(`Created key ${maskKey(created.key)} — it is shown once, so keep the profile this tool saves.`);
96
+ return { baseUrl, apiKey: created.key, from: { baseUrl: 'dashboard', apiKey: 'dashboard (new key)' } };
97
+ }
98
+ catch (err) {
99
+ throw new Error(`could not create a key: ${explainManagementError(err)}`);
100
+ }
101
+ }
102
+ const { apiKey } = (await prompts({ type: 'password', name: 'apiKey', message: 'API key', validate: (v) => (v.trim() ? true : 'required') }, cancel));
103
+ if (!apiKey)
104
+ process.exit(130);
105
+ return { baseUrl, apiKey: apiKey.trim(), from: { baseUrl: 'dashboard', apiKey: 'prompt' } };
106
+ }
107
+ function hostSuffix() {
108
+ return (process.env.HOSTNAME ?? process.env.USER ?? 'cli').replace(/[^a-z0-9-]/gi, '').slice(0, 16) || 'cli';
109
+ }
110
+ /** `idch-ai login` — store credentials without touching any agent config. */
111
+ export async function loginCommand(flags) {
112
+ let source;
113
+ try {
114
+ source = await (await import('../core/discovery.js')).resolveSource({ ...flags, profile: '__none__' });
115
+ }
116
+ catch {
117
+ source = await promptForCredentials(flags);
118
+ }
119
+ const { apiBase, probed } = await resolveApiBase(source.baseUrl, source.apiKey);
120
+ if (!probed)
121
+ ui.warn(`nothing answered at ${source.baseUrl}. Saving anyway — run \`idch-ai doctor\` to diagnose.`);
122
+ const name = flags.profileName ?? 'default';
123
+ const file = await saveProfile(name, { apiBase, apiKey: source.apiKey, savedAt: new Date().toISOString() });
124
+ ui.ok(`Saved profile "${name}" to ${shortenHome(file)}`);
125
+ ui.info(`Gateway: ${apiBase}`);
126
+ ui.info(`Key: ${maskKey(source.apiKey)}`);
127
+ ui.info('Now run: idch-ai connect');
128
+ return 0;
129
+ }
130
+ //# sourceMappingURL=login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { GlobalFlags } from './context.js';
2
+ /**
3
+ * List every model the key may use — including embedding and rerank models,
4
+ * which `connect` deliberately skips when registering coding agents. A listing
5
+ * command that hides rows is worse than useless, so this one does not filter;
6
+ * it labels instead.
7
+ */
8
+ export declare function modelsCommand(flags: GlobalFlags): Promise<number>;
9
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAmDvE"}
@@ -0,0 +1,51 @@
1
+ import { resolveSource, explainUnresolvedBase, pickDefaultModel } from '../core/discovery.js';
2
+ import { chatModels, listModels, resolveApiBase } from '../core/gateway.js';
3
+ import { c, formatTokens, formatUsd, table, ui } from '../ui.js';
4
+ /**
5
+ * List every model the key may use — including embedding and rerank models,
6
+ * which `connect` deliberately skips when registering coding agents. A listing
7
+ * command that hides rows is worse than useless, so this one does not filter;
8
+ * it labels instead.
9
+ */
10
+ export async function modelsCommand(flags) {
11
+ const source = await resolveSource(flags);
12
+ const probe = await resolveApiBase(source.baseUrl, source.apiKey);
13
+ if (!probe.probed) {
14
+ ui.fail(explainUnresolvedBase(source.baseUrl, probe.discrimination));
15
+ return 1;
16
+ }
17
+ const all = await listModels(probe.apiBase, source.apiKey);
18
+ if (flags.json) {
19
+ const chat = new Set(chatModels(all).map((m) => m.id));
20
+ ui.plain(JSON.stringify(all.map((m) => ({ ...m, usableByAgents: chat.has(m.id) })), null, 2));
21
+ return 0;
22
+ }
23
+ if (!all.length) {
24
+ ui.warn('This key can see no models.');
25
+ ui.info('Model access is an allowlist: an org admin sets a team-level list, and optionally a narrower per-key list.');
26
+ ui.info('Ask an admin to widen it in the dashboard under AI → Keys.');
27
+ return 1;
28
+ }
29
+ const chat = chatModels(all);
30
+ const chatIds = new Set(chat.map((m) => m.id));
31
+ const preferred = pickDefaultModel(chat);
32
+ ui.title(`${all.length} model(s) visible to this key on ${probe.apiBase}`);
33
+ ui.plain(table(['MODEL', 'PROVIDER', 'KIND', 'CONTEXT', 'IN $/1M', 'OUT $/1M', 'FLAGS'], all.map((m) => [
34
+ m.id === preferred ? c.bold(m.id) + c.dim(' (default)') : m.id,
35
+ c.dim(m.provider ?? ''),
36
+ chatIds.has(m.id) ? c.dim(m.mode ?? 'chat') : c.yellow(m.mode ?? 'other'),
37
+ formatTokens(m.contextWindow),
38
+ formatUsd(m.inputUsdPer1M),
39
+ formatUsd(m.outputUsdPer1M),
40
+ c.dim([m.supportsTools ? 'tools' : '', m.supportsVision ? 'vision' : ''].filter(Boolean).join(' ')),
41
+ ])));
42
+ ui.plain();
43
+ const skipped = all.length - chat.length;
44
+ if (skipped > 0) {
45
+ ui.info(`${chat.length} usable by coding agents. ${skipped} highlighted row(s) are embedding/rerank/image models — real, callable over the API, but not something an agent can chat with, so \`connect\` leaves them out.`);
46
+ }
47
+ ui.info('This is what your key may use, not everything on the gateway. Access is an allowlist set per team and per key by an org admin.');
48
+ ui.info('Blank pricing or context means the gateway catalogue did not report it for that model.');
49
+ return 0;
50
+ }
51
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { GlobalFlags } from './context.js';
2
+ export declare function removeCommand(agentArgs: string[], flags: GlobalFlags): Promise<number>;
3
+ //# sourceMappingURL=remove.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAoC5F"}
@@ -0,0 +1,43 @@
1
+ import { adapters, getAdapter } from '../adapters/index.js';
2
+ import { shortenHome } from '../fsutil/edit.js';
3
+ import { c, ui } from '../ui.js';
4
+ export async function removeCommand(agentArgs, flags) {
5
+ const names = agentArgs.flatMap((a) => a.split(',')).map((a) => a.trim()).filter(Boolean);
6
+ const chosen = names.length === 0 || names.includes('all')
7
+ ? adapters.filter((a) => a.mode === 'auto')
8
+ : names.map((n) => {
9
+ const a = getAdapter(n);
10
+ if (!a)
11
+ throw new Error(`unknown agent "${n}". Run \`idch-ai list\`.`);
12
+ return a;
13
+ });
14
+ const providerId = flags.providerId ?? 'idcloudhost';
15
+ let touched = 0;
16
+ for (const adapter of chosen) {
17
+ const res = await adapter.remove({
18
+ providerId,
19
+ dryRun: flags.dryRun ?? false,
20
+ scope: flags.scope ?? 'user',
21
+ cwd: flags.cwd,
22
+ ...(flags.configPath && chosen.length === 1 ? { configPathOverride: flags.configPath } : {}),
23
+ });
24
+ const real = res.changes.filter((ch) => !ch.unchanged);
25
+ if (!real.length)
26
+ continue;
27
+ touched++;
28
+ ui.title(adapter.name);
29
+ for (const change of real) {
30
+ ui.ok(`${flags.dryRun ? 'would update' : 'updated'} ${shortenHome(change.path)}`);
31
+ if (change.backupPath)
32
+ ui.info(`backup: ${shortenHome(change.backupPath)}`);
33
+ }
34
+ for (const note of res.notes)
35
+ ui.info(note);
36
+ }
37
+ if (!touched)
38
+ ui.info(`nothing referencing provider "${providerId}" was found`);
39
+ else
40
+ ui.plain(`\n${c.dim('Saved profiles were left alone. Delete them with: idch-ai logout')}`);
41
+ return 0;
42
+ }
43
+ //# sourceMappingURL=remove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { GlobalFlags } from './context.js';
2
+ declare const LANGS: readonly ["curl", "node", "python", "vercel-ai", "langchain"];
3
+ export type SnippetLang = (typeof LANGS)[number];
4
+ /** Copy-pasteable starter code for people wiring the gateway into their own app. */
5
+ export declare function snippetCommand(langArg: string | undefined, flags: GlobalFlags): Promise<number>;
6
+ export {};
7
+ //# sourceMappingURL=snippet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snippet.d.ts","sourceRoot":"","sources":["../../src/commands/snippet.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,QAAA,MAAM,KAAK,+DAAgE,CAAC;AAC5E,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,oFAAoF;AACpF,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBrG"}