@ranimontagna/agent-toolkit 0.1.31 → 0.2.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 (49) hide show
  1. package/README.md +14 -17
  2. package/dist/src/installers/agent-browser.js +4 -4
  3. package/dist/src/installers/agent-browser.js.map +1 -1
  4. package/dist/src/installers/agent-skills.d.ts +14 -0
  5. package/dist/src/installers/agent-skills.js +157 -0
  6. package/dist/src/installers/agent-skills.js.map +1 -0
  7. package/dist/src/lock-update.js +6 -31
  8. package/dist/src/lock-update.js.map +1 -1
  9. package/dist/src/main.js +4 -6
  10. package/dist/src/main.js.map +1 -1
  11. package/dist/src/manifest.d.ts +5 -1
  12. package/dist/src/manifest.js +405 -17
  13. package/dist/src/manifest.js.map +1 -1
  14. package/dist/src/provenance.d.ts +2 -0
  15. package/dist/src/provenance.js +30 -14
  16. package/dist/src/provenance.js.map +1 -1
  17. package/dist/src/release.d.ts +12 -1
  18. package/dist/src/release.js +126 -10
  19. package/dist/src/release.js.map +1 -1
  20. package/dist/src/runtimes.d.ts +7 -0
  21. package/dist/src/runtimes.js +36 -15
  22. package/dist/src/runtimes.js.map +1 -1
  23. package/dist/src/skill-targets.d.ts +9 -0
  24. package/dist/src/skill-targets.js +45 -0
  25. package/dist/src/skill-targets.js.map +1 -0
  26. package/dist/src/skills.js +11 -45
  27. package/dist/src/skills.js.map +1 -1
  28. package/dist/src/state.d.ts +3 -26
  29. package/dist/src/state.js +3 -67
  30. package/dist/src/state.js.map +1 -1
  31. package/dist/src/status.js +18 -3
  32. package/dist/src/status.js.map +1 -1
  33. package/dist/src/system.d.ts +6 -2
  34. package/dist/src/system.js +207 -36
  35. package/dist/src/system.js.map +1 -1
  36. package/dist/src/tool-lock.d.ts +20 -65
  37. package/dist/src/tool-lock.js +73 -37
  38. package/dist/src/tool-lock.js.map +1 -1
  39. package/package.json +4 -4
  40. package/tools.lock.json +101 -64
  41. package/dist/src/installers/frontend-skills.d.ts +0 -9
  42. package/dist/src/installers/frontend-skills.js +0 -98
  43. package/dist/src/installers/frontend-skills.js.map +0 -1
  44. package/dist/src/installers/improve.d.ts +0 -1
  45. package/dist/src/installers/improve.js +0 -80
  46. package/dist/src/installers/improve.js.map +0 -1
  47. package/dist/src/installers/planning-skills.d.ts +0 -1
  48. package/dist/src/installers/planning-skills.js +0 -6
  49. package/dist/src/installers/planning-skills.js.map +0 -1
@@ -1,9 +1,149 @@
1
+ import childProcess from "node:child_process";
1
2
  import fs from "node:fs";
2
3
  import path from "node:path";
3
4
  import { HOME } from "./context.js";
4
- import { ok, warn } from "./logger.js";
5
+ import { InstallerError, ok, warn } from "./logger.js";
6
+ import { canonicalPathsEqual, resolveSkillTargetDirs, } from "./skill-targets.js";
5
7
  import { runtimeNames, state, } from "./state.js";
6
8
  let pendingManifest = null;
