@grackle-ai/adapter-sdk 0.131.0 → 0.132.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/adapter.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { Client } from "@connectrpc/connect";
2
2
  import type { powerline } from "@grackle-ai/common";
3
3
  import type { AdapterLogger } from "./logger.js";
4
+ import type { IHostTransport } from "./host-transport.js";
4
5
  /** Type-safe ConnectRPC client for the PowerLine gRPC service. */
5
6
  export type PowerLineClient = Client<typeof powerline.GracklePowerLine>;
6
7
  /** An active connection to a PowerLine, including the gRPC client and port info. */
@@ -8,6 +9,13 @@ export interface PowerLineConnection {
8
9
  client: PowerLineClient;
9
10
  environmentId: string;
10
11
  port: number;
12
+ /**
13
+ * Transport-agnostic host interface (AHP HR8c). One instance per connection,
14
+ * constructed when the connection is established. Consumers use this
15
+ * instead of touching `client` directly so the HR8d wire-flip is a
16
+ * swap of one `IHostTransport` impl for another.
17
+ */
18
+ transport: IHostTransport;
11
19
  }
12
20
  /** Progress event emitted during environment provisioning. */
13
21
  export interface ProvisionEvent {
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,kEAAkE;AAClE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAExE,oFAAoF;AACpF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,8DAA8D;AAC9D,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,6DAA6D;AAC7D,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IAEb,0DAA0D;IAC1D,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,MAAM,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IAC1H,+EAA+E;IAC/E,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtH,uFAAuF;IACvF,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,gFAAgF;IAChF,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,gEAAgE;IAChE,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,0DAA0D;IAC1D,WAAW,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,gGAAgG;IAChG,SAAS,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,MAAM,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;CAC5H;AAED;;;;;;GAMG;AACH,wBAAuB,oBAAoB,CACzC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,OAAO,EACrB,KAAK,GAAE,OAAe,EACtB,MAAM,GAAE,aAA6B,GACpC,cAAc,CAAC,cAAc,CAAC,CAgBhC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,kEAAkE;AAClE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAExE,oFAAoF;AACpF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,SAAS,EAAE,cAAc,CAAC;CAC3B;AAED,8DAA8D;AAC9D,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,6DAA6D;AAC7D,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IAEb,0DAA0D;IAC1D,SAAS,CACP,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,cAAc,EAAE,MAAM,GACrB,cAAc,CAAC,cAAc,CAAC,CAAC;IAClC,+EAA+E;IAC/E,OAAO,CACL,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC,uFAAuF;IACvF,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,gFAAgF;IAChF,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,gEAAgE;IAChE,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,0DAA0D;IAC1D,WAAW,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,gGAAgG;IAChG,SAAS,CAAC,CACR,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,cAAc,EAAE,MAAM,GACrB,cAAc,CAAC,cAAc,CAAC,CAAC;CACnC;AAED;;;;;;GAMG;AACH,wBAAuB,oBAAoB,CACzC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,OAAO,EACrB,KAAK,GAAE,OAAe,EACtB,MAAM,GAAE,aAA6B,GACpC,cAAc,CAAC,cAAc,CAAC,CAgBhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AA+CrD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,oBAAoB,CACzC,aAAqB,EACrB,OAA2B,EAC3B,MAA+B,EAC/B,cAAsB,EACtB,YAAqB,EACrB,QAAiB,KAAK,EACtB,SAAwB,aAAa;IAErC,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,CAAC,KAAK,IAAI,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAChD,IAAI,CAAC;YACH,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;YAChE,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;gBACrC,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,kDAAkD,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAClE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAmErD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,oBAAoB,CACzC,aAAqB,EACrB,OAA2B,EAC3B,MAA+B,EAC/B,cAAsB,EACtB,YAAqB,EACrB,QAAiB,KAAK,EACtB,SAAwB,aAAa;IAErC,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,CAAC,KAAK,IAAI,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAChD,IAAI,CAAC;YACH,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;YAChE,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;gBACrC,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,kDAAkD,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAClE,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA2BjD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,MAAM,GAAE,aAA6B,GACpC,MAAM,CAkBR;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,MAAM,GAAE,aAA6B,GACpC,OAAO,CAAC,IAAI,CAAC,CAcf;AAUD;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAElF;AAID;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAmB/C;AAID,gDAAgD;AAChD,MAAM,WAAW,2BAA2B;IAC1C,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oCAAoC;IACpC,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAoBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC;IAAE,cAAc,EAAE,OAAO,CAAA;CAAE,CAAC,CAyFtC;AAID,8CAA8C;AAC9C,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,2EAA2E;IAC3E,uBAAuB,CAAC,EAAE,MAAM,OAAO,CAAC;IACxC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAuB,kBAAkB,CACvC,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,gBAAqB,GAC7B,cAAc,CAAC,cAAc,CAAC,CA4QhC"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA2BjD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,MAAM,GAAE,aAA6B,GACpC,MAAM,CAkBR;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,MAAM,GAAE,aAA6B,GACpC,OAAO,CAAC,IAAI,CAAC,CAaf;AAUD;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAElF;AAID;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAmB/C;AAID,gDAAgD;AAChD,MAAM,WAAW,2BAA2B;IAC1C,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oCAAoC;IACpC,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAoBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC;IAAE,cAAc,EAAE,OAAO,CAAA;CAAE,CAAC,CA2FtC;AAID,8CAA8C;AAC9C,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,2EAA2E;IAC3E,uBAAuB,CAAC,EAAE,MAAM,OAAO,CAAC;IACxC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAuB,kBAAkB,CACvC,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,gBAAqB,GAC7B,cAAc,CAAC,cAAc,CAAC,CAiThC"}
package/dist/bootstrap.js CHANGED
@@ -49,13 +49,15 @@ export async function writeRemoteEnvFile(executor, powerlineToken, extraEnv, log
49
49
  }
50
50
  const envFileContentBase64 = Buffer.from(envFileContent, "utf8").toString("base64");
51
51
  await executor.exec(`cd ${REMOTE_POWERLINE_DIRECTORY} && node -e "require('fs').writeFileSync('.env.sh',Buffer.from(process.argv[1],'base64').toString('utf8'))" '${shellEscape(envFileContentBase64)}'`, { timeout: REMOTE_EXEC_DEFAULT_TIMEOUT_MS });
52
- await executor.exec(`chmod 600 ${REMOTE_POWERLINE_DIRECTORY}/.env.sh`, { timeout: REMOTE_EXEC_DEFAULT_TIMEOUT_MS });
52
+ await executor.exec(`chmod 600 ${REMOTE_POWERLINE_DIRECTORY}/.env.sh`, {
53
+ timeout: REMOTE_EXEC_DEFAULT_TIMEOUT_MS,
54
+ });
53
55
  }
54
56
  // ─── Remote Probe ───────────────────────────────────────────
55
57
  /** Node.js one-liner that probes the PowerLine port and exits 0/1. */
56
- const PROBE_SCRIPT = `node -e "const s=require('net').createConnection(${DEFAULT_POWERLINE_PORT},'127.0.0.1');`
57
- + `s.on('connect',()=>{s.destroy();process.exit(0)});`
58
- + `s.on('error',()=>process.exit(1))"`;
58
+ const PROBE_SCRIPT = `node -e "const s=require('net').createConnection(${DEFAULT_POWERLINE_PORT},'127.0.0.1');` +
59
+ `s.on('connect',()=>{s.destroy();process.exit(0)});` +
60
+ `s.on('error',()=>process.exit(1))"`;
59
61
  /**
60
62
  * Probe whether the remote PowerLine is listening on its port.
61
63
  * Throws if the port is not reachable.
@@ -80,9 +82,9 @@ export function buildRemoteKillCommand() {
80
82
  `rm -f "${pidfile}"`,
81
83
  ].join(" && ");
82
84
  // Fallback: port-based kill (for upgrades from before pidfile support)
83
- const portKill = `fuser -k ${DEFAULT_POWERLINE_PORT}/tcp 2>/dev/null`
84
- + ` || lsof -ti:${DEFAULT_POWERLINE_PORT} | xargs kill 2>/dev/null`
85
- + ` || pkill -f "powerline.*${DEFAULT_POWERLINE_PORT}" 2>/dev/null`;
85
+ const portKill = `fuser -k ${DEFAULT_POWERLINE_PORT}/tcp 2>/dev/null` +
86
+ ` || lsof -ti:${DEFAULT_POWERLINE_PORT} | xargs kill 2>/dev/null` +
87
+ ` || pkill -f "powerline.*${DEFAULT_POWERLINE_PORT}" 2>/dev/null`;
86
88
  return `(${pidfileKill}) || (${portKill}) || true`;
87
89
  }
88
90
  /** Validate and build the node one-liner that spawns a fully detached PowerLine process. */
@@ -91,14 +93,14 @@ function buildSpawnScript(host) {
91
93
  throw new Error(`Invalid host address: ${host}`);
92
94
  }
93
95
  const hostArg = host ? `,'--host=${host}'` : "";
94
- return (`node -e "`
95
- + `const fs=require('fs');`
96
- + `const {spawn}=require('child_process');`
97
- + `const out=fs.openSync(process.argv[3],'w');`
98
- + `const c=spawn('node',[process.argv[1],'--port=${DEFAULT_POWERLINE_PORT}'${hostArg}],`
99
- + `{cwd:process.cwd(),detached:true,stdio:['ignore',out,out]});`
100
- + `fs.writeFileSync(process.argv[2],String(c.pid));`
101
- + `c.unref();"`);
96
+ return (`node -e "` +
97
+ `const fs=require('fs');` +
98
+ `const {spawn}=require('child_process');` +
99
+ `const out=fs.openSync(process.argv[3],'w');` +
100
+ `const c=spawn('node',[process.argv[1],'--port=${DEFAULT_POWERLINE_PORT}'${hostArg}],` +
101
+ `{cwd:process.cwd(),detached:true,stdio:['ignore',out,out]});` +
102
+ `fs.writeFileSync(process.argv[2],String(c.pid));` +
103
+ `c.unref();"`);
102
104
  }
103
105
  /**
104
106
  * Ensure the remote PowerLine process is running.
@@ -119,16 +121,14 @@ function buildSpawnScript(host) {
119
121
  * and skips npm install, git checks, and artifact copies.
120
122
  */
