aws-runtime-bridge 1.3.5 → 1.3.7

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.
@@ -10,6 +10,7 @@ export declare class CodexSdkAdapter extends EventEmitter implements BaseProvide
10
10
  readonly providerId = "codex";
11
11
  readonly displayName = "Codex";
12
12
  private sessions;
13
+ private sdkModule?;
13
14
  startSession(sessionId: string, config: AdapterSessionConfig): Promise<void>;
14
15
  sendMessage(sessionId: string, message: string): Promise<void>;
15
16
  sendConfirmation(_sessionId: string, _accept: boolean): Promise<void>;
@@ -27,6 +28,11 @@ export declare class CodexSdkAdapter extends EventEmitter implements BaseProvide
27
28
  getSessionStatus(sessionId: string): SessionStatus | undefined;
28
29
  getSessionPid(_sessionId: string): number | undefined;
29
30
  cleanup(): void;
31
+ /**
32
+ * 按需加载 Codex SDK:只有启动 Codex provider 时才解析重依赖,
33
+ * 避免 bridge 基础安装默认拉取 @openai/codex 的多平台二进制包。
34
+ */
35
+ private loadSdk;
30
36
  private buildCodexOptions;
31
37
  private warnUnsupportedMcpConfig;
32
38
  private buildThreadOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"CodexSdkAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/CodexSdkAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiB3C,OAAO,KAAK,EAEV,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EAEnB,aAAa,EAEd,MAAM,YAAY,CAAC;AAgRpB,qBAAa,eAAgB,SAAQ,YAAa,YAAW,mBAAmB;IAC9E,QAAQ,CAAC,UAAU,WAAW;IAC9B,QAAQ,CAAC,WAAW,WAAW;IAE/B,OAAO,CAAC,QAAQ,CAAwC;IAElD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkE5E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC9D,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7F,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAanG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBlD,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC;IA2BhB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAIzD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK3D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI9D,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIrD,OAAO,IAAI,IAAI;IAOf,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,kBAAkB;YAqCZ,OAAO;IAiCrB,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,gBAAgB;IA+ExB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,kBAAkB;IAuD1B,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,cAAc;YAcR,cAAc;IAuB5B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,2BAA2B;CAOpC"}
1
+ {"version":3,"file":"CodexSdkAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/CodexSdkAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgB3C,OAAO,KAAK,EAEV,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EAEnB,aAAa,EAEd,MAAM,YAAY,CAAC;AA0RpB,qBAAa,eAAgB,SAAQ,YAAa,YAAW,mBAAmB;IAC9E,QAAQ,CAAC,UAAU,WAAW;IAC9B,QAAQ,CAAC,WAAW,WAAW;IAE/B,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,SAAS,CAAC,CAAiB;IAE7B,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmE5E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC9D,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7F,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAanG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBlD,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC;IA4BhB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAIzD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK3D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI9D,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIrD,OAAO,IAAI,IAAI;IAOf;;;OAGG;YACW,OAAO;IA6BrB,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,kBAAkB;YAqCZ,OAAO;IAiCrB,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,gBAAgB;IA+ExB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,kBAAkB;IAuD1B,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,cAAc;YAcR,cAAc;IAuB5B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,2BAA2B;CAOpC"}
@@ -5,9 +5,14 @@
5
5
  * 将 Codex 事件流映射到 runtime-bridge 统一 ProviderEvent。
6
6
  */
7
7
  import { EventEmitter } from 'node:events';
8
- import { Codex, } from '@openai/codex-sdk';
9
8
  import { v4 as uuidv4 } from 'uuid';
10
9
  import { getToolActionInfo } from './types.js';
10
+ function hasErrorCode(error) {
11
+ return error instanceof Error && 'code' in error && typeof error.code === 'string';
12
+ }
13
+ function isMissingPackageError(error, packageName) {
14
+ return hasErrorCode(error) && error.code === 'ERR_MODULE_NOT_FOUND' && error.message.includes(packageName);
15
+ }
11
16
  const CODEX_IDLE_THRESHOLD_MS = 1500;
