@integrity-labs/agt-cli 0.28.666 → 0.28.667
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/dist/bin/agt.js +5 -5
- package/dist/{chunk-FYZOD3SS.js → chunk-HXGW24VQ.js} +57 -1
- package/dist/chunk-HXGW24VQ.js.map +1 -0
- package/dist/{chunk-P7UIFZQO.js → chunk-S5KJIVSA.js} +4 -4
- package/dist/{chunk-EX5XJEGF.js → chunk-Y34UA33A.js} +2 -2
- package/dist/{claude-pair-runtime-XSUQMCIQ.js → claude-pair-runtime-IW4FGSBB.js} +2 -2
- package/dist/lib/manager-worker.js +234 -24
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/mcp/direct-chat-channel.js +56 -0
- package/dist/mcp/index.js +56 -0
- package/dist/mcp/origami.js +56 -0
- package/dist/mcp/slack-channel.js +56 -0
- package/dist/mcp/telegram-channel.js +56 -0
- package/dist/{persistent-session-SQWO4TKG.js → persistent-session-D4JOMLCY.js} +3 -3
- package/dist/{responsiveness-probe-RWMERSER.js → responsiveness-probe-WANP5PYP.js} +3 -3
- package/dist/{session-auth-dead-OOWR5BPI.js → session-auth-dead-2L7FWRLT.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-FYZOD3SS.js.map +0 -1
- /package/dist/{chunk-P7UIFZQO.js.map → chunk-S5KJIVSA.js.map} +0 -0
- /package/dist/{chunk-EX5XJEGF.js.map → chunk-Y34UA33A.js.map} +0 -0
- /package/dist/{claude-pair-runtime-XSUQMCIQ.js.map → claude-pair-runtime-IW4FGSBB.js.map} +0 -0
- /package/dist/{persistent-session-SQWO4TKG.js.map → persistent-session-D4JOMLCY.js.map} +0 -0
- /package/dist/{responsiveness-probe-RWMERSER.js.map → responsiveness-probe-WANP5PYP.js.map} +0 -0
- /package/dist/{session-auth-dead-OOWR5BPI.js.map → session-auth-dead-2L7FWRLT.js.map} +0 -0
|
@@ -35880,6 +35880,62 @@ var FLAG_REGISTRY = [
|
|
|
35880
35880
|
// first the real cut is higher than this and the pin under-reports.
|
|
35881
35881
|
since: "0.28.570"
|
|
35882
35882
|
},
|
|
35883
|
+
{
|
|
35884
|
+
key: "memory-file-tombstones",
|
|
35885
|
+
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.",
|
|
35886
|
+
flagType: "boolean",
|
|
35887
|
+
// Declared safe value is `false` (remove nothing). Fail-safe direction: a
|
|
35888
|
+
// flag-DB read error must never start deleting files on customer-owned
|
|
35889
|
+
// hosts on its own. Note the asymmetry with a read-only gate — the blast
|
|
35890
|
+
// radius here is data on a machine we frequently cannot re-enter, which is
|
|
35891
|
+
// also why the first release MOVES files rather than unlinking them.
|
|
35892
|
+
defaultValue: false,
|
|
35893
|
+
// ADR-0022 §4: mutating this requires an explicit caller confirmation.
|
|
35894
|
+
//
|
|
35895
|
+
// Arming it DELETES FILES on customer-owned hosts. The registry already
|
|
35896
|
+
// marks `id-keyed-layout-migration` sensitive on the narrower basis that it
|
|
35897
|
+
// moves data, and `admin-send-keys` because it writes to a customer host;
|
|
35898
|
+
// this is the stronger case of both at once. Without it the flip is a single
|
|
35899
|
+
// unguarded write, which is the wrong ceremony for an irreversible action on
|
|
35900
|
+
// a machine we frequently cannot re-enter — the same fact the defaultValue
|
|
35901
|
+
// comment above already leans on.
|
|
35902
|
+
sensitive: true,
|
|
35903
|
+
// ADR-0022 operator override, read by the host flag store's env layer.
|
|
35904
|
+
//
|
|
35905
|
+
// ROLLOUT WARNING: an env override needs a manager RESTART to set or clear,
|
|
35906
|
+
// and masks the central flag while set (ENG-7409). So a per-host canary
|
|
35907
|
+
// pinned via env becomes a host the central kill switch cannot reach during
|
|
35908
|
+
// an incident. Canary centrally (per-agent overrides are delivered on the
|
|
35909
|
+
// heartbeat for every boolean flag) rather than with this.
|
|
35910
|
+
//
|
|
35911
|
+
// Note `sensitive` does NOT gate this env var — it guards the control-plane
|
|
35912
|
+
// write path, not a host's local environment file. One more reason not to
|
|
35913
|
+
// canary with it.
|
|
35914
|
+
envVar: "AGT_MEMORY_TOMBSTONES_ENABLED",
|
|
35915
|
+
// Deliberately unreachable placeholder: the reader is not published yet.
|
|
35916
|
+
//
|
|
35917
|
+
// It must be PARSEABLE and unreachable, not omitted and not garbage.
|
|
35918
|
+
// classifyHostReach (packages/core/src/feature-flags/reach.ts) maps an
|
|
35919
|
+
// empty `since` to `honors` for EVERY host including ones with no reader at
|
|
35920
|
+
// all, and maps an unparseable one to `unknown` — which collides with the
|
|
35921
|
+
// "host reports no agt_version" class, so an operator cannot tell "not
|
|
35922
|
+
// shipped yet" from "these hosts are unreadable". '99.99.99' classifies
|
|
35923
|
+
// every host `stale`, which is the honest pre-publication answer.
|
|
35924
|
+
//
|
|
35925
|
+
// Note '0.29.0' is used elsewhere for the same purpose but is weaker: it is
|
|
35926
|
+
// unreachable only by accident of auto-publish patch-bumping 0.28.x, so one
|
|
35927
|
+
// deliberate minor bump would silently reclassify the whole fleet `honors`.
|
|
35928
|
+
//
|
|
35929
|
+
// REPLACE IT AT THE **CLI** MERGE, not the API merge — `since` describes
|
|
35930
|
+
// what the HOST can act on — with the published tarball's version (verify
|
|
35931
|
+
// via `npm pack`; apps/cli/package.json is not the published number). And
|
|
35932
|
+
// it must name the first build where flipping the flag does what this flag
|
|
35933
|
+
// SAYS, not merely the first build with a reader: that means the manifest
|
|
35934
|
+
// gate, the tombstone pass sitting above the download short-circuit, and
|
|
35935
|
+
// the response hash covering the tombstone list. Ship a build missing any
|
|
35936
|
+
// of those and reach reports `honors` for hosts that silently never act.
|
|
35937
|
+
since: "99.99.99"
|
|
35938
|
+
},
|
|
35883
35939
|
{
|
|
35884
35940
|
key: "conversation-eval-backend",
|
|
35885
35941
|
description: "Backend for host-side conversation-success scoring AND memory extraction (ENG-6581), which share one scorer: anthropic-api = Haiku via a direct Anthropic Messages API fetch (no subprocess); claude-p = Haiku via the `claude -p` subprocess (reuses the agent auth, effectively free under Max but a heavy spawn); local = an OpenAI-compatible loopback endpoint (transcript never leaves the host). Auth for the anthropic-api path comes from AGT_CONV_EVAL_ANTHROPIC_API_KEY (falls back to ANTHROPIC_API_KEY); with no key that path fails closed (eval disabled) rather than reverting to claude-p. Enum.",
|
package/dist/mcp/index.js
CHANGED
|
@@ -42819,6 +42819,62 @@ var FLAG_REGISTRY = [
|
|
|
42819
42819
|
// first the real cut is higher than this and the pin under-reports.
|
|
42820
42820
|
since: "0.28.570"
|
|
42821
42821
|
},
|
|
42822
|
+
{
|
|
42823
|
+
key: "memory-file-tombstones",
|
|
42824
|
+
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.",
|
|
42825
|
+
flagType: "boolean",
|
|
42826
|
+
// Declared safe value is `false` (remove nothing). Fail-safe direction: a
|
|
42827
|
+
// flag-DB read error must never start deleting files on customer-owned
|
|
42828
|
+
// hosts on its own. Note the asymmetry with a read-only gate — the blast
|
|
42829
|
+
// radius here is data on a machine we frequently cannot re-enter, which is
|
|
42830
|
+
// also why the first release MOVES files rather than unlinking them.
|
|
42831
|
+
defaultValue: false,
|
|
42832
|
+
// ADR-0022 §4: mutating this requires an explicit caller confirmation.
|
|
42833
|
+
//
|
|
42834
|
+
// Arming it DELETES FILES on customer-owned hosts. The registry already
|
|
42835
|
+
// marks `id-keyed-layout-migration` sensitive on the narrower basis that it
|
|
42836
|
+
// moves data, and `admin-send-keys` because it writes to a customer host;
|
|
42837
|
+
// this is the stronger case of both at once. Without it the flip is a single
|
|
42838
|
+
// unguarded write, which is the wrong ceremony for an irreversible action on
|
|
42839
|
+
// a machine we frequently cannot re-enter — the same fact the defaultValue
|
|
42840
|
+
// comment above already leans on.
|
|
42841
|
+
sensitive: true,
|
|
42842
|
+
// ADR-0022 operator override, read by the host flag store's env layer.
|
|
42843
|
+
//
|
|
42844
|
+
// ROLLOUT WARNING: an env override needs a manager RESTART to set or clear,
|
|
42845
|
+
// and masks the central flag while set (ENG-7409). So a per-host canary
|
|
42846
|
+
// pinned via env becomes a host the central kill switch cannot reach during
|
|
42847
|
+
// an incident. Canary centrally (per-agent overrides are delivered on the
|
|
42848
|
+
// heartbeat for every boolean flag) rather than with this.
|
|
42849
|
+
//
|
|
42850
|
+
// Note `sensitive` does NOT gate this env var — it guards the control-plane
|
|
42851
|
+
// write path, not a host's local environment file. One more reason not to
|
|
42852
|
+
// canary with it.
|
|
42853
|
+
envVar: "AGT_MEMORY_TOMBSTONES_ENABLED",
|
|
42854
|
+
// Deliberately unreachable placeholder: the reader is not published yet.
|
|
42855
|
+
//
|
|
42856
|
+
// It must be PARSEABLE and unreachable, not omitted and not garbage.
|
|
42857
|
+
// classifyHostReach (packages/core/src/feature-flags/reach.ts) maps an
|
|
42858
|
+
// empty `since` to `honors` for EVERY host including ones with no reader at
|
|
42859
|
+
// all, and maps an unparseable one to `unknown` — which collides with the
|
|
42860
|
+
// "host reports no agt_version" class, so an operator cannot tell "not
|
|
42861
|
+
// shipped yet" from "these hosts are unreadable". '99.99.99' classifies
|
|
42862
|
+
// every host `stale`, which is the honest pre-publication answer.
|
|
42863
|
+
//
|
|
42864
|
+
// Note '0.29.0' is used elsewhere for the same purpose but is weaker: it is
|
|
42865
|
+
// unreachable only by accident of auto-publish patch-bumping 0.28.x, so one
|
|
42866
|
+
// deliberate minor bump would silently reclassify the whole fleet `honors`.
|
|
42867
|
+
//
|
|
42868
|
+
// REPLACE IT AT THE **CLI** MERGE, not the API merge — `since` describes
|
|
42869
|
+
// what the HOST can act on — with the published tarball's version (verify
|
|
42870
|
+
// via `npm pack`; apps/cli/package.json is not the published number). And
|
|
42871
|
+
// it must name the first build where flipping the flag does what this flag
|
|
42872
|
+
// SAYS, not merely the first build with a reader: that means the manifest
|
|
42873
|
+
// gate, the tombstone pass sitting above the download short-circuit, and
|
|
42874
|
+
// the response hash covering the tombstone list. Ship a build missing any
|
|
42875
|
+
// of those and reach reports `honors` for hosts that silently never act.
|
|
42876
|
+
since: "99.99.99"
|
|
42877
|
+
},
|
|
42822
42878
|
{
|
|
42823
42879
|
key: "conversation-eval-backend",
|
|
42824
42880
|
description: "Backend for host-side conversation-success scoring AND memory extraction (ENG-6581), which share one scorer: anthropic-api = Haiku via a direct Anthropic Messages API fetch (no subprocess); claude-p = Haiku via the `claude -p` subprocess (reuses the agent auth, effectively free under Max but a heavy spawn); local = an OpenAI-compatible loopback endpoint (transcript never leaves the host). Auth for the anthropic-api path comes from AGT_CONV_EVAL_ANTHROPIC_API_KEY (falls back to ANTHROPIC_API_KEY); with no key that path fails closed (eval disabled) rather than reverting to claude-p. Enum.",
|
package/dist/mcp/origami.js
CHANGED
|
@@ -41630,6 +41630,62 @@ var FLAG_REGISTRY = [
|
|
|
41630
41630
|
// first the real cut is higher than this and the pin under-reports.
|
|
41631
41631
|
since: "0.28.570"
|
|
41632
41632
|
},
|
|
41633
|
+
{
|
|
41634
|
+
key: "memory-file-tombstones",
|
|
41635
|
+
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.",
|
|
41636
|
+
flagType: "boolean",
|
|
41637
|
+
// Declared safe value is `false` (remove nothing). Fail-safe direction: a
|
|
41638
|
+
// flag-DB read error must never start deleting files on customer-owned
|
|
41639
|
+
// hosts on its own. Note the asymmetry with a read-only gate — the blast
|
|
41640
|
+
// radius here is data on a machine we frequently cannot re-enter, which is
|
|
41641
|
+
// also why the first release MOVES files rather than unlinking them.
|
|
41642
|
+
defaultValue: false,
|
|
41643
|
+
// ADR-0022 §4: mutating this requires an explicit caller confirmation.
|
|
41644
|
+
//
|
|
41645
|
+
// Arming it DELETES FILES on customer-owned hosts. The registry already
|
|
41646
|
+
// marks `id-keyed-layout-migration` sensitive on the narrower basis that it
|
|
41647
|
+
// moves data, and `admin-send-keys` because it writes to a customer host;
|
|
41648
|
+
// this is the stronger case of both at once. Without it the flip is a single
|
|
41649
|
+
// unguarded write, which is the wrong ceremony for an irreversible action on
|
|
41650
|
+
// a machine we frequently cannot re-enter — the same fact the defaultValue
|
|
41651
|
+
// comment above already leans on.
|
|
41652
|
+
sensitive: true,
|
|
41653
|
+
// ADR-0022 operator override, read by the host flag store's env layer.
|
|
41654
|
+
//
|
|
41655
|
+
// ROLLOUT WARNING: an env override needs a manager RESTART to set or clear,
|
|
41656
|
+
// and masks the central flag while set (ENG-7409). So a per-host canary
|
|
41657
|
+
// pinned via env becomes a host the central kill switch cannot reach during
|
|
41658
|
+
// an incident. Canary centrally (per-agent overrides are delivered on the
|
|
41659
|
+
// heartbeat for every boolean flag) rather than with this.
|
|
41660
|
+
//
|
|
41661
|
+
// Note `sensitive` does NOT gate this env var — it guards the control-plane
|
|
41662
|
+
// write path, not a host's local environment file. One more reason not to
|
|
41663
|
+
// canary with it.
|
|
41664
|
+
envVar: "AGT_MEMORY_TOMBSTONES_ENABLED",
|
|
41665
|
+
// Deliberately unreachable placeholder: the reader is not published yet.
|
|
41666
|
+
//
|
|
41667
|
+
// It must be PARSEABLE and unreachable, not omitted and not garbage.
|
|
41668
|
+
// classifyHostReach (packages/core/src/feature-flags/reach.ts) maps an
|
|
41669
|
+
// empty `since` to `honors` for EVERY host including ones with no reader at
|
|
41670
|
+
// all, and maps an unparseable one to `unknown` — which collides with the
|
|
41671
|
+
// "host reports no agt_version" class, so an operator cannot tell "not
|
|
41672
|
+
// shipped yet" from "these hosts are unreadable". '99.99.99' classifies
|
|
41673
|
+
// every host `stale`, which is the honest pre-publication answer.
|
|
41674
|
+
//
|
|
41675
|
+
// Note '0.29.0' is used elsewhere for the same purpose but is weaker: it is
|
|
41676
|
+
// unreachable only by accident of auto-publish patch-bumping 0.28.x, so one
|
|
41677
|
+
// deliberate minor bump would silently reclassify the whole fleet `honors`.
|
|
41678
|
+
//
|
|
41679
|
+
// REPLACE IT AT THE **CLI** MERGE, not the API merge — `since` describes
|
|
41680
|
+
// what the HOST can act on — with the published tarball's version (verify
|
|
41681
|
+
// via `npm pack`; apps/cli/package.json is not the published number). And
|
|
41682
|
+
// it must name the first build where flipping the flag does what this flag
|
|
41683
|
+
// SAYS, not merely the first build with a reader: that means the manifest
|
|
41684
|
+
// gate, the tombstone pass sitting above the download short-circuit, and
|
|
41685
|
+
// the response hash covering the tombstone list. Ship a build missing any
|
|
41686
|
+
// of those and reach reports `honors` for hosts that silently never act.
|
|
41687
|
+
since: "99.99.99"
|
|
41688
|
+
},
|
|
41633
41689
|
{
|
|
41634
41690
|
key: "conversation-eval-backend",
|
|
41635
41691
|
description: "Backend for host-side conversation-success scoring AND memory extraction (ENG-6581), which share one scorer: anthropic-api = Haiku via a direct Anthropic Messages API fetch (no subprocess); claude-p = Haiku via the `claude -p` subprocess (reuses the agent auth, effectively free under Max but a heavy spawn); local = an OpenAI-compatible loopback endpoint (transcript never leaves the host). Auth for the anthropic-api path comes from AGT_CONV_EVAL_ANTHROPIC_API_KEY (falls back to ANTHROPIC_API_KEY); with no key that path fails closed (eval disabled) rather than reverting to claude-p. Enum.",
|
|
@@ -36113,6 +36113,62 @@ var FLAG_REGISTRY = [
|
|
|
36113
36113
|
// first the real cut is higher than this and the pin under-reports.
|
|
36114
36114
|
since: "0.28.570"
|
|
36115
36115
|
},
|
|
36116
|
+
{
|
|
36117
|
+
key: "memory-file-tombstones",
|
|
36118
|
+
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.",
|
|
36119
|
+
flagType: "boolean",
|
|
36120
|
+
// Declared safe value is `false` (remove nothing). Fail-safe direction: a
|
|
36121
|
+
// flag-DB read error must never start deleting files on customer-owned
|
|
36122
|
+
// hosts on its own. Note the asymmetry with a read-only gate — the blast
|
|
36123
|
+
// radius here is data on a machine we frequently cannot re-enter, which is
|
|
36124
|
+
// also why the first release MOVES files rather than unlinking them.
|
|
36125
|
+
defaultValue: false,
|
|
36126
|
+
// ADR-0022 §4: mutating this requires an explicit caller confirmation.
|
|
36127
|
+
//
|
|
36128
|
+
// Arming it DELETES FILES on customer-owned hosts. The registry already
|
|
36129
|
+
// marks `id-keyed-layout-migration` sensitive on the narrower basis that it
|
|
36130
|
+
// moves data, and `admin-send-keys` because it writes to a customer host;
|
|
36131
|
+
// this is the stronger case of both at once. Without it the flip is a single
|
|
36132
|
+
// unguarded write, which is the wrong ceremony for an irreversible action on
|
|
36133
|
+
// a machine we frequently cannot re-enter — the same fact the defaultValue
|
|
36134
|
+
// comment above already leans on.
|
|
36135
|
+
sensitive: true,
|
|
36136
|
+
// ADR-0022 operator override, read by the host flag store's env layer.
|
|
36137
|
+
//
|
|
36138
|
+
// ROLLOUT WARNING: an env override needs a manager RESTART to set or clear,
|
|
36139
|
+
// and masks the central flag while set (ENG-7409). So a per-host canary
|
|
36140
|
+
// pinned via env becomes a host the central kill switch cannot reach during
|
|
36141
|
+
// an incident. Canary centrally (per-agent overrides are delivered on the
|
|
36142
|
+
// heartbeat for every boolean flag) rather than with this.
|
|
36143
|
+
//
|
|
36144
|
+
// Note `sensitive` does NOT gate this env var — it guards the control-plane
|
|
36145
|
+
// write path, not a host's local environment file. One more reason not to
|
|
36146
|
+
// canary with it.
|
|
36147
|
+
envVar: "AGT_MEMORY_TOMBSTONES_ENABLED",
|
|
36148
|
+
// Deliberately unreachable placeholder: the reader is not published yet.
|
|
36149
|
+
//
|
|
36150
|
+
// It must be PARSEABLE and unreachable, not omitted and not garbage.
|
|
36151
|
+
// classifyHostReach (packages/core/src/feature-flags/reach.ts) maps an
|
|
36152
|
+
// empty `since` to `honors` for EVERY host including ones with no reader at
|
|
36153
|
+
// all, and maps an unparseable one to `unknown` — which collides with the
|
|
36154
|
+
// "host reports no agt_version" class, so an operator cannot tell "not
|
|
36155
|
+
// shipped yet" from "these hosts are unreadable". '99.99.99' classifies
|
|
36156
|
+
// every host `stale`, which is the honest pre-publication answer.
|
|
36157
|
+
//
|
|
36158
|
+
// Note '0.29.0' is used elsewhere for the same purpose but is weaker: it is
|
|
36159
|
+
// unreachable only by accident of auto-publish patch-bumping 0.28.x, so one
|
|
36160
|
+
// deliberate minor bump would silently reclassify the whole fleet `honors`.
|
|
36161
|
+
//
|
|
36162
|
+
// REPLACE IT AT THE **CLI** MERGE, not the API merge — `since` describes
|
|
36163
|
+
// what the HOST can act on — with the published tarball's version (verify
|
|
36164
|
+
// via `npm pack`; apps/cli/package.json is not the published number). And
|
|
36165
|
+
// it must name the first build where flipping the flag does what this flag
|
|
36166
|
+
// SAYS, not merely the first build with a reader: that means the manifest
|
|
36167
|
+
// gate, the tombstone pass sitting above the download short-circuit, and
|
|
36168
|
+
// the response hash covering the tombstone list. Ship a build missing any
|
|
36169
|
+
// of those and reach reports `honors` for hosts that silently never act.
|
|
36170
|
+
since: "99.99.99"
|
|
36171
|
+
},
|
|
36116
36172
|
{
|
|
36117
36173
|
key: "conversation-eval-backend",
|
|
36118
36174
|
description: "Backend for host-side conversation-success scoring AND memory extraction (ENG-6581), which share one scorer: anthropic-api = Haiku via a direct Anthropic Messages API fetch (no subprocess); claude-p = Haiku via the `claude -p` subprocess (reuses the agent auth, effectively free under Max but a heavy spawn); local = an OpenAI-compatible loopback endpoint (transcript never leaves the host). Auth for the anthropic-api path comes from AGT_CONV_EVAL_ANTHROPIC_API_KEY (falls back to ANTHROPIC_API_KEY); with no key that path fails closed (eval disabled) rather than reverting to claude-p. Enum.",
|
|
@@ -36257,6 +36257,62 @@ var FLAG_REGISTRY = [
|
|
|
36257
36257
|
// first the real cut is higher than this and the pin under-reports.
|
|
36258
36258
|
since: "0.28.570"
|
|
36259
36259
|
},
|
|
36260
|
+
{
|
|
36261
|
+
key: "memory-file-tombstones",
|
|
36262
|
+
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.",
|
|
36263
|
+
flagType: "boolean",
|
|
36264
|
+
// Declared safe value is `false` (remove nothing). Fail-safe direction: a
|
|
36265
|
+
// flag-DB read error must never start deleting files on customer-owned
|
|
36266
|
+
// hosts on its own. Note the asymmetry with a read-only gate — the blast
|
|
36267
|
+
// radius here is data on a machine we frequently cannot re-enter, which is
|
|
36268
|
+
// also why the first release MOVES files rather than unlinking them.
|
|
36269
|
+
defaultValue: false,
|
|
36270
|
+
// ADR-0022 §4: mutating this requires an explicit caller confirmation.
|
|
36271
|
+
//
|
|
36272
|
+
// Arming it DELETES FILES on customer-owned hosts. The registry already
|
|
36273
|
+
// marks `id-keyed-layout-migration` sensitive on the narrower basis that it
|
|
36274
|
+
// moves data, and `admin-send-keys` because it writes to a customer host;
|
|
36275
|
+
// this is the stronger case of both at once. Without it the flip is a single
|
|
36276
|
+
// unguarded write, which is the wrong ceremony for an irreversible action on
|
|
36277
|
+
// a machine we frequently cannot re-enter — the same fact the defaultValue
|
|
36278
|
+
// comment above already leans on.
|
|
36279
|
+
sensitive: true,
|
|
36280
|
+
// ADR-0022 operator override, read by the host flag store's env layer.
|
|
36281
|
+
//
|
|
36282
|
+
// ROLLOUT WARNING: an env override needs a manager RESTART to set or clear,
|
|
36283
|
+
// and masks the central flag while set (ENG-7409). So a per-host canary
|
|
36284
|
+
// pinned via env becomes a host the central kill switch cannot reach during
|
|
36285
|
+
// an incident. Canary centrally (per-agent overrides are delivered on the
|
|
36286
|
+
// heartbeat for every boolean flag) rather than with this.
|
|
36287
|
+
//
|
|
36288
|
+
// Note `sensitive` does NOT gate this env var — it guards the control-plane
|
|
36289
|
+
// write path, not a host's local environment file. One more reason not to
|
|
36290
|
+
// canary with it.
|
|
36291
|
+
envVar: "AGT_MEMORY_TOMBSTONES_ENABLED",
|
|
36292
|
+
// Deliberately unreachable placeholder: the reader is not published yet.
|
|
36293
|
+
//
|
|
36294
|
+
// It must be PARSEABLE and unreachable, not omitted and not garbage.
|
|
36295
|
+
// classifyHostReach (packages/core/src/feature-flags/reach.ts) maps an
|
|
36296
|
+
// empty `since` to `honors` for EVERY host including ones with no reader at
|
|
36297
|
+
// all, and maps an unparseable one to `unknown` — which collides with the
|
|
36298
|
+
// "host reports no agt_version" class, so an operator cannot tell "not
|
|
36299
|
+
// shipped yet" from "these hosts are unreadable". '99.99.99' classifies
|
|
36300
|
+
// every host `stale`, which is the honest pre-publication answer.
|
|
36301
|
+
//
|
|
36302
|
+
// Note '0.29.0' is used elsewhere for the same purpose but is weaker: it is
|
|
36303
|
+
// unreachable only by accident of auto-publish patch-bumping 0.28.x, so one
|
|
36304
|
+
// deliberate minor bump would silently reclassify the whole fleet `honors`.
|
|
36305
|
+
//
|
|
36306
|
+
// REPLACE IT AT THE **CLI** MERGE, not the API merge — `since` describes
|
|
36307
|
+
// what the HOST can act on — with the published tarball's version (verify
|
|
36308
|
+
// via `npm pack`; apps/cli/package.json is not the published number). And
|
|
36309
|
+
// it must name the first build where flipping the flag does what this flag
|
|
36310
|
+
// SAYS, not merely the first build with a reader: that means the manifest
|
|
36311
|
+
// gate, the tombstone pass sitting above the download short-circuit, and
|
|
36312
|
+
// the response hash covering the tombstone list. Ship a build missing any
|
|
36313
|
+
// of those and reach reports `honors` for hosts that silently never act.
|
|
36314
|
+
since: "99.99.99"
|
|
36315
|
+
},
|
|
36260
36316
|
{
|
|
36261
36317
|
key: "conversation-eval-backend",
|
|
36262
36318
|
description: "Backend for host-side conversation-success scoring AND memory extraction (ENG-6581), which share one scorer: anthropic-api = Haiku via a direct Anthropic Messages API fetch (no subprocess); claude-p = Haiku via the `claude -p` subprocess (reuses the agent auth, effectively free under Max but a heavy spawn); local = an OpenAI-compatible loopback endpoint (transcript never leaves the host). Auth for the anthropic-api path comes from AGT_CONV_EVAL_ANTHROPIC_API_KEY (falls back to ANTHROPIC_API_KEY); with no key that path fails closed (eval disabled) rather than reverting to claude-p. Enum.",
|
|
@@ -43,8 +43,8 @@ import {
|
|
|
43
43
|
writeDirectChatSessionState,
|
|
44
44
|
writeEgressAllowlist,
|
|
45
45
|
writePersistentClaudeWrapper
|
|
46
|
-
} from "./chunk-
|
|
47
|
-
import "./chunk-
|
|
46
|
+
} from "./chunk-Y34UA33A.js";
|
|
47
|
+
import "./chunk-HXGW24VQ.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-
|
|
95
|
+
//# sourceMappingURL=persistent-session-D4JOMLCY.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
paneLogPath
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-Y34UA33A.js";
|
|
4
|
+
import "./chunk-HXGW24VQ.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-
|
|
730
|
+
//# sourceMappingURL=responsiveness-probe-WANP5PYP.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
sessionTranscriptDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-HXGW24VQ.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-
|
|
206
|
+
//# sourceMappingURL=session-auth-dead-2L7FWRLT.js.map
|