@hashicorp/kits 0.1.6 → 0.1.8

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 (107) hide show
  1. package/README.md +51 -683
  2. package/dist/adapters/claude-code/detection.d.ts +1 -1
  3. package/dist/adapters/claude-code/detection.d.ts.map +1 -1
  4. package/dist/adapters/claude-code/detection.js +3 -2
  5. package/dist/adapters/claude-code/detection.js.map +1 -1
  6. package/dist/adapters/claude-code/index.d.ts +1 -1
  7. package/dist/adapters/claude-code/index.d.ts.map +1 -1
  8. package/dist/adapters/claude-code/index.js +3 -1
  9. package/dist/adapters/claude-code/index.js.map +1 -1
  10. package/dist/adapters/claude-code/installer.d.ts.map +1 -1
  11. package/dist/adapters/claude-code/installer.js +5 -9
  12. package/dist/adapters/claude-code/installer.js.map +1 -1
  13. package/dist/adapters/gemini-cli/detection.d.ts +1 -1
  14. package/dist/adapters/gemini-cli/detection.d.ts.map +1 -1
  15. package/dist/adapters/gemini-cli/detection.js +3 -2
  16. package/dist/adapters/gemini-cli/detection.js.map +1 -1
  17. package/dist/adapters/gemini-cli/index.d.ts +1 -1
  18. package/dist/adapters/gemini-cli/index.d.ts.map +1 -1
  19. package/dist/adapters/gemini-cli/index.js +3 -1
  20. package/dist/adapters/gemini-cli/index.js.map +1 -1
  21. package/dist/adapters/gemini-cli/installer.d.ts.map +1 -1
  22. package/dist/adapters/gemini-cli/installer.js +5 -9
  23. package/dist/adapters/gemini-cli/installer.js.map +1 -1
  24. package/dist/adapters/github-copilot/detection.d.ts +1 -1
  25. package/dist/adapters/github-copilot/detection.d.ts.map +1 -1
  26. package/dist/adapters/github-copilot/detection.js +3 -2
  27. package/dist/adapters/github-copilot/detection.js.map +1 -1
  28. package/dist/adapters/github-copilot/index.d.ts +1 -1
  29. package/dist/adapters/github-copilot/index.d.ts.map +1 -1
  30. package/dist/adapters/github-copilot/index.js +2 -1
  31. package/dist/adapters/github-copilot/index.js.map +1 -1
  32. package/dist/adapters/github-copilot/installer.d.ts.map +1 -1
  33. package/dist/adapters/github-copilot/installer.js +6 -3
  34. package/dist/adapters/github-copilot/installer.js.map +1 -1
  35. package/dist/adapters/opencode/detection.d.ts.map +1 -1
  36. package/dist/adapters/opencode/detection.js +3 -2
  37. package/dist/adapters/opencode/detection.js.map +1 -1
  38. package/dist/adapters/opencode/index.d.ts.map +1 -1
  39. package/dist/adapters/opencode/index.js +43 -20
  40. package/dist/adapters/opencode/index.js.map +1 -1
  41. package/dist/adapters/opencode/installer.d.ts.map +1 -1
  42. package/dist/adapters/opencode/installer.js +38 -18
  43. package/dist/adapters/opencode/installer.js.map +1 -1
  44. package/dist/adapters/types.d.ts +8 -0
  45. package/dist/adapters/types.d.ts.map +1 -1
  46. package/dist/adapters/types.js.map +1 -1
  47. package/dist/cli/index.js +1 -1
  48. package/dist/cli/index.js.map +1 -1
  49. package/dist/cli/install.d.ts.map +1 -1
  50. package/dist/cli/install.js +238 -176
  51. package/dist/cli/install.js.map +1 -1
  52. package/dist/cli/list.d.ts.map +1 -1
  53. package/dist/cli/list.js +18 -10
  54. package/dist/cli/list.js.map +1 -1
  55. package/dist/cli/uninstall.d.ts.map +1 -1
  56. package/dist/cli/uninstall.js +93 -88
  57. package/dist/cli/uninstall.js.map +1 -1
  58. package/dist/cli/upgrade.d.ts.map +1 -1
  59. package/dist/cli/upgrade.js +180 -31
  60. package/dist/cli/upgrade.js.map +1 -1
  61. package/dist/core/debug.d.ts +1 -1
  62. package/dist/core/debug.js +2 -2
  63. package/dist/core/debug.js.map +1 -1
  64. package/dist/core/hook-arguments.d.ts +4 -0
  65. package/dist/core/hook-arguments.d.ts.map +1 -0
  66. package/dist/core/hook-arguments.js +56 -0
  67. package/dist/core/hook-arguments.js.map +1 -0
  68. package/dist/core/hook-instance.d.ts +2 -2
  69. package/dist/core/hook-instance.d.ts.map +1 -1
  70. package/dist/core/hook-instance.js +7 -11
  71. package/dist/core/hook-instance.js.map +1 -1
  72. package/dist/core/hook-store.d.ts +5 -0
  73. package/dist/core/hook-store.d.ts.map +1 -0
  74. package/dist/core/hook-store.js +6 -0
  75. package/dist/core/hook-store.js.map +1 -0
  76. package/dist/core/types.d.ts +11 -7
  77. package/dist/core/types.d.ts.map +1 -1
  78. package/dist/core/upgrade-executor.d.ts +3 -1
  79. package/dist/core/upgrade-executor.d.ts.map +1 -1
  80. package/dist/core/upgrade-executor.js +292 -25
  81. package/dist/core/upgrade-executor.js.map +1 -1
  82. package/dist/index.d.ts +1 -1
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +1 -1
  85. package/dist/index.js.map +1 -1
  86. package/dist/lockfile/index.d.ts +5 -5
  87. package/dist/lockfile/index.d.ts.map +1 -1
  88. package/dist/lockfile/index.js +35 -57
  89. package/dist/lockfile/index.js.map +1 -1
  90. package/dist/lockfile/read.js +1 -1
  91. package/dist/lockfile/read.js.map +1 -1
  92. package/dist/lockfile/types.d.ts +39 -39
  93. package/dist/lockfile/types.d.ts.map +1 -1
  94. package/dist/lockfile/types.js +1 -1
  95. package/dist/lockfile/types.js.map +1 -1
  96. package/dist/lockfile/upgrade-check.d.ts.map +1 -1
  97. package/dist/lockfile/upgrade-check.js +16 -19
  98. package/dist/lockfile/upgrade-check.js.map +1 -1
  99. package/dist/tui/types.d.ts +2 -0
  100. package/dist/tui/types.d.ts.map +1 -1
  101. package/dist/tui/upgrade-select.d.ts.map +1 -1
  102. package/dist/tui/upgrade-select.js +92 -14
  103. package/dist/tui/upgrade-select.js.map +1 -1
  104. package/package.json +1 -1
  105. package/schemas/hook-binding.schema.json +10 -11
  106. package/schemas/hook-program.schema.json +39 -7
  107. package/schemas/kits-lock.schema.json +161 -105
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import * as clack from "@clack/prompts";
7
7
  import pc from "picocolors";
