@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/README.md +41 -7
- package/bin/index.js +855 -455
- package/bin/mcp.js +19044 -36576
- package/bin/migrate.js +10 -4
- package/bin/server.js +10 -4
- package/bin/worker.js +10 -4
- package/dist/cli/commands/runtime-copyfile.d.ts +1 -0
- package/dist/cli/commands/runtime-launcher.d.ts +19 -11
- package/dist/index.js +1638 -1054
- package/dist/lib/agent-adapters.d.ts +2 -2
- package/dist/lib/agent-install-selection.d.ts +11 -0
- package/dist/lib/agent-sumi.d.ts +29 -3
- package/dist/lib/kernel-lock-assets.d.ts +2 -0
- package/dist/native/kernel-lock-acl-darwin +0 -0
- package/dist/runtime-prerequisites.d.ts +9 -0
- package/dist/runtime-prerequisites.js +3089 -0
- package/dist/sdk/index.js +2042 -1458
- package/dist/server/launcher-environment-policy.d.ts +11 -0
- package/docs/runtime-activation.md +23 -0
- package/native/kernel-lock-acl-darwin +0 -0
- package/package.json +9 -3
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.
|
|
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 @
|
|
79
|
-
"build:js": "rm -rf dist && bun build
|
|
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.
|
|
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 @
|
|
24194
|
-
"build:js": "rm -rf dist && bun build
|
|
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.
|
|
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 @
|
|
24197
|
-
"build:js": "rm -rf dist && bun build
|
|
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-
|
|
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,
|
|
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", "
|
|
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
|
|
16
|
+
export declare function pinnedLauncherEnvironment(env: Record<string, string | undefined>, profile?: LauncherProfile): Record<string, string>;
|
|
17
17
|
export type LauncherShape = "symlink" | "pinned";
|
|
18
|
-
export
|
|
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
|
/**
|