@phigon/observer 8.1.0 → 8.2.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/README.md +51 -8
- package/dist/bin/guardian-runner-darwin-amd64 +0 -0
- package/dist/bin/guardian-runner-darwin-arm64 +0 -0
- package/dist/bin/guardian-runner-linux-amd64 +0 -0
- package/dist/bin/guardian-runner-linux-arm64 +0 -0
- package/dist/bin/guardian-runner-windows-amd64.exe +0 -0
- package/dist/bin/guardian-runner-windows-arm64.exe +0 -0
- package/dist/src/action-policy.d.ts.map +1 -1
- package/dist/src/action-policy.js +4 -2
- package/dist/src/action-policy.js.map +1 -1
- package/dist/src/activity/adapters/claude.d.ts.map +1 -1
- package/dist/src/activity/adapters/claude.js +19 -1
- package/dist/src/activity/adapters/claude.js.map +1 -1
- package/dist/src/activity/adapters/cline-task.d.ts +7 -0
- package/dist/src/activity/adapters/cline-task.d.ts.map +1 -0
- package/dist/src/activity/adapters/cline-task.js +197 -0
- package/dist/src/activity/adapters/cline-task.js.map +1 -0
- package/dist/src/activity/adapters/cline.d.ts +3 -0
- package/dist/src/activity/adapters/cline.d.ts.map +1 -0
- package/dist/src/activity/adapters/cline.js +102 -0
- package/dist/src/activity/adapters/cline.js.map +1 -0
- package/dist/src/activity/adapters/codex.d.ts.map +1 -1
- package/dist/src/activity/adapters/codex.js +76 -0
- package/dist/src/activity/adapters/codex.js.map +1 -1
- package/dist/src/activity/adapters/copilot-chat.d.ts +3 -0
- package/dist/src/activity/adapters/copilot-chat.d.ts.map +1 -0
- package/dist/src/activity/adapters/copilot-chat.js +176 -0
- package/dist/src/activity/adapters/copilot-chat.js.map +1 -0
- package/dist/src/activity/adapters/copilot.d.ts +2 -1
- package/dist/src/activity/adapters/copilot.d.ts.map +1 -1
- package/dist/src/activity/adapters/copilot.js +173 -2
- package/dist/src/activity/adapters/copilot.js.map +1 -1
- package/dist/src/activity/adapters/cursor.d.ts +3 -0
- package/dist/src/activity/adapters/cursor.d.ts.map +1 -0
- package/dist/src/activity/adapters/cursor.js +86 -0
- package/dist/src/activity/adapters/cursor.js.map +1 -0
- package/dist/src/activity/adapters/factory-droid.d.ts +3 -0
- package/dist/src/activity/adapters/factory-droid.d.ts.map +1 -0
- package/dist/src/activity/adapters/factory-droid.js +126 -0
- package/dist/src/activity/adapters/factory-droid.js.map +1 -0
- package/dist/src/activity/adapters/gemini.d.ts +3 -0
- package/dist/src/activity/adapters/gemini.d.ts.map +1 -0
- package/dist/src/activity/adapters/gemini.js +177 -0
- package/dist/src/activity/adapters/gemini.js.map +1 -0
- package/dist/src/activity/adapters/goose.d.ts +3 -0
- package/dist/src/activity/adapters/goose.d.ts.map +1 -0
- package/dist/src/activity/adapters/goose.js +116 -0
- package/dist/src/activity/adapters/goose.js.map +1 -0
- package/dist/src/activity/adapters/kiro.d.ts +3 -0
- package/dist/src/activity/adapters/kiro.d.ts.map +1 -0
- package/dist/src/activity/adapters/kiro.js +47 -0
- package/dist/src/activity/adapters/kiro.js.map +1 -0
- package/dist/src/activity/adapters/opencode.d.ts.map +1 -1
- package/dist/src/activity/adapters/opencode.js +108 -1
- package/dist/src/activity/adapters/opencode.js.map +1 -1
- package/dist/src/activity/adapters/zed.d.ts +3 -0
- package/dist/src/activity/adapters/zed.d.ts.map +1 -0
- package/dist/src/activity/adapters/zed.js +134 -0
- package/dist/src/activity/adapters/zed.js.map +1 -0
- package/dist/src/activity/collector.d.ts +12 -0
- package/dist/src/activity/collector.d.ts.map +1 -1
- package/dist/src/activity/collector.js +156 -3
- package/dist/src/activity/collector.js.map +1 -1
- package/dist/src/activity/goose-sqlite-source.d.ts +33 -0
- package/dist/src/activity/goose-sqlite-source.d.ts.map +1 -0
- package/dist/src/activity/goose-sqlite-source.js +274 -0
- package/dist/src/activity/goose-sqlite-source.js.map +1 -0
- package/dist/src/activity/index.d.ts +3 -0
- package/dist/src/activity/index.d.ts.map +1 -1
- package/dist/src/activity/index.js +3 -0
- package/dist/src/activity/index.js.map +1 -1
- package/dist/src/activity/ingest.d.ts.map +1 -1
- package/dist/src/activity/ingest.js +2 -1
- package/dist/src/activity/ingest.js.map +1 -1
- package/dist/src/activity/json-document-source.d.ts +136 -0
- package/dist/src/activity/json-document-source.d.ts.map +1 -0
- package/dist/src/activity/json-document-source.js +569 -0
- package/dist/src/activity/json-document-source.js.map +1 -0
- package/dist/src/activity/normalize.d.ts.map +1 -1
- package/dist/src/activity/normalize.js +64 -6
- package/dist/src/activity/normalize.js.map +1 -1
- package/dist/src/activity/opencode-message-tables.d.ts +87 -0
- package/dist/src/activity/opencode-message-tables.d.ts.map +1 -0
- package/dist/src/activity/opencode-message-tables.js +546 -0
- package/dist/src/activity/opencode-message-tables.js.map +1 -0
- package/dist/src/activity/opencode-sqlite-source.d.ts +7 -0
- package/dist/src/activity/opencode-sqlite-source.d.ts.map +1 -1
- package/dist/src/activity/opencode-sqlite-source.js +153 -63
- package/dist/src/activity/opencode-sqlite-source.js.map +1 -1
- package/dist/src/activity/source-reader.d.ts +16 -1
- package/dist/src/activity/source-reader.d.ts.map +1 -1
- package/dist/src/activity/source-reader.js +308 -29
- package/dist/src/activity/source-reader.js.map +1 -1
- package/dist/src/activity/sqlite-connections.d.ts +77 -0
- package/dist/src/activity/sqlite-connections.d.ts.map +1 -0
- package/dist/src/activity/sqlite-connections.js +220 -0
- package/dist/src/activity/sqlite-connections.js.map +1 -0
- package/dist/src/activity/zed-sqlite-source.d.ts +65 -0
- package/dist/src/activity/zed-sqlite-source.d.ts.map +1 -0
- package/dist/src/activity/zed-sqlite-source.js +547 -0
- package/dist/src/activity/zed-sqlite-source.js.map +1 -0
- package/dist/src/agent-action-executor.d.ts +13 -1
- package/dist/src/agent-action-executor.d.ts.map +1 -1
- package/dist/src/agent-action-executor.js +108 -56
- package/dist/src/agent-action-executor.js.map +1 -1
- package/dist/src/agentic-guardian.d.ts.map +1 -1
- package/dist/src/agentic-guardian.js +6 -5
- package/dist/src/agentic-guardian.js.map +1 -1
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +47 -10
- package/dist/src/cli.js.map +1 -1
- package/dist/src/config.d.ts +13 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +99 -3
- package/dist/src/config.js.map +1 -1
- package/dist/src/connection-config.d.ts.map +1 -1
- package/dist/src/connection-config.js +5 -0
- package/dist/src/connection-config.js.map +1 -1
- package/dist/src/content-redaction.d.ts.map +1 -1
- package/dist/src/content-redaction.js +9 -2
- package/dist/src/content-redaction.js.map +1 -1
- package/dist/src/credential-store.d.ts.map +1 -1
- package/dist/src/credential-store.js +2 -1
- package/dist/src/credential-store.js.map +1 -1
- package/dist/src/custom-agent-registry.d.ts.map +1 -1
- package/dist/src/custom-agent-registry.js +2 -1
- package/dist/src/custom-agent-registry.js.map +1 -1
- package/dist/src/discovery/adapters/generic.d.ts.map +1 -1
- package/dist/src/discovery/adapters/generic.js +160 -2
- package/dist/src/discovery/adapters/generic.js.map +1 -1
- package/dist/src/discovery/engine.d.ts +7 -1
- package/dist/src/discovery/engine.d.ts.map +1 -1
- package/dist/src/discovery/engine.js +20 -5
- package/dist/src/discovery/engine.js.map +1 -1
- package/dist/src/discovery/known-agent.d.ts +7 -0
- package/dist/src/discovery/known-agent.d.ts.map +1 -1
- package/dist/src/discovery/known-agent.js +9 -4
- package/dist/src/discovery/known-agent.js.map +1 -1
- package/dist/src/discovery/system-evidence.d.ts +40 -1
- package/dist/src/discovery/system-evidence.d.ts.map +1 -1
- package/dist/src/discovery/system-evidence.js +189 -16
- package/dist/src/discovery/system-evidence.js.map +1 -1
- package/dist/src/event-queue.d.ts.map +1 -1
- package/dist/src/event-queue.js +88 -38
- package/dist/src/event-queue.js.map +1 -1
- package/dist/src/event-spool.d.ts.map +1 -1
- package/dist/src/event-spool.js +58 -10
- package/dist/src/event-spool.js.map +1 -1
- package/dist/src/guardian-containment.d.ts +2 -6
- package/dist/src/guardian-containment.d.ts.map +1 -1
- package/dist/src/guardian-containment.js +12 -63
- package/dist/src/guardian-containment.js.map +1 -1
- package/dist/src/guardian-decision-journal.d.ts.map +1 -1
- package/dist/src/guardian-decision-journal.js +2 -1
- package/dist/src/guardian-decision-journal.js.map +1 -1
- package/dist/src/guardian-managed-exec.d.ts.map +1 -1
- package/dist/src/guardian-managed-exec.js +2 -1
- package/dist/src/guardian-managed-exec.js.map +1 -1
- package/dist/src/guardian-model-bridge.d.ts.map +1 -1
- package/dist/src/guardian-model-bridge.js +2 -1
- package/dist/src/guardian-model-bridge.js.map +1 -1
- package/dist/src/guardian-native.d.ts +0 -1
- package/dist/src/guardian-native.d.ts.map +1 -1
- package/dist/src/guardian-native.js +0 -6
- package/dist/src/guardian-native.js.map +1 -1
- package/dist/src/guardian-process-monitor.d.ts +3 -0
- package/dist/src/guardian-process-monitor.d.ts.map +1 -1
- package/dist/src/guardian-process-monitor.js +8 -0
- package/dist/src/guardian-process-monitor.js.map +1 -1
- package/dist/src/historical-identity-store.d.ts.map +1 -1
- package/dist/src/historical-identity-store.js +2 -1
- package/dist/src/historical-identity-store.js.map +1 -1
- package/dist/src/installation.d.ts.map +1 -1
- package/dist/src/installation.js +3 -2
- package/dist/src/installation.js.map +1 -1
- package/dist/src/machine-command-executor.d.ts +22 -7
- package/dist/src/machine-command-executor.d.ts.map +1 -1
- package/dist/src/machine-command-executor.js +91 -17
- package/dist/src/machine-command-executor.js.map +1 -1
- package/dist/src/pair.d.ts.map +1 -1
- package/dist/src/pair.js +3 -2
- package/dist/src/pair.js.map +1 -1
- package/dist/src/private-directory.d.ts +4 -0
- package/dist/src/private-directory.d.ts.map +1 -0
- package/dist/src/private-directory.js +35 -0
- package/dist/src/private-directory.js.map +1 -0
- package/dist/src/process-tree.d.ts +73 -0
- package/dist/src/process-tree.d.ts.map +1 -0
- package/dist/src/process-tree.js +256 -0
- package/dist/src/process-tree.js.map +1 -0
- package/dist/src/server-authority.d.ts +26 -0
- package/dist/src/server-authority.d.ts.map +1 -0
- package/dist/src/server-authority.js +102 -0
- package/dist/src/server-authority.js.map +1 -0
- package/dist/src/stream-client.d.ts +3 -1
- package/dist/src/stream-client.d.ts.map +1 -1
- package/dist/src/stream-client.js +49 -11
- package/dist/src/stream-client.js.map +1 -1
- package/dist/src/stream-state.d.ts.map +1 -1
- package/dist/src/stream-state.js +2 -1
- package/dist/src/stream-state.js.map +1 -1
- package/dist/src/system-inspection.d.ts +78 -0
- package/dist/src/system-inspection.d.ts.map +1 -0
- package/dist/src/system-inspection.js +281 -0
- package/dist/src/system-inspection.js.map +1 -0
- package/dist/src/update.d.ts.map +1 -1
- package/dist/src/update.js +9 -3
- package/dist/src/update.js.map +1 -1
- package/dist/src/user-notices.d.ts +53 -0
- package/dist/src/user-notices.d.ts.map +1 -0
- package/dist/src/user-notices.js +117 -0
- package/dist/src/user-notices.js.map +1 -0
- package/package.json +1 -1
- package/dist/src/windows-process.d.ts +0 -7
- package/dist/src/windows-process.d.ts.map +0 -1
- package/dist/src/windows-process.js +0 -18
- package/dist/src/windows-process.js.map +0 -1
package/README.md
CHANGED
|
@@ -45,15 +45,23 @@ exactly what runs on your computers and what leaves them.
|
|
|
45
45
|
| <img src="https://phigon.online/agents/claude-code.svg" width="20" alt=""> | Claude Code | Yes | Built in |
|
|
46
46
|
| <img src="https://phigon.online/agents/codex.svg" width="20" alt=""> | OpenAI Codex | Yes | Built in |
|
|
47
47
|
| <img src="https://phigon.online/agents/github-copilot.svg" width="20" alt=""> | GitHub Copilot CLI | Yes | Built in |
|
|
48
|
+
| <img src="https://phigon.online/agents/github-copilot.svg" width="20" alt=""> | GitHub Copilot in VS Code (chat and agent mode) | Yes | Built in |
|
|
48
49
|
| <img src="https://phigon.online/agents/opencode.svg" width="20" alt=""> | OpenCode | Yes | Built in |
|
|
49
50
|
| <img src="https://phigon.online/agents/openclaw.svg" width="20" alt=""> | OpenClaw | Yes | Built in |
|
|
50
51
|
| <img src="https://phigon.online/agents/hermes.svg" width="20" alt=""> | Hermes Agent | Yes | Built in |
|
|
51
|
-
| <img src="https://phigon.online/agents/cursor.svg" width="20" alt=""> | Cursor
|
|
52
|
-
| <img src="https://phigon.online/agents/gemini-cli.svg" width="20" alt=""> | Gemini CLI | Yes |
|
|
52
|
+
| <img src="https://phigon.online/agents/cursor.svg" width="20" alt=""> | Cursor (editor agent and `cursor-agent` CLI) | Yes | Built in |
|
|
53
|
+
| <img src="https://phigon.online/agents/gemini-cli.svg" width="20" alt=""> | Gemini CLI | Yes | Built in |
|
|
53
54
|
| <img src="https://phigon.online/agents/amp.svg" width="20" alt=""> | Amp | Yes | Bridge |
|
|
54
|
-
| <img src="https://phigon.online/agents/goose.svg" width="20" alt=""> | Goose | Yes |
|
|
55
|
-
| <img src="https://phigon.online/agents/cline.svg" width="20" alt=""> | Cline | Yes |
|
|
55
|
+
| <img src="https://phigon.online/agents/goose.svg" width="20" alt=""> | Goose | Yes | Built in |
|
|
56
|
+
| <img src="https://phigon.online/agents/cline.svg" width="20" alt=""> | Cline (CLI and VS Code extension) | Yes | Built in |
|
|
56
57
|
| <img src="https://phigon.online/agents/openhands.svg" width="20" alt=""> | OpenHands | Yes | Bridge |
|
|
58
|
+
| | Kiro | Yes | Built in (chat; agent actions not yet) |
|
|
59
|
+
| | Antigravity | Yes | Not yet (no documented conversation format) |
|
|
60
|
+
| | Trae | Yes | Not yet (its history database is encrypted) |
|
|
61
|
+
| | Zed (its own agent) | Yes | Built in |
|
|
62
|
+
| | Factory Droid | Yes | Built in |
|
|
63
|
+
| | Roo Code | Yes | Built in |
|
|
64
|
+
| | Kilo Code | Yes | Built in |
|
|
57
65
|
| | Aider, Amazon Q Developer CLI, Continue | Yes | Bridge |
|
|
58
66
|
| | Any other agent | [Register it](#custom-agents) | Bridge |
|
|
59
67
|
|
|
@@ -152,6 +160,20 @@ settings. A full description is in
|
|
|
152
160
|
|
|
153
161
|
Run `phigon-observer help` for every flag.
|
|
154
162
|
|
|
163
|
+
### A company's own Phigon server
|
|
164
|
+
|
|
165
|
+
The Phigon app can run a company's own server, and other computers on the
|
|
166
|
+
company network can connect to it. That server signs its HTTPS certificate
|
|
167
|
+
with an authority of its own, so the **Connect machine** command adds
|
|
168
|
+
`--server-ca-sha256 <fingerprint>`.
|
|
169
|
+
|
|
170
|
+
On first contact, pairing finds the authority in the server's certificate
|
|
171
|
+
chain whose SHA-256 matches the fingerprint. It saves that authority as
|
|
172
|
+
`server-ca.pem` in the data directory, and every later HTTPS and gRPC
|
|
173
|
+
connection trusts it. A server that presents another certificate is refused
|
|
174
|
+
before anything is sent. `remove-machine` deletes the file. This needs
|
|
175
|
+
Node.js 24.5 or newer.
|
|
176
|
+
|
|
155
177
|
## Configuration
|
|
156
178
|
|
|
157
179
|
Settings are environment variables. The most common ones:
|
|
@@ -160,13 +182,14 @@ Settings are environment variables. The most common ones:
|
|
|
160
182
|
| --- | --- |
|
|
161
183
|
| `PHIGON_DATA_DIR` | Where the credential, checkpoints and encrypted queue live. Use a separate directory per workspace. |
|
|
162
184
|
| `PHIGON_CONTROL_PLANE_URL`, `PHIGON_GRPC_URL` | Endpoints for a self-hosted workspace. Pairing saves them; the stream refuses to send credentials anywhere else. |
|
|
163
|
-
| `PHIGON_TLS_CA_FILE` | A private certificate authority for gRPC. Use `NODE_EXTRA_CA_CERTS` for HTTPS. |
|
|
185
|
+
| `PHIGON_TLS_CA_FILE` | A private certificate authority for gRPC. Use `NODE_EXTRA_CA_CERTS` for HTTPS. Pairing with `--server-ca-sha256` sets up both for you. |
|
|
164
186
|
| `PHIGON_TLS_CLIENT_CERT_FILE`, `PHIGON_TLS_CLIENT_KEY_FILE` | Client certificate, when the workspace requires mutual TLS. |
|
|
165
187
|
| `PHIGON_COLLECT_*` | Turns individual content categories off (or on, within the workspace policy). |
|
|
166
188
|
| `PHIGON_REDACT_PATH_PATTERNS` | Extra file path patterns to redact. |
|
|
167
189
|
| `PHIGON_<AGENT>_ACTIVITY_DIRS` | Extra record folders for an agent, e.g. `PHIGON_CLAUDE_ACTIVITY_DIRS`. |
|
|
168
190
|
| `PHIGON_REMOTE_ACTIONS_ENABLED` | Opt in to administrator-approved agent stop and force stop. Off by default. |
|
|
169
191
|
| `PHIGON_REMOTE_COMMANDS_ENABLED` | Opt in to administrator-reviewed system operations. Off by default. |
|
|
192
|
+
| `PHIGON_USER_NOTICES` | Set to `false` to stop telling the person at the computer when Phigon stops an agent, runs a command or restarts it. On by default. |
|
|
170
193
|
| `PHIGON_UPDATE_CHECK` | Set to `false` to turn off the once-a-day update check. |
|
|
171
194
|
| `PHIGON_LOG_LEVEL` | Logging detail. |
|
|
172
195
|
|
|
@@ -202,14 +225,34 @@ Remote actions are off on every computer by default.
|
|
|
202
225
|
- `PHIGON_REMOTE_ACTIONS_ENABLED=true` lets administrators stop or force-stop
|
|
203
226
|
one exact running agent process. Each stop needs an operator proposal and a
|
|
204
227
|
separate administrator confirmation, expires quickly, and leaves a receipt.
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
228
|
+
A stop acts on one exact process lifetime (process ID plus start time, checked
|
|
229
|
+
again just before anything is sent) and the child processes it started.
|
|
230
|
+
Graceful stop sends `SIGTERM` on Linux and macOS; on Windows it asks the
|
|
231
|
+
agent's windows to close, and for a console agent it presses Ctrl+C in its
|
|
232
|
+
terminal, but only when nothing else shares that terminal; otherwise it
|
|
233
|
+
sends nothing and reports `terminal_shared`.
|
|
234
|
+
Force stop is approved separately. Receipts say when the process had already
|
|
235
|
+
exited, access was denied, or the agent or a child is still running. It does
|
|
236
|
+
not enable shell access, file access, screen capture or general remote
|
|
237
|
+
control.
|
|
208
238
|
- `PHIGON_REMOTE_COMMANDS_ENABLED=true` additionally allows
|
|
209
239
|
administrator-reviewed commands (executable and arguments, no shell), system
|
|
210
240
|
inspection, and scheduled shutdown or restart. Commands run as the observer's
|
|
211
241
|
account, are limited to 1–120 seconds and return at most 32 KB of redacted
|
|
212
242
|
output. A durable journal prevents a command from running twice after a crash.
|
|
243
|
+
System inspection reports the operating system, memory, uptime, CPU load,
|
|
244
|
+
space on the main drive, the observer version, and each running agent's
|
|
245
|
+
name, process ID, CPU share, memory and run time, measured once over half a
|
|
246
|
+
second. It never includes file contents, environment values or command lines.
|
|
247
|
+
|
|
248
|
+
Whenever Phigon stops an agent on a computer, whether someone asked, Phigon AI
|
|
249
|
+
decided or the agent is blocked, the person at that computer sees a system
|
|
250
|
+
notification such as "Claude Code was stopped by Phigon", with the reason. The
|
|
251
|
+
same goes for commands Phigon runs and a scheduled restart or shutdown. It uses
|
|
252
|
+
the system's own notifications (a Windows toast, macOS Notification Center, or
|
|
253
|
+
`notify-send` on Linux) and shows nothing when the observer runs without a
|
|
254
|
+
desktop session, for example as a Windows service. `PHIGON_USER_NOTICES=false`
|
|
255
|
+
turns it off.
|
|
213
256
|
|
|
214
257
|
## Guardian: checks before an agent acts
|
|
215
258
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-policy.d.ts","sourceRoot":"","sources":["../../src/action-policy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"action-policy.d.ts","sourceRoot":"","sources":["../../src/action-policy.ts"],"names":[],"mappings":"AAYA,OAAO,EAGL,aAAa,EACb,KAAK,qBAAqB,EAC3B,MAAM,oCAAoC,CAAC;AAE5C,eAAO,MAAM,kBAAkB,kLAWpB,CAAC;AAIZ,MAAM,MAAM,iBAAiB,GAAG,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAClE,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG,YAAY,GAAG,YAAY,CAAC;AAEhF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAAC;IACpC,YAAY,EAAE,oBAAoB,CAAC;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,qBAAqB,EAC7B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/B,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;CAC7D;AAED,qBAAa,2BAA4B,SAAQ,KAAK;CAAG;AAEzD,qBAAa,qBAAsB,YAAW,uBAAuB;;gBAKvD,aAAa,EAAE,MAAM;IAK3B,IAAI,CACR,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,qBAAqB,EAC7B,UAAU,SAAmB,GAC5B,OAAO,CAAC,kBAAkB,CAAC;IA6B9B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAW/B,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;CAqBlE;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,qBAAqB,GAC5B,kBAAkB,CAoDpB;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,iBAAiB,CAgBnE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { makeDirectoryPrivate } from "./private-directory.js";
|
|
1
2
|
import { randomUUID } from "node:crypto";
|
|
2
3
|
import { unlinkSync } from "node:fs";
|
|
3
4
|
import { chmod, mkdir, readFile, rename, unlink, writeFile, } from "node:fs/promises";
|
|
@@ -30,7 +31,7 @@ export class FileActionPolicyStore {
|
|
|
30
31
|
const value = policyForStorage(machineId, policy);
|
|
31
32
|
this.#requireCurrentGeneration(generation);
|
|
32
33
|
await mkdir(this.#dataDirectory, { recursive: true, mode: 0o700 });
|
|
33
|
-
await
|
|
34
|
+
await makeDirectoryPrivate(this.#dataDirectory);
|
|
34
35
|
const temporaryPath = `${this.#path}.${process.pid}.${randomUUID()}.tmp`;
|
|
35
36
|
let promoted = false;
|
|
36
37
|
try {
|
|
@@ -250,7 +251,8 @@ function compileGlob(pattern) {
|
|
|
250
251
|
throw new Error("Character classes are not supported in action policy globs.");
|
|
251
252
|
}
|
|
252
253
|
else {
|
|
253
|
-
|
|
254
|
+
// "]" must be escaped too: a lone one is a syntax error in unicode mode.
|
|
255
|
+
expression += character.replace(/[\\^$+?.()|{}\]]/gu, "\\$&");
|
|
254
256
|
}
|
|
255
257
|
}
|
|
256
258
|
return new RegExp(`${expression}$`, "u");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-policy.js","sourceRoot":"","sources":["../../src/action-policy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"action-policy.js","sourceRoot":"","sources":["../../src/action-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../../src/activity/adapters/claude.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAGV,qBAAqB,EACtB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../../src/activity/adapters/claude.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAGV,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAmIrB,eAAO,MAAM,qBAAqB,EAAE,qBACP,CAAC"}
|
|
@@ -17,6 +17,19 @@ class ClaudeActivityAdapter {
|
|
|
17
17
|
};
|
|
18
18
|
const type = stringField(object, "type");
|
|
19
19
|
if (type === "system" || type === "summary") {
|
|
20
|
+
// Claude Code transcripts write many system records per session
|
|
21
|
+
// (turn timing, hook summaries, notices). Only the session start,
|
|
22
|
+
// a finished turn, and an API failure carry lifecycle meaning.
|
|
23
|
+
const subtype = stringField(object, "subtype");
|
|
24
|
+
if (subtype === "turn_duration") {
|
|
25
|
+
return [lifecycleDraft(this.agentKind, observedContext, LifecyclePhase.IDLE, "Claude turn completed.")];
|
|
26
|
+
}
|
|
27
|
+
if (subtype === "api_error") {
|
|
28
|
+
return [errorDraft(this.agentKind, observedContext, "api_error")];
|
|
29
|
+
}
|
|
30
|
+
if (type === "system" && subtype !== "" && subtype !== "init") {
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
20
33
|
return [lifecycleDraft(this.agentKind, observedContext, LifecyclePhase.DISCOVERED, "Claude session discovered.")];
|
|
21
34
|
}
|
|
22
35
|
if (type === "result") {
|
|
@@ -72,7 +85,12 @@ class ClaudeActivityAdapter {
|
|
|
72
85
|
textBlocks.push(item["text"] ?? block);
|
|
73
86
|
}
|
|
74
87
|
}
|
|
75
|
-
|
|
88
|
+
// Claude Code marks text it injects into the user turn (command
|
|
89
|
+
// caveats, reminders, compaction summaries). It was not typed by the
|
|
90
|
+
// user, so it must not appear as a user prompt.
|
|
91
|
+
const injected = type === "user" &&
|
|
92
|
+
(object["isMeta"] === true || object["isCompactSummary"] === true);
|
|
93
|
+
const text = injected ? "" : extractText(textBlocks);
|
|
76
94
|
if (text !== "") {
|
|
77
95
|
drafts.unshift(activityDraft(this.agentKind, observedContext, role === "user" ? ActivityKind.PROMPT : ActivityKind.RESPONSE, role === "user"
|
|
78
96
|
? "User prompt submitted."
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../../src/activity/adapters/claude.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../../src/activity/adapters/claude.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { VendorActivityAdapter } from "../types.js";
|
|
2
|
+
/** Set by the source on a task's first message: the user's request. */
|
|
3
|
+
export declare const clineTaskFirstMessageField = "phigon_first_message";
|
|
4
|
+
export declare const clineExtensionActivityAdapter: VendorActivityAdapter;
|
|
5
|
+
export declare const rooCodeActivityAdapter: VendorActivityAdapter;
|
|
6
|
+
export declare const kiloCodeActivityAdapter: VendorActivityAdapter;
|
|
7
|
+
//# sourceMappingURL=cline-task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cline-task.d.ts","sourceRoot":"","sources":["../../../../src/activity/adapters/cline-task.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAGV,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAErB,uEAAuE;AACvE,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AAmOjE,eAAO,MAAM,6BAA6B,EAAE,qBACS,CAAC;AACtD,eAAO,MAAM,sBAAsB,EAAE,qBACsB,CAAC;AAC5D,eAAO,MAAM,uBAAuB,EAAE,qBACuB,CAAC"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { ActivityKind, AgentKind, } from "../../generated/phigon/v1/common_pb.js";
|
|
2
|
+
import { LifecyclePhase, ToolPhase, } from "../../generated/phigon/v1/telemetry_pb.js";
|
|
3
|
+
import { activityDraft, errorDraft, lifecycleDraft, toolDrafts, } from "../normalize.js";
|
|
4
|
+
import { objectValue, recordObservedAt, stringField, } from "../record.js";
|
|
5
|
+
/** Set by the source on a task's first message: the user's request. */
|
|
6
|
+
export const clineTaskFirstMessageField = "phigon_first_message";
|
|
7
|
+
const maxTrackedSessions = 4_096;
|
|
8
|
+
// Older Cline appended this to a command that waits for approval.
|
|
9
|
+
const approvalMarker = "REQ_APP";
|
|
10
|
+
/**
|
|
11
|
+
* Canonical names for the file tools Cline and its forks report, so they
|
|
12
|
+
* become file events like other agents' read_file and edit_file.
|
|
13
|
+
*/
|
|
14
|
+
const fileToolNames = {
|
|
15
|
+
appliedDiff: "edit_file",
|
|
16
|
+
editedExistingFile: "edit_file",
|
|
17
|
+
insertContent: "edit_file",
|
|
18
|
+
searchAndReplace: "edit_file",
|
|
19
|
+
newFileCreated: "create_file",
|
|
20
|
+
fileDeleted: "delete_file",
|
|
21
|
+
readFile: "read_file",
|
|
22
|
+
listFilesTopLevel: "list_files",
|
|
23
|
+
listFilesRecursive: "list_files",
|
|
24
|
+
searchFiles: "search_files",
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Tasks of the Cline VS Code extension and its forks Roo Code and Kilo Code,
|
|
28
|
+
* read from `<global storage>/tasks/<task id>/ui_messages.json`: the list of
|
|
29
|
+
* messages the extension shows, each `{ ts, type: "say" | "ask", say?, ask?,
|
|
30
|
+
* text?, partial? }`. The first message (or a `task` say) is the user's
|
|
31
|
+
* request and `user_feedback` a later one; `text`, `completion_result` and
|
|
32
|
+
* follow-up questions are the agent's replies. A `command` is followed by
|
|
33
|
+
* `command_output` chunks, and a `tool` message carries JSON such as
|
|
34
|
+
* `{ tool: "editedExistingFile", path }`.
|
|
35
|
+
*/
|
|
36
|
+
class ClineTaskActivityAdapter {
|
|
37
|
+
id;
|
|
38
|
+
displayName;
|
|
39
|
+
agentKind = AgentKind.GENERIC;
|
|
40
|
+
// The last command per session, which later output belongs to.
|
|
41
|
+
#commands = new Map();
|
|
42
|
+
constructor(id, displayName) {
|
|
43
|
+
this.id = id;
|
|
44
|
+
this.displayName = displayName;
|
|
45
|
+
}
|
|
46
|
+
parse(record, context) {
|
|
47
|
+
try {
|
|
48
|
+
const message = objectValue(record);
|
|
49
|
+
if (message === null)
|
|
50
|
+
return [];
|
|
51
|
+
const observedContext = {
|
|
52
|
+
...context,
|
|
53
|
+
observedAt: recordObservedAt(record, context.observedAt),
|
|
54
|
+
};
|
|
55
|
+
const type = stringField(message, "type");
|
|
56
|
+
const kind = type === "say"
|
|
57
|
+
? stringField(message, "say")
|
|
58
|
+
: type === "ask"
|
|
59
|
+
? stringField(message, "ask")
|
|
60
|
+
: "";
|
|
61
|
+
const text = stringField(message, "text");
|
|
62
|
+
const first = message[clineTaskFirstMessageField] === true;
|
|
63
|
+
if ((first && kind === "text") || kind === "task" || kind === "user_feedback") {
|
|
64
|
+
return this.#activity(observedContext, ActivityKind.PROMPT, text);
|
|
65
|
+
}
|
|
66
|
+
switch (kind) {
|
|
67
|
+
case "text":
|
|
68
|
+
case "completion_result":
|
|
69
|
+
// The closing ask repeats nothing; the result itself is a say.
|
|
70
|
+
return type === "say"
|
|
71
|
+
? this.#activity(observedContext, ActivityKind.RESPONSE, text)
|
|
72
|
+
: [lifecycleDraft(this.agentKind, observedContext, LifecyclePhase.IDLE, `${this.displayName} task completed.`)];
|
|
73
|
+
case "followup":
|
|
74
|
+
case "plan_mode_respond":
|
|
75
|
+
case "act_mode_respond":
|
|
76
|
+
return this.#activity(observedContext, ActivityKind.RESPONSE, jsonField(text, kind === "followup" ? "question" : "response") ?? text);
|
|
77
|
+
case "reasoning":
|
|
78
|
+
return this.#activity(observedContext, ActivityKind.REASONING, text);
|
|
79
|
+
case "command":
|
|
80
|
+
return this.#command(observedContext, message, text);
|
|
81
|
+
case "command_output":
|
|
82
|
+
return this.#commandOutput(observedContext, text);
|
|
83
|
+
case "tool":
|
|
84
|
+
return this.#tool(observedContext, message, text);
|
|
85
|
+
case "use_mcp_server":
|
|
86
|
+
return this.#mcp(observedContext, message, text);
|
|
87
|
+
case "error":
|
|
88
|
+
case "api_req_failed":
|
|
89
|
+
case "mistake_limit_reached":
|
|
90
|
+
case "diff_error":
|
|
91
|
+
return [errorDraft(this.agentKind, observedContext, kind)];
|
|
92
|
+
default:
|
|
93
|
+
return [];
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return [errorDraft(this.agentKind, context, "malformed_record")];
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
#activity(context, kind, text) {
|
|
101
|
+
if (text.trim() === "")
|
|
102
|
+
return [];
|
|
103
|
+
const prompt = kind === ActivityKind.PROMPT;
|
|
104
|
+
const reasoning = kind === ActivityKind.REASONING;
|
|
105
|
+
return [activityDraft(this.agentKind, context, kind, prompt
|
|
106
|
+
? "User prompt submitted."
|
|
107
|
+
: reasoning
|
|
108
|
+
? "Agent reasoning updated."
|
|
109
|
+
: "Agent response produced.", text, prompt ? "promptContent" : reasoning ? "reasoningContent" : "responseContent", prompt ? "cline_user" : reasoning ? "thinking" : "cline_assistant")];
|
|
110
|
+
}
|
|
111
|
+
#command(context, message, text) {
|
|
112
|
+
const command = text.endsWith(approvalMarker)
|
|
113
|
+
? text.slice(0, -approvalMarker.length).trimEnd()
|
|
114
|
+
: text.trim();
|
|
115
|
+
if (command === "")
|
|
116
|
+
return [];
|
|
117
|
+
const id = invocationId(message, "command");
|
|
118
|
+
this.#remember(context.sessionId, id);
|
|
119
|
+
return toolDrafts(this.agentKind, context, {
|
|
120
|
+
invocationId: id,
|
|
121
|
+
toolName: "execute_command",
|
|
122
|
+
phase: ToolPhase.REQUESTED,
|
|
123
|
+
arguments: { command },
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
#commandOutput(context, text) {
|
|
127
|
+
const id = this.#commands.get(context.sessionId);
|
|
128
|
+
if (id === undefined || text === "")
|
|
129
|
+
return [];
|
|
130
|
+
// Output arrives in chunks without an outcome; each chunk is terminal
|
|
131
|
+
// output of the command before it.
|
|
132
|
+
return toolDrafts(this.agentKind, context, {
|
|
133
|
+
invocationId: id,
|
|
134
|
+
toolName: "execute_command",
|
|
135
|
+
phase: ToolPhase.UNSPECIFIED,
|
|
136
|
+
output: text,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
#tool(context, message, text) {
|
|
140
|
+
const tool = parseObject(text);
|
|
141
|
+
if (tool === null)
|
|
142
|
+
return [];
|
|
143
|
+
const name = stringField(tool, "tool");
|
|
144
|
+
return toolDrafts(this.agentKind, context, {
|
|
145
|
+
invocationId: invocationId(message, "tool"),
|
|
146
|
+
toolName: fileToolNames[name] ?? (name || "tool"),
|
|
147
|
+
phase: ToolPhase.REQUESTED,
|
|
148
|
+
arguments: tool,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
#mcp(context, message, text) {
|
|
152
|
+
const request = parseObject(text);
|
|
153
|
+
if (request === null)
|
|
154
|
+
return [];
|
|
155
|
+
const server = stringField(request, "serverName");
|
|
156
|
+
const tool = stringField(request, "toolName") || stringField(request, "uri");
|
|
157
|
+
return toolDrafts(this.agentKind, context, {
|
|
158
|
+
invocationId: invocationId(message, "mcp"),
|
|
159
|
+
toolName: [server, tool].filter(Boolean).join("__") || "mcp",
|
|
160
|
+
phase: ToolPhase.REQUESTED,
|
|
161
|
+
arguments: request["arguments"] ?? request,
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
#remember(sessionId, id) {
|
|
165
|
+
this.#commands.delete(sessionId);
|
|
166
|
+
this.#commands.set(sessionId, id);
|
|
167
|
+
if (this.#commands.size > maxTrackedSessions) {
|
|
168
|
+
const oldest = this.#commands.keys().next().value;
|
|
169
|
+
if (oldest !== undefined)
|
|
170
|
+
this.#commands.delete(oldest);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
/** A stable invocation id from the message's own timestamp. */
|
|
175
|
+
function invocationId(message, prefix) {
|
|
176
|
+
const ts = message["ts"];
|
|
177
|
+
return typeof ts === "number" && Number.isSafeInteger(ts) ? `${prefix}_${ts}` : "";
|
|
178
|
+
}
|
|
179
|
+
function parseObject(text) {
|
|
180
|
+
if (!text.trimStart().startsWith("{"))
|
|
181
|
+
return null;
|
|
182
|
+
try {
|
|
183
|
+
return objectValue(JSON.parse(text));
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
return null;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
/** A string field of a JSON text, as Cline writes questions and plans. */
|
|
190
|
+
function jsonField(text, field) {
|
|
191
|
+
const value = parseObject(text)?.[field];
|
|
192
|
+
return typeof value === "string" ? value : undefined;
|
|
193
|
+
}
|
|
194
|
+
export const clineExtensionActivityAdapter = new ClineTaskActivityAdapter("cline-task", "Cline");
|
|
195
|
+
export const rooCodeActivityAdapter = new ClineTaskActivityAdapter("roo-code-task", "Roo Code");
|
|
196
|
+
export const kiloCodeActivityAdapter = new ClineTaskActivityAdapter("kilo-code-task", "Kilo Code");
|
|
197
|
+
//# sourceMappingURL=cline-task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cline-task.js","sourceRoot":"","sources":["../../../../src/activity/adapters/cline-task.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cline.d.ts","sourceRoot":"","sources":["../../../../src/activity/adapters/cline.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAGV,qBAAqB,EACtB,MAAM,aAAa,CAAC;AA4GrB,eAAO,MAAM,oBAAoB,EAAE,qBACP,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { ActivityKind, AgentKind, } from "../../generated/phigon/v1/common_pb.js";
|
|
2
|
+
import { ToolPhase } from "../../generated/phigon/v1/telemetry_pb.js";
|
|
3
|
+
import { activityDraft, errorDraft, toolDrafts, } from "../normalize.js";
|
|
4
|
+
import { objectValue, stringField, } from "../record.js";
|
|
5
|
+
/**
|
|
6
|
+
* Cline CLI session messages
|
|
7
|
+
* (~/.cline/data/sessions/<session>/<session>.messages.json). The document
|
|
8
|
+
* is rewritten in place with `{ version, sessionId, messages: [...] }`; the
|
|
9
|
+
* JSON document source delivers each message once. A message is
|
|
10
|
+
* `{ id, role, content, ts }` where content is a string or Anthropic-style
|
|
11
|
+
* blocks: text, thinking, tool_use `{id, name, input}`, and tool_result
|
|
12
|
+
* `{tool_use_id, name, content, is_error?}` on user-role messages.
|
|
13
|
+
*/
|
|
14
|
+
class ClineActivityAdapter {
|
|
15
|
+
id = "cline-cli";
|
|
16
|
+
agentKind = AgentKind.GENERIC;
|
|
17
|
+
parse(record, context) {
|
|
18
|
+
try {
|
|
19
|
+
const message = objectValue(record);
|
|
20
|
+
if (message === null)
|
|
21
|
+
return [];
|
|
22
|
+
const role = stringField(message, "role");
|
|
23
|
+
if (role !== "user" && role !== "assistant")
|
|
24
|
+
return [];
|
|
25
|
+
const observedContext = {
|
|
26
|
+
...context,
|
|
27
|
+
observedAt: clineObservedAt(message["ts"], context.observedAt),
|
|
28
|
+
};
|
|
29
|
+
const content = message["content"];
|
|
30
|
+
const blocks = Array.isArray(content) ? content : [content];
|
|
31
|
+
const drafts = [];
|
|
32
|
+
const texts = [];
|
|
33
|
+
for (const block of blocks.slice(0, 256)) {
|
|
34
|
+
if (typeof block === "string") {
|
|
35
|
+
texts.push(block);
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
const item = objectValue(block);
|
|
39
|
+
if (item === null)
|
|
40
|
+
continue;
|
|
41
|
+
const type = stringField(item, "type");
|
|
42
|
+
if (type === "text") {
|
|
43
|
+
texts.push(stringField(item, "text"));
|
|
44
|
+
}
|
|
45
|
+
else if (type === "thinking" && role === "assistant") {
|
|
46
|
+
const thinking = stringField(item, "thinking");
|
|
47
|
+
if (thinking.trim() === "")
|
|
48
|
+
continue;
|
|
49
|
+
drafts.push(activityDraft(this.agentKind, observedContext, ActivityKind.REASONING, "Agent reasoning updated.", thinking, "reasoningContent", "thinking"));
|
|
50
|
+
}
|
|
51
|
+
else if (type === "tool_use" && role === "assistant") {
|
|
52
|
+
drafts.push(...toolDrafts(this.agentKind, observedContext, {
|
|
53
|
+
invocationId: stringField(item, "id"),
|
|
54
|
+
toolName: stringField(item, "name") || "tool",
|
|
55
|
+
phase: ToolPhase.REQUESTED,
|
|
56
|
+
arguments: item["input"],
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
else if (type === "tool_result") {
|
|
60
|
+
drafts.push(...toolDrafts(this.agentKind, observedContext, {
|
|
61
|
+
invocationId: stringField(item, "tool_use_id"),
|
|
62
|
+
toolName: stringField(item, "name") || "tool",
|
|
63
|
+
phase: clineToolFailed(item)
|
|
64
|
+
? ToolPhase.FAILED
|
|
65
|
+
: ToolPhase.SUCCEEDED,
|
|
66
|
+
output: item["content"],
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
const text = texts.filter((value) => value.trim() !== "").join("\n");
|
|
71
|
+
if (text !== "") {
|
|
72
|
+
drafts.unshift(activityDraft(this.agentKind, observedContext, role === "user" ? ActivityKind.PROMPT : ActivityKind.RESPONSE, role === "user"
|
|
73
|
+
? "User prompt submitted."
|
|
74
|
+
: "Agent response produced.", text, role === "user" ? "promptContent" : "responseContent", `cline_${role}`));
|
|
75
|
+
}
|
|
76
|
+
return drafts;
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return [errorDraft(this.agentKind, context, "malformed_record")];
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Built-in Cline tools return `[{ query, result, success, error? }]`; a
|
|
85
|
+
* provider-level failure sets `is_error`.
|
|
86
|
+
*/
|
|
87
|
+
function clineToolFailed(block) {
|
|
88
|
+
if (block["is_error"] === true)
|
|
89
|
+
return true;
|
|
90
|
+
const content = block["content"];
|
|
91
|
+
return Array.isArray(content) &&
|
|
92
|
+
content.length > 0 &&
|
|
93
|
+
content.every((entry) => objectValue(entry)?.["success"] === false);
|
|
94
|
+
}
|
|
95
|
+
function clineObservedAt(value, fallback) {
|
|
96
|
+
if (typeof value !== "number" || !Number.isFinite(value))
|
|
97
|
+
return fallback;
|
|
98
|
+
const parsed = new Date(value);
|
|
99
|
+
return Number.isNaN(parsed.getTime()) ? fallback : parsed;
|
|
100
|
+
}
|
|
101
|
+
export const clineActivityAdapter = new ClineActivityAdapter();
|
|
102
|
+
//# sourceMappingURL=cline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cline.js","sourceRoot":"","sources":["../../../../src/activity/adapters/cline.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../../src/activity/adapters/codex.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAGV,qBAAqB,EACtB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../../src/activity/adapters/codex.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAGV,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAubrB,eAAO,MAAM,oBAAoB,EAAE,qBACP,CAAC"}
|