pi-harness-runtime 1.1.415 → 1.1.417
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/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/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/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 +2 -1
- package/packages/skills/dist/loader.d.ts.map +1 -1
- package/packages/skills/dist/loader.js +4 -3
- package/packages/skills/dist/loader.js.map +1 -1
- package/packages/skills/dist/sanitize.d.ts +5 -0
- package/packages/skills/dist/sanitize.d.ts.map +1 -1
- package/packages/skills/dist/sanitize.js +37 -12
- package/packages/skills/dist/sanitize.js.map +1 -1
- package/packages/skills/dist/skill-commands.d.ts.map +1 -1
- package/packages/skills/dist/skill-commands.js +2 -1
- package/packages/skills/dist/skill-commands.js.map +1 -1
- package/packages/skills/dist/vector-schema.d.ts +28 -0
- package/packages/skills/dist/vector-schema.d.ts.map +1 -1
- package/packages/skills/dist/vector-schema.js +28 -0
- package/packages/skills/dist/vector-schema.js.map +1 -1
- package/packages/skills/package.json +1 -1
- package/packages/skills/src/loader.ts +4 -2
- package/packages/skills/src/sanitize.ts +37 -12
- package/packages/skills/src/skill-commands.ts +2 -1
- package/packages/skills/src/vector-schema.ts +30 -0
- package/packages/skills/test/sanitize.test.ts +43 -0
- package/packages/skills/test/vector-schema.test.ts +15 -2
- package/packages/skills/test/vector-threshold.test.ts +108 -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 +18 -37
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
import { existsSync, readdirSync, readFileSync, statSync } from "node:fs";
|
|
15
|
-
import { join
|
|
15
|
+
import { join } from "node:path";
|
|
16
16
|
import { QdrantClient } from "@qdrant/js-client-rest";
|
|
17
17
|
// The runtime and this script must write into the SAME collection with the
|
|
18
18
|
// SAME vectors: a collection holds vectors of exactly one size, and a vector
|
|
@@ -31,13 +31,11 @@ import {
|
|
|
31
31
|
skillPointPayload,
|
|
32
32
|
skillQdrantPoint,
|
|
33
33
|
} from "../packages/skills/dist/vector-schema.js";
|
|
34
|
-
// The sanitization
|
|
35
|
-
// into the same collection and needs the same rules, or it
|
|
36
|
-
// raw name and the raw body of a client skill in a shared
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
skillPointName,
|
|
40
|
-
} from "../packages/skills/dist/sanitize.js";
|
|
34
|
+
// The parser and the sanitization live in the shared package. The runtime
|
|
35
|
+
// registry writes into the same collection and needs the same rules, or it
|
|
36
|
+
// would leave the raw name and the raw body of a client skill in a shared
|
|
37
|
+
// cluster - and a parser of its own would name the same skill differently.
|
|
38
|
+
import { parseSkillContent } from "../packages/skills/dist/parser.js";
|
|
41
39
|
|
|
42
40
|
// =============================================================================
|
|
43
41
|
// Qdrant Config
|
|
@@ -85,44 +83,27 @@ interface SkillDoc {
|
|
|
85
83
|
text: string;
|
|
86
84
|
}
|
|
87
85
|
|
|
88
|
-
function parseFrontmatter(content: string): Record<string, string> | null {
|
|
89
|
-
const match = content.match(/^---\n([\s\S]*?)\n---/);
|
|
90
|
-
if (!match) return null;
|
|
91
|
-
|
|
92
|
-
const fm: Record<string, string> = {};
|
|
93
|
-
for (const line of match[1].split("\n")) {
|
|
94
|
-
const idx = line.indexOf(":");
|
|
95
|
-
if (idx === -1) continue;
|
|
96
|
-
fm[line.slice(0, idx).trim()] = line.slice(idx + 1).trim();
|
|
97
|
-
}
|
|
98
|
-
return fm;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
86
|
function readSkill(dirPath: string): SkillDoc | null {
|
|
102
87
|
const skillPath = join(dirPath, "SKILL.md");
|
|
103
88
|
if (!existsSync(skillPath)) return null;
|
|
104
89
|
|
|
105
90
|
try {
|
|
106
91
|
const rawContent = readFileSync(skillPath, "utf-8");
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
//
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
// Sanitize content
|
|
114
|
-
const sanitizedContent = sanitizeText(rawContent);
|
|
115
|
-
|
|
116
|
-
// Use name map for known sensitive skill names, otherwise sanitize
|
|
117
|
-
const name = skillPointName(originalName);
|
|
118
|
-
|
|
119
|
-
const description = sanitizeText(fm.description || "");
|
|
120
|
-
const body = sanitizedContent.replace(/^---[\s\S]*?---\n/, "").trim();
|
|
92
|
+
// The SAME parser as the runtime registry. A parser of its own would
|
|
93
|
+
// read a quoted name with the quotes and write a point that the
|
|
94
|
+
// runtime never addresses - the two writers would name the same skill
|
|
95
|
+
// differently.
|
|
96
|
+
const skill = parseSkillContent(rawContent, skillPath);
|
|
121
97
|
|
|
122
98
|
// The payload and the text come from the shared schema, so this script
|
|
123
99
|
// and the runtime store the SAME point for the same skill: the point
|
|
124
|
-
// id is the hash of the name the payload carries
|
|
125
|
-
|
|
100
|
+
// id is the hash of the name the payload carries, and the payload
|
|
101
|
+
// carries no client name.
|
|
102
|
+
const payload = skillPointPayload({
|
|
103
|
+
name: skill.id,
|
|
104
|
+
description: skill.frontmatter.description ?? "",
|
|
105
|
+
body: skill.body,
|
|
106
|
+
});
|
|
126
107
|
|
|
127
108
|
return {
|
|
128
109
|
name: payload.name,
|