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.
- package/README.md +26 -9
- package/dist/bootstrap.d.ts +57 -18
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +171 -47
- package/dist/bootstrap.js.map +1 -1
- package/dist/connectors/config.d.ts +46 -0
- package/dist/connectors/config.d.ts.map +1 -1
- package/dist/connectors/config.js +109 -1
- package/dist/connectors/config.js.map +1 -1
- package/dist/connectors/index.d.ts +3 -1
- package/dist/connectors/index.d.ts.map +1 -1
- package/dist/connectors/index.js +1 -0
- package/dist/connectors/index.js.map +1 -1
- package/dist/connectors/sqlite-skill-store.d.ts +65 -0
- package/dist/connectors/sqlite-skill-store.d.ts.map +1 -0
- package/dist/connectors/sqlite-skill-store.js +479 -0
- package/dist/connectors/sqlite-skill-store.js.map +1 -0
- package/dist/errors.d.ts +9 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +39 -6
- package/dist/errors.js.map +1 -1
- package/dist/help-content.d.ts.map +1 -1
- package/dist/help-content.js +18 -4
- package/dist/help-content.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +5 -1
- package/dist/runtime.js.map +1 -1
- package/examples/hello.skill.provenance.json +1 -1
- package/package.json +1 -1
- package/scaffold/connectors.json +31 -3
|
@@ -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 {
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yHAAyH;IACzH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACxC,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,KAAK;aAGrB,cAAc,EAAE,aAAa;aAC7B,cAAc,EAAE,MAAM;gBAFtC,OAAO,EAAE,MAAM,EACC,cAAc,EAAE,aAAa,EAC7B,cAAc,EAAE,MAAM;CAKzC;AAED,qBAAa,kBAAmB,SAAQ,cAAc;aAElC,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM,EAClC,cAAc,EAAE,MAAM;CAKzB;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;aAErC,UAAU,EAAE,MAAM;aAClB,MAAM,EAAE,MAAM;gBADd,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EAC9B,cAAc,EAAE,MAAM;CAKzB;AAED,qBAAa,oBAAqB,SAAQ,cAAc;aAEpC,UAAU,EAAE,MAAM;aAClB,OAAO,EAAE,MAAM;gBADf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EAC/B,cAAc,EAAE,MAAM;CAKzB;AAED,qBAAa,gBAAiB,SAAQ,cAAc;aAEhC,WAAW,EAAE,cAAc,EAAE;gBAA7B,WAAW,EAAE,cAAc,EAAE,EAC7C,cAAc,EAAE,MAAM;CAMzB;AAED,qBAAa,oBAAqB,SAAQ,cAAc;aAEpC,UAAU,EAAE,MAAM;aAClB,MAAM,EAAE,MAAM;gBADd,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EAC9B,cAAc,EAAE,MAAM;CAKzB;AAED,qBAAa,UAAW,SAAQ,cAAc;aAK1B,IAAI,CAAC,EAAE,MAAM;gBAH7B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,aAAa,EAC7B,cAAc,EAAE,MAAM,EACN,IAAI,CAAC,EAAE,MAAM,YAAA;CAKhC;AAED,qBAAa,aAAc,SAAQ,cAAc;aAI7B,IAAI,CAAC,EAAE,MAAM;gBAF7B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACN,IAAI,CAAC,EAAE,MAAM,YAAA;CAKhC;AAED,qBAAa,UAAW,SAAQ,cAAc;aAI1B,KAAK,CAAC,EAAE,MAAM;gBAF9B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACN,KAAK,CAAC,EAAE,MAAM,YAAA;CAKjC;AAED,qBAAa,YAAa,SAAQ,cAAc;aAI5B,UAAU,EAAE,MAAM;gBAFlC,cAAc,EAAE,aAAa,EAC7B,cAAc,EAAE,MAAM,EACN,UAAU,EAAE,MAAM;CAKrC;AAUD;;;;;GAKG;AACH,qBAAa,OAAQ,SAAQ,KAAK;aAGd,MAAM,EAAE,MAAM;aACd,WAAW,EAAE,MAAM;aACnB,MAAM,CAAC,EAAE,MAAM;aACf,UAAU,CAAC,EAAE,MAAM;gBAJnC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,UAAU,CAAC,EAAE,MAAM,YAAA;CAKtC;AAED,wFAAwF;AACxF,qBAAa,sBAAuB,SAAQ,OAAO;aAE/B,aAAa,EAAE,MAAM;aACrB,aAAa,EAAE,aAAa;gBAD5B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,aAAa,EAC5C,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yHAAyH;IACzH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACxC,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,KAAK;aAGrB,cAAc,EAAE,aAAa;aAC7B,cAAc,EAAE,MAAM;gBAFtC,OAAO,EAAE,MAAM,EACC,cAAc,EAAE,aAAa,EAC7B,cAAc,EAAE,MAAM;CAKzC;AAED,qBAAa,kBAAmB,SAAQ,cAAc;aAElC,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM,EAClC,cAAc,EAAE,MAAM;CAKzB;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;aAErC,UAAU,EAAE,MAAM;aAClB,MAAM,EAAE,MAAM;gBADd,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EAC9B,cAAc,EAAE,MAAM;CAKzB;AAED,qBAAa,oBAAqB,SAAQ,cAAc;aAEpC,UAAU,EAAE,MAAM;aAClB,OAAO,EAAE,MAAM;gBADf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EAC/B,cAAc,EAAE,MAAM;CAKzB;AAED,qBAAa,gBAAiB,SAAQ,cAAc;aAEhC,WAAW,EAAE,cAAc,EAAE;gBAA7B,WAAW,EAAE,cAAc,EAAE,EAC7C,cAAc,EAAE,MAAM;CAMzB;AAED,qBAAa,oBAAqB,SAAQ,cAAc;aAEpC,UAAU,EAAE,MAAM;aAClB,MAAM,EAAE,MAAM;gBADd,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EAC9B,cAAc,EAAE,MAAM;CAKzB;AAED,qBAAa,UAAW,SAAQ,cAAc;aAK1B,IAAI,CAAC,EAAE,MAAM;gBAH7B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,aAAa,EAC7B,cAAc,EAAE,MAAM,EACN,IAAI,CAAC,EAAE,MAAM,YAAA;CAKhC;AAED,qBAAa,aAAc,SAAQ,cAAc;aAI7B,IAAI,CAAC,EAAE,MAAM;gBAF7B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACN,IAAI,CAAC,EAAE,MAAM,YAAA;CAKhC;AAED,qBAAa,UAAW,SAAQ,cAAc;aAI1B,KAAK,CAAC,EAAE,MAAM;gBAF9B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACN,KAAK,CAAC,EAAE,MAAM,YAAA;CAKjC;AAED,qBAAa,YAAa,SAAQ,cAAc;aAI5B,UAAU,EAAE,MAAM;gBAFlC,cAAc,EAAE,aAAa,EAC7B,cAAc,EAAE,MAAM,EACN,UAAU,EAAE,MAAM;CAKrC;AAUD;;;;;GAKG;AACH,qBAAa,OAAQ,SAAQ,KAAK;aAGd,MAAM,EAAE,MAAM;aACd,WAAW,EAAE,MAAM;aACnB,MAAM,CAAC,EAAE,MAAM;aACf,UAAU,CAAC,EAAE,MAAM;gBAJnC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,UAAU,CAAC,EAAE,MAAM,YAAA;CAKtC;AAED,wFAAwF;AACxF,qBAAa,sBAAuB,SAAQ,OAAO;aAE/B,aAAa,EAAE,MAAM;aACrB,aAAa,EAAE,aAAa;gBAD5B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,aAAa,EAC5C,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;IACf;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM;CAqB1B;AAgBD,uEAAuE;AACvE,qBAAa,cAAe,SAAQ,OAAO;aAEvB,SAAS,EAAE,MAAM;gBAAjB,SAAS,EAAE,MAAM,EACjC,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;CAUlB;AAED,iFAAiF;AACjF,qBAAa,kCAAmC,SAAQ,OAAO;aAE3C,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EAC9B,MAAM,CAAC,EAAE,MAAM;CASlB;AAED,mFAAmF;AACnF,qBAAa,wBAAyB,SAAQ,OAAO;aAEjC,OAAO,EAAE,MAAM;gBAAf,OAAO,EAAE,MAAM,EAC/B,MAAM,CAAC,EAAE,MAAM;CAWlB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,0BAA2B,SAAQ,OAAO;aAEnC,gBAAgB,EAAE,MAAM;aAExB,KAAK,EAAE,GAAG,GAAG,iBAAiB,GAAG,aAAa;gBAF9C,gBAAgB,EAAE,MAAM,EACxC,MAAM,EAAE,MAAM,EACE,KAAK,EAAE,GAAG,GAAG,iBAAiB,GAAG,aAAa,EAC9D,MAAM,CAAC,EAAE,MAAM;CAclB;AAED,4DAA4D;AAC5D,qBAAa,uBAAwB,SAAQ,OAAO;aAEhC,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EAC9B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;CAUlB;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,OAAO;aAE1B,OAAO,EAAE,MAAM;aACf,QAAQ,EAAE,MAAM;aAChB,GAAG,EAAE,MAAM;aACX,GAAG,EAAE,MAAM;gBAHX,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EAC3B,MAAM,CAAC,EAAE,MAAM;CAclB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
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
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
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;
|
package/dist/errors.js.map
CHANGED
|
@@ -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;
|
|
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"}
|