echo-cli-agent 0.1.7 → 0.1.9

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 (53) hide show
  1. package/README.md +11 -2
  2. package/dist/src/dispatch/dispatcher.d.ts +19 -3
  3. package/dist/src/dispatch/dispatcher.js +98 -4
  4. package/dist/src/dispatch/dispatcher.js.map +1 -1
  5. package/dist/src/health/server.d.ts +5 -1
  6. package/dist/src/health/server.js +8 -1
  7. package/dist/src/health/server.js.map +1 -1
  8. package/dist/src/index.js +8 -3
  9. package/dist/src/index.js.map +1 -1
  10. package/dist/src/providers/codex.js +25 -0
  11. package/dist/src/providers/codex.js.map +1 -1
  12. package/dist/src/providers/detection.d.ts +11 -0
  13. package/dist/src/providers/detection.js +96 -0
  14. package/dist/src/providers/detection.js.map +1 -0
  15. package/dist/src/providers/registry.d.ts +23 -0
  16. package/dist/src/providers/registry.js +59 -29
  17. package/dist/src/providers/registry.js.map +1 -1
  18. package/dist/src/runtime/agent-runtime.js +22 -10
  19. package/dist/src/runtime/agent-runtime.js.map +1 -1
  20. package/dist/src/session/session-manager.d.ts +41 -2
  21. package/dist/src/session/session-manager.js +178 -34
  22. package/dist/src/session/session-manager.js.map +1 -1
  23. package/dist/src/session/terminal-line-sanitizer.d.ts +7 -0
  24. package/dist/src/session/terminal-line-sanitizer.js +21 -0
  25. package/dist/src/session/terminal-line-sanitizer.js.map +1 -0
  26. package/dist/src/session/terminal-tail-buffer.d.ts +70 -0
  27. package/dist/src/session/terminal-tail-buffer.js +149 -0
  28. package/dist/src/session/terminal-tail-buffer.js.map +1 -0
  29. package/dist/src/shared/cli-detection-types.d.ts +19 -0
  30. package/dist/src/shared/cli-detection-types.js +2 -0
  31. package/dist/src/shared/cli-detection-types.js.map +1 -0
  32. package/dist/src/shared/node-cli-command-resolution.d.ts +8 -0
  33. package/dist/src/shared/node-cli-command-resolution.js +11 -1
  34. package/dist/src/shared/node-cli-command-resolution.js.map +1 -1
  35. package/dist/src/transport/taskmcp-client.d.ts +3 -1
  36. package/dist/src/transport/taskmcp-client.js +4 -0
  37. package/dist/src/transport/taskmcp-client.js.map +1 -1
  38. package/dist/src/types/protocol.d.ts +53 -1
  39. package/dist/src/types/protocol.js +33 -1
  40. package/dist/src/types/protocol.js.map +1 -1
  41. package/dist/tests/cli-detection.test.d.ts +1 -0
  42. package/dist/tests/cli-detection.test.js +62 -0
  43. package/dist/tests/cli-detection.test.js.map +1 -0
  44. package/dist/tests/providers.test.js +1 -0
  45. package/dist/tests/providers.test.js.map +1 -1
  46. package/dist/tests/session-manager.test.d.ts +1 -0
  47. package/dist/tests/session-manager.test.js +115 -0
  48. package/dist/tests/session-manager.test.js.map +1 -0
  49. package/dist/tests/terminal-tail-buffer.test.d.ts +1 -0
  50. package/dist/tests/terminal-tail-buffer.test.js +68 -0
  51. package/dist/tests/terminal-tail-buffer.test.js.map +1 -0
  52. package/package.json +1 -1
  53. package/scripts/service.mjs +25 -0
package/README.md CHANGED
@@ -16,6 +16,9 @@ Requires Node.js ≥ 20.
16
16
  # Check local environment
17
17
  echo-cli-agent doctor
18
18
 
19
+ # Print the shared local CLI detection snapshot
20
+ echo-cli-agent detect
21
+
19
22
  # Register this device
20
23
  echo-cli-agent enroll --server <server-url>/api/v1 --code <pairing-code>
21
24
 
