@gethmy/agent 1.47.0 → 1.47.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/README.md CHANGED
@@ -50,7 +50,7 @@ npx @gethmy/mcp connect
50
50
  "agent": {
51
51
  "poolSize": 3,
52
52
  "pickupColumns": ["To Do"],
53
- "claude": { "model": "claude-opus-5", "escalateModel": "claude-fable-5-1", "reviewModel": "sonnet", "deepReviewModel": "sonnet" },
53
+ "claude": { "model": "claude-opus-5-5", "escalateModel": "claude-fable-5-1", "reviewModel": "sonnet", "deepReviewModel": "sonnet" },
54
54
  "review": {
55
55
  "enabled": true,
56
56
  "poolSize": 2,
package/dist/cli.js CHANGED
@@ -2572,6 +2572,9 @@ function untrustedDataBlock(text, options) {
2572
2572
  `);
2573
2573
  }
2574
2574
 
2575
+ // ../harmony-shared/src/xPostLink.ts
2576
+ var init_xPostLink = () => {};
2577
+
2575
2578
  // ../harmony-shared/src/index.ts
2576
2579
  var init_src = __esm(() => {
2577
2580
  init_agentPauseAccounting();
@@ -2602,6 +2605,7 @@ var init_src = __esm(() => {
2602
2605
  init_runRedaction();
2603
2606
  init_stageHandoff();
2604
2607
  init_sweepPresence();
2608
+ init_xPostLink();
2605
2609
  });
2606
2610
 
2607
2611
  // src/config-merge.ts
@@ -7296,7 +7300,7 @@ class ProgressTracker {
7296
7300
  return PHASES[this.phase].label;
7297
7301
  }
7298
7302
  describeToolAction(name, input) {
7299
- const fileTool = FILE_TOOL_VERBS[name];
7303
+ const fileTool = FILE_TOOL_VERBS.get(name);
7300
7304
  if (fileTool) {
7301
7305
  const [verb, key] = fileTool;
7302
7306
  const fp = this.extractString(input, key);
@@ -7434,13 +7438,13 @@ var init_progress_tracker = __esm(() => {
7434
7438
  finishing: 4
7435
7439
  };
7436
7440
  EDIT_TOOLS = new Set(["Write", "Edit", "MultiEdit", "NotebookEdit"]);
7437
- FILE_TOOL_VERBS = {
7438
- Read: ["Reading", "file_path"],
7439
- Edit: ["Editing", "file_path"],
7440
- MultiEdit: ["Editing", "file_path"],
7441
- Write: ["Writing", "file_path"],
7442
- NotebookEdit: ["Editing notebook", "notebook_path"]
7443
- };
7441
+ FILE_TOOL_VERBS = new Map([
7442
+ ["Read", ["Reading", "file_path"]],
7443
+ ["Edit", ["Editing", "file_path"]],
7444
+ ["MultiEdit", ["Editing", "file_path"]],
7445
+ ["Write", ["Writing", "file_path"]],
7446
+ ["NotebookEdit", ["Editing notebook", "notebook_path"]]
7447
+ ]);
7444
7448
  });
7445
7449
 
7446
7450
  // src/prompt.ts
@@ -16280,6 +16284,12 @@ function describeStartupModel(config, layers, withdrawn) {
16280
16284
  model: claude.model,
16281
16285
  escalateModel: claude.escalateModel,
16282
16286
  reviewModel: config.agent.claude.reviewModel,
16287
+ sizingModel: claude.sizingModel,
16288
+ tiers: {
16289
+ simple: claude.tiers.simple,
16290
+ advanced: claude.tiers.advanced,
16291
+ research: claude.tiers.research
16292
+ },
16283
16293
  source,
16284
16294
  resolved: layers !== null && withdrawn !== null,
16285
16295
  warnings
@@ -16306,9 +16316,15 @@ function ownString(source, key) {
16306
16316
  return typeof value === "string" && value !== "" ? value : undefined;
16307
16317
  }
16308
16318
  function startupModelLine(m) {
16309
- const models = m.model === m.escalateModel ? m.model : `${m.model} → ${m.escalateModel} on retry/high · review ${m.reviewModel}`;
16310
16319
  const origin = m.resolved ? `from ${m.source}` : `from ${m.source}; database model settings unreachable, a pickup may resolve differently`;
16311
- return `${models} (${origin})`;
16320
+ return `${implementModelsLine(m)} (${origin})`;
16321
+ }
16322
+ function implementModelsLine(m) {
16323
+ if (m.sizingModel) {
16324
+ const ladder = TIERS.map((tier) => `${tier} → ${m.tiers[tier]}`).join(" · ");
16325
+ return `sized per pickup by ${m.sizingModel}: ${ladder} (${m.model} only when sizing fails) · review ${m.reviewModel}`;
16326
+ }
16327
+ return m.model === m.escalateModel ? m.model : `${m.model} → ${m.escalateModel} on retry/high · review ${m.reviewModel}`;
16312
16328
  }
16313
16329
  var TIERS;
16314
16330
  var init_startup_model = __esm(() => {
@@ -16489,9 +16505,7 @@ function titleRule(title) {
16489
16505
  return dim(`${prefix}${title}${surround}${suffix}`);
16490
16506
  }
16491
16507
  function localModelLine(config) {
16492
- const { model, escalateModel, reviewModel } = config.agent.claude;
16493
- const models = model === escalateModel ? model : `${model} → ${escalateModel} on retry/high · review ${reviewModel}`;
16494
- return `${models} (local config only; database model settings not read)`;
16508
+ return `${implementModelsLine(config.agent.claude)} (local config only; database model settings not read)`;
16495
16509
  }
16496
16510
  function runnerDesc(runner) {
16497
16511
  return runner === "sdk" ? "sdk (Agent SDK)" : "cli (Claude CLI)";
package/dist/index.js CHANGED
@@ -2571,6 +2571,9 @@ function untrustedDataBlock(text, options) {
2571
2571
  `);
2572
2572
  }
2573
2573
 
2574
+ // ../harmony-shared/src/xPostLink.ts
2575
+ var init_xPostLink = () => {};
2576
+
2574
2577
  // ../harmony-shared/src/index.ts
2575
2578
  var init_src = __esm(() => {
2576
2579
  init_agentPauseAccounting();
@@ -2601,6 +2604,7 @@ var init_src = __esm(() => {
2601
2604
  init_runRedaction();
2602
2605
  init_stageHandoff();
2603
2606
  init_sweepPresence();
2607
+ init_xPostLink();
2604
2608
  });
2605
2609
 
2606
2610
  // src/config-merge.ts
@@ -7295,7 +7299,7 @@ class ProgressTracker {
7295
7299
  return PHASES[this.phase].label;
7296
7300
  }
7297
7301
  describeToolAction(name, input) {
7298
- const fileTool = FILE_TOOL_VERBS[name];
7302
+ const fileTool = FILE_TOOL_VERBS.get(name);
7299
7303
  if (fileTool) {
7300
7304
  const [verb, key] = fileTool;
7301
7305
  const fp = this.extractString(input, key);
@@ -7433,13 +7437,13 @@ var init_progress_tracker = __esm(() => {
7433
7437
  finishing: 4
7434
7438
  };
7435
7439
  EDIT_TOOLS = new Set(["Write", "Edit", "MultiEdit", "NotebookEdit"]);
7436
- FILE_TOOL_VERBS = {
7437
- Read: ["Reading", "file_path"],
7438
- Edit: ["Editing", "file_path"],
7439
- MultiEdit: ["Editing", "file_path"],
7440
- Write: ["Writing", "file_path"],
7441
- NotebookEdit: ["Editing notebook", "notebook_path"]
7442
- };
7440
+ FILE_TOOL_VERBS = new Map([
7441
+ ["Read", ["Reading", "file_path"]],
7442
+ ["Edit", ["Editing", "file_path"]],
7443
+ ["MultiEdit", ["Editing", "file_path"]],
7444
+ ["Write", ["Writing", "file_path"]],
7445
+ ["NotebookEdit", ["Editing notebook", "notebook_path"]]
7446
+ ]);
7443
7447
  });
7444
7448
 
7445
7449
  // src/prompt.ts
@@ -16279,6 +16283,12 @@ function describeStartupModel(config, layers, withdrawn) {
16279
16283
  model: claude.model,
16280
16284
  escalateModel: claude.escalateModel,
16281
16285
  reviewModel: config.agent.claude.reviewModel,
16286
+ sizingModel: claude.sizingModel,
16287
+ tiers: {
16288
+ simple: claude.tiers.simple,
16289
+ advanced: claude.tiers.advanced,
16290
+ research: claude.tiers.research
16291
+ },
16282
16292
  source,
16283
16293
  resolved: layers !== null && withdrawn !== null,
16284
16294
  warnings
@@ -16305,9 +16315,15 @@ function ownString(source, key) {
16305
16315
  return typeof value === "string" && value !== "" ? value : undefined;
16306
16316
  }
16307
16317
  function startupModelLine(m) {
16308
- const models = m.model === m.escalateModel ? m.model : `${m.model} → ${m.escalateModel} on retry/high · review ${m.reviewModel}`;
16309
16318
  const origin = m.resolved ? `from ${m.source}` : `from ${m.source}; database model settings unreachable, a pickup may resolve differently`;
16310
- return `${models} (${origin})`;
16319
+ return `${implementModelsLine(m)} (${origin})`;
16320
+ }
16321
+ function implementModelsLine(m) {
16322
+ if (m.sizingModel) {
16323
+ const ladder = TIERS.map((tier) => `${tier} → ${m.tiers[tier]}`).join(" · ");
16324
+ return `sized per pickup by ${m.sizingModel}: ${ladder} (${m.model} only when sizing fails) · review ${m.reviewModel}`;
16325
+ }
16326
+ return m.model === m.escalateModel ? m.model : `${m.model} → ${m.escalateModel} on retry/high · review ${m.reviewModel}`;
16311
16327
  }
16312
16328
  var TIERS;
16313
16329
  var init_startup_model = __esm(() => {
@@ -16488,9 +16504,7 @@ function titleRule(title) {
16488
16504
  return dim(`${prefix}${title}${surround}${suffix}`);
16489
16505
  }
16490
16506
  function localModelLine(config) {
16491
- const { model, escalateModel, reviewModel } = config.agent.claude;
16492
- const models = model === escalateModel ? model : `${model} → ${escalateModel} on retry/high · review ${reviewModel}`;
16493
- return `${models} (local config only; database model settings not read)`;
16507
+ return `${implementModelsLine(config.agent.claude)} (local config only; database model settings not read)`;
16494
16508
  }
16495
16509
  function runnerDesc(runner) {
16496
16510
  return runner === "sdk" ? "sdk (Agent SDK)" : "cli (Claude CLI)";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gethmy/agent",
3
- "version": "1.47.0",
3
+ "version": "1.47.2",
4
4
  "description": "Push-based agent daemon for Harmony — picks up assigned cards, builds them in isolated git worktrees, and opens PRs. It runs where you put it.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -44,9 +44,9 @@
44
44
  "test": "vitest run"
45
45
  },
46
46
  "dependencies": {
47
- "@anthropic-ai/claude-agent-sdk": "^0.3.178",
48
- "@gethmy/harness": "1.19.1",
49
- "@gethmy/mcp": "3.16.0",
47
+ "@anthropic-ai/claude-agent-sdk": "^0.3.278",
48
+ "@gethmy/harness": "1.19.3",
49
+ "@gethmy/mcp": "3.18.0",
50
50
  "@supabase/supabase-js": "2.95.3"
51
51
  },
52
52
  "devDependencies": {