skillscript-runtime 0.13.8 → 0.14.1
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 +12 -12
- package/dist/bootstrap.d.ts +13 -13
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +31 -31
- package/dist/bootstrap.js.map +1 -1
- package/dist/cli.js +6 -6
- package/dist/cli.js.map +1 -1
- package/dist/compile.js +2 -2
- package/dist/compile.js.map +1 -1
- package/dist/connectors/config.d.ts +4 -4
- package/dist/connectors/config.d.ts.map +1 -1
- package/dist/connectors/config.js +7 -7
- package/dist/connectors/config.js.map +1 -1
- package/dist/connectors/data-store-mcp.d.ts +29 -0
- package/dist/connectors/data-store-mcp.d.ts.map +1 -0
- package/dist/connectors/{memory-store-mcp.js → data-store-mcp.js} +56 -31
- package/dist/connectors/data-store-mcp.js.map +1 -0
- package/dist/connectors/{memory-store.d.ts → data-store.d.ts} +12 -12
- package/dist/connectors/data-store.d.ts.map +1 -0
- package/dist/connectors/{memory-store.js → data-store.js} +7 -7
- package/dist/connectors/data-store.js.map +1 -0
- package/dist/connectors/filter-enforcement.d.ts +18 -0
- package/dist/connectors/filter-enforcement.d.ts.map +1 -0
- package/dist/connectors/filter-enforcement.js +57 -0
- package/dist/connectors/filter-enforcement.js.map +1 -0
- package/dist/connectors/index.d.ts +5 -5
- package/dist/connectors/index.d.ts.map +1 -1
- package/dist/connectors/index.js +7 -7
- package/dist/connectors/index.js.map +1 -1
- package/dist/connectors/local-model-mcp.js +1 -1
- package/dist/connectors/local-model-mcp.js.map +1 -1
- package/dist/connectors/registry.d.ts +10 -10
- package/dist/connectors/registry.d.ts.map +1 -1
- package/dist/connectors/registry.js +11 -11
- package/dist/connectors/registry.js.map +1 -1
- package/dist/connectors/sqlite-skill-store.js +1 -1
- package/dist/connectors/sqlite-skill-store.js.map +1 -1
- package/dist/connectors/types.d.ts +36 -23
- package/dist/connectors/types.d.ts.map +1 -1
- package/dist/connectors/types.js +2 -2
- package/dist/connectors/types.js.map +1 -1
- package/dist/dashboard/spa/app.js +2 -2
- package/dist/errors.d.ts +43 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +70 -4
- package/dist/errors.js.map +1 -1
- package/dist/help-content.js +27 -27
- package/dist/help-content.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/lint.d.ts.map +1 -1
- package/dist/lint.js +48 -56
- package/dist/lint.js.map +1 -1
- package/dist/mcp-server.d.ts +1 -1
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +19 -16
- package/dist/mcp-server.js.map +1 -1
- package/dist/mutation-gate.d.ts +61 -0
- package/dist/mutation-gate.d.ts.map +1 -0
- package/dist/mutation-gate.js +89 -0
- package/dist/mutation-gate.js.map +1 -0
- package/dist/runtime-config.d.ts +2 -2
- package/dist/runtime-config.d.ts.map +1 -1
- package/dist/runtime-config.js +1 -1
- package/dist/runtime-config.js.map +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +59 -17
- package/dist/runtime.js.map +1 -1
- package/dist/skill-manager.js +1 -1
- package/dist/skill-manager.js.map +1 -1
- package/dist/testing/conformance.d.ts +8 -8
- package/dist/testing/conformance.d.ts.map +1 -1
- package/dist/testing/conformance.js +8 -8
- package/dist/testing/conformance.js.map +1 -1
- package/dist/testing/index.d.ts +2 -2
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/trace.d.ts +3 -3
- package/docs/adopter-playbook.md +85 -41
- package/docs/configuration.md +8 -8
- package/docs/connector-contract-reference.md +9 -9
- package/docs/language-reference.md +38 -63
- package/docs/sqlite-skill-store.md +2 -2
- package/examples/README.md +5 -5
- package/examples/connectors/{MemoryStoreTemplate/MemoryStoreTemplate.ts → DataStoreTemplate/DataStoreTemplate.ts} +56 -43
- package/examples/connectors/{MemoryStoreTemplate → DataStoreTemplate}/README.md +39 -39
- package/examples/connectors/LocalModelTemplate/README.md +1 -1
- package/examples/connectors/McpConnectorTemplate/McpConnectorTemplate.ts +2 -2
- package/examples/connectors/McpConnectorTemplate/README.md +5 -5
- package/examples/connectors/README.md +3 -3
- package/examples/connectors/SkillStoreTemplate/README.md +1 -1
- package/examples/connectors/SkillStoreTemplate/SkillStoreTemplate.ts +1 -1
- package/examples/custom-bootstrap.example.ts +15 -8
- package/examples/onboarding-scaffold/README.md +9 -10
- package/examples/onboarding-scaffold/bootstrap.ts +18 -13
- package/examples/onboarding-scaffold/connectors.json +1 -1
- package/examples/onboarding-scaffold/{file-memory-store.ts → file-data-store.ts} +34 -23
- package/examples/programmatic-trace-demo.mjs +1 -1
- package/examples/skillscripts/classify-support-ticket.skill.md +9 -8
- package/examples/skillscripts/cut-release-tag.skill.md +6 -6
- package/examples/skillscripts/doc-qa-with-citations.skill.md +3 -3
- package/examples/skillscripts/feedback-sentiment-scan.skill.md +9 -8
- package/examples/skillscripts/hello.skill.provenance.json +1 -1
- package/examples/skillscripts/morning-brief.skill.md +3 -3
- package/examples/skillscripts/service-health-watch.skill.md +5 -4
- package/package.json +1 -1
- package/scaffold/config.toml +6 -4
- package/scaffold/connectors.json +3 -3
- package/dist/connectors/memory-store-mcp.d.ts +0 -20
- package/dist/connectors/memory-store-mcp.d.ts.map +0 -1
- package/dist/connectors/memory-store-mcp.js.map +0 -1
- package/dist/connectors/memory-store.d.ts.map +0 -1
- package/dist/connectors/memory-store.js.map +0 -1
- /package/examples/onboarding-scaffold/{memory.example.json → data.example.json} +0 -0
package/README.md
CHANGED
|
@@ -51,7 +51,7 @@ Skillscript intends to answer the second question.
|
|
|
51
51
|
|
|
52
52
|
**Agents are code, and skillscript is the language they write themselves in.** Not memory in the recall sense. Not prompt templates. Not configuration. Code, in the strict sense of named, typed, composable, executable artifacts that constitute capability.
|
|
53
53
|
|
|
54
|
-
A skillscript skill is a declarative recipe, a small program with a dependency DAG of typed operations — that an agent authors once and the runtime fires many times. Where typical agent code is procedural (Python scripts, TypeScript handlers), skillscript is **orchestration-only**: it composes calls into tools, models, and
|
|
54
|
+
A skillscript skill is a declarative recipe, a small program with a dependency DAG of typed operations — that an agent authors once and the runtime fires many times. Where typical agent code is procedural (Python scripts, TypeScript handlers), skillscript is **orchestration-only**: it composes calls into tools, models, and data stores through swappable connector contracts. Computation lives in tools; coordination lives in skills.
|
|
55
55
|
|
|
56
56
|
```
|
|
57
57
|
# Skill: hello
|
|
@@ -66,7 +66,7 @@ greet:
|
|
|
66
66
|
default: greet
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
That's a complete, runnable skill. Five lines, no dependencies, no boilerplate. The same shape scales to multi-stage DAGs that classify inputs, dispatch to LLMs, query
|
|
69
|
+
That's a complete, runnable skill. Five lines, no dependencies, no boilerplate. The same shape scales to multi-stage DAGs that classify inputs, dispatch to LLMs, query data stores, branch on conditions, and orchestrate sub-agents, all in the same declarative grammar.
|
|
70
70
|
|
|
71
71
|
## Why a new language
|
|
72
72
|
|
|
@@ -89,7 +89,7 @@ For this shape, Python's strengths invert into liabilities:
|
|
|
89
89
|
Skillscript deliberately constrains expressiveness. It's not Turing complete. It can't `eval`, can't `subprocess`, can't import arbitrary code. **The constraint *is* the safety story** — enforced at the language level, not as an aspiration. In exchange:
|
|
90
90
|
|
|
91
91
|
- **Sandboxed grammar.** The language can only do what configured connectors permit.
|
|
92
|
-
- **Declarative legibility.** Skills are DAGs of typed dispatches. A human reading a skill sees exactly which tools get called, which
|
|
92
|
+
- **Declarative legibility.** Skills are DAGs of typed dispatches. A human reading a skill sees exactly which tools get called, which data writes happen, which model prompts fire. The same source produces the same audit diagram every time.
|
|
93
93
|
- **Connector-mediated capability.** Skills don't import packages, they invoke connectors, gated artifacts with curated tool surfaces. Python doesn't disappear from the system; it moves out of the agent's hands and into the connector implementations adopters write deliberately. The safety boundary moves to the connector edge.
|
|
94
94
|
- **Static validation before admission.** A skill that fails the linter can't enter the library. Structural issues, missing dependencies, undeclared variables, mutation paths without confirmation gates are caught at authorship time, not at 3am.
|
|
95
95
|
- **Asymmetric cost.** Routine work (classify, dispatch, transform) costs local-model tokens. The frontier model is reserved for the small fraction of work that actually needs frontier judgment.
|
|
@@ -119,11 +119,11 @@ Every skillscript skill is one of three shapes, determined by the relationship t
|
|
|
119
119
|
|
|
120
120
|
The kinds compose. A Headless monitor fires on cron, evaluates a condition, and routes into an Augmenting skill that wakes an agent with context, which itself references a Template skill for the agent to execute.
|
|
121
121
|
|
|
122
|
-
The three kinds describe the skill's *role* (who consumes the output). Orthogonal to that is the skill's *delivery channel* — the actual op that ships the result. Three channels are first-class: `emit(text="...")` for embedded prompt-context, `$
|
|
122
|
+
The three kinds describe the skill's *role* (who consumes the output). Orthogonal to that is the skill's *delivery channel* — the actual op that ships the result. Three channels are first-class: `emit(text="...")` for embedded prompt-context, `$ data_write content="..." addressed_to="<agent>"` for data handoff, and `file_write(path="...", content="...")` for file handoff. A single skill can use any combination. See the [Language Reference](docs/language-reference.md) §1 for the full taxonomy.
|
|
123
123
|
|
|
124
124
|
### Waking agents
|
|
125
125
|
|
|
126
|
-
Augmenting and Template skills don't just write somewhere; they deliver to a frontier agent through `AgentConnector`. The contract is substrate-neutral: a Headless monitor detects a condition, evaluates whether action is warranted, and either resolves silently or calls `AgentConnector.deliver(agent_id, payload)`. The implementation might write a
|
|
126
|
+
Augmenting and Template skills don't just write somewhere; they deliver to a frontier agent through `AgentConnector`. The contract is substrate-neutral: a Headless monitor detects a condition, evaluates whether action is warranted, and either resolves silently or calls `AgentConnector.deliver(agent_id, payload)`. The implementation might write to a data store the agent reads at next session, post to a chat thread the agent monitors, send a push notification, write to a tmux pane, or invoke a webhook. All the adopter's call.
|
|
127
127
|
|
|
128
128
|
The runtime ships `NoOpAgentConnector` by default; production deployments wire their own and register it via the runtime's connector registry, rather than declaring it in `connectors.json`. Common wirings look like:
|
|
129
129
|
|
|
@@ -145,7 +145,7 @@ const runtime = new Runtime({
|
|
|
145
145
|
});
|
|
146
146
|
```
|
|
147
147
|
|
|
148
|
-
Adopter impls can write to
|
|
148
|
+
Adopter impls can write to a data store, post to a chat thread, send a webhook, write to a tmux pane, or anything else that wakes the receiving agent.
|
|
149
149
|
|
|
150
150
|
This is what makes *"Headless monitor → wake agent with context"* a real composition primitive, not just a pattern adopters bolt on. Skills don't know what substrate they're waking into; the substrate doesn't know what skill triggered it. The contract handles the seam.
|
|
151
151
|
|
|
@@ -281,7 +281,7 @@ Three things to notice:
|
|
|
281
281
|
2. **`# Autonomous: true`** — the skill-author's declaration that mutation ops (here `file_write`) are authorized to fire without per-call confirmation. Without this header, mutation ops require an inline `approved="<reason>"` kwarg on each call site, or a preceding `ask(...)` gate in the same target. Pick whichever fits.
|
|
282
282
|
3. **`${EVENT.fired_at_unix}` + `${NOW}`** — ambient refs the runtime substitutes per-fire. `EVENT.*` covers the trigger payload; `NOW` is the ISO timestamp at op dispatch. See [Language Reference §3](docs/language-reference.md) for the full ambient list.
|
|
283
283
|
|
|
284
|
-
Swap in `$ ticketing_search`, `$ llm`, `$
|
|
284
|
+
Swap in `$ ticketing_search`, `$ llm`, `$ data_write` once you've wired connectors, and the same skill shape becomes a real triage pipeline.
|
|
285
285
|
|
|
286
286
|
## Connector model
|
|
287
287
|
|
|
@@ -290,7 +290,7 @@ Skills don't know what they're talking to. Five contracts decouple language from
|
|
|
290
290
|
| Contract | Purpose | Base config |
|
|
291
291
|
|---|---|---|
|
|
292
292
|
| `SkillStore` | Skill source persistence | `FilesystemSkillStore` (default); switch via `substrate.skill_store` in `connectors.json` |
|
|
293
|
-
| `
|
|
293
|
+
| `DataStore` | Generic data persistence with query | `SqliteDataStore` (conditional on dbPath); switch via `substrate.data_store` |
|
|
294
294
|
| `LocalModel` | Local LLM dispatch | **null** (adopter wires explicitly via `substrate.local_model`) |
|
|
295
295
|
| `McpConnector` | MCP tool invocation — external dispatch | adopter wires named instances in `connectors.json` |
|
|
296
296
|
| `AgentConnector` | Delivery to a frontier agent | adopter wires explicitly (no bundled default) |
|
|
@@ -305,14 +305,14 @@ Wire your own by implementing the interface and registering in `connectors.json`
|
|
|
305
305
|
|
|
306
306
|
Per-host configuration. The runtime loads it at startup. Two top-level concerns:
|
|
307
307
|
|
|
308
|
-
1. **`substrate`** — which `SkillStore` / `
|
|
308
|
+
1. **`substrate`** — which `SkillStore` / `DataStore` / `LocalModel` the runtime hosts use
|
|
309
309
|
2. **Named MCP connector instances** — each becomes a connector referenced via `$ <name>` in skill source
|
|
310
310
|
|
|
311
311
|
```json
|
|
312
312
|
{
|
|
313
313
|
"substrate": {
|
|
314
314
|
"skill_store": "sqlite",
|
|
315
|
-
"
|
|
315
|
+
"data_store": "sqlite",
|
|
316
316
|
"local_model": null
|
|
317
317
|
},
|
|
318
318
|
|
|
@@ -369,14 +369,14 @@ The runtime exposes 16 tools over MCP (HTTP at `/rpc`) for cold-client authoring
|
|
|
369
369
|
| Category | Tools |
|
|
370
370
|
|---|---|
|
|
371
371
|
| Skill management | `skill_list`, `skill_metadata`, `skill_read`, `skill_status`, `skill_write` |
|
|
372
|
-
|
|
|
372
|
+
| Data | `data_read` |
|
|
373
373
|
| Authoring | `lint_skill`, `compile_skill` |
|
|
374
374
|
| Composition | `execute_skill` |
|
|
375
375
|
| Triggers | `list_triggers`, `register_trigger`, `unregister_trigger`, `set_trigger_enabled` |
|
|
376
376
|
| Observability | `health_metrics` |
|
|
377
377
|
| Discovery | `runtime_capabilities`, `help` |
|
|
378
378
|
|
|
379
|
-
This is the "agent reaches MCP" path — an external agent (Claude, GPT, anything that speaks MCP) can author, validate, and deploy skills entirely over the wire. `help()` is the entry point — call with no arguments for a ~500-token quickstart, or with `{topic: "ops" | "frontmatter" | "examples" | "connectors" | "lint-codes"}` for deeper sections. `execute_skill`
|
|
379
|
+
This is the "agent reaches MCP" path — an external agent (Claude, GPT, anything that speaks MCP) can author, validate, and deploy skills entirely over the wire. `help()` is the entry point — call with no arguments for a ~500-token quickstart, or with `{topic: "ops" | "frontmatter" | "examples" | "connectors" | "lint-codes"}` for deeper sections. `execute_skill` runs a skill end-to-end against the runtime's connectors in either of two modes: `{skill_name}` invokes a stored skill (subject to the v0.9.0 hash-token approval gate); `{source}` runs an ad-hoc inline body that's never persisted (one-off scripting without polluting the store). Both modes honor `mechanical: true` for dispatch-graph preview, and (v0.14.1) enforce the mutation gate at runtime so `$ data_write` / `file_write` without `# Autonomous: true` / `??` / `approved=...` throw `UnconfirmedMutationError` regardless of which mode invoked them.
|
|
380
380
|
|
|
381
381
|
## Examples
|
|
382
382
|
|
package/dist/bootstrap.d.ts
CHANGED
|
@@ -3,17 +3,17 @@ import { FilesystemTraceStore } from "./trace.js";
|
|
|
3
3
|
import { Scheduler, type TriggerRegistration } from "./scheduler.js";
|
|
4
4
|
import type { TraceConfig } from "./trace.js";
|
|
5
5
|
import { McpServer } from "./mcp-server.js";
|
|
6
|
-
import type { SkillStore,
|
|
6
|
+
import type { SkillStore, DataStore, LocalModel } from "./connectors/types.js";
|
|
7
7
|
export interface BootstrapOpts {
|
|
8
8
|
skillsDir: string;
|
|
9
9
|
traceDir: string;
|
|
10
|
-
/** When set + existing, register `
|
|
11
|
-
|
|
10
|
+
/** When set + existing, register `SqliteDataStore` as primary data_store. */
|
|
11
|
+
dataDbPath?: string;
|
|
12
12
|
/** Override the bundled-default SkillStore. v0.10 — threaded by the CLI when
|
|
13
13
|
* `connectors.json` substrate config selects sqlite / adopter-custom. */
|
|
14
14
|
skillStore?: SkillStore;
|
|
15
|
-
/** Override the conditional Sqlite
|
|
16
|
-
|
|
15
|
+
/** Override the conditional Sqlite DataStore wiring. */
|
|
16
|
+
dataStore?: DataStore;
|
|
17
17
|
/** Optional LocalModel to register as `"default"`. v0.10 — base config is
|
|
18
18
|
* null; adopters wire explicitly via `connectors.json` or this opt. */
|
|
19
19
|
localModel?: LocalModel;
|
|
@@ -70,7 +70,7 @@ export interface BootstrapResult {
|
|
|
70
70
|
}
|
|
71
71
|
export interface DefaultRegistryOpts {
|
|
72
72
|
skillsDir: string;
|
|
73
|
-
|
|
73
|
+
dataDbPath?: string;
|
|
74
74
|
/**
|
|
75
75
|
* Override the bundled-default SkillStore. When supplied, used instead of
|
|
76
76
|
* `new FilesystemSkillStore(skillsDir)`. Threaded through by the CLI when
|
|
@@ -78,10 +78,10 @@ export interface DefaultRegistryOpts {
|
|
|
78
78
|
*/
|
|
79
79
|
skillStore?: SkillStore;
|
|
80
80
|
/**
|
|
81
|
-
* Override the conditional-Sqlite
|
|
82
|
-
* instead of the `
|
|
81
|
+
* Override the conditional-Sqlite DataStore wiring. When supplied, used
|
|
82
|
+
* instead of the `dataDbPath`-conditional `SqliteDataStore`.
|
|
83
83
|
*/
|
|
84
|
-
|
|
84
|
+
dataStore?: DataStore;
|
|
85
85
|
/**
|
|
86
86
|
* Optional LocalModel to register as `"default"`. **v0.10 — base config:
|
|
87
87
|
* LocalModel is NULL unless explicitly provided.** Adopters wanting Ollama
|
|
@@ -92,14 +92,14 @@ export interface DefaultRegistryOpts {
|
|
|
92
92
|
}
|
|
93
93
|
/**
|
|
94
94
|
* Build the default connector registry: primary SkillStore (configurable),
|
|
95
|
-
* primary
|
|
95
|
+
* primary DataStore (configurable / conditional), and optional LocalModel
|
|
96
96
|
* (null by default — v0.10). Used by both `bootstrap()` (long-lived host)
|
|
97
97
|
* and the `skillfile run` one-shot path so both surfaces wire the same
|
|
98
98
|
* defaults.
|
|
99
99
|
*
|
|
100
100
|
* **v0.10 base config**:
|
|
101
101
|
* skill_store → FilesystemSkillStore (override via `opts.skillStore`)
|
|
102
|
-
*
|
|
102
|
+
* data_store → SqliteDataStore (conditional on `dataDbPath`)
|
|
103
103
|
* local_model → null (override via `opts.localModel`)
|
|
104
104
|
* mcp_connector → null (adopter wires via `connectors.json`)
|
|
105
105
|
* agent_connector → null (adopter wires explicitly)
|
|
@@ -113,9 +113,9 @@ export declare function defaultRegistry(opts: DefaultRegistryOpts): {
|
|
|
113
113
|
*
|
|
114
114
|
* **Reference deployment, v0.10.** Base config:
|
|
115
115
|
* - `FilesystemSkillStore` (override via `opts.skillStore` or `connectors.json` substrate)
|
|
116
|
-
* - `
|
|
116
|
+
* - `SqliteDataStore` (conditional on `dataDbPath`; override via `opts.dataStore`)
|
|
117
117
|
* - LocalModel `null` (provide via `opts.localModel` or `connectors.json` substrate)
|
|
118
|
-
* - v0.7.2 MCP bridges (`llm`, `memory`, `
|
|
118
|
+
* - v0.7.2 MCP bridges (`llm`, `memory`, `data_write`) wired when their
|
|
119
119
|
* substrates exist
|
|
120
120
|
* - Any `McpConnector` declared in `connectors.json`
|
|
121
121
|
*
|
package/dist/bootstrap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAQpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,SAAS,EAAgC,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,KAAK,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
|
package/dist/bootstrap.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
// Reference bootstrap — wires the runtime surface for the CLI's `dashboard`
|
|
2
2
|
// / `serve` commands. v0.10 base config:
|
|
3
3
|
// skill_store → FilesystemSkillStore (override via connectors.json substrate)
|
|
4
|
-
//
|
|
4
|
+
// data_store → SqliteDataStore (conditional on dataDbPath)
|
|
5
5
|
// local_model → null (adopter opts in via substrate.local_model)
|
|
6
6
|
// mcp_connector → null (adopter wires named instances in connectors.json)
|
|
7
7
|
// agent_connector → null (adopter wires explicitly)
|
|
8
|
-
// Plus v0.7.2 MCP bridges (`llm`, `memory`, `
|
|
8
|
+
// Plus v0.7.2 MCP bridges (`llm`, `memory`, `data_write`) auto-wired when
|
|
9
9
|
// their underlying substrates exist.
|
|
10
10
|
//
|
|
11
11
|
// **Adopters: this file is a starting point, not a contract.** For custom
|
|
12
|
-
// substrate wiring (your own
|
|
12
|
+
// substrate wiring (your own DataStore, your own LocalModel impl, a
|
|
13
13
|
// non-bundled AgentConnector, etc.), write your own bootstrap that imports
|
|
14
14
|
// the public APIs (`Registry`, `registerConnectorClass`, `loadConnectorsConfig`,
|
|
15
15
|
// `loadSkillscriptConfig`, the individual connector classes) and constructs
|
|
@@ -26,10 +26,10 @@ import { dirname } from "node:path";
|
|
|
26
26
|
import { Registry } from "./connectors/registry.js";
|
|
27
27
|
import { FilesystemSkillStore } from "./connectors/skill-store.js";
|
|
28
28
|
import { SqliteSkillStore } from "./connectors/sqlite-skill-store.js";
|
|
29
|
-
import {
|
|
29
|
+
import { SqliteDataStore } from "./connectors/data-store.js";
|
|
30
30
|
import { OllamaLocalModel } from "./connectors/local-model.js";
|
|
31
31
|
import { LocalModelMcpConnector } from "./connectors/local-model-mcp.js";
|
|
32
|
-
import {
|
|
32
|
+
import { DataStoreMcpConnector } from "./connectors/data-store-mcp.js";
|
|
33
33
|
import { loadConnectorsConfig, detectGitignoreRisk } from "./connectors/config.js";
|
|
34
34
|
import { FilesystemTraceStore } from "./trace.js";
|
|
35
35
|
import { Scheduler } from "./scheduler.js";
|
|
@@ -41,14 +41,14 @@ const VALID_TRIGGER_SOURCES = [
|
|
|
41
41
|
];
|
|
42
42
|
/**
|
|
43
43
|
* Build the default connector registry: primary SkillStore (configurable),
|
|
44
|
-
* primary
|
|
44
|
+
* primary DataStore (configurable / conditional), and optional LocalModel
|
|
45
45
|
* (null by default — v0.10). Used by both `bootstrap()` (long-lived host)
|
|
46
46
|
* and the `skillfile run` one-shot path so both surfaces wire the same
|
|
47
47
|
* defaults.
|
|
48
48
|
*
|
|
49
49
|
* **v0.10 base config**:
|
|
50
50
|
* skill_store → FilesystemSkillStore (override via `opts.skillStore`)
|
|
51
|
-
*
|
|
51
|
+
* data_store → SqliteDataStore (conditional on `dataDbPath`)
|
|
52
52
|
* local_model → null (override via `opts.localModel`)
|
|
53
53
|
* mcp_connector → null (adopter wires via `connectors.json`)
|
|
54
54
|
* agent_connector → null (adopter wires explicitly)
|
|
@@ -57,12 +57,12 @@ export function defaultRegistry(opts) {
|
|
|
57
57
|
const registry = new Registry();
|
|
58
58
|
const skillStore = opts.skillStore ?? new FilesystemSkillStore(opts.skillsDir);
|
|
59
59
|
registry.registerSkillStore("primary", skillStore);
|
|
60
|
-
let
|
|
61
|
-
if (
|
|
62
|
-
|
|
60
|
+
let dataStore = opts.dataStore;
|
|
61
|
+
if (dataStore === undefined && opts.dataDbPath !== undefined && (existsSync(opts.dataDbPath) || existsSync(dirname(opts.dataDbPath)))) {
|
|
62
|
+
dataStore = new SqliteDataStore({ dbPath: opts.dataDbPath });
|
|
63
63
|
}
|
|
64
|
-
if (
|
|
65
|
-
registry.
|
|
64
|
+
if (dataStore !== undefined) {
|
|
65
|
+
registry.registerDataStore("primary", dataStore);
|
|
66
66
|
}
|
|
67
67
|
// v0.10 — LocalModel default is null. Only register if explicitly provided.
|
|
68
68
|
if (opts.localModel !== undefined) {
|
|
@@ -74,13 +74,13 @@ export function defaultRegistry(opts) {
|
|
|
74
74
|
if (registry.hasLocalModel("default")) {
|
|
75
75
|
registry.registerMcpConnector("llm", new LocalModelMcpConnector(registry.getLocalModel("default")));
|
|
76
76
|
}
|
|
77
|
-
if (
|
|
77
|
+
if (dataStore !== undefined) {
|
|
78
78
|
// v0.8.0 — register the SAME bridge instance under both names so
|
|
79
|
-
// bare-form `$
|
|
79
|
+
// bare-form `$ data_read mode=fts ...` and `$ data_write content=...`
|
|
80
80
|
// both route to it. The bridge dispatches on toolName internally.
|
|
81
|
-
const bridge = new
|
|
82
|
-
registry.registerMcpConnector("
|
|
83
|
-
registry.registerMcpConnector("
|
|
81
|
+
const bridge = new DataStoreMcpConnector(dataStore);
|
|
82
|
+
registry.registerMcpConnector("data_read", bridge);
|
|
83
|
+
registry.registerMcpConnector("data_write", bridge);
|
|
84
84
|
}
|
|
85
85
|
return { registry, skillStore };
|
|
86
86
|
}
|
|
@@ -89,9 +89,9 @@ export function defaultRegistry(opts) {
|
|
|
89
89
|
*
|
|
90
90
|
* **Reference deployment, v0.10.** Base config:
|
|
91
91
|
* - `FilesystemSkillStore` (override via `opts.skillStore` or `connectors.json` substrate)
|
|
92
|
-
* - `
|
|
92
|
+
* - `SqliteDataStore` (conditional on `dataDbPath`; override via `opts.dataStore`)
|
|
93
93
|
* - LocalModel `null` (provide via `opts.localModel` or `connectors.json` substrate)
|
|
94
|
-
* - v0.7.2 MCP bridges (`llm`, `memory`, `
|
|
94
|
+
* - v0.7.2 MCP bridges (`llm`, `memory`, `data_write`) wired when their
|
|
95
95
|
* substrates exist
|
|
96
96
|
* - Any `McpConnector` declared in `connectors.json`
|
|
97
97
|
*
|
|
@@ -110,7 +110,7 @@ export function defaultRegistry(opts) {
|
|
|
110
110
|
export function bootstrap(opts) {
|
|
111
111
|
// v0.10 — pre-load connectors.json (if configured) to extract substrate
|
|
112
112
|
// intent BEFORE defaultRegistry runs. The substrate section selects
|
|
113
|
-
// SkillStore /
|
|
113
|
+
// SkillStore / DataStore / LocalModel impls; the MCP-connector entries
|
|
114
114
|
// are registered after defaultRegistry below.
|
|
115
115
|
const configuredConnectorNames = [];
|
|
116
116
|
const connectorConfigErrors = [];
|
|
@@ -128,12 +128,12 @@ export function bootstrap(opts) {
|
|
|
128
128
|
// Explicit wiring (`opts.skillStore = ...`) beats declarative substrate;
|
|
129
129
|
// declarative beats the FilesystemSkillStore fallback inside defaultRegistry.
|
|
130
130
|
const skillStoreToUse = opts.skillStore ?? substrateResult.skillStore;
|
|
131
|
-
const
|
|
131
|
+
const dataStoreToUse = opts.dataStore ?? substrateResult.dataStore;
|
|
132
132
|
const localModelToUse = opts.localModel ?? substrateResult.localModel;
|
|
133
133
|
const { registry, skillStore } = defaultRegistry({
|
|
134
134
|
...opts,
|
|
135
135
|
...(skillStoreToUse !== undefined ? { skillStore: skillStoreToUse } : {}),
|
|
136
|
-
...(
|
|
136
|
+
...(dataStoreToUse !== undefined ? { dataStore: dataStoreToUse } : {}),
|
|
137
137
|
...(localModelToUse !== undefined ? { localModel: localModelToUse } : {}),
|
|
138
138
|
});
|
|
139
139
|
const traceStore = new FilesystemTraceStore(opts.traceDir);
|
|
@@ -238,13 +238,13 @@ function buildSubstrateInstances(substrate, opts) {
|
|
|
238
238
|
else if (built.instance !== undefined)
|
|
239
239
|
result.skillStore = built.instance;
|
|
240
240
|
}
|
|
241
|
-
//
|
|
242
|
-
if (substrate.
|
|
243
|
-
const built =
|
|
241
|
+
// data_store
|
|
242
|
+
if (substrate.data_store !== undefined && substrate.data_store !== null) {
|
|
243
|
+
const built = buildDataStoreFromChoice(substrate.data_store, opts);
|
|
244
244
|
if (built.error !== undefined)
|
|
245
245
|
errors.push(built.error);
|
|
246
246
|
else if (built.instance !== undefined)
|
|
247
|
-
result.
|
|
247
|
+
result.dataStore = built.instance;
|
|
248
248
|
}
|
|
249
249
|
// local_model (null → explicit "no LocalModel", which is also the v0.10 default)
|
|
250
250
|
if (substrate.local_model !== undefined && substrate.local_model !== null) {
|
|
@@ -269,17 +269,17 @@ function buildSkillStoreFromChoice(choice, opts) {
|
|
|
269
269
|
}
|
|
270
270
|
return { error: `connectors.json: substrate.skill_store — unknown type '${choice.type}'.` };
|
|
271
271
|
}
|
|
272
|
-
function
|
|
272
|
+
function buildDataStoreFromChoice(choice, opts) {
|
|
273
273
|
if (choice.type === "sqlite") {
|
|
274
274
|
const dbPath = choice.config?.["dbPath"]
|
|
275
|
-
?? opts.
|
|
275
|
+
?? opts.dataDbPath
|
|
276
276
|
?? join(opts.skillsDir, "memories.db");
|
|
277
|
-
return { instance: new
|
|
277
|
+
return { instance: new SqliteDataStore({ dbPath }) };
|
|
278
278
|
}
|
|
279
279
|
if (choice.type === "custom") {
|
|
280
|
-
return { error: `connectors.json: substrate.
|
|
280
|
+
return { error: `connectors.json: substrate.data_store — 'custom' type not yet supported via connectors.json (sync bootstrap can't dynamic-import). Wire your custom DataStore via a programmatic bootstrap script.` };
|
|
281
281
|
}
|
|
282
|
-
return { error: `connectors.json: substrate.
|
|
282
|
+
return { error: `connectors.json: substrate.data_store — unknown type '${choice.type}'.` };
|
|
283
283
|
}
|
|
284
284
|
function buildLocalModelFromChoice(choice) {
|
|
285
285
|
if (choice.type === "ollama") {
|
package/dist/bootstrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -18,7 +18,7 @@ import { renderSidecarProvenance } from "./provenance.js";
|
|
|
18
18
|
import { Registry } from "./connectors/registry.js";
|
|
19
19
|
import { FilesystemSkillStore } from "./connectors/skill-store.js";
|
|
20
20
|
import { OllamaLocalModel } from "./connectors/local-model.js";
|
|
21
|
-
import {
|
|
21
|
+
import { SqliteDataStore } from "./connectors/data-store.js";
|
|
22
22
|
import { parse } from "./parser.js";
|
|
23
23
|
import { FilesystemTraceStore } from "./trace.js";
|
|
24
24
|
import { healthMetrics } from "./metrics.js";
|
|
@@ -28,7 +28,7 @@ import { loadSkillscriptConfig } from "./runtime-config.js";
|
|
|
28
28
|
import { createHash } from "node:crypto";
|
|
29
29
|
const HOME_DIR = process.env["SKILLSCRIPT_HOME"] ?? join(homedir(), ".skillscript");
|
|
30
30
|
const SKILLS_DIR = join(HOME_DIR, "skills");
|
|
31
|
-
const
|
|
31
|
+
const DATA_DB = join(HOME_DIR, "data.db");
|
|
32
32
|
const EXAMPLES_DIR = join(HOME_DIR, "examples");
|
|
33
33
|
const PLUGINS_DIR = join(HOME_DIR, "plugins");
|
|
34
34
|
const TRACE_DIR = join(HOME_DIR, "traces");
|
|
@@ -161,7 +161,7 @@ const COMMAND_HELP = {
|
|
|
161
161
|
examples: [
|
|
162
162
|
"skillfile health",
|
|
163
163
|
"skillfile health --skill hello --human",
|
|
164
|
-
"skillfile health --connector
|
|
164
|
+
"skillfile health --connector data-store --since-ms 3600000",
|
|
165
165
|
],
|
|
166
166
|
},
|
|
167
167
|
serve: {
|
|
@@ -455,7 +455,7 @@ async function cmdLint(args) {
|
|
|
455
455
|
// SkillStore so cross-skill rules (unknown-skill-reference,
|
|
456
456
|
// disabled-skill-reference) can resolve.
|
|
457
457
|
const result = await lint(source, {
|
|
458
|
-
classes: [FilesystemSkillStore,
|
|
458
|
+
classes: [FilesystemSkillStore, SqliteDataStore, OllamaLocalModel],
|
|
459
459
|
skillStore: new FilesystemSkillStore(SKILLS_DIR),
|
|
460
460
|
callSite: "cli",
|
|
461
461
|
});
|
|
@@ -590,7 +590,7 @@ async function loadSkillSource(ref) {
|
|
|
590
590
|
return null;
|
|
591
591
|
}
|
|
592
592
|
function buildRegistry() {
|
|
593
|
-
return defaultRegistry({ skillsDir: SKILLS_DIR,
|
|
593
|
+
return defaultRegistry({ skillsDir: SKILLS_DIR, dataDbPath: DATA_DB }).registry;
|
|
594
594
|
}
|
|
595
595
|
/** Locate the bundled scaffold directory — works both in dev (running from src/) and prod (running from dist/). */
|
|
596
596
|
function locateScaffoldRoot() {
|
|
@@ -642,7 +642,7 @@ async function cmdRuntimeHost(args, opts) {
|
|
|
642
642
|
const wired = bootstrap({
|
|
643
643
|
skillsDir: fileConfig.skillsDir ?? SKILLS_DIR,
|
|
644
644
|
traceDir: fileConfig.traceDir ?? TRACE_DIR,
|
|
645
|
-
|
|
645
|
+
dataDbPath: fileConfig.dataDbPath ?? DATA_DB,
|
|
646
646
|
triggersFilePath,
|
|
647
647
|
connectorsConfigPath,
|
|
648
648
|
mode: opts.mode,
|