@scotthuang/agent-knock-knock 0.16.6 → 0.16.8
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/CHANGELOG.md +23 -0
- package/README.md +16 -8
- package/connectors/deepseek-harness/README.md +105 -21
- package/connectors/pi/README.md +30 -8
- package/dist/src/claude-agent-discovery-cache.d.ts +6 -0
- package/dist/src/claude-agent-discovery-cache.js +41 -0
- package/dist/src/claude-agent-discovery-cache.js.map +1 -0
- package/dist/src/claude-native-discovery.d.ts +1 -0
- package/dist/src/claude-native-discovery.js +107 -47
- package/dist/src/claude-native-discovery.js.map +1 -1
- package/dist/src/claude-terminal-agent-observation.d.ts +4 -0
- package/dist/src/claude-terminal-agent-observation.js +58 -5
- package/dist/src/claude-terminal-agent-observation.js.map +1 -1
- package/dist/src/claude-terminal-registry-observation.d.ts +18 -0
- package/dist/src/claude-terminal-registry-observation.js +31 -0
- package/dist/src/claude-terminal-registry-observation.js.map +1 -1
- package/dist/src/cli-core.js +5 -3
- package/dist/src/cli-core.js.map +1 -1
- package/dist/src/cli-runtime-context.d.ts +7 -1
- package/dist/src/cli-runtime-context.js +30 -2
- package/dist/src/cli-runtime-context.js.map +1 -1
- package/dist/src/cli-usage.js +1 -1
- package/dist/src/codex-native-cli-adapter.js +30 -1
- package/dist/src/codex-native-cli-adapter.js.map +1 -1
- package/dist/src/codex-native-public-projection.d.ts +155 -1
- package/dist/src/codex-native-public-projection.js +29 -0
- package/dist/src/codex-native-public-projection.js.map +1 -1
- package/dist/src/codex-store-adapter.d.ts +6 -2
- package/dist/src/codex-store-adapter.js +18 -7
- package/dist/src/codex-store-adapter.js.map +1 -1
- package/dist/src/conversation-list.d.ts +1 -1
- package/dist/src/conversation-list.js +24 -3
- package/dist/src/conversation-list.js.map +1 -1
- package/dist/src/conversation-routing-cli-adapter.js +1 -1
- package/dist/src/conversation-routing-cli-adapter.js.map +1 -1
- package/dist/src/conversation-usage-guidance.js +18 -1
- package/dist/src/conversation-usage-guidance.js.map +1 -1
- package/dist/src/herdr-terminal-control-provider.d.ts +1 -0
- package/dist/src/herdr-terminal-control-provider.js +14 -2
- package/dist/src/herdr-terminal-control-provider.js.map +1 -1
- package/dist/src/host-adapter.d.ts +4 -0
- package/dist/src/host-adapter.js +2 -0
- package/dist/src/host-adapter.js.map +1 -1
- package/dist/src/host-bridge-tools.d.ts +3 -0
- package/dist/src/host-bridge-tools.js +3 -1
- package/dist/src/host-bridge-tools.js.map +1 -1
- package/dist/src/openclaw-plugin-command-adapter.js +1 -1
- package/dist/src/openclaw-plugin-command-adapter.js.map +1 -1
- package/dist/src/semantic-tool-list-budget.d.ts +3 -0
- package/dist/src/semantic-tool-list-budget.js +18 -8
- package/dist/src/semantic-tool-list-budget.js.map +1 -1
- package/dist/src/semantic-tool-list-format.d.ts +5 -0
- package/dist/src/semantic-tool-list-format.js +20 -0
- package/dist/src/semantic-tool-list-format.js.map +1 -0
- package/dist/src/semantic-tool-list-projection.d.ts +1 -1
- package/dist/src/semantic-tool-list-projection.js +23 -5
- package/dist/src/semantic-tool-list-projection.js.map +1 -1
- package/dist/src/semantic-tool-private-authority.js +3 -2
- package/dist/src/semantic-tool-private-authority.js.map +1 -1
- package/dist/src/semantic-tool-runtime.d.ts +4 -1
- package/dist/src/semantic-tool-runtime.js +16 -6
- package/dist/src/semantic-tool-runtime.js.map +1 -1
- package/dist/src/semantic-tool-schemas.d.ts +6 -0
- package/dist/src/semantic-tool-schemas.js +2 -1
- package/dist/src/semantic-tool-schemas.js.map +1 -1
- package/dist/src/terminal-control-provider.d.ts +3 -1
- package/dist/src/terminal-control-provider.js +90 -52
- package/dist/src/terminal-control-provider.js.map +1 -1
- package/dist/src/terminal-list-cli-adapter.d.ts +7 -0
- package/dist/src/terminal-list-cli-adapter.js +48 -71
- package/dist/src/terminal-list-cli-adapter.js.map +1 -1
- package/dist/src/terminal-list-facts.d.ts +13 -1
- package/dist/src/terminal-list-facts.js +54 -3
- package/dist/src/terminal-list-facts.js.map +1 -1
- package/dist/src/terminal-list-inventory.d.ts +3 -0
- package/dist/src/terminal-list-inventory.js +15 -16
- package/dist/src/terminal-list-inventory.js.map +1 -1
- package/dist/src/terminal-list-native-identity-recheck.d.ts +5 -2
- package/dist/src/terminal-list-native-identity-recheck.js +13 -7
- package/dist/src/terminal-list-native-identity-recheck.js.map +1 -1
- package/dist/src/terminal-process-source.d.ts +4 -1
- package/dist/src/terminal-process-source.js +18 -4
- package/dist/src/terminal-process-source.js.map +1 -1
- package/dist/src/terminal-runtime-cli-adapter.d.ts +1 -0
- package/dist/src/terminal-runtime-cli-adapter.js +57 -8
- package/dist/src/terminal-runtime-cli-adapter.js.map +1 -1
- package/docs/command-discovery-performance.md +153 -0
- package/docs/list-output.md +80 -26
- package/docs/list-payload-evaluation.md +133 -0
- package/docs/openclaw-operations.md +21 -2
- package/package.json +1 -1
- package/templates/openclaw-skills/agent-knock-knock/SKILL.md +11 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-list-facts.js","sourceRoot":"","sources":["../../src/terminal-list-facts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AAGpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAe7D,OAAO,EACL,8BAA8B,EAI/B,MAAM,6BAA6B,CAAC;AAsDrC,mFAAmF;AACnF,MAAM,UAAU,wCAAwC,CACtD,KAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"terminal-list-facts.js","sourceRoot":"","sources":["../../src/terminal-list-facts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AAGpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAe7D,OAAO,EACL,8BAA8B,EAI/B,MAAM,6BAA6B,CAAC;AAsDrC,yGAAyG;AACzG,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,KAK9C;IACC,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACpD,OAAO;YACL,cAAc,EAAE;gBACd,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,4DAA4D;aACvH;YACD,cAAc,EAAE,KAAK,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,IAAI,SAAS;YACpH,eAAe,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,+BAA+B;YAC1G,YAAY,EAAE,SAAS;YACvB,aAAa,EAAE,+BAA+B;SAC/C,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO;YACL,cAAc,EAAE;gBACd,GAAG,MAAM,CAAC,cAAc;gBACxB,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;aAChG;YACD,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,cAAc;YAC1D,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,eAAe;YAC7D,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;YACnD,yBAAyB,EAAE,MAAM;YACjC,wEAAwE;YACxE,sEAAsE;YACtE,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;SACtC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,cAAc,EAAE;gBACd,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D;YACD,cAAc,EAAE,SAAS;YACzB,eAAe,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACvE,YAAY,EAAE,SAAS;YACvB,aAAa,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SACtE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,wCAAwC,CACtD,KAAwB,EAAE,OAAkE;IAE5F,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,iBAAiB;QAAE,OAAO;YAC9D,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB;YAC1C,OAAO,EAAE,kJAAkJ;SAC5J,CAAC;IACF,IAAI,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ;QAAE,OAAO;YACnD,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB;YAC1C,OAAO,EAAE,2JAA2J;SACrK,CAAC;IACF,OAAO,2BAA2B,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAC3D,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,6BAA6B,CAAC,KAAa,EAAE,KAAgC,EAAE,IAAa,EAAE,QAAQ,GAAG,KAAK;IAC5H,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAClC,IAAI,QAAQ;QAAE,OAAO,EAAE,6BAA6B,EAAE,KAAK,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,2BAA2B;QACjE,OAAO,EAAE,iJAAiJ,EAAE,CAAC;IAC/J,OAAO;QACL,sBAAsB,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,WAAW,IAAI,OAAO;QAC5E,0BAA0B,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,IAAI,OAAO;QAC9E,6BAA6B,EAAE,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,2BAA2B;YAC/E,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,KAAK,KAAK,IAAI;KAC/F,CAAC;AACJ,CAAC;AAuFD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAAC,KAOtD;IACC,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GACvE,KAAK,CAAC;IACR,MAAM,YAAY,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC;IACjD,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,KAAK,CAAC,qBAAqB,CAAC;QACjD,aAAa,EAAE,aAAa;QAC5B,MAAM;KACP,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,cAAc,CAAC,yBAAyB,CAAC;IAC7D,MAAM,QAAQ,GAAG,WAAW;QAC1B,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,WAAW,EAAE,cAAc,CAAC;QAC1D,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,wBAAwB,GAAG,+BAA+B,CAC9D,OAAO,EACP,OAAO,EACP,cAAc,CACf,CAAC;IACF,MAAM,OAAO,GAAG,+BAA+B,CAC7C,OAAO,EACP,OAAO,EACP,YAAY,CACb,CAAC;IACF,MAAM,iBAAiB,GAAG,OAAO,CAAC,KAAK,KAAK,OAAO;QACjD,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;YAC7B,MAAM,EAAE,cAAc,CAAC,cAAc;YACrC,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,uBAAuB,GAAG,KAAK,CAAC,8BAA8B,EAAE,CAAC;IACvE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAC3E,MAAM,kBAAkB,GAAG,KAAK,CAAC,iCAAiC,EAAE,CAAC;IACrE,MAAM,+BAA+B,GAAG,2BAA2B,CAAC;QAClE,OAAO;QACP,MAAM;QACN,kBAAkB;KACnB,CAAC,CAAC;IACH,MAAM,sBAAsB,GAAG,QAAQ,EAAE,iBAAiB,KAAK,SAAS,CAAC;IACzE,MAAM,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,KAAK,SAAS,CAAC;IAClE,MAAM,oBAAoB,GAAG,MAAM,KAAK,CAAC,2BAA2B,CAAC;QACnE,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;QACtD,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,MAAM;QACN,mBAAmB,EAAE,+BAA+B;QACpD,sBAAsB,EAAE,cAAc;QACtC,sBAAsB;QACtB,uBAAuB;QACvB,mBAAmB;KACpB,CAAC,CAAC;IACH,MAAM,uBAAuB,GAC3B,oBAAoB,EAAE,KAAK,KAAK,aAAa;QAC7C,oBAAoB,CAAC,IAAI,KAAK,eAAe,CAAC;IAChD,MAAM,cAAc,GAAG,uBAAuB;QAC5C,CAAC,CAAC,4CAA4C,CAAC,cAAc,CAAC;QAC9D,CAAC,CAAC,cAAc,CAAC;IAEnB,OAAO,uBAAuB,CAAC;QAC7B,UAAU;QACV,SAAS;QACT,kBAAkB;QAClB,aAAa;QACb,cAAc;QACd,cAAc;QACd,QAAQ;QACR,wBAAwB;QACxB,sBAAsB;QACtB,MAAM;QACN,OAAO;QACP,QAAQ;QACR,uBAAuB;QACvB,mBAAmB;QACnB,iBAAiB;QACjB,+BAA+B;QAC/B,oBAAoB;KACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,+BAA+B,CACtC,OAA8B,EAC9B,OAA6B,EAC7B,KAAiC;IAEjC,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,KAAK,OAAO;QACzC,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ;QAC1C,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;YAC/B,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;YACjC,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,KAAK,CAAC,cAAc;SAC7B,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,WAAW,EAAE,MAAM,KAAK,UAAU;QACrC,KAAK,CAAC,cAAc,KAAK,MAAM;QAC/B,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,IAAI;QACrC,qBAAqB,CAAC,WAAW,CAAC,cAAc,CAAC;QACnD,CAAC,CAAC,WAAW,CAAC,cAAc;QAC5B,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,+BAA+B,CACtC,OAA8B,EAC9B,OAA6B,EAC7B,YAAgC;IAEhC,MAAM,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,YAAY,CAAC,IAAI;QAC1E,MAAM,EAAE,aAAsB;QAC9B,YAAY;QACZ,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,wCAAwC;KACjD,CAAC;IACF,MAAM,0BAA0B,GAC9B,OAAO,CAAC,qBAAqB,EAAE,CAAC,YAAY,CAAC,IAAI;QAC/C,MAAM,EAAE,aAAsB;QAC9B,YAAY;QACZ,gBAAgB,EAAE,KAAK;QACvB,MAAM,EAAE,kCAAkC;KAC3C,CAAC;IACJ,MAAM,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,YAAY,CAAC,IAAI;QAC1E,MAAM,EAAE,aAAsB;QAC9B,YAAY;QACZ,cAAc,EAAE,KAAK;QACrB,wBAAwB,EAAE,KAAK;QAC/B,MAAM,EAAE,uCAAuC;KAChD,CAAC;IACF,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;YACtD,mBAAmB,CAAC,oBAAoB;YACxC,0BAA0B,CAAC,oBAAoB;SAChD,CAAC,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CACtC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CACzD,CAAC,CAAC,CAAC,CAAC;IACL,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,YAAY;QACZ,mBAAmB;QACnB,0BAA0B;QAC1B,sBAAsB;QACtB,mBAAmB,EAAE,8BAA8B,CACjD,OAAO,CAAC,KAAK,EACb,YAAY,CACb;QACD,qBAAqB;KACtB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,2BAA2B,CAAC,KAIpC;IACC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC;IACtD,OAAO,OAAO,CAAC,KAAK,KAAK,OAAO;QAC9B,MAAM,CAAC,yBAAyB,CAAC,MAAM,KAAK,iBAAiB;QAC7D,MAAM,CAAC,kCAAkC,CAAC,MAAM,KAAK,iBAAiB;QACtE,MAAM,CAAC,6BAA6B,EAAE,MAAM,KAAK,iBAAiB;QAClE,MAAM,CAAC,6BAA6B,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG;QACxD,MAAM,CAAC,6BAA6B,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QACvD,MAAM,CAAC,6BAA6B,CAAC,YAAY;YAC/C,kBAAkB,EAAE,YAAY,CAAC;AACvC,CAAC;AAED,SAAS,uBAAuB,CAAC,KAkBhC;IACC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAC9C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;SAC7C,CAAC;QACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,KAAK,CAAC,aAAa;YAC7B,SAAS,EAAE,KAAK,CAAC,cAAc;YAC/B,SAAS,EAAE,KAAK,CAAC,cAAc;YAC/B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;YACxD,cAAc,EAAE,KAAK,CAAC,sBAAsB;SAC7C,CAAC;QACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1C,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9C,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;YACnB,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;YACtD,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;SAC/C,CAAC;QACF,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;YACnB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,+BAA+B,EAC7B,KAAK,CAAC,+BAA+B;SACxC,CAAC;QACF,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;KACjD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,4CAA4C,CACnD,KAAiC;IAEjC,MAAM,MAAM,GAAG,+CAA+C,CAAC;IAC/D,OAAO;QACL,GAAG,KAAK;QACR,cAAc,EAAE,SAAS;QACzB,eAAe,EAAE,MAAM;QACvB,YAAY,EAAE,SAAS;QACvB,aAAa,EAAE,MAAM;KACtB,CAAC;AACJ,CAAC"}
|
|
@@ -31,6 +31,8 @@ export interface TerminalListInventoryScan {
|
|
|
31
31
|
export interface TerminalListInventoryOptions {
|
|
32
32
|
managedOnly?: boolean;
|
|
33
33
|
noApprovalScan?: boolean;
|
|
34
|
+
listDiscoveryOnly?: boolean;
|
|
35
|
+
listDiscoverySnapshot?: boolean;
|
|
34
36
|
terminalDebug?: boolean;
|
|
35
37
|
}
|
|
36
38
|
export interface TerminalListInventoryPorts<Options extends TerminalListInventoryOptions> {
|
|
@@ -56,5 +58,6 @@ export declare function collectTerminalListInventory<Options extends TerminalLis
|
|
|
56
58
|
options: Options;
|
|
57
59
|
agentFilter?: ExecutorKind;
|
|
58
60
|
terminalId?: string;
|
|
61
|
+
processPid?: number;
|
|
59
62
|
ports: TerminalListInventoryPorts<Options>;
|
|
60
63
|
}): Promise<TerminalListInventoryScan>;
|
|
@@ -70,21 +70,20 @@ export async function collectTerminalListInventory(input) {
|
|
|
70
70
|
const selectedSessions = terminalId
|
|
71
71
|
? activeSessions.filter((session) => session.terminalControl !== undefined &&
|
|
72
72
|
bridge.terminalConversationId(session) === terminalId)
|
|
73
|
-
: controlledSessions
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
selectedSessions,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
73
|
+
: input.processPid === undefined ? controlledSessions
|
|
74
|
+
: controlledSessions.filter(session => session.pid === input.processPid);
|
|
75
|
+
// Bound provider pressure even when an explicit detailed scan selects many panes.
|
|
76
|
+
for (let offset = 0; offset < selectedSessions.length; offset += 8) {
|
|
77
|
+
const projected = await Promise.all(selectedSessions.slice(offset, offset + 8).map(async (session) => {
|
|
78
|
+
try {
|
|
79
|
+
return await ports.projectTerminal({ session, activeSessions, selectedSessions, options, bridge });
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
errors.push(`terminal process ${session.pid}: ${error instanceof Error ? error.message : String(error)}`);
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
}));
|
|
86
|
+
terminalControlled.push(...projected.filter((entry) => entry !== undefined));
|
|
88
87
|
}
|
|
89
88
|
}
|
|
90
89
|
catch (error) {
|
|
@@ -107,7 +106,7 @@ export async function collectTerminalListInventory(input) {
|
|
|
107
106
|
agents: adapters.map((adapter) => adapter.agent),
|
|
108
107
|
active_count: activeCount,
|
|
109
108
|
terminal_count: terminalControlled.length,
|
|
110
|
-
approval_scan: options.noApprovalScan ? "disabled" : "enabled",
|
|
109
|
+
approval_scan: options.noApprovalScan ? "disabled" : options.listDiscoveryOnly ? "deferred" : "enabled",
|
|
111
110
|
diagnostics: terminalDiagnostics,
|
|
112
111
|
error: errors.length > 0 ? errors.join("; ") : undefined
|
|
113
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-list-inventory.js","sourceRoot":"","sources":["../../src/terminal-list-inventory.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAK5B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"terminal-list-inventory.js","sourceRoot":"","sources":["../../src/terminal-list-inventory.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,12 +12,14 @@ export interface TerminalListNativeIdentitySnapshot {
|
|
|
12
12
|
recheck?: TerminalListIdentityRecheck;
|
|
13
13
|
windowRole?: "background_view";
|
|
14
14
|
admission?: ClaudeTerminalAdmission;
|
|
15
|
+
activityState?: "idle" | "working" | "waiting";
|
|
16
|
+
agentVersion?: string;
|
|
15
17
|
}
|
|
16
18
|
/** Scope reader snapshots to one List invocation, including exact-terminal List. */
|
|
17
19
|
export declare function withClaudeListIdentityRecheck<Options extends TerminalListInventoryOptions>(input: {
|
|
18
20
|
loadRows?(options: Options, observation: {
|
|
19
21
|
required: true;
|
|
20
|
-
}): readonly ClaudeIdentityRow[]
|
|
22
|
+
}): readonly ClaudeIdentityRow[] | Promise<readonly ClaudeIdentityRow[]>;
|
|
21
23
|
observeWindowRole?(options: Options, pid: number, cwd?: string): "background_view" | undefined;
|
|
22
24
|
observe(request: {
|
|
23
25
|
options: Options;
|
|
@@ -32,7 +34,8 @@ export declare function withClaudeListIdentityRecheck<Options extends TerminalLi
|
|
|
32
34
|
export declare function observeClaudeListIdentitySnapshots(input: {
|
|
33
35
|
sessions: readonly ActiveTerminalProcess[];
|
|
34
36
|
claudeHome?: string;
|
|
35
|
-
|
|
37
|
+
discoveryOnly?: boolean;
|
|
38
|
+
loadRows(): readonly ClaudeIdentityRow[] | Promise<readonly ClaudeIdentityRow[]>;
|
|
36
39
|
observeWindowRole?(session: ActiveTerminalProcess): "background_view" | undefined;
|
|
37
40
|
observe(session: ActiveTerminalProcess, rows: readonly ClaudeIdentityRow[]): Promise<TerminalNativeIdentityObservation>;
|
|
38
41
|
}): Promise<Map<number, TerminalListNativeIdentitySnapshot>>;
|
|
@@ -9,6 +9,7 @@ export function withClaudeListIdentityRecheck(input) {
|
|
|
9
9
|
const snapshots = request.session.agent === "claude" && loadRows
|
|
10
10
|
? await (pending ??= observeClaudeListIdentitySnapshots({
|
|
11
11
|
sessions: request.selectedSessions,
|
|
12
|
+
discoveryOnly: request.options.listDiscoveryOnly,
|
|
12
13
|
claudeHome: typeof configuredHome === "string" ? expandHome(configuredHome) : undefined,
|
|
13
14
|
loadRows: () => loadRows(request.options, { required: true }),
|
|
14
15
|
observeWindowRole: session => input.observeWindowRole?.(request.options, session.pid, session.cwd ?? session.terminalControl?.currentPath),
|
|
@@ -29,7 +30,7 @@ export async function observeClaudeListIdentitySnapshots(input) {
|
|
|
29
30
|
const observeBatch = async (selected, retry) => {
|
|
30
31
|
let rows;
|
|
31
32
|
try {
|
|
32
|
-
rows = input.loadRows();
|
|
33
|
+
rows = await input.loadRows();
|
|
33
34
|
}
|
|
34
35
|
catch (error) {
|
|
35
36
|
for (const session of selected)
|
|
@@ -42,12 +43,17 @@ export async function observeClaudeListIdentitySnapshots(input) {
|
|
|
42
43
|
for (const session of selected) {
|
|
43
44
|
try {
|
|
44
45
|
const observation = await input.observe(session, rows);
|
|
46
|
+
const row = (observation.status === "resolved" ? rows.find(row => row.pid === session.pid && row.sessionId === observation.identity.sessionId) : undefined);
|
|
47
|
+
const activity = row?.status === "busy" ? "working" : row?.status;
|
|
45
48
|
result.set(session.pid, { observation,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
...(["idle", "working", "waiting"].includes(String(activity))
|
|
50
|
+
? { activityState: activity } : {}),
|
|
51
|
+
...(row && typeof row.version === "string" ? { agentVersion: row.version } : {}),
|
|
52
|
+
...(!input.discoveryOnly ? { admission: observeClaudeTerminalAdmission({ pid: session.pid,
|
|
53
|
+
cwd: session.cwd ?? session.terminalControl?.currentPath,
|
|
54
|
+
sessionId: observation.status === "resolved" ? observation.identity.sessionId : undefined,
|
|
55
|
+
processStartedAt: observation.status === "resolved" ? observation.identity.processStartedAt : undefined,
|
|
56
|
+
agentRows: rows, claudeHome: input.claudeHome }) } : {}),
|
|
51
57
|
...(retry ? { recheck: { attempted: true,
|
|
52
58
|
status: observation.status === "resolved" ? "resolved" : "unresolved"
|
|
53
59
|
} } : {}) });
|
|
@@ -60,7 +66,7 @@ export async function observeClaudeListIdentitySnapshots(input) {
|
|
|
60
66
|
};
|
|
61
67
|
await observeBatch(sessions, false);
|
|
62
68
|
const unresolved = sessions.filter(session => result.get(session.pid)?.observation.status !== "resolved");
|
|
63
|
-
if (unresolved.length > 0)
|
|
69
|
+
if (unresolved.length > 0 && !input.discoveryOnly)
|
|
64
70
|
await observeBatch(unresolved, true);
|
|
65
71
|
annotateWindowRoles(unresolved, result, input.observeWindowRole);
|
|
66
72
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-list-native-identity-recheck.js","sourceRoot":"","sources":["../../src/terminal-list-native-identity-recheck.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"terminal-list-native-identity-recheck.js","sourceRoot":"","sources":["../../src/terminal-list-native-identity-recheck.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ export interface ProcessCommandResult {
|
|
|
6
6
|
stderr: string;
|
|
7
7
|
error?: Error;
|
|
8
8
|
}
|
|
9
|
+
export type ProcessCommandRunner = (command: string, args: string[]) => ProcessCommandResult | Promise<ProcessCommandResult>;
|
|
9
10
|
export type TerminalProcessInventoryDiagnosticLog = (event: string, fields: Readonly<Record<string, unknown>>) => void;
|
|
10
11
|
export interface TerminalProcessIncarnation {
|
|
11
12
|
processUuid: string;
|
|
@@ -45,7 +46,7 @@ export declare class SystemTerminalProcessSource implements TerminalProcessSourc
|
|
|
45
46
|
private readonly runCommand;
|
|
46
47
|
private readonly diagnosticLog?;
|
|
47
48
|
constructor(options?: {
|
|
48
|
-
runCommand?:
|
|
49
|
+
runCommand?: ProcessCommandRunner;
|
|
49
50
|
diagnosticLog?: TerminalProcessInventoryDiagnosticLog;
|
|
50
51
|
});
|
|
51
52
|
listProcessSnapshots(isCandidate?: (snapshot: TerminalProcessSnapshot) => boolean, options?: {
|
|
@@ -56,6 +57,8 @@ export declare class SystemTerminalProcessSource implements TerminalProcessSourc
|
|
|
56
57
|
export declare function parsePsProcessSnapshots(output: string): TerminalProcessSnapshot[];
|
|
57
58
|
export declare function parseLsofCwdMap(output: string): Map<number, string>;
|
|
58
59
|
export declare function runProcessCommand(command: string, args: string[]): ProcessCommandResult;
|
|
60
|
+
/** Read-only probes may overlap; each invocation still observes the OS afresh. */
|
|
61
|
+
export declare function runProcessCommandAsync(command: string, args: string[]): Promise<ProcessCommandResult>;
|
|
59
62
|
/**
|
|
60
63
|
* Best-effort liveness for an already-selected process. A zombie still owns a
|
|
61
64
|
* PID but cannot perform work, so it is not a live application owner.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { spawnSync } from "node:child_process";
|
|
1
|
+
import { execFile, spawnSync } from "node:child_process";
|
|
2
2
|
import process from "node:process";
|
|
3
3
|
import { parseProcessElapsedSeconds } from "./terminal-process-facts.js";
|
|
4
4
|
export { parseProcessElapsedSeconds } from "./terminal-process-facts.js";
|
|
@@ -55,11 +55,11 @@ export class SystemTerminalProcessSource {
|
|
|
55
55
|
runCommand;
|
|
56
56
|
diagnosticLog;
|
|
57
57
|
constructor(options = {}) {
|
|
58
|
-
this.runCommand = options.runCommand ??
|
|
58
|
+
this.runCommand = options.runCommand ?? runProcessCommandAsync;
|
|
59
59
|
this.diagnosticLog = options.diagnosticLog;
|
|
60
60
|
}
|
|
61
61
|
async listProcessSnapshots(isCandidate = () => true, options = {}) {
|
|
62
|
-
const ps = this.runCommand("ps", ["-axo", "pid,ppid,etime,command"]);
|
|
62
|
+
const ps = await this.runCommand("ps", ["-axo", "pid,ppid,etime,command"]);
|
|
63
63
|
if (ps.status !== 0) {
|
|
64
64
|
throw new Error(ps.stderr || ps.error?.message || "ps failed");
|
|
65
65
|
}
|
|
@@ -72,7 +72,7 @@ export class SystemTerminalProcessSource {
|
|
|
72
72
|
if (options.includeCwd === false) {
|
|
73
73
|
return selected;
|
|
74
74
|
}
|
|
75
|
-
const lsof = this.runCommand("lsof", [
|
|
75
|
+
const lsof = await this.runCommand("lsof", [
|
|
76
76
|
"-a",
|
|
77
77
|
"-d",
|
|
78
78
|
"cwd",
|
|
@@ -220,6 +220,20 @@ export function runProcessCommand(command, args) {
|
|
|
220
220
|
error: result.error
|
|
221
221
|
};
|
|
222
222
|
}
|
|
223
|
+
/** Read-only probes may overlap; each invocation still observes the OS afresh. */
|
|
224
|
+
export function runProcessCommandAsync(command, args) {
|
|
225
|
+
return new Promise(resolve => {
|
|
226
|
+
execFile(command, args, {
|
|
227
|
+
encoding: "utf8",
|
|
228
|
+
maxBuffer: 1024 * 1024 * 10,
|
|
229
|
+
env: { ...process.env, LC_ALL: "C" }
|
|
230
|
+
}, (error, stdout, stderr) => {
|
|
231
|
+
const status = error ? typeof error.code === "number" ? error.code : null : 0;
|
|
232
|
+
resolve({ status, stdout, stderr,
|
|
233
|
+
...(error && typeof error.code !== "number" ? { error } : {}) });
|
|
234
|
+
});
|
|
235
|
+
});
|
|
236
|
+
}
|
|
223
237
|
/**
|
|
224
238
|
* Best-effort liveness for an already-selected process. A zombie still owns a
|
|
225
239
|
* PID but cannot perform work, so it is not a live application owner.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-process-source.js","sourceRoot":"","sources":["../../src/terminal-process-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"terminal-process-source.js","sourceRoot":"","sources":["../../src/terminal-process-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,7 @@ export interface TerminalRuntimeCliAdapter {
|
|
|
64
64
|
loadClaudeAgentRows(observation?: {
|
|
65
65
|
required?: boolean;
|
|
66
66
|
}): ClaudeAgentRow[];
|
|
67
|
+
loadClaudeAgentRowsForDiscovery(): Promise<ClaudeAgentRow[]>;
|
|
67
68
|
observeClaudeWindowRole(pid: number, cwd?: string): "background_view" | undefined;
|
|
68
69
|
createAgentRegistry(): TerminalAgentAdapterRegistry;
|
|
69
70
|
createBridge(provider?: TerminalControlProvider, registry?: TerminalAgentAdapterRegistry): TerminalAgentBridge;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { claudeTerminalObservationFailure, claudeTerminalWindowRole, normalizeClaudeAgentRows, readClaudeTerminalAgents } from "./claude-terminal-agent-observation.js";
|
|
1
|
+
import { claudeTerminalObservationFailure, claudeTerminalWindowRole, normalizeClaudeAgentRows, readClaudeTerminalAgent, readClaudeTerminalAgents, readClaudeTerminalAgentsForDiscovery } from "./claude-terminal-agent-observation.js";
|
|
2
|
+
import { isClaudeNativeConversationId, parseClaudeNativeConversationId } from "./claude-native-identity.js";
|
|
2
3
|
import { isAuditedCodexPaginatedServerPair } from "./codex-lifecycle-compatibility.js";
|
|
3
4
|
import { runningCodexExecutables } from "./codex-running-executable.js";
|
|
4
5
|
import { spawnSync } from "node:child_process";
|
|
@@ -9,8 +10,9 @@ import { createCodexTerminalAgentAdapter, detectCodexDurableCompletion } from ".
|
|
|
9
10
|
import { createClaudeTerminalAgentAdapter } from "./claude-terminal-agent-adapter.js";
|
|
10
11
|
import { detectClaudeTranscriptCompletion, detectClaudeTranscriptPendingApproval } from "./claude-local-transcript-provider.js";
|
|
11
12
|
import { expandHome, parseJsonOption, resolveOptionalExecutable } from "./cli-command-runtime.js";
|
|
12
|
-
import { cliRuntimeLog } from "./cli-runtime-context.js";
|
|
13
|
+
import { cliExecutionMemo, cliExecutionMemoAsync, cliRuntimeLog } from "./cli-runtime-context.js";
|
|
13
14
|
import { HerdrTerminalControlProvider } from "./herdr-terminal-control-provider.js";
|
|
15
|
+
import { parseTerminalConversationId } from "./terminal-agent-adapter.js";
|
|
14
16
|
import { TerminalAgentBridge } from "./terminal-agent-bridge.js";
|
|
15
17
|
import { createProductionTerminalAgentRegistry } from "./terminal-agent-registry.js";
|
|
16
18
|
import { associateTerminalEndpointEvidence } from "./terminal-control-ref.js";
|
|
@@ -27,8 +29,10 @@ const TERMINAL_CONTROL_CAPABILITIES = ["screen_status", "send_keys",
|
|
|
27
29
|
* the callbacks supplied by the CLI composition root.
|
|
28
30
|
*/
|
|
29
31
|
export function createTerminalRuntimeCliAdapter(input) {
|
|
30
|
-
const createControlProviderRegistry = () =>
|
|
31
|
-
|
|
32
|
+
const createControlProviderRegistry = () => input.options.listDiscoveryOnly
|
|
33
|
+
? cliExecutionMemo("list-terminal-provider-registry", input.dependencies.terminalControlProviderRegistry ??
|
|
34
|
+
JSON.stringify([input.options.terminalsJson, input.options.terminalScreensJson, input.options.processesJson]), () => controlProviderRegistry(input)) : controlProviderRegistry(input);
|
|
35
|
+
const createControlProvider = (registry = createControlProviderRegistry()) => input.options.listDiscoveryOnly ? discoveryProvider(registry) : registry.asProvider();
|
|
32
36
|
const createProcessSource = () => processSource(input);
|
|
33
37
|
const loadClaudeAgentRows = (observation = {}) => claudeAgentRows(input, observation);
|
|
34
38
|
const createAgentRegistry = () => terminalAgentRegistry(input, loadClaudeAgentRows);
|
|
@@ -41,6 +45,7 @@ export function createTerminalRuntimeCliAdapter(input) {
|
|
|
41
45
|
return Object.freeze({
|
|
42
46
|
createControlProviderRegistry, createControlProvider, createProcessSource,
|
|
43
47
|
loadClaudeAgentRows, createAgentRegistry, createBridge,
|
|
48
|
+
loadClaudeAgentRowsForDiscovery: () => claudeAgentRowsForDiscovery(input),
|
|
44
49
|
observeClaudeWindowRole: (pid, cwd) => input.dependencies.loadClaudeAgentRows ||
|
|
45
50
|
input.dependencies.terminalProcessSource || input.dependencies.terminalControlProviderRegistry
|
|
46
51
|
? undefined : claudeTerminalWindowRole(input.options, pid, cwd),
|
|
@@ -50,6 +55,20 @@ export function createTerminalRuntimeCliAdapter(input) {
|
|
|
50
55
|
codexModelCatalogForRunningProcess: (pid, expectedVersion, cwd) => runningCodexModelCatalog(input, pid, expectedVersion, cwd)
|
|
51
56
|
});
|
|
52
57
|
}
|
|
58
|
+
/** Only enumeration shares a snapshot. All endpoint resolution and input methods bind the live provider. */
|
|
59
|
+
function discoveryProvider(registry) {
|
|
60
|
+
return cliExecutionMemo("list-terminal-provider", registry, () => {
|
|
61
|
+
const provider = registry.asProvider();
|
|
62
|
+
// Preserve endpoint object provenance (Herdr binds private evidence in a WeakMap).
|
|
63
|
+
const listTerminals = async () => [...await cliExecutionMemoAsync("list-terminal-endpoints", registry, () => provider.listTerminals())];
|
|
64
|
+
return new Proxy(provider, { get(target, property) {
|
|
65
|
+
if (property === "listTerminals")
|
|
66
|
+
return listTerminals;
|
|
67
|
+
const value = Reflect.get(target, property, target);
|
|
68
|
+
return typeof value === "function" ? value.bind(target) : value;
|
|
69
|
+
} });
|
|
70
|
+
});
|
|
71
|
+
}
|
|
53
72
|
function threadLifecycleCandidateProvider(input, agent) {
|
|
54
73
|
if (agent !== "codex") {
|
|
55
74
|
throw new Error(`unsupported thread lifecycle candidate provider: ${agent}`);
|
|
@@ -84,7 +103,10 @@ function agentSessionProvider(input, agent) {
|
|
|
84
103
|
}));
|
|
85
104
|
}
|
|
86
105
|
return new CodexLocalSessionProvider(new CodexStoreAdapter({
|
|
87
|
-
codexHome: expandHome(input.options.codexHome)
|
|
106
|
+
codexHome: expandHome(input.options.codexHome),
|
|
107
|
+
...(input.options.listDiscoveryOnly === true ? {
|
|
108
|
+
memoizeOpenRootInventory: (key, observe) => cliExecutionMemoAsync("codex-list-open-root-inventory", key, observe)
|
|
109
|
+
} : {})
|
|
88
110
|
}));
|
|
89
111
|
}
|
|
90
112
|
async function attachActiveSessions(input, provider, terminalProvider) {
|
|
@@ -138,6 +160,17 @@ function processSource({ options, dependencies }) {
|
|
|
138
160
|
diagnosticLog: (event, fields) => cliRuntimeLog("info", event, { ...fields })
|
|
139
161
|
});
|
|
140
162
|
}
|
|
163
|
+
async function claudeAgentRowsForDiscovery(input) {
|
|
164
|
+
if (input.dependencies.loadClaudeAgentRows || ["claudeAgentsJson", "processesJson", "terminalsJson", "terminalScreensJson"]
|
|
165
|
+
.some(key => input.options[key] !== undefined))
|
|
166
|
+
return claudeAgentRows(input, { required: true });
|
|
167
|
+
const pid = claudeTargetPid(input.options);
|
|
168
|
+
const result = (pid === undefined ? undefined : readClaudeTerminalAgent(input.options, pid)) ??
|
|
169
|
+
await readClaudeTerminalAgentsForDiscovery(input.options);
|
|
170
|
+
if (result.errors.length)
|
|
171
|
+
throw new Error(claudeTerminalObservationFailure(result));
|
|
172
|
+
return result.rows;
|
|
173
|
+
}
|
|
141
174
|
function claudeAgentRows(input, observation) {
|
|
142
175
|
const injected = input.dependencies.loadClaudeAgentRows;
|
|
143
176
|
if (injected) {
|
|
@@ -147,7 +180,8 @@ function claudeAgentRows(input, observation) {
|
|
|
147
180
|
if (options.claudeAgentsJson === undefined) {
|
|
148
181
|
if (options.processesJson || options.terminalsJson || options.terminalScreensJson)
|
|
149
182
|
return [];
|
|
150
|
-
const
|
|
183
|
+
const pid = claudeTargetPid(options);
|
|
184
|
+
const result = (pid === undefined ? undefined : readClaudeTerminalAgent(options, pid)) ?? readClaudeTerminalAgents(options);
|
|
151
185
|
if (observation.required && result.errors.length) {
|
|
152
186
|
throw new Error(claudeTerminalObservationFailure(result));
|
|
153
187
|
}
|
|
@@ -164,6 +198,20 @@ function claudeAgentRows(input, observation) {
|
|
|
164
198
|
}
|
|
165
199
|
return normalizeClaudeAgentRows(rows);
|
|
166
200
|
}
|
|
201
|
+
function claudeTargetPid(options) {
|
|
202
|
+
const target = options.conversation ?? options.conversationId ?? options.terminal ?? options.session;
|
|
203
|
+
if (typeof target !== "string")
|
|
204
|
+
return undefined;
|
|
205
|
+
try {
|
|
206
|
+
if (isClaudeNativeConversationId(target))
|
|
207
|
+
return parseClaudeNativeConversationId(target).pid;
|
|
208
|
+
const terminal = parseTerminalConversationId(target);
|
|
209
|
+
return terminal?.agent === "claude" ? terminal.pid : undefined;
|
|
210
|
+
}
|
|
211
|
+
catch {
|
|
212
|
+
return undefined;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
167
215
|
function terminalAgentRegistry(input, loadClaudeAgentRows) {
|
|
168
216
|
return createProductionTerminalAgentRegistry({
|
|
169
217
|
overrides: [
|
|
@@ -171,7 +219,8 @@ function terminalAgentRegistry(input, loadClaudeAgentRows) {
|
|
|
171
219
|
detectDurableCompletion: (request) => detectCodexCompletion(request, input.completion)
|
|
172
220
|
}),
|
|
173
221
|
createClaudeTerminalAgentAdapter({
|
|
174
|
-
|
|
222
|
+
// Inventory resolves native rows asynchronously after physical discovery.
|
|
223
|
+
agentRows: input.options.listDiscoveryOnly || input.options.listDiscoverySnapshot || input.options.agent === "codex" ? [] : loadClaudeAgentRows(),
|
|
175
224
|
detectPendingApproval(request) {
|
|
176
225
|
return detectClaudeTranscriptPendingApproval(request, {
|
|
177
226
|
claudeHome: expandHome(input.options.claudeHome),
|
|
@@ -374,7 +423,7 @@ function runningAgentVersion(input, agent, pid) {
|
|
|
374
423
|
return undefined;
|
|
375
424
|
}
|
|
376
425
|
if (agent === "claude") {
|
|
377
|
-
const observation = readClaudeTerminalAgents(input.options);
|
|
426
|
+
const observation = readClaudeTerminalAgent(input.options, pid) ?? readClaudeTerminalAgents(input.options);
|
|
378
427
|
if (observation.rejectedPids.includes(pid))
|
|
379
428
|
return undefined;
|
|
380
429
|
const versions = [...new Set(observation.rows.filter(row => row.pid === pid)
|