actoviq-agent-sdk 0.4.2 → 0.4.6

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 (116) hide show
  1. package/README-zh.md +58 -62
  2. package/README.md +72 -22
  3. package/assets/actoviq-icon.png +0 -0
  4. package/bin/actoviq-gui.js +24 -0
  5. package/dist/src/cli/actoviq-react.js +31 -14
  6. package/dist/src/cli/actoviq-react.js.map +1 -1
  7. package/dist/src/cli/actoviq-tui.js +9 -0
  8. package/dist/src/cli/actoviq-tui.js.map +1 -1
  9. package/dist/src/cli/bridge-interactive-agent.js +94 -15
  10. package/dist/src/cli/bridge-interactive-agent.js.map +1 -1
  11. package/dist/src/cli/version.d.ts +3 -0
  12. package/dist/src/cli/version.d.ts.map +1 -0
  13. package/dist/src/cli/version.js +28 -0
  14. package/dist/src/cli/version.js.map +1 -0
  15. package/dist/src/gui/actoviqGui.d.ts +29 -0
  16. package/dist/src/gui/actoviqGui.d.ts.map +1 -0
  17. package/dist/src/gui/actoviqGui.js +5319 -0
  18. package/dist/src/gui/actoviqGui.js.map +1 -0
  19. package/dist/src/gui/electronMain.d.ts +3 -0
  20. package/dist/src/gui/electronMain.d.ts.map +1 -0
  21. package/dist/src/gui/electronMain.js +176 -0
  22. package/dist/src/gui/electronMain.js.map +1 -0
  23. package/dist/src/gui/guiMarkdown.d.ts +3 -0
  24. package/dist/src/gui/guiMarkdown.d.ts.map +1 -0
  25. package/dist/src/gui/guiMarkdown.js +188 -0
  26. package/dist/src/gui/guiMarkdown.js.map +1 -0
  27. package/dist/src/hooks/userHooks.d.ts +39 -0
  28. package/dist/src/hooks/userHooks.d.ts.map +1 -0
  29. package/dist/src/hooks/userHooks.js +169 -0
  30. package/dist/src/hooks/userHooks.js.map +1 -0
  31. package/dist/src/index.d.ts +2 -0
  32. package/dist/src/index.d.ts.map +1 -1
  33. package/dist/src/index.js +2 -0
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/mcp/mcpServerConfig.d.ts +19 -0
  36. package/dist/src/mcp/mcpServerConfig.d.ts.map +1 -0
  37. package/dist/src/mcp/mcpServerConfig.js +51 -0
  38. package/dist/src/mcp/mcpServerConfig.js.map +1 -0
  39. package/dist/src/memory/projectContext.d.ts +32 -0
  40. package/dist/src/memory/projectContext.d.ts.map +1 -0
  41. package/dist/src/memory/projectContext.js +175 -0
  42. package/dist/src/memory/projectContext.js.map +1 -0
  43. package/dist/src/memory/sessionHistory.d.ts +21 -0
  44. package/dist/src/memory/sessionHistory.d.ts.map +1 -0
  45. package/dist/src/memory/sessionHistory.js +83 -0
  46. package/dist/src/memory/sessionHistory.js.map +1 -0
  47. package/dist/src/parity/actoviqBridgeSdk.d.ts +3 -0
  48. package/dist/src/parity/actoviqBridgeSdk.d.ts.map +1 -1
  49. package/dist/src/parity/actoviqBridgeSdk.js +93 -92
  50. package/dist/src/parity/actoviqBridgeSdk.js.map +1 -1
  51. package/dist/src/parity/bridgeConfigs.d.ts +49 -0
  52. package/dist/src/parity/bridgeConfigs.d.ts.map +1 -0
  53. package/dist/src/parity/bridgeConfigs.js +134 -0
  54. package/dist/src/parity/bridgeConfigs.js.map +1 -0
  55. package/dist/src/parity/bridgeEventAdapter.d.ts +20 -0
  56. package/dist/src/parity/bridgeEventAdapter.d.ts.map +1 -0
  57. package/dist/src/parity/bridgeEventAdapter.js +121 -0
  58. package/dist/src/parity/bridgeEventAdapter.js.map +1 -0
  59. package/dist/src/parity/bridgeExecResolver.d.ts +27 -0
  60. package/dist/src/parity/bridgeExecResolver.d.ts.map +1 -0
  61. package/dist/src/parity/bridgeExecResolver.js +95 -0
  62. package/dist/src/parity/bridgeExecResolver.js.map +1 -0
  63. package/dist/src/parity/bridgeProviders.d.ts +132 -0
  64. package/dist/src/parity/bridgeProviders.d.ts.map +1 -0
  65. package/dist/src/parity/bridgeProviders.js +651 -0
  66. package/dist/src/parity/bridgeProviders.js.map +1 -0
  67. package/dist/src/prompts/outputStyles.d.ts +20 -0
  68. package/dist/src/prompts/outputStyles.d.ts.map +1 -0
  69. package/dist/src/prompts/outputStyles.js +35 -0
  70. package/dist/src/prompts/outputStyles.js.map +1 -0
  71. package/dist/src/prompts/systemPrompt.d.ts.map +1 -1
  72. package/dist/src/prompts/systemPrompt.js +9 -1
  73. package/dist/src/prompts/systemPrompt.js.map +1 -1
  74. package/dist/src/router/modelRouter.d.ts +7 -1
  75. package/dist/src/router/modelRouter.d.ts.map +1 -1
  76. package/dist/src/router/modelRouter.js +50 -15
  77. package/dist/src/router/modelRouter.js.map +1 -1
  78. package/dist/src/runtime/agentSession.d.ts +6 -0
  79. package/dist/src/runtime/agentSession.d.ts.map +1 -1
  80. package/dist/src/runtime/agentSession.js +15 -0
  81. package/dist/src/runtime/agentSession.js.map +1 -1
  82. package/dist/src/runtime/bashClassification.d.ts +18 -0
  83. package/dist/src/runtime/bashClassification.d.ts.map +1 -0
  84. package/dist/src/runtime/bashClassification.js +83 -0
  85. package/dist/src/runtime/bashClassification.js.map +1 -0
  86. package/dist/src/team/modelTeam.d.ts +3 -5
  87. package/dist/src/team/modelTeam.d.ts.map +1 -1
  88. package/dist/src/team/modelTeam.js +98 -162
  89. package/dist/src/team/modelTeam.js.map +1 -1
  90. package/dist/src/team/teamRuntime.d.ts +60 -0
  91. package/dist/src/team/teamRuntime.d.ts.map +1 -0
  92. package/dist/src/team/teamRuntime.js +139 -0
  93. package/dist/src/team/teamRuntime.js.map +1 -0
  94. package/dist/src/tools/actoviqCoreTools.d.ts +1 -0
  95. package/dist/src/tools/actoviqCoreTools.d.ts.map +1 -1
  96. package/dist/src/tools/actoviqCoreTools.js +5 -0
  97. package/dist/src/tools/actoviqCoreTools.js.map +1 -1
  98. package/dist/src/tools/planMode/PlanModeTools.d.ts +18 -0
  99. package/dist/src/tools/planMode/PlanModeTools.d.ts.map +1 -0
  100. package/dist/src/tools/planMode/PlanModeTools.js +71 -0
  101. package/dist/src/tools/planMode/PlanModeTools.js.map +1 -0
  102. package/dist/src/tui/actoviqTui.d.ts +3 -0
  103. package/dist/src/tui/actoviqTui.d.ts.map +1 -1
  104. package/dist/src/tui/actoviqTui.js +1474 -91
  105. package/dist/src/tui/actoviqTui.js.map +1 -1
  106. package/dist/src/tui/transcript.d.ts +6 -0
  107. package/dist/src/tui/transcript.d.ts.map +1 -1
  108. package/dist/src/tui/transcript.js +27 -0
  109. package/dist/src/tui/transcript.js.map +1 -1
  110. package/dist/src/types.d.ts +128 -9
  111. package/dist/src/types.d.ts.map +1 -1
  112. package/dist/src/ui/commandSurface.d.ts +13 -0
  113. package/dist/src/ui/commandSurface.d.ts.map +1 -0
  114. package/dist/src/ui/commandSurface.js +100 -0
  115. package/dist/src/ui/commandSurface.js.map +1 -0
  116. package/package.json +42 -3