8
- import { ExitCode } from "./types.js";
8
+ import { ExitCode, } from "./types.js";
9
9
  import { readManifest, writeManifest, getManifestPath } from "../manifest/index.js";
10
10
  import { hashManifest } from "../manifest/hash.js";
11
11
  import { readLockfile } from "../lockfile/read.js";
@@ -38,22 +38,11 @@ function filterLockfileBySource(lockfile, source) {
38
38
  const normalized = normalizeSourceRef(source);
39
39
  const filtered = {
40
40
  ...lockfile,
41
- harnesses: {},
41
+ kits: {},
42
42
  };
43
- for (const [harnessName, harnessEntry] of Object.entries(lockfile.harnesses)) {
44
- if (!harnessEntry)
45
- continue;
46
- const kits = {};
47
- for (const [kitName, kit] of Object.entries(harnessEntry.kits)) {
48
- if (normalizeSourceRef(kit.source) === normalized) {
49
- kits[kitName] = kit;
50
- }
51
- }
52
- if (Object.keys(kits).length > 0) {
53
- filtered.harnesses[harnessName] = {
54
- ...harnessEntry,
55
- kits,
56
- };
43
+ for (const [kitName, kit] of Object.entries(lockfile.kits)) {
44
+ if (normalizeSourceRef(kit.source) === normalized) {
45
+ filtered.kits[kitName] = kit;
57
46
  }
58
47
  }
59
48
  return filtered;
@@ -132,8 +121,22 @@ export async function runUpgrade(options) {
132
121
  clack.intro(pc.cyan("@hashicorp/kits upgrade"));
133
122
  }
134
123
  const lockfile = await readLockfile(scope, scope === "project" ? projectRoot : undefined);
124
+ void debugLog({
125
+ level: "info",
126
+ event: "upgrade.lockfile.read",
127
+ data: {
128
+ scope,
129
+ found: !!lockfile,
130
+ kits: lockfile ? Object.keys(lockfile.kits) : [],
131
+ },
132
+ });
135
133
  if (!lockfile) {
136
134
  const message = "No lockfile found. No kits are installed.";
135
+ void debugLog({
136
+ level: "warn",
137
+ event: "upgrade.lockfile.missing",
138
+ data: { scope },
139
+ });
137
140
  if (isInteractive) {
138
141
  clack.log.warn(message);
139
142
  clack.outro(pc.yellow("Nothing to upgrade"));
@@ -160,6 +163,15 @@ export async function runUpgrade(options) {
160
163
  const lockHash = lockfile.manifest?.hash;
161
164
  if (!lockHash || lockHash !== currentHash) {
162
165
  const message = "Lockfile is out of sync with kits.json. Run install to reconcile.";
166
+ void debugLog({
167
+ level: "error",
168
+ event: "upgrade.manifest.out_of_sync",
169
+ data: {
170
+ scope,
171
+ lockHash,
172
+ currentHash,
173
+ },
174
+ });
163
175
  if (isInteractive) {
164
176
  clack.log.error(message);
165
177
  clack.outro(pc.red("Upgrade failed"));
@@ -174,18 +186,24 @@ export async function runUpgrade(options) {
174
186
  }
175
187
  }
176
188
  const sourcesFromLockfile = new Set();
177
- for (const harnessEntry of Object.values(lockfile.harnesses)) {
178
- if (!harnessEntry)
179
- continue;
180
- for (const kit of Object.values(harnessEntry.kits)) {
181
- if (kit.source) {
182
- sourcesFromLockfile.add(kit.source);
189
+ const installedKitVersions = new Map();
190
+ for (const [kitInstance, kit] of Object.entries(lockfile.kits)) {
191
+ if (kit.source) {
192
+ sourcesFromLockfile.add(kit.source);
193
+ }
194
+ if (kit.version) {
195
+ for (const harnessName of Object.keys(kit.harnesses)) {
196
+ const key = `${harnessName}:${kitInstance}`;
197
+ installedKitVersions.set(key, kit.version);
183
198
  }
184
199
  }
185
200
  }
186
- const sourcesToCheck = options.source
187
- ? [options.source]
188
- : Array.from(sourcesFromLockfile);
201
+ const sourcesToCheck = options.source ? [options.source] : Array.from(sourcesFromLockfile);
202
+ void debugLog({
203
+ level: "info",
204
+ event: "upgrade.sources",
205
+ data: { sources: sourcesToCheck },
206
+ });
189
207
  if (sourcesToCheck.length === 0) {
190
208
  const message = "No source specified and no source in lockfile. Use --source to specify the kit repository.";
191
209
  if (isInteractive) {
@@ -201,12 +219,13 @@ export async function runUpgrade(options) {
201
219
  return { success: false, exitCode: ExitCode.InvalidArguments, error: message };
202
220
  }
203
221
  const upgradesBySource = new Map();
222
+ const kitVersionsBySource = new Map();
204
223
  const registryBySource = new Map();
205
224
  const checkSourceMap = new Map();
206
225
  const checkKey = (check) => `${check.harness}:${check.kit}:${check.type}:${check.primitive}`;
207
226
  for (const sourceValue of sourcesToCheck) {
208
227
  const filteredLockfile = filterLockfileBySource(lockfile, sourceValue);
209
- const hasKits = Object.values(filteredLockfile.harnesses).some((entry) => entry && Object.keys(entry.kits).length > 0);
228
+ const hasKits = Object.keys(filteredLockfile.kits).length > 0;
210
229
  if (!hasKits) {
211
230
  continue;
212
231
  }
@@ -217,6 +236,11 @@ export async function runUpgrade(options) {
217
236
  else if (options.verbose) {
218
237
  console.error(`Fetching ${sourceValue}...`);
219
238
  }
239
+ void debugLog({
240
+ level: "info",
241
+ event: "upgrade.fetch.start",
242
+ data: { source: sourceValue },
243
+ });
220
244
  let fetchResult;
221
245
  try {
222
246
  fetchResult = await fetchSource(sourceValue);
@@ -224,11 +248,24 @@ export async function runUpgrade(options) {
224
248
  if (fetchSpinner) {
225
249
  fetchSpinner.stop(`Fetched ${pc.cyan(sourceValue)}`);
226
250
  }
251
+ void debugLog({
252
+ level: "info",
253
+ event: "upgrade.fetch.success",
254
+ data: { source: sourceValue, localPath: fetchResult.localPath },
255
+ });
227
256
  }
228
257
  catch (error) {
229
258
  if (fetchSpinner) {
230
259
  fetchSpinner.stop(pc.red("Failed to fetch source"));
231
260
  }
261
+ void debugLog({
262
+ level: "error",
263
+ event: "upgrade.fetch.error",
264
+ data: {
265
+ source: sourceValue,
266
+ error: error instanceof Error ? error.message : String(error),
267
+ },
268
+ });
232
269
  if (error instanceof NoFetcherError || error instanceof SourceParseError) {
233
270
  const message = error.message;
234
271
  if (isInteractive) {
@@ -249,13 +286,30 @@ export async function runUpgrade(options) {
249
286
  if (scanSpinner) {
250
287
  scanSpinner.start("Checking for updates...");
251
288
  }
252
- await scanKits(fetchResult.localPath, sourceValue);
289
+ const discovery = await scanKits(fetchResult.localPath, sourceValue);
290
+ const kitVersions = new Map();
291
+ for (const kit of discovery.kits) {
292
+ if (kit.manifest?.version) {
293
+ kitVersions.set(kit.name, kit.manifest.version);
294
+ }
295
+ }
296
+ kitVersionsBySource.set(sourceValue, kitVersions);
297
+ void debugLog({
298
+ level: "info",
299
+ event: "upgrade.scan.success",
300
+ data: { source: sourceValue, kits: discovery.kits.map((kit) => kit.name) },
301
+ });
253
302
  const registryLoader = new PrimitivesRegistryLoader(fetchResult.localPath);
254
303
  await registryLoader.load();
255
304
  const upgradeChecks = await checkForUpgrades(filteredLockfile, registryLoader);
256
305
  if (scanSpinner) {
257
306
  scanSpinner.stop("Checked for updates");
258
307
  }
308
+ void debugLog({
309
+ level: "info",
310
+ event: "upgrade.check.completed",
311
+ data: { source: sourceValue, upgrades: upgradeChecks.length },
312
+ });
259
313
  upgradesBySource.set(sourceValue, upgradeChecks);
260
314
  registryBySource.set(sourceValue, registryLoader);
261
315
  for (const check of upgradeChecks) {
@@ -263,7 +317,22 @@ export async function runUpgrade(options) {
263
317
  }
264
318
  }
265
319
  const allUpgradeChecks = Array.from(upgradesBySource.values()).flat();
266
- let displayEntries = allUpgradeChecks.map((check) => toUpgradeDisplayEntry(check, getHarnessDisplayName(check.harness)));
320
+ let displayEntries = allUpgradeChecks.map((check) => {
321
+ const entry = toUpgradeDisplayEntry(check, getHarnessDisplayName(check.harness));
322
+ const installedKey = `${check.harness}:${check.kit}`;
323
+ const currentKitVersion = installedKitVersions.get(installedKey);
324
+ if (currentKitVersion) {
325
+ entry.kitCurrentVersion = currentKitVersion;
326
+ }
327
+ const sourceKey = checkSourceMap.get(checkKey(check));
328
+ const availableMap = sourceKey ? kitVersionsBySource.get(sourceKey) : undefined;
329
+ const canonicalName = check.name ?? check.kit;
330
+ const availableKitVersion = availableMap?.get(canonicalName);
331
+ if (availableKitVersion) {
332
+ entry.kitAvailableVersion = availableKitVersion;
333
+ }
334
+ return entry;
335
+ });
267
336
  if (options.alias) {
268
337
  displayEntries = displayEntries.filter((entry) => entry.kit === options.alias);
269
338
  if (options.kit && options.kit.length > 0) {
@@ -333,6 +402,11 @@ export async function runUpgrade(options) {
333
402
  if (isCheckOnly) {
334
403
  // Check-only mode
335
404
  if (displayEntries.length === 0) {
405
+ void debugLog({
406
+ level: "info",
407
+ event: "upgrade.check.empty",
408
+ data: { scope },
409
+ });
336
410
  if (isInteractive) {
337
411
  clack.log.success("All primitives are up to date!");
338
412
  clack.outro(pc.green("No upgrades available"));
@@ -351,9 +425,18 @@ export async function runUpgrade(options) {
351
425
  return { success: true, exitCode: ExitCode.NoUpgradesAvailable };
352
426
  }
353
427
  // Show available upgrades
428
+ void debugLog({
429
+ level: "info",
430
+ event: "upgrade.check.available",
431
+ data: { scope, upgrades: displayEntries.length },
432
+ });
354
433
  if (isInteractive) {
355
434
  displayUpgradeCheck(displayEntries);
356
- clack.outro(pc.cyan("Run without --check to apply upgrades"));
435
+ clack.outro("Run " +
436
+ pc.cyan("`kit upgrade`") +
437
+ " without " +
438
+ pc.cyan("--check") +
439
+ " to apply these upgrades");
357
440
  }
358
441
  else if (options.json) {
359
442
  const jsonOutput = {
@@ -365,11 +448,17 @@ export async function runUpgrade(options) {
365
448
  }
366
449
  else {
367
450
  displayUpgradeCheck(displayEntries);
451
+ console.log("Run `kit upgrade` without --check to apply these upgrades");
368
452
  }
369
453
  return { success: true, exitCode: ExitCode.Success };
370
454
  }
371
455
  // Apply upgrades
372
456
  if (displayEntries.length === 0) {
457
+ void debugLog({
458
+ level: "info",
459
+ event: "upgrade.apply.none",
460
+ data: { scope },
461
+ });
373
462
  if (isInteractive) {
374
463
  clack.log.success("All primitives are up to date!");
375
464
  clack.outro(pc.green("No upgrades available"));
@@ -384,6 +473,11 @@ export async function runUpgrade(options) {
384
473
  if (isInteractive) {
385
474
  const selection = await selectUpgrades(displayEntries);
386
475
  if (selection.cancelled || selection.selected.length === 0) {
476
+ void debugLog({
477
+ level: "info",
478
+ event: "upgrade.selection.cancelled",
479
+ data: { scope },
480
+ });
387
481
  clack.outro(pc.yellow("Upgrade cancelled"));
388
482
  return { success: true, exitCode: ExitCode.Success };
389
483
  }
@@ -393,6 +487,21 @@ export async function runUpgrade(options) {
393
487
  // Non-interactive: apply all upgrades
394
488
  selectedEntries = displayEntries;
395
489
  }
490
+ void debugLog({
491
+ level: "info",
492
+ event: "upgrade.selection",
493
+ data: {
494
+ scope,
495
+ selected: selectedEntries.map((entry) => ({
496
+ harness: entry.harness,
497
+ kit: entry.kit,
498
+ primitive: entry.primitive,
499
+ type: entry.type,
500
+ from: entry.currentVersion,
501
+ to: entry.availableVersion,
502
+ })),
503
+ },
504
+ });
396
505
  // Convert back to UpgradeCheck for executor
397
506
  const selectedChecks = selectedEntries.map((e) => {
398
507
  const check = {
@@ -466,12 +575,41 @@ export async function runUpgrade(options) {
466
575
  })));
467
576
  continue;
468
577
  }
469
- const result = await executeUpgrades(checks, adapterMap, registryLoader, lockfile, {
578
+ void debugLog({
579
+ level: "info",
580
+ event: "upgrade.apply.start",
581
+ data: {
582
+ source: sourceKey,
583
+ upgrades: checks.map((check) => ({
584
+ harness: check.harness,
585
+ kit: check.kit,
586
+ primitive: check.primitive,
587
+ type: check.type,
588
+ from: check.currentVersion,
589
+ to: check.availableVersion,
590
+ })),
591
+ },
592
+ });
593
+ const upgradeOptions = {
470
594
  onProgress: (progress) => {
471
595
  if (options.verbose) {
472
596
  console.error(` ${progress.phase}: ${progress.primitive} ${progress.currentVersion} → ${progress.newVersion}`);
473
597
  }
474
598
  },
599
+ scope,
600
+ ...(scope === "project" && projectRoot ? { projectRoot } : {}),
601
+ };
602
+ const result = await executeUpgrades(checks, adapterMap, registryLoader, lockfile, upgradeOptions);
603
+ void debugLog({
604
+ level: "info",
605
+ event: "upgrade.apply.result",
606
+ data: {
607
+ source: sourceKey,
608
+ success: result.success,
609
+ upgraded: result.upgraded.length,
610
+ failed: result.failed.length,
611
+ backupPaths: result.backupPaths,
612
+ },
475
613
  });
476
614
  if (!result.success) {
477
615
  aggregateResult.success = false;
@@ -483,6 +621,16 @@ export async function runUpgrade(options) {
483
621
  if (upgradeSpinner) {
484
622
  upgradeSpinner.stop(aggregateResult.success ? "Upgrades complete" : pc.red("Upgrade failed"));
485
623
  }
624
+ void debugLog({
625
+ level: "info",
626
+ event: "upgrade.complete",
627
+ data: {
628
+ success: aggregateResult.success,
629
+ upgraded: aggregateResult.upgraded.length,
630
+ failed: aggregateResult.failed.length,
631
+ backups: aggregateResult.backupPaths.length,
632
+ },
633
+ });
486
634
  if (manifest && options.save && aggregateResult.upgraded.length > 0) {
487
635
  const updatedSources = new Set();
488
636
  for (const sourceKey of upgradesBySelectedSource.keys()) {
@@ -507,7 +655,8 @@ export async function runUpgrade(options) {
507
655
  updatedSources.add(sourceKey);
508
656
  }
509
657
  if (updatedSources.size > 0) {
510
- const manifestPath = lockfile.manifest?.path ?? getManifestPath(scope, scope === "project" ? projectRoot : undefined);
658
+ const manifestPath = lockfile.manifest?.path ??
659
+ getManifestPath(scope, scope === "project" ? projectRoot : undefined);
511
660
  const updatedHash = hashManifest(manifest);
512
661
  await writeManifest(manifest, scope, scope === "project" ? projectRoot : undefined);
513
662
  lockfile.manifest = { path: manifestPath, hash: updatedHash };
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/cli/upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/cli/upgrade.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Debug logging utilities.
3
3
  *
4
- * Writes structured JSON log lines to ~/.config/agent-kit/debug.log
4
+ * Writes structured JSON log lines to ~/.config/kits/debug.log
5
5
  * when debug logging is enabled.
6
6
  */
7
7
  export type DebugLogLevel = "debug" | "info" | "warn" | "error";
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * Debug logging utilities.
3
3
  *
4
- * Writes structured JSON log lines to ~/.config/agent-kit/debug.log
4
+ * Writes structured JSON log lines to ~/.config/kits/debug.log
5
5
  * when debug logging is enabled.
6
6
  */
7
7
  import * as fs from "node:fs";
8
8
  import * as path from "node:path";
9
9
  import * as os from "node:os";
10
- const defaultLogPath = path.join(os.homedir(), ".config", "agent-kit", "debug.log");
10
+ const defaultLogPath = path.join(os.homedir(), ".config", "kits", "debug.log");
11
11
  let debugEnabled = false;
12
12
  let debugLogPath = defaultLogPath;
13
13
  let initDone = false;
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/core/debug.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAW9B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAEpF,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,IAAI,YAAY,GAAG,cAAc,CAAC;AAClC,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,SAAS,gBAAgB;IACvB,IAAI,QAAQ;QAAE,OAAO;IACrB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACvC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAgB,EAAE,OAAgB;IACnE,YAAY,GAAG,OAAO,CAAC;IACvB,IAAI,OAAO,EAAE,CAAC;QACZ,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,QAAQ,GAAG,KAAK,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC;QACH,gBAAgB,EAAE,CAAC;QACnB,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAoB;IACjD,IAAI,CAAC,YAAY;QAAE,OAAO;IAE1B,IAAI,CAAC;QACH,gBAAgB,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,KAAK;SACT,CAAC;QACF,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACzF,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/core/debug.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAW9B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAE/E,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,IAAI,YAAY,GAAG,cAAc,CAAC;AAClC,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,SAAS,gBAAgB;IACvB,IAAI,QAAQ;QAAE,OAAO;IACrB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACvC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAgB,EAAE,OAAgB;IACnE,YAAY,GAAG,OAAO,CAAC;IACvB,IAAI,OAAO,EAAE,CAAC;QACZ,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,QAAQ,GAAG,KAAK,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC;QACH,gBAAgB,EAAE,CAAC;QACnB,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAoB;IACjD,IAAI,CAAC,YAAY;QAAE,OAAO;IAE1B,IAAI,CAAC;QACH,gBAAgB,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,KAAK;SACT,CAAC;QACF,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACzF,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { HookBinding, HookProgramConfig, HookProgramRuntime } from "./types.js";
2
+ export declare function renderHookProgramArguments(program: HookProgramConfig, binding: HookBinding): string[];
3
+ export declare function buildHookCommand(commandPath: string, runtime: HookProgramRuntime, programArgs: string[], workingDir?: string): string;
4
+ //# sourceMappingURL=hook-arguments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-arguments.d.ts","sourceRoot":"","sources":["../../src/core/hook-arguments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAuB,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAmB1G,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,WAAW,GACnB,MAAM,EAAE,CAiCV;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,MAAM,EAAE,EACrB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAgBR"}
@@ -0,0 +1,56 @@
1
+ function resolveArgumentValue(definition, binding) {
2
+ const overrides = binding.args ?? {};
3
+ const hasOverride = Object.prototype.hasOwnProperty.call(overrides, definition.name);
4
+ const value = hasOverride ? overrides[definition.name] : definition.default;
5
+ if (value === undefined) {
6
+ throw new Error(`Hook argument missing value: ${definition.name}`);
7
+ }
8
+ return value;
9
+ }
10
+ function renderValue(value) {
11
+ return typeof value === "string" ? value : String(value);
12
+ }
13
+ export function renderHookProgramArguments(program, binding) {
14
+ if (!program.args || program.args.length === 0) {
15
+ return [];
16
+ }
17
+ const args = [];
18
+ for (const definition of program.args) {
19
+ const value = resolveArgumentValue(definition, binding);
20
+ const values = definition.type === "array"
21
+ ? Array.isArray(value)
22
+ ? value
23
+ : [value]
24
+ : [value];
25
+ for (const entry of values) {
26
+ const rendered = renderValue(entry);
27
+ if (definition.kind === "positional") {
28
+ args.push(rendered);
29
+ continue;
30
+ }
31
+ const flag = definition.flag ?? `--${definition.name}`;
32
+ if (definition.valueStyle === "equals") {
33
+ args.push(`${flag}=${rendered}`);
34
+ }
35
+ else {
36
+ args.push(flag, rendered);
37
+ }
38
+ }
39
+ }
40
+ return args;
41
+ }
42
+ export function buildHookCommand(commandPath, runtime, programArgs, workingDir) {
43
+ const runtimeArgs = runtime.args ?? [];
44
+ if (runtime.args !== undefined && (!runtime.shell || runtime.shell.length === 0)) {
45
+ throw new Error("Hook runtime args require a runtime shell");
46
+ }
47
+ const parts = runtime.shell && runtime.shell.length > 0
48
+ ? [runtime.shell, ...runtimeArgs, commandPath, ...programArgs]
49
+ : [commandPath, ...runtimeArgs, ...programArgs];
50
+ const command = parts.join(" ");
51
+ if (!workingDir || workingDir === "inherit") {
52
+ return command;
53
+ }
54
+ return `cd ${workingDir} && ${command}`;
55
+ }
56
+ //# sourceMappingURL=hook-arguments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-arguments.js","sourceRoot":"","sources":["../../src/core/hook-arguments.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,6 @@
3
3
  *
4
4
  * Produces a stable hash for a hook program config + binding overrides.
5
5
  */
6
- import type { HookProgramConfig, HookBinding } from "./types.js";
7
- export declare function hashHookConfig(program: HookProgramConfig, binding: HookBinding): string;
6
+ import type { HookProgramConfig } from "./types.js";
7
+ export declare function hashHookProgram(program: HookProgramConfig, entryContents?: string | Buffer): string;
8
8
  //# sourceMappingURL=hook-instance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook-instance.d.ts","sourceRoot":"","sources":["../../src/core/hook-instance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAsDjE,wBAAgB,cAAc,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CASvF"}
1
+ {"version":3,"file":"hook-instance.d.ts","sourceRoot":"","sources":["../../src/core/hook-instance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA6CpD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAC9B,MAAM,CAcR"}
@@ -39,21 +39,17 @@ function normalizeProgram(config) {
39
39
  error_codes: config.io.error_codes ?? null,
40
40
  },
41
41
  env: config.env ?? null,
42
+ args: config.args ?? null,
42
43
  };
43
44
  }
44
- function normalizeBinding(binding) {
45
- return {
46
- event: binding.event,
47
- matcher: binding.matcher ?? null,
48
- policy: binding.policy ?? null,
49
- runtime: binding.runtime ?? null,
50
- env: binding.env ?? null,
51
- };
52
- }
53
- export function hashHookConfig(program, binding) {
45
+ export function hashHookProgram(program, entryContents) {
54
46
  const payload = {
55
47
  program: normalizeProgram(program),
56
- binding: normalizeBinding(binding),
48
+ entryContents: entryContents === undefined
49
+ ? null
50
+ : typeof entryContents === "string"
51
+ ? entryContents
52
+ : entryContents.toString("base64"),
57
53
  };
58
54
  const content = stableStringify(payload);
59
55
  const digest = createHash("sha256").update(content).digest("hex");