skillscript-runtime 0.20.1 → 0.21.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.
- package/README.md +37 -10
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/connectors/skill-store-mcp.js +1 -1
- package/dist/connectors/skill-store-mcp.js.map +1 -1
- package/dist/connectors/skill-store.js +1 -1
- package/dist/connectors/skill-store.js.map +1 -1
- package/dist/connectors/types.d.ts +32 -1
- package/dist/connectors/types.d.ts.map +1 -1
- package/dist/connectors/types.js.map +1 -1
- package/dist/dashboard/server.d.ts +43 -0
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +166 -2
- package/dist/dashboard/server.js.map +1 -1
- package/dist/dashboard/spa/app.js +142 -26
- package/dist/mcp-server.d.ts +17 -16
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +56 -15
- package/dist/mcp-server.js.map +1 -1
- package/dist/skill-catalog.d.ts +2 -10
- package/dist/skill-catalog.d.ts.map +1 -1
- package/dist/skill-catalog.js +15 -0
- package/dist/skill-catalog.js.map +1 -1
- package/dist/skill-surface.d.ts +19 -0
- package/dist/skill-surface.d.ts.map +1 -0
- package/dist/skill-surface.js +86 -0
- package/dist/skill-surface.js.map +1 -0
- package/docs/adopter-playbook.md +17 -8
- package/docs/configuration.md +9 -3
- package/docs/connector-contract-reference.md +4 -6
- package/docs/sqlite-skill-store.md +5 -7
- package/examples/skillscripts/hello-world.skill.provenance.json +1 -1
- package/package.json +1 -1
- package/scaffold/.env.example +50 -8
package/scaffold/.env.example
CHANGED
|
@@ -15,12 +15,55 @@
|
|
|
15
15
|
# Values can be quoted ("..." or '...') if they contain spaces.
|
|
16
16
|
|
|
17
17
|
|
|
18
|
+
# ─── Approval boundary (secured mode) ──────────────────────────────────
|
|
19
|
+
|
|
20
|
+
# Enforce the approval boundary: in secured mode, only a key-SIGNED skill
|
|
21
|
+
# may perform effectful ops ($ / shell / file_* / notify). An unapproved or
|
|
22
|
+
# tampered skill cannot execute a single effect, however it's dispatched
|
|
23
|
+
# (CLI, cron, /event, MCP, composition). Default OFF — the unkeyed
|
|
24
|
+
# convenience posture, where a bare `# Status: Approved` runs. Turn ON for
|
|
25
|
+
# any multi-author or networked deployment.
|
|
26
|
+
# SKILLSCRIPT_SECURED_MODE=true
|
|
27
|
+
|
|
28
|
+
# Operator's Ed25519 approval keypair. First run in secured mode
|
|
29
|
+
# auto-provisions one if the PUBLIC key is absent (private written 0600).
|
|
30
|
+
# Defaults live OUTSIDE SKILLSCRIPT_HOME so a co-resident agent can't read
|
|
31
|
+
# the forging key. HARDENED POSTURE: provision the keypair yourself, give
|
|
32
|
+
# the deployment ONLY the public key (set the pub path, leave the private
|
|
33
|
+
# off-box), and sign operator-side — the runtime verifies with the public
|
|
34
|
+
# key and never needs the private one.
|
|
35
|
+
# SKILLSCRIPT_APPROVAL_KEY_FILE=~/.config/skillscript/approval.key
|
|
36
|
+
# SKILLSCRIPT_APPROVAL_PUBLIC_KEY_FILE=~/.config/skillscript/approval.pub
|
|
37
|
+
|
|
38
|
+
# Filesystem path allowlist for file_read / file_write (the third operator
|
|
39
|
+
# allowlist; mirrors SKILLSCRIPT_SHELL_ALLOWLIST). Default-deny: unset = every
|
|
40
|
+
# file op refused. Comma-separated roots, canonicalized so `..`/symlink can't
|
|
41
|
+
# escape. KEEP YOUR APPROVAL-KEY DIRECTORY OUT OF IT.
|
|
42
|
+
# SKILLSCRIPT_FS_ALLOWLIST=/srv/skillscript/workspace,/var/skillscript/events
|
|
43
|
+
|
|
44
|
+
# Optional shared-secret gate for the dashboard (SPA + /rpc) — network/casual
|
|
45
|
+
# hygiene when binding beyond localhost. Present via `?token=` (browser sets a
|
|
46
|
+
# cookie), the `skillscript_dash` cookie, or `Authorization: Bearer`. Default
|
|
47
|
+
# unset = open (localhost bind is the only gate). NOT an agent-forgery boundary
|
|
48
|
+
# (the dashboard holds no signing key) — that remains key custody.
|
|
49
|
+
# SKILLSCRIPT_DASHBOARD_AUTH_TOKEN=change-me-to-random-hex
|
|
50
|
+
|
|
51
|
+
# In-browser approval. When set (+ secured mode + a readable key),
|
|
52
|
+
# the dashboard offers click-to-Approve: the approver enters this passcode once
|
|
53
|
+
# per browser session to unlock signing (15-min idle TTL), then signs skills
|
|
54
|
+
# with the operator's key. Default unset = dashboard stays review-only (copy
|
|
55
|
+
# the `skillfile approve` command, sign at a terminal). SECURITY: enabling this
|
|
56
|
+
# gives the dashboard process key access — run it operator-side, isolated from
|
|
57
|
+
# the agent (no network path to it; agent can't read this passcode).
|
|
58
|
+
# SKILLSCRIPT_APPROVAL_PASSCODE=change-me
|
|
59
|
+
|
|
60
|
+
|
|
18
61
|
# ─── Posture / security switches ───────────────────────────────────────
|
|
19
62
|
|
|
20
63
|
# Force every outside-MCP `skill_write` to land Draft regardless of what
|
|
21
64
|
# the body declares. Closes the agent-self-approval path — adopters
|
|
22
65
|
# wanting a human approval gate before any skill executes set this true.
|
|
23
|
-
# Default false
|
|
66
|
+
# Default false.
|
|
24
67
|
# SKILLSCRIPT_FORCE_ALWAYS_DRAFT=true
|
|
25
68
|
|
|
26
69
|
# Permit `shell(unsafe=true)` ops (full bash interpretation: pipes, $VAR,
|
|
@@ -30,7 +73,7 @@
|
|
|
30
73
|
# SKILLSCRIPT_ENABLE_UNSAFE_SHELL=true
|
|
31
74
|
|
|
32
75
|
# Operator-controlled allowlist of binaries reachable via `shell(...)` ops.
|
|
33
|
-
# Default-deny
|
|
76
|
+
# Default-deny: when this var is unset, NO `shell()` op will run.
|
|
34
77
|
# Set to a comma-separated list of binary names; the first token of each
|
|
35
78
|
# `shell(command="X ...")` body must appear in the list.
|
|
36
79
|
#
|
|
@@ -50,10 +93,9 @@
|
|
|
50
93
|
# enumeration is unsound; OS-level execve/seccomp/restricted-PATH is the
|
|
51
94
|
# proper layer — see docs/adopter-playbook.md).
|
|
52
95
|
#
|
|
53
|
-
#
|
|
54
|
-
#
|
|
55
|
-
#
|
|
56
|
-
# shell() will refuse to run until this is configured.
|
|
96
|
+
# Discovery: run `skillfile shell-audit` to scan your skill corpus and emit
|
|
97
|
+
# the current set of binaries used. Paste the suggested value here. Skills
|
|
98
|
+
# using shell() will refuse to run until this is configured.
|
|
57
99
|
# SKILLSCRIPT_SHELL_ALLOWLIST=curl,git,jq,grep
|
|
58
100
|
|
|
59
101
|
|
|
@@ -65,12 +107,12 @@
|
|
|
65
107
|
# SKILLSCRIPT_HOST=0.0.0.0
|
|
66
108
|
|
|
67
109
|
# Dashboard / serve HTTP port. Default 7878. Used for the SPA, JSON-RPC
|
|
68
|
-
# at /rpc, AND the
|
|
110
|
+
# at /rpc, AND the event-trigger ingress at /event (they share
|
|
69
111
|
# one HTTP server — no separate event port).
|
|
70
112
|
# SKILLSCRIPT_PORT=8080
|
|
71
113
|
|
|
72
114
|
|
|
73
|
-
# ─── Event-trigger HTTP ingress
|
|
115
|
+
# ─── Event-trigger HTTP ingress ──────────────────────────────
|
|
74
116
|
|
|
75
117
|
# Enable POST /event for external HTTP-triggered skills. Default false —
|
|
76
118
|
# the route returns 404 when not enabled. Once enabled, external services
|