@plurnk/plurnk-digest 2.0.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/.env.defaults +5 -0
- package/README.md +31 -0
- package/SPEC.md +131 -0
- package/dist/Digest.d.ts +8 -0
- package/dist/Digest.d.ts.map +1 -0
- package/dist/Digest.js +243 -0
- package/dist/Digest.js.map +1 -0
- package/dist/DigestRender.d.ts +18 -0
- package/dist/DigestRender.d.ts.map +1 -0
- package/dist/DigestRender.js +1038 -0
- package/dist/DigestRender.js.map +1 -0
- package/dist/DigestRequiem.d.ts +13 -0
- package/dist/DigestRequiem.d.ts.map +1 -0
- package/dist/DigestRequiem.js +403 -0
- package/dist/DigestRequiem.js.map +1 -0
- package/dist/Share.d.ts +16 -0
- package/dist/Share.d.ts.map +1 -0
- package/dist/Share.js +97 -0
- package/dist/Share.js.map +1 -0
- package/dist/digest-paths.d.ts +6 -0
- package/dist/digest-paths.d.ts.map +1 -0
- package/dist/digest-paths.js +14 -0
- package/dist/digest-paths.js.map +1 -0
- package/dist/digest-rows.d.ts +347 -0
- package/dist/digest-rows.d.ts.map +1 -0
- package/dist/digest-rows.js +2 -0
- package/dist/digest-rows.js.map +1 -0
- package/dist/evidence.d.ts +49 -0
- package/dist/evidence.d.ts.map +1 -0
- package/dist/evidence.js +2 -0
- package/dist/evidence.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/share.sql +6 -0
- package/package.json +53 -0
package/dist/Share.js
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
|
|
2
|
+
if (value !== null && value !== void 0) {
|
|
3
|
+
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
4
|
+
var dispose, inner;
|
|
5
|
+
if (async) {
|
|
6
|
+
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
7
|
+
dispose = value[Symbol.asyncDispose];
|
|
8
|
+
}
|
|
9
|
+
if (dispose === void 0) {
|
|
10
|
+
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
11
|
+
dispose = value[Symbol.dispose];
|
|
12
|
+
if (async) inner = dispose;
|
|
13
|
+
}
|
|
14
|
+
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
15
|
+
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
|
16
|
+
env.stack.push({ value: value, dispose: dispose, async: async });
|
|
17
|
+
}
|
|
18
|
+
else if (async) {
|
|
19
|
+
env.stack.push({ async: true });
|
|
20
|
+
}
|
|
21
|
+
return value;
|
|
22
|
+
};
|
|
23
|
+
var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
|
|
24
|
+
return function (env) {
|
|
25
|
+
function fail(e) {
|
|
26
|
+
env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
27
|
+
env.hasError = true;
|
|
28
|
+
}
|
|
29
|
+
var r, s = 0;
|
|
30
|
+
function next() {
|
|
31
|
+
while (r = env.stack.pop()) {
|
|
32
|
+
try {
|
|
33
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
34
|
+
if (r.dispose) {
|
|
35
|
+
var result = r.dispose.call(r.value);
|
|
36
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
|
37
|
+
}
|
|
38
|
+
else s |= 1;
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
fail(e);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
45
|
+
if (env.hasError) throw env.error;
|
|
46
|
+
}
|
|
47
|
+
return next();
|
|
48
|
+
};
|
|
49
|
+
})(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
50
|
+
var e = new Error(message);
|
|
51
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
52
|
+
});
|
|
53
|
+
import { existsSync, mkdtempSync, rmSync } from "node:fs";
|
|
54
|
+
import { tmpdir } from "node:os";
|
|
55
|
+
import { join, resolve } from "node:path";
|
|
56
|
+
import SqlRiteSync from "@possumtech/sqlrite/sync";
|
|
57
|
+
import Digest from "./Digest.js";
|
|
58
|
+
// {§share}: a share is the digest of a consistent copy of the database.
|
|
59
|
+
export default class Share {
|
|
60
|
+
// {§share-snapshot}: a live or WAL-mode database is copied by SQLite, never by the filesystem.
|
|
61
|
+
static snapshot(dbPath, copy) {
|
|
62
|
+
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
63
|
+
try {
|
|
64
|
+
const source = resolve(dbPath);
|
|
65
|
+
if (!existsSync(source))
|
|
66
|
+
throw new Error(`share: no database at ${source}`);
|
|
67
|
+
if (existsSync(copy))
|
|
68
|
+
throw new Error(`share: ${resolve(copy)} already exists; remove it first`);
|
|
69
|
+
const database = __addDisposableResource(env_1, new SqlRiteSync({ path: source, dir: [import.meta.dirname] }), false);
|
|
70
|
+
database.share_snapshot.run({ path: resolve(copy) });
|
|
71
|
+
}
|
|
72
|
+
catch (e_1) {
|
|
73
|
+
env_1.error = e_1;
|
|
74
|
+
env_1.hasError = true;
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
__disposeResources(env_1);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
static async write({ dbPath, folder, workspaceId, requiem, openEvidence }) {
|
|
81
|
+
const target = resolve(folder);
|
|
82
|
+
const scratch = mkdtempSync(join(tmpdir(), "plurnk-share-"));
|
|
83
|
+
try {
|
|
84
|
+
const copy = join(scratch, "plurnk.db");
|
|
85
|
+
Share.snapshot(dbPath, copy);
|
|
86
|
+
const scoped = { openEvidence, dbPath: copy, digestDir: target, ...(workspaceId === undefined ? {} : { workspaceId }) };
|
|
87
|
+
Digest.run(scoped);
|
|
88
|
+
if (requiem)
|
|
89
|
+
await Digest.requiem({ ...scoped, provider: requiem });
|
|
90
|
+
}
|
|
91
|
+
finally {
|
|
92
|
+
rmSync(scratch, { recursive: true, force: true });
|
|
93
|
+
}
|
|
94
|
+
return { folder: target };
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=Share.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Share.js","sourceRoot":"","sources":["../src/Share.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,MAAM,MAAM,aAAa,CAAC;AAcjC,wEAAwE;AACxE,MAAM,CAAC,OAAO,OAAO,KAAK;IACtB,+FAA+F;IAC/F,MAAM,CAAC,QAAQ,CAAC,MAAc,EAAE,IAAY;;;YACxC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;YAC5E,IAAI,UAAU,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACjG,MAAM,QAAQ,kCAAG,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAA,CAAC;YAC/E,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;;;;;;;;IACzD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAgB;QACnF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACxC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7B,MAAM,MAAM,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;YACxH,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACnB,IAAI,OAAO;gBAAE,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;gBAAS,CAAC;YACP,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digest-paths.d.ts","sourceRoot":"","sources":["../src/digest-paths.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAItD,eAAO,MAAM,WAAW,SAAU,aAAa,KAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAMpF,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { join, resolve } from "node:path";
|
|
3
|
+
// {§digest-programmatic-surface}: the input database must exist and the output folder must be named. A
|
|
4
|
+
// writer never deletes: the digest refuses a folder that already holds files ({§share}).
|
|
5
|
+
export const digestPaths = (opts) => {
|
|
6
|
+
const dbPath = resolve(opts.dbPath);
|
|
7
|
+
if (!existsSync(dbPath))
|
|
8
|
+
throw new Error(`digest: no DB at ${dbPath}`);
|
|
9
|
+
const digestDir = opts.digestDir ?? join(process.cwd(), "test", "digest");
|
|
10
|
+
if (digestDir.length === 0)
|
|
11
|
+
throw new Error("digest: output directory must not be empty");
|
|
12
|
+
return { dbPath, digestDir: resolve(digestDir) };
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=digest-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digest-paths.js","sourceRoot":"","sources":["../src/digest-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG1C,uGAAuG;AACvG,yFAAyF;AACzF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAmB,EAAyC,EAAE;IACtF,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,EAAE,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC1F,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;AACrD,CAAC,CAAC"}
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
import type { ChatMessage, ProviderAccounting, ProviderRequestAccounting } from "@plurnk/plurnk-providers";
|
|
2
|
+
import type { DigestEvidence, EvidencePacket, OpenEvidence } from "./evidence.ts";
|
|
3
|
+
export interface WorkspaceRow {
|
|
4
|
+
id: number;
|
|
5
|
+
name: string;
|
|
6
|
+
}
|
|
7
|
+
export interface WorkerRow {
|
|
8
|
+
id: number;
|
|
9
|
+
workspace_id: number;
|
|
10
|
+
name: string;
|
|
11
|
+
provider_identity: string;
|
|
12
|
+
}
|
|
13
|
+
export interface LoopRow {
|
|
14
|
+
id: number;
|
|
15
|
+
worker_id: number;
|
|
16
|
+
sequence: number;
|
|
17
|
+
status: number;
|
|
18
|
+
prompt: string;
|
|
19
|
+
policy: string;
|
|
20
|
+
terminated_by: string | null;
|
|
21
|
+
terminal_result: string | null;
|
|
22
|
+
claimed_at: string | null;
|
|
23
|
+
terminated_at: string | null;
|
|
24
|
+
}
|
|
25
|
+
export interface ErrorEvidence {
|
|
26
|
+
name: string;
|
|
27
|
+
message: string;
|
|
28
|
+
cause?: ErrorEvidence;
|
|
29
|
+
}
|
|
30
|
+
interface PacketFailure {
|
|
31
|
+
raw: string;
|
|
32
|
+
error: ErrorEvidence;
|
|
33
|
+
}
|
|
34
|
+
export interface TurnRow {
|
|
35
|
+
id: number;
|
|
36
|
+
loop_id: number;
|
|
37
|
+
sequence: number;
|
|
38
|
+
producer: "model" | "client" | "_plurnk";
|
|
39
|
+
kind: "inference" | "initialization" | "operation" | "maintenance";
|
|
40
|
+
status: number;
|
|
41
|
+
timestamp: string;
|
|
42
|
+
completed_at: string | null;
|
|
43
|
+
has_packet: 0 | 1;
|
|
44
|
+
has_reasoning: 0 | 1;
|
|
45
|
+
finish_reason: string | null;
|
|
46
|
+
model: string | null;
|
|
47
|
+
meta: string | null;
|
|
48
|
+
program: string | null;
|
|
49
|
+
outside: string | null;
|
|
50
|
+
packetEchoes: number;
|
|
51
|
+
}
|
|
52
|
+
export interface PacketEvidence {
|
|
53
|
+
packet: EvidencePacket | null;
|
|
54
|
+
packetFailure: PacketFailure | null;
|
|
55
|
+
}
|
|
56
|
+
export interface TurnAttemptRow {
|
|
57
|
+
id: number;
|
|
58
|
+
model_call_id: number;
|
|
59
|
+
turn_id: number;
|
|
60
|
+
sequence: number;
|
|
61
|
+
kind: "emission";
|
|
62
|
+
state: "pending" | "response" | "error";
|
|
63
|
+
accepted: number | null;
|
|
64
|
+
failure: string | null;
|
|
65
|
+
parse_errors: string;
|
|
66
|
+
attributions: string;
|
|
67
|
+
finish_reason: string | null;
|
|
68
|
+
model: string;
|
|
69
|
+
timestamp: string;
|
|
70
|
+
completed_at: string | null;
|
|
71
|
+
request_model: string;
|
|
72
|
+
response_model: string | null;
|
|
73
|
+
}
|
|
74
|
+
export interface InferenceCallRow {
|
|
75
|
+
id: number;
|
|
76
|
+
workspace_id: number;
|
|
77
|
+
turn_id: number;
|
|
78
|
+
sequence: number;
|
|
79
|
+
kind: "emission" | "bare";
|
|
80
|
+
state: "pending" | "response" | "error";
|
|
81
|
+
attributions: string;
|
|
82
|
+
request_model: string;
|
|
83
|
+
timestamp: string;
|
|
84
|
+
completed_at: string | null;
|
|
85
|
+
}
|
|
86
|
+
export interface ModelCallRow {
|
|
87
|
+
id: number;
|
|
88
|
+
workspace_id: number;
|
|
89
|
+
turn_id: number;
|
|
90
|
+
sequence: number;
|
|
91
|
+
kind: "emission" | "bare";
|
|
92
|
+
state: "pending" | "response" | "error";
|
|
93
|
+
failure: string | null;
|
|
94
|
+
capacity: string | null;
|
|
95
|
+
attributions: string;
|
|
96
|
+
finish_reason: string | null;
|
|
97
|
+
model: string;
|
|
98
|
+
request_model: string;
|
|
99
|
+
response_model: string | null;
|
|
100
|
+
timestamp: string;
|
|
101
|
+
completed_at: string | null;
|
|
102
|
+
turn_attempt_id: number | null;
|
|
103
|
+
accepted: number | null;
|
|
104
|
+
parse_errors: string | null;
|
|
105
|
+
log_entry_id: number | null;
|
|
106
|
+
}
|
|
107
|
+
export interface ProviderRequestRow {
|
|
108
|
+
accounting: ProviderRequestAccounting | null;
|
|
109
|
+
id: number;
|
|
110
|
+
inference_call_id: number;
|
|
111
|
+
turn_attempt_id: number | null;
|
|
112
|
+
kind: InferenceCallRow["kind"];
|
|
113
|
+
turn_id: number;
|
|
114
|
+
loop_id: number | null;
|
|
115
|
+
worker_id: number | null;
|
|
116
|
+
workspace_id: number;
|
|
117
|
+
sequence: number;
|
|
118
|
+
provider: string;
|
|
119
|
+
model: string;
|
|
120
|
+
state: "pending" | "settled";
|
|
121
|
+
outcome: "response" | "error" | null;
|
|
122
|
+
status: number | null;
|
|
123
|
+
usage_input: number | null;
|
|
124
|
+
usage_output: number | null;
|
|
125
|
+
usage_total: number | null;
|
|
126
|
+
usage_input_no_cache: number | null;
|
|
127
|
+
usage_input_cache_read: number | null;
|
|
128
|
+
usage_input_cache_write: number | null;
|
|
129
|
+
usage_output_text: number | null;
|
|
130
|
+
usage_output_reasoning: number | null;
|
|
131
|
+
cost_kind: "charged" | "estimated" | "unknown" | null;
|
|
132
|
+
cost_amount: string | null;
|
|
133
|
+
cost_currency: string | null;
|
|
134
|
+
cost_usd_equivalent: string | null;
|
|
135
|
+
cost_source: string | null;
|
|
136
|
+
cost_reason: string | null;
|
|
137
|
+
started_at: string;
|
|
138
|
+
completed_at: string | null;
|
|
139
|
+
}
|
|
140
|
+
export interface LogRow {
|
|
141
|
+
target: string | null;
|
|
142
|
+
id: number;
|
|
143
|
+
worker_id: number;
|
|
144
|
+
loop_id: number;
|
|
145
|
+
turn_id: number;
|
|
146
|
+
sequence: number;
|
|
147
|
+
origin: string;
|
|
148
|
+
source: string | null;
|
|
149
|
+
model_call_id: number | null;
|
|
150
|
+
attrs: string;
|
|
151
|
+
op: string | null;
|
|
152
|
+
scheme: string | null;
|
|
153
|
+
hostname: string | null;
|
|
154
|
+
port: number | null;
|
|
155
|
+
pathname: string | null;
|
|
156
|
+
query: string | null;
|
|
157
|
+
fragment: string | null;
|
|
158
|
+
rx: string | null;
|
|
159
|
+
mimetype_rx: string;
|
|
160
|
+
status_rx: number;
|
|
161
|
+
state: string;
|
|
162
|
+
outcome: string | null;
|
|
163
|
+
initial_folded: string;
|
|
164
|
+
projection_active: 0 | 1;
|
|
165
|
+
projection_folded: string;
|
|
166
|
+
}
|
|
167
|
+
export interface EmissionRow {
|
|
168
|
+
worker_id: number;
|
|
169
|
+
coordinate: string;
|
|
170
|
+
content: string;
|
|
171
|
+
active: 0 | 1;
|
|
172
|
+
}
|
|
173
|
+
export interface ReasoningRow {
|
|
174
|
+
worker_id: number;
|
|
175
|
+
coordinate: string;
|
|
176
|
+
content: string;
|
|
177
|
+
active: 0 | 1;
|
|
178
|
+
}
|
|
179
|
+
export interface EditRow {
|
|
180
|
+
id: number;
|
|
181
|
+
worker_id: number;
|
|
182
|
+
loop_id: number;
|
|
183
|
+
turn_id: number;
|
|
184
|
+
sequence: number;
|
|
185
|
+
pathname: string | null;
|
|
186
|
+
status_rx: number;
|
|
187
|
+
line_marker: string | null;
|
|
188
|
+
pattern: string | null;
|
|
189
|
+
}
|
|
190
|
+
export declare const EDIT_FORMS: readonly ["hash", "line", "range", "insert", "column", "prepend", "append", "offset", "pattern", "whole"];
|
|
191
|
+
export type EditForm = (typeof EDIT_FORMS)[number];
|
|
192
|
+
export interface EditCensus {
|
|
193
|
+
edits: number;
|
|
194
|
+
refused: number;
|
|
195
|
+
revisits: number;
|
|
196
|
+
forms: Record<EditForm, number>;
|
|
197
|
+
}
|
|
198
|
+
export interface ExecutionEnvironmentRow {
|
|
199
|
+
workspace_id: number;
|
|
200
|
+
stream: string;
|
|
201
|
+
env: string;
|
|
202
|
+
}
|
|
203
|
+
export interface LogCurationEffectRow {
|
|
204
|
+
operation_log_entry_id: number;
|
|
205
|
+
target_log_entry_id: number;
|
|
206
|
+
active_before: 0 | 1;
|
|
207
|
+
active_after: 0 | 1;
|
|
208
|
+
folded_before: string;
|
|
209
|
+
folded_after: string;
|
|
210
|
+
}
|
|
211
|
+
export interface WorkerRollupRow {
|
|
212
|
+
worker_id: number;
|
|
213
|
+
loops: number;
|
|
214
|
+
turns: number;
|
|
215
|
+
last_status: number | null;
|
|
216
|
+
}
|
|
217
|
+
export interface OpMixRow {
|
|
218
|
+
worker_id: number;
|
|
219
|
+
op: string;
|
|
220
|
+
n: number;
|
|
221
|
+
}
|
|
222
|
+
export interface SearchStateRow {
|
|
223
|
+
channel_entries: number;
|
|
224
|
+
derivation_complete: number;
|
|
225
|
+
unfinished: number;
|
|
226
|
+
}
|
|
227
|
+
export interface DispositionCountRow {
|
|
228
|
+
disposition: string;
|
|
229
|
+
n: number;
|
|
230
|
+
}
|
|
231
|
+
export interface DispositionRow {
|
|
232
|
+
scheme: string;
|
|
233
|
+
authority: string;
|
|
234
|
+
pathname: string;
|
|
235
|
+
channel: string;
|
|
236
|
+
disposition: string;
|
|
237
|
+
reason: string | null;
|
|
238
|
+
}
|
|
239
|
+
export interface DerivationStateRow {
|
|
240
|
+
complete: number;
|
|
241
|
+
building: number;
|
|
242
|
+
}
|
|
243
|
+
export interface StorageRow {
|
|
244
|
+
bytes: number;
|
|
245
|
+
free_bytes: number;
|
|
246
|
+
auto_vacuum: number;
|
|
247
|
+
}
|
|
248
|
+
export interface StorageTableRow {
|
|
249
|
+
name: string;
|
|
250
|
+
bytes: number;
|
|
251
|
+
}
|
|
252
|
+
export interface DigestModel {
|
|
253
|
+
evidence: DigestEvidence;
|
|
254
|
+
dbPath: string;
|
|
255
|
+
storage: StorageRow & {
|
|
256
|
+
tables: StorageTableRow[];
|
|
257
|
+
};
|
|
258
|
+
digestDir: string;
|
|
259
|
+
workspaces: WorkspaceRow[];
|
|
260
|
+
workers: WorkerRow[];
|
|
261
|
+
loops: LoopRow[];
|
|
262
|
+
turns: TurnRow[];
|
|
263
|
+
inferenceCalls: InferenceCallRow[];
|
|
264
|
+
modelCalls: ModelCallRow[];
|
|
265
|
+
turnAttempts: TurnAttemptRow[];
|
|
266
|
+
providerRequests: ProviderRequestRow[];
|
|
267
|
+
logEntries: LogRow[];
|
|
268
|
+
curationEffects: LogCurationEffectRow[];
|
|
269
|
+
workersByWorkspace: Map<number, WorkerRow[]>;
|
|
270
|
+
loopsByWorker: Map<number, LoopRow[]>;
|
|
271
|
+
turnsByLoop: Map<number, TurnRow[]>;
|
|
272
|
+
attemptsByTurn: Map<number, TurnAttemptRow[]>;
|
|
273
|
+
requestsByInferenceCall: Map<number, ProviderRequestRow[]>;
|
|
274
|
+
requestsByAttempt: Map<number, ProviderRequestRow[]>;
|
|
275
|
+
requestsByTurn: Map<number, ProviderRequestRow[]>;
|
|
276
|
+
requestsByLoop: Map<number, ProviderRequestRow[]>;
|
|
277
|
+
requestsByWorker: Map<number, ProviderRequestRow[]>;
|
|
278
|
+
requestsByWorkspace: Map<number, ProviderRequestRow[]>;
|
|
279
|
+
logEntriesByTurn: Map<number, LogRow[]>;
|
|
280
|
+
emissionRows: EmissionRow[];
|
|
281
|
+
reasoningRows: ReasoningRow[];
|
|
282
|
+
emissionsByWorker: Map<number, ReadonlyMap<string, string>>;
|
|
283
|
+
editRows: EditRow[];
|
|
284
|
+
editRowsByWorker: Map<number, EditRow[]>;
|
|
285
|
+
environments: Map<string, Record<string, unknown>>;
|
|
286
|
+
loopsById: Map<number, LoopRow>;
|
|
287
|
+
workersById: Map<number, WorkerRow>;
|
|
288
|
+
workerRollups: Map<number, WorkerRollupRow>;
|
|
289
|
+
opMixByWorker: Map<number, OpMixRow[]>;
|
|
290
|
+
search: {
|
|
291
|
+
channel_entries: number;
|
|
292
|
+
derivation_complete: number;
|
|
293
|
+
indexed: number;
|
|
294
|
+
excluded: number;
|
|
295
|
+
unsearchable: number;
|
|
296
|
+
failed: number;
|
|
297
|
+
dispositions: Array<{
|
|
298
|
+
scheme: string;
|
|
299
|
+
authority: string;
|
|
300
|
+
pathname: string;
|
|
301
|
+
channel: string;
|
|
302
|
+
disposition: string;
|
|
303
|
+
reason: string | null;
|
|
304
|
+
}>;
|
|
305
|
+
unfinished: number;
|
|
306
|
+
derivation_artifacts_complete: number;
|
|
307
|
+
derivation_artifacts_building: number;
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
export interface CacheLedgerEntry {
|
|
311
|
+
adjacentPrefixTokensEstimate: number | null;
|
|
312
|
+
cachedTokens: number | null;
|
|
313
|
+
inputTokens: number | null;
|
|
314
|
+
}
|
|
315
|
+
export interface DigestOptions {
|
|
316
|
+
openEvidence: OpenEvidence;
|
|
317
|
+
dbPath: string;
|
|
318
|
+
digestDir?: string;
|
|
319
|
+
workerId?: number;
|
|
320
|
+
workspaceId?: number;
|
|
321
|
+
}
|
|
322
|
+
export type RequiemCallRecord = {
|
|
323
|
+
openedAt: string;
|
|
324
|
+
completedAt: string | null;
|
|
325
|
+
state: "open" | "response" | "error";
|
|
326
|
+
requests: Array<{
|
|
327
|
+
provider: string;
|
|
328
|
+
model: string;
|
|
329
|
+
openedAt: string;
|
|
330
|
+
completedAt: string | null;
|
|
331
|
+
state: "open" | "settled";
|
|
332
|
+
accounting: ProviderRequestAccounting | null;
|
|
333
|
+
evidence: unknown;
|
|
334
|
+
}>;
|
|
335
|
+
failure: unknown;
|
|
336
|
+
};
|
|
337
|
+
export type RequiemWorkerReport = {
|
|
338
|
+
workerId: number;
|
|
339
|
+
workerName: string;
|
|
340
|
+
messages: ChatMessage[];
|
|
341
|
+
responses: unknown[];
|
|
342
|
+
calls: RequiemCallRecord[];
|
|
343
|
+
accounting: ProviderAccounting;
|
|
344
|
+
testimony: string | null;
|
|
345
|
+
};
|
|
346
|
+
export {};
|
|
347
|
+
//# sourceMappingURL=digest-rows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digest-rows.d.ts","sourceRoot":"","sources":["../src/digest-rows.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digest-rows.js","sourceRoot":"","sources":["../src/digest-rows.ts"],"names":[],"mappings":"AAkIA,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { ChatMessage } from "@plurnk/plurnk-providers";
|
|
2
|
+
import type { DerivationStateRow, DispositionCountRow, DispositionRow, EditRow, EmissionRow, ExecutionEnvironmentRow, InferenceCallRow, LogCurationEffectRow, LogRow, LoopRow, ModelCallRow, OpMixRow, PacketEvidence, ProviderRequestRow, ReasoningRow, SearchStateRow, StorageRow, StorageTableRow, TurnAttemptRow, TurnRow, WorkerRollupRow, WorkerRow, WorkspaceRow } from "./digest-rows.ts";
|
|
3
|
+
export interface EvidencePacket {
|
|
4
|
+
readonly assistant: {
|
|
5
|
+
readonly content: string;
|
|
6
|
+
readonly reasoning: string | null;
|
|
7
|
+
} | null;
|
|
8
|
+
readonly assistantRaw: unknown;
|
|
9
|
+
readonly attributions: readonly string[];
|
|
10
|
+
readonly attachments: readonly unknown[];
|
|
11
|
+
slot(name: "system" | "user"): string;
|
|
12
|
+
messages(emissions: ReadonlyMap<string, string>): Array<ChatMessage & {
|
|
13
|
+
content: string;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
export interface EvidenceRows {
|
|
17
|
+
workspaces: WorkspaceRow[];
|
|
18
|
+
workers: WorkerRow[];
|
|
19
|
+
loops: LoopRow[];
|
|
20
|
+
turns: TurnRow[];
|
|
21
|
+
inferenceCalls: InferenceCallRow[];
|
|
22
|
+
modelCalls: ModelCallRow[];
|
|
23
|
+
turnAttempts: TurnAttemptRow[];
|
|
24
|
+
providerRequests: ProviderRequestRow[];
|
|
25
|
+
logEntries: LogRow[];
|
|
26
|
+
editRows: EditRow[];
|
|
27
|
+
emissionRows: EmissionRow[];
|
|
28
|
+
reasoningRows: ReasoningRow[];
|
|
29
|
+
curationEffects: LogCurationEffectRow[];
|
|
30
|
+
workerRollupRows: WorkerRollupRow[];
|
|
31
|
+
opMixRows: OpMixRow[];
|
|
32
|
+
environmentRows: ExecutionEnvironmentRow[];
|
|
33
|
+
searchState: SearchStateRow;
|
|
34
|
+
derivationState: DerivationStateRow;
|
|
35
|
+
dispositionCounts: DispositionCountRow[];
|
|
36
|
+
dispositions: DispositionRow[];
|
|
37
|
+
storage: StorageRow;
|
|
38
|
+
storageTables: StorageTableRow[];
|
|
39
|
+
}
|
|
40
|
+
export interface DigestEvidence extends Disposable {
|
|
41
|
+
rows(): EvidenceRows;
|
|
42
|
+
packet(turn: TurnRow): PacketEvidence;
|
|
43
|
+
response(modelCallId: number): string | null;
|
|
44
|
+
request(requestId: number): string | null;
|
|
45
|
+
reasoning(turn: TurnRow): string | null;
|
|
46
|
+
textWeight(text: string): number;
|
|
47
|
+
}
|
|
48
|
+
export type OpenEvidence = (dbPath: string) => DigestEvidence;
|
|
49
|
+
//# sourceMappingURL=evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../src/evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EACR,kBAAkB,EAAE,mBAAmB,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAC7E,uBAAuB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAChF,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,YAAY,EACxE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,EACrF,SAAS,EAAE,YAAY,EAC1B,MAAM,kBAAkB,CAAC;AAG1B,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3F,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,SAAS,OAAO,EAAE,CAAC;IACzC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9F;AAED,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,cAAc,EAAE,gBAAgB,EAAE,CAAC;IACnC,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;IACvC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,eAAe,EAAE,oBAAoB,EAAE,CAAC;IACxC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,eAAe,EAAE,uBAAuB,EAAE,CAAC;IAC3C,WAAW,EAAE,cAAc,CAAC;IAC5B,eAAe,EAAE,kBAAkB,CAAC;IACpC,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;IACzC,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,OAAO,EAAE,UAAU,CAAC;IACpB,aAAa,EAAE,eAAe,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C,IAAI,IAAI,YAAY,CAAC;IACrB,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC7C,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,cAAc,CAAC"}
|
package/dist/evidence.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../src/evidence.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { default as Digest } from "./Digest.ts";
|
|
2
|
+
export { default as DigestRender } from "./DigestRender.ts";
|
|
3
|
+
export { default as Share, type ShareOptions } from "./Share.ts";
|
|
4
|
+
export type * from "./digest-rows.ts";
|
|
5
|
+
export { EDIT_FORMS } from "./digest-rows.ts";
|
|
6
|
+
export type * from "./evidence.ts";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AACjE,mBAAmB,kBAAkB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,mBAAmB,eAAe,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAqB,MAAM,YAAY,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/share.sql
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
-- The share's snapshot ({§share}). VACUUM INTO writes a transactionally consistent copy of the open
|
|
2
|
+
-- database to a new file, so a live daemon's database is never read in place. No INIT blocks: this
|
|
3
|
+
-- compiles against whatever database is shared and never alters it.
|
|
4
|
+
|
|
5
|
+
-- PREP: share_snapshot
|
|
6
|
+
VACUUM INTO :path;
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@plurnk/plurnk-digest",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "Forensic reports, snapshots and model interviews for Plurnk evidence",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/plurnk/plurnk-service.git",
|
|
10
|
+
"directory": "plurnk-digest"
|
|
11
|
+
},
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"default": "./dist/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./package.json": "./package.json"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
".env.defaults",
|
|
21
|
+
"dist/**/*",
|
|
22
|
+
"README.md",
|
|
23
|
+
"SPEC.md"
|
|
24
|
+
],
|
|
25
|
+
"engines": {
|
|
26
|
+
"node": ">=26"
|
|
27
|
+
},
|
|
28
|
+
"scripts": {
|
|
29
|
+
"test": "npm run test:lint && npm run test:unit",
|
|
30
|
+
"test:lint": "tsc --noEmit",
|
|
31
|
+
"test:unit": "node --conditions=plurnk-dev --env-file=.env.defaults --test --test-timeout=30000 src/*.test.ts",
|
|
32
|
+
"build:clean": "rm -rf dist",
|
|
33
|
+
"build:dist": "tsc -p tsconfig.build.json",
|
|
34
|
+
"build": "npm run build:clean && npm run build:dist && node --input-type=module -e 'import { copyFileSync } from \"node:fs\"; copyFileSync(\"src/share.sql\", \"dist/share.sql\");'",
|
|
35
|
+
"prepack": "npm run build"
|
|
36
|
+
},
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"@opentelemetry/api": "^1.9.1",
|
|
39
|
+
"@plurnk/plurnk-contracts": "^2.0.0",
|
|
40
|
+
"@plurnk/plurnk-meta": "^2.0.0",
|
|
41
|
+
"@plurnk/plurnk-providers": "^2.0.0",
|
|
42
|
+
"@possumtech/sqlrite": "^6.5.3"
|
|
43
|
+
},
|
|
44
|
+
"publishConfig": {
|
|
45
|
+
"access": "public"
|
|
46
|
+
},
|
|
47
|
+
"homepage": "https://github.com/plurnk/plurnk-service/tree/main/plurnk-digest#readme",
|
|
48
|
+
"bugs": {
|
|
49
|
+
"url": "https://repo.possumtech.com/plurnk/plurnk-service/issues"
|
|
50
|
+
},
|
|
51
|
+
"author": "@wikitopian",
|
|
52
|
+
"gitHead": "3b2cae63115333d1b2e820abcf44b0fe4959d9ea"
|
|
53
|
+
}
|