@arvoretech/pi-kiro-provider 0.8.1

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 (74) hide show
  1. package/README.md +121 -0
  2. package/dist/bracket-tool-parser.d.ts +12 -0
  3. package/dist/bracket-tool-parser.d.ts.map +1 -0
  4. package/dist/bracket-tool-parser.js +78 -0
  5. package/dist/bracket-tool-parser.js.map +1 -0
  6. package/dist/debug.d.ts +3 -0
  7. package/dist/debug.d.ts.map +1 -0
  8. package/dist/debug.js +49 -0
  9. package/dist/debug.js.map +1 -0
  10. package/dist/event-parser.d.ts +44 -0
  11. package/dist/event-parser.d.ts.map +1 -0
  12. package/dist/event-parser.js +66 -0
  13. package/dist/event-parser.js.map +1 -0
  14. package/dist/history.d.ts +13 -0
  15. package/dist/history.d.ts.map +1 -0
  16. package/dist/history.js +121 -0
  17. package/dist/history.js.map +1 -0
  18. package/dist/index.d.ts +6 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +44 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/kiro-cli.d.ts +32 -0
  23. package/dist/kiro-cli.d.ts.map +1 -0
  24. package/dist/kiro-cli.js +271 -0
  25. package/dist/kiro-cli.js.map +1 -0
  26. package/dist/kiro-ide.d.ts +13 -0
  27. package/dist/kiro-ide.d.ts.map +1 -0
  28. package/dist/kiro-ide.js +74 -0
  29. package/dist/kiro-ide.js.map +1 -0
  30. package/dist/login-ui.d.ts +18 -0
  31. package/dist/login-ui.d.ts.map +1 -0
  32. package/dist/login-ui.js +124 -0
  33. package/dist/login-ui.js.map +1 -0
  34. package/dist/login.d.ts +16 -0
  35. package/dist/login.d.ts.map +1 -0
  36. package/dist/login.js +217 -0
  37. package/dist/login.js.map +1 -0
  38. package/dist/models.d.ts +72 -0
  39. package/dist/models.d.ts.map +1 -0
  40. package/dist/models.js +461 -0
  41. package/dist/models.js.map +1 -0
  42. package/dist/oauth.d.ts +30 -0
  43. package/dist/oauth.d.ts.map +1 -0
  44. package/dist/oauth.js +226 -0
  45. package/dist/oauth.js.map +1 -0
  46. package/dist/retry.d.ts +21 -0
  47. package/dist/retry.d.ts.map +1 -0
  48. package/dist/retry.js +51 -0
  49. package/dist/retry.js.map +1 -0
  50. package/dist/stream.d.ts +5 -0
  51. package/dist/stream.d.ts.map +1 -0
  52. package/dist/stream.js +858 -0
  53. package/dist/stream.js.map +1 -0
  54. package/dist/thinking-parser.d.ts +24 -0
  55. package/dist/thinking-parser.d.ts.map +1 -0
  56. package/dist/thinking-parser.js +205 -0
  57. package/dist/thinking-parser.js.map +1 -0
  58. package/dist/tokenizer.d.ts +2 -0
  59. package/dist/tokenizer.d.ts.map +1 -0
  60. package/dist/tokenizer.js +16 -0
  61. package/dist/tokenizer.js.map +1 -0
  62. package/dist/transform.d.ts +63 -0
  63. package/dist/transform.d.ts.map +1 -0
  64. package/dist/transform.js +200 -0
  65. package/dist/transform.js.map +1 -0
  66. package/dist/truncation.d.ts +4 -0
  67. package/dist/truncation.d.ts.map +1 -0
  68. package/dist/truncation.js +13 -0
  69. package/dist/truncation.js.map +1 -0
  70. package/dist/usage.d.ts +90 -0
  71. package/dist/usage.d.ts.map +1 -0
  72. package/dist/usage.js +169 -0
  73. package/dist/usage.js.map +1 -0
  74. package/package.json +61 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncation.js","sourceRoot":"","sources":["../src/truncation.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,uGAAuG;AAIvG,MAAM,CAAC,MAAM,iBAAiB,GAC7B,2GAA2G,CAAC;AAE7G,MAAM,UAAU,4BAA4B,CAAC,QAAmB;IAC/D,yCAAyC;IACzC,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACtC,OAAQ,QAAQ,CAAC,CAAC,CAAsB,CAAC,UAAU,KAAK,QAAQ,CAAC;QAClE,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}
