@brainervirus/workit-codex 8.11.0 → 8.12.1

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "workit",
3
- "version": "8.11.0",
3
+ "version": "8.12.1",
4
4
  "description": "Adaptive engineering workflow rails for Codex",
5
5
  "author": {
6
6
  "name": "BrainerVirus"
@@ -16061,6 +16061,63 @@ function acquireFileLockSync(targetPath, options) {
16061
16061
  }
16062
16062
  }
16063
16063
  }
16064
+ // packages/workit-core/src/core/logger.ts
16065
+ import os from "node:os";
16066
+ var REDACTED = "[REDACTED]";
16067
+ var SECRET_VALUE = /\b(?:Bearer|Basic|Digest|Token)\s+\S+/gi;
16068
+ var KEY_EQ_VALUE = /\b([A-Za-z0-9_-]*(?:token|secret|password|passwd|apikey|api[_-]?key|authorization|credential|bearer)[A-Za-z0-9_-]*)([:=]\s*).+/gi;
16069
+ var URL_QUERY = /(https?:\/\/[^?#\s]+)\?[^#\s]*/g;
16070
+ var SENSITIVE_WORDS = new Set([
16071
+ "token",
16072
+ "secret",
16073
+ "password",
16074
+ "passwd",
16075
+ "authorization",
16076
+ "credential",
16077
+ "credentials",
16078
+ "cookie",
16079
+ "api",
16080
+ "apikey",
16081
+ "apitoken",
16082
+ "accesstoken",
16083
+ "clientsecret",
16084
+ "refreshtoken",
16085
+ "key",
16086
+ "bearer",
16087
+ "prompt",
16088
+ "message",
16089
+ "messages",
16090
+ "content",
16091
+ "body",
16092
+ "args",
16093
+ "argument",
16094
+ "result",
16095
+ "results",
16096
+ "output",
16097
+ "issue",
16098
+ "description",
16099
+ "summary",
16100
+ "payload",
16101
+ "script",
16102
+ "command",
16103
+ "text",
16104
+ "query"
16105
+ ]);
16106
+ var STACK_WORDS = new Set(["stack", "stacktrace", "trace"]);
16107
+ var escapeRegExp = (value) => value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
16108
+ var homePattern = new RegExp(`${escapeRegExp(os.homedir())}(?=[/\\\\]|$)|\\$HOME(?=[/\\\\]|$)`, "g");
16109
+ var applyPatterns = (value) => {
16110
+ let out = value;
16111
+ out = out.replace(SECRET_VALUE, REDACTED);
16112
+ out = out.replace(KEY_EQ_VALUE, "$1$2[REDACTED]");
16113
+ out = out.replace(URL_QUERY, "$1?[REDACTED]");
16114
+ out = out.replace(homePattern, "~");
16115
+ if (process.platform === "win32")
16116
+ out = out.replace(/\\/g, "/");
16117
+ return out;
16118
+ };
16119
+ var redactSecrets = (value) => applyPatterns(value);
16120
+
16064
16121
  // packages/workit-core/src/store/paths.ts
16065
16122
  import { spawnSync } from "node:child_process";
16066
16123
  import { createHash as createHash2 } from "node:crypto";
@@ -18849,7 +18906,7 @@ function loadCheckConfig(cwd) {
18849
18906
  gates[gate] = names;
18850
18907
  }
18851
18908
  }
18852
- return { source: CHECKS_FILE, root, checks, gates, error: null };
18909
+ return { source: CHECKS_FILE, root, checks, gates, error: null, resources: parsed.resources };
18853
18910
  }
18854
18911
  var sameArgv = (left, right) => left.length === right.length && left.every((item, index) => item === right[index]);
