pi-harness-runtime 1.1.343 → 1.1.345
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/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 +9 -2
- package/packages/notification/dist/notification-center.d.ts.map +1 -1
- package/packages/notification/dist/notification-center.js +37 -1
- package/packages/notification/dist/notification-center.js.map +1 -1
- package/packages/notification/dist/types.d.ts +2 -0
- package/packages/notification/dist/types.d.ts.map +1 -1
- package/packages/notification/package.json +1 -1
- package/packages/notification/src/notification-center.ts +47 -0
- package/packages/notification/src/types.ts +3 -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/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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-harness/capability-registry",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.345",
|
|
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
|
|
@@ -69,6 +69,10 @@ export declare class NotificationCenter {
|
|
|
69
69
|
* Toggle a channel's enabled state
|
|
70
70
|
*/
|
|
71
71
|
toggleChannel(channelId: string): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Build channel toggle buttons for inline keyboard
|
|
74
|
+
*/
|
|
75
|
+
buildToggleButtons(): InlineKeyboardButton[];
|
|
72
76
|
/**
|
|
73
77
|
* Set callback handler for Telegram adapters
|
|
74
78
|
* Enables handling of inline keyboard button clicks (approve/reject)
|
|
@@ -81,7 +85,10 @@ export declare class NotificationCenter {
|
|
|
81
85
|
/**
|
|
82
86
|
* Send a notification to all configured channels
|
|
83
87
|
*/
|
|
84
|
-
notify(event: NotificationEvent, context: NotificationContext
|
|
88
|
+
notify(event: NotificationEvent, context: NotificationContext, options?: {
|
|
89
|
+
/** Whether to include channel toggle buttons (default: true) */
|
|
90
|
+
includeToggles?: boolean;
|
|
91
|
+
}): Promise<NotificationResult[]>;
|
|
85
92
|
/**
|
|
86
93
|
* Send notification to a specific channel
|
|
87
94
|
*/
|
|
@@ -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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"}
|
|
@@ -138,6 +138,31 @@ export class NotificationCenter {
|
|
|
138
138
|
this.setChannelEnabled(channelId, !current);
|
|
139
139
|
return !current;
|
|
140
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
|
+
}
|
|
141
166
|
/**
|
|
142
167
|
* Set callback handler for Telegram adapters
|
|
143
168
|
* Enables handling of inline keyboard button clicks (approve/reject)
|
|
@@ -162,13 +187,24 @@ export class NotificationCenter {
|
|
|
162
187
|
/**
|
|
163
188
|
* Send a notification to all configured channels
|
|
164
189
|
*/
|
|
165
|
-
async notify(event, context) {
|
|
190
|
+
async notify(event, context, options) {
|
|
191
|
+
const includeToggles = options?.includeToggles ?? true;
|
|
192
|
+
// Build payload
|
|
166
193
|
const payload = this.buildPayload(event, context);
|
|
194
|
+
// Add toggle buttons if enabled
|
|
195
|
+
if (includeToggles && (this.adapters.size > 1 || this.adapters.has("telegram"))) {
|
|
196
|
+
payload.actionButtons = this.buildToggleButtons();
|
|
197
|
+
payload.enableInlineKeyboard = true;
|
|
198
|
+
}
|
|
167
199
|
const results = [];
|
|
168
200
|
// Send to all adapters in parallel
|
|
169
201
|
const adapterEntries = Array.from(this.adapters.entries());
|
|
170
202
|
await Promise.all(adapterEntries.map(async ([id, adapter]) => {
|
|
171
203
|
try {
|
|
204
|
+
// Check if channel is enabled
|
|
205
|
+
if (!this.isChannelEnabled(id)) {
|
|
206
|
+
return { success: true, channel: id, skipped: true };
|
|
207
|
+
}
|
|
172
208
|
// Redact sensitive data
|
|
173
209
|
const redactedPayload = this.redact(payload);
|
|
174
210
|
const result = await adapter.send(redactedPayload);
|