@lesliechan721/aw 0.1.0-beta.64 → 0.1.0-beta.66
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/dist/authoring/assets/aw-runtime-config.mjs +3 -3
- package/dist/authoring/assets/aw-runtime-config.mjs.map +1 -1
- package/dist/authoring/scripts/add-skill.mjs +3 -17
- package/dist/authoring/scripts/add-skill.mjs.map +1 -1
- package/dist/authoring/scripts/init-plugin.mjs +1 -0
- package/dist/authoring/scripts/init-plugin.mjs.map +1 -1
- package/dist/authoring/scripts/lib/plugin-version-check.mjs +1 -1
- package/dist/authoring/scripts/lib/skill-scaffold.d.mts +2 -0
- package/dist/authoring/scripts/lib/skill-scaffold.mjs +2 -0
- package/dist/authoring/scripts/lib/skill-scaffold.mjs.map +1 -1
- package/dist/authoring/scripts/validate-plugin.mjs +95 -698
- package/dist/authoring/scripts/validate-plugin.mjs.map +1 -1
- package/dist/scripts/aw-skill-eval-materializer.d.ts +2 -0
- package/dist/scripts/aw-skill-eval-materializer.js +74 -44
- package/dist/scripts/aw-skill-eval-materializer.js.map +1 -1
- package/dist/scripts/bundle-plugins.js +10 -2
- package/dist/scripts/bundle-plugins.js.map +1 -1
- package/dist/scripts/plugin-staging.d.ts +1 -1
- package/dist/scripts/plugin-staging.js +1 -1
- package/dist/scripts/plugin-staging.js.map +1 -1
- package/dist/scripts/test-plugin-scripts.js +31 -31
- package/dist/scripts/test-plugin-scripts.js.map +1 -1
- package/dist/src/commands/aw-capabilities.d.ts +1 -1
- package/dist/src/commands/aw-capabilities.js +2 -0
- package/dist/src/commands/aw-capabilities.js.map +1 -1
- package/dist/src/commands/catalog-publication-inspection.js +2 -2
- package/dist/src/commands/catalog-publication-inspection.js.map +1 -1
- package/dist/src/commands/console.js +4 -3
- package/dist/src/commands/console.js.map +1 -1
- package/dist/src/commands/intent-command.d.ts +30 -0
- package/dist/src/commands/intent-command.js +164 -0
- package/dist/src/commands/intent-command.js.map +1 -0
- package/dist/src/commands/operation-plan.d.ts +2 -0
- package/dist/src/commands/operation-plan.js +2 -1
- package/dist/src/commands/operation-plan.js.map +1 -1
- package/dist/src/commands/options.d.ts +3 -11
- package/dist/src/commands/options.js +11 -17
- package/dist/src/commands/options.js.map +1 -1
- package/dist/src/commands/plugin-capabilities.js +27 -33
- package/dist/src/commands/plugin-capabilities.js.map +1 -1
- package/dist/src/commands/rebuild-command.d.ts +108 -6
- package/dist/src/commands/rebuild-command.js +617 -1549
- package/dist/src/commands/rebuild-command.js.map +1 -1
- package/dist/src/commands/rebuild-integration.d.ts +19 -3
- package/dist/src/commands/rebuild-integration.js +500 -459
- package/dist/src/commands/rebuild-integration.js.map +1 -1
- package/dist/src/commands/rebuild-operations.js +1 -2
- package/dist/src/commands/rebuild-operations.js.map +1 -1
- package/dist/src/commands/review-inspection.d.ts +2 -2
- package/dist/src/commands/review-inspection.js +30 -86
- package/dist/src/commands/review-inspection.js.map +1 -1
- package/dist/src/commands/review-preparation.js +16 -7
- package/dist/src/commands/review-preparation.js.map +1 -1
- package/dist/src/commands/skill-eval.d.ts +2 -0
- package/dist/src/commands/skill-eval.js +15 -9
- package/dist/src/commands/skill-eval.js.map +1 -1
- package/dist/src/commands/status-v6.d.ts +38 -5
- package/dist/src/commands/status-v6.js +269 -102
- package/dist/src/commands/status-v6.js.map +1 -1
- package/dist/src/commands/targets-command.d.ts +27 -0
- package/dist/src/commands/targets-command.js +77 -0
- package/dist/src/commands/targets-command.js.map +1 -0
- package/dist/src/commands/write-commands.js +5 -5
- package/dist/src/commands/write-commands.js.map +1 -1
- package/dist/src/eval/manifest-v1.d.ts +2 -0
- package/dist/src/eval/manifest-v1.js +7 -2
- package/dist/src/eval/manifest-v1.js.map +1 -1
- package/dist/src/generators/local-plugin.d.ts +2 -1
- package/dist/src/generators/local-plugin.js +111 -108
- package/dist/src/generators/local-plugin.js.map +1 -1
- package/dist/src/index.d.ts +10 -17
- package/dist/src/index.js +585 -1349
- package/dist/src/index.js.map +1 -1
- package/dist/src/intent/deployment-preferences.d.ts +63 -0
- package/dist/src/intent/deployment-preferences.js +170 -0
- package/dist/src/intent/deployment-preferences.js.map +1 -0
- package/dist/src/intent/diagnostics.d.ts +11 -0
- package/dist/src/intent/diagnostics.js +14 -0
- package/dist/src/intent/diagnostics.js.map +1 -0
- package/dist/src/intent/intent-codec.d.ts +19 -0
- package/dist/src/intent/intent-codec.js +117 -0
- package/dist/src/intent/intent-codec.js.map +1 -0
- package/dist/src/intent/intent-store.d.ts +43 -0
- package/dist/src/intent/intent-store.js +118 -0
- package/dist/src/intent/intent-store.js.map +1 -0
- package/dist/src/intent/scope-context.d.ts +33 -0
- package/dist/src/intent/scope-context.js +145 -0
- package/dist/src/intent/scope-context.js.map +1 -0
- package/dist/src/intent/work-context.d.ts +13 -0
- package/dist/src/intent/work-context.js +22 -0
- package/dist/src/intent/work-context.js.map +1 -0
- package/dist/src/output/command-receipt.js +16 -9
- package/dist/src/output/command-receipt.js.map +1 -1
- package/dist/src/portable/commands.d.ts +18 -8
- package/dist/src/portable/commands.js +46 -562
- package/dist/src/portable/commands.js.map +1 -1
- package/dist/src/portable/historical-materialization.d.ts +22 -0
- package/dist/src/portable/historical-materialization.js +124 -0
- package/dist/src/portable/historical-materialization.js.map +1 -0
- package/dist/src/portable/materializer.d.ts +8 -0
- package/dist/src/portable/materializer.js +75 -44
- package/dist/src/portable/materializer.js.map +1 -1
- package/dist/src/portable/recovery-layout.d.ts +17 -0
- package/dist/src/portable/recovery-layout.js +55 -0
- package/dist/src/portable/recovery-layout.js.map +1 -0
- package/dist/src/portable/recovery.d.ts +143 -0
- package/dist/src/portable/recovery.js +339 -0
- package/dist/src/portable/recovery.js.map +1 -0
- package/dist/src/portable/writer.d.ts +64 -0
- package/dist/src/portable/writer.js +316 -0
- package/dist/src/portable/writer.js.map +1 -0
- package/dist/src/recovery/coordinator.d.ts +137 -0
- package/dist/src/recovery/coordinator.js +1198 -0
- package/dist/src/recovery/coordinator.js.map +1 -0
- package/dist/src/recovery/demand.d.ts +44 -0
- package/dist/src/recovery/demand.js +178 -0
- package/dist/src/recovery/demand.js.map +1 -0
- package/dist/src/recovery/joint-coordinator.d.ts +24 -0
- package/dist/src/recovery/joint-coordinator.js +770 -0
- package/dist/src/recovery/joint-coordinator.js.map +1 -0
- package/dist/src/recovery/joint-demand.d.ts +68 -0
- package/dist/src/recovery/joint-demand.js +166 -0
- package/dist/src/recovery/joint-demand.js.map +1 -0
- package/dist/src/recovery/receipt.d.ts +81 -0
- package/dist/src/recovery/receipt.js +2 -0
- package/dist/src/recovery/receipt.js.map +1 -0
- package/dist/src/recovery/retirement.d.ts +45 -0
- package/dist/src/recovery/retirement.js +366 -0
- package/dist/src/recovery/retirement.js.map +1 -0
- package/dist/src/recovery/status.d.ts +108 -0
- package/dist/src/recovery/status.js +417 -0
- package/dist/src/recovery/status.js.map +1 -0
- package/dist/src/recovery/types.d.ts +86 -0
- package/dist/src/recovery/types.js +2 -0
- package/dist/src/recovery/types.js.map +1 -0
- package/dist/src/review/review-profile.d.ts +2 -1
- package/dist/src/review/review-profile.js +15 -15
- package/dist/src/review/review-profile.js.map +1 -1
- package/dist/src/review/review-selection.d.ts +1 -2
- package/dist/src/review/review-selection.js +40 -114
- package/dist/src/review/review-selection.js.map +1 -1
- package/dist/src/review/review-types.d.ts +4 -4
- package/dist/src/review/review-types.js.map +1 -1
- package/dist/src/review/skill-materialization.js +15 -6
- package/dist/src/review/skill-materialization.js.map +1 -1
- package/dist/src/review/source-binding.d.ts +14 -4
- package/dist/src/review/source-binding.js +62 -117
- package/dist/src/review/source-binding.js.map +1 -1
- package/dist/src/tui/agent-management.d.ts +23 -0
- package/dist/src/tui/agent-management.js +217 -0
- package/dist/src/tui/agent-management.js.map +1 -0
- package/dist/src/tui/agent-settings.d.ts +44 -0
- package/dist/src/tui/agent-settings.js +98 -0
- package/dist/src/tui/agent-settings.js.map +1 -0
- package/dist/src/tui/components.d.ts +3 -0
- package/dist/src/tui/components.js +10 -1
- package/dist/src/tui/components.js.map +1 -1
- package/dist/src/tui/config-references.d.ts +6 -3
- package/dist/src/tui/config-references.js +17 -12
- package/dist/src/tui/config-references.js.map +1 -1
- package/dist/src/tui/console-app-v4.d.ts +1 -2
- package/dist/src/tui/console-app-v4.js +1533 -1047
- package/dist/src/tui/console-app-v4.js.map +1 -1
- package/dist/src/tui/controller-runtime.d.ts +2 -1
- package/dist/src/tui/controller-runtime.js +405 -1626
- package/dist/src/tui/controller-runtime.js.map +1 -1
- package/dist/src/tui/controller.d.ts +131 -81
- package/dist/src/tui/controller.js +307 -227
- package/dist/src/tui/controller.js.map +1 -1
- package/dist/src/tui/entity-cards.d.ts +2 -2
- package/dist/src/tui/entity-cards.js +98 -20
- package/dist/src/tui/entity-cards.js.map +1 -1
- package/dist/src/tui/glossary.d.ts +2 -0
- package/dist/src/tui/glossary.js +20 -0
- package/dist/src/tui/glossary.js.map +1 -1
- package/dist/src/tui/model.d.ts +28 -10
- package/dist/src/tui/model.js +41 -41
- package/dist/src/tui/model.js.map +1 -1
- package/dist/src/tui/operation-review-planner.d.ts +2 -0
- package/dist/src/tui/operation-review-planner.js +58 -122
- package/dist/src/tui/operation-review-planner.js.map +1 -1
- package/dist/src/tui/plugin-content.js +7 -4
- package/dist/src/tui/plugin-content.js.map +1 -1
- package/dist/src/tui/plugin-detail.d.ts +22 -3
- package/dist/src/tui/plugin-detail.js +113 -26
- package/dist/src/tui/plugin-detail.js.map +1 -1
- package/dist/src/tui/reader.d.ts +1 -0
- package/dist/src/tui/reader.js +3 -1
- package/dist/src/tui/reader.js.map +1 -1
- package/dist/src/tui/router.d.ts +23 -33
- package/dist/src/tui/router.js.map +1 -1
- package/dist/src/tui/scoped-flow.d.ts +45 -0
- package/dist/src/tui/scoped-flow.js +96 -0
- package/dist/src/tui/scoped-flow.js.map +1 -0
- package/dist/src/tui/scoped-inventory.d.ts +122 -0
- package/dist/src/tui/scoped-inventory.js +225 -0
- package/dist/src/tui/scoped-inventory.js.map +1 -0
- package/dist/src/tui/screen-registry.d.ts +25 -25
- package/dist/src/tui/screen-registry.js +3 -7
- package/dist/src/tui/screen-registry.js.map +1 -1
- package/dist/src/tui/session-console-app.js +1 -1
- package/dist/src/tui/session-console-app.js.map +1 -1
- package/dist/src/tui/session-host.js +12 -2
- package/dist/src/tui/session-host.js.map +1 -1
- package/dist/src/types.d.ts +15 -12
- package/dist/src/types.js.map +1 -1
- package/dist/src/utils/agent-version.js +2 -0
- package/dist/src/utils/agent-version.js.map +1 -1
- package/dist/src/utils/artifact-plan.js +13 -6
- package/dist/src/utils/artifact-plan.js.map +1 -1
- package/dist/src/utils/artifact-renderer.d.ts +6 -3
- package/dist/src/utils/artifact-renderer.js +27 -32
- package/dist/src/utils/artifact-renderer.js.map +1 -1
- package/dist/src/utils/artifact-request.d.ts +1 -0
- package/dist/src/utils/artifact-request.js +22 -12
- package/dist/src/utils/artifact-request.js.map +1 -1
- package/dist/src/utils/artifact-sources.d.ts +2 -2
- package/dist/src/utils/bundle-layout.js +18 -16
- package/dist/src/utils/bundle-layout.js.map +1 -1
- package/dist/src/utils/catalog-digests.js +2 -0
- package/dist/src/utils/catalog-digests.js.map +1 -1
- package/dist/src/utils/catalog-runtime-projection.d.ts +4 -3
- package/dist/src/utils/catalog-runtime-projection.js.map +1 -1
- package/dist/src/utils/catalog-source-references.d.ts +5 -0
- package/dist/src/utils/catalog-source-references.js +42 -57
- package/dist/src/utils/catalog-source-references.js.map +1 -1
- package/dist/src/utils/claude-native-render-receipt.d.ts +14 -0
- package/dist/src/utils/claude-native-render-receipt.js +26 -0
- package/dist/src/utils/claude-native-render-receipt.js.map +1 -0
- package/dist/src/utils/claude-skills-root.js +14 -3
- package/dist/src/utils/claude-skills-root.js.map +1 -1
- package/dist/src/utils/codex-manager.js +6 -12
- package/dist/src/utils/codex-manager.js.map +1 -1
- package/dist/src/utils/codex-native-observation.js +29 -13
- package/dist/src/utils/codex-native-observation.js.map +1 -1
- package/dist/src/utils/codex-reconciler.d.ts +2 -5
- package/dist/src/utils/codex-reconciler.js +25 -1
- package/dist/src/utils/codex-reconciler.js.map +1 -1
- package/dist/src/utils/codex-surface-analysis.js +5 -3
- package/dist/src/utils/codex-surface-analysis.js.map +1 -1
- package/dist/src/utils/local-marketplace.d.ts +14 -2
- package/dist/src/utils/local-marketplace.js +209 -42
- package/dist/src/utils/local-marketplace.js.map +1 -1
- package/dist/src/utils/managed-command-evidence.js +1 -1
- package/dist/src/utils/managed-command-evidence.js.map +1 -1
- package/dist/src/utils/managed-command-materialization.d.ts +4 -0
- package/dist/src/utils/managed-command-materialization.js +15 -6
- package/dist/src/utils/managed-command-materialization.js.map +1 -1
- package/dist/src/utils/managed-command-store.d.ts +15 -0
- package/dist/src/utils/managed-command-store.js +73 -8
- package/dist/src/utils/managed-command-store.js.map +1 -1
- package/dist/src/utils/native-cli.d.ts +2 -0
- package/dist/src/utils/native-cli.js +22 -0
- package/dist/src/utils/native-cli.js.map +1 -1
- package/dist/src/utils/native-demand.d.ts +10 -0
- package/dist/src/utils/native-demand.js +4 -0
- package/dist/src/utils/native-demand.js.map +1 -0
- package/dist/src/utils/ownership.js +2 -0
- package/dist/src/utils/ownership.js.map +1 -1
- package/dist/src/utils/paths.js +1 -1
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/platform-support.d.ts +1 -1
- package/dist/src/utils/platform-support.js +1 -1
- package/dist/src/utils/platform-support.js.map +1 -1
- package/dist/src/utils/plugin-config-impact.d.ts +3 -0
- package/dist/src/utils/plugin-config-impact.js +115 -273
- package/dist/src/utils/plugin-config-impact.js.map +1 -1
- package/dist/src/utils/plugin-config-references.d.ts +9 -2
- package/dist/src/utils/plugin-config-references.js +75 -85
- package/dist/src/utils/plugin-config-references.js.map +1 -1
- package/dist/src/utils/plugin-config-write.d.ts +58 -1
- package/dist/src/utils/plugin-config-write.js +756 -809
- package/dist/src/utils/plugin-config-write.js.map +1 -1
- package/dist/src/utils/plugin-config.d.ts +47 -46
- package/dist/src/utils/plugin-config.js +292 -833
- package/dist/src/utils/plugin-config.js.map +1 -1
- package/dist/src/utils/plugin-scripts.d.ts +11 -6
- package/dist/src/utils/plugin-scripts.js +52 -35
- package/dist/src/utils/plugin-scripts.js.map +1 -1
- package/dist/src/utils/runtime-config.js +5 -4
- package/dist/src/utils/runtime-config.js.map +1 -1
- package/dist/src/utils/runtime-skill-closure.d.ts +2 -2
- package/dist/src/utils/runtime-skill-closure.js.map +1 -1
- package/dist/src/utils/state-paths.d.ts +8 -3
- package/dist/src/utils/state-paths.js +53 -16
- package/dist/src/utils/state-paths.js.map +1 -1
- package/dist/src/utils/windows-npm-shim.d.ts +2 -0
- package/dist/src/utils/windows-npm-shim.js +5 -7
- package/dist/src/utils/windows-npm-shim.js.map +1 -1
- package/dist/vitest.config.js +1 -0
- package/dist/vitest.config.js.map +1 -1
- package/package.json +3 -3
- package/dist/src/commands/sync-command.d.ts +0 -40
- package/dist/src/commands/sync-command.js +0 -254
- package/dist/src/commands/sync-command.js.map +0 -1
- package/dist/src/portable/skills-cli.d.ts +0 -51
- package/dist/src/portable/skills-cli.js +0 -202
- package/dist/src/portable/skills-cli.js.map +0 -1
- package/dist/src/tui/project-inventory.d.ts +0 -68
- package/dist/src/tui/project-inventory.js +0 -203
- package/dist/src/tui/project-inventory.js.map +0 -1
- package/dist/src/utils/plugin-intent-state.d.ts +0 -49
- package/dist/src/utils/plugin-intent-state.js +0 -320
- package/dist/src/utils/plugin-intent-state.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/portable/commands.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAI1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EACL,8BAA8B,GAE/B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EACL,uCAAuC,EACvC,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oCAAoC,EACpC,kCAAkC,GAEnC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC/F,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,kBAAkB,GAInB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,kCAAkC,GAEnC,MAAM,iBAAiB,CAAC;AAmBzB,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACxB;IAArB,YAAqB,IAA8B,EAAE,OAAe;QAClE,KAAK,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QADV,SAAI,GAAJ,IAAI,CAA0B;QAEjD,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAkGD,IAAI,wBAA8D,CAAC;AAEnE,MAAM,UAAU,mCAAmC,CACjD,KAA2C;IAE3C,wBAAwB,GAAG,KAAK,CAAC;AACnC,CAAC;AAOD,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,UAAU,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAC7F,CAAC;AAED,SAAS,uBAAuB,CAAC,MAA4B;IAC3D,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAwC;IACtE,OAAO,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAqC;IAC3E,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC9C,MAAM,IAAI,oBAAoB,CAAC,+BAA+B,EAAE,wBAAwB,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACvF,MAAM,IAAI,oBAAoB,CAAC,+BAA+B,EAAE,eAAe,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzG,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CACvB,UAA6C,EAC7C,SAAwC;IAExC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,oBAAoB,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,oBAAoB,CAAC,0BAA0B,EAAE,eAAe,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtF,MAAM,OAAO,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IAC/G,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,oBAAoB,CAC5B,0BAA0B,EAC1B,gBAAgB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC1D,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAc;IAClD,IAAI,KAAK,YAAY,oBAAoB,IAAI,KAAK,YAAY,cAAc;QAAE,MAAM,KAAK,CAAC;IAC1F,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,IAAI,OAAO,CAAC,QAAQ,CAAC,4CAA4C,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,oBAAoB,CAAC,qBAAqB,EAAE,kCAAkC,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,4CAA4C,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,oBAAoB,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,oBAAoB,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACpF,MAAM,IAAI,oBAAoB,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,oBAAoB,CAAC,8BAA8B,EAAE,gCAAgC,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,oBAAoB,CAAC,wBAAwB,EAAE,yBAAyB,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,oBAAoB,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,KAAK,CAAC;AACd,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,OASpC;IACC,IAAI,CAAC;QACH,OAAO,MAAM,oCAAoC,CAAC;YAChD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;SACzD,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;YAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC7D,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,OAU9B;IACC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IACnG,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;IACjF,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACxG,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACpF,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC;YAC1C,GAAG,EAAE,YAAY;YACjB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,MAAM;SACjC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,SAAS;aACzB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACxC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAG;YACf,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,cAAc,EAAE,YAAY,CAAC,cAAc;YAC3C,aAAa,EAAE,YAAY,CAAC,aAAa;YACzC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ;YACR,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,UAAmB,CAAC,CAAC,CAAC,WAAoB;YACtE,eAAe,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;YACrC,gBAAgB,EAAE,SAAS,CAAC,OAAO;YACnC,UAAU;YACV,YAAY,EAAE,YAAY,CAAC,mBAAmB;YAC9C,qBAAqB,EAAE,YAAY,CAAC,MAAM;YAC1C,YAAY,EAAE,MAAM,CAAC;gBACnB,cAAc,EAAE,cAAc,CAAC,MAAM;gBACrC,YAAY,EAAE,YAAY,CAAC,YAAY;aACxC,CAAC;YACF,mBAAmB,EAAE,OAAO,CAAC,uBAAuB,CAAC,mBAAmB;SACzE,CAAC;QACF,OAAO;YACL,YAAY;YACZ,MAAM,EAAE,EAAE,GAAG,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;SAC1D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAU5C;IACC,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAChE,MAAM,uBAAuB,GAAG,OAAO,CAAC,uBAAuB;WAC1D,MAAM,8BAA8B,CAAC;YACtC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ;gBAC1C,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAS,CAAC,EAAE;gBAC5D,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC,CAAC;IACL,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACzF,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;YAAS,CAAC;QACT,MAAM,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAsB;IACzD,OAAO;QACL,MAAM,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QAClF,MAAM,MAAM,CAAC,KAAK,EAAE;QACpB,SAAS,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAChG,MAAM,CAAC,SAAS,KAAK,WAAW;YAC9B,CAAC,CAAC,wCAAwC;YAC1C,CAAC,CAAC,SAAS,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAChD,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;QAC7E,QAAQ,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YAClC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACxG,CAAC,CAAC,GAAG,EAAE;KACV,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAsB,EACtB,IAAY,EACZ,MAA4B,EAC5B,YAAsC,EACtC,gBAAwC;IAExC,OAAO;QACL,oBAAoB,EAAE,CAAC;QACvB,OAAO,EAAE,eAAe;QACxB,EAAE,EAAE,KAAK;QACT,MAAM;QACN,MAAM,EAAE;YACN,EAAE,EAAE,MAAM,CAAC,QAAQ;YACnB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE;QACD,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,cAAc,EAAE,MAAM,CAAC,QAAQ;QAC/B,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,YAAY,EAAE;YACZ,GAAG,YAAY;YACf,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,OAAO,CAAC;SACtD;QACD,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC;gBACT,IAAI;gBACJ,OAAO,EAAE,IAAI,KAAK,gCAAgC;oBAChD,CAAC,CAAC,4BAA4B;oBAC9B,CAAC,CAAC,2BAA2B;gBAC/B,QAAQ,EAAE,uDAAuD;aAClE,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAc3C;IACC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAChE,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,uBAAuB,GAAG,MAAM,8BAA8B,CAAC;QACnE,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,2BAA2B;WAClC,uBAAuB,CAAC,mBAAmB,KAAK,OAAO,CAAC,2BAA2B,EAAE,CAAC;QACzF,MAAM,IAAI,oBAAoB,CAAC,aAAa,EAAE,oCAAoC,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACpC,GAAG,OAAO;QACV,KAAK;QACL,MAAM;QACN,uBAAuB,EAAE,uBAAuB;KACjD,CAAC,CAAC;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,IAAI,oBAAoB,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBACpD,MAAM,IAAI,oBAAoB,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IACvC,CAAC;IAED,OAAO,sBAAsB,CAAC;QAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,KAAK,IAAI,EAAE;YACjB,IAAI,OAA0B,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,uBAAuB,GAAG,MAAM,8BAA8B,CAAC;oBACnE,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5E,GAAG,EAAE,OAAO,CAAC,GAAG;iBACjB,CAAC,CAAC;gBACH,IAAI,uBAAuB,CAAC,mBAAmB;wBACzC,uBAAuB,CAAC,mBAAmB;uBAC5C,OAAO,CAAC,2BAA2B;2BACjC,uBAAuB,CAAC,mBAAmB,KAAK,OAAO,CAAC,2BAA2B,EAAE,CAAC;oBAC3F,MAAM,IAAI,oBAAoB,CAAC,aAAa,EAAE,oCAAoC,CAAC,CAAC;gBACtF,CAAC;gBACD,OAAO,GAAG,MAAM,eAAe,CAAC;oBAC9B,GAAG,OAAO;oBACV,KAAK;oBACL,MAAM;oBACN,uBAAuB,EAAE,uBAAuB;iBACjD,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,oBAAoB,IAAI,KAAK,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;oBACvF,MAAM,IAAI,oBAAoB,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;gBACrE,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjF,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBAC9D,MAAM,IAAI,oBAAoB,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;gBACrE,CAAC;gBACD,IAAI,OAAO,CAAC,sBAAsB;uBAC7B,OAAO,CAAC,MAAM,CAAC,cAAc,KAAK,OAAO,CAAC,sBAAsB,EAAE,CAAC;oBACtE,MAAM,IAAI,oBAAoB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;gBAChE,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACpF,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACnC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAC1D,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;wBAClE,MAAM,IAAI,oBAAoB,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC;oBAC1E,CAAC;gBACH,CAAC;gBACD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;gBACnG,IAAI,UAAsC,CAAC;gBAC3C,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;oBAClC,MAAM,SAAS,CAAC;wBACd,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,OAAO;wBACrC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;wBAC1D,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7B,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,MAAM;wBAChC,GAAG,EAAE,YAAY;wBACjB,GAAG,EAAE,OAAO,CAAC,GAAG;qBACjB,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,gCAAgC,EAAE,CAAC;wBACvF,UAAU,GAAG,KAAK,CAAC;oBACrB,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;gBACD,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC;gBACrC,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC;oBACtC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;oBAC1D,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7B,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,MAAM;oBAChC,GAAG,EAAE,YAAY;oBACjB,GAAG,EAAE,OAAO,CAAC,GAAG;iBACjB,CAAC,CAAC;gBACH,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,MAAM,OAAO,GAAG,qBAAqB,CACnC,OAAO,CAAC,MAAM,EACd,UAAU,EAAE,IAAI,IAAI,qCAAqC,EACzD,SAAS,EACT,YAAY,CACb,CAAC;oBACF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;oBACvD,IAAI,CAAC,UAAU;wBAAE,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACpB,IAAI,EAAE,qCAAqC;wBAC3C,OAAO,EAAE,mCAAmC;wBAC5C,QAAQ,EAAE,wCAAwC;qBACnD,CAAC,CAAC;oBACH,OAAO,OAAO,CAAC;gBACjB,CAAC;gBACD,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;oBAC7E,OAAO,qBAAqB,CAC1B,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,IAAI,EACf,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACpE,YAAY,CACb,CAAC;gBACJ,CAAC;gBACD,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,OAAO,qBAAqB,CAC1B,OAAO,CAAC,MAAM,EACd,qCAAqC,EACrC,SAAS,EACT,YAAY,CACb,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC;oBACpE,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,WAAW;oBACnB,QAAQ,EAAE,EAAE;iBACb,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YACvC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,OAA+B;IACrD,IAAI,OAAO,CAAC,gBAAgB;QAAE,OAAO,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/F,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAuC,EACvC,YAAsC;IAEtC,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACtD,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAC1D,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/E,CAAC;AAED,SAAS,gBAAgB,CACvB,OAA+B,EAC/B,gBAAwB,EACxB,YAAsC;IAEtC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAChD,OAAO;QACL,GAAG,OAAO;QACV,EAAE,EAAE,MAAM,KAAK,WAAW;QAC1B,MAAM;QACN,gBAAgB;QAChB,YAAY,EAAE;YACZ,GAAG,YAAY;YACf,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,OAAO,CAAC;SACtD;QACD,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,EAAE;QAC1D,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBACnB,IAAI,EAAE,qCAAqC;gBAC3C,OAAO,EAAE,mCAAmC;gBAC5C,QAAQ,EAAE,wCAAwC;aACnD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACd,IAAI,EAAE,qCAAqC;gBAC3C,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,iCAAiC;aAC5C,CAAC,CAAC,CAAC,CAAC,EAAE;KACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAK5C;IACC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS;QACtD,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC;QACnC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAChB,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC;QACrC,GAAG,EAAE,YAAY;QACjB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC;QAC5C,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;QACxC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM;QACxC,GAAG,EAAE,YAAY;QACjB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IACH,OAAO,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA+B;IAC1D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,oBAAoB,CAC5B,uBAAuB,EACvB,6BAA6B,CAC9B,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,oBAAoB,CAAC,wBAAwB,EAAE,gBAAgB,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QACrC,MAAM,IAAI,oBAAoB,CAC5B,uBAAuB,EACvB,mCAAmC,CACpC,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAChD,MAAM,MAAM,GAA0B,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,oBAAoB,CAC5B,uBAAuB,EACvB,iCAAiC,CAClC,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAqC;IAC9D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,oBAAoB,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAsB,EACtB,UAAiC;IAEjC,MAAM,YAAY,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,kBAAkB,GAAG,MAAM,CAAC,cAAc,CAAC;IACjD,OAAO;QACL,GAAG,MAAM;QACT,kBAAkB;QAClB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QACnD,YAAY;QACZ,cAAc,EAAE,MAAM,CAAC,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;KACzE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,OAQnC;IACC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAChE,MAAM,uBAAuB,GAAG,OAAO,CAAC,uBAAuB;WAC1D,MAAM,8BAA8B,CAAC;YACtC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC,CAAC;IACL,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC;QACtC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACnC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK;QAC5B,eAAe,EAAE,MAAM;QACvB,MAAM;QACN,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,uBAAuB;KACxB,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;AAC3F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAO1C;IACC,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAC3F,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;YAAS,CAAC;QACT,MAAM,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAS1C;IACC,IAAI,OAAO,CAAC,sBAAsB,KAAK,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QACrE,MAAM,IAAI,oBAAoB,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,sBAAsB,CAAC;QAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,KAAK,IAAI,EAAE;YACjB,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC;gBAC3C,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YAC3F,IAAI,CAAC;gBACH,IAAI,SAAS,CAAC,MAAM,CAAC,cAAc,KAAK,OAAO,CAAC,sBAAsB,EAAE,CAAC;oBACvE,MAAM,IAAI,oBAAoB,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC;gBAC1E,CAAC;gBACD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS;oBAC9C,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC;oBACnC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,SAAS,GAAG,KAAK,CAAC;gBACtB,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;gBAClC,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;oBAClD,IAAI,CAAC;wBACH,MAAM,SAAS,CAAC;4BACd,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,OAAO;4BACvC,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;4BACrB,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,MAAM;4BAChC,GAAG,EAAE,YAAY;4BACjB,GAAG,EAAE,OAAO,CAAC,GAAG;4BAChB,MAAM,EAAE,OAAO,CAAC,MAAM;yBACvB,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,gCAAgC,EAAE,CAAC;4BACvF,SAAS,GAAG,IAAI,CAAC;4BACjB,SAAS;wBACX,CAAC;wBACD,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;gBACD,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC;gBACrC,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC;oBAC5C,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;oBACpC,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,MAAM;oBAChC,GAAG,EAAE,YAAY;oBACjB,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBAC7E,IAAI,CAAC,SAAS,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;oBACzC,OAAO;wBACL,GAAG,qBAAqB,CACtB,SAAS,CAAC,MAAM,EAChB,EAAE,EACF,QAAQ,EACR,YAAY,EACZ,SAAS,CAAC,MAAM,CAAC,UAAU,CAC5B;wBACD,EAAE,EAAE,IAAI;wBACR,MAAM,EAAE,WAAW;wBACnB,QAAQ,EAAE,EAAE;qBACb,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,GAAG,qBAAqB,CACnC,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,qCAAqC,EACpF,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAC1C,YAAY,EACZ,SAAS,CAAC,MAAM,CAAC,UAAU,CAC5B,CAAC;gBACF,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;oBACvD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACpB,IAAI,EAAE,qCAAqC;wBAC3C,OAAO,EAAE,mCAAmC;wBAC5C,QAAQ,EAAE,iCAAiC;qBAC5C,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC;oBAAS,CAAC;gBACT,MAAM,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YACzC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACnD,MAAM,IAAI,oBAAoB,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,CAAC;IACnF,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACpE,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,oBAAoB,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,MAAc,EACd,OAAiD;IAEjD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;QACzB,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACzC,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,oBAAoB,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,uCAAuC,CAAC,MAAM,CAAC,CAAC;IAC9E,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACpE,uCAAuC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,oBAAoB,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,MAAc,EACd,QAAgB,EAChB,cAAkC,EAClC,KAAY;IAEZ,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO;IACzC,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACtE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,WAAW,CAAC,cAAc,EAAE,EAAE,CAAC;QAC3D,MAAM,IAAI,oBAAoB,CAAC,wBAAwB,EAAE,qBAAqB,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAwC,CAAC;IAC3G,IACE,MAAM,EAAE,aAAa,KAAK,CAAC;WACxB,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,QAAQ;WAC9B,cAAc,KAAK,SAAS;WAC5B,MAAM,CAAC,MAAM,EAAE,cAAc,KAAK,cAAc;WAChD,MAAM,CAAC,KAAK,KAAK,KAAK,EACzB,CAAC;QACD,MAAM,IAAI,oBAAoB,CAC5B,wBAAwB,EACxB,4CAA4C,CAC7C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,OAAe,EACf,MAAc,EACd,QAAgF;IAEhF,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,GAAG,MAAM,cAAc,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9E,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,qBAAqB,CACzB,MAAM,EACN,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,KAAK,CACf,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAClE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,IAAI,oBAAoB,CAC5B,wBAAwB,EACxB,qBAAqB,CACtB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/D,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,QAAQ;QAAE,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oCAAoC,CAAC,OAQ1D;IACC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACxE,IAAI,cAAc,EAAE,cAAc,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,oBAAoB,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,uCAAuC,CAAC,SAAS,CAAC,CAAC;IACxE,MAAM,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,uBAAuB,GAAG,MAAM,8BAA8B,CAAC;QACnE,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC;QAC/C,GAAG,OAAO;QACV,KAAK;QACL,cAAc;QACd,uBAAuB;KACxB,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACpF,MAAM,qBAAqB,CACzB,MAAM,EACN,YAAY,CAAC,QAAQ,EACrB,YAAY,CAAC,cAAc,EAC3B,OAAO,CAAC,KAAK,CACd,CAAC;QACF,IAAI,CAAC;YACH,MAAM,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC,CAAC;QACnF,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,oBAAoB,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACzG,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC;YACH,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;gBACjC,MAAM,EAAE,CAAC,IAAI,CACX,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,EACzD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,EAC5C,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAC3C,CAAC;YACJ,CAAC;YACD,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACtF,MAAM,YAAY,GAAG,MAAM,CAAC;gBAC1B,cAAc,EAAE,cAAc,CAAC,MAAM;gBACrC,YAAY,EAAE,YAAY,CAAC,YAAY;aACxC,CAAC,CAAC;YACH,MAAM,OAAO,GAA+B;gBAC1C,oBAAoB,EAAE,CAAC;gBACvB,OAAO,EAAE,mBAAmB;gBAC5B,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE;oBACN,EAAE,EAAE,YAAY,CAAC,QAAQ;oBACzB,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrE,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvF,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/E;gBACD,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,GAAG,EAAE,MAAM;gBACX,cAAc,EAAE,QAAQ;gBACxB,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,YAAY,EAAE,YAAY,CAAC,mBAAmB;gBAC9C,YAAY;gBACZ,qBAAqB,EAAE,YAAY,CAAC,MAAM;gBAC1C,YAAY;gBACZ,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,0BAA0B,CAAC;aACjE,CAAC;YACF,MAAM,MAAM,GAER;gBACF,aAAa,EAAE,CAAC;gBAChB,GAAG,OAAO;gBACV,MAAM,EAAE;oBACN,MAAM,EAAE,YAAY;oBACpB,oBAAoB,EAAE,cAAc,CAAC,MAAM;oBAC3C,kBAAkB,EAAE,YAAY,CAAC,YAAY;iBAC9C;aACF,CAAC;YACF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1F,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;YAC9F,CAAC;YACD,MAAM,oBAAoB,CAAC;gBACzB,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,YAAY,CAAC,mBAAmB;gBACxC,OAAO,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,EAAE;gBAC7D,OAAO,EAAE;oBACP,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,gBAAgB,KAAK,EAAE;oBAC3B,KAAK;oBACL,WAAW,EAAE,YAAY,CAAC,YAAY;iBACvC;gBACD,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBACtC,IAAI,EAAE,gBAAyB;oBAC/B,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,UAAU;oBAC5D,KAAK,EAAE,SAAS,CAAC,IAAI;oBACrB,IAAI,EAAE,UAAU,SAAS,CAAC,IAAI,EAAE;iBACjC,CAAC,CAAC;aACJ,CAAC,CAAC;YACH,MAAM,wBAAwB,EAAE,6BAA6B,EAAE,CAAC,MAAM,CAAC,CAAC;YACxE,MAAM,qBAAqB,GAAG,MAAM,gCAAgC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAClF,MAAM,8BAA8B,GAAG,MAAM,8BAA8B,CAAC;gBAC1E,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,cAAc,EAAE,qBAAqB;gBACrC,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,kCAAkC,CAAC;gBAC9D,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK;gBACL,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,cAAc,EAAE,qBAAqB;gBACrC,uBAAuB,EAAE,8BAA8B;aACxD,CAAC,CAAC;YACH,IACE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,mBAAmB,CAAC;mBACvF,cAAc,CAAC,OAAO,CAAC,WAAW,KAAK,YAAY,CAAC,YAAY;mBAChE,cAAc,CAAC,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAC5E,CAAC;gBACD,MAAM,IAAI,oBAAoB,CAAC,aAAa,EAAE,wCAAwC,CAAC,CAAC;YAC1F,CAAC;YACD,MAAM,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE;gBAClC,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,cAAc,EAAE,YAAY,CAAC,cAAc;gBAC3C,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC,CAAC;YACH,SAAS,GAAG,IAAI,CAAC;YACjB,OAAO,OAAO,CAAC;QACjB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS;gBAAE,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/portable/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type AwSourceBindingV2 } from '../review/source-binding.js';
|
|
2
|
+
import type { PortableMaterializeReceipt } from './commands.js';
|
|
3
|
+
import type { PortableAgent } from './recovery-layout.js';
|
|
4
|
+
export interface HistoricalPortableMaterialization {
|
|
5
|
+
rootDir: string;
|
|
6
|
+
marker: PortableMaterializeReceipt;
|
|
7
|
+
binding: AwSourceBindingV2;
|
|
8
|
+
}
|
|
9
|
+
export declare function portableJsonDigest(value: unknown): string;
|
|
10
|
+
/** Reject aliases before reading either provider paths or materialization evidence. */
|
|
11
|
+
export declare function assertPortablePath(root: string, target: string): Promise<boolean>;
|
|
12
|
+
/** The materializer's digest includes every regular file, including hidden files. */
|
|
13
|
+
export declare function portableSkillTreeDigest(root: string): Promise<string>;
|
|
14
|
+
/** Validate the old generation itself without applying current Workspace inputs. */
|
|
15
|
+
export declare function readHistoricalPortableMaterialization(options: {
|
|
16
|
+
generationRoot: string;
|
|
17
|
+
scope: 'user' | 'project';
|
|
18
|
+
rootDir: string;
|
|
19
|
+
pluginId?: string;
|
|
20
|
+
logicalIdentity?: string;
|
|
21
|
+
platform?: PortableAgent;
|
|
22
|
+
}): Promise<HistoricalPortableMaterialization>;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import crypto from 'node:crypto';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { computeSkillDigest } from '@lesliechan721/agent-skill-eval';
|
|
4
|
+
import fs from 'fs-extra';
|
|
5
|
+
import { readAwSourceBinding } from '../review/source-binding.js';
|
|
6
|
+
import { validatePortableSkillName } from '../utils/dynamic-skill-tree.js';
|
|
7
|
+
import { canonicalizePathThroughExistingAncestor } from '../utils/state-paths.js';
|
|
8
|
+
export function portableJsonDigest(value) {
|
|
9
|
+
return `sha256:${crypto.createHash('sha256').update(JSON.stringify(value)).digest('hex')}`;
|
|
10
|
+
}
|
|
11
|
+
/** Reject aliases before reading either provider paths or materialization evidence. */
|
|
12
|
+
export async function assertPortablePath(root, target) {
|
|
13
|
+
const relative = path.relative(root, target);
|
|
14
|
+
if (relative === '..' || relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative)) {
|
|
15
|
+
throw new Error('portableOutputConflict');
|
|
16
|
+
}
|
|
17
|
+
let current = root;
|
|
18
|
+
for (const part of ['', ...relative.split(path.sep).filter(Boolean)]) {
|
|
19
|
+
current = part ? path.join(current, part) : current;
|
|
20
|
+
const info = await fs.lstat(current).catch((error) => {
|
|
21
|
+
if (error.code === 'ENOENT')
|
|
22
|
+
return undefined;
|
|
23
|
+
throw error;
|
|
24
|
+
});
|
|
25
|
+
if (!info)
|
|
26
|
+
return false;
|
|
27
|
+
if (info.isSymbolicLink() || (!info.isDirectory() && current !== target)) {
|
|
28
|
+
throw new Error('portableOutputConflict');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
/** The materializer's digest includes every regular file, including hidden files. */
|
|
34
|
+
export async function portableSkillTreeDigest(root) {
|
|
35
|
+
const files = [];
|
|
36
|
+
const visit = async (directory, prefix) => {
|
|
37
|
+
const info = await fs.lstat(directory);
|
|
38
|
+
if (!info.isDirectory() || info.isSymbolicLink())
|
|
39
|
+
throw new Error('portableOutputConflict');
|
|
40
|
+
for (const entry of await fs.readdir(directory, { withFileTypes: true })) {
|
|
41
|
+
const relative = prefix ? `${prefix}/${entry.name}` : entry.name;
|
|
42
|
+
const absolute = path.join(directory, entry.name);
|
|
43
|
+
if (entry.isSymbolicLink())
|
|
44
|
+
throw new Error('portableOutputConflict');
|
|
45
|
+
if (entry.isDirectory())
|
|
46
|
+
await visit(absolute, relative);
|
|
47
|
+
else if (entry.isFile())
|
|
48
|
+
files.push([relative, await fs.readFile(absolute)]);
|
|
49
|
+
else
|
|
50
|
+
throw new Error('portableOutputConflict');
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
await visit(root, '');
|
|
54
|
+
const hash = crypto.createHash('sha256');
|
|
55
|
+
for (const [name, bytes] of files.sort(([left], [right]) => left.localeCompare(right))) {
|
|
56
|
+
hash.update(name).update('\0').update(bytes).update('\0');
|
|
57
|
+
}
|
|
58
|
+
return `sha256:${hash.digest('hex')}`;
|
|
59
|
+
}
|
|
60
|
+
/** Validate the old generation itself without applying current Workspace inputs. */
|
|
61
|
+
export async function readHistoricalPortableMaterialization(options) {
|
|
62
|
+
const base = await canonicalizePathThroughExistingAncestor(options.generationRoot);
|
|
63
|
+
const rootDir = await canonicalizePathThroughExistingAncestor(options.rootDir);
|
|
64
|
+
if (!await assertPortablePath(base, rootDir)
|
|
65
|
+
|| path.relative(base, rootDir).split(path.sep).length !== 2) {
|
|
66
|
+
throw new Error('portableOutputConflict');
|
|
67
|
+
}
|
|
68
|
+
for (const name of ['.aw-materialization.json', 'aw-source-binding.json']) {
|
|
69
|
+
const info = await fs.lstat(path.join(rootDir, name));
|
|
70
|
+
if (!info.isFile() || info.isSymbolicLink())
|
|
71
|
+
throw new Error('portableOutputConflict');
|
|
72
|
+
}
|
|
73
|
+
const binding = await readAwSourceBinding(path.join(rootDir, 'aw-source-binding.json'));
|
|
74
|
+
const marker = await fs.readJson(path.join(rootDir, '.aw-materialization.json'));
|
|
75
|
+
if (binding.source.kind !== 'catalog-snapshot' || binding.profile.kind !== 'portable'
|
|
76
|
+
|| binding.profile.scope !== options.scope
|
|
77
|
+
|| (options.platform !== undefined && (binding.profile.platform !== options.platform
|
|
78
|
+
|| marker.platform !== options.platform))
|
|
79
|
+
|| (options.logicalIdentity !== undefined && binding.source.logicalIdentity !== options.logicalIdentity)
|
|
80
|
+
|| marker.schemaVersion !== 1 || marker.receiptSchemaVersion !== 5
|
|
81
|
+
|| marker.command !== 'skill:materialize' || marker.scope !== options.scope
|
|
82
|
+
|| typeof marker.plugin?.id !== 'string'
|
|
83
|
+
|| (options.pluginId !== undefined && marker.plugin.id !== options.pluginId)
|
|
84
|
+
|| marker.plugin.id !== `${binding.source.sourceId}/${binding.subject.plugin}`
|
|
85
|
+
|| marker.plugin.sourceId !== binding.source.sourceId
|
|
86
|
+
|| marker.plugin.sourceIdentity !== binding.source.catalogSourceIdentity
|
|
87
|
+
|| marker.config?.pluginConfigDigest !== binding.profile.inputDigest
|
|
88
|
+
|| !Array.isArray(marker.selectedSkills)
|
|
89
|
+
|| marker.selectedSkills.length !== binding.artifacts.length) {
|
|
90
|
+
throw new Error('portableOutputConflict');
|
|
91
|
+
}
|
|
92
|
+
const names = new Set();
|
|
93
|
+
for (const candidate of marker.selectedSkills) {
|
|
94
|
+
if (typeof candidate.name !== 'string' || names.has(candidate.name))
|
|
95
|
+
throw new Error('portableOutputConflict');
|
|
96
|
+
validatePortableSkillName(candidate.name);
|
|
97
|
+
names.add(candidate.name);
|
|
98
|
+
const artifact = binding.artifacts.find((entry) => entry.kind === 'portable-skill'
|
|
99
|
+
&& entry.skill === candidate.name);
|
|
100
|
+
if (!artifact || artifact.kind !== 'portable-skill'
|
|
101
|
+
|| artifact.path !== `skills/${candidate.name}`
|
|
102
|
+
|| candidate.providerPluginId !== `${binding.source.sourceId}/${artifact.plugin}`) {
|
|
103
|
+
throw new Error('portableOutputConflict');
|
|
104
|
+
}
|
|
105
|
+
const skillPath = path.join(rootDir, artifact.path);
|
|
106
|
+
await assertPortablePath(rootDir, skillPath);
|
|
107
|
+
if (await portableSkillTreeDigest(skillPath) !== candidate.filesDigest
|
|
108
|
+
|| await computeSkillDigest(skillPath) !== artifact.digest)
|
|
109
|
+
throw new Error('portableOutputConflict');
|
|
110
|
+
}
|
|
111
|
+
const children = await fs.readdir(path.join(rootDir, 'skills'));
|
|
112
|
+
if (children.length !== names.size || children.some((name) => !names.has(name))
|
|
113
|
+
|| marker.outputDigest !== portableJsonDigest(marker.selectedSkills.map((entry) => [entry.name, entry.filesDigest]))
|
|
114
|
+
|| marker.materializationDigest !== portableJsonDigest({ platform: binding.profile.platform,
|
|
115
|
+
scope: options.scope, skills: marker.selectedSkills.map((entry) => [entry.name, entry.filesDigest]) })) {
|
|
116
|
+
throw new Error('portableOutputConflict');
|
|
117
|
+
}
|
|
118
|
+
const rootChildren = await fs.readdir(rootDir);
|
|
119
|
+
if (rootChildren.some((name) => !['skills', '.aw-materialization.json', 'aw-source-binding.json'].includes(name))) {
|
|
120
|
+
throw new Error('portableOutputConflict');
|
|
121
|
+
}
|
|
122
|
+
return { rootDir, marker, binding };
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=historical-materialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"historical-materialization.js","sourceRoot":"","sources":["../../../src/portable/historical-materialization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type PortablePlatformTarget } from '@lesliechan721/aw-plugin-core';
|
|
1
2
|
import type { PluginMeta, PortableSkillCandidate, Scope } from '../types.js';
|
|
2
3
|
import type { CatalogSourcesConfigSnapshot } from '../utils/catalog-sources.js';
|
|
3
4
|
import type { CatalogOperationContext } from '../utils/catalog-operation-context.js';
|
|
@@ -5,6 +6,7 @@ import { type AwCatalogSnapshotBindingSource, type AwSourceBindingProfile } from
|
|
|
5
6
|
export interface PortableMaterializationProvenance {
|
|
6
7
|
schemaVersion: 1;
|
|
7
8
|
pluginId: string;
|
|
9
|
+
platform: PortablePlatformTarget;
|
|
8
10
|
scope: Scope;
|
|
9
11
|
dependencyPluginIds: string[];
|
|
10
12
|
configDigest: string;
|
|
@@ -16,6 +18,7 @@ export interface PortableMaterializationProvenance {
|
|
|
16
18
|
export interface MaterializePortableSkillsOptions {
|
|
17
19
|
plugins: readonly PluginMeta[];
|
|
18
20
|
pluginId: string;
|
|
21
|
+
platform: PortablePlatformTarget;
|
|
19
22
|
scope: Scope;
|
|
20
23
|
cwd: string;
|
|
21
24
|
env?: NodeJS.ProcessEnv;
|
|
@@ -30,6 +33,7 @@ export interface MaterializedPortableSkills {
|
|
|
30
33
|
sourceId?: string;
|
|
31
34
|
sourceIdentity?: string;
|
|
32
35
|
pluginVersion?: string;
|
|
36
|
+
platform: PortablePlatformTarget;
|
|
33
37
|
scope: Scope;
|
|
34
38
|
candidates: PortableSkillCandidate[];
|
|
35
39
|
dependencyPluginIds: string[];
|
|
@@ -41,6 +45,7 @@ export interface MaterializedPortableSkills {
|
|
|
41
45
|
}
|
|
42
46
|
export interface MaterializePortableSkillsFromCatalogOptions {
|
|
43
47
|
selector: string;
|
|
48
|
+
platform: PortablePlatformTarget;
|
|
44
49
|
scope: Scope;
|
|
45
50
|
cwd: string;
|
|
46
51
|
cliVersion: string;
|
|
@@ -57,7 +62,10 @@ export interface PortableCatalogBindingInput {
|
|
|
57
62
|
profile: AwSourceBindingProfile & {
|
|
58
63
|
kind: 'portable';
|
|
59
64
|
};
|
|
65
|
+
/** Read-only configuration evidence; it is not part of the materialization identity. */
|
|
66
|
+
providerConfigs?: ReadonlyArray<readonly [string, string]>;
|
|
60
67
|
}
|
|
68
|
+
export declare function assertPortablePlatform(platform: unknown): asserts platform is PortablePlatformTarget;
|
|
61
69
|
export declare function resolvePortableCatalogBindingInput(options: MaterializePortableSkillsFromCatalogOptions): Promise<PortableCatalogBindingInput>;
|
|
62
70
|
export declare function materializePortableSkillsFromCatalog(options: MaterializePortableSkillsFromCatalogOptions): Promise<MaterializedPortableSkills>;
|
|
63
71
|
export declare function materializePortableSkills(options: MaterializePortableSkillsOptions): Promise<MaterializedPortableSkills>;
|
|
@@ -3,6 +3,8 @@ import os from 'node:os';
|
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { stripVTControlCharacters } from 'node:util';
|
|
5
5
|
import fs from 'fs-extra';
|
|
6
|
+
import { isPortablePlatformTarget, resolveSupportedPlatforms } from '@lesliechan721/aw-plugin-core';
|
|
7
|
+
import { prepareSkillPluginBundle } from '../review/skill-materialization.js';
|
|
6
8
|
import { validateArtifactPlan } from '../utils/artifact-plan.js';
|
|
7
9
|
import { runArtifactRenderer, } from '../utils/artifact-renderer.js';
|
|
8
10
|
import { calculateFileDigest } from '../utils/bundle-integrity.js';
|
|
@@ -16,7 +18,12 @@ import { validateRuntimeSkillClosure } from '../utils/runtime-skill-closure.js';
|
|
|
16
18
|
import { isSkillAuthorOnlyPath } from '../utils/skill-authoring.js';
|
|
17
19
|
import { validateCatalogSnapshotPluginEntriesComplete } from '../utils/catalog-snapshot.js';
|
|
18
20
|
import { AwCapabilityUnsupportedError, IMPLEMENTED_AW_CAPABILITIES, } from '../commands/aw-capabilities.js';
|
|
19
|
-
import { resolveCatalogSnapshotBindingSource, resolvePortablePluginProfileConfig,
|
|
21
|
+
import { resolveCatalogSnapshotBindingSource, resolvePortablePluginProfileConfig, resolvePortableProfileBindingInputs, } from '../review/source-binding.js';
|
|
22
|
+
export function assertPortablePlatform(platform) {
|
|
23
|
+
if (!isPortablePlatformTarget(platform)) {
|
|
24
|
+
throw new Error('Portable materialization requires an explicit Portable canonical platform: antigravity, cursor, opencode, pi, or generic.');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
20
27
|
function pluginId(plugin) {
|
|
21
28
|
return plugin.pluginId ?? (plugin.sourceId
|
|
22
29
|
? `${plugin.sourceId}/${plugin.manifest.name}`
|
|
@@ -126,7 +133,7 @@ function assertNoUnresolvedTemplates(candidate) {
|
|
|
126
133
|
}
|
|
127
134
|
async function assertRuntimeImports(plugin) {
|
|
128
135
|
const imports = (plugin.manifest.artifacts?.targets ?? [])
|
|
129
|
-
.filter((target) => target.
|
|
136
|
+
.filter((target) => target.target === 'agent-skills.skill')
|
|
130
137
|
.flatMap((target) => target.runtimeImports ?? []);
|
|
131
138
|
for (const runtimeImport of imports) {
|
|
132
139
|
await assertRuntimeImport(plugin, runtimeImport);
|
|
@@ -153,15 +160,13 @@ async function assertRuntimeImport(plugin, runtimeImport) {
|
|
|
153
160
|
}
|
|
154
161
|
async function materializePluginCandidates(options) {
|
|
155
162
|
options.signal?.throwIfAborted();
|
|
156
|
-
const distribution = options.plugin.manifest.distributions?.agentSkills;
|
|
157
|
-
if (!distribution)
|
|
158
|
-
return [];
|
|
159
163
|
const dynamicTargets = (options.plugin.manifest.artifacts?.targets ?? [])
|
|
160
|
-
.filter((target) => target.
|
|
164
|
+
.filter((target) => target.target === 'agent-skills.skill'
|
|
165
|
+
&& target.platform === options.platform
|
|
161
166
|
&& target.scopes.includes(options.scope)
|
|
162
167
|
&& (!options.selectedSkills || options.selectedSkills.has(target.skillKey)));
|
|
163
168
|
const dynamicKeys = new Set((options.plugin.manifest.artifacts?.targets ?? [])
|
|
164
|
-
.filter((target) => target.target === 'agent-skills.skill')
|
|
169
|
+
.filter((target) => target.target === 'agent-skills.skill' && target.platform === options.platform)
|
|
165
170
|
.map((target) => target.skillKey));
|
|
166
171
|
const output = [];
|
|
167
172
|
let config;
|
|
@@ -170,18 +175,17 @@ async function materializePluginCandidates(options) {
|
|
|
170
175
|
const profileConfig = await resolvePortablePluginProfileConfig({
|
|
171
176
|
plugins: options.plugins,
|
|
172
177
|
plugin: options.plugin,
|
|
178
|
+
platform: options.platform,
|
|
173
179
|
scope: options.scope,
|
|
174
180
|
cwd: options.cwd,
|
|
175
181
|
env: options.env,
|
|
176
182
|
});
|
|
177
183
|
config = profileConfig.config;
|
|
178
184
|
options.recordConfigDigest(pluginId(options.plugin), profileConfig.digest);
|
|
179
|
-
sensitiveValues = collectSensitivePluginConfigValues(options.plugin.manifest, config.values);
|
|
185
|
+
sensitiveValues = collectSensitivePluginConfigValues(options.plugin.manifest, config.values, options.platform);
|
|
180
186
|
}
|
|
181
|
-
const staticRoot =
|
|
182
|
-
|
|
183
|
-
: undefined;
|
|
184
|
-
if (staticRoot) {
|
|
187
|
+
const staticRoot = path.join(options.plugin.rootDir, options.platform, 'skills');
|
|
188
|
+
if (await fs.pathExists(staticRoot)) {
|
|
185
189
|
const rootStats = await fs.lstat(staticRoot).catch(() => undefined);
|
|
186
190
|
if (!rootStats?.isDirectory() || rootStats.isSymbolicLink()) {
|
|
187
191
|
throw new Error('Portable Skills root must be a regular directory.');
|
|
@@ -250,7 +254,7 @@ async function materializePluginCandidates(options) {
|
|
|
250
254
|
event: 'materialize',
|
|
251
255
|
referencePlugins: options.plugins,
|
|
252
256
|
plugin: options.plugin,
|
|
253
|
-
platform:
|
|
257
|
+
platform: options.platform,
|
|
254
258
|
scope: options.scope,
|
|
255
259
|
cwd: options.cwd,
|
|
256
260
|
commandEnv: options.env,
|
|
@@ -259,9 +263,9 @@ async function materializePluginCandidates(options) {
|
|
|
259
263
|
});
|
|
260
264
|
if (options.selectedSkills) {
|
|
261
265
|
config = rendered.context.config;
|
|
262
|
-
sensitiveValues = collectSensitivePluginConfigValues(options.plugin.manifest, config.values);
|
|
266
|
+
sensitiveValues = collectSensitivePluginConfigValues(options.plugin.manifest, config.values, options.platform);
|
|
263
267
|
options.recordConfigDigest(pluginId(options.plugin), `sha256:${crypto.createHash('sha256')
|
|
264
|
-
.update(JSON.stringify({ values: config.values, sources: config.sources }))
|
|
268
|
+
.update(JSON.stringify({ platform: options.platform, values: config.values, sources: config.sources }))
|
|
265
269
|
.digest('hex')}`);
|
|
266
270
|
}
|
|
267
271
|
if (!config) {
|
|
@@ -271,7 +275,7 @@ async function materializePluginCandidates(options) {
|
|
|
271
275
|
pluginName: options.plugin.manifest.name,
|
|
272
276
|
manifest: options.plugin.manifest,
|
|
273
277
|
plan: rendered.plan,
|
|
274
|
-
platform:
|
|
278
|
+
platform: options.platform,
|
|
275
279
|
scope: options.scope,
|
|
276
280
|
requestedArtifactIds: rendered.context.requestedArtifactIds,
|
|
277
281
|
renderConfig: config,
|
|
@@ -289,8 +293,8 @@ async function materializePluginCandidates(options) {
|
|
|
289
293
|
for (const sourceDir of sourcesById.get(artifact.id)?.sourceDirs ?? []) {
|
|
290
294
|
await overlayDirectory(sourceDir, files);
|
|
291
295
|
}
|
|
292
|
-
for (const projection of portableRuntimeProjections.filter((entry) => entry.skill === artifact.skillKey)) {
|
|
293
|
-
const expectedPath =
|
|
296
|
+
for (const projection of portableRuntimeProjections.filter((entry) => entry.platform === options.platform && entry.skill === artifact.skillKey)) {
|
|
297
|
+
const expectedPath = `./${options.platform}/skills/${artifact.skillKey}/${projection.target}`;
|
|
294
298
|
if (projection.path !== expectedPath
|
|
295
299
|
|| projection.target.includes('\\')
|
|
296
300
|
|| path.posix.normalize(projection.target) !== projection.target
|
|
@@ -361,6 +365,7 @@ async function resolvePortableCatalogPlugins(options) {
|
|
|
361
365
|
return plugins;
|
|
362
366
|
}
|
|
363
367
|
export async function resolvePortableCatalogBindingInput(options) {
|
|
368
|
+
assertPortablePlatform(options.platform);
|
|
364
369
|
return withResolvedCatalogPlugin({
|
|
365
370
|
selector: options.selector,
|
|
366
371
|
cliVersion: options.cliVersion,
|
|
@@ -372,24 +377,28 @@ export async function resolvePortableCatalogBindingInput(options) {
|
|
|
372
377
|
: {}),
|
|
373
378
|
consume: async ({ source, plugin: requestedPlugin }) => {
|
|
374
379
|
const plugins = await resolvePortableCatalogPlugins({ source, requestedPlugin });
|
|
380
|
+
const inputs = await resolvePortableProfileBindingInputs({
|
|
381
|
+
plugins,
|
|
382
|
+
pluginName: requestedPlugin.manifest.name,
|
|
383
|
+
platform: options.platform,
|
|
384
|
+
scope: options.scope,
|
|
385
|
+
cwd: options.cwd,
|
|
386
|
+
env: options.env,
|
|
387
|
+
sourceId: source.sourceId,
|
|
388
|
+
catalogSourceIdentity: source.sourceIdentity,
|
|
389
|
+
logicalIdentity: source.logicalIdentity,
|
|
390
|
+
});
|
|
375
391
|
return {
|
|
376
392
|
source: await resolveCatalogSnapshotBindingSource(source),
|
|
377
393
|
subject: { plugin: requestedPlugin.manifest.name },
|
|
378
|
-
profile:
|
|
379
|
-
|
|
380
|
-
pluginName: requestedPlugin.manifest.name,
|
|
381
|
-
scope: options.scope,
|
|
382
|
-
cwd: options.cwd,
|
|
383
|
-
env: options.env,
|
|
384
|
-
sourceId: source.sourceId,
|
|
385
|
-
catalogSourceIdentity: source.sourceIdentity,
|
|
386
|
-
logicalIdentity: source.logicalIdentity,
|
|
387
|
-
}),
|
|
394
|
+
profile: inputs.profile,
|
|
395
|
+
providerConfigs: inputs.providerConfigs,
|
|
388
396
|
};
|
|
389
397
|
},
|
|
390
398
|
});
|
|
391
399
|
}
|
|
392
400
|
export async function materializePortableSkillsFromCatalog(options) {
|
|
401
|
+
assertPortablePlatform(options.platform);
|
|
393
402
|
const operationRoot = await fs.mkdtemp(path.join(os.tmpdir(), 'aw-portable-operation-'));
|
|
394
403
|
const outputRoot = path.join(operationRoot, 'materialized');
|
|
395
404
|
try {
|
|
@@ -407,6 +416,7 @@ export async function materializePortableSkillsFromCatalog(options) {
|
|
|
407
416
|
const materialized = await materializePortableSkills({
|
|
408
417
|
plugins,
|
|
409
418
|
pluginId: resolvedPluginId,
|
|
419
|
+
platform: options.platform,
|
|
410
420
|
scope: options.scope,
|
|
411
421
|
cwd: options.cwd,
|
|
412
422
|
env: options.env,
|
|
@@ -419,6 +429,7 @@ export async function materializePortableSkillsFromCatalog(options) {
|
|
|
419
429
|
sourceId: source.sourceId,
|
|
420
430
|
sourceIdentity: source.sourceIdentity,
|
|
421
431
|
pluginVersion: requestedPlugin.manifest.version,
|
|
432
|
+
platform: materialized.platform,
|
|
422
433
|
scope: materialized.scope,
|
|
423
434
|
candidates: materialized.candidates,
|
|
424
435
|
dependencyPluginIds: materialized.dependencyPluginIds,
|
|
@@ -441,12 +452,18 @@ export async function materializePortableSkillsFromCatalog(options) {
|
|
|
441
452
|
}
|
|
442
453
|
}
|
|
443
454
|
export async function materializePortableSkills(options) {
|
|
455
|
+
assertPortablePlatform(options.platform);
|
|
444
456
|
const requested = resolveRequestedPlugin(options.plugins, options.pluginId);
|
|
445
|
-
if (!requested.manifest.
|
|
446
|
-
throw new Error(`Plugin "${pluginId(requested)}" does not
|
|
457
|
+
if (!resolveSupportedPlatforms(requested.manifest).has(options.platform)) {
|
|
458
|
+
throw new Error(`Plugin "${pluginId(requested)}" does not support platform "${options.platform}".`);
|
|
447
459
|
}
|
|
448
460
|
const closure = resolvePluginMetaDependencyClosure(options.plugins, [requested.manifest.name]);
|
|
449
461
|
assertSameSource(requested, closure);
|
|
462
|
+
for (const plugin of closure) {
|
|
463
|
+
if (!resolveSupportedPlatforms(plugin.manifest).has(options.platform)) {
|
|
464
|
+
throw new Error(`Portable dependency "${pluginId(plugin)}" does not support platform "${options.platform}".`);
|
|
465
|
+
}
|
|
466
|
+
}
|
|
450
467
|
const createdRoot = options.outputRoot === undefined;
|
|
451
468
|
const rootDir = options.outputRoot
|
|
452
469
|
? path.resolve(options.outputRoot)
|
|
@@ -472,19 +489,30 @@ export async function materializePortableSkills(options) {
|
|
|
472
489
|
options.signal?.throwIfAborted();
|
|
473
490
|
if (selectedSkills && plugin.manifest.name !== requested.manifest.name)
|
|
474
491
|
continue;
|
|
475
|
-
|
|
476
|
-
plugins: options.plugins,
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
492
|
+
const prepared = options.inputMode === 'bundle' ? undefined : await prepareSkillPluginBundle({
|
|
493
|
+
plugin, plugins: options.plugins, workRoot: path.join(rootDir, '.prepare'), env,
|
|
494
|
+
});
|
|
495
|
+
try {
|
|
496
|
+
const candidatePlugin = prepared?.bundlePlugin ?? plugin;
|
|
497
|
+
trees.push(...await materializePluginCandidates({
|
|
498
|
+
plugins: options.plugins.map((entry) => entry === plugin ? candidatePlugin : entry),
|
|
499
|
+
plugin: candidatePlugin,
|
|
500
|
+
relation: relationFor(requested, plugin),
|
|
501
|
+
platform: options.platform,
|
|
502
|
+
scope: options.scope,
|
|
503
|
+
cwd: options.cwd,
|
|
504
|
+
env,
|
|
505
|
+
signal: options.signal,
|
|
506
|
+
inputMode: 'bundle',
|
|
507
|
+
...(selectedSkills ? { selectedSkills } : {}),
|
|
508
|
+
recordConfigDigest: (id, configDigest) => configDigests.push([id, configDigest]),
|
|
509
|
+
}));
|
|
510
|
+
}
|
|
511
|
+
finally {
|
|
512
|
+
await prepared?.cleanup();
|
|
513
|
+
}
|
|
487
514
|
}
|
|
515
|
+
await fs.remove(path.join(rootDir, '.prepare'));
|
|
488
516
|
if (selectedSkills) {
|
|
489
517
|
const materializedNames = new Set(trees.map((candidate) => candidate.tree.skillKey));
|
|
490
518
|
const missing = [...selectedSkills]
|
|
@@ -512,20 +540,22 @@ export async function materializePortableSkills(options) {
|
|
|
512
540
|
relation: candidate.relation,
|
|
513
541
|
dynamic: candidate.dynamic,
|
|
514
542
|
filesDigest: treeDigest(candidate.tree),
|
|
543
|
+
configDigest: new Map(configDigests).get(pluginId(candidate.plugin)),
|
|
515
544
|
})).sort((left, right) => left.name.localeCompare(right.name));
|
|
516
545
|
const dependencyPluginIds = closure
|
|
517
546
|
.filter((plugin) => plugin.manifest.name !== requested.manifest.name)
|
|
518
547
|
.map(pluginId);
|
|
519
548
|
const configDigest = `sha256:${crypto.createHash('sha256')
|
|
520
|
-
.update(JSON.stringify(configDigests))
|
|
549
|
+
.update(JSON.stringify({ platform: options.platform, scope: options.scope, config: configDigests }))
|
|
521
550
|
.digest('hex')}`;
|
|
522
551
|
const digest = `sha256:${crypto.createHash('sha256')
|
|
523
|
-
.update(JSON.stringify(candidates.map((candidate) => [candidate.name, candidate.filesDigest])))
|
|
552
|
+
.update(JSON.stringify({ platform: options.platform, scope: options.scope, skills: candidates.map((candidate) => [candidate.name, candidate.filesDigest]) }))
|
|
524
553
|
.digest('hex')}`;
|
|
525
554
|
const provenancePath = path.join(rootDir, '.aw-materialization.json');
|
|
526
555
|
const provenance = {
|
|
527
556
|
schemaVersion: 1,
|
|
528
557
|
pluginId: pluginId(requested),
|
|
558
|
+
platform: options.platform,
|
|
529
559
|
scope: options.scope,
|
|
530
560
|
dependencyPluginIds,
|
|
531
561
|
configDigest,
|
|
@@ -536,6 +566,7 @@ export async function materializePortableSkills(options) {
|
|
|
536
566
|
return {
|
|
537
567
|
rootDir,
|
|
538
568
|
pluginId: pluginId(requested),
|
|
569
|
+
platform: options.platform,
|
|
539
570
|
scope: options.scope,
|
|
540
571
|
candidates,
|
|
541
572
|
dependencyPluginIds,
|