@agentdeck/hooks 1.9.6 → 2.1.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"codex-install.d.ts","sourceRoot":"","sources":["../src/codex-install.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,yBAAyB,QAA2C,CAAC;AAClF;;;;;8CAK8C;AAC9C,eAAO,MAAM,kCAAkC,QAAoD,CAAC;AAOpG,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;mEAC+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;+CAC2C;IAC3C,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;uEACmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;0EAO0E;AAC1E,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;AAEzD,wBAAgB,2BAA2B,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,oBAAoB,CAKtG;AAmDD,UAAU,mBAAmB;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;iBAEiB;AACjB,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,mBAAwB,GAAG,MAAM,CAsCvE;AAqGD;;;;yEAIyE;AACzE,wBAAgB,6BAA6B,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,CAKlG;AASD,kEAAkE;AAClE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAW1D;AAuDD;;;kEAGkE;AAClE,wBAAgB,0BAA0B,CAAC,KAAK,SAAwB,GAAG,MAAM,CAEhF;AA2HD;;;;;;;gEAOgE;AAChE,wBAAgB,yBAAyB,CAAC,IAAI,GAAE,cAAmB,GAAG,aAAa,CAgElF;AAED;;yCAEyC;AACzC,wBAAgB,mBAAmB,CAAC,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CAcvG;AAED;;0EAE0E;AAC1E,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,cAAmB,GAAG,aAAa,CAE1E"}
1
+ {"version":3,"file":"codex-install.d.ts","sourceRoot":"","sources":["../src/codex-install.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,yBAAyB,QAA2C,CAAC;AAClF;;;;;8CAK8C;AAC9C,eAAO,MAAM,kCAAkC,QAAoD,CAAC;AAOpG,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;mEAC+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;+CAC2C;IAC3C,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;uEACmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;0EAO0E;AAC1E,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;AAEzD,wBAAgB,2BAA2B,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,oBAAoB,CAKtG;AAmDD,UAAU,mBAAmB;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;iBAEiB;AACjB,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,mBAAwB,GAAG,MAAM,CAsCvE;AAqGD;;;;yEAIyE;AACzE,wBAAgB,6BAA6B,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,CAKlG;AASD,kEAAkE;AAClE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAW1D;AAuDD;;;kEAGkE;AAClE,wBAAgB,0BAA0B,CAAC,KAAK,SAAwB,GAAG,MAAM,CAEhF;AA4HD;;;;;;;gEAOgE;AAChE,wBAAgB,yBAAyB,CAAC,IAAI,GAAE,cAAmB,GAAG,aAAa,CAgElF;AAED;;yCAEyC;AACzC,wBAAgB,mBAAmB,CAAC,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CAcvG;AAED;;0EAE0E;AAC1E,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,cAAmB,GAAG,aAAa,CAE1E"}
@@ -160,11 +160,11 @@ function posixPortPreamble() {
160
160
  `if [ -z "$PORT" ]; then`,
161
161
  ` for F in "$HOME/.agentdeck/daemon.json" "$HOME/Library/Containers/bound.serendipity.agent.deck/Data/Library/Application Support/AgentDeck/daemon.json" "$HOME/Library/Group Containers/group.bound.serendipity.agent.deck/daemon.json"; do`,
162
162
  ` [ -f "$F" ] || continue`,
163
- ` P=$(python3 -c "import json,sys,signal;signal.signal(signal.SIGALRM,lambda *_:sys.exit(0));signal.setitimer(signal.ITIMER_REAL,0.2);d=json.load(open(sys.argv[1]));p=d.get('httpPort') or d.get('port');print(p if type(p) is int and 1 <= p <= 65535 else '')" "$F" 2>/dev/null)`,
163
+ ` P=$(python3 -I -c "import json,sys,signal;signal.signal(signal.SIGALRM,lambda *_:sys.exit(0));signal.setitimer(signal.ITIMER_REAL,0.2);d=json.load(open(sys.argv[1]));p=d.get('httpPort') or d.get('port');print(p if type(p) is int and 1 <= p <= 65535 else '')" "$F" 2>/dev/null)`,
164
164
  ` [ -n "$P" ] && curl -sf --connect-timeout 0.2 --max-time 0.3 "http://127.0.0.1:$P/health" >/dev/null 2>&1 && { PORT="$P"; break; }`,
165
165
  ` done`,
166
166
  `fi`,
167
- `PORT="\${PORT:-9120}"`,
167
+ `[ -n "$PORT" ] || exit 0`,
168
168
  ];
169
169
  }
170
170
  const LIFECYCLE_HOOKS = [
@@ -358,6 +358,7 @@ function windowsPortPreamble() {
358
358
  // process query and POST inside Codex Interrupt's three-second ceiling.
359
359
  ` try {`,
360
360
  ` $agentDeckProbe = [System.Net.WebRequest]::Create('http://127.0.0.1:' + $candidate + '/health')`,
361
+ ` $agentDeckProbe.Proxy = $null`,
361
362
  ` $agentDeckProbe.Timeout = 300; $agentDeckProbe.ReadWriteTimeout = 300`,
362
363
  ` $agentDeckResponse = $agentDeckProbe.GetResponse(); $agentDeckResponse.Close(); $port = $candidate`,
363
364
  ` } catch {}`,
@@ -365,7 +366,7 @@ function windowsPortPreamble() {
365
366
  ` } catch {}`,
366
367
  ` }`,
367
368
  `}`,
368
- `if ($port -eq 0) { $port = 9120 }`,
369
+ `if ($port -eq 0) { exit 0 }`,
369
370
  ];
370
371
  }
371
372
  function windowsEncodedCommand(s) {
@@ -1 +1 @@
1
- {"version":3,"file":"codex-install.js","sourceRoot":"","sources":["../src/codex-install.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,wEAAwE;AACxE,gDAAgD;AAChD,EAAE;AACF,uEAAuE;AACvE,qEAAqE;AACrE,oEAAoE;AACpE,qDAAqD;AACrD,uEAAuE;AACvE,uBAAuB;AACvB,EAAE;AACF,wEAAwE;AACxE,mEAAmE;AACnE,wDAAwD;AACxD,EAAE;AACF,gFAAgF;AAChF,2DAA2D;AAE3D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACrH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EACL,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,EAC1B,oBAAoB,EACpB,oCAAoC,EACpC,MAAM,EACN,eAAe,EACf,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAClF;;;;;8CAK8C;AAC9C,MAAM,CAAC,MAAM,kCAAkC,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;AACpG,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC;AAC9F,CAAC;AAsCD,MAAM,UAAU,2BAA2B,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC9E,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC5D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;6CAM6C;AAC7C,MAAM,0BAA0B,GAAG,kBAAkB,CAAC;AACtD,uCAAuC;AACvC,MAAM,gCAAgC,GAAG,EAAE,CAAC;AAC5C,gFAAgF;AAChF,MAAM,mCAAmC,GAAG,EAAE,CAAC;AAE/C;;uBAEuB;AACvB,SAAS,SAAS;IAChB,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAC;AACtD,CAAC;AAED;;;;4BAI4B;AAC5B,SAAS,qBAAqB;IAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACpD,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,GAAG,CAAC,QAAQ,CAAC;QACnD,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC,CAAC,mCAAmC,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,6DAA6D;AAC7D,gEAAgE;AAChE,gFAAgF;AAChF,uEAAuE;AACvE,SAAS,iBAAiB,CAAC,cAAuB;IAChD,MAAM,IAAI,GAAG,WAAW,CAAC,cAAc,CAAC;QACtC,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,qBAAqB,EAAE,IAAI,mBAAmB,CAAC;IACnD,OAAO,oBAAoB,IAAI,iBAAiB,CAAC;AACnD,CAAC;AAeD;;iBAEiB;AACjB,MAAM,UAAU,gBAAgB,CAAC,OAA4B,EAAE;IAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IAEnD,MAAM,KAAK,GAAa;QACtB,+DAA+D;QAC/D,iEAAiE;KAClE,CAAC;IAEF,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC9D,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAC/E,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,EAAE,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAE7E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC;IAErF,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;QAChG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;0DAQ0D;AAC1D,SAAS,qBAAqB,CAAC,KAAa,EAAE,QAAyB,EAAE,gBAAyB;IAChG,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,gBAAgB,IAAI,kCAAkC,CAAC;QAC1E,OAAO,uGAAuG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;IACtI,CAAC;IACD,OAAO,yBAAyB,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,uBAAuB,CAAC;AAC3F,CAAC;AAED;;;;gDAIgD;AAChD,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,iBAAiB,EAAE,CAAC,MAAM,CAAC;QAChC,uFAAuF,KAAK,2EAA2E;KACxK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,0EAA0E;AAC1E,SAAS,iBAAiB;IACxB,OAAO;QACL,6BAA6B;QAC7B,kIAAkI;QAClI,yBAAyB;QACzB,8OAA8O;QAC9O,6BAA6B;QAC7B,uRAAuR;QACvR,wIAAwI;QACxI,QAAQ;QACR,IAAI;QACJ,uBAAuB;KACxB,CAAC;AACJ,CAAC;AAQD,MAAM,eAAe,GAAoB;IACvC,EAAE,UAAU,EAAE,cAAc,EAAM,cAAc,EAAE,qBAAqB,EAAO,OAAO,EAAE,sBAAsB,EAAE;IAC/G,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,0BAA0B,EAAE,OAAO,EAAE,IAAI,EAAE;IAC7F,EAAE,UAAU,EAAE,YAAY,EAAQ,cAAc,EAAE,kBAAkB,EAAU,OAAO,EAAE,GAAG,EAAE;IAC5F,EAAE,UAAU,EAAE,aAAa,EAAO,cAAc,EAAE,gBAAgB,EAAY,OAAO,EAAE,GAAG,EAAE;IAC5F,EAAE,UAAU,EAAE,MAAM,EAAc,cAAc,EAAE,YAAY,EAAgB,OAAO,EAAE,IAAI,EAAE;IAC7F,EAAE,UAAU,EAAE,eAAe,EAAK,cAAc,EAAE,sBAAsB,EAAM,OAAO,EAAE,GAAG,EAAE;IAC5F,EAAE,UAAU,EAAE,cAAc,EAAM,cAAc,EAAE,qBAAqB,EAAO,OAAO,EAAE,GAAG,EAAE;IAC5F,4EAA4E;IAC5E,kEAAkE;IAClE,sEAAsE;IACtE,6EAA6E;IAC7E,sEAAsE;IACtE,sEAAsE;IACtE,EAAE,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,0BAA0B,EAAE,OAAO,EAAE,GAAG,EAAE;IAC7F,0EAA0E;IAC1E,wEAAwE;IACxE,uCAAuC;IACvC,EAAE,UAAU,EAAE,WAAW,EAAS,cAAc,EAAE,iBAAiB,EAAW,OAAO,EAAE,IAAI,EAAE;CAC9F,CAAC;AAEF,SAAS,wBAAwB,CAAC,QAAyB,EAAE,mBAAmB,GAAG,KAAK;IACtF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,GAAG,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,UAAU,CAAC,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5F,+DAA+D;QAC/D,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnE,0EAA0E;QAC1E,uEAAuE;QACvE,qEAAqE;QACrE,qEAAqE;QACrE,IAAI,mBAAmB,IAAI,IAAI,CAAC,UAAU,KAAK,mBAAmB,EAAE,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,UAAU,CAAC,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3E,KAAK,CAAC,IAAI,CAAC,aAAa,mCAAmC,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;yEAIyE;AACzE,MAAM,UAAU,6BAA6B,CAAC,WAA4B,OAAO,CAAC,QAAQ;IACxF,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,qFAAqF,qBAAqB,CAAC,+BAA+B,EAAE,CAAC,EAAE,CAAC;IACzJ,CAAC;IACD,OAAO,cAAc,iBAAiB,CAAC,wBAAwB,EAAE,CAAC,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO,iBAAiB,EAAE,CAAC,MAAM,CAAC;QAChC,iDAAiD,gCAAgC,wIAAwI,0BAA0B,KAAK,gCAAgC,8BAA8B;QACtT,iEAAiE;KAClE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC9D,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAAE,OAAO,IAAI,CAAC;IACtH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;wEAEwE;AACxE,SAAS,yBAAyB,CAAC,KAAa,EAAE,QAAyB;IACzE,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,gCAAgC,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,cAAc,iBAAiB,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AACzE,CAAC;AAED,8EAA8E;AAC9E,oFAAoF;AACpF,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,iBAAiB,EAAE,CAAC,MAAM,CAAC;QAChC,uFAAuF,KAAK,iGAAiG;KAC9L,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAS;IAClC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC;AAC3C,CAAC;AAED,SAAS,gCAAgC,CAAC,KAAa;IACrD,OAAO,qFAAqF,qBAAqB,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AAC3J,CAAC;AAED,wEAAwE;AACxE,iEAAiE;AACjE,MAAM,kBAAkB,GAAG,+GAA+G,CAAC;AAE3I,SAAS,4BAA4B,CAAC,KAAa;IACjD,OAAO,uBAAuB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;AAC5D,CAAC;AAED;+EAC+E;AAC/E,SAAS,+BAA+B;IACtC,OAAO;QACL,6CAA6C;QAC7C,0CAA0C;QAC1C,GAAG,uBAAuB,EAAE;QAC5B,GAAG,mBAAmB,EAAE;QACxB,WAAW,kBAAkB,EAAE;QAC/B,+DAA+D;QAC/D,sBAAsB,0BAA0B,SAAS,gCAAgC,GAAG;QAC5F,OAAO;QACP,6FAA6F,gCAAgC,yKAAyK;QACtS,qGAAqG;QACrG,YAAY;QACZ,QAAQ;KACT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;kEAGkE;AAClE,MAAM,UAAU,0BAA0B,CAAC,KAAK,GAAG,qBAAqB;IACtE,OAAO,uBAAuB,CAAC,KAAK,EAAE,0EAA0E,CAAC,GAAG,IAAI,CAAC;AAC3H,CAAC;AAED;+EAC+E;AAC/E,SAAS,uBAAuB;IAC9B,OAAO;QACL,yBAAyB;QACzB,OAAO;QACP,6BAA6B;QAC7B,gSAAgS;QAChS,sDAAsD;QACtD,wBAAwB;QACxB,0GAA0G;QAC1G,+DAA+D;QAC/D,4FAA4F;QAC5F,8CAA8C;QAC9C,+DAA+D;QAC/D,gDAAgD;QAChD,6HAA6H;QAC7H,mGAAmG;QACnG,KAAK;QACL,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa,EAAE,cAAsB;IACpE,OAAO;QACL,6CAA6C;QAC7C,0CAA0C;QAC1C,GAAG,uBAAuB,EAAE;QAC5B,GAAG,mBAAmB,EAAE;QACxB,WAAW,cAAc,EAAE;QAC3B,+DAA+D;QAC/D,iEAAiE;QACjE,yCAAyC;QACzC,+DAA+D;QAC/D,kGAAkG,KAAK,iHAAiH;QACxN,QAAQ;KACT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,kEAAkE;AAClE,SAAS,mBAAmB;IAC1B,OAAO;QACL,gBAAgB;QAChB,qBAAqB;QACrB,wIAAwI;QACxI,oBAAoB;QACpB,oBAAoB;QACpB,sEAAsE;QACtE,6CAA6C;QAC7C,WAAW;QACX,8EAA8E;QAC9E,wFAAwF;QACxF,sBAAsB;QACtB,sHAAsH;QACtH,uEAAuE;QACvE,wEAAwE;QACxE,eAAe;QACf,2GAA2G;QAC3G,iFAAiF;QACjF,8GAA8G;QAC9G,oBAAoB;QACpB,SAAS;QACT,gBAAgB;QAChB,KAAK;QACL,GAAG;QACH,mCAAmC;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,CAAS;IACtC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED,2EAA2E;AAE3E,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC;QACH,yEAAyE;QACzE,oCAAoC;QACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YAAE,OAAO,IAAI,CAAC;QAC3C,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAQ,KAA+B,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE;YAAE,OAAO,gGAAgG,CAAC;IAChJ,CAAC;IAAC,MAAM,CAAC,CAAC,mCAAmC,CAAC,CAAC;IAC/C,OAAO,wCAAwC,CAAC;AAClD,CAAC;AAED;;2CAE2C;AAC3C,SAAS,oBAAoB,CAAC,OAAe,EAAE,IAAY;IACzD,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;IAC/E,CAAC;IAAC,MAAM,CAAC,CAAC,0CAA0C,CAAC,CAAC;IACtD,OAAO,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,IAAY;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,GAAG,GAAG,GAAG,IAAI,cAAc,UAAU,EAAE,MAAM,CAAC;IACpD,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACpE,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,0EAA0E;AAE1E;;;;;;;gEAOgE;AAChE,MAAM,UAAU,yBAAyB,CAAC,OAAuB,EAAE;IACjE,IAAI,SAAS,EAAE;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;IAEnF,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,IAAI,yBAAyB,CAAC;IAC1D,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;IACnF,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,SAAS;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAE9D,qEAAqE;IACrE,sEAAsE;IACtE,wEAAwE;IACxE,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC9D,IAAI,WAAW,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,kCAAkC,EAAE,CAAC;IAC1E,CAAC;IACD,IAAI,oCAAoC,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,kDAAkD,EAAE,CAAC;IAC1F,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACnD,IAAI,aAAa,GAAG,CAAC,0BAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACnE,mEAAmE;IACnE,uEAAuE;IACvE,MAAM,WAAW,GAAG,QAAQ,KAAK,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEnF,IAAI,OAA2B,CAAC;IAChC,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,kCAAkC,CAAC;IACrF,IAAI,aAAa,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1C,qEAAqE;QACrE,mEAAmE;QACnE,IAAI,CAAC,oBAAoB,CAAC,0BAA0B,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC1E,aAAa,GAAG,KAAK,CAAC;YACtB,OAAO,GAAG,gCAAgC,gBAAgB,6BAA6B,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,IAAI,2BAA2B,EAAE,CAAC;IAC7E,MAAM,SAAS,GAAG,eAAe,KAAK,IAAI;WACrC,CAAC,eAAe,KAAK,MAAM,IAAI,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEpE,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,MAAM,IAAI,GAAG,gBAAgB,CAAC;QAC5B,eAAe,EAAE,CAAC,WAAW;QAC7B,aAAa;QACb,WAAW;QACX,YAAY;QACZ,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,QAAQ;QACR,gBAAgB;QAChB,mBAAmB,EAAE,SAAS;KAC/B,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAElD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,yCAAyC,EAAE,CAAC;IAChH,IAAI,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC;AAC/D,CAAC;AAED;;yCAEyC;AACzC,MAAM,UAAU,mBAAmB,CAAC,OAA2D,EAAE;IAC/F,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,IAAI,yBAAyB,CAAC;IAC1D,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,QAAQ,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC9F,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IACpH,CAAC;IACD,IAAI,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,gBAAgB,IAAI,kCAAkC,CAAC,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;AAC5C,CAAC;AAED;;0EAE0E;AAC1E,MAAM,UAAU,iBAAiB,CAAC,OAAuB,EAAE;IACzD,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"codex-install.js","sourceRoot":"","sources":["../src/codex-install.ts"],"names":[],"mappings":"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"}
package/dist/install.d.ts CHANGED
@@ -18,7 +18,8 @@ export declare const HOOK_EVENTS: readonly ["SessionStart", "SessionEnd", "PreTo
18
18
  * 2. `~/.agentdeck/daemon.json` (CLI)
19
19
  * 3. App Store sandbox container `daemon.json` (Swift)
20
20
  * 4. Legacy App Store group container `daemon.json` (Swift)
21
- * 5. `9120` fallback (legacy, never reached in practice)
21
+ * No implicit default port: without an explicit port or a healthy registry
22
+ * candidate, the hook exits without transmitting its payload.
22
23
  *
23
24
  * For (2)-(4) the snippet prefers the daemon's `httpPort` field when
24
25
  * present — Swift runs WS and HTTP on separate ports. Each candidate is
@@ -42,11 +43,8 @@ export declare function buildHookCommand(eventName: string): string;
42
43
  * containers which do not exist on Windows:
43
44
  * 1. `$env:AGENTDECK_PORT`
44
45
  * 2. `%USERPROFILE%\.agentdeck\daemon.json`
45
- * 3. `9120` fallback
46
- * There is no `/health` probe per hook: the payload goes straight to the
47
- * daemon.json port and moves on to 9120 only when that connection is refused
48
- * (nothing received it, so it is never delivered twice). The probe was an
49
- * extra PowerShell round trip on every hook, before the hook did its work.
46
+ * Registry discovery requires a bounded health probe. Without an explicit
47
+ * valid port or a healthy registry candidate, skip observation.
50
48
  *
51
49
  * `PreToolUse` and `Stop` are request-response as on POSIX: the daemon's body
52
50
  * (device Allow/Deny, soft-STOP deny, queued directive) is written to stdout
@@ -58,7 +56,7 @@ export declare function buildHookCommand(eventName: string): string;
58
56
  * Errors are swallowed and the exit code is always 0 so a dead daemon never
59
57
  * blocks or fails the host session.
60
58
  */
61
- export declare const WINDOWS_HOOK_SCRIPT = "# AgentDeck -> Claude Code hook bridge. Generated by @agentdeck/hooks; edits are overwritten.\n# Invoked as: powershell -NoProfile -ExecutionPolicy Bypass -File \"<this file>\" -HookEvent <EventName>\n#\n# Must be a script file, NOT an inline -Command: Claude Code runs hook commands\n# through Git Bash (sh -c) on Windows, which expands $var references away before\n# PowerShell sees them.\nparam([Parameter(Mandatory = $true)][ValidatePattern('^[A-Za-z_]+$')][string]$HookEvent)\n\n$ErrorActionPreference = 'SilentlyContinue'\n\n# PreToolUse and Stop are request-response, as in the POSIX hook: the daemon's\n# answer (a device Allow/Deny, a soft-STOP deny, a queued deck directive) is\n# written to stdout for Claude Code, bounded like the POSIX curl --max-time\n# (60 s / 10 s). Every other event is fire-and-forget: bounded like --max-time\n# 0.8, nothing printed.\n$timeoutMs = 800\n$respond = $false\nif ($HookEvent -ceq 'PreToolUse') { $timeoutMs = 60000; $respond = $true }\nelseif ($HookEvent -ceq 'Stop') { $timeoutMs = 10000; $respond = $true }\n\n# Ports in the order tried. $env:AGENTDECK_PORT alone when it is valid;\n# otherwise the daemon.json port, then 9120. No /health probe first: the next\n# port is tried only when a connection is refused, which proves nothing\n# received the payload, so it is never delivered twice.\n$ports = @()\n$candidate = 0\nif ([int]::TryParse([string]$env:AGENTDECK_PORT, [ref]$candidate) -and $candidate -ge 1 -and $candidate -le 65535) {\n $ports = @($candidate)\n} else {\n $f = Join-Path $env:USERPROFILE '.agentdeck\\daemon.json'\n if (Test-Path $f) {\n try {\n $d = Get-Content -Raw $f | ConvertFrom-Json\n $raw = if ($d.httpPort) { $d.httpPort } else { $d.port }\n $candidate = 0\n if ([int]::TryParse([string]$raw, [ref]$candidate) -and $candidate -ge 1 -and $candidate -le 65535) { $ports += $candidate }\n } catch {}\n }\n if ($ports -notcontains 9120) { $ports += 9120 }\n}\n\n# Read stdin as UTF-8: [Console]::In decodes piped stdin with the console OEM\n# codepage (e.g. CP949), garbling non-ASCII payload text.\n$body = (New-Object System.IO.StreamReader([Console]::OpenStandardInput(), [System.Text.Encoding]::UTF8)).ReadToEnd()\n# Post UTF-8 bytes with an explicit charset; the daemon reads them as sent.\n$bytes = [System.Text.Encoding]::UTF8.GetBytes([string]$body)\n\n# A loopback POST needs no proxy: system proxy auto-detection (WPAD) and the\n# Expect: 100-continue wait can each add seconds before the request is sent.\ntry { [System.Net.WebRequest]::DefaultWebProxy = $null } catch {}\ntry { [System.Net.ServicePointManager]::Expect100Continue = $false } catch {}\n\nforeach ($port in $ports) {\n try {\n $req = [System.Net.HttpWebRequest]::Create('http://127.0.0.1:' + $port + '/hooks/' + $HookEvent)\n $req.Method = 'POST'\n $req.Proxy = $null\n $req.ContentType = 'application/json; charset=utf-8'\n $req.Timeout = $timeoutMs\n $req.ReadWriteTimeout = $timeoutMs\n $req.ContentLength = $bytes.Length\n $stream = $req.GetRequestStream()\n $stream.Write($bytes, 0, $bytes.Length)\n $stream.Close()\n $resp = $req.GetResponse()\n if ($respond) {\n # Pass the daemon's UTF-8 bytes through unchanged: a console encoding\n # would turn a non-ASCII directive or reason into '?'.\n $buffer = New-Object System.IO.MemoryStream\n $resp.GetResponseStream().CopyTo($buffer)\n $out = $buffer.ToArray()\n if ($out.Length -gt 0) {\n $stdout = [Console]::OpenStandardOutput()\n $stdout.Write($out, 0, $out.Length)\n $stdout.Flush()\n }\n }\n $resp.Close()\n break\n } catch {\n # Only a refused connection moves on to the next port. A timeout, an HTTP\n # error or anything else ends the hook: the daemon may have the payload.\n $e = $_.Exception\n $refused = $false\n while ($e) {\n if ($e -is [System.Net.WebException] -and $e.Status -eq [System.Net.WebExceptionStatus]::ConnectFailure) { $refused = $true }\n if ($e -is [System.Net.Sockets.SocketException] -and $e.SocketErrorCode -eq [System.Net.Sockets.SocketError]::ConnectionRefused) { $refused = $true }\n $e = $e.InnerException\n }\n if (-not $refused) { break }\n }\n}\n\n# Never block or fail the tool call.\nexit 0\n";
59
+ export declare const WINDOWS_HOOK_SCRIPT = "# AgentDeck -> Claude Code hook bridge. Generated by @agentdeck/hooks; edits are overwritten.\n# Invoked as: powershell -NoProfile -ExecutionPolicy Bypass -File \"<this file>\" -HookEvent <EventName>\n#\n# Must be a script file, NOT an inline -Command: Claude Code runs hook commands\n# through Git Bash (sh -c) on Windows, which expands $var references away before\n# PowerShell sees them.\nparam([Parameter(Mandatory = $true)][ValidatePattern('^[A-Za-z_]+$')][string]$HookEvent)\n\n$ErrorActionPreference = 'SilentlyContinue'\n\n# PreToolUse and Stop are request-response, as in the POSIX hook: the daemon's\n# answer (a device Allow/Deny, a soft-STOP deny, a queued deck directive) is\n# written to stdout for Claude Code, bounded like the POSIX curl --max-time\n# (60 s / 10 s). Every other event is fire-and-forget: bounded like --max-time\n# 0.8, nothing printed.\n$timeoutMs = 800\n$respond = $false\nif ($HookEvent -ceq 'PreToolUse') { $timeoutMs = 60000; $respond = $true }\nelseif ($HookEvent -ceq 'Stop') { $timeoutMs = 10000; $respond = $true }\n\n# A valid explicit port is trusted as on POSIX. Otherwise discover one healthy\n# registry candidate; no candidate means no observation request.\n$ports = @()\n$candidate = 0\nif ([int]::TryParse([string]$env:AGENTDECK_PORT, [ref]$candidate) -and $candidate -ge 1 -and $candidate -le 65535) {\n $ports = @($candidate)\n} else {\n $f = Join-Path $env:USERPROFILE '.agentdeck\\daemon.json'\n if (Test-Path $f) {\n try {\n $d = Get-Content -Raw $f | ConvertFrom-Json\n $raw = if ($d.httpPort) { $d.httpPort } else { $d.port }\n $candidate = 0\n if ([int]::TryParse([string]$raw, [ref]$candidate) -and $candidate -ge 1 -and $candidate -le 65535) {\n $probe = [System.Net.WebRequest]::Create('http://127.0.0.1:' + $candidate + '/health')\n $probe.Proxy = $null\n $probe.Timeout = 300; $probe.ReadWriteTimeout = 300\n $response = $probe.GetResponse(); $response.Close()\n $ports = @($candidate)\n }\n } catch {}\n }\n}\nif ($ports.Count -eq 0) { exit 0 }\n\n# Read stdin as UTF-8: [Console]::In decodes piped stdin with the console OEM\n# codepage (e.g. CP949), garbling non-ASCII payload text.\n$body = (New-Object System.IO.StreamReader([Console]::OpenStandardInput(), [System.Text.Encoding]::UTF8)).ReadToEnd()\n# Post UTF-8 bytes with an explicit charset; the daemon reads them as sent.\n$bytes = [System.Text.Encoding]::UTF8.GetBytes([string]$body)\n\n# A loopback POST needs no proxy: system proxy auto-detection (WPAD) and the\n# Expect: 100-continue wait can each add seconds before the request is sent.\ntry { [System.Net.WebRequest]::DefaultWebProxy = $null } catch {}\ntry { [System.Net.ServicePointManager]::Expect100Continue = $false } catch {}\n\nforeach ($port in $ports) {\n try {\n $req = [System.Net.HttpWebRequest]::Create('http://127.0.0.1:' + $port + '/hooks/' + $HookEvent)\n $req.Method = 'POST'\n $req.Proxy = $null\n $req.ContentType = 'application/json; charset=utf-8'\n $req.Timeout = $timeoutMs\n $req.ReadWriteTimeout = $timeoutMs\n $req.ContentLength = $bytes.Length\n $stream = $req.GetRequestStream()\n $stream.Write($bytes, 0, $bytes.Length)\n $stream.Close()\n $resp = $req.GetResponse()\n if ($respond) {\n # Pass the daemon's UTF-8 bytes through unchanged: a console encoding\n # would turn a non-ASCII directive or reason into '?'.\n $buffer = New-Object System.IO.MemoryStream\n $resp.GetResponseStream().CopyTo($buffer)\n $out = $buffer.ToArray()\n if ($out.Length -gt 0) {\n $stdout = [Console]::OpenStandardOutput()\n $stdout.Write($out, 0, $out.Length)\n $stdout.Flush()\n }\n }\n $resp.Close()\n break\n } catch {\n # Never retry a payload against another receiver.\n break\n }\n}\n\n# Never block or fail the tool call.\nexit 0\n";
62
60
  /** Where the Windows hook script is installed. */
63
61
  export declare function windowsHookScriptPath(home?: string): string;
64
62
  /**
@@ -103,7 +101,7 @@ export declare function buildStatuslineRelayCommand(original?: string | null): s
103
101
  * Claude Code's documented Windows shell selection with the same stdin.
104
102
  * Mirrored byte-identically in `setup/src/setup.ts`.
105
103
  */
106
- export declare const WINDOWS_STATUSLINE_SCRIPT = "# AgentDeck -> Claude Code status-line relay. Generated by @agentdeck/hooks; edits are overwritten.\n# Invoked as: powershell -NoProfile -ExecutionPolicy Bypass -File \"<this file>\" [-OriginalB64 <base64 of your own status-line command>]\n#\n# Must be a script file, NOT an inline -Command, for the reason agentdeck-hook.ps1\n# documents: when installed, Git Bash (sh -c) expands $var references before\n# PowerShell sees them. Your own command travels as\n# base64 for the same reason.\nparam([ValidatePattern('^[A-Za-z0-9+/=]*$')][string]$OriginalB64 = '')\n\n$ErrorActionPreference = 'SilentlyContinue'\ntry { [Console]::OutputEncoding = New-Object System.Text.UTF8Encoding($false) } catch {}\n\n# Read stdin as UTF-8: [Console]::In decodes piped stdin with the console OEM\n# codepage (e.g. CP949), garbling non-ASCII payload text.\n$body = (New-Object System.IO.StreamReader([Console]::OpenStandardInput(), [System.Text.Encoding]::UTF8)).ReadToEnd()\n\n$port = 0\n$f = Join-Path $env:USERPROFILE '.agentdeck\\daemon.json'\nif (Test-Path $f) {\n try {\n $d = Get-Content -Raw $f | ConvertFrom-Json\n $raw = if ($d.httpPort) { $d.httpPort } else { $d.port }\n $candidate = 0\n if ([int]::TryParse([string]$raw, [ref]$candidate) -and $candidate -ge 1 -and $candidate -le 65535) {\n try {\n Invoke-RestMethod -Uri ('http://127.0.0.1:' + $candidate + '/health') -TimeoutSec 1 -ErrorAction Stop | Out-Null\n $port = $candidate\n } catch {}\n }\n } catch {}\n}\nif (-not $port) { $port = 9120 }\n\n# Post UTF-8 bytes; the daemon keeps only rate_limits (shared/src/claude-statusline.ts).\n$bytes = [System.Text.Encoding]::UTF8.GetBytes([string]$body)\ntry {\n Invoke-RestMethod -Uri ('http://127.0.0.1:' + $port + '/claude/statusline') -Method Post -Body $bytes -ContentType 'application/json; charset=utf-8' -TimeoutSec 2 -ErrorAction Stop | Out-Null\n} catch {}\n\n# Your own status line, when one was wrapped: the same document on its stdin,\n# its output is what Claude Code shows. Match Claude Code's Windows shell choice:\n# Git Bash when available, otherwise the PowerShell running this relay.\nif ($OriginalB64) {\n $script = $null\n try {\n $original = [System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($OriginalB64))\n $sh = $env:CLAUDE_CODE_GIT_BASH_PATH\n if (-not $sh -or -not (Test-Path $sh)) { $sh = (Get-Command bash -ErrorAction SilentlyContinue).Source }\n $psi = New-Object System.Diagnostics.ProcessStartInfo\n if ($sh) {\n $script = [System.IO.Path]::GetTempFileName()\n [System.IO.File]::WriteAllText($script, $original, (New-Object System.Text.UTF8Encoding($false)))\n $psi.FileName = $sh\n $psi.Arguments = '\"' + $script.Replace('\\', '/') + '\"'\n } else {\n $psi.FileName = [System.Diagnostics.Process]::GetCurrentProcess().MainModule.FileName\n # PowerShell captures its stdin reader before running a command that uses\n # the input variable. Parse the user's command after selecting UTF-8 and\n # feed that pipeline explicitly; leave raw stdin untouched otherwise.\n $command = @'\n[Console]::InputEncoding = New-Object System.Text.UTF8Encoding($false)\n[Console]::OutputEncoding = New-Object System.Text.UTF8Encoding($false)\n$OutputEncoding = [Console]::OutputEncoding\n$userCommand = [ScriptBlock]::Create([System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('__AGENTDECK_ORIGINAL__')))\n$usesInput = $userCommand.Ast.Find({\n param($node)\n $node -is [System.Management.Automation.Language.VariableExpressionAst] -and\n $node.VariablePath.IsVariable -and\n $node.VariablePath.UserPath -match '^(?:variable:)?(?:(?:global|local|script|private):)?input$'\n}, $false)\nif ($usesInput) {\n & { while (($line = [Console]::In.ReadLine()) -ne $null) { $line } } | & $userCommand\n} else {\n & $userCommand\n}\n'@\n $command = $command.Replace('__AGENTDECK_ORIGINAL__', $OriginalB64)\n $psi.Arguments = '-NoProfile -ExecutionPolicy Bypass -EncodedCommand ' + [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($command))\n }\n $psi.UseShellExecute = $false\n $psi.CreateNoWindow = $true\n $psi.RedirectStandardInput = $true\n $psi.RedirectStandardOutput = $true\n $psi.StandardOutputEncoding = [System.Text.Encoding]::UTF8\n $p = [System.Diagnostics.Process]::Start($psi)\n $stdin = New-Object System.IO.StreamWriter($p.StandardInput.BaseStream, (New-Object System.Text.UTF8Encoding($false)))\n $stdin.Write($body)\n $stdin.Close()\n $out = $p.StandardOutput.ReadToEnd()\n $p.WaitForExit()\n [Console]::Out.Write($out)\n } catch {} finally {\n if ($script) { Remove-Item $script -Force }\n }\n}\n\n# Never block or fail the status line.\nexit 0\n";
104
+ export declare const WINDOWS_STATUSLINE_SCRIPT = "# AgentDeck -> Claude Code status-line relay. Generated by @agentdeck/hooks; edits are overwritten.\n# Invoked as: powershell -NoProfile -ExecutionPolicy Bypass -File \"<this file>\" [-OriginalB64 <base64 of your own status-line command>]\n#\n# Must be a script file, NOT an inline -Command, for the reason agentdeck-hook.ps1\n# documents: when installed, Git Bash (sh -c) expands $var references before\n# PowerShell sees them. Your own command travels as\n# base64 for the same reason.\nparam([ValidatePattern('^[A-Za-z0-9+/=]*$')][string]$OriginalB64 = '')\n\n$ErrorActionPreference = 'SilentlyContinue'\ntry { [Console]::OutputEncoding = New-Object System.Text.UTF8Encoding($false) } catch {}\n\n# Read stdin as UTF-8: [Console]::In decodes piped stdin with the console OEM\n# codepage (e.g. CP949), garbling non-ASCII payload text.\n$body = (New-Object System.IO.StreamReader([Console]::OpenStandardInput(), [System.Text.Encoding]::UTF8)).ReadToEnd()\n\n$port = 0\n$f = Join-Path $env:USERPROFILE '.agentdeck\\daemon.json'\nif (Test-Path $f) {\n try {\n $d = Get-Content -Raw $f | ConvertFrom-Json\n $raw = if ($d.httpPort) { $d.httpPort } else { $d.port }\n $candidate = 0\n if ([int]::TryParse([string]$raw, [ref]$candidate) -and $candidate -ge 1 -and $candidate -le 65535) {\n try {\n $probe = [System.Net.WebRequest]::Create('http://127.0.0.1:' + $candidate + '/health')\n $probe.Proxy = $null\n $probe.Timeout = 300; $probe.ReadWriteTimeout = 300\n $response = $probe.GetResponse(); $response.Close()\n $port = $candidate\n } catch {}\n }\n } catch {}\n}\n# Post UTF-8 bytes; the daemon keeps only rate_limits (shared/src/claude-statusline.ts).\n$bytes = [System.Text.Encoding]::UTF8.GetBytes([string]$body)\nif ($port -gt 0) {\n try {\n Invoke-RestMethod -Uri ('http://127.0.0.1:' + $port + '/claude/statusline') -Method Post -Body $bytes -ContentType 'application/json; charset=utf-8' -TimeoutSec 2 -ErrorAction Stop | Out-Null\n } catch {}\n}\n\n# Your own status line, when one was wrapped: the same document on its stdin,\n# its output is what Claude Code shows. Match Claude Code's Windows shell choice:\n# Git Bash when available, otherwise the PowerShell running this relay.\nif ($OriginalB64) {\n $script = $null\n try {\n $original = [System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($OriginalB64))\n $sh = $env:CLAUDE_CODE_GIT_BASH_PATH\n if (-not $sh -or -not (Test-Path $sh)) { $sh = (Get-Command bash -ErrorAction SilentlyContinue).Source }\n $psi = New-Object System.Diagnostics.ProcessStartInfo\n if ($sh) {\n $script = [System.IO.Path]::GetTempFileName()\n [System.IO.File]::WriteAllText($script, $original, (New-Object System.Text.UTF8Encoding($false)))\n $psi.FileName = $sh\n $psi.Arguments = '\"' + $script.Replace('\\', '/') + '\"'\n } else {\n $psi.FileName = [System.Diagnostics.Process]::GetCurrentProcess().MainModule.FileName\n # PowerShell captures its stdin reader before running a command that uses\n # the input variable. Parse the user's command after selecting UTF-8 and\n # feed that pipeline explicitly; leave raw stdin untouched otherwise.\n $command = @'\n[Console]::InputEncoding = New-Object System.Text.UTF8Encoding($false)\n[Console]::OutputEncoding = New-Object System.Text.UTF8Encoding($false)\n$OutputEncoding = [Console]::OutputEncoding\n$userCommand = [ScriptBlock]::Create([System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('__AGENTDECK_ORIGINAL__')))\n$usesInput = $userCommand.Ast.Find({\n param($node)\n $node -is [System.Management.Automation.Language.VariableExpressionAst] -and\n $node.VariablePath.IsVariable -and\n $node.VariablePath.UserPath -match '^(?:variable:)?(?:(?:global|local|script|private):)?input$'\n}, $false)\nif ($usesInput) {\n & { while (($line = [Console]::In.ReadLine()) -ne $null) { $line } } | & $userCommand\n} else {\n & $userCommand\n}\n'@\n $command = $command.Replace('__AGENTDECK_ORIGINAL__', $OriginalB64)\n $psi.Arguments = '-NoProfile -ExecutionPolicy Bypass -EncodedCommand ' + [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($command))\n }\n $psi.UseShellExecute = $false\n $psi.CreateNoWindow = $true\n $psi.RedirectStandardInput = $true\n $psi.RedirectStandardOutput = $true\n $psi.StandardOutputEncoding = [System.Text.Encoding]::UTF8\n $p = [System.Diagnostics.Process]::Start($psi)\n $stdin = New-Object System.IO.StreamWriter($p.StandardInput.BaseStream, (New-Object System.Text.UTF8Encoding($false)))\n $stdin.Write($body)\n $stdin.Close()\n $out = $p.StandardOutput.ReadToEnd()\n $p.WaitForExit()\n [Console]::Out.Write($out)\n } catch {} finally {\n if ($script) { Remove-Item $script -Force }\n }\n}\n\n# Never block or fail the status line.\nexit 0\n";
107
105
  /** Where the Windows relay script is installed. */
108
106
  export declare function windowsStatuslineScriptPath(home?: string): string;
109
107
  /** Write the Windows relay script, creating `~/.agentdeck` if needed. Idempotent. */
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
package/dist/install.js CHANGED
@@ -41,7 +41,8 @@ export const HOOK_EVENTS = [
41
41
  * 2. `~/.agentdeck/daemon.json` (CLI)
42
42
  * 3. App Store sandbox container `daemon.json` (Swift)
43
43
  * 4. Legacy App Store group container `daemon.json` (Swift)
44
- * 5. `9120` fallback (legacy, never reached in practice)
44
+ * No implicit default port: without an explicit port or a healthy registry
45
+ * candidate, the hook exits without transmitting its payload.
45
46
  *
46
47
  * For (2)-(4) the snippet prefers the daemon's `httpPort` field when
47
48
  * present — Swift runs WS and HTTP on separate ports. Each candidate is
@@ -63,11 +64,11 @@ export function buildHookCommand(eventName) {
63
64
  `if [ -z "$PORT" ]; then`,
64
65
  ` for F in "$HOME/.agentdeck/daemon.json" "$HOME/Library/Containers/bound.serendipity.agent.deck/Data/Library/Application Support/AgentDeck/daemon.json" "$HOME/Library/Group Containers/group.bound.serendipity.agent.deck/daemon.json"; do`,
65
66
  ` [ -f "$F" ] || continue`,
66
- ` P=$(python3 -c "import json,sys,signal;signal.signal(signal.SIGALRM,lambda *_:sys.exit(0));signal.setitimer(signal.ITIMER_REAL,0.2);d=json.load(open(sys.argv[1]));p=d.get('httpPort') or d.get('port');print(p if type(p) is int and 1 <= p <= 65535 else '')" "$F" 2>/dev/null)`,
67
+ ` P=$(python3 -I -c "import json,sys,signal;signal.signal(signal.SIGALRM,lambda *_:sys.exit(0));signal.setitimer(signal.ITIMER_REAL,0.2);d=json.load(open(sys.argv[1]));p=d.get('httpPort') or d.get('port');print(p if type(p) is int and 1 <= p <= 65535 else '')" "$F" 2>/dev/null)`,
67
68
  ` [ -n "$P" ] && curl -sf --connect-timeout 0.2 --max-time 0.3 "http://127.0.0.1:$P/health" >/dev/null 2>&1 && { PORT="$P"; break; }`,
68
69
  ` done`,
69
70
  `fi`,
70
- `PORT="\${PORT:-9120}"`,
71
+ `[ -n "$PORT" ] || exit 0`,
71
72
  ];
72
73
  // PreToolUse is request-response: the daemon may hold the connection open and
73
74
  // return a permission decision (device approval) or a soft-STOP deny. Capture
@@ -77,7 +78,7 @@ export function buildHookCommand(eventName) {
77
78
  // reaches Claude before curl quits.
78
79
  if (eventName === 'PreToolUse') {
79
80
  return preamble.concat([
80
- `RESP=$(curl -s -X POST "http://127.0.0.1:$PORT/hooks/PreToolUse" -H 'Content-Type: application/json' -H "X-AgentDeck-Pid: $PPID" --max-time 60 -d @- 2>/dev/null)`,
81
+ `RESP=$(curl -s -X POST "http://127.0.0.1:$PORT/hooks/PreToolUse" -H 'Content-Type: application/json' -H "X-AgentDeck-Pid: $PPID" -H "X-AgentDeck-Inbox: \${CLAUDE_CODE_MESSAGING_SOCKET:-}" --max-time 60 -d @- 2>/dev/null)`,
81
82
  `printf '%s' "\${RESP:-}"`,
82
83
  ]).join('\n');
83
84
  }
@@ -87,7 +88,7 @@ export function buildHookCommand(eventName) {
87
88
  // this runs on EVERY turn end, so a wedged daemon must never stall the TUI.
88
89
  if (eventName === 'Stop') {
89
90
  return preamble.concat([
90
- `RESP=$(curl -s -X POST "http://127.0.0.1:$PORT/hooks/Stop" -H 'Content-Type: application/json' -H "X-AgentDeck-Pid: $PPID" --max-time 10 -d @- 2>/dev/null)`,
91
+ `RESP=$(curl -s -X POST "http://127.0.0.1:$PORT/hooks/Stop" -H 'Content-Type: application/json' -H "X-AgentDeck-Pid: $PPID" -H "X-AgentDeck-Inbox: \${CLAUDE_CODE_MESSAGING_SOCKET:-}" --max-time 10 -d @- 2>/dev/null)`,
91
92
  `printf '%s' "\${RESP:-}"`,
92
93
  ]).join('\n');
93
94
  }
@@ -102,7 +103,7 @@ export function buildHookCommand(eventName) {
102
103
  // is a display signal, and Claude Code waits for it before drawing the
103
104
  // dialog, so it must return at once and print nothing (no decision).
104
105
  return preamble.concat([
105
- `curl -sf --connect-timeout 0.2 --max-time 0.8 -X POST "http://127.0.0.1:$PORT/hooks/${eventName}" -H 'Content-Type: application/json' -H "X-AgentDeck-Pid: $PPID" -d @- >/dev/null 2>&1 || true`,
106
+ `curl -sf --connect-timeout 0.2 --max-time 0.8 -X POST "http://127.0.0.1:$PORT/hooks/${eventName}" -H 'Content-Type: application/json' -H "X-AgentDeck-Pid: $PPID" -H "X-AgentDeck-Inbox: \${CLAUDE_CODE_MESSAGING_SOCKET:-}" -d @- >/dev/null 2>&1 || true`,
106
107
  ]).join('\n');
107
108
  }
108
109
  /**
@@ -121,11 +122,8 @@ export function buildHookCommand(eventName) {
121
122
  * containers which do not exist on Windows:
122
123
  * 1. `$env:AGENTDECK_PORT`
123
124
  * 2. `%USERPROFILE%\.agentdeck\daemon.json`
124
- * 3. `9120` fallback
125
- * There is no `/health` probe per hook: the payload goes straight to the
126
- * daemon.json port and moves on to 9120 only when that connection is refused
127
- * (nothing received it, so it is never delivered twice). The probe was an
128
- * extra PowerShell round trip on every hook, before the hook did its work.
125
+ * Registry discovery requires a bounded health probe. Without an explicit
126
+ * valid port or a healthy registry candidate, skip observation.
129
127
  *
130
128
  * `PreToolUse` and `Stop` are request-response as on POSIX: the daemon's body
131
129
  * (device Allow/Deny, soft-STOP deny, queued directive) is written to stdout
@@ -157,10 +155,8 @@ param([Parameter(Mandatory = \$true)][ValidatePattern('^[A-Za-z_]+\$')][string]\
157
155
  if (\$HookEvent -ceq 'PreToolUse') { \$timeoutMs = 60000; \$respond = \$true }
158
156
  elseif (\$HookEvent -ceq 'Stop') { \$timeoutMs = 10000; \$respond = \$true }
159
157
 
160
- # Ports in the order tried. \$env:AGENTDECK_PORT alone when it is valid;
161
- # otherwise the daemon.json port, then 9120. No /health probe first: the next
162
- # port is tried only when a connection is refused, which proves nothing
163
- # received the payload, so it is never delivered twice.
158
+ # A valid explicit port is trusted as on POSIX. Otherwise discover one healthy
159
+ # registry candidate; no candidate means no observation request.
164
160
  \$ports = @()
165
161
  \$candidate = 0
166
162
  if ([int]::TryParse([string]\$env:AGENTDECK_PORT, [ref]\$candidate) -and \$candidate -ge 1 -and \$candidate -le 65535) {
@@ -172,11 +168,17 @@ if ([int]::TryParse([string]\$env:AGENTDECK_PORT, [ref]\$candidate) -and \$candi
172
168
  \$d = Get-Content -Raw \$f | ConvertFrom-Json
173
169
  \$raw = if (\$d.httpPort) { \$d.httpPort } else { \$d.port }
174
170
  \$candidate = 0
175
- if ([int]::TryParse([string]\$raw, [ref]\$candidate) -and \$candidate -ge 1 -and \$candidate -le 65535) { \$ports += \$candidate }
171
+ if ([int]::TryParse([string]\$raw, [ref]\$candidate) -and \$candidate -ge 1 -and \$candidate -le 65535) {
172
+ \$probe = [System.Net.WebRequest]::Create('http://127.0.0.1:' + \$candidate + '/health')
173
+ \$probe.Proxy = \$null
174
+ \$probe.Timeout = 300; \$probe.ReadWriteTimeout = 300
175
+ \$response = \$probe.GetResponse(); \$response.Close()
176
+ \$ports = @(\$candidate)
177
+ }
176
178
  } catch {}
177
179
  }
178
- if (\$ports -notcontains 9120) { \$ports += 9120 }
179
180
  }
181
+ if (\$ports.Count -eq 0) { exit 0 }
180
182
 
181
183
  # Read stdin as UTF-8: [Console]::In decodes piped stdin with the console OEM
182
184
  # codepage (e.g. CP949), garbling non-ASCII payload text.
@@ -217,16 +219,8 @@ foreach (\$port in \$ports) {
217
219
  \$resp.Close()
218
220
  break
219
221
  } catch {
220
- # Only a refused connection moves on to the next port. A timeout, an HTTP
221
- # error or anything else ends the hook: the daemon may have the payload.
222
- \$e = \$_.Exception
223
- \$refused = \$false
224
- while (\$e) {
225
- if (\$e -is [System.Net.WebException] -and \$e.Status -eq [System.Net.WebExceptionStatus]::ConnectFailure) { \$refused = \$true }
226
- if (\$e -is [System.Net.Sockets.SocketException] -and \$e.SocketErrorCode -eq [System.Net.Sockets.SocketError]::ConnectionRefused) { \$refused = \$true }
227
- \$e = \$e.InnerException
228
- }
229
- if (-not \$refused) { break }
222
+ # Never retry a payload against another receiver.
223
+ break
230
224
  }
231
225
  }
232
226
 
@@ -288,11 +282,12 @@ export function buildStatuslineRelayCommand(original) {
288
282
  `PORT=""`,
289
283
  `for F in "$HOME/.agentdeck/daemon.json" "$HOME/Library/Containers/bound.serendipity.agent.deck/Data/Library/Application Support/AgentDeck/daemon.json" "$HOME/Library/Group Containers/group.bound.serendipity.agent.deck/daemon.json"; do`,
290
284
  ` [ -f "$F" ] || continue`,
291
- ` P=$(python3 -c "import json,sys,signal;signal.signal(signal.SIGALRM,lambda *_:sys.exit(0));signal.setitimer(signal.ITIMER_REAL,0.2);d=json.load(open(sys.argv[1]));p=d.get('httpPort') or d.get('port');print(p if type(p) is int and 1 <= p <= 65535 else '')" "$F" 2>/dev/null)`,
285
+ ` P=$(python3 -I -c "import json,sys,signal;signal.signal(signal.SIGALRM,lambda *_:sys.exit(0));signal.setitimer(signal.ITIMER_REAL,0.2);d=json.load(open(sys.argv[1]));p=d.get('httpPort') or d.get('port');print(p if type(p) is int and 1 <= p <= 65535 else '')" "$F" 2>/dev/null)`,
292
286
  ` [ -n "$P" ] && curl -sf --connect-timeout 0.2 --max-time 0.3 "http://127.0.0.1:$P/health" >/dev/null 2>&1 && { PORT="$P"; break; }`,
293
287
  `done`,
294
- `PORT="\${PORT:-9120}"`,
288
+ `if [ -n "$PORT" ]; then`,
295
289
  `printf '%s' "$I" | curl -sf --connect-timeout 0.2 --max-time 0.8 -X POST "http://127.0.0.1:$PORT/claude/statusline" -H 'Content-Type: application/json' -H "X-AgentDeck-Pid: $PPID" -d @- >/dev/null 2>&1 || true`,
290
+ `fi`,
296
291
  ];
297
292
  const own = original?.trim();
298
293
  if (own)
@@ -334,19 +329,22 @@ if (Test-Path \$f) {
334
329
  \$candidate = 0
335
330
  if ([int]::TryParse([string]\$raw, [ref]\$candidate) -and \$candidate -ge 1 -and \$candidate -le 65535) {
336
331
  try {
337
- Invoke-RestMethod -Uri ('http://127.0.0.1:' + \$candidate + '/health') -TimeoutSec 1 -ErrorAction Stop | Out-Null
332
+ \$probe = [System.Net.WebRequest]::Create('http://127.0.0.1:' + \$candidate + '/health')
333
+ \$probe.Proxy = \$null
334
+ \$probe.Timeout = 300; \$probe.ReadWriteTimeout = 300
335
+ \$response = \$probe.GetResponse(); \$response.Close()
338
336
  \$port = \$candidate
339
337
  } catch {}
340
338
  }
341
339
  } catch {}
342
340
  }
343
- if (-not \$port) { \$port = 9120 }
344
-
345
341
  # Post UTF-8 bytes; the daemon keeps only rate_limits (shared/src/claude-statusline.ts).
346
342
  \$bytes = [System.Text.Encoding]::UTF8.GetBytes([string]\$body)
347
- try {
348
- Invoke-RestMethod -Uri ('http://127.0.0.1:' + \$port + '/claude/statusline') -Method Post -Body \$bytes -ContentType 'application/json; charset=utf-8' -TimeoutSec 2 -ErrorAction Stop | Out-Null
349
- } catch {}
343
+ if (\$port -gt 0) {
344
+ try {
345
+ Invoke-RestMethod -Uri ('http://127.0.0.1:' + \$port + '/claude/statusline') -Method Post -Body \$bytes -ContentType 'application/json; charset=utf-8' -TimeoutSec 2 -ErrorAction Stop | Out-Null
346
+ } catch {}
347
+ }
350
348
 
351
349
  # Your own status line, when one was wrapped: the same document on its stdin,
352
350
  # its output is what Claude Code shows. Match Claude Code's Windows shell choice:
@@ -639,8 +637,15 @@ export function applyHooks(settings, home = homedir()) {
639
637
  if (!settings.hooks[event]) {
640
638
  settings.hooks[event] = [];
641
639
  }
642
- // Remove both old flat format and new matcher format
643
- settings.hooks[event] = settings.hooks[event].filter((h) => !isAgentDeckHookEntry(h));
640
+ // Refresh only our handlers; a matcher group can also hold user commands.
641
+ settings.hooks[event] = settings.hooks[event].flatMap((h) => {
642
+ if (!isAgentDeckHookEntry(h))
643
+ return [h];
644
+ if (!Array.isArray(h.hooks))
645
+ return [];
646
+ const kept = h.hooks.filter((handler) => !isAgentDeckHookEntry(handler));
647
+ return kept.length ? [{ ...h, hooks: kept }] : [];
648
+ });
644
649
  settings.hooks[event].push(buildHookEntry(event, home));
645
650
  }
646
651
  return settings;
@@ -857,8 +862,16 @@ export function migrateHooksIfNeeded(home = homedir()) {
857
862
  return;
858
863
  const raw = readFileSync(settingsPath, 'utf-8');
859
864
  if (!raw.includes('AGENTDECK_PORT') && !raw.includes('localhost:9120')
860
- && !raw.includes('agentdeck-hook.ps1'))
865
+ && !raw.includes('agentdeck-hook.ps1')) {
866
+ // A relay may remain after hooks were removed independently. Refresh
867
+ // that owned slot without silently reinstalling a hook set.
868
+ if (raw.includes(STATUSLINE_RELAY_MARKER)) {
869
+ const relayOnly = JSON.parse(raw);
870
+ if (refreshStatuslineRelay(relayOnly, process.platform, home))
871
+ writeSettings(settingsPath, relayOnly);
872
+ }
861
873
  return;
874
+ }
862
875
  const settings = JSON.parse(raw);
863
876
  // Windows settings now contain a file path, not the inline validation
864
877
  // markers used by the POSIX migrations below. Converge the command set
@@ -948,6 +961,20 @@ export function migrateHooksIfNeeded(home = homedir()) {
948
961
  applyHooks(settings, home);
949
962
  migrated = true;
950
963
  }
964
+ // Migration 14: isolate Python imports and refuse an undiscovered receiver.
965
+ // Refresh owned hooks even if an older installer overwrites a fixed snippet.
966
+ const unsafeResolver = Object.values(settings.hooks ?? {}).some((groups) => Array.isArray(groups) && groups.some((group) => isAgentDeckHookEntry(group) && [group, ...(Array.isArray(group.hooks) ? group.hooks : [])].some((handler) => typeof handler.command === 'string' && (handler.command.includes('python3 -c "import json,sys,signal;')
967
+ || handler.command.includes('PORT="${PORT:-9120}"')))));
968
+ if (unsafeResolver) {
969
+ applyHooks(settings, home);
970
+ migrated = true;
971
+ }
972
+ // Refresh POSIX owned snippets that predate private inbox advertisement.
973
+ if (Object.values(settings.hooks ?? {}).some((groups) => Array.isArray(groups) && groups.some((group) => isAgentDeckHookEntry(group) &&
974
+ [group, ...(Array.isArray(group.hooks) ? group.hooks : [])].some((handler) => typeof handler.command === 'string' && handler.command.includes('X-AgentDeck-Pid:') && !handler.command.includes('X-AgentDeck-Inbox:'))))) {
975
+ applyHooks(settings, home);
976
+ migrated = true;
977
+ }
951
978
  if (migrated) {
952
979
  writeSettings(settingsPath, settings);
953
980
  }
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
@@ -12,10 +12,17 @@ export interface OpenCodeInstallResult {
12
12
  /** Human-readable reason when `installed === false`. */
13
13
  reason?: string;
14
14
  }
15
+ export declare const OPENCODE_NATIVE_SETUP: {
16
+ readonly pluginFilename: "agentdeck.js";
17
+ readonly receiverFilename: "agentdeck-connection.json";
18
+ readonly owner: "agentdeck-swift-opencode";
19
+ };
15
20
  /** Assemble the plugin source. Exported so tests can assert schema
16
21
  * regressions (event names, payload fields, managed-session guard)
17
22
  * without driving the file installer. */
18
- export declare function opencodePluginSource(): string;
23
+ export declare function opencodePluginSource(options?: {
24
+ nativeObserver?: boolean;
25
+ }): string;
19
26
  /** Install (or refresh) the AgentDeck OpenCode plugin. Idempotent: writes
20
27
  * only when the on-disk content differs from the current template. Safe to
21
28
  * call from setup, `agentdeck opencode`, and `agentdeck daemon install`. */
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-install.d.ts","sourceRoot":"","sources":["../src/opencode-install.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AAEvD;;wEAEwE;AACxE,wBAAgB,kBAAkB,IAAI,MAAM,CAI3C;AAED,MAAM,WAAW,sBAAsB;IACrC,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAUD;;0CAE0C;AAC1C,wBAAgB,oBAAoB,IAAI,MAAM,CAue7C;AAeD;;6EAE6E;AAC7E,wBAAgB,4BAA4B,CAAC,IAAI,GAAE,sBAA2B,GAAG,qBAAqB,CAerG;AAED,4EAA4E;AAC5E,wBAAgB,sBAAsB,CAAC,IAAI,GAAE,sBAA2B,GAAG,IAAI,CAK9E"}
1
+ {"version":3,"file":"opencode-install.d.ts","sourceRoot":"","sources":["../src/opencode-install.ts"],"names":[],"mappings":"AA+BA,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AAEvD;;wEAEwE;AACxE,wBAAgB,kBAAkB,IAAI,MAAM,CAI3C;AAED,MAAM,WAAW,sBAAsB;IACrC,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAQD,eAAO,MAAM,qBAAqB;;;;CAA0I,CAAC;AAI7K;;0CAE0C;AAC1C,wBAAgB,oBAAoB,CAAC,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAioBvF;AA6BD;;6EAE6E;AAC7E,wBAAgB,4BAA4B,CAAC,IAAI,GAAE,sBAA2B,GAAG,qBAAqB,CAkBrG;AAED,4EAA4E;AAC5E,wBAAgB,sBAAsB,CAAC,IAAI,GAAE,sBAA2B,GAAG,IAAI,CAQ9E"}
@@ -23,9 +23,10 @@
23
23
  // + GET /opencode/commands steering long-poll (opencode-steering.ts)
24
24
  // - apple .../DaemonServer.swift ingests opencode_* (2026-07-12) and
25
25
  // serves the same /opencode/commands queue (OpenCodeCommandQueue).
26
- import { readFileSync, writeFileSync, existsSync, mkdirSync, renameSync, unlinkSync } from 'fs';
26
+ import { readFileSync, writeFileSync, existsSync, mkdirSync, renameSync, unlinkSync, lstatSync } from 'fs';
27
27
  import { dirname, join } from 'path';
28
28
  import { homedir } from 'os';
29
+ import { createHash } from 'node:crypto';
29
30
  export const OPENCODE_PLUGIN_FILENAME = 'agentdeck.js';
30
31
  /** OpenCode's global config root: `$XDG_CONFIG_HOME/opencode` falling back
31
32
  * to `~/.config/opencode`. Plugins load from the `plugins/` subdirectory
@@ -40,11 +41,12 @@ export function opencodePluginPath() {
40
41
  function envOptOut() {
41
42
  return process.env.AGENTDECK_NO_OPENCODE_HOOKS === '1';
42
43
  }
43
- const PLUGIN_VERSION = 5;
44
+ export const OPENCODE_NATIVE_SETUP = { pluginFilename: OPENCODE_PLUGIN_FILENAME, receiverFilename: 'agentdeck-connection.json', owner: 'agentdeck-swift-opencode' };
45
+ const PLUGIN_VERSION = 7;
44
46
  /** Assemble the plugin source. Exported so tests can assert schema
45
47
  * regressions (event names, payload fields, managed-session guard)
46
48
  * without driving the file installer. */
47
- export function opencodePluginSource() {
49
+ export function opencodePluginSource(options = {}) {
48
50
  return `// agentdeck-opencode-plugin v${PLUGIN_VERSION} — AUTO-GENERATED by AgentDeck.
49
51
  // Do not edit: reinstalls overwrite this file. Remove it (or set
50
52
  // AGENTDECK_NO_OPENCODE_HOOKS=1 before installing) to opt out.
@@ -53,12 +55,14 @@ export function opencodePluginSource() {
53
55
  // opencode_* hooks — the same observed-session pipeline Claude Code and
54
56
  // Codex use — so standalone \`opencode\` sessions appear on the AgentDeck
55
57
  // timeline with the same prompt → response turn shape. Every POST is
56
- // fire-and-forget with a hard timeout; OpenCode never blocks on AgentDeck.
58
+ // nonblocking during a turn, with bounded delivery drained on disposal.
57
59
 
58
60
  import { readFile } from "node:fs/promises";
59
61
  import { homedir } from "node:os";
60
62
  import { join } from "node:path";
61
63
 
64
+ const NATIVE_OBSERVER = ${options.nativeObserver === true};
65
+ const nativeReceiverURL = new URL("./${OPENCODE_NATIVE_SETUP.receiverFilename}", import.meta.url);
62
66
  const PORT_TTL_MS = 60000;
63
67
  let cachedPort = null;
64
68
  let cachedAt = 0;
@@ -81,6 +85,19 @@ function readRegistry(path) {
81
85
  }
82
86
 
83
87
  async function resolvePort() {
88
+ // The native installation owns an explicit loopback receiver. Re-read on
89
+ // every delivery so a live OpenCode process follows local daemon restarts.
90
+ // Invalid/missing selection never falls through to another daemon.
91
+ if (NATIVE_OBSERVER) {
92
+ try {
93
+ const selection = JSON.parse(await readRegistry(nativeReceiverURL));
94
+ const p = selection.port;
95
+ if (!Number.isInteger(p) || p < 1 || p > 65535) return null;
96
+ const r = await fetch("http://127.0.0.1:" + p + "/health", { signal: AbortSignal.timeout(300) });
97
+ if (!r.ok || (await r.json()).mode !== "daemon") return null;
98
+ return p;
99
+ } catch { return null; }
100
+ }
84
101
  const now = Date.now();
85
102
  if (cachedPort && now - cachedAt < PORT_TTL_MS) return cachedPort;
86
103
  const home = homedir();
@@ -106,13 +123,13 @@ async function resolvePort() {
106
123
  return null;
107
124
  }
108
125
 
109
- function post(event, body) {
110
- resolvePort().then((port) => {
126
+ function deliver(event, body) {
127
+ return resolvePort().then((port) => {
111
128
  if (!port) return;
112
129
  return fetch("http://127.0.0.1:" + port + "/hooks/" + event, {
113
130
  method: "POST",
114
131
  headers: { "Content-Type": "application/json" },
115
- body: JSON.stringify(body),
132
+ body: JSON.stringify({ ...body, agentdeck_pid: process.pid, ...(NATIVE_OBSERVER ? { observer_only: true } : {}) }),
116
133
  signal: AbortSignal.timeout(800),
117
134
  });
118
135
  }).catch(() => { /* daemon down — observation is best-effort */ });
@@ -129,9 +146,99 @@ const steerLoops = new Set();
129
146
  // permission is surfaced on its parent's row (a real wait the user must see),
130
147
  // but OpenCode resolves it against the session that asked.
131
148
  const permissionSession = new Map();
149
+ // Retain only live requests; this is also the authority for command correlation.
150
+ const questionRequests = new Map();
151
+ let questionRevision = 0;
152
+ function permissionTitle(perm) {
153
+ const title = typeof perm.title === "string" ? perm.title : (typeof perm.permission === "string" ? perm.permission : "Permission requested");
154
+ const patterns = Array.isArray(perm.patterns) ? perm.patterns.filter(p => typeof p === "string").join("; ") : "";
155
+ return patterns ? title + ": " + patterns : title;
156
+ }
132
157
 
133
- function startSteerLoop(client, sessionID) {
134
- if (!client || steerLoops.has(sessionID)) return;
158
+ function questionResponderAvailable(client) {
159
+ return typeof client?._client?.post === "function" || typeof client?.question?.reply === "function";
160
+ }
161
+ function questionPayload(props, sessionID, cwd, client) {
162
+ return {
163
+ session_id: sessionID, question_id: props.id,
164
+ title: (Array.isArray(props.questions) ? props.questions : []).map(q => q.question || q.header || "").filter(Boolean).join(" / "),
165
+ questions: (Array.isArray(props.questions) ? props.questions : []).map(q => ({
166
+ question: q.question, header: q.header, multiple: q.multiple, custom: q.custom,
167
+ options: Array.isArray(q.options) ? q.options.map(o => ({ label: o.label, description: o.description })) : [],
168
+ })),
169
+ question_answerable: questionResponderAvailable(client), cwd,
170
+ };
171
+ }
172
+ async function replyQuestion(client, sessionID, cmd, post) {
173
+ const pending = questionRequests.get(cmd.questionId);
174
+ if (!pending || pending.session_id !== sessionID || !Array.isArray(cmd.answers)
175
+ || pending.questions.length !== 1 || pending.questions[0].multiple === true
176
+ || cmd.answers.length !== 1 || !Array.isArray(cmd.answers[0]) || cmd.answers[0].length !== 1
177
+ || !pending.questions[0].options.some(o => o.label === cmd.answers[0][0])) return;
178
+ let timer;
179
+ try {
180
+ const signal = AbortSignal.timeout(5000);
181
+ // The v1 plugin client has no question facade in OpenCode 1.18.35.
182
+ // Reuse its existing SDK transport, preserving in-process fetch/auth and
183
+ // directory context; never dial the nominal serverUrl of a standalone TUI.
184
+ const send = typeof client?._client?.post === "function"
185
+ ? client._client.post({ url: "/question/{requestID}/reply", path: { requestID: cmd.questionId },
186
+ query: { directory: pending.cwd }, body: { answers: cmd.answers },
187
+ headers: { "Content-Type": "application/json" }, signal, throwOnError: true })
188
+ : client.question.reply({ requestID: cmd.questionId, answers: cmd.answers, directory: pending.cwd }, { signal, throwOnError: true });
189
+ const result = await Promise.race([send, new Promise((_, reject) => {
190
+ timer = setTimeout(() => reject(new Error("question reply timed out")), 5000);
191
+ })]);
192
+ if (result?.error) throw Object.assign(new Error("question reply unconfirmed"), { status: result.response?.status });
193
+ } catch (error) {
194
+ const gone = error?.status === 404 || error?.response?.status === 404;
195
+ if (gone) {
196
+ questionRevision++;
197
+ questionRequests.delete(cmd.questionId);
198
+ post("opencode_question_unavailable", { session_id: pending.session_id, question_id: cmd.questionId, cwd: pending.cwd });
199
+ } else if (questionRequests.has(cmd.questionId)) {
200
+ post("opencode_question_asked", { ...pending, reply_failed: true });
201
+ }
202
+ } finally { clearTimeout(timer); }
203
+ }
204
+
205
+ async function reconcileQuestions(client, sessionID, directory, post) {
206
+ if (typeof client?._client?.get !== "function") return;
207
+ const revision = questionRevision;
208
+ let timer;
209
+ try {
210
+ const read = client._client.get({ url: "/question", query: { directory },
211
+ signal: AbortSignal.timeout(5000), throwOnError: true });
212
+ const result = await Promise.race([read, new Promise((_, reject) => {
213
+ timer = setTimeout(() => reject(new Error("question list timed out")), 5000);
214
+ })]);
215
+ // Lifecycle events received during the read outrank its older snapshot.
216
+ if (revision !== questionRevision) return;
217
+ const rows = Array.isArray(result) ? result : result?.data;
218
+ if (!Array.isArray(rows) || !rows.every(q => q && typeof q.id === "string" && typeof q.sessionID === "string")) return;
219
+ const ids = new Set(rows.map(q => q.id));
220
+ for (const [id, pending] of questionRequests) {
221
+ if (pending.session_id === sessionID && !ids.has(id)) {
222
+ questionRequests.delete(id);
223
+ post("opencode_question_unavailable", { session_id: sessionID, question_id: id, cwd: pending.cwd });
224
+ }
225
+ }
226
+ // A readable list can restore a missed initial hook. Keep child routing
227
+ // with the parent's cached identity; a child is not a new top-level row.
228
+ for (const row of rows) {
229
+ const cached = questionRequests.get(row.id);
230
+ if (row.sessionID !== sessionID && cached?.session_id !== sessionID) continue;
231
+ const payload = questionPayload(row, sessionID, cached?.cwd || directory, client);
232
+ questionRequests.set(row.id, payload);
233
+ if (questionRequests.size > 256) questionRequests.delete(questionRequests.keys().next().value);
234
+ post("opencode_question_asked", payload);
235
+ }
236
+ } catch { /* unreadable is not an empty list; retain the known wait */ }
237
+ finally { clearTimeout(timer); }
238
+ }
239
+
240
+ function startSteerLoop(client, sessionID, directory, post) {
241
+ if (NATIVE_OBSERVER || !client || steerLoops.has(sessionID)) return;
135
242
  steerLoops.add(sessionID);
136
243
  (async () => {
137
244
  let failures = 0;
@@ -159,6 +266,8 @@ function startSteerLoop(client, sessionID) {
159
266
  if (client.session.promptAsync) await client.session.promptAsync({ path: { id: sessionID }, body });
160
267
  else if (client.session.prompt) client.session.prompt({ path: { id: sessionID }, body }).catch(() => {});
161
268
  else if (client.session.chat) client.session.chat({ path: { id: sessionID }, body }).catch(() => {});
269
+ } else if (cmd.type === "question_reply" && cmd.questionId) {
270
+ await replyQuestion(client, sessionID, cmd, post);
162
271
  } else if (cmd.type === "permission_respond" && cmd.permissionId) {
163
272
  // Resolve a pending OpenCode permission from the device.
164
273
  // "once" (not "always") keeps device-approval one-shot.
@@ -171,6 +280,7 @@ function startSteerLoop(client, sessionID) {
171
280
  }
172
281
  } catch { /* one bad command must not kill the loop */ }
173
282
  }
283
+ await reconcileQuestions(client, sessionID, directory, post);
174
284
  } catch {
175
285
  failures += 1;
176
286
  // Backoff on repeated failures so a dead daemon costs one probe/30s.
@@ -189,6 +299,7 @@ export const AgentDeckObserver = async ({ directory, client }) => {
189
299
  // events through their session bridge; posting hooks too would
190
300
  // double-count every turn. AGENTDECK_PORT marks a managed PTY.
191
301
  if (process.env.AGENTDECK_PORT) return {};
302
+ if (NATIVE_OBSERVER && process.env.AGENTDECK_NO_OPENCODE_HOOKS === "1") return {};
192
303
 
193
304
  const cwd = directory;
194
305
  const announced = new Set(); // sessionIDs whose opencode_session_start was posted
@@ -335,7 +446,7 @@ export const AgentDeckObserver = async ({ directory, client }) => {
335
446
  post("opencode_permission_asked", {
336
447
  session_id: parent,
337
448
  permission_id: perm.id,
338
- title: typeof perm.title === "string" ? perm.title : (typeof perm.permission === "string" ? perm.permission : "Permission requested"),
449
+ title: permissionTitle(perm),
339
450
  cwd,
340
451
  });
341
452
  }
@@ -345,16 +456,19 @@ export const AgentDeckObserver = async ({ directory, client }) => {
345
456
  permissionSession.delete(id);
346
457
  post("opencode_permission_replied", { session_id: parent, permission_id: id, cwd });
347
458
  } else if (type === "question.asked") {
348
- // Display-only on every surface, so the parent's row can show it.
459
+ // Preserve the child request identity while displaying it on the parent.
349
460
  if (props.id) {
350
- post("opencode_question_asked", {
351
- session_id: parent, question_id: props.id,
352
- title: (Array.isArray(props.questions) ? props.questions : []).map(q => q.question || q.header || "").filter(Boolean).join(" / "),
353
- cwd,
354
- });
461
+ announce(parent);
462
+ const payload = questionPayload(props, parent, cwd, client);
463
+ questionRevision++;
464
+ questionRequests.set(props.id, payload);
465
+ if (questionRequests.size > 256) questionRequests.delete(questionRequests.keys().next().value);
466
+ post("opencode_question_asked", payload);
355
467
  }
356
468
  } else if (type === "question.replied" || type === "question.rejected") {
357
469
  if (props.requestID) {
470
+ questionRevision++;
471
+ questionRequests.delete(props.requestID);
358
472
  post(type === "question.replied" ? "opencode_question_replied" : "opencode_question_rejected", {
359
473
  session_id: parent, question_id: props.requestID, cwd,
360
474
  });
@@ -378,7 +492,7 @@ export const AgentDeckObserver = async ({ directory, client }) => {
378
492
  // Steering: start draining device commands for this session (abort /
379
493
  // prompt injection through the in-process client). Loop lives for the
380
494
  // opencode process lifetime — sessions in one TUI are few and cheap.
381
- startSteerLoop(client, sessionID);
495
+ startSteerLoop(client, sessionID, cwd, post);
382
496
  }
383
497
 
384
498
  function sendPrompt(messageID, sessionID, prompt) {
@@ -390,8 +504,21 @@ export const AgentDeckObserver = async ({ directory, client }) => {
390
504
  post("opencode_user_prompt_submit", { session_id: sessionID, prompt: prompt || "", cwd });
391
505
  }
392
506
 
393
- return {
394
- event: async ({ event }) => {
507
+ // OpenCode invokes event hooks without awaiting them, but awaits dispose.
508
+ // A finite run disposes immediately after idle: keep both parent lookups
509
+ // and the subsequent port-read/POST alive until delivery settles. Merely
510
+ // awaiting post inside the event hook does not keep that CLI alive.
511
+ const pendingEvents = new Set();
512
+ const pendingPosts = new Set();
513
+ let closing = false;
514
+ function post(event, body) {
515
+ const pending = deliver(event, body);
516
+ pendingPosts.add(pending);
517
+ pending.then(() => pendingPosts.delete(pending));
518
+ return pending;
519
+ }
520
+
521
+ const handleEvent = async ({ event }) => {
395
522
  try {
396
523
  const type = event.type;
397
524
  const props = event.properties || {};
@@ -473,7 +600,7 @@ export const AgentDeckObserver = async ({ directory, client }) => {
473
600
  post("opencode_permission_asked", {
474
601
  session_id: psid,
475
602
  permission_id: perm.id,
476
- title: typeof perm.title === "string" ? perm.title : (typeof perm.permission === "string" ? perm.permission : "Permission requested"),
603
+ title: permissionTitle(perm),
477
604
  cwd,
478
605
  });
479
606
  }
@@ -490,14 +617,16 @@ export const AgentDeckObserver = async ({ directory, client }) => {
490
617
  } else if (type === "question.asked") {
491
618
  if (props.sessionID && props.id) {
492
619
  announce(props.sessionID);
493
- post("opencode_question_asked", {
494
- session_id: props.sessionID, question_id: props.id,
495
- title: (Array.isArray(props.questions) ? props.questions : []).map(q => q.question || q.header || "").filter(Boolean).join(" / "),
496
- cwd,
497
- });
620
+ const payload = questionPayload(props, props.sessionID, cwd, client);
621
+ questionRevision++;
622
+ questionRequests.set(props.id, payload);
623
+ if (questionRequests.size > 256) questionRequests.delete(questionRequests.keys().next().value);
624
+ post("opencode_question_asked", payload);
498
625
  }
499
626
  } else if (type === "question.replied" || type === "question.rejected") {
500
627
  if (props.sessionID && props.requestID) {
628
+ questionRevision++;
629
+ questionRequests.delete(props.requestID);
501
630
  post(type === "question.replied" ? "opencode_question_replied" : "opencode_question_rejected", {
502
631
  session_id: props.sessionID, question_id: props.requestID, cwd,
503
632
  });
@@ -527,6 +656,33 @@ export const AgentDeckObserver = async ({ directory, client }) => {
527
656
  // where they are added, not here.
528
657
  }
529
658
  } catch { /* never throw into OpenCode's event loop */ }
659
+ };
660
+ return {
661
+ event(input) {
662
+ if (closing) return Promise.resolve();
663
+ const pending = handleEvent(input);
664
+ pendingEvents.add(pending);
665
+ pending.then(() => pendingEvents.delete(pending));
666
+ return pending;
667
+ },
668
+ async dispose() {
669
+ closing = true;
670
+ for (const timer of promptTimers.values()) clearTimeout(timer);
671
+ promptTimers.clear();
672
+ let deadline;
673
+ try {
674
+ await Promise.race([
675
+ (async () => {
676
+ await Promise.allSettled([...pendingEvents]);
677
+ // An admitted handler can create a prompt timer after the first
678
+ // cancellation above while its parent lookup is still pending.
679
+ for (const timer of promptTimers.values()) clearTimeout(timer);
680
+ promptTimers.clear();
681
+ await Promise.allSettled([...pendingPosts]);
682
+ })(),
683
+ new Promise(resolve => { deadline = setTimeout(resolve, 3000); }),
684
+ ]);
685
+ } finally { clearTimeout(deadline); }
530
686
  },
531
687
  };
532
688
  };
@@ -546,6 +702,29 @@ function writeTextAtomic(text, path) {
546
702
  return false;
547
703
  }
548
704
  }
705
+ /** A Swift-owned installation must not be replaced by background CLI setup. */
706
+ function nativeInstallation(path) {
707
+ const receiver = join(dirname(path), OPENCODE_NATIVE_SETUP.receiverFilename);
708
+ try {
709
+ if (!lstatSync(receiver).isFile())
710
+ return 'refuse';
711
+ }
712
+ catch (error) {
713
+ return error.code === 'ENOENT' ? 'absent' : 'refuse';
714
+ }
715
+ try {
716
+ if (!lstatSync(path).isFile())
717
+ return 'refuse';
718
+ const data = JSON.parse(readFileSync(receiver, 'utf8'));
719
+ if (data.owner !== OPENCODE_NATIVE_SETUP.owner || typeof data.installedSHA256 !== 'string')
720
+ return 'refuse';
721
+ const hash = createHash('sha256').update(readFileSync(path)).digest('hex');
722
+ return hash === data.installedSHA256 ? 'owned' : 'refuse';
723
+ }
724
+ catch {
725
+ return 'refuse';
726
+ }
727
+ }
549
728
  /** Install (or refresh) the AgentDeck OpenCode plugin. Idempotent: writes
550
729
  * only when the on-disk content differs from the current template. Safe to
551
730
  * call from setup, `agentdeck opencode`, and `agentdeck daemon install`. */
@@ -553,6 +732,11 @@ export function installOpenCodeHooksIfNeeded(opts = {}) {
553
732
  if (envOptOut())
554
733
  return { installed: false, reason: 'AGENTDECK_NO_OPENCODE_HOOKS=1' };
555
734
  const path = opts.pluginPath ?? opencodePluginPath();
735
+ const native = nativeInstallation(path);
736
+ if (native === 'owned')
737
+ return { installed: true, reason: 'Observer managed by the macOS app' };
738
+ if (native === 'refuse')
739
+ return { installed: false, reason: 'Native observer files are edited or unrecognized; left unchanged' };
556
740
  const desired = opencodePluginSource();
557
741
  try {
558
742
  if (existsSync(path) && readFileSync(path, 'utf-8') === desired) {
@@ -568,9 +752,14 @@ export function installOpenCodeHooksIfNeeded(opts = {}) {
568
752
  /** Remove the AgentDeck OpenCode plugin. Idempotent — no-op when absent. */
569
753
  export function uninstallOpenCodeHooks(opts = {}) {
570
754
  const path = opts.pluginPath ?? opencodePluginPath();
755
+ const native = nativeInstallation(path);
756
+ if (native === 'refuse')
757
+ return;
571
758
  try {
572
759
  if (existsSync(path))
573
760
  unlinkSync(path);
761
+ if (native === 'owned')
762
+ unlinkSync(join(dirname(path), OPENCODE_NATIVE_SETUP.receiverFilename));
574
763
  }
575
764
  catch { /* best-effort */ }
576
765
  }
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-install.js","sourceRoot":"","sources":["../src/opencode-install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-install.js","sourceRoot":"","sources":["../src/opencode-install.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentdeck/hooks",
3
- "version": "1.9.6",
3
+ "version": "2.1.0",
4
4
  "engines": {
5
5
  "node": "22.x || 24.x || 26.x"
6
6
  },
@@ -41,6 +41,6 @@
41
41
  "typescript": "^6.0.3"
42
42
  },
43
43
  "dependencies": {
44
- "yaml": "2.9.0"
44
+ "yaml": "2.9.1"
45
45
  }
46
46
  }