pi-harness-runtime 1.1.411 → 1.1.413

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/harness/notification-settings.ts +130 -0
  2. package/harness/skill-remote-source.ts +157 -0
  3. package/harness/skill-sync.ts +74 -22
  4. package/harness/skills-startup.ts +229 -0
  5. package/harness/startup-report.ts +98 -56
  6. package/harness-startup-status.ts +31 -2
  7. package/index.ts +125 -31
  8. package/package.json +1 -1
  9. package/packages/a2a-adapter/package.json +1 -1
  10. package/packages/agent-policy/package.json +1 -1
  11. package/packages/architecture-generator/package.json +1 -1
  12. package/packages/auth/package.json +1 -1
  13. package/packages/autonomous-refactor/package.json +1 -1
  14. package/packages/autonomous-runtime/package.json +1 -1
  15. package/packages/cache-strategy/package.json +1 -1
  16. package/packages/capability-registry/package.json +1 -1
  17. package/packages/checkpoint/package.json +1 -1
  18. package/packages/cli-plugin-sdk/package.json +1 -1
  19. package/packages/clipboard/package.json +1 -1
  20. package/packages/clipboard-plugin/package.json +1 -1
  21. package/packages/code-generation/package.json +1 -1
  22. package/packages/code-review/package.json +1 -1
  23. package/packages/codex-adapter/package.json +1 -1
  24. package/packages/codex-watcher/package.json +1 -1
  25. package/packages/config-capture/package.json +1 -1
  26. package/packages/connection-runtime/package.json +1 -1
  27. package/packages/context-compiler/package.json +1 -1
  28. package/packages/context-discovery/package.json +1 -1
  29. package/packages/context-manager/package.json +1 -1
  30. package/packages/contracts/package.json +1 -1
  31. package/packages/cookie-sanitizer/package.json +1 -1
  32. package/packages/cost-optimizer/package.json +1 -1
  33. package/packages/dependency-analyzer/package.json +1 -1
  34. package/packages/django-plugin/package.json +1 -1
  35. package/packages/doc-generator/package.json +1 -1
  36. package/packages/durable-review/package.json +1 -1
  37. package/packages/e2e-tester/package.json +1 -1
  38. package/packages/evaluation-engine/package.json +1 -1
  39. package/packages/evaluation-runner/package.json +1 -1
  40. package/packages/event-bus/package.json +1 -1
  41. package/packages/event-sink/package.json +1 -1
  42. package/packages/event-store/package.json +1 -1
  43. package/packages/experience-replay/package.json +1 -1
  44. package/packages/feedback-collector/package.json +1 -1
  45. package/packages/file-copy-helper/package.json +1 -1
  46. package/packages/framework-detector/package.json +1 -1
  47. package/packages/framework-plugin-sdk/package.json +1 -1
  48. package/packages/frappe-plugin/package.json +1 -1
  49. package/packages/generic-web-plugin/package.json +1 -1
  50. package/packages/health-monitor/package.json +1 -1
  51. package/packages/intent-analyzer/package.json +1 -1
  52. package/packages/jev-judge/package.json +1 -1
  53. package/packages/knowledge-graph/package.json +1 -1
  54. package/packages/knowledge-retrieval/package.json +1 -1
  55. package/packages/laravel-plugin/package.json +1 -1
  56. package/packages/learning-engine/package.json +1 -1
  57. package/packages/logging/package.json +1 -1
  58. package/packages/mcp-adapter/package.json +1 -1
  59. package/packages/memory-engine/package.json +1 -1
  60. package/packages/milestone-manager/package.json +1 -1
  61. package/packages/model-registry/package.json +1 -1
  62. package/packages/nextjs-plugin/package.json +1 -1
  63. package/packages/notification/package.json +1 -1
  64. package/packages/observability/package.json +1 -1
  65. package/packages/okf-indexer/package.json +1 -1
  66. package/packages/paperclip-integration/package.json +1 -1
  67. package/packages/performance-optimizer/package.json +1 -1
  68. package/packages/permission-mode/package.json +1 -1
  69. package/packages/privilege-broker/package.json +1 -1
  70. package/packages/project-analyzer/package.json +1 -1
  71. package/packages/project-bootstrap/package.json +1 -1
  72. package/packages/projection-engine/package.json +1 -1
  73. package/packages/prompt-compiler/package.json +1 -1
  74. package/packages/prompt-versioning/package.json +1 -1
  75. package/packages/provider-adapter-sdk/package.json +1 -1
  76. package/packages/provider-router/package.json +1 -1
  77. package/packages/provider-selector/package.json +1 -1
  78. package/packages/providers/package.json +1 -1
  79. package/packages/qdrant-skills/dist/client.d.ts +10 -0
  80. package/packages/qdrant-skills/dist/client.d.ts.map +1 -1
  81. package/packages/qdrant-skills/dist/client.js +41 -9
  82. package/packages/qdrant-skills/dist/client.js.map +1 -1
  83. package/packages/qdrant-skills/dist/embedder.d.ts +10 -0
  84. package/packages/qdrant-skills/dist/embedder.d.ts.map +1 -1
  85. package/packages/qdrant-skills/dist/embedder.js +12 -2
  86. package/packages/qdrant-skills/dist/embedder.js.map +1 -1
  87. package/packages/qdrant-skills/dist/index.d.ts +2 -2
  88. package/packages/qdrant-skills/dist/index.d.ts.map +1 -1
  89. package/packages/qdrant-skills/dist/index.js +2 -2
  90. package/packages/qdrant-skills/dist/index.js.map +1 -1
  91. package/packages/qdrant-skills/package.json +1 -1
  92. package/packages/qdrant-skills/src/client.ts +38 -9
  93. package/packages/qdrant-skills/src/embedder.ts +14 -2
  94. package/packages/qdrant-skills/src/index.ts +3 -0
  95. package/packages/qdrant-skills/test/collection-info.test.ts +165 -0
  96. package/packages/quota-manager/package.json +1 -1
  97. package/packages/rate-limiter/package.json +1 -1
  98. package/packages/react-vite-plugin/package.json +1 -1
  99. package/packages/relay/package.json +1 -1
  100. package/packages/release-manager/package.json +1 -1
  101. package/packages/requirement-compiler/package.json +1 -1
  102. package/packages/runtime/package.json +1 -1
  103. package/packages/scheduler/package.json +1 -1
  104. package/packages/scheduler-adapter/package.json +1 -1
  105. package/packages/session/package.json +1 -1
  106. package/packages/session-api/package.json +1 -1
  107. package/packages/session-export/package.json +1 -1
  108. package/packages/shared-context/package.json +1 -1
  109. package/packages/skill-mcp-client/package.json +1 -1
  110. package/packages/skill-registry/package.json +1 -1
  111. package/packages/skills/dist/index.d.ts +14 -1
  112. package/packages/skills/dist/index.d.ts.map +1 -1
  113. package/packages/skills/dist/index.js +3 -1
  114. package/packages/skills/dist/index.js.map +1 -1
  115. package/packages/skills/dist/loader.d.ts +209 -0
  116. package/packages/skills/dist/loader.d.ts.map +1 -1
  117. package/packages/skills/dist/loader.js +386 -15
  118. package/packages/skills/dist/loader.js.map +1 -1
  119. package/packages/skills/dist/remote-source.d.ts +107 -0
  120. package/packages/skills/dist/remote-source.d.ts.map +1 -0
  121. package/packages/skills/dist/remote-source.js +79 -0
  122. package/packages/skills/dist/remote-source.js.map +1 -0
  123. package/packages/skills/dist/vector-schema.d.ts +58 -0
  124. package/packages/skills/dist/vector-schema.d.ts.map +1 -0
  125. package/packages/skills/dist/vector-schema.js +55 -0
  126. package/packages/skills/dist/vector-schema.js.map +1 -0
  127. package/packages/skills/package.json +1 -1
  128. package/packages/skills/src/index.ts +16 -2
  129. package/packages/skills/src/loader.ts +532 -39
  130. package/packages/skills/src/remote-source.ts +148 -0
  131. package/packages/skills/src/vector-schema.ts +72 -0
  132. package/packages/skills/test/remote-skills.test.ts +292 -0
  133. package/packages/skills/test/remote-source.test.ts +248 -0
  134. package/packages/sprint-planner/package.json +1 -1
  135. package/packages/subscription-engine/package.json +1 -1
  136. package/packages/task-compiler/package.json +1 -1
  137. package/packages/telegram/package.json +1 -1
  138. package/packages/tencentdb-memory/package.json +1 -1
  139. package/packages/tencentdb-sync/package.json +1 -1
  140. package/packages/test-data-generator/package.json +1 -1
  141. package/packages/test-generator/package.json +1 -1
  142. package/packages/todo-bd-sync/package.json +1 -1
  143. package/packages/token-estimation/package.json +1 -1
  144. package/packages/token-optimizer/package.json +1 -1
  145. package/packages/tooling-preference/package.json +1 -1
  146. package/packages/trajectory/package.json +1 -1
  147. package/packages/tui/package.json +1 -1
  148. package/packages/two-phase-review/package.json +1 -1
  149. package/packages/types/package.json +1 -1
  150. package/packages/voice-api/package.json +1 -1
  151. package/packages/webmcp-tester/package.json +1 -1
  152. package/packages/wiki/package.json +1 -1
  153. package/packages/workflow-events/package.json +1 -1
  154. package/packages/workspace-scanner/package.json +1 -1
  155. package/packages/worktree/package.json +1 -1
  156. package/packages/write-review/package.json +1 -1
  157. 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 mod;
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: (cfg) => mod.createQdrantClient(cfg),
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: process.env.QDRANT_COLLECTION || "pi-harness-skills",
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
- await mods.createCollection(client, config.collection, 1536);
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,152 @@ export class SkillRegistry {
160
234
  this._qdrantInitFailed = true;
161
235
  }
