pi-harness-runtime 1.1.412 → 1.1.414
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/skills-startup.ts +27 -0
- 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 +20 -1
- package/packages/qdrant-skills/dist/client.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 -1
- package/packages/qdrant-skills/src/index.ts +1 -0
- package/packages/qdrant-skills/test/collection-info.test.ts +37 -1
- 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/loader.d.ts +40 -7
- package/packages/skills/dist/loader.d.ts.map +1 -1
- package/packages/skills/dist/loader.js +65 -20
- package/packages/skills/dist/loader.js.map +1 -1
- package/packages/skills/dist/vector-schema.d.ts +89 -4
- package/packages/skills/dist/vector-schema.d.ts.map +1 -1
- package/packages/skills/dist/vector-schema.js +62 -4
- package/packages/skills/dist/vector-schema.js.map +1 -1
- package/packages/skills/package.json +1 -1
- package/packages/skills/src/loader.ts +102 -25
- package/packages/skills/src/vector-schema.ts +117 -4
- package/packages/skills/test/remote-skills.test.ts +50 -0
- package/packages/skills/test/vector-schema.test.ts +167 -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 +19 -13
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-harness/provider-router",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.414",
|
|
4
4
|
"description": "Enhanced Provider Router for pi-harness-runtime — intelligent routing with capabilities, costs, and quotas",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/provider-router.js",
|
|
@@ -41,6 +41,16 @@ export declare function getCollectionInfo(client: QdrantClient, name: string): P
|
|
|
41
41
|
vectorsDistance?: string;
|
|
42
42
|
pointsCount?: number;
|
|
43
43
|
} | null>;
|
|
44
|
+
/**
|
|
45
|
+
* Whether the error means "the collection does not exist".
|
|
46
|
+
*
|
|
47
|
+
* Qdrant answers a missing collection with the status 404 and the text
|
|
48
|
+
* "Not Found". The text is compared case-insensitively, because the
|
|
49
|
+
* capitalisation differs between the client versions - a case-sensitive
|
|
50
|
+
* comparison turns a collection that does not exist yet into "the
|
|
51
|
+
* cluster could not be read", which hides the real cause.
|
|
52
|
+
*/
|
|
53
|
+
export declare function isNotFoundError(err: unknown): boolean;
|
|
44
54
|
/**
|
|
45
55
|
* Validate collection schema matches expected embedding model
|
|
46
56
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,yDAAyD;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAaD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAGrE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,MAAY,GACvB,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IACT,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,IAAI,CAAC,CAyCR;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,GAAE,MAAiB,GAClC,OAAO,CAAC;IACT,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC,CAkCD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,UAAU,EAAE,EACpB,KAAK,GAAE,MAAiD,GACvD,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAiD,EACxD,KAAK,GAAE,MAAU,GAChB,OAAO,CAAC,YAAY,EAAE,CAAC,CAwBzB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,YAAY,EAAE,CAAC,CAwBzB"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,yDAAyD;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAaD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAGrE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,MAAY,GACvB,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IACT,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,IAAI,CAAC,CAyCR;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAOrD;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,GAAE,MAAiB,GAClC,OAAO,CAAC;IACT,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC,CAkCD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,UAAU,EAAE,EACpB,KAAK,GAAE,MAAiD,GACvD,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAiD,EACxD,KAAK,GAAE,MAAU,GAChB,OAAO,CAAC,YAAY,EAAE,CAAC,CAwBzB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,YAAY,EAAE,CAAC,CAwBzB"}
|
|
@@ -78,13 +78,32 @@ export async function getCollectionInfo(client, name) {
|
|
|
78
78
|
};
|
|
79
79
|
}
|
|
80
80
|
catch (err) {
|
|
81
|
-
if (
|
|
81
|
+
if (isNotFoundError(err)) {
|
|
82
82
|
return { exists: false };
|
|
83
83
|
}
|
|
84
84
|
// Return null on other errors
|
|
85
85
|
return null;
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Whether the error means "the collection does not exist".
|
|
90
|
+
*
|
|
91
|
+
* Qdrant answers a missing collection with the status 404 and the text
|
|
92
|
+
* "Not Found". The text is compared case-insensitively, because the
|
|
93
|
+
* capitalisation differs between the client versions - a case-sensitive
|
|
94
|
+
* comparison turns a collection that does not exist yet into "the
|
|
95
|
+
* cluster could not be read", which hides the real cause.
|
|
96
|
+
*/
|
|
97
|
+
export function isNotFoundError(err) {
|
|
98
|
+
if (!(err instanceof Error))
|
|
99
|
+
return false;
|
|
100
|
+
const status = err.status
|
|
101
|
+
?? err.statusCode;
|
|
102
|
+
if (status === 404)
|
|
103
|
+
return true;
|
|
104
|
+
const message = err.message.toLowerCase();
|
|
105
|
+
return message.includes("not found") || message.includes("404");
|
|
106
|
+
}
|
|
88
107
|
/**
|
|
89
108
|
* Validate collection schema matches expected embedding model
|
|
90
109
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,6 @@
|
|
|
20
20
|
* await upsertSkills(client, 'my-skills', [{ id: 1, name: 'test', description: '...', body: '...', text: '...' }]);
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
|
-
export { createQdrantClient, createCollection, deleteCollection, getCollectionInfo, validateCollectionSchema, upsertSkills, searchSkills, getAllSkills, type QdrantConfig, type SkillPoint, type SearchResult, } from './client.js';
|
|
23
|
+
export { createQdrantClient, createCollection, deleteCollection, getCollectionInfo, isNotFoundError, validateCollectionSchema, upsertSkills, searchSkills, getAllSkills, type QdrantConfig, type SkillPoint, type SearchResult, } from './client.js';
|
|
24
24
|
export { createEmbedding, createEmbeddingsBatch, embedSkillDocument, embedSkillsBatch, getOpenAIApiKey, EMBEDDING_MODEL, EMBEDDING_DIMENSIONS, type BatchEmbeddingResult, type EmbeddingRequestOptions, type EmbeddingResult, } from './embedder.js';
|
|
25
25
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC"}
|
|
@@ -20,6 +20,6 @@
|
|
|
20
20
|
* await upsertSkills(client, 'my-skills', [{ id: 1, name: 'test', description: '...', body: '...', text: '...' }]);
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
|
-
export { createQdrantClient, createCollection, deleteCollection, getCollectionInfo, validateCollectionSchema, upsertSkills, searchSkills, getAllSkills, } from './client.js';
|
|
23
|
+
export { createQdrantClient, createCollection, deleteCollection, getCollectionInfo, isNotFoundError, validateCollectionSchema, upsertSkills, searchSkills, getAllSkills, } from './client.js';
|
|
24
24
|
export { createEmbedding, createEmbeddingsBatch, embedSkillDocument, embedSkillsBatch, getOpenAIApiKey, EMBEDDING_MODEL, EMBEDDING_DIMENSIONS, } from './embedder.js';
|
|
25
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACZ,YAAY,EACZ,YAAY,GAIb,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,oBAAoB,GAIrB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,YAAY,EACZ,YAAY,GAIb,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,oBAAoB,GAIrB,MAAM,eAAe,CAAC"}
|
|
@@ -118,7 +118,7 @@ export async function getCollectionInfo(
|
|
|
118
118
|
pointsCount,
|
|
119
119
|
};
|
|
120
120
|
} catch (err) {
|
|
121
|
-
if (
|
|
121
|
+
if (isNotFoundError(err)) {
|
|
122
122
|
return { exists: false };
|
|
123
123
|
}
|
|
124
124
|
// Return null on other errors
|
|
@@ -126,6 +126,24 @@ export async function getCollectionInfo(
|
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
+
/**
|
|
130
|
+
* Whether the error means "the collection does not exist".
|
|
131
|
+
*
|
|
132
|
+
* Qdrant answers a missing collection with the status 404 and the text
|
|
133
|
+
* "Not Found". The text is compared case-insensitively, because the
|
|
134
|
+
* capitalisation differs between the client versions - a case-sensitive
|
|
135
|
+
* comparison turns a collection that does not exist yet into "the
|
|
136
|
+
* cluster could not be read", which hides the real cause.
|
|
137
|
+
*/
|
|
138
|
+
export function isNotFoundError(err: unknown): boolean {
|
|
139
|
+
if (!(err instanceof Error)) return false;
|
|
140
|
+
const status = (err as { status?: unknown; statusCode?: unknown }).status
|
|
141
|
+
?? (err as { statusCode?: unknown }).statusCode;
|
|
142
|
+
if (status === 404) return true;
|
|
143
|
+
const message = err.message.toLowerCase();
|
|
144
|
+
return message.includes("not found") || message.includes("404");
|
|
145
|
+
}
|
|
146
|
+
|
|
129
147
|
/**
|
|
130
148
|
* Validate collection schema matches expected embedding model
|
|
131
149
|
*/
|
|
@@ -11,7 +11,11 @@
|
|
|
11
11
|
|
|
12
12
|
import { describe, expect, it } from "bun:test";
|
|
13
13
|
|
|
14
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
getCollectionInfo,
|
|
16
|
+
isNotFoundError,
|
|
17
|
+
validateCollectionSchema,
|
|
18
|
+
} from "../src/client.js";
|
|
15
19
|
|
|
16
20
|
/** A client that answers with the given collection description. */
|
|
17
21
|
function fakeClient(description: unknown): {
|
|
@@ -89,6 +93,38 @@ describe("the collection info", () => {
|
|
|
89
93
|
expect(info).toEqual({ exists: false });
|
|
90
94
|
});
|
|
91
95
|
|
|
96
|
+
it("reports a missing collection the way Qdrant really answers", async () => {
|
|
97
|
+
// Qdrant answers with the status 404 and the text "Not Found" -
|
|
98
|
+
// capitalised. A case-sensitive comparison turns a collection that
|
|
99
|
+
// does not exist yet into "the cluster could not be read".
|
|
100
|
+
const client = {
|
|
101
|
+
getCollection: async () => {
|
|
102
|
+
const error = new Error("Not Found") as Error & {
|
|
103
|
+
status: number;
|
|
104
|
+
headers: unknown;
|
|
105
|
+
url: string;
|
|
106
|
+
};
|
|
107
|
+
error.status = 404;
|
|
108
|
+
throw error;
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
const info = await getCollectionInfo(client as never, "pi-harness-skills-openai-v1");
|
|
112
|
+
expect(info).toEqual({ exists: false });
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
it("tells a missing collection apart from an unreachable cluster", async () => {
|
|
116
|
+
const missing = new Error("Not Found") as Error & { status: number };
|
|
117
|
+
missing.status = 404;
|
|
118
|
+
expect(isNotFoundError(missing)).toBe(true);
|
|
119
|
+
|
|
120
|
+
const unreachable = new Error("connection refused");
|
|
121
|
+
expect(isNotFoundError(unreachable)).toBe(false);
|
|
122
|
+
|
|
123
|
+
const forbidden = new Error("Forbidden") as Error & { status: number };
|
|
124
|
+
forbidden.status = 403;
|
|
125
|
+
expect(isNotFoundError(forbidden)).toBe(false);
|
|
126
|
+
});
|
|
127
|
+
|
|
92
128
|
it("reports an unreadable collection as unknown", async () => {
|
|
93
129
|
const client = {
|
|
94
130
|
getCollection: async () => {
|
|
@@ -5,13 +5,18 @@
|
|
|
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 SkillPointPayload } from "./vector-schema.js";
|
|
8
9
|
import { type RemoteSkillSource, type RemoteSkillStats } from "./remote-source.js";
|
|
9
10
|
export interface QdrantSkillPoint {
|
|
11
|
+
/**
|
|
12
|
+
* The id of the point.
|
|
13
|
+
*
|
|
14
|
+
* It is the hash of the name in the payload, so the point id and the
|
|
15
|
+
* payload name always belong together.
|
|
16
|
+
*/
|
|
10
17
|
id: number;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
body: string;
|
|
14
|
-
text: string;
|
|
18
|
+
/** The payload of the point. */
|
|
19
|
+
payload: SkillPointPayload;
|
|
15
20
|
}
|
|
16
21
|
export interface QdrantClientLike {
|
|
17
22
|
upsert(collection: string, opts: {
|
|
@@ -74,6 +79,28 @@ export interface QdrantSkillStats {
|
|
|
74
79
|
* nothing does not have to guess why.
|
|
75
80
|
*/
|
|
76
81
|
schemaMismatch?: string;
|
|
82
|
+
/**
|
|
83
|
+
* The collection of an earlier installation that still holds the skills.
|
|
84
|
+
*
|
|
85
|
+
* The runtime collection is empty (or does not exist yet) while the
|
|
86
|
+
* legacy collection holds the skills of the previous version. They are
|
|
87
|
+
* not lost - they live in a collection with another name, and one with
|
|
88
|
+
* another vector size.
|
|
89
|
+
*/
|
|
90
|
+
legacy?: LegacyCollectionInfo;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* The skills of the legacy collection.
|
|
94
|
+
*/
|
|
95
|
+
export interface LegacyCollectionInfo {
|
|
96
|
+
/** The name of the collection. */
|
|
97
|
+
collection: string;
|
|
98
|
+
/** The number of skill vectors it holds. */
|
|
99
|
+
count: number;
|
|
100
|
+
/** The vector size it was created with. */
|
|
101
|
+
dimensions?: number;
|
|
102
|
+
/** The embedding model it was created with. */
|
|
103
|
+
model?: string;
|
|
77
104
|
}
|
|
78
105
|
/**
|
|
79
106
|
* A point of the vector index: the vector and the payload of one skill.
|
|
@@ -81,7 +108,7 @@ export interface QdrantSkillStats {
|
|
|
81
108
|
export interface SkillVectorPoint {
|
|
82
109
|
id: number;
|
|
83
110
|
vector: number[];
|
|
84
|
-
payload:
|
|
111
|
+
payload: SkillPointPayload;
|
|
85
112
|
}
|
|
86
113
|
/**
|
|
87
114
|
* The vector index of a registry.
|
|
@@ -198,6 +225,14 @@ export declare class SkillRegistry {
|
|
|
198
225
|
*/
|
|
199
226
|
private _ensureQdrant;
|
|
200
227
|
private _doQdrantInit;
|
|
228
|
+
/**
|
|
229
|
+
* The skills of the legacy collection.
|
|
230
|
+
*
|
|
231
|
+
* The legacy collection holds 384-dimensional vectors, so it cannot be
|
|
232
|
+
* searched with the vectors of the runtime. Its skills are not lost -
|
|
233
|
+
* they live in a collection with another name.
|
|
234
|
+
*/
|
|
235
|
+
private _readLegacyCollection;
|
|
201
236
|
/**
|
|
202
237
|
* The schema the runtime expects of the skill collection.
|
|
203
238
|
*
|
|
@@ -256,8 +291,6 @@ export declare class SkillRegistry {
|
|
|
256
291
|
*/
|
|
257
292
|
private _runIndexFlush;
|
|
258
293
|
private _flushIndexQueue;
|
|
259
|
-
/** Simple deterministic ID for Qdrant (no bigints needed). */
|
|
260
|
-
private _hashId;
|
|
261
294
|
/**
|
|
262
295
|
* Register a skill (auto-indexes to Qdrant if configured).
|
|
263
296
|
*/
|
|
@@ -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,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACZ,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
|