@skaile/workspaces 0.45.0 → 0.47.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 +98 -0
- package/dist/{asset-feeds-AOZLZMDV.js → asset-feeds-DLRQWELS.js} +7 -7
- package/dist/{asset-feeds-AOZLZMDV.js.map → asset-feeds-DLRQWELS.js.map} +1 -1
- package/dist/asset-manager/index.js +7 -7
- package/dist/asset-manager/installer.js +6 -6
- package/dist/asset-manager/renderers.js +2 -2
- package/dist/asset-manager/src/index.d.ts.map +1 -1
- package/dist/{chunk-VPXV2Z5E.js → chunk-3VBQJZYL.js} +6 -6
- package/dist/chunk-3VBQJZYL.js.map +1 -0
- package/dist/{chunk-FYLIR4AV.js → chunk-4OCZBSBY.js} +5 -2
- package/dist/chunk-4OCZBSBY.js.map +1 -0
- package/dist/{chunk-CVWA4RIK.js → chunk-4VPRAG35.js} +5 -5
- package/dist/{chunk-CVWA4RIK.js.map → chunk-4VPRAG35.js.map} +1 -1
- package/dist/{chunk-RGPBEGP2.js → chunk-CU5Z7GH3.js} +6 -2
- package/dist/chunk-CU5Z7GH3.js.map +1 -0
- package/dist/{chunk-CBZEIFU4.js → chunk-DDR4OSSM.js} +3 -3
- package/dist/{chunk-CBZEIFU4.js.map → chunk-DDR4OSSM.js.map} +1 -1
- package/dist/{chunk-L6BKSTAX.js → chunk-DHU4LJZV.js} +16 -18
- package/dist/chunk-DHU4LJZV.js.map +1 -0
- package/dist/{chunk-PCXU2CVW.js → chunk-FAALG3QN.js} +4 -4
- package/dist/{chunk-PCXU2CVW.js.map → chunk-FAALG3QN.js.map} +1 -1
- package/dist/{chunk-BLGHFVXE.js → chunk-G3GODNHM.js} +66 -4
- package/dist/chunk-G3GODNHM.js.map +1 -0
- package/dist/{chunk-JUZGLINM.js → chunk-HETXFD2Q.js} +2 -2
- package/dist/{chunk-JUZGLINM.js.map → chunk-HETXFD2Q.js.map} +1 -1
- package/dist/{chunk-ETDXTGDF.js → chunk-HOEP5CJQ.js} +3 -3
- package/dist/{chunk-ETDXTGDF.js.map → chunk-HOEP5CJQ.js.map} +1 -1
- package/dist/{chunk-5FVJXQDP.js → chunk-JXHULIOA.js} +3 -3
- package/dist/{chunk-5FVJXQDP.js.map → chunk-JXHULIOA.js.map} +1 -1
- package/dist/{chunk-ZAEJ33Y6.js → chunk-LLOXWWB6.js} +5 -5
- package/dist/{chunk-ZAEJ33Y6.js.map → chunk-LLOXWWB6.js.map} +1 -1
- package/dist/{chunk-N2KV5RK3.js → chunk-ON5NSPB6.js} +8 -8
- package/dist/{chunk-N2KV5RK3.js.map → chunk-ON5NSPB6.js.map} +1 -1
- package/dist/{chunk-GM3BV6JK.js → chunk-P6HRQPXC.js} +2 -2
- package/dist/{chunk-GM3BV6JK.js.map → chunk-P6HRQPXC.js.map} +1 -1
- package/dist/{chunk-LHUCCPH4.js → chunk-THAJ4MOW.js} +5 -5
- package/dist/{chunk-LHUCCPH4.js.map → chunk-THAJ4MOW.js.map} +1 -1
- package/dist/{chunk-XUXVH3JK.js → chunk-WRBF34YE.js} +3 -3
- package/dist/{chunk-XUXVH3JK.js.map → chunk-WRBF34YE.js.map} +1 -1
- package/dist/{chunk-COSTF7QW.js → chunk-WTFJFW7F.js} +50 -12
- package/dist/chunk-WTFJFW7F.js.map +1 -0
- package/dist/{chunk-LMRO2QNF.js → chunk-XUUMKMMJ.js} +119 -6
- package/dist/chunk-XUUMKMMJ.js.map +1 -0
- package/dist/{chunk-XF2BBX6P.js → chunk-Z3ZRI2AE.js} +3 -3
- package/dist/{chunk-XF2BBX6P.js.map → chunk-Z3ZRI2AE.js.map} +1 -1
- package/dist/cli/index.js +128 -81
- 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.d.ts +2 -1
- package/dist/cli/src/commands/catalog.d.ts.map +1 -1
- package/dist/cli/src/commands/npx.d.ts.map +1 -1
- package/dist/cli/src/commands/project.d.ts.map +1 -1
- package/dist/cli/src/commands/source.d.ts +17 -4
- 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/ensure-sources.d.ts.map +1 -1
- package/dist/connectors/config.js +4 -4
- package/dist/connectors/index.js +6 -6
- package/dist/connectors/rclone.js +1 -1
- package/dist/connectors/src/rclone-process-manager.d.ts.map +1 -1
- package/dist/core/index.js +3 -3
- package/dist/core/runtime-assets.js +2 -2
- package/dist/core/src/conformance.d.ts +33 -0
- package/dist/core/src/conformance.d.ts.map +1 -0
- package/dist/core/src/index.d.ts +2 -1
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/repo-manager.d.ts +24 -0
- package/dist/core/src/repo-manager.d.ts.map +1 -1
- package/dist/core/src/runtime-assets.d.ts.map +1 -1
- package/dist/core/src/workspace-config.d.ts.map +1 -1
- package/dist/core/workspace-config.js +1 -1
- package/dist/deploy/index.js +3 -3
- package/dist/discovery/index.js +2 -2
- package/dist/{ensure-sources-NSDMTAWN.js → ensure-sources-KLCGXVE6.js} +12 -13
- package/dist/ensure-sources-KLCGXVE6.js.map +1 -0
- package/dist/factory-assets/connectors/deploy.js +6 -6
- package/dist/factory-assets/connectors/devserver.js +6 -6
- package/dist/factory-assets/connectors/flow/adapter.js +6 -6
- package/dist/factory-assets/connectors/flow/engine.js +3 -3
- package/dist/factory-assets/connectors/flow/run-flow.js +7 -7
- package/dist/factory-assets/connectors/flow.js +6 -6
- package/dist/factory-assets/connectors/git/CONNECTOR.md +8 -0
- package/dist/factory-assets/connectors/git/driver.d.ts +55 -1
- package/dist/factory-assets/connectors/git/driver.d.ts.map +1 -1
- package/dist/factory-assets/connectors/git.js +6 -6
- package/dist/factory-assets/connectors/gmail.js +6 -6
- package/dist/factory-assets/connectors/googledrive.js +6 -6
- package/dist/factory-assets/connectors/local.js +6 -6
- package/dist/factory-assets/connectors/mattermost.js +6 -6
- package/dist/factory-assets/connectors/memory.js +6 -6
- package/dist/factory-assets/connectors/minio.js +6 -6
- package/dist/factory-assets/connectors/postgres.js +6 -6
- package/dist/factory-assets/connectors/s3.js +6 -6
- package/dist/factory-assets/connectors/sharepoint.js +6 -6
- package/dist/factory-assets/connectors/sqlite.js +6 -6
- package/dist/factory-assets/connectors/static-server.js +6 -6
- package/dist/factory-assets/connectors/tunnel.js +6 -6
- package/dist/factory-assets/connectors/webdav.js +6 -6
- package/dist/factory-assets/connectors/xstate-store.js +6 -6
- package/dist/factory-assets/connectors/xstate.js +6 -6
- package/dist/{flows-WELXQ7IG.js → flows-PNDUCOJR.js} +3 -3
- package/dist/{flows-WELXQ7IG.js.map → flows-PNDUCOJR.js.map} +1 -1
- package/dist/library/index.js +6 -6
- package/dist/library/install.js +3 -3
- package/dist/{open-library-362BZ6OW.js → open-library-COHFCT4N.js} +9 -9
- package/dist/{open-library-362BZ6OW.js.map → open-library-COHFCT4N.js.map} +1 -1
- package/dist/{paths-4SSFMX5Z.js → paths-2SYXGTZJ.js} +6 -6
- package/dist/{paths-4SSFMX5Z.js.map → paths-2SYXGTZJ.js.map} +1 -1
- package/dist/{plugin-store-2X2YXJVG.js → plugin-store-UNENLB56.js} +5 -5
- package/dist/{plugin-store-2X2YXJVG.js.map → plugin-store-UNENLB56.js.map} +1 -1
- package/dist/runner/index.js +8 -8
- package/dist/sdk/asset-manager.js +7 -7
- package/dist/sdk/core.js +3 -3
- package/dist/sdk/flow.js +3 -3
- package/dist/sdk/index.js +8 -8
- package/dist/sdk/runner.js +8 -8
- package/dist/{setup-VGZTFQ32.js → setup-AYH6SR4U.js} +5 -5
- package/dist/{setup-VGZTFQ32.js.map → setup-AYH6SR4U.js.map} +1 -1
- package/dist/{store-client-XFZFKY3W.js → store-client-U4FMAIWX.js} +6 -6
- package/dist/{store-client-XFZFKY3W.js.map → store-client-U4FMAIWX.js.map} +1 -1
- package/dist/tui/index.js +8 -8
- package/dist/types/manifests.js +1 -1
- package/dist/types/src/manifests/skill.d.ts +1 -0
- package/dist/types/src/manifests/skill.d.ts.map +1 -1
- package/dist/workspace-plugin/adapters/mcp.js +1 -1
- package/dist/workspace-plugin/adapters/omp.js +3 -3
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-BLGHFVXE.js.map +0 -1
- package/dist/chunk-COSTF7QW.js.map +0 -1
- package/dist/chunk-FYLIR4AV.js.map +0 -1
- package/dist/chunk-L6BKSTAX.js.map +0 -1
- package/dist/chunk-LMRO2QNF.js.map +0 -1
- package/dist/chunk-RGPBEGP2.js.map +0 -1
- package/dist/chunk-VPXV2Z5E.js.map +0 -1
- package/dist/ensure-sources-NSDMTAWN.js.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { renderGoogleDriveConfig, renderOneDriveConfig, renderWebDAVConfig } from './chunk-OVRSNIKJ.js';
|
|
2
|
-
import { resolveAuthRef, resolveAuth, resolveMountCredentialString, resolveMountCredential } from './chunk-
|
|
3
|
-
import { PortPool, createFsWatcher, RcloneProcessManager, ensureDirMode } from './chunk-
|
|
2
|
+
import { resolveAuthRef, resolveAuth, resolveMountCredentialString, resolveMountCredential } from './chunk-DDR4OSSM.js';
|
|
3
|
+
import { PortPool, createFsWatcher, RcloneProcessManager, ensureDirMode } from './chunk-4OCZBSBY.js';
|
|
4
4
|
import { pluginRegistry } from './chunk-6E6PKKAD.js';
|
|
5
5
|
import { computeFlowStateFromSnapshots } from './chunk-X46FY45B.js';
|
|
6
6
|
import { renderStimulusPrompt } from './chunk-DEYYRFQU.js';
|
|
7
7
|
import { computeStimulus } from './chunk-IFGTRL2I.js';
|
|
8
|
-
import { portableSpawn } from './chunk-
|
|
8
|
+
import { portableSpawn } from './chunk-G3GODNHM.js';
|
|
9
9
|
import { createLogger } from './chunk-JB35MVBN.js';
|
|
10
10
|
import { existsSync, mkdirSync, renameSync, writeFileSync, readFileSync, cpSync, statSync, createReadStream, readdirSync, openSync, writeSync, closeSync, chmodSync } from 'fs';
|
|
11
11
|
import path2, { join, dirname, resolve, sep } from 'path';
|
|
@@ -814,6 +814,46 @@ function hasChanges(cwd) {
|
|
|
814
814
|
const status = git("status --porcelain", cwd);
|
|
815
815
|
return status.length > 0;
|
|
816
816
|
}
|
|
817
|
+
function gitOrNull(cmd, cwd) {
|
|
818
|
+
try {
|
|
819
|
+
return git(cmd, cwd);
|
|
820
|
+
} catch {
|
|
821
|
+
return null;
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
function countAheadBehind(cwd, remoteRef) {
|
|
825
|
+
const out = gitOrNull(`rev-list --left-right --count ${remoteRef}...HEAD`, cwd);
|
|
826
|
+
if (!out) {
|
|
827
|
+
return { ahead: 0, behind: 0 };
|
|
828
|
+
}
|
|
829
|
+
const parts = out.split(/\s+/);
|
|
830
|
+
const behind = Number.parseInt(parts[0] ?? "0", 10);
|
|
831
|
+
const ahead = Number.parseInt(parts[1] ?? "0", 10);
|
|
832
|
+
return {
|
|
833
|
+
ahead: Number.isFinite(ahead) ? ahead : 0,
|
|
834
|
+
behind: Number.isFinite(behind) ? behind : 0
|
|
835
|
+
};
|
|
836
|
+
}
|
|
837
|
+
function readGitSyncStatus(cwd, baseBranch) {
|
|
838
|
+
const branchRaw = gitOrNull("rev-parse --abbrev-ref HEAD", cwd);
|
|
839
|
+
const branch = branchRaw && branchRaw !== "HEAD" ? branchRaw : null;
|
|
840
|
+
const dirty = (gitOrNull("status --porcelain", cwd) ?? "") !== "";
|
|
841
|
+
const hasUpstream = branch !== null && gitOrNull("rev-parse --abbrev-ref @{upstream}", cwd) !== null;
|
|
842
|
+
const upstream = countAheadBehind(cwd, "@{upstream}");
|
|
843
|
+
const baseRef = isValidGitRefOrSha(baseBranch) ? `origin/${baseBranch}` : "origin/main";
|
|
844
|
+
const base = countAheadBehind(cwd, baseRef);
|
|
845
|
+
const commitSha = gitOrNull("rev-parse HEAD", cwd);
|
|
846
|
+
return {
|
|
847
|
+
branch,
|
|
848
|
+
dirty,
|
|
849
|
+
ahead: upstream.ahead,
|
|
850
|
+
behind: upstream.behind,
|
|
851
|
+
hasUpstream,
|
|
852
|
+
mainAhead: base.ahead,
|
|
853
|
+
mainBehind: base.behind,
|
|
854
|
+
commitSha
|
|
855
|
+
};
|
|
856
|
+
}
|
|
817
857
|
function localBranchExists(branch, cwd) {
|
|
818
858
|
try {
|
|
819
859
|
git(`rev-parse --verify --quiet refs/heads/${branch}`, cwd);
|
|
@@ -849,6 +889,35 @@ var GitConnector = class extends AbstractConnector {
|
|
|
849
889
|
return this._sync(handle, options);
|
|
850
890
|
}
|
|
851
891
|
};
|
|
892
|
+
tools = {
|
|
893
|
+
describeOperations: (handle) => this._describeOperations(handle),
|
|
894
|
+
executeOp: (handle, operation, args) => this._executeOp(handle, operation, args)
|
|
895
|
+
};
|
|
896
|
+
_describeOperations(_handle) {
|
|
897
|
+
return [
|
|
898
|
+
{
|
|
899
|
+
name: "sync_status",
|
|
900
|
+
description: "Report git sync status for this mount: current branch, dirty flag, ahead/behind vs the upstream, whether the branch has a configured upstream (never-pushed when false), and divergence vs the base branch. Read-only; performs no fetch.",
|
|
901
|
+
accessLevel: "read",
|
|
902
|
+
args: [],
|
|
903
|
+
examples: ["sync_status"]
|
|
904
|
+
}
|
|
905
|
+
];
|
|
906
|
+
}
|
|
907
|
+
async _executeOp(handle, operation, _args) {
|
|
908
|
+
switch (operation) {
|
|
909
|
+
case "sync_status": {
|
|
910
|
+
const cwd = handle.mountPath;
|
|
911
|
+
if (!cwd) {
|
|
912
|
+
throw new Error("git sync_status: mount path unavailable");
|
|
913
|
+
}
|
|
914
|
+
const state = handle.state;
|
|
915
|
+
return JSON.stringify(readGitSyncStatus(cwd, state.branch));
|
|
916
|
+
}
|
|
917
|
+
default:
|
|
918
|
+
throw new Error(`GitConnector has no operation: ${operation}`);
|
|
919
|
+
}
|
|
920
|
+
}
|
|
852
921
|
async connect(declaration, ctx) {
|
|
853
922
|
const targetDir = ctx.mountTarget;
|
|
854
923
|
if (!targetDir) {
|
|
@@ -902,6 +971,11 @@ var GitConnector = class extends AbstractConnector {
|
|
|
902
971
|
throw err;
|
|
903
972
|
}
|
|
904
973
|
}
|
|
974
|
+
if (state.managedGitconfig) {
|
|
975
|
+
this.stripRemoteInlineToken(targetDir);
|
|
976
|
+
} else {
|
|
977
|
+
this.rebakeRemoteAuth(targetDir, state);
|
|
978
|
+
}
|
|
905
979
|
this.log.info("mount ok", {
|
|
906
980
|
targetDir,
|
|
907
981
|
activeBranch: state.activeBranch,
|
|
@@ -1646,6 +1720,45 @@ var GitConnector = class extends AbstractConnector {
|
|
|
1646
1720
|
}
|
|
1647
1721
|
return s.url;
|
|
1648
1722
|
}
|
|
1723
|
+
/**
|
|
1724
|
+
* Rewrite `origin` to drop any inline `user:password@` credentials, leaving
|
|
1725
|
+
* a bare https(s) URL. Tier-2 only: the managed credential helper supplies
|
|
1726
|
+
* (and refreshes) the token, but git ignores helpers when the URL already
|
|
1727
|
+
* carries creds — so the baked-in token must go. Best-effort: a missing
|
|
1728
|
+
* origin or a non-http(s) remote (e.g. file:// in tests) is left untouched.
|
|
1729
|
+
*/
|
|
1730
|
+
stripRemoteInlineToken(targetDir) {
|
|
1731
|
+
try {
|
|
1732
|
+
const current = git("remote get-url origin", targetDir, 5e3);
|
|
1733
|
+
if (!current.startsWith("https://") && !current.startsWith("http://")) return;
|
|
1734
|
+
const u = new URL(current);
|
|
1735
|
+
if (!u.username && !u.password) return;
|
|
1736
|
+
u.username = "";
|
|
1737
|
+
u.password = "";
|
|
1738
|
+
git(`remote set-url origin ${u.toString()}`, targetDir, 5e3);
|
|
1739
|
+
} catch (err) {
|
|
1740
|
+
this.log.warn("managed-gitconfig: failed to strip inline token from origin", {
|
|
1741
|
+
error: err instanceof Error ? err.message : String(err)
|
|
1742
|
+
});
|
|
1743
|
+
}
|
|
1744
|
+
}
|
|
1745
|
+
/**
|
|
1746
|
+
* Tier-1 only: rewrite `origin` so it carries the token freshly minted on
|
|
1747
|
+
* this connect. The "use as-is" wake path leaves whatever token the first
|
|
1748
|
+
* connect baked in — long-dead for short-lived (GitHub App) tokens. Without
|
|
1749
|
+
* a Tier-2 helper this URL token is the sole credential, so it must be
|
|
1750
|
+
* refreshed here. No-op for anonymous (no token) or non-https remotes.
|
|
1751
|
+
*/
|
|
1752
|
+
rebakeRemoteAuth(targetDir, state) {
|
|
1753
|
+
if (!state.token || !state.url.startsWith("https://")) return;
|
|
1754
|
+
try {
|
|
1755
|
+
git(`remote set-url origin ${this.authUrl(state)}`, targetDir, 5e3);
|
|
1756
|
+
} catch (err) {
|
|
1757
|
+
this.log.warn("failed to refresh inline token on origin", {
|
|
1758
|
+
error: err instanceof Error ? err.message : String(err)
|
|
1759
|
+
});
|
|
1760
|
+
}
|
|
1761
|
+
}
|
|
1649
1762
|
// ── Periodic fetch ─────────────────────────────────────────────────────────
|
|
1650
1763
|
startPeriodicFetch(s, mountPath) {
|
|
1651
1764
|
if (s.fetchTimer) clearInterval(s.fetchTimer);
|
|
@@ -8652,6 +8765,6 @@ function createConnector() {
|
|
|
8652
8765
|
return new FlowAdapter();
|
|
8653
8766
|
}
|
|
8654
8767
|
|
|
8655
|
-
export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, ConnectorFieldMissingError, ConnectorManager, ConnectorStartupError, DEFAULT_REACTIVE_COOLDOWN_MS, DeployConnector, DevServerConnector, FleetHealthGate, FlowAdapter, GitConnector, GmailConnector, GoogleDriveConnector, LocalConnector, LogBuffer, ManagedGitconfigCollisionError, MattermostConnector, MemoryConnector, MinIOConnector, NOT_READY_SENTINEL, PROACTIVE_RCLONE_REFRESH_MARGIN_MS, PostgresConnector, RoMountPlaceholderBarrier, S3Connector, SQLiteConnector, SharePointConnector, StaticServerConnector, TunnelConnector, WebDAVConnector, XStateConnector, XStateStoreConnector, __test, atomicReplaceCredential, buildConnectorPromptSection, buildSdkConnectorTools, createConnector, createConnector10, createConnector11, createConnector12, createConnector13, createConnector14, createConnector15, createConnector16, createConnector17, createConnector18, createConnector19, createConnector2, createConnector3, createConnector4, createConnector5, createConnector6, createConnector7, createConnector8, createConnector9, createRcloneTokenRefresh, createWorktree, defaultMountPlaceholderBarrier, defaultSpawn, ensureFleetMounted, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, probeFleetHealth, registerBuiltinConnectors, removeMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock };
|
|
8656
|
-
//# sourceMappingURL=chunk-
|
|
8657
|
-
//# sourceMappingURL=chunk-
|
|
8768
|
+
export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, ConnectorFieldMissingError, ConnectorManager, ConnectorStartupError, DEFAULT_REACTIVE_COOLDOWN_MS, DeployConnector, DevServerConnector, FleetHealthGate, FlowAdapter, GitConnector, GmailConnector, GoogleDriveConnector, LocalConnector, LogBuffer, ManagedGitconfigCollisionError, MattermostConnector, MemoryConnector, MinIOConnector, NOT_READY_SENTINEL, PROACTIVE_RCLONE_REFRESH_MARGIN_MS, PostgresConnector, RoMountPlaceholderBarrier, S3Connector, SQLiteConnector, SharePointConnector, StaticServerConnector, TunnelConnector, WebDAVConnector, XStateConnector, XStateStoreConnector, __test, atomicReplaceCredential, buildConnectorPromptSection, buildSdkConnectorTools, createConnector, createConnector10, createConnector11, createConnector12, createConnector13, createConnector14, createConnector15, createConnector16, createConnector17, createConnector18, createConnector19, createConnector2, createConnector3, createConnector4, createConnector5, createConnector6, createConnector7, createConnector8, createConnector9, createRcloneTokenRefresh, createWorktree, defaultMountPlaceholderBarrier, defaultSpawn, ensureFleetMounted, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, probeFleetHealth, readGitSyncStatus, registerBuiltinConnectors, removeMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock };
|
|
8769
|
+
//# sourceMappingURL=chunk-XUUMKMMJ.js.map
|
|
8770
|
+
//# sourceMappingURL=chunk-XUUMKMMJ.js.map
|