18855
18912
  function matchesNamedCheck(config, name, argv, cwd) {
@@ -18891,7 +18948,7 @@ function checkCommand(args, version, onPath = workitAvailable()) {
18891
18948
  import { spawnSync as spawnSync4 } from "node:child_process";
18892
18949
  import { createHash as createHash5 } from "node:crypto";
18893
18950
  import fs9 from "node:fs";
18894
- import os from "node:os";
18951
+ import os2 from "node:os";
18895
18952
  import path8 from "node:path";
18896
18953
  var MAX_BUFFER = 256 * 1024 * 1024;
18897
18954
  var GIT_TIMEOUTS = { local: 20000, worktree: 120000, network: 15000 };
@@ -18939,7 +18996,7 @@ function worktreeTree(cwd, options = {}) {
18939
18996
  return null;
18940
18997
  const cap = options.maxUntrackedBytes ?? MAX_UNTRACKED_BYTES;
18941
18998
  const timeoutMs = options.timeoutMs ?? GIT_TIMEOUTS.worktree;
18942
- const scratch = fs9.mkdtempSync(path8.join(os.tmpdir(), "workit-tree-"));
18999
+ const scratch = fs9.mkdtempSync(path8.join(os2.tmpdir(), "workit-tree-"));
18943
19000
  try {
18944
19001
  const tempIndex = path8.join(scratch, "index");
18945
19002
  if (fs9.existsSync(indexPath))
@@ -19093,7 +19150,7 @@ import {
19093
19150
  readdirSync as readdirSync2,
19094
19151
  writeFileSync as writeFileSync2
19095
19152
  } from "node:fs";
19096
- import os2 from "node:os";
19153
+ import os3 from "node:os";
19097
19154
  import path9 from "node:path";
19098
19155
 
19099
19156
  // packages/workit-core/src/core/boundary.ts
@@ -19153,7 +19210,7 @@ var mergePreset = (preset, input = {}, current = {
19153
19210
  protected: preset === "custom" ? input.protectedNames ?? current.branchPolicy.protected : [...defs.protected]
19154
19211
  };
19155
19212
  };
19156
- var resolveConfigDir = () => process.env.WORKFLOW_TOOLKIT_CONFIG ?? process.env.WORKFLOW_TOOLKIT_CONFIG_DIR ?? path9.join(process.env.XDG_CONFIG_HOME || path9.join(os2.homedir(), ".config"), "workit");
19213
+ var resolveConfigDir = () => process.env.WORKFLOW_TOOLKIT_CONFIG ?? process.env.WORKFLOW_TOOLKIT_CONFIG_DIR ?? path9.join(process.env.XDG_CONFIG_HOME || path9.join(os3.homedir(), ".config"), "workit");
19157
19214
  var migratedDir = null;
19158
19215
  var migrationFailed = false;
19159
19216
  var ensureConfigDir = (dir = resolveConfigDir()) => {
@@ -19163,7 +19220,7 @@ var ensureConfigDir = (dir = resolveConfigDir()) => {
19163
19220
  migratedDir = dir;
19164
19221
  return dir;
19165
19222
  }
19166
- const legacy = path9.join(process.env.XDG_CONFIG_HOME || path9.join(os2.homedir(), ".config"), "workflow-toolkit");
19223
+ const legacy = path9.join(process.env.XDG_CONFIG_HOME || path9.join(os3.homedir(), ".config"), "workflow-toolkit");
19167
19224
  if (!existsSync3(legacy)) {
19168
19225
  migratedDir = dir;
19169
19226
  return dir;
@@ -19437,6 +19494,7 @@ var workspaceConfigSchema = object({
19437
19494
  autoApprove: union([boolean2(), array(nonBlank)]).optional(),
19438
19495
  defaultEndpoint: unknown().optional(),
19439
19496
  verification: _enum(["self", "independent"]).optional(),
19497
+ trailers: boolean2().optional(),
19440
19498
  autonomy: object(Object.fromEntries(["push", "pr", "merge", "release", "rerun"].map((kind) => [
19441
19499
  kind,
19442
19500
  union([boolean2(), literal("verified")]).optional()
@@ -19718,8 +19776,8 @@ var resolveRuntimeWorkspaceVcs = (cwd) => resolveRuntimeWorkspaceCandidate(cwd,
19718
19776
  var runtimeWorkspaceIndexSchema = object({
19719
19777
  workspaces: array(object({ name: nonBlank, glob: nonBlank }).passthrough()).optional()
19720
19778
  }).passthrough();
19721
- var matchRuntimeWorkspace = (cwd) => {
19722
- const file = path10.join(configDir(), "workspaces.json");
19779
+ var matchRuntimeWorkspace = (cwd, dir = configDir()) => {
19780
+ const file = path10.join(dir, "workspaces.json");
19723
19781
  let raw;
19724
19782
  try {
19725
19783
  raw = readFileSync3(file, "utf8");
@@ -19748,7 +19806,7 @@ var matchRuntimeWorkspace = (cwd) => {
19748
19806
  const matches = matchingEntries(cwd, entries ?? []);
19749
19807
  const workspaceName = process.env.WORKFLOW_WORKSPACE_NAME?.trim() || undefined;
19750
19808
  const selected = selectWorkspaceMatch(matches, cwd, workspaceName);
19751
- return selected ? { file, selected } : null;
19809
+ return selected ? { file, selected, matches } : null;
19752
19810
  };
19753
19811
  var resolveRuntimeReleaseTracks = (cwd) => {
19754
19812
  const matched = matchRuntimeWorkspace(cwd);
@@ -20077,7 +20135,7 @@ var git3 = (cwd, args) => {
20077
20135
  return run.status === 0 ? (run.stdout ?? "").trim() : null;
20078
20136
  };
20079
20137
  var recordedBaseKey = (branch) => `branch.${branch}.workitBase`;
20080
- var escapeRegExp = (text) => text.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
20138
+ var escapeRegExp2 = (text) => text.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
20081
20139
  var reflog = (cwd, ref) => (git3(cwd, ["log", "-g", "--date=unix", "--format=%H%x09%gd%x09%gs", ref, "--"]) ?? "").split(`
20082
20140
  `).map((line) => {
20083
20141
  const [sha = "", selector = "", ...subject] = line.split("\t");
@@ -20109,7 +20167,7 @@ function gitTrackProbe(cwd) {
20109
20167
  const created = own.at(-1);
20110
20168
  if (!created || created.subject !== "branch: Created from HEAD")
20111
20169
  return null;
20112
- const pattern = new RegExp(`^checkout: moving from (\\S+) to ${escapeRegExp(branch)}$`, "u");
20170
+ const pattern = new RegExp(`^checkout: moving from (\\S+) to ${escapeRegExp2(branch)}$`, "u");
20113
20171
  const entry = reflog(cwd, "HEAD").findLast((item) => item.time >= created.time && item.sha === created.sha && pattern.test(item.subject));
20114
20172
  return entry ? pattern.exec(entry.subject)?.[1] ?? null : null;
20115
20173
  },
@@ -22549,13 +22607,13 @@ var judgeInputSummary = (raw) => {
22549
22607
  };
22550
22608
 
22551
22609
  // packages/workit-core/src/autonomy.ts
22552
- import os3 from "node:os";
22610
+ import os4 from "node:os";
22553
22611
  import path15 from "node:path";
22554
22612
  var accountHome = () => {
22555
22613
  try {
22556
- return os3.userInfo().homedir;
22614
+ return os4.userInfo().homedir;
22557
22615
  } catch {
22558
- return os3.homedir();
22616
+ return os4.homedir();
22559
22617
  }
22560
22618
  };
22561
22619
  var grantsHome = { resolve: accountHome };
@@ -27783,65 +27841,6 @@ class StdioServerTransport {
27783
27841
 
27784
27842
  // packages/workit-mcp/src/server.ts
27785
27843
  import { fileURLToPath as fileURLToPath2 } from "node:url";
27786
-
27787
- // packages/workit-core/src/core/logger.ts
27788
- import os4 from "node:os";
27789
- var REDACTED = "[REDACTED]";
27790
- var SECRET_VALUE = /\b(?:Bearer|Basic|Digest|Token)\s+\S+/gi;
27791
- var KEY_EQ_VALUE = /\b([A-Za-z0-9_-]*(?:token|secret|password|passwd|apikey|api[_-]?key|authorization|credential|bearer)[A-Za-z0-9_-]*)([:=]\s*).+/gi;
27792
- var URL_QUERY = /(https?:\/\/[^?#\s]+)\?[^#\s]*/g;
27793
- var SENSITIVE_WORDS = new Set([
27794
- "token",
27795
- "secret",
27796
- "password",
27797
- "passwd",
27798
- "authorization",
27799
- "credential",
27800
- "credentials",
27801
- "cookie",
27802
- "api",
27803
- "apikey",
27804
- "apitoken",
27805
- "accesstoken",
27806
- "clientsecret",
27807
- "refreshtoken",
27808
- "key",
27809
- "bearer",
27810
- "prompt",
27811
- "message",
27812
- "messages",
27813
- "content",
27814
- "body",
27815
- "args",
27816
- "argument",
27817
- "result",
27818
- "results",
27819
- "output",
27820
- "issue",
27821
- "description",
27822
- "summary",
27823
- "payload",
27824
- "script",
27825
- "command",
27826
- "text",
27827
- "query"
27828
- ]);
27829
- var STACK_WORDS = new Set(["stack", "stacktrace", "trace"]);
27830
- var escapeRegExp2 = (value) => value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
27831
- var homePattern = new RegExp(`${escapeRegExp2(os4.homedir())}(?=[/\\\\]|$)|\\$HOME(?=[/\\\\]|$)`, "g");
27832
- var applyPatterns = (value) => {
27833
- let out = value;
27834
- out = out.replace(SECRET_VALUE, REDACTED);
27835
- out = out.replace(KEY_EQ_VALUE, "$1$2[REDACTED]");
27836
- out = out.replace(URL_QUERY, "$1?[REDACTED]");
27837
- out = out.replace(homePattern, "~");
27838
- if (process.platform === "win32")
27839
- out = out.replace(/\\/g, "/");
27840
- return out;
27841
- };
27842
- var redactSecrets = (value) => applyPatterns(value);
27843
-
27844
- // packages/workit-mcp/src/server.ts
27845
27844
  class McpCapabilityUnavailableError extends Error {
27846
27845
  capability;
27847
27846
  constructor(capability) {