@integrity-labs/agt-cli 0.28.999 → 0.28.1001

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 (25) hide show
  1. package/dist/bin/agt.js +5 -5
  2. package/dist/bin/agt.js.map +1 -1
  3. package/dist/{chunk-GMSDTOIJ.js → chunk-AKSY2IXR.js} +4 -4
  4. package/dist/{chunk-GMSDTOIJ.js.map → chunk-AKSY2IXR.js.map} +1 -1
  5. package/dist/{chunk-GADDU3OI.js → chunk-DGVA3EGS.js} +12 -2
  6. package/dist/chunk-DGVA3EGS.js.map +1 -0
  7. package/dist/{chunk-IFKADCYL.js → chunk-S6GIPDPI.js} +2 -2
  8. package/dist/{claude-pair-runtime-LEBWTMUD.js → claude-pair-runtime-3MVJHMXZ.js} +2 -2
  9. package/dist/lib/manager-worker.js +14 -14
  10. package/dist/lib/manager-worker.js.map +1 -1
  11. package/dist/mcp/direct-chat-channel.js +11 -1
  12. package/dist/mcp/index.js +57 -14
  13. package/dist/mcp/origami.js +11 -1
  14. package/dist/mcp/slack-channel.js +11 -1
  15. package/dist/mcp/telegram-channel.js +11 -1
  16. package/dist/{persistent-session-3HKYLJJ4.js → persistent-session-TJCQT3PO.js} +3 -3
  17. package/dist/{responsiveness-probe-NTADLB6L.js → responsiveness-probe-735NGRLO.js} +3 -3
  18. package/dist/{session-auth-dead-DXSFQIX2.js → session-auth-dead-YP4EGJTE.js} +2 -2
  19. package/package.json +1 -1
  20. package/dist/chunk-GADDU3OI.js.map +0 -1
  21. /package/dist/{chunk-IFKADCYL.js.map → chunk-S6GIPDPI.js.map} +0 -0
  22. /package/dist/{claude-pair-runtime-LEBWTMUD.js.map → claude-pair-runtime-3MVJHMXZ.js.map} +0 -0
  23. /package/dist/{persistent-session-3HKYLJJ4.js.map → persistent-session-TJCQT3PO.js.map} +0 -0
  24. /package/dist/{responsiveness-probe-NTADLB6L.js.map → responsiveness-probe-735NGRLO.js.map} +0 -0
  25. /package/dist/{session-auth-dead-DXSFQIX2.js.map → session-auth-dead-YP4EGJTE.js.map} +0 -0
@@ -33813,7 +33813,17 @@ var INTEGRATION_REGISTRY = [
33813
33813
  premium: {
33814
33814
  pricing: "usage",
33815
33815
  note: "Billed per generated image; the rate depends on the model/version used.",
33816
- meters: [{ event_type: "gpt_image_2", unit: "image" }]
33816
+ meters: [
33817
+ { event_type: "gpt_image_2", unit: "image" },
33818
+ // GPT Image 2.5 (2026-09-18). Two meters, not one, because the two
33819
+ // variants are priced differently on OUR rate card even though OpenAI
33820
+ // charges the same per-token rate for both - Sunburst emits far more
33821
+ // image-output tokens, and per-image metering has to carry that in the
33822
+ // price. Flare holds gpt-image-2's rate (it is the lower-latency
33823
+ // successor at the same cost to us); Sunburst is seeded at 4x.
33824
+ { event_type: "gpt_image_2_5_flare", unit: "image" },
33825
+ { event_type: "gpt_image_2_5_sunburst", unit: "image" }
33826
+ ]
33817
33827
  }
33818
33828
  },
