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.
- 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 +229 -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 +10 -0
- package/packages/qdrant-skills/dist/client.d.ts.map +1 -1
- package/packages/qdrant-skills/dist/client.js +41 -9
- 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 +2 -2
- package/packages/qdrant-skills/dist/index.d.ts.map +1 -1
- package/packages/qdrant-skills/dist/index.js +2 -2
- 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 +38 -9
- package/packages/qdrant-skills/src/embedder.ts +14 -2
- package/packages/qdrant-skills/src/index.ts +3 -0
- package/packages/qdrant-skills/test/collection-info.test.ts +165 -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 +209 -0
- package/packages/skills/dist/loader.d.ts.map +1 -1
- package/packages/skills/dist/loader.js +386 -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 +532 -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 +292 -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
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Based on pi.dev Agent Skills specification.
|
|
6
6
|
*/
|
|
7
7
|
import type { Skill, SkillIndex, MatchOptions, MatchResult, LoadOptions, LoadedSkill } from "./types.js";
|
|
8
|
+
import { type RemoteSkillSource, type RemoteSkillStats } from "./remote-source.js";
|
|
8
9
|
export interface QdrantSkillPoint {
|
|
9
10
|
id: number;
|
|
10
11
|
name: string;
|
|
@@ -12,6 +13,90 @@ export interface QdrantSkillPoint {
|
|
|
12
13
|
body: string;
|
|
13
14
|
text: string;
|
|
14
15
|
}
|
|
16
|
+
export interface QdrantClientLike {
|
|
17
|
+
upsert(collection: string, opts: {
|
|
18
|
+
wait?: boolean;
|
|
19
|
+
points: unknown[];
|
|
20
|
+
}): Promise<void>;
|
|
21
|
+
query(collection: string, opts: {
|
|
22
|
+
query?: {
|
|
23
|
+
text?: string;
|
|
24
|
+
model?: string;
|
|
25
|
+
};
|
|
26
|
+
limit?: number;
|
|
27
|
+
with_payload?: boolean;
|
|
28
|
+
filter?: Record<string, unknown>;
|
|
29
|
+
}): Promise<unknown>;
|
|
30
|
+
/** Read the description of a collection. Optional. */
|
|
31
|
+
getCollection?(name: string): Promise<unknown>;
|
|
32
|
+
}
|
|
33
|
+
export interface QdrantEmbedderLike {
|
|
34
|
+
createEmbedding(text: string, apiKey?: string): Promise<{
|
|
35
|
+
embedding: number[];
|
|
36
|
+
tokens: number;
|
|
37
|
+
}>;
|
|
38
|
+
/** One request for many texts. Absent in an older package build. */
|
|
39
|
+
createEmbeddingsBatch?: (texts: string[], apiKey?: string) => Promise<{
|
|
40
|
+
embeddings: number[][];
|
|
41
|
+
tokens: number;
|
|
42
|
+
}>;
|
|
43
|
+
}
|
|
44
|
+
/** What the vector store is in this run. */
|
|
45
|
+
export type QdrantSkillState =
|
|
46
|
+
/** No Qdrant credentials on this machine. */
|
|
47
|
+
"not-configured"
|
|
48
|
+
/** The cluster is configured but cannot be reached. */
|
|
49
|
+
| "unavailable"
|
|
50
|
+
/** The cluster is reachable but the collection does not exist yet. */
|
|
51
|
+
| "missing"
|
|
52
|
+
/** The collection exists but holds no skill. */
|
|
53
|
+
| "empty"
|
|
54
|
+
/** The collection holds skills. */
|
|
55
|
+
| "populated";
|
|
56
|
+
/** The state of the skill vector store. */
|
|
57
|
+
export interface QdrantSkillStats {
|
|
58
|
+
/** What the vector store is in this run. */
|
|
59
|
+
state: QdrantSkillState;
|
|
60
|
+
/** The number of skill vectors in the collection. */
|
|
61
|
+
count: number;
|
|
62
|
+
/** The collection the numbers belong to. */
|
|
63
|
+
collection?: string;
|
|
64
|
+
/** The vector size the collection was created with. */
|
|
65
|
+
dimensions?: number;
|
|
66
|
+
/** The distance the collection was created with. */
|
|
67
|
+
distance?: string;
|
|
68
|
+
/** Why the collection could not be read. Never a credential. */
|
|
69
|
+
error?: string;
|
|
70
|
+
/**
|
|
71
|
+
* The collection does not match the schema of the runtime.
|
|
72
|
+
*
|
|
73
|
+
* The message names the real cause, so a user whose vector search finds
|
|
74
|
+
* nothing does not have to guess why.
|
|
75
|
+
*/
|
|
76
|
+
schemaMismatch?: string;
|
|
77
|
+
/**
|
|
78
|
+
* The collection of an earlier installation that still holds the skills.
|
|
79
|
+
*
|
|
80
|
+
* The runtime collection is empty (or does not exist yet) while the
|
|
81
|
+
* legacy collection holds the skills of the previous version. They are
|
|
82
|
+
* not lost - they live in a collection with another name, and one with
|
|
83
|
+
* another vector size.
|
|
84
|
+
*/
|
|
85
|
+
legacy?: LegacyCollectionInfo;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* The skills of the legacy collection.
|
|
89
|
+
*/
|
|
90
|
+
export interface LegacyCollectionInfo {
|
|
91
|
+
/** The name of the collection. */
|
|
92
|
+
collection: string;
|
|
93
|
+
/** The number of skill vectors it holds. */
|
|
94
|
+
count: number;
|
|
95
|
+
/** The vector size it was created with. */
|
|
96
|
+
dimensions?: number;
|
|
97
|
+
/** The embedding model it was created with. */
|
|
98
|
+
model?: string;
|
|
99
|
+
}
|
|
15
100
|
/**
|
|
16
101
|
* A point of the vector index: the vector and the payload of one skill.
|
|
17
102
|
*/
|
|
@@ -49,6 +134,26 @@ export interface SkillRegistryOptions {
|
|
|
49
134
|
* requests but holds more of them in memory.
|
|
50
135
|
*/
|
|
51
136
|
batchSize?: number;
|
|
137
|
+
/**
|
|
138
|
+
* The Qdrant client.
|
|
139
|
+
*
|
|
140
|
+
* `undefined` (the default) connects to the configured cluster. An object
|
|
141
|
+
* is used as the client - a test uses a double, so the search path can be
|
|
142
|
+
* exercised without a network.
|
|
143
|
+
*/
|
|
144
|
+
qdrantClient?: QdrantClientLike;
|
|
145
|
+
/**
|
|
146
|
+
* The embedder that turns a query into a vector.
|
|
147
|
+
*
|
|
148
|
+
* Only used together with an injected client.
|
|
149
|
+
*/
|
|
150
|
+
embedder?: QdrantEmbedderLike;
|
|
151
|
+
/**
|
|
152
|
+
* The collection of the injected client.
|
|
153
|
+
*
|
|
154
|
+
* Only used together with an injected client.
|
|
155
|
+
*/
|
|
156
|
+
collection?: string;
|
|
52
157
|
}
|
|
53
158
|
/**
|
|
54
159
|
* Get Qdrant config from env or keys files.
|
|
@@ -64,6 +169,29 @@ export declare function getQdrantConfig(): {
|
|
|
64
169
|
*/
|
|
65
170
|
export declare class SkillRegistry {
|
|
66
171
|
private skills;
|
|
172
|
+
/** The options of the registry. */
|
|
173
|
+
private _options;
|
|
174
|
+
/**
|
|
175
|
+
* The skills that only exist in the vector store.
|
|
176
|
+
*
|
|
177
|
+
* They are kept apart from the local skills on purpose: `list()` must
|
|
178
|
+
* report the LOCAL skills, so a client can say how many skills it has on
|
|
179
|
+
* disk and how many it can reach through the vector store.
|
|
180
|
+
*/
|
|
181
|
+
private remoteSkills;
|
|
182
|
+
/**
|
|
183
|
+
* The remote skills whose content is COMPLETE.
|
|
184
|
+
*
|
|
185
|
+
* A skill that only carries the truncated body of a vector store payload
|
|
186
|
+
* is not in this set - it is completed on the first load.
|
|
187
|
+
*/
|
|
188
|
+
private _completeRemote;
|
|
189
|
+
/**
|
|
190
|
+
* The service that holds the server-side skills.
|
|
191
|
+
*
|
|
192
|
+
* `undefined` means "no service is configured".
|
|
193
|
+
*/
|
|
194
|
+
private _remoteSource;
|
|
67
195
|
private index;
|
|
68
196
|
private loading;
|
|
69
197
|
private _indexer;
|
|
@@ -92,6 +220,34 @@ export declare class SkillRegistry {
|
|
|
92
220
|
*/
|
|
93
221
|
private _ensureQdrant;
|
|
94
222
|
private _doQdrantInit;
|
|
223
|
+
/**
|
|
224
|
+
* The skills of the legacy collection.
|
|
225
|
+
*
|
|
226
|
+
* The legacy collection holds 384-dimensional vectors, so it cannot be
|
|
227
|
+
* searched with the vectors of the runtime. Its skills are not lost -
|
|
228
|
+
* they live in a collection with another name.
|
|
229
|
+
*/
|
|
230
|
+
private _readLegacyCollection;
|
|
231
|
+
/**
|
|
232
|
+
* The schema the runtime expects of the skill collection.
|
|
233
|
+
*
|
|
234
|
+
* The installed Qdrant package knows the size of its own model; an older
|
|
235
|
+
* build does not, and the fallback is used then.
|
|
236
|
+
*/
|
|
237
|
+
private _expectedVectorSchema;
|
|
238
|
+
/**
|
|
239
|
+
* The state of the skill vector store.
|
|
240
|
+
*
|
|
241
|
+
* The numbers are what the startup summary shows next to the local skill
|
|
242
|
+
* count, and the state says WHY there is no number: no credentials, an
|
|
243
|
+
* unreachable cluster, a collection that does not exist yet.
|
|
244
|
+
*
|
|
245
|
+
* The collection schema is checked here as well: a collection built with a
|
|
246
|
+
* different embedding model holds vectors the runtime cannot search with,
|
|
247
|
+
* and the reason has to be named - otherwise the vector search simply
|
|
248
|
+
* finds nothing.
|
|
249
|
+
*/
|
|
250
|
+
getQdrantStats(): Promise<QdrantSkillStats>;
|
|
95
251
|
/** The point of a skill in the vector index. */
|
|
96
252
|
private _toQdrantPoint;
|
|
97
253
|
/**
|
|
@@ -144,6 +300,46 @@ export declare class SkillRegistry {
|
|
|
144
300
|
* Get a skill by ID
|
|
145
301
|
*/
|
|
146
302
|
get(skillId: string): Skill | undefined;
|
|
303
|
+
/**
|
|
304
|
+
* The skills that only exist in the vector store.
|
|
305
|
+
*
|
|
306
|
+
* They are not part of `list()`: the local count must stay local.
|
|
307
|
+
*/
|
|
308
|
+
listRemote(): Skill[];
|
|
309
|
+
/**
|
|
310
|
+
* The service that holds the server-side skills.
|
|
311
|
+
*
|
|
312
|
+
* `undefined` means "no service is configured". Setting a source clears
|
|
313
|
+
* the cached remote skills: a new service is a new authority, so the old
|
|
314
|
+
* content must not survive it.
|
|
315
|
+
*/
|
|
316
|
+
setRemoteSource(source: RemoteSkillSource | undefined): void;
|
|
317
|
+
/**
|
|
318
|
+
* Ask the service for the skills it holds.
|
|
319
|
+
*
|
|
320
|
+
* A skill whose version changed is replaced by the new one. A record
|
|
321
|
+
* without a version never replaces a cached skill - an unknown version is
|
|
322
|
+
* not evidence of a change.
|
|
323
|
+
*/
|
|
324
|
+
refreshRemoteSkills(options?: {
|
|
325
|
+
search?: string;
|
|
326
|
+
limit?: number;
|
|
327
|
+
}): Promise<RemoteSkillStats>;
|
|
328
|
+
/**
|
|
329
|
+
* The state of the service that holds the server-side skills.
|
|
330
|
+
*
|
|
331
|
+
* The states stay apart: a refused call is not an unreachable service and
|
|
332
|
+
* not an empty service.
|
|
333
|
+
*/
|
|
334
|
+
getRemoteStats(): Promise<RemoteSkillStats>;
|
|
335
|
+
/**
|
|
336
|
+
* The state a failed call stands for.
|
|
337
|
+
*
|
|
338
|
+
* A refusal of the service is "denied" - the service answered, it just
|
|
339
|
+
* did not allow this call. Everything else is a service that could not be
|
|
340
|
+
* reached.
|
|
341
|
+
*/
|
|
342
|
+
private _remoteFailureState;
|
|
147
343
|
/**
|
|
148
344
|
* List all registered skills
|
|
149
345
|
*/
|
|
@@ -160,10 +356,22 @@ export declare class SkillRegistry {
|
|
|
160
356
|
* Find best matching skill for a query
|
|
161
357
|
*/
|
|
162
358
|
findBestMatch(query: string, options?: MatchOptions): MatchResult | null;
|
|
359
|
+
/**
|
|
360
|
+
* A skill that only exists in the vector store.
|
|
361
|
+
*
|
|
362
|
+
* The payload carries the name, the description and the body - enough to
|
|
363
|
+
* USE the skill on a machine that has no local copy of it.
|
|
364
|
+
*/
|
|
365
|
+
private static skillFromPayload;
|
|
163
366
|
/**
|
|
164
367
|
* Search skills by semantic similarity using Qdrant.
|
|
165
368
|
* Falls back to an empty result if Qdrant is not available.
|
|
166
369
|
*
|
|
370
|
+
* A hit that belongs to no local skill is a SERVER skill: it is returned
|
|
371
|
+
* with its payload instead of being dropped. Dropping it would make a
|
|
372
|
+
* shared skill invisible on every machine that has no local copy of it -
|
|
373
|
+
* which is exactly the case the vector store exists for.
|
|
374
|
+
*
|
|
167
375
|
* @param query Natural-language query
|
|
168
376
|
* @param limit Max results (default 5)
|
|
169
377
|
* @param threshold Minimum cosine score (default 0.5)
|
|
@@ -171,6 +379,7 @@ export declare class SkillRegistry {
|
|
|
171
379
|
findVector(query: string, limit?: number, threshold?: number): Promise<Array<{
|
|
172
380
|
skill: Skill;
|
|
173
381
|
score: number;
|
|
382
|
+
source: "local" | "remote";
|
|
174
383
|
}>>;
|
|
175
384
|
/**
|
|
176
385
|
* Sync all registered skills to Qdrant.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,KAAK,EACL,UAAU,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
|