@deepagents/context 0.38.1 → 1.0.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 (122) hide show
  1. package/README.md +44 -11
  2. package/dist/browser.js +171 -15
  3. package/dist/browser.js.map +3 -3
  4. package/dist/index.d.ts +9 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +2584 -1361
  7. package/dist/index.js.map +4 -4
  8. package/dist/lib/agent.d.ts +6 -0
  9. package/dist/lib/agent.d.ts.map +1 -1
  10. package/dist/lib/chain-summary.d.ts +18 -0
  11. package/dist/lib/chain-summary.d.ts.map +1 -0
  12. package/dist/lib/engine.d.ts +25 -6
  13. package/dist/lib/engine.d.ts.map +1 -1
  14. package/dist/lib/fragments/message/user.d.ts +22 -2
  15. package/dist/lib/fragments/message/user.d.ts.map +1 -1
  16. package/dist/lib/fragments/reminders/combinators.d.ts +23 -0
  17. package/dist/lib/fragments/reminders/combinators.d.ts.map +1 -1
  18. package/dist/lib/fragments/reminders/message-predicates.d.ts +10 -0
  19. package/dist/lib/fragments/reminders/message-predicates.d.ts.map +1 -0
  20. package/dist/lib/fragments/reminders/temporal/elapsed.d.ts +3 -0
  21. package/dist/lib/fragments/reminders/temporal/elapsed.d.ts.map +1 -0
  22. package/dist/lib/fragments/reminders/temporal/index.d.ts +1 -0
  23. package/dist/lib/fragments/reminders/temporal/index.d.ts.map +1 -1
  24. package/dist/lib/fragments/reminders/tool-predicates.d.ts +17 -0
  25. package/dist/lib/fragments/reminders/tool-predicates.d.ts.map +1 -0
  26. package/dist/lib/fragments/reminders/usage-predicates.d.ts +3 -0
  27. package/dist/lib/fragments/reminders/usage-predicates.d.ts.map +1 -0
  28. package/dist/lib/fragments.d.ts +8 -3
  29. package/dist/lib/fragments.d.ts.map +1 -1
  30. package/dist/lib/resolvers/async-resolver.d.ts +8 -0
  31. package/dist/lib/resolvers/async-resolver.d.ts.map +1 -0
  32. package/dist/lib/resolvers/function-resolver.d.ts +8 -0
  33. package/dist/lib/resolvers/function-resolver.d.ts.map +1 -0
  34. package/dist/lib/resolvers/generator-resolver.d.ts +13 -0
  35. package/dist/lib/resolvers/generator-resolver.d.ts.map +1 -0
  36. package/dist/lib/resolvers/index.d.ts +10 -0
  37. package/dist/lib/resolvers/index.d.ts.map +1 -0
  38. package/dist/lib/resolvers/iterable-resolver.d.ts +12 -0
  39. package/dist/lib/resolvers/iterable-resolver.d.ts.map +1 -0
  40. package/dist/lib/resolvers/loader-resolver.d.ts +13 -0
  41. package/dist/lib/resolvers/loader-resolver.d.ts.map +1 -0
  42. package/dist/lib/resolvers/promise-resolver.d.ts +7 -0
  43. package/dist/lib/resolvers/promise-resolver.d.ts.map +1 -0
  44. package/dist/lib/resolvers/types.d.ts +45 -0
  45. package/dist/lib/resolvers/types.d.ts.map +1 -0
  46. package/dist/lib/sandbox/ast-utils.d.ts +5 -2
  47. package/dist/lib/sandbox/ast-utils.d.ts.map +1 -1
  48. package/dist/lib/sandbox/bash-tool.d.ts.map +1 -1
  49. package/dist/lib/sandbox/container-tool.d.ts +32 -8
  50. package/dist/lib/sandbox/container-tool.d.ts.map +1 -1
  51. package/dist/lib/sandbox/docker-sandbox-errors.d.ts +58 -0
  52. package/dist/lib/sandbox/docker-sandbox-errors.d.ts.map +1 -0
  53. package/dist/lib/sandbox/docker-sandbox.d.ts +69 -357
  54. package/dist/lib/sandbox/docker-sandbox.d.ts.map +1 -1
  55. package/dist/lib/sandbox/index.d.ts +2 -7
  56. package/dist/lib/sandbox/index.d.ts.map +1 -1
  57. package/dist/lib/sandbox/installers/github-release.d.ts +46 -0
  58. package/dist/lib/sandbox/installers/github-release.d.ts.map +1 -0
  59. package/dist/lib/sandbox/installers/index.d.ts +7 -0
  60. package/dist/lib/sandbox/installers/index.d.ts.map +1 -0
  61. package/dist/lib/sandbox/installers/installer.d.ts +44 -0
  62. package/dist/lib/sandbox/installers/installer.d.ts.map +1 -0
  63. package/dist/lib/sandbox/installers/npm.d.ts +32 -0
  64. package/dist/lib/sandbox/installers/npm.d.ts.map +1 -0
  65. package/dist/lib/sandbox/installers/package-manager.d.ts +19 -0
  66. package/dist/lib/sandbox/installers/package-manager.d.ts.map +1 -0
  67. package/dist/lib/sandbox/installers/pip.d.ts +37 -0
  68. package/dist/lib/sandbox/installers/pip.d.ts.map +1 -0
  69. package/dist/lib/sandbox/installers/url-binary.d.ts +41 -0
  70. package/dist/lib/sandbox/installers/url-binary.d.ts.map +1 -0
  71. package/dist/lib/sandbox/subcommand.d.ts +11 -11
  72. package/dist/lib/sandbox/subcommand.d.ts.map +1 -1
  73. package/dist/lib/sandbox/upload-skills.d.ts +6 -0
  74. package/dist/lib/sandbox/upload-skills.d.ts.map +1 -1
  75. package/dist/lib/sandbox/virtual-sandbox.d.ts +10 -0
  76. package/dist/lib/sandbox/virtual-sandbox.d.ts.map +1 -0
  77. package/dist/lib/save/reminder-target-handler.d.ts +36 -0
  78. package/dist/lib/save/reminder-target-handler.d.ts.map +1 -0
  79. package/dist/lib/save/save-pipeline.d.ts +28 -0
  80. package/dist/lib/save/save-pipeline.d.ts.map +1 -0
  81. package/dist/lib/save/tool-output-target-handler.d.ts +7 -0
  82. package/dist/lib/save/tool-output-target-handler.d.ts.map +1 -0
  83. package/dist/lib/save/user-target-handler.d.ts +7 -0
  84. package/dist/lib/save/user-target-handler.d.ts.map +1 -0
  85. package/dist/lib/stream/change-source.d.ts +11 -0
  86. package/dist/lib/stream/change-source.d.ts.map +1 -0
  87. package/dist/lib/stream/ddl.stream.postgres-notify.d.ts +3 -0
  88. package/dist/lib/stream/ddl.stream.postgres-notify.d.ts.map +1 -0
  89. package/dist/lib/stream/ddl.stream.postgres.d.ts +2 -0
  90. package/dist/lib/stream/ddl.stream.postgres.d.ts.map +1 -0
  91. package/dist/lib/stream/polling-change-source.d.ts +27 -0
  92. package/dist/lib/stream/polling-change-source.d.ts.map +1 -0
  93. package/dist/lib/stream/polling-policy.d.ts +0 -1
  94. package/dist/lib/stream/polling-policy.d.ts.map +1 -1
  95. package/dist/lib/stream/postgres-notify-change-source.d.ts +15 -0
  96. package/dist/lib/stream/postgres-notify-change-source.d.ts.map +1 -0
  97. package/dist/lib/stream/postgres.stream-store.d.ts +29 -0
  98. package/dist/lib/stream/postgres.stream-store.d.ts.map +1 -0
  99. package/dist/lib/stream/stream-manager.d.ts +8 -27
  100. package/dist/lib/stream/stream-manager.d.ts.map +1 -1
  101. package/dist/lib/ui-message-guards.d.ts +10 -0
  102. package/dist/lib/ui-message-guards.d.ts.map +1 -0
  103. package/package.json +8 -13
  104. package/dist/lib/sandbox/extension.d.ts +0 -39
  105. package/dist/lib/sandbox/extension.d.ts.map +0 -1
  106. package/dist/lib/sandbox/openapi/demo.d.ts +0 -2
  107. package/dist/lib/sandbox/openapi/demo.d.ts.map +0 -1
  108. package/dist/lib/sandbox/openapi/extension.d.ts +0 -19
  109. package/dist/lib/sandbox/openapi/extension.d.ts.map +0 -1
  110. package/dist/lib/sandbox/openapi/format.d.ts +0 -11
  111. package/dist/lib/sandbox/openapi/format.d.ts.map +0 -1
  112. package/dist/lib/sandbox/openapi/schema.d.ts +0 -9
  113. package/dist/lib/sandbox/openapi/schema.d.ts.map +0 -1
  114. package/dist/lib/sandbox/openapi/skill/index.d.ts +0 -6
  115. package/dist/lib/sandbox/openapi/skill/index.d.ts.map +0 -1
  116. package/dist/lib/sandbox/openapi/skill/index.js +0 -14
  117. package/dist/lib/sandbox/openapi/skill/index.js.map +0 -7
  118. package/dist/lib/sandbox/openapi/skill/openapi-cli/SKILL.md +0 -109
  119. package/dist/lib/sandbox/openapi/validate.d.ts +0 -7
  120. package/dist/lib/sandbox/openapi/validate.d.ts.map +0 -1
  121. package/dist/lib/sandbox/routing-sandbox.d.ts +0 -28
  122. package/dist/lib/sandbox/routing-sandbox.d.ts.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import type { CreateBashToolOptions } from 'bash-tool';
2
- import { type BinaryInstall, type DockerMount, type DockerResources, type DockerSandbox } from './docker-sandbox.ts';
2
+ import { type DockerMount, type DockerResources, type DockerSandbox } from './docker-sandbox.ts';
3
+ import type { Installer } from './installers/installer.ts';
3
4
  import type { AgentSandbox, SkillUploadInput } from './types.ts';
4
5
  /**
5
6
  * Base options shared by RuntimeContainerToolOptions and DockerfileContainerToolOptions.
@@ -24,10 +25,31 @@ interface BaseContainerToolOptions extends Omit<CreateBashToolOptions, 'sandbox'
24
25
  export interface RuntimeContainerToolOptions extends BaseContainerToolOptions {
25
26
  /** Docker image to use (default: 'alpine:latest') */
26
27
  image?: string;
27
- /** Packages to install in the container via package manager (apk/apt) */
28
- packages?: string[];
29
- /** Binaries to install from URLs (for tools not in package managers) */
30
- binaries?: BinaryInstall[];
28
+ /**
29
+ * Ordered list of installers run after the container starts.
30
+ *
31
+ * Built-in factory helpers:
32
+ * - `pkg([...])` — OS packages (apk/apt-get auto-detected)
33
+ * - `urlBinary({ name, url, binaryPath? })` — pre-built binary from a URL
34
+ * - `npm(name, { ensureRuntime?, version? })` — global npm install
35
+ * - `pip(name, { ensureRuntime?, version? })` — pip install
36
+ * - `githubRelease({ owner, repo, version, name, asset })` — GitHub release asset
37
+ *
38
+ * For anything else, subclass `Installer` and pass an instance directly.
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * import { pkg, urlBinary, npm } from '@deepagents/context';
43
+ *
44
+ * createContainerTool({
45
+ * installers: [
46
+ * pkg(['curl', 'jq']),
47
+ * npm('prettier', { ensureRuntime: true }),
48
+ * ],
49
+ * });
50
+ * ```
51
+ */
52
+ installers?: Installer[];
31
53
  }
32
54
  /**
33
55
  * Options for container tool using DockerfileStrategy.
@@ -89,8 +111,10 @@ export type ContainerToolResult = Omit<AgentSandbox, 'sandbox'> & {
89
111
  *
90
112
  * @example RuntimeStrategy (default)
91
113
  * ```typescript
114
+ * import { createContainerTool, pkg } from '@deepagents/context';
115
+ *
92
116
  * const sandbox = await createContainerTool({
93
- * packages: ['curl', 'jq'],
117
+ * installers: [pkg(['curl', 'jq'])],
94
118
  * mounts: [{
95
119
  * hostPath: process.cwd(),
96
120
  * containerPath: '/workspace',
@@ -112,7 +136,7 @@ export type ContainerToolResult = Omit<AgentSandbox, 'sandbox'> & {
112
136
  * @example RuntimeStrategy with skills
113
137
  * ```typescript
114
138
  * const sandbox = await createContainerTool({
115
- * packages: ['curl', 'jq'],
139
+ * installers: [pkg(['curl', 'jq'])],
116
140
  * skills: [
117
141
  * { host: './skills', sandbox: '/workspace/skills' },
118
142
  * ],
@@ -149,7 +173,7 @@ export type ContainerToolResult = Omit<AgentSandbox, 'sandbox'> & {
149
173
  * @example With hooks for logging
150
174
  * ```typescript
151
175
  * const sandbox = await createContainerTool({
152
- * packages: ['python3'],
176
+ * installers: [pkg(['python3'])],
153
177
  * onBeforeBashCall: ({ command }) => {
154
178
  * console.log('Running:', command);
155
179
  * },
@@ -1 +1 @@
1
- {"version":3,"file":"container-tool.d.ts","sourceRoot":"","sources":["../../../src/lib/sandbox/container-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAGvD,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,aAAa,EAKnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEjE;;GAEG;AACH,UAAU,wBAAyB,SAAQ,IAAI,CAC7C,qBAAqB,EACrB,SAAS,GAAG,iBAAiB,CAC9B;IACC,wDAAwD;IACxD,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,wCAAwC;IACxC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA4B,SAAQ,wBAAwB;IAC3E,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,8BAA+B,SAAQ,wBAAwB;IAC9E,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA4B,SAAQ,IAAI,CACvD,qBAAqB,EACrB,SAAS,GAAG,iBAAiB,CAC9B;IACC,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAC5B,2BAA2B,GAC3B,8BAA8B,GAC9B,2BAA2B,CAAC;AAEhC;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG;IAChE,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuFG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAqD9B"}
1
+ {"version":3,"file":"container-tool.d.ts","sourceRoot":"","sources":["../../../src/lib/sandbox/container-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAGvD,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,aAAa,EAKnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEjE;;GAEG;AACH,UAAU,wBAAyB,SAAQ,IAAI,CAC7C,qBAAqB,EACrB,SAAS,GAAG,iBAAiB,CAC9B;IACC,wDAAwD;IACxD,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,wCAAwC;IACxC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA4B,SAAQ,wBAAwB;IAC3E,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,8BAA+B,SAAQ,wBAAwB;IAC9E,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA4B,SAAQ,IAAI,CACvD,qBAAqB,EACrB,SAAS,GAAG,iBAAiB,CAC9B;IACC,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAC5B,2BAA2B,GAC3B,8BAA8B,GAC9B,2BAA2B,CAAC;AAEhC;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG;IAChE,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyFG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAoD9B"}
@@ -0,0 +1,58 @@
1
+ export declare class DockerSandboxError extends Error {
2
+ readonly containerId?: string;
3
+ constructor(message: string, containerId?: string);
4
+ }
5
+ export declare class DockerNotAvailableError extends DockerSandboxError {
6
+ constructor();
7
+ }
8
+ export declare class ContainerCreationError extends DockerSandboxError {
9
+ readonly image: string;
10
+ cause?: Error;
11
+ constructor(message: string, image: string, cause?: Error);
12
+ }
13
+ export declare class PackageInstallError extends DockerSandboxError {
14
+ readonly packages: string[];
15
+ readonly image: string;
16
+ readonly packageManager: 'apk' | 'apt-get';
17
+ readonly stderr: string;
18
+ constructor(packages: string[], image: string, packageManager: 'apk' | 'apt-get', stderr: string, containerId?: string);
19
+ }
20
+ export type InstallSource = 'url' | 'npm' | 'pypi' | 'github-release';
21
+ export interface InstallErrorOptions {
22
+ /** Logical name of the thing being installed (e.g. `'prettier'`, `'presenterm'`). */
23
+ target: string;
24
+ /** Where it was being fetched from. */
25
+ source: InstallSource;
26
+ /** Underlying failure message (typically stderr). */
27
+ reason: string;
28
+ /** Resolved URL when applicable (URL binary / GitHub release). */
29
+ url?: string;
30
+ containerId?: string;
31
+ }
32
+ export declare class InstallError extends DockerSandboxError {
33
+ readonly target: string;
34
+ readonly source: InstallSource;
35
+ readonly reason: string;
36
+ readonly url?: string;
37
+ constructor(opts: InstallErrorOptions);
38
+ }
39
+ export declare class MissingRuntimeError extends DockerSandboxError {
40
+ readonly runtime: string;
41
+ readonly required: string[];
42
+ constructor(runtime: string, required: string[], details?: string, containerId?: string);
43
+ }
44
+ export declare class MountPathError extends DockerSandboxError {
45
+ readonly hostPath: string;
46
+ readonly containerPath: string;
47
+ constructor(hostPath: string, containerPath: string);
48
+ }
49
+ export declare class DockerfileBuildError extends DockerSandboxError {
50
+ readonly stderr: string;
51
+ constructor(stderr: string);
52
+ }
53
+ export declare class ComposeStartError extends DockerSandboxError {
54
+ readonly composeFile: string;
55
+ readonly stderr: string;
56
+ constructor(composeFile: string, stderr: string);
57
+ }
58
+ //# sourceMappingURL=docker-sandbox-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker-sandbox-errors.d.ts","sourceRoot":"","sources":["../../../src/lib/sandbox/docker-sandbox-errors.ts"],"names":[],"mappings":"AAAA,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;gBAElB,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;CAKlD;AAED,qBAAa,uBAAwB,SAAQ,kBAAkB;;CAK9D;AAED,qBAAa,sBAAuB,SAAQ,kBAAkB;IAC5D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;gBAEX,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAM1D;AAED,qBAAa,mBAAoB,SAAQ,kBAAkB;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,KAAK,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAGtB,QAAQ,EAAE,MAAM,EAAE,EAClB,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,KAAK,GAAG,SAAS,EACjC,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM;CAavB;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,gBAAgB,CAAC;AAEtE,MAAM,WAAW,mBAAmB;IAClC,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,MAAM,EAAE,aAAa,CAAC;IACtB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,YAAa,SAAQ,kBAAkB;IAClD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,mBAAmB;CAYtC;AAED,qBAAa,mBAAoB,SAAQ,kBAAkB;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAG1B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM;CAQvB;AAED,qBAAa,cAAe,SAAQ,kBAAkB;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAEnB,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAQpD;AAED,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM;CAK3B;AAED,qBAAa,iBAAkB,SAAQ,kBAAkB;IACvD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAMhD"}