holycodex 0.7.4-dev.29653277511.1 → 0.7.4-dev.29656781764.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.
Files changed (2) hide show
  1. package/dist/cli.js +194 -24
  2. package/package.json +2 -2
package/dist/cli.js CHANGED
@@ -3925,7 +3925,7 @@ function superRefine(fn, params) {
3925
3925
  }
3926
3926
  //#endregion
3927
3927
  //#region packages/cli/src/catalog.ts
3928
- var VERSION = "0.7.4-dev.29653277511.1";
3928
+ var VERSION = "0.7.4-dev.29656781764.1";
3929
3929
  var SKILLS = [
3930
3930
  "ast-grep",
3931
3931
  "caveman",
@@ -3951,7 +3951,9 @@ var AGENTS = _enum([
3951
3951
  ]).options;
3952
3952
  var PlanNameSchema = _enum([
3953
3953
  "go",
3954
+ "plus-low",
3954
3955
  "plus",
3956
+ "plus-high",
3955
3957
  "pro-5x",
3956
3958
  "pro-20x"
3957
3959
  ]);
@@ -3965,7 +3967,11 @@ _enum([
3965
3967
  var ModelRouteSchema = discriminatedUnion("model", [
3966
3968
  strictObject({
3967
3969
  model: literal("gpt-5.6-luna"),
3968
- reasoningEffort: _enum(["low", "medium"])
3970
+ reasoningEffort: _enum([
3971
+ "low",
3972
+ "medium",
3973
+ "high"
3974
+ ])
3969
3975
  }),
3970
3976
  strictObject({
3971
3977
  model: literal("gpt-5.6-terra"),
@@ -3978,6 +3984,7 @@ var ModelRouteSchema = discriminatedUnion("model", [
3978
3984
  strictObject({
3979
3985
  model: literal("gpt-5.6-sol"),
3980
3986
  reasoningEffort: _enum([
3987
+ "low",
3981
3988
  "medium",
3982
3989
  "high",
3983
3990
  "xhigh"
@@ -3990,11 +3997,17 @@ var RoutingPresetSchema = strictObject({
3990
3997
  explorer: ModelRouteSchema,
3991
3998
  librarian: ModelRouteSchema,
3992
3999
  worker: ModelRouteSchema
4000
+ }),
4001
+ usage: strictObject({
4002
+ maxThreads: union([literal(1), literal(2)]),
4003
+ maxDepth: literal(1)
3993
4004
  })
3994
4005
  });
3995
4006
  var ModelRoutingPlansSchema = strictObject({
3996
4007
  go: RoutingPresetSchema,
4008
+ "plus-low": RoutingPresetSchema,
3997
4009
  plus: RoutingPresetSchema,
4010
+ "plus-high": RoutingPresetSchema,
3998
4011
  "pro-5x": RoutingPresetSchema,
3999
4012
  "pro-20x": RoutingPresetSchema
4000
4013
  });
@@ -4002,22 +4015,50 @@ var DEFAULT_PLAN = "plus";
4002
4015
  var MODEL_ROUTING_PLANS = ModelRoutingPlansSchema.parse({
4003
4016
  go: {
4004
4017
  root: {
4005
- model: "gpt-5.6-terra",
4006
- reasoningEffort: "medium"
4018
+ model: "gpt-5.6-sol",
4019
+ reasoningEffort: "low"
4007
4020
  },
4008
4021
  agents: {
4009
4022
  explorer: {
4010
- model: "gpt-5.6-terra",
4023
+ model: "gpt-5.6-luna",
4011
4024
  reasoningEffort: "low"
4012
4025
  },
4013
4026
  librarian: {
4027
+ model: "gpt-5.6-luna",
4028
+ reasoningEffort: "low"
4029
+ },
4030
+ worker: {
4014
4031
  model: "gpt-5.6-terra",
4015
4032
  reasoningEffort: "low"
4033
+ }
4034
+ },
4035
+ usage: {
4036
+ maxThreads: 1,
4037
+ maxDepth: 1
4038
+ }
4039
+ },
4040
+ "plus-low": {
4041
+ root: {
4042
+ model: "gpt-5.6-sol",
4043
+ reasoningEffort: "low"
4044
+ },
4045
+ agents: {
4046
+ explorer: {
4047
+ model: "gpt-5.6-luna",
4048
+ reasoningEffort: "low"
4049
+ },
4050
+ librarian: {
4051
+ model: "gpt-5.6-luna",
4052
+ reasoningEffort: "medium"
4016
4053
  },
4017
4054
  worker: {
4018
4055
  model: "gpt-5.6-terra",
4019
4056
  reasoningEffort: "medium"
4020
4057
  }
4058
+ },
4059
+ usage: {
4060
+ maxThreads: 1,
4061
+ maxDepth: 1
4021
4062
  }
4022
4063
  },
4023
4064
  plus: {
@@ -4028,16 +4069,44 @@ var MODEL_ROUTING_PLANS = ModelRoutingPlansSchema.parse({
4028
4069
  agents: {
4029
4070
  explorer: {
4030
4071
  model: "gpt-5.6-luna",
4031
- reasoningEffort: "low"
4072
+ reasoningEffort: "medium"
4032
4073
  },
4033
4074
  librarian: {
4034
- model: "gpt-5.6-luna",
4075
+ model: "gpt-5.6-terra",
4035
4076
  reasoningEffort: "low"
4036
4077
  },
4037
4078
  worker: {
4038
4079
  model: "gpt-5.6-terra",
4039
4080
  reasoningEffort: "high"
4040
4081
  }
4082
+ },
4083
+ usage: {
4084
+ maxThreads: 2,
4085
+ maxDepth: 1
4086
+ }
4087
+ },
4088
+ "plus-high": {
4089
+ root: {
4090
+ model: "gpt-5.6-sol",
4091
+ reasoningEffort: "medium"
4092
+ },
4093
+ agents: {
4094
+ explorer: {
4095
+ model: "gpt-5.6-terra",
4096
+ reasoningEffort: "medium"
4097
+ },
4098
+ librarian: {
4099
+ model: "gpt-5.6-terra",
4100
+ reasoningEffort: "medium"
4101
+ },
4102
+ worker: {
4103
+ model: "gpt-5.6-sol",
4104
+ reasoningEffort: "medium"
4105
+ }
4106
+ },
4107
+ usage: {
4108
+ maxThreads: 2,
4109
+ maxDepth: 1
4041
4110
  }
4042
4111
  },
4043
4112
  "pro-5x": {
@@ -4048,7 +4117,7 @@ var MODEL_ROUTING_PLANS = ModelRoutingPlansSchema.parse({
4048
4117
  agents: {
4049
4118
  explorer: {
4050
4119
  model: "gpt-5.6-terra",
4051
- reasoningEffort: "high"
4120
+ reasoningEffort: "medium"
4052
4121
  },
4053
4122
  librarian: {
4054
4123
  model: "gpt-5.6-terra",
@@ -4058,37 +4127,127 @@ var MODEL_ROUTING_PLANS = ModelRoutingPlansSchema.parse({
4058
4127
  model: "gpt-5.6-sol",
4059
4128
  reasoningEffort: "medium"
4060
4129
  }
4130
+ },
4131
+ usage: {
4132
+ maxThreads: 2,
4133
+ maxDepth: 1
4061
4134
  }
4062
4135
  },
4063
4136
  "pro-20x": {
4064
4137
  root: {
4065
4138
  model: "gpt-5.6-sol",
4066
- reasoningEffort: "xhigh"
4139
+ reasoningEffort: "high"
4067
4140
  },
4068
4141
  agents: {
4069
4142
  explorer: {
4070
- model: "gpt-5.6-sol",
4071
- reasoningEffort: "medium"
4143
+ model: "gpt-5.6-luna",
4144
+ reasoningEffort: "high"
4072
4145
  },
4073
4146
  librarian: {
4074
- model: "gpt-5.6-sol",
4075
- reasoningEffort: "medium"
4147
+ model: "gpt-5.6-terra",
4148
+ reasoningEffort: "high"
4076
4149
  },
4077
4150
  worker: {
4078
4151
  model: "gpt-5.6-sol",
4079
4152
  reasoningEffort: "high"
4080
4153
  }
4154
+ },
4155
+ usage: {
4156
+ maxThreads: 2,
4157
+ maxDepth: 1
4081
4158
  }
4082
4159
  }
4083
4160
  });
4084
4161
  MODEL_ROUTING_PLANS[DEFAULT_PLAN].root;
4085
4162
  MODEL_ROUTING_PLANS[DEFAULT_PLAN].agents;
4163
+ var LEGACY_MANAGED_AGENT_MODEL_HISTORY = {
4164
+ go: {
4165
+ explorer: [{
4166
+ model: "gpt-5.6-terra",
4167
+ reasoningEffort: "low"
4168
+ }],
4169
+ librarian: [{
4170
+ model: "gpt-5.6-terra",
4171
+ reasoningEffort: "low"
4172
+ }],
4173
+ worker: [{
4174
+ model: "gpt-5.6-terra",
4175
+ reasoningEffort: "medium"
4176
+ }]
4177
+ },
4178
+ "plus-low": {
4179
+ explorer: [],
4180
+ librarian: [],
4181
+ worker: []
4182
+ },
4183
+ plus: {
4184
+ explorer: [{
4185
+ model: "gpt-5.6-luna",
4186
+ reasoningEffort: "low"
4187
+ }],
4188
+ librarian: [{
4189
+ model: "gpt-5.6-luna",
4190
+ reasoningEffort: "low"
4191
+ }],
4192
+ worker: [{
4193
+ model: "gpt-5.6-terra",
4194
+ reasoningEffort: "high"
4195
+ }]
4196
+ },
4197
+ "plus-high": {
4198
+ explorer: [],
4199
+ librarian: [],
4200
+ worker: []
4201
+ },
4202
+ "pro-5x": {
4203
+ explorer: [{
4204
+ model: "gpt-5.6-terra",
4205
+ reasoningEffort: "high"
4206
+ }],
4207
+ librarian: [{
4208
+ model: "gpt-5.6-terra",
4209
+ reasoningEffort: "high"
4210
+ }],
4211
+ worker: [{
4212
+ model: "gpt-5.6-sol",
4213
+ reasoningEffort: "medium"
4214
+ }]
4215
+ },
4216
+ "pro-20x": {
4217
+ explorer: [{
4218
+ model: "gpt-5.6-sol",
4219
+ reasoningEffort: "medium"
4220
+ }],
4221
+ librarian: [{
4222
+ model: "gpt-5.6-sol",
4223
+ reasoningEffort: "medium"
4224
+ }],
4225
+ worker: [{
4226
+ model: "gpt-5.6-sol",
4227
+ reasoningEffort: "high"
4228
+ }, {
4229
+ model: "gpt-5.6-luna",
4230
+ reasoningEffort: "medium"
4231
+ }]
4232
+ }
4233
+ };
4234
+ function managedPlanAgentModels(plan) {
4235
+ return {
4236
+ explorer: [MODEL_ROUTING_PLANS[plan].agents.explorer, ...LEGACY_MANAGED_AGENT_MODEL_HISTORY[plan].explorer],
4237
+ librarian: [MODEL_ROUTING_PLANS[plan].agents.librarian, ...LEGACY_MANAGED_AGENT_MODEL_HISTORY[plan].librarian],
4238
+ worker: [MODEL_ROUTING_PLANS[plan].agents.worker, ...LEGACY_MANAGED_AGENT_MODEL_HISTORY[plan].worker]
4239
+ };
4240
+ }
4241
+ var MANAGED_AGENT_MODEL_HISTORY_BY_PLAN = {
4242
+ go: managedPlanAgentModels("go"),
4243
+ "plus-low": managedPlanAgentModels("plus-low"),
4244
+ plus: managedPlanAgentModels("plus"),
4245
+ "plus-high": managedPlanAgentModels("plus-high"),
4246
+ "pro-5x": managedPlanAgentModels("pro-5x"),
4247
+ "pro-20x": managedPlanAgentModels("pro-20x")
4248
+ };
4086
4249
  function managedAgentModels(agent) {
4087
- const routes = PLAN_NAMES.map((plan) => MODEL_ROUTING_PLANS[plan].agents[agent]);
4088
- return agent === "worker" ? [...routes, {
4089
- model: "gpt-5.6-luna",
4090
- reasoningEffort: "medium"
4091
- }] : routes;
4250
+ return PLAN_NAMES.flatMap((plan) => MANAGED_AGENT_MODEL_HISTORY_BY_PLAN[plan][agent]);
4092
4251
  }
4093
4252
  var MANAGED_AGENT_MODEL_HISTORY = {
4094
4253
  explorer: managedAgentModels("explorer"),
@@ -4522,7 +4681,8 @@ function preserveManagedRootPreferences(input, base) {
4522
4681
  let updatedRoot = root.trim();
4523
4682
  for (const [key, fallback] of rootPreferences(previousPlan)) {
4524
4683
  const live = rootValue(managedRoot, key)?.trim();
4525
- if (live === void 0 || live === (rootValue(root, key)?.trim() ?? fallback)) continue;
4684
+ const legacy = previousPlan === "pro-20x" && key === "model_reasoning_effort" ? ["model_reasoning_effort = \"xhigh\""] : [];
4685
+ if (live === void 0 || live === (rootValue(root, key)?.trim() ?? fallback) || legacy.includes(live)) continue;
4526
4686
  updatedRoot = removeRootValue(updatedRoot, rootValue(updatedRoot, key)).trim();
4527
4687
  updatedRoot = `${updatedRoot}${updatedRoot ? "\n" : ""}${live}`;
4528
4688
  }
@@ -4561,8 +4721,9 @@ function installConfig(input, mode, _platform, plan = DEFAULT_PLAN) {
4561
4721
  let configured = `${`${START}\n${PLAN_PREFIX}${plan}\n${originalRoot ? `${ORIGINAL_ROOT}${Buffer.from(originalRoot).toString("base64")}\n` : ""}${model}${effort}${verbosity}${preservedRoot ? `${preservedRoot}\n` : ""}approval_policy = "${approval}"\nsandbox_mode = "${sandbox}"\nstatus_line = ${mergedStatusLine(controlled[3])}\n${END}`}${tables ? `\n\n${tables}` : ""}`;
4562
4722
  configured = injectTableKey(configured, "features", "default_mode_request_user_input", "true");
4563
4723
  configured = injectTableKey(configured, "features", "multi_agent", "true");
4564
- configured = injectTableKey(configured, "agents", "max_threads", "2");
4565
- configured = injectTableKey(configured, "agents", "max_depth", "1");
4724
+ const usage = MODEL_ROUTING_PLANS[plan].usage;
4725
+ configured = injectTableKey(configured, "agents", "max_threads", String(usage.maxThreads));
4726
+ configured = injectTableKey(configured, "agents", "max_depth", String(usage.maxDepth));
4566
4727
  if (mode !== "dangerous") configured = injectTableKey(configured, "sandbox_workspace_write", "network_access", "true");
4567
4728
  for (const agent of AGENTS) configured = injectTableKey(configured, `agents.${agent}`, "config_file", `"holycodex/agents/${agent}.toml"`);
4568
4729
  const plugin = `${START}\n[marketplaces.holycodex]\nsource = "https://github.com/davidbasilefilho/holycodex.git"\n\n[plugins."holycodex@holycodex"]\nenabled = true\n${END}`;
@@ -4651,6 +4812,11 @@ function tableBoolean(config, table, key) {
4651
4812
  const value = body === void 0 ? void 0 : new RegExp(`^\\s*${key}\\s*=\\s*(true|false)`, "m").exec(body)?.[1];
4652
4813
  return value === void 0 ? void 0 : value === "true";
4653
4814
  }
4815
+ function tableInteger(config, table, key) {
4816
+ const body = new RegExp(`^\\s*\\[${table.replaceAll(".", "\\.")}]\\s*$([\\s\\S]*?)(?=^\\s*\\[|(?![\\s\\S]))`, "m").exec(config)?.[1];
4817
+ const value = body === void 0 ? void 0 : new RegExp(`^\\s*${key}\\s*=\\s*(\\d+)`, "m").exec(body)?.[1];
4818
+ return value === void 0 ? void 0 : Number(value);
4819
+ }
4654
4820
  function autonomy(config) {
4655
4821
  const approval = rootTomlString(config, "approval_policy");
4656
4822
  const sandbox = rootTomlString(config, "sandbox_mode");
@@ -4729,6 +4895,9 @@ async function doctor(home = process.env.CODEX_HOME ?? join(homedir(), ".codex")
4729
4895
  const mode = autonomy(config);
4730
4896
  const plan = readManagedPlan(config);
4731
4897
  checks.push(plan === void 0 ? check("routing-plan", "error", "routing-plan-missing", "No managed model routing plan is recorded.", "Rerun holycodex install.") : check("routing-plan", "ok", "routing-plan-ready", `Model routing plan ${plan} is active.`));
4898
+ const preset = plan === void 0 ? void 0 : MODEL_ROUTING_PLANS[plan];
4899
+ checks.push(preset === void 0 || rootTomlString(config, "model") !== preset.root.model || rootTomlString(config, "model_reasoning_effort") !== preset.root.reasoningEffort ? check("root-model", "error", "root-model-stale", "Root model configuration does not match the selected routing plan.", "Reinstall HolyCodex.") : check("root-model", "ok", "root-model-ready", "Root model matches the selected routing plan."));
4900
+ checks.push(preset === void 0 || tableInteger(config, "agents", "max_threads") !== preset.usage.maxThreads || tableInteger(config, "agents", "max_depth") !== preset.usage.maxDepth ? check("agent-usage", "error", "agent-usage-stale", "Agent concurrency configuration does not match the selected routing plan.", "Reinstall HolyCodex.") : check("agent-usage", "ok", "agent-usage-ready", "Agent concurrency matches the selected routing plan."));
4732
4901
  checks.push(mode === "unknown" ? check("autonomy", "error", "invalid-autonomy-config", "Approval, sandbox, and network settings do not match a supported mode.", "Rerun install with the intended autonomy flag.") : mode === "dangerous" ? check("autonomy", "warning", "dangerous-autonomy", "Explicit dangerous autonomy is active; workspace containment is removed.") : check("autonomy", "ok", `${mode}-ready`, mode === "safe-workspace" ? "Safe workspace autonomy is active." : "Approval-free workspace autonomy is active."));
4733
4902
  checks.push(tableBoolean(config, "features", "default_mode_request_user_input") === true ? check("user-input", "ok", "user-input-ready", "default_mode_request_user_input is enabled.") : check("user-input", "error", "user-input-disabled", "default_mode_request_user_input is not enabled.", "Rerun holycodex install."));
4734
4903
  checks.push(rootTomlStringArray(config, "status_line")?.includes("context-remaining") === true ? check("context-visibility", "warning", "context-visible-support-unverified", "status_line includes context-remaining. Current official Codex config documents this item, but publishes no minimum compatible Codex version.") : check("context-visibility", "error", "context-hidden", "status_line does not include context-remaining.", "Rerun holycodex install."));
@@ -4880,7 +5049,7 @@ async function readAgentPreferences(root, previousPlan) {
4880
5049
  const model = rootTomlString(source, "model");
4881
5050
  const reasoningEffort = rootTomlString(source, "model_reasoning_effort");
4882
5051
  if (model === void 0 && reasoningEffort === void 0) return;
4883
- if (!(previousPlan === void 0 ? MANAGED_AGENT_MODEL_HISTORY[agent] : [MODEL_ROUTING_PLANS[previousPlan].agents[agent]]).some((item) => item.model === model && item.reasoningEffort === reasoningEffort)) preferences[agent] = {
5052
+ if (!(previousPlan === void 0 ? MANAGED_AGENT_MODEL_HISTORY[agent] : MANAGED_AGENT_MODEL_HISTORY_BY_PLAN[previousPlan][agent]).some((item) => item.model === model && item.reasoningEffort === reasoningEffort)) preferences[agent] = {
4884
5053
  ...model === void 0 ? {} : { model },
4885
5054
  ...reasoningEffort === void 0 ? {} : { reasoningEffort }
4886
5055
  };
@@ -4957,6 +5126,7 @@ async function cleanup(_options) {
4957
5126
  }
4958
5127
  //#endregion
4959
5128
  //#region packages/cli/src/presentation.ts
5129
+ var PLAN_HELP = `${PLAN_NAMES.slice(0, -1).join(", ")}, or ${PLAN_NAMES.at(-1)}`;
4960
5130
  var RESET = "\x1B[0m";
4961
5131
  var BOLD = "\x1B[1m";
4962
5132
  var CYAN = "\x1B[36m";
@@ -4981,13 +5151,13 @@ function renderHelp(version, color) {
4981
5151
  const title = paint(color, `${BOLD}${CYAN}`, `HOLYCODEX ${version}`);
4982
5152
  const section = (text) => paint(color, BOLD, text);
4983
5153
  const muted = (text) => paint(color, DIM, text);
4984
- return `${title}\n${muted("Lean Codex toolkit installer and doctor")}\n\n${section("USAGE")}\n holycodex <command> [options]\n\n${section("COMMANDS")}\n install Install or update HolyCodex\n cleanup Remove HolyCodex-owned state\n doctor Diagnose installation and runtime\n\n${section("OPTIONS")}\n --plan <plan> Model routing plan for install: ${PLAN_NAMES.join(", ")}\n Default: ${DEFAULT_PLAN}\n -h, --help Show help\n -v, --version Show version\n --no-tui Accepted; commands remain noninteractive\n --codex-autonomous Never ask; keep workspace sandbox\n --no-codex-autonomous Safe interactive defaults\n --dangerous-codex-autonomous Never ask; disable filesystem sandbox\n --json Print machine-readable output\n`;
5154
+ return `${title}\n${muted("Lean Codex toolkit installer and doctor")}\n\n${section("USAGE")}\n holycodex <command> [options]\n\n${section("COMMANDS")}\n install Install or update HolyCodex\n cleanup Remove HolyCodex-owned state\n doctor Diagnose installation and runtime\n\n${section("OPTIONS")}\n --plan <plan> Model routing plan for install: ${PLAN_HELP}\n Default: ${DEFAULT_PLAN}\n -h, --help Show help\n -v, --version Show version\n --no-tui Accepted; commands remain noninteractive\n --codex-autonomous Never ask; keep workspace sandbox\n --no-codex-autonomous Safe interactive defaults\n --dangerous-codex-autonomous Never ask; disable filesystem sandbox\n --json Print machine-readable output\n`;
4985
5155
  }
4986
5156
  /** Renders install-specific model plan and option help. */
4987
5157
  function renderInstallHelp(version, color) {
4988
5158
  const title = paint(color, `${BOLD}${CYAN}`, `HOLYCODEX ${version}`);
4989
5159
  const section = (text) => paint(color, BOLD, text);
4990
- return `${title}\n\n${section("Usage:")}\n holycodex install [options]\n\n${section("Options:")}\n --plan <plan> Model routing plan: go, plus, pro-5x, or pro-20x\n Default: plus\n --json Print machine-readable output\n --no-tui Accepted; install remains noninteractive\n --codex-autonomous Never ask; keep workspace sandbox\n --no-codex-autonomous Safe interactive defaults\n --dangerous-codex-autonomous Never ask; disable filesystem sandbox\n -h, --help Show help\n\nPlans optimize model routing for the corresponding ChatGPT subscription allowance.\n\n${section("Examples:")}\n bunx holycodex install\n bunx holycodex install --plan go\n bunx holycodex install --plan pro-5x\n bunx holycodex install --plan pro-20x\n`;
5160
+ return `${title}\n\n${section("Usage:")}\n holycodex install [options]\n\n${section("Options:")}\n --plan <plan> Model routing plan: ${PLAN_HELP}\n Default: ${DEFAULT_PLAN}\n --json Print machine-readable output\n --no-tui Accepted; install remains noninteractive\n --codex-autonomous Never ask; keep workspace sandbox\n --no-codex-autonomous Safe interactive defaults\n --dangerous-codex-autonomous Never ask; disable filesystem sandbox\n -h, --help Show help\n\nPlans provide increasing expected model usage and capability.\n\n${section("Examples:")}\n bunx holycodex install\n bunx holycodex install --plan go\n bunx holycodex install --plan plus-low\n bunx holycodex install --plan plus-high\n bunx holycodex install --plan pro-5x\n bunx holycodex install --plan pro-20x\n`;
4991
5161
  }
4992
5162
  /** Renders error. */
4993
5163
  function renderError(message, color) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "holycodex",
3
- "version": "0.7.4-dev.29653277511.1",
3
+ "version": "0.7.4-dev.29656781764.1",
4
4
  "description": "Lean Codex-only agent toolkit installer and doctor",
5
5
  "keywords": [
6
6
  "agents",
@@ -39,7 +39,7 @@
39
39
  "prepack": "vp run --workspace-root build"
40
40
  },
41
41
  "dependencies": {
42
- "@holycodex/plugin": "0.7.4-dev.29653277511.1",
42
+ "@holycodex/plugin": "0.7.4-dev.29656781764.1",
43
43
  "zod": "^4.4.3"
44
44
  },
45
45
  "engines": {