@reegaviljoen/eldlock 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.
Files changed (91) hide show
  1. package/README.md +285 -0
  2. package/bin/eldlock +11 -0
  3. package/docs/architecture.md +164 -0
  4. package/docs/threat-model.md +47 -0
  5. package/eldlock-cli/README.md +56 -0
  6. package/eldlock-cli/bin/eldlock +3 -0
  7. package/eldlock-cli/package-lock.json +805 -0
  8. package/eldlock-cli/package.json +71 -0
  9. package/eldlock-cli/src/api.ts +250 -0
  10. package/eldlock-cli/src/cli.ts +490 -0
  11. package/eldlock-cli/src/main.ts +10 -0
  12. package/eldlock-cli/src/tui.ts +676 -0
  13. package/eldlock-cli/tsconfig.json +13 -0
  14. package/eldlock-cli/vendor/npm/ansi-regex-6.2.2.tgz +0 -0
  15. package/eldlock-cli/vendor/npm/bun-ffi-structs-0.2.2.tgz +0 -0
  16. package/eldlock-cli/vendor/npm/diff-9.0.0.tgz +0 -0
  17. package/eldlock-cli/vendor/npm/emoji-regex-10.6.0.tgz +0 -0
  18. package/eldlock-cli/vendor/npm/esbuild-0.28.0.tgz +0 -0
  19. package/eldlock-cli/vendor/npm/esbuild-darwin-arm64-0.28.0.tgz +0 -0
  20. package/eldlock-cli/vendor/npm/esbuild-darwin-x64-0.28.0.tgz +0 -0
  21. package/eldlock-cli/vendor/npm/esbuild-linux-arm64-0.28.0.tgz +0 -0
  22. package/eldlock-cli/vendor/npm/esbuild-linux-x64-0.28.0.tgz +0 -0
  23. package/eldlock-cli/vendor/npm/fsevents-2.3.3.tgz +0 -0
  24. package/eldlock-cli/vendor/npm/get-east-asian-width-1.6.0.tgz +0 -0
  25. package/eldlock-cli/vendor/npm/marked-17.0.1.tgz +0 -0
  26. package/eldlock-cli/vendor/npm/opentui-core-0.3.1.tgz +0 -0
  27. package/eldlock-cli/vendor/npm/opentui-core-darwin-arm64-0.3.1.tgz +0 -0
  28. package/eldlock-cli/vendor/npm/opentui-core-darwin-x64-0.3.1.tgz +0 -0
  29. package/eldlock-cli/vendor/npm/opentui-core-linux-arm64-0.3.1.tgz +0 -0
  30. package/eldlock-cli/vendor/npm/opentui-core-linux-x64-0.3.1.tgz +0 -0
  31. package/eldlock-cli/vendor/npm/string-width-7.2.0.tgz +0 -0
  32. package/eldlock-cli/vendor/npm/strip-ansi-7.1.2.tgz +0 -0
  33. package/eldlock-cli/vendor/npm/tsx-4.22.4.tgz +0 -0
  34. package/eldlock-cli/vendor/npm/types-node-22.19.19.tgz +0 -0
  35. package/eldlock-cli/vendor/npm/typescript-5.9.3.tgz +0 -0
  36. package/eldlock-cli/vendor/npm/undici-types-6.21.0.tgz +0 -0
  37. package/eldlock-cli/vendor/npm/web-tree-sitter-0.25.10.tgz +0 -0
  38. package/eldlock-cli/vendor/npm/yoga-layout-3.2.1.tgz +0 -0
  39. package/eldlock-server/cmd/eldlock-server/main.go +132 -0
  40. package/eldlock-server/go.mod +10 -0
  41. package/eldlock-server/go.sum +11 -0
  42. package/eldlock-server/internal/api/README.md +14 -0
  43. package/eldlock-server/internal/api/core.go +126 -0
  44. package/eldlock-server/internal/api/exec.go +97 -0
  45. package/eldlock-server/internal/api/secrets.go +358 -0
  46. package/eldlock-server/internal/api/server.go +72 -0
  47. package/eldlock-server/internal/api/service_test.go +416 -0
  48. package/eldlock-server/internal/api/types.go +48 -0
  49. package/eldlock-server/internal/api/vault.go +69 -0
  50. package/eldlock-server/internal/api/vendor.go +44 -0
  51. package/eldlock-server/internal/libfido2/LICENSE +21 -0
  52. package/eldlock-server/internal/libfido2/README.md +127 -0
  53. package/eldlock-server/internal/libfido2/examples_test.go +614 -0
  54. package/eldlock-server/internal/libfido2/fido2.go +1234 -0
  55. package/eldlock-server/internal/libfido2/fido2_darwin.go +7 -0
  56. package/eldlock-server/internal/libfido2/fido2_other.go +9 -0
  57. package/eldlock-server/internal/libfido2/fido2_test.go +101 -0
  58. package/eldlock-server/internal/libfido2/go.mod +10 -0
  59. package/eldlock-server/internal/libfido2/go.sum +16 -0
  60. package/eldlock-server/internal/libfido2/log.go +87 -0
  61. package/eldlock-server/internal/store/README.md +7 -0
  62. package/eldlock-server/internal/store/store.go +434 -0
  63. package/eldlock-server/internal/store/store_test.go +125 -0
  64. package/eldlock-server/internal/yubikey/README.md +25 -0
  65. package/eldlock-server/internal/yubikey/default_fido2.go +7 -0
  66. package/eldlock-server/internal/yubikey/default_stub.go +7 -0
  67. package/eldlock-server/internal/yubikey/fido2_disabled.go +9 -0
  68. package/eldlock-server/internal/yubikey/fido2_libfido2.go +225 -0
  69. package/eldlock-server/internal/yubikey/fido2_libfido2_test.go +66 -0
  70. package/eldlock-server/internal/yubikey/passkey.go +139 -0
  71. package/eldlock-server/internal/yubikey/passkey_test.go +36 -0
  72. package/eldlock-server/vendor/github.com/keys-pub/go-libfido2/LICENSE +21 -0
  73. package/eldlock-server/vendor/github.com/keys-pub/go-libfido2/README.md +127 -0
  74. package/eldlock-server/vendor/github.com/keys-pub/go-libfido2/fido2.go +1234 -0
  75. package/eldlock-server/vendor/github.com/keys-pub/go-libfido2/fido2_darwin.go +7 -0
  76. package/eldlock-server/vendor/github.com/keys-pub/go-libfido2/fido2_other.go +9 -0
  77. package/eldlock-server/vendor/github.com/keys-pub/go-libfido2/log.go +87 -0
  78. package/eldlock-server/vendor/github.com/pkg/errors/.travis.yml +10 -0
  79. package/eldlock-server/vendor/github.com/pkg/errors/LICENSE +23 -0
  80. package/eldlock-server/vendor/github.com/pkg/errors/Makefile +44 -0
  81. package/eldlock-server/vendor/github.com/pkg/errors/README.md +59 -0
  82. package/eldlock-server/vendor/github.com/pkg/errors/appveyor.yml +32 -0
  83. package/eldlock-server/vendor/github.com/pkg/errors/errors.go +288 -0
  84. package/eldlock-server/vendor/github.com/pkg/errors/go113.go +38 -0
  85. package/eldlock-server/vendor/github.com/pkg/errors/stack.go +177 -0
  86. package/eldlock-server/vendor/modules.txt +7 -0
  87. package/examples/eldlock.toml +17 -0
  88. package/install.sh +66 -0
  89. package/package.json +66 -0
  90. package/scripts/build-production.mjs +177 -0
  91. package/scripts/postinstall-production.mjs +23 -0
