@claudexor/schema 3.6.0 → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/dist/agent-capabilities.d.ts +48 -16
  2. package/dist/agent-capabilities.d.ts.map +1 -1
  3. package/dist/agent-capabilities.js +4 -0
  4. package/dist/agent-capabilities.js.map +1 -1
  5. package/dist/config.d.ts +30 -28
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +7 -6
  8. package/dist/config.js.map +1 -1
  9. package/dist/control-harness-list.d.ts +215 -19
  10. package/dist/control-harness-list.d.ts.map +1 -1
  11. package/dist/control-operation-responses.d.ts +16 -13
  12. package/dist/control-operation-responses.d.ts.map +1 -1
  13. package/dist/control-run-detail.d.ts +33 -46
  14. package/dist/control-run-detail.d.ts.map +1 -1
  15. package/dist/control-run-detail.js +10 -19
  16. package/dist/control-run-detail.js.map +1 -1
  17. package/dist/control-run-execution.d.ts +16 -0
  18. package/dist/control-run-execution.d.ts.map +1 -0
  19. package/dist/control-run-execution.js +19 -0
  20. package/dist/control-run-execution.js.map +1 -0
  21. package/dist/control-run-failure.d.ts +4 -4
  22. package/dist/control-run-failure.d.ts.map +1 -1
  23. package/dist/control-run-failure.js +6 -4
  24. package/dist/control-run-failure.js.map +1 -1
  25. package/dist/control-run-retry.d.ts +21 -0
  26. package/dist/control-run-retry.d.ts.map +1 -1
  27. package/dist/control-run-retry.js +6 -0
  28. package/dist/control-run-retry.js.map +1 -1
  29. package/dist/control-trust.d.ts +13 -13
  30. package/dist/control.d.ts +365 -36
  31. package/dist/control.d.ts.map +1 -1
  32. package/dist/control.js +12 -18
  33. package/dist/control.js.map +1 -1
  34. package/dist/credential-profile-snapshot.d.ts +486 -52
  35. package/dist/credential-profile-snapshot.d.ts.map +1 -1
  36. package/dist/credential-profile.d.ts +113 -42
  37. package/dist/credential-profile.d.ts.map +1 -1
  38. package/dist/credential-profile.js +58 -30
  39. package/dist/credential-profile.js.map +1 -1
  40. package/dist/harness-confinement.d.ts +37 -30
  41. package/dist/harness-confinement.d.ts.map +1 -1
  42. package/dist/harness-confinement.js +18 -26
  43. package/dist/harness-confinement.js.map +1 -1
  44. package/dist/harness.d.ts +265 -102
  45. package/dist/harness.d.ts.map +1 -1
  46. package/dist/harness.js +3 -38
  47. package/dist/harness.js.map +1 -1
  48. package/dist/mcp-run-result.d.ts +10 -10
  49. package/dist/platform-auth.d.ts +196 -0
  50. package/dist/platform-auth.d.ts.map +1 -0
  51. package/dist/platform-auth.js +142 -0
  52. package/dist/platform-auth.js.map +1 -0
  53. package/dist/primitives.d.ts +6 -1
  54. package/dist/primitives.d.ts.map +1 -1
  55. package/dist/primitives.js +8 -2
  56. package/dist/primitives.js.map +1 -1
  57. package/dist/quota.d.ts +9 -9
  58. package/dist/quota.d.ts.map +1 -1
  59. package/dist/quota.js +3 -0
  60. package/dist/quota.js.map +1 -1
  61. package/dist/readiness.d.ts +192 -15
  62. package/dist/readiness.d.ts.map +1 -1
  63. package/dist/readiness.js +12 -0
  64. package/dist/readiness.js.map +1 -1
  65. package/dist/run-strategy.d.ts +51 -3
  66. package/dist/run-strategy.d.ts.map +1 -1
  67. package/dist/run-strategy.js +58 -2
  68. package/dist/run-strategy.js.map +1 -1
  69. package/dist/setup-login.d.ts +5 -5
  70. package/dist/setup.d.ts +102 -95
  71. package/dist/setup.d.ts.map +1 -1
  72. package/dist/setup.js +29 -5
  73. package/dist/setup.js.map +1 -1
  74. package/dist/task.d.ts +641 -19
  75. package/dist/task.d.ts.map +1 -1
  76. package/dist/task.js +40 -5
  77. package/dist/task.js.map +1 -1
  78. package/dist/telemetry.d.ts +2 -2
  79. package/dist/telemetry.js +3 -3
  80. package/dist/telemetry.js.map +1 -1
  81. package/dist/thread.d.ts +1 -1
  82. package/dist/thread.js +2 -2
  83. package/dist/thread.js.map +1 -1
  84. package/generated/AgentCapabilityCatalog.schema.json +27 -2
  85. package/generated/ControlCredentialProfileCreateRequest.schema.json +1 -1
  86. package/generated/ControlCredentialProfileCreateResponse.schema.json +13 -4
  87. package/generated/ControlCredentialProfileDeleteResponse.schema.json +27 -3
  88. package/generated/ControlCredentialProfileUpdateResponse.schema.json +13 -4
  89. package/generated/ControlCredentialProfilesQueryResponse.schema.json +142 -8
  90. package/generated/ControlCredentialProfilesResponse.schema.json +13 -4
  91. package/generated/ControlCredentialProfilesSnapshotResponse.schema.json +142 -8
  92. package/generated/ControlHarnessListResponse.schema.json +127 -3
  93. package/generated/ControlQuotaResponse.schema.json +2 -1
  94. package/generated/ControlRunAgainDraft.schema.json +20 -3
  95. package/generated/ControlRunDetail.schema.json +10 -8
  96. package/generated/ControlRunListResponse.schema.json +6 -4
  97. package/generated/ControlRunStartRequest.schema.json +5 -2
  98. package/generated/ControlRunSummary.schema.json +6 -4
  99. package/generated/ControlSetupJob.schema.json +5 -1
  100. package/generated/ControlSetupJobCreateRequest.schema.json +1 -1
  101. package/generated/ControlSetupJobEvent.schema.json +5 -1
  102. package/generated/ControlSetupJobListResponse.schema.json +5 -1
  103. package/generated/ControlSetupJobSnapshot.schema.json +5 -1
  104. package/generated/ControlThread.schema.json +3 -3
  105. package/generated/ControlThreadCreateRequest.schema.json +0 -1
  106. package/generated/ControlThreadDetail.schema.json +3 -3
  107. package/generated/ControlThreadListResponse.schema.json +3 -3
  108. package/generated/ControlThreadTurnRequest.schema.json +0 -1
  109. package/generated/ControlThreadUpdateRequest.schema.json +1 -2
  110. package/generated/ControlTrustListResponse.schema.json +0 -1
  111. package/generated/ControlTrustState.schema.json +0 -1
  112. package/generated/ControlTrustUpdateRequest.schema.json +0 -1
  113. package/generated/CredentialProfile.schema.json +3 -3
  114. package/generated/CredentialProfileStatus.schema.json +10 -1
  115. package/generated/GlobalConfig.schema.json +4 -4
  116. package/generated/HarnessManifest.schema.json +101 -3
  117. package/generated/HarnessStatusDto.schema.json +127 -3
  118. package/generated/McpRunHandleResult.schema.json +4 -2
  119. package/generated/McpRunToolResult.schema.json +4 -2
  120. package/generated/RunFailure.schema.json +4 -2
  121. package/generated/RunTelemetry.schema.json +5 -5
  122. package/generated/TaskContract.schema.json +8 -8
  123. package/generated/Thread.schema.json +3 -3
  124. package/generated/TrustConfig.schema.json +0 -2
  125. package/package.json +2 -2
