@phigon/observer 8.1.0 → 8.3.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 +244 -18
- 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/abortable-delay.d.ts +10 -0
- package/dist/src/abortable-delay.d.ts.map +1 -0
- package/dist/src/abortable-delay.js +21 -0
- package/dist/src/abortable-delay.js.map +1 -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 +28 -2
- 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/openai-compatible.d.ts.map +1 -1
- package/dist/src/activity/adapters/openai-compatible.js +9 -1
- package/dist/src/activity/adapters/openai-compatible.js.map +1 -1
- 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 +43 -1
- package/dist/src/activity/collector.d.ts.map +1 -1
- package/dist/src/activity/collector.js +490 -77
- 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 +9 -0
- package/dist/src/activity/ingest.d.ts.map +1 -1
- package/dist/src/activity/ingest.js +94 -4
- package/dist/src/activity/ingest.js.map +1 -1
- package/dist/src/activity/json-document-source.d.ts +151 -0
- package/dist/src/activity/json-document-source.d.ts.map +1 -0
- package/dist/src/activity/json-document-source.js +586 -0
- package/dist/src/activity/json-document-source.js.map +1 -0
- package/dist/src/activity/native-capabilities.d.ts.map +1 -1
- package/dist/src/activity/native-capabilities.js +8 -12
- package/dist/src/activity/native-capabilities.js.map +1 -1
- 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 +154 -63
- package/dist/src/activity/opencode-sqlite-source.js.map +1 -1
- package/dist/src/activity/source-reader.d.ts +60 -4
- package/dist/src/activity/source-reader.d.ts.map +1 -1
- package/dist/src/activity/source-reader.js +593 -75
- 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 +18 -1
- package/dist/src/agent-action-executor.d.ts.map +1 -1
- package/dist/src/agent-action-executor.js +113 -58
- 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/atomic-replace.d.ts +7 -0
- package/dist/src/atomic-replace.d.ts.map +1 -1
- package/dist/src/atomic-replace.js +28 -3
- package/dist/src/atomic-replace.js.map +1 -1
- package/dist/src/bridge-journal.d.ts +32 -0
- package/dist/src/bridge-journal.d.ts.map +1 -0
- package/dist/src/bridge-journal.js +113 -0
- package/dist/src/bridge-journal.js.map +1 -0
- package/dist/src/cli.d.ts +7 -1
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +534 -50
- package/dist/src/cli.js.map +1 -1
- package/dist/src/collection-notice.d.ts +34 -0
- package/dist/src/collection-notice.d.ts.map +1 -0
- package/dist/src/collection-notice.js +73 -0
- package/dist/src/collection-notice.js.map +1 -0
- package/dist/src/config.d.ts +39 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +187 -36
- 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 +17 -1
- package/dist/src/content-redaction.d.ts.map +1 -1
- package/dist/src/content-redaction.js +51 -3
- package/dist/src/content-redaction.js.map +1 -1
- package/dist/src/credential-store.d.ts +20 -1
- package/dist/src/credential-store.d.ts.map +1 -1
- package/dist/src/credential-store.js +29 -4
- 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 +21 -16
- 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/doctor-check.d.ts +51 -0
- package/dist/src/doctor-check.d.ts.map +1 -0
- package/dist/src/doctor-check.js +174 -0
- package/dist/src/doctor-check.js.map +1 -0
- package/dist/src/enroll.d.ts +86 -0
- package/dist/src/enroll.d.ts.map +1 -0
- package/dist/src/enroll.js +245 -0
- package/dist/src/enroll.js.map +1 -0
- package/dist/src/entry.d.ts +3 -0
- package/dist/src/entry.d.ts.map +1 -0
- package/dist/src/entry.js +14 -0
- package/dist/src/entry.js.map +1 -0
- package/dist/src/event-queue.d.ts +13 -1
- package/dist/src/event-queue.d.ts.map +1 -1
- package/dist/src/event-queue.js +137 -42
- package/dist/src/event-queue.js.map +1 -1
- package/dist/src/event-spool.d.ts +61 -3
- package/dist/src/event-spool.d.ts.map +1 -1
- package/dist/src/event-spool.js +341 -44
- package/dist/src/event-spool.js.map +1 -1
- package/dist/src/generated/phigon/v1/identity_pb.d.ts +7 -0
- package/dist/src/generated/phigon/v1/identity_pb.d.ts.map +1 -1
- package/dist/src/generated/phigon/v1/identity_pb.js +1 -1
- package/dist/src/generated/phigon/v1/identity_pb.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 +4 -19
- 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 +6 -18
- 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 +4 -0
- package/dist/src/guardian-process-monitor.d.ts.map +1 -1
- package/dist/src/guardian-process-monitor.js +82 -26
- package/dist/src/guardian-process-monitor.js.map +1 -1
- package/dist/src/health.d.ts +19 -1
- package/dist/src/health.d.ts.map +1 -1
- package/dist/src/health.js +22 -1
- package/dist/src/health.js.map +1 -1
- package/dist/src/historical-identity-store.d.ts +8 -1
- package/dist/src/historical-identity-store.d.ts.map +1 -1
- package/dist/src/historical-identity-store.js +28 -10
- package/dist/src/historical-identity-store.js.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/installation.d.ts +2 -0
- package/dist/src/installation.d.ts.map +1 -1
- package/dist/src/installation.js +6 -3
- package/dist/src/installation.js.map +1 -1
- package/dist/src/instance-lock.d.ts +45 -0
- package/dist/src/instance-lock.d.ts.map +1 -0
- package/dist/src/instance-lock.js +243 -0
- package/dist/src/instance-lock.js.map +1 -0
- 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 +80 -19
- package/dist/src/machine-command-executor.js.map +1 -1
- package/dist/src/node-version.d.ts +8 -0
- package/dist/src/node-version.d.ts.map +1 -0
- package/dist/src/node-version.js +17 -0
- package/dist/src/node-version.js.map +1 -0
- package/dist/src/observer-log.d.ts +50 -0
- package/dist/src/observer-log.d.ts.map +1 -0
- package/dist/src/observer-log.js +141 -0
- package/dist/src/observer-log.js.map +1 -0
- package/dist/src/pair.d.ts +68 -1
- package/dist/src/pair.d.ts.map +1 -1
- package/dist/src/pair.js +204 -65
- package/dist/src/pair.js.map +1 -1
- package/dist/src/private-directory.d.ts +10 -0
- package/dist/src/private-directory.d.ts.map +1 -0
- package/dist/src/private-directory.js +66 -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/proxy.d.ts +68 -0
- package/dist/src/proxy.d.ts.map +1 -0
- package/dist/src/proxy.js +209 -0
- package/dist/src/proxy.js.map +1 -0
- package/dist/src/purge.d.ts +17 -0
- package/dist/src/purge.d.ts.map +1 -0
- package/dist/src/purge.js +84 -0
- package/dist/src/purge.js.map +1 -0
- package/dist/src/remove-machine.d.ts +5 -1
- package/dist/src/remove-machine.d.ts.map +1 -1
- package/dist/src/remove-machine.js +28 -14
- package/dist/src/remove-machine.js.map +1 -1
- package/dist/src/server-authority.d.ts +29 -0
- package/dist/src/server-authority.d.ts.map +1 -0
- package/dist/src/server-authority.js +106 -0
- package/dist/src/server-authority.js.map +1 -0
- package/dist/src/server-clock.d.ts +32 -0
- package/dist/src/server-clock.d.ts.map +1 -0
- package/dist/src/server-clock.js +72 -0
- package/dist/src/server-clock.js.map +1 -0
- package/dist/src/service-command.d.ts +20 -0
- package/dist/src/service-command.d.ts.map +1 -0
- package/dist/src/service-command.js +136 -0
- package/dist/src/service-command.js.map +1 -0
- package/dist/src/service.d.ts +98 -0
- package/dist/src/service.d.ts.map +1 -0
- package/dist/src/service.js +472 -0
- package/dist/src/service.js.map +1 -0
- package/dist/src/stream-client.d.ts +21 -1
- package/dist/src/stream-client.d.ts.map +1 -1
- package/dist/src/stream-client.js +137 -24
- package/dist/src/stream-client.js.map +1 -1
- package/dist/src/stream-state.d.ts +2 -0
- package/dist/src/stream-state.d.ts.map +1 -1
- package/dist/src/stream-state.js +5 -2
- 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 +64 -0
- package/dist/src/user-notices.d.ts.map +1 -0
- package/dist/src/user-notices.js +141 -0
- package/dist/src/user-notices.js.map +1 -0
- package/package.json +7 -7
- 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,20 +45,30 @@ 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
|
|
|
60
68
|
*Built in* means the observer reads the agent's own records. *Bridge* means the
|
|
61
|
-
agent (or a small wrapper) pipes NDJSON to `phigon-observer ingest`.
|
|
69
|
+
agent (or a small wrapper) pipes NDJSON to `phigon-observer ingest`. The
|
|
70
|
+
observer deletes each bridge file once the workspace has received it, and any
|
|
71
|
+
bridge file after seven days.
|
|
62
72
|
|
|
63
73
|
## How it works
|
|
64
74
|
|
|
@@ -82,7 +92,7 @@ telemetry. The wire protocol is in [`proto/`](proto).
|
|
|
82
92
|
|
|
83
93
|
## Quick start
|
|
84
94
|
|
|
85
|
-
You need **Node.js 24 or newer** and a Phigon workspace. Installed releases
|
|
95
|
+
You need **Node.js 24.5 or newer** and a Phigon workspace. Installed releases
|
|
86
96
|
include the Guardian runner for Windows, macOS and Linux on x64 and Arm64; Go is
|
|
87
97
|
only needed to build from source.
|
|
88
98
|
|
|
@@ -109,13 +119,112 @@ phigon-observer pair --code YOUR-CODE --consent-profile full
|
|
|
109
119
|
phigon-observer run --profile full
|
|
110
120
|
```
|
|
111
121
|
|
|
112
|
-
|
|
113
|
-
|
|
122
|
+
To keep collecting after the terminal closes and after every restart, install
|
|
123
|
+
the observer as a background service for the signed-in user:
|
|
114
124
|
|
|
115
125
|
```sh
|
|
116
|
-
phigon-observer
|
|
126
|
+
phigon-observer service install --profile metadata # or --profile full
|
|
117
127
|
```
|
|
118
128
|
|
|
129
|
+
Closing the Phigon app does not stop it. Check the installation and connection
|
|
130
|
+
at any time:
|
|
131
|
+
|
|
132
|
+
```sh
|
|
133
|
+
phigon-observer service status
|
|
134
|
+
phigon-observer doctor --check
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Background service
|
|
138
|
+
|
|
139
|
+
`service install` runs `phigon-observer run` in the background as the
|
|
140
|
+
signed-in user, not as SYSTEM or root, because it reads that user's agent
|
|
141
|
+
records. It starts when the user signs in and again if it stops:
|
|
142
|
+
|
|
143
|
+
| System | What is installed | Restart |
|
|
144
|
+
| --- | --- | --- |
|
|
145
|
+
| Windows | A Task Scheduler task, "Phigon Observer", that runs at sign-in without a window | Started again within a minute |
|
|
146
|
+
| macOS | A LaunchAgent, `~/Library/LaunchAgents/com.phigon.observer.plist` | launchd keeps it running (`KeepAlive`) |
|
|
147
|
+
| Linux | A systemd user unit, `~/.config/systemd/user/phigon-observer.service` | `Restart=on-failure` |
|
|
148
|
+
|
|
149
|
+
- The service runs the same Node.js and observer that ran `service install`,
|
|
150
|
+
with the same data directory. The settings it needs (`PHIGON_*`, `PATH`,
|
|
151
|
+
the proxy variables, `NODE_EXTRA_CA_CERTS` and the agents' folder settings)
|
|
152
|
+
are saved to `service-settings.json` in the data directory, which only this
|
|
153
|
+
user can read. Settings whose names suggest a secret (token, password and
|
|
154
|
+
similar) are never saved, and the service definition holds no settings at
|
|
155
|
+
all, only the paths of Node.js, the observer and that file. A proxy address
|
|
156
|
+
that includes a user name and password is saved there as it is, so prefer a
|
|
157
|
+
proxy that does not need one in the address.
|
|
158
|
+
- `service install` refuses until the computer is paired and its owner (or,
|
|
159
|
+
with an enrollment code, its company) has consented, and `--profile full`
|
|
160
|
+
needs full-activity consent. Running it
|
|
161
|
+
again replaces the earlier definition, so run it again after moving
|
|
162
|
+
Node.js or changing settings.
|
|
163
|
+
- `service status` says whether the service is installed and whether an
|
|
164
|
+
observer is running with its data directory. `service uninstall` stops it
|
|
165
|
+
and removes it.
|
|
166
|
+
- A data directory other than the default gets its own service, named with a
|
|
167
|
+
short code made from its path.
|
|
168
|
+
- On Linux the service runs while the user is signed in (a desktop or SSH
|
|
169
|
+
session). To keep it running after sign-out, an administrator can run
|
|
170
|
+
`loginctl enable-linger <user>`.
|
|
171
|
+
- What the service prints goes to `logs/observer.log` in the data directory.
|
|
172
|
+
|
|
173
|
+
### Rolling out to many computers with an enrollment code
|
|
174
|
+
|
|
175
|
+
A company that installs the observer with device management (Intune, Jamf or
|
|
176
|
+
a Linux configuration tool) uses a reusable **enrollment code** (`phe_…`)
|
|
177
|
+
from its administrator instead of one pairing code per computer. With an
|
|
178
|
+
enrollment code **the company gives consent for its computers, and nobody at
|
|
179
|
+
the computer is asked**. The administrator chose the profile, metadata or
|
|
180
|
+
full activity, when creating the code; the server answers with it, and the
|
|
181
|
+
observer stores it with the key and keeps collection within it exactly as it
|
|
182
|
+
does for a profile an owner chose.
|
|
183
|
+
|
|
184
|
+
Enroll as the signed-in user, with the code in the environment so it does
|
|
185
|
+
not show in process lists, then install the background service:
|
|
186
|
+
|
|
187
|
+
```sh
|
|
188
|
+
PHIGON_ENROLLMENT_CODE="$(cat /path/to/code)" phigon-observer pair \
|
|
189
|
+
--control-plane-url https://phigon.corp.example:8443 \
|
|
190
|
+
--grpc-url https://phigon.corp.example:9443 --json
|
|
191
|
+
phigon-observer service install
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
- `--enrollment-code <code>` works too, but anyone on the computer can see a
|
|
195
|
+
command line. `--server-ca-sha256 <fingerprint>` and `--name <name>` work
|
|
196
|
+
as with pairing; `--consent-profile` and `--accept-consent` are refused.
|
|
197
|
+
- The code is never printed, logged or saved, and `service install` never
|
|
198
|
+
copies `PHIGON_ENROLLMENT_CODE` into its settings.
|
|
199
|
+
- A computer already paired with the same server keeps its machine and key,
|
|
200
|
+
and its consent becomes the company's.
|
|
201
|
+
- A busy server (HTTP 429 or 503) is asked again up to three times, after
|
|
202
|
+
the wait it asks for, within five minutes in all.
|
|
203
|
+
- `doctor` shows who consented, the owner or the company and the code's
|
|
204
|
+
label, as a `Consent:` line and as `consent` in `--json` (`doctor --check`
|
|
205
|
+
too).
|
|
206
|
+
- When it starts collecting, the observer tells the person at the computer
|
|
207
|
+
once with a system notification: "Phigon is recording AI agent activity",
|
|
208
|
+
what the profile records, the code's label and "Ask your IT team for
|
|
209
|
+
details". It tells them again when the profile changes. A computer whose
|
|
210
|
+
owner paired it gets no such notice, because the owner accepted the
|
|
211
|
+
profile at the keyboard. `PHIGON_USER_NOTICES=false` turns it off, and it
|
|
212
|
+
cannot show without the user's desktop session; it is remembered only once
|
|
213
|
+
shown, so it is tried again at the next start.
|
|
214
|
+
|
|
215
|
+
A failed enrollment prints the server's sentence and exits with a code a
|
|
216
|
+
script can act on (with `--json`, also an `{"enrolled": false, "error": …}`
|
|
217
|
+
object):
|
|
218
|
+
|
|
219
|
+
| Exit code | Meaning |
|
|
220
|
+
| --- | --- |
|
|
221
|
+
| `20` | The server was busy, unavailable or unreachable. Try again later. |
|
|
222
|
+
| `21` | The code expired, was revoked, is used up or was made under an earlier policy. Ask for a new code. |
|
|
223
|
+
| `22` | Not an enrollment code, or cut short. |
|
|
224
|
+
| `23` | This computer enrolled with this code before and was removed since. Ask for a new code. |
|
|
225
|
+
| `24` | This computer is already connected to the workspace. Check it with `doctor`. |
|
|
226
|
+
| `1` | Anything else, such as a bad setting. |
|
|
227
|
+
|
|
119
228
|
## What is collected
|
|
120
229
|
|
|
121
230
|
What the observer sends is always the overlap of your workspace's policy and
|
|
@@ -140,18 +249,55 @@ settings. A full description is in
|
|
|
140
249
|
| Command | What it does |
|
|
141
250
|
| --- | --- |
|
|
142
251
|
| `pair --code <code> --consent-profile <metadata\|full>` | Connects this computer to a workspace after local consent. |
|
|
252
|
+
| `pair` with `PHIGON_ENROLLMENT_CODE` (or `--enrollment-code <code>`) | Enrolls this computer with a company's enrollment code, under the company's consent, without asking; see [above](#rolling-out-to-many-computers-with-an-enrollment-code). |
|
|
143
253
|
| `run [--profile <metadata\|full>]` | Discovers agents and streams permitted activity. |
|
|
254
|
+
| `service install [--profile <metadata\|full>]`, `service uninstall`, `service status` | Runs the observer in the background for the signed-in user, from sign-in on. |
|
|
144
255
|
| `doctor [--profile <...>] [--json]` | Checks the setup without sending any data. |
|
|
256
|
+
| `doctor --check [--max-delivery-age <minutes>] [--json]` | Checks that collection is working, with an exit code for scripts. |
|
|
145
257
|
| `discover [--json]` | Prints a one-time, sanitized inventory of local agents. |
|
|
146
258
|
| `agent add \| list \| remove` | Manages custom agent definitions. |
|
|
147
259
|
| `ingest --agent <id\|custom> [--name <name>]` | Reads NDJSON activity from stdin (bridges). |
|
|
148
260
|
| `guardian status \| exec \| launch` | Guardian checks and managed execution. |
|
|
149
261
|
| `authorize-action --action <a> --resource <r>` | Asks Guardian whether one action may run. |
|
|
150
262
|
| `update [--check] [--yes]` | Checks for or installs a new release. |
|
|
151
|
-
| `remove-machine` |
|
|
263
|
+
| `remove-machine [--purge]` | Stops collection and revokes this computer's key. Activity already collected stays with the company until an administrator deletes the computer or it expires. `--purge` also removes the background service and the observer's local files; see [Uninstall](#uninstall). |
|
|
152
264
|
|
|
153
265
|
Run `phigon-observer help` for every flag.
|
|
154
266
|
|
|
267
|
+
### Checking a computer from scripts
|
|
268
|
+
|
|
269
|
+
`doctor --check` is meant for device management scripts. It sends no
|
|
270
|
+
activity: it reads the local state and asks the control plane's `/healthz`
|
|
271
|
+
(through the configured proxy and pinned authority, with a five-second
|
|
272
|
+
limit). It exits with the code of the first problem it finds:
|
|
273
|
+
|
|
274
|
+
| Exit code | Meaning |
|
|
275
|
+
| --- | --- |
|
|
276
|
+
| `0` | Everything checked out. |
|
|
277
|
+
| `1` | The check itself could not run, for example because of a bad setting. |
|
|
278
|
+
| `3` | This computer is not paired, or its pairing data cannot be read. |
|
|
279
|
+
| `4` | The owner's consent is missing or out of date. Pair again. |
|
|
280
|
+
| `5` | No observer is running with this data directory. |
|
|
281
|
+
| `6` | The workspace has not confirmed delivery for longer than `--max-delivery-age` minutes (default 15). A connected observer confirms at least once a minute, even when no agent is active. |
|
|
282
|
+
| `7` | The control plane did not answer. |
|
|
283
|
+
|
|
284
|
+
`--json` prints every check with its result. Plain `doctor` keeps exiting
|
|
285
|
+
`0`.
|
|
286
|
+
|
|
287
|
+
### A company's own Phigon server
|
|
288
|
+
|
|
289
|
+
The Phigon app can run a company's own server, and other computers on the
|
|
290
|
+
company network can connect to it. That server signs its HTTPS certificate
|
|
291
|
+
with an authority of its own, so the **Connect machine** command adds
|
|
292
|
+
`--server-ca-sha256 <fingerprint>`.
|
|
293
|
+
|
|
294
|
+
On first contact, pairing finds the authority in the server's certificate
|
|
295
|
+
chain whose SHA-256 matches the fingerprint. It saves that authority as
|
|
296
|
+
`server-ca.pem` in the data directory, and every later HTTPS and gRPC
|
|
297
|
+
connection trusts it. A server that presents another certificate is refused
|
|
298
|
+
before anything is sent. `remove-machine` deletes the file. This needs
|
|
299
|
+
Node.js 24.5 or newer.
|
|
300
|
+
|
|
155
301
|
## Configuration
|
|
156
302
|
|
|
157
303
|
Settings are environment variables. The most common ones:
|
|
@@ -160,20 +306,51 @@ Settings are environment variables. The most common ones:
|
|
|
160
306
|
| --- | --- |
|
|
161
307
|
| `PHIGON_DATA_DIR` | Where the credential, checkpoints and encrypted queue live. Use a separate directory per workspace. |
|
|
162
308
|
| `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. |
|
|
309
|
+
| `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
310
|
| `PHIGON_TLS_CLIENT_CERT_FILE`, `PHIGON_TLS_CLIENT_KEY_FILE` | Client certificate, when the workspace requires mutual TLS. |
|
|
165
|
-
| `PHIGON_COLLECT_*` | Turns individual content categories off
|
|
311
|
+
| `PHIGON_COLLECT_*` | Turns individual content categories off. Content can be turned on only under `--profile full` on a computer whose owner consented to full activity; otherwise `run` refuses to start. |
|
|
166
312
|
| `PHIGON_REDACT_PATH_PATTERNS` | Extra file path patterns to redact. |
|
|
167
313
|
| `PHIGON_<AGENT>_ACTIVITY_DIRS` | Extra record folders for an agent, e.g. `PHIGON_CLAUDE_ACTIVITY_DIRS`. |
|
|
168
314
|
| `PHIGON_REMOTE_ACTIONS_ENABLED` | Opt in to administrator-approved agent stop and force stop. Off by default. |
|
|
169
315
|
| `PHIGON_REMOTE_COMMANDS_ENABLED` | Opt in to administrator-reviewed system operations. Off by default. |
|
|
316
|
+
| `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, and, on a computer enrolled with a company's code, that collection started. On by default. |
|
|
170
317
|
| `PHIGON_UPDATE_CHECK` | Set to `false` to turn off the once-a-day update check. |
|
|
171
|
-
| `PHIGON_LOG_LEVEL` |
|
|
318
|
+
| `PHIGON_LOG_LEVEL` | What `run` prints and writes to its log: `debug`, `info` (default), `warn` or `error`. |
|
|
319
|
+
|
|
320
|
+
`run` also writes what it prints to `logs/observer.log` in the data directory,
|
|
321
|
+
so a background service leaves a record. The log is rotated at about 5 MB and
|
|
322
|
+
keeps three files. Like the terminal output, it never contains activity
|
|
323
|
+
content, credentials or secrets.
|
|
172
324
|
|
|
173
325
|
Never disable certificate verification. Interactive `pair` and `run` sessions
|
|
174
326
|
check npm for a new release at most once a day and ask before updating;
|
|
175
327
|
background services and `--json` commands never prompt or update on their own.
|
|
176
328
|
|
|
329
|
+
### Corporate proxies
|
|
330
|
+
|
|
331
|
+
The observer sends every HTTPS call (pairing, `remove-machine`, update checks,
|
|
332
|
+
Guardian, `doctor --check`) and the telemetry stream through the proxy that
|
|
333
|
+
`HTTPS_PROXY` names, or `HTTP_PROXY` when only that is set. `NO_PROXY` lists
|
|
334
|
+
hosts it reaches directly. Either case works; when both are set, the lowercase
|
|
335
|
+
name wins. A user name and password in the proxy address are supported and
|
|
336
|
+
never printed.
|
|
337
|
+
|
|
338
|
+
- `NO_PROXY` is a comma-separated list of host names. `example.com`,
|
|
339
|
+
`.example.com` and `*.example.com` each cover `example.com` and every host
|
|
340
|
+
under it, `*` turns the proxy off, and `host:port` applies to that port only.
|
|
341
|
+
- HTTPS passes through the proxy as a CONNECT tunnel, and TLS is negotiated
|
|
342
|
+
with the Phigon server inside it, so certificate checks, including the
|
|
343
|
+
authority pinned for a company's own server, still apply. A proxy that
|
|
344
|
+
inspects TLS must leave the Phigon endpoints alone; the observer never turns
|
|
345
|
+
certificate checks off.
|
|
346
|
+
- The telemetry stream uses the same settings, but it can use only an
|
|
347
|
+
`http://` proxy address, and it cannot check ports or address ranges in
|
|
348
|
+
`NO_PROXY`. Set `grpc_proxy` (and `no_grpc_proxy`) to give the stream
|
|
349
|
+
different ones.
|
|
350
|
+
- Node.js 24.14 or newer applies these settings by itself. On Node.js 24.5 to
|
|
351
|
+
24.13, also set `NODE_USE_ENV_PROXY=1` in the environment that starts the
|
|
352
|
+
observer.
|
|
353
|
+
|
|
177
354
|
## Custom agents
|
|
178
355
|
|
|
179
356
|
To monitor an agent without a built-in adapter, register its local signals once:
|
|
@@ -202,14 +379,34 @@ Remote actions are off on every computer by default.
|
|
|
202
379
|
- `PHIGON_REMOTE_ACTIONS_ENABLED=true` lets administrators stop or force-stop
|
|
203
380
|
one exact running agent process. Each stop needs an operator proposal and a
|
|
204
381
|
separate administrator confirmation, expires quickly, and leaves a receipt.
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
382
|
+
A stop acts on one exact process lifetime (process ID plus start time, checked
|
|
383
|
+
again just before anything is sent) and the child processes it started.
|
|
384
|
+
Graceful stop sends `SIGTERM` on Linux and macOS; on Windows it asks the
|
|
385
|
+
agent's windows to close, and for a console agent it presses Ctrl+C in its
|
|
386
|
+
terminal, but only when nothing else shares that terminal; otherwise it
|
|
387
|
+
sends nothing and reports `terminal_shared`.
|
|
388
|
+
Force stop is approved separately. Receipts say when the process had already
|
|
389
|
+
exited, access was denied, or the agent or a child is still running. It does
|
|
390
|
+
not enable shell access, file access, screen capture or general remote
|
|
391
|
+
control.
|
|
208
392
|
- `PHIGON_REMOTE_COMMANDS_ENABLED=true` additionally allows
|
|
209
393
|
administrator-reviewed commands (executable and arguments, no shell), system
|
|
210
394
|
inspection, and scheduled shutdown or restart. Commands run as the observer's
|
|
211
395
|
account, are limited to 1–120 seconds and return at most 32 KB of redacted
|
|
212
396
|
output. A durable journal prevents a command from running twice after a crash.
|
|
397
|
+
System inspection reports the operating system, memory, uptime, CPU load,
|
|
398
|
+
space on the main drive, the observer version, and each running agent's
|
|
399
|
+
name, process ID, CPU share, memory and run time, measured once over half a
|
|
400
|
+
second. It never includes file contents, environment values or command lines.
|
|
401
|
+
|
|
402
|
+
Whenever Phigon stops an agent on a computer, whether someone asked, Phigon AI
|
|
403
|
+
decided or the agent is blocked, the person at that computer sees a system
|
|
404
|
+
notification such as "Claude Code was stopped by Phigon", with the reason. The
|
|
405
|
+
same goes for commands Phigon runs and a scheduled restart or shutdown. It uses
|
|
406
|
+
the system's own notifications (a Windows toast, macOS Notification Center, or
|
|
407
|
+
`notify-send` on Linux) and shows nothing when the observer runs without a
|
|
408
|
+
desktop session, for example as a Windows service. `PHIGON_USER_NOTICES=false`
|
|
409
|
+
turns it off.
|
|
213
410
|
|
|
214
411
|
## Guardian: checks before an agent acts
|
|
215
412
|
|
|
@@ -265,6 +462,32 @@ ones started outside `guardian launch`. Discovery happens after launch, so it
|
|
|
265
462
|
cannot undo earlier activity. A company that must prevent bypass also needs
|
|
266
463
|
operating-system application control and a controlled model provider proxy.
|
|
267
464
|
|
|
465
|
+
## Uninstall
|
|
466
|
+
|
|
467
|
+
To remove this computer from the workspace and delete everything the observer
|
|
468
|
+
keeps on it, then the program itself:
|
|
469
|
+
|
|
470
|
+
```sh
|
|
471
|
+
phigon-observer remove-machine --purge
|
|
472
|
+
npm uninstall --global @phigon/observer
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
`remove-machine --purge` does what `remove-machine` does (collection stops and
|
|
476
|
+
this computer's key is revoked), then stops and removes the background
|
|
477
|
+
service and deletes every file the observer keeps in its data directory,
|
|
478
|
+
including activity that was not delivered yet. It removes only files the
|
|
479
|
+
observer created, and the data directory itself once it is empty. It also
|
|
480
|
+
works on a computer that is no longer paired. If the workspace cannot be
|
|
481
|
+
reached, nothing is deleted and the service is started again.
|
|
482
|
+
|
|
483
|
+
Without `--purge`, `remove-machine` keeps the observer's local progress files
|
|
484
|
+
so the computer can be paired again where it left off. Use a separate
|
|
485
|
+
`service uninstall` to remove only the background service.
|
|
486
|
+
|
|
487
|
+
Either way, the activity the company already collected stays in the workspace
|
|
488
|
+
until an administrator deletes the computer or it expires under the retention
|
|
489
|
+
policy; removing the observer from a computer never erases it.
|
|
490
|
+
|
|
268
491
|
## Troubleshooting
|
|
269
492
|
|
|
270
493
|
- **Command not found:** put npm's global bin directory on `PATH` and reopen
|
|
@@ -272,7 +495,10 @@ operating-system application control and a controlled model provider proxy.
|
|
|
272
495
|
- **Expired pairing code:** generate a new one in **Connect machine**.
|
|
273
496
|
- **No conversations:** the metadata profile excludes content. Check with
|
|
274
497
|
`phigon-observer doctor --profile full --json`.
|
|
275
|
-
- **
|
|
498
|
+
- **Collection stops after a restart:** install the background service with
|
|
499
|
+
`phigon-observer service install`, and read `logs/observer.log` in the data
|
|
500
|
+
directory.
|
|
501
|
+
- **Disconnected:** keep the observer running and allow its HTTPS and gRPC endpoints.
|
|
276
502
|
Queued activity is delivered when the connection returns.
|
|
277
503
|
- **Older self-hosted pairing without a saved stream endpoint:** pass
|
|
278
504
|
`run --grpc-url https://stream.your-company.example` or set `PHIGON_GRPC_URL`.
|
|
@@ -286,7 +512,7 @@ More help: [setup guide](https://phigon.online/docs/get-started/),
|
|
|
286
512
|
|
|
287
513
|
## Building from source
|
|
288
514
|
|
|
289
|
-
You need Node.js 24+ and Go 1.26+.
|
|
515
|
+
You need Node.js 24.5+ and Go 1.26+.
|
|
290
516
|
|
|
291
517
|
```sh
|
|
292
518
|
npm ci
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wait `milliseconds`, or less once `signal` aborts. An abort ends the wait
|
|
3
|
+
* quietly; it never rejects.
|
|
4
|
+
*
|
|
5
|
+
* The observer's loops wait here for their whole lifetime, some every 100 ms,
|
|
6
|
+
* on one long-lived signal. The promise timer removes its abort listener when
|
|
7
|
+
* it fires, so finished waits leave nothing attached to that signal.
|
|
8
|
+
*/
|
|
9
|
+
export declare function abortableDelay(milliseconds: number, signal?: AbortSignal): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=abortable-delay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abortable-delay.d.ts","sourceRoot":"","sources":["../../src/abortable-delay.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAOf"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { setTimeout as delay } from "node:timers/promises";
|
|
2
|
+
/**
|
|
3
|
+
* Wait `milliseconds`, or less once `signal` aborts. An abort ends the wait
|
|
4
|
+
* quietly; it never rejects.
|
|
5
|
+
*
|
|
6
|
+
* The observer's loops wait here for their whole lifetime, some every 100 ms,
|
|
7
|
+
* on one long-lived signal. The promise timer removes its abort listener when
|
|
8
|
+
* it fires, so finished waits leave nothing attached to that signal.
|
|
9
|
+
*/
|
|
10
|
+
export async function abortableDelay(milliseconds, signal) {
|
|
11
|
+
if (signal?.aborted === true)
|
|
12
|
+
return;
|
|
13
|
+
try {
|
|
14
|
+
await delay(milliseconds, undefined, signal === undefined ? {} : { signal });
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
if (!(error instanceof Error && error.name === "AbortError"))
|
|
18
|
+
throw error;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=abortable-delay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abortable-delay.js","sourceRoot":"","sources":["../../src/abortable-delay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,YAAoB,EACpB,MAAoB;IAEpB,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI;QAAE,OAAO;IACrC,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;YAAE,MAAM,KAAK,CAAC;IAC5E,CAAC;AACH,CAAC"}
|
|
@@ -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;AA4IrB,eAAO,MAAM,qBAAqB,EAAE,qBACP,CAAC"}
|
|
@@ -2,6 +2,8 @@ import { ActivityKind, AgentKind, } from "../../generated/phigon/v1/common_pb.js
|
|
|
2
2
|
import { LifecyclePhase, ToolPhase, } from "../../generated/phigon/v1/telemetry_pb.js";
|
|
3
3
|
import { activityDraft, errorDraft, lifecycleDraft, toolDrafts, } from "../normalize.js";
|
|
4
4
|
import { extractText, objectValue, recordObservedAt, stringField, } from "../record.js";
|
|
5
|
+
// A tool call whose result never arrives must not stay in memory forever.
|
|
6
|
+
const maxTrackedToolCalls = 4_096;
|
|
5
7
|
class ClaudeActivityAdapter {
|
|
6
8
|
id = "claude";
|
|
7
9
|
agentKind = AgentKind.CLAUDE;
|
|
@@ -17,6 +19,19 @@ class ClaudeActivityAdapter {
|
|
|
17
19
|
};
|
|
18
20
|
const type = stringField(object, "type");
|
|
19
21
|
if (type === "system" || type === "summary") {
|
|
22
|
+
// Claude Code transcripts write many system records per session
|
|
23
|
+
// (turn timing, hook summaries, notices). Only the session start,
|
|
24
|
+
// a finished turn, and an API failure carry lifecycle meaning.
|
|
25
|
+
const subtype = stringField(object, "subtype");
|
|
26
|
+
if (subtype === "turn_duration") {
|
|
27
|
+
return [lifecycleDraft(this.agentKind, observedContext, LifecyclePhase.IDLE, "Claude turn completed.")];
|
|
28
|
+
}
|
|
29
|
+
if (subtype === "api_error") {
|
|
30
|
+
return [errorDraft(this.agentKind, observedContext, "api_error")];
|
|
31
|
+
}
|
|
32
|
+
if (type === "system" && subtype !== "" && subtype !== "init") {
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
20
35
|
return [lifecycleDraft(this.agentKind, observedContext, LifecyclePhase.DISCOVERED, "Claude session discovered.")];
|
|
21
36
|
}
|
|
22
37
|
if (type === "result") {
|
|
@@ -44,8 +59,14 @@ class ClaudeActivityAdapter {
|
|
|
44
59
|
if (blockType === "tool_use") {
|
|
45
60
|
const id = stringField(item, "id");
|
|
46
61
|
const name = stringField(item, "name") || "tool";
|
|
47
|
-
if (id !== "")
|
|
62
|
+
if (id !== "") {
|
|
48
63
|
this.#toolNames.set(id, name);
|
|
64
|
+
if (this.#toolNames.size > maxTrackedToolCalls) {
|
|
65
|
+
const oldest = this.#toolNames.keys().next().value;
|
|
66
|
+
if (oldest !== undefined)
|
|
67
|
+
this.#toolNames.delete(oldest);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
49
70
|
drafts.push(...toolDrafts(this.agentKind, observedContext, {
|
|
50
71
|
invocationId: id,
|
|
51
72
|
toolName: name,
|
|
@@ -72,7 +93,12 @@ class ClaudeActivityAdapter {
|
|
|
72
93
|
textBlocks.push(item["text"] ?? block);
|
|
73
94
|
}
|
|
74
95
|
}
|
|
75
|
-
|
|
96
|
+
// Claude Code marks text it injects into the user turn (command
|
|
97
|
+
// caveats, reminders, compaction summaries). It was not typed by the
|
|
98
|
+
// user, so it must not appear as a user prompt.
|
|
99
|
+
const injected = type === "user" &&
|
|
100
|
+
(object["isMeta"] === true || object["isCompactSummary"] === true);
|
|
101
|
+
const text = injected ? "" : extractText(textBlocks);
|
|
76
102
|
if (text !== "") {
|
|
77
103
|
drafts.unshift(activityDraft(this.agentKind, observedContext, role === "user" ? ActivityKind.PROMPT : ActivityKind.RESPONSE, role === "user"
|
|
78
104
|
? "User prompt submitted."
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../../src/activity/adapters/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,SAAS,GACV,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,cAAc,EACd,SAAS,GACV,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,aAAa,EACb,UAAU,EACV,cAAc,EACd,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,WAAW,GACZ,MAAM,cAAc,CAAC;AAOtB,MAAM,qBAAqB;IAChB,EAAE,GAAG,QAAQ,CAAC;IACd,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;IAC7B,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEhD,KAAK,CAAC,MAAe,EAAE,OAAqB;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAC;YAC/B,MAAM,eAAe,GAAG;gBACtB,GAAG,OAAO;gBACV,UAAU,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;aACzD,CAAC;YACF,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACzC,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5C,OAAO,CAAC,cAAc,CACpB,IAAI,CAAC,SAAS,EACd,eAAe,EACf,cAAc,CAAC,UAAU,EACzB,4BAA4B,CAC7B,CAAC,CAAC;YACL,CAAC;YACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,OAAO;oBACL,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI;wBACzB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,CAAC;wBAC7D,CAAC,CAAC,cAAc,CACZ,IAAI,CAAC,SAAS,EACd,eAAe,EACf,cAAc,CAAC,IAAI,EACnB,wBAAwB,CACzB;iBACN,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW;gBAAE,OAAO,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,MAAM,CAAC;YACzD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC;YAClD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAoB,EAAE,CAAC;YACnC,MAAM,UAAU,GAAc,EAAE,CAAC;YACjC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACvB,SAAS;gBACX,CAAC;gBACD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC5C,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;oBAC7B,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACnC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC;oBACjD,IAAI,EAAE,KAAK,EAAE;
|
|
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"}
|