wildcrane-runner 0.6.4 → 0.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -12
- package/dist/akb/bin/ai4kanban.mjs +2 -21
- package/dist/akb/dist/kanban.mjs +396 -651
- package/dist/akb/package.json +1 -1
- package/dist/launcher.mjs +6 -19
- package/dist/runner.mjs +690 -1005
- package/package.json +1 -1
package/dist/runner.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// wildcrane-runner 0.6.
|
|
1
|
+
// wildcrane-runner 0.6.6 — built by runner/scripts/build.mjs. Do not edit.
|
|
2
2
|
import { createRequire as __ai4kanbanRequire } from 'node:module'
|
|
3
3
|
const require = __ai4kanbanRequire(import.meta.url)
|
|
4
4
|
var __create = Object.create;
|
|
@@ -49,9 +49,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
49
49
|
mod
|
|
50
50
|
));
|
|
51
51
|
|
|
52
|
-
// node_modules/react/cjs/react.production.js
|
|
52
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react/cjs/react.production.js
|
|
53
53
|
var require_react_production = __commonJS({
|
|
54
|
-
"node_modules/react/cjs/react.production.js"(exports) {
|
|
54
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react/cjs/react.production.js"(exports) {
|
|
55
55
|
"use strict";
|
|
56
56
|
var REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for("react.transitional.element");
|
|
57
57
|
var REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for("react.portal");
|
|
@@ -501,9 +501,9 @@ var require_react_production = __commonJS({
|
|
|
501
501
|
}
|
|
502
502
|
});
|
|
503
503
|
|
|
504
|
-
// node_modules/react/cjs/react.development.js
|
|
504
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react/cjs/react.development.js
|
|
505
505
|
var require_react_development = __commonJS({
|
|
506
|
-
"node_modules/react/cjs/react.development.js"(exports, module) {
|
|
506
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react/cjs/react.development.js"(exports, module) {
|
|
507
507
|
"use strict";
|
|
508
508
|
"production" !== process.env.NODE_ENV && (function() {
|
|
509
509
|
function defineDeprecationWarning(methodName, info) {
|
|
@@ -1498,9 +1498,9 @@ var require_react_development = __commonJS({
|
|
|
1498
1498
|
}
|
|
1499
1499
|
});
|
|
1500
1500
|
|
|
1501
|
-
// node_modules/react/index.js
|
|
1501
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react/index.js
|
|
1502
1502
|
var require_react = __commonJS({
|
|
1503
|
-
"node_modules/react/index.js"(exports, module) {
|
|
1503
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react/index.js"(exports, module) {
|
|
1504
1504
|
"use strict";
|
|
1505
1505
|
if (process.env.NODE_ENV === "production") {
|
|
1506
1506
|
module.exports = require_react_production();
|
|
@@ -1510,9 +1510,9 @@ var require_react = __commonJS({
|
|
|
1510
1510
|
}
|
|
1511
1511
|
});
|
|
1512
1512
|
|
|
1513
|
-
// node_modules/react/cjs/react-jsx-runtime.production.js
|
|
1513
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react/cjs/react-jsx-runtime.production.js
|
|
1514
1514
|
var require_react_jsx_runtime_production = __commonJS({
|
|
1515
|
-
"node_modules/react/cjs/react-jsx-runtime.production.js"(exports) {
|
|
1515
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react/cjs/react-jsx-runtime.production.js"(exports) {
|
|
1516
1516
|
"use strict";
|
|
1517
1517
|
var REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for("react.transitional.element");
|
|
1518
1518
|
var REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for("react.fragment");
|
|
@@ -1540,9 +1540,9 @@ var require_react_jsx_runtime_production = __commonJS({
|
|
|
1540
1540
|
}
|
|
1541
1541
|
});
|
|
1542
1542
|
|
|
1543
|
-
// node_modules/react/cjs/react-jsx-runtime.development.js
|
|
1543
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react/cjs/react-jsx-runtime.development.js
|
|
1544
1544
|
var require_react_jsx_runtime_development = __commonJS({
|
|
1545
|
-
"node_modules/react/cjs/react-jsx-runtime.development.js"(exports) {
|
|
1545
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react/cjs/react-jsx-runtime.development.js"(exports) {
|
|
1546
1546
|
"use strict";
|
|
1547
1547
|
"production" !== process.env.NODE_ENV && (function() {
|
|
1548
1548
|
function getComponentNameFromType(type) {
|
|
@@ -1811,9 +1811,9 @@ var require_react_jsx_runtime_development = __commonJS({
|
|
|
1811
1811
|
}
|
|
1812
1812
|
});
|
|
1813
1813
|
|
|
1814
|
-
// node_modules/react/jsx-runtime.js
|
|
1814
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react/jsx-runtime.js
|
|
1815
1815
|
var require_jsx_runtime = __commonJS({
|
|
1816
|
-
"node_modules/react/jsx-runtime.js"(exports, module) {
|
|
1816
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react/jsx-runtime.js"(exports, module) {
|
|
1817
1817
|
"use strict";
|
|
1818
1818
|
if (process.env.NODE_ENV === "production") {
|
|
1819
1819
|
module.exports = require_react_jsx_runtime_production();
|
|
@@ -1823,9 +1823,9 @@ var require_jsx_runtime = __commonJS({
|
|
|
1823
1823
|
}
|
|
1824
1824
|
});
|
|
1825
1825
|
|
|
1826
|
-
// node_modules/react-dom/cjs/react-dom.production.js
|
|
1826
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react-dom/cjs/react-dom.production.js
|
|
1827
1827
|
var require_react_dom_production = __commonJS({
|
|
1828
|
-
"node_modules/react-dom/cjs/react-dom.production.js"(exports) {
|
|
1828
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react-dom/cjs/react-dom.production.js"(exports) {
|
|
1829
1829
|
"use strict";
|
|
1830
1830
|
var React4 = require_react();
|
|
1831
1831
|
function formatProdErrorMessage(code) {
|
|
@@ -1980,9 +1980,9 @@ var require_react_dom_production = __commonJS({
|
|
|
1980
1980
|
}
|
|
1981
1981
|
});
|
|
1982
1982
|
|
|
1983
|
-
// node_modules/react-dom/cjs/react-dom.development.js
|
|
1983
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react-dom/cjs/react-dom.development.js
|
|
1984
1984
|
var require_react_dom_development = __commonJS({
|
|
1985
|
-
"node_modules/react-dom/cjs/react-dom.development.js"(exports) {
|
|
1985
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react-dom/cjs/react-dom.development.js"(exports) {
|
|
1986
1986
|
"use strict";
|
|
1987
1987
|
"production" !== process.env.NODE_ENV && (function() {
|
|
1988
1988
|
function noop() {
|
|
@@ -2235,9 +2235,9 @@ var require_react_dom_development = __commonJS({
|
|
|
2235
2235
|
}
|
|
2236
2236
|
});
|
|
2237
2237
|
|
|
2238
|
-
// node_modules/react-dom/index.js
|
|
2238
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react-dom/index.js
|
|
2239
2239
|
var require_react_dom = __commonJS({
|
|
2240
|
-
"node_modules/react-dom/index.js"(exports, module) {
|
|
2240
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react-dom/index.js"(exports, module) {
|
|
2241
2241
|
"use strict";
|
|
2242
2242
|
function checkDCE() {
|
|
2243
2243
|
if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === "undefined" || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== "function") {
|
|
@@ -2261,9 +2261,9 @@ var require_react_dom = __commonJS({
|
|
|
2261
2261
|
}
|
|
2262
2262
|
});
|
|
2263
2263
|
|
|
2264
|
-
// node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js
|
|
2264
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js
|
|
2265
2265
|
var require_react_dom_server_legacy_node_production = __commonJS({
|
|
2266
|
-
"node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js"(exports) {
|
|
2266
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js"(exports) {
|
|
2267
2267
|
"use strict";
|
|
2268
2268
|
var React4 = require_react();
|
|
2269
2269
|
var ReactDOM = require_react_dom();
|
|
@@ -4382,15 +4382,15 @@ var require_react_dom_server_legacy_node_production = __commonJS({
|
|
|
4382
4382
|
childState.suspenseyImages && (parentState.suspenseyImages = true);
|
|
4383
4383
|
}
|
|
4384
4384
|
function createRenderState(resumableState, generateStaticMarkup) {
|
|
4385
|
-
var
|
|
4385
|
+
var idPrefix = resumableState.idPrefix, bootstrapChunks = [], bootstrapScriptContent = resumableState.bootstrapScriptContent, bootstrapScripts = resumableState.bootstrapScripts, bootstrapModules = resumableState.bootstrapModules;
|
|
4386
4386
|
void 0 !== bootstrapScriptContent && (bootstrapChunks.push("<script"), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(
|
|
4387
4387
|
">",
|
|
4388
4388
|
("" + bootstrapScriptContent).replace(scriptRegex, scriptReplacer),
|
|
4389
4389
|
"</script>"
|
|
4390
4390
|
));
|
|
4391
|
-
bootstrapScriptContent =
|
|
4392
|
-
var JSCompiler_object_inline_segmentPrefix_1724 =
|
|
4393
|
-
|
|
4391
|
+
bootstrapScriptContent = idPrefix + "P:";
|
|
4392
|
+
var JSCompiler_object_inline_segmentPrefix_1724 = idPrefix + "S:";
|
|
4393
|
+
idPrefix += "B:";
|
|
4394
4394
|
var JSCompiler_object_inline_preconnects_1738 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_fontPreloads_1739 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_highImagePreloads_1740 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_styles_1741 = /* @__PURE__ */ new Map(), JSCompiler_object_inline_bootstrapScripts_1742 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_scripts_1743 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_bulkPreloads_1744 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_preloads_1745 = {
|
|
4395
4395
|
images: /* @__PURE__ */ new Map(),
|
|
4396
4396
|
stylesheets: /* @__PURE__ */ new Map(),
|
|
@@ -4449,7 +4449,7 @@ var require_react_dom_server_legacy_node_production = __commonJS({
|
|
|
4449
4449
|
return {
|
|
4450
4450
|
placeholderPrefix: bootstrapScriptContent,
|
|
4451
4451
|
segmentPrefix: JSCompiler_object_inline_segmentPrefix_1724,
|
|
4452
|
-
boundaryPrefix:
|
|
4452
|
+
boundaryPrefix: idPrefix,
|
|
4453
4453
|
startInlineScript: "<script",
|
|
4454
4454
|
startInlineStyle: "<style",
|
|
4455
4455
|
preamble: { htmlChunks: null, headChunks: null, bodyChunks: null },
|
|
@@ -7512,9 +7512,9 @@ A.finished.finally(function(){document.__reactViewTransition===A&&(document.__re
|
|
|
7512
7512
|
}
|
|
7513
7513
|
});
|
|
7514
7514
|
|
|
7515
|
-
// node_modules/react-dom/cjs/react-dom-server.node.production.js
|
|
7515
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react-dom/cjs/react-dom-server.node.production.js
|
|
7516
7516
|
var require_react_dom_server_node_production = __commonJS({
|
|
7517
|
-
"node_modules/react-dom/cjs/react-dom-server.node.production.js"(exports) {
|
|
7517
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react-dom/cjs/react-dom-server.node.production.js"(exports) {
|
|
7518
7518
|
"use strict";
|
|
7519
7519
|
var util = __require("util");
|
|
7520
7520
|
var crypto6 = __require("crypto");
|
|
@@ -7804,7 +7804,7 @@ var require_react_dom_server_node_production = __commonJS({
|
|
|
7804
7804
|
'<script nonce="' + escapeTextForBrowser(externalRuntimeConfig) + '"'
|
|
7805
7805
|
), nonceStyle = "string" === typeof nonce ? void 0 : nonce && nonce.style, inlineStyleWithNonce = void 0 === nonceStyle ? startInlineStyle : stringToPrecomputedChunk(
|
|
7806
7806
|
'<style nonce="' + escapeTextForBrowser(nonceStyle) + '"'
|
|
7807
|
-
),
|
|
7807
|
+
), idPrefix = resumableState.idPrefix, bootstrapChunks = [], bootstrapScriptContent = resumableState.bootstrapScriptContent, bootstrapScripts = resumableState.bootstrapScripts, bootstrapModules = resumableState.bootstrapModules;
|
|
7808
7808
|
void 0 !== bootstrapScriptContent && (bootstrapChunks.push(inlineScriptWithNonce), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(
|
|
7809
7809
|
endOfStartTag,
|
|
7810
7810
|
("" + bootstrapScriptContent).replace(scriptRegex, scriptReplacer),
|
|
@@ -7825,9 +7825,9 @@ var require_react_dom_server_node_production = __commonJS({
|
|
|
7825
7825
|
remainingCapacity: 2 + ("number" === typeof maxHeadersLength ? maxHeadersLength : 2e3)
|
|
7826
7826
|
} : null;
|
|
7827
7827
|
onHeaders = {
|
|
7828
|
-
placeholderPrefix: stringToPrecomputedChunk(
|
|
7829
|
-
segmentPrefix: stringToPrecomputedChunk(
|
|
7830
|
-
boundaryPrefix: stringToPrecomputedChunk(
|
|
7828
|
+
placeholderPrefix: stringToPrecomputedChunk(idPrefix + "P:"),
|
|
7829
|
+
segmentPrefix: stringToPrecomputedChunk(idPrefix + "S:"),
|
|
7830
|
+
boundaryPrefix: stringToPrecomputedChunk(idPrefix + "B:"),
|
|
7831
7831
|
startInlineScript: inlineScriptWithNonce,
|
|
7832
7832
|
startInlineStyle: inlineStyleWithNonce,
|
|
7833
7833
|
preamble: createPreambleState(),
|
|
@@ -7865,12 +7865,12 @@ var require_react_dom_server_node_production = __commonJS({
|
|
|
7865
7865
|
};
|
|
7866
7866
|
if (void 0 !== bootstrapScripts)
|
|
7867
7867
|
for (importMap = 0; importMap < bootstrapScripts.length; importMap++)
|
|
7868
|
-
|
|
7868
|
+
idPrefix = bootstrapScripts[importMap], nonceStyle = inlineScriptWithNonce = void 0, inlineStyleWithNonce = {
|
|
7869
7869
|
rel: "preload",
|
|
7870
7870
|
as: "script",
|
|
7871
7871
|
fetchPriority: "low",
|
|
7872
7872
|
nonce
|
|
7873
|
-
}, "string" === typeof
|
|
7873
|
+
}, "string" === typeof idPrefix ? inlineStyleWithNonce.href = maxHeadersLength = idPrefix : (inlineStyleWithNonce.href = maxHeadersLength = idPrefix.src, inlineStyleWithNonce.integrity = nonceStyle = "string" === typeof idPrefix.integrity ? idPrefix.integrity : void 0, inlineStyleWithNonce.crossOrigin = inlineScriptWithNonce = "string" === typeof idPrefix || null == idPrefix.crossOrigin ? void 0 : "use-credentials" === idPrefix.crossOrigin ? "use-credentials" : ""), idPrefix = resumableState, bootstrapScriptContent = maxHeadersLength, idPrefix.scriptResources[bootstrapScriptContent] = null, idPrefix.moduleScriptResources[bootstrapScriptContent] = null, idPrefix = [], pushLinkImpl(idPrefix, inlineStyleWithNonce), onHeaders.bootstrapScripts.add(idPrefix), bootstrapChunks.push(
|
|
7874
7874
|
startScriptSrc,
|
|
7875
7875
|
escapeTextForBrowser(maxHeadersLength),
|
|
7876
7876
|
attributeEnd
|
|
@@ -13686,9 +13686,9 @@ A.finished.finally(function(){document.__reactViewTransition===A&&(document.__re
|
|
|
13686
13686
|
}
|
|
13687
13687
|
});
|
|
13688
13688
|
|
|
13689
|
-
// node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js
|
|
13689
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js
|
|
13690
13690
|
var require_react_dom_server_legacy_node_development = __commonJS({
|
|
13691
|
-
"node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js"(exports) {
|
|
13691
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js"(exports) {
|
|
13692
13692
|
"use strict";
|
|
13693
13693
|
"production" !== process.env.NODE_ENV && (function() {
|
|
13694
13694
|
function styleReplacer(match, prefix2, s, suffix2) {
|
|
@@ -16247,16 +16247,16 @@ var require_react_dom_server_legacy_node_development = __commonJS({
|
|
|
16247
16247
|
childState.suspenseyImages && (parentState.suspenseyImages = true);
|
|
16248
16248
|
}
|
|
16249
16249
|
function createRenderState(resumableState, generateStaticMarkup) {
|
|
16250
|
-
var
|
|
16250
|
+
var idPrefix = resumableState.idPrefix, bootstrapChunks = [], bootstrapScriptContent = resumableState.bootstrapScriptContent, bootstrapScripts = resumableState.bootstrapScripts, bootstrapModules = resumableState.bootstrapModules;
|
|
16251
16251
|
void 0 !== bootstrapScriptContent && (bootstrapChunks.push("<script"), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(
|
|
16252
16252
|
endOfStartTag,
|
|
16253
16253
|
escapeEntireInlineScriptContent(bootstrapScriptContent),
|
|
16254
16254
|
endInlineScript
|
|
16255
16255
|
));
|
|
16256
|
-
|
|
16257
|
-
placeholderPrefix:
|
|
16258
|
-
segmentPrefix:
|
|
16259
|
-
boundaryPrefix:
|
|
16256
|
+
idPrefix = {
|
|
16257
|
+
placeholderPrefix: idPrefix + "P:",
|
|
16258
|
+
segmentPrefix: idPrefix + "S:",
|
|
16259
|
+
boundaryPrefix: idPrefix + "B:",
|
|
16260
16260
|
startInlineScript: "<script",
|
|
16261
16261
|
startInlineStyle: "<style",
|
|
16262
16262
|
preamble: { htmlChunks: null, headChunks: null, bodyChunks: null },
|
|
@@ -16301,7 +16301,7 @@ var require_react_dom_server_legacy_node_development = __commonJS({
|
|
|
16301
16301
|
nonce: void 0
|
|
16302
16302
|
};
|
|
16303
16303
|
"string" === typeof scriptConfig ? props.href = src = scriptConfig : (props.href = src = scriptConfig.src, props.integrity = integrity = "string" === typeof scriptConfig.integrity ? scriptConfig.integrity : void 0, props.crossOrigin = crossOrigin = "string" === typeof scriptConfig || null == scriptConfig.crossOrigin ? void 0 : "use-credentials" === scriptConfig.crossOrigin ? "use-credentials" : "");
|
|
16304
|
-
preloadBootstrapScriptOrModule(resumableState,
|
|
16304
|
+
preloadBootstrapScriptOrModule(resumableState, idPrefix, src, props);
|
|
16305
16305
|
bootstrapChunks.push(
|
|
16306
16306
|
'<script src="',
|
|
16307
16307
|
escapeTextForBrowser(src),
|
|
@@ -16328,7 +16328,7 @@ var require_react_dom_server_legacy_node_development = __commonJS({
|
|
|
16328
16328
|
nonce: void 0
|
|
16329
16329
|
}, "string" === typeof bootstrapScriptContent ? integrity.href = scriptConfig = bootstrapScriptContent : (integrity.href = scriptConfig = bootstrapScriptContent.src, integrity.integrity = crossOrigin = "string" === typeof bootstrapScriptContent.integrity ? bootstrapScriptContent.integrity : void 0, integrity.crossOrigin = src = "string" === typeof bootstrapScriptContent || null == bootstrapScriptContent.crossOrigin ? void 0 : "use-credentials" === bootstrapScriptContent.crossOrigin ? "use-credentials" : ""), preloadBootstrapScriptOrModule(
|
|
16330
16330
|
resumableState,
|
|
16331
|
-
|
|
16331
|
+
idPrefix,
|
|
16332
16332
|
scriptConfig,
|
|
16333
16333
|
integrity
|
|
16334
16334
|
), bootstrapChunks.push(
|
|
@@ -16345,31 +16345,31 @@ var require_react_dom_server_legacy_node_development = __commonJS({
|
|
|
16345
16345
|
attributeEnd
|
|
16346
16346
|
), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(' async=""></script>');
|
|
16347
16347
|
return {
|
|
16348
|
-
placeholderPrefix:
|
|
16349
|
-
segmentPrefix:
|
|
16350
|
-
boundaryPrefix:
|
|
16351
|
-
startInlineScript:
|
|
16352
|
-
startInlineStyle:
|
|
16353
|
-
preamble:
|
|
16354
|
-
externalRuntimeScript:
|
|
16355
|
-
bootstrapChunks:
|
|
16356
|
-
importMapChunks:
|
|
16357
|
-
onHeaders:
|
|
16358
|
-
headers:
|
|
16359
|
-
resets:
|
|
16360
|
-
charsetChunks:
|
|
16361
|
-
viewportChunks:
|
|
16362
|
-
hoistableChunks:
|
|
16363
|
-
preconnects:
|
|
16364
|
-
fontPreloads:
|
|
16365
|
-
highImagePreloads:
|
|
16366
|
-
styles:
|
|
16367
|
-
bootstrapScripts:
|
|
16368
|
-
scripts:
|
|
16369
|
-
bulkPreloads:
|
|
16370
|
-
preloads:
|
|
16371
|
-
nonce:
|
|
16372
|
-
stylesToHoist:
|
|
16348
|
+
placeholderPrefix: idPrefix.placeholderPrefix,
|
|
16349
|
+
segmentPrefix: idPrefix.segmentPrefix,
|
|
16350
|
+
boundaryPrefix: idPrefix.boundaryPrefix,
|
|
16351
|
+
startInlineScript: idPrefix.startInlineScript,
|
|
16352
|
+
startInlineStyle: idPrefix.startInlineStyle,
|
|
16353
|
+
preamble: idPrefix.preamble,
|
|
16354
|
+
externalRuntimeScript: idPrefix.externalRuntimeScript,
|
|
16355
|
+
bootstrapChunks: idPrefix.bootstrapChunks,
|
|
16356
|
+
importMapChunks: idPrefix.importMapChunks,
|
|
16357
|
+
onHeaders: idPrefix.onHeaders,
|
|
16358
|
+
headers: idPrefix.headers,
|
|
16359
|
+
resets: idPrefix.resets,
|
|
16360
|
+
charsetChunks: idPrefix.charsetChunks,
|
|
16361
|
+
viewportChunks: idPrefix.viewportChunks,
|
|
16362
|
+
hoistableChunks: idPrefix.hoistableChunks,
|
|
16363
|
+
preconnects: idPrefix.preconnects,
|
|
16364
|
+
fontPreloads: idPrefix.fontPreloads,
|
|
16365
|
+
highImagePreloads: idPrefix.highImagePreloads,
|
|
16366
|
+
styles: idPrefix.styles,
|
|
16367
|
+
bootstrapScripts: idPrefix.bootstrapScripts,
|
|
16368
|
+
scripts: idPrefix.scripts,
|
|
16369
|
+
bulkPreloads: idPrefix.bulkPreloads,
|
|
16370
|
+
preloads: idPrefix.preloads,
|
|
16371
|
+
nonce: idPrefix.nonce,
|
|
16372
|
+
stylesToHoist: idPrefix.stylesToHoist,
|
|
16373
16373
|
generateStaticMarkup
|
|
16374
16374
|
};
|
|
16375
16375
|
}
|
|
@@ -21196,9 +21196,9 @@ A.finished.finally(function(){document.__reactViewTransition===A&&(document.__re
|
|
|
21196
21196
|
}
|
|
21197
21197
|
});
|
|
21198
21198
|
|
|
21199
|
-
// node_modules/react-dom/cjs/react-dom-server.node.development.js
|
|
21199
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react-dom/cjs/react-dom-server.node.development.js
|
|
21200
21200
|
var require_react_dom_server_node_development = __commonJS({
|
|
21201
|
-
"node_modules/react-dom/cjs/react-dom-server.node.development.js"(exports) {
|
|
21201
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react-dom/cjs/react-dom-server.node.development.js"(exports) {
|
|
21202
21202
|
"use strict";
|
|
21203
21203
|
"production" !== process.env.NODE_ENV && (function() {
|
|
21204
21204
|
function styleReplacer(match, prefix2, s, suffix2) {
|
|
@@ -21749,7 +21749,7 @@ var require_react_dom_server_node_development = __commonJS({
|
|
|
21749
21749
|
'<script nonce="' + escapeTextForBrowser(externalRuntimeConfig) + '"'
|
|
21750
21750
|
), nonceStyle = "string" === typeof nonce ? void 0 : nonce && nonce.style, inlineStyleWithNonce = void 0 === nonceStyle ? startInlineStyle : stringToPrecomputedChunk(
|
|
21751
21751
|
'<style nonce="' + escapeTextForBrowser(nonceStyle) + '"'
|
|
21752
|
-
),
|
|
21752
|
+
), idPrefix = resumableState.idPrefix, bootstrapChunks = [], bootstrapScriptContent = resumableState.bootstrapScriptContent, bootstrapScripts = resumableState.bootstrapScripts, bootstrapModules = resumableState.bootstrapModules;
|
|
21753
21753
|
void 0 !== bootstrapScriptContent && (bootstrapChunks.push(inlineScriptWithNonce), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(
|
|
21754
21754
|
endOfStartTag,
|
|
21755
21755
|
escapeEntireInlineScriptContent(bootstrapScriptContent),
|
|
@@ -21774,9 +21774,9 @@ var require_react_dom_server_node_development = __commonJS({
|
|
|
21774
21774
|
remainingCapacity: 2 + ("number" === typeof maxHeadersLength ? maxHeadersLength : 2e3)
|
|
21775
21775
|
} : null;
|
|
21776
21776
|
onHeaders = {
|
|
21777
|
-
placeholderPrefix: stringToPrecomputedChunk(
|
|
21778
|
-
segmentPrefix: stringToPrecomputedChunk(
|
|
21779
|
-
boundaryPrefix: stringToPrecomputedChunk(
|
|
21777
|
+
placeholderPrefix: stringToPrecomputedChunk(idPrefix + "P:"),
|
|
21778
|
+
segmentPrefix: stringToPrecomputedChunk(idPrefix + "S:"),
|
|
21779
|
+
boundaryPrefix: stringToPrecomputedChunk(idPrefix + "B:"),
|
|
21780
21780
|
startInlineScript: inlineScriptWithNonce,
|
|
21781
21781
|
startInlineStyle: inlineStyleWithNonce,
|
|
21782
21782
|
preamble: createPreambleState(),
|
|
@@ -21814,16 +21814,16 @@ var require_react_dom_server_node_development = __commonJS({
|
|
|
21814
21814
|
};
|
|
21815
21815
|
if (void 0 !== bootstrapScripts)
|
|
21816
21816
|
for (importMap = 0; importMap < bootstrapScripts.length; importMap++)
|
|
21817
|
-
maxHeadersLength = bootstrapScripts[importMap], inlineStyleWithNonce = nonceStyle = void 0,
|
|
21817
|
+
maxHeadersLength = bootstrapScripts[importMap], inlineStyleWithNonce = nonceStyle = void 0, idPrefix = {
|
|
21818
21818
|
rel: "preload",
|
|
21819
21819
|
as: "script",
|
|
21820
21820
|
fetchPriority: "low",
|
|
21821
21821
|
nonce
|
|
21822
|
-
}, "string" === typeof maxHeadersLength ?
|
|
21822
|
+
}, "string" === typeof maxHeadersLength ? idPrefix.href = inlineScriptWithNonce = maxHeadersLength : (idPrefix.href = inlineScriptWithNonce = maxHeadersLength.src, idPrefix.integrity = inlineStyleWithNonce = "string" === typeof maxHeadersLength.integrity ? maxHeadersLength.integrity : void 0, idPrefix.crossOrigin = nonceStyle = "string" === typeof maxHeadersLength || null == maxHeadersLength.crossOrigin ? void 0 : "use-credentials" === maxHeadersLength.crossOrigin ? "use-credentials" : ""), preloadBootstrapScriptOrModule(
|
|
21823
21823
|
resumableState,
|
|
21824
21824
|
onHeaders,
|
|
21825
21825
|
inlineScriptWithNonce,
|
|
21826
|
-
|
|
21826
|
+
idPrefix
|
|
21827
21827
|
), bootstrapChunks.push(
|
|
21828
21828
|
startScriptSrc,
|
|
21829
21829
|
escapeTextForBrowser(inlineScriptWithNonce),
|
|
@@ -29495,9 +29495,9 @@ A.finished.finally(function(){document.__reactViewTransition===A&&(document.__re
|
|
|
29495
29495
|
}
|
|
29496
29496
|
});
|
|
29497
29497
|
|
|
29498
|
-
// node_modules/react-dom/server.node.js
|
|
29498
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react-dom/server.node.js
|
|
29499
29499
|
var require_server_node = __commonJS({
|
|
29500
|
-
"node_modules/react-dom/server.node.js"(exports) {
|
|
29500
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react-dom/server.node.js"(exports) {
|
|
29501
29501
|
"use strict";
|
|
29502
29502
|
var l2;
|
|
29503
29503
|
var s;
|
|
@@ -29518,9 +29518,9 @@ var require_server_node = __commonJS({
|
|
|
29518
29518
|
}
|
|
29519
29519
|
});
|
|
29520
29520
|
|
|
29521
|
-
// node_modules/sucrase/dist/parser/tokenizer/keywords.js
|
|
29521
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/tokenizer/keywords.js
|
|
29522
29522
|
var require_keywords = __commonJS({
|
|
29523
|
-
"node_modules/sucrase/dist/parser/tokenizer/keywords.js"(exports) {
|
|
29523
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/tokenizer/keywords.js"(exports) {
|
|
29524
29524
|
"use strict";
|
|
29525
29525
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29526
29526
|
var ContextualKeyword;
|
|
@@ -29611,9 +29611,9 @@ var require_keywords = __commonJS({
|
|
|
29611
29611
|
}
|
|
29612
29612
|
});
|
|
29613
29613
|
|
|
29614
|
-
// node_modules/sucrase/dist/parser/tokenizer/types.js
|
|
29614
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/tokenizer/types.js
|
|
29615
29615
|
var require_types = __commonJS({
|
|
29616
|
-
"node_modules/sucrase/dist/parser/tokenizer/types.js"(exports) {
|
|
29616
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/tokenizer/types.js"(exports) {
|
|
29617
29617
|
"use strict";
|
|
29618
29618
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29619
29619
|
var TokenType;
|
|
@@ -30095,9 +30095,9 @@ var require_types = __commonJS({
|
|
|
30095
30095
|
}
|
|
30096
30096
|
});
|
|
30097
30097
|
|
|
30098
|
-
// node_modules/sucrase/dist/parser/tokenizer/state.js
|
|
30098
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/tokenizer/state.js
|
|
30099
30099
|
var require_state = __commonJS({
|
|
30100
|
-
"node_modules/sucrase/dist/parser/tokenizer/state.js"(exports) {
|
|
30100
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/tokenizer/state.js"(exports) {
|
|
30101
30101
|
"use strict";
|
|
30102
30102
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30103
30103
|
var _keywords = require_keywords();
|
|
@@ -30236,9 +30236,9 @@ var require_state = __commonJS({
|
|
|
30236
30236
|
}
|
|
30237
30237
|
});
|
|
30238
30238
|
|
|
30239
|
-
// node_modules/sucrase/dist/parser/util/charcodes.js
|
|
30239
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/util/charcodes.js
|
|
30240
30240
|
var require_charcodes = __commonJS({
|
|
30241
|
-
"node_modules/sucrase/dist/parser/util/charcodes.js"(exports) {
|
|
30241
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/util/charcodes.js"(exports) {
|
|
30242
30242
|
"use strict";
|
|
30243
30243
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30244
30244
|
var charCodes;
|
|
@@ -30459,9 +30459,9 @@ var require_charcodes = __commonJS({
|
|
|
30459
30459
|
}
|
|
30460
30460
|
});
|
|
30461
30461
|
|
|
30462
|
-
// node_modules/sucrase/dist/parser/traverser/base.js
|
|
30462
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/traverser/base.js
|
|
30463
30463
|
var require_base = __commonJS({
|
|
30464
|
-
"node_modules/sucrase/dist/parser/traverser/base.js"(exports) {
|
|
30464
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/traverser/base.js"(exports) {
|
|
30465
30465
|
"use strict";
|
|
30466
30466
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30467
30467
|
function _interopRequireDefault(obj3) {
|
|
@@ -30522,9 +30522,9 @@ var require_base = __commonJS({
|
|
|
30522
30522
|
}
|
|
30523
30523
|
});
|
|
30524
30524
|
|
|
30525
|
-
// node_modules/sucrase/dist/parser/traverser/util.js
|
|
30525
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/traverser/util.js
|
|
30526
30526
|
var require_util = __commonJS({
|
|
30527
|
-
"node_modules/sucrase/dist/parser/traverser/util.js"(exports) {
|
|
30527
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/traverser/util.js"(exports) {
|
|
30528
30528
|
"use strict";
|
|
30529
30529
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30530
30530
|
var _index = require_tokenizer();
|
|
@@ -30608,9 +30608,9 @@ var require_util = __commonJS({
|
|
|
30608
30608
|
}
|
|
30609
30609
|
});
|
|
30610
30610
|
|
|
30611
|
-
// node_modules/sucrase/dist/parser/util/whitespace.js
|
|
30611
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/util/whitespace.js
|
|
30612
30612
|
var require_whitespace = __commonJS({
|
|
30613
|
-
"node_modules/sucrase/dist/parser/util/whitespace.js"(exports) {
|
|
30613
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/util/whitespace.js"(exports) {
|
|
30614
30614
|
"use strict";
|
|
30615
30615
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30616
30616
|
var _charcodes = require_charcodes();
|
|
@@ -30663,9 +30663,9 @@ var require_whitespace = __commonJS({
|
|
|
30663
30663
|
}
|
|
30664
30664
|
});
|
|
30665
30665
|
|
|
30666
|
-
// node_modules/sucrase/dist/parser/util/identifier.js
|
|
30666
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/util/identifier.js
|
|
30667
30667
|
var require_identifier = __commonJS({
|
|
30668
|
-
"node_modules/sucrase/dist/parser/util/identifier.js"(exports) {
|
|
30668
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/util/identifier.js"(exports) {
|
|
30669
30669
|
"use strict";
|
|
30670
30670
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30671
30671
|
var _charcodes = require_charcodes();
|
|
@@ -30701,9 +30701,9 @@ var require_identifier = __commonJS({
|
|
|
30701
30701
|
}
|
|
30702
30702
|
});
|
|
30703
30703
|
|
|
30704
|
-
// node_modules/sucrase/dist/parser/tokenizer/readWordTree.js
|
|
30704
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/tokenizer/readWordTree.js
|
|
30705
30705
|
var require_readWordTree = __commonJS({
|
|
30706
|
-
"node_modules/sucrase/dist/parser/tokenizer/readWordTree.js"(exports) {
|
|
30706
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/tokenizer/readWordTree.js"(exports) {
|
|
30707
30707
|
"use strict";
|
|
30708
30708
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30709
30709
|
var _keywords = require_keywords();
|
|
@@ -40010,9 +40010,9 @@ var require_readWordTree = __commonJS({
|
|
|
40010
40010
|
}
|
|
40011
40011
|
});
|
|
40012
40012
|
|
|
40013
|
-
// node_modules/sucrase/dist/parser/tokenizer/readWord.js
|
|
40013
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/tokenizer/readWord.js
|
|
40014
40014
|
var require_readWord = __commonJS({
|
|
40015
|
-
"node_modules/sucrase/dist/parser/tokenizer/readWord.js"(exports) {
|
|
40015
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/tokenizer/readWord.js"(exports) {
|
|
40016
40016
|
"use strict";
|
|
40017
40017
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40018
40018
|
var _base = require_base();
|
|
@@ -40073,9 +40073,9 @@ var require_readWord = __commonJS({
|
|
|
40073
40073
|
}
|
|
40074
40074
|
});
|
|
40075
40075
|
|
|
40076
|
-
// node_modules/sucrase/dist/parser/tokenizer/index.js
|
|
40076
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/tokenizer/index.js
|
|
40077
40077
|
var require_tokenizer = __commonJS({
|
|
40078
|
-
"node_modules/sucrase/dist/parser/tokenizer/index.js"(exports) {
|
|
40078
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/tokenizer/index.js"(exports) {
|
|
40079
40079
|
"use strict";
|
|
40080
40080
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40081
40081
|
function _interopRequireDefault(obj3) {
|
|
@@ -40827,9 +40827,9 @@ var require_tokenizer = __commonJS({
|
|
|
40827
40827
|
}
|
|
40828
40828
|
});
|
|
40829
40829
|
|
|
40830
|
-
// node_modules/sucrase/dist/util/getImportExportSpecifierInfo.js
|
|
40830
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/getImportExportSpecifierInfo.js
|
|
40831
40831
|
var require_getImportExportSpecifierInfo = __commonJS({
|
|
40832
|
-
"node_modules/sucrase/dist/util/getImportExportSpecifierInfo.js"(exports) {
|
|
40832
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/getImportExportSpecifierInfo.js"(exports) {
|
|
40833
40833
|
"use strict";
|
|
40834
40834
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40835
40835
|
var _types = require_types();
|
|
@@ -40881,9 +40881,9 @@ var require_getImportExportSpecifierInfo = __commonJS({
|
|
|
40881
40881
|
}
|
|
40882
40882
|
});
|
|
40883
40883
|
|
|
40884
|
-
// node_modules/sucrase/dist/parser/plugins/jsx/xhtml.js
|
|
40884
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/plugins/jsx/xhtml.js
|
|
40885
40885
|
var require_xhtml = __commonJS({
|
|
40886
|
-
"node_modules/sucrase/dist/parser/plugins/jsx/xhtml.js"(exports) {
|
|
40886
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/plugins/jsx/xhtml.js"(exports) {
|
|
40887
40887
|
"use strict";
|
|
40888
40888
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40889
40889
|
exports.default = /* @__PURE__ */ new Map([
|
|
@@ -41144,9 +41144,9 @@ var require_xhtml = __commonJS({
|
|
|
41144
41144
|
}
|
|
41145
41145
|
});
|
|
41146
41146
|
|
|
41147
|
-
// node_modules/sucrase/dist/util/getJSXPragmaInfo.js
|
|
41147
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/getJSXPragmaInfo.js
|
|
41148
41148
|
var require_getJSXPragmaInfo = __commonJS({
|
|
41149
|
-
"node_modules/sucrase/dist/util/getJSXPragmaInfo.js"(exports) {
|
|
41149
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/getJSXPragmaInfo.js"(exports) {
|
|
41150
41150
|
"use strict";
|
|
41151
41151
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41152
41152
|
function getJSXPragmaInfo(options) {
|
|
@@ -41165,9 +41165,9 @@ var require_getJSXPragmaInfo = __commonJS({
|
|
|
41165
41165
|
}
|
|
41166
41166
|
});
|
|
41167
41167
|
|
|
41168
|
-
// node_modules/sucrase/dist/transformers/Transformer.js
|
|
41168
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/Transformer.js
|
|
41169
41169
|
var require_Transformer = __commonJS({
|
|
41170
|
-
"node_modules/sucrase/dist/transformers/Transformer.js"(exports) {
|
|
41170
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/Transformer.js"(exports) {
|
|
41171
41171
|
"use strict";
|
|
41172
41172
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41173
41173
|
var Transformer = class {
|
|
@@ -41186,9 +41186,9 @@ var require_Transformer = __commonJS({
|
|
|
41186
41186
|
}
|
|
41187
41187
|
});
|
|
41188
41188
|
|
|
41189
|
-
// node_modules/sucrase/dist/transformers/JSXTransformer.js
|
|
41189
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/JSXTransformer.js
|
|
41190
41190
|
var require_JSXTransformer = __commonJS({
|
|
41191
|
-
"node_modules/sucrase/dist/transformers/JSXTransformer.js"(exports) {
|
|
41191
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/JSXTransformer.js"(exports) {
|
|
41192
41192
|
"use strict";
|
|
41193
41193
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41194
41194
|
function _interopRequireDefault(obj3) {
|
|
@@ -41256,8 +41256,8 @@ var require_JSXTransformer = __commonJS({
|
|
|
41256
41256
|
}
|
|
41257
41257
|
if (this.isAutomaticRuntime) {
|
|
41258
41258
|
if (this.importProcessor) {
|
|
41259
|
-
for (const [
|
|
41260
|
-
prefix += `var ${resolvedName} = require("${
|
|
41259
|
+
for (const [path33, resolvedName] of Object.entries(this.cjsAutomaticModuleNameResolutions)) {
|
|
41260
|
+
prefix += `var ${resolvedName} = require("${path33}");`;
|
|
41261
41261
|
}
|
|
41262
41262
|
} else {
|
|
41263
41263
|
const { createElement: createElementResolution, ...otherResolutions } = this.esmAutomaticImportNameResolutions;
|
|
@@ -41450,11 +41450,11 @@ var require_JSXTransformer = __commonJS({
|
|
|
41450
41450
|
}
|
|
41451
41451
|
claimAutoImportedName(funcName, importPathSuffix) {
|
|
41452
41452
|
if (this.importProcessor) {
|
|
41453
|
-
const
|
|
41454
|
-
if (!this.cjsAutomaticModuleNameResolutions[
|
|
41455
|
-
this.cjsAutomaticModuleNameResolutions[
|
|
41453
|
+
const path33 = this.jsxImportSource + importPathSuffix;
|
|
41454
|
+
if (!this.cjsAutomaticModuleNameResolutions[path33]) {
|
|
41455
|
+
this.cjsAutomaticModuleNameResolutions[path33] = this.importProcessor.getFreeIdentifierForPath(path33);
|
|
41456
41456
|
}
|
|
41457
|
-
return `${this.cjsAutomaticModuleNameResolutions[
|
|
41457
|
+
return `${this.cjsAutomaticModuleNameResolutions[path33]}.${funcName}`;
|
|
41458
41458
|
} else {
|
|
41459
41459
|
if (!this.esmAutomaticImportNameResolutions[funcName]) {
|
|
41460
41460
|
this.esmAutomaticImportNameResolutions[funcName] = this.nameManager.claimFreeName(
|
|
@@ -41787,9 +41787,9 @@ var require_JSXTransformer = __commonJS({
|
|
|
41787
41787
|
}
|
|
41788
41788
|
});
|
|
41789
41789
|
|
|
41790
|
-
// node_modules/sucrase/dist/util/getNonTypeIdentifiers.js
|
|
41790
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/getNonTypeIdentifiers.js
|
|
41791
41791
|
var require_getNonTypeIdentifiers = __commonJS({
|
|
41792
|
-
"node_modules/sucrase/dist/util/getNonTypeIdentifiers.js"(exports) {
|
|
41792
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/getNonTypeIdentifiers.js"(exports) {
|
|
41793
41793
|
"use strict";
|
|
41794
41794
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41795
41795
|
function _interopRequireDefault(obj3) {
|
|
@@ -41828,9 +41828,9 @@ var require_getNonTypeIdentifiers = __commonJS({
|
|
|
41828
41828
|
}
|
|
41829
41829
|
});
|
|
41830
41830
|
|
|
41831
|
-
// node_modules/sucrase/dist/CJSImportProcessor.js
|
|
41831
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/CJSImportProcessor.js
|
|
41832
41832
|
var require_CJSImportProcessor = __commonJS({
|
|
41833
|
-
"node_modules/sucrase/dist/CJSImportProcessor.js"(exports) {
|
|
41833
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/CJSImportProcessor.js"(exports) {
|
|
41834
41834
|
"use strict";
|
|
41835
41835
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41836
41836
|
function _interopRequireDefault(obj3) {
|
|
@@ -41890,7 +41890,7 @@ var require_CJSImportProcessor = __commonJS({
|
|
|
41890
41890
|
*/
|
|
41891
41891
|
pruneTypeOnlyImports() {
|
|
41892
41892
|
this.nonTypeIdentifiers = _getNonTypeIdentifiers.getNonTypeIdentifiers.call(void 0, this.tokens, this.options);
|
|
41893
|
-
for (const [
|
|
41893
|
+
for (const [path33, importInfo] of this.importInfoByPath.entries()) {
|
|
41894
41894
|
if (importInfo.hasBareImport || importInfo.hasStarExport || importInfo.exportStarNames.length > 0 || importInfo.namedExports.length > 0) {
|
|
41895
41895
|
continue;
|
|
41896
41896
|
}
|
|
@@ -41900,7 +41900,7 @@ var require_CJSImportProcessor = __commonJS({
|
|
|
41900
41900
|
...importInfo.namedImports.map(({ localName }) => localName)
|
|
41901
41901
|
];
|
|
41902
41902
|
if (names2.every((name) => this.shouldAutomaticallyElideImportedName(name))) {
|
|
41903
|
-
this.importsToReplace.set(
|
|
41903
|
+
this.importsToReplace.set(path33, "");
|
|
41904
41904
|
}
|
|
41905
41905
|
}
|
|
41906
41906
|
}
|
|
@@ -41908,7 +41908,7 @@ var require_CJSImportProcessor = __commonJS({
|
|
|
41908
41908
|
return this.isTypeScriptTransformEnabled && !this.keepUnusedImports && !this.nonTypeIdentifiers.has(name);
|
|
41909
41909
|
}
|
|
41910
41910
|
generateImportReplacements() {
|
|
41911
|
-
for (const [
|
|
41911
|
+
for (const [path33, importInfo] of this.importInfoByPath.entries()) {
|
|
41912
41912
|
const {
|
|
41913
41913
|
defaultNames,
|
|
41914
41914
|
wildcardNames,
|
|
@@ -41918,17 +41918,17 @@ var require_CJSImportProcessor = __commonJS({
|
|
|
41918
41918
|
hasStarExport
|
|
41919
41919
|
} = importInfo;
|
|
41920
41920
|
if (defaultNames.length === 0 && wildcardNames.length === 0 && namedImports.length === 0 && namedExports.length === 0 && exportStarNames.length === 0 && !hasStarExport) {
|
|
41921
|
-
this.importsToReplace.set(
|
|
41921
|
+
this.importsToReplace.set(path33, `require('${path33}');`);
|
|
41922
41922
|
continue;
|
|
41923
41923
|
}
|
|
41924
|
-
const primaryImportName = this.getFreeIdentifierForPath(
|
|
41924
|
+
const primaryImportName = this.getFreeIdentifierForPath(path33);
|
|
41925
41925
|
let secondaryImportName;
|
|
41926
41926
|
if (this.enableLegacyTypeScriptModuleInterop) {
|
|
41927
41927
|
secondaryImportName = primaryImportName;
|
|
41928
41928
|
} else {
|
|
41929
|
-
secondaryImportName = wildcardNames.length > 0 ? wildcardNames[0] : this.getFreeIdentifierForPath(
|
|
41929
|
+
secondaryImportName = wildcardNames.length > 0 ? wildcardNames[0] : this.getFreeIdentifierForPath(path33);
|
|
41930
41930
|
}
|
|
41931
|
-
let requireCode = `var ${primaryImportName} = require('${
|
|
41931
|
+
let requireCode = `var ${primaryImportName} = require('${path33}');`;
|
|
41932
41932
|
if (wildcardNames.length > 0) {
|
|
41933
41933
|
for (const wildcardName of wildcardNames) {
|
|
41934
41934
|
const moduleExpr = this.enableLegacyTypeScriptModuleInterop ? primaryImportName : `${this.helperManager.getHelperName("interopRequireWildcard")}(${primaryImportName})`;
|
|
@@ -41956,7 +41956,7 @@ var require_CJSImportProcessor = __commonJS({
|
|
|
41956
41956
|
"createStarExport"
|
|
41957
41957
|
)}(${primaryImportName});`;
|
|
41958
41958
|
}
|
|
41959
|
-
this.importsToReplace.set(
|
|
41959
|
+
this.importsToReplace.set(path33, requireCode);
|
|
41960
41960
|
for (const defaultName of defaultNames) {
|
|
41961
41961
|
this.identifierReplacements.set(defaultName, `${secondaryImportName}.default`);
|
|
41962
41962
|
}
|
|
@@ -41965,8 +41965,8 @@ var require_CJSImportProcessor = __commonJS({
|
|
|
41965
41965
|
}
|
|
41966
41966
|
}
|
|
41967
41967
|
}
|
|
41968
|
-
getFreeIdentifierForPath(
|
|
41969
|
-
const components =
|
|
41968
|
+
getFreeIdentifierForPath(path33) {
|
|
41969
|
+
const components = path33.split("/");
|
|
41970
41970
|
const lastComponent = components[components.length - 1];
|
|
41971
41971
|
const baseName = lastComponent.replace(/\W/g, "");
|
|
41972
41972
|
return this.nameManager.claimFreeName(`_${baseName}`);
|
|
@@ -42011,8 +42011,8 @@ var require_CJSImportProcessor = __commonJS({
|
|
|
42011
42011
|
if (!this.tokens.matches1AtIndex(index, _types.TokenType.string)) {
|
|
42012
42012
|
throw new Error("Expected string token at the end of import statement.");
|
|
42013
42013
|
}
|
|
42014
|
-
const
|
|
42015
|
-
const importInfo = this.getImportInfo(
|
|
42014
|
+
const path33 = this.tokens.stringValueAtIndex(index);
|
|
42015
|
+
const importInfo = this.getImportInfo(path33);
|
|
42016
42016
|
importInfo.defaultNames.push(...defaultNames);
|
|
42017
42017
|
importInfo.wildcardNames.push(...wildcardNames);
|
|
42018
42018
|
importInfo.namedImports.push(...namedImports);
|
|
@@ -42079,8 +42079,8 @@ var require_CJSImportProcessor = __commonJS({
|
|
|
42079
42079
|
if (!this.tokens.matches1AtIndex(index, _types.TokenType.string)) {
|
|
42080
42080
|
throw new Error("Expected string token at the end of import statement.");
|
|
42081
42081
|
}
|
|
42082
|
-
const
|
|
42083
|
-
const importInfo = this.getImportInfo(
|
|
42082
|
+
const path33 = this.tokens.stringValueAtIndex(index);
|
|
42083
|
+
const importInfo = this.getImportInfo(path33);
|
|
42084
42084
|
importInfo.namedExports.push(...namedImports);
|
|
42085
42085
|
}
|
|
42086
42086
|
preprocessExportStarAtIndex(index) {
|
|
@@ -42095,8 +42095,8 @@ var require_CJSImportProcessor = __commonJS({
|
|
|
42095
42095
|
if (!this.tokens.matches1AtIndex(index, _types.TokenType.string)) {
|
|
42096
42096
|
throw new Error("Expected string token at the end of star export statement.");
|
|
42097
42097
|
}
|
|
42098
|
-
const
|
|
42099
|
-
const importInfo = this.getImportInfo(
|
|
42098
|
+
const path33 = this.tokens.stringValueAtIndex(index);
|
|
42099
|
+
const importInfo = this.getImportInfo(path33);
|
|
42100
42100
|
if (exportedName !== null) {
|
|
42101
42101
|
importInfo.exportStarNames.push(exportedName);
|
|
42102
42102
|
} else {
|
|
@@ -42136,8 +42136,8 @@ var require_CJSImportProcessor = __commonJS({
|
|
|
42136
42136
|
* Get a mutable import info object for this path, creating one if it doesn't
|
|
42137
42137
|
* exist yet.
|
|
42138
42138
|
*/
|
|
42139
|
-
getImportInfo(
|
|
42140
|
-
const existingInfo = this.importInfoByPath.get(
|
|
42139
|
+
getImportInfo(path33) {
|
|
42140
|
+
const existingInfo = this.importInfoByPath.get(path33);
|
|
42141
42141
|
if (existingInfo) {
|
|
42142
42142
|
return existingInfo;
|
|
42143
42143
|
}
|
|
@@ -42150,7 +42150,7 @@ var require_CJSImportProcessor = __commonJS({
|
|
|
42150
42150
|
exportStarNames: [],
|
|
42151
42151
|
hasStarExport: false
|
|
42152
42152
|
};
|
|
42153
|
-
this.importInfoByPath.set(
|
|
42153
|
+
this.importInfoByPath.set(path33, newInfo);
|
|
42154
42154
|
return newInfo;
|
|
42155
42155
|
}
|
|
42156
42156
|
addExportBinding(localName, exportedName) {
|
|
@@ -42196,9 +42196,9 @@ var require_CJSImportProcessor = __commonJS({
|
|
|
42196
42196
|
}
|
|
42197
42197
|
});
|
|
42198
42198
|
|
|
42199
|
-
// node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js
|
|
42199
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js
|
|
42200
42200
|
var require_sourcemap_codec_umd = __commonJS({
|
|
42201
|
-
"node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js"(exports, module) {
|
|
42201
|
+
"../../../../../../git/ai4kanban/runner/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js"(exports, module) {
|
|
42202
42202
|
(function(global, factory) {
|
|
42203
42203
|
if (typeof exports === "object" && typeof module !== "undefined") {
|
|
42204
42204
|
factory(module);
|
|
@@ -42699,9 +42699,9 @@ var require_sourcemap_codec_umd = __commonJS({
|
|
|
42699
42699
|
}
|
|
42700
42700
|
});
|
|
42701
42701
|
|
|
42702
|
-
// node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js
|
|
42702
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js
|
|
42703
42703
|
var require_resolve_uri_umd = __commonJS({
|
|
42704
|
-
"node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js"(exports, module) {
|
|
42704
|
+
"../../../../../../git/ai4kanban/runner/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js"(exports, module) {
|
|
42705
42705
|
(function(global, factory) {
|
|
42706
42706
|
typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, global.resolveURI = factory());
|
|
42707
42707
|
})(exports, (function() {
|
|
@@ -42730,16 +42730,16 @@ var require_resolve_uri_umd = __commonJS({
|
|
|
42730
42730
|
}
|
|
42731
42731
|
function parseFileUrl(input) {
|
|
42732
42732
|
const match = fileRegex.exec(input);
|
|
42733
|
-
const
|
|
42734
|
-
return makeUrl("file:", "", match[1] || "", "", isAbsolutePath(
|
|
42733
|
+
const path33 = match[2];
|
|
42734
|
+
return makeUrl("file:", "", match[1] || "", "", isAbsolutePath(path33) ? path33 : "/" + path33, match[3] || "", match[4] || "");
|
|
42735
42735
|
}
|
|
42736
|
-
function makeUrl(scheme, user, host, port,
|
|
42736
|
+
function makeUrl(scheme, user, host, port, path33, query, hash) {
|
|
42737
42737
|
return {
|
|
42738
42738
|
scheme,
|
|
42739
42739
|
user,
|
|
42740
42740
|
host,
|
|
42741
42741
|
port,
|
|
42742
|
-
path:
|
|
42742
|
+
path: path33,
|
|
42743
42743
|
query,
|
|
42744
42744
|
hash,
|
|
42745
42745
|
type: 7
|
|
@@ -42769,11 +42769,11 @@ var require_resolve_uri_umd = __commonJS({
|
|
|
42769
42769
|
url.type = input ? input.startsWith("?") ? 3 : input.startsWith("#") ? 2 : 4 : 1;
|
|
42770
42770
|
return url;
|
|
42771
42771
|
}
|
|
42772
|
-
function stripPathFilename(
|
|
42773
|
-
if (
|
|
42774
|
-
return
|
|
42775
|
-
const index =
|
|
42776
|
-
return
|
|
42772
|
+
function stripPathFilename(path33) {
|
|
42773
|
+
if (path33.endsWith("/.."))
|
|
42774
|
+
return path33;
|
|
42775
|
+
const index = path33.lastIndexOf("/");
|
|
42776
|
+
return path33.slice(0, index + 1);
|
|
42777
42777
|
}
|
|
42778
42778
|
function mergePaths(url, base) {
|
|
42779
42779
|
normalizePath(base, base.type);
|
|
@@ -42811,14 +42811,14 @@ var require_resolve_uri_umd = __commonJS({
|
|
|
42811
42811
|
pieces[pointer++] = piece;
|
|
42812
42812
|
positive++;
|
|
42813
42813
|
}
|
|
42814
|
-
let
|
|
42814
|
+
let path33 = "";
|
|
42815
42815
|
for (let i = 1; i < pointer; i++) {
|
|
42816
|
-
|
|
42816
|
+
path33 += "/" + pieces[i];
|
|
42817
42817
|
}
|
|
42818
|
-
if (!
|
|
42819
|
-
|
|
42818
|
+
if (!path33 || addTrailingSlash && !path33.endsWith("/..")) {
|
|
42819
|
+
path33 += "/";
|
|
42820
42820
|
}
|
|
42821
|
-
url.path =
|
|
42821
|
+
url.path = path33;
|
|
42822
42822
|
}
|
|
42823
42823
|
function resolve2(input, base) {
|
|
42824
42824
|
if (!input && !base)
|
|
@@ -42859,13 +42859,13 @@ var require_resolve_uri_umd = __commonJS({
|
|
|
42859
42859
|
case 3:
|
|
42860
42860
|
return queryHash;
|
|
42861
42861
|
case 4: {
|
|
42862
|
-
const
|
|
42863
|
-
if (!
|
|
42862
|
+
const path33 = url.path.slice(1);
|
|
42863
|
+
if (!path33)
|
|
42864
42864
|
return queryHash || ".";
|
|
42865
|
-
if (isRelative(base || input) && !isRelative(
|
|
42866
|
-
return "./" +
|
|
42865
|
+
if (isRelative(base || input) && !isRelative(path33)) {
|
|
42866
|
+
return "./" + path33 + queryHash;
|
|
42867
42867
|
}
|
|
42868
|
-
return
|
|
42868
|
+
return path33 + queryHash;
|
|
42869
42869
|
}
|
|
42870
42870
|
case 5:
|
|
42871
42871
|
return url.path + queryHash;
|
|
@@ -42878,9 +42878,9 @@ var require_resolve_uri_umd = __commonJS({
|
|
|
42878
42878
|
}
|
|
42879
42879
|
});
|
|
42880
42880
|
|
|
42881
|
-
// node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js
|
|
42881
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js
|
|
42882
42882
|
var require_trace_mapping_umd = __commonJS({
|
|
42883
|
-
"node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js"(exports, module) {
|
|
42883
|
+
"../../../../../../git/ai4kanban/runner/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js"(exports, module) {
|
|
42884
42884
|
(function(global, factory) {
|
|
42885
42885
|
if (typeof exports === "object" && typeof module !== "undefined") {
|
|
42886
42886
|
factory(module, require_resolve_uri_umd(), require_sourcemap_codec_umd());
|
|
@@ -42964,10 +42964,10 @@ var require_trace_mapping_umd = __commonJS({
|
|
|
42964
42964
|
module2.exports = __toCommonJS(trace_mapping_exports);
|
|
42965
42965
|
var import_sourcemap_codec = __toESM2(require_sourcemap_codec());
|
|
42966
42966
|
var import_resolve_uri = __toESM2(require_resolve_uri());
|
|
42967
|
-
function stripFilename(
|
|
42968
|
-
if (!
|
|
42969
|
-
const index =
|
|
42970
|
-
return
|
|
42967
|
+
function stripFilename(path33) {
|
|
42968
|
+
if (!path33) return "";
|
|
42969
|
+
const index = path33.lastIndexOf("/");
|
|
42970
|
+
return path33.slice(0, index + 1);
|
|
42971
42971
|
}
|
|
42972
42972
|
function resolver(mapUrl, sourceRoot) {
|
|
42973
42973
|
const from = stripFilename(mapUrl);
|
|
@@ -43418,9 +43418,9 @@ var require_trace_mapping_umd = __commonJS({
|
|
|
43418
43418
|
}
|
|
43419
43419
|
});
|
|
43420
43420
|
|
|
43421
|
-
// node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js
|
|
43421
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js
|
|
43422
43422
|
var require_gen_mapping_umd = __commonJS({
|
|
43423
|
-
"node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js"(exports, module) {
|
|
43423
|
+
"../../../../../../git/ai4kanban/runner/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js"(exports, module) {
|
|
43424
43424
|
(function(global, factory) {
|
|
43425
43425
|
if (typeof exports === "object" && typeof module !== "undefined") {
|
|
43426
43426
|
factory(module, require_sourcemap_codec_umd(), require_trace_mapping_umd());
|
|
@@ -43769,9 +43769,9 @@ var require_gen_mapping_umd = __commonJS({
|
|
|
43769
43769
|
}
|
|
43770
43770
|
});
|
|
43771
43771
|
|
|
43772
|
-
// node_modules/sucrase/dist/computeSourceMap.js
|
|
43772
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/computeSourceMap.js
|
|
43773
43773
|
var require_computeSourceMap = __commonJS({
|
|
43774
|
-
"node_modules/sucrase/dist/computeSourceMap.js"(exports) {
|
|
43774
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/computeSourceMap.js"(exports) {
|
|
43775
43775
|
"use strict";
|
|
43776
43776
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43777
43777
|
var _genmapping = require_gen_mapping_umd();
|
|
@@ -43832,9 +43832,9 @@ var require_computeSourceMap = __commonJS({
|
|
|
43832
43832
|
}
|
|
43833
43833
|
});
|
|
43834
43834
|
|
|
43835
|
-
// node_modules/sucrase/dist/HelperManager.js
|
|
43835
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/HelperManager.js
|
|
43836
43836
|
var require_HelperManager = __commonJS({
|
|
43837
|
-
"node_modules/sucrase/dist/HelperManager.js"(exports) {
|
|
43837
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/HelperManager.js"(exports) {
|
|
43838
43838
|
"use strict";
|
|
43839
43839
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43840
43840
|
var HELPERS = {
|
|
@@ -44021,9 +44021,9 @@ var require_HelperManager = __commonJS({
|
|
|
44021
44021
|
}
|
|
44022
44022
|
});
|
|
44023
44023
|
|
|
44024
|
-
// node_modules/sucrase/dist/identifyShadowedGlobals.js
|
|
44024
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/identifyShadowedGlobals.js
|
|
44025
44025
|
var require_identifyShadowedGlobals = __commonJS({
|
|
44026
|
-
"node_modules/sucrase/dist/identifyShadowedGlobals.js"(exports) {
|
|
44026
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/identifyShadowedGlobals.js"(exports) {
|
|
44027
44027
|
"use strict";
|
|
44028
44028
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44029
44029
|
var _tokenizer = require_tokenizer();
|
|
@@ -44090,9 +44090,9 @@ var require_identifyShadowedGlobals = __commonJS({
|
|
|
44090
44090
|
}
|
|
44091
44091
|
});
|
|
44092
44092
|
|
|
44093
|
-
// node_modules/sucrase/dist/util/getIdentifierNames.js
|
|
44093
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/getIdentifierNames.js
|
|
44094
44094
|
var require_getIdentifierNames = __commonJS({
|
|
44095
|
-
"node_modules/sucrase/dist/util/getIdentifierNames.js"(exports) {
|
|
44095
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/getIdentifierNames.js"(exports) {
|
|
44096
44096
|
"use strict";
|
|
44097
44097
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44098
44098
|
var _types = require_types();
|
|
@@ -44109,9 +44109,9 @@ var require_getIdentifierNames = __commonJS({
|
|
|
44109
44109
|
}
|
|
44110
44110
|
});
|
|
44111
44111
|
|
|
44112
|
-
// node_modules/sucrase/dist/NameManager.js
|
|
44112
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/NameManager.js
|
|
44113
44113
|
var require_NameManager = __commonJS({
|
|
44114
|
-
"node_modules/sucrase/dist/NameManager.js"(exports) {
|
|
44114
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/NameManager.js"(exports) {
|
|
44115
44115
|
"use strict";
|
|
44116
44116
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44117
44117
|
function _interopRequireDefault(obj3) {
|
|
@@ -44148,9 +44148,9 @@ var require_NameManager = __commonJS({
|
|
|
44148
44148
|
}
|
|
44149
44149
|
});
|
|
44150
44150
|
|
|
44151
|
-
// node_modules/ts-interface-checker/dist/util.js
|
|
44151
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/ts-interface-checker/dist/util.js
|
|
44152
44152
|
var require_util2 = __commonJS({
|
|
44153
|
-
"node_modules/ts-interface-checker/dist/util.js"(exports) {
|
|
44153
|
+
"../../../../../../git/ai4kanban/runner/node_modules/ts-interface-checker/dist/util.js"(exports) {
|
|
44154
44154
|
"use strict";
|
|
44155
44155
|
var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
|
|
44156
44156
|
var extendStatics = function(d2, b2) {
|
|
@@ -44175,9 +44175,9 @@ var require_util2 = __commonJS({
|
|
|
44175
44175
|
/** @class */
|
|
44176
44176
|
(function(_super) {
|
|
44177
44177
|
__extends(VError2, _super);
|
|
44178
|
-
function VError2(
|
|
44178
|
+
function VError2(path33, message) {
|
|
44179
44179
|
var _this = _super.call(this, message) || this;
|
|
44180
|
-
_this.path =
|
|
44180
|
+
_this.path = path33;
|
|
44181
44181
|
Object.setPrototypeOf(_this, VError2.prototype);
|
|
44182
44182
|
return _this;
|
|
44183
44183
|
}
|
|
@@ -44237,26 +44237,26 @@ var require_util2 = __commonJS({
|
|
|
44237
44237
|
(_b = this._messages).push.apply(_b, best._messages);
|
|
44238
44238
|
}
|
|
44239
44239
|
};
|
|
44240
|
-
DetailContext2.prototype.getError = function(
|
|
44240
|
+
DetailContext2.prototype.getError = function(path33) {
|
|
44241
44241
|
var msgParts = [];
|
|
44242
44242
|
for (var i = this._propNames.length - 1; i >= 0; i--) {
|
|
44243
44243
|
var p2 = this._propNames[i];
|
|
44244
|
-
|
|
44244
|
+
path33 += typeof p2 === "number" ? "[" + p2 + "]" : p2 ? "." + p2 : "";
|
|
44245
44245
|
var m = this._messages[i];
|
|
44246
44246
|
if (m) {
|
|
44247
|
-
msgParts.push(
|
|
44247
|
+
msgParts.push(path33 + " " + m);
|
|
44248
44248
|
}
|
|
44249
44249
|
}
|
|
44250
|
-
return new VError(
|
|
44250
|
+
return new VError(path33, msgParts.join("; "));
|
|
44251
44251
|
};
|
|
44252
|
-
DetailContext2.prototype.getErrorDetail = function(
|
|
44252
|
+
DetailContext2.prototype.getErrorDetail = function(path33) {
|
|
44253
44253
|
var details = [];
|
|
44254
44254
|
for (var i = this._propNames.length - 1; i >= 0; i--) {
|
|
44255
44255
|
var p2 = this._propNames[i];
|
|
44256
|
-
|
|
44256
|
+
path33 += typeof p2 === "number" ? "[" + p2 + "]" : p2 ? "." + p2 : "";
|
|
44257
44257
|
var message = this._messages[i];
|
|
44258
44258
|
if (message) {
|
|
44259
|
-
details.push({ path:
|
|
44259
|
+
details.push({ path: path33, message });
|
|
44260
44260
|
}
|
|
44261
44261
|
}
|
|
44262
44262
|
var detail = null;
|
|
@@ -44289,9 +44289,9 @@ var require_util2 = __commonJS({
|
|
|
44289
44289
|
}
|
|
44290
44290
|
});
|
|
44291
44291
|
|
|
44292
|
-
// node_modules/ts-interface-checker/dist/types.js
|
|
44292
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/ts-interface-checker/dist/types.js
|
|
44293
44293
|
var require_types2 = __commonJS({
|
|
44294
|
-
"node_modules/ts-interface-checker/dist/types.js"(exports) {
|
|
44294
|
+
"../../../../../../git/ai4kanban/runner/node_modules/ts-interface-checker/dist/types.js"(exports) {
|
|
44295
44295
|
"use strict";
|
|
44296
44296
|
var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
|
|
44297
44297
|
var extendStatics = function(d2, b2) {
|
|
@@ -44928,9 +44928,9 @@ var require_types2 = __commonJS({
|
|
|
44928
44928
|
}
|
|
44929
44929
|
});
|
|
44930
44930
|
|
|
44931
|
-
// node_modules/ts-interface-checker/dist/index.js
|
|
44931
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/ts-interface-checker/dist/index.js
|
|
44932
44932
|
var require_dist = __commonJS({
|
|
44933
|
-
"node_modules/ts-interface-checker/dist/index.js"(exports) {
|
|
44933
|
+
"../../../../../../git/ai4kanban/runner/node_modules/ts-interface-checker/dist/index.js"(exports) {
|
|
44934
44934
|
"use strict";
|
|
44935
44935
|
var __spreadArrays = exports && exports.__spreadArrays || function() {
|
|
44936
44936
|
for (var s = 0, i = 0, il2 = arguments.length; i < il2; i++) s += arguments[i].length;
|
|
@@ -45069,8 +45069,8 @@ var require_dist = __commonJS({
|
|
|
45069
45069
|
this.checkerPlain = this.ttype.getChecker(suite, false);
|
|
45070
45070
|
this.checkerStrict = this.ttype.getChecker(suite, true);
|
|
45071
45071
|
}
|
|
45072
|
-
Checker2.prototype.setReportedPath = function(
|
|
45073
|
-
this._path =
|
|
45072
|
+
Checker2.prototype.setReportedPath = function(path33) {
|
|
45073
|
+
this._path = path33;
|
|
45074
45074
|
};
|
|
45075
45075
|
Checker2.prototype.check = function(value) {
|
|
45076
45076
|
return this._doCheck(this.checkerPlain, value);
|
|
@@ -45154,9 +45154,9 @@ var require_dist = __commonJS({
|
|
|
45154
45154
|
}
|
|
45155
45155
|
});
|
|
45156
45156
|
|
|
45157
|
-
// node_modules/sucrase/dist/Options-gen-types.js
|
|
45157
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/Options-gen-types.js
|
|
45158
45158
|
var require_Options_gen_types = __commonJS({
|
|
45159
|
-
"node_modules/sucrase/dist/Options-gen-types.js"(exports) {
|
|
45159
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/Options-gen-types.js"(exports) {
|
|
45160
45160
|
"use strict";
|
|
45161
45161
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45162
45162
|
function _interopRequireWildcard(obj3) {
|
|
@@ -45216,9 +45216,9 @@ var require_Options_gen_types = __commonJS({
|
|
|
45216
45216
|
}
|
|
45217
45217
|
});
|
|
45218
45218
|
|
|
45219
|
-
// node_modules/sucrase/dist/Options.js
|
|
45219
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/Options.js
|
|
45220
45220
|
var require_Options = __commonJS({
|
|
45221
|
-
"node_modules/sucrase/dist/Options.js"(exports) {
|
|
45221
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/Options.js"(exports) {
|
|
45222
45222
|
"use strict";
|
|
45223
45223
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45224
45224
|
function _interopRequireDefault(obj3) {
|
|
@@ -45235,9 +45235,9 @@ var require_Options = __commonJS({
|
|
|
45235
45235
|
}
|
|
45236
45236
|
});
|
|
45237
45237
|
|
|
45238
|
-
// node_modules/sucrase/dist/parser/traverser/lval.js
|
|
45238
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/traverser/lval.js
|
|
45239
45239
|
var require_lval = __commonJS({
|
|
45240
|
-
"node_modules/sucrase/dist/parser/traverser/lval.js"(exports) {
|
|
45240
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/traverser/lval.js"(exports) {
|
|
45241
45241
|
"use strict";
|
|
45242
45242
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45243
45243
|
var _flow = require_flow();
|
|
@@ -45382,9 +45382,9 @@ var require_lval = __commonJS({
|
|
|
45382
45382
|
}
|
|
45383
45383
|
});
|
|
45384
45384
|
|
|
45385
|
-
// node_modules/sucrase/dist/parser/plugins/typescript.js
|
|
45385
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/plugins/typescript.js
|
|
45386
45386
|
var require_typescript = __commonJS({
|
|
45387
|
-
"node_modules/sucrase/dist/parser/plugins/typescript.js"(exports) {
|
|
45387
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/plugins/typescript.js"(exports) {
|
|
45388
45388
|
"use strict";
|
|
45389
45389
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45390
45390
|
var _index = require_tokenizer();
|
|
@@ -46695,9 +46695,9 @@ var require_typescript = __commonJS({
|
|
|
46695
46695
|
}
|
|
46696
46696
|
});
|
|
46697
46697
|
|
|
46698
|
-
// node_modules/sucrase/dist/parser/plugins/jsx/index.js
|
|
46698
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/plugins/jsx/index.js
|
|
46699
46699
|
var require_jsx = __commonJS({
|
|
46700
|
-
"node_modules/sucrase/dist/parser/plugins/jsx/index.js"(exports) {
|
|
46700
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/plugins/jsx/index.js"(exports) {
|
|
46701
46701
|
"use strict";
|
|
46702
46702
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46703
46703
|
var _index = require_tokenizer();
|
|
@@ -46965,9 +46965,9 @@ var require_jsx = __commonJS({
|
|
|
46965
46965
|
}
|
|
46966
46966
|
});
|
|
46967
46967
|
|
|
46968
|
-
// node_modules/sucrase/dist/parser/plugins/types.js
|
|
46968
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/plugins/types.js
|
|
46969
46969
|
var require_types3 = __commonJS({
|
|
46970
|
-
"node_modules/sucrase/dist/parser/plugins/types.js"(exports) {
|
|
46970
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/plugins/types.js"(exports) {
|
|
46971
46971
|
"use strict";
|
|
46972
46972
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46973
46973
|
var _index = require_tokenizer();
|
|
@@ -47000,9 +47000,9 @@ var require_types3 = __commonJS({
|
|
|
47000
47000
|
}
|
|
47001
47001
|
});
|
|
47002
47002
|
|
|
47003
|
-
// node_modules/sucrase/dist/parser/traverser/expression.js
|
|
47003
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/traverser/expression.js
|
|
47004
47004
|
var require_expression = __commonJS({
|
|
47005
|
-
"node_modules/sucrase/dist/parser/traverser/expression.js"(exports) {
|
|
47005
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/traverser/expression.js"(exports) {
|
|
47006
47006
|
"use strict";
|
|
47007
47007
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47008
47008
|
var _flow = require_flow();
|
|
@@ -47740,9 +47740,9 @@ var require_expression = __commonJS({
|
|
|
47740
47740
|
}
|
|
47741
47741
|
});
|
|
47742
47742
|
|
|
47743
|
-
// node_modules/sucrase/dist/parser/plugins/flow.js
|
|
47743
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/plugins/flow.js
|
|
47744
47744
|
var require_flow = __commonJS({
|
|
47745
|
-
"node_modules/sucrase/dist/parser/plugins/flow.js"(exports) {
|
|
47745
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/plugins/flow.js"(exports) {
|
|
47746
47746
|
"use strict";
|
|
47747
47747
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47748
47748
|
var _index = require_tokenizer();
|
|
@@ -48623,9 +48623,9 @@ var require_flow = __commonJS({
|
|
|
48623
48623
|
}
|
|
48624
48624
|
});
|
|
48625
48625
|
|
|
48626
|
-
// node_modules/sucrase/dist/parser/traverser/statement.js
|
|
48626
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/traverser/statement.js
|
|
48627
48627
|
var require_statement = __commonJS({
|
|
48628
|
-
"node_modules/sucrase/dist/parser/traverser/statement.js"(exports) {
|
|
48628
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/traverser/statement.js"(exports) {
|
|
48629
48629
|
"use strict";
|
|
48630
48630
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48631
48631
|
var _index = require_parser();
|
|
@@ -49620,9 +49620,9 @@ var require_statement = __commonJS({
|
|
|
49620
49620
|
}
|
|
49621
49621
|
});
|
|
49622
49622
|
|
|
49623
|
-
// node_modules/sucrase/dist/parser/traverser/index.js
|
|
49623
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/traverser/index.js
|
|
49624
49624
|
var require_traverser = __commonJS({
|
|
49625
|
-
"node_modules/sucrase/dist/parser/traverser/index.js"(exports) {
|
|
49625
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/traverser/index.js"(exports) {
|
|
49626
49626
|
"use strict";
|
|
49627
49627
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49628
49628
|
var _index = require_tokenizer();
|
|
@@ -49640,9 +49640,9 @@ var require_traverser = __commonJS({
|
|
|
49640
49640
|
}
|
|
49641
49641
|
});
|
|
49642
49642
|
|
|
49643
|
-
// node_modules/sucrase/dist/parser/index.js
|
|
49643
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/index.js
|
|
49644
49644
|
var require_parser = __commonJS({
|
|
49645
|
-
"node_modules/sucrase/dist/parser/index.js"(exports) {
|
|
49645
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/parser/index.js"(exports) {
|
|
49646
49646
|
"use strict";
|
|
49647
49647
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49648
49648
|
var _base = require_base();
|
|
@@ -49669,9 +49669,9 @@ var require_parser = __commonJS({
|
|
|
49669
49669
|
}
|
|
49670
49670
|
});
|
|
49671
49671
|
|
|
49672
|
-
// node_modules/sucrase/dist/util/isAsyncOperation.js
|
|
49672
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/isAsyncOperation.js
|
|
49673
49673
|
var require_isAsyncOperation = __commonJS({
|
|
49674
|
-
"node_modules/sucrase/dist/util/isAsyncOperation.js"(exports) {
|
|
49674
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/isAsyncOperation.js"(exports) {
|
|
49675
49675
|
"use strict";
|
|
49676
49676
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49677
49677
|
var _keywords = require_keywords();
|
|
@@ -49700,9 +49700,9 @@ var require_isAsyncOperation = __commonJS({
|
|
|
49700
49700
|
}
|
|
49701
49701
|
});
|
|
49702
49702
|
|
|
49703
|
-
// node_modules/sucrase/dist/TokenProcessor.js
|
|
49703
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/TokenProcessor.js
|
|
49704
49704
|
var require_TokenProcessor = __commonJS({
|
|
49705
|
-
"node_modules/sucrase/dist/TokenProcessor.js"(exports) {
|
|
49705
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/TokenProcessor.js"(exports) {
|
|
49706
49706
|
"use strict";
|
|
49707
49707
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49708
49708
|
function _interopRequireDefault(obj3) {
|
|
@@ -49995,9 +49995,9 @@ var require_TokenProcessor = __commonJS({
|
|
|
49995
49995
|
}
|
|
49996
49996
|
});
|
|
49997
49997
|
|
|
49998
|
-
// node_modules/sucrase/dist/util/getClassInfo.js
|
|
49998
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/getClassInfo.js
|
|
49999
49999
|
var require_getClassInfo = __commonJS({
|
|
50000
|
-
"node_modules/sucrase/dist/util/getClassInfo.js"(exports) {
|
|
50000
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/getClassInfo.js"(exports) {
|
|
50001
50001
|
"use strict";
|
|
50002
50002
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50003
50003
|
var _keywords = require_keywords();
|
|
@@ -50237,9 +50237,9 @@ var require_getClassInfo = __commonJS({
|
|
|
50237
50237
|
}
|
|
50238
50238
|
});
|
|
50239
50239
|
|
|
50240
|
-
// node_modules/sucrase/dist/util/elideImportEquals.js
|
|
50240
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/elideImportEquals.js
|
|
50241
50241
|
var require_elideImportEquals = __commonJS({
|
|
50242
|
-
"node_modules/sucrase/dist/util/elideImportEquals.js"(exports) {
|
|
50242
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/elideImportEquals.js"(exports) {
|
|
50243
50243
|
"use strict";
|
|
50244
50244
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50245
50245
|
var _types = require_types();
|
|
@@ -50263,9 +50263,9 @@ var require_elideImportEquals = __commonJS({
|
|
|
50263
50263
|
}
|
|
50264
50264
|
});
|
|
50265
50265
|
|
|
50266
|
-
// node_modules/sucrase/dist/util/getDeclarationInfo.js
|
|
50266
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/getDeclarationInfo.js
|
|
50267
50267
|
var require_getDeclarationInfo = __commonJS({
|
|
50268
|
-
"node_modules/sucrase/dist/util/getDeclarationInfo.js"(exports) {
|
|
50268
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/getDeclarationInfo.js"(exports) {
|
|
50269
50269
|
"use strict";
|
|
50270
50270
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50271
50271
|
var _tokenizer = require_tokenizer();
|
|
@@ -50294,9 +50294,9 @@ var require_getDeclarationInfo = __commonJS({
|
|
|
50294
50294
|
}
|
|
50295
50295
|
});
|
|
50296
50296
|
|
|
50297
|
-
// node_modules/sucrase/dist/util/isExportFrom.js
|
|
50297
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/isExportFrom.js
|
|
50298
50298
|
var require_isExportFrom = __commonJS({
|
|
50299
|
-
"node_modules/sucrase/dist/util/isExportFrom.js"(exports) {
|
|
50299
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/isExportFrom.js"(exports) {
|
|
50300
50300
|
"use strict";
|
|
50301
50301
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50302
50302
|
var _keywords = require_keywords();
|
|
@@ -50312,9 +50312,9 @@ var require_isExportFrom = __commonJS({
|
|
|
50312
50312
|
}
|
|
50313
50313
|
});
|
|
50314
50314
|
|
|
50315
|
-
// node_modules/sucrase/dist/util/removeMaybeImportAttributes.js
|
|
50315
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/removeMaybeImportAttributes.js
|
|
50316
50316
|
var require_removeMaybeImportAttributes = __commonJS({
|
|
50317
|
-
"node_modules/sucrase/dist/util/removeMaybeImportAttributes.js"(exports) {
|
|
50317
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/removeMaybeImportAttributes.js"(exports) {
|
|
50318
50318
|
"use strict";
|
|
50319
50319
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50320
50320
|
var _keywords = require_keywords();
|
|
@@ -50331,9 +50331,9 @@ var require_removeMaybeImportAttributes = __commonJS({
|
|
|
50331
50331
|
}
|
|
50332
50332
|
});
|
|
50333
50333
|
|
|
50334
|
-
// node_modules/sucrase/dist/util/shouldElideDefaultExport.js
|
|
50334
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/shouldElideDefaultExport.js
|
|
50335
50335
|
var require_shouldElideDefaultExport = __commonJS({
|
|
50336
|
-
"node_modules/sucrase/dist/util/shouldElideDefaultExport.js"(exports) {
|
|
50336
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/shouldElideDefaultExport.js"(exports) {
|
|
50337
50337
|
"use strict";
|
|
50338
50338
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50339
50339
|
var _types = require_types();
|
|
@@ -50360,9 +50360,9 @@ var require_shouldElideDefaultExport = __commonJS({
|
|
|
50360
50360
|
}
|
|
50361
50361
|
});
|
|
50362
50362
|
|
|
50363
|
-
// node_modules/sucrase/dist/transformers/CJSImportTransformer.js
|
|
50363
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/CJSImportTransformer.js
|
|
50364
50364
|
var require_CJSImportTransformer = __commonJS({
|
|
50365
|
-
"node_modules/sucrase/dist/transformers/CJSImportTransformer.js"(exports) {
|
|
50365
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/CJSImportTransformer.js"(exports) {
|
|
50366
50366
|
"use strict";
|
|
50367
50367
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50368
50368
|
function _interopRequireDefault(obj3) {
|
|
@@ -50503,9 +50503,9 @@ var require_CJSImportTransformer = __commonJS({
|
|
|
50503
50503
|
if (shouldElideImport) {
|
|
50504
50504
|
this.tokens.removeToken();
|
|
50505
50505
|
} else {
|
|
50506
|
-
const
|
|
50507
|
-
this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(
|
|
50508
|
-
this.tokens.appendCode(this.importProcessor.claimImportCode(
|
|
50506
|
+
const path33 = this.tokens.stringValue();
|
|
50507
|
+
this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(path33));
|
|
50508
|
+
this.tokens.appendCode(this.importProcessor.claimImportCode(path33));
|
|
50509
50509
|
}
|
|
50510
50510
|
_removeMaybeImportAttributes.removeMaybeImportAttributes.call(void 0, this.tokens);
|
|
50511
50511
|
if (this.tokens.matches1(_types.TokenType.semi)) {
|
|
@@ -51085,8 +51085,8 @@ var require_CJSImportTransformer = __commonJS({
|
|
|
51085
51085
|
}
|
|
51086
51086
|
if (this.tokens.matchesContextual(_keywords.ContextualKeyword._from)) {
|
|
51087
51087
|
this.tokens.removeToken();
|
|
51088
|
-
const
|
|
51089
|
-
this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(
|
|
51088
|
+
const path33 = this.tokens.stringValue();
|
|
51089
|
+
this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(path33));
|
|
51090
51090
|
_removeMaybeImportAttributes.removeMaybeImportAttributes.call(void 0, this.tokens);
|
|
51091
51091
|
} else {
|
|
51092
51092
|
this.tokens.appendCode(exportStatements.join(" "));
|
|
@@ -51100,8 +51100,8 @@ var require_CJSImportTransformer = __commonJS({
|
|
|
51100
51100
|
while (!this.tokens.matches1(_types.TokenType.string)) {
|
|
51101
51101
|
this.tokens.removeToken();
|
|
51102
51102
|
}
|
|
51103
|
-
const
|
|
51104
|
-
this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(
|
|
51103
|
+
const path33 = this.tokens.stringValue();
|
|
51104
|
+
this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(path33));
|
|
51105
51105
|
_removeMaybeImportAttributes.removeMaybeImportAttributes.call(void 0, this.tokens);
|
|
51106
51106
|
if (this.tokens.matches1(_types.TokenType.semi)) {
|
|
51107
51107
|
this.tokens.removeToken();
|
|
@@ -51115,9 +51115,9 @@ var require_CJSImportTransformer = __commonJS({
|
|
|
51115
51115
|
}
|
|
51116
51116
|
});
|
|
51117
51117
|
|
|
51118
|
-
// node_modules/sucrase/dist/transformers/ESMImportTransformer.js
|
|
51118
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/ESMImportTransformer.js
|
|
51119
51119
|
var require_ESMImportTransformer = __commonJS({
|
|
51120
|
-
"node_modules/sucrase/dist/transformers/ESMImportTransformer.js"(exports) {
|
|
51120
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/ESMImportTransformer.js"(exports) {
|
|
51121
51121
|
"use strict";
|
|
51122
51122
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51123
51123
|
function _interopRequireDefault(obj3) {
|
|
@@ -51419,9 +51419,9 @@ var require_ESMImportTransformer = __commonJS({
|
|
|
51419
51419
|
}
|
|
51420
51420
|
});
|
|
51421
51421
|
|
|
51422
|
-
// node_modules/sucrase/dist/transformers/FlowTransformer.js
|
|
51422
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/FlowTransformer.js
|
|
51423
51423
|
var require_FlowTransformer = __commonJS({
|
|
51424
|
-
"node_modules/sucrase/dist/transformers/FlowTransformer.js"(exports) {
|
|
51424
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/FlowTransformer.js"(exports) {
|
|
51425
51425
|
"use strict";
|
|
51426
51426
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51427
51427
|
function _interopRequireDefault(obj3) {
|
|
@@ -51587,9 +51587,9 @@ var require_FlowTransformer = __commonJS({
|
|
|
51587
51587
|
}
|
|
51588
51588
|
});
|
|
51589
51589
|
|
|
51590
|
-
// node_modules/sucrase/dist/transformers/JestHoistTransformer.js
|
|
51590
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/JestHoistTransformer.js
|
|
51591
51591
|
var require_JestHoistTransformer = __commonJS({
|
|
51592
|
-
"node_modules/sucrase/dist/transformers/JestHoistTransformer.js"(exports) {
|
|
51592
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/JestHoistTransformer.js"(exports) {
|
|
51593
51593
|
"use strict";
|
|
51594
51594
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51595
51595
|
function _interopRequireDefault(obj3) {
|
|
@@ -51693,9 +51693,9 @@ var require_JestHoistTransformer = __commonJS({
|
|
|
51693
51693
|
}
|
|
51694
51694
|
});
|
|
51695
51695
|
|
|
51696
|
-
// node_modules/sucrase/dist/transformers/NumericSeparatorTransformer.js
|
|
51696
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/NumericSeparatorTransformer.js
|
|
51697
51697
|
var require_NumericSeparatorTransformer = __commonJS({
|
|
51698
|
-
"node_modules/sucrase/dist/transformers/NumericSeparatorTransformer.js"(exports) {
|
|
51698
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/NumericSeparatorTransformer.js"(exports) {
|
|
51699
51699
|
"use strict";
|
|
51700
51700
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51701
51701
|
function _interopRequireDefault(obj3) {
|
|
@@ -51725,9 +51725,9 @@ var require_NumericSeparatorTransformer = __commonJS({
|
|
|
51725
51725
|
}
|
|
51726
51726
|
});
|
|
51727
51727
|
|
|
51728
|
-
// node_modules/sucrase/dist/transformers/OptionalCatchBindingTransformer.js
|
|
51728
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/OptionalCatchBindingTransformer.js
|
|
51729
51729
|
var require_OptionalCatchBindingTransformer = __commonJS({
|
|
51730
|
-
"node_modules/sucrase/dist/transformers/OptionalCatchBindingTransformer.js"(exports) {
|
|
51730
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/OptionalCatchBindingTransformer.js"(exports) {
|
|
51731
51731
|
"use strict";
|
|
51732
51732
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51733
51733
|
function _interopRequireDefault(obj3) {
|
|
@@ -51756,9 +51756,9 @@ var require_OptionalCatchBindingTransformer = __commonJS({
|
|
|
51756
51756
|
}
|
|
51757
51757
|
});
|
|
51758
51758
|
|
|
51759
|
-
// node_modules/sucrase/dist/transformers/OptionalChainingNullishTransformer.js
|
|
51759
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/OptionalChainingNullishTransformer.js
|
|
51760
51760
|
var require_OptionalChainingNullishTransformer = __commonJS({
|
|
51761
|
-
"node_modules/sucrase/dist/transformers/OptionalChainingNullishTransformer.js"(exports) {
|
|
51761
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/OptionalChainingNullishTransformer.js"(exports) {
|
|
51762
51762
|
"use strict";
|
|
51763
51763
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51764
51764
|
function _interopRequireDefault(obj3) {
|
|
@@ -51894,9 +51894,9 @@ var require_OptionalChainingNullishTransformer = __commonJS({
|
|
|
51894
51894
|
}
|
|
51895
51895
|
});
|
|
51896
51896
|
|
|
51897
|
-
// node_modules/sucrase/dist/transformers/ReactDisplayNameTransformer.js
|
|
51897
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/ReactDisplayNameTransformer.js
|
|
51898
51898
|
var require_ReactDisplayNameTransformer = __commonJS({
|
|
51899
|
-
"node_modules/sucrase/dist/transformers/ReactDisplayNameTransformer.js"(exports) {
|
|
51899
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/ReactDisplayNameTransformer.js"(exports) {
|
|
51900
51900
|
"use strict";
|
|
51901
51901
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51902
51902
|
function _interopRequireDefault(obj3) {
|
|
@@ -52022,9 +52022,9 @@ var require_ReactDisplayNameTransformer = __commonJS({
|
|
|
52022
52022
|
}
|
|
52023
52023
|
});
|
|
52024
52024
|
|
|
52025
|
-
// node_modules/sucrase/dist/transformers/ReactHotLoaderTransformer.js
|
|
52025
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/ReactHotLoaderTransformer.js
|
|
52026
52026
|
var require_ReactHotLoaderTransformer = __commonJS({
|
|
52027
|
-
"node_modules/sucrase/dist/transformers/ReactHotLoaderTransformer.js"(exports) {
|
|
52027
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/ReactHotLoaderTransformer.js"(exports) {
|
|
52028
52028
|
"use strict";
|
|
52029
52029
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52030
52030
|
function _interopRequireDefault(obj3) {
|
|
@@ -52094,9 +52094,9 @@ ${namesToRegister.map(
|
|
|
52094
52094
|
}
|
|
52095
52095
|
});
|
|
52096
52096
|
|
|
52097
|
-
// node_modules/sucrase/dist/util/isIdentifier.js
|
|
52097
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/isIdentifier.js
|
|
52098
52098
|
var require_isIdentifier = __commonJS({
|
|
52099
|
-
"node_modules/sucrase/dist/util/isIdentifier.js"(exports) {
|
|
52099
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/isIdentifier.js"(exports) {
|
|
52100
52100
|
"use strict";
|
|
52101
52101
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52102
52102
|
var _identifier = require_identifier();
|
|
@@ -52169,9 +52169,9 @@ var require_isIdentifier = __commonJS({
|
|
|
52169
52169
|
}
|
|
52170
52170
|
});
|
|
52171
52171
|
|
|
52172
|
-
// node_modules/sucrase/dist/transformers/TypeScriptTransformer.js
|
|
52172
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/TypeScriptTransformer.js
|
|
52173
52173
|
var require_TypeScriptTransformer = __commonJS({
|
|
52174
|
-
"node_modules/sucrase/dist/transformers/TypeScriptTransformer.js"(exports) {
|
|
52174
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/TypeScriptTransformer.js"(exports) {
|
|
52175
52175
|
"use strict";
|
|
52176
52176
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52177
52177
|
function _interopRequireDefault(obj3) {
|
|
@@ -52410,9 +52410,9 @@ var require_TypeScriptTransformer = __commonJS({
|
|
|
52410
52410
|
}
|
|
52411
52411
|
});
|
|
52412
52412
|
|
|
52413
|
-
// node_modules/sucrase/dist/transformers/RootTransformer.js
|
|
52413
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/RootTransformer.js
|
|
52414
52414
|
var require_RootTransformer = __commonJS({
|
|
52415
|
-
"node_modules/sucrase/dist/transformers/RootTransformer.js"(exports) {
|
|
52415
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/transformers/RootTransformer.js"(exports) {
|
|
52416
52416
|
"use strict";
|
|
52417
52417
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52418
52418
|
function _interopRequireDefault(obj3) {
|
|
@@ -52827,9 +52827,9 @@ var require_RootTransformer = __commonJS({
|
|
|
52827
52827
|
}
|
|
52828
52828
|
});
|
|
52829
52829
|
|
|
52830
|
-
// node_modules/lines-and-columns/build/index.js
|
|
52830
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/lines-and-columns/build/index.js
|
|
52831
52831
|
var require_build = __commonJS({
|
|
52832
|
-
"node_modules/lines-and-columns/build/index.js"(exports) {
|
|
52832
|
+
"../../../../../../git/ai4kanban/runner/node_modules/lines-and-columns/build/index.js"(exports) {
|
|
52833
52833
|
"use strict";
|
|
52834
52834
|
exports.__esModule = true;
|
|
52835
52835
|
exports.LinesAndColumns = void 0;
|
|
@@ -52896,9 +52896,9 @@ var require_build = __commonJS({
|
|
|
52896
52896
|
}
|
|
52897
52897
|
});
|
|
52898
52898
|
|
|
52899
|
-
// node_modules/sucrase/dist/util/formatTokens.js
|
|
52899
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/formatTokens.js
|
|
52900
52900
|
var require_formatTokens = __commonJS({
|
|
52901
|
-
"node_modules/sucrase/dist/util/formatTokens.js"(exports) {
|
|
52901
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/formatTokens.js"(exports) {
|
|
52902
52902
|
"use strict";
|
|
52903
52903
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52904
52904
|
function _interopRequireDefault(obj3) {
|
|
@@ -52969,9 +52969,9 @@ var require_formatTokens = __commonJS({
|
|
|
52969
52969
|
}
|
|
52970
52970
|
});
|
|
52971
52971
|
|
|
52972
|
-
// node_modules/sucrase/dist/util/getTSImportedNames.js
|
|
52972
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/getTSImportedNames.js
|
|
52973
52973
|
var require_getTSImportedNames = __commonJS({
|
|
52974
|
-
"node_modules/sucrase/dist/util/getTSImportedNames.js"(exports) {
|
|
52974
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/util/getTSImportedNames.js"(exports) {
|
|
52975
52975
|
"use strict";
|
|
52976
52976
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52977
52977
|
function _interopRequireDefault(obj3) {
|
|
@@ -53036,9 +53036,9 @@ var require_getTSImportedNames = __commonJS({
|
|
|
53036
53036
|
}
|
|
53037
53037
|
});
|
|
53038
53038
|
|
|
53039
|
-
// node_modules/sucrase/dist/index.js
|
|
53039
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/index.js
|
|
53040
53040
|
var require_dist2 = __commonJS({
|
|
53041
|
-
"node_modules/sucrase/dist/index.js"(exports) {
|
|
53041
|
+
"../../../../../../git/ai4kanban/runner/node_modules/sucrase/dist/index.js"(exports) {
|
|
53042
53042
|
"use strict";
|
|
53043
53043
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53044
53044
|
function _interopRequireDefault(obj3) {
|
|
@@ -53151,15 +53151,15 @@ var require_dist2 = __commonJS({
|
|
|
53151
53151
|
}
|
|
53152
53152
|
});
|
|
53153
53153
|
|
|
53154
|
-
// node_modules/tailwindcss/dist/chunk-DCG7AFIE.mjs
|
|
53154
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/tailwindcss/dist/chunk-DCG7AFIE.mjs
|
|
53155
53155
|
var o;
|
|
53156
53156
|
var init_chunk_DCG7AFIE = __esm({
|
|
53157
|
-
"node_modules/tailwindcss/dist/chunk-DCG7AFIE.mjs"() {
|
|
53157
|
+
"../../../../../../git/ai4kanban/runner/node_modules/tailwindcss/dist/chunk-DCG7AFIE.mjs"() {
|
|
53158
53158
|
o = { inherit: "inherit", current: "currentcolor", transparent: "transparent", black: "#000", white: "#fff", slate: { 50: "oklch(98.4% 0.003 247.858)", 100: "oklch(96.8% 0.007 247.896)", 200: "oklch(92.9% 0.013 255.508)", 300: "oklch(86.9% 0.022 252.894)", 400: "oklch(70.4% 0.04 256.788)", 500: "oklch(55.4% 0.046 257.417)", 600: "oklch(44.6% 0.043 257.281)", 700: "oklch(37.2% 0.044 257.287)", 800: "oklch(27.9% 0.041 260.031)", 900: "oklch(20.8% 0.042 265.755)", 950: "oklch(12.9% 0.042 264.695)" }, gray: { 50: "oklch(98.5% 0.002 247.839)", 100: "oklch(96.7% 0.003 264.542)", 200: "oklch(92.8% 0.006 264.531)", 300: "oklch(87.2% 0.01 258.338)", 400: "oklch(70.7% 0.022 261.325)", 500: "oklch(55.1% 0.027 264.364)", 600: "oklch(44.6% 0.03 256.802)", 700: "oklch(37.3% 0.034 259.733)", 800: "oklch(27.8% 0.033 256.848)", 900: "oklch(21% 0.034 264.665)", 950: "oklch(13% 0.028 261.692)" }, zinc: { 50: "oklch(98.5% 0 none)", 100: "oklch(96.7% 0.001 286.375)", 200: "oklch(92% 0.004 286.32)", 300: "oklch(87.1% 0.006 286.286)", 400: "oklch(70.5% 0.015 286.067)", 500: "oklch(55.2% 0.016 285.938)", 600: "oklch(44.2% 0.017 285.786)", 700: "oklch(37% 0.013 285.805)", 800: "oklch(27.4% 0.006 286.033)", 900: "oklch(21% 0.006 285.885)", 950: "oklch(14.1% 0.005 285.823)" }, neutral: { 50: "oklch(98.5% 0 none)", 100: "oklch(97% 0 none)", 200: "oklch(92.2% 0 none)", 300: "oklch(87% 0 none)", 400: "oklch(70.8% 0 none)", 500: "oklch(55.6% 0 none)", 600: "oklch(43.9% 0 none)", 700: "oklch(37.1% 0 none)", 800: "oklch(26.9% 0 none)", 900: "oklch(20.5% 0 none)", 950: "oklch(14.5% 0 none)" }, stone: { 50: "oklch(98.5% 0.001 106.423)", 100: "oklch(97% 0.001 106.424)", 200: "oklch(92.3% 0.003 48.717)", 300: "oklch(86.9% 0.005 56.366)", 400: "oklch(70.9% 0.01 56.259)", 500: "oklch(55.3% 0.013 58.071)", 600: "oklch(44.4% 0.011 73.639)", 700: "oklch(37.4% 0.01 67.558)", 800: "oklch(26.8% 0.007 34.298)", 900: "oklch(21.6% 0.006 56.043)", 950: "oklch(14.7% 0.004 49.25)" }, mauve: { 50: "oklch(98.5% 0 none)", 100: "oklch(96% 0.003 325.6)", 200: "oklch(92.2% 0.005 325.62)", 300: "oklch(86.5% 0.012 325.68)", 400: "oklch(71.1% 0.019 323.02)", 500: "oklch(54.2% 0.034 322.5)", 600: "oklch(43.5% 0.029 321.78)", 700: "oklch(36.4% 0.029 323.89)", 800: "oklch(26.3% 0.024 320.12)", 900: "oklch(21.2% 0.019 322.12)", 950: "oklch(14.5% 0.008 326)" }, olive: { 50: "oklch(98.8% 0.003 106.5)", 100: "oklch(96.6% 0.005 106.5)", 200: "oklch(93% 0.007 106.5)", 300: "oklch(88% 0.011 106.6)", 400: "oklch(73.7% 0.021 106.9)", 500: "oklch(58% 0.031 107.3)", 600: "oklch(46.6% 0.025 107.3)", 700: "oklch(39.4% 0.023 107.4)", 800: "oklch(28.6% 0.016 107.4)", 900: "oklch(22.8% 0.013 107.4)", 950: "oklch(15.3% 0.006 107.1)" }, mist: { 50: "oklch(98.7% 0.002 197.1)", 100: "oklch(96.3% 0.002 197.1)", 200: "oklch(92.5% 0.005 214.3)", 300: "oklch(87.2% 0.007 219.6)", 400: "oklch(72.3% 0.014 214.4)", 500: "oklch(56% 0.021 213.5)", 600: "oklch(45% 0.017 213.2)", 700: "oklch(37.8% 0.015 216)", 800: "oklch(27.5% 0.011 216.9)", 900: "oklch(21.8% 0.008 223.9)", 950: "oklch(14.8% 0.004 228.8)" }, taupe: { 50: "oklch(98.6% 0.002 67.8)", 100: "oklch(96% 0.002 17.2)", 200: "oklch(92.2% 0.005 34.3)", 300: "oklch(86.8% 0.007 39.5)", 400: "oklch(71.4% 0.014 41.2)", 500: "oklch(54.7% 0.021 43.1)", 600: "oklch(43.8% 0.017 39.3)", 700: "oklch(36.7% 0.016 35.7)", 800: "oklch(26.8% 0.011 36.5)", 900: "oklch(21.4% 0.009 43.1)", 950: "oklch(14.7% 0.004 49.3)" }, red: { 50: "oklch(97.1% 0.013 17.38)", 100: "oklch(93.6% 0.032 17.717)", 200: "oklch(88.5% 0.062 18.334)", 300: "oklch(80.8% 0.114 19.571)", 400: "oklch(70.4% 0.191 22.216)", 500: "oklch(63.7% 0.237 25.331)", 600: "oklch(57.7% 0.245 27.325)", 700: "oklch(50.5% 0.213 27.518)", 800: "oklch(44.4% 0.177 26.899)", 900: "oklch(39.6% 0.141 25.723)", 950: "oklch(25.8% 0.092 26.042)" }, orange: { 50: "oklch(98% 0.016 73.684)", 100: "oklch(95.4% 0.038 75.164)", 200: "oklch(90.1% 0.076 70.697)", 300: "oklch(83.7% 0.128 66.29)", 400: "oklch(75% 0.183 55.934)", 500: "oklch(70.5% 0.213 47.604)", 600: "oklch(64.6% 0.222 41.116)", 700: "oklch(55.3% 0.195 38.402)", 800: "oklch(47% 0.157 37.304)", 900: "oklch(40.8% 0.123 38.172)", 950: "oklch(26.6% 0.079 36.259)" }, amber: { 50: "oklch(98.7% 0.022 95.277)", 100: "oklch(96.2% 0.059 95.617)", 200: "oklch(92.4% 0.12 95.746)", 300: "oklch(87.9% 0.169 91.605)", 400: "oklch(82.8% 0.189 84.429)", 500: "oklch(76.9% 0.188 70.08)", 600: "oklch(66.6% 0.179 58.318)", 700: "oklch(55.5% 0.163 48.998)", 800: "oklch(47.3% 0.137 46.201)", 900: "oklch(41.4% 0.112 45.904)", 950: "oklch(27.9% 0.077 45.635)" }, yellow: { 50: "oklch(98.7% 0.026 102.212)", 100: "oklch(97.3% 0.071 103.193)", 200: "oklch(94.5% 0.129 101.54)", 300: "oklch(90.5% 0.182 98.111)", 400: "oklch(85.2% 0.199 91.936)", 500: "oklch(79.5% 0.184 86.047)", 600: "oklch(68.1% 0.162 75.834)", 700: "oklch(55.4% 0.135 66.442)", 800: "oklch(47.6% 0.114 61.907)", 900: "oklch(42.1% 0.095 57.708)", 950: "oklch(28.6% 0.066 53.813)" }, lime: { 50: "oklch(98.6% 0.031 120.757)", 100: "oklch(96.7% 0.067 122.328)", 200: "oklch(93.8% 0.127 124.321)", 300: "oklch(89.7% 0.196 126.665)", 400: "oklch(84.1% 0.238 128.85)", 500: "oklch(76.8% 0.233 130.85)", 600: "oklch(64.8% 0.2 131.684)", 700: "oklch(53.2% 0.157 131.589)", 800: "oklch(45.3% 0.124 130.933)", 900: "oklch(40.5% 0.101 131.063)", 950: "oklch(27.4% 0.072 132.109)" }, green: { 50: "oklch(98.2% 0.018 155.826)", 100: "oklch(96.2% 0.044 156.743)", 200: "oklch(92.5% 0.084 155.995)", 300: "oklch(87.1% 0.15 154.449)", 400: "oklch(79.2% 0.209 151.711)", 500: "oklch(72.3% 0.219 149.579)", 600: "oklch(62.7% 0.194 149.214)", 700: "oklch(52.7% 0.154 150.069)", 800: "oklch(44.8% 0.119 151.328)", 900: "oklch(39.3% 0.095 152.535)", 950: "oklch(26.6% 0.065 152.934)" }, emerald: { 50: "oklch(97.9% 0.021 166.113)", 100: "oklch(95% 0.052 163.051)", 200: "oklch(90.5% 0.093 164.15)", 300: "oklch(84.5% 0.143 164.978)", 400: "oklch(76.5% 0.177 163.223)", 500: "oklch(69.6% 0.17 162.48)", 600: "oklch(59.6% 0.145 163.225)", 700: "oklch(50.8% 0.118 165.612)", 800: "oklch(43.2% 0.095 166.913)", 900: "oklch(37.8% 0.077 168.94)", 950: "oklch(26.2% 0.051 172.552)" }, teal: { 50: "oklch(98.4% 0.014 180.72)", 100: "oklch(95.3% 0.051 180.801)", 200: "oklch(91% 0.096 180.426)", 300: "oklch(85.5% 0.138 181.071)", 400: "oklch(77.7% 0.152 181.912)", 500: "oklch(70.4% 0.14 182.503)", 600: "oklch(60% 0.118 184.704)", 700: "oklch(51.1% 0.096 186.391)", 800: "oklch(43.7% 0.078 188.216)", 900: "oklch(38.6% 0.063 188.416)", 950: "oklch(27.7% 0.046 192.524)" }, cyan: { 50: "oklch(98.4% 0.019 200.873)", 100: "oklch(95.6% 0.045 203.388)", 200: "oklch(91.7% 0.08 205.041)", 300: "oklch(86.5% 0.127 207.078)", 400: "oklch(78.9% 0.154 211.53)", 500: "oklch(71.5% 0.143 215.221)", 600: "oklch(60.9% 0.126 221.723)", 700: "oklch(52% 0.105 223.128)", 800: "oklch(45% 0.085 224.283)", 900: "oklch(39.8% 0.07 227.392)", 950: "oklch(30.2% 0.056 229.695)" }, sky: { 50: "oklch(97.7% 0.013 236.62)", 100: "oklch(95.1% 0.026 236.824)", 200: "oklch(90.1% 0.058 230.902)", 300: "oklch(82.8% 0.111 230.318)", 400: "oklch(74.6% 0.16 232.661)", 500: "oklch(68.5% 0.169 237.323)", 600: "oklch(58.8% 0.158 241.966)", 700: "oklch(50% 0.134 242.749)", 800: "oklch(44.3% 0.11 240.79)", 900: "oklch(39.1% 0.09 240.876)", 950: "oklch(29.3% 0.066 243.157)" }, blue: { 50: "oklch(97% 0.014 254.604)", 100: "oklch(93.2% 0.032 255.585)", 200: "oklch(88.2% 0.059 254.128)", 300: "oklch(80.9% 0.105 251.813)", 400: "oklch(70.7% 0.165 254.624)", 500: "oklch(62.3% 0.214 259.815)", 600: "oklch(54.6% 0.245 262.881)", 700: "oklch(48.8% 0.243 264.376)", 800: "oklch(42.4% 0.199 265.638)", 900: "oklch(37.9% 0.146 265.522)", 950: "oklch(28.2% 0.091 267.935)" }, indigo: { 50: "oklch(96.2% 0.018 272.314)", 100: "oklch(93% 0.034 272.788)", 200: "oklch(87% 0.065 274.039)", 300: "oklch(78.5% 0.115 274.713)", 400: "oklch(67.3% 0.182 276.935)", 500: "oklch(58.5% 0.233 277.117)", 600: "oklch(51.1% 0.262 276.966)", 700: "oklch(45.7% 0.24 277.023)", 800: "oklch(39.8% 0.195 277.366)", 900: "oklch(35.9% 0.144 278.697)", 950: "oklch(25.7% 0.09 281.288)" }, violet: { 50: "oklch(96.9% 0.016 293.756)", 100: "oklch(94.3% 0.029 294.588)", 200: "oklch(89.4% 0.057 293.283)", 300: "oklch(81.1% 0.111 293.571)", 400: "oklch(70.2% 0.183 293.541)", 500: "oklch(60.6% 0.25 292.717)", 600: "oklch(54.1% 0.281 293.009)", 700: "oklch(49.1% 0.27 292.581)", 800: "oklch(43.2% 0.232 292.759)", 900: "oklch(38% 0.189 293.745)", 950: "oklch(28.3% 0.141 291.089)" }, purple: { 50: "oklch(97.7% 0.014 308.299)", 100: "oklch(94.6% 0.033 307.174)", 200: "oklch(90.2% 0.063 306.703)", 300: "oklch(82.7% 0.119 306.383)", 400: "oklch(71.4% 0.203 305.504)", 500: "oklch(62.7% 0.265 303.9)", 600: "oklch(55.8% 0.288 302.321)", 700: "oklch(49.6% 0.265 301.924)", 800: "oklch(43.8% 0.218 303.724)", 900: "oklch(38.1% 0.176 304.987)", 950: "oklch(29.1% 0.149 302.717)" }, fuchsia: { 50: "oklch(97.7% 0.017 320.058)", 100: "oklch(95.2% 0.037 318.852)", 200: "oklch(90.3% 0.076 319.62)", 300: "oklch(83.3% 0.145 321.434)", 400: "oklch(74% 0.238 322.16)", 500: "oklch(66.7% 0.295 322.15)", 600: "oklch(59.1% 0.293 322.896)", 700: "oklch(51.8% 0.253 323.949)", 800: "oklch(45.2% 0.211 324.591)", 900: "oklch(40.1% 0.17 325.612)", 950: "oklch(29.3% 0.136 325.661)" }, pink: { 50: "oklch(97.1% 0.014 343.198)", 100: "oklch(94.8% 0.028 342.258)", 200: "oklch(89.9% 0.061 343.231)", 300: "oklch(82.3% 0.12 346.018)", 400: "oklch(71.8% 0.202 349.761)", 500: "oklch(65.6% 0.241 354.308)", 600: "oklch(59.2% 0.249 0.584)", 700: "oklch(52.5% 0.223 3.958)", 800: "oklch(45.9% 0.187 3.815)", 900: "oklch(40.8% 0.153 2.432)", 950: "oklch(28.4% 0.109 3.907)" }, rose: { 50: "oklch(96.9% 0.015 12.422)", 100: "oklch(94.1% 0.03 12.58)", 200: "oklch(89.2% 0.058 10.001)", 300: "oklch(81% 0.117 11.638)", 400: "oklch(71.2% 0.194 13.428)", 500: "oklch(64.5% 0.246 16.439)", 600: "oklch(58.6% 0.253 17.585)", 700: "oklch(51.4% 0.222 16.935)", 800: "oklch(45.5% 0.188 13.697)", 900: "oklch(41% 0.159 10.272)", 950: "oklch(27.1% 0.105 12.094)" } };
|
|
53159
53159
|
}
|
|
53160
53160
|
});
|
|
53161
53161
|
|
|
53162
|
-
// node_modules/tailwindcss/dist/chunk-C2OYBFIH.mjs
|
|
53162
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/tailwindcss/dist/chunk-C2OYBFIH.mjs
|
|
53163
53163
|
function N(e2) {
|
|
53164
53164
|
return e2.charCodeAt(0) === 35 || U.test(e2) || S.has(e2.toLowerCase());
|
|
53165
53165
|
}
|
|
@@ -53379,7 +53379,7 @@ function h(e2) {
|
|
|
53379
53379
|
}
|
|
53380
53380
|
var S, U, A, E, P, z, I, D, x, W, q2, V, Z, j, K, J, X, te, g, l, f, L, w, ne, _, ye;
|
|
53381
53381
|
var init_chunk_C2OYBFIH = __esm({
|
|
53382
|
-
"node_modules/tailwindcss/dist/chunk-C2OYBFIH.mjs"() {
|
|
53382
|
+
"../../../../../../git/ai4kanban/runner/node_modules/tailwindcss/dist/chunk-C2OYBFIH.mjs"() {
|
|
53383
53383
|
init_chunk_DCG7AFIE();
|
|
53384
53384
|
S = /* @__PURE__ */ new Set(["black", "silver", "gray", "white", "maroon", "red", "purple", "fuchsia", "green", "lime", "olive", "yellow", "navy", "blue", "teal", "aqua", "aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkgrey", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkslategrey", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dimgrey", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "grey", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgray", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightslategrey", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "rebeccapurple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "slategrey", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "transparent", "currentcolor", "canvas", "canvastext", "linktext", "visitedtext", "activetext", "buttonface", "buttontext", "buttonborder", "field", "fieldtext", "highlight", "highlighttext", "selecteditem", "selecteditemtext", "mark", "marktext", "graytext", "accentcolor", "accentcolortext"]);
|
|
53385
53385
|
U = /^(rgba?|hsla?|hwb|color|(ok)?(lab|lch)|light-dark|color-mix|--alpha)\(/i;
|
|
@@ -53426,7 +53426,7 @@ var init_chunk_C2OYBFIH = __esm({
|
|
|
53426
53426
|
}
|
|
53427
53427
|
});
|
|
53428
53428
|
|
|
53429
|
-
// node_modules/tailwindcss/dist/chunk-5JIJA4QV.mjs
|
|
53429
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/tailwindcss/dist/chunk-5JIJA4QV.mjs
|
|
53430
53430
|
function h2(n) {
|
|
53431
53431
|
if (arguments.length === 0) throw new TypeError("`CSS.escape` requires an argument.");
|
|
53432
53432
|
let e2 = String(n), i = e2.length, r2 = -1, t2, s = "", l2 = e2.charCodeAt(0);
|
|
@@ -53460,7 +53460,7 @@ function g2(n, e2) {
|
|
|
53460
53460
|
}
|
|
53461
53461
|
var c, p;
|
|
53462
53462
|
var init_chunk_5JIJA4QV = __esm({
|
|
53463
|
-
"node_modules/tailwindcss/dist/chunk-5JIJA4QV.mjs"() {
|
|
53463
|
+
"../../../../../../git/ai4kanban/runner/node_modules/tailwindcss/dist/chunk-5JIJA4QV.mjs"() {
|
|
53464
53464
|
c = /* @__PURE__ */ new Map([["--font", ["--font-weight", "--font-size"]], ["--inset", ["--inset-shadow", "--inset-ring"]], ["--text", ["--text-color", "--text-decoration-color", "--text-decoration-thickness", "--text-indent", "--text-shadow", "--text-underline-offset"]], ["--grid-column", ["--grid-column-start", "--grid-column-end"]], ["--grid-row", ["--grid-row-start", "--grid-row-end"]]]);
|
|
53465
53465
|
p = class {
|
|
53466
53466
|
constructor(e2 = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set([])) {
|
|
@@ -53580,7 +53580,7 @@ var init_chunk_5JIJA4QV = __esm({
|
|
|
53580
53580
|
}
|
|
53581
53581
|
});
|
|
53582
53582
|
|
|
53583
|
-
// node_modules/tailwindcss/dist/lib.mjs
|
|
53583
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/tailwindcss/dist/lib.mjs
|
|
53584
53584
|
function mn(e2) {
|
|
53585
53585
|
return { kind: "combinator", value: e2 };
|
|
53586
53586
|
}
|
|
@@ -58691,7 +58691,7 @@ async function zf(e2, i = {}) {
|
|
|
58691
58691
|
}
|
|
58692
58692
|
var yr, Cr, vn, Sr, Lt, Vr, wn, Rr, $r, Dt, Pr, zt, Tr, Nr, kn, Kt, Ut, Er, Or, jt, He, ct, pt, _r, Ir, bn, dt, me, mt, Ze, Je, Dr, Ft, Yt, Kr, yn, xn, Ur, Wt, An, ge2, U2, zr, Vn, jr, Mr, $n, Fr, Wr, Br, Yr, Tn, Nn, En, Gr, qr, qt, V2, Rn, Pn, On, In, Dn, Jt, Ln, Qr, Xr, ei, er, zn, jn, Fn, Bn, le, Yn, Gn, qn, Hn, yt, rr, oi, ir, fi, Zn, Jn, Qn, Xn, el, tl, rl, kt, bt, il, nl, nr, ci, gl, hl, vl, wi, ki, bi, Ti, lt, Ni, Ei, $l, Ri, Nl, Pi, Rl, or, Vt, _i, Ul, Fl, Wl, we, Vi, sr, $t, ur, Nt, Ki, fa, Et, fr, pr, Zi, wa, Aa, fn, Va, Ht, ze;
|
|
58693
58693
|
var init_lib = __esm({
|
|
58694
|
-
"node_modules/tailwindcss/dist/lib.mjs"() {
|
|
58694
|
+
"../../../../../../git/ai4kanban/runner/node_modules/tailwindcss/dist/lib.mjs"() {
|
|
58695
58695
|
init_chunk_C2OYBFIH();
|
|
58696
58696
|
init_chunk_DCG7AFIE();
|
|
58697
58697
|
init_chunk_5JIJA4QV();
|
|
@@ -59010,24 +59010,24 @@ var init_lib = __esm({
|
|
|
59010
59010
|
}
|
|
59011
59011
|
});
|
|
59012
59012
|
|
|
59013
|
-
// node_modules/tailwindcss/index.css
|
|
59013
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/tailwindcss/index.css
|
|
59014
59014
|
var tailwindcss_default;
|
|
59015
59015
|
var init_tailwindcss = __esm({
|
|
59016
|
-
"node_modules/tailwindcss/index.css"() {
|
|
59016
|
+
"../../../../../../git/ai4kanban/runner/node_modules/tailwindcss/index.css"() {
|
|
59017
59017
|
tailwindcss_default = '@layer theme, base, components, utilities;\n\n@layer theme {\n @theme default {\n --font-sans:\n -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",\n "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",\n "Segoe UI Symbol", "Noto Color Emoji";\n --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;\n --font-mono:\n ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",\n "Courier New", monospace;\n\n --color-red-50: oklch(97.1% 0.013 17.38);\n --color-red-100: oklch(93.6% 0.032 17.717);\n --color-red-200: oklch(88.5% 0.062 18.334);\n --color-red-300: oklch(80.8% 0.114 19.571);\n --color-red-400: oklch(70.4% 0.191 22.216);\n --color-red-500: oklch(63.7% 0.237 25.331);\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-red-700: oklch(50.5% 0.213 27.518);\n --color-red-800: oklch(44.4% 0.177 26.899);\n --color-red-900: oklch(39.6% 0.141 25.723);\n --color-red-950: oklch(25.8% 0.092 26.042);\n\n --color-orange-50: oklch(98% 0.016 73.684);\n --color-orange-100: oklch(95.4% 0.038 75.164);\n --color-orange-200: oklch(90.1% 0.076 70.697);\n --color-orange-300: oklch(83.7% 0.128 66.29);\n --color-orange-400: oklch(75% 0.183 55.934);\n --color-orange-500: oklch(70.5% 0.213 47.604);\n --color-orange-600: oklch(64.6% 0.222 41.116);\n --color-orange-700: oklch(55.3% 0.195 38.402);\n --color-orange-800: oklch(47% 0.157 37.304);\n --color-orange-900: oklch(40.8% 0.123 38.172);\n --color-orange-950: oklch(26.6% 0.079 36.259);\n\n --color-amber-50: oklch(98.7% 0.022 95.277);\n --color-amber-100: oklch(96.2% 0.059 95.617);\n --color-amber-200: oklch(92.4% 0.12 95.746);\n --color-amber-300: oklch(87.9% 0.169 91.605);\n --color-amber-400: oklch(82.8% 0.189 84.429);\n --color-amber-500: oklch(76.9% 0.188 70.08);\n --color-amber-600: oklch(66.6% 0.179 58.318);\n --color-amber-700: oklch(55.5% 0.163 48.998);\n --color-amber-800: oklch(47.3% 0.137 46.201);\n --color-amber-900: oklch(41.4% 0.112 45.904);\n --color-amber-950: oklch(27.9% 0.077 45.635);\n\n --color-yellow-50: oklch(98.7% 0.026 102.212);\n --color-yellow-100: oklch(97.3% 0.071 103.193);\n --color-yellow-200: oklch(94.5% 0.129 101.54);\n --color-yellow-300: oklch(90.5% 0.182 98.111);\n --color-yellow-400: oklch(85.2% 0.199 91.936);\n --color-yellow-500: oklch(79.5% 0.184 86.047);\n --color-yellow-600: oklch(68.1% 0.162 75.834);\n --color-yellow-700: oklch(55.4% 0.135 66.442);\n --color-yellow-800: oklch(47.6% 0.114 61.907);\n --color-yellow-900: oklch(42.1% 0.095 57.708);\n --color-yellow-950: oklch(28.6% 0.066 53.813);\n\n --color-lime-50: oklch(98.6% 0.031 120.757);\n --color-lime-100: oklch(96.7% 0.067 122.328);\n --color-lime-200: oklch(93.8% 0.127 124.321);\n --color-lime-300: oklch(89.7% 0.196 126.665);\n --color-lime-400: oklch(84.1% 0.238 128.85);\n --color-lime-500: oklch(76.8% 0.233 130.85);\n --color-lime-600: oklch(64.8% 0.2 131.684);\n --color-lime-700: oklch(53.2% 0.157 131.589);\n --color-lime-800: oklch(45.3% 0.124 130.933);\n --color-lime-900: oklch(40.5% 0.101 131.063);\n --color-lime-950: oklch(27.4% 0.072 132.109);\n\n --color-green-50: oklch(98.2% 0.018 155.826);\n --color-green-100: oklch(96.2% 0.044 156.743);\n --color-green-200: oklch(92.5% 0.084 155.995);\n --color-green-300: oklch(87.1% 0.15 154.449);\n --color-green-400: oklch(79.2% 0.209 151.711);\n --color-green-500: oklch(72.3% 0.219 149.579);\n --color-green-600: oklch(62.7% 0.194 149.214);\n --color-green-700: oklch(52.7% 0.154 150.069);\n --color-green-800: oklch(44.8% 0.119 151.328);\n --color-green-900: oklch(39.3% 0.095 152.535);\n --color-green-950: oklch(26.6% 0.065 152.934);\n\n --color-emerald-50: oklch(97.9% 0.021 166.113);\n --color-emerald-100: oklch(95% 0.052 163.051);\n --color-emerald-200: oklch(90.5% 0.093 164.15);\n --color-emerald-300: oklch(84.5% 0.143 164.978);\n --color-emerald-400: oklch(76.5% 0.177 163.223);\n --color-emerald-500: oklch(69.6% 0.17 162.48);\n --color-emerald-600: oklch(59.6% 0.145 163.225);\n --color-emerald-700: oklch(50.8% 0.118 165.612);\n --color-emerald-800: oklch(43.2% 0.095 166.913);\n --color-emerald-900: oklch(37.8% 0.077 168.94);\n --color-emerald-950: oklch(26.2% 0.051 172.552);\n\n --color-teal-50: oklch(98.4% 0.014 180.72);\n --color-teal-100: oklch(95.3% 0.051 180.801);\n --color-teal-200: oklch(91% 0.096 180.426);\n --color-teal-300: oklch(85.5% 0.138 181.071);\n --color-teal-400: oklch(77.7% 0.152 181.912);\n --color-teal-500: oklch(70.4% 0.14 182.503);\n --color-teal-600: oklch(60% 0.118 184.704);\n --color-teal-700: oklch(51.1% 0.096 186.391);\n --color-teal-800: oklch(43.7% 0.078 188.216);\n --color-teal-900: oklch(38.6% 0.063 188.416);\n --color-teal-950: oklch(27.7% 0.046 192.524);\n\n --color-cyan-50: oklch(98.4% 0.019 200.873);\n --color-cyan-100: oklch(95.6% 0.045 203.388);\n --color-cyan-200: oklch(91.7% 0.08 205.041);\n --color-cyan-300: oklch(86.5% 0.127 207.078);\n --color-cyan-400: oklch(78.9% 0.154 211.53);\n --color-cyan-500: oklch(71.5% 0.143 215.221);\n --color-cyan-600: oklch(60.9% 0.126 221.723);\n --color-cyan-700: oklch(52% 0.105 223.128);\n --color-cyan-800: oklch(45% 0.085 224.283);\n --color-cyan-900: oklch(39.8% 0.07 227.392);\n --color-cyan-950: oklch(30.2% 0.056 229.695);\n\n --color-sky-50: oklch(97.7% 0.013 236.62);\n --color-sky-100: oklch(95.1% 0.026 236.824);\n --color-sky-200: oklch(90.1% 0.058 230.902);\n --color-sky-300: oklch(82.8% 0.111 230.318);\n --color-sky-400: oklch(74.6% 0.16 232.661);\n --color-sky-500: oklch(68.5% 0.169 237.323);\n --color-sky-600: oklch(58.8% 0.158 241.966);\n --color-sky-700: oklch(50% 0.134 242.749);\n --color-sky-800: oklch(44.3% 0.11 240.79);\n --color-sky-900: oklch(39.1% 0.09 240.876);\n --color-sky-950: oklch(29.3% 0.066 243.157);\n\n --color-blue-50: oklch(97% 0.014 254.604);\n --color-blue-100: oklch(93.2% 0.032 255.585);\n --color-blue-200: oklch(88.2% 0.059 254.128);\n --color-blue-300: oklch(80.9% 0.105 251.813);\n --color-blue-400: oklch(70.7% 0.165 254.624);\n --color-blue-500: oklch(62.3% 0.214 259.815);\n --color-blue-600: oklch(54.6% 0.245 262.881);\n --color-blue-700: oklch(48.8% 0.243 264.376);\n --color-blue-800: oklch(42.4% 0.199 265.638);\n --color-blue-900: oklch(37.9% 0.146 265.522);\n --color-blue-950: oklch(28.2% 0.091 267.935);\n\n --color-indigo-50: oklch(96.2% 0.018 272.314);\n --color-indigo-100: oklch(93% 0.034 272.788);\n --color-indigo-200: oklch(87% 0.065 274.039);\n --color-indigo-300: oklch(78.5% 0.115 274.713);\n --color-indigo-400: oklch(67.3% 0.182 276.935);\n --color-indigo-500: oklch(58.5% 0.233 277.117);\n --color-indigo-600: oklch(51.1% 0.262 276.966);\n --color-indigo-700: oklch(45.7% 0.24 277.023);\n --color-indigo-800: oklch(39.8% 0.195 277.366);\n --color-indigo-900: oklch(35.9% 0.144 278.697);\n --color-indigo-950: oklch(25.7% 0.09 281.288);\n\n --color-violet-50: oklch(96.9% 0.016 293.756);\n --color-violet-100: oklch(94.3% 0.029 294.588);\n --color-violet-200: oklch(89.4% 0.057 293.283);\n --color-violet-300: oklch(81.1% 0.111 293.571);\n --color-violet-400: oklch(70.2% 0.183 293.541);\n --color-violet-500: oklch(60.6% 0.25 292.717);\n --color-violet-600: oklch(54.1% 0.281 293.009);\n --color-violet-700: oklch(49.1% 0.27 292.581);\n --color-violet-800: oklch(43.2% 0.232 292.759);\n --color-violet-900: oklch(38% 0.189 293.745);\n --color-violet-950: oklch(28.3% 0.141 291.089);\n\n --color-purple-50: oklch(97.7% 0.014 308.299);\n --color-purple-100: oklch(94.6% 0.033 307.174);\n --color-purple-200: oklch(90.2% 0.063 306.703);\n --color-purple-300: oklch(82.7% 0.119 306.383);\n --color-purple-400: oklch(71.4% 0.203 305.504);\n --color-purple-500: oklch(62.7% 0.265 303.9);\n --color-purple-600: oklch(55.8% 0.288 302.321);\n --color-purple-700: oklch(49.6% 0.265 301.924);\n --color-purple-800: oklch(43.8% 0.218 303.724);\n --color-purple-900: oklch(38.1% 0.176 304.987);\n --color-purple-950: oklch(29.1% 0.149 302.717);\n\n --color-fuchsia-50: oklch(97.7% 0.017 320.058);\n --color-fuchsia-100: oklch(95.2% 0.037 318.852);\n --color-fuchsia-200: oklch(90.3% 0.076 319.62);\n --color-fuchsia-300: oklch(83.3% 0.145 321.434);\n --color-fuchsia-400: oklch(74% 0.238 322.16);\n --color-fuchsia-500: oklch(66.7% 0.295 322.15);\n --color-fuchsia-600: oklch(59.1% 0.293 322.896);\n --color-fuchsia-700: oklch(51.8% 0.253 323.949);\n --color-fuchsia-800: oklch(45.2% 0.211 324.591);\n --color-fuchsia-900: oklch(40.1% 0.17 325.612);\n --color-fuchsia-950: oklch(29.3% 0.136 325.661);\n\n --color-pink-50: oklch(97.1% 0.014 343.198);\n --color-pink-100: oklch(94.8% 0.028 342.258);\n --color-pink-200: oklch(89.9% 0.061 343.231);\n --color-pink-300: oklch(82.3% 0.12 346.018);\n --color-pink-400: oklch(71.8% 0.202 349.761);\n --color-pink-500: oklch(65.6% 0.241 354.308);\n --color-pink-600: oklch(59.2% 0.249 0.584);\n --color-pink-700: oklch(52.5% 0.223 3.958);\n --color-pink-800: oklch(45.9% 0.187 3.815);\n --color-pink-900: oklch(40.8% 0.153 2.432);\n --color-pink-950: oklch(28.4% 0.109 3.907);\n\n --color-rose-50: oklch(96.9% 0.015 12.422);\n --color-rose-100: oklch(94.1% 0.03 12.58);\n --color-rose-200: oklch(89.2% 0.058 10.001);\n --color-rose-300: oklch(81% 0.117 11.638);\n --color-rose-400: oklch(71.2% 0.194 13.428);\n --color-rose-500: oklch(64.5% 0.246 16.439);\n --color-rose-600: oklch(58.6% 0.253 17.585);\n --color-rose-700: oklch(51.4% 0.222 16.935);\n --color-rose-800: oklch(45.5% 0.188 13.697);\n --color-rose-900: oklch(41% 0.159 10.272);\n --color-rose-950: oklch(27.1% 0.105 12.094);\n\n --color-slate-50: oklch(98.4% 0.003 247.858);\n --color-slate-100: oklch(96.8% 0.007 247.896);\n --color-slate-200: oklch(92.9% 0.013 255.508);\n --color-slate-300: oklch(86.9% 0.022 252.894);\n --color-slate-400: oklch(70.4% 0.04 256.788);\n --color-slate-500: oklch(55.4% 0.046 257.417);\n --color-slate-600: oklch(44.6% 0.043 257.281);\n --color-slate-700: oklch(37.2% 0.044 257.287);\n --color-slate-800: oklch(27.9% 0.041 260.031);\n --color-slate-900: oklch(20.8% 0.042 265.755);\n --color-slate-950: oklch(12.9% 0.042 264.695);\n\n --color-gray-50: oklch(98.5% 0.002 247.839);\n --color-gray-100: oklch(96.7% 0.003 264.542);\n --color-gray-200: oklch(92.8% 0.006 264.531);\n --color-gray-300: oklch(87.2% 0.01 258.338);\n --color-gray-400: oklch(70.7% 0.022 261.325);\n --color-gray-500: oklch(55.1% 0.027 264.364);\n --color-gray-600: oklch(44.6% 0.03 256.802);\n --color-gray-700: oklch(37.3% 0.034 259.733);\n --color-gray-800: oklch(27.8% 0.033 256.848);\n --color-gray-900: oklch(21% 0.034 264.665);\n --color-gray-950: oklch(13% 0.028 261.692);\n\n --color-zinc-50: oklch(98.5% 0 none);\n --color-zinc-100: oklch(96.7% 0.001 286.375);\n --color-zinc-200: oklch(92% 0.004 286.32);\n --color-zinc-300: oklch(87.1% 0.006 286.286);\n --color-zinc-400: oklch(70.5% 0.015 286.067);\n --color-zinc-500: oklch(55.2% 0.016 285.938);\n --color-zinc-600: oklch(44.2% 0.017 285.786);\n --color-zinc-700: oklch(37% 0.013 285.805);\n --color-zinc-800: oklch(27.4% 0.006 286.033);\n --color-zinc-900: oklch(21% 0.006 285.885);\n --color-zinc-950: oklch(14.1% 0.005 285.823);\n\n --color-neutral-50: oklch(98.5% 0 none);\n --color-neutral-100: oklch(97% 0 none);\n --color-neutral-200: oklch(92.2% 0 none);\n --color-neutral-300: oklch(87% 0 none);\n --color-neutral-400: oklch(70.8% 0 none);\n --color-neutral-500: oklch(55.6% 0 none);\n --color-neutral-600: oklch(43.9% 0 none);\n --color-neutral-700: oklch(37.1% 0 none);\n --color-neutral-800: oklch(26.9% 0 none);\n --color-neutral-900: oklch(20.5% 0 none);\n --color-neutral-950: oklch(14.5% 0 none);\n\n --color-stone-50: oklch(98.5% 0.001 106.423);\n --color-stone-100: oklch(97% 0.001 106.424);\n --color-stone-200: oklch(92.3% 0.003 48.717);\n --color-stone-300: oklch(86.9% 0.005 56.366);\n --color-stone-400: oklch(70.9% 0.01 56.259);\n --color-stone-500: oklch(55.3% 0.013 58.071);\n --color-stone-600: oklch(44.4% 0.011 73.639);\n --color-stone-700: oklch(37.4% 0.01 67.558);\n --color-stone-800: oklch(26.8% 0.007 34.298);\n --color-stone-900: oklch(21.6% 0.006 56.043);\n --color-stone-950: oklch(14.7% 0.004 49.25);\n\n --color-mauve-50: oklch(98.5% 0 none);\n --color-mauve-100: oklch(96% 0.003 325.6);\n --color-mauve-200: oklch(92.2% 0.005 325.62);\n --color-mauve-300: oklch(86.5% 0.012 325.68);\n --color-mauve-400: oklch(71.1% 0.019 323.02);\n --color-mauve-500: oklch(54.2% 0.034 322.5);\n --color-mauve-600: oklch(43.5% 0.029 321.78);\n --color-mauve-700: oklch(36.4% 0.029 323.89);\n --color-mauve-800: oklch(26.3% 0.024 320.12);\n --color-mauve-900: oklch(21.2% 0.019 322.12);\n --color-mauve-950: oklch(14.5% 0.008 326);\n\n --color-olive-50: oklch(98.8% 0.003 106.5);\n --color-olive-100: oklch(96.6% 0.005 106.5);\n --color-olive-200: oklch(93% 0.007 106.5);\n --color-olive-300: oklch(88% 0.011 106.6);\n --color-olive-400: oklch(73.7% 0.021 106.9);\n --color-olive-500: oklch(58% 0.031 107.3);\n --color-olive-600: oklch(46.6% 0.025 107.3);\n --color-olive-700: oklch(39.4% 0.023 107.4);\n --color-olive-800: oklch(28.6% 0.016 107.4);\n --color-olive-900: oklch(22.8% 0.013 107.4);\n --color-olive-950: oklch(15.3% 0.006 107.1);\n\n --color-mist-50: oklch(98.7% 0.002 197.1);\n --color-mist-100: oklch(96.3% 0.002 197.1);\n --color-mist-200: oklch(92.5% 0.005 214.3);\n --color-mist-300: oklch(87.2% 0.007 219.6);\n --color-mist-400: oklch(72.3% 0.014 214.4);\n --color-mist-500: oklch(56% 0.021 213.5);\n --color-mist-600: oklch(45% 0.017 213.2);\n --color-mist-700: oklch(37.8% 0.015 216);\n --color-mist-800: oklch(27.5% 0.011 216.9);\n --color-mist-900: oklch(21.8% 0.008 223.9);\n --color-mist-950: oklch(14.8% 0.004 228.8);\n\n --color-taupe-50: oklch(98.6% 0.002 67.8);\n --color-taupe-100: oklch(96% 0.002 17.2);\n --color-taupe-200: oklch(92.2% 0.005 34.3);\n --color-taupe-300: oklch(86.8% 0.007 39.5);\n --color-taupe-400: oklch(71.4% 0.014 41.2);\n --color-taupe-500: oklch(54.7% 0.021 43.1);\n --color-taupe-600: oklch(43.8% 0.017 39.3);\n --color-taupe-700: oklch(36.7% 0.016 35.7);\n --color-taupe-800: oklch(26.8% 0.011 36.5);\n --color-taupe-900: oklch(21.4% 0.009 43.1);\n --color-taupe-950: oklch(14.7% 0.004 49.3);\n\n --color-black: #000;\n --color-white: #fff;\n\n --spacing: 0.25rem;\n\n --breakpoint-sm: 40rem;\n --breakpoint-md: 48rem;\n --breakpoint-lg: 64rem;\n --breakpoint-xl: 80rem;\n --breakpoint-2xl: 96rem;\n\n --container-3xs: 16rem;\n --container-2xs: 18rem;\n --container-xs: 20rem;\n --container-sm: 24rem;\n --container-md: 28rem;\n --container-lg: 32rem;\n --container-xl: 36rem;\n --container-2xl: 42rem;\n --container-3xl: 48rem;\n --container-4xl: 56rem;\n --container-5xl: 64rem;\n --container-6xl: 72rem;\n --container-7xl: 80rem;\n\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-3xl: 1.875rem;\n --text-3xl--line-height: calc(2.25 / 1.875);\n --text-4xl: 2.25rem;\n --text-4xl--line-height: calc(2.5 / 2.25);\n --text-5xl: 3rem;\n --text-5xl--line-height: 1;\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --text-7xl: 4.5rem;\n --text-7xl--line-height: 1;\n --text-8xl: 6rem;\n --text-8xl--line-height: 1;\n --text-9xl: 8rem;\n --text-9xl--line-height: 1;\n\n --font-weight-thin: 100;\n --font-weight-extralight: 200;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-extrabold: 800;\n --font-weight-black: 900;\n\n --tracking-tighter: -0.05em;\n --tracking-tight: -0.025em;\n --tracking-normal: 0em;\n --tracking-wide: 0.025em;\n --tracking-wider: 0.05em;\n --tracking-widest: 0.1em;\n\n --leading-tight: 1.25;\n --leading-snug: 1.375;\n --leading-normal: 1.5;\n --leading-relaxed: 1.625;\n --leading-loose: 2;\n\n --radius-xs: 0.125rem;\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-xl: 0.75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --radius-4xl: 2rem;\n\n --shadow-2xs: 0 1px rgb(0 0 0 / 0.05);\n --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --shadow-md:\n 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --shadow-lg:\n 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --shadow-xl:\n 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n\n --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / 0.05);\n --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / 0.05);\n --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / 0.05);\n\n --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / 0.05);\n --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.15);\n --drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);\n --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / 0.15);\n --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / 0.1);\n --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / 0.15);\n\n --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / 0.15);\n --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / 0.2);\n --text-shadow-sm:\n 0px 1px 0px rgb(0 0 0 / 0.075), 0px 1px 1px rgb(0 0 0 / 0.075),\n 0px 2px 2px rgb(0 0 0 / 0.075);\n --text-shadow-md:\n 0px 1px 1px rgb(0 0 0 / 0.1), 0px 1px 2px rgb(0 0 0 / 0.1),\n 0px 2px 4px rgb(0 0 0 / 0.1);\n --text-shadow-lg:\n 0px 1px 2px rgb(0 0 0 / 0.1), 0px 3px 2px rgb(0 0 0 / 0.1),\n 0px 4px 8px rgb(0 0 0 / 0.1);\n\n --ease-in: cubic-bezier(0.4, 0, 1, 1);\n --ease-out: cubic-bezier(0, 0, 0.2, 1);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n\n --animate-spin: spin 1s linear infinite;\n --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --animate-bounce: bounce 1s infinite;\n\n @keyframes spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n @keyframes ping {\n 75%,\n 100% {\n transform: scale(2);\n opacity: 0;\n }\n }\n\n @keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n }\n\n @keyframes bounce {\n 0%,\n 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n }\n\n --blur-xs: 4px;\n --blur-sm: 8px;\n --blur-md: 12px;\n --blur-lg: 16px;\n --blur-xl: 24px;\n --blur-2xl: 40px;\n --blur-3xl: 64px;\n\n --perspective-dramatic: 100px;\n --perspective-near: 300px;\n --perspective-normal: 500px;\n --perspective-midrange: 800px;\n --perspective-distant: 1200px;\n\n --aspect-video: 16 / 9;\n\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: --theme(--font-sans, initial);\n --default-font-feature-settings: --theme(\n --font-sans--font-feature-settings,\n initial\n );\n --default-font-variation-settings: --theme(\n --font-sans--font-variation-settings,\n initial\n );\n --default-mono-font-family: --theme(--font-mono, initial);\n --default-mono-font-feature-settings: --theme(\n --font-mono--font-feature-settings,\n initial\n );\n --default-mono-font-variation-settings: --theme(\n --font-mono--font-variation-settings,\n initial\n );\n }\n\n /* Deprecated */\n @theme default inline reference {\n --blur: 8px;\n --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --drop-shadow: 0 1px 2px rgb(0 0 0 / 0.1), 0 1px 1px rgb(0 0 0 / 0.06);\n --radius: 0.25rem;\n --max-width-prose: 65ch;\n }\n}\n\n@layer base {\n /*\n 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n 2. Remove default margins and padding\n 3. Reset all borders.\n*/\n\n *,\n ::after,\n ::before,\n ::backdrop,\n ::file-selector-button {\n box-sizing: border-box; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 2 */\n border: 0 solid; /* 3 */\n }\n\n /*\n 1. Use a consistent sensible line-height in all browsers.\n 2. Prevent adjustments of font size after orientation changes in iOS.\n 3. Use a more readable tab size.\n 4. Use the user\'s configured `sans` font-family by default.\n 5. Use the user\'s configured `sans` font-feature-settings by default.\n 6. Use the user\'s configured `sans` font-variation-settings by default.\n 7. Disable tap highlights on iOS.\n*/\n\n html,\n :host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n tab-size: 4; /* 3 */\n font-family: --theme(\n --default-font-family,\n -apple-system,\n BlinkMacSystemFont,\n "Segoe UI",\n Roboto,\n "Helvetica Neue",\n "Noto Sans",\n Arial,\n sans-serif,\n "Apple Color Emoji",\n "Segoe UI Emoji",\n "Segoe UI Symbol",\n "Noto Color Emoji"\n ); /* 4 */\n font-feature-settings: --theme(\n --default-font-feature-settings,\n normal\n ); /* 5 */\n font-variation-settings: --theme(\n --default-font-variation-settings,\n normal\n ); /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n }\n\n /*\n 1. Add the correct height in Firefox.\n 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n 3. Reset the default border style to a 1px solid border.\n*/\n\n hr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n }\n\n /*\n Add the correct text decoration in Chrome, Edge, and Safari.\n*/\n\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n\n /*\n Remove the default font size and weight for headings.\n*/\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n\n /*\n Reset links to optimize for opt-in styling instead of opt-out.\n*/\n\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n\n /*\n Add the correct font weight in Edge and Safari.\n*/\n\n b,\n strong {\n font-weight: bolder;\n }\n\n /*\n 1. Use the user\'s configured `mono` font-family by default.\n 2. Use the user\'s configured `mono` font-feature-settings by default.\n 3. Use the user\'s configured `mono` font-variation-settings by default.\n 4. Correct the odd `em` font sizing in all browsers.\n*/\n\n code,\n kbd,\n samp,\n pre {\n font-family: --theme(\n --default-mono-font-family,\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n "Liberation Mono",\n "Courier New",\n monospace\n ); /* 1 */\n font-feature-settings: --theme(\n --default-mono-font-feature-settings,\n normal\n ); /* 2 */\n font-variation-settings: --theme(\n --default-mono-font-variation-settings,\n normal\n ); /* 3 */\n font-size: 1em; /* 4 */\n }\n\n /*\n Add the correct font size in all browsers.\n*/\n\n small {\n font-size: 80%;\n }\n\n /*\n Prevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n\n sub {\n bottom: -0.25em;\n }\n\n sup {\n top: -0.5em;\n }\n\n /*\n 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n 3. Remove gaps between table borders by default.\n*/\n\n table {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n }\n\n /*\n Use the modern Firefox focus style for all focusable elements.\n*/\n\n :-moz-focusring:where(:not(iframe)) {\n outline: auto;\n }\n\n /*\n Add the correct vertical alignment in Chrome and Firefox.\n*/\n\n progress {\n vertical-align: baseline;\n }\n\n /*\n Add the correct display in Chrome and Safari.\n*/\n\n summary {\n display: list-item;\n }\n\n /*\n Make lists unstyled by default.\n*/\n\n ol,\n ul,\n menu {\n list-style: none;\n }\n\n /*\n 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n }\n\n /*\n Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n\n /*\n 1. Inherit font styles in all browsers.\n 2. Remove border radius in all browsers.\n 3. Remove background color in all browsers.\n 4. Ensure consistent opacity for disabled states in all browsers.\n*/\n\n button,\n input,\n select,\n optgroup,\n textarea,\n ::file-selector-button {\n font: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n border-radius: 0; /* 2 */\n background-color: transparent; /* 3 */\n opacity: 1; /* 4 */\n }\n\n /*\n Restore default font weight.\n*/\n\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n\n /*\n Restore indentation.\n*/\n\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n\n /*\n Restore space after button.\n*/\n\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n\n /*\n Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n*/\n\n ::placeholder {\n opacity: 1;\n }\n\n /*\n Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not\n crash when using `color-mix(\u2026)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)\n*/\n\n @supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or\n (contain-intrinsic-size: 1px) /* Safari 17+ */ {\n ::placeholder {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n\n /*\n Prevent resizing textareas horizontally by default.\n*/\n\n textarea {\n resize: vertical;\n }\n\n /*\n Remove the inner padding in Chrome and Safari on macOS.\n*/\n\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n /*\n 1. Ensure date/time inputs have the same height when empty in iOS Safari.\n 2. Ensure text alignment can be changed on date/time inputs in iOS Safari.\n*/\n\n ::-webkit-date-and-time-value {\n min-height: 1lh; /* 1 */\n text-align: inherit; /* 2 */\n }\n\n /*\n Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.\n*/\n\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n\n /*\n Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.\n*/\n\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n\n ::-webkit-datetime-edit,\n ::-webkit-datetime-edit-year-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n\n /*\n Center dropdown marker shown on inputs with paired `<datalist>`s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)\n*/\n\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n\n /*\n Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n :-moz-ui-invalid {\n box-shadow: none;\n }\n\n /*\n Correct the inability to style the border radius in iOS Safari.\n*/\n\n button,\n input:where([type="button"], [type="reset"], [type="submit"]),\n ::file-selector-button {\n appearance: button;\n }\n\n /*\n Correct the cursor style of increment and decrement buttons in Safari.\n*/\n\n ::-webkit-inner-spin-button,\n ::-webkit-outer-spin-button {\n height: auto;\n }\n\n /*\n Make elements with the HTML hidden attribute stay hidden by default.\n*/\n\n [hidden]:where(:not([hidden="until-found"])) {\n display: none !important;\n }\n}\n\n@layer utilities {\n @tailwind utilities;\n}\n';
|
|
59018
59018
|
}
|
|
59019
59019
|
});
|
|
59020
59020
|
|
|
59021
|
-
// node_modules/react-icons/lib/iconsManifest.mjs
|
|
59021
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react-icons/lib/iconsManifest.mjs
|
|
59022
59022
|
var init_iconsManifest = __esm({
|
|
59023
|
-
"node_modules/react-icons/lib/iconsManifest.mjs"() {
|
|
59023
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react-icons/lib/iconsManifest.mjs"() {
|
|
59024
59024
|
}
|
|
59025
59025
|
});
|
|
59026
59026
|
|
|
59027
|
-
// node_modules/react-icons/lib/iconContext.mjs
|
|
59027
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react-icons/lib/iconContext.mjs
|
|
59028
59028
|
var import_react, DefaultContext, IconContext;
|
|
59029
59029
|
var init_iconContext = __esm({
|
|
59030
|
-
"node_modules/react-icons/lib/iconContext.mjs"() {
|
|
59030
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react-icons/lib/iconContext.mjs"() {
|
|
59031
59031
|
import_react = __toESM(require_react(), 1);
|
|
59032
59032
|
DefaultContext = {
|
|
59033
59033
|
color: void 0,
|
|
@@ -59040,7 +59040,7 @@ var init_iconContext = __esm({
|
|
|
59040
59040
|
}
|
|
59041
59041
|
});
|
|
59042
59042
|
|
|
59043
|
-
// node_modules/react-icons/lib/iconBase.mjs
|
|
59043
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react-icons/lib/iconBase.mjs
|
|
59044
59044
|
function _objectWithoutProperties(e2, t2) {
|
|
59045
59045
|
if (null == e2) return {};
|
|
59046
59046
|
var o2, r2, i = _objectWithoutPropertiesLoose(e2, t2);
|
|
@@ -59141,23 +59141,23 @@ function IconBase(props) {
|
|
|
59141
59141
|
}
|
|
59142
59142
|
var import_react2, _excluded;
|
|
59143
59143
|
var init_iconBase = __esm({
|
|
59144
|
-
"node_modules/react-icons/lib/iconBase.mjs"() {
|
|
59144
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react-icons/lib/iconBase.mjs"() {
|
|
59145
59145
|
import_react2 = __toESM(require_react(), 1);
|
|
59146
59146
|
init_iconContext();
|
|
59147
59147
|
_excluded = ["attr", "size", "title"];
|
|
59148
59148
|
}
|
|
59149
59149
|
});
|
|
59150
59150
|
|
|
59151
|
-
// node_modules/react-icons/lib/index.mjs
|
|
59151
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react-icons/lib/index.mjs
|
|
59152
59152
|
var init_lib2 = __esm({
|
|
59153
|
-
"node_modules/react-icons/lib/index.mjs"() {
|
|
59153
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react-icons/lib/index.mjs"() {
|
|
59154
59154
|
init_iconsManifest();
|
|
59155
59155
|
init_iconBase();
|
|
59156
59156
|
init_iconContext();
|
|
59157
59157
|
}
|
|
59158
59158
|
});
|
|
59159
59159
|
|
|
59160
|
-
// node_modules/react-icons/fi/index.mjs
|
|
59160
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react-icons/fi/index.mjs
|
|
59161
59161
|
var fi_exports = {};
|
|
59162
59162
|
__export(fi_exports, {
|
|
59163
59163
|
FiActivity: () => FiActivity,
|
|
@@ -60310,12 +60310,12 @@ function FiActivity(props) {
|
|
|
60310
60310
|
return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24", "fill": "none", "stroke": "currentColor", "strokeWidth": "2", "strokeLinecap": "round", "strokeLinejoin": "round" }, "child": [{ "tag": "polyline", "attr": { "points": "22 12 18 12 15 21 9 3 6 12 2 12" }, "child": [] }] })(props);
|
|
60311
60311
|
}
|
|
60312
60312
|
var init_fi = __esm({
|
|
60313
|
-
"node_modules/react-icons/fi/index.mjs"() {
|
|
60313
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react-icons/fi/index.mjs"() {
|
|
60314
60314
|
init_lib2();
|
|
60315
60315
|
}
|
|
60316
60316
|
});
|
|
60317
60317
|
|
|
60318
|
-
// node_modules/react-icons/fa/index.mjs
|
|
60318
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react-icons/fa/index.mjs
|
|
60319
60319
|
var fa_exports = {};
|
|
60320
60320
|
__export(fa_exports, {
|
|
60321
60321
|
Fa500Px: () => Fa500Px,
|
|
@@ -66764,12 +66764,12 @@ function FaRegAddressBook(props) {
|
|
|
66764
66764
|
return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 448 512" }, "child": [{ "tag": "path", "attr": { "d": "M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-68 304H48V48h320v416zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z" }, "child": [] }] })(props);
|
|
66765
66765
|
}
|
|
66766
66766
|
var init_fa = __esm({
|
|
66767
|
-
"node_modules/react-icons/fa/index.mjs"() {
|
|
66767
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react-icons/fa/index.mjs"() {
|
|
66768
66768
|
init_lib2();
|
|
66769
66769
|
}
|
|
66770
66770
|
});
|
|
66771
66771
|
|
|
66772
|
-
// node_modules/react-icons/si/index.mjs
|
|
66772
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/react-icons/si/index.mjs
|
|
66773
66773
|
var si_exports = {};
|
|
66774
66774
|
__export(si_exports, {
|
|
66775
66775
|
Si1001Tracklists: () => Si1001Tracklists,
|
|
@@ -80558,12 +80558,12 @@ function Si1001Tracklists(props) {
|
|
|
80558
80558
|
return GenIcon({ "tag": "svg", "attr": { "role": "img", "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "M8.0957 1.334v1.3457H6.7461v1.3457H5.3984V5.371H4.0488v1.3457H2.6992v6.6816H1.3496v1.3477H0v2.4512h1.3496v1.3457h1.3496v1.3457h2.457v-7.836H3.8067V7.8223h1.3497V6.4766h1.3496V5.1309h1.3496V3.7852h8.289v1.3457h1.3496v1.3457h1.3496v1.3457h1.3497v4.2304h-1.3497v7.836h2.457V18.543h1.3497v-1.3457H24V14.746h-1.3496v-1.3477h-1.3496V6.7168h-1.3496V5.3711h-1.3496V4.0254h-1.3477V2.6797h-1.3496V1.334Zm1.3711 8v1.3515H8.1113v3.8165h2.4688v-4.0567h2.9512v4.3477h-1.3555v1.3515h-1.3535v2.4649h2.4668v-2.7051H16v-5.2188h-1.3555V9.334Zm1.3555 10.8691v2.463h2.4668v-2.463z" }, "child": [] }] })(props);
|
|
80559
80559
|
}
|
|
80560
80560
|
var init_si = __esm({
|
|
80561
|
-
"node_modules/react-icons/si/index.mjs"() {
|
|
80561
|
+
"../../../../../../git/ai4kanban/runner/node_modules/react-icons/si/index.mjs"() {
|
|
80562
80562
|
init_lib2();
|
|
80563
80563
|
}
|
|
80564
80564
|
});
|
|
80565
80565
|
|
|
80566
|
-
// node_modules/clsx/dist/clsx.mjs
|
|
80566
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/clsx/dist/clsx.mjs
|
|
80567
80567
|
var clsx_exports = {};
|
|
80568
80568
|
__export(clsx_exports, {
|
|
80569
80569
|
clsx: () => clsx,
|
|
@@ -80584,12 +80584,12 @@ function clsx() {
|
|
|
80584
80584
|
}
|
|
80585
80585
|
var clsx_default;
|
|
80586
80586
|
var init_clsx = __esm({
|
|
80587
|
-
"node_modules/clsx/dist/clsx.mjs"() {
|
|
80587
|
+
"../../../../../../git/ai4kanban/runner/node_modules/clsx/dist/clsx.mjs"() {
|
|
80588
80588
|
clsx_default = clsx;
|
|
80589
80589
|
}
|
|
80590
80590
|
});
|
|
80591
80591
|
|
|
80592
|
-
// node_modules/tailwind-merge/dist/bundle-mjs.mjs
|
|
80592
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/tailwind-merge/dist/bundle-mjs.mjs
|
|
80593
80593
|
var bundle_mjs_exports = {};
|
|
80594
80594
|
__export(bundle_mjs_exports, {
|
|
80595
80595
|
createTailwindMerge: () => createTailwindMerge,
|
|
@@ -80603,7 +80603,7 @@ __export(bundle_mjs_exports, {
|
|
|
80603
80603
|
});
|
|
80604
80604
|
var concatArrays, createClassValidatorObject, createClassPartObject, CLASS_PART_SEPARATOR, EMPTY_CONFLICTS, ARBITRARY_PROPERTY_PREFIX, createClassGroupUtils, getGroupRecursive, getGroupIdForArbitraryProperty, createClassMap, processClassGroups, processClassesRecursively, processClassDefinition, processStringDefinition, processFunctionDefinition, processObjectDefinition, getPart, isThemeGetter, createLruCache, IMPORTANT_MODIFIER, MODIFIER_SEPARATOR, EMPTY_MODIFIERS, createResultObject, createParseClassName, createSortModifiers, createConfigUtils, createPostfixLookupClassGroupIds, SPLIT_CLASSES_REGEX, mergeClassList, twJoin, toValue, createTailwindMerge, fallbackThemeArr, fromTheme, arbitraryValueRegex, arbitraryVariableRegex, fractionRegex, tshirtUnitRegex, lengthUnitRegex, colorFunctionRegex, shadowRegex, imageRegex, isFraction, isNumber, isInteger, isPercent, isTshirtSize, isAny, isLengthOnly, isNever, isShadow, isImage, isAnyNonArbitrary, isNamedContainerQuery, isArbitrarySize, isArbitraryValue, isArbitraryLength, isArbitraryNumber, isArbitraryWeight, isArbitraryFamilyName, isArbitraryPosition, isArbitraryImage, isArbitraryShadow, isArbitraryVariable, isArbitraryVariableLength, isArbitraryVariableFamilyName, isArbitraryVariablePosition, isArbitraryVariableSize, isArbitraryVariableImage, isArbitraryVariableShadow, isArbitraryVariableWeight, getIsArbitraryValue, getIsArbitraryVariable, isLabelPosition, isLabelImage, isLabelSize, isLabelLength, isLabelNumber, isLabelFamilyName, isLabelWeight, isLabelShadow, validators, getDefaultConfig, mergeConfigs, overrideProperty, overrideConfigProperties, mergeConfigProperties, mergeArrayProperties, extendTailwindMerge, twMerge;
|
|
80605
80605
|
var init_bundle_mjs = __esm({
|
|
80606
|
-
"node_modules/tailwind-merge/dist/bundle-mjs.mjs"() {
|
|
80606
|
+
"../../../../../../git/ai4kanban/runner/node_modules/tailwind-merge/dist/bundle-mjs.mjs"() {
|
|
80607
80607
|
concatArrays = (array1, array2) => {
|
|
80608
80608
|
const combinedArray = new Array(array1.length + array2.length);
|
|
80609
80609
|
for (let i = 0; i < array1.length; i++) {
|
|
@@ -80745,9 +80745,9 @@ var init_bundle_mjs = __esm({
|
|
|
80745
80745
|
processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme);
|
|
80746
80746
|
}
|
|
80747
80747
|
};
|
|
80748
|
-
getPart = (classPartObject,
|
|
80748
|
+
getPart = (classPartObject, path33) => {
|
|
80749
80749
|
let current = classPartObject;
|
|
80750
|
-
const parts =
|
|
80750
|
+
const parts = path33.split(CLASS_PART_SEPARATOR);
|
|
80751
80751
|
const len = parts.length;
|
|
80752
80752
|
for (let i = 0; i < len; i++) {
|
|
80753
80753
|
const part = parts[i];
|
|
@@ -83943,7 +83943,7 @@ var init_bundle_mjs = __esm({
|
|
|
83943
83943
|
}
|
|
83944
83944
|
});
|
|
83945
83945
|
|
|
83946
|
-
// node_modules/class-variance-authority/dist/index.mjs
|
|
83946
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/class-variance-authority/dist/index.mjs
|
|
83947
83947
|
var dist_exports = {};
|
|
83948
83948
|
__export(dist_exports, {
|
|
83949
83949
|
cva: () => cva,
|
|
@@ -83951,7 +83951,7 @@ __export(dist_exports, {
|
|
|
83951
83951
|
});
|
|
83952
83952
|
var falsyToString, cx, cva;
|
|
83953
83953
|
var init_dist = __esm({
|
|
83954
|
-
"node_modules/class-variance-authority/dist/index.mjs"() {
|
|
83954
|
+
"../../../../../../git/ai4kanban/runner/node_modules/class-variance-authority/dist/index.mjs"() {
|
|
83955
83955
|
init_clsx();
|
|
83956
83956
|
falsyToString = (value) => typeof value === "boolean" ? `${value}` : value === 0 ? "0" : value;
|
|
83957
83957
|
cx = clsx;
|
|
@@ -84239,12 +84239,6 @@ function writeSession(session) {
|
|
|
84239
84239
|
`, { mode: 384 });
|
|
84240
84240
|
fs.renameSync(tmp, sessionFile());
|
|
84241
84241
|
}
|
|
84242
|
-
function clearSession() {
|
|
84243
|
-
try {
|
|
84244
|
-
fs.rmSync(sessionFile());
|
|
84245
|
-
} catch {
|
|
84246
|
-
}
|
|
84247
|
-
}
|
|
84248
84242
|
async function accessToken() {
|
|
84249
84243
|
const held4 = readSession();
|
|
84250
84244
|
if (!held4) return { ok: false, reason: "signed-out" };
|
|
@@ -84355,7 +84349,7 @@ function alive(pid) {
|
|
|
84355
84349
|
return e2.code === "EPERM";
|
|
84356
84350
|
}
|
|
84357
84351
|
}
|
|
84358
|
-
var sleep = (
|
|
84352
|
+
var sleep = (ms) => new Promise((resolve2) => setTimeout(resolve2, ms));
|
|
84359
84353
|
|
|
84360
84354
|
// src/home.ts
|
|
84361
84355
|
import crypto from "node:crypto";
|
|
@@ -84384,8 +84378,8 @@ function machineId() {
|
|
|
84384
84378
|
var machineName = () => os2.hostname().replace(/\.local$/, "");
|
|
84385
84379
|
|
|
84386
84380
|
// src/i18n.ts
|
|
84387
|
-
var ZH_HOLDER = { "claude-code": "Claude Code", codex: "Codex", terminal: "\u672C\u673A\u7EC8\u7AEF"
|
|
84388
|
-
var EN_HOLDER = { "claude-code": "Claude Code", codex: "Codex", terminal: "the terminal"
|
|
84381
|
+
var ZH_HOLDER = { "claude-code": "Claude Code", codex: "Codex", terminal: "\u672C\u673A\u7EC8\u7AEF" };
|
|
84382
|
+
var EN_HOLDER = { "claude-code": "Claude Code", codex: "Codex", terminal: "the terminal" };
|
|
84389
84383
|
var ZH = {
|
|
84390
84384
|
signIn: (url) => `\u8BF7\u5728\u6D4F\u89C8\u5668\u4E2D\u767B\u5F55 WildCrane\uFF1A
|
|
84391
84385
|
${url}`,
|
|
@@ -84404,13 +84398,7 @@ ${url}`,
|
|
|
84404
84398
|
const who = holder ? ZH_HOLDER[holder] : "\u672C\u673A\u53E6\u4E00\u4E2A\u7A0B\u5E8F";
|
|
84405
84399
|
return `${who}\u5DF2\u5728\u8FD0\u884C\u4E00\u4E2A WildCrane \u5B9E\u4F8B\uFF0C\u8D1F\u8D23\u63A5\u6536\u6240\u6709\u8FD0\u884C\u4EFB\u52A1\u3002\u5F53\u524D\u5B9E\u4F8B\u5DF2\u6682\u505C\uFF0C${who}\u5173\u95ED\u540E\u5C06\u7531\u5F53\u524D\u5B9E\u4F8B\u63A5\u66FF\u3002`;
|
|
84406
84400
|
},
|
|
84407
|
-
stopped: () => "\u5DF2\u505C\u6B62"
|
|
84408
|
-
reviewTitle: () => "\u5F85\u4F60\u5BA1\u6838",
|
|
84409
|
-
reviewBody: (task) => `\u300C${task}\u300D\u5F85\u5BA1\u6838`,
|
|
84410
|
-
doneTitle: () => "\u4EFB\u52A1\u5DF2\u5B8C\u6210",
|
|
84411
|
-
failedTitle: () => "\u4EFB\u52A1\u5931\u8D25",
|
|
84412
|
-
commentTitle: (task) => `\u300C${task}\u300D\u6709\u65B0\u8BC4\u8BBA`,
|
|
84413
|
-
commentBody: (who, text3) => `${who}\uFF1A${text3}`
|
|
84401
|
+
stopped: () => "\u5DF2\u505C\u6B62"
|
|
84414
84402
|
};
|
|
84415
84403
|
var EN = {
|
|
84416
84404
|
signIn: (url) => `Sign in to WildCrane in your browser:
|
|
@@ -84430,13 +84418,7 @@ ${url}`,
|
|
|
84430
84418
|
const who = holder ? EN_HOLDER[holder] : "another app on this computer";
|
|
84431
84419
|
return `${who[0].toUpperCase()}${who.slice(1)} is already running a WildCrane instance that takes all run tasks. This instance is paused and takes over when ${who} closes.`;
|
|
84432
84420
|
},
|
|
84433
|
-
stopped: () => "Stopped"
|
|
84434
|
-
reviewTitle: () => "Needs your review",
|
|
84435
|
-
reviewBody: (task) => `"${task}" is ready for review`,
|
|
84436
|
-
doneTitle: () => "Task finished",
|
|
84437
|
-
failedTitle: () => "Task failed",
|
|
84438
|
-
commentTitle: (task) => `New comment on ${task}`,
|
|
84439
|
-
commentBody: (who, text3) => `${who}: ${text3}`
|
|
84421
|
+
stopped: () => "Stopped"
|
|
84440
84422
|
};
|
|
84441
84423
|
function isChinese(env2 = process.env) {
|
|
84442
84424
|
const lang = env2.LC_ALL || env2.LC_MESSAGES || env2.LANG || Intl.DateTimeFormat().resolvedOptions().locale;
|
|
@@ -84453,9 +84435,9 @@ function status(line) {
|
|
|
84453
84435
|
}
|
|
84454
84436
|
|
|
84455
84437
|
// src/protocol.ts
|
|
84456
|
-
var VERSION = true ? "0.6.
|
|
84457
|
-
var AKB_VERSION = true ? "0.11.
|
|
84458
|
-
var AKB_CONTRACT = true ?
|
|
84438
|
+
var VERSION = true ? "0.6.6" : "0.0.0";
|
|
84439
|
+
var AKB_VERSION = true ? "0.11.5" : "0.0.0";
|
|
84440
|
+
var AKB_CONTRACT = true ? 2 : 0;
|
|
84459
84441
|
var EXIT_REFUSED = 10;
|
|
84460
84442
|
var EXIT_OUTDATED = 11;
|
|
84461
84443
|
|
|
@@ -85309,10 +85291,10 @@ function findRollout(threadId) {
|
|
|
85309
85291
|
}
|
|
85310
85292
|
for (const name of names2) {
|
|
85311
85293
|
if (!name.startsWith("rollout-") || !name.endsWith(tail)) continue;
|
|
85312
|
-
const
|
|
85294
|
+
const path33 = join(dir, name);
|
|
85313
85295
|
try {
|
|
85314
|
-
const at2 = statSync(
|
|
85315
|
-
if (!newest2 || at2 > newest2.at) newest2 = { path:
|
|
85296
|
+
const at2 = statSync(path33).mtimeMs;
|
|
85297
|
+
if (!newest2 || at2 > newest2.at) newest2 = { path: path33, at: at2 };
|
|
85316
85298
|
} catch {
|
|
85317
85299
|
}
|
|
85318
85300
|
}
|
|
@@ -85320,11 +85302,11 @@ function findRollout(threadId) {
|
|
|
85320
85302
|
return newest2?.path;
|
|
85321
85303
|
}
|
|
85322
85304
|
function readCodexRunFacts(threadId) {
|
|
85323
|
-
const
|
|
85324
|
-
if (!
|
|
85305
|
+
const path33 = findRollout(threadId);
|
|
85306
|
+
if (!path33) return void 0;
|
|
85325
85307
|
let raw;
|
|
85326
85308
|
try {
|
|
85327
|
-
raw = readFileSync(
|
|
85309
|
+
raw = readFileSync(path33, "utf8");
|
|
85328
85310
|
} catch {
|
|
85329
85311
|
return void 0;
|
|
85330
85312
|
}
|
|
@@ -85432,8 +85414,8 @@ function renderCompleted(item) {
|
|
|
85432
85414
|
const changes = Array.isArray(item.changes) ? item.changes : [];
|
|
85433
85415
|
return changes.map((raw) => {
|
|
85434
85416
|
const change = obj(raw);
|
|
85435
|
-
const
|
|
85436
|
-
return
|
|
85417
|
+
const path33 = str(change.path);
|
|
85418
|
+
return path33 ? `\u23FA ${str(change.kind) || "change"}(${path33})
|
|
85437
85419
|
` : "";
|
|
85438
85420
|
}).join("");
|
|
85439
85421
|
}
|
|
@@ -85681,10 +85663,10 @@ function readKimiRunFacts(sessionId) {
|
|
|
85681
85663
|
const total = { input: 0, cacheCreation: 0, cacheRead: 0, output: 0 };
|
|
85682
85664
|
let model;
|
|
85683
85665
|
let holding = 0;
|
|
85684
|
-
for (const { path:
|
|
85666
|
+
for (const { path: path33, main: main2 } of wireFiles(entry.sessionDir)) {
|
|
85685
85667
|
let raw;
|
|
85686
85668
|
try {
|
|
85687
|
-
raw = readFileSync2(
|
|
85669
|
+
raw = readFileSync2(path33, "utf8");
|
|
85688
85670
|
} catch {
|
|
85689
85671
|
continue;
|
|
85690
85672
|
}
|
|
@@ -85940,8 +85922,8 @@ function createTail(log) {
|
|
|
85940
85922
|
// ../cli/package.json
|
|
85941
85923
|
var package_default = {
|
|
85942
85924
|
name: "wildcrane",
|
|
85943
|
-
version: "0.11.
|
|
85944
|
-
akbContract:
|
|
85925
|
+
version: "0.11.5",
|
|
85926
|
+
akbContract: 2,
|
|
85945
85927
|
description: "WildCrane's `akb` command \u2014 scaffold the Markdown board under docs/kanban/, put an agent on a card, and carry the flows the agent works by.",
|
|
85946
85928
|
keywords: [
|
|
85947
85929
|
"kanban",
|
|
@@ -86002,8 +85984,8 @@ var CLIENT_CAPABILITIES = {
|
|
|
86002
85984
|
};
|
|
86003
85985
|
function whereHint(update2, title) {
|
|
86004
85986
|
const locations = Array.isArray(update2.locations) ? update2.locations : [];
|
|
86005
|
-
const
|
|
86006
|
-
return
|
|
85987
|
+
const path33 = str(obj(locations[0]).path);
|
|
85988
|
+
return path33 && !title.includes(path33) ? hint(path33) : "";
|
|
86007
85989
|
}
|
|
86008
85990
|
function saidBy(update2) {
|
|
86009
85991
|
const content = Array.isArray(update2.content) ? update2.content : [];
|
|
@@ -86090,7 +86072,7 @@ function createAcpClient(options = {}) {
|
|
|
86090
86072
|
async function oneTurn(io, options) {
|
|
86091
86073
|
const tail = createTail(io.log);
|
|
86092
86074
|
const events = createEventCollector();
|
|
86093
|
-
const
|
|
86075
|
+
const emit = () => {
|
|
86094
86076
|
for (const e2 of events.events()) io.event?.(e2);
|
|
86095
86077
|
};
|
|
86096
86078
|
let live = false;
|
|
@@ -86104,21 +86086,21 @@ async function oneTurn(io, options) {
|
|
|
86104
86086
|
if (live) {
|
|
86105
86087
|
update(obj(msg.params).update, tail, (usd) => costUsd = usd, (window2) => context = window2);
|
|
86106
86088
|
events.update(obj(msg.params).update);
|
|
86107
|
-
|
|
86089
|
+
emit();
|
|
86108
86090
|
}
|
|
86109
86091
|
return;
|
|
86110
86092
|
}
|
|
86111
86093
|
if (msg.id === void 0) return;
|
|
86112
86094
|
if (msg.method === "session/request_permission") {
|
|
86113
86095
|
rpc.reply(msg.id, decide(obj(msg.params), tail, events));
|
|
86114
|
-
|
|
86096
|
+
emit();
|
|
86115
86097
|
return;
|
|
86116
86098
|
}
|
|
86117
86099
|
if (msg.method === "cursor/update_todos") {
|
|
86118
86100
|
const params = obj(msg.params);
|
|
86119
86101
|
if (live) {
|
|
86120
86102
|
events.todos(params.todos, params.merge === true);
|
|
86121
|
-
|
|
86103
|
+
emit();
|
|
86122
86104
|
}
|
|
86123
86105
|
rpc.reply(msg.id, {});
|
|
86124
86106
|
return;
|
|
@@ -86149,7 +86131,7 @@ async function oneTurn(io, options) {
|
|
|
86149
86131
|
io.gotResumeId(sessionId, true);
|
|
86150
86132
|
io.log(RESTARTED);
|
|
86151
86133
|
events.log(RESTARTED);
|
|
86152
|
-
|
|
86134
|
+
emit();
|
|
86153
86135
|
}
|
|
86154
86136
|
} else {
|
|
86155
86137
|
const fresh = await newSession(rpc, io.cwd, mcpServers);
|
|
@@ -86181,10 +86163,10 @@ async function oneTurn(io, options) {
|
|
|
86181
86163
|
io.log(`[error] ${why}
|
|
86182
86164
|
`);
|
|
86183
86165
|
events.error(why);
|
|
86184
|
-
|
|
86166
|
+
emit();
|
|
86185
86167
|
return { ok: false, result, error: why, usage, context, costUsd };
|
|
86186
86168
|
}
|
|
86187
|
-
|
|
86169
|
+
emit();
|
|
86188
86170
|
return { ok: true, result, usage, context, costUsd };
|
|
86189
86171
|
} catch (e2) {
|
|
86190
86172
|
const error = e2 instanceof Error ? e2.message : String(e2);
|
|
@@ -86192,7 +86174,7 @@ async function oneTurn(io, options) {
|
|
|
86192
86174
|
io.log(`[error] ${error}
|
|
86193
86175
|
`);
|
|
86194
86176
|
events.error(error);
|
|
86195
|
-
|
|
86177
|
+
emit();
|
|
86196
86178
|
return { ok: false, result, error, usage: void 0, costUsd };
|
|
86197
86179
|
}
|
|
86198
86180
|
}
|
|
@@ -86895,15 +86877,15 @@ var SESSIONS_LOCK = "sessions.lock";
|
|
|
86895
86877
|
var INDEX_LOCK = "index.lock";
|
|
86896
86878
|
var UI_CONFIG_FILE = "ui.config.json";
|
|
86897
86879
|
function realPathOf(dir) {
|
|
86898
|
-
const
|
|
86880
|
+
const here = path8.resolve(dir);
|
|
86899
86881
|
const rest = [];
|
|
86900
|
-
let at2 =
|
|
86882
|
+
let at2 = here;
|
|
86901
86883
|
for (; ; ) {
|
|
86902
86884
|
try {
|
|
86903
86885
|
return path8.join(fs6.realpathSync(at2), ...rest);
|
|
86904
86886
|
} catch {
|
|
86905
86887
|
const up = path8.dirname(at2);
|
|
86906
|
-
if (up === at2) return
|
|
86888
|
+
if (up === at2) return here;
|
|
86907
86889
|
rest.unshift(path8.basename(at2));
|
|
86908
86890
|
at2 = up;
|
|
86909
86891
|
}
|
|
@@ -86936,6 +86918,7 @@ var REPO_ROOT = "";
|
|
|
86936
86918
|
var KANBAN = "";
|
|
86937
86919
|
var TODO = "";
|
|
86938
86920
|
var ARCHIVE = "";
|
|
86921
|
+
var REJECTIONS_TO_REVIEW = ".sync";
|
|
86939
86922
|
var ARCHIVE_MD = "";
|
|
86940
86923
|
var README = "";
|
|
86941
86924
|
var MODULES_MD = "";
|
|
@@ -88041,6 +88024,7 @@ var DEFAULT_HARNESS = HARNESSES[0];
|
|
|
88041
88024
|
checkHarnesses(HARNESSES);
|
|
88042
88025
|
|
|
88043
88026
|
// ../cli/src/lib/agent/env.ts
|
|
88027
|
+
var SCHEDULED_AGENTS_ENV = "AI4KANBAN_SCHEDULED_AGENTS";
|
|
88044
88028
|
var SESSION_VARS = {
|
|
88045
88029
|
"claude-code": "CLAUDE_CODE_SESSION_ID",
|
|
88046
88030
|
codex: "CODEX_THREAD_ID"
|
|
@@ -88163,7 +88147,6 @@ __export(api_exports, {
|
|
|
88163
88147
|
RUNTIMES: () => RUNTIMES,
|
|
88164
88148
|
addFolder: () => addFolder,
|
|
88165
88149
|
answerDiff: () => answerDiff,
|
|
88166
|
-
checkout: () => checkout,
|
|
88167
88150
|
claimJob: () => claimJob,
|
|
88168
88151
|
commitBoard: () => commitBoard,
|
|
88169
88152
|
createArtifact: () => createArtifact,
|
|
@@ -88173,7 +88156,6 @@ __export(api_exports, {
|
|
|
88173
88156
|
download: () => download,
|
|
88174
88157
|
dropIdea: () => dropIdea,
|
|
88175
88158
|
finishJob: () => finishJob,
|
|
88176
|
-
listAlerts: () => listAlerts,
|
|
88177
88159
|
listChats: () => listChats,
|
|
88178
88160
|
listElsewhere: () => listElsewhere,
|
|
88179
88161
|
listFolders: () => listFolders,
|
|
@@ -88186,15 +88168,11 @@ __export(api_exports, {
|
|
|
88186
88168
|
openPresence: () => openPresence,
|
|
88187
88169
|
presenceRoute: () => presenceRoute,
|
|
88188
88170
|
readAgents: () => readAgents,
|
|
88189
|
-
readAlert: () => readAlert,
|
|
88190
88171
|
readArtifact: () => readArtifact,
|
|
88191
88172
|
readBoard: () => readBoard,
|
|
88192
88173
|
readChat: () => readChat,
|
|
88193
88174
|
readDecisions: () => readDecisions,
|
|
88194
88175
|
readDiscussion: () => readDiscussion,
|
|
88195
|
-
readInbox: () => readInbox,
|
|
88196
|
-
readPlan: () => readPlan,
|
|
88197
|
-
readProfile: () => readProfile,
|
|
88198
88176
|
readProject: () => readProject,
|
|
88199
88177
|
readRejections: () => readRejections,
|
|
88200
88178
|
readRunner: () => readRunner,
|
|
@@ -88209,11 +88187,8 @@ __export(api_exports, {
|
|
|
88209
88187
|
request: () => request,
|
|
88210
88188
|
requestAgent: () => requestAgent,
|
|
88211
88189
|
saveDraft: () => saveDraft,
|
|
88212
|
-
setFolderNotify: () => setFolderNotify,
|
|
88213
88190
|
setIdeaWorkflow: () => setIdeaWorkflow,
|
|
88214
|
-
showAlert: () => showAlert,
|
|
88215
88191
|
startIdea: () => startIdea,
|
|
88216
|
-
startTrial: () => startTrial,
|
|
88217
88192
|
stopTask: () => stopTask,
|
|
88218
88193
|
targetVersion: () => targetVersion,
|
|
88219
88194
|
upload: () => upload
|
|
@@ -88253,7 +88228,7 @@ var secretsSet = () => Object.fromEntries(Object.entries(readAll()).map(([id, ke
|
|
|
88253
88228
|
var RUNTIMES = ["claude-code", "codex", "cursor", "opencode", "kimi", "dsh", "zcode", "grok"];
|
|
88254
88229
|
var PROTOCOL = 11;
|
|
88255
88230
|
var TIMEOUT_MS = 2e4;
|
|
88256
|
-
async function send(method, route, body, signedIn,
|
|
88231
|
+
async function send(method, route, body, signedIn, ms, type) {
|
|
88257
88232
|
const headers = { accept: "application/json" };
|
|
88258
88233
|
if (signedIn) {
|
|
88259
88234
|
const token = await accessToken();
|
|
@@ -88269,7 +88244,7 @@ async function send(method, route, body, signedIn, ms2, type) {
|
|
|
88269
88244
|
method,
|
|
88270
88245
|
headers,
|
|
88271
88246
|
body: body === void 0 ? void 0 : raw ? body : JSON.stringify(body),
|
|
88272
|
-
signal: AbortSignal.timeout(
|
|
88247
|
+
signal: AbortSignal.timeout(ms)
|
|
88273
88248
|
});
|
|
88274
88249
|
return { ok: true, value: response };
|
|
88275
88250
|
} catch (e2) {
|
|
@@ -88334,21 +88309,12 @@ var readAgents = (machineId2, project) => request("GET", `/v1/runner/agents?mach
|
|
|
88334
88309
|
var requestAgent = (machineId2, project, agent, workflow, seen) => request("POST", "/v1/runner/jobs", { machineId: machineId2, project, agent, workflow, seen });
|
|
88335
88310
|
var targetVersion = (machineId2) => request("GET", `/v1/runner/version?machine=${encodeURIComponent(machineId2)}`, void 0, false);
|
|
88336
88311
|
var q = encodeURIComponent;
|
|
88337
|
-
var readProfile = () => request("GET", "/v1/session");
|
|
88338
|
-
var readInbox = () => request("GET", "/v1/runner/inbox");
|
|
88339
|
-
var listAlerts = (machineId2) => request("GET", `/v1/runner/alerts?machine=${q(machineId2)}&comments=1`);
|
|
88340
|
-
var showAlert = (machineId2, alert) => request("POST", `/v1/runner/alerts/${q(alert)}/shown`, { machineId: machineId2 });
|
|
88341
|
-
var readAlert = (alert) => request("POST", `/v1/alerts/${q(alert)}/read`, {});
|
|
88342
88312
|
var listFolders = (machineId2) => request("GET", `/v1/runner/folders?machine=${q(machineId2)}`);
|
|
88343
88313
|
var listElsewhere = (machineId2) => request("GET", `/v1/runner/folders?machine=${q(machineId2)}&elsewhere=1`);
|
|
88344
88314
|
var listMachineTasks = (machineId2) => request("GET", `/v1/runner/tasks?machine=${q(machineId2)}`);
|
|
88345
88315
|
var stopTask = (task, how) => request("POST", how === "chat" ? `/v1/tasks/${q(task)}/chat/stop` : `/v1/tasks/${q(task)}/stop`, {});
|
|
88346
|
-
var addFolder = (machineId2, name,
|
|
88316
|
+
var addFolder = (machineId2, name, path33, project) => request("POST", "/v1/runner/folders", { machineId: machineId2, name, path: path33, ...project ? { project } : {} });
|
|
88347
88317
|
var removeFolder = (machineId2, project) => request("POST", `/v1/runner/folders/${q(project)}/remove`, { machineId: machineId2 });
|
|
88348
|
-
var readPlan = () => request("GET", "/v1/billing");
|
|
88349
|
-
var startTrial = () => request("POST", "/v1/billing/trial", {});
|
|
88350
|
-
var checkout = (item) => request("POST", "/v1/billing/checkout", { item, period: "monthly", source: "desktop" });
|
|
88351
|
-
var setFolderNotify = (machineId2, project, on2) => request("POST", `/v1/runner/folders/${q(project)}/notify`, { machineId: machineId2, on: on2 });
|
|
88352
88318
|
var readBoard = (project, since) => request("GET", `/v1/projects/${q(project)}/board${since === null ? "" : `?since=${since}`}`);
|
|
88353
88319
|
async function commitBoard(project, job, machine, files) {
|
|
88354
88320
|
const sent = await send("POST", `/v1/projects/${q(project)}/board/commits`, { job, machine, files }, true, TIMEOUT_MS);
|
|
@@ -88808,239 +88774,6 @@ function nextDue(lastRun, cadence) {
|
|
|
88808
88774
|
return new Date(last2.getFullYear(), last2.getMonth(), last2.getDate() + c2.n, hour, minute, 0, 0);
|
|
88809
88775
|
}
|
|
88810
88776
|
|
|
88811
|
-
// ../cli/src/lib/yaml.ts
|
|
88812
|
-
function yamlScalar(s) {
|
|
88813
|
-
const text3 = String(s);
|
|
88814
|
-
if (text3 === "") return '""';
|
|
88815
|
-
if (/^[-?:,[\]{}#&*!|>'"%@`]/.test(text3) || /:\s/.test(text3) || /[\n"]/.test(text3) || /^\s|\s$/.test(text3)) {
|
|
88816
|
-
return JSON.stringify(text3);
|
|
88817
|
-
}
|
|
88818
|
-
return text3;
|
|
88819
|
-
}
|
|
88820
|
-
function unquote(v2) {
|
|
88821
|
-
const text3 = String(v2).trim();
|
|
88822
|
-
if (text3.startsWith('"') && text3.endsWith('"')) {
|
|
88823
|
-
try {
|
|
88824
|
-
return JSON.parse(text3);
|
|
88825
|
-
} catch {
|
|
88826
|
-
return text3.slice(1, -1);
|
|
88827
|
-
}
|
|
88828
|
-
}
|
|
88829
|
-
if (text3.startsWith("'") && text3.endsWith("'")) return text3.slice(1, -1);
|
|
88830
|
-
return text3;
|
|
88831
|
-
}
|
|
88832
|
-
|
|
88833
|
-
// ../cli/src/lib/question-block.ts
|
|
88834
|
-
var MODES = ["single", "multi"];
|
|
88835
|
-
var withoutTag = (text3) => text3.replace(/^\[user\]\s+/, "");
|
|
88836
|
-
function normalizeQuestion(raw) {
|
|
88837
|
-
if (raw && typeof raw === "object" && !Array.isArray(raw)) {
|
|
88838
|
-
const source = raw;
|
|
88839
|
-
const text3 = withoutTag(String(source.question ?? source.text ?? ""));
|
|
88840
|
-
const extra = {
|
|
88841
|
-
...typeof source.agent === "string" && source.agent.trim() ? { agent: source.agent.trim() } : {},
|
|
88842
|
-
...source.skipped === true || source.skipped === "true" ? { skipped: true } : {}
|
|
88843
|
-
};
|
|
88844
|
-
const options = (Array.isArray(source.options) ? source.options : []).map((o2) => String(o2).trim()).filter(Boolean);
|
|
88845
|
-
if (options.length === 0) return { text: text3, ...extra };
|
|
88846
|
-
const mode = MODES.includes(String(source.mode)) ? String(source.mode) : "single";
|
|
88847
|
-
const recommend = (Array.isArray(source.recommend) ? source.recommend : []).map(Number).filter((n) => Number.isInteger(n) && n >= 1 && n <= options.length);
|
|
88848
|
-
return { text: text3, mode, options, recommend: mode === "single" ? recommend.slice(0, 1) : recommend, ...extra };
|
|
88849
|
-
}
|
|
88850
|
-
return { text: withoutTag(String(raw)) };
|
|
88851
|
-
}
|
|
88852
|
-
function parseQuestionsBlock(lines) {
|
|
88853
|
-
const out = [];
|
|
88854
|
-
for (let i = 0; i < lines.length; i++) {
|
|
88855
|
-
const m = lines[i].match(/^\s*-\s+([\s\S]*)$/);
|
|
88856
|
-
if (!m) continue;
|
|
88857
|
-
const head2 = m[1];
|
|
88858
|
-
const opened = head2.match(/^question:\s*(.*)$/);
|
|
88859
|
-
if (!opened) {
|
|
88860
|
-
out.push(normalizeQuestion(unquote(head2)));
|
|
88861
|
-
continue;
|
|
88862
|
-
}
|
|
88863
|
-
const q3 = {
|
|
88864
|
-
question: unquote(opened[1]),
|
|
88865
|
-
options: [],
|
|
88866
|
-
recommend: []
|
|
88867
|
-
};
|
|
88868
|
-
while (i + 1 < lines.length && !/^\s*-\s/.test(lines[i + 1])) {
|
|
88869
|
-
const field = lines[i + 1].match(/^\s*([A-Za-z_]+):\s*(.*)$/);
|
|
88870
|
-
i++;
|
|
88871
|
-
if (!field) continue;
|
|
88872
|
-
const [, key, val] = field;
|
|
88873
|
-
if (key === "options") {
|
|
88874
|
-
while (i + 1 < lines.length && /^\s*-\s+/.test(lines[i + 1])) {
|
|
88875
|
-
q3.options.push(unquote(lines[i + 1].replace(/^\s*-\s+/, "")));
|
|
88876
|
-
i++;
|
|
88877
|
-
}
|
|
88878
|
-
} else if (key === "recommend") {
|
|
88879
|
-
q3.recommend = val.replace(/^\[|\]$/g, "").split(",").map((s) => Number(s.trim())).filter((n) => Number.isInteger(n));
|
|
88880
|
-
} else if (key === "mode") {
|
|
88881
|
-
q3.mode = unquote(val);
|
|
88882
|
-
} else if (key === "agent") {
|
|
88883
|
-
q3.agent = unquote(val);
|
|
88884
|
-
} else if (key === "skipped") {
|
|
88885
|
-
q3.skipped = unquote(val) === "true";
|
|
88886
|
-
}
|
|
88887
|
-
}
|
|
88888
|
-
out.push(normalizeQuestion(q3));
|
|
88889
|
-
}
|
|
88890
|
-
return out;
|
|
88891
|
-
}
|
|
88892
|
-
|
|
88893
|
-
// ../cli/src/lib/view/rules.ts
|
|
88894
|
-
var openOf = (questions) => questions.filter((q3) => !q3.skipped);
|
|
88895
|
-
|
|
88896
|
-
// ../cli/src/lib/frontmatter.ts
|
|
88897
|
-
function parseFrontmatter(text3) {
|
|
88898
|
-
const lines = text3.split("\n");
|
|
88899
|
-
if (lines[0].trim() !== "---") return { meta: null, body: text3 };
|
|
88900
|
-
let i = 1;
|
|
88901
|
-
const fm = [];
|
|
88902
|
-
while (i < lines.length && lines[i].trim() !== "---") {
|
|
88903
|
-
fm.push(lines[i]);
|
|
88904
|
-
i++;
|
|
88905
|
-
}
|
|
88906
|
-
if (i >= lines.length) return { meta: null, body: text3 };
|
|
88907
|
-
const meta = {};
|
|
88908
|
-
for (let j2 = 0; j2 < fm.length; j2++) {
|
|
88909
|
-
const m = fm[j2].match(/^([A-Za-z_]+):\s*(.*)$/);
|
|
88910
|
-
if (!m) continue;
|
|
88911
|
-
const key = m[1];
|
|
88912
|
-
const val = m[2];
|
|
88913
|
-
if (key === "questions") {
|
|
88914
|
-
if (val === "") {
|
|
88915
|
-
const block = [];
|
|
88916
|
-
while (j2 + 1 < fm.length && /^\s/.test(fm[j2 + 1]) && fm[j2 + 1].trim() !== "") {
|
|
88917
|
-
block.push(fm[j2 + 1]);
|
|
88918
|
-
j2++;
|
|
88919
|
-
}
|
|
88920
|
-
meta.questions = parseQuestionsBlock(block);
|
|
88921
|
-
} else {
|
|
88922
|
-
meta.questions = val.trim() === "[]" ? [] : [normalizeQuestion(unquote(val))];
|
|
88923
|
-
}
|
|
88924
|
-
continue;
|
|
88925
|
-
}
|
|
88926
|
-
if (val === "") {
|
|
88927
|
-
const items = [];
|
|
88928
|
-
while (j2 + 1 < fm.length && /^\s*-\s+/.test(fm[j2 + 1])) {
|
|
88929
|
-
items.push(unquote(fm[j2 + 1].replace(/^\s*-\s+/, "")));
|
|
88930
|
-
j2++;
|
|
88931
|
-
}
|
|
88932
|
-
meta[key] = items;
|
|
88933
|
-
} else if (val.startsWith("[")) {
|
|
88934
|
-
const inner = val.slice(1, val.lastIndexOf("]"));
|
|
88935
|
-
meta[key] = inner.split(",").map((s) => s.trim()).filter(Boolean).map(unquote);
|
|
88936
|
-
} else {
|
|
88937
|
-
meta[key] = unquote(val);
|
|
88938
|
-
}
|
|
88939
|
-
}
|
|
88940
|
-
for (const k of ["blocked_by", "related"]) {
|
|
88941
|
-
const value = meta[k];
|
|
88942
|
-
if (Array.isArray(value)) {
|
|
88943
|
-
meta[k] = value.map((x2) => Number(String(x2).replace(/^#/, ""))).filter((n) => Number.isInteger(n));
|
|
88944
|
-
} else {
|
|
88945
|
-
meta[k] = [];
|
|
88946
|
-
}
|
|
88947
|
-
}
|
|
88948
|
-
if (!Array.isArray(meta.questions)) {
|
|
88949
|
-
meta.questions = meta.questions ? [normalizeQuestion(meta.questions)] : [];
|
|
88950
|
-
}
|
|
88951
|
-
meta.priority = typeof meta.priority === "string" ? meta.priority.trim() : "";
|
|
88952
|
-
if (!Array.isArray(meta.modules)) meta.modules = [];
|
|
88953
|
-
delete meta.channels;
|
|
88954
|
-
delete meta.decided;
|
|
88955
|
-
delete meta.verify;
|
|
88956
|
-
delete meta.release;
|
|
88957
|
-
delete meta.schedule;
|
|
88958
|
-
delete meta.roi;
|
|
88959
|
-
meta.workflow = typeof meta.workflow === "string" && meta.workflow.trim() ? meta.workflow.trim() : "";
|
|
88960
|
-
meta.triage = typeof meta.triage === "string" ? meta.triage.trim() : "";
|
|
88961
|
-
meta.source = (Array.isArray(meta.source) ? meta.source : typeof meta.source === "string" ? [meta.source] : []).map((ref) => String(ref).trim()).filter(Boolean);
|
|
88962
|
-
delete meta.phases;
|
|
88963
|
-
if (Array.isArray(meta.previews)) meta.previews = meta.previews.map((name) => String(name).trim()).filter(Boolean);
|
|
88964
|
-
else delete meta.previews;
|
|
88965
|
-
meta.stages = /^\d+$/.test(String(meta.stages ?? "").trim()) ? Number(meta.stages) : 0;
|
|
88966
|
-
meta.phase = /^\d+$/.test(String(meta.phase ?? "").trim()) ? Number(meta.phase) : 0;
|
|
88967
|
-
meta.preview_approved = meta.preview_approved === "true";
|
|
88968
|
-
meta.archived = typeof meta.archived === "string" && meta.archived.trim() ? meta.archived.trim() : "";
|
|
88969
|
-
meta.rejected = meta.rejected === "true";
|
|
88970
|
-
meta.rejected_reason = typeof meta.rejected_reason === "string" ? meta.rejected_reason : "";
|
|
88971
|
-
meta.rejected_at = typeof meta.rejected_at === "string" ? meta.rejected_at.trim() : "";
|
|
88972
|
-
meta.rejected_by = meta.rejected_by === "user" || meta.rejected_by === "agent" ? meta.rejected_by : "";
|
|
88973
|
-
return { meta, body: lines.slice(i + 1).join("\n") };
|
|
88974
|
-
}
|
|
88975
|
-
|
|
88976
|
-
// ../cli/src/lib/spec-agent-names.ts
|
|
88977
|
-
var LEGACY_SPEC_AGENT_NAMES = {
|
|
88978
|
-
"recommend-tech-stack": "tech-stack-advisor",
|
|
88979
|
-
"technology-selection": "tech-stack-advisor",
|
|
88980
|
-
"ui-design": "ui-designer",
|
|
88981
|
-
// Renamed in #945 and folded into the editor in #1057; its asset memory stays in
|
|
88982
|
-
// `memory/agents/video-assets/`.
|
|
88983
|
-
"video-assets": "hyperframes-editor",
|
|
88984
|
-
// Renamed in #1502: it reads chats, and writes memory as a result.
|
|
88985
|
-
"memory-reviewer": "chat-reviewer",
|
|
88986
|
-
// Folded into `copywriting` in #1582.
|
|
88987
|
-
"user-docs": "copywriting"
|
|
88988
|
-
};
|
|
88989
|
-
var canonicalSpecAgent = (name) => {
|
|
88990
|
-
const asked = name.trim();
|
|
88991
|
-
return LEGACY_SPEC_AGENT_NAMES[asked] ?? asked;
|
|
88992
|
-
};
|
|
88993
|
-
|
|
88994
|
-
// ../cli/src/lib/slug.ts
|
|
88995
|
-
function slugify(s) {
|
|
88996
|
-
const out = String(s).toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 60).replace(/-+$/g, "");
|
|
88997
|
-
return out || "task";
|
|
88998
|
-
}
|
|
88999
|
-
|
|
89000
|
-
// ../cli/src/lib/memory.ts
|
|
89001
|
-
var PLANNER_MEMORY_FILES = ["decisions.md", "rejected.md", "redesign.md"];
|
|
89002
|
-
var STARTERS = {
|
|
89003
|
-
"readme.md": `# Shipped
|
|
89004
|
-
|
|
89005
|
-
User-facing work that has shipped, one line each \u2014 a link to the published doc that
|
|
89006
|
-
covers it, or a plain-words note.
|
|
89007
|
-
|
|
89008
|
-
_(nothing recorded yet \u2014 the first finished task fills it in.)_
|
|
89009
|
-
`,
|
|
89010
|
-
"decisions.md": `# Decisions
|
|
89011
|
-
|
|
89012
|
-
Settled answers to cards' open questions, grouped by topic. Keep only **user-facing**
|
|
89013
|
-
calls that guide future planning \u2014 what a user can see, do, or would care about.
|
|
89014
|
-
Internal detail stays on the card.
|
|
89015
|
-
`,
|
|
89016
|
-
"redesign.md": `# Redesign
|
|
89017
|
-
|
|
89018
|
-
Design mistakes to avoid when writing a card, grouped by topic. One entry each: the
|
|
89019
|
-
mistake, then the design we actually want. Read before writing or reviewing a card.
|
|
89020
|
-
`,
|
|
89021
|
-
"rejected.md": `# Rejected
|
|
89022
|
-
|
|
89023
|
-
Ideas we turned down, grouped by topic. One line each: the idea, and why we said no. Read
|
|
89024
|
-
before proposing so you don't re-suggest them.
|
|
89025
|
-
`,
|
|
89026
|
-
// Only a header: `describe-project` writes the body, and runs while there is none (#1268).
|
|
89027
|
-
"project.md": `# Project
|
|
89028
|
-
|
|
89029
|
-
What the project is today, from its users' side. Rewritten whole by \`akb describe-project\`;
|
|
89030
|
-
edits here do not last.
|
|
89031
|
-
`
|
|
89032
|
-
};
|
|
89033
|
-
var RESERVED_MODULE_NAMES = PLANNER_MEMORY_FILES.map((name) => name.replace(/\.md$/, ""));
|
|
89034
|
-
var PRODUCT_STARTER = STARTERS["project.md"].replaceAll("Project", "Product").replaceAll("project", "product");
|
|
89035
|
-
var SEEDED_GOAL_PARAGRAPHS = new Set(
|
|
89036
|
-
[
|
|
89037
|
-
"# Goal",
|
|
89038
|
-
"Where this is headed, in the user's own words: the long-term goal, the horizon it aims at, and the roadmap of what comes next, roughly in order. Not this week's work \u2014 that's the cards on the board. The user owns this file; the agent seeds it but does not invent the goal.",
|
|
89039
|
-
"The direction, in the user's own words \u2014 where this is headed. One short statement. The user owns this file; the agent seeds it but does not invent the goal.",
|
|
89040
|
-
"_(not filled in yet \u2014 the user writes this.)_"
|
|
89041
|
-
].map((p2) => p2.replace(/\s+/g, " "))
|
|
89042
|
-
);
|
|
89043
|
-
|
|
89044
88777
|
// ../cli/src/lib/agent/due.ts
|
|
89045
88778
|
var AUTO_GAP = "6h";
|
|
89046
88779
|
var DAY = 864e5;
|
|
@@ -89065,22 +88798,32 @@ function scheduleDue(ask, now = Date.now()) {
|
|
|
89065
88798
|
}
|
|
89066
88799
|
const newest2 = ask.attempts.reduce((a3, r2) => a3 && a3.startedAt >= r2.startedAt ? a3 : r2, null);
|
|
89067
88800
|
const retrying = isAuto(ask.cadence) && newest2?.status === "error";
|
|
89068
|
-
const wait3 = next.getTime() > now ? retrying ? "retrying" : "tooSoon" : !ask.newWork() ? "nothingNew" :
|
|
88801
|
+
const wait3 = next.getTime() > now ? retrying ? "retrying" : "tooSoon" : !ask.newWork() ? "nothingNew" : null;
|
|
89069
88802
|
const reason = !wait3 || wait3 === "tooSoon" ? void 0 : wait3 === "nothingNew" ? ask.reads : wait3;
|
|
89070
88803
|
return { next, wait: wait3, ...reason ? { reason } : {} };
|
|
89071
88804
|
}
|
|
89072
88805
|
|
|
89073
88806
|
// src/agents.ts
|
|
89074
|
-
|
|
89075
|
-
|
|
88807
|
+
function nextHour(now = Date.now()) {
|
|
88808
|
+
const at2 = new Date(now);
|
|
88809
|
+
at2.setMinutes(60, 0, 0);
|
|
88810
|
+
return at2.getTime();
|
|
88811
|
+
}
|
|
88812
|
+
function hourOf(at2) {
|
|
88813
|
+
const hour = new Date(at2 ?? NaN);
|
|
88814
|
+
if (Number.isNaN(hour.getTime())) return 0;
|
|
88815
|
+
hour.setMinutes(hour.getMinutes() + 30, 0, 0);
|
|
88816
|
+
hour.setMinutes(0, 0, 0);
|
|
88817
|
+
return hour.getTime();
|
|
88818
|
+
}
|
|
89076
88819
|
function agentDue(agent, now = Date.now()) {
|
|
89077
88820
|
if (agent.attempts.some((a3) => a3.status === "running")) return false;
|
|
89078
88821
|
const due = scheduleDue({
|
|
89079
88822
|
cadence: agent.cadence,
|
|
89080
88823
|
fallback: agent.fallback,
|
|
89081
88824
|
reads: agent.reads,
|
|
89082
|
-
from: Math.max(
|
|
89083
|
-
attempts: agent.attempts.map((a3) => ({ startedAt:
|
|
88825
|
+
from: Math.max(hourOf(agent.lastSuccess), hourOf(agent.since)),
|
|
88826
|
+
attempts: agent.attempts.map((a3) => ({ startedAt: hourOf(a3.startedAt), status: a3.status })),
|
|
89084
88827
|
newWork: () => agent.newWork
|
|
89085
88828
|
}, now);
|
|
89086
88829
|
return !due.wait;
|
|
@@ -89137,7 +88880,7 @@ exec ${line} "$@"
|
|
|
89137
88880
|
}
|
|
89138
88881
|
function akbEnv(akb, board, task, line) {
|
|
89139
88882
|
const env2 = {};
|
|
89140
|
-
const dropped = ["AI4KANBAN_BOARD", "AI4KANBAN_TASK", LANGUAGE_LINE_ENV];
|
|
88883
|
+
const dropped = ["AI4KANBAN_BOARD", "AI4KANBAN_TASK", LANGUAGE_LINE_ENV, SCHEDULED_AGENTS_ENV];
|
|
89141
88884
|
for (const [k, v2] of Object.entries(process.env)) if (!k.startsWith("KANBAN_") && !dropped.includes(k)) env2[k] = v2;
|
|
89142
88885
|
const key = Object.keys(env2).find((k) => k.toUpperCase() === "PATH") ?? "PATH";
|
|
89143
88886
|
env2[key] = [shimDir(akb), env2[key]].filter(Boolean).join(path14.delimiter);
|
|
@@ -89158,7 +88901,7 @@ function runAkb(akb, args, opts) {
|
|
|
89158
88901
|
};
|
|
89159
88902
|
let child;
|
|
89160
88903
|
try {
|
|
89161
|
-
child = spawn3(akb.command, [...akb.args, ...args], { cwd: opts.cwd, env: akbEnv(akb, opts.board, opts.task, opts.line), stdio: ["ignore", "pipe", "pipe"] });
|
|
88904
|
+
child = spawn3(akb.command, [...akb.args, ...args], { cwd: opts.cwd, env: { ...akbEnv(akb, opts.board, opts.task, opts.line), ...opts.env }, stdio: ["ignore", "pipe", "pipe"] });
|
|
89162
88905
|
} catch (e2) {
|
|
89163
88906
|
return resolve2({ code: null, out: "", last: e2 instanceof Error ? e2.message : String(e2) });
|
|
89164
88907
|
}
|
|
@@ -89194,7 +88937,6 @@ import path16 from "node:path";
|
|
|
89194
88937
|
|
|
89195
88938
|
// src/folders.ts
|
|
89196
88939
|
import fs12 from "node:fs";
|
|
89197
|
-
import os5 from "node:os";
|
|
89198
88940
|
import path15 from "node:path";
|
|
89199
88941
|
var projectsFile = () => path15.join(runnerHome(), "projects.json");
|
|
89200
88942
|
function realpath(p2) {
|
|
@@ -89212,53 +88954,9 @@ function readList() {
|
|
|
89212
88954
|
return [];
|
|
89213
88955
|
}
|
|
89214
88956
|
}
|
|
89215
|
-
function writeList(list) {
|
|
89216
|
-
fs12.mkdirSync(runnerHome(), { recursive: true, mode: 448 });
|
|
89217
|
-
fs12.writeFileSync(projectsFile(), `${JSON.stringify({ projects: [...new Set(list)] }, null, 2)}
|
|
89218
|
-
`);
|
|
89219
|
-
}
|
|
89220
88957
|
function allowedProjects() {
|
|
89221
88958
|
return readList().flatMap((p2) => [realpath(p2)].filter((r2) => !!r2));
|
|
89222
88959
|
}
|
|
89223
|
-
var allow = (dir) => writeList([...readList(), dir]);
|
|
89224
|
-
function disallow(dir) {
|
|
89225
|
-
const list = readList();
|
|
89226
|
-
if (!list.includes(dir)) return [];
|
|
89227
|
-
writeList(list.filter((p2) => p2 !== dir));
|
|
89228
|
-
return [dir];
|
|
89229
|
-
}
|
|
89230
|
-
function keepOnly(dirs) {
|
|
89231
|
-
const list = readList();
|
|
89232
|
-
const kept4 = list.filter((p2) => dirs.includes(p2));
|
|
89233
|
-
if (kept4.length !== list.length) writeList(kept4);
|
|
89234
|
-
return list.filter((p2) => !dirs.includes(p2));
|
|
89235
|
-
}
|
|
89236
|
-
var SYSTEM_MAC = ["/System", "/Library", "/Applications", "/usr", "/bin", "/sbin", "/etc", "/var", "/private", "/opt", "/cores", "/dev"];
|
|
89237
|
-
var SYSTEM_WIN = ["Windows", "Program Files", "Program Files (x86)", "ProgramData"];
|
|
89238
|
-
var here = () => ({ platform: process.platform, home: os5.homedir(), resolve: realpath });
|
|
89239
|
-
function refusal(picked, where = here()) {
|
|
89240
|
-
const win = where.platform === "win32";
|
|
89241
|
-
const p2 = win ? path15.win32 : path15.posix;
|
|
89242
|
-
const real = where.resolve(picked);
|
|
89243
|
-
if (!real || !p2.isAbsolute(real)) return "missing";
|
|
89244
|
-
const norm = (d2) => {
|
|
89245
|
-
const n = p2.normalize(d2).replace(/[\\/]+$/, "") || p2.sep;
|
|
89246
|
-
return win ? n.toLowerCase() : n;
|
|
89247
|
-
};
|
|
89248
|
-
const within = (dir, root) => {
|
|
89249
|
-
const [d2, r2] = [norm(dir), norm(root)];
|
|
89250
|
-
return d2 === r2 || d2.startsWith(r2.endsWith(p2.sep) ? r2 : r2 + p2.sep);
|
|
89251
|
-
};
|
|
89252
|
-
const forms = [picked, real];
|
|
89253
|
-
if (forms.some((f2) => norm(f2) === norm(where.home))) return "home";
|
|
89254
|
-
if (forms.some((f2) => norm(f2) === norm(p2.parse(f2).root)) || !win && forms.some((f2) => /^\/Volumes(\/[^/]+)?\/?$/.test(f2))) {
|
|
89255
|
-
return "disk";
|
|
89256
|
-
}
|
|
89257
|
-
if (forms.some((f2) => within(where.home, f2))) return "home";
|
|
89258
|
-
if (forms.some((f2) => within(f2, runnerHome()))) return "system";
|
|
89259
|
-
const system = win ? SYSTEM_WIN.map((s) => p2.join(p2.parse(real).root, s)) : SYSTEM_MAC;
|
|
89260
|
-
return forms.some((f2) => system.some((s) => within(f2, s))) ? "system" : null;
|
|
89261
|
-
}
|
|
89262
88960
|
|
|
89263
88961
|
// src/cache.ts
|
|
89264
88962
|
var IDLE_MS = 7 * 24 * 60 * 6e4;
|
|
@@ -89762,31 +89460,32 @@ import path24 from "node:path";
|
|
|
89762
89460
|
// ../cloud/src/board-files.ts
|
|
89763
89461
|
var ROOTS = ["todo/", ".archive/", "memory/", "workflows/", "triage/", "assets/", "rules/"];
|
|
89764
89462
|
var SETTINGS = ["modules.md", "config.md"];
|
|
89765
|
-
var isSettingsPath = (
|
|
89463
|
+
var isSettingsPath = (path33) => SETTINGS.includes(path33) || /^rules\/(?:workflows\/)?[^/]+\.md$/.test(path33);
|
|
89766
89464
|
var BOARD_FILE_LIMIT = 256 * 1024;
|
|
89767
|
-
function isBoardPath(
|
|
89768
|
-
if (!
|
|
89769
|
-
if (
|
|
89770
|
-
if (
|
|
89771
|
-
if (
|
|
89772
|
-
if (SETTINGS.includes(
|
|
89773
|
-
if (
|
|
89774
|
-
if (
|
|
89775
|
-
return ROOTS.some((root) =>
|
|
89465
|
+
function isBoardPath(path33) {
|
|
89466
|
+
if (!path33 || path33.length > 500 || path33.startsWith("/") || path33.includes("\\") || path33.includes("\0")) return false;
|
|
89467
|
+
if (path33.split("/").some((part) => !part || part === "." || part === "..")) return false;
|
|
89468
|
+
if (path33 === "todo/README.md" || path33.split("/").includes(".sync")) return false;
|
|
89469
|
+
if (path33.startsWith("workflows/")) return true;
|
|
89470
|
+
if (SETTINGS.includes(path33)) return true;
|
|
89471
|
+
if (path33.startsWith("rules/")) return isSettingsPath(path33);
|
|
89472
|
+
if (path33.startsWith("assets/")) return path33.endsWith(".json");
|
|
89473
|
+
return ROOTS.some((root) => path33.startsWith(root)) && path33.endsWith(".md");
|
|
89776
89474
|
}
|
|
89777
89475
|
var CARD = /^(?:todo|\.archive)\/(?:[^/]+\/)*(\d+)-[^/]*\.md$/;
|
|
89778
89476
|
var ROOT = /^(?:todo|\.archive)\/(?:[^/]+\/)*(\d+)-[^/]+\/root\.md$/;
|
|
89779
|
-
function numberOfCard(
|
|
89780
|
-
const n = ROOT.exec(
|
|
89477
|
+
function numberOfCard(path33) {
|
|
89478
|
+
const n = ROOT.exec(path33)?.[1] ?? CARD.exec(path33)?.[1];
|
|
89781
89479
|
return n ? Number(n) : null;
|
|
89782
89480
|
}
|
|
89783
89481
|
var cardSlug = (task) => task.toLowerCase().replace(/_/g, "-");
|
|
89784
89482
|
var assetsFile = (task) => `assets/${task}.json`;
|
|
89785
89483
|
var workflowFolder = (id) => id.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
|
|
89484
|
+
var OWN_FOLDER = /^wf-(?!builtin-)[a-z0-9-]+$/;
|
|
89786
89485
|
var workflowName = (id) => id.startsWith("wf_builtin_") ? id.slice("wf_builtin_".length).replace(/_/g, "-") : workflowFolder(id);
|
|
89787
89486
|
var BUILDER = "wf_builtin_workflow_builder";
|
|
89788
89487
|
var draftFolder = (task) => cardSlug(task);
|
|
89789
|
-
var
|
|
89488
|
+
var unquote = (value) => value.trim().replace(/^(["'])(.*)\1$/, "$2");
|
|
89790
89489
|
function cardFront(body) {
|
|
89791
89490
|
const match = /^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/.exec(body);
|
|
89792
89491
|
if (!match) return {};
|
|
@@ -89795,13 +89494,13 @@ function cardFront(body) {
|
|
|
89795
89494
|
const field = /^(title|status|phase|stages|previews):\s*(.*)$/.exec(line);
|
|
89796
89495
|
if (!field) continue;
|
|
89797
89496
|
const [, key, value = ""] = field;
|
|
89798
|
-
if (key === "title" && value.trim()) out.title =
|
|
89799
|
-
else if (key === "status" && value.trim()) out.status =
|
|
89497
|
+
if (key === "title" && value.trim()) out.title = unquote(value);
|
|
89498
|
+
else if (key === "status" && value.trim()) out.status = unquote(value);
|
|
89800
89499
|
else if (key === "phase" && Number.isInteger(Number(value)) && value.trim()) out.phase = Number(value);
|
|
89801
89500
|
else if (key === "stages" && Number.isInteger(Number(value)) && value.trim()) out.stages = Number(value);
|
|
89802
89501
|
else if (key === "previews") {
|
|
89803
89502
|
const flow = /^\[(.*)\]\s*$/.exec(value.trim());
|
|
89804
|
-
if (flow) out.previews = flow[1].split(",").map(
|
|
89503
|
+
if (flow) out.previews = flow[1].split(",").map(unquote).filter(Boolean);
|
|
89805
89504
|
}
|
|
89806
89505
|
}
|
|
89807
89506
|
return out;
|
|
@@ -89813,7 +89512,7 @@ import crypto3 from "node:crypto";
|
|
|
89813
89512
|
import fs20 from "node:fs";
|
|
89814
89513
|
import path23 from "node:path";
|
|
89815
89514
|
|
|
89816
|
-
// node_modules/node-diff3/dist/diff3.mjs
|
|
89515
|
+
// ../../../../../../git/ai4kanban/runner/node_modules/node-diff3/dist/diff3.mjs
|
|
89817
89516
|
function LCS(buffer1, buffer2) {
|
|
89818
89517
|
let equivalenceClasses = /* @__PURE__ */ Object.create(null);
|
|
89819
89518
|
for (let j2 = 0; j2 < buffer2.length; j2++) {
|
|
@@ -90026,10 +89725,32 @@ function diff3Merge(a3, o2, b2, options) {
|
|
|
90026
89725
|
return results;
|
|
90027
89726
|
}
|
|
90028
89727
|
|
|
89728
|
+
// ../cli/src/lib/yaml.ts
|
|
89729
|
+
function yamlScalar(s) {
|
|
89730
|
+
const text3 = String(s);
|
|
89731
|
+
if (text3 === "") return '""';
|
|
89732
|
+
if (/^[-?:,[\]{}#&*!|>'"%@`]/.test(text3) || /:\s/.test(text3) || /[\n"]/.test(text3) || /^\s|\s$/.test(text3)) {
|
|
89733
|
+
return JSON.stringify(text3);
|
|
89734
|
+
}
|
|
89735
|
+
return text3;
|
|
89736
|
+
}
|
|
89737
|
+
function unquote2(v2) {
|
|
89738
|
+
const text3 = String(v2).trim();
|
|
89739
|
+
if (text3.startsWith('"') && text3.endsWith('"')) {
|
|
89740
|
+
try {
|
|
89741
|
+
return JSON.parse(text3);
|
|
89742
|
+
} catch {
|
|
89743
|
+
return text3.slice(1, -1);
|
|
89744
|
+
}
|
|
89745
|
+
}
|
|
89746
|
+
if (text3.startsWith("'") && text3.endsWith("'")) return text3.slice(1, -1);
|
|
89747
|
+
return text3;
|
|
89748
|
+
}
|
|
89749
|
+
|
|
90029
89750
|
// ../cloud/src/triage-files.ts
|
|
90030
89751
|
var ITEM = /^triage\/(?:(dismissed|archived)\/)?([^/]+)\.md$/;
|
|
90031
|
-
function itemAt(
|
|
90032
|
-
const m = ITEM.exec(
|
|
89752
|
+
function itemAt(path33) {
|
|
89753
|
+
const m = ITEM.exec(path33);
|
|
90033
89754
|
if (!m) return null;
|
|
90034
89755
|
return { state: m[1] === "dismissed" ? "dismissed" : m[1] === "archived" ? "carded" : "open", name: m[2] };
|
|
90035
89756
|
}
|
|
@@ -90615,8 +90336,8 @@ function readMap(lines, start, indent) {
|
|
|
90615
90336
|
}
|
|
90616
90337
|
function readScalar(value) {
|
|
90617
90338
|
const flow = value.match(/^\[(.*)\]$/);
|
|
90618
|
-
if (!flow) return
|
|
90619
|
-
return flow[1].split(",").map((item) =>
|
|
90339
|
+
if (!flow) return unquote2(value);
|
|
90340
|
+
return flow[1].split(",").map((item) => unquote2(item.trim())).filter(Boolean);
|
|
90620
90341
|
}
|
|
90621
90342
|
function readBlock(lines, start, parentIndent) {
|
|
90622
90343
|
if (start >= lines.length || lines[start].indent <= parentIndent) return ["", start];
|
|
@@ -90645,7 +90366,7 @@ function readList2(lines, start, indent) {
|
|
|
90645
90366
|
}
|
|
90646
90367
|
const item = {};
|
|
90647
90368
|
const inline = stripComment(match[2].trim());
|
|
90648
|
-
if (inline) item[match[1].trim()] =
|
|
90369
|
+
if (inline) item[match[1].trim()] = unquote2(inline);
|
|
90649
90370
|
else {
|
|
90650
90371
|
const [value, next2] = readBlock(lines, i, keyIndent);
|
|
90651
90372
|
item[match[1].trim()] = value;
|
|
@@ -91045,7 +90766,6 @@ async function pullWorkflow(ws, record, base) {
|
|
|
91045
90766
|
record.agents = {};
|
|
91046
90767
|
return { ok: true, value: void 0 };
|
|
91047
90768
|
}
|
|
91048
|
-
var OWN_FOLDER = /^wf-(?!builtin-)[a-z0-9-]+$/;
|
|
91049
90769
|
var agentsRecord = (ws) => path23.join(ws.board, ".sync", "agents.json");
|
|
91050
90770
|
function readPlaced(ws) {
|
|
91051
90771
|
try {
|
|
@@ -91156,13 +90876,13 @@ var pullChanges = (ws) => inFolder(ws.cwd, async () => {
|
|
|
91156
90876
|
const isShared = p2.startsWith(MEMORY2) && shared(p2.slice(MEMORY2.length));
|
|
91157
90877
|
if (kept3(p2) && isShared === !f2.path.startsWith(root)) {
|
|
91158
90878
|
const file2 = path23.join(ws.board, p2);
|
|
91159
|
-
const
|
|
91160
|
-
if (
|
|
90879
|
+
const here = readText(file2);
|
|
90880
|
+
if (here !== f2.content && here !== (base.files[f2.path]?.content ?? null)) {
|
|
91161
90881
|
skipped = true;
|
|
91162
90882
|
continue;
|
|
91163
90883
|
}
|
|
91164
90884
|
if (f2.content === null) fs20.rmSync(file2, { force: true });
|
|
91165
|
-
else if (
|
|
90885
|
+
else if (here !== f2.content) write(file2, f2.content);
|
|
91166
90886
|
}
|
|
91167
90887
|
if (f2.content === null) delete base.files[f2.path];
|
|
91168
90888
|
else base.files[f2.path] = { seq: f2.seq, content: f2.content };
|
|
@@ -91493,6 +91213,7 @@ async function send2(ws, job) {
|
|
|
91493
91213
|
// src/board-watch.ts
|
|
91494
91214
|
var LOOK_MS = 6e4;
|
|
91495
91215
|
var PULL_MS = 2e3;
|
|
91216
|
+
var BUSY_MS = 3e4;
|
|
91496
91217
|
function keptFolders() {
|
|
91497
91218
|
let cached2 = [];
|
|
91498
91219
|
try {
|
|
@@ -91501,7 +91222,7 @@ function keptFolders() {
|
|
|
91501
91222
|
}
|
|
91502
91223
|
return [.../* @__PURE__ */ new Set([...allowedProjects(), ...cached2])].flatMap((dir) => [keptBoard(dir)].filter((ws) => !!ws));
|
|
91503
91224
|
}
|
|
91504
|
-
function watchBoards(machineId2,
|
|
91225
|
+
function watchBoards(machineId2, ms, lookMs = LOOK_MS, pullMs = PULL_MS, busyMs = BUSY_MS) {
|
|
91505
91226
|
const watched = /* @__PURE__ */ new Map();
|
|
91506
91227
|
const due = /* @__PURE__ */ new Map();
|
|
91507
91228
|
const afterJob = /* @__PURE__ */ new Set();
|
|
@@ -91516,6 +91237,18 @@ function watchBoards(machineId2, ms2, lookMs = LOOK_MS, pullMs = PULL_MS) {
|
|
|
91516
91237
|
const send3 = async (ws) => {
|
|
91517
91238
|
const sent = await pushBoard(ws, machineId2);
|
|
91518
91239
|
if (!sent.ok && !sent.offline) console.error(`runner: the board in ${ws.cwd} was not sent: ${sent.error}`);
|
|
91240
|
+
return sent;
|
|
91241
|
+
};
|
|
91242
|
+
const flush = async (ws) => {
|
|
91243
|
+
const held4 = watched.get(ws.cwd);
|
|
91244
|
+
if (!held4) return void await send3(ws);
|
|
91245
|
+
clearTimeout(held4.timer);
|
|
91246
|
+
held4.timer = void 0;
|
|
91247
|
+
held4.spaced = false;
|
|
91248
|
+
const last2 = held4.sentAt;
|
|
91249
|
+
held4.sentAt = Date.now();
|
|
91250
|
+
const sent = await send3(ws);
|
|
91251
|
+
if (!sent.ok || !sent.changed) held4.sentAt = last2;
|
|
91519
91252
|
};
|
|
91520
91253
|
const watch = (ws) => {
|
|
91521
91254
|
let watcher;
|
|
@@ -91524,8 +91257,11 @@ function watchBoards(machineId2, ms2, lookMs = LOOK_MS, pullMs = PULL_MS) {
|
|
|
91524
91257
|
const p2 = name && String(name).split(path24.sep).join("/");
|
|
91525
91258
|
const held4 = watched.get(ws.cwd);
|
|
91526
91259
|
if (closed || !p2 || !isBoardPath(p2) || !held4) return;
|
|
91260
|
+
const job = busy(ws.cwd);
|
|
91261
|
+
if (job && held4.spaced) return;
|
|
91527
91262
|
clearTimeout(held4.timer);
|
|
91528
|
-
held4.
|
|
91263
|
+
held4.spaced = job;
|
|
91264
|
+
held4.timer = setTimeout(() => void flush(ws), job ? Math.max(ms, held4.sentAt + busyMs - Date.now()) : ms);
|
|
91529
91265
|
});
|
|
91530
91266
|
} catch {
|
|
91531
91267
|
return false;
|
|
@@ -91535,14 +91271,15 @@ function watchBoards(machineId2, ms2, lookMs = LOOK_MS, pullMs = PULL_MS) {
|
|
|
91535
91271
|
watcher.close();
|
|
91536
91272
|
watched.delete(ws.cwd);
|
|
91537
91273
|
});
|
|
91538
|
-
watched.set(ws.cwd, { watcher });
|
|
91274
|
+
watched.set(ws.cwd, { watcher, spaced: false, sentAt: 0 });
|
|
91539
91275
|
return true;
|
|
91540
91276
|
};
|
|
91541
91277
|
const look = () => {
|
|
91542
91278
|
if (closed) return;
|
|
91543
91279
|
for (const ws of keptFolders()) {
|
|
91544
91280
|
const fresh = !watched.has(ws.cwd) && watch(ws);
|
|
91545
|
-
|
|
91281
|
+
const jobOver = watched.get(ws.cwd)?.spaced && !busy(ws.cwd);
|
|
91282
|
+
if (fresh || jobOver || unsent(ws.cwd)) void flush(ws);
|
|
91546
91283
|
if (afterJob.has(ws.cwd) && !busy(ws.cwd)) void pull2(ws);
|
|
91547
91284
|
}
|
|
91548
91285
|
};
|
|
@@ -91658,6 +91395,161 @@ async function answerHint(machineId2, hint2) {
|
|
|
91658
91395
|
import fs25 from "node:fs";
|
|
91659
91396
|
import path28 from "node:path";
|
|
91660
91397
|
|
|
91398
|
+
// ../cli/src/lib/question-block.ts
|
|
91399
|
+
var MODES = ["single", "multi"];
|
|
91400
|
+
var withoutTag = (text3) => text3.replace(/^\[user\]\s+/, "");
|
|
91401
|
+
function normalizeQuestion(raw) {
|
|
91402
|
+
if (raw && typeof raw === "object" && !Array.isArray(raw)) {
|
|
91403
|
+
const source = raw;
|
|
91404
|
+
const text3 = withoutTag(String(source.question ?? source.text ?? ""));
|
|
91405
|
+
const extra = {
|
|
91406
|
+
...typeof source.agent === "string" && source.agent.trim() ? { agent: source.agent.trim() } : {},
|
|
91407
|
+
...source.skipped === true || source.skipped === "true" ? { skipped: true } : {}
|
|
91408
|
+
};
|
|
91409
|
+
const options = (Array.isArray(source.options) ? source.options : []).map((o2) => String(o2).trim()).filter(Boolean);
|
|
91410
|
+
if (options.length === 0) return { text: text3, ...extra };
|
|
91411
|
+
const mode = MODES.includes(String(source.mode)) ? String(source.mode) : "single";
|
|
91412
|
+
const recommend = (Array.isArray(source.recommend) ? source.recommend : []).map(Number).filter((n) => Number.isInteger(n) && n >= 1 && n <= options.length);
|
|
91413
|
+
return { text: text3, mode, options, recommend: mode === "single" ? recommend.slice(0, 1) : recommend, ...extra };
|
|
91414
|
+
}
|
|
91415
|
+
return { text: withoutTag(String(raw)) };
|
|
91416
|
+
}
|
|
91417
|
+
function parseQuestionsBlock(lines) {
|
|
91418
|
+
const out = [];
|
|
91419
|
+
for (let i = 0; i < lines.length; i++) {
|
|
91420
|
+
const m = lines[i].match(/^\s*-\s+([\s\S]*)$/);
|
|
91421
|
+
if (!m) continue;
|
|
91422
|
+
const head2 = m[1];
|
|
91423
|
+
const opened = head2.match(/^question:\s*(.*)$/);
|
|
91424
|
+
if (!opened) {
|
|
91425
|
+
out.push(normalizeQuestion(unquote2(head2)));
|
|
91426
|
+
continue;
|
|
91427
|
+
}
|
|
91428
|
+
const q3 = {
|
|
91429
|
+
question: unquote2(opened[1]),
|
|
91430
|
+
options: [],
|
|
91431
|
+
recommend: []
|
|
91432
|
+
};
|
|
91433
|
+
while (i + 1 < lines.length && !/^\s*-\s/.test(lines[i + 1])) {
|
|
91434
|
+
const field = lines[i + 1].match(/^\s*([A-Za-z_]+):\s*(.*)$/);
|
|
91435
|
+
i++;
|
|
91436
|
+
if (!field) continue;
|
|
91437
|
+
const [, key, val] = field;
|
|
91438
|
+
if (key === "options") {
|
|
91439
|
+
while (i + 1 < lines.length && /^\s*-\s+/.test(lines[i + 1])) {
|
|
91440
|
+
q3.options.push(unquote2(lines[i + 1].replace(/^\s*-\s+/, "")));
|
|
91441
|
+
i++;
|
|
91442
|
+
}
|
|
91443
|
+
} else if (key === "recommend") {
|
|
91444
|
+
q3.recommend = val.replace(/^\[|\]$/g, "").split(",").map((s) => Number(s.trim())).filter((n) => Number.isInteger(n));
|
|
91445
|
+
} else if (key === "mode") {
|
|
91446
|
+
q3.mode = unquote2(val);
|
|
91447
|
+
} else if (key === "agent") {
|
|
91448
|
+
q3.agent = unquote2(val);
|
|
91449
|
+
} else if (key === "skipped") {
|
|
91450
|
+
q3.skipped = unquote2(val) === "true";
|
|
91451
|
+
}
|
|
91452
|
+
}
|
|
91453
|
+
out.push(normalizeQuestion(q3));
|
|
91454
|
+
}
|
|
91455
|
+
return out;
|
|
91456
|
+
}
|
|
91457
|
+
|
|
91458
|
+
// ../cli/src/lib/view/rules.ts
|
|
91459
|
+
var openOf = (questions) => questions.filter((q3) => !q3.skipped);
|
|
91460
|
+
|
|
91461
|
+
// ../cli/src/lib/frontmatter.ts
|
|
91462
|
+
function parseFrontmatter(text3) {
|
|
91463
|
+
const lines = text3.split("\n");
|
|
91464
|
+
if (lines[0].trim() !== "---") return { meta: null, body: text3 };
|
|
91465
|
+
let i = 1;
|
|
91466
|
+
const fm = [];
|
|
91467
|
+
while (i < lines.length && lines[i].trim() !== "---") {
|
|
91468
|
+
fm.push(lines[i]);
|
|
91469
|
+
i++;
|
|
91470
|
+
}
|
|
91471
|
+
if (i >= lines.length) return { meta: null, body: text3 };
|
|
91472
|
+
const meta = {};
|
|
91473
|
+
for (let j2 = 0; j2 < fm.length; j2++) {
|
|
91474
|
+
const m = fm[j2].match(/^([A-Za-z_]+):\s*(.*)$/);
|
|
91475
|
+
if (!m) continue;
|
|
91476
|
+
const key = m[1];
|
|
91477
|
+
const val = m[2];
|
|
91478
|
+
if (key === "questions") {
|
|
91479
|
+
if (val === "") {
|
|
91480
|
+
const block = [];
|
|
91481
|
+
while (j2 + 1 < fm.length && /^\s/.test(fm[j2 + 1]) && fm[j2 + 1].trim() !== "") {
|
|
91482
|
+
block.push(fm[j2 + 1]);
|
|
91483
|
+
j2++;
|
|
91484
|
+
}
|
|
91485
|
+
meta.questions = parseQuestionsBlock(block);
|
|
91486
|
+
} else {
|
|
91487
|
+
meta.questions = val.trim() === "[]" ? [] : [normalizeQuestion(unquote2(val))];
|
|
91488
|
+
}
|
|
91489
|
+
continue;
|
|
91490
|
+
}
|
|
91491
|
+
if (val === "") {
|
|
91492
|
+
const items = [];
|
|
91493
|
+
while (j2 + 1 < fm.length && /^\s*-\s+/.test(fm[j2 + 1])) {
|
|
91494
|
+
items.push(unquote2(fm[j2 + 1].replace(/^\s*-\s+/, "")));
|
|
91495
|
+
j2++;
|
|
91496
|
+
}
|
|
91497
|
+
meta[key] = items;
|
|
91498
|
+
} else if (val.startsWith("[")) {
|
|
91499
|
+
const inner = val.slice(1, val.lastIndexOf("]"));
|
|
91500
|
+
meta[key] = inner.split(",").map((s) => s.trim()).filter(Boolean).map(unquote2);
|
|
91501
|
+
} else {
|
|
91502
|
+
meta[key] = unquote2(val);
|
|
91503
|
+
}
|
|
91504
|
+
}
|
|
91505
|
+
for (const k of ["blocked_by", "related"]) {
|
|
91506
|
+
const value = meta[k];
|
|
91507
|
+
if (Array.isArray(value)) {
|
|
91508
|
+
meta[k] = value.map((x2) => Number(String(x2).replace(/^#/, ""))).filter((n) => Number.isInteger(n));
|
|
91509
|
+
} else {
|
|
91510
|
+
meta[k] = [];
|
|
91511
|
+
}
|
|
91512
|
+
}
|
|
91513
|
+
if (!Array.isArray(meta.questions)) {
|
|
91514
|
+
meta.questions = meta.questions ? [normalizeQuestion(meta.questions)] : [];
|
|
91515
|
+
}
|
|
91516
|
+
meta.priority = typeof meta.priority === "string" ? meta.priority.trim() : "";
|
|
91517
|
+
if (!Array.isArray(meta.modules)) meta.modules = [];
|
|
91518
|
+
delete meta.channels;
|
|
91519
|
+
delete meta.decided;
|
|
91520
|
+
delete meta.verify;
|
|
91521
|
+
delete meta.release;
|
|
91522
|
+
delete meta.schedule;
|
|
91523
|
+
delete meta.roi;
|
|
91524
|
+
meta.workflow = typeof meta.workflow === "string" && meta.workflow.trim() ? meta.workflow.trim() : "";
|
|
91525
|
+
meta.triage = typeof meta.triage === "string" ? meta.triage.trim() : "";
|
|
91526
|
+
meta.source = (Array.isArray(meta.source) ? meta.source : typeof meta.source === "string" ? [meta.source] : []).map((ref) => String(ref).trim()).filter(Boolean);
|
|
91527
|
+
delete meta.phases;
|
|
91528
|
+
if (Array.isArray(meta.previews)) meta.previews = meta.previews.map((name) => String(name).trim()).filter(Boolean);
|
|
91529
|
+
else delete meta.previews;
|
|
91530
|
+
meta.stages = /^\d+$/.test(String(meta.stages ?? "").trim()) ? Number(meta.stages) : 0;
|
|
91531
|
+
meta.phase = /^\d+$/.test(String(meta.phase ?? "").trim()) ? Number(meta.phase) : 0;
|
|
91532
|
+
meta.preview_approved = meta.preview_approved === "true";
|
|
91533
|
+
meta.archived = typeof meta.archived === "string" && meta.archived.trim() ? meta.archived.trim() : "";
|
|
91534
|
+
meta.rejected = meta.rejected === "true";
|
|
91535
|
+
meta.rejected_reason = typeof meta.rejected_reason === "string" ? meta.rejected_reason : "";
|
|
91536
|
+
meta.rejected_at = typeof meta.rejected_at === "string" ? meta.rejected_at.trim() : "";
|
|
91537
|
+
meta.rejected_by = meta.rejected_by === "user" || meta.rejected_by === "agent" ? meta.rejected_by : "";
|
|
91538
|
+
return { meta, body: lines.slice(i + 1).join("\n") };
|
|
91539
|
+
}
|
|
91540
|
+
|
|
91541
|
+
// ../cli/src/lib/card-review.ts
|
|
91542
|
+
function reviewOf(meta) {
|
|
91543
|
+
const questions = meta.questions ?? [];
|
|
91544
|
+
let open = false;
|
|
91545
|
+
for (const [i, q3] of questions.entries()) {
|
|
91546
|
+
if (!openOf([q3]).length) continue;
|
|
91547
|
+
open = true;
|
|
91548
|
+
if (q3.options?.length) return { question: q3.text, options: q3.options.slice(0, 8), position: i + 1 };
|
|
91549
|
+
}
|
|
91550
|
+
return open || meta.status === "ready" || meta.status === "implementing" ? true : null;
|
|
91551
|
+
}
|
|
91552
|
+
|
|
91661
91553
|
// src/triage.ts
|
|
91662
91554
|
import fs23 from "node:fs";
|
|
91663
91555
|
import path26 from "node:path";
|
|
@@ -91667,9 +91559,15 @@ import { createHash } from "node:crypto";
|
|
|
91667
91559
|
var DERIVED = "derived-";
|
|
91668
91560
|
var derivedSourceId = (seed) => `${DERIVED}${createHash("sha256").update(seed).digest("hex").slice(0, 16)}`;
|
|
91669
91561
|
|
|
91562
|
+
// ../cli/src/lib/slug.ts
|
|
91563
|
+
function slugify(s) {
|
|
91564
|
+
const out = String(s).toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 60).replace(/-+$/g, "");
|
|
91565
|
+
return out || "task";
|
|
91566
|
+
}
|
|
91567
|
+
|
|
91670
91568
|
// src/triage.ts
|
|
91671
91569
|
var triageDir = (board) => path26.join(board, "triage");
|
|
91672
|
-
var rejectedDir = (board) => path26.join(board, ".archive",
|
|
91570
|
+
var rejectedDir = (board) => path26.join(board, ".archive", REJECTIONS_TO_REVIEW);
|
|
91673
91571
|
var SCRATCH = ["dismissed", "archived"];
|
|
91674
91572
|
var stamp = (at2) => formatStamp(at2 ? new Date(at2) : /* @__PURE__ */ new Date());
|
|
91675
91573
|
function slugOf(title) {
|
|
@@ -91738,6 +91636,24 @@ function clearLaid(board) {
|
|
|
91738
91636
|
import fs24 from "node:fs";
|
|
91739
91637
|
import path27 from "node:path";
|
|
91740
91638
|
|
|
91639
|
+
// ../cli/src/lib/spec-agent-names.ts
|
|
91640
|
+
var LEGACY_SPEC_AGENT_NAMES = {
|
|
91641
|
+
"recommend-tech-stack": "tech-stack-advisor",
|
|
91642
|
+
"technology-selection": "tech-stack-advisor",
|
|
91643
|
+
"ui-design": "ui-designer",
|
|
91644
|
+
// Renamed in #945 and folded into the editor in #1057; its asset memory stays in
|
|
91645
|
+
// `memory/agents/video-assets/`.
|
|
91646
|
+
"video-assets": "hyperframes-editor",
|
|
91647
|
+
// Renamed in #1502: it reads chats, and writes memory as a result.
|
|
91648
|
+
"memory-reviewer": "chat-reviewer",
|
|
91649
|
+
// Folded into `copywriting` in #1582.
|
|
91650
|
+
"user-docs": "copywriting"
|
|
91651
|
+
};
|
|
91652
|
+
var canonicalSpecAgent = (name) => {
|
|
91653
|
+
const asked = name.trim();
|
|
91654
|
+
return LEGACY_SPEC_AGENT_NAMES[asked] ?? asked;
|
|
91655
|
+
};
|
|
91656
|
+
|
|
91741
91657
|
// ../cli/src/lib/agent/workflow-def.ts
|
|
91742
91658
|
var WORKFLOW_ID = /^[a-z0-9]+(-[a-z0-9]+)*$/;
|
|
91743
91659
|
var OLD_KEYS = ["stages", "delivers", "helpers", "every"];
|
|
@@ -91970,20 +91886,13 @@ function spentBy(runs) {
|
|
|
91970
91886
|
...context ? { context: { used: context.used, limit: context.limit } } : {}
|
|
91971
91887
|
};
|
|
91972
91888
|
}
|
|
91973
|
-
function
|
|
91974
|
-
let text3;
|
|
91889
|
+
function reviewOf2(file2) {
|
|
91975
91890
|
try {
|
|
91976
|
-
|
|
91891
|
+
const meta = parseFrontmatter(fs25.readFileSync(file2, "utf8")).meta;
|
|
91892
|
+
return meta ? reviewOf(meta) : null;
|
|
91977
91893
|
} catch {
|
|
91978
|
-
return
|
|
91979
|
-
}
|
|
91980
|
-
const questions = parseFrontmatter(text3).meta?.questions ?? [];
|
|
91981
|
-
for (const [i, q3] of questions.entries()) {
|
|
91982
|
-
if (openOf([q3]).length && q3.options?.length) {
|
|
91983
|
-
return { question: q3.text, options: q3.options.slice(0, 8), position: i + 1 };
|
|
91984
|
-
}
|
|
91894
|
+
return null;
|
|
91985
91895
|
}
|
|
91986
|
-
return void 0;
|
|
91987
91896
|
}
|
|
91988
91897
|
function mcpConfig(servers, file2) {
|
|
91989
91898
|
if (!Object.keys(servers).length) return null;
|
|
@@ -92002,9 +91911,9 @@ function mcpArgs(runtime, servers, file2) {
|
|
|
92002
91911
|
]).join(" ");
|
|
92003
91912
|
}
|
|
92004
91913
|
var MCP_KEY = "mcpConfig";
|
|
92005
|
-
var wait = (
|
|
92006
|
-
async function stopRuns(akb, ws, id, since,
|
|
92007
|
-
const until = Date.now() +
|
|
91914
|
+
var wait = (ms) => new Promise((resolve2) => setTimeout(resolve2, ms));
|
|
91915
|
+
async function stopRuns(akb, ws, id, since, ms) {
|
|
91916
|
+
const until = Date.now() + ms;
|
|
92008
91917
|
const call = (args) => runAkb(akb, [...args, "--board", ws.board], { cwd: ws.cwd, board: ws.board });
|
|
92009
91918
|
while (Date.now() < until) {
|
|
92010
91919
|
const runs = answerOf2(await call(["run", "list", "--card", String(id), "--all", "--json"]))?.runs;
|
|
@@ -92016,8 +91925,8 @@ async function stopRuns(akb, ws, id, since, ms2) {
|
|
|
92016
91925
|
}
|
|
92017
91926
|
var working = /* @__PURE__ */ new Map();
|
|
92018
91927
|
var workKey = (ws, id) => `${ws.board}#${id}`;
|
|
92019
|
-
async function stopLeftBehind(akb, ws, id,
|
|
92020
|
-
if (!working.has(workKey(ws, id))) await stopRuns(akb, ws, id, 0,
|
|
91928
|
+
async function stopLeftBehind(akb, ws, id, ms) {
|
|
91929
|
+
if (!working.has(workKey(ws, id))) await stopRuns(akb, ws, id, 0, ms);
|
|
92021
91930
|
}
|
|
92022
91931
|
function deliveryEnding(ws, id) {
|
|
92023
91932
|
if (!id) return null;
|
|
@@ -92051,7 +91960,7 @@ function checkoutsOf(ws, id) {
|
|
|
92051
91960
|
}
|
|
92052
91961
|
});
|
|
92053
91962
|
}
|
|
92054
|
-
var
|
|
91963
|
+
var refusal = (ran) => ran.last.replace(/^akb( raw)?: /, "").slice(0, 300) || "akb stopped with an error.";
|
|
92055
91964
|
var firstLine = (text3) => (text3 ?? "").split("\n").map((l2) => l2.trim()).find(Boolean)?.slice(0, 300);
|
|
92056
91965
|
function logLines(show, event2) {
|
|
92057
91966
|
let held4 = "";
|
|
@@ -92094,11 +92003,11 @@ function logLines(show, event2) {
|
|
|
92094
92003
|
};
|
|
92095
92004
|
}
|
|
92096
92005
|
function boardAkb(job, ws, deps, io, task) {
|
|
92097
|
-
return async (args, show = false) => {
|
|
92006
|
+
return async (args, show = false, env2) => {
|
|
92098
92007
|
const at2 = args.includes("--") ? args.indexOf("--") : args.length;
|
|
92099
92008
|
const full = [...args.slice(0, at2), "--board", ws.board, ...args.slice(at2)];
|
|
92100
92009
|
const log = show ? logLines(io.show, io.event) : void 0;
|
|
92101
|
-
const ran = await runAkb(deps.akb, full, { cwd: ws.cwd, board: ws.board, task, line: job.languageLine ?? "", show: log?.push, track: io.track });
|
|
92010
|
+
const ran = await runAkb(deps.akb, full, { cwd: ws.cwd, board: ws.board, task, line: job.languageLine ?? "", env: env2, show: log?.push, track: io.track });
|
|
92102
92011
|
log?.end();
|
|
92103
92012
|
return ran;
|
|
92104
92013
|
};
|
|
@@ -92118,16 +92027,16 @@ async function setUp(job, ws, deps, io) {
|
|
|
92118
92027
|
if (missing) return missing;
|
|
92119
92028
|
if (!fs25.existsSync(path28.join(ws.board, "config.md"))) {
|
|
92120
92029
|
const init = await akb(["raw", "init"]);
|
|
92121
|
-
if (init.code !== 0) return
|
|
92030
|
+
if (init.code !== 0) return refusal(init);
|
|
92122
92031
|
}
|
|
92123
92032
|
if (SKILL_FOLDERS.some((f2) => skillStale(path28.join(ws.cwd, f2), deps.akb.version))) {
|
|
92124
92033
|
const skill = await runAkb(deps.akb, ["skill", "install", "--dir", ws.cwd], { cwd: ws.cwd, track: io.track });
|
|
92125
|
-
if (skill.code !== 0) return
|
|
92034
|
+
if (skill.code !== 0) return refusal(skill);
|
|
92126
92035
|
}
|
|
92127
92036
|
const pulled = await pull(ws, deps.machineId);
|
|
92128
92037
|
if (!pulled.ok) return pulled.error;
|
|
92129
92038
|
const used = await akb(["agent", "use", runtime]);
|
|
92130
|
-
if (used.code !== 0) return
|
|
92039
|
+
if (used.code !== 0) return refusal(used);
|
|
92131
92040
|
const servers = mcpServersOf(ws);
|
|
92132
92041
|
const mcpFile = path28.join(ws.board, ".sync", `${ws.task}.mcp.json`);
|
|
92133
92042
|
const takes = new Set(settingKeys(runtime));
|
|
@@ -92139,7 +92048,7 @@ async function setUp(job, ws, deps, io) {
|
|
|
92139
92048
|
const valueOf = (key) => (secretKeys(runtime).includes(key) ? secrets[key] : values[key]) ?? "";
|
|
92140
92049
|
const set = async (key, value) => {
|
|
92141
92050
|
const done = await akb(["agent", "set", key, ...value ? key === RAW_ARGS_KEY ? ["--", value] : [value] : []]);
|
|
92142
|
-
return done.code === 0 ? null :
|
|
92051
|
+
return done.code === 0 ? null : refusal(done);
|
|
92143
92052
|
};
|
|
92144
92053
|
const provider = providerKey(runtime);
|
|
92145
92054
|
const rest = [...takes].filter((k) => k !== provider);
|
|
@@ -92165,7 +92074,7 @@ async function runReview(job, ws, tasks, deps, io) {
|
|
|
92165
92074
|
const ran = await akb(["review-memory", "--task", ...tasks, "--follow", "--events", "--json"], true);
|
|
92166
92075
|
if (io.lost()) return { ok: false, reason: "" };
|
|
92167
92076
|
const answer = answerOf2(ran);
|
|
92168
|
-
if (ran.code !== 0) return { ok: false, reason: firstLine(answer?.error?.message?.replace(/^run \S+ ended \w+: /, "")) ??
|
|
92077
|
+
if (ran.code !== 0) return { ok: false, reason: firstLine(answer?.error?.message?.replace(/^run \S+ ended \w+: /, "")) ?? refusal(ran) };
|
|
92169
92078
|
const runs = answerOf2(await akb(["run", "list", "--all", "--json"]))?.runs ?? [];
|
|
92170
92079
|
return { ok: true, report: { ...answer?.result?.trim() ? { reply: answer.result.trim() } : {}, ...spentBy(runs.filter((r2) => (r2.startedAt ?? 0) >= since)) } };
|
|
92171
92080
|
}
|
|
@@ -92179,12 +92088,12 @@ async function reviewRejections(job, ws, deps, io) {
|
|
|
92179
92088
|
const akb = boardAkb(job, ws, deps, io);
|
|
92180
92089
|
return withBoard(ws, async (push2) => {
|
|
92181
92090
|
const laid = layOut(ws.board, read.value);
|
|
92182
|
-
const ran = await akb(["review-dismissals", "--
|
|
92091
|
+
const ran = await akb(["review-dismissals", "--follow", "--events", "--json"], true);
|
|
92183
92092
|
clearLaid(ws.board);
|
|
92184
92093
|
resetSorted(ws);
|
|
92185
92094
|
const runs = (answerOf2(await akb(["run", "list", "--all", "--json"]))?.runs ?? []).filter((r2) => (r2.startedAt ?? 0) >= since);
|
|
92186
92095
|
if (io.lost()) return { runs };
|
|
92187
|
-
if (ran.code !== 0) return { runs, failure:
|
|
92096
|
+
if (ran.code !== 0) return { runs, failure: refusal(ran) };
|
|
92188
92097
|
const sent = await push2({ id: job.id, machineId: deps.machineId });
|
|
92189
92098
|
if (!sent.ok) return { runs, failure: sent.error };
|
|
92190
92099
|
const marked = await deps.api.markReviewed(laid.tasks, laid.triage);
|
|
@@ -92196,6 +92105,15 @@ async function learnRejections(job, ws, deps, io) {
|
|
|
92196
92105
|
if (failure) console.error(`runner: rejections not learned: ${failure}`);
|
|
92197
92106
|
return runs;
|
|
92198
92107
|
}
|
|
92108
|
+
async function scheduledEnv(ws, deps) {
|
|
92109
|
+
const read = await deps.api.readAgents(deps.machineId, ws.project);
|
|
92110
|
+
if (!read.ok) {
|
|
92111
|
+
console.error(`runner: scheduled agents not read: ${read.error}`);
|
|
92112
|
+
return {};
|
|
92113
|
+
}
|
|
92114
|
+
const names2 = read.value.agents.filter((a3) => a3.workflow).map((a3) => a3.name);
|
|
92115
|
+
return { [SCHEDULED_AGENTS_ENV]: [...new Set(names2)].join(",") };
|
|
92116
|
+
}
|
|
92199
92117
|
async function runAgent(job, ws, deps, io) {
|
|
92200
92118
|
const since = Date.now();
|
|
92201
92119
|
const failed = await setUp(job, ws, deps, io);
|
|
@@ -92210,10 +92128,11 @@ async function runAgent(job, ws, deps, io) {
|
|
|
92210
92128
|
const args = workflow ? ["agent", "run", workflowName(workflow), name] : name === "reflect" ? ["reflect", "--cards", ...tasks.map((t2) => String(t2.number))] : [name];
|
|
92211
92129
|
const akb = boardAkb(job, ws, deps, io, ws.cloudTask ?? void 0);
|
|
92212
92130
|
await akb(["run", "list", "--all", "--json"]);
|
|
92213
|
-
const
|
|
92131
|
+
const env2 = name === "reflect" && !workflow ? await scheduledEnv(ws, deps) : void 0;
|
|
92132
|
+
const ran = await akb([...args, "--follow", "--events", "--json"], true, env2);
|
|
92214
92133
|
if (io.lost()) return { ok: false, reason: "" };
|
|
92215
92134
|
const answer = answerOf2(ran);
|
|
92216
|
-
if (ran.code !== 0) return { ok: false, reason: firstLine(answer?.error?.message?.replace(/^run \S+ ended \w+: /, "")) ??
|
|
92135
|
+
if (ran.code !== 0) return { ok: false, reason: firstLine(answer?.error?.message?.replace(/^run \S+ ended \w+: /, "")) ?? refusal(ran) };
|
|
92217
92136
|
const runs = answerOf2(await akb(["run", "list", "--all", "--json"]))?.runs ?? [];
|
|
92218
92137
|
return { ok: true, report: { ...answer?.result?.trim() ? { reply: answer.result.trim() } : {}, ...spentBy(runs.filter((r2) => (r2.startedAt ?? 0) >= since)) } };
|
|
92219
92138
|
}
|
|
@@ -92253,7 +92172,7 @@ async function runFlow(job, ws, deps, io) {
|
|
|
92253
92172
|
const akb = boardAkb(job, ws, deps, io, ws.task);
|
|
92254
92173
|
const made = (ran) => {
|
|
92255
92174
|
const answer = answerOf2(ran);
|
|
92256
|
-
return ran.code === 0 && answer?.id ? { ok: true, value: answer.id } : { ok: false, error: answer?.error?.message ??
|
|
92175
|
+
return ran.code === 0 && answer?.id ? { ok: true, value: answer.id } : { ok: false, error: answer?.error?.message ?? refusal(ran), code: answer?.error?.kind };
|
|
92257
92176
|
};
|
|
92258
92177
|
if (flow.verb === "discard") return discardBuilds();
|
|
92259
92178
|
const failed = await setUp(job, ws, deps, io);
|
|
@@ -92335,9 +92254,10 @@ ${draftLine(ws)}
|
|
|
92335
92254
|
const ending = deliveryEnding(ws, answer?.delivery?.id ?? answer?.error?.delivery?.id);
|
|
92336
92255
|
if (ending) return ending;
|
|
92337
92256
|
}
|
|
92338
|
-
const
|
|
92339
|
-
|
|
92340
|
-
|
|
92257
|
+
const waiting = reviewOf2(cardFile(ws));
|
|
92258
|
+
const review = waiting && waiting !== true ? waiting : void 0;
|
|
92259
|
+
if (ran.code !== 0 && !(verb === "refine" && waiting) && !(verb === "implement" && answer?.error && review)) {
|
|
92260
|
+
return fail(firstLine(answer?.error?.message?.replace(/^run \S+ ended \w+: /, "")) ?? refusal(ran));
|
|
92341
92261
|
}
|
|
92342
92262
|
const last2 = answer?.lastSessionId ?? answer?.error?.lastSessionId;
|
|
92343
92263
|
const runs = answerOf2(await akb(["run", "list", "--card", String(id2), "--all", "--json"]))?.runs ?? [];
|
|
@@ -92355,12 +92275,12 @@ ${draftLine(ws)}
|
|
|
92355
92275
|
if (!card2) return { ok: true, report: {} };
|
|
92356
92276
|
for (const delivery of checkoutsOf(ws, card2)) {
|
|
92357
92277
|
const ran = await akb(["delivery", "discard", delivery, "--yes", "--json"], true);
|
|
92358
|
-
if (ran.code !== 0) return fail(
|
|
92278
|
+
if (ran.code !== 0) return fail(refusal(ran));
|
|
92359
92279
|
}
|
|
92360
92280
|
return { ok: true, report: { card: card2 } };
|
|
92361
92281
|
}
|
|
92362
92282
|
function carryArgs(verb) {
|
|
92363
|
-
if (!["refine", "resolve", "revise"].includes(verb)) return [];
|
|
92283
|
+
if (!["refine", "resolve", "revise", "implement"].includes(verb)) return [];
|
|
92364
92284
|
const transcript = writeTranscript(job, path28.join(ws.board, ".sync", `${ws.task}.discussion`));
|
|
92365
92285
|
return [
|
|
92366
92286
|
...job.resume ? ["--session", job.resume, ...job.fork ? ["--fork"] : []] : [],
|
|
@@ -92376,7 +92296,7 @@ import net from "node:net";
|
|
|
92376
92296
|
import path29 from "node:path";
|
|
92377
92297
|
var RETRY_MS = 5e3;
|
|
92378
92298
|
var KIND_MS = 1e3;
|
|
92379
|
-
var HOLDERS = ["claude-code", "codex", "terminal"
|
|
92299
|
+
var HOLDERS = ["claude-code", "codex", "terminal"];
|
|
92380
92300
|
function lockPath() {
|
|
92381
92301
|
const home4 = runnerHome();
|
|
92382
92302
|
if (process.platform === "win32") return `\\\\.\\pipe\\wildcrane-${crypto4.createHash("sha256").update(home4).digest("hex").slice(0, 16)}`;
|
|
@@ -92389,8 +92309,8 @@ function holdMachine(kind, onHeld, onWaiting) {
|
|
|
92389
92309
|
let waiting = null;
|
|
92390
92310
|
let timer = null;
|
|
92391
92311
|
const peers = /* @__PURE__ */ new Set();
|
|
92392
|
-
const later = (
|
|
92393
|
-
if (!closed) timer = setTimeout(attempt,
|
|
92312
|
+
const later = (ms) => {
|
|
92313
|
+
if (!closed) timer = setTimeout(attempt, ms);
|
|
92394
92314
|
};
|
|
92395
92315
|
const attempt = () => {
|
|
92396
92316
|
timer = null;
|
|
@@ -92459,6 +92379,7 @@ function holdMachine(kind, onHeld, onWaiting) {
|
|
|
92459
92379
|
};
|
|
92460
92380
|
attempt();
|
|
92461
92381
|
return {
|
|
92382
|
+
waited: () => peers.size > 0,
|
|
92462
92383
|
release() {
|
|
92463
92384
|
if (closed) return;
|
|
92464
92385
|
closed = true;
|
|
@@ -92708,6 +92629,7 @@ function streamOut(deps, id, lease) {
|
|
|
92708
92629
|
const stored = new Promise((resolve2) => ended2 = resolve2);
|
|
92709
92630
|
const children = /* @__PURE__ */ new Set();
|
|
92710
92631
|
const kill = (child) => {
|
|
92632
|
+
if (!child.pid) return;
|
|
92711
92633
|
child.kill("SIGTERM");
|
|
92712
92634
|
setTimeout(() => child.kill("SIGKILL"), KILL_GRACE_MS).unref();
|
|
92713
92635
|
};
|
|
@@ -92940,6 +92862,10 @@ ${job.prompt}` : job.prompt;
|
|
|
92940
92862
|
let p2 = deps.plan(job.runtime, promptOf(said2), cwd, resume, job.model, settingsOf(job), fork, job.languageLine ?? "");
|
|
92941
92863
|
if (ws) p2 = { ...p2, env: { ...p2.env, ...akbEnv(deps.akb, ws.board, ws.task, job.languageLine ?? "") } };
|
|
92942
92864
|
if (ideas) p2 = { ...p2, env: { ...p2.env, ...akbEnv(deps.akb, discussed, void 0, job.languageLine ?? ""), KANBAN_IDEAS: ideas } };
|
|
92865
|
+
if (job.chat || job.discussion) {
|
|
92866
|
+
const { CLAUDE_CODE_MAX_RETRIES: _2, ...env2 } = p2.env;
|
|
92867
|
+
p2 = { ...p2, env: env2 };
|
|
92868
|
+
}
|
|
92943
92869
|
return p2;
|
|
92944
92870
|
};
|
|
92945
92871
|
const carried = !!job.resume && (!job.fork || forks(job.runtime));
|
|
@@ -93073,10 +92999,11 @@ async function runAgentJob(job, deps, track, keep2) {
|
|
|
93073
92999
|
var quietLines = (plan2, chunk) => chunk.split("\n").filter((line) => line && !plan2.quiet(line)).map((line) => `${line}
|
|
93074
93000
|
`).join("");
|
|
93075
93001
|
var stop = (child) => {
|
|
93002
|
+
if (!child.pid) return;
|
|
93076
93003
|
child.kill("SIGTERM");
|
|
93077
93004
|
setTimeout(() => child.kill("SIGKILL"), KILL_GRACE_MS).unref();
|
|
93078
93005
|
};
|
|
93079
|
-
var wait2 = (
|
|
93006
|
+
var wait2 = (ms) => new Promise((resolve2) => setTimeout(resolve2, ms));
|
|
93080
93007
|
var held3 = (deps, lease) => Date.now() - lease.at < deps.leaseMs;
|
|
93081
93008
|
async function whileOffline(deps, id, lease, attempt) {
|
|
93082
93009
|
for (; ; ) {
|
|
@@ -93122,8 +93049,8 @@ async function runSecret(job, deps) {
|
|
|
93122
93049
|
await deps.api.finishJob(deps.machineId, job.id, "done", "");
|
|
93123
93050
|
}
|
|
93124
93051
|
async function runTest(job, deps) {
|
|
93125
|
-
const finish2 = async (outcome, reason,
|
|
93126
|
-
await deps.api.finishJob(deps.machineId, job.id, outcome, reason,
|
|
93052
|
+
const finish2 = async (outcome, reason, ms2) => {
|
|
93053
|
+
await deps.api.finishJob(deps.machineId, job.id, outcome, reason, ms2 === void 0 ? void 0 : { ms: ms2 });
|
|
93127
93054
|
};
|
|
93128
93055
|
const report2 = (await deps.runtimes()).find((r2) => r2.name === job.runtime);
|
|
93129
93056
|
if (!report2?.installed) return finish2("failed", "not_installed");
|
|
@@ -93145,10 +93072,10 @@ async function runTest(job, deps) {
|
|
|
93145
93072
|
]);
|
|
93146
93073
|
clearTimeout(timer);
|
|
93147
93074
|
stop(child);
|
|
93148
|
-
const
|
|
93149
|
-
if (end === "timeout") return finish2("failed", "timeout",
|
|
93150
|
-
if (end instanceof Error) return end.code === "ENOENT" ? finish2("failed", "not_installed") : finish2("failed", end.message.slice(0, 300),
|
|
93151
|
-
return end.ok ? finish2("done", "",
|
|
93075
|
+
const ms2 = Date.now() - startedAt;
|
|
93076
|
+
if (end === "timeout") return finish2("failed", "timeout", ms2);
|
|
93077
|
+
if (end instanceof Error) return end.code === "ENOENT" ? finish2("failed", "not_installed") : finish2("failed", end.message.slice(0, 300), ms2);
|
|
93078
|
+
return end.ok ? finish2("done", "", ms2) : finish2("failed", (end.error || "The connector stopped.").slice(0, 300), ms2);
|
|
93152
93079
|
}
|
|
93153
93080
|
const renderer = run2.renderer;
|
|
93154
93081
|
const ended2 = await new Promise((resolve2) => {
|
|
@@ -93182,13 +93109,13 @@ async function runTest(job, deps) {
|
|
|
93182
93109
|
resolve2({ code, said });
|
|
93183
93110
|
});
|
|
93184
93111
|
});
|
|
93185
|
-
const
|
|
93186
|
-
if (ended2.timedOut) return finish2("failed", "timeout",
|
|
93112
|
+
const ms = Date.now() - startedAt;
|
|
93113
|
+
if (ended2.timedOut) return finish2("failed", "timeout", ms);
|
|
93187
93114
|
if (ended2.error?.code === "ENOENT") return finish2("failed", "not_installed");
|
|
93188
93115
|
renderer.flush();
|
|
93189
93116
|
const failure = ended2.error?.message ?? renderer.failure?.() ?? (ended2.code === 0 ? void 0 : ended2.said.trim().split("\n").at(-1) || `Exited with code ${ended2.code}.`);
|
|
93190
|
-
if (failure) return finish2("failed", failure.slice(0, 300),
|
|
93191
|
-
return finish2("done", "",
|
|
93117
|
+
if (failure) return finish2("failed", failure.slice(0, 300), ms);
|
|
93118
|
+
return finish2("done", "", ms);
|
|
93192
93119
|
}
|
|
93193
93120
|
function report(job, run2, turn) {
|
|
93194
93121
|
const context = turn ? turn.context : run2.renderer?.context?.();
|
|
@@ -93279,9 +93206,10 @@ function keepPresence(machineId2, pingMs = PING_MS) {
|
|
|
93279
93206
|
}
|
|
93280
93207
|
|
|
93281
93208
|
// src/connect.ts
|
|
93282
|
-
var HEARTBEAT_MS2 =
|
|
93209
|
+
var HEARTBEAT_MS2 = 10 * 6e4;
|
|
93283
93210
|
var POLL_MS = 6e4;
|
|
93284
93211
|
var BACKOFF_MS3 = [1e3, 2e3, 5e3, 1e4, 3e4];
|
|
93212
|
+
var LOOK_LATE_MS = 6e4;
|
|
93285
93213
|
function startRunner(options) {
|
|
93286
93214
|
let registration = null;
|
|
93287
93215
|
let connected = false;
|
|
@@ -93302,7 +93230,7 @@ function startRunner(options) {
|
|
|
93302
93230
|
return { ...base, runtimes: () => base.runtimes().then(redetected) };
|
|
93303
93231
|
};
|
|
93304
93232
|
const register2 = async () => {
|
|
93305
|
-
const answer = await register(
|
|
93233
|
+
const answer = await register(registration);
|
|
93306
93234
|
if (answer.ok) void followAkb(answer.value.akb);
|
|
93307
93235
|
return answer;
|
|
93308
93236
|
};
|
|
@@ -93313,10 +93241,10 @@ function startRunner(options) {
|
|
|
93313
93241
|
return found;
|
|
93314
93242
|
};
|
|
93315
93243
|
const idle2 = () => running.size ? t.running(running.size) : t.connected(registration.machineName);
|
|
93316
|
-
const schedule = (
|
|
93244
|
+
const schedule = (ms) => {
|
|
93317
93245
|
if (closed) return;
|
|
93318
93246
|
if (timer) clearTimeout(timer);
|
|
93319
|
-
timer = setTimeout(tick,
|
|
93247
|
+
timer = setTimeout(tick, ms);
|
|
93320
93248
|
};
|
|
93321
93249
|
let looking = false;
|
|
93322
93250
|
const agentsDue = async () => {
|
|
@@ -93330,8 +93258,18 @@ function startRunner(options) {
|
|
|
93330
93258
|
looking = false;
|
|
93331
93259
|
}
|
|
93332
93260
|
};
|
|
93333
|
-
|
|
93334
|
-
|
|
93261
|
+
let agentsTimer = null;
|
|
93262
|
+
const lookNext = () => {
|
|
93263
|
+
if (closed) return;
|
|
93264
|
+
const at2 = (options.nextLook ?? nextHour)(Date.now());
|
|
93265
|
+
agentsTimer = setTimeout(() => {
|
|
93266
|
+
const late = Date.now() - at2;
|
|
93267
|
+
if (late >= 0 && late < LOOK_LATE_MS) void agentsDue();
|
|
93268
|
+
lookNext();
|
|
93269
|
+
}, at2 - Date.now());
|
|
93270
|
+
agentsTimer.unref?.();
|
|
93271
|
+
};
|
|
93272
|
+
lookNext();
|
|
93335
93273
|
let sweeping = false;
|
|
93336
93274
|
let swept = false;
|
|
93337
93275
|
const sweep = async () => {
|
|
@@ -93372,7 +93310,6 @@ function startRunner(options) {
|
|
|
93372
93310
|
}
|
|
93373
93311
|
if (answer.code === "runner_outdated") return finish2({ reason: "outdated" });
|
|
93374
93312
|
if (answer.code) return finish2({ reason: "refused", message: answer.error });
|
|
93375
|
-
if (connected) options.onDisconnected?.();
|
|
93376
93313
|
connected = false;
|
|
93377
93314
|
status(t.reconnecting());
|
|
93378
93315
|
return schedule(BACKOFF_MS3[Math.min(attempts++, BACKOFF_MS3.length - 1)]);
|
|
@@ -93391,7 +93328,6 @@ function startRunner(options) {
|
|
|
93391
93328
|
await readJobs();
|
|
93392
93329
|
if (!live?.joined()) boards?.pullAll();
|
|
93393
93330
|
void reviewDue();
|
|
93394
|
-
void agentsDue();
|
|
93395
93331
|
schedule(live?.joined() ? options.heartbeatMs ?? HEARTBEAT_MS2 : Math.min(options.pollMs ?? POLL_MS, options.heartbeatMs ?? HEARTBEAT_MS2));
|
|
93396
93332
|
};
|
|
93397
93333
|
const openLive = () => {
|
|
@@ -93410,12 +93346,10 @@ function startRunner(options) {
|
|
|
93410
93346
|
return;
|
|
93411
93347
|
}
|
|
93412
93348
|
if (payload.jobId || !(payload.alertId || payload.taskId)) void readJobs();
|
|
93413
|
-
options.onHint?.(payload);
|
|
93414
93349
|
},
|
|
93415
93350
|
onReady: () => {
|
|
93416
93351
|
void readJobs();
|
|
93417
93352
|
boards?.pullAll();
|
|
93418
|
-
options.onHint?.({});
|
|
93419
93353
|
}
|
|
93420
93354
|
});
|
|
93421
93355
|
};
|
|
@@ -93485,9 +93419,10 @@ function startRunner(options) {
|
|
|
93485
93419
|
const close = async (release2 = true) => {
|
|
93486
93420
|
if (closed) return;
|
|
93487
93421
|
closed = true;
|
|
93422
|
+
const handedOver = lock.waited();
|
|
93488
93423
|
lock.release();
|
|
93489
93424
|
if (timer) clearTimeout(timer);
|
|
93490
|
-
|
|
93425
|
+
if (agentsTimer) clearTimeout(agentsTimer);
|
|
93491
93426
|
clearInterval(sweepTimer);
|
|
93492
93427
|
live?.close();
|
|
93493
93428
|
presence?.close();
|
|
@@ -93496,7 +93431,7 @@ function startRunner(options) {
|
|
|
93496
93431
|
let timeout;
|
|
93497
93432
|
await Promise.race([stops, new Promise((resolve2) => timeout = setTimeout(resolve2, (options.deps?.stopMs ?? STOP_MS) + 1e3))]);
|
|
93498
93433
|
clearTimeout(timeout);
|
|
93499
|
-
if (release2 && registration) await release(registration.machineId);
|
|
93434
|
+
if (release2 && !handedOver && registration) await release(registration.machineId);
|
|
93500
93435
|
};
|
|
93501
93436
|
removeLegacy();
|
|
93502
93437
|
pruneChats();
|
|
@@ -93507,12 +93442,6 @@ function startRunner(options) {
|
|
|
93507
93442
|
return { stopped: stopped2, close: () => close(true), renew: () => schedule(0) };
|
|
93508
93443
|
}
|
|
93509
93444
|
|
|
93510
|
-
// src/desktop.ts
|
|
93511
|
-
import { spawnSync as spawnSync5 } from "node:child_process";
|
|
93512
|
-
import fs30 from "node:fs";
|
|
93513
|
-
import path33 from "node:path";
|
|
93514
|
-
import readline from "node:readline";
|
|
93515
|
-
|
|
93516
93445
|
// src/signin.ts
|
|
93517
93446
|
import { spawn as spawn5 } from "node:child_process";
|
|
93518
93447
|
import crypto5 from "node:crypto";
|
|
@@ -93613,254 +93542,10 @@ function openBrowser(url) {
|
|
|
93613
93542
|
}
|
|
93614
93543
|
var base64url = (bytes2) => bytes2.toString("base64").replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
93615
93544
|
|
|
93616
|
-
// src/desktop.ts
|
|
93617
|
-
var DESKTOP_PROTOCOL = 1;
|
|
93618
|
-
var POLL_MS2 = 6e4;
|
|
93619
|
-
var RETRY_MS3 = 6e4;
|
|
93620
|
-
var WEB_URL = () => (process.env.WILDCRANE_WEB_URL || "https://app.wildcrane.ai").replace(/\/+$/, "");
|
|
93621
|
-
var taskUrl = (task) => `${WEB_URL()}/tasks/${encodeURIComponent(task)}`;
|
|
93622
|
-
function emit(event2) {
|
|
93623
|
-
process.stdout.write(`${JSON.stringify(event2)}
|
|
93624
|
-
`);
|
|
93625
|
-
}
|
|
93626
|
-
var COMMENT_CHARS = 100;
|
|
93627
|
-
function notice(alert, lines = t) {
|
|
93628
|
-
if (alert.kind === "review") return { title: lines.reviewTitle(), body: lines.reviewBody(alert.task_title) };
|
|
93629
|
-
if (alert.kind === "comment") {
|
|
93630
|
-
const chars = Array.from((alert.comment?.body ?? "").replace(/\s+/g, " ").trim());
|
|
93631
|
-
const text3 = chars.length > COMMENT_CHARS ? `${chars.slice(0, COMMENT_CHARS).join("")}\u2026` : chars.join("");
|
|
93632
|
-
const who = alert.comment?.author.handle || alert.comment?.author.email || "";
|
|
93633
|
-
return { title: lines.commentTitle(alert.task_title), body: lines.commentBody(who, text3) };
|
|
93634
|
-
}
|
|
93635
|
-
return { title: alert.kind === "done" ? lines.doneTitle() : lines.failedTitle(), body: alert.task_title };
|
|
93636
|
-
}
|
|
93637
|
-
function loginPath() {
|
|
93638
|
-
if (process.platform !== "darwin") return;
|
|
93639
|
-
const shell = process.env.SHELL || "/bin/zsh";
|
|
93640
|
-
const got = spawnSync5(shell, ["-ilc", 'printf "\\n%s" "$PATH"'], { encoding: "utf8", timeout: 5e3 });
|
|
93641
|
-
const found = got.status === 0 ? got.stdout.split("\n").pop()?.trim() : "";
|
|
93642
|
-
if (found) process.env.PATH = [.../* @__PURE__ */ new Set([...found.split(":"), ...(process.env.PATH ?? "").split(":")])].filter(Boolean).join(":");
|
|
93643
|
-
}
|
|
93644
|
-
async function runDesktop(tell2) {
|
|
93645
|
-
loginPath();
|
|
93646
|
-
const id = machineId();
|
|
93647
|
-
emit({ type: "hello", protocol: DESKTOP_PROTOCOL, version: VERSION, lang: isChinese() ? "zh" : "en", web: WEB_URL() });
|
|
93648
|
-
let runner = null;
|
|
93649
|
-
let signing = null;
|
|
93650
|
-
let notify = false;
|
|
93651
|
-
let folders2 = [];
|
|
93652
|
-
let lastInbox = "";
|
|
93653
|
-
let inboxTimer = null;
|
|
93654
|
-
let poller = null;
|
|
93655
|
-
const shown = /* @__PURE__ */ new Set();
|
|
93656
|
-
let wake = () => {
|
|
93657
|
-
};
|
|
93658
|
-
const readInbox3 = () => {
|
|
93659
|
-
if (inboxTimer) clearTimeout(inboxTimer);
|
|
93660
|
-
inboxTimer = setTimeout(async () => {
|
|
93661
|
-
const inbox = await readInbox();
|
|
93662
|
-
if (!inbox.ok) return;
|
|
93663
|
-
const items = (list) => list.map((i) => ({ ...i, url: taskUrl(i.task) }));
|
|
93664
|
-
const next = JSON.stringify({ type: "inbox", review: items(inbox.value.review), running: items(inbox.value.running) });
|
|
93665
|
-
if (next === lastInbox) return;
|
|
93666
|
-
lastInbox = next;
|
|
93667
|
-
process.stdout.write(`${next}
|
|
93668
|
-
`);
|
|
93669
|
-
}, 200);
|
|
93670
|
-
};
|
|
93671
|
-
const readAlerts = async () => {
|
|
93672
|
-
const list = await listAlerts(id);
|
|
93673
|
-
if (!list.ok) return;
|
|
93674
|
-
for (const alert of list.value.alerts) {
|
|
93675
|
-
if (shown.has(alert.id)) continue;
|
|
93676
|
-
shown.add(alert.id);
|
|
93677
|
-
if (notify) emit({ type: "notify", id: alert.id, ...notice(alert), url: taskUrl(alert.task) });
|
|
93678
|
-
await showAlert(id, alert.id);
|
|
93679
|
-
}
|
|
93680
|
-
};
|
|
93681
|
-
const readFolders = async () => {
|
|
93682
|
-
const list = await listFolders(id);
|
|
93683
|
-
if (!list.ok) return;
|
|
93684
|
-
folders2 = list.value.folders;
|
|
93685
|
-
for (const dir of keepOnly(folders2.map((f2) => f2.path))) clearAkb(dir);
|
|
93686
|
-
emit({ type: "folders", folders: folders2 });
|
|
93687
|
-
const elsewhere = await listElsewhere(id);
|
|
93688
|
-
if (elsewhere.ok) emit({ type: "elsewhere", projects: elsewhere.value.projects });
|
|
93689
|
-
};
|
|
93690
|
-
const readProfile2 = async () => {
|
|
93691
|
-
const session = readSession();
|
|
93692
|
-
const profile = await readProfile();
|
|
93693
|
-
const held4 = profile.ok ? profile.value.session : {};
|
|
93694
|
-
emit({
|
|
93695
|
-
type: "account",
|
|
93696
|
-
name: held4.name || held4.handle || session?.name || session?.handle || "",
|
|
93697
|
-
email: held4.email || session?.email || "",
|
|
93698
|
-
avatar: held4.avatarUrl || session?.avatarUrl || ""
|
|
93699
|
-
});
|
|
93700
|
-
};
|
|
93701
|
-
const readPlan2 = async () => {
|
|
93702
|
-
const read = await readPlan();
|
|
93703
|
-
if (!read.ok) return;
|
|
93704
|
-
const { billing, quota } = read.value;
|
|
93705
|
-
const paying = billing.plan === "pro" && (!billing.trialEnd || !!billing.grantEnd || billing.state !== "free");
|
|
93706
|
-
emit({
|
|
93707
|
-
type: "plan",
|
|
93708
|
-
plan: billing.plan,
|
|
93709
|
-
paying,
|
|
93710
|
-
limits: quota.limits,
|
|
93711
|
-
used: quota.used,
|
|
93712
|
-
pricing: `${cloudEndpoints().api}/pricing?lang=${isChinese() ? "zh" : "en"}`
|
|
93713
|
-
});
|
|
93714
|
-
};
|
|
93715
|
-
const readAll2 = () => {
|
|
93716
|
-
void readProfile2();
|
|
93717
|
-
void readFolders();
|
|
93718
|
-
void readPlan2();
|
|
93719
|
-
void readAlerts();
|
|
93720
|
-
readInbox3();
|
|
93721
|
-
};
|
|
93722
|
-
const onConnected = () => {
|
|
93723
|
-
tell2({ type: "connected" });
|
|
93724
|
-
emit({ type: "connection", state: "connected", machine: machineName() });
|
|
93725
|
-
readAll2();
|
|
93726
|
-
};
|
|
93727
|
-
const onWaiting = (holder) => {
|
|
93728
|
-
tell2({ type: "waiting" });
|
|
93729
|
-
emit({ type: "connection", state: "paused", ...holder ? { holder } : {} });
|
|
93730
|
-
readAll2();
|
|
93731
|
-
};
|
|
93732
|
-
const handle = async (command) => {
|
|
93733
|
-
switch (command.cmd) {
|
|
93734
|
-
case "signIn": {
|
|
93735
|
-
if (signing || readSession()) return;
|
|
93736
|
-
signing = new AbortController();
|
|
93737
|
-
const failure = await signIn({ signal: signing.signal, onUrl: (url) => emit({ type: "signin", state: "waiting", url }) });
|
|
93738
|
-
signing = null;
|
|
93739
|
-
if (failure) emit({ type: "signin", state: failure.why === "cancelled" ? "needed" : "failed", why: failure.why });
|
|
93740
|
-
else {
|
|
93741
|
-
emit({ type: "signin", state: "done" });
|
|
93742
|
-
wake("again");
|
|
93743
|
-
}
|
|
93744
|
-
return;
|
|
93745
|
-
}
|
|
93746
|
-
case "cancelSignIn":
|
|
93747
|
-
return signing?.abort();
|
|
93748
|
-
case "signOut":
|
|
93749
|
-
await runner?.close();
|
|
93750
|
-
runner = null;
|
|
93751
|
-
clearSession();
|
|
93752
|
-
lastInbox = "";
|
|
93753
|
-
return wake("again");
|
|
93754
|
-
case "notify":
|
|
93755
|
-
notify = command.on;
|
|
93756
|
-
return runner?.renew();
|
|
93757
|
-
case "refresh":
|
|
93758
|
-
readInbox3();
|
|
93759
|
-
return void readAlerts();
|
|
93760
|
-
case "read":
|
|
93761
|
-
await readAlert(command.alert);
|
|
93762
|
-
return readInbox3();
|
|
93763
|
-
case "addFolder": {
|
|
93764
|
-
const project = command.project;
|
|
93765
|
-
const why = refusal(command.path);
|
|
93766
|
-
if (why) return emit({ type: "folderRefused", why, project });
|
|
93767
|
-
const real = fs30.realpathSync(command.path);
|
|
93768
|
-
const added = await addFolder(id, path33.basename(real) || real, real, project);
|
|
93769
|
-
if (!added.ok) {
|
|
93770
|
-
const taken = added.code === "folder_taken";
|
|
93771
|
-
return emit({ type: "folderRefused", why: taken ? "taken" : "failed", project, ...taken ? { taken: added.project } : {} });
|
|
93772
|
-
}
|
|
93773
|
-
allow(real);
|
|
93774
|
-
return readFolders();
|
|
93775
|
-
}
|
|
93776
|
-
case "removeFolder": {
|
|
93777
|
-
const held4 = folders2.find((f2) => f2.project === command.project);
|
|
93778
|
-
const removed = await removeFolder(id, command.project);
|
|
93779
|
-
if (removed.ok && held4) for (const dir of disallow(held4.path)) clearAkb(dir);
|
|
93780
|
-
return readFolders();
|
|
93781
|
-
}
|
|
93782
|
-
case "folderNotify":
|
|
93783
|
-
await setFolderNotify(id, command.project, command.on);
|
|
93784
|
-
return readFolders();
|
|
93785
|
-
case "plan":
|
|
93786
|
-
return readPlan2();
|
|
93787
|
-
case "checkout": {
|
|
93788
|
-
const plan2 = await readPlan();
|
|
93789
|
-
if (command.item === "pro" && plan2.ok && plan2.value.billing.mayTrial) {
|
|
93790
|
-
const started = await startTrial();
|
|
93791
|
-
if (!started.ok) return emit({ type: "checkout", failed: true });
|
|
93792
|
-
return readPlan2();
|
|
93793
|
-
}
|
|
93794
|
-
const opened = await checkout(command.item);
|
|
93795
|
-
return emit(opened.ok ? { type: "checkout", url: opened.value.url } : { type: "checkout", failed: true });
|
|
93796
|
-
}
|
|
93797
|
-
case "quit":
|
|
93798
|
-
await runner?.close();
|
|
93799
|
-
return wake("quit");
|
|
93800
|
-
}
|
|
93801
|
-
};
|
|
93802
|
-
readline.createInterface({ input: process.stdin }).on("line", (line) => {
|
|
93803
|
-
let command;
|
|
93804
|
-
try {
|
|
93805
|
-
command = JSON.parse(line);
|
|
93806
|
-
} catch {
|
|
93807
|
-
return;
|
|
93808
|
-
}
|
|
93809
|
-
void handle(command);
|
|
93810
|
-
});
|
|
93811
|
-
process.stdin.on("end", () => void handle({ cmd: "quit" }));
|
|
93812
|
-
for (const signal of ["SIGINT", "SIGTERM"]) process.on(signal, () => void handle({ cmd: "quit" }));
|
|
93813
|
-
for (; ; ) {
|
|
93814
|
-
const next = new Promise((resolve2) => wake = resolve2);
|
|
93815
|
-
if (!readSession()) {
|
|
93816
|
-
emit({ type: "signin", state: "needed" });
|
|
93817
|
-
const why2 = await next;
|
|
93818
|
-
if (why2 === "quit") return 0;
|
|
93819
|
-
continue;
|
|
93820
|
-
}
|
|
93821
|
-
tell2({ type: "started" });
|
|
93822
|
-
emit({ type: "connection", state: "connecting" });
|
|
93823
|
-
runner = startRunner({
|
|
93824
|
-
registration: async () => ({ machineId: id, machineName: machineName(), version: VERSION, runtimes: await detectRuntimes(true) }),
|
|
93825
|
-
kind: "desktop",
|
|
93826
|
-
notify: () => notify,
|
|
93827
|
-
onConnected,
|
|
93828
|
-
onWaiting,
|
|
93829
|
-
onDisconnected: () => emit({ type: "connection", state: "reconnecting" }),
|
|
93830
|
-
onHint: (payload) => {
|
|
93831
|
-
if (payload.alertId || !payload.taskId) void readAlerts();
|
|
93832
|
-
if (!payload.jobId) readInbox3();
|
|
93833
|
-
}
|
|
93834
|
-
});
|
|
93835
|
-
poller = setInterval(() => {
|
|
93836
|
-
readInbox3();
|
|
93837
|
-
void readAlerts();
|
|
93838
|
-
}, POLL_MS2);
|
|
93839
|
-
void runner.stopped.then(wake);
|
|
93840
|
-
const why = await next;
|
|
93841
|
-
if (poller) clearInterval(poller);
|
|
93842
|
-
if (why === "quit") return 0;
|
|
93843
|
-
if (why === "again") continue;
|
|
93844
|
-
runner = null;
|
|
93845
|
-
if (why.reason === "outdated") return EXIT_OUTDATED;
|
|
93846
|
-
emit({ type: "connection", state: why.reason, ...why.reason === "elsewhere" ? { machine: why.machine } : {} });
|
|
93847
|
-
const again = new Promise((resolve2) => wake = resolve2);
|
|
93848
|
-
const retry2 = setTimeout(() => wake("again"), RETRY_MS3);
|
|
93849
|
-
const after = await again;
|
|
93850
|
-
clearTimeout(retry2);
|
|
93851
|
-
if (after === "quit") return 0;
|
|
93852
|
-
}
|
|
93853
|
-
}
|
|
93854
|
-
|
|
93855
93545
|
// src/main.ts
|
|
93856
93546
|
var tell = (message) => process.send?.(message);
|
|
93857
93547
|
async function main() {
|
|
93858
93548
|
useRunnerHome();
|
|
93859
|
-
if (process.env.WILDCRANE_DESKTOP) {
|
|
93860
|
-
const code = await runDesktop(tell);
|
|
93861
|
-
status(t.stopped());
|
|
93862
|
-
process.exit(code);
|
|
93863
|
-
}
|
|
93864
93549
|
if (!readSession()) {
|
|
93865
93550
|
const failure = await signIn();
|
|
93866
93551
|
if (failure) {
|