pi-harness-runtime 1.1.341 → 1.1.344
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/README.md +127 -0
- package/harness/notification-center.ts +363 -0
- package/index.ts +111 -15
- 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/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/dist/notification-center.d.ts +18 -1
- package/packages/notification/dist/notification-center.d.ts.map +1 -1
- package/packages/notification/dist/notification-center.js +49 -0
- package/packages/notification/dist/notification-center.js.map +1 -1
- package/packages/notification/dist/telegram-webhook-handler.d.ts +4 -0
- package/packages/notification/dist/telegram-webhook-handler.d.ts.map +1 -1
- package/packages/notification/dist/telegram-webhook-handler.js +4 -0
- package/packages/notification/dist/telegram-webhook-handler.js.map +1 -1
- package/packages/notification/package.json +1 -1
- package/packages/notification/src/notification-center.ts +69 -13
- package/packages/notification/src/telegram-webhook-handler.ts +4 -0
- 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/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/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/trajectory/package.json +1 -1
- package/packages/tui/package.json +1 -1
- package/packages/types/package.json +1 -1
- package/packages/voice-api/dist/line.d.ts +2 -1
- package/packages/voice-api/dist/line.js +9 -6
- package/packages/voice-api/dist/telegram.js +8 -1
- package/packages/voice-api/dist/transcriber.d.ts +12 -41
- package/packages/voice-api/dist/transcriber.js +88 -108
- package/packages/voice-api/package.json +1 -1
- package/packages/voice-api/src/line.ts +11 -8
- package/packages/voice-api/src/telegram.ts +9 -1
- package/packages/voice-api/src/transcriber.ts +98 -122
- 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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-harness/capability-registry",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.344",
|
|
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",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* - Redact sensitive data before sending
|
|
9
9
|
* - Notification failure does not crash runtime
|
|
10
10
|
*/
|
|
11
|
-
import type { NotificationEvent, NotificationConfig, NotificationChannelConfig, NotificationResult, NotificationContext, TelegramCallbackHandler } from "./types.js";
|
|
11
|
+
import type { InlineKeyboardButton, NotificationEvent, NotificationConfig, NotificationChannelConfig, NotificationResult, NotificationContext, TelegramCallbackHandler } from "./types.js";
|
|
12
12
|
import { TelegramAdapter } from "./adapters/telegram-adapter.js";
|
|
13
13
|
/**
|
|
14
14
|
* Pending approval request
|
|
@@ -23,6 +23,7 @@ export interface PendingApproval {
|
|
|
23
23
|
}
|
|
24
24
|
export declare class NotificationCenter {
|
|
25
25
|
private adapters;
|
|
26
|
+
private channelEnabled;
|
|
26
27
|
private redactPatterns;
|
|
27
28
|
/** Pending approval requests keyed by jobId */
|
|
28
29
|
private pendingApprovals;
|
|
@@ -56,6 +57,22 @@ export declare class NotificationCenter {
|
|
|
56
57
|
* Initialize all registered adapters
|
|
57
58
|
*/
|
|
58
59
|
initialize(): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* Check if a channel is enabled
|
|
62
|
+
*/
|
|
63
|
+
isChannelEnabled(channelId: string): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Set channel enabled/disabled state
|
|
66
|
+
*/
|
|
67
|
+
setChannelEnabled(channelId: string, enabled: boolean): void;
|
|
68
|
+
/**
|
|
69
|
+
* Toggle a channel's enabled state
|
|
70
|
+
*/
|
|
71
|
+
toggleChannel(channelId: string): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Build channel toggle buttons for inline keyboard
|
|
74
|
+
*/
|
|
75
|
+
buildToggleButtons(): InlineKeyboardButton[];
|
|
59
76
|
/**
|
|
60
77
|
* Set callback handler for Telegram adapters
|
|
61
78
|
* Enables handling of inline keyboard button clicks (approve/reject)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-center.d.ts","sourceRoot":"","sources":["../src/notification-center.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"notification-center.d.ts","sourceRoot":"","sources":["../src/notification-center.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ import { EmailAdapter } from "./adapters/email-adapter.js";
|
|
|
17
17
|
import { WebhookAdapter } from "./adapters/webhook-adapter.js";
|
|
18
18
|
export class NotificationCenter {
|
|
19
19
|
adapters = new Map();
|
|
20
|
+
channelEnabled = new Map();
|
|
20
21
|
redactPatterns;
|
|
21
22
|
/** Pending approval requests keyed by jobId */
|
|
22
23
|
pendingApprovals = new Map();
|
|
@@ -103,6 +104,8 @@ export class NotificationCenter {
|
|
|
103
104
|
async initialize() {
|
|
104
105
|
const adapterEntries = Array.from(this.adapters.entries());
|
|
105
106
|
for (const [id, adapter] of adapterEntries) {
|
|
107
|
+
// Initialize channel enabled state
|
|
108
|
+
this.channelEnabled.set(id, true);
|
|
106
109
|
try {
|
|
107
110
|
const ok = await adapter.initialize();
|
|
108
111
|
if (!ok) {
|
|
@@ -114,6 +117,52 @@ export class NotificationCenter {
|
|
|
114
117
|
}
|
|
115
118
|
}
|
|
116
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Check if a channel is enabled
|
|
122
|
+
*/
|
|
123
|
+
isChannelEnabled(channelId) {
|
|
124
|
+
return this.channelEnabled.get(channelId) ?? false;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Set channel enabled/disabled state
|
|
128
|
+
*/
|
|
129
|
+
setChannelEnabled(channelId, enabled) {
|
|
130
|
+
this.channelEnabled.set(channelId, enabled);
|
|
131
|
+
logWarn("[NotificationCenter]", `Channel ${channelId} ${enabled ? "enabled" : "disabled"}`);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Toggle a channel's enabled state
|
|
135
|
+
*/
|
|
136
|
+
toggleChannel(channelId) {
|
|
137
|
+
const current = this.isChannelEnabled(channelId);
|
|
138
|
+
this.setChannelEnabled(channelId, !current);
|
|
139
|
+
return !current;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Build channel toggle buttons for inline keyboard
|
|
143
|
+
*/
|
|
144
|
+
buildToggleButtons() {
|
|
145
|
+
const buttons = [];
|
|
146
|
+
// Add Telegram toggle if adapter exists
|
|
147
|
+
if (this.adapters.has("telegram")) {
|
|
148
|
+
const isEnabled = this.isChannelEnabled("telegram");
|
|
149
|
+
const icon = isEnabled ? "\u2705" : "\u2744";
|
|
150
|
+
buttons.push({
|
|
151
|
+
text: `${icon} Telegram: ${isEnabled ? "ON" : "OFF"}`,
|
|
152
|
+
callbackData: buildCallbackData("toggle_telegram", "settings"),
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
// Add LINE toggle if adapter exists
|
|
156
|
+
if (this.adapters.has("line")) {
|
|
157
|
+
const isEnabled = this.isChannelEnabled("line");
|
|
158
|
+
const icon = isEnabled ? "\u2705" : "\u2744";
|
|
159
|
+
buttons.push({
|
|
160
|
+
text: `${icon} LINE: ${isEnabled ? "ON" : "OFF"}`,
|
|
161
|
+
callbackData: buildCallbackData("toggle_line", "settings"),
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
return buttons;
|
|
165
|
+
}
|
|
117
166
|
/**
|
|
118
167
|
* Set callback handler for Telegram adapters
|
|
119
168
|
* Enables handling of inline keyboard button clicks (approve/reject)
|