@integrity-labs/agt-cli 0.28.677 → 0.28.679

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/{chunk-HTLUHAKN.js → chunk-CLNFPTVG.js} +551 -397
  3. package/dist/chunk-CLNFPTVG.js.map +1 -0
  4. package/dist/{chunk-GYYEUNTD.js → chunk-GDT7JHV6.js} +24 -1
  5. package/dist/chunk-GDT7JHV6.js.map +1 -0
  6. package/dist/{chunk-F6CUSDJ6.js → chunk-HLJKOJVJ.js} +2 -2
  7. package/dist/{claude-pair-runtime-MY5LMJVT.js → claude-pair-runtime-5UDCBIB7.js} +2 -2
  8. package/dist/lib/manager-worker.js +15 -13
  9. package/dist/lib/manager-worker.js.map +1 -1
  10. package/dist/mcp/direct-chat-channel.js +23 -0
  11. package/dist/mcp/index.js +107 -0
  12. package/dist/mcp/origami.js +23 -0
  13. package/dist/mcp/slack-channel.js +23 -0
  14. package/dist/mcp/telegram-channel.js +23 -0
  15. package/dist/{persistent-session-TMOTEVV6.js → persistent-session-GQZQWMJU.js} +3 -3
  16. package/dist/{responsiveness-probe-ZHE7S6G4.js → responsiveness-probe-QKKOHDHF.js} +3 -3
  17. package/dist/{session-auth-dead-JCKENEY5.js → session-auth-dead-CUEBDRZU.js} +2 -2
  18. package/package.json +1 -1
  19. package/dist/chunk-GYYEUNTD.js.map +0 -1
  20. package/dist/chunk-HTLUHAKN.js.map +0 -1
  21. /package/dist/{chunk-F6CUSDJ6.js.map → chunk-HLJKOJVJ.js.map} +0 -0
  22. /package/dist/{claude-pair-runtime-MY5LMJVT.js.map → claude-pair-runtime-5UDCBIB7.js.map} +0 -0
  23. /package/dist/{persistent-session-TMOTEVV6.js.map → persistent-session-GQZQWMJU.js.map} +0 -0
  24. /package/dist/{responsiveness-probe-ZHE7S6G4.js.map → responsiveness-probe-QKKOHDHF.js.map} +0 -0
  25. /package/dist/{session-auth-dead-JCKENEY5.js.map → session-auth-dead-CUEBDRZU.js.map} +0 -0
@@ -35895,6 +35895,29 @@ var FLAG_REGISTRY = [
35895
35895
  // first the real cut is higher than this and the pin under-reports.
35896
35896
  since: "0.28.570"
35897
35897
  },
