@brainervirus/workit-cli 8.43.0 → 8.43.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +662 -580
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -9417,7 +9417,7 @@ var package_default;
|
|
|
9417
9417
|
var init_package = __esm(() => {
|
|
9418
9418
|
package_default = {
|
|
9419
9419
|
name: "@brainervirus/workit-cli",
|
|
9420
|
-
version: "8.43.
|
|
9420
|
+
version: "8.43.2",
|
|
9421
9421
|
private: false,
|
|
9422
9422
|
description: "Workit CLI — setup wizard, doctor, and task control for agentic coding workflows",
|
|
9423
9423
|
keywords: [
|
|
@@ -9455,13 +9455,13 @@ var init_package = __esm(() => {
|
|
|
9455
9455
|
},
|
|
9456
9456
|
dependencies: {
|
|
9457
9457
|
"@babel/parser": "7.29.9",
|
|
9458
|
-
"@brainervirus/workit-cursor": "^8.43.
|
|
9458
|
+
"@brainervirus/workit-cursor": "^8.43.2",
|
|
9459
9459
|
"@inkjs/ui": "2.0.0",
|
|
9460
9460
|
ink: "7.1.1",
|
|
9461
9461
|
react: "19.2.8"
|
|
9462
9462
|
},
|
|
9463
9463
|
devDependencies: {
|
|
9464
|
-
"@brainervirus/workit-core": "^8.43.
|
|
9464
|
+
"@brainervirus/workit-core": "^8.43.2"
|
|
9465
9465
|
},
|
|
9466
9466
|
engines: {
|
|
9467
9467
|
node: ">=24"
|
|
@@ -65417,6 +65417,258 @@ var init_build3 = __esm(async () => {
|
|
|
65417
65417
|
init_types();
|
|
65418
65418
|
});
|
|
65419
65419
|
|
|
65420
|
+
// node_modules/react/cjs/react-jsx-dev-runtime.development.js
|
|
65421
|
+
var require_react_jsx_dev_runtime_development = __commonJS(function(exports) {
|
|
65422
|
+
var React = __toESM(require_react());
|
|
65423
|
+
(function() {
|
|
65424
|
+
function getComponentNameFromType(type) {
|
|
65425
|
+
if (type == null)
|
|
65426
|
+
return null;
|
|
65427
|
+
if (typeof type === "function")
|
|
65428
|
+
return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
|
|
65429
|
+
if (typeof type === "string")
|
|
65430
|
+
return type;
|
|
65431
|
+
switch (type) {
|
|
65432
|
+
case REACT_FRAGMENT_TYPE:
|
|
65433
|
+
return "Fragment";
|
|
65434
|
+
case REACT_PROFILER_TYPE:
|
|
65435
|
+
return "Profiler";
|
|
65436
|
+
case REACT_STRICT_MODE_TYPE:
|
|
65437
|
+
return "StrictMode";
|
|
65438
|
+
case REACT_SUSPENSE_TYPE:
|
|
65439
|
+
return "Suspense";
|
|
65440
|
+
case REACT_SUSPENSE_LIST_TYPE:
|
|
65441
|
+
return "SuspenseList";
|
|
65442
|
+
case REACT_ACTIVITY_TYPE:
|
|
65443
|
+
return "Activity";
|
|
65444
|
+
}
|
|
65445
|
+
if (typeof type === "object")
|
|
65446
|
+
switch (typeof type.tag === "number" && console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), type.$$typeof) {
|
|
65447
|
+
case REACT_PORTAL_TYPE:
|
|
65448
|
+
return "Portal";
|
|
65449
|
+
case REACT_CONTEXT_TYPE:
|
|
65450
|
+
return type.displayName || "Context";
|
|
65451
|
+
case REACT_CONSUMER_TYPE:
|
|
65452
|
+
return (type._context.displayName || "Context") + ".Consumer";
|
|
65453
|
+
case REACT_FORWARD_REF_TYPE:
|
|
65454
|
+
var innerType = type.render;
|
|
65455
|
+
type = type.displayName;
|
|
65456
|
+
type || (type = innerType.displayName || innerType.name || "", type = type !== "" ? "ForwardRef(" + type + ")" : "ForwardRef");
|
|
65457
|
+
return type;
|
|
65458
|
+
case REACT_MEMO_TYPE:
|
|
65459
|
+
return innerType = type.displayName || null, innerType !== null ? innerType : getComponentNameFromType(type.type) || "Memo";
|
|
65460
|
+
case REACT_LAZY_TYPE:
|
|
65461
|
+
innerType = type._payload;
|
|
65462
|
+
type = type._init;
|
|
65463
|
+
try {
|
|
65464
|
+
return getComponentNameFromType(type(innerType));
|
|
65465
|
+
} catch (x) {}
|
|
65466
|
+
}
|
|
65467
|
+
return null;
|
|
65468
|
+
}
|
|
65469
|
+
function testStringCoercion(value) {
|
|
65470
|
+
return "" + value;
|
|
65471
|
+
}
|
|
65472
|
+
function checkKeyStringCoercion(value) {
|
|
65473
|
+
try {
|
|
65474
|
+
testStringCoercion(value);
|
|
65475
|
+
var JSCompiler_inline_result = false;
|
|
65476
|
+
} catch (e) {
|
|
65477
|
+
JSCompiler_inline_result = true;
|
|
65478
|
+
}
|
|
65479
|
+
if (JSCompiler_inline_result) {
|
|
65480
|
+
JSCompiler_inline_result = console;
|
|
65481
|
+
var JSCompiler_temp_const = JSCompiler_inline_result.error;
|
|
65482
|
+
var JSCompiler_inline_result$jscomp$0 = typeof Symbol === "function" && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
|
|
65483
|
+
JSCompiler_temp_const.call(JSCompiler_inline_result, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", JSCompiler_inline_result$jscomp$0);
|
|
65484
|
+
return testStringCoercion(value);
|
|
65485
|
+
}
|
|
65486
|
+
}
|
|
65487
|
+
function getTaskName(type) {
|
|
65488
|
+
if (type === REACT_FRAGMENT_TYPE)
|
|
65489
|
+
return "<>";
|
|
65490
|
+
if (typeof type === "object" && type !== null && type.$$typeof === REACT_LAZY_TYPE)
|
|
65491
|
+
return "<...>";
|
|
65492
|
+
try {
|
|
65493
|
+
var name = getComponentNameFromType(type);
|
|
65494
|
+
return name ? "<" + name + ">" : "<...>";
|
|
65495
|
+
} catch (x) {
|
|
65496
|
+
return "<...>";
|
|
65497
|
+
}
|
|
65498
|
+
}
|
|
65499
|
+
function getOwner() {
|
|
65500
|
+
var dispatcher = ReactSharedInternals.A;
|
|
65501
|
+
return dispatcher === null ? null : dispatcher.getOwner();
|
|
65502
|
+
}
|
|
65503
|
+
function UnknownOwner() {
|
|
65504
|
+
return Error("react-stack-top-frame");
|
|
65505
|
+
}
|
|
65506
|
+
function hasValidKey(config) {
|
|
65507
|
+
if (hasOwnProperty2.call(config, "key")) {
|
|
65508
|
+
var getter = Object.getOwnPropertyDescriptor(config, "key").get;
|
|
65509
|
+
if (getter && getter.isReactWarning)
|
|
65510
|
+
return false;
|
|
65511
|
+
}
|
|
65512
|
+
return config.key !== undefined;
|
|
65513
|
+
}
|
|
65514
|
+
function defineKeyPropWarningGetter(props, displayName) {
|
|
65515
|
+
function warnAboutAccessingKey() {
|
|
65516
|
+
specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", displayName));
|
|
65517
|
+
}
|
|
65518
|
+
warnAboutAccessingKey.isReactWarning = true;
|
|
65519
|
+
Object.defineProperty(props, "key", {
|
|
65520
|
+
get: warnAboutAccessingKey,
|
|
65521
|
+
configurable: true
|
|
65522
|
+
});
|
|
65523
|
+
}
|
|
65524
|
+
function elementRefGetterWithDeprecationWarning() {
|
|
65525
|
+
var componentName = getComponentNameFromType(this.type);
|
|
65526
|
+
didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."));
|
|
65527
|
+
componentName = this.props.ref;
|
|
65528
|
+
return componentName !== undefined ? componentName : null;
|
|
65529
|
+
}
|
|
65530
|
+
function ReactElement(type, key, props, owner, debugStack, debugTask) {
|
|
65531
|
+
var refProp = props.ref;
|
|
65532
|
+
type = {
|
|
65533
|
+
$$typeof: REACT_ELEMENT_TYPE,
|
|
65534
|
+
type,
|
|
65535
|
+
key,
|
|
65536
|
+
props,
|
|
65537
|
+
_owner: owner
|
|
65538
|
+
};
|
|
65539
|
+
(refProp !== undefined ? refProp : null) !== null ? Object.defineProperty(type, "ref", {
|
|
65540
|
+
enumerable: false,
|
|
65541
|
+
get: elementRefGetterWithDeprecationWarning
|
|
65542
|
+
}) : Object.defineProperty(type, "ref", { enumerable: false, value: null });
|
|
65543
|
+
type._store = {};
|
|
65544
|
+
Object.defineProperty(type._store, "validated", {
|
|
65545
|
+
configurable: false,
|
|
65546
|
+
enumerable: false,
|
|
65547
|
+
writable: true,
|
|
65548
|
+
value: 0
|
|
65549
|
+
});
|
|
65550
|
+
Object.defineProperty(type, "_debugInfo", {
|
|
65551
|
+
configurable: false,
|
|
65552
|
+
enumerable: false,
|
|
65553
|
+
writable: true,
|
|
65554
|
+
value: null
|
|
65555
|
+
});
|
|
65556
|
+
Object.defineProperty(type, "_debugStack", {
|
|
65557
|
+
configurable: false,
|
|
65558
|
+
enumerable: false,
|
|
65559
|
+
writable: true,
|
|
65560
|
+
value: debugStack
|
|
65561
|
+
});
|
|
65562
|
+
Object.defineProperty(type, "_debugTask", {
|
|
65563
|
+
configurable: false,
|
|
65564
|
+
enumerable: false,
|
|
65565
|
+
writable: true,
|
|
65566
|
+
value: debugTask
|
|
65567
|
+
});
|
|
65568
|
+
Object.freeze && (Object.freeze(type.props), Object.freeze(type));
|
|
65569
|
+
return type;
|
|
65570
|
+
}
|
|
65571
|
+
function jsxDEVImpl(type, config, maybeKey, isStaticChildren, debugStack, debugTask) {
|
|
65572
|
+
var children = config.children;
|
|
65573
|
+
if (children !== undefined)
|
|
65574
|
+
if (isStaticChildren)
|
|
65575
|
+
if (isArrayImpl(children)) {
|
|
65576
|
+
for (isStaticChildren = 0;isStaticChildren < children.length; isStaticChildren++)
|
|
65577
|
+
validateChildKeys(children[isStaticChildren]);
|
|
65578
|
+
Object.freeze && Object.freeze(children);
|
|
65579
|
+
} else
|
|
65580
|
+
console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
|
|
65581
|
+
else
|
|
65582
|
+
validateChildKeys(children);
|
|
65583
|
+
if (hasOwnProperty2.call(config, "key")) {
|
|
65584
|
+
children = getComponentNameFromType(type);
|
|
65585
|
+
var keys = Object.keys(config).filter(function(k) {
|
|
65586
|
+
return k !== "key";
|
|
65587
|
+
});
|
|
65588
|
+
isStaticChildren = 0 < keys.length ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}";
|
|
65589
|
+
didWarnAboutKeySpread[children + isStaticChildren] || (keys = 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}", console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
65590
|
+
let props = %s;
|
|
65591
|
+
<%s {...props} />
|
|
65592
|
+
React keys must be passed directly to JSX without using spread:
|
|
65593
|
+
let props = %s;
|
|
65594
|
+
<%s key={someKey} {...props} />`, isStaticChildren, children, keys, children), didWarnAboutKeySpread[children + isStaticChildren] = true);
|
|
65595
|
+
}
|
|
65596
|
+
children = null;
|
|
65597
|
+
maybeKey !== undefined && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey);
|
|
65598
|
+
hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key);
|
|
65599
|
+
if ("key" in config) {
|
|
65600
|
+
maybeKey = {};
|
|
65601
|
+
for (var propName in config)
|
|
65602
|
+
propName !== "key" && (maybeKey[propName] = config[propName]);
|
|
65603
|
+
} else
|
|
65604
|
+
maybeKey = config;
|
|
65605
|
+
children && defineKeyPropWarningGetter(maybeKey, typeof type === "function" ? type.displayName || type.name || "Unknown" : type);
|
|
65606
|
+
return ReactElement(type, children, maybeKey, getOwner(), debugStack, debugTask);
|
|
65607
|
+
}
|
|
65608
|
+
function validateChildKeys(node) {
|
|
65609
|
+
isValidElement(node) ? node._store && (node._store.validated = 1) : typeof node === "object" && node !== null && node.$$typeof === REACT_LAZY_TYPE && (node._payload.status === "fulfilled" ? isValidElement(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
|
|
65610
|
+
}
|
|
65611
|
+
function isValidElement(object) {
|
|
65612
|
+
return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
|
65613
|
+
}
|
|
65614
|
+
var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty2 = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
|
|
65615
|
+
return null;
|
|
65616
|
+
};
|
|
65617
|
+
React = {
|
|
65618
|
+
react_stack_bottom_frame: function(callStackForError) {
|
|
65619
|
+
return callStackForError();
|
|
65620
|
+
}
|
|
65621
|
+
};
|
|
65622
|
+
var specialPropKeyWarningShown;
|
|
65623
|
+
var didWarnAboutElementRef = {};
|
|
65624
|
+
var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(React, UnknownOwner)();
|
|
65625
|
+
var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
|
|
65626
|
+
var didWarnAboutKeySpread = {};
|
|
65627
|
+
exports.Fragment = REACT_FRAGMENT_TYPE;
|
|
65628
|
+
exports.jsxDEV = function(type, config, maybeKey, isStaticChildren) {
|
|
65629
|
+
var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
|
|
65630
|
+
return jsxDEVImpl(type, config, maybeKey, isStaticChildren, trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack, trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask);
|
|
65631
|
+
};
|
|
65632
|
+
})();
|
|
65633
|
+
});
|
|
65634
|
+
|
|
65635
|
+
// node_modules/react/jsx-dev-runtime.js
|
|
65636
|
+
var require_jsx_dev_runtime = __commonJS(function(exports, module) {
|
|
65637
|
+
var react_jsx_dev_runtime_development = __toESM(require_react_jsx_dev_runtime_development());
|
|
65638
|
+
if (false) {} else {
|
|
65639
|
+
module.exports = react_jsx_dev_runtime_development;
|
|
65640
|
+
}
|
|
65641
|
+
});
|
|
65642
|
+
|
|
65643
|
+
// packages/workit-cli/src/steps/ink-style.tsx
|
|
65644
|
+
function inkColor(role, options = { stream: process.stdout, env: process.env }) {
|
|
65645
|
+
return colorEnabled(options) ? INK_COLORS[role] : undefined;
|
|
65646
|
+
}
|
|
65647
|
+
function StableTextInput({ onChange, ...rest }) {
|
|
65648
|
+
const latest = import_react65.useRef(onChange);
|
|
65649
|
+
import_react65.useLayoutEffect(() => {
|
|
65650
|
+
latest.current = onChange;
|
|
65651
|
+
}, [onChange]);
|
|
65652
|
+
const stable = import_react65.useCallback((value) => latest.current?.(value), []);
|
|
65653
|
+
return /* @__PURE__ */ jsx_dev_runtime.jsxDEV(TextInput, {
|
|
65654
|
+
...rest,
|
|
65655
|
+
onChange: onChange ? stable : undefined
|
|
65656
|
+
}, undefined, false, undefined, this);
|
|
65657
|
+
}
|
|
65658
|
+
var import_react65, jsx_dev_runtime, INK_COLORS;
|
|
65659
|
+
var init_ink_style = __esm(async () => {
|
|
65660
|
+
init_style();
|
|
65661
|
+
await init_build3();
|
|
65662
|
+
import_react65 = __toESM(require_react(), 1);
|
|
65663
|
+
jsx_dev_runtime = __toESM(require_jsx_dev_runtime(), 1);
|
|
65664
|
+
INK_COLORS = {
|
|
65665
|
+
ok: "green",
|
|
65666
|
+
fail: "red",
|
|
65667
|
+
warn: "yellow",
|
|
65668
|
+
accent: "cyan"
|
|
65669
|
+
};
|
|
65670
|
+
});
|
|
65671
|
+
|
|
65420
65672
|
// packages/workit-core/src/core/gitignore.ts
|
|
65421
65673
|
var GITIGNORE_ENTRIES;
|
|
65422
65674
|
var init_gitignore = __esm(() => {
|
|
@@ -72683,229 +72935,6 @@ var init_detect_hosts = __esm(() => {
|
|
|
72683
72935
|
WIZARD_HOSTS = [...HOSTS];
|
|
72684
72936
|
});
|
|
72685
72937
|
|
|
72686
|
-
// node_modules/react/cjs/react-jsx-dev-runtime.development.js
|
|
72687
|
-
var require_react_jsx_dev_runtime_development = __commonJS(function(exports) {
|
|
72688
|
-
var React = __toESM(require_react());
|
|
72689
|
-
(function() {
|
|
72690
|
-
function getComponentNameFromType(type) {
|
|
72691
|
-
if (type == null)
|
|
72692
|
-
return null;
|
|
72693
|
-
if (typeof type === "function")
|
|
72694
|
-
return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
|
|
72695
|
-
if (typeof type === "string")
|
|
72696
|
-
return type;
|
|
72697
|
-
switch (type) {
|
|
72698
|
-
case REACT_FRAGMENT_TYPE:
|
|
72699
|
-
return "Fragment";
|
|
72700
|
-
case REACT_PROFILER_TYPE:
|
|
72701
|
-
return "Profiler";
|
|
72702
|
-
case REACT_STRICT_MODE_TYPE:
|
|
72703
|
-
return "StrictMode";
|
|
72704
|
-
case REACT_SUSPENSE_TYPE:
|
|
72705
|
-
return "Suspense";
|
|
72706
|
-
case REACT_SUSPENSE_LIST_TYPE:
|
|
72707
|
-
return "SuspenseList";
|
|
72708
|
-
case REACT_ACTIVITY_TYPE:
|
|
72709
|
-
return "Activity";
|
|
72710
|
-
}
|
|
72711
|
-
if (typeof type === "object")
|
|
72712
|
-
switch (typeof type.tag === "number" && console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), type.$$typeof) {
|
|
72713
|
-
case REACT_PORTAL_TYPE:
|
|
72714
|
-
return "Portal";
|
|
72715
|
-
case REACT_CONTEXT_TYPE:
|
|
72716
|
-
return type.displayName || "Context";
|
|
72717
|
-
case REACT_CONSUMER_TYPE:
|
|
72718
|
-
return (type._context.displayName || "Context") + ".Consumer";
|
|
72719
|
-
case REACT_FORWARD_REF_TYPE:
|
|
72720
|
-
var innerType = type.render;
|
|
72721
|
-
type = type.displayName;
|
|
72722
|
-
type || (type = innerType.displayName || innerType.name || "", type = type !== "" ? "ForwardRef(" + type + ")" : "ForwardRef");
|
|
72723
|
-
return type;
|
|
72724
|
-
case REACT_MEMO_TYPE:
|
|
72725
|
-
return innerType = type.displayName || null, innerType !== null ? innerType : getComponentNameFromType(type.type) || "Memo";
|
|
72726
|
-
case REACT_LAZY_TYPE:
|
|
72727
|
-
innerType = type._payload;
|
|
72728
|
-
type = type._init;
|
|
72729
|
-
try {
|
|
72730
|
-
return getComponentNameFromType(type(innerType));
|
|
72731
|
-
} catch (x) {}
|
|
72732
|
-
}
|
|
72733
|
-
return null;
|
|
72734
|
-
}
|
|
72735
|
-
function testStringCoercion(value) {
|
|
72736
|
-
return "" + value;
|
|
72737
|
-
}
|
|
72738
|
-
function checkKeyStringCoercion(value) {
|
|
72739
|
-
try {
|
|
72740
|
-
testStringCoercion(value);
|
|
72741
|
-
var JSCompiler_inline_result = false;
|
|
72742
|
-
} catch (e) {
|
|
72743
|
-
JSCompiler_inline_result = true;
|
|
72744
|
-
}
|
|
72745
|
-
if (JSCompiler_inline_result) {
|
|
72746
|
-
JSCompiler_inline_result = console;
|
|
72747
|
-
var JSCompiler_temp_const = JSCompiler_inline_result.error;
|
|
72748
|
-
var JSCompiler_inline_result$jscomp$0 = typeof Symbol === "function" && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
|
|
72749
|
-
JSCompiler_temp_const.call(JSCompiler_inline_result, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", JSCompiler_inline_result$jscomp$0);
|
|
72750
|
-
return testStringCoercion(value);
|
|
72751
|
-
}
|
|
72752
|
-
}
|
|
72753
|
-
function getTaskName(type) {
|
|
72754
|
-
if (type === REACT_FRAGMENT_TYPE)
|
|
72755
|
-
return "<>";
|
|
72756
|
-
if (typeof type === "object" && type !== null && type.$$typeof === REACT_LAZY_TYPE)
|
|
72757
|
-
return "<...>";
|
|
72758
|
-
try {
|
|
72759
|
-
var name = getComponentNameFromType(type);
|
|
72760
|
-
return name ? "<" + name + ">" : "<...>";
|
|
72761
|
-
} catch (x) {
|
|
72762
|
-
return "<...>";
|
|
72763
|
-
}
|
|
72764
|
-
}
|
|
72765
|
-
function getOwner() {
|
|
72766
|
-
var dispatcher = ReactSharedInternals.A;
|
|
72767
|
-
return dispatcher === null ? null : dispatcher.getOwner();
|
|
72768
|
-
}
|
|
72769
|
-
function UnknownOwner() {
|
|
72770
|
-
return Error("react-stack-top-frame");
|
|
72771
|
-
}
|
|
72772
|
-
function hasValidKey(config) {
|
|
72773
|
-
if (hasOwnProperty2.call(config, "key")) {
|
|
72774
|
-
var getter = Object.getOwnPropertyDescriptor(config, "key").get;
|
|
72775
|
-
if (getter && getter.isReactWarning)
|
|
72776
|
-
return false;
|
|
72777
|
-
}
|
|
72778
|
-
return config.key !== undefined;
|
|
72779
|
-
}
|
|
72780
|
-
function defineKeyPropWarningGetter(props, displayName) {
|
|
72781
|
-
function warnAboutAccessingKey() {
|
|
72782
|
-
specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", displayName));
|
|
72783
|
-
}
|
|
72784
|
-
warnAboutAccessingKey.isReactWarning = true;
|
|
72785
|
-
Object.defineProperty(props, "key", {
|
|
72786
|
-
get: warnAboutAccessingKey,
|
|
72787
|
-
configurable: true
|
|
72788
|
-
});
|
|
72789
|
-
}
|
|
72790
|
-
function elementRefGetterWithDeprecationWarning() {
|
|
72791
|
-
var componentName = getComponentNameFromType(this.type);
|
|
72792
|
-
didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."));
|
|
72793
|
-
componentName = this.props.ref;
|
|
72794
|
-
return componentName !== undefined ? componentName : null;
|
|
72795
|
-
}
|
|
72796
|
-
function ReactElement(type, key, props, owner, debugStack, debugTask) {
|
|
72797
|
-
var refProp = props.ref;
|
|
72798
|
-
type = {
|
|
72799
|
-
$$typeof: REACT_ELEMENT_TYPE,
|
|
72800
|
-
type,
|
|
72801
|
-
key,
|
|
72802
|
-
props,
|
|
72803
|
-
_owner: owner
|
|
72804
|
-
};
|
|
72805
|
-
(refProp !== undefined ? refProp : null) !== null ? Object.defineProperty(type, "ref", {
|
|
72806
|
-
enumerable: false,
|
|
72807
|
-
get: elementRefGetterWithDeprecationWarning
|
|
72808
|
-
}) : Object.defineProperty(type, "ref", { enumerable: false, value: null });
|
|
72809
|
-
type._store = {};
|
|
72810
|
-
Object.defineProperty(type._store, "validated", {
|
|
72811
|
-
configurable: false,
|
|
72812
|
-
enumerable: false,
|
|
72813
|
-
writable: true,
|
|
72814
|
-
value: 0
|
|
72815
|
-
});
|
|
72816
|
-
Object.defineProperty(type, "_debugInfo", {
|
|
72817
|
-
configurable: false,
|
|
72818
|
-
enumerable: false,
|
|
72819
|
-
writable: true,
|
|
72820
|
-
value: null
|
|
72821
|
-
});
|
|
72822
|
-
Object.defineProperty(type, "_debugStack", {
|
|
72823
|
-
configurable: false,
|
|
72824
|
-
enumerable: false,
|
|
72825
|
-
writable: true,
|
|
72826
|
-
value: debugStack
|
|
72827
|
-
});
|
|
72828
|
-
Object.defineProperty(type, "_debugTask", {
|
|
72829
|
-
configurable: false,
|
|
72830
|
-
enumerable: false,
|
|
72831
|
-
writable: true,
|
|
72832
|
-
value: debugTask
|
|
72833
|
-
});
|
|
72834
|
-
Object.freeze && (Object.freeze(type.props), Object.freeze(type));
|
|
72835
|
-
return type;
|
|
72836
|
-
}
|
|
72837
|
-
function jsxDEVImpl(type, config, maybeKey, isStaticChildren, debugStack, debugTask) {
|
|
72838
|
-
var children = config.children;
|
|
72839
|
-
if (children !== undefined)
|
|
72840
|
-
if (isStaticChildren)
|
|
72841
|
-
if (isArrayImpl(children)) {
|
|
72842
|
-
for (isStaticChildren = 0;isStaticChildren < children.length; isStaticChildren++)
|
|
72843
|
-
validateChildKeys(children[isStaticChildren]);
|
|
72844
|
-
Object.freeze && Object.freeze(children);
|
|
72845
|
-
} else
|
|
72846
|
-
console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
|
|
72847
|
-
else
|
|
72848
|
-
validateChildKeys(children);
|
|
72849
|
-
if (hasOwnProperty2.call(config, "key")) {
|
|
72850
|
-
children = getComponentNameFromType(type);
|
|
72851
|
-
var keys = Object.keys(config).filter(function(k) {
|
|
72852
|
-
return k !== "key";
|
|
72853
|
-
});
|
|
72854
|
-
isStaticChildren = 0 < keys.length ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}";
|
|
72855
|
-
didWarnAboutKeySpread[children + isStaticChildren] || (keys = 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}", console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
72856
|
-
let props = %s;
|
|
72857
|
-
<%s {...props} />
|
|
72858
|
-
React keys must be passed directly to JSX without using spread:
|
|
72859
|
-
let props = %s;
|
|
72860
|
-
<%s key={someKey} {...props} />`, isStaticChildren, children, keys, children), didWarnAboutKeySpread[children + isStaticChildren] = true);
|
|
72861
|
-
}
|
|
72862
|
-
children = null;
|
|
72863
|
-
maybeKey !== undefined && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey);
|
|
72864
|
-
hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key);
|
|
72865
|
-
if ("key" in config) {
|
|
72866
|
-
maybeKey = {};
|
|
72867
|
-
for (var propName in config)
|
|
72868
|
-
propName !== "key" && (maybeKey[propName] = config[propName]);
|
|
72869
|
-
} else
|
|
72870
|
-
maybeKey = config;
|
|
72871
|
-
children && defineKeyPropWarningGetter(maybeKey, typeof type === "function" ? type.displayName || type.name || "Unknown" : type);
|
|
72872
|
-
return ReactElement(type, children, maybeKey, getOwner(), debugStack, debugTask);
|
|
72873
|
-
}
|
|
72874
|
-
function validateChildKeys(node) {
|
|
72875
|
-
isValidElement(node) ? node._store && (node._store.validated = 1) : typeof node === "object" && node !== null && node.$$typeof === REACT_LAZY_TYPE && (node._payload.status === "fulfilled" ? isValidElement(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
|
|
72876
|
-
}
|
|
72877
|
-
function isValidElement(object) {
|
|
72878
|
-
return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
|
72879
|
-
}
|
|
72880
|
-
var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty2 = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
|
|
72881
|
-
return null;
|
|
72882
|
-
};
|
|
72883
|
-
React = {
|
|
72884
|
-
react_stack_bottom_frame: function(callStackForError) {
|
|
72885
|
-
return callStackForError();
|
|
72886
|
-
}
|
|
72887
|
-
};
|
|
72888
|
-
var specialPropKeyWarningShown;
|
|
72889
|
-
var didWarnAboutElementRef = {};
|
|
72890
|
-
var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(React, UnknownOwner)();
|
|
72891
|
-
var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
|
|
72892
|
-
var didWarnAboutKeySpread = {};
|
|
72893
|
-
exports.Fragment = REACT_FRAGMENT_TYPE;
|
|
72894
|
-
exports.jsxDEV = function(type, config, maybeKey, isStaticChildren) {
|
|
72895
|
-
var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
|
|
72896
|
-
return jsxDEVImpl(type, config, maybeKey, isStaticChildren, trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack, trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask);
|
|
72897
|
-
};
|
|
72898
|
-
})();
|
|
72899
|
-
});
|
|
72900
|
-
|
|
72901
|
-
// node_modules/react/jsx-dev-runtime.js
|
|
72902
|
-
var require_jsx_dev_runtime = __commonJS(function(exports, module) {
|
|
72903
|
-
var react_jsx_dev_runtime_development = __toESM(require_react_jsx_dev_runtime_development());
|
|
72904
|
-
if (false) {} else {
|
|
72905
|
-
module.exports = react_jsx_dev_runtime_development;
|
|
72906
|
-
}
|
|
72907
|
-
});
|
|
72908
|
-
|
|
72909
72938
|
// packages/workit-cli/src/search-select.tsx
|
|
72910
72939
|
function filterOptions(options, query, limit = VISIBLE_ROWS) {
|
|
72911
72940
|
const q = fold(query.trim().toLowerCase());
|
|
@@ -72920,9 +72949,9 @@ function SearchSelect({
|
|
|
72920
72949
|
onSelect,
|
|
72921
72950
|
onQueryChange
|
|
72922
72951
|
}) {
|
|
72923
|
-
const [query, setQuery] =
|
|
72924
|
-
const filtered =
|
|
72925
|
-
const [rawIndex, setRawIndex] =
|
|
72952
|
+
const [query, setQuery] = import_react66.useState("");
|
|
72953
|
+
const filtered = import_react66.useMemo(() => filterOptions(options, query, Infinity), [options, query]);
|
|
72954
|
+
const [rawIndex, setRawIndex] = import_react66.useState(() => Math.max(0, options.findIndex((option) => option.value === value)));
|
|
72926
72955
|
const index = Math.min(rawIndex, Math.max(0, filtered.length - 1));
|
|
72927
72956
|
const offset = Math.max(0, index - VISIBLE_ROWS + 1);
|
|
72928
72957
|
use_input_default((input, key) => {
|
|
@@ -72944,20 +72973,21 @@ function SearchSelect({
|
|
|
72944
72973
|
type(query + input);
|
|
72945
72974
|
}
|
|
72946
72975
|
});
|
|
72947
|
-
return /* @__PURE__ */
|
|
72976
|
+
return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Box_default, {
|
|
72948
72977
|
flexDirection: "column",
|
|
72949
72978
|
gap: 0,
|
|
72950
72979
|
children: [
|
|
72951
|
-
/* @__PURE__ */
|
|
72980
|
+
/* @__PURE__ */ jsx_dev_runtime2.jsxDEV(TextInput, {
|
|
72952
72981
|
isDisabled: true,
|
|
72953
72982
|
defaultValue: query,
|
|
72954
72983
|
placeholder
|
|
72955
72984
|
}, query, false, undefined, this),
|
|
72956
|
-
filtered.length === 0 ? /* @__PURE__ */
|
|
72985
|
+
filtered.length === 0 ? /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
|
|
72957
72986
|
dimColor: true,
|
|
72958
72987
|
children: "No matches"
|
|
72959
|
-
}, undefined, false, undefined, this) : filtered.slice(offset, offset + VISIBLE_ROWS).map((option, i) => /* @__PURE__ */
|
|
72960
|
-
color: i + offset === index ? "
|
|
72988
|
+
}, undefined, false, undefined, this) : filtered.slice(offset, offset + VISIBLE_ROWS).map((option, i) => /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
|
|
72989
|
+
color: i + offset === index ? inkColor("accent") : undefined,
|
|
72990
|
+
dimColor: i + offset !== index,
|
|
72961
72991
|
children: [
|
|
72962
72992
|
i + offset === index ? "❯ " : " ",
|
|
72963
72993
|
option.label
|
|
@@ -72966,14 +72996,15 @@ function SearchSelect({
|
|
|
72966
72996
|
]
|
|
72967
72997
|
}, undefined, true, undefined, this);
|
|
72968
72998
|
}
|
|
72969
|
-
var
|
|
72999
|
+
var import_react66, jsx_dev_runtime2, LOCALE_LANGUAGE_MAP, VISIBLE_ROWS = 5, fold = (s) => s.normalize("NFD").replace(/[\u0300-\u036f]/g, "");
|
|
72970
73000
|
var init_search_select = __esm(async () => {
|
|
72971
73001
|
await __promiseAll([
|
|
73002
|
+
init_ink_style(),
|
|
72972
73003
|
init_build2(),
|
|
72973
73004
|
init_build3()
|
|
72974
73005
|
]);
|
|
72975
|
-
|
|
72976
|
-
|
|
73006
|
+
import_react66 = __toESM(require_react(), 1);
|
|
73007
|
+
jsx_dev_runtime2 = __toESM(require_jsx_dev_runtime(), 1);
|
|
72977
73008
|
LOCALE_LANGUAGE_MAP = [
|
|
72978
73009
|
{ label: "Español (España)", locale: "es-ES" },
|
|
72979
73010
|
{ label: "Español (Latinoamérica)", locale: "es-419" },
|
|
@@ -73165,13 +73196,13 @@ function HostPicker({
|
|
|
73165
73196
|
{ label: "Clear all", value: "__none" },
|
|
73166
73197
|
...PLATFORM_LABELS.map(({ label, value }) => ({ label, value }))
|
|
73167
73198
|
];
|
|
73168
|
-
const [index, setIndex] =
|
|
73169
|
-
const indexRef =
|
|
73170
|
-
const chosenRef =
|
|
73171
|
-
|
|
73199
|
+
const [index, setIndex] = import_react67.useState(0);
|
|
73200
|
+
const indexRef = import_react67.useRef(index);
|
|
73201
|
+
const chosenRef = import_react67.useRef(selected);
|
|
73202
|
+
import_react67.useEffect(() => {
|
|
73172
73203
|
indexRef.current = index;
|
|
73173
73204
|
}, [index]);
|
|
73174
|
-
|
|
73205
|
+
import_react67.useEffect(() => {
|
|
73175
73206
|
chosenRef.current = selected;
|
|
73176
73207
|
}, [selected]);
|
|
73177
73208
|
const update = (next) => {
|
|
@@ -73205,7 +73236,7 @@ function HostPicker({
|
|
|
73205
73236
|
onSubmit(chosenRef.current);
|
|
73206
73237
|
}
|
|
73207
73238
|
});
|
|
73208
|
-
return /* @__PURE__ */
|
|
73239
|
+
return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Box_default, {
|
|
73209
73240
|
flexDirection: "column",
|
|
73210
73241
|
gap: 0,
|
|
73211
73242
|
children: options.map((option, row) => {
|
|
@@ -73213,8 +73244,8 @@ function HostPicker({
|
|
|
73213
73244
|
const detected = host === null || detection[host].detected;
|
|
73214
73245
|
const checked = host !== null && checkedHosts.has(host);
|
|
73215
73246
|
const label = host === null ? option.label : `${checked ? "[✓]" : "[ ]"} ${option.label}${detection[host].configured ? " · already configured" : detection[host].detected ? " · detected" : " · unavailable"}`;
|
|
73216
|
-
return /* @__PURE__ */
|
|
73217
|
-
color: row === index ? "
|
|
73247
|
+
return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
|
|
73248
|
+
color: row === index ? inkColor("accent") : undefined,
|
|
73218
73249
|
dimColor: !detected,
|
|
73219
73250
|
children: [
|
|
73220
73251
|
row === index ? "❯ " : " ",
|
|
@@ -73224,14 +73255,15 @@ function HostPicker({
|
|
|
73224
73255
|
})
|
|
73225
73256
|
}, undefined, false, undefined, this);
|
|
73226
73257
|
}
|
|
73227
|
-
var
|
|
73258
|
+
var import_react67, jsx_dev_runtime3;
|
|
73228
73259
|
var init_host_picker = __esm(async () => {
|
|
73229
73260
|
await __promiseAll([
|
|
73261
|
+
init_ink_style(),
|
|
73230
73262
|
init_build2(),
|
|
73231
73263
|
init_options()
|
|
73232
73264
|
]);
|
|
73233
|
-
|
|
73234
|
-
|
|
73265
|
+
import_react67 = __toESM(require_react(), 1);
|
|
73266
|
+
jsx_dev_runtime3 = __toESM(require_jsx_dev_runtime(), 1);
|
|
73235
73267
|
});
|
|
73236
73268
|
|
|
73237
73269
|
// packages/workit-cli/src/steps/select-list.tsx
|
|
@@ -73241,9 +73273,9 @@ function SelectList({
|
|
|
73241
73273
|
onChange,
|
|
73242
73274
|
onSelect
|
|
73243
73275
|
}) {
|
|
73244
|
-
const [index, setIndex] =
|
|
73245
|
-
const indexRef =
|
|
73246
|
-
|
|
73276
|
+
const [index, setIndex] = import_react68.useState(() => Math.max(0, options.findIndex((option) => option.value === value)));
|
|
73277
|
+
const indexRef = import_react68.useRef(index);
|
|
73278
|
+
import_react68.useEffect(() => {
|
|
73247
73279
|
indexRef.current = index;
|
|
73248
73280
|
}, [index]);
|
|
73249
73281
|
use_input_default((_input, key) => {
|
|
@@ -73258,11 +73290,12 @@ function SelectList({
|
|
|
73258
73290
|
onSelect(options[indexRef.current].value);
|
|
73259
73291
|
}
|
|
73260
73292
|
});
|
|
73261
|
-
return /* @__PURE__ */
|
|
73293
|
+
return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
|
|
73262
73294
|
flexDirection: "column",
|
|
73263
73295
|
gap: 0,
|
|
73264
|
-
children: options.map((option, i) => /* @__PURE__ */
|
|
73265
|
-
color: i === index ? "
|
|
73296
|
+
children: options.map((option, i) => /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
|
|
73297
|
+
color: i === index ? inkColor("accent") : undefined,
|
|
73298
|
+
dimColor: i !== index,
|
|
73266
73299
|
children: [
|
|
73267
73300
|
i === index ? "❯ " : " ",
|
|
73268
73301
|
option.label
|
|
@@ -73270,11 +73303,14 @@ function SelectList({
|
|
|
73270
73303
|
}, option.value, true, undefined, this))
|
|
73271
73304
|
}, undefined, false, undefined, this);
|
|
73272
73305
|
}
|
|
73273
|
-
var
|
|
73306
|
+
var import_react68, jsx_dev_runtime4;
|
|
73274
73307
|
var init_select_list = __esm(async () => {
|
|
73275
|
-
await
|
|
73276
|
-
|
|
73277
|
-
|
|
73308
|
+
await __promiseAll([
|
|
73309
|
+
init_ink_style(),
|
|
73310
|
+
init_build2()
|
|
73311
|
+
]);
|
|
73312
|
+
import_react68 = __toESM(require_react(), 1);
|
|
73313
|
+
jsx_dev_runtime4 = __toESM(require_jsx_dev_runtime(), 1);
|
|
73278
73314
|
});
|
|
73279
73315
|
|
|
73280
73316
|
// packages/workit-cli/src/steps/global-screens.tsx
|
|
@@ -73283,22 +73319,22 @@ function PlatformsScreen({
|
|
|
73283
73319
|
dispatch,
|
|
73284
73320
|
detection = emptyDetection()
|
|
73285
73321
|
}) {
|
|
73286
|
-
return /* @__PURE__ */
|
|
73322
|
+
return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
73287
73323
|
flexDirection: "column",
|
|
73288
73324
|
gap: 1,
|
|
73289
73325
|
children: [
|
|
73290
|
-
/* @__PURE__ */
|
|
73326
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73291
73327
|
bold: true,
|
|
73292
73328
|
children: "Step 1 — Platforms"
|
|
73293
73329
|
}, undefined, false, undefined, this),
|
|
73294
|
-
/* @__PURE__ */
|
|
73330
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73295
73331
|
children: "Choose the detected tools where Workit should be configured."
|
|
73296
73332
|
}, undefined, false, undefined, this),
|
|
73297
|
-
/* @__PURE__ */
|
|
73333
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73298
73334
|
dimColor: true,
|
|
73299
73335
|
children: "Use Space to toggle, or choose Select all available / Clear all."
|
|
73300
73336
|
}, undefined, false, undefined, this),
|
|
73301
|
-
/* @__PURE__ */
|
|
73337
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(HostPicker, {
|
|
73302
73338
|
detection,
|
|
73303
73339
|
selected: draft.values.platforms,
|
|
73304
73340
|
onChange: (values) => dispatch({ type: "set", field: "platforms", value: values }),
|
|
@@ -73307,11 +73343,11 @@ function PlatformsScreen({
|
|
|
73307
73343
|
dispatch({ type: "next" });
|
|
73308
73344
|
}
|
|
73309
73345
|
}, undefined, false, undefined, this),
|
|
73310
|
-
draft.errors.platforms && /* @__PURE__ */
|
|
73311
|
-
color: "
|
|
73346
|
+
draft.errors.platforms && /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73347
|
+
color: inkColor("fail"),
|
|
73312
73348
|
children: draft.errors.platforms
|
|
73313
73349
|
}, undefined, false, undefined, this),
|
|
73314
|
-
/* @__PURE__ */
|
|
73350
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73315
73351
|
dimColor: true,
|
|
73316
73352
|
children: "Enter to continue · Esc Cancel"
|
|
73317
73353
|
}, undefined, false, undefined, this)
|
|
@@ -73319,28 +73355,28 @@ function PlatformsScreen({
|
|
|
73319
73355
|
}, undefined, true, undefined, this);
|
|
73320
73356
|
}
|
|
73321
73357
|
function LocaleScreen({ draft, dispatch, onSearchQueryChange }) {
|
|
73322
|
-
return /* @__PURE__ */
|
|
73358
|
+
return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
73323
73359
|
flexDirection: "column",
|
|
73324
73360
|
gap: 1,
|
|
73325
73361
|
children: [
|
|
73326
|
-
/* @__PURE__ */
|
|
73362
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73327
73363
|
bold: true,
|
|
73328
73364
|
children: "Step 2 — Global config · Locale"
|
|
73329
73365
|
}, undefined, false, undefined, this),
|
|
73330
|
-
/* @__PURE__ */
|
|
73366
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73331
73367
|
dimColor: true,
|
|
73332
73368
|
children: "Locale (BCP-47):"
|
|
73333
73369
|
}, undefined, false, undefined, this),
|
|
73334
|
-
/* @__PURE__ */
|
|
73370
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73335
73371
|
children: [
|
|
73336
73372
|
"Current: ",
|
|
73337
|
-
/* @__PURE__ */
|
|
73338
|
-
color: "
|
|
73373
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73374
|
+
color: inkColor("ok"),
|
|
73339
73375
|
children: draft.values.locale
|
|
73340
73376
|
}, undefined, false, undefined, this)
|
|
73341
73377
|
]
|
|
73342
73378
|
}, undefined, true, undefined, this),
|
|
73343
|
-
/* @__PURE__ */
|
|
73379
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(SearchSelect, {
|
|
73344
73380
|
options: LOCALE_PICKER_OPTIONS,
|
|
73345
73381
|
value: draft.values.locale,
|
|
73346
73382
|
placeholder: "Type to search languages…",
|
|
@@ -73354,11 +73390,11 @@ function LocaleScreen({ draft, dispatch, onSearchQueryChange }) {
|
|
|
73354
73390
|
}
|
|
73355
73391
|
}
|
|
73356
73392
|
}, undefined, false, undefined, this),
|
|
73357
|
-
draft.errors.locale && /* @__PURE__ */
|
|
73358
|
-
color: "
|
|
73393
|
+
draft.errors.locale && /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73394
|
+
color: inkColor("fail"),
|
|
73359
73395
|
children: draft.errors.locale
|
|
73360
73396
|
}, undefined, false, undefined, this),
|
|
73361
|
-
/* @__PURE__ */
|
|
73397
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73362
73398
|
dimColor: true,
|
|
73363
73399
|
children: "Type to filter · Enter to continue · b Back · Esc Cancel"
|
|
73364
73400
|
}, undefined, false, undefined, this)
|
|
@@ -73366,28 +73402,28 @@ function LocaleScreen({ draft, dispatch, onSearchQueryChange }) {
|
|
|
73366
73402
|
}, undefined, true, undefined, this);
|
|
73367
73403
|
}
|
|
73368
73404
|
function LocaleOtherScreen({ draft, dispatch }) {
|
|
73369
|
-
return /* @__PURE__ */
|
|
73405
|
+
return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
73370
73406
|
flexDirection: "column",
|
|
73371
73407
|
gap: 1,
|
|
73372
73408
|
children: [
|
|
73373
|
-
/* @__PURE__ */
|
|
73409
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73374
73410
|
bold: true,
|
|
73375
73411
|
children: "Step 2 — Global config · Locale (custom)"
|
|
73376
73412
|
}, undefined, false, undefined, this),
|
|
73377
|
-
/* @__PURE__ */
|
|
73413
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73378
73414
|
dimColor: true,
|
|
73379
73415
|
children: "Type a BCP-47 locale (e.g. en or es-CL):"
|
|
73380
73416
|
}, undefined, false, undefined, this),
|
|
73381
|
-
/* @__PURE__ */
|
|
73417
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(StableTextInput, {
|
|
73382
73418
|
placeholder: SCREEN_PLACEHOLDERS.localeOther,
|
|
73383
73419
|
onChange: (value) => dispatch({ type: "set", field: "locale", value }),
|
|
73384
73420
|
onSubmit: () => dispatch({ type: "next" })
|
|
73385
73421
|
}, undefined, false, undefined, this),
|
|
73386
|
-
draft.errors.locale && /* @__PURE__ */
|
|
73387
|
-
color: "
|
|
73422
|
+
draft.errors.locale && /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73423
|
+
color: inkColor("fail"),
|
|
73388
73424
|
children: draft.errors.locale
|
|
73389
73425
|
}, undefined, false, undefined, this),
|
|
73390
|
-
/* @__PURE__ */
|
|
73426
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73391
73427
|
dimColor: true,
|
|
73392
73428
|
children: "Enter to continue · Esc Back"
|
|
73393
73429
|
}, undefined, false, undefined, this)
|
|
@@ -73396,53 +73432,53 @@ function LocaleOtherScreen({ draft, dispatch }) {
|
|
|
73396
73432
|
}
|
|
73397
73433
|
function BranchPresetScreen({ draft, dispatch }) {
|
|
73398
73434
|
const policy = effectivePolicy(draft.values);
|
|
73399
|
-
return /* @__PURE__ */
|
|
73435
|
+
return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
73400
73436
|
flexDirection: "column",
|
|
73401
73437
|
gap: 1,
|
|
73402
73438
|
children: [
|
|
73403
|
-
/* @__PURE__ */
|
|
73439
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73404
73440
|
bold: true,
|
|
73405
73441
|
children: "Step 2 — Global config · Branch policy"
|
|
73406
73442
|
}, undefined, false, undefined, this),
|
|
73407
|
-
/* @__PURE__ */
|
|
73443
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73408
73444
|
dimColor: true,
|
|
73409
73445
|
children: "Branch policy preset:"
|
|
73410
73446
|
}, undefined, false, undefined, this),
|
|
73411
|
-
/* @__PURE__ */
|
|
73447
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(SelectList, {
|
|
73412
73448
|
options: BRANCH_PRESETS,
|
|
73413
73449
|
value: draft.values.branchPreset,
|
|
73414
73450
|
onChange: (value) => dispatch({ type: "set", field: "branchPreset", value }),
|
|
73415
73451
|
onSelect: () => dispatch({ type: "next" })
|
|
73416
73452
|
}, undefined, false, undefined, this),
|
|
73417
|
-
/* @__PURE__ */
|
|
73453
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73418
73454
|
dimColor: true,
|
|
73419
73455
|
children: BRANCH_PRESET_DESCRIPTIONS[draft.values.branchPreset]
|
|
73420
73456
|
}, undefined, false, undefined, this),
|
|
73421
|
-
/* @__PURE__ */
|
|
73457
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
73422
73458
|
flexDirection: "column",
|
|
73423
73459
|
gap: 0,
|
|
73424
73460
|
children: [
|
|
73425
|
-
/* @__PURE__ */
|
|
73461
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73426
73462
|
children: [
|
|
73427
73463
|
"Allowed: ",
|
|
73428
|
-
/* @__PURE__ */
|
|
73429
|
-
color: "
|
|
73464
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73465
|
+
color: inkColor("ok"),
|
|
73430
73466
|
children: policy.allowed.join(", ") || "—"
|
|
73431
73467
|
}, undefined, false, undefined, this)
|
|
73432
73468
|
]
|
|
73433
73469
|
}, undefined, true, undefined, this),
|
|
73434
|
-
/* @__PURE__ */
|
|
73470
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73435
73471
|
children: [
|
|
73436
73472
|
"Protected: ",
|
|
73437
|
-
/* @__PURE__ */
|
|
73438
|
-
color: "
|
|
73473
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73474
|
+
color: inkColor("ok"),
|
|
73439
73475
|
children: policy.protected.join(", ") || "—"
|
|
73440
73476
|
}, undefined, false, undefined, this)
|
|
73441
73477
|
]
|
|
73442
73478
|
}, undefined, true, undefined, this)
|
|
73443
73479
|
]
|
|
73444
73480
|
}, undefined, true, undefined, this),
|
|
73445
|
-
/* @__PURE__ */
|
|
73481
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73446
73482
|
dimColor: true,
|
|
73447
73483
|
children: policy.preset === "custom" ? "Enter to continue — define the patterns next · b Back · Esc Cancel" : "Enter to continue · b Back · Esc Cancel"
|
|
73448
73484
|
}, undefined, false, undefined, this)
|
|
@@ -73450,29 +73486,29 @@ function BranchPresetScreen({ draft, dispatch }) {
|
|
|
73450
73486
|
}, undefined, true, undefined, this);
|
|
73451
73487
|
}
|
|
73452
73488
|
function BranchAllowedScreen({ draft, dispatch }) {
|
|
73453
|
-
return /* @__PURE__ */
|
|
73489
|
+
return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
73454
73490
|
flexDirection: "column",
|
|
73455
73491
|
gap: 1,
|
|
73456
73492
|
children: [
|
|
73457
|
-
/* @__PURE__ */
|
|
73493
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73458
73494
|
bold: true,
|
|
73459
73495
|
children: "Step 2 — Global config · Allowed branch patterns"
|
|
73460
73496
|
}, undefined, false, undefined, this),
|
|
73461
|
-
/* @__PURE__ */
|
|
73497
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73462
73498
|
dimColor: true,
|
|
73463
73499
|
children: "Allowed branch patterns (comma-separated):"
|
|
73464
73500
|
}, undefined, false, undefined, this),
|
|
73465
|
-
/* @__PURE__ */
|
|
73501
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(StableTextInput, {
|
|
73466
73502
|
placeholder: SCREEN_PLACEHOLDERS.branchAllowed,
|
|
73467
73503
|
defaultValue: draft.values.branchAllowed,
|
|
73468
73504
|
onChange: (value) => dispatch({ type: "set", field: "branchAllowed", value }),
|
|
73469
73505
|
onSubmit: () => dispatch({ type: "next" })
|
|
73470
73506
|
}, undefined, false, undefined, this),
|
|
73471
|
-
draft.errors.branchAllowed && /* @__PURE__ */
|
|
73472
|
-
color: "
|
|
73507
|
+
draft.errors.branchAllowed && /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73508
|
+
color: inkColor("fail"),
|
|
73473
73509
|
children: draft.errors.branchAllowed
|
|
73474
73510
|
}, undefined, false, undefined, this),
|
|
73475
|
-
/* @__PURE__ */
|
|
73511
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73476
73512
|
dimColor: true,
|
|
73477
73513
|
children: "Enter to continue · Esc Back"
|
|
73478
73514
|
}, undefined, false, undefined, this)
|
|
@@ -73480,29 +73516,29 @@ function BranchAllowedScreen({ draft, dispatch }) {
|
|
|
73480
73516
|
}, undefined, true, undefined, this);
|
|
73481
73517
|
}
|
|
73482
73518
|
function BranchProtectedScreen({ draft, dispatch }) {
|
|
73483
|
-
return /* @__PURE__ */
|
|
73519
|
+
return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
73484
73520
|
flexDirection: "column",
|
|
73485
73521
|
gap: 1,
|
|
73486
73522
|
children: [
|
|
73487
|
-
/* @__PURE__ */
|
|
73523
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73488
73524
|
bold: true,
|
|
73489
73525
|
children: "Step 2 — Global config · Protected branch names"
|
|
73490
73526
|
}, undefined, false, undefined, this),
|
|
73491
|
-
/* @__PURE__ */
|
|
73527
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73492
73528
|
dimColor: true,
|
|
73493
73529
|
children: "Protected branch names (comma-separated):"
|
|
73494
73530
|
}, undefined, false, undefined, this),
|
|
73495
|
-
/* @__PURE__ */
|
|
73531
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(StableTextInput, {
|
|
73496
73532
|
placeholder: SCREEN_PLACEHOLDERS.branchProtected,
|
|
73497
73533
|
defaultValue: draft.values.branchProtected,
|
|
73498
73534
|
onChange: (value) => dispatch({ type: "set", field: "branchProtected", value }),
|
|
73499
73535
|
onSubmit: () => dispatch({ type: "next" })
|
|
73500
73536
|
}, undefined, false, undefined, this),
|
|
73501
|
-
draft.errors.branchProtected && /* @__PURE__ */
|
|
73502
|
-
color: "
|
|
73537
|
+
draft.errors.branchProtected && /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73538
|
+
color: inkColor("fail"),
|
|
73503
73539
|
children: draft.errors.branchProtected
|
|
73504
73540
|
}, undefined, false, undefined, this),
|
|
73505
|
-
/* @__PURE__ */
|
|
73541
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73506
73542
|
dimColor: true,
|
|
73507
73543
|
children: "Enter to continue · Esc Back"
|
|
73508
73544
|
}, undefined, false, undefined, this)
|
|
@@ -73510,25 +73546,25 @@ function BranchProtectedScreen({ draft, dispatch }) {
|
|
|
73510
73546
|
}, undefined, true, undefined, this);
|
|
73511
73547
|
}
|
|
73512
73548
|
function IssueTrackerScreen({ draft, dispatch }) {
|
|
73513
|
-
return /* @__PURE__ */
|
|
73549
|
+
return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
73514
73550
|
flexDirection: "column",
|
|
73515
73551
|
gap: 1,
|
|
73516
73552
|
children: [
|
|
73517
|
-
/* @__PURE__ */
|
|
73553
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73518
73554
|
bold: true,
|
|
73519
73555
|
children: "Step 3 — Issue tracker"
|
|
73520
73556
|
}, undefined, false, undefined, this),
|
|
73521
|
-
/* @__PURE__ */
|
|
73557
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73522
73558
|
dimColor: true,
|
|
73523
73559
|
children: "Where do issues live?"
|
|
73524
73560
|
}, undefined, false, undefined, this),
|
|
73525
|
-
/* @__PURE__ */
|
|
73561
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(SelectList, {
|
|
73526
73562
|
options: ISSUE_TRACKERS,
|
|
73527
73563
|
value: draft.values.issueTracker,
|
|
73528
73564
|
onChange: (value) => dispatch({ type: "set", field: "issueTracker", value }),
|
|
73529
73565
|
onSelect: () => dispatch({ type: "next" })
|
|
73530
73566
|
}, undefined, false, undefined, this),
|
|
73531
|
-
/* @__PURE__ */
|
|
73567
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73532
73568
|
dimColor: true,
|
|
73533
73569
|
children: "Enter to continue · b Back · Esc Cancel"
|
|
73534
73570
|
}, undefined, false, undefined, this)
|
|
@@ -73536,29 +73572,29 @@ function IssueTrackerScreen({ draft, dispatch }) {
|
|
|
73536
73572
|
}, undefined, true, undefined, this);
|
|
73537
73573
|
}
|
|
73538
73574
|
function YoutrackScreen({ draft, dispatch }) {
|
|
73539
|
-
return /* @__PURE__ */
|
|
73575
|
+
return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
73540
73576
|
flexDirection: "column",
|
|
73541
73577
|
gap: 1,
|
|
73542
73578
|
children: [
|
|
73543
|
-
/* @__PURE__ */
|
|
73579
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73544
73580
|
bold: true,
|
|
73545
73581
|
children: "Step 3 — YouTrack"
|
|
73546
73582
|
}, undefined, false, undefined, this),
|
|
73547
|
-
/* @__PURE__ */
|
|
73583
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73548
73584
|
dimColor: true,
|
|
73549
73585
|
children: "Base URL (https):"
|
|
73550
73586
|
}, undefined, false, undefined, this),
|
|
73551
|
-
/* @__PURE__ */
|
|
73587
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(StableTextInput, {
|
|
73552
73588
|
placeholder: SCREEN_PLACEHOLDERS.youtrack,
|
|
73553
73589
|
defaultValue: draft.values.baseUrl,
|
|
73554
73590
|
onChange: (value) => dispatch({ type: "set", field: "baseUrl", value }),
|
|
73555
73591
|
onSubmit: () => dispatch({ type: "next" })
|
|
73556
73592
|
}, undefined, false, undefined, this),
|
|
73557
|
-
draft.errors.baseUrl && /* @__PURE__ */
|
|
73558
|
-
color: "
|
|
73593
|
+
draft.errors.baseUrl && /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73594
|
+
color: inkColor("fail"),
|
|
73559
73595
|
children: draft.errors.baseUrl
|
|
73560
73596
|
}, undefined, false, undefined, this),
|
|
73561
|
-
/* @__PURE__ */
|
|
73597
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73562
73598
|
dimColor: true,
|
|
73563
73599
|
children: "Enter to continue · Esc Back"
|
|
73564
73600
|
}, undefined, false, undefined, this)
|
|
@@ -73566,43 +73602,43 @@ function YoutrackScreen({ draft, dispatch }) {
|
|
|
73566
73602
|
}, undefined, true, undefined, this);
|
|
73567
73603
|
}
|
|
73568
73604
|
function VcsScreen({ draft, dispatch }) {
|
|
73569
|
-
return /* @__PURE__ */
|
|
73605
|
+
return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
73570
73606
|
flexDirection: "column",
|
|
73571
73607
|
gap: 1,
|
|
73572
73608
|
children: [
|
|
73573
|
-
/* @__PURE__ */
|
|
73609
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73574
73610
|
bold: true,
|
|
73575
73611
|
children: "Step 4 — Version control"
|
|
73576
73612
|
}, undefined, false, undefined, this),
|
|
73577
|
-
/* @__PURE__ */
|
|
73613
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73578
73614
|
dimColor: true,
|
|
73579
73615
|
children: "Provider:"
|
|
73580
73616
|
}, undefined, false, undefined, this),
|
|
73581
|
-
/* @__PURE__ */
|
|
73617
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(SelectList, {
|
|
73582
73618
|
options: VCS_PROVIDERS,
|
|
73583
73619
|
value: draft.values.vcsProvider,
|
|
73584
73620
|
onChange: (value) => dispatch({ type: "set", field: "vcsProvider", value }),
|
|
73585
73621
|
onSelect: () => dispatch({ type: "next" })
|
|
73586
73622
|
}, undefined, false, undefined, this),
|
|
73587
|
-
/* @__PURE__ */
|
|
73623
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
73588
73624
|
dimColor: true,
|
|
73589
73625
|
children: "Enter to continue · b Back · Esc Cancel"
|
|
73590
73626
|
}, undefined, false, undefined, this)
|
|
73591
73627
|
]
|
|
73592
73628
|
}, undefined, true, undefined, this);
|
|
73593
73629
|
}
|
|
73594
|
-
var
|
|
73630
|
+
var jsx_dev_runtime5;
|
|
73595
73631
|
var init_global_screens = __esm(async () => {
|
|
73596
73632
|
init_detect_hosts();
|
|
73597
73633
|
await __promiseAll([
|
|
73634
|
+
init_ink_style(),
|
|
73598
73635
|
init_build2(),
|
|
73599
|
-
init_build3(),
|
|
73600
73636
|
init_search_select(),
|
|
73601
73637
|
init_host_picker(),
|
|
73602
73638
|
init_select_list(),
|
|
73603
73639
|
init_options()
|
|
73604
73640
|
]);
|
|
73605
|
-
|
|
73641
|
+
jsx_dev_runtime5 = __toESM(require_jsx_dev_runtime(), 1);
|
|
73606
73642
|
});
|
|
73607
73643
|
|
|
73608
73644
|
// packages/workit-cli/src/steps/workspace-screens.tsx
|
|
@@ -73632,23 +73668,23 @@ function WorkspacesScreen({ draft, dispatch }) {
|
|
|
73632
73668
|
value: `advanced:${i}`
|
|
73633
73669
|
}))
|
|
73634
73670
|
];
|
|
73635
|
-
return /* @__PURE__ */
|
|
73671
|
+
return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
73636
73672
|
flexDirection: "column",
|
|
73637
73673
|
gap: 1,
|
|
73638
73674
|
children: [
|
|
73639
|
-
/* @__PURE__ */
|
|
73675
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73640
73676
|
bold: true,
|
|
73641
73677
|
children: "Step 5 — Workspaces"
|
|
73642
73678
|
}, undefined, false, undefined, this),
|
|
73643
|
-
draft.values.workspaces.length === 0 ? /* @__PURE__ */
|
|
73679
|
+
draft.values.workspaces.length === 0 ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73644
73680
|
dimColor: true,
|
|
73645
73681
|
children: "No workspaces configured yet."
|
|
73646
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
|
73682
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
73647
73683
|
flexDirection: "column",
|
|
73648
73684
|
gap: 0,
|
|
73649
73685
|
children: draft.values.workspaces.map((w) => {
|
|
73650
73686
|
const matches = matchWorkspace(w.glob, base);
|
|
73651
|
-
return /* @__PURE__ */
|
|
73687
|
+
return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73652
73688
|
children: [
|
|
73653
73689
|
matches ? "✓ matches" : "✗ no match",
|
|
73654
73690
|
" ",
|
|
@@ -73662,16 +73698,22 @@ function WorkspacesScreen({ draft, dispatch }) {
|
|
|
73662
73698
|
}, `${w.name}|${w.glob}|${w.vcs?.provider ?? ""}`, true, undefined, this);
|
|
73663
73699
|
})
|
|
73664
73700
|
}, undefined, false, undefined, this),
|
|
73665
|
-
/* @__PURE__ */
|
|
73701
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(SelectList, {
|
|
73666
73702
|
options,
|
|
73667
73703
|
value: "done",
|
|
73668
73704
|
onSelect: (value) => {
|
|
73669
73705
|
if (value.startsWith("edit:"))
|
|
73670
73706
|
dispatch({ type: "workspaceEdit", index: Number(value.slice(5)) });
|
|
73671
73707
|
else if (value.startsWith("remove:"))
|
|
73672
|
-
dispatch({
|
|
73708
|
+
dispatch({
|
|
73709
|
+
type: "workspaceRemove",
|
|
73710
|
+
index: Number(value.slice(7))
|
|
73711
|
+
});
|
|
73673
73712
|
else if (value.startsWith("advanced:"))
|
|
73674
|
-
dispatch({
|
|
73713
|
+
dispatch({
|
|
73714
|
+
type: "workspaceAdvancedOpen",
|
|
73715
|
+
index: Number(value.slice(9))
|
|
73716
|
+
});
|
|
73675
73717
|
else if (value === "global-commit")
|
|
73676
73718
|
dispatch({ type: "globalCommitOpen" });
|
|
73677
73719
|
else if (value === "add")
|
|
@@ -73682,7 +73724,7 @@ function WorkspacesScreen({ draft, dispatch }) {
|
|
|
73682
73724
|
dispatch({ type: "next" });
|
|
73683
73725
|
}
|
|
73684
73726
|
}, draft.values.workspaces.map((w) => `${w.name}:${w.glob}`).join("|"), false, undefined, this),
|
|
73685
|
-
/* @__PURE__ */
|
|
73727
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73686
73728
|
dimColor: true,
|
|
73687
73729
|
children: "Enter to continue · b Back · Esc Cancel"
|
|
73688
73730
|
}, undefined, false, undefined, this)
|
|
@@ -73690,29 +73732,29 @@ function WorkspacesScreen({ draft, dispatch }) {
|
|
|
73690
73732
|
}, undefined, true, undefined, this);
|
|
73691
73733
|
}
|
|
73692
73734
|
function WorkspaceNameScreen({ draft, dispatch }) {
|
|
73693
|
-
return /* @__PURE__ */
|
|
73735
|
+
return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
73694
73736
|
flexDirection: "column",
|
|
73695
73737
|
gap: 1,
|
|
73696
73738
|
children: [
|
|
73697
|
-
/* @__PURE__ */
|
|
73739
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73698
73740
|
bold: true,
|
|
73699
73741
|
children: "Step 5 — Workspaces · Name"
|
|
73700
73742
|
}, undefined, false, undefined, this),
|
|
73701
|
-
/* @__PURE__ */
|
|
73743
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73702
73744
|
dimColor: true,
|
|
73703
73745
|
children: draft.workspaceIndex === null ? "New workspace name:" : `Edit workspace name (${draft.values.workspaces[draft.workspaceIndex]?.name ?? ""}):`
|
|
73704
73746
|
}, undefined, false, undefined, this),
|
|
73705
|
-
/* @__PURE__ */
|
|
73747
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(StableTextInput, {
|
|
73706
73748
|
placeholder: SCREEN_PLACEHOLDERS.workspaceName,
|
|
73707
73749
|
defaultValue: draft.workspaceDraft?.name ?? "",
|
|
73708
73750
|
onChange: (value) => dispatch({ type: "workspaceDraftName", value }),
|
|
73709
73751
|
onSubmit: () => dispatch({ type: "next" })
|
|
73710
73752
|
}, undefined, false, undefined, this),
|
|
73711
|
-
draft.errors.workspaceName && /* @__PURE__ */
|
|
73712
|
-
color: "
|
|
73753
|
+
draft.errors.workspaceName && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73754
|
+
color: inkColor("fail"),
|
|
73713
73755
|
children: draft.errors.workspaceName
|
|
73714
73756
|
}, undefined, false, undefined, this),
|
|
73715
|
-
/* @__PURE__ */
|
|
73757
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73716
73758
|
dimColor: true,
|
|
73717
73759
|
children: "Enter to continue · Esc Back"
|
|
73718
73760
|
}, undefined, false, undefined, this)
|
|
@@ -73721,36 +73763,36 @@ function WorkspaceNameScreen({ draft, dispatch }) {
|
|
|
73721
73763
|
}
|
|
73722
73764
|
function WorkspaceGlobScreen({ draft, dispatch }) {
|
|
73723
73765
|
const glob = draft.workspaceDraft?.glob ?? "";
|
|
73724
|
-
return /* @__PURE__ */
|
|
73766
|
+
return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
73725
73767
|
flexDirection: "column",
|
|
73726
73768
|
gap: 1,
|
|
73727
73769
|
children: [
|
|
73728
|
-
/* @__PURE__ */
|
|
73770
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73729
73771
|
bold: true,
|
|
73730
73772
|
children: "Step 5 — Workspaces · Pattern"
|
|
73731
73773
|
}, undefined, false, undefined, this),
|
|
73732
|
-
/* @__PURE__ */
|
|
73774
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73733
73775
|
dimColor: true,
|
|
73734
73776
|
children: "Workspace pattern (glob, e.g. /work/**):"
|
|
73735
73777
|
}, undefined, false, undefined, this),
|
|
73736
|
-
/* @__PURE__ */
|
|
73778
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(StableTextInput, {
|
|
73737
73779
|
placeholder: SCREEN_PLACEHOLDERS.workspaceGlob,
|
|
73738
73780
|
defaultValue: glob,
|
|
73739
73781
|
onChange: (value) => dispatch({ type: "workspaceDraftGlob", value }),
|
|
73740
73782
|
onSubmit: () => dispatch({ type: "next" })
|
|
73741
73783
|
}, undefined, false, undefined, this),
|
|
73742
|
-
glob.trim() !== "" && /* @__PURE__ */
|
|
73784
|
+
glob.trim() !== "" && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
73743
73785
|
flexDirection: "column",
|
|
73744
73786
|
gap: 0,
|
|
73745
73787
|
children: [
|
|
73746
|
-
/* @__PURE__ */
|
|
73788
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73747
73789
|
bold: true,
|
|
73748
73790
|
children: "Match preview (shared matcher):"
|
|
73749
73791
|
}, undefined, false, undefined, this),
|
|
73750
73792
|
workspacePreviewTargets(resolveBasePath(draft.values)).map((target) => {
|
|
73751
73793
|
const matches = matchWorkspace(glob, target);
|
|
73752
|
-
return /* @__PURE__ */
|
|
73753
|
-
color: matches ? "
|
|
73794
|
+
return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73795
|
+
color: inkColor(matches ? "ok" : "fail"),
|
|
73754
73796
|
children: [
|
|
73755
73797
|
matches ? "✓ matches" : "✗ no match",
|
|
73756
73798
|
" ",
|
|
@@ -73760,11 +73802,11 @@ function WorkspaceGlobScreen({ draft, dispatch }) {
|
|
|
73760
73802
|
})
|
|
73761
73803
|
]
|
|
73762
73804
|
}, undefined, true, undefined, this),
|
|
73763
|
-
draft.errors.workspaceGlob && /* @__PURE__ */
|
|
73764
|
-
color: "
|
|
73805
|
+
draft.errors.workspaceGlob && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73806
|
+
color: inkColor("fail"),
|
|
73765
73807
|
children: draft.errors.workspaceGlob
|
|
73766
73808
|
}, undefined, false, undefined, this),
|
|
73767
|
-
/* @__PURE__ */
|
|
73809
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73768
73810
|
dimColor: true,
|
|
73769
73811
|
children: "Enter to continue · Esc Back"
|
|
73770
73812
|
}, undefined, false, undefined, this)
|
|
@@ -73772,19 +73814,19 @@ function WorkspaceGlobScreen({ draft, dispatch }) {
|
|
|
73772
73814
|
}, undefined, true, undefined, this);
|
|
73773
73815
|
}
|
|
73774
73816
|
function WorkspaceProviderScreen({ draft, dispatch }) {
|
|
73775
|
-
return /* @__PURE__ */
|
|
73817
|
+
return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
73776
73818
|
flexDirection: "column",
|
|
73777
73819
|
gap: 1,
|
|
73778
73820
|
children: [
|
|
73779
|
-
/* @__PURE__ */
|
|
73821
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73780
73822
|
bold: true,
|
|
73781
73823
|
children: "Step 5 — Workspaces · Provider"
|
|
73782
73824
|
}, undefined, false, undefined, this),
|
|
73783
|
-
/* @__PURE__ */
|
|
73825
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73784
73826
|
dimColor: true,
|
|
73785
73827
|
children: "Version control provider for this workspace:"
|
|
73786
73828
|
}, undefined, false, undefined, this),
|
|
73787
|
-
/* @__PURE__ */
|
|
73829
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(SelectList, {
|
|
73788
73830
|
options: VCS_PROVIDERS,
|
|
73789
73831
|
value: draft.workspaceDraft?.vcs?.provider ?? "skip",
|
|
73790
73832
|
onChange: (value) => dispatch({ type: "workspaceDraftProvider", value }),
|
|
@@ -73793,7 +73835,7 @@ function WorkspaceProviderScreen({ draft, dispatch }) {
|
|
|
73793
73835
|
dispatch({ type: "workspaceSave" });
|
|
73794
73836
|
}
|
|
73795
73837
|
}, undefined, false, undefined, this),
|
|
73796
|
-
/* @__PURE__ */
|
|
73838
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73797
73839
|
dimColor: true,
|
|
73798
73840
|
children: "Enter to save · b Back · Esc Cancel"
|
|
73799
73841
|
}, undefined, false, undefined, this)
|
|
@@ -73812,38 +73854,38 @@ function WorkspaceAdvancedValueScreen({ draft, dispatch }) {
|
|
|
73812
73854
|
value: name
|
|
73813
73855
|
}))
|
|
73814
73856
|
] : null;
|
|
73815
|
-
return /* @__PURE__ */
|
|
73857
|
+
return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
73816
73858
|
flexDirection: "column",
|
|
73817
73859
|
gap: 1,
|
|
73818
73860
|
children: [
|
|
73819
|
-
/* @__PURE__ */
|
|
73861
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73820
73862
|
bold: true,
|
|
73821
73863
|
children: [
|
|
73822
73864
|
"Advanced workspace settings · ",
|
|
73823
73865
|
label
|
|
73824
73866
|
]
|
|
73825
73867
|
}, undefined, true, undefined, this),
|
|
73826
|
-
/* @__PURE__ */
|
|
73868
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73827
73869
|
dimColor: true,
|
|
73828
73870
|
children: "Leave empty to clear this override. Use comma-separated values for lists."
|
|
73829
73871
|
}, undefined, false, undefined, this),
|
|
73830
|
-
profileChoices ? /* @__PURE__ */
|
|
73872
|
+
profileChoices ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(SelectList, {
|
|
73831
73873
|
options: profileChoices,
|
|
73832
73874
|
value: current,
|
|
73833
73875
|
onSelect: (value) => field && dispatch({ type: "workspaceAdvancedSet", field, value })
|
|
73834
|
-
}, undefined, false, undefined, this) : choices ? /* @__PURE__ */
|
|
73876
|
+
}, undefined, false, undefined, this) : choices ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(SelectList, {
|
|
73835
73877
|
options: choices,
|
|
73836
73878
|
value: current || choices[0].value,
|
|
73837
73879
|
onSelect: (value) => field && dispatch({ type: "workspaceAdvancedSet", field, value })
|
|
73838
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
|
73880
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(StableTextInput, {
|
|
73839
73881
|
defaultValue: current,
|
|
73840
73882
|
onSubmit: (value) => field && dispatch({ type: "workspaceAdvancedSet", field, value })
|
|
73841
73883
|
}, undefined, false, undefined, this),
|
|
73842
|
-
field?.endsWith("integration") && /* @__PURE__ */
|
|
73884
|
+
field?.endsWith("integration") && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73843
73885
|
dimColor: true,
|
|
73844
73886
|
children: "Enter pr or merge."
|
|
73845
73887
|
}, undefined, false, undefined, this),
|
|
73846
|
-
/* @__PURE__ */
|
|
73888
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73847
73889
|
dimColor: true,
|
|
73848
73890
|
children: "Enter to save · Esc Back"
|
|
73849
73891
|
}, undefined, false, undefined, this)
|
|
@@ -73861,26 +73903,26 @@ function GlobalCommitPolicyScreen({ draft, dispatch }) {
|
|
|
73861
73903
|
{ label: "Edit custom pattern…", value: "pattern" },
|
|
73862
73904
|
{ label: "Done", value: "done" }
|
|
73863
73905
|
];
|
|
73864
|
-
return /* @__PURE__ */
|
|
73906
|
+
return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
73865
73907
|
flexDirection: "column",
|
|
73866
73908
|
gap: 1,
|
|
73867
73909
|
children: [
|
|
73868
|
-
/* @__PURE__ */
|
|
73910
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73869
73911
|
bold: true,
|
|
73870
73912
|
children: "Advanced global commit policy"
|
|
73871
73913
|
}, undefined, false, undefined, this),
|
|
73872
|
-
/* @__PURE__ */
|
|
73914
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73873
73915
|
dimColor: true,
|
|
73874
73916
|
children: "Default convention used when a workspace has no commit override."
|
|
73875
73917
|
}, undefined, false, undefined, this),
|
|
73876
|
-
draft.values.commitPolicy.pattern && /* @__PURE__ */
|
|
73918
|
+
draft.values.commitPolicy.pattern && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73877
73919
|
dimColor: true,
|
|
73878
73920
|
children: [
|
|
73879
73921
|
"Custom pattern: ",
|
|
73880
73922
|
draft.values.commitPolicy.pattern
|
|
73881
73923
|
]
|
|
73882
73924
|
}, undefined, true, undefined, this),
|
|
73883
|
-
/* @__PURE__ */
|
|
73925
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(SelectList, {
|
|
73884
73926
|
options,
|
|
73885
73927
|
value: draft.values.commitPolicy.preset,
|
|
73886
73928
|
onSelect: (value) => {
|
|
@@ -73892,7 +73934,7 @@ function GlobalCommitPolicyScreen({ draft, dispatch }) {
|
|
|
73892
73934
|
dispatch({ type: "globalCommitPreset", value });
|
|
73893
73935
|
}
|
|
73894
73936
|
}, undefined, false, undefined, this),
|
|
73895
|
-
/* @__PURE__ */
|
|
73937
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73896
73938
|
dimColor: true,
|
|
73897
73939
|
children: "Enter to select · b Back"
|
|
73898
73940
|
}, undefined, false, undefined, this)
|
|
@@ -73900,42 +73942,42 @@ function GlobalCommitPolicyScreen({ draft, dispatch }) {
|
|
|
73900
73942
|
}, undefined, true, undefined, this);
|
|
73901
73943
|
}
|
|
73902
73944
|
function GlobalCommitPatternScreen({ draft, dispatch }) {
|
|
73903
|
-
return /* @__PURE__ */
|
|
73945
|
+
return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
73904
73946
|
flexDirection: "column",
|
|
73905
73947
|
gap: 1,
|
|
73906
73948
|
children: [
|
|
73907
|
-
/* @__PURE__ */
|
|
73949
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73908
73950
|
bold: true,
|
|
73909
73951
|
children: "Advanced global commit policy · Custom pattern"
|
|
73910
73952
|
}, undefined, false, undefined, this),
|
|
73911
|
-
/* @__PURE__ */
|
|
73953
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73912
73954
|
dimColor: true,
|
|
73913
73955
|
children: "Regular expression matched against the commit subject line."
|
|
73914
73956
|
}, undefined, false, undefined, this),
|
|
73915
|
-
/* @__PURE__ */
|
|
73957
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(StableTextInput, {
|
|
73916
73958
|
defaultValue: draft.values.commitPolicy.pattern ?? "",
|
|
73917
73959
|
onChange: (value) => dispatch({ type: "globalCommitPattern", value }),
|
|
73918
73960
|
onSubmit: () => dispatch({ type: "globalCommitPatternDone" })
|
|
73919
73961
|
}, undefined, false, undefined, this),
|
|
73920
|
-
/* @__PURE__ */
|
|
73962
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
73921
73963
|
dimColor: true,
|
|
73922
73964
|
children: "Enter to save · Esc Back"
|
|
73923
73965
|
}, undefined, false, undefined, this)
|
|
73924
73966
|
]
|
|
73925
73967
|
}, undefined, true, undefined, this);
|
|
73926
73968
|
}
|
|
73927
|
-
var
|
|
73969
|
+
var jsx_dev_runtime6;
|
|
73928
73970
|
var init_workspace_screens = __esm(async () => {
|
|
73929
73971
|
init_workspaces();
|
|
73930
73972
|
init_logic();
|
|
73931
73973
|
init_wizard_state();
|
|
73932
73974
|
await __promiseAll([
|
|
73975
|
+
init_ink_style(),
|
|
73933
73976
|
init_build2(),
|
|
73934
|
-
init_build3(),
|
|
73935
73977
|
init_select_list(),
|
|
73936
73978
|
init_options()
|
|
73937
73979
|
]);
|
|
73938
|
-
|
|
73980
|
+
jsx_dev_runtime6 = __toESM(require_jsx_dev_runtime(), 1);
|
|
73939
73981
|
});
|
|
73940
73982
|
|
|
73941
73983
|
// packages/workit-cli/src/steps/sphere-spinner.tsx
|
|
@@ -73946,16 +73988,16 @@ function SphereSpinner({
|
|
|
73946
73988
|
now = Date.now
|
|
73947
73989
|
}) {
|
|
73948
73990
|
const mode = terminalMode({ stream, env });
|
|
73949
|
-
const [began] =
|
|
73950
|
-
const [tick, setTick] =
|
|
73951
|
-
|
|
73991
|
+
const [began] = import_react69.useState(now);
|
|
73992
|
+
const [tick, setTick] = import_react69.useState(0);
|
|
73993
|
+
import_react69.useEffect(() => {
|
|
73952
73994
|
if (mode === "off")
|
|
73953
73995
|
return;
|
|
73954
73996
|
const timer = setInterval(() => setTick((n) => n + 1), SPINNER_FRAME_MS);
|
|
73955
73997
|
return () => clearInterval(timer);
|
|
73956
73998
|
}, [mode]);
|
|
73957
73999
|
if (mode === "off")
|
|
73958
|
-
return /* @__PURE__ */
|
|
74000
|
+
return /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
|
|
73959
74001
|
children: [
|
|
73960
74002
|
label,
|
|
73961
74003
|
"…"
|
|
@@ -73965,7 +74007,7 @@ function SphereSpinner({
|
|
|
73965
74007
|
const frame = SPINNER_FRAMES[tick % SPINNER_FRAMES.length] ?? "";
|
|
73966
74008
|
const glyph = mode === "spinner" ? spinnerPaint(elapsed, env, frame) : frame;
|
|
73967
74009
|
const shown = env.TERM === "dumb" ? "..." : glyph;
|
|
73968
|
-
return /* @__PURE__ */
|
|
74010
|
+
return /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
|
|
73969
74011
|
children: [
|
|
73970
74012
|
shown,
|
|
73971
74013
|
" ",
|
|
@@ -73976,21 +74018,21 @@ function SphereSpinner({
|
|
|
73976
74018
|
]
|
|
73977
74019
|
}, undefined, true, undefined, this);
|
|
73978
74020
|
}
|
|
73979
|
-
var
|
|
74021
|
+
var import_react69, jsx_dev_runtime7;
|
|
73980
74022
|
var init_sphere_spinner = __esm(async () => {
|
|
73981
74023
|
init_style();
|
|
73982
74024
|
await init_build2();
|
|
73983
|
-
|
|
73984
|
-
|
|
74025
|
+
import_react69 = __toESM(require_react(), 1);
|
|
74026
|
+
jsx_dev_runtime7 = __toESM(require_jsx_dev_runtime(), 1);
|
|
73985
74027
|
});
|
|
73986
74028
|
|
|
73987
74029
|
// packages/workit-cli/src/steps/finish-screens.tsx
|
|
73988
74030
|
function BranchPolicyScreen({ draft, dispatch }) {
|
|
73989
74031
|
const detected = draft.values.branchPolicyDetected;
|
|
73990
74032
|
const policy = draft.values.branchPolicy ?? detected;
|
|
73991
|
-
const [mode, setMode] =
|
|
74033
|
+
const [mode, setMode] = import_react70.useState("menu");
|
|
73992
74034
|
const basePath = resolveBasePath(draft.values);
|
|
73993
|
-
|
|
74035
|
+
import_react70.useEffect(() => {
|
|
73994
74036
|
if (detected)
|
|
73995
74037
|
return;
|
|
73996
74038
|
dispatch({
|
|
@@ -74000,15 +74042,15 @@ function BranchPolicyScreen({ draft, dispatch }) {
|
|
|
74000
74042
|
});
|
|
74001
74043
|
}, [detected, dispatch, basePath]);
|
|
74002
74044
|
if (mode === "integration") {
|
|
74003
|
-
return /* @__PURE__ */
|
|
74045
|
+
return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
74004
74046
|
flexDirection: "column",
|
|
74005
74047
|
gap: 1,
|
|
74006
74048
|
children: [
|
|
74007
|
-
/* @__PURE__ */
|
|
74049
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74008
74050
|
bold: true,
|
|
74009
74051
|
children: "Step 5 — Branch policy · Integration"
|
|
74010
74052
|
}, undefined, false, undefined, this),
|
|
74011
|
-
/* @__PURE__ */
|
|
74053
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(SelectList, {
|
|
74012
74054
|
options: INTEGRATION_OPTIONS,
|
|
74013
74055
|
value: policy?.integration ?? "merge",
|
|
74014
74056
|
onSelect: (value) => {
|
|
@@ -74016,76 +74058,76 @@ function BranchPolicyScreen({ draft, dispatch }) {
|
|
|
74016
74058
|
setMode("menu");
|
|
74017
74059
|
}
|
|
74018
74060
|
}, undefined, false, undefined, this),
|
|
74019
|
-
/* @__PURE__ */
|
|
74061
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74020
74062
|
dimColor: true,
|
|
74021
74063
|
children: "Enter to select · b Back · Esc Cancel"
|
|
74022
74064
|
}, undefined, false, undefined, this)
|
|
74023
74065
|
]
|
|
74024
74066
|
}, undefined, true, undefined, this);
|
|
74025
74067
|
}
|
|
74026
|
-
return /* @__PURE__ */
|
|
74068
|
+
return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
74027
74069
|
flexDirection: "column",
|
|
74028
74070
|
gap: 1,
|
|
74029
74071
|
children: [
|
|
74030
|
-
/* @__PURE__ */
|
|
74072
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74031
74073
|
bold: true,
|
|
74032
74074
|
children: "Step 5 — Branch policy"
|
|
74033
74075
|
}, undefined, false, undefined, this),
|
|
74034
|
-
policy ? /* @__PURE__ */
|
|
74076
|
+
policy ? /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
74035
74077
|
flexDirection: "column",
|
|
74036
74078
|
gap: 0,
|
|
74037
74079
|
children: [
|
|
74038
|
-
/* @__PURE__ */
|
|
74080
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74039
74081
|
children: [
|
|
74040
74082
|
"Detected preset: ",
|
|
74041
|
-
/* @__PURE__ */
|
|
74042
|
-
color: "
|
|
74083
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74084
|
+
color: inkColor("ok"),
|
|
74043
74085
|
children: policy.preset
|
|
74044
74086
|
}, undefined, false, undefined, this)
|
|
74045
74087
|
]
|
|
74046
74088
|
}, undefined, true, undefined, this),
|
|
74047
|
-
/* @__PURE__ */
|
|
74089
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74048
74090
|
children: [
|
|
74049
74091
|
"Develop branch: ",
|
|
74050
|
-
/* @__PURE__ */
|
|
74051
|
-
color: "
|
|
74092
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74093
|
+
color: inkColor("ok"),
|
|
74052
74094
|
children: policy.developBranch ?? "—"
|
|
74053
74095
|
}, undefined, false, undefined, this)
|
|
74054
74096
|
]
|
|
74055
74097
|
}, undefined, true, undefined, this),
|
|
74056
|
-
/* @__PURE__ */
|
|
74098
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74057
74099
|
children: [
|
|
74058
74100
|
"Integration: ",
|
|
74059
|
-
/* @__PURE__ */
|
|
74060
|
-
color: "
|
|
74101
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74102
|
+
color: inkColor("ok"),
|
|
74061
74103
|
children: policy.integration
|
|
74062
74104
|
}, undefined, false, undefined, this)
|
|
74063
74105
|
]
|
|
74064
74106
|
}, undefined, true, undefined, this),
|
|
74065
|
-
/* @__PURE__ */
|
|
74107
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74066
74108
|
children: [
|
|
74067
74109
|
"Prefixes:",
|
|
74068
74110
|
" ",
|
|
74069
|
-
/* @__PURE__ */
|
|
74070
|
-
color: "
|
|
74111
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74112
|
+
color: inkColor("ok"),
|
|
74071
74113
|
children: Object.values(policy.prefixes ?? {}).join(", ") || "—"
|
|
74072
74114
|
}, undefined, false, undefined, this)
|
|
74073
74115
|
]
|
|
74074
74116
|
}, undefined, true, undefined, this),
|
|
74075
|
-
/* @__PURE__ */
|
|
74117
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74076
74118
|
children: [
|
|
74077
74119
|
"Protected: ",
|
|
74078
|
-
/* @__PURE__ */
|
|
74079
|
-
color: "
|
|
74120
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74121
|
+
color: inkColor("ok"),
|
|
74080
74122
|
children: policy.protected?.join(", ") || "—"
|
|
74081
74123
|
}, undefined, false, undefined, this)
|
|
74082
74124
|
]
|
|
74083
74125
|
}, undefined, true, undefined, this)
|
|
74084
74126
|
]
|
|
74085
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */
|
|
74127
|
+
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(SphereSpinner, {
|
|
74086
74128
|
label: "Detecting branch policy"
|
|
74087
74129
|
}, undefined, false, undefined, this),
|
|
74088
|
-
/* @__PURE__ */
|
|
74130
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(SelectList, {
|
|
74089
74131
|
options: BRANCH_POLICY_ACTIONS,
|
|
74090
74132
|
value: "accept",
|
|
74091
74133
|
onSelect: (value) => {
|
|
@@ -74101,7 +74143,7 @@ function BranchPolicyScreen({ draft, dispatch }) {
|
|
|
74101
74143
|
dispatch({ type: "next" });
|
|
74102
74144
|
}
|
|
74103
74145
|
}, undefined, false, undefined, this),
|
|
74104
|
-
/* @__PURE__ */
|
|
74146
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74105
74147
|
dimColor: true,
|
|
74106
74148
|
children: "Enter to continue · b Back · Esc Cancel"
|
|
74107
74149
|
}, undefined, false, undefined, this)
|
|
@@ -74138,33 +74180,33 @@ function mutationRows(mutations) {
|
|
|
74138
74180
|
});
|
|
74139
74181
|
}
|
|
74140
74182
|
function BasePathScreen({ draft, dispatch }) {
|
|
74141
|
-
const onChange =
|
|
74142
|
-
const onSubmit =
|
|
74183
|
+
const onChange = import_react70.useCallback((value) => dispatch({ type: "set", field: "basePath", value }), [dispatch]);
|
|
74184
|
+
const onSubmit = import_react70.useCallback((value) => {
|
|
74143
74185
|
dispatch({ type: "set", field: "basePath", value });
|
|
74144
74186
|
dispatch({ type: "next" });
|
|
74145
74187
|
}, [dispatch]);
|
|
74146
|
-
return /* @__PURE__ */
|
|
74188
|
+
return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
74147
74189
|
flexDirection: "column",
|
|
74148
74190
|
gap: 1,
|
|
74149
74191
|
children: [
|
|
74150
|
-
/* @__PURE__ */
|
|
74192
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74151
74193
|
bold: true,
|
|
74152
74194
|
children: "Step 5 — Workspace root"
|
|
74153
74195
|
}, undefined, false, undefined, this),
|
|
74154
|
-
/* @__PURE__ */
|
|
74196
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74155
74197
|
dimColor: true,
|
|
74156
74198
|
children: "Absolute path where your projects live (e.g. /work):"
|
|
74157
74199
|
}, undefined, false, undefined, this),
|
|
74158
|
-
/* @__PURE__ */
|
|
74200
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(StableTextInput, {
|
|
74159
74201
|
defaultValue: draft.values.basePath,
|
|
74160
74202
|
onChange,
|
|
74161
74203
|
onSubmit
|
|
74162
74204
|
}, undefined, false, undefined, this),
|
|
74163
|
-
draft.errors.basePath && /* @__PURE__ */
|
|
74164
|
-
color: "
|
|
74205
|
+
draft.errors.basePath && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74206
|
+
color: inkColor("fail"),
|
|
74165
74207
|
children: draft.errors.basePath
|
|
74166
74208
|
}, undefined, false, undefined, this),
|
|
74167
|
-
/* @__PURE__ */
|
|
74209
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74168
74210
|
dimColor: true,
|
|
74169
74211
|
children: "Enter to continue · Esc Back"
|
|
74170
74212
|
}, undefined, false, undefined, this)
|
|
@@ -74172,19 +74214,19 @@ function BasePathScreen({ draft, dispatch }) {
|
|
|
74172
74214
|
}, undefined, true, undefined, this);
|
|
74173
74215
|
}
|
|
74174
74216
|
function BranchPolicyDevelopScreen({ draft, dispatch }) {
|
|
74175
|
-
return /* @__PURE__ */
|
|
74217
|
+
return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
74176
74218
|
flexDirection: "column",
|
|
74177
74219
|
gap: 1,
|
|
74178
74220
|
children: [
|
|
74179
|
-
/* @__PURE__ */
|
|
74221
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74180
74222
|
bold: true,
|
|
74181
74223
|
children: "Step 5 — Branch policy · Develop branch"
|
|
74182
74224
|
}, undefined, false, undefined, this),
|
|
74183
|
-
/* @__PURE__ */
|
|
74225
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74184
74226
|
dimColor: true,
|
|
74185
74227
|
children: "Integration/develop branch name (leave empty to unset):"
|
|
74186
74228
|
}, undefined, false, undefined, this),
|
|
74187
|
-
/* @__PURE__ */
|
|
74229
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(StableTextInput, {
|
|
74188
74230
|
placeholder: SCREEN_PLACEHOLDERS.branchPolicyDevelop,
|
|
74189
74231
|
defaultValue: draft.values.branchPolicy?.developBranch ?? draft.values.branchPolicyDetected?.developBranch ?? "",
|
|
74190
74232
|
onSubmit: (value) => {
|
|
@@ -74192,7 +74234,7 @@ function BranchPolicyDevelopScreen({ draft, dispatch }) {
|
|
|
74192
74234
|
dispatch({ type: "next" });
|
|
74193
74235
|
}
|
|
74194
74236
|
}, undefined, false, undefined, this),
|
|
74195
|
-
/* @__PURE__ */
|
|
74237
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74196
74238
|
dimColor: true,
|
|
74197
74239
|
children: "Enter to save · Esc Back"
|
|
74198
74240
|
}, undefined, false, undefined, this)
|
|
@@ -74202,22 +74244,22 @@ function BranchPolicyDevelopScreen({ draft, dispatch }) {
|
|
|
74202
74244
|
function ProjectScreen({ draft, dispatch }) {
|
|
74203
74245
|
const target = projectTargetFor(resolveBasePath(draft.values));
|
|
74204
74246
|
if (!target.ok) {
|
|
74205
|
-
return /* @__PURE__ */
|
|
74247
|
+
return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
74206
74248
|
flexDirection: "column",
|
|
74207
74249
|
gap: 1,
|
|
74208
74250
|
children: [
|
|
74209
|
-
/* @__PURE__ */
|
|
74251
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74210
74252
|
bold: true,
|
|
74211
74253
|
children: "Step 6 — Project setup"
|
|
74212
74254
|
}, undefined, false, undefined, this),
|
|
74213
|
-
/* @__PURE__ */
|
|
74214
|
-
color: "
|
|
74255
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74256
|
+
color: inkColor("warn"),
|
|
74215
74257
|
children: [
|
|
74216
74258
|
"Skipped: ",
|
|
74217
74259
|
target.refused
|
|
74218
74260
|
]
|
|
74219
74261
|
}, undefined, true, undefined, this),
|
|
74220
|
-
/* @__PURE__ */
|
|
74262
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(ConfirmInput, {
|
|
74221
74263
|
defaultChoice: "confirm",
|
|
74222
74264
|
submitOnEnter: false,
|
|
74223
74265
|
onConfirm: () => {
|
|
@@ -74229,22 +74271,22 @@ function ProjectScreen({ draft, dispatch }) {
|
|
|
74229
74271
|
dispatch({ type: "next" });
|
|
74230
74272
|
}
|
|
74231
74273
|
}, undefined, false, undefined, this),
|
|
74232
|
-
/* @__PURE__ */
|
|
74274
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74233
74275
|
dimColor: true,
|
|
74234
74276
|
children: "y to keep this note in the summary · n to skip it · either adds no project files · b Back · Esc Cancel"
|
|
74235
74277
|
}, undefined, false, undefined, this)
|
|
74236
74278
|
]
|
|
74237
74279
|
}, undefined, true, undefined, this);
|
|
74238
74280
|
}
|
|
74239
|
-
return /* @__PURE__ */
|
|
74281
|
+
return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
74240
74282
|
flexDirection: "column",
|
|
74241
74283
|
gap: 1,
|
|
74242
74284
|
children: [
|
|
74243
|
-
/* @__PURE__ */
|
|
74285
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74244
74286
|
bold: true,
|
|
74245
74287
|
children: "Step 6 — Project setup"
|
|
74246
74288
|
}, undefined, false, undefined, this),
|
|
74247
|
-
/* @__PURE__ */
|
|
74289
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74248
74290
|
dimColor: true,
|
|
74249
74291
|
children: [
|
|
74250
74292
|
"Apply gitignore + hygiene in ",
|
|
@@ -74252,7 +74294,7 @@ function ProjectScreen({ draft, dispatch }) {
|
|
|
74252
74294
|
"? (Existing files are never overwritten.)"
|
|
74253
74295
|
]
|
|
74254
74296
|
}, undefined, true, undefined, this),
|
|
74255
|
-
/* @__PURE__ */
|
|
74297
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(ConfirmInput, {
|
|
74256
74298
|
defaultChoice: "cancel",
|
|
74257
74299
|
submitOnEnter: false,
|
|
74258
74300
|
onConfirm: () => {
|
|
@@ -74264,7 +74306,7 @@ function ProjectScreen({ draft, dispatch }) {
|
|
|
74264
74306
|
dispatch({ type: "next" });
|
|
74265
74307
|
}
|
|
74266
74308
|
}, undefined, false, undefined, this),
|
|
74267
|
-
/* @__PURE__ */
|
|
74309
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74268
74310
|
dimColor: true,
|
|
74269
74311
|
children: "y to add project files · n to skip · b Back · Esc Cancel"
|
|
74270
74312
|
}, undefined, false, undefined, this)
|
|
@@ -74273,7 +74315,9 @@ function ProjectScreen({ draft, dispatch }) {
|
|
|
74273
74315
|
}
|
|
74274
74316
|
function SummaryScreen({ draft, dispatch }) {
|
|
74275
74317
|
const policy = effectivePolicy(draft.values);
|
|
74276
|
-
const preview = buildSetupPreview(draft.values, {
|
|
74318
|
+
const preview = buildSetupPreview(draft.values, {
|
|
74319
|
+
cwd: resolveBasePath(draft.values)
|
|
74320
|
+
});
|
|
74277
74321
|
const policyPreview = (() => {
|
|
74278
74322
|
try {
|
|
74279
74323
|
const current = readConfig();
|
|
@@ -74304,38 +74348,38 @@ function SummaryScreen({ draft, dispatch }) {
|
|
|
74304
74348
|
}
|
|
74305
74349
|
})();
|
|
74306
74350
|
const canApply = preview.ok && policyPreview.error === null;
|
|
74307
|
-
return /* @__PURE__ */
|
|
74351
|
+
return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
74308
74352
|
flexDirection: "column",
|
|
74309
74353
|
gap: 1,
|
|
74310
74354
|
children: [
|
|
74311
|
-
/* @__PURE__ */
|
|
74355
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74312
74356
|
bold: true,
|
|
74313
|
-
color: "
|
|
74357
|
+
color: inkColor("accent"),
|
|
74314
74358
|
children: "Review"
|
|
74315
74359
|
}, undefined, false, undefined, this),
|
|
74316
|
-
/* @__PURE__ */
|
|
74360
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74317
74361
|
children: [
|
|
74318
74362
|
"Platforms: ",
|
|
74319
|
-
/* @__PURE__ */
|
|
74320
|
-
color: "
|
|
74363
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74364
|
+
color: inkColor("ok"),
|
|
74321
74365
|
children: draft.values.platforms.join(", ") || "—"
|
|
74322
74366
|
}, undefined, false, undefined, this)
|
|
74323
74367
|
]
|
|
74324
74368
|
}, undefined, true, undefined, this),
|
|
74325
|
-
/* @__PURE__ */
|
|
74369
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74326
74370
|
children: [
|
|
74327
74371
|
"Locale: ",
|
|
74328
|
-
/* @__PURE__ */
|
|
74329
|
-
color: "
|
|
74372
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74373
|
+
color: inkColor("ok"),
|
|
74330
74374
|
children: draft.values.locale
|
|
74331
74375
|
}, undefined, false, undefined, this)
|
|
74332
74376
|
]
|
|
74333
74377
|
}, undefined, true, undefined, this),
|
|
74334
|
-
/* @__PURE__ */
|
|
74378
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74335
74379
|
children: [
|
|
74336
74380
|
"Branch policy: ",
|
|
74337
|
-
/* @__PURE__ */
|
|
74338
|
-
color: "
|
|
74381
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74382
|
+
color: inkColor("ok"),
|
|
74339
74383
|
children: policy.preset
|
|
74340
74384
|
}, undefined, false, undefined, this),
|
|
74341
74385
|
" — allowed:",
|
|
@@ -74345,97 +74389,101 @@ function SummaryScreen({ draft, dispatch }) {
|
|
|
74345
74389
|
policy.protected.join(", ")
|
|
74346
74390
|
]
|
|
74347
74391
|
}, undefined, true, undefined, this),
|
|
74348
|
-
policyPreview.error === null ? /* @__PURE__ */
|
|
74392
|
+
policyPreview.error === null ? /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
74349
74393
|
flexDirection: "column",
|
|
74350
74394
|
gap: 0,
|
|
74351
74395
|
children: [
|
|
74352
|
-
/* @__PURE__ */
|
|
74396
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74353
74397
|
children: [
|
|
74354
74398
|
"Sample checkout: ",
|
|
74355
|
-
/* @__PURE__ */
|
|
74356
|
-
color: "
|
|
74399
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74400
|
+
color: inkColor("ok"),
|
|
74357
74401
|
children: resolveBasePath(draft.values)
|
|
74358
74402
|
}, undefined, false, undefined, this),
|
|
74359
74403
|
policyPreview.workspace ? ` · workspace ${policyPreview.workspace}` : " · no matching workspace"
|
|
74360
74404
|
]
|
|
74361
74405
|
}, undefined, true, undefined, this),
|
|
74362
|
-
/* @__PURE__ */
|
|
74406
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74363
74407
|
children: [
|
|
74364
|
-
"Effective branch policy:
|
|
74365
|
-
|
|
74366
|
-
|
|
74408
|
+
"Effective branch policy:",
|
|
74409
|
+
" ",
|
|
74410
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74411
|
+
color: inkColor("ok"),
|
|
74367
74412
|
children: policyPreview.branchPreset
|
|
74368
74413
|
}, undefined, false, undefined, this),
|
|
74369
|
-
" · target
|
|
74414
|
+
" · target",
|
|
74415
|
+
" ",
|
|
74370
74416
|
policyPreview.target,
|
|
74371
74417
|
" · source ",
|
|
74372
74418
|
policyPreview.branchSource
|
|
74373
74419
|
]
|
|
74374
74420
|
}, undefined, true, undefined, this),
|
|
74375
|
-
/* @__PURE__ */
|
|
74421
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74376
74422
|
children: [
|
|
74377
|
-
"Effective commit policy:
|
|
74378
|
-
|
|
74379
|
-
|
|
74423
|
+
"Effective commit policy:",
|
|
74424
|
+
" ",
|
|
74425
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74426
|
+
color: inkColor("ok"),
|
|
74380
74427
|
children: policyPreview.commitPreset
|
|
74381
74428
|
}, undefined, false, undefined, this),
|
|
74382
|
-
" · source
|
|
74429
|
+
" · source",
|
|
74430
|
+
" ",
|
|
74383
74431
|
policyPreview.commitSource
|
|
74384
74432
|
]
|
|
74385
74433
|
}, undefined, true, undefined, this)
|
|
74386
74434
|
]
|
|
74387
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */
|
|
74388
|
-
color: "
|
|
74435
|
+
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74436
|
+
color: inkColor("fail"),
|
|
74389
74437
|
children: [
|
|
74390
74438
|
"Policy preview failed: ",
|
|
74391
74439
|
policyPreview.error
|
|
74392
74440
|
]
|
|
74393
74441
|
}, undefined, true, undefined, this),
|
|
74394
|
-
/* @__PURE__ */
|
|
74442
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74395
74443
|
children: [
|
|
74396
74444
|
"YouTrack base URL:",
|
|
74397
74445
|
" ",
|
|
74398
|
-
/* @__PURE__ */
|
|
74399
|
-
color: "
|
|
74446
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74447
|
+
color: inkColor("ok"),
|
|
74400
74448
|
children: draft.values.issueTracker === "youtrack" ? draft.values.baseUrl.trim() ? draft.values.baseUrl : "— (skip)" : "—"
|
|
74401
74449
|
}, undefined, false, undefined, this)
|
|
74402
74450
|
]
|
|
74403
74451
|
}, undefined, true, undefined, this),
|
|
74404
|
-
/* @__PURE__ */
|
|
74452
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74405
74453
|
children: [
|
|
74406
74454
|
"VCS provider: ",
|
|
74407
|
-
/* @__PURE__ */
|
|
74408
|
-
color: "
|
|
74455
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74456
|
+
color: inkColor("ok"),
|
|
74409
74457
|
children: draft.values.vcsProvider
|
|
74410
74458
|
}, undefined, false, undefined, this)
|
|
74411
74459
|
]
|
|
74412
74460
|
}, undefined, true, undefined, this),
|
|
74413
|
-
/* @__PURE__ */
|
|
74461
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74414
74462
|
children: [
|
|
74415
74463
|
"Project hygiene:",
|
|
74416
74464
|
" ",
|
|
74417
|
-
preview.projectRefused ? /* @__PURE__ */
|
|
74418
|
-
color: "
|
|
74465
|
+
preview.projectRefused ? /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74466
|
+
color: inkColor("warn"),
|
|
74419
74467
|
children: [
|
|
74420
74468
|
"skipped — ",
|
|
74421
74469
|
preview.projectRefused
|
|
74422
74470
|
]
|
|
74423
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */
|
|
74424
|
-
color: "
|
|
74471
|
+
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74472
|
+
color: inkColor("ok"),
|
|
74425
74473
|
children: draft.values.applyProject ? "yes" : "no"
|
|
74426
74474
|
}, undefined, false, undefined, this)
|
|
74427
74475
|
]
|
|
74428
74476
|
}, undefined, true, undefined, this),
|
|
74429
|
-
preview.overrides.length > 0 && /* @__PURE__ */
|
|
74477
|
+
preview.overrides.length > 0 && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
74430
74478
|
flexDirection: "column",
|
|
74431
74479
|
gap: 0,
|
|
74432
74480
|
children: [
|
|
74433
|
-
/* @__PURE__ */
|
|
74481
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74434
74482
|
bold: true,
|
|
74435
74483
|
children: "Environment overrides (not applied by the wizard):"
|
|
74436
74484
|
}, undefined, false, undefined, this),
|
|
74437
|
-
preview.overrides.map((o) => /* @__PURE__ */
|
|
74438
|
-
color: "
|
|
74485
|
+
preview.overrides.map((o) => /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74486
|
+
color: inkColor("warn"),
|
|
74439
74487
|
children: [
|
|
74440
74488
|
o.envKey,
|
|
74441
74489
|
" → ",
|
|
@@ -74446,19 +74494,19 @@ function SummaryScreen({ draft, dispatch }) {
|
|
|
74446
74494
|
}, o.envKey, true, undefined, this))
|
|
74447
74495
|
]
|
|
74448
74496
|
}, undefined, true, undefined, this),
|
|
74449
|
-
canApply ? /* @__PURE__ */
|
|
74497
|
+
canApply ? /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
74450
74498
|
flexDirection: "column",
|
|
74451
74499
|
gap: 0,
|
|
74452
74500
|
children: [
|
|
74453
|
-
/* @__PURE__ */
|
|
74501
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74454
74502
|
bold: true,
|
|
74455
74503
|
children: "Will apply:"
|
|
74456
74504
|
}, undefined, false, undefined, this),
|
|
74457
|
-
mutationRows(preview.mutations).map((row) => /* @__PURE__ */
|
|
74505
|
+
mutationRows(preview.mutations).map((row) => /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74458
74506
|
children: row.text
|
|
74459
74507
|
}, row.key, false, undefined, this)),
|
|
74460
|
-
preview.preserved.map((p) => /* @__PURE__ */
|
|
74461
|
-
color: "
|
|
74508
|
+
preview.preserved.map((p) => /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74509
|
+
color: inkColor("ok"),
|
|
74462
74510
|
children: [
|
|
74463
74511
|
"preserve ",
|
|
74464
74512
|
p,
|
|
@@ -74466,32 +74514,32 @@ function SummaryScreen({ draft, dispatch }) {
|
|
|
74466
74514
|
]
|
|
74467
74515
|
}, p, true, undefined, this))
|
|
74468
74516
|
]
|
|
74469
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */
|
|
74517
|
+
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
74470
74518
|
flexDirection: "column",
|
|
74471
74519
|
gap: 0,
|
|
74472
74520
|
children: [
|
|
74473
|
-
/* @__PURE__ */
|
|
74521
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74474
74522
|
bold: true,
|
|
74475
|
-
color: "
|
|
74523
|
+
color: inkColor("fail"),
|
|
74476
74524
|
children: "Apply blocked — malformed configuration:"
|
|
74477
74525
|
}, undefined, false, undefined, this),
|
|
74478
|
-
preview.blocked.map((b) => /* @__PURE__ */
|
|
74479
|
-
color: "
|
|
74526
|
+
preview.blocked.map((b) => /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74527
|
+
color: inkColor("fail"),
|
|
74480
74528
|
children: b
|
|
74481
74529
|
}, b, false, undefined, this)),
|
|
74482
|
-
/* @__PURE__ */
|
|
74530
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74483
74531
|
dimColor: true,
|
|
74484
74532
|
children: "Fix or remove the blocked file above, then return here. Esc Cancel."
|
|
74485
74533
|
}, undefined, false, undefined, this)
|
|
74486
74534
|
]
|
|
74487
74535
|
}, undefined, true, undefined, this),
|
|
74488
|
-
canApply && /* @__PURE__ */
|
|
74536
|
+
canApply && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(ConfirmInput, {
|
|
74489
74537
|
defaultChoice: "confirm",
|
|
74490
74538
|
submitOnEnter: false,
|
|
74491
74539
|
onConfirm: () => dispatch({ type: "apply" }),
|
|
74492
74540
|
onCancel: () => {}
|
|
74493
74541
|
}, undefined, false, undefined, this),
|
|
74494
|
-
/* @__PURE__ */
|
|
74542
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74495
74543
|
dimColor: true,
|
|
74496
74544
|
children: canApply ? "y to apply · b Back · Esc Cancel" : "b Back · Esc Cancel"
|
|
74497
74545
|
}, undefined, false, undefined, this)
|
|
@@ -74499,16 +74547,16 @@ function SummaryScreen({ draft, dispatch }) {
|
|
|
74499
74547
|
}, undefined, true, undefined, this);
|
|
74500
74548
|
}
|
|
74501
74549
|
function ExitScreen() {
|
|
74502
|
-
return /* @__PURE__ */
|
|
74550
|
+
return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
74503
74551
|
flexDirection: "column",
|
|
74504
74552
|
gap: 1,
|
|
74505
|
-
children: /* @__PURE__ */
|
|
74553
|
+
children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
74506
74554
|
dimColor: true,
|
|
74507
74555
|
children: "Exiting…"
|
|
74508
74556
|
}, undefined, false, undefined, this)
|
|
74509
74557
|
}, undefined, false, undefined, this);
|
|
74510
74558
|
}
|
|
74511
|
-
var
|
|
74559
|
+
var import_react70, jsx_dev_runtime8, lastProjectTarget = null, projectTargetFor = (base) => {
|
|
74512
74560
|
if (lastProjectTarget?.base !== base)
|
|
74513
74561
|
lastProjectTarget = { base, target: projectTarget(base) };
|
|
74514
74562
|
return lastProjectTarget.target;
|
|
@@ -74521,14 +74569,15 @@ var init_finish_screens = __esm(async () => {
|
|
|
74521
74569
|
init_logic();
|
|
74522
74570
|
init_wizard_state();
|
|
74523
74571
|
await __promiseAll([
|
|
74572
|
+
init_ink_style(),
|
|
74524
74573
|
init_build2(),
|
|
74525
74574
|
init_build3(),
|
|
74526
74575
|
init_select_list(),
|
|
74527
74576
|
init_sphere_spinner(),
|
|
74528
74577
|
init_options()
|
|
74529
74578
|
]);
|
|
74530
|
-
|
|
74531
|
-
|
|
74579
|
+
import_react70 = __toESM(require_react(), 1);
|
|
74580
|
+
jsx_dev_runtime8 = __toESM(require_jsx_dev_runtime(), 1);
|
|
74532
74581
|
BRANCH_POLICY_ACTIONS = [
|
|
74533
74582
|
{ label: "Accept defaults", value: "accept" },
|
|
74534
74583
|
{ label: "Edit integration", value: "integration" },
|
|
@@ -74546,32 +74595,32 @@ function WorkspaceCollectionEditor({
|
|
|
74546
74595
|
draft,
|
|
74547
74596
|
dispatch
|
|
74548
74597
|
}) {
|
|
74549
|
-
const [view, setView] =
|
|
74598
|
+
const [view, setView] = import_react71.useState({ mode: "main" });
|
|
74550
74599
|
const workspace = draft.workspaceDraft;
|
|
74551
74600
|
if (!workspace)
|
|
74552
|
-
return /* @__PURE__ */
|
|
74553
|
-
color: "
|
|
74601
|
+
return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
74602
|
+
color: inkColor("fail"),
|
|
74554
74603
|
children: "Workspace draft is unavailable."
|
|
74555
74604
|
}, undefined, false, undefined, this);
|
|
74556
74605
|
switch (view.mode) {
|
|
74557
74606
|
case "main":
|
|
74558
|
-
return /* @__PURE__ */
|
|
74607
|
+
return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(MainMenu, {
|
|
74559
74608
|
workspace,
|
|
74560
74609
|
dispatch,
|
|
74561
74610
|
setView
|
|
74562
74611
|
}, undefined, false, undefined, this);
|
|
74563
74612
|
case "menu":
|
|
74564
|
-
return view.kind === "profile" ? /* @__PURE__ */
|
|
74613
|
+
return view.kind === "profile" ? /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(ProfilesMenu, {
|
|
74565
74614
|
workspace,
|
|
74566
74615
|
dispatch,
|
|
74567
74616
|
setView
|
|
74568
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
|
74617
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(TracksMenu, {
|
|
74569
74618
|
workspace,
|
|
74570
74619
|
dispatch,
|
|
74571
74620
|
setView
|
|
74572
74621
|
}, undefined, false, undefined, this);
|
|
74573
74622
|
case "name":
|
|
74574
|
-
return /* @__PURE__ */
|
|
74623
|
+
return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(NameInput, {
|
|
74575
74624
|
collection: COLLECTIONS[view.kind],
|
|
74576
74625
|
workspace,
|
|
74577
74626
|
onCreate: (name) => {
|
|
@@ -74580,7 +74629,7 @@ function WorkspaceCollectionEditor({
|
|
|
74580
74629
|
}
|
|
74581
74630
|
}, undefined, false, undefined, this);
|
|
74582
74631
|
case "edit":
|
|
74583
|
-
return /* @__PURE__ */
|
|
74632
|
+
return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(EntryFields, {
|
|
74584
74633
|
collection: COLLECTIONS[view.kind],
|
|
74585
74634
|
workspace,
|
|
74586
74635
|
name: view.name,
|
|
@@ -74588,7 +74637,7 @@ function WorkspaceCollectionEditor({
|
|
|
74588
74637
|
onPick: (field) => setView({ ...view, mode: "value", field })
|
|
74589
74638
|
}, undefined, false, undefined, this);
|
|
74590
74639
|
case "value":
|
|
74591
|
-
return /* @__PURE__ */
|
|
74640
|
+
return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(EntryFieldValue, {
|
|
74592
74641
|
collection: COLLECTIONS[view.kind],
|
|
74593
74642
|
workspace,
|
|
74594
74643
|
name: view.name,
|
|
@@ -74601,22 +74650,22 @@ function WorkspaceCollectionEditor({
|
|
|
74601
74650
|
}
|
|
74602
74651
|
}
|
|
74603
74652
|
function MainMenu({ workspace, dispatch, setView }) {
|
|
74604
|
-
return /* @__PURE__ */
|
|
74653
|
+
return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
74605
74654
|
flexDirection: "column",
|
|
74606
74655
|
gap: 1,
|
|
74607
74656
|
children: [
|
|
74608
|
-
/* @__PURE__ */
|
|
74657
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
74609
74658
|
bold: true,
|
|
74610
74659
|
children: [
|
|
74611
74660
|
"Advanced workspace settings · ",
|
|
74612
74661
|
workspace.name
|
|
74613
74662
|
]
|
|
74614
74663
|
}, undefined, true, undefined, this),
|
|
74615
|
-
/* @__PURE__ */
|
|
74664
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
74616
74665
|
dimColor: true,
|
|
74617
74666
|
children: "Choose a setting to edit. Lists use comma-separated values; blank clears an override."
|
|
74618
74667
|
}, undefined, false, undefined, this),
|
|
74619
|
-
[...WORKSPACE_ADVANCED_FIELDS].map(({ label, value }) => /* @__PURE__ */
|
|
74668
|
+
[...WORKSPACE_ADVANCED_FIELDS].map(({ label, value }) => /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
74620
74669
|
dimColor: true,
|
|
74621
74670
|
children: [
|
|
74622
74671
|
label,
|
|
@@ -74624,7 +74673,7 @@ function MainMenu({ workspace, dispatch, setView }) {
|
|
|
74624
74673
|
workspaceEditorValue(workspace, value) || "inherited / unset"
|
|
74625
74674
|
]
|
|
74626
74675
|
}, value, true, undefined, this)),
|
|
74627
|
-
/* @__PURE__ */
|
|
74676
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(SelectList, {
|
|
74628
74677
|
options: MAIN_OPTIONS,
|
|
74629
74678
|
value: "save",
|
|
74630
74679
|
onSelect: (value) => {
|
|
@@ -74651,22 +74700,22 @@ function ProfilesMenu({ workspace, dispatch, setView }) {
|
|
|
74651
74700
|
{ label: "Create profile", value: "create" },
|
|
74652
74701
|
{ label: "Back to advanced settings", value: "back" }
|
|
74653
74702
|
];
|
|
74654
|
-
return /* @__PURE__ */
|
|
74703
|
+
return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
74655
74704
|
flexDirection: "column",
|
|
74656
74705
|
gap: 1,
|
|
74657
74706
|
children: [
|
|
74658
|
-
/* @__PURE__ */
|
|
74707
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
74659
74708
|
bold: true,
|
|
74660
74709
|
children: [
|
|
74661
74710
|
"Profiles · default: ",
|
|
74662
74711
|
workspace.defaultProfile ?? "none"
|
|
74663
74712
|
]
|
|
74664
74713
|
}, undefined, true, undefined, this),
|
|
74665
|
-
/* @__PURE__ */
|
|
74714
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
74666
74715
|
dimColor: true,
|
|
74667
74716
|
children: "Profiles can override branch rules and commit conventions."
|
|
74668
74717
|
}, undefined, false, undefined, this),
|
|
74669
|
-
/* @__PURE__ */
|
|
74718
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(SelectList, {
|
|
74670
74719
|
options,
|
|
74671
74720
|
value: "back",
|
|
74672
74721
|
onSelect: (value) => {
|
|
@@ -74695,19 +74744,19 @@ function TracksMenu({ workspace, dispatch, setView }) {
|
|
|
74695
74744
|
{ label: "Create release track", value: "create" },
|
|
74696
74745
|
{ label: "Back to advanced settings", value: "back" }
|
|
74697
74746
|
];
|
|
74698
|
-
return /* @__PURE__ */
|
|
74747
|
+
return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
74699
74748
|
flexDirection: "column",
|
|
74700
74749
|
gap: 1,
|
|
74701
74750
|
children: [
|
|
74702
|
-
/* @__PURE__ */
|
|
74751
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
74703
74752
|
bold: true,
|
|
74704
74753
|
children: "Named release tracks"
|
|
74705
74754
|
}, undefined, false, undefined, this),
|
|
74706
|
-
/* @__PURE__ */
|
|
74755
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
74707
74756
|
dimColor: true,
|
|
74708
74757
|
children: "Each track has its own branches, naming, version source, and checks."
|
|
74709
74758
|
}, undefined, false, undefined, this),
|
|
74710
|
-
/* @__PURE__ */
|
|
74759
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(SelectList, {
|
|
74711
74760
|
options,
|
|
74712
74761
|
value: "back",
|
|
74713
74762
|
onSelect: (value) => {
|
|
@@ -74730,20 +74779,20 @@ function NameInput({
|
|
|
74730
74779
|
workspace,
|
|
74731
74780
|
onCreate
|
|
74732
74781
|
}) {
|
|
74733
|
-
const [error, setError] =
|
|
74734
|
-
return /* @__PURE__ */
|
|
74782
|
+
const [error, setError] = import_react71.useState("");
|
|
74783
|
+
return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
74735
74784
|
flexDirection: "column",
|
|
74736
74785
|
gap: 1,
|
|
74737
74786
|
children: [
|
|
74738
|
-
/* @__PURE__ */
|
|
74787
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
74739
74788
|
bold: true,
|
|
74740
74789
|
children: collection.createTitle
|
|
74741
74790
|
}, undefined, false, undefined, this),
|
|
74742
|
-
/* @__PURE__ */
|
|
74791
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
74743
74792
|
dimColor: true,
|
|
74744
74793
|
children: collection.nameLabel
|
|
74745
74794
|
}, undefined, false, undefined, this),
|
|
74746
|
-
/* @__PURE__ */
|
|
74795
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(StableTextInput, {
|
|
74747
74796
|
onSubmit: (value) => {
|
|
74748
74797
|
const next = value.trim();
|
|
74749
74798
|
if (!next)
|
|
@@ -74754,11 +74803,11 @@ function NameInput({
|
|
|
74754
74803
|
onCreate(next);
|
|
74755
74804
|
}
|
|
74756
74805
|
}, undefined, false, undefined, this),
|
|
74757
|
-
error && /* @__PURE__ */
|
|
74758
|
-
color: "
|
|
74806
|
+
error && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
74807
|
+
color: inkColor("fail"),
|
|
74759
74808
|
children: error
|
|
74760
74809
|
}, undefined, false, undefined, this),
|
|
74761
|
-
/* @__PURE__ */
|
|
74810
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
74762
74811
|
dimColor: true,
|
|
74763
74812
|
children: "Enter to create · Esc Back"
|
|
74764
74813
|
}, undefined, false, undefined, this)
|
|
@@ -74773,11 +74822,11 @@ function EntryFields({
|
|
|
74773
74822
|
onPick
|
|
74774
74823
|
}) {
|
|
74775
74824
|
const options = [...collection.fields, { label: "Done editing", value: "done" }];
|
|
74776
|
-
return /* @__PURE__ */
|
|
74825
|
+
return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
74777
74826
|
flexDirection: "column",
|
|
74778
74827
|
gap: 1,
|
|
74779
74828
|
children: [
|
|
74780
|
-
/* @__PURE__ */
|
|
74829
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
74781
74830
|
bold: true,
|
|
74782
74831
|
children: [
|
|
74783
74832
|
collection.editTitle,
|
|
@@ -74787,7 +74836,7 @@ function EntryFields({
|
|
|
74787
74836
|
}, undefined, true, undefined, this),
|
|
74788
74837
|
collection.fields.map((item) => {
|
|
74789
74838
|
const value = collection.valueOf(workspace, name, item.value);
|
|
74790
|
-
return /* @__PURE__ */
|
|
74839
|
+
return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
74791
74840
|
dimColor: true,
|
|
74792
74841
|
children: [
|
|
74793
74842
|
item.label,
|
|
@@ -74796,7 +74845,7 @@ function EntryFields({
|
|
|
74796
74845
|
]
|
|
74797
74846
|
}, item.value, true, undefined, this);
|
|
74798
74847
|
}),
|
|
74799
|
-
/* @__PURE__ */
|
|
74848
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(SelectList, {
|
|
74800
74849
|
options,
|
|
74801
74850
|
value: "done",
|
|
74802
74851
|
onSelect: (value) => value === "done" ? onDone() : onPick(value)
|
|
@@ -74814,11 +74863,11 @@ function EntryFieldValue({
|
|
|
74814
74863
|
const item = collection.fields.find((entry) => entry.value === field);
|
|
74815
74864
|
const choices = enumFieldOptions(field);
|
|
74816
74865
|
const current = collection.valueOf(workspace, name, field);
|
|
74817
|
-
return /* @__PURE__ */
|
|
74866
|
+
return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
74818
74867
|
flexDirection: "column",
|
|
74819
74868
|
gap: 1,
|
|
74820
74869
|
children: [
|
|
74821
|
-
/* @__PURE__ */
|
|
74870
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
74822
74871
|
bold: true,
|
|
74823
74872
|
children: [
|
|
74824
74873
|
collection.valueTitle,
|
|
@@ -74828,32 +74877,32 @@ function EntryFieldValue({
|
|
|
74828
74877
|
item?.label
|
|
74829
74878
|
]
|
|
74830
74879
|
}, undefined, true, undefined, this),
|
|
74831
|
-
choices ? /* @__PURE__ */
|
|
74880
|
+
choices ? /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(SelectList, {
|
|
74832
74881
|
options: choices,
|
|
74833
74882
|
value: current ?? choices[0].value,
|
|
74834
74883
|
onSelect: onSave
|
|
74835
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
|
74884
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(StableTextInput, {
|
|
74836
74885
|
defaultValue: current ?? "",
|
|
74837
74886
|
onSubmit: onSave
|
|
74838
74887
|
}, undefined, false, undefined, this),
|
|
74839
|
-
/* @__PURE__ */
|
|
74888
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
74840
74889
|
dimColor: true,
|
|
74841
74890
|
children: collection.valueFooter
|
|
74842
74891
|
}, undefined, false, undefined, this)
|
|
74843
74892
|
]
|
|
74844
74893
|
}, undefined, true, undefined, this);
|
|
74845
74894
|
}
|
|
74846
|
-
var
|
|
74895
|
+
var import_react71, jsx_dev_runtime9, COLLECTIONS, MAIN_OPTIONS;
|
|
74847
74896
|
var init_workspace_editor = __esm(async () => {
|
|
74848
74897
|
init_logic();
|
|
74849
74898
|
await __promiseAll([
|
|
74899
|
+
init_ink_style(),
|
|
74850
74900
|
init_build2(),
|
|
74851
|
-
init_build3(),
|
|
74852
74901
|
init_select_list(),
|
|
74853
74902
|
init_options()
|
|
74854
74903
|
]);
|
|
74855
|
-
|
|
74856
|
-
|
|
74904
|
+
import_react71 = __toESM(require_react(), 1);
|
|
74905
|
+
jsx_dev_runtime9 = __toESM(require_jsx_dev_runtime(), 1);
|
|
74857
74906
|
COLLECTIONS = {
|
|
74858
74907
|
profile: {
|
|
74859
74908
|
fields: PROFILE_FIELDS,
|
|
@@ -74913,14 +74962,14 @@ function Wizard({
|
|
|
74913
74962
|
onExit,
|
|
74914
74963
|
detection = emptyDetection()
|
|
74915
74964
|
}) {
|
|
74916
|
-
const [draft, dispatch] =
|
|
74965
|
+
const [draft, dispatch] = import_react72.useReducer(reducer3, detection, (found) => {
|
|
74917
74966
|
const initial = createInitialDraft();
|
|
74918
74967
|
const platforms = preselectedPlatforms(found);
|
|
74919
74968
|
return platforms.length > 0 ? { ...initial, values: { ...initial.values, platforms } } : initial;
|
|
74920
74969
|
});
|
|
74921
|
-
const exitedRef =
|
|
74922
|
-
const searchRef =
|
|
74923
|
-
|
|
74970
|
+
const exitedRef = import_react72.useRef(false);
|
|
74971
|
+
const searchRef = import_react72.useRef({ q: "", typed: false });
|
|
74972
|
+
import_react72.useEffect(() => {
|
|
74924
74973
|
searchRef.current = { q: "", typed: false };
|
|
74925
74974
|
}, [draft.screen]);
|
|
74926
74975
|
use_input_default((input, key) => {
|
|
@@ -74938,22 +74987,22 @@ function Wizard({
|
|
|
74938
74987
|
dispatch({ type: "back" });
|
|
74939
74988
|
}
|
|
74940
74989
|
});
|
|
74941
|
-
|
|
74990
|
+
import_react72.useEffect(() => {
|
|
74942
74991
|
if (draft.screen === "exit" && !exitedRef.current) {
|
|
74943
74992
|
exitedRef.current = true;
|
|
74944
74993
|
onExit(!draft.cancelled, draft.values);
|
|
74945
74994
|
}
|
|
74946
74995
|
}, [draft.screen, draft.cancelled, draft.values, onExit]);
|
|
74947
|
-
return /* @__PURE__ */
|
|
74996
|
+
return /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
|
|
74948
74997
|
flexDirection: "column",
|
|
74949
74998
|
gap: 1,
|
|
74950
74999
|
children: [
|
|
74951
|
-
/* @__PURE__ */
|
|
75000
|
+
/* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
|
|
74952
75001
|
bold: true,
|
|
74953
|
-
color: "
|
|
75002
|
+
color: inkColor("accent"),
|
|
74954
75003
|
children: "workit — workflow rails for agentic coding"
|
|
74955
75004
|
}, undefined, false, undefined, this),
|
|
74956
|
-
/* @__PURE__ */
|
|
75005
|
+
/* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Screen, {
|
|
74957
75006
|
draft,
|
|
74958
75007
|
dispatch,
|
|
74959
75008
|
detection,
|
|
@@ -74969,15 +75018,16 @@ function Wizard({
|
|
|
74969
75018
|
}
|
|
74970
75019
|
function Screen(props) {
|
|
74971
75020
|
const Body = SCREENS[props.draft.screen];
|
|
74972
|
-
return /* @__PURE__ */
|
|
75021
|
+
return /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Body, {
|
|
74973
75022
|
...props
|
|
74974
75023
|
}, undefined, false, undefined, this);
|
|
74975
75024
|
}
|
|
74976
|
-
var
|
|
75025
|
+
var import_react72, jsx_dev_runtime10, TEXT_SCREENS, SEARCH_SCREENS, SCREENS;
|
|
74977
75026
|
var init_steps = __esm(async () => {
|
|
74978
75027
|
init_wizard_state();
|
|
74979
75028
|
init_detect_hosts();
|
|
74980
75029
|
await __promiseAll([
|
|
75030
|
+
init_ink_style(),
|
|
74981
75031
|
init_build2(),
|
|
74982
75032
|
init_options(),
|
|
74983
75033
|
init_global_screens(),
|
|
@@ -74987,8 +75037,8 @@ var init_steps = __esm(async () => {
|
|
|
74987
75037
|
init_options(),
|
|
74988
75038
|
init_select_list()
|
|
74989
75039
|
]);
|
|
74990
|
-
|
|
74991
|
-
|
|
75040
|
+
import_react72 = __toESM(require_react(), 1);
|
|
75041
|
+
jsx_dev_runtime10 = __toESM(require_jsx_dev_runtime(), 1);
|
|
74992
75042
|
TEXT_SCREENS = new Set([
|
|
74993
75043
|
"localeOther",
|
|
74994
75044
|
"branchAllowed",
|
|
@@ -75224,6 +75274,24 @@ const timer = setInterval(() => {
|
|
|
75224
75274
|
NOOP_STEP = { label: () => {}, end: () => {} };
|
|
75225
75275
|
});
|
|
75226
75276
|
|
|
75277
|
+
// packages/workit-cli/src/steps/ink-signals.ts
|
|
75278
|
+
function snapshotSignalListeners() {
|
|
75279
|
+
return new Map(SIGNALS.map((signal) => [signal, new Set(process.listeners(signal))]));
|
|
75280
|
+
}
|
|
75281
|
+
function dropSignalListenersAddedSince(snapshot) {
|
|
75282
|
+
for (const signal of SIGNALS) {
|
|
75283
|
+
const known = snapshot.get(signal);
|
|
75284
|
+
for (const listener of process.listeners(signal)) {
|
|
75285
|
+
if (!known?.has(listener))
|
|
75286
|
+
process.off(signal, listener);
|
|
75287
|
+
}
|
|
75288
|
+
}
|
|
75289
|
+
}
|
|
75290
|
+
var SIGNALS;
|
|
75291
|
+
var init_ink_signals = __esm(() => {
|
|
75292
|
+
SIGNALS = ["SIGINT", "SIGTERM", "SIGHUP"];
|
|
75293
|
+
});
|
|
75294
|
+
|
|
75227
75295
|
// packages/workit-cli/src/index.tsx
|
|
75228
75296
|
function printApplySummary(result, style) {
|
|
75229
75297
|
for (const entry of result.entries) {
|
|
@@ -75264,7 +75332,8 @@ async function runInit() {
|
|
|
75264
75332
|
const exits = [];
|
|
75265
75333
|
let done = () => {};
|
|
75266
75334
|
process.stdout.write("\x1B[2J\x1B[H");
|
|
75267
|
-
const
|
|
75335
|
+
const signals = snapshotSignalListeners();
|
|
75336
|
+
const instance = render_default(/* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Wizard, {
|
|
75268
75337
|
detection: progress.runSync("Detecting installed hosts", () => detectHosts()),
|
|
75269
75338
|
onExit: (complete, values) => {
|
|
75270
75339
|
exits.push({ complete, values });
|
|
@@ -75276,6 +75345,7 @@ async function runInit() {
|
|
|
75276
75345
|
await instance.waitUntilExit();
|
|
75277
75346
|
} finally {
|
|
75278
75347
|
instance.unmount();
|
|
75348
|
+
dropSignalListenersAddedSince(signals);
|
|
75279
75349
|
}
|
|
75280
75350
|
process.stdout.write("\x1B[2J\x1B[H");
|
|
75281
75351
|
const exit = exits[0];
|
|
@@ -75310,22 +75380,22 @@ async function runInit() {
|
|
|
75310
75380
|
process.exit(exit !== undefined && exit.complete ? 0 : 1);
|
|
75311
75381
|
}
|
|
75312
75382
|
function UninstallWizard({ onExit }) {
|
|
75313
|
-
const [hosts, setHosts] =
|
|
75314
|
-
const [plan, setPlan] =
|
|
75383
|
+
const [hosts, setHosts] = import_react73.useState([]);
|
|
75384
|
+
const [plan, setPlan] = import_react73.useState(null);
|
|
75315
75385
|
if (!plan) {
|
|
75316
|
-
return /* @__PURE__ */
|
|
75386
|
+
return /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
|
|
75317
75387
|
flexDirection: "column",
|
|
75318
75388
|
gap: 1,
|
|
75319
75389
|
children: [
|
|
75320
|
-
/* @__PURE__ */
|
|
75390
|
+
/* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
|
|
75321
75391
|
bold: true,
|
|
75322
75392
|
children: "Uninstall workit"
|
|
75323
75393
|
}, undefined, false, undefined, this),
|
|
75324
|
-
/* @__PURE__ */
|
|
75394
|
+
/* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
|
|
75325
75395
|
dimColor: true,
|
|
75326
75396
|
children: "Select the hosts to remove workit from (space to toggle):"
|
|
75327
75397
|
}, undefined, false, undefined, this),
|
|
75328
|
-
/* @__PURE__ */
|
|
75398
|
+
/* @__PURE__ */ jsx_dev_runtime11.jsxDEV(MultiSelect, {
|
|
75329
75399
|
options: UNINSTALL_HOST_OPTIONS,
|
|
75330
75400
|
defaultValue: [],
|
|
75331
75401
|
onChange: (values) => setHosts(values),
|
|
@@ -75334,7 +75404,7 @@ function UninstallWizard({ onExit }) {
|
|
|
75334
75404
|
setPlan(planUninstall({ env: process.env }));
|
|
75335
75405
|
}
|
|
75336
75406
|
}, undefined, false, undefined, this),
|
|
75337
|
-
/* @__PURE__ */
|
|
75407
|
+
/* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
|
|
75338
75408
|
dimColor: true,
|
|
75339
75409
|
children: "Enter to continue"
|
|
75340
75410
|
}, undefined, false, undefined, this)
|
|
@@ -75344,17 +75414,17 @@ function UninstallWizard({ onExit }) {
|
|
|
75344
75414
|
const chosen = new Set(hosts);
|
|
75345
75415
|
const selected = plan.hosts.filter((h) => chosen.has(h.host));
|
|
75346
75416
|
const reviewed = { hosts: selected };
|
|
75347
|
-
return /* @__PURE__ */
|
|
75417
|
+
return /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
|
|
75348
75418
|
flexDirection: "column",
|
|
75349
75419
|
gap: 1,
|
|
75350
75420
|
children: [
|
|
75351
|
-
/* @__PURE__ */
|
|
75421
|
+
/* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
|
|
75352
75422
|
bold: true,
|
|
75353
75423
|
children: "Uninstall workit — review"
|
|
75354
75424
|
}, undefined, false, undefined, this),
|
|
75355
|
-
selected.every((h) => h.actions.length === 0) ? /* @__PURE__ */
|
|
75425
|
+
selected.every((h) => h.actions.length === 0) ? /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
|
|
75356
75426
|
children: "No workit registrations found for the selected hosts."
|
|
75357
|
-
}, undefined, false, undefined, this) : selected.flatMap((h) => h.actions.map((a) => /* @__PURE__ */
|
|
75427
|
+
}, undefined, false, undefined, this) : selected.flatMap((h) => h.actions.map((a) => /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
|
|
75358
75428
|
children: [
|
|
75359
75429
|
"• [",
|
|
75360
75430
|
h.host,
|
|
@@ -75364,10 +75434,10 @@ function UninstallWizard({ onExit }) {
|
|
|
75364
75434
|
a.path
|
|
75365
75435
|
]
|
|
75366
75436
|
}, `${h.host}:${a.path}`, true, undefined, this))),
|
|
75367
|
-
/* @__PURE__ */
|
|
75437
|
+
/* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
|
|
75368
75438
|
children: "Apply uninstall? (y/N)"
|
|
75369
75439
|
}, undefined, false, undefined, this),
|
|
75370
|
-
/* @__PURE__ */
|
|
75440
|
+
/* @__PURE__ */ jsx_dev_runtime11.jsxDEV(ConfirmInput, {
|
|
75371
75441
|
onConfirm: () => onExit({ confirmed: true, hosts, plan: reviewed }),
|
|
75372
75442
|
onCancel: () => onExit({ confirmed: false, hosts, plan: reviewed })
|
|
75373
75443
|
}, undefined, false, undefined, this)
|
|
@@ -75382,7 +75452,8 @@ async function runUninstall() {
|
|
|
75382
75452
|
}
|
|
75383
75453
|
const outcomes = [];
|
|
75384
75454
|
let done = () => {};
|
|
75385
|
-
const
|
|
75455
|
+
const signals = snapshotSignalListeners();
|
|
75456
|
+
const instance = render_default(/* @__PURE__ */ jsx_dev_runtime11.jsxDEV(UninstallWizard, {
|
|
75386
75457
|
onExit: (outcome) => {
|
|
75387
75458
|
outcomes.push(outcome);
|
|
75388
75459
|
done();
|
|
@@ -75393,6 +75464,7 @@ async function runUninstall() {
|
|
|
75393
75464
|
await instance.waitUntilExit();
|
|
75394
75465
|
} finally {
|
|
75395
75466
|
instance.unmount();
|
|
75467
|
+
dropSignalListenersAddedSince(signals);
|
|
75396
75468
|
}
|
|
75397
75469
|
const outcome = outcomes[0];
|
|
75398
75470
|
if (!outcome || !outcome.confirmed || !outcome.plan) {
|
|
@@ -75411,7 +75483,7 @@ async function runUninstall() {
|
|
|
75411
75483
|
console.log(result.ok ? "Uninstall complete." : "Uninstall finished with problems.");
|
|
75412
75484
|
process.exit(result.ok ? 0 : 1);
|
|
75413
75485
|
}
|
|
75414
|
-
var
|
|
75486
|
+
var import_react73, jsx_dev_runtime11, stdoutStyle = () => createStyle({ stream: process.stdout, env: process.env }), initProgress = () => createProgress({ stream: process.stderr, env: process.env }), statusPaint = (style, status) => status === "Failed" ? style.fail(status) : status === "Skipped" ? style.warn(status) : style.ok(status), UNINSTALL_HOST_OPTIONS;
|
|
75415
75487
|
var init_src2 = __esm(async () => {
|
|
75416
75488
|
init_wizard_state();
|
|
75417
75489
|
init_boundary();
|
|
@@ -75423,13 +75495,14 @@ var init_src2 = __esm(async () => {
|
|
|
75423
75495
|
init_diagnostics();
|
|
75424
75496
|
init_progress();
|
|
75425
75497
|
init_style();
|
|
75498
|
+
init_ink_signals();
|
|
75426
75499
|
await __promiseAll([
|
|
75427
75500
|
init_build2(),
|
|
75428
75501
|
init_build3(),
|
|
75429
75502
|
init_steps()
|
|
75430
75503
|
]);
|
|
75431
|
-
|
|
75432
|
-
|
|
75504
|
+
import_react73 = __toESM(require_react(), 1);
|
|
75505
|
+
jsx_dev_runtime11 = __toESM(require_jsx_dev_runtime(), 1);
|
|
75433
75506
|
UNINSTALL_HOST_OPTIONS = [
|
|
75434
75507
|
{ label: "OpenCode", value: "opencode" },
|
|
75435
75508
|
{ label: "Cursor", value: "cursor" },
|
|
@@ -80668,6 +80741,13 @@ function sharedBranchContaining(cwd, sha, branch) {
|
|
|
80668
80741
|
return name;
|
|
80669
80742
|
return null;
|
|
80670
80743
|
}
|
|
80744
|
+
function resyncCommittedPaths(cwd, paths) {
|
|
80745
|
+
const names = (...args) => new Set(nulList(git5(cwd, ["diff", "--name-only", "-z", ...args, "HEAD", "--", ...paths]).stdout));
|
|
80746
|
+
const worktreeDiffers = names();
|
|
80747
|
+
const stale = [...names("--cached")].filter((file) => !worktreeDiffers.has(file));
|
|
80748
|
+
if (stale.length)
|
|
80749
|
+
git5(cwd, ["reset", "-q", "HEAD", "--", ...stale.map((file) => `:(top,literal)${file}`)]);
|
|
80750
|
+
}
|
|
80671
80751
|
function gitCommit(cwd, input) {
|
|
80672
80752
|
const given = input.message?.trim() ?? "";
|
|
80673
80753
|
if (!given && !input.amend)
|
|
@@ -80795,6 +80875,8 @@ ${refusal}` : ""}`);
|
|
|
80795
80875
|
const sha = headSha(cwd);
|
|
80796
80876
|
if (!sha)
|
|
80797
80877
|
return failure3("failed", "the commit did not resolve");
|
|
80878
|
+
if (paths.length)
|
|
80879
|
+
resyncCommittedPaths(cwd, paths);
|
|
80798
80880
|
const merge = git5(cwd, ["rev-parse", "-q", "--verify", `${sha}^2`]).ok;
|
|
80799
80881
|
const files = nulList(git5(cwd, merge ? ["diff", "--name-only", "-z", `${sha}^1`, sha] : ["diff-tree", "--root", "--no-commit-id", "--name-only", "-r", "-z", sha]).stdout);
|
|
80800
80882
|
const leftDirty = dirtEntries(cwd).length;
|