@pristine-ts/observability 2.0.16 → 2.0.18
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/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/lib/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/dist/lib/cjs/models/run-metadata.model.js +0 -18
- package/dist/lib/cjs/models/run-metadata.model.js.map +0 -1
- package/dist/lib/cjs/observability-configuration.js +0 -49
- package/dist/lib/cjs/observability-configuration.js.map +0 -1
- package/dist/lib/cjs/serializers/serialized-span.interface.js +0 -3
- package/dist/lib/cjs/serializers/serialized-span.interface.js.map +0 -1
- package/dist/lib/cjs/serializers/serialized-trace.interface.js +0 -3
- package/dist/lib/cjs/serializers/serialized-trace.interface.js.map +0 -1
- package/dist/lib/cjs/store/log-tailer.js +0 -110
- package/dist/lib/cjs/store/log-tailer.js.map +0 -1
- package/dist/lib/cjs/store/observability-paths.js +0 -78
- package/dist/lib/cjs/store/observability-paths.js.map +0 -1
- package/dist/lib/cjs/store/observability-run-manager.js +0 -346
- package/dist/lib/cjs/store/observability-run-manager.js.map +0 -1
- package/dist/lib/cjs/store/observability-store-reader.js +0 -174
- package/dist/lib/cjs/store/observability-store-reader.js.map +0 -1
- package/dist/lib/cjs/store/serializers/serialized-span.interface.js +0 -3
- package/dist/lib/cjs/store/serializers/serialized-span.interface.js.map +0 -1
- package/dist/lib/cjs/store/serializers/serialized-trace.interface.js +0 -3
- package/dist/lib/cjs/store/serializers/serialized-trace.interface.js.map +0 -1
- package/dist/lib/cjs/store/serializers/span-deserializer.js +0 -26
- package/dist/lib/cjs/store/serializers/span-deserializer.js.map +0 -1
- package/dist/lib/cjs/store/serializers/trace-deserializer.js +0 -24
- package/dist/lib/cjs/store/serializers/trace-deserializer.js.map +0 -1
- package/dist/lib/cjs/store/trace-deserializer.js +0 -41
- package/dist/lib/cjs/store/trace-deserializer.js.map +0 -1
- package/dist/lib/esm/models/run-metadata.model.js +0 -14
- package/dist/lib/esm/models/run-metadata.model.js.map +0 -1
- package/dist/lib/esm/observability-configuration.js +0 -46
- package/dist/lib/esm/observability-configuration.js.map +0 -1
- package/dist/lib/esm/serializers/serialized-span.interface.js +0 -2
- package/dist/lib/esm/serializers/serialized-span.interface.js.map +0 -1
- package/dist/lib/esm/serializers/serialized-trace.interface.js +0 -2
- package/dist/lib/esm/serializers/serialized-trace.interface.js.map +0 -1
- package/dist/lib/esm/store/log-tailer.js +0 -73
- package/dist/lib/esm/store/log-tailer.js.map +0 -1
- package/dist/lib/esm/store/observability-paths.js +0 -41
- package/dist/lib/esm/store/observability-paths.js.map +0 -1
- package/dist/lib/esm/store/observability-run-manager.js +0 -310
- package/dist/lib/esm/store/observability-run-manager.js.map +0 -1
- package/dist/lib/esm/store/observability-store-reader.js +0 -138
- package/dist/lib/esm/store/observability-store-reader.js.map +0 -1
- package/dist/lib/esm/store/serializers/serialized-span.interface.js +0 -2
- package/dist/lib/esm/store/serializers/serialized-span.interface.js.map +0 -1
- package/dist/lib/esm/store/serializers/serialized-trace.interface.js +0 -2
- package/dist/lib/esm/store/serializers/serialized-trace.interface.js.map +0 -1
- package/dist/lib/esm/store/serializers/span-deserializer.js +0 -22
- package/dist/lib/esm/store/serializers/span-deserializer.js.map +0 -1
- package/dist/lib/esm/store/serializers/trace-deserializer.js +0 -20
- package/dist/lib/esm/store/serializers/trace-deserializer.js.map +0 -1
- package/dist/lib/esm/store/trace-deserializer.js +0 -37
- package/dist/lib/esm/store/trace-deserializer.js.map +0 -1
- package/dist/types/models/run-metadata.model.d.ts +0 -28
- package/dist/types/observability-configuration.d.ts +0 -32
- package/dist/types/serializers/serialized-span.interface.d.ts +0 -14
- package/dist/types/serializers/serialized-trace.interface.d.ts +0 -14
- package/dist/types/store/log-tailer.d.ts +0 -27
- package/dist/types/store/observability-paths.d.ts +0 -30
- package/dist/types/store/observability-run-manager.d.ts +0 -96
- package/dist/types/store/observability-store-reader.d.ts +0 -55
- package/dist/types/store/serializers/serialized-span.interface.d.ts +0 -14
- package/dist/types/store/serializers/serialized-trace.interface.d.ts +0 -14
- package/dist/types/store/serializers/span-deserializer.d.ts +0 -11
- package/dist/types/store/serializers/trace-deserializer.d.ts +0 -9
- package/dist/types/store/trace-deserializer.d.ts +0 -41
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
-
};
|
|
24
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
-
var ownKeys = function(o) {
|
|
26
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
-
var ar = [];
|
|
28
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
-
return ar;
|
|
30
|
-
};
|
|
31
|
-
return ownKeys(o);
|
|
32
|
-
};
|
|
33
|
-
return function (mod) {
|
|
34
|
-
if (mod && mod.__esModule) return mod;
|
|
35
|
-
var result = {};
|
|
36
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
-
__setModuleDefault(result, mod);
|
|
38
|
-
return result;
|
|
39
|
-
};
|
|
40
|
-
})();
|
|
41
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
42
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
43
|
-
};
|
|
44
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
-
exports.ObservabilityStoreReader = void 0;
|
|
46
|
-
const fs = __importStar(require("fs"));
|
|
47
|
-
const tsyringe_1 = require("tsyringe");
|
|
48
|
-
const common_1 = require("@pristine-ts/common");
|
|
49
|
-
const observability_module_keyname_1 = require("../observability.module.keyname");
|
|
50
|
-
const observability_configuration_1 = require("../observability-configuration");
|
|
51
|
-
const observability_paths_1 = require("./observability-paths");
|
|
52
|
-
/**
|
|
53
|
-
* Read-only access to the observability store. Used by the `logs`, `trace` and `requests`
|
|
54
|
-
* CLI commands. Pure filesystem reads — no kernel, no running app required; it reads what
|
|
55
|
-
* a separate `pristine start` process wrote.
|
|
56
|
-
*/
|
|
57
|
-
let ObservabilityStoreReader = class ObservabilityStoreReader {
|
|
58
|
-
constructor(configuration) {
|
|
59
|
-
this.paths = new observability_paths_1.ObservabilityPaths(configuration.directory);
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* The run id the `latest.json` pointer references, or undefined when the store is empty.
|
|
63
|
-
*/
|
|
64
|
-
latestRunId() {
|
|
65
|
-
try {
|
|
66
|
-
const pointer = JSON.parse(fs.readFileSync(this.paths.latestPointerFile(), "utf8"));
|
|
67
|
-
return typeof (pointer === null || pointer === void 0 ? void 0 : pointer.runId) === "string" ? pointer.runId : undefined;
|
|
68
|
-
}
|
|
69
|
-
catch (_a) {
|
|
70
|
-
return undefined;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Resolves an explicit run id, or falls back to the latest run.
|
|
75
|
-
*/
|
|
76
|
-
resolveRunId(explicit) {
|
|
77
|
-
return explicit !== null && explicit !== void 0 ? explicit : this.latestRunId();
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Every run's metadata, most-recent first.
|
|
81
|
-
*/
|
|
82
|
-
listRuns() {
|
|
83
|
-
try {
|
|
84
|
-
return fs.readdirSync(this.paths.runsDirectory(), { withFileTypes: true })
|
|
85
|
-
.filter(entry => entry.isDirectory())
|
|
86
|
-
.map(entry => this.readRunMetadata(entry.name))
|
|
87
|
-
.filter((metadata) => metadata !== undefined)
|
|
88
|
-
.sort((a, b) => Date.parse(b.startedAt) - Date.parse(a.startedAt));
|
|
89
|
-
}
|
|
90
|
-
catch (_a) {
|
|
91
|
-
return [];
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Reads a run's `run.json`, or undefined when absent/corrupt.
|
|
96
|
-
*/
|
|
97
|
-
readRunMetadata(runId) {
|
|
98
|
-
try {
|
|
99
|
-
return JSON.parse(fs.readFileSync(this.paths.runMetadataFile(runId), "utf8"));
|
|
100
|
-
}
|
|
101
|
-
catch (_a) {
|
|
102
|
-
return undefined;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* The request summaries for a run, most-recent first, optionally capped to `limit`.
|
|
107
|
-
*/
|
|
108
|
-
readRequests(runId, limit) {
|
|
109
|
-
const summaries = this.readJsonl(this.paths.requestsFile(runId))
|
|
110
|
-
.sort((a, b) => b.startedAt - a.startedAt);
|
|
111
|
-
return limit === undefined ? summaries : summaries.slice(0, limit);
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* The raw log entries for a run, in write order. Each is a parsed `logs.jsonl` line.
|
|
115
|
-
*/
|
|
116
|
-
readLogs(runId) {
|
|
117
|
-
return this.readJsonl(this.paths.logsFile(runId));
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* The absolute `logs.jsonl` path for a run — handed to `LogTailer` for `--follow`.
|
|
121
|
-
*/
|
|
122
|
-
logsFilePath(runId) {
|
|
123
|
-
return this.paths.logsFile(runId);
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Finds and reads a trace by id. Searches the preferred run first (when given), then
|
|
127
|
-
* every other run most-recent first. Returns the parsed trace and the run it was found
|
|
128
|
-
* in, or undefined when no run contains it.
|
|
129
|
-
*/
|
|
130
|
-
findTrace(traceId, preferredRunId) {
|
|
131
|
-
const runIds = this.listRuns().map(run => run.runId);
|
|
132
|
-
const ordered = preferredRunId === undefined
|
|
133
|
-
? runIds
|
|
134
|
-
: [preferredRunId, ...runIds.filter(id => id !== preferredRunId)];
|
|
135
|
-
for (const runId of ordered) {
|
|
136
|
-
try {
|
|
137
|
-
const trace = JSON.parse(fs.readFileSync(this.paths.traceFile(runId, traceId), "utf8"));
|
|
138
|
-
return { trace, runId };
|
|
139
|
-
}
|
|
140
|
-
catch (_a) {
|
|
141
|
-
// Not in this run — keep looking.
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
return undefined;
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* The most recently seen trace ids across the latest run — used by the REPL completer.
|
|
148
|
-
*/
|
|
149
|
-
recentTraceIds(limit) {
|
|
150
|
-
const runId = this.latestRunId();
|
|
151
|
-
if (runId === undefined) {
|
|
152
|
-
return [];
|
|
153
|
-
}
|
|
154
|
-
return this.readRequests(runId, limit).map(summary => summary.traceId);
|
|
155
|
-
}
|
|
156
|
-
readJsonl(filePath) {
|
|
157
|
-
try {
|
|
158
|
-
return fs.readFileSync(filePath, "utf8")
|
|
159
|
-
.split("\n")
|
|
160
|
-
.filter(line => line.trim().length > 0)
|
|
161
|
-
.map(line => JSON.parse(line));
|
|
162
|
-
}
|
|
163
|
-
catch (_a) {
|
|
164
|
-
return [];
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
};
|
|
168
|
-
exports.ObservabilityStoreReader = ObservabilityStoreReader;
|
|
169
|
-
exports.ObservabilityStoreReader = ObservabilityStoreReader = __decorate([
|
|
170
|
-
(0, common_1.moduleScoped)(observability_module_keyname_1.ObservabilityModuleKeyname),
|
|
171
|
-
(0, tsyringe_1.injectable)(),
|
|
172
|
-
__metadata("design:paramtypes", [observability_configuration_1.ObservabilityConfiguration])
|
|
173
|
-
], ObservabilityStoreReader);
|
|
174
|
-
//# sourceMappingURL=observability-store-reader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observability-store-reader.js","sourceRoot":"","sources":["../../../../src/store/observability-store-reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serialized-span.interface.js","sourceRoot":"","sources":["../../../../../src/store/serializers/serialized-span.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serialized-trace.interface.js","sourceRoot":"","sources":["../../../../../src/store/serializers/serialized-trace.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SpanDeserializer = void 0;
|
|
4
|
-
const common_1 = require("@pristine-ts/common");
|
|
5
|
-
/**
|
|
6
|
-
* Rebuilds a `Span` (with its full child tree) from the stored plain object. Used by
|
|
7
|
-
* `TraceDeserializer` for the trace's root span and recursively for every descendant —
|
|
8
|
-
* so `traceRenderer.renderTree`/`renderFlat`, which call instance methods like
|
|
9
|
-
* `getDuration()`, work unchanged on stored traces.
|
|
10
|
-
*/
|
|
11
|
-
class SpanDeserializer {
|
|
12
|
-
static deserialize(serialized, trace) {
|
|
13
|
-
var _a, _b;
|
|
14
|
-
const span = new common_1.Span(serialized.keyname, serialized.id, (_a = serialized.context) !== null && _a !== void 0 ? _a : {});
|
|
15
|
-
span.trace = trace;
|
|
16
|
-
span.startDate = serialized.startDate;
|
|
17
|
-
span.endDate = serialized.endDate;
|
|
18
|
-
span.inProgress = serialized.endDate === undefined;
|
|
19
|
-
for (const child of (_b = serialized.children) !== null && _b !== void 0 ? _b : []) {
|
|
20
|
-
span.addChild(SpanDeserializer.deserialize(child, trace));
|
|
21
|
-
}
|
|
22
|
-
return span;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
exports.SpanDeserializer = SpanDeserializer;
|
|
26
|
-
//# sourceMappingURL=span-deserializer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"span-deserializer.js","sourceRoot":"","sources":["../../../../../src/store/serializers/span-deserializer.ts"],"names":[],"mappings":";;;AAAA,gDAAgD;AAGhD;;;;;GAKG;AACH,MAAa,gBAAgB;IAC3B,MAAM,CAAC,WAAW,CAAC,UAA0B,EAAE,KAAY;;QACzD,MAAM,IAAI,GAAG,IAAI,aAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAA,UAAU,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO,KAAK,SAAS,CAAC;QAEnD,KAAK,MAAM,KAAK,IAAI,MAAA,UAAU,CAAC,QAAQ,mCAAI,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAdD,4CAcC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TraceDeserializer = void 0;
|
|
4
|
-
const common_1 = require("@pristine-ts/common");
|
|
5
|
-
const span_deserializer_1 = require("./span-deserializer");
|
|
6
|
-
/**
|
|
7
|
-
* Rehydrates a stored trace JSON (the shape written by `ObservabilityTracer`) back into
|
|
8
|
-
* a `Trace` instance, with its full span tree rebuilt via `SpanDeserializer`.
|
|
9
|
-
*/
|
|
10
|
-
class TraceDeserializer {
|
|
11
|
-
static deserialize(serialized) {
|
|
12
|
-
var _a;
|
|
13
|
-
const trace = new common_1.Trace(serialized.id, (_a = serialized.context) !== null && _a !== void 0 ? _a : {});
|
|
14
|
-
trace.startDate = serialized.startDate;
|
|
15
|
-
trace.endDate = serialized.endDate;
|
|
16
|
-
trace.hasEnded = serialized.endDate !== undefined;
|
|
17
|
-
if (serialized.rootSpan !== undefined) {
|
|
18
|
-
trace.rootSpan = span_deserializer_1.SpanDeserializer.deserialize(serialized.rootSpan, trace);
|
|
19
|
-
}
|
|
20
|
-
return trace;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
exports.TraceDeserializer = TraceDeserializer;
|
|
24
|
-
//# sourceMappingURL=trace-deserializer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trace-deserializer.js","sourceRoot":"","sources":["../../../../../src/store/serializers/trace-deserializer.ts"],"names":[],"mappings":";;;AAAA,gDAA0C;AAE1C,2DAAqD;AAErD;;;GAGG;AACH,MAAa,iBAAiB;IAC5B,MAAM,CAAC,WAAW,CAAC,UAA2B;;QAC5C,MAAM,KAAK,GAAG,IAAI,cAAK,CAAC,UAAU,CAAC,EAAE,EAAE,MAAA,UAAU,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC;QACjE,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACvC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QACnC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,OAAO,KAAK,SAAS,CAAC;QAElD,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACtC,KAAK,CAAC,QAAQ,GAAG,oCAAgB,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAbD,8CAaC"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TraceDeserializer = void 0;
|
|
4
|
-
const common_1 = require("@pristine-ts/common");
|
|
5
|
-
/**
|
|
6
|
-
* Rehydrates a stored trace JSON (the shape written by `ObservabilityTracer`) back into
|
|
7
|
-
* `Trace`/`Span` instances, so `traceRenderer.renderTree`/`renderFlat` — which call
|
|
8
|
-
* instance methods like `getDuration()` — work unchanged on stored traces.
|
|
9
|
-
*
|
|
10
|
-
* Stateless; instantiate once and reuse, or use the static `deserialize`.
|
|
11
|
-
*/
|
|
12
|
-
class TraceDeserializer {
|
|
13
|
-
/**
|
|
14
|
-
* Rebuilds a `Trace` (with its full span tree) from the stored plain object.
|
|
15
|
-
*/
|
|
16
|
-
static deserialize(serialized) {
|
|
17
|
-
var _a;
|
|
18
|
-
const trace = new common_1.Trace(serialized.id, (_a = serialized.context) !== null && _a !== void 0 ? _a : {});
|
|
19
|
-
trace.startDate = serialized.startDate;
|
|
20
|
-
trace.endDate = serialized.endDate;
|
|
21
|
-
trace.hasEnded = serialized.endDate !== undefined;
|
|
22
|
-
if (serialized.rootSpan !== undefined) {
|
|
23
|
-
trace.rootSpan = TraceDeserializer.deserializeSpan(serialized.rootSpan, trace);
|
|
24
|
-
}
|
|
25
|
-
return trace;
|
|
26
|
-
}
|
|
27
|
-
static deserializeSpan(serialized, trace) {
|
|
28
|
-
var _a, _b;
|
|
29
|
-
const span = new common_1.Span(serialized.keyname, serialized.id, (_a = serialized.context) !== null && _a !== void 0 ? _a : {});
|
|
30
|
-
span.trace = trace;
|
|
31
|
-
span.startDate = serialized.startDate;
|
|
32
|
-
span.endDate = serialized.endDate;
|
|
33
|
-
span.inProgress = serialized.endDate === undefined;
|
|
34
|
-
for (const child of (_b = serialized.children) !== null && _b !== void 0 ? _b : []) {
|
|
35
|
-
span.addChild(TraceDeserializer.deserializeSpan(child, trace));
|
|
36
|
-
}
|
|
37
|
-
return span;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
exports.TraceDeserializer = TraceDeserializer;
|
|
41
|
-
//# sourceMappingURL=trace-deserializer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trace-deserializer.js","sourceRoot":"","sources":["../../../../src/store/trace-deserializer.ts"],"names":[],"mappings":";;;AAAA,gDAAgD;AAyBhD;;;;;;GAMG;AACH,MAAa,iBAAiB;IAC5B;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,UAA2B;;QAC5C,MAAM,KAAK,GAAG,IAAI,cAAK,CAAC,UAAU,CAAC,EAAE,EAAE,MAAA,UAAU,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC;QACjE,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACvC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QACnC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,OAAO,KAAK,SAAS,CAAC;QAElD,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACtC,KAAK,CAAC,QAAQ,GAAG,iBAAiB,CAAC,eAAe,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,UAA0B,EAAE,KAAY;;QACrE,MAAM,IAAI,GAAG,IAAI,aAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAA,UAAU,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO,KAAK,SAAS,CAAC;QAEnD,KAAK,MAAM,KAAK,IAAI,MAAA,UAAU,CAAC,QAAQ,mCAAI,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA9BD,8CA8BC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Metadata for one observability run — persisted as `run.json` at the root of a run
|
|
3
|
-
* directory. A "run" is one `pristine start` lifetime, keyed by the kernel's
|
|
4
|
-
* instantiation id.
|
|
5
|
-
*/
|
|
6
|
-
export class RunMetadata {
|
|
7
|
-
constructor(runId, startedAt, pid, command) {
|
|
8
|
-
this.runId = runId;
|
|
9
|
-
this.startedAt = startedAt;
|
|
10
|
-
this.pid = pid;
|
|
11
|
-
this.command = command;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=run-metadata.model.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-metadata.model.js","sourceRoot":"","sources":["../../../../src/models/run-metadata.model.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,WAAW;IA0BtB,YAAY,KAAa,EAAE,SAAiB,EAAE,GAAW,EAAE,OAAe;QACxE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
-
};
|
|
13
|
-
import { injectable } from "tsyringe";
|
|
14
|
-
import { injectConfig, moduleScoped } from "@pristine-ts/common";
|
|
15
|
-
import { ObservabilityModuleKeyname } from "./observability.module.keyname";
|
|
16
|
-
import { ObservabilityConfigurationKeys } from "./observability.configuration-keys";
|
|
17
|
-
/**
|
|
18
|
-
* Resolved settings for the observability store. Populated through the framework
|
|
19
|
-
* configuration system (`@injectConfig`) — the keys are declared by
|
|
20
|
-
* `ObservabilityModule.configurationDefinitions`, each with an `EnvironmentVariableResolver`
|
|
21
|
-
* so they can also be overridden by env var or `pristine.config.ts`.
|
|
22
|
-
*
|
|
23
|
-
* The writers and the query commands all depend on this single typed object rather than
|
|
24
|
-
* injecting individual config keys, so there is exactly one place that knows the keys.
|
|
25
|
-
*/
|
|
26
|
-
let ObservabilityConfiguration = class ObservabilityConfiguration {
|
|
27
|
-
constructor(enabled, directory, retainedRuns, autoBegin, maxRunSizeBytes) {
|
|
28
|
-
this.enabled = enabled;
|
|
29
|
-
this.directory = directory;
|
|
30
|
-
this.retainedRuns = retainedRuns;
|
|
31
|
-
this.autoBegin = autoBegin;
|
|
32
|
-
this.maxRunSizeBytes = maxRunSizeBytes;
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
ObservabilityConfiguration = __decorate([
|
|
36
|
-
injectable(),
|
|
37
|
-
moduleScoped(ObservabilityModuleKeyname),
|
|
38
|
-
__param(0, injectConfig(ObservabilityConfigurationKeys.Enabled)),
|
|
39
|
-
__param(1, injectConfig(ObservabilityConfigurationKeys.Directory)),
|
|
40
|
-
__param(2, injectConfig(ObservabilityConfigurationKeys.RetainedRuns)),
|
|
41
|
-
__param(3, injectConfig(ObservabilityConfigurationKeys.AutoBegin)),
|
|
42
|
-
__param(4, injectConfig(ObservabilityConfigurationKeys.MaxRunSizeBytes)),
|
|
43
|
-
__metadata("design:paramtypes", [Boolean, String, Number, Boolean, Number])
|
|
44
|
-
], ObservabilityConfiguration);
|
|
45
|
-
export { ObservabilityConfiguration };
|
|
46
|
-
//# sourceMappingURL=observability-configuration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observability-configuration.js","sourceRoot":"","sources":["../../../src/observability-configuration.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAC,0BAA0B,EAAC,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAC,8BAA8B,EAAC,MAAM,oCAAoC,CAAC;AAElF;;;;;;;;GAQG;AAGI,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACrC,YAEwE,OAAgB,EAEd,SAAiB,EAEd,YAAoB,EAEvB,SAAkB,EAEZ,eAAuB;QAR/B,YAAO,GAAP,OAAO,CAAS;QAEd,cAAS,GAAT,SAAS,CAAQ;QAEd,iBAAY,GAAZ,YAAY,CAAQ;QAEvB,cAAS,GAAT,SAAS,CAAS;QAEZ,oBAAe,GAAf,eAAe,CAAQ;IAEvG,CAAC;CACF,CAAA;AAdY,0BAA0B;IAFtC,UAAU,EAAE;IACZ,YAAY,CAAC,0BAA0B,CAAC;IAIpC,WAAA,YAAY,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAA;IAEpD,WAAA,YAAY,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAA;IAEtD,WAAA,YAAY,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAA;IAEzD,WAAA,YAAY,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAA;IAEtD,WAAA,YAAY,CAAC,8BAA8B,CAAC,eAAe,CAAC,CAAA;;GAXpD,0BAA0B,CActC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serialized-span.interface.js","sourceRoot":"","sources":["../../../../src/serializers/serialized-span.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serialized-trace.interface.js","sourceRoot":"","sources":["../../../../src/serializers/serialized-trace.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import * as fs from "fs";
|
|
2
|
-
import * as path from "path";
|
|
3
|
-
/**
|
|
4
|
-
* Follows a growing `.jsonl` file and emits each newly-appended complete line. The
|
|
5
|
-
* `logs --follow` command and the REPL use this for a `tail -f`-style live view.
|
|
6
|
-
*
|
|
7
|
-
* Watches the file's parent directory (watching a not-yet-created file directly is
|
|
8
|
-
* unreliable across platforms) and reads the byte delta on each change. Partial trailing
|
|
9
|
-
* lines are buffered until their terminating newline arrives.
|
|
10
|
-
*
|
|
11
|
-
* Not a DI service — a plain utility. Instantiate, `follow()`, and `stop()` when done.
|
|
12
|
-
*/
|
|
13
|
-
export class LogTailer {
|
|
14
|
-
constructor(filePath) {
|
|
15
|
-
this.filePath = filePath;
|
|
16
|
-
this.offset = 0;
|
|
17
|
-
this.buffer = "";
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Starts following. Existing content is skipped — only lines appended after this call
|
|
21
|
-
* are emitted. Call `stop()` to release the watch.
|
|
22
|
-
*/
|
|
23
|
-
follow(onLine) {
|
|
24
|
-
this.offset = fs.existsSync(this.filePath) ? fs.statSync(this.filePath).size : 0;
|
|
25
|
-
const directory = path.dirname(this.filePath);
|
|
26
|
-
const filename = path.basename(this.filePath);
|
|
27
|
-
this.watcher = fs.watch(directory, (_eventType, changed) => {
|
|
28
|
-
if (changed !== null && changed !== filename) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
this.drain(onLine);
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Stops following and releases the filesystem watch.
|
|
36
|
-
*/
|
|
37
|
-
stop() {
|
|
38
|
-
var _a;
|
|
39
|
-
(_a = this.watcher) === null || _a === void 0 ? void 0 : _a.close();
|
|
40
|
-
this.watcher = undefined;
|
|
41
|
-
}
|
|
42
|
-
drain(onLine) {
|
|
43
|
-
var _a;
|
|
44
|
-
if (fs.existsSync(this.filePath) === false) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
const size = fs.statSync(this.filePath).size;
|
|
48
|
-
if (size <= this.offset) {
|
|
49
|
-
// Truncated or unchanged — reset to the new end so we don't replay stale bytes.
|
|
50
|
-
this.offset = size;
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
const fd = fs.openSync(this.filePath, "r");
|
|
54
|
-
try {
|
|
55
|
-
const length = size - this.offset;
|
|
56
|
-
const chunk = Buffer.alloc(length);
|
|
57
|
-
fs.readSync(fd, chunk, 0, length, this.offset);
|
|
58
|
-
this.offset = size;
|
|
59
|
-
this.buffer += chunk.toString("utf8");
|
|
60
|
-
}
|
|
61
|
-
finally {
|
|
62
|
-
fs.closeSync(fd);
|
|
63
|
-
}
|
|
64
|
-
const lines = this.buffer.split("\n");
|
|
65
|
-
this.buffer = (_a = lines.pop()) !== null && _a !== void 0 ? _a : "";
|
|
66
|
-
for (const line of lines) {
|
|
67
|
-
if (line.length > 0) {
|
|
68
|
-
onLine(line);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=log-tailer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"log-tailer.js","sourceRoot":"","sources":["../../../../src/store/log-tailer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;;;;;;;GASG;AACH,MAAM,OAAO,SAAS;IAKpB,YAA6B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;QAHrC,WAAM,GAAG,CAAC,CAAC;QACX,WAAM,GAAG,EAAE,CAAC;IAGpB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,MAA8B;QACnC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE9C,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE;YACzD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC7C,OAAO;YACT,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI;;QACF,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,MAA8B;;QAC1C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;QAC7C,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACxB,gFAAgF;YAChF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,MAAA,KAAK,CAAC,GAAG,EAAE,mCAAI,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import * as path from "path";
|
|
2
|
-
/**
|
|
3
|
-
* Resolves every path inside the observability store from the configured store directory.
|
|
4
|
-
* Pure and stateless past construction — instantiate once with the configured directory
|
|
5
|
-
* and reuse.
|
|
6
|
-
*
|
|
7
|
-
* Layout:
|
|
8
|
-
* ```
|
|
9
|
-
* <root>/
|
|
10
|
-
* <instanceId>/logs.jsonl
|
|
11
|
-
* <instanceId>/requests.jsonl
|
|
12
|
-
* <instanceId>/traces/<traceId>.json
|
|
13
|
-
* ```
|
|
14
|
-
*
|
|
15
|
-
* Each `<instanceId>` is one pristine process lifetime (= the kernel instantiation id).
|
|
16
|
-
* No metadata sidecars, no `latest.json` pointer — directory `mtime` answers "which is
|
|
17
|
-
* most recent."
|
|
18
|
-
*/
|
|
19
|
-
export class ObservabilityPaths {
|
|
20
|
-
constructor(configuredDirectory) {
|
|
21
|
-
this.root = path.isAbsolute(configuredDirectory)
|
|
22
|
-
? configuredDirectory
|
|
23
|
-
: path.resolve(process.cwd(), configuredDirectory);
|
|
24
|
-
}
|
|
25
|
-
instanceDirectory(instanceId) {
|
|
26
|
-
return path.join(this.root, instanceId);
|
|
27
|
-
}
|
|
28
|
-
logsFile(instanceId) {
|
|
29
|
-
return path.join(this.instanceDirectory(instanceId), "logs.jsonl");
|
|
30
|
-
}
|
|
31
|
-
requestsFile(instanceId) {
|
|
32
|
-
return path.join(this.instanceDirectory(instanceId), "requests.jsonl");
|
|
33
|
-
}
|
|
34
|
-
tracesDirectory(instanceId) {
|
|
35
|
-
return path.join(this.instanceDirectory(instanceId), "traces");
|
|
36
|
-
}
|
|
37
|
-
traceFile(instanceId, traceId) {
|
|
38
|
-
return path.join(this.tracesDirectory(instanceId), `${traceId}.json`);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=observability-paths.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observability-paths.js","sourceRoot":"","sources":["../../../../src/store/observability-paths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,kBAAkB;IAO7B,YAAY,mBAA2B;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;YAC9C,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAC;IACvD,CAAC;IAED,iBAAiB,CAAC,UAAkB;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,QAAQ,CAAC,UAAkB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;IACrE,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACzE,CAAC;IAED,eAAe,CAAC,UAAkB;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IAED,SAAS,CAAC,UAAkB,EAAE,OAAe;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC;IACxE,CAAC;CACF"}
|