@vedmalex/ai-connect 0.7.0 → 0.9.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.
Files changed (39) hide show
  1. package/README.md +37 -4
  2. package/dist/browser/index.js +717 -284
  3. package/dist/browser/index.js.map +3 -3
  4. package/dist/bun/index.js +1248 -450
  5. package/dist/bun/index.js.map +4 -4
  6. package/dist/bun/local.js +1194 -444
  7. package/dist/bun/local.js.map +4 -4
  8. package/dist/node/index.js +1248 -450
  9. package/dist/node/index.js.map +4 -4
  10. package/dist/node/local.js +1194 -444
  11. package/dist/node/local.js.map +4 -4
  12. package/dist/types/acp.d.ts +14 -0
  13. package/dist/types/acp.d.ts.map +1 -1
  14. package/dist/types/cli-presets.d.ts.map +1 -1
  15. package/dist/types/cli.d.ts.map +1 -1
  16. package/dist/types/client.d.ts.map +1 -1
  17. package/dist/types/config.d.ts.map +1 -1
  18. package/dist/types/default-handlers.d.ts.map +1 -1
  19. package/dist/types/errors.d.ts +11 -0
  20. package/dist/types/errors.d.ts.map +1 -1
  21. package/dist/types/fanout.d.ts.map +1 -1
  22. package/dist/types/files.d.ts +47 -1
  23. package/dist/types/files.d.ts.map +1 -1
  24. package/dist/types/local-handlers.d.ts.map +1 -1
  25. package/dist/types/logging.d.ts +18 -1
  26. package/dist/types/logging.d.ts.map +1 -1
  27. package/dist/types/mock-gateway.d.ts +20 -0
  28. package/dist/types/mock-gateway.d.ts.map +1 -1
  29. package/dist/types/model-reference.d.ts +5 -2
  30. package/dist/types/model-reference.d.ts.map +1 -1
  31. package/dist/types/router.d.ts.map +1 -1
  32. package/dist/types/server-presets.d.ts +1 -1
  33. package/dist/types/server-presets.d.ts.map +1 -1
  34. package/dist/types/server.d.ts.map +1 -1
  35. package/dist/types/transport-runtime.d.ts +75 -0
  36. package/dist/types/transport-runtime.d.ts.map +1 -0
  37. package/dist/types/types.d.ts +44 -0
  38. package/dist/types/types.d.ts.map +1 -1
  39. package/package.json +1 -1
@@ -10,6 +10,12 @@ type AcpPromptOutput = {
10
10
  stopReason?: string;
11
11
  };
12
12
  };
13
+ /**
14
+ * True iff `line` (after trimming) is ENTIRELY one of the curated harness
15
+ * markers. Empty/whitespace lines are NOT markers (a real answer may contain
16
+ * blank lines); they are handled by the buffer/join logic, not classified here.
17
+ */
18
+ declare function isHarnessNoiseLine(line: string): boolean;
13
19
  declare function mergeUsageInfo(current: UsageInfo | undefined, next: UsageInfo | undefined): UsageInfo | undefined;
14
20
  declare function usageFromMeta(meta: Record<string, unknown>): UsageInfo | undefined;
15
21
  declare function usageFromUpdate(update: Record<string, unknown>): UsageInfo | undefined;
@@ -35,5 +41,13 @@ export declare const __acpUsageInternals: {
35
41
  readonly usageFromUpdate: typeof usageFromUpdate;
36
42
  readonly usageFromMeta: typeof usageFromMeta;
37
43
  };
44
+ /**
45
+ * Internal harness-noise primitives surfaced for deterministic unit tests
46
+ * (TASK-033 / UR-003, F-PLAN-5). NOT re-exported from `src/index*.ts`.
47
+ * @internal
48
+ */
49
+ export declare const __acpHarnessInternals: {
50
+ readonly isHarnessNoiseLine: typeof isHarnessNoiseLine;
51
+ };
38
52
  export {};
39
53
  //# sourceMappingURL=acp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"acp.d.ts","sourceRoot":"","sources":["../../src/acp.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAEV,eAAe,EAEf,gBAAgB,EAGhB,wBAAwB,EACxB,eAAe,EAEf,mBAAmB,EACnB,eAAe,EAEf,iBAAiB,EAEjB,SAAS,EAGV,MAAM,YAAY,CAAC;AAmFpB,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC;AAu2BF,iBAAS,cAAc,CACrB,OAAO,EAAE,SAAS,GAAG,SAAS,EAC9B,IAAI,EAAE,SAAS,GAAG,SAAS,GAC1B,SAAS,GAAG,SAAS,CAuBvB;AAqCD,iBAAS,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,CAY3E;AAED,iBAAS,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,CA8B/E;AAoBD,iBAAS,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAqDrE;AAiKD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,gBAAgB,GAAG,SAAS,GACpC,MAAM,CAmBR;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,gBAAgB,GAAG,SAAS,GACpC,MAAM,CAER;AAk+BD,wBAAgB,yBAAyB,CACvC,OAAO,CAAC,EAAE,gBAAgB,GACzB;IACD,SAAS,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IAClE,YAAY,EAAE,CACZ,OAAO,EAAE,eAAe,KACrB,aAAa,CAAC,mBAAmB,CAAC,CAAC;IACxC,cAAc,EAAE,CACd,OAAO,EAAE,wBAAwB,KAC9B,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CA0YA;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC,CAW1B;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAC"}