@@ -1,30 +1,6 @@
1
1
  import { z } from "zod/v3";
2
- /**
3
- * An APPLIED filesystem boundary, not a request for one.
4
- *
5
- * `verified_denied_path` is the path the profile was executed against before
6
- * the harness ran: the read was refused on this host, for this attempt. A field
7
- * that only said "confined: true" would be the promise this whole mechanism
8
- * exists to replace — which is why the two fields are REQUIRED together and a
9
- * mechanism name without its proof is not representable in this type.
10
- */
11
- export declare const HarnessConfinement: z.ZodObject<{
12
- mechanism: z.ZodString;
13
- profile: z.ZodString;
14
- profile_digest: z.ZodString;
15
- verified_denied_path: z.ZodString;
16
- }, "strip", z.ZodTypeAny, {
17
- mechanism: string;
18
- profile: string;
19
- profile_digest: string;
20
- verified_denied_path: string;
21
- }, {
22
- mechanism: string;
23
- profile: string;
24
- profile_digest: string;
25
- verified_denied_path: string;
26
- }>;
27
- export type HarnessConfinement = z.infer<typeof HarnessConfinement>;
2
+ /** One schema-owned statement used by every new delegated mutating attempt. */
3
+ export declare const DELIBERATE_NO_OUTER_BOUNDARY_REASON = "Claudexor deliberately applies no additional outer OS filesystem boundary; the native harness access mode remains in effect.";
28
4
  /**
29
5
  * The confinement half of an attempt record, as every reader sees it.
30
6
  *
@@ -41,6 +17,37 @@ export interface AppliedConfinementRecord {
41
17
  /** Why NO boundary was applied; present exactly when the boundary is absent. */
