@phigon/observer 8.0.2 → 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.
Files changed (375) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +8 -0
  3. package/README.md +376 -303
  4. package/THIRD_PARTY_NOTICES.md +610 -0
  5. package/dist/bin/guardian-runner-darwin-amd64 +0 -0
  6. package/dist/bin/guardian-runner-darwin-arm64 +0 -0
  7. package/dist/bin/guardian-runner-linux-amd64 +0 -0
  8. package/dist/bin/guardian-runner-linux-arm64 +0 -0
  9. package/dist/bin/guardian-runner-windows-amd64.exe +0 -0
  10. package/dist/bin/guardian-runner-windows-arm64.exe +0 -0
  11. package/dist/src/action-policy.d.ts +0 -0
  12. package/dist/src/action-policy.d.ts.map +1 -1
  13. package/dist/src/action-policy.js +4 -2
  14. package/dist/src/action-policy.js.map +1 -1
  15. package/dist/src/activity/adapters/claude.d.ts +0 -0
  16. package/dist/src/activity/adapters/claude.d.ts.map +1 -1
  17. package/dist/src/activity/adapters/claude.js +19 -1
  18. package/dist/src/activity/adapters/claude.js.map +1 -1
  19. package/dist/src/activity/adapters/cline-task.d.ts +7 -0
  20. package/dist/src/activity/adapters/cline-task.d.ts.map +1 -0
  21. package/dist/src/activity/adapters/cline-task.js +197 -0
  22. package/dist/src/activity/adapters/cline-task.js.map +1 -0
  23. package/dist/src/activity/adapters/cline.d.ts +3 -0
  24. package/dist/src/activity/adapters/cline.d.ts.map +1 -0
  25. package/dist/src/activity/adapters/cline.js +102 -0
  26. package/dist/src/activity/adapters/cline.js.map +1 -0
  27. package/dist/src/activity/adapters/codex.d.ts +0 -0
  28. package/dist/src/activity/adapters/codex.d.ts.map +1 -1
  29. package/dist/src/activity/adapters/codex.js +76 -0
  30. package/dist/src/activity/adapters/codex.js.map +1 -1
  31. package/dist/src/activity/adapters/copilot-chat.d.ts +3 -0
  32. package/dist/src/activity/adapters/copilot-chat.d.ts.map +1 -0
  33. package/dist/src/activity/adapters/copilot-chat.js +176 -0
  34. package/dist/src/activity/adapters/copilot-chat.js.map +1 -0
  35. package/dist/src/activity/adapters/copilot.d.ts +2 -1
  36. package/dist/src/activity/adapters/copilot.d.ts.map +1 -1
  37. package/dist/src/activity/adapters/copilot.js +173 -2
  38. package/dist/src/activity/adapters/copilot.js.map +1 -1
  39. package/dist/src/activity/adapters/cursor.d.ts +3 -0
  40. package/dist/src/activity/adapters/cursor.d.ts.map +1 -0
  41. package/dist/src/activity/adapters/cursor.js +86 -0
  42. package/dist/src/activity/adapters/cursor.js.map +1 -0
  43. package/dist/src/activity/adapters/factory-droid.d.ts +3 -0
  44. package/dist/src/activity/adapters/factory-droid.d.ts.map +1 -0
  45. package/dist/src/activity/adapters/factory-droid.js +126 -0
  46. package/dist/src/activity/adapters/factory-droid.js.map +1 -0
  47. package/dist/src/activity/adapters/gemini.d.ts +3 -0
  48. package/dist/src/activity/adapters/gemini.d.ts.map +1 -0
  49. package/dist/src/activity/adapters/gemini.js +177 -0
  50. package/dist/src/activity/adapters/gemini.js.map +1 -0
  51. package/dist/src/activity/adapters/generic.d.ts +0 -0
  52. package/dist/src/activity/adapters/generic.d.ts.map +0 -0
  53. package/dist/src/activity/adapters/generic.js +0 -0
  54. package/dist/src/activity/adapters/generic.js.map +0 -0
  55. package/dist/src/activity/adapters/goose.d.ts +3 -0
  56. package/dist/src/activity/adapters/goose.d.ts.map +1 -0
  57. package/dist/src/activity/adapters/goose.js +116 -0
  58. package/dist/src/activity/adapters/goose.js.map +1 -0
  59. package/dist/src/activity/adapters/hermes.d.ts +0 -0
  60. package/dist/src/activity/adapters/hermes.d.ts.map +0 -0
  61. package/dist/src/activity/adapters/hermes.js +0 -0
  62. package/dist/src/activity/adapters/hermes.js.map +0 -0
  63. package/dist/src/activity/adapters/kiro.d.ts +3 -0
  64. package/dist/src/activity/adapters/kiro.d.ts.map +1 -0
  65. package/dist/src/activity/adapters/kiro.js +47 -0
  66. package/dist/src/activity/adapters/kiro.js.map +1 -0
  67. package/dist/src/activity/adapters/openai-compatible.d.ts +0 -0
  68. package/dist/src/activity/adapters/openai-compatible.d.ts.map +0 -0
  69. package/dist/src/activity/adapters/openai-compatible.js +0 -0
  70. package/dist/src/activity/adapters/openai-compatible.js.map +0 -0
  71. package/dist/src/activity/adapters/openclaw.d.ts +0 -0
  72. package/dist/src/activity/adapters/openclaw.d.ts.map +0 -0
  73. package/dist/src/activity/adapters/openclaw.js +0 -0
  74. package/dist/src/activity/adapters/openclaw.js.map +0 -0
  75. package/dist/src/activity/adapters/opencode.d.ts +0 -0
  76. package/dist/src/activity/adapters/opencode.d.ts.map +1 -1
  77. package/dist/src/activity/adapters/opencode.js +108 -1
  78. package/dist/src/activity/adapters/opencode.js.map +1 -1
  79. package/dist/src/activity/adapters/zed.d.ts +3 -0
  80. package/dist/src/activity/adapters/zed.d.ts.map +1 -0
  81. package/dist/src/activity/adapters/zed.js +134 -0
  82. package/dist/src/activity/adapters/zed.js.map +1 -0
  83. package/dist/src/activity/bridges.d.ts +0 -0
  84. package/dist/src/activity/bridges.d.ts.map +0 -0
  85. package/dist/src/activity/bridges.js +0 -0
  86. package/dist/src/activity/bridges.js.map +0 -0
  87. package/dist/src/activity/collector.d.ts +12 -0
  88. package/dist/src/activity/collector.d.ts.map +1 -1
  89. package/dist/src/activity/collector.js +156 -3
  90. package/dist/src/activity/collector.js.map +1 -1
  91. package/dist/src/activity/goose-sqlite-source.d.ts +33 -0
  92. package/dist/src/activity/goose-sqlite-source.d.ts.map +1 -0
  93. package/dist/src/activity/goose-sqlite-source.js +274 -0
  94. package/dist/src/activity/goose-sqlite-source.js.map +1 -0
  95. package/dist/src/activity/index.d.ts +3 -0
  96. package/dist/src/activity/index.d.ts.map +1 -1
  97. package/dist/src/activity/index.js +3 -0
  98. package/dist/src/activity/index.js.map +1 -1
  99. package/dist/src/activity/ingest.d.ts +0 -0
  100. package/dist/src/activity/ingest.d.ts.map +1 -1
  101. package/dist/src/activity/ingest.js +2 -1
  102. package/dist/src/activity/ingest.js.map +1 -1
  103. package/dist/src/activity/json-document-source.d.ts +136 -0
  104. package/dist/src/activity/json-document-source.d.ts.map +1 -0
  105. package/dist/src/activity/json-document-source.js +569 -0
  106. package/dist/src/activity/json-document-source.js.map +1 -0
  107. package/dist/src/activity/native-capabilities.d.ts +0 -0
  108. package/dist/src/activity/native-capabilities.d.ts.map +0 -0
  109. package/dist/src/activity/native-capabilities.js +0 -0
  110. package/dist/src/activity/native-capabilities.js.map +0 -0
  111. package/dist/src/activity/normalize.d.ts +0 -0
  112. package/dist/src/activity/normalize.d.ts.map +1 -1
  113. package/dist/src/activity/normalize.js +64 -6
  114. package/dist/src/activity/normalize.js.map +1 -1
  115. package/dist/src/activity/opencode-message-tables.d.ts +87 -0
  116. package/dist/src/activity/opencode-message-tables.d.ts.map +1 -0
  117. package/dist/src/activity/opencode-message-tables.js +546 -0
  118. package/dist/src/activity/opencode-message-tables.js.map +1 -0
  119. package/dist/src/activity/opencode-sqlite-source.d.ts +7 -0
  120. package/dist/src/activity/opencode-sqlite-source.d.ts.map +1 -1
  121. package/dist/src/activity/opencode-sqlite-source.js +153 -63
  122. package/dist/src/activity/opencode-sqlite-source.js.map +1 -1
  123. package/dist/src/activity/policy.d.ts +0 -0
  124. package/dist/src/activity/policy.d.ts.map +1 -1
  125. package/dist/src/activity/policy.js +2 -13
  126. package/dist/src/activity/policy.js.map +1 -1
  127. package/dist/src/activity/record.d.ts +0 -0
  128. package/dist/src/activity/record.d.ts.map +0 -0
  129. package/dist/src/activity/record.js +0 -0
  130. package/dist/src/activity/record.js.map +0 -0
  131. package/dist/src/activity/source-reader.d.ts +16 -1
  132. package/dist/src/activity/source-reader.d.ts.map +1 -1
  133. package/dist/src/activity/source-reader.js +308 -29
  134. package/dist/src/activity/source-reader.js.map +1 -1
  135. package/dist/src/activity/sqlite-connections.d.ts +77 -0
  136. package/dist/src/activity/sqlite-connections.d.ts.map +1 -0
  137. package/dist/src/activity/sqlite-connections.js +220 -0
  138. package/dist/src/activity/sqlite-connections.js.map +1 -0
  139. package/dist/src/activity/types.d.ts +0 -0
  140. package/dist/src/activity/types.d.ts.map +0 -0
  141. package/dist/src/activity/types.js +0 -0
  142. package/dist/src/activity/types.js.map +0 -0
  143. package/dist/src/activity/zed-sqlite-source.d.ts +65 -0
  144. package/dist/src/activity/zed-sqlite-source.d.ts.map +1 -0
  145. package/dist/src/activity/zed-sqlite-source.js +547 -0
  146. package/dist/src/activity/zed-sqlite-source.js.map +1 -0
  147. package/dist/src/agent-action-executor.d.ts +14 -1
  148. package/dist/src/agent-action-executor.d.ts.map +1 -1
  149. package/dist/src/agent-action-executor.js +114 -57
  150. package/dist/src/agent-action-executor.js.map +1 -1
  151. package/dist/src/agentic-guardian.d.ts +0 -0
  152. package/dist/src/agentic-guardian.d.ts.map +1 -1
  153. package/dist/src/agentic-guardian.js +6 -5
  154. package/dist/src/agentic-guardian.js.map +1 -1
  155. package/dist/src/atomic-replace.d.ts +0 -0
  156. package/dist/src/atomic-replace.d.ts.map +0 -0
  157. package/dist/src/atomic-replace.js +0 -0
  158. package/dist/src/atomic-replace.js.map +0 -0
  159. package/dist/src/cli.d.ts +0 -0
  160. package/dist/src/cli.d.ts.map +1 -1
  161. package/dist/src/cli.js +96 -13
  162. package/dist/src/cli.js.map +1 -1
  163. package/dist/src/config.d.ts +15 -0
  164. package/dist/src/config.d.ts.map +1 -1
  165. package/dist/src/config.js +105 -4
  166. package/dist/src/config.js.map +1 -1
  167. package/dist/src/connection-config.d.ts +3 -0
  168. package/dist/src/connection-config.d.ts.map +1 -0
  169. package/dist/src/connection-config.js +29 -0
  170. package/dist/src/connection-config.js.map +1 -0
  171. package/dist/src/content-redaction.d.ts +3 -0
  172. package/dist/src/content-redaction.d.ts.map +1 -0
  173. package/dist/src/content-redaction.js +19 -0
  174. package/dist/src/content-redaction.js.map +1 -0
  175. package/dist/src/credential-store.d.ts +1 -0
  176. package/dist/src/credential-store.d.ts.map +1 -1
  177. package/dist/src/credential-store.js +13 -2
  178. package/dist/src/credential-store.js.map +1 -1
  179. package/dist/src/custom-agent-registry.d.ts +0 -0
  180. package/dist/src/custom-agent-registry.d.ts.map +1 -1
  181. package/dist/src/custom-agent-registry.js +2 -1
  182. package/dist/src/custom-agent-registry.js.map +1 -1
  183. package/dist/src/discovery/adapters/claude.d.ts +0 -0
  184. package/dist/src/discovery/adapters/claude.d.ts.map +0 -0
  185. package/dist/src/discovery/adapters/claude.js +0 -0
  186. package/dist/src/discovery/adapters/claude.js.map +0 -0
  187. package/dist/src/discovery/adapters/codex.d.ts +0 -0
  188. package/dist/src/discovery/adapters/codex.d.ts.map +0 -0
  189. package/dist/src/discovery/adapters/codex.js +0 -0
  190. package/dist/src/discovery/adapters/codex.js.map +0 -0
  191. package/dist/src/discovery/adapters/custom.d.ts +0 -0
  192. package/dist/src/discovery/adapters/custom.d.ts.map +0 -0
  193. package/dist/src/discovery/adapters/custom.js +0 -0
  194. package/dist/src/discovery/adapters/custom.js.map +0 -0
  195. package/dist/src/discovery/adapters/generic.d.ts +0 -0
  196. package/dist/src/discovery/adapters/generic.d.ts.map +1 -1
  197. package/dist/src/discovery/adapters/generic.js +160 -2
  198. package/dist/src/discovery/adapters/generic.js.map +1 -1
  199. package/dist/src/discovery/adapters/hermes.d.ts +0 -0
  200. package/dist/src/discovery/adapters/hermes.d.ts.map +0 -0
  201. package/dist/src/discovery/adapters/hermes.js +0 -0
  202. package/dist/src/discovery/adapters/hermes.js.map +0 -0
  203. package/dist/src/discovery/adapters/openclaw.d.ts +0 -0
  204. package/dist/src/discovery/adapters/openclaw.d.ts.map +0 -0
  205. package/dist/src/discovery/adapters/openclaw.js +0 -0
  206. package/dist/src/discovery/adapters/openclaw.js.map +0 -0
  207. package/dist/src/discovery/engine.d.ts +7 -1
  208. package/dist/src/discovery/engine.d.ts.map +1 -1
  209. package/dist/src/discovery/engine.js +20 -5
  210. package/dist/src/discovery/engine.js.map +1 -1
  211. package/dist/src/discovery/evidence.d.ts +0 -0
  212. package/dist/src/discovery/evidence.d.ts.map +0 -0
  213. package/dist/src/discovery/evidence.js +0 -0
  214. package/dist/src/discovery/evidence.js.map +0 -0
  215. package/dist/src/discovery/index.d.ts +0 -0
  216. package/dist/src/discovery/index.d.ts.map +0 -0
  217. package/dist/src/discovery/index.js +0 -0
  218. package/dist/src/discovery/index.js.map +0 -0
  219. package/dist/src/discovery/known-agent.d.ts +7 -0
  220. package/dist/src/discovery/known-agent.d.ts.map +1 -1
  221. package/dist/src/discovery/known-agent.js +9 -4
  222. package/dist/src/discovery/known-agent.js.map +1 -1
  223. package/dist/src/discovery/process-identity.d.ts +0 -0
  224. package/dist/src/discovery/process-identity.d.ts.map +0 -0
  225. package/dist/src/discovery/process-identity.js +0 -0
  226. package/dist/src/discovery/process-identity.js.map +0 -0
  227. package/dist/src/discovery/system-evidence.d.ts +40 -1
  228. package/dist/src/discovery/system-evidence.d.ts.map +1 -1
  229. package/dist/src/discovery/system-evidence.js +189 -16
  230. package/dist/src/discovery/system-evidence.js.map +1 -1
  231. package/dist/src/discovery/types.d.ts +0 -0
  232. package/dist/src/discovery/types.d.ts.map +0 -0
  233. package/dist/src/discovery/types.js +0 -0
  234. package/dist/src/discovery/types.js.map +0 -0
  235. package/dist/src/event-queue.d.ts +0 -0
  236. package/dist/src/event-queue.d.ts.map +1 -1
  237. package/dist/src/event-queue.js +88 -38
  238. package/dist/src/event-queue.js.map +1 -1
  239. package/dist/src/event-spool.d.ts +0 -0
  240. package/dist/src/event-spool.d.ts.map +1 -1
  241. package/dist/src/event-spool.js +58 -10
  242. package/dist/src/event-spool.js.map +1 -1
  243. package/dist/src/generated/phigon/v1/action_pb.d.ts +0 -0
  244. package/dist/src/generated/phigon/v1/action_pb.d.ts.map +1 -1
  245. package/dist/src/generated/phigon/v1/action_pb.js +1 -1
  246. package/dist/src/generated/phigon/v1/action_pb.js.map +1 -1
  247. package/dist/src/generated/phigon/v1/common_pb.d.ts +0 -0
  248. package/dist/src/generated/phigon/v1/common_pb.d.ts.map +1 -1
  249. package/dist/src/generated/phigon/v1/common_pb.js +1 -1
  250. package/dist/src/generated/phigon/v1/common_pb.js.map +1 -1
  251. package/dist/src/generated/phigon/v1/history_sync_pb.d.ts +0 -0
  252. package/dist/src/generated/phigon/v1/history_sync_pb.d.ts.map +1 -1
  253. package/dist/src/generated/phigon/v1/history_sync_pb.js +1 -1
  254. package/dist/src/generated/phigon/v1/history_sync_pb.js.map +1 -1
  255. package/dist/src/generated/phigon/v1/identity_pb.d.ts +0 -0
  256. package/dist/src/generated/phigon/v1/identity_pb.d.ts.map +1 -1
  257. package/dist/src/generated/phigon/v1/identity_pb.js +1 -1
  258. package/dist/src/generated/phigon/v1/identity_pb.js.map +1 -1
  259. package/dist/src/generated/phigon/v1/observer_service_pb.d.ts +0 -0
  260. package/dist/src/generated/phigon/v1/observer_service_pb.d.ts.map +1 -1
  261. package/dist/src/generated/phigon/v1/observer_service_pb.js +1 -1
  262. package/dist/src/generated/phigon/v1/observer_service_pb.js.map +1 -1
  263. package/dist/src/generated/phigon/v1/policy_pb.d.ts +0 -0
  264. package/dist/src/generated/phigon/v1/policy_pb.d.ts.map +1 -1
  265. package/dist/src/generated/phigon/v1/policy_pb.js +1 -1
  266. package/dist/src/generated/phigon/v1/policy_pb.js.map +1 -1
  267. package/dist/src/generated/phigon/v1/supervision_pb.d.ts +0 -0
  268. package/dist/src/generated/phigon/v1/supervision_pb.d.ts.map +1 -1
  269. package/dist/src/generated/phigon/v1/supervision_pb.js +1 -1
  270. package/dist/src/generated/phigon/v1/supervision_pb.js.map +1 -1
  271. package/dist/src/generated/phigon/v1/telemetry_pb.d.ts +0 -0
  272. package/dist/src/generated/phigon/v1/telemetry_pb.d.ts.map +1 -1
  273. package/dist/src/generated/phigon/v1/telemetry_pb.js +1 -1
  274. package/dist/src/generated/phigon/v1/telemetry_pb.js.map +1 -1
  275. package/dist/src/guardian-containment.d.ts +2 -6
  276. package/dist/src/guardian-containment.d.ts.map +1 -1
  277. package/dist/src/guardian-containment.js +12 -63
  278. package/dist/src/guardian-containment.js.map +1 -1
  279. package/dist/src/guardian-decision-journal.d.ts +0 -0
  280. package/dist/src/guardian-decision-journal.d.ts.map +1 -1
  281. package/dist/src/guardian-decision-journal.js +2 -1
  282. package/dist/src/guardian-decision-journal.js.map +1 -1
  283. package/dist/src/guardian-execution-manifest.d.ts +0 -0
  284. package/dist/src/guardian-execution-manifest.d.ts.map +0 -0
  285. package/dist/src/guardian-execution-manifest.js +0 -0
  286. package/dist/src/guardian-execution-manifest.js.map +0 -0
  287. package/dist/src/guardian-hosted-client.d.ts +0 -0
  288. package/dist/src/guardian-hosted-client.d.ts.map +0 -0
  289. package/dist/src/guardian-hosted-client.js +0 -0
  290. package/dist/src/guardian-hosted-client.js.map +0 -0
  291. package/dist/src/guardian-managed-exec.d.ts +0 -0
  292. package/dist/src/guardian-managed-exec.d.ts.map +1 -1
  293. package/dist/src/guardian-managed-exec.js +2 -1
  294. package/dist/src/guardian-managed-exec.js.map +1 -1
  295. package/dist/src/guardian-model-bridge.d.ts +0 -0
  296. package/dist/src/guardian-model-bridge.d.ts.map +1 -1
  297. package/dist/src/guardian-model-bridge.js +2 -1
  298. package/dist/src/guardian-model-bridge.js.map +1 -1
  299. package/dist/src/guardian-native.d.ts +0 -1
  300. package/dist/src/guardian-native.d.ts.map +1 -1
  301. package/dist/src/guardian-native.js +0 -6
  302. package/dist/src/guardian-native.js.map +1 -1
  303. package/dist/src/guardian-process-monitor.d.ts +6 -1
  304. package/dist/src/guardian-process-monitor.d.ts.map +1 -1
  305. package/dist/src/guardian-process-monitor.js +64 -8
  306. package/dist/src/guardian-process-monitor.js.map +1 -1
  307. package/dist/src/health.d.ts +0 -0
  308. package/dist/src/health.d.ts.map +0 -0
  309. package/dist/src/health.js +0 -0
  310. package/dist/src/health.js.map +0 -0
  311. package/dist/src/historical-identity-store.d.ts +0 -0
  312. package/dist/src/historical-identity-store.d.ts.map +1 -1
  313. package/dist/src/historical-identity-store.js +2 -1
  314. package/dist/src/historical-identity-store.js.map +1 -1
  315. package/dist/src/index.d.ts +0 -0
  316. package/dist/src/index.d.ts.map +0 -0
  317. package/dist/src/index.js +0 -0
  318. package/dist/src/index.js.map +0 -0
  319. package/dist/src/installation.d.ts +0 -0
  320. package/dist/src/installation.d.ts.map +1 -1
  321. package/dist/src/installation.js +3 -2
  322. package/dist/src/installation.js.map +1 -1
  323. package/dist/src/machine-command-executor.d.ts +26 -7
  324. package/dist/src/machine-command-executor.d.ts.map +1 -1
  325. package/dist/src/machine-command-executor.js +123 -21
  326. package/dist/src/machine-command-executor.js.map +1 -1
  327. package/dist/src/pair.d.ts +0 -0
  328. package/dist/src/pair.d.ts.map +1 -1
  329. package/dist/src/pair.js +13 -3
  330. package/dist/src/pair.js.map +1 -1
  331. package/dist/src/private-directory.d.ts +4 -0
  332. package/dist/src/private-directory.d.ts.map +1 -0
  333. package/dist/src/private-directory.js +35 -0
  334. package/dist/src/private-directory.js.map +1 -0
  335. package/dist/src/process-tree.d.ts +73 -0
  336. package/dist/src/process-tree.d.ts.map +1 -0
  337. package/dist/src/process-tree.js +256 -0
  338. package/dist/src/process-tree.js.map +1 -0
  339. package/dist/src/remove-machine.d.ts +0 -0
  340. package/dist/src/remove-machine.d.ts.map +0 -0
  341. package/dist/src/remove-machine.js +0 -0
  342. package/dist/src/remove-machine.js.map +0 -0
  343. package/dist/src/server-authority.d.ts +26 -0
  344. package/dist/src/server-authority.d.ts.map +1 -0
  345. package/dist/src/server-authority.js +102 -0
  346. package/dist/src/server-authority.js.map +1 -0
  347. package/dist/src/stream-client.d.ts +6 -2
  348. package/dist/src/stream-client.d.ts.map +1 -1
  349. package/dist/src/stream-client.js +95 -16
  350. package/dist/src/stream-client.js.map +1 -1
  351. package/dist/src/stream-state.d.ts +0 -0
  352. package/dist/src/stream-state.d.ts.map +1 -1
  353. package/dist/src/stream-state.js +2 -1
  354. package/dist/src/stream-state.js.map +1 -1
  355. package/dist/src/system-inspection.d.ts +78 -0
  356. package/dist/src/system-inspection.d.ts.map +1 -0
  357. package/dist/src/system-inspection.js +281 -0
  358. package/dist/src/system-inspection.js.map +1 -0
  359. package/dist/src/update.d.ts +15 -0
  360. package/dist/src/update.d.ts.map +1 -0
  361. package/dist/src/update.js +93 -0
  362. package/dist/src/update.js.map +1 -0
  363. package/dist/src/user-notices.d.ts +53 -0
  364. package/dist/src/user-notices.d.ts.map +1 -0
  365. package/dist/src/user-notices.js +117 -0
  366. package/dist/src/user-notices.js.map +1 -0
  367. package/package.json +83 -78
  368. package/scripts/install.mjs +306 -306
  369. package/scripts/managed-service.mjs +0 -0
  370. package/scripts/verify-guardian-release.mjs +0 -0
  371. package/scripts/windows-app-control.mjs +0 -0
  372. package/dist/src/windows-process.d.ts +0 -7
  373. package/dist/src/windows-process.d.ts.map +0 -1
  374. package/dist/src/windows-process.js +0 -18
  375. package/dist/src/windows-process.js.map +0 -1
