@skaile/workspaces 5.1.3 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +68 -0
- package/README.md +1 -1
- package/dist/app-sdk/index.js +1 -1
- package/dist/{asset-feeds-C4X4RTZV.js → asset-feeds-VIZXYDAO.js} +13 -13
- package/dist/{asset-feeds-C4X4RTZV.js.map → asset-feeds-VIZXYDAO.js.map} +1 -1
- package/dist/asset-manager/catalog-deployer.js +10 -10
- package/dist/asset-manager/index.js +14 -14
- package/dist/asset-manager/installer.js +10 -10
- package/dist/asset-manager/src/index.d.ts +39 -4
- package/dist/asset-manager/src/index.d.ts.map +1 -1
- package/dist/asset-manager/src/installer.d.ts +2 -1
- package/dist/asset-manager/src/installer.d.ts.map +1 -1
- package/dist/bridge/drivers/claude-sdk.js +16 -15
- package/dist/bridge/drivers/claude-sdk.js.map +1 -1
- package/dist/bridge/drivers/codex.js +13 -12
- package/dist/bridge/drivers/codex.js.map +1 -1
- package/dist/bridge/drivers/continue.js +13 -13
- package/dist/bridge/drivers/echo.js +3 -3
- package/dist/bridge/drivers/gemini.js +5 -5
- package/dist/bridge/drivers/goose.js +13 -13
- package/dist/bridge/drivers/omp.js +6 -5
- package/dist/bridge/drivers/omp.js.map +1 -1
- package/dist/bridge/drivers/opencode.js +13 -13
- package/dist/bridge/drivers/qwen.js +5 -5
- package/dist/bridge/index.js +15 -15
- package/dist/bridge/src/driver-capabilities.d.ts +66 -0
- package/dist/bridge/src/driver-capabilities.d.ts.map +1 -0
- package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
- package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
- package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
- package/dist/bridge/src/index.d.ts +1 -0
- package/dist/bridge/src/index.d.ts.map +1 -1
- package/dist/bridge/src/registry.d.ts.map +1 -1
- package/dist/{chunk-7SAWDPUT.js → chunk-37GBJLF5.js} +5 -55
- package/dist/chunk-37GBJLF5.js.map +1 -0
- package/dist/{chunk-SP47UJKE.js → chunk-3ZVSINEV.js} +247 -118
- package/dist/chunk-3ZVSINEV.js.map +1 -0
- package/dist/{chunk-ZVKJNNME.js → chunk-4257Q2LH.js} +8 -8
- package/dist/{chunk-ZVKJNNME.js.map → chunk-4257Q2LH.js.map} +1 -1
- package/dist/{chunk-YDJZRLGN.js → chunk-4SSKKFDF.js} +4 -4
- package/dist/{chunk-YDJZRLGN.js.map → chunk-4SSKKFDF.js.map} +1 -1
- package/dist/{chunk-K5GBV4SA.js → chunk-5BEFNLOR.js} +6 -5
- package/dist/chunk-5BEFNLOR.js.map +1 -0
- package/dist/{chunk-IWCCZL7C.js → chunk-6GBQND2F.js} +99 -36
- package/dist/chunk-6GBQND2F.js.map +1 -0
- package/dist/{chunk-QU4J5YSJ.js → chunk-7L4WFH3Y.js} +4 -4
- package/dist/{chunk-QU4J5YSJ.js.map → chunk-7L4WFH3Y.js.map} +1 -1
- package/dist/{chunk-O4U7OL6D.js → chunk-A223FDDC.js} +6 -6
- package/dist/{chunk-O4U7OL6D.js.map → chunk-A223FDDC.js.map} +1 -1
- package/dist/{chunk-AZYIEK3F.js → chunk-AWGQVAC5.js} +3 -3
- package/dist/{chunk-AZYIEK3F.js.map → chunk-AWGQVAC5.js.map} +1 -1
- package/dist/{chunk-RDYI4MML.js → chunk-BNUZEYC3.js} +3 -3
- package/dist/{chunk-RDYI4MML.js.map → chunk-BNUZEYC3.js.map} +1 -1
- package/dist/{chunk-RNNUYFFD.js → chunk-BUZ3K2PT.js} +3 -3
- package/dist/{chunk-RNNUYFFD.js.map → chunk-BUZ3K2PT.js.map} +1 -1
- package/dist/{chunk-WKIOWDLQ.js → chunk-CZ35I4RK.js} +4 -4
- package/dist/{chunk-WKIOWDLQ.js.map → chunk-CZ35I4RK.js.map} +1 -1
- package/dist/{chunk-KWP4RVTJ.js → chunk-D63AJVBW.js} +761 -643
- package/dist/chunk-D63AJVBW.js.map +1 -0
- package/dist/{chunk-BJZHNSQO.js → chunk-DECPI7DN.js} +5 -5
- package/dist/{chunk-BJZHNSQO.js.map → chunk-DECPI7DN.js.map} +1 -1
- package/dist/{chunk-KVAI5DGL.js → chunk-ERCSHLTF.js} +3 -3
- package/dist/{chunk-KVAI5DGL.js.map → chunk-ERCSHLTF.js.map} +1 -1
- package/dist/{chunk-ZD7CX25M.js → chunk-FTYM4VRZ.js} +56 -7
- package/dist/chunk-FTYM4VRZ.js.map +1 -0
- package/dist/{chunk-DLLM4U6C.js → chunk-FXN4PLRO.js} +3 -3
- package/dist/{chunk-DLLM4U6C.js.map → chunk-FXN4PLRO.js.map} +1 -1
- package/dist/{chunk-KNC55536.js → chunk-FZGL7Z52.js} +5 -4
- package/dist/chunk-FZGL7Z52.js.map +1 -0
- package/dist/{chunk-WCQMXBO5.js → chunk-GCYD4EGY.js} +4 -4
- package/dist/{chunk-WCQMXBO5.js.map → chunk-GCYD4EGY.js.map} +1 -1
- package/dist/{chunk-EB6OPURC.js → chunk-HTKZ4AOW.js} +3 -3
- package/dist/{chunk-EB6OPURC.js.map → chunk-HTKZ4AOW.js.map} +1 -1
- package/dist/{chunk-YV4J7V53.js → chunk-JAJG4G5E.js} +3 -3
- package/dist/{chunk-YV4J7V53.js.map → chunk-JAJG4G5E.js.map} +1 -1
- package/dist/{chunk-TYUJB336.js → chunk-JELTQ4H7.js} +3 -3
- package/dist/{chunk-TYUJB336.js.map → chunk-JELTQ4H7.js.map} +1 -1
- package/dist/{chunk-VDJKWKH2.js → chunk-JKWU6ULI.js} +3 -3
- package/dist/{chunk-VDJKWKH2.js.map → chunk-JKWU6ULI.js.map} +1 -1
- package/dist/{chunk-AGWYBS2E.js → chunk-K2JVODQD.js} +18 -6
- package/dist/chunk-K2JVODQD.js.map +1 -0
- package/dist/{chunk-IDEA6CYI.js → chunk-K2K7OF4P.js} +95 -3
- package/dist/chunk-K2K7OF4P.js.map +1 -0
- package/dist/{chunk-MXXKTQXJ.js → chunk-KBAE7PU7.js} +18 -33
- package/dist/chunk-KBAE7PU7.js.map +1 -0
- package/dist/{chunk-ARUJBGAH.js → chunk-KXTO7HON.js} +3 -3
- package/dist/{chunk-ARUJBGAH.js.map → chunk-KXTO7HON.js.map} +1 -1
- package/dist/{chunk-TVOODIZE.js → chunk-LAI7X6I2.js} +3 -3
- package/dist/{chunk-TVOODIZE.js.map → chunk-LAI7X6I2.js.map} +1 -1
- package/dist/{chunk-DXUQCMVT.js → chunk-LFMX2UEF.js} +3 -3
- package/dist/{chunk-DXUQCMVT.js.map → chunk-LFMX2UEF.js.map} +1 -1
- package/dist/{chunk-UMSWQKCY.js → chunk-LM5XEFNS.js} +3 -3
- package/dist/{chunk-UMSWQKCY.js.map → chunk-LM5XEFNS.js.map} +1 -1
- package/dist/{chunk-TLKM4M47.js → chunk-MFHKHXDE.js} +6 -3
- package/dist/chunk-MFHKHXDE.js.map +1 -0
- package/dist/{chunk-5S4ZK75K.js → chunk-OMD4TAJX.js} +3 -3
- package/dist/{chunk-5S4ZK75K.js.map → chunk-OMD4TAJX.js.map} +1 -1
- package/dist/{chunk-M4ISBWXR.js → chunk-OOKFZW6H.js} +2472 -2265
- package/dist/chunk-OOKFZW6H.js.map +1 -0
- package/dist/{chunk-WPWJRDR3.js → chunk-QHIMMBJO.js} +8 -7
- package/dist/chunk-QHIMMBJO.js.map +1 -0
- package/dist/{chunk-KC3OF6B2.js → chunk-QMWMSZQ4.js} +3 -3
- package/dist/{chunk-KC3OF6B2.js.map → chunk-QMWMSZQ4.js.map} +1 -1
- package/dist/{chunk-AG44ZJ7W.js → chunk-SR4RFKHM.js} +35 -13
- package/dist/chunk-SR4RFKHM.js.map +1 -0
- package/dist/{chunk-RNOIDD3Y.js → chunk-TR7KFBIO.js} +7 -7
- package/dist/chunk-TR7KFBIO.js.map +1 -0
- package/dist/{chunk-YMOZC2D3.js → chunk-TVFSA5IQ.js} +4 -4
- package/dist/{chunk-YMOZC2D3.js.map → chunk-TVFSA5IQ.js.map} +1 -1
- package/dist/{chunk-H4EGUQ7M.js → chunk-VKSA2CDJ.js} +7 -8
- package/dist/chunk-VKSA2CDJ.js.map +1 -0
- package/dist/{chunk-I75CM2QF.js → chunk-VLEWVR44.js} +14 -15
- package/dist/chunk-VLEWVR44.js.map +1 -0
- package/dist/{chunk-RO4Z2CBP.js → chunk-WGN7Z36G.js} +21 -4
- package/dist/chunk-WGN7Z36G.js.map +1 -0
- package/dist/{chunk-BEOKEK3B.js → chunk-WGNFDLHT.js} +135 -64
- package/dist/chunk-WGNFDLHT.js.map +1 -0
- package/dist/{chunk-43ZBF3WH.js → chunk-WX74MVNA.js} +16 -3
- package/dist/chunk-WX74MVNA.js.map +1 -0
- package/dist/{chunk-U6K3I3AX.js → chunk-XGIS325V.js} +3 -3
- package/dist/{chunk-U6K3I3AX.js.map → chunk-XGIS325V.js.map} +1 -1
- package/dist/{chunk-UVOJSWD2.js → chunk-Y7UBRRKG.js} +107 -135
- package/dist/chunk-Y7UBRRKG.js.map +1 -0
- package/dist/{chunk-Y6V6NUEV.js → chunk-YTJZQ4HY.js} +3 -3
- package/dist/{chunk-Y6V6NUEV.js.map → chunk-YTJZQ4HY.js.map} +1 -1
- package/dist/{chunk-IAGCOAIW.js → chunk-YXNYBUQY.js} +5 -5
- package/dist/{chunk-IAGCOAIW.js.map → chunk-YXNYBUQY.js.map} +1 -1
- package/dist/chunk-ZCSFGGLG.js +15 -0
- package/dist/{chunk-XUQBVK4R.js.map → chunk-ZCSFGGLG.js.map} +1 -1
- package/dist/{chunk-2HR3RPWD.js → chunk-ZDMGMWK6.js} +13 -11
- package/dist/chunk-ZDMGMWK6.js.map +1 -0
- package/dist/cli/index.js +696 -552
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
- package/dist/cli/src/commands/catalog-cmd.d.ts.map +1 -1
- package/dist/cli/src/commands/catalog.d.ts.map +1 -1
- package/dist/cli/src/commands/config.d.ts.map +1 -1
- package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
- package/dist/cli/src/commands/library-index.d.ts +43 -1
- package/dist/cli/src/commands/library-index.d.ts.map +1 -1
- package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
- package/dist/cli/src/commands/outdated.d.ts +3 -1
- package/dist/cli/src/commands/outdated.d.ts.map +1 -1
- package/dist/cli/src/commands/project.d.ts.map +1 -1
- package/dist/cli/src/commands/run.d.ts.map +1 -1
- package/dist/cli/src/commands/skailify-lib.d.ts +3 -47
- package/dist/cli/src/commands/skailify-lib.d.ts.map +1 -1
- package/dist/cli/src/commands/source.d.ts.map +1 -1
- package/dist/cli/src/commands/validate.d.ts.map +1 -1
- package/dist/cli/src/flow-discovery.d.ts +9 -0
- package/dist/cli/src/flow-discovery.d.ts.map +1 -1
- package/dist/cli/src/helpers.d.ts +13 -0
- package/dist/cli/src/helpers.d.ts.map +1 -1
- package/dist/cli/src/setup.d.ts.map +1 -1
- package/dist/connectors/config.js +6 -6
- package/dist/connectors/index.js +19 -19
- package/dist/connectors/src/connector-manager.d.ts +8 -27
- package/dist/connectors/src/connector-manager.d.ts.map +1 -1
- package/dist/connectors/src/index.d.ts +1 -1
- package/dist/connectors/src/index.d.ts.map +1 -1
- package/dist/connectors/src/mount-ledger.d.ts +61 -0
- package/dist/connectors/src/mount-ledger.d.ts.map +1 -0
- package/dist/{connectors-BQXFKISC.js → connectors-Z2FUGAJU.js} +22 -22
- package/dist/{connectors-BQXFKISC.js.map → connectors-Z2FUGAJU.js.map} +1 -1
- package/dist/connectors-shared/index.js +2 -2
- package/dist/core/framework.js +1 -1
- package/dist/core/index.js +9 -9
- package/dist/core/manifest.js +2 -2
- package/dist/core/models.js +1 -1
- package/dist/core/publish-manifest.js +2 -2
- package/dist/core/ref.js +1 -1
- package/dist/core/runtime-assets.js +6 -6
- package/dist/core/src/asset-roots.d.ts +8 -0
- package/dist/core/src/asset-roots.d.ts.map +1 -1
- package/dist/core/src/cache-paths.d.ts +6 -0
- package/dist/core/src/cache-paths.d.ts.map +1 -1
- package/dist/core/src/framework.d.ts +7 -0
- package/dist/core/src/framework.d.ts.map +1 -1
- package/dist/core/src/index.d.ts +6 -6
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/lock.d.ts +12 -0
- package/dist/core/src/lock.d.ts.map +1 -1
- package/dist/core/src/manifest-yaml-editor.d.ts +14 -6
- package/dist/core/src/manifest-yaml-editor.d.ts.map +1 -1
- package/dist/core/src/models.d.ts +22 -0
- package/dist/core/src/models.d.ts.map +1 -1
- package/dist/core/src/publish-manifest.d.ts +28 -6
- package/dist/core/src/publish-manifest.d.ts.map +1 -1
- package/dist/core/src/settings.d.ts.map +1 -1
- package/dist/core/src/walker.d.ts.map +1 -1
- package/dist/core/store.js +2 -2
- package/dist/core/workspace-config.js +5 -5
- package/dist/deploy/index.js +9 -9
- package/dist/discovery/index.js +4 -4
- package/dist/discovery/src/discover-manifest.d.ts +5 -0
- package/dist/discovery/src/discover-manifest.d.ts.map +1 -1
- package/dist/discovery/src/discover.d.ts.map +1 -1
- package/dist/discovery/src/hash.d.ts +45 -23
- package/dist/discovery/src/hash.d.ts.map +1 -1
- package/dist/discovery/src/index.d.ts +3 -1
- package/dist/discovery/src/index.d.ts.map +1 -1
- package/dist/discovery/src/parse-manifest.d.ts +27 -0
- package/dist/discovery/src/parse-manifest.d.ts.map +1 -0
- package/dist/discovery/src/tree-entries.d.ts.map +1 -1
- package/dist/{ensure-sources-CMHOTYFS.js → ensure-sources-3IH5XHAP.js} +17 -17
- package/dist/{ensure-sources-CMHOTYFS.js.map → ensure-sources-3IH5XHAP.js.map} +1 -1
- package/dist/factory-assets/connectors/box.js +19 -19
- package/dist/factory-assets/connectors/deploy.js +19 -19
- package/dist/factory-assets/connectors/devserver.js +19 -19
- package/dist/factory-assets/connectors/flow/adapter.d.ts +28 -4
- package/dist/factory-assets/connectors/flow/adapter.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow/adapter.js +19 -19
- package/dist/factory-assets/connectors/flow/engine.js +10 -10
- package/dist/factory-assets/connectors/flow/index.d.ts +1 -1
- package/dist/factory-assets/connectors/flow/index.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow/run-flow.js +21 -21
- package/dist/factory-assets/connectors/flow.js +19 -19
- package/dist/factory-assets/connectors/git/checkout.d.ts +161 -0
- package/dist/factory-assets/connectors/git/checkout.d.ts.map +1 -0
- package/dist/factory-assets/connectors/git/config.d.ts +78 -0
- package/dist/factory-assets/connectors/git/config.d.ts.map +1 -0
- package/dist/factory-assets/connectors/git/credentials.d.ts +93 -0
- package/dist/factory-assets/connectors/git/credentials.d.ts.map +1 -0
- package/dist/factory-assets/connectors/git/driver.d.ts +39 -598
- package/dist/factory-assets/connectors/git/driver.d.ts.map +1 -1
- package/dist/factory-assets/connectors/git/exec.d.ts +177 -0
- package/dist/factory-assets/connectors/git/exec.d.ts.map +1 -0
- package/dist/factory-assets/connectors/git/inspect.d.ts +120 -0
- package/dist/factory-assets/connectors/git/inspect.d.ts.map +1 -0
- package/dist/factory-assets/connectors/git/lifecycle.d.ts +107 -0
- package/dist/factory-assets/connectors/git/lifecycle.d.ts.map +1 -0
- package/dist/factory-assets/connectors/git/repo.d.ts +496 -0
- package/dist/factory-assets/connectors/git/repo.d.ts.map +1 -0
- package/dist/factory-assets/connectors/git.js +19 -19
- package/dist/factory-assets/connectors/gmail.js +19 -19
- package/dist/factory-assets/connectors/googledrive.js +19 -19
- package/dist/factory-assets/connectors/local.js +19 -19
- package/dist/factory-assets/connectors/mattermost.js +19 -19
- package/dist/factory-assets/connectors/memory.js +19 -19
- package/dist/factory-assets/connectors/minio.js +19 -19
- package/dist/factory-assets/connectors/postgres.js +19 -19
- package/dist/factory-assets/connectors/s3.js +19 -19
- package/dist/factory-assets/connectors/sharepoint.js +19 -19
- package/dist/factory-assets/connectors/sqlite.js +19 -19
- package/dist/factory-assets/connectors/static-server.js +19 -19
- package/dist/factory-assets/connectors/tunnel.js +19 -19
- package/dist/factory-assets/connectors/webdav.js +19 -19
- package/dist/factory-assets/connectors/xstate-store.js +19 -19
- package/dist/factory-assets/connectors/xstate.js +19 -19
- package/dist/flows-64OAOYLP.js +26 -0
- package/dist/{flows-SVCCADGE.js.map → flows-64OAOYLP.js.map} +1 -1
- package/dist/{helpers-R3GLTAER.js → helpers-HV5Y57CY.js} +17 -17
- package/dist/{helpers-R3GLTAER.js.map → helpers-HV5Y57CY.js.map} +1 -1
- package/dist/library/index.js +12 -12
- package/dist/library/install.js +3 -2
- package/dist/library/src/config.d.ts +5 -4
- package/dist/library/src/config.d.ts.map +1 -1
- package/dist/library/src/index.d.ts +6 -3
- package/dist/library/src/index.d.ts.map +1 -1
- package/dist/library/src/install/install-from-manifest.d.ts +21 -0
- package/dist/library/src/install/install-from-manifest.d.ts.map +1 -1
- package/dist/library/src/local/install-library-asset.d.ts +64 -0
- package/dist/library/src/local/install-library-asset.d.ts.map +1 -0
- package/dist/library/src/local/library.d.ts.map +1 -1
- package/dist/library/src/local/local-catalog-source.d.ts +30 -0
- package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
- package/dist/library/src/local/store-paths.d.ts +6 -0
- package/dist/library/src/local/store-paths.d.ts.map +1 -1
- package/dist/library/src/manifest-writer.d.ts +79 -0
- package/dist/library/src/manifest-writer.d.ts.map +1 -0
- package/dist/library/src/sync/git-driver.d.ts +8 -0
- package/dist/library/src/sync/git-driver.d.ts.map +1 -1
- package/dist/library/src/sync/manifest-writeback.d.ts +2 -17
- package/dist/library/src/sync/manifest-writeback.d.ts.map +1 -1
- package/dist/{library-publish-EL7VYICU.js → library-publish-TVS3WQ4C.js} +27 -25
- package/dist/library-publish-TVS3WQ4C.js.map +1 -0
- package/dist/{open-library-MTD34YX3.js → open-library-AT6RYQ5M.js} +20 -20
- package/dist/{open-library-MTD34YX3.js.map → open-library-AT6RYQ5M.js.map} +1 -1
- package/dist/open-registry-F2Z4OLXJ.js +32 -0
- package/dist/{open-registry-CHCWKV5W.js.map → open-registry-F2Z4OLXJ.js.map} +1 -1
- package/dist/paths-P7ZXMDCX.js +22 -0
- package/dist/{paths-MKSI52PF.js.map → paths-P7ZXMDCX.js.map} +1 -1
- package/dist/plugin-registry/src/targets.d.ts +3 -1
- package/dist/plugin-registry/src/targets.d.ts.map +1 -1
- package/dist/{plugin-store-SVYV7L4C.js → plugin-store-27KGLW4S.js} +11 -11
- package/dist/{plugin-store-SVYV7L4C.js.map → plugin-store-27KGLW4S.js.map} +1 -1
- package/dist/{project-HCNWJP7J.js → project-J2EROMBW.js} +18 -18
- package/dist/{project-HCNWJP7J.js.map → project-J2EROMBW.js.map} +1 -1
- package/dist/resolver/index.js +10 -10
- package/dist/runner/index.js +29 -29
- package/dist/runner/src/agent.d.ts +1 -1
- package/dist/runner/src/agent.d.ts.map +1 -1
- package/dist/runner/src/codex-init.d.ts.map +1 -1
- package/dist/runner/src/compaction-gate.d.ts +9 -33
- package/dist/runner/src/compaction-gate.d.ts.map +1 -1
- package/dist/runner/src/managed-codex-bootstrap.d.ts.map +1 -1
- package/dist/runner/src/pending-turns.d.ts +7 -2
- package/dist/runner/src/pending-turns.d.ts.map +1 -1
- package/dist/runner/src/resources.d.ts +2 -2
- package/dist/runner/src/resources.d.ts.map +1 -1
- package/dist/runner/src/serve-credentials.d.ts +2 -1
- package/dist/runner/src/serve-credentials.d.ts.map +1 -1
- package/dist/runner/src/serve.d.ts +19 -35
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/runner/src/session-builder.d.ts.map +1 -1
- package/dist/runner/src/turn-scheduler.d.ts +158 -0
- package/dist/runner/src/turn-scheduler.d.ts.map +1 -0
- package/dist/sdk/asset-manager.js +14 -14
- package/dist/sdk/bridge.js +15 -15
- package/dist/sdk/core.js +9 -9
- package/dist/sdk/flow.js +10 -10
- package/dist/sdk/index.js +29 -29
- package/dist/sdk/resolver.js +10 -10
- package/dist/sdk/runner.js +29 -29
- package/dist/sdk/session.js +2 -2
- package/dist/sdk/types.js +1 -1
- package/dist/secrets/index.js +2 -2
- package/dist/session/index.js +2 -2
- package/dist/session/src/dispatcher.d.ts.map +1 -1
- package/dist/{setup-HTXNR2CZ.js → setup-IFGA4NQA.js} +25 -25
- package/dist/setup-IFGA4NQA.js.map +1 -0
- package/dist/skills-3T55L4YT.js +26 -0
- package/dist/{skills-7K2YO3KN.js.map → skills-3T55L4YT.js.map} +1 -1
- package/dist/{source-UIFC2PFC.js → source-HEAE43IL.js} +21 -21
- package/dist/{source-UIFC2PFC.js.map → source-HEAE43IL.js.map} +1 -1
- package/dist/{source-manifest-publish-QKAKXDVH.js → source-manifest-publish-SCAHAYSQ.js} +23 -23
- package/dist/{source-manifest-publish-QKAKXDVH.js.map → source-manifest-publish-SCAHAYSQ.js.map} +1 -1
- package/dist/tui/index.js +30 -30
- package/dist/tui/index.js.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/src/delivery.d.ts +26 -0
- package/dist/types/src/delivery.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +3 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/runtime.d.ts +51 -0
- package/dist/types/src/runtime.d.ts.map +1 -1
- package/dist/workspace-plugin/adapters/mcp.js +26 -26
- package/dist/workspace-plugin/adapters/omp.js +18 -17
- package/dist/workspace-plugin/adapters/omp.js.map +1 -1
- package/dist/workspace-plugin/index.js +2 -1
- package/dist/workspace-plugin/src/adapters/mcp.d.ts.map +1 -1
- package/dist/workspace-plugin/src/adapters/omp.d.ts.map +1 -1
- package/dist/workspace-plugin/src/plugin.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-2HR3RPWD.js.map +0 -1
- package/dist/chunk-43ZBF3WH.js.map +0 -1
- package/dist/chunk-7SAWDPUT.js.map +0 -1
- package/dist/chunk-AG44ZJ7W.js.map +0 -1
- package/dist/chunk-AGWYBS2E.js.map +0 -1
- package/dist/chunk-BEOKEK3B.js.map +0 -1
- package/dist/chunk-F7JHP7JV.js +0 -122
- package/dist/chunk-F7JHP7JV.js.map +0 -1
- package/dist/chunk-H4EGUQ7M.js.map +0 -1
- package/dist/chunk-I75CM2QF.js.map +0 -1
- package/dist/chunk-IDEA6CYI.js.map +0 -1
- package/dist/chunk-IWCCZL7C.js.map +0 -1
- package/dist/chunk-K5GBV4SA.js.map +0 -1
- package/dist/chunk-KNC55536.js.map +0 -1
- package/dist/chunk-KWP4RVTJ.js.map +0 -1
- package/dist/chunk-M4ISBWXR.js.map +0 -1
- package/dist/chunk-MXXKTQXJ.js.map +0 -1
- package/dist/chunk-RNOIDD3Y.js.map +0 -1
- package/dist/chunk-RO4Z2CBP.js.map +0 -1
- package/dist/chunk-SP47UJKE.js.map +0 -1
- package/dist/chunk-TLKM4M47.js.map +0 -1
- package/dist/chunk-UVOJSWD2.js.map +0 -1
- package/dist/chunk-WPWJRDR3.js.map +0 -1
- package/dist/chunk-XUQBVK4R.js +0 -15
- package/dist/chunk-ZD7CX25M.js.map +0 -1
- package/dist/flows-SVCCADGE.js +0 -26
- package/dist/library-publish-EL7VYICU.js.map +0 -1
- package/dist/open-registry-CHCWKV5W.js +0 -32
- package/dist/paths-MKSI52PF.js +0 -22
- package/dist/runner/src/flow-turn-dispatch.d.ts +0 -41
- package/dist/runner/src/flow-turn-dispatch.d.ts.map +0 -1
- package/dist/runner/src/reply-routing.d.ts +0 -54
- package/dist/runner/src/reply-routing.d.ts.map +0 -1
- package/dist/setup-HTXNR2CZ.js.map +0 -1
- package/dist/skills-7K2YO3KN.js +0 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../factory-assets/connectors/git/driver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../factory-assets/connectors/git/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,cAAc,EAId,QAAQ,EACR,WAAW,EACX,YAAY,EACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iBAAiB,EAOlB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAA0B,OAAO,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD,2GAA2G;AAC3G,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,EAAE,cAAc,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,YAAY,CAAC;IACxB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;CACpD;AAED,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,IAAI,CAAC;IACnB,kFAAkF;IAClF,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACnD,6EAA6E;IAC7E,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC;AAI1D;;;;;;;;;;;;;GAaG;AACH,qBAAa,YAAa,SAAQ,iBAAiB;IACjD,QAAQ,CAAC,IAAI,SAAS;IAEtB,iFAAiF;IACjF,qBAAqB,CAAC,WAAW,EAAE,oBAAoB,GAAG,OAAO;IAIjE,QAAQ,CAAC,UAAU,EAAE,cAAc,CAIjC;IAEF,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAQtB;IAEF,OAAO,CAAC,mBAAmB;YAgDb,UAAU;IAyBxB;;;;OAIG;YACW,aAAa;IAkBrB,OAAO,CAAC,WAAW,EAAE,oBAAoB,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAuH/F;;;OAGG;YACW,mBAAmB;IAmCjC;;;;;;;;;;;;;OAaG;IACG,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtF,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAgB1C,KAAK;IA6BV,KAAK,CACZ,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,EAC/C,OAAO,CAAC,EAAE,YAAY,GACrB,WAAW;IAiDC,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,mBAAmB,CAAC;IAU3E,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAiBpF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAE9C"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Git process layer of the git connector: every `git` child it spawns.
|
|
3
|
+
*
|
|
4
|
+
* Plain commands (`git`, `gitOrNull`), commands that author commits
|
|
5
|
+
* (`gitCommitting`: identity fallback, hooks off) and commands that talk to a
|
|
6
|
+
* remote (`runRemoteGit`: authenticated for that one command, hardened against
|
|
7
|
+
* the agent-writable checkout config). The repo module builds on these; nothing
|
|
8
|
+
* above it spawns git itself.
|
|
9
|
+
*
|
|
10
|
+
* Everything that touches a checkout path is asynchronous and deadline-bounded.
|
|
11
|
+
* Inside the agent container that path is the rclone FUSE mount, and a
|
|
12
|
+
* synchronous `execSync` / `fs` call there parks the entire single-threaded
|
|
13
|
+
* event loop in an uninterruptible kernel wait — a hang, not an error, so
|
|
14
|
+
* `try/catch` never fires and the whole session dies.
|
|
15
|
+
*/
|
|
16
|
+
import type { GitCredentials } from "./credentials.js";
|
|
17
|
+
/** `true` for a remote git reaches over HTTP(S), where a credential helper applies. */
|
|
18
|
+
export declare function isHttpUrl(url: string): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Copy of `err` with the auth URL scrubbed from its message and stack, for
|
|
21
|
+
* handing to a logger. The original is still what callers rethrow — only the
|
|
22
|
+
* logged view is redacted.
|
|
23
|
+
*/
|
|
24
|
+
export declare function redactError(err: unknown): Error;
|
|
25
|
+
/**
|
|
26
|
+
* Identity stamped on the root commit that bootstraps a ref-less remote.
|
|
27
|
+
* Passed per-command rather than written to config: this commit is a machine
|
|
28
|
+
* action taken at connect time, before the agent (or the image) has configured
|
|
29
|
+
* any identity of its own, and an unset ambient one would abort the commit.
|
|
30
|
+
*/
|
|
31
|
+
export declare const BOOTSTRAP_COMMIT_NAME = "Skaile";
|
|
32
|
+
export declare const BOOTSTRAP_COMMIT_EMAIL = "skaile@local";
|
|
33
|
+
/**
|
|
34
|
+
* Leading argv carried by every driver-spawned `git` invocation.
|
|
35
|
+
*
|
|
36
|
+
* `safe.directory` is required because the checkout is routinely owned by a
|
|
37
|
+
* different uid than the agent process (bind-mounted host dir, fleet worktree).
|
|
38
|
+
* Passed as argv rather than interpolated into a shell string, so the value
|
|
39
|
+
* needs no quoting and can never be re-split on spaces or quotes.
|
|
40
|
+
*/
|
|
41
|
+
export declare function gitPrefix(cwd: string): string[];
|
|
42
|
+
/**
|
|
43
|
+
* Run a git subcommand that writes a commit object, with the identity fallback
|
|
44
|
+
* in front of it and the repo's hooks off.
|
|
45
|
+
*
|
|
46
|
+
* Every committing command needs this, not just `commit`: `pull` (merge
|
|
47
|
+
* strategy), `merge` and `rebase` all author or replay commits and abort the
|
|
48
|
+
* same way in a container that resolves no identity. Routing them through one
|
|
49
|
+
* wrapper — rather than prefixing the call sites that were known to fail —
|
|
50
|
+
* means the next committing command added to this driver inherits it.
|
|
51
|
+
*
|
|
52
|
+
* Hooks are off because these are the driver's own save and sync steps, not the
|
|
53
|
+
* agent's commits: a project hook (a formatter or linter check) that rejects or
|
|
54
|
+
* outlasts one leaves the work staged and unsaved, or drops a merge.
|
|
55
|
+
*
|
|
56
|
+
* Read-only git stays on plain `git()`: the probe costs a spawn, and `status`,
|
|
57
|
+
* `rev-parse` and friends run on every poll.
|
|
58
|
+
*/
|
|
59
|
+
export declare function gitCommitting(args: string[], cwd: string, timeout?: number): Promise<string>;
|
|
60
|
+
/**
|
|
61
|
+
* Spawn `git` with an explicit argv and await its trimmed stdout.
|
|
62
|
+
*
|
|
63
|
+
* Async by construction: these commands run against `mountPath`, which inside
|
|
64
|
+
* the agent container is the rclone FUSE mount. `execSync` there stops the
|
|
65
|
+
* event loop for the whole process, so a wedged mount took down every session
|
|
66
|
+
* rather than one operation.
|
|
67
|
+
*
|
|
68
|
+
* `killSignal: 'SIGKILL'` matters as much as the timeout it accompanies. A git
|
|
69
|
+
* child blocked on a dead FUSE connection sits in uninterruptible `D` state,
|
|
70
|
+
* where SIGTERM is never delivered — the default kill would let the timeout
|
|
71
|
+
* expire without ever reaping the child. The timeout bounds the healthy-but-slow
|
|
72
|
+
* case; SIGKILL is what makes it bite on the pathological one.
|
|
73
|
+
*/
|
|
74
|
+
export declare function runGit(args: string[], options: {
|
|
75
|
+
cwd?: string;
|
|
76
|
+
timeout: number;
|
|
77
|
+
env?: NodeJS.ProcessEnv;
|
|
78
|
+
/** Written to the child's stdin, which is then closed. */
|
|
79
|
+
input?: string;
|
|
80
|
+
maxBuffer?: number;
|
|
81
|
+
}): Promise<string>;
|
|
82
|
+
/**
|
|
83
|
+
* Run a git subcommand inside `cwd`.
|
|
84
|
+
*
|
|
85
|
+
* `args` is an argv array, never a shell string — there is no shell in the
|
|
86
|
+
* chain, so nothing is word-split, glob-expanded, or quote-stripped.
|
|
87
|
+
*/
|
|
88
|
+
export declare function git(args: string[], cwd: string, timeout?: number): Promise<string>;
|
|
89
|
+
/**
|
|
90
|
+
* The remote a network git command authenticates against. The repo passes its
|
|
91
|
+
* own `{ url, credentials }` as-is, so a rotated token is read at spawn time.
|
|
92
|
+
*/
|
|
93
|
+
export interface GitRemoteAuth {
|
|
94
|
+
url: string;
|
|
95
|
+
/** Absent for an anonymous remote. */
|
|
96
|
+
credentials?: Pick<GitCredentials, "token">;
|
|
97
|
+
/**
|
|
98
|
+
* Scope the header to this repository's URL instead of its host. For the
|
|
99
|
+
* agent's ops: a same-host `pushurl` / `insteadOf` the agent sets after the
|
|
100
|
+
* origin check then gets no header. Off for the driver's own commands, whose
|
|
101
|
+
* relative submodules on the same host need it.
|
|
102
|
+
*/
|
|
103
|
+
repoScoped?: boolean;
|
|
104
|
+
}
|
|
105
|
+
/** Username every forge accepts beside an access token; also what older drivers baked into `origin`. */
|
|
106
|
+
export declare const TOKEN_USERNAME = "x-access-token";
|
|
107
|
+
/**
|
|
108
|
+
* `auth.url` without userinfo when a token will authenticate it — the URL that
|
|
109
|
+
* goes into `origin`. Without a token the declared URL is used unchanged.
|
|
110
|
+
*/
|
|
111
|
+
export declare function plainRemoteUrl(auth: GitRemoteAuth): string;
|
|
112
|
+
/**
|
|
113
|
+
* Child environment for a network git command: the token as an
|
|
114
|
+
* `http.<origin>.extraHeader` through `GIT_CONFIG_COUNT`, so it reaches git
|
|
115
|
+
* without touching `.git/config`, a credentials file, or the argv (which
|
|
116
|
+
* `/proc/<pid>/cmdline` and git's own error messages expose).
|
|
117
|
+
*
|
|
118
|
+
* Scoped to scheme, host and port, not the repository path: a relative
|
|
119
|
+
* submodule on the same host needs it too, and git does not send it to a host
|
|
120
|
+
* that `origin` or an `insteadOf` rule was re-pointed at.
|
|
121
|
+
*/
|
|
122
|
+
export declare function networkGitEnv(auth: GitRemoteAuth | undefined, base?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
|
|
123
|
+
/**
|
|
124
|
+
* Run a git command that talks to a remote, authenticated for this one
|
|
125
|
+
* command only. Every clone, fetch, pull, push, ls-remote and submodule update
|
|
126
|
+
* of this driver goes through here.
|
|
127
|
+
*/
|
|
128
|
+
export declare function runRemoteGit(args: string[], auth: GitRemoteAuth | undefined, options: {
|
|
129
|
+
cwd?: string;
|
|
130
|
+
/**
|
|
131
|
+
* Child working directory for a command that names its remote by URL and
|
|
132
|
+
* must not run inside a repository. Unlike `cwd`, the TLS-trust scan does
|
|
133
|
+
* not treat it as a checkout.
|
|
134
|
+
*/
|
|
135
|
+
neutralCwd?: string;
|
|
136
|
+
safeDir: string;
|
|
137
|
+
timeout: number;
|
|
138
|
+
env?: NodeJS.ProcessEnv;
|
|
139
|
+
}): Promise<string>;
|
|
140
|
+
/** `stat`-based existence, where only ENOENT means "absent"; a deadline or other error throws. */
|
|
141
|
+
export declare function existsOrThrow(path: string): Promise<boolean>;
|
|
142
|
+
/** {@link git} for a command that talks to a remote — see {@link runRemoteGit}. */
|
|
143
|
+
export declare function gitRemote(args: string[], cwd: string, auth: GitRemoteAuth | undefined, timeout?: number): Promise<string>;
|
|
144
|
+
/**
|
|
145
|
+
* Best-effort existence probe, replacing `existsSync`.
|
|
146
|
+
*
|
|
147
|
+
* A deadline expiry and a genuine absence are deliberately collapsed into
|
|
148
|
+
* `false`: every caller here follows up with an idempotent operation (mkdir
|
|
149
|
+
* -p, a rename that is skipped, a fallback read), so "cannot tell" and "not
|
|
150
|
+
* there" lead to the same safe branch.
|
|
151
|
+
*/
|
|
152
|
+
export declare function pathExists(path: string): Promise<boolean>;
|
|
153
|
+
/**
|
|
154
|
+
* Conservative refname / SHA validator. Gates any externally-supplied ref
|
|
155
|
+
* before it reaches a `git` invocation. Accepts a subset of
|
|
156
|
+
* git-check-ref-format(1): forbids whitespace, shell metacharacters, control
|
|
157
|
+
* chars, leading `-` (so the value cannot be misread as a flag), `..`, `@{`,
|
|
158
|
+
* and a trailing `.lock`. Hex SHAs (40 chars) pass through.
|
|
159
|
+
*
|
|
160
|
+
* The shell is gone now that every invocation passes argv, so the
|
|
161
|
+
* metacharacter rejection is defence in depth rather than the only barrier.
|
|
162
|
+
* It stays: the leading-`-` rule still prevents argument-injection, and
|
|
163
|
+
* callers depend on the documented fall-back-to-base behaviour for a
|
|
164
|
+
* rejected ref.
|
|
165
|
+
*/
|
|
166
|
+
export declare function isValidGitRefOrSha(ref: string): boolean;
|
|
167
|
+
/** Run a git subcommand, returning trimmed stdout or `null` on any failure. */
|
|
168
|
+
export declare function gitOrNull(args: string[], cwd: string): Promise<string | null>;
|
|
169
|
+
/**
|
|
170
|
+
* An https remote without userinfo, query or fragment (as `origin` is written
|
|
171
|
+
* on either tier); any other URL unchanged. Used to compare remotes and as the
|
|
172
|
+
* repository scope of a header.
|
|
173
|
+
*/
|
|
174
|
+
export declare function comparableRemoteUrl(url: string): string;
|
|
175
|
+
/** Git's error text in English, whatever the host locale (the text goes through gettext). */
|
|
176
|
+
export declare function cLocaleEnv(): NodeJS.ProcessEnv;
|
|
177
|
+
//# sourceMappingURL=exec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../../../factory-assets/connectors/git/exec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIvD,uFAAuF;AACvF,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE9C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CAM/C;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAC9C,eAAO,MAAM,sBAAsB,iBAAiB,CAAC;AAErD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAE/C;AAoCD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAI5F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,MAAM,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAElF;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,WAAW,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC5C;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wGAAwG;AACxG,eAAO,MAAM,cAAc,mBAAmB,CAAC;AA6B/C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAM1D;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,aAAa,GAAG,SAAS,EAC/B,IAAI,GAAE,MAAM,CAAC,UAAwB,GACpC,MAAM,CAAC,UAAU,CAkBnB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,aAAa,GAAG,SAAS,EAC/B,OAAO,EAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GACA,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAyND,kGAAkG;AAClG,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQlE;AAED,mFAAmF;AACnF,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,aAAa,GAAG,SAAS,EAC/B,OAAO,SAAS,GACf,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEzD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAUvD;AAED,+EAA+E;AAC/E,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMnF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQvD;AAED,6FAA6F;AAC7F,wBAAgB,UAAU,IAAI,MAAM,CAAC,UAAU,CAE9C"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only questions about a git checkout: is a merge unfinished, how far is
|
|
3
|
+
* HEAD ahead of its upstream, is everything pushed. Nothing here writes the
|
|
4
|
+
* repository; every probe degrades to a safe answer instead of throwing.
|
|
5
|
+
*/
|
|
6
|
+
import type { ConnectorPushState, Logger } from "@skaile/workspaces/types";
|
|
7
|
+
import { type GitRemoteAuth } from "./exec.js";
|
|
8
|
+
/**
|
|
9
|
+
* Directory the platform reserves for its own session state *inside* the
|
|
10
|
+
* workspace: agent transcripts, the structured log DB, chat-file uploads,
|
|
11
|
+
* materialised assets, and credential material (`git-credentials`,
|
|
12
|
+
* `managed-gitconfig`, `gcp-sa.json`).
|
|
13
|
+
*
|
|
14
|
+
* In a remote runtime the workspace root is also the checkout root, so all of
|
|
15
|
+
* that sits inside the repository this driver commits and pushes to a
|
|
16
|
+
* user-owned remote. The platform does write a `.gitignore` covering part of
|
|
17
|
+
* it — onto the backend's own disk, a filesystem the agent never sees.
|
|
18
|
+
*
|
|
19
|
+
* Excluded as a whole directory rather than by listing its contents: that set
|
|
20
|
+
* is large, grows without this driver hearing about it, and an enumeration
|
|
21
|
+
* falling behind is the exact defect being fixed here.
|
|
22
|
+
*
|
|
23
|
+
* Anchored at the checkout root when written as a rule (`/.skaile/`). A
|
|
24
|
+
* trailing slash only makes a gitignore pattern directory-only — it does not
|
|
25
|
+
* anchor — so a bare `.skaile/` would also swallow a `examples/app/.skaile/`
|
|
26
|
+
* belonging to the user's project, silently and with `status` agreeing. Only
|
|
27
|
+
* the one directory the platform reserves at the workspace root is ours.
|
|
28
|
+
*/
|
|
29
|
+
export declare const SKAILE_INTERNAL_DIR = ".skaile";
|
|
30
|
+
/** A porcelain status path inside `SKAILE_INTERNAL_DIR` at the checkout root (git may quote it). */
|
|
31
|
+
export declare function isSkaileInternalPath(statusPath: string): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Why the checkout must not take a driver commit right now, or `null`.
|
|
34
|
+
*
|
|
35
|
+
* The driver commits with `add -A`, which stages conflict markers as content
|
|
36
|
+
* and, with `MERGE_HEAD` present, concludes the merge. Whoever left the state
|
|
37
|
+
* (the agent's own git, a failed driver step) must finish or abort it.
|
|
38
|
+
*/
|
|
39
|
+
export declare function unfinishedGitOperation(cwd: string): Promise<string | null>;
|
|
40
|
+
/** {@link unfinishedGitOperation}, logging the refusal. True when the commit must not run. */
|
|
41
|
+
export declare function refuseUnfinishedOperation(cwd: string, log: Logger): Promise<boolean>;
|
|
42
|
+
export declare function hasChanges(cwd: string): Promise<boolean>;
|
|
43
|
+
/**
|
|
44
|
+
* Parse `git rev-list --left-right --count <ref>...HEAD` into ahead/behind.
|
|
45
|
+
* Left count = commits only on `<ref>` (behind), right count = commits only on
|
|
46
|
+
* HEAD (ahead). Returns `{0,0}` when the ref is missing (e.g. no upstream).
|
|
47
|
+
*/
|
|
48
|
+
export declare function countAheadBehind(cwd: string, remoteRef: string): Promise<{
|
|
49
|
+
ahead: number;
|
|
50
|
+
behind: number;
|
|
51
|
+
}>;
|
|
52
|
+
/**
|
|
53
|
+
* The ref to measure `branch`'s ahead/behind against, or `null` when it has no
|
|
54
|
+
* upstream.
|
|
55
|
+
*
|
|
56
|
+
* `@{upstream}` resolves only when a fetch refspec of the remote maps
|
|
57
|
+
* `branch.<b>.merge` to a remote-tracking ref. A checkout that was cloned with
|
|
58
|
+
* `--single-branch` before the driver added the session-branch refspec can
|
|
59
|
+
* still hold `refs/remotes/<remote>/<b>` (from an explicit fetch) with no
|
|
60
|
+
* refspec that maps it, so `@{upstream}` fails although the upstream is known
|
|
61
|
+
* locally. Fall back to that ref in this case.
|
|
62
|
+
*/
|
|
63
|
+
export declare function resolveUpstreamRef(cwd: string, branch: string): Promise<string | null>;
|
|
64
|
+
/** True when `ancestor` is reachable from `descendant`. False also when a ref does not resolve. */
|
|
65
|
+
export declare function isAncestor(ancestor: string, descendant: string, cwd: string): Promise<boolean>;
|
|
66
|
+
/** The remote-tracking ref of `branch` on origin, or `null` when it is not known locally. */
|
|
67
|
+
export declare function originTrackingRef(branch: string, cwd: string): Promise<string | null>;
|
|
68
|
+
/**
|
|
69
|
+
* Snapshot returned by the `sync_status` tool op. JSON-serialised over the
|
|
70
|
+
* transport; the platform overlays `available`/`containerAwake`/`reason`
|
|
71
|
+
* before handing it to the UI badge.
|
|
72
|
+
*/
|
|
73
|
+
export interface GitSyncStatusResult {
|
|
74
|
+
/** Current branch name, or `null` (detached HEAD / unavailable). */
|
|
75
|
+
branch: string | null;
|
|
76
|
+
/** Working tree has uncommitted changes (`git status --porcelain` non-empty). */
|
|
77
|
+
dirty: boolean;
|
|
78
|
+
/** Commits on HEAD not on its upstream — i.e. unpushed. */
|
|
79
|
+
ahead: number;
|
|
80
|
+
/** Commits on the upstream not on HEAD — i.e. unpulled (since last fetch). */
|
|
81
|
+
behind: number;
|
|
82
|
+
/**
|
|
83
|
+
* Whether the current branch has a configured upstream. `false` ⇒ the branch
|
|
84
|
+
* has never been pushed; `ahead`/`behind` read as 0 (no remote-tracking ref
|
|
85
|
+
* to diff against), so this distinguishes "never pushed" from "synced".
|
|
86
|
+
*/
|
|
87
|
+
hasUpstream: boolean;
|
|
88
|
+
/** Commits on HEAD not on `origin/<baseBranch>` — diverged ahead of base. */
|
|
89
|
+
mainAhead: number;
|
|
90
|
+
/** Commits on `origin/<baseBranch>` not on HEAD — diverged behind base. */
|
|
91
|
+
mainBehind: number;
|
|
92
|
+
/** Current HEAD commit SHA, or `null` when unavailable. */
|
|
93
|
+
commitSha: string | null;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Read git sync status for an in-container checkout. Pure and never throws —
|
|
97
|
+
* every git call degrades to a safe default. No network fetch:
|
|
98
|
+
* ahead/behind reflect locally-known remote-tracking refs ("since last sync").
|
|
99
|
+
* `baseBranch` is the mount's tracked base (e.g. "main"); base divergence is
|
|
100
|
+
* measured against `origin/<baseBranch>`.
|
|
101
|
+
*
|
|
102
|
+
* Asynchronous since v3: every `git` call it makes runs against a path that may
|
|
103
|
+
* be a network mount, and the synchronous version blocked the event loop there.
|
|
104
|
+
*/
|
|
105
|
+
export declare function readGitSyncStatus(cwd: string, baseBranch: string): Promise<GitSyncStatusResult>;
|
|
106
|
+
/**
|
|
107
|
+
* True when `branch` exists as a local head in the checkout. Used to reuse a
|
|
108
|
+
* session branch a prior connect created but never pushed — `checkout -b` would
|
|
109
|
+
* otherwise abort with "already exists" and fail the connector. `branch` must
|
|
110
|
+
* already be refname-validated before it reaches this `git` call.
|
|
111
|
+
*/
|
|
112
|
+
export declare function localBranchExists(branch: string, cwd: string): Promise<boolean>;
|
|
113
|
+
/**
|
|
114
|
+
* What this checkout can prove after a hibernate save, for a host deciding
|
|
115
|
+
* whether deleting the workspace loses anything. Read-only: never fetches,
|
|
116
|
+
* pushes, or writes the repo. Every doubt answers in the "keep it" direction.
|
|
117
|
+
* `auth` is the mount's declared remote and credential, used for one `ls-remote`.
|
|
118
|
+
*/
|
|
119
|
+
export declare function readPushState(auth: GitRemoteAuth, cwd: string, log: Logger): Promise<ConnectorPushState>;
|
|
120
|
+
//# sourceMappingURL=inspect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../../../factory-assets/connectors/git/inspect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAE3E,OAAO,EAEL,KAAK,aAAa,EASnB,MAAM,WAAW,CAAC;AAEnB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C,oGAAoG;AACpG,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAGhE;AAWD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsBhF;AAED,8FAA8F;AAC9F,wBAAsB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK1F;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG9D;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAY5C;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAW5F;AAED,mGAAmG;AACnG,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,6FAA6F;AAC7F,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAG3F;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,oEAAoE;IACpE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iFAAiF;IACjF,KAAK,EAAE,OAAO,CAAC;IACf,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC,CA8B9B;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOrF;AA4DD;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,kBAAkB,CAAC,CA4B7B"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Git connector lifecycle - when the repo gets fetched, committed, pushed and
|
|
3
|
+
* reset: the periodic fetch tick, the idle auto-commit timer, hibernate, session
|
|
4
|
+
* close, and the refresh of a read-only reference checkout.
|
|
5
|
+
*
|
|
6
|
+
* Policy only. Every git operation it triggers is a {@link GitRepo} method; the
|
|
7
|
+
* timers' in-flight guards and the read-only save-owed flag are this module's own
|
|
8
|
+
* state. Timer bodies run under the repo's mount lock, so a tick never overlaps
|
|
9
|
+
* the agent's `push` / `pull` / `fetch` ops or `sync`.
|
|
10
|
+
*/
|
|
11
|
+
import type { ConnectorHookReport } from "@skaile/workspaces/connectors";
|
|
12
|
+
import type { Logger } from "@skaile/workspaces/types";
|
|
13
|
+
import type { GitLifecycleConfig, GitSyncConfig } from "./config.js";
|
|
14
|
+
import type { GitRepo } from "./repo.js";
|
|
15
|
+
/** Construction inputs of a {@link GitLifecycle}. */
|
|
16
|
+
export interface GitLifecycleInit {
|
|
17
|
+
repo: GitRepo;
|
|
18
|
+
sync: GitSyncConfig;
|
|
19
|
+
lifecycle: GitLifecycleConfig;
|
|
20
|
+
log: Logger;
|
|
21
|
+
}
|
|
22
|
+
/** One mount's schedule and hooks. Created per connect; {@link dispose}d on disconnect. */
|
|
23
|
+
export declare class GitLifecycle {
|
|
24
|
+
private readonly repo;
|
|
25
|
+
private readonly sync;
|
|
26
|
+
private readonly config;
|
|
27
|
+
private readonly log;
|
|
28
|
+
/** Periodic fetch timer. */
|
|
29
|
+
private fetchTimer?;
|
|
30
|
+
/** Auto-commit idle timer. */
|
|
31
|
+
private autoCommitTimer?;
|
|
32
|
+
/**
|
|
33
|
+
* True while a periodic-fetch tick is still running. Every tick awaits real
|
|
34
|
+
* git work, so a mount slow enough to outlast the interval would otherwise
|
|
35
|
+
* stack overlapping fetch/rebase/pull runs against the same checkout - each
|
|
36
|
+
* one contending for `.git/index.lock`, and each one holding another git
|
|
37
|
+
* child on the wedged mount.
|
|
38
|
+
*/
|
|
39
|
+
private fetchInFlight;
|
|
40
|
+
/** True while an auto-commit tick is still running. Same rationale as {@link fetchInFlight}. */
|
|
41
|
+
private autoCommitInFlight;
|
|
42
|
+
/**
|
|
43
|
+
* Read-only mount whose checkout may still hold work from read-write use:
|
|
44
|
+
* every discard (connect, sync, periodic tick) saves that work first, and
|
|
45
|
+
* the push block is set only after one succeeds. See {@link refreshReadOnly}.
|
|
46
|
+
*/
|
|
47
|
+
private saveOwed;
|
|
48
|
+
constructor(init: GitLifecycleInit);
|
|
49
|
+
/** True while the periodic fetch timer is armed. */
|
|
50
|
+
get fetchArmed(): boolean;
|
|
51
|
+
/** True while an idle auto-commit is scheduled. */
|
|
52
|
+
get autoCommitArmed(): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Start the mount's schedule once the checkout is open: a read-only mount is
|
|
55
|
+
* brought to origin's base branch first, then the periodic fetch timer arms.
|
|
56
|
+
* Last in connect on purpose: a failed connect returns no handle, so
|
|
57
|
+
* `disconnect` could never clear a timer started earlier.
|
|
58
|
+
*/
|
|
59
|
+
start(): Promise<void>;
|
|
60
|
+
/** Stop the schedule and the repo, so in-flight ticks drop their remaining work. */
|
|
61
|
+
dispose(): void;
|
|
62
|
+
/**
|
|
63
|
+
* Commit and push per the lifecycle config, then report what the checkout
|
|
64
|
+
* can prove afterwards (`pushState`) so the host can tell whether anything
|
|
65
|
+
* exists only on local disk. A push that throws still throws (no report).
|
|
66
|
+
*/
|
|
67
|
+
hibernate(): Promise<string | ConnectorHookReport>;
|
|
68
|
+
/** The commit/push half of {@link hibernate}; returns its detail line. Runs under the mount lock. */
|
|
69
|
+
private hibernateSave;
|
|
70
|
+
/**
|
|
71
|
+
* Hibernate with nothing new to commit: push commits that are still only
|
|
72
|
+
* local (the agent committed its own work, or an earlier push failed).
|
|
73
|
+
* Skipping it left the platform's hibernate save gate refusing to hibernate forever.
|
|
74
|
+
*/
|
|
75
|
+
private pushUnpushedOnHibernate;
|
|
76
|
+
/**
|
|
77
|
+
* Commit what is left, push the session branch and merge it into the base, per
|
|
78
|
+
* the lifecycle config. Returns what it did, one line per step.
|
|
79
|
+
*/
|
|
80
|
+
close(): Promise<string | undefined>;
|
|
81
|
+
/**
|
|
82
|
+
* Bring a read-only mount to origin's base branch tip and drop every local
|
|
83
|
+
* change (see {@link GitRepo.resetToBase}). Replaces the pull, so the rebase
|
|
84
|
+
* and merge-conflict paths never run.
|
|
85
|
+
*
|
|
86
|
+
* With `tolerateFetchFailure` (connect), an unreachable origin is logged and
|
|
87
|
+
* the checkout is reset to the last fetched `origin/<base>` instead, so a
|
|
88
|
+
* mount that was usable stays usable. With `skipWhenAtTarget` (periodic tick)
|
|
89
|
+
* a checkout already on origin's tip is left as it is. While the save is owed
|
|
90
|
+
* the work is saved first ({@link GitRepo.saveLocalWork}); when that fails
|
|
91
|
+
* nothing is discarded. The first reset after a save sets the push block. Runs
|
|
92
|
+
* under the mount lock. True when the checkout was reset.
|
|
93
|
+
*/
|
|
94
|
+
refreshReadOnly(opts: {
|
|
95
|
+
tolerateFetchFailure: boolean;
|
|
96
|
+
skipWhenAtTarget?: boolean;
|
|
97
|
+
}): Promise<boolean>;
|
|
98
|
+
private startPeriodicFetch;
|
|
99
|
+
/** One periodic-fetch tick, without the mount lock or the in-flight guard the timer adds. */
|
|
100
|
+
tick(): Promise<void>;
|
|
101
|
+
/**
|
|
102
|
+
* Note file activity: (re)start the idle window after which the changes are
|
|
103
|
+
* committed (and pushed, per `pushAfterCommit`). No-op when auto-commit is off.
|
|
104
|
+
*/
|
|
105
|
+
noteActivity(): void;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../../factory-assets/connectors/git/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,2FAA2F;AAC3F,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,4BAA4B;IAC5B,OAAO,CAAC,UAAU,CAAC,CAAiC;IACpD,8BAA8B;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAgC;IACxD;;;;;;OAMG;IACH,OAAO,CAAC,aAAa,CAAS;IAC9B,gGAAgG;IAChG,OAAO,CAAC,kBAAkB,CAAS;IACnC;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAS;gBAEb,IAAI,EAAE,gBAAgB;IAOlC,oDAAoD;IACpD,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,mDAAmD;IACnD,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5B,oFAAoF;IACpF,OAAO,IAAI,IAAI;IAcf;;;;OAIG;IACH,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,mBAAmB,CAAC;IASlD,qGAAqG;YACvF,aAAa;IAoB3B;;;;OAIG;YACW,uBAAuB;IAerC;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAoCpC;;;;;;;;;;;;OAYG;IACG,eAAe,CAAC,IAAI,EAAE;QAC1B,oBAAoB,EAAE,OAAO,CAAC;QAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,GAAG,OAAO,CAAC,OAAO,CAAC;IAwCpB,OAAO,CAAC,kBAAkB;IAqC1B,6FAA6F;IACvF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B;;;OAGG;IACH,YAAY,IAAI,IAAI;CAoCrB"}
|