@cortexkit/aft-bridge 0.49.3 → 0.50.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.
Files changed (48) hide show
  1. package/dist/bridge.d.ts +7 -1
  2. package/dist/bridge.d.ts.map +1 -1
  3. package/dist/bridge.js +66 -4
  4. package/dist/bridge.js.map +1 -1
  5. package/dist/cache-paths.d.ts +26 -0
  6. package/dist/cache-paths.d.ts.map +1 -0
  7. package/dist/cache-paths.js +37 -0
  8. package/dist/cache-paths.js.map +1 -0
  9. package/dist/downloader.d.ts +2 -3
  10. package/dist/downloader.d.ts.map +1 -1
  11. package/dist/downloader.js +5 -13
  12. package/dist/downloader.js.map +1 -1
  13. package/dist/durable-log.d.ts +3 -1
  14. package/dist/durable-log.d.ts.map +1 -1
  15. package/dist/durable-log.js +4 -2
  16. package/dist/durable-log.js.map +1 -1
  17. package/dist/error-contract.d.ts +20 -0
  18. package/dist/error-contract.d.ts.map +1 -1
  19. package/dist/error-contract.js +84 -0
  20. package/dist/error-contract.js.map +1 -1
  21. package/dist/index.d.ts +3 -2
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +4 -3
  24. package/dist/index.js.map +1 -1
  25. package/dist/lifecycle-registry.d.ts +196 -0
  26. package/dist/lifecycle-registry.d.ts.map +1 -0
  27. package/dist/lifecycle-registry.js +471 -0
  28. package/dist/lifecycle-registry.js.map +1 -0
  29. package/dist/pool.d.ts +7 -7
  30. package/dist/pool.d.ts.map +1 -1
  31. package/dist/pool.js +36 -9
  32. package/dist/pool.js.map +1 -1
  33. package/dist/resolver.d.ts.map +1 -1
  34. package/dist/resolver.js +4 -11
  35. package/dist/resolver.js.map +1 -1
  36. package/dist/revivable-transport.d.ts +11 -0
  37. package/dist/revivable-transport.d.ts.map +1 -1
  38. package/dist/revivable-transport.js +44 -2
  39. package/dist/revivable-transport.js.map +1 -1
  40. package/dist/subc-transport.d.ts +220 -45
  41. package/dist/subc-transport.d.ts.map +1 -1
  42. package/dist/subc-transport.js +1025 -319
  43. package/dist/subc-transport.js.map +1 -1
  44. package/dist/transport-factory.d.ts +19 -0
  45. package/dist/transport-factory.d.ts.map +1 -1
  46. package/dist/transport-factory.js +71 -2
  47. package/dist/transport-factory.js.map +1 -1
  48. package/package.json +1 -1
@@ -1,8 +1,10 @@
1
1
  import { appendFile, mkdir, rename, rm, stat } from "node:fs/promises";
2
2
  import { homedir } from "node:os";
3
3
  import { dirname, join } from "node:path";