12
17
  function isRecord(value) {
13
18
  return typeof value === 'object' && value !== null && !Array.isArray(value);
@@ -243,7 +248,8 @@ export class CodexSdkAdapter extends EventEmitter {
243
248
  totalUsage: { inputTokens: 0, outputTokens: 0 },
244
249
  };
245
250
  try {
246
- const codex = new Codex(this.buildCodexOptions(config));
251
+ const sdk = await this.loadSdk();
252
+ const codex = new sdk.Codex(this.buildCodexOptions(config));
247
253
  this.warnUnsupportedMcpConfig(config);
248
254
  const thread = codex.startThread(this.buildThreadOptions(config));
249
255
  const entry = {
@@ -365,7 +371,8 @@ export class CodexSdkAdapter extends EventEmitter {
365
371
  this.sessions.delete(sessionId);
366
372
  }
367
373
  async resumeSession(sessionId, providerSessionId, config) {
368
- const codex = new Codex(this.buildCodexOptions(config));
374
+ const sdk = await this.loadSdk();
375
+ const codex = new sdk.Codex(this.buildCodexOptions(config));
369
376
  this.warnUnsupportedMcpConfig(config);
370
377
  const thread = codex.resumeThread(providerSessionId, this.buildThreadOptions(config));
371
378
  const adapterSession = {
@@ -411,6 +418,37 @@ export class CodexSdkAdapter extends EventEmitter {
411
418
  }
412
419
  this.sessions.clear();
413
420
  }
421
+ /**
422
+ * 按需加载 Codex SDK:只有启动 Codex provider 时才解析重依赖,
423
+ * 避免 bridge 基础安装默认拉取 @openai/codex 的多平台二进制包。
424
+ */
425
+ async loadSdk() {
426
+ if (!this.sdkModule) {
427
+ try {
428
+ this.sdkModule = await import('@openai/codex-sdk');
429
+ }
430
+ catch (error) {
431
+ if (isMissingPackageError(error, '@openai/codex-sdk')) {
432
+ throw new Error([
433
+ 'Codex SDK provider is not installed.',
434
+ '',
435
+ 'aws-runtime-bridge keeps heavy provider SDKs optional to reduce global install size.',
436
+ 'To use SDK mode with command "codex", install:',
437
+ '',
438
+ ' npm install -g @openai/codex-sdk',
439
+ '',
440
+ 'If aws-runtime-bridge is installed locally, install the SDK in the same project:',
441
+ '',
442
+ ' npm install @openai/codex-sdk',
443
+ '',
444
+ `Original error: ${error instanceof Error ? error.message : String(error)}`,
445
+ ].join('\n'));
446
+ }
447
+ throw error;
448
+ }
449
+ }
450
+ return this.sdkModule;
451
+ }
414
452
  buildCodexOptions(config) {
415
453
  const env = toEnvRecord(process.env, config.envOverrides);
416
454
  const options = { env };
@@ -16,6 +16,7 @@ export declare class OpencodeSdkAdapter extends EventEmitter implements BaseProv
16
16
  readonly providerId = "opencode";
17
17
  readonly displayName = "OpenCode";
18
18
  private sessions;
19
+ private sdkModule?;
19
20
  startSession(sessionId: string, config: AdapterSessionConfig): Promise<void>;
20
21
  sendMessage(sessionId: string, message: string): Promise<void>;
21
22
  sendConfirmation(sessionId: string, accept: boolean): Promise<void>;
@@ -32,6 +33,11 @@ export declare class OpencodeSdkAdapter extends EventEmitter implements BaseProv
32
33
  getSessionStatus(sessionId: string): SessionStatus | undefined;
33
34
  getSessionPid(sessionId: string): number | undefined;
34
35
  cleanup(): void;
36
+ /**
37
+ * 按需加载 OpenCode SDK:只有启动 OpenCode provider 时才解析依赖,
38
+ * 避免 bridge 基础安装默认携带所有可选 runtime SDK。
39
+ */
40
+ private loadSdk;
35
41
  private waitForServer;
36
42
  private startSseLoop;
37
43
  private runSseLoop;
@@ -1 +1 @@
1
- {"version":3,"file":"OpencodeSdkAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/OpencodeSdkAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAa3C,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EAGpB,mBAAmB,EACnB,aAAa,EACd,MAAM,YAAY,CAAC;AA4FpB,qBAAa,kBAAmB,SAAQ,YAAa,YAAW,mBAAmB;IACjF,QAAQ,CAAC,UAAU,cAAc;IACjC,QAAQ,CAAC,WAAW,cAAc;IAElC,OAAO,CAAC,QAAQ,CAA2C;IAErD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+H5E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC9D,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnE,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7F,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAOnG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAclD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BxD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAIzD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI9D,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAOpD,OAAO,IAAI,IAAI;YAaD,aAAa;IAmB3B,OAAO,CAAC,YAAY;YAYN,UAAU;IAuBxB,OAAO,CAAC,mBAAmB;IA6H3B,OAAO,CAAC,gBAAgB;IA6GxB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,2BAA2B;CAOpC"}
1
+ {"version":3,"file":"OpencodeSdkAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/OpencodeSdkAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM3C,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EAGpB,mBAAmB,EACnB,aAAa,EACd,MAAM,YAAY,CAAC;AAsGpB,qBAAa,kBAAmB,SAAQ,YAAa,YAAW,mBAAmB;IACjF,QAAQ,CAAC,UAAU,cAAc;IACjC,QAAQ,CAAC,WAAW,cAAc;IAElC,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,SAAS,CAAC,CAAoB;IAEhC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgI5E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC9D,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnE,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7F,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAOnG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAclD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BxD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAIzD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI9D,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAOpD,OAAO,IAAI,IAAI;IAaf;;;OAGG;YACW,OAAO;YA6BP,aAAa;IAmB3B,OAAO,CAAC,YAAY;YAYN,UAAU;IAuBxB,OAAO,CAAC,mBAAmB;IA6H3B,OAAO,CAAC,gBAAgB;IA6GxB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,2BAA2B;CAOpC"}
@@ -10,14 +10,13 @@
10
10
  *
11
11
  * 参考:spectrai-community/src/main/adapter/OpenCodeSdkAdapter.ts
12
12
  */
13
- import { spawn } from 'child_process';
13
+ import { spawn } from 'node:child_process';
14
14
  import { EventEmitter } from 'node:events';
15
- import * as fs from 'fs';
16
- import * as net from 'net';
17
- import * as os from 'os';
18
- import * as path from 'path';
15
+ import * as fs from 'node:fs';
16
+ import * as net from 'node:net';
17
+ import * as os from 'node:os';
18
+ import * as path from 'node:path';
19
19
  import { v4 as uuidv4 } from 'uuid';
20
- import { createOpencodeClient, } from '@opencode-ai/sdk';
21
20
  import { getToolActionInfo } from './types.js';
22
21
  // ============ 可执行文件查找 ============
23
22
  /**
@@ -77,6 +76,12 @@ async function findAvailablePort(startPort = 14096) {
77
76
  }
78
77
  throw new Error(`No available port found in range ${startPort}–${startPort + 99}`);
79
78
  }
79
+ function hasErrorCode(error) {
80
+ return error instanceof Error && 'code' in error && typeof error.code === 'string';
81
+ }
82
+ function isMissingPackageError(error, packageName) {
83
+ return hasErrorCode(error) && error.code === 'ERR_MODULE_NOT_FOUND' && error.message.includes(packageName);
84
+ }
80
85
  // ============ Adapter ============
81
86
  export class OpencodeSdkAdapter extends EventEmitter {
82
87
  constructor() {
@@ -151,7 +156,8 @@ export class OpencodeSdkAdapter extends EventEmitter {
151
156
  session.sseActive = false;
152
157
  });
153
158
  // 步骤 3:创建 SDK 客户端
154
- const client = createOpencodeClient({
159
+ const sdk = await this.loadSdk();
160
+ const client = sdk.createOpencodeClient({
155
161
  baseUrl: `http://127.0.0.1:${port}`,
156
162
  });
157
163
  session.client = client;
@@ -330,6 +336,37 @@ export class OpencodeSdkAdapter extends EventEmitter {
330
336
  this.sessions.clear();
331
337
  }
332
338
  // ============ 私有方法 ============
339
+ /**
340
+ * 按需加载 OpenCode SDK:只有启动 OpenCode provider 时才解析依赖,
341
+ * 避免 bridge 基础安装默认携带所有可选 runtime SDK。
342
+ */
343
+ async loadSdk() {
344
+ if (!this.sdkModule) {
345
+ try {
346
+ this.sdkModule = await import('@opencode-ai/sdk');
347
+ }
348
+ catch (error) {
349
+ if (isMissingPackageError(error, '@opencode-ai/sdk')) {
350
+ throw new Error([
351
+ 'OpenCode SDK provider is not installed.',
352
+ '',
353
+ 'aws-runtime-bridge keeps Codex/OpenCode provider SDKs optional to reduce default install size.',
354
+ 'To use SDK mode with command "opencode", install:',
355
+ '',
356
+ ' npm install -g @opencode-ai/sdk',
357
+ '',
358
+ 'If aws-runtime-bridge is installed locally, install the SDK in the same project:',
359
+ '',
360
+ ' npm install @opencode-ai/sdk',
361
+ '',
362
+ `Original error: ${error instanceof Error ? error.message : String(error)}`,
363
+ ].join('\n'));
364
+ }
365
+ throw error;
366
+ }
367
+ }
368
+ return this.sdkModule;
369
+ }
333
370
  async waitForServer(client, directory, timeoutMs, port) {
334
371
  const deadline = Date.now() + timeoutMs;
335
372
  while (Date.now() < deadline) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aws-runtime-bridge",
3
- "version": "1.3.5",
3
+ "version": "1.3.7",
4
4
  "description": "AgentsWorkStudio runtime bridge service for machine-level agent runtime integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -49,8 +49,6 @@
49
49
  "@anthropic-ai/claude-agent-sdk": "^0.2.87",
50
50
  "@cc-switch/sdk": "file:package/cc-switch-sdk",
51
51
  "@modelcontextprotocol/sdk": "^1.27.1",
52
- "@openai/codex-sdk": "^0.125.0",
53
- "@opencode-ai/sdk": "^1.3.13",
54
52
  "axios": "^1.7.9",
55
53
  "cors": "^2.8.5",
56
54
  "express": "^4.21.2",
@@ -58,10 +56,25 @@
58
56
  "node-pty": "^1.0.0",
59
57
  "uuid": "^11.0.3",
60
58
  "ws": "^8.14.2",
61
- "yaml": "^2.3.4"
59
+ "yaml": "^2.3.4",
60
+ "zod": "^4.1.12"
61
+ },
62
+ "peerDependencies": {
63
+ "@openai/codex-sdk": "^0.125.0",
64
+ "@opencode-ai/sdk": "^1.3.13"
65
+ },
66
+ "peerDependenciesMeta": {
67
+ "@openai/codex-sdk": {
68
+ "optional": true
69
+ },
70
+ "@opencode-ai/sdk": {
71
+ "optional": true
72
+ }
62
73
  },
63
74
  "devDependencies": {
64
75
  "@eslint/js": "^9.0.0",
76
+ "@openai/codex-sdk": "^0.125.0",
77
+ "@opencode-ai/sdk": "^1.3.13",
65
78
  "@types/cors": "^2.8.19",
66
79
  "@types/express": "^4.17.21",
67
80
  "@types/js-yaml": "^4.0.9",