@doxajs/theoria 0.1.0-alpha.1
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/LICENSE +201 -0
- package/NOTICE +4 -0
- package/README.md +13 -0
- package/dist/index 2.js +5 -0
- package/dist/index.d 2.ts +5 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts 2.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js 2.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/migration 2.js +16 -0
- package/dist/migration.d 2.ts +5 -0
- package/dist/migration.d.ts +5 -0
- package/dist/migration.d.ts 2.map +1 -0
- package/dist/migration.d.ts.map +1 -0
- package/dist/migration.js +16 -0
- package/dist/migration.js 2.map +1 -0
- package/dist/migration.js.map +1 -0
- package/dist/postgres-theoria.d.ts +22 -0
- package/dist/postgres-theoria.d.ts.map +1 -0
- package/dist/postgres-theoria.js +138 -0
- package/dist/postgres-theoria.js.map +1 -0
- package/dist/server 2.js +131 -0
- package/dist/server.d 2.ts +11 -0
- package/dist/server.d.ts +11 -0
- package/dist/server.d.ts 2.map +1 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +131 -0
- package/dist/server.js 2.map +1 -0
- package/dist/server.js.map +1 -0
- package/dist/store 2.js +164 -0
- package/dist/store.d 2.ts +40 -0
- package/dist/store.d.ts +40 -0
- package/dist/store.d.ts 2.map +1 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +164 -0
- package/dist/store.js 2.map +1 -0
- package/dist/store.js.map +1 -0
- package/migrations/0001_doxa_theoria.sql +34 -0
- package/migrations/0002_doxa_theoria_sequence.sql +7 -0
- package/package.json +49 -0
package/dist/store.js
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { Pool } from 'pg';
|
|
2
|
+
export class TheoriaStore {
|
|
3
|
+
#pool;
|
|
4
|
+
constructor(connectionString) {
|
|
5
|
+
this.#pool = new Pool({ connectionString, application_name: 'doxa-theoria-ui' });
|
|
6
|
+
}
|
|
7
|
+
async executions(query = {}) {
|
|
8
|
+
const limit = Math.min(Math.max(query.limit ?? 100, 1), 500);
|
|
9
|
+
const values = [];
|
|
10
|
+
const conditions = ['candidate.execution_id IS NOT NULL'];
|
|
11
|
+
if (query.kind) {
|
|
12
|
+
values.push(query.kind);
|
|
13
|
+
conditions.push(`candidate.kind = $${values.length}`);
|
|
14
|
+
}
|
|
15
|
+
if (query.phase) {
|
|
16
|
+
values.push(query.phase);
|
|
17
|
+
conditions.push(`candidate.phase = $${values.length}`);
|
|
18
|
+
}
|
|
19
|
+
if (query.search) {
|
|
20
|
+
values.push(`%${query.search}%`);
|
|
21
|
+
conditions.push(`(candidate.name ILIKE $${values.length} OR candidate.role_id ILIKE $${values.length} OR candidate.actor_id ILIKE $${values.length} OR candidate.execution_id::text ILIKE $${values.length} OR candidate.correlation_id::text ILIKE $${values.length})`);
|
|
22
|
+
}
|
|
23
|
+
values.push(limit);
|
|
24
|
+
const result = await this.#pool.query(`
|
|
25
|
+
WITH eligible AS (
|
|
26
|
+
SELECT DISTINCT candidate.execution_id
|
|
27
|
+
FROM doxa_theoria_observations candidate
|
|
28
|
+
WHERE ${conditions.join(' AND ')}
|
|
29
|
+
), ranked AS (
|
|
30
|
+
SELECT observation.execution_id, observation.correlation_id, observation.source_execution_id,
|
|
31
|
+
observation.name, observation.transport, observation.phase, observation.occurred_at,
|
|
32
|
+
observation.duration_ms,
|
|
33
|
+
count(*) OVER (PARTITION BY observation.execution_id) AS observation_count,
|
|
34
|
+
row_number() OVER (
|
|
35
|
+
PARTITION BY observation.execution_id
|
|
36
|
+
ORDER BY
|
|
37
|
+
CASE
|
|
38
|
+
WHEN observation.kind = 'execution' AND observation.phase IN ('completed', 'failed') THEN 0
|
|
39
|
+
WHEN observation.kind = 'execution' THEN 1
|
|
40
|
+
ELSE 2
|
|
41
|
+
END,
|
|
42
|
+
observation.sequence DESC NULLS LAST,
|
|
43
|
+
observation.occurred_at DESC,
|
|
44
|
+
observation.id DESC
|
|
45
|
+
) AS position
|
|
46
|
+
FROM doxa_theoria_observations observation
|
|
47
|
+
JOIN eligible ON eligible.execution_id = observation.execution_id
|
|
48
|
+
)
|
|
49
|
+
SELECT execution_id, correlation_id, source_execution_id, name, transport, phase,
|
|
50
|
+
occurred_at, duration_ms, observation_count
|
|
51
|
+
FROM ranked WHERE position = 1
|
|
52
|
+
ORDER BY occurred_at DESC, execution_id
|
|
53
|
+
LIMIT $${values.length}
|
|
54
|
+
`, values);
|
|
55
|
+
return result.rows.map((row) => ({
|
|
56
|
+
executionId: row.execution_id,
|
|
57
|
+
...(row.correlation_id ? { correlationId: row.correlation_id } : {}),
|
|
58
|
+
...(row.source_execution_id ? { sourceExecutionId: row.source_execution_id } : {}),
|
|
59
|
+
name: row.name,
|
|
60
|
+
...(row.transport ? { transport: row.transport } : {}),
|
|
61
|
+
phase: row.phase,
|
|
62
|
+
occurredAt: row.occurred_at.toISOString(),
|
|
63
|
+
...(row.duration_ms === null ? {} : { durationMilliseconds: row.duration_ms }),
|
|
64
|
+
observationCount: Number(row.observation_count),
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
async entries(query) {
|
|
68
|
+
const limit = Math.min(Math.max(query.limit ?? 100, 1), 500);
|
|
69
|
+
const values = [];
|
|
70
|
+
const conditions = ['execution_id IS NOT NULL', "phase IN ('occurred', 'completed', 'failed')"];
|
|
71
|
+
if (query.kind) {
|
|
72
|
+
values.push(query.kind);
|
|
73
|
+
conditions.push(`kind = $${values.length}`);
|
|
74
|
+
}
|
|
75
|
+
if (query.phase) {
|
|
76
|
+
values.push(query.phase);
|
|
77
|
+
conditions.push(`phase = $${values.length}`);
|
|
78
|
+
}
|
|
79
|
+
if (query.search) {
|
|
80
|
+
values.push(`%${query.search}%`);
|
|
81
|
+
conditions.push(`(name ILIKE $${values.length} OR role_id ILIKE $${values.length} OR actor_id ILIKE $${values.length} OR execution_id::text ILIKE $${values.length} OR correlation_id::text ILIKE $${values.length})`);
|
|
82
|
+
}
|
|
83
|
+
values.push(limit);
|
|
84
|
+
const result = await this.#pool.query(`
|
|
85
|
+
SELECT id, execution_id, correlation_id, source_execution_id, name, kind, role_id,
|
|
86
|
+
transport, phase, occurred_at, duration_ms
|
|
87
|
+
FROM doxa_theoria_observations
|
|
88
|
+
WHERE ${conditions.join(' AND ')}
|
|
89
|
+
ORDER BY occurred_at DESC, id DESC
|
|
90
|
+
LIMIT $${values.length}
|
|
91
|
+
`, values);
|
|
92
|
+
return result.rows.map((row) => ({
|
|
93
|
+
entryId: row.id,
|
|
94
|
+
executionId: row.execution_id,
|
|
95
|
+
...(row.correlation_id ? { correlationId: row.correlation_id } : {}),
|
|
96
|
+
...(row.source_execution_id ? { sourceExecutionId: row.source_execution_id } : {}),
|
|
97
|
+
name: row.name,
|
|
98
|
+
kind: row.kind,
|
|
99
|
+
...(row.role_id ? { roleId: row.role_id } : {}),
|
|
100
|
+
...(row.transport ? { transport: row.transport } : {}),
|
|
101
|
+
phase: row.phase,
|
|
102
|
+
occurredAt: row.occurred_at.toISOString(),
|
|
103
|
+
...(row.duration_ms === null ? {} : { durationMilliseconds: row.duration_ms }),
|
|
104
|
+
}));
|
|
105
|
+
}
|
|
106
|
+
async timeline(executionId) {
|
|
107
|
+
const correlation = await this.#pool.query(`
|
|
108
|
+
SELECT correlation_id FROM doxa_theoria_observations
|
|
109
|
+
WHERE execution_id = $1 ORDER BY sequence NULLS LAST, occurred_at, id LIMIT 1
|
|
110
|
+
`, [executionId]);
|
|
111
|
+
const correlationId = correlation.rows[0]?.correlation_id;
|
|
112
|
+
const result = await this.#pool.query(`
|
|
113
|
+
SELECT * FROM doxa_theoria_observations
|
|
114
|
+
WHERE execution_id = $1 OR ($2::uuid IS NOT NULL AND correlation_id = $2::uuid)
|
|
115
|
+
ORDER BY sequence NULLS LAST, occurred_at, id
|
|
116
|
+
`, [executionId, correlationId ?? null]);
|
|
117
|
+
return result.rows.map(toObservation);
|
|
118
|
+
}
|
|
119
|
+
async close() {
|
|
120
|
+
await this.#pool.end();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
function toObservation(row) {
|
|
124
|
+
const optional = (key) => row[key] === null || row[key] === undefined ? undefined : row[key];
|
|
125
|
+
return {
|
|
126
|
+
id: String(row.id),
|
|
127
|
+
occurredAt: row.occurred_at.toISOString(),
|
|
128
|
+
kind: row.kind,
|
|
129
|
+
name: String(row.name),
|
|
130
|
+
phase: row.phase,
|
|
131
|
+
...(optional('role_id') ? { roleId: optional('role_id') } : {}),
|
|
132
|
+
...(optional('duration_ms') === undefined
|
|
133
|
+
? {}
|
|
134
|
+
: { durationMilliseconds: optional('duration_ms') }),
|
|
135
|
+
context: {
|
|
136
|
+
...(optional('execution_id')
|
|
137
|
+
? { executionId: optional('execution_id') }
|
|
138
|
+
: {}),
|
|
139
|
+
...(optional('source_execution_id')
|
|
140
|
+
? { sourceExecutionId: optional('source_execution_id') }
|
|
141
|
+
: {}),
|
|
142
|
+
...(optional('correlation_id')
|
|
143
|
+
? { correlationId: optional('correlation_id') }
|
|
144
|
+
: {}),
|
|
145
|
+
...(optional('causation_id')
|
|
146
|
+
? { causationId: optional('causation_id') }
|
|
147
|
+
: {}),
|
|
148
|
+
...(optional('trace_id') ? { traceId: optional('trace_id') } : {}),
|
|
149
|
+
...(optional('span_id') ? { spanId: optional('span_id') } : {}),
|
|
150
|
+
...(optional('actor_kind')
|
|
151
|
+
? { actorKind: optional('actor_kind') }
|
|
152
|
+
: {}),
|
|
153
|
+
...(optional('actor_id') ? { actorId: optional('actor_id') } : {}),
|
|
154
|
+
...(optional('tenant_id') ? { tenantId: optional('tenant_id') } : {}),
|
|
155
|
+
...(optional('transport') ? { transport: optional('transport') } : {}),
|
|
156
|
+
...(optional('transport_name')
|
|
157
|
+
? { transportName: optional('transport_name') }
|
|
158
|
+
: {}),
|
|
159
|
+
},
|
|
160
|
+
attributes: row.attributes,
|
|
161
|
+
...(row.error ? { error: row.error } : {}),
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS doxa_theoria_observations (
|
|
2
|
+
id uuid PRIMARY KEY,
|
|
3
|
+
occurred_at timestamptz NOT NULL,
|
|
4
|
+
kind text NOT NULL,
|
|
5
|
+
name text NOT NULL,
|
|
6
|
+
phase text NOT NULL,
|
|
7
|
+
role_id text,
|
|
8
|
+
duration_ms double precision,
|
|
9
|
+
execution_id uuid,
|
|
10
|
+
source_execution_id uuid,
|
|
11
|
+
correlation_id uuid,
|
|
12
|
+
causation_id text,
|
|
13
|
+
trace_id text,
|
|
14
|
+
span_id text,
|
|
15
|
+
actor_kind text,
|
|
16
|
+
actor_id text,
|
|
17
|
+
tenant_id text,
|
|
18
|
+
transport text,
|
|
19
|
+
transport_name text,
|
|
20
|
+
attributes jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
21
|
+
error jsonb
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
CREATE INDEX IF NOT EXISTS doxa_theoria_execution_idx
|
|
25
|
+
ON doxa_theoria_observations (execution_id, occurred_at, id);
|
|
26
|
+
CREATE INDEX IF NOT EXISTS doxa_theoria_correlation_idx
|
|
27
|
+
ON doxa_theoria_observations (correlation_id, occurred_at, id);
|
|
28
|
+
CREATE INDEX IF NOT EXISTS doxa_theoria_recent_idx
|
|
29
|
+
ON doxa_theoria_observations (occurred_at DESC, id);
|
|
30
|
+
CREATE INDEX IF NOT EXISTS doxa_theoria_kind_idx
|
|
31
|
+
ON doxa_theoria_observations (kind, occurred_at DESC);
|
|
32
|
+
CREATE INDEX IF NOT EXISTS doxa_theoria_failed_idx
|
|
33
|
+
ON doxa_theoria_observations (occurred_at DESC)
|
|
34
|
+
WHERE phase = 'failed';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
ALTER TABLE doxa_theoria_observations
|
|
2
|
+
ADD COLUMN IF NOT EXISTS sequence bigint GENERATED ALWAYS AS IDENTITY;
|
|
3
|
+
|
|
4
|
+
CREATE INDEX IF NOT EXISTS doxa_theoria_execution_sequence_idx
|
|
5
|
+
ON doxa_theoria_observations (execution_id, sequence);
|
|
6
|
+
CREATE INDEX IF NOT EXISTS doxa_theoria_correlation_sequence_idx
|
|
7
|
+
ON doxa_theoria_observations (correlation_id, sequence);
|
package/package.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@doxajs/theoria",
|
|
3
|
+
"version": "0.1.0-alpha.1",
|
|
4
|
+
"description": "The first-party causal execution debugger for Doxa development.",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/div0ky/doxajs.git",
|
|
9
|
+
"directory": "packages/theoria"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/div0ky/doxajs#readme",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/div0ky/doxajs/issues"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"doxa",
|
|
17
|
+
"framework",
|
|
18
|
+
"debugger",
|
|
19
|
+
"observability",
|
|
20
|
+
"postgresql"
|
|
21
|
+
],
|
|
22
|
+
"type": "module",
|
|
23
|
+
"engines": {
|
|
24
|
+
"node": ">=24 <25"
|
|
25
|
+
},
|
|
26
|
+
"publishConfig": {
|
|
27
|
+
"access": "public",
|
|
28
|
+
"provenance": true
|
|
29
|
+
},
|
|
30
|
+
"exports": {
|
|
31
|
+
".": {
|
|
32
|
+
"types": "./dist/index.d.ts",
|
|
33
|
+
"default": "./dist/index.js"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"files": [
|
|
37
|
+
"dist",
|
|
38
|
+
"migrations",
|
|
39
|
+
"NOTICE"
|
|
40
|
+
],
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"pg": "8.22.0",
|
|
43
|
+
"@doxajs/core": "0.1.0-alpha.1"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@types/pg": "8.20.0"
|
|
47
|
+
},
|
|
48
|
+
"scripts": {}
|
|
49
|
+
}
|