pilotswarm-sdk 0.2.0 → 0.2.2
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/agent-loader.d.ts +9 -0
- package/dist/agent-loader.d.ts.map +1 -1
- package/dist/agent-loader.js +3 -0
- package/dist/agent-loader.js.map +1 -1
- package/dist/child-notifications.d.ts +10 -0
- package/dist/child-notifications.d.ts.map +1 -1
- package/dist/child-notifications.js +15 -1
- package/dist/child-notifications.js.map +1 -1
- package/dist/client.d.ts +2 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +14 -20
- package/dist/client.js.map +1 -1
- package/dist/cms-migrations.d.ts.map +1 -1
- package/dist/cms-migrations.js +321 -0
- package/dist/cms-migrations.js.map +1 -1
- package/dist/cms.d.ts +132 -8
- package/dist/cms.d.ts.map +1 -1
- package/dist/cms.js +142 -6
- package/dist/cms.js.map +1 -1
- package/dist/duroxide-schema-migration.d.ts +19 -0
- package/dist/duroxide-schema-migration.d.ts.map +1 -0
- package/dist/duroxide-schema-migration.js +122 -0
- package/dist/duroxide-schema-migration.js.map +1 -0
- package/dist/facts-migrations.d.ts.map +1 -1
- package/dist/facts-migrations.js +923 -0
- package/dist/facts-migrations.js.map +1 -1
- package/dist/facts-store.d.ts +278 -28
- package/dist/facts-store.d.ts.map +1 -1
- package/dist/facts-store.js +262 -32
- package/dist/facts-store.js.map +1 -1
- package/dist/facts-tools.d.ts +8 -1
- package/dist/facts-tools.d.ts.map +1 -1
- package/dist/facts-tools.js +458 -25
- package/dist/facts-tools.js.map +1 -1
- package/dist/graph-store.d.ts +243 -0
- package/dist/graph-store.d.ts.map +1 -0
- package/dist/graph-store.js +63 -0
- package/dist/graph-store.js.map +1 -0
- package/dist/graph-tools.d.ts +47 -0
- package/dist/graph-tools.d.ts.map +1 -0
- package/dist/graph-tools.js +554 -0
- package/dist/graph-tools.js.map +1 -0
- package/dist/horizon-env.d.ts +61 -0
- package/dist/horizon-env.d.ts.map +1 -0
- package/dist/horizon-env.js +120 -0
- package/dist/horizon-env.js.map +1 -0
- package/dist/index.d.ts +15 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/inspect-tools.d.ts +2 -2
- package/dist/inspect-tools.d.ts.map +1 -1
- package/dist/inspect-tools.js +303 -6
- package/dist/inspect-tools.js.map +1 -1
- package/dist/knowledge-index.d.ts +33 -2
- package/dist/knowledge-index.d.ts.map +1 -1
- package/dist/knowledge-index.js +90 -19
- package/dist/knowledge-index.js.map +1 -1
- package/dist/managed-session.d.ts.map +1 -1
- package/dist/managed-session.js +61 -2
- package/dist/managed-session.js.map +1 -1
- package/dist/management-client.d.ts +81 -3
- package/dist/management-client.d.ts.map +1 -1
- package/dist/management-client.js +97 -20
- package/dist/management-client.js.map +1 -1
- package/dist/orchestration/agents.d.ts +4 -1
- package/dist/orchestration/agents.d.ts.map +1 -1
- package/dist/orchestration/agents.js +27 -4
- package/dist/orchestration/agents.js.map +1 -1
- package/dist/orchestration/index.d.ts +2 -2
- package/dist/orchestration/index.js +1 -1
- package/dist/orchestration/lifecycle.d.ts +3 -0
- package/dist/orchestration/lifecycle.d.ts.map +1 -1
- package/dist/orchestration/lifecycle.js +6 -1
- package/dist/orchestration/lifecycle.js.map +1 -1
- package/dist/orchestration/queue.d.ts.map +1 -1
- package/dist/orchestration/queue.js +10 -1
- package/dist/orchestration/queue.js.map +1 -1
- package/dist/orchestration/runtime.d.ts +1 -1
- package/dist/orchestration/state.d.ts +1 -0
- package/dist/orchestration/state.d.ts.map +1 -1
- package/dist/orchestration/state.js +1 -0
- package/dist/orchestration/state.js.map +1 -1
- package/dist/orchestration/turn.d.ts +2 -2
- package/dist/orchestration/turn.d.ts.map +1 -1
- package/dist/orchestration/turn.js +42 -12
- package/dist/orchestration/turn.js.map +1 -1
- package/dist/orchestration-registry.d.ts.map +1 -1
- package/dist/orchestration-registry.js +4 -2
- package/dist/orchestration-registry.js.map +1 -1
- package/dist/orchestration-version.d.ts +1 -1
- package/dist/orchestration-version.js +1 -1
- package/dist/orchestration.d.ts +2 -2
- package/dist/orchestration.js +1 -1
- package/dist/orchestration_1_0_46.d.ts +1 -1
- package/dist/orchestration_1_0_47.d.ts +1 -1
- package/dist/orchestration_1_0_48.d.ts +1 -1
- package/dist/orchestration_1_0_49.d.ts +1 -1
- package/dist/orchestration_1_0_50.d.ts +1 -1
- package/dist/orchestration_1_0_52/agents.d.ts +38 -0
- package/dist/orchestration_1_0_52/agents.d.ts.map +1 -0
- package/dist/orchestration_1_0_52/agents.js +735 -0
- package/dist/orchestration_1_0_52/agents.js.map +1 -0
- package/dist/orchestration_1_0_52/index.d.ts +24 -0
- package/dist/orchestration_1_0_52/index.d.ts.map +1 -0
- package/dist/orchestration_1_0_52/index.js +13 -0
- package/dist/orchestration_1_0_52/index.js.map +1 -0
- package/dist/orchestration_1_0_52/lifecycle.d.ts +38 -0
- package/dist/orchestration_1_0_52/lifecycle.d.ts.map +1 -0
- package/dist/orchestration_1_0_52/lifecycle.js +504 -0
- package/dist/orchestration_1_0_52/lifecycle.js.map +1 -0
- package/dist/orchestration_1_0_52/queue.d.ts +7 -0
- package/dist/orchestration_1_0_52/queue.d.ts.map +1 -0
- package/dist/orchestration_1_0_52/queue.js +635 -0
- package/dist/orchestration_1_0_52/queue.js.map +1 -0
- package/dist/orchestration_1_0_52/runtime.d.ts +29 -0
- package/dist/orchestration_1_0_52/runtime.d.ts.map +1 -0
- package/dist/orchestration_1_0_52/runtime.js +190 -0
- package/dist/orchestration_1_0_52/runtime.js.map +1 -0
- package/dist/orchestration_1_0_52/state.d.ts +124 -0
- package/dist/orchestration_1_0_52/state.d.ts.map +1 -0
- package/dist/orchestration_1_0_52/state.js +104 -0
- package/dist/orchestration_1_0_52/state.js.map +1 -0
- package/dist/orchestration_1_0_52/turn.d.ts +6 -0
- package/dist/orchestration_1_0_52/turn.d.ts.map +1 -0
- package/dist/orchestration_1_0_52/turn.js +834 -0
- package/dist/orchestration_1_0_52/turn.js.map +1 -0
- package/dist/orchestration_1_0_52/utils.d.ts +22 -0
- package/dist/orchestration_1_0_52/utils.d.ts.map +1 -0
- package/dist/orchestration_1_0_52/utils.js +226 -0
- package/dist/orchestration_1_0_52/utils.js.map +1 -0
- package/dist/resourcemgr-tools.d.ts +2 -2
- package/dist/resourcemgr-tools.d.ts.map +1 -1
- package/dist/resourcemgr-tools.js +1 -1
- package/dist/resourcemgr-tools.js.map +1 -1
- package/dist/session-dumper.d.ts +2 -2
- package/dist/session-dumper.d.ts.map +1 -1
- package/dist/session-dumper.js.map +1 -1
- package/dist/session-manager.d.ts +8 -2
- package/dist/session-manager.d.ts.map +1 -1
- package/dist/session-manager.js +86 -4
- package/dist/session-manager.js.map +1 -1
- package/dist/session-messages.d.ts +2 -2
- package/dist/session-messages.d.ts.map +1 -1
- package/dist/session-messages.js +0 -6
- package/dist/session-messages.js.map +1 -1
- package/dist/session-proxy.d.ts +47 -2
- package/dist/session-proxy.d.ts.map +1 -1
- package/dist/session-proxy.js +79 -59
- package/dist/session-proxy.js.map +1 -1
- package/dist/storage-config.d.ts +62 -0
- package/dist/storage-config.d.ts.map +1 -0
- package/dist/storage-config.js +138 -0
- package/dist/storage-config.js.map +1 -0
- package/dist/storage-providers.d.ts +25 -0
- package/dist/storage-providers.d.ts.map +1 -0
- package/dist/storage-providers.js +150 -0
- package/dist/storage-providers.js.map +1 -0
- package/dist/sweeper-tools.d.ts +2 -2
- package/dist/sweeper-tools.d.ts.map +1 -1
- package/dist/system-agents.d.ts +2 -2
- package/dist/system-agents.d.ts.map +1 -1
- package/dist/types.d.ts +103 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/worker.d.ts +5 -4
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +108 -33
- package/dist/worker.js.map +1 -1
- package/package.json +3 -1
- package/plugins/mgmt/agents/agent-tuner.agent.md +56 -4
- package/plugins/mgmt/agents/facts-manager.agent.md +81 -3
- package/plugins/mgmt/skills/graph-debug/SKILL.md +133 -0
package/dist/facts-store.js
CHANGED
|
@@ -7,6 +7,38 @@
|
|
|
7
7
|
* - session cleanup when a session is deleted
|
|
8
8
|
*/
|
|
9
9
|
import { runFactsMigrations } from "./facts-migrator.js";
|
|
10
|
+
/**
|
|
11
|
+
* Thrown when an enhanced/graph method is called on a store that does not
|
|
12
|
+
* support it. Providers don't grow throwing stubs (Liskov / ISP — 07 D1); this
|
|
13
|
+
* is retained only for callers that bypass the `isEnhancedFactStore` guard and
|
|
14
|
+
* hard-cast a base store.
|
|
15
|
+
*/
|
|
16
|
+
export class EnhancedFactsUnsupportedError extends Error {
|
|
17
|
+
constructor(method) {
|
|
18
|
+
super(`${method} is not supported by this fact store. It is a base FactStore ` +
|
|
19
|
+
`(not an EnhancedFactStore). Guard with isEnhancedFactStore(store) before calling.`);
|
|
20
|
+
this.name = "EnhancedFactsUnsupportedError";
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Structural type guard: is this store an `EnhancedFactStore` (search + embedder)
|
|
25
|
+
* rather than a plain `FactStore`? The runtime asks this once at worker boot and
|
|
26
|
+
* threads the answer through — it never sniffs per turn. Graph presence is a
|
|
27
|
+
* SEPARATE question (`!!graphStore`), not derived from the fact store.
|
|
28
|
+
*/
|
|
29
|
+
export function isEnhancedFactStore(store) {
|
|
30
|
+
const s = store;
|
|
31
|
+
return typeof s.searchFacts === "function"
|
|
32
|
+
&& typeof s.similarFacts === "function"
|
|
33
|
+
&& typeof s.configureEmbedder === "function"
|
|
34
|
+
&& typeof s.startEmbedder === "function"
|
|
35
|
+
&& typeof s.stopEmbedder === "function"
|
|
36
|
+
&& typeof s.embedderStatus === "function"
|
|
37
|
+
&& typeof s.capabilities === "object"
|
|
38
|
+
&& s.capabilities !== null
|
|
39
|
+
&& typeof s.capabilities.search === "boolean"
|
|
40
|
+
&& typeof s.capabilities.embedder === "boolean";
|
|
41
|
+
}
|
|
10
42
|
const DEFAULT_SCHEMA = "pilotswarm_facts";
|
|
11
43
|
function sqlForSchema(schema) {
|
|
12
44
|
return {
|
|
@@ -19,6 +51,11 @@ function sqlForSchema(schema) {
|
|
|
19
51
|
getSessionFactsStats: `${schema}.facts_get_session_facts_stats`,
|
|
20
52
|
getFactsStatsForSessions: `${schema}.facts_get_facts_stats_for_sessions`,
|
|
21
53
|
getSharedFactsStats: `${schema}.facts_get_shared_facts_stats`,
|
|
54
|
+
readUncrawledFacts: `${schema}.facts_read_uncrawled`,
|
|
55
|
+
markFactsCrawled: `${schema}.facts_mark_crawled`,
|
|
56
|
+
purgeExpiredFacts: `${schema}.facts_purge_expired`,
|
|
57
|
+
factsTombstoneStats: `${schema}.facts_tombstone_stats`,
|
|
58
|
+
forcePurgeFacts: `${schema}.facts_force_purge`,
|
|
22
59
|
},
|
|
23
60
|
};
|
|
24
61
|
}
|
|
@@ -38,12 +75,120 @@ function normalizeLikePattern(pattern) {
|
|
|
38
75
|
return pattern.replaceAll("*", "%");
|
|
39
76
|
return pattern;
|
|
40
77
|
}
|
|
78
|
+
// Specifier for the OPTIONAL horizon provider peer. The `: string` annotation is
|
|
79
|
+
// load-bearing: it widens the type away from a string literal so TypeScript does
|
|
80
|
+
// NOT eagerly type-resolve `import(HORIZON_STORE_PACKAGE)` at compile time.
|
|
81
|
+
// Resolving it would pull pilotswarm-horizon-store's emitted .d.ts into this
|
|
82
|
+
// compile, which re-imports `pilotswarm-sdk` and cycles back onto THIS package's
|
|
83
|
+
// own dist/ — a TS5055 self-overwrite once dist/ exists. The peer is loaded
|
|
84
|
+
// purely structurally at runtime (`mod` is `any`), so nothing is lost. Do NOT
|
|
85
|
+
// inline this back to a string literal.
|
|
86
|
+
const HORIZON_STORE_PACKAGE = "pilotswarm-horizon-store";
|
|
41
87
|
export async function createFactStoreForUrl(storeUrl, schema, opts = {}) {
|
|
42
|
-
if (storeUrl.startsWith("postgres://") || storeUrl.startsWith("postgresql://")) {
|
|
43
|
-
|
|
88
|
+
if (!(storeUrl.startsWith("postgres://") || storeUrl.startsWith("postgresql://"))) {
|
|
89
|
+
throw new Error("PilotSwarm facts require a PostgreSQL store. " +
|
|
90
|
+
`Received unsupported store URL: ${storeUrl}`);
|
|
91
|
+
}
|
|
92
|
+
if (opts.provider === "horizon") {
|
|
93
|
+
// Guarded dynamic import: the SDK builds/runs without the provider
|
|
94
|
+
// package. A missing package is a clear, actionable error ONLY when the
|
|
95
|
+
// horizon provider is explicitly selected.
|
|
96
|
+
let mod;
|
|
97
|
+
try {
|
|
98
|
+
mod = await import(HORIZON_STORE_PACKAGE);
|
|
99
|
+
}
|
|
100
|
+
catch (err) {
|
|
101
|
+
throw new Error("factsProvider 'horizon' requires the pilotswarm-horizon-store package, " +
|
|
102
|
+
`which could not be loaded: ${err?.message || String(err)}. ` +
|
|
103
|
+
"Install it, or unset enhancedFactsDatabaseUrl / factsProvider to use the default PgFactStore.");
|
|
104
|
+
}
|
|
105
|
+
const HorizonDBFactStore = mod.HorizonDBFactStore;
|
|
106
|
+
if (!HorizonDBFactStore?.create) {
|
|
107
|
+
throw new Error("pilotswarm-horizon-store did not export HorizonDBFactStore.create");
|
|
108
|
+
}
|
|
109
|
+
// Do NOT forward the global `useManagedIdentity` flag into the horizon
|
|
110
|
+
// provider. MI is the auth axis for the duroxide/CMS/PgFactStore layer;
|
|
111
|
+
// the horizon enhanced-facts store is a SEPARATE URL that carries its
|
|
112
|
+
// own embedded credentials and does not support AAD token auth yet
|
|
113
|
+
// (it would reject the flag, hard-crashing a valid global-MI + horizon
|
|
114
|
+
// deployment). Warn so the operator knows the horizon URL must carry creds.
|
|
115
|
+
if (opts.useManagedIdentity) {
|
|
116
|
+
console.warn("[facts] useManagedIdentity is set globally but the horizon facts provider does not " +
|
|
117
|
+
"support managed identity; the enhancedFactsDatabaseUrl must carry embedded credentials.");
|
|
118
|
+
}
|
|
119
|
+
return HorizonDBFactStore.create({
|
|
120
|
+
connectionString: storeUrl,
|
|
121
|
+
schema,
|
|
122
|
+
graphName: schema,
|
|
123
|
+
embedding: opts.embedding,
|
|
124
|
+
embeddingDim: opts.embedding?.dim,
|
|
125
|
+
});
|
|
44
126
|
}
|
|
45
|
-
|
|
46
|
-
|
|
127
|
+
return PgFactStore.create(storeUrl, schema, {
|
|
128
|
+
useManagedIdentity: opts.useManagedIdentity,
|
|
129
|
+
aadUser: opts.aadUser,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Construct an optional `GraphStore` provider (enhancedfactstore 07 D2/P3).
|
|
134
|
+
*
|
|
135
|
+
* SYMMETRIC peer of `createFactStoreForUrl` — its own URL, its own provider, no
|
|
136
|
+
* `factStore` argument and no instance reuse. Returns `undefined` when no graph
|
|
137
|
+
* URL is configured (⇒ no graph store, no graph tools). The only provider today
|
|
138
|
+
* is `pilotswarm-horizon-store`'s AGE-backed `HorizonDBGraphStore`, loaded via a
|
|
139
|
+
* guarded dynamic import so the SDK builds/runs without it.
|
|
140
|
+
*/
|
|
141
|
+
export async function createGraphStoreForUrl(graphUrl, schema, opts = {}) {
|
|
142
|
+
if (!graphUrl)
|
|
143
|
+
return undefined;
|
|
144
|
+
if (!(graphUrl.startsWith("postgres://") || graphUrl.startsWith("postgresql://"))) {
|
|
145
|
+
throw new Error("PilotSwarm graph store requires a PostgreSQL (Apache AGE) URL. " +
|
|
146
|
+
`Received unsupported graph URL: ${graphUrl}`);
|
|
147
|
+
}
|
|
148
|
+
let mod;
|
|
149
|
+
try {
|
|
150
|
+
mod = await import(HORIZON_STORE_PACKAGE);
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
throw new Error("graphDatabaseUrl requires the pilotswarm-horizon-store package, " +
|
|
154
|
+
`which could not be loaded: ${err?.message || String(err)}. ` +
|
|
155
|
+
"Install it, or unset graphDatabaseUrl to run without a graph store.");
|
|
156
|
+
}
|
|
157
|
+
const HorizonDBGraphStore = mod.HorizonDBGraphStore;
|
|
158
|
+
if (!HorizonDBGraphStore?.create) {
|
|
159
|
+
throw new Error("pilotswarm-horizon-store did not export HorizonDBGraphStore.create");
|
|
160
|
+
}
|
|
161
|
+
// As with the facts provider: never forward the global MI flag into the
|
|
162
|
+
// horizon graph store. The graph URL carries its own credentials; horizon
|
|
163
|
+
// does not support AAD token auth and would reject the flag.
|
|
164
|
+
if (opts.useManagedIdentity) {
|
|
165
|
+
console.warn("[graph] useManagedIdentity is set globally but the horizon graph provider does not " +
|
|
166
|
+
"support managed identity; the graphDatabaseUrl must carry embedded credentials.");
|
|
167
|
+
}
|
|
168
|
+
return HorizonDBGraphStore.create({
|
|
169
|
+
connectionString: graphUrl,
|
|
170
|
+
schema,
|
|
171
|
+
graphName: schema,
|
|
172
|
+
registrySchema: opts.registrySchema,
|
|
173
|
+
namespaceCacheTtlMs: opts.namespaceCacheTtlMs,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Resolve where the facts store physically lives + which provider serves it,
|
|
178
|
+
* shared by the worker, client, and management-client so they cannot drift
|
|
179
|
+
* (enhancedfactstore 07 P3). Resolution is most-specific-first:
|
|
180
|
+
* url = enhancedFactsDatabaseUrl ?? cmsFactsDatabaseUrl ?? store
|
|
181
|
+
* provider = factsProvider ?? (enhancedFactsDatabaseUrl ? "horizon" : "pg")
|
|
182
|
+
* schema = horizon ? (enhancedFactsSchema ?? factsSchema) : factsSchema
|
|
183
|
+
*/
|
|
184
|
+
export function resolveFactsTarget(cfg) {
|
|
185
|
+
const cmsFactsUrl = cfg.cmsFactsDatabaseUrl ?? cfg.store;
|
|
186
|
+
const url = cfg.enhancedFactsDatabaseUrl ?? cmsFactsUrl;
|
|
187
|
+
const provider = cfg.factsProvider ?? (cfg.enhancedFactsDatabaseUrl ? "horizon" : "pg");
|
|
188
|
+
const schema = provider === "horizon"
|
|
189
|
+
? (cfg.enhancedFactsSchema ?? cfg.factsSchema)
|
|
190
|
+
: cfg.factsSchema;
|
|
191
|
+
return { url, provider, schema };
|
|
47
192
|
}
|
|
48
193
|
export class PgFactStore {
|
|
49
194
|
pool;
|
|
@@ -80,23 +225,29 @@ export class PgFactStore {
|
|
|
80
225
|
this.initialized = true;
|
|
81
226
|
}
|
|
82
227
|
async storeFact(input) {
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
input.
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
228
|
+
const inputs = Array.isArray(input) ? input : [input];
|
|
229
|
+
if (inputs.length === 0)
|
|
230
|
+
return { stored: 0, facts: [] };
|
|
231
|
+
const facts = inputs.map((input) => {
|
|
232
|
+
const shared = input.shared === true;
|
|
233
|
+
return {
|
|
234
|
+
scopeKey: computeScopeKey(input.key, shared, input.sessionId),
|
|
235
|
+
key: input.key,
|
|
236
|
+
value: input.value,
|
|
237
|
+
agentId: input.agentId ?? null,
|
|
238
|
+
sessionId: input.sessionId ?? null,
|
|
239
|
+
shared,
|
|
240
|
+
transient: !shared,
|
|
241
|
+
tags: input.tags ?? [],
|
|
242
|
+
};
|
|
243
|
+
});
|
|
244
|
+
await this.pool.query(`SELECT ${this.sql.fn.storeFact}($1::jsonb)`, [JSON.stringify(facts)]);
|
|
245
|
+
const storedFacts = facts.map((fact) => ({ key: fact.key, shared: fact.shared, stored: true }));
|
|
246
|
+
const result = {
|
|
247
|
+
stored: facts.length,
|
|
248
|
+
facts: storedFacts,
|
|
99
249
|
};
|
|
250
|
+
return Array.isArray(input) ? result : result.facts[0];
|
|
100
251
|
}
|
|
101
252
|
async readFacts(query, access) {
|
|
102
253
|
const readerSessionId = access?.readerSessionId ?? null;
|
|
@@ -105,7 +256,11 @@ export class PgFactStore {
|
|
|
105
256
|
const scope = query.scope ?? "accessible";
|
|
106
257
|
const keyPattern = normalizeLikePattern(query.keyPattern) ?? null;
|
|
107
258
|
const maxRows = query.limit ?? 50;
|
|
108
|
-
|
|
259
|
+
// Distinguish "no scopeKeys filter" (undefined → null) from "read exactly
|
|
260
|
+
// these facts" (an array — even empty → narrows). An empty array must
|
|
261
|
+
// return nothing, never widen the read (governance: scopeKeys only narrows).
|
|
262
|
+
const scopeKeys = query.scopeKeys === undefined ? null : query.scopeKeys;
|
|
263
|
+
const { rows } = await this.pool.query(`SELECT * FROM ${this.sql.fn.readFacts}($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)`, [
|
|
109
264
|
scope,
|
|
110
265
|
readerSessionId,
|
|
111
266
|
grantedSessionIds.length > 0 ? grantedSessionIds : null,
|
|
@@ -115,25 +270,25 @@ export class PgFactStore {
|
|
|
115
270
|
query.agentId ?? null,
|
|
116
271
|
maxRows,
|
|
117
272
|
unrestricted,
|
|
273
|
+
scopeKeys,
|
|
118
274
|
]);
|
|
119
275
|
return {
|
|
120
276
|
count: rows.length,
|
|
121
|
-
facts: rows.map(
|
|
122
|
-
key: row.key,
|
|
123
|
-
value: row.value,
|
|
124
|
-
agentId: row.agent_id ?? null,
|
|
125
|
-
sessionId: row.session_id ?? null,
|
|
126
|
-
shared: row.shared === true,
|
|
127
|
-
tags: Array.isArray(row.tags) ? row.tags : [],
|
|
128
|
-
createdAt: row.created_at,
|
|
129
|
-
updatedAt: row.updated_at,
|
|
130
|
-
})),
|
|
277
|
+
facts: rows.map(mapFactRow),
|
|
131
278
|
};
|
|
132
279
|
}
|
|
133
280
|
async deleteFact(input) {
|
|
281
|
+
if (input.pattern === true) {
|
|
282
|
+
const keyPattern = normalizeLikePattern(input.key);
|
|
283
|
+
if (!keyPattern)
|
|
284
|
+
throw new Error("deleteFact pattern mode requires key");
|
|
285
|
+
const scope = input.scope ?? (input.shared === true ? "shared" : "session");
|
|
286
|
+
const { rows } = await this.pool.query(`SELECT ${this.sql.fn.deleteFact}($1, $2, $3, $4, $5) AS deleted_count`, [keyPattern, true, scope, input.sessionId ?? null, input.unrestricted === true]);
|
|
287
|
+
return { keyPattern, scope, deleted: Number(rows[0]?.deleted_count) || 0 };
|
|
288
|
+
}
|
|
134
289
|
const shared = input.shared === true;
|
|
135
290
|
const scopeKey = computeScopeKey(input.key, shared, input.sessionId);
|
|
136
|
-
const { rows } = await this.pool.query(`SELECT ${this.sql.fn.deleteFact}($1) AS deleted_count`, [scopeKey]);
|
|
291
|
+
const { rows } = await this.pool.query(`SELECT ${this.sql.fn.deleteFact}($1, $2, $3, $4, $5) AS deleted_count`, [scopeKey, false, null, null, false]);
|
|
137
292
|
return {
|
|
138
293
|
key: input.key,
|
|
139
294
|
shared,
|
|
@@ -158,6 +313,55 @@ export class PgFactStore {
|
|
|
158
313
|
const { rows } = await this.pool.query(`SELECT * FROM ${this.sql.fn.getSharedFactsStats}()`);
|
|
159
314
|
return rows.map(rowToFactsStatsRow);
|
|
160
315
|
}
|
|
316
|
+
async readUncrawledFacts(opts = {}) {
|
|
317
|
+
// Literal key prefix (NOT a LIKE pattern) — the proc uses starts_with so
|
|
318
|
+
// any `_` / `%` in the namespace are matched literally, not as wildcards.
|
|
319
|
+
const nsPrefix = opts.namespace ?? null;
|
|
320
|
+
const limit = opts.limit ?? 20;
|
|
321
|
+
const { rows } = await this.pool.query(`SELECT * FROM ${this.sql.fn.readUncrawledFacts}($1, $2)`, [nsPrefix, limit]);
|
|
322
|
+
return {
|
|
323
|
+
count: rows.length,
|
|
324
|
+
facts: rows.map(mapFactRow),
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
async markFactsCrawled(stamps) {
|
|
328
|
+
// Coerce etag like the SQL does (it accepts numeric strings): LLM tool
|
|
329
|
+
// JSON frequently serializes numbers as strings. Reject only genuinely
|
|
330
|
+
// missing / non-numeric receipts so harvester bugs still surface loudly.
|
|
331
|
+
const normalized = stamps.map((s) => {
|
|
332
|
+
const etag = Number(s?.etag);
|
|
333
|
+
if (!s || typeof s.scopeKey !== "string" || !Number.isInteger(etag) || etag <= 0) {
|
|
334
|
+
throw new Error("markFactsCrawled: every stamp requires { scopeKey, etag } " +
|
|
335
|
+
"(the receipt returned by readUncrawledFacts).");
|
|
336
|
+
}
|
|
337
|
+
return { scopeKey: s.scopeKey, etag };
|
|
338
|
+
});
|
|
339
|
+
if (normalized.length === 0)
|
|
340
|
+
return { marked: 0, skipped: 0 };
|
|
341
|
+
const { rows } = await this.pool.query(`SELECT * FROM ${this.sql.fn.markFactsCrawled}($1::jsonb)`, [JSON.stringify(normalized)]);
|
|
342
|
+
return {
|
|
343
|
+
marked: Number(rows[0]?.marked) || 0,
|
|
344
|
+
skipped: Number(rows[0]?.skipped) || 0,
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
async purgeExpiredFacts(ttlSeconds, limit = 1000) {
|
|
348
|
+
const { rows } = await this.pool.query(`SELECT ${this.sql.fn.purgeExpiredFacts}($1, $2) AS purged`, [Math.max(0, Math.floor(ttlSeconds)), Math.max(1, Math.floor(limit))]);
|
|
349
|
+
return Number(rows[0]?.purged) || 0;
|
|
350
|
+
}
|
|
351
|
+
async getFactsTombstoneStats(ttlSeconds = 21_600) {
|
|
352
|
+
const { rows } = await this.pool.query(`SELECT * FROM ${this.sql.fn.factsTombstoneStats}($1)`, [Math.max(0, Math.floor(ttlSeconds))]);
|
|
353
|
+
return mapTombstoneStatsRow(rows[0] ?? {});
|
|
354
|
+
}
|
|
355
|
+
async forcePurgeFacts(input) {
|
|
356
|
+
const cutoff = input.cutoff instanceof Date ? input.cutoff : new Date(input.cutoff);
|
|
357
|
+
const { rows } = await this.pool.query(`SELECT ${this.sql.fn.forcePurgeFacts}($1, $2, $3, $4) AS purged`, [
|
|
358
|
+
cutoff,
|
|
359
|
+
input.onlyUnreconciled === true,
|
|
360
|
+
input.keyPrefix ?? null,
|
|
361
|
+
Math.max(1, Math.floor(input.limit ?? 1000)),
|
|
362
|
+
]);
|
|
363
|
+
return Number(rows[0]?.purged) || 0;
|
|
364
|
+
}
|
|
161
365
|
async close() {
|
|
162
366
|
try {
|
|
163
367
|
await this.pool.end();
|
|
@@ -165,6 +369,32 @@ export class PgFactStore {
|
|
|
165
369
|
catch { }
|
|
166
370
|
}
|
|
167
371
|
}
|
|
372
|
+
/** Map a PG facts row to a FactRecord (shared by readFacts + readUncrawledFacts). */
|
|
373
|
+
function mapFactRow(row) {
|
|
374
|
+
return {
|
|
375
|
+
scopeKey: row.scope_key,
|
|
376
|
+
key: row.key,
|
|
377
|
+
value: row.value,
|
|
378
|
+
agentId: row.agent_id ?? null,
|
|
379
|
+
sessionId: row.session_id ?? null,
|
|
380
|
+
shared: row.shared === true,
|
|
381
|
+
tags: Array.isArray(row.tags) ? row.tags : [],
|
|
382
|
+
createdAt: row.created_at,
|
|
383
|
+
updatedAt: row.updated_at,
|
|
384
|
+
deletedAt: row.deleted_at ? new Date(row.deleted_at) : null,
|
|
385
|
+
etag: Number(row.etag ?? 0),
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
function mapTombstoneStatsRow(row) {
|
|
389
|
+
const age = row.oldest_unreconciled_age_seconds;
|
|
390
|
+
return {
|
|
391
|
+
pendingTotal: Number(row.pending_total ?? 0),
|
|
392
|
+
unreconciled: Number(row.unreconciled ?? 0),
|
|
393
|
+
ttlBlocked: Number(row.ttl_blocked ?? 0),
|
|
394
|
+
oldestUnreconciledAgeSeconds: age == null ? null : Number(age),
|
|
395
|
+
reconciledUnswept: Number(row.reconciled_unswept ?? 0),
|
|
396
|
+
};
|
|
397
|
+
}
|
|
168
398
|
/** Map a PG row to FactsStatsRow. Used by all three facts-stats procs. */
|
|
169
399
|
function rowToFactsStatsRow(row) {
|
|
170
400
|
const ns = String(row.namespace ?? "(other)");
|
package/dist/facts-store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facts-store.js","sourceRoot":"","sources":["../src/facts-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"facts-store.js","sourceRoot":"","sources":["../src/facts-store.ts"],"names":[],"mappings":"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"}
|
package/dist/facts-tools.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Tool } from "@github/copilot-sdk";
|
|
2
|
-
import type { FactStore } from "./facts-store.js";
|
|
2
|
+
import type { EnhancedFactStore, FactStore } from "./facts-store.js";
|
|
3
3
|
export declare function createFactTools(opts: {
|
|
4
4
|
factStore: FactStore;
|
|
5
5
|
getDescendantSessionIds?: (sessionId: string) => Promise<string[]>;
|
|
@@ -18,5 +18,12 @@ export declare function createFactTools(opts: {
|
|
|
18
18
|
sourceSessionId: string | null;
|
|
19
19
|
agentId: string | null;
|
|
20
20
|
}) => Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* When the store is an EnhancedFactStore (search capability), the search
|
|
23
|
+
* tools (`facts_search`, `facts_similar`) and the skills-scoped
|
|
24
|
+
* `search_skills` pull tool are appended (enhancedfactstore 07 P4/§1.6).
|
|
25
|
+
* `search_skills` is omitted for the facts-manager (it owns the namespace).
|
|
26
|
+
*/
|
|
27
|
+
enhancedFactStore?: EnhancedFactStore;
|
|
21
28
|
}): Tool<any>[];
|
|
22
29
|
//# sourceMappingURL=facts-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facts-tools.d.ts","sourceRoot":"","sources":["../src/facts-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"facts-tools.d.ts","sourceRoot":"","sources":["../src/facts-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAuFrE,wBAAgB,eAAe,CAAC,IAAI,EAAE;IAClC,SAAS,EAAE,SAAS,CAAC;IACrB,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACnE,oBAAoB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,sEAAsE;IACtE,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7H;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACzC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CA6oBd"}
|