@brainervirus/workit-claude-code 7.7.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/dist/workit.js +118 -89
- package/package.json +3 -3
- package/skills/ship/SKILL.md +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "workit",
|
|
3
3
|
"displayName": "Workit",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "8.0.0",
|
|
5
5
|
"description": "Workflow rails for agentic coding: task context on every session, branch policy on shell commands, and the workit method skills",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "BrainerVirus"
|
package/dist/workit.js
CHANGED
|
@@ -65,7 +65,7 @@ var package_default;
|
|
|
65
65
|
var init_package = __esm(() => {
|
|
66
66
|
package_default = {
|
|
67
67
|
name: "@brainervirus/workit-cli",
|
|
68
|
-
version: "
|
|
68
|
+
version: "8.0.0",
|
|
69
69
|
private: false,
|
|
70
70
|
description: "Workit CLI — setup wizard, doctor, and task control for agentic coding workflows",
|
|
71
71
|
keywords: [
|
|
@@ -103,9 +103,9 @@ var init_package = __esm(() => {
|
|
|
103
103
|
},
|
|
104
104
|
dependencies: {
|
|
105
105
|
"@babel/parser": "7.29.9",
|
|
106
|
-
"@brainervirus/workit-core": "^
|
|
107
|
-
"@brainervirus/workit-cursor": "^
|
|
108
|
-
"@brainervirus/workit-opencode": "^
|
|
106
|
+
"@brainervirus/workit-core": "^8.0.0",
|
|
107
|
+
"@brainervirus/workit-cursor": "^8.0.0",
|
|
108
|
+
"@brainervirus/workit-opencode": "^8.0.0",
|
|
109
109
|
"@inkjs/ui": "2.0.0",
|
|
110
110
|
ink: "7.1.1",
|
|
111
111
|
react: "19.2.8"
|
|
@@ -165,7 +165,7 @@ var init_output = __esm(() => {
|
|
|
165
165
|
};
|
|
166
166
|
});
|
|
167
167
|
|
|
168
|
-
// packages/workit-core/src/check-config.ts
|
|
168
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/check-config.ts
|
|
169
169
|
import { spawnSync } from "node:child_process";
|
|
170
170
|
import fs from "node:fs";
|
|
171
171
|
import path from "node:path";
|
|
@@ -7974,7 +7974,7 @@ var init_zod = __esm(() => {
|
|
|
7974
7974
|
init_external();
|
|
7975
7975
|
});
|
|
7976
7976
|
|
|
7977
|
-
// packages/workit-core/src/core/task-contract.ts
|
|
7977
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/task-contract.ts
|
|
7978
7978
|
import { createHash, randomUUID } from "node:crypto";
|
|
7979
7979
|
function parseOperation(family, input) {
|
|
7980
7980
|
if (typeof input === "object" && input !== null && "schemaVersion" in input && input.schemaVersion !== SCHEMA_VERSION)
|
|
@@ -8812,7 +8812,7 @@ var init_task_contract = __esm(() => {
|
|
|
8812
8812
|
compiledOperationSchemas = Object.fromEntries(OPERATION_FAMILIES.map((family) => [family, compile(operationSchemas[family])]));
|
|
8813
8813
|
});
|
|
8814
8814
|
|
|
8815
|
-
// packages/workit-core/src/core/operation-input.ts
|
|
8815
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/operation-input.ts
|
|
8816
8816
|
function normalizeOperationInput(family, input, host) {
|
|
8817
8817
|
if (!isObject2(input))
|
|
8818
8818
|
return input;
|
|
@@ -9149,7 +9149,7 @@ var init_operation_input = __esm(() => {
|
|
|
9149
9149
|
]);
|
|
9150
9150
|
});
|
|
9151
9151
|
|
|
9152
|
-
// packages/workit-core/src/core/policy/judgment.ts
|
|
9152
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/policy/judgment.ts
|
|
9153
9153
|
function normalizeJudgment(raw, previous) {
|
|
9154
9154
|
const input = isObject3(raw) ? raw : {};
|
|
9155
9155
|
const legacy = Object.keys(input).some((key) => LEGACY_KEYS.has(key));
|
|
@@ -9914,7 +9914,7 @@ var init_file_lock = __esm(() => {
|
|
|
9914
9914
|
init_file_lock_sync();
|
|
9915
9915
|
});
|
|
9916
9916
|
|
|
9917
|
-
// packages/workit-core/src/core/package-root.ts
|
|
9917
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/package-root.ts
|
|
9918
9918
|
import { existsSync } from "node:fs";
|
|
9919
9919
|
import path4 from "node:path";
|
|
9920
9920
|
import { fileURLToPath } from "node:url";
|
|
@@ -9933,7 +9933,7 @@ var packageRoot = () => {
|
|
|
9933
9933
|
};
|
|
9934
9934
|
var init_package_root = () => {};
|
|
9935
9935
|
|
|
9936
|
-
// packages/workit-core/src/store/paths.ts
|
|
9936
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/store/paths.ts
|
|
9937
9937
|
import { spawnSync as spawnSync2 } from "node:child_process";
|
|
9938
9938
|
import { createHash as createHash2 } from "node:crypto";
|
|
9939
9939
|
import fs5 from "node:fs";
|
|
@@ -10209,7 +10209,7 @@ var init_paths = __esm(() => {
|
|
|
10209
10209
|
];
|
|
10210
10210
|
});
|
|
10211
10211
|
|
|
10212
|
-
// packages/workit-core/src/core/store-lock.ts
|
|
10212
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/store-lock.ts
|
|
10213
10213
|
import { spawnSync as spawnSync3 } from "node:child_process";
|
|
10214
10214
|
import fs6 from "node:fs";
|
|
10215
10215
|
import { hostname } from "node:os";
|
|
@@ -10401,7 +10401,7 @@ var init_store_lock = __esm(() => {
|
|
|
10401
10401
|
FOREIGN_LOCK_TTL_MS = 10 * 60000;
|
|
10402
10402
|
});
|
|
10403
10403
|
|
|
10404
|
-
// packages/workit-core/src/store/event-log.ts
|
|
10404
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/store/event-log.ts
|
|
10405
10405
|
import { randomUUID as randomUUID2 } from "node:crypto";
|
|
10406
10406
|
import fs7 from "node:fs";
|
|
10407
10407
|
import path7 from "node:path";
|
|
@@ -10556,7 +10556,7 @@ var init_event_log = __esm(() => {
|
|
|
10556
10556
|
TRANSIENT_WINDOWS_CODES = new Set(["EPERM", "EACCES", "EBUSY"]);
|
|
10557
10557
|
});
|
|
10558
10558
|
|
|
10559
|
-
// packages/workit-core/src/store/patch.ts
|
|
10559
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/store/patch.ts
|
|
10560
10560
|
function diff(before, after, path = []) {
|
|
10561
10561
|
if (equal(before, after))
|
|
10562
10562
|
return [];
|
|
@@ -10662,7 +10662,7 @@ var isPlainObject2 = (value) => typeof value === "object" && value !== null && !
|
|
|
10662
10662
|
return false;
|
|
10663
10663
|
});
|
|
10664
10664
|
|
|
10665
|
-
// packages/workit-core/src/store/reduce.ts
|
|
10665
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/store/reduce.ts
|
|
10666
10666
|
import { createHash as createHash3 } from "node:crypto";
|
|
10667
10667
|
function reduce(state, event, blobs) {
|
|
10668
10668
|
const data = event.data;
|
|
@@ -10788,7 +10788,7 @@ var init_reduce = __esm(() => {
|
|
|
10788
10788
|
]);
|
|
10789
10789
|
});
|
|
10790
10790
|
|
|
10791
|
-
// packages/workit-core/src/store/notes.ts
|
|
10791
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/store/notes.ts
|
|
10792
10792
|
var SLOT, reportMigration = (report) => {
|
|
10793
10793
|
try {
|
|
10794
10794
|
const reporter = globalThis[SLOT];
|
|
@@ -10800,7 +10800,7 @@ var init_notes = __esm(() => {
|
|
|
10800
10800
|
SLOT = Symbol.for("workit.migrationReporter");
|
|
10801
10801
|
});
|
|
10802
10802
|
|
|
10803
|
-
// packages/workit-core/src/core/task-store.ts
|
|
10803
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/task-store.ts
|
|
10804
10804
|
import { createHash as createHash4, randomUUID as randomUUID3 } from "node:crypto";
|
|
10805
10805
|
import * as fs8 from "node:fs";
|
|
10806
10806
|
import path8 from "node:path";
|
|
@@ -12427,13 +12427,13 @@ var init_task_store = __esm(() => {
|
|
|
12427
12427
|
heldInProcess = new Map;
|
|
12428
12428
|
});
|
|
12429
12429
|
|
|
12430
|
-
// packages/workit-core/src/core/workers.ts
|
|
12430
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/workers.ts
|
|
12431
12431
|
var UNCERTAIN_WORKER_STATES, isUncertainWorker = (state) => UNCERTAIN_WORKER_STATES.includes(state), workerBlocksTransition = (transition, state) => transition === "pause" ? false : isUncertainWorker(state);
|
|
12432
12432
|
var init_workers = __esm(() => {
|
|
12433
12433
|
UNCERTAIN_WORKER_STATES = ["dispatching", "running", "cancelling", "unknown"];
|
|
12434
12434
|
});
|
|
12435
12435
|
|
|
12436
|
-
// packages/workit-core/src/git/rev.ts
|
|
12436
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/git/rev.ts
|
|
12437
12437
|
import { spawnSync as spawnSync4 } from "node:child_process";
|
|
12438
12438
|
import { createHash as createHash5 } from "node:crypto";
|
|
12439
12439
|
import fs9 from "node:fs";
|
|
@@ -12964,7 +12964,7 @@ var init_rev = __esm(() => {
|
|
|
12964
12964
|
};
|
|
12965
12965
|
});
|
|
12966
12966
|
|
|
12967
|
-
// packages/workit-core/src/ledger.ts
|
|
12967
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/ledger.ts
|
|
12968
12968
|
import { spawnSync as spawnSync5 } from "node:child_process";
|
|
12969
12969
|
import { createHash as createHash6, randomBytes as randomBytes2 } from "node:crypto";
|
|
12970
12970
|
import fs10 from "node:fs";
|
|
@@ -13914,7 +13914,7 @@ var init_ledger = __esm(() => {
|
|
|
13914
13914
|
OBSERVED_ONLY = new Set(["check", ...PR_ROW_TYPES]);
|
|
13915
13915
|
});
|
|
13916
13916
|
|
|
13917
|
-
// packages/workit-core/src/core/policy/derive.ts
|
|
13917
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/policy/derive.ts
|
|
13918
13918
|
import { existsSync as existsSync3 } from "node:fs";
|
|
13919
13919
|
import path11 from "node:path";
|
|
13920
13920
|
function deriveRequirements(judgment, scope, constraints, verification = "self") {
|
|
@@ -14102,7 +14102,7 @@ var init_derive = __esm(() => {
|
|
|
14102
14102
|
};
|
|
14103
14103
|
});
|
|
14104
14104
|
|
|
14105
|
-
// packages/workit-core/src/core/task-evaluation.ts
|
|
14105
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/task-evaluation.ts
|
|
14106
14106
|
import { createHash as createHash7 } from "node:crypto";
|
|
14107
14107
|
import * as fs11 from "node:fs";
|
|
14108
14108
|
import { spawnSync as spawnSync6 } from "node:child_process";
|
|
@@ -14750,7 +14750,7 @@ var init_task_evaluation = __esm(() => {
|
|
|
14750
14750
|
scopeCovers2 = scopeCovers;
|
|
14751
14751
|
});
|
|
14752
14752
|
|
|
14753
|
-
// packages/workit-core/src/core/methods.ts
|
|
14753
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/methods.ts
|
|
14754
14754
|
function selectMethods(policy, capabilities) {
|
|
14755
14755
|
return Object.entries(METHODS).flatMap(([id, definition]) => {
|
|
14756
14756
|
const requirements = policy.requirements.filter((requirement) => methodMatches(definition, requirement));
|
|
@@ -14797,7 +14797,7 @@ var init_methods = __esm(() => {
|
|
|
14797
14797
|
};
|
|
14798
14798
|
});
|
|
14799
14799
|
|
|
14800
|
-
// packages/workit-core/src/core/task-context.ts
|
|
14800
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/task-context.ts
|
|
14801
14801
|
function reconcileResume(view, observations = []) {
|
|
14802
14802
|
if (observations.length > 0)
|
|
14803
14803
|
return failure2("permission_denied", "worker observations require native host verification");
|
|
@@ -14910,7 +14910,7 @@ var init_task_context = __esm(() => {
|
|
|
14910
14910
|
privateKey = /-----BEGIN [^-]*PRIVATE KEY-----[\s\S]*?-----END [^-]*PRIVATE KEY-----/gi;
|
|
14911
14911
|
});
|
|
14912
14912
|
|
|
14913
|
-
// packages/workit-core/src/core/commit-flavors.ts
|
|
14913
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/commit-flavors.ts
|
|
14914
14914
|
var CONVENTIONAL_RE, TICKET_RE, GITMOJI_RE, matchCommitFlavor = (message, flavor, pattern) => {
|
|
14915
14915
|
const subject = message.split(`
|
|
14916
14916
|
`, 1)[0] ?? "";
|
|
@@ -14961,10 +14961,10 @@ var init_commit_flavors = __esm(() => {
|
|
|
14961
14961
|
DETECTABLE = ["conventional", "gitmoji", "ticket-prefix"];
|
|
14962
14962
|
});
|
|
14963
14963
|
|
|
14964
|
-
// packages/workit-core/src/core/git.ts
|
|
14964
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/git.ts
|
|
14965
14965
|
var init_git = () => {};
|
|
14966
14966
|
|
|
14967
|
-
// packages/workit-core/src/core/boundary.ts
|
|
14967
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/boundary.ts
|
|
14968
14968
|
var EVENT, errorDetail = (err) => {
|
|
14969
14969
|
if (err instanceof Error) {
|
|
14970
14970
|
return { error_name: err.name, error: err.message };
|
|
@@ -14987,7 +14987,7 @@ var init_boundary = __esm(() => {
|
|
|
14987
14987
|
};
|
|
14988
14988
|
});
|
|
14989
14989
|
|
|
14990
|
-
// packages/workit-core/src/core/config.ts
|
|
14990
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/config.ts
|
|
14991
14991
|
import {
|
|
14992
14992
|
copyFileSync as copyFileSync2,
|
|
14993
14993
|
cpSync as cpSync2,
|
|
@@ -15156,7 +15156,7 @@ var init_config = __esm(() => {
|
|
|
15156
15156
|
];
|
|
15157
15157
|
});
|
|
15158
15158
|
|
|
15159
|
-
// packages/workit-core/src/core/workspaces.ts
|
|
15159
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/workspaces.ts
|
|
15160
15160
|
import { createHash as createHash8 } from "node:crypto";
|
|
15161
15161
|
import { readFileSync as readFileSync4, realpathSync as realpathSync3 } from "node:fs";
|
|
15162
15162
|
import path14 from "node:path";
|
|
@@ -15592,7 +15592,7 @@ var init_workspaces = __esm(() => {
|
|
|
15592
15592
|
}).passthrough();
|
|
15593
15593
|
});
|
|
15594
15594
|
|
|
15595
|
-
// packages/workit-core/src/core/release-tracks.ts
|
|
15595
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/release-tracks.ts
|
|
15596
15596
|
import { createHash as createHash9 } from "node:crypto";
|
|
15597
15597
|
import { spawnSync as spawnSync7 } from "node:child_process";
|
|
15598
15598
|
import { readFileSync as readFileSync5 } from "node:fs";
|
|
@@ -16054,7 +16054,7 @@ var init_release_tracks = __esm(() => {
|
|
|
16054
16054
|
memo3 = new Map;
|
|
16055
16055
|
});
|
|
16056
16056
|
|
|
16057
|
-
// packages/workit-core/src/core/vcs-config.ts
|
|
16057
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/vcs-config.ts
|
|
16058
16058
|
import fs12 from "node:fs";
|
|
16059
16059
|
import path15 from "node:path";
|
|
16060
16060
|
import { spawnSync as spawnSync8 } from "node:child_process";
|
|
@@ -16182,7 +16182,7 @@ var init_vcs_config = __esm(() => {
|
|
|
16182
16182
|
init_release_tracks();
|
|
16183
16183
|
});
|
|
16184
16184
|
|
|
16185
|
-
// packages/workit-core/src/core/branch.ts
|
|
16185
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/branch.ts
|
|
16186
16186
|
import { execFileSync } from "node:child_process";
|
|
16187
16187
|
import { createHash as createHash10 } from "node:crypto";
|
|
16188
16188
|
import path16 from "node:path";
|
|
@@ -16355,12 +16355,12 @@ var init_branch = __esm(() => {
|
|
|
16355
16355
|
init_release_tracks();
|
|
16356
16356
|
});
|
|
16357
16357
|
|
|
16358
|
-
// packages/workit-core/src/core/route-intent.ts
|
|
16358
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/route-intent.ts
|
|
16359
16359
|
var init_route_intent = __esm(() => {
|
|
16360
16360
|
init_branch();
|
|
16361
16361
|
});
|
|
16362
16362
|
|
|
16363
|
-
// packages/workit-core/src/core/runtime-identity.ts
|
|
16363
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/runtime-identity.ts
|
|
16364
16364
|
import { createHash as createHash11 } from "node:crypto";
|
|
16365
16365
|
import { readFileSync as readFileSync6 } from "node:fs";
|
|
16366
16366
|
var sha256Hex = (bytes) => createHash11("sha256").update(bytes).digest("hex"), bundleHashOfFile = (file) => {
|
|
@@ -16385,7 +16385,7 @@ var init_runtime_identity = __esm(() => {
|
|
|
16385
16385
|
];
|
|
16386
16386
|
});
|
|
16387
16387
|
|
|
16388
|
-
// packages/workit-core/src/core/policy-resolver.ts
|
|
16388
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/policy-resolver.ts
|
|
16389
16389
|
function resolvePolicy(input) {
|
|
16390
16390
|
const ids = input.constraints.map((constraint) => constraint.id);
|
|
16391
16391
|
if (new Set(ids).size !== ids.length)
|
|
@@ -16445,7 +16445,7 @@ var init_policy_resolver = __esm(() => {
|
|
|
16445
16445
|
init_derive();
|
|
16446
16446
|
});
|
|
16447
16447
|
|
|
16448
|
-
// packages/workit-core/src/core/safe-write.ts
|
|
16448
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/safe-write.ts
|
|
16449
16449
|
import { randomUUID as randomUUID4 } from "node:crypto";
|
|
16450
16450
|
import {
|
|
16451
16451
|
closeSync as closeSync2,
|
|
@@ -16523,7 +16523,7 @@ function writeFileAtomic(file, content, mode) {
|
|
|
16523
16523
|
}
|
|
16524
16524
|
var init_safe_write = () => {};
|
|
16525
16525
|
|
|
16526
|
-
// packages/workit-core/src/autonomy.ts
|
|
16526
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/autonomy.ts
|
|
16527
16527
|
import { copyFileSync as copyFileSync3, existsSync as existsSync6 } from "node:fs";
|
|
16528
16528
|
import os3 from "node:os";
|
|
16529
16529
|
import path18 from "node:path";
|
|
@@ -16804,7 +16804,7 @@ var init_autonomy = __esm(() => {
|
|
|
16804
16804
|
DEFAULT_ENDPOINTS = ["commit", "pr", "green", "merged"];
|
|
16805
16805
|
});
|
|
16806
16806
|
|
|
16807
|
-
// packages/workit-core/src/core/task-engine.ts
|
|
16807
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/task-engine.ts
|
|
16808
16808
|
import { realpathSync as realpathSync4 } from "node:fs";
|
|
16809
16809
|
|
|
16810
16810
|
class WorkitCore {
|
|
@@ -18386,13 +18386,13 @@ var init_task_engine = __esm(() => {
|
|
|
18386
18386
|
retryPause = new Int32Array(new SharedArrayBuffer(4));
|
|
18387
18387
|
});
|
|
18388
18388
|
|
|
18389
|
-
// packages/workit-core/src/core/repo-context.ts
|
|
18389
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/repo-context.ts
|
|
18390
18390
|
var init_repo_context = __esm(() => {
|
|
18391
18391
|
init_vcs_config();
|
|
18392
18392
|
init_core3();
|
|
18393
18393
|
});
|
|
18394
18394
|
|
|
18395
|
-
// packages/workit-core/src/forge/pr-body.ts
|
|
18395
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/forge/pr-body.ts
|
|
18396
18396
|
function parseGhIssue(value) {
|
|
18397
18397
|
const m = /issues\/(\d+)/.exec(value);
|
|
18398
18398
|
return m ? m[1] : String(value).trim().replace(/^#/, "");
|
|
@@ -18453,7 +18453,7 @@ var init_pr_body = __esm(() => {
|
|
|
18453
18453
|
init_vcs_config();
|
|
18454
18454
|
});
|
|
18455
18455
|
|
|
18456
|
-
// packages/workit-core/src/core/pr-create.ts
|
|
18456
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/pr-create.ts
|
|
18457
18457
|
import path19 from "node:path";
|
|
18458
18458
|
import { spawnSync as spawnSync9 } from "node:child_process";
|
|
18459
18459
|
import { pathToFileURL } from "node:url";
|
|
@@ -18496,13 +18496,13 @@ var init_pr_create = __esm(() => {
|
|
|
18496
18496
|
init_pr_body();
|
|
18497
18497
|
});
|
|
18498
18498
|
|
|
18499
|
-
// packages/workit-core/src/core/tracker-issues.ts
|
|
18499
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/tracker-issues.ts
|
|
18500
18500
|
var init_tracker_issues = __esm(() => {
|
|
18501
18501
|
init_pr_create();
|
|
18502
18502
|
init_vcs_config();
|
|
18503
18503
|
});
|
|
18504
18504
|
|
|
18505
|
-
// packages/workit-core/src/core/templates.ts
|
|
18505
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/templates.ts
|
|
18506
18506
|
var repoRoot;
|
|
18507
18507
|
var init_templates = __esm(() => {
|
|
18508
18508
|
init_config();
|
|
@@ -18510,7 +18510,7 @@ var init_templates = __esm(() => {
|
|
|
18510
18510
|
repoRoot = assetRoot();
|
|
18511
18511
|
});
|
|
18512
18512
|
|
|
18513
|
-
// packages/workit-core/src/core/scripts.ts
|
|
18513
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/scripts.ts
|
|
18514
18514
|
var PLUGIN_ROOT, ASSET_ROOT, resolveWorkspaceRoot = (explicit) => explicit || process.cwd();
|
|
18515
18515
|
var init_scripts = __esm(() => {
|
|
18516
18516
|
init_package_root();
|
|
@@ -18518,7 +18518,7 @@ var init_scripts = __esm(() => {
|
|
|
18518
18518
|
ASSET_ROOT = assetRoot();
|
|
18519
18519
|
});
|
|
18520
18520
|
|
|
18521
|
-
// packages/workit-core/src/core/youtrack.ts
|
|
18521
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/youtrack.ts
|
|
18522
18522
|
import fs13 from "node:fs";
|
|
18523
18523
|
import path20 from "node:path";
|
|
18524
18524
|
function readYouTrackConfig(required) {
|
|
@@ -18990,7 +18990,7 @@ var init_youtrack = __esm(() => {
|
|
|
18990
18990
|
};
|
|
18991
18991
|
});
|
|
18992
18992
|
|
|
18993
|
-
// packages/workit-core/src/core/context-read.ts
|
|
18993
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/context-read.ts
|
|
18994
18994
|
var contextReadSchema;
|
|
18995
18995
|
var init_context_read = __esm(() => {
|
|
18996
18996
|
init_zod();
|
|
@@ -19021,7 +19021,7 @@ var init_context_read = __esm(() => {
|
|
|
19021
19021
|
}).strict();
|
|
19022
19022
|
});
|
|
19023
19023
|
|
|
19024
|
-
// packages/workit-core/src/core.ts
|
|
19024
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core.ts
|
|
19025
19025
|
import { existsSync as existsSync7, realpathSync as realpathSync5 } from "node:fs";
|
|
19026
19026
|
import path21 from "node:path";
|
|
19027
19027
|
function resolveInside(root, candidate) {
|
|
@@ -62177,7 +62177,7 @@ var init_build3 = __esm(async () => {
|
|
|
62177
62177
|
init_types();
|
|
62178
62178
|
});
|
|
62179
62179
|
|
|
62180
|
-
// packages/workit-core/src/core/gitignore.ts
|
|
62180
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/gitignore.ts
|
|
62181
62181
|
var GITIGNORE_ENTRIES;
|
|
62182
62182
|
var init_gitignore = __esm(() => {
|
|
62183
62183
|
GITIGNORE_ENTRIES = [
|
|
@@ -62198,7 +62198,7 @@ var init_gitignore = __esm(() => {
|
|
|
62198
62198
|
];
|
|
62199
62199
|
});
|
|
62200
62200
|
|
|
62201
|
-
// packages/workit-core/src/core/changelog.ts
|
|
62201
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/changelog.ts
|
|
62202
62202
|
import fs16 from "node:fs";
|
|
62203
62203
|
import path23 from "node:path";
|
|
62204
62204
|
import { createHash as createHash12 } from "node:crypto";
|
|
@@ -62527,7 +62527,7 @@ var init_changelog = __esm(() => {
|
|
|
62527
62527
|
HEADING_RE = /^###\s+/;
|
|
62528
62528
|
});
|
|
62529
62529
|
|
|
62530
|
-
// packages/workit-core/src/core/hygiene.ts
|
|
62530
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/hygiene.ts
|
|
62531
62531
|
import { existsSync as existsSync9, readFileSync as readFileSync9, writeFileSync as writeFileSync4 } from "node:fs";
|
|
62532
62532
|
import path24 from "node:path";
|
|
62533
62533
|
var repoRoot2, templatesDir = () => path24.join(repoRoot2, "templates", "hygiene"), packageJson = (root) => {
|
|
@@ -62732,7 +62732,7 @@ var init_registration = __esm(() => {
|
|
|
62732
62732
|
CURSOR_HOOK_RUN_COMMAND = `npx -y --prefer-online --min-release-age=0 --package=${CURSOR_RUNTIME_PACKAGE} workit-cursor-hook`;
|
|
62733
62733
|
});
|
|
62734
62734
|
|
|
62735
|
-
// packages/workit-core/src/core/support-matrix.ts
|
|
62735
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/support-matrix.ts
|
|
62736
62736
|
var SUPPORT_MATRIX;
|
|
62737
62737
|
var init_support_matrix = __esm(() => {
|
|
62738
62738
|
SUPPORT_MATRIX = {
|
|
@@ -63176,7 +63176,7 @@ var init_host_install = __esm(() => {
|
|
|
63176
63176
|
CLAUDE_SCOPES = new Set(["user", "project", "local"]);
|
|
63177
63177
|
});
|
|
63178
63178
|
|
|
63179
|
-
// packages/workit-core/src/core/skill-manifests.ts
|
|
63179
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/skill-manifests.ts
|
|
63180
63180
|
import { cpSync as cpSync3, existsSync as existsSync12, readFileSync as readFileSync12, readdirSync as readdirSync5, statSync as statSync3, writeFileSync as writeFileSync5 } from "node:fs";
|
|
63181
63181
|
import path28 from "node:path";
|
|
63182
63182
|
var WORKIT_METHOD_SKILLS, skillManifestNames = (root) => existsSync12(root) ? readdirSync5(root).filter((name) => existsSync12(path28.join(root, name, "SKILL.md"))).toSorted() : [], validateSkillManifests = (root, expected, label) => {
|
|
@@ -65439,7 +65439,7 @@ var init_setup = __esm(() => {
|
|
|
65439
65439
|
SETUP_OVERRIDES = [...YT_OVERRIDES, ...VCS_OVERRIDES];
|
|
65440
65440
|
});
|
|
65441
65441
|
|
|
65442
|
-
// packages/workit-core/src/core/branch-policy.ts
|
|
65442
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/branch-policy.ts
|
|
65443
65443
|
import { spawnSync as spawnSync12 } from "node:child_process";
|
|
65444
65444
|
var PREFIXES, detectBranchPolicy = (workspaceRoot) => {
|
|
65445
65445
|
const branchExists = (name) => {
|
|
@@ -65502,7 +65502,7 @@ var init_branch_policy = __esm(() => {
|
|
|
65502
65502
|
};
|
|
65503
65503
|
});
|
|
65504
65504
|
|
|
65505
|
-
// packages/workit-core/src/core/workspace-branch-policy.ts
|
|
65505
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/workspace-branch-policy.ts
|
|
65506
65506
|
import { mkdirSync as mkdirSync6, readFileSync as readFileSync15, renameSync as renameSync4, rmSync as rmSync4, writeFileSync as writeFileSync8 } from "node:fs";
|
|
65507
65507
|
import path31 from "node:path";
|
|
65508
65508
|
import { isDeepStrictEqual as isDeepStrictEqual3 } from "node:util";
|
|
@@ -68980,7 +68980,7 @@ var init_steps = __esm(async () => {
|
|
|
68980
68980
|
];
|
|
68981
68981
|
});
|
|
68982
68982
|
|
|
68983
|
-
// packages/workit-core/src/core/logger.ts
|
|
68983
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/logger.ts
|
|
68984
68984
|
import { appendFileSync, mkdirSync as mkdirSync7, readdirSync as readdirSync7, unlinkSync as unlinkSync3 } from "node:fs";
|
|
68985
68985
|
import os11 from "node:os";
|
|
68986
68986
|
import path34 from "node:path";
|
|
@@ -69988,7 +69988,7 @@ var init_launch = __esm(() => {
|
|
|
69988
69988
|
init_upgrade();
|
|
69989
69989
|
});
|
|
69990
69990
|
|
|
69991
|
-
// packages/workit-core/src/knowledge.ts
|
|
69991
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/knowledge.ts
|
|
69992
69992
|
import { spawnSync as spawnSync14 } from "node:child_process";
|
|
69993
69993
|
import fs17 from "node:fs";
|
|
69994
69994
|
import path36 from "node:path";
|
|
@@ -70385,7 +70385,7 @@ var init_doctor2 = __esm(() => {
|
|
|
70385
70385
|
init_task();
|
|
70386
70386
|
});
|
|
70387
70387
|
|
|
70388
|
-
// packages/workit-core/src/forge/redact.ts
|
|
70388
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/forge/redact.ts
|
|
70389
70389
|
function redactText(value) {
|
|
70390
70390
|
let out = stripAnsi2(value).replace(PRIVATE_KEY, "[REDACTED PRIVATE KEY]");
|
|
70391
70391
|
out = out.replace(WEBHOOK, `$1/${R}`);
|
|
@@ -70488,7 +70488,7 @@ var init_redact = __esm(() => {
|
|
|
70488
70488
|
NOT_FIRST_ERROR = /^\s*(?:\(pass\)|\(skip\)|\(todo\)|✓|✔|ok\b|PASS\b)|^\s*\d+ fail\b|##\[error\]Process completed|^\s*0 (?:errors?|fail)/u;
|
|
70489
70489
|
});
|
|
70490
70490
|
|
|
70491
|
-
// packages/workit-core/src/checks.ts
|
|
70491
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/checks.ts
|
|
70492
70492
|
import { spawn, spawnSync as spawnSync15 } from "node:child_process";
|
|
70493
70493
|
import { createHash as createHash14 } from "node:crypto";
|
|
70494
70494
|
import fs18 from "node:fs";
|
|
@@ -71390,10 +71390,10 @@ var init_check = __esm(() => {
|
|
|
71390
71390
|
FINGERPRINT_VARS = ["CI", "NODE_ENV", "npm_config_script_shell", "NODE_OPTIONS", "SHELL"];
|
|
71391
71391
|
});
|
|
71392
71392
|
|
|
71393
|
-
// packages/workit-core/src/forge/types.ts
|
|
71393
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/forge/types.ts
|
|
71394
71394
|
var success2 = (data) => ({ ok: true, data }), failure3 = (code, error, unblock) => ({ ok: false, code, error, ...unblock ? { unblock } : {} });
|
|
71395
71395
|
|
|
71396
|
-
// packages/workit-core/src/git/ops.ts
|
|
71396
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/git/ops.ts
|
|
71397
71397
|
import { spawnSync as spawnSync16 } from "node:child_process";
|
|
71398
71398
|
function dirtEntries(cwd) {
|
|
71399
71399
|
const run = git5(cwd, ["status", "--porcelain=v1", "-z", "--untracked-files=all"]);
|
|
@@ -71773,7 +71773,7 @@ var init_ops = __esm(() => {
|
|
|
71773
71773
|
SHA = /^[0-9a-f]{40,64}$/u;
|
|
71774
71774
|
});
|
|
71775
71775
|
|
|
71776
|
-
// packages/workit-core/src/forge/reruns.ts
|
|
71776
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/forge/reruns.ts
|
|
71777
71777
|
import fs19 from "node:fs";
|
|
71778
71778
|
import path39 from "node:path";
|
|
71779
71779
|
function rerunLogPath(cwd) {
|
|
@@ -71864,7 +71864,7 @@ var init_reruns = __esm(() => {
|
|
|
71864
71864
|
init_rev();
|
|
71865
71865
|
});
|
|
71866
71866
|
|
|
71867
|
-
// packages/workit-core/src/forge/report.ts
|
|
71867
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/forge/report.ts
|
|
71868
71868
|
function gatingChecks(status) {
|
|
71869
71869
|
const required = status.checks.filter((check) => check.required === true);
|
|
71870
71870
|
const protectionNamesChecks = (status.requiredContexts?.length ?? 0) > 0;
|
|
@@ -72218,7 +72218,7 @@ var init_report = __esm(() => {
|
|
|
72218
72218
|
GITHUB_MERGEABLE = new Set(["clean", "unstable", "has_hooks"]);
|
|
72219
72219
|
});
|
|
72220
72220
|
|
|
72221
|
-
// packages/workit-core/src/forge/pr-ops.ts
|
|
72221
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/forge/pr-ops.ts
|
|
72222
72222
|
import { spawnSync as spawnSync17 } from "node:child_process";
|
|
72223
72223
|
function fillFromCommits(cwd, resolved, base) {
|
|
72224
72224
|
const tracking = `refs/remotes/${resolved.baseRemote}/${base}`;
|
|
@@ -72501,7 +72501,7 @@ var init_pr_ops = __esm(() => {
|
|
|
72501
72501
|
};
|
|
72502
72502
|
});
|
|
72503
72503
|
|
|
72504
|
-
// packages/workit-core/src/forge/exec.ts
|
|
72504
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/forge/exec.ts
|
|
72505
72505
|
import { spawnSync as spawnSync18 } from "node:child_process";
|
|
72506
72506
|
import fs20 from "node:fs";
|
|
72507
72507
|
import path40 from "node:path";
|
|
@@ -72619,7 +72619,7 @@ var init_exec = __esm(() => {
|
|
|
72619
72619
|
MAX_BUFFER2 = 64 * 1024 * 1024;
|
|
72620
72620
|
});
|
|
72621
72621
|
|
|
72622
|
-
// packages/workit-core/src/forge/github.ts
|
|
72622
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/forge/github.ts
|
|
72623
72623
|
function checkFromContext(node) {
|
|
72624
72624
|
const required = node.isRequired ?? null;
|
|
72625
72625
|
if (node.__typename === "StatusContext") {
|
|
@@ -72918,7 +72918,7 @@ var init_github = __esm(() => {
|
|
|
72918
72918
|
]);
|
|
72919
72919
|
});
|
|
72920
72920
|
|
|
72921
|
-
// packages/workit-core/src/forge/gitlab.ts
|
|
72921
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/forge/gitlab.ts
|
|
72922
72922
|
function checkFromBridge(bridge, pipelineId, scope) {
|
|
72923
72923
|
const status = bridge.downstream_pipeline?.status ?? bridge.status;
|
|
72924
72924
|
const allow = bridge.allow_failure === true;
|
|
@@ -73206,7 +73206,7 @@ var init_gitlab = __esm(() => {
|
|
|
73206
73206
|
UNSETTLED = new Set(["checking", "unchecked", "preparing", "approvals_syncing"]);
|
|
73207
73207
|
});
|
|
73208
73208
|
|
|
73209
|
-
// packages/workit-core/src/forge/resolve.ts
|
|
73209
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/forge/resolve.ts
|
|
73210
73210
|
import fs21 from "node:fs";
|
|
73211
73211
|
function resolveForge(cwd, options = {}) {
|
|
73212
73212
|
let workspace;
|
|
@@ -73326,7 +73326,7 @@ var init_resolve = __esm(() => {
|
|
|
73326
73326
|
init_gitlab();
|
|
73327
73327
|
});
|
|
73328
73328
|
|
|
73329
|
-
// packages/workit-core/src/duration.ts
|
|
73329
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/duration.ts
|
|
73330
73330
|
function parseDuration2(value) {
|
|
73331
73331
|
const text = value.trim().toLowerCase();
|
|
73332
73332
|
if (/^\d+(?:\.\d+)?$/u.test(text))
|
|
@@ -73385,6 +73385,14 @@ function parseFlags(argv, spec) {
|
|
|
73385
73385
|
}
|
|
73386
73386
|
return parsed;
|
|
73387
73387
|
}
|
|
73388
|
+
function unverifiedFlag(flags) {
|
|
73389
|
+
const reason = flags.values.reason?.trim();
|
|
73390
|
+
if (!flags.booleans.has("unverified"))
|
|
73391
|
+
return reason === undefined ? null : "--reason is only used with --unverified";
|
|
73392
|
+
if (!reason)
|
|
73393
|
+
return "--unverified needs --reason <why the user asked for it>";
|
|
73394
|
+
return reason.length > MAX_REASON ? `--reason is capped at ${MAX_REASON} characters` : { reason };
|
|
73395
|
+
}
|
|
73388
73396
|
function positiveInt(value, flag) {
|
|
73389
73397
|
if (value === undefined)
|
|
73390
73398
|
return null;
|
|
@@ -73468,7 +73476,7 @@ function renderStatus(doc) {
|
|
|
73468
73476
|
lines.push(`next: ${doc.next}`);
|
|
73469
73477
|
return lines;
|
|
73470
73478
|
}
|
|
73471
|
-
var forgeDeps, usage3 = (io, message, line) => emit(io, fail("invalid_input", message, { unblock: line })), forgeFail = (io, result, data) => emit(io, fail(result.code, result.error, { data, unblock: result.unblock })), short = (sha) => sha ? sha.slice(0, 7) : "?";
|
|
73479
|
+
var forgeDeps, MAX_REASON = 500, usage3 = (io, message, line) => emit(io, fail("invalid_input", message, { unblock: line })), forgeFail = (io, result, data) => emit(io, fail(result.code, result.error, { data, unblock: result.unblock })), short = (sha) => sha ? sha.slice(0, 7) : "?";
|
|
73472
73480
|
var init_forge_common = __esm(() => {
|
|
73473
73481
|
init_resolve();
|
|
73474
73482
|
init_vcs_config();
|
|
@@ -73614,13 +73622,23 @@ async function create4(argv, io) {
|
|
|
73614
73622
|
...data.releaseTrack?.name ? [`release track: ${data.releaseTrack.name} (${data.releaseTrack.detail})`] : [],
|
|
73615
73623
|
...(data.releaseTrack?.warnings ?? []).map((warning) => `note: ${warning}`),
|
|
73616
73624
|
`head ${data.head.slice(0, 12)} verified on the forge`,
|
|
73617
|
-
..."error" in data.recorded ? [`ledger: not recorded (${data.recorded.error})`] : []
|
|
73625
|
+
..."error" in data.recorded ? [`ledger: not recorded (${data.recorded.error})`] : [],
|
|
73626
|
+
`next: ${data.next}`
|
|
73618
73627
|
]);
|
|
73619
73628
|
}
|
|
73620
73629
|
async function merge3(argv, io) {
|
|
73621
|
-
const flags = parseFlags(argv, {
|
|
73630
|
+
const flags = parseFlags(argv, {
|
|
73631
|
+
pr: "value",
|
|
73632
|
+
method: "value",
|
|
73633
|
+
"delete-branch": "boolean",
|
|
73634
|
+
unverified: "boolean",
|
|
73635
|
+
reason: "value"
|
|
73636
|
+
});
|
|
73622
73637
|
if (typeof flags === "string")
|
|
73623
73638
|
return usage3(io, flags, MERGE_USAGE);
|
|
73639
|
+
const unverified = unverifiedFlag(flags);
|
|
73640
|
+
if (typeof unverified === "string")
|
|
73641
|
+
return usage3(io, unverified, MERGE_USAGE);
|
|
73624
73642
|
if (flags.positionals.length)
|
|
73625
73643
|
return usage3(io, `unexpected argument ${flags.positionals[0]}`, MERGE_USAGE);
|
|
73626
73644
|
const pr = positiveInt(flags.values.pr, "--pr");
|
|
@@ -73632,7 +73650,13 @@ async function merge3(argv, io) {
|
|
|
73632
73650
|
const connected = connect(io);
|
|
73633
73651
|
if (!connected.ok)
|
|
73634
73652
|
return forgeFail(io, connected);
|
|
73635
|
-
const result = await mergePullRequest(io.cwd, connected.data, {
|
|
73653
|
+
const result = await mergePullRequest(io.cwd, connected.data, {
|
|
73654
|
+
pr,
|
|
73655
|
+
method,
|
|
73656
|
+
deleteBranch: flags.booleans.has("delete-branch"),
|
|
73657
|
+
actor: actorFromEnv(io.env),
|
|
73658
|
+
...unverified ? { unverified } : {}
|
|
73659
|
+
}, forgeDeps.sleep);
|
|
73636
73660
|
if (!result.ok)
|
|
73637
73661
|
return emit(io, fail(result.code, result.error, {
|
|
73638
73662
|
unblock: result.unblock,
|
|
@@ -73640,7 +73664,7 @@ async function merge3(argv, io) {
|
|
|
73640
73664
|
}));
|
|
73641
73665
|
return emit(io, ok(result.data), (data) => [
|
|
73642
73666
|
`merged ${connected.data.forge.kind === "github" ? "PR #" : "MR !"}${data.number} (${data.method}) at head ${data.head.slice(0, 12)}${data.mergeSha ? ` -> ${data.mergeSha.slice(0, 12)}` : ""}`,
|
|
73643
|
-
data.verdict.
|
|
73667
|
+
data.unverified ? `UNVERIFIED: merged without a verdict (--unverified: ${data.unverified.reason}); ledger ${data.unverified.recorded}` : `verdict ${data.verdict.verdictId ?? "?"} accepted for that head`,
|
|
73644
73668
|
...data.mergeBack.length ? [
|
|
73645
73669
|
`merge back: ${data.base} is the ${data.mergeBackTrack} production branch; bring it into ${data.mergeBack.join(", ")}`
|
|
73646
73670
|
] : [],
|
|
@@ -73658,7 +73682,7 @@ async function run10(argv, io) {
|
|
|
73658
73682
|
return merge3(rest, io);
|
|
73659
73683
|
return usage3(io, sub && !sub.startsWith("-") ? `unknown pr subcommand "${sub}"` : "missing pr subcommand", USAGE4);
|
|
73660
73684
|
}
|
|
73661
|
-
var STATUS_USAGE = "workit pr status [--pr <n> | --branch <b>] [--log-lines 60] [--json]", CREATE_USAGE = "workit pr create [--base <b> | --track <t>] (--title <t> [--body <text> | --body-file <f>] | --fill) [--draft] [--json]", MERGE_USAGE = "workit pr merge [--pr <n>] [--method squash|merge|rebase] [--delete-branch] [--json]", USAGE4 = "workit pr status|create|merge ... (workit help pr)", METHODS2;
|
|
73685
|
+
var STATUS_USAGE = "workit pr status [--pr <n> | --branch <b>] [--log-lines 60] [--json]", CREATE_USAGE = "workit pr create [--base <b> | --track <t>] (--title <t> [--body <text> | --body-file <f>] | --fill) [--draft] [--json]", MERGE_USAGE = "workit pr merge [--pr <n>] [--method squash|merge|rebase] [--delete-branch] [--unverified --reason <why>] [--json]", USAGE4 = "workit pr status|create|merge ... (workit help pr)", METHODS2;
|
|
73662
73686
|
var init_pr = __esm(() => {
|
|
73663
73687
|
init_pr_body();
|
|
73664
73688
|
init_pr_ops();
|
|
@@ -74050,7 +74074,7 @@ var init_git2 = __esm(() => {
|
|
|
74050
74074
|
init_forge_common();
|
|
74051
74075
|
});
|
|
74052
74076
|
|
|
74053
|
-
// packages/workit-core/src/forge/verify.ts
|
|
74077
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/forge/verify.ts
|
|
74054
74078
|
import { spawnSync as spawnSync19 } from "node:child_process";
|
|
74055
74079
|
function finish(cwd, report, actor) {
|
|
74056
74080
|
const delivered = report.observations.length > 0 && report.observations.every((entry) => entry.ok);
|
|
@@ -74370,7 +74394,7 @@ var init_verify_delivery = __esm(() => {
|
|
|
74370
74394
|
};
|
|
74371
74395
|
});
|
|
74372
74396
|
|
|
74373
|
-
// packages/workit-core/src/stack.ts
|
|
74397
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/stack.ts
|
|
74374
74398
|
import { spawnSync as spawnSync20 } from "node:child_process";
|
|
74375
74399
|
import { createHash as createHash15, randomBytes as randomBytes3 } from "node:crypto";
|
|
74376
74400
|
import fs22 from "node:fs";
|
|
@@ -75701,10 +75725,15 @@ async function land(argv, io) {
|
|
|
75701
75725
|
max: "value",
|
|
75702
75726
|
method: "value",
|
|
75703
75727
|
timeout: "value",
|
|
75704
|
-
interval: "value"
|
|
75728
|
+
interval: "value",
|
|
75729
|
+
unverified: "boolean",
|
|
75730
|
+
reason: "value"
|
|
75705
75731
|
});
|
|
75706
75732
|
if (typeof flags === "string")
|
|
75707
75733
|
return usage3(io, flags, LAND_USAGE);
|
|
75734
|
+
const unverified = unverifiedFlag(flags);
|
|
75735
|
+
if (typeof unverified === "string")
|
|
75736
|
+
return usage3(io, unverified, LAND_USAGE);
|
|
75708
75737
|
if (flags.positionals.length)
|
|
75709
75738
|
return usage3(io, `unexpected argument ${flags.positionals[0]}`, LAND_USAGE);
|
|
75710
75739
|
const max = positiveInt(flags.values.max, "--max");
|
|
@@ -75735,7 +75764,7 @@ async function land(argv, io) {
|
|
|
75735
75764
|
resolved: connected.data,
|
|
75736
75765
|
actor: actorFromEnv(io.env),
|
|
75737
75766
|
sleep: forgeDeps.sleep
|
|
75738
|
-
}, fresh.data ?? selected.data, { dryRun: flags.booleans.has("dry-run"), max, method, timeoutMs, intervalMs });
|
|
75767
|
+
}, fresh.data ?? selected.data, { dryRun: flags.booleans.has("dry-run"), max, method, timeoutMs, intervalMs, unverified });
|
|
75739
75768
|
});
|
|
75740
75769
|
if (!result.ok)
|
|
75741
75770
|
return stackFailed(io, result);
|
|
@@ -75744,7 +75773,7 @@ async function land(argv, io) {
|
|
|
75744
75773
|
...data.dryRun ? [
|
|
75745
75774
|
data.wouldLand.length ? `would land: ${data.wouldLand.map((item) => `${label(kind, item.pr)} (${item.branch})`).join(", ")}` : "would land nothing"
|
|
75746
75775
|
] : [
|
|
75747
|
-
data.landed.length ? `landed: ${data.landed.map((item) => `${label(kind, item.pr)} (${item.branch}) -> ${short4(item.mergeSha)}`).join(", ")}` : "landed nothing"
|
|
75776
|
+
data.landed.length ? `landed: ${data.landed.map((item) => `${label(kind, item.pr)} (${item.branch}) -> ${short4(item.mergeSha)}${item.unverified ? ` UNVERIFIED (ledger ${item.unverified})` : ""}`).join(", ")}` : "landed nothing"
|
|
75748
75777
|
],
|
|
75749
75778
|
...data.retargeted.length ? [`retargeted: ${data.retargeted.map((pr) => label(kind, pr)).join(", ")}`] : [],
|
|
75750
75779
|
...data.restacked.length ? [`restacked: ${data.restacked.join(", ")}`] : [],
|
|
@@ -75764,7 +75793,7 @@ async function run14(argv, io) {
|
|
|
75764
75793
|
return land(rest, io);
|
|
75765
75794
|
return usage3(io, sub && !sub.startsWith("-") ? `unknown stack subcommand "${sub}"` : "missing stack subcommand", USAGE7);
|
|
75766
75795
|
}
|
|
75767
|
-
var PLAN_USAGE = "workit stack plan [--name <n>] [--trunk <b> | --track <t>] [<bottom> … <top>] [--json]", STATUS_USAGE2 = "workit stack status [--name <n>] [--json]", SYNC_USAGE = "workit stack sync [--name <n>] [--local] [--dry-run] [--force <branch>]… [--json]", LAND_USAGE = "workit stack land [--name <n>] [--dry-run] [--max <n>] [--method squash|merge|rebase] [--timeout 20m] [--interval 30s] [--json]", USAGE7 = "workit stack plan|status|sync|land ... (workit help stack)", short4 = (sha) => sha ? sha.slice(0, 12) : "?", stackFailed = (io, result) => emit(io, fail(result.code, result.error, { unblock: result.unblock, data: result.data ?? {} })), label = (forge, pr) => pr === null ? "no PR" : `${forge === "gitlab" ? "MR !" : "PR #"}${pr}`, renderSync = (data) => [
|
|
75796
|
+
var PLAN_USAGE = "workit stack plan [--name <n>] [--trunk <b> | --track <t>] [<bottom> … <top>] [--json]", STATUS_USAGE2 = "workit stack status [--name <n>] [--json]", SYNC_USAGE = "workit stack sync [--name <n>] [--local] [--dry-run] [--force <branch>]… [--json]", LAND_USAGE = "workit stack land [--name <n>] [--dry-run] [--max <n>] [--method squash|merge|rebase] [--unverified --reason <why>] [--timeout 20m] [--interval 30s] [--json]", USAGE7 = "workit stack plan|status|sync|land ... (workit help stack)", short4 = (sha) => sha ? sha.slice(0, 12) : "?", stackFailed = (io, result) => emit(io, fail(result.code, result.error, { unblock: result.unblock, data: result.data ?? {} })), label = (forge, pr) => pr === null ? "no PR" : `${forge === "gitlab" ? "MR !" : "PR #"}${pr}`, renderSync = (data) => [
|
|
75768
75797
|
`${data.dryRun ? "would sync" : "synced"} stack ${data.name}${data.merged.length ? `; merged: ${data.merged.map((item) => item.branch).join(", ")}` : ""}`,
|
|
75769
75798
|
...data.steps.map((step) => [
|
|
75770
75799
|
` ${step.branch} on ${step.parent}:`,
|
|
@@ -75781,7 +75810,7 @@ var init_stack2 = __esm(() => {
|
|
|
75781
75810
|
METHODS3 = new Set(["squash", "merge", "rebase"]);
|
|
75782
75811
|
});
|
|
75783
75812
|
|
|
75784
|
-
// packages/workit-core/src/fanout.ts
|
|
75813
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/fanout.ts
|
|
75785
75814
|
import { spawnSync as spawnSync21 } from "node:child_process";
|
|
75786
75815
|
import { createHash as createHash16 } from "node:crypto";
|
|
75787
75816
|
import fs23 from "node:fs";
|
|
@@ -76592,7 +76621,7 @@ var init_fanout = __esm(() => {
|
|
|
76592
76621
|
ID = /^[a-z0-9][a-z0-9._-]{0,63}$/u;
|
|
76593
76622
|
});
|
|
76594
76623
|
|
|
76595
|
-
// packages/workit-core/src/fanout-worktree.ts
|
|
76624
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/fanout-worktree.ts
|
|
76596
76625
|
import { randomBytes as randomBytes4 } from "node:crypto";
|
|
76597
76626
|
import fs24 from "node:fs";
|
|
76598
76627
|
import path44 from "node:path";
|
|
@@ -76968,7 +76997,7 @@ var init_fanout_worktree = __esm(() => {
|
|
|
76968
76997
|
};
|
|
76969
76998
|
});
|
|
76970
76999
|
|
|
76971
|
-
// packages/workit-core/src/fanout-brief.ts
|
|
77000
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/fanout-brief.ts
|
|
76972
77001
|
import { createHash as createHash17 } from "node:crypto";
|
|
76973
77002
|
function workerSession(lead, slice, attempt) {
|
|
76974
77003
|
const tail = attempt === null ? "" : `+try${attempt}`;
|
|
@@ -77074,7 +77103,7 @@ var init_fanout_brief = __esm(() => {
|
|
|
77074
77103
|
];
|
|
77075
77104
|
});
|
|
77076
77105
|
|
|
77077
|
-
// packages/workit-core/src/fanout-landed.ts
|
|
77106
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/fanout-landed.ts
|
|
77078
77107
|
import { spawnSync as spawnSync22 } from "node:child_process";
|
|
77079
77108
|
function forgeBreaker(resolved) {
|
|
77080
77109
|
if (!resolved)
|
|
@@ -77279,7 +77308,7 @@ var init_fanout_landed = __esm(() => {
|
|
|
77279
77308
|
init_fanout();
|
|
77280
77309
|
});
|
|
77281
77310
|
|
|
77282
|
-
// packages/workit-core/src/fanout-check.ts
|
|
77311
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/fanout-check.ts
|
|
77283
77312
|
function mergeConflicts(cwd, a, b) {
|
|
77284
77313
|
const run = gitRun4(cwd, [
|
|
77285
77314
|
"merge-tree",
|
|
@@ -77537,7 +77566,7 @@ var init_fanout_check = __esm(() => {
|
|
|
77537
77566
|
init_fanout_landed();
|
|
77538
77567
|
});
|
|
77539
77568
|
|
|
77540
|
-
// packages/workit-core/src/fanout-status.ts
|
|
77569
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/fanout-status.ts
|
|
77541
77570
|
function timeboxMs(text) {
|
|
77542
77571
|
if (!text || /^\s*\d+(?:\.\d+)?\s*$/u.test(text))
|
|
77543
77572
|
return null;
|
|
@@ -94956,7 +94985,7 @@ var init_knowledge2 = __esm(() => {
|
|
|
94956
94985
|
init_output();
|
|
94957
94986
|
});
|
|
94958
94987
|
|
|
94959
|
-
// packages/workit-core/src/core/youtrack-tools.ts
|
|
94988
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/youtrack-tools.ts
|
|
94960
94989
|
async function logTimeUpdate(input, operation = defaultOperations) {
|
|
94961
94990
|
try {
|
|
94962
94991
|
const value = await operation.logTime(input);
|
|
@@ -95005,7 +95034,7 @@ var init_youtrack_tools = __esm(() => {
|
|
|
95005
95034
|
};
|
|
95006
95035
|
});
|
|
95007
95036
|
|
|
95008
|
-
// packages/workit-core/src/core/youtrack-writes.ts
|
|
95037
|
+
// packages/workit-cli/node_modules/@brainervirus/workit-core/src/core/youtrack-writes.ts
|
|
95009
95038
|
async function markerPresent(issueId, marker, where) {
|
|
95010
95039
|
const creds = youTrackToken();
|
|
95011
95040
|
if ("error" in creds)
|
|
@@ -95404,7 +95433,7 @@ var VERBS = [
|
|
|
95404
95433
|
{
|
|
95405
95434
|
name: "pr",
|
|
95406
95435
|
group: "delivery",
|
|
95407
|
-
usage: "workit pr status [--pr <n>] | pr create [--base <b> | --track <t>] (--title <t> | --fill) [--draft] | pr merge [--pr <n>] [--method squash|merge|rebase] [--delete-branch]",
|
|
95436
|
+
usage: "workit pr status [--pr <n>] | pr create [--base <b> | --track <t>] (--title <t> | --fill) [--draft] | pr merge [--pr <n>] [--method squash|merge|rebase] [--delete-branch] [--unverified --reason <why>]",
|
|
95408
95437
|
summary: "PR/MR state with failing log tails and next action; open a SHA-verified PR; merge only when READY, verified and granted",
|
|
95409
95438
|
load: () => Promise.resolve().then(() => (init_pr(), exports_pr))
|
|
95410
95439
|
},
|
|
@@ -95432,7 +95461,7 @@ var VERBS = [
|
|
|
95432
95461
|
{
|
|
95433
95462
|
name: "stack",
|
|
95434
95463
|
group: "delivery",
|
|
95435
|
-
usage: "workit stack plan [<bottom> … <top>] | status | sync [--local] | land [--dry-run] [--max <n>] [--json]",
|
|
95464
|
+
usage: "workit stack plan [<bottom> … <top>] | status | sync [--local] | land [--dry-run] [--max <n>] [--unverified --reason <why>] [--json]",
|
|
95436
95465
|
summary: "Plan, restack (lease push + retarget) and land a base-branch stack of PRs, root first",
|
|
95437
95466
|
load: () => Promise.resolve().then(() => (init_stack2(), exports_stack))
|
|
95438
95467
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brainervirus/workit-claude-code",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Workit Claude Code plugin — session and per-turn task context, branch policy on git shell commands, workit method skills, and verifier/reviewer/implementer agents",
|
|
6
6
|
"keywords": [
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"build": "bun scripts/build.ts"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@brainervirus/workit-cli": "^
|
|
43
|
-
"@brainervirus/workit-core": "^
|
|
42
|
+
"@brainervirus/workit-cli": "^8.0.0",
|
|
43
|
+
"@brainervirus/workit-core": "^8.0.0"
|
|
44
44
|
},
|
|
45
45
|
"engines": {
|
|
46
46
|
"node": ">=24"
|
package/skills/ship/SKILL.md
CHANGED
|
@@ -51,8 +51,8 @@ the base keeps moving, or after 3 failed fix attempts on the same check.
|
|
|
51
51
|
flake|infra` per head. Real: reproduce with `workit check`, fix the root
|
|
52
52
|
cause, batch fixes into one push.
|
|
53
53
|
6. **Verified.** After the last push a non-author records a verdict
|
|
54
|
-
(call the Skill tool with `workit:review`). Land only when granted: `workit stack land` (
|
|
55
|
-
|
|
54
|
+
(call the Skill tool with `workit:review`). Land only when granted: `workit stack land` (verified run
|
|
55
|
+
from the root) or `workit pr merge`; `--unverified --reason` only if user-asked.
|
|
56
56
|
7. **Observe it landed:** `workit verify-delivery pr` or `merge`. After a failed
|
|
57
57
|
verdict or a check red 3+ times, at any endpoint: offer `/wk-retro` in one
|
|
58
58
|
line of the final or stop report; never pause the babysit loop for it.
|