@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.
Files changed (309) hide show
  1. package/README.md +244 -18
  2. package/dist/bin/guardian-runner-darwin-amd64 +0 -0
  3. package/dist/bin/guardian-runner-darwin-arm64 +0 -0
  4. package/dist/bin/guardian-runner-linux-amd64 +0 -0
  5. package/dist/bin/guardian-runner-linux-arm64 +0 -0
  6. package/dist/bin/guardian-runner-windows-amd64.exe +0 -0
  7. package/dist/bin/guardian-runner-windows-arm64.exe +0 -0
  8. package/dist/src/abortable-delay.d.ts +10 -0
  9. package/dist/src/abortable-delay.d.ts.map +1 -0
  10. package/dist/src/abortable-delay.js +21 -0
  11. package/dist/src/abortable-delay.js.map +1 -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.map +1 -1
  16. package/dist/src/activity/adapters/claude.js +28 -2
  17. package/dist/src/activity/adapters/claude.js.map +1 -1
  18. package/dist/src/activity/adapters/cline-task.d.ts +7 -0
  19. package/dist/src/activity/adapters/cline-task.d.ts.map +1 -0
  20. package/dist/src/activity/adapters/cline-task.js +197 -0
  21. package/dist/src/activity/adapters/cline-task.js.map +1 -0
  22. package/dist/src/activity/adapters/cline.d.ts +3 -0
  23. package/dist/src/activity/adapters/cline.d.ts.map +1 -0
  24. package/dist/src/activity/adapters/cline.js +102 -0
  25. package/dist/src/activity/adapters/cline.js.map +1 -0
  26. package/dist/src/activity/adapters/codex.d.ts.map +1 -1
  27. package/dist/src/activity/adapters/codex.js +76 -0
  28. package/dist/src/activity/adapters/codex.js.map +1 -1
  29. package/dist/src/activity/adapters/copilot-chat.d.ts +3 -0
  30. package/dist/src/activity/adapters/copilot-chat.d.ts.map +1 -0
  31. package/dist/src/activity/adapters/copilot-chat.js +176 -0
  32. package/dist/src/activity/adapters/copilot-chat.js.map +1 -0
  33. package/dist/src/activity/adapters/copilot.d.ts +2 -1
  34. package/dist/src/activity/adapters/copilot.d.ts.map +1 -1
  35. package/dist/src/activity/adapters/copilot.js +173 -2
  36. package/dist/src/activity/adapters/copilot.js.map +1 -1
  37. package/dist/src/activity/adapters/cursor.d.ts +3 -0
  38. package/dist/src/activity/adapters/cursor.d.ts.map +1 -0
  39. package/dist/src/activity/adapters/cursor.js +86 -0
  40. package/dist/src/activity/adapters/cursor.js.map +1 -0
  41. package/dist/src/activity/adapters/factory-droid.d.ts +3 -0
  42. package/dist/src/activity/adapters/factory-droid.d.ts.map +1 -0
  43. package/dist/src/activity/adapters/factory-droid.js +126 -0
  44. package/dist/src/activity/adapters/factory-droid.js.map +1 -0
  45. package/dist/src/activity/adapters/gemini.d.ts +3 -0
  46. package/dist/src/activity/adapters/gemini.d.ts.map +1 -0
  47. package/dist/src/activity/adapters/gemini.js +177 -0
  48. package/dist/src/activity/adapters/gemini.js.map +1 -0
  49. package/dist/src/activity/adapters/goose.d.ts +3 -0
  50. package/dist/src/activity/adapters/goose.d.ts.map +1 -0
  51. package/dist/src/activity/adapters/goose.js +116 -0
  52. package/dist/src/activity/adapters/goose.js.map +1 -0
  53. package/dist/src/activity/adapters/kiro.d.ts +3 -0
  54. package/dist/src/activity/adapters/kiro.d.ts.map +1 -0
  55. package/dist/src/activity/adapters/kiro.js +47 -0
  56. package/dist/src/activity/adapters/kiro.js.map +1 -0
  57. package/dist/src/activity/adapters/openai-compatible.d.ts.map +1 -1
  58. package/dist/src/activity/adapters/openai-compatible.js +9 -1
  59. package/dist/src/activity/adapters/openai-compatible.js.map +1 -1
  60. package/dist/src/activity/adapters/opencode.d.ts.map +1 -1
  61. package/dist/src/activity/adapters/opencode.js +108 -1
  62. package/dist/src/activity/adapters/opencode.js.map +1 -1
  63. package/dist/src/activity/adapters/zed.d.ts +3 -0
  64. package/dist/src/activity/adapters/zed.d.ts.map +1 -0
  65. package/dist/src/activity/adapters/zed.js +134 -0
  66. package/dist/src/activity/adapters/zed.js.map +1 -0
  67. package/dist/src/activity/collector.d.ts +43 -1
  68. package/dist/src/activity/collector.d.ts.map +1 -1
  69. package/dist/src/activity/collector.js +490 -77
  70. package/dist/src/activity/collector.js.map +1 -1
  71. package/dist/src/activity/goose-sqlite-source.d.ts +33 -0
  72. package/dist/src/activity/goose-sqlite-source.d.ts.map +1 -0
  73. package/dist/src/activity/goose-sqlite-source.js +274 -0
  74. package/dist/src/activity/goose-sqlite-source.js.map +1 -0
  75. package/dist/src/activity/index.d.ts +3 -0
  76. package/dist/src/activity/index.d.ts.map +1 -1
  77. package/dist/src/activity/index.js +3 -0
  78. package/dist/src/activity/index.js.map +1 -1
  79. package/dist/src/activity/ingest.d.ts +9 -0
  80. package/dist/src/activity/ingest.d.ts.map +1 -1
  81. package/dist/src/activity/ingest.js +94 -4
  82. package/dist/src/activity/ingest.js.map +1 -1
  83. package/dist/src/activity/json-document-source.d.ts +151 -0
  84. package/dist/src/activity/json-document-source.d.ts.map +1 -0
  85. package/dist/src/activity/json-document-source.js +586 -0
  86. package/dist/src/activity/json-document-source.js.map +1 -0
  87. package/dist/src/activity/native-capabilities.d.ts.map +1 -1
  88. package/dist/src/activity/native-capabilities.js +8 -12
  89. package/dist/src/activity/native-capabilities.js.map +1 -1
  90. package/dist/src/activity/normalize.d.ts.map +1 -1
  91. package/dist/src/activity/normalize.js +64 -6
  92. package/dist/src/activity/normalize.js.map +1 -1
  93. package/dist/src/activity/opencode-message-tables.d.ts +87 -0
  94. package/dist/src/activity/opencode-message-tables.d.ts.map +1 -0
  95. package/dist/src/activity/opencode-message-tables.js +546 -0
  96. package/dist/src/activity/opencode-message-tables.js.map +1 -0
  97. package/dist/src/activity/opencode-sqlite-source.d.ts +7 -0
  98. package/dist/src/activity/opencode-sqlite-source.d.ts.map +1 -1
  99. package/dist/src/activity/opencode-sqlite-source.js +154 -63
  100. package/dist/src/activity/opencode-sqlite-source.js.map +1 -1
  101. package/dist/src/activity/source-reader.d.ts +60 -4
  102. package/dist/src/activity/source-reader.d.ts.map +1 -1
  103. package/dist/src/activity/source-reader.js +593 -75
  104. package/dist/src/activity/source-reader.js.map +1 -1
  105. package/dist/src/activity/sqlite-connections.d.ts +77 -0
  106. package/dist/src/activity/sqlite-connections.d.ts.map +1 -0
  107. package/dist/src/activity/sqlite-connections.js +220 -0
  108. package/dist/src/activity/sqlite-connections.js.map +1 -0
  109. package/dist/src/activity/zed-sqlite-source.d.ts +65 -0
  110. package/dist/src/activity/zed-sqlite-source.d.ts.map +1 -0
  111. package/dist/src/activity/zed-sqlite-source.js +547 -0
  112. package/dist/src/activity/zed-sqlite-source.js.map +1 -0
  113. package/dist/src/agent-action-executor.d.ts +18 -1
  114. package/dist/src/agent-action-executor.d.ts.map +1 -1
  115. package/dist/src/agent-action-executor.js +113 -58
  116. package/dist/src/agent-action-executor.js.map +1 -1
  117. package/dist/src/agentic-guardian.d.ts.map +1 -1
  118. package/dist/src/agentic-guardian.js +6 -5
  119. package/dist/src/agentic-guardian.js.map +1 -1
  120. package/dist/src/atomic-replace.d.ts +7 -0
  121. package/dist/src/atomic-replace.d.ts.map +1 -1
  122. package/dist/src/atomic-replace.js +28 -3
  123. package/dist/src/atomic-replace.js.map +1 -1
  124. package/dist/src/bridge-journal.d.ts +32 -0
  125. package/dist/src/bridge-journal.d.ts.map +1 -0
  126. package/dist/src/bridge-journal.js +113 -0
  127. package/dist/src/bridge-journal.js.map +1 -0
  128. package/dist/src/cli.d.ts +7 -1
  129. package/dist/src/cli.d.ts.map +1 -1
  130. package/dist/src/cli.js +534 -50
  131. package/dist/src/cli.js.map +1 -1
  132. package/dist/src/collection-notice.d.ts +34 -0
  133. package/dist/src/collection-notice.d.ts.map +1 -0
  134. package/dist/src/collection-notice.js +73 -0
  135. package/dist/src/collection-notice.js.map +1 -0
  136. package/dist/src/config.d.ts +39 -0
  137. package/dist/src/config.d.ts.map +1 -1
  138. package/dist/src/config.js +187 -36
  139. package/dist/src/config.js.map +1 -1
  140. package/dist/src/connection-config.d.ts.map +1 -1
  141. package/dist/src/connection-config.js +5 -0
  142. package/dist/src/connection-config.js.map +1 -1
  143. package/dist/src/content-redaction.d.ts +17 -1
  144. package/dist/src/content-redaction.d.ts.map +1 -1
  145. package/dist/src/content-redaction.js +51 -3
  146. package/dist/src/content-redaction.js.map +1 -1
  147. package/dist/src/credential-store.d.ts +20 -1
  148. package/dist/src/credential-store.d.ts.map +1 -1
  149. package/dist/src/credential-store.js +29 -4
  150. package/dist/src/credential-store.js.map +1 -1
  151. package/dist/src/custom-agent-registry.d.ts.map +1 -1
  152. package/dist/src/custom-agent-registry.js +2 -1
  153. package/dist/src/custom-agent-registry.js.map +1 -1
  154. package/dist/src/discovery/adapters/generic.d.ts.map +1 -1
  155. package/dist/src/discovery/adapters/generic.js +160 -2
  156. package/dist/src/discovery/adapters/generic.js.map +1 -1
  157. package/dist/src/discovery/engine.d.ts +7 -1
  158. package/dist/src/discovery/engine.d.ts.map +1 -1
  159. package/dist/src/discovery/engine.js +21 -16
  160. package/dist/src/discovery/engine.js.map +1 -1
  161. package/dist/src/discovery/known-agent.d.ts +7 -0
  162. package/dist/src/discovery/known-agent.d.ts.map +1 -1
  163. package/dist/src/discovery/known-agent.js +9 -4
  164. package/dist/src/discovery/known-agent.js.map +1 -1
  165. package/dist/src/discovery/system-evidence.d.ts +40 -1
  166. package/dist/src/discovery/system-evidence.d.ts.map +1 -1
  167. package/dist/src/discovery/system-evidence.js +189 -16
  168. package/dist/src/discovery/system-evidence.js.map +1 -1
  169. package/dist/src/doctor-check.d.ts +51 -0
  170. package/dist/src/doctor-check.d.ts.map +1 -0
  171. package/dist/src/doctor-check.js +174 -0
  172. package/dist/src/doctor-check.js.map +1 -0
  173. package/dist/src/enroll.d.ts +86 -0
  174. package/dist/src/enroll.d.ts.map +1 -0
  175. package/dist/src/enroll.js +245 -0
  176. package/dist/src/enroll.js.map +1 -0
  177. package/dist/src/entry.d.ts +3 -0
  178. package/dist/src/entry.d.ts.map +1 -0
  179. package/dist/src/entry.js +14 -0
  180. package/dist/src/entry.js.map +1 -0
  181. package/dist/src/event-queue.d.ts +13 -1
  182. package/dist/src/event-queue.d.ts.map +1 -1
  183. package/dist/src/event-queue.js +137 -42
  184. package/dist/src/event-queue.js.map +1 -1
  185. package/dist/src/event-spool.d.ts +61 -3
  186. package/dist/src/event-spool.d.ts.map +1 -1
  187. package/dist/src/event-spool.js +341 -44
  188. package/dist/src/event-spool.js.map +1 -1
  189. package/dist/src/generated/phigon/v1/identity_pb.d.ts +7 -0
  190. package/dist/src/generated/phigon/v1/identity_pb.d.ts.map +1 -1
  191. package/dist/src/generated/phigon/v1/identity_pb.js +1 -1
  192. package/dist/src/generated/phigon/v1/identity_pb.js.map +1 -1
  193. package/dist/src/guardian-containment.d.ts +2 -6
  194. package/dist/src/guardian-containment.d.ts.map +1 -1
  195. package/dist/src/guardian-containment.js +12 -63
  196. package/dist/src/guardian-containment.js.map +1 -1
  197. package/dist/src/guardian-decision-journal.d.ts.map +1 -1
  198. package/dist/src/guardian-decision-journal.js +4 -19
  199. package/dist/src/guardian-decision-journal.js.map +1 -1
  200. package/dist/src/guardian-managed-exec.d.ts.map +1 -1
  201. package/dist/src/guardian-managed-exec.js +6 -18
  202. package/dist/src/guardian-managed-exec.js.map +1 -1
  203. package/dist/src/guardian-model-bridge.d.ts.map +1 -1
  204. package/dist/src/guardian-model-bridge.js +2 -1
  205. package/dist/src/guardian-model-bridge.js.map +1 -1
  206. package/dist/src/guardian-native.d.ts +0 -1
  207. package/dist/src/guardian-native.d.ts.map +1 -1
  208. package/dist/src/guardian-native.js +0 -6
  209. package/dist/src/guardian-native.js.map +1 -1
  210. package/dist/src/guardian-process-monitor.d.ts +4 -0
  211. package/dist/src/guardian-process-monitor.d.ts.map +1 -1
  212. package/dist/src/guardian-process-monitor.js +82 -26
  213. package/dist/src/guardian-process-monitor.js.map +1 -1
  214. package/dist/src/health.d.ts +19 -1
  215. package/dist/src/health.d.ts.map +1 -1
  216. package/dist/src/health.js +22 -1
  217. package/dist/src/health.js.map +1 -1
  218. package/dist/src/historical-identity-store.d.ts +8 -1
  219. package/dist/src/historical-identity-store.d.ts.map +1 -1
  220. package/dist/src/historical-identity-store.js +28 -10
  221. package/dist/src/historical-identity-store.js.map +1 -1
  222. package/dist/src/index.d.ts +2 -0
  223. package/dist/src/index.d.ts.map +1 -1
  224. package/dist/src/index.js +2 -0
  225. package/dist/src/index.js.map +1 -1
  226. package/dist/src/installation.d.ts +2 -0
  227. package/dist/src/installation.d.ts.map +1 -1
  228. package/dist/src/installation.js +6 -3
  229. package/dist/src/installation.js.map +1 -1
  230. package/dist/src/instance-lock.d.ts +45 -0
  231. package/dist/src/instance-lock.d.ts.map +1 -0
  232. package/dist/src/instance-lock.js +243 -0
  233. package/dist/src/instance-lock.js.map +1 -0
  234. package/dist/src/machine-command-executor.d.ts +22 -7
  235. package/dist/src/machine-command-executor.d.ts.map +1 -1
  236. package/dist/src/machine-command-executor.js +80 -19
  237. package/dist/src/machine-command-executor.js.map +1 -1
  238. package/dist/src/node-version.d.ts +8 -0
  239. package/dist/src/node-version.d.ts.map +1 -0
  240. package/dist/src/node-version.js +17 -0
  241. package/dist/src/node-version.js.map +1 -0
  242. package/dist/src/observer-log.d.ts +50 -0
  243. package/dist/src/observer-log.d.ts.map +1 -0
  244. package/dist/src/observer-log.js +141 -0
  245. package/dist/src/observer-log.js.map +1 -0
  246. package/dist/src/pair.d.ts +68 -1
  247. package/dist/src/pair.d.ts.map +1 -1
  248. package/dist/src/pair.js +204 -65
  249. package/dist/src/pair.js.map +1 -1
  250. package/dist/src/private-directory.d.ts +10 -0
  251. package/dist/src/private-directory.d.ts.map +1 -0
  252. package/dist/src/private-directory.js +66 -0
  253. package/dist/src/private-directory.js.map +1 -0
  254. package/dist/src/process-tree.d.ts +73 -0
  255. package/dist/src/process-tree.d.ts.map +1 -0
  256. package/dist/src/process-tree.js +256 -0
  257. package/dist/src/process-tree.js.map +1 -0
  258. package/dist/src/proxy.d.ts +68 -0
  259. package/dist/src/proxy.d.ts.map +1 -0
  260. package/dist/src/proxy.js +209 -0
  261. package/dist/src/proxy.js.map +1 -0
  262. package/dist/src/purge.d.ts +17 -0
  263. package/dist/src/purge.d.ts.map +1 -0
  264. package/dist/src/purge.js +84 -0
  265. package/dist/src/purge.js.map +1 -0
  266. package/dist/src/remove-machine.d.ts +5 -1
  267. package/dist/src/remove-machine.d.ts.map +1 -1
  268. package/dist/src/remove-machine.js +28 -14
  269. package/dist/src/remove-machine.js.map +1 -1
  270. package/dist/src/server-authority.d.ts +29 -0
  271. package/dist/src/server-authority.d.ts.map +1 -0
  272. package/dist/src/server-authority.js +106 -0
  273. package/dist/src/server-authority.js.map +1 -0
  274. package/dist/src/server-clock.d.ts +32 -0
  275. package/dist/src/server-clock.d.ts.map +1 -0
  276. package/dist/src/server-clock.js +72 -0
  277. package/dist/src/server-clock.js.map +1 -0
  278. package/dist/src/service-command.d.ts +20 -0
  279. package/dist/src/service-command.d.ts.map +1 -0
  280. package/dist/src/service-command.js +136 -0
  281. package/dist/src/service-command.js.map +1 -0
  282. package/dist/src/service.d.ts +98 -0
  283. package/dist/src/service.d.ts.map +1 -0
  284. package/dist/src/service.js +472 -0
  285. package/dist/src/service.js.map +1 -0
  286. package/dist/src/stream-client.d.ts +21 -1
  287. package/dist/src/stream-client.d.ts.map +1 -1
  288. package/dist/src/stream-client.js +137 -24
  289. package/dist/src/stream-client.js.map +1 -1
  290. package/dist/src/stream-state.d.ts +2 -0
  291. package/dist/src/stream-state.d.ts.map +1 -1
  292. package/dist/src/stream-state.js +5 -2
  293. package/dist/src/stream-state.js.map +1 -1
  294. package/dist/src/system-inspection.d.ts +78 -0
  295. package/dist/src/system-inspection.d.ts.map +1 -0
  296. package/dist/src/system-inspection.js +281 -0
  297. package/dist/src/system-inspection.js.map +1 -0
  298. package/dist/src/update.d.ts.map +1 -1
  299. package/dist/src/update.js +9 -3
  300. package/dist/src/update.js.map +1 -1
  301. package/dist/src/user-notices.d.ts +64 -0
  302. package/dist/src/user-notices.d.ts.map +1 -0
  303. package/dist/src/user-notices.js +141 -0
  304. package/dist/src/user-notices.js.map +1 -0
  305. package/package.json +7 -7
  306. package/dist/src/windows-process.d.ts +0 -7
  307. package/dist/src/windows-process.d.ts.map +0 -1
  308. package/dist/src/windows-process.js +0 -18
  309. package/dist/src/windows-process.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"guardian-process-monitor.js","sourceRoot":"","sources":["../../src/guardian-process-monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guardian-process-monitor.js","sourceRoot":"","sources":["../../src/guardian-process-monitor.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,25 @@
1
1
  import type { ObserverConfig } from "./config.js";
2
+ import { type StoredMachineCredential } from "./credential-store.js";
2
3
  export type ObserverStreamCursorHealth = Readonly<{
3
4
  machineId: string;
4
5
  acknowledgedSequence: string;
5
6
  updatedAt: string;
6
7
  }>;
8
+ /**
9
+ * How this computer consented: its owner at pairing, or its company with an
10
+ * enrollment code. `profile` is missing when no current consent is stored.
11
+ */
12
+ export type ObserverConsentHealth = Readonly<{
13
+ source: "owner" | "company";
14
+ profile?: "metadata" | "full";
15
+ policyVersion?: string;
16
+ consentedAt?: string;
17
+ enrollmentCodeLabel?: string;
18
+ }>;
19
+ /** The consent a stored credential records, for doctor. */
20
+ export declare function consentHealth(credential: StoredMachineCredential): ObserverConsentHealth;
21
+ /** One line saying how the computer consented. */
22
+ export declare function describeConsent(consent: ObserverConsentHealth): string;
7
23
  export type ObserverHealth = Readonly<{
8
24
  status: "ready" | "needs-pairing";
9
25
  observerVersion: string;
@@ -29,7 +45,9 @@ export type ObserverHealth = Readonly<{
29
45
  }>;
30
46
  streamCursor?: ObserverStreamCursorHealth;
31
47
  streamCursorIssue?: string;
48
+ /** How this computer consented, when it is paired. */
49
+ consent?: ObserverConsentHealth;
32
50
  checkedAt: string;
33
51
  }>;
34
- export declare function createHealthSnapshot(config: ObserverConfig, observerVersion: string, now?: Date, streamCursor?: ObserverStreamCursorHealth, streamCursorIssue?: string): ObserverHealth;
52
+ export declare function createHealthSnapshot(config: ObserverConfig, observerVersion: string, now?: Date, streamCursor?: ObserverStreamCursorHealth, streamCursorIssue?: string, consent?: ObserverConsentHealth): ObserverHealth;
35
53
  //# sourceMappingURL=health.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/health.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AASlD,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,MAAM,EAAE,OAAO,GAAG,eAAe,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,0BAA0B,EAAE,MAAM,CAAC;IACnC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,OAAO,CAAC;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,2BAA2B,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,sBAAsB,EAAE,OAAO,CAAC;IAChC,IAAI,EAAE,QAAQ,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAEH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,MAAM,EACvB,GAAG,GAAE,IAAiB,EACtB,YAAY,CAAC,EAAE,0BAA0B,EACzC,iBAAiB,CAAC,EAAE,MAAM,GACzB,cAAc,CAoChB"}
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/health.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAmB,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAStF,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC,CAAC;AAEH,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,UAAU,EAAE,uBAAuB,GAAG,qBAAqB,CAQxF;AAED,kDAAkD;AAClD,wBAAgB,eAAe,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,CAOtE;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,MAAM,EAAE,OAAO,GAAG,eAAe,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,0BAA0B,EAAE,MAAM,CAAC;IACnC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,OAAO,CAAC;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,2BAA2B,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,sBAAsB,EAAE,OAAO,CAAC;IAChC,IAAI,EAAE,QAAQ,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAEH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,MAAM,EACvB,GAAG,GAAE,IAAiB,EACtB,YAAY,CAAC,EAAE,0BAA0B,EACzC,iBAAiB,CAAC,EAAE,MAAM,EAC1B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,cAAc,CAqChB"}
@@ -1,11 +1,31 @@
1
1
  import { arch, hostname, platform, release } from "node:os";
2
+ import { consentSourceOf } from "./credential-store.js";
2
3
  const metadataOnlyCategories = new Set([
3
4
  "processMetadata",
4
5
  "fileMetadata",
5
6
  "networkMetadata",
6
7
  "browserMetadata",
7
8
  ]);
8
- export function createHealthSnapshot(config, observerVersion, now = new Date(), streamCursor, streamCursorIssue) {
9
+ /** The consent a stored credential records, for doctor. */
10
+ export function consentHealth(credential) {
11
+ return Object.freeze({
12
+ source: consentSourceOf(credential),
13
+ ...(credential.consentProfile === undefined ? {} : { profile: credential.consentProfile }),
14
+ ...(credential.consentPolicyVersion === undefined ? {} : { policyVersion: credential.consentPolicyVersion }),
15
+ ...(credential.consentedAt === undefined ? {} : { consentedAt: credential.consentedAt }),
16
+ ...(credential.enrollmentCodeLabel === undefined ? {} : { enrollmentCodeLabel: credential.enrollmentCodeLabel }),
17
+ });
18
+ }
19
+ /** One line saying how the computer consented. */
20
+ export function describeConsent(consent) {
21
+ const who = consent.source === "company"
22
+ ? `your company, with the enrollment code${consent.enrollmentCodeLabel === undefined ? "" : ` "${consent.enrollmentCodeLabel}"`}`
23
+ : "the computer's owner, at pairing";
24
+ return consent.profile === undefined
25
+ ? `none current (last given by ${who})`
26
+ : `given by ${who}, for the ${consent.profile} profile`;
27
+ }
28
+ export function createHealthSnapshot(config, observerVersion, now = new Date(), streamCursor, streamCursorIssue, consent) {
9
29
  return Object.freeze({
10
30
  status: config.machineTokenConfigured ? "ready" : "needs-pairing",
11
31
  observerVersion,
@@ -35,6 +55,7 @@ export function createHealthSnapshot(config, observerVersion, now = new Date(),
35
55
  ? {}
36
56
  : { streamCursor: Object.freeze(streamCursor) }),
37
57
  ...(streamCursorIssue === undefined ? {} : { streamCursorIssue }),
58
+ ...(consent === undefined ? {} : { consent }),
38
59
  checkedAt: now.toISOString(),
39
60
  });
40
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAG5D,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,iBAAiB;IACjB,cAAc;IACd,iBAAiB;IACjB,iBAAiB;CAClB,CAAC,CAAC;AAoCH,MAAM,UAAU,oBAAoB,CAClC,MAAsB,EACtB,eAAuB,EACvB,MAAY,IAAI,IAAI,EAAE,EACtB,YAAyC,EACzC,iBAA0B;IAE1B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;QACjE,eAAe;QACf,kBAAkB,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM;QACjD,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;QACjC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,0BAA0B,EAAE,MAAM,CAAC,0BAA0B;QAC7D,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;QACrD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,2BAA2B,EAAE,MAAM,CAAC,MAAM,CACxC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;aAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CACjC;QACD,sBAAsB,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CACzD,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAC1E;QACD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;YAClB,YAAY,EAAE,IAAI,EAAE;YACpB,QAAQ,EAAE,QAAQ,EAAE;YACpB,QAAQ,EAAE,QAAQ,EAAE;YACpB,OAAO,EAAE,OAAO,EAAE;SACnB,CAAC;QACF,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,OAAO,CAAC,OAAO;SACtB,CAAC;QACF,GAAG,CAAC,YAAY,KAAK,SAAS;YAC5B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC;QACjE,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;KAC7B,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/health.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,13 @@ export type HistoricalIdentityScope = Readonly<{
3
3
  tenantId: string;
4
4
  machineId: string;
5
5
  }>;
6
+ export type HistoricalIdentityStoreOptions = Readonly<{
7
+ /**
8
+ * Called when the catalog could not be written. The identities stay in
9
+ * memory and the next `remember` writes the catalog again.
10
+ */
11
+ onSaveError?: (error: unknown) => void;
12
+ }>;
6
13
  /**
7
14
  * Stores only sanitized inventory metadata needed to keep stopped runtime and
8
15
  * unattributed source history targets addressable after observer restart.
@@ -11,7 +18,7 @@ export type HistoricalIdentityScope = Readonly<{
11
18
  */
12
19
  export declare class HistoricalIdentityStore {
13
20
  #private;
14
- constructor(dataDirectory: string, scope: HistoricalIdentityScope);
21
+ constructor(dataDirectory: string, scope: HistoricalIdentityScope, options?: HistoricalIdentityStoreOptions);
15
22
  load(): Promise<readonly AgentIdentity[]>;
16
23
  remember(candidates: readonly AgentIdentity[]): Promise<readonly AgentIdentity[]>;
17
24
  identities(): readonly AgentIdentity[];
@@ -1 +1 @@
1
- {"version":3,"file":"historical-identity-store.d.ts","sourceRoot":"","sources":["../../src/historical-identity-store.ts"],"names":[],"mappings":"AAoBA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,sCAAsC,CAAC;AAW9C,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAwBH;;;;;GAKG;AACH,qBAAa,uBAAuB;;gBAUhC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,uBAAuB;IAQhC,IAAI,IAAI,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC;IAKnC,QAAQ,CACZ,UAAU,EAAE,SAAS,aAAa,EAAE,GACnC,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC;IAgCpC,UAAU,IAAI,SAAS,aAAa,EAAE;CAyFvC;AAED,wBAAgB,sCAAsC,CACpD,SAAS,EAAE,cAAc,EACzB,UAAU,EAAE,SAAS,aAAa,EAAE,GACnC,cAAc,CAyChB"}
1
+ {"version":3,"file":"historical-identity-store.d.ts","sourceRoot":"","sources":["../../src/historical-identity-store.ts"],"names":[],"mappings":"AAqBA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,sCAAsC,CAAC;AAW9C,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAEH,MAAM,MAAM,8BAA8B,GAAG,QAAQ,CAAC;IACpD;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC,CAAC,CAAC;AAwBH;;;;;GAKG;AACH,qBAAa,uBAAuB;;gBAWhC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,uBAAuB,EAC9B,OAAO,GAAE,8BAAmC;IAgB9C,IAAI,IAAI,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC;IAKnC,QAAQ,CACZ,UAAU,EAAE,SAAS,aAAa,EAAE,GACnC,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC;IA0CpC,UAAU,IAAI,SAAS,aAAa,EAAE;CAyFvC;AAED,wBAAgB,sCAAsC,CACpD,SAAS,EAAE,cAAc,EACzB,UAAU,EAAE,SAAS,aAAa,EAAE,GACnC,cAAc,CAyChB"}
@@ -1,6 +1,8 @@
1
+ import { makeDirectoryPrivate } from "./private-directory.js";
1
2
  import { randomUUID } from "node:crypto";
2
- import { chmod, mkdir, readFile, rename, stat, unlink, writeFile, } from "node:fs/promises";
3
+ import { chmod, mkdir, readFile, stat, unlink, writeFile, } from "node:fs/promises";
3
4
  import { join } from "node:path";
5
+ import { atomicReplace } from "./atomic-replace.js";
4
6
  import { create } from "@bufbuild/protobuf";
5
7
  import { timestampDate, timestampFromDate, } from "@bufbuild/protobuf/wkt";
6
8
  import { AgentKind, AgentState, } from "./generated/phigon/v1/common_pb.js";
@@ -26,11 +28,15 @@ export class HistoricalIdentityStore {
26
28
  #loadPromise;
27
29
  #saveChain = Promise.resolve();
28
30
  #needsRewrite = false;
29
- constructor(dataDirectory, scope) {
31
+ #onSaveError;
32
+ constructor(dataDirectory, scope, options = {}) {
30
33
  validateScope(scope);
31
34
  this.#dataDirectory = dataDirectory;
32
35
  this.#path = join(dataDirectory, catalogFileName);
33
36
  this.#scope = Object.freeze({ ...scope });
37
+ this.#onSaveError = options.onSaveError ?? ((error) => {
38
+ process.emitWarning(`Saved agent identities could not be written and are retried on the next pass: ${error instanceof Error ? error.message : String(error)}`, { code: "PHIGON_IDENTITY_CATALOG" });
39
+ });
34
40
  }
35
41
  load() {
36
42
  this.#loadPromise ??= this.#loadOnce();
@@ -47,17 +53,28 @@ export class HistoricalIdentityStore {
47
53
  if (sanitized === undefined)
48
54
  continue;
49
55
  const previous = this.#identities.get(sanitized.agentId);
56
+ // Discovery refreshes the observation time of every running agent
57
+ // on each pass. Keep the newest time in memory, but rewrite the
58
+ // catalog only when something else changed.
50
59
  if (previous === undefined ||
51
- serializedIdentity(previous) !== serializedIdentity(sanitized)) {
52
- this.#identities.set(sanitized.agentId, sanitized);
60
+ comparableIdentity(previous) !== comparableIdentity(sanitized)) {
53
61
  changed = true;
54
62
  }
63
+ this.#identities.set(sanitized.agentId, sanitized);
55
64
  }
56
65
  if (this.#bound())
57
66
  changed = true;
58
67
  if (changed) {
59
- await this.#save();
60
- this.#needsRewrite = false;
68
+ try {
69
+ await this.#save();
70
+ this.#needsRewrite = false;
71
+ }
72
+ catch (error) {
73
+ // A catalog that cannot be written, for example while Windows
74
+ // holds it locked, must not stop discovery or collection.
75
+ this.#needsRewrite = true;
76
+ this.#onSaveError(error);
77
+ }
61
78
  }
62
79
  return this.identities();
63
80
  });
@@ -122,7 +139,7 @@ export class HistoricalIdentityStore {
122
139
  }
123
140
  async #save() {
124
141
  await mkdir(this.#dataDirectory, { recursive: true, mode: 0o700 });
125
- await chmod(this.#dataDirectory, 0o700);
142
+ await makeDirectoryPrivate(this.#dataDirectory);
126
143
  const temporaryPath = `${this.#path}.${process.pid}.${randomUUID()}.tmp`;
127
144
  const catalog = {
128
145
  version: catalogVersion,
@@ -133,7 +150,7 @@ export class HistoricalIdentityStore {
133
150
  };
134
151
  try {
135
152
  await writeFile(temporaryPath, `${JSON.stringify(catalog)}\n`, { encoding: "utf8", flag: "wx", mode: 0o600 });
136
- await rename(temporaryPath, this.#path);
153
+ await atomicReplace(temporaryPath, this.#path);
137
154
  await chmod(this.#path, 0o600);
138
155
  }
139
156
  catch (error) {
@@ -382,8 +399,9 @@ function inventoryRetentionOrder(left, right) {
382
399
  return rightSource - leftSource;
383
400
  return recentIdentityFirst(left, right);
384
401
  }
385
- function serializedIdentity(value) {
386
- return JSON.stringify(storedIdentity(value));
402
+ /** The stored identity without its observation time. */
403
+ function comparableIdentity(value) {
404
+ return JSON.stringify({ ...storedIdentity(value), last_observed_at: "" });
387
405
  }
388
406
  function isNodeError(error) {
389
407
  return error instanceof Error && "code" in error;
@@ -1 +1 @@
1
- {"version":3,"file":"historical-identity-store.js","sourceRoot":"","sources":["../../src/historical-identity-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"historical-identity-store.js","sourceRoot":"","sources":["../../src/historical-identity-store.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,11 @@ export { FileCredentialStore, type CredentialStore, type StoredMachineCredential
4
4
  export { removeMachine, type RemoveMachineResult, } from "./remove-machine.js";
5
5
  export { CustomAgentRegistry, customAgentRegistration, type CustomAgentRegistration, } from "./custom-agent-registry.js";
6
6
  export { pairMachine, type PairOptions, type PairResult, } from "./pair.js";
7
+ export { EnrollmentError, enrollMachine, enrollmentExitCodes, type EnrollOptions, type EnrollResult, } from "./enroll.js";
7
8
  export { BoundedEventQueue, type QueueMetrics, } from "./event-queue.js";
8
9
  export { FileBackedEventQueue, clearEventSpool, } from "./event-spool.js";
9
10
  export { ObserverStreamClient, type ObserverStreamMetrics, type StreamClientOptions, } from "./stream-client.js";
11
+ export { ServerClock } from "./server-clock.js";
10
12
  export { StreamStateStore, type StreamState, } from "./stream-state.js";
11
13
  export { FileActionPolicyStore, managedActionNames, type ActionPolicyPersistence, type ManagedActionName, type StoredActionPolicy, } from "./action-policy.js";
12
14
  export * from "./discovery/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,GAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,uBAAuB,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,aAAa,EACb,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,uBAAuB,GAC7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,iBAAiB,EACjB,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,gBAAgB,EAChB,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,GAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,uBAAuB,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,aAAa,EACb,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,uBAAuB,GAC7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,gBAAgB,EAChB,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
package/dist/src/index.js CHANGED
@@ -4,9 +4,11 @@ export { FileCredentialStore, } from "./credential-store.js";
4
4
  export { removeMachine, } from "./remove-machine.js";
5
5
  export { CustomAgentRegistry, customAgentRegistration, } from "./custom-agent-registry.js";
6
6
  export { pairMachine, } from "./pair.js";
7
+ export { EnrollmentError, enrollMachine, enrollmentExitCodes, } from "./enroll.js";
7
8
  export { BoundedEventQueue, } from "./event-queue.js";
8
9
  export { FileBackedEventQueue, clearEventSpool, } from "./event-spool.js";
9
10
  export { ObserverStreamClient, } from "./stream-client.js";
11
+ export { ServerClock } from "./server-clock.js";
10
12
  export { StreamStateStore, } from "./stream-state.js";
11
13
  export { FileActionPolicyStore, managedActionNames, } from "./action-policy.js";
12
14
  export * from "./discovery/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GAMX,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,GAErB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,GAGpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,aAAa,GAEd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GAExB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,WAAW,GAGZ,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,iBAAiB,GAElB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,GAGrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GAInB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GAMX,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,GAErB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,GAGpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,aAAa,GAEd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GAExB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,WAAW,GAGZ,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,eAAe,EACf,aAAa,EACb,mBAAmB,GAGpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,GAElB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,GAGrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GAInB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
@@ -1,2 +1,4 @@
1
+ /** The file holding this installation's ID, in the data directory. */
2
+ export declare const installationFileName = "installation-id";
1
3
  export declare function loadOrCreateInstallationID(dataDirectory: string): Promise<string>;
2
4
  //# sourceMappingURL=installation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"installation.d.ts","sourceRoot":"","sources":["../../src/installation.ts"],"names":[],"mappings":"AAOA,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAkCjB"}
1
+ {"version":3,"file":"installation.d.ts","sourceRoot":"","sources":["../../src/installation.ts"],"names":[],"mappings":"AAKA,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAKtD,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAkCjB"}
@@ -1,11 +1,14 @@
1
+ import { makeDirectoryPrivate } from "./private-directory.js";
1
2
  import { randomUUID } from "node:crypto";
2
- import { chmod, mkdir, readFile, writeFile } from "node:fs/promises";
3
+ import { mkdir, readFile, writeFile } from "node:fs/promises";
3
4
  import { join } from "node:path";
5
+ /** The file holding this installation's ID, in the data directory. */
6
+ export const installationFileName = "installation-id";
4
7
  const uuidPattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
5
8
  export async function loadOrCreateInstallationID(dataDirectory) {
6
9
  await mkdir(dataDirectory, { recursive: true, mode: 0o700 });
7
- await chmod(dataDirectory, 0o700);
8
- const installationPath = join(dataDirectory, "installation-id");
10
+ await makeDirectoryPrivate(dataDirectory);
11
+ const installationPath = join(dataDirectory, installationFileName);
9
12
  try {
10
13
  const existing = (await readFile(installationPath, "utf8")).trim();
11
14
  if (!uuidPattern.test(existing)) {
@@ -1 +1 @@
1
- {"version":3,"file":"installation.js","sourceRoot":"","sources":["../../src/installation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,WAAW,GACf,4EAA4E,CAAC;AAE/E,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,aAAqB;IAErB,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,MAAM,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAClC,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,gBAAgB,EAAE,GAAG,cAAc,IAAI,EAAE;YACvD,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QACH,OAAO,cAAc,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"installation.js","sourceRoot":"","sources":["../../src/installation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,sEAAsE;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAEtD,MAAM,WAAW,GACf,4EAA4E,CAAC;AAE/E,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,aAAqB;IAErB,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;IACnE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,gBAAgB,EAAE,GAAG,cAAc,IAAI,EAAE;YACvD,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QACH,OAAO,cAAc,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACnD,CAAC"}
@@ -0,0 +1,45 @@
1
+ export type InstanceLockOptions = Readonly<{
2
+ pid?: number;
3
+ /** When this process started; written to the lock for diagnosis. */
4
+ startedAt?: Date;
5
+ isAlive?: (pid: number) => boolean;
6
+ /**
7
+ * When the running process with this ID started, in epoch milliseconds,
8
+ * or null when the operating system does not say.
9
+ */
10
+ processStartedAt?: (pid: number) => Promise<number | null>;
11
+ /** When the computer last started, in epoch milliseconds. */
12
+ bootedAt?: () => number;
13
+ now?: () => number;
14
+ }>;
15
+ export declare class ObserverAlreadyRunningError extends Error {
16
+ }
17
+ /** Who holds a data directory, from `InstanceLock.inspect`. */
18
+ export type InstanceLockHolder = Readonly<{
19
+ running: boolean;
20
+ pid?: number;
21
+ startedAt?: string;
22
+ }>;
23
+ /**
24
+ * Holds a data directory for one running observer. Two `run` processes on
25
+ * one directory would reuse sequence numbers and overwrite each other's
26
+ * spool, cursors and saved state.
27
+ *
28
+ * The lock is a file created with the exclusive `wx` flag that names the
29
+ * holder's process ID and start time. A lock whose process is gone, that was
30
+ * taken before the computer last started, or whose process ID now belongs to
31
+ * a process that started at another time, is stale and is taken over.
32
+ */
33
+ export declare class InstanceLock {
34
+ #private;
35
+ private constructor();
36
+ static acquire(dataDirectory: string, options?: InstanceLockOptions): Promise<InstanceLock>;
37
+ /**
38
+ * Whether an observer holds this data directory now, judged the way
39
+ * `acquire` judges it, without taking or removing the lock.
40
+ */
41
+ static inspect(dataDirectory: string, options?: InstanceLockOptions): Promise<InstanceLockHolder>;
42
+ release(): Promise<void>;
43
+ }
44
+ export declare function processIsAlive(pid: number): boolean;
45
+ //# sourceMappingURL=instance-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-lock.d.ts","sourceRoot":"","sources":["../../src/instance-lock.ts"],"names":[],"mappings":"AAqBA,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3D,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,qBAAa,2BAA4B,SAAQ,KAAK;CAAG;AAEzD,+DAA+D;AAC/D,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,qBAAa,YAAY;;IAMvB,OAAO;WAQM,OAAO,CAClB,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,YAAY,CAAC;IAqDxB;;;OAGG;WACU,OAAO,CAClB,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC;IA6BxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB/B;AAgFD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CASnD"}