42
18
  confinement_unavailable_reason?: unknown;
43
19
  }
20
+ /** Bounded decoder for the access/evidence block in historical attempt.yaml
21
+ * artifacts. New writers still accept active AccessProfile only. */
22
+ export declare const RecordedAppliedAttemptFacts: z.ZodObject<{
23
+ harness_home_isolated: z.ZodOptional<z.ZodBoolean>;
24
+ harness_home_dir: z.ZodNullable<z.ZodString>;
25
+ access_applied: z.ZodEnum<["readonly", "workspace_write", "full", "inherit_native", "external_sandbox_full"]>;
26
+ credential_profile_applied: z.ZodNullable<z.ZodString>;
27
+ confinement_mechanism: z.ZodNullable<z.ZodString>;
28
+ confinement_profile_digest: z.ZodNullable<z.ZodString>;
29
+ confinement_verified_denied_path: z.ZodNullable<z.ZodString>;
30
+ confinement_unavailable_reason: z.ZodNullable<z.ZodString>;
31
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
32
+ harness_home_isolated: z.ZodOptional<z.ZodBoolean>;
33
+ harness_home_dir: z.ZodNullable<z.ZodString>;
34
+ access_applied: z.ZodEnum<["readonly", "workspace_write", "full", "inherit_native", "external_sandbox_full"]>;
35
+ credential_profile_applied: z.ZodNullable<z.ZodString>;
36
+ confinement_mechanism: z.ZodNullable<z.ZodString>;
37
+ confinement_profile_digest: z.ZodNullable<z.ZodString>;
38
+ confinement_verified_denied_path: z.ZodNullable<z.ZodString>;
39
+ confinement_unavailable_reason: z.ZodNullable<z.ZodString>;
40
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
41
+ harness_home_isolated: z.ZodOptional<z.ZodBoolean>;
42
+ harness_home_dir: z.ZodNullable<z.ZodString>;
43
+ access_applied: z.ZodEnum<["readonly", "workspace_write", "full", "inherit_native", "external_sandbox_full"]>;
44
+ credential_profile_applied: z.ZodNullable<z.ZodString>;
45
+ confinement_mechanism: z.ZodNullable<z.ZodString>;
46
+ confinement_profile_digest: z.ZodNullable<z.ZodString>;
47
+ confinement_verified_denied_path: z.ZodNullable<z.ZodString>;
48
+ confinement_unavailable_reason: z.ZodNullable<z.ZodString>;
49
+ }, z.ZodTypeAny, "passthrough">>;
50
+ export type RecordedAppliedAttemptFacts = z.infer<typeof RecordedAppliedAttemptFacts>;
44
51
  /**
45
52
  * Whether an attempt record proves a boundary was actually enforced.
46
53
  *
@@ -51,14 +58,14 @@ export interface AppliedConfinementRecord {
51
58
  * the mechanism's name.
52
59
  */
53
60
  export declare function confinementBoundaryProven(record: AppliedConfinementRecord | null): boolean;
54
- export declare const ContainmentKind: z.ZodEnum<["env_or_file_injection", "scoped_home_keychain_bridge", "host_user_context", "process_sandbox", "container"]>;
61
+ export declare const ContainmentKind: z.ZodEnum<["env_or_file_injection", "scoped_home_keychain_bridge", "private_per_profile_keychain", "host_user_context", "process_sandbox", "container"]>;
55
62
  export type ContainmentKind = z.infer<typeof ContainmentKind>;