33819
33829
  {
package/dist/mcp/index.js CHANGED
@@ -26395,7 +26395,17 @@ var INTEGRATION_REGISTRY = [
26395
26395
  premium: {
26396
26396
  pricing: "usage",
26397
26397
  note: "Billed per generated image; the rate depends on the model/version used.",
26398
- meters: [{ event_type: "gpt_image_2", unit: "image" }]
26398
+ meters: [
26399
+ { event_type: "gpt_image_2", unit: "image" },
26400
+ // GPT Image 2.5 (2026-09-18). Two meters, not one, because the two
26401
+ // variants are priced differently on OUR rate card even though OpenAI
26402
+ // charges the same per-token rate for both - Sunburst emits far more
26403
+ // image-output tokens, and per-image metering has to carry that in the
26404
+ // price. Flare holds gpt-image-2's rate (it is the lower-latency
26405
+ // successor at the same cost to us); Sunburst is seeded at 4x.
26406
+ { event_type: "gpt_image_2_5_flare", unit: "image" },
26407
+ { event_type: "gpt_image_2_5_sunburst", unit: "image" }
26408
+ ]
26399
26409
  }
26400
26410
  },
26401
26411
  {
@@ -46706,8 +46716,26 @@ function buildKanbanUpdateItem(id, fields) {
46706
46716
  if (fields.result !== void 0) item.result = fields.result;
46707
46717
  if (fields.new_title !== void 0) item.new_title = fields.new_title;
46708
46718
  if (fields.new_description !== void 0) item.new_description = fields.new_description;
46719
+ if (fields.priority !== void 0) item.priority = fields.priority;
46709
46720
  return item;
46710
46721
  }
46722
+ function resolveKanbanUpdateTarget(match, params) {
46723
+ if (match) {
46724
+ if (match.assigned) {
46725
+ return {
46726
+ kind: "human_assigned",
46727
+ id: match.id,
46728
+ title: match.title,
46729
+ ...match.assigneeName ? { assigneeName: match.assigneeName } : {}
46730
+ };
46731
+ }
46732
+ return { kind: "send", id: match.id, label: match.title };
46733
+ }
46734
+ if (params.id) {
46735
+ return { kind: "send", id: params.id, label: params.id };
46736
+ }
46737
+ return { kind: "not_found", label: params.title ?? params.id ?? "" };
46738
+ }
46711
46739
 
46712
46740
  // src/kanban-add.ts
46713
46741
  function buildKanbanAddItem(params) {
@@ -47446,7 +47474,7 @@ server.tool(
47446
47474
  );
47447
47475
  server.tool(
47448
47476
  "kanban_update",
47449
- "Update notes, result, title or description on a kanban item without changing its status. CS-1682: `new_title`/`new_description` CORRECT the card itself \u2014 use them when a card was created on a premise that turned out to be wrong, so later readers see the corrected framing rather than the original error with a retraction buried in notes. Every content change is recorded append-only in the card's event history with its before and after, so a correction is visible as a correction and can never be a silent rewrite.",
47477
+ "Update notes, result, title, description or PRIORITY on a kanban item without changing its status. CS-1682: `new_title`/`new_description` CORRECT the card itself \u2014 use them when a card was created on a premise that turned out to be wrong, so later readers see the corrected framing rather than the original error with a retraction buried in notes. Every content change is recorded append-only in the card's event history with its before and after, so a correction is visible as a correction and can never be a silent rewrite. CS-1750: `priority` RE-RANKS a card you already filed - use it when work turns out to be more or less urgent than it looked. This matters more than it sounds: your own board feed is ordered by priority and TRUNCATED, so a card left at the wrong priority can fall out of the list you read.",
47450
47478
  {
47451
47479
  id: external_exports.string().optional().describe("Item UUID (preferred)"),
47452
47480
  title: external_exports.string().optional().describe(
@@ -47461,6 +47489,12 @@ server.tool(
47461
47489
  ),
47462
47490
  new_description: external_exports.string().optional().describe(
47463
47491
  "CS-1682: replace the card's description. Use to correct a description founded on a false premise; the previous text is preserved in the card's event history."
47492
+ ),
47493
+ // CS-1750: the same shape kanban_add declares, deliberately character for character.
47494
+ // A tool that accepted a wider range here than the one that created the card would
47495
+ // let an agent re-rank a card into a value it could never have filed it at.
47496
+ priority: external_exports.number().int().min(1).max(3).optional().describe(
47497
+ "CS-1750: re-rank the card. 1=high, 2=medium, 3=low. Omit to leave it unchanged; the previous value is preserved in the card's event history."
47464
47498
  )
47465
47499
  },
47466
47500
  async (params) => {
@@ -47476,21 +47510,28 @@ server.tool(
47476
47510
  const match = board.items.find(
47477
47511
  (i) => i.id === params.id || i.title === params.title
47478
47512
  );
47479
- if (!match) {
47513
+ const target = resolveKanbanUpdateTarget(
47514
+ match ? {
47515
+ id: match.id,
47516
+ title: match.title,
47517
+ assigned: isHumanAssigned(match),
47518
+ assigneeName: match.assignee_name ?? null
47519
+ } : void 0,
47520
+ { id: params.id, title: params.title }
47521
+ );
47522
+ if (target.kind === "not_found") {
47480
47523
  return {
47481
- content: [
47482
- { type: "text", text: `Item "${params.id ?? params.title}" not found.` }
47483
- ],
47524
+ content: [{ type: "text", text: `Item "${target.label}" not found.` }],
47484
47525
  isError: true
47485
47526
  };
47486
47527
  }
47487
- if (isHumanAssigned(match)) {
47488
- const who = match.assignee_name ? ` (${match.assignee_name})` : "";
47528
+ if (target.kind === "human_assigned") {
47529
+ const who = target.assigneeName ? ` (${target.assigneeName})` : "";
47489
47530
  return {
47490
47531
  content: [
47491
47532
  {
47492
47533
  type: "text",
47493
- text: `Can't update "${match.title}" \u2014 that card is assigned to a person${who}, not to you. Call kanban_recall with id ${match.id} to bring it back onto your board first.`
47534
+ text: `Can't update "${target.title}" \u2014 that card is assigned to a person${who}, not to you. Call kanban_recall with id ${target.id} to bring it back onto your board first.`
47494
47535
  }
47495
47536
  ],
47496
47537
  isError: true
@@ -47499,7 +47540,7 @@ server.tool(
47499
47540
  const data = await apiPost("/host/kanban", {
47500
47541
  agent_id: AGT_AGENT_ID,
47501
47542
  update: [
47502
- buildKanbanUpdateItem(match.id, {
47543
+ buildKanbanUpdateItem(target.id, {
47503
47544
  notes: params.notes,
47504
47545
  result: params.result,
47505
47546
  // CS-1682: `new_*` all the way down to the wire, NOT plain `title`.
@@ -47508,18 +47549,20 @@ server.tool(
47508
47549
  // renaming anything. Keeping the names distinct end-to-end is what
47509
47550
  // makes that impossible rather than merely unlikely.
47510
47551
  new_title: params.new_title,
47511
- new_description: params.new_description
47552
+ new_description: params.new_description,
47553
+ // CS-1750: presence-guarded all the way down - see buildKanbanUpdateItem.
47554
+ priority: params.priority
47512
47555
  })
47513
47556
  ]
47514
47557
  });
47515
47558
  const outcome = describeKanbanWriteOutcome(
47516
47559
  data,
47517
- { id: match.id },
47518
- match.title,
47560
+ { id: target.id },
47561
+ target.label,
47519
47562
  // CS-1683: say so when the append evicted older inline notes. `kanban_log`
47520
47563
  // has warned since ENG-5731; this tool did not, and it is the one whose
47521
47564
  // NAME does not tell you `notes` is an append at all.
47522
- () => `Updated "${match.title}".${noteRollOffNotice(data)}`
47565
+ () => `Updated "${target.label}".${noteRollOffNotice(data)}`
47523
47566
  );
47524
47567
  return {
47525
47568
  content: [{ type: "text", text: outcome.text }],
@@ -40546,7 +40546,17 @@ var INTEGRATION_REGISTRY = [
40546
40546
  premium: {
40547
40547
  pricing: "usage",
40548
40548
  note: "Billed per generated image; the rate depends on the model/version used.",
40549
- meters: [{ event_type: "gpt_image_2", unit: "image" }]
40549
+ meters: [
40550
+ { event_type: "gpt_image_2", unit: "image" },
40551
+ // GPT Image 2.5 (2026-09-18). Two meters, not one, because the two
40552
+ // variants are priced differently on OUR rate card even though OpenAI
40553
+ // charges the same per-token rate for both - Sunburst emits far more
40554
+ // image-output tokens, and per-image metering has to carry that in the
40555
+ // price. Flare holds gpt-image-2's rate (it is the lower-latency
40556
+ // successor at the same cost to us); Sunburst is seeded at 4x.
40557
+ { event_type: "gpt_image_2_5_flare", unit: "image" },
40558
+ { event_type: "gpt_image_2_5_sunburst", unit: "image" }
40559
+ ]
40550
40560
  }
40551
40561
  },
40552
40562
  {
@@ -34769,7 +34769,17 @@ var INTEGRATION_REGISTRY = [
34769
34769
  premium: {
34770
34770
  pricing: "usage",
34771
34771
  note: "Billed per generated image; the rate depends on the model/version used.",
34772
- meters: [{ event_type: "gpt_image_2", unit: "image" }]
34772
+ meters: [
34773
+ { event_type: "gpt_image_2", unit: "image" },
34774
+ // GPT Image 2.5 (2026-09-18). Two meters, not one, because the two
34775
+ // variants are priced differently on OUR rate card even though OpenAI
34776
+ // charges the same per-token rate for both - Sunburst emits far more
34777
+ // image-output tokens, and per-image metering has to carry that in the
34778
+ // price. Flare holds gpt-image-2's rate (it is the lower-latency
34779
+ // successor at the same cost to us); Sunburst is seeded at 4x.
34780
+ { event_type: "gpt_image_2_5_flare", unit: "image" },
34781
+ { event_type: "gpt_image_2_5_sunburst", unit: "image" }
34782
+ ]
34773
34783
  }
34774
34784
  },
34775
34785
  {
@@ -34783,7 +34783,17 @@ var INTEGRATION_REGISTRY = [
34783
34783
  premium: {
34784
34784
  pricing: "usage",
34785
34785
  note: "Billed per generated image; the rate depends on the model/version used.",
34786
- meters: [{ event_type: "gpt_image_2", unit: "image" }]
34786
+ meters: [
34787
+ { event_type: "gpt_image_2", unit: "image" },
34788
+ // GPT Image 2.5 (2026-09-18). Two meters, not one, because the two
34789
+ // variants are priced differently on OUR rate card even though OpenAI
34790
+ // charges the same per-token rate for both - Sunburst emits far more
34791
+ // image-output tokens, and per-image metering has to carry that in the
34792
+ // price. Flare holds gpt-image-2's rate (it is the lower-latency
34793
+ // successor at the same cost to us); Sunburst is seeded at 4x.
34794
+ { event_type: "gpt_image_2_5_flare", unit: "image" },
34795
+ { event_type: "gpt_image_2_5_sunburst", unit: "image" }
34796
+ ]
34787
34797
  }
34788
34798
  },
34789
34799
  {
@@ -64,8 +64,8 @@ import {
64
64
  writeDirectChatSessionState,
65
65
  writeEgressAllowlist,
66
66
  writePersistentClaudeWrapper
67
- } from "./chunk-IFKADCYL.js";
68
- import "./chunk-GADDU3OI.js";
67
+ } from "./chunk-S6GIPDPI.js";
68
+ import "./chunk-DGVA3EGS.js";
69
69
  import "./chunk-DHWNVVX4.js";
70
70
  import "./chunk-XWVM4KPK.js";
71
71
  import "./chunk-DGUM43GV.js";
@@ -136,4 +136,4 @@ export {
136
136
  writeEgressAllowlist,
137
137
  writePersistentClaudeWrapper
138
138
  };
139
- //# sourceMappingURL=persistent-session-3HKYLJJ4.js.map
139
+ //# sourceMappingURL=persistent-session-TJCQT3PO.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-IFKADCYL.js";
4
- import "./chunk-GADDU3OI.js";
3
+ } from "./chunk-S6GIPDPI.js";
4
+ import "./chunk-DGVA3EGS.js";
5
5
  import "./chunk-DHWNVVX4.js";
6
6
  import "./chunk-XWVM4KPK.js";
7
7
  import "./chunk-DGUM43GV.js";
@@ -801,4 +801,4 @@ export {
801
801
  readAndResetSlackReplyBindingClassifications,
802
802
  readAndResetSlackReplyTargetClassifications
803
803
  };
804
- //# sourceMappingURL=responsiveness-probe-NTADLB6L.js.map
804
+ //# sourceMappingURL=responsiveness-probe-735NGRLO.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionTranscriptDir
3
- } from "./chunk-GADDU3OI.js";
3
+ } from "./chunk-DGVA3EGS.js";
4
4
  import "./chunk-DGUM43GV.js";
5
5
 
6
6
  // src/lib/session-auth-dead.ts
@@ -204,4 +204,4 @@ export {
204
204
  decideSessionAuthState,
205
205
  probeSessionAuth
206
206
  };
207
- //# sourceMappingURL=session-auth-dead-DXSFQIX2.js.map
207
+ //# sourceMappingURL=session-auth-dead-YP4EGJTE.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.999",
3
+ "version": "0.28.1001",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {