@plurnk/plurnk-service 0.17.0 → 0.20.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/SPEC.md +39 -15
- package/bin/plurnk-service.ts +1 -0
- package/dist/core/ChannelWrite.d.ts +4 -0
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +8 -0
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/Engine.d.ts +1 -1
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +39 -17
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +12 -5
- package/dist/core/git-membership.js.map +1 -1
- package/dist/schemes/Exec.d.ts +2 -2
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +13 -6
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/File.d.ts +10 -3
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +81 -114
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +43 -10
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Plurnk.js +1 -1
- package/dist/schemes/_entry-crud.d.ts +2 -0
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +4 -0
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +25 -5
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-graph.d.ts +11 -0
- package/dist/schemes/_entry-graph.d.ts.map +1 -0
- package/dist/schemes/_entry-graph.js +81 -0
- package/dist/schemes/_entry-graph.js.map +1 -0
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +46 -4
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +12 -1
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-semantic.d.ts +13 -0
- package/dist/schemes/_entry-semantic.d.ts.map +1 -0
- package/dist/schemes/_entry-semantic.js +67 -0
- package/dist/schemes/_entry-semantic.js.map +1 -0
- package/dist/schemes/cosine.d.ts +4 -0
- package/dist/schemes/cosine.d.ts.map +1 -0
- package/dist/schemes/cosine.js +9 -0
- package/dist/schemes/cosine.js.map +1 -0
- package/dist/server/envelope.d.ts +1 -0
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +8 -0
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/methods/session_attach.d.ts.map +1 -1
- package/dist/server/methods/session_attach.js +3 -0
- package/dist/server/methods/session_attach.js.map +1 -1
- package/migrations/0000-00-00.01_schema.sql +67 -1
- package/package.json +110 -109
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
// @graph (plurnk-service#186) — the symbol index behind the FIND `graph` dialect
|
|
2
|
+
// (@<sym referrers / @>sym referents / @sym neighborhood). Files are first-class
|
|
3
|
+
// channel-backed entries, so the index is uniform across known:// and file:// with
|
|
4
|
+
// no scheme special-casing. Traversal is kind-agnostic; 1-hop (the grammar's
|
|
5
|
+
// `@<sym` surface). Cross-entry resolution is name-match (ctags-grade-plus per #186).
|
|
6
|
+
//
|
|
7
|
+
// Derivation does NOT happen at write — a scheme write never invokes the mimetypes
|
|
8
|
+
// handler (§4). The engine extracts symbols+references once per entry at manifest-add
|
|
9
|
+
// (EntryManifest.buildManifestBody) and hands them here via populateFrom; this module
|
|
10
|
+
// only owns the relational index (insert + the @</@>/@ resolution).
|
|
11
|
+
export default class EntryGraph {
|
|
12
|
+
// Replace an entry's graph rows with the given extracted symbols/references
|
|
13
|
+
// (delete-then-insert, so empty arrays clear a now-empty/binary/non-code entry
|
|
14
|
+
// to zero rows). Caller has already run the handler; this is pure storage.
|
|
15
|
+
static async populateFrom(db, sessionId, entryId, symbols, references) {
|
|
16
|
+
await db.graph_delete_defs.run({ entry_id: entryId });
|
|
17
|
+
await db.graph_delete_refs.run({ entry_id: entryId });
|
|
18
|
+
for (const s of symbols) {
|
|
19
|
+
await db.graph_insert_def.run({
|
|
20
|
+
session_id: sessionId, entry_id: entryId, name: s.name, kind: s.kind,
|
|
21
|
+
container: s.container ?? null, line: s.line, end_line: s.endLine ?? null,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
for (const r of references) {
|
|
25
|
+
await db.graph_insert_ref.run({
|
|
26
|
+
session_id: sessionId, entry_id: entryId, name: r.name, kind: r.kind,
|
|
27
|
+
container: r.container ?? null, line: r.line, col: r.column ?? null,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
// Resolve a FIND graph-dialect body (`@<sym` / `@>sym` / `@sym`) to matching
|
|
32
|
+
// pathnames within (session, scheme). Malformed → 400.
|
|
33
|
+
static async match(db, sessionId, scheme, raw) {
|
|
34
|
+
const m = /^@([<>]?)(.+)$/.exec(raw.trim());
|
|
35
|
+
if (m === null)
|
|
36
|
+
return { status: 400, pathnames: [] };
|
|
37
|
+
const direction = m[1];
|
|
38
|
+
const name = m[2].trim();
|
|
39
|
+
if (name.length === 0)
|
|
40
|
+
return { status: 400, pathnames: [] };
|
|
41
|
+
if (direction === "<")
|
|
42
|
+
return { status: 200, pathnames: await EntryGraph.#referrers(db, sessionId, scheme, name) };
|
|
43
|
+
if (direction === ">")
|
|
44
|
+
return { status: 200, pathnames: await EntryGraph.#referents(db, sessionId, scheme, name) };
|
|
45
|
+
// @sym neighborhood: the def ∪ referrers ∪ referents, deduped.
|
|
46
|
+
const set = new Set();
|
|
47
|
+
for (const p of await EntryGraph.#defs(db, sessionId, scheme, name))
|
|
48
|
+
set.add(p);
|
|
49
|
+
for (const p of await EntryGraph.#referrers(db, sessionId, scheme, name))
|
|
50
|
+
set.add(p);
|
|
51
|
+
for (const p of await EntryGraph.#referents(db, sessionId, scheme, name))
|
|
52
|
+
set.add(p);
|
|
53
|
+
return { status: 200, pathnames: [...set].sort() };
|
|
54
|
+
}
|
|
55
|
+
static async #referrers(db, sessionId, scheme, name) {
|
|
56
|
+
const rows = await db.graph_referrers.all({ session_id: sessionId, scheme, name });
|
|
57
|
+
return rows.map((r) => r.pathname);
|
|
58
|
+
}
|
|
59
|
+
static async #defs(db, sessionId, scheme, name) {
|
|
60
|
+
const rows = await db.graph_def_pathnames_by_name.all({ session_id: sessionId, scheme, name });
|
|
61
|
+
return rows.map((r) => r.pathname);
|
|
62
|
+
}
|
|
63
|
+
// @>sym: sym's def(s) → the target names those defs reference → those targets'
|
|
64
|
+
// defining entries. The def's full qualified path is the @> join key (#186).
|
|
65
|
+
static async #referents(db, sessionId, scheme, name) {
|
|
66
|
+
const defs = await db.graph_resolve_def.all({ session_id: sessionId, name });
|
|
67
|
+
const targets = new Set();
|
|
68
|
+
for (const d of defs) {
|
|
69
|
+
const qualified = d.container === null ? name : `${d.container}.${name}`;
|
|
70
|
+
const refs = await db.graph_refs_from_source.all({ session_id: sessionId, entry_id: d.entry_id, container: qualified });
|
|
71
|
+
for (const r of refs)
|
|
72
|
+
targets.add(r.name);
|
|
73
|
+
}
|
|
74
|
+
const out = new Set();
|
|
75
|
+
for (const t of targets)
|
|
76
|
+
for (const p of await EntryGraph.#defs(db, sessionId, scheme, t))
|
|
77
|
+
out.add(p);
|
|
78
|
+
return [...out].sort();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=_entry-graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_entry-graph.js","sourceRoot":"","sources":["../../src/schemes/_entry-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-manifest.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-manifest.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"_entry-manifest.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-manifest.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAWnE,MAAM,CAAC,OAAO,OAAO,aAAa;;WAOjB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;CAwD5E"}
|
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
// Lives in the schemes/entry layer, not the engine: building a plurnk:// entry's
|
|
13
13
|
// content is the schemes' job; the engine only orchestrates the per-turn write
|
|
14
14
|
// (the same materialization pattern as git membership).
|
|
15
|
+
import { createHash } from "node:crypto";
|
|
16
|
+
import { MimetypeBinary } from "../content/index.js";
|
|
17
|
+
import EntryGraph from "./_entry-graph.js";
|
|
18
|
+
import EntrySemantic from "./_entry-semantic.js";
|
|
15
19
|
export default class EntryManifest {
|
|
16
20
|
static #MANIFEST_PATH = "plurnk://manifest.json";
|
|
17
21
|
static #toPath(scheme, pathname) {
|
|
@@ -38,10 +42,48 @@ export default class EntryManifest {
|
|
|
38
42
|
// at entry level — a clock on running execs, absent for static entries.
|
|
39
43
|
if (r.seconds !== null && entry.seconds === undefined)
|
|
40
44
|
entry.seconds = r.seconds;
|
|
41
|
-
//
|
|
42
|
-
//
|
|
43
|
-
//
|
|
44
|
-
|
|
45
|
+
// Manifest-add is the engine-side point where the mimetypes handler
|
|
46
|
+
// legitimately fires (never at a scheme write, §4). For the body channel
|
|
47
|
+
// we re-derive every deep channel from ONE process() — the @graph symbol
|
|
48
|
+
// index (#186) and the ~semantic FTS + embedding — alongside the catalog's
|
|
49
|
+
// totalLines, but ONLY when the content changed since the last derivation
|
|
50
|
+
// (the deep_hash gate). An unchanged entry just gets totalLines; its
|
|
51
|
+
// symbol/FTS/embedding rows persist. A handler predating the references
|
|
52
|
+
// channel throws → fall back to metadata-only and clear the graph rows.
|
|
53
|
+
const isBody = r.channel === "body";
|
|
54
|
+
let result;
|
|
55
|
+
if (isBody) {
|
|
56
|
+
const hash = createHash("sha256").update(r.content).digest("hex");
|
|
57
|
+
if (hash === r.deep_hash) {
|
|
58
|
+
result = await mimetypes.process({ content: r.content, hint: r.mimetype }, { channels: [] });
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
const wantGraph = r.content.length > 0 && !MimetypeBinary.isBinaryMimetype(r.mimetype);
|
|
62
|
+
if (wantGraph) {
|
|
63
|
+
try {
|
|
64
|
+
result = await mimetypes.process({ content: r.content, hint: r.mimetype }, { channels: ["symbols", "references", "embedding"] });
|
|
65
|
+
await EntryGraph.populateFrom(db, sessionId, r.entry_id, result.symbols ?? [], result.references ?? []);
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
result = await mimetypes.process({ content: r.content, hint: r.mimetype }, { channels: [] });
|
|
69
|
+
await EntryGraph.populateFrom(db, sessionId, r.entry_id, [], []);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
result = await mimetypes.process({ content: r.content, hint: r.mimetype }, { channels: [] });
|
|
74
|
+
await EntryGraph.populateFrom(db, sessionId, r.entry_id, [], []);
|
|
75
|
+
}
|
|
76
|
+
// The other two deep channels: re-index the body into entry_fts
|
|
77
|
+
// (~semantic's keyword half) and store the embedding vector + model
|
|
78
|
+
// (the vector half). Empty/binary/degraded → cleared, not stored.
|
|
79
|
+
await EntrySemantic.indexFts(db, r.entry_id, r.content);
|
|
80
|
+
await EntrySemantic.indexEmbedding(db, r.entry_id, result.embedding, result.embeddingModel);
|
|
81
|
+
await db.graph_set_deep_hash.run({ entry_id: r.entry_id, deep_hash: hash });
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
result = await mimetypes.process({ content: r.content, hint: r.mimetype }, { channels: [] });
|
|
86
|
+
}
|
|
45
87
|
entry.channels[r.channel] = { mimetype: r.mimetype, tokens: tokenize(r.content), lines: result.totalLines };
|
|
46
88
|
}
|
|
47
89
|
return JSON.stringify([...byEntry.values()], null, 2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-manifest.js","sourceRoot":"","sources":["../../src/schemes/_entry-manifest.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,iFAAiF;AACjF,0EAA0E;AAC1E,kDAAkD;AAClD,gFAAgF;AAChF,oFAAoF;AACpF,+EAA+E;AAC/E,gFAAgF;AAChF,6EAA6E;AAC7E,mEAAmE;AACnE,EAAE;AACF,iFAAiF;AACjF,+EAA+E;AAC/E,wDAAwD;
|
|
1
|
+
{"version":3,"file":"_entry-manifest.js","sourceRoot":"","sources":["../../src/schemes/_entry-manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-ops.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-ops.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAanF,MAAM,MAAM,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAUlH,MAAM,MAAM,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1L,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,QAAQ;;
|
|
1
|
+
{"version":3,"file":"_entry-ops.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-ops.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAanF,MAAM,MAAM,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAUlH,MAAM,MAAM,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1L,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,QAAQ;;WAwBZ,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;WAqHnH,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;CA4CnI"}
|
|
@@ -16,6 +16,11 @@ export default class EntryOps {
|
|
|
16
16
|
}
|
|
17
17
|
static #resolveChannel(fragment, channels, defaultChannel) {
|
|
18
18
|
const target = fragment ?? defaultChannel;
|
|
19
|
+
// The default channel is always valid — dynamic-channel schemes (File:
|
|
20
|
+
// channels={}, mimetype derived per-file) declare none, but their body
|
|
21
|
+
// channel still exists. A non-default fragment must be a declared channel.
|
|
22
|
+
if (target === defaultChannel)
|
|
23
|
+
return target;
|
|
19
24
|
if (!(target in channels))
|
|
20
25
|
return null;
|
|
21
26
|
return target;
|
|
@@ -111,6 +116,9 @@ export default class EntryOps {
|
|
|
111
116
|
if (ctx.tokenize === undefined)
|
|
112
117
|
throw new Error("editSessionEntry: ctx.tokenize is required for token accounting");
|
|
113
118
|
await db.ops_upsert_channel.run({ entry_id: entryId, name: targetChannel, content: newContent, mimetype: effectiveMimetype, tokens: ctx.tokenize(newContent) });
|
|
119
|
+
// NB: NO @graph derivation here — a scheme write resolves the mimetype
|
|
120
|
+
// label but never invokes the mimetypes handler (§4). The symbol index is
|
|
121
|
+
// built engine-side at manifest-add (EntryManifest.buildManifestBody).
|
|
114
122
|
// §14.5 — reconcile this run's watermark to the just-written content, so the
|
|
115
123
|
// build-time delta detector doesn't re-report the model's own edit (it's
|
|
116
124
|
// already on the log via §14.6's EDIT row).
|
|
@@ -128,7 +136,10 @@ export default class EntryOps {
|
|
|
128
136
|
if (statement.target === null)
|
|
129
137
|
return { status: 400, content: null, mimetype: null, channel: null };
|
|
130
138
|
const { db, sessionId } = ctx;
|
|
131
|
-
const {
|
|
139
|
+
const { channels, defaultChannel } = manifest;
|
|
140
|
+
// Scope by the manifest's persisted entries.scheme (storedScheme; absent →
|
|
141
|
+
// name). File sets storedScheme=null — its rows persist bare (scheme=NULL).
|
|
142
|
+
const scheme = manifest.storedScheme === undefined ? manifest.name : manifest.storedScheme;
|
|
132
143
|
const fragment = EntryOps.#fragmentOf(statement);
|
|
133
144
|
const targetChannel = EntryOps.#resolveChannel(fragment, channels, defaultChannel);
|
|
134
145
|
if (targetChannel === null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-ops.js","sourceRoot":"","sources":["../../src/schemes/_entry-ops.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAyB3G,MAAM,CAAC,OAAO,OAAO,QAAQ;IACzB,MAAM,CAAC,WAAW,CAAC,SAA8C;QAC7D,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;QACxC,OAAO,CAAC,CAAC,GAAG,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,SAA8C;QAC7D,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAChD,OAAO,CAAC,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,QAAuB,EAAE,QAAgC,EAAE,cAAsB;QACpG,MAAM,MAAM,GAAG,QAAQ,IAAI,cAAc,CAAC;QAC1C,IAAI,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAwB,EAAE,GAAwB,EAAE,QAAwB;QACtG,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAEpF,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;QAC9B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC;QAE5D,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;QACnF,IAAI,aAAa,KAAK,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAEjF,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAO,EAAE,CAAC,uBAAsC,CAAC,GAAG,CAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEnI,qDAAqD;QACrD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QAClE,CAAC;QAED,gEAAgE;QAChE,2EAA2E;QAC3E,4DAA4D;QAC5D,kEAAkE;QAClE,MAAM,sBAAsB,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAAC,oBAAoB,CAAC,QAAQ,EAAE,sBAAsB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAEnH,yCAAyC;QACzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,MAAO,EAAE,CAAC,gBAA+B,CAAC,GAAG,CAAuB;gBAChF,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa;aAClE,CAAC,CAAC;YACH,IAAI,OAAO,KAAK,SAAS,IAAI,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7E,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;YACzE,CAAC;QACL,CAAC;QACD,IAAI,cAAc,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACrD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QAClF,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC;QAElC,mEAAmE;QACnE,uEAAuE;QACvE,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,MAAO,EAAE,CAAC,gBAA+B,CAAC,GAAG,CAAsB;gBAC/E,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa;aAClE,CAAC,CAAC;YACH,eAAe,GAAG,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;QAC7C,CAAC;QAED,oEAAoE;QACpE,wFAAwF;QACxF,iFAAiF;QACjF,yEAAyE;QACzE,qEAAqE;QACrE,qBAAqB;QACrB,IAAI,UAAkB,CAAC;QACvB,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC1D,MAAM,MAAM,GAAG,cAAc,CAAC,cAAc,CAAC,iBAAiB,CAAC;gBAC3D,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC,eAAe,EAAE,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC;gBAC9E,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,eAAe,EAAE,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACrF,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;gBAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;YAC1G,UAAU,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,UAAU,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,8EAA8E;QAC9E,gFAAgF;QAChF,0EAA0E;QAC1E,kCAAkC;QAClC,IAAI,QAAQ,KAAK,SAAS,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;YAC3D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,IAAI,GAAG,CAChB,CAAC,MAAO,EAAE,CAAC,cAA6B,CAAC,GAAG,CAAkB,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAC9G,CAAC;gBACF,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QACvF,CAAC;QAED,IAAI,OAAe,CAAC;QACpB,IAAI,UAAmB,CAAC;QACxB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,MAAO,EAAE,CAAC,yBAAwC,CAAC,GAAG,CAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChI,IAAI,GAAG,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YACnF,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACjB,UAAU,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC;YACtB,UAAU,GAAG,KAAK,CAAC;QACvB,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACnH,MAAO,EAAE,CAAC,kBAAiC,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"_entry-ops.js","sourceRoot":"","sources":["../../src/schemes/_entry-ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Db } from "../core/Db.ts";
|
|
2
|
+
import type { Mimetypes } from "@plurnk/plurnk-mimetypes";
|
|
3
|
+
export default class EntrySemantic {
|
|
4
|
+
static indexFts(db: Db, entryId: number, content: string): Promise<void>;
|
|
5
|
+
static cosine(a: Uint8Array, b: Uint8Array): number;
|
|
6
|
+
static indexEmbedding(db: Db, entryId: number, embedding: Uint8Array | undefined, model: string | undefined): Promise<void>;
|
|
7
|
+
static ftsQueryFor(text: string): string;
|
|
8
|
+
static rankSemantic(db: Db, sessionId: number, scheme: string | null, mimetypes: Mimetypes, queryText: string, k: number): Promise<{
|
|
9
|
+
status: number;
|
|
10
|
+
pathnames: string[];
|
|
11
|
+
}>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=_entry-semantic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_entry-semantic.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-semantic.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,EAAc,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,CAAC,OAAO,OAAO,aAAa;WAGjB,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9E,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,MAAM;WAYtC,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjI,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAS3B,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAYpL"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// ~semantic (plurnk-service#186) — the FTS half. Re-indexes an entry's body
|
|
2
|
+
// content into entry_fts (the keyword/narrowing half of the fusion). The cosine
|
|
3
|
+
// rank over embedding vectors — the precise half — lands when the embedding
|
|
4
|
+
// channel does (a daughter projection, per the §4 boundary). Called from the
|
|
5
|
+
// gated manifest-add hook, so only when body content actually changed.
|
|
6
|
+
export default class EntrySemantic {
|
|
7
|
+
// Replace an entry's FTS row with its current body content (rowid = entryId).
|
|
8
|
+
// Empty content (binary member / cleared entry) → no FTS row (delete only).
|
|
9
|
+
static async indexFts(db, entryId, content) {
|
|
10
|
+
await db.fts_delete.run({ entry_id: entryId });
|
|
11
|
+
if (content.length > 0)
|
|
12
|
+
await db.fts_insert.run({ entry_id: entryId, content });
|
|
13
|
+
}
|
|
14
|
+
// Cosine similarity over two Float32 vectors stored as BLOBs — the SqlRite
|
|
15
|
+
// `cosine()` function delegates here (cosine.ts is the registration adapter).
|
|
16
|
+
// Alignment-proof: the BLOB Uint8Array may be an unaligned view, so copy the
|
|
17
|
+
// exact bytes to a fresh buffer before the Float32 view. A zero vector → 0.
|
|
18
|
+
static cosine(a, b) {
|
|
19
|
+
const x = new Float32Array(a.buffer.slice(a.byteOffset, a.byteOffset + a.byteLength));
|
|
20
|
+
const y = new Float32Array(b.buffer.slice(b.byteOffset, b.byteOffset + b.byteLength));
|
|
21
|
+
let dot = 0, nx = 0, ny = 0;
|
|
22
|
+
for (let i = 0; i < x.length; i++) {
|
|
23
|
+
dot += x[i] * y[i];
|
|
24
|
+
nx += x[i] * x[i];
|
|
25
|
+
ny += y[i] * y[i];
|
|
26
|
+
}
|
|
27
|
+
const denom = Math.sqrt(nx) * Math.sqrt(ny);
|
|
28
|
+
return denom === 0 ? 0 : dot / denom;
|
|
29
|
+
}
|
|
30
|
+
// Store an entry's embedding vector + the model that produced it, or clear the
|
|
31
|
+
// row (binary/empty entry, or a degraded `embeddingMissing` projection). Called
|
|
32
|
+
// from the gated manifest-add hook beside indexFts / the symbol index.
|
|
33
|
+
static async indexEmbedding(db, entryId, embedding, model) {
|
|
34
|
+
if (embedding !== undefined && model !== undefined) {
|
|
35
|
+
await db.embedding_set.run({ entry_id: entryId, vector: embedding, embedding_model: model });
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
await db.embedding_delete.run({ entry_id: entryId });
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// Build the FTS5 narrow from a ~query: OR the alphanumeric terms (a broad cut —
|
|
42
|
+
// cosine does the precision). FTS5-syntax-safe (bare lowercased terms).
|
|
43
|
+
static ftsQueryFor(text) {
|
|
44
|
+
const terms = text.toLowerCase().match(/[a-z0-9]+/g);
|
|
45
|
+
if (terms === null)
|
|
46
|
+
return "";
|
|
47
|
+
return [...new Set(terms)].join(" OR ");
|
|
48
|
+
}
|
|
49
|
+
// The ~query dispatch: embed the query text through the SAME channel, FTS-narrow
|
|
50
|
+
// by its terms, cosine-rank the narrowed set, top-K. 501 when no embeddings
|
|
51
|
+
// handler is installed (the channel degrades to `embeddingMissing`).
|
|
52
|
+
static async rankSemantic(db, sessionId, scheme, mimetypes, queryText, k) {
|
|
53
|
+
const r = await mimetypes.process({ content: queryText, hint: "text/markdown" }, { channels: ["embedding"] });
|
|
54
|
+
// No embedder installed → the channel degrades to empty bytes (not undefined);
|
|
55
|
+
// an empty query vector can't rank, so surface 501 rather than a false 200.
|
|
56
|
+
if (r.embedding === undefined || r.embedding.byteLength === 0)
|
|
57
|
+
return { status: 501, pathnames: [] };
|
|
58
|
+
const ftsQuery = EntrySemantic.ftsQueryFor(queryText);
|
|
59
|
+
if (ftsQuery.length === 0)
|
|
60
|
+
return { status: 200, pathnames: [] };
|
|
61
|
+
const rows = await db.semantic_rank.all({
|
|
62
|
+
fts_query: ftsQuery, session_id: sessionId, scheme, query_vector: r.embedding, k,
|
|
63
|
+
});
|
|
64
|
+
return { status: 200, pathnames: rows.map((x) => x.pathname) };
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=_entry-semantic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_entry-semantic.js","sourceRoot":"","sources":["../../src/schemes/_entry-semantic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cosine.d.ts","sourceRoot":"","sources":["../../src/schemes/cosine.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa,OAAO,CAAC;yBAClB,GAAG,UAAU,EAAE,GAAG,UAAU,KAAG,MAAM;AAArD,wBAAoF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// SqlRite function module (#186, ~semantic). The sqlrite contract requires a
|
|
2
|
+
// default-export handler and turns the filename into the SQL function name — so
|
|
3
|
+
// this is a thin registration adapter; the logic lives in EntrySemantic.cosine
|
|
4
|
+
// (OO). `deterministic` marks it a pure function so SQLite may optimize it. One
|
|
5
|
+
// of the few intentionally non-class modules (sqlrite's function convention).
|
|
6
|
+
import EntrySemantic from "./_entry-semantic.js";
|
|
7
|
+
export const deterministic = true;
|
|
8
|
+
export default (a, b) => EntrySemantic.cosine(a, b);
|
|
9
|
+
//# sourceMappingURL=cosine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cosine.js","sourceRoot":"","sources":["../../src/schemes/cosine.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,gFAAgF;AAChF,+EAA+E;AAC/E,gFAAgF;AAChF,8EAA8E;AAC9E,OAAO,aAAa,MAAM,sBAAsB,CAAC;AAEjD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAClC,eAAe,CAAC,CAAa,EAAE,CAAa,EAAU,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -25,6 +25,7 @@ export interface ClientEnvelope {
|
|
|
25
25
|
}
|
|
26
26
|
export default class Envelope {
|
|
27
27
|
#private;
|
|
28
|
+
static readonly RESERVED_RUN_NAMES: ReadonlySet<string>;
|
|
28
29
|
static generateSessionName(): string;
|
|
29
30
|
static generateRunName(): string;
|
|
30
31
|
static createClientEnvelope(db: Db, opts?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../src/server/envelope.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAAE,EAAc,MAAM,eAAe,CAAC;AAGpD,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACrB;AAMD,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,CAAC,OAAO,OAAO,QAAQ;;
|
|
1
|
+
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../src/server/envelope.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAAE,EAAc,MAAM,eAAe,CAAC;AAGpD,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACrB;AAMD,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,CAAC,OAAO,OAAO,QAAQ;;IAKzB,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAuB;IAW9E,MAAM,CAAC,mBAAmB,IAAI,MAAM;IAIpC,MAAM,CAAC,eAAe,IAAI,MAAM;WAInB,oBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAO,GAAG,OAAO,CAAC,cAAc,CAAC;WAsD1J,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAO,GAAG,OAAO,CAAC,cAAc,CAAC;WAe7I,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAMxD,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;WAIhE,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;WAIzE,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;WAM3C,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;WAWvG,oBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAK/G"}
|
package/dist/server/envelope.js
CHANGED
|
@@ -7,6 +7,11 @@
|
|
|
7
7
|
// that run; the client loop closes on disconnect.
|
|
8
8
|
import GitMembership from "../core/git-membership.js";
|
|
9
9
|
export default class Envelope {
|
|
10
|
+
// Run names reserved for non-client actors: a client must not create OR
|
|
11
|
+
// attach to a run under a reserved name (origin-impersonation — `plurnk`
|
|
12
|
+
// is the runtime actor, §0.4/§14.7). Checked case-insensitively, before
|
|
13
|
+
// lookup, so a client can neither forge nor hijack one (SPEC §13.5).
|
|
14
|
+
static RESERVED_RUN_NAMES = new Set(["plurnk"]);
|
|
10
15
|
// Grammar 0.5.0 (#10): Session and Run carry user-renameable string names.
|
|
11
16
|
// Defaults are `session-{unixtime}` and `run-{unixtime}`; random suffix avoids
|
|
12
17
|
// collisions when two creations land in the same second.
|
|
@@ -64,6 +69,9 @@ export default class Envelope {
|
|
|
64
69
|
return { id: existing.id, name: existing.name, persona: existing.persona };
|
|
65
70
|
}
|
|
66
71
|
if (opts.runName !== undefined) {
|
|
72
|
+
if (Envelope.RESERVED_RUN_NAMES.has(opts.runName.toLowerCase())) {
|
|
73
|
+
throw new Error(`run name "${opts.runName}" is reserved for a non-client actor`);
|
|
74
|
+
}
|
|
67
75
|
const existing = await db.envelope_get_run_by_name.get({ session_id: sessionId, name: opts.runName });
|
|
68
76
|
if (existing !== undefined)
|
|
69
77
|
return existing;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/server/envelope.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/server/envelope.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_attach.d.ts","sourceRoot":"","sources":["../../../src/server/methods/session_attach.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAGvD,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACpC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"session_attach.d.ts","sourceRoot":"","sources":["../../../src/server/methods/session_attach.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAGvD,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACpC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAwClD"}
|
|
@@ -13,6 +13,9 @@ export default class SessionAttachMethod {
|
|
|
13
13
|
if (p.runName !== undefined && (typeof p.runName !== "string" || p.runName.length === 0)) {
|
|
14
14
|
throw new Error("session.attach: runName must be a non-empty string");
|
|
15
15
|
}
|
|
16
|
+
if (typeof p.runName === "string" && Envelope.RESERVED_RUN_NAMES.has(p.runName.toLowerCase())) {
|
|
17
|
+
throw new Error(`session.attach: runName "${p.runName}" is reserved`);
|
|
18
|
+
}
|
|
16
19
|
const persona = p.persona ?? null;
|
|
17
20
|
if (persona !== null && typeof persona !== "string") {
|
|
18
21
|
throw new Error("session.attach: persona must be a string or null");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_attach.js","sourceRoot":"","sources":["../../../src/server/methods/session_attach.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACpC,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE;YACtC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3B,MAAM,CAAC,GAAG,MAAmF,CAAC;gBAC9F,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBACjE,CAAC;gBACD,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACvD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAC9D,CAAC;gBACD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;oBACvF,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBAC1E,CAAC;gBACD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;gBAClC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAClD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/G,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC5B,OAAO;oBACH,EAAE,EAAE,QAAQ,CAAC,SAAS;oBACtB,IAAI,EAAE,QAAQ,CAAC,WAAW;oBAC1B,cAAc,EAAE,QAAQ,CAAC,cAAc;oBACvC,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;iBAClC,CAAC;YACN,CAAC;YACD,WAAW,EAAE,mTAAmT;YAChU,MAAM,EAAE;gBACJ,EAAE,EAAE,kCAAkC;gBACtC,KAAK,EAAE,oEAAoE;gBAC3E,OAAO,EAAE,8EAA8E;gBACvF,OAAO,EAAE,kFAAkF;aAC9F;SACJ,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"session_attach.js","sourceRoot":"","sources":["../../../src/server/methods/session_attach.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACpC,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE;YACtC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3B,MAAM,CAAC,GAAG,MAAmF,CAAC;gBAC9F,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBACjE,CAAC;gBACD,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACvD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAC9D,CAAC;gBACD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;oBACvF,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBAC1E,CAAC;gBACD,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAC5F,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,OAAO,eAAe,CAAC,CAAC;gBAC1E,CAAC;gBACD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;gBAClC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAClD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/G,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC5B,OAAO;oBACH,EAAE,EAAE,QAAQ,CAAC,SAAS;oBACtB,IAAI,EAAE,QAAQ,CAAC,WAAW;oBAC1B,cAAc,EAAE,QAAQ,CAAC,cAAc;oBACvC,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;iBAClC,CAAC;YACN,CAAC;YACD,WAAW,EAAE,mTAAmT;YAChU,MAAM,EAAE;gBACJ,EAAE,EAAE,kCAAkC;gBACtC,KAAK,EAAE,oEAAoE;gBAC3E,OAAO,EAAE,8EAA8E;gBACvF,OAAO,EAAE,kFAAkF;aAC9F;SACJ,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -103,6 +103,11 @@ CREATE TABLE IF NOT EXISTS entries (
|
|
|
103
103
|
-- so entries == members); 'client'/'constraint' (model-created, add-glob) are not
|
|
104
104
|
-- git's to reclaim. NULL = not a file member (other schemes don't carry origin).
|
|
105
105
|
membership_origin TEXT CHECK (membership_origin IS NULL OR membership_origin IN ('git', 'client', 'constraint')),
|
|
106
|
+
-- @graph / ~semantic change-gate (#186): hash of the body content at the last
|
|
107
|
+
-- deep-channel derivation. The manifest-add pass re-derives symbols/refs (and
|
|
108
|
+
-- embeddings, later) ONLY when this differs from the current body hash — an
|
|
109
|
+
-- unchanged entry is skipped, never re-metadatafied every turn.
|
|
110
|
+
deep_hash TEXT,
|
|
106
111
|
CHECK ((scope = 'agent' AND session_id IS NULL)
|
|
107
112
|
OR (scope = 'session' AND session_id IS NOT NULL)),
|
|
108
113
|
FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE
|
|
@@ -133,6 +138,67 @@ CREATE TABLE IF NOT EXISTS entry_tags (
|
|
|
133
138
|
|
|
134
139
|
CREATE INDEX IF NOT EXISTS entry_tags_tag ON entry_tags (tag);
|
|
135
140
|
|
|
141
|
+
-- INIT: symbol_defs
|
|
142
|
+
-- @graph NODES (plurnk-service#186). Code symbol definitions, populated
|
|
143
|
+
-- delete-then-insert per entry at write (EntryCrud.writeEntry) from mimetypes'
|
|
144
|
+
-- `symbols` channel. Qualified path = container ? container || '.' || name : name.
|
|
145
|
+
CREATE TABLE IF NOT EXISTS symbol_defs (
|
|
146
|
+
id INTEGER NOT NULL PRIMARY KEY,
|
|
147
|
+
session_id INTEGER NOT NULL,
|
|
148
|
+
entry_id INTEGER NOT NULL,
|
|
149
|
+
name TEXT NOT NULL CHECK (length(name) > 0),
|
|
150
|
+
kind TEXT NOT NULL,
|
|
151
|
+
container TEXT,
|
|
152
|
+
line INTEGER NOT NULL,
|
|
153
|
+
end_line INTEGER,
|
|
154
|
+
FOREIGN KEY (entry_id) REFERENCES entries(id) ON DELETE CASCADE
|
|
155
|
+
) STRICT;
|
|
156
|
+
|
|
157
|
+
CREATE INDEX IF NOT EXISTS symbol_defs_name ON symbol_defs (session_id, name);
|
|
158
|
+
|
|
159
|
+
-- INIT: symbol_refs
|
|
160
|
+
-- @graph EDGES (plurnk-service#186), from mimetypes' `references` channel.
|
|
161
|
+
-- name = edge TARGET; container = the SOURCE def's full qualified path (the
|
|
162
|
+
-- @> join key; module-level → NULL); kind ∈ import|call|instantiate|inherit|
|
|
163
|
+
-- type|use (frozen, edge metadata only — traversal is kind-agnostic).
|
|
164
|
+
CREATE TABLE IF NOT EXISTS symbol_refs (
|
|
165
|
+
id INTEGER NOT NULL PRIMARY KEY,
|
|
166
|
+
session_id INTEGER NOT NULL,
|
|
167
|
+
entry_id INTEGER NOT NULL,
|
|
168
|
+
name TEXT NOT NULL CHECK (length(name) > 0),
|
|
169
|
+
kind TEXT NOT NULL,
|
|
170
|
+
container TEXT,
|
|
171
|
+
line INTEGER NOT NULL,
|
|
172
|
+
col INTEGER,
|
|
173
|
+
FOREIGN KEY (entry_id) REFERENCES entries(id) ON DELETE CASCADE
|
|
174
|
+
) STRICT;
|
|
175
|
+
|
|
176
|
+
CREATE INDEX IF NOT EXISTS symbol_refs_name ON symbol_refs (session_id, name);
|
|
177
|
+
CREATE INDEX IF NOT EXISTS symbol_refs_source ON symbol_refs (session_id, entry_id, container);
|
|
178
|
+
|
|
179
|
+
-- INIT: entry_fts (~semantic FTS half — plurnk-service#186)
|
|
180
|
+
-- Keyword/content index over entry body content; the FTS5 rowid IS entries.id.
|
|
181
|
+
-- The ~semantic dialect narrows candidates here (cheap, indexed) then cosine-ranks
|
|
182
|
+
-- the narrowed set over the embedding vectors — FTS does the scale-cut, cosine the
|
|
183
|
+
-- precise rank, so no ANN/extension is needed. Populated at the gated manifest-add
|
|
184
|
+
-- hook alongside symbol_defs/refs: re-indexed only when body content changes.
|
|
185
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS entry_fts USING fts5(content);
|
|
186
|
+
|
|
187
|
+
-- INIT: entry_embeddings (~semantic vector half — plurnk-service#186)
|
|
188
|
+
-- One Float32 vector per entry (scalar-shaped), stored as a BLOB the cosine()
|
|
189
|
+
-- SqlRite function reads. Supplied by the mimetypes `embedding` projection at the
|
|
190
|
+
-- gated manifest-add hook (mimetypes#23); the fusion (semantic_rank) cosine-ranks
|
|
191
|
+
-- the FTS-narrowed candidates over these. CASCADE-deleted with the entry.
|
|
192
|
+
CREATE TABLE IF NOT EXISTS entry_embeddings (
|
|
193
|
+
entry_id INTEGER NOT NULL PRIMARY KEY,
|
|
194
|
+
vector BLOB NOT NULL,
|
|
195
|
+
-- The model id that produced this vector (mimetypes' `embeddingModel`, e.g.
|
|
196
|
+
-- "Xenova/all-MiniLM-L6-v2@751bff37"). Stored per row as the staleness detector:
|
|
197
|
+
-- a future model swap re-embeds rows whose model differs from the current one.
|
|
198
|
+
embedding_model TEXT NOT NULL,
|
|
199
|
+
FOREIGN KEY (entry_id) REFERENCES entries(id) ON DELETE CASCADE
|
|
200
|
+
) STRICT;
|
|
201
|
+
|
|
136
202
|
-- INIT: log_entries
|
|
137
203
|
-- Chronological event store. sequence is 1-based, scoped to the turn —
|
|
138
204
|
-- resets at each new turn. URI-bit columns are unprefixed (scheme,
|
|
@@ -150,7 +216,7 @@ CREATE TABLE IF NOT EXISTS log_entries (
|
|
|
150
216
|
turn_id INTEGER NOT NULL,
|
|
151
217
|
sequence INTEGER NOT NULL CHECK (sequence >= 1),
|
|
152
218
|
at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
|
|
153
|
-
origin TEXT NOT NULL CHECK (origin IN ('model', 'client', '
|
|
219
|
+
origin TEXT NOT NULL CHECK (origin IN ('model', 'client', 'plurnk', 'plugin')),
|
|
154
220
|
-- §14.5 environment-delta cause: a sibling run-id or a scheme ('file');
|
|
155
221
|
-- NULL = the owning run itself (self), rendered without a run= label.
|
|
156
222
|
source TEXT,
|