@zhixuan92/multi-model-agent-core 4.7.10 → 4.7.12

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 (125) hide show
  1. package/README.md +4 -5
  2. package/dist/bounded-execution/progress-watchdog.js +1 -1
  3. package/dist/bounded-execution/progress-watchdog.js.map +1 -1
  4. package/dist/bounded-execution/stall-watchdog.d.ts.map +1 -1
  5. package/dist/bounded-execution/stall-watchdog.js +28 -4
  6. package/dist/bounded-execution/stall-watchdog.js.map +1 -1
  7. package/dist/config/schema.d.ts +49 -2
  8. package/dist/config/schema.d.ts.map +1 -1
  9. package/dist/config/schema.js.map +1 -1
  10. package/dist/events/wire-schema.d.ts +17 -17
  11. package/dist/index.d.ts +2 -2
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +2 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/lifecycle/auto-commit.js +3 -3
  16. package/dist/lifecycle/auto-commit.js.map +1 -1
  17. package/dist/lifecycle/diff-tracker.js +4 -4
  18. package/dist/lifecycle/diff-tracker.js.map +1 -1
  19. package/dist/lifecycle/git-toplevel.d.ts.map +1 -1
  20. package/dist/lifecycle/git-toplevel.js +3 -0
  21. package/dist/lifecycle/git-toplevel.js.map +1 -1
  22. package/dist/lifecycle/handlers/commit-stage.js +5 -5
  23. package/dist/lifecycle/handlers/commit-stage.js.map +1 -1
  24. package/dist/lifecycle/handlers/git-commit-handler.js +1 -1
  25. package/dist/lifecycle/handlers/git-commit-handler.js.map +1 -1
  26. package/dist/lifecycle/handlers/implement-stage.js +2 -2
  27. package/dist/lifecycle/handlers/implement-stage.js.map +1 -1
  28. package/dist/lifecycle/merge-stage-stats.d.ts +1 -2
  29. package/dist/lifecycle/merge-stage-stats.d.ts.map +1 -1
  30. package/dist/lifecycle/merge-stage-stats.js.map +1 -1
  31. package/dist/lifecycle/real-diff.d.ts.map +1 -1
  32. package/dist/lifecycle/real-diff.js +2 -0
  33. package/dist/lifecycle/real-diff.js.map +1 -1
  34. package/dist/lifecycle/repo-hygiene.d.ts.map +1 -1
  35. package/dist/lifecycle/repo-hygiene.js +3 -0
  36. package/dist/lifecycle/repo-hygiene.js.map +1 -1
  37. package/dist/providers/codex-cli-session.d.ts.map +1 -1
  38. package/dist/providers/codex-cli-session.js +39 -22
  39. package/dist/providers/codex-cli-session.js.map +1 -1
  40. package/dist/reporting/commit-stage-runner.js +4 -4
  41. package/dist/reporting/commit-stage-runner.js.map +1 -1
  42. package/dist/tools/audit/schema.d.ts +2 -2
  43. package/dist/tools/debug/schema.d.ts +2 -2
  44. package/dist/tools/delegate/schema.d.ts +2 -2
  45. package/dist/tools/execute-plan/schema.d.ts +2 -2
  46. package/dist/tools/investigate/schema.d.ts +3 -3
  47. package/dist/tools/retry/schema.d.ts +2 -2
  48. package/dist/tools/review/schema.d.ts +2 -2
  49. package/dist/tools/shared-output.d.ts +2 -2
  50. package/dist/transport/http-listener.d.ts +6 -15
  51. package/dist/transport/http-listener.d.ts.map +1 -1
  52. package/dist/transport/http-listener.js +11 -22
  53. package/dist/transport/http-listener.js.map +1 -1
  54. package/dist/transport/index.d.ts +1 -1
  55. package/dist/transport/index.d.ts.map +1 -1
  56. package/dist/transport/index.js.map +1 -1
  57. package/dist/transport/route-dispatcher.d.ts +4 -17
  58. package/dist/transport/route-dispatcher.d.ts.map +1 -1
  59. package/dist/transport/route-dispatcher.js +8 -14
  60. package/dist/transport/route-dispatcher.js.map +1 -1
  61. package/dist/types/brief-quality-policy.d.ts +0 -1
  62. package/dist/types/brief-quality-policy.d.ts.map +1 -1
  63. package/dist/types/config.d.ts +2 -97
  64. package/dist/types/config.d.ts.map +1 -1
  65. package/dist/types/enums.d.ts +1 -108
  66. package/dist/types/enums.d.ts.map +1 -1
  67. package/dist/types/enums.js +9 -97
  68. package/dist/types/enums.js.map +1 -1
  69. package/dist/types/run-result.d.ts +2 -33
  70. package/dist/types/run-result.d.ts.map +1 -1
  71. package/dist/types.d.ts +1 -1
  72. package/dist/types.d.ts.map +1 -1
  73. package/package.json +2 -45
  74. package/dist/tool-surface/discover.d.ts +0 -29
  75. package/dist/tool-surface/discover.d.ts.map +0 -1
  76. package/dist/tool-surface/discover.js +0 -102
  77. package/dist/tool-surface/discover.js.map +0 -1
  78. package/dist/tool-surface/include-utils.d.ts +0 -27
  79. package/dist/tool-surface/include-utils.d.ts.map +0 -1
  80. package/dist/tool-surface/include-utils.js +0 -90
  81. package/dist/tool-surface/include-utils.js.map +0 -1
  82. package/dist/tool-surface/index.d.ts +0 -6
  83. package/dist/tool-surface/index.d.ts.map +0 -1
  84. package/dist/tool-surface/index.js +0 -7
  85. package/dist/tool-surface/index.js.map +0 -1
  86. package/dist/tool-surface/manifest.d.ts +0 -94
  87. package/dist/tool-surface/manifest.d.ts.map +0 -1
  88. package/dist/tool-surface/manifest.js +0 -234
  89. package/dist/tool-surface/manifest.js.map +0 -1
  90. package/dist/tool-surface/openapi-generator.d.ts +0 -15
  91. package/dist/tool-surface/openapi-generator.d.ts.map +0 -1
  92. package/dist/tool-surface/openapi-generator.js +0 -259
  93. package/dist/tool-surface/openapi-generator.js.map +0 -1
  94. package/dist/tool-surface/skill-installer-common.d.ts +0 -48
  95. package/dist/tool-surface/skill-installer-common.d.ts.map +0 -1
  96. package/dist/tool-surface/skill-installer-common.js +0 -195
  97. package/dist/tool-surface/skill-installer-common.js.map +0 -1
  98. package/dist/tool-surface/skill-installer.d.ts +0 -10
  99. package/dist/tool-surface/skill-installer.d.ts.map +0 -1
  100. package/dist/tool-surface/skill-installer.js +0 -20
  101. package/dist/tool-surface/skill-installer.js.map +0 -1
  102. package/dist/tool-surface/skill-installers/claude-code.d.ts +0 -43
  103. package/dist/tool-surface/skill-installers/claude-code.d.ts.map +0 -1
  104. package/dist/tool-surface/skill-installers/claude-code.js +0 -65
  105. package/dist/tool-surface/skill-installers/claude-code.js.map +0 -1
  106. package/dist/tool-surface/skill-installers/codex-cli.d.ts +0 -27
  107. package/dist/tool-surface/skill-installers/codex-cli.d.ts.map +0 -1
  108. package/dist/tool-surface/skill-installers/codex-cli.js +0 -84
  109. package/dist/tool-surface/skill-installers/codex-cli.js.map +0 -1
  110. package/dist/tool-surface/skill-installers/cursor.d.ts +0 -72
  111. package/dist/tool-surface/skill-installers/cursor.d.ts.map +0 -1
  112. package/dist/tool-surface/skill-installers/cursor.js +0 -81
  113. package/dist/tool-surface/skill-installers/cursor.js.map +0 -1
  114. package/dist/tool-surface/skill-installers/gemini-cli.d.ts +0 -66
  115. package/dist/tool-surface/skill-installers/gemini-cli.d.ts.map +0 -1
  116. package/dist/tool-surface/skill-installers/gemini-cli.js +0 -111
  117. package/dist/tool-surface/skill-installers/gemini-cli.js.map +0 -1
  118. package/dist/tool-surface/skill-manifest-sync.d.ts +0 -11
  119. package/dist/tool-surface/skill-manifest-sync.d.ts.map +0 -1
  120. package/dist/tool-surface/skill-manifest-sync.js +0 -65
  121. package/dist/tool-surface/skill-manifest-sync.js.map +0 -1
  122. package/dist/types/draft-task.d.ts +0 -60
  123. package/dist/types/draft-task.d.ts.map +0 -1
  124. package/dist/types/draft-task.js +0 -2
  125. package/dist/types/draft-task.js.map +0 -1
