skillscript-runtime 0.9.9 → 0.10.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.
@@ -0,0 +1,479 @@
1
+ import { createRequire } from "node:module";
2
+ import { dirname } from "node:path";
3
+ import { mkdirSync, existsSync } from "node:fs";
4
+ import { createHash } from "node:crypto";
5
+ import { SkillNotFoundError, VersionNotFoundError, StorageConflictError, } from "../errors.js";
6
+ import { extractStatusFromBody, stampApprovalToken } from "../approval.js";
7
+ const CONTRACT_VERSION = "1.0.0";
8
+ // Lazy-load `node:sqlite` at instance construction time, not module load.
9
+ // Vite (vitest dev pipeline) strips the `node:` prefix and fails to resolve
10
+ // plain `sqlite`; createRequire bypasses Vite entirely. Matches the pattern
11
+ // in src/connectors/memory-store.ts.
12
+ const requireNode = createRequire(import.meta.url);
13
+ function loadDatabaseSync() {
14
+ return requireNode("node:sqlite").DatabaseSync;
15
+ }
16
+ /**
17
+ * SQLite-backed SkillStore. Two-table schema:
18
+ *
19
+ * skills(name PRIMARY KEY, current_version, content_hash, status, source,
20
+ * description, metadata_json, created_at, updated_at,
21
+ * status_changed_at)
22
+ * skill_versions(name, version, content_hash, source, status,
23
+ * previous_status, changed_at, PRIMARY KEY (name, version))
24
+ *
25
+ * `skills` is the fast-path read for `load()` / `metadata()` / `query()`.
26
+ * `skill_versions` is the append-only history for `versions()`.
27
+ *
28
+ * `update_status()` wraps the UPDATE + INSERT in a transaction so the audit
29
+ * trail never logs a transition that didn't take effect. `delete()` hard-
30
+ * cascades — both tables purged. If you need recovery, back up adopter-side
31
+ * BEFORE calling delete (skill names can be reused after delete; no orphan
32
+ * history left behind).
33
+ *
34
+ * WAL is enabled at bootstrap so concurrent readers don't block a writer.
35
+ * Tag filtering uses `json_extract(metadata_json, '$.tags')` — O(n) table
36
+ * scan documented in `manifest()` features.
37
+ *
38
+ * `version` string format: first 12 chars of `content_hash`. Consumers MUST
39
+ * treat `version` as opaque (equality only) — same convention as
40
+ * FilesystemSkillStore.
41
+ *
42
+ * **Bundled default — one of three legs of the SkillStore connector model.**
43
+ * Adopters wire which leg via `connectors.json` substrate config:
44
+ * - `"filesystem"` (default) — uses FilesystemSkillStore
45
+ * - `"sqlite"` — uses this class
46
+ * - `{ type: "custom", module, export, config }` — adopter's own impl
47
+ *
48
+ * Runtime hosts (MCP server, web dashboard) honor the configured leg
49
+ * automatically. The bundled CLI authoring commands (`skillfile compile`,
50
+ * `skillfile lint`, `skillfile audit`, `skillfile list`) stay
51
+ * filesystem-pinned — they're the FS-authoring loop regardless of substrate
52
+ * config. Sqlite-backed skills are authored via the dashboard or the
53
+ * `skill_write` MCP tool.
54
+ *
55
+ * See `docs/sqlite-skill-store.md` for the forking checklist (writing your
56
+ * own adopter SkillStore impl).
57
+ */
58
+ export class SqliteSkillStore {
59
+ static staticCapabilities() {
60
+ return {
61
+ connector_type: "skill_store",
62
+ implementation: "SqliteSkillStore",
63
+ contract_version: CONTRACT_VERSION,
64
+ features: {
65
+ supports_writes: true,
66
+ supports_versioning: true,
67
+ supports_tag_filter: true,
68
+ supports_audit_trail: true,
69
+ supports_atomic_status_transitions: true,
70
+ },
71
+ };
72
+ }
73
+ db;
74
+ constructor(config) {
75
+ if (config.dbPath !== ":memory:") {
76
+ const dir = dirname(config.dbPath);
77
+ if (!existsSync(dir))
78
+ mkdirSync(dir, { recursive: true });
79
+ }
80
+ const DatabaseSync = loadDatabaseSync();
81
+ this.db = new DatabaseSync(config.dbPath);
82
+ this.bootstrap();
83
+ }
84
+ bootstrap() {
85
+ this.db.exec(`PRAGMA journal_mode = WAL;`);
86
+ this.db.exec(`
87
+ CREATE TABLE IF NOT EXISTS skills (
88
+ name TEXT PRIMARY KEY,
89
+ current_version TEXT NOT NULL,
90
+ content_hash TEXT NOT NULL,
91
+ status TEXT NOT NULL,
92
+ source TEXT NOT NULL,
93
+ description TEXT,
94
+ metadata_json TEXT,
95
+ created_at INTEGER NOT NULL,
96
+ updated_at INTEGER NOT NULL,
97
+ status_changed_at INTEGER
98
+ );
99
+ CREATE TABLE IF NOT EXISTS skill_versions (
100
+ name TEXT NOT NULL,
101
+ version TEXT NOT NULL,
102
+ content_hash TEXT NOT NULL,
103
+ source TEXT NOT NULL,
104
+ status TEXT NOT NULL,
105
+ previous_status TEXT,
106
+ changed_at INTEGER NOT NULL,
107
+ changed_by TEXT,
108
+ PRIMARY KEY (name, version)
109
+ );
110
+ CREATE INDEX IF NOT EXISTS skills_status_idx ON skills(status);
111
+ CREATE INDEX IF NOT EXISTS skills_updated_at_idx ON skills(updated_at);
112
+ CREATE INDEX IF NOT EXISTS skill_versions_name_idx ON skill_versions(name);
113
+ `);
114
+ }
115
+ async manifest() {
116
+ return {
117
+ capabilities_version: "1",
118
+ manifest: {
119
+ kind: "sqlite",
120
+ supports_write: true,
121
+ supports_versioning: true,
122
+ supports_tag_filter: true,
123
+ tag_filter_note: "json_extract on metadata.tags; O(n) table scan",
124
+ },
125
+ };
126
+ }
127
+ async load(name, version) {
128
+ if (version !== undefined) {
129
+ const row = this.db.prepare(`SELECT name, version, content_hash, source, status FROM skill_versions
130
+ WHERE name = $name AND version = $version`).get({ $name: name, $version: version });
131
+ if (row === undefined) {
132
+ // Check if the skill exists at all to disambiguate the error.
133
+ const exists = this.db.prepare(`SELECT 1 FROM skills WHERE name = $name`).get({ $name: name });
134
+ if (exists === undefined)
135
+ throw new SkillNotFoundError(name, "SqliteSkillStore");
136
+ throw new VersionNotFoundError(name, version, "SqliteSkillStore");
137
+ }
138
+ const meta = this.metadataRowToMeta(name, this.skillRow(name));
139
+ return {
140
+ name,
141
+ version: row["version"],
142
+ content_hash: row["content_hash"],
143
+ source: row["source"],
144
+ metadata: meta,
145
+ };
146
+ }
147
+ const row = this.skillRow(name);
148
+ return {
149
+ name,
150
+ version: row["current_version"],
151
+ content_hash: row["content_hash"],
152
+ source: row["source"],
153
+ metadata: this.metadataRowToMeta(name, row),
154
+ };
155
+ }
156
+ async query(filter) {
157
+ const where = [];
158
+ const params = {};
159
+ if (filter?.status !== undefined) {
160
+ const wanted = Array.isArray(filter.status) ? filter.status : [filter.status];
161
+ const placeholders = wanted.map((_, i) => `$status${i}`).join(",");
162
+ where.push(`status IN (${placeholders})`);
163
+ wanted.forEach((s, i) => { params[`$status${i}`] = s; });
164
+ }
165
+ if (filter?.name_pattern !== undefined) {
166
+ where.push(`name REGEXP $name_pattern`);
167
+ params["$name_pattern"] = filter.name_pattern;
168
+ }
169
+ if (filter?.since !== undefined) {
170
+ where.push(`updated_at >= $since`);
171
+ params["$since"] = filter.since;
172
+ }
173
+ if (filter?.tag !== undefined) {
174
+ const tags = Array.isArray(filter.tag) ? filter.tag : [filter.tag];
175
+ tags.forEach((t, i) => {
176
+ // AND semantics: skill must contain every requested tag.
177
+ where.push(`EXISTS (SELECT 1 FROM json_each(json_extract(metadata_json, '$.tags')) WHERE value = $tag${i})`);
178
+ params[`$tag${i}`] = t;
179
+ });
180
+ }
181
+ if (filter?.author !== undefined) {
182
+ where.push(`json_extract(metadata_json, '$.author') = $author`);
183
+ params["$author"] = filter.author;
184
+ }
185
+ const whereSql = where.length > 0 ? `WHERE ${where.join(" AND ")}` : "";
186
+ let sql = `SELECT name, current_version, content_hash, status, source, description,
187
+ metadata_json, created_at, updated_at, status_changed_at
188
+ FROM skills ${whereSql}
189
+ ORDER BY name`;
190
+ if (filter?.limit !== undefined)
191
+ sql += ` LIMIT $limit`;
192
+ if (filter?.offset !== undefined)
193
+ sql += ` OFFSET $offset`;
194
+ if (filter?.limit !== undefined)
195
+ params["$limit"] = filter.limit;
196
+ if (filter?.offset !== undefined)
197
+ params["$offset"] = filter.offset;
198
+ let rows;
199
+ try {
200
+ rows = this.db.prepare(sql).all(params);
201
+ }
202
+ catch (err) {
203
+ // REGEXP isn't built into node:sqlite by default. If a name_pattern
204
+ // filter is supplied and REGEXP fails, fall back to a JS-side regex
205
+ // over the unfiltered set. Acceptable since FilesystemSkillStore takes
206
+ // the same scan-and-filter approach.
207
+ if (filter?.name_pattern !== undefined && /REGEXP/.test(err.message ?? "")) {
208
+ const rebuiltWhere = where.filter((w) => !w.includes("REGEXP"));
209
+ const rebuiltSql = `SELECT name, current_version, content_hash, status, source, description,
210
+ metadata_json, created_at, updated_at, status_changed_at
211
+ FROM skills ${rebuiltWhere.length > 0 ? `WHERE ${rebuiltWhere.join(" AND ")}` : ""}
212
+ ORDER BY name`;
213
+ delete params["$name_pattern"];
214
+ const all = this.db.prepare(rebuiltSql).all(params);
215
+ const pat = new RegExp(filter.name_pattern);
216
+ rows = all.filter((r) => pat.test(r["name"]));
217
+ if (filter?.offset !== undefined)
218
+ rows = rows.slice(filter.offset);
219
+ if (filter?.limit !== undefined)
220
+ rows = rows.slice(0, filter.limit);
221
+ }
222
+ else {
223
+ throw err;
224
+ }
225
+ }
226
+ return rows.map((r) => this.metadataRowToMeta(r["name"], r));
227
+ }
228
+ async metadata(name) {
229
+ const row = this.skillRow(name);
230
+ return this.metadataRowToMeta(name, row);
231
+ }
232
+ async versions(name) {
233
+ // Verify the skill exists at all so we throw rather than return [].
234
+ this.skillRow(name);
235
+ const rows = this.db.prepare(`SELECT name, version, content_hash, status, previous_status, changed_at, changed_by
236
+ FROM skill_versions WHERE name = $name ORDER BY changed_at`).all({ $name: name });
237
+ return rows.map((r) => {
238
+ const info = {
239
+ name: r["name"],
240
+ version: r["version"],
241
+ content_hash: r["content_hash"],
242
+ status: r["status"],
243
+ changed_at: r["changed_at"],
244
+ };
245
+ if (typeof r["previous_status"] === "string")
246
+ info.previous_status = r["previous_status"];
247
+ if (typeof r["changed_by"] === "string")
248
+ info.changed_by = r["changed_by"];
249
+ return info;
250
+ });
251
+ }
252
+ async store(name, source, metadata) {
253
+ if (name.length === 0) {
254
+ throw new StorageConflictError(name, "name must not be empty", "SqliteSkillStore");
255
+ }
256
+ // Auto-stamp approval token if body declares Approved without a valid
257
+ // token. Matches FilesystemSkillStore behavior so headless adopters get
258
+ // a runnable Approved state without a dashboard round-trip.
259
+ let bodyToWrite = source;
260
+ const extracted = extractStatusFromBody(source);
261
+ if (extracted !== null && extracted.status === "Approved") {
262
+ bodyToWrite = stampApprovalToken(source);
263
+ }
264
+ const content_hash = hashSource(bodyToWrite);
265
+ const version = shortHash(content_hash);
266
+ const status = metadata?.status ?? extracted?.status ?? "Draft";
267
+ const description = metadata?.description ?? extractHeader(bodyToWrite, "Description");
268
+ const nowSec = Math.floor(Date.now() / 1000);
269
+ const metaJson = serializeMetadata(metadata);
270
+ this.db.exec("BEGIN");
271
+ try {
272
+ const existing = this.db.prepare(`SELECT created_at FROM skills WHERE name = $name`).get({ $name: name });
273
+ const createdAt = existing?.created_at ?? nowSec;
274
+ this.db.prepare(`INSERT INTO skills (name, current_version, content_hash, status, source, description,
275
+ metadata_json, created_at, updated_at, status_changed_at)
276
+ VALUES ($name, $version, $hash, $status, $source, $description,
277
+ $meta, $createdAt, $updatedAt, $statusChangedAt)
278
+ ON CONFLICT(name) DO UPDATE SET
279
+ current_version = $version,
280
+ content_hash = $hash,
281
+ status = $status,
282
+ source = $source,
283
+ description = $description,
284
+ metadata_json = $meta,
285
+ updated_at = $updatedAt,
286
+ status_changed_at = $statusChangedAt`).run({
287
+ $name: name,
288
+ $version: version,
289
+ $hash: content_hash,
290
+ $status: status,
291
+ $source: bodyToWrite,
292
+ $description: description ?? null,
293
+ $meta: metaJson,
294
+ $createdAt: createdAt,
295
+ $updatedAt: nowSec,
296
+ $statusChangedAt: nowSec,
297
+ });
298
+ this.db.prepare(`INSERT INTO skill_versions (name, version, content_hash, source, status, changed_at, changed_by)
299
+ VALUES ($name, $version, $hash, $source, $status, $changedAt, $changedBy)
300
+ ON CONFLICT(name, version) DO UPDATE SET
301
+ source = $source, status = $status, changed_at = $changedAt, changed_by = $changedBy`).run({
302
+ $name: name,
303
+ $version: version,
304
+ $hash: content_hash,
305
+ $source: bodyToWrite,
306
+ $status: status,
307
+ $changedAt: nowSec,
308
+ $changedBy: metadata?.author ?? null,
309
+ });
310
+ this.db.exec("COMMIT");
311
+ }
312
+ catch (err) {
313
+ this.db.exec("ROLLBACK");
314
+ throw err;
315
+ }
316
+ const info = {
317
+ name,
318
+ version,
319
+ content_hash,
320
+ status,
321
+ changed_at: nowSec,
322
+ };
323
+ if (metadata?.author !== undefined)
324
+ info.changed_by = metadata.author;
325
+ return info;
326
+ }
327
+ async delete(name) {
328
+ this.db.exec("BEGIN");
329
+ try {
330
+ const result = this.db.prepare(`DELETE FROM skills WHERE name = $name`).run({ $name: name });
331
+ this.db.prepare(`DELETE FROM skill_versions WHERE name = $name`).run({ $name: name });
332
+ this.db.exec("COMMIT");
333
+ if (result.changes === 0)
334
+ throw new SkillNotFoundError(name, "SqliteSkillStore");
335
+ }
336
+ catch (err) {
337
+ // ROLLBACK is safe even after a COMMIT — sqlite returns an error we
338
+ // ignore. Only re-raise the caught error.
339
+ try {
340
+ this.db.exec("ROLLBACK");
341
+ }
342
+ catch { /* no-op */ }
343
+ throw err;
344
+ }
345
+ }
346
+ async update_status(name, status) {
347
+ const row = this.skillRow(name);
348
+ const previous_status = row["status"];
349
+ const source = row["source"];
350
+ // Transitions to Approved stamp the token; transitions away strip it.
351
+ const updated = status === "Approved"
352
+ ? stampApprovalToken(rewriteStatusHeader(source, "Approved"))
353
+ : rewriteStatusHeader(source, status);
354
+ const content_hash = hashSource(updated);
355
+ const version = shortHash(content_hash);
356
+ const nowSec = Math.floor(Date.now() / 1000);
357
+ this.db.exec("BEGIN");
358
+ try {
359
+ this.db.prepare(`UPDATE skills SET
360
+ current_version = $version,
361
+ content_hash = $hash,
362
+ status = $status,
363
+ source = $source,
364
+ updated_at = $updatedAt,
365
+ status_changed_at = $statusChangedAt
366
+ WHERE name = $name`).run({
367
+ $name: name,
368
+ $version: version,
369
+ $hash: content_hash,
370
+ $status: status,
371
+ $source: updated,
372
+ $updatedAt: nowSec,
373
+ $statusChangedAt: nowSec,
374
+ });
375
+ this.db.prepare(`INSERT INTO skill_versions (name, version, content_hash, source, status, previous_status, changed_at)
376
+ VALUES ($name, $version, $hash, $source, $status, $previous, $changedAt)
377
+ ON CONFLICT(name, version) DO UPDATE SET
378
+ status = $status, previous_status = $previous, changed_at = $changedAt`).run({
379
+ $name: name,
380
+ $version: version,
381
+ $hash: content_hash,
382
+ $source: updated,
383
+ $status: status,
384
+ $previous: previous_status,
385
+ $changedAt: nowSec,
386
+ });
387
+ this.db.exec("COMMIT");
388
+ }
389
+ catch (err) {
390
+ try {
391
+ this.db.exec("ROLLBACK");
392
+ }
393
+ catch { /* no-op */ }
394
+ throw err;
395
+ }
396
+ return {
397
+ name,
398
+ version,
399
+ content_hash,
400
+ status,
401
+ previous_status,
402
+ changed_at: nowSec,
403
+ };
404
+ }
405
+ close() {
406
+ this.db.close();
407
+ }
408
+ skillRow(name) {
409
+ const row = this.db.prepare(`SELECT name, current_version, content_hash, status, source, description,
410
+ metadata_json, created_at, updated_at, status_changed_at
411
+ FROM skills WHERE name = $name`).get({ $name: name });
412
+ if (row === undefined)
413
+ throw new SkillNotFoundError(name, "SqliteSkillStore");
414
+ return row;
415
+ }
416
+ metadataRowToMeta(name, row) {
417
+ const meta = {
418
+ name,
419
+ version: row["current_version"],
420
+ content_hash: row["content_hash"],
421
+ status: row["status"],
422
+ created_at: row["created_at"],
423
+ updated_at: row["updated_at"],
424
+ };
425
+ if (typeof row["description"] === "string")
426
+ meta.description = row["description"];
427
+ if (typeof row["status_changed_at"] === "number")
428
+ meta.status_changed_at = row["status_changed_at"];
429
+ if (typeof row["metadata_json"] === "string") {
430
+ const parsed = safeParseJson(row["metadata_json"]);
431
+ if (parsed !== null && typeof parsed === "object") {
432
+ const bag = parsed;
433
+ if (typeof bag["author"] === "string")
434
+ meta.author = bag["author"];
435
+ if (Object.keys(bag).length > 0)
436
+ meta.metadata_bag = bag;
437
+ }
438
+ }
439
+ return meta;
440
+ }
441
+ }
442
+ function hashSource(source) {
443
+ return createHash("sha256").update(source, "utf8").digest("hex");
444
+ }
445
+ function shortHash(content_hash) {
446
+ return content_hash.slice(0, 12);
447
+ }
448
+ function extractHeader(body, key) {
449
+ const re = new RegExp(`^#\\s*${key}\\s*:\\s*(.+?)\\s*$`, "m");
450
+ const m = re.exec(body);
451
+ return m ? m[1] : null;
452
+ }
453
+ function rewriteStatusHeader(source, status) {
454
+ const line = `# Status: ${status}`;
455
+ const re = /^#\s*Status\s*:\s*.+?\s*$/m;
456
+ if (re.test(source))
457
+ return source.replace(re, line);
458
+ const skillLineRe = /^(#\s*Skill\s*:\s*.+?)\s*$/m;
459
+ if (skillLineRe.test(source))
460
+ return source.replace(skillLineRe, `$1\n${line}`);
461
+ return `${line}\n${source}`;
462
+ }
463
+ function serializeMetadata(metadata) {
464
+ if (metadata === undefined)
465
+ return null;
466
+ const bag = { ...(metadata.metadata_bag ?? {}) };
467
+ if (metadata.author !== undefined)
468
+ bag["author"] = metadata.author;
469
+ return Object.keys(bag).length > 0 ? JSON.stringify(bag) : null;
470
+ }
471
+ function safeParseJson(s) {
472
+ try {
473
+ return JSON.parse(s);
474
+ }
475
+ catch {
476
+ return null;
477
+ }
478
+ }
479
+ //# sourceMappingURL=sqlite-skill-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-skill-store.js","sourceRoot":"","sources":["../../src/connectors/sqlite-skill-store.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -82,7 +82,15 @@ export declare class OpError extends Error {
82
82
  export declare class ConnectorNotFoundError extends OpError {
83
83
  readonly connectorName: string;
84
84
  readonly connectorType: ConnectorType;
85
- constructor(connectorName: string, connectorType: ConnectorType, opKind: string, target?: string);
85
+ constructor(connectorName: string, connectorType: ConnectorType, opKind: string, target?: string,
86
+ /**
87
+ * v0.10 — when bare-form (`$ llm`, `$ memory`, `$ memory_write`) errors
88
+ * because the auto-wired substrate bridge isn't registered, pass the tool
89
+ * name so the error message points cold authors at the right
90
+ * `connectors.json` substrate setting instead of the generic "register
91
+ * via API" copy. Omit for non-bridge errors.
92
+ */
93
+ bareBridgeTool?: string);
86
94
  }
87
95
  /** An op exceeded its resolved timeout (per-op > skill > built-in). */
88
96
  export declare class OpTimeoutError extends OpError {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/errors.js CHANGED
@@ -136,18 +136,51 @@ export class OpError extends Error {
136
136
  export class ConnectorNotFoundError extends OpError {
137
137
  connectorName;
138
138
  connectorType;
139
- constructor(connectorName, connectorType, opKind, target) {
140
- const message = `${connectorType} '${connectorName}' not registered with the runtime.`;
141
- const remediation = `Configure the connector via the registry (\`registry.register${connectorType.replace(/_./g, (m) => m[1].toUpperCase())}\` API), ` +
142
- `or check the spelling against the registered connector names. ` +
143
- `Bare \`${opKind} ...\` routes through the 'primary'/'default' connector; ` +
144
- `\`${opKind} <name>.<tool>\` routes through the named instance.`;
139
+ constructor(connectorName, connectorType, opKind, target,
140
+ /**
141
+ * v0.10 when bare-form (`$ llm`, `$ memory`, `$ memory_write`) errors
142
+ * because the auto-wired substrate bridge isn't registered, pass the tool
143
+ * name so the error message points cold authors at the right
144
+ * `connectors.json` substrate setting instead of the generic "register
145
+ * via API" copy. Omit for non-bridge errors.
146
+ */
147
+ bareBridgeTool) {
148
+ const bridgeInfo = bareBridgeTool !== undefined ? RESOLVE_BRIDGE_INFO[bareBridgeTool] : undefined;
149
+ let message;
150
+ let remediation;
151
+ if (bridgeInfo !== undefined) {
152
+ message = `No \`${bareBridgeTool}\` connector wired.`;
153
+ remediation =
154
+ `Set \`substrate.${bridgeInfo.slot}: '${bridgeInfo.defaultType}'\` in \`~/.skillscript/connectors.json\` to enable ${bridgeInfo.bridgeName}, ` +
155
+ `or register a custom ${bridgeInfo.contract} programmatically. See docs/configuration.md for the full substrate config reference.`;
156
+ }
157
+ else {
158
+ message = `${connectorType} '${connectorName}' not registered with the runtime.`;
159
+ remediation =
160
+ `Configure the connector via the registry (\`registry.register${connectorType.replace(/_./g, (m) => m[1].toUpperCase())}\` API), ` +
161
+ `or check the spelling against the registered connector names. ` +
162
+ `Bare \`${opKind} ...\` routes through the 'primary'/'default' connector; ` +
163
+ `\`${opKind} <name>.<tool>\` routes through the named instance.`;
164
+ }
145
165
  super(message, opKind, remediation, target);
146
166
  this.connectorName = connectorName;
147
167
  this.connectorType = connectorType;
148
168
  this.name = "ConnectorNotFoundError";
149
169
  }
150
170
  }
171
+ /**
172
+ * v0.10 — substrate-bridge-tool → (slot, defaultType, bridgeName, contract).
173
+ * Used by ConnectorNotFoundError to surface substrate-aware remediation copy
174
+ * when a bare bridge name (`$ llm`, `$ memory`, `$ memory_write`) errors
175
+ * against a null substrate slot. Auto-wired in `bootstrap.ts` when the
176
+ * relevant substrate exists, so reaching this error path means the substrate
177
+ * slot is null + cold author needs the config pointer.
178
+ */
179
+ const RESOLVE_BRIDGE_INFO = {
180
+ llm: { slot: "local_model", defaultType: "ollama", bridgeName: "the default Ollama bridge", contract: "LocalModel" },
181
+ memory: { slot: "memory_store", defaultType: "sqlite", bridgeName: "the default SQLite memory bridge", contract: "MemoryStore" },
182
+ memory_write: { slot: "memory_store", defaultType: "sqlite", bridgeName: "the default SQLite memory bridge", contract: "MemoryStore" },
183
+ };
151
184
  /** An op exceeded its resolved timeout (per-op > skill > built-in). */
152
185
  export class OpTimeoutError extends OpError {
153
186
  timeoutMs;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"help-content.d.ts","sourceRoot":"","sources":["../src/help-content.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AA0yBzD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,cAAc,EAAE,MAAM,EACtB,QAAQ,CAAC,EAAE,QAAQ,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBzB"}
1
+ {"version":3,"file":"help-content.d.ts","sourceRoot":"","sources":["../src/help-content.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAwzBzD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,cAAc,EAAE,MAAM,EACtB,QAAQ,CAAC,EAAE,QAAQ,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBzB"}