@@ -1,12 +1,11 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import { randomUUID } from 'node:crypto';
3
- import { constants as fsConstants } from 'node:fs';
4
- import { access } from 'node:fs/promises';
5
3
  import path from 'node:path';
6
4
  import readline from 'node:readline';
7
5
  import { fileURLToPath } from 'node:url';
8
6
  import { createActoviqBuddyApi } from '../buddy/actoviqBuddy.js';
9
- import { mapActoviqEnvToAnthropicEnv } from '../config/anthropicEnvMapping.js';
7
+ import { findExecutableOnPath, findFirstExistingPath, isExecutable, IS_WINDOWS, pathExists, quoteForWindowsShell, } from './bridgeExecResolver.js';
8
+ import { resolveProvider } from './bridgeProviders.js';
10
9
  import { getLoadedJsonConfig } from '../config/loadJsonConfigFile.js';
11
10
  import { ActoviqBridgeProcessError, RunAbortedError } from '../errors.js';
12
11
  import { createActoviqMemoryApi } from '../memory/actoviqMemory.js';
@@ -14,68 +13,9 @@ import { AsyncQueue } from '../runtime/asyncQueue.js';
14
13
  import { asError, isRecord } from '../runtime/helpers.js';
15
14
  import { getActoviqBridgeCompactBoundaries, getActoviqBridgeLatestCompactBoundary, getActoviqBridgeSessionInfo, getActoviqBridgeSessionMessages, listActoviqBridgeSessions, } from './actoviqTranscripts.js';
