pilotswarm-horizon-store 0.2.2 → 0.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.
- package/dist/src/agent-tools.d.ts.map +1 -1
- package/dist/src/agent-tools.js +22 -12
- package/dist/src/agent-tools.js.map +1 -1
- package/dist/src/horizon-store.d.ts +4 -3
- package/dist/src/horizon-store.d.ts.map +1 -1
- package/dist/src/horizon-store.js +76 -17
- package/dist/src/horizon-store.js.map +1 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/migrations/0014_prefix_crawl_flag.sql +160 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-tools.d.ts","sourceRoot":"","sources":["../../src/agent-tools.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACR,aAAa,EAAE,UAAU,EAC5B,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5C;AAED,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE1C,MAAM,WAAW,iBAAiB;IAC9B,+CAA+C;IAC/C,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,aAAa,CAAC;IAC7C,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,gBAAgB,CAC5B,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,IAAI,GAAE,iBAAsB,GAC7B,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"agent-tools.d.ts","sourceRoot":"","sources":["../../src/agent-tools.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACR,aAAa,EAAE,UAAU,EAC5B,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5C;AAED,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE1C,MAAM,WAAW,iBAAiB;IAC9B,+CAA+C;IAC/C,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,aAAa,CAAC;IAC7C,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,gBAAgB,CAC5B,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,IAAI,GAAE,iBAAsB,GAC7B,SAAS,EAAE,CAoSb"}
|
package/dist/src/agent-tools.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
//
|
|
7
7
|
// READER — facts_search / facts_similar / facts_read + the graph READ tools.
|
|
8
8
|
// HARVESTER — everything the reader gets, plus the PRIVILEGED crawl-queue
|
|
9
|
-
// tools (facts_read_uncrawled /
|
|
9
|
+
// tools (facts_read_uncrawled / facts_set_crawled) and the graph
|
|
10
10
|
// WRITE tools. Crawling sees ALL facts across scopes by design
|
|
11
11
|
// (01 §6.6); only grant this bundle to the trusted harvester role.
|
|
12
12
|
//
|
|
@@ -132,38 +132,48 @@ export function createFactsTools(factStore, graphStore, opts = {}) {
|
|
|
132
132
|
tools.push({
|
|
133
133
|
name: "facts_read_uncrawled",
|
|
134
134
|
description: "PRIVILEGED work queue: facts not yet incorporated into the graph (new or edited since last crawl), " +
|
|
135
|
-
"across ALL scopes. Keep each fact's scopeKey and etag — both are the receipt
|
|
135
|
+
"across ALL scopes. Keep each fact's scopeKey and etag — both are the receipt facts_set_crawled needs.",
|
|
136
136
|
parameters: {
|
|
137
137
|
type: "object",
|
|
138
138
|
properties: {
|
|
139
|
-
|
|
140
|
-
|
|
139
|
+
keyPrefix: { type: "string", description: "Restrict the queue to a literal key prefix (a crawler may reuse its graph namespace as this prefix)." },
|
|
140
|
+
namespace: { type: "string", description: "Deprecated alias for keyPrefix (accepted one release for existing prompts)." },
|
|
141
|
+
limit: { type: "number", description: "Max facts this batch (default 20, capped at 500)." },
|
|
141
142
|
},
|
|
142
143
|
},
|
|
143
|
-
handler: (a) => factStore.readUncrawledFacts({
|
|
144
|
+
handler: (a) => factStore.readUncrawledFacts({ keyPrefix: a.keyPrefix ?? a.namespace, limit: a.limit, embeddedOnly }),
|
|
144
145
|
});
|
|
145
146
|
tools.push({
|
|
146
|
-
name: "
|
|
147
|
-
description: "
|
|
148
|
-
"
|
|
147
|
+
name: "facts_set_crawled",
|
|
148
|
+
description: "Set the crawled flag on a selection of facts. Provide EXACTLY one of: " +
|
|
149
|
+
"`scopeKeys` — after processing rows from facts_read_uncrawled, pass each row's { scopeKey, etag } " +
|
|
150
|
+
"(include etag to make the entry conditional/race-safe, or omit it entirely — not null — to force/stomp); or " +
|
|
151
|
+
"`keyPrefix` — flip a whole literal key prefix at once (coarse, no per-row etag). " +
|
|
152
|
+
"Set `crawled:false` to put facts BACK on the radar for recrawl (e.g. after changing extraction logic). " +
|
|
153
|
+
"A skipped entry means the fact changed since your read (etag mismatch) or was already in that state; " +
|
|
154
|
+
"a scopeKey that no longer exists is neither marked nor skipped.",
|
|
149
155
|
parameters: {
|
|
150
156
|
type: "object",
|
|
151
157
|
properties: {
|
|
152
|
-
|
|
158
|
+
scopeKeys: {
|
|
153
159
|
type: "array",
|
|
160
|
+
description: "Explicit batch (max 500) of { scopeKey, etag? } receipts from facts_read_uncrawled.",
|
|
161
|
+
minItems: 1,
|
|
162
|
+
maxItems: 500,
|
|
154
163
|
items: {
|
|
155
164
|
type: "object",
|
|
156
165
|
properties: {
|
|
157
166
|
scopeKey: { type: "string" },
|
|
158
167
|
etag: { type: "number" },
|
|
159
168
|
},
|
|
160
|
-
required: ["scopeKey"
|
|
169
|
+
required: ["scopeKey"],
|
|
161
170
|
},
|
|
162
171
|
},
|
|
172
|
+
keyPrefix: { type: "string", description: "Literal key prefix to flip in one shot (coarse; no per-row etag)." },
|
|
173
|
+
crawled: { type: "boolean", description: "Default true. false clears the flag to trigger a recrawl." },
|
|
163
174
|
},
|
|
164
|
-
required: ["stamps"],
|
|
165
175
|
},
|
|
166
|
-
handler: (a) => factStore.
|
|
176
|
+
handler: (a) => factStore.setFactsCrawled({ scopeKeys: a.scopeKeys, keyPrefix: a.keyPrefix, crawled: a.crawled }),
|
|
167
177
|
});
|
|
168
178
|
tools.push({
|
|
169
179
|
name: "graph_remove_evidence",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-tools.js","sourceRoot":"","sources":["../../src/agent-tools.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,EAAE;AACF,oFAAoF;AACpF,8EAA8E;AAC9E,qCAAqC;AACrC,EAAE;AACF,kFAAkF;AAClF,4EAA4E;AAC5E
|
|
1
|
+
{"version":3,"file":"agent-tools.js","sourceRoot":"","sources":["../../src/agent-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AccessContext,
|
|
1
|
+
import type { AccessContext, SetFactsCrawledInput, DeletedFactResult, DeletedFactsResult, DeleteFactInput, EmbedderStatus, EmbeddingEndpointConfig, EnhancedFactStore, FactRecord, FactsStatsRow, FactsTombstoneStats, ForcePurgeFactsInput, ReadFactsQuery, SearchOpts, SearchResult, SimilarOpts, StoreFactInput, StoredFactResult } from "./types.js";
|
|
2
2
|
import type { HorizonFactsConfig } from "./config.js";
|
|
3
3
|
/** df-allow-list normalization: the Azure AI Foundry unified host is blocked
|
|
4
4
|
* for df.http; the classic AOAI host points at the same deployment. */
|
|
@@ -63,6 +63,7 @@ export declare class HorizonDBFactStore implements EnhancedFactStore {
|
|
|
63
63
|
private semanticCandidates;
|
|
64
64
|
similarFacts(scopeKey: string, opts?: SimilarOpts, access?: AccessContext): Promise<SearchResult>;
|
|
65
65
|
readUncrawledFacts(opts?: {
|
|
66
|
+
keyPrefix?: string;
|
|
66
67
|
namespace?: string;
|
|
67
68
|
limit?: number;
|
|
68
69
|
embeddedOnly?: boolean;
|
|
@@ -70,8 +71,8 @@ export declare class HorizonDBFactStore implements EnhancedFactStore {
|
|
|
70
71
|
count: number;
|
|
71
72
|
facts: FactRecord[];
|
|
72
73
|
}>;
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
setFactsCrawled(input: SetFactsCrawledInput): Promise<{
|
|
75
|
+
affected: number;
|
|
75
76
|
skipped: number;
|
|
76
77
|
}>;
|
|
77
78
|
purgeExpiredFacts(ttlSeconds: number, limit?: number): Promise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"horizon-store.d.ts","sourceRoot":"","sources":["../../src/horizon-store.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACR,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"horizon-store.d.ts","sourceRoot":"","sources":["../../src/horizon-store.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACR,aAAa,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAsB,cAAc,EAC/H,uBAAuB,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAChH,cAAc,EAAc,UAAU,EAAE,YAAY,EAAE,WAAW,EACjE,cAAc,EAAE,gBAAgB,EACnC,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA6EtD;uEACuE;AACvE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAUvF;AAKD,qBAAa,kBAAmB,YAAW,iBAAiB;IAkBpD,OAAO,CAAC,QAAQ,CAAC,GAAG;IAjBxB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,WAAW,CAAS;IAC5B,sEAAsE;IACtE,OAAO,CAAC,WAAW,CAAC,CAA0B;IAC9C,OAAO,CAAC,aAAa,CAAC,CAAkB;IAExC;;;;;;yEAMqE;IACrE,QAAQ,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAE9D,OAAO;WAQM,MAAM,CAAC,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqB1F,OAAO,KAAK,MAAM,GAA+B;IACjD,OAAO,KAAK,CAAC,GAAiC;IAI9C;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAC3D,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;IAyB1F,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAqBzG,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IACnF,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG;QAAE,OAAO,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAChG,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,GAAG,kBAAkB,CAAC;IAmBnF,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAMxD,KAAK;IAYnB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAGjE,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAGxE,mBAAmB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAMzC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IA+D1G,OAAO,CAAC,SAAS;YASH,iBAAiB;YASjB,kBAAkB;IAY1B,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAiBzG,kBAAkB,CAAC,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO,GAClH,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAe7C,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAW5F,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,SAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAQpE,sBAAsB,CAAC,UAAU,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQzE,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBnE,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,aAAa;IAIrB,OAAO,KAAK,mBAAmB,GAE9B;IAED,OAAO,KAAK,cAAc,GAEzB;YAEa,kBAAkB;IAYhC;;;;;;OAMG;YACW,gBAAgB;IAYxB,iBAAiB,CACnB,QAAQ,EAAE,uBAAuB,EACjC,IAAI,GAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAO,GAC1C,OAAO,CAAC,cAAc,CAAC;IAkDpB,aAAa,CAAC,IAAI,GAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,cAAc,CAAC;YAoBvF,UAAU;IAgBlB,YAAY,CAAC,MAAM,SAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IAWjE,cAAc,CAAC,IAAI,GAAE,GAAe,GAAG,OAAO,CAAC,cAAc,CAAC;YAuBtD,MAAM;IAKpB;;wDAEoD;IACpD;;;;;OAKG;YACW,WAAW;YAQX,oBAAoB;CA6BrC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// can replace PgFactStore anywhere a FactStore is expected. It ADDS:
|
|
5
5
|
// - searchFacts (lexical BM25 / semantic / hybrid — facts store only)
|
|
6
6
|
// - similarFacts (semantic kNN of a known fact; inaccessible anchor ≡ unknown)
|
|
7
|
-
// - crawl tracking (readUncrawledFacts /
|
|
7
|
+
// - crawl tracking (readUncrawledFacts / setFactsCrawled — PRIVILEGED)
|
|
8
8
|
// - the embedder lifecycle (configure/start/stop/status; restart-on-configure)
|
|
9
9
|
//
|
|
10
10
|
// The open knowledge graph is a SEPARATE provider — HorizonDBGraphStore in
|
|
@@ -29,6 +29,65 @@ function computeScopeKey(key, shared, sessionId) {
|
|
|
29
29
|
throw new Error("Session-scoped facts require a sessionId.");
|
|
30
30
|
return `session:${sessionId}:${key}`;
|
|
31
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Validate + normalize {@link SetFactsCrawledInput} into a single proc call.
|
|
34
|
+
* Mirrors the SQL guards in `facts_set_crawled_by_keys`. Duplicated from the SDK
|
|
35
|
+
* base store on purpose: this package keeps a type-only dependency on the SDK
|
|
36
|
+
* (no runtime import), so the two providers stay drop-in identical.
|
|
37
|
+
*/
|
|
38
|
+
function normalizeSetFactsCrawled(input) {
|
|
39
|
+
let crawled = true;
|
|
40
|
+
if (input?.crawled !== undefined && input?.crawled !== null) {
|
|
41
|
+
if (typeof input.crawled !== "boolean") {
|
|
42
|
+
throw new Error("setFactsCrawled: crawled must be a boolean.");
|
|
43
|
+
}
|
|
44
|
+
crawled = input.crawled;
|
|
45
|
+
}
|
|
46
|
+
const hasKeys = input?.scopeKeys !== undefined && input?.scopeKeys !== null;
|
|
47
|
+
const hasPrefix = input?.keyPrefix !== undefined && input?.keyPrefix !== null;
|
|
48
|
+
if (hasKeys === hasPrefix) {
|
|
49
|
+
throw new Error("setFactsCrawled: provide exactly one of { scopeKeys } or { keyPrefix }.");
|
|
50
|
+
}
|
|
51
|
+
if (hasPrefix) {
|
|
52
|
+
const prefix = input.keyPrefix;
|
|
53
|
+
if (typeof prefix !== "string" || prefix === "") {
|
|
54
|
+
throw new Error("setFactsCrawled: keyPrefix must be a non-empty string (it would otherwise select every fact).");
|
|
55
|
+
}
|
|
56
|
+
return { mode: "prefix", prefix, crawled };
|
|
57
|
+
}
|
|
58
|
+
const entries = input.scopeKeys;
|
|
59
|
+
if (!Array.isArray(entries) || entries.length === 0) {
|
|
60
|
+
throw new Error("setFactsCrawled: scopeKeys must be a non-empty array.");
|
|
61
|
+
}
|
|
62
|
+
if (entries.length > 500) {
|
|
63
|
+
throw new Error("setFactsCrawled: scopeKeys is capped at 500 entries; page larger batches.");
|
|
64
|
+
}
|
|
65
|
+
const seen = new Set();
|
|
66
|
+
const keys = entries.map((e) => {
|
|
67
|
+
if (!e || typeof e.scopeKey !== "string" || e.scopeKey === "") {
|
|
68
|
+
throw new Error("setFactsCrawled: each scopeKeys entry needs a non-empty scopeKey.");
|
|
69
|
+
}
|
|
70
|
+
if (seen.has(e.scopeKey)) {
|
|
71
|
+
throw new Error(`setFactsCrawled: duplicate scopeKey "${e.scopeKey}" in batch.`);
|
|
72
|
+
}
|
|
73
|
+
seen.add(e.scopeKey);
|
|
74
|
+
// A present etag (even null) makes the entry a conditional CAS and MUST
|
|
75
|
+
// be a positive integer (number or clean digit-string, mirroring the SQL
|
|
76
|
+
// guard). To force/stomp, OMIT the field entirely — do NOT pass null,
|
|
77
|
+
// which would otherwise silently mark the wrong source version crawled.
|
|
78
|
+
if (e.etag === undefined) {
|
|
79
|
+
return { scopeKey: e.scopeKey };
|
|
80
|
+
}
|
|
81
|
+
const etag = typeof e.etag === "string" && /^[1-9][0-9]*$/.test(e.etag)
|
|
82
|
+
? Number(e.etag)
|
|
83
|
+
: e.etag;
|
|
84
|
+
if (typeof etag !== "number" || !Number.isInteger(etag) || etag <= 0) {
|
|
85
|
+
throw new Error("setFactsCrawled: etag must be a positive integer when provided (omit it to force a stomp).");
|
|
86
|
+
}
|
|
87
|
+
return { scopeKey: e.scopeKey, etag };
|
|
88
|
+
});
|
|
89
|
+
return { mode: "keys", keys, crawled };
|
|
90
|
+
}
|
|
32
91
|
/** df-allow-list normalization: the Azure AI Foundry unified host is blocked
|
|
33
92
|
* for df.http; the classic AOAI host points at the same deployment. */
|
|
34
93
|
export function toAllowlistedAzureHost(url) {
|
|
@@ -300,25 +359,25 @@ export class HorizonDBFactStore {
|
|
|
300
359
|
}
|
|
301
360
|
// ─── crawl tracking (02 §3a — PRIVILEGED harvester surface) ──────────────
|
|
302
361
|
async readUncrawledFacts(opts = {}) {
|
|
303
|
-
|
|
362
|
+
// Literal key prefix (the proc escapes %/_/\). `namespace` is a deprecated
|
|
363
|
+
// alias for `keyPrefix`; an empty prefix means "all scopes". Do NOT route
|
|
364
|
+
// through namespacePrefix() — that appends a LIKE wildcard for the search
|
|
365
|
+
// procs and would be matched literally (then escaped) by this proc.
|
|
366
|
+
const raw = opts.keyPrefix ?? opts.namespace ?? null;
|
|
367
|
+
const keyPrefix = typeof raw === "string" && raw !== "" ? raw : null;
|
|
368
|
+
const { rows } = await withDbRetry("facts_read_uncrawled", () => this.pool.query(`SELECT * FROM ${this.s}.facts_read_uncrawled($1, $2, $3)`, [keyPrefix, Math.min(opts.limit ?? 20, 500), opts.embeddedOnly ?? false]));
|
|
304
369
|
const facts = rows.map(mapFactRow);
|
|
305
370
|
return { count: facts.length, facts };
|
|
306
371
|
}
|
|
307
|
-
async
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
const
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
throw new Error("markFactsCrawled: every stamp requires { scopeKey, etag } (the receipt from readUncrawledFacts)");
|
|
317
|
-
}
|
|
318
|
-
return { scopeKey: st.scopeKey, etag };
|
|
319
|
-
});
|
|
320
|
-
const { rows } = await withDbRetry("facts_mark_crawled", () => this.pool.query(`SELECT * FROM ${this.s}.facts_mark_crawled($1::jsonb)`, [JSON.stringify(normalized)]));
|
|
321
|
-
return { marked: Number(rows[0]?.marked ?? 0), skipped: Number(rows[0]?.skipped ?? 0) };
|
|
372
|
+
async setFactsCrawled(input) {
|
|
373
|
+
const norm = normalizeSetFactsCrawled(input);
|
|
374
|
+
const sql = norm.mode === "prefix"
|
|
375
|
+
? `SELECT * FROM ${this.s}.facts_set_crawled_by_prefix($1, $2)`
|
|
376
|
+
: `SELECT * FROM ${this.s}.facts_set_crawled_by_keys($1::jsonb, $2)`;
|
|
377
|
+
const arg = norm.mode === "prefix" ? norm.prefix : JSON.stringify(norm.keys);
|
|
378
|
+
const label = norm.mode === "prefix" ? "facts_set_crawled_by_prefix" : "facts_set_crawled_by_keys";
|
|
379
|
+
const { rows } = await withDbRetry(label, () => this.pool.query(sql, [arg, norm.crawled]));
|
|
380
|
+
return { affected: Number(rows[0]?.affected ?? 0), skipped: Number(rows[0]?.skipped ?? 0) };
|
|
322
381
|
}
|
|
323
382
|
async purgeExpiredFacts(ttlSeconds, limit = 1000) {
|
|
324
383
|
const { rows } = await withDbRetry("facts_purge_expired", () => this.pool.query(`SELECT ${this.s}.facts_purge_expired($1, $2) AS purged`, [Math.max(0, Math.floor(ttlSeconds)), Math.max(1, Math.floor(limit))]));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"horizon-store.js","sourceRoot":"","sources":["../../src/horizon-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"horizon-store.js","sourceRoot":"","sources":["../../src/horizon-store.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { FactRecord, StoreFactInput, StoredFactResult, ReadFactsQuery, DeleteFactInput, DeletedFactResult, DeletedFactsResult, FactsNamespace, FactsStatsRow, FactsTombstoneStats, ForcePurgeFactsInput, AccessContext, FactStore,
|
|
1
|
+
export type { FactRecord, StoreFactInput, StoredFactResult, ReadFactsQuery, DeleteFactInput, DeletedFactResult, DeletedFactsResult, FactsNamespace, FactsStatsRow, FactsTombstoneStats, ForcePurgeFactsInput, AccessContext, FactStore, SetFactsCrawledInput, SetFactsCrawledScopeKey, EnhancedFactStore, FactsCapabilities, SearchMode, SearchWeights, SearchOpts, SimilarOpts, ScoredFact, SearchResult, EmbedderStatus, EmbedderLoopStatus, EmbeddingEndpointConfig, GraphStore, GraphNodeInput, GraphEdgeInput, GraphNamespaceQuery, GraphNodeQuery, GraphEdgeQuery, GraphNodeRef, GraphNodeHit, GraphEdgeRef, GraphEdgeHit, GraphEvidenceRemovalResult, SubGraph, GraphNamespaceFrontmatter, GraphNamespaceInfo, GraphNamespaceInput, GraphNamespaceListQuery, GraphNamespaceDeleteResult, } from "pilotswarm-sdk";
|
|
2
2
|
import type { AccessContext } from "pilotswarm-sdk";
|
|
3
3
|
/**
|
|
4
4
|
* Whether a fact scope_key is readable under the given access context, decided
|
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAUA,YAAY,EAER,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,SAAS,EACT,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAUA,YAAY,EAER,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,uBAAuB,EAEvB,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,UAAU,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EAEvB,UAAU,EACV,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,0BAA0B,EAC1B,QAAQ,EAER,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,GAC7B,MAAM,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAYpF;AAED;;;GAGG;AACH,YAAY,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/src/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,8EAA8E;AAC9E,gEAAgE;AAChE,EAAE;AACF,4EAA4E;AAC5E,2BAA2B;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,8EAA8E;AAC9E,gEAAgE;AAChE,EAAE;AACF,4EAA4E;AAC5E,2BAA2B;AA2D3B;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,MAAsB;IACvE,IAAI,MAAM,EAAE,YAAY;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,GAAG,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrC,IAAI,MAAM,EAAE,eAAe,IAAI,SAAS,KAAK,MAAM,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC;QACjF,IAAI,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
-- 0014_prefix_crawl_flag — multi-crawler Phase 1: prefix-scoped crawl flag.
|
|
2
|
+
--
|
|
3
|
+
-- Generalizes the single-crawler queue into N crawlers over DISJOINT key
|
|
4
|
+
-- prefixes. There is no registry / lock / per-crawler state here — that is the
|
|
5
|
+
-- Phase 2 design. Because each fact lives under exactly one crawler's prefix, no
|
|
6
|
+
-- two crawlers touch the same row, so the single shared last_crawled_at column
|
|
7
|
+
-- never contends.
|
|
8
|
+
--
|
|
9
|
+
-- - facts_like_prefix(text) : escape % _ \ in a literal prefix so LIKE
|
|
10
|
+
-- matches it literally while still letting the
|
|
11
|
+
-- planner use a text_pattern_ops index range.
|
|
12
|
+
-- - facts_read_uncrawled : param p_ns_prefix -> p_key_prefix, escaped
|
|
13
|
+
-- literal-prefix LIKE, ORDER BY key,id.
|
|
14
|
+
-- - facts_set_crawled_by_prefix : flip last_crawled_at for a whole literal prefix.
|
|
15
|
+
-- - facts_set_crawled_by_keys : flip last_crawled_at for an explicit batch of
|
|
16
|
+
-- {scopeKey, etag?} receipts (1..500).
|
|
17
|
+
-- - facts_mark_crawled : DROPPED — replaced by facts_set_crawled_by_keys.
|
|
18
|
+
-- - idx_facts_uncrawled_key : (key text_pattern_ops, id) WHERE last_crawled_at IS NULL.
|
|
19
|
+
--
|
|
20
|
+
-- Crawl writes only touch last_crawled_at; facts_touch never bumps etag for a
|
|
21
|
+
-- last_crawled_at-only write, so a {scopeKey, etag} receipt survives a recrawl.
|
|
22
|
+
--
|
|
23
|
+
-- Tokens: {{SCHEMA}}.
|
|
24
|
+
|
|
25
|
+
-- Escape a literal key prefix into a LIKE pattern: backslash-escape the LIKE
|
|
26
|
+
-- metacharacters (\ % _) then append the trailing % wildcard. Pair with
|
|
27
|
+
-- `ESCAPE chr(92)` at the call site. chr(92) is a literal backslash; using it
|
|
28
|
+
-- avoids backslash-quoting ambiguity across SQL string forms.
|
|
29
|
+
CREATE OR REPLACE FUNCTION "{{SCHEMA}}".facts_like_prefix(p_prefix TEXT)
|
|
30
|
+
RETURNS TEXT LANGUAGE sql IMMUTABLE STRICT AS $$
|
|
31
|
+
SELECT replace(replace(replace(p_prefix, chr(92), chr(92) || chr(92)),
|
|
32
|
+
'%', chr(92) || '%'), '_', chr(92) || '_') || '%';
|
|
33
|
+
$$;
|
|
34
|
+
|
|
35
|
+
-- Queue-prefix index: pending rows keyed by key for prefix range scans. The
|
|
36
|
+
-- text_pattern_ops opclass is required because the database collation is not C;
|
|
37
|
+
-- without it the LIKE-prefix range cannot use the index.
|
|
38
|
+
CREATE INDEX IF NOT EXISTS idx_facts_uncrawled_key
|
|
39
|
+
ON "{{SCHEMA}}".facts (key text_pattern_ops, id)
|
|
40
|
+
WHERE last_crawled_at IS NULL;
|
|
41
|
+
|
|
42
|
+
-- Read: pending facts (last_crawled_at IS NULL) across ALL scopes, narrowed by a
|
|
43
|
+
-- literal key prefix, oldest-first within the prefix. p_embedded_only is an
|
|
44
|
+
-- enhanced-store gate: skip live rows that have not embedded yet (tombstones
|
|
45
|
+
-- always surface so deletes can be reconciled).
|
|
46
|
+
DROP FUNCTION IF EXISTS "{{SCHEMA}}".facts_read_uncrawled(TEXT, INT, BOOLEAN);
|
|
47
|
+
CREATE OR REPLACE FUNCTION "{{SCHEMA}}".facts_read_uncrawled(
|
|
48
|
+
p_key_prefix TEXT,
|
|
49
|
+
p_limit INT,
|
|
50
|
+
p_embedded_only BOOLEAN DEFAULT FALSE
|
|
51
|
+
) RETURNS SETOF "{{SCHEMA}}".facts
|
|
52
|
+
LANGUAGE sql STABLE AS $$
|
|
53
|
+
SELECT f.* FROM "{{SCHEMA}}".facts f
|
|
54
|
+
WHERE f.last_crawled_at IS NULL
|
|
55
|
+
AND (p_key_prefix IS NULL
|
|
56
|
+
OR f.key LIKE "{{SCHEMA}}".facts_like_prefix(p_key_prefix) ESCAPE chr(92))
|
|
57
|
+
AND (f.deleted_at IS NOT NULL OR NOT p_embedded_only OR f.embedding IS NOT NULL)
|
|
58
|
+
ORDER BY f.key, f.id
|
|
59
|
+
LIMIT p_limit;
|
|
60
|
+
$$;
|
|
61
|
+
|
|
62
|
+
-- Prefix writer: flip last_crawled_at for a whole literal prefix.
|
|
63
|
+
-- crawled=true : queued (NULL) -> now(); NEVER a tombstone (a blind flush
|
|
64
|
+
-- must not turn unreconciled deletes into purgeable rows).
|
|
65
|
+
-- crawled=false : crawled -> NULL (recrawl); tombstones included.
|
|
66
|
+
-- affected = rows that changed state. skipped = rows that matched the prefix
|
|
67
|
+
-- selector but were already in the requested state. An empty prefix is a no-op
|
|
68
|
+
-- (defence in depth; the provider/tool layer rejects it outright).
|
|
69
|
+
CREATE OR REPLACE FUNCTION "{{SCHEMA}}".facts_set_crawled_by_prefix(
|
|
70
|
+
p_key_prefix TEXT,
|
|
71
|
+
p_crawled BOOLEAN
|
|
72
|
+
) RETURNS TABLE (affected INT, skipped INT)
|
|
73
|
+
LANGUAGE sql AS $$
|
|
74
|
+
WITH matched AS (
|
|
75
|
+
SELECT f.id
|
|
76
|
+
FROM "{{SCHEMA}}".facts f
|
|
77
|
+
WHERE p_key_prefix IS NOT NULL
|
|
78
|
+
AND p_key_prefix <> ''
|
|
79
|
+
AND f.key LIKE "{{SCHEMA}}".facts_like_prefix(p_key_prefix) ESCAPE chr(92)
|
|
80
|
+
AND (NOT p_crawled OR f.deleted_at IS NULL)
|
|
81
|
+
), upd AS (
|
|
82
|
+
UPDATE "{{SCHEMA}}".facts f
|
|
83
|
+
SET last_crawled_at = CASE WHEN p_crawled THEN now() ELSE NULL END
|
|
84
|
+
FROM matched m
|
|
85
|
+
WHERE f.id = m.id
|
|
86
|
+
AND ( (p_crawled AND f.last_crawled_at IS NULL)
|
|
87
|
+
OR (NOT p_crawled AND f.last_crawled_at IS NOT NULL) )
|
|
88
|
+
RETURNING f.id
|
|
89
|
+
)
|
|
90
|
+
SELECT (SELECT count(*) FROM upd)::int AS affected,
|
|
91
|
+
((SELECT count(*) FROM matched) - (SELECT count(*) FROM upd))::int AS skipped;
|
|
92
|
+
$$;
|
|
93
|
+
|
|
94
|
+
-- Explicit-batch writer: 1..500 {scopeKey, etag?} receipts.
|
|
95
|
+
-- with etag : conditional — facts.etag must match, else skipped.
|
|
96
|
+
-- without etag : unconditional stomp of that key's crawl flag.
|
|
97
|
+
-- affected = rows that changed state. skipped = an existing fact matched the
|
|
98
|
+
-- scopeKey but did not change (etag mismatch, or already in the requested
|
|
99
|
+
-- state). A non-existent scopeKey is neither affected nor skipped.
|
|
100
|
+
CREATE OR REPLACE FUNCTION "{{SCHEMA}}".facts_set_crawled_by_keys(
|
|
101
|
+
p_keys JSONB,
|
|
102
|
+
p_crawled BOOLEAN
|
|
103
|
+
) RETURNS TABLE (affected INT, skipped INT)
|
|
104
|
+
LANGUAGE plpgsql AS $$
|
|
105
|
+
DECLARE
|
|
106
|
+
v_count INT;
|
|
107
|
+
v_bad BOOLEAN;
|
|
108
|
+
v_dup BOOLEAN;
|
|
109
|
+
BEGIN
|
|
110
|
+
IF jsonb_typeof(p_keys) IS DISTINCT FROM 'array' THEN
|
|
111
|
+
RAISE EXCEPTION 'facts_set_crawled_by_keys requires a JSON array';
|
|
112
|
+
END IF;
|
|
113
|
+
v_count := jsonb_array_length(p_keys);
|
|
114
|
+
IF v_count = 0 OR v_count > 500 THEN
|
|
115
|
+
RAISE EXCEPTION 'facts_set_crawled_by_keys requires 1..500 entries';
|
|
116
|
+
END IF;
|
|
117
|
+
|
|
118
|
+
SELECT
|
|
119
|
+
bool_or(scope_key IS NULL OR scope_key = '' OR (has_etag AND (etag IS NULL OR etag <= 0))),
|
|
120
|
+
count(*) <> count(DISTINCT scope_key)
|
|
121
|
+
INTO v_bad, v_dup
|
|
122
|
+
FROM (
|
|
123
|
+
SELECT e->>'scopeKey' AS scope_key,
|
|
124
|
+
(e ? 'etag') AS has_etag,
|
|
125
|
+
CASE WHEN (e ? 'etag') AND (e->>'etag') ~ '^[0-9]+$'
|
|
126
|
+
THEN (e->>'etag')::BIGINT ELSE NULL END AS etag
|
|
127
|
+
FROM jsonb_array_elements(p_keys) e
|
|
128
|
+
) q;
|
|
129
|
+
IF v_bad OR v_dup THEN
|
|
130
|
+
RAISE EXCEPTION 'facts_set_crawled_by_keys entries require unique scopeKey values and optional numeric etags';
|
|
131
|
+
END IF;
|
|
132
|
+
|
|
133
|
+
RETURN QUERY
|
|
134
|
+
WITH input AS (
|
|
135
|
+
SELECT e->>'scopeKey' AS scope_key,
|
|
136
|
+
(e ? 'etag') AS has_etag,
|
|
137
|
+
CASE WHEN (e ? 'etag') AND (e->>'etag') ~ '^[0-9]+$'
|
|
138
|
+
THEN (e->>'etag')::BIGINT ELSE NULL END AS etag
|
|
139
|
+
FROM jsonb_array_elements(p_keys) e
|
|
140
|
+
), matched AS (
|
|
141
|
+
SELECT f.id, i.has_etag, i.etag AS input_etag
|
|
142
|
+
FROM "{{SCHEMA}}".facts f
|
|
143
|
+
JOIN input i ON i.scope_key = f.scope_key
|
|
144
|
+
), upd AS (
|
|
145
|
+
UPDATE "{{SCHEMA}}".facts f
|
|
146
|
+
SET last_crawled_at = CASE WHEN p_crawled THEN now() ELSE NULL END
|
|
147
|
+
FROM matched m
|
|
148
|
+
WHERE f.id = m.id
|
|
149
|
+
AND (NOT m.has_etag OR f.etag = m.input_etag)
|
|
150
|
+
AND ( (p_crawled AND f.last_crawled_at IS NULL)
|
|
151
|
+
OR (NOT p_crawled AND f.last_crawled_at IS NOT NULL) )
|
|
152
|
+
RETURNING f.id
|
|
153
|
+
)
|
|
154
|
+
SELECT (SELECT count(*) FROM upd)::int AS affected,
|
|
155
|
+
((SELECT count(*) FROM matched) - (SELECT count(*) FROM upd))::int AS skipped;
|
|
156
|
+
END;
|
|
157
|
+
$$;
|
|
158
|
+
|
|
159
|
+
-- The legacy single-shape receipt mark is replaced by facts_set_crawled_by_keys.
|
|
160
|
+
DROP FUNCTION IF EXISTS "{{SCHEMA}}".facts_mark_crawled(JSONB);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pilotswarm-horizon-store",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "HorizonDB-backed enhanced facts and graph providers for PilotSwarm.",
|
|
6
6
|
"main": "./dist/src/index.js",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"pg": "^8.13.1"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
|
-
"pilotswarm-sdk": "^0.
|
|
37
|
+
"pilotswarm-sdk": "^0.3.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@github/copilot": "^1.0.50",
|