@pentoshi/clai 4.11.26 → 4.11.28

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 (289) hide show
  1. package/dist/agent/compaction/summary-execution.js +11 -1
  2. package/dist/agent/compaction/summary-execution.js.map +1 -1
  3. package/dist/agent/context-manager.d.ts +0 -1
  4. package/dist/agent/context-manager.js +0 -1
  5. package/dist/agent/context-manager.js.map +1 -1
  6. package/dist/agent/events.d.ts +1 -5
  7. package/dist/agent/plan/actions/plan-clear.js +1 -1
  8. package/dist/agent/plan/actions/plan-clear.js.map +1 -1
  9. package/dist/agent/plan/actions/plan-create.js +38 -17
  10. package/dist/agent/plan/actions/plan-create.js.map +1 -1
  11. package/dist/agent/plan/actions/task-add.js +15 -4
  12. package/dist/agent/plan/actions/task-add.js.map +1 -1
  13. package/dist/agent/plan/actions/task-move.js +16 -5
  14. package/dist/agent/plan/actions/task-move.js.map +1 -1
  15. package/dist/agent/plan/handle-plan-tool.js +20 -6
  16. package/dist/agent/plan/handle-plan-tool.js.map +1 -1
  17. package/dist/agent/reliability-policy.d.ts +0 -10
  18. package/dist/agent/reliability-policy.js +0 -23
  19. package/dist/agent/reliability-policy.js.map +1 -1
  20. package/dist/agent/request-accounting.js +10 -10
  21. package/dist/agent/request-accounting.js.map +1 -1
  22. package/dist/agent/request-budget.d.ts +11 -18
  23. package/dist/agent/request-budget.js +14 -53
  24. package/dist/agent/request-budget.js.map +1 -1
  25. package/dist/agent/runner.js +16 -12
  26. package/dist/agent/runner.js.map +1 -1
  27. package/dist/agent/stream-recovery.d.ts +1 -2
  28. package/dist/agent/stream-recovery.js +5 -10
  29. package/dist/agent/stream-recovery.js.map +1 -1
  30. package/dist/agent/subagents/worker.js +3 -2
  31. package/dist/agent/subagents/worker.js.map +1 -1
  32. package/dist/agent/turn/automatic-compaction-execution.js +2 -2
  33. package/dist/agent/turn/automatic-compaction-execution.js.map +1 -1
  34. package/dist/agent/turn/compaction-admission.d.ts +2 -2
  35. package/dist/agent/turn/compaction-admission.js +14 -17
  36. package/dist/agent/turn/compaction-admission.js.map +1 -1
  37. package/dist/agent/turn/compaction-coordinator.d.ts +2 -1
  38. package/dist/agent/turn/compaction-coordinator.js +12 -7
  39. package/dist/agent/turn/compaction-coordinator.js.map +1 -1
  40. package/dist/agent/turn/compaction-durable-envelope.js +1 -1
  41. package/dist/agent/turn/compaction-durable-envelope.js.map +1 -1
  42. package/dist/agent/turn/compaction-replay-selection.js +2 -3
  43. package/dist/agent/turn/compaction-replay-selection.js.map +1 -1
  44. package/dist/agent/turn/compaction-summarizer.js +1 -1
  45. package/dist/agent/turn/compaction-summarizer.js.map +1 -1
  46. package/dist/agent/turn/loop/answer-path.js +2 -2
  47. package/dist/agent/turn/loop/answer-path.js.map +1 -1
  48. package/dist/agent/turn/loop/completion-interpretation.d.ts +0 -1
  49. package/dist/agent/turn/loop/completion-interpretation.js +2 -7
  50. package/dist/agent/turn/loop/completion-interpretation.js.map +1 -1
  51. package/dist/agent/turn/loop/deps.d.ts +1 -0
  52. package/dist/agent/turn/loop/empty-response.d.ts +1 -1
  53. package/dist/agent/turn/loop/empty-response.js +2 -4
  54. package/dist/agent/turn/loop/empty-response.js.map +1 -1
  55. package/dist/agent/turn/loop/output-budget.d.ts +0 -1
  56. package/dist/agent/turn/loop/output-budget.js +4 -9
  57. package/dist/agent/turn/loop/output-budget.js.map +1 -1
  58. package/dist/agent/turn/loop/request-assembly.d.ts +1 -3
  59. package/dist/agent/turn/loop/request-assembly.js +15 -15
  60. package/dist/agent/turn/loop/request-assembly.js.map +1 -1
  61. package/dist/agent/turn/loop/round-request.js +1 -6
  62. package/dist/agent/turn/loop/round-request.js.map +1 -1
  63. package/dist/agent/turn/loop/run-rounds.js +9 -15
  64. package/dist/agent/turn/loop/run-rounds.js.map +1 -1
  65. package/dist/agent/turn/loop/state.d.ts +2 -3
  66. package/dist/agent/turn/loop/state.js +1 -2
  67. package/dist/agent/turn/loop/state.js.map +1 -1
  68. package/dist/agent/turn/loop/stream-failure.d.ts +0 -1
  69. package/dist/agent/turn/loop/stream-failure.js +5 -5
  70. package/dist/agent/turn/loop/stream-failure.js.map +1 -1
  71. package/dist/agent/turn/loop/stream-request.d.ts +0 -1
  72. package/dist/agent/turn/loop/stream-request.js +1 -3
  73. package/dist/agent/turn/loop/stream-request.js.map +1 -1
  74. package/dist/agent/turn/plan-persistence.d.ts +4 -5
  75. package/dist/agent/turn/plan-persistence.js +13 -4
  76. package/dist/agent/turn/plan-persistence.js.map +1 -1
  77. package/dist/agent/turn/provider-measurement.d.ts +6 -0
  78. package/dist/agent/turn/provider-measurement.js +19 -0
  79. package/dist/agent/turn/provider-measurement.js.map +1 -0
  80. package/dist/agent/turn/responder-job-linkage.js +2 -2
  81. package/dist/agent/turn/responder-job-linkage.js.map +1 -1
  82. package/dist/agent/turn/setup/compaction-services.d.ts +2 -1
  83. package/dist/agent/turn/setup/compaction-services.js +2 -1
  84. package/dist/agent/turn/setup/compaction-services.js.map +1 -1
  85. package/dist/agent/turn/setup/task-gate-setup.d.ts +3 -3
  86. package/dist/agent/turn/setup/task-gate-setup.js.map +1 -1
  87. package/dist/agent/turn/task-autostart.d.ts +2 -2
  88. package/dist/agent/turn/task-autostart.js +7 -9
  89. package/dist/agent/turn/task-autostart.js.map +1 -1
  90. package/dist/agent/turn/task-credit.d.ts +2 -2
  91. package/dist/agent/turn/task-credit.js +8 -5
  92. package/dist/agent/turn/task-credit.js.map +1 -1
  93. package/dist/agent/turn/tool-execution/deps.d.ts +3 -3
  94. package/dist/agent/turn/tool-execution/dispatch.js +3 -5
  95. package/dist/agent/turn/tool-execution/dispatch.js.map +1 -1
  96. package/dist/agent/turn/tool-execution/meta-tools.d.ts +1 -1
  97. package/dist/agent/turn/tool-execution/meta-tools.js +13 -11
  98. package/dist/agent/turn/tool-execution/meta-tools.js.map +1 -1
  99. package/dist/agent/turn/tool-execution/plan-tool-ledger.d.ts +2 -2
  100. package/dist/agent/turn/tool-execution/plan-tool-ledger.js +6 -6
  101. package/dist/agent/turn/tool-execution/plan-tool-ledger.js.map +1 -1
  102. package/dist/agent/turn/tool-execution/result-framing.d.ts +1 -1
  103. package/dist/agent/turn/tool-execution/result-framing.js +1 -2
  104. package/dist/agent/turn/tool-execution/result-framing.js.map +1 -1
  105. package/dist/agent/turn/tool-execution/single-tool.js +28 -16
  106. package/dist/agent/turn/tool-execution/single-tool.js.map +1 -1
  107. package/dist/app/adapters/agent-event-adapter.js +7 -7
  108. package/dist/app/adapters/agent-event-adapter.js.map +1 -1
  109. package/dist/app/controllers/plan-controller.js +4 -1
  110. package/dist/app/controllers/plan-controller.js.map +1 -1
  111. package/dist/app/controllers/session-compact-helper.js +11 -8
  112. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  113. package/dist/app/controllers/session-context-usage.d.ts +6 -4
  114. package/dist/app/controllers/session-context-usage.js +94 -33
  115. package/dist/app/controllers/session-context-usage.js.map +1 -1
  116. package/dist/app/controllers/session-controller.d.ts +5 -6
  117. package/dist/app/controllers/session-controller.js +48 -40
  118. package/dist/app/controllers/session-controller.js.map +1 -1
  119. package/dist/app/controllers/session-responder.d.ts +2 -0
  120. package/dist/app/controllers/session-responder.js +18 -0
  121. package/dist/app/controllers/session-responder.js.map +1 -1
  122. package/dist/app/events/app-event.d.ts +3 -5
  123. package/dist/app/events/app-event.js.map +1 -1
  124. package/dist/classic/panels/pager-panel.js +3 -2
  125. package/dist/classic/panels/pager-panel.js.map +1 -1
  126. package/dist/commands/providers.d.ts +2 -0
  127. package/dist/commands/providers.js +49 -7
  128. package/dist/commands/providers.js.map +1 -1
  129. package/dist/llm/anthropic.d.ts +1 -0
  130. package/dist/llm/anthropic.js +20 -21
  131. package/dist/llm/anthropic.js.map +1 -1
  132. package/dist/llm/capabilities.d.ts +1 -4
  133. package/dist/llm/capabilities.js +24 -19
  134. package/dist/llm/capabilities.js.map +1 -1
  135. package/dist/llm/capability/state.js +0 -17
  136. package/dist/llm/capability/state.js.map +1 -1
  137. package/dist/llm/catalog-facts.js +40 -11
  138. package/dist/llm/catalog-facts.js.map +1 -1
  139. package/dist/llm/catalog-prefetch.js +9 -6
  140. package/dist/llm/catalog-prefetch.js.map +1 -1
  141. package/dist/llm/context-snapshot.d.ts +7 -3
  142. package/dist/llm/context-snapshot.js +35 -14
  143. package/dist/llm/context-snapshot.js.map +1 -1
  144. package/dist/llm/context-windows.d.ts +16 -0
  145. package/dist/llm/context-windows.js +54 -19
  146. package/dist/llm/context-windows.js.map +1 -1
  147. package/dist/llm/custom-providers.js +5 -4
  148. package/dist/llm/custom-providers.js.map +1 -1
  149. package/dist/llm/explabs.js +35 -26
  150. package/dist/llm/explabs.js.map +1 -1
  151. package/dist/llm/free.d.ts +1 -1
  152. package/dist/llm/free.js +26 -18
  153. package/dist/llm/free.js.map +1 -1
  154. package/dist/llm/gemini.js +25 -12
  155. package/dist/llm/gemini.js.map +1 -1
  156. package/dist/llm/kiro-auth.d.ts +34 -3
  157. package/dist/llm/kiro-auth.js +315 -144
  158. package/dist/llm/kiro-auth.js.map +1 -1
  159. package/dist/llm/kiro-import-sources.d.ts +10 -0
  160. package/dist/llm/kiro-import-sources.js +117 -0
  161. package/dist/llm/kiro-import-sources.js.map +1 -0
  162. package/dist/llm/kiro-reasoning.d.ts +28 -0
  163. package/dist/llm/kiro-reasoning.js +150 -0
  164. package/dist/llm/kiro-reasoning.js.map +1 -0
  165. package/dist/llm/kiro-social-device.d.ts +21 -0
  166. package/dist/llm/kiro-social-device.js +101 -0
  167. package/dist/llm/kiro-social-device.js.map +1 -0
  168. package/dist/llm/kiro.d.ts +3 -1
  169. package/dist/llm/kiro.js +653 -187
  170. package/dist/llm/kiro.js.map +1 -1
  171. package/dist/llm/learned-capabilities.js +1 -3
  172. package/dist/llm/learned-capabilities.js.map +1 -1
  173. package/dist/llm/merge-gateway.js +18 -13
  174. package/dist/llm/merge-gateway.js.map +1 -1
  175. package/dist/llm/meta-effort.d.ts +4 -0
  176. package/dist/llm/meta-effort.js +29 -0
  177. package/dist/llm/meta-effort.js.map +1 -0
  178. package/dist/llm/meta.js +13 -6
  179. package/dist/llm/meta.js.map +1 -1
  180. package/dist/llm/model-limit-store.d.ts +15 -0
  181. package/dist/llm/model-limit-store.js +121 -0
  182. package/dist/llm/model-limit-store.js.map +1 -0
  183. package/dist/llm/nvidia.d.ts +1 -0
  184. package/dist/llm/nvidia.js +15 -17
  185. package/dist/llm/nvidia.js.map +1 -1
  186. package/dist/llm/ollama-model-limits.d.ts +4 -0
  187. package/dist/llm/ollama-model-limits.js +91 -0
  188. package/dist/llm/ollama-model-limits.js.map +1 -0
  189. package/dist/llm/ollama.js +2 -1
  190. package/dist/llm/ollama.js.map +1 -1
  191. package/dist/llm/orcarouter.d.ts +1 -0
  192. package/dist/llm/orcarouter.js +8 -1
  193. package/dist/llm/orcarouter.js.map +1 -1
  194. package/dist/llm/provider-context-usage.d.ts +9 -0
  195. package/dist/llm/provider-context-usage.js +39 -0
  196. package/dist/llm/provider-context-usage.js.map +1 -0
  197. package/dist/llm/provider-info-text.js +3 -2
  198. package/dist/llm/provider-info-text.js.map +1 -1
  199. package/dist/llm/qwen-cloud.d.ts +1 -0
  200. package/dist/llm/qwen-cloud.js +44 -9
  201. package/dist/llm/qwen-cloud.js.map +1 -1
  202. package/dist/llm/reasoning-errors.d.ts +1 -0
  203. package/dist/llm/reasoning-errors.js +6 -0
  204. package/dist/llm/reasoning-errors.js.map +1 -1
  205. package/dist/llm/responses-config.d.ts +1 -1
  206. package/dist/llm/responses-config.js.map +1 -1
  207. package/dist/llm/responses-request.js +1 -1
  208. package/dist/llm/responses-request.js.map +1 -1
  209. package/dist/llm/routing/attempt-complete.js +9 -2
  210. package/dist/llm/routing/attempt-complete.js.map +1 -1
  211. package/dist/llm/routing/attempt-request.d.ts +1 -0
  212. package/dist/llm/routing/attempt-request.js +23 -0
  213. package/dist/llm/routing/attempt-request.js.map +1 -1
  214. package/dist/llm/routing/attempt-stream.js +15 -2
  215. package/dist/llm/routing/attempt-stream.js.map +1 -1
  216. package/dist/llm/token-estimate-calibration.js +1 -2
  217. package/dist/llm/token-estimate-calibration.js.map +1 -1
  218. package/dist/llm/token-usage.d.ts +2 -0
  219. package/dist/llm/token-usage.js +1 -1
  220. package/dist/llm/token-usage.js.map +1 -1
  221. package/dist/llm/wire/anthropic-model-catalog.d.ts +1 -0
  222. package/dist/llm/wire/anthropic-model-catalog.js +30 -0
  223. package/dist/llm/wire/anthropic-model-catalog.js.map +1 -0
  224. package/dist/llm/wire/dashscope-model-catalog.d.ts +1 -0
  225. package/dist/llm/wire/dashscope-model-catalog.js +53 -0
  226. package/dist/llm/wire/dashscope-model-catalog.js.map +1 -0
  227. package/dist/llm/wire/orcarouter-model-catalog.d.ts +2 -0
  228. package/dist/llm/wire/orcarouter-model-catalog.js +91 -0
  229. package/dist/llm/wire/orcarouter-model-catalog.js.map +1 -0
  230. package/dist/llm/wire/reasoning-payload.js +2 -8
  231. package/dist/llm/wire/reasoning-payload.js.map +1 -1
  232. package/dist/noninteractive/stream-blocks.d.ts +0 -3
  233. package/dist/noninteractive/stream-blocks.js +0 -9
  234. package/dist/noninteractive/stream-blocks.js.map +1 -1
  235. package/dist/noninteractive/stream-renderer.js +1 -4
  236. package/dist/noninteractive/stream-renderer.js.map +1 -1
  237. package/dist/store/config/endpoints.d.ts +0 -6
  238. package/dist/store/config/endpoints.js +1 -35
  239. package/dist/store/config/endpoints.js.map +1 -1
  240. package/dist/store/context-limits.d.ts +4 -0
  241. package/dist/store/context-limits.js +29 -0
  242. package/dist/store/context-limits.js.map +1 -0
  243. package/dist/store/plan/jsonl-backend.js +1 -4
  244. package/dist/store/plan/jsonl-backend.js.map +1 -1
  245. package/dist/store/plan/mutation.js +31 -1
  246. package/dist/store/plan/mutation.js.map +1 -1
  247. package/dist/store/plan/sqlite-backend.js +27 -9
  248. package/dist/store/plan/sqlite-backend.js.map +1 -1
  249. package/dist/tui-v2/components/pager/pager-line.d.ts +2 -0
  250. package/dist/tui-v2/components/pager/pager-line.js +1 -2
  251. package/dist/tui-v2/components/pager/pager-line.js.map +1 -1
  252. package/dist/tui-v2/components/pager/pager.js +5 -2
  253. package/dist/tui-v2/components/pager/pager.js.map +1 -1
  254. package/dist/tui-v2/components/transcript/tool-card.js +1 -1
  255. package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
  256. package/dist/types.d.ts +3 -1
  257. package/dist/types.js.map +1 -1
  258. package/dist/ui-core/bootstrap/composition-root.js +8 -5
  259. package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
  260. package/dist/ui-core/bootstrap/session-resume.js +1 -2
  261. package/dist/ui-core/bootstrap/session-resume.js.map +1 -1
  262. package/dist/ui-core/commands/key-commands.d.ts +2 -0
  263. package/dist/ui-core/commands/key-commands.js +76 -20
  264. package/dist/ui-core/commands/key-commands.js.map +1 -1
  265. package/dist/ui-core/commands/session-commands.js +33 -9
  266. package/dist/ui-core/commands/session-commands.js.map +1 -1
  267. package/dist/ui-core/rendering/batch-sections.js +10 -1
  268. package/dist/ui-core/rendering/batch-sections.js.map +1 -1
  269. package/dist/ui-core/rendering/context-limit.d.ts +0 -1
  270. package/dist/ui-core/rendering/context-limit.js +2 -2
  271. package/dist/ui-core/rendering/context-limit.js.map +1 -1
  272. package/dist/ui-core/rendering/subagent-presentation.d.ts +2 -0
  273. package/dist/ui-core/rendering/subagent-presentation.js +20 -7
  274. package/dist/ui-core/rendering/subagent-presentation.js.map +1 -1
  275. package/dist/ui-core/rendering/subagent-source.js +15 -8
  276. package/dist/ui-core/rendering/subagent-source.js.map +1 -1
  277. package/dist/ui-core/state/transcript/apply-app-event.js +0 -1
  278. package/dist/ui-core/state/transcript/apply-app-event.js.map +1 -1
  279. package/dist/ui-core/state/transcript-types.js +1 -1
  280. package/dist/ui-core/state/transcript-types.js.map +1 -1
  281. package/dist/version.generated.d.ts +2 -2
  282. package/dist/version.generated.js +2 -2
  283. package/package.json +1 -1
  284. package/dist/app/controllers/session-context-limits.d.ts +0 -8
  285. package/dist/app/controllers/session-context-limits.js +0 -35
  286. package/dist/app/controllers/session-context-limits.js.map +0 -1
  287. package/dist/store/config/compaction.d.ts +0 -1
  288. package/dist/store/config/compaction.js +0 -2
  289. package/dist/store/config/compaction.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"kiro-auth.js","sourceRoot":"","sources":["../../src/llm/kiro-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kiro-auth.js","sourceRoot":"","sources":["../../src/llm/kiro-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare function validateExternalIdpTokenEndpoint(raw: string): string;
2
+ export declare function normalizeIdpScope(value: unknown): string | undefined;
3
+ export declare function linkedSsoClientRegistration(tokenPath: string, token: Record<string, unknown>): Promise<{
4
+ clientId: string;
5
+ clientSecret: string;
6
+ } | undefined>;
7
+ export declare function kiroIdeProfilePaths(home?: string): string[];
8
+ export declare function readKiroIdeProfileArn(): Promise<string | undefined>;
9
+ export declare function preferKiroSsoTokenFiles(files: readonly string[]): string[];
10
+ export declare function parseStoredExpiry(value: unknown): number | undefined;
@@ -0,0 +1,117 @@
1
+ import { readFile, readdir } from "node:fs/promises";
2
+ import { homedir } from "node:os";
3
+ import { basename, dirname, join } from "node:path";
4
+ const ALLOWED_IDP_HOSTS = [
5
+ "login.microsoftonline.com",
6
+ "login.microsoftonline.us",
7
+ "login.partner.microsoftonline.cn",
8
+ "login.microsoft.com",
9
+ "login.windows.net",
10
+ "sts.windows.net",
11
+ ".okta.com",
12
+ ".oktapreview.com",
13
+ ".okta-emea.com",
14
+ ".auth0.com",
15
+ ".onelogin.com",
16
+ ".pingidentity.com",
17
+ ".pingone.com",
18
+ "accounts.google.com",
19
+ "oauth2.googleapis.com",
20
+ ".amazoncognito.com",
21
+ ];
22
+ export function validateExternalIdpTokenEndpoint(raw) {
23
+ let parsed;
24
+ try {
25
+ parsed = new URL(raw.trim());
26
+ }
27
+ catch {
28
+ throw new Error("external IdP tokenEndpoint must be a valid URL");
29
+ }
30
+ if (parsed.protocol !== "https:") {
31
+ throw new Error("external IdP tokenEndpoint must use https");
32
+ }
33
+ const host = parsed.hostname.toLowerCase();
34
+ const allowed = ALLOWED_IDP_HOSTS.some((suffix) => suffix.startsWith(".") ? host.endsWith(suffix) : host === suffix);
35
+ if (!allowed) {
36
+ throw new Error(`external IdP tokenEndpoint host is not allowed: ${host}`);
37
+ }
38
+ return parsed.toString();
39
+ }
40
+ export function normalizeIdpScope(value) {
41
+ const scope = Array.isArray(value)
42
+ ? value.filter((entry) => typeof entry === "string").join(" ")
43
+ : typeof value === "string"
44
+ ? value
45
+ : "";
46
+ return scope.trim() || undefined;
47
+ }
48
+ async function readJson(path) {
49
+ try {
50
+ const parsed = JSON.parse(await readFile(path, "utf8"));
51
+ return parsed && typeof parsed === "object" && !Array.isArray(parsed)
52
+ ? parsed
53
+ : undefined;
54
+ }
55
+ catch {
56
+ return undefined;
57
+ }
58
+ }
59
+ function secretPair(record) {
60
+ const clientId = record?.clientId;
61
+ const clientSecret = record?.clientSecret;
62
+ return typeof clientId === "string" && clientId &&
63
+ typeof clientSecret === "string" && clientSecret
64
+ ? { clientId, clientSecret }
65
+ : undefined;
66
+ }
67
+ export async function linkedSsoClientRegistration(tokenPath, token) {
68
+ const directory = dirname(tokenPath);
69
+ if (typeof token.clientIdHash === "string" && /^[\w-]+$/.test(token.clientIdHash)) {
70
+ const linked = secretPair(await readJson(join(directory, `${token.clientIdHash}.json`)));
71
+ if (linked)
72
+ return linked;
73
+ }
74
+ if (typeof token.clientId !== "string" || !token.clientId)
75
+ return undefined;
76
+ const files = await readdir(directory).catch(() => []);
77
+ for (const file of files) {
78
+ if (!file.endsWith(".json") || file === basename(tokenPath))
79
+ continue;
80
+ const candidate = secretPair(await readJson(join(directory, file)));
81
+ if (candidate?.clientId === token.clientId)
82
+ return candidate;
83
+ }
84
+ return undefined;
85
+ }
86
+ export function kiroIdeProfilePaths(home = homedir()) {
87
+ const tail = ["User", "globalStorage", "kiro.kiroagent", "profile.json"];
88
+ return [
89
+ join(process.env.APPDATA ?? join(home, "AppData", "Roaming"), "Kiro", ...tail),
90
+ join(home, ".config", "Kiro", ...tail),
91
+ join(home, "Library", "Application Support", "Kiro", ...tail),
92
+ ];
93
+ }
94
+ export async function readKiroIdeProfileArn() {
95
+ for (const path of kiroIdeProfilePaths()) {
96
+ const arn = (await readJson(path))?.arn;
97
+ if (typeof arn === "string" && arn.startsWith("arn:"))
98
+ return arn;
99
+ }
100
+ return undefined;
101
+ }
102
+ export function preferKiroSsoTokenFiles(files) {
103
+ const preferred = ["kiro-auth-token.json", "amazon-q-auth-token.json"];
104
+ return [
105
+ ...preferred.filter((name) => files.includes(name)),
106
+ ...files.filter((name) => name.endsWith(".json") && !preferred.includes(name)),
107
+ ];
108
+ }
109
+ export function parseStoredExpiry(value) {
110
+ if (typeof value === "number" && Number.isFinite(value))
111
+ return value;
112
+ if (typeof value !== "string")
113
+ return undefined;
114
+ const parsed = Date.parse(value);
115
+ return Number.isFinite(parsed) ? parsed : undefined;
116
+ }
117
+ //# sourceMappingURL=kiro-import-sources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kiro-import-sources.js","sourceRoot":"","sources":["../../src/llm/kiro-import-sources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { ReasoningArtifact, ReasoningArtifactProvenance, ReasoningBlock } from "../types.js";
2
+ export declare function isKiroReasoningPlaceholder(text: string): boolean;
3
+ export interface KiroReasoningAccumulator {
4
+ push(chunk: string): void;
5
+ sign(signature: string): void;
6
+ redact(content: string): void;
7
+ finish(): void;
8
+ readonly text: string;
9
+ readonly signature: string;
10
+ readonly redactedContent: string;
11
+ readonly opaque: boolean;
12
+ }
13
+ export declare function createKiroReasoningAccumulator(emit: (text: string) => void): KiroReasoningAccumulator;
14
+ export declare function sentKiroReasoningEffort(fields: Record<string, unknown> | undefined): string | undefined;
15
+ export declare function kiroPrivateReasoningNote(input: {
16
+ model: string;
17
+ effort: string | undefined;
18
+ signatureChars: number;
19
+ }): string;
20
+ export declare function kiroReasoningResult(input: {
21
+ reasoning: KiroReasoningAccumulator;
22
+ provenance: ReasoningArtifactProvenance;
23
+ hasToolCalls: boolean;
24
+ }): {
25
+ artifacts: readonly ReasoningArtifact[];
26
+ block: ReasoningBlock | undefined;
27
+ };
28
+ export declare function kiroCatalogEfforts(schema: unknown): string[];
@@ -0,0 +1,150 @@
1
+ import { createReasoningArtifact, createSignedThinkingArtifacts, } from "./reasoning-artifacts.js";
2
+ const PLACEHOLDER_REASONING = /^[\s.\u2026]*$/;
3
+ export function isKiroReasoningPlaceholder(text) {
4
+ return PLACEHOLDER_REASONING.test(text);
5
+ }
6
+ export function createKiroReasoningAccumulator(emit) {
7
+ let text = "";
8
+ let pending = "";
9
+ let emitted = false;
10
+ let signature = "";
11
+ let redactedContent = "";
12
+ const isOpaque = () => Boolean(signature) && !emitted && isKiroReasoningPlaceholder(text);
13
+ return {
14
+ push(chunk) {
15
+ if (!chunk)
16
+ return;
17
+ text += chunk;
18
+ if (!emitted && isKiroReasoningPlaceholder(pending + chunk)) {
19
+ pending += chunk;
20
+ return;
21
+ }
22
+ emit(pending + chunk);
23
+ pending = "";
24
+ emitted = true;
25
+ },
26
+ sign(value) {
27
+ if (value)
28
+ signature = value;
29
+ },
30
+ redact(value) {
31
+ if (value)
32
+ redactedContent += value;
33
+ },
34
+ finish() {
35
+ if (!pending || isOpaque())
36
+ return;
37
+ if (pending.trim())
38
+ emit(pending);
39
+ pending = "";
40
+ },
41
+ get text() {
42
+ return text;
43
+ },
44
+ get signature() {
45
+ return signature;
46
+ },
47
+ get redactedContent() {
48
+ return redactedContent;
49
+ },
50
+ get opaque() {
51
+ return isOpaque();
52
+ },
53
+ };
54
+ }
55
+ export function sentKiroReasoningEffort(fields) {
56
+ for (const key of ["reasoning", "output_config"]) {
57
+ const holder = fields?.[key];
58
+ if (!holder || typeof holder !== "object")
59
+ continue;
60
+ const effort = holder.effort;
61
+ if (typeof effort === "string" && effort)
62
+ return effort;
63
+ }
64
+ return undefined;
65
+ }
66
+ export function kiroPrivateReasoningNote(input) {
67
+ const effortText = input.effort ? ` at ${input.effort} effort` : "";
68
+ return `Reasoning is private on Kiro for ${input.model}: the model reasoned${effortText}, but Kiro returns only an encrypted reasoning signature (${input.signatureChars.toLocaleString("en-US")} chars) and no reasoning text to display.`;
69
+ }
70
+ export function kiroReasoningResult(input) {
71
+ const { reasoning, provenance, hasToolCalls } = input;
72
+ const toolPosition = hasToolCalls ? { toolCallIndex: 0 } : {};
73
+ const artifacts = [];
74
+ const displayText = reasoning.text.trim();
75
+ if (reasoning.opaque) {
76
+ artifacts.push(createReasoningArtifact({
77
+ kind: "signed",
78
+ raw: { text: reasoning.text, signature: reasoning.signature },
79
+ provenance,
80
+ replay: { scope: "tool-turn", persistence: "tool-turn" },
81
+ position: {
82
+ sequence: 0,
83
+ placement: hasToolCalls ? "before-tool-call" : "assistant",
84
+ ...toolPosition,
85
+ },
86
+ }));
87
+ }
88
+ else if (displayText) {
89
+ artifacts.push(...createSignedThinkingArtifacts({
90
+ blocks: [{
91
+ sequence: 0,
92
+ thinking: displayText,
93
+ ...(reasoning.signature ? { signature: reasoning.signature } : {}),
94
+ raw: reasoning.signature
95
+ ? { text: reasoning.text, signature: reasoning.signature }
96
+ : displayText,
97
+ ...toolPosition,
98
+ }],
99
+ provenance,
100
+ }));
101
+ }
102
+ if (reasoning.redactedContent) {
103
+ artifacts.push(createReasoningArtifact({
104
+ kind: "encrypted",
105
+ raw: { redactedContent: reasoning.redactedContent },
106
+ provenance,
107
+ replay: hasToolCalls
108
+ ? { scope: "tool-turn", persistence: "tool-turn" }
109
+ : { scope: "none", persistence: "never" },
110
+ position: {
111
+ sequence: artifacts.length,
112
+ placement: hasToolCalls ? "before-tool-call" : "assistant",
113
+ ...toolPosition,
114
+ },
115
+ }));
116
+ }
117
+ const block = !reasoning.opaque && displayText
118
+ ? {
119
+ text: displayText,
120
+ ...(reasoning.signature ? { signature: reasoning.signature } : {}),
121
+ }
122
+ : undefined;
123
+ return { artifacts, block };
124
+ }
125
+ function schemaRecord(value) {
126
+ return value && typeof value === "object" && !Array.isArray(value)
127
+ ? value
128
+ : undefined;
129
+ }
130
+ function schemaChild(schema, name) {
131
+ return schemaRecord(schemaRecord(schema?.properties)?.[name]);
132
+ }
133
+ function schemaStrings(schema) {
134
+ return Array.isArray(schema?.enum)
135
+ ? schema.enum.filter((value) => typeof value === "string")
136
+ : [];
137
+ }
138
+ export function kiroCatalogEfforts(schema) {
139
+ const root = schemaRecord(schema);
140
+ const efforts = [
141
+ ...schemaStrings(schemaChild(schemaChild(root, "output_config"), "effort")),
142
+ ...schemaStrings(schemaChild(schemaChild(root, "reasoning"), "effort")),
143
+ ];
144
+ if (efforts.length === 0)
145
+ return [];
146
+ const thinkingTypes = schemaStrings(schemaChild(schemaChild(root, "thinking"), "type"));
147
+ const canDisable = thinkingTypes.includes("disabled");
148
+ return [...new Set([...(canDisable ? ["none"] : []), ...efforts])];
149
+ }
150
+ //# sourceMappingURL=kiro-reasoning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kiro-reasoning.js","sourceRoot":"","sources":["../../src/llm/kiro-reasoning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { type KiroCredential } from "./kiro-auth.js";
2
+ export type KiroSocialProvider = "google" | "github";
3
+ export declare const KIRO_SOCIAL_DEVICE_CLIENT_ID = "kiro-cli";
4
+ export interface KiroSocialDeviceStart {
5
+ readonly provider: KiroSocialProvider;
6
+ readonly deviceCode: string;
7
+ readonly userCode: string;
8
+ readonly verificationUri: string;
9
+ readonly verificationUriComplete: string;
10
+ readonly expiresInSeconds: number;
11
+ readonly pollIntervalSeconds: number;
12
+ }
13
+ type Fetch = typeof fetch;
14
+ export declare function startKiroSocialDeviceAuth(provider: KiroSocialProvider, fetchImpl?: Fetch): Promise<KiroSocialDeviceStart>;
15
+ export declare function pollKiroSocialDeviceAuth(start: KiroSocialDeviceStart, options?: {
16
+ signal?: AbortSignal | undefined;
17
+ onPending?: ((remainingSeconds: number) => void) | undefined;
18
+ fetchImpl?: Fetch | undefined;
19
+ wait?: ((ms: number, signal: AbortSignal | undefined) => Promise<void>) | undefined;
20
+ }): Promise<KiroCredential>;
21
+ export {};