@kubuild/ai 0.8.0 → 0.8.2

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 (133) hide show
  1. package/dist/{chunk-3DRAVYU3.js → chunk-BNGDJQ73.js} +2 -2
  2. package/dist/chunk-BNGDJQ73.js.map +1 -0
  3. package/dist/{chunk-CCV6S4YN.js → chunk-I7HYQEMW.js} +1 -1
  4. package/dist/chunk-I7HYQEMW.js.map +1 -0
  5. package/dist/{chunk-ILLNRABB.js → chunk-LBSLMWKD.js} +1 -1
  6. package/dist/chunk-LBSLMWKD.js.map +1 -0
  7. package/dist/{chunk-ORA6BS4P.js → chunk-WDLMKCLQ.js} +1 -1
  8. package/dist/chunk-WDLMKCLQ.js.map +1 -0
  9. package/dist/client/ai-client.d.cts +85 -0
  10. package/dist/client/ai-client.d.cts.map +1 -0
  11. package/dist/client/ai-client.d.ts +1 -1
  12. package/dist/client/ai-client.d.ts.map +1 -1
  13. package/dist/client/index.cjs.map +1 -1
  14. package/dist/client/index.d.cts +2 -0
  15. package/dist/client/index.d.cts.map +1 -0
  16. package/dist/client/index.d.ts +1 -1
  17. package/dist/client/index.d.ts.map +1 -1
  18. package/dist/client/index.js +1 -1
  19. package/dist/core/document-outline.d.cts +60 -0
  20. package/dist/core/document-outline.d.cts.map +1 -0
  21. package/dist/core/index.d.cts +5 -0
  22. package/dist/core/index.d.cts.map +1 -0
  23. package/dist/core/index.d.ts +4 -4
  24. package/dist/core/index.d.ts.map +1 -1
  25. package/dist/core/messages.d.cts +18 -0
  26. package/dist/core/messages.d.cts.map +1 -0
  27. package/dist/core/messages.d.ts +1 -1
  28. package/dist/core/messages.d.ts.map +1 -1
  29. package/dist/core/normalizer.d.cts +9 -0
  30. package/dist/core/normalizer.d.cts.map +1 -0
  31. package/dist/core/prompt-compiler.d.cts +50 -0
  32. package/dist/core/prompt-compiler.d.cts.map +1 -0
  33. package/dist/core/prompt-compiler.d.ts +1 -1
  34. package/dist/core/prompt-compiler.d.ts.map +1 -1
  35. package/dist/index.cjs.map +1 -1
  36. package/dist/index.d.cts +3 -0
  37. package/dist/index.d.cts.map +1 -0
  38. package/dist/index.d.ts +2 -2
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +2 -2
  41. package/dist/react/index.cjs.map +1 -1
  42. package/dist/react/index.d.cts +4 -0
  43. package/dist/react/index.d.cts.map +1 -0
  44. package/dist/react/index.d.ts +3 -3
  45. package/dist/react/index.d.ts.map +1 -1
  46. package/dist/react/index.js +1 -1
  47. package/dist/react/index.js.map +1 -1
  48. package/dist/react/use-ai-agent.d.cts +52 -0
  49. package/dist/react/use-ai-agent.d.cts.map +1 -0
  50. package/dist/react/use-ai-agent.d.ts +2 -2
  51. package/dist/react/use-ai-agent.d.ts.map +1 -1
  52. package/dist/react/use-ai-chat.d.cts +69 -0
  53. package/dist/react/use-ai-chat.d.cts.map +1 -0
  54. package/dist/react/use-ai-chat.d.ts +2 -2
  55. package/dist/react/use-ai-chat.d.ts.map +1 -1
  56. package/dist/react/use-ai-generator.d.cts +20 -0
  57. package/dist/react/use-ai-generator.d.cts.map +1 -0
  58. package/dist/react/use-ai-generator.d.ts +2 -2
  59. package/dist/react/use-ai-generator.d.ts.map +1 -1
  60. package/dist/server/adapters/anthropic.d.cts +30 -0
  61. package/dist/server/adapters/anthropic.d.cts.map +1 -0
  62. package/dist/server/adapters/anthropic.d.ts +1 -1
  63. package/dist/server/adapters/anthropic.d.ts.map +1 -1
  64. package/dist/server/adapters/base.d.cts +2 -0
  65. package/dist/server/adapters/base.d.cts.map +1 -0
  66. package/dist/server/adapters/base.d.ts +1 -1
  67. package/dist/server/adapters/base.d.ts.map +1 -1
  68. package/dist/server/adapters/custom.d.cts +18 -0
  69. package/dist/server/adapters/custom.d.cts.map +1 -0
  70. package/dist/server/adapters/custom.d.ts +1 -1
  71. package/dist/server/adapters/custom.d.ts.map +1 -1
  72. package/dist/server/adapters/gemini.d.cts +22 -0
  73. package/dist/server/adapters/gemini.d.cts.map +1 -0
  74. package/dist/server/adapters/gemini.d.ts +1 -1
  75. package/dist/server/adapters/gemini.d.ts.map +1 -1
  76. package/dist/server/adapters/index.cjs.map +1 -1
  77. package/dist/server/adapters/index.d.cts +6 -0
  78. package/dist/server/adapters/index.d.cts.map +1 -0
  79. package/dist/server/adapters/index.d.ts +5 -5
  80. package/dist/server/adapters/index.d.ts.map +1 -1
  81. package/dist/server/adapters/index.js +2 -2
  82. package/dist/server/adapters/openai.d.cts +51 -0
  83. package/dist/server/adapters/openai.d.cts.map +1 -0
  84. package/dist/server/adapters/openai.d.ts +1 -1
  85. package/dist/server/adapters/openai.d.ts.map +1 -1
  86. package/dist/server/adapters/stream-utils.d.cts +12 -0
  87. package/dist/server/adapters/stream-utils.d.cts.map +1 -0
  88. package/dist/server/agent.d.cts +59 -0
  89. package/dist/server/agent.d.cts.map +1 -0
  90. package/dist/server/agent.d.ts +3 -3
  91. package/dist/server/agent.d.ts.map +1 -1
  92. package/dist/server/engine.d.cts +69 -0
  93. package/dist/server/engine.d.cts.map +1 -0
  94. package/dist/server/engine.d.ts +1 -1
  95. package/dist/server/engine.d.ts.map +1 -1
  96. package/dist/server/handler.d.cts +111 -0
  97. package/dist/server/handler.d.cts.map +1 -0
  98. package/dist/server/handler.d.ts +3 -3
  99. package/dist/server/handler.d.ts.map +1 -1
  100. package/dist/server/index.cjs.map +1 -1
  101. package/dist/server/index.d.cts +6 -0
  102. package/dist/server/index.d.cts.map +1 -0
  103. package/dist/server/index.d.ts +5 -5
  104. package/dist/server/index.d.ts.map +1 -1
  105. package/dist/server/index.js +3 -3
  106. package/dist/server/index.js.map +1 -1
  107. package/dist/server/tools/helpers.d.cts +66 -0
  108. package/dist/server/tools/helpers.d.cts.map +1 -0
  109. package/dist/server/tools/helpers.d.ts +2 -2
  110. package/dist/server/tools/helpers.d.ts.map +1 -1
  111. package/dist/server/tools/index.d.cts +25 -0
  112. package/dist/server/tools/index.d.cts.map +1 -0
  113. package/dist/server/tools/index.d.ts +6 -6
  114. package/dist/server/tools/index.d.ts.map +1 -1
  115. package/dist/server/tools/read-tools.d.cts +3 -0
  116. package/dist/server/tools/read-tools.d.cts.map +1 -0
  117. package/dist/server/tools/read-tools.d.ts +1 -1
  118. package/dist/server/tools/read-tools.d.ts.map +1 -1
  119. package/dist/server/tools/types.d.cts +51 -0
  120. package/dist/server/tools/types.d.cts.map +1 -0
  121. package/dist/server/tools/types.d.ts +1 -1
  122. package/dist/server/tools/types.d.ts.map +1 -1
  123. package/dist/server/tools/write-tools.d.cts +3 -0
  124. package/dist/server/tools/write-tools.d.cts.map +1 -0
  125. package/dist/server/tools/write-tools.d.ts +1 -1
  126. package/dist/server/tools/write-tools.d.ts.map +1 -1
  127. package/dist/types.d.cts +463 -0
  128. package/dist/types.d.cts.map +1 -0
  129. package/package.json +49 -24
  130. package/dist/chunk-3DRAVYU3.js.map +0 -1
  131. package/dist/chunk-CCV6S4YN.js.map +0 -1
  132. package/dist/chunk-ILLNRABB.js.map +0 -1
  133. package/dist/chunk-ORA6BS4P.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.d.cts","sourceRoot":"","sources":["../../../src/server/adapters/openai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EAGzB,MAAM,gBAAgB,CAAC;AAIxB,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAwED,qBAAa,aAAc,YAAW,iBAAiB;IACrD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,aAAa,QAAQ;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAC,CAAyB;gBAEnC,OAAO,EAAE,oBAAoB;IAWzC;;;;;;;;OAQG;IACH,OAAO,CAAC,UAAU;IAuClB,OAAO,CAAC,aAAa;IAcrB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;YAoCH,IAAI;IAsBZ,QAAQ,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAwCnF;;;;;;;;;;OAUG;IACI,cAAc,CACnB,MAAM,EAAE,wBAAwB,GAC/B,cAAc,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAAI,CAAC;CA8E1D"}