162
236
  }
237
+ /**
238
+ * The skills of the legacy collection.
239
+ *
240
+ * The legacy collection holds 384-dimensional vectors, so it cannot be
241
+ * searched with the vectors of the runtime. Its skills are not lost -
242
+ * they live in a collection with another name.
243
+ */
244
+ async _readLegacyCollection(client, mods) {
245
+ // The legacy collection IS the runtime collection when the user
246
+ // configured it explicitly - then there is no second collection.
247
+ if (this._options.collection === LEGACY_SKILL_COLLECTION)
248
+ return undefined;
249
+ if (!mods.getCollectionInfo)
250
+ return undefined;
251
+ try {
252
+ const info = await mods.getCollectionInfo(client, LEGACY_SKILL_COLLECTION);
253
+ if (!info?.exists)
254
+ return undefined;
255
+ const count = info.pointsCount ?? 0;
256
+ if (count === 0)
257
+ return undefined;
258
+ return {
259
+ collection: LEGACY_SKILL_COLLECTION,
260
+ count,
261
+ dimensions: info.vectorsSize,
262
+ model: info.vectorsSize === LEGACY_SKILL_COLLECTION_DIMENSIONS
263
+ ? LEGACY_SKILL_COLLECTION_MODEL
264
+ : undefined,
265
+ };
266
+ }
267
+ catch {
268
+ // The legacy collection is a bonus - a failure to read it must not
269
+ // hide the state of the runtime collection.
270
+ return undefined;
271
+ }
272
+ }
273
+ /**
274
+ * The schema the runtime expects of the skill collection.
275
+ *
276
+ * The installed Qdrant package knows the size of its own model; an older
277
+ * build does not, and the fallback is used then.
278
+ */
279
+ _expectedVectorSchema(mods) {
280
+ return {
281
+ dimensions: mods.embeddingDimensions ?? RUNTIME_VECTOR_DIMENSIONS,
282
+ distance: RUNTIME_VECTOR_DISTANCE,
283
+ model: mods.embeddingModel,
284
+ };
285
+ }
286
+ /**
287
+ * The state of the skill vector store.
288
+ *
289
+ * The numbers are what the startup summary shows next to the local skill
290
+ * count, and the state says WHY there is no number: no credentials, an
291
+ * unreachable cluster, a collection that does not exist yet.
292
+ *
293
+ * The collection schema is checked here as well: a collection built with a
294
+ * different embedding model holds vectors the runtime cannot search with,
295
+ * and the reason has to be named - otherwise the vector search simply
296
+ * finds nothing.
297
+ */
298
+ async getQdrantStats() {
299
+ const injected = this._options.qdrantClient;
300
+ const config = injected
301
+ ? {
302
+ url: "",
303
+ apiKey: "",
304
+ collection: this._options.collection ?? "pi-harness-skills-test",
305
+ }
306
+ : getQdrantConfig();
307
+ if (!config)
308
+ return { state: "not-configured", count: 0 };
309
+ const mods = await resolveQdrantModules();
310
+ if (!mods) {
311
+ return {
312
+ state: "unavailable",
313
+ count: 0,
314
+ collection: config.collection,
315
+ error: "the Qdrant package is not available",
316
+ };
317
+ }
318
+ if (!mods.getCollectionInfo) {
319
+ return {
320
+ state: "unavailable",
321
+ count: 0,
322
+ collection: config.collection,
323
+ error: "the installed Qdrant package cannot read a collection",
324
+ };
325
+ }
326
+ try {
327
+ const client = injected ?? mods.createQdrantClient({ url: config.url, apiKey: config.apiKey });
328
+ const info = await mods.getCollectionInfo(client, config.collection);
329
+ if (!info) {
330
+ return {
331
+ state: "unavailable",
332
+ count: 0,
333
+ collection: config.collection,
334
+ error: "the collection could not be read",
335
+ };
336
+ }
337
+ if (!info.exists) {
338
+ // The runtime collection does not exist (yet). An earlier
339
+ // installation may have left the skills in the legacy collection -
340
+ // naming them is more useful than an empty count.
341
+ return {
342
+ state: "missing",
343
+ count: 0,
344
+ collection: config.collection,
345
+ legacy: await this._readLegacyCollection(client, mods),
346
+ };
347
+ }
348
+ const count = info.pointsCount ?? 0;
349
+ const stats = {
350
+ state: count > 0 ? "populated" : "empty",
351
+ count,
352
+ collection: config.collection,
353
+ dimensions: info.vectorsSize,
354
+ distance: info.vectorsDistance,
355
+ };
356
+ // An empty runtime collection can still have its skills in the
357
+ // legacy one - the same information, one collection further down.
358
+ if (count === 0) {
359
+ stats.legacy = await this._readLegacyCollection(client, mods);
360
+ }
361
+ const mismatch = describeSkillSchemaMismatch({ dimensions: info.vectorsSize, distance: info.vectorsDistance }, this._expectedVectorSchema(mods));
362
+ if (mismatch) {
363
+ stats.schemaMismatch = mismatch;
364
+ // The legacy collection is a known cause - name it, so the reader
365
+ // does not have to know the history of the collection names.
366
+ if (config.collection === LEGACY_SKILL_COLLECTION) {
367
+ stats.schemaMismatch +=
368
+ ` - the collection ${LEGACY_SKILL_COLLECTION} was created by scripts/sync-to-qdrant.ts` +
369
+ ` with ${LEGACY_SKILL_COLLECTION_MODEL} (${LEGACY_SKILL_COLLECTION_DIMENSIONS} dimensions)`;
370
+ }
371
+ }
372
+ return stats;
373
+ }
374
+ catch (err) {
375
+ return {
376
+ state: "unavailable",
377
+ count: 0,
378
+ collection: config.collection,
379
+ error: err instanceof Error ? err.message : String(err),
380
+ };
381
+ }
382
+ }
163
383
  /** The point of a skill in the vector index. */