@@ -58,10 +61,16 @@ echo-cli-agent update --config /absolute/path/config.json
58
61
  From the repository root, run:
59
62
 
60
63
  ```bash
61
- ./publish-npm.mjs
64
+ ./publish-latest.sh
62
65
  ```
63
66
 
64
- The script securely prompts for an npm token, builds the package, automatically increments the patch version when the local version is not newer than npm, and publishes to the public npm registry. The token is only written to a temporary private file during publishing and is removed immediately afterward.
67
+ The script checks for Node.js 20 or newer, then securely prompts for an npm token, builds the package, automatically increments the patch version when the local version is not newer than npm, and publishes to the public npm registry. The token is only written to a temporary private file during publishing and is removed immediately afterward.
68
+
69
+ If `node` is not your Node.js 20+ executable, provide one explicitly:
70
+
71
+ ```bash
72
+ NODE_BIN=/path/to/node-20-or-newer ./publish-latest.sh
73
+ ```
65
74
 
66
75
  ## License
67
76
 
@@ -1,13 +1,16 @@
1
1
  import type { AgentConfig } from '../config.js';
2
2
  import type { DiagnosticLogger } from '../logging/diagnostic-log.js';
3
- import type { DeliveryHooks } from '../session/session-manager.js';
3
+ import type { DeliveryHooks, TerminalTailQuery, TerminalTailSnapshot } from '../session/session-manager.js';
4
+ import type { TerminalTailReadOptions } from '../session/terminal-tail-buffer.js';
4
5
  import type { CliWindowRecord, ExecScriptRecord, RunRecord, RunStatus } from '../state/state-store.js';
5
- import { type AgentCliAck, type AgentCliControlAck, type AgentCliEvent, type AgentCliRequest, type DeliveryResult, type ExecScriptAck, type WorkspaceAck } from '../types/protocol.js';
6
+ import { type AgentCliAck, type AgentCliControlAck, type AgentCliOutputTailAck, type AgentCliEvent, type AgentCliRequest, type DeliveryResult, type ExecScriptAck, type WorkspaceAck, type LocalCliDetectAck } from '../types/protocol.js';
7
+ import type { CliDetectionSnapshot } from '../shared/cli-detection-types.js';
6
8
  export type SessionDelivery = {
7
9
  deliver(request: AgentCliRequest, hooks: DeliveryHooks): Promise<DeliveryResult>;
8
10
  cancelRun?(runId: string): boolean;
9
11
  createWindow?(request: AgentCliRequest): Promise<CliWindowRecord>;
10
12
  listWindows?(agentType?: string): CliWindowRecord[];
13
+ peekOutput?(query: TerminalTailQuery, options?: TerminalTailReadOptions): TerminalTailSnapshot | undefined;
11
14
  };
