pi-harness-runtime 1.1.96 → 1.1.97
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/package.json +1 -1
- package/packages/a2a-adapter/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/config-capture/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/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/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-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/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/performance-optimizer/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/package.json +1 -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/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.map +1 -1
- package/packages/skills/dist/index.js +5 -3
- package/packages/skills/dist/index.js.map +1 -1
- package/packages/skills/package.json +1 -1
- package/packages/skills/src/index.ts +5 -3
- package/packages/skills/test/init-skills.test.ts +118 -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/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/trajectory/package.json +1 -1
- package/packages/tui/package.json +1 -1
- package/packages/types/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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-harness/capability-registry",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.97",
|
|
4
4
|
"description": "Capability Registry for pi-harness-runtime — tracks model capabilities and enables capability-based routing",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-harness/provider-router",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.97",
|
|
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",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAE5B,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAe,MAAM,YAAY,CAAC;AAIxE;;GAEG;AACH,wBAAgB,UAAU,CACxB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAC9E,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAE5B,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAe,MAAM,YAAY,CAAC;AAIxE;;GAEG;AACH,wBAAgB,UAAU,CACxB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAC9E,UAAU,CAoBZ;AAED;;GAEG;AACH,wBAAgB,gBAAgB;;;;;;;;;EAyB/B;AAGD,eAAO,MAAM,oBAAoB,EAAE,YAYlC,CAAC"}
|
|
@@ -24,9 +24,11 @@ import { getGlobalSkillRegistry } from "./loader.js";
|
|
|
24
24
|
export function initSkills(config) {
|
|
25
25
|
const registry = getGlobalSkillRegistry();
|
|
26
26
|
// Scan for skills
|
|
27
|
-
const scanOptions = {
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
const scanOptions = {};
|
|
28
|
+
// Only set directories if explicitly provided, otherwise use defaults
|
|
29
|
+
if (config?.locations !== undefined) {
|
|
30
|
+
scanOptions.directories = config.locations;
|
|
31
|
+
}
|
|
30
32
|
if (config?.maxDepth !== undefined)
|
|
31
33
|
scanOptions.maxDepth = config.maxDepth;
|
|
32
34
|
if (config?.includeHidden !== undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,wBAAwB;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,MAA+E;IAE/E,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAE1C,kBAAkB;IAClB,MAAM,WAAW,GAAyB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,wBAAwB;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,MAA+E;IAE/E,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAE1C,kBAAkB;IAClB,MAAM,WAAW,GAAyB,EAAE,CAAC;IAC7C,sEAAsE;IACtE,IAAI,MAAM,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,WAAW,CAAC,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC;IAC7C,CAAC;IACD,IAAI,MAAM,EAAE,QAAQ,KAAK,SAAS;QAAE,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC3E,IAAI,MAAM,EAAE,aAAa,KAAK,SAAS;QAAE,WAAW,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAE1F,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAE9C,qCAAqC;IACrC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAE/B,MAAM,QAAQ,GAAG;QACf,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;KACX,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,SAAS,CAAC;QACjD,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;YACvB,QAAQ,CAAC,MAA+B,CAAC,EAAE,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM;QAC7C,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,wBAAwB;AACxB,MAAM,CAAC,MAAM,oBAAoB,GAAiB;IAChD,OAAO,EAAE,IAAI;IACb,SAAS,EAAE;QACT,sBAAsB;QACtB,QAAQ;QACR,gBAAgB;KACjB;IACD,cAAc,EAAE,KAAK;IACrB,qBAAqB,EAAE,CAAC;IACxB,oBAAoB,EAAE,CAAC;IACvB,sBAAsB,EAAE,IAAI;IAC5B,cAAc,EAAE,OAAO;CACxB,CAAC"}
|
|
@@ -31,9 +31,11 @@ export function initSkills(
|
|
|
31
31
|
const registry = getGlobalSkillRegistry();
|
|
32
32
|
|
|
33
33
|
// Scan for skills
|
|
34
|
-
const scanOptions: Partial<ScanOptions> = {
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
const scanOptions: Partial<ScanOptions> = {};
|
|
35
|
+
// Only set directories if explicitly provided, otherwise use defaults
|
|
36
|
+
if (config?.locations !== undefined) {
|
|
37
|
+
scanOptions.directories = config.locations;
|
|
38
|
+
}
|
|
37
39
|
if (config?.maxDepth !== undefined) scanOptions.maxDepth = config.maxDepth;
|
|
38
40
|
if (config?.includeHidden !== undefined) scanOptions.includeHidden = config.includeHidden;
|
|
39
41
|
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skills Initialization E2E Test
|
|
3
|
+
*
|
|
4
|
+
* Tests the initSkills function to ensure:
|
|
5
|
+
* 1. initSkills() with no args uses default directories
|
|
6
|
+
* 2. initSkills({ locations }) with explicit locations works
|
|
7
|
+
* 3. initSkills({ locations: undefined }) falls back to defaults (the bug case)
|
|
8
|
+
*
|
|
9
|
+
* Bug: Previously, passing undefined for locations would override defaults
|
|
10
|
+
* with undefined, causing "directories is not iterable" error.
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* bun packages/skills/test/init-skills.test.ts
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { initSkills } from "../src/index.js";
|
|
17
|
+
|
|
18
|
+
async function runTests() {
|
|
19
|
+
console.log("=== initSkills E2E Test ===\n");
|
|
20
|
+
|
|
21
|
+
let passed = 0;
|
|
22
|
+
let failed = 0;
|
|
23
|
+
|
|
24
|
+
// Test 1: no args
|
|
25
|
+
console.log("[Test 1] initSkills() with no arguments...");
|
|
26
|
+
try {
|
|
27
|
+
const result = initSkills();
|
|
28
|
+
if (!result || !Array.isArray(result.skills) || !Array.isArray(result.errors)) {
|
|
29
|
+
throw new Error("Invalid result structure");
|
|
30
|
+
}
|
|
31
|
+
console.log(` PASS: Returned ${result.skills.length} skills, ${result.errors.length} errors\n`);
|
|
32
|
+
passed++;
|
|
33
|
+
} catch (error) {
|
|
34
|
+
console.error(` FAIL: ${error}\n`);
|
|
35
|
+
failed++;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Test 2: explicit locations
|
|
39
|
+
console.log("[Test 2] initSkills({ locations: [...] })...");
|
|
40
|
+
try {
|
|
41
|
+
const result = initSkills({ locations: ["/tmp/test"] });
|
|
42
|
+
if (!result) {
|
|
43
|
+
throw new Error("No result returned");
|
|
44
|
+
}
|
|
45
|
+
console.log(` PASS: Returned ${result.skills.length} skills\n`);
|
|
46
|
+
passed++;
|
|
47
|
+
} catch (error) {
|
|
48
|
+
console.error(` FAIL: ${error}\n`);
|
|
49
|
+
failed++;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Test 3: undefined locations (the bug case)
|
|
53
|
+
console.log("[Test 3] initSkills({ locations: undefined }) - THE BUG CASE...");
|
|
54
|
+
try {
|
|
55
|
+
const result = initSkills({ locations: undefined });
|
|
56
|
+
if (!result || !Array.isArray(result.skills)) {
|
|
57
|
+
throw new Error("Invalid result structure");
|
|
58
|
+
}
|
|
59
|
+
console.log(` PASS: Returned ${result.skills.length} skills\n`);
|
|
60
|
+
passed++;
|
|
61
|
+
} catch (error) {
|
|
62
|
+
console.error(` FAIL: ${error}\n`);
|
|
63
|
+
failed++;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// Test 4: partial config with only maxDepth
|
|
67
|
+
console.log("[Test 4] initSkills({ maxDepth: 5 })...");
|
|
68
|
+
try {
|
|
69
|
+
const result = initSkills({ maxDepth: 5 });
|
|
70
|
+
if (!result || !Array.isArray(result.skills)) {
|
|
71
|
+
throw new Error("Invalid result structure");
|
|
72
|
+
}
|
|
73
|
+
console.log(` PASS: Returned ${result.skills.length} skills\n`);
|
|
74
|
+
passed++;
|
|
75
|
+
} catch (error) {
|
|
76
|
+
console.error(` FAIL: ${error}\n`);
|
|
77
|
+
failed++;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Test 5: partial config with only includeHidden
|
|
81
|
+
console.log("[Test 5] initSkills({ includeHidden: true })...");
|
|
82
|
+
try {
|
|
83
|
+
const result = initSkills({ includeHidden: true });
|
|
84
|
+
if (!result || !Array.isArray(result.skills)) {
|
|
85
|
+
throw new Error("Invalid result structure");
|
|
86
|
+
}
|
|
87
|
+
console.log(` PASS: Returned ${result.skills.length} skills\n`);
|
|
88
|
+
passed++;
|
|
89
|
+
} catch (error) {
|
|
90
|
+
console.error(` FAIL: ${error}\n`);
|
|
91
|
+
failed++;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// Test 6: empty locations array
|
|
95
|
+
console.log("[Test 6] initSkills({ locations: [] })...");
|
|
96
|
+
try {
|
|
97
|
+
const result = initSkills({ locations: [] });
|
|
98
|
+
if (!result) {
|
|
99
|
+
throw new Error("No result returned");
|
|
100
|
+
}
|
|
101
|
+
console.log(` PASS: Returned ${result.skills.length} skills\n`);
|
|
102
|
+
passed++;
|
|
103
|
+
} catch (error) {
|
|
104
|
+
console.error(` FAIL: ${error}\n`);
|
|
105
|
+
failed++;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Summary
|
|
109
|
+
console.log("=== Summary ===");
|
|
110
|
+
console.log(`Passed: ${passed}`);
|
|
111
|
+
console.log(`Failed: ${failed}`);
|
|
112
|
+
|
|
113
|
+
if (failed > 0) {
|
|
114
|
+
process.exit(1);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
runTests();
|