pi-harness-runtime 1.1.259 → 1.1.261
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/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/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-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/adapters/telegram-adapter.d.ts.map +1 -1
- package/packages/notification/dist/adapters/telegram-adapter.js +5 -2
- package/packages/notification/dist/adapters/telegram-adapter.js.map +1 -1
- package/packages/notification/dist/telegram-content-filter.d.ts.map +1 -1
- package/packages/notification/dist/telegram-content-filter.js +25 -4
- package/packages/notification/dist/telegram-content-filter.js.map +1 -1
- package/packages/notification/package.json +1 -1
- package/packages/notification/src/adapters/telegram-adapter.ts +6 -2
- package/packages/notification/src/telegram-content-filter.ts +27 -4
- 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/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/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/webmcp-tester/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
|
@@ -49,12 +49,33 @@ function heuristicCheck(content) {
|
|
|
49
49
|
const sensitivePatterns = [
|
|
50
50
|
/\d+:[-A-Za-z0-9_]{35,}/, // Telegram bot token
|
|
51
51
|
/sk-[a-zA-Z0-9]{20,}/, // OpenAI-style keys
|
|
52
|
-
/[
|
|
52
|
+
/(?:api[_-]?key|bearer|access[_-]?token|auth[_-]?token)[=:\s]+[A-Za-z0-9_-]{20,}/i,
|
|
53
53
|
/Bearer\s+[a-zA-Z0-9_-]{20,}/i, // Bearer tokens
|
|
54
|
-
/(
|
|
55
|
-
/-----BEGIN\s+(RSA|EC|OPENSSH|DSA)\s+PRIVATE\s+KEY-----/,
|
|
56
|
-
/infisical[_-]?(client[_-])?(secret|id)/i,
|
|
54
|
+
/(?:secret|password|passwd|pwd|credential)[=:\s]+[^\s]{16,}/i,
|
|
55
|
+
/-----BEGIN\s+(?:RSA|EC|OPENSSH|DSA)\s+PRIVATE\s+KEY-----/,
|
|
56
|
+
/infisical[_-]?(?:client[_-])?(?:secret|id)/i,
|
|
57
57
|
];
|
|
58
|
+
// More specific patterns that are less likely to have false positives
|
|
59
|
+
// Only match if the string looks like a key (has specific prefix patterns)
|
|
60
|
+
const keyLikePatterns = [
|
|
61
|
+
/(?:xox[pborsa]-[\d-]+(?:,[\d-]+)*)/, // Slack tokens
|
|
62
|
+
/(?:ghp|gho|ghu|ghs|ghr)_[A-Za-z0-9]{36,}/, // GitHub tokens
|
|
63
|
+
/(?:AKIA|ABIA|ACCA|ASIA)[A-Z0-9]{16,}/, // AWS access keys
|
|
64
|
+
/(?:sq0csp| sq0t[a-z0-9-]{22,43})/, // Square keys
|
|
65
|
+
/(?:sk_live_|pk_live_)[A-Za-z0-9]{24,}/, // Stripe keys
|
|
66
|
+
];
|
|
67
|
+
// Check specific key-like patterns first (low false positive)
|
|
68
|
+
for (const pattern of keyLikePatterns) {
|
|
69
|
+
if (pattern.test(content)) {
|
|
70
|
+
return {
|
|
71
|
+
shouldSend: false,
|
|
72
|
+
judgment: "BLOCK",
|
|
73
|
+
reason: "Sensitive credential pattern detected",
|
|
74
|
+
confidence: 0.95,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// Then check general patterns (higher false positive risk)
|
|
58
79
|
for (const pattern of sensitivePatterns) {
|
|
59
80
|
if (pattern.test(content)) {
|
|
60
81
|
let matchType = "api_key_or_secret";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telegram-content-filter.js","sourceRoot":"","sources":["../src/telegram-content-filter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC;;GAEG;AACH,SAAS,cAAc,CAAC,OAAe;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,GAAG,OAAO,MAAM,CAAC,CAAC;IACjF,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC;YACJ,OAAO,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAqBD;;GAEG;AACH,SAAS,cAAc,CAAC,OAA4B;IACnD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,OAAO,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,OAAe;IACtC,uCAAuC;IACvC,MAAM,iBAAiB,GAAG;QACzB,wBAAwB,EAAE,qBAAqB;QAC/C,qBAAqB,EAAK,oBAAoB;QAC9C,
|
|
1
|
+
{"version":3,"file":"telegram-content-filter.js","sourceRoot":"","sources":["../src/telegram-content-filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
10
10
|
import { join } from "node:path";
|
|
11
|
+
import { hostname } from "node:os";
|
|
11
12
|
import { randomUUID } from "node:crypto";
|
|
12
13
|
import { logError, logInfo, logWarn } from "../file-logger.js";
|
|
13
14
|
|
|
@@ -280,7 +281,7 @@ return this._botUsername;
|
|
|
280
281
|
headers: { "Content-Type": "application/json" },
|
|
281
282
|
body: JSON.stringify({
|
|
282
283
|
chat_id: cfg.chatId,
|
|
283
|
-
text:
|
|
284
|
+
text: `[${hostname()}] Hi! Tap Say Hi back to test two-way communication.`,
|
|
284
285
|
reply_markup: { inline_keyboard: [[{ text: "Say Hi back", callback_data: this._greetingToken }]] },
|
|
285
286
|
}),
|
|
286
287
|
signal: AbortSignal.timeout(10000),
|
|
@@ -646,8 +647,11 @@ return this._botUsername;
|
|
|
646
647
|
const maskedJobId = typeof jobId === "string" ? maskString(jobId) : undefined;
|
|
647
648
|
const maskedError = typeof errorVal === "string" ? maskString(errorVal) : undefined;
|
|
648
649
|
|
|
650
|
+
// Get hostname for multi-machine identification
|
|
651
|
+
const hostTag = `[${hostname()}]`;
|
|
652
|
+
|
|
649
653
|
const label = this.getStatusLabel(payload.event);
|
|
650
|
-
const title = `${label} ${maskedTitle}`;
|
|
654
|
+
const title = `${label} ${maskedTitle} ${hostTag}`;
|
|
651
655
|
const lines = [title, "", maskedMessage];
|
|
652
656
|
|
|
653
657
|
if (maskedTaskTitle) {
|
|
@@ -73,13 +73,36 @@ function heuristicCheck(content: string): FilterResult {
|
|
|
73
73
|
const sensitivePatterns = [
|
|
74
74
|
/\d+:[-A-Za-z0-9_]{35,}/, // Telegram bot token
|
|
75
75
|
/sk-[a-zA-Z0-9]{20,}/, // OpenAI-style keys
|
|
76
|
-
/[
|
|
76
|
+
/(?:api[_-]?key|bearer|access[_-]?token|auth[_-]?token)[=:\s]+[A-Za-z0-9_-]{20,}/i,
|
|
77
77
|
/Bearer\s+[a-zA-Z0-9_-]{20,}/i, // Bearer tokens
|
|
78
|
-
/(
|
|
79
|
-
/-----BEGIN\s+(RSA|EC|OPENSSH|DSA)\s+PRIVATE\s+KEY-----/,
|
|
80
|
-
/infisical[_-]?(client[_-])?(secret|id)/i,
|
|
78
|
+
/(?:secret|password|passwd|pwd|credential)[=:\s]+[^\s]{16,}/i,
|
|
79
|
+
/-----BEGIN\s+(?:RSA|EC|OPENSSH|DSA)\s+PRIVATE\s+KEY-----/,
|
|
80
|
+
/infisical[_-]?(?:client[_-])?(?:secret|id)/i,
|
|
81
81
|
];
|
|
82
82
|
|
|
83
|
+
// More specific patterns that are less likely to have false positives
|
|
84
|
+
// Only match if the string looks like a key (has specific prefix patterns)
|
|
85
|
+
const keyLikePatterns = [
|
|
86
|
+
/(?:xox[pborsa]-[\d-]+(?:,[\d-]+)*)/, // Slack tokens
|
|
87
|
+
/(?:ghp|gho|ghu|ghs|ghr)_[A-Za-z0-9]{36,}/, // GitHub tokens
|
|
88
|
+
/(?:AKIA|ABIA|ACCA|ASIA)[A-Z0-9]{16,}/, // AWS access keys
|
|
89
|
+
/(?:sq0csp| sq0t[a-z0-9-]{22,43})/, // Square keys
|
|
90
|
+
/(?:sk_live_|pk_live_)[A-Za-z0-9]{24,}/, // Stripe keys
|
|
91
|
+
];
|
|
92
|
+
|
|
93
|
+
// Check specific key-like patterns first (low false positive)
|
|
94
|
+
for (const pattern of keyLikePatterns) {
|
|
95
|
+
if (pattern.test(content)) {
|
|
96
|
+
return {
|
|
97
|
+
shouldSend: false,
|
|
98
|
+
judgment: "BLOCK",
|
|
99
|
+
reason: "Sensitive credential pattern detected",
|
|
100
|
+
confidence: 0.95,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Then check general patterns (higher false positive risk)
|
|
83
106
|
for (const pattern of sensitivePatterns) {
|
|
84
107
|
if (pattern.test(content)) {
|
|
85
108
|
let matchType = "api_key_or_secret";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-harness/provider-router",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.261",
|
|
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",
|