164
384
  _toQdrantPoint(skill) {
165
385
  return {
@@ -331,7 +551,90 @@ export class SkillRegistry {
331
551
  * Get a skill by ID
332
552
  */
333
553
  get(skillId) {
334
- return this.skills.get(skillId);
554
+ // A server skill is only known after a vector search found it, so it is
555
+ // looked up second - the local skill always wins.
556
+ return this.skills.get(skillId) ?? this.remoteSkills.get(skillId);
557
+ }
558
+ /**
559
+ * The skills that only exist in the vector store.
560
+ *
561
+ * They are not part of `list()`: the local count must stay local.
562
+ */
563
+ listRemote() {
564
+ return Array.from(this.remoteSkills.values());
565
+ }
566
+ /**
567
+ * The service that holds the server-side skills.
568
+ *
569
+ * `undefined` means "no service is configured". Setting a source clears
570
+ * the cached remote skills: a new service is a new authority, so the old
571
+ * content must not survive it.
572
+ */
573
+ setRemoteSource(source) {
574
+ this._remoteSource = source;
575
+ this.remoteSkills.clear();
576
+ this._completeRemote.clear();
577
+ }
578
+ /**
579
+ * Ask the service for the skills it holds.
580
+ *
581
+ * A skill whose version changed is replaced by the new one. A record
582
+ * without a version never replaces a cached skill - an unknown version is
583
+ * not evidence of a change.
584
+ */
585
+ async refreshRemoteSkills(options) {
586
+ if (!this._remoteSource) {
587
+ return { state: "not-configured", count: 0 };
588
+ }
589
+ let records;
590
+ try {
591
+ records = await this._remoteSource.list(options);
592
+ }
593
+ catch (error) {
594
+ return {
595
+ state: this._remoteFailureState(error),
596
+ count: 0,
597
+ error: describeRemoteFailure(error),
598
+ };
599
+ }
600
+ for (const record of records) {
601
+ const cached = this.remoteSkills.get(record.id);
602
+ if (!isStale(cached, record))
603
+ continue;
604
+ const skill = skillFromRemote(record);
605
+ this.remoteSkills.set(skill.id, skill);
606
+ if (record.contentComplete)
607
+ this._completeRemote.add(skill.id);
608
+ }
609
+ return {
610
+ state: records.length > 0 ? "populated" : "empty",
611
+ count: records.length,
612
+ };
613
+ }
614
+ /**
615
+ * The state of the service that holds the server-side skills.
616
+ *
617
+ * The states stay apart: a refused call is not an unreachable service and
618
+ * not an empty service.
619
+ */
620
+ async getRemoteStats() {
621
+ if (!this._remoteSource) {
622
+ return { state: "not-configured", count: 0 };
623
+ }
624
+ return this.refreshRemoteSkills();
625
+ }
626
+ /**
627
+ * The state a failed call stands for.
628
+ *
629
+ * A refusal of the service is "denied" - the service answered, it just
630
+ * did not allow this call. Everything else is a service that could not be
631
+ * reached.
632
+ */
633
+ _remoteFailureState(error) {
634
+ const code = error?.code;
635
+ if (code === "denied" || code === -32001 || code === -32002)
636
+ return "denied";
637
+ return "unavailable";
335
638
  }
336
639
  /**
337
640
  * List all registered skills
@@ -429,10 +732,38 @@ export class SkillRegistry {
429
732
  return results[0] ?? null;
430
733
  }
431
734
  // --- Qdrant vector search --------------------------------------------------
735
+ /**
736
+ * A skill that only exists in the vector store.
737
+ *
738
+ * The payload carries the name, the description and the body - enough to
739
+ * USE the skill on a machine that has no local copy of it.
740
+ */
741
+ static skillFromPayload(payload, name) {
742
+ const description = typeof payload.description === "string" ? payload.description : "";
743
+ const body = typeof payload.body === "string" ? payload.body : "";
744
+ if (!description && !body)
745
+ return null;
746
+ return {
747
+ id: name,
748
+ // A server skill has no directory on this machine.
749
+ path: "",
750
+ frontmatter: { name, description },
751
+ body,
752
+ references: [],
753
+ examples: [],
754
+ metadata: { name, description },
755
+ loaded: true,
756
+ };
757
+ }
432
758
  /**
433
759
  * Search skills by semantic similarity using Qdrant.
434
760
  * Falls back to an empty result if Qdrant is not available.
435
761
  *
762
+ * A hit that belongs to no local skill is a SERVER skill: it is returned
763
+ * with its payload instead of being dropped. Dropping it would make a
764
+ * shared skill invisible on every machine that has no local copy of it -
765
+ * which is exactly the case the vector store exists for.
766
+ *
436
767
  * @param query Natural-language query
437
768
  * @param limit Max results (default 5)
438
769
  * @param threshold Minimum cosine score (default 0.5)
@@ -453,10 +784,20 @@ export class SkillRegistry {
453
784
  for (const pt of raw.points ?? []) {
454
785
  if (pt.score < threshold)
455
786
  continue;
456
- const name = pt.payload?.name;
457
- const skill = name ? this.skills.get(name) : undefined;
458
- if (skill)
459
- results.push({ skill, score: pt.score });
787
+ const payload = pt.payload ?? {};
788
+ const name = typeof payload.name === "string" ? payload.name : undefined;
789
+ if (!name)
790
+ continue;
791
+ const local = this.skills.get(name);
792
+ if (local) {
793
+ results.push({ skill: local, score: pt.score, source: "local" });
794
+ continue;
795
+ }
796
+ const remote = SkillRegistry.skillFromPayload(payload, name);
797
+ if (!remote)
798
+ continue;
799
+ this.remoteSkills.set(remote.id, remote);
800
+ results.push({ skill: remote, score: pt.score, source: "remote" });
460
801
  }
461
802
  return results;
462
803
  }
@@ -508,7 +849,34 @@ export class SkillRegistry {
508
849
  * Load a skill's full content (progressive disclosure)
509
850
  */
510
851
  async load(skillId, options) {
511
- const skill = this.skills.get(skillId);
852
+ let skill = this.skills.get(skillId) ?? this.remoteSkills.get(skillId);
853
+ // A skill that is not known yet may still live on the server. The
854
+ // service decides whether this user may see it - a refusal is not an
855
+ // error, it is an answer.
856
+ if (!skill && this._remoteSource) {
857
+ const record = await this._remoteSource.get(skillId);
858
+ if (!record)
859
+ return null;
860
+ skill = skillFromRemote(record);
861
+ this.remoteSkills.set(skill.id, skill);
862
+ if (record.contentComplete)
863
+ this._completeRemote.add(skill.id);
864
+ }
865
+ // A cached remote skill may carry only a truncated body. The service
866
+ // holds the complete content, so it is fetched once.
867
+ if (skill &&
868
+ !this.skills.has(skillId) &&
869
+ this._remoteSource &&
870
+ !this._completeRemote.has(skillId)) {
871
+ const record = await this._remoteSource.get(skillId);
872
+ if (record) {
873
+ const complete = skillFromRemote(record);
874
+ this.remoteSkills.set(complete.id, complete);
875
+ if (record.contentComplete)
876
+ this._completeRemote.add(complete.id);
877
+ skill = complete;
878
+ }
879
+ }
512
880
  if (!skill) {
513
881
  return null;
514
882
  }
@@ -538,9 +906,11 @@ export class SkillRegistry {
538
906
  */
539
907
  async loadSkill(skill, options) {
540
908
  const loadedSkill = { ...skill };
541
- const skillMdPath = join(skill.path, "SKILL.md");
909
+ // A server skill has no directory on this machine - its body comes from
910
+ // the vector store, so nothing is read from the disk.
911
+ const skillMdPath = skill.path ? join(skill.path, "SKILL.md") : "";
542
912
  // Re-parse to get fresh content
543
- if (existsSync(skillMdPath)) {
913
+ if (skillMdPath && existsSync(skillMdPath)) {
544
914
  const parsed = parseSkillFile(skillMdPath);
545
915
  loadedSkill.body = parsed.body;
546
916
  loadedSkill.frontmatter = parsed.frontmatter;
@@ -612,6 +982,7 @@ export class SkillRegistry {
612
982
  */
613
983
  clear() {
614
984
  this.skills.clear();
985
+ this.remoteSkills.clear();
615
986
  this.index = { entries: [], loadedAt: 0 };
616
987
  this.loading.clear();
617
988
  }
@@ -625,7 +996,7 @@ export class SkillRegistry {
625
996
  * Check if skill exists
626
997
  */
627
998
  has(skillId) {
628
- return this.skills.has(skillId);
999
+ return this.skills.has(skillId) || this.remoteSkills.has(skillId);
629
1000
  }
630
1001
  }
631
1002
  /**
@@ -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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"}