16
15
  const MODULE_DIR = path.dirname(fileURLToPath(import.meta.url));
17
- const IS_WINDOWS = process.platform === 'win32';
18
16
  function isAbortErrorLike(error) {
19
17
  return error instanceof RunAbortedError || (error instanceof Error && error.name === 'AbortError');
20
18
  }
21
- async function pathExists(filePath) {
22
- try {
23
- await access(filePath, fsConstants.F_OK);
24
- return true;
25
- }
26
- catch {
27
- return false;
28
- }
29
- }
30
- async function isExecutable(filePath) {
31
- try {
32
- await access(filePath, IS_WINDOWS ? fsConstants.F_OK : fsConstants.X_OK);
33
- return true;
34
- }
35
- catch {
36
- return false;
37
- }
38
- }
39
- function splitPathEnv(pathValue) {
40
- if (!pathValue) {
41
- return [];
42
- }
43
- return pathValue.split(path.delimiter).filter(Boolean);
44
- }
45
- async function findExecutableOnPath(name) {
46
- const pathDirectories = splitPathEnv(process.env.PATH);
47
- const extensions = IS_WINDOWS
48
- ? (process.env.PATHEXT ?? '.COM;.EXE;.BAT;.CMD')
49
- .split(';')
50
- .filter(Boolean)
51
- : [''];
52
- for (const directory of pathDirectories) {
53
- const directCandidate = path.join(directory, name);
54
- if (!IS_WINDOWS && (await isExecutable(directCandidate))) {
55
- return directCandidate;
56
- }
57
- for (const extension of extensions) {
58
- const candidate = directCandidate.endsWith(extension.toLowerCase())
59
- ? directCandidate
60
- : `${directCandidate}${extension.toLowerCase()}`;
61
- if (await isExecutable(candidate)) {
62
- return candidate;
63
- }
64
- }
65
- }
66
- return undefined;
67
- }
68
- async function findFirstExistingPath(candidates) {
69
- for (const candidate of candidates) {
70
- if (!candidate) {
71
- continue;
72
- }
73
- if (await pathExists(candidate)) {
74
- return candidate;
75
- }
76
- }
77
- return undefined;
78
- }
79
19
  async function resolveBunExecutable(explicitPath) {
80
20
  if (explicitPath) {
81
21
  if (!(await isExecutable(explicitPath))) {
@@ -121,6 +61,11 @@ async function resolveActoviqRuntimeCliPath(explicitPath) {
121
61
  }
122
62
  return resolved;
123
63
  }
64
+ /**
65
+ * Resolve the executable for direct-CLI mode. Provider-specific PATH lookup
66
+ * and error messaging now live in each RuntimeProvider (bridgeProviders.ts);
67
+ * this file only needs the bundle-path resolver above.
68
+ */
124
69
  function stringifyCliValue(value) {
125
70
  return typeof value === 'string' ? value : JSON.stringify(value);
126
71
  }
@@ -479,21 +424,15 @@ function buildCliArgs(prompt, options) {
479
424
  }
480
425
  return args;
481
426
  }
482
- function buildChildEnvironment(envOverrides) {
427
+ function buildChildEnvironment(provider, envOverrides) {
483
428
  const loadedConfig = getLoadedJsonConfig();
484
- // Actoviq settings are the single source of model/credential config: derive
485
- // ANTHROPIC_* equivalents so the Claude Code-based child process does not
486
- // silently fall back to ~/.claude/settings.json or keychain credentials.
487
- // Derived values override inherited process.env ANTHROPIC_* entries, while
488
- // explicit ANTHROPIC_* keys in the settings env block and caller overrides win.
429
+ // Actoviq settings are the single source of model/credential config. Each
430
+ // provider decides how to translate the settings env block into the
431
+ // credential variables its CLI reads (claude: ANTHROPIC_*; pi/codex: their
432
+ // own) and in what order they override the inherited process env.
489
433
  const settingsEnv = loadedConfig?.env ?? {};
490
- const mergedEnv = {
491
- ...Object.fromEntries(Object.entries(process.env).filter((entry) => typeof entry[1] === 'string')),
492
- ...mapActoviqEnvToAnthropicEnv(settingsEnv),
493
- ...settingsEnv,
494
- ...(envOverrides ?? {}),
495
- };
496
- return mergedEnv;
434
+ const baseEnv = Object.fromEntries(Object.entries(process.env).filter((entry) => typeof entry[1] === 'string'));
435
+ return provider.buildChildEnv(baseEnv, settingsEnv, envOverrides);
497
436
  }
498
437
  async function prefersSystemRipgrep(envOverrides) {
499
438
  const explicit = envOverrides?.USE_BUILTIN_RIPGREP ?? process.env.USE_BUILTIN_RIPGREP;
@@ -502,7 +441,7 @@ async function prefersSystemRipgrep(envOverrides) {
502
441
  }
503
442
  return Boolean(await findExecutableOnPath('rg'));
504
443
  }
505
- async function parseStdoutEvents(child, onEvent) {
444
+ async function parseStdoutEvents(child, onEvent, normalizer) {
506
445
  if (!child.stdout) {
507
446
  return;
508
447
  }
@@ -512,6 +451,13 @@ async function parseStdoutEvents(child, onEvent) {
512
451
  if (!trimmed) {
513
452
  continue;
514
453
  }
454
+ if (normalizer.rawText) {
455
+ // Plain-text provider — feed each line as-is; no JSON structure.
456
+ for (const event of normalizer.translate({ _raw: trimmed })) {
457
+ onEvent(event);
458
+ }
459
+ continue;
460
+ }
515
461
  let parsed;
516
462
  try {
517
463
  parsed = JSON.parse(trimmed);
@@ -524,7 +470,18 @@ async function parseStdoutEvents(child, onEvent) {
524
470
  if (!isRecord(parsed) || typeof parsed.type !== 'string') {
525
471
  throw new ActoviqBridgeProcessError('Actoviq Runtime emitted a malformed stream event.');
526
472
  }
527
- onEvent(parsed);
473
+ // Providers whose native wire format differs from the canonical
474
+ // system/assistant/result trio (pi, codex) translate here; claude is a
475
+ // passthrough normalizer, so its behavior is unchanged.
476
+ for (const event of normalizer.translate(parsed)) {
477
+ onEvent(event);
478
+ }
479
+ }
480
+ // Raw-text providers flush accumulated text at stream end.
481
+ if (normalizer.flush) {
482
+ for (const event of normalizer.flush()) {
483
+ onEvent(event);
484
+ }
528
485
  }
529
486
  }
530
487
  async function readStderr(child) {
@@ -578,6 +535,7 @@ export class ActoviqBridgeSession {
578
535
  title;
579
536
  defaults;
580
537
  started;
538
+ runAttempt = 0;
581
539
  constructor(client, id, title, defaults, started = false) {
582
540
  this.client = client;
583
541
  this.id = id;
@@ -586,15 +544,25 @@ export class ActoviqBridgeSession {
586
544
  this.started = started;
587
545
  }
588
546
  async send(prompt, options = {}) {
589
- const result = await this.client.run(prompt, this.buildRunOptions(options));
547
+ const runOptions = this.buildRunOptions(options);
548
+ this.runAttempt += 1;
549
+ const result = await this.client.run(prompt, runOptions);
590
550
  this.started = true;
591
551
  return result;
592
552
  }
593
553
  stream(prompt, options = {}) {
594
- const runStream = this.client.stream(prompt, this.buildRunOptions(options));
595
- void runStream.result.then(() => {
596
- this.started = true;
597
- }, () => undefined);
554
+ const wasStarted = this.started;
555
+ const runOptions = this.buildRunOptions(options);
556
+ const attempt = this.runAttempt + 1;
557
+ const runStream = this.client.stream(prompt, runOptions);
558
+ this.runAttempt = attempt;
559
+ this.started = true;
560
+ if (!wasStarted) {
561
+ void runStream.result.catch(() => {
562
+ if (this.runAttempt === attempt)
563
+ this.started = false;
564
+ });
565
+ }
598
566
  return runStream;
599
567
  }
600
568
  runSlashCommand(commandName, args = '', options = {}) {
@@ -915,6 +883,8 @@ export class ActoviqBridgeSessionsApi {
915
883
  export class ActoviqBridgeSdkClient {
916
884
  executable;
917
885
  cliPath;
886
+ directCli;
887
+ provider;
918
888
  defaults;
919
889
  sessions;
920
890
  agents;
@@ -924,9 +894,11 @@ export class ActoviqBridgeSdkClient {
924
894
  context;
925
895
  buddy;
926
896
  memory;
927
- constructor(executable, cliPath, defaults) {
897
+ constructor(executable, cliPath, directCli, provider, defaults) {
928
898
  this.executable = executable;
929
899
  this.cliPath = cliPath;
900
+ this.directCli = directCli;
901
+ this.provider = provider;
930
902
  this.defaults = defaults;
931
903
  this.sessions = new ActoviqBridgeSessionsApi(this);
932
904
  this.agents = new ActoviqBridgeAgentsApi(this);
@@ -943,9 +915,21 @@ export class ActoviqBridgeSdkClient {
943
915
  });
944
916
  }
945
917
  static async create(options = {}) {
918
+ if (options.directCli) {
919
+ const provider = resolveProvider(options.directCliProvider);
920
+ const executable = await provider.resolveExecutable(options.executable);
921
+ // cliPath is retained so a node+script pair works too, but left empty for
922
+ // a plain binary executable (real `claude` on PATH).
923
+ const cliPath = options.cliPath ?? '';
924
+ return new ActoviqBridgeSdkClient(executable, cliPath, true, provider, {
925
+ ...options,
926
+ executable: undefined,
927
+ cliPath: undefined,
928
+ });
929
+ }
946
930
  const executable = await resolveBunExecutable(options.executable);
947
931
  const cliPath = await resolveActoviqRuntimeCliPath(options.cliPath);
948
- return new ActoviqBridgeSdkClient(executable, cliPath, {
932
+ return new ActoviqBridgeSdkClient(executable, cliPath, false, resolveProvider('claude'), {
949
933
  ...options,
950
934
  executable: undefined,
951
935
  cliPath: undefined,
@@ -1128,11 +1112,14 @@ export class ActoviqBridgeSdkClient {
1128
1112
  throw new RunAbortedError('The Actoviq Runtime command was aborted before it started.');
1129
1113
  }
1130
1114
  const merged = this.mergeOptions(options);
1131
- const childEnv = buildChildEnvironment(merged.env);
1115
+ const childEnv = buildChildEnvironment(this.provider, merged.env);
1132
1116
  if (await prefersSystemRipgrep(merged.env)) {
1133
1117
  childEnv.USE_BUILTIN_RIPGREP = '0';
1134
1118
  }
1135
- const child = spawn(merged.executable ?? this.executable, [merged.cliPath ?? this.cliPath, ...rawArgs], {
1119
+ const spawnArgs = this.directCli
1120
+ ? (this.cliPath ? [this.cliPath, ...rawArgs] : rawArgs)
1121
+ : [merged.cliPath ?? this.cliPath, ...rawArgs];
1122
+ const child = spawn(merged.executable ?? this.executable, spawnArgs, {
1136
1123
  cwd: merged.workDir ?? this.defaults.workDir ?? process.cwd(),
1137
1124
  env: childEnv,
1138
1125
  stdio: ['ignore', 'pipe', 'pipe'],
@@ -1183,18 +1170,31 @@ export class ActoviqBridgeSdkClient {
1183
1170
  if (options.signal?.aborted) {
1184
1171
  throw new RunAbortedError('The Actoviq Runtime run was aborted before it started.');
1185
1172
  }
1186
- const childEnv = buildChildEnvironment(options.env);
1173
+ const childEnv = buildChildEnvironment(this.provider, options.env);
1187
1174
  if (await prefersSystemRipgrep(options.env)) {
1188
1175
  childEnv.USE_BUILTIN_RIPGREP = '0';
1189
1176
  }
1190
- const args = [options.cliPath ?? this.cliPath, ...buildCliArgs(prompt, options)];
1191
- const child = spawn(options.executable ?? this.executable, args, {
1177
+ // argv: claude (bundle or directCli) reuses the full stream-json flag set
1178
+ // in buildCliArgs(); pi/codex use their provider-specific buildArgs().
1179
+ const cliArgs = this.provider.id === 'claude'
1180
+ ? buildCliArgs(prompt, options)
1181
+ : this.provider.buildArgs(prompt, options);
1182
+ const args = this.directCli
1183
+ ? (this.cliPath ? [this.cliPath, ...cliArgs] : cliArgs)
1184
+ : [options.cliPath ?? this.cliPath, ...cliArgs];
1185
+ // Windows .cmd/.bat shims require shell:true (Node can't spawn them
1186
+ // directly), but shell-mode joining splits args on spaces — so a prompt
1187
+ // like "claude -p My favorite number…" reaches claude as just "My". When
1188
+ // shelling, quote each arg so cmd.exe preserves multi-word values.
1189
+ const shelled = IS_WINDOWS &&
1190
+ /\.(?:cmd|bat)$/i.test(options.executable ?? this.executable);
1191
+ const spawnArgs = shelled ? args.map(quoteForWindowsShell) : args;
1192
+ const child = spawn(options.executable ?? this.executable, spawnArgs, {
1192
1193
  cwd: options.workDir ?? this.defaults.workDir ?? process.cwd(),
1193
1194
  env: childEnv,
1194
1195
  stdio: ['ignore', 'pipe', 'pipe'],
1195
1196
  windowsHide: true,
1196
- shell: IS_WINDOWS &&
1197
- /\.(?:cmd|bat)$/i.test(options.executable ?? this.executable),
1197
+ shell: shelled,
1198
1198
  });
1199
1199
  const events = [];
1200
1200
  const assistantMessages = [];
@@ -1206,6 +1206,7 @@ export class ActoviqBridgeSdkClient {
1206
1206
  child.kill('SIGTERM');
1207
1207
  };
1208
1208
  options.signal?.addEventListener('abort', abort, { once: true });
1209
+ const normalizer = this.provider.createNormalizer();
1209
1210
  const stdoutPromise = parseStdoutEvents(child, event => {
1210
1211
  events.push(structuredClone(event));
1211
1212
  if (event.type === 'system' && event.subtype === 'init') {
@@ -1218,7 +1219,7 @@ export class ActoviqBridgeSdkClient {
1218
1219
  resultEvent = structuredClone(event);
1219
1220
  }
1220
1221
  controller.emit(event);
1221
- });
1222
+ }, normalizer);
1222
1223
  const stderrPromise = readStderr(child);
1223
1224
  const exitCodePromise = new Promise((resolve, reject) => {
1224
1225
  child.once('error', reject);
@@ -1 +1 @@
1
- {"version":3,"file":"actoviqBridgeSdk.js","sourceRoot":"","sources":["../../../src/parity/actoviqBridgeSdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actoviqBridgeSdk.js","sourceRoot":"","sources":["../../../src/parity/actoviqBridgeSdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ export type InProcessProvider = 'anthropic' | 'openai';
2
+ export type ModelModality = 'text' | 'multimodal';
3
+ /** Runtime kind — the product / endpoint the config connects to.
4
+ *
5
+ * `hadamard` — use the SDK's default provider (clean SDK, no separate credentials)
6
+ * `claude` — Anthropic / Claude API (Anthropic wire protocol)
7
+ * `codewhale` — CodeWhale API (Anthropic wire protocol)
8
+ * `pi` — Pi API (OpenAI wire protocol)
9
+ * `codex` — Codex API (OpenAI wire protocol)
10
+ * `reasonix` — Reasonix API (OpenAI wire protocol)
11
+ * `crush` — Crush API (OpenAI wire protocol)
12
+ */
13
+ export type BridgeRuntime = 'hadamard' | 'claude' | 'codewhale' | 'pi' | 'codex' | 'reasonix' | 'crush';
14
+ /** Map a runtime id to the wire protocol (in-process provider). */
15
+ export declare function runtimeToProvider(rt: BridgeRuntime): InProcessProvider | null;
16
+ export interface ProviderModelEntry {
17
+ /** Model id (e.g. "deepseek-chat", "gpt-4o"). */
18
+ name: string;
19
+ /** Whether the model supports 1 M context. */
20
+ context1M?: boolean;
21
+ /** Text-only or multimodal (vision). */
22
+ modality?: ModelModality;
23
+ }
24
+ export interface PersistedBridgeConfig {
25
+ name: string;
26
+ /** Runtime: 'hadamard' uses the SDK's default provider/credentials;
27
+ * 'bridge' uses this config's provider/apiKey/baseURL. */
28
+ runtime: BridgeRuntime;
29
+ provider: InProcessProvider;
30
+ apiKey?: string;
31
+ baseURL?: string;
32
+ /** The currently selected model for this config. */
33
+ model?: string;
34
+ /** Registered models for this config (display + quick-switch). */
35
+ models?: ProviderModelEntry[];
36
+ }
37
+ export interface PersistedBridgeConfigs {
38
+ configs: PersistedBridgeConfig[];
39
+ }
40
+ export declare function getBridgeConfigsPath(homeDir?: string): string;
41
+ export declare const VALID_RUNTIMES: BridgeRuntime[];
42
+ export declare function readBridgeConfigs(homeDir?: string): PersistedBridgeConfigs;
43
+ export declare function writeBridgeConfigs(configs: PersistedBridgeConfigs, homeDir?: string): void;
44
+ export declare function addBridgeConfig(config: PersistedBridgeConfig, homeDir?: string): PersistedBridgeConfigs;
45
+ export declare function removeBridgeConfig(name: string, homeDir?: string): PersistedBridgeConfigs;
46
+ export declare function findBridgeConfig(name: string, homeDir?: string): PersistedBridgeConfig | undefined;
47
+ /** Mask an API key for display: first 4 + … + last 4. */
48
+ export declare function maskApiKey(key: string | undefined): string;
49
+ //# sourceMappingURL=bridgeConfigs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridgeConfigs.d.ts","sourceRoot":"","sources":["../../../src/parity/bridgeConfigs.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,YAAY,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GACrB,UAAU,GACV,QAAQ,GACR,WAAW,GACX,IAAI,GACJ,OAAO,GACP,UAAU,GACV,OAAO,CAAC;AAEZ,mEAAmE;AACnE,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,aAAa,GAAG,iBAAiB,GAAG,IAAI,CAa7E;AAED,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb;+DAC2D;IAC3D,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAsBD,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,MAAqB,GAAG,MAAM,CAE3E;AAED,eAAO,MAAM,cAAc,EAAE,aAAa,EAA4E,CAAC;AAYvH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,MAAqB,GAAG,sBAAsB,CAgCxF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,sBAAsB,EAAE,OAAO,GAAE,MAAqB,GAAG,IAAI,CAIxG;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,GAAE,MAAqB,GAAG,sBAAsB,CAOrH;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,MAAqB,GAAG,sBAAsB,CAKvG;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,MAAqB,GAAG,qBAAqB,GAAG,SAAS,CAEhH;AAED,yDAAyD;AACzD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI1D"}