9
+ const SAFE_REMOVAL_HELPER_SOURCE = String.raw `
10
+ "use strict";
11
+ const crypto = require("node:crypto");
12
+ const fs = require("node:fs");
13
+ const path = require("node:path");
14
+
15
+ let basename;
16
+ let tombstone;
17
+ let renamed = false;
18
+
19
+ function filesystemType(stats) {
20
+ if (stats.isBlockDevice()) return "block-device";
21
+ if (stats.isCharacterDevice()) return "character-device";
22
+ if (stats.isDirectory()) return "directory";
23
+ if (stats.isFIFO()) return "fifo";
24
+ if (stats.isFile()) return "file";
25
+ if (stats.isSocket()) return "socket";
26
+ if (stats.isSymbolicLink()) return "symbolic-link";
27
+ return "unknown";
28
+ }
29
+
30
+ function identity(stats) {
31
+ return {
32
+ dev: stats.dev.toString(),
33
+ ino: stats.ino.toString(),
34
+ type: filesystemType(stats),
35
+ };
36
+ }
37
+
38
+ function validIdentity(value) {
39
+ return (
40
+ value !== null &&
41
+ typeof value === "object" &&
42
+ typeof value.dev === "string" &&
43
+ typeof value.ino === "string" &&
44
+ typeof value.type === "string"
45
+ );
46
+ }
47
+
48
+ function sameIdentity(left, right) {
49
+ return (
50
+ left.dev === right.dev &&
51
+ left.ino === right.ino &&
52
+ left.type === right.type
53
+ );
54
+ }
55
+
56
+ function directBasename(value) {
57
+ return (
58
+ typeof value === "string" &&
59
+ value.length > 0 &&
60
+ value !== "." &&
61
+ value !== ".." &&
62
+ !value.includes("/") &&
63
+ !path.isAbsolute(value) &&
64
+ path.basename(value) === value
65
+ );
66
+ }
67
+
68
+ function isAbsent(value) {
69
+ try {
70
+ fs.lstatSync(value);
71
+ return false;
72
+ } catch (error) {
73
+ if (error && error.code === "ENOENT") return true;
74
+ throw error;
75
+ }
76
+ }
77
+
78
+ function rollback() {
79
+ if (!renamed || !directBasename(basename) || !directBasename(tombstone)) {
80
+ return;
81
+ }
82
+ try {
83
+ if (isAbsent(basename)) fs.renameSync(tombstone, basename);
84
+ } catch {}
85
+ }
86
+
87
+ try {
88
+ const payload = JSON.parse(process.argv[1] || "null");
89
+ if (
90
+ payload === null ||
91
+ typeof payload !== "object" ||
92
+ !directBasename(payload.basename) ||
93
+ !validIdentity(payload.rootIdentity) ||
94
+ !validIdentity(payload.destinationIdentity)
95
+ ) {
96
+ throw new Error("invalid payload");
97
+ }
98
+ basename = payload.basename;
99
+
100
+ const rootStats = fs.statSync(".", { bigint: true });
101
+ if (
102
+ !rootStats.isDirectory() ||
103
+ !sameIdentity(identity(rootStats), payload.rootIdentity)
104
+ ) {
105
+ throw new Error("root identity changed");
106
+ }
107
+
108
+ const rootCanonical = fs.realpathSync(".");
109
+ const childStats = fs.lstatSync(basename, { bigint: true });
110
+ if (!sameIdentity(identity(childStats), payload.destinationIdentity)) {
111
+ throw new Error("destination identity changed");
112
+ }
113
+ const childCanonical = fs.realpathSync(basename);
114
+ if (path.dirname(childCanonical) !== rootCanonical) {
115
+ throw new Error("destination escaped root");
116
+ }
117
+
118
+ tombstone =
119
+ ".agent-toolkit-remove-" +
120
+ process.pid +
121
+ "-" +
122
+ crypto.randomBytes(16).toString("hex");
123
+ if (!directBasename(tombstone) || !isAbsent(tombstone)) {
124
+ throw new Error("invalid tombstone");
125
+ }
126
+
127
+ fs.renameSync(basename, tombstone);
128
+ renamed = true;
129
+
130
+ const tombstoneStats = fs.lstatSync(tombstone, { bigint: true });
131
+ if (!sameIdentity(identity(tombstoneStats), payload.destinationIdentity)) {
132
+ throw new Error("renamed destination identity changed");
133
+ }
134
+ const tombstoneCanonical = fs.realpathSync(tombstone);
135
+ if (path.dirname(tombstoneCanonical) !== rootCanonical) {
136
+ throw new Error("renamed destination escaped root");
137
+ }
138
+
139
+ fs.rmSync(tombstone, { recursive: true, force: true });
140
+ renamed = false;
141
+ } catch {
142
+ rollback();
143
+ process.stderr.write("safe removal rejected\n");
144
+ process.exitCode = 1;
145
+ }
146
+ `;
7
147
  function now() {
8
148
  return new Date().toISOString();
9
149
  }