4
- export const DEFAULT_LOG_BYTES = 20 * 1024 * 1024;
5
- export const DEFAULT_LOG_GENERATIONS = 5;
4
+ /** Maximum size of the active plugin log before its single backup rotates in. */
5
+ export const DEFAULT_LOG_BYTES = 32 * 1024 * 1024;
6
+ /** Retention hygiene keeps one backup generation and no numbered chain. */
7
+ export const DEFAULT_LOG_GENERATIONS = 1;
6
8
  function homeDir() {
7
9
  if (process.platform === "win32")
8
10
  return process.env.USERPROFILE || process.env.HOME || homedir();
@@ -1 +1 @@
1
- {"version":3,"file":"durable-log.js","sourceRoot":"","sources":["../src/durable-log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"durable-log.js","sourceRoot":"","sources":["../src/durable-log.ts"],"names":[],"mappings":"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"}
@@ -21,4 +21,24 @@ export declare class AftToolError extends Error {
21
21
  * code or structured response fields.
22
22
  */
23
23
  export declare function toolErrorFromResponse(command: string, response: Record<string, unknown>): AftToolError;
24
+ /** Agent-facing guidance for a bash request whose transport outcome is unknown. */
25
+ export declare const BASH_TRANSPORT_DISPOSITION = "The transport to the AFT daemon was interrupted; no background task was created for this command and no task ID exists. Re-run the command. Do not poll bash_status for it.";
26
+ /**
27
+ * Agent-facing guidance for a call the daemon GOODBYE'd mid-flight.
28
+ *
29
+ * Deliberately does NOT say the call failed. The daemon emits route GOODBYEs
30
+ * after its drain wait regardless of whether that drain completed, so a call
31
+ * in flight at GOODBYE was admitted BEFORE the gate closed and may already
32
+ * have run to completion with only its reply lost. "Failed" reads as an
33
+ * invitation to re-run, which double-applies a mutation that already landed.
34
+ */
35
+ export declare const SUBC_MODULE_RESTART_DISPOSITION = "The AFT daemon module restarted while this call was in flight, so its outcome is UNKNOWN: it may or may not have executed. Verify actual state before re-running, and never blind-retry a mutation.";
36
+ /**
37
+ * Append agent-facing recovery guidance without changing the original error
38
+ * object, class, code, or retry behavior. Two dispositions exist: a route
39
+ * GOODBYE appends the unknown-outcome guidance on EVERY command (checked
40
+ * first), and bash transport failures append the re-run guidance. Commands
41
+ * matching neither retain their errors untouched.
42
+ */
43
+ export declare function adaptToolError(command: string, error: unknown): unknown;
24
44
  //# sourceMappingURL=error-contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-contract.d.ts","sourceRoot":"","sources":["../src/error-contract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,SAAiB,KAAK,EAAE,iBAAiB,CAAC;gBAE9B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAO7E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,YAAY,CAQd"}
1
+ {"version":3,"file":"error-contract.d.ts","sourceRoot":"","sources":["../src/error-contract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,SAAiB,KAAK,EAAE,iBAAiB,CAAC;gBAE9B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAO7E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,YAAY,CAQd;AAED,mFAAmF;AACnF,eAAO,MAAM,0BAA0B,gLACwI,CAAC;AAEhL;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B,wMAC2J,CAAC;AAqCxM;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAoBvE"}
@@ -1,3 +1,13 @@
1
+ /**
2
+ * Host-neutral error adaptation for agent tool failures.
3
+ *
4
+ * The Rust response owns the logical code, message, and structured fields. Host
5
+ * adapters may attach those values to their native error surface, but must not
6
+ * rewrite the contract-owned message while doing so.
7
+ */
8
+ import { isConsumerReconnectTransient, StaleRouteHandleError, SubcError, } from "@cortexkit/subc-client";
9
+ import { isBridgeTransportTimeout } from "./bridge.js";
10
+ import { SubcRootGenerationExpiredError, SubcRootReapedError } from "./subc-transport.js";
1
11
  export class AftToolError extends Error {
2
12
  code;
3
13
  response;
@@ -20,4 +30,78 @@ export function toolErrorFromResponse(command, response) {
20
30
  : `${command} failed`;
21
31
  return new AftToolError(message, code, response);
22
32
  }
33
+ /** Agent-facing guidance for a bash request whose transport outcome is unknown. */
34
+ export const BASH_TRANSPORT_DISPOSITION = "The transport to the AFT daemon was interrupted; no background task was created for this command and no task ID exists. Re-run the command. Do not poll bash_status for it.";
35
+ /**
36
+ * Agent-facing guidance for a call the daemon GOODBYE'd mid-flight.
37
+ *
38
+ * Deliberately does NOT say the call failed. The daemon emits route GOODBYEs
39
+ * after its drain wait regardless of whether that drain completed, so a call
40
+ * in flight at GOODBYE was admitted BEFORE the gate closed and may already
41
+ * have run to completion with only its reply lost. "Failed" reads as an
42
+ * invitation to re-run, which double-applies a mutation that already landed.
43
+ */
44
+ export const SUBC_MODULE_RESTART_DISPOSITION = "The AFT daemon module restarted while this call was in flight, so its outcome is UNKNOWN: it may or may not have executed. Verify actual state before re-running, and never blind-retry a mutation.";
45
+ /**
46
+ * A route GOODBYE delivered against an in-flight request.
47
+ *
48
+ * COUPLING: subc-client raises this as a bare `SubcError` carrying no code
49
+ * (client.ts, the `FrameType.Goodbye` branch), so the message literal is the
50
+ * only discriminator available. Asked upstream for a stable `code` on that
51
+ * error; until it exists this match is the seam and will fail open (no
52
+ * disposition appended) rather than misclassify.
53
+ */
54
+ function isRouteGoodbyeError(error) {
55
+ if (!(error instanceof SubcError))
56
+ return false;
57
+ // Two client generations mint the GOODBYE failure differently: the shipped
58
+ // 0.5.0 line throws it BARE (no code), while the current subc-client source
59
+ // stamps code "route_closed". Match both so a client upgrade cannot
60
+ // silently stop the unknown-outcome disposition from being appended — a
61
+ // false negative here recreates the blind re-run this contract exists to
62
+ // prevent. "route closed by closeRoute" (same code in newer clients) is a
63
+ // deliberate local close, not a daemon GOODBYE: outcome-known, excluded by
64
+ // the message check on the coded arm.
65
+ if (error.code === undefined) {
66
+ return error.message.includes("route closed by subc");
67
+ }
68
+ return error.code === "route_closed" && error.message.includes("route closed by subc");
69
+ }
70
+ function isTransportClassError(error) {
71
+ return (isBridgeTransportTimeout(error) ||
72
+ isConsumerReconnectTransient(error) ||
73
+ error instanceof StaleRouteHandleError ||
74
+ error instanceof SubcRootGenerationExpiredError ||
75
+ error instanceof SubcRootReapedError);
76
+ }
77
+ /**
78
+ * Append agent-facing recovery guidance without changing the original error
79
+ * object, class, code, or retry behavior. Two dispositions exist: a route
80
+ * GOODBYE appends the unknown-outcome guidance on EVERY command (checked
81
+ * first), and bash transport failures append the re-run guidance. Commands
82
+ * matching neither retain their errors untouched.
83
+ */
84
+ export function adaptToolError(command, error) {
85
+ if (!(error instanceof Error))
86
+ return error;
87
+ // Checked before the bash branch, and applied to every command: a GOODBYE'd
88
+ // call has an unknown outcome, so BASH_TRANSPORT_DISPOSITION's "no task was
89
+ // created, re-run the command" would be actively wrong here.
90
+ if (isRouteGoodbyeError(error)) {
91
+ if (error.message.includes(SUBC_MODULE_RESTART_DISPOSITION))
92
+ return error;
93
+ error.message = error.message
94
+ ? `${error.message} ${SUBC_MODULE_RESTART_DISPOSITION}`
95
+ : SUBC_MODULE_RESTART_DISPOSITION;
96
+ return error;
97
+ }
98
+ if (command !== "bash" || !isTransportClassError(error))
99
+ return error;
100
+ if (error.message.includes(BASH_TRANSPORT_DISPOSITION))
101
+ return error;
102
+ error.message = error.message
103
+ ? `${error.message} ${BASH_TRANSPORT_DISPOSITION}`
104
+ : BASH_TRANSPORT_DISPOSITION;
105
+ return error;
106
+ }
23
107
  //# sourceMappingURL=error-contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-contract.js","sourceRoot":"","sources":["../src/error-contract.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAS;IACb,QAAQ,CAA0B;IAG3C,YAAY,OAAe,EAAE,IAAY,EAAE,QAAiC;QAC1E,MAAM,KAAK,GAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC7D,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAe,EACf,QAAiC;IAEjC,MAAM,IAAI,GACR,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;IAClG,MAAM,OAAO,GACX,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QACjE,CAAC,CAAC,QAAQ,CAAC,OAAO;QAClB,CAAC,CAAC,GAAG,OAAO,SAAS,CAAC;IAC1B,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"error-contract.js","sourceRoot":"","sources":["../src/error-contract.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -12,6 +12,7 @@ export { commandInvokesCodeSearch, maybeAppendConflictsHint, maybeAppendGrepSear
12
12
  export { resolveBashKillTimeout } from "./bash-timeout.js";
13
13
  export type { BashCompletedPayload, BashLongRunningPayload, BridgeOptions, BridgeRequestOptions, ConfigureDroppedKey, ConfigureWarning, ConfigureWarningsContext, StatusSnapshot, } from "./bridge.js";
14
14
  export { BinaryBridge, BridgeTransportTimeoutError, compareSemver, isBridgeTransportTimeout, tagStderrLine, } from "./bridge.js";
15
+ export { getAftBinaryCacheDir, getAftCacheRoot, getAftLspBinariesDir, getAftLspPackagesDir, } from "./cache-paths.js";
15
16
  export type { CallgraphFormatOptions, CallgraphTheme } from "./callgraph-format.js";
16
17
  export { formatCallgraphSections, PLAIN_CALLGRAPH_THEME } from "./callgraph-format.js";
17
18
  export { coerceAliasedStringParam, coerceBoolean, coerceOptionalInt, coerceStringArray, coerceTargetParam, isEmptyParam, } from "./coerce.js";
@@ -24,7 +25,7 @@ export type { RotatingLogOptions } from "./durable-log.js";
24
25
  export { DEFAULT_LOG_BYTES, DEFAULT_LOG_GENERATIONS, RotatingLogSink, resolveAftLogPath, resolveAftStorageRoot, } from "./durable-log.js";
25
26
  export type { EditSummaryInput } from "./edit-summary.js";
26
27
  export { formatEditSummary } from "./edit-summary.js";
27
- export { AftToolError, type AftToolErrorCause, toolErrorFromResponse } from "./error-contract.js";
28
+ export { AftToolError, type AftToolErrorCause, adaptToolError, BASH_TRANSPORT_DISPOSITION, toolErrorFromResponse, } from "./error-contract.js";
28
29
  export { compressionSavingsPercent, formatTokenCount } from "./format.js";
29
30
  export { stripJsoncSymbols } from "./jsonc.js";
30
31
  export type { Logger, LogMeta } from "./logger.js";
@@ -45,7 +46,7 @@ export { findBinary, findBinarySync, isNativeExecutable, platformKey } from "./r
45
46
  export { RevivableTransportPool } from "./revivable-transport.js";
46
47
  export type { StatusBarCounts, StatusBarEmitState } from "./status-bar.js";
47
48
  export { createStatusBarEmitState, formatStatusBar, parseStatusBarCounts, STATUS_BAR_HEARTBEAT_CALLS, shouldEmitStatusBar, statusBarLine, } from "./status-bar.js";
48
- export { SubcTransportPool, type SubcTransportPoolOptions } from "./subc-transport.js";
49
+ export { type BgNudgeRef, resolveBridgeForNudge, SubcTransportPool, type SubcTransportPoolOptions, } from "./subc-transport.js";
49
50
  export type { ReadFooterOptions } from "./tool-format.js";
50
51
  export { formatBridgeErrorMessage, formatReadFooter } from "./tool-format.js";
51
52
  export type { AftProjectTransport, AftTransport, AftTransportOptions, AftTransportPool, ToolCallArguments, ToolCallOptions, ToolCallResult, } from "./transport.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -14,19 +14,20 @@ export { commandInvokesCodeSearch, maybeAppendConflictsHint, maybeAppendGrepSear
14
14
  export { resolveBashKillTimeout } from "./bash-timeout.js";
15
15
  // --- transport ---
16
16
  export { BinaryBridge, BridgeTransportTimeoutError, compareSemver, isBridgeTransportTimeout, tagStderrLine, } from "./bridge.js";
17
+ // --- cache paths and binary resolution ---
18
+ export { getAftBinaryCacheDir, getAftCacheRoot, getAftLspBinariesDir, getAftLspPackagesDir, } from "./cache-paths.js";
17
19
  export { formatCallgraphSections, PLAIN_CALLGRAPH_THEME } from "./callgraph-format.js";
18
20
  export { coerceAliasedStringParam, coerceBoolean, coerceOptionalInt, coerceStringArray, coerceTargetParam, isEmptyParam, } from "./coerce.js";
19
21
  export { LONG_RUNNING_COMMAND_TIMEOUT_MS, timeoutForCommand } from "./command-timeouts.js";
20
22
  // --- shared harness config keys ---
21
23
  export { OPENCODE_ONLY_KEYS, PI_ONLY_KEYS, stripHarnessSpecificConfigKeys, } from "./config-keys.js";
22
24
  export { formatDroppedKeyWarnings, inlineUserConfigTier, readConfigTiers } from "./config-tiers.js";
23
- // --- binary resolution ---
24
25
  export { downloadBinary, ensureBinary, getBinaryName, getCacheDir, getCachedBinaryPath, } from "./downloader.js";
25
26
  // --- durable module/plugin logs ---
26
27
  export { DEFAULT_LOG_BYTES, DEFAULT_LOG_GENERATIONS, RotatingLogSink, resolveAftLogPath, resolveAftStorageRoot, } from "./durable-log.js";
27
28
  export { formatEditSummary } from "./edit-summary.js";
28
29
  // --- host-neutral agent tool errors ---
29
- export { AftToolError, toolErrorFromResponse } from "./error-contract.js";
30
+ export { AftToolError, adaptToolError, BASH_TRANSPORT_DISPOSITION, toolErrorFromResponse, } from "./error-contract.js";
30
31
  // --- compact UI formatting ---
31
32
  export { compressionSavingsPercent, formatTokenCount } from "./format.js";
32
33
  // --- jsonc helpers ---
@@ -46,7 +47,7 @@ export { canonicalizeProjectRoot, projectRootKeyHash } from "./project-identity.
46
47
  export { findBinary, findBinarySync, isNativeExecutable, platformKey } from "./resolver.js";
47
48
  export { RevivableTransportPool } from "./revivable-transport.js";
48
49
  export { createStatusBarEmitState, formatStatusBar, parseStatusBarCounts, STATUS_BAR_HEARTBEAT_CALLS, shouldEmitStatusBar, statusBarLine, } from "./status-bar.js";
49
- export { SubcTransportPool } from "./subc-transport.js";
50
+ export { resolveBridgeForNudge, SubcTransportPool, } from "./subc-transport.js";
50
51
  export { formatBridgeErrorMessage, formatReadFooter } from "./tool-format.js";
51
52
  export { createAftTransportPool, } from "./transport-factory.js";
52
53
  export { formatZoomMultiTargetResult, formatZoomText, isRustZoomBatchEnvelope, unwrapRustZoomBatchEnvelope, } from "./zoom-format.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,196 @@
1
+ /** A canonical project root. The registry never derives identity by parsing it. */
2
+ declare const canonicalRootPathBrand: unique symbol;
3
+ export type CanonicalRootPath = string & {
4
+ readonly [canonicalRootPathBrand]: "CanonicalRootPath";
5
+ };
6
+ /** A pool-lifetime root generation. Generations are strictly increasing per root. */
7
+ declare const rootGenerationBrand: unique symbol;
8
+ export type RootGeneration = number & {
9
+ readonly [rootGenerationBrand]: "RootGeneration";
10
+ };
11
+ /** A realm-local concrete pool identity. IDs are never reused by a registry. */
12
+ declare const concretePoolIdBrand: unique symbol;
13
+ export type ConcretePoolId = string & {
14
+ readonly [concretePoolIdBrand]: "ConcretePoolId";
15
+ };
16
+ /**
17
+ * Immutable provenance for one registration handle. The object identity is the
18
+ * deregistration authority; the serial fields make the provenance inspectable
19
+ * without treating a pool object as a registration token.
20
+ */
21
+ export interface RegistrationIdentity {
22
+ readonly concretePoolId: ConcretePoolId;
23
+ readonly registrationSequence: number;
24
+ }
25
+ export declare function asCanonicalRootPath(root: string): CanonicalRootPath;
26
+ export declare function asRootGeneration(generation: number): RootGeneration;
27
+ export declare function asConcretePoolId(id: string): ConcretePoolId;
28
+ export type LifecycleCloseCause = "sweep" | "explicit";
29
+ export type LifecycleRootState = "live" | "reaping" | "tombstoned";
30
+ /** Counts returned by a concrete pool after it has detached its indexed records. */
31
+ export interface LifecycleTeardownResult {
32
+ readonly tornDownSessionCount?: number;
33
+ readonly tornDownFacadeCount?: number;
34
+ }
35
+ /** The concrete-pool portion of the lifecycle contract. */
36
+ export interface LifecyclePool {
37
+ closeProjectRoot(root: CanonicalRootPath, generation: RootGeneration): unknown;
38
+ }
39
+ export interface LifecyclePoolRegistrationOptions {
40
+ readonly reapingEnabled: boolean;
41
+ readonly evictOuterFacade: (root: CanonicalRootPath, generation: RootGeneration) => void;
42
+ }
43
+ export interface LifecyclePoolRegistration {
44
+ readonly concretePoolId: ConcretePoolId;
45
+ readonly reapingEnabled: boolean;
46
+ readonly registrationIdentity: RegistrationIdentity;
47
+ /** Short alias for callers that refer to the provenance token as identity. */
48
+ readonly identity: RegistrationIdentity;
49
+ deregister(): void;
50
+ }
51
+ export type LifecycleStatResult = boolean | {
52
+ readonly exists?: boolean;
53
+ } | unknown;
54
+ export type LifecycleStat = (root: CanonicalRootPath, concretePoolId: ConcretePoolId, generation: RootGeneration) => LifecycleStatResult | Promise<LifecycleStatResult>;
55
+ export type LifecycleDemandCheck = (root: CanonicalRootPath, concretePoolId: ConcretePoolId) => boolean | {
56
+ readonly exists?: boolean;
57
+ } | Promise<boolean | {
58
+ readonly exists?: boolean;
59
+ }>;
60
+ export interface LifecycleTimerSeam {
61
+ setInterval(callback: () => void, delayMs: number): unknown;
62
+ clearInterval(handle: unknown): void;
63
+ }
64
+ export interface RootReapedLifecycleEvent {
65
+ readonly type: "subc_root_reaped";
66
+ readonly realm: string;
67
+ readonly concretePoolId: ConcretePoolId;
68
+ readonly canonicalRoot: CanonicalRootPath;
69
+ readonly generation: RootGeneration;
70
+ readonly consecutiveAbsenceCount: number;
71
+ readonly tornDownSessionCount: number;
72
+ readonly tornDownFacadeCount: number;
73
+ readonly cause: LifecycleCloseCause;
74
+ }
75
+ export interface RootGenerationRejectedLifecycleEvent {
76
+ readonly type: "subc_root_generation_rejected";
77
+ readonly realm: string;
78
+ readonly concretePoolId: ConcretePoolId;
79
+ readonly canonicalRoot: CanonicalRootPath;
80
+ readonly expectedGeneration: RootGeneration;
81
+ readonly currentGeneration?: RootGeneration;
82
+ readonly boundary: string;
83
+ }
84
+ export type LifecycleEvent = RootReapedLifecycleEvent | RootGenerationRejectedLifecycleEvent;
85
+ export interface LifecycleRegistryOptions {
86
+ /** Label attached to realm-local metrics and lifecycle events. */
87
+ readonly realm?: string;
88
+ /** Production cadence. Tests normally replace the timer and use a short value. */
89
+ readonly intervalMs?: number;
90
+ readonly timer?: LifecycleTimerSeam;
91
+ readonly setInterval?: LifecycleTimerSeam["setInterval"];
92
+ readonly clearInterval?: LifecycleTimerSeam["clearInterval"];
93
+ /** A stat that resolves for an existing root and rejects with ENOENT when absent. */
94
+ readonly stat?: LifecycleStat;
95
+ /** Positive demand is the only signal that permits an initial or successor root. */
96
+ readonly demandCheck?: LifecycleDemandCheck;
97
+ readonly onEvent?: (event: LifecycleEvent) => void;
98
+ }
99
+ export interface LifecycleRootSnapshot {
100
+ readonly concretePoolId: ConcretePoolId;
101
+ readonly registrationIdentity: RegistrationIdentity;
102
+ readonly canonicalRoot: CanonicalRootPath;
103
+ readonly generation: RootGeneration;
104
+ readonly state: LifecycleRootState;
105
+ readonly consecutiveAbsences: number;
106
+ }
107
+ export interface LifecycleRegistrationSnapshot {
108
+ readonly concretePoolId: ConcretePoolId;
109
+ readonly reapingEnabled: boolean;
110
+ readonly roots: readonly LifecycleRootSnapshot[];
111
+ }
112
+ export interface LifecycleRegistrySnapshot {
113
+ readonly realm: string;
114
+ readonly intervalMs: number;
115
+ readonly timerActive: boolean;
116
+ readonly registrations: readonly LifecycleRegistrationSnapshot[];
117
+ }
118
+ export declare const DEFAULT_LIFECYCLE_INTERVAL_MS: number;
119
+ /**
120
+ * One lifecycle registry per JavaScript module realm.
121
+ *
122
+ * The registry deliberately knows only the concrete pool's root-close seam. It
123
+ * owns root generations, absence observations, and transition ownership, while
124
+ * the concrete pool remains responsible for indexed session and route cleanup.
125
+ */
126
+ export declare class LifecycleRegistry {
127
+ readonly realm: string;
128
+ readonly intervalMs: number;
129
+ private readonly registrations;
130
+ private readonly registrationByPool;
131
+ private readonly nextGenerationByRoot;
132
+ private nextConcretePoolNumber;
133
+ private nextRegistrationSequence;
134
+ private readonly timer;
135
+ private readonly statRoot;
136
+ private readonly demand;
137
+ private readonly onEvent?;
138
+ private intervalHandle;
139
+ private sweepInFlight;
140
+ constructor(options?: LifecycleRegistryOptions);
141
+ /** Register an unregistered concrete pool and permanently bind its reapingEnabled setting. */
142
+ registerLifecyclePool(pool: LifecyclePool, options: LifecyclePoolRegistrationOptions): LifecyclePoolRegistration;
143
+ /** Functional form used by construction sites that keep a registry instance. */
144
+ registerPool(pool: LifecyclePool, options: LifecyclePoolRegistrationOptions): LifecyclePoolRegistration;
145
+ /** Register a root before its facade is exposed. Repeated live registration is idempotent. */
146
+ registerRoot(poolId: ConcretePoolId, root: CanonicalRootPath): RootGeneration;
147
+ /**
148
+ * Get an existing live generation without creating one. This is the only
149
+ * non-creating lookup used by status and background paths.
150
+ */
151
+ currentGeneration(poolId: ConcretePoolId, root: CanonicalRootPath): RootGeneration | undefined;
152
+ isTombstoned(poolId: ConcretePoolId, root: CanonicalRootPath, generation: RootGeneration): boolean;
153
+ isCurrentRegistration(identity: RegistrationIdentity): boolean;
154
+ isCurrentLiveGeneration(poolId: ConcretePoolId, root: CanonicalRootPath, generation: RootGeneration): boolean;
155
+ getRootSnapshot(poolId: ConcretePoolId, root: CanonicalRootPath): LifecycleRootSnapshot | undefined;
156
+ /** Return only roots visible to lifecycle operations; tombstones are retained until close settles. */
157
+ rootSnapshots(poolId?: ConcretePoolId): LifecycleRootSnapshot[];
158
+ snapshot(): LifecycleRegistrySnapshot;
159
+ /** Alias for callers that use status terminology. */
160
+ status(): LifecycleRegistrySnapshot;
161
+ /**
162
+ * Demand gate for initial and successor creation. A live root is returned
163
+ * without repeating the filesystem check; absent roots require a fresh positive
164
+ * result and then receive exactly one greater generation.
165
+ */
166
+ ensureRootForDemand(poolId: ConcretePoolId, root: CanonicalRootPath): Promise<RootGeneration | undefined>;
167
+ demandRoot(poolId: ConcretePoolId, root: CanonicalRootPath): Promise<RootGeneration | undefined>;
168
+ getBridgeDemand(poolId: ConcretePoolId, root: CanonicalRootPath): Promise<RootGeneration | undefined>;
169
+ /**
170
+ * Coordinate one generation's close. The live-to-reaping transition, tombstone,
171
+ * outer eviction, and concrete close invocation all happen before the returned
172
+ * promise can yield. Concurrent requests coalesce on the same close promise.
173
+ */
174
+ requestProjectRootClose(poolId: ConcretePoolId, root: CanonicalRootPath, expectedGeneration: RootGeneration, cause?: LifecycleCloseCause): Promise<void>;
175
+ /** Coalesce concurrent ticks and observe only enabled, live registrations. */
176
+ sweep(): Promise<void>;
177
+ /** Alias used by timer seams and tests. */
178
+ sweepNow(): Promise<void>;
179
+ /** Emit a generation-rejection event when a lifecycle boundary refuses the expected generation. */
180
+ recordGenerationRejection(poolId: ConcretePoolId, root: CanonicalRootPath, expectedGeneration: RootGeneration, boundary: string): void;
181
+ rejectGeneration(poolId: ConcretePoolId, root: CanonicalRootPath, expectedGeneration: RootGeneration, boundary: string): void;
182
+ private runSweep;
183
+ private currentRegistration;
184
+ private currentRoot;
185
+ private snapshotRoot;
186
+ private finishRootClose;
187
+ private deregisterInternal;
188
+ private refreshTimer;
189
+ private emit;
190
+ }
191
+ /** Create a lifecycle registry for callers that do not inject one; use getLifecycleRegistry() for the shared default. */
192
+ export declare function createLifecycleRegistry(options?: LifecycleRegistryOptions): LifecycleRegistry;
193
+ export declare function getLifecycleRegistry(): LifecycleRegistry;
194
+ export { LifecycleRegistry as SubcLifecycleRegistry };
195
+ export declare function registerLifecyclePool(pool: LifecyclePool, options: LifecyclePoolRegistrationOptions): LifecyclePoolRegistration;
196
+ //# sourceMappingURL=lifecycle-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-registry.d.ts","sourceRoot":"","sources":["../src/lifecycle-registry.ts"],"names":[],"mappings":"AAEA,mFAAmF;AACnF,OAAO,CAAC,MAAM,sBAAsB,EAAE,OAAO,MAAM,CAAC;AACpD,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG;IACvC,QAAQ,CAAC,CAAC,sBAAsB,CAAC,EAAE,mBAAmB,CAAC;CACxD,CAAC;AAEF,qFAAqF;AACrF,OAAO,CAAC,MAAM,mBAAmB,EAAE,OAAO,MAAM,CAAC;AACjD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG;IACpC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,gBAAgB,CAAC;CAClD,CAAC;AAEF,gFAAgF;AAChF,OAAO,CAAC,MAAM,mBAAmB,EAAE,OAAO,MAAM,CAAC;AACjD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG;IACpC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,gBAAgB,CAAC;CAClD,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAEnE;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAKnE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,CAE3D;AAED,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,UAAU,CAAC;AACvD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;AAEnE,oFAAoF;AACpF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC5B,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC;CAChF;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,KAAK,IAAI,CAAC;CAC1F;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACpD,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,UAAU,IAAI,IAAI,CAAC;CACpB;AAED,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC;AACpF,MAAM,MAAM,aAAa,GAAG,CAC1B,IAAI,EAAE,iBAAiB,EACvB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,cAAc,KACvB,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AACxD,MAAM,MAAM,oBAAoB,GAAG,CACjC,IAAI,EAAE,iBAAiB,EACvB,cAAc,EAAE,cAAc,KAC3B,OAAO,GAAG;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,GAAG;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAEhG,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5D,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,cAAc,CAAC;IAC5C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,cAAc,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,cAAc,GAAG,wBAAwB,GAAG,oCAAoC,CAAC;AAE7F,MAAM,WAAW,wBAAwB;IACvC,kEAAkE;IAClE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACzD,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC7D,qFAAqF;IACrF,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAC9B,oFAAoF;IACpF,QAAQ,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACpD,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,SAAS,6BAA6B,EAAE,CAAC;CAClE;AAED,eAAO,MAAM,6BAA6B,QAAgB,CAAC;AA4E3D;;;;;;GAMG;AACH,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmD;IACjF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA+C;IAClF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA6B;IAClE,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,wBAAwB,CAAK;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAkC;IAC3D,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAA8B;gBAEvC,OAAO,GAAE,wBAA6B;IAqBlD,8FAA8F;IAC9F,qBAAqB,CACnB,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,gCAAgC,GACxC,yBAAyB;IAiD5B,gFAAgF;IAChF,YAAY,CACV,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,gCAAgC,GACxC,yBAAyB;IAI5B,8FAA8F;IAC9F,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,GAAG,cAAc;IAgC7E;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,GAAG,cAAc,GAAG,SAAS;IAI9F,YAAY,CACV,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,iBAAiB,EACvB,UAAU,EAAE,cAAc,GACzB,OAAO;IAKV,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO;IAK9D,uBAAuB,CACrB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,iBAAiB,EACvB,UAAU,EAAE,cAAc,GACzB,OAAO;IAKV,eAAe,CACb,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,iBAAiB,GACtB,qBAAqB,GAAG,SAAS;IAKpC,sGAAsG;IACtG,aAAa,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,qBAAqB,EAAE;IAW/D,QAAQ,IAAI,yBAAyB;IAarC,qDAAqD;IACrD,MAAM,IAAI,yBAAyB;IAInC;;;;OAIG;IACG,mBAAmB,CACvB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAuBtC,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAIhG,eAAe,CACb,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAItC;;;;OAIG;IACH,uBAAuB,CACrB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,iBAAiB,EACvB,kBAAkB,EAAE,cAAc,EAClC,KAAK,GAAE,mBAAgC,GACtC,OAAO,CAAC,IAAI,CAAC;IA6ChB,8EAA8E;IAC9E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAetB,2CAA2C;IAC3C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,mGAAmG;IACnG,yBAAyB,CACvB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,iBAAiB,EACvB,kBAAkB,EAAE,cAAc,EAClC,QAAQ,EAAE,MAAM,GACf,IAAI;IAaP,gBAAgB,CACd,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,iBAAiB,EACvB,kBAAkB,EAAE,cAAc,EAClC,QAAQ,EAAE,MAAM,GACf,IAAI;YAIO,QAAQ;IAmDtB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,IAAI;CAOb;AAID,yHAAyH;AACzH,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,wBAA6B,GAAG,iBAAiB,CAEjG;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,CAExD;AAED,OAAO,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,CAAC;AAEtD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,gCAAgC,GACxC,yBAAyB,CAE3B"}