@intentic/keyring 0.0.0-stage → 1.338.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.
Files changed (179) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +136 -2
  3. package/dist/address.d.ts +14 -0
  4. package/dist/address.d.ts.map +1 -0
  5. package/dist/address.js +17 -0
  6. package/dist/address.js.map +1 -0
  7. package/dist/app.d.ts +3 -0
  8. package/dist/app.d.ts.map +1 -0
  9. package/dist/app.js +100 -0
  10. package/dist/app.js.map +1 -0
  11. package/dist/askpass/askpass-run.d.ts +7 -0
  12. package/dist/askpass/askpass-run.d.ts.map +1 -0
  13. package/dist/askpass/askpass-run.js +25 -0
  14. package/dist/askpass/askpass-run.js.map +1 -0
  15. package/dist/askpass/askpass.d.ts +9 -0
  16. package/dist/askpass/askpass.d.ts.map +1 -0
  17. package/dist/askpass/askpass.js +70 -0
  18. package/dist/askpass/askpass.js.map +1 -0
  19. package/dist/askpass-cli.d.ts +3 -0
  20. package/dist/askpass-cli.d.ts.map +1 -0
  21. package/dist/askpass-cli.js +4 -0
  22. package/dist/askpass-cli.js.map +1 -0
  23. package/dist/audit.d.ts +18 -0
  24. package/dist/audit.d.ts.map +1 -0
  25. package/dist/audit.js +14 -0
  26. package/dist/audit.js.map +1 -0
  27. package/dist/backends.d.ts +19 -0
  28. package/dist/backends.d.ts.map +1 -0
  29. package/dist/backends.js +97 -0
  30. package/dist/backends.js.map +1 -0
  31. package/dist/cli.d.ts +3 -0
  32. package/dist/cli.d.ts.map +1 -0
  33. package/dist/cli.js +11 -0
  34. package/dist/cli.js.map +1 -0
  35. package/dist/client.d.ts +10 -0
  36. package/dist/client.d.ts.map +1 -0
  37. package/dist/client.js +59 -0
  38. package/dist/client.js.map +1 -0
  39. package/dist/consent/consent-posix.d.ts +6 -0
  40. package/dist/consent/consent-posix.d.ts.map +1 -0
  41. package/dist/consent/consent-posix.js +57 -0
  42. package/dist/consent/consent-posix.js.map +1 -0
  43. package/dist/consent/consent-windows.d.ts +5 -0
  44. package/dist/consent/consent-windows.d.ts.map +1 -0
  45. package/dist/consent/consent-windows.js +244 -0
  46. package/dist/consent/consent-windows.js.map +1 -0
  47. package/dist/consent/consent.d.ts +67 -0
  48. package/dist/consent/consent.d.ts.map +1 -0
  49. package/dist/consent/consent.js +89 -0
  50. package/dist/consent/consent.js.map +1 -0
  51. package/dist/core.d.ts +61 -0
  52. package/dist/core.d.ts.map +1 -0
  53. package/dist/core.js +882 -0
  54. package/dist/core.js.map +1 -0
  55. package/dist/index.d.ts +8 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +8 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/keyring-fetch.d.ts +4 -0
  60. package/dist/keyring-fetch.d.ts.map +1 -0
  61. package/dist/keyring-fetch.js +20 -0
  62. package/dist/keyring-fetch.js.map +1 -0
  63. package/dist/keys.d.ts +27 -0
  64. package/dist/keys.d.ts.map +1 -0
  65. package/dist/keys.js +55 -0
  66. package/dist/keys.js.map +1 -0
  67. package/dist/policy.d.ts +71 -0
  68. package/dist/policy.d.ts.map +1 -0
  69. package/dist/policy.js +170 -0
  70. package/dist/policy.js.map +1 -0
  71. package/dist/powershell.d.ts +22 -0
  72. package/dist/powershell.d.ts.map +1 -0
  73. package/dist/powershell.js +53 -0
  74. package/dist/powershell.js.map +1 -0
  75. package/dist/protocol.d.ts +923 -0
  76. package/dist/protocol.d.ts.map +1 -0
  77. package/dist/protocol.js +125 -0
  78. package/dist/protocol.js.map +1 -0
  79. package/dist/run.d.ts +20 -0
  80. package/dist/run.d.ts.map +1 -0
  81. package/dist/run.js +34 -0
  82. package/dist/run.js.map +1 -0
  83. package/dist/seal.d.ts +3 -0
  84. package/dist/seal.d.ts.map +1 -0
  85. package/dist/seal.js +3 -0
  86. package/dist/seal.js.map +1 -0
  87. package/dist/serve.d.ts +17 -0
  88. package/dist/serve.d.ts.map +1 -0
  89. package/dist/serve.js +65 -0
  90. package/dist/serve.js.map +1 -0
  91. package/dist/server.d.ts +9 -0
  92. package/dist/server.d.ts.map +1 -0
  93. package/dist/server.js +77 -0
  94. package/dist/server.js.map +1 -0
  95. package/dist/service/acl.d.ts +9 -0
  96. package/dist/service/acl.d.ts.map +1 -0
  97. package/dist/service/acl.js +25 -0
  98. package/dist/service/acl.js.map +1 -0
  99. package/dist/service/channel.d.ts +17 -0
  100. package/dist/service/channel.d.ts.map +1 -0
  101. package/dist/service/channel.js +64 -0
  102. package/dist/service/channel.js.map +1 -0
  103. package/dist/service/door.d.ts +89 -0
  104. package/dist/service/door.d.ts.map +1 -0
  105. package/dist/service/door.js +28 -0
  106. package/dist/service/door.js.map +1 -0
  107. package/dist/service/hello-verify.d.ts +2 -0
  108. package/dist/service/hello-verify.d.ts.map +1 -0
  109. package/dist/service/hello-verify.js +10 -0
  110. package/dist/service/hello-verify.js.map +1 -0
  111. package/dist/service/helper.d.ts +3 -0
  112. package/dist/service/helper.d.ts.map +1 -0
  113. package/dist/service/helper.js +117 -0
  114. package/dist/service/helper.js.map +1 -0
  115. package/dist/service/install.d.ts +10 -0
  116. package/dist/service/install.d.ts.map +1 -0
  117. package/dist/service/install.js +77 -0
  118. package/dist/service/install.js.map +1 -0
  119. package/dist/service/lines.d.ts +13 -0
  120. package/dist/service/lines.d.ts.map +1 -0
  121. package/dist/service/lines.js +89 -0
  122. package/dist/service/lines.js.map +1 -0
  123. package/dist/service/paths.d.ts +19 -0
  124. package/dist/service/paths.d.ts.map +1 -0
  125. package/dist/service/paths.js +27 -0
  126. package/dist/service/paths.js.map +1 -0
  127. package/dist/service/remote.d.ts +21 -0
  128. package/dist/service/remote.d.ts.map +1 -0
  129. package/dist/service/remote.js +83 -0
  130. package/dist/service/remote.js.map +1 -0
  131. package/dist/service/service-run.d.ts +3 -0
  132. package/dist/service/service-run.d.ts.map +1 -0
  133. package/dist/service/service-run.js +77 -0
  134. package/dist/service/service-run.js.map +1 -0
  135. package/dist/service/sid.d.ts +3 -0
  136. package/dist/service/sid.d.ts.map +1 -0
  137. package/dist/service/sid.js +10 -0
  138. package/dist/service/sid.js.map +1 -0
  139. package/dist/service/task.d.ts +11 -0
  140. package/dist/service/task.d.ts.map +1 -0
  141. package/dist/service/task.js +38 -0
  142. package/dist/service/task.js.map +1 -0
  143. package/dist/service/wire.d.ts +53 -0
  144. package/dist/service/wire.d.ts.map +1 -0
  145. package/dist/service/wire.js +17 -0
  146. package/dist/service/wire.js.map +1 -0
  147. package/dist/typing/android.d.ts +14 -0
  148. package/dist/typing/android.d.ts.map +1 -0
  149. package/dist/typing/android.js +117 -0
  150. package/dist/typing/android.js.map +1 -0
  151. package/dist/typing/index.d.ts +9 -0
  152. package/dist/typing/index.d.ts.map +1 -0
  153. package/dist/typing/index.js +21 -0
  154. package/dist/typing/index.js.map +1 -0
  155. package/dist/typing/linux.d.ts +6 -0
  156. package/dist/typing/linux.d.ts.map +1 -0
  157. package/dist/typing/linux.js +72 -0
  158. package/dist/typing/linux.js.map +1 -0
  159. package/dist/typing/mac.d.ts +5 -0
  160. package/dist/typing/mac.d.ts.map +1 -0
  161. package/dist/typing/mac.js +40 -0
  162. package/dist/typing/mac.js.map +1 -0
  163. package/dist/typing/typist.d.ts +32 -0
  164. package/dist/typing/typist.d.ts.map +1 -0
  165. package/dist/typing/typist.js +9 -0
  166. package/dist/typing/typist.js.map +1 -0
  167. package/dist/typing/windows.d.ts +4 -0
  168. package/dist/typing/windows.d.ts.map +1 -0
  169. package/dist/typing/windows.js +200 -0
  170. package/dist/typing/windows.js.map +1 -0
  171. package/dist/vault.d.ts +530 -0
  172. package/dist/vault.d.ts.map +1 -0
  173. package/dist/vault.js +188 -0
  174. package/dist/vault.js.map +1 -0
  175. package/dist/version.d.ts +2 -0
  176. package/dist/version.d.ts.map +1 -0
  177. package/dist/version.js +10 -0
  178. package/dist/version.js.map +1 -0
  179. package/package.json +56 -3