@@ -21,14 +161,80 @@ export function createManifest(scope) {
21
161
  entries: [],
22
162
  };
23
163
  }
24
- function readManifest(filePath = manifestPathForScope(state.gsdScope)) {
164
+ function isRecord(value) {
165
+ return typeof value === "object" && value !== null && !Array.isArray(value);
166
+ }
167
+ function isRuntimeName(value) {
168
+ return (typeof value === "string" &&
169
+ runtimeNames.some((runtime) => runtime === value));
170
+ }
171
+ function isInstallScope(value) {
172
+ return value === "local" || value === "global";
173
+ }
174
+ function isTimestamp(value) {
175
+ return (typeof value === "string" &&
176
+ value.trim().length > 0 &&
177
+ Number.isFinite(Date.parse(value)));
178
+ }
179
+ function invalidManifest(filePath, reason) {
180
+ return new InstallerError(`Invalid Agent Toolkit manifest at ${filePath}: ${reason}`);
181
+ }
182
+ function validateManifestDocument(value, expectedScope, filePath) {
183
+ if (!isRecord(value))
184
+ throw invalidManifest(filePath, "root must be an object");
185
+ if (value.version !== 1)
186
+ throw invalidManifest(filePath, "version must be 1");
187
+ if (!isInstallScope(value.scope))
188
+ throw invalidManifest(filePath, "scope must be local or global");
189
+ if (value.scope !== expectedScope)
190
+ throw invalidManifest(filePath, `scope must be ${expectedScope}`);
191
+ if (!isTimestamp(value.generatedAt))
192
+ throw invalidManifest(filePath, "generatedAt must be a valid timestamp");
193
+ if (!Array.isArray(value.entries))
194
+ throw invalidManifest(filePath, "entries must be an array");
195
+ const entries = value.entries.map((rawEntry, index) => {
196
+ const prefix = `entries[${index}]`;
197
+ if (!isRecord(rawEntry))
198
+ throw invalidManifest(filePath, `${prefix} must be an object`);
199
+ if (rawEntry.kind !== "skill")
200
+ throw invalidManifest(filePath, `${prefix}.kind must be skill`);
201
+ if (!isRuntimeName(rawEntry.runtime))
202
+ throw invalidManifest(filePath, `${prefix}.runtime is unsupported`);
203
+ if (typeof rawEntry.source !== "string" ||
204
+ rawEntry.source.trim().length === 0)
205
+ throw invalidManifest(filePath, `${prefix}.source must be non-empty`);
206
+ if (typeof rawEntry.destination !== "string" ||
207
+ !path.isAbsolute(rawEntry.destination))
208
+ throw invalidManifest(filePath, `${prefix}.destination must be absolute`);
209
+ if (!isTimestamp(rawEntry.installedAt))
210
+ throw invalidManifest(filePath, `${prefix}.installedAt must be a valid timestamp`);
211
+ return {
212
+ kind: "skill",
213
+ runtime: rawEntry.runtime,
214
+ source: rawEntry.source,
215
+ destination: rawEntry.destination,
216
+ installedAt: rawEntry.installedAt,
217
+ };
218
+ });
219
+ return {
220
+ version: 1,
221
+ scope: value.scope,
222
+ generatedAt: value.generatedAt,
223
+ entries,
224
+ };
225
+ }
226
+ export function readManifest(filePath = manifestPathForScope(state.gsdScope), expectedScope = state.gsdScope) {
25
227
  if (!fs.existsSync(filePath))
26
- return createManifest(state.gsdScope);
27
- const parsed = JSON.parse(fs.readFileSync(filePath, "utf8"));
28
- if (parsed.version !== 1 || !Array.isArray(parsed.entries)) {
29
- throw new Error(`Unsupported Agent Toolkit manifest: ${filePath}`);
228
+ return createManifest(expectedScope);
229
+ const raw = fs.readFileSync(filePath, "utf8");
230
+ let parsed;
231
+ try {
232
+ parsed = JSON.parse(raw);
30
233
  }
31
- return parsed;
234
+ catch {
235
+ throw invalidManifest(filePath, "invalid JSON");
236
+ }
237
+ return validateManifestDocument(parsed, expectedScope, filePath);
32
238
  }
33
239
  function writeManifest(manifest, filePath = manifestPathForScope(manifest.scope)) {
34
240
  manifest.generatedAt = now();
@@ -38,8 +244,9 @@ function writeManifest(manifest, filePath = manifestPathForScope(manifest.scope)
38
244
  }
39
245
  export function upsertManifestEntry(manifest, entry) {
40
246
  const installedAt = now();
41
- const existingIndex = manifest.entries.findIndex((current) => current.destination === entry.destination);
42
- const nextEntry = { ...entry, installedAt };
247
+ const destination = path.resolve(entry.destination);
248
+ const existingIndex = manifest.entries.findIndex((current) => current.destination === destination);
249
+ const nextEntry = { ...entry, destination, installedAt };
43
250
  if (existingIndex === -1) {
44
251
  manifest.entries.push(nextEntry);
45
252
  }
@@ -63,9 +270,177 @@ export function savePendingManifest() {
63
270
  ok(`Wrote install manifest at ${manifestPathForScope(pendingManifest.scope)}`);
64
271
  pendingManifest = null;
65
272
  }
66
- export function removeManifestEntries(manifest, options) {
273
+ function errorCode(error) {
274
+ return isRecord(error) && typeof error.code === "string"
275
+ ? error.code
276
+ : undefined;
277
+ }
278
+ function normalizeAbsolute(input, cwd) {
279
+ return path.normalize(path.isAbsolute(input) ? input : path.resolve(cwd, input));
280
+ }
281
+ function hasParentTraversal(input) {
282
+ return input.split(/[\\/]+/).includes("..");
283
+ }
284
+ function isProperDescendant(parent, child) {
285
+ const relative = path.relative(parent, child);
286
+ return (relative.length > 0 &&
287
+ !path.isAbsolute(relative) &&
288
+ relative !== ".." &&
289
+ !relative.startsWith(`..${path.sep}`));
290
+ }
291
+ function canonicalizeAllowMissing(input) {
292
+ let current = path.resolve(input);
293
+ const missingSegments = [];
294
+ while (true) {
295
+ try {
296
+ fs.lstatSync(current);
297
+ }
298
+ catch (error) {
299
+ if (errorCode(error) !== "ENOENT")
300
+ throw error;
301
+ const parent = path.dirname(current);
302
+ if (parent === current)
303
+ throw error;
304
+ missingSegments.unshift(path.basename(current));
305
+ current = parent;
306
+ continue;
307
+ }
308
+ const canonicalExisting = fs.realpathSync(current);
309
+ return path.resolve(canonicalExisting, ...missingSegments);
310
+ }
311
+ }
312
+ function filesystemType(stats) {
313
+ if (stats.isBlockDevice())
314
+ return "block-device";
315
+ if (stats.isCharacterDevice())
316
+ return "character-device";
317
+ if (stats.isDirectory())
318
+ return "directory";
319
+ if (stats.isFIFO())
320
+ return "fifo";
321
+ if (stats.isFile())
322
+ return "file";
323
+ if (stats.isSocket())
324
+ return "socket";
325
+ if (stats.isSymbolicLink())
326
+ return "symbolic-link";
327
+ return "unknown";
328
+ }
329
+ function filesystemIdentity(stats) {
330
+ return {
331
+ dev: stats.dev.toString(),
332
+ ino: stats.ino.toString(),
333
+ type: filesystemType(stats),
334
+ };
335
+ }
336
+ function inspectDestination(destination) {
337
+ try {
338
+ const stats = fs.lstatSync(destination, { bigint: true });
339
+ return { exists: true, identity: filesystemIdentity(stats) };
340
+ }
341
+ catch (error) {
342
+ if (errorCode(error) === "ENOENT")
343
+ return { exists: false };
344
+ throw error;
345
+ }
346
+ }
347
+ function unsafeDestination(runtime, reason) {
348
+ return new InstallerError(`Unsafe manifest destination for ${runtime}: ${reason}. Review the manifest manually.`);
349
+ }
350
+ function validateRemovalEntry(entry, context) {
351
+ if (!path.isAbsolute(entry.destination))
352
+ throw unsafeDestination(entry.runtime, "destination is not absolute");
353
+ if (hasParentTraversal(entry.destination))
354
+ throw unsafeDestination(entry.runtime, "destination contains parent traversal");
355
+ const destination = normalizeAbsolute(entry.destination, context.cwd);
356
+ const roots = resolveSkillTargetDirs(entry.runtime, context).map((root) => normalizeAbsolute(root, context.cwd));
357
+ const lexicalRoot = roots.find((root) => path.basename(destination).length > 0 &&
358
+ canonicalPathsEqual(path.dirname(destination), root));
359
+ if (!lexicalRoot)
360
+ throw unsafeDestination(entry.runtime, "destination is not a direct child of a current skills root");
361
+ let destinationInspection;
362
+ try {
363
+ destinationInspection = inspectDestination(destination);
364
+ }
365
+ catch {
366
+ throw unsafeDestination(entry.runtime, "destination cannot be inspected");
367
+ }
368
+ if (!destinationInspection.exists && context.scope === "global") {
369
+ return { destination, existedAtPreflight: false };
370
+ }
371
+ let canonicalRoot;
372
+ try {
373
+ canonicalRoot = canonicalizeAllowMissing(lexicalRoot);
374
+ }
375
+ catch {
376
+ throw unsafeDestination(entry.runtime, "skills root cannot be canonicalized");
377
+ }
378
+ if (context.scope === "local") {
379
+ let canonicalCwd;
380
+ try {
381
+ canonicalCwd = fs.realpathSync(context.cwd);
382
+ }
383
+ catch {
384
+ throw unsafeDestination(entry.runtime, "cwd cannot be canonicalized");
385
+ }
386
+ if (!isProperDescendant(canonicalCwd, canonicalRoot))
387
+ throw unsafeDestination(entry.runtime, "skills root is outside canonical cwd");
388
+ }
389
+ if (!destinationInspection.exists) {
390
+ return { destination, existedAtPreflight: false };
391
+ }
392
+ let rootStats;
393
+ let canonicalDestination;
394
+ try {
395
+ rootStats = fs.statSync(canonicalRoot, { bigint: true });
396
+ canonicalDestination = fs.realpathSync(destination);
397
+ }
398
+ catch {
399
+ throw unsafeDestination(entry.runtime, "existing destination cannot be canonicalized");
400
+ }
401
+ if (!rootStats.isDirectory())
402
+ throw unsafeDestination(entry.runtime, "skills root is not a directory");
403
+ if (!canonicalPathsEqual(path.dirname(canonicalDestination), canonicalRoot))
404
+ throw unsafeDestination(entry.runtime, "canonical destination escapes the canonical skills root");
405
+ return {
406
+ destination,
407
+ existedAtPreflight: true,
408
+ canonicalRoot,
409
+ basename: path.basename(destination),
410
+ rootIdentity: filesystemIdentity(rootStats),
411
+ destinationIdentity: destinationInspection.identity,
412
+ };
413
+ }
414
+ function runSafeRemovalHelper(item) {
415
+ const payload = JSON.stringify({
416
+ basename: item.basename,
417
+ rootIdentity: item.rootIdentity,
418
+ destinationIdentity: item.destinationIdentity,
419
+ });
420
+ const result = childProcess.spawnSync(process.execPath, ["--input-type=commonjs", "-e", SAFE_REMOVAL_HELPER_SOURCE, payload], {
421
+ cwd: item.canonicalRoot,
422
+ encoding: "utf8",
423
+ maxBuffer: 64 * 1024,
424
+ shell: false,
425
+ stdio: ["ignore", "ignore", "pipe"],
426
+ timeout: 30_000,
427
+ });
428
+ if (result.error) {
429
+ throw new InstallerError("Safe removal helper could not start. The manifest was preserved for retry.");
430
+ }
431
+ if (result.status !== 0) {
432
+ throw new InstallerError("Safe removal helper rejected a filesystem identity or containment change. The manifest was preserved for retry.");
433
+ }
434
+ }
435
+ function preflightManifestRemoval(manifest, options) {
436
+ const context = {
437
+ scope: manifest.scope,
438
+ cwd: path.resolve(options.cwd ?? process.cwd()),
439
+ home: path.resolve(options.home ?? HOME),
440
+ env: options.env ?? process.env,
441
+ };
67
442
  const selectedRuntimes = new Set(options.runtimes);
68
- const removed = [];
443
+ const selected = [];
69
444
  const remaining = [];
70
445
  for (const entry of manifest.entries) {
71
446
  const shouldRemove = options.includeSkills &&
@@ -75,12 +450,22 @@ export function removeManifestEntries(manifest, options) {
75
450
  remaining.push(entry);
76
451
  continue;
77
452
  }
78
- if (!options.dryRun) {
79
- fs.rmSync(entry.destination, { recursive: true, force: true });
80
- }
81
- removed.push(entry.destination);
453
+ selected.push(validateRemovalEntry(entry, context));
454
+ }
455
+ return { selected, remaining };
456
+ }
457
+ export function removeManifestEntries(manifest, options) {
458
+ const validatedManifest = validateManifestDocument(manifest, manifest.scope, "in-memory manifest");
459
+ const plan = preflightManifestRemoval(validatedManifest, options);
460
+ const removed = plan.selected.map((item) => item.destination);
461
+ if (options.dryRun)
462
+ return removed;
463
+ for (const item of plan.selected) {
464
+ if (!item.existedAtPreflight)
465
+ continue;
466
+ runSafeRemovalHelper(item);
82
467
  }
83
- manifest.entries = remaining;
468
+ manifest.entries = plan.remaining;
84
469
  return removed;
85
470
  }
86
471
  export function uninstallFromManifest() {
@@ -89,12 +474,15 @@ export function uninstallFromManifest() {
89
474
  warn(`No Agent Toolkit manifest found at ${filePath}`);
90
475
  return true;
91
476
  }
92
- const manifest = readManifest(filePath);
477
+ const manifest = readManifest(filePath, state.gsdScope);
93
478
  const selectedRuntimes = runtimeNames.filter((runtime) => state.runtimes[runtime]);
94
479
  const removed = removeManifestEntries(manifest, {
95
480
  runtimes: selectedRuntimes,
96
481
  includeSkills: state.tools.skills,
97
482
  dryRun: state.dryRun,
483
+ cwd: process.cwd(),
484
+ home: HOME,
485
+ env: process.env,
98
486
  });
99
487
  if (state.dryRun) {
100
488
  if (removed.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/manifest.ts"],"names":[],"mappings":"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"}
@@ -1 +1,3 @@
1
+ export declare function normalizeAntigravityInstallUrl(input: string): string;
2
+ export declare function checkAntigravitySource(): void;
1
3
  export declare function checkExternalToolProvenance(): void;
@@ -57,21 +57,39 @@ function checkToolsLockOverride() {
57
57
  "which bypasses every checksum and ref pinned by this package. " +
58
58
  "Unset it or pass --allow-mutable-sources.");
59
59
  }
60
- function checkAntigravitySource() {
60
+ export function normalizeAntigravityInstallUrl(input) {
61
+ let url;
62
+ try {
63
+ if (!/^https:\/\//i.test(input))
64
+ throw new TypeError("Not an HTTPS URL");
65
+ url = new URL(input);
66
+ }
67
+ catch {
68
+ die(`ANTIGRAVITY_INSTALL_SCRIPT must be an HTTPS URL, got: ${input}. ` +
69
+ "The script is piped to bash, so plain HTTP is never allowed.");
70
+ }
71
+ if (url.protocol !== "https:" ||
72
+ !url.hostname ||
73
+ url.username !== "" ||
74
+ url.password !== "") {
75
+ die(`ANTIGRAVITY_INSTALL_SCRIPT must be an HTTPS URL, got: ${input}. ` +
76
+ "The script is piped to bash, so plain HTTP is never allowed.");
77
+ }
78
+ return url.toString();
79
+ }
80
+ export function checkAntigravitySource() {
61
81
  const script = process.env.ANTIGRAVITY_INSTALL_SCRIPT;
62
82
  if (!script)
63
83
  return;
64
- if (!script.startsWith("https:")) {
65
- die(`ANTIGRAVITY_INSTALL_SCRIPT must be an HTTPS URL, got: ${script}. ` +
66
- "The script is piped to bash, so plain HTTP is never allowed.");
67
- }
68
- if (script === DEFAULT_ANTIGRAVITY_INSTALL_SCRIPT)
84
+ const normalizedScript = normalizeAntigravityInstallUrl(script);
85
+ const normalizedDefault = normalizeAntigravityInstallUrl(DEFAULT_ANTIGRAVITY_INSTALL_SCRIPT);
86
+ if (normalizedScript === normalizedDefault)
69
87
  return;
70
88
  if (state.allowMutableSources) {
71
- warn(`Antigravity install script allowed explicitly: ${script}`);
89
+ warn(`Antigravity install script allowed explicitly: ${normalizedScript}`);
72
90
  return;
73
91
  }
74
- die(`ANTIGRAVITY_INSTALL_SCRIPT overrides the official installer URL: ${script}. ` +
92
+ die(`ANTIGRAVITY_INSTALL_SCRIPT overrides the official installer URL: ${normalizedScript}. ` +
75
93
  "The script is piped to bash. Unset it or pass --allow-mutable-sources.");
76
94
  }
77
95
  export function checkExternalToolProvenance() {
@@ -99,12 +117,10 @@ export function checkExternalToolProvenance() {
99
117
  checkIdentity("Agent Browser", state.agentBrowserPackage, lockSpec);
100
118
  checkSource("Agent Browser", state.agentBrowserPackage);
101
119
  }
102
- if (state.tools["frontend-skills"] ||
103
- state.tools["planning-skills"] ||
104
- state.tools.improve) {
105
- const lockSpec = formatNpmPackageSpec(lock.tools.frontendSkills.skillsCli.package, lock.tools.frontendSkills.skillsCli.version);
106
- checkIdentity("Agent Skills CLI", state.frontendSkillsCliPackage, lockSpec);
107
- checkSource("Agent Skills CLI", state.frontendSkillsCliPackage);
120
+ if (Object.keys(state.agentSkillsCatalog.bundles).some((bundleId) => state.tools[bundleId])) {
121
+ const lockSpec = formatNpmPackageSpec(lock.tools.agentSkills.skillsCli.package, lock.tools.agentSkills.skillsCli.version);
122
+ checkIdentity("Agent Skills CLI", state.agentSkillsCliPackage, lockSpec);
123
+ checkSource("Agent Skills CLI", state.agentSkillsCliPackage);
108
124
  }
109
125
  if (state.runtimes.antigravity)
110
126
  checkAntigravitySource();
@@ -1 +1 @@
1
- {"version":3,"file":"provenance.js","sourceRoot":"","sources":["../../src/provenance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provenance.js","sourceRoot":"","sources":["../../src/provenance.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,15 @@
1
+ import { type RunResult } from "./system.js";
1
2
  export type ReleaseKind = "patch" | "minor" | "major";
3
+ type ReleaseRunOptions = {
4
+ cwd?: string;
5
+ capture?: boolean;
6
+ };
7
+ export type ReleaseCommandRunner = (command: string, args?: string[], options?: ReleaseRunOptions) => RunResult;
8
+ export type ReleaseExecutionContext = {
9
+ repoRoot?: string;
10
+ runner?: ReleaseCommandRunner;
11
+ };
2
12
  export declare function bumpVersion(version: string, kind: ReleaseKind): string;
3
13
  export declare function updateReadmeReleaseTag(readme: string, version: string): string;
4
- export declare function runReleaseCli(argv: string[]): void;
14
+ export declare function runReleaseCli(argv: string[], context?: ReleaseExecutionContext): void;
15
+ export {};