@hasna/skills 0.10.61 → 0.10.62

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.
package/bin/index.js CHANGED
@@ -36888,7 +36888,7 @@ var package_default;
36888
36888
  var init_package = __esm(() => {
36889
36889
  package_default = {
36890
36890
  name: "@hasna/skills",
36891
- version: "0.10.61",
36891
+ version: "0.10.62",
36892
36892
  description: "Skills library for AI coding agents",
36893
36893
  type: "module",
36894
36894
  bin: {
@@ -36929,6 +36929,7 @@ var init_package = __esm(() => {
36929
36929
  "migrations/",
36930
36930
  "docs/skill-standard.md",
36931
36931
  "docs/plugin-admission.md",
36932
+ "docs/runtime-activation.md",
36932
36933
  "schemas/",
36933
36934
  "LICENSE",
36934
36935
  "README.md",
@@ -36939,8 +36940,8 @@ var init_package = __esm(() => {
36939
36940
  types: "./dist/index.d.ts",
36940
36941
  scripts: {
36941
36942
  clean: "rm -rf bin/ dist/",
36942
- build: "bun run clean && bun build --external @hasna/contracts/kernel-lock ./src/cli/index.tsx --outdir ./bin --target bun && bun build --external @modelcontextprotocol/sdk ./src/mcp/index.ts --outfile ./bin/mcp.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/index.ts --outfile ./bin/server.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/worker.ts --outfile ./bin/worker.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/migrate.ts --outfile ./bin/migrate.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/maintenance.ts --outfile ./bin/maintenance.js --target bun && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
36943
- "build:js": "rm -rf dist && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
36943
+ build: "bun run clean && bun build --external @hasna/contracts/kernel-lock ./src/cli/index.tsx --outdir ./bin --target bun && bun build --external @modelcontextprotocol/sdk ./src/mcp/index.ts --outfile ./bin/mcp.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/index.ts --outfile ./bin/server.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/worker.ts --outfile ./bin/worker.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/migrate.ts --outfile ./bin/migrate.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/maintenance.ts --outfile ./bin/maintenance.js --target bun && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts ./src/runtime-prerequisites.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
36944
+ "build:js": "rm -rf dist && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts ./src/runtime-prerequisites.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
36944
36945
  test: "bun test --timeout 30000",
36945
36946
  dev: "bun run ./src/cli/index.tsx",
36946
36947
  "dev:watch": "bun --watch run ./src/cli/index.tsx",
@@ -37017,6 +37018,10 @@ var init_package = __esm(() => {
37017
37018
  homepage: "https://github.com/hasna/skills/tree/main/apps/skills",
37018
37019
  bugs: {
37019
37020
  url: "https://github.com/hasna/skills/issues"
37021
+ },
37022
+ skillsRuntimePrerequisites: {
37023
+ version: 1,
37024
+ entry: "dist/runtime-prerequisites.js"
37020
37025
  }
37021
37026
  };
37022
37027
  });
@@ -112553,6 +112558,7 @@ var init_reviewed_runtime_lock = __esm(() => {
112553
112558
  import { createHash as createHash36, randomUUID as randomUUID10 } from "crypto";
112554
112559
  import { Readable } from "stream";
112555
112560
  import { createGunzip as createGunzip2 } from "zlib";
112561
+ import { spawnSync as spawnSync5 } from "child_process";
112556
112562
  import {
112557
112563
  chmodSync as chmodSync4,
112558
112564
  copyFileSync,
@@ -112611,6 +112617,64 @@ function pinnedRecordFields(runtime, cwd2, target, profile) {
112611
112617
  const state = pinnedLauncherState(runtime, cwd2, target, { format: "v2", profile });
112612
112618
  return { newShape: "pinned", newRuntime: state.runtime, newCwd: state.cwd, newSha256: state.sha256, newFormat: state.format, newProfile: state.profile };
112613
112619
  }
112620
+ function verifyTargetPrerequisites(manifest, packageRoot, home, cwd2, pathValue) {
112621
+ const declaration = manifest.skillsRuntimePrerequisites;
112622
+ if (declaration === undefined)
112623
+ return { status: "not-declared" };
112624
+ const contract = object10(declaration, "RUNTIME_PREREQUISITE_CONTRACT_INVALID");
112625
+ if (Object.keys(contract).length !== 2 || contract.version !== 1 || contract.entry !== "dist/runtime-prerequisites.js") {
112626
+ throw new Error("RUNTIME_PREREQUISITE_CONTRACT_INVALID");
112627
+ }
112628
+ const entry = join61(packageRoot, contract.entry);
112629
+ if (!entryExists(entry) || !lstatSync33(entry).isFile() || lstatSync33(entry).isSymbolicLink())
112630
+ throw new Error("RUNTIME_PREREQUISITE_ENTRY_MISSING");
112631
+ const entrySha256 = hash5(readFileSync40(entry));
112632
+ const env3 = { HOME: home, PATH: pathValue, BUN_RUNTIME_TRANSPILER_CACHE_PATH: "0" };
112633
+ for (const key of ["HASNA_SKILLS_DIR", "HASNA_SKILLS_HOME", "SKILLS_HOME", "HASNA_DATA_HOME", "XDG_DATA_HOME", "XDG_CONFIG_HOME", "XDG_CACHE_HOME", "XDG_STATE_HOME", "SUMI_HOME", "SUMI_CONFIG_DIR", "HERMES_HOME"]) {
112634
+ if (process.env[key] !== undefined)
112635
+ env3[key] = process.env[key];
112636
+ }
112637
+ for (const key of ["SUMI_CONFIG", "SUMI_CONFIG_CONTENT"])
112638
+ if (process.env[key] !== undefined)
112639
+ env3[key] = "";
112640
+ const child2 = spawnSync5(pinnedLauncherRuntime(), [...PINNED_LAUNCHER_BUN_FLAGS2, entry, home, cwd2], {
112641
+ cwd: dirname34(packageRoot),
112642
+ env: env3,
112643
+ encoding: "buffer",
112644
+ timeout: 5000,
112645
+ maxBuffer: 128 * 1024,
112646
+ shell: false
112647
+ });
112648
+ if (child2.error || child2.signal || !child2.stdout || child2.stderr?.byteLength)
112649
+ throw new Error("RUNTIME_PREREQUISITE_CHECK_UNAVAILABLE");
112650
+ let result2;
112651
+ try {
112652
+ result2 = object10(JSON.parse(child2.stdout.toString("utf8")), "RUNTIME_PREREQUISITE_RESPONSE_INVALID");
112653
+ } catch {
112654
+ throw new Error("RUNTIME_PREREQUISITE_RESPONSE_INVALID");
112655
+ }
112656
+ if (Object.keys(result2).length !== 5 || result2.schema !== "skills.runtime-prerequisites.v1" || result2.targetVersion !== manifest.version || typeof result2.ok !== "boolean" || !Array.isArray(result2.checked) || result2.checked.length > 1 || result2.checked.some((value) => value !== "sumi-paths"))
112657
+ throw new Error("RUNTIME_PREREQUISITE_RESPONSE_INVALID");
112658
+ const codes = [
112659
+ "RUNTIME_CONSUMER_DISCOVERY_REFUSED",
112660
+ "RUNTIME_PREREQUISITE_INPUT_REFUSED",
112661
+ "SUMI_PATH_INPUT_REFUSED",
112662
+ "SUMI_PATH_CONFIG_UNSUPPORTED",
112663
+ "SUMI_PATH_RESOLVER_UNAVAILABLE",
112664
+ "SUMI_PATH_RESOLVER_INVALID_RESPONSE",
112665
+ "SUMI_PATH_DISCOVERY_REFUSED"
112666
+ ];
112667
+ if (!result2.ok) {
112668
+ if (child2.status !== 2 || typeof result2.code !== "string" || !codes.includes(result2.code))
112669
+ throw new Error("RUNTIME_PREREQUISITE_RESPONSE_INVALID");
112670
+ throw new Error(`RUNTIME_PREREQUISITE_REFUSED_${result2.code}`);
112671
+ }
112672
+ if (child2.status !== 0 || result2.code !== null)
112673
+ throw new Error("RUNTIME_PREREQUISITE_RESPONSE_INVALID");
112674
+ if (hash5(readFileSync40(entry)) !== entrySha256)
112675
+ throw new Error("RUNTIME_PREREQUISITE_ENTRY_CHANGED");
112676
+ return { status: "verified", schema: result2.schema, targetVersion: result2.targetVersion, entry: contract.entry, entrySha256, checked: result2.checked };
112677
+ }
112614
112678
  function object10(value, code2) {
112615
112679
  if (!value || typeof value !== "object" || Array.isArray(value))
112616
112680
  throw new Error(code2);
@@ -113730,6 +113794,15 @@ async function updateCopyfileRuntime(version2, options = {}) {
113730
113794
  rollbackCompletedLaunchers: []
113731
113795
  };
113732
113796
  writeJsonPrivate(join61(stagePath, "rollout-receipt.json"), receipt);
113797
+ try {
113798
+ receipt.prerequisites = verifyTargetPrerequisites(installed.data, installedPackage, home, resolve29(options.cwd ?? process.env[LAUNCH_CWD_VARIABLE3] ?? process.cwd()), options.pathValue ?? process.env.PATH ?? "");
113799
+ } catch (error61) {
113800
+ const code2 = error61 instanceof Error && /^RUNTIME_PREREQUISITE_[A-Z_]+$/.test(error61.message) ? error61.message : "RUNTIME_PREREQUISITE_CHECK_UNAVAILABLE";
113801
+ receipt.prerequisites = { status: "refused", code: code2 };
113802
+ persistReceipt(join61(stagePath, "rollout-receipt.json"), receipt);
113803
+ throw new Error(code2);
113804
+ }
113805
+ persistReceipt(join61(stagePath, "rollout-receipt.json"), receipt);
113733
113806
  const finalNodeModules = join61(stagePackage, "node_modules");
113734
113807
  const stagedNodeModules = join61(stagePath, "node_modules");
113735
113808
  renameSync14(finalNodeModules, stagedNodeModules);
@@ -113763,7 +113836,7 @@ async function updateCopyfileRuntime(version2, options = {}) {
113763
113836
  }
113764
113837
  receipt.state = "switched";
113765
113838
  persistReceipt(join61(finalPath, "rollout-receipt.json"), receipt);
113766
- return { updated: true, version: version2, currentVersion: layout.currentVersion, receiptId: id2, runtimeRoot: finalPath, tarballSha256: artifact.sha256, tarballIntegrity: artifact.integrity, runtimeTreeSha256: stagedTree.digest, launcherCount: launchers.length, configCount: configPreimages.length, ...policy ? { dependencyPolicy: { ...policy, npmVersion } } : {}, ...reviewedLockBytes ? { reviewedLockSha256: options.reviewedLockSha256 } : {} };
113839
+ return { updated: true, version: version2, currentVersion: layout.currentVersion, receiptId: id2, runtimeRoot: finalPath, tarballSha256: artifact.sha256, tarballIntegrity: artifact.integrity, runtimeTreeSha256: stagedTree.digest, launcherCount: launchers.length, configCount: configPreimages.length, prerequisites: receipt.prerequisites, ...policy ? { dependencyPolicy: { ...policy, npmVersion } } : {}, ...reviewedLockBytes ? { reviewedLockSha256: options.reviewedLockSha256 } : {} };
113767
113840
  } catch (error61) {
113768
113841
  if (switched.length > 0 || moved) {
113769
113842
  let rollbackFailed = false;
@@ -116239,7 +116312,7 @@ function detectedIntegrationAgents(options = {}) {
116239
116312
  const adapter = AGENT_ADAPTERS[agent];
116240
116313
  return present(join65(home, dirname37(adapter.config))) || NATIVE_SKILL_ROOTS.some(([provider, root2]) => provider === agent && dirname37(root2) === `.${agent}` && present(join65(home, dirname37(root2))));
116241
116314
  });
116242
- if (!selected.length)
116315
+ if (!selected.length && !options.allowEmpty)
116243
116316
  throw new Error(`No configured or detected agents; select --agent <agent> explicitly (${INTEGRATION_AGENTS.join(", ")}).`);
116244
116317
  return selected;
116245
116318
  }
package/bin/mcp.js CHANGED
@@ -23,7 +23,7 @@ var package_default;
23
23
  var init_package = __esm(() => {
24
24
  package_default = {
25
25
  name: "@hasna/skills",
26
- version: "0.10.61",
26
+ version: "0.10.62",
27
27
  description: "Skills library for AI coding agents",
28
28
  type: "module",
29
29
  bin: {
@@ -64,6 +64,7 @@ var init_package = __esm(() => {
64
64
  "migrations/",
65
65
  "docs/skill-standard.md",
66
66
  "docs/plugin-admission.md",
67
+ "docs/runtime-activation.md",
67
68
  "schemas/",
68
69
  "LICENSE",
69
70
  "README.md",
@@ -74,8 +75,8 @@ var init_package = __esm(() => {
74
75
  types: "./dist/index.d.ts",
75
76
  scripts: {
76
77
  clean: "rm -rf bin/ dist/",
77
- build: "bun run clean && bun build --external @hasna/contracts/kernel-lock ./src/cli/index.tsx --outdir ./bin --target bun && bun build --external @modelcontextprotocol/sdk ./src/mcp/index.ts --outfile ./bin/mcp.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/index.ts --outfile ./bin/server.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/worker.ts --outfile ./bin/worker.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/migrate.ts --outfile ./bin/migrate.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/maintenance.ts --outfile ./bin/maintenance.js --target bun && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
78
- "build:js": "rm -rf dist && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
78
+ build: "bun run clean && bun build --external @hasna/contracts/kernel-lock ./src/cli/index.tsx --outdir ./bin --target bun && bun build --external @modelcontextprotocol/sdk ./src/mcp/index.ts --outfile ./bin/mcp.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/index.ts --outfile ./bin/server.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/worker.ts --outfile ./bin/worker.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/migrate.ts --outfile ./bin/migrate.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/maintenance.ts --outfile ./bin/maintenance.js --target bun && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts ./src/runtime-prerequisites.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
79
+ "build:js": "rm -rf dist && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts ./src/runtime-prerequisites.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
79
80
  test: "bun test --timeout 30000",
80
81
  dev: "bun run ./src/cli/index.tsx",
81
82
  "dev:watch": "bun --watch run ./src/cli/index.tsx",
@@ -152,6 +153,10 @@ var init_package = __esm(() => {
152
153
  homepage: "https://github.com/hasna/skills/tree/main/apps/skills",
153
154
  bugs: {
154
155
  url: "https://github.com/hasna/skills/issues"
156
+ },
157
+ skillsRuntimePrerequisites: {
158
+ version: 1,
159
+ entry: "dist/runtime-prerequisites.js"
155
160
  }
156
161
  };
157
162
  });
package/bin/migrate.js CHANGED
@@ -25,7 +25,7 @@ import { join as join5 } from "path";
25
25
  // package.json
26
26
  var package_default = {
27
27
  name: "@hasna/skills",
28
- version: "0.10.61",
28
+ version: "0.10.62",
29
29
  description: "Skills library for AI coding agents",
30
30
  type: "module",
31
31
  bin: {
@@ -66,6 +66,7 @@ var package_default = {
66
66
  "migrations/",
67
67
  "docs/skill-standard.md",
68
68
  "docs/plugin-admission.md",
69
+ "docs/runtime-activation.md",
69
70
  "schemas/",
70
71
  "LICENSE",
71
72
  "README.md",
@@ -76,8 +77,8 @@ var package_default = {
76
77
  types: "./dist/index.d.ts",
77
78
  scripts: {
78
79
  clean: "rm -rf bin/ dist/",
79
- build: "bun run clean && bun build --external @hasna/contracts/kernel-lock ./src/cli/index.tsx --outdir ./bin --target bun && bun build --external @modelcontextprotocol/sdk ./src/mcp/index.ts --outfile ./bin/mcp.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/index.ts --outfile ./bin/server.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/worker.ts --outfile ./bin/worker.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/migrate.ts --outfile ./bin/migrate.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/maintenance.ts --outfile ./bin/maintenance.js --target bun && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
80
- "build:js": "rm -rf dist && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
80
+ build: "bun run clean && bun build --external @hasna/contracts/kernel-lock ./src/cli/index.tsx --outdir ./bin --target bun && bun build --external @modelcontextprotocol/sdk ./src/mcp/index.ts --outfile ./bin/mcp.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/index.ts --outfile ./bin/server.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/worker.ts --outfile ./bin/worker.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/migrate.ts --outfile ./bin/migrate.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/maintenance.ts --outfile ./bin/maintenance.js --target bun && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts ./src/runtime-prerequisites.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
81
+ "build:js": "rm -rf dist && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts ./src/runtime-prerequisites.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
81
82
  test: "bun test --timeout 30000",
82
83
  dev: "bun run ./src/cli/index.tsx",
83
84
  "dev:watch": "bun --watch run ./src/cli/index.tsx",
@@ -154,6 +155,10 @@ var package_default = {
154
155
  homepage: "https://github.com/hasna/skills/tree/main/apps/skills",
155
156
  bugs: {
156
157
  url: "https://github.com/hasna/skills/issues"
158
+ },
159
+ skillsRuntimePrerequisites: {
160
+ version: 1,
161
+ entry: "dist/runtime-prerequisites.js"
157
162
  }
158
163
  };
159
164
 
package/bin/server.js CHANGED
@@ -24140,7 +24140,7 @@ restoreLaunchCwd();
24140
24140
  // package.json
24141
24141
  var package_default = {
24142
24142
  name: "@hasna/skills",
24143
- version: "0.10.61",
24143
+ version: "0.10.62",
24144
24144
  description: "Skills library for AI coding agents",
24145
24145
  type: "module",
24146
24146
  bin: {
@@ -24181,6 +24181,7 @@ var package_default = {
24181
24181
  "migrations/",
24182
24182
  "docs/skill-standard.md",
24183
24183
  "docs/plugin-admission.md",
24184
+ "docs/runtime-activation.md",
24184
24185
  "schemas/",
24185
24186
  "LICENSE",
24186
24187
  "README.md",
@@ -24191,8 +24192,8 @@ var package_default = {
24191
24192
  types: "./dist/index.d.ts",
24192
24193
  scripts: {
24193
24194
  clean: "rm -rf bin/ dist/",
24194
- build: "bun run clean && bun build --external @hasna/contracts/kernel-lock ./src/cli/index.tsx --outdir ./bin --target bun && bun build --external @modelcontextprotocol/sdk ./src/mcp/index.ts --outfile ./bin/mcp.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/index.ts --outfile ./bin/server.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/worker.ts --outfile ./bin/worker.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/migrate.ts --outfile ./bin/migrate.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/maintenance.ts --outfile ./bin/maintenance.js --target bun && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
24195
- "build:js": "rm -rf dist && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
24195
+ build: "bun run clean && bun build --external @hasna/contracts/kernel-lock ./src/cli/index.tsx --outdir ./bin --target bun && bun build --external @modelcontextprotocol/sdk ./src/mcp/index.ts --outfile ./bin/mcp.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/index.ts --outfile ./bin/server.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/worker.ts --outfile ./bin/worker.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/migrate.ts --outfile ./bin/migrate.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/maintenance.ts --outfile ./bin/maintenance.js --target bun && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts ./src/runtime-prerequisites.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
24196
+ "build:js": "rm -rf dist && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts ./src/runtime-prerequisites.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
24196
24197
  test: "bun test --timeout 30000",
24197
24198
  dev: "bun run ./src/cli/index.tsx",
24198
24199
  "dev:watch": "bun --watch run ./src/cli/index.tsx",
@@ -24269,6 +24270,10 @@ var package_default = {
24269
24270
  homepage: "https://github.com/hasna/skills/tree/main/apps/skills",
24270
24271
  bugs: {
24271
24272
  url: "https://github.com/hasna/skills/issues"
24273
+ },
24274
+ skillsRuntimePrerequisites: {
24275
+ version: 1,
24276
+ entry: "dist/runtime-prerequisites.js"
24272
24277
  }
24273
24278
  };
24274
24279
 
package/bin/worker.js CHANGED
@@ -24143,7 +24143,7 @@ import { randomUUID as randomUUID6 } from "crypto";
24143
24143
  // package.json
24144
24144
  var package_default = {
24145
24145
  name: "@hasna/skills",
24146
- version: "0.10.61",
24146
+ version: "0.10.62",
24147
24147
  description: "Skills library for AI coding agents",
24148
24148
  type: "module",
24149
24149
  bin: {
@@ -24184,6 +24184,7 @@ var package_default = {
24184
24184
  "migrations/",
24185
24185
  "docs/skill-standard.md",
24186
24186
  "docs/plugin-admission.md",
24187
+ "docs/runtime-activation.md",
24187
24188
  "schemas/",
24188
24189
  "LICENSE",
24189
24190
  "README.md",
@@ -24194,8 +24195,8 @@ var package_default = {
24194
24195
  types: "./dist/index.d.ts",
24195
24196
  scripts: {
24196
24197
  clean: "rm -rf bin/ dist/",
24197
- build: "bun run clean && bun build --external @hasna/contracts/kernel-lock ./src/cli/index.tsx --outdir ./bin --target bun && bun build --external @modelcontextprotocol/sdk ./src/mcp/index.ts --outfile ./bin/mcp.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/index.ts --outfile ./bin/server.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/worker.ts --outfile ./bin/worker.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/migrate.ts --outfile ./bin/migrate.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/maintenance.ts --outfile ./bin/maintenance.js --target bun && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
24198
- "build:js": "rm -rf dist && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
24198
+ build: "bun run clean && bun build --external @hasna/contracts/kernel-lock ./src/cli/index.tsx --outdir ./bin --target bun && bun build --external @modelcontextprotocol/sdk ./src/mcp/index.ts --outfile ./bin/mcp.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/index.ts --outfile ./bin/server.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/worker.ts --outfile ./bin/worker.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/migrate.ts --outfile ./bin/migrate.js --target bun && bun build --external @hasna/contracts/kernel-lock ./src/server/maintenance.ts --outfile ./bin/maintenance.js --target bun && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts ./src/runtime-prerequisites.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
24199
+ "build:js": "rm -rf dist && bun build ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts ./src/runtime-prerequisites.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist && bun scripts/stage-kernel-lock-assets.ts",
24199
24200
  test: "bun test --timeout 30000",
24200
24201
  dev: "bun run ./src/cli/index.tsx",
24201
24202
  "dev:watch": "bun --watch run ./src/cli/index.tsx",
@@ -24272,6 +24273,10 @@ var package_default = {
24272
24273
  homepage: "https://github.com/hasna/skills/tree/main/apps/skills",
24273
24274
  bugs: {
24274
24275
  url: "https://github.com/hasna/skills/issues"
24276
+ },
24277
+ skillsRuntimePrerequisites: {
24278
+ version: 1,
24279
+ entry: "dist/runtime-prerequisites.js"
24275
24280
  }
24276
24281
  };
24277
24282
 
@@ -24,6 +24,7 @@ export declare function rollbackCopyfileAliases(receiptId: string, options?: {
24
24
  export declare function updateCopyfileRuntime(version: string, options?: {
25
25
  homeDir?: string;
26
26
  pathValue?: string;
27
+ cwd?: string;
27
28
  registryOrigin?: string;
28
29
  fetcher?: typeof fetch;
29
30
  minReleaseAge?: number;