@@ -37,20 +37,20 @@ export declare const outputSchema: z.ZodObject<{
37
37
  reason: z.ZodString;
38
38
  }, z.core.$strip>]>;
39
39
  specReviewVerdict: z.ZodOptional<z.ZodEnum<{
40
+ error: "error";
40
41
  approved: "approved";
41
42
  concerns: "concerns";
42
43
  changes_required: "changes_required";
43
44
  annotated: "annotated";
44
- error: "error";
45
45
  skipped: "skipped";
46
46
  not_applicable: "not_applicable";
47
47
  }>>;
48
48
  qualityReviewVerdict: z.ZodOptional<z.ZodEnum<{
49
+ error: "error";
49
50
  approved: "approved";
50
51
  concerns: "concerns";
51
52
  changes_required: "changes_required";
52
53
  annotated: "annotated";
53
- error: "error";
54
54
  skipped: "skipped";
55
55
  not_applicable: "not_applicable";
56
56
  }>>;
@@ -46,20 +46,20 @@ export declare const outputSchema: z.ZodObject<{
46
46
  reason: z.ZodString;
47
47
  }, z.core.$strip>]>;
48
48
  specReviewVerdict: z.ZodOptional<z.ZodEnum<{
49
+ error: "error";
49
50
  approved: "approved";
50
51
  concerns: "concerns";
51
52
  changes_required: "changes_required";
52
53
  annotated: "annotated";
53
- error: "error";
54
54
  skipped: "skipped";
55
55
  not_applicable: "not_applicable";
56
56
  }>>;