12
15
  export type DeliveryState = {
13
16
  getRun(runId: string): RunRecord | undefined;
@@ -24,18 +27,31 @@ export type EventSender = {
24
27
  sendControlAck(ack: AgentCliControlAck): Promise<void>;
25
28
  sendExecScriptAck?(ack: ExecScriptAck): Promise<void>;
26
29
  sendWorkspaceAck?(ack: WorkspaceAck): Promise<void>;
30
+ sendLocalCliDetectAck?(ack: LocalCliDetectAck): Promise<void>;
31
+ sendOutputTailAck?(ack: AgentCliOutputTailAck): Promise<void>;
27
32
  };
33
+ export type LocalCliDetection = (refresh: boolean) => Promise<CliDetectionSnapshot>;
28
34
  export declare class Dispatcher {
29
35
  private readonly sessions;
30
36
  private readonly state;
31
37
  private readonly client;
32
38
  private readonly logger;
33
39
  private readonly config?;
40
+ private readonly detectLocalCli;
34
41
  private readonly queues;
35
42
  private readonly execScriptInFlight;
36
43
  private readonly workspaceInFlight;
37
- constructor(sessions: SessionDelivery, state: DeliveryState & ExecScriptState, client: EventSender, logger: DiagnosticLogger, config?: AgentConfig | undefined);
44
+ constructor(sessions: SessionDelivery, state: DeliveryState & ExecScriptState, client: EventSender, logger: DiagnosticLogger, config?: AgentConfig | undefined, detectLocalCli?: LocalCliDetection);
38
45
  accept(message: unknown): void;
46
+ private acceptDetection;
47
+ /**
48
+ * Answer a terminal tail read. This never queues behind a prompt: the point is
49
+ * to observe a session that is busy, so it must not wait on that session.
50
+ *
51
+ * `idle` means no live PTY owns the run — the CLI already finished, or this
52
+ * device restarted. There is no stored transcript to fall back to by design.
53
+ */
54
+ private acceptOutputTail;
39
55
  waitForIdle(): Promise<void>;
40
56
  private acceptWorkspace;
41
57
  private dispatchWorkspace;
@@ -1,8 +1,9 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import { realpath, stat } from 'node:fs/promises';
3
3
  import { isAbsolute, relative, resolve } from 'node:path';
4
- import { AgentCliRequestSchema, ExecScriptRequestSchema, WorkspaceScanRequestSchema, WorkspaceSyncRequestSchema } from '../types/protocol.js';
4
+ import { AgentCliOutputTailRequestSchema, AgentCliRequestSchema, ExecScriptRequestSchema, WorkspaceScanRequestSchema, WorkspaceSyncRequestSchema, LocalCliDetectRequestSchema } from '../types/protocol.js';
5
5
  import { readAgentModelCatalog } from '../providers/model-catalog.js';
6
+ import { cliDetection } from '../providers/detection.js';
6
7
  import { WorkspaceManager } from '../workspace/workspace-manager.js';
7
8
  export class Dispatcher {
8
9
  sessions;
@@ -10,15 +11,17 @@ export class Dispatcher {
10
11
  client;
11
12
  logger;
12
13
  config;
14
+ detectLocalCli;
13
15
  queues = new Map();
14
16
  execScriptInFlight = new Map();
15
17
  workspaceInFlight = new Map();
16
- constructor(sessions, state, client, logger, config) {
18
+ constructor(sessions, state, client, logger, config, detectLocalCli = (refresh) => cliDetection.detect(refresh)) {
17
19
  this.sessions = sessions;
18
20
  this.state = state;
19
21
  this.client = client;
20
22
  this.logger = logger;
21
23
  this.config = config;
24
+ this.detectLocalCli = detectLocalCli;
22
25
  }
23
26
  accept(message) {
24
27
  const workspaceSync = WorkspaceSyncRequestSchema.safeParse(message);
@@ -26,6 +29,16 @@ export class Dispatcher {
26
29
  this.acceptWorkspace(workspaceSync.data);
27
30
  return;
28
31
  }
32
+ const detection = LocalCliDetectRequestSchema.safeParse(message);
33
+ if (detection.success) {
34
+ void this.acceptDetection(detection.data);
35
+ return;
36
+ }
37
+ const outputTail = AgentCliOutputTailRequestSchema.safeParse(message);
38
+ if (outputTail.success) {
39
+ void this.acceptOutputTail(outputTail.data);
40
+ return;
41
+ }
29
42
  const workspaceScan = WorkspaceScanRequestSchema.safeParse(message);
30
43
  if (workspaceScan.success) {
31
44
  this.acceptWorkspace(workspaceScan.data);
@@ -68,6 +81,85 @@ export class Dispatcher {
68
81
  });
69
82
  this.queues.set(queueKey, next);
70
83
  }
84
+ async acceptDetection(request) {
85
+ try {
86
+ const snapshot = await this.detectLocalCli(request.refresh);
87
+ if (this.client.sendLocalCliDetectAck) {
88
+ await this.client.sendLocalCliDetectAck({ type: 'local_cli.detect.ack', request_id: request.request_id, status: 'done', snapshot: snapshot });
89
+ }
90
+ }
91
+ catch (error) {
92
+ if (this.client.sendLocalCliDetectAck) {
93
+ await this.client.sendLocalCliDetectAck({ type: 'local_cli.detect.ack', request_id: request.request_id, status: 'failed', error: this.message(error) }).catch(() => undefined);
94
+ }
95
+ }
96
+ }
97
+ /**
98
+ * Answer a terminal tail read. This never queues behind a prompt: the point is
99
+ * to observe a session that is busy, so it must not wait on that session.
100
+ *
101
+ * `idle` means no live PTY owns the run — the CLI already finished, or this
102
+ * device restarted. There is no stored transcript to fall back to by design.
103
+ */
104
+ async acceptOutputTail(request) {
105
+ const send = this.client.sendOutputTailAck;
106
+ if (!send)
107
+ return;
108
+ const reply = (ack) => send.call(this.client, ack).catch((error) => {
109
+ this.logger.warn('cli-output-tail-report-failed', {
110
+ requestId: request.request_id,
111
+ error: this.message(error)
112
+ });
113
+ });
114
+ try {
115
+ if (!this.sessions.peekOutput)
116
+ throw new Error('当前 Agent 不支持读取终端输出');
117
+ const snapshot = this.sessions.peekOutput({
118
+ ...(request.run_id ? { runId: request.run_id } : {}),
119
+ ...(request.task_id ? { taskId: request.task_id } : {}),
120
+ ...(request.agent_type ? { agentType: request.agent_type } : {})
121
+ }, {
122
+ ...(request.lines === undefined ? {} : { limit: request.lines }),
123
+ ...(request.before_cursor === undefined ? {} : { beforeCursor: request.before_cursor })
124
+ });
125
+ if (!snapshot) {
126
+ await reply({
127
+ type: 'agent_cli.output_tail.ack',
128
+ request_id: request.request_id,
129
+ status: 'idle',
130
+ ...(request.run_id ? { run_id: request.run_id } : {})
131
+ });
132
+ return;
133
+ }
134
+ await reply({
135
+ type: 'agent_cli.output_tail.ack',
136
+ request_id: request.request_id,
137
+ status: 'done',
138
+ run_id: snapshot.runId,
139
+ session_id: snapshot.sessionId,
140
+ agent_type: snapshot.agentType,
141
+ lines: snapshot.lines,
142
+ start_cursor: snapshot.startCursor,
143
+ next_cursor: snapshot.nextCursor,
144
+ oldest_cursor: snapshot.oldestCursor,
145
+ latest_cursor: snapshot.latestCursor,
146
+ has_more: snapshot.hasMore,
147
+ truncated: snapshot.truncated,
148
+ limited: snapshot.limited,
149
+ idle_ms: snapshot.idleMs ?? null,
150
+ markers: snapshot.markers
151
+ });
152
+ }
153
+ catch (error) {
154
+ await reply({
155
+ type: 'agent_cli.output_tail.ack',
156
+ request_id: request.request_id,
157
+ status: 'failed',
158
+ ...(request.run_id ? { run_id: request.run_id } : {}),
159
+ error: this.message(error)
160
+ });
161
+ }
162
+ }
71
163
  async waitForIdle() {
72
164
  await Promise.all([
73
165
  ...this.queues.values(),
@@ -283,7 +375,9 @@ export class Dispatcher {
283
375
  task_id: window.taskId,
284
376
  agent_type: window.agentType,
285
377
  name: window.name,
286
- ...(window.providerSessionId ? { session_id: window.providerSessionId } : {})
378
+ // Before the first prompt this is the stable host/window id. Once the
379
+ // CLI emits its native id, SessionManager replaces it below.
380
+ session_id: window.providerSessionId ?? window.sessionId
287
381
  });
288
382
  return;
289
383
  }
@@ -323,7 +417,7 @@ export class Dispatcher {
323
417
  task_id: window.taskId,
324
418
  agent_type: window.agentType,
325
419
  name: window.name,
326
- ...(window.providerSessionId ? { session_id: window.providerSessionId } : {})
420
+ session_id: window.providerSessionId ?? window.sessionId
327
421
  }))
328
422
  });
329
423
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../src/dispatch/dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../src/dispatch/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { DiagnosticLogger } from '../logging/diagnostic-log.js';
2
2
  import type { RunRecord } from '../state/state-store.js';
3
+ import type { CliDetectionSnapshot } from '../shared/cli-detection-types.js';
3
4
  export type HealthSnapshot = {
4
5
  deviceId: string;
5
6
  connected: boolean;
@@ -7,6 +8,8 @@ export type HealthSnapshot = {
7
8
  storedRuns: number;
8
9
  startedAt: string;
9
10
  runs: RunRecord[];
11
+ capabilities?: string[];
12
+ detection?: CliDetectionSnapshot;
10
13
  };
11
14
  export declare class HealthServer {
12
15
  private readonly host;
@@ -14,8 +17,9 @@ export declare class HealthServer {
14
17
  private readonly snapshot;
15
18
  private readonly logFile;
16
19
  private readonly logger;
20
+ private readonly detection?;
17
21
  private server;
18
- constructor(host: string, port: number, snapshot: () => HealthSnapshot, logFile: string, logger: DiagnosticLogger);
22
+ constructor(host: string, port: number, snapshot: () => HealthSnapshot, logFile: string, logger: DiagnosticLogger, detection?: ((refresh: boolean) => Promise<CliDetectionSnapshot>) | undefined);
19
23
  get boundPort(): number;
20
24
  start(): Promise<void>;
21
25
  stop(): Promise<void>;
@@ -6,13 +6,15 @@ export class HealthServer {
6
6
  snapshot;
7
7
  logFile;
8
8
  logger;
9
+ detection;
9
10
  server;
10
- constructor(host, port, snapshot, logFile, logger) {
11
+ constructor(host, port, snapshot, logFile, logger, detection) {
11
12
  this.host = host;
12
13
  this.port = port;
13
14
  this.snapshot = snapshot;
14
15
  this.logFile = logFile;
15
16
  this.logger = logger;
17
+ this.detection = detection;
16
18
  }
17
19
  get boundPort() {
18
20
  const address = this.server?.address();
@@ -56,6 +58,11 @@ export class HealthServer {
56
58
  this.json(response, 200, this.snapshot());
57
59
  return;
58
60
  }
61
+ if (url.pathname === '/api/agents') {
62
+ const snapshot = this.detection ? await this.detection(url.searchParams.get('refresh') === '1' || url.searchParams.get('refresh') === 'true') : this.snapshot().detection;
63
+ this.json(response, 200, snapshot ?? { providers: [], detectedIds: [] });
64
+ return;
65
+ }
59
66
  if (url.pathname === '/api/events') {
60
67
  this.json(response, 200, { events: await this.recentEvents() });
61
68
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/health/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/health/server.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -4,7 +4,7 @@ import { existsSync, readFileSync } from 'node:fs';
4
4
  import { dirname, resolve } from 'node:path';
5
5
  import { fileURLToPath } from 'node:url';
6
6
  import { defaultConfigPath, enrollDevice, loadAgentConfig, redactedConfig } from './config.js';
7
- import { probeProviders } from './providers/registry.js';
7
+ import { cliDetection } from './providers/detection.js';
8
8
  import { AgentRuntime } from './runtime/agent-runtime.js';
9
9
  import { hydrateShellPath, mergePathSegments } from './runtime/cli/hydrate-shell-path.js';
10
10
  function agentVersion() {
@@ -60,11 +60,14 @@ async function doctor() {
60
60
  ok: !configError,
61
61
  config: config ? redactedConfig(config) : undefined,
62
62
  configError,
63
- providers: probeProviders()
63
+ providers: await cliDetection.detect(true)
64
64
  }, null, 2)}\n`);
65
65
  if (configError)
66
66
  process.exitCode = 1;
67
67
  }
68
+ async function detect() {
69
+ process.stdout.write(`${JSON.stringify(await cliDetection.detect(true), null, 2)}\n`);
70
+ }
68
71
  async function enroll(args) {
69
72
  const serverUrl = option(args, '--server');
70
73
  const code = option(args, '--code');
@@ -128,6 +131,8 @@ if (command === '--version' || command === '-v' || command === 'version')
128
131
  process.stdout.write(`${agentVersion()}\n`);
129
132
  else if (command === 'doctor')
130
133
  void doctor();
134
+ else if (command === 'detect')
135
+ void detect();
131
136
  else if (command === 'run')
132
137
  void run().catch((error) => {
133
138
  process.stderr.write(`echo-cli-agent failed: ${error instanceof Error ? error.message : String(error)}\n`);
@@ -166,7 +171,7 @@ else if (command === 'update') {
166
171
  }
167
172
  }
168
173
  else {
169
- process.stderr.write('Usage: echo-cli-agent [run|doctor|enroll|service:install|service:uninstall|update|version]\n');
174
+ process.stderr.write('Usage: echo-cli-agent [run|detect|doctor|enroll|service:install|service:uninstall|update|version]\n');
170
175
  process.exitCode = 2;
171
176
  }
172
177
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,32 @@
1
1
  import { extractNamedSessionId, normalizeArguments, providerEnvironment, resolveCodexExecutable, selectExecutable } from './provider.js';
2
2
  const CODEX_SESSION_ID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
3
+ function extractThreadStartedId(output) {
4
+ const plain = output.replace(/\u001b\[[0-?]*[ -/]*[@-~]/g, '');
5
+ for (const line of plain.split(/\r?\n/)) {
6
+ const start = line.indexOf('{');
7
+ if (start < 0)
8
+ continue;
9
+ try {
10
+ const event = JSON.parse(line.slice(start));
11
+ if (event.type !== 'thread.started' || typeof event.thread_id !== 'string')
12
+ continue;
13
+ if (CODEX_SESSION_ID.test(event.thread_id))
14
+ return event.thread_id;
15
+ }
16
+ catch {
17
+ // PTY chunks can split a JSON event; accumulated output is retried on the next chunk.
18
+ }
19
+ }
20
+ return undefined;
21
+ }
3
22
  export const codexProvider = {
4
23
  id: 'codex',
24
+ reuseSession: false,
5
25
  versionArguments: () => ['--version'],
6
26
  extractSessionId(output) {
27
+ const threadId = extractThreadStartedId(output);
28
+ if (threadId)
29
+ return threadId;
7
30
  const sessionId = extractNamedSessionId(output);
8
31
  return sessionId && CODEX_SESSION_ID.test(sessionId) ? sessionId : undefined;
9
32
  },
@@ -14,6 +37,8 @@ export const codexProvider = {
14
37
  if (request.reasoning_effort)
15
38
  args.push('-c', `model_reasoning_effort=${JSON.stringify(request.reasoning_effort)}`);
16
39
  const protocolArguments = normalizeArguments(request.config.protocol_arguments);
40
+ if (!protocolArguments.includes('--json'))
41
+ args.push('--json');
17
42
  // Codex sessions are local, user-created workstations. Keep every new
18
43
  // session in the requested Full Access mode unless explicitly configured
19
44
  // through protocol arguments in a future provider-specific policy.
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/providers/codex.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,eAAe,CAAA;AAEtB,MAAM,gBAAgB,GAAG,iEAAiE,CAAA;AAE1F,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,EAAE,EAAE,OAAO;IACX,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC;IACrC,gBAAgB,CAAC,MAAM;QACrB,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;QAC/C,OAAO,SAAS,IAAI,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9E,CAAC;IACD,eAAe,CAAC,OAAO,EAAE,OAAO;QAC9B,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;QACtE,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QACtD,IAAI,OAAO,CAAC,gBAAgB;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,0BAA0B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;QACnH,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAC/E,sEAAsE;QACtE,yEAAyE;QACzE,mEAAmE;QACnE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,4CAA4C,CAAC,EAAE,CAAC;YAC9E,IAAI,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;QACzD,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAC5F,IAAI,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAA;QAC/B,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QACrE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QACvC,CAAC;QACD,MAAM,GAAG,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE;YACjF,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;YAClF,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;IAC3E,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/providers/codex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { CliDetectionSnapshot, CliProviderDetection } from '../shared/cli-detection-types.js';
2
+ export type ProviderDetection = CliProviderDetection;
3
+ export type DetectionSnapshot = CliDetectionSnapshot;
4
+ export declare class CliDetectionService {
5
+ private snapshot?;
6
+ private pending;
7
+ detect(forceRefresh?: boolean): Promise<CliDetectionSnapshot>;
8
+ private detectNow;
9
+ }
10
+ export declare const cliDetection: CliDetectionService;
11
+ export declare function providerCapabilityIds(snapshot: CliDetectionSnapshot): string[];