@@ -0,0 +1,805 @@
1
+ {
2
+ "name": "eldlock-cli",
3
+ "version": "0.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "eldlock-cli",
9
+ "version": "0.0.0",
10
+ "dependencies": {
11
+ "@opentui/core": "file:vendor/npm/opentui-core-0.3.1.tgz",
12
+ "ansi-regex": "file:vendor/npm/ansi-regex-6.2.2.tgz",
13
+ "bun-ffi-structs": "file:vendor/npm/bun-ffi-structs-0.2.2.tgz",
14
+ "diff": "file:vendor/npm/diff-9.0.0.tgz",
15
+ "emoji-regex": "file:vendor/npm/emoji-regex-10.6.0.tgz",
16
+ "get-east-asian-width": "file:vendor/npm/get-east-asian-width-1.6.0.tgz",
17
+ "marked": "file:vendor/npm/marked-17.0.1.tgz",
18
+ "string-width": "file:vendor/npm/string-width-7.2.0.tgz",
19
+ "strip-ansi": "file:vendor/npm/strip-ansi-7.1.2.tgz",
20
+ "web-tree-sitter": "file:vendor/npm/web-tree-sitter-0.25.10.tgz",
21
+ "yoga-layout": "file:vendor/npm/yoga-layout-3.2.1.tgz"
22
+ },
23
+ "bin": {
24
+ "eldlock": "dist/main.js"
25
+ },
26
+ "devDependencies": {
27
+ "@types/node": "file:vendor/npm/types-node-22.19.19.tgz",
28
+ "esbuild": "file:vendor/npm/esbuild-0.28.0.tgz",
29
+ "tsx": "file:vendor/npm/tsx-4.22.4.tgz",
30
+ "typescript": "file:vendor/npm/typescript-5.9.3.tgz",
31
+ "undici-types": "file:vendor/npm/undici-types-6.21.0.tgz"
32
+ },
33
+ "optionalDependencies": {
34
+ "@esbuild/aix-ppc64": "file:vendor/npm/esbuild-aix-ppc64-0.28.0.tgz",
35
+ "@esbuild/android-arm": "file:vendor/npm/esbuild-android-arm-0.28.0.tgz",
36
+ "@esbuild/android-arm64": "file:vendor/npm/esbuild-android-arm64-0.28.0.tgz",
37
+ "@esbuild/android-x64": "file:vendor/npm/esbuild-android-x64-0.28.0.tgz",
38
+ "@esbuild/darwin-arm64": "file:vendor/npm/esbuild-darwin-arm64-0.28.0.tgz",
39
+ "@esbuild/darwin-x64": "file:vendor/npm/esbuild-darwin-x64-0.28.0.tgz",
40
+ "@esbuild/freebsd-arm64": "file:vendor/npm/esbuild-freebsd-arm64-0.28.0.tgz",
41
+ "@esbuild/freebsd-x64": "file:vendor/npm/esbuild-freebsd-x64-0.28.0.tgz",
42
+ "@esbuild/linux-arm": "file:vendor/npm/esbuild-linux-arm-0.28.0.tgz",
43
+ "@esbuild/linux-arm64": "file:vendor/npm/esbuild-linux-arm64-0.28.0.tgz",
44
+ "@esbuild/linux-ia32": "file:vendor/npm/esbuild-linux-ia32-0.28.0.tgz",
45
+ "@esbuild/linux-loong64": "file:vendor/npm/esbuild-linux-loong64-0.28.0.tgz",
46
+ "@esbuild/linux-mips64el": "file:vendor/npm/esbuild-linux-mips64el-0.28.0.tgz",
47
+ "@esbuild/linux-ppc64": "file:vendor/npm/esbuild-linux-ppc64-0.28.0.tgz",
48
+ "@esbuild/linux-riscv64": "file:vendor/npm/esbuild-linux-riscv64-0.28.0.tgz",
49
+ "@esbuild/linux-s390x": "file:vendor/npm/esbuild-linux-s390x-0.28.0.tgz",
50
+ "@esbuild/linux-x64": "file:vendor/npm/esbuild-linux-x64-0.28.0.tgz",
51
+ "@esbuild/netbsd-arm64": "file:vendor/npm/esbuild-netbsd-arm64-0.28.0.tgz",
52
+ "@esbuild/netbsd-x64": "file:vendor/npm/esbuild-netbsd-x64-0.28.0.tgz",
53
+ "@esbuild/openbsd-arm64": "file:vendor/npm/esbuild-openbsd-arm64-0.28.0.tgz",
54
+ "@esbuild/openbsd-x64": "file:vendor/npm/esbuild-openbsd-x64-0.28.0.tgz",
55
+ "@esbuild/openharmony-arm64": "file:vendor/npm/esbuild-openharmony-arm64-0.28.0.tgz",
56
+ "@esbuild/sunos-x64": "file:vendor/npm/esbuild-sunos-x64-0.28.0.tgz",
57
+ "@esbuild/win32-arm64": "file:vendor/npm/esbuild-win32-arm64-0.28.0.tgz",
58
+ "@esbuild/win32-ia32": "file:vendor/npm/esbuild-win32-ia32-0.28.0.tgz",
59
+ "@esbuild/win32-x64": "file:vendor/npm/esbuild-win32-x64-0.28.0.tgz",
60
+ "@opentui/core-darwin-arm64": "file:vendor/npm/opentui-core-darwin-arm64-0.3.1.tgz",
61
+ "@opentui/core-darwin-x64": "file:vendor/npm/opentui-core-darwin-x64-0.3.1.tgz",
62
+ "@opentui/core-linux-arm64": "file:vendor/npm/opentui-core-linux-arm64-0.3.1.tgz",
63
+ "@opentui/core-linux-x64": "file:vendor/npm/opentui-core-linux-x64-0.3.1.tgz",
64
+ "@opentui/core-win32-arm64": "file:vendor/npm/opentui-core-win32-arm64-0.3.1.tgz",
65
+ "@opentui/core-win32-x64": "file:vendor/npm/opentui-core-win32-x64-0.3.1.tgz",
66
+ "fsevents": "file:vendor/npm/fsevents-2.3.3.tgz"
67
+ }
68
+ },
69
+ "node_modules/@esbuild/aix-ppc64": {
70
+ "version": "0.28.0",
71
+ "resolved": "file:vendor/npm/esbuild-aix-ppc64-0.28.0.tgz",
72
+ "integrity": "sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==",
73
+ "cpu": [
74
+ "ppc64"
75
+ ],
76
+ "license": "MIT",
77
+ "optional": true,
78
+ "os": [
79
+ "aix"
80
+ ],
81
+ "engines": {
82
+ "node": ">=18"
83
+ }
84
+ },
85
+ "node_modules/@esbuild/android-arm": {
86
+ "version": "0.28.0",
87
+ "resolved": "file:vendor/npm/esbuild-android-arm-0.28.0.tgz",
88
+ "integrity": "sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==",
89
+ "cpu": [
90
+ "arm"
91
+ ],
92
+ "license": "MIT",
93
+ "optional": true,
94
+ "os": [
95
+ "android"
96
+ ],
97
+ "engines": {
98
+ "node": ">=18"
99
+ }
100
+ },
101
+ "node_modules/@esbuild/android-arm64": {
102
+ "version": "0.28.0",
103
+ "resolved": "file:vendor/npm/esbuild-android-arm64-0.28.0.tgz",
104
+ "integrity": "sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==",
105
+ "cpu": [
106
+ "arm64"
107
+ ],
108
+ "license": "MIT",
109
+ "optional": true,
110
+ "os": [
111
+ "android"
112
+ ],
113
+ "engines": {
114
+ "node": ">=18"
115
+ }
116
+ },
117
+ "node_modules/@esbuild/android-x64": {
118
+ "version": "0.28.0",
119
+ "resolved": "file:vendor/npm/esbuild-android-x64-0.28.0.tgz",
120
+ "integrity": "sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==",
121
+ "cpu": [
122
+ "x64"
123
+ ],
124
+ "license": "MIT",
125
+ "optional": true,
126
+ "os": [
127
+ "android"
128
+ ],
129
+ "engines": {
130
+ "node": ">=18"
131
+ }
132
+ },
133
+ "node_modules/@esbuild/darwin-arm64": {
134
+ "version": "0.28.0",
135
+ "resolved": "file:vendor/npm/esbuild-darwin-arm64-0.28.0.tgz",
136
+ "integrity": "sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==",
137
+ "cpu": [
138
+ "arm64"
139
+ ],
140
+ "license": "MIT",
141
+ "optional": true,
142
+ "os": [
143
+ "darwin"
144
+ ],
145
+ "engines": {
146
+ "node": ">=18"
147
+ }
148
+ },
149
+ "node_modules/@esbuild/darwin-x64": {
150
+ "version": "0.28.0",
151
+ "resolved": "file:vendor/npm/esbuild-darwin-x64-0.28.0.tgz",
152
+ "integrity": "sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==",
153
+ "cpu": [
154
+ "x64"
155
+ ],
156
+ "license": "MIT",
157
+ "optional": true,
158
+ "os": [
159
+ "darwin"
160
+ ],
161
+ "engines": {
162
+ "node": ">=18"
163
+ }
164
+ },
165
+ "node_modules/@esbuild/freebsd-arm64": {
166
+ "version": "0.28.0",
167
+ "resolved": "file:vendor/npm/esbuild-freebsd-arm64-0.28.0.tgz",
168
+ "integrity": "sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==",
169
+ "cpu": [
170
+ "arm64"
171
+ ],
172
+ "license": "MIT",
173
+ "optional": true,
174
+ "os": [
175
+ "freebsd"
176
+ ],
177
+ "engines": {
178
+ "node": ">=18"
179
+ }
180
+ },
181
+ "node_modules/@esbuild/freebsd-x64": {
182
+ "version": "0.28.0",
183
+ "resolved": "file:vendor/npm/esbuild-freebsd-x64-0.28.0.tgz",
184
+ "integrity": "sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==",
185
+ "cpu": [
186
+ "x64"
187
+ ],
188
+ "license": "MIT",
189
+ "optional": true,
190
+ "os": [
191
+ "freebsd"
192
+ ],
193
+ "engines": {
194
+ "node": ">=18"
195
+ }
196
+ },
197
+ "node_modules/@esbuild/linux-arm": {
198
+ "version": "0.28.0",
199
+ "resolved": "file:vendor/npm/esbuild-linux-arm-0.28.0.tgz",
200
+ "integrity": "sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==",
201
+ "cpu": [
202
+ "arm"
203
+ ],
204
+ "license": "MIT",
205
+ "optional": true,
206
+ "os": [
207
+ "linux"
208
+ ],
209
+ "engines": {
210
+ "node": ">=18"
211
+ }
212
+ },
213
+ "node_modules/@esbuild/linux-arm64": {
214
+ "version": "0.28.0",
215
+ "resolved": "file:vendor/npm/esbuild-linux-arm64-0.28.0.tgz",
216
+ "integrity": "sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==",
217
+ "cpu": [
218
+ "arm64"
219
+ ],
220
+ "license": "MIT",
221
+ "optional": true,
222
+ "os": [
223
+ "linux"
224
+ ],
225
+ "engines": {
226
+ "node": ">=18"
227
+ }
228
+ },
229
+ "node_modules/@esbuild/linux-ia32": {
230
+ "version": "0.28.0",
231
+ "resolved": "file:vendor/npm/esbuild-linux-ia32-0.28.0.tgz",
232
+ "integrity": "sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==",
233
+ "cpu": [
234
+ "ia32"
235
+ ],
236
+ "license": "MIT",
237
+ "optional": true,
238
+ "os": [
239
+ "linux"
240
+ ],
241
+ "engines": {
242
+ "node": ">=18"
243
+ }
244
+ },
245
+ "node_modules/@esbuild/linux-loong64": {
246
+ "version": "0.28.0",
247
+ "resolved": "file:vendor/npm/esbuild-linux-loong64-0.28.0.tgz",
248
+ "integrity": "sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==",
249
+ "cpu": [
250
+ "loong64"
251
+ ],
252
+ "license": "MIT",
253
+ "optional": true,
254
+ "os": [
255
+ "linux"
256
+ ],
257
+ "engines": {
258
+ "node": ">=18"
259
+ }
260
+ },
261
+ "node_modules/@esbuild/linux-mips64el": {
262
+ "version": "0.28.0",
263
+ "resolved": "file:vendor/npm/esbuild-linux-mips64el-0.28.0.tgz",
264
+ "integrity": "sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==",
265
+ "cpu": [
266
+ "mips64el"
267
+ ],
268
+ "license": "MIT",
269
+ "optional": true,
270
+ "os": [
271
+ "linux"
272
+ ],
273
+ "engines": {
274
+ "node": ">=18"
275
+ }
276
+ },
277
+ "node_modules/@esbuild/linux-ppc64": {
278
+ "version": "0.28.0",
279
+ "resolved": "file:vendor/npm/esbuild-linux-ppc64-0.28.0.tgz",
280
+ "integrity": "sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==",
281
+ "cpu": [
282
+ "ppc64"
283
+ ],
284
+ "license": "MIT",
285
+ "optional": true,
286
+ "os": [
287
+ "linux"
288
+ ],
289
+ "engines": {
290
+ "node": ">=18"
291
+ }
292
+ },
293
+ "node_modules/@esbuild/linux-riscv64": {
294
+ "version": "0.28.0",
295
+ "resolved": "file:vendor/npm/esbuild-linux-riscv64-0.28.0.tgz",
296
+ "integrity": "sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==",
297
+ "cpu": [
298
+ "riscv64"
299
+ ],
300
+ "license": "MIT",
301
+ "optional": true,
302
+ "os": [
303
+ "linux"
304
+ ],
305
+ "engines": {
306
+ "node": ">=18"
307
+ }
308
+ },
309
+ "node_modules/@esbuild/linux-s390x": {
310
+ "version": "0.28.0",
311
+ "resolved": "file:vendor/npm/esbuild-linux-s390x-0.28.0.tgz",
312
+ "integrity": "sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==",
313
+ "cpu": [
314
+ "s390x"
315
+ ],
316
+ "license": "MIT",
317
+ "optional": true,
318
+ "os": [
319
+ "linux"
320
+ ],
321
+ "engines": {
322
+ "node": ">=18"
323
+ }
324
+ },
325
+ "node_modules/@esbuild/linux-x64": {
326
+ "version": "0.28.0",
327
+ "resolved": "file:vendor/npm/esbuild-linux-x64-0.28.0.tgz",
328
+ "integrity": "sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==",
329
+ "cpu": [
330
+ "x64"
331
+ ],
332
+ "license": "MIT",
333
+ "optional": true,
334
+ "os": [
335
+ "linux"
336
+ ],
337
+ "engines": {
338
+ "node": ">=18"
339
+ }
340
+ },
341
+ "node_modules/@esbuild/netbsd-arm64": {
342
+ "version": "0.28.0",
343
+ "resolved": "file:vendor/npm/esbuild-netbsd-arm64-0.28.0.tgz",
344
+ "integrity": "sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==",
345
+ "cpu": [
346
+ "arm64"
347
+ ],
348
+ "license": "MIT",
349
+ "optional": true,
350
+ "os": [
351
+ "netbsd"
352
+ ],
353
+ "engines": {
354
+ "node": ">=18"
355
+ }
356
+ },
357
+ "node_modules/@esbuild/netbsd-x64": {
358
+ "version": "0.28.0",
359
+ "resolved": "file:vendor/npm/esbuild-netbsd-x64-0.28.0.tgz",
360
+ "integrity": "sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==",
361
+ "cpu": [
362
+ "x64"
363
+ ],
364
+ "license": "MIT",
365
+ "optional": true,
366
+ "os": [
367
+ "netbsd"
368
+ ],
369
+ "engines": {
370
+ "node": ">=18"
371
+ }
372
+ },
373
+ "node_modules/@esbuild/openbsd-arm64": {
374
+ "version": "0.28.0",
375
+ "resolved": "file:vendor/npm/esbuild-openbsd-arm64-0.28.0.tgz",
376
+ "integrity": "sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==",
377
+ "cpu": [
378
+ "arm64"
379
+ ],
380
+ "license": "MIT",
381
+ "optional": true,
382
+ "os": [
383
+ "openbsd"
384
+ ],
385
+ "engines": {
386
+ "node": ">=18"
387
+ }
388
+ },
389
+ "node_modules/@esbuild/openbsd-x64": {
390
+ "version": "0.28.0",
391
+ "resolved": "file:vendor/npm/esbuild-openbsd-x64-0.28.0.tgz",
392
+ "integrity": "sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==",
393
+ "cpu": [
394
+ "x64"
395
+ ],
396
+ "license": "MIT",
397
+ "optional": true,
398
+ "os": [
399
+ "openbsd"
400
+ ],
401
+ "engines": {
402
+ "node": ">=18"
403
+ }
404
+ },
405
+ "node_modules/@esbuild/openharmony-arm64": {
406
+ "version": "0.28.0",
407
+ "resolved": "file:vendor/npm/esbuild-openharmony-arm64-0.28.0.tgz",
408
+ "integrity": "sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==",
409
+ "cpu": [
410
+ "arm64"
411
+ ],
412
+ "license": "MIT",
413
+ "optional": true,
414
+ "os": [
415
+ "openharmony"
416
+ ],
417
+ "engines": {
418
+ "node": ">=18"
419
+ }
420
+ },
421
+ "node_modules/@esbuild/sunos-x64": {
422
+ "version": "0.28.0",
423
+ "resolved": "file:vendor/npm/esbuild-sunos-x64-0.28.0.tgz",
424
+ "integrity": "sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==",
425
+ "cpu": [
426
+ "x64"
427
+ ],
428
+ "license": "MIT",
429
+ "optional": true,
430
+ "os": [
431
+ "sunos"
432
+ ],
433
+ "engines": {
434
+ "node": ">=18"
435
+ }
436
+ },
437
+ "node_modules/@esbuild/win32-arm64": {
438
+ "version": "0.28.0",
439
+ "resolved": "file:vendor/npm/esbuild-win32-arm64-0.28.0.tgz",
440
+ "integrity": "sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==",
441
+ "cpu": [
442
+ "arm64"
443
+ ],
444
+ "license": "MIT",
445
+ "optional": true,
446
+ "os": [
447
+ "win32"
448
+ ],
449
+ "engines": {
450
+ "node": ">=18"
451
+ }
452
+ },
453
+ "node_modules/@esbuild/win32-ia32": {
454
+ "version": "0.28.0",
455
+ "resolved": "file:vendor/npm/esbuild-win32-ia32-0.28.0.tgz",
456
+ "integrity": "sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==",
457
+ "cpu": [
458
+ "ia32"
459
+ ],
460
+ "license": "MIT",
461
+ "optional": true,
462
+ "os": [
463
+ "win32"
464
+ ],
465
+ "engines": {
466
+ "node": ">=18"
467
+ }
468
+ },
469
+ "node_modules/@esbuild/win32-x64": {
470
+ "version": "0.28.0",
471
+ "resolved": "file:vendor/npm/esbuild-win32-x64-0.28.0.tgz",
472
+ "integrity": "sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==",
473
+ "cpu": [
474
+ "x64"
475
+ ],
476
+ "license": "MIT",
477
+ "optional": true,
478
+ "os": [
479
+ "win32"
480
+ ],
481
+ "engines": {
482
+ "node": ">=18"
483
+ }
484
+ },
485
+ "node_modules/@opentui/core": {
486
+ "version": "0.3.1",
487
+ "resolved": "file:vendor/npm/opentui-core-0.3.1.tgz",
488
+ "integrity": "sha512-kQFSsSCgtlasSqTigCgKmM67xaquGvTg+vwimDnFSZtcBEt4E3dz7qLrbeh5FVvTA+RMbwe+Bozq03PW+SgjXw==",
489
+ "license": "MIT",
490
+ "dependencies": {
491
+ "bun-ffi-structs": "0.2.2",
492
+ "diff": "9.0.0",
493
+ "marked": "17.0.1",
494
+ "string-width": "7.2.0",
495
+ "strip-ansi": "7.1.2",
496
+ "yoga-layout": "3.2.1"
497
+ },
498
+ "optionalDependencies": {
499
+ "@opentui/core-darwin-arm64": "0.3.1",
500
+ "@opentui/core-darwin-x64": "0.3.1",
501
+ "@opentui/core-linux-arm64": "0.3.1",
502
+ "@opentui/core-linux-x64": "0.3.1",
503
+ "@opentui/core-win32-arm64": "0.3.1",
504
+ "@opentui/core-win32-x64": "0.3.1"
505
+ },
506
+ "peerDependencies": {
507
+ "web-tree-sitter": "0.25.10"
508
+ }
509
+ },
510
+ "node_modules/@opentui/core-darwin-arm64": {
511
+ "version": "0.3.1",
512
+ "resolved": "file:vendor/npm/opentui-core-darwin-arm64-0.3.1.tgz",
513
+ "integrity": "sha512-krvVfiBpeBY+727R8yogdqIcxkK3RUVcI97bqjl8jTeDMcWOkFFfHezssRMPmbR5x++1tX669Fz3fuxoe7XUIg==",
514
+ "cpu": [
515
+ "arm64"
516
+ ],
517
+ "license": "MIT",
518
+ "optional": true,
519
+ "os": [
520
+ "darwin"
521
+ ]
522
+ },
523
+ "node_modules/@opentui/core-darwin-x64": {
524
+ "version": "0.3.1",
525
+ "resolved": "file:vendor/npm/opentui-core-darwin-x64-0.3.1.tgz",
526
+ "integrity": "sha512-D/6ec5H8SPpSBMr01/sqgSddIl1Qc1QMKsDl/wV5MpbxYc7Qvie9qlNvvoSsWNfAXAbafLRb1jQBzouk41cp1w==",
527
+ "cpu": [
528
+ "x64"
529
+ ],
530
+ "license": "MIT",
531
+ "optional": true,
532
+ "os": [
533
+ "darwin"
534
+ ]
535
+ },
536
+ "node_modules/@opentui/core-linux-arm64": {
537
+ "version": "0.3.1",
538
+ "resolved": "file:vendor/npm/opentui-core-linux-arm64-0.3.1.tgz",
539
+ "integrity": "sha512-E/FFBoAsWJyS/EO/cF7h7DuEENYa9nAdSv1W/TIyKXpBisN6K3U1Xgbk528TkfWjrwJjhGs+9OMYdXuAHd5LTw==",
540
+ "cpu": [
541
+ "arm64"
542
+ ],
543
+ "license": "MIT",
544
+ "optional": true,
545
+ "os": [
546
+ "linux"
547
+ ]
548
+ },
549
+ "node_modules/@opentui/core-linux-x64": {
550
+ "version": "0.3.1",
551
+ "resolved": "file:vendor/npm/opentui-core-linux-x64-0.3.1.tgz",
552
+ "integrity": "sha512-Btb7Q4BOC55Aj2qCs0VoxGuj87DNfUEaSx0z89oeU4npTN+6SpJApyGZTCNNeSe2sdmOGeh/8eAR4X96ORjcKg==",
553
+ "cpu": [
554
+ "x64"
555
+ ],
556
+ "license": "MIT",
557
+ "optional": true,
558
+ "os": [
559
+ "linux"
560
+ ]
561
+ },
562
+ "node_modules/@opentui/core-win32-arm64": {
563
+ "version": "0.3.1",
564
+ "resolved": "file:vendor/npm/opentui-core-win32-arm64-0.3.1.tgz",
565
+ "integrity": "sha512-+lt24u3KwEPG69oXDOLz9N484wPcAHvrPbDNU77OT6DvWew+StAjh40eY+Zeu0TkTNDWfj7qnQKV0GKWtFA3cw==",
566
+ "cpu": [
567
+ "arm64"
568
+ ],
569
+ "license": "MIT",
570
+ "optional": true,
571
+ "os": [
572
+ "win32"
573
+ ]
574
+ },
575
+ "node_modules/@opentui/core-win32-x64": {
576
+ "version": "0.3.1",
577
+ "resolved": "file:vendor/npm/opentui-core-win32-x64-0.3.1.tgz",
578
+ "integrity": "sha512-eVkKMYirYgpn92lI0YT/GKru4J+UiXjzwyzNRFX+P59OHXvL3GFdqJMcJmX4/zvyjg4c8HDnU79YLnyG+TlXLw==",
579
+ "cpu": [
580
+ "x64"
581
+ ],
582
+ "license": "MIT",
583
+ "optional": true,
584
+ "os": [
585
+ "win32"
586
+ ]
587
+ },
588
+ "node_modules/@types/node": {
589
+ "version": "22.19.19",
590
+ "resolved": "file:vendor/npm/types-node-22.19.19.tgz",
591
+ "integrity": "sha512-w6UjGcjNe9yu/tK9VwezgYBx9SzSrKk/XECKzwZd2izZsBY2oNIl8oAv0d9sVNR0AIO8KYuEvNDsQSK18mnlIg==",
592
+ "dev": true,
593
+ "license": "MIT",
594
+ "dependencies": {
595
+ "undici-types": "~6.21.0"
596
+ }
597
+ },
598
+ "node_modules/ansi-regex": {
599
+ "version": "6.2.2",
600
+ "resolved": "file:vendor/npm/ansi-regex-6.2.2.tgz",
601
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
602
+ "license": "MIT",
603
+ "engines": {
604
+ "node": ">=12"
605
+ },
606
+ "funding": {
607
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
608
+ }
609
+ },
610
+ "node_modules/bun-ffi-structs": {
611
+ "version": "0.2.2",
612
+ "resolved": "file:vendor/npm/bun-ffi-structs-0.2.2.tgz",
613
+ "integrity": "sha512-N/ZWtyN0piZlrXQT7TO0V+q952orYqkfhXRXM1Hcbb+R3QSiBH4vLnib187Mrs1H7pWIYECAmPeapGYDOMCl+w==",
614
+ "license": "MIT",
615
+ "peerDependencies": {
616
+ "typescript": "^5"
617
+ }
618
+ },
619
+ "node_modules/diff": {
620
+ "version": "9.0.0",
621
+ "resolved": "file:vendor/npm/diff-9.0.0.tgz",
622
+ "integrity": "sha512-svtcdpS8CgJyqAjEQIXdb3OjhFVVYjzGAPO8WGCmRbrml64SPw/jJD4GoE98aR7r25A0XcgrK3F02yw9R/vhQw==",
623
+ "license": "BSD-3-Clause",
624
+ "engines": {
625
+ "node": ">=0.3.1"
626
+ }
627
+ },
628
+ "node_modules/emoji-regex": {
629
+ "version": "10.6.0",
630
+ "resolved": "file:vendor/npm/emoji-regex-10.6.0.tgz",
631
+ "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
632
+ "license": "MIT"
633
+ },
634
+ "node_modules/esbuild": {
635
+ "version": "0.28.0",
636
+ "resolved": "file:vendor/npm/esbuild-0.28.0.tgz",
637
+ "integrity": "sha512-b/S0c4gAi3oHY6MmbEPgVbyn32p6aDgw4aZwX09q5MufJfMymCftMJd2JBRNxhVxhsxWDzih0wA4yknN4Tcnew==",
638
+ "dev": true,
639
+ "hasInstallScript": true,
640
+ "license": "MIT",
641
+ "bin": {
642
+ "esbuild": "bin/esbuild"
643
+ },
644
+ "engines": {
645
+ "node": ">=18"
646
+ },
647
+ "optionalDependencies": {
648
+ "@esbuild/aix-ppc64": "0.28.0",
649
+ "@esbuild/android-arm": "0.28.0",
650
+ "@esbuild/android-arm64": "0.28.0",
651
+ "@esbuild/android-x64": "0.28.0",
652
+ "@esbuild/darwin-arm64": "0.28.0",
653
+ "@esbuild/darwin-x64": "0.28.0",
654
+ "@esbuild/freebsd-arm64": "0.28.0",
655
+ "@esbuild/freebsd-x64": "0.28.0",
656
+ "@esbuild/linux-arm": "0.28.0",
657
+ "@esbuild/linux-arm64": "0.28.0",
658
+ "@esbuild/linux-ia32": "0.28.0",
659
+ "@esbuild/linux-loong64": "0.28.0",
660
+ "@esbuild/linux-mips64el": "0.28.0",
661
+ "@esbuild/linux-ppc64": "0.28.0",
662
+ "@esbuild/linux-riscv64": "0.28.0",
663
+ "@esbuild/linux-s390x": "0.28.0",
664
+ "@esbuild/linux-x64": "0.28.0",
665
+ "@esbuild/netbsd-arm64": "0.28.0",
666
+ "@esbuild/netbsd-x64": "0.28.0",
667
+ "@esbuild/openbsd-arm64": "0.28.0",
668
+ "@esbuild/openbsd-x64": "0.28.0",
669
+ "@esbuild/openharmony-arm64": "0.28.0",
670
+ "@esbuild/sunos-x64": "0.28.0",
671
+ "@esbuild/win32-arm64": "0.28.0",
672
+ "@esbuild/win32-ia32": "0.28.0",
673
+ "@esbuild/win32-x64": "0.28.0"
674
+ }
675
+ },
676
+ "node_modules/fsevents": {
677
+ "version": "2.3.3",
678
+ "resolved": "file:vendor/npm/fsevents-2.3.3.tgz",
679
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
680
+ "license": "MIT",
681
+ "optional": true,
682
+ "os": [
683
+ "darwin"
684
+ ],
685
+ "engines": {
686
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
687
+ }
688
+ },
689
+ "node_modules/get-east-asian-width": {
690
+ "version": "1.6.0",
691
+ "resolved": "file:vendor/npm/get-east-asian-width-1.6.0.tgz",
692
+ "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==",
693
+ "license": "MIT",
694
+ "engines": {
695
+ "node": ">=18"
696
+ },
697
+ "funding": {
698
+ "url": "https://github.com/sponsors/sindresorhus"
699
+ }
700
+ },
701
+ "node_modules/marked": {
702
+ "version": "17.0.1",
703
+ "resolved": "file:vendor/npm/marked-17.0.1.tgz",
704
+ "integrity": "sha512-boeBdiS0ghpWcSwoNm/jJBwdpFaMnZWRzjA6SkUMYb40SVaN1x7mmfGKp0jvexGcx+7y2La5zRZsYFZI6Qpypg==",
705
+ "license": "MIT",
706
+ "bin": {
707
+ "marked": "bin/marked.js"
708
+ },
709
+ "engines": {
710
+ "node": ">= 20"
711
+ }
712
+ },
713
+ "node_modules/string-width": {
714
+ "version": "7.2.0",
715
+ "resolved": "file:vendor/npm/string-width-7.2.0.tgz",
716
+ "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
717
+ "license": "MIT",
718
+ "dependencies": {
719
+ "emoji-regex": "^10.3.0",
720
+ "get-east-asian-width": "^1.0.0",
721
+ "strip-ansi": "^7.1.0"
722
+ },
723
+ "engines": {
724
+ "node": ">=18"
725
+ },
726
+ "funding": {
727
+ "url": "https://github.com/sponsors/sindresorhus"
728
+ }
729
+ },
730
+ "node_modules/strip-ansi": {
731
+ "version": "7.1.2",
732
+ "resolved": "file:vendor/npm/strip-ansi-7.1.2.tgz",
733
+ "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
734
+ "license": "MIT",
735
+ "dependencies": {
736
+ "ansi-regex": "^6.0.1"
737
+ },
738
+ "engines": {
739
+ "node": ">=12"
740
+ },
741
+ "funding": {
742
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
743
+ }
744
+ },
745
+ "node_modules/tsx": {
746
+ "version": "4.22.4",
747
+ "resolved": "file:vendor/npm/tsx-4.22.4.tgz",
748
+ "integrity": "sha512-X8EX+XV4QR5xCsrgxaED954zTDfY8KqlDtskKEL0cHhyS/P8b4IFOvGDQpsC9Q1XnLq915wEfwwY/zzskCtmhg==",
749
+ "dev": true,
750
+ "license": "MIT",
751
+ "dependencies": {
752
+ "esbuild": "~0.28.0"
753
+ },
754
+ "bin": {
755
+ "tsx": "dist/cli.mjs"
756
+ },
757
+ "engines": {
758
+ "node": ">=18.0.0"
759
+ },
760
+ "optionalDependencies": {
761
+ "fsevents": "~2.3.3"
762
+ }
763
+ },
764
+ "node_modules/typescript": {
765
+ "version": "5.9.3",
766
+ "resolved": "file:vendor/npm/typescript-5.9.3.tgz",
767
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
768
+ "license": "Apache-2.0",
769
+ "bin": {
770
+ "tsc": "bin/tsc",
771
+ "tsserver": "bin/tsserver"
772
+ },
773
+ "engines": {
774
+ "node": ">=14.17"
775
+ }
776
+ },
777
+ "node_modules/undici-types": {
778
+ "version": "6.21.0",
779
+ "resolved": "file:vendor/npm/undici-types-6.21.0.tgz",
780
+ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
781
+ "dev": true,
782
+ "license": "MIT"
783
+ },
784
+ "node_modules/web-tree-sitter": {
785
+ "version": "0.25.10",
786
+ "resolved": "file:vendor/npm/web-tree-sitter-0.25.10.tgz",
787
+ "integrity": "sha512-Y09sF44/13XvgVKgO2cNDw5rGk6s26MgoZPXLESvMXeefBf7i6/73eFurre0IsTW6E14Y0ArIzhUMmjoc7xyzA==",
788
+ "license": "MIT",
789
+ "peerDependencies": {
790
+ "@types/emscripten": "^1.40.0"
791
+ },
792
+ "peerDependenciesMeta": {
793
+ "@types/emscripten": {
794
+ "optional": true
795
+ }
796
+ }
797
+ },
798
+ "node_modules/yoga-layout": {
799
+ "version": "3.2.1",
800
+ "resolved": "file:vendor/npm/yoga-layout-3.2.1.tgz",
801
+ "integrity": "sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ==",
802
+ "license": "MIT"
803
+ }
804
+ }
805
+ }