@sunerpy/opencode-kiro-auth 0.14.1 → 0.14.2

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.
@@ -258,6 +258,8 @@ export class RequestHandler {
258
258
  endUpstreamWait();
259
259
  return;
260
260
  }
261
+ if (!this.config.stream_event_timeout_enabled)
262
+ return;
261
263
  beginUpstreamWait('stream event', this.config.request_timeout_ms, {
262
264
  model,
263
265
  effectiveModel: sdkPrep.effectiveModel,
@@ -137,6 +137,7 @@ function applyEnvOverrides(config) {
137
137
  max_request_iterations: parseNumberEnv(env.KIRO_MAX_REQUEST_ITERATIONS, config.max_request_iterations),
138
138
  sdk_response_timeout_enabled: parseBooleanEnv(env.KIRO_SDK_RESPONSE_TIMEOUT_ENABLED, config.sdk_response_timeout_enabled),
139
139
  sdk_response_timeout_ms: parseNumberEnv(env.KIRO_SDK_RESPONSE_TIMEOUT_MS, config.sdk_response_timeout_ms),
140
+ stream_event_timeout_enabled: parseBooleanEnv(env.KIRO_STREAM_EVENT_TIMEOUT_ENABLED, config.stream_event_timeout_enabled),
140
141
  request_timeout_ms: parseNumberEnv(env.KIRO_REQUEST_TIMEOUT_MS, config.request_timeout_ms),
141
142
  token_expiry_buffer_ms: parseNumberEnv(env.KIRO_TOKEN_EXPIRY_BUFFER_MS, config.token_expiry_buffer_ms),
142
143
  usage_sync_max_retries: parseNumberEnv(env.KIRO_USAGE_SYNC_MAX_RETRIES, config.usage_sync_max_retries),
@@ -56,18 +56,25 @@ export declare const KiroConfigSchema: z.ZodObject<{
56
56
  rate_limit_max_retries: z.ZodDefault<z.ZodNumber>;
57
57
  max_request_iterations: z.ZodDefault<z.ZodNumber>;
58
58
  /**
59
- * Opt into a fixed deadline while waiting for client.send() to return.
59
+ * Opt into a fixed deadline covering client.send() and the first stream event.
60
60
  * Disabled by default because a pending request is ambiguous: Kiro may
61
61
  * still be performing a valid long-running generation.
62
62
  */
63
63
  sdk_response_timeout_enabled: z.ZodDefault<z.ZodBoolean>;
64
64
  /**
65
- * Maximum wait for client.send() to return the initial SDK response.
65
+ * Maximum wait for the initial SDK response and first stream event.
66
66
  * Only used when sdk_response_timeout_enabled is true.
67
67
  */
68
68
  sdk_response_timeout_ms: z.ZodDefault<z.ZodNumber>;
69
69
  /**
70
- * Maximum inactivity while waiting for the next upstream stream event.
70
+ * Opt into a fixed inactivity deadline between upstream stream events.
71
+ * Disabled by default because a silent event gap is ambiguous: Kiro may
72
+ * still be performing a valid long-running generation.
73
+ */
74
+ stream_event_timeout_enabled: z.ZodDefault<z.ZodBoolean>;
75
+ /**
76
+ * Maximum inactivity between upstream stream events.
77
+ * Only used when stream_event_timeout_enabled is true.
71
78
  */
72
79
  request_timeout_ms: z.ZodDefault<z.ZodNumber>;
73
80
  token_expiry_buffer_ms: z.ZodDefault<z.ZodNumber>;
@@ -120,6 +127,7 @@ export declare const KiroConfigSchema: z.ZodObject<{
120
127
  max_request_iterations: number;
121
128
  sdk_response_timeout_enabled: boolean;
122
129
  sdk_response_timeout_ms: number;
130
+ stream_event_timeout_enabled: boolean;
123
131
  request_timeout_ms: number;
124
132
  token_expiry_buffer_ms: number;
125
133
  token_keepalive_enabled: boolean;
@@ -155,6 +163,7 @@ export declare const KiroConfigSchema: z.ZodObject<{
155
163
  max_request_iterations?: number | undefined;
156
164
  sdk_response_timeout_enabled?: boolean | undefined;
157
165
  sdk_response_timeout_ms?: number | undefined;
166
+ stream_event_timeout_enabled?: boolean | undefined;
158
167
  request_timeout_ms?: number | undefined;
159
168
  token_expiry_buffer_ms?: number | undefined;
160
169
  token_keepalive_enabled?: boolean | undefined;
@@ -88,18 +88,25 @@ export const KiroConfigSchema = z.object({
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
90
  /**
91
- * Opt into a fixed deadline while waiting for client.send() to return.
91
+ * Opt into a fixed deadline covering client.send() and the first stream event.
92
92
  * Disabled by default because a pending request is ambiguous: Kiro may
93
93
  * still be performing a valid long-running generation.
94
94
  */
95
95
  sdk_response_timeout_enabled: z.boolean().default(false),
96
96
  /**
97
- * Maximum wait for client.send() to return the initial SDK response.
97
+ * Maximum wait for the initial SDK response and first stream event.
98
98
  * Only used when sdk_response_timeout_enabled is true.
99
99
  */
100
100
  sdk_response_timeout_ms: z.number().min(30000).max(600000).default(300000),
101
101
  /**
102
- * Maximum inactivity while waiting for the next upstream stream event.
102
+ * Opt into a fixed inactivity deadline between upstream stream events.
103
+ * Disabled by default because a silent event gap is ambiguous: Kiro may
104
+ * still be performing a valid long-running generation.
105
+ */
106
+ stream_event_timeout_enabled: z.boolean().default(false),
107
+ /**
108
+ * Maximum inactivity between upstream stream events.
109
+ * Only used when stream_event_timeout_enabled is true.
103
110
  */
104
111
  request_timeout_ms: z.number().min(30000).max(600000).default(120000),
105
112
  token_expiry_buffer_ms: z.number().min(30000).max(300000).default(300000),
@@ -153,6 +160,7 @@ export const DEFAULT_CONFIG = {
153
160
  max_request_iterations: 20,
154
161
  sdk_response_timeout_enabled: false,
155
162
  sdk_response_timeout_ms: 300000,
163
+ stream_event_timeout_enabled: false,
156
164
  request_timeout_ms: 120000,
157
165
  token_expiry_buffer_ms: 300000,
158
166
  token_keepalive_enabled: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunerpy/opencode-kiro-auth",
3
- "version": "0.14.1",
3
+ "version": "0.14.2",
4
4
  "description": "OpenCode plugin for AWS Kiro (CodeWhisperer) providing access to Claude models",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",