@dsh-enhanced/plugin-control-plane 0.1.48 → 0.1.53

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 (185) hide show
  1. package/README.md +187 -15
  2. package/bin/dsh-live-qualification-authority.js +15 -0
  3. package/bin/dsh-local-release-adapter.js +331 -9
  4. package/bin/dsh-systemd-host-attestor.js +359 -9
  5. package/bin/dsh-systemd-host-authority.js +12 -0
  6. package/lib/adoption-coordinator.d.ts +3 -1
  7. package/lib/adoption-coordinator.d.ts.map +1 -1
  8. package/lib/adoption-coordinator.js +24 -9
  9. package/lib/adoption-coordinator.js.map +1 -1
  10. package/lib/cli.d.ts.map +1 -1
  11. package/lib/cli.js +33 -14
  12. package/lib/cli.js.map +1 -1
  13. package/lib/creation-capability-feedback.d.ts +23 -0
  14. package/lib/creation-capability-feedback.d.ts.map +1 -0
  15. package/lib/creation-capability-feedback.js +132 -0
  16. package/lib/creation-capability-feedback.js.map +1 -0
  17. package/lib/creation-capability-journal.d.ts +66 -0
  18. package/lib/creation-capability-journal.d.ts.map +1 -0
  19. package/lib/creation-capability-journal.js +775 -0
  20. package/lib/creation-capability-journal.js.map +1 -0
  21. package/lib/creation-capability-runtime.d.ts +63 -0
  22. package/lib/creation-capability-runtime.d.ts.map +1 -0
  23. package/lib/creation-capability-runtime.js +578 -0
  24. package/lib/creation-capability-runtime.js.map +1 -0
  25. package/lib/creation-capability-source.d.ts +37 -0
  26. package/lib/creation-capability-source.d.ts.map +1 -0
  27. package/lib/creation-capability-source.js +328 -0
  28. package/lib/creation-capability-source.js.map +1 -0
  29. package/lib/creation-capability-types.d.ts +265 -0
  30. package/lib/creation-capability-types.d.ts.map +1 -0
  31. package/lib/creation-capability-types.js +2 -0
  32. package/lib/creation-capability-types.js.map +1 -0
  33. package/lib/deployment-readiness.d.ts +16 -0
  34. package/lib/deployment-readiness.d.ts.map +1 -1
  35. package/lib/deployment-readiness.js +48 -1
  36. package/lib/deployment-readiness.js.map +1 -1
  37. package/lib/effect-blocked-replay.js +2 -2
  38. package/lib/effect-blocked-replay.js.map +1 -1
  39. package/lib/foreground-deployment-runtime.d.ts +3 -0
  40. package/lib/foreground-deployment-runtime.d.ts.map +1 -1
  41. package/lib/foreground-deployment-runtime.js +55 -13
  42. package/lib/foreground-deployment-runtime.js.map +1 -1
  43. package/lib/foreground-deployment.d.ts.map +1 -1
  44. package/lib/foreground-deployment.js +5 -0
  45. package/lib/foreground-deployment.js.map +1 -1
  46. package/lib/host-attestor.d.ts +2 -0
  47. package/lib/host-attestor.d.ts.map +1 -1
  48. package/lib/host-attestor.js +8 -1
  49. package/lib/host-attestor.js.map +1 -1
  50. package/lib/host-inputs.d.ts +13 -0
  51. package/lib/host-inputs.d.ts.map +1 -0
  52. package/lib/host-inputs.js +162 -0
  53. package/lib/host-inputs.js.map +1 -0
  54. package/lib/host-maintenance.d.ts +61 -0
  55. package/lib/host-maintenance.d.ts.map +1 -0
  56. package/lib/host-maintenance.js +158 -0
  57. package/lib/host-maintenance.js.map +1 -0
  58. package/lib/host-readiness.d.ts +5 -0
  59. package/lib/host-readiness.d.ts.map +1 -0
  60. package/lib/host-readiness.js +22 -0
  61. package/lib/host-readiness.js.map +1 -0
  62. package/lib/index.d.ts +16 -0
  63. package/lib/index.d.ts.map +1 -1
  64. package/lib/index.js +7 -0
  65. package/lib/index.js.map +1 -1
  66. package/lib/live-qualification-authority.d.ts +32 -0
  67. package/lib/live-qualification-authority.d.ts.map +1 -0
  68. package/lib/live-qualification-authority.js +280 -0
  69. package/lib/live-qualification-authority.js.map +1 -0
  70. package/lib/live-qualification-client.d.ts +4 -0
  71. package/lib/live-qualification-client.d.ts.map +1 -0
  72. package/lib/live-qualification-client.js +22 -0
  73. package/lib/live-qualification-client.js.map +1 -0
  74. package/lib/live-qualification-runtime.d.ts +78 -0
  75. package/lib/live-qualification-runtime.d.ts.map +1 -0
  76. package/lib/live-qualification-runtime.js +367 -0
  77. package/lib/live-qualification-runtime.js.map +1 -0
  78. package/lib/live-qualification.d.ts +73 -0
  79. package/lib/live-qualification.d.ts.map +1 -0
  80. package/lib/live-qualification.js +164 -0
  81. package/lib/live-qualification.js.map +1 -0
  82. package/lib/native-source-build-worker.d.ts +4 -0
  83. package/lib/native-source-build-worker.d.ts.map +1 -0
  84. package/lib/native-source-build-worker.js +87 -0
  85. package/lib/native-source-build-worker.js.map +1 -0
  86. package/lib/native-source-build.d.ts +36 -0
  87. package/lib/native-source-build.d.ts.map +1 -0
  88. package/lib/native-source-build.js +143 -0
  89. package/lib/native-source-build.js.map +1 -0
  90. package/lib/native-source-pack.d.ts +11 -0
  91. package/lib/native-source-pack.d.ts.map +1 -0
  92. package/lib/native-source-pack.js +83 -0
  93. package/lib/native-source-pack.js.map +1 -0
  94. package/lib/owner-task-gaps.d.ts +2 -0
  95. package/lib/owner-task-gaps.d.ts.map +1 -1
  96. package/lib/owner-task-gaps.js +9 -1
  97. package/lib/owner-task-gaps.js.map +1 -1
  98. package/lib/runtime-epoch.d.ts +69 -0
  99. package/lib/runtime-epoch.d.ts.map +1 -0
  100. package/lib/runtime-epoch.js +139 -0
  101. package/lib/runtime-epoch.js.map +1 -0
  102. package/lib/runtime-observer-protocol.d.ts +3 -3
  103. package/lib/runtime-observer-protocol.js +5 -5
  104. package/lib/runtime-observer-protocol.js.map +1 -1
  105. package/lib/runtime-observer.d.ts.map +1 -1
  106. package/lib/runtime-observer.js +42 -6
  107. package/lib/runtime-observer.js.map +1 -1
  108. package/lib/service.d.ts +248 -4
  109. package/lib/service.d.ts.map +1 -1
  110. package/lib/service.js +1431 -64
  111. package/lib/service.js.map +1 -1
  112. package/lib/source-adoption-authority.d.ts +3 -0
  113. package/lib/source-adoption-authority.d.ts.map +1 -1
  114. package/lib/source-adoption-authority.js +13 -3
  115. package/lib/source-adoption-authority.js.map +1 -1
  116. package/lib/source-adoption-runner.d.ts +3 -0
  117. package/lib/source-adoption-runner.d.ts.map +1 -1
  118. package/lib/source-adoption-runner.js +16 -4
  119. package/lib/source-adoption-runner.js.map +1 -1
  120. package/lib/source-approval-authority.d.ts.map +1 -1
  121. package/lib/source-approval-authority.js +1 -0
  122. package/lib/source-approval-authority.js.map +1 -1
  123. package/lib/source-baseline.d.ts +37 -0
  124. package/lib/source-baseline.d.ts.map +1 -0
  125. package/lib/source-baseline.js +250 -0
  126. package/lib/source-baseline.js.map +1 -0
  127. package/lib/source-build.d.ts +43 -9
  128. package/lib/source-build.d.ts.map +1 -1
  129. package/lib/source-build.js +670 -57
  130. package/lib/source-build.js.map +1 -1
  131. package/lib/source-context.d.ts +18 -0
  132. package/lib/source-context.d.ts.map +1 -1
  133. package/lib/source-context.js +85 -11
  134. package/lib/source-context.js.map +1 -1
  135. package/lib/source-creation.d.ts +106 -0
  136. package/lib/source-creation.d.ts.map +1 -0
  137. package/lib/source-creation.js +664 -0
  138. package/lib/source-creation.js.map +1 -0
  139. package/lib/source-job-types.d.ts +28 -1
  140. package/lib/source-job-types.d.ts.map +1 -1
  141. package/lib/source-jobs.d.ts +33 -3
  142. package/lib/source-jobs.d.ts.map +1 -1
  143. package/lib/source-jobs.js +420 -43
  144. package/lib/source-jobs.js.map +1 -1
  145. package/lib/source-maintenance.d.ts +66 -0
  146. package/lib/source-maintenance.d.ts.map +1 -0
  147. package/lib/source-maintenance.js +177 -0
  148. package/lib/source-maintenance.js.map +1 -0
  149. package/lib/source-revision.d.ts +57 -0
  150. package/lib/source-revision.d.ts.map +1 -0
  151. package/lib/source-revision.js +175 -0
  152. package/lib/source-revision.js.map +1 -0
  153. package/lib/source-workspace.d.ts +19 -14
  154. package/lib/source-workspace.d.ts.map +1 -1
  155. package/lib/source-workspace.js +90 -17
  156. package/lib/source-workspace.js.map +1 -1
  157. package/lib/sqlite.d.ts +13 -3
  158. package/lib/sqlite.d.ts.map +1 -1
  159. package/lib/sqlite.js +362 -1
  160. package/lib/sqlite.js.map +1 -1
  161. package/lib/store.d.ts +258 -3
  162. package/lib/store.d.ts.map +1 -1
  163. package/lib/store.js +2257 -96
  164. package/lib/store.js.map +1 -1
  165. package/lib/systemd-host-authority.d.ts +68 -0
  166. package/lib/systemd-host-authority.d.ts.map +1 -0
  167. package/lib/systemd-host-authority.js +424 -0
  168. package/lib/systemd-host-authority.js.map +1 -0
  169. package/lib/task-observation-evidence.d.ts +32 -0
  170. package/lib/task-observation-evidence.d.ts.map +1 -0
  171. package/lib/task-observation-evidence.js +62 -0
  172. package/lib/task-observation-evidence.js.map +1 -0
  173. package/lib/task-observation-runtime.d.ts +2 -3
  174. package/lib/task-observation-runtime.d.ts.map +1 -1
  175. package/lib/task-observation-runtime.js +7 -39
  176. package/lib/task-observation-runtime.js.map +1 -1
  177. package/lib/task-observation-store.js +1 -1
  178. package/lib/trust.d.ts.map +1 -1
  179. package/lib/trust.js +0 -0
  180. package/lib/trust.js.map +1 -1
  181. package/lib/types.d.ts +57 -7
  182. package/lib/types.d.ts.map +1 -1
  183. package/lib/version.d.ts +1 -1
  184. package/lib/version.js +1 -1
  185. package/package.json +22 -14
