@x12i/memorix-service 3.6.2 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +223 -183
- package/dist/access-gate.d.ts +21 -0
- package/dist/access-gate.d.ts.map +1 -1
- package/dist/access-gate.js +71 -1
- package/dist/access-gate.js.map +1 -1
- package/dist/app.d.ts +2 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +18 -1
- package/dist/app.js.map +1 -1
- package/dist/blob-store/types.js +1 -1
- package/dist/blob-store/types.js.map +1 -1
- package/dist/callback-grant.d.ts.map +1 -1
- package/dist/callback-grant.js +10 -6
- package/dist/callback-grant.js.map +1 -1
- package/dist/caller-identity.d.ts +37 -0
- package/dist/caller-identity.d.ts.map +1 -0
- package/dist/caller-identity.js +77 -0
- package/dist/caller-identity.js.map +1 -0
- package/dist/catalog/catalog-service.js +1 -1
- package/dist/catalog/catalog-service.js.map +1 -1
- package/dist/catalog-bridge.d.ts.map +1 -1
- package/dist/catalog-bridge.js +74 -61
- package/dist/catalog-bridge.js.map +1 -1
- package/dist/catalog-store-cli.js +11 -11
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +13 -7
- package/dist/cli.js.map +1 -1
- package/dist/connector-catalog.d.ts +8 -3
- package/dist/connector-catalog.d.ts.map +1 -1
- package/dist/connector-catalog.js +66 -93
- package/dist/connector-catalog.js.map +1 -1
- package/dist/deployment-identity.d.ts +19 -0
- package/dist/deployment-identity.d.ts.map +1 -0
- package/dist/deployment-identity.js +105 -0
- package/dist/deployment-identity.js.map +1 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +68 -0
- package/dist/errors.js.map +1 -1
- package/dist/generic-connectors.d.ts +39 -1
- package/dist/generic-connectors.d.ts.map +1 -1
- package/dist/generic-connectors.js +142 -3
- package/dist/generic-connectors.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/jobs-scope.d.ts +1 -0
- package/dist/jobs-scope.d.ts.map +1 -1
- package/dist/jobs-scope.js +5 -4
- package/dist/jobs-scope.js.map +1 -1
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +1 -0
- package/dist/live.js.map +1 -1
- package/dist/magit/magit-pack-service.d.ts +1 -1
- package/dist/magit/magit-pack-service.js +4 -4
- package/dist/mgc-landing-stores.d.ts +94 -0
- package/dist/mgc-landing-stores.d.ts.map +1 -0
- package/dist/mgc-landing-stores.js +174 -0
- package/dist/mgc-landing-stores.js.map +1 -0
- package/dist/openapi/openapi.json +393 -2
- package/dist/optional-companion-url.d.ts +1 -1
- package/dist/optional-companion-url.js +1 -1
- package/dist/pipeline-compile.d.ts +1 -1
- package/dist/pipeline-compile.js +1 -1
- package/dist/platform.d.ts +19 -1
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +83 -13
- package/dist/platform.js.map +1 -1
- package/dist/request-countex.d.ts +56 -0
- package/dist/request-countex.d.ts.map +1 -0
- package/dist/request-countex.js +206 -0
- package/dist/request-countex.js.map +1 -0
- package/dist/routes/connector-invocations.d.ts.map +1 -1
- package/dist/routes/connector-invocations.js +6 -1
- package/dist/routes/connector-invocations.js.map +1 -1
- package/dist/routes/connector-ops.d.ts +2 -1
- package/dist/routes/connector-ops.d.ts.map +1 -1
- package/dist/routes/connector-ops.js +8 -5
- package/dist/routes/connector-ops.js.map +1 -1
- package/dist/routes/data.d.ts.map +1 -1
- package/dist/routes/data.js +13 -13
- package/dist/routes/data.js.map +1 -1
- package/dist/routes/jobs.d.ts.map +1 -1
- package/dist/routes/jobs.js +46 -21
- package/dist/routes/jobs.js.map +1 -1
- package/dist/routes/memory.d.ts.map +1 -1
- package/dist/routes/memory.js +187 -90
- package/dist/routes/memory.js.map +1 -1
- package/dist/routes/metadata.d.ts.map +1 -1
- package/dist/routes/metadata.js +27 -1
- package/dist/routes/metadata.js.map +1 -1
- package/dist/routes/mgc-landing.d.ts +7 -0
- package/dist/routes/mgc-landing.d.ts.map +1 -0
- package/dist/routes/mgc-landing.js +177 -0
- package/dist/routes/mgc-landing.js.map +1 -0
- package/dist/scope.d.ts +23 -0
- package/dist/scope.d.ts.map +1 -1
- package/dist/scope.js +13 -1
- package/dist/scope.js.map +1 -1
- package/dist/write-precondition.d.ts +14 -0
- package/dist/write-precondition.d.ts.map +1 -0
- package/dist/write-precondition.js +41 -0
- package/dist/write-precondition.js.map +1 -0
- package/openapi/openapi.json +393 -2
- package/package.json +109 -109
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Soft-skip / fail-closed policy for optional HTTP pipeline companions
|
|
3
|
-
* (Exellix connectors, Neo vulnerability workers,
|
|
3
|
+
* (Exellix connectors, Neo vulnerability workers, Nexum-style companion URLs).
|
|
4
4
|
*
|
|
5
5
|
* - URL unset → soft-skip unless required env/flag is set
|
|
6
6
|
* - URL set → fail-closed on transport or failed envelope status
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Soft-skip / fail-closed policy for optional HTTP pipeline companions
|
|
3
|
-
* (Exellix connectors, Neo vulnerability workers,
|
|
3
|
+
* (Exellix connectors, Neo vulnerability workers, Nexum-style companion URLs).
|
|
4
4
|
*
|
|
5
5
|
* - URL unset → soft-skip unless required env/flag is set
|
|
6
6
|
* - URL set → fail-closed on transport or failed envelope status
|
|
@@ -63,7 +63,7 @@ export declare function resolveNexumWorkerUrl(): string;
|
|
|
63
63
|
/**
|
|
64
64
|
* Resolve analyze-step worker endpoint.
|
|
65
65
|
* knowx-extract → APS AI sim only when KNOWX_AI_SIM=1 (test-only);
|
|
66
|
-
* nexum → MEMORIX_NEXUM_URL / :7500 (never KnowX
|
|
66
|
+
* nexum → MEMORIX_NEXUM_URL / :7500 (never KnowX);
|
|
67
67
|
* otherwise KnowX control-plane worker (or per-service endpointEnv).
|
|
68
68
|
*/
|
|
69
69
|
export declare function resolveKnowxServiceEndpoint(serviceId: string, opts?: {
|
package/dist/pipeline-compile.js
CHANGED
|
@@ -82,7 +82,7 @@ export function resolveNexumWorkerUrl() {
|
|
|
82
82
|
/**
|
|
83
83
|
* Resolve analyze-step worker endpoint.
|
|
84
84
|
* knowx-extract → APS AI sim only when KNOWX_AI_SIM=1 (test-only);
|
|
85
|
-
* nexum → MEMORIX_NEXUM_URL / :7500 (never KnowX
|
|
85
|
+
* nexum → MEMORIX_NEXUM_URL / :7500 (never KnowX);
|
|
86
86
|
* otherwise KnowX control-plane worker (or per-service endpointEnv).
|
|
87
87
|
*/
|
|
88
88
|
export function resolveKnowxServiceEndpoint(serviceId, opts) {
|
package/dist/platform.d.ts
CHANGED
|
@@ -12,8 +12,9 @@ import { type IntelligenceArtifactPersistence } from "@x12i/memorix-intelligence
|
|
|
12
12
|
import { type RunLedger, type PipelineRuntime } from "@x12i/memorix-pipeline/v2";
|
|
13
13
|
import { type OperationalStores } from "@x12i/memorix-pipeline-runtime";
|
|
14
14
|
import { ServiceError } from "./errors.js";
|
|
15
|
+
import { type DeliveryArtifactStore, type RawRecordStore, type TargetItemReceiptStore } from "./mgc-landing-stores.js";
|
|
15
16
|
import { type ServiceCatalog } from "./catalog-bridge.js";
|
|
16
|
-
import type
|
|
17
|
+
import { type MemorixScope } from "./scope.js";
|
|
17
18
|
import { type IsolationSession } from "./isolation.js";
|
|
18
19
|
import { type MagitPackService } from "./magit/magit-pack-service.js";
|
|
19
20
|
import { type GenericConnectorsConfig } from "./generic-connectors.js";
|
|
@@ -61,6 +62,8 @@ export type MemorixPlatform = {
|
|
|
61
62
|
magit: MagitPackService | null;
|
|
62
63
|
/** Re-read durable metadata Mongo into the in-memory store (after Magit apply). */
|
|
63
64
|
rehydrateMetadata(): Promise<void>;
|
|
65
|
+
/** Flush pending durable metadata writes (MX-META-01). */
|
|
66
|
+
drainMetadata(): Promise<void>;
|
|
64
67
|
/** Stamp Magit lineage onto an agent slot after apply/rehydrate. */
|
|
65
68
|
stampAgentLineage(agentId: string, lineage: {
|
|
66
69
|
magitCommit?: string | null;
|
|
@@ -74,6 +77,12 @@ export type MemorixPlatform = {
|
|
|
74
77
|
invocationLedger: InvocationLedger;
|
|
75
78
|
/** Org destination definitions + deliver receipts. */
|
|
76
79
|
destinationStore: DestinationStore;
|
|
80
|
+
/** Grant-scoped `{objectType}-raw` cache for MGC MCP. */
|
|
81
|
+
rawRecordStore: RawRecordStore;
|
|
82
|
+
/** Per-item claim/complete/release ledger during /v1/deliver. */
|
|
83
|
+
targetItemReceipts: TargetItemReceiptStore;
|
|
84
|
+
/** Binary artifacts for target `data-ref` resolution. */
|
|
85
|
+
deliveryArtifacts: DeliveryArtifactStore;
|
|
77
86
|
/** Target deliverer (remote MGC target host). */
|
|
78
87
|
deliverer: MemoryDeliverer;
|
|
79
88
|
/** Generic connectors platform env (MGC zone). */
|
|
@@ -95,6 +104,10 @@ export type MemorixPlatform = {
|
|
|
95
104
|
* Mongo when available; in-memory fallback in no-mongo dev.
|
|
96
105
|
*/
|
|
97
106
|
operationalStoresFor(orgId: string): OperationalStores;
|
|
107
|
+
/**
|
|
108
|
+
* Canonical org id for storage keys (trim + toLocaleLowerCase("en-US")).
|
|
109
|
+
*/
|
|
110
|
+
resolveOrgId(orgId: string): string;
|
|
98
111
|
/**
|
|
99
112
|
* Known operational org ids: in-memory caches union Mongo `*_operational` DBs when available.
|
|
100
113
|
* Used by Jobs Manager unscoped (All orgs) list/overview fan-out.
|
|
@@ -103,6 +116,11 @@ export type MemorixPlatform = {
|
|
|
103
116
|
intelligenceArtifactsFor(orgId: string): IntelligenceArtifactPersistence;
|
|
104
117
|
/** Fail-closed: throws if ports cannot be constructed. */
|
|
105
118
|
portsFor(scope: MemorixScope): OrgPorts;
|
|
119
|
+
/**
|
|
120
|
+
* Drop cached OrgPorts so the next portsFor rebuilds writers/readers/pipelines
|
|
121
|
+
* against current installed metadata (call after metadata install / rehydrate).
|
|
122
|
+
*/
|
|
123
|
+
invalidateOrgPortsCache(): void;
|
|
106
124
|
/**
|
|
107
125
|
* Org runtime source registry (folder sources, etc.).
|
|
108
126
|
* Works with Mongo when available; in-memory fallback in no-mongo dev.
|
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAKL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC3B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.js
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
import { MongoClient } from "mongodb";
|
|
6
6
|
import { createInMemoryMetadataStore, createMetadataClient, } from "@x12i/memorix-metadata-runtime";
|
|
7
7
|
import { createMongoContentReader, createMongoContentWriter, createMongoAbstractWriter, createMongoDataPlane, } from "@x12i/memorix-data";
|
|
8
|
+
/** Wall clock for durable writers (MX-SYS-01). Avoids lab deterministic epoch. */
|
|
9
|
+
const SYSTEM_CLOCK = { now: () => new Date().toISOString() };
|
|
8
10
|
import { createMongoRelationshipStore } from "@x12i/memorix-relationship-store";
|
|
9
11
|
import { createRelationshipEngine, } from "@x12i/memorix-relationships";
|
|
10
12
|
import { createMemoryCollector, createMongoMemoryRunStore, createMongoMemoryScheduleStore, createMongoOrgRuntimeSourceStore, createInMemoryOrgRuntimeSourceStore, createStaticCredentialProvider, createOpxRestConnector, createKnowxRestConnector, createInMemoryConnectorRegistry, createInMemoryPushEnvelopeStore, createInMemoryInvocationLedger, createInMemoryDestinationStore, createMemoryDeliverer, tickMemorySchedules, } from "@x12i/memorix-memory";
|
|
@@ -14,11 +16,13 @@ import { createIntelligenceArtifactPersistence, createMongoRunLedger, } from "@x
|
|
|
14
16
|
import { createMongoRunLedger as createPipelineLedger, createMemoryRunLedger, createPipelineRuntime, createLivePortRegistry, loadDataRef, tickWork, promoteHeldRuns, } from "@x12i/memorix-pipeline/v2";
|
|
15
17
|
import { createMongoOperationalStores, createMemoryOperationalStores, ensureOperationalIndexes, } from "@x12i/memorix-pipeline-runtime";
|
|
16
18
|
import { ServiceError } from "./errors.js";
|
|
19
|
+
import { createInMemoryDeliveryArtifactStore, createInMemoryRawRecordStore, createInMemoryTargetItemReceiptStore, } from "./mgc-landing-stores.js";
|
|
17
20
|
import { memoryPullFetch, serviceInvokePorts, setStepProgressReporter } from "./live.js";
|
|
18
21
|
import { resolveKnowxWorkerBaseUrl } from "./pipeline-compile.js";
|
|
19
22
|
import { createRemoteOrLocalPort, createRunPipelinePort, createRunxPort, } from "./pipeline-ports.js";
|
|
20
23
|
import { createMongoMetadataStore, } from "./mongo-metadata-store.js";
|
|
21
24
|
import { catalogFromMetadataClient, relationshipMetadataResolver, } from "./catalog-bridge.js";
|
|
25
|
+
import { normalizeOrgId } from "./scope.js";
|
|
22
26
|
import { assertSafeSandboxOrgId, recordCreatedDatabase, } from "./isolation.js";
|
|
23
27
|
import { createMagitPackService, isMetadataMagitEnabled, magitPackageTypeIdConfigured, magitPackageTypeIdForDiagnostics, magitStoreSelectorConfigured, magitTypedStoreConfigured, resolveMagitCatalogTenant, resolveMagitRepoRootParent, resolveMagitStorageTokenEnv, } from "./magit/magit-pack-service.js";
|
|
24
28
|
import { loadGenericConnectorsConfig, } from "./generic-connectors.js";
|
|
@@ -76,6 +80,9 @@ export async function createMemorixPlatform(deps) {
|
|
|
76
80
|
});
|
|
77
81
|
const invocationLedger = createInMemoryInvocationLedger();
|
|
78
82
|
const destinationStore = createInMemoryDestinationStore();
|
|
83
|
+
const rawRecordStore = createInMemoryRawRecordStore();
|
|
84
|
+
const targetItemReceipts = createInMemoryTargetItemReceiptStore();
|
|
85
|
+
const deliveryArtifacts = createInMemoryDeliveryArtifactStore();
|
|
79
86
|
const genericConnectors = loadGenericConnectorsConfig();
|
|
80
87
|
const deliverer = createMemoryDeliverer({
|
|
81
88
|
store: destinationStore,
|
|
@@ -149,7 +156,27 @@ export async function createMemorixPlatform(deps) {
|
|
|
149
156
|
else {
|
|
150
157
|
metadata = createMetadataClient(createInMemoryMetadataStore());
|
|
151
158
|
}
|
|
159
|
+
function invalidateOrgPortsCache() {
|
|
160
|
+
portsCache.clear();
|
|
161
|
+
}
|
|
162
|
+
function resolveOrgId(orgId) {
|
|
163
|
+
const id = normalizeOrgId(orgId);
|
|
164
|
+
if (!id) {
|
|
165
|
+
throw new ServiceError("SCOPE_INVALID", "orgId is required and must be a non-empty string", 400);
|
|
166
|
+
}
|
|
167
|
+
return id;
|
|
168
|
+
}
|
|
169
|
+
// Metadata install mutates object-types/services used by OrgPorts. Clear the
|
|
170
|
+
// ports cache so agent-alone scopes do not keep a pre-install empty catalog.
|
|
171
|
+
const metadataInstall = metadata.install.bind(metadata);
|
|
172
|
+
metadata.install = ((pack, opts) => {
|
|
173
|
+
const result = metadataInstall(pack, opts);
|
|
174
|
+
if (result.ok)
|
|
175
|
+
invalidateOrgPortsCache();
|
|
176
|
+
return result;
|
|
177
|
+
});
|
|
152
178
|
function operationalDbFor(orgId) {
|
|
179
|
+
orgId = resolveOrgId(orgId);
|
|
153
180
|
if (!client) {
|
|
154
181
|
throw new ServiceError("DURABLE_STORE_REQUIRED", "operational Mongo DB is required for this operation", 503);
|
|
155
182
|
}
|
|
@@ -163,12 +190,14 @@ export async function createMemorixPlatform(deps) {
|
|
|
163
190
|
return client.db(`${orgId}_operational`);
|
|
164
191
|
}
|
|
165
192
|
function metadataDbFor(orgId) {
|
|
193
|
+
orgId = resolveOrgId(orgId);
|
|
166
194
|
if (!client) {
|
|
167
195
|
throw new ServiceError("DURABLE_STORE_REQUIRED", "mongo required", 503);
|
|
168
196
|
}
|
|
169
197
|
return client.db(`${orgId}_metadata`);
|
|
170
198
|
}
|
|
171
199
|
function pipelineLedgerFor(orgId) {
|
|
200
|
+
orgId = resolveOrgId(orgId);
|
|
172
201
|
const existing = ledgers.get(orgId);
|
|
173
202
|
if (existing)
|
|
174
203
|
return existing;
|
|
@@ -182,6 +211,7 @@ export async function createMemorixPlatform(deps) {
|
|
|
182
211
|
return ledger;
|
|
183
212
|
}
|
|
184
213
|
function operationalStoresFor(orgId) {
|
|
214
|
+
orgId = resolveOrgId(orgId);
|
|
185
215
|
const existing = operationalStoresByOrg.get(orgId);
|
|
186
216
|
if (existing)
|
|
187
217
|
return existing;
|
|
@@ -200,10 +230,7 @@ export async function createMemorixPlatform(deps) {
|
|
|
200
230
|
return stores;
|
|
201
231
|
}
|
|
202
232
|
async function listKnownOperationalOrgIds() {
|
|
203
|
-
const
|
|
204
|
-
...operationalStoresByOrg.keys(),
|
|
205
|
-
...ledgers.keys(),
|
|
206
|
-
]);
|
|
233
|
+
const ids = new Set();
|
|
207
234
|
if (client) {
|
|
208
235
|
try {
|
|
209
236
|
const dbs = await client.db().admin().listDatabases();
|
|
@@ -212,15 +239,24 @@ export async function createMemorixPlatform(deps) {
|
|
|
212
239
|
if (!name.endsWith("_operational"))
|
|
213
240
|
continue;
|
|
214
241
|
const orgId = name.slice(0, -"_operational".length);
|
|
215
|
-
|
|
216
|
-
|
|
242
|
+
const n = normalizeOrgId(orgId);
|
|
243
|
+
if (n)
|
|
244
|
+
ids.add(n);
|
|
217
245
|
}
|
|
218
246
|
}
|
|
219
247
|
catch {
|
|
220
|
-
// Discovery is best-effort;
|
|
248
|
+
// Discovery is best-effort; in-memory keys still apply.
|
|
221
249
|
}
|
|
222
250
|
}
|
|
223
|
-
|
|
251
|
+
for (const id of [
|
|
252
|
+
...operationalStoresByOrg.keys(),
|
|
253
|
+
...ledgers.keys(),
|
|
254
|
+
]) {
|
|
255
|
+
const n = normalizeOrgId(id);
|
|
256
|
+
if (n)
|
|
257
|
+
ids.add(n);
|
|
258
|
+
}
|
|
259
|
+
return [...ids].sort((a, b) => a.localeCompare(b));
|
|
224
260
|
}
|
|
225
261
|
// KnowX chunked extract reports mid-step progress onto the running attempt.
|
|
226
262
|
setStepProgressReporter(async (orgId, attemptId, progress) => {
|
|
@@ -233,6 +269,7 @@ export async function createMemorixPlatform(deps) {
|
|
|
233
269
|
});
|
|
234
270
|
});
|
|
235
271
|
function intelligenceArtifactsFor(orgId) {
|
|
272
|
+
orgId = resolveOrgId(orgId);
|
|
236
273
|
const existing = intelStores.get(orgId);
|
|
237
274
|
if (existing)
|
|
238
275
|
return existing;
|
|
@@ -248,6 +285,7 @@ export async function createMemorixPlatform(deps) {
|
|
|
248
285
|
return store;
|
|
249
286
|
}
|
|
250
287
|
function orgRuntimeSourcesFor(orgId) {
|
|
288
|
+
orgId = resolveOrgId(orgId);
|
|
251
289
|
const existing = orgRuntimeSourceStores.get(orgId);
|
|
252
290
|
if (existing)
|
|
253
291
|
return existing;
|
|
@@ -258,6 +296,7 @@ export async function createMemorixPlatform(deps) {
|
|
|
258
296
|
return store;
|
|
259
297
|
}
|
|
260
298
|
function connectorOpOverridesFor(orgId) {
|
|
299
|
+
orgId = resolveOrgId(orgId);
|
|
261
300
|
const existing = mcoOverrideStores.get(orgId);
|
|
262
301
|
if (existing)
|
|
263
302
|
return existing;
|
|
@@ -278,6 +317,7 @@ export async function createMemorixPlatform(deps) {
|
|
|
278
317
|
return store;
|
|
279
318
|
}
|
|
280
319
|
function connectorOpAttemptsFor(orgId) {
|
|
320
|
+
orgId = resolveOrgId(orgId);
|
|
281
321
|
const existing = mcoAttemptStores.get(orgId);
|
|
282
322
|
if (existing)
|
|
283
323
|
return existing;
|
|
@@ -298,6 +338,7 @@ export async function createMemorixPlatform(deps) {
|
|
|
298
338
|
return store;
|
|
299
339
|
}
|
|
300
340
|
function integrationInstancesFor(orgId) {
|
|
341
|
+
orgId = resolveOrgId(orgId);
|
|
301
342
|
const existing = integrationStores.get(orgId);
|
|
302
343
|
if (existing)
|
|
303
344
|
return existing;
|
|
@@ -318,6 +359,7 @@ export async function createMemorixPlatform(deps) {
|
|
|
318
359
|
return store;
|
|
319
360
|
}
|
|
320
361
|
function restrictedObjectsFor(orgId) {
|
|
362
|
+
orgId = resolveOrgId(orgId);
|
|
321
363
|
const existing = restrictedStores.get(orgId);
|
|
322
364
|
if (existing)
|
|
323
365
|
return existing;
|
|
@@ -343,6 +385,7 @@ export async function createMemorixPlatform(deps) {
|
|
|
343
385
|
return store;
|
|
344
386
|
}
|
|
345
387
|
function storeOrMemory(map, orgId, label, mongo, memory) {
|
|
388
|
+
orgId = resolveOrgId(orgId);
|
|
346
389
|
const existing = map.get(orgId);
|
|
347
390
|
if (existing)
|
|
348
391
|
return existing;
|
|
@@ -381,6 +424,7 @@ export async function createMemorixPlatform(deps) {
|
|
|
381
424
|
if (!client) {
|
|
382
425
|
throw new ServiceError("CANONICAL_PORT_MISSING", "Mongo client required for data/relationship/memory/pipeline ports", 503);
|
|
383
426
|
}
|
|
427
|
+
scope = { ...scope, orgId: resolveOrgId(scope.orgId) };
|
|
384
428
|
const cacheKey = `${scope.orgId}:${scope.agentIds.join(",")}`;
|
|
385
429
|
const hit = portsCache.get(cacheKey);
|
|
386
430
|
if (hit)
|
|
@@ -393,7 +437,12 @@ export async function createMemorixPlatform(deps) {
|
|
|
393
437
|
}
|
|
394
438
|
const catalog = catalogFromMetadataClient(metadata, scope.agentIds);
|
|
395
439
|
const plane = createMongoDataPlane(client);
|
|
396
|
-
const { writer } = createMongoContentWriter({
|
|
440
|
+
const { writer } = createMongoContentWriter({
|
|
441
|
+
client,
|
|
442
|
+
catalog,
|
|
443
|
+
plane,
|
|
444
|
+
clock: SYSTEM_CLOCK,
|
|
445
|
+
});
|
|
397
446
|
const { abstractWriter } = createMongoAbstractWriter({ client, catalog, plane });
|
|
398
447
|
const relationships = createRelationshipEngine({
|
|
399
448
|
client,
|
|
@@ -828,16 +877,32 @@ export async function createMemorixPlatform(deps) {
|
|
|
828
877
|
},
|
|
829
878
|
})
|
|
830
879
|
: null;
|
|
880
|
+
async function rehydrateMetadata() {
|
|
881
|
+
if (durableMetadata)
|
|
882
|
+
await durableMetadata.hydrate();
|
|
883
|
+
invalidateOrgPortsCache();
|
|
884
|
+
}
|
|
885
|
+
async function drainMetadata() {
|
|
886
|
+
if (durableMetadata)
|
|
887
|
+
await durableMetadata.drain();
|
|
888
|
+
}
|
|
889
|
+
// MX-META-01: Magit apply writes Mongo directly — always rehydrate live catalog.
|
|
890
|
+
if (magit) {
|
|
891
|
+
const applyCommit = magit.applyCommit.bind(magit);
|
|
892
|
+
magit.applyCommit = async (orgId, opts) => {
|
|
893
|
+
const result = await applyCommit(orgId, opts);
|
|
894
|
+
await rehydrateMetadata();
|
|
895
|
+
return result;
|
|
896
|
+
};
|
|
897
|
+
}
|
|
831
898
|
return {
|
|
832
899
|
mode: deps.mode,
|
|
833
900
|
client,
|
|
834
901
|
metadata,
|
|
835
902
|
isolation: deps.isolation ?? null,
|
|
836
903
|
magit,
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
await durableMetadata.hydrate();
|
|
840
|
-
},
|
|
904
|
+
rehydrateMetadata,
|
|
905
|
+
drainMetadata,
|
|
841
906
|
stampAgentLineage(agentId, lineage) {
|
|
842
907
|
if (!durableMetadata)
|
|
843
908
|
return;
|
|
@@ -857,6 +922,9 @@ export async function createMemorixPlatform(deps) {
|
|
|
857
922
|
connectorRegistry,
|
|
858
923
|
invocationLedger,
|
|
859
924
|
destinationStore,
|
|
925
|
+
rawRecordStore,
|
|
926
|
+
targetItemReceipts,
|
|
927
|
+
deliveryArtifacts,
|
|
860
928
|
deliverer,
|
|
861
929
|
genericConnectors,
|
|
862
930
|
credorix,
|
|
@@ -864,9 +932,11 @@ export async function createMemorixPlatform(deps) {
|
|
|
864
932
|
metadataDbFor,
|
|
865
933
|
pipelineLedgerFor,
|
|
866
934
|
operationalStoresFor,
|
|
935
|
+
resolveOrgId,
|
|
867
936
|
listKnownOperationalOrgIds,
|
|
868
937
|
intelligenceArtifactsFor,
|
|
869
938
|
portsFor,
|
|
939
|
+
invalidateOrgPortsCache,
|
|
870
940
|
orgRuntimeSourcesFor,
|
|
871
941
|
connectorOpOverridesFor,
|
|
872
942
|
connectorOpAttemptsFor,
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAW,MAAM,SAAS,CAAC;AAC/C,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,GAErB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,GAIrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EACL,wBAAwB,GAEzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,8BAA8B,EAC9B,gCAAgC,EAChC,mCAAmC,EACnC,8BAA8B,EAC9B,sBAAsB,EACtB,wBAAwB,EACxB,+BAA+B,EAC/B,+BAA+B,EAC/B,8BAA8B,EAC9B,8BAA8B,EAC9B,qBAAqB,EACrB,mBAAmB,GASpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EACL,gCAAgC,GAEjC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,qCAAqC,EACrC,oBAAoB,GAErB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,oBAAoB,IAAI,oBAAoB,EAC5C,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,WAAW,EACX,QAAQ,EACR,eAAe,GAKhB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,GAEzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,GAEzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,yBAAyB,EACzB,4BAA4B,GAE7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GAEtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,EAC5B,gCAAgC,EAChC,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,GAE5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,2BAA2B,GAE5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,8BAA8B,EAC9B,mCAAmC,EACnC,8BAA8B,EAC9B,iCAAiC,EACjC,8BAA8B,EAC9B,0BAA0B,EAC1B,2BAA2B,EAC3B,gCAAgC,EAChC,2BAA2B,EAC3B,8BAA8B,EAC9B,yBAAyB,GAO1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,uBAAuB,GAExB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,sCAAsC,EACtC,mCAAmC,GAEpC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mCAAmC,EACnC,gCAAgC,GAEjC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mCAAmC,EACnC,gCAAgC,GAEjC,MAAM,8BAA8B,CAAC;AAsJtC,MAAM,OAAO,oBAAqB,SAAQ,YAAY;IACpD,YAAY,OAAe;QACzB,KAAK,CAAC,yBAAyB,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAkB;IAElB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAChD,MAAM,IAAI,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,MAAM,GAAuB,IAAI,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC7C,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAA6B,CAAC;IACpE,MAAM,WAAW,GAAG,IAAI,GAAG,EAA2C,CAAC;IACvE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAiC,CAAC;IACxE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC9D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC5D,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAoC,CAAC;IACtE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAiC,CAAC;IAClE,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAiC,CAAC;IACxE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA+B,CAAC;IACpE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC9D,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA+B,CAAC;IACpE,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAiC,CAAC;IACxE,IAAI,eAAe,GAAgC,IAAI,CAAC;IACxD,IAAI,2BAA2B,GAA0C,IAAI,CAAC;IAC9E,IAAI,2BAA2B,GAEN,KAAK,IAAI,EAAE,CAAC,CAAC;QACpC,EAAE,EAAE,KAAK;QACT,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,+CAA+C;KAC9D,CAAC,CAAC;IAEH,MAAM,SAAS,GACb,IAAI,CAAC,SAAS;QACd,CAAC,MAAM,uBAAuB,CAAC;YAC7B,WAAW,EACT,IAAI,CAAC,eAAe,KAAK,IAAI;gBAC7B,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK;oBAClB,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE;oBACzC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;SAC5C,CAAC,CAAC,CAAC;IAEN,0EAA0E;IAC1E,MAAM,iBAAiB,GAAG,+BAA+B,CAAC;QACxD,iBAAiB,EAAE,sBAAsB,CAAC;YACxC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;SACzC,CAAC;KACH,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,8BAA8B,EAAE,CAAC;IAC1D,MAAM,gBAAgB,GAAG,8BAA8B,EAAE,CAAC;IAC1D,MAAM,iBAAiB,GAAG,2BAA2B,EAAE,CAAC;IACxD,MAAM,SAAS,GAAG,qBAAqB,CAAC;QACtC,KAAK,EAAE,gBAAgB;QACvB,aAAa,EAAE,iBAAiB,CAAC,aAAa;QAC9C,oBAAoB,EAAE,iBAAiB,CAAC,gBAAgB;QACxD,oBAAoB,EAClB,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE;YACtC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,EAAE;YAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE;YACvC,SAAS;KACZ,CAAC,CAAC;IACH,4EAA4E;IAC5E,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAEhC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,oBAAoB,CAC5B,sFAAsF,CACvF,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,MAAM,IAAI,oBAAoB,CAC5B,kEAAkE,CACnE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,oBAAoB,CAC5B,4EAA4E,CAC7E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC1E,MAAM,gBAAgB,GACpB,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,iBAAiB,CAAC;IAC9D,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC;IACtE,MAAM,QAAQ,GAAG,kBAAkB;QACjC,CAAC,CAAC;YACE,QAAQ,EAAE,gCAAgC,CAAC;gBACzC,UAAU,EAAE,kBAAkB;gBAC9B,QAAQ,EAAE,gBAAgB;gBAC1B,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrE,CAAC;YACF,aAAa,EAAE;gBACb,UAAU,EAAE,kBAAkB;gBAC9B,QAAQ,EAAE,gBAAgB;gBAC1B,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrE;SACF;QACH,CAAC,CAAC,IAAI,CAAC;IAET,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzB,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC/B,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,IAAI,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS;QAC1C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB;QACnC,CAAC,CAAC,2BAA2B,CAAC;IAEhC,IAAI,QAA+B,CAAC;IACpC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAClE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,qCAAqC;YACrC,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,MAAM,GAAG,MAAO,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC;QACjD,eAAe,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,eAAe,CAAC,OAAO,EAAE,CAAC;QAChC,QAAQ,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,oBAAoB,CAAC,2BAA2B,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,SAAS,gBAAgB,CAAC,KAAa;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,YAAY,CACpB,wBAAwB,EACxB,qDAAqD,EACrD,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACnC,MAAM,IAAI,YAAY,CACpB,wBAAwB,EACxB,wCAAwC,EACxC,GAAG,CACJ,CAAC;YACJ,CAAC;YACD,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,cAAc,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS,aAAa,CAAC,KAAa;QAClC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,YAAY,CAAC,wBAAwB,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,SAAS,iBAAiB,CAAC,KAAa;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC3B,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,oBAAoB,CAAC,KAAa;QACzC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACnC,KAAK,wBAAwB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,4BAA4B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACpD,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1C,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,YAAY,CACpB,wBAAwB,EACxB,0CAA0C,EAC1C,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,6BAA6B,EAAE,CAAC;QAC/C,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,UAAU,0BAA0B;QACvC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS;YAC5B,GAAG,sBAAsB,CAAC,IAAI,EAAE;YAChC,GAAG,OAAO,CAAC,IAAI,EAAE;SAClB,CAAC,CAAC;QACH,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,aAAa,EAAE,CAAC;gBACtD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;oBACpC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;oBAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;wBAAE,SAAS;oBAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBACpD,IAAI,KAAK;wBAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,yDAAyD;YAC3D,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,4EAA4E;IAC5E,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;QAC3D,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE;YAC3C,QAAQ,EAAE;gBACR,GAAG,QAAQ;gBACX,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,SAAS,wBAAwB,CAAC,KAAa;QAC7C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,MAAM,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,qCAAqC,CAAC;YAClD,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;YAC3C,KAAK;YACL,MAAM;YACN,oBAAoB,EAAE,KAAK;YAC3B,SAAS,EAAE,WAAW,KAAK,EAAE;SAC9B,CAAC,CAAC;QACH,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,oBAAoB,CAAC,KAAa;QACzC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM;YAClB,CAAC,CAAC,gCAAgC,CAAC,MAAM,EAAE,KAAK,CAAC;YACjD,CAAC,CAAC,mCAAmC,CAAC,KAAK,CAAC,CAAC;QAC/C,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,uBAAuB,CAAC,KAAa;QAC5C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAC9B,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,cAAc,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,KAAK,GAAG,2BAA2B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACzD,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,YAAY,CACpB,wBAAwB,EACxB,8CAA8C,EAC9C,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;QACpD,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,sBAAsB,CAAC,KAAa;QAC3C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAC9B,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,cAAc,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,KAAK,GAAG,0BAA0B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACxD,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,YAAY,CACpB,wBAAwB,EACxB,6CAA6C,EAC7C,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;QACnD,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,uBAAuB,CAAC,KAAa;QAC5C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAC9B,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,cAAc,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,KAAK,GAAG,mCAAmC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACjE,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,YAAY,CACpB,wBAAwB,EACxB,6CAA6C,EAC7C,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,sCAAsC,CAAC,KAAK,CAAC,CAAC;QAC5D,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,oBAAoB,CAAC,KAAa;QACzC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;QAClD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAC9B,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,cAAc,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,KAAK,GAAG,gCAAgC,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE;gBACvE,MAAM;aACP,CAAC,CAAC;YACH,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,YAAY,CACpB,wBAAwB,EACxB,sDAAsD,EACtD,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,mCAAmC,CAAC,KAAK,EAAE,SAAS,EAAE;YAClE,MAAM;SACP,CAAC,CAAC;QACH,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,aAAa,CACpB,GAAmB,EACnB,KAAa,EACb,KAAa,EACb,KAA4B,EAC5B,MAAe;QAEf,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAC9B,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,cAAc,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5B,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,YAAY,CACpB,wBAAwB,EACxB,GAAG,KAAK,yBAAyB,EACjC,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;QACvB,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,oBAAoB,CAAC,KAAa;QACzC,OAAO,aAAa,CAClB,sBAAsB,EACtB,KAAK,EACL,oBAAoB,EACpB,CAAC,CAAC,EAAE,EAAE,CAAC,gCAAgC,CAAC,CAAC,EAAE,KAAK,CAAC,EACjD,GAAG,EAAE,CAAC,mCAAmC,CAAC,KAAK,CAAC,CACjD,CAAC;IACJ,CAAC;IAED,SAAS,kBAAkB,CAAC,KAAa;QACvC,OAAO,aAAa,CAClB,oBAAoB,EACpB,KAAK,EACL,kBAAkB,EAClB,CAAC,CAAC,EAAE,EAAE,CAAC,8BAA8B,CAAC,CAAC,EAAE,KAAK,CAAC,EAC/C,GAAG,EAAE,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAC/C,CAAC;IACJ,CAAC;IAED,SAAS,eAAe,CAAC,KAAa;QACpC,OAAO,aAAa,CAClB,iBAAiB,EACjB,KAAK,EACL,eAAe,EACf,CAAC,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,CAAC,EAAE,KAAK,CAAC,EAC5C,GAAG,EAAE,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAC5C,CAAC;IACJ,CAAC;IAED,SAAS,kBAAkB,CAAC,KAAa;QACvC,OAAO,aAAa,CAClB,oBAAoB,EACpB,KAAK,EACL,kBAAkB,EAClB,CAAC,CAAC,EAAE,EAAE,CAAC,8BAA8B,CAAC,CAAC,EAAE,KAAK,CAAC,EAC/C,GAAG,EAAE,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAC/C,CAAC;IACJ,CAAC;IAED,SAAS,mBAAmB,CAAC,KAAa;QACxC,OAAO,aAAa,CAClB,sBAAsB,EACtB,KAAK,EACL,mBAAmB,EACnB,CAAC,CAAC,EAAE,EAAE,CAAC,gCAAgC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAC5D,GAAG,EAAE,CAAC,mCAAmC,CAAC,KAAK,EAAE,SAAS,CAAC,CAC5D,CAAC;IACJ,CAAC;IAED,SAAS,QAAQ,CAAC,KAAmB;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,YAAY,CACpB,wBAAwB,EACxB,mEAAmE,EACnE,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QAEpB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,CAAU,EAAE,CAAC;gBAC5E,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACxE,MAAM,EAAE,cAAc,EAAE,GAAG,yBAAyB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACjF,MAAM,aAAa,GAAG,wBAAwB,CAAC;YAC7C,MAAM;YACN,OAAO;YACP,gBAAgB,EAAE,4BAA4B,CAAC,QAAQ,CAAC;SACzD,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,4BAA4B,CAAC;YAC5C,MAAM;YACN,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE;gBACP,KAAK,CAAC,MAAM;oBACV,OAAO,EAAE,YAAY,EAAE,QAAiB,EAAE,CAAC;gBAC7C,CAAC;aACF;SACF,CAAC,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC;YAC1C,MAAM;YACN,OAAO;YACP,KAAK;YACL,iBAAiB,EAAE,QAAQ;SAC5B,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,aAAa,GAAG,8BAA8B,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1E,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,qBAAqB,CAAC;YACnC,MAAM;YACN,MAAM;YACN,QAAQ;YACR,6EAA6E;YAC7E,2EAA2E;YAC3E,WAAW,EAAE,8BAA8B,CAAC;gBAC1C,kBAAkB,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;gBACvD,oBAAoB,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;aAC1D,CAAC;YACF,QAAQ,EAAE;gBACR,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ;oBACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;oBAClE,IAAI,GAAG,EAAE,UAAU,EAAE,CAAC;wBACpB,OAAO,GAAG,CAAC,UAA8B,CAAC;oBAC5C,CAAC;oBACD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACrD,IAAI,CAAC,MAAM;wBAAE,OAAO,IAAI,CAAC;oBACzB,IACE,QAAQ,CAAC,MAAM;wBACf,MAAM,CAAC,QAAQ,CAAC,MAAM;wBACtB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAClD,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,OAAO,MAAM,CAAC,UAAU,CAAC;gBAC3B,CAAC;aACF;YACD,mBAAmB,EAAE;gBACnB,UAAU,EAAE,sBAAsB,CAAC;oBACjC,SAAS,EAAE,eAAe;iBAC3B,CAAC;gBACF,YAAY,EAAE,wBAAwB,CAAC;oBACrC,SAAS,EAAE,eAAe;iBAC3B,CAAC;gBACF,iBAAiB,EACf,iBAAiB,CAAC,cAAc,CAAC,iBAAiB,CAAC;oBACnD,sBAAsB,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;aACrE;YACD,iBAAiB,EAAE,+BAA+B,EAAE;YACpD,gBAAgB;YAChB,UAAU,EAAE;gBACV,aAAa,EAAE,iBAAiB,CAAC,aAAa;gBAC9C,oBAAoB,EAAE,iBAAiB,CAAC,gBAAgB;gBACxD,kBAAkB,EAAE,iBAAiB,CAAC,wBAAwB;aAC/D;YACD,oBAAoB,EAClB,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE;gBACtC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,EAAE;gBAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE;gBACvC,SAAS;YACX,GAAG,CAAC,QAAQ;gBACV,CAAC,CAAC;oBACE,QAAQ,EAAE;wBACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ;wBAC3B,aAAa,EAAE,QAAQ,CAAC,aAAa;qBACtC;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,sBAAsB,CAAC;YAC1C,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;YACvD,SAAS,EAAE,MAAM;YACjB,MAAM;YACN,MAAM;YACN,kBAAkB,EAAE,aAAa;YACjC,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,KAAK,EAC3B,MAA+B,EACG,EAAE;YACpC,MAAM,GAAG,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;YACnD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,IACE,KAAK;oBACL,OAAO,KAAK,KAAK,QAAQ;oBACzB,MAAM,IAAK,KAAgB;oBAC3B,CAAE,KAA2B,CAAC,IAAI,KAAK,QAAQ;wBAC5C,KAA2B,CAAC,IAAI,KAAK,UAAU,CAAC,EACnD,CAAC;oBACD,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,KAAc,EACd,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,EACxC,KAAK,CAAC,KAAK,CACZ,CAAC;wBAAY,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;wBAChC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;4BACnE,MAAM,IAAI,GAAI,MAA4C,CAAC,IAAI,CAAC;4BAChE,MAAM,MAAM,GACT,MAA4B,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI;gCACrD,CAAC,CAAC,IAAI;gCACN,CAAC,CAAC,MAAM,CAAC;4BACb,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gCACnE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAiC,CAAC,CAAC;4BACxD,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,iBAAiB;oBACnB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,eAAe,GAAgB,KAAK,EAAE,GAAyB,EAAE,EAAE;YACvE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAA4B,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,CACrB,CAAC,CAAC,QAAQ,IAAI,yBAAyB,EAAE,CAC1C,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACtB,MAAM,UAAU,GAAG,MAAM,eAAe,CACtC,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAA4B,CAC9C,CAAC;YACF,OAAO,kBAAkB,CAAC,YAAY,CAAC;gBACrC,GAAG,GAAG;gBACN,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE;oBACN,GAAG,CAAC;oBACJ,QAAQ;oBACR,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO;oBACnC,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS;oBACrC,aAAa,EAAE,CAAC,CAAC,aAAa;iBAC/B;aACF,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,CAAC,aAAa,CAAC,SAAS,IAAI,EAAE,CAAC;aAChD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;aACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAE5B,oEAAoE;QACpE,MAAM,WAAW,GACf,EAAE,CAAC;QAEL,MAAM,iBAAiB,GAAG;YACxB,QAAQ;YACR,QAAQ,EAAE,CAAC,CAAwC,EAAE,EAAE;YACrD,2DAA2D;YAC3D,QAAQ,CAAC,CAAC,CAAC;SACd,CAAC;QAEF,MAAM,QAAQ,GAAG,qBAAqB,CAAC;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;YAC3C,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,aAAa,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC;YAC5C,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;YACtC,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC;YACzC,KAAK,EAAE;gBACL,GAAG,YAAY;gBACf,OAAO,EAAE,uBAAuB,CAC9B,YAAY,CAAC,OAAQ,EACrB,eAAe,CAChB;gBACD,MAAM,EAAE,uBAAuB,CAC7B,YAAY,CAAC,MAAO,EACpB,eAAe,CAChB;gBACD,MAAM,EAAE,uBAAuB,CAC7B,YAAY,CAAC,MAAO,EACpB,eAAe,CAChB;gBACD,SAAS,EAAE,uBAAuB,CAChC,YAAY,CAAC,SAAU,EACvB,eAAe,CAChB;gBACD,cAAc,EAAE,qBAAqB,CAAC;oBACpC,QAAQ,EAAE,iBAAiB;oBAC3B,UAAU,EAAE,GAAG,EAAE;wBACf,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;4BACzB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;wBAChD,CAAC;wBACD,OAAO,WAAW,CAAC,OAAO,CAAC;oBAC7B,CAAC;iBACF,CAAC;gBACF,IAAI,EAAE,cAAc,EAAE;aACvB;YACD,gBAAgB,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE;SAC5C,CAAC,CAAC;QACH,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;QAE/B,MAAM,QAAQ,GAAa;YACzB,OAAO;YACP,MAAM;YACN,MAAM;YACN,cAAc;YACd,aAAa;YACb,MAAM;YACN,cAAc,EAAE,QAAQ;YACxB,mBAAmB,EAAE,aAAa;YAClC,iBAAiB;YACjB,QAAQ;YACR,YAAY,EAAE,gBAAgB;YAC9B,SAAS;SACV,CAAC;QACF,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,cAAc,GAA0C,IAAI,CAAC;IACjE,IAAI,cAAc,GAA0C,IAAI,CAAC;IAEjE,SAAS,yBAAyB,CAAC,IAGlC;QACC,IAAI,cAAc,EAAE,CAAC;YACnB,aAAa,CAAC,cAAc,CAAC,CAAC;YAC9B,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;QACzB,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,MAAM,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,mBAAmB,OAAO,CAAC,GAAG,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,CAAC;QAErB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,aAAa,EAAE,CAAC;gBACrD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;qBACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;qBAClB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;qBAC/C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;qBACpD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAEvC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,aAAa,GAAG,8BAA8B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBACnE,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACpE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;wBAAE,SAAS;oBAC/B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;oBAC/C,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;wBACpB,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;wBAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;wBACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACb,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC1B,CAAC;oBACD,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,QAAQ,EAAE,CAAC;wBAC7C,MAAM,QAAQ,GACZ,QAAQ,KAAK,GAAG;4BACd,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,QAAQ;4BAC9B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC1C,IAAI,KAAe,CAAC;wBACpB,IAAI,CAAC;4BACH,KAAK,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;wBACxC,CAAC;wBAAC,MAAM,CAAC;4BACP,SAAS;wBACX,CAAC;wBACD,MAAM,mBAAmB,CAAC;4BACxB,KAAK;4BACL,aAAa,EAAE,KAAK,CAAC,mBAAmB;4BACxC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;4BACrC,OAAO;yBACR,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,4DAA4D;YAC9D,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,QAAQ,EAAE,CAAC;QAChB,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;QAChE,IAAI,OAAO,cAAc,CAAC,KAAK,KAAK,UAAU;YAAE,cAAc,CAAC,KAAK,EAAE,CAAC;QACvE,OAAO,GAAG,EAAE;YACV,IAAI,cAAc,EAAE,CAAC;gBACnB,aAAa,CAAC,cAAc,CAAC,CAAC;gBAC9B,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,SAAS,mBAAmB,CAAC,IAA8B;QACzD,IAAI,cAAc,EAAE,CAAC;YACnB,aAAa,CAAC,cAAc,CAAC,CAAC;YAC9B,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,MAAM,CAAC;QAE9C,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,0BAA0B,EAAE,CAAC;gBAClD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;oBAC3C,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;oBACxC,MAAM,eAAe,CAAC;wBACpB,MAAM;wBACN,KAAK;wBACL,aAAa,EAAE,MAAM,CAAC,aAAa;qBACpC,CAAC,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE;wBACnD,OAAO,EAAE,IAAI;wBACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,KAAK,EAAE,EAAE;qBACV,CAAC,CAAC;oBACH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;oBAC/C,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;wBACpB,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;wBACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;wBACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACb,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC1B,CAAC;oBACD,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;wBACzC,MAAM,QAAQ,GACZ,QAAQ,KAAK,GAAG;4BACd,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,QAAQ;4BACpB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC1C,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAIzC,EAAE,CAAC,CAAC;wBACN,IAAI,MAAM,EAAE,CAAC;4BACX,IAAI,CAAC;gCACH,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gCAC5C,4DAA4D;gCAC5D,KAAK,KAAK,CAAC;4BACb,CAAC;4BAAC,MAAM,CAAC;gCACP,uBAAuB;4BACzB,CAAC;wBACH,CAAC;wBACD,MAAM,QAAQ,CAAC;4BACb,KAAK;4BACL,QAAQ;4BACR,MAAM;4BACN,eAAe,EAAE,MAAM,CAAC,eAAe;4BACvC,eAAe,EAAE,MAAM,CAAC,eAAe;4BACvC,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,aAAa,EAAE,MAAM,CAAC,aAAa;4BACnC,YAAY,EAAE,MAAM;gCAClB,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oCACd,IAAI,CAAC;wCACH,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;wCAC5C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,CAC5C,EAAE,KAAK,EAAE,QAAQ,EAAE,EACnB;4CACE,YAAY,EAAE,KAAK,CAAC,YAAY;4CAChC,OAAO,EAAE,KAAK,CAAC,OAAO;4CACtB,KAAK,EAAE,KAAK,CAAC,KAAK;4CAClB,MAAM,EAAE,KAAK,CAAC,MAAM;yCACrB,CACF,CAAC;wCACF,OAAO;4CACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gDACjC,UAAU,EAAE,IAAI,CAAC,UAAU;gDAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gDACvB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW;6CACnD,CAAC,CAAC;4CACH,UAAU,EAAE,MAAM,CAAC,UAAU;yCAC9B,CAAC;oCACJ,CAAC;oCAAC,MAAM,CAAC;wCACP,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;oCACvB,CAAC;gCACH,CAAC;gCACH,CAAC,CAAC,YAAY;4BAChB,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE;gCACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;gCACjE,OAAQ,GAAG,EAAE,UAAoB,IAAI,IAAI,CAAC;4BAC5C,CAAC;4BACD,mBAAmB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;gCACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAChC,QAAQ,EACR,WAAW,EACX,UAAU,CACX,CAAC;gCACF,IAAI,CAAC,GAAG,EAAE,UAAU,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;oCAC3D,OAAO,IAAI,CAAC;gCACd,CAAC;gCACD,MAAM,IAAI,GAAI,GAAG,CAAC,UAAiC,CAAC,IAAI,CAAC;gCACzD,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;4BACtE,CAAC;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,qCAAqC;YACvC,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,QAAQ,EAAE,CAAC;QAChB,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;QAChE,IAAI,OAAO,cAAc,CAAC,KAAK,KAAK,UAAU;YAAE,cAAc,CAAC,KAAK,EAAE,CAAC;QACvE,OAAO,GAAG,EAAE;YACV,IAAI,cAAc,EAAE,CAAC;gBACnB,aAAa,CAAC,cAAc,CAAC,CAAC;gBAC9B,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,UAAU,+BAA+B,CAC5C,KAAa,EACb,IAGC;QAED,OAAO,yBAAyB,CAAC;YAC/B,KAAK;YACL,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,4BAA4B;YACtD,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC;YACpC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC;YAC9B,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC;YAC/B,WAAW,EAAE,oBAAoB,CAAC,KAAK,CAAC;YACxC,YAAY,EAAE,uBAAuB,CAAC,KAAK,CAAC;YAC5C,SAAS,EAAE,uBAAuB,CAAC,KAAK,CAAC;YACzC,cAAc,EAAE,IAAI,EAAE,cAAc,IAAI,2BAA2B;SACpE,CAAC,CAAC;IACL,CAAC;IAED,SAAS,gCAAgC,CAAC,IAIzC;QACC,IAAI,2BAA2B,EAAE,CAAC;YAChC,aAAa,CAAC,2BAA2B,CAAC,CAAC;YAC3C,2BAA2B,GAAG,IAAI,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,EAAE,cAAc,EAAE,CAAC;YACzB,2BAA2B,GAAG,IAAI,CAAC,cAAc,CAAC;QACpD,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,MAAM,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,4BAA4B,CAAC;QAE9D,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,0BAA0B,EAAE,CAAC;gBAClD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,qEAAqE;oBACrE,kBAAkB,CAAC,KAAK,CAAC,CAAC;oBAC1B,MAAM,+BAA+B,CAAC,KAAK,EAAE;wBAC3C,OAAO;wBACP,cAAc,EAAE,2BAA2B;qBAC5C,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,qCAAqC;YACvC,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,QAAQ,EAAE,CAAC;QAChB,2BAA2B,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;QAC7E,IAAI,OAAO,2BAA2B,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC5D,2BAA2B,CAAC,KAAK,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,GAAG,EAAE;YACV,IAAI,2BAA2B,EAAE,CAAC;gBAChC,aAAa,CAAC,2BAA2B,CAAC,CAAC;gBAC3C,2BAA2B,GAAG,IAAI,CAAC;YACrC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GACjB,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/D,MAAM,KAAK,GACT,sBAAsB,EAAE,IAAI,OAAO,CAAC,eAAe,CAAC,IAAI,aAAa;QACnE,CAAC,CAAC,sBAAsB,CAAC;YACrB,cAAc,EAAE,0BAA0B,EAAE;YAC5C,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,aAAa;YACvB,UAAU,EAAE,qBAAqB;YACjC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,SAAS;YAC9D,kEAAkE;YAClE,eAAe,EAAE,2BAA2B,EAAE;YAC9C,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAClB,sEAAsE;gBACtE,IAAI,KAAK;oBAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;;oBAChC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;SACF,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM;QACN,QAAQ;QACR,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;QACjC,KAAK;QACL,KAAK,CAAC,iBAAiB;YACrB,IAAI,eAAe;gBAAE,MAAM,eAAe,CAAC,OAAO,EAAE,CAAC;QACvD,CAAC;QACD,iBAAiB,CAAC,OAAO,EAAE,OAAO;YAChC,IAAI,CAAC,eAAe;gBAAE,OAAO;YAC7B,MAAM,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,eAAe,CAAC,gBAAgB,CAC9B,OAAO,EACP,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,WAAW,EAChB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB;gBACE,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW;gBACpD,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY;aACxD,CACF,CAAC;QACJ,CAAC;QACD,mBAAmB,CAAC,KAAK;YACvB,IAAI,CAAC,eAAe;gBAAE,OAAO;YAC7B,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,iBAAiB;QACjB,gBAAgB;QAChB,gBAAgB;QAChB,SAAS;QACT,iBAAiB;QACjB,QAAQ;QACR,gBAAgB;QAChB,aAAa;QACb,iBAAiB;QACjB,oBAAoB;QACpB,0BAA0B;QAC1B,wBAAwB;QACxB,QAAQ;QACR,oBAAoB;QACpB,uBAAuB;QACvB,sBAAsB;QACtB,uBAAuB;QACvB,oBAAoB;QACpB,oBAAoB;QACpB,kBAAkB;QAClB,eAAe;QACf,kBAAkB;QAClB,mBAAmB;QACnB,SAAS;QACT,yBAAyB;QACzB,mBAAmB;QACnB,gCAAgC;QAChC,+BAA+B;QAC/B,KAAK,CAAC,KAAK;YACT,IAAI,cAAc,EAAE,CAAC;gBACnB,aAAa,CAAC,cAAc,CAAC,CAAC;gBAC9B,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,IAAI,cAAc,EAAE,CAAC;gBACnB,aAAa,CAAC,cAAc,CAAC,CAAC;gBAC9B,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,IAAI,2BAA2B,EAAE,CAAC;gBAChC,aAAa,CAAC,2BAA2B,CAAC,CAAC;gBAC3C,2BAA2B,GAAG,IAAI,CAAC;YACrC,CAAC;YACD,IAAI,eAAe;gBAAE,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;YACnD,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACnD,CAAC;QACD,WAAW,CAAC,KAAK;YACf,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,mBAAmB,GAAkB,IAAI,CAAC;YAC9C,qEAAqE;YACrE,kEAAkE;YAClE,8DAA8D;YAC9D,IAAI,qBAAqB,GAAmB,IAAI,CAAC;YACjD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,oEAAoE;gBACpE,sBAAsB;gBACtB,IAAI,CAAC,sBAAsB,EAAE;oBAAE,mBAAmB,GAAG,kBAAkB,CAAC;qBACnE,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC1B,mBAAmB,GAAG,0CAA0C,CAAC;gBACnE,CAAC;qBAAM,IAAI,CAAC,aAAa;oBAAE,mBAAmB,GAAG,sBAAsB,CAAC;;oBACnE,mBAAmB,GAAG,aAAa,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,KAAM,CAAC,mBAAmB,EAAE,CAAC;gBAC5C,qBAAqB,GAAG,MAAM,CAAC,SAAS,CAAC;gBACzC,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;oBAC/B,mEAAmE;oBACnE,+DAA+D;oBAC/D,oEAAoE;oBACpE,8DAA8D;oBAC9D,WAAW;oBACX,mBAAmB,GAAG,MAAM,CAAC,MAAM;wBACjC,CAAC,CAAC,kCAAkC,MAAM,CAAC,MAAM,EAAE;wBACnD,CAAC,CAAC,+BAA+B,CAAC;gBACtC,CAAC;YACH,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK;gBACL,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC;gBACzB,eAAe,EAAE,OAAO,CAAC,eAAe,CAAC;gBACzC,WAAW,EAAE,SAAS,CAAC,OAAO;gBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;gBAC3B,iBAAiB,EAAE;oBACjB,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;oBACpD,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;iBACrD;gBACD,mEAAmE;gBACnE,gEAAgE;gBAChE,KAAK,EAAE,OAAO,IAAI,qBAAqB,KAAK,KAAK;gBACjD,mBAAmB;gBACnB,kBAAkB,EAAE,yBAAyB,EAAE;gBAC/C,qBAAqB;gBACrB,0FAA0F;gBAC1F,yBAAyB,EAAE,yBAAyB,EAAE;gBACtD,4BAA4B,EAAE,4BAA4B,EAAE;gBAC5D,4BAA4B,EAAE,4BAA4B,EAAE;gBAC5D,2EAA2E;gBAC3E,kBAAkB,EAAE,gCAAgC,EAAE;gBACtD,SAAS,EAAE,IAAI,CAAC,SAAS;oBACvB,CAAC,CAAC;wBACE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;wBAC3B,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB;wBAC7C,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB;qBAC7C;oBACH,CAAC,CAAC,IAAI;gBACR,QAAQ,EAAE;oBACR,gCAAgC;oBAChC,uBAAuB;oBACvB,oBAAoB;oBACpB,6BAA6B;oBAC7B,sBAAsB;oBACtB,2BAA2B;oBAC3B,4BAA4B;oBAC5B,uBAAuB;oBACvB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MX-CALLER-01 companion — request traffic picture via @x12i/countex.
|
|
3
|
+
*
|
|
4
|
+
* Aggregates /api/* completions by caller × method × route × status class
|
|
5
|
+
* without persisting access-log bodies. Queried by GET /_live/api/request-stats.
|
|
6
|
+
*/
|
|
7
|
+
import type { FastifyInstance } from "fastify";
|
|
8
|
+
import { type Countex } from "@x12i/countex";
|
|
9
|
+
export declare const HTTP_REQUESTS_COUNTER_ID = "http_requests";
|
|
10
|
+
export declare const REQUEST_STATS_GLOBAL_SCOPE = "memorix-service";
|
|
11
|
+
export type RequestCountexEvent = {
|
|
12
|
+
scope: string;
|
|
13
|
+
caller: string;
|
|
14
|
+
method: string;
|
|
15
|
+
route: string;
|
|
16
|
+
statusClass: string;
|
|
17
|
+
statusCode: number;
|
|
18
|
+
latencyMs: number;
|
|
19
|
+
at: string;
|
|
20
|
+
};
|
|
21
|
+
export type RequestStatsRow = {
|
|
22
|
+
caller: string;
|
|
23
|
+
method?: string;
|
|
24
|
+
route?: string;
|
|
25
|
+
statusClass?: string;
|
|
26
|
+
count: number;
|
|
27
|
+
latencyAvgMs?: number;
|
|
28
|
+
latencySumMs?: number;
|
|
29
|
+
};
|
|
30
|
+
export type RequestStatsPayload = {
|
|
31
|
+
ok: true;
|
|
32
|
+
enabled: true;
|
|
33
|
+
storage: "memory" | "mongo";
|
|
34
|
+
counterId: string;
|
|
35
|
+
byCaller: RequestStatsRow[];
|
|
36
|
+
byCallerRoute: RequestStatsRow[];
|
|
37
|
+
windows: {
|
|
38
|
+
all: true;
|
|
39
|
+
hour: string;
|
|
40
|
+
minute: string;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
export type RequestCountexHandle = {
|
|
44
|
+
countex: Countex;
|
|
45
|
+
storage: "memory" | "mongo";
|
|
46
|
+
record: (event: RequestCountexEvent) => void;
|
|
47
|
+
queryStats: () => Promise<RequestStatsPayload>;
|
|
48
|
+
flush: () => Promise<void>;
|
|
49
|
+
shutdown: () => Promise<void>;
|
|
50
|
+
};
|
|
51
|
+
export declare function createRequestCountex(opts?: {
|
|
52
|
+
mongoUri?: string;
|
|
53
|
+
}): Promise<RequestCountexHandle>;
|
|
54
|
+
export declare function attachRequestCountex(app: FastifyInstance, handle: RequestCountexHandle): void;
|
|
55
|
+
export declare function registerRequestStatsRoute(app: FastifyInstance, handle: RequestCountexHandle): void;
|
|
56
|
+
//# sourceMappingURL=request-countex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-countex.d.ts","sourceRoot":"","sources":["../src/request-countex.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,SAAS,CAAC;AAC/D,OAAO,EAGL,KAAK,OAAO,EAGb,MAAM,eAAe,CAAC;AAIvB,eAAO,MAAM,wBAAwB,kBAAkB,CAAC;AACxD,eAAO,MAAM,0BAA0B,oBAAoB,CAAC;AA8B5D,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,aAAa,EAAE,eAAe,EAAE,CAAC;IACjC,OAAO,EAAE;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC7C,UAAU,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/C,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC;AA6DF,wBAAsB,oBAAoB,CAAC,IAAI,CAAC,EAAE;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAyFhC;AAMD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,oBAAoB,GAC3B,IAAI,CA8BN;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,oBAAoB,GAC3B,IAAI,CAEN"}
|