pi-harness-runtime 1.1.411 → 1.1.412
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/harness/notification-settings.ts +130 -0
- package/harness/skill-remote-source.ts +157 -0
- package/harness/skill-sync.ts +74 -22
- package/harness/skills-startup.ts +202 -0
- package/harness/startup-report.ts +98 -56
- package/harness-startup-status.ts +31 -2
- package/index.ts +125 -31
- package/package.json +1 -1
- package/packages/a2a-adapter/package.json +1 -1
- package/packages/agent-policy/package.json +1 -1
- package/packages/architecture-generator/package.json +1 -1
- package/packages/auth/package.json +1 -1
- package/packages/autonomous-refactor/package.json +1 -1
- package/packages/autonomous-runtime/package.json +1 -1
- package/packages/cache-strategy/package.json +1 -1
- package/packages/capability-registry/package.json +1 -1
- package/packages/checkpoint/package.json +1 -1
- package/packages/cli-plugin-sdk/package.json +1 -1
- package/packages/clipboard/package.json +1 -1
- package/packages/clipboard-plugin/package.json +1 -1
- package/packages/code-generation/package.json +1 -1
- package/packages/code-review/package.json +1 -1
- package/packages/codex-adapter/package.json +1 -1
- package/packages/codex-watcher/package.json +1 -1
- package/packages/config-capture/package.json +1 -1
- package/packages/connection-runtime/package.json +1 -1
- package/packages/context-compiler/package.json +1 -1
- package/packages/context-discovery/package.json +1 -1
- package/packages/context-manager/package.json +1 -1
- package/packages/contracts/package.json +1 -1
- package/packages/cookie-sanitizer/package.json +1 -1
- package/packages/cost-optimizer/package.json +1 -1
- package/packages/dependency-analyzer/package.json +1 -1
- package/packages/django-plugin/package.json +1 -1
- package/packages/doc-generator/package.json +1 -1
- package/packages/durable-review/package.json +1 -1
- package/packages/e2e-tester/package.json +1 -1
- package/packages/evaluation-engine/package.json +1 -1
- package/packages/evaluation-runner/package.json +1 -1
- package/packages/event-bus/package.json +1 -1
- package/packages/event-sink/package.json +1 -1
- package/packages/event-store/package.json +1 -1
- package/packages/experience-replay/package.json +1 -1
- package/packages/feedback-collector/package.json +1 -1
- package/packages/file-copy-helper/package.json +1 -1
- package/packages/framework-detector/package.json +1 -1
- package/packages/framework-plugin-sdk/package.json +1 -1
- package/packages/frappe-plugin/package.json +1 -1
- package/packages/generic-web-plugin/package.json +1 -1
- package/packages/health-monitor/package.json +1 -1
- package/packages/intent-analyzer/package.json +1 -1
- package/packages/jev-judge/package.json +1 -1
- package/packages/knowledge-graph/package.json +1 -1
- package/packages/knowledge-retrieval/package.json +1 -1
- package/packages/laravel-plugin/package.json +1 -1
- package/packages/learning-engine/package.json +1 -1
- package/packages/logging/package.json +1 -1
- package/packages/mcp-adapter/package.json +1 -1
- package/packages/memory-engine/package.json +1 -1
- package/packages/milestone-manager/package.json +1 -1
- package/packages/model-registry/package.json +1 -1
- package/packages/nextjs-plugin/package.json +1 -1
- package/packages/notification/package.json +1 -1
- package/packages/observability/package.json +1 -1
- package/packages/okf-indexer/package.json +1 -1
- package/packages/paperclip-integration/package.json +1 -1
- package/packages/performance-optimizer/package.json +1 -1
- package/packages/permission-mode/package.json +1 -1
- package/packages/privilege-broker/package.json +1 -1
- package/packages/project-analyzer/package.json +1 -1
- package/packages/project-bootstrap/package.json +1 -1
- package/packages/projection-engine/package.json +1 -1
- package/packages/prompt-compiler/package.json +1 -1
- package/packages/prompt-versioning/package.json +1 -1
- package/packages/provider-adapter-sdk/package.json +1 -1
- package/packages/provider-router/package.json +1 -1
- package/packages/provider-selector/package.json +1 -1
- package/packages/providers/package.json +1 -1
- package/packages/qdrant-skills/dist/client.d.ts.map +1 -1
- package/packages/qdrant-skills/dist/client.js +21 -8
- package/packages/qdrant-skills/dist/client.js.map +1 -1
- package/packages/qdrant-skills/dist/embedder.d.ts +10 -0
- package/packages/qdrant-skills/dist/embedder.d.ts.map +1 -1
- package/packages/qdrant-skills/dist/embedder.js +12 -2
- package/packages/qdrant-skills/dist/embedder.js.map +1 -1
- package/packages/qdrant-skills/dist/index.d.ts +1 -1
- package/packages/qdrant-skills/dist/index.d.ts.map +1 -1
- package/packages/qdrant-skills/dist/index.js +1 -1
- package/packages/qdrant-skills/dist/index.js.map +1 -1
- package/packages/qdrant-skills/package.json +1 -1
- package/packages/qdrant-skills/src/client.ts +19 -8
- package/packages/qdrant-skills/src/embedder.ts +14 -2
- package/packages/qdrant-skills/src/index.ts +2 -0
- package/packages/qdrant-skills/test/collection-info.test.ts +129 -0
- package/packages/quota-manager/package.json +1 -1
- package/packages/rate-limiter/package.json +1 -1
- package/packages/react-vite-plugin/package.json +1 -1
- package/packages/relay/package.json +1 -1
- package/packages/release-manager/package.json +1 -1
- package/packages/requirement-compiler/package.json +1 -1
- package/packages/runtime/package.json +1 -1
- package/packages/scheduler/package.json +1 -1
- package/packages/scheduler-adapter/package.json +1 -1
- package/packages/session/package.json +1 -1
- package/packages/session-api/package.json +1 -1
- package/packages/session-export/package.json +1 -1
- package/packages/shared-context/package.json +1 -1
- package/packages/skill-mcp-client/package.json +1 -1
- package/packages/skill-registry/package.json +1 -1
- package/packages/skills/dist/index.d.ts +14 -1
- package/packages/skills/dist/index.d.ts.map +1 -1
- package/packages/skills/dist/index.js +3 -1
- package/packages/skills/dist/index.js.map +1 -1
- package/packages/skills/dist/loader.d.ts +179 -0
- package/packages/skills/dist/loader.d.ts.map +1 -1
- package/packages/skills/dist/loader.js +337 -15
- package/packages/skills/dist/loader.js.map +1 -1
- package/packages/skills/dist/remote-source.d.ts +107 -0
- package/packages/skills/dist/remote-source.d.ts.map +1 -0
- package/packages/skills/dist/remote-source.js +79 -0
- package/packages/skills/dist/remote-source.js.map +1 -0
- package/packages/skills/dist/vector-schema.d.ts +58 -0
- package/packages/skills/dist/vector-schema.d.ts.map +1 -0
- package/packages/skills/dist/vector-schema.js +55 -0
- package/packages/skills/dist/vector-schema.js.map +1 -0
- package/packages/skills/package.json +1 -1
- package/packages/skills/src/index.ts +16 -2
- package/packages/skills/src/loader.ts +458 -39
- package/packages/skills/src/remote-source.ts +148 -0
- package/packages/skills/src/vector-schema.ts +72 -0
- package/packages/skills/test/remote-skills.test.ts +242 -0
- package/packages/skills/test/remote-source.test.ts +248 -0
- package/packages/sprint-planner/package.json +1 -1
- package/packages/subscription-engine/package.json +1 -1
- package/packages/task-compiler/package.json +1 -1
- package/packages/telegram/package.json +1 -1
- package/packages/tencentdb-memory/package.json +1 -1
- package/packages/tencentdb-sync/package.json +1 -1
- package/packages/test-data-generator/package.json +1 -1
- package/packages/test-generator/package.json +1 -1
- package/packages/todo-bd-sync/package.json +1 -1
- package/packages/token-estimation/package.json +1 -1
- package/packages/token-optimizer/package.json +1 -1
- package/packages/tooling-preference/package.json +1 -1
- package/packages/trajectory/package.json +1 -1
- package/packages/tui/package.json +1 -1
- package/packages/two-phase-review/package.json +1 -1
- package/packages/types/package.json +1 -1
- package/packages/voice-api/package.json +1 -1
- package/packages/webmcp-tester/package.json +1 -1
- package/packages/wiki/package.json +1 -1
- package/packages/workflow-events/package.json +1 -1
- package/packages/workspace-scanner/package.json +1 -1
- package/packages/worktree/package.json +1 -1
- package/packages/write-review/package.json +1 -1
- package/scripts/sync-to-qdrant.ts +79 -14
|
@@ -7,6 +7,18 @@
|
|
|
7
7
|
import { existsSync, readFileSync } from "node:fs";
|
|
8
8
|
import { join } from "node:path";
|
|
9
9
|
import { parseSkillFile } from "./parser.js";
|
|
10
|
+
import { LEGACY_SKILL_COLLECTION, LEGACY_SKILL_COLLECTION_DIMENSIONS, LEGACY_SKILL_COLLECTION_MODEL, SKILL_COLLECTION, describeSkillSchemaMismatch, } from "./vector-schema.js";
|
|
11
|
+
import { describeRemoteFailure, isStale, skillFromRemote, } from "./remote-source.js";
|
|
12
|
+
/**
|
|
13
|
+
* The vector size of the runtime, used when the installed Qdrant package
|
|
14
|
+
* does not report the size of its model.
|
|
15
|
+
*
|
|
16
|
+
* The embedder owns the real value; this is the fallback for an older
|
|
17
|
+
* package build.
|
|
18
|
+
*/
|
|
19
|
+
const RUNTIME_VECTOR_DIMENSIONS = 1536;
|
|
20
|
+
/** The distance of the runtime skill collection. */
|
|
21
|
+
const RUNTIME_VECTOR_DISTANCE = "Cosine";
|
|
10
22
|
/**
|
|
11
23
|
* The default number of skills one indexing request carries.
|
|
12
24
|
*/
|
|
@@ -19,7 +31,21 @@ async function resolveQdrantModules() {
|
|
|
19
31
|
try {
|
|
20
32
|
// A dynamic import: this module is ESM, where `require` does not exist.
|
|
21
33
|
const mod = (await import(/* @vite-ignore */ base + "/index.js"));
|
|
22
|
-
return
|
|
34
|
+
return {
|
|
35
|
+
createQdrantClient: mod.createQdrantClient,
|
|
36
|
+
createCollection: mod.createCollection,
|
|
37
|
+
createEmbedding: mod.createEmbedding,
|
|
38
|
+
// Absent in an older package build: the registry falls back to one
|
|
39
|
+
// request per text, still with a bounded concurrency.
|
|
40
|
+
createEmbeddingsBatch: typeof mod.createEmbeddingsBatch === "function"
|
|
41
|
+
? mod.createEmbeddingsBatch
|
|
42
|
+
: undefined,
|
|
43
|
+
getCollectionInfo: typeof mod.getCollectionInfo === "function"
|
|
44
|
+
? mod.getCollectionInfo
|
|
45
|
+
: undefined,
|
|
46
|
+
embeddingModel: typeof mod.EMBEDDING_MODEL === "string" ? mod.EMBEDDING_MODEL : undefined,
|
|
47
|
+
embeddingDimensions: typeof mod.EMBEDDING_DIMENSIONS === "number" ? mod.EMBEDDING_DIMENSIONS : undefined,
|
|
48
|
+
};
|
|
23
49
|
}
|
|
24
50
|
catch {
|
|
25
51
|
// Try next path
|
|
@@ -32,14 +58,17 @@ async function resolveQdrantModules() {
|
|
|
32
58
|
const specifier = "@pi-harness/qdrant-skills";
|
|
33
59
|
const mod = (await import(/* @vite-ignore */ specifier));
|
|
34
60
|
return {
|
|
35
|
-
createQdrantClient:
|
|
61
|
+
createQdrantClient: mod.createQdrantClient,
|
|
36
62
|
createCollection: mod.createCollection,
|
|
37
63
|
createEmbedding: mod.createEmbedding,
|
|
38
|
-
// Absent in an older package build: the registry falls back to one
|
|
39
|
-
// request per text, still with a bounded concurrency.
|
|
40
64
|
createEmbeddingsBatch: typeof mod.createEmbeddingsBatch === "function"
|
|
41
65
|
? mod.createEmbeddingsBatch
|
|
42
66
|
: undefined,
|
|
67
|
+
getCollectionInfo: typeof mod.getCollectionInfo === "function"
|
|
68
|
+
? mod.getCollectionInfo
|
|
69
|
+
: undefined,
|
|
70
|
+
embeddingModel: typeof mod.EMBEDDING_MODEL === "string" ? mod.EMBEDDING_MODEL : undefined,
|
|
71
|
+
embeddingDimensions: typeof mod.EMBEDDING_DIMENSIONS === "number" ? mod.EMBEDDING_DIMENSIONS : undefined,
|
|
43
72
|
};
|
|
44
73
|
}
|
|
45
74
|
catch {
|
|
@@ -74,7 +103,10 @@ export function getQdrantConfig() {
|
|
|
74
103
|
return {
|
|
75
104
|
url,
|
|
76
105
|
apiKey,
|
|
77
|
-
collection:
|
|
106
|
+
// The collection carries the model in its name: a collection built with
|
|
107
|
+
// a different embedding model holds vectors of a different size and
|
|
108
|
+
// cannot be searched with these vectors.
|
|
109
|
+
collection: process.env.QDRANT_COLLECTION || SKILL_COLLECTION,
|
|
78
110
|
};
|
|
79
111
|
}
|
|
80
112
|
/**
|
|
@@ -82,6 +114,29 @@ export function getQdrantConfig() {
|
|
|
82
114
|
*/
|
|
83
115
|
export class SkillRegistry {
|
|
84
116
|
skills = new Map();
|
|
117
|
+
/** The options of the registry. */
|
|
118
|
+
_options;
|
|
119
|
+
/**
|
|
120
|
+
* The skills that only exist in the vector store.
|
|
121
|
+
*
|
|
122
|
+
* They are kept apart from the local skills on purpose: `list()` must
|
|
123
|
+
* report the LOCAL skills, so a client can say how many skills it has on
|
|
124
|
+
* disk and how many it can reach through the vector store.
|
|
125
|
+
*/
|
|
126
|
+
remoteSkills = new Map();
|
|
127
|
+
/**
|
|
128
|
+
* The remote skills whose content is COMPLETE.
|
|
129
|
+
*
|
|
130
|
+
* A skill that only carries the truncated body of a vector store payload
|
|
131
|
+
* is not in this set - it is completed on the first load.
|
|
132
|
+
*/
|
|
133
|
+
_completeRemote = new Set();
|
|
134
|
+
/**
|
|
135
|
+
* The service that holds the server-side skills.
|
|
136
|
+
*
|
|
137
|
+
* `undefined` means "no service is configured".
|
|
138
|
+
*/
|
|
139
|
+
_remoteSource;
|
|
85
140
|
index = { entries: [], loadedAt: 0 };
|
|
86
141
|
loading = new Map();
|
|
87
142
|
// The vector index. `undefined` means "use Qdrant", `null` means "no index".
|
|
@@ -99,6 +154,7 @@ export class SkillRegistry {
|
|
|
99
154
|
_qdrantInitFailed = false;
|
|
100
155
|
_qdrantIndexer = null;
|
|
101
156
|
constructor(options = {}) {
|
|
157
|
+
this._options = options;
|
|
102
158
|
this._indexer = options.indexer;
|
|
103
159
|
this._batchSize = options.batchSize ?? DEFAULT_INDEX_BATCH_SIZE;
|
|
104
160
|
}
|
|
@@ -128,6 +184,20 @@ export class SkillRegistry {
|
|
|
128
184
|
return this._qdrantInitPromise;
|
|
129
185
|
}
|
|
130
186
|
async _doQdrantInit() {
|
|
187
|
+
// An injected client replaces the whole connection: a test exercises the
|
|
188
|
+
// search path without a network and without credentials.
|
|
189
|
+
const injected = this._options.qdrantClient;
|
|
190
|
+
if (injected) {
|
|
191
|
+
this._qdrant = {
|
|
192
|
+
client: injected,
|
|
193
|
+
embedder: this._options.embedder ?? {
|
|
194
|
+
createEmbedding: async () => ({ embedding: [], tokens: 0 }),
|
|
195
|
+
},
|
|
196
|
+
collection: this._options.collection ?? "pi-harness-skills-test",
|
|
197
|
+
ready: true,
|
|
198
|
+
};
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
131
201
|
const config = getQdrantConfig();
|
|
132
202
|
if (!config) {
|
|
133
203
|
this._qdrantInitFailed = true;
|
|
@@ -144,7 +214,11 @@ export class SkillRegistry {
|
|
|
144
214
|
url: config.url,
|
|
145
215
|
apiKey: config.apiKey,
|
|
146
216
|
});
|
|
147
|
-
|
|
217
|
+
// The collection must hold vectors of the size the embedder produces.
|
|
218
|
+
// An existing collection with a different size is NOT recreated here:
|
|
219
|
+
// that would destroy the skills of another model. The mismatch is
|
|
220
|
+
// reported instead (see getQdrantStats).
|
|
221
|
+
await mods.createCollection(client, config.collection, this._expectedVectorSchema(mods).dimensions);
|
|
148
222
|
this._qdrant = {
|
|
149
223
|
client,
|
|
150
224
|
embedder: {
|
|
@@ -160,6 +234,103 @@ export class SkillRegistry {
|
|
|
160
234
|
this._qdrantInitFailed = true;
|
|
161
235
|
}
|
|
162
236
|
}
|
|
237
|
+
/**
|
|
238
|
+
* The schema the runtime expects of the skill collection.
|
|
239
|
+
*
|
|
240
|
+
* The installed Qdrant package knows the size of its own model; an older
|
|
241
|
+
* build does not, and the fallback is used then.
|
|
242
|
+
*/
|
|
243
|
+
_expectedVectorSchema(mods) {
|
|
244
|
+
return {
|
|
245
|
+
dimensions: mods.embeddingDimensions ?? RUNTIME_VECTOR_DIMENSIONS,
|
|
246
|
+
distance: RUNTIME_VECTOR_DISTANCE,
|
|
247
|
+
model: mods.embeddingModel,
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* The state of the skill vector store.
|
|
252
|
+
*
|
|
253
|
+
* The numbers are what the startup summary shows next to the local skill
|
|
254
|
+
* count, and the state says WHY there is no number: no credentials, an
|
|
255
|
+
* unreachable cluster, a collection that does not exist yet.
|
|
256
|
+
*
|
|
257
|
+
* The collection schema is checked here as well: a collection built with a
|
|
258
|
+
* different embedding model holds vectors the runtime cannot search with,
|
|
259
|
+
* and the reason has to be named - otherwise the vector search simply
|
|
260
|
+
* finds nothing.
|
|
261
|
+
*/
|
|
262
|
+
async getQdrantStats() {
|
|
263
|
+
const injected = this._options.qdrantClient;
|
|
264
|
+
const config = injected
|
|
265
|
+
? {
|
|
266
|
+
url: "",
|
|
267
|
+
apiKey: "",
|
|
268
|
+
collection: this._options.collection ?? "pi-harness-skills-test",
|
|
269
|
+
}
|
|
270
|
+
: getQdrantConfig();
|
|
271
|
+
if (!config)
|
|
272
|
+
return { state: "not-configured", count: 0 };
|
|
273
|
+
const mods = await resolveQdrantModules();
|
|
274
|
+
if (!mods) {
|
|
275
|
+
return {
|
|
276
|
+
state: "unavailable",
|
|
277
|
+
count: 0,
|
|
278
|
+
collection: config.collection,
|
|
279
|
+
error: "the Qdrant package is not available",
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
if (!mods.getCollectionInfo) {
|
|
283
|
+
return {
|
|
284
|
+
state: "unavailable",
|
|
285
|
+
count: 0,
|
|
286
|
+
collection: config.collection,
|
|
287
|
+
error: "the installed Qdrant package cannot read a collection",
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
try {
|
|
291
|
+
const client = injected ?? mods.createQdrantClient({ url: config.url, apiKey: config.apiKey });
|
|
292
|
+
const info = await mods.getCollectionInfo(client, config.collection);
|
|
293
|
+
if (!info) {
|
|
294
|
+
return {
|
|
295
|
+
state: "unavailable",
|
|
296
|
+
count: 0,
|
|
297
|
+
collection: config.collection,
|
|
298
|
+
error: "the collection could not be read",
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
if (!info.exists) {
|
|
302
|
+
return { state: "missing", count: 0, collection: config.collection };
|
|
303
|
+
}
|
|
304
|
+
const count = info.pointsCount ?? 0;
|
|
305
|
+
const stats = {
|
|
306
|
+
state: count > 0 ? "populated" : "empty",
|
|
307
|
+
count,
|
|
308
|
+
collection: config.collection,
|
|
309
|
+
dimensions: info.vectorsSize,
|
|
310
|
+
distance: info.vectorsDistance,
|
|
311
|
+
};
|
|
312
|
+
const mismatch = describeSkillSchemaMismatch({ dimensions: info.vectorsSize, distance: info.vectorsDistance }, this._expectedVectorSchema(mods));
|
|
313
|
+
if (mismatch) {
|
|
314
|
+
stats.schemaMismatch = mismatch;
|
|
315
|
+
// The legacy collection is a known cause - name it, so the reader
|
|
316
|
+
// does not have to know the history of the collection names.
|
|
317
|
+
if (config.collection === LEGACY_SKILL_COLLECTION) {
|
|
318
|
+
stats.schemaMismatch +=
|
|
319
|
+
` - the collection ${LEGACY_SKILL_COLLECTION} was created by scripts/sync-to-qdrant.ts` +
|
|
320
|
+
` with ${LEGACY_SKILL_COLLECTION_MODEL} (${LEGACY_SKILL_COLLECTION_DIMENSIONS} dimensions)`;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
return stats;
|
|
324
|
+
}
|
|
325
|
+
catch (err) {
|
|
326
|
+
return {
|
|
327
|
+
state: "unavailable",
|
|
328
|
+
count: 0,
|
|
329
|
+
collection: config.collection,
|
|
330
|
+
error: err instanceof Error ? err.message : String(err),
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
}
|
|
163
334
|
/** The point of a skill in the vector index. */
|
|
164
335
|
_toQdrantPoint(skill) {
|
|
165
336
|
return {
|
|
@@ -331,7 +502,90 @@ export class SkillRegistry {
|
|
|
331
502
|
* Get a skill by ID
|
|
332
503
|
*/
|
|
333
504
|
get(skillId) {
|
|
334
|
-
|
|
505
|
+
// A server skill is only known after a vector search found it, so it is
|
|
506
|
+
// looked up second - the local skill always wins.
|
|
507
|
+
return this.skills.get(skillId) ?? this.remoteSkills.get(skillId);
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* The skills that only exist in the vector store.
|
|
511
|
+
*
|
|
512
|
+
* They are not part of `list()`: the local count must stay local.
|
|
513
|
+
*/
|
|
514
|
+
listRemote() {
|
|
515
|
+
return Array.from(this.remoteSkills.values());
|
|
516
|
+
}
|
|
517
|
+
/**
|
|
518
|
+
* The service that holds the server-side skills.
|
|
519
|
+
*
|
|
520
|
+
* `undefined` means "no service is configured". Setting a source clears
|
|
521
|
+
* the cached remote skills: a new service is a new authority, so the old
|
|
522
|
+
* content must not survive it.
|
|
523
|
+
*/
|
|
524
|
+
setRemoteSource(source) {
|
|
525
|
+
this._remoteSource = source;
|
|
526
|
+
this.remoteSkills.clear();
|
|
527
|
+
this._completeRemote.clear();
|
|
528
|
+
}
|
|
529
|
+
/**
|
|
530
|
+
* Ask the service for the skills it holds.
|
|
531
|
+
*
|
|
532
|
+
* A skill whose version changed is replaced by the new one. A record
|
|
533
|
+
* without a version never replaces a cached skill - an unknown version is
|
|
534
|
+
* not evidence of a change.
|
|
535
|
+
*/
|
|
536
|
+
async refreshRemoteSkills(options) {
|
|
537
|
+
if (!this._remoteSource) {
|
|
538
|
+
return { state: "not-configured", count: 0 };
|
|
539
|
+
}
|
|
540
|
+
let records;
|
|
541
|
+
try {
|
|
542
|
+
records = await this._remoteSource.list(options);
|
|
543
|
+
}
|
|
544
|
+
catch (error) {
|
|
545
|
+
return {
|
|
546
|
+
state: this._remoteFailureState(error),
|
|
547
|
+
count: 0,
|
|
548
|
+
error: describeRemoteFailure(error),
|
|
549
|
+
};
|
|
550
|
+
}
|
|
551
|
+
for (const record of records) {
|
|
552
|
+
const cached = this.remoteSkills.get(record.id);
|
|
553
|
+
if (!isStale(cached, record))
|
|
554
|
+
continue;
|
|
555
|
+
const skill = skillFromRemote(record);
|
|
556
|
+
this.remoteSkills.set(skill.id, skill);
|
|
557
|
+
if (record.contentComplete)
|
|
558
|
+
this._completeRemote.add(skill.id);
|
|
559
|
+
}
|
|
560
|
+
return {
|
|
561
|
+
state: records.length > 0 ? "populated" : "empty",
|
|
562
|
+
count: records.length,
|
|
563
|
+
};
|
|
564
|
+
}
|
|
565
|
+
/**
|
|
566
|
+
* The state of the service that holds the server-side skills.
|
|
567
|
+
*
|
|
568
|
+
* The states stay apart: a refused call is not an unreachable service and
|
|
569
|
+
* not an empty service.
|
|
570
|
+
*/
|
|
571
|
+
async getRemoteStats() {
|
|
572
|
+
if (!this._remoteSource) {
|
|
573
|
+
return { state: "not-configured", count: 0 };
|
|
574
|
+
}
|
|
575
|
+
return this.refreshRemoteSkills();
|
|
576
|
+
}
|
|
577
|
+
/**
|
|
578
|
+
* The state a failed call stands for.
|
|
579
|
+
*
|
|
580
|
+
* A refusal of the service is "denied" - the service answered, it just
|
|
581
|
+
* did not allow this call. Everything else is a service that could not be
|
|
582
|
+
* reached.
|
|
583
|
+
*/
|
|
584
|
+
_remoteFailureState(error) {
|
|
585
|
+
const code = error?.code;
|
|
586
|
+
if (code === "denied" || code === -32001 || code === -32002)
|
|
587
|
+
return "denied";
|
|
588
|
+
return "unavailable";
|
|
335
589
|
}
|
|
336
590
|
/**
|
|
337
591
|
* List all registered skills
|
|
@@ -429,10 +683,38 @@ export class SkillRegistry {
|
|
|
429
683
|
return results[0] ?? null;
|
|
430
684
|
}
|
|
431
685
|
// --- Qdrant vector search --------------------------------------------------
|
|
686
|
+
/**
|
|
687
|
+
* A skill that only exists in the vector store.
|
|
688
|
+
*
|
|
689
|
+
* The payload carries the name, the description and the body - enough to
|
|
690
|
+
* USE the skill on a machine that has no local copy of it.
|
|
691
|
+
*/
|
|
692
|
+
static skillFromPayload(payload, name) {
|
|
693
|
+
const description = typeof payload.description === "string" ? payload.description : "";
|
|
694
|
+
const body = typeof payload.body === "string" ? payload.body : "";
|
|
695
|
+
if (!description && !body)
|
|
696
|
+
return null;
|
|
697
|
+
return {
|
|
698
|
+
id: name,
|
|
699
|
+
// A server skill has no directory on this machine.
|
|
700
|
+
path: "",
|
|
701
|
+
frontmatter: { name, description },
|
|
702
|
+
body,
|
|
703
|
+
references: [],
|
|
704
|
+
examples: [],
|
|
705
|
+
metadata: { name, description },
|
|
706
|
+
loaded: true,
|
|
707
|
+
};
|
|
708
|
+
}
|
|
432
709
|
/**
|
|
433
710
|
* Search skills by semantic similarity using Qdrant.
|
|
434
711
|
* Falls back to an empty result if Qdrant is not available.
|
|
435
712
|
*
|
|
713
|
+
* A hit that belongs to no local skill is a SERVER skill: it is returned
|
|
714
|
+
* with its payload instead of being dropped. Dropping it would make a
|
|
715
|
+
* shared skill invisible on every machine that has no local copy of it -
|
|
716
|
+
* which is exactly the case the vector store exists for.
|
|
717
|
+
*
|
|
436
718
|
* @param query Natural-language query
|
|
437
719
|
* @param limit Max results (default 5)
|
|
438
720
|
* @param threshold Minimum cosine score (default 0.5)
|
|
@@ -453,10 +735,20 @@ export class SkillRegistry {
|
|
|
453
735
|
for (const pt of raw.points ?? []) {
|
|
454
736
|
if (pt.score < threshold)
|
|
455
737
|
continue;
|
|
456
|
-
const
|
|
457
|
-
const
|
|
458
|
-
if (
|
|
459
|
-
|
|
738
|
+
const payload = pt.payload ?? {};
|
|
739
|
+
const name = typeof payload.name === "string" ? payload.name : undefined;
|
|
740
|
+
if (!name)
|
|
741
|
+
continue;
|
|
742
|
+
const local = this.skills.get(name);
|
|
743
|
+
if (local) {
|
|
744
|
+
results.push({ skill: local, score: pt.score, source: "local" });
|
|
745
|
+
continue;
|
|
746
|
+
}
|
|
747
|
+
const remote = SkillRegistry.skillFromPayload(payload, name);
|
|
748
|
+
if (!remote)
|
|
749
|
+
continue;
|
|
750
|
+
this.remoteSkills.set(remote.id, remote);
|
|
751
|
+
results.push({ skill: remote, score: pt.score, source: "remote" });
|
|
460
752
|
}
|
|
461
753
|
return results;
|
|
462
754
|
}
|
|
@@ -508,7 +800,34 @@ export class SkillRegistry {
|
|
|
508
800
|
* Load a skill's full content (progressive disclosure)
|
|
509
801
|
*/
|
|
510
802
|
async load(skillId, options) {
|
|
511
|
-
|
|
803
|
+
let skill = this.skills.get(skillId) ?? this.remoteSkills.get(skillId);
|
|
804
|
+
// A skill that is not known yet may still live on the server. The
|
|
805
|
+
// service decides whether this user may see it - a refusal is not an
|
|
806
|
+
// error, it is an answer.
|
|
807
|
+
if (!skill && this._remoteSource) {
|
|
808
|
+
const record = await this._remoteSource.get(skillId);
|
|
809
|
+
if (!record)
|
|
810
|
+
return null;
|
|
811
|
+
skill = skillFromRemote(record);
|
|
812
|
+
this.remoteSkills.set(skill.id, skill);
|
|
813
|
+
if (record.contentComplete)
|
|
814
|
+
this._completeRemote.add(skill.id);
|
|
815
|
+
}
|
|
816
|
+
// A cached remote skill may carry only a truncated body. The service
|
|
817
|
+
// holds the complete content, so it is fetched once.
|
|
818
|
+
if (skill &&
|
|
819
|
+
!this.skills.has(skillId) &&
|
|
820
|
+
this._remoteSource &&
|
|
821
|
+
!this._completeRemote.has(skillId)) {
|
|
822
|
+
const record = await this._remoteSource.get(skillId);
|
|
823
|
+
if (record) {
|
|
824
|
+
const complete = skillFromRemote(record);
|
|
825
|
+
this.remoteSkills.set(complete.id, complete);
|
|
826
|
+
if (record.contentComplete)
|
|
827
|
+
this._completeRemote.add(complete.id);
|
|
828
|
+
skill = complete;
|
|
829
|
+
}
|
|
830
|
+
}
|
|
512
831
|
if (!skill) {
|
|
513
832
|
return null;
|
|
514
833
|
}
|
|
@@ -538,9 +857,11 @@ export class SkillRegistry {
|
|
|
538
857
|
*/
|
|
539
858
|
async loadSkill(skill, options) {
|
|
540
859
|
const loadedSkill = { ...skill };
|
|
541
|
-
|
|
860
|
+
// A server skill has no directory on this machine - its body comes from
|
|
861
|
+
// the vector store, so nothing is read from the disk.
|
|
862
|
+
const skillMdPath = skill.path ? join(skill.path, "SKILL.md") : "";
|
|
542
863
|
// Re-parse to get fresh content
|
|
543
|
-
if (existsSync(skillMdPath)) {
|
|
864
|
+
if (skillMdPath && existsSync(skillMdPath)) {
|
|
544
865
|
const parsed = parseSkillFile(skillMdPath);
|
|
545
866
|
loadedSkill.body = parsed.body;
|
|
546
867
|
loadedSkill.frontmatter = parsed.frontmatter;
|
|
@@ -612,6 +933,7 @@ export class SkillRegistry {
|
|
|
612
933
|
*/
|
|
613
934
|
clear() {
|
|
614
935
|
this.skills.clear();
|
|
936
|
+
this.remoteSkills.clear();
|
|
615
937
|
this.index = { entries: [], loadedAt: 0 };
|
|
616
938
|
this.loading.clear();
|
|
617
939
|
}
|
|
@@ -625,7 +947,7 @@ export class SkillRegistry {
|
|
|
625
947
|
* Check if skill exists
|
|
626
948
|
*/
|
|
627
949
|
has(skillId) {
|
|
628
|
-
return this.skills.has(skillId);
|
|
950
|
+
return this.skills.has(skillId) || this.remoteSkills.has(skillId);
|
|
629
951
|
}
|
|
630
952
|
}
|
|
631
953
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The server-held skills.
|
|
3
|
+
*
|
|
4
|
+
* The vector store holds an INDEX: the name, the description and a
|
|
5
|
+
* truncated body. That is enough to FIND a skill, but not to use it - a
|
|
6
|
+
* complete SKILL.md (with its references and examples) is larger than a
|
|
7
|
+
* vector store payload should be.
|
|
8
|
+
*
|
|
9
|
+
* The remote source is therefore the authoritative store of the complete
|
|
10
|
+
* skill content. It is reached through an authenticated service, so the
|
|
11
|
+
* SERVER decides which skills this user may see. A client never decides
|
|
12
|
+
* that on its own.
|
|
13
|
+
*/
|
|
14
|
+
import type { Skill } from "./types.js";
|
|
15
|
+
/** A skill the server holds. */
|
|
16
|
+
export interface RemoteSkill {
|
|
17
|
+
/** The id the server knows the skill by. */
|
|
18
|
+
id: string;
|
|
19
|
+
/** The name of the skill. */
|
|
20
|
+
name: string;
|
|
21
|
+
/** What the skill does. */
|
|
22
|
+
description: string;
|
|
23
|
+
/** The version of the content. */
|
|
24
|
+
version?: string;
|
|
25
|
+
/** When the content changed the last time. */
|
|
26
|
+
updatedAt?: string;
|
|
27
|
+
/** The content of the skill (the body of SKILL.md). */
|
|
28
|
+
content?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Whether the content is the COMPLETE skill.
|
|
31
|
+
*
|
|
32
|
+
* A vector store payload carries a truncated body - that is not a
|
|
33
|
+
* complete skill. The service returns the whole thing, so it sets
|
|
34
|
+
* this flag.
|
|
35
|
+
*/
|
|
36
|
+
contentComplete?: boolean;
|
|
37
|
+
}
|
|
38
|
+
/** Where the server-held skills come from. */
|
|
39
|
+
export interface RemoteSkillSource {
|
|
40
|
+
/**
|
|
41
|
+
* The skills the server holds for this user and workspace.
|
|
42
|
+
*
|
|
43
|
+
* @param options The search term and the number of skills to return.
|
|
44
|
+
*/
|
|
45
|
+
list(options?: {
|
|
46
|
+
search?: string;
|
|
47
|
+
limit?: number;
|
|
48
|
+
}): Promise<RemoteSkill[]>;
|
|
49
|
+
/** The complete content of one skill. */
|
|
50
|
+
get(id: string): Promise<RemoteSkill | null>;
|
|
51
|
+
}
|
|
52
|
+
/** The reasons a call to the remote source can fail. */
|
|
53
|
+
export type RemoteSkillFailure =
|
|
54
|
+
/** The service refused the call - the token is missing or wrong. */
|
|
55
|
+
"denied"
|
|
56
|
+
/** The service could not be reached. */
|
|
57
|
+
| "unavailable";
|
|
58
|
+
/** The state of the server-held skills. */
|
|
59
|
+
export type RemoteSkillState =
|
|
60
|
+
/** No service is configured. */
|
|
61
|
+
"not-configured"
|
|
62
|
+
/** The service refused the call. */
|
|
63
|
+
| "denied"
|
|
64
|
+
/** The service could not be reached. */
|
|
65
|
+
| "unavailable"
|
|
66
|
+
/** The service holds no skill for this user. */
|
|
67
|
+
| "empty"
|
|
68
|
+
/** The service holds skills. */
|
|
69
|
+
| "populated";
|
|
70
|
+
/** What the remote source knows. */
|
|
71
|
+
export interface RemoteSkillStats {
|
|
72
|
+
/** The state of the source. */
|
|
73
|
+
state: RemoteSkillState;
|
|
74
|
+
/** The number of skills the source holds. */
|
|
75
|
+
count: number;
|
|
76
|
+
/** The reason of a failed call. */
|
|
77
|
+
error?: string;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* A skill from a remote record.
|
|
81
|
+
*
|
|
82
|
+
* The record carries the content, so the skill is usable without a local
|
|
83
|
+
* copy. The path stays empty: a server skill has no directory on this
|
|
84
|
+
* machine.
|
|
85
|
+
*/
|
|
86
|
+
export declare function skillFromRemote(record: RemoteSkill): Skill;
|
|
87
|
+
/**
|
|
88
|
+
* The version of a cached remote skill.
|
|
89
|
+
*
|
|
90
|
+
* A skill without a version cannot be compared - the cache keeps it.
|
|
91
|
+
*/
|
|
92
|
+
export declare function remoteVersion(skill: Skill | undefined): string | undefined;
|
|
93
|
+
/**
|
|
94
|
+
* The safe reason of a failed call.
|
|
95
|
+
*
|
|
96
|
+
* The message never carries a credential: a token that a service echoed
|
|
97
|
+
* back is removed before the message leaves the process.
|
|
98
|
+
*/
|
|
99
|
+
export declare function describeRemoteFailure(error: unknown): string;
|
|
100
|
+
/**
|
|
101
|
+
* Whether the cached skill is older than the record.
|
|
102
|
+
*
|
|
103
|
+
* A record without a version never replaces a cached skill: an unknown
|
|
104
|
+
* version is not evidence of a change.
|
|
105
|
+
*/
|
|
106
|
+
export declare function isStale(cached: Skill | undefined, record: RemoteSkill): boolean;
|
|
107
|
+
//# sourceMappingURL=remote-source.d.ts.map
|