35898
+ {
35899
+ key: "secret-files-tmpfs",
35900
+ description: "Host-side RAM-backing of the per-agent .env.integrations secret files (ENG-9348, epic ENG-9347). When on, the manager turns both copies (the agent-dir file and the project/ mirror) into symlinks pointing at a 0700 per-agent directory under tmpfs (/dev/shm, else /run), so plaintext channel/integration tokens live only in RAM: the persistent EBS volume holds a symlink (no token bytes), an EBS snapshot captures nothing, and a host shutdown is a genuine wipe. Every consumer path is unchanged (same file paths). Boolean gate; ships dark. Fail-safe in every direction \u2014 off is byte-for-byte today; a host with no genuine tmpfs root (e.g. macOS dev) silently keeps the persistent files; a symlink-setup error logs and falls back to the persistent path. Reboot clears tmpfs, and the manager re-backs on its next refresh (surviving reboot is not required \u2014 secrets are re-fetched on refresh).",
35901
+ flagType: "boolean",
35902
+ // Declared safe value is `false` (persistent files, today's behaviour).
35903
+ // Fail-safe direction: a flag-DB read error must never, on its own, start
35904
+ // relocating where prod secret files physically live. Flip on per-host for a
35905
+ // canary, verify no plaintext lands on the persistent volume, then fleet-wide
35906
+ // from the admin Feature Flags page.
35907
+ defaultValue: false,
35908
+ // ADR-0022 operator override, read by the host flag store's env layer (not a
35909
+ // hand-written process.env gate) — same posture as memory-extraction /
35910
+ // tool-call-audit above. Gives a per-host canary before the DB flag exists.
35911
+ envVar: "AGT_SECRET_FILES_TMPFS_ENABLED",
35912
+ // Deliberately-unreachable placeholder until this ships: no published CLI
35913
+ // carries the manager reader + core writer yet, so reach must report "no
35914
+ // host honors" rather than the `honors`-for-everyone that omitting `since`
35915
+ // produces. MOVE THIS PIN to the actual auto-published agt-cli version at
35916
+ // merge (auto-publish patch-bumps from main; verify against the tarball, the
35917
+ // ENG-8575/ENG-9350 lesson) — the marker is `setSecretFileTmpfsBacking` in
35918
+ // package/dist/lib/manager-worker.js.
35919
+ since: "99.0.0"
35920
+ },
35898
35921
  {
35899
35922
  key: "memory-file-tombstones",
35900
35923
  description: "Host-side removal of RETIRED agent memory files (ENG-9257). The control plane sends an explicit tombstone list on /host/memories and the manager moves the matching .md out of the agent's memory directory \u2014 but only when its write-time manifest says the manager itself wrote that exact file and the sha256 still matches, so an agent-edited or hand-authored file is retained and reported instead. Boolean gate; ships dark. Scope is retirement only, never expiry: /host/memories has always withheld expired rows, so an expiry-driven list would make months of accumulated backlog deletable on the first armed tick. This is the ONLY thing that makes retirement visible to the agent, which reads its memory directory straight off disk \u2014 every server-side reader already excludes retired rows, so with this off a retired memory is gone everywhere except the one surface that changes the agent's behaviour.",
package/dist/mcp/index.js CHANGED
@@ -37038,6 +37038,30 @@ var BLOCKED_ON_ME_SECTION_NOTE = "_Another agent has PARKED its own work until y
37038
37038
  var HUMAN_ASSIGNED_SECTION_HEADING = "Assigned to a person (not yours to action)";
37039
37039
  var HUMAN_ASSIGNED_SECTION_NOTE = "_These belong to a person, not to you. You cannot move, note or complete them \u2014 every kanban write is refused. If the work is finished (or was never really theirs), use `kanban_recall` to pull the card back onto your board, then close it as normal._";
37040
37040
 
37041
+ // src/kanban-peek-render.ts
37042
+ var PEEK_RENDER_COLUMNS = [
37043
+ ["in_progress", "in progress"],
37044
+ ["todo", "todo"],
37045
+ ["backlog", "backlog"],
37046
+ ["waiting", "waiting"],
37047
+ ["needs_attention", "needs attention"]
37048
+ ];
37049
+ function formatPeekAge(ageHours) {
37050
+ if (!Number.isFinite(ageHours) || ageHours <= 0) return "<1h";
37051
+ if (ageHours < 48) return `${Math.floor(ageHours)}h`;
37052
+ return `${Math.floor(ageHours / 24)}d`;
37053
+ }
37054
+ function renderKanbanPeek(data, fallbackTeam) {
37055
+ const parts = PEEK_RENDER_COLUMNS.map(([key, label]) => {
37056
+ const count = data[key];
37057
+ const oldest = data.oldest?.[key];
37058
+ const age = oldest === void 0 ? "" : ` (oldest ${formatPeekAge(oldest.age_hours)}, id ${oldest.card_id})`;
37059
+ return `${label}: ${count}${age}`;
37060
+ });
37061
+ const where = data.cross_team ? ` on team ${data.target_team ?? fallbackTeam ?? "?"}` : "";
37062
+ return `${data.target_agent}${where} \u2014 ${parts.join(" \xB7 ")}`;
37063
+ }
37064
+
37041
37065
  // src/kanban-person-waiting-kind.ts
37042
37066
  function isPersonWaitingKindMcp(kind) {
37043
37067
  if (kind === void 0 || kind === null || kind === "") return true;
@@ -42822,6 +42846,29 @@ var FLAG_REGISTRY = [
42822
42846
  // first the real cut is higher than this and the pin under-reports.
42823
42847
  since: "0.28.570"
42824
42848
  },
42849
+ {
42850
+ key: "secret-files-tmpfs",
42851
+ description: "Host-side RAM-backing of the per-agent .env.integrations secret files (ENG-9348, epic ENG-9347). When on, the manager turns both copies (the agent-dir file and the project/ mirror) into symlinks pointing at a 0700 per-agent directory under tmpfs (/dev/shm, else /run), so plaintext channel/integration tokens live only in RAM: the persistent EBS volume holds a symlink (no token bytes), an EBS snapshot captures nothing, and a host shutdown is a genuine wipe. Every consumer path is unchanged (same file paths). Boolean gate; ships dark. Fail-safe in every direction \u2014 off is byte-for-byte today; a host with no genuine tmpfs root (e.g. macOS dev) silently keeps the persistent files; a symlink-setup error logs and falls back to the persistent path. Reboot clears tmpfs, and the manager re-backs on its next refresh (surviving reboot is not required \u2014 secrets are re-fetched on refresh).",
42852
+ flagType: "boolean",
42853
+ // Declared safe value is `false` (persistent files, today's behaviour).
42854
+ // Fail-safe direction: a flag-DB read error must never, on its own, start
42855
+ // relocating where prod secret files physically live. Flip on per-host for a
42856
+ // canary, verify no plaintext lands on the persistent volume, then fleet-wide
42857
+ // from the admin Feature Flags page.
42858
+ defaultValue: false,
42859
+ // ADR-0022 operator override, read by the host flag store's env layer (not a
42860
+ // hand-written process.env gate) — same posture as memory-extraction /
42861
+ // tool-call-audit above. Gives a per-host canary before the DB flag exists.
42862
+ envVar: "AGT_SECRET_FILES_TMPFS_ENABLED",
42863
+ // Deliberately-unreachable placeholder until this ships: no published CLI
42864
+ // carries the manager reader + core writer yet, so reach must report "no
42865
+ // host honors" rather than the `honors`-for-everyone that omitting `since`
42866
+ // produces. MOVE THIS PIN to the actual auto-published agt-cli version at
42867
+ // merge (auto-publish patch-bumps from main; verify against the tarball, the
42868
+ // ENG-8575/ENG-9350 lesson) — the marker is `setSecretFileTmpfsBacking` in
42869
+ // package/dist/lib/manager-worker.js.
42870
+ since: "99.0.0"
42871
+ },
42825
42872
  {
42826
42873
  key: "memory-file-tombstones",
42827
42874
  description: "Host-side removal of RETIRED agent memory files (ENG-9257). The control plane sends an explicit tombstone list on /host/memories and the manager moves the matching .md out of the agent's memory directory \u2014 but only when its write-time manifest says the manager itself wrote that exact file and the sha256 still matches, so an agent-edited or hand-authored file is retained and reported instead. Boolean gate; ships dark. Scope is retirement only, never expiry: /host/memories has always withheld expired rows, so an expiry-driven list would make months of accumulated backlog deletable on the first armed tick. This is the ONLY thing that makes retirement visible to the agent, which reads its memory directory straight off disk \u2014 every server-side reader already excludes retired rows, so with this off a retired memory is gone everywhere except the one surface that changes the agent's behaviour.",
@@ -44547,6 +44594,64 @@ server.tool(
44547
44594
  }
44548
44595
  }
44549
44596
  );
44597
+ server.tool(
44598
+ "kanban_peek",
44599
+ "Look at ANOTHER agent's board WITHOUT seeing what is on it: how many cards sit in each column, and how long the oldest card in each column has been sitting there. Use it before routing work with kanban_assign, to tell an agent that is genuinely free from one that is buried, and to spot a board where something has been rotting for days. You get NUMBERS ONLY \u2014 no titles, descriptions, results or notes ever cross between agents, so this tells you the SHAPE of their queue, never its content. A deep board is not automatically a problem and an empty one is not automatically fine: the age of the oldest card is usually the more useful of the two. By default the target must be an agent on your OWN team; pass `target_team` to peek across teams in your organization, which works only where your org has enabled cross-team assignment and a peer grant links the teams \u2014 otherwise it reads as not-found, exactly like kanban_assign. Don't know the agent's code_name? Call directory_lookup first.",
44600
+ {
44601
+ target_agent: external_exports.string().describe(
44602
+ "The agent whose board you want to size up: their agent code_name (kebab-case) or agent UUID. On your own team unless target_team is also set."
44603
+ ),
44604
+ target_team: external_exports.string().trim().min(1).optional().describe(
44605
+ "Optional: the slug (or UUID) of ANOTHER team in your organization, to peek across teams. Omit for a teammate on your own team. Requires the org to have cross-team assignment enabled and a peer grant; otherwise the target reads as not-found."
44606
+ )
44607
+ },
44608
+ async (params) => {
44609
+ try {
44610
+ const data = await apiPost(
44611
+ "/host/kanban/peek",
44612
+ {
44613
+ agent_id: AGT_AGENT_ID,
44614
+ target_agent: params.target_agent,
44615
+ // Only sent when peeking across teams — the route branches on its
44616
+ // presence, so omit it for the same-team path (identical contract to
44617
+ // kanban_assign). The schema rejects empty strings, so a present value
44618
+ // is always meaningful; check presence, not truthiness.
44619
+ ...params.target_team !== void 0 ? { target_team: params.target_team } : {}
44620
+ },
44621
+ false,
44622
+ 15e3,
44623
+ "kanban_peek",
44624
+ // Genuinely read-only: a timeout or transport error here can never have
44625
+ // committed anything, and saying so keeps the retry decision obvious.
44626
+ true
44627
+ );
44628
+ return {
44629
+ content: [
44630
+ {
44631
+ type: "text",
44632
+ // Rendering lives in a sibling module so it is reachable by a test —
44633
+ // importing this file boots the stdio server, so anything inline
44634
+ // here is checked exactly once, on the day it is written.
44635
+ text: renderKanbanPeek(data, params.target_team)
44636
+ }
44637
+ ]
44638
+ };
44639
+ } catch (err) {
44640
+ const msg = err instanceof Error ? err.message : String(err);
44641
+ const notFound = /returned 404/.test(msg);
44642
+ const notFoundText = params.target_team ? `Could not peek: no agent "${params.target_agent}" reachable on team "${params.target_team}". Check the team slug and agent code_name, and note cross-team access only works when your org has enabled it and a peer grant links the teams.` : `Could not peek: no agent "${params.target_agent}" found on your team. Check the code_name and make sure they're a teammate on the same team.`;
44643
+ return {
44644
+ content: [
44645
+ {
44646
+ type: "text",
44647
+ text: notFound ? notFoundText : `Could not peek at ${params.target_agent}: ${msg}`
44648
+ }
44649
+ ],
44650
+ isError: true
44651
+ };
44652
+ }
44653
+ }
44654
+ );
44550
44655
  server.tool(
44551
44656
  "kanban_reassign",
44552
44657
  "Move an EXISTING kanban card to ANOTHER agent\u2019s board, preserving its id, history, comments, priority and status. Use this to re-home a task you already have (e.g. you picked up a card but it\u2019s really another specialist\u2019s job) - it removes the card from the current board and places the same card on the target agent\u2019s board. This is different from kanban_assign, which CREATES a new card. The card must currently live on your team. To move across teams in your organization, also pass `target_team` (same cross-team rules as kanban_assign). Don\u2019t know the agent code_name or team slug? Call directory_lookup first.",
@@ -46334,6 +46439,8 @@ var LOCAL_TOOL_NAMES = /* @__PURE__ */ new Set([
46334
46439
  "kanban_recall",
46335
46440
  // ENG-9050: the return path for delegated work.
46336
46441
  "kanban_reopen",
46442
+ // ENG-9375: the READ path over a teammate's board (counts only).
46443
+ "kanban_peek",
46337
46444
  // ENG-6953: agent + people directory lookup (always registered locally).
46338
46445
  "directory_lookup",
46339
46446
  "status_standup",
@@ -41633,6 +41633,29 @@ var FLAG_REGISTRY = [
41633
41633
  // first the real cut is higher than this and the pin under-reports.
41634
41634
  since: "0.28.570"
41635
41635
  },
41636
+ {
41637
+ key: "secret-files-tmpfs",
41638
+ description: "Host-side RAM-backing of the per-agent .env.integrations secret files (ENG-9348, epic ENG-9347). When on, the manager turns both copies (the agent-dir file and the project/ mirror) into symlinks pointing at a 0700 per-agent directory under tmpfs (/dev/shm, else /run), so plaintext channel/integration tokens live only in RAM: the persistent EBS volume holds a symlink (no token bytes), an EBS snapshot captures nothing, and a host shutdown is a genuine wipe. Every consumer path is unchanged (same file paths). Boolean gate; ships dark. Fail-safe in every direction \u2014 off is byte-for-byte today; a host with no genuine tmpfs root (e.g. macOS dev) silently keeps the persistent files; a symlink-setup error logs and falls back to the persistent path. Reboot clears tmpfs, and the manager re-backs on its next refresh (surviving reboot is not required \u2014 secrets are re-fetched on refresh).",
41639
+ flagType: "boolean",
41640
+ // Declared safe value is `false` (persistent files, today's behaviour).
41641
+ // Fail-safe direction: a flag-DB read error must never, on its own, start
41642
+ // relocating where prod secret files physically live. Flip on per-host for a
41643
+ // canary, verify no plaintext lands on the persistent volume, then fleet-wide
41644
+ // from the admin Feature Flags page.
41645
+ defaultValue: false,
41646
+ // ADR-0022 operator override, read by the host flag store's env layer (not a
41647
+ // hand-written process.env gate) — same posture as memory-extraction /
41648
+ // tool-call-audit above. Gives a per-host canary before the DB flag exists.
41649
+ envVar: "AGT_SECRET_FILES_TMPFS_ENABLED",
41650
+ // Deliberately-unreachable placeholder until this ships: no published CLI
41651
+ // carries the manager reader + core writer yet, so reach must report "no
41652
+ // host honors" rather than the `honors`-for-everyone that omitting `since`
41653
+ // produces. MOVE THIS PIN to the actual auto-published agt-cli version at
41654
+ // merge (auto-publish patch-bumps from main; verify against the tarball, the
41655
+ // ENG-8575/ENG-9350 lesson) — the marker is `setSecretFileTmpfsBacking` in
41656
+ // package/dist/lib/manager-worker.js.
41657
+ since: "99.0.0"
41658
+ },
41636
41659
  {
41637
41660
  key: "memory-file-tombstones",
41638
41661
  description: "Host-side removal of RETIRED agent memory files (ENG-9257). The control plane sends an explicit tombstone list on /host/memories and the manager moves the matching .md out of the agent's memory directory \u2014 but only when its write-time manifest says the manager itself wrote that exact file and the sha256 still matches, so an agent-edited or hand-authored file is retained and reported instead. Boolean gate; ships dark. Scope is retirement only, never expiry: /host/memories has always withheld expired rows, so an expiry-driven list would make months of accumulated backlog deletable on the first armed tick. This is the ONLY thing that makes retirement visible to the agent, which reads its memory directory straight off disk \u2014 every server-side reader already excludes retired rows, so with this off a retired memory is gone everywhere except the one surface that changes the agent's behaviour.",
@@ -36116,6 +36116,29 @@ var FLAG_REGISTRY = [
36116
36116
  // first the real cut is higher than this and the pin under-reports.
36117
36117
  since: "0.28.570"
36118
36118
  },
36119
+ {
36120
+ key: "secret-files-tmpfs",
36121
+ description: "Host-side RAM-backing of the per-agent .env.integrations secret files (ENG-9348, epic ENG-9347). When on, the manager turns both copies (the agent-dir file and the project/ mirror) into symlinks pointing at a 0700 per-agent directory under tmpfs (/dev/shm, else /run), so plaintext channel/integration tokens live only in RAM: the persistent EBS volume holds a symlink (no token bytes), an EBS snapshot captures nothing, and a host shutdown is a genuine wipe. Every consumer path is unchanged (same file paths). Boolean gate; ships dark. Fail-safe in every direction \u2014 off is byte-for-byte today; a host with no genuine tmpfs root (e.g. macOS dev) silently keeps the persistent files; a symlink-setup error logs and falls back to the persistent path. Reboot clears tmpfs, and the manager re-backs on its next refresh (surviving reboot is not required \u2014 secrets are re-fetched on refresh).",
36122
+ flagType: "boolean",
36123
+ // Declared safe value is `false` (persistent files, today's behaviour).
36124
+ // Fail-safe direction: a flag-DB read error must never, on its own, start
36125
+ // relocating where prod secret files physically live. Flip on per-host for a
36126
+ // canary, verify no plaintext lands on the persistent volume, then fleet-wide
36127
+ // from the admin Feature Flags page.
36128
+ defaultValue: false,
36129
+ // ADR-0022 operator override, read by the host flag store's env layer (not a
36130
+ // hand-written process.env gate) — same posture as memory-extraction /
36131
+ // tool-call-audit above. Gives a per-host canary before the DB flag exists.
36132
+ envVar: "AGT_SECRET_FILES_TMPFS_ENABLED",
36133
+ // Deliberately-unreachable placeholder until this ships: no published CLI
36134
+ // carries the manager reader + core writer yet, so reach must report "no
36135
+ // host honors" rather than the `honors`-for-everyone that omitting `since`
36136
+ // produces. MOVE THIS PIN to the actual auto-published agt-cli version at
36137
+ // merge (auto-publish patch-bumps from main; verify against the tarball, the
36138
+ // ENG-8575/ENG-9350 lesson) — the marker is `setSecretFileTmpfsBacking` in
36139
+ // package/dist/lib/manager-worker.js.
36140
+ since: "99.0.0"
36141
+ },
36119
36142
  {
36120
36143
  key: "memory-file-tombstones",
36121
36144
  description: "Host-side removal of RETIRED agent memory files (ENG-9257). The control plane sends an explicit tombstone list on /host/memories and the manager moves the matching .md out of the agent's memory directory \u2014 but only when its write-time manifest says the manager itself wrote that exact file and the sha256 still matches, so an agent-edited or hand-authored file is retained and reported instead. Boolean gate; ships dark. Scope is retirement only, never expiry: /host/memories has always withheld expired rows, so an expiry-driven list would make months of accumulated backlog deletable on the first armed tick. This is the ONLY thing that makes retirement visible to the agent, which reads its memory directory straight off disk \u2014 every server-side reader already excludes retired rows, so with this off a retired memory is gone everywhere except the one surface that changes the agent's behaviour.",
@@ -36260,6 +36260,29 @@ var FLAG_REGISTRY = [
36260
36260
  // first the real cut is higher than this and the pin under-reports.
36261
36261
  since: "0.28.570"
36262
36262
  },
36263
+ {
36264
+ key: "secret-files-tmpfs",
36265
+ description: "Host-side RAM-backing of the per-agent .env.integrations secret files (ENG-9348, epic ENG-9347). When on, the manager turns both copies (the agent-dir file and the project/ mirror) into symlinks pointing at a 0700 per-agent directory under tmpfs (/dev/shm, else /run), so plaintext channel/integration tokens live only in RAM: the persistent EBS volume holds a symlink (no token bytes), an EBS snapshot captures nothing, and a host shutdown is a genuine wipe. Every consumer path is unchanged (same file paths). Boolean gate; ships dark. Fail-safe in every direction \u2014 off is byte-for-byte today; a host with no genuine tmpfs root (e.g. macOS dev) silently keeps the persistent files; a symlink-setup error logs and falls back to the persistent path. Reboot clears tmpfs, and the manager re-backs on its next refresh (surviving reboot is not required \u2014 secrets are re-fetched on refresh).",
36266
+ flagType: "boolean",
36267
+ // Declared safe value is `false` (persistent files, today's behaviour).
36268
+ // Fail-safe direction: a flag-DB read error must never, on its own, start
36269
+ // relocating where prod secret files physically live. Flip on per-host for a
36270
+ // canary, verify no plaintext lands on the persistent volume, then fleet-wide
36271
+ // from the admin Feature Flags page.
36272
+ defaultValue: false,
36273
+ // ADR-0022 operator override, read by the host flag store's env layer (not a
36274
+ // hand-written process.env gate) — same posture as memory-extraction /
36275
+ // tool-call-audit above. Gives a per-host canary before the DB flag exists.
36276
+ envVar: "AGT_SECRET_FILES_TMPFS_ENABLED",
36277
+ // Deliberately-unreachable placeholder until this ships: no published CLI
36278
+ // carries the manager reader + core writer yet, so reach must report "no
36279
+ // host honors" rather than the `honors`-for-everyone that omitting `since`
36280
+ // produces. MOVE THIS PIN to the actual auto-published agt-cli version at
36281
+ // merge (auto-publish patch-bumps from main; verify against the tarball, the
36282
+ // ENG-8575/ENG-9350 lesson) — the marker is `setSecretFileTmpfsBacking` in
36283
+ // package/dist/lib/manager-worker.js.
36284
+ since: "99.0.0"
36285
+ },
36263
36286
  {
36264
36287
  key: "memory-file-tombstones",
36265
36288
  description: "Host-side removal of RETIRED agent memory files (ENG-9257). The control plane sends an explicit tombstone list on /host/memories and the manager moves the matching .md out of the agent's memory directory \u2014 but only when its write-time manifest says the manager itself wrote that exact file and the sha256 still matches, so an agent-edited or hand-authored file is retained and reported instead. Boolean gate; ships dark. Scope is retirement only, never expiry: /host/memories has always withheld expired rows, so an expiry-driven list would make months of accumulated backlog deletable on the first armed tick. This is the ONLY thing that makes retirement visible to the agent, which reads its memory directory straight off disk \u2014 every server-side reader already excludes retired rows, so with this off a retired memory is gone everywhere except the one surface that changes the agent's behaviour.",
@@ -43,8 +43,8 @@ import {
43
43
  writeDirectChatSessionState,
44
44
  writeEgressAllowlist,
45
45
  writePersistentClaudeWrapper
46
- } from "./chunk-F6CUSDJ6.js";
47
- import "./chunk-GYYEUNTD.js";
46
+ } from "./chunk-HLJKOJVJ.js";
47
+ import "./chunk-GDT7JHV6.js";
48
48
  import "./chunk-XWVM4KPK.js";
49
49
  export {
50
50
  EGRESS_BASELINE_DOMAINS,
@@ -92,4 +92,4 @@ export {
92
92
  writeEgressAllowlist,
93
93
  writePersistentClaudeWrapper
94
94
  };
95
- //# sourceMappingURL=persistent-session-TMOTEVV6.js.map
95
+ //# sourceMappingURL=persistent-session-GQZQWMJU.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-F6CUSDJ6.js";
4
- import "./chunk-GYYEUNTD.js";
3
+ } from "./chunk-HLJKOJVJ.js";
4
+ import "./chunk-GDT7JHV6.js";
5
5
  import "./chunk-XWVM4KPK.js";
6
6
 
7
7
  // src/lib/responsiveness-probe.ts
@@ -727,4 +727,4 @@ export {
727
727
  readAndResetSlackReplyBindingClassifications,
728
728
  readAndResetSlackReplyTargetClassifications
729
729
  };
730
- //# sourceMappingURL=responsiveness-probe-ZHE7S6G4.js.map
730
+ //# sourceMappingURL=responsiveness-probe-QKKOHDHF.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionTranscriptDir
3
- } from "./chunk-GYYEUNTD.js";
3
+ } from "./chunk-GDT7JHV6.js";
4
4
 
5
5
  // src/lib/session-auth-dead.ts
6
6
  import { closeSync, openSync, readSync, readdirSync, statSync } from "fs";
@@ -203,4 +203,4 @@ export {
203
203
  decideSessionAuthState,
204
204
  probeSessionAuth
205
205
  };
206
- //# sourceMappingURL=session-auth-dead-JCKENEY5.js.map
206
+ //# sourceMappingURL=session-auth-dead-CUEBDRZU.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.677",
3
+ "version": "0.28.679",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {