@dsh-enhanced/assistant-web-owner 0.1.65 → 0.1.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -9
- package/lib/autonomy.d.ts +35 -3
- package/lib/autonomy.d.ts.map +1 -1
- package/lib/autonomy.js +114 -12
- package/lib/autonomy.js.map +1 -1
- package/lib/doctor.d.ts +51 -3
- package/lib/doctor.d.ts.map +1 -1
- package/lib/doctor.js +386 -16
- package/lib/doctor.js.map +1 -1
- package/lib/goal-admission.d.ts.map +1 -1
- package/lib/goal-admission.js +7 -1
- package/lib/goal-admission.js.map +1 -1
- package/lib/setup.d.ts.map +1 -1
- package/lib/setup.js +66 -13
- package/lib/setup.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +19 -19
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## 安装与配置
|
|
6
6
|
|
|
7
|
-
兼容 DSH
|
|
7
|
+
兼容 DSH `>=0.2.1-rc.2 <0.3.0`。这是可独立安装的可选实验性 bundle。本地源码安装可使用现有安装器的显式 Web 场景;默认 `core` 不会自动启用它:
|
|
8
8
|
|
|
9
9
|
```sh
|
|
10
10
|
./scripts/install/install-local.sh --scenario web --workspace /absolute/workspace --yes --no-service
|
|
@@ -63,15 +63,47 @@ Delivery 保存 Web owner/binding、Inbox 文本、内容摘要、尝试与租
|
|
|
63
63
|
|
|
64
64
|
## 有限离线执行安装
|
|
65
65
|
|
|
66
|
-
仓库安装器 `--scenario autonomy`
|
|
66
|
+
仓库安装器 `--scenario autonomy` 接通同一套有界 Web owner setup。Linux 未指定镜像时默认选择 `linux-native`;显式 `--isolation-image sha256:<id>` 继续使用 Docker,macOS 保持 Docker 路径。也可显式指定 `--isolation-backend linux-native|docker`;native 与 image、Docker 与 native source repository 的混合参数会拒绝。普通 Web setup 不加载 Isolation;显式选择 autonomy 时需安装匹配版本的 Isolation、Actions 和 Keychain。
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
```sh
|
|
69
|
+
# Linux:固定当前安装包版本的官方 tag,准备独立工具链后执行真实 native probe
|
|
70
|
+
./scripts/install/install-local.sh --scenario autonomy --workspace /absolute/workspace --yes --no-service
|
|
71
|
+
|
|
72
|
+
# 本地开发:只使用此仓库的 committed HEAD,不包含未提交的工作区修改
|
|
73
|
+
./scripts/install/install-local.sh --scenario autonomy --isolation-backend linux-native \
|
|
74
|
+
--isolation-source-repository /absolute/repository --workspace /absolute/workspace --yes --no-service
|
|
75
|
+
|
|
76
|
+
# macOS 或显式保留 Docker backend 的 profile
|
|
77
|
+
./scripts/install/install-local.sh --scenario autonomy --isolation-image sha256:<64位小写hex> \
|
|
78
|
+
--workspace /absolute/workspace --yes --no-service
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
| 参数 | 默认值 | 边界 |
|
|
82
|
+
| --- | --- | --- |
|
|
83
|
+
| `--isolation-backend` | Linux 无 image 为 `linux-native`;其余为 `docker` | native 需要非 root Linux、受支持的 user namespace、cgroup v1 当前用户委派及原生探测通过;不自动安装系统前提 |
|
|
84
|
+
| `--isolation-source-repository` | 无 | native 可选的规范绝对仓库路径;冻结 committed HEAD,版本固定取本安装包 package.json;省略时只读取固定官方同版本 tag |
|
|
85
|
+
| `--isolation-image` | 无 | Docker 必填的 immutable sha256 镜像;本入口不拉取或构建镜像 |
|
|
86
|
+
| `--isolation-max-runs` | `20` | 有限 grant 最大次数(1–10000) |
|
|
87
|
+
| `--isolation-lease-minutes` | `60` | grant 原始期限(1–10080 分钟);setup CLI 对应 `--isolation-lease-ms` |
|
|
88
|
+
| `--isolation-runtime-minutes` | `10` | 累计保留运行时预算(1–1440 分钟);setup CLI 对应 `--isolation-runtime-ms` |
|
|
89
|
+
|
|
90
|
+
`dsh-web-owner-setup` 同样接受 backend/source/image 选择;native 的程序化输入为 `isolation: { backend: 'linux-native', source?: { kind: 'official-tag' } | { kind: 'local-head', repository }, maxRuns, leaseMs, maxTotalDurationMs }`。纯 profile materializer 接受的是已解析 `linux: { runtime, cgroupRoots }`,不解析 Git、不下载、不配对、不产生授权。
|
|
91
|
+
|
|
92
|
+
setup 在 profile 锁内先静态验证合并配置、受管 grant、backend 与路径,再冻结来源、准备/读取工具链、发现 cgroup 根并执行真实 native probe;这些资源失败发生在 owner 配对与 grant/patch 写入之前。runtime 位于真实 `DSH_HOME/rsi-linux-runtimes/<profile>/runtime`,不得与 Isolation stateRoot 重叠;其 source/lock/tree/收据身份由共享资源 API 核对。Docker 继续用配置中的 Docker executable 和生产 supervisor 探测。二者通过后才初始化 owner 并原子写入有限 grant。相同配置重放只读取已有 native 收据,不重新构建、不延长 grant、不重置持久用量、不更换 revision,也不替换或复活 owner;source/descriptor/backend/grant 漂移拒绝并要求明确迁移。
|
|
93
|
+
|
|
94
|
+
`dsh-autonomy-doctor` 根据持久 backend 描述选择探测:native 校验既有 runtime 并 probe,Docker 运行既有镜像 probe。它不调用 freeze/prepare、不下载、不配对、不写授权或续期,不激活第二个 Host;通过仅是当前资源、owner 与有限 grant 的诊断快照,不证明模型、Goal 独立验收或外部 Actions 已配置。同一入口还提供只读的普通使用学习就绪快照(`--readiness`,见下文)。
|
|
69
95
|
|
|
70
|
-
|
|
96
|
+
Isolation、Actions、Keychain、Skills 与 Proactive 的可变状态路径均规范化到真实 `DSH_HOME` 内,Skills 的嵌套比较/留出 `stateRoot` 也受同一约束;已有祖先 symlink 逃逸拒绝。旧 Skills/Proactive published-default SQLite 或 sidecar 若已有数据,不静默切换位置,必须先停 Host 并显式离线迁移。setup 在失败前可能创建工作区/资源目录,owner 数据库与 patch 不能跨库原子提交。
|
|
97
|
+
|
|
98
|
+
native 资源准备会使用固定官方 Git tag/官方工具链下载、Git/归档/Node/pnpm 子进程和 Home 内私有 staging;不调用 Lark 完整准备、不改 Control Plane、不启服务、不配置外部凭据。Docker 路径额外使用本机 Docker。未知清理状态的探测目录保留排查。有限 Goal admission 可沿用持久 native descriptor 配置独立 `isolated-runner` 验收,见下节;普通 native probe 通过本身不证明 held-out 验收、完整去 Docker 或长期自治。具体安装前提见[安装说明](../../scripts/install/README.md)。
|
|
71
99
|
|
|
72
100
|
## 有限 Goal admission(实验性)
|
|
73
101
|
|
|
74
|
-
在已完成 `autonomy`
|
|
102
|
+
在已完成 `autonomy` 安装后(Docker 或 Linux native backend),可用一次离线 setup 把**一个已有、空闲的 Web owner Session**配置为固定 DeepSeek 路由、有限 Goals 预算、独立隔离验收条件和可选 wake route。先停止目标 Host;准备工作区之外、当前用户所有且权限为 `0600` 的 JSON 任务文件。不要把 API key 写进文件,`apiKeyEnv` 只是 credential reference。
|
|
103
|
+
|
|
104
|
+
native admission 只复制该 profile 已持久化的 `runtime` 与 `cgroupRoots`,在原 `isolated-runner` authority 中明确设置 `backend: linux-native`,不混入 Docker image/dockerPath。它不重新 freeze/prepare、不发现 cgroup、不下载或迁移 backend;编译通过不表示真实 Linux 执行已成功。Docker authority 保留既有字段与规范化 digest,不自动写入 backend 默认字段。
|
|
105
|
+
|
|
106
|
+
两条路径都沿用已有 owner/session/scope 围栏、grant 的原绝对 `expiresAt`、任务的有限验证次数/累计时限/单次时限/输出上限与私有测试用例。native descriptor 与 cgroup 值进入独立 authority digest;同 owner/任务重放保持相同配置,不续期、不重置原 Isolation 或 Verifier 用量。已配置 authority 后发生 runtime/cgroup/验证预算漂移会拒绝覆盖;owner/scope 不匹配、grant 过期或持久预算不可用也拒绝。实际验收仍通过既有 Goals 可信 producer、成功且 quiescent 的 accepted artifact 与 Verifier 私有 held-out 进程结果;模型报告、普通工具退出或 setup 成功都不能代替它。
|
|
75
107
|
|
|
76
108
|
先用正式 setup 入口列出当前 owner 的真实空闲 Session;它只读取匹配当前 Web principal、workspace 和 preset 的 Delivery binding,绝不创建或伪造原生 Session。新 profile 需要先从原生 Web UI 打开一次,让 DSH 创建 Session。`--session-id` 可显式选择;省略时只有一个合法空闲 binding 才会自动选择,多个候选会原样列出并拒绝继续。
|
|
77
109
|
|
|
@@ -124,19 +156,19 @@ dsh --profile web --no-open
|
|
|
124
156
|
|
|
125
157
|
该 v1 格式保留固定 `deepseek-v4-flash` 或 `deepseek-v4-pro` 路径,endpoint 不可配置。每次目标模型调用会保守预留至少 `2,097,152` 输入 tokens;当前没有 USD 硬预算,任务不得添加 `costUsdMicros`。
|
|
126
158
|
|
|
127
|
-
v2 可使用安装器已经配置且实际出现在 `agent-default-model` 的任意精确 provider/model,例如 `
|
|
159
|
+
v2 可使用安装器已经配置且实际出现在 `agent-default-model` 的任意精确 provider/model,例如 `custom-gateway` / `configured-model-id`。它不会写入 provider、endpoint 或 secret 配置:`route` 必须与已配置默认 route 完全相等,且 calls budget 的唯一 `routes` 项必须与它相同。启用后台唤醒时,setup 同时将 Delivery 的默认 provider/model 和输出上限设为这条已授权线路,保证恢复使用相同线路;运行时仍逐次检查预算。
|
|
128
160
|
|
|
129
161
|
```json
|
|
130
162
|
{
|
|
131
163
|
"version": 2,
|
|
132
164
|
"objective": "Verify the generated artifact",
|
|
133
|
-
"route": { "provider": "
|
|
165
|
+
"route": { "provider": "custom-gateway", "model": "configured-model-id" },
|
|
134
166
|
"maxGoalRounds": 2,
|
|
135
167
|
"stepMaxDurationMs": 60000,
|
|
136
168
|
"executionBudget": {
|
|
137
169
|
"mode": "calls", "modelCalls": 3, "toolCalls": 3,
|
|
138
170
|
"durationMs": 120000, "maxOutputTokensPerCall": 8192,
|
|
139
|
-
"routes": [{ "provider": "
|
|
171
|
+
"routes": [{ "provider": "custom-gateway", "model": "configured-model-id" }]
|
|
140
172
|
},
|
|
141
173
|
"verification": { "artifactPath": "result.txt", "command": "node verify.mjs", "maxRuns": 4, "maxTotalDurationMs": 100000, "maxDurationMs": 20000, "maxOutputBytes": 4096, "cases": [{ "stdin": "one\n", "expectedStdout": "one\n", "expectedExitCode": 0 }] }
|
|
142
174
|
}
|
|
@@ -196,10 +228,27 @@ v2 任务可增加 `repositoryDelivery`,继续使用同一个 `--goal-admissio
|
|
|
196
228
|
|
|
197
229
|
该精确 Session 仅用于核验 owner 和可选 wake route;生成的 profiles 绑定 owner、scope 和 objective。setup 只写入并复核本地配置、已有 owner snapshot 与持久 grant;它不发 DeepSeek 请求、不创建 Goal、不证明凭据可用、网络连通、模型质量、隔离验收成功或完整 WP17/长期自治已经完成。grant 已过期、撤销、耗尽,owner/version 改变,或 Session 有 pending/dispatched/unknown lease 时必须先按正常运维流程处理,不能靠重跑此命令续权。
|
|
198
230
|
|
|
199
|
-
发布文件同时包含 `dsh-autonomy-doctor --profile web`。此 CLI 读取有效 profile 和当前 Delivery owner、Isolation grant
|
|
231
|
+
发布文件同时包含 `dsh-autonomy-doctor --profile web`。此 CLI 读取有效 profile 和当前 Delivery owner、Isolation grant/累计预算快照,再按持久 backend 运行独立的固定 Docker 或 native runtime 探测,最后复核配置/授权没有失效;不会开启第二个 Host、配对 owner、迁移数据库、续期 grant 或重置预算。使用 SQLite 只读连接,不读取凭据/业务产物,也不请求模型。缺失或不支持的 schema、owner 版本改变、撤销、过期、耗尽和配置不一致都失败。当前支持已审查的 Delivery schema 24–31、Isolation schema 7/8/9 和安装器的单一受管 grant;要求匹配本批源码的 Isolation diagnostics API,缺失该 API 时明确要求升级,不回退到忽略持久授权的探测。安装或升级时应使用同一套件版本的 Web owner 与 Isolation,以保持此诊断接口一致。
|
|
200
232
|
|
|
201
233
|
结果只说明有限隔离检查,不能替代动态 Policy、实时资源准入、模型硬预算、Goal 验收或外部 Actions 检查。该 CLI 的临时探测使用现有 Isolation 资源边界和清理规则;未知清理保留证据,不消耗业务 grant。
|
|
202
234
|
|
|
235
|
+
### 只读自治就绪快照(`--readiness`)
|
|
236
|
+
|
|
237
|
+
`dsh-autonomy-doctor --readiness [--profile <name>] [--dsh-home <absolute>]` 只读取组合后的有效 profile(`dsh --dump-config`),输出确定性文本和最终一行可解析 JSON(协议 `dsh-enhanced/autonomy-readiness/v1`)。它不激活 Host、不请求模型、不写状态、不读数据库,也不读取凭据内容。检查环:
|
|
238
|
+
|
|
239
|
+
| 环节 | 就绪条件(静态) | 未就绪时的典型原因 |
|
|
240
|
+
| --- | --- | --- |
|
|
241
|
+
| `bundles` | personal-assistant、WorkItems、Delivery、Evaluation、Verifier、event-triggers、Memory learning、Growth Driver、Proactive、Control Plane 均已安装且 loader 行未禁用 | 缺包、行 disabled |
|
|
242
|
+
| `work-items-observe-intake` | `enabled: true`、`mode: observe`、`intakeLedger.enabled: true` | 未启用、active 模式、intake 关闭 |
|
|
243
|
+
| `intake-evaluator` | WorkItems `intakeLedger.evaluation.enabled` 与 Proactive `intakeEvaluation.enabled/provider/model/rules` 合法 | 生产者关闭、模型/规则缺失或非法 |
|
|
244
|
+
| `delivery-natural-feedback` | Delivery 已加载(自然反馈解析随包提供);同时报告 WorkItems 报告反馈/续办开关 | Delivery 缺失 |
|
|
245
|
+
| `background-learning` | Memory `workItemExperiences` 且两份签名 grant 同开、Growth `enabled+usageLearning.enabled+workItemFailures`、Evaluation `notificationOutcomesEnabled` | 授权未扩权、驱动关闭 |
|
|
246
|
+
| `revision-adoption` | Control Plane `revisionCapabilities` 及 `creationCapabilities`/`revisionVerifications`/`sourceJobs.revision` 前置 | 未配置(需要 owner 密钥,预设/doctor 不生成) |
|
|
247
|
+
| `event-poller` | event-triggers 已加载且 `pollerEnabled: true`(trigger 数量一并报告) | 轮询关闭、包缺失 |
|
|
248
|
+
| `ptc-presentation`(可选,不计入退出码) | Growth `toolPresentation` 为 `native` 时 ready;为 `ptc` 时标 `not-verified` | PTC 仍需运行时/审批/Policy,静态无法证明 |
|
|
249
|
+
|
|
250
|
+
必需环节全部 ready 时退出码 0;任一 not-ready 时退出码 1(fail-closed),但 doctor 本身不会因缺服务或配置不符而崩溃:解析失败、dump 失败都降级为一条 not-ready 原因。JSON 每环包含 `id`、`required`、`status`(`ready`/`not-ready`/`not-verified`)、`summary`、`reasons[{code,message}]` 与 `details`,顶层 `runtime.observed` 恒为 `false`。因此它只能证明“配置声明就绪”,不能证明运行时注册、模型调用、Policy 或外部送达;这些仍需真实 Host 与一次真实使用验收。
|
|
251
|
+
|
|
203
252
|
要为这份目标配置启用原生策略建议,可在私有 admission JSON 中增加 `"strategy": { "maxRunsPerGoal": 4 }`。setup 写入有界策略配置及精确 owner/workspace/preset 的 `goal_strategy`/`delegate` 规则;启用 wake 时同样覆盖该目标的后台路径。父子模型调用共用原来的 `executionBudget`,不会增加预算或延长隔离授权。省略该字段保持默认关闭。重新启动 Host 后生效;策略建议仍需原有独立验收,不能直接作为目标完成依据。
|
|
204
253
|
|
|
205
254
|
### 有限 repair admission
|
package/lib/autonomy.d.ts
CHANGED
|
@@ -1,20 +1,52 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type { LinuxRuntime, LinuxCgroupRoots } from '@dsh-enhanced/assistant-isolation';
|
|
2
|
+
export interface FiniteAutonomyTerms {
|
|
3
3
|
maxRuns: number;
|
|
4
4
|
leaseMs: number;
|
|
5
5
|
maxTotalDurationMs: number;
|
|
6
6
|
}
|
|
7
|
+
export type AutonomySetupOptions = FiniteAutonomyTerms & ({
|
|
8
|
+
backend?: 'docker';
|
|
9
|
+
image: string;
|
|
10
|
+
source?: never;
|
|
11
|
+
} | {
|
|
12
|
+
backend: 'linux-native';
|
|
13
|
+
image?: never;
|
|
14
|
+
source?: {
|
|
15
|
+
kind: 'official-tag';
|
|
16
|
+
} | {
|
|
17
|
+
kind: 'local-head';
|
|
18
|
+
repository: string;
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
export type AutonomyLinuxConfig = {
|
|
22
|
+
runtime: LinuxRuntime;
|
|
23
|
+
cgroupRoots: LinuxCgroupRoots;
|
|
24
|
+
};
|
|
25
|
+
export type AutonomyResolvedOptions = FiniteAutonomyTerms & ({
|
|
26
|
+
backend?: 'docker';
|
|
27
|
+
image: string;
|
|
28
|
+
} | {
|
|
29
|
+
backend: 'linux-native';
|
|
30
|
+
linux: AutonomyLinuxConfig;
|
|
31
|
+
});
|
|
7
32
|
export interface AutonomyProfileInput {
|
|
8
33
|
dshHome: string;
|
|
9
34
|
profile: string;
|
|
10
35
|
workspace: string;
|
|
11
36
|
preset: string;
|
|
12
|
-
isolation:
|
|
37
|
+
isolation: AutonomyResolvedOptions;
|
|
13
38
|
}
|
|
39
|
+
export type AutonomyPreflightInput = Omit<AutonomyProfileInput, 'isolation'> & {
|
|
40
|
+
isolation: AutonomySetupOptions;
|
|
41
|
+
};
|
|
14
42
|
export declare function validateAutonomyOptions(value: AutonomySetupOptions): void;
|
|
43
|
+
/** Reject tagged/aliased native descriptors rather than evaluating arbitrary YAML. */
|
|
44
|
+
export declare function literalAutonomyLinux(value: unknown): AutonomyLinuxConfig;
|
|
45
|
+
export declare function validateAutonomyLinuxPaths(linux: AutonomyLinuxConfig, stateRoot: string, home: string): void;
|
|
15
46
|
/** Read the exact literal Docker executable from a materialized autonomy profile. */
|
|
16
47
|
export declare function autonomyDockerPath(source: string): string;
|
|
17
48
|
/** Pure YAML materialization; it neither creates credentials nor grants external repository authority. */
|
|
49
|
+
export declare function preflightAutonomyProfile(input: AutonomyPreflightInput, source: string, effectiveSource: string): string;
|
|
18
50
|
export declare function prepareAutonomyProfile(input: AutonomyProfileInput, source: string, effectiveSource: string, owner?: {
|
|
19
51
|
id: string;
|
|
20
52
|
version: number;
|
package/lib/autonomy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autonomy.d.ts","sourceRoot":"","sources":["../src/autonomy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"autonomy.d.ts","sourceRoot":"","sources":["../src/autonomy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAQvF,MAAM,WAAW,mBAAmB;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE;AACrG,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG,CACvD;IAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,GACrD;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,cAAc,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAC3H,CAAA;AACD,MAAM,MAAM,mBAAmB,GAAG;IAAE,OAAO,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,gBAAgB,CAAA;CAAE,CAAA;AAC1F,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,GAAG,CAC1D;IAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,CAChG,CAAA;AACD,MAAM,WAAW,oBAAoB;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,uBAAuB,CAAA;CAAE;AACjJ,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,GAAG;IAAE,SAAS,EAAE,oBAAoB,CAAA;CAAE,CAAA;AAsGlH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAczE;AACD,sFAAsF;AACtF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAWxE;AACD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ5G;AAED,qFAAqF;AACrF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED,0GAA0G;AAC1G,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAGvH;AACD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,SAAa,GAAG,MAAM,CAE9K"}
|
package/lib/autonomy.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isDeepStrictEqual } from 'node:util';
|
|
1
2
|
import { createHash } from 'node:crypto';
|
|
2
3
|
import { lstatSync, realpathSync } from 'node:fs';
|
|
3
4
|
import { homedir } from 'node:os';
|
|
@@ -137,19 +138,66 @@ function options(input) {
|
|
|
137
138
|
for (const value of [input.dshHome, input.workspace])
|
|
138
139
|
if (!isAbsolute(value) || value.includes('\0') || normalize(value) !== value)
|
|
139
140
|
fail('home and workspace must be canonical absolute paths');
|
|
140
|
-
|
|
141
|
+
validateFiniteTerms(input.isolation);
|
|
141
142
|
}
|
|
142
|
-
|
|
143
|
-
if (value === null || typeof value !== 'object' || Object.keys(value).sort().join(',') !== 'image,leaseMs,maxRuns,maxTotalDurationMs')
|
|
144
|
-
fail('invalid autonomy options');
|
|
145
|
-
if (!imagePattern.test(value.image))
|
|
146
|
-
fail('image must be an immutable sha256 digest');
|
|
143
|
+
function validateFiniteTerms(value) {
|
|
147
144
|
const positive = (number, maximum, label, minimum = 1) => { if (!Number.isSafeInteger(number) || number < minimum || number > maximum)
|
|
148
145
|
fail(`invalid ${label}`); };
|
|
149
146
|
positive(value.maxRuns, 10_000, 'maxRuns');
|
|
150
147
|
positive(value.leaseMs, 7 * 24 * 60 * 60 * 1000, 'leaseMs');
|
|
151
148
|
positive(value.maxTotalDurationMs, 24 * 60 * 60 * 1000, 'maxTotalDurationMs', 60_000);
|
|
152
149
|
}
|
|
150
|
+
export function validateAutonomyOptions(value) {
|
|
151
|
+
if (value === null || typeof value !== 'object')
|
|
152
|
+
fail('invalid autonomy options');
|
|
153
|
+
const allowed = value.backend === 'linux-native' ? ['backend', 'source', 'maxRuns', 'leaseMs', 'maxTotalDurationMs'] : ['backend', 'image', 'maxRuns', 'leaseMs', 'maxTotalDurationMs'];
|
|
154
|
+
if (Object.keys(value).some(key => !allowed.includes(key)))
|
|
155
|
+
fail('mixed or invalid autonomy options');
|
|
156
|
+
validateFiniteTerms(value);
|
|
157
|
+
if (value.backend === 'linux-native') {
|
|
158
|
+
if (value.source !== undefined) {
|
|
159
|
+
const source = value.source;
|
|
160
|
+
if (!source || typeof source !== 'object' || (source.kind !== 'official-tag' && source.kind !== 'local-head')
|
|
161
|
+
|| Object.keys(source).sort().join(',') !== (source.kind === 'local-head' ? 'kind,repository' : 'kind'))
|
|
162
|
+
fail('invalid Linux source');
|
|
163
|
+
if (source.kind === 'local-head' && (typeof source.repository !== 'string' || !isAbsolute(source.repository)
|
|
164
|
+
|| normalize(source.repository) !== source.repository || /[\p{Cc}*]/u.test(source.repository)))
|
|
165
|
+
fail('Linux source repository must be a canonical absolute path');
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
else if (value.backend !== undefined && value.backend !== 'docker' || !imagePattern.test(value.image ?? ''))
|
|
169
|
+
fail('image must be an immutable sha256 digest');
|
|
170
|
+
}
|
|
171
|
+
/** Reject tagged/aliased native descriptors rather than evaluating arbitrary YAML. */
|
|
172
|
+
export function literalAutonomyLinux(value) {
|
|
173
|
+
const decode = (node) => {
|
|
174
|
+
if (isAlias(node))
|
|
175
|
+
fail('Linux descriptor must not use aliases');
|
|
176
|
+
if (isScalar(node) && (node.tag === undefined || node.tag === 'tag:yaml.org,2002:str'))
|
|
177
|
+
return node.value;
|
|
178
|
+
if (isMap(node))
|
|
179
|
+
return Object.fromEntries(node.items.map(pair => [scalar(pair.key, 'Linux descriptor key'), decode(pair.value)]));
|
|
180
|
+
fail('Linux descriptor must contain only literal mappings and scalars');
|
|
181
|
+
};
|
|
182
|
+
const result = decode(value);
|
|
183
|
+
if (!result || typeof result !== 'object' || Object.keys(result).sort().join() !== 'cgroupRoots,runtime'
|
|
184
|
+
|| !result.runtime || !result.cgroupRoots || typeof result.runtime.root?.path !== 'string')
|
|
185
|
+
fail('invalid Linux descriptor');
|
|
186
|
+
return result;
|
|
187
|
+
}
|
|
188
|
+
export function validateAutonomyLinuxPaths(linux, stateRoot, home) {
|
|
189
|
+
const root = linux.runtime.root.path;
|
|
190
|
+
if (!isAbsolute(root) || normalize(root) !== root || /[\p{Cc}*]/u.test(root) || root === '/')
|
|
191
|
+
fail('invalid Linux runtime root');
|
|
192
|
+
const canonical = canonicalPath(root, 'Linux runtime root', true);
|
|
193
|
+
if (canonical !== root)
|
|
194
|
+
fail('Linux runtime root must be realpath canonical');
|
|
195
|
+
const within = relative(canonicalPath(home, 'DSH_HOME'), canonical);
|
|
196
|
+
if (within === '..' || within.startsWith(`..${sep}`) || isAbsolute(within))
|
|
197
|
+
fail('Linux runtime must be within DSH_HOME');
|
|
198
|
+
if (root === stateRoot || root.startsWith(stateRoot + sep) || stateRoot.startsWith(root + sep))
|
|
199
|
+
fail('Isolation state overlaps Linux runtime');
|
|
200
|
+
}
|
|
153
201
|
/** Read the exact literal Docker executable from a materialized autonomy profile. */
|
|
154
202
|
export function autonomyDockerPath(source) {
|
|
155
203
|
const { rows } = parse(source, 'autonomy profile');
|
|
@@ -157,8 +205,22 @@ export function autonomyDockerPath(source) {
|
|
|
157
205
|
return config.has('dockerPath') ? path(config.get('dockerPath', true), 'Isolation dockerPath') : '/usr/bin/docker';
|
|
158
206
|
}
|
|
159
207
|
/** Pure YAML materialization; it neither creates credentials nor grants external repository authority. */
|
|
208
|
+
export function preflightAutonomyProfile(input, source, effectiveSource) {
|
|
209
|
+
validateAutonomyOptions(input.isolation);
|
|
210
|
+
return materializeAutonomyProfile(input, source, effectiveSource, undefined, Date.now(), true);
|
|
211
|
+
}
|
|
160
212
|
export function prepareAutonomyProfile(input, source, effectiveSource, owner, now = Date.now()) {
|
|
213
|
+
return materializeAutonomyProfile(input, source, effectiveSource, owner, now, false);
|
|
214
|
+
}
|
|
215
|
+
function materializeAutonomyProfile(input, source, effectiveSource, owner, now, preflight) {
|
|
161
216
|
options(input);
|
|
217
|
+
if (!preflight) {
|
|
218
|
+
const allowed = input.isolation.backend === 'linux-native' ? ['backend', 'linux', 'maxRuns', 'leaseMs', 'maxTotalDurationMs'] : ['backend', 'image', 'maxRuns', 'leaseMs', 'maxTotalDurationMs'];
|
|
219
|
+
if (Object.keys(input.isolation).some(key => !allowed.includes(key)) || input.isolation.backend !== undefined && !['docker', 'linux-native'].includes(input.isolation.backend))
|
|
220
|
+
fail('invalid resolved autonomy options');
|
|
221
|
+
if (input.isolation.backend === 'linux-native' && (!input.isolation.linux || Object.keys(input.isolation.linux).sort().join() !== 'cgroupRoots,runtime'))
|
|
222
|
+
fail('invalid resolved Linux descriptor');
|
|
223
|
+
}
|
|
162
224
|
if (owner !== undefined && (typeof owner.id !== 'string' || owner.id.length === 0 || !Number.isSafeInteger(owner.version) || owner.version < 1))
|
|
163
225
|
fail('invalid owner');
|
|
164
226
|
if (!Number.isSafeInteger(now) || now < 0 || now > Number.MAX_SAFE_INTEGER - input.isolation.leaseMs)
|
|
@@ -223,12 +285,50 @@ export function prepareAutonomyProfile(input, source, effectiveSource, owner, no
|
|
|
223
285
|
const skills = configs.get('assistant-skills');
|
|
224
286
|
if (skills)
|
|
225
287
|
canonicalizeNestedStateRoots(target.document, skills, canonicalHome, 'Skills');
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
const
|
|
229
|
-
if (
|
|
230
|
-
|
|
231
|
-
|
|
288
|
+
const requestedBackend = input.isolation.backend ?? 'docker';
|
|
289
|
+
const configuredBackend = isolation.has('backend') ? scalar(isolation.get('backend', true), 'Isolation backend') : isolation.has('linux') ? 'linux-native' : undefined;
|
|
290
|
+
const oldImage = isolation.has('image') ? scalar(isolation.get('image', true), 'Isolation image') : undefined;
|
|
291
|
+
if (configuredBackend !== undefined && configuredBackend !== requestedBackend
|
|
292
|
+
|| requestedBackend === 'linux-native' && (oldImage !== undefined && oldImage !== '' || isolation.has('dockerPath') || isolation.has('socketPath')))
|
|
293
|
+
fail('existing isolation backend differs; explicit migration is required');
|
|
294
|
+
if (requestedBackend === 'docker') {
|
|
295
|
+
if (isolation.has('linux'))
|
|
296
|
+
fail('existing Linux isolation requires explicit migration');
|
|
297
|
+
if (isolation.has('dockerPath'))
|
|
298
|
+
path(isolation.get('dockerPath', true), 'Isolation dockerPath');
|
|
299
|
+
const image = input.isolation.image;
|
|
300
|
+
if (!imagePattern.test(image))
|
|
301
|
+
fail('image must be an immutable sha256 digest');
|
|
302
|
+
if (oldImage !== undefined && oldImage !== image)
|
|
303
|
+
fail('existing isolation image differs; explicit migration is required');
|
|
304
|
+
isolation.set('image', target.document.createNode(image));
|
|
305
|
+
if (input.isolation.backend !== undefined)
|
|
306
|
+
isolation.set('backend', target.document.createNode('docker'));
|
|
307
|
+
}
|
|
308
|
+
else {
|
|
309
|
+
const existing = isolation.has('linux') ? literalAutonomyLinux(isolation.get('linux', true)) : undefined;
|
|
310
|
+
if (preflight) {
|
|
311
|
+
const plannedRoot = join(canonicalHome, 'rsi-linux-runtimes', input.profile, 'runtime');
|
|
312
|
+
const state = scalar(isolation.get('stateRoot', true), 'Isolation stateRoot');
|
|
313
|
+
if (plannedRoot === state || plannedRoot.startsWith(state + sep) || state.startsWith(plannedRoot + sep))
|
|
314
|
+
fail('Isolation state overlaps Linux runtime');
|
|
315
|
+
}
|
|
316
|
+
if (existing)
|
|
317
|
+
validateAutonomyLinuxPaths(existing, scalar(isolation.get('stateRoot', true), 'Isolation stateRoot'), canonicalHome);
|
|
318
|
+
const resolved = input.isolation.backend === 'linux-native' && 'linux' in input.isolation ? input.isolation.linux : undefined;
|
|
319
|
+
if (!preflight && !resolved)
|
|
320
|
+
fail('resolved Linux runtime and cgroup roots are required');
|
|
321
|
+
if (resolved) {
|
|
322
|
+
validateAutonomyLinuxPaths(resolved, scalar(isolation.get('stateRoot', true), 'Isolation stateRoot'), canonicalHome);
|
|
323
|
+
if (existing && !isDeepStrictEqual(existing, resolved))
|
|
324
|
+
fail('existing Linux descriptor differs; explicit migration is required');
|
|
325
|
+
isolation.set('linux', target.document.createNode(resolved));
|
|
326
|
+
}
|
|
327
|
+
isolation.set('backend', target.document.createNode('linux-native'));
|
|
328
|
+
isolation.delete('image');
|
|
329
|
+
isolation.delete('dockerPath');
|
|
330
|
+
isolation.delete('socketPath');
|
|
331
|
+
}
|
|
232
332
|
if (!actions.has('grants'))
|
|
233
333
|
actions.set('grants', target.document.createNode([]));
|
|
234
334
|
else
|
|
@@ -240,6 +340,8 @@ export function prepareAutonomyProfile(input, source, effectiveSource, owner, no
|
|
|
240
340
|
}
|
|
241
341
|
else
|
|
242
342
|
grants = sequence(isolation.get('grants', true), 'Isolation grants');
|
|
343
|
+
if (requestedBackend === 'linux-native' && !isolation.has('linux') && grants.items.length > 0)
|
|
344
|
+
fail('existing isolation grants without a native descriptor require explicit migration');
|
|
243
345
|
const id = `autonomy-${input.profile}`;
|
|
244
346
|
const principalDigest = createHash('sha256').update(`web/${input.profile}/local/operator`).digest('hex');
|
|
245
347
|
const baseGrant = { id, revision: 1, principalDigest, workspace: input.workspace, agentPreset: input.preset, maxRuns: input.isolation.maxRuns, maxTotalDurationMs: input.isolation.maxTotalDurationMs };
|
package/lib/autonomy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autonomy.js","sourceRoot":"","sources":["../src/autonomy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"autonomy.js","sourceRoot":"","sources":["../src/autonomy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAClG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAwD,MAAM,MAAM,CAAA;AAe3H,MAAM,eAAe,GAAG,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,sBAAsB,CAAU,CAAA;AACrG,MAAM,YAAY,GAAG,CAAC,kBAAkB,EAAE,qBAAqB,CAAU,CAAA;AACzE,MAAM,OAAO,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,YAAY,CAAU,CAAA;AAE9D,MAAM,UAAU,GAAG,oCAAoC,CAAA;AACvD,MAAM,SAAS,GAAG,uBAAuB,CAAA;AACzC,MAAM,YAAY,GAAG,wBAAwB,CAAA;AAC7C,SAAS,IAAI,CAAC,OAAe,IAAW,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAA,CAAC,CAAC;AACrG,SAAS,GAAG,CAAC,KAAc,EAAE,KAAa,IAAa,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAAE,IAAI,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAC,CAAC,OAAO,KAAK,CAAA,CAAC,CAAC;AAC5H,SAAS,KAAK,CAAC,MAAc,EAAE,KAAa;IAC1C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;IAC1J,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,IAAI,CAAC,GAAG,KAAK,0BAA0B,CAAC,CAAA;IACvG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAA;AAC9C,CAAC;AACD,SAAS,GAAG,CAAC,IAAa,EAAE,MAAc,EAAE,QAAiB;IAC3D,MAAM,EAAE,GAAG,gBAAgB,MAAM,EAAE,CAAC;IAAC,MAAM,IAAI,GAAG,iBAAiB,MAAM,EAAE,CAAA;IAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAc,CAAA;IAC3H,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAA;IAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACxB,IAAI,CAAC,KAAK,EAAE,CAAC;QAAC,IAAI,QAAQ;YAAE,IAAI,CAAC,WAAW,IAAI,wBAAwB,CAAC,CAAC;QAAC,OAAO,SAAS,CAAA;IAAC,CAAC;IAC7F,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC;QAAE,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAA;IAChL,OAAO,KAAK,CAAA;AACd,CAAC;AACD,SAAS,KAAK,CAAC,IAAa,EAAE,OAAgB;IAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAA;IAC1C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ;YAAE,IAAI,CAAC,6BAA6B,CAAC,CAAA;QAClG,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAAC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAoB,CAAA;QAC3F,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,CAAA;IACjH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AACD,SAAS,IAAI,CAAC,KAAc,EAAE,KAAa;IACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,uBAAuB;QAAE,IAAI,CAAC,GAAG,KAAK,kCAAkC,CAAC,CAAA;IAC7K,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK;QAAE,IAAI,CAAC,GAAG,KAAK,oCAAoC,CAAC,CAAA;IACxJ,OAAO,KAAK,CAAC,KAAK,CAAA;AACpB,CAAC;AACD,SAAS,aAAa,CAAC,KAAa,EAAE,KAAa,EAAE,iBAAiB,GAAG,KAAK;IAC5E,IAAI,MAAM,GAAG,KAAK,CAAC;IAAC,MAAM,MAAM,GAAa,EAAE,CAAA;IAC/C,SAAS,CAAC;QACR,IAAI,IAAI,CAAA;QACR,IAAI,CAAC;YAAC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;QAAC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAC9C,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,IAAI,CAAC,GAAG,KAAK,0CAA0C,CAAC,CAAA;YAChH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;YAC9B,IAAI,MAAM,KAAK,MAAM;gBAAE,IAAI,CAAC,GAAG,KAAK,sCAAsC,CAAC,CAAA;YAC3E,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAAC,MAAM,GAAG,MAAM,CAAA;YACjD,SAAQ;QACV,CAAC;QACD,IAAI,iBAAiB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE;YAAE,IAAI,CAAC,GAAG,KAAK,8BAA8B,CAAC,CAAA;QACnH,IAAI,CAAC;YAAC,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,IAAI,CAAC,GAAG,KAAK,wCAAwC,CAAC,CAAA;QAAC,CAAC;IAC1H,CAAC;AACH,CAAC;AACD,SAAS,YAAY,CAAC,KAAc,EAAE,KAAa,EAAE,OAAe;IAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACnC,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC,CAAA;IACtE,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,GAAG,KAAK,0BAA0B,CAAC,CAAA;IACpH,gFAAgF;IAChF,yFAAyF;IACzF,OAAO,SAAS,CAAA;AAClB,CAAC;AACD,SAAS,QAAQ,CAAC,KAAc,EAAE,KAAa,IAAa,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAAE,IAAI,CAAC,GAAG,KAAK,qBAAqB,CAAC,CAAC,CAAC,OAAO,KAAK,CAAA,CAAC,CAAC;AAClI,SAAS,MAAM,CAAC,KAAc,EAAE,KAAa,IAAY,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;IAAE,IAAI,CAAC,GAAG,KAAK,mBAAmB,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,KAAK,CAAA,CAAC,CAAC;AACzK,SAAS,0BAA0B,CAAC,KAAc;IAChD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,sBAAsB,IAAI,KAAK,CAAC,KAAK,KAAK,mDAAmD,CAAA;AACvI,CAAC;AACD,SAAS,wBAAwB,CAAC,KAAc,EAAE,QAAgB;IAChE,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,uBAAuB,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAA;AAC1H,CAAC;AACD,SAAS,MAAM,CAAC,IAAY;IAC1B,IAAI,CAAC;QAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAAC,OAAO,IAAI,CAAA;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAClD,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAA;QACpE,IAAI,CAAC,8CAA8C,IAAI,EAAE,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC;AACD,SAAS,iBAAiB,CAAC,YAAoB,EAAE,SAAS,GAAG,KAAK;IAChE,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG,YAAY,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;IAC7F,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,UAAU,EAAE,GAAG,KAAK,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;AAC1G,CAAC;AACD,SAAS,4BAA4B,CAAC,QAAkB,EAAE,IAAiB,EAAE,OAAe,EAAE,KAAa;IACzG,IAAI,OAAO,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,GAAG,KAAK,mCAAmC,CAAC,CAAA;IACpE,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;YACjG,IAAI,GAAG,KAAK,WAAW;gBAAE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;;gBAC7G,4BAA4B,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAoB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;QACxF,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,CAAC;QAAE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;YAAE,4BAA4B,CAAC,QAAQ,EAAE,IAAmB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;AACpI,CAAC;AACD,SAAS,OAAO,CAAC,KAA2B;IAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,2BAA2B,CAAC,CAAA;IACvG,KAAK,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;QAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK;YAAE,IAAI,CAAC,qDAAqD,CAAC,CAAA;IAC/L,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;AACtC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA0B;IACrD,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,OAAe,EAAE,KAAa,EAAE,OAAO,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,OAAO,IAAI,MAAM,GAAG,OAAO;QAAE,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;IACzL,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAA;AAChM,CAAC;AACD,MAAM,UAAU,uBAAuB,CAAC,KAA2B;IACjE,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,IAAI,CAAC,0BAA0B,CAAC,CAAA;IACjF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAA;IACvL,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAAE,IAAI,CAAC,mCAAmC,CAAC,CAAA;IACrG,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAC1B,IAAI,KAAK,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;YAC3B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC;mBACxG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAE,IAAI,CAAC,sBAAsB,CAAC,CAAA;YACvI,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC;mBACvG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAAE,IAAI,CAAC,2DAA2D,CAAC,CAAA;QACrK,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QAAE,IAAI,CAAC,0CAA0C,CAAC,CAAA;AACjK,CAAC;AACD,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,MAAM,MAAM,GAAG,CAAC,IAAa,EAAW,EAAE;QACxC,IAAI,OAAO,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,uCAAuC,CAAC,CAAA;QAChE,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,uBAAuB,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAA;QACzG,IAAI,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAClI,IAAI,CAAC,iEAAiE,CAAC,CAAA;IACzE,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAwB,CAAA;IACnD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,qBAAqB;WACnG,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,KAAK,QAAQ;QAAE,IAAI,CAAC,0BAA0B,CAAC,CAAA;IAC9H,OAAO,MAAM,CAAA;AACf,CAAC;AACD,MAAM,UAAU,0BAA0B,CAAC,KAA0B,EAAE,SAAiB,EAAE,IAAY;IACpG,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA;IACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG;QAAE,IAAI,CAAC,4BAA4B,CAAC,CAAA;IAChI,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAA;IACjE,IAAI,SAAS,KAAK,IAAI;QAAE,IAAI,CAAC,+CAA+C,CAAC,CAAA;IAC7E,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC,CAAA;IACnE,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,uCAAuC,CAAC,CAAA;IACzH,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC;QAAE,IAAI,CAAC,wCAAwC,CAAC,CAAA;AAChJ,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAClD,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,qBAAqB,EAAE,IAAI,CAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAA;IACnG,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAA;AACpH,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,wBAAwB,CAAC,KAA6B,EAAE,MAAc,EAAE,eAAuB;IAC7G,uBAAuB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACxC,OAAO,0BAA0B,CAAC,KAA6B,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;AACxH,CAAC;AACD,MAAM,UAAU,sBAAsB,CAAC,KAA2B,EAAE,MAAc,EAAE,eAAuB,EAAE,KAAuC,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACpK,OAAO,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AACtF,CAAC;AACD,SAAS,0BAA0B,CAAC,KAA2B,EAAE,MAAc,EAAE,eAAuB,EAAE,KAAkD,EAAE,GAAW,EAAE,SAAkB;IAC3L,OAAO,CAAC,KAAK,CAAC,CAAA;IACd,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,EAAC,OAAO,EAAC,SAAS,EAAC,SAAS,EAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAC,OAAO,EAAC,SAAS,EAAC,SAAS,EAAC,oBAAoB,CAAC,CAAA;QACxL,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,mCAAmC,CAAC,CAAA;QACxN,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,KAAK,cAAc,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,qBAAqB,CAAC;YAAE,IAAI,CAAC,mCAAmC,CAAC,CAAA;IACrM,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QAAE,IAAI,CAAC,eAAe,CAAC,CAAA;IACtK,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO;QAAE,IAAI,CAAC,eAAe,CAAC,CAAA;IAC3H,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAAC,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAA;IAC5G,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAA;IAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAA;IACvD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAI,eAAqC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACxE,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAAC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QACzG,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,QAAQ;gBAAE,IAAI,CAAC,8CAA8C,MAAM,EAAE,CAAC,CAAA;YAC1E,SAAQ;QACV,CAAC;QACD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAY,CAAA;QAC7H,MAAM,MAAM,GAAG,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAA;QAC3H,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;QAChK,MAAM,WAAW,GAAG,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,gBAAgB,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAiB,MAAM,EAAE,EAAE,CAAY,CAAA;QACxI,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7G,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAE,CAAC;IAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAE,CAAC;IAAC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAE,CAAA;IAClK,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAC9D,MAAM,KAAK,GAAG;QACZ,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC;QACpE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC;QAChE,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,sBAAsB,EAAE,GAAG,KAAK,CAAC,OAAO,SAAS,CAAC;QACnF,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,kBAAkB,EAAE,eAAe,CAAC;QAChE,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,CAAC;KAC1E,CAAA;IACD,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAU,EAAE,CAAC;QACvL,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC/E,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAC5G,CAAC;IACD,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;IAC5D,IAAI,cAAc,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAE,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,0BAA0B,CAAC,cAAc,CAAC,CAAC;QAAE,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;IAC9N,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,yBAAyB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAC1J,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI;QACjD,CAAC,kBAAkB,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,yBAAyB,CAAC,EAAE,qBAAqB,CAAC;QAC7G,CAAC,qBAAqB,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,4BAA4B,CAAC,EAAE,wBAAwB,CAAC;KACjH,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,MAAM;YAAE,SAAQ;QACrB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;QAChD,MAAM,gBAAgB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,wBAAwB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;QAC9I,IAAI,gBAAgB,IAAI,iBAAiB,CAAC,SAAS,EAAE,MAAM,KAAK,qBAAqB,CAAC;YAAE,IAAI,CAAC,GAAG,KAAK,+EAA+E,QAAQ,eAAe,CAAC,CAAA;QAC5M,IAAI,gBAAgB;YAAE,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;QACtF,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAC9H,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IAC9C,IAAI,MAAM;QAAE,4BAA4B,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAA;IAC1F,MAAM,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,IAAI,QAAQ,CAAA;IAC5D,MAAM,iBAAiB,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAA;IACtK,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7G,IAAI,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,KAAK,gBAAgB;WACxE,gBAAgB,KAAK,cAAc,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAAE,IAAI,CAAC,oEAAoE,CAAC,CAAA;IACjO,IAAI,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,sDAAsD,CAAC,CAAA;QACxF,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,sBAAsB,CAAC,CAAA;QAChG,MAAM,KAAK,GAAI,KAAK,CAAC,SAAiE,CAAC,KAAK,CAAA;QAC5F,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,0CAA0C,CAAC,CAAA;QAC/E,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,KAAK;YAAE,IAAI,CAAC,kEAAkE,CAAC,CAAA;QAC1H,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;QACzD,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS;YAAE,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC3G,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACxG,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,oBAAoB,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;YACvF,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,qBAAqB,CAAC,CAAA;YAC7E,IAAI,WAAW,KAAK,KAAK,IAAI,WAAW,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC;gBAAE,IAAI,CAAC,wCAAwC,CAAC,CAAA;QACzJ,CAAC;QACD,IAAI,QAAQ;YAAE,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,qBAAqB,CAAC,EAAE,aAAa,CAAC,CAAA;QAClI,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,KAAK,cAAc,IAAI,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;QAC7H,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,sDAAsD,CAAC,CAAA;QACzF,IAAI,QAAQ,EAAE,CAAC;YACb,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,qBAAqB,CAAC,EAAE,aAAa,CAAC,CAAA;YACpH,IAAI,QAAQ,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAAE,IAAI,CAAC,mEAAmE,CAAC,CAAA;YACjI,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC9D,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAA;QACpE,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAC3F,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;;QAC5E,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAA;IAC5D,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAY,CAAC;QAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAAC,CAAC;;QAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAA;IAC/L,IAAI,gBAAgB,KAAK,cAAc,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,kFAAkF,CAAC,CAAA;IACvL,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC;IAAC,MAAM,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAChJ,MAAM,SAAS,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAA;IACvM,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAE,UAAmB,EAAQ,EAAE;QACtE,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK;gBAAE,IAAI,CAAC,iEAAiE,CAAC,CAAA;QACjK,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAK,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAY,GAAG,CAAC;YAAE,IAAI,CAAC,mDAAmD,CAAC,CAAA;QAChO,IAAI,UAAU,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,KAAM,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,KAAM,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,iEAAiE,CAAC,CAAA;QACjM,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAK,SAAoB,GAAG,CAAC;YAAE,IAAI,CAAC,4CAA4C,CAAC,CAAA;IACnK,CAAC,CAAA;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,sDAAsD,CAAC,CAAA;QACtH,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAY,EAAE,KAAK,KAAK,SAAS,CAAC,CAAA;IAClE,CAAC;SAAM,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,GAAG,SAAS,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAChM,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAA;AACnD,CAAC"}
|
package/lib/doctor.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
+
import { type AutonomyLinuxConfig } from './autonomy.js';
|
|
1
2
|
import type { IsolationGrant } from '@dsh-enhanced/assistant-isolation';
|
|
2
|
-
|
|
3
|
-
image: string;
|
|
4
|
-
dockerPath: string;
|
|
3
|
+
interface AutonomyDoctorBase {
|
|
5
4
|
stateRoot: string;
|
|
6
5
|
databasePath: string;
|
|
7
6
|
grant: IsolationGrant;
|
|
@@ -12,11 +11,60 @@ export interface AutonomyDoctorProfile {
|
|
|
12
11
|
user: string;
|
|
13
12
|
};
|
|
14
13
|
}
|
|
14
|
+
export type AutonomyDoctorProfile = AutonomyDoctorBase & ({
|
|
15
|
+
backend?: 'docker';
|
|
16
|
+
image: string;
|
|
17
|
+
dockerPath: string;
|
|
18
|
+
linux?: never;
|
|
19
|
+
} | {
|
|
20
|
+
backend: 'linux-native';
|
|
21
|
+
linux: AutonomyLinuxConfig;
|
|
22
|
+
image?: never;
|
|
23
|
+
dockerPath?: never;
|
|
24
|
+
});
|
|
15
25
|
/** Inspect the composed profile without evaluating tagged expressions or changing its grants. */
|
|
16
26
|
export declare function inspectAutonomyProfile(source: string, profile: string, dshHome: string): AutonomyDoctorProfile;
|
|
17
27
|
/** A read-only snapshot, never pairing, migration, or an authorization for future execution. */
|
|
18
28
|
export declare function inspectAutonomyOwner(profile: AutonomyDoctorProfile): {
|
|
19
29
|
status: 'matched' | 'unavailable' | 'mismatch';
|
|
20
30
|
};
|
|
31
|
+
/** Verify only the persisted backend descriptor; never fetch, prepare or renew. */
|
|
32
|
+
export declare function probeAutonomyProfileRuntime(profile: AutonomyDoctorProfile): Promise<void>;
|
|
33
|
+
export type AutonomyReadinessStatus = 'ready' | 'not-ready' | 'not-verified';
|
|
34
|
+
export interface AutonomyReadinessReason {
|
|
35
|
+
readonly code: string;
|
|
36
|
+
readonly message: string;
|
|
37
|
+
}
|
|
38
|
+
export interface AutonomyReadinessCheck {
|
|
39
|
+
readonly id: string;
|
|
40
|
+
/** Mandatory checks decide `ready`; optional rings are reported but never fail the snapshot. */
|
|
41
|
+
readonly required: boolean;
|
|
42
|
+
readonly status: AutonomyReadinessStatus;
|
|
43
|
+
readonly summary: string;
|
|
44
|
+
readonly reasons: readonly AutonomyReadinessReason[];
|
|
45
|
+
readonly details: Readonly<Record<string, unknown>>;
|
|
46
|
+
}
|
|
47
|
+
export interface AutonomyReadinessReport {
|
|
48
|
+
readonly protocol: 'dsh-enhanced/autonomy-readiness/v1';
|
|
49
|
+
readonly profile: string;
|
|
50
|
+
readonly scope: 'ordinary-use-learning';
|
|
51
|
+
readonly ready: boolean;
|
|
52
|
+
readonly checks: readonly AutonomyReadinessCheck[];
|
|
53
|
+
/** Only composed YAML was read: runtime registration, model calls and external delivery are not observed. */
|
|
54
|
+
readonly runtime: Readonly<{
|
|
55
|
+
observed: false;
|
|
56
|
+
note: string;
|
|
57
|
+
}>;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Inspect the composed profile without activating anything, calling a model or
|
|
61
|
+
* reading a database. Missing or mismatched configuration is reported as
|
|
62
|
+
* `not-ready` with a reason; this function never throws for an incomplete
|
|
63
|
+
* assembly, so a doctor run degrades into a snapshot instead of a crash.
|
|
64
|
+
*/
|
|
65
|
+
export declare function inspectAutonomyReadiness(source: string, profile: string): AutonomyReadinessReport;
|
|
66
|
+
/** Deterministic human-readable form of the same snapshot the JSON line carries. */
|
|
67
|
+
export declare function formatAutonomyReadiness(report: AutonomyReadinessReport): string;
|
|
21
68
|
export declare function runAutonomyDoctor(argv?: string[]): Promise<void>;
|
|
69
|
+
export {};
|
|
22
70
|
//# sourceMappingURL=doctor.d.ts.map
|
package/lib/doctor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAQA,OAAO,EAAoD,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAC1G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAEvE,UAAU,kBAAkB;IAC1B,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;IACvC,KAAK,EAAE,cAAc,CAAA;IACrB,SAAS,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7E;AACD,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG,CAAC;IAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,UAAU,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,CAAA;AA2BhO,iGAAiG;AACjG,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,qBAAqB,CA8C9G;AAED,gGAAgG;AAChG,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG;IAAE,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAA;CAAE,CAmBvH;AAED,mFAAmF;AACnF,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/F;AAuBD,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,WAAW,GAAG,cAAc,CAAA;AAE5E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,gGAAgG;IAChG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAA;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAA;IACpD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACpD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,oCAAoC,CAAA;IACvD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAA;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,sBAAsB,EAAE,CAAA;IAClD,6GAA6G;IAC7G,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;QAAE,QAAQ,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC9D;AAgED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,uBAAuB,CAuLjG;AAED,oFAAoF;AACpF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAS/E;AAED,wBAAsB,iBAAiB,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DnF"}
|