57
57
  qualityReviewVerdict: z.ZodOptional<z.ZodEnum<{
58
+ error: "error";
58
59
  approved: "approved";
59
60
  concerns: "concerns";
60
61
  changes_required: "changes_required";
61
62
  annotated: "annotated";
62
- error: "error";
63
63
  skipped: "skipped";
64
64
  not_applicable: "not_applicable";
65
65
  }>>;
@@ -42,20 +42,20 @@ export declare const outputSchema: z.ZodObject<{
42
42
  reason: z.ZodString;
43
43
  }, z.core.$strip>]>;
44
44
  specReviewVerdict: z.ZodOptional<z.ZodEnum<{
45
+ error: "error";
45
46
  approved: "approved";
46
47
  concerns: "concerns";
47
48
  changes_required: "changes_required";
48
49
  annotated: "annotated";
49
- error: "error";
50
50
  skipped: "skipped";
51
51
  not_applicable: "not_applicable";
52
52
  }>>;
53
53
  qualityReviewVerdict: z.ZodOptional<z.ZodEnum<{
54
+ error: "error";
54
55
  approved: "approved";
55
56
  concerns: "concerns";
56
57
  changes_required: "changes_required";
57
58
  annotated: "annotated";
58
- error: "error";
59
59
  skipped: "skipped";
60
60
  not_applicable: "not_applicable";
61
61
  }>>;
@@ -7,8 +7,8 @@ export declare const inputSchema: z.ZodObject<{
7
7
  filePaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
8
8
  contextBlockIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
9
9
  tools: z.ZodOptional<z.ZodEnum<{
10
- none: "none";
11
10
  readonly: "readonly";
11
+ none: "none";
12
12
  }>>;
13
13
  }, z.core.$strict>;
14
14
  export type Input = z.infer<typeof inputSchema>;
@@ -39,20 +39,20 @@ export declare const outputSchema: z.ZodObject<{
39
39
  reason: z.ZodString;
40
40
  }, z.core.$strip>]>;
41
41
  specReviewVerdict: z.ZodOptional<z.ZodEnum<{
42
+ error: "error";
42
43
  approved: "approved";
43
44
  concerns: "concerns";
44
45
  changes_required: "changes_required";
45
46
  annotated: "annotated";
46
- error: "error";
47
47
  skipped: "skipped";
48
48
  not_applicable: "not_applicable";
49
49
  }>>;
50
50
  qualityReviewVerdict: z.ZodOptional<z.ZodEnum<{
51
+ error: "error";
51
52
  approved: "approved";
52
53
  concerns: "concerns";
53
54
  changes_required: "changes_required";
54
55
  annotated: "annotated";
55
- error: "error";
56
56
  skipped: "skipped";
57
57
  not_applicable: "not_applicable";
58
58
  }>>;