1
+ {"version":3,"file":"acp.d.ts","sourceRoot":"","sources":["../../src/acp.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAEV,eAAe,EAEf,gBAAgB,EAGhB,wBAAwB,EACxB,eAAe,EAEf,mBAAmB,EACnB,eAAe,EAEf,iBAAiB,EAEjB,SAAS,EAGV,MAAM,YAAY,CAAC;AAmFpB,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC;AAsEF;;;;GAIG;AACH,iBAAS,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMjD;AAo3BD,iBAAS,cAAc,CACrB,OAAO,EAAE,SAAS,GAAG,SAAS,EAC9B,IAAI,EAAE,SAAS,GAAG,SAAS,GAC1B,SAAS,GAAG,SAAS,CAuBvB;AAqCD,iBAAS,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,CAY3E;AAED,iBAAS,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,CA8B/E;AAoBD,iBAAS,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAqDrE;AAsLD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,gBAAgB,GAAG,SAAS,GACpC,MAAM,CAqBR;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,gBAAgB,GAAG,SAAS,GACpC,MAAM,CAER;AAotCD,wBAAgB,yBAAyB,CACvC,OAAO,CAAC,EAAE,gBAAgB,GACzB;IACD,SAAS,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IAClE,YAAY,EAAE,CACZ,OAAO,EAAE,eAAe,KACrB,aAAa,CAAC,mBAAmB,CAAC,CAAC;IACxC,cAAc,EAAE,CACd,OAAO,EAAE,wBAAwB,KAC9B,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAoZA;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC,CAW1B;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;CAExB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli-presets.d.ts","sourceRoot":"","sources":["../../src/cli-presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,oBAAoB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,mBAAmB,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,MAAM,CACjD,oBAAoB,EACpB,kBAAkB,CA+GjB,CAAC;AAEJ,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMlE,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,oBAAoB,GAC7B,kBAAkB,CAEpB"}
1
+ {"version":3,"file":"cli-presets.d.ts","sourceRoot":"","sources":["../../src/cli-presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,oBAAoB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,mBAAmB,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,MAAM,CACjD,oBAAoB,EACpB,kBAAkB,CA0IjB,CAAC;AAEJ,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMlE,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,oBAAoB,GAC7B,kBAAkB,CAEpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAEf,gBAAgB,EAUhB,wBAAwB,EACxB,eAAe,EACf,6BAA6B,EAC7B,eAAe,EAEf,0BAA0B,EAI3B,MAAM,YAAY,CAAC;AAoBpB,MAAM,MAAM,0BAA0B,GAClC;IACE,GAAG,EAAE,MAAM,CAAC;CACb,GACD;IACE,GAAG,EAAE,QAAQ,CAAC;CACf,GACD;IACE,GAAG,EAAE,SAAS,CAAC;IACf,OAAO,EAAE,6BAA6B,CAAC;IACvC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC7B,GACD;IACE,GAAG,EAAE,KAAK,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC;IACF,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AA+IN,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,gBAAgB,GACzB,MAAM,CAER;AA2FD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,eAAe,GACrB,0BAA0B,CAmC5B;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,eAAe,GACrB,eAAe,GAAG,SAAS,CAkB7B;AAm5BD,wBAAgB,yBAAyB,CACvC,OAAO,CAAC,EAAE,gBAAgB,GACzB;IACD,SAAS,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC7E,cAAc,EAAE,CACd,OAAO,EAAE,wBAAwB,KAC9B,OAAO,CAAC,eAAe,CAAC,CAAC;CAC/B,CAyJA"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAEf,gBAAgB,EAUhB,wBAAwB,EACxB,eAAe,EACf,6BAA6B,EAC7B,eAAe,EAEf,0BAA0B,EAI3B,MAAM,YAAY,CAAC;AAoBpB,MAAM,MAAM,0BAA0B,GAClC;IACE,GAAG,EAAE,MAAM,CAAC;CACb,GACD;IACE,GAAG,EAAE,QAAQ,CAAC;CACf,GACD;IACE,GAAG,EAAE,SAAS,CAAC;IACf,OAAO,EAAE,6BAA6B,CAAC;IACvC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC7B,GACD;IACE,GAAG,EAAE,KAAK,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC;IACF,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AA2IN,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,gBAAgB,GACzB,MAAM,CAER;AA6FD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,eAAe,GACrB,0BAA0B,CAmC5B;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,eAAe,GACrB,eAAe,GAAG,SAAS,CAkB7B;AA2/BD,wBAAgB,yBAAyB,CACvC,OAAO,CAAC,EAAE,gBAAgB,GACzB;IACD,SAAS,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC7E,cAAc,EAAE,CACd,OAAO,EAAE,wBAAwB,KAC9B,OAAO,CAAC,eAAe,CAAC,CAAC;CAC/B,CA2KA"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAKV,eAAe,EACf,eAAe,EACf,oBAAoB,EAMpB,mBAAmB,EAoDpB,MAAM,YAAY,CAAC;AAm4BpB,wBAAgB,YAAY,CAAC,aAAa,EAAE,eAAe,GAAG,oBAAoB,EAAE,OAAO,GAAE,mBAAwB,GAAG,eAAe,CA0zDtI"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAKV,eAAe,EACf,eAAe,EACf,oBAAoB,EAMpB,mBAAmB,EAoDpB,MAAM,YAAY,CAAC;AAuhCpB,wBAAgB,YAAY,CAAC,aAAa,EAAE,eAAe,GAAG,oBAAoB,EAAE,OAAO,GAAE,mBAAwB,GAAG,eAAe,CAo4DtI"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,eAAe,EACf,oBAAoB,EAQpB,YAAY,EACZ,sBAAsB,EAQtB,eAAe,EAIf,uBAAuB,EACvB,iBAAiB,EAGjB,qBAAqB,EAMtB,MAAM,YAAY,CAAC;AA8GpB;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,iBAAiB,GAC9B,uBAAuB,CAYzB;AAuED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,GAAG,SAAS,GAC/B,sBAAsB,CAMxB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,YAAY,GAAG,SAAS,EAC9B,OAAO,EAAE,YAAY,GAAG,SAAS,GAChC,YAAY,CAkBd;AAyuBD,wBAAgB,YAAY,CAAC,KAAK,EAAE,oBAAoB,GAAG,eAAe,CAsOzE;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,eAAe,GAAG,oBAAoB,GAC5C,KAAK,IAAI,eAAe,CAQ1B;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAC/B,MAAM,EAAE,eAAe,EAAE,EACzB,MAAM,CAAC,EAAE;IACP,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACA,MAAM,EAAE,CAEV"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,eAAe,EACf,oBAAoB,EAQpB,YAAY,EACZ,sBAAsB,EAQtB,eAAe,EAIf,uBAAuB,EACvB,iBAAiB,EAGjB,qBAAqB,EAMtB,MAAM,YAAY,CAAC;AA8HpB;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,iBAAiB,GAC9B,uBAAuB,CAYzB;AAyID;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,GAAG,SAAS,GAC/B,sBAAsB,CAMxB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,YAAY,GAAG,SAAS,EAC9B,OAAO,EAAE,YAAY,GAAG,SAAS,GAChC,YAAY,CAkBd;AA8wBD,wBAAgB,YAAY,CAAC,KAAK,EAAE,oBAAoB,GAAG,eAAe,CAkPzE;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,eAAe,GAAG,oBAAoB,GAC5C,KAAK,IAAI,eAAe,CAQ1B;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAC/B,MAAM,EAAE,eAAe,EAAE,EACzB,MAAM,CAAC,EAAE;IACP,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACA,MAAM,EAAE,CAEV"}
@@ -1 +1 @@
1
- {"version":3,"file":"default-handlers.d.ts","sourceRoot":"","sources":["../../src/default-handlers.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EAGZ,SAAS,EAUT,eAAe,EAGf,oBAAoB,EAKrB,MAAM,YAAY,CAAC;AAm2BpB,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAAE,GACjB,MAAM,GAAG,SAAS,CAEpB;AAYD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,eAAe,EAAE,YAAY,EAAE,EAC/B,cAAc,CAAC,EAAE,MAAM,GACtB,eAAe,CA8BjB;AA6rED,wBAAgB,0BAA0B,CACxC,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,SAAS,CAAC;CACd,GACL,oBAAoB,CAiEtB"}
1
+ {"version":3,"file":"default-handlers.d.ts","sourceRoot":"","sources":["../../src/default-handlers.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EAGZ,SAAS,EAUT,eAAe,EAGf,oBAAoB,EAKrB,MAAM,YAAY,CAAC;AAk5BpB,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAAE,GACjB,MAAM,GAAG,SAAS,CAEpB;AAYD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,eAAe,EAAE,YAAY,EAAE,EAC/B,cAAc,CAAC,EAAE,MAAM,GACtB,eAAe,CA8BjB;AAwtED,wBAAgB,0BAA0B,CACxC,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,SAAS,CAAC;CACd,GACL,oBAAoB,CAiEtB"}
@@ -3,6 +3,17 @@ export declare class AiConnectError extends Error {
3
3
  readonly code: AiConnectErrorCode;
4
4
  readonly details: Record<string, unknown> | undefined;
5
5
  constructor(code: AiConnectErrorCode, message: string, details?: Record<string, unknown>);
6
+ /**
7
+ * `Error.prototype.message` is non-enumerable, so a bare `JSON.stringify(err)` silently drops
8
+ * it (LOW, review-report-seed.md). Provide an explicit projection so serializing an
9
+ * `AiConnectError` (logs, wide events, error-response bodies) always carries the message.
10
+ */
11
+ toJSON(): {
12
+ name: string;
13
+ code: AiConnectErrorCode;
14
+ message: string;
15
+ details: Record<string, unknown> | undefined;
16
+ };
6
17
  }
7
18
  export declare function isAiConnectError(error: unknown): error is AiConnectError;
8
19
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAElE,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;gBAGpD,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAOpC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,OAAO,CAAC,EAAE,MAAM,GACf,cAAc,CAIhB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,EACd,YAAY,GAAE,kBAA4C,GACzD,cAAc,CA0BhB"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAElE,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;gBAGpD,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQnC;;;;OAIG;IACH,MAAM,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,kBAAkB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;KAAE;CAQpH;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,OAAO,CAAC,EAAE,MAAM,GACf,cAAc,CAIhB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,EACd,YAAY,GAAE,kBAA4C,GACzD,cAAc,CA0BhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"fanout.d.ts","sourceRoot":"","sources":["../../src/fanout.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,aAAa,EACb,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AASpB;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,kBAAkB,GAC1B,aAAa,CA6Lf"}
1
+ {"version":3,"file":"fanout.d.ts","sourceRoot":"","sources":["../../src/fanout.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,aAAa,EACb,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AA2BpB;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,kBAAkB,GAC1B,aAAa,CA6Mf"}
@@ -44,5 +44,51 @@ export declare function portableFileToText(file: PortableFile): Promise<string |
44
44
  * `loadFsPromises` guard (F-A2: browser-reachable, node:*-free).
45
45
  */
46
46
  export declare function materializePortableFile(file: PortableFile): Promise<PortableFilePayload>;
47
- export declare function preparePortableFile(input: PortableFileInput): PortableFile;
47
+ /**
48
+ * Opt-in guard for the plain-string `{kind:'path'}` branch of
49
+ * {@link preparePortableFile} (see the trust-boundary doc comment there).
50
+ * Omitted (default) → unrestricted, byte-identical to pre-existing behavior.
51
+ * - `"basename"`: strip any directory component; only the bare filename is
52
+ * kept as the path source (no `/`, no `\`, no `..` — traversal is
53
+ * structurally impossible because there is no directory left to escape
54
+ * with). The caller is expected to resolve the basename against its own
55
+ * trusted base directory downstream.
56
+ * - `{ allowedRoots: string[] }`: the input path must resolve (after
57
+ * collapsing `.`/`..` segments, WITHOUT touching the filesystem — this is
58
+ * a lightweight, dependency-free check, not a substitute for
59
+ * `fs.realpath`-based canonicalization when symlinks are a concern) inside
60
+ * one of the given root directories, or `preparePortableFile` throws
61
+ * `AiConnectError('validation_error', ...)`.
62
+ */
63
+ export type PreparePortableFilePathGuard = "basename" | {
64
+ allowedRoots: string[];
65
+ };
66
+ export interface PreparePortableFileOptions {
67
+ pathGuard?: PreparePortableFilePathGuard;
68
+ }
69
+ /**
70
+ * Normalizes a `PortableFileInput` (path string / remote URL / data URL /
71
+ * browser File|Blob / remote reference / already-normalized `PortableFile`)
72
+ * into a `PortableFile`.
73
+ *
74
+ * TRUST BOUNDARY (MEDIUM, review-report-seed.md files.ts:302-310): any plain
75
+ * string that is neither a `data:` URL nor an `http(s):` URL is treated as a
76
+ * filesystem PATH (`{kind:'path'}`) and later read VERBATIM via
77
+ * `fs.readFile` (`readPathBytes`/`readPathText`, below) with NO sandboxing —
78
+ * whatever string reaches this function is eligible to read any file the
79
+ * host process can access. This function is reachable from the PUBLIC
80
+ * `GenerateRequest.attachments` API (and `image.sourceImage`/`mask`/
81
+ * `referenceImages`), so any caller that forwards attacker-controlled strings
82
+ * from an untrusted source (e.g. a server request body) into `attachments`
83
+ * effectively grants that caller read access to the host filesystem.
84
+ *
85
+ * Callers that accept `PortableFileInput`/`attachments` from an untrusted or
86
+ * public caller MUST NOT pass raw strings through unchecked — either
87
+ * pre-validate/allow-list the path themselves, or pass `options.pathGuard`
88
+ * (`"basename"` or `{allowedRoots}`) to restrict what `{kind:'path'}` values
89
+ * this function will produce. Default (no `options`/no `pathGuard`) is
90
+ * UNRESTRICTED for backward compatibility with existing local/CLI callers
91
+ * that intentionally pass trusted local paths.
92
+ */
93
+ export declare function preparePortableFile(input: PortableFileInput, options?: PreparePortableFileOptions): PortableFile;
48
94
  //# sourceMappingURL=files.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/files.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,WAAW,CAAC,MAAM,CAE5D,CAAC;AAsEH;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGzD;AAiHD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAmBhF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAE/D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAO9D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAO5E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,oBAAoB,CAY7E;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAElE;AAUD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQ7B;AA8BD,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAyB7B;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAkBjC;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAsB7B;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,mBAAmB,CAAC,CAyC9B;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CA2E1E"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/files.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,WAAW,CAAC,MAAM,CAE5D,CAAC;AAsEH;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGzD;AA2KD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAmBhF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAE/D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAO9D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAO5E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,oBAAoB,CAY7E;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAElE;AAUD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQ7B;AAsCD,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAyB7B;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAkBjC;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAsB7B;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,mBAAmB,CAAC,CAgE9B;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,4BAA4B,GACpC,UAAU,GACV;IAAE,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE/B,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,4BAA4B,CAAC;CAC1C;AAsDD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE,0BAA0B,GACnC,YAAY,CA4Ed"}
@@ -1 +1 @@
1
- {"version":3,"file":"local-handlers.d.ts","sourceRoot":"","sources":["../../src/local-handlers.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,MAAM,CAAC,EAAE,mBAAmB,CAAC;CACzB,GACL,kBAAkB,CAsKpB"}
1
+ {"version":3,"file":"local-handlers.d.ts","sourceRoot":"","sources":["../../src/local-handlers.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,gBAAgB,EAEhB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EAEpB,MAAM,YAAY,CAAC;AAEpB,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AA4BF,wBAAgB,wBAAwB,CACtC,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,MAAM,CAAC,EAAE,mBAAmB,CAAC;CACzB,GACL,kBAAkB,CA2IpB"}
@@ -3,6 +3,23 @@ export interface ConsoleWideEventLoggerOptions {
3
3
  pretty?: boolean;
4
4
  write?: (line: string) => void;
5
5
  }
6
+ /**
7
+ * Deep, immutable-copy redaction of a wide event (SYS-3). Never mutates the
8
+ * input. Applied at the logging choke-point so every sink — including custom
9
+ * ones — inherits credential-safe output.
10
+ */
11
+ export declare function redactEvent<T>(event: T): T;
12
+ /**
13
+ * Strip credentials from a base URL before it reaches telemetry (SYS-3):
14
+ * removes userinfo (`user:pass@`) and the query string / fragment, keeping only
15
+ * scheme + host + path.
16
+ */
17
+ export declare function redactBaseUrl(url: string): string;
6
18
  export declare function createConsoleWideEventLogger(options?: ConsoleWideEventLoggerOptions): WideEventLogger;
7
- export declare function shouldEmitWideEvent(event: WideEvent, options?: WideEventSamplingOptions): Promise<boolean>;
19
+ export declare function shouldEmitWideEvent(event: WideEvent, options?: WideEventSamplingOptions,
20
+ /**
21
+ * Injectable RNG seam (C5 LOW) — defaults to `Math.random`. Lets deterministic
22
+ * tests pin the sampling decision without touching global state.
23
+ */
24
+ random?: () => number): Promise<boolean>;
8
25
  //# sourceMappingURL=logging.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/logging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,6BAA6B;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,6BAAkC,GAC1C,eAAe,CAcjB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,OAAO,CAAC,CAoDlB"}
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/logging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,6BAA6B;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AA4ED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAE1C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAYjD;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,6BAAkC,GAC1C,eAAe,CAejB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE,wBAA6B;AACtC;;;GAGG;AACH,MAAM,GAAE,MAAM,MAAoB,GACjC,OAAO,CAAC,OAAO,CAAC,CAoDlB"}
@@ -48,6 +48,26 @@ export interface MockGatewayOptions {
48
48
  upstreamOrigin?: string;
49
49
  onRequest?: (request: CapturedGatewayRequest, requestIndex: number) => void;
50
50
  onExchange?: (exchange: CapturedGatewayExchange, requestIndex: number) => void;
51
+ /**
52
+ * SECURITY (MEDIUM, review-report-seed.md — "open relay / credential
53
+ * capture"): by default `host` must resolve to a loopback address
54
+ * (127.0.0.1 / ::1 / localhost). This gateway captures raw request headers
55
+ * (including `Authorization`/API-key headers) verbatim in `requests` /
56
+ * `exchanges`, and in `mitm` mode forwards them to a real upstream —
57
+ * binding non-loopback would turn a local test helper into a
58
+ * network-reachable open relay / credential-capture endpoint. Set to
59
+ * `true` to explicitly opt in to a non-loopback `host`.
60
+ */
61
+ allowNonLoopbackHost?: boolean;
62
+ /**
63
+ * SECURITY: captured request/response headers redact common credential
64
+ * header names (`authorization`, `x-api-key`, `x-goog-api-key`, and their
65
+ * mixed-case forms) to `"[REDACTED]"` by default, so they never leak
66
+ * through `requests` / `exchanges` / `onRequest` / `onExchange` (e.g. into
67
+ * test snapshots, logs, or CI artifacts). Set to `true` to see raw header
68
+ * values — local debugging only, never for anything persisted/committed.
69
+ */
70
+ unredactedHeaders?: boolean;
51
71
  }
52
72
  export interface MockGateway {
53
73
  origin: string;
@@ -1 +1 @@
1
- {"version":3,"file":"mock-gateway.d.ts","sourceRoot":"","sources":["../../src/mock-gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock-gateway.d.ts","sourceRoot":"","sources":["../../src/mock-gateway.ts"],"names":[],"mappings":"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"}
@@ -23,8 +23,11 @@ export declare const MODEL_REFERENCE: Record<string, ModelReferenceEntry>;
23
23
  /**
24
24
  * Normalize a model id into a {@link MODEL_REFERENCE} lookup key:
25
25
  * 1. lowercase
26
- * 2. drop a leading `provider/` segment (e.g. `openai/gpt-4.1` → `gpt-4.1`)
27
- * 3. drop a trailing `:free` / `:beta` modifier (e.g. `gpt-4.1:free` → `gpt-4.1`)
26
+ * 2. drop a trailing `/<reasoning-effort>` suffix (e.g. `gpt-5.4/xhigh` → `gpt-5.4`)
27
+ * see {@link REASONING_EFFORT_SUFFIXES}; done BEFORE the provider-prefix strip so a
28
+ * reasoning-effort suffix is never misread as the model half of `provider/model` (H9)
29
+ * 3. drop a leading `provider/` segment (e.g. `openai/gpt-4.1` → `gpt-4.1`)
30
+ * 4. drop a trailing `:free` / `:beta` modifier (e.g. `gpt-4.1:free` → `gpt-4.1`)
28
31
  *
29
32
  * Pure string transform — provider/transport-blind.
30
33
  */
@@ -1 +1 @@
1
- {"version":3,"file":"model-reference.d.ts","sourceRoot":"","sources":["../../src/model-reference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAwC/D,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUvD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAmC7E;AAMD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAuB1E;AAgBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CA0BxE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,EACtB,GAAG,CAAC,EAAE,OAAO,GACZ,OAAO,CAsBT;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,GAAG;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAA;CAAE,CActE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,EACjD,MAAM,EAAE,YAAY,EAAE,GACrB,YAAY,EAAE,CAoBhB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,wBAAwB,GAAG;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAMA"}
1
+ {"version":3,"file":"model-reference.d.ts","sourceRoot":"","sources":["../../src/model-reference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAwC/D,CAAC;AAgBF;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAqBvD;AAUD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAqC7E;AAMD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAuB1E;AAgBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CA0BxE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,EACtB,GAAG,CAAC,EAAE,OAAO,GACZ,OAAO,CAsBT;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,GAAG;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAA;CAAE,CActE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,EACjD,MAAM,EAAE,YAAY,EAAE,GACrB,YAAY,EAAE,CAoBhB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,wBAAwB,GAAG;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAMA"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,eAAe,EACf,aAAa,EACb,UAAU,EACV,mBAAmB,EAGnB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAkGpB,qBAAa,aAAa;;IACxB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;gBAOzB,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,kBAAkB;IAShE,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,mBAAmB;IA0BtD,UAAU,CAAC,MAAM,CAAC,EAAE;QAClB,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;KAC1C,GAAG,eAAe,EAAE;IAWrB;;;;;;OAMG;IACH,eAAe,CAAC,MAAM,CAAC,EAAE;QACvB,SAAS,CAAC,EAAE,aAAa,CAAC;QAC1B,QAAQ,CAAC,EAAE,UAAU,CAAC;KACvB,GAAG,cAAc,EAAE;IAyBpB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG;QAAE,SAAS,EAAE,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAA;KAAE,GAAG,eAAe,EAAE;IAiCzH,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAO3C,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI;CA8FtE;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CA8CT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,EACtB,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,eAAe,GAAG,SAAS,CAiB7B"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,eAAe,EACf,aAAa,EACb,UAAU,EACV,mBAAmB,EAGnB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AA+HpB,qBAAa,aAAa;;IACxB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;gBAOzB,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,kBAAkB;IAShE,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,mBAAmB;IA0BtD,UAAU,CAAC,MAAM,CAAC,EAAE;QAClB,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;KAC1C,GAAG,eAAe,EAAE;IAWrB;;;;;;OAMG;IACH,eAAe,CAAC,MAAM,CAAC,EAAE;QACvB,SAAS,CAAC,EAAE,aAAa,CAAC;QAC1B,QAAQ,CAAC,EAAE,UAAU,CAAC;KACvB,GAAG,cAAc,EAAE;IAyBpB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG;QAAE,SAAS,EAAE,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAA;KAAE,GAAG,eAAe,EAAE;IAuDzH,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAO3C,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI;CA0FtE;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CA8CT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,EACtB,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,eAAe,GAAG,SAAS,CAiB7B"}
@@ -4,6 +4,6 @@ export type ServerTransportPreset = {
4
4
  command: string;
5
5
  transportId: string;
6
6
  };
7
- export declare const AI_CONNECT_DEFAULT_SERVER_PRESETS: Record<"opencode", ServerTransportPreset>;
7
+ export declare const AI_CONNECT_DEFAULT_SERVER_PRESETS: Record<string, ServerTransportPreset>;
8
8
  export declare const AI_CONNECT_DEFAULT_SERVER_COMMANDS: Record<string, string>;
9
9
  //# sourceMappingURL=server-presets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-presets.d.ts","sourceRoot":"","sources":["../../src/server-presets.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,MAAM,CACpD,UAAU,EACV,qBAAqB,CASpB,CAAC;AAEJ,eAAO,MAAM,kCAAkC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAErE,CAAC"}
1
+ {"version":3,"file":"server-presets.d.ts","sourceRoot":"","sources":["../../src/server-presets.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF,eAAO,MAAM,iCAAiC,EAAE,MAAM,CACpD,MAAM,EACN,qBAAqB,CASpB,CAAC;AAEJ,eAAO,MAAM,kCAAkC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMnE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,eAAe,EAEf,wBAAwB,EAExB,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EAGpB,MAAM,YAAY,CAAC;AAmEpB,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,MAAM,CAER;AA8SD,wBAAgB,4BAA4B,CAC1C,OAAO,CAAC,EAAE,mBAAmB,GAC5B;IACD,SAAS,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC7E,cAAc,EAAE,CACd,OAAO,EAAE,wBAAwB,KAC9B,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9B,WAAW,EAAE,CACX,KAAK,EAAE,eAAe,KACnB,OAAO,CAAC;QACX,EAAE,EAAE,OAAO,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAuLA"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,eAAe,EAEf,wBAAwB,EAExB,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EAGpB,MAAM,YAAY,CAAC;AAgEpB,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,MAAM,CAER;AA0TD,wBAAgB,4BAA4B,CAC1C,OAAO,CAAC,EAAE,mBAAmB,GAC5B;IACD,SAAS,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC7E,cAAc,EAAE,CACd,OAAO,EAAE,wBAAwB,KAC9B,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9B,WAAW,EAAE,CACX,KAAK,EAAE,eAAe,KACnB,OAAO,CAAC;QACX,EAAE,EAAE,OAAO,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CA2MA"}
@@ -0,0 +1,75 @@
1
+ import type { ChildProcess, StdioOptions } from "node:child_process";
2
+ /**
3
+ * Shared transport-runtime primitives (TASK-035 Wave 1).
4
+ *
5
+ * Consolidates the process-spawning concerns that were previously duplicated
6
+ * (and subtly divergent) across the ACP, CLI, and server transport managers:
7
+ * - child-environment scoping (SYS-2): a minimal-by-default env so the full
8
+ * `process.env` (host credentials, CI tokens) does NOT leak into third-party
9
+ * `npx`-loaded binaries;
10
+ * - process-group kill (C2/C3): reliably tear down a detached child *and its
11
+ * descendants*, not just the direct child;
12
+ * - command-override precedence (SYS-5): a single precedence rule
13
+ * (`options.commands` wins) shared by every transport;
14
+ * - an orphaned-process safety net: a single best-effort process-exit hook
15
+ * that kills every tracked child on host teardown.
16
+ *
17
+ * This is a node-runtime-only module (transports are node-only), so a direct
18
+ * import of `node:child_process` is intentional and safe here.
19
+ */
20
+ export type EnvMode = "inherit" | "minimal";
21
+ export interface ChildEnvOptions {
22
+ /**
23
+ * `'minimal'` (default) exposes only PATH + HOME + explicitly allowlisted keys
24
+ * from `process.env`, plus `extra`. `'inherit'` forwards the full `process.env`
25
+ * (plus `extra`) — opt-in only, for callers that knowingly trust the child.
26
+ */
27
+ envMode?: EnvMode;
28
+ /** Additional `process.env` keys to forward in `'minimal'` mode. */
29
+ allowlist?: string[];
30
+ /** Explicit key/value pairs layered on top (always win). */
31
+ extra?: Record<string, string>;
32
+ }
33
+ /**
34
+ * Build the environment for a spawned child process (SYS-2).
35
+ *
36
+ * Default is `'minimal'`: the host's full `process.env` is NOT inherited, so
37
+ * unrelated provider keys / CI tokens are not handed to third-party binaries.
38
+ * Callers that genuinely need full inheritance pass `envMode: 'inherit'`.
39
+ */
40
+ export declare function resolveChildEnv(opts?: ChildEnvOptions): Record<string, string>;
41
+ /**
42
+ * Kill a spawned child and its descendants (C2/C3).
43
+ *
44
+ * When the child was spawned `detached` on a POSIX platform it is a process
45
+ * group leader, so `process.kill(-pid, signal)` reaches the whole group. On
46
+ * win32 (no POSIX process groups) — or if the group kill throws (already gone)
47
+ * — fall back to killing the direct child.
48
+ */
49
+ export declare function killProcessTree(child: ChildProcess, signal: NodeJS.Signals, detached: boolean): void;
50
+ /**
51
+ * Resolve a managed transport command with a single, transport-agnostic
52
+ * precedence (SYS-5): an explicit `options.commands[key]` override always wins,
53
+ * then the route's `transport.command`, then the built-in preset command.
54
+ */
55
+ export declare function resolveManagedCommand(key: string, optionsCommands: Record<string, string> | undefined, routeCommand: string | undefined, presetCommand: string | undefined): string;
56
+ export interface SpawnManagedOptions {
57
+ cwd?: string;
58
+ env?: Record<string, string>;
59
+ stdio?: StdioOptions;
60
+ detached?: boolean;
61
+ }
62
+ /**
63
+ * Thin wrapper over `child_process.spawn` that applies the shared env-scoping
64
+ * default and registers the child in the orphaned-process safety net. Callers
65
+ * that already build their own env pass it via `opts.env`; otherwise a minimal
66
+ * env is resolved.
67
+ */
68
+ export declare function spawnManaged(cmd: string, args: string[], opts?: SpawnManagedOptions): ChildProcess;
69
+ /**
70
+ * Register a spawned child in the orphaned-process safety net. Returns an
71
+ * `untrack()` function the caller MUST invoke once the child is reaped (on
72
+ * `close`/`exit` and in `dispose()`), so the registry does not grow unbounded.
73
+ */
74
+ export declare function trackChild(child: ChildProcess, detached: boolean): () => void;
75
+ //# sourceMappingURL=transport-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport-runtime.d.ts","sourceRoot":"","sources":["../../src/transport-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKrE;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AA4CD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,IAAI,GAAE,eAAoB,GACzB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsBxB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,CAAC,OAAO,EACtB,QAAQ,EAAE,OAAO,GAChB,IAAI,CAmBN;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACnD,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC,MAAM,CAcR;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,mBAAwB,GAC7B,YAAY,CAWd;AA6CD;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,OAAO,GAChB,MAAM,IAAI,CAUZ"}
@@ -409,6 +409,15 @@ export interface PortableFilePayload {
409
409
  uri?: string;
410
410
  text?: string;
411
411
  providerFileId?: string;
412
+ /**
413
+ * Non-fatal decode notes (e.g. an `other`-category file that carried no
414
+ * usable carrier and was silently dropped by a builder). Optional,
415
+ * additive — absent unless a decode path populates it (SYS-6/MEDIUM,
416
+ * review-report-seed.md files.ts:416-459 "other" silent data loss).
417
+ */
418
+ warnings?: string[];
419
+ /** Machine-readable reason a payload's content was dropped, if any. */
420
+ droppedReason?: string;
412
421
  }
413
422
  export interface ToolCallInput {
414
423
  id: string;
@@ -443,6 +452,15 @@ export interface ClientToolContext {
443
452
  toolCall: ToolCallInput;
444
453
  messages: MessageInput[];
445
454
  workingDirectory?: string;
455
+ /**
456
+ * Optional cancellation context (CD-3/CD-6). When the call site threads the
457
+ * derived abort context through (client.ts), client tools can observe
458
+ * `abort.signal.aborted` / listen for `'abort'` to cooperatively cancel
459
+ * long-running work. Optional for back-compat — existing tool
460
+ * implementations that don't read it are unaffected (SYS-1/MEDIUM,
461
+ * review-report-seed.md types.ts:563-570).
462
+ */
463
+ abort?: AbortContext;
446
464
  }
447
465
  export type ClientToolExecutionResult = string | {
448
466
  content?: string;
@@ -1288,6 +1306,32 @@ export interface AcpClientOptions {
1288
1306
  timeoutMs?: number;
1289
1307
  sessionCache?: boolean | AcpSessionCacheOptions;
1290
1308
  maxConcurrentConnections?: number;
1309
+ /**
1310
+ * Select the route's model through the ACP PROTOCOL via a `session/set_model`
1311
+ * call after `session/new` (default `true`), sourcing `route.model`
1312
+ * (`routeHints.model ?? account model`) — superseding an `ANTHROPIC_MODEL`
1313
+ * env hack and the agent's env-driven "model switched" announcement. The call
1314
+ * is sent only when the agent advertises a model catalog AND the requested
1315
+ * model is in `availableModels` AND it differs from the current model; a
1316
+ * non-advertised model is surfaced as a warning rather than silently run.
1317
+ */
1318
+ selectModel?: boolean;
1319
+ /**
1320
+ * Filter known interactive-harness marker lines (greeting / model-switch
1321
+ * announcement / `<local-command-caveat>` commentary / idle prompts) out of
1322
+ * the accumulated `agent_message_chunk` text — on both the generate and the
1323
+ * streaming (`delta`) paths (default `true`). Only the curated, anchored
1324
+ * whole-line markers are removed; legitimate task output is preserved.
1325
+ */
1326
+ suppressHarnessNoise?: boolean;
1327
+ /**
1328
+ * When a `session/prompt` turn yields ONLY harness-noise lines and no
1329
+ * substantive content, surface it as `temporary_unavailable` (so the consumer
1330
+ * can retry / fall back) instead of returning the chatter as a successful
1331
+ * generation (default `true`). Relies on {@link suppressHarnessNoise} (the
1332
+ * shared line-classification path); disabling that disables the guard.
1333
+ */
1334
+ failOnHarnessOnlyTurn?: boolean;
1291
1335
  }
1292
1336
  export interface CliStagingOptions {
1293
1337
  /** Base dir for the per-invocation mkdtemp. Default: os.tmpdir(). */