56
63
  export declare const IsolationCapabilities: z.ZodDefault<z.ZodObject<{
57
- supported_containment: z.ZodDefault<z.ZodArray<z.ZodEnum<["env_or_file_injection", "scoped_home_keychain_bridge", "host_user_context", "process_sandbox", "container"]>, "many">>;
64
+ supported_containment: z.ZodDefault<z.ZodArray<z.ZodEnum<["env_or_file_injection", "scoped_home_keychain_bridge", "private_per_profile_keychain", "host_user_context", "process_sandbox", "container"]>, "many">>;
58
65
  }, "strip", z.ZodTypeAny, {
59
- supported_containment: ("container" | "env_or_file_injection" | "host_user_context" | "process_sandbox" | "scoped_home_keychain_bridge")[];
66
+ supported_containment: ("container" | "env_or_file_injection" | "host_user_context" | "private_per_profile_keychain" | "process_sandbox" | "scoped_home_keychain_bridge")[];
60
67
  }, {
61
- supported_containment?: ("container" | "env_or_file_injection" | "host_user_context" | "process_sandbox" | "scoped_home_keychain_bridge")[] | undefined;
68
+ supported_containment?: ("container" | "env_or_file_injection" | "host_user_context" | "private_per_profile_keychain" | "process_sandbox" | "scoped_home_keychain_bridge")[] | undefined;
62
69
  }>>;
63
70
  export type IsolationCapabilities = z.infer<typeof IsolationCapabilities>;
64
71
  //# sourceMappingURL=harness-confinement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"harness-confinement.d.ts","sourceRoot":"","sources":["../src/harness-confinement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAkBmD,CAAC;AACnF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAwB;IACvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,gFAAgF;IAChF,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAC1C;AAID;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,wBAAwB,GAAG,IAAI,GAAG,OAAO,CAO1F;AAED,eAAO,MAAM,eAAe,0HAUzB,CAAC;AACJ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,qBAAqB;;;;;;GAQgC,CAAC;AACnE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"harness-confinement.d.ts","sourceRoot":"","sources":["../src/harness-confinement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,+EAA+E;AAC/E,eAAO,MAAM,mCAAmC,iIACgF,CAAC;AAEjI;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAwB;IACvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,gFAAgF;IAChF,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED;oEACoE;AACpE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAYoD,CAAC;AAC7F,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAItF;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,wBAAwB,GAAG,IAAI,GAAG,OAAO,CAO1F;AAED,eAAO,MAAM,eAAe,0JAWzB,CAAC;AACJ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,qBAAqB;;;;;;GAQgC,CAAC;AACnE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -1,31 +1,22 @@
1
1
  import { z } from "zod/v3";
2
- import { ContentHash } from "./primitives.js";
3
- /**
4
- * An APPLIED filesystem boundary, not a request for one.
5
- *
6
- * `verified_denied_path` is the path the profile was executed against before
7
- * the harness ran: the read was refused on this host, for this attempt. A field
8
- * that only said "confined: true" would be the promise this whole mechanism
9
- * exists to replace — which is why the two fields are REQUIRED together and a
10
- * mechanism name without its proof is not representable in this type.
11
- */
12
- export const HarnessConfinement = z
2
+ import { RecordedAccessProfile } from "./primitives.js";
3
+ /** One schema-owned statement used by every new delegated mutating attempt. */
4
+ export const DELIBERATE_NO_OUTER_BOUNDARY_REASON = "Claudexor deliberately applies no additional outer OS filesystem boundary; the native harness access mode remains in effect.";
5
+ /** Bounded decoder for the access/evidence block in historical attempt.yaml
6
+ * artifacts. New writers still accept active AccessProfile only. */
7
+ export const RecordedAppliedAttemptFacts = z
13
8
  .object({
14
- mechanism: z
15
- .string()
16
- .min(1)
17
- .describe("OPAQUE identifier of the OS mechanism that enforced the boundary. A reader must never branch on this value or on the host platform; the only question it may ask is whether a PROVEN boundary exists, which is this field AND verified_denied_path both present."),
18
- profile: z
19
- .string()
20
- .min(1)
21
- .describe("The exact policy the process was started under, in the mechanism's own encoding."),
22
- profile_digest: ContentHash.describe("Digest of the policy text, for the attempt record."),
23
- verified_denied_path: z
24
- .string()
25
- .min(1)
26
- .describe("Path proven unreadable under this policy before the harness was spawned."),
9
+ harness_home_isolated: z.boolean().optional(),
10
+ harness_home_dir: z.string().nullable(),
11
+ access_applied: RecordedAccessProfile,
12
+ credential_profile_applied: z.string().nullable(),
13
+ confinement_mechanism: z.string().nullable(),
14
+ confinement_profile_digest: z.string().nullable(),
15
+ confinement_verified_denied_path: z.string().nullable(),
16
+ confinement_unavailable_reason: z.string().nullable(),
27
17
  })