package/dist/src/cli.js CHANGED
@@ -10,7 +10,7 @@ import { GuardianDecisionUnavailableError, HTTPGuardianDecisionClient, readGuard
10
10
  import { AgentActionExecutor } from "./agent-action-executor.js";
11
11
  import { ActivityCollector, historySyncQueueHeadroom, mergeInventoryWithSourceIdentities, registeredAgentActivitySources, } from "./activity/collector.js";
12
12
  import { ingestActivityJSONL } from "./activity/ingest.js";
13
- import { loadConfig, } from "./config.js";
13
+ import { loadConfig, DEFAULT_CONTROL_PLANE_ORIGIN, } from "./config.js";
14
14
  import { FileCredentialStore } from "./credential-store.js";
15
15
  import { CustomAgentRegistry, customAgentRegistration, } from "./custom-agent-registry.js";
16
16
  import { DiscoveryEngine, runDiscoveryLoop, } from "./discovery/index.js";
@@ -21,6 +21,7 @@ import { HistoricalIdentityStore, mergeInventoryWithHistoricalIdentities, } from
21
21
  import { createHealthSnapshot, } from "./health.js";
22
22
  import { OBSERVER_CONSENT_POLICY_VERSION, pairMachine, } from "./pair.js";
23
23
  import { removeMachine } from "./remove-machine.js";
24
+ import { forgetServerAuthority, parseAuthorityFingerprint, pinServerAuthority } from "./server-authority.js";
24
25
  import { clearEventSpool } from "./event-spool.js";
25
26
  import { GuardianDecisionJournal } from "./guardian-decision-journal.js";
26
27
  import { GuardianContainmentExecutor, } from "./guardian-containment.js";
@@ -35,17 +36,25 @@ import { guardianRunnerPath } from "./guardian-native.js";
35
36
  import { GuardianProcessMonitor } from "./guardian-process-monitor.js";
36
37
  import { setTimeout as delay } from "node:timers/promises";
37
38
  import { StreamStateStore } from "./stream-state.js";
39
+ import { connectionEnvironment } from "./connection-config.js";
40
+ import { latestObserverVersion, newerVersion, offerObserverUpdate } from "./update.js";
41
+ import { UserNotices } from "./user-notices.js";
38
42
  const defaultOutput = {
39
43
  stdout: (value) => process.stdout.write(value),
40
44
  stderr: (value) => process.stderr.write(value),
41
45
  };
42
46
  export async function run(argv, environment = process.env, output = defaultOutput, input = process.stdin) {
43
47
  const [command, ...flags] = argv;
48
+ if (command === "--version" || command === "-v" || command === "version") {
49
+ output.stdout(`${await readVersion()}\n`);
50
+ return 0;
51
+ }
44
52
  if (command === undefined || command === "help" || command === "--help" || command === "-h" || flags.includes("--help")) {
45
53
  output.stdout(helpText());
46
54
  return 0;
47
55
  }
48
56
  if (command !== "doctor" &&
57
+ command !== "update" &&
49
58
  command !== "agent" &&
50
59
  command !== "authorize-action" &&
51
60
  command !== "guardian" &&
@@ -59,9 +68,27 @@ export async function run(argv, environment = process.env, output = defaultOutpu
59
68
  return 2;
60
69
  }
61
70
  try {
71
+ environment = command === "update" ? { PHIGON_DATA_DIR: environment["PHIGON_DATA_DIR"] } : await connectionEnvironment(environment, command === "pair" || command === "run" || command === "doctor" ? flags : []);
62
72
  const config = loadConfig(observabilityEnvironment(command, flags, environment));
63
73
  const version = await readVersion();
64
74
  const json = flags.includes("--json");
75
+ const interactive = input === process.stdin && process.stdin.isTTY === true && process.stdout.isTTY === true && !json;
76
+ if (command === "update" || (interactive && (command === "pair" || command === "run") && environment["PHIGON_UPDATE_CHECK"] !== "false")) {
77
+ const latest = await latestObserverVersion(config.dataDirectory, { force: command === "update" });
78
+ if (command === "update" && (json || flags.includes("--check"))) {
79
+ output.stdout(`${JSON.stringify({ current: version, latest, updateAvailable: latest !== null && newerVersion(version, latest), status: latest === null ? "unavailable" : "checked" })}\n`);
80
+ return latest === null ? 1 : 0;
81
+ }
82
+ if (command === "update" && !interactive && !flags.includes("--yes"))
83
+ throw new Error("Use update --check for a read-only check, or update --yes to explicitly authorize an unattended update.");
84
+ const updated = await offerObserverUpdate({ current: version, latest, write: output.stdout, confirm: () => command === "update" && flags.includes("--yes") ? Promise.resolve("yes") : readConfirmation(input) });
85
+ if (updated)
86
+ return 0;
87
+ if (command === "update") {
88
+ output.stdout(latest === null ? "Could not check for updates. Check your connection and try again.\n" : newerVersion(version, latest) ? "Update skipped.\n" : `Observer ${version} is up to date.\n`);
89
+ return latest === null ? 1 : 0;
90
+ }
91
+ }
65
92
  const customAgentRegistry = new CustomAgentRegistry(config.dataDirectory);
66
93
  if (command === "guardian") {
67
94
  const subcommand = flags[0] ?? "status";
@@ -72,7 +99,7 @@ export async function run(argv, environment = process.env, output = defaultOutpu
72
99
  return await runGuardianLaunch(flags.slice(1), environment, output, input, config.dataDirectory);
73
100
  }
74
101
  if (subcommand !== "status") {
75
- throw new Error("Local Guardian controls have been removed. Administrators manage policies and containment in the Phigon dashboard.");
102
+ throw new Error("Local Guardian controls have been removed. Administrators manage policies and containment in the Phigon app.");
76
103
  }
77
104
  const credential = await new FileCredentialStore(config.dataDirectory).load();
78
105
  const policy = credential ? await new FileActionPolicyStore(config.dataDirectory).load(credential.machineId) : null;
@@ -93,6 +120,8 @@ export async function run(argv, environment = process.env, output = defaultOutpu
93
120
  const action = parseManagedAction(flagValue(flags, "--action"));
94
121
  const resource = flagValue(flags, "--resource");
95
122
  const agentID = flagValue(flags, "--agent") ?? "";
123
+ if (agentID !== "")
124
+ validatedAgentID(agentID);
96
125
  const processID = parseOptionalProcessID(flagValue(flags, "--process-id"));
97
126
  const processStartedAt = flagValue(flags, "--process-started-at");
98
127
  if ((processID === undefined) !== (processStartedAt === undefined)) {
@@ -338,6 +367,7 @@ export async function run(argv, environment = process.env, output = defaultOutpu
338
367
  credential,
339
368
  clearCredential: async () => {
340
369
  clearEventSpool(config.dataDirectory);
370
+ await forgetServerAuthority(config.dataDirectory);
341
371
  return await credentialStore.clear();
342
372
  },
343
373
  });
@@ -389,7 +419,9 @@ export async function run(argv, environment = process.env, output = defaultOutpu
389
419
  const discoveryEngine = new DiscoveryEngine({
390
420
  customAgentRegistry,
391
421
  });
422
+ const userNotices = new UserNotices({ enabled: config.userNotices });
392
423
  const actionExecutor = new AgentActionExecutor({
424
+ notices: userNotices,
393
425
  enabled: config.remoteActionsEnabled,
394
426
  commandsEnabled: config.remoteCommandsEnabled,
395
427
  machineID: credential.machineId,
@@ -471,6 +503,7 @@ export async function run(argv, environment = process.env, output = defaultOutpu
471
503
  const initialDiscovery = await discoveryEngine.discover(credential.machineId);
472
504
  historicalIdentities = await historicalStore.remember(initialDiscovery.inventory.agents);
473
505
  let latestDiscoveryInventory = initialDiscovery.inventory;
506
+ actionExecutor.observeInventory(latestDiscoveryInventory);
474
507
  const publishInventory = () => {
475
508
  const withHistory = mergeInventoryWithHistoricalIdentities(latestDiscoveryInventory, historicalIdentities);
476
509
  client.updateInventory(mergeInventoryWithSourceIdentities(withHistory, collector?.sourceIdentities() ?? []));
@@ -480,10 +513,13 @@ export async function run(argv, environment = process.env, output = defaultOutpu
480
513
  const streaming = client.run(controller.signal);
481
514
  const discovering = runDiscoveryLoop(discoveryEngine, credential.machineId, config.discoveryIntervalMs, controller.signal, async (inventory) => {
482
515
  latestDiscoveryInventory = inventory;
516
+ actionExecutor.observeInventory(inventory);
483
517
  collector?.updateInventory(inventory);
484
518
  historicalIdentities = await historicalStore.remember(inventory.agents);
485
519
  publishInventory();
486
- });
520
+ }, (error) => output.stderr(`Agent discovery failed and will retry on the next pass: ${(error instanceof Error ? error.message : String(error))
521
+ .replace(/\s+/gu, " ")
522
+ .slice(0, 200)}\n`));
487
523
  const processMonitor = new GuardianProcessMonitor({
488
524
  coverageClient: new GuardianHostedClient({ controlPlaneURL: config.controlPlaneUrl, credential: credential.credential }),
489
525
  machineId: credential.machineId,
@@ -498,6 +534,7 @@ export async function run(argv, environment = process.env, output = defaultOutpu
498
534
  inventory: async () => (await discoveryEngine.discover(credential.machineId)).inventory,
499
535
  }),
500
536
  journal: new GuardianDecisionJournal(config.dataDirectory),
537
+ notices: userNotices,
501
538
  onStatus: (message) => output.stdout(`${message}\n`),
502
539
  });
503
540
  const monitoring = (async () => {
@@ -582,7 +619,23 @@ export async function run(argv, environment = process.env, output = defaultOutpu
582
619
  };
583
620
  await Promise.all([collector.run(controller.signal), initialHistory()]);
584
621
  })();
585
- await settleObserverTasks([streaming, discovering, collecting, monitoring], controller, () => fatalPersistenceError);
622
+ const maintaining = (async () => {
623
+ while (!controller.signal.aborted) {
624
+ try {
625
+ await actionExecutor.maintainReceipts();
626
+ }
627
+ catch {
628
+ output.stderr("Local operation receipt cleanup will retry.\n");
629
+ }
630
+ try {
631
+ await delay(3_600_000, undefined, { signal: controller.signal });
632
+ }
633
+ catch {
634
+ break;
635
+ }
636
+ }
637
+ })();
638
+ await settleObserverTasks([streaming, discovering, collecting, monitoring, maintaining], controller, () => fatalPersistenceError);
586
639
  output.stdout("Observer stopped.\n");
587
640
  }
588
641
  finally {
@@ -592,12 +645,17 @@ export async function run(argv, environment = process.env, output = defaultOutpu
592
645
  return 0;
593
646
  }
594
647
  if (command === "pair") {
648
+ if (config.controlPlaneUrl.origin !== DEFAULT_CONTROL_PLANE_ORIGIN && !config.grpcEndpointConfigured) {
649
+ throw new Error("Custom workspaces require --grpc-url alongside --control-plane-url (or PHIGON_GRPC_URL). Copy both endpoints from your workspace's Connect machine dialog.");
650
+ }
595
651
  const code = flagValue(flags, "--code");
596
652
  if (code === undefined) {
597
653
  throw new Error("pair requires --code <one-time-code>.");
598
654
  }
599
655
  const displayName = flagValue(flags, "--name");
600
656
  const consentProfile = parseConsentProfile(flagValue(flags, "--consent-profile"));
657
+ const authorityFlag = flagValue(flags, "--server-ca-sha256");
658
+ const authority = authorityFlag === undefined ? undefined : parseAuthorityFingerprint(authorityFlag);
601
659
  if (json && !flags.includes("--accept-consent")) {
602
660
  throw new Error("JSON pairing requires --accept-consent after reviewing the selected profile.");
603
661
  }
@@ -608,12 +666,25 @@ export async function run(argv, environment = process.env, output = defaultOutpu
608
666
  throw new Error("Consent was not granted. No pairing request was sent.");
609
667
  }
610
668
  }
611
- const result = await pairMachine({
612
- config,
613
- code,
614
- consentProfile,
615
- ...(displayName === undefined ? {} : { displayName }),
616
- });
669
+ if (authority !== undefined) {
670
+ await pinServerAuthority(config.controlPlaneUrl, authority, config.dataDirectory);
671
+ }
672
+ let result;
673
+ try {
674
+ result = await pairMachine({
675
+ config,
676
+ code,
677
+ consentProfile,
678
+ ...(displayName === undefined ? {} : { displayName }),
679
+ });
680
+ }
681
+ catch (error) {
682
+ // An authority pinned for a pairing that failed is not kept.
683
+ if (authority !== undefined && await new FileCredentialStore(config.dataDirectory).load() === null) {
684
+ await forgetServerAuthority(config.dataDirectory);
685
+ }
686
+ throw error;
687
+ }
617
688
  output.stdout(json
618
689
  ? `${JSON.stringify(result, null, 2)}\n`
619
690
  : formatPairResult(result));
@@ -701,6 +772,7 @@ async function runGuardianLaunch(flags, environment, output, input, dataDirector
701
772
  if (agentID === undefined) {
702
773
  throw new Error("guardian launch requires --agent <agent-id>.");
703
774
  }
775
+ validatedAgentID(agentID);
704
776
  const model = validatedModelResource(flagValue(gatewayFlags, "--model"));
705
777
  const executable = flags[separator + 1];
706
778
  const commandArguments = flags.slice(separator + 2);
@@ -710,6 +782,14 @@ async function runGuardianLaunch(flags, environment, output, input, dataDirector
710
782
  }
711
783
  return await runGuardedCommand(executable, commandArguments, gatewayFlags, model, environment, output, dataDirectory);
712
784
  }
785
+ // The control plane refuses any other agent ID with a generic manifest error,
786
+ // so check here and say what is wrong.
787
+ function validatedAgentID(value) {
788
+ if (!/^[A-Za-z0-9._:-]{1,128}$/u.test(value)) {
789
+ throw new Error("--agent must be 1-128 letters, numbers, dots, underscores, colons or hyphens.");
790
+ }
791
+ return value;
792
+ }
713
793
  function validateGuardianExecFlags(flags) {
714
794
  const valued = new Set([
715
795
  "--agent",
@@ -762,7 +842,7 @@ async function runGuardedCommand(executable, arguments_, flags, model, environme
762
842
  output.stdout("Phigon Guardian blocked execution: administrator policy is unavailable.\n");
763
843
  return 77;
764
844
  }
765
- const agentId = flagValue(flags, "--agent") ?? "managed-agent";
845
+ const agentId = validatedAgentID(flagValue(flags, "--agent") ?? "managed-agent");
766
846
  const context = await readGuardianActionContext(flagValue(flags, "--context-file"));
767
847
  const hosted = new GuardianHostedClient({ controlPlaneURL: config.controlPlaneUrl, credential: credential.credential });
768
848
  const childEnvironment = executionEnvironment({ ...process.env, ...environment });
@@ -945,9 +1025,11 @@ function helpText() {
945
1025
  " phigon-observer agent list [--json]",
946
1026
  " phigon-observer agent remove --id <id> [--yes] [--json]",
947
1027
  " phigon-observer doctor [--profile <metadata|full>] [--json]",
1028
+ " phigon-observer update [--check] [--yes] [--json]",
1029
+ " phigon-observer --version",
948
1030
  " phigon-observer discover [--json]",
949
1031
  " phigon-observer ingest --agent <agent-id|custom> [--name <agent-name>] [--quiet] [--json]",
950
- " phigon-observer pair --code <one-time-code> --consent-profile <metadata|full> [--name <machine-name>] [--accept-consent] [--json]",
1032
+ " phigon-observer pair --code <one-time-code> --consent-profile <metadata|full> [--control-plane-url <url> --grpc-url <url> [--server-ca-sha256 <fingerprint>]] [--name <machine-name>] [--accept-consent] [--json]",
951
1033
  " phigon-observer remove-machine [--yes] [--json]",
952
1034
  " phigon-observer run [--profile <metadata|full>]",
953
1035
  " phigon-observer help",
@@ -1129,7 +1211,8 @@ function flagValue(flags, name) {
1129
1211
  for (let index = 0; index < flags.length; index++) {
1130
1212
  const flag = flags[index];
1131
1213
  if (flag === name) {
1132
- return flags[index + 1];
1214
+ const value = flags[index + 1];
1215
+ return value === undefined || value.startsWith("--") ? undefined : value;
1133
1216
  }
1134
1217
  if (flag?.startsWith(equalsPrefix)) {
1135
1218
  return flag.slice(equalsPrefix.length);
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export type ObserverLogLevel = "debug" | "info" | "warn" | "error";
2
+ export declare const DEFAULT_CONTROL_PLANE_ORIGIN = "https://api.phigon.online";
2
3
  export type ObservabilityProfile = "metadata" | "full";
3
4
  export type InitialReplayMode = "all" | "messages";
4
5
  export type ActivitySourceDirectories = Readonly<{
@@ -8,6 +9,17 @@ export type ActivitySourceDirectories = Readonly<{
8
9
  openclaw: readonly string[];
9
10
  copilot: readonly string[];
10
11
  opencode: readonly string[];
12
+ gemini: readonly string[];
13
+ cline: readonly string[];
14
+ goose: readonly string[];
15
+ cursor: readonly string[];
16
+ copilotChat: readonly string[];
17
+ kiro: readonly string[];
18
+ zed: readonly string[];
19
+ droid: readonly string[];
20
+ clineTasks: readonly string[];
21
+ rooCode: readonly string[];
22
+ kiloCode: readonly string[];
11
23
  generic: readonly string[];
12
24
  }>;
13
25
  export type CollectionPolicy = Readonly<{
@@ -40,6 +52,7 @@ export type CollectionPolicy = Readonly<{
40
52
  export type ObserverConfig = Readonly<{
41
53
  controlPlaneUrl: URL;
42
54
  grpcUrl: URL;
55
+ grpcEndpointConfigured: boolean;
43
56
  dataDirectory: string;
44
57
  heartbeatIntervalMs: number;
45
58
  discoveryIntervalMs: number;
@@ -58,6 +71,8 @@ export type ObserverConfig = Readonly<{
58
71
  machineTokenConfigured: boolean;
59
72
  remoteActionsEnabled: boolean;
60
73
  remoteCommandsEnabled: boolean;
74
+ /** Tell the person at this computer when Phigon stops an agent or runs a command. */
75
+ userNotices: boolean;
61
76
  guardianDecisionTimeoutMs: number;
62
77
  tlsCaFile: string | undefined;
63
78
  tlsClientCertFile: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}