@owlmeans/viable-sdk 0.1.18-rc.8 → 0.1.18
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 +29 -11
- package/agent-meta/manifest.json +16 -0
- package/agent-meta/skills/viable-sdk/SKILL.md +1033 -0
- package/build/api/collect/types.d.ts +30 -0
- package/build/api/collect/types.d.ts.map +1 -0
- package/build/api/collect/types.js +2 -0
- package/build/api/collect/types.js.map +1 -0
- package/build/api/collect.d.ts +14 -0
- package/build/api/collect.d.ts.map +1 -0
- package/build/api/collect.js +132 -0
- package/build/api/collect.js.map +1 -0
- package/build/api/consts.local.d.ts +21 -0
- package/build/api/consts.local.d.ts.map +1 -0
- package/build/api/consts.local.js +25 -0
- package/build/api/consts.local.js.map +1 -0
- package/build/api/index.d.ts +5 -0
- package/build/api/index.d.ts.map +1 -1
- package/build/api/index.js +2 -0
- package/build/api/index.js.map +1 -1
- package/build/api/remote.d.ts +13 -6
- package/build/api/remote.d.ts.map +1 -1
- package/build/api/remote.js +302 -35
- package/build/api/remote.js.map +1 -1
- package/build/api/transport/types.d.ts +14 -0
- package/build/api/transport/types.d.ts.map +1 -0
- package/build/api/transport/types.js +2 -0
- package/build/api/transport/types.js.map +1 -0
- package/build/api/transport.d.ts +4 -0
- package/build/api/transport.d.ts.map +1 -0
- package/build/api/transport.js +32 -0
- package/build/api/transport.js.map +1 -0
- package/build/api/types.d.ts +9 -0
- package/build/api/types.d.ts.map +1 -0
- package/build/api/types.js +2 -0
- package/build/api/types.js.map +1 -0
- package/build/api/types.local.d.ts +3 -0
- package/build/api/types.local.d.ts.map +1 -0
- package/build/api/types.local.js +2 -0
- package/build/api/types.local.js.map +1 -0
- package/build/consts.d.ts +29 -14
- package/build/consts.d.ts.map +1 -1
- package/build/consts.js +30 -14
- package/build/consts.js.map +1 -1
- package/build/context/consts.local.d.ts +18 -0
- package/build/context/consts.local.d.ts.map +1 -0
- package/build/context/consts.local.js +18 -0
- package/build/context/consts.local.js.map +1 -0
- package/build/context/index.d.ts +3 -7
- package/build/context/index.d.ts.map +1 -1
- package/build/context/index.js +58 -25
- package/build/context/index.js.map +1 -1
- package/build/context/types.d.ts +26 -0
- package/build/context/types.d.ts.map +1 -0
- package/build/context/types.js +2 -0
- package/build/context/types.js.map +1 -0
- package/build/executor/boot-check.d.ts +1 -40
- package/build/executor/boot-check.d.ts.map +1 -1
- package/build/executor/boot-check.js +22 -19
- package/build/executor/boot-check.js.map +1 -1
- package/build/executor/consts.d.ts +55 -0
- package/build/executor/consts.d.ts.map +1 -0
- package/build/executor/consts.js +66 -0
- package/build/executor/consts.js.map +1 -0
- package/build/executor/consts.local.d.ts +63 -0
- package/build/executor/consts.local.d.ts.map +1 -0
- package/build/executor/consts.local.js +69 -0
- package/build/executor/consts.local.js.map +1 -0
- package/build/executor/env/types.d.ts +40 -0
- package/build/executor/env/types.d.ts.map +1 -0
- package/build/executor/env/types.js +2 -0
- package/build/executor/env/types.js.map +1 -0
- package/build/executor/env.d.ts +11 -20
- package/build/executor/env.d.ts.map +1 -1
- package/build/executor/env.js +39 -59
- package/build/executor/env.js.map +1 -1
- package/build/executor/errors.d.ts +15 -0
- package/build/executor/errors.d.ts.map +1 -1
- package/build/executor/errors.js +19 -2
- package/build/executor/errors.js.map +1 -1
- package/build/executor/files/types.d.ts +106 -0
- package/build/executor/files/types.d.ts.map +1 -0
- package/build/executor/files/types.js +2 -0
- package/build/executor/files/types.js.map +1 -0
- package/build/executor/files.d.ts +2 -50
- package/build/executor/files.d.ts.map +1 -1
- package/build/executor/files.js +225 -68
- package/build/executor/files.js.map +1 -1
- package/build/executor/git/types.d.ts +19 -0
- package/build/executor/git/types.d.ts.map +1 -0
- package/build/executor/git/types.js +2 -0
- package/build/executor/git/types.js.map +1 -0
- package/build/executor/git.d.ts +4 -36
- package/build/executor/git.d.ts.map +1 -1
- package/build/executor/git.js +206 -241
- package/build/executor/git.js.map +1 -1
- package/build/executor/glob/types.d.ts +12 -0
- package/build/executor/glob/types.d.ts.map +1 -0
- package/build/executor/glob/types.js +2 -0
- package/build/executor/glob/types.js.map +1 -0
- package/build/executor/glob.d.ts +4 -0
- package/build/executor/glob.d.ts.map +1 -0
- package/build/executor/glob.js +11 -0
- package/build/executor/glob.js.map +1 -0
- package/build/executor/health/types.d.ts +39 -0
- package/build/executor/health/types.d.ts.map +1 -0
- package/build/executor/health/types.js +2 -0
- package/build/executor/health/types.js.map +1 -0
- package/build/executor/health.d.ts +3 -83
- package/build/executor/health.d.ts.map +1 -1
- package/build/executor/health.js +76 -91
- package/build/executor/health.js.map +1 -1
- package/build/executor/index.d.ts +14 -15
- package/build/executor/index.d.ts.map +1 -1
- package/build/executor/index.js +36 -18
- package/build/executor/index.js.map +1 -1
- package/build/executor/integrity/types.d.ts +25 -0
- package/build/executor/integrity/types.d.ts.map +1 -0
- package/build/executor/integrity/types.js +2 -0
- package/build/executor/integrity/types.js.map +1 -0
- package/build/executor/integrity.d.ts +5 -15
- package/build/executor/integrity.d.ts.map +1 -1
- package/build/executor/integrity.js +28 -39
- package/build/executor/integrity.js.map +1 -1
- package/build/executor/layout/types.d.ts +69 -0
- package/build/executor/layout/types.d.ts.map +1 -0
- package/build/executor/layout/types.js +2 -0
- package/build/executor/layout/types.js.map +1 -0
- package/build/executor/layout.d.ts +9 -56
- package/build/executor/layout.d.ts.map +1 -1
- package/build/executor/layout.js +35 -82
- package/build/executor/layout.js.map +1 -1
- package/build/executor/shell/types.d.ts +76 -0
- package/build/executor/shell/types.d.ts.map +1 -0
- package/build/executor/shell/types.js +2 -0
- package/build/executor/shell/types.js.map +1 -0
- package/build/executor/shell.d.ts +3 -78
- package/build/executor/shell.d.ts.map +1 -1
- package/build/executor/shell.js +61 -91
- package/build/executor/shell.js.map +1 -1
- package/build/executor/spawn/types.d.ts +98 -0
- package/build/executor/spawn/types.d.ts.map +1 -0
- package/build/executor/spawn/types.js +2 -0
- package/build/executor/spawn/types.js.map +1 -0
- package/build/executor/spawn.d.ts +3 -103
- package/build/executor/spawn.d.ts.map +1 -1
- package/build/executor/spawn.js +192 -274
- package/build/executor/spawn.js.map +1 -1
- package/build/executor/types.d.ts +123 -0
- package/build/executor/types.d.ts.map +1 -0
- package/build/executor/types.js +2 -0
- package/build/executor/types.js.map +1 -0
- package/build/executor/types.local.d.ts +6 -0
- package/build/executor/types.local.d.ts.map +1 -0
- package/build/executor/types.local.js +2 -0
- package/build/executor/types.local.js.map +1 -0
- package/build/index.d.ts +14 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +5 -1
- package/build/index.js.map +1 -1
- package/build/project/consts.d.ts +17 -0
- package/build/project/consts.d.ts.map +1 -0
- package/build/project/consts.js +17 -0
- package/build/project/consts.js.map +1 -0
- package/build/project/consts.local.d.ts +4 -0
- package/build/project/consts.local.d.ts.map +1 -0
- package/build/project/consts.local.js +4 -0
- package/build/project/consts.local.js.map +1 -0
- package/build/project/dotenv/types.d.ts +39 -0
- package/build/project/dotenv/types.d.ts.map +1 -0
- package/build/project/dotenv/types.js +2 -0
- package/build/project/dotenv/types.js.map +1 -0
- package/build/project/dotenv.d.ts +4 -0
- package/build/project/dotenv.d.ts.map +1 -0
- package/build/project/dotenv.js +56 -0
- package/build/project/dotenv.js.map +1 -0
- package/build/project/env/types.d.ts +40 -0
- package/build/project/env/types.d.ts.map +1 -0
- package/build/project/env/types.js +2 -0
- package/build/project/env/types.js.map +1 -0
- package/build/project/env.d.ts +2 -98
- package/build/project/env.d.ts.map +1 -1
- package/build/project/env.js +63 -215
- package/build/project/env.js.map +1 -1
- package/build/project/marker/types.d.ts +33 -0
- package/build/project/marker/types.d.ts.map +1 -0
- package/build/project/marker/types.js +2 -0
- package/build/project/marker/types.js.map +1 -0
- package/build/project/marker.d.ts +4 -25
- package/build/project/marker.d.ts.map +1 -1
- package/build/project/marker.js +40 -43
- package/build/project/marker.js.map +1 -1
- package/build/project/probe/types.d.ts +22 -0
- package/build/project/probe/types.d.ts.map +1 -0
- package/build/project/probe/types.js +2 -0
- package/build/project/probe/types.js.map +1 -0
- package/build/project/probe.d.ts +4 -0
- package/build/project/probe.d.ts.map +1 -0
- package/build/project/probe.js +39 -0
- package/build/project/probe.js.map +1 -0
- package/build/project/report/types.d.ts +18 -0
- package/build/project/report/types.d.ts.map +1 -0
- package/build/project/report/types.js +2 -0
- package/build/project/report/types.js.map +1 -0
- package/build/project/report.d.ts +7 -0
- package/build/project/report.d.ts.map +1 -0
- package/build/project/report.js +68 -0
- package/build/project/report.js.map +1 -0
- package/build/project/setup/types.d.ts +32 -0
- package/build/project/setup/types.d.ts.map +1 -0
- package/build/project/setup/types.js +2 -0
- package/build/project/setup/types.js.map +1 -0
- package/build/project/setup.d.ts +4 -53
- package/build/project/setup.d.ts.map +1 -1
- package/build/project/setup.js +112 -175
- package/build/project/setup.js.map +1 -1
- package/build/project/types.d.ts +37 -0
- package/build/project/types.d.ts.map +1 -0
- package/build/project/types.js +2 -0
- package/build/project/types.js.map +1 -0
- package/build/run/consts.local.d.ts +3 -0
- package/build/run/consts.local.d.ts.map +1 -0
- package/build/run/consts.local.js +26 -0
- package/build/run/consts.local.js.map +1 -0
- package/build/run/index.d.ts +11 -69
- package/build/run/index.d.ts.map +1 -1
- package/build/run/index.js +9 -147
- package/build/run/index.js.map +1 -1
- package/build/run/local/types.d.ts +39 -0
- package/build/run/local/types.d.ts.map +1 -0
- package/build/run/local/types.js +2 -0
- package/build/run/local/types.js.map +1 -0
- package/build/run/local.d.ts +3 -0
- package/build/run/local.d.ts.map +1 -0
- package/build/run/local.js +130 -0
- package/build/run/local.js.map +1 -0
- package/build/run/process/types.d.ts +15 -0
- package/build/run/process/types.d.ts.map +1 -0
- package/build/run/process/types.js +2 -0
- package/build/run/process/types.js.map +1 -0
- package/build/run/process.d.ts +4 -0
- package/build/run/process.d.ts.map +1 -0
- package/build/run/process.js +20 -0
- package/build/run/process.js.map +1 -0
- package/build/run/serve.d.ts +14 -9
- package/build/run/serve.d.ts.map +1 -1
- package/build/run/serve.js +1 -25
- package/build/run/serve.js.map +1 -1
- package/build/run/state/types.d.ts +35 -0
- package/build/run/state/types.d.ts.map +1 -0
- package/build/run/state/types.js +2 -0
- package/build/run/state/types.js.map +1 -0
- package/build/run/state.d.ts +3 -62
- package/build/run/state.d.ts.map +1 -1
- package/build/run/state.js +96 -123
- package/build/run/state.js.map +1 -1
- package/build/run/types.d.ts +78 -0
- package/build/run/types.d.ts.map +1 -0
- package/build/run/types.js +2 -0
- package/build/run/types.js.map +1 -0
- package/build/session/consts.local.d.ts +5 -0
- package/build/session/consts.local.d.ts.map +1 -0
- package/build/session/consts.local.js +5 -0
- package/build/session/consts.local.js.map +1 -0
- package/build/session/index.d.ts +5 -10
- package/build/session/index.d.ts.map +1 -1
- package/build/session/index.js +84 -15
- package/build/session/index.js.map +1 -1
- package/build/session/questions.d.ts +16 -0
- package/build/session/questions.d.ts.map +1 -0
- package/build/session/questions.js +17 -0
- package/build/session/questions.js.map +1 -0
- package/build/session/queue.d.ts +61 -0
- package/build/session/queue.d.ts.map +1 -0
- package/build/session/queue.js +156 -0
- package/build/session/queue.js.map +1 -0
- package/build/session/tasks.d.ts +11 -30
- package/build/session/tasks.d.ts.map +1 -1
- package/build/session/tasks.js +18 -78
- package/build/session/tasks.js.map +1 -1
- package/build/session/types.d.ts +20 -0
- package/build/session/types.d.ts.map +1 -0
- package/build/session/types.js +2 -0
- package/build/session/types.js.map +1 -0
- package/build/task/consts.d.ts +12 -0
- package/build/task/consts.d.ts.map +1 -0
- package/build/task/consts.js +12 -0
- package/build/task/consts.js.map +1 -0
- package/build/task/consts.local.d.ts +19 -0
- package/build/task/consts.local.d.ts.map +1 -0
- package/build/task/consts.local.js +72 -0
- package/build/task/consts.local.js.map +1 -0
- package/build/task/driver.d.ts +1 -28
- package/build/task/driver.d.ts.map +1 -1
- package/build/task/driver.js +2 -9
- package/build/task/driver.js.map +1 -1
- package/build/task/envelope/types.d.ts +29 -0
- package/build/task/envelope/types.d.ts.map +1 -0
- package/build/task/envelope/types.js +2 -0
- package/build/task/envelope/types.js.map +1 -0
- package/build/task/envelope.d.ts +4 -34
- package/build/task/envelope.d.ts.map +1 -1
- package/build/task/envelope.js +103 -165
- package/build/task/envelope.js.map +1 -1
- package/build/task/index.d.ts +5 -0
- package/build/task/index.d.ts.map +1 -1
- package/build/task/index.js +2 -0
- package/build/task/index.js.map +1 -1
- package/build/task/inquiry/types.d.ts +38 -0
- package/build/task/inquiry/types.d.ts.map +1 -0
- package/build/task/inquiry/types.js +2 -0
- package/build/task/inquiry/types.js.map +1 -0
- package/build/task/inquiry.d.ts +5 -0
- package/build/task/inquiry.d.ts.map +1 -0
- package/build/task/inquiry.js +188 -0
- package/build/task/inquiry.js.map +1 -0
- package/build/task/types.d.ts +48 -0
- package/build/task/types.d.ts.map +1 -0
- package/build/task/types.js +2 -0
- package/build/task/types.js.map +1 -0
- package/build/tools/account/types.d.ts +24 -0
- package/build/tools/account/types.d.ts.map +1 -0
- package/build/tools/account/types.js +2 -0
- package/build/tools/account/types.js.map +1 -0
- package/build/tools/account.d.ts +4 -0
- package/build/tools/account.d.ts.map +1 -0
- package/build/tools/account.js +72 -0
- package/build/tools/account.js.map +1 -0
- package/build/tools/blueprints/types.d.ts +5 -0
- package/build/tools/blueprints/types.d.ts.map +1 -0
- package/build/tools/blueprints/types.js +2 -0
- package/build/tools/blueprints/types.js.map +1 -0
- package/build/tools/blueprints.d.ts +4 -0
- package/build/tools/blueprints.d.ts.map +1 -0
- package/build/tools/blueprints.js +23 -0
- package/build/tools/blueprints.js.map +1 -0
- package/build/tools/catalogue/types.d.ts +8 -0
- package/build/tools/catalogue/types.d.ts.map +1 -0
- package/build/tools/catalogue/types.js +2 -0
- package/build/tools/catalogue/types.js.map +1 -0
- package/build/tools/catalogue.d.ts +8 -6
- package/build/tools/catalogue.d.ts.map +1 -1
- package/build/tools/catalogue.js +2565 -213
- package/build/tools/catalogue.js.map +1 -1
- package/build/tools/config/types.d.ts +19 -0
- package/build/tools/config/types.d.ts.map +1 -0
- package/build/tools/config/types.js +2 -0
- package/build/tools/config/types.js.map +1 -0
- package/build/tools/config.d.ts +4 -0
- package/build/tools/config.d.ts.map +1 -0
- package/build/tools/config.js +42 -0
- package/build/tools/config.js.map +1 -0
- package/build/tools/consts.d.ts +61 -0
- package/build/tools/consts.d.ts.map +1 -0
- package/build/tools/consts.js +515 -0
- package/build/tools/consts.js.map +1 -0
- package/build/tools/consts.local.d.ts +131 -0
- package/build/tools/consts.local.d.ts.map +1 -0
- package/build/tools/consts.local.js +236 -0
- package/build/tools/consts.local.js.map +1 -0
- package/build/tools/control/types.d.ts +17 -0
- package/build/tools/control/types.d.ts.map +1 -0
- package/build/tools/control/types.js +2 -0
- package/build/tools/control/types.js.map +1 -0
- package/build/tools/control.d.ts +4 -0
- package/build/tools/control.d.ts.map +1 -0
- package/build/tools/control.js +44 -0
- package/build/tools/control.js.map +1 -0
- package/build/tools/feed/types.d.ts +21 -0
- package/build/tools/feed/types.d.ts.map +1 -0
- package/build/tools/feed/types.js +2 -0
- package/build/tools/feed/types.js.map +1 -0
- package/build/tools/feed.d.ts +4 -0
- package/build/tools/feed.d.ts.map +1 -0
- package/build/tools/feed.js +75 -0
- package/build/tools/feed.js.map +1 -0
- package/build/tools/git/types.d.ts +25 -0
- package/build/tools/git/types.d.ts.map +1 -0
- package/build/tools/git/types.js +2 -0
- package/build/tools/git/types.js.map +1 -0
- package/build/tools/git.d.ts +4 -0
- package/build/tools/git.d.ts.map +1 -0
- package/build/tools/git.js +83 -0
- package/build/tools/git.js.map +1 -0
- package/build/tools/handover/types.d.ts +49 -0
- package/build/tools/handover/types.d.ts.map +1 -0
- package/build/tools/handover/types.js +2 -0
- package/build/tools/handover/types.js.map +1 -0
- package/build/tools/handover.d.ts +8 -0
- package/build/tools/handover.d.ts.map +1 -0
- package/build/tools/handover.js +138 -0
- package/build/tools/handover.js.map +1 -0
- package/build/tools/host/types.d.ts +34 -0
- package/build/tools/host/types.d.ts.map +1 -0
- package/build/tools/host/types.js +2 -0
- package/build/tools/host/types.js.map +1 -0
- package/build/tools/host.d.ts +4 -0
- package/build/tools/host.d.ts.map +1 -0
- package/build/tools/host.js +13 -0
- package/build/tools/host.js.map +1 -0
- package/build/tools/iam/types.d.ts +44 -0
- package/build/tools/iam/types.d.ts.map +1 -0
- package/build/tools/iam/types.js +2 -0
- package/build/tools/iam/types.js.map +1 -0
- package/build/tools/iam.d.ts +4 -0
- package/build/tools/iam.d.ts.map +1 -0
- package/build/tools/iam.js +229 -0
- package/build/tools/iam.js.map +1 -0
- package/build/tools/index.d.ts +27 -1
- package/build/tools/index.d.ts.map +1 -1
- package/build/tools/index.js +14 -1
- package/build/tools/index.js.map +1 -1
- package/build/tools/inflight/types.d.ts +47 -0
- package/build/tools/inflight/types.d.ts.map +1 -0
- package/build/tools/inflight/types.js +2 -0
- package/build/tools/inflight/types.js.map +1 -0
- package/build/tools/inflight.d.ts +3 -0
- package/build/tools/inflight.d.ts.map +1 -0
- package/build/tools/inflight.js +88 -0
- package/build/tools/inflight.js.map +1 -0
- package/build/tools/kits/types.d.ts +12 -0
- package/build/tools/kits/types.d.ts.map +1 -0
- package/build/tools/kits/types.js +2 -0
- package/build/tools/kits/types.js.map +1 -0
- package/build/tools/kits.d.ts +4 -0
- package/build/tools/kits.d.ts.map +1 -0
- package/build/tools/kits.js +33 -0
- package/build/tools/kits.js.map +1 -0
- package/build/tools/mcp.d.ts +13 -19
- package/build/tools/mcp.d.ts.map +1 -1
- package/build/tools/mcp.js +117 -38
- package/build/tools/mcp.js.map +1 -1
- package/build/tools/platform.d.ts +14 -0
- package/build/tools/platform.d.ts.map +1 -0
- package/build/tools/platform.js +90 -0
- package/build/tools/platform.js.map +1 -0
- package/build/tools/production/types.d.ts +22 -0
- package/build/tools/production/types.d.ts.map +1 -0
- package/build/tools/production/types.js +2 -0
- package/build/tools/production/types.js.map +1 -0
- package/build/tools/production.d.ts +4 -0
- package/build/tools/production.d.ts.map +1 -0
- package/build/tools/production.js +80 -0
- package/build/tools/production.js.map +1 -0
- package/build/tools/refusal/types.d.ts +95 -0
- package/build/tools/refusal/types.d.ts.map +1 -0
- package/build/tools/refusal/types.js +2 -0
- package/build/tools/refusal/types.js.map +1 -0
- package/build/tools/refusal.d.ts +4 -0
- package/build/tools/refusal.d.ts.map +1 -0
- package/build/tools/refusal.js +663 -0
- package/build/tools/refusal.js.map +1 -0
- package/build/tools/settings/types.d.ts +42 -0
- package/build/tools/settings/types.d.ts.map +1 -0
- package/build/tools/settings/types.js +2 -0
- package/build/tools/settings/types.js.map +1 -0
- package/build/tools/settings.d.ts +4 -0
- package/build/tools/settings.d.ts.map +1 -0
- package/build/tools/settings.js +71 -0
- package/build/tools/settings.js.map +1 -0
- package/build/tools/status/types.d.ts +25 -0
- package/build/tools/status/types.d.ts.map +1 -0
- package/build/tools/status/types.js +2 -0
- package/build/tools/status/types.js.map +1 -0
- package/build/tools/status.d.ts +4 -0
- package/build/tools/status.d.ts.map +1 -0
- package/build/tools/status.js +183 -0
- package/build/tools/status.js.map +1 -0
- package/build/tools/stories/types.d.ts +48 -0
- package/build/tools/stories/types.d.ts.map +1 -0
- package/build/tools/stories/types.js +2 -0
- package/build/tools/stories/types.js.map +1 -0
- package/build/tools/stories.d.ts +8 -0
- package/build/tools/stories.d.ts.map +1 -0
- package/build/tools/stories.js +79 -0
- package/build/tools/stories.js.map +1 -0
- package/build/tools/types.d.ts +177 -26
- package/build/tools/types.d.ts.map +1 -1
- package/build/tools/types.js +1 -32
- package/build/tools/types.js.map +1 -1
- package/build/types.d.ts +391 -26
- package/build/types.d.ts.map +1 -1
- package/build/utils.d.ts +8 -0
- package/build/utils.d.ts.map +1 -0
- package/build/utils.js +12 -0
- package/build/utils.js.map +1 -0
- package/package.json +30 -34
- package/build/harness/index.d.ts +0 -28
- package/build/harness/index.d.ts.map +0 -1
- package/build/harness/index.js +0 -83
- package/build/harness/index.js.map +0 -1
- package/build/harness/templates.d.ts +0 -30
- package/build/harness/templates.d.ts.map +0 -1
- package/build/harness/templates.js +0 -154
- package/build/harness/templates.js.map +0 -1
- package/build/tools/jobs.d.ts +0 -12
- package/build/tools/jobs.d.ts.map +0 -1
- package/build/tools/jobs.js +0 -47
- package/build/tools/jobs.js.map +0 -1
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type { StatTreeResult, SubProject } from '@owlmeans/viable-common';
|
|
2
|
+
import type { LocalSourceFile, SourceListOptions } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* The target's files, as the platform asks for them.
|
|
5
|
+
*
|
|
6
|
+
* Shaped exactly like the publisher's `createFileHelper`, because the caller is the same code:
|
|
7
|
+
* the agent's remote helper sends a `SlotFileCommand` and parses one of these answers, and it has
|
|
8
|
+
* no way to know whether a pod or a laptop produced it.
|
|
9
|
+
*/
|
|
10
|
+
export interface LocalFileHelper {
|
|
11
|
+
/**
|
|
12
|
+
* Wipe the project, keeping what the caller names and what is never ours to delete.
|
|
13
|
+
*
|
|
14
|
+
* The kept paths are project-relative and may be NESTED — `.agents/memory/history.md` is one
|
|
15
|
+
* the reinit pipeline passes, and `sources/web/.env` is one this helper adds itself. Matching
|
|
16
|
+
* them against top-level `readdir` names alone is what deleted the first: `.agents` matched
|
|
17
|
+
* nothing in the ignore set, so the whole harness tree went along with the one file the
|
|
18
|
+
* caller had explicitly asked to preserve — and nothing failed.
|
|
19
|
+
*
|
|
20
|
+
* So a directory is removed whole only when nothing kept lives under it; otherwise it is
|
|
21
|
+
* walked and pruned entry by entry.
|
|
22
|
+
*/
|
|
23
|
+
emptyProject: (ignore?: string[]) => Promise<void>;
|
|
24
|
+
deleteProject: () => Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Finish an installed template: make sure the root manifest declares its workspaces.
|
|
27
|
+
*
|
|
28
|
+
* The agent pushes every template file itself, so this is only the finalizer. The workspace
|
|
29
|
+
* list is written only when the manifest does not already declare one — the template ships
|
|
30
|
+
* `["sources/*"]`, and injecting the explicit list beside it produced a manifest carrying the
|
|
31
|
+
* key TWICE, valid only because JSON keeps the last one.
|
|
32
|
+
*/
|
|
33
|
+
initializeProject: () => Promise<void>;
|
|
34
|
+
getSourceList: (pattern?: string, options?: SourceListOptions) => Promise<string[]>;
|
|
35
|
+
getStructuredList: (patterns: string[]) => Promise<string[]>;
|
|
36
|
+
readFile: (path: string, notThrow?: boolean) => Promise<string>;
|
|
37
|
+
readSource: (filePath: string) => Promise<LocalSourceFile>;
|
|
38
|
+
readPossibleSource: (filePath: string) => Promise<LocalSourceFile>;
|
|
39
|
+
readSources: (files: string | string[]) => Promise<LocalSourceFile[]>;
|
|
40
|
+
writeFile: (filePath: string, content: string) => Promise<void>;
|
|
41
|
+
writeSource: (file: {
|
|
42
|
+
path: string;
|
|
43
|
+
code: string;
|
|
44
|
+
}) => Promise<void>;
|
|
45
|
+
deleteFile: (filePath: string, noThrow?: boolean) => Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* The tree, one line per file, bounded.
|
|
48
|
+
*
|
|
49
|
+
* One command rather than a listing plus a read per entry: the caller is a census over a
|
|
50
|
+
* repository somebody else wrote, which may hold a hundred thousand files, and one round trip
|
|
51
|
+
* each — over a connector, on somebody's laptop — is not a slower walk but a walk that never
|
|
52
|
+
* finishes.
|
|
53
|
+
*
|
|
54
|
+
* `total` counts what the walk SAW and `entries` what it returned. They differ once the limit
|
|
55
|
+
* is reached, and that difference is the only thing that tells a caller its picture of the
|
|
56
|
+
* tree is partial: a listing that reported only its own length would be indistinguishable
|
|
57
|
+
* from a small repository.
|
|
58
|
+
*
|
|
59
|
+
* Every entry's `path` is relative to the directory ASKED FOR, not to the project root. That
|
|
60
|
+
* is the contract the in-process helper and the publisher answer, and one executor answering
|
|
61
|
+
* a different relativity is worse than either choice: the caller is a census that follows a
|
|
62
|
+
* listing with a `readHead` of what it listed, and nothing downstream knows which of the
|
|
63
|
+
* three produced the path it is holding.
|
|
64
|
+
*/
|
|
65
|
+
statTree: (dir?: string, limit?: number) => Promise<StatTreeResult>;
|
|
66
|
+
/**
|
|
67
|
+
* The first bytes of one file, decoded as text.
|
|
68
|
+
*
|
|
69
|
+
* A classification reads a head; reading whole files to do it would hold a megabyte export in
|
|
70
|
+
* memory to look at its first line. Whatever the decoding produces for a binary head is the
|
|
71
|
+
* answer — that IS the signal an entropy classification wants, and cleaning it up would hide
|
|
72
|
+
* the one thing the caller is asking about.
|
|
73
|
+
*/
|
|
74
|
+
readHead: (filePath: string, bytes: number) => Promise<string>;
|
|
75
|
+
/**
|
|
76
|
+
* Move everything in the project root under one directory, leaving a named few where they are.
|
|
77
|
+
*
|
|
78
|
+
* What makes a converted project possible: the origin's own tree goes below, a Viable target
|
|
79
|
+
* is grown above it, and the two never share a path. It is the same walk `emptyProject` does —
|
|
80
|
+
* kept paths may be nested, a directory holding one is walked rather than moved, and a
|
|
81
|
+
* directory left empty by that walk does not survive as a shell.
|
|
82
|
+
*
|
|
83
|
+
* The always-keep set applies here too and for the same reason: `.git` is the developer's
|
|
84
|
+
* history and moving it under the origin would take the project's whole history with it,
|
|
85
|
+
* `.viable` is how a later session recognizes the project, and the two `.env` files hold what
|
|
86
|
+
* the platform cannot re-derive.
|
|
87
|
+
*
|
|
88
|
+
* Refuses a destination that already holds something. A relocation into an occupied directory
|
|
89
|
+
* interleaves two trees, and nothing afterwards can tell which files came from where.
|
|
90
|
+
*/
|
|
91
|
+
relocate: (dir: string, keep?: string[]) => Promise<{
|
|
92
|
+
moved: number;
|
|
93
|
+
kept: string[];
|
|
94
|
+
}>;
|
|
95
|
+
/**
|
|
96
|
+
* Delete a directory and everything under it — the purge of a relocated origin.
|
|
97
|
+
*
|
|
98
|
+
* Refuses the project root: emptying the project is `emptyProject`, which has a keep list this
|
|
99
|
+
* does not, and a purge that resolved to `.` would take the developer's `.git` and `.env` with
|
|
100
|
+
* the origin it was asked to remove.
|
|
101
|
+
*/
|
|
102
|
+
removeTree: (dir: string) => Promise<void>;
|
|
103
|
+
getRootPath: (subproject?: SubProject) => string;
|
|
104
|
+
findFilesWithEnvVars: (frontend?: boolean) => Promise<string[]>;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/executor/files/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAErE;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;OAWG;IACH,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC;;;;;;;OAOG;IACH,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,aAAa,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACnF,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC5D,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC/D,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;IAC1D,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;IAClE,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;IACrE,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,WAAW,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpE,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClE;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAA;IACnE;;;;;;;OAOG;IACH,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC9D;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;IACtF;;;;;;OAMG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,KAAK,MAAM,CAAA;IAChD,oBAAoB,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CAChE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/executor/files/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
/** What `readSource` and friends answer with — the shape the platform's file helpers parse. */
|
|
3
|
-
export interface LocalSourceFile {
|
|
4
|
-
path: string;
|
|
5
|
-
code?: string;
|
|
6
|
-
}
|
|
7
|
-
export interface SourceListOptions {
|
|
8
|
-
skipUIElements?: boolean;
|
|
9
|
-
excludes?: string[];
|
|
10
|
-
}
|
|
1
|
+
import type { LocalFileHelper } from './files/types.js';
|
|
11
2
|
/**
|
|
12
3
|
* The target's files, as the platform asks for them.
|
|
13
4
|
*
|
|
@@ -15,46 +6,7 @@ export interface SourceListOptions {
|
|
|
15
6
|
* the agent's remote helper sends a `SlotFileCommand` and parses one of these answers, and it has
|
|
16
7
|
* no way to know whether a pod or a laptop produced it.
|
|
17
8
|
*/
|
|
18
|
-
export declare const createLocalFileHelper: (projectPath: string) =>
|
|
19
|
-
/**
|
|
20
|
-
* Wipe the project, keeping what the caller names and what is never ours to delete.
|
|
21
|
-
*
|
|
22
|
-
* The kept paths are project-relative and may be NESTED — `.agents/memory/history.md` is one
|
|
23
|
-
* the reinit pipeline passes, and `sources/web/.env` is one this helper adds itself. Matching
|
|
24
|
-
* them against top-level `readdir` names alone is what deleted the first: `.agents` matched
|
|
25
|
-
* nothing in the ignore set, so the whole harness tree went along with the one file the
|
|
26
|
-
* caller had explicitly asked to preserve — and nothing failed.
|
|
27
|
-
*
|
|
28
|
-
* So a directory is removed whole only when nothing kept lives under it; otherwise it is
|
|
29
|
-
* walked and pruned entry by entry.
|
|
30
|
-
*/
|
|
31
|
-
emptyProject: (ignore?: string[]) => Promise<void>;
|
|
32
|
-
deleteProject: () => Promise<void>;
|
|
33
|
-
/**
|
|
34
|
-
* Finish an installed template: make sure the root manifest declares its workspaces.
|
|
35
|
-
*
|
|
36
|
-
* The agent pushes every template file itself, so this is only the finalizer. The workspace
|
|
37
|
-
* list is written only when the manifest does not already declare one — the template ships
|
|
38
|
-
* `["sources/*"]`, and injecting the explicit list beside it produced a manifest carrying the
|
|
39
|
-
* key TWICE, valid only because JSON keeps the last one.
|
|
40
|
-
*/
|
|
41
|
-
initializeProject: () => Promise<void>;
|
|
42
|
-
getSourceList: (pattern?: string, options?: SourceListOptions) => Promise<string[]>;
|
|
43
|
-
getStructuredList: (patterns: string[]) => Promise<string[]>;
|
|
44
|
-
readFile: (path: string, notThrow?: boolean) => Promise<string>;
|
|
45
|
-
readSource: (filePath: string) => Promise<LocalSourceFile>;
|
|
46
|
-
readPossibleSource: (filePath: string) => Promise<LocalSourceFile>;
|
|
47
|
-
readSources: (files: string | string[]) => Promise<LocalSourceFile[]>;
|
|
48
|
-
writeFile: (filePath: string, content: string) => Promise<void>;
|
|
49
|
-
writeSource: (file: {
|
|
50
|
-
path: string;
|
|
51
|
-
code: string;
|
|
52
|
-
}) => Promise<void>;
|
|
53
|
-
deleteFile: (filePath: string, noThrow?: boolean) => Promise<void>;
|
|
54
|
-
getRootPath: (subproject?: SubProject) => string;
|
|
55
|
-
findFilesWithEnvVars: (frontend?: boolean) => Promise<string[]>;
|
|
56
|
-
};
|
|
57
|
-
export type LocalFileHelper = ReturnType<typeof createLocalFileHelper>;
|
|
9
|
+
export declare const createLocalFileHelper: (projectPath: string) => LocalFileHelper;
|
|
58
10
|
/**
|
|
59
11
|
* The same confinement, for callers outside this helper.
|
|
60
12
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/executor/files.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/executor/files.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAoCvD;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,gBAAiB,MAAM,KAAG,eAkb3D,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,QAAS,MAAM,QAAQ,MAAM,KAAG,MACU,CAAA"}
|
package/build/executor/files.js
CHANGED
|
@@ -1,9 +1,37 @@
|
|
|
1
1
|
import fs from 'fs-extra';
|
|
2
|
-
import {
|
|
2
|
+
import { globHelper } from './glob.js';
|
|
3
|
+
import fsp from 'node:fs/promises';
|
|
3
4
|
import p from 'node:path';
|
|
4
|
-
import {
|
|
5
|
-
import { SandboxPathError } from './errors.js';
|
|
6
|
-
import {
|
|
5
|
+
import { BINARY_PROBE_BYTES, CENSUS_MAX_ENTRIES, CENSUS_MAX_HEAD_BYTES, CONNECT_MARKER_DIR, METADATA_SUFFIXES, SOURCE_LIST_EXCLUSIONS, SubProject, censusHelper } from '@owlmeans/viable-common';
|
|
6
|
+
import { FileCommandRefused, SandboxPathError } from './errors.js';
|
|
7
|
+
import { makeLayoutHelper } from './layout.js';
|
|
8
|
+
import { WALK_SKIP } from './consts.local.js';
|
|
9
|
+
const wrapWithSlashes = (path) => path.endsWith('/') ? path : `${path}/`;
|
|
10
|
+
const cleanUpPath = (file, { rootPath }) => file.replace(rootPath, '').replace(/^\/+/, '');
|
|
11
|
+
/**
|
|
12
|
+
* Resolve a caller-supplied project path to the absolute path it names inside the project.
|
|
13
|
+
*
|
|
14
|
+
* Paths arrive from the platform in both shapes — root-relative (`sources/web/src/app.tsx`) and
|
|
15
|
+
* already absolute — so **every** fs call has to apply the same normalization, not just the read
|
|
16
|
+
* side. Concatenating an absolute path onto the root instead builds a shadow tree: the write
|
|
17
|
+
* reports success, a later read of the same name resolves to the untouched original, and the
|
|
18
|
+
* change looks like it was silently ignored.
|
|
19
|
+
*
|
|
20
|
+
* The refusal is confinement, not sanitization: only a fully resolved path can be compared to the
|
|
21
|
+
* root, and a `..`-to-`.` replace at one caller is a guard on that caller rather than on the tree.
|
|
22
|
+
*/
|
|
23
|
+
const resolveInProject = (file, { rootPath }) => {
|
|
24
|
+
const resolved = p.resolve(rootPath, cleanUpPath(file, { rootPath }));
|
|
25
|
+
const root = p.resolve(rootPath);
|
|
26
|
+
if (resolved !== root && !resolved.startsWith(wrapWithSlashes(root))) {
|
|
27
|
+
throw new SandboxPathError(file);
|
|
28
|
+
}
|
|
29
|
+
return resolved;
|
|
30
|
+
};
|
|
31
|
+
const normalizePaths = (files, { rootPath }) => {
|
|
32
|
+
const fileList = Array.isArray(files) ? files : [files];
|
|
33
|
+
return fileList.map(file => file.startsWith('/') ? cleanUpPath(file, { rootPath }) : file);
|
|
34
|
+
};
|
|
7
35
|
/**
|
|
8
36
|
* The target's files, as the platform asks for them.
|
|
9
37
|
*
|
|
@@ -13,11 +41,39 @@ import { subprojectDir, targetPaths } from './layout.js';
|
|
|
13
41
|
*/
|
|
14
42
|
export const createLocalFileHelper = (projectPath) => {
|
|
15
43
|
const rootPath = wrapWithSlashes(p.resolve(projectPath));
|
|
44
|
+
/**
|
|
45
|
+
* Whether a file is binary, by git's own heuristic: a NUL byte near the beginning.
|
|
46
|
+
*
|
|
47
|
+
* Asked only where {@link binaryByExtension} says nothing, and that ordering is the contract
|
|
48
|
+
* rather than an optimization: a probe alone answers `false` for a small `.ico` with no NUL in its
|
|
49
|
+
* first bytes, so a census run here and the same census run in the slot disagreed about one file
|
|
50
|
+
* of one repository — with the tail table consulted first, all three executors agree.
|
|
51
|
+
*/
|
|
52
|
+
const isBinary = async (path, size) => {
|
|
53
|
+
if (size < 1)
|
|
54
|
+
return false;
|
|
55
|
+
const handle = await fsp.open(path, 'r').catch(() => null);
|
|
56
|
+
if (handle == null)
|
|
57
|
+
return false;
|
|
58
|
+
try {
|
|
59
|
+
const length = Math.min(size, BINARY_PROBE_BYTES);
|
|
60
|
+
const buffer = Buffer.alloc(length);
|
|
61
|
+
const { bytesRead } = await handle.read(buffer, 0, length, 0);
|
|
62
|
+
return buffer.subarray(0, bytesRead).includes(0);
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
finally {
|
|
68
|
+
await handle.close();
|
|
69
|
+
}
|
|
70
|
+
};
|
|
16
71
|
// Every path below asks the tree which layout it holds, per call, rather than closing over one
|
|
17
72
|
// answer: a project is re-initialized in place, and this helper outlives that. `packages/` for
|
|
18
73
|
// a target generated before the move, `sources/` for one generated after it.
|
|
19
|
-
const
|
|
20
|
-
const
|
|
74
|
+
const targetLayout = makeLayoutHelper(rootPath);
|
|
75
|
+
const layout = () => targetLayout.targetPaths();
|
|
76
|
+
const dirOf = (role) => targetLayout.subprojectDir(role);
|
|
21
77
|
/**
|
|
22
78
|
* What a wipe must never take, whatever the caller asked to keep.
|
|
23
79
|
*
|
|
@@ -39,31 +95,31 @@ export const createLocalFileHelper = (projectPath) => {
|
|
|
39
95
|
`${layout().dir}/${dirOf(SubProject.Web)}/.env`,
|
|
40
96
|
'.git',
|
|
41
97
|
];
|
|
98
|
+
/**
|
|
99
|
+
* The two questions a wipe and a relocation both ask of every entry they walk.
|
|
100
|
+
*
|
|
101
|
+
* Shared because they are the same walk with a different verb: one removes what it passes and
|
|
102
|
+
* the other moves it, and both must leave a nested keep — `.agents/memory/history.md`,
|
|
103
|
+
* `sources/web/.env` — where it is. Matching kept paths against top-level names alone is what
|
|
104
|
+
* once deleted a whole harness tree along with the one file the caller had asked to preserve.
|
|
105
|
+
*/
|
|
106
|
+
const keepGuards = (entries) => {
|
|
107
|
+
const keep = new Set(entries.map(entry => entry.replace(/^\.?\//, '').replace(/\/+$/, '')));
|
|
108
|
+
const holdsKept = (rel) => {
|
|
109
|
+
const prefix = `${rel}/`;
|
|
110
|
+
for (const entry of keep) {
|
|
111
|
+
if (entry.startsWith(prefix))
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
114
|
+
return false;
|
|
115
|
+
};
|
|
116
|
+
return { keep, isKept: (rel) => keep.has(rel), holdsKept };
|
|
117
|
+
};
|
|
42
118
|
const helper = {
|
|
43
|
-
/**
|
|
44
|
-
* Wipe the project, keeping what the caller names and what is never ours to delete.
|
|
45
|
-
*
|
|
46
|
-
* The kept paths are project-relative and may be NESTED — `.agents/memory/history.md` is one
|
|
47
|
-
* the reinit pipeline passes, and `sources/web/.env` is one this helper adds itself. Matching
|
|
48
|
-
* them against top-level `readdir` names alone is what deleted the first: `.agents` matched
|
|
49
|
-
* nothing in the ignore set, so the whole harness tree went along with the one file the
|
|
50
|
-
* caller had explicitly asked to preserve — and nothing failed.
|
|
51
|
-
*
|
|
52
|
-
* So a directory is removed whole only when nothing kept lives under it; otherwise it is
|
|
53
|
-
* walked and pruned entry by entry.
|
|
54
|
-
*/
|
|
55
119
|
emptyProject: async (ignore) => {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const holdsKept = (rel) => {
|
|
60
|
-
const prefix = `${rel}/`;
|
|
61
|
-
for (const entry of keep) {
|
|
62
|
-
if (entry.startsWith(prefix))
|
|
63
|
-
return true;
|
|
64
|
-
}
|
|
65
|
-
return false;
|
|
66
|
-
};
|
|
120
|
+
// `holdsKept` says something kept lives below here, so this directory has to be walked
|
|
121
|
+
// rather than removed.
|
|
122
|
+
const { isKept, holdsKept } = keepGuards([...(ignore ?? []), ...alwaysKeep()]);
|
|
67
123
|
const prune = async (rel) => {
|
|
68
124
|
const dir = rel === '' ? rootPath : p.join(rootPath, rel);
|
|
69
125
|
const entries = await fs.readdir(dir);
|
|
@@ -93,14 +149,6 @@ export const createLocalFileHelper = (projectPath) => {
|
|
|
93
149
|
deleteProject: async () => {
|
|
94
150
|
await helper.emptyProject();
|
|
95
151
|
},
|
|
96
|
-
/**
|
|
97
|
-
* Finish an installed template: make sure the root manifest declares its workspaces.
|
|
98
|
-
*
|
|
99
|
-
* The agent pushes every template file itself, so this is only the finalizer. The workspace
|
|
100
|
-
* list is written only when the manifest does not already declare one — the template ships
|
|
101
|
-
* `["sources/*"]`, and injecting the explicit list beside it produced a manifest carrying the
|
|
102
|
-
* key TWICE, valid only because JSON keeps the last one.
|
|
103
|
-
*/
|
|
104
152
|
initializeProject: async () => {
|
|
105
153
|
const manifestPath = `${rootPath}package.json`;
|
|
106
154
|
if (await fs.pathExists(manifestPath) === false) {
|
|
@@ -127,7 +175,7 @@ ${present.map(path => ` "${path}"`).join(',\n')}
|
|
|
127
175
|
getSourceList: async (pattern = `${rootPath}**/*`, options = {}) => {
|
|
128
176
|
const { skipUIElements = false, excludes = [] } = options;
|
|
129
177
|
pattern = pattern.startsWith(rootPath) ? pattern : p.join(rootPath, pattern);
|
|
130
|
-
const files = await
|
|
178
|
+
const files = await globHelper.list([
|
|
131
179
|
pattern,
|
|
132
180
|
`!${rootPath}**/rollup.config.js`,
|
|
133
181
|
`!${rootPath}**/rollup.build.mjs`,
|
|
@@ -151,9 +199,13 @@ ${present.map(path => ` "${path}"`).join(',\n')}
|
|
|
151
199
|
`!${rootPath}**/build/**/*`,
|
|
152
200
|
`!${rootPath}**/node_modules/**/*`,
|
|
153
201
|
`!${rootPath}spectator-log/**/*`,
|
|
154
|
-
// The target's own documentation and agent harness,
|
|
202
|
+
// The target's own documentation and agent harness, and the origin tree a conversion
|
|
203
|
+
// keeps beside the generated application — ONE constant, shared with the publisher and
|
|
204
|
+
// the library, because three copies of this list is three chances for one of them to
|
|
205
|
+
// keep listing the origin, and the symptom is a coder helper reading a foreign
|
|
206
|
+
// framework's files as if they were the target's. Plus the co-located metadata files
|
|
155
207
|
// (*.spec.md, *.ux.md, *.ui.md).
|
|
156
|
-
...
|
|
208
|
+
...SOURCE_LIST_EXCLUSIONS.map(dir => `!${rootPath}${dir}/**/*`),
|
|
157
209
|
...METADATA_SUFFIXES.map(suffix => `!${rootPath}**/*${suffix}`),
|
|
158
210
|
...excludes.map(exclude => `!${rootPath}${exclude}`),
|
|
159
211
|
...(skipUIElements
|
|
@@ -164,7 +216,7 @@ ${present.map(path => ` "${path}"`).join(',\n')}
|
|
|
164
216
|
},
|
|
165
217
|
getStructuredList: async (patterns) => {
|
|
166
218
|
const resolved = patterns.map(pattern => pattern.startsWith(rootPath) ? pattern : p.join(rootPath, pattern));
|
|
167
|
-
const files = await
|
|
219
|
+
const files = await globHelper.list(resolved);
|
|
168
220
|
return files.map(file => cleanUpPath(file, { rootPath }));
|
|
169
221
|
},
|
|
170
222
|
readFile: async (path, notThrow = false) => {
|
|
@@ -220,6 +272,137 @@ ${present.map(path => ` "${path}"`).join(',\n')}
|
|
|
220
272
|
}
|
|
221
273
|
}
|
|
222
274
|
},
|
|
275
|
+
statTree: async (dir, limit) => {
|
|
276
|
+
const start = dir != null && dir !== ''
|
|
277
|
+
? resolveInProject(dir, { rootPath })
|
|
278
|
+
: p.resolve(rootPath);
|
|
279
|
+
const cap = limit != null && limit > 0 ? limit : CENSUS_MAX_ENTRIES;
|
|
280
|
+
const entries = [];
|
|
281
|
+
let total = 0;
|
|
282
|
+
const walk = async (absolute) => {
|
|
283
|
+
const listed = await fs.readdir(absolute, { withFileTypes: true }).catch(() => []);
|
|
284
|
+
for (const entry of listed) {
|
|
285
|
+
if (WALK_SKIP.has(entry.name))
|
|
286
|
+
continue;
|
|
287
|
+
const child = p.join(absolute, entry.name);
|
|
288
|
+
if (entry.isDirectory()) {
|
|
289
|
+
await walk(child);
|
|
290
|
+
continue;
|
|
291
|
+
}
|
|
292
|
+
// Symlinks and devices are counted by nobody: a census describes files a model could
|
|
293
|
+
// read, and following a link would leave the tree it was asked about.
|
|
294
|
+
if (!entry.isFile())
|
|
295
|
+
continue;
|
|
296
|
+
total += 1;
|
|
297
|
+
if (entries.length >= cap)
|
|
298
|
+
continue;
|
|
299
|
+
const stat = await fs.stat(child).catch(() => null);
|
|
300
|
+
if (stat == null)
|
|
301
|
+
continue;
|
|
302
|
+
const rel = p.relative(start, child);
|
|
303
|
+
const known = censusHelper.binaryByExtension(rel);
|
|
304
|
+
entries.push({
|
|
305
|
+
path: rel,
|
|
306
|
+
bytes: stat.size,
|
|
307
|
+
binary: known ?? await isBinary(child, stat.size),
|
|
308
|
+
modifiedAt: stat.mtime.toISOString(),
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
};
|
|
312
|
+
await walk(start);
|
|
313
|
+
return { entries, truncated: total > entries.length, total };
|
|
314
|
+
},
|
|
315
|
+
readHead: async (filePath, bytes) => {
|
|
316
|
+
// Confinement first, and it is the ONE thing here that still raises: a path resolving
|
|
317
|
+
// outside the project is a caller's bug, never an entry of a tree.
|
|
318
|
+
const path = resolveInProject(filePath, { rootPath });
|
|
319
|
+
// Everything else answers `''`. A census hands this whatever a walk over somebody else's
|
|
320
|
+
// tree produced — a directory, a symlink, a file deleted between the listing and the read —
|
|
321
|
+
// and one unreadable entry must not fail the pass that is classifying the rest. A directory
|
|
322
|
+
// is the case that made this necessary: `open` succeeds on one and the read then throws
|
|
323
|
+
// EISDIR, so the tolerant answer has to cover the read as well as the open.
|
|
324
|
+
const stat = await fs.stat(path).catch(() => null);
|
|
325
|
+
if (stat == null || !stat.isFile())
|
|
326
|
+
return '';
|
|
327
|
+
const length = Math.min(Math.max(bytes, 0), stat.size, CENSUS_MAX_HEAD_BYTES);
|
|
328
|
+
if (length < 1)
|
|
329
|
+
return '';
|
|
330
|
+
const handle = await fsp.open(path, 'r').catch(() => null);
|
|
331
|
+
if (handle == null)
|
|
332
|
+
return '';
|
|
333
|
+
try {
|
|
334
|
+
const buffer = Buffer.alloc(length);
|
|
335
|
+
const { bytesRead } = await handle.read(buffer, 0, length, 0);
|
|
336
|
+
return buffer.subarray(0, bytesRead).toString('utf-8');
|
|
337
|
+
}
|
|
338
|
+
catch {
|
|
339
|
+
return '';
|
|
340
|
+
}
|
|
341
|
+
finally {
|
|
342
|
+
await handle.close();
|
|
343
|
+
}
|
|
344
|
+
},
|
|
345
|
+
relocate: async (dir, keep) => {
|
|
346
|
+
// Resolved FIRST, and the project-relative name derived back from the resolved path. A
|
|
347
|
+
// destination arrives in both shapes like every other path a caller sends, and normalizing
|
|
348
|
+
// the string ahead of the confinement is what builds the shadow tree `resolveInProject`
|
|
349
|
+
// exists to prevent: an absolute destination lost its leading slash, resolved under the root
|
|
350
|
+
// a second time, and the keep set then no longer matched the top-level name it had created.
|
|
351
|
+
// It also subsumes `.`, `''` and a trailing slash, which all resolve to the root itself.
|
|
352
|
+
const destinationPath = resolveInProject(dir ?? '', { rootPath });
|
|
353
|
+
const destination = p.relative(p.resolve(rootPath), destinationPath);
|
|
354
|
+
if (destination === '') {
|
|
355
|
+
throw new FileCommandRefused('relocate needs a directory to move the project into');
|
|
356
|
+
}
|
|
357
|
+
if (await fs.pathExists(destinationPath)) {
|
|
358
|
+
const existing = await fs.readdir(destinationPath);
|
|
359
|
+
if (existing.length > 0) {
|
|
360
|
+
throw new FileCommandRefused(`relocation target is not empty: ${destination}`);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
// The destination is kept like anything else, which is what stops the walk moving it into
|
|
364
|
+
// itself — a keep is checked before a move, and this one always matches first.
|
|
365
|
+
const { keep: kept, isKept, holdsKept } = keepGuards([destination, ...(keep ?? []), ...alwaysKeep()]);
|
|
366
|
+
const move = async (rel) => {
|
|
367
|
+
const from = rel === '' ? rootPath : p.join(rootPath, rel);
|
|
368
|
+
const entries = await fs.readdir(from);
|
|
369
|
+
let moved = 0;
|
|
370
|
+
// Serial: a relocation is one operation from the caller's point of view, and a half-moved
|
|
371
|
+
// tree is neither the origin nor a target.
|
|
372
|
+
for (const name of entries) {
|
|
373
|
+
const child = rel === '' ? name : `${rel}/${name}`;
|
|
374
|
+
if (isKept(child))
|
|
375
|
+
continue;
|
|
376
|
+
if (holdsKept(child)) {
|
|
377
|
+
moved += await move(child);
|
|
378
|
+
const remaining = await fs.readdir(p.join(rootPath, child));
|
|
379
|
+
if (remaining.length === 0)
|
|
380
|
+
await fs.remove(p.join(rootPath, child));
|
|
381
|
+
continue;
|
|
382
|
+
}
|
|
383
|
+
const to = p.join(destinationPath, child);
|
|
384
|
+
await fs.ensureDir(p.dirname(to));
|
|
385
|
+
await fs.move(p.join(rootPath, child), to);
|
|
386
|
+
moved += 1;
|
|
387
|
+
}
|
|
388
|
+
return moved;
|
|
389
|
+
};
|
|
390
|
+
await fs.ensureDir(destinationPath);
|
|
391
|
+
const moved = await move('');
|
|
392
|
+
// The whole keep set, exactly as the publisher and the library helper answer it — this is a
|
|
393
|
+
// report of what the relocation was told to leave alone, not a listing of what happens to be
|
|
394
|
+
// on disk afterwards. Filtering it by existence made the same relocation answer differently
|
|
395
|
+
// here than in a slot, over paths (a project without local branding has no web `.env`) whose
|
|
396
|
+
// absence says nothing about the move.
|
|
397
|
+
return { moved, kept: [...kept] };
|
|
398
|
+
},
|
|
399
|
+
removeTree: async (dir) => {
|
|
400
|
+
const path = resolveInProject(dir, { rootPath });
|
|
401
|
+
if (path === p.resolve(rootPath)) {
|
|
402
|
+
throw new FileCommandRefused('removeTree cannot delete the project root');
|
|
403
|
+
}
|
|
404
|
+
await fs.remove(path);
|
|
405
|
+
},
|
|
223
406
|
getRootPath: (subproject) => subproject == null
|
|
224
407
|
? rootPath
|
|
225
408
|
: p.join(rootPath, layout().dir, dirOf(subproject)),
|
|
@@ -229,7 +412,7 @@ ${present.map(path => ` "${path}"`).join(',\n')}
|
|
|
229
412
|
: frontend === false
|
|
230
413
|
? `${rootPath}${layout().dir}/${dirOf(SubProject.Backend)}/src/**/*.ts`
|
|
231
414
|
: `${rootPath}**/*.ts`;
|
|
232
|
-
const files = await
|
|
415
|
+
const files = await globHelper.list([
|
|
233
416
|
searchPattern,
|
|
234
417
|
`!${rootPath}**/node_modules/**/*`,
|
|
235
418
|
`!${rootPath}**/owlmeans.ts`,
|
|
@@ -251,32 +434,6 @@ ${present.map(path => ` "${path}"`).join(',\n')}
|
|
|
251
434
|
};
|
|
252
435
|
return helper;
|
|
253
436
|
};
|
|
254
|
-
const wrapWithSlashes = (path) => path.endsWith('/') ? path : `${path}/`;
|
|
255
|
-
const cleanUpPath = (file, { rootPath }) => file.replace(rootPath, '').replace(/^\/+/, '');
|
|
256
|
-
/**
|
|
257
|
-
* Resolve a caller-supplied project path to the absolute path it names inside the project.
|
|
258
|
-
*
|
|
259
|
-
* Paths arrive from the platform in both shapes — root-relative (`sources/web/src/app.tsx`) and
|
|
260
|
-
* already absolute — so **every** fs call has to apply the same normalization, not just the read
|
|
261
|
-
* side. Concatenating an absolute path onto the root instead builds a shadow tree: the write
|
|
262
|
-
* reports success, a later read of the same name resolves to the untouched original, and the
|
|
263
|
-
* change looks like it was silently ignored.
|
|
264
|
-
*
|
|
265
|
-
* The refusal is confinement, not sanitization: only a fully resolved path can be compared to the
|
|
266
|
-
* root, and a `..`-to-`.` replace at one caller is a guard on that caller rather than on the tree.
|
|
267
|
-
*/
|
|
268
|
-
const resolveInProject = (file, { rootPath }) => {
|
|
269
|
-
const resolved = p.resolve(rootPath, cleanUpPath(file, { rootPath }));
|
|
270
|
-
const root = p.resolve(rootPath);
|
|
271
|
-
if (resolved !== root && !resolved.startsWith(wrapWithSlashes(root))) {
|
|
272
|
-
throw new SandboxPathError(file);
|
|
273
|
-
}
|
|
274
|
-
return resolved;
|
|
275
|
-
};
|
|
276
|
-
const normalizePaths = (files, { rootPath }) => {
|
|
277
|
-
const fileList = Array.isArray(files) ? files : [files];
|
|
278
|
-
return fileList.map(file => file.startsWith('/') ? cleanUpPath(file, { rootPath }) : file);
|
|
279
|
-
};
|
|
280
437
|
/**
|
|
281
438
|
* The same confinement, for callers outside this helper.
|
|
282
439
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/executor/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,CAAC,MAAM,WAAW,CAAA;AAEzB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAE1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAaxD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,WAAmB,EAAE,EAAE;IAC3D,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;IAExD,+FAA+F;IAC/F,+FAA+F;IAC/F,6EAA6E;IAC7E,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC1C,MAAM,KAAK,GAAG,CAAC,IAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAEjE;;;;;;;;;;;;;;OAcG;IACH,MAAM,UAAU,GAAG,GAAa,EAAE,CAAC;QACjC,kBAAkB;QAClB,MAAM;QACN,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO;QAC/C,MAAM;KACP,CAAA;IAED,MAAM,MAAM,GAAG;QACb;;;;;;;;;;;WAWG;QACH,YAAY,EAAE,KAAK,EAAE,MAAiB,EAAE,EAAE;YACxC,MAAM,IAAI,GAAG,IAAI,GAAG,CAClB,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAC/E,CAAA;YACD,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC7C,2FAA2F;YAC3F,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE;gBAChC,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,CAAA;gBACxB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;oBACzB,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;wBAAE,OAAO,IAAI,CAAA;gBAC3C,CAAC;gBAED,OAAO,KAAK,CAAA;YACd,CAAC,CAAA;YAED,MAAM,KAAK,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;gBACjD,MAAM,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;gBACzD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBACrC,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;oBACzC,MAAM,KAAK,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;oBAClD,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;wBAClB,OAAM;oBACR,CAAC;oBACD,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;wBACrB,MAAM,KAAK,CAAC,KAAK,CAAC,CAAA;wBAClB,kFAAkF;wBAClF,sFAAsF;wBACtF,mFAAmF;wBACnF,kFAAkF;wBAClF,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;wBAC3D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC3B,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;wBAC1C,CAAC;wBAED,OAAM;oBACR,CAAC;oBACD,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;gBAC1C,CAAC,CAAC,CAAC,CAAA;YACL,CAAC,CAAA;YAED,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;YAC5B,MAAM,KAAK,CAAC,EAAE,CAAC,CAAA;QACjB,CAAC;QAED,aAAa,EAAE,KAAK,IAAI,EAAE;YACxB,MAAM,MAAM,CAAC,YAAY,EAAE,CAAA;QAC7B,CAAC;QAED;;;;;;;WAOG;QACH,iBAAiB,EAAE,KAAK,IAAI,EAAE;YAC5B,MAAM,YAAY,GAAG,GAAG,QAAQ,cAAc,CAAA;YAC9C,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,KAAK,EAAE,CAAC;gBAChD,OAAM;YACR,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;YACrD,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,OAAM;YACR,CAAC;YAED,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,CAAA;YAC/B,MAAM,OAAO,GAAa,EAAE,CAAA;YAC5B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;gBAChC,CAAC;YACH,CAAC;YAED,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;;;EAGvE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;;OAEjD,CAAC,CAAC,CAAA;QACL,CAAC;QAED,aAAa,EAAE,KAAK,EAClB,OAAO,GAAG,GAAG,QAAQ,MAAM,EAC3B,OAAO,GAAsB,EAAE,EACZ,EAAE;YACrB,MAAM,EAAE,cAAc,GAAG,KAAK,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;YACzD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAE5E,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC;gBACzB,OAAO;gBACP,IAAI,QAAQ,qBAAqB;gBACjC,IAAI,QAAQ,qBAAqB;gBACjC,yFAAyF;gBACzF,8EAA8E;gBAC9E,IAAI,QAAQ,gBAAgB;gBAC5B,kFAAkF;gBAClF,yFAAyF;gBACzF,mDAAmD;gBACnD,IAAI,QAAQ,qBAAqB;gBACjC,wFAAwF;gBACxF,wFAAwF;gBACxF,qFAAqF;gBACrF,yDAAyD;gBACzD,IAAI,QAAQ,aAAa;gBACzB,IAAI,QAAQ,cAAc;gBAC1B,IAAI,QAAQ,cAAc;gBAC1B,IAAI,QAAQ,sBAAsB;gBAClC,IAAI,QAAQ,mBAAmB;gBAC/B,IAAI,QAAQ,cAAc;gBAC1B,IAAI,QAAQ,eAAe;gBAC3B,IAAI,QAAQ,sBAAsB;gBAClC,IAAI,QAAQ,oBAAoB;gBAChC,uFAAuF;gBACvF,iCAAiC;gBACjC,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,GAAG,GAAG,OAAO,CAAC;gBACtD,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,OAAO,MAAM,EAAE,CAAC;gBAC/D,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,QAAQ,GAAG,OAAO,EAAE,CAAC;gBACpD,GAAG,CAAC,cAAc;oBAChB,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,yBAAyB,CAAC;oBACtF,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAA;YAEF,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;QAC3D,CAAC;QAED,iBAAiB,EAAE,KAAK,EAAE,QAAkB,EAAqB,EAAE;YACjE,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAC3B,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAC9E,CAAA;YACD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;YAEpC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;QAC3D,CAAC;QAED,QAAQ,EAAE,KAAK,EAAE,IAAY,EAAE,QAAQ,GAAG,KAAK,EAAmB,EAAE;YAClE,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;YACzE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,EAAE,CAAA;gBACX,CAAC;gBACD,MAAM,CAAC,CAAA;YACT,CAAC;QACH,CAAC;QAED,UAAU,EAAE,KAAK,EAAE,QAAgB,EAA4B,EAAE;YAC/D,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YAChD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;YAE7F,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACvB,CAAC;QAED,kBAAkB,EAAE,KAAK,EAAE,QAAgB,EAA4B,EAAE;YACvE,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC;iBAChF,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;YAClB,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YAEhD,OAAO,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;QAC1D,CAAC;QAED,WAAW,EAAE,KAAK,EAAE,KAAwB,EAA8B,EAAE;YAC1E,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YACjD,MAAM,OAAO,GAAsB,EAAE,CAAA;YACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC;qBAC1E,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;gBAClB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC9B,CAAC;YAED,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,SAAS,EAAE,KAAK,EAAE,QAAgB,EAAE,OAAe,EAAiB,EAAE;YACpE,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YACrD,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;YACnC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACnC,CAAC;QAED,WAAW,EAAE,KAAK,EAAE,IAAoC,EAAiB,EAAE;YACzE,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YACtD,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;YACnC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC;QAED,UAAU,EAAE,KAAK,EAAE,QAAgB,EAAE,OAAO,GAAG,IAAI,EAAiB,EAAE;YACpE,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YACrD,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACrD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,CAAC,CAAA;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QAED,WAAW,EAAE,CAAC,UAAuB,EAAU,EAAE,CAAC,UAAU,IAAI,IAAI;YAClE,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAErD,oBAAoB,EAAE,KAAK,EAAE,QAAkB,EAAqB,EAAE;YACpE,MAAM,aAAa,GAAG,QAAQ,KAAK,IAAI;gBACrC,CAAC,CAAC,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc;gBACxE,CAAC,CAAC,QAAQ,KAAK,KAAK;oBAClB,CAAC,CAAC,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc;oBACvE,CAAC,CAAC,GAAG,QAAQ,SAAS,CAAA;YAE1B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC;gBACzB,aAAa;gBACb,IAAI,QAAQ,sBAAsB;gBAClC,IAAI,QAAQ,gBAAgB;gBAC5B,IAAI,QAAQ,cAAc;gBAC1B,IAAI,QAAQ,cAAc;gBAC1B,IAAI,QAAQ,cAAc;gBAC1B,IAAI,QAAQ,aAAa;gBACzB,IAAI,QAAQ,oBAAoB;aACjC,CAAC,CAAA;YAEF,MAAM,MAAM,GAAa,EAAE,CAAA;YAC3B,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;gBACpE,IAAI,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBACxC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;gBAClD,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAA;QACf,CAAC;KACF,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAID,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAA;AAEhF,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,QAAQ,EAAwB,EAAE,EAAE,CACvE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE,QAAQ,EAAwB,EAAE,EAAE;IAC5E,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;IACrE,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEhC,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,KAAwB,EAAE,EAAE,QAAQ,EAAwB,EAAE,EAAE;IACtF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAEvD,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAC5F,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,IAAY,EAAU,EAAE,CACpE,gBAAgB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/executor/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,GAAG,MAAM,kBAAkB,CAAA;AAClC,OAAO,CAAC,MAAM,WAAW,CAAA;AAEzB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,UAAU,EAAsC,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEpO,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAI7C,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAA;AAEhF,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,QAAQ,EAAwB,EAAE,EAAE,CACvE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE,QAAQ,EAAwB,EAAE,EAAE;IAC5E,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;IACrE,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEhC,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,KAAwB,EAAE,EAAE,QAAQ,EAAwB,EAAE,EAAE;IACtF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAEvD,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAC5F,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,WAAmB,EAAmB,EAAE;IAC5E,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;IAExD;;;;;;;OAOG;IACH,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAY,EAAE,IAAY,EAAoB,EAAE;QACtE,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QAC1B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;QAC1D,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,KAAK,CAAA;QAChC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;YACjD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACnC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;YAE7D,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QACtB,CAAC;IACH,CAAC,CAAA;IAED,+FAA+F;IAC/F,+FAA+F;IAC/F,6EAA6E;IAC7E,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAA;IAC/C,MAAM,KAAK,GAAG,CAAC,IAAgB,EAAE,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAEpE;;;;;;;;;;;;;;OAcG;IACH,MAAM,UAAU,GAAG,GAAa,EAAE,CAAC;QACjC,kBAAkB;QAClB,MAAM;QACN,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO;QAC/C,MAAM;KACP,CAAA;IAED;;;;;;;OAOG;IACH,MAAM,UAAU,GAAG,CAAC,OAA0B,EAAE,EAAE;QAChD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAC3F,MAAM,SAAS,GAAG,CAAC,GAAW,EAAW,EAAE;YACzC,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,CAAA;YACxB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;gBACzB,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;oBAAE,OAAO,IAAI,CAAA;YAC3C,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC,CAAA;QAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAA;IACpE,CAAC,CAAA;IAED,MAAM,MAAM,GAAoB;QAC9B,YAAY,EAAE,KAAK,EAAE,MAAiB,EAAE,EAAE;YACxC,uFAAuF;YACvF,uBAAuB;YACvB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC,CAAA;YAE9E,MAAM,KAAK,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;gBACjD,MAAM,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;gBACzD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBACrC,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;oBACzC,MAAM,KAAK,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;oBAClD,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;wBAClB,OAAM;oBACR,CAAC;oBACD,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;wBACrB,MAAM,KAAK,CAAC,KAAK,CAAC,CAAA;wBAClB,kFAAkF;wBAClF,sFAAsF;wBACtF,mFAAmF;wBACnF,kFAAkF;wBAClF,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;wBAC3D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC3B,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;wBAC1C,CAAC;wBAED,OAAM;oBACR,CAAC;oBACD,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;gBAC1C,CAAC,CAAC,CAAC,CAAA;YACL,CAAC,CAAA;YAED,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;YAC5B,MAAM,KAAK,CAAC,EAAE,CAAC,CAAA;QACjB,CAAC;QAED,aAAa,EAAE,KAAK,IAAI,EAAE;YACxB,MAAM,MAAM,CAAC,YAAY,EAAE,CAAA;QAC7B,CAAC;QAED,iBAAiB,EAAE,KAAK,IAAI,EAAE;YAC5B,MAAM,YAAY,GAAG,GAAG,QAAQ,cAAc,CAAA;YAC9C,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,KAAK,EAAE,CAAC;gBAChD,OAAM;YACR,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;YACrD,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,OAAM;YACR,CAAC;YAED,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,CAAA;YAC/B,MAAM,OAAO,GAAa,EAAE,CAAA;YAC5B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;gBAChC,CAAC;YACH,CAAC;YAED,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;;;EAGvE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;;OAEjD,CAAC,CAAC,CAAA;QACL,CAAC;QAED,aAAa,EAAE,KAAK,EAClB,OAAO,GAAG,GAAG,QAAQ,MAAM,EAC3B,OAAO,GAAsB,EAAE,EACZ,EAAE;YACrB,MAAM,EAAE,cAAc,GAAG,KAAK,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;YACzD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAE5E,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC;gBAClC,OAAO;gBACP,IAAI,QAAQ,qBAAqB;gBACjC,IAAI,QAAQ,qBAAqB;gBACjC,yFAAyF;gBACzF,8EAA8E;gBAC9E,IAAI,QAAQ,gBAAgB;gBAC5B,kFAAkF;gBAClF,yFAAyF;gBACzF,mDAAmD;gBACnD,IAAI,QAAQ,qBAAqB;gBACjC,wFAAwF;gBACxF,wFAAwF;gBACxF,qFAAqF;gBACrF,yDAAyD;gBACzD,IAAI,QAAQ,aAAa;gBACzB,IAAI,QAAQ,cAAc;gBAC1B,IAAI,QAAQ,cAAc;gBAC1B,IAAI,QAAQ,sBAAsB;gBAClC,IAAI,QAAQ,mBAAmB;gBAC/B,IAAI,QAAQ,cAAc;gBAC1B,IAAI,QAAQ,eAAe;gBAC3B,IAAI,QAAQ,sBAAsB;gBAClC,IAAI,QAAQ,oBAAoB;gBAChC,qFAAqF;gBACrF,uFAAuF;gBACvF,qFAAqF;gBACrF,+EAA+E;gBAC/E,qFAAqF;gBACrF,iCAAiC;gBACjC,GAAG,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,GAAG,GAAG,OAAO,CAAC;gBAC/D,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,OAAO,MAAM,EAAE,CAAC;gBAC/D,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,QAAQ,GAAG,OAAO,EAAE,CAAC;gBACpD,GAAG,CAAC,cAAc;oBAChB,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,yBAAyB,CAAC;oBACtF,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAA;YAEF,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;QAC3D,CAAC;QAED,iBAAiB,EAAE,KAAK,EAAE,QAAkB,EAAqB,EAAE;YACjE,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAC3B,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAC9E,CAAA;YACD,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAE7C,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;QAC3D,CAAC;QAED,QAAQ,EAAE,KAAK,EAAE,IAAY,EAAE,QAAQ,GAAG,KAAK,EAAmB,EAAE;YAClE,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;YACzE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,EAAE,CAAA;gBACX,CAAC;gBACD,MAAM,CAAC,CAAA;YACT,CAAC;QACH,CAAC;QAED,UAAU,EAAE,KAAK,EAAE,QAAgB,EAA4B,EAAE;YAC/D,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YAChD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;YAE7F,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACvB,CAAC;QAED,kBAAkB,EAAE,KAAK,EAAE,QAAgB,EAA4B,EAAE;YACvE,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC;iBAChF,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;YAClB,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YAEhD,OAAO,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;QAC1D,CAAC;QAED,WAAW,EAAE,KAAK,EAAE,KAAwB,EAA8B,EAAE;YAC1E,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YACjD,MAAM,OAAO,GAAsB,EAAE,CAAA;YACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC;qBAC1E,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;gBAClB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC9B,CAAC;YAED,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,SAAS,EAAE,KAAK,EAAE,QAAgB,EAAE,OAAe,EAAiB,EAAE;YACpE,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YACrD,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;YACnC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACnC,CAAC;QAED,WAAW,EAAE,KAAK,EAAE,IAAoC,EAAiB,EAAE;YACzE,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YACtD,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;YACnC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC;QAED,UAAU,EAAE,KAAK,EAAE,QAAgB,EAAE,OAAO,GAAG,IAAI,EAAiB,EAAE;YACpE,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YACrD,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACrD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,CAAC,CAAA;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QAED,QAAQ,EAAE,KAAK,EAAE,GAAY,EAAE,KAAc,EAA2B,EAAE;YACxE,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;gBACrC,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC;gBACrC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YACvB,MAAM,GAAG,GAAG,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAA;YACnE,MAAM,OAAO,GAAe,EAAE,CAAA;YAC9B,IAAI,KAAK,GAAG,CAAC,CAAA;YAEb,MAAM,IAAI,GAAG,KAAK,EAAE,QAAgB,EAAiB,EAAE;gBACrD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;gBAClF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;wBAAE,SAAQ;oBACvC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;oBAC1C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;wBACxB,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;wBAEjB,SAAQ;oBACV,CAAC;oBACD,qFAAqF;oBACrF,sEAAsE;oBACtE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;wBAAE,SAAQ;oBAC7B,KAAK,IAAI,CAAC,CAAA;oBACV,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG;wBAAE,SAAQ;oBACnC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;oBACnD,IAAI,IAAI,IAAI,IAAI;wBAAE,SAAQ;oBAC1B,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;oBACpC,MAAM,KAAK,GAAG,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAA;oBACjD,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,GAAG;wBACT,KAAK,EAAE,IAAI,CAAC,IAAI;wBAChB,MAAM,EAAE,KAAK,IAAI,MAAM,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;wBACjD,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;qBACrC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC,CAAA;YAED,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;YAEjB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,CAAA;QAC9D,CAAC;QAED,QAAQ,EAAE,KAAK,EAAE,QAAgB,EAAE,KAAa,EAAmB,EAAE;YACnE,sFAAsF;YACtF,mEAAmE;YACnE,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YACrD,yFAAyF;YACzF,4FAA4F;YAC5F,4FAA4F;YAC5F,wFAAwF;YACxF,4EAA4E;YAC5E,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;YAClD,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAAE,OAAO,EAAE,CAAA;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAA;YAC7E,IAAI,MAAM,GAAG,CAAC;gBAAE,OAAO,EAAE,CAAA;YACzB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;YAC1D,IAAI,MAAM,IAAI,IAAI;gBAAE,OAAO,EAAE,CAAA;YAC7B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBACnC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;gBAE7D,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YACxD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAA;YACX,CAAC;oBAAS,CAAC;gBACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YACtB,CAAC;QACH,CAAC;QAED,QAAQ,EAAE,KAAK,EAAE,GAAW,EAAE,IAAe,EAA8C,EAAE;YAC3F,uFAAuF;YACvF,2FAA2F;YAC3F,wFAAwF;YACxF,6FAA6F;YAC7F,4FAA4F;YAC5F,yFAAyF;YACzF,MAAM,eAAe,GAAG,gBAAgB,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YACjE,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAA;YACpE,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,kBAAkB,CAAC,qDAAqD,CAAC,CAAA;YACrF,CAAC;YACD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBACzC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;gBAClD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,IAAI,kBAAkB,CAAC,mCAAmC,WAAW,EAAE,CAAC,CAAA;gBAChF,CAAC;YACH,CAAC;YAED,0FAA0F;YAC1F,+EAA+E;YAC/E,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAClD,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,CAChD,CAAA;YAED,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAAmB,EAAE;gBAClD,MAAM,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;gBAC1D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBACtC,IAAI,KAAK,GAAG,CAAC,CAAA;gBACb,0FAA0F;gBAC1F,2CAA2C;gBAC3C,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;oBAC3B,MAAM,KAAK,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;oBAClD,IAAI,MAAM,CAAC,KAAK,CAAC;wBAAE,SAAQ;oBAC3B,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;wBACrB,KAAK,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;wBAC1B,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;wBAC3D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;4BAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;wBAEpE,SAAQ;oBACV,CAAC;oBACD,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;oBACzC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;oBACjC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;oBAC1C,KAAK,IAAI,CAAC,CAAA;gBACZ,CAAC;gBAED,OAAO,KAAK,CAAA;YACd,CAAC,CAAA;YAED,MAAM,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;YACnC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAA;YAE5B,4FAA4F;YAC5F,6FAA6F;YAC7F,4FAA4F;YAC5F,6FAA6F;YAC7F,uCAAuC;YACvC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAA;QACnC,CAAC;QAED,UAAU,EAAE,KAAK,EAAE,GAAW,EAAiB,EAAE;YAC/C,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YAChD,IAAI,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,kBAAkB,CAAC,2CAA2C,CAAC,CAAA;YAC3E,CAAC;YACD,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;QAED,WAAW,EAAE,CAAC,UAAuB,EAAU,EAAE,CAAC,UAAU,IAAI,IAAI;YAClE,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAErD,oBAAoB,EAAE,KAAK,EAAE,QAAkB,EAAqB,EAAE;YACpE,MAAM,aAAa,GAAG,QAAQ,KAAK,IAAI;gBACrC,CAAC,CAAC,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc;gBACxE,CAAC,CAAC,QAAQ,KAAK,KAAK;oBAClB,CAAC,CAAC,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc;oBACvE,CAAC,CAAC,GAAG,QAAQ,SAAS,CAAA;YAE1B,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC;gBAClC,aAAa;gBACb,IAAI,QAAQ,sBAAsB;gBAClC,IAAI,QAAQ,gBAAgB;gBAC5B,IAAI,QAAQ,cAAc;gBAC1B,IAAI,QAAQ,cAAc;gBAC1B,IAAI,QAAQ,cAAc;gBAC1B,IAAI,QAAQ,aAAa;gBACzB,IAAI,QAAQ,oBAAoB;aACjC,CAAC,CAAA;YAEF,MAAM,MAAM,GAAa,EAAE,CAAA;YAC3B,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;gBACpE,IAAI,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBACxC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;gBAClD,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAA;QACf,CAAC;KACF,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,IAAY,EAAU,EAAE,CACpE,gBAAgB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { SlotGitCommand } from '@owlmeans/viable-common';
|
|
2
|
+
/**
|
|
3
|
+
* Git in ONE local project directory, answered the way the publisher answers a slot's git
|
|
4
|
+
* commands. Every dispatch is serialized per directory: git takes `.git/*.lock` files for the
|
|
5
|
+
* duration of a write, so two concurrent operations on one repository fail.
|
|
6
|
+
*/
|
|
7
|
+
export interface LocalGitHelper {
|
|
8
|
+
/**
|
|
9
|
+
* Answer one `SlotGitCommand` against the directory. The three that touch a remote, and a clone,
|
|
10
|
+
* are refused as TEXT in the shape their caller parses — a policy, not a failure.
|
|
11
|
+
*/
|
|
12
|
+
dispatchGitCommand: (command: SlotGitCommand, args?: Record<string, any>) => Promise<Record<string, unknown>>;
|
|
13
|
+
/**
|
|
14
|
+
* Make the directory a repository the platform can work in, and change nothing else: no baseline
|
|
15
|
+
* commit, and an identity only when there is none.
|
|
16
|
+
*/
|
|
17
|
+
ensureGitRepo: () => Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/executor/git/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAE7D;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,kBAAkB,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC7G;;;OAGG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACnC"}
|