temporal-explorer 0.0.0-mvp

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/package.json ADDED
@@ -0,0 +1,108 @@
1
+ {
2
+ "name": "temporal-explorer",
3
+ "version": "0.0.0-mvp",
4
+ "description": "Local-first Temporal TypeScript workflow analysis, documentation, and trace exploration.",
5
+ "license": "MIT",
6
+ "author": "Steve Kinney <hello@stevekinney.net>",
7
+ "type": "module",
8
+ "bin": {
9
+ "temporal-explorer": "dist/cli/index.js"
10
+ },
11
+ "exports": {
12
+ ".": {
13
+ "import": "./dist/api/index.js"
14
+ },
15
+ "./schemas": {
16
+ "import": "./dist/schemas/index.js"
17
+ },
18
+ "./package.json": "./package.json"
19
+ },
20
+ "workspaces": [
21
+ "apps/*",
22
+ "packages/*"
23
+ ],
24
+ "scripts": {
25
+ "benchmark:analyzer": "bun run scripts/benchmarks/analyzer.ts",
26
+ "benchmark:history": "bun run scripts/benchmarks/history.ts",
27
+ "build": "turbo run build",
28
+ "build:dist": "bun run scripts/release/build-dist.ts",
29
+ "clean": "turbo run clean",
30
+ "compatibility:fetch-samples": "bun run scripts/compatibility/fetch-samples.ts",
31
+ "compatibility:manifest": "bun run scripts/compatibility/manifest.ts",
32
+ "compatibility:test": "bun run scripts/compatibility/run.ts",
33
+ "declarations:typecheck-fixtures": "bun run scripts/declarations/typecheck-fixtures.ts",
34
+ "dev": "turbo run dev",
35
+ "examples:library": "bun run examples/analyze-workflow-files.ts && bun run examples/import-event-history.ts && bun run examples/analyze-project.ts",
36
+ "fixtures:generate-histories": "bun run scripts/fixtures/generate-histories.ts",
37
+ "fixtures:regenerate-artifacts": "bun run scripts/fixtures/regenerate-artifacts.ts",
38
+ "fixtures:validate": "bun run scripts/fixtures/validate-fixtures.ts",
39
+ "fixtures:verify-no-drift": "bun run scripts/fixtures/generate-histories.ts --check",
40
+ "format": "prettier --write \"**/*.{ts,tsx,js,jsx,svelte,json,md}\"",
41
+ "format:check": "prettier --check \"**/*.{ts,tsx,js,jsx,svelte,json,md}\"",
42
+ "lint": "turbo run lint",
43
+ "lint:fix": "turbo run lint:fix",
44
+ "package:check": "npm pack --dry-run --ignore-scripts",
45
+ "prepack": "bun run scripts/release/build-dist.ts",
46
+ "prepare": "lefthook install",
47
+ "release:dry-run": "bun run scripts/release/dry-run.ts",
48
+ "replay:spike": "bun run scripts/replay/spike.ts",
49
+ "schema:emit-json-schema": "bun run scripts/schema/emit-json-schema.ts",
50
+ "schema:validate": "bun run scripts/schema/validate-artifact.ts",
51
+ "screenshots:verify": "bun run scripts/ui/screenshots-verify.ts",
52
+ "snapshots:verify": "bun run scripts/snapshots/verify.ts",
53
+ "test": "turbo run test --concurrency=5",
54
+ "test:cli": "bun test packages/cli",
55
+ "test:fixtures": "bun run scripts/fixtures/test-fixtures.ts",
56
+ "test:live": "TEMPORAL_EXPLORER_LIVE_TESTS=1 bun test packages/history/src/live.test.ts packages/cli/src/live-commands.test.ts",
57
+ "typecheck": "tsc --noEmit && turbo run typecheck",
58
+ "ui:accessibility": "bun run scripts/ui/accessibility.ts",
59
+ "ui:e2e": "bun run scripts/ui/e2e.ts",
60
+ "ui:e2e:graph": "bun run scripts/ui/e2e-graph.ts",
61
+ "ui:server-lifecycle": "bun run scripts/ui/server-lifecycle.ts",
62
+ "validate": "bun run typecheck && turbo run lint test build --concurrency=5 && bun run format:check"
63
+ },
64
+ "devDependencies": {
65
+ "@playwright/test": "^1.61.1",
66
+ "@repo/typescript-configuration": "workspace:*",
67
+ "@temporal-explorer/api": "workspace:*",
68
+ "@temporal-explorer/cli": "workspace:*",
69
+ "@temporal-explorer/schemas": "workspace:*",
70
+ "@temporalio/activity": "^1.18.1",
71
+ "@temporalio/common": "^1.18.1",
72
+ "@temporalio/proto": "^1.18.1",
73
+ "@temporalio/testing": "^1.18.1",
74
+ "@temporalio/worker": "^1.18.1",
75
+ "@temporalio/workflow": "^1.18.1",
76
+ "@types/bun": "^1.3.14",
77
+ "axe-core": "^4.12.1",
78
+ "chalk": "^5.6.2",
79
+ "change-case": "^5.4.4",
80
+ "lefthook": "^2.1.9",
81
+ "oxlint": "^1.72.0",
82
+ "oxlint-tsgolint": "^0.24.0",
83
+ "prettier": "^3.9.4",
84
+ "prettier-plugin-organize-imports": "^4.3.0",
85
+ "prettier-plugin-svelte": "^4.1.1",
86
+ "sort-package-json": "^4.0.0",
87
+ "turbo": "^2.10.2"
88
+ },
89
+ "packageManager": "bun@1.3.13",
90
+ "engines": {
91
+ "bun": ">=1.3.0"
92
+ },
93
+ "trustedDependencies": [
94
+ "@swc/core",
95
+ "protobufjs"
96
+ ],
97
+ "dependencies": {
98
+ "@temporalio/client": "^1.18.1",
99
+ "ts-morph": "^28.0.0",
100
+ "zod": "^4.4.3"
101
+ },
102
+ "files": [
103
+ "dist",
104
+ "packages/schemas/json-schema",
105
+ "README.md",
106
+ "LICENSE"
107
+ ]
108
+ }
@@ -0,0 +1,372 @@
1
+ {
2
+ "$id": "https://temporal-explorer.dev/schemas/temporal-analysis/v1",
3
+ "title": "temporal-analysis/v1",
4
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
5
+ "type": "object",
6
+ "properties": {
7
+ "schemaVersion": { "type": "string", "const": "temporal-analysis/v1" },
8
+ "artifactId": { "type": "string", "minLength": 1 },
9
+ "metadata": {
10
+ "type": "object",
11
+ "properties": {
12
+ "temporalExplorerVersion": { "type": "string", "minLength": 1 },
13
+ "schemaVersion": { "type": "string", "minLength": 1 },
14
+ "generatedAt": {
15
+ "type": "string",
16
+ "format": "date-time",
17
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
18
+ },
19
+ "inputs": {
20
+ "type": "object",
21
+ "properties": {
22
+ "projectRoot": { "type": "string" },
23
+ "configHash": { "type": "string" },
24
+ "tsconfigHash": { "type": "string" },
25
+ "packageMetadataHash": { "type": "string" },
26
+ "lockfileHash": { "type": "string" },
27
+ "sourceFileHashes": {
28
+ "type": "object",
29
+ "propertyNames": { "type": "string" },
30
+ "additionalProperties": { "type": "string" }
31
+ },
32
+ "temporalSdkVersions": {
33
+ "type": "object",
34
+ "propertyNames": { "type": "string" },
35
+ "additionalProperties": { "type": "string" }
36
+ }
37
+ },
38
+ "required": ["projectRoot", "configHash", "sourceFileHashes", "temporalSdkVersions"],
39
+ "additionalProperties": false
40
+ }
41
+ },
42
+ "required": ["temporalExplorerVersion", "schemaVersion", "inputs"],
43
+ "additionalProperties": false
44
+ },
45
+ "project": {
46
+ "type": "object",
47
+ "properties": {
48
+ "root": { "type": "string", "minLength": 1 },
49
+ "tsconfig": { "type": "string", "minLength": 1 },
50
+ "packageManager": {
51
+ "anyOf": [
52
+ { "type": "string", "const": "bun" },
53
+ { "type": "string", "const": "npm" },
54
+ { "type": "string", "const": "pnpm" },
55
+ { "type": "string", "const": "yarn" }
56
+ ]
57
+ }
58
+ },
59
+ "required": ["root", "tsconfig"],
60
+ "additionalProperties": false
61
+ },
62
+ "sdk": {
63
+ "type": "object",
64
+ "properties": {
65
+ "temporalTypeScriptVersion": { "type": "string", "minLength": 1 },
66
+ "detectedPackages": { "type": "array", "items": { "type": "string", "minLength": 1 } }
67
+ },
68
+ "required": ["detectedPackages"],
69
+ "additionalProperties": false
70
+ },
71
+ "workers": { "type": "array", "items": {} },
72
+ "workflows": {
73
+ "type": "array",
74
+ "items": {
75
+ "type": "object",
76
+ "properties": {
77
+ "id": { "type": "string", "minLength": 1 },
78
+ "name": { "type": "string", "minLength": 1 },
79
+ "source": { "$ref": "#/$defs/__schema0" },
80
+ "exported": { "type": "boolean" },
81
+ "signature": {
82
+ "type": "object",
83
+ "properties": {
84
+ "args": { "type": "array", "items": { "$ref": "#/$defs/__schema2" } },
85
+ "result": { "$ref": "#/$defs/__schema2" }
86
+ },
87
+ "required": ["args", "result"],
88
+ "additionalProperties": false
89
+ },
90
+ "messageSurface": {
91
+ "type": "object",
92
+ "properties": {
93
+ "signals": {
94
+ "type": "array",
95
+ "items": {
96
+ "type": "object",
97
+ "properties": {
98
+ "id": { "type": "string", "minLength": 1 },
99
+ "name": { "type": "string", "minLength": 1 },
100
+ "source": { "$ref": "#/$defs/__schema0" },
101
+ "args": { "type": "array", "items": { "$ref": "#/$defs/__schema2" } },
102
+ "handlerSource": { "$ref": "#/$defs/__schema0" },
103
+ "confidence": { "$ref": "#/$defs/__schema3" }
104
+ },
105
+ "required": ["id", "name", "source", "args", "confidence"],
106
+ "additionalProperties": false
107
+ }
108
+ },
109
+ "queries": {
110
+ "type": "array",
111
+ "items": {
112
+ "type": "object",
113
+ "properties": {
114
+ "id": { "type": "string", "minLength": 1 },
115
+ "name": { "type": "string", "minLength": 1 },
116
+ "source": { "$ref": "#/$defs/__schema0" },
117
+ "args": { "type": "array", "items": { "$ref": "#/$defs/__schema2" } },
118
+ "result": { "$ref": "#/$defs/__schema2" },
119
+ "handlerSource": { "$ref": "#/$defs/__schema0" },
120
+ "confidence": { "$ref": "#/$defs/__schema3" }
121
+ },
122
+ "required": ["id", "name", "source", "args", "confidence"],
123
+ "additionalProperties": false
124
+ }
125
+ },
126
+ "updates": {
127
+ "type": "array",
128
+ "items": {
129
+ "type": "object",
130
+ "properties": {
131
+ "id": { "type": "string", "minLength": 1 },
132
+ "name": { "type": "string", "minLength": 1 },
133
+ "source": { "$ref": "#/$defs/__schema0" },
134
+ "args": { "type": "array", "items": { "$ref": "#/$defs/__schema2" } },
135
+ "result": { "$ref": "#/$defs/__schema2" },
136
+ "handlerSource": { "$ref": "#/$defs/__schema0" },
137
+ "validatorSource": { "$ref": "#/$defs/__schema0" },
138
+ "confidence": { "$ref": "#/$defs/__schema3" }
139
+ },
140
+ "required": ["id", "name", "source", "args", "confidence"],
141
+ "additionalProperties": false
142
+ }
143
+ }
144
+ },
145
+ "required": ["signals", "queries", "updates"],
146
+ "additionalProperties": false
147
+ },
148
+ "state": {
149
+ "type": "object",
150
+ "properties": { "variables": { "type": "array", "items": {} } },
151
+ "required": ["variables"],
152
+ "additionalProperties": false
153
+ },
154
+ "body": {
155
+ "type": "object",
156
+ "properties": { "nodes": { "type": "array", "items": {} } },
157
+ "required": ["nodes"],
158
+ "additionalProperties": false
159
+ },
160
+ "temporalCommands": {
161
+ "type": "array",
162
+ "items": {
163
+ "type": "object",
164
+ "properties": {
165
+ "id": { "type": "string", "minLength": 1 },
166
+ "kind": {
167
+ "anyOf": [
168
+ { "type": "string", "const": "activity" },
169
+ { "type": "string", "const": "workflow-lifecycle" },
170
+ { "type": "string", "const": "timer" },
171
+ { "type": "string", "const": "condition" },
172
+ { "type": "string", "const": "signal" },
173
+ { "type": "string", "const": "query" },
174
+ { "type": "string", "const": "update" },
175
+ { "type": "string", "const": "child-workflow" },
176
+ { "type": "string", "const": "external-workflow" },
177
+ { "type": "string", "const": "continue-as-new" },
178
+ { "type": "string", "const": "patch" },
179
+ { "type": "string", "const": "cancellation-scope" },
180
+ { "type": "string", "const": "dynamic" }
181
+ ]
182
+ },
183
+ "name": { "type": "string", "minLength": 1 },
184
+ "source": { "$ref": "#/$defs/__schema0" },
185
+ "confidence": { "$ref": "#/$defs/__schema3" },
186
+ "staticOrder": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }
187
+ },
188
+ "required": ["id", "kind", "name", "source", "confidence", "staticOrder"],
189
+ "additionalProperties": false
190
+ }
191
+ },
192
+ "dependencies": {
193
+ "type": "array",
194
+ "items": {
195
+ "type": "object",
196
+ "properties": {
197
+ "kind": { "type": "string", "const": "type-import" },
198
+ "name": { "type": "string", "minLength": 1 },
199
+ "module": { "type": "string", "minLength": 1 }
200
+ },
201
+ "required": ["kind", "name", "module"],
202
+ "additionalProperties": false
203
+ }
204
+ },
205
+ "diagnostics": { "type": "array", "items": { "$ref": "#/$defs/__schema4" } }
206
+ },
207
+ "required": [
208
+ "id",
209
+ "name",
210
+ "source",
211
+ "exported",
212
+ "signature",
213
+ "messageSurface",
214
+ "state",
215
+ "body",
216
+ "temporalCommands",
217
+ "dependencies",
218
+ "diagnostics"
219
+ ],
220
+ "additionalProperties": false
221
+ }
222
+ },
223
+ "activities": {
224
+ "type": "array",
225
+ "items": {
226
+ "type": "object",
227
+ "properties": {
228
+ "id": { "type": "string", "minLength": 1 },
229
+ "name": { "type": "string", "minLength": 1 },
230
+ "source": { "$ref": "#/$defs/__schema0" },
231
+ "implementationSource": { "$ref": "#/$defs/__schema0" },
232
+ "confidence": { "$ref": "#/$defs/__schema3" }
233
+ },
234
+ "required": ["id", "name", "confidence"],
235
+ "additionalProperties": false
236
+ }
237
+ },
238
+ "clients": { "type": "array", "items": {} },
239
+ "diagnostics": { "type": "array", "items": { "$ref": "#/$defs/__schema4" } }
240
+ },
241
+ "required": [
242
+ "schemaVersion",
243
+ "artifactId",
244
+ "metadata",
245
+ "project",
246
+ "sdk",
247
+ "workers",
248
+ "workflows",
249
+ "activities",
250
+ "clients",
251
+ "diagnostics"
252
+ ],
253
+ "additionalProperties": false,
254
+ "$defs": {
255
+ "__schema0": {
256
+ "type": "object",
257
+ "properties": {
258
+ "path": { "type": "string", "minLength": 1 },
259
+ "pathKind": {
260
+ "anyOf": [
261
+ { "type": "string", "const": "project-relative" },
262
+ { "type": "string", "const": "absolute" }
263
+ ]
264
+ },
265
+ "start": { "$ref": "#/$defs/__schema1" },
266
+ "end": { "$ref": "#/$defs/__schema1" },
267
+ "symbolName": { "type": "string", "minLength": 1 }
268
+ },
269
+ "required": ["path", "pathKind", "start", "end"],
270
+ "additionalProperties": false
271
+ },
272
+ "__schema1": {
273
+ "type": "object",
274
+ "properties": {
275
+ "line": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 },
276
+ "column": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 },
277
+ "offset": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }
278
+ },
279
+ "required": ["line", "column", "offset"],
280
+ "additionalProperties": false
281
+ },
282
+ "__schema2": {
283
+ "type": "object",
284
+ "properties": {
285
+ "id": { "type": "string", "minLength": 1 },
286
+ "display": { "type": "string", "minLength": 1 },
287
+ "displayName": { "type": "string", "minLength": 1 },
288
+ "fullyQualifiedName": { "type": "string", "minLength": 1 },
289
+ "kind": {
290
+ "anyOf": [
291
+ { "type": "string", "const": "primitive" },
292
+ { "type": "string", "const": "object" },
293
+ { "type": "string", "const": "array" },
294
+ { "type": "string", "const": "tuple" },
295
+ { "type": "string", "const": "union" },
296
+ { "type": "string", "const": "intersection" },
297
+ { "type": "string", "const": "literal" },
298
+ { "type": "string", "const": "enum" },
299
+ { "type": "string", "const": "function" },
300
+ { "type": "string", "const": "promise" },
301
+ { "type": "string", "const": "external" },
302
+ { "type": "string", "const": "unknown" }
303
+ ]
304
+ },
305
+ "nullable": { "type": "boolean" },
306
+ "optional": { "type": "boolean" },
307
+ "properties": {
308
+ "type": "object",
309
+ "propertyNames": { "type": "string" },
310
+ "additionalProperties": { "$ref": "#/$defs/__schema2" }
311
+ },
312
+ "items": { "$ref": "#/$defs/__schema2" },
313
+ "tupleItems": { "type": "array", "items": { "$ref": "#/$defs/__schema2" } },
314
+ "union": { "type": "array", "items": { "$ref": "#/$defs/__schema2" } },
315
+ "intersection": { "type": "array", "items": { "$ref": "#/$defs/__schema2" } },
316
+ "source": { "$ref": "#/$defs/__schema0" },
317
+ "module": { "type": "string", "minLength": 1 },
318
+ "declaration": { "$ref": "#/$defs/__schema0" },
319
+ "typeArguments": { "type": "array", "items": { "$ref": "#/$defs/__schema2" } },
320
+ "references": { "type": "array", "items": { "type": "string", "minLength": 1 } },
321
+ "recursive": { "type": "boolean" },
322
+ "confidence": { "$ref": "#/$defs/__schema3" }
323
+ },
324
+ "required": ["id", "display", "kind", "confidence"],
325
+ "additionalProperties": false
326
+ },
327
+ "__schema3": {
328
+ "anyOf": [
329
+ { "type": "string", "const": "exact" },
330
+ { "type": "string", "const": "inferred" },
331
+ { "type": "string", "const": "partial" },
332
+ { "type": "string", "const": "ambiguous" },
333
+ { "type": "string", "const": "dynamic" },
334
+ { "type": "string", "const": "unknown" }
335
+ ]
336
+ },
337
+ "__schema4": {
338
+ "type": "object",
339
+ "properties": {
340
+ "code": { "type": "string", "minLength": 1 },
341
+ "category": {
342
+ "anyOf": [
343
+ { "type": "string", "const": "configuration" },
344
+ { "type": "string", "const": "discovery" },
345
+ { "type": "string", "const": "type-extraction" },
346
+ { "type": "string", "const": "control-flow" },
347
+ { "type": "string", "const": "determinism" },
348
+ { "type": "string", "const": "history" },
349
+ { "type": "string", "const": "mapping" },
350
+ { "type": "string", "const": "rendering" },
351
+ { "type": "string", "const": "privacy" },
352
+ { "type": "string", "const": "compatibility" }
353
+ ]
354
+ },
355
+ "severity": {
356
+ "anyOf": [
357
+ { "type": "string", "const": "error" },
358
+ { "type": "string", "const": "warning" },
359
+ { "type": "string", "const": "info" }
360
+ ]
361
+ },
362
+ "message": { "type": "string", "minLength": 1 },
363
+ "source": { "$ref": "#/$defs/__schema0" },
364
+ "relatedSources": { "type": "array", "items": { "$ref": "#/$defs/__schema0" } },
365
+ "confidence": { "$ref": "#/$defs/__schema3" },
366
+ "documentationUrl": { "type": "string", "format": "uri" }
367
+ },
368
+ "required": ["code", "category", "severity", "message", "confidence"],
369
+ "additionalProperties": false
370
+ }
371
+ }
372
+ }