@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/dist/src/event-spool.js
CHANGED
|
@@ -1,30 +1,125 @@
|
|
|
1
|
+
import { makeDirectoryPrivateSync } from "./private-directory.js";
|
|
1
2
|
import { createCipheriv, createDecipheriv, createHash, randomBytes, } from "node:crypto";
|
|
2
|
-
import { appendFileSync, chmodSync, existsSync, mkdirSync, readFileSync, readdirSync,
|
|
3
|
+
import { appendFileSync, chmodSync, existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync, statSync, unlinkSync, writeFileSync, } from "node:fs";
|
|
3
4
|
import { join } from "node:path";
|
|
4
5
|
import { fromBinary, toBinary } from "@bufbuild/protobuf";
|
|
6
|
+
import { atomicReplaceSync } from "./atomic-replace.js";
|
|
5
7
|
import { EventEnvelopeSchema, } from "./generated/phigon/v1/telemetry_pb.js";
|
|
6
8
|
import { BoundedEventQueue } from "./event-queue.js";
|
|
9
|
+
import { streamStateFileName } from "./stream-state.js";
|
|
7
10
|
const spoolVersion = 1;
|
|
8
11
|
const spoolFileName = "telemetry-spool.jsonl";
|
|
9
|
-
const
|
|
10
|
-
|
|
12
|
+
const defaultMaxSpoolBytes = 64 << 20;
|
|
13
|
+
// Buffered records are written together, at most this long after the first.
|
|
14
|
+
const flushDelayMs = 100;
|
|
15
|
+
// A burst this large is written at once rather than held in memory.
|
|
16
|
+
const flushAfterBytes = 1 << 20;
|
|
17
|
+
// The spool is rewritten once records that no longer matter (acknowledged,
|
|
18
|
+
// discarded or replaced events, and acknowledgements) outweigh the queued
|
|
19
|
+
// events and pass this size, or a quarter of the budget if that is smaller.
|
|
20
|
+
const compactAfterDeadBytes = 1 << 20;
|
|
11
21
|
const scopedIDPattern = /^[A-Za-z0-9._:-]{1,128}$/u;
|
|
22
|
+
const retiredPairingsDirectory = "retired-pairings";
|
|
23
|
+
const damagedSpoolsDirectory = "damaged-spools";
|
|
24
|
+
// Each retired or damaged spool can be as large as the spool budget.
|
|
25
|
+
const retainedRetiredPairings = 3;
|
|
12
26
|
/**
|
|
13
27
|
* An encrypted append-only delivery spool. The in-memory queue remains the hot
|
|
14
28
|
* path, while this log makes unacknowledged events recoverable after an
|
|
15
29
|
* observer restart without writing prompt or tool content as plaintext.
|
|
30
|
+
*
|
|
31
|
+
* Records are group-committed: they are buffered and written with one
|
|
32
|
+
* flushed append at most 100 ms later, or at once by `flush`. An event is
|
|
33
|
+
* durable only after a flush, so a source checkpoint may move past an event
|
|
34
|
+
* only after `flush` returns (the collector's `flushDelivery`). Events the
|
|
35
|
+
* server already acknowledged are safe either way, and a lost
|
|
36
|
+
* acknowledgement or discard record only sends an event again.
|
|
16
37
|
*/
|
|
17
38
|
export class FileBackedEventQueue extends BoundedEventQueue {
|
|
18
39
|
#dataDirectory;
|
|
19
40
|
#path;
|
|
41
|
+
#maxBytes;
|
|
42
|
+
#compactAfterDeadBytes;
|
|
20
43
|
#scope;
|
|
21
44
|
#key;
|
|
22
|
-
|
|
23
|
-
|
|
45
|
+
// Prepare the private directory and secure the file once, and track the
|
|
46
|
+
// spool size here instead of stat-ing it before each write.
|
|
47
|
+
#directoryPrepared = false;
|
|
48
|
+
#fileSecured = false;
|
|
49
|
+
#size;
|
|
50
|
+
// Records accepted in memory but not yet written, oldest first.
|
|
51
|
+
#buffer = [];
|
|
52
|
+
#bufferBytes = 0;
|
|
53
|
+
#flushTimer;
|
|
54
|
+
// Why the last write failed. A failed append can leave a partial record,
|
|
55
|
+
// so the next write rewrites the whole spool instead of appending.
|
|
56
|
+
#writeFailure;
|
|
57
|
+
constructor(dataDirectory, capacity = 2048, maxBytes = defaultMaxSpoolBytes) {
|
|
24
58
|
super(capacity);
|
|
59
|
+
if (!Number.isSafeInteger(maxBytes) || maxBytes < 1) {
|
|
60
|
+
throw new Error("Telemetry spool byte budget must be a positive integer.");
|
|
61
|
+
}
|
|
25
62
|
this.#dataDirectory = dataDirectory;
|
|
26
63
|
this.#path = join(dataDirectory, spoolFileName);
|
|
64
|
+
this.#maxBytes = maxBytes;
|
|
65
|
+
this.#compactAfterDeadBytes = Math.min(compactAfterDeadBytes, Math.max(1, Math.floor(maxBytes / 4)));
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Writes every buffered record with one flushed append. Throws when the
|
|
69
|
+
* spool cannot be written; the records stay buffered and the next write
|
|
70
|
+
* retries them.
|
|
71
|
+
*/
|
|
72
|
+
flush() {
|
|
73
|
+
if (this.#flushTimer !== undefined) {
|
|
74
|
+
clearTimeout(this.#flushTimer);
|
|
75
|
+
this.#flushTimer = undefined;
|
|
76
|
+
}
|
|
77
|
+
if (this.#writeFailure !== undefined) {
|
|
78
|
+
this.#compact();
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (this.#buffer.length === 0)
|
|
82
|
+
return;
|
|
83
|
+
const encoded = this.#buffer.join("");
|
|
84
|
+
try {
|
|
85
|
+
this.#appendToFile(encoded);
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
this.#writeFailure = error;
|
|
89
|
+
this.#size = undefined;
|
|
90
|
+
throw error;
|
|
91
|
+
}
|
|
92
|
+
this.#size = this.#currentSize() + this.#bufferBytes;
|
|
93
|
+
this.#buffer = [];
|
|
94
|
+
this.#bufferBytes = 0;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Adds the spool's size by bytes: the stored size of the unacknowledged
|
|
98
|
+
* events, which is what a compaction keeps, and the budget it must fit.
|
|
99
|
+
*/
|
|
100
|
+
metrics() {
|
|
101
|
+
return Object.freeze({
|
|
102
|
+
...super.metrics(),
|
|
103
|
+
bytes: this.queuedBytes(),
|
|
104
|
+
byteCapacity: this.#maxBytes,
|
|
105
|
+
});
|
|
27
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Loads the spool for this machine. None of these stops the observer, and
|
|
109
|
+
* the returned notice says which one happened:
|
|
110
|
+
* - A spool that an earlier pairing of this data directory left for
|
|
111
|
+
* another machine cannot be delivered as this one: it is moved aside
|
|
112
|
+
* with its stream cursor.
|
|
113
|
+
* - A spool that is too large to read safely, or holds a record that does
|
|
114
|
+
* not verify before its last line, is moved aside on its own and the
|
|
115
|
+
* queue starts empty. Its events were written before their sources'
|
|
116
|
+
* checkpoints moved, so they are not read again; the moved copy keeps
|
|
117
|
+
* them for an administrator.
|
|
118
|
+
* - A spool with more events than the queue holds, as after lowering
|
|
119
|
+
* PHIGON_ACTIVITY_QUEUE_CAPACITY, keeps the newest events, as a full
|
|
120
|
+
* queue does while running. The control plane records the skipped
|
|
121
|
+
* sequence numbers as a gap.
|
|
122
|
+
*/
|
|
28
123
|
restore(tenantID, machineID, credential) {
|
|
29
124
|
validateScope(tenantID, machineID);
|
|
30
125
|
if (!credential.startsWith("phg_m_") || credential.length > 256) {
|
|
@@ -38,34 +133,57 @@ export class FileBackedEventQueue extends BoundedEventQueue {
|
|
|
38
133
|
!this.#key?.equals(key)) {
|
|
39
134
|
throw new Error("Telemetry spool scope changed while the observer was running.");
|
|
40
135
|
}
|
|
41
|
-
return;
|
|
136
|
+
return undefined;
|
|
42
137
|
}
|
|
43
138
|
this.#scope = scope;
|
|
44
139
|
this.#key = key;
|
|
45
140
|
try {
|
|
46
141
|
if (!existsSync(this.#path))
|
|
47
|
-
return;
|
|
142
|
+
return undefined;
|
|
48
143
|
const metadata = statSync(this.#path);
|
|
49
|
-
if (!metadata.isFile() || metadata.size >
|
|
50
|
-
|
|
144
|
+
if (!metadata.isFile() || metadata.size > this.#maxBytes) {
|
|
145
|
+
return this.#setAsideDamaged();
|
|
51
146
|
}
|
|
52
147
|
const restored = new BoundedEventQueue(this.metrics().capacity);
|
|
53
148
|
const raw = readFileSync(this.#path, "utf8");
|
|
149
|
+
// Every record names its machine in plain text, so another machine's
|
|
150
|
+
// spool is told apart from a damaged one.
|
|
151
|
+
const owner = spoolOwner(raw);
|
|
152
|
+
if (owner !== undefined &&
|
|
153
|
+
(owner.tenantID !== tenantID || owner.machineID !== machineID)) {
|
|
154
|
+
this.#size = undefined;
|
|
155
|
+
const directory = retirePairingState(this.#dataDirectory, owner.machineID);
|
|
156
|
+
return directory === undefined
|
|
157
|
+
? undefined
|
|
158
|
+
: { reason: "other_machine", directory };
|
|
159
|
+
}
|
|
54
160
|
const lines = raw.split("\n");
|
|
55
161
|
const completeLines = lines.slice(0, -1);
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
162
|
+
// Events left out because the queue was full, until a later record
|
|
163
|
+
// acknowledges or discards them.
|
|
164
|
+
const dropped = new Set();
|
|
165
|
+
try {
|
|
166
|
+
for (const line of completeLines) {
|
|
167
|
+
if (line.length === 0)
|
|
168
|
+
continue;
|
|
169
|
+
const record = parseRecord(line, scope);
|
|
170
|
+
this.#restoreRecord(record, restored, Buffer.byteLength(line) + 1, dropped);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
return this.#setAsideDamaged();
|
|
61
175
|
}
|
|
62
176
|
if (!raw.endsWith("\n") && (lines.at(-1)?.length ?? 0) > 0) {
|
|
63
|
-
// A crash can leave only the final
|
|
64
|
-
//
|
|
177
|
+
// A crash can leave only the final write incomplete. Its records
|
|
178
|
+
// were never flushed, so no source checkpoint moved past them:
|
|
179
|
+
// ignore that tail and compact the verified prefix.
|
|
65
180
|
}
|
|
66
|
-
this.#writeCompactedQueue(restored);
|
|
181
|
+
const sizes = this.#writeCompactedQueue(restored);
|
|
67
182
|
this.replaceState(restored);
|
|
68
|
-
this
|
|
183
|
+
this.reweigh(sizes);
|
|
184
|
+
const acknowledged = restored.metrics().acknowledged;
|
|
185
|
+
const lost = [...dropped].filter((sequence) => sequence > acknowledged).length;
|
|
186
|
+
return lost === 0 ? undefined : { reason: "over_capacity", dropped: lost };
|
|
69
187
|
}
|
|
70
188
|
catch (error) {
|
|
71
189
|
this.#scope = undefined;
|
|
@@ -80,24 +198,33 @@ export class FileBackedEventQueue extends BoundedEventQueue {
|
|
|
80
198
|
"before an unacknowledged event could be discarded.");
|
|
81
199
|
}
|
|
82
200
|
validateEventScope(value, scope, sequence);
|
|
201
|
+
// While the disk refuses writes, refuse new events before they reach
|
|
202
|
+
// memory, as an unbuffered append did; the collector reads them again.
|
|
203
|
+
if (this.#writeFailure !== undefined)
|
|
204
|
+
this.flush();
|
|
83
205
|
const record = this.#encryptedRecord(value, sequence, coalesceKey);
|
|
84
|
-
this.#append(record);
|
|
85
|
-
super.enqueue(value, sequence, coalesceKey);
|
|
206
|
+
const bytes = this.#append(record);
|
|
207
|
+
super.enqueue(value, sequence, coalesceKey, bytes);
|
|
86
208
|
this.#compactIfNeeded();
|
|
87
209
|
}
|
|
210
|
+
// Removals apply in memory before they are buffered. On a full spool the
|
|
211
|
+
// compaction that makes room for the record then already leaves the
|
|
212
|
+
// removed events out, so an acknowledgement can always drain the spool.
|
|
213
|
+
// A removal lost in a crash only sends the event again, so removals are
|
|
214
|
+
// written lazily with the next group of records.
|
|
88
215
|
acknowledge(throughSequence) {
|
|
89
216
|
if (throughSequence <= this.metrics().acknowledged)
|
|
90
217
|
return;
|
|
91
|
-
this.#append(this.#sequenceRecord("acknowledge", throughSequence));
|
|
92
218
|
super.acknowledge(throughSequence);
|
|
219
|
+
this.#append(this.#sequenceRecord("acknowledge", throughSequence));
|
|
93
220
|
this.#compactIfNeeded();
|
|
94
221
|
}
|
|
95
222
|
discard(sequence) {
|
|
96
223
|
if (!this.pending().some((event) => event.sequence === sequence)) {
|
|
97
224
|
return false;
|
|
98
225
|
}
|
|
99
|
-
this.#append(this.#sequenceRecord("discard", sequence));
|
|
100
226
|
const discarded = super.discard(sequence);
|
|
227
|
+
this.#append(this.#sequenceRecord("discard", sequence));
|
|
101
228
|
this.#compactIfNeeded();
|
|
102
229
|
return discarded;
|
|
103
230
|
}
|
|
@@ -115,7 +242,7 @@ export class FileBackedEventQueue extends BoundedEventQueue {
|
|
|
115
242
|
});
|
|
116
243
|
this.#compact();
|
|
117
244
|
}
|
|
118
|
-
#restoreRecord(record, target) {
|
|
245
|
+
#restoreRecord(record, target, bytes, dropped) {
|
|
119
246
|
const sequence = parseSequence(record.sequence);
|
|
120
247
|
if (record.operation === "acknowledge") {
|
|
121
248
|
target.acknowledge(sequence);
|
|
@@ -123,13 +250,28 @@ export class FileBackedEventQueue extends BoundedEventQueue {
|
|
|
123
250
|
}
|
|
124
251
|
if (record.operation === "discard") {
|
|
125
252
|
target.discard(sequence);
|
|
253
|
+
dropped.delete(sequence);
|
|
126
254
|
return;
|
|
127
255
|
}
|
|
128
256
|
const event = this.#decrypt(record);
|
|
129
|
-
if (
|
|
130
|
-
|
|
257
|
+
if (sequence > target.metrics().acknowledged &&
|
|
258
|
+
!target.canEnqueue(record.coalesce_key)) {
|
|
259
|
+
// A full queue makes room by leaving out its oldest event.
|
|
260
|
+
const oldest = target.metrics().oldestSequence;
|
|
261
|
+
if (oldest !== undefined)
|
|
262
|
+
dropped.add(oldest);
|
|
131
263
|
}
|
|
132
|
-
target.enqueue(event, sequence, record.coalesce_key);
|
|
264
|
+
target.enqueue(event, sequence, record.coalesce_key, bytes);
|
|
265
|
+
}
|
|
266
|
+
/** Moves an unreadable spool aside so the queue can start empty. */
|
|
267
|
+
#setAsideDamaged() {
|
|
268
|
+
this.#size = undefined;
|
|
269
|
+
removeSpoolFiles(this.#dataDirectory, false);
|
|
270
|
+
const directory = moveAside(this.#dataDirectory, damagedSpoolsDirectory, "damaged", [spoolFileName]);
|
|
271
|
+
if (directory === undefined) {
|
|
272
|
+
throw new Error("Telemetry spool disappeared while it was being moved aside.");
|
|
273
|
+
}
|
|
274
|
+
return { reason: "damaged", directory };
|
|
133
275
|
}
|
|
134
276
|
#encryptedRecord(event, sequence, coalesceKey) {
|
|
135
277
|
const scope = this.#requireScope();
|
|
@@ -184,44 +326,119 @@ export class FileBackedEventQueue extends BoundedEventQueue {
|
|
|
184
326
|
sequence: sequence.toString(),
|
|
185
327
|
};
|
|
186
328
|
}
|
|
329
|
+
/** Buffer one record for the next group write and return its stored size. */
|
|
187
330
|
#append(record) {
|
|
188
|
-
mkdirSync(this.#dataDirectory, { recursive: true, mode: 0o700 });
|
|
189
|
-
chmodSync(this.#dataDirectory, 0o700);
|
|
190
331
|
const encoded = `${JSON.stringify(record)}\n`;
|
|
191
|
-
|
|
192
|
-
if (
|
|
332
|
+
const bytes = Buffer.byteLength(encoded);
|
|
333
|
+
if (this.#storedBytes() + bytes > this.#maxBytes) {
|
|
193
334
|
this.#compact();
|
|
194
|
-
size = statSync(this.#path).size;
|
|
195
335
|
}
|
|
196
|
-
if (
|
|
336
|
+
if (this.#storedBytes() + bytes > this.#maxBytes) {
|
|
197
337
|
throw new Error("Telemetry spool is full; collection stopped before data loss.");
|
|
198
338
|
}
|
|
199
|
-
|
|
339
|
+
this.#buffer.push(encoded);
|
|
340
|
+
this.#bufferBytes += bytes;
|
|
341
|
+
if (this.#bufferBytes >= flushAfterBytes) {
|
|
342
|
+
this.#flushQuietly();
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
345
|
+
this.#flushTimer ??= setTimeout(() => {
|
|
346
|
+
this.#flushTimer = undefined;
|
|
347
|
+
this.#flushQuietly();
|
|
348
|
+
}, flushDelayMs).unref();
|
|
349
|
+
}
|
|
350
|
+
return bytes;
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* A write that runs outside a caller who could handle its failure. The
|
|
354
|
+
* failure is kept: the next event is refused until a write succeeds, and
|
|
355
|
+
* no source checkpoint moves past an unwritten event.
|
|
356
|
+
*/
|
|
357
|
+
#flushQuietly() {
|
|
358
|
+
try {
|
|
359
|
+
this.flush();
|
|
360
|
+
}
|
|
361
|
+
catch {
|
|
362
|
+
// Kept in #writeFailure; the next write retries.
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
/** One flushed append of `encoded`. */
|
|
366
|
+
#appendToFile(encoded) {
|
|
367
|
+
this.#prepareDirectory();
|
|
368
|
+
if (this.#currentSize() === 0)
|
|
369
|
+
this.#fileSecured = false;
|
|
370
|
+
const options = {
|
|
200
371
|
encoding: "utf8",
|
|
201
372
|
mode: 0o600,
|
|
202
373
|
flush: true,
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
|
|
374
|
+
};
|
|
375
|
+
try {
|
|
376
|
+
appendFileSync(this.#path, encoded, options);
|
|
377
|
+
}
|
|
378
|
+
catch (error) {
|
|
379
|
+
if (!isNodeError(error) || error.code !== "ENOENT")
|
|
380
|
+
throw error;
|
|
381
|
+
// The data directory was removed while running: recreate it privately.
|
|
382
|
+
this.#directoryPrepared = false;
|
|
383
|
+
this.#fileSecured = false;
|
|
384
|
+
this.#size = 0;
|
|
385
|
+
this.#prepareDirectory();
|
|
386
|
+
appendFileSync(this.#path, encoded, options);
|
|
387
|
+
}
|
|
388
|
+
if (!this.#fileSecured) {
|
|
389
|
+
chmodSync(this.#path, 0o600);
|
|
390
|
+
this.#fileSecured = true;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
/** The spool's size once the buffered records are written. */
|
|
394
|
+
#storedBytes() {
|
|
395
|
+
return this.#currentSize() + this.#bufferBytes;
|
|
396
|
+
}
|
|
397
|
+
#prepareDirectory() {
|
|
398
|
+
if (this.#directoryPrepared)
|
|
399
|
+
return;
|
|
400
|
+
mkdirSync(this.#dataDirectory, { recursive: true, mode: 0o700 });
|
|
401
|
+
makeDirectoryPrivateSync(this.#dataDirectory);
|
|
402
|
+
this.#directoryPrepared = true;
|
|
403
|
+
}
|
|
404
|
+
#currentSize() {
|
|
405
|
+
if (this.#size === undefined) {
|
|
406
|
+
try {
|
|
407
|
+
this.#size = statSync(this.#path).size;
|
|
408
|
+
}
|
|
409
|
+
catch (error) {
|
|
410
|
+
if (!isNodeError(error) || error.code !== "ENOENT")
|
|
411
|
+
throw error;
|
|
412
|
+
this.#size = 0;
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
return this.#size;
|
|
206
416
|
}
|
|
207
417
|
#compactIfNeeded() {
|
|
208
|
-
|
|
418
|
+
// A compaction rewrites the queued events, so rewriting only once the
|
|
419
|
+
// records it drops outweigh them keeps its cost proportional to the
|
|
420
|
+
// records appended since the last one.
|
|
421
|
+
const live = this.queuedBytes();
|
|
422
|
+
const dead = this.#storedBytes() - live;
|
|
423
|
+
if (dead >= this.#compactAfterDeadBytes && dead > live)
|
|
209
424
|
this.#compact();
|
|
210
425
|
}
|
|
426
|
+
/** Rewrite the spool from memory, which also writes every buffered record. */
|
|
211
427
|
#compact() {
|
|
212
|
-
this.#writeCompactedQueue(this);
|
|
213
|
-
this.#operations = 0;
|
|
428
|
+
this.reweigh(this.#writeCompactedQueue(this));
|
|
214
429
|
}
|
|
430
|
+
/** Rewrite the spool as `queue` and return each queued event's stored size. */
|
|
215
431
|
#writeCompactedQueue(queue) {
|
|
216
432
|
this.#requireScope();
|
|
217
433
|
mkdirSync(this.#dataDirectory, { recursive: true, mode: 0o700 });
|
|
218
|
-
|
|
434
|
+
makeDirectoryPrivateSync(this.#dataDirectory);
|
|
219
435
|
const records = [
|
|
220
436
|
this.#sequenceRecord("acknowledge", queue.metrics().acknowledged),
|
|
221
437
|
...queue.entries().map((entry) => this.#encryptedRecord(entry.value, entry.sequence, entry.coalesceKey)),
|
|
222
438
|
];
|
|
223
|
-
const
|
|
224
|
-
|
|
439
|
+
const lines = records.map((record) => JSON.stringify(record));
|
|
440
|
+
const encoded = `${lines.join("\n")}\n`;
|
|
441
|
+
if (Buffer.byteLength(encoded) > this.#maxBytes) {
|
|
225
442
|
throw new Error("Telemetry spool is full; collection stopped before data loss.");
|
|
226
443
|
}
|
|
227
444
|
const temporaryPath = `${this.#path}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
|
|
@@ -232,8 +449,20 @@ export class FileBackedEventQueue extends BoundedEventQueue {
|
|
|
232
449
|
mode: 0o600,
|
|
233
450
|
flush: true,
|
|
234
451
|
});
|
|
235
|
-
|
|
452
|
+
this.#size = undefined;
|
|
453
|
+
atomicReplaceSync(temporaryPath, this.#path);
|
|
236
454
|
chmodSync(this.#path, 0o600);
|
|
455
|
+
this.#directoryPrepared = true;
|
|
456
|
+
this.#fileSecured = true;
|
|
457
|
+
this.#size = Buffer.byteLength(encoded);
|
|
458
|
+
// Memory already holds every buffered record's effect.
|
|
459
|
+
this.#buffer = [];
|
|
460
|
+
this.#bufferBytes = 0;
|
|
461
|
+
this.#writeFailure = undefined;
|
|
462
|
+
if (this.#flushTimer !== undefined) {
|
|
463
|
+
clearTimeout(this.#flushTimer);
|
|
464
|
+
this.#flushTimer = undefined;
|
|
465
|
+
}
|
|
237
466
|
}
|
|
238
467
|
catch (error) {
|
|
239
468
|
try {
|
|
@@ -244,6 +473,8 @@ export class FileBackedEventQueue extends BoundedEventQueue {
|
|
|
244
473
|
}
|
|
245
474
|
throw error;
|
|
246
475
|
}
|
|
476
|
+
// The first line is the acknowledgement; each event is one line.
|
|
477
|
+
return lines.slice(1).map((line) => Buffer.byteLength(line) + 1);
|
|
247
478
|
}
|
|
248
479
|
#requireScope() {
|
|
249
480
|
if (this.#scope === undefined) {
|
|
@@ -259,6 +490,50 @@ export class FileBackedEventQueue extends BoundedEventQueue {
|
|
|
259
490
|
}
|
|
260
491
|
}
|
|
261
492
|
export function clearEventSpool(dataDirectory) {
|
|
493
|
+
removeSpoolFiles(dataDirectory, true);
|
|
494
|
+
}
|
|
495
|
+
/**
|
|
496
|
+
* Moves what an earlier pairing of this data directory left behind out of
|
|
497
|
+
* the way, so a computer paired again as a new machine starts with an empty
|
|
498
|
+
* queue instead of refusing to read the old one. The encrypted spool, the
|
|
499
|
+
* stream cursor and `extraFiles` (such as the old credential, the only key
|
|
500
|
+
* that can still decrypt that spool) go to `retired-pairings/<time>-<machine>/`.
|
|
501
|
+
* Only the newest few pairings are kept. Returns that directory, or
|
|
502
|
+
* undefined when there was nothing to move.
|
|
503
|
+
*/
|
|
504
|
+
export function retirePairingState(dataDirectory, machineID, extraFiles = []) {
|
|
505
|
+
removeSpoolFiles(dataDirectory, false);
|
|
506
|
+
return moveAside(dataDirectory, retiredPairingsDirectory, machineID ?? "unknown", [spoolFileName, streamStateFileName, ...extraFiles]);
|
|
507
|
+
}
|
|
508
|
+
/**
|
|
509
|
+
* Moves the `names` that exist into a new `<rootName>/<time>-<label>-*`
|
|
510
|
+
* directory and keeps only the newest few such directories. Returns the new
|
|
511
|
+
* directory, or undefined when there was nothing to move.
|
|
512
|
+
*/
|
|
513
|
+
function moveAside(dataDirectory, rootName, label, names) {
|
|
514
|
+
const present = names.filter((name) => existsSync(join(dataDirectory, name)));
|
|
515
|
+
if (present.length === 0)
|
|
516
|
+
return undefined;
|
|
517
|
+
const root = join(dataDirectory, rootName);
|
|
518
|
+
mkdirSync(root, { recursive: true, mode: 0o700 });
|
|
519
|
+
chmodSync(root, 0o700);
|
|
520
|
+
// The time first, so names sort oldest first; Windows refuses ":" in names.
|
|
521
|
+
const stamp = new Date().toISOString().replace(/[:.]/gu, "-");
|
|
522
|
+
const safeLabel = label.replace(/[^A-Za-z0-9._-]/gu, "_");
|
|
523
|
+
const destination = mkdtempSync(join(root, `${stamp}-${safeLabel}-`));
|
|
524
|
+
for (const name of present) {
|
|
525
|
+
atomicReplaceSync(join(dataDirectory, name), join(destination, name));
|
|
526
|
+
}
|
|
527
|
+
const kept = readdirSync(root, { withFileTypes: true })
|
|
528
|
+
.filter((entry) => entry.isDirectory())
|
|
529
|
+
.map((entry) => entry.name)
|
|
530
|
+
.sort();
|
|
531
|
+
for (const name of kept.slice(0, -retainedRetiredPairings)) {
|
|
532
|
+
rmSync(join(root, name), { recursive: true, force: true });
|
|
533
|
+
}
|
|
534
|
+
return destination;
|
|
535
|
+
}
|
|
536
|
+
function removeSpoolFiles(dataDirectory, includeSpool) {
|
|
262
537
|
let names;
|
|
263
538
|
try {
|
|
264
539
|
names = readdirSync(dataDirectory);
|
|
@@ -270,7 +545,7 @@ export function clearEventSpool(dataDirectory) {
|
|
|
270
545
|
}
|
|
271
546
|
for (const name of names) {
|
|
272
547
|
const temporary = name.startsWith(`${spoolFileName}.`) && name.endsWith(".tmp");
|
|
273
|
-
if (
|
|
548
|
+
if (!temporary && !(includeSpool && name === spoolFileName))
|
|
274
549
|
continue;
|
|
275
550
|
try {
|
|
276
551
|
unlinkSync(join(dataDirectory, name));
|
|
@@ -281,6 +556,28 @@ export function clearEventSpool(dataDirectory) {
|
|
|
281
556
|
}
|
|
282
557
|
}
|
|
283
558
|
}
|
|
559
|
+
/** The machine that wrote a spool, from its first record. */
|
|
560
|
+
function spoolOwner(raw) {
|
|
561
|
+
const end = raw.indexOf("\n");
|
|
562
|
+
if (end < 0)
|
|
563
|
+
return undefined;
|
|
564
|
+
let value;
|
|
565
|
+
try {
|
|
566
|
+
value = JSON.parse(raw.slice(0, end));
|
|
567
|
+
}
|
|
568
|
+
catch {
|
|
569
|
+
return undefined;
|
|
570
|
+
}
|
|
571
|
+
if (typeof value !== "object" || value === null ||
|
|
572
|
+
!("version" in value) || value.version !== spoolVersion ||
|
|
573
|
+
!("tenant_id" in value) || typeof value.tenant_id !== "string" ||
|
|
574
|
+
!("machine_id" in value) || typeof value.machine_id !== "string" ||
|
|
575
|
+
!scopedIDPattern.test(value.tenant_id) ||
|
|
576
|
+
!scopedIDPattern.test(value.machine_id)) {
|
|
577
|
+
return undefined;
|
|
578
|
+
}
|
|
579
|
+
return { tenantID: value.tenant_id, machineID: value.machine_id };
|
|
580
|
+
}
|
|
284
581
|
function parseRecord(line, scope) {
|
|
285
582
|
let value;
|
|
286
583
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-spool.js","sourceRoot":"","sources":["../../src/event-spool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"event-spool.js","sourceRoot":"","sources":["../../src/event-spool.ts"],"names":[],"mappings":"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"}
|
|
@@ -226,6 +226,13 @@ export type Heartbeat = Message<"phigon.v1.Heartbeat"> & {
|
|
|
226
226
|
* @generated from field: uint64 acknowledged_sequence = 10;
|
|
227
227
|
*/
|
|
228
228
|
acknowledgedSequence: bigint;
|
|
229
|
+
/**
|
|
230
|
+
* The observer that sent this heartbeat. Only version is set; older
|
|
231
|
+
* observers leave the field out.
|
|
232
|
+
*
|
|
233
|
+
* @generated from field: phigon.v1.BuildInfo observer_build = 11;
|
|
234
|
+
*/
|
|
235
|
+
observerBuild?: BuildInfo | undefined;
|
|
229
236
|
};
|
|
230
237
|
/**
|
|
231
238
|
* Describes the message phigon.v1.Heartbeat.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity_pb.d.ts","sourceRoot":"","sources":["../../../../../src/generated/phigon/v1/identity_pb.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAExF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"identity_pb.d.ts","sourceRoot":"","sources":["../../../../../src/generated/phigon/v1/identity_pb.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { file_phigon_v1_common } from "./common_pb.js";
|
|
|
7
7
|
/**
|
|
8
8
|
* Describes the file phigon/v1/identity.proto.
|
|
9
9
|
*/
|
|
10
|
-
export const file_phigon_v1_identity = /*@__PURE__*/ fileDesc("
|
|
10
|
+
export const file_phigon_v1_identity = /*@__PURE__*/ fileDesc("ChhwaGlnb24vdjEvaWRlbnRpdHkucHJvdG8SCXBoaWdvbi52MSLpAgoPTWFjaGluZUlkZW50aXR5EhIKCm1hY2hpbmVfaWQYASABKAkSFwoPaW5zdGFsbGF0aW9uX2lkGAIgASgJEhQKDGRpc3BsYXlfbmFtZRgDIAEoCRIQCghob3N0bmFtZRgEIAEoCRI0ChBvcGVyYXRpbmdfc3lzdGVtGAUgASgOMhoucGhpZ29uLnYxLk9wZXJhdGluZ1N5c3RlbRIUCgxhcmNoaXRlY3R1cmUYBiABKAkSIAoYb3BlcmF0aW5nX3N5c3RlbV92ZXJzaW9uGAcgASgJEiwKDm9ic2VydmVyX2J1aWxkGAggASgLMhQucGhpZ29uLnYxLkJ1aWxkSW5mbxI2CgZsYWJlbHMYCSADKAsyJi5waGlnb24udjEuTWFjaGluZUlkZW50aXR5LkxhYmVsc0VudHJ5Gi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi0wIKDUFnZW50SWRlbnRpdHkSEAoIYWdlbnRfaWQYASABKAkSIgoEa2luZBgCIAEoDjIULnBoaWdvbi52MS5BZ2VudEtpbmQSFAoMZGlzcGxheV9uYW1lGAMgASgJEg8KB3ZlcnNpb24YBCABKAkSDwoHcnVudGltZRgFIAEoCRIkCgVzdGF0ZRgGIAEoDjIVLnBoaWdvbi52MS5BZ2VudFN0YXRlEhIKCnByb2Nlc3NfaWQYByABKAQSLgoKc3RhcnRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNAoQbGFzdF9vYnNlcnZlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFAoMY2FwYWJpbGl0aWVzGAogAygJEh4KFmV4ZWN1dGFibGVfcGF0aF9kaWdlc3QYCyABKAkioQEKDkFnZW50SW52ZW50b3J5EhIKCm1hY2hpbmVfaWQYASABKAkSLwoLb2JzZXJ2ZWRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEigKBmFnZW50cxgDIAMoCzIYLnBoaWdvbi52MS5BZ2VudElkZW50aXR5Eg8KB3BhcnRpYWwYBCABKAgSDwoHbm90aWNlcxgFIAMoCSLIAgoJSGVhcnRiZWF0EhIKCm1hY2hpbmVfaWQYASABKAkSLwoLb2JzZXJ2ZWRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKDnVwdGltZV9zZWNvbmRzGAMgASgEEhcKD2J1ZmZlcmVkX2V2ZW50cxgEIAEoDRIVCg1sYXN0X3NlcXVlbmNlGAUgASgEEhcKD2Nsb2NrX29mZnNldF9tcxgGIAEoEhIWCg5xdWV1ZV9jYXBhY2l0eRgHIAEoDRIWCg5kcm9wcGVkX2V2ZW50cxgIIAEoBBIYChBjb2FsZXNjZWRfZXZlbnRzGAkgASgEEh0KFWFja25vd2xlZGdlZF9zZXF1ZW5jZRgKIAEoBBIsCg5vYnNlcnZlcl9idWlsZBgLIAEoCzIULnBoaWdvbi52MS5CdWlsZEluZm9COFo2Z2l0aHViLmNvbS9waGlnb25haS9vYnNlcnZlci9nby9nZW4vcGhpZ29uL3YxO3BoaWdvbnYxYgZwcm90bzM", [file_google_protobuf_timestamp, file_phigon_v1_common]);
|
|
11
11
|
/**
|
|
12
12
|
* Describes the message phigon.v1.MachineIdentity.
|
|
13
13
|
* Use `create(MachineIdentitySchema)` to create a new message.
|