@kubuild/ai 0.8.1 → 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.
- package/dist/{chunk-3DRAVYU3.js → chunk-BNGDJQ73.js} +2 -2
- package/dist/chunk-BNGDJQ73.js.map +1 -0
- package/dist/{chunk-CCV6S4YN.js → chunk-I7HYQEMW.js} +1 -1
- package/dist/chunk-I7HYQEMW.js.map +1 -0
- package/dist/{chunk-ILLNRABB.js → chunk-LBSLMWKD.js} +1 -1
- package/dist/chunk-LBSLMWKD.js.map +1 -0
- package/dist/{chunk-ORA6BS4P.js → chunk-WDLMKCLQ.js} +1 -1
- package/dist/chunk-WDLMKCLQ.js.map +1 -0
- package/dist/client/ai-client.d.cts +85 -0
- package/dist/client/ai-client.d.cts.map +1 -0
- package/dist/client/ai-client.d.ts +1 -1
- package/dist/client/ai-client.d.ts.map +1 -1
- package/dist/client/index.cjs.map +1 -1
- package/dist/client/index.d.cts +2 -0
- package/dist/client/index.d.cts.map +1 -0
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -1
- package/dist/core/document-outline.d.cts +60 -0
- package/dist/core/document-outline.d.cts.map +1 -0
- package/dist/core/index.d.cts +5 -0
- package/dist/core/index.d.cts.map +1 -0
- package/dist/core/index.d.ts +4 -4
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/messages.d.cts +18 -0
- package/dist/core/messages.d.cts.map +1 -0
- package/dist/core/messages.d.ts +1 -1
- package/dist/core/messages.d.ts.map +1 -1
- package/dist/core/normalizer.d.cts +9 -0
- package/dist/core/normalizer.d.cts.map +1 -0
- package/dist/core/prompt-compiler.d.cts +50 -0
- package/dist/core/prompt-compiler.d.cts.map +1 -0
- package/dist/core/prompt-compiler.d.ts +1 -1
- package/dist/core/prompt-compiler.d.ts.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +4 -0
- package/dist/react/index.d.cts.map +1 -0
- package/dist/react/index.d.ts +3 -3
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react/use-ai-agent.d.cts +52 -0
- package/dist/react/use-ai-agent.d.cts.map +1 -0
- package/dist/react/use-ai-agent.d.ts +2 -2
- package/dist/react/use-ai-agent.d.ts.map +1 -1
- package/dist/react/use-ai-chat.d.cts +69 -0
- package/dist/react/use-ai-chat.d.cts.map +1 -0
- package/dist/react/use-ai-chat.d.ts +2 -2
- package/dist/react/use-ai-chat.d.ts.map +1 -1
- package/dist/react/use-ai-generator.d.cts +20 -0
- package/dist/react/use-ai-generator.d.cts.map +1 -0
- package/dist/react/use-ai-generator.d.ts +2 -2
- package/dist/react/use-ai-generator.d.ts.map +1 -1
- package/dist/server/adapters/anthropic.d.cts +30 -0
- package/dist/server/adapters/anthropic.d.cts.map +1 -0
- package/dist/server/adapters/anthropic.d.ts +1 -1
- package/dist/server/adapters/anthropic.d.ts.map +1 -1
- package/dist/server/adapters/base.d.cts +2 -0
- package/dist/server/adapters/base.d.cts.map +1 -0
- package/dist/server/adapters/base.d.ts +1 -1
- package/dist/server/adapters/base.d.ts.map +1 -1
- package/dist/server/adapters/custom.d.cts +18 -0
- package/dist/server/adapters/custom.d.cts.map +1 -0
- package/dist/server/adapters/custom.d.ts +1 -1
- package/dist/server/adapters/custom.d.ts.map +1 -1
- package/dist/server/adapters/gemini.d.cts +22 -0
- package/dist/server/adapters/gemini.d.cts.map +1 -0
- package/dist/server/adapters/gemini.d.ts +1 -1
- package/dist/server/adapters/gemini.d.ts.map +1 -1
- package/dist/server/adapters/index.cjs.map +1 -1
- package/dist/server/adapters/index.d.cts +6 -0
- package/dist/server/adapters/index.d.cts.map +1 -0
- package/dist/server/adapters/index.d.ts +5 -5
- package/dist/server/adapters/index.d.ts.map +1 -1
- package/dist/server/adapters/index.js +2 -2
- package/dist/server/adapters/openai.d.cts +51 -0
- package/dist/server/adapters/openai.d.cts.map +1 -0
- package/dist/server/adapters/openai.d.ts +1 -1
- package/dist/server/adapters/openai.d.ts.map +1 -1
- package/dist/server/adapters/stream-utils.d.cts +12 -0
- package/dist/server/adapters/stream-utils.d.cts.map +1 -0
- package/dist/server/agent.d.cts +59 -0
- package/dist/server/agent.d.cts.map +1 -0
- package/dist/server/agent.d.ts +3 -3
- package/dist/server/agent.d.ts.map +1 -1
- package/dist/server/engine.d.cts +69 -0
- package/dist/server/engine.d.cts.map +1 -0
- package/dist/server/engine.d.ts +1 -1
- package/dist/server/engine.d.ts.map +1 -1
- package/dist/server/handler.d.cts +111 -0
- package/dist/server/handler.d.cts.map +1 -0
- package/dist/server/handler.d.ts +3 -3
- package/dist/server/handler.d.ts.map +1 -1
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.d.cts +6 -0
- package/dist/server/index.d.cts.map +1 -0
- package/dist/server/index.d.ts +5 -5
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +3 -3
- package/dist/server/index.js.map +1 -1
- package/dist/server/tools/helpers.d.cts +66 -0
- package/dist/server/tools/helpers.d.cts.map +1 -0
- package/dist/server/tools/helpers.d.ts +2 -2
- package/dist/server/tools/helpers.d.ts.map +1 -1
- package/dist/server/tools/index.d.cts +25 -0
- package/dist/server/tools/index.d.cts.map +1 -0
- package/dist/server/tools/index.d.ts +6 -6
- package/dist/server/tools/index.d.ts.map +1 -1
- package/dist/server/tools/read-tools.d.cts +3 -0
- package/dist/server/tools/read-tools.d.cts.map +1 -0
- package/dist/server/tools/read-tools.d.ts +1 -1
- package/dist/server/tools/read-tools.d.ts.map +1 -1
- package/dist/server/tools/types.d.cts +51 -0
- package/dist/server/tools/types.d.cts.map +1 -0
- package/dist/server/tools/types.d.ts +1 -1
- package/dist/server/tools/types.d.ts.map +1 -1
- package/dist/server/tools/write-tools.d.cts +3 -0
- package/dist/server/tools/write-tools.d.cts.map +1 -0
- package/dist/server/tools/write-tools.d.ts +1 -1
- package/dist/server/tools/write-tools.d.ts.map +1 -1
- package/dist/types.d.cts +463 -0
- package/dist/types.d.cts.map +1 -0
- package/package.json +46 -21
- package/dist/chunk-3DRAVYU3.js.map +0 -1
- package/dist/chunk-CCV6S4YN.js.map +0 -1
- package/dist/chunk-ILLNRABB.js.map +0 -1
- package/dist/chunk-ORA6BS4P.js.map +0 -1
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { Node, PageDocument } from '@kubuild/schema';
|
|
2
|
+
import { type DocumentSecurityLimits } from '@kubuild/core';
|
|
3
|
+
import type { AiCompiledComponentSpec } from '../../types.cjs';
|
|
4
|
+
import type { ToolExecutionResult } from './types.cjs';
|
|
5
|
+
/**
|
|
6
|
+
* A failed tool call (STORA-530).
|
|
7
|
+
*
|
|
8
|
+
* Failures are deliberately *not* thrown: they're returned to the model as a normal
|
|
9
|
+
* `tool_result` with `ok: false` so it can read the reason, fix its arguments and retry.
|
|
10
|
+
* That self-correction loop is the main reason agent mode beats one-shot JSON generation —
|
|
11
|
+
* a hallucinated node id becomes a retry instead of a broken document.
|
|
12
|
+
*/
|
|
13
|
+
export declare function fail(summary: string, message: string, extra?: Record<string, unknown>): ToolExecutionResult;
|
|
14
|
+
export declare function succeed(summary: string, content: Record<string, unknown>, rest?: Pick<ToolExecutionResult, 'op' | 'document'>): ToolExecutionResult;
|
|
15
|
+
/** Reads a required string argument, tolerating the whitespace LLMs sometimes emit. */
|
|
16
|
+
export declare function readString(input: Record<string, unknown>, key: string): string | null;
|
|
17
|
+
export declare function readPlainObject(input: Record<string, unknown>, key: string): Record<string, unknown> | null;
|
|
18
|
+
export declare function readOptionalIndex(input: Record<string, unknown>, key: string): number | undefined;
|
|
19
|
+
/** Up to `limit` existing node ids most similar to a bad one, for the retry hint. */
|
|
20
|
+
export declare function suggestNodeIds(document: PageDocument, badId: string, limit?: number): string[];
|
|
21
|
+
export interface ResolvedNode {
|
|
22
|
+
node: Node;
|
|
23
|
+
}
|
|
24
|
+
/** Resolves a node id against the snapshot, or returns a retry-friendly failure. */
|
|
25
|
+
export declare function resolveNode(document: PageDocument, nodeId: string, toolName: string): {
|
|
26
|
+
node: Node;
|
|
27
|
+
} | {
|
|
28
|
+
error: ToolExecutionResult;
|
|
29
|
+
};
|
|
30
|
+
export declare function findCatalogEntry(catalog: AiCompiledComponentSpec[], type: string): AiCompiledComponentSpec | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Enforces the registry's nesting contract before an insert/move (STORA-530).
|
|
33
|
+
*
|
|
34
|
+
* The same `acceptsChildren`/`allowedChildren` rules the prompt states are checked here,
|
|
35
|
+
* because a prompt rule is a suggestion while a tool check is a guarantee — and a document
|
|
36
|
+
* that violates them renders wrong rather than failing loudly.
|
|
37
|
+
*
|
|
38
|
+
* An empty catalog (host supplied no registry) means "unknown", so nesting is allowed
|
|
39
|
+
* rather than blocking every insert.
|
|
40
|
+
*/
|
|
41
|
+
export declare function checkNesting(catalog: AiCompiledComponentSpec[], parent: Node, childType: string): string | null;
|
|
42
|
+
/** Validates a component type against the catalog, returning a retry hint when unknown. */
|
|
43
|
+
export declare function checkComponentType(catalog: AiCompiledComponentSpec[], type: string): string | null;
|
|
44
|
+
/**
|
|
45
|
+
* The defense-in-depth gate every write tool passes through before its op is accepted —
|
|
46
|
+
* the same `validateDocumentSecurity` pass `normalizeAndValidate*` already applies to
|
|
47
|
+
* generated documents, now applied per mutation so a single bad tool call can't smuggle
|
|
48
|
+
* a `javascript:` href or a prototype-pollution key into the snapshot.
|
|
49
|
+
*/
|
|
50
|
+
export declare function checkDocumentSecurity(document: PageDocument, limits?: DocumentSecurityLimits): string | null;
|
|
51
|
+
/**
|
|
52
|
+
* Normalizes a model-authored node and guarantees its ids don't collide with the snapshot
|
|
53
|
+
* (`insertNode` in `@kubuild/core` throws on duplicate ids). Reuses the shared
|
|
54
|
+
* `normalizeNodeTree` so agent-authored nodes get the same prop/style coercions as nodes
|
|
55
|
+
* from full-page generation.
|
|
56
|
+
*/
|
|
57
|
+
export declare function normalizeIncomingNode(raw: unknown, document: PageDocument, options?: {
|
|
58
|
+
preserveIds?: boolean;
|
|
59
|
+
}): {
|
|
60
|
+
node: Node;
|
|
61
|
+
} | {
|
|
62
|
+
error: string;
|
|
63
|
+
};
|
|
64
|
+
/** Short human description of a node for tool summaries / op labels. */
|
|
65
|
+
export declare function describeNode(node: Node): string;
|
|
66
|
+
//# sourceMappingURL=helpers.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.cts","sourceRoot":"","sources":["../../../src/server/tools/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAG9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,mBAAmB,CAM3G;AAED,wBAAgB,OAAO,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,IAAI,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,UAAU,CAAC,GAClD,mBAAmB,CAErB;AAED,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGrF;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,MAAM,GACV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAIhC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIjG;AAeD,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,EAAE,CAOzF;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,oFAAoF;AACpF,wBAAgB,WAAW,CACzB,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,mBAAmB,CAAA;CAAE,CAYjD;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,uBAAuB,EAAE,EAClC,IAAI,EAAE,MAAM,GACX,uBAAuB,GAAG,SAAS,CAErC;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,uBAAuB,EAAE,EAClC,MAAM,EAAE,IAAI,EACZ,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAmBf;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,uBAAuB,EAAE,EAClC,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,IAAI,CAKf;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,YAAY,EACtB,MAAM,CAAC,EAAE,sBAAsB,GAC9B,MAAM,GAAG,IAAI,CAIf;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GACtC;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAkCpC;AAED,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAG/C"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Node, PageDocument } from '@kubuild/schema';
|
|
2
2
|
import { type DocumentSecurityLimits } from '@kubuild/core';
|
|
3
|
-
import type { AiCompiledComponentSpec } from '../../types';
|
|
4
|
-
import type { ToolExecutionResult } from './types';
|
|
3
|
+
import type { AiCompiledComponentSpec } from '../../types.js';
|
|
4
|
+
import type { ToolExecutionResult } from './types.js';
|
|
5
5
|
/**
|
|
6
6
|
* A failed tool call (STORA-530).
|
|
7
7
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/server/tools/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/server/tools/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAG9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,mBAAmB,CAM3G;AAED,wBAAgB,OAAO,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,IAAI,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,UAAU,CAAC,GAClD,mBAAmB,CAErB;AAED,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGrF;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,MAAM,GACV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAIhC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIjG;AAeD,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,EAAE,CAOzF;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,oFAAoF;AACpF,wBAAgB,WAAW,CACzB,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,mBAAmB,CAAA;CAAE,CAYjD;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,uBAAuB,EAAE,EAClC,IAAI,EAAE,MAAM,GACX,uBAAuB,GAAG,SAAS,CAErC;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,uBAAuB,EAAE,EAClC,MAAM,EAAE,IAAI,EACZ,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAmBf;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,uBAAuB,EAAE,EAClC,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,IAAI,CAKf;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,YAAY,EACtB,MAAM,CAAC,EAAE,sBAAsB,GAC9B,MAAM,GAAG,IAAI,CAIf;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GACtC;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAkCpC;AAED,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAG/C"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { AiToolDefinition } from '../../types.cjs';
|
|
2
|
+
import type { AgentTool } from './types.cjs';
|
|
3
|
+
export * from './types.cjs';
|
|
4
|
+
export { READ_TOOLS } from './read-tools.cjs';
|
|
5
|
+
export { WRITE_TOOLS } from './write-tools.cjs';
|
|
6
|
+
export { checkNesting, checkComponentType, checkDocumentSecurity, normalizeIncomingNode, suggestNodeIds, } from './helpers.cjs';
|
|
7
|
+
export interface DocumentToolsOptions {
|
|
8
|
+
/**
|
|
9
|
+
* Set false to give the agent a read-only tool set — useful for a "review my page"
|
|
10
|
+
* assistant that must never propose mutations.
|
|
11
|
+
*/
|
|
12
|
+
allowWrites?: boolean;
|
|
13
|
+
/** Tool names to exclude, e.g. `['delete_node']` on a plan that forbids deletions. */
|
|
14
|
+
exclude?: string[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The document tool set the agent is given (STORA-530).
|
|
18
|
+
*
|
|
19
|
+
* Read tools first: the ordering is what the model sees, and putting the "look before you
|
|
20
|
+
* edit" tools at the top nudges it toward reading a node before rewriting it.
|
|
21
|
+
*/
|
|
22
|
+
export declare function createDocumentTools(options?: DocumentToolsOptions): AgentTool[];
|
|
23
|
+
/** Provider-facing definitions for a tool set. */
|
|
24
|
+
export declare function toToolDefinitions(tools: AgentTool[]): AiToolDefinition[];
|
|
25
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/server/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,SAAS,EAAE,CAInF;AAED,kDAAkD;AAClD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,gBAAgB,EAAE,CAExE"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { AiToolDefinition } from '../../types';
|
|
2
|
-
import type { AgentTool } from './types';
|
|
3
|
-
export * from './types';
|
|
4
|
-
export { READ_TOOLS } from './read-tools';
|
|
5
|
-
export { WRITE_TOOLS } from './write-tools';
|
|
6
|
-
export { checkNesting, checkComponentType, checkDocumentSecurity, normalizeIncomingNode, suggestNodeIds, } from './helpers';
|
|
1
|
+
import type { AiToolDefinition } from '../../types.js';
|
|
2
|
+
import type { AgentTool } from './types.js';
|
|
3
|
+
export * from './types.js';
|
|
4
|
+
export { READ_TOOLS } from './read-tools.js';
|
|
5
|
+
export { WRITE_TOOLS } from './write-tools.js';
|
|
6
|
+
export { checkNesting, checkComponentType, checkDocumentSecurity, normalizeIncomingNode, suggestNodeIds, } from './helpers.js';
|
|
7
7
|
export interface DocumentToolsOptions {
|
|
8
8
|
/**
|
|
9
9
|
* Set false to give the agent a read-only tool set — useful for a "review my page"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,SAAS,EAAE,CAInF;AAED,kDAAkD;AAClD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,gBAAgB,EAAE,CAExE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-tools.d.cts","sourceRoot":"","sources":["../../../src/server/tools/read-tools.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA4L5C,eAAO,MAAM,UAAU,EAAE,SAAS,EAA8D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-tools.d.ts","sourceRoot":"","sources":["../../../src/server/tools/read-tools.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"read-tools.d.ts","sourceRoot":"","sources":["../../../src/server/tools/read-tools.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA4L5C,eAAO,MAAM,UAAU,EAAE,SAAS,EAA8D,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Node, PageDocument } from '@kubuild/schema';
|
|
2
|
+
import type { DocumentSecurityLimits } from '@kubuild/core';
|
|
3
|
+
import type { AgentOp, AiCompiledComponentSpec, AiToolDefinition } from '../../types.cjs';
|
|
4
|
+
/**
|
|
5
|
+
* Everything a tool needs to answer or mutate (STORA-530).
|
|
6
|
+
*
|
|
7
|
+
* `document` is the agent's private **snapshot** — never the user's live canvas document.
|
|
8
|
+
* Write tools return an updated snapshot plus an `AgentOp`; the real document is only
|
|
9
|
+
* touched later, on the client, when the user applies the run.
|
|
10
|
+
*/
|
|
11
|
+
export interface ToolExecutionContext {
|
|
12
|
+
document: PageDocument;
|
|
13
|
+
catalog: AiCompiledComponentSpec[];
|
|
14
|
+
securityLimits?: DocumentSecurityLimits;
|
|
15
|
+
/**
|
|
16
|
+
* Delegate used by `insert_section` to synthesize a section node — wired to
|
|
17
|
+
* `KubuildAiEngine.generateSection` so section generation keeps going through the
|
|
18
|
+
* existing plan/normalize/validate path rather than a second implementation.
|
|
19
|
+
*/
|
|
20
|
+
generateSection?: (params: {
|
|
21
|
+
prompt: string;
|
|
22
|
+
parentContext?: string;
|
|
23
|
+
}) => Promise<Node>;
|
|
24
|
+
signal?: AbortSignal;
|
|
25
|
+
}
|
|
26
|
+
export interface ToolExecutionResult {
|
|
27
|
+
ok: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Payload handed back to the model as a `tool_result` block. Always a JSON string, so
|
|
30
|
+
* the model sees a uniform shape whether the call succeeded or failed.
|
|
31
|
+
*/
|
|
32
|
+
content: unknown;
|
|
33
|
+
/** One-line description for the run timeline / op review UI. */
|
|
34
|
+
summary: string;
|
|
35
|
+
/** Present on a successful write — the patch the client will replay. */
|
|
36
|
+
op?: AgentOp;
|
|
37
|
+
/** Present on a successful write — the snapshot later steps reason about. */
|
|
38
|
+
document?: PageDocument;
|
|
39
|
+
}
|
|
40
|
+
export interface AgentTool {
|
|
41
|
+
definition: AiToolDefinition;
|
|
42
|
+
/** Read tools never produce ops; write tools always do (when they succeed). */
|
|
43
|
+
kind: 'read' | 'write';
|
|
44
|
+
/**
|
|
45
|
+
* True for tools that can destroy user content. The editor refuses to auto-apply these
|
|
46
|
+
* even when the user has auto-apply turned on.
|
|
47
|
+
*/
|
|
48
|
+
destructive?: boolean;
|
|
49
|
+
execute(input: Record<string, unknown>, context: ToolExecutionContext): Promise<ToolExecutionResult> | ToolExecutionResult;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=types.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../../../src/server/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEzF;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,+EAA+E;IAC/E,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CACL,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;CACvD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Node, PageDocument } from '@kubuild/schema';
|
|
2
2
|
import type { DocumentSecurityLimits } from '@kubuild/core';
|
|
3
|
-
import type { AgentOp, AiCompiledComponentSpec, AiToolDefinition } from '../../types';
|
|
3
|
+
import type { AgentOp, AiCompiledComponentSpec, AiToolDefinition } from '../../types.js';
|
|
4
4
|
/**
|
|
5
5
|
* Everything a tool needs to answer or mutate (STORA-530).
|
|
6
6
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEzF;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,+EAA+E;IAC/E,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CACL,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;CACvD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-tools.d.cts","sourceRoot":"","sources":["../../../src/server/tools/write-tools.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAA6C,MAAM,YAAY,CAAC;AAslBvF,eAAO,MAAM,WAAW,EAAE,SAAS,EASlC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-tools.d.ts","sourceRoot":"","sources":["../../../src/server/tools/write-tools.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAA6C,MAAM,
|
|
1
|
+
{"version":3,"file":"write-tools.d.ts","sourceRoot":"","sources":["../../../src/server/tools/write-tools.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAA6C,MAAM,YAAY,CAAC;AAslBvF,eAAO,MAAM,WAAW,EAAE,SAAS,EASlC,CAAC"}
|