@hasna/skills 0.10.60 → 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/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.60",
28
+ version: "0.10.62",
29
29
  description: "Skills library for AI coding agents",
30
30
  type: "module",
31
31
  bin: {
@@ -62,9 +62,11 @@ var package_default = {
62
62
  "!dist/test-preload.d.ts",
63
63
  "!dist/platform",
64
64
  "bin/",
65
+ "native/kernel-lock-acl-darwin",
65
66
  "migrations/",
66
67
  "docs/skill-standard.md",
67
68
  "docs/plugin-admission.md",
69
+ "docs/runtime-activation.md",
68
70
  "schemas/",
69
71
  "LICENSE",
70
72
  "README.md",
@@ -75,8 +77,8 @@ var package_default = {
75
77
  types: "./dist/index.d.ts",
76
78
  scripts: {
77
79
  clean: "rm -rf bin/ dist/",
78
- build: "bun run clean && bun build --external @hasna/contracts/kernel-lock ./src/cli/index.tsx --outdir ./bin --target bun && bun build --external @hasna/contracts/kernel-lock ./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 --external @hasna/contracts/kernel-lock ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist",
79
- "build:js": "rm -rf dist && bun build --external @hasna/contracts/kernel-lock ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist",
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",
80
82
  test: "bun test --timeout 30000",
81
83
  dev: "bun run ./src/cli/index.tsx",
82
84
  "dev:watch": "bun --watch run ./src/cli/index.tsx",
@@ -153,6 +155,10 @@ var package_default = {
153
155
  homepage: "https://github.com/hasna/skills/tree/main/apps/skills",
154
156
  bugs: {
155
157
  url: "https://github.com/hasna/skills/issues"
158
+ },
159
+ skillsRuntimePrerequisites: {
160
+ version: 1,
161
+ entry: "dist/runtime-prerequisites.js"
156
162
  }
157
163
  };
158
164
 
@@ -210,7 +216,7 @@ function resolveServerConfig(env = process.env) {
210
216
  return {
211
217
  host,
212
218
  port,
213
- databaseUrl: env[DATABASE_URL_ENV] || env.DATABASE_URL || undefined,
219
+ databaseUrl: env[DATABASE_URL_ENV] || env.SKILLS_DATABASE_URL || env.DATABASE_URL || undefined,
214
220
  bootstrapApiKey: env.HASNA_SKILLS_BOOTSTRAP_API_KEY || undefined,
215
221
  artifactBucket: env.HASNA_SKILLS_S3_BUCKET || env.SKILLS_S3_BUCKET || undefined,
216
222
  artifactPrefix: normalizePrefix(env.HASNA_SKILLS_S3_PREFIX || env.SKILLS_S3_PREFIX || "skills/artifacts"),
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.60",
24143
+ version: "0.10.62",
24144
24144
  description: "Skills library for AI coding agents",
24145
24145
  type: "module",
24146
24146
  bin: {
@@ -24177,9 +24177,11 @@ var package_default = {
24177
24177
  "!dist/test-preload.d.ts",
24178
24178
  "!dist/platform",
24179
24179
  "bin/",
24180
+ "native/kernel-lock-acl-darwin",
24180
24181
  "migrations/",
24181
24182
  "docs/skill-standard.md",
24182
24183
  "docs/plugin-admission.md",
24184
+ "docs/runtime-activation.md",
24183
24185
  "schemas/",
24184
24186
  "LICENSE",
24185
24187
  "README.md",
@@ -24190,8 +24192,8 @@ var package_default = {
24190
24192
  types: "./dist/index.d.ts",
24191
24193
  scripts: {
24192
24194
  clean: "rm -rf bin/ dist/",
24193
- build: "bun run clean && bun build --external @hasna/contracts/kernel-lock ./src/cli/index.tsx --outdir ./bin --target bun && bun build --external @hasna/contracts/kernel-lock ./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 --external @hasna/contracts/kernel-lock ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist",
24194
- "build:js": "rm -rf dist && bun build --external @hasna/contracts/kernel-lock ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist",
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",
24195
24197
  test: "bun test --timeout 30000",
24196
24198
  dev: "bun run ./src/cli/index.tsx",
24197
24199
  "dev:watch": "bun --watch run ./src/cli/index.tsx",
@@ -24268,6 +24270,10 @@ var package_default = {
24268
24270
  homepage: "https://github.com/hasna/skills/tree/main/apps/skills",
24269
24271
  bugs: {
24270
24272
  url: "https://github.com/hasna/skills/issues"
24273
+ },
24274
+ skillsRuntimePrerequisites: {
24275
+ version: 1,
24276
+ entry: "dist/runtime-prerequisites.js"
24271
24277
  }
24272
24278
  };
24273
24279
 
@@ -42934,7 +42940,7 @@ function resolveServerConfig(env = process.env) {
42934
42940
  return {
42935
42941
  host,
42936
42942
  port,
42937
- databaseUrl: env[DATABASE_URL_ENV] || env.DATABASE_URL || undefined,
42943
+ databaseUrl: env[DATABASE_URL_ENV] || env.SKILLS_DATABASE_URL || env.DATABASE_URL || undefined,
42938
42944
  bootstrapApiKey: env.HASNA_SKILLS_BOOTSTRAP_API_KEY || undefined,
42939
42945
  artifactBucket: env.HASNA_SKILLS_S3_BUCKET || env.SKILLS_S3_BUCKET || undefined,
42940
42946
  artifactPrefix: normalizePrefix(env.HASNA_SKILLS_S3_PREFIX || env.SKILLS_S3_PREFIX || "skills/artifacts"),
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.60",
24146
+ version: "0.10.62",
24147
24147
  description: "Skills library for AI coding agents",
24148
24148
  type: "module",
24149
24149
  bin: {
@@ -24180,9 +24180,11 @@ var package_default = {
24180
24180
  "!dist/test-preload.d.ts",
24181
24181
  "!dist/platform",
24182
24182
  "bin/",
24183
+ "native/kernel-lock-acl-darwin",
24183
24184
  "migrations/",
24184
24185
  "docs/skill-standard.md",
24185
24186
  "docs/plugin-admission.md",
24187
+ "docs/runtime-activation.md",
24186
24188
  "schemas/",
24187
24189
  "LICENSE",
24188
24190
  "README.md",
@@ -24193,8 +24195,8 @@ var package_default = {
24193
24195
  types: "./dist/index.d.ts",
24194
24196
  scripts: {
24195
24197
  clean: "rm -rf bin/ dist/",
24196
- build: "bun run clean && bun build --external @hasna/contracts/kernel-lock ./src/cli/index.tsx --outdir ./bin --target bun && bun build --external @hasna/contracts/kernel-lock ./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 --external @hasna/contracts/kernel-lock ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist",
24197
- "build:js": "rm -rf dist && bun build --external @hasna/contracts/kernel-lock ./src/index.ts ./src/storage.ts ./src/sdk/index.ts ./src/admin-contract.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --declaration --outDir dist",
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",
24198
24200
  test: "bun test --timeout 30000",
24199
24201
  dev: "bun run ./src/cli/index.tsx",
24200
24202
  "dev:watch": "bun --watch run ./src/cli/index.tsx",
@@ -24271,6 +24273,10 @@ var package_default = {
24271
24273
  homepage: "https://github.com/hasna/skills/tree/main/apps/skills",
24272
24274
  bugs: {
24273
24275
  url: "https://github.com/hasna/skills/issues"
24276
+ },
24277
+ skillsRuntimePrerequisites: {
24278
+ version: 1,
24279
+ entry: "dist/runtime-prerequisites.js"
24274
24280
  }
24275
24281
  };
24276
24282
 
@@ -36412,7 +36418,7 @@ function resolveServerConfig(env = process.env) {
36412
36418
  return {
36413
36419
  host,
36414
36420
  port,
36415
- databaseUrl: env[DATABASE_URL_ENV] || env.DATABASE_URL || undefined,
36421
+ databaseUrl: env[DATABASE_URL_ENV] || env.SKILLS_DATABASE_URL || env.DATABASE_URL || undefined,
36416
36422
  bootstrapApiKey: env.HASNA_SKILLS_BOOTSTRAP_API_KEY || undefined,
36417
36423
  artifactBucket: env.HASNA_SKILLS_S3_BUCKET || env.SKILLS_S3_BUCKET || undefined,
36418
36424
  artifactPrefix: normalizePrefix(env.HASNA_SKILLS_S3_PREFIX || env.SKILLS_S3_PREFIX || "skills/artifacts"),
@@ -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;
@@ -1,4 +1,4 @@
1
- export declare const PINNED_LAUNCHER_SCHEMA = "hasna-skills-pinned-launcher-v1";
1
+ export declare const PINNED_LAUNCHER_SCHEMA = "hasna-skills-pinned-launcher-v2";
2
2
  /** The variable the launcher uses to hand the caller's directory to the CLI. */
3
3
  export declare const LAUNCH_CWD_VARIABLE = "HASNA_SKILLS_LAUNCH_CWD";
4
4
  /** Bun runtime flags that remove every working-directory configuration source. */
@@ -7,42 +7,50 @@ export declare const PINNED_LAUNCHER_BUN_FLAGS: readonly ["--config=/dev/null",
7
7
  * Environment names passed through `env -i`, by exact name. Everything else,
8
8
  * including `BUN_*`, `NODE_OPTIONS`, `DYLD_*`, `LD_*` and proxy settings, is
9
9
  * dropped. The handling is total on purpose: a name is either listed here,
10
- * matches a prefix below, or never reaches the runtime.
10
+ * matches a prefix below, and passes the server-owned profile policy.
11
11
  */
12
- export declare const PINNED_LAUNCHER_ENV_NAMES: readonly ["HOME", "PATH", "TMPDIR", "TERM", "TERM_PROGRAM", "TERM_PROGRAM_VERSION", "COLORTERM", "LANG", "USER", "LOGNAME", "SHELL", "TZ", "NO_COLOR", "FORCE_COLOR", "CI", "COLUMNS", "LINES", "EDITOR", "VISUAL", "PAGER", "SSH_AUTH_SOCK", "DATABASE_URL", "TERMINAL_CWD", "CODEX_HOME", "HERMES_HOME", "HERMES_ENABLE_PROJECT_PLUGINS", "HOST", "PORT", "NODE_ENV", "AGENT_ID", "ECS_CONTAINER_METADATA_URI_V4"];
12
+ export declare const PINNED_LAUNCHER_ENV_NAMES: readonly ["HOME", "PATH", "TMPDIR", "TERM", "TERM_PROGRAM", "TERM_PROGRAM_VERSION", "COLORTERM", "LANG", "USER", "LOGNAME", "SHELL", "TZ", "NO_COLOR", "FORCE_COLOR", "CI", "COLUMNS", "LINES", "EDITOR", "VISUAL", "PAGER", "SSH_AUTH_SOCK", "TERMINAL_CWD", "CODEX_HOME", "HERMES_HOME", "HERMES_ENABLE_PROJECT_PLUGINS", "HOST", "PORT", "NODE_ENV", "AGENT_ID", "ECS_CONTAINER_METADATA_URI_V4"];
13
13
  /** Environment name prefixes passed through, for the app's own documented overrides. */
14
14
  export declare const PINNED_LAUNCHER_ENV_PREFIXES: readonly ["HASNA", "SKILLS", "SKILL", "MCP", "XDG", "LC", "AWS"];
15
15
  /** The allowlisted subset of an environment, by the same rule the launcher applies. */
16
- export declare function pinnedLauncherEnvironment(env: Record<string, string | undefined>): Record<string, string>;
16
+ export declare function pinnedLauncherEnvironment(env: Record<string, string | undefined>, profile?: LauncherProfile): Record<string, string>;
17
17
  export type LauncherShape = "symlink" | "pinned";
18
- export interface PinnedLauncherBinding {
18
+ export type LauncherFormat = "v1" | "v2";
19
+ export type LauncherProfile = "client" | "server";
20
+ export interface LauncherMetadata {
21
+ format?: LauncherFormat;
22
+ profile?: LauncherProfile;
23
+ }
24
+ export interface PinnedLauncherBinding extends LauncherMetadata {
19
25
  runtime: string;
20
26
  cwd: string;
21
27
  entry: string;
22
28
  }
29
+ /** Role follows the package's public bin/entry contract, never a path substring. */
30
+ export declare function launcherProfileForBin(name: string, entry: string): LauncherProfile;
23
31
  export type LauncherState = {
24
32
  shape: "symlink";
25
33
  linkTarget: string;
26
34
  target: string;
27
- } | {
35
+ } | ({
28
36
  shape: "pinned";
29
37
  runtime: string;
30
38
  cwd: string;
31
39
  target: string;
32
40
  sha256: string;
33
- };
41
+ } & LauncherMetadata);
34
42
  export type InspectedLauncher = {
35
43
  kind: "symlink";
36
44
  linkTarget: string;
37
45
  target: string;
38
- } | {
46
+ } | ({
39
47
  kind: "pinned";
40
48
  runtime: string;
41
49
  cwd: string;
42
50
  target: string;
43
51
  sha256: string;
44
52
  text: string;
45
- } | {
53
+ } & LauncherMetadata) | {
46
54
  kind: "foreign";
47
55
  };
48
56
  /** The exact launcher text for one Bun binary, trusted directory and entry. Deterministic. */
@@ -76,9 +84,9 @@ export declare function pinnedLauncherText(state: {
76
84
  cwd: string;
77
85
  target: string;
78
86
  sha256: string;
79
- }): string;
87
+ } & LauncherMetadata): string;
80
88
  /** Build the pinned state for an entry under the given Bun binary and trusted directory. */
81
- export declare function pinnedLauncherState(runtime: string, cwd: string, target: string): Extract<LauncherState, {
89
+ export declare function pinnedLauncherState(runtime: string, cwd: string, target: string, metadata?: LauncherMetadata): Extract<LauncherState, {
82
90
  shape: "pinned";
83
91
  }>;
84
92
  /**