@@ -31,20 +31,20 @@ export declare const outputSchema: z.ZodObject<{
31
31
  reason: z.ZodString;
32
32
  }, z.core.$strip>]>;
33
33
  specReviewVerdict: z.ZodOptional<z.ZodEnum<{
34
+ error: "error";
34
35
  approved: "approved";
35
36
  concerns: "concerns";
36
37
  changes_required: "changes_required";
37
38
  annotated: "annotated";
38
- error: "error";
39
39
  skipped: "skipped";
40
40
  not_applicable: "not_applicable";
41
41
  }>>;
42
42
  qualityReviewVerdict: z.ZodOptional<z.ZodEnum<{
43
+ error: "error";
43
44
  approved: "approved";
44
45
  concerns: "concerns";
45
46
  changes_required: "changes_required";
46
47
  annotated: "annotated";
47
- error: "error";
48
48
  skipped: "skipped";
49
49
  not_applicable: "not_applicable";
50
50
  }>>;
@@ -41,20 +41,20 @@ export declare const outputSchema: z.ZodObject<{
41
41
  reason: z.ZodString;
42
42
  }, z.core.$strip>]>;
43
43
  specReviewVerdict: z.ZodOptional<z.ZodEnum<{
44
+ error: "error";
44
45
  approved: "approved";
45
46
  concerns: "concerns";
46
47
  changes_required: "changes_required";
47
48
  annotated: "annotated";
48
- error: "error";
49
49
  skipped: "skipped";
50
50
  not_applicable: "not_applicable";
51
51
  }>>;
52
52
  qualityReviewVerdict: z.ZodOptional<z.ZodEnum<{
53
+ error: "error";
53
54
  approved: "approved";
54
55
  concerns: "concerns";
55
56
  changes_required: "changes_required";
56
57
  annotated: "annotated";
57
- error: "error";
58
58
  skipped: "skipped";
59
59
  not_applicable: "not_applicable";
60
60
  }>>;
@@ -34,20 +34,20 @@ export declare function buildOutputEnvelopeSchema(resultItemSchema?: z.ZodTypeAn
34
34
  reason: z.ZodString;
35
35
  }, z.core.$strip>]>;
36
36
  specReviewVerdict: z.ZodOptional<z.ZodEnum<{
37
+ error: "error";
37
38
  approved: "approved";
38
39
  concerns: "concerns";
39
40
  changes_required: "changes_required";
40
41
  annotated: "annotated";
41
- error: "error";
42
42
  skipped: "skipped";
43
43
  not_applicable: "not_applicable";
44
44
  }>>;
45
45
  qualityReviewVerdict: z.ZodOptional<z.ZodEnum<{
46
+ error: "error";
46
47
  approved: "approved";
47
48
  concerns: "concerns";
48
49
  changes_required: "changes_required";
49
50
  annotated: "annotated";
50
- error: "error";
51
51
  skipped: "skipped";
52
52
  not_applicable: "not_applicable";
53
53
  }>>;
@@ -1,12 +1,10 @@
1
1
  import { type IncomingMessage, type ServerResponse } from 'node:http';
2
2
  /**
3
- * Spec C1 HTTPListener — bind loopback, accept HTTP. Supports a graceful
4
- * shutdown state where new requests are rejected with 503 while in-flight
5
- * async batches complete and TelemetryUploader drains.
6
- *
7
- * The listener owns the socket lifecycle. Routing and request pipeline are
8
- * separate (RouteDispatcher + RequestPipeline). Wire them together in the
9
- * server boot, not here.
3
+ * HTTPListener — owns the HTTP socket lifecycle: bind a loopback interface,
4
+ * accept connections, close on shutdown. Routing, draining policy, auth, and
5
+ * request parsing live elsewhere (RouteDispatcher + request-pipeline). The
6
+ * listener's only request-time responsibility is to convert a rejected handler
7
+ * promise into a 500 (when the response is still writable) or a log line.
10
8
  */
11
9
  export type HTTPRequestHandler = (req: IncomingMessage, res: ServerResponse) => void | Promise<void>;
