pilotswarm-horizon-store 0.2.2 → 0.3.1

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.
@@ -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,CA0Rb"}
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"}
@@ -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 / facts_mark_crawled) and the graph
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 facts_mark_crawled needs.",
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
- namespace: { type: "string", description: "Restrict the queue to a key prefix." },
140
- limit: { type: "number", description: "Max facts this batch (default 20)." },
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({ namespace: a.namespace, limit: a.limit, embeddedOnly }),
144
+ handler: (a) => factStore.readUncrawledFacts({ keyPrefix: a.keyPrefix ?? a.namespace, limit: a.limit, embeddedOnly }),
144
145
  });
145
146
  tools.push({
146
- name: "facts_mark_crawled",
147
- description: "Stamp facts as incorporated so they leave the queue. Pass each fact's scopeKey and etag from facts_read_uncrawled. " +
148
- "A skipped stamp means the fact was already marked, changed since your read, or no longer exists; re-read if needed.",
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
- stamps: {
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", "etag"],
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.markFactsCrawled(a.stamps),
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":"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"}
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, CrawledFactStamp, DeletedFactResult, DeletedFactsResult, DeleteFactInput, EmbedderStatus, EmbeddingEndpointConfig, EnhancedFactStore, FactRecord, FactsStatsRow, FactsTombstoneStats, ForcePurgeFactsInput, ReadFactsQuery, SearchOpts, SearchResult, SimilarOpts, StoreFactInput, StoredFactResult } from "./types.js";
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
- markFactsCrawled(stamps: CrawledFactStamp[]): Promise<{
74
- marked: number;
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,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAsB,cAAc,EAC3H,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;AAetD;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,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO,GAC9F,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAS7C,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAiB1F,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"}
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 / markFactsCrawled — PRIVILEGED)
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
- const { rows } = await withDbRetry("facts_read_uncrawled", () => this.pool.query(`SELECT * FROM ${this.s}.facts_read_uncrawled($1, $2, $3)`, [namespacePrefix(opts.namespace), Math.min(opts.limit ?? 20, 500), opts.embeddedOnly ?? false]));
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 markFactsCrawled(stamps) {
308
- if (!Array.isArray(stamps) || stamps.length === 0)
309
- return { marked: 0, skipped: 0 };
310
- // Coerce etag like the SQL does (numeric strings accepted): LLM tool JSON
311
- // frequently serializes numbers as strings. Reject only genuinely missing
312
- // / non-numeric receipts so harvester bugs still surface loudly.
313
- const normalized = stamps.map((st) => {
314
- const etag = Number(st?.etag);
315
- if (!st?.scopeKey || !Number.isInteger(etag) || etag <= 0) {
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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"}
@@ -1,4 +1,4 @@
1
- export type { FactRecord, StoreFactInput, StoredFactResult, ReadFactsQuery, DeleteFactInput, DeletedFactResult, DeletedFactsResult, FactsNamespace, FactsStatsRow, FactsTombstoneStats, ForcePurgeFactsInput, AccessContext, FactStore, CrawledFactStamp, 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";
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
@@ -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,gBAAgB,EAEhB,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"}
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"}
@@ -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;AA0D3B;;;;;;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"}
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.2.2",
3
+ "version": "0.3.1",
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.2.2"
37
+ "pilotswarm-sdk": "^0.3.1"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@github/copilot": "^1.0.50",