@@ -1,4 +1,4 @@
1
- import type { AiProviderAdapter, AiProviderGenerateParams, AiProviderGenerateResult } from '../../types';
1
+ import type { AiProviderAdapter, AiProviderGenerateParams, AiProviderGenerateResult } from '../../types.js';
2
2
  export interface OpenAiAdapterOptions {
3
3
  apiKey: string;
4
4
  model?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/openai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EAGzB,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAwED,qBAAa,aAAc,YAAW,iBAAiB;IACrD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,aAAa,QAAQ;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAC,CAAyB;gBAEnC,OAAO,EAAE,oBAAoB;IAWzC;;;;;;;;OAQG;IACH,OAAO,CAAC,UAAU;IAuClB,OAAO,CAAC,aAAa;IAcrB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;YAoCH,IAAI;IAsBZ,QAAQ,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAwCnF;;;;;;;;;;OAUG;IACI,cAAc,CACnB,MAAM,EAAE,wBAAwB,GAC/B,cAAc,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAAI,CAAC;CA8E1D"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/openai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EAGzB,MAAM,gBAAgB,CAAC;AAIxB,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAwED,qBAAa,aAAc,YAAW,iBAAiB;IACrD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,aAAa,QAAQ;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAC,CAAyB;gBAEnC,OAAO,EAAE,oBAAoB;IAWzC;;;;;;;;OAQG;IACH,OAAO,CAAC,UAAU;IAuClB,OAAO,CAAC,aAAa;IAcrB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;YAoCH,IAAI;IAsBZ,QAAQ,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAwCnF;;;;;;;;;;OAUG;IACI,cAAc,CACnB,MAAM,EAAE,wBAAwB,GAC/B,cAAc,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAAI,CAAC;CA8E1D"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Shared SSE (server-sent events) frame reader for provider adapters that support
3
+ * token-level streaming (STORA-515) — OpenAI, Anthropic and Gemini all expose their
4
+ * streaming APIs as `data: <json>\n\n` frames, so every adapter reuses this single
5
+ * low-level reader instead of re-implementing buffering/decoding three times.
6
+ *
7
+ * Yields the raw string payload of each `data:` line (already trimmed), in arrival
8
+ * order. Callers are responsible for `JSON.parse`-ing (or ignoring sentinel values
9
+ * like OpenAI's `[DONE]`) and for interpreting provider-specific event shapes.
10
+ */
11
+ export declare function readSseDataLines(body: ReadableStream<Uint8Array>, signal?: AbortSignal): AsyncGenerator<string, void, void>;
12
+ //# sourceMappingURL=stream-utils.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-utils.d.cts","sourceRoot":"","sources":["../../../src/server/adapters/stream-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAuB,gBAAgB,CACrC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CA8BpC"}
@@ -0,0 +1,59 @@
1
+ import type { AiAgentRequest, AiAgentRunResult, AiStreamEvent, KubuildAiEngineOptions } from '../types.cjs';
2
+ import type { KubuildAiEngine } from './engine.cjs';
3
+ import { type AgentTool } from './tools/index.cjs';
4
+ export interface KubuildAiAgentOptions extends KubuildAiEngineOptions {
5
+ /**
6
+ * Engine used by the `insert_section` tool. Optional: without it the agent still runs,
7
+ * and `insert_section` returns a "not available" tool error telling the model to build
8
+ * the section with `insert_component` instead.
9
+ */
10
+ engine?: KubuildAiEngine;
11
+ /** Overrides the default tool set (read + write document tools). */
12
+ tools?: AgentTool[];
13
+ }
14
+ /**
15
+ * The page-editing agent (STORA-530).
16
+ *
17
+ * Unlike every `KubuildAiEngine` method, which is a single request/response, this runs a
18
+ * loop: the model reads the page through tools, makes a surgical change through tools, and
19
+ * stops. The document it mutates is a private **snapshot** — the run's output is an ordered
20
+ * list of `AgentOp`s that the editor replays through its own store actions, so an agent
21
+ * edit lands in the command engine and the undo stack exactly like a manual edit.
22
+ *
23
+ * Nothing here ever touches the user's live document.
24
+ */
25
+ export declare class KubuildAiAgent {
26
+ private options;
27
+ private catalog;
28
+ private tools;
29
+ constructor(options: KubuildAiAgentOptions);
30
+ get adapterName(): string;
31
+ refreshCatalog(): void;
32
+ private log;
33
+ private findTool;
34
+ /**
35
+ * Runs one tool call against the current snapshot.
36
+ *
37
+ * An unknown tool name is answered with a normal (failed) tool result rather than an
38
+ * exception, for the same reason bad arguments are: it gives the model a chance to pick a
39
+ * real tool on the next step instead of killing the run.
40
+ */
41
+ private executeToolCall;
42
+ /**
43
+ * Executes one agent turn, streaming progress as `AiStreamEvent`s and ending with a
44
+ * terminal `agent-complete` (or `error`) event.
45
+ *
46
+ * The loop stops as soon as the model returns a turn with no tool calls — that final
47
+ * message is the summary shown to the user. It also stops at `maxSteps` (cost guard) or
48
+ * on abort, and reports which of those happened via `stoppedBy` so the UI can say
49
+ * "stopped after N steps" rather than pretending the work is finished.
50
+ */
51
+ run(request: AiAgentRequest, context?: {
52
+ signal?: AbortSignal;
53
+ }): AsyncIterable<AiStreamEvent>;
54
+ /** Non-streaming convenience wrapper — drains `run()` and returns its terminal result. */
55
+ execute(request: AiAgentRequest, context?: {
56
+ signal?: AbortSignal;
57
+ }): Promise<AiAgentRunResult>;
58
+ }
59
+ //# sourceMappingURL=agent.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.cts","sourceRoot":"","sources":["../../src/server/agent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,cAAc,EACd,gBAAgB,EAIhB,aAAa,EAEb,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAOrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAA0C,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE1F,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IACnE;;;;OAIG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,oEAAoE;IACpE,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;CACrB;AAYD;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,KAAK,CAAc;gBAEf,OAAO,EAAE,qBAAqB;IAgB1C,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,cAAc,IAAI,IAAI;IAItB,OAAO,CAAC,GAAG;IAQX,OAAO,CAAC,QAAQ;IAIhB;;;;;;OAMG;YACW,eAAe;IA2F7B;;;;;;;;OAQG;IACI,GAAG,CACR,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,aAAa,CAAC,aAAa,CAAC;IA0K/B,0FAA0F;IACpF,OAAO,CACX,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,gBAAgB,CAAC;CAiB7B"}
@@ -1,6 +1,6 @@
1
- import type { AiAgentRequest, AiAgentRunResult, AiStreamEvent, KubuildAiEngineOptions } from '../types';
2
- import type { KubuildAiEngine } from './engine';
3
- import { type AgentTool } from './tools';
1
+ import type { AiAgentRequest, AiAgentRunResult, AiStreamEvent, KubuildAiEngineOptions } from '../types.js';
2
+ import type { KubuildAiEngine } from './engine.js';
3
+ import { type AgentTool } from './tools/index.js';
4
4
  export interface KubuildAiAgentOptions extends KubuildAiEngineOptions {
5
5
  /**
6
6
  * Engine used by the `insert_section` tool. Optional: without it the agent still runs,
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/server/agent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,cAAc,EACd,gBAAgB,EAIhB,aAAa,EAEb,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAOlB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAA0C,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAEjF,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IACnE;;;;OAIG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,oEAAoE;IACpE,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;CACrB;AAYD;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,KAAK,CAAc;gBAEf,OAAO,EAAE,qBAAqB;IAgB1C,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,cAAc,IAAI,IAAI;IAItB,OAAO,CAAC,GAAG;IAQX,OAAO,CAAC,QAAQ;IAIhB;;;;;;OAMG;YACW,eAAe;IA2F7B;;;;;;;;OAQG;IACI,GAAG,CACR,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,aAAa,CAAC,aAAa,CAAC;IA0K/B,0FAA0F;IACpF,OAAO,CACX,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,gBAAgB,CAAC;CAiB7B"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/server/agent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,cAAc,EACd,gBAAgB,EAIhB,aAAa,EAEb,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAOrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAA0C,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE1F,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IACnE;;;;OAIG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,oEAAoE;IACpE,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;CACrB;AAYD;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,KAAK,CAAc;gBAEf,OAAO,EAAE,qBAAqB;IAgB1C,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,cAAc,IAAI,IAAI;IAItB,OAAO,CAAC,GAAG;IAQX,OAAO,CAAC,QAAQ;IAIhB;;;;;;OAMG;YACW,eAAe;IA2F7B;;;;;;;;OAQG;IACI,GAAG,CACR,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,aAAa,CAAC,aAAa,CAAC;IA0K/B,0FAA0F;IACpF,OAAO,CACX,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,gBAAgB,CAAC;CAiB7B"}
@@ -0,0 +1,69 @@
1
+ import { PageDocument, Node } from '@kubuild/schema';
2
+ import type { KubuildAiEngineOptions, AiGeneratePageRequest, AiGenerateSectionRequest, AiRefactorNodeRequest, AiChatRequest, AiChatResponse, AiGenerateResponse, AiStreamEvent, PagePlan, AiPlanPageRequest } from '../types.cjs';
3
+ export declare class KubuildAiEngine {
4
+ private options;
5
+ private catalog;
6
+ constructor(options: KubuildAiEngineOptions);
7
+ get adapterName(): string;
8
+ refreshCatalog(): void;
9
+ private log;
10
+ generatePage(request: AiGeneratePageRequest, context?: {
11
+ signal?: AbortSignal;
12
+ }): Promise<AiGenerateResponse<PageDocument>>;
13
+ /**
14
+ * Non-streaming counterpart of `streamPage` for a pre-approved plan: drains the same
15
+ * progressive pipeline and returns the assembled document, so both paths produce the
16
+ * same sections for the same plan.
17
+ */
18
+ private generatePageFromPlan;
19
+ generateSection(request: AiGenerateSectionRequest, context?: {
20
+ signal?: AbortSignal;
21
+ }): Promise<AiGenerateResponse<Node>>;
22
+ refactorNode(request: AiRefactorNodeRequest, context?: {
23
+ signal?: AbortSignal;
24
+ }): Promise<AiGenerateResponse<Node>>;
25
+ private buildPlanPrompts;
26
+ planPage(request: AiPlanPageRequest, context?: {
27
+ signal?: AbortSignal;
28
+ }): Promise<AiGenerateResponse<PagePlan>>;
29
+ /**
30
+ * Progressive Section Streaming Generator.
31
+ * Emits structured SSE events: status -> metadata -> section (one by one) -> complete.
32
+ */
33
+ streamPage(request: AiGeneratePageRequest, context?: {
34
+ signal?: AbortSignal;
35
+ }): AsyncIterable<AiStreamEvent>;
36
+ /**
37
+ * Builds the system/user prompt pair shared by `chat()` and `chatStream()` — the exact
38
+ * same document/selection grounding is used regardless of whether the response is
39
+ * streamed token-by-token or returned as a single request/response (STORA-515).
40
+ */
41
+ private buildChatPrompt;
42
+ /**
43
+ * Conversational Assistant / Q&A.
44
+ * Can discuss web design, explain KUBUILD components, review current page,
45
+ * suggest improvements, or recommend copywriting.
46
+ *
47
+ * Single request/response — unchanged since before STORA-515. See `chatStream()` for
48
+ * the token-level streaming variant.
49
+ */
50
+ chat(request: AiChatRequest, context?: {
51
+ signal?: AbortSignal;
52
+ }): Promise<AiGenerateResponse<AiChatResponse>>;
53
+ /**
54
+ * Token-level streaming variant of `chat()` (STORA-515). Emits `chat-chunk` events as
55
+ * partial text arrives, then a terminal `chat-complete` event with the fully assembled
56
+ * assistant message — the same `AsyncIterable<AiStreamEvent>` mechanism `streamPage`
57
+ * already uses, so it can be piped over SSE by `createAiHandler`/consumed by
58
+ * `KubuildAiClient` with no separate transport.
59
+ *
60
+ * When the configured adapter does not implement `generateStream` (e.g. the generic
61
+ * custom/HTTP adapter), this falls back to a single non-streaming `generate()` call and
62
+ * emits the entire response as one `chat-chunk`, so callers never see an error just
63
+ * because the underlying provider can't stream — only a less granular update cadence.
64
+ */
65
+ chatStream(request: AiChatRequest, context?: {
66
+ signal?: AbortSignal;
67
+ }): AsyncIterable<AiStreamEvent>;
68
+ }
69
+ //# sourceMappingURL=engine.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.cts","sourceRoot":"","sources":["../../src/server/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAoE,MAAM,iBAAiB,CAAC;AACvH,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,EACb,cAAc,EAEd,kBAAkB,EAElB,aAAa,EACb,QAAQ,EAER,iBAAiB,EAElB,MAAM,aAAa,CAAC;AAoErB,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,OAAO,CAA4B;gBAE/B,OAAO,EAAE,sBAAsB;IAQ3C,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,cAAc,IAAI,IAAI;IAItB,OAAO,CAAC,GAAG;IASL,YAAY,CAChB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAqF5C;;;;OAIG;YACW,oBAAoB;IAyB5B,eAAe,CACnB,OAAO,EAAE,wBAAwB,EACjC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IA0D9B,YAAY,CAChB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAkDpC,OAAO,CAAC,gBAAgB;IAkDlB,QAAQ,CACZ,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAwDxC;;;OAGG;IACI,UAAU,CACf,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,aAAa,CAAC,aAAa,CAAC;IAoL/B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IA8CvB;;;;;;;OAOG;IACG,IAAI,CACR,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAsD9C;;;;;;;;;;;OAWG;IACI,UAAU,CACf,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,aAAa,CAAC,aAAa,CAAC;CA4EhC"}
@@ -1,5 +1,5 @@
1
1
  import { PageDocument, Node } from '@kubuild/schema';
2
- import type { KubuildAiEngineOptions, AiGeneratePageRequest, AiGenerateSectionRequest, AiRefactorNodeRequest, AiChatRequest, AiChatResponse, AiGenerateResponse, AiStreamEvent, PagePlan, AiPlanPageRequest } from '../types';
2
+ import type { KubuildAiEngineOptions, AiGeneratePageRequest, AiGenerateSectionRequest, AiRefactorNodeRequest, AiChatRequest, AiChatResponse, AiGenerateResponse, AiStreamEvent, PagePlan, AiPlanPageRequest } from '../types.js';
3
3
  export declare class KubuildAiEngine {
4
4
  private options;
5
5
  private catalog;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/server/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAoE,MAAM,iBAAiB,CAAC;AACvH,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,EACb,cAAc,EAEd,kBAAkB,EAElB,aAAa,EACb,QAAQ,EAER,iBAAiB,EAElB,MAAM,UAAU,CAAC;AAoElB,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,OAAO,CAA4B;gBAE/B,OAAO,EAAE,sBAAsB;IAQ3C,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,cAAc,IAAI,IAAI;IAItB,OAAO,CAAC,GAAG;IASL,YAAY,CAChB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAqF5C;;;;OAIG;YACW,oBAAoB;IAyB5B,eAAe,CACnB,OAAO,EAAE,wBAAwB,EACjC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IA0D9B,YAAY,CAChB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAkDpC,OAAO,CAAC,gBAAgB;IAkDlB,QAAQ,CACZ,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAwDxC;;;OAGG;IACI,UAAU,CACf,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,aAAa,CAAC,aAAa,CAAC;IAoL/B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IA8CvB;;;;;;;OAOG;IACG,IAAI,CACR,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAsD9C;;;;;;;;;;;OAWG;IACI,UAAU,CACf,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,aAAa,CAAC,aAAa,CAAC;CA4EhC"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/server/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAoE,MAAM,iBAAiB,CAAC;AACvH,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,EACb,cAAc,EAEd,kBAAkB,EAElB,aAAa,EACb,QAAQ,EAER,iBAAiB,EAElB,MAAM,aAAa,CAAC;AAoErB,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,OAAO,CAA4B;gBAE/B,OAAO,EAAE,sBAAsB;IAQ3C,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,cAAc,IAAI,IAAI;IAItB,OAAO,CAAC,GAAG;IASL,YAAY,CAChB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAqF5C;;;;OAIG;YACW,oBAAoB;IAyB5B,eAAe,CACnB,OAAO,EAAE,wBAAwB,EACjC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IA0D9B,YAAY,CAChB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAkDpC,OAAO,CAAC,gBAAgB;IAkDlB,QAAQ,CACZ,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAwDxC;;;OAGG;IACI,UAAU,CACf,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,aAAa,CAAC,aAAa,CAAC;IAoL/B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IA8CvB;;;;;;;OAOG;IACG,IAAI,CACR,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAsD9C;;;;;;;;;;;OAWG;IACI,UAAU,CACf,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,aAAa,CAAC,aAAa,CAAC;CA4EhC"}
@@ -0,0 +1,111 @@
1
+ import type { KubuildAiEngine } from './engine.cjs';
2
+ import type { KubuildAiAgent } from './agent.cjs';
3
+ import type { PageDocument } from '@kubuild/schema';
4
+ import type { AiGeneratePageRequest, AiRefactorNodeRequest, AiChatMessage, AiGenerateResponse, AiGenerationMode, PagePlan } from '../types.cjs';
5
+ /** Default cap for client-supplied `instructions` (characters). */
6
+ export declare const DEFAULT_MAX_CLIENT_INSTRUCTIONS_LENGTH = 4000;
7
+ export interface AiApiRequestBody {
8
+ mode?: AiGenerationMode;
9
+ prompt?: string;
10
+ stylePreference?: string;
11
+ tone?: string;
12
+ locale?: string;
13
+ metadata?: AiGeneratePageRequest['metadata'];
14
+ targetSectionType?: string;
15
+ parentContext?: string;
16
+ node?: AiRefactorNodeRequest['node'];
17
+ instruction?: string;
18
+ stream?: boolean;
19
+ messages?: AiChatMessage[];
20
+ currentDocument?: PageDocument;
21
+ selectedNodeId?: string;
22
+ /** Prior conversation history from chat mode so generator keeps full context. */
23
+ conversationHistory?: AiChatMessage[];
24
+ sectionCount?: number | {
25
+ min?: number;
26
+ max?: number;
27
+ };
28
+ plan?: PagePlan;
29
+ /** Agent mode (STORA-530) — the snapshot the agent reads and patches. */
30
+ document?: PageDocument;
31
+ maxSteps?: number;
32
+ /**
33
+ * Client-supplied extra instructions. Appended AFTER the engine's built-in system prompt
34
+ * (never replacing it), length-capped, and ignored entirely when the handler was created
35
+ * with `allowClientInstructions: false`.
36
+ */
37
+ instructions?: string;
38
+ /** @deprecated Alias of `instructions`, accepted for older clients. Same rules apply. */
39
+ systemPrompt?: string;
40
+ }
41
+ /** Controls how client-supplied `instructions` are accepted by the handler. */
42
+ export interface ClientInstructionsOptions {
43
+ /**
44
+ * Whether to honour `instructions` (and its deprecated alias `systemPrompt`) from the
45
+ * request body. Default: `true`. Set `false` on endpoints where end users — not your own
46
+ * editor build — can call the handler and you don't want them steering the model.
47
+ */
48
+ allowClientInstructions?: boolean;
49
+ /**
50
+ * Maximum accepted length (characters) of client instructions; longer text is truncated.
51
+ * Default: 4000.
52
+ */
53
+ maxClientInstructionsLength?: number;
54
+ }
55
+ /**
56
+ * Extracts the client instructions from a request body, applying the handler's
57
+ * allow/cap options. Returns `undefined` when there is nothing (allowed) to append.
58
+ */
59
+ export declare function resolveClientInstructions(payload: AiApiRequestBody, options?: ClientInstructionsOptions): string | undefined;
60
+ export declare function processAiRequest(engine: KubuildAiEngine, body: unknown, signal?: AbortSignal, agent?: KubuildAiAgent, instructionsOptions?: ClientInstructionsOptions): Promise<{
61
+ status: number;
62
+ response: AiGenerateResponse<unknown>;
63
+ }>;
64
+ /**
65
+ * Options for {@link createAiHandler} (STORA-519).
66
+ */
67
+ export interface CreateAiHandlerOptions extends ClientInstructionsOptions {
68
+ /**
69
+ * Enables agent mode (STORA-530) on this endpoint. Without it, `mode: 'agent'` requests
70
+ * are answered with a 501 rather than silently falling back to chat.
71
+ */
72
+ agent?: KubuildAiAgent;
73
+ /**
74
+ * Optional hook invoked with the raw incoming `Request` before it ever reaches the
75
+ * engine/provider — the place to plug in host-owned auth and/or rate-limiting without
76
+ * forking the handler.
77
+ *
78
+ * - Return a `Response` (or a Promise resolving to one) to reject/short-circuit the
79
+ * request — e.g. `new Response(..., { status: 401 })` or `429` — that response is
80
+ * returned as-is and the engine/provider is never invoked.
81
+ * - Return `void`/`undefined` (or a Promise resolving to that) to allow the request to
82
+ * continue through the normal handler logic unchanged.
83
+ *
84
+ * Omitting this option entirely preserves the exact pre-STORA-519 behavior.
85
+ */
86
+ beforeRequest?: (request: Request) => Promise<Response | void> | Response | void;
87
+ }
88
+ /**
89
+ * Creates a standard Web Fetch API Request handler with optional SSE streaming support.
90
+ *
91
+ * Plug-and-play for Next.js App Router (route.ts), SvelteKit, Remix, Astro, Bun, etc.
92
+ *
93
+ * Example:
94
+ * ```ts
95
+ * export const POST = createAiHandler(engine);
96
+ * ```
97
+ *
98
+ * Example with an auth/rate-limit hook (STORA-519):
99
+ * ```ts
100
+ * export const POST = createAiHandler(engine, {
101
+ * beforeRequest: async (request) => {
102
+ * if (!isAuthorized(request)) {
103
+ * return new Response('Unauthorized', { status: 401 });
104
+ * }
105
+ * // returning nothing lets the request proceed as normal
106
+ * },
107
+ * });
108
+ * ```
109
+ */
110
+ export declare function createAiHandler(engine: KubuildAiEngine, options?: CreateAiHandlerOptions): (request: Request) => Promise<Response>;
111
+ //# sourceMappingURL=handler.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.cts","sourceRoot":"","sources":["../../src/server/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EACV,qBAAqB,EAErB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAEhB,QAAQ,EACT,MAAM,aAAa,CAAC;AAGrB,mEAAmE;AACnE,eAAO,MAAM,sCAAsC,OAAO,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC7C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,+EAA+E;AAC/E,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,yBAAyB,GAClC,MAAM,GAAG,SAAS,CAcpB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,OAAO,EACb,MAAM,CAAC,EAAE,WAAW,EACpB,KAAK,CAAC,EAAE,cAAc,EACtB,mBAAmB,CAAC,EAAE,yBAAyB,GAC9C,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC,CAyMpE;AAsDD;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,yBAAyB;IACvE;;;OAGG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;IAEvB;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC;CAClF;AA8CD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,sBAAsB,IACzE,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CA6KnD"}
@@ -1,7 +1,7 @@
1
- import type { KubuildAiEngine } from './engine';
2
- import type { KubuildAiAgent } from './agent';
1
+ import type { KubuildAiEngine } from './engine.js';
2
+ import type { KubuildAiAgent } from './agent.js';
3
3
  import type { PageDocument } from '@kubuild/schema';
4
- import type { AiGeneratePageRequest, AiRefactorNodeRequest, AiChatMessage, AiGenerateResponse, AiGenerationMode, PagePlan } from '../types';
4
+ import type { AiGeneratePageRequest, AiRefactorNodeRequest, AiChatMessage, AiGenerateResponse, AiGenerationMode, PagePlan } from '../types.js';
5
5
  /** Default cap for client-supplied `instructions` (characters). */
6
6
  export declare const DEFAULT_MAX_CLIENT_INSTRUCTIONS_LENGTH = 4000;
7
7
  export interface AiApiRequestBody {
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/server/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EACV,qBAAqB,EAErB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAEhB,QAAQ,EACT,MAAM,UAAU,CAAC;AAGlB,mEAAmE;AACnE,eAAO,MAAM,sCAAsC,OAAO,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC7C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,+EAA+E;AAC/E,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,yBAAyB,GAClC,MAAM,GAAG,SAAS,CAcpB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,OAAO,EACb,MAAM,CAAC,EAAE,WAAW,EACpB,KAAK,CAAC,EAAE,cAAc,EACtB,mBAAmB,CAAC,EAAE,yBAAyB,GAC9C,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC,CAyMpE;AAsDD;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,yBAAyB;IACvE;;;OAGG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;IAEvB;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC;CAClF;AA8CD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,sBAAsB,IACzE,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CA6KnD"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/server/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EACV,qBAAqB,EAErB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAEhB,QAAQ,EACT,MAAM,aAAa,CAAC;AAGrB,mEAAmE;AACnE,eAAO,MAAM,sCAAsC,OAAO,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC7C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,+EAA+E;AAC/E,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,yBAAyB,GAClC,MAAM,GAAG,SAAS,CAcpB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,OAAO,EACb,MAAM,CAAC,EAAE,WAAW,EACpB,KAAK,CAAC,EAAE,cAAc,EACtB,mBAAmB,CAAC,EAAE,yBAAyB,GAC9C,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC,CAyMpE;AAsDD;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,yBAAyB;IACvE;;;OAGG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;IAEvB;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC;CAClF;AA8CD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,sBAAsB,IACzE,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CA6KnD"}