@@ -0,0 +1,175 @@
1
+ import { lstat } from 'node:fs/promises';
2
+ import { join } from 'node:path';
3
+ import { validatePluginCreationVerificationCertificate, validatePluginRevisionParentBinding, validateSourceGrowthRunBinding } from '@dsh-enhanced/assistant-growth-contract';
4
+ import { validateCreationCapabilitySource } from './creation-capability-source.js';
5
+ import { ControlPlaneCliError } from './errors.js';
6
+ import { inspectCreationHostScaffold, prepareCreationHostScaffold, validateSourceCreationFiles, verifyCreationHostScaffold } from './source-creation.js';
7
+ import { controlPlaneDigest } from './store.js';
8
+ import { writeCreatedPluginFiles } from './source-workspace.js';
9
+ const NAME = /^(?=.{1,64}$)[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/u;
10
+ const GRANT_ID = /^(?=.{1,128}$)[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/u;
11
+ const DIGEST = /^[a-f0-9]{64}$/u;
12
+ const RESERVED = new Set(['package.json', 'cordis.patch.yml', 'LICENSE', 'tsconfig.json',
13
+ 'tsconfig.build.json', 'src/version.ts']);
14
+ const MAX_FILES = 64;
15
+ const MAX_FILE_BYTES = 65_536;
16
+ const MAX_TOTAL_BYTES = 262_144;
17
+ function fail(reason) { throw new ControlPlaneCliError('SOURCE_BOUNDARY', `source revision ${reason}`); }
18
+ function exact(value, keys, label) {
19
+ if (value === null || typeof value !== 'object' || Array.isArray(value)
20
+ || Object.getPrototypeOf(value) !== Object.prototype || Object.getOwnPropertySymbols(value).length)
21
+ fail(label);
22
+ const descriptors = Object.getOwnPropertyDescriptors(value);
23
+ const actual = Object.keys(descriptors).sort();
24
+ const expected = [...keys].sort();
25
+ if (actual.length !== expected.length || actual.some((key, index) => key !== expected[index]
26
+ || !descriptors[key].enumerable || !('value' in descriptors[key])))
27
+ fail(label);
28
+ return value;
29
+ }
30
+ /** Shape remains valid for historical grants after their expiry. */
31
+ export function validateSourceRevisionGrant(value) {
32
+ const grant = exact(value, ['id', 'expiresAt', 'maxRevisions', 'namePrefix'], 'grant');
33
+ if (typeof grant.id !== 'string' || !GRANT_ID.test(grant.id) || grant.id.normalize('NFC') !== grant.id
34
+ || !Number.isSafeInteger(grant.expiresAt) || Number(grant.expiresAt) < 1
35
+ || !Number.isSafeInteger(grant.maxRevisions) || Number(grant.maxRevisions) < 1 || Number(grant.maxRevisions) > 1_000
36
+ || typeof grant.namePrefix !== 'string' || grant.namePrefix.length < 2 || grant.namePrefix.length > 48
37
+ || !/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*-$/u.test(grant.namePrefix))
38
+ fail('grant fields');
39
+ }
40
+ export function validateSourceRevisionBinding(value) {
41
+ const binding = exact(value, ['grant', 'generatorDigest', 'parent', 'growthRun'], 'binding');
42
+ validateSourceRevisionGrant(binding.grant);
43
+ validatePluginRevisionParentBinding(binding.parent);
44
+ validateSourceGrowthRunBinding(binding.growthRun);
45
+ if (typeof binding.generatorDigest !== 'string' || !DIGEST.test(binding.generatorDigest)
46
+ || !binding.growthRun.revisionAcceptance
47
+ || binding.growthRun.revisionAcceptance.namePrefix !== binding.grant.namePrefix) {
48
+ fail('binding fields');
49
+ }
50
+ }
51
+ function currentGrant(grant, name) {
52
+ validateSourceRevisionGrant(grant);
53
+ if (!NAME.test(name) || name.normalize('NFC') !== name || !name.startsWith(grant.namePrefix)
54
+ || name.length <= grant.namePrefix.length || grant.expiresAt <= Date.now())
55
+ fail('grant expired or plugin name outside namespace');
56
+ }
57
+ function parentFiles(name, parent, parentSource, parentCertificate, scaffold) {
58
+ validatePluginRevisionParentBinding(parent);
59
+ validatePluginCreationVerificationCertificate(parentCertificate);
60
+ validateCreationCapabilitySource(parentSource, parentCertificate);
61
+ if (parent.planId !== parentCertificate.plan.id || parent.certificateDigest !== controlPlaneDigest(parentCertificate)
62
+ || parent.artifactSha256 !== parentCertificate.plan.artifactSha256 || parent.sourceDigest !== parentSource.digest
63
+ || parentCertificate.plan.name !== name || parentCertificate.plan.generatorDigest !== scaffold.generatorDigest)
64
+ fail('parent binding');
65
+ // The signed archive envelope is checked by the Host port. Its digest has no
66
+ // corresponding raw envelope here; sourceDigest binds the snapshot bytes.
67
+ const root = `plugins/${name}/`;
68
+ const generated = new Map(scaffold.files.map(file => [file.path, file.content]));
69
+ const source = new Map();
70
+ for (const file of parentSource.files) {
71
+ if (!file.path.startsWith(root))
72
+ fail('parent root');
73
+ const path = file.path.slice(root.length);
74
+ if (file.mode !== '100644')
75
+ fail('parent file mode');
76
+ if (RESERVED.has(path)) {
77
+ if (generated.get(path) !== file.content)
78
+ fail(`parent protected metadata changed: ${path}`);
79
+ }
80
+ else {
81
+ validateSourceCreationFiles([{ path, content: file.content }]);
82
+ source.set(path, file.content);
83
+ }
84
+ }
85
+ for (const file of scaffold.files) {
86
+ if (!RESERVED.has(file.path) && !source.has(file.path))
87
+ fail(`parent lacks generated candidate: ${file.path}`);
88
+ }
89
+ return source;
90
+ }
91
+ function proposedFiles(parent, files) {
92
+ validateSourceCreationFiles(files);
93
+ const result = new Map(parent);
94
+ let changed = false;
95
+ for (const file of files) {
96
+ if (parent.get(file.path) !== file.content)
97
+ changed = true;
98
+ result.set(file.path, file.content);
99
+ }
100
+ if (!changed)
101
+ fail('candidate makes no source change');
102
+ return result;
103
+ }
104
+ function assertFinalBudget(scaffold, candidate) {
105
+ let total = 0;
106
+ let count = 0;
107
+ for (const content of [...scaffold.files.filter(file => RESERVED.has(file.path)).map(file => file.content), ...candidate.values()]) {
108
+ const bytes = Buffer.byteLength(content, 'utf8');
109
+ if (++count > MAX_FILES || bytes > MAX_FILE_BYTES || (total += bytes) > MAX_TOTAL_BYTES)
110
+ fail('final source exceeds bounds');
111
+ }
112
+ }
113
+ function assertPaths(paths, source) {
114
+ if (!Array.isArray(paths) || paths.length > MAX_FILES || new Set(paths).size !== paths.length)
115
+ fail('inspection paths');
116
+ for (const path of paths) {
117
+ if (typeof path !== 'string' || path.normalize('NFC') !== path || !source.has(path))
118
+ fail('inspection path unavailable');
119
+ }
120
+ }
121
+ export async function inspectSourceRevisionContext(input) {
122
+ currentGrant(input.grant, input.name);
123
+ const scaffold = await inspectCreationHostScaffold(input);
124
+ const source = parentFiles(input.name, input.parent, input.parentSource, input.parentCertificate, scaffold);
125
+ assertPaths(input.paths, source);
126
+ return Object.freeze({ name: input.name, baseCommit: scaffold.baseCommit, generatorDigest: scaffold.generatorDigest,
127
+ files: Object.freeze([...input.parentSource.files].map(file => Object.freeze({ path: file.path.slice(`plugins/${input.name}/`.length), bytes: file.bytes }))),
128
+ contents: Object.freeze(input.paths.map(path => Object.freeze({ path, content: source.get(path) }))) });
129
+ }
130
+ function checkBinding(input) {
131
+ validateSourceRevisionBinding(input.revision);
132
+ currentGrant(input.revision.grant, input.name);
133
+ if (input.revision.growthRun.revisionAcceptance.expiresAt <= Date.now())
134
+ fail('acceptance authority expired');
135
+ }
136
+ export async function prepareRevisedPluginWorkspace(input) {
137
+ checkBinding(input);
138
+ const preflight = await inspectCreationHostScaffold({ ...input, repository: input.worktree });
139
+ if (preflight.generatorDigest !== input.revision.generatorDigest)
140
+ fail('generator inputs changed');
141
+ const parent = parentFiles(input.name, input.revision.parent, input.parentSource, input.parentCertificate, preflight);
142
+ const expected = proposedFiles(parent, input.files);
143
+ assertFinalBudget(preflight, expected);
144
+ const scaffold = await prepareCreationHostScaffold({ ...input, expectedGeneratorDigest: input.revision.generatorDigest });
145
+ if (scaffold.generatorDigest !== preflight.generatorDigest || scaffold.baseCommit !== preflight.baseCommit)
146
+ fail('Host scaffold drift');
147
+ await writeCreatedPluginFiles({ worktree: input.worktree, name: input.name,
148
+ files: [...parent].map(([path, content]) => ({ path, content })) });
149
+ await writeCreatedPluginFiles({ worktree: input.worktree, name: input.name, files: input.files });
150
+ return verifyRevisedPluginWorkspace(input);
151
+ }
152
+ export async function verifyRevisedPluginWorkspace(input) {
153
+ checkBinding(input);
154
+ const { expected: scaffold, actual } = await verifyCreationHostScaffold({ ...input, expectedGeneratorDigest: input.revision.generatorDigest });
155
+ const parent = parentFiles(input.name, input.revision.parent, input.parentSource, input.parentCertificate, scaffold);
156
+ const expected = proposedFiles(parent, input.files);
157
+ assertFinalBudget(scaffold, expected);
158
+ const complete = new Map([...scaffold.files.filter(file => RESERVED.has(file.path)).map(file => [file.path, file.content]), ...expected]);
159
+ if (actual.length !== complete.size)
160
+ fail('actual source file set changed');
161
+ for (const file of actual) {
162
+ if (complete.get(file.path) !== file.content || file.bytes !== Buffer.byteLength(file.content, 'utf8'))
163
+ fail(`actual source changed: ${file.path}`);
164
+ if (!RESERVED.has(file.path)) {
165
+ const stat = await lstat(join(input.worktree, 'plugins', input.name, file.path));
166
+ if (!stat.isFile() || stat.isSymbolicLink() || (stat.mode & 0o111) !== 0)
167
+ fail(`candidate mode changed: ${file.path}`);
168
+ }
169
+ }
170
+ await input.assertCurrent();
171
+ input.signal.throwIfAborted();
172
+ return Object.freeze({ scope: Object.freeze([`plugins/${input.name}`, 'plugins/README.md', 'pnpm-lock.yaml']),
173
+ generatorDigest: scaffold.generatorDigest });
174
+ }
175
+ //# sourceMappingURL=source-revision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-revision.js","sourceRoot":"","sources":["../src/source-revision.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ export interface RunLocalResult {
33
33
  export declare function runLocalBuffer(command: 'git' | 'pnpm', args: readonly string[], cwd: string, environment: NodeJS.ProcessEnv, options?: RunLocalOptions): Promise<Buffer>;
34
34
  export declare function runLocalCommand(command: 'git' | 'pnpm', args: readonly string[], cwd: string, environment: NodeJS.ProcessEnv, options?: RunLocalOptions): Promise<string>;
35
35
  export declare function changedSourcePaths(worktree: string, baseCommit: string, environment: NodeJS.ProcessEnv, signal?: AbortSignal): Promise<readonly string[]>;
36
- export declare function sourcePathAllowed(path: string, name: string, mode?: 'create' | 'modify'): boolean;
36
+ export declare function sourcePathAllowed(path: string, name: string, mode?: 'create' | 'modify' | 'prepared-create' | 'prepared-revise'): boolean;
37
37
  export declare function checkedSourceSnapshot(worktree: string, baseCommit: string, scopeInput: readonly string[], environment: NodeJS.ProcessEnv, preparedTree?: string, signal?: AbortSignal): Promise<{
38
38
  checkedTreeDigest: string;
39
39
  checkedPatchDigest: string;
@@ -43,6 +43,11 @@ export declare function verifyPreparedSourceWorktree(plan: PluginSourcePlan, env
43
43
  checkedTreeDigest: string;
44
44
  checkedPatchDigest: string;
45
45
  }>;
46
+ /** Stage an independent index so review sees untracked generated files as well as tracked edits. */
47
+ export declare function inspectPreparedCreationPatch(plan: PluginSourcePlan, environment: NodeJS.ProcessEnv, signal: AbortSignal): Promise<{
48
+ patch: string;
49
+ changedPaths: string[];
50
+ }>;
46
51
  /**
47
52
  * Create a throwaway linked git worktree under the control-plane state root,
48
53
  * detached at exactly baseCommit. Removal prunes the worktree registration and
@@ -74,18 +79,17 @@ export declare function writeScopedPluginFiles(input: {
74
79
  name: string;
75
80
  files: readonly ScopedPluginFile[];
76
81
  }): Promise<void>;
82
+ /** Host-only writer for a newly scaffolded plugin. Parents may be added under
83
+ * its already-created root; every component is rechecked before O_NOFOLLOW. */
84
+ export declare function writeCreatedPluginFiles(input: {
85
+ worktree: string;
86
+ name: string;
87
+ files: readonly ScopedPluginFile[];
88
+ }): Promise<void>;
77
89
  /** Validate bytes and paths before persisting a durable source job. */
78
90
  export declare function validateScopedPluginFiles(files: readonly ScopedPluginFile[]): void;
79
- /**
80
- * A prepared modify worktree is garbage only while its plan is still waiting on
81
- * the owner (pending/approved) and the plan's TTL has elapsed. Plans that
82
- * reached ready-for-human-review or a release phase are retained for the
83
- * owner's release workflow.
84
- */
85
- export declare function preparedWorktreeIsGarbage(plan: {
86
- status: string;
87
- expiresAt: number;
88
- }, now: number): boolean;
91
+ /** Owner-retired prepared source plans are collectible only with frozen mode evidence. */
92
+ export declare function preparedWorktreeIsGarbage(plan: Pick<PluginSourcePlan, 'mode' | 'status' | 'expiresAt' | 'scope' | 'name' | 'generatorDigest' | 'creation' | 'sourceRevision' | 'sourceCheck' | 'preparedEvidence'>, now: number): boolean;
89
93
  /** Parse `git worktree list --porcelain` into canonical linked-worktree paths. */
90
94
  export declare function linkedWorktrees(repository: string, environment: NodeJS.ProcessEnv): Promise<readonly string[]>;
91
95
  /**
@@ -100,11 +104,12 @@ export declare function pruneRegisteredWorktree(input: {
100
104
  environment: NodeJS.ProcessEnv;
101
105
  }): Promise<void>;
102
106
  /**
103
- * Remove prepared modify worktrees whose plans expired while still waiting on
104
- * the owner. Every removed path must (1) belong to a modify plan, (2) be a
107
+ * Remove prepared source worktrees whose plans expired while still waiting on
108
+ * the owner. Every removed path must (1) belong to a prepared plan, (2) be a
105
109
  * descendant of the control-plane state root and (3) still be a linked
106
110
  * worktree of the plan's repository; anything outside those proofs is left
107
- * untouched. Idempotent. Shared by the service and the owner CLI.
111
+ * untouched. Creation additionally requires exact generation/evidence scope
112
+ * and durable worktree identity. Idempotent. Shared by service and owner CLI.
108
113
  */
109
114
  export declare function gcPreparedModifyWorktrees(input: {
110
115
  store: ControlPlaneStore;
@@ -1 +1 @@
1
- {"version":3,"file":"source-workspace.d.ts","sourceRoot":"","sources":["../src/source-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-workspace.d.ts","sourceRoot":"","sources":["../src/source-workspace.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,9 @@ const COMMAND_TAIL_BYTES = 4_096;
26
26
  * pending plan。命中即拒绝,不进入 worktree 流程。
27
27
  */
28
28
  export const PROTECTED_PLUGIN_DENYLIST = new Set([
29
+ 'assistant-delivery', // authenticated task and feedback evidence
30
+ 'lark-channel', // authenticated external-channel ingress
31
+ 'assistant-automations', // qualification observation and rollback scheduling
29
32
  'assistant-policy', // 策略规则、授权寿命、急停根
30
33
  'credentials-keychain', // 凭据根
31
34
  'assistant-evaluation', // 评测答案根
@@ -148,6 +151,8 @@ export async function changedSourcePaths(worktree, baseCommit, environment, sign
148
151
  export function sourcePathAllowed(path, name, mode = 'modify') {
149
152
  const pluginRoot = `plugins/${name}`;
150
153
  const withinPluginTree = path === pluginRoot || path.startsWith(`${pluginRoot}/`);
154
+ if (mode === 'prepared-create' || mode === 'prepared-revise')
155
+ return withinPluginTree || path === pluginCatalogScope || path === 'pnpm-lock.yaml';
151
156
  return mode === 'create' ? (withinPluginTree || path === pluginCatalogScope) : withinPluginTree;
152
157
  }
153
158
  export async function checkedSourceSnapshot(worktree, baseCommit, scopeInput, environment, preparedTree, signal) {
@@ -195,6 +200,48 @@ export async function verifyPreparedSourceWorktree(plan, environment, signal) {
195
200
  }
196
201
  return checked;
197
202
  }
203
+ /** Stage an independent index so review sees untracked generated files as well as tracked edits. */
204
+ export async function inspectPreparedCreationPatch(plan, environment, signal) {
205
+ signal.throwIfAborted();
206
+ if ((plan.mode !== 'prepared-create' && plan.mode !== 'prepared-revise') || !plan.sourceCheck || !(plan.creation ?? plan.sourceRevision)
207
+ || await realpath(plan.repository) !== plan.repository || await realpath(plan.worktree) !== plan.worktree
208
+ || plan.scope.join('\0') !== [`plugins/README.md`, `plugins/${plan.name}`, 'pnpm-lock.yaml'].join('\0')) {
209
+ throw new ControlPlaneCliError('SOURCE_BOUNDARY', 'prepared creation paths or scope changed');
210
+ }
211
+ if ((await runLocalCommand('git', ['rev-parse', 'HEAD'], plan.worktree, environment, { capture: true, signal })).trim() !== plan.baseCommit) {
212
+ throw new ControlPlaneCliError('SOURCE_BOUNDARY', 'prepared creation worktree HEAD changed');
213
+ }
214
+ const changedPaths = [...await changedSourcePaths(plan.worktree, plan.baseCommit, environment, signal)];
215
+ if (changedPaths.some(path => !sourcePathAllowed(path, plan.name, 'prepared-create'))) {
216
+ throw new ControlPlaneCliError('SOURCE_BOUNDARY', 'prepared creation changed outside exact scope');
217
+ }
218
+ const snapshot = await checkedSourceSnapshot(plan.worktree, plan.baseCommit, plan.scope, environment, undefined, signal);
219
+ if (snapshot.checkedTreeDigest !== plan.sourceCheck.treeDigest || snapshot.checkedPatchDigest !== plan.sourceCheck.patchDigest) {
220
+ throw new ControlPlaneCliError('SOURCE_BOUNDARY', 'prepared creation source digests changed');
221
+ }
222
+ const temporary = await mkdtemp(join(tmpdir(), 'dsh-plugin-creation-review-'));
223
+ try {
224
+ const scope = [...new Set(plan.scope.map(value => value.normalize('NFC').trim()))].sort();
225
+ const reviewEnvironment = { ...environment, GIT_INDEX_FILE: join(temporary, 'index') };
226
+ await runLocalCommand('git', ['read-tree', plan.baseCommit], plan.worktree, reviewEnvironment, { signal });
227
+ await runLocalCommand('git', ['--literal-pathspecs', 'add', '--all', '--', ...scope], plan.worktree, reviewEnvironment, { signal });
228
+ const patch = await runLocalCommand('git', ['--literal-pathspecs', '-c', 'core.quotepath=false', 'diff', '--cached', '--binary', '--full-index',
229
+ '--no-color', plan.baseCommit, '--', ...scope], plan.worktree, reviewEnvironment, { capture: true, maximumOutput: MAX_COMMAND_OUTPUT_BYTES, signal });
230
+ signal.throwIfAborted();
231
+ const binding = `${plan.baseCommit}\0${JSON.stringify(scope)}\0`;
232
+ const patchDigest = createHash('sha256').update('dsh-source-patch-v2\0').update(binding).update(patch).digest('hex');
233
+ if (patchDigest !== plan.sourceCheck.patchDigest) {
234
+ throw new ControlPlaneCliError('SOURCE_BOUNDARY', 'prepared creation review patch differs from checked source');
235
+ }
236
+ if ((await checkedSourceSnapshot(plan.worktree, plan.baseCommit, plan.scope, environment, undefined, signal)).checkedPatchDigest
237
+ !== plan.sourceCheck.patchDigest)
238
+ throw new ControlPlaneCliError('SOURCE_BOUNDARY', 'prepared creation changed during review read');
239
+ return { patch, changedPaths };
240
+ }
241
+ finally {
242
+ await rm(temporary, { recursive: true, force: true });
243
+ }
244
+ }
198
245
  async function assertOwnerDirectory(path) {
199
246
  const metadata = await lstat(path);
200
247
  const uid = process.getuid?.();
@@ -309,6 +356,12 @@ export async function writeScopedPluginFiles(input) {
309
356
  validateScopedPluginFiles(files);
310
357
  await writeValidatedPluginFiles(worktree, name, files);
311
358
  }
359
+ /** Host-only writer for a newly scaffolded plugin. Parents may be added under
360
+ * its already-created root; every component is rechecked before O_NOFOLLOW. */
361
+ export async function writeCreatedPluginFiles(input) {
362
+ validateScopedPluginFiles(input.files);
363
+ await writeValidatedPluginFiles(input.worktree, input.name, input.files, true);
364
+ }
312
365
  /** Validate bytes and paths before persisting a durable source job. */
313
366
  export function validateScopedPluginFiles(files) {
314
367
  if (!Array.isArray(files))
@@ -340,7 +393,7 @@ export function validateScopedPluginFiles(files) {
340
393
  throw new ControlPlaneCliError('INVALID_ARGUMENT', `prepared files exceed the ${MAX_PREPARED_TOTAL_BYTES}-byte total bound`);
341
394
  }
342
395
  }
343
- async function writeValidatedPluginFiles(worktree, name, files) {
396
+ async function writeValidatedPluginFiles(worktree, name, files, createParents = false) {
344
397
  const pluginRoot = resolve(worktree, 'plugins', name);
345
398
  const rootMetadata = await lstat(pluginRoot).catch((error) => {
346
399
  if (error.code === 'ENOENT')
@@ -353,16 +406,20 @@ async function writeValidatedPluginFiles(worktree, name, files) {
353
406
  for (const file of files) {
354
407
  const normalized = file.path.normalize('NFC');
355
408
  const segments = normalized.split('/');
356
- // Every parent segment must be an existing non-symlink directory at the
357
- // base commit; modify never creates directories.
409
+ // Modify requires every parent at base; creation may add subdirectories
410
+ // after the fixed public generator created the plugin root.
358
411
  let parent = pluginRoot;
359
412
  for (const segment of segments.slice(0, -1)) {
360
413
  parent = join(parent, segment);
361
- const metadata = await lstat(parent).catch((error) => {
414
+ let metadata = await lstat(parent).catch((error) => {
362
415
  if (error.code === 'ENOENT')
363
416
  return undefined;
364
417
  throw error;
365
418
  });
419
+ if (metadata === undefined && createParents) {
420
+ await mkdir(parent, { mode: 0o700 });
421
+ metadata = await lstat(parent);
422
+ }
366
423
  if (metadata === undefined || metadata.isSymbolicLink() || !metadata.isDirectory()) {
367
424
  throw new ControlPlaneCliError('SOURCE_BOUNDARY', `prepared file parent directory must already exist and must not be a symlink: ${JSON.stringify(normalized)}`);
368
425
  }
@@ -377,7 +434,8 @@ async function writeValidatedPluginFiles(worktree, name, files) {
377
434
  return undefined;
378
435
  throw error;
379
436
  });
380
- if (targetMetadata !== undefined && targetMetadata.isSymbolicLink()) {
437
+ if (targetMetadata !== undefined && (targetMetadata.isSymbolicLink()
438
+ || (createParents && (!targetMetadata.isFile() || targetMetadata.nlink !== 1)))) {
381
439
  throw new ControlPlaneCliError('SOURCE_BOUNDARY', `symlinked source path is forbidden: ${JSON.stringify(normalized)}`);
382
440
  }
383
441
  let handle;
@@ -400,14 +458,17 @@ async function writeValidatedPluginFiles(worktree, name, files) {
400
458
  }
401
459
  }
402
460
  }
403
- /**
404
- * A prepared modify worktree is garbage only while its plan is still waiting on
405
- * the owner (pending/approved) and the plan's TTL has elapsed. Plans that
406
- * reached ready-for-human-review or a release phase are retained for the
407
- * owner's release workflow.
408
- */
461
+ /** Owner-retired prepared source plans are collectible only with frozen mode evidence. */
409
462
  export function preparedWorktreeIsGarbage(plan, now) {
410
- return GC_ELIGIBLE_SOURCE_STATUSES.has(plan.status) && plan.expiresAt < now;
463
+ if (plan.expiresAt >= now)
464
+ return false;
465
+ if (plan.mode === 'modify')
466
+ return GC_ELIGIBLE_SOURCE_STATUSES.has(plan.status);
467
+ if ((plan.mode !== 'prepared-create' && plan.mode !== 'prepared-revise') || !['pending-approval', 'expired'].includes(plan.status)
468
+ || (plan.creation ?? plan.sourceRevision)?.generatorDigest !== plan.generatorDigest || !plan.sourceCheck || !plan.preparedEvidence)
469
+ return false;
470
+ return plan.scope.length === 3 && new Set(plan.scope).size === 3
471
+ && [`plugins/${plan.name}`, pluginCatalogScope, 'pnpm-lock.yaml'].every(path => plan.scope.includes(path));
411
472
  }
412
473
  /** Parse `git worktree list --porcelain` into canonical linked-worktree paths. */
413
474
  export async function linkedWorktrees(repository, environment) {
@@ -430,16 +491,17 @@ export async function pruneRegisteredWorktree(input) {
430
491
  await runLocalCommand('git', ['worktree', 'prune'], input.repository, input.environment).catch(() => undefined);
431
492
  }
432
493
  /**
433
- * Remove prepared modify worktrees whose plans expired while still waiting on
434
- * the owner. Every removed path must (1) belong to a modify plan, (2) be a
494
+ * Remove prepared source worktrees whose plans expired while still waiting on
495
+ * the owner. Every removed path must (1) belong to a prepared plan, (2) be a
435
496
  * descendant of the control-plane state root and (3) still be a linked
436
497
  * worktree of the plan's repository; anything outside those proofs is left
437
- * untouched. Idempotent. Shared by the service and the owner CLI.
498
+ * untouched. Creation additionally requires exact generation/evidence scope
499
+ * and durable worktree identity. Idempotent. Shared by service and owner CLI.
438
500
  */
439
501
  export async function gcPreparedModifyWorktrees(input) {
440
502
  const stateRoot = resolve(join(input.statePath, 'source-worktrees'));
441
503
  const removed = [];
442
- for (const plan of input.store.listModifySourcePlans()) {
504
+ for (const plan of input.store.listPreparedSourcePlans({ expiredBefore: input.now })) {
443
505
  if (!preparedWorktreeIsGarbage(plan, input.now))
444
506
  continue;
445
507
  const worktree = resolve(plan.worktree);
@@ -449,10 +511,21 @@ export async function gcPreparedModifyWorktrees(input) {
449
511
  const linked = await linkedWorktrees(plan.repository, input.environment).catch(() => []);
450
512
  if (!linked.includes(worktree))
451
513
  continue;
514
+ if ((plan.mode === 'prepared-create' || plan.mode === 'prepared-revise') && (dirname(worktree) !== stateRoot
515
+ || !/^worktree-job-[a-f0-9]{64}$/u.test(worktree.slice(stateRoot.length + 1))))
516
+ continue;
452
517
  input.store.expirePreparedSourcePlan({ planId: plan.id, expectedRevision: plan.revision, now: input.now });
453
- await pruneRegisteredWorktree({ repository: plan.repository, worktree, environment: input.environment });
518
+ if (plan.mode === 'prepared-create' || plan.mode === 'prepared-revise') {
519
+ await removeSourceJobWorktree({ stateRoot, repository: plan.repository,
520
+ worktree, baseCommit: plan.baseCommit, environment: input.environment });
521
+ }
522
+ else
523
+ await pruneRegisteredWorktree({ repository: plan.repository, worktree, environment: input.environment });
454
524
  removed.push(worktree);
455
525
  }
526
+ // Reclaim package bytes only after durable expiration and worktree cleanup.
527
+ // This shared path is used by both the Host service and owner CLI.
528
+ input.store.deleteExpiredPreparedSourceArtifacts(input.now);
456
529
  return Object.freeze({ removed: Object.freeze(removed) });
457
530
  }
458
531
  //# sourceMappingURL=source-workspace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-workspace.js","sourceRoot":"","sources":["../src/source-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-workspace.js","sourceRoot":"","sources":["../src/source-workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAIlD,8CAA8C;AAC9C,oDAAoD;AACpD,+BAA+B;AAE/B,MAAM,kBAAkB,GAAG,mBAAmB,CAAA;AAE9C;;;;;GAKG;AACH,MAAM,2BAA2B,GAAwB,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAA;AAC7G,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAC7B,MAAM,uBAAuB,GAAG,MAAM,CAAA;AACtC,MAAM,wBAAwB,GAAG,OAAO,CAAA;AACxC,MAAM,wBAAwB,GAAG,SAAS,CAAA;AAC1C,MAAM,kBAAkB,GAAG,KAAK,CAAA;AAEhC;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAwB,IAAI,GAAG,CAAC;IACpE,oBAAoB,EAAE,2CAA2C;IACjE,cAAc,EAAE,yCAAyC;IACzD,uBAAuB,EAAE,oDAAoD;IAC7E,kBAAkB,EAAE,gBAAgB;IACpC,sBAAsB,EAAE,MAAM;IAC9B,sBAAsB,EAAE,QAAQ;IAChC,oBAAoB,EAAE,WAAW;IACjC,2BAA2B,EAAE,QAAQ;IACrC,8BAA8B,EAAE,QAAQ;IACxC,kBAAkB,EAAE,iCAAiC;IACrD,qBAAqB,EAAE,WAAW;IAClC,qBAAqB,EAAE,cAAc;IACrC,sBAAsB,EAAE,oBAAoB;CAC7C,CAAC,CAAA;AAaF,MAAM,UAAU,+BAA+B,CAAC,IAAY;IAC1D,IAAI,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAA;IAC3J,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAuB,EAAE,WAA8B;IAClG,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC5G,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAC5G,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAA;IAC9B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;YAAC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;YAAC,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;YACpI,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;mBACpG,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAA;QACjJ,CAAC;QAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,oBAAoB,OAAO,4BAA4B,CAAC,CAAA;AAC5G,CAAC;AAED,MAAM,0BAA0B,GAAG,MAAM,CAAA;AACzC,MAAM,4BAA4B,GAAG,MAAM,CAAA;AAkB3C,KAAK,UAAU,eAAe,CAAC,OAAuB,EAAE,IAAuB,EAAE,GAAW,EAC1F,WAA8B,EAAE,UAA2B,EAAE;IAC7D,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAA;IACxC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,4BAA4B,CAAA;IAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,0BAA0B,CAAA;IACjE,OAAO,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE;QAC5C,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,CAAA;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QACjH,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,MAAM,YAAY,GAAa,EAAE,CAAA;QACjC,IAAI,WAAW,GAAG,CAAC,CAAC;QAAC,IAAI,WAAW,GAAG,CAAC,CAAC;QAAC,IAAI,WAAW,GAAG,KAAK,CAAC;QAAC,IAAI,QAAQ,GAAG,KAAK,CAAA;QACvF,KAAK,CAAC,MAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,IAAI,CAAC,OAAO;gBAAE,OAAM,CAAC,yFAAyF;YAC9G,WAAW,IAAI,KAAK,CAAC,MAAM,CAAA;YAC3B,IAAI,WAAW,GAAG,aAAa,EAAE,CAAC;gBAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAAC,WAAW,GAAG,IAAI,CAAC;oBAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBAAC,CAAC;YAAC,CAAC;;gBAC/F,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,MAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,uEAAuE;YACvE,qDAAqD;YACrD,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;YAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACrD,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,IAAI,kBAAkB,EAAE,CAAC;gBAC9F,WAAW,IAAI,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;gBAAC,YAAY,CAAC,KAAK,EAAE,CAAA;YAC9D,CAAC;QACH,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC1B,MAAM,MAAM,GAAG,GAAS,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA,CAAC,CAAC,CAAA;QACpD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,CAAA,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QACxE,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACjE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,SAAS,OAAO,kBAAkB,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QACjM,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YACzB,YAAY,CAAC,KAAK,CAAC,CAAC;YAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YACzE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAA;YACvC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAAC,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAC5F,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC,CAAA;YAC1F,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACvG,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAAC,OAAM;YAAC,CAAC;YACtE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,oBAAoB,CAAC,kBAAkB,EAAE,SAAS,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,iBAAiB,SAAS,oBAAoB,SAAS,GAAG,CAAC,CAAC,CAAA;gBACjK,OAAM;YACR,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,oBAAoB,CAAC,uBAAuB,EAAE,SAAS,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,iBAAiB,aAAa,2BAA2B,SAAS,GAAG,CAAC,CAAC,CAAA;gBACjL,OAAM;YACR,CAAC;YACD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,oBAAoB,CAAC,iBAAiB,EAC/C,SAAS,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,IAAI,SAAS,SAAS,IAAI,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;gBAChJ,OAAM;YACR,CAAC;YACD,cAAc,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAA;QACzF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAuB,EAAE,IAAuB,EAAE,GAAW,EAChG,WAA8B,EAAE,UAA2B,EAAE;IAC7D,OAAO,CAAC,MAAM,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;AAC7G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAuB,EAAE,IAAuB,EAAE,GAAW,EACjG,WAA8B,EAAE,UAA2B,EAAE;IAC7D,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IAC9E,OAAO,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB,EAAE,UAAkB,EAAE,WAA8B,EAAE,MAAoB;IACjI,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,qBAAqB,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,cAAc;QACvH,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAC3J,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,qBAAqB,EAAE,IAAI,EAAE,sBAAsB,EAAE,UAAU,EAAE,UAAU;QACzH,oBAAoB,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAChJ,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,GAAG,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AAClF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,IAAY,EAAE,OAAoE,QAAQ;IACxI,MAAM,UAAU,GAAG,WAAW,IAAI,EAAE,CAAA;IACpC,MAAM,gBAAgB,GAAG,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC,CAAA;IACjF,IAAI,IAAI,KAAK,iBAAiB,IAAI,IAAI,KAAK,iBAAiB;QAAE,OAAO,gBAAgB,IAAI,IAAI,KAAK,kBAAkB,IAAI,IAAI,KAAK,gBAAgB,CAAA;IACjJ,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAA;AACjG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,QAAgB,EAAE,UAAkB,EAAE,UAA6B,EAC7G,WAA8B,EAAE,YAAqB,EAAE,MAAoB;IAC3E,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,2BAA2B,CAAC,CAAC,CAAA;IAC5E,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACzF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;YAAE,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,iCAAiC,CAAC,CAAA;QACjJ,MAAM,mBAAmB,GAAG,EAAE,GAAG,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAA;QACxF,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,YAAY,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAChI,IAAI,YAAY,KAAK,SAAS;YAAE,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC9K,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,qBAAqB,EAAE,IAAI,EAAE,sBAAsB,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI;YACzH,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAC5I,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,qBAAqB,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;YAC7H,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EACxF,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAC5F,MAAM,OAAO,GAAG,GAAG,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAA;QAC3D,OAAO;YACL,iBAAiB,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACjH,kBAAkB,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SACrH,CAAA;IACH,CAAC;YAAS,CAAC;QAAC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAAC,CAAC;AACrE,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,IAAsB,EAAE,WAA8B,EACvG,MAAoB;IACpB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,CAAC,IAAI,EAAE;WACjH,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,UAAU,IAAI,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5G,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,wCAAwC,CAAC,CAAA;IAC7F,CAAC;IACD,IAAI,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;QACnK,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,gCAAgC,CAAC,CAAA;IACrF,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;IAC7F,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,qDAAqD,CAAC,CAAA;IAC1G,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IACvH,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,IAAI,OAAO,CAAC,iBAAiB,KAAK,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,OAAO,CAAC,kBAAkB,KAAK,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAC7H,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,iCAAiC,CAAC,CAAA;IACtF,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,oGAAoG;AACpG,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,IAAsB,EAAE,WAA8B,EACvG,MAAmB;IACnB,MAAM,CAAC,cAAc,EAAE,CAAA;IACvB,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC;WACnI,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,UAAU,IAAI,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,QAAQ;WACtG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,WAAW,IAAI,CAAC,IAAI,EAAE,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1G,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,0CAA0C,CAAC,CAAA;IAC/F,CAAC;IACD,IAAI,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5I,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,yCAAyC,CAAC,CAAA;IAC9F,CAAC;IACD,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;IACvG,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,+CAA+C,CAAC,CAAA;IACpG,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IACxH,IAAI,QAAQ,CAAC,iBAAiB,KAAK,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,QAAQ,CAAC,kBAAkB,KAAK,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAC/H,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,0CAA0C,CAAC,CAAA;IAC/F,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAA;IAC9E,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACzF,MAAM,iBAAiB,GAAG,EAAE,GAAG,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAA;QACtF,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAC1G,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QACnI,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,qBAAqB,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc;YAC7I,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAChF,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,EAAE,CAAC,CAAA;QACrE,MAAM,CAAC,cAAc,EAAE,CAAA;QACvB,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAA;QAChE,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACpH,IAAI,WAAW,KAAK,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,4DAA4D,CAAC,CAAA;QACjH,CAAC;QACD,IAAI,CAAC,MAAM,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB;gBAC1H,IAAI,CAAC,WAAW,CAAC,WAAW;YAAE,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,8CAA8C,CAAC,CAAA;QACrI,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAA;IAChC,CAAC;YAAS,CAAC;QAAC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,IAAY;IAC9C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAA;IAC9B,IAAI,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;WACnD,CAAC,GAAG,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,KAAK,GAAG,CAAC;WACjE,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,oBAAoB,CAAC,kBAAkB,EAAE,0BAA0B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;IAClJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAE5C;IACC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAAE,MAAM,IAAI,oBAAoB,CAAC,kBAAkB,EAAE,wCAAwC,CAAC,CAAA;IAC3I,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9D,MAAM,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAC3C,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IACnD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,UAAU;QAAE,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,mCAAmC,CAAC,CAAA;IAC9H,MAAM,QAAQ,GAAG,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,UAAU,WAAW,CAAC,EAAE,UAAU,EAClH,KAAK,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAC/C,IAAI,QAAQ,KAAK,KAAK,CAAC,UAAU;QAAE,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,uCAAuC,CAAC,CAAA;IAC7H,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QAAE,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAA;IACpL,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,KAAK,SAAS;QAC/C,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;IACjG,6EAA6E;IAC7E,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;QAAE,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5E,IAAI,CAAC;QACH,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;IAC1H,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;YAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1F,qEAAqE;QACrE,2EAA2E;QAC3E,MAAM,KAAK,CAAA;IACb,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;QACvC,IAAI,OAAO;YAAE,OAAM;QACnB,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,uBAAuB,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAA;YACjE,OAAO,GAAG,IAAI,CAAA;YACd,OAAM;QACR,CAAC;QACD,OAAO,GAAG,IAAI,CAAA;QACd,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;YACxG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAC3G,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YACpD,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAC3G,CAAC;IACH,CAAC,CAAA;IACD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;AACvD,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAE7C;IACC,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;WACnD,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,8CAA8C,CAAC,CAAA;IACnG,CAAC;IACD,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9D,MAAM,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE;QAClF,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QAC7C,MAAM,KAAK,CAAA;IACb,CAAC,CAAC,CAAA;IACF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/I,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC/G,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,yEAAyE,CAAC,CAAA;QAC9H,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,KAAK,CAAC,UAAU,EAAE,CAAC;gBAAE,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,wCAAwC,CAAC,CAAA;YAC/J,MAAM,MAAM,GAAG,KAAK,EAAE,GAAW,EAAmB,EAAE,CAAC,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,wBAAwB,EAAE,kBAAkB,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YACpM,MAAM,GAAG,GAAG,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YACzI,IAAI,GAAG,KAAK,KAAK,CAAC,QAAQ,IAAI,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;gBAAE,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,8CAA8C,CAAC,CAAA;YAChM,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;QACtH,CAAC;IACH,CAAC;IACD,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;IACxF,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/I,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,KAA4B,EAAE,EAAE;QAC5F,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAA;QACzC,MAAM,KAAK,CAAA;IACb,CAAC,CAAC,CAAA;IACF,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC;QAAE,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,sCAAsC,CAAC,CAAA;AACtK,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAE5C;IACC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACvC,yBAAyB,CAAC,KAAK,CAAC,CAAA;IAChC,MAAM,yBAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AACxD,CAAC;AAED;+EAC+E;AAC/E,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAE7C;IACC,yBAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,yBAAyB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AAChF,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,yBAAyB,CAAC,KAAkC;IAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,oBAAoB,CAAC,kBAAkB,EAAE,iCAAiC,CAAC,CAAA;IAChH,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QAC1D,MAAM,IAAI,oBAAoB,CAAC,kBAAkB,EAAE,yCAAyC,kBAAkB,QAAQ,CAAC,CAAA;IACzH,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YAAE,MAAM,IAAI,oBAAoB,CAAC,kBAAkB,EAAE,kDAAkD,CAAC,CAAA;QAC1N,MAAM,UAAU,GAAW,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACrD,IAAI,UAAU,KAAK,EAAE,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;eACvE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC;YAClG,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,+CAA+C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC/H,CAAC;QACD,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,KAAK,gBAAgB,IAAI,OAAO,KAAK,aAAa,IAAI,OAAO,KAAK,MAAM,CAAC,EAAE,CAAC;YAC3H,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,mDAAmD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACnI,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,MAAM,IAAI,oBAAoB,CAAC,kBAAkB,EAAE,iCAAiC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QAC3I,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACpB,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACrD,IAAI,KAAK,GAAG,uBAAuB;YAAE,MAAM,IAAI,oBAAoB,CAAC,kBAAkB,EAAE,iBAAiB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,uBAAuB,aAAa,CAAC,CAAA;QACxL,UAAU,IAAI,KAAK,CAAA;QACnB,IAAI,UAAU,GAAG,wBAAwB;YAAE,MAAM,IAAI,oBAAoB,CAAC,kBAAkB,EAAE,6BAA6B,wBAAwB,mBAAmB,CAAC,CAAA;IACzK,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,QAAgB,EAAE,IAAY,EAAE,KAAkC,EACzG,aAAa,GAAG,KAAK;IACrB,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;IACrD,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE;QAClF,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QAC7C,MAAM,KAAK,CAAA;IACb,CAAC,CAAC,CAAA;IACF,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;QAC/F,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,4FAA4F,CAAC,CAAA;IAC/K,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAC7C,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACtC,wEAAwE;QACxE,4DAA4D;QAC5D,IAAI,MAAM,GAAG,UAAU,CAAA;QACvB,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC9B,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE;gBACxE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;oBAAE,OAAO,SAAS,CAAA;gBAC7C,MAAM,KAAK,CAAA;YACb,CAAC,CAAC,CAAA;YACF,IAAI,QAAQ,KAAK,SAAS,IAAI,aAAa,EAAE,CAAC;gBAC5C,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;gBACpC,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAA;YAChC,CAAC;YACD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;gBACnF,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,gFAAgF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YACjK,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAA;QAC3D,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QAC5C,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,+CAA+C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC/H,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE;YAChF,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAA;YAC7C,MAAM,KAAK,CAAA;QACb,CAAC,CAAC,CAAA;QACF,IAAI,cAAc,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE;eAC/D,CAAC,aAAa,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,cAAc,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,uCAAuC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACxH,CAAC;QACD,IAAI,MAAM,CAAA;QACV,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EACxB,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QACrG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,IAAK,KAA+B,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACtD,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,uCAAuC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YACxH,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;QACD,IAAI,CAAC;YAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAAC,CAAC;gBAAS,CAAC;YAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QAAC,CAAC;IACjH,CAAC;AACH,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,yBAAyB,CAAC,IACoG,EAC9I,GAAW;IACT,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG;QAAE,OAAO,KAAK,CAAA;IACvC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC/E,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;WAC7H,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,gBAAgB;QAAE,OAAO,KAAK,CAAA;IAClJ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC;WAC3D,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;AAC9G,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAAkB,EAAE,WAA8B;IACtF,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,UAAU,EAC5F,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE,CAAC,CAAA;IAC1E,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAChI,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAE7C;IACC,IAAI,CAAC;QACH,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;IACtH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5D,CAAC;IACD,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AACjH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,KAK/C;IACC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAA;IACpE,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACrF,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;YAAE,SAAQ;QACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC5C,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC;YAAE,SAAQ;QAC5E,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAsB,EAAE,CAAC,EAAE,CAAC,CAAA;QAC3G,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,SAAQ;QACxC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,SAAS;eACvG,CAAC,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAAE,SAAQ;QAC1F,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;QAC1G,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACvE,MAAM,uBAAuB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU;gBACpE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;QAC5E,CAAC;;YAAM,MAAM,uBAAuB,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;QAC/G,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxB,CAAC;IACD,4EAA4E;IAC5E,mEAAmE;IACnE,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC3D,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;AAC3D,CAAC"}
package/lib/sqlite.d.ts CHANGED
@@ -1,9 +1,19 @@
1
1
  import { DatabaseSync } from 'node:sqlite';
2
- export declare const controlPlaneSchemaVersion = 23;
2
+ export declare const controlPlaneSchemaVersion = 34;
3
3
  export declare function controlPlaneOperationReceiptDigest(idempotencyKey: string, operation: string, inputDigest: string, resultJson: string, createdAt: number): string;
4
4
  export declare class ControlPlaneDatabaseError extends Error {
5
- readonly code: 'invalid-path' | 'schema-too-new' | 'unsafe-file';
6
- constructor(code: 'invalid-path' | 'schema-too-new' | 'unsafe-file', message: string);
5
+ readonly code: 'invalid-path' | 'missing' | 'schema-too-new' | 'schema-version' | 'unsafe-file' | 'unsettled-journal';
6
+ constructor(code: 'invalid-path' | 'missing' | 'schema-too-new' | 'schema-version' | 'unsafe-file' | 'unsettled-journal', message: string);
7
7
  }
8
8
  export declare function openControlPlaneDatabase(path: string): DatabaseSync;
9
+ /**
10
+ * Open a stopped, checkpointed control-plane ledger strictly for preflight reads.
11
+ *
12
+ * Never creates the database, never migrates it, and never changes its journal
13
+ * mode: a missing or older ledger is evidence that the caller is looking at the
14
+ * wrong Home rather than a fresh installation to initialize. Immutable SQLite
15
+ * reads avoid even WAL/SHM creation. They must never run beside a writer: any
16
+ * nonempty WAL or rollback journal is rejected rather than silently ignored.
17
+ */
18
+ export declare function openControlPlaneDatabaseReadOnly(path: string): DatabaseSync;
9
19
  //# sourceMappingURL=sqlite.d.ts.map