agent-relay 1.0.21 → 1.1.0
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/dist/bridge/shadow-cli.d.ts +17 -0
- package/dist/bridge/shadow-cli.d.ts.map +1 -0
- package/dist/bridge/shadow-cli.js +75 -0
- package/dist/bridge/shadow-cli.js.map +1 -0
- package/dist/bridge/shadow-config.d.ts +87 -0
- package/dist/bridge/shadow-config.d.ts.map +1 -0
- package/dist/bridge/shadow-config.js +134 -0
- package/dist/bridge/shadow-config.js.map +1 -0
- package/dist/bridge/spawner.d.ts +15 -1
- package/dist/bridge/spawner.d.ts.map +1 -1
- package/dist/bridge/spawner.js +164 -4
- package/dist/bridge/spawner.js.map +1 -1
- package/dist/bridge/types.d.ts +55 -0
- package/dist/bridge/types.d.ts.map +1 -1
- package/dist/cli/index.js +796 -11
- package/dist/cli/index.js.map +1 -1
- package/dist/cloud/api/auth.d.ts +19 -0
- package/dist/cloud/api/auth.d.ts.map +1 -0
- package/dist/cloud/api/auth.js +216 -0
- package/dist/cloud/api/auth.js.map +1 -0
- package/dist/cloud/api/billing.d.ts +17 -0
- package/dist/cloud/api/billing.d.ts.map +1 -0
- package/dist/cloud/api/billing.js +353 -0
- package/dist/cloud/api/billing.js.map +1 -0
- package/dist/cloud/api/coordinators.d.ts +8 -0
- package/dist/cloud/api/coordinators.d.ts.map +1 -0
- package/dist/cloud/api/coordinators.js +347 -0
- package/dist/cloud/api/coordinators.js.map +1 -0
- package/dist/cloud/api/daemons.d.ts +12 -0
- package/dist/cloud/api/daemons.d.ts.map +1 -0
- package/dist/cloud/api/daemons.js +320 -0
- package/dist/cloud/api/daemons.js.map +1 -0
- package/dist/cloud/api/middleware/planLimits.d.ts +36 -0
- package/dist/cloud/api/middleware/planLimits.d.ts.map +1 -0
- package/dist/cloud/api/middleware/planLimits.js +164 -0
- package/dist/cloud/api/middleware/planLimits.js.map +1 -0
- package/dist/cloud/api/onboarding.d.ts +8 -0
- package/dist/cloud/api/onboarding.d.ts.map +1 -0
- package/dist/cloud/api/onboarding.js +407 -0
- package/dist/cloud/api/onboarding.js.map +1 -0
- package/dist/cloud/api/providers.d.ts +7 -0
- package/dist/cloud/api/providers.d.ts.map +1 -0
- package/dist/cloud/api/providers.js +435 -0
- package/dist/cloud/api/providers.js.map +1 -0
- package/dist/cloud/api/repos.d.ts +7 -0
- package/dist/cloud/api/repos.d.ts.map +1 -0
- package/dist/cloud/api/repos.js +314 -0
- package/dist/cloud/api/repos.js.map +1 -0
- package/dist/cloud/api/teams.d.ts +7 -0
- package/dist/cloud/api/teams.d.ts.map +1 -0
- package/dist/cloud/api/teams.js +279 -0
- package/dist/cloud/api/teams.js.map +1 -0
- package/dist/cloud/api/usage.d.ts +7 -0
- package/dist/cloud/api/usage.d.ts.map +1 -0
- package/dist/cloud/api/usage.js +98 -0
- package/dist/cloud/api/usage.js.map +1 -0
- package/dist/cloud/api/workspaces.d.ts +7 -0
- package/dist/cloud/api/workspaces.d.ts.map +1 -0
- package/dist/cloud/api/workspaces.js +510 -0
- package/dist/cloud/api/workspaces.js.map +1 -0
- package/dist/cloud/billing/index.d.ts +9 -0
- package/dist/cloud/billing/index.d.ts.map +1 -0
- package/dist/cloud/billing/index.js +9 -0
- package/dist/cloud/billing/index.js.map +1 -0
- package/dist/cloud/billing/plans.d.ts +39 -0
- package/dist/cloud/billing/plans.d.ts.map +1 -0
- package/dist/cloud/billing/plans.js +232 -0
- package/dist/cloud/billing/plans.js.map +1 -0
- package/dist/cloud/billing/service.d.ts +80 -0
- package/dist/cloud/billing/service.d.ts.map +1 -0
- package/dist/cloud/billing/service.js +388 -0
- package/dist/cloud/billing/service.js.map +1 -0
- package/dist/cloud/billing/types.d.ts +135 -0
- package/dist/cloud/billing/types.d.ts.map +1 -0
- package/dist/cloud/billing/types.js +7 -0
- package/dist/cloud/billing/types.js.map +1 -0
- package/dist/cloud/config.d.ts +59 -0
- package/dist/cloud/config.d.ts.map +1 -0
- package/dist/cloud/config.js +83 -0
- package/dist/cloud/config.js.map +1 -0
- package/dist/cloud/db/drizzle.d.ts +132 -0
- package/dist/cloud/db/drizzle.d.ts.map +1 -0
- package/dist/cloud/db/drizzle.js +613 -0
- package/dist/cloud/db/drizzle.js.map +1 -0
- package/dist/cloud/db/index.d.ts +30 -0
- package/dist/cloud/db/index.d.ts.map +1 -0
- package/dist/cloud/db/index.js +44 -0
- package/dist/cloud/db/index.js.map +1 -0
- package/dist/cloud/db/schema.d.ts +1792 -0
- package/dist/cloud/db/schema.d.ts.map +1 -0
- package/dist/cloud/db/schema.js +234 -0
- package/dist/cloud/db/schema.js.map +1 -0
- package/dist/cloud/index.d.ts +11 -0
- package/dist/cloud/index.d.ts.map +1 -0
- package/dist/cloud/index.js +37 -0
- package/dist/cloud/index.js.map +1 -0
- package/dist/cloud/provisioner/index.d.ts +51 -0
- package/dist/cloud/provisioner/index.d.ts.map +1 -0
- package/dist/cloud/provisioner/index.js +676 -0
- package/dist/cloud/provisioner/index.js.map +1 -0
- package/dist/cloud/server.d.ts +16 -0
- package/dist/cloud/server.d.ts.map +1 -0
- package/dist/cloud/server.js +190 -0
- package/dist/cloud/server.js.map +1 -0
- package/dist/cloud/services/coordinator.d.ts +62 -0
- package/dist/cloud/services/coordinator.d.ts.map +1 -0
- package/dist/cloud/services/coordinator.js +389 -0
- package/dist/cloud/services/coordinator.js.map +1 -0
- package/dist/cloud/services/planLimits.d.ts +110 -0
- package/dist/cloud/services/planLimits.d.ts.map +1 -0
- package/dist/cloud/services/planLimits.js +254 -0
- package/dist/cloud/services/planLimits.js.map +1 -0
- package/dist/cloud/vault/index.d.ts +76 -0
- package/dist/cloud/vault/index.d.ts.map +1 -0
- package/dist/cloud/vault/index.js +219 -0
- package/dist/cloud/vault/index.js.map +1 -0
- package/dist/daemon/agent-manager.d.ts +87 -0
- package/dist/daemon/agent-manager.d.ts.map +1 -0
- package/dist/daemon/agent-manager.js +412 -0
- package/dist/daemon/agent-manager.js.map +1 -0
- package/dist/daemon/agent-registry.d.ts +2 -0
- package/dist/daemon/agent-registry.d.ts.map +1 -1
- package/dist/daemon/agent-registry.js +3 -0
- package/dist/daemon/agent-registry.js.map +1 -1
- package/dist/daemon/api.d.ts +69 -0
- package/dist/daemon/api.d.ts.map +1 -0
- package/dist/daemon/api.js +425 -0
- package/dist/daemon/api.js.map +1 -0
- package/dist/daemon/cloud-sync.d.ts +101 -0
- package/dist/daemon/cloud-sync.d.ts.map +1 -0
- package/dist/daemon/cloud-sync.js +261 -0
- package/dist/daemon/cloud-sync.js.map +1 -0
- package/dist/daemon/index.d.ts +4 -0
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +6 -0
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/orchestrator.d.ts +155 -0
- package/dist/daemon/orchestrator.d.ts.map +1 -0
- package/dist/daemon/orchestrator.js +736 -0
- package/dist/daemon/orchestrator.js.map +1 -0
- package/dist/daemon/router.d.ts +24 -0
- package/dist/daemon/router.d.ts.map +1 -1
- package/dist/daemon/router.js +71 -1
- package/dist/daemon/router.js.map +1 -1
- package/dist/daemon/server.d.ts +37 -0
- package/dist/daemon/server.d.ts.map +1 -1
- package/dist/daemon/server.js +191 -16
- package/dist/daemon/server.js.map +1 -1
- package/dist/daemon/types.d.ts +127 -0
- package/dist/daemon/types.d.ts.map +1 -0
- package/dist/daemon/types.js +6 -0
- package/dist/daemon/types.js.map +1 -0
- package/dist/daemon/workspace-manager.d.ts +75 -0
- package/dist/daemon/workspace-manager.d.ts.map +1 -0
- package/dist/daemon/workspace-manager.js +289 -0
- package/dist/daemon/workspace-manager.js.map +1 -0
- package/dist/dashboard/out/404.html +1 -1
- package/dist/dashboard/out/_next/static/chunks/693-7b3301d8f6bc5014.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/713-f78477eb185f1f4d.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/766-e53e1cfe39b0b5b5.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/900-037c64bfd797fb2a.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/app/page-e3d9e1f4466b9bae.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/history/page-b6edd4dde8d08194.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/layout-2433bb48965f4333.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/metrics/page-e68825a81db67ba1.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/page-cc108bf68c8a657f.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/pricing/page-d80e03a5297f95b6.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/main-app-5d692157a8eb1fd9.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/{main-e0a1f53fe0617a63.js → main-c2f423b9c9f4591b.js} +1 -1
- package/dist/dashboard/out/_next/static/chunks/{webpack-c81f7fd28659d64f.js → webpack-a5acc2831d094776.js} +1 -1
- package/dist/dashboard/out/_next/static/css/79b80143647a07d7.css +1 -0
- package/dist/dashboard/out/_next/static/css/8cf277370ad48cfe.css +1 -0
- package/dist/dashboard/out/alt-logos/agent-relay-logo-128.png +0 -0
- package/dist/dashboard/out/alt-logos/agent-relay-logo-256.png +0 -0
- package/dist/dashboard/out/alt-logos/agent-relay-logo-32.png +0 -0
- package/dist/dashboard/out/alt-logos/agent-relay-logo-512.png +0 -0
- package/dist/dashboard/out/alt-logos/agent-relay-logo-64.png +0 -0
- package/dist/dashboard/out/alt-logos/agent-relay-logo.svg +45 -0
- package/dist/dashboard/out/alt-logos/logo.svg +38 -0
- package/dist/dashboard/out/alt-logos/monogram-logo-128.png +0 -0
- package/dist/dashboard/out/alt-logos/monogram-logo-256.png +0 -0
- package/dist/dashboard/out/alt-logos/monogram-logo-32.png +0 -0
- package/dist/dashboard/out/alt-logos/monogram-logo-512.png +0 -0
- package/dist/dashboard/out/alt-logos/monogram-logo-64.png +0 -0
- package/dist/dashboard/out/alt-logos/monogram-logo.svg +38 -0
- package/dist/dashboard/out/app.html +14 -0
- package/dist/dashboard/out/app.txt +7 -0
- package/dist/dashboard/out/history.html +1 -0
- package/dist/dashboard/out/history.txt +7 -0
- package/dist/dashboard/out/index.html +1 -1
- package/dist/dashboard/out/index.txt +2 -2
- package/dist/dashboard/out/metrics.html +1 -515
- package/dist/dashboard/out/metrics.txt +2 -2
- package/dist/dashboard/out/pricing.html +13 -0
- package/dist/dashboard/out/pricing.txt +7 -0
- package/dist/dashboard-server/metrics.d.ts.map +1 -1
- package/dist/dashboard-server/metrics.js +3 -2
- package/dist/dashboard-server/metrics.js.map +1 -1
- package/dist/dashboard-server/server.d.ts.map +1 -1
- package/dist/dashboard-server/server.js +1279 -56
- package/dist/dashboard-server/server.js.map +1 -1
- package/dist/protocol/types.d.ts +10 -1
- package/dist/protocol/types.d.ts.map +1 -1
- package/dist/resiliency/context-persistence.d.ts +140 -0
- package/dist/resiliency/context-persistence.d.ts.map +1 -0
- package/dist/resiliency/context-persistence.js +397 -0
- package/dist/resiliency/context-persistence.js.map +1 -0
- package/dist/resiliency/health-monitor.d.ts +97 -0
- package/dist/resiliency/health-monitor.d.ts.map +1 -0
- package/dist/resiliency/health-monitor.js +291 -0
- package/dist/resiliency/health-monitor.js.map +1 -0
- package/dist/resiliency/index.d.ts +63 -0
- package/dist/resiliency/index.d.ts.map +1 -0
- package/dist/resiliency/index.js +63 -0
- package/dist/resiliency/index.js.map +1 -0
- package/dist/resiliency/logger.d.ts +114 -0
- package/dist/resiliency/logger.d.ts.map +1 -0
- package/dist/resiliency/logger.js +250 -0
- package/dist/resiliency/logger.js.map +1 -0
- package/dist/resiliency/metrics.d.ts +115 -0
- package/dist/resiliency/metrics.d.ts.map +1 -0
- package/dist/resiliency/metrics.js +239 -0
- package/dist/resiliency/metrics.js.map +1 -0
- package/dist/resiliency/provider-context.d.ts +100 -0
- package/dist/resiliency/provider-context.d.ts.map +1 -0
- package/dist/resiliency/provider-context.js +360 -0
- package/dist/resiliency/provider-context.js.map +1 -0
- package/dist/resiliency/supervisor.d.ts +109 -0
- package/dist/resiliency/supervisor.d.ts.map +1 -0
- package/dist/resiliency/supervisor.js +337 -0
- package/dist/resiliency/supervisor.js.map +1 -0
- package/dist/storage/adapter.d.ts +2 -0
- package/dist/storage/adapter.d.ts.map +1 -1
- package/dist/storage/adapter.js +12 -2
- package/dist/storage/adapter.js.map +1 -1
- package/dist/storage/sqlite-adapter.d.ts.map +1 -1
- package/dist/storage/sqlite-adapter.js +18 -14
- package/dist/storage/sqlite-adapter.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logger.d.ts +40 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +84 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/wrapper/client.d.ts +16 -1
- package/dist/wrapper/client.d.ts.map +1 -1
- package/dist/wrapper/client.js +32 -1
- package/dist/wrapper/client.js.map +1 -1
- package/dist/wrapper/parser.d.ts +3 -0
- package/dist/wrapper/parser.d.ts.map +1 -1
- package/dist/wrapper/parser.js +121 -18
- package/dist/wrapper/parser.js.map +1 -1
- package/dist/wrapper/pty-wrapper.d.ts +28 -1
- package/dist/wrapper/pty-wrapper.d.ts.map +1 -1
- package/dist/wrapper/pty-wrapper.js +166 -30
- package/dist/wrapper/pty-wrapper.js.map +1 -1
- package/dist/wrapper/tmux-wrapper.d.ts +5 -0
- package/dist/wrapper/tmux-wrapper.d.ts.map +1 -1
- package/dist/wrapper/tmux-wrapper.js +58 -18
- package/dist/wrapper/tmux-wrapper.js.map +1 -1
- package/docs/CLOUD-ARCHITECTURE.md +652 -0
- package/docs/CLOUD-ONBOARDING-DESIGN.md +1983 -0
- package/docs/TESTING_PRESENCE_FEATURES.md +327 -0
- package/docs/agent-relay-snippet.md +107 -4
- package/docs/guides/CLOUD.md +236 -0
- package/docs/guides/LOCAL.md +535 -0
- package/docs/guides/SELF-HOSTED.md +494 -0
- package/docs/proposals/shadow-as-subagent.md +765 -0
- package/docs/proposals/slack-bot-integration.md +1457 -0
- package/package.json +33 -4
- package/dist/dashboard/out/_next/static/chunks/app/layout-c9d8c5d95e48c6bf.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/app/metrics/page-8aa9936bc6c771ab.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/app/page-49055e5d2b5e34ec.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/main-app-bae2e535de00de50.js +0 -1
- package/dist/dashboard/out/_next/static/css/50ed6996e3df7bdd.css +0 -1
- /package/dist/dashboard/out/_next/static/{gZXwjIKGDKJ0hiTH-HMeJ → 6HHWb2ZmnJ4OSm0zUP7h4}/_buildManifest.js +0 -0
- /package/dist/dashboard/out/_next/static/{gZXwjIKGDKJ0hiTH-HMeJ → 6HHWb2ZmnJ4OSm0zUP7h4}/_ssgManifest.js +0 -0
- /package/dist/dashboard/out/_next/static/chunks/{117-3bef7b19f3e60751.js → 117-b2cd8d6485aacf2b.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/{648-6cf686106c891ad3.js → 648-8f3f26864ce515e5.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/app/_not-found/{page-8ff6572bc7c9bc61.js → page-0b990dbb71d72a98.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/{fd9d1056-26bd8d656b496dba.js → fd9d1056-bf46c09eb57e019c.js} +0 -0
package/dist/wrapper/parser.js
CHANGED
|
@@ -28,19 +28,60 @@ const CODE_FENCE = /^```/;
|
|
|
28
28
|
// Two patterns for fence end detection:
|
|
29
29
|
// - FENCE_END_START: ">>>" at the start of a line (with optional leading whitespace)
|
|
30
30
|
// - FENCE_END_LINE: ">>>" at the end of a line (content followed by >>>)
|
|
31
|
+
// Note: Escaped \>>> should NOT trigger fence end (see isEscapedFenceEnd)
|
|
31
32
|
const FENCE_END_START = /^(?:\s*)?>>>/;
|
|
32
33
|
const FENCE_END_LINE = />>>\s*$/;
|
|
33
34
|
const FENCE_END = new RegExp(`${FENCE_END_START.source}|${FENCE_END_LINE.source}`);
|
|
35
|
+
// Escape patterns for literal <<< and >>> in content
|
|
36
|
+
// Use \<<< to output literal <<<, use \>>> to output literal >>>
|
|
37
|
+
const ESCAPED_FENCE_START = /\\<<</g;
|
|
38
|
+
const ESCAPED_FENCE_END = /\\>>>/g;
|
|
34
39
|
// Maximum lines in a fenced block before assuming it's stuck
|
|
35
|
-
|
|
40
|
+
// Lower value (30) ensures messages get sent even if agent forgets >>>
|
|
41
|
+
// Most relay messages are under 20 lines; 30 gives buffer for longer ones
|
|
42
|
+
const MAX_FENCED_LINES = 30;
|
|
36
43
|
// Continuation helpers
|
|
37
44
|
const BULLET_OR_NUMBERED_LIST = /^[ \t]*([\-*•◦‣⏺◆◇○□■]|[0-9]+[.)])\s+/;
|
|
38
45
|
const PROMPTISH_LINE = /^[\s]*[>$%#➜›»][\s]*$/;
|
|
39
46
|
const RELAY_INJECTION_PREFIX = /^\s*Relay message from /;
|
|
40
47
|
const MAX_INLINE_CONTINUATION_LINES = 30;
|
|
48
|
+
// Spawn/release command patterns - these should NOT be parsed as relay messages
|
|
49
|
+
// They are handled separately by the wrappers (pty-wrapper.ts, tmux-wrapper.ts)
|
|
50
|
+
const SPAWN_COMMAND_PATTERN = /->relay:spawn\s+\S+/i;
|
|
51
|
+
const RELEASE_COMMAND_PATTERN = /->relay:release\s+\S+/i;
|
|
52
|
+
/**
|
|
53
|
+
* Check if a line is a spawn or release command that should be handled
|
|
54
|
+
* by the wrapper's spawn subsystem, not parsed as a relay message.
|
|
55
|
+
*/
|
|
56
|
+
function isSpawnOrReleaseCommand(line) {
|
|
57
|
+
return SPAWN_COMMAND_PATTERN.test(line) || RELEASE_COMMAND_PATTERN.test(line);
|
|
58
|
+
}
|
|
41
59
|
// Claude extended thinking block markers - skip content inside these
|
|
42
60
|
const THINKING_START = /<antml:thinking>/;
|
|
43
61
|
const THINKING_END = /<\/thinking>/;
|
|
62
|
+
/**
|
|
63
|
+
* Patterns that indicate instructional/example text that should NOT be parsed as actual commands.
|
|
64
|
+
* These are common in system prompts, documentation, and injected instructions.
|
|
65
|
+
*/
|
|
66
|
+
const INSTRUCTIONAL_MARKERS = [
|
|
67
|
+
/\bSEND:\s*$/i, // "SEND:" at end of body (instruction prefix)
|
|
68
|
+
/\bPROTOCOL:\s*\(\d+\)/i, // "PROTOCOL: (1)" - numbered protocol instructions
|
|
69
|
+
/\bExample:/i, // "Example:" marker
|
|
70
|
+
/\\->relay:/, // Escaped relay prefix in body (documentation)
|
|
71
|
+
/\\->thinking:/, // Escaped thinking prefix in body (documentation)
|
|
72
|
+
/^AgentName\s+/, // Body starting with "AgentName" (placeholder in examples)
|
|
73
|
+
/^Target\s+/, // Body starting with "Target" (placeholder in examples)
|
|
74
|
+
/\[Agent Relay\]/, // Injected instruction header
|
|
75
|
+
/MULTI-LINE:/i, // Multi-line format instruction
|
|
76
|
+
/RECEIVE:/i, // Receive instruction marker
|
|
77
|
+
];
|
|
78
|
+
/**
|
|
79
|
+
* Check if a parsed relay command body looks like instructional/example text.
|
|
80
|
+
* These patterns commonly appear in system prompts and documentation.
|
|
81
|
+
*/
|
|
82
|
+
function isInstructionalText(body) {
|
|
83
|
+
return INSTRUCTIONAL_MARKERS.some(pattern => pattern.test(body));
|
|
84
|
+
}
|
|
44
85
|
/**
|
|
45
86
|
* Escape special regex characters in a string
|
|
46
87
|
*/
|
|
@@ -51,23 +92,26 @@ function escapeRegex(str) {
|
|
|
51
92
|
* Build inline pattern for a given prefix
|
|
52
93
|
* Allow common input prefixes: >, $, %, #, →, ➜, bullets (●•◦‣⁃-*⏺◆◇○□■), box chars (│┃┆┇┊┋╎╏), and their variations
|
|
53
94
|
*
|
|
54
|
-
* Supports optional thread syntax:
|
|
95
|
+
* Supports optional thread syntax:
|
|
96
|
+
* - ->relay:Target [thread:id] message (local thread)
|
|
97
|
+
* - ->relay:Target [thread:project:id] message (cross-project thread)
|
|
55
98
|
* Thread IDs can contain alphanumeric chars, hyphens, underscores
|
|
56
99
|
*/
|
|
57
100
|
function buildInlinePattern(prefix) {
|
|
58
101
|
const escaped = escapeRegex(prefix);
|
|
59
|
-
// Group 1: target, Group 2: optional thread
|
|
102
|
+
// Group 1: target, Group 2: optional thread project, Group 3: thread ID, Group 4: message body
|
|
60
103
|
// Includes box drawing characters (│┃┆┇┊┋╎╏) and sparkle (✦) for Gemini CLI output
|
|
61
|
-
return new RegExp(`^(?:\\s*(?:[>$%#→➜›»●•◦‣⁃\\-*⏺◆◇○□■│┃┆┇┊┋╎╏✦]\\s*)*)?${escaped}(\\S+)(?:\\s+\\[thread:([\\w-]+)\\])?\\s+(.+)$`);
|
|
104
|
+
return new RegExp(`^(?:\\s*(?:[>$%#→➜›»●•◦‣⁃\\-*⏺◆◇○□■│┃┆┇┊┋╎╏✦]\\s*)*)?${escaped}(\\S+)(?:\\s+\\[thread:(?:([\\w-]+):)?([\\w-]+)\\])?\\s+(.+)$`);
|
|
62
105
|
}
|
|
63
106
|
/**
|
|
64
107
|
* Build fenced inline pattern for multi-line messages: ->relay:Target <<<
|
|
65
108
|
* This opens a fenced block that continues until >>> is seen on its own line.
|
|
66
|
-
*
|
|
109
|
+
* Supports cross-project thread syntax: [thread:project:id]
|
|
110
|
+
* Group 1: target, Group 2: optional thread project, Group 3: thread ID
|
|
67
111
|
*/
|
|
68
112
|
function buildFencedInlinePattern(prefix) {
|
|
69
113
|
const escaped = escapeRegex(prefix);
|
|
70
|
-
return new RegExp(`^(?:\\s*(?:[>$%#→➜›»●•◦‣⁃\\-*⏺◆◇○□■│┃┆┇┊┋╎╏✦]\\s*)*)?${escaped}(\\S+)(?:\\s+\\[thread:([\\w-]+)\\])?\\s+<<<\\s*$`);
|
|
114
|
+
return new RegExp(`^(?:\\s*(?:[>$%#→➜›»●•◦‣⁃\\-*⏺◆◇○□■│┃┆┇┊┋╎╏✦]\\s*)*)?${escaped}(\\S+)(?:\\s+\\[thread:(?:([\\w-]+):)?([\\w-]+)\\])?\\s+<<<\\s*$`);
|
|
71
115
|
}
|
|
72
116
|
/**
|
|
73
117
|
* Build escape pattern for a given prefix (e.g., \->relay: or \->)
|
|
@@ -81,6 +125,9 @@ function buildEscapePattern(prefix, thinkingPrefix) {
|
|
|
81
125
|
// ANSI escape sequence pattern for stripping
|
|
82
126
|
// eslint-disable-next-line no-control-regex
|
|
83
127
|
const ANSI_PATTERN = /\x1b\[[0-9;?]*[a-zA-Z]|\x1b\].*?(?:\x07|\x1b\\)|\r/g;
|
|
128
|
+
// Pattern for orphaned CSI sequences that lost their escape byte
|
|
129
|
+
// These look like [?25h, [?2026l, [0m, etc. at the start of content
|
|
130
|
+
const ORPHANED_CSI_PATTERN = /^\s*(\[\??\d*[A-Za-z])+\s*/g;
|
|
84
131
|
/**
|
|
85
132
|
* Parse a target string that may contain cross-project syntax.
|
|
86
133
|
* Supports: "agent" (local) or "project:agent" (cross-project)
|
|
@@ -103,9 +150,37 @@ function parseTarget(target) {
|
|
|
103
150
|
}
|
|
104
151
|
/**
|
|
105
152
|
* Strip ANSI escape codes from a string for pattern matching.
|
|
153
|
+
* Also strips orphaned CSI sequences that may have lost their escape byte.
|
|
106
154
|
*/
|
|
107
155
|
function stripAnsi(str) {
|
|
108
|
-
|
|
156
|
+
let result = str.replace(ANSI_PATTERN, '');
|
|
157
|
+
// Strip orphaned CSI sequences at the start of the string
|
|
158
|
+
result = result.replace(ORPHANED_CSI_PATTERN, '');
|
|
159
|
+
return result;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Check if a line contains an escaped fence end (\>>>) that should NOT trigger fence close.
|
|
163
|
+
* Returns true if the >>> is escaped (preceded by backslash).
|
|
164
|
+
*/
|
|
165
|
+
function isEscapedFenceEnd(line) {
|
|
166
|
+
// Check if >>> at end of line is escaped
|
|
167
|
+
if (/\\>>>\s*$/.test(line)) {
|
|
168
|
+
return true;
|
|
169
|
+
}
|
|
170
|
+
// Check if >>> at start of line is escaped
|
|
171
|
+
if (/^(?:\s*)?\\>>>/.test(line)) {
|
|
172
|
+
return true;
|
|
173
|
+
}
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Unescape fence markers in content.
|
|
178
|
+
* Converts \<<< to <<< and \>>> to >>>
|
|
179
|
+
*/
|
|
180
|
+
function unescapeFenceMarkers(content) {
|
|
181
|
+
return content
|
|
182
|
+
.replace(ESCAPED_FENCE_START, '<<<')
|
|
183
|
+
.replace(ESCAPED_FENCE_END, '>>>');
|
|
109
184
|
}
|
|
110
185
|
export class OutputParser {
|
|
111
186
|
options;
|
|
@@ -121,6 +196,7 @@ export class OutputParser {
|
|
|
121
196
|
fencedInlineBuffer = '';
|
|
122
197
|
fencedInlineTarget = '';
|
|
123
198
|
fencedInlineThread = undefined;
|
|
199
|
+
fencedInlineThreadProject = undefined;
|
|
124
200
|
fencedInlineProject = undefined;
|
|
125
201
|
fencedInlineRaw = [];
|
|
126
202
|
fencedInlineKind = 'message';
|
|
@@ -289,15 +365,15 @@ export class OutputParser {
|
|
|
289
365
|
const stripped = stripAnsi(line);
|
|
290
366
|
const relayMatch = stripped.match(this.fencedRelayPattern);
|
|
291
367
|
if (relayMatch) {
|
|
292
|
-
const [, target, threadId] = relayMatch;
|
|
368
|
+
const [, target, threadProject, threadId] = relayMatch;
|
|
293
369
|
const { to, project } = parseTarget(target);
|
|
294
|
-
return { target: to, thread: threadId || undefined, project, kind: 'message' };
|
|
370
|
+
return { target: to, thread: threadId || undefined, threadProject: threadProject || undefined, project, kind: 'message' };
|
|
295
371
|
}
|
|
296
372
|
const thinkingMatch = stripped.match(this.fencedThinkingPattern);
|
|
297
373
|
if (thinkingMatch) {
|
|
298
|
-
const [, target, threadId] = thinkingMatch;
|
|
374
|
+
const [, target, threadProject, threadId] = thinkingMatch;
|
|
299
375
|
const { to, project } = parseTarget(target);
|
|
300
|
-
return { target: to, thread: threadId || undefined, project, kind: 'thinking' };
|
|
376
|
+
return { target: to, thread: threadId || undefined, threadProject: threadProject || undefined, project, kind: 'thinking' };
|
|
301
377
|
}
|
|
302
378
|
return null;
|
|
303
379
|
};
|
|
@@ -398,6 +474,7 @@ export class OutputParser {
|
|
|
398
474
|
this.inFencedInline = true;
|
|
399
475
|
this.fencedInlineTarget = fencedStart.target;
|
|
400
476
|
this.fencedInlineThread = fencedStart.thread;
|
|
477
|
+
this.fencedInlineThreadProject = fencedStart.threadProject;
|
|
401
478
|
this.fencedInlineProject = fencedStart.project;
|
|
402
479
|
this.fencedInlineKind = fencedStart.kind;
|
|
403
480
|
this.fencedInlineBuffer = '';
|
|
@@ -548,11 +625,20 @@ export class OutputParser {
|
|
|
548
625
|
const unescaped = line.replace(/\\/, '');
|
|
549
626
|
return { command: null, output: unescaped };
|
|
550
627
|
}
|
|
628
|
+
// Skip spawn/release commands - they are handled by the wrapper's spawn subsystem
|
|
629
|
+
// These should not be parsed as regular relay messages
|
|
630
|
+
if (isSpawnOrReleaseCommand(stripped)) {
|
|
631
|
+
return { command: null, output: line };
|
|
632
|
+
}
|
|
551
633
|
// Check for inline relay (on stripped text)
|
|
552
634
|
if (this.options.enableInline) {
|
|
553
635
|
const relayMatch = stripped.match(this.inlineRelayPattern);
|
|
554
636
|
if (relayMatch) {
|
|
555
|
-
const [raw, target, threadId, body] = relayMatch;
|
|
637
|
+
const [raw, target, threadProject, threadId, body] = relayMatch;
|
|
638
|
+
// Skip instructional/example text (common in system prompts)
|
|
639
|
+
if (isInstructionalText(body)) {
|
|
640
|
+
return { command: null, output: line };
|
|
641
|
+
}
|
|
556
642
|
const { to, project } = parseTarget(target);
|
|
557
643
|
return {
|
|
558
644
|
command: {
|
|
@@ -560,6 +646,7 @@ export class OutputParser {
|
|
|
560
646
|
kind: 'message',
|
|
561
647
|
body,
|
|
562
648
|
thread: threadId || undefined, // undefined if no thread specified
|
|
649
|
+
threadProject: threadProject || undefined, // undefined if local thread
|
|
563
650
|
project, // undefined if local, set if cross-project
|
|
564
651
|
raw,
|
|
565
652
|
},
|
|
@@ -568,7 +655,11 @@ export class OutputParser {
|
|
|
568
655
|
}
|
|
569
656
|
const thinkingMatch = stripped.match(this.inlineThinkingPattern);
|
|
570
657
|
if (thinkingMatch) {
|
|
571
|
-
const [raw, target, threadId, body] = thinkingMatch;
|
|
658
|
+
const [raw, target, threadProject, threadId, body] = thinkingMatch;
|
|
659
|
+
// Skip instructional/example text (common in system prompts)
|
|
660
|
+
if (isInstructionalText(body)) {
|
|
661
|
+
return { command: null, output: line };
|
|
662
|
+
}
|
|
572
663
|
const { to, project } = parseTarget(target);
|
|
573
664
|
return {
|
|
574
665
|
command: {
|
|
@@ -576,6 +667,7 @@ export class OutputParser {
|
|
|
576
667
|
kind: 'thinking',
|
|
577
668
|
body,
|
|
578
669
|
thread: threadId || undefined,
|
|
670
|
+
threadProject: threadProject || undefined,
|
|
579
671
|
project,
|
|
580
672
|
raw,
|
|
581
673
|
},
|
|
@@ -676,12 +768,13 @@ export class OutputParser {
|
|
|
676
768
|
// Auto-close on double blank line (agent forgot >>>)
|
|
677
769
|
// Only if we have actual content to send
|
|
678
770
|
if (consecutiveBlankLines >= 2 && this.fencedInlineBuffer.trim().length > 0) {
|
|
679
|
-
const body = this.fencedInlineBuffer.trim();
|
|
771
|
+
const body = unescapeFenceMarkers(stripAnsi(this.fencedInlineBuffer.trim()));
|
|
680
772
|
const command = {
|
|
681
773
|
to: this.fencedInlineTarget,
|
|
682
774
|
kind: this.fencedInlineKind,
|
|
683
775
|
body,
|
|
684
776
|
thread: this.fencedInlineThread,
|
|
777
|
+
threadProject: this.fencedInlineThreadProject,
|
|
685
778
|
project: this.fencedInlineProject,
|
|
686
779
|
raw: this.fencedInlineRaw.join('\n'),
|
|
687
780
|
};
|
|
@@ -691,6 +784,7 @@ export class OutputParser {
|
|
|
691
784
|
this.fencedInlineBuffer = '';
|
|
692
785
|
this.fencedInlineTarget = '';
|
|
693
786
|
this.fencedInlineThread = undefined;
|
|
787
|
+
this.fencedInlineThreadProject = undefined;
|
|
694
788
|
this.fencedInlineProject = undefined;
|
|
695
789
|
this.fencedInlineRaw = [];
|
|
696
790
|
this.fencedInlineKind = 'message';
|
|
@@ -707,12 +801,13 @@ export class OutputParser {
|
|
|
707
801
|
if (this.inlineRelayPattern.test(stripped) || this.fencedRelayPattern.test(stripped)) {
|
|
708
802
|
// Auto-close and send the incomplete fenced block (if it has content)
|
|
709
803
|
if (this.fencedInlineBuffer.trim().length > 0) {
|
|
710
|
-
const body = this.fencedInlineBuffer.trim();
|
|
804
|
+
const body = unescapeFenceMarkers(stripAnsi(this.fencedInlineBuffer.trim()));
|
|
711
805
|
const command = {
|
|
712
806
|
to: this.fencedInlineTarget,
|
|
713
807
|
kind: this.fencedInlineKind,
|
|
714
808
|
body,
|
|
715
809
|
thread: this.fencedInlineThread,
|
|
810
|
+
threadProject: this.fencedInlineThreadProject,
|
|
716
811
|
project: this.fencedInlineProject,
|
|
717
812
|
raw: this.fencedInlineRaw.join('\n'),
|
|
718
813
|
};
|
|
@@ -723,6 +818,7 @@ export class OutputParser {
|
|
|
723
818
|
this.fencedInlineBuffer = '';
|
|
724
819
|
this.fencedInlineTarget = '';
|
|
725
820
|
this.fencedInlineThread = undefined;
|
|
821
|
+
this.fencedInlineThreadProject = undefined;
|
|
726
822
|
this.fencedInlineProject = undefined;
|
|
727
823
|
this.fencedInlineRaw = [];
|
|
728
824
|
this.fencedInlineKind = 'message';
|
|
@@ -734,7 +830,8 @@ export class OutputParser {
|
|
|
734
830
|
return { commands, output: result.output };
|
|
735
831
|
}
|
|
736
832
|
// Check if this line closes the fenced block
|
|
737
|
-
if (
|
|
833
|
+
// Skip if the >>> is escaped (\>>>)
|
|
834
|
+
if (FENCE_END.test(stripped) && !isEscapedFenceEnd(stripped)) {
|
|
738
835
|
// If >>> is at end of line (not start), extract content before it
|
|
739
836
|
const endsWithFence = />>>\s*$/.test(stripped) && !/^(?:\s*)?>>>/.test(stripped);
|
|
740
837
|
if (endsWithFence) {
|
|
@@ -748,14 +845,15 @@ export class OutputParser {
|
|
|
748
845
|
}
|
|
749
846
|
}
|
|
750
847
|
}
|
|
751
|
-
// Complete the fenced inline command
|
|
752
|
-
const body = this.fencedInlineBuffer.trim();
|
|
848
|
+
// Complete the fenced inline command - unescape any \<<< and \>>> in content
|
|
849
|
+
const body = unescapeFenceMarkers(stripAnsi(this.fencedInlineBuffer.trim()));
|
|
753
850
|
this.fencedInlineRaw.push(line);
|
|
754
851
|
const command = {
|
|
755
852
|
to: this.fencedInlineTarget,
|
|
756
853
|
kind: this.fencedInlineKind,
|
|
757
854
|
body,
|
|
758
855
|
thread: this.fencedInlineThread,
|
|
856
|
+
threadProject: this.fencedInlineThreadProject,
|
|
759
857
|
project: this.fencedInlineProject,
|
|
760
858
|
raw: this.fencedInlineRaw.join('\n'),
|
|
761
859
|
};
|
|
@@ -765,6 +863,7 @@ export class OutputParser {
|
|
|
765
863
|
this.fencedInlineBuffer = '';
|
|
766
864
|
this.fencedInlineTarget = '';
|
|
767
865
|
this.fencedInlineThread = undefined;
|
|
866
|
+
this.fencedInlineThreadProject = undefined;
|
|
768
867
|
this.fencedInlineProject = undefined;
|
|
769
868
|
this.fencedInlineRaw = [];
|
|
770
869
|
this.fencedInlineKind = 'message';
|
|
@@ -801,6 +900,7 @@ export class OutputParser {
|
|
|
801
900
|
this.fencedInlineBuffer = '';
|
|
802
901
|
this.fencedInlineTarget = '';
|
|
803
902
|
this.fencedInlineThread = undefined;
|
|
903
|
+
this.fencedInlineThreadProject = undefined;
|
|
804
904
|
this.fencedInlineProject = undefined;
|
|
805
905
|
this.fencedInlineRaw = [];
|
|
806
906
|
this.fencedInlineKind = 'message';
|
|
@@ -813,6 +913,7 @@ export class OutputParser {
|
|
|
813
913
|
this.fencedInlineBuffer = '';
|
|
814
914
|
this.fencedInlineTarget = '';
|
|
815
915
|
this.fencedInlineThread = undefined;
|
|
916
|
+
this.fencedInlineThreadProject = undefined;
|
|
816
917
|
this.fencedInlineProject = undefined;
|
|
817
918
|
this.fencedInlineRaw = [];
|
|
818
919
|
this.fencedInlineKind = 'message';
|
|
@@ -837,6 +938,7 @@ export class OutputParser {
|
|
|
837
938
|
this.fencedInlineBuffer = '';
|
|
838
939
|
this.fencedInlineTarget = '';
|
|
839
940
|
this.fencedInlineThread = undefined;
|
|
941
|
+
this.fencedInlineThreadProject = undefined;
|
|
840
942
|
this.fencedInlineProject = undefined;
|
|
841
943
|
this.fencedInlineRaw = [];
|
|
842
944
|
this.fencedInlineKind = 'message';
|
|
@@ -856,6 +958,7 @@ export class OutputParser {
|
|
|
856
958
|
this.fencedInlineBuffer = '';
|
|
857
959
|
this.fencedInlineTarget = '';
|
|
858
960
|
this.fencedInlineThread = undefined;
|
|
961
|
+
this.fencedInlineThreadProject = undefined;
|
|
859
962
|
this.fencedInlineProject = undefined;
|
|
860
963
|
this.fencedInlineRaw = [];
|
|
861
964
|
this.fencedInlineKind = 'message';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/wrapper/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/wrapper/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* Used for spawned workers that don't need direct user interaction.
|
|
7
7
|
*/
|
|
8
8
|
import { EventEmitter } from 'node:events';
|
|
9
|
+
import type { SpeakOnTrigger } from '../protocol/types.js';
|
|
9
10
|
export interface PtyWrapperConfig {
|
|
10
11
|
name: string;
|
|
11
12
|
command: string;
|
|
@@ -25,6 +26,12 @@ export interface PtyWrapperConfig {
|
|
|
25
26
|
onRelease?: (name: string) => Promise<void>;
|
|
26
27
|
/** Callback when agent exits */
|
|
27
28
|
onExit?: (code: number) => void;
|
|
29
|
+
/** Primary agent to shadow (if this agent is a shadow) */
|
|
30
|
+
shadowOf?: string;
|
|
31
|
+
/** When the shadow should speak (default: ['EXPLICIT_ASK']) */
|
|
32
|
+
shadowSpeakOn?: SpeakOnTrigger[];
|
|
33
|
+
/** Stream output to daemon for dashboard log viewing (default: true) */
|
|
34
|
+
streamLogs?: boolean;
|
|
28
35
|
}
|
|
29
36
|
export interface PtyWrapperEvents {
|
|
30
37
|
output: (data: string) => void;
|
|
@@ -44,8 +51,10 @@ export declare class PtyWrapper extends EventEmitter {
|
|
|
44
51
|
private processedReleaseCommands;
|
|
45
52
|
private messageQueue;
|
|
46
53
|
private isInjecting;
|
|
54
|
+
private readyForMessages;
|
|
47
55
|
private logFilePath?;
|
|
48
56
|
private logStream?;
|
|
57
|
+
private hasAcceptedPrompt;
|
|
49
58
|
constructor(config: PtyWrapperConfig);
|
|
50
59
|
/**
|
|
51
60
|
* Start the agent process
|
|
@@ -55,6 +64,22 @@ export declare class PtyWrapper extends EventEmitter {
|
|
|
55
64
|
* Handle output from the process
|
|
56
65
|
*/
|
|
57
66
|
private handleOutput;
|
|
67
|
+
/**
|
|
68
|
+
* Auto-accept Claude's first-run prompts for --dangerously-skip-permissions
|
|
69
|
+
* Detects the acceptance prompt and sends "2" to select "Yes, I accept"
|
|
70
|
+
*/
|
|
71
|
+
private handleAutoAcceptPrompts;
|
|
72
|
+
/**
|
|
73
|
+
* Handle terminal escape sequences that require responses.
|
|
74
|
+
*
|
|
75
|
+
* Some CLI tools (like Codex) query terminal capabilities and expect responses.
|
|
76
|
+
* Without proper responses, they timeout and crash.
|
|
77
|
+
*
|
|
78
|
+
* Supported sequences:
|
|
79
|
+
* - CSI 6 n (DSR - Device Status Report for cursor position)
|
|
80
|
+
* Response: CSI row ; col R (we report position 1;1)
|
|
81
|
+
*/
|
|
82
|
+
private handleTerminalEscapeSequences;
|
|
58
83
|
/**
|
|
59
84
|
* Parse relay commands from output.
|
|
60
85
|
* Handles both single-line and multi-line (fenced) formats.
|
|
@@ -62,11 +87,12 @@ export declare class PtyWrapper extends EventEmitter {
|
|
|
62
87
|
*/
|
|
63
88
|
private parseRelayCommands;
|
|
64
89
|
/**
|
|
65
|
-
* Parse fenced multi-line messages: ->relay:Target <<<\n...\n>>>
|
|
90
|
+
* Parse fenced multi-line messages: ->relay:Target [thread:xxx] <<<\n...\n>>>
|
|
66
91
|
*/
|
|
67
92
|
private parseFencedMessages;
|
|
68
93
|
/**
|
|
69
94
|
* Parse single-line messages (no fenced format)
|
|
95
|
+
* Format: ->relay:Target [thread:xxx] message body
|
|
70
96
|
*/
|
|
71
97
|
private parseSingleLineMessages;
|
|
72
98
|
/**
|
|
@@ -94,6 +120,7 @@ export declare class PtyWrapper extends EventEmitter {
|
|
|
94
120
|
private executeRelease;
|
|
95
121
|
/**
|
|
96
122
|
* Handle incoming message from relay
|
|
123
|
+
* @param originalTo - The original 'to' field from sender. '*' indicates this was a broadcast message.
|
|
97
124
|
*/
|
|
98
125
|
private handleIncomingMessage;
|
|
99
126
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty-wrapper.d.ts","sourceRoot":"","sources":["../../src/wrapper/pty-wrapper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"pty-wrapper.d.ts","sourceRoot":"","sources":["../../src/wrapper/pty-wrapper.ts"],"names":[],"mappings":"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"}
|