@agentdeck/bridge 1.0.18 → 1.0.19
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/adapters/claude-code.d.ts +4 -2
- package/dist/adapters/claude-code.d.ts.map +1 -1
- package/dist/adapters/claude-code.js +9 -10
- package/dist/adapters/claude-code.js.map +1 -1
- package/dist/adapters/codex-cli.d.ts +3 -4
- package/dist/adapters/codex-cli.d.ts.map +1 -1
- package/dist/adapters/codex-cli.js +8 -12
- package/dist/adapters/codex-cli.js.map +1 -1
- package/dist/adapters/pty-adapter.d.ts +2 -2
- package/dist/adapters/pty-adapter.js +2 -2
- package/dist/apme/adapters/codex-turn-manager.d.ts +13 -77
- package/dist/apme/adapters/codex-turn-manager.d.ts.map +1 -1
- package/dist/apme/adapters/codex-turn-manager.js +97 -403
- package/dist/apme/adapters/codex-turn-manager.js.map +1 -1
- package/dist/check-deps.d.ts.map +1 -1
- package/dist/check-deps.js +3 -1
- package/dist/check-deps.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +19 -3
- package/dist/cli.js.map +1 -1
- package/dist/codex-rate-limits.d.ts +1 -1
- package/dist/codex-rate-limits.d.ts.map +1 -1
- package/dist/codex-rate-limits.js +27 -17
- package/dist/codex-rate-limits.js.map +1 -1
- package/dist/daemon.js +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -192
- package/dist/index.js.map +1 -1
- package/dist/state-machine.d.ts +5 -0
- package/dist/state-machine.d.ts.map +1 -1
- package/dist/state-machine.js +34 -4
- package/dist/state-machine.js.map +1 -1
- package/dist/types.d.ts +11 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +4 -3
- package/dist/apme/adapters/claude-pty.d.ts +0 -28
- package/dist/apme/adapters/claude-pty.d.ts.map +0 -1
- package/dist/apme/adapters/claude-pty.js +0 -88
- package/dist/apme/adapters/claude-pty.js.map +0 -1
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude Code PTY parser → TelemetrySpan adapter.
|
|
3
|
-
*
|
|
4
|
-
* Two distinct emission points:
|
|
5
|
-
*
|
|
6
|
-
* 1. **Parser events** (`tool_start` / `tool_end` / `spinner_start` / `idle` /
|
|
7
|
-
* `spinner_stop`) — fired by the BridgeCore output parser as terminal text
|
|
8
|
-
* scrolls. We map these to lifecycle spans (`tool_call` / `tool_result`)
|
|
9
|
-
* plus generic `raw_step` for state transitions. This is the **fallback**
|
|
10
|
-
* when Claude Code 2.1+ hooks are flaky (memory: feedback_apme_stop_hook).
|
|
11
|
-
*
|
|
12
|
-
* 2. **Extracted response text** — `spinner_stop` triggers a 500 ms timeout
|
|
13
|
-
* in the bridge, the PTY ringbuffer tail is scanned for the `⏺` marker,
|
|
14
|
-
* and the cleaned text is fed to `claudePtyResponseToSpan` to emit a
|
|
15
|
-
* `turn_response` span.
|
|
16
|
-
*
|
|
17
|
-
* Splitting these into two functions keeps each call site free to do its own
|
|
18
|
-
* timing / extraction work without smuggling sentinels through `data`.
|
|
19
|
-
*/
|
|
20
|
-
import { randomUUID } from 'crypto';
|
|
21
|
-
import { spanNameForKind } from '@agentdeck/shared';
|
|
22
|
-
const PARSER_TO_KIND = {
|
|
23
|
-
tool_start: 'tool_call',
|
|
24
|
-
tool_end: 'tool_result',
|
|
25
|
-
spinner_start: 'raw_step',
|
|
26
|
-
spinner_stop: 'raw_step',
|
|
27
|
-
idle: 'raw_step',
|
|
28
|
-
};
|
|
29
|
-
export function claudePtyParserEventToSpans(ctx, event, data = {}) {
|
|
30
|
-
const kind = PARSER_TO_KIND[event];
|
|
31
|
-
if (!kind)
|
|
32
|
-
return [];
|
|
33
|
-
const ts = Date.now();
|
|
34
|
-
const toolName = typeof data.tool_name === 'string' ? data.tool_name : undefined;
|
|
35
|
-
const base = {
|
|
36
|
-
'agentdeck.agent_type': ctx.agentType,
|
|
37
|
-
...(ctx.cwd ? { 'agentdeck.cwd': ctx.cwd } : {}),
|
|
38
|
-
};
|
|
39
|
-
let attributes;
|
|
40
|
-
if (kind === 'tool_call' || kind === 'tool_result') {
|
|
41
|
-
attributes = {
|
|
42
|
-
...base,
|
|
43
|
-
...(toolName ? { 'gen_ai.tool.name': toolName, 'agentdeck.tool_name': toolName } : {}),
|
|
44
|
-
'agentdeck.raw_payload': data,
|
|
45
|
-
// Map the parser event back to the legacy hook event name so the
|
|
46
|
-
// collector's existing dispatch (PreToolUse/PostToolUse) keeps firing.
|
|
47
|
-
'agentdeck.raw_event': event === 'tool_start' ? 'PreToolUse' : 'PostToolUse',
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
attributes = {
|
|
52
|
-
...base,
|
|
53
|
-
'agentdeck.raw_event': event === 'spinner_start' ? 'processing' : event,
|
|
54
|
-
'agentdeck.raw_payload': data,
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
return [{
|
|
58
|
-
traceId: ctx.traceId,
|
|
59
|
-
spanId: randomUUID(),
|
|
60
|
-
parentSpanId: ctx.activeTurnId,
|
|
61
|
-
name: spanNameForKind(kind),
|
|
62
|
-
kind,
|
|
63
|
-
ts,
|
|
64
|
-
attributes,
|
|
65
|
-
}];
|
|
66
|
-
}
|
|
67
|
-
/** Extracted PTY response text → `turn_response` span. The caller is responsible
|
|
68
|
-
* for the actual extraction (PTY ringbuffer + `⏺` marker + cleaning) since
|
|
69
|
-
* that logic is intertwined with `BridgeCore` timing. */
|
|
70
|
-
export function claudePtyResponseToSpan(ctx, response, options = {}) {
|
|
71
|
-
if (!response || response.trim().length < 2)
|
|
72
|
-
return null;
|
|
73
|
-
return {
|
|
74
|
-
traceId: ctx.traceId,
|
|
75
|
-
spanId: randomUUID(),
|
|
76
|
-
parentSpanId: ctx.activeTurnId,
|
|
77
|
-
name: spanNameForKind('turn_response'),
|
|
78
|
-
kind: 'turn_response',
|
|
79
|
-
ts: Date.now(),
|
|
80
|
-
attributes: {
|
|
81
|
-
'agentdeck.agent_type': ctx.agentType,
|
|
82
|
-
...(ctx.cwd ? { 'agentdeck.cwd': ctx.cwd } : {}),
|
|
83
|
-
'agentdeck.response_text': response,
|
|
84
|
-
...(options.fallbackToLastClosed ? { 'agentdeck.fallback_to_last_closed': true } : {}),
|
|
85
|
-
},
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=claude-pty.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claude-pty.js","sourceRoot":"","sources":["../../../src/apme/adapters/claude-pty.ts"],"names":[],"mappings":"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"}
|