package/dist/vault.js ADDED
@@ -0,0 +1,188 @@
1
+ import { createCipheriv, createDecipheriv, hkdfSync, randomBytes, scrypt, timingSafeEqual } from "node:crypto";
2
+ import { readFile } from "node:fs/promises";
3
+ import { isMissing } from "@intentic/base/errors";
4
+ import { writeSecretFile } from "@intentic/local-agent";
5
+ import { KEYRING_KEY_RE, KeyringInboxItemSchema, KeyringPublicKeySchema, KeyringSecretNameSchema, KeyringSourceSchema, KeyringSyncItemSchema, KeyringSyncPeerSchema, SealedBoxSchema, } from "@intentic/sandbox-contract/schemas/keyring";
6
+ import { z } from "zod";
7
+ import { BackendConfigSchema, BackendRefSchema, EntryInfoSchema, EntryRulesSchema, ShareInfoSchema } from "./protocol.js";
8
+ const VAULT_AAD = Buffer.from("intentic-keyring/vault/v1", "utf8");
9
+ const HELLO_INFO = Buffer.from("intentic-keyring/hello/v1", "utf8");
10
+ const wrapAad = (method) => Buffer.from(`intentic-keyring/wrap/v1/${method}`, "utf8");
11
+ export const SCRYPT_COST = { N: 2 ** 17, r: 8, p: 1 };
12
+ const scryptMaxmem = (cost) => 128 * cost.N * cost.r + 64 * 1024 * 1024;
13
+ export const VAULT_KEY_BYTES = 32;
14
+ export const VALUE_MAX_BYTES = 32 * 1024;
15
+ const b64u = z.string().regex(/^[A-Za-z0-9_-]*$/u);
16
+ const BoxSchema = z.object({ iv: b64u, tag: b64u, data: b64u }).strict();
17
+ const PassphraseWrapSchema = BoxSchema.extend({
18
+ method: z.literal("passphrase"),
19
+ salt: b64u,
20
+ N: z.number().int().min(2 ** 10).max(2 ** 20),
21
+ r: z.number().int().min(1).max(32),
22
+ p: z.number().int().min(1).max(16),
23
+ }).strict();
24
+ const HelloWrapSchema = BoxSchema.extend({
25
+ method: z.literal("hello"),
26
+ credential: z.string().min(1).max(128),
27
+ challenge: b64u,
28
+ publicKey: z.string().regex(/^[A-Za-z0-9+/=]+$/u).max(4096).optional(),
29
+ }).strict();
30
+ const DpapiWrapSchema = z
31
+ .object({
32
+ method: z.literal("dpapi"),
33
+ blob: z.string().regex(/^[A-Za-z0-9+/=]+$/u).max(8192),
34
+ })
35
+ .strict();
36
+ export const WrapSchema = z.discriminatedUnion("method", [PassphraseWrapSchema, HelloWrapSchema, DpapiWrapSchema]);
37
+ export const KeyPairSchema = z.object({ publicKey: z.string().regex(KEYRING_KEY_RE), privateKey: z.string().regex(KEYRING_KEY_RE) }).strict();
38
+ export const SandboxPinSchema = z.object({ sign: KeyringPublicKeySchema, seal: KeyringPublicKeySchema, fetchedAt: z.number() }).strict();
39
+ export const StoredEntrySchema = z
40
+ .object({
41
+ name: KeyringSecretNameSchema,
42
+ rules: EntryRulesSchema,
43
+ source: KeyringSourceSchema,
44
+ backend: BackendRefSchema.optional(),
45
+ value: z.string().optional(),
46
+ shares: z.array(ShareInfoSchema),
47
+ createdAt: z.number(),
48
+ updatedAt: z.number(),
49
+ revision: z.number().int().nonnegative(),
50
+ deleted: z.boolean().optional(),
51
+ })
52
+ .strict();
53
+ export const VaultDocumentSchema = z
54
+ .object({
55
+ v: z.literal(1),
56
+ revision: z.number().int().nonnegative(),
57
+ entries: z.record(KeyringSecretNameSchema, StoredEntrySchema),
58
+ inbox: KeyPairSchema,
59
+ sync: KeyPairSchema,
60
+ peers: z.array(KeyringSyncPeerSchema),
61
+ backends: z.array(BackendConfigSchema),
62
+ pins: z.record(z.string(), SandboxPinSchema),
63
+ syncSent: z.record(KeyringPublicKeySchema, z.number().int().min(-1)).optional(),
64
+ })
65
+ .strict();
66
+ const CopySchema = z.object({ name: KeyringSecretNameSchema, sealed: SealedBoxSchema, updatedAt: z.number() }).strict();
67
+ export const PendingInboxSchema = z.object({ item: KeyringInboxItemSchema, receivedAt: z.number() }).strict();
68
+ export const PENDING_INBOX_MAX = 32;
69
+ export const PENDING_SYNC_MAX = 128;
70
+ export const OpenPartSchema = z
71
+ .object({
72
+ entries: z.array(EntryInfoSchema),
73
+ backends: z.array(z.enum(["1password", "bitwarden", "keepassxc"])),
74
+ peers: z.array(KeyringSyncPeerSchema),
75
+ revision: z.number().int().nonnegative(),
76
+ copies: z.record(z.string(), z.array(CopySchema)),
77
+ pendingInbox: z.array(PendingInboxSchema).max(PENDING_INBOX_MAX),
78
+ pendingSync: z.array(KeyringSyncItemSchema).max(PENDING_SYNC_MAX),
79
+ })
80
+ .strict();
81
+ export const VaultFileSchema = z
82
+ .object({
83
+ v: z.literal(1),
84
+ wraps: z.array(WrapSchema).min(1),
85
+ sealed: BoxSchema,
86
+ open: OpenPartSchema,
87
+ })
88
+ .strict();
89
+ export class VaultError extends Error {
90
+ constructor(message, options) {
91
+ super(message, options);
92
+ this.name = "VaultError";
93
+ }
94
+ }
95
+ export const newVaultKey = () => randomBytes(VAULT_KEY_BYTES);
96
+ const sealBox = (key, plaintext, aad) => {
97
+ const iv = randomBytes(12);
98
+ const cipher = createCipheriv("aes-256-gcm", key, iv);
99
+ cipher.setAAD(aad);
100
+ const data = Buffer.concat([cipher.update(plaintext), cipher.final()]);
101
+ return { iv: iv.toString("base64url"), tag: cipher.getAuthTag().toString("base64url"), data: data.toString("base64url") };
102
+ };
103
+ const openBox = (key, box, aad) => {
104
+ try {
105
+ const decipher = createDecipheriv("aes-256-gcm", key, Buffer.from(box.iv, "base64url"));
106
+ decipher.setAAD(aad);
107
+ decipher.setAuthTag(Buffer.from(box.tag, "base64url"));
108
+ return Buffer.concat([decipher.update(Buffer.from(box.data, "base64url")), decipher.final()]);
109
+ }
110
+ catch {
111
+ return undefined;
112
+ }
113
+ };
114
+ export const sealDocument = (key, document) => sealBox(key, Buffer.from(JSON.stringify(VaultDocumentSchema.parse(document)), "utf8"), VAULT_AAD);
115
+ export const openDocument = (key, box) => {
116
+ const plain = openBox(key, box, VAULT_AAD);
117
+ if (plain === undefined) {
118
+ throw new VaultError("The vault does not open with this key: the file was changed or belongs to another keyring.");
119
+ }
120
+ const parsed = VaultDocumentSchema.safeParse(JSON.parse(plain.toString("utf8")));
121
+ if (!parsed.success) {
122
+ throw new VaultError("The vault opened but holds something this keyring does not read: is it a newer version's?");
123
+ }
124
+ return parsed.data;
125
+ };
126
+ const deriveFromPassphrase = async (passphrase, salt, cost) => await new Promise((resolve, reject) => {
127
+ scrypt(passphrase.normalize("NFC"), salt, VAULT_KEY_BYTES, { N: cost.N, r: cost.r, p: cost.p, maxmem: scryptMaxmem(cost) }, (error, derived) => error instanceof Error ? reject(error) : resolve(derived));
128
+ });
129
+ export const wrapWithPassphrase = async (vaultKey, passphrase, cost = SCRYPT_COST) => {
130
+ const salt = randomBytes(16);
131
+ const wrapKey = await deriveFromPassphrase(passphrase, salt, cost);
132
+ return { method: "passphrase", salt: salt.toString("base64url"), N: cost.N, r: cost.r, p: cost.p, ...sealBox(wrapKey, vaultKey, wrapAad("passphrase")) };
133
+ };
134
+ export const unwrapPassphrase = async (wraps, passphrase) => {
135
+ for (const wrap of wraps) {
136
+ if (wrap.method === "passphrase") {
137
+ const wrapKey = await deriveFromPassphrase(passphrase, Buffer.from(wrap.salt, "base64url"), wrap);
138
+ const key = openBox(wrapKey, wrap, wrapAad("passphrase"));
139
+ if (key !== undefined) {
140
+ return key;
141
+ }
142
+ }
143
+ }
144
+ return undefined;
145
+ };
146
+ export const helloChallenge = () => randomBytes(32).toString("base64url");
147
+ export const helloWrapKey = (signature, challenge) => Buffer.from(hkdfSync("sha256", signature, Buffer.from(challenge, "base64url"), HELLO_INFO, VAULT_KEY_BYTES));
148
+ export const wrapWithHello = (vaultKey, enrolment) => {
149
+ const wrap = {
150
+ method: "hello",
151
+ credential: enrolment.credential,
152
+ challenge: enrolment.challenge,
153
+ ...sealBox(helloWrapKey(enrolment.signature, enrolment.challenge), vaultKey, wrapAad("hello")),
154
+ };
155
+ return enrolment.publicKey === undefined ? wrap : { ...wrap, publicKey: enrolment.publicKey };
156
+ };
157
+ export const helloWrapOf = (wraps) => wraps.find((wrap) => wrap.method === "hello");
158
+ export const unwrapHello = (wrap, signature) => openBox(helloWrapKey(signature, wrap.challenge), wrap, wrapAad("hello"));
159
+ export const sameKey = (a, b) => a.length === b.length && timingSafeEqual(a, b);
160
+ export const emptyOpenPart = () => ({ entries: [], backends: [], peers: [], revision: 0, copies: {}, pendingInbox: [], pendingSync: [] });
161
+ export const readVaultFile = async (path) => {
162
+ let raw;
163
+ try {
164
+ raw = await readFile(path, "utf8");
165
+ }
166
+ catch (error) {
167
+ if (isMissing(error)) {
168
+ return undefined;
169
+ }
170
+ throw error;
171
+ }
172
+ let json;
173
+ try {
174
+ json = JSON.parse(raw);
175
+ }
176
+ catch (error) {
177
+ throw new VaultError(`${path} is not JSON: restore it from a backup, or move it aside to set up a new keyring.`, { cause: error });
178
+ }
179
+ const parsed = VaultFileSchema.safeParse(json);
180
+ if (!parsed.success) {
181
+ throw new VaultError(`${path} is not a vault this keyring reads: is it a newer version's? Restore it from a backup, or move it aside to set up a new keyring.`);
182
+ }
183
+ return parsed.data;
184
+ };
185
+ export const writeVaultFile = async (path, dir, file) => {
186
+ await writeSecretFile(path, dir, `${JSON.stringify(VaultFileSchema.parse(file))}\n`);
187
+ };
188
+ //# sourceMappingURL=vault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const KEYRING_VERSION: string;
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,eAAe,EAAE,MAAkB,CAAC"}
@@ -0,0 +1,10 @@
1
+ const stamped = () => {
2
+ try {
3
+ return INTENTIC_AGENT_VERSION ?? "0.0.0";
4
+ }
5
+ catch {
6
+ return "0.0.0";
7
+ }
8
+ };
9
+ export const KEYRING_VERSION = stamped();
10
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,GAAG,GAAW,EAAE;IACzB,IAAI,CAAC;QACD,OAAO,sBAAsB,IAAI,OAAO,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QAEL,OAAO,OAAO,CAAC;IACnB,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAW,OAAO,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,59 @@
1
1
  {
2
2
  "name": "@intentic/keyring",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "1.338.0",
4
+ "description": "intentic-keyring: the password vault on a user's own computer, a process of its own beside intentic-machine, that types and releases secrets for a sandbox's agent without the agent ever holding them",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/intentic/intentic.git",
10
+ "directory": "_devices/keyring"
11
+ },
12
+ "files": [
13
+ "dist"
14
+ ],
15
+ "publishConfig": {
16
+ "access": "public",
17
+ "registry": "https://registry.npmjs.org/"
18
+ },
19
+ "bin": {
20
+ "intentic-keyring": "./dist/cli.js",
21
+ "intentic-askpass": "./dist/askpass-cli.js"
22
+ },
23
+ "exports": {
24
+ ".": {
25
+ "types": "./dist/index.d.ts",
26
+ "import": {
27
+ "@intentic/src": "./src/index.ts",
28
+ "default": "./dist/index.js"
29
+ },
30
+ "require": {
31
+ "@intentic/src": "./src/index.ts",
32
+ "default": "./dist/index.js"
33
+ }
34
+ }
35
+ },
36
+ "dependencies": {
37
+ "@intentic/base": "1.338.0",
38
+ "@intentic/local-agent": "1.338.0",
39
+ "@intentic/sandbox-contract": "1.338.0",
40
+ "@stricli/core": "1.3.0",
41
+ "tslib": "2.8.1",
42
+ "zod": "4.6.5"
43
+ },
44
+ "devDependencies": {
45
+ "@intentic/constants": "1.338.0",
46
+ "@intentic/testing": "0.0.0",
47
+ "@intentic/tsconfig": "0.0.0",
48
+ "@types/bun": "1.4.2",
49
+ "@types/node": "24.19.1",
50
+ "@typescript/native-preview": "7.0.0-dev.20260707.2"
51
+ },
52
+ "scripts": {
53
+ "build": "tsgo",
54
+ "typecheck": "bun check -p tsconfig.test.json",
55
+ "watch": "tsgo --build --watch",
56
+ "test": "suites",
57
+ "test:watch": "suites --watch"
58
+ }
6
59
  }