28
- .describe("An applied OS-enforced filesystem boundary for one harness process.");
18
+ .passthrough()
19
+ .describe("Applied access and boundary evidence read from a historical attempt artifact.");
29
20
  const nonEmpty = (value) => typeof value === "string" && value.length > 0;
30
21
  /**
31
22
  * Whether an attempt record proves a boundary was actually enforced.
@@ -47,11 +38,12 @@ export const ContainmentKind = z
47
38
  .enum([
48
39
  "env_or_file_injection",
49
40
  "scoped_home_keychain_bridge",
41
+ "private_per_profile_keychain",
50
42
  "host_user_context",
51
43
  "process_sandbox",
52
44
  "container",
53
45
  ])
54
- .describe("Isolation containment level an adapter supports for run environments, from env/file injection through scoped-HOME keychain bridging to process sandboxes and containers.");
46
+ .describe("Isolation containment level an adapter supports for run environments, from env/file injection through scoped-HOME keychain bridging or a private per-profile keychain to process sandboxes and containers.");
55
47
  export const IsolationCapabilities = z
56
48
  .object({
57
49
  supported_containment: z
@@ -1 +1 @@
1
- {"version":3,"file":"harness-confinement.js","sourceRoot":"","sources":["../src/harness-confinement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,kQAAkQ,CACnQ;IACH,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,kFAAkF,CAAC;IAC/F,cAAc,EAAE,WAAW,CAAC,QAAQ,CAAC,oDAAoD,CAAC;IAC1F,oBAAoB,EAAE,CAAC;SACpB,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,0EAA0E,CAAC;CACxF,CAAC;KACD,QAAQ,CAAC,qEAAqE,CAAC,CAAC;AAoBnF,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAE5F;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAuC;IAC/E,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,CACL,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC;QACtC,QAAQ,CAAC,MAAM,CAAC,0BAA0B,CAAC;QAC3C,QAAQ,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAClD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,IAAI,CAAC;IACJ,uBAAuB;IACvB,6BAA6B;IAC7B,mBAAmB;IACnB,iBAAiB;IACjB,WAAW;CACZ,CAAC;KACD,QAAQ,CACP,0KAA0K,CAC3K,CAAC;AAGJ,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,qBAAqB,EAAE,CAAC;SACrB,KAAK,CAAC,eAAe,CAAC;SACtB,OAAO,CAAC,CAAC,uBAAuB,CAAC,CAAC;SAClC,QAAQ,CAAC,mDAAmD,CAAC;CACjE,CAAC;KACD,OAAO,CAAC,EAAE,CAAC;KACX,QAAQ,CAAC,qDAAqD,CAAC,CAAC"}
1
+ {"version":3,"file":"harness-confinement.js","sourceRoot":"","sources":["../src/harness-confinement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mCAAmC,GAC9C,8HAA8H,CAAC;AAmBjI;oEACoE;AACpE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,CAAC;IACN,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,cAAc,EAAE,qBAAqB;IACrC,0BAA0B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjD,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5C,0BAA0B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjD,gCAAgC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvD,8BAA8B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtD,CAAC;KACD,WAAW,EAAE;KACb,QAAQ,CAAC,+EAA+E,CAAC,CAAC;AAG7F,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAE5F;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAuC;IAC/E,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,CACL,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC;QACtC,QAAQ,CAAC,MAAM,CAAC,0BAA0B,CAAC;QAC3C,QAAQ,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAClD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,IAAI,CAAC;IACJ,uBAAuB;IACvB,6BAA6B;IAC7B,8BAA8B;IAC9B,mBAAmB;IACnB,iBAAiB;IACjB,WAAW;CACZ,CAAC;KACD,QAAQ,CACP,4MAA4M,CAC7M,CAAC;AAGJ,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,qBAAqB,EAAE,CAAC;SACrB,KAAK,CAAC,eAAe,CAAC;SACtB,OAAO,CAAC,CAAC,uBAAuB,CAAC,CAAC;SAClC,QAAQ,CAAC,mDAAmD,CAAC;CACjE,CAAC;KACD,OAAO,CAAC,EAAE,CAAC;KACX,QAAQ,CAAC,qDAAqD,CAAC,CAAC"}