@phigon/observer 8.1.0 → 8.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -8
- package/dist/bin/guardian-runner-darwin-amd64 +0 -0
- package/dist/bin/guardian-runner-darwin-arm64 +0 -0
- package/dist/bin/guardian-runner-linux-amd64 +0 -0
- package/dist/bin/guardian-runner-linux-arm64 +0 -0
- package/dist/bin/guardian-runner-windows-amd64.exe +0 -0
- package/dist/bin/guardian-runner-windows-arm64.exe +0 -0
- package/dist/src/action-policy.d.ts.map +1 -1
- package/dist/src/action-policy.js +4 -2
- package/dist/src/action-policy.js.map +1 -1
- package/dist/src/activity/adapters/claude.d.ts.map +1 -1
- package/dist/src/activity/adapters/claude.js +19 -1
- package/dist/src/activity/adapters/claude.js.map +1 -1
- package/dist/src/activity/adapters/cline-task.d.ts +7 -0
- package/dist/src/activity/adapters/cline-task.d.ts.map +1 -0
- package/dist/src/activity/adapters/cline-task.js +197 -0
- package/dist/src/activity/adapters/cline-task.js.map +1 -0
- package/dist/src/activity/adapters/cline.d.ts +3 -0
- package/dist/src/activity/adapters/cline.d.ts.map +1 -0
- package/dist/src/activity/adapters/cline.js +102 -0
- package/dist/src/activity/adapters/cline.js.map +1 -0
- package/dist/src/activity/adapters/codex.d.ts.map +1 -1
- package/dist/src/activity/adapters/codex.js +76 -0
- package/dist/src/activity/adapters/codex.js.map +1 -1
- package/dist/src/activity/adapters/copilot-chat.d.ts +3 -0
- package/dist/src/activity/adapters/copilot-chat.d.ts.map +1 -0
- package/dist/src/activity/adapters/copilot-chat.js +176 -0
- package/dist/src/activity/adapters/copilot-chat.js.map +1 -0
- package/dist/src/activity/adapters/copilot.d.ts +2 -1
- package/dist/src/activity/adapters/copilot.d.ts.map +1 -1
- package/dist/src/activity/adapters/copilot.js +173 -2
- package/dist/src/activity/adapters/copilot.js.map +1 -1
- package/dist/src/activity/adapters/cursor.d.ts +3 -0
- package/dist/src/activity/adapters/cursor.d.ts.map +1 -0
- package/dist/src/activity/adapters/cursor.js +86 -0
- package/dist/src/activity/adapters/cursor.js.map +1 -0
- package/dist/src/activity/adapters/factory-droid.d.ts +3 -0
- package/dist/src/activity/adapters/factory-droid.d.ts.map +1 -0
- package/dist/src/activity/adapters/factory-droid.js +126 -0
- package/dist/src/activity/adapters/factory-droid.js.map +1 -0
- package/dist/src/activity/adapters/gemini.d.ts +3 -0
- package/dist/src/activity/adapters/gemini.d.ts.map +1 -0
- package/dist/src/activity/adapters/gemini.js +177 -0
- package/dist/src/activity/adapters/gemini.js.map +1 -0
- package/dist/src/activity/adapters/goose.d.ts +3 -0
- package/dist/src/activity/adapters/goose.d.ts.map +1 -0
- package/dist/src/activity/adapters/goose.js +116 -0
- package/dist/src/activity/adapters/goose.js.map +1 -0
- package/dist/src/activity/adapters/kiro.d.ts +3 -0
- package/dist/src/activity/adapters/kiro.d.ts.map +1 -0
- package/dist/src/activity/adapters/kiro.js +47 -0
- package/dist/src/activity/adapters/kiro.js.map +1 -0
- package/dist/src/activity/adapters/opencode.d.ts.map +1 -1
- package/dist/src/activity/adapters/opencode.js +108 -1
- package/dist/src/activity/adapters/opencode.js.map +1 -1
- package/dist/src/activity/adapters/zed.d.ts +3 -0
- package/dist/src/activity/adapters/zed.d.ts.map +1 -0
- package/dist/src/activity/adapters/zed.js +134 -0
- package/dist/src/activity/adapters/zed.js.map +1 -0
- package/dist/src/activity/collector.d.ts +12 -0
- package/dist/src/activity/collector.d.ts.map +1 -1
- package/dist/src/activity/collector.js +156 -3
- package/dist/src/activity/collector.js.map +1 -1
- package/dist/src/activity/goose-sqlite-source.d.ts +33 -0
- package/dist/src/activity/goose-sqlite-source.d.ts.map +1 -0
- package/dist/src/activity/goose-sqlite-source.js +274 -0
- package/dist/src/activity/goose-sqlite-source.js.map +1 -0
- package/dist/src/activity/index.d.ts +3 -0
- package/dist/src/activity/index.d.ts.map +1 -1
- package/dist/src/activity/index.js +3 -0
- package/dist/src/activity/index.js.map +1 -1
- package/dist/src/activity/ingest.d.ts.map +1 -1
- package/dist/src/activity/ingest.js +2 -1
- package/dist/src/activity/ingest.js.map +1 -1
- package/dist/src/activity/json-document-source.d.ts +136 -0
- package/dist/src/activity/json-document-source.d.ts.map +1 -0
- package/dist/src/activity/json-document-source.js +569 -0
- package/dist/src/activity/json-document-source.js.map +1 -0
- package/dist/src/activity/normalize.d.ts.map +1 -1
- package/dist/src/activity/normalize.js +64 -6
- package/dist/src/activity/normalize.js.map +1 -1
- package/dist/src/activity/opencode-message-tables.d.ts +87 -0
- package/dist/src/activity/opencode-message-tables.d.ts.map +1 -0
- package/dist/src/activity/opencode-message-tables.js +546 -0
- package/dist/src/activity/opencode-message-tables.js.map +1 -0
- package/dist/src/activity/opencode-sqlite-source.d.ts +7 -0
- package/dist/src/activity/opencode-sqlite-source.d.ts.map +1 -1
- package/dist/src/activity/opencode-sqlite-source.js +153 -63
- package/dist/src/activity/opencode-sqlite-source.js.map +1 -1
- package/dist/src/activity/source-reader.d.ts +16 -1
- package/dist/src/activity/source-reader.d.ts.map +1 -1
- package/dist/src/activity/source-reader.js +308 -29
- package/dist/src/activity/source-reader.js.map +1 -1
- package/dist/src/activity/sqlite-connections.d.ts +77 -0
- package/dist/src/activity/sqlite-connections.d.ts.map +1 -0
- package/dist/src/activity/sqlite-connections.js +220 -0
- package/dist/src/activity/sqlite-connections.js.map +1 -0
- package/dist/src/activity/zed-sqlite-source.d.ts +65 -0
- package/dist/src/activity/zed-sqlite-source.d.ts.map +1 -0
- package/dist/src/activity/zed-sqlite-source.js +547 -0
- package/dist/src/activity/zed-sqlite-source.js.map +1 -0
- package/dist/src/agent-action-executor.d.ts +13 -1
- package/dist/src/agent-action-executor.d.ts.map +1 -1
- package/dist/src/agent-action-executor.js +108 -56
- package/dist/src/agent-action-executor.js.map +1 -1
- package/dist/src/agentic-guardian.d.ts.map +1 -1
- package/dist/src/agentic-guardian.js +6 -5
- package/dist/src/agentic-guardian.js.map +1 -1
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +47 -10
- package/dist/src/cli.js.map +1 -1
- package/dist/src/config.d.ts +13 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +99 -3
- package/dist/src/config.js.map +1 -1
- package/dist/src/connection-config.d.ts.map +1 -1
- package/dist/src/connection-config.js +5 -0
- package/dist/src/connection-config.js.map +1 -1
- package/dist/src/content-redaction.d.ts.map +1 -1
- package/dist/src/content-redaction.js +9 -2
- package/dist/src/content-redaction.js.map +1 -1
- package/dist/src/credential-store.d.ts.map +1 -1
- package/dist/src/credential-store.js +2 -1
- package/dist/src/credential-store.js.map +1 -1
- package/dist/src/custom-agent-registry.d.ts.map +1 -1
- package/dist/src/custom-agent-registry.js +2 -1
- package/dist/src/custom-agent-registry.js.map +1 -1
- package/dist/src/discovery/adapters/generic.d.ts.map +1 -1
- package/dist/src/discovery/adapters/generic.js +160 -2
- package/dist/src/discovery/adapters/generic.js.map +1 -1
- package/dist/src/discovery/engine.d.ts +7 -1
- package/dist/src/discovery/engine.d.ts.map +1 -1
- package/dist/src/discovery/engine.js +20 -5
- package/dist/src/discovery/engine.js.map +1 -1
- package/dist/src/discovery/known-agent.d.ts +7 -0
- package/dist/src/discovery/known-agent.d.ts.map +1 -1
- package/dist/src/discovery/known-agent.js +9 -4
- package/dist/src/discovery/known-agent.js.map +1 -1
- package/dist/src/discovery/system-evidence.d.ts +40 -1
- package/dist/src/discovery/system-evidence.d.ts.map +1 -1
- package/dist/src/discovery/system-evidence.js +189 -16
- package/dist/src/discovery/system-evidence.js.map +1 -1
- package/dist/src/event-queue.d.ts.map +1 -1
- package/dist/src/event-queue.js +88 -38
- package/dist/src/event-queue.js.map +1 -1
- package/dist/src/event-spool.d.ts.map +1 -1
- package/dist/src/event-spool.js +58 -10
- package/dist/src/event-spool.js.map +1 -1
- package/dist/src/guardian-containment.d.ts +2 -6
- package/dist/src/guardian-containment.d.ts.map +1 -1
- package/dist/src/guardian-containment.js +12 -63
- package/dist/src/guardian-containment.js.map +1 -1
- package/dist/src/guardian-decision-journal.d.ts.map +1 -1
- package/dist/src/guardian-decision-journal.js +2 -1
- package/dist/src/guardian-decision-journal.js.map +1 -1
- package/dist/src/guardian-managed-exec.d.ts.map +1 -1
- package/dist/src/guardian-managed-exec.js +2 -1
- package/dist/src/guardian-managed-exec.js.map +1 -1
- package/dist/src/guardian-model-bridge.d.ts.map +1 -1
- package/dist/src/guardian-model-bridge.js +2 -1
- package/dist/src/guardian-model-bridge.js.map +1 -1
- package/dist/src/guardian-native.d.ts +0 -1
- package/dist/src/guardian-native.d.ts.map +1 -1
- package/dist/src/guardian-native.js +0 -6
- package/dist/src/guardian-native.js.map +1 -1
- package/dist/src/guardian-process-monitor.d.ts +3 -0
- package/dist/src/guardian-process-monitor.d.ts.map +1 -1
- package/dist/src/guardian-process-monitor.js +8 -0
- package/dist/src/guardian-process-monitor.js.map +1 -1
- package/dist/src/historical-identity-store.d.ts.map +1 -1
- package/dist/src/historical-identity-store.js +2 -1
- package/dist/src/historical-identity-store.js.map +1 -1
- package/dist/src/installation.d.ts.map +1 -1
- package/dist/src/installation.js +3 -2
- package/dist/src/installation.js.map +1 -1
- package/dist/src/machine-command-executor.d.ts +22 -7
- package/dist/src/machine-command-executor.d.ts.map +1 -1
- package/dist/src/machine-command-executor.js +91 -17
- package/dist/src/machine-command-executor.js.map +1 -1
- package/dist/src/pair.d.ts.map +1 -1
- package/dist/src/pair.js +3 -2
- package/dist/src/pair.js.map +1 -1
- package/dist/src/private-directory.d.ts +4 -0
- package/dist/src/private-directory.d.ts.map +1 -0
- package/dist/src/private-directory.js +35 -0
- package/dist/src/private-directory.js.map +1 -0
- package/dist/src/process-tree.d.ts +73 -0
- package/dist/src/process-tree.d.ts.map +1 -0
- package/dist/src/process-tree.js +256 -0
- package/dist/src/process-tree.js.map +1 -0
- package/dist/src/server-authority.d.ts +26 -0
- package/dist/src/server-authority.d.ts.map +1 -0
- package/dist/src/server-authority.js +102 -0
- package/dist/src/server-authority.js.map +1 -0
- package/dist/src/stream-client.d.ts +3 -1
- package/dist/src/stream-client.d.ts.map +1 -1
- package/dist/src/stream-client.js +49 -11
- package/dist/src/stream-client.js.map +1 -1
- package/dist/src/stream-state.d.ts.map +1 -1
- package/dist/src/stream-state.js +2 -1
- package/dist/src/stream-state.js.map +1 -1
- package/dist/src/system-inspection.d.ts +78 -0
- package/dist/src/system-inspection.d.ts.map +1 -0
- package/dist/src/system-inspection.js +281 -0
- package/dist/src/system-inspection.js.map +1 -0
- package/dist/src/update.d.ts.map +1 -1
- package/dist/src/update.js +9 -3
- package/dist/src/update.js.map +1 -1
- package/dist/src/user-notices.d.ts +53 -0
- package/dist/src/user-notices.d.ts.map +1 -0
- package/dist/src/user-notices.js +117 -0
- package/dist/src/user-notices.js.map +1 -0
- package/package.json +1 -1
- package/dist/src/windows-process.d.ts +0 -7
- package/dist/src/windows-process.d.ts.map +0 -1
- package/dist/src/windows-process.js +0 -18
- package/dist/src/windows-process.js.map +0 -1
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import type { SourceRecord } from "./source-reader.js";
|
|
2
|
+
export type JSONDocumentOptions = Readonly<{
|
|
3
|
+
/**
|
|
4
|
+
* `json` (default): one JSON document. `jsonl`: one message per line; a
|
|
5
|
+
* final line that is still being written is read once it is complete.
|
|
6
|
+
* `mutation-log`: a VS Code chat session log (an initial state followed
|
|
7
|
+
* by set, push and delete entries) replayed into its document.
|
|
8
|
+
*/
|
|
9
|
+
documentFormat?: "json" | "jsonl" | "mutation-log";
|
|
10
|
+
/**
|
|
11
|
+
* Regular expression matched against each directory's `/`-separated
|
|
12
|
+
* relative path. Only matching directories are walked.
|
|
13
|
+
*/
|
|
14
|
+
directoryPattern?: string;
|
|
15
|
+
/** Dotted path of a stable id inside each message. */
|
|
16
|
+
messageIdField?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Dotted fields that mark a message as finished. The last message is held
|
|
19
|
+
* back while it has none of them set, so a reply that is still being
|
|
20
|
+
* written is delivered once, complete. An earlier message is final even
|
|
21
|
+
* without them: the agent has moved on from it.
|
|
22
|
+
*/
|
|
23
|
+
completeFields?: readonly string[];
|
|
24
|
+
/**
|
|
25
|
+
* Field that is true while a message is still being written (for example
|
|
26
|
+
* Cline's `partial`). The last message is held back while it is true.
|
|
27
|
+
*/
|
|
28
|
+
pendingField?: string;
|
|
29
|
+
/**
|
|
30
|
+
* When set, the document's first message is delivered with this field set
|
|
31
|
+
* to true. Some agents store the user's opening request like any other
|
|
32
|
+
* message, so only its position tells it apart.
|
|
33
|
+
*/
|
|
34
|
+
firstMessageField?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Top-level field that holds the agent's own session id. When present it
|
|
37
|
+
* names the session and its records, so two files holding the same
|
|
38
|
+
* session produce the same record identities.
|
|
39
|
+
*/
|
|
40
|
+
sessionIdField?: string;
|
|
41
|
+
}>;
|
|
42
|
+
export type JSONDocumentSource = Readonly<{
|
|
43
|
+
adapterId: string;
|
|
44
|
+
roots: readonly string[];
|
|
45
|
+
/** Regular expression matched against the `/`-separated relative path. */
|
|
46
|
+
pathPattern: string;
|
|
47
|
+
/**
|
|
48
|
+
* Top-level array that holds the conversation messages, or "" when the
|
|
49
|
+
* document itself is the array.
|
|
50
|
+
*/
|
|
51
|
+
messagesField: string;
|
|
52
|
+
}> & JSONDocumentOptions;
|
|
53
|
+
type ScanOptions = Readonly<{
|
|
54
|
+
cursors: Map<string, number>;
|
|
55
|
+
/** Reused folder listings; without one every scan lists every folder. */
|
|
56
|
+
listings?: DirectoryListingCache;
|
|
57
|
+
initialScan: boolean;
|
|
58
|
+
replayOnFirstStart: boolean;
|
|
59
|
+
replaySessions: number;
|
|
60
|
+
maxReplayRecords: number;
|
|
61
|
+
maxRecords: number;
|
|
62
|
+
historical: boolean;
|
|
63
|
+
}>;
|
|
64
|
+
/**
|
|
65
|
+
* Reads agents that keep each conversation as one JSON document rewritten
|
|
66
|
+
* in place (for example `{ messages: [...] }`). A document's cursor holds
|
|
67
|
+
* the number of messages already delivered and a fingerprint of the last
|
|
68
|
+
* one, so new messages are emitted once although the whole file is
|
|
69
|
+
* rewritten. A document whose delivered prefix changed (compaction or a
|
|
70
|
+
* rewind) resumes after the remembered message, or is re-baselined when
|
|
71
|
+
* that message is gone. Unchanged documents are not parsed again.
|
|
72
|
+
*/
|
|
73
|
+
export declare function scanJSONDocumentSource(source: JSONDocumentSource, options: ScanOptions): Promise<Readonly<{
|
|
74
|
+
records: readonly SourceRecord[];
|
|
75
|
+
files: number;
|
|
76
|
+
malformed: number;
|
|
77
|
+
oversized: number;
|
|
78
|
+
complete: boolean;
|
|
79
|
+
}>>;
|
|
80
|
+
export declare function packCursor(messages: readonly unknown[], count: number, idField: string | undefined): number;
|
|
81
|
+
/**
|
|
82
|
+
* Index of the first undelivered message. The delivered prefix must still
|
|
83
|
+
* end with the remembered message; if it moved, resume after it; if it is
|
|
84
|
+
* gone the document was rewritten and everything present is treated as
|
|
85
|
+
* already delivered.
|
|
86
|
+
*/
|
|
87
|
+
export declare function resumeIndex(messages: readonly unknown[], cursor: number, idField: string | undefined): number;
|
|
88
|
+
type DirectoryEntry = Readonly<{
|
|
89
|
+
name: string;
|
|
90
|
+
directory: boolean;
|
|
91
|
+
file: boolean;
|
|
92
|
+
}>;
|
|
93
|
+
type ListingFileSystem = Readonly<{
|
|
94
|
+
readdir: (directory: string) => Promise<readonly DirectoryEntry[]>;
|
|
95
|
+
modifiedMs: (directory: string) => Promise<number>;
|
|
96
|
+
metadata: (file: string) => Promise<Readonly<{
|
|
97
|
+
modifiedMs: number;
|
|
98
|
+
size: number;
|
|
99
|
+
}>>;
|
|
100
|
+
now: () => number;
|
|
101
|
+
}>;
|
|
102
|
+
/**
|
|
103
|
+
* Folder listings reused across scans. Adding, removing or renaming an entry
|
|
104
|
+
* changes its folder's modified time, so a folder is listed again only when
|
|
105
|
+
* that time moved. Checking a folder costs about half of listing it, and
|
|
106
|
+
* most folders under an agent's session store never change. A folder that
|
|
107
|
+
* changed within the last two seconds is listed again on the next scan,
|
|
108
|
+
* because coarse file-system clocks can hide a second change in the same
|
|
109
|
+
* tick, and every folder is listed afresh at least every 30 seconds.
|
|
110
|
+
*
|
|
111
|
+
* Folders and documents untouched for ten minutes are cold: they are checked
|
|
112
|
+
* every ten seconds instead of on every scan, so a conversation resumed in a
|
|
113
|
+
* quiet project is noticed within ten seconds while active ones stay live.
|
|
114
|
+
*/
|
|
115
|
+
export declare class DirectoryListingCache {
|
|
116
|
+
#private;
|
|
117
|
+
static readonly relistAfterMs = 30000;
|
|
118
|
+
static readonly settleMs = 2000;
|
|
119
|
+
static readonly coldAfterMs: number;
|
|
120
|
+
static readonly coldCheckMs = 10000;
|
|
121
|
+
static readonly maxFolders = 8192;
|
|
122
|
+
constructor(fileSystem?: ListingFileSystem);
|
|
123
|
+
/**
|
|
124
|
+
* The folder's entries. `trustMs` skips even the folder check while the
|
|
125
|
+
* listing is younger than that; history imports use it, since live
|
|
126
|
+
* collection already follows new conversations.
|
|
127
|
+
*/
|
|
128
|
+
list(directory: string, trustMs?: number): Promise<readonly DirectoryEntry[]>;
|
|
129
|
+
/** A document's time and size; a cold document is checked every ten seconds. */
|
|
130
|
+
metadata(file: string): Promise<Readonly<{
|
|
131
|
+
modifiedMs: number;
|
|
132
|
+
size: number;
|
|
133
|
+
}>>;
|
|
134
|
+
}
|
|
135
|
+
export {};
|
|
136
|
+
//# sourceMappingURL=json-document-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-document-source.d.ts","sourceRoot":"","sources":["../../../src/activity/json-document-source.ts"],"names":[],"mappings":"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"}
|