12
10
  export interface HTTPListenerOptions {
@@ -14,24 +12,17 @@ export interface HTTPListenerOptions {
14
12
  bind: string;
15
13
  /** Listening port. Pass 0 for ephemeral allocation. */
16
14
  port: number;
17
- /** Application handler. Called for every accepted request unless draining. */
15
+ /** Application handler. Called for every accepted request. */
18
16
  handler: HTTPRequestHandler;
19
17
  }
20
18
  export declare class HTTPListener {
21
19
  private readonly options;
22
20
  private server;
23
- private draining;
24
- private startedAt;
25
21
  constructor(options: HTTPListenerOptions);
26
22
  start(): Promise<{
27
23
  port: number;
28
24
  address: string | null;
29
25
  }>;
30
- /** Begin graceful shutdown — new requests get 503; existing ones complete. */
31
- beginDraining(): void;
32
- isDraining(): boolean;
33
- /** Wall-clock ms when the listener started. Zero if never started. */
34
- getStartedAt(): number;
35
26
  stop(): Promise<void>;
36
27
  }
37
28
  //# sourceMappingURL=http-listener.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-listener.d.ts","sourceRoot":"","sources":["../../src/transport/http-listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAe,MAAM,WAAW,CAAC;AAEjG;;;;;;;;GAQG;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAErG,MAAM,WAAW,mBAAmB;IAClC,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAED,qBAAa,YAAY;IAKX,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAK;gBAEO,OAAO,EAAE,mBAAmB;IAEnD,KAAK,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAsBhE,8EAA8E;IAC9E,aAAa,IAAI,IAAI;IAIrB,UAAU,IAAI,OAAO;IAIrB,sEAAsE;IACtE,YAAY,IAAI,MAAM;IAIhB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAM5B"}
1
+ {"version":3,"file":"http-listener.d.ts","sourceRoot":"","sources":["../../src/transport/http-listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAe,MAAM,WAAW,CAAC;AAEjG;;;;;;GAMG;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAErG,MAAM,WAAW,mBAAmB;IAClC,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAED,qBAAa,YAAY;IAGX,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,MAAM,CAAuB;gBAER,OAAO,EAAE,mBAAmB;IAEnD,KAAK,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAuB1D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAM5B"}
@@ -2,43 +2,32 @@ import { createServer } from 'node:http';
2
2
  export class HTTPListener {
3
3
  options;
4
4
  server = null;
5
- draining = false;
6
- startedAt = 0;
7
5
  constructor(options) {
8
6
  this.options = options;
9
7
  }
10
8
  async start() {
11
9
  const server = createServer((req, res) => {
12
- if (this.draining) {
13
- res.statusCode = 503;
14
- res.setHeader('Retry-After', '5');
15
- res.setHeader('Content-Type', 'application/json');
16
- res.end(JSON.stringify({ error: { code: 'shutting_down', message: 'Server is shutting down' } }));
17
- return;
18
- }
19
- void this.options.handler(req, res);
10
+ Promise.resolve(this.options.handler(req, res)).catch((err) => {
11
+ const msg = err instanceof Error ? (err.stack ?? err.message) : String(err);
12
+ process.stderr.write(`[mmagent] listener handler rejected: ${msg}\n`);
13
+ if (!res.headersSent) {
14
+ res.writeHead(500, { 'content-type': 'application/json' });
15
+ res.end(JSON.stringify({ error: { code: 'internal_error', message: 'Internal server error' } }));
16
+ }
17
+ else if (!res.writableEnded) {
18
+ res.end();
19
+ }
20
+ });
20
21
  });
21
22
  await new Promise((resolve) => {
22
23
  server.listen(this.options.port, this.options.bind, resolve);
23
24
  });
24
25
  this.server = server;
25
- this.startedAt = Date.now();
26
26
  const addr = server.address();
27
27
  const port = typeof addr === 'object' && addr !== null ? addr.port : this.options.port;
28
28
  const address = typeof addr === 'object' && addr !== null ? (addr.address ?? null) : null;
29
29
  return { port, address };
30
30
  }
31
- /** Begin graceful shutdown — new requests get 503; existing ones complete. */
32
- beginDraining() {
33
- this.draining = true;
34
- }
35
- isDraining() {
36
- return this.draining;
37
- }
38
- /** Wall-clock ms when the listener started. Zero if never started. */
39
- getStartedAt() {
40
- return this.startedAt;
41
- }
42
31
  async stop() {
43
32
  if (!this.server)
44
33
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"http-listener.js","sourceRoot":"","sources":["../../src/transport/http-listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0D,MAAM,WAAW,CAAC;AAuBjG,MAAM,OAAO,YAAY;IAKM;IAJrB,MAAM,GAAkB,IAAI,CAAC;IAC7B,QAAQ,GAAG,KAAK,CAAC;IACjB,SAAS,GAAG,CAAC,CAAC;IAEtB,YAA6B,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;IAAG,CAAC;IAE7D,KAAK,CAAC,KAAK;QACT,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACvC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;gBAClC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;gBAClD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,yBAAyB,EAAE,EAAE,CAAC,CAAC,CAAC;gBAClG,OAAO;YACT,CAAC;YACD,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAE,IAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAC7G,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAE,IAA6B,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,8EAA8E;IAC9E,aAAa;QACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,sEAAsE;IACtE,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"http-listener.js","sourceRoot":"","sources":["../../src/transport/http-listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0D,MAAM,WAAW,CAAC;AAqBjG,MAAM,OAAO,YAAY;IAGM;IAFrB,MAAM,GAAkB,IAAI,CAAC;IAErC,YAA6B,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;IAAG,CAAC;IAE7D,KAAK,CAAC,KAAK;QACT,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACvC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACrE,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,GAAG,IAAI,CAAC,CAAC;gBACtE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACrB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC;gBACnG,CAAC;qBAAM,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;oBAC9B,GAAG,CAAC,GAAG,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAE,IAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAC7G,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAE,IAA6B,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
1
  export { HTTPListener, type HTTPListenerOptions, type HTTPRequestHandler } from './http-listener.js';
2
- export { RouteDispatcher, type RouteMetadata, type ResponseShape } from './route-dispatcher.js';
2
+ export { RouteDispatcher } from './route-dispatcher.js';
3
3
  export { isLoopbackAddress, shouldRejectNonLoopback, isAllowedHostHeader, } from './loopback-enforcer.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqD,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,eAAe,EAA0C,MAAM,uBAAuB,CAAC;AAChG,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqD,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC"}
@@ -1,26 +1,14 @@
1
1
  /**
2
- * Spec C1 RouteDispatcher — match incoming method+path to a handler.
3
- *
4
- * Routes declare their response shape (sync vs async-with-batchId) at
5
- * registration time via metadata; the dispatcher reads from registration
6
- * metadata, not from handler return shape. This lets the request pipeline
7
- * branch on shape without interpreting handler internals.
8
- *
9
- * Generic over the handler type so server and core both reuse the same
10
- * dispatcher mechanism with their own context types.
2
+ * RouteDispatcher — match an incoming method+path to a registered handler.
3
+ * Generic over the handler type so server and core reuse the same dispatcher
4
+ * with their own context types.
11
5
  */
12
- export type ResponseShape = 'sync' | 'async-batch';
13
- export interface RouteMetadata {
14
- /** Declared response shape for this route. Defaults to 'sync'. */
15
- responseShape?: ResponseShape;
16
- }
17
6
  export declare class RouteDispatcher<H> {
18
7
  private routes;
19
- register(method: string, path: string, handler: H, metadata?: RouteMetadata): void;
8
+ register(method: string, path: string, handler: H): void;
20
9
  match(method: string, url: string): {
21
10
  handler: H;
22
11
  params: Record<string, string>;
23
- metadata: RouteMetadata;
24
12
  } | null;
25
13
  /** Returns all HTTP methods registered for routes that match the given url pathname. */
26
14
  methodsFor(url: string): string[];
@@ -28,7 +16,6 @@ export declare class RouteDispatcher<H> {
28
16
  listRoutes(): Array<{
29
17
  method: string;
30
18
  path: string;
31
- metadata: RouteMetadata;
32
19
  }>;
33
20
  }
34
21
  //# sourceMappingURL=route-dispatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route-dispatcher.d.ts","sourceRoot":"","sources":["../../src/transport/route-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,aAAa,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AASD,qBAAa,eAAe,CAAC,CAAC;IAC5B,OAAO,CAAC,MAAM,CAAiD;IAE/D,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,GAAE,aAAkB,GAAG,IAAI;IAWtF,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,QAAQ,EAAE,aAAa,CAAA;KAAE,GAAG,IAAI;IAalH,wFAAwF;IACxF,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAcjC,uEAAuE;IACvE,UAAU,IAAI,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,aAAa,CAAA;KAAE,CAAC;CAS/E"}
1
+ {"version":3,"file":"route-dispatcher.d.ts","sourceRoot":"","sources":["../../src/transport/route-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,qBAAa,eAAe,CAAC,CAAC;IAC5B,OAAO,CAAC,MAAM,CAAiD;IAE/D,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI;IAWxD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,IAAI;IAazF,wFAAwF;IACxF,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAcjC,uEAAuE;IACvE,UAAU,IAAI,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAStD"}
@@ -1,17 +1,11 @@
1
1
  /**
2
- * Spec C1 RouteDispatcher — match incoming method+path to a handler.
3
- *
4
- * Routes declare their response shape (sync vs async-with-batchId) at
5
- * registration time via metadata; the dispatcher reads from registration
6
- * metadata, not from handler return shape. This lets the request pipeline
7
- * branch on shape without interpreting handler internals.
8
- *
9
- * Generic over the handler type so server and core both reuse the same
10
- * dispatcher mechanism with their own context types.
2
+ * RouteDispatcher — match an incoming method+path to a registered handler.
3
+ * Generic over the handler type so server and core reuse the same dispatcher
4
+ * with their own context types.
11
5
  */
12
6
  export class RouteDispatcher {
13
7
  routes = new Map();
14
- register(method, path, handler, metadata = {}) {
8
+ register(method, path, handler) {
15
9
  const paramNames = [];
16
10
  const regexStr = path.replace(/:(\w+)/g, (_, name) => {
17
11
  paramNames.push(name);
@@ -20,7 +14,7 @@ export class RouteDispatcher {
20
14
  const regex = new RegExp('^' + regexStr + '$');
21
15
  if (!this.routes.has(method))
22
16
  this.routes.set(method, new Map());
23
- this.routes.get(method).set(path, { handler, paramNames, regex, metadata });
17
+ this.routes.get(method).set(path, { handler, paramNames, regex });
24
18
  }
25
19
  match(method, url) {
26
20
  const pathname = url.split('?')[0];
@@ -29,7 +23,7 @@ export class RouteDispatcher {
29
23
  if (m) {
30
24
  const params = {};
31
25
  entry.paramNames.forEach((n, i) => { params[n] = m[i + 1]; });
32
- return { handler: entry.handler, params, metadata: entry.metadata };
26
+ return { handler: entry.handler, params };
33
27
  }
34
28
  }
35
29
  return null;
@@ -52,8 +46,8 @@ export class RouteDispatcher {
52
46
  listRoutes() {
53
47
  const manifest = [];
54
48
  for (const [method, entries] of this.routes) {
55
- for (const [path, entry] of entries) {
56
- manifest.push({ method, path, metadata: entry.metadata });
49
+ for (const [path] of entries) {
50
+ manifest.push({ method, path });
57
51
  }
58
52
  }
59
53
  return manifest;
@@ -1 +1 @@
1
- {"version":3,"file":"route-dispatcher.js","sourceRoot":"","sources":["../../src/transport/route-dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-dispatcher.js","sourceRoot":"","sources":["../../src/transport/route-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,OAAO,eAAe;IAClB,MAAM,GAAG,IAAI,GAAG,EAAsC,CAAC;IAE/D,QAAQ,CAAC,MAAc,EAAE,IAAY,EAAE,OAAU;QAC/C,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,EAAE;YAC3D,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,MAAc,EAAE,GAAW;QAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAyB,EAAE,CAAC;YACpF,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,EAAE,CAAC;gBACN,MAAM,MAAM,GAA2B,EAAE,CAAC;gBAC1C,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9D,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wFAAwF;IACxF,UAAU,CAAC,GAAW;QACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5C,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;gBAChC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,uEAAuE;IACvE,UAAU;QACR,MAAM,QAAQ,GAA4C,EAAE,CAAC;QAC7D,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5C,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
@@ -1,3 +1,2 @@
1
1
  export type BriefQualityPolicy = 'strict' | 'warn' | 'off' | undefined;
2
- export type BriefQualityWarning = 'outsourced_discovery' | 'brittle_line_anchors' | 'mixed_environment_actions' | 'bare_topic_noun' | 'no_done_condition' | 'no_output_contract' | 'tiny_brief' | 'huge_brief';
3
2
  //# sourceMappingURL=brief-quality-policy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brief-quality-policy.d.ts","sourceRoot":"","sources":["../../src/types/brief-quality-policy.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;AAEvE,MAAM,MAAM,mBAAmB,GAC3B,sBAAsB,GACtB,sBAAsB,GACtB,2BAA2B,GAC3B,iBAAiB,GACjB,mBAAmB,GACnB,oBAAoB,GACpB,YAAY,GACZ,YAAY,CAAC"}
1
+ {"version":3,"file":"brief-quality-policy.d.ts","sourceRoot":"","sources":["../../src/types/brief-quality-policy.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC"}
@@ -1,35 +1,4 @@
1
- import type { RunStatus } from '../providers/runner-types.js';
2
- import type { AgentType, SandboxPolicy, ToolMode, Effort, CostTier } from './task-spec.js';
3
- export interface AgentConfig {
4
- /**
5
- * v4.4: two runtimes, period.
6
- * - `claude`: in-process via @anthropic-ai/claude-agent-sdk. Reaches
7
- * Anthropic API by default; set `baseUrl` for any Anthropic-compatible proxy.
8
- * - `codex`: subprocess via `codex exec --json`. Reaches ChatGPT
9
- * subscription by default; set `baseUrl` + `apiKeyEnv` for OpenAI
10
- * proper or any OpenAI-compatible endpoint (Groq, DeepSeek, etc.).
11
- */
12
- type: 'claude' | 'codex';
13
- model: string;
14
- baseUrl?: string;
15
- apiKey?: string;
16
- apiKeyEnv?: string;
17
- inputCostPerMTok?: number;
18
- outputCostPerMTok?: number;
19
- timeoutMs?: number;
20
- sandboxPolicy?: SandboxPolicy;
21
- inputTokenSoftLimit?: number;
22
- }
23
- export interface FallbackOverride {
24
- role: 'implementer' | 'specReviewer' | 'qualityReviewer' | 'diffReviewer';
25
- loop: 'spec' | 'quality' | 'diff';
26
- attempt: number;
27
- assigned: AgentType;
28
- used: AgentType | 'none';
29
- reason: 'transport_failure' | 'not_configured';
30
- triggeringStatus?: RunStatus;
31
- bothUnavailable: boolean;
32
- }
1
+ import type { Effort, SandboxPolicy, CostTier } from './task-spec.js';
33
2
  export interface CodexProviderConfig {
34
3
  type: 'codex';
35
4
  model: string;
@@ -59,69 +28,5 @@ export interface ClaudeProviderConfig {
59
28
  inputTokenSoftLimit?: number;
60
29
  }
61
30
  export type ProviderConfig = CodexProviderConfig | ClaudeProviderConfig;
62
- export interface ResearchConfig {
63
- brave: {
64
- apiKeys: string[];
65
- timeoutMs: number;
66
- maxResultsPerQuery: number;
67
- perCallBackoffMs: number;
68
- };
69
- fetch: {
70
- maxRedirects: number;
71
- connectTimeoutMs: number;
72
- totalDeadlineMs: number;
73
- maxBodyBytes: number;
74
- allowPrivateNetwork: boolean;
75
- };
76
- builtinAdapters: {
77
- arxiv: boolean;
78
- semanticScholar: boolean;
79
- semanticScholarApiKey?: string;
80
- githubSearch: boolean;
81
- githubPat?: string;
82
- genericRss: boolean;
83
- };
84
- userSources: string[];
85
- fetchAllowlistExtra: string[];
86
- }
87
- export interface MultiModelConfig {
88
- agents: {
89
- standard: AgentConfig;
90
- complex: AgentConfig;
91
- };
92
- defaults: {
93
- timeoutMs: number;
94
- stallTimeoutMs: number;
95
- tools: ToolMode;
96
- sandboxPolicy: SandboxPolicy;
97
- largeResponseThresholdChars?: number;
98
- mainModel?: string;
99
- progressWatchdogEnabled?: boolean;
100
- thrashTurns?: number;
101
- thrashWallClockMs?: number;
102
- };
103
- diagnostics?: {
104
- log: boolean;
105
- logDir?: string;
106
- };
107
- server: {
108
- bind: string;
109
- port: number;
110
- auth: {
111
- tokenFile: string;
112
- };
113
- limits: {
114
- maxBodyBytes: number;
115
- batchTtlMs: number;
116
- idleProjectTimeoutMs: number;
117
- projectCap: number;
118
- maxBatchCacheSize: number;
119
- maxContextBlockBytes: number;
120
- maxContextBlocksPerProject: number;
121
- shutdownDrainMs: number;
122
- };
123
- autoUpdateSkills: boolean;
124
- };
125
- research: ResearchConfig;
126
- }
31
+ export type { MultiModelConfig, AgentConfig, ResearchConfig } from '../config/schema.js';
127
32
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEtE,MAAM,WAAW,mBAAmB;IAAG,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE;AAC1S,MAAM,WAAW,oBAAoB;IAAG,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE;AAC5S,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG,oBAAoB,CAAA;AAEvE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}