121
123
  export async function startRemotePowerLine(executor, powerlineToken, options = {}) {
122
- const { extraEnv, workingDirectory, host, autoDetectWorkspace, probeFirst, logger = defaultLogger } = options;
124
+ const { extraEnv, workingDirectory, host, autoDetectWorkspace, probeFirst, logger = defaultLogger, } = options;
123
125
  // Validate workingDirectory to prevent shell injection — must be an absolute POSIX path
124
126
  if (workingDirectory && !/^\/[\w./-]+$/.test(workingDirectory)) {
125
127
  throw new Error(`Invalid working directory: ${workingDirectory}`);
126
128
  }
127
129
  const envFileContent = buildEnvFileContent(powerlineToken, extraEnv, logger);
128
130
  const devMode = isDevMode();
129
- const entryPoint = devMode
130
- ? "dist/index.js"
131
- : "node_modules/@grackle-ai/powerline/dist/index.js";
131
+ const entryPoint = devMode ? "dist/index.js" : "node_modules/@grackle-ai/powerline/dist/index.js";
132
132
  const absoluteEntryPoint = `${REMOTE_POWERLINE_DIRECTORY}/${entryPoint}`;
133
133
  const logFilePath = "$HOME/.grackle/powerline.log";
134
134
  const pidFilePath = `${REMOTE_POWERLINE_DIRECTORY}/powerline.pid`;
@@ -147,10 +147,10 @@ export async function startRemotePowerLine(executor, powerlineToken, options = {
147
147
  // 1. Env file
148
148
  if (envFileContent) {
149
149
  const envFileContentBase64 = Buffer.from(envFileContent, "utf8").toString("base64");
150
- parts.push(`cd ${REMOTE_POWERLINE_DIRECTORY}`
151
- + ` && node -e "require('fs').writeFileSync('.env.sh',Buffer.from(process.argv[1],'base64').toString('utf8'))"`
152
- + ` '${shellEscape(envFileContentBase64)}'`
153
- + ` && chmod 600 .env.sh`);
150
+ parts.push(`cd ${REMOTE_POWERLINE_DIRECTORY}` +
151
+ ` && node -e "require('fs').writeFileSync('.env.sh',Buffer.from(process.argv[1],'base64').toString('utf8'))"` +
152
+ ` '${shellEscape(envFileContentBase64)}'` +
153
+ ` && chmod 600 .env.sh`);
154
154
  }
155
155
  // 2. Working directory
156
156
  let startDirExpr;
@@ -158,24 +158,24 @@ export async function startRemotePowerLine(executor, powerlineToken, options = {
158
158
  startDirExpr = workingDirectory;
159
159
  }
160
160
  else if (autoDetectWorkspace) {
161
- parts.push(`WD=$(ls -d /workspaces/*/ 2>/dev/null | head -1 | sed "s/\\/$//");`
162
- + ` WD=\${WD:-${REMOTE_POWERLINE_DIRECTORY}}`);
161
+ parts.push(`WD=$(ls -d /workspaces/*/ 2>/dev/null | head -1 | sed "s/\\/$//");` +
162
+ ` WD=\${WD:-${REMOTE_POWERLINE_DIRECTORY}}`);
163
163
  startDirExpr = "$WD";
164
164
  }
165
165
  else {
166
166
  startDirExpr = REMOTE_POWERLINE_DIRECTORY;
167
167
  }
168
168
  // 3. Source env vars and spawn PowerLine as a detached process.
169
- const sourceEnv = envFileContent
170
- ? `. ${REMOTE_POWERLINE_DIRECTORY}/.env.sh && `
171
- : "";
172
- parts.push(`cd "${startDirExpr}" && ${sourceEnv}`
173
- + `${buildSpawnScript(host)} "${absoluteEntryPoint}" "${pidFilePath}" "${logFilePath}"`);
169
+ const sourceEnv = envFileContent ? `. ${REMOTE_POWERLINE_DIRECTORY}/.env.sh && ` : "";
170
+ parts.push(`cd "${startDirExpr}" && ${sourceEnv}` +
171
+ `${buildSpawnScript(host)} "${absoluteEntryPoint}" "${pidFilePath}" "${logFilePath}"`);
174
172
  // 4. Probe (after a brief pause for the port to bind)
175
173
  parts.push(`sleep ${POWERLINE_STARTUP_DELAY_MS / 1000} && ${PROBE_SCRIPT}`);
176
174
  const compoundScript = probeFirstPrefix + parts.join(" && ");
177
175
  try {
178
- const stdout = await executor.exec(`bash -c '${shellEscape(compoundScript)}'`, { timeout: REMOTE_EXEC_DEFAULT_TIMEOUT_MS });
176
+ const stdout = await executor.exec(`bash -c '${shellEscape(compoundScript)}'`, {
177
+ timeout: REMOTE_EXEC_DEFAULT_TIMEOUT_MS,
178
+ });
179
179
  if (probeFirst && stdout.includes("__PL_ALIVE__")) {
180
180
  logger.info({ port: DEFAULT_POWERLINE_PORT }, "Remote PowerLine was already running");
181
181
  return { alreadyRunning: true };
@@ -196,9 +196,11 @@ export async function startRemotePowerLine(executor, powerlineToken, options = {
196
196
  export async function* bootstrapPowerLine(executor, powerlineToken, options = {}) {
197
197
  const { extraEnv, workingDirectory, host, logger = defaultLogger, isGitHubProviderEnabled, defaultRuntime, } = options;
198
198
  // 1. Check Node.js (PowerLine requires >= 22)
199
- yield { stage: "bootstrapping", message: "Checking Node.js on remote host...", progress: 0.10 };
199
+ yield { stage: "bootstrapping", message: "Checking Node.js on remote host...", progress: 0.1 };
200
200
  try {
201
- const nodeVersionOutput = await executor.exec("node --version", { timeout: SSH_CONNECTIVITY_TIMEOUT_MS });
201
+ const nodeVersionOutput = await executor.exec("node --version", {
202
+ timeout: SSH_CONNECTIVITY_TIMEOUT_MS,
203
+ });
202
204
  const nodeVersion = String(nodeVersionOutput).trim();
203
205
  logger.info({ nodeVersion }, "Remote Node.js version");
204
206
  const versionMatch = nodeVersion.match(/^v?(\d+)\./);
@@ -211,9 +213,9 @@ export async function* bootstrapPowerLine(executor, powerlineToken, options = {}
211
213
  }
212
214
  }
213
215
  catch (error) {
214
- if (error instanceof Error
215
- && (error.message.startsWith("Unable to parse Node.js version")
216
- || error.message.startsWith("Unsupported Node.js version"))) {
216
+ if (error instanceof Error &&
217
+ (error.message.startsWith("Unable to parse Node.js version") ||
218
+ error.message.startsWith("Unsupported Node.js version"))) {
217
219
  throw error;
218
220
  }
219
221
  throw new Error("Node.js is not installed or not accessible on the remote host. Install Node.js >= 22 and try again.");
@@ -247,14 +249,14 @@ export async function* bootstrapPowerLine(executor, powerlineToken, options = {}
247
249
  const devMode = isDevMode();
248
250
  if (devMode) {
249
251
  // ── Dev mode: copy local monorepo artifacts ──
250
- yield { stage: "bootstrapping", message: "Creating remote directories...", progress: 0.20 };
251
- await executor.exec(`mkdir -p ${REMOTE_POWERLINE_DIRECTORY}/node_modules/@grackle-ai/common`
252
- + ` ${REMOTE_POWERLINE_DIRECTORY}/node_modules/@grackle-ai/runtime-sdk`
253
- + ` ${REMOTE_POWERLINE_DIRECTORY}/node_modules/@grackle-ai/runtime-claude-code`
254
- + ` ${REMOTE_POWERLINE_DIRECTORY}/node_modules/@grackle-ai/runtime-copilot`
255
- + ` ${REMOTE_POWERLINE_DIRECTORY}/node_modules/@grackle-ai/runtime-codex`
256
- + ` ${REMOTE_POWERLINE_DIRECTORY}/node_modules/@grackle-ai/runtime-genaiscript`
257
- + ` ${REMOTE_POWERLINE_DIRECTORY}/node_modules/@grackle-ai/runtime-acp`, { timeout: REMOTE_EXEC_DEFAULT_TIMEOUT_MS });
252
+ yield { stage: "bootstrapping", message: "Creating remote directories...", progress: 0.2 };
253
+ await executor.exec(`mkdir -p ${REMOTE_POWERLINE_DIRECTORY}/node_modules/@grackle-ai/common` +
254
+ ` ${REMOTE_POWERLINE_DIRECTORY}/node_modules/@grackle-ai/runtime-sdk` +
255
+ ` ${REMOTE_POWERLINE_DIRECTORY}/node_modules/@grackle-ai/runtime-claude-code` +
256
+ ` ${REMOTE_POWERLINE_DIRECTORY}/node_modules/@grackle-ai/runtime-copilot` +
257
+ ` ${REMOTE_POWERLINE_DIRECTORY}/node_modules/@grackle-ai/runtime-codex` +
258
+ ` ${REMOTE_POWERLINE_DIRECTORY}/node_modules/@grackle-ai/runtime-genaiscript` +
259
+ ` ${REMOTE_POWERLINE_DIRECTORY}/node_modules/@grackle-ai/runtime-acp`, { timeout: REMOTE_EXEC_DEFAULT_TIMEOUT_MS });
258
260
  // Resolve local artifact paths relative to adapter-sdk's built location.
259
261
  // import.meta.dirname = packages/adapter-sdk/dist → up 2 levels → packages/
260
262
  const sdkDistDir = resolve(import.meta.dirname);
@@ -285,19 +287,27 @@ export async function* bootstrapPowerLine(executor, powerlineToken, options = {}
285
287
  }
286
288
  }
287
289
  // Strip @grackle-ai/* workspace deps, merge in common/mcp deps, then npm install once.
288
- yield { stage: "bootstrapping", message: "Installing dependencies on remote host...", progress: 0.40 };
290
+ yield {
291
+ stage: "bootstrapping",
292
+ message: "Installing dependencies on remote host...",
293
+ progress: 0.4,
294
+ };
289
295
  const extraDepsJson = JSON.stringify(extraDeps).replace(/'/g, "'\\''");
290
- await executor.exec(`cd ${REMOTE_POWERLINE_DIRECTORY} && node -e "`
291
- + `const p=JSON.parse(require('fs').readFileSync('package.json','utf8'));`
292
- + `for(const k of Object.keys(p.dependencies||{})){if(k.startsWith('@grackle-ai/'))delete p.dependencies[k];}`
293
- + `for(const k of Object.keys(p.devDependencies||{})){if(k.startsWith('@grackle-ai/'))delete p.devDependencies[k];}`
294
- + `Object.assign(p.dependencies||{},JSON.parse(process.argv[1]));`
295
- + `require('fs').writeFileSync('package.json',JSON.stringify(p,null,2));" '${extraDepsJson}'`, { timeout: REMOTE_EXEC_DEFAULT_TIMEOUT_MS });
296
+ await executor.exec(`cd ${REMOTE_POWERLINE_DIRECTORY} && node -e "` +
297
+ `const p=JSON.parse(require('fs').readFileSync('package.json','utf8'));` +
298
+ `for(const k of Object.keys(p.dependencies||{})){if(k.startsWith('@grackle-ai/'))delete p.dependencies[k];}` +
299
+ `for(const k of Object.keys(p.devDependencies||{})){if(k.startsWith('@grackle-ai/'))delete p.devDependencies[k];}` +
300
+ `Object.assign(p.dependencies||{},JSON.parse(process.argv[1]));` +
301
+ `require('fs').writeFileSync('package.json',JSON.stringify(p,null,2));" '${extraDepsJson}'`, { timeout: REMOTE_EXEC_DEFAULT_TIMEOUT_MS });
296
302
  await executor.exec(`cd ${REMOTE_POWERLINE_DIRECTORY} && npm install --omit=dev --registry=https://registry.npmjs.org`, { timeout: BOOTSTRAP_NPM_INSTALL_TIMEOUT_MS });
297
303
  // Copy @grackle-ai/* packages AFTER all npm installs (npm wipes unmanaged dirs)
298
304
  for (const [name, dir] of workspacePackages) {
299
305
  const remotePkgDir = `${REMOTE_POWERLINE_DIRECTORY}/node_modules/@grackle-ai/${name}`;
300
- yield { stage: "bootstrapping", message: `Copying @grackle-ai/${name}...`, progress: name === "common" ? 0.57 : 0.59 };
306
+ yield {
307
+ stage: "bootstrapping",
308
+ message: `Copying @grackle-ai/${name}...`,
309
+ progress: name === "common" ? 0.57 : 0.59,
310
+ };
301
311
  await executor.exec(`mkdir -p ${remotePkgDir}`, { timeout: REMOTE_EXEC_DEFAULT_TIMEOUT_MS });
302
312
  await executor.copyTo(join(dir, "dist"), `${remotePkgDir}/dist`);
303
313
  await executor.copyTo(join(dir, "package.json"), `${remotePkgDir}/package.json`);
@@ -306,9 +316,15 @@ export async function* bootstrapPowerLine(executor, powerlineToken, options = {}
306
316
  else {
307
317
  // ── Production mode: npm install from registry ──
308
318
  const version = getPackageVersion();
309
- yield { stage: "bootstrapping", message: "Creating remote directories...", progress: 0.20 };
310
- await executor.exec(`mkdir -p ${REMOTE_POWERLINE_DIRECTORY}`, { timeout: REMOTE_EXEC_DEFAULT_TIMEOUT_MS });
311
- yield { stage: "bootstrapping", message: `Installing @grackle-ai/powerline@${version}...`, progress: 0.25 };
319
+ yield { stage: "bootstrapping", message: "Creating remote directories...", progress: 0.2 };
320
+ await executor.exec(`mkdir -p ${REMOTE_POWERLINE_DIRECTORY}`, {
321
+ timeout: REMOTE_EXEC_DEFAULT_TIMEOUT_MS,
322
+ });
323
+ yield {
324
+ stage: "bootstrapping",
325
+ message: `Installing @grackle-ai/powerline@${version}...`,
326
+ progress: 0.25,
327
+ };
312
328
  await executor.exec(`cd ${REMOTE_POWERLINE_DIRECTORY} && npm init -y && npm install @grackle-ai/powerline@${version} --omit=dev --registry=https://registry.npmjs.org`, { timeout: BOOTSTRAP_NPM_INSTALL_TIMEOUT_MS });
313
329
  }
314
330
  logger.info({ devMode }, "PowerLine bootstrap mode");
@@ -318,9 +334,9 @@ export async function* bootstrapPowerLine(executor, powerlineToken, options = {}
318
334
  const credHelperScript = '#!/bin/sh\ntest "$1" = get || exit 0\necho "username=x-access-token"\necho "password=${GITHUB_TOKEN:-$GH_TOKEN}"\n';
319
335
  const credHelperBase64 = Buffer.from(credHelperScript, "utf8").toString("base64");
320
336
  const credHelperPath = `${REMOTE_POWERLINE_DIRECTORY}/git-credential-github.sh`;
321
- await executor.exec(`node -e "require('fs').writeFileSync(process.argv[1],Buffer.from(process.argv[2],'base64').toString('utf8'),{mode:0o755})" `
322
- + `"${credHelperPath}" '${credHelperBase64}'`
323
- + ` && git config --global credential.helper "${credHelperPath}"`, { timeout: REMOTE_EXEC_DEFAULT_TIMEOUT_MS });
337
+ await executor.exec(`node -e "require('fs').writeFileSync(process.argv[1],Buffer.from(process.argv[2],'base64').toString('utf8'),{mode:0o755})" ` +
338
+ `"${credHelperPath}" '${credHelperBase64}'` +
339
+ ` && git config --global credential.helper "${credHelperPath}"`, { timeout: REMOTE_EXEC_DEFAULT_TIMEOUT_MS });
324
340
  logger.info({ path: credHelperPath }, "Git credential helper configured");
325
341
  }
326
342
  catch (err) {
@@ -358,10 +374,14 @@ export async function* bootstrapPowerLine(executor, powerlineToken, options = {}
358
374
  runtimeUpToDate = false;
359
375
  }
360
376
  if (!runtimeUpToDate) {
361
- yield { stage: "bootstrapping", message: `Installing ${defaultRuntime} runtime...`, progress: 0.57 };
377
+ yield {
378
+ stage: "bootstrapping",
379
+ message: `Installing ${defaultRuntime} runtime...`,
380
+ progress: 0.57,
381
+ };
362
382
  // Write package.json and install dependencies when runtime is missing or stale
363
- await executor.exec(`cd ${runtimeDir}`
364
- + ` && node -e "require('fs').writeFileSync('package.json',Buffer.from(process.argv[1],'base64').toString('utf8'))" '${shellEscape(runtimePkgBase64)}'`, { timeout: REMOTE_EXEC_DEFAULT_TIMEOUT_MS });
383
+ await executor.exec(`cd ${runtimeDir}` +
384
+ ` && node -e "require('fs').writeFileSync('package.json',Buffer.from(process.argv[1],'base64').toString('utf8'))" '${shellEscape(runtimePkgBase64)}'`, { timeout: REMOTE_EXEC_DEFAULT_TIMEOUT_MS });
365
385
  await executor.exec(`cd ${runtimeDir} && npm install --omit=dev --registry=https://registry.npmjs.org`, { timeout: BOOTSTRAP_NPM_INSTALL_TIMEOUT_MS });
366
386
  // Write manifest.json for future staleness checks by the PowerLine runtime installer
367
387
  await executor.exec(`cd ${runtimeDir} && node -e "require('fs').writeFileSync('manifest.json',Buffer.from(process.argv[1],'base64').toString('utf8'))" '${shellEscape(manifestBase64)}'`, { timeout: REMOTE_EXEC_DEFAULT_TIMEOUT_MS });
@@ -377,7 +397,11 @@ export async function* bootstrapPowerLine(executor, powerlineToken, options = {}
377
397
  }
378
398
  }
379
399
  // 5. Kill any existing PowerLine process on the port (with fallbacks)
380
- yield { stage: "bootstrapping", message: "Stopping any existing PowerLine process...", progress: 0.60 };
400
+ yield {
401
+ stage: "bootstrapping",
402
+ message: "Stopping any existing PowerLine process...",
403
+ progress: 0.6,
404
+ };
381
405
  try {
382
406
  await executor.exec(buildRemoteKillCommand(), { timeout: REMOTE_EXEC_DEFAULT_TIMEOUT_MS });
383
407
  await sleep(1_000);
@@ -387,7 +411,12 @@ export async function* bootstrapPowerLine(executor, powerlineToken, options = {}
387
411
  }
388
412
  // 6–8. Write env vars, start process, wait, verify
389
413
  yield { stage: "bootstrapping", message: "Starting PowerLine on remote host...", progress: 0.65 };
390
- await startRemotePowerLine(executor, powerlineToken, { extraEnv: enrichedExtraEnv, workingDirectory, host, logger });
414
+ await startRemotePowerLine(executor, powerlineToken, {
415
+ extraEnv: enrichedExtraEnv,
416
+ workingDirectory,
417
+ host,
418
+ logger,
419
+ });
391
420
  yield { stage: "bootstrapping", message: "PowerLine is running on remote host", progress: 0.75 };
392
421
  }
393
422
  //# sourceMappingURL=bootstrap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,2BAA2B,EAC3B,KAAK,EACL,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,+DAA+D;AAE/D,oDAAoD;AACpD,MAAM,gCAAgC,GAAW,OAAO,CAAC;AAEzD,yEAAyE;AACzE,MAAM,0BAA0B,GAAW,KAAK,CAAC;AAEjD,+DAA+D;AAE/D,wDAAwD;AACxD,MAAM,oBAAoB,GAAW,0BAA0B,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,cAAsB,EACtB,QAAiC,EACjC,SAAwB,aAAa;IAErC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,cAAc,EAAE,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,mCAAmC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,+BAA+B,CAAC,CAAC;gBACtD,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAwB,EACxB,cAAsB,EACtB,QAAiC,EACjC,SAAwB,aAAa;IAErC,MAAM,cAAc,GAAG,mBAAmB,CAAC,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7E,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IACD,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpF,MAAM,QAAQ,CAAC,IAAI,CACjB,MAAM,0BAA0B,gHAAgH,WAAW,CAAC,oBAAoB,CAAC,GAAG,EACpL,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAC5C,CAAC;IACF,MAAM,QAAQ,CAAC,IAAI,CACjB,aAAa,0BAA0B,UAAU,EACjD,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAC5C,CAAC;AACJ,CAAC;AAED,+DAA+D;AAE/D,sEAAsE;AACtE,MAAM,YAAY,GAChB,oDAAoD,sBAAsB,gBAAgB;MACxF,oDAAoD;MACpD,oCAAoC,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAwB;IACjE,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,+DAA+D;AAE/D;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,OAAO,GAAG,GAAG,0BAA0B,gBAAgB,CAAC;IAE9D,mEAAmE;IACnE,MAAM,WAAW,GAAG;QAClB,SAAS,OAAO,KAAK;QACrB,cAAc,OAAO,gBAAgB;QACrC,eAAe;QACf,yBAAyB;QACzB,UAAU,OAAO,GAAG;KACrB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,uEAAuE;IACvE,MAAM,QAAQ,GACZ,YAAY,sBAAsB,kBAAkB;UAClD,gBAAgB,sBAAsB,2BAA2B;UACjE,4BAA4B,sBAAsB,eAAe,CAAC;IAEtE,OAAO,IAAI,WAAW,SAAS,QAAQ,WAAW,CAAC;AACrD,CAAC;AA+BD,4FAA4F;AAC5F,SAAS,gBAAgB,CAAC,IAAa;IACrC,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,OAAO,CACL,WAAW;UACT,yBAAyB;UACzB,yCAAyC;UACzC,6CAA6C;UAC7C,iDAAiD,sBAAsB,IAAI,OAAO,IAAI;UACtF,8DAA8D;UAC9D,kDAAkD;UAClD,aAAa,CAChB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAwB,EACxB,cAAsB,EACtB,UAAuC,EAAE;IAEzC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;IAE9G,wFAAwF;IACxF,IAAI,gBAAgB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,8BAA8B,gBAAgB,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,cAAc,GAAG,mBAAmB,CAAC,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE7E,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,OAAO;QACxB,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,kDAAkD,CAAC;IACvD,MAAM,kBAAkB,GAAG,GAAG,0BAA0B,IAAI,UAAU,EAAE,CAAC;IACzE,MAAM,WAAW,GAAG,8BAA8B,CAAC;IACnD,MAAM,WAAW,GAAG,GAAG,0BAA0B,gBAAgB,CAAC;IAElE,0DAA0D;IAC1D,0DAA0D;IAC1D,sCAAsC;IACtC,2CAA2C;IAC3C,kEAAkE;IAClE,2BAA2B;IAC3B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,sEAAsE;IACtE,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,IAAI,UAAU,EAAE,CAAC;QACf,gBAAgB,GAAG,GAAG,YAAY,qCAAqC,CAAC;IAC1E,CAAC;IAED,cAAc;IACd,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpF,KAAK,CAAC,IAAI,CACR,MAAM,0BAA0B,EAAE;cAChC,6GAA6G;cAC7G,KAAK,WAAW,CAAC,oBAAoB,CAAC,GAAG;cACzC,uBAAuB,CAC1B,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,IAAI,YAAoB,CAAC;IACzB,IAAI,gBAAgB,EAAE,CAAC;QACrB,YAAY,GAAG,gBAAgB,CAAC;IAClC,CAAC;SAAM,IAAI,mBAAmB,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CACR,oEAAoE;cAClE,cAAc,0BAA0B,GAAG,CAC9C,CAAC;QACF,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,0BAA0B,CAAC;IAC5C,CAAC;IAED,gEAAgE;IAChE,MAAM,SAAS,GAAG,cAAc;QAC9B,CAAC,CAAC,KAAK,0BAA0B,cAAc;QAC/C,CAAC,CAAC,EAAE,CAAC;IACP,KAAK,CAAC,IAAI,CACR,OAAO,YAAY,QAAQ,SAAS,EAAE;UACpC,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,kBAAkB,MAAM,WAAW,MAAM,WAAW,GAAG,CACxF,CAAC;IAEF,sDAAsD;IACtD,KAAK,CAAC,IAAI,CAAC,SAAS,0BAA0B,GAAG,IAAI,OAAO,YAAY,EAAE,CAAC,CAAC;IAE5E,MAAM,cAAc,GAAG,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE7D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAChC,YAAY,WAAW,CAAC,cAAc,CAAC,GAAG,EAC1C,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAC5C,CAAC;QACF,IAAI,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,sCAAsC,CAAC,CAAC;YACtF,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAClC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,+BAA+B,CAAC,CAAC;QAC/E,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,kCAAkC,CAAC,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,gHAAgH,MAAM,EAAE,CACzH,CAAC;IACJ,CAAC;AACH,CAAC;AA4BD;;;GAGG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,kBAAkB,CACvC,QAAwB,EACxB,cAAsB,EACtB,UAA4B,EAAE;IAE9B,MAAM,EACJ,QAAQ,EACR,gBAAgB,EAChB,IAAI,EACJ,MAAM,GAAG,aAAa,EACtB,uBAAuB,EACvB,cAAc,GACf,GAAG,OAAO,CAAC;IAEZ,8CAA8C;IAC9C,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,oCAAoC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChG,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;QAC1G,MAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,EAAE,wBAAwB,CAAC,CAAC;QAEvD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,oCAAoC,WAAW,wDAAwD,CACxG,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;QACpD,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACb,gCAAgC,WAAW,qDAAqD,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK;eACrB,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,iCAAiC,CAAC;mBAC1D,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,KAAK,CACb,qGAAqG,CACtG,CAAC;IACJ,CAAC;IAED,eAAe;IACf,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5F,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IAED,wEAAwE;IACxE,IAAI,gBAAgB,GAAG,QAAQ,CAAC;IAChC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACvE,MAAM,eAAe,GAAG,QAAQ,EAAE,YAAY,IAAI,QAAQ,EAAE,QAAQ,CAAC;IACrE,MAAM,qBAAqB,GAAG,uBAAuB,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1F,IAAI,qBAAqB,IAAI,CAAC,aAAa,IAAI,CAAC,eAAe,EAAE,CAAC;QAChE,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,CAClB,MAAM,QAAQ,CAAC,IAAI,CACjB,kQAAkQ,EAClQ,EAAE,OAAO,EAAE,2BAA2B,EAAE,CACzC,CACF,CAAC,IAAI,EAAE,CAAC;YACT,IAAI,WAAW,EAAE,CAAC;gBAChB,gBAAgB,GAAG,EAAE,GAAG,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;gBAC9D,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,iEAAiE,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,8CAA8C,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,IAAI,OAAO,EAAE,CAAC;QACZ,gDAAgD;QAEhD,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5F,MAAM,QAAQ,CAAC,IAAI,CACjB,YAAY,0BAA0B,kCAAkC;cACtE,IAAI,0BAA0B,uCAAuC;cACrE,IAAI,0BAA0B,+CAA+C;cAC7E,IAAI,0BAA0B,2CAA2C;cACzE,IAAI,0BAA0B,yCAAyC;cACvE,IAAI,0BAA0B,+CAA+C;cAC7E,IAAI,0BAA0B,uCAAuC,EACvE,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAC5C,CAAC;QAEF,yEAAyE;QACzE,4EAA4E;QAC5E,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,mBAAmB,GAAG,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAEnE,qFAAqF;QACrF,MAAM,iBAAiB,GAA4B;YACjD,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAC/C,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACzC,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAC3C,CAAC,aAAa,EAAE,OAAO,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;YACzD,CAAC,qBAAqB,EAAE,OAAO,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC;YACzE,CAAC,iBAAiB,EAAE,OAAO,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;YACjE,CAAC,eAAe,EAAE,OAAO,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;YAC7D,CAAC,qBAAqB,EAAE,OAAO,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC;YACzE,CAAC,aAAa,EAAE,OAAO,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;SAC1D,CAAC;QAEF,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5F,MAAM,QAAQ,CAAC,MAAM,CACnB,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,EACjC,GAAG,0BAA0B,OAAO,CACrC,CAAC;QACF,MAAM,QAAQ,CAAC,MAAM,CACnB,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,EACzC,GAAG,0BAA0B,eAAe,CAC7C,CAAC;QAEF,yDAAyD;QACzD,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAA8C,CAAC;YACrH,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;oBAClC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QAED,uFAAuF;QACvF,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,2CAA2C,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACvG,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvE,MAAM,QAAQ,CAAC,IAAI,CACjB,MAAM,0BAA0B,eAAe;cAC7C,wEAAwE;cACxE,4GAA4G;cAC5G,kHAAkH;cAClH,gEAAgE;cAChE,2EAA2E,aAAa,GAAG,EAC7F,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAC5C,CAAC;QACF,MAAM,QAAQ,CAAC,IAAI,CACjB,MAAM,0BAA0B,kEAAkE,EAClG,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAC9C,CAAC;QAEF,gFAAgF;QAChF,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAG,GAAG,0BAA0B,6BAA6B,IAAI,EAAE,CAAC;YACtF,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,uBAAuB,IAAI,KAAK,EAAE,QAAQ,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACvH,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;YAC7F,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,YAAY,OAAO,CAAC,CAAC;YACjE,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,GAAG,YAAY,eAAe,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,mDAAmD;QACnD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QAEpC,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5F,MAAM,QAAQ,CAAC,IAAI,CACjB,YAAY,0BAA0B,EAAE,EACxC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAC5C,CAAC;QAEF,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,oCAAoC,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5G,MAAM,QAAQ,CAAC,IAAI,CACjB,MAAM,0BAA0B,wDAAwD,OAAO,mDAAmD,EAClJ,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAC9C,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,0BAA0B,CAAC,CAAC;IAErD,mEAAmE;IACnE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5F,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,oHAAoH,CAAC;QAC9I,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClF,MAAM,cAAc,GAAG,GAAG,0BAA0B,2BAA2B,CAAC;QAChF,MAAM,QAAQ,CAAC,IAAI,CACjB,6HAA6H;cAC3H,IAAI,cAAc,MAAM,gBAAgB,GAAG;cAC3C,8CAA8C,cAAc,GAAG,EACjE,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAC5C,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,kCAAkC,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,0EAA0E,CAAC,CAAC;IACnG,CAAC;IAED,yEAAyE;IACzE,wDAAwD;IACxD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,eAAe,GAAG,eAAe,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QACjE,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,UAAU,GAAG,2BAA2B,cAAc,EAAE,CAAC;YAC/D,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;gBACxC,IAAI,EAAE,mBAAmB,cAAc,EAAE;gBACzC,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,eAAe,CAAC,QAAQ;aACvC,CAAC,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpF,kFAAkF;YAClF,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;gBAClC,gBAAgB,EAAE,iBAAiB,EAAE;gBACrC,QAAQ,EAAE,eAAe,CAAC,QAAQ;aACnC,CAAC,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC5E,IAAI,CAAC;gBACH,iDAAiD;gBACjD,MAAM,QAAQ,CAAC,IAAI,CACjB,YAAY,UAAU,EAAE,EACxB,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAC5C,CAAC;gBAEF,mFAAmF;gBACnF,IAAI,eAAe,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,IAAI,CACjB,MAAM,UAAU,0iBAA0iB,WAAW,CAAC,cAAc,CAAC,GAAG,EACxlB,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAC5C,CAAC;oBACF,eAAe,GAAG,IAAI,CAAC;gBACzB,CAAC;gBAAC,MAAM,CAAC;oBACP,eAAe,GAAG,KAAK,CAAC;gBAC1B,CAAC;gBAED,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,cAAc,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;oBACrG,+EAA+E;oBAC/E,MAAM,QAAQ,CAAC,IAAI,CACjB,MAAM,UAAU,EAAE;0BAChB,qHAAqH,WAAW,CAAC,gBAAgB,CAAC,GAAG,EACvJ,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAC5C,CAAC;oBACF,MAAM,QAAQ,CAAC,IAAI,CACjB,MAAM,UAAU,kEAAkE,EAClF,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAC9C,CAAC;oBACF,qFAAqF;oBACrF,MAAM,QAAQ,CAAC,IAAI,CACjB,MAAM,UAAU,sHAAsH,WAAW,CAAC,cAAc,CAAC,GAAG,EACpK,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAC5C,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,8CAA8C,CAAC,CAAC;gBAC9F,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,yEAAyE,CAAC,CAAC;gBACzH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,0EAA0E,CAAC,CAAC;YACnH,CAAC;QACH,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,4CAA4C,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxG,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAC3F,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;IAChC,CAAC;IAED,mDAAmD;IACnD,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,sCAAsC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAClG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAErH,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,qCAAqC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACnG,CAAC"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAmBjD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,eAAe,CA0BhH;AAID;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,MAAM,GAAE,aAA6B,EACrC,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,CAAC,CAsB9B;AAID,oEAAoE;AACpE,MAAM,WAAW,UAAU;IACzB,uFAAuF;IACvF,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtD;AAED,6DAA6D;AAC7D,eAAO,MAAM,eAAe,EAAE,UAc7B,CAAC;AAEF,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,qDAAqD;IACrD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAcrG"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAmBjD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,eAAe,CAsBjB;AAID;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,MAAM,GAAE,aAA6B,EACrC,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,CAAC,CA6B9B;AAID,oEAAoE;AACpE,MAAM,WAAW,UAAU;IACzB,uFAAuF;IACvF,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtD;AAED,6DAA6D;AAC7D,eAAO,MAAM,eAAe,EAAE,UAc7B,CAAC;AAEF,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,qDAAqD;IACrD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,IAAI,CAAC,CAgBf"}
package/dist/connect.js CHANGED
@@ -2,6 +2,7 @@ import { createClient } from "@connectrpc/connect";
2
2
  import { createGrpcTransport } from "@connectrpc/connect-node";
3
3
  import { powerline } from "@grackle-ai/common";
4
4
  import { createConnection } from "node:net";
5
+ import { GrpcHostTransport } from "./grpc-host-transport.js";
5
6
  import { closeTunnel } from "./tunnel-registry.js";
6
7
  import { sleep } from "./utils.js";
7
8
  import { defaultLogger } from "./logger.js";
@@ -51,7 +52,12 @@ export async function connectThroughTunnel(environmentId, localPort, powerlineTo
51
52
  for (let attempt = 0; attempt < CONNECT_MAX_RETRIES; attempt++) {
52
53
  try {
53
54
  await client.ping({});
54
- return { client, environmentId, port: localPort };
55
+ return {
56
+ client,
57
+ environmentId,
58
+ port: localPort,
59
+ transport: new GrpcHostTransport(client),
60
+ };
55
61
  }
56
62
  catch (err) {
57
63
  lastError = err;
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * gRPC-backed implementation of {@link IHostTransport} (AHP HR8c).
3
+ *
4
+ * Wraps a {@link PowerLineClient} (ConnectRPC client) and folds each
5
+ * incoming `AgentEvent` through the {@link mapAgentEvent} mapper to produce
6
+ * AHP `StateAction[]`. Per-session {@link MapperContext} state is kept inside
7
+ * this instance so consumers don't need to thread it through their code.
8
+ *
9
+ * @module grpc-host-transport
10
+ */
11
+ import type { PowerLineClient } from "./adapter.js";
12
+ import type { AuthenticateParams, CreateSessionParams, CreateSessionResult, HostSessionInfo, IHostTransport, ReanimateParams, ServerActionEnvelope } from "./host-transport.js";
13
+ /**
14
+ * gRPC-backed {@link IHostTransport} for a single environment.
15
+ *
16
+ * Lifecycle: one instance per `PowerLineConnection`. The mapper context map
17
+ * is keyed by session URI so multiple sessions on the same environment each
18
+ * get their own turn/tool tracking.
19
+ */
20
+ export declare class GrpcHostTransport implements IHostTransport {
21
+ /** Underlying ConnectRPC client for the PowerLine gRPC service. */
22
+ private readonly client;
23
+ /**
24
+ * Per-session mapper context. Created lazily on first event per session;
25
+ * cleaned up when the session's stream completes or errors.
26
+ */
27
+ private readonly mapperContexts;
28
+ /**
29
+ * Create a new gRPC-backed host transport.
30
+ *
31
+ * @param client - The ConnectRPC client to wrap. Typically obtained from
32
+ * {@link createPowerLineClient} or a `PowerLineConnection`.
33
+ */
34
+ constructor(client: PowerLineClient);
35
+ /**
36
+ * Create a new session via PowerLine's `spawn` RPC.
37
+ *
38
+ * Returns the session URI plus a live stream of {@link ServerActionEnvelope}s.
39
+ * The stream is mapped from the underlying `AgentEvent` stream.
40
+ */
41
+ createSession(params: CreateSessionParams): CreateSessionResult;
42
+ /**
43
+ * Reanimate a suspended session via PowerLine's `resume` RPC.
44
+ *
45
+ * Returns a live stream of envelopes for the reanimated session. Note that
46
+ * `resume` alone does NOT replay buffered events — call
47
+ * {@link IHostTransport.drainBuffered} first to replay the parked queue,
48
+ * then this method to start the live stream.
49
+ */
50
+ reanimate(params: ReanimateParams): AsyncIterable<ServerActionEnvelope>;
51
+ /**
52
+ * Drain previously-parked buffered events for a session.
53
+ *
54
+ * Maps to the gRPC `drainBufferedEvents` RPC. The returned stream yields
55
+ * the buffered envelopes and then terminates — it does NOT continue into
56
+ * the live event stream. Callers compose `drainBuffered` + `reanimate`
57
+ * to do recovery.
58
+ */
59
+ drainBuffered(sessionUri: string): AsyncIterable<ServerActionEnvelope>;
60
+ /** Send input text to a session via PowerLine's `sendInput` RPC. */
61
+ dispatchInput(sessionUri: string, text: string): Promise<void>;
62
+ /** Authenticate credentials via PowerLine's `authenticate` RPC. */
63
+ authenticate(params: AuthenticateParams): Promise<void>;
64
+ /** Dispose a session via PowerLine's `kill` RPC. */
65
+ dispose(sessionUri: string, reason?: string): Promise<void>;
66
+ /** List active sessions via PowerLine's `listSessions` RPC. */
67
+ listSessions(): Promise<HostSessionInfo[]>;
68
+ /**
69
+ * Fold a raw `AgentEvent` stream into `ServerActionEnvelope`s by running
70
+ * each event through the mapper. The per-session `MapperContext` is
71
+ * created/retrieved lazily and removed when the stream completes.
72
+ */
73
+ private foldStream;
74
+ /** Get an existing or create a fresh `MapperContext` for a session. */
75
+ private getOrCreateContext;
76
+ }
77
+ //# sourceMappingURL=grpc-host-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc-host-transport.d.ts","sourceRoot":"","sources":["../src/grpc-host-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,eAAe,EACf,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;GAMG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,mEAAmE;IACnE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IAEzC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;IAExE;;;;;OAKG;gBACgB,MAAM,EAAE,eAAe;IAI1C;;;;;OAKG;IACI,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB;IA2BtE;;;;;;;OAOG;IACI,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,aAAa,CAAC,oBAAoB,CAAC;IAU9E;;;;;;;OAOG;IACW,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAC,oBAAoB,CAAC;IAQpF,oEAAoE;IACvD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3E,mEAAmE;IACtD,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBpE,oDAAoD;IACvC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxE,+DAA+D;IAClD,YAAY,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IASvD;;;;OAIG;YACY,UAAU;IAmBzB,uEAAuE;IACvE,OAAO,CAAC,kBAAkB;CAc3B"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * gRPC-backed implementation of {@link IHostTransport} (AHP HR8c).
3
+ *
4
+ * Wraps a {@link PowerLineClient} (ConnectRPC client) and folds each
5
+ * incoming `AgentEvent` through the {@link mapAgentEvent} mapper to produce
6
+ * AHP `StateAction[]`. Per-session {@link MapperContext} state is kept inside
7
+ * this instance so consumers don't need to thread it through their code.
8
+ *
9
+ * @module grpc-host-transport
10
+ */
11
+ import { create } from "@bufbuild/protobuf";
12
+ import { powerline, mapAgentEvent } from "@grackle-ai/common";
13
+ /**
14
+ * gRPC-backed {@link IHostTransport} for a single environment.
15
+ *
16
+ * Lifecycle: one instance per `PowerLineConnection`. The mapper context map
17
+ * is keyed by session URI so multiple sessions on the same environment each
18
+ * get their own turn/tool tracking.
19
+ */
20
+ export class GrpcHostTransport {
21
+ /** Underlying ConnectRPC client for the PowerLine gRPC service. */
22
+ client;
23
+ /**
24
+ * Per-session mapper context. Created lazily on first event per session;
25
+ * cleaned up when the session's stream completes or errors.
26
+ */
27
+ mapperContexts = new Map();
28
+ /**
29
+ * Create a new gRPC-backed host transport.
30
+ *
31
+ * @param client - The ConnectRPC client to wrap. Typically obtained from
32
+ * {@link createPowerLineClient} or a `PowerLineConnection`.
33
+ */
34
+ constructor(client) {
35
+ this.client = client;
36
+ }
37
+ /**
38
+ * Create a new session via PowerLine's `spawn` RPC.
39
+ *
40
+ * Returns the session URI plus a live stream of {@link ServerActionEnvelope}s.
41
+ * The stream is mapped from the underlying `AgentEvent` stream.
42
+ */
43
+ createSession(params) {
44
+ const spawnReq = create(powerline.SpawnRequestSchema, {
45
+ sessionId: params.sessionId,
46
+ runtime: params.runtime,
47
+ prompt: params.prompt,
48
+ model: params.model,
49
+ maxTurns: params.maxTurns,
50
+ branch: params.branch,
51
+ workingDirectory: params.workingDirectory,
52
+ systemContext: params.systemContext,
53
+ workspaceId: params.workspaceId,
54
+ taskId: params.taskId,
55
+ mcpServersJson: params.mcpServersJson,
56
+ mcpUrl: params.mcpUrl,
57
+ mcpToken: params.mcpToken,
58
+ useWorktrees: params.useWorktrees,
59
+ pipe: params.pipe ?? "",
60
+ scriptContent: params.scriptContent ?? "",
61
+ });
62
+ const grpcStream = this.client.spawn(spawnReq);
63
+ return {
64
+ sessionUri: params.sessionId,
65
+ stream: this.foldStream(params.sessionId, grpcStream),
66
+ };
67
+ }
68
+ /**
69
+ * Reanimate a suspended session via PowerLine's `resume` RPC.
70
+ *
71
+ * Returns a live stream of envelopes for the reanimated session. Note that
72
+ * `resume` alone does NOT replay buffered events — call
73
+ * {@link IHostTransport.drainBuffered} first to replay the parked queue,
74
+ * then this method to start the live stream.
75
+ */
76
+ reanimate(params) {
77
+ const resumeReq = create(powerline.ResumeRequestSchema, {
78
+ sessionId: params.sessionId,
79
+ runtimeSessionId: params.runtimeSessionId,
80
+ runtime: params.runtime,
81
+ });
82
+ const grpcStream = this.client.resume(resumeReq);
83
+ return this.foldStream(params.sessionId, grpcStream);
84
+ }
85
+ /**
86
+ * Drain previously-parked buffered events for a session.
87
+ *
88
+ * Maps to the gRPC `drainBufferedEvents` RPC. The returned stream yields
89
+ * the buffered envelopes and then terminates — it does NOT continue into
90
+ * the live event stream. Callers compose `drainBuffered` + `reanimate`
91
+ * to do recovery.
92
+ */
93
+ async *drainBuffered(sessionUri) {
94
+ const drainReq = create(powerline.DrainRequestSchema, {
95
+ sessionId: sessionUri,
96
+ });
97
+ const drainStream = this.client.drainBufferedEvents(drainReq);
98
+ yield* this.foldStream(sessionUri, drainStream);
99
+ }
100
+ /** Send input text to a session via PowerLine's `sendInput` RPC. */
101
+ async dispatchInput(sessionUri, text) {
102
+ await this.client.sendInput(create(powerline.InputMessageSchema, { sessionId: sessionUri, text }));
103
+ }
104
+ /** Authenticate credentials via PowerLine's `authenticate` RPC. */
105
+ async authenticate(params) {
106
+ await this.client.authenticate(create(powerline.AuthenticateRequestSchema, {
107
+ provider: params.provider,
108
+ tokens: params.tokens.map((t) => create(powerline.TokenItemSchema, {
109
+ name: t.name,
110
+ type: t.type,
111
+ envVar: t.envVar ?? "",
112
+ filePath: t.filePath ?? "",
113
+ value: t.value,
114
+ })),
115
+ }));
116
+ }
117
+ /** Dispose a session via PowerLine's `kill` RPC. */
118
+ async dispose(sessionUri, reason) {
119
+ await this.client.kill(create(powerline.KillRequestSchema, { id: sessionUri, reason: reason ?? "" }));
120
+ this.mapperContexts.delete(sessionUri);
121
+ }
122
+ /** List active sessions via PowerLine's `listSessions` RPC. */
123
+ async listSessions() {
124
+ const list = await this.client.listSessions({});
125
+ return list.sessions.map((s) => ({
126
+ sessionId: s.sessionId,
127
+ runtime: s.runtime,
128
+ status: s.status,
129
+ }));
130
+ }
131
+ /**
132
+ * Fold a raw `AgentEvent` stream into `ServerActionEnvelope`s by running
133
+ * each event through the mapper. The per-session `MapperContext` is
134
+ * created/retrieved lazily and removed when the stream completes.
135
+ */
136
+ async *foldStream(sessionUri, grpcStream) {
137
+ const context = this.getOrCreateContext(sessionUri);
138
+ try {
139
+ for await (const event of grpcStream) {
140
+ const idx = context.eventIndex++;
141
+ const { actions } = mapAgentEvent(event, idx, context);
142
+ yield { event, actions };
143
+ }
144
+ }
145
+ finally {
146
+ // Context lifetime tracks the stream; recover paths create a fresh one
147
+ // on the next drainBuffered/reanimate. Clearing here prevents memory
148
+ // growth for sessions that close cleanly.
149
+ this.mapperContexts.delete(sessionUri);
150
+ }
151
+ }
152
+ /** Get an existing or create a fresh `MapperContext` for a session. */
153
+ getOrCreateContext(sessionUri) {
154
+ let ctx = this.mapperContexts.get(sessionUri);
155
+ if (!ctx) {
156
+ ctx = {
157
+ turnId: undefined,
158
+ openToolCalls: [],
159
+ partCounter: 0,
160
+ eventIndex: 0,
161
+ metaAccumulator: {},
162
+ };
163
+ this.mapperContexts.set(sessionUri, ctx);
164
+ }
165
+ return ctx;
166
+ }
167
+ }
168
+ //# sourceMappingURL=grpc-host-transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc-host-transport.js","sourceRoot":"","sources":["../src/grpc-host-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAsB,MAAM,oBAAoB,CAAC;AAYlF;;;;;;GAMG;AACH,MAAM,OAAO,iBAAiB;IAC5B,mEAAmE;IAClD,MAAM,CAAkB;IAEzC;;;OAGG;IACc,cAAc,GAA+B,IAAI,GAAG,EAAE,CAAC;IAExE;;;;;OAKG;IACH,YAAmB,MAAuB;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACI,aAAa,CAAC,MAA2B;QAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE;YACpD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;YACvB,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE;SAC1C,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/C,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC;SACtD,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,SAAS,CAAC,MAAuB;QACtC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE;YACtD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,CAAC,aAAa,CAAC,UAAkB;QAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE;YACpD,SAAS,EAAE,UAAU;SACtB,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC9D,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAClD,CAAC;IAED,oEAAoE;IAC7D,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,IAAY;QACzD,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACzB,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtE,CAAC;IACJ,CAAC;IAED,mEAAmE;IAC5D,KAAK,CAAC,YAAY,CAAC,MAA0B;QAClD,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAC5B,MAAM,CAAC,SAAS,CAAC,yBAAyB,EAAE;YAC1C,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9B,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE;gBAChC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;gBACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE;gBAC1B,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CACH;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IAED,oDAAoD;IAC7C,KAAK,CAAC,OAAO,CAAC,UAAkB,EAAE,MAAe;QACtD,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACpB,MAAM,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC,CAC9E,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,+DAA+D;IACxD,KAAK,CAAC,YAAY;QACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,CAAC,UAAU,CACvB,UAAkB,EAClB,UAA+C;QAE/C,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBACrC,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;gBACjC,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;gBACvD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,uEAAuE;YACvE,qEAAqE;YACrE,0CAA0C;YAC1C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,uEAAuE;IAC/D,kBAAkB,CAAC,UAAkB;QAC3C,IAAI,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG;gBACJ,MAAM,EAAE,SAAS;gBACjB,aAAa,EAAE,EAAE;gBACjB,WAAW,EAAE,CAAC;gBACd,UAAU,EAAE,CAAC;gBACb,eAAe,EAAE,EAAE;aACpB,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
@@ -0,0 +1,184 @@
1
+ /**
2
+ * Transport-agnostic host interface (AHP HR8c).
3
+ *
4
+ * Wraps the PowerLine gRPC client behind an AHP-shaped API so consumers in
5
+ * `@grackle-ai/core` no longer need to import `powerline.*` proto types. HR8d
6
+ * will replace the gRPC implementation with a native AHP host without
7
+ * changing this interface.
8
+ *
9
+ * Each consumer call-site goes through one of these methods:
10
+ * - `createSession` ← `PowerLineClient.spawn`
11
+ * - `reanimate` ← `PowerLineClient.resume`
12
+ * - `drainBuffered` ← `PowerLineClient.drainBufferedEvents`
13
+ * - `dispatchInput` ← `PowerLineClient.sendInput`
14
+ * - `authenticate` ← `PowerLineClient.authenticate`
15
+ * - `dispose` ← `PowerLineClient.kill`
16
+ * - `listSessions` ← `PowerLineClient.listSessions`
17
+ *
18
+ * @module host-transport
19
+ */
20
+ import type { AgentEventFields } from "@grackle-ai/common";
21
+ import type { StateAction } from "@grackle-ai/ahp";
22
+ /**
23
+ * A single event from a session stream, in HR8c transitional form.
24
+ *
25
+ * Carries both the source `AgentEvent` (so existing event-driven logic in
26
+ * `event-processor.ts` continues to work) and the AHP `StateAction[]`
27
+ * produced by the upstream mapper. HR8d removes `event`/`legacyEvent` once
28
+ * consumers fully consume AHP actions.
29
+ */
30
+ export interface ServerActionEnvelope {
31
+ /**
32
+ * Source AgentEvent — transitional. Existing consumers in
33
+ * `@grackle-ai/core` drive status/usage/end-reason logic from this. HR8d
34
+ * removes the field; consumers must migrate to AHP actions by then.
35
+ */
36
+ event: AgentEventFields;
37
+ /** AHP actions derived from the event (possibly empty for carried/dropped). */
38
+ actions: StateAction[];
39
+ }
40
+ /** Parameters for creating a new session via {@link IHostTransport.createSession}. */
41
+ export interface CreateSessionParams {
42
+ /** Server-assigned session ID (becomes the session URI). */
43
+ sessionId: string;
44
+ /** Runtime name (e.g. "claude-code", "copilot"). */
45
+ runtime: string;
46
+ /** User-visible prompt to deliver as the initial turn. */
47
+ prompt: string;
48
+ /** LLM model identifier. */
49
+ model: string;
50
+ /** Maximum agent turns before forced stop. */
51
+ maxTurns: number;
52
+ /** Git branch for worktree creation; empty string skips worktree. */
53
+ branch: string;
54
+ /** Working directory on the remote (defaults to "/workspace"). */
55
+ workingDirectory: string;
56
+ /** System prompt / context injected at session start. */
57
+ systemContext: string;
58
+ /** Workspace identifier (optional, for non-workspace sessions). */
59
+ workspaceId?: string;
60
+ /** Task identifier this session belongs to. */
61
+ taskId: string;
62
+ /** JSON-encoded MCP server configurations. */
63
+ mcpServersJson: string;
64
+ /** MCP broker URL the runtime should connect back to. */
65
+ mcpUrl: string;
66
+ /** Scoped token for the runtime to authenticate to the MCP broker. */
67
+ mcpToken: string;
68
+ /** Whether to use git worktrees. */
69
+ useWorktrees?: boolean;
70
+ /** IPC pipe mode ("sync", "async", "detach", or ""). */
71
+ pipe?: string;
72
+ /** Script content for script personas (optional). */
73
+ scriptContent?: string;
74
+ }
75
+ /** Parameters for reanimating a suspended session. */
76
+ export interface ReanimateParams {
77
+ /** Server session ID matching the prior spawn. */
78
+ sessionId: string;
79
+ /** Runtime-native session ID stored from the prior spawn's `runtime_session_id` event. */
80
+ runtimeSessionId: string;
81
+ /** Runtime name (must match the original spawn). */
82
+ runtime: string;
83
+ }
84
+ /** A single token item delivered via {@link IHostTransport.authenticate}. */
85
+ export interface AuthenticateTokenItem {
86
+ /** Logical name of the token (e.g. "github-token"). */
87
+ name: string;
88
+ /** Delivery kind ("env_var" or "file"). */
89
+ type: string;
90
+ /** Environment variable name (when `type === "env_var"`). */
91
+ envVar?: string;
92
+ /** Target file path on the remote (when `type === "file"`). */
93
+ filePath?: string;
94
+ /** The credential value. */
95
+ value: string;
96
+ }
97
+ /** Parameters for {@link IHostTransport.authenticate}. */
98
+ export interface AuthenticateParams {
99
+ /** Provider identifier (typically the runtime name) the credentials are scoped to. */
100
+ provider: string;
101
+ /** Token items to deliver. */
102
+ tokens: AuthenticateTokenItem[];
103
+ }
104
+ /** A single session entry returned by {@link IHostTransport.listSessions}. */
105
+ export interface HostSessionInfo {
106
+ /** Server session ID. */
107
+ sessionId: string;
108
+ /** Runtime the session is running under. */
109
+ runtime: string;
110
+ /** Current status (runtime-defined). */
111
+ status: string;
112
+ }
113
+ /** Result of {@link IHostTransport.createSession}: URI + live event stream. */
114
+ export interface CreateSessionResult {
115
+ /** Session URI (currently just the sessionId; AHP URI scheme reserved for HR8d). */
116
+ sessionUri: string;
117
+ /** Live stream of envelopes for this session. */
118
+ stream: AsyncIterable<ServerActionEnvelope>;
119
+ }
120
+ /**
121
+ * Transport-agnostic host interface (AHP HR8c).
122
+ *
123
+ * All `@grackle-ai/core` consumers obtain an implementation via
124
+ * `GrpcHostTransport(connection)` (this PR) or directly from the AHP host
125
+ * (HR8d). The interface shape stays stable across the swap.
126
+ */
127
+ export interface IHostTransport {
128
+ /**
129
+ * Create a new session. Returns the session URI plus the live event stream.
130
+ *
131
+ * The stream is returned synchronously alongside the URI (matching gRPC's
132
+ * spawn behavior) to avoid event-buffer complexity. Consumers must begin
133
+ * iterating the stream promptly to avoid back-pressure on the wire.
134
+ */
135
+ createSession(params: CreateSessionParams): CreateSessionResult;
136
+ /**
137
+ * Reanimate a suspended session, returning its live event stream.
138
+ *
139
+ * Maps directly to `resume`. For recovery flows that also need the
140
+ * previously-parked buffered events, call `drainBuffered` first, then
141
+ * call `reanimate` to start the live stream.
142
+ */
143
+ reanimate(params: ReanimateParams): AsyncIterable<ServerActionEnvelope>;
144
+ /**
145
+ * Drain previously-parked buffered events for a session.
146
+ *
147
+ * Returns a finite stream of envelopes for events the host has been
148
+ * holding since the consumer disconnected; the stream terminates once
149
+ * the parked queue is exhausted. It does NOT continue into the live
150
+ * event stream — callers compose `drainBuffered` + `reanimate` to do
151
+ * recovery (see `session-recovery.ts`).
152
+ *
153
+ * Note: HR8d's AHP wire will add a true seq-cursor `subscribe` method
154
+ * for "resume from server seq N" semantics. That's intentionally a
155
+ * separate method on this interface; this one stays narrowly scoped to
156
+ * the parked-queue drain that gRPC supports today.
157
+ */
158
+ drainBuffered(sessionUri: string): AsyncIterable<ServerActionEnvelope>;
159
+ /**
160
+ * Send input text to a session.
161
+ *
162
+ * Bypasses any IDLE guard — the runtime accepts input at any time and picks
163
+ * it up at the next turn boundary. Used by signal delivery and pipe
164
+ * delivery in `@grackle-ai/core`.
165
+ */
166
+ dispatchInput(sessionUri: string, text: string): Promise<void>;
167
+ /**
168
+ * Authenticate credentials for the given runtime/provider.
169
+ *
170
+ * Throws on transport error. Callers in core treat failure as best-effort
171
+ * (log and continue).
172
+ */
173
+ authenticate(params: AuthenticateParams): Promise<void>;
174
+ /**
175
+ * Dispose (terminate) a session.
176
+ *
177
+ * Maps to `kill`. The optional `reason` is currently ignored by the gRPC
178
+ * transport but reserved for future AHP-native disposition semantics.
179
+ */
180
+ dispose(sessionUri: string, reason?: string): Promise<void>;
181
+ /** List active sessions on the host. */
182
+ listSessions(): Promise<HostSessionInfo[]>;
183
+ }
184
+ //# sourceMappingURL=host-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-transport.d.ts","sourceRoot":"","sources":["../src/host-transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Transport-agnostic host interface (AHP HR8c).
3
+ *
4
+ * Wraps the PowerLine gRPC client behind an AHP-shaped API so consumers in
5
+ * `@grackle-ai/core` no longer need to import `powerline.*` proto types. HR8d
6
+ * will replace the gRPC implementation with a native AHP host without
7
+ * changing this interface.
8
+ *
9
+ * Each consumer call-site goes through one of these methods:
10
+ * - `createSession` ← `PowerLineClient.spawn`
11
+ * - `reanimate` ← `PowerLineClient.resume`
12
+ * - `drainBuffered` ← `PowerLineClient.drainBufferedEvents`
13
+ * - `dispatchInput` ← `PowerLineClient.sendInput`
14
+ * - `authenticate` ← `PowerLineClient.authenticate`
15
+ * - `dispose` ← `PowerLineClient.kill`
16
+ * - `listSessions` ← `PowerLineClient.listSessions`
17
+ *
18
+ * @module host-transport
19
+ */
20
+ export {};
21
+ //# sourceMappingURL=host-transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-transport.js","sourceRoot":"","sources":["../src/host-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
package/dist/index.d.ts CHANGED
@@ -10,7 +10,7 @@ export { ProcessTunnel } from "./tunnel.js";
10
10
  export type { TunnelState } from "./tunnel-registry.js";
11
11
  export { registerTunnel, getTunnel, closeTunnel, closeAllTunnels } from "./tunnel-registry.js";
12
12
  export type { PortProber, WaitForLocalPortOptions } from "./connect.js";
13
- export { createPowerLineClient, connectThroughTunnel, waitForLocalPort, TCP_PORT_PROBER } from "./connect.js";
13
+ export { createPowerLineClient, connectThroughTunnel, waitForLocalPort, TCP_PORT_PROBER, } from "./connect.js";
14
14
  export type { BootstrapOptions, StartRemotePowerLineOptions } from "./bootstrap.js";
15
15
  export { bootstrapPowerLine, buildEnvFileContent, startRemotePowerLine, probeRemotePowerLine, writeRemoteEnvFile, buildRemoteKillCommand, } from "./bootstrap.js";
16
16
  export { remoteStop, remoteDestroy, remoteHealthCheck } from "./shared-operations.js";
@@ -18,4 +18,7 @@ export type { ExecResult } from "./exec.js";
18
18
  export { exec } from "./exec.js";
19
19
  export type { ExecFunction, AdapterDependencies } from "./adapter-dependencies.js";
20
20
  export { sleep, findFreePort, isDevMode, getPackageVersion, shellEscape, REMOTE_POWERLINE_DIRECTORY, SSH_CONNECTIVITY_TIMEOUT_MS, REMOTE_EXEC_DEFAULT_TIMEOUT_MS, } from "./utils.js";
21
+ export type { AgentEventFields } from "@grackle-ai/common";
22
+ export type { IHostTransport, ServerActionEnvelope, CreateSessionParams, CreateSessionResult, ReanimateParams, AuthenticateParams, AuthenticateTokenItem, HostSessionInfo, } from "./host-transport.js";
23
+ export { GrpcHostTransport } from "./grpc-host-transport.js";
21
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGpD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG/F,YAAY,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG9G,YAAY,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGtF,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGnF,OAAO,EACL,KAAK,EACL,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGpD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG/F,YAAY,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,GAChB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGtF,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGnF,OAAO,EACL,KAAK,EACL,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,YAAY,CAAC;AAMpB,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -6,11 +6,12 @@ export { powerline } from "@grackle-ai/common";
6
6
  export { reconnectOrProvision } from "./adapter.js";
7
7
  export { ProcessTunnel } from "./tunnel.js";
8
8
  export { registerTunnel, getTunnel, closeTunnel, closeAllTunnels } from "./tunnel-registry.js";
9
- export { createPowerLineClient, connectThroughTunnel, waitForLocalPort, TCP_PORT_PROBER } from "./connect.js";
9
+ export { createPowerLineClient, connectThroughTunnel, waitForLocalPort, TCP_PORT_PROBER, } from "./connect.js";
10
10
  export { bootstrapPowerLine, buildEnvFileContent, startRemotePowerLine, probeRemotePowerLine, writeRemoteEnvFile, buildRemoteKillCommand, } from "./bootstrap.js";
11
11
  // ─── Shared Operations ─────────────────────────────────────
12
12
  export { remoteStop, remoteDestroy, remoteHealthCheck } from "./shared-operations.js";
13
13
  export { exec } from "./exec.js";
14
14
  // ─── Utilities ──────────────────────────────────────────────
15
15
  export { sleep, findFreePort, isDevMode, getPackageVersion, shellEscape, REMOTE_POWERLINE_DIRECTORY, SSH_CONNECTIVITY_TIMEOUT_MS, REMOTE_EXEC_DEFAULT_TIMEOUT_MS, } from "./utils.js";
16
+ export { GrpcHostTransport } from "./grpc-host-transport.js";
16
17
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,gEAAgE;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,iEAAiE;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAU/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAOpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI/F,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI9G,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAExB,8DAA8D;AAC9D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAItF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKjC,+DAA+D;AAC/D,OAAO,EACL,KAAK,EACL,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,gEAAgE;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,iEAAiE;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAU/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAOpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI/F,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,GAChB,MAAM,cAAc,CAAC;AAItB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAExB,8DAA8D;AAC9D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAItF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKjC,+DAA+D;AAC/D,OAAO,EACL,KAAK,EACL,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,YAAY,CAAC;AAiBpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared-operations.d.ts","sourceRoot":"","sources":["../src/shared-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,cAAc,EACxB,MAAM,GAAE,aAA6B,GACpC,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,cAAc,EACxB,MAAM,GAAE,aAA6B,GACpC,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,2EAA2E;AAC3E,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBzF"}
1
+ {"version":3,"file":"shared-operations.d.ts","sourceRoot":"","sources":["../src/shared-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,cAAc,EACxB,MAAM,GAAE,aAA6B,GACpC,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,cAAc,EACxB,MAAM,GAAE,aAA6B,GACpC,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,2EAA2E;AAC3E,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBzF"}
@@ -21,12 +21,12 @@ export async function remoteStop(environmentId, executor, logger = defaultLogger
21
21
  */
22
22
  export async function remoteDestroy(environmentId, executor, logger = defaultLogger) {
23
23
  try {
24
- await executor.exec(`${buildRemoteKillCommand()}; `
25
- + 'CRED="$HOME/.claude/.credentials.json"; '
26
- + `if [ -L "$CRED" ]; then case "$(readlink "$CRED" 2>/dev/null)" in ${REMOTE_POWERLINE_DIRECTORY}/*) rm -f "$CRED";; esac; fi; `
27
- + `HELPER="$(git config --global credential.helper 2>/dev/null || true)"; `
28
- + `case "$HELPER" in ${REMOTE_POWERLINE_DIRECTORY}/*) git config --global --unset credential.helper 2>/dev/null || true;; esac; `
29
- + `rm -rf ${REMOTE_POWERLINE_DIRECTORY}`);
24
+ await executor.exec(`${buildRemoteKillCommand()}; ` +
25
+ 'CRED="$HOME/.claude/.credentials.json"; ' +
26
+ `if [ -L "$CRED" ]; then case "$(readlink "$CRED" 2>/dev/null)" in ${REMOTE_POWERLINE_DIRECTORY}/*) rm -f "$CRED";; esac; fi; ` +
27
+ `HELPER="$(git config --global credential.helper 2>/dev/null || true)"; ` +
28
+ `case "$HELPER" in ${REMOTE_POWERLINE_DIRECTORY}/*) git config --global --unset credential.helper 2>/dev/null || true;; esac; ` +
29
+ `rm -rf ${REMOTE_POWERLINE_DIRECTORY}`);
30
30
  }
31
31
  catch (err) {
32
32
  logger.debug({ environmentId, err }, "Failed to clean up remote PowerLine artifacts");
@@ -1 +1 @@
1
- {"version":3,"file":"shared-operations.js","sourceRoot":"","sources":["../src/shared-operations.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,aAAqB,EACrB,QAAwB,EACxB,SAAwB,aAAa;IAErC,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,0DAA0D,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,aAAqB,EACrB,QAAwB,EACxB,SAAwB,aAAa;IAErC,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,IAAI,CACjB,GAAG,sBAAsB,EAAE,IAAI;cAC7B,0CAA0C;cAC1C,qEAAqE,0BAA0B,gCAAgC;cAC/H,yEAAyE;cACzE,qBAAqB,0BAA0B,gFAAgF;cAC/H,UAAU,0BAA0B,EAAE,CACzC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,+CAA+C,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;AACnC,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAA+B;IACrE,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,0EAA0E;IAC1E,6EAA6E;IAC7E,mEAAmE;IACnE,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"shared-operations.js","sourceRoot":"","sources":["../src/shared-operations.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,aAAqB,EACrB,QAAwB,EACxB,SAAwB,aAAa;IAErC,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CACV,EAAE,aAAa,EAAE,GAAG,EAAE,EACtB,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,aAAqB,EACrB,QAAwB,EACxB,SAAwB,aAAa;IAErC,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,IAAI,CACjB,GAAG,sBAAsB,EAAE,IAAI;YAC7B,0CAA0C;YAC1C,qEAAqE,0BAA0B,gCAAgC;YAC/H,yEAAyE;YACzE,qBAAqB,0BAA0B,gFAAgF;YAC/H,UAAU,0BAA0B,EAAE,CACzC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,+CAA+C,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;AACnC,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAA+B;IACrE,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,0EAA0E;IAC1E,6EAA6E;IAC7E,mEAAmE;IACnE,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-registry.d.ts","sourceRoot":"","sources":["../src/tunnel-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,oEAAoE;AACpE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,gFAAgF;IAChF,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B;AAID,uFAAuF;AACvF,wBAAgB,cAAc,CAC5B,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,WAAW,EAClB,MAAM,GAAE,aAA6B,GACpC,IAAI,CAaN;AAED,+CAA+C;AAC/C,wBAAgB,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAExE;AAED,6DAA6D;AAC7D,wBAAsB,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAStE;AAED,gEAAgE;AAChE,wBAAsB,eAAe,CAAC,MAAM,GAAE,aAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAS1F"}
1
+ {"version":3,"file":"tunnel-registry.d.ts","sourceRoot":"","sources":["../src/tunnel-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,oEAAoE;AACpE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,gFAAgF;IAChF,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B;AAID,uFAAuF;AACvF,wBAAgB,cAAc,CAC5B,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,WAAW,EAClB,MAAM,GAAE,aAA6B,GACpC,IAAI,CAmBN;AAED,+CAA+C;AAC/C,wBAAgB,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAExE;AAED,6DAA6D;AAC7D,wBAAsB,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAStE;AAED,gEAAgE;AAChE,wBAAsB,eAAe,CAAC,MAAM,GAAE,aAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAS1F"}
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-registry.js","sourceRoot":"","sources":["../src/tunnel-registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAS5C,MAAM,SAAS,GAA6B,IAAI,GAAG,EAAuB,CAAC;AAE3E,uFAAuF;AACvF,MAAM,UAAU,cAAc,CAC5B,aAAqB,EACrB,KAAkB,EAClB,SAAwB,aAAa;IAErC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACpC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,4DAA4D,CAAC,CAAC;QACpG,CAAC,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC3B,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3C,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,oEAAoE,CAAC,CAAC;YAC5G,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,SAAS,CAAC,aAAqB;IAC7C,OAAO,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACtC,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,aAAqB;IACrD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACpC,CAAC;QACD,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAwB,aAAa;IACzE,MAAM,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,wCAAwC,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"tunnel-registry.js","sourceRoot":"","sources":["../src/tunnel-registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAS5C,MAAM,SAAS,GAA6B,IAAI,GAAG,EAAuB,CAAC;AAE3E,uFAAuF;AACvF,MAAM,UAAU,cAAc,CAC5B,aAAqB,EACrB,KAAkB,EAClB,SAAwB,aAAa;IAErC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACpC,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,aAAa,EAAE,EACtB,4DAA4D,CAC7D,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC3B,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3C,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,aAAa,EAAE,EACtB,oEAAoE,CACrE,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,SAAS,CAAC,aAAqB;IAC7C,OAAO,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACtC,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,aAAqB;IACrD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACpC,CAAC;QACD,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAwB,aAAa;IACzE,MAAM,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,wCAAwC,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grackle-ai/adapter-sdk",
3
- "version": "0.131.0",
3
+ "version": "0.132.1",
4
4
  "description": "SDK for building Grackle environment adapters",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -31,11 +31,13 @@
31
31
  "@bufbuild/protobuf": "^2.5.0",
32
32
  "@connectrpc/connect": "^2.0.0",
33
33
  "@connectrpc/connect-node": "^2.0.0",
34
- "@grackle-ai/common": "0.131.0"
34
+ "@grackle-ai/common": "0.132.1",
35
+ "@grackle-ai/ahp": "0.132.1"
35
36
  },
36
37
  "devDependencies": {
37
38
  "@rushstack/heft": "1.2.7",
38
39
  "@types/node": "^22.0.0",
40
+ "@vitest/coverage-v8": "^3.1.1",
39
41
  "vitest": "^3.1.1",
40
42
  "@grackle-ai/heft-rig": "0.0.1"
41
43
  },
@@ -44,6 +46,6 @@
44
46
  "test": "vitest run",
45
47
  "clean": "heft clean",
46
48
  "_phase:build": "heft run --only build -- --clean",
47
- "_phase:test": "vitest run"
49
+ "_phase:test": "vitest run --coverage"
48
50
  }
49
51
  }