@@ -0,0 +1,90 @@
1
+ import type { OAuthCredentials } from "@earendil-works/pi-ai";
2
+ type EpochLike = number | string;
3
+ interface KiroFreeTrialInfo {
4
+ freeTrialStatus?: string;
5
+ freeTrialExpiry?: EpochLike;
6
+ currentUsage?: number;
7
+ currentUsageWithPrecision?: number;
8
+ usageLimit?: number;
9
+ usageLimitWithPrecision?: number;
10
+ }
11
+ interface KiroUsageBreakdown {
12
+ resourceType?: string;
13
+ displayName?: string;
14
+ displayNamePlural?: string;
15
+ currentUsage: number;
16
+ currentUsageWithPrecision?: number;
17
+ currentOverages: number;
18
+ currentOveragesWithPrecision?: number;
19
+ usageLimit: number;
20
+ usageLimitWithPrecision?: number;
21
+ unit?: string;
22
+ overageCharges: number;
23
+ currency?: string;
24
+ overageRate?: number;
25
+ nextDateReset?: EpochLike;
26
+ overageCap?: number;
27
+ overageCapWithPrecision?: number;
28
+ freeTrialInfo?: KiroFreeTrialInfo;
29
+ }
30
+ interface KiroSubscriptionInfo {
31
+ type?: string;
32
+ upgradeCapability?: string;
33
+ overageCapability?: string;
34
+ subscriptionManagementTarget?: string;
35
+ subscriptionTitle?: string;
36
+ }
37
+ interface KiroOverageConfiguration {
38
+ overageStatus?: string;
39
+ }
40
+ interface KiroUsageLimitList {
41
+ type?: string;
42
+ currentUsage?: number;
43
+ totalUsageLimit?: number;
44
+ percentUsed?: number;
45
+ }
46
+ interface KiroUserInfo {
47
+ userId?: string;
48
+ email?: string;
49
+ }
50
+ export interface KiroGetUsageLimitsResponse {
51
+ limits?: KiroUsageLimitList[];
52
+ nextDateReset?: EpochLike;
53
+ daysUntilReset?: number;
54
+ usageBreakdown?: KiroUsageBreakdown;
55
+ usageBreakdownList?: KiroUsageBreakdown[];
56
+ subscriptionInfo?: KiroSubscriptionInfo;
57
+ overageConfiguration?: KiroOverageConfiguration;
58
+ userInfo?: KiroUserInfo;
59
+ }
60
+ export interface KiroProviderUsageBonus {
61
+ label: string;
62
+ usedDisplay?: string;
63
+ limitDisplay?: string;
64
+ expiresAt?: string;
65
+ }
66
+ export interface KiroProviderUsageBucket {
67
+ id: string;
68
+ label: string;
69
+ resourceType?: string;
70
+ usedDisplay: string;
71
+ limitDisplay?: string;
72
+ unit?: string;
73
+ overagesDisplay?: string;
74
+ overageChargesDisplay?: string;
75
+ resetAt?: string;
76
+ bonus?: KiroProviderUsageBonus;
77
+ }
78
+ export interface KiroProviderUsage {
79
+ summary?: string;
80
+ subscriptionTitle?: string;
81
+ resetAt?: string;
82
+ daysUntilReset?: number;
83
+ overageStatus?: string;
84
+ manageUrl?: string;
85
+ usageBuckets?: KiroProviderUsageBucket[];
86
+ raw?: Record<string, unknown>;
87
+ }
88
+ export declare function fetchKiroUsage(credentials: OAuthCredentials): Promise<KiroProviderUsage>;
89
+ export {};
90
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAU9D,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjC,UAAU,iBAAiB;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,UAAU,kBAAkB;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,aAAa,CAAC,EAAE,iBAAiB,CAAC;CAClC;AAED,UAAU,oBAAoB;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,wBAAwB;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,kBAAkB;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,YAAY;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IAC1C,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC1C,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;IAChD,QAAQ,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAkND,wBAAsB,cAAc,CACnC,WAAW,EAAE,gBAAgB,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CAkB5B"}
package/dist/usage.js ADDED
@@ -0,0 +1,169 @@
1
+ // ABOUTME: Fetches Kiro account usage via AmazonCodeWhispererService.GetUsageLimits.
2
+ // ABOUTME: Maps the backend response into pi's generic OAuthProviderUsage shape for /settings.
3
+ const USAGE_ENDPOINT = "https://q.{region}.amazonaws.com/";
4
+ const MANAGE_USAGE_URL = "https://app.kiro.dev/account/usage";
5
+ const JSON_HEADERS = {
6
+ "Content-Type": "application/x-amz-json-1.0",
7
+ "User-Agent": "pi-provider-kiro",
8
+ };
9
+ function getRegion(credentials) {
10
+ return credentials.region || "us-east-1";
11
+ }
12
+ function getEndpoint(credentials) {
13
+ return USAGE_ENDPOINT.replace("{region}", getRegion(credentials));
14
+ }
15
+ function toIsoDate(value) {
16
+ if (value === undefined || value === null)
17
+ return undefined;
18
+ const date = typeof value === "number" ? new Date(value * 1000) : new Date(value);
19
+ return Number.isNaN(date.getTime()) ? undefined : date.toISOString();
20
+ }
21
+ function formatCount(value) {
22
+ if (value === undefined || Number.isNaN(value))
23
+ return undefined;
24
+ return Number.isInteger(value) ? String(value) : value.toFixed(2);
25
+ }
26
+ function formatMoney(amount, currency) {
27
+ if (amount === undefined || Number.isNaN(amount) || amount <= 0)
28
+ return undefined;
29
+ const code = currency || "USD";
30
+ try {
31
+ return new Intl.NumberFormat("en-US", {
32
+ style: "currency",
33
+ currency: code,
34
+ }).format(amount);
35
+ }
36
+ catch {
37
+ return `${amount.toFixed(2)} ${code}`;
38
+ }
39
+ }
40
+ function bucketId(bucket, index) {
41
+ return bucket.resourceType || bucket.displayName || `usage-${index}`;
42
+ }
43
+ function mapBucket(bucket, index) {
44
+ const used = bucket.currentUsageWithPrecision ?? bucket.currentUsage;
45
+ const limit = bucket.usageLimitWithPrecision ?? bucket.usageLimit;
46
+ const overages = bucket.currentOveragesWithPrecision ?? bucket.currentOverages;
47
+ const freeTrialUsed = bucket.freeTrialInfo?.currentUsageWithPrecision ??
48
+ bucket.freeTrialInfo?.currentUsage;
49
+ const freeTrialLimit = bucket.freeTrialInfo?.usageLimitWithPrecision ??
50
+ bucket.freeTrialInfo?.usageLimit;
51
+ return {
52
+ id: bucketId(bucket, index),
53
+ label: bucket.displayName ||
54
+ bucket.displayNamePlural ||
55
+ bucket.resourceType ||
56
+ "Usage",
57
+ resourceType: bucket.resourceType,
58
+ usedDisplay: formatCount(used) || "0",
59
+ limitDisplay: formatCount(limit),
60
+ unit: bucket.unit,
61
+ overagesDisplay: overages && overages > 0 ? formatCount(overages) : undefined,
62
+ overageChargesDisplay: formatMoney(bucket.overageCharges, bucket.currency),
63
+ resetAt: toIsoDate(bucket.nextDateReset),
64
+ bonus: freeTrialUsed !== undefined ||
65
+ freeTrialLimit !== undefined ||
66
+ bucket.freeTrialInfo?.freeTrialExpiry !== undefined
67
+ ? {
68
+ label: "Bonus credits",
69
+ usedDisplay: formatCount(freeTrialUsed),
70
+ limitDisplay: formatCount(freeTrialLimit),
71
+ expiresAt: toIsoDate(bucket.freeTrialInfo?.freeTrialExpiry),
72
+ }
73
+ : undefined,
74
+ };
75
+ }
76
+ async function postOperation(credentials, target, body) {
77
+ const response = await fetch(getEndpoint(credentials), {
78
+ method: "POST",
79
+ headers: {
80
+ ...JSON_HEADERS,
81
+ Authorization: `Bearer ${credentials.access}`,
82
+ "X-Amz-Target": target,
83
+ },
84
+ body: JSON.stringify(body),
85
+ });
86
+ if (!response.ok) {
87
+ const text = await response.text();
88
+ throw new Error(`${target} failed: ${response.status} ${response.statusText}${text ? ` ${text}` : ""}`);
89
+ }
90
+ return (await response.json());
91
+ }
92
+ async function listProfileArn(credentials) {
93
+ try {
94
+ const response = await postOperation(credentials, "AmazonCodeWhispererService.ListAvailableProfiles", {});
95
+ return response.profiles?.find((profile) => profile.arn)?.arn;
96
+ }
97
+ catch {
98
+ return undefined;
99
+ }
100
+ }
101
+ function buildUsageBodies(profileArn) {
102
+ const maybeProfile = profileArn ? { profileArn } : {};
103
+ return [
104
+ {
105
+ ...maybeProfile,
106
+ origin: "CLI",
107
+ resourceType: "CREDIT",
108
+ isEmailRequired: false,
109
+ },
110
+ { ...maybeProfile, origin: "CLI", resourceType: "CREDIT" },
111
+ { ...maybeProfile, origin: "CLI" },
112
+ {
113
+ ...maybeProfile,
114
+ origin: "CHATBOT",
115
+ resourceType: "CREDIT",
116
+ isEmailRequired: false,
117
+ },
118
+ { ...maybeProfile, origin: "CHATBOT", resourceType: "CREDIT" },
119
+ maybeProfile,
120
+ ];
121
+ }
122
+ async function tryUsageBodies(credentials, bodies, errors) {
123
+ const seen = new Set();
124
+ for (const body of bodies) {
125
+ const key = JSON.stringify(body);
126
+ if (seen.has(key))
127
+ continue;
128
+ seen.add(key);
129
+ try {
130
+ return await postOperation(credentials, "AmazonCodeWhispererService.GetUsageLimits", body);
131
+ }
132
+ catch (error) {
133
+ errors.push(error instanceof Error ? error.message : String(error));
134
+ }
135
+ }
136
+ return undefined;
137
+ }
138
+ async function fetchRawUsage(credentials) {
139
+ const errors = [];
140
+ const direct = await tryUsageBodies(credentials, buildUsageBodies(undefined), errors);
141
+ if (direct)
142
+ return direct;
143
+ const profileArn = await listProfileArn(credentials);
144
+ if (profileArn) {
145
+ const profiled = await tryUsageBodies(credentials, buildUsageBodies(profileArn), errors);
146
+ if (profiled)
147
+ return profiled;
148
+ }
149
+ throw new Error(errors.join(" | ") || "GetUsageLimits failed");
150
+ }
151
+ export async function fetchKiroUsage(credentials) {
152
+ const raw = await fetchRawUsage(credentials);
153
+ const usageBuckets = raw.usageBreakdownList?.length
154
+ ? raw.usageBreakdownList.map(mapBucket)
155
+ : raw.usageBreakdown
156
+ ? [mapBucket(raw.usageBreakdown, 0)]
157
+ : [];
158
+ return {
159
+ summary: raw.subscriptionInfo?.subscriptionTitle,
160
+ subscriptionTitle: raw.subscriptionInfo?.subscriptionTitle,
161
+ resetAt: toIsoDate(raw.nextDateReset),
162
+ daysUntilReset: raw.daysUntilReset,
163
+ overageStatus: raw.overageConfiguration?.overageStatus,
164
+ manageUrl: MANAGE_USAGE_URL,
165
+ usageBuckets,
166
+ raw: raw,
167
+ };
168
+ }
169
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "@arvoretech/pi-kiro-provider",
3
+ "version": "0.8.1",
4
+ "description": "Pi extension for the Kiro API, maintained by Arvore",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "type": "module",
8
+ "license": "MIT",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/arvoreeducacao/arvore-pi-extensions.git",
12
+ "directory": "packages/kiro-provider"
13
+ },
14
+ "homepage": "https://github.com/arvoreeducacao/arvore-pi-extensions/tree/main/packages/kiro-provider",
15
+ "bugs": {
16
+ "url": "https://github.com/arvoreeducacao/arvore-pi-extensions/issues"
17
+ },
18
+ "keywords": [
19
+ "pi-package",
20
+ "pi",
21
+ "kiro",
22
+ "aws",
23
+ "codewhisperer",
24
+ "ai",
25
+ "provider"
26
+ ],
27
+ "files": [
28
+ "dist",
29
+ "README.md"
30
+ ],
31
+ "scripts": {
32
+ "build": "tsc",
33
+ "check": "tsc --noEmit",
34
+ "lint": "tsc --noEmit",
35
+ "test": "vitest run",
36
+ "test:watch": "vitest",
37
+ "prepare": "pnpm build",
38
+ "prepublishOnly": "pnpm check && pnpm build"
39
+ },
40
+ "pi": {
41
+ "extensions": [
42
+ "./dist/index.js"
43
+ ]
44
+ },
45
+ "peerDependencies": {
46
+ "@earendil-works/pi-coding-agent": ">=0.75.5"
47
+ },
48
+ "dependencies": {
49
+ "@smithy/core": "^3.24.5",
50
+ "@smithy/types": "^4.15.1",
51
+ "js-tiktoken": "^1.0.21"
52
+ },
53
+ "devDependencies": {
54
+ "@earendil-works/pi-ai": "^0.75.5",
55
+ "@earendil-works/pi-coding-agent": "^0.75.5",
56
+ "@earendil-works/pi-tui": "^0.75.5",
57
+ "@types/node": "^22.5.0",
58
+ "typescript": "^5.7.0",
59
+ "vitest": "^3.0.0"
60
+ }
61
+ }