ns-kiro-core 0.1.0
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.
- package/LICENSE +22 -0
- package/README.md +51 -0
- package/dist/blocks.d.ts +32 -0
- package/dist/blocks.js +83 -0
- package/dist/blocks.js.map +1 -0
- package/dist/bracket-tool-parser.d.ts +11 -0
- package/dist/bracket-tool-parser.js +78 -0
- package/dist/bracket-tool-parser.js.map +1 -0
- package/dist/cost.d.ts +3 -0
- package/dist/cost.js +10 -0
- package/dist/cost.js.map +1 -0
- package/dist/debug.d.ts +6 -0
- package/dist/debug.js +63 -0
- package/dist/debug.js.map +1 -0
- package/dist/effort.d.ts +36 -0
- package/dist/effort.js +138 -0
- package/dist/effort.js.map +1 -0
- package/dist/endpoints.d.ts +8 -0
- package/dist/endpoints.js +43 -0
- package/dist/endpoints.js.map +1 -0
- package/dist/event-parser.d.ts +49 -0
- package/dist/event-parser.js +56 -0
- package/dist/event-parser.js.map +1 -0
- package/dist/history-validator.d.ts +91 -0
- package/dist/history-validator.js +370 -0
- package/dist/history-validator.js.map +1 -0
- package/dist/history.d.ts +21 -0
- package/dist/history.js +130 -0
- package/dist/history.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/invoke-tool-parser.d.ts +16 -0
- package/dist/invoke-tool-parser.js +152 -0
- package/dist/invoke-tool-parser.js.map +1 -0
- package/dist/kiro-cli.d.ts +31 -0
- package/dist/kiro-cli.js +308 -0
- package/dist/kiro-cli.js.map +1 -0
- package/dist/kiro-ide.d.ts +12 -0
- package/dist/kiro-ide.js +74 -0
- package/dist/kiro-ide.js.map +1 -0
- package/dist/management.d.ts +34 -0
- package/dist/management.js +226 -0
- package/dist/management.js.map +1 -0
- package/dist/models.d.ts +58 -0
- package/dist/models.js +462 -0
- package/dist/models.js.map +1 -0
- package/dist/oauth.d.ts +50 -0
- package/dist/oauth.js +295 -0
- package/dist/oauth.js.map +1 -0
- package/dist/retry.d.ts +74 -0
- package/dist/retry.js +156 -0
- package/dist/retry.js.map +1 -0
- package/dist/stream.d.ts +36 -0
- package/dist/stream.js +898 -0
- package/dist/stream.js.map +1 -0
- package/dist/thinking-parser.d.ts +21 -0
- package/dist/thinking-parser.js +150 -0
- package/dist/thinking-parser.js.map +1 -0
- package/dist/token-type.d.ts +18 -0
- package/dist/token-type.js +45 -0
- package/dist/token-type.js.map +1 -0
- package/dist/tokenizer.d.ts +1 -0
- package/dist/tokenizer.js +19 -0
- package/dist/tokenizer.js.map +1 -0
- package/dist/transform.d.ts +111 -0
- package/dist/transform.js +268 -0
- package/dist/transform.js.map +1 -0
- package/dist/truncation.d.ts +3 -0
- package/dist/truncation.js +12 -0
- package/dist/truncation.js.map +1 -0
- package/dist/types.d.ts +159 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/dist/usage.d.ts +86 -0
- package/dist/usage.js +85 -0
- package/dist/usage.js.map +1 -0
- package/package.json +31 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"management.js","sourceRoot":"","sources":["../src/management.ts"],"names":[],"mappings":"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"}
|
package/dist/models.d.ts
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { type KiroEffortConfig } from "./effort.js";
|
|
2
|
+
import { type KiroCatalogModel } from "./management.js";
|
|
3
|
+
import { type KiroEffort, type KiroModelSpec } from "./types.js";
|
|
4
|
+
export { resolveApiRegion } from "./endpoints.js";
|
|
5
|
+
export declare const KIRO_MANAGEMENT_CACHE_VERSION = 1;
|
|
6
|
+
export declare const KIRO_MANAGEMENT_CACHE_SOURCE = "ns-kiro-provider-management";
|
|
7
|
+
/**
|
|
8
|
+
* Deliberately not `~/.kiro-management-models-cache.json`: that path belongs to
|
|
9
|
+
* pi-provider-kiro, whose cached rows carry pi-ai model fields this package does
|
|
10
|
+
* not write. Sharing it would make each tool reject the other's cache as
|
|
11
|
+
* malformed and refetch on every call.
|
|
12
|
+
*/
|
|
13
|
+
export declare const KIRO_MANAGEMENT_CACHE_PATH: string;
|
|
14
|
+
type KiroTokenLimits = NonNullable<KiroCatalogModel["tokenLimits"]>;
|
|
15
|
+
export interface KiroModel extends KiroModelSpec {
|
|
16
|
+
/** Exact model ID returned by the Kiro management catalog. */
|
|
17
|
+
kiroModelId: string;
|
|
18
|
+
/** Catalog metadata consumed by request-time effort handling. */
|
|
19
|
+
additionalModelRequestFieldsSchema?: Record<string, unknown>;
|
|
20
|
+
tokenLimits?: KiroTokenLimits;
|
|
21
|
+
firstTokenTimeout?: number;
|
|
22
|
+
/** Kiro can return a summarized thinking block for this model. */
|
|
23
|
+
supportsSummarizedThinking?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Whether text-dialect tool calls should be recovered from the response.
|
|
26
|
+
* Claude models emit native tool-use events, so scanning their prose for
|
|
27
|
+
* `[Called …]` or `<invoke …>` only produces false positives.
|
|
28
|
+
*/
|
|
29
|
+
recoverTextToolCalls?: boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Bootstrap models carry no catalog schema, so their ladder comes from the same
|
|
33
|
+
* `getKiroEffortConfig` fallback the request path uses. Deriving here instead of
|
|
34
|
+
* hardcoding per-model literals keeps one source of truth: `effort.ts` decides
|
|
35
|
+
* which model gets which rungs, and discovery overwrites this once it runs.
|
|
36
|
+
*/
|
|
37
|
+
export declare const kiroModels: KiroModel[];
|
|
38
|
+
/** Exact service IDs known from either the bootstrap list or a valid management cache. */
|
|
39
|
+
export declare const KIRO_MODEL_IDS: Set<string>;
|
|
40
|
+
/**
|
|
41
|
+
* Project a Kiro effort enum onto the neutral ladder, lowest rung first. Values
|
|
42
|
+
* are filtered through {@link KIRO_EFFORT_ORDER} because Kiro may report one
|
|
43
|
+
* outside it (`none`). No `effortMap` is produced: the wire spelling equals the
|
|
44
|
+
* rung name here, and {@link KiroModelSpec.effortMap} exists for hosts whose
|
|
45
|
+
* own vocabulary does not.
|
|
46
|
+
*/
|
|
47
|
+
export declare function applyEffortLadder(config: KiroEffortConfig | undefined): {
|
|
48
|
+
efforts?: readonly KiroEffort[];
|
|
49
|
+
supportsSummarizedThinking?: boolean;
|
|
50
|
+
};
|
|
51
|
+
/** Map an authenticated management catalog into models without discarding fresh metadata for bootstrap IDs. */
|
|
52
|
+
export declare function mapKiroCatalogModels(catalogModels: KiroCatalogModel[], region: string): KiroModel[];
|
|
53
|
+
export declare function loadCachedModelIds(): void;
|
|
54
|
+
/** Return the authenticated regional catalog, or the static list only as a pre-discovery bootstrap. */
|
|
55
|
+
export declare function getCachedModels(region: string): KiroModel[];
|
|
56
|
+
export declare function isCacheStale(region: string): boolean;
|
|
57
|
+
export declare function updateKiroModelsCache(accessToken: string, region: string, profileArn?: string): Promise<void>;
|
|
58
|
+
export declare function resolveKiroModel(modelId: string, exactKiroModelId?: string): string;
|
package/dist/models.js
ADDED
|
@@ -0,0 +1,462 @@
|
|
|
1
|
+
// Model catalog: the bootstrap list, the authenticated catalog, and its cache.
|
|
2
|
+
import { randomUUID } from "node:crypto";
|
|
3
|
+
import { existsSync, readFileSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
4
|
+
import { homedir } from "node:os";
|
|
5
|
+
import { join } from "node:path";
|
|
6
|
+
import { getKiroEffortConfig } from "./effort.js";
|
|
7
|
+
import { fetchKiroModelCatalog } from "./management.js";
|
|
8
|
+
import { KIRO_EFFORT_ORDER } from "./types.js";
|
|
9
|
+
export { resolveApiRegion } from "./endpoints.js";
|
|
10
|
+
export const KIRO_MANAGEMENT_CACHE_VERSION = 1;
|
|
11
|
+
export const KIRO_MANAGEMENT_CACHE_SOURCE = "ns-kiro-provider-management";
|
|
12
|
+
/**
|
|
13
|
+
* Deliberately not `~/.kiro-management-models-cache.json`: that path belongs to
|
|
14
|
+
* pi-provider-kiro, whose cached rows carry pi-ai model fields this package does
|
|
15
|
+
* not write. Sharing it would make each tool reject the other's cache as
|
|
16
|
+
* malformed and refetch on every call.
|
|
17
|
+
*/
|
|
18
|
+
export const KIRO_MANAGEMENT_CACHE_PATH = join(homedir(), ".ns-kiro-provider-models-cache.json");
|
|
19
|
+
const CACHE_MAX_AGE_MS = 3600_000;
|
|
20
|
+
const DEFAULT_CONTEXT_WINDOW = 200_000;
|
|
21
|
+
const DEFAULT_MAX_TOKENS = 8_192;
|
|
22
|
+
const ZERO_COST = Object.freeze({ input: 0, output: 0, cacheRead: 0, cacheWrite: 0 });
|
|
23
|
+
const REASONING_FAMILY_MARKERS = ["opus", "sonnet", "fable", "coder", "deepseek", "gpt", "glm", "qwen"];
|
|
24
|
+
/** Non-Claude models whose Kiro runtime vision support has been verified end to end. */
|
|
25
|
+
const VERIFIED_IMAGE_MODEL_IDS = new Set(["gpt-5.6-luna"]);
|
|
26
|
+
const bootstrapKiroModels = [
|
|
27
|
+
{
|
|
28
|
+
id: "claude-opus-4-8",
|
|
29
|
+
kiroModelId: "claude-opus-4.8",
|
|
30
|
+
name: "Claude Opus 4.8",
|
|
31
|
+
reasoning: true,
|
|
32
|
+
input: ["text", "image"],
|
|
33
|
+
cost: ZERO_COST,
|
|
34
|
+
contextWindow: 1000000,
|
|
35
|
+
maxTokens: 128000,
|
|
36
|
+
firstTokenTimeout: 180_000,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: "claude-opus-4-7",
|
|
40
|
+
kiroModelId: "claude-opus-4.7",
|
|
41
|
+
name: "Claude Opus 4.7",
|
|
42
|
+
reasoning: true,
|
|
43
|
+
input: ["text", "image"],
|
|
44
|
+
cost: ZERO_COST,
|
|
45
|
+
contextWindow: 1000000,
|
|
46
|
+
maxTokens: 128000,
|
|
47
|
+
firstTokenTimeout: 180_000,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
id: "claude-opus-4-6",
|
|
51
|
+
kiroModelId: "claude-opus-4.6",
|
|
52
|
+
name: "Claude Opus 4.6",
|
|
53
|
+
reasoning: true,
|
|
54
|
+
input: ["text", "image"],
|
|
55
|
+
cost: ZERO_COST,
|
|
56
|
+
contextWindow: 1000000,
|
|
57
|
+
maxTokens: 32768,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
id: "claude-sonnet-5",
|
|
61
|
+
kiroModelId: "claude-sonnet-5",
|
|
62
|
+
name: "Claude Sonnet 5",
|
|
63
|
+
reasoning: true,
|
|
64
|
+
input: ["text", "image"],
|
|
65
|
+
cost: ZERO_COST,
|
|
66
|
+
contextWindow: 1000000,
|
|
67
|
+
maxTokens: 65536,
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
id: "claude-sonnet-4-6",
|
|
71
|
+
kiroModelId: "claude-sonnet-4.6",
|
|
72
|
+
name: "Claude Sonnet 4.6",
|
|
73
|
+
reasoning: true,
|
|
74
|
+
input: ["text", "image"],
|
|
75
|
+
cost: ZERO_COST,
|
|
76
|
+
contextWindow: 1000000,
|
|
77
|
+
maxTokens: 65536,
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
id: "claude-sonnet-4-5",
|
|
81
|
+
kiroModelId: "claude-sonnet-4.5",
|
|
82
|
+
name: "Claude Sonnet 4.5",
|
|
83
|
+
reasoning: true,
|
|
84
|
+
input: ["text", "image"],
|
|
85
|
+
cost: ZERO_COST,
|
|
86
|
+
contextWindow: 200000,
|
|
87
|
+
maxTokens: 65536,
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
id: "claude-sonnet-4",
|
|
91
|
+
kiroModelId: "claude-sonnet-4",
|
|
92
|
+
name: "Claude Sonnet 4",
|
|
93
|
+
reasoning: true,
|
|
94
|
+
input: ["text", "image"],
|
|
95
|
+
cost: ZERO_COST,
|
|
96
|
+
contextWindow: 200000,
|
|
97
|
+
maxTokens: 65536,
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
id: "claude-haiku-4-5",
|
|
101
|
+
kiroModelId: "claude-haiku-4.5",
|
|
102
|
+
name: "Claude Haiku 4.5",
|
|
103
|
+
reasoning: false,
|
|
104
|
+
input: ["text", "image"],
|
|
105
|
+
cost: ZERO_COST,
|
|
106
|
+
contextWindow: 200000,
|
|
107
|
+
maxTokens: 65536,
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
id: "claude-fable-5",
|
|
111
|
+
kiroModelId: "claude-fable-5",
|
|
112
|
+
name: "Claude Fable 5",
|
|
113
|
+
reasoning: true,
|
|
114
|
+
input: ["text", "image"],
|
|
115
|
+
cost: ZERO_COST,
|
|
116
|
+
contextWindow: 1000000,
|
|
117
|
+
maxTokens: 65536,
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
id: "deepseek-3-2",
|
|
121
|
+
kiroModelId: "deepseek-3.2",
|
|
122
|
+
name: "DeepSeek 3.2",
|
|
123
|
+
reasoning: true,
|
|
124
|
+
input: ["text"],
|
|
125
|
+
cost: ZERO_COST,
|
|
126
|
+
contextWindow: 164000,
|
|
127
|
+
maxTokens: 8192,
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
id: "minimax-m2-5",
|
|
131
|
+
kiroModelId: "minimax-m2.5",
|
|
132
|
+
name: "MiniMax M2.5",
|
|
133
|
+
reasoning: false,
|
|
134
|
+
input: ["text"],
|
|
135
|
+
cost: ZERO_COST,
|
|
136
|
+
contextWindow: 196000,
|
|
137
|
+
maxTokens: 8192,
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
id: "minimax-m2-1",
|
|
141
|
+
kiroModelId: "minimax-m2.1",
|
|
142
|
+
name: "MiniMax M2.1",
|
|
143
|
+
reasoning: false,
|
|
144
|
+
input: ["text"],
|
|
145
|
+
cost: ZERO_COST,
|
|
146
|
+
contextWindow: 196000,
|
|
147
|
+
maxTokens: 8192,
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
id: "glm-5",
|
|
151
|
+
kiroModelId: "glm-5",
|
|
152
|
+
name: "GLM 5",
|
|
153
|
+
reasoning: true,
|
|
154
|
+
input: ["text"],
|
|
155
|
+
cost: ZERO_COST,
|
|
156
|
+
contextWindow: 200000,
|
|
157
|
+
maxTokens: 8192,
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
id: "qwen3-coder-next",
|
|
161
|
+
kiroModelId: "qwen3-coder-next",
|
|
162
|
+
name: "Qwen3 Coder Next",
|
|
163
|
+
reasoning: true,
|
|
164
|
+
input: ["text"],
|
|
165
|
+
cost: ZERO_COST,
|
|
166
|
+
contextWindow: 256000,
|
|
167
|
+
maxTokens: 8192,
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
id: "auto",
|
|
171
|
+
kiroModelId: "auto",
|
|
172
|
+
name: "Auto",
|
|
173
|
+
reasoning: true,
|
|
174
|
+
input: ["text", "image"],
|
|
175
|
+
cost: ZERO_COST,
|
|
176
|
+
contextWindow: 1000000,
|
|
177
|
+
maxTokens: 65536,
|
|
178
|
+
},
|
|
179
|
+
];
|
|
180
|
+
/**
|
|
181
|
+
* Bootstrap models carry no catalog schema, so their ladder comes from the same
|
|
182
|
+
* `getKiroEffortConfig` fallback the request path uses. Deriving here instead of
|
|
183
|
+
* hardcoding per-model literals keeps one source of truth: `effort.ts` decides
|
|
184
|
+
* which model gets which rungs, and discovery overwrites this once it runs.
|
|
185
|
+
*/
|
|
186
|
+
export const kiroModels = bootstrapKiroModels.map((model) => ({
|
|
187
|
+
...model,
|
|
188
|
+
...applyEffortLadder(model.reasoning ? getKiroEffortConfig(model.additionalModelRequestFieldsSchema, model.kiroModelId) : undefined),
|
|
189
|
+
...(model.id.startsWith("claude-") ? { recoverTextToolCalls: false } : {}),
|
|
190
|
+
}));
|
|
191
|
+
const BOOTSTRAP_KIRO_MODEL_IDS = kiroModels.map((model) => model.kiroModelId);
|
|
192
|
+
/** Exact service IDs known from either the bootstrap list or a valid management cache. */
|
|
193
|
+
export const KIRO_MODEL_IDS = new Set(BOOTSTRAP_KIRO_MODEL_IDS);
|
|
194
|
+
function isRecord(value) {
|
|
195
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
196
|
+
}
|
|
197
|
+
function isPositiveNumber(value) {
|
|
198
|
+
return typeof value === "number" && Number.isFinite(value) && value > 0;
|
|
199
|
+
}
|
|
200
|
+
function isEffortList(value) {
|
|
201
|
+
return (Array.isArray(value) &&
|
|
202
|
+
value.length > 0 &&
|
|
203
|
+
value.every((effort) => KIRO_EFFORT_ORDER.includes(effort)));
|
|
204
|
+
}
|
|
205
|
+
function isEffortMap(value) {
|
|
206
|
+
return isRecord(value) && Object.values(value).every((mapped) => typeof mapped === "string");
|
|
207
|
+
}
|
|
208
|
+
function isCachedKiroModel(value) {
|
|
209
|
+
if (!isRecord(value))
|
|
210
|
+
return false;
|
|
211
|
+
const cost = value.cost;
|
|
212
|
+
const input = value.input;
|
|
213
|
+
const schema = value.additionalModelRequestFieldsSchema;
|
|
214
|
+
const tokenLimits = value.tokenLimits;
|
|
215
|
+
return (typeof value.id === "string" &&
|
|
216
|
+
value.id.length > 0 &&
|
|
217
|
+
typeof value.kiroModelId === "string" &&
|
|
218
|
+
value.kiroModelId.length > 0 &&
|
|
219
|
+
typeof value.name === "string" &&
|
|
220
|
+
value.name.length > 0 &&
|
|
221
|
+
typeof value.reasoning === "boolean" &&
|
|
222
|
+
Array.isArray(input) &&
|
|
223
|
+
input.length > 0 &&
|
|
224
|
+
input.every((modality) => modality === "text" || modality === "image") &&
|
|
225
|
+
isRecord(cost) &&
|
|
226
|
+
typeof cost.input === "number" &&
|
|
227
|
+
typeof cost.output === "number" &&
|
|
228
|
+
typeof cost.cacheRead === "number" &&
|
|
229
|
+
typeof cost.cacheWrite === "number" &&
|
|
230
|
+
isPositiveNumber(value.contextWindow) &&
|
|
231
|
+
isPositiveNumber(value.maxTokens) &&
|
|
232
|
+
(value.efforts === undefined || isEffortList(value.efforts)) &&
|
|
233
|
+
(value.effortMap === undefined || isEffortMap(value.effortMap)) &&
|
|
234
|
+
(schema === undefined || isRecord(schema)) &&
|
|
235
|
+
(tokenLimits === undefined || isRecord(tokenLimits)) &&
|
|
236
|
+
(value.firstTokenTimeout === undefined || isPositiveNumber(value.firstTokenTimeout)));
|
|
237
|
+
}
|
|
238
|
+
function parseManagementCache(raw) {
|
|
239
|
+
let value;
|
|
240
|
+
try {
|
|
241
|
+
value = JSON.parse(raw);
|
|
242
|
+
}
|
|
243
|
+
catch {
|
|
244
|
+
return undefined;
|
|
245
|
+
}
|
|
246
|
+
if (!isRecord(value) ||
|
|
247
|
+
value.version !== KIRO_MANAGEMENT_CACHE_VERSION ||
|
|
248
|
+
value.source !== KIRO_MANAGEMENT_CACHE_SOURCE ||
|
|
249
|
+
!isRecord(value.regions)) {
|
|
250
|
+
return undefined;
|
|
251
|
+
}
|
|
252
|
+
const regions = {};
|
|
253
|
+
for (const [region, rawEntry] of Object.entries(value.regions)) {
|
|
254
|
+
if (!isRecord(rawEntry) ||
|
|
255
|
+
rawEntry.region !== region ||
|
|
256
|
+
!isPositiveNumber(rawEntry.fetchedAt) ||
|
|
257
|
+
!Array.isArray(rawEntry.models) ||
|
|
258
|
+
rawEntry.models.length === 0 ||
|
|
259
|
+
!rawEntry.models.every(isCachedKiroModel)) {
|
|
260
|
+
return undefined;
|
|
261
|
+
}
|
|
262
|
+
const modelIds = new Set();
|
|
263
|
+
for (const model of rawEntry.models) {
|
|
264
|
+
if (modelIds.has(model.id))
|
|
265
|
+
return undefined;
|
|
266
|
+
modelIds.add(model.id);
|
|
267
|
+
}
|
|
268
|
+
regions[region] = rawEntry;
|
|
269
|
+
}
|
|
270
|
+
return {
|
|
271
|
+
version: KIRO_MANAGEMENT_CACHE_VERSION,
|
|
272
|
+
source: KIRO_MANAGEMENT_CACHE_SOURCE,
|
|
273
|
+
regions,
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
function readManagementCache() {
|
|
277
|
+
if (!existsSync(KIRO_MANAGEMENT_CACHE_PATH))
|
|
278
|
+
return undefined;
|
|
279
|
+
try {
|
|
280
|
+
return parseManagementCache(readFileSync(KIRO_MANAGEMENT_CACHE_PATH, "utf-8"));
|
|
281
|
+
}
|
|
282
|
+
catch {
|
|
283
|
+
return undefined;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
function writeManagementCache(cache) {
|
|
287
|
+
const temporaryPath = `${KIRO_MANAGEMENT_CACHE_PATH}.${process.pid}.${randomUUID()}.tmp`;
|
|
288
|
+
try {
|
|
289
|
+
writeFileSync(temporaryPath, JSON.stringify(cache, null, 2), "utf-8");
|
|
290
|
+
renameSync(temporaryPath, KIRO_MANAGEMENT_CACHE_PATH);
|
|
291
|
+
}
|
|
292
|
+
finally {
|
|
293
|
+
rmSync(temporaryPath, { force: true });
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
function toLocalModelId(kiroModelId) {
|
|
297
|
+
return kiroModelId.replace(/(\d)\.(\d)/g, "$1-$2");
|
|
298
|
+
}
|
|
299
|
+
function humanizeModelId(modelId) {
|
|
300
|
+
return modelId
|
|
301
|
+
.split("-")
|
|
302
|
+
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
|
|
303
|
+
.join(" ");
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Project a Kiro effort enum onto the neutral ladder, lowest rung first. Values
|
|
307
|
+
* are filtered through {@link KIRO_EFFORT_ORDER} because Kiro may report one
|
|
308
|
+
* outside it (`none`). No `effortMap` is produced: the wire spelling equals the
|
|
309
|
+
* rung name here, and {@link KiroModelSpec.effortMap} exists for hosts whose
|
|
310
|
+
* own vocabulary does not.
|
|
311
|
+
*/
|
|
312
|
+
export function applyEffortLadder(config) {
|
|
313
|
+
if (!config || config.values.length === 0)
|
|
314
|
+
return {};
|
|
315
|
+
const efforts = KIRO_EFFORT_ORDER.filter((effort) => config.values.includes(effort));
|
|
316
|
+
if (efforts.length === 0)
|
|
317
|
+
return {};
|
|
318
|
+
return { efforts, ...(config.summarizedThinking ? { supportsSummarizedThinking: true } : {}) };
|
|
319
|
+
}
|
|
320
|
+
function hasReasoningFamilyFallback(modelId) {
|
|
321
|
+
const normalizedId = modelId.toLowerCase();
|
|
322
|
+
return normalizedId === "auto" || REASONING_FAMILY_MARKERS.some((marker) => normalizedId.includes(marker));
|
|
323
|
+
}
|
|
324
|
+
function hasVerifiedImageInput(kiroModelId) {
|
|
325
|
+
return kiroModelId.startsWith("claude-") || VERIFIED_IMAGE_MODEL_IDS.has(kiroModelId.toLowerCase());
|
|
326
|
+
}
|
|
327
|
+
/** Correct capability metadata from older caches without rewriting the user's cache file. */
|
|
328
|
+
function applyVerifiedCapabilities(model) {
|
|
329
|
+
if (!hasVerifiedImageInput(model.kiroModelId) || model.input.includes("image"))
|
|
330
|
+
return model;
|
|
331
|
+
return { ...model, input: ["text", "image"] };
|
|
332
|
+
}
|
|
333
|
+
function validateCatalogMetadata(model) {
|
|
334
|
+
const rawSchema = model.additionalModelRequestFieldsSchema;
|
|
335
|
+
const schema = rawSchema ?? undefined;
|
|
336
|
+
if (schema !== undefined && !isRecord(schema)) {
|
|
337
|
+
throw new Error(`Kiro management catalog model ${model.modelId} has an invalid request-fields schema`);
|
|
338
|
+
}
|
|
339
|
+
const tokenLimits = model.tokenLimits;
|
|
340
|
+
if (tokenLimits !== undefined && !isRecord(tokenLimits)) {
|
|
341
|
+
throw new Error(`Kiro management catalog model ${model.modelId} has invalid token limits`);
|
|
342
|
+
}
|
|
343
|
+
if (tokenLimits &&
|
|
344
|
+
((tokenLimits.maxInputTokens !== undefined && !isPositiveNumber(tokenLimits.maxInputTokens)) ||
|
|
345
|
+
(tokenLimits.maxOutputTokens !== undefined && !isPositiveNumber(tokenLimits.maxOutputTokens)))) {
|
|
346
|
+
throw new Error(`Kiro management catalog model ${model.modelId} has invalid token limits`);
|
|
347
|
+
}
|
|
348
|
+
return { schema, tokenLimits };
|
|
349
|
+
}
|
|
350
|
+
/** Map an authenticated management catalog into models without discarding fresh metadata for bootstrap IDs. */
|
|
351
|
+
export function mapKiroCatalogModels(catalogModels, region) {
|
|
352
|
+
if (catalogModels.length === 0) {
|
|
353
|
+
throw new Error(`Kiro management catalog returned no models in ${region}`);
|
|
354
|
+
}
|
|
355
|
+
const seenIds = new Set();
|
|
356
|
+
return catalogModels.map((catalogModel) => {
|
|
357
|
+
const kiroModelId = catalogModel.modelId;
|
|
358
|
+
if (!kiroModelId || kiroModelId.trim() !== kiroModelId) {
|
|
359
|
+
throw new Error(`Kiro management catalog returned an invalid model ID in ${region}`);
|
|
360
|
+
}
|
|
361
|
+
const id = toLocalModelId(kiroModelId);
|
|
362
|
+
if (seenIds.has(id)) {
|
|
363
|
+
throw new Error(`Kiro management catalog contains conflicting model ID ${id} in ${region}`);
|
|
364
|
+
}
|
|
365
|
+
seenIds.add(id);
|
|
366
|
+
const existing = kiroModels.find((model) => model.id === id);
|
|
367
|
+
const { schema, tokenLimits } = validateCatalogMetadata(catalogModel);
|
|
368
|
+
// Two-tier resolution, same as the request path: an authoritative schema
|
|
369
|
+
// wins, and a known-model guess fills in only when the catalog carried no
|
|
370
|
+
// schema. So a model that arrives schema-less still advertises the rungs its
|
|
371
|
+
// requests send.
|
|
372
|
+
const effortConfig = getKiroEffortConfig(schema, kiroModelId);
|
|
373
|
+
const catalogName = typeof catalogModel.displayName === "string" && catalogModel.displayName.length > 0
|
|
374
|
+
? catalogModel.displayName
|
|
375
|
+
: undefined;
|
|
376
|
+
return {
|
|
377
|
+
id,
|
|
378
|
+
kiroModelId,
|
|
379
|
+
name: catalogName ?? existing?.name ?? humanizeModelId(id),
|
|
380
|
+
region,
|
|
381
|
+
// Deliberately schema-only: when a schema exists the resolver returns
|
|
382
|
+
// `deriveKiroEffort(schema)`, and when it does not the family-marker guess
|
|
383
|
+
// decides. The fallback tier feeds the ladders, not this flag.
|
|
384
|
+
reasoning: (schema !== undefined && effortConfig !== undefined) ||
|
|
385
|
+
(schema === undefined && hasReasoningFamilyFallback(id)),
|
|
386
|
+
...applyEffortLadder(effortConfig),
|
|
387
|
+
input: existing ? [...existing.input] : hasVerifiedImageInput(kiroModelId) ? ["text", "image"] : ["text"],
|
|
388
|
+
...(id.startsWith("claude-") ? { recoverTextToolCalls: false } : {}),
|
|
389
|
+
cost: ZERO_COST,
|
|
390
|
+
contextWindow: tokenLimits?.maxInputTokens ?? DEFAULT_CONTEXT_WINDOW,
|
|
391
|
+
maxTokens: tokenLimits?.maxOutputTokens ?? DEFAULT_MAX_TOKENS,
|
|
392
|
+
...(existing?.firstTokenTimeout ? { firstTokenTimeout: existing.firstTokenTimeout } : {}),
|
|
393
|
+
...(schema ? { additionalModelRequestFieldsSchema: schema } : {}),
|
|
394
|
+
...(tokenLimits ? { tokenLimits } : {}),
|
|
395
|
+
};
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
function refreshKnownModelIds(cache) {
|
|
399
|
+
KIRO_MODEL_IDS.clear();
|
|
400
|
+
for (const modelId of BOOTSTRAP_KIRO_MODEL_IDS)
|
|
401
|
+
KIRO_MODEL_IDS.add(modelId);
|
|
402
|
+
if (!cache)
|
|
403
|
+
return;
|
|
404
|
+
for (const entry of Object.values(cache.regions)) {
|
|
405
|
+
for (const model of entry.models)
|
|
406
|
+
KIRO_MODEL_IDS.add(model.kiroModelId);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
export function loadCachedModelIds() {
|
|
410
|
+
refreshKnownModelIds(readManagementCache());
|
|
411
|
+
}
|
|
412
|
+
/** Return the authenticated regional catalog, or the static list only as a pre-discovery bootstrap. */
|
|
413
|
+
export function getCachedModels(region) {
|
|
414
|
+
const cache = readManagementCache();
|
|
415
|
+
refreshKnownModelIds(cache);
|
|
416
|
+
const models = cache?.regions[region]?.models ?? kiroModels;
|
|
417
|
+
let changed = false;
|
|
418
|
+
const corrected = models.map((model) => {
|
|
419
|
+
const result = applyVerifiedCapabilities(model);
|
|
420
|
+
if (result !== model)
|
|
421
|
+
changed = true;
|
|
422
|
+
return result;
|
|
423
|
+
});
|
|
424
|
+
return changed ? corrected : models;
|
|
425
|
+
}
|
|
426
|
+
export function isCacheStale(region) {
|
|
427
|
+
const entry = readManagementCache()?.regions[region];
|
|
428
|
+
return !entry || Date.now() - entry.fetchedAt > CACHE_MAX_AGE_MS;
|
|
429
|
+
}
|
|
430
|
+
export async function updateKiroModelsCache(accessToken, region, profileArn) {
|
|
431
|
+
const response = await fetchKiroModelCatalog({ accessToken, region }, profileArn);
|
|
432
|
+
const models = mapKiroCatalogModels(response.models, region);
|
|
433
|
+
const cache = readManagementCache() ?? {
|
|
434
|
+
version: KIRO_MANAGEMENT_CACHE_VERSION,
|
|
435
|
+
source: KIRO_MANAGEMENT_CACHE_SOURCE,
|
|
436
|
+
regions: {},
|
|
437
|
+
};
|
|
438
|
+
cache.regions[region] = { region, fetchedAt: Date.now(), models };
|
|
439
|
+
writeManagementCache(cache);
|
|
440
|
+
refreshKnownModelIds(cache);
|
|
441
|
+
}
|
|
442
|
+
export function resolveKiroModel(modelId, exactKiroModelId) {
|
|
443
|
+
if (exactKiroModelId)
|
|
444
|
+
return exactKiroModelId;
|
|
445
|
+
const cachedModel = Object.values(readManagementCache()?.regions ?? {})
|
|
446
|
+
.flatMap((entry) => entry.models)
|
|
447
|
+
.find((model) => model.id === modelId);
|
|
448
|
+
if (cachedModel) {
|
|
449
|
+
KIRO_MODEL_IDS.add(cachedModel.kiroModelId);
|
|
450
|
+
return cachedModel.kiroModelId;
|
|
451
|
+
}
|
|
452
|
+
const bootstrapModel = kiroModels.find((model) => model.id === modelId);
|
|
453
|
+
if (bootstrapModel)
|
|
454
|
+
return bootstrapModel.kiroModelId;
|
|
455
|
+
const normalizedId = modelId.replace(/(\d)-(\d)/g, "$1.$2");
|
|
456
|
+
loadCachedModelIds();
|
|
457
|
+
if (!KIRO_MODEL_IDS.has(normalizedId)) {
|
|
458
|
+
throw new Error(`Unknown Kiro model ID: ${modelId}`);
|
|
459
|
+
}
|
|
460
|
+
return normalizedId;
|
|
461
|
+
}
|
|
462
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
|
package/dist/oauth.d.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export declare const SSO_OIDC_ENDPOINT = "https://oidc.us-east-1.amazonaws.com";
|
|
2
|
+
export declare const BUILDER_ID_START_URL = "https://view.awsapps.com/start";
|
|
3
|
+
export declare const BUILDER_ID_PROFILE_ARN = "arn:aws:codewhisperer:us-east-1:638616132270:profile/AAAACCCCXXXX";
|
|
4
|
+
export declare const KIRO_DESKTOP_REFRESH_URL = "https://prod.{region}.auth.desktop.kiro.dev/refreshToken";
|
|
5
|
+
export declare const SSO_SCOPES: string[];
|
|
6
|
+
export type KiroAuthMethod = "idc" | "desktop" | "external-idp" | "apikey";
|
|
7
|
+
export interface KiroCredentials {
|
|
8
|
+
/** Bearer token sent on every runtime and management request. */
|
|
9
|
+
access: string;
|
|
10
|
+
/** Pipe-packed refresh material; the last segment names the auth method. */
|
|
11
|
+
refresh: string;
|
|
12
|
+
/** Epoch milliseconds, already reduced by {@link EXPIRES_BUFFER_MS}. */
|
|
13
|
+
expires: number;
|
|
14
|
+
clientId: string;
|
|
15
|
+
clientSecret: string;
|
|
16
|
+
region: string;
|
|
17
|
+
authMethod: KiroAuthMethod;
|
|
18
|
+
/** Required for Google/GitHub social profiles; ListAvailableProfiles may return empty for these tokens. */
|
|
19
|
+
profileArn?: string;
|
|
20
|
+
startUrl?: string;
|
|
21
|
+
isEnterprise?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare const KIRO_DESKTOP_USER_AGENT = "Kiro-Desktop/0.2.13 (darwin; arm64)";
|
|
24
|
+
export declare function kiroUserAgent(service: string, sdkVersion: string): Record<string, string>;
|
|
25
|
+
export declare function kiroAuthHeaders(token: string): Record<string, string>;
|
|
26
|
+
export declare function isApiKey(token: string): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Validate a `ksk_` API key and resolve the profile it bills against.
|
|
29
|
+
*
|
|
30
|
+
* Unlike an SSO session this needs no browser round trip, so it is the one
|
|
31
|
+
* credential this package can establish on its own: GetProfile with an empty
|
|
32
|
+
* body returns the key's own profile, which both proves the key works and
|
|
33
|
+
* supplies the ARN every runtime request needs.
|
|
34
|
+
*/
|
|
35
|
+
export declare function loginKiroWithApiKey(apiKey: string, onProgress?: (message: string) => void): Promise<KiroCredentials>;
|
|
36
|
+
export declare function isExpired(credentials: KiroCredentials): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Refresh a session and kick off a catalog refresh for its region. The catalog
|
|
39
|
+
* call is deliberately not awaited: a stale catalog degrades model metadata,
|
|
40
|
+
* while a slow one would delay every request that had to reauthenticate.
|
|
41
|
+
*/
|
|
42
|
+
export declare function refreshKiroToken(credentials: KiroCredentials): Promise<KiroCredentials>;
|
|
43
|
+
/**
|
|
44
|
+
* Resolve a usable session from the stores this machine already has: the
|
|
45
|
+
* kiro-cli database first, then the Kiro IDE's token file. Expired material is
|
|
46
|
+
* accepted and refreshed rather than rejected, because a refresh token outlives
|
|
47
|
+
* its access token and rejecting here would ask the user to log in again for a
|
|
48
|
+
* session that is still good.
|
|
49
|
+
*/
|
|
50
|
+
export declare function resolveKiroCredentials(): Promise<KiroCredentials | undefined>;
|