pi-harness-runtime 1.1.116 → 1.1.118
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/index.ts +66 -0
- 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/package.json +1 -1
- 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/index.ts
CHANGED
|
@@ -248,6 +248,69 @@ async function initQdrant(): Promise<void> {
|
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
250
|
|
|
251
|
+
// --- telegram-notifications: Telegram bot for harness event notifications ------------
|
|
252
|
+
// Sends Telegram messages when jobs complete, tasks finish, or human input is needed.
|
|
253
|
+
let notificationCenter: unknown = null;
|
|
254
|
+
async function initTelegram(): Promise<void> {
|
|
255
|
+
try {
|
|
256
|
+
const { NotificationCenter } = await import("./packages/notification/dist/index.js");
|
|
257
|
+
const { readFileSync, existsSync } = await import("node:fs");
|
|
258
|
+
const home = process.env.HOME || process.env.USERPROFILE || "/home/frappe";
|
|
259
|
+
const keysDir = `${home}/.pi-harness-runtime/keys`;
|
|
260
|
+
|
|
261
|
+
const botTokenPath = `${keysDir}/telegram-bot-token.txt`;
|
|
262
|
+
const chatIdPath = `${keysDir}/telegram-chat-id.txt`;
|
|
263
|
+
|
|
264
|
+
if (!existsSync(botTokenPath) || !existsSync(chatIdPath)) {
|
|
265
|
+
console.error("[pi-harness] Telegram notifications not configured:");
|
|
266
|
+
console.error(
|
|
267
|
+
`[pi-harness] bot-token: create @BotFather bot → get token`
|
|
268
|
+
);
|
|
269
|
+
console.error(
|
|
270
|
+
`[pi-harness] chat-id: message @userinfobot → reply shows your ID`
|
|
271
|
+
);
|
|
272
|
+
console.error(
|
|
273
|
+
`[pi-harness] echo "{bot-token}" > ${home}/.pi-harness-runtime/keys/telegram-bot-token.txt`
|
|
274
|
+
);
|
|
275
|
+
console.error(
|
|
276
|
+
`[pi-harness] echo "{chat-id}" > ${home}/.pi-harness-runtime/keys/telegram-chat-id.txt`
|
|
277
|
+
);
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
const botToken = readFileSync(botTokenPath, "utf8").trim();
|
|
282
|
+
const chatId = readFileSync(chatIdPath, "utf8").trim();
|
|
283
|
+
|
|
284
|
+
if (!botToken || !chatId) {
|
|
285
|
+
console.error("[pi-harness] Telegram: bot token or chat ID is empty — skipping");
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
const center = new NotificationCenter({
|
|
290
|
+
enabled: true,
|
|
291
|
+
channels: [
|
|
292
|
+
{
|
|
293
|
+
id: "telegram",
|
|
294
|
+
type: "telegram",
|
|
295
|
+
enabled: true,
|
|
296
|
+
config: { botToken, chatId },
|
|
297
|
+
},
|
|
298
|
+
],
|
|
299
|
+
});
|
|
300
|
+
|
|
301
|
+
await center.initialize();
|
|
302
|
+
if (!center.hasChannels()) {
|
|
303
|
+
console.error("[pi-harness] Telegram: initialization failed — skipping");
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
notificationCenter = center;
|
|
308
|
+
console.error(`[pi-harness] Telegram notifications ready`);
|
|
309
|
+
} catch (err) {
|
|
310
|
+
console.error("[pi-harness] Telegram: init failed:", err instanceof Error ? err.message : String(err));
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
|
|
251
314
|
// --- moocoding-sync-hint: Suggest syncing skills if skills dir is empty --------
|
|
252
315
|
// Fires after Jev + Qdrant so all three appear together in startup
|
|
253
316
|
function initMoocodingSyncHint(): void {
|
|
@@ -662,6 +725,9 @@ export default function (pi: ExtensionAPI) {
|
|
|
662
725
|
// --- qdrant-vector-search: Qdrant integration for semantic skill search ----
|
|
663
726
|
void initQdrant();
|
|
664
727
|
|
|
728
|
+
// --- telegram-notifications: Telegram bot for harness event notifications ----
|
|
729
|
+
void initTelegram();
|
|
730
|
+
|
|
665
731
|
// --- moocoding-sync-hint: Suggest skill sync if skills dir is empty --------
|
|
666
732
|
void initMoocodingSyncHint();
|
|
667
733
|
|
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.118",
|
|
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.118",
|
|
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",
|