@plurnk/plurnk-service 1.2.0 → 1.3.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.
Files changed (168) hide show
  1. package/.env.defaults +7 -5
  2. package/README.md +16 -13
  3. package/SPEC.md +72 -130
  4. package/dist/build-info.d.ts +11 -0
  5. package/dist/build-info.d.ts.map +1 -0
  6. package/dist/build-info.js +45 -0
  7. package/dist/build-info.js.map +1 -0
  8. package/dist/build-info.json +1 -0
  9. package/dist/content/index.js +1 -1
  10. package/dist/content/index.js.map +1 -1
  11. package/dist/content/line-marker.js +1 -1
  12. package/dist/content/line-marker.js.map +1 -1
  13. package/dist/content/matcher.js +4 -4
  14. package/dist/content/matcher.js.map +1 -1
  15. package/dist/content/mimetype-binary.js +1 -1
  16. package/dist/content/mimetype-binary.js.map +1 -1
  17. package/dist/content/path-mimetype.js +1 -1
  18. package/dist/content/path-mimetype.js.map +1 -1
  19. package/dist/core/ChannelWrite.d.ts +2 -1
  20. package/dist/core/ChannelWrite.d.ts.map +1 -1
  21. package/dist/core/ChannelWrite.js +6 -19
  22. package/dist/core/ChannelWrite.js.map +1 -1
  23. package/dist/core/ChannelWrite.sql +2 -7
  24. package/dist/core/Dispatcher.d.ts.map +1 -1
  25. package/dist/core/Dispatcher.js +92 -23
  26. package/dist/core/Dispatcher.js.map +1 -1
  27. package/dist/core/Engine.d.ts +9 -0
  28. package/dist/core/Engine.d.ts.map +1 -1
  29. package/dist/core/Engine.js +126 -30
  30. package/dist/core/Engine.js.map +1 -1
  31. package/dist/core/Engine.sql +8 -6
  32. package/dist/core/PacketBuilder.js +1 -1
  33. package/dist/core/PacketBuilder.js.map +1 -1
  34. package/dist/core/PluginLoader.d.ts +1 -0
  35. package/dist/core/PluginLoader.d.ts.map +1 -1
  36. package/dist/core/PluginLoader.js +22 -11
  37. package/dist/core/PluginLoader.js.map +1 -1
  38. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  39. package/dist/core/ProposalLifecycle.js +11 -6
  40. package/dist/core/ProposalLifecycle.js.map +1 -1
  41. package/dist/core/ProviderInstantiate.d.ts +1 -0
  42. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  43. package/dist/core/ProviderInstantiate.js +8 -0
  44. package/dist/core/ProviderInstantiate.js.map +1 -1
  45. package/dist/core/SchemeRegistry.d.ts +3 -1
  46. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  47. package/dist/core/SchemeRegistry.js +18 -11
  48. package/dist/core/SchemeRegistry.js.map +1 -1
  49. package/dist/core/caps/DbEntryCaps.d.ts +6 -5
  50. package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
  51. package/dist/core/caps/DbEntryCaps.js +36 -14
  52. package/dist/core/caps/DbEntryCaps.js.map +1 -1
  53. package/dist/core/caps/DbProjectionCaps.d.ts +11 -0
  54. package/dist/core/caps/DbProjectionCaps.d.ts.map +1 -0
  55. package/dist/core/caps/DbProjectionCaps.js +19 -0
  56. package/dist/core/caps/DbProjectionCaps.js.map +1 -0
  57. package/dist/core/caps/DbSubscriptionCaps.d.ts +3 -1
  58. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  59. package/dist/core/caps/DbSubscriptionCaps.js +12 -3
  60. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  61. package/dist/core/caps/SchemeCtxImpl.d.ts +18 -4
  62. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  63. package/dist/core/caps/SchemeCtxImpl.js +26 -12
  64. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  65. package/dist/core/fork.sql +4 -4
  66. package/dist/core/git-membership.d.ts.map +1 -1
  67. package/dist/core/git-membership.js +23 -0
  68. package/dist/core/git-membership.js.map +1 -1
  69. package/dist/core/packet-wire.d.ts.map +1 -1
  70. package/dist/core/packet-wire.js +3 -2
  71. package/dist/core/packet-wire.js.map +1 -1
  72. package/dist/core/path-decode.d.ts +1 -0
  73. package/dist/core/path-decode.d.ts.map +1 -1
  74. package/dist/core/path-decode.js +1 -0
  75. package/dist/core/path-decode.js.map +1 -1
  76. package/dist/core/plurnk-uri.d.ts.map +1 -1
  77. package/dist/core/plurnk-uri.js +5 -3
  78. package/dist/core/plurnk-uri.js.map +1 -1
  79. package/dist/core/resolveForLoop.js +1 -1
  80. package/dist/core/resolveForLoop.js.map +1 -1
  81. package/dist/core/results.js +2 -2
  82. package/dist/core/results.js.map +1 -1
  83. package/dist/core/scheme-types.d.ts.map +1 -1
  84. package/dist/core/scheme-types.js +1 -1
  85. package/dist/core/scheme-types.js.map +1 -1
  86. package/dist/core/search-gate.js +2 -2
  87. package/dist/core/search-gate.js.map +1 -1
  88. package/dist/digest/Digest.d.ts.map +1 -1
  89. package/dist/digest/Digest.js +79 -8
  90. package/dist/digest/Digest.js.map +1 -1
  91. package/dist/digest/digest.sql +1 -1
  92. package/dist/schemes/Exec.d.ts +2 -4
  93. package/dist/schemes/Exec.d.ts.map +1 -1
  94. package/dist/schemes/Exec.js +41 -11
  95. package/dist/schemes/Exec.js.map +1 -1
  96. package/dist/schemes/File.d.ts.map +1 -1
  97. package/dist/schemes/File.js +1 -0
  98. package/dist/schemes/File.js.map +1 -1
  99. package/dist/schemes/Log.d.ts.map +1 -1
  100. package/dist/schemes/Log.js +20 -0
  101. package/dist/schemes/Log.js.map +1 -1
  102. package/dist/schemes/Prompt.d.ts +6 -7
  103. package/dist/schemes/Prompt.d.ts.map +1 -1
  104. package/dist/schemes/Prompt.js +4 -5
  105. package/dist/schemes/Prompt.js.map +1 -1
  106. package/dist/schemes/Skill.d.ts +7 -9
  107. package/dist/schemes/Skill.d.ts.map +1 -1
  108. package/dist/schemes/Skill.js +5 -7
  109. package/dist/schemes/Skill.js.map +1 -1
  110. package/dist/schemes/Worker.d.ts.map +1 -1
  111. package/dist/schemes/Worker.js +1 -0
  112. package/dist/schemes/Worker.js.map +1 -1
  113. package/dist/schemes/_entry-chunk.d.ts +4 -1
  114. package/dist/schemes/_entry-chunk.d.ts.map +1 -1
  115. package/dist/schemes/_entry-chunk.js +76 -22
  116. package/dist/schemes/_entry-chunk.js.map +1 -1
  117. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  118. package/dist/schemes/_entry-crud.js +0 -10
  119. package/dist/schemes/_entry-crud.js.map +1 -1
  120. package/dist/schemes/_entry-find.d.ts.map +1 -1
  121. package/dist/schemes/_entry-find.js +9 -8
  122. package/dist/schemes/_entry-find.js.map +1 -1
  123. package/dist/schemes/_entry-find.sql +1 -1
  124. package/dist/schemes/_entry-graph.d.ts +1 -1
  125. package/dist/schemes/_entry-graph.d.ts.map +1 -1
  126. package/dist/schemes/_entry-graph.js +13 -12
  127. package/dist/schemes/_entry-graph.js.map +1 -1
  128. package/dist/schemes/_entry-graph.sql +49 -13
  129. package/dist/schemes/_entry-manifest.d.ts +5 -2
  130. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  131. package/dist/schemes/_entry-manifest.js +135 -123
  132. package/dist/schemes/_entry-manifest.js.map +1 -1
  133. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  134. package/dist/schemes/_entry-ops.js +0 -4
  135. package/dist/schemes/_entry-ops.js.map +1 -1
  136. package/dist/schemes/_entry-semantic.d.ts +12 -5
  137. package/dist/schemes/_entry-semantic.d.ts.map +1 -1
  138. package/dist/schemes/_entry-semantic.js +57 -70
  139. package/dist/schemes/_entry-semantic.js.map +1 -1
  140. package/dist/schemes/_entry-semantic.sql +22 -53
  141. package/dist/server/Daemon.d.ts +4 -3
  142. package/dist/server/Daemon.d.ts.map +1 -1
  143. package/dist/server/Daemon.js +109 -44
  144. package/dist/server/Daemon.js.map +1 -1
  145. package/dist/server/auto.d.ts +6 -0
  146. package/dist/server/auto.d.ts.map +1 -0
  147. package/dist/server/{yolo.js → auto.js} +15 -16
  148. package/dist/server/auto.js.map +1 -0
  149. package/dist/server/client-input.d.ts +1 -1
  150. package/dist/server/client-input.d.ts.map +1 -1
  151. package/dist/server/client-input.js +11 -4
  152. package/dist/server/client-input.js.map +1 -1
  153. package/dist/server/drain.sql +6 -3
  154. package/dist/server/loopDocs.d.ts.map +1 -1
  155. package/dist/server/loopDocs.js +2 -2
  156. package/dist/server/loopDocs.js.map +1 -1
  157. package/dist/server/noProposals.js +5 -5
  158. package/dist/server/noProposals.js.map +1 -1
  159. package/dist/service.d.ts.map +1 -1
  160. package/dist/service.js +18 -5
  161. package/dist/service.js.map +1 -1
  162. package/migrations/0000-00-00.01_schema.sql +55 -48
  163. package/migrations/0004_loop-provider.sql +3 -0
  164. package/migrations/0005_subscription-published-channel.sql +3 -0
  165. package/package.json +27 -22
  166. package/dist/server/yolo.d.ts +0 -6
  167. package/dist/server/yolo.d.ts.map +0 -1
  168. package/dist/server/yolo.js.map +0 -1
@@ -1,17 +1,29 @@
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 §mimetype boundary). Called from the
5
- // gated manifest-add hook, so only when body content actually changed.
6
- import { contentHash } from "../core/content-hash.js";
1
+ // ~semantic storage and ranking. Complete content-addressed derivations own the
2
+ // reader-projected FTS, graph, and vectors. Vector search ranks every eligible
3
+ // vector in scope; FTS is only the explicit no-embedder fallback.
7
4
  import EntryChunk from "./_entry-chunk.js";
8
5
  export default class EntrySemantic {
9
- // Replace an entry's FTS row with its current body content (rowid = entryId).
6
+ static maxEmbedSize() {
7
+ const raw = process.env.PLURNK_SERVICE_MAX_EMBED_SIZE;
8
+ const value = Number(raw);
9
+ if (!Number.isSafeInteger(value) || value < 0) {
10
+ throw new Error(`PLURNK_SERVICE_MAX_EMBED_SIZE must be a non-negative safe integer byte count (0 = unlimited), got ${JSON.stringify(raw)}`);
11
+ }
12
+ return value;
13
+ }
14
+ static embedSizeRejection(content) {
15
+ const maxBytes = EntrySemantic.maxEmbedSize();
16
+ if (maxBytes === 0)
17
+ return null;
18
+ const actualBytes = Buffer.byteLength(content, "utf8");
19
+ return actualBytes > maxBytes ? { actualBytes, maxBytes } : null;
20
+ }
21
+ // Replace a derivation artifact's FTS row with its readable content.
10
22
  // Empty content (binary member / cleared entry) → no FTS row (delete only).
11
- static async indexFts(db, entryId, content) {
12
- await db.fts_delete.run({ entry_id: entryId });
23
+ static async indexFts(db, derivationId, content) {
24
+ await db.fts_delete.run({ derivation_id: derivationId });
13
25
  if (content.length > 0)
14
- await db.fts_insert.run({ entry_id: entryId, content });
26
+ await db.fts_insert.run({ derivation_id: derivationId, content });
15
27
  }
16
28
  // Cosine similarity over two Float32 vectors stored as BLOBs — the SqlRite
17
29
  // `cosine()` function delegates here (cosine.ts is the registration adapter).
@@ -29,61 +41,35 @@ export default class EntrySemantic {
29
41
  const denom = Math.sqrt(nx) * Math.sqrt(ny);
30
42
  return denom === 0 ? 0 : dot / denom;
31
43
  }
32
- // Store an entry's embedding vector + the model that produced it, or clear the
44
+ // Store a derivation's embedding vectors + model, or clear them.
33
45
  // row (binary/empty entry, or a degraded `embeddingMissing` projection). Called
34
46
  // from the gated manifest-add hook beside indexFts / the symbol index.
35
- static async indexEmbedding(db, entryId, chunks, model) {
36
- // Re-derivation = clear all of the entry's chunk rows, then insert each in seq
47
+ static async indexEmbedding(db, derivationId, chunks, model) {
48
+ // Re-derivation = clear all of the artifact's chunk rows, then insert each in seq
37
49
  // order. No model (no embedder installed) or no chunks → just cleared.
38
- await db.embedding_delete.run({ entry_id: entryId });
50
+ await db.embedding_delete.run({ derivation_id: derivationId });
39
51
  if (model === undefined)
40
52
  return;
41
53
  for (const [seq, c] of chunks.entries()) {
42
54
  await db.embedding_set.run({
43
- entry_id: entryId, chunk_seq: seq, line_start: c.lineStart, line_end: c.lineEnd,
55
+ derivation_id: derivationId, chunk_seq: seq, line_start: c.lineStart, line_end: c.lineEnd,
44
56
  vector: c.vector, embedding_model: model,
45
57
  });
46
58
  }
47
59
  }
48
- // §semantic-embed-dedup (#416) — before the expensive embed, reuse an existing embedding for
49
- // IDENTICAL body content (any other entry, same active model): the metaproject's 15×
50
- // tokenizer.json embeds ONCE, the rest copy. Returns the model on a hit, undefined on a miss
51
- // (caller embeds). content_hash is the stamped body identity (content-hash.ts).
52
- static async tryReuseEmbeddings(db, entryId, bodyContent, mimetypes) {
53
- const info = await EntrySemantic.#embedderInfo(mimetypes);
54
- if (info === null || info.model === undefined)
55
- return undefined;
56
- const hash = contentHash(bodyContent);
57
- const rows = await db.embedding_by_content_hash.all({ content_hash: hash, embedding_model: info.model, entry_id: entryId });
58
- if (rows.length === 0)
59
- return undefined;
60
- await db.embedding_delete.run({ entry_id: entryId });
61
- for (const c of rows) {
62
- await db.embedding_set.run({ entry_id: entryId, chunk_seq: c.chunk_seq, line_start: c.line_start, line_end: c.line_end, vector: c.vector, embedding_model: info.model });
63
- }
64
- return info.model;
65
- }
66
60
  // Project Semantics — derive an entry's chunk embeddings. Probes the embedder
67
- // capability (the daughter's window + tokenizer, surfaced via the Mimetypes
61
+ // capability (the plugin's window + tokenizer, surfaced via the Mimetypes
68
62
  // handle): ABSENT → one whole-entry chunk from the fallback vector (today's
69
63
  // behavior, no extra embed call); PRESENT → lossless tile, embed each chunk.
70
64
  // Returns the chunk list + model for indexEmbedding; never touches the DB.
71
- static async deriveEmbeddings(mimetypes, content, symbols, fallbackEmbedding, fallbackModel, signal, maxChunks) {
65
+ static async deriveEmbeddings(mimetypes, content, symbols, fallbackEmbedding, fallbackModel, signal, onProgress) {
72
66
  const info = await EntrySemantic.#embedderInfo(mimetypes);
73
67
  if (info === null) {
74
68
  const totalLines = content.length === 0 ? 0 : content.split("\n").length;
75
69
  if (fallbackEmbedding === undefined || fallbackEmbedding.byteLength === 0 || totalLines === 0)
76
- return { chunks: [], model: undefined, capped: false };
77
- return { chunks: [{ lineStart: 1, lineEnd: totalLines, vector: fallbackEmbedding }], model: fallbackModel, capped: false };
70
+ return { chunks: [], model: undefined };
71
+ return { chunks: [{ lineStart: 1, lineEnd: totalLines, vector: fallbackEmbedding }], model: fallbackModel };
78
72
  }
79
- // §semantic-entry-chunk-cap — a LATENCY stage, never a coverage bound: the INLINE
80
- // (dispatch-time) path caps chunks so a cold ~query answers in bounded seconds, and a
81
- // capped pass does NOT stamp the deep hash — the background pump completes the entry to
82
- // FULL depth (a 300-page book is entirely searchable at steady state; rank can't be
83
- // dominated regardless — semantic_rank takes one best chunk per entry). The old flat cap
84
- // silently foreclosed legitimate large texts: head-only vectors under a whole-file FTS
85
- // narrow returned head-biased spans forever, and the stamped hash made it permanent.
86
- const CHUNK_CAP = maxChunks ?? Number.POSITIVE_INFINITY;
87
73
  // Symbol edges (a @graph endLine, or the line before a symbol starts) are the
88
74
  // tiler's preferred cut points; it still tiles every line if there are none.
89
75
  const boundaries = new Set();
@@ -97,41 +83,41 @@ export default class EntrySemantic {
97
83
  // is the operator's to declare (their knob), and the counter resolves through the seam's
98
84
  // tokenizers by the embedder's model name — the chars/2 upper bound when inexact is the
99
85
  // surfaced conservative fallback (smaller chunks are correct chunks).
100
- if (info.maxTokens === null)
101
- throw new Error("remote embedder reports no token window — set PLURNK_MIMETYPES_EMBED_MAX_TOKENS to the endpoint's limit");
86
+ if (info.contextWindow === null)
87
+ throw new Error("remote embedder reports no input context window — set PLURNK_MIMETYPES_EMBED_CONTEXT_WINDOW to the endpoint's limit");
102
88
  const counter = info.countTokens ?? (await mimetypes.tokenizer(info.model ?? "")).countTokens;
103
- const budget = EntrySemantic.#chunkBudget(info.maxTokens);
104
- let specs = await EntryChunk.tile(content, boundaries, budget, EntrySemantic.#chunkOverlap(), counter);
89
+ const budget = EntrySemantic.#chunkBudget(info.contextWindow);
90
+ let specs = await EntryChunk.tile(content, boundaries, budget, EntrySemantic.#chunkOverlap(), counter, (progress) => onProgress?.({ phase: "planning", ...progress }));
105
91
  if (specs.length === 0)
106
- return { chunks: [], model: undefined, capped: false };
107
- const capped = specs.length > CHUNK_CAP;
108
- if (capped)
109
- specs = specs.slice(0, CHUNK_CAP); // §semantic-entry-chunk-cap — inline latency stage; the pump completes
92
+ return { chunks: [], model: undefined };
110
93
  // One data-parallel batch over the tiled chunk texts (#272 — embedBatch via the
111
94
  // framework seam, ~6× the per-chunk loop on a multi-core box; vectors bit-identical,
112
95
  // so no re-embed). Each tile embeds as PLAIN TEXT: a chunk is a fragment, not a
113
96
  // standalone document, so embedding under the entry's mimetype (e.g. application/json)
114
97
  // re-validates the partial and throws — embedBatch embeds raw text directly.
115
- const vectors = await mimetypes.embedBatch(specs.map((s) => s.text), { signal });
98
+ const vectors = await mimetypes.embedBatch(specs.map((s) => s.text), {
99
+ signal,
100
+ onProgress: (progress) => onProgress?.({ phase: "embedding", ...progress }),
101
+ });
116
102
  const chunks = [];
117
103
  for (const [i, spec] of specs.entries()) {
118
104
  const vector = vectors[i];
119
105
  if (vector !== undefined && vector.byteLength > 0)
120
106
  chunks.push({ lineStart: spec.lineStart, lineEnd: spec.lineEnd, vector });
121
107
  }
122
- return { chunks, model: chunks.length > 0 ? info.model : undefined, capped };
108
+ return { chunks, model: chunks.length > 0 ? info.model : undefined };
123
109
  }
124
110
  // Chunk budget in tokens — `.env.defaults` is the law, no code fallback. EMPTY =
125
111
  // the embedder's reported window (scalable — NO model-specific number baked in);
126
112
  // a positive value caps BELOW the window (e.g. to sweep granularity).
127
- static #chunkBudget(maxTokens) {
113
+ static #chunkBudget(contextWindow) {
128
114
  const raw = process.env.PLURNK_SERVICE_SEMANTIC_CHUNK_TOKENS;
129
115
  if (raw === undefined || raw.trim() === "")
130
- return maxTokens;
116
+ return contextWindow;
131
117
  const v = Number(raw);
132
118
  if (!Number.isInteger(v) || v < 1)
133
119
  throw new Error(`PLURNK_SERVICE_SEMANTIC_CHUNK_TOKENS must be empty (= the embedder's window) or a positive integer, got ${JSON.stringify(raw)}`);
134
- return Math.min(v, maxTokens);
120
+ return Math.min(v, contextWindow);
135
121
  }
136
122
  static #chunkOverlap() {
137
123
  const v = Number(process.env.PLURNK_SERVICE_SEMANTIC_CHUNK_OVERLAP);
@@ -139,11 +125,11 @@ export default class EntrySemantic {
139
125
  throw new Error(`PLURNK_SERVICE_SEMANTIC_CHUNK_OVERLAP must be in [0,1), got ${JSON.stringify(process.env.PLURNK_SERVICE_SEMANTIC_CHUNK_OVERLAP)}`);
140
126
  return v;
141
127
  }
142
- // The embedder capability surface (daughter window + tokenizer + model id), probed
128
+ // The embedder capability surface (plugin window + tokenizer + model id), probed
143
129
  // through the Mimetypes handle. null until an embedder is installed.
144
130
  static async #embedderInfo(mimetypes) {
145
131
  // PLURNK_SERVICE_EMBED_DISABLE=1 forces the no-embedder path even when the optional embeddings package
146
- // IS installed — the whole semantic stack (deriveEmbeddings, the ~query FTS→cosine fusion, the
132
+ // IS installed — the whole semantic stack (deriveEmbeddings, exhaustive ~query cosine rank, the
147
133
  // deep_hash config) funnels through here, so one gate makes everything FTS-only. The fast lane
148
134
  // (mock-provider tests) sets it so the suite doesn't spin up the MiniLM worker pool for nothing.
149
135
  if (process.env.PLURNK_SERVICE_EMBED_DISABLE === "1")
@@ -159,24 +145,22 @@ export default class EntrySemantic {
159
145
  const info = await EntrySemantic.#embedderInfo(mimetypes);
160
146
  if (info === null)
161
147
  return "embed:none";
162
- return `embed:${info.model ?? "?"}:${info.maxTokens}:${info.maxTokens === null ? "?" : EntrySemantic.#chunkBudget(info.maxTokens)}:${EntrySemantic.#chunkOverlap()}`;
148
+ const base = `embed:${info.model ?? "?"}:${info.contextWindow}:${info.contextWindow === null ? "?" : EntrySemantic.#chunkBudget(info.contextWindow)}:${EntrySemantic.#chunkOverlap()}`;
149
+ const maxBytes = EntrySemantic.maxEmbedSize();
150
+ return maxBytes === 0 ? base : `${base}:max-bytes=${maxBytes}`;
163
151
  }
164
- // Build the FTS5 narrow from a ~query: OR the alphanumeric terms (a broad cut —
165
- // cosine does the precision). FTS5-syntax-safe (bare lowercased terms).
152
+ // Build the FTS5 query used only by the no-embedder keyword fallback.
166
153
  static ftsQueryFor(text) {
167
154
  const terms = text.toLowerCase().match(/[a-z0-9]+/g);
168
155
  if (terms === null)
169
156
  return "";
170
157
  return [...new Set(terms)].join(" OR ");
171
158
  }
172
- // The ~query dispatch: embed the query text through the SAME channel, FTS-narrow by
173
- // its terms, cosine-rank the narrowed set, top-K. Each result carries its best-matching
159
+ // The ~query dispatch: embed the query text through the SAME channel and cosine-rank
160
+ // every vector in scope, top-K. Each result carries its best-matching
174
161
  // chunk's line span (the Finding extent). No embedder → the top-K <K> form degrades to an
175
162
  // FTS-only keyword rank (whole-entry findings); the <0.x> threshold form stays 501.
176
163
  static async rankSemantic(db, workspaceId, scheme, mimetypes, queryText, marker) {
177
- const ftsQuery = EntrySemantic.ftsQueryFor(queryText);
178
- if (ftsQuery.length === 0)
179
- return { status: 200, results: [] };
180
164
  // #209 — the result marker form-dispatches: integer <K> → top-K rank;
181
165
  // decimal <0.x> → a similarity threshold (minimum cosine in (0,1)), with
182
166
  // <0.x,N> capping the threshold set at N (else unbounded). A fractional
@@ -198,6 +182,9 @@ export default class EntrySemantic {
198
182
  // based (no bounded BM25 analogue) → it stays 501.
199
183
  if (!Number.isInteger(first))
200
184
  return { status: 501, results: [] };
185
+ const ftsQuery = EntrySemantic.ftsQueryFor(queryText);
186
+ if (ftsQuery.length === 0)
187
+ return { status: 200, results: [] };
201
188
  const rows = await db.semantic_rank_fts.all({
202
189
  fts_query: ftsQuery, workspace_id: workspaceId, scheme, k: first,
203
190
  });
@@ -205,7 +192,7 @@ export default class EntrySemantic {
205
192
  }
206
193
  if (Number.isInteger(first)) {
207
194
  const rows = await db.semantic_rank.all({
208
- fts_query: ftsQuery, workspace_id: workspaceId, scheme, query_vector: r.embedding, embedding_model: r.embeddingModel, k: first,
195
+ workspace_id: workspaceId, scheme, query_vector: r.embedding, embedding_model: r.embeddingModel, k: first,
209
196
  });
210
197
  return { status: 200, results: rows.map(toResult) };
211
198
  }
@@ -213,7 +200,7 @@ export default class EntrySemantic {
213
200
  return { status: 416, results: [] };
214
201
  const cap = (last !== null && Number.isInteger(last) && last > 0) ? last : -1;
215
202
  const rows = await db.semantic_rank_threshold.all({
216
- fts_query: ftsQuery, workspace_id: workspaceId, scheme, query_vector: r.embedding, embedding_model: r.embeddingModel, threshold: first, cap,
203
+ workspace_id: workspaceId, scheme, query_vector: r.embedding, embedding_model: r.embeddingModel, threshold: first, cap,
217
204
  });
218
205
  return { status: 200, results: rows.map(toResult) };
219
206
  }
@@ -1 +1 @@
1
- {"version":3,"file":"_entry-semantic.js","sourceRoot":"","sources":["../../src/schemes/_entry-semantic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_entry-semantic.js","sourceRoot":"","sources":["../../src/schemes/_entry-semantic.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,+EAA+E;AAC/E,kEAAkE;AAQlE,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,YAAY;QACf,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,qGAAqG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChJ,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,OAAe;QACrC,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,EAAE,CAAC;QAC9C,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvD,OAAO,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,CAAC;IAED,qEAAqE;IACrE,4EAA4E;IAC5E,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAM,EAAE,YAAoB,EAAE,OAAe;QAC/D,MAAO,EAAE,CAAC,UAAyB,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,MAAO,EAAE,CAAC,UAAyB,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,2EAA2E;IAC3E,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,CAAC,MAAM,CAAC,CAAa,EAAE,CAAa;QACtC,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACtF,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACtF,IAAI,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAChG,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,iEAAiE;IACjE,gFAAgF;IAChF,uEAAuE;IACvE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAM,EAAE,YAAoB,EAAE,MAAoE,EAAE,KAAyB;QACrJ,kFAAkF;QAClF,uEAAuE;QACvE,MAAO,EAAE,CAAC,gBAA+B,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;QAC/E,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAChC,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACtC,MAAO,EAAE,CAAC,aAA4B,CAAC,GAAG,CAAC;gBACvC,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO;gBACzF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK;aAC3C,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,CAAC,KAAK,CAAC,gBAAgB,CACzB,SAAoB,EACpB,OAAe,EACf,OAAuD,EACvD,iBAAyC,EACzC,aAAiC,EACjC,MAAoB,EACpB,UAAsG;QAEtG,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YACzE,IAAI,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,CAAC,UAAU,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC;gBAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YACvI,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;QAChH,CAAC;QACD,8EAA8E;QAC9E,6EAA6E;QAC7E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACtB,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;gBAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC7D,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,yFAAyF;QACzF,yFAAyF;QACzF,wFAAwF;QACxF,sEAAsE;QACtE,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,qHAAqH,CAAC,CAAC;QACxK,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;QAC9F,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAC7B,OAAO,EACP,UAAU,EACV,MAAM,EACN,aAAa,CAAC,aAAa,EAAE,EAC7B,OAAO,EACP,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,CAAC,CACjE,CAAC;QACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAChE,gFAAgF;QAChF,qFAAqF;QACrF,gFAAgF;QAChF,uFAAuF;QACvF,6EAA6E;QAC7E,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YACjE,MAAM;YACN,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAC;SAC9E,CAAC,CAAC;QACH,MAAM,MAAM,GAAiE,EAAE,CAAC;QAChF,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACjI,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACzE,CAAC;IAED,iFAAiF;IACjF,iFAAiF;IACjF,sEAAsE;IACtE,MAAM,CAAC,YAAY,CAAC,aAAqB;QACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC;QAC7D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,aAAa,CAAC;QACjE,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2GAA2G,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrL,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,aAAa;QAChB,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACpE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+DAA+D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,EAAE,CAAC,CAAC;QAC5K,OAAO,CAAC,CAAC;IACb,CAAC;IAED,iFAAiF;IACjF,qEAAqE;IACrE,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,SAAoB;QAC3C,uGAAuG;QACvG,gGAAgG;QAChG,+FAA+F;QAC/F,iGAAiG;QACjG,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAClE,OAAO,MAAM,SAAS,CAAC,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED,+EAA+E;IAC/E,gFAAgF;IAChF,iFAAiF;IACjF,mFAAmF;IACnF,6EAA6E;IAC7E,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAoB;QACjD,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,YAAY,CAAC;QACvC,MAAM,IAAI,GAAG,SAAS,IAAI,CAAC,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,aAAa,EAAE,EAAE,CAAC;QACvL,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,EAAE,CAAC;QAC9C,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,cAAc,QAAQ,EAAE,CAAC;IACnE,CAAC;IAED,sEAAsE;IACtE,MAAM,CAAC,WAAW,CAAC,IAAY;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,qFAAqF;IACrF,sEAAsE;IACtE,0FAA0F;IAC1F,oFAAoF;IACpF,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAAM,EAAE,WAAmB,EAAE,MAAqB,EAAE,SAAoB,EAAE,SAAiB,EAAE,MAA8C;QACjK,sEAAsE;QACtE,yEAAyE;QACzE,wEAAwE;QACxE,wEAAwE;QACxE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAC/B,MAAM,QAAQ,GAAG,CAAC,CAA6D,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE7J,0EAA0E;QAC1E,qFAAqF;QACrF,8EAA8E;QAC9E,8EAA8E;QAC9E,oDAAoD;QACpD,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,IAAI,KAAK,IAAI;YACnB,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE;YACrD,CAAC,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC1G,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAC9F,qFAAqF;YACrF,qFAAqF;YACrF,mDAAmD;YACnD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;gBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YAClE,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,MAAO,EAAE,CAAC,iBAAgC,CAAC,GAAG,CAA6D;gBACpH,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK;aACnE,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAO,EAAE,CAAC,aAA4B,CAAC,GAAG,CAA6D;gBAChH,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE,KAAK;aAC5G,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,CAAC;QACD,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAClE,MAAM,GAAG,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,MAAM,IAAI,GAAG,MAAO,EAAE,CAAC,uBAAsC,CAAC,GAAG,CAA6D;YAC1H,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG;SACzH,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IACxD,CAAC;CACJ"}
@@ -1,29 +1,26 @@
1
- -- ~semantic (plurnk-service#186) the FTS half of the dialect (FTS narrow →
2
- -- cosine rank). Populated at the gated manifest-add hook; the FTS5 rowid IS the
3
- -- entry id, so a re-index is delete-by-rowid then insert.
1
+ -- ~semantic (plurnk-service#186): exhaustive cosine ranking over every complete
2
+ -- derivation in scope. FTS is retained only as the explicit no-embedder fallback;
3
+ -- it never gates vector recall.
4
4
 
5
5
  -- PREP: fts_delete
6
- DELETE FROM entry_fts WHERE rowid = $entry_id;
6
+ DELETE FROM entry_fts WHERE rowid = $derivation_id;
7
7
 
8
8
  -- PREP: fts_insert
9
- INSERT INTO entry_fts (rowid, content) VALUES ($entry_id, $content);
9
+ INSERT INTO entry_fts (rowid, content) VALUES ($derivation_id, $content);
10
10
 
11
11
  -- PREP: embedding_set
12
12
  -- Insert ONE chunk's vector + its <L> extent + the model. The caller clears the
13
13
  -- entry's rows (embedding_delete) first and inserts each chunk in seq order, so no
14
14
  -- upsert is needed — a re-derivation is delete-all then insert-each.
15
- INSERT INTO entry_embeddings (entry_id, chunk_seq, line_start, line_end, vector, embedding_model)
16
- VALUES ($entry_id, $chunk_seq, $line_start, $line_end, $vector, $embedding_model);
15
+ INSERT INTO entry_embeddings (derivation_id, chunk_seq, line_start, line_end, vector, embedding_model)
16
+ VALUES ($derivation_id, $chunk_seq, $line_start, $line_end, $vector, $embedding_model);
17
17
 
18
18
  -- PREP: embedding_delete
19
19
  -- Clears ALL of an entry's chunk rows (the re-derivation reset).
20
- DELETE FROM entry_embeddings WHERE entry_id = $entry_id;
20
+ DELETE FROM entry_embeddings WHERE derivation_id = $derivation_id;
21
21
 
22
22
  -- PREP: semantic_rank
23
- -- The ~semantic fusion: FTS narrows by keyword ($fts_query), then cosine ranks the
24
- -- narrowed candidates over the query embedding ($query_vector), top-K. Scheme-scoped
25
- -- like every dialect. FTS does the scale-cut; cosine the precise rank — so a high-
26
- -- cosine entry that doesn't match the keyword is correctly excluded by the narrow.
23
+ -- Exhaustive cosine rank over every vector in the workspace+scheme scope.
27
24
  -- Many chunk rows per entry → rank by the entry's BEST chunk (per-entry top cosine via
28
25
  -- ROW_NUMBER), and surface that winning chunk's line span as the finding extent
29
26
  -- (Project Findings). embedding_model filter keeps cosine within one model's dimensions.
@@ -31,10 +28,10 @@ WITH ranked AS (
31
28
  SELECT e.pathname, em.line_start, em.line_end,
32
29
  cosine(em.vector, $query_vector) AS score,
33
30
  ROW_NUMBER() OVER (PARTITION BY e.id ORDER BY cosine(em.vector, $query_vector) DESC) AS rn
34
- FROM entry_fts f
35
- JOIN entries e ON e.id = f.rowid
36
- JOIN entry_embeddings em ON em.entry_id = e.id AND em.embedding_model = $embedding_model
37
- WHERE f.content MATCH $fts_query
31
+ FROM derivations d
32
+ JOIN entries e ON e.deep_hash = d.deep_hash
33
+ JOIN entry_embeddings em ON em.derivation_id = d.id AND em.embedding_model = $embedding_model
34
+ WHERE d.state = 'complete'
38
35
  AND e.workspace_id = $workspace_id
39
36
  AND e.scheme = $scheme
40
37
  )
@@ -44,17 +41,17 @@ ORDER BY score DESC
44
41
  LIMIT $k;
45
42
 
46
43
  -- PREP: semantic_rank_threshold
47
- -- #209 — the <0.x> similarity-threshold form: same FTS+cosine fusion, but a cosine
44
+ -- #209 — the <0.x> similarity-threshold form: same exhaustive cosine rank, but a cosine
48
45
  -- floor ($threshold, in (0,1)) replaces top-K, and $cap (-1 = unbounded) is the
49
46
  -- optional <0.x,N> result cap.
50
47
  WITH ranked AS (
51
48
  SELECT e.pathname, em.line_start, em.line_end,
52
49
  cosine(em.vector, $query_vector) AS score,
53
50
  ROW_NUMBER() OVER (PARTITION BY e.id ORDER BY cosine(em.vector, $query_vector) DESC) AS rn
54
- FROM entry_fts f
55
- JOIN entries e ON e.id = f.rowid
56
- JOIN entry_embeddings em ON em.entry_id = e.id AND em.embedding_model = $embedding_model
57
- WHERE f.content MATCH $fts_query
51
+ FROM derivations d
52
+ JOIN entries e ON e.deep_hash = d.deep_hash
53
+ JOIN entry_embeddings em ON em.derivation_id = d.id AND em.embedding_model = $embedding_model
54
+ WHERE d.state = 'complete'
58
55
  AND e.workspace_id = $workspace_id
59
56
  AND e.scheme = $scheme
60
57
  )
@@ -64,7 +61,7 @@ ORDER BY score DESC
64
61
  LIMIT $cap;
65
62
 
66
63
  -- PREP: semantic_rank_fts
67
- -- FTS-only fallback when no embedder is installed: rank entry_fts by BM25 keyword
64
+ -- FTS-only fallback when no embedder is installed: rank processed readable content by BM25
68
65
  -- relevance alone (no entry_embeddings join, no cosine), scheme-scoped, top-K. Without
69
66
  -- chunk vectors there is no winning span, so the finding is the whole entry — line
70
67
  -- 1..its line count, derived from the indexed FTS content.
@@ -72,38 +69,10 @@ SELECT e.pathname,
72
69
  1 AS line_start,
73
70
  length(f.content) - length(replace(f.content, char(10), '')) + 1 AS line_end
74
71
  FROM entry_fts f
75
- JOIN entries e ON e.id = f.rowid
76
- WHERE f.content MATCH $fts_query
77
- AND e.workspace_id = $workspace_id
78
- AND e.scheme = $scheme
79
- ORDER BY rank
80
- LIMIT $k;
81
-
82
- -- PREP: semantic_fts_candidates
83
- -- §semantic-cold-query-full-fidelity — the FTS-narrowed candidate slice, BM25-ordered,
84
- -- with the derivation inputs (content/mimetype/deep_hash) so the caller can derive any
85
- -- stale candidate INLINE before ranking. Ranking only ever scores this narrowed set, so
86
- -- embedding exactly this slice on demand gives bit-identical results to a warm corpus.
87
- SELECT e.id AS entry_id, e.pathname, ec.content, ec.mimetype, e.deep_hash, 'body' AS channel
88
- FROM entry_fts f
89
- JOIN entries e ON e.id = f.rowid
90
- JOIN entry_channels ec ON ec.entry_id = e.id AND ec.name = 'body'
72
+ JOIN derivations d ON d.id = f.rowid AND d.state = 'complete'
73
+ JOIN entries e ON e.deep_hash = d.deep_hash
91
74
  WHERE f.content MATCH $fts_query
92
75
  AND e.workspace_id = $workspace_id
93
76
  AND e.scheme = $scheme
94
77
  ORDER BY bm25(entry_fts)
95
- LIMIT $cap;
96
-
97
- -- PREP: embedding_by_content_hash
98
- -- §semantic-embed-dedup (#416) — the chunk rows of ONE OTHER entry whose body content_hash
99
- -- matches, already embedded under the active model. Identical content → identical embeddings, so
100
- -- a duplicate (the metaproject's 15× tokenizer.json) copies instead of re-embedding. Picks the
101
- -- newest such source entry; returns its chunks in seq order.
102
- SELECT em.chunk_seq, em.line_start, em.line_end, em.vector
103
- FROM entry_embeddings em
104
- WHERE em.embedding_model = $embedding_model AND em.entry_id = (
105
- SELECT ec.entry_id FROM entry_channels ec
106
- JOIN entry_embeddings e2 ON e2.entry_id = ec.entry_id AND e2.embedding_model = $embedding_model
107
- WHERE ec.name = 'body' AND ec.content_hash = $content_hash AND ec.entry_id != $entry_id
108
- ORDER BY ec.entry_id DESC LIMIT 1)
109
- ORDER BY em.chunk_seq ASC;
78
+ LIMIT $k;
@@ -3,7 +3,7 @@ import type { ProposalResolution } from "../core/ProposalLifecycle.ts";
3
3
  import Engine from "../core/Engine.ts";
4
4
  import SchemeRegistry from "../core/SchemeRegistry.ts";
5
5
  import { Mimetypes } from "@plurnk/plurnk-mimetypes";
6
- import type { Provider } from "@plurnk/plurnk-providers";
6
+ import type { Provider, ProviderAlias } from "@plurnk/plurnk-providers";
7
7
  export type NotifyTarget = "all" | {
8
8
  workspaceId: number;
9
9
  };
@@ -132,6 +132,7 @@ export default class Daemon {
132
132
  effect: string;
133
133
  glob: string;
134
134
  }[]>;
135
+ workspaceDerivationStatus(workspaceId: number): import("../core/Engine.ts").WorkspaceDerivationStatus | null;
135
136
  createWorkspace(args: {
136
137
  name?: string;
137
138
  projectRoot?: string | null;
@@ -221,7 +222,7 @@ export default class Daemon {
221
222
  workspaceId: number;
222
223
  workerId: number;
223
224
  prompt: string;
224
- provider: Provider;
225
+ providerSpec: ProviderAlias;
225
226
  systemPrompt: string;
226
227
  maxTurns?: number;
227
228
  flags?: Partial<LoopFlags>;
@@ -242,5 +243,5 @@ export default class Daemon {
242
243
  */
243
244
  cancelDrain(workerId: number, reason?: string): boolean;
244
245
  }
245
- export type CoreSeam = Pick<Daemon, "subscribeToEvents" | "pendingProposals" | "resolveProposal" | "runLoop" | "cancelDrain" | "dispatchAsClient" | "ensureModelWorker" | "readLog" | "readEntry" | "look" | "listProviders" | "listWorkspaces" | "listWorkers" | "listPrompts" | "listMembers" | "listConstraints" | "createWorkspace" | "attachWorkspace" | "createConversationWorker" | "renameWorkspace" | "constrain" | "unconstrain" | "forkWorker" | "hotloadRuntime">;
246
+ export type CoreSeam = Pick<Daemon, "subscribeToEvents" | "pendingProposals" | "resolveProposal" | "runLoop" | "cancelDrain" | "dispatchAsClient" | "ensureModelWorker" | "readLog" | "readEntry" | "look" | "listProviders" | "listWorkspaces" | "listWorkers" | "listPrompts" | "listMembers" | "listConstraints" | "workspaceDerivationStatus" | "createWorkspace" | "attachWorkspace" | "createConversationWorker" | "renameWorkspace" | "constrain" | "unconstrain" | "forkWorker" | "hotloadRuntime">;
246
247
  //# sourceMappingURL=Daemon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Daemon.d.ts","sourceRoot":"","sources":["../../src/server/Daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Daemon.d.ts","sourceRoot":"","sources":["../../src/server/Daemon.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,EAAc,MAAM,eAAe,CAAC;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGxE,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,MAAM,WAAW,eAAe;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE;AAChN,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAOpD,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,6BAA6B,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAO7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAKlD,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAGD,MAAM,WAAW,YAAY;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;CAAE;AAC1H,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvC,IAAI,EAAE,MAAM,EAAE,CAAC;CAClB;AAGD,MAAM,CAAC,OAAO,OAAO,MAAM;;IA4CvB,YAAY,EACR,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,GACpD,EAAE;QACC,EAAE,EAAE,EAAE,CAAC;QACP,OAAO,CAAC,EAAE,cAAc,CAAC;QACzB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC5B,EAwEA;IAQD,iBAAiB,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAG5G;IAMK,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAEtE;IAED,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,IAAI,CAExE;IAMK,OAAO,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CA6BrR;IAsDD,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtD;IAOK,gBAAgB,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,eAAe,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAcvJ;IAOK,IAAI,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,eAAe,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAI3I;IAMK,OAAO,CAAC,IAAI,EAAE;QAChB,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QACtC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACnE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KACzD,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAc1B;IAID,aAAa,IAAI;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,OAAO,CAAC;YAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC,CAAA;KAAE,CAapI;IAED,cAAc,oDAAgD;IAC9D,WAAW,CAAC,WAAW,EAAE,MAAM,gDAAqE;IACpG,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,GAAE,MAAY,qBAA4E;IAChI,WAAW,CAAC,WAAW,EAAE,MAAM;;;;;;OAAsF;IACrH,eAAe,CAAC,WAAW,EAAE,MAAM;gBAC+C,MAAM;cAAQ,MAAM;SACrG;IACD,yBAAyB,CAAC,WAAW,EAAE,MAAM,gEAE5C;IAOK,eAAe,CAAC,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAgBtL;IAEK,eAAe,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAKpH;IAEK,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAK9F;IAEK,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAgB5G;IAEK,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAM9G;IAKK,SAAS,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;KAAE,CAAC,CAmBvJ;IASK,wBAAwB,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAY9H;IAGK,UAAU,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CAcjK;IAQD,cAAc,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAC;QAAC,YAAY,EAAE,mBAAmB,CAAA;KAAE,GAAG,IAAI,CAUtG;IACD,IAAI,MAAM,IAAI,MAAM,CAAyB;IAC7C,IAAI,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAA2B;IAC1D,IAAI,OAAO,IAAI,cAAc,CAA0B;IACvD,IAAI,SAAS,IAAI,SAAS,CAA4B;IAOtD,cAAc,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,GAAG,IAAI,CAEtD;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA8B3B;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAgC1B;IAWD;;;;OAIG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAE9H;IAED;;;;;;OAMG;IACH,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAE1F;IA+BK,MAAM,CAAC,IAAI,EAAE;QACf,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QACtD,YAAY,EAAE,aAAa,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACvE,GAAG,OAAO,CAAC;QACR,MAAM,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;QACnD,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAC5C,YAAY,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;KACnC,CAAC,CAsED;IA6SD;;;;;;OAMG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAyB,GAAG,OAAO,CA2CxE;CAkOJ;AAMD,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAC5B,mBAAmB,GACnB,kBAAkB,GAAG,iBAAiB,GACtC,SAAS,GAAG,aAAa,GAAG,kBAAkB,GAAG,mBAAmB,GACpE,SAAS,GAAG,WAAW,GAAG,MAAM,GAChC,eAAe,GAAG,gBAAgB,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,GAAG,iBAAiB,GAAG,2BAA2B,GACpI,iBAAiB,GAAG,iBAAiB,GAAG,0BAA0B,GAAG,iBAAiB,GAAG,WAAW,GAAG,aAAa,GACpH,YAAY,GACZ,gBAAgB,CACrB,CAAC"}