@sunerpy/opencode-kiro-auth 0.13.4 → 0.13.5

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.
@@ -75,12 +75,12 @@ export class RequestHandler {
75
75
  else
76
76
  inboundSignal?.addEventListener('abort', abortFromInbound, { once: true });
77
77
  let timeout;
78
- const beginUpstreamWait = (phase) => {
78
+ const beginUpstreamWait = (phase, timeoutMs) => {
79
79
  if (requestController.signal.aborted)
80
80
  return;
81
81
  if (timeout)
82
82
  clearDeadlineTimeout(timeout);
83
- timeout = setDeadlineTimeout(() => requestController.abort(new DOMException(`Kiro request timed out waiting for ${phase}`, 'TimeoutError')), this.config.request_timeout_ms);
83
+ timeout = setDeadlineTimeout(() => requestController.abort(new DOMException(`Kiro request timed out waiting for ${phase}`, 'TimeoutError')), timeoutMs);
84
84
  };
85
85
  const endUpstreamWait = () => {
86
86
  if (!timeout)
@@ -201,7 +201,7 @@ export class RequestHandler {
201
201
  await this.usageTracker.syncUsage(acc, auth, isCurrentAttempt);
202
202
  };
203
203
  let sdkResponse;
204
- beginUpstreamWait('SDK response');
204
+ beginUpstreamWait('SDK response', this.config.sdk_response_timeout_ms);
205
205
  try {
206
206
  sdkResponse = await client.send(command, { abortSignal: signal });
207
207
  }
@@ -214,7 +214,7 @@ export class RequestHandler {
214
214
  }
215
215
  const response = await this.responseHandler.handleSdkSuccess(sdkResponse, model, sdkPrep.conversationId, sdkPrep.streaming, {
216
216
  signal,
217
- onUpstreamWaitStart: () => beginUpstreamWait('stream event'),
217
+ onUpstreamWaitStart: () => beginUpstreamWait('stream event', this.config.request_timeout_ms),
218
218
  onUpstreamWaitEnd: endUpstreamWait,
219
219
  onComplete: completeRequest,
220
220
  onTerminal: cleanupRequest,
@@ -135,6 +135,7 @@ function applyEnvOverrides(config) {
135
135
  rate_limit_retry_delay_ms: parseNumberEnv(env.KIRO_RATE_LIMIT_RETRY_DELAY_MS, config.rate_limit_retry_delay_ms),
136
136
  rate_limit_max_retries: parseNumberEnv(env.KIRO_RATE_LIMIT_MAX_RETRIES, config.rate_limit_max_retries),
137
137
  max_request_iterations: parseNumberEnv(env.KIRO_MAX_REQUEST_ITERATIONS, config.max_request_iterations),
138
+ sdk_response_timeout_ms: parseNumberEnv(env.KIRO_SDK_RESPONSE_TIMEOUT_MS, config.sdk_response_timeout_ms),
138
139
  request_timeout_ms: parseNumberEnv(env.KIRO_REQUEST_TIMEOUT_MS, config.request_timeout_ms),
139
140
  token_expiry_buffer_ms: parseNumberEnv(env.KIRO_TOKEN_EXPIRY_BUFFER_MS, config.token_expiry_buffer_ms),
140
141
  usage_sync_max_retries: parseNumberEnv(env.KIRO_USAGE_SYNC_MAX_RETRIES, config.usage_sync_max_retries),
@@ -55,6 +55,15 @@ export declare const KiroConfigSchema: z.ZodObject<{
55
55
  rate_limit_retry_delay_ms: z.ZodDefault<z.ZodNumber>;
56
56
  rate_limit_max_retries: z.ZodDefault<z.ZodNumber>;
57
57
  max_request_iterations: z.ZodDefault<z.ZodNumber>;
58
+ /**
59
+ * Maximum wait for client.send() to return the initial SDK response.
60
+ * High-effort models can legitimately take several minutes before the
61
+ * event stream becomes available.
62
+ */
63
+ sdk_response_timeout_ms: z.ZodDefault<z.ZodNumber>;
64
+ /**
65
+ * Maximum inactivity while waiting for the next upstream stream event.
66
+ */
58
67
  request_timeout_ms: z.ZodDefault<z.ZodNumber>;
59
68
  token_expiry_buffer_ms: z.ZodDefault<z.ZodNumber>;
60
69
  /**
@@ -104,6 +113,7 @@ export declare const KiroConfigSchema: z.ZodObject<{
104
113
  rate_limit_retry_delay_ms: number;
105
114
  rate_limit_max_retries: number;
106
115
  max_request_iterations: number;
116
+ sdk_response_timeout_ms: number;
107
117
  request_timeout_ms: number;
108
118
  token_expiry_buffer_ms: number;
109
119
  token_keepalive_enabled: boolean;
@@ -137,6 +147,7 @@ export declare const KiroConfigSchema: z.ZodObject<{
137
147
  rate_limit_retry_delay_ms?: number | undefined;
138
148
  rate_limit_max_retries?: number | undefined;
139
149
  max_request_iterations?: number | undefined;
150
+ sdk_response_timeout_ms?: number | undefined;
140
151
  request_timeout_ms?: number | undefined;
141
152
  token_expiry_buffer_ms?: number | undefined;
142
153
  token_keepalive_enabled?: boolean | undefined;
@@ -87,6 +87,15 @@ export const KiroConfigSchema = z.object({
87
87
  rate_limit_retry_delay_ms: z.number().min(1000).max(60000).default(5000),
88
88
  rate_limit_max_retries: z.number().min(0).max(10).default(3),
89
89
  max_request_iterations: z.number().min(5).max(1000).default(20),
90
+ /**
91
+ * Maximum wait for client.send() to return the initial SDK response.
92
+ * High-effort models can legitimately take several minutes before the
93
+ * event stream becomes available.
94
+ */
95
+ sdk_response_timeout_ms: z.number().min(30000).max(600000).default(300000),
96
+ /**
97
+ * Maximum inactivity while waiting for the next upstream stream event.
98
+ */
90
99
  request_timeout_ms: z.number().min(30000).max(600000).default(120000),
91
100
  token_expiry_buffer_ms: z.number().min(30000).max(300000).default(300000),
92
101
  /**
@@ -137,6 +146,7 @@ export const DEFAULT_CONFIG = {
137
146
  rate_limit_retry_delay_ms: 5000,
138
147
  rate_limit_max_retries: 3,
139
148
  max_request_iterations: 20,
149
+ sdk_response_timeout_ms: 300000,
140
150
  request_timeout_ms: 120000,
141
151
  token_expiry_buffer_ms: 300000,
142
152
  token_keepalive_enabled: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunerpy/opencode-kiro-auth",
3
- "version": "0.13.4",
3
+ "version": "0.13.5",
4
4
  "description": "OpenCode plugin for AWS Kiro (CodeWhisperer) providing access to Claude models",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",