typed-agents 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +19 -0
- package/README.md +201 -0
- package/dist/agents/agent.decorator.d.ts +19 -0
- package/dist/agents/agent.decorator.d.ts.map +1 -0
- package/dist/agents/agent.decorator.js +38 -0
- package/dist/agents/agent.decorator.js.map +1 -0
- package/dist/agents/agent.runtime.d.ts +133 -0
- package/dist/agents/agent.runtime.d.ts.map +1 -0
- package/dist/agents/agent.runtime.js +593 -0
- package/dist/agents/agent.runtime.js.map +1 -0
- package/dist/agents/agent.types.d.ts +245 -0
- package/dist/agents/agent.types.d.ts.map +1 -0
- package/dist/agents/agent.types.js +27 -0
- package/dist/agents/agent.types.js.map +1 -0
- package/dist/agents/behavior-engine/behavior.types.d.ts +23 -0
- package/dist/agents/behavior-engine/behavior.types.d.ts.map +1 -0
- package/dist/agents/behavior-engine/behavior.types.js +3 -0
- package/dist/agents/behavior-engine/behavior.types.js.map +1 -0
- package/dist/agents/behavior-engine/build-system-prompt.d.ts +12 -0
- package/dist/agents/behavior-engine/build-system-prompt.d.ts.map +1 -0
- package/dist/agents/behavior-engine/build-system-prompt.js +29 -0
- package/dist/agents/behavior-engine/build-system-prompt.js.map +1 -0
- package/dist/agents/behavior-engine/index.d.ts +7 -0
- package/dist/agents/behavior-engine/index.d.ts.map +1 -0
- package/dist/agents/behavior-engine/index.js +23 -0
- package/dist/agents/behavior-engine/index.js.map +1 -0
- package/dist/agents/behavior-engine/load-behavior.d.ts +16 -0
- package/dist/agents/behavior-engine/load-behavior.d.ts.map +1 -0
- package/dist/agents/behavior-engine/load-behavior.js +36 -0
- package/dist/agents/behavior-engine/load-behavior.js.map +1 -0
- package/dist/agents/behavior-engine/merge-behavior.d.ts +12 -0
- package/dist/agents/behavior-engine/merge-behavior.d.ts.map +1 -0
- package/dist/agents/behavior-engine/merge-behavior.js +33 -0
- package/dist/agents/behavior-engine/merge-behavior.js.map +1 -0
- package/dist/agents/behavior-engine/parse-behavior.d.ts +10 -0
- package/dist/agents/behavior-engine/parse-behavior.d.ts.map +1 -0
- package/dist/agents/behavior-engine/parse-behavior.js +66 -0
- package/dist/agents/behavior-engine/parse-behavior.js.map +1 -0
- package/dist/agents/behavior-engine/watch-behavior.d.ts +10 -0
- package/dist/agents/behavior-engine/watch-behavior.d.ts.map +1 -0
- package/dist/agents/behavior-engine/watch-behavior.js +34 -0
- package/dist/agents/behavior-engine/watch-behavior.js.map +1 -0
- package/dist/agents/compose.d.ts +41 -0
- package/dist/agents/compose.d.ts.map +1 -0
- package/dist/agents/compose.js +29 -0
- package/dist/agents/compose.js.map +1 -0
- package/dist/agents/index.d.ts +7 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +25 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/runtime-engine/build-tool-map.d.ts +16 -0
- package/dist/agents/runtime-engine/build-tool-map.d.ts.map +1 -0
- package/dist/agents/runtime-engine/build-tool-map.js +88 -0
- package/dist/agents/runtime-engine/build-tool-map.js.map +1 -0
- package/dist/agents/runtime-engine/convert-zod-to-tool-schema.d.ts +13 -0
- package/dist/agents/runtime-engine/convert-zod-to-tool-schema.d.ts.map +1 -0
- package/dist/agents/runtime-engine/convert-zod-to-tool-schema.js +26 -0
- package/dist/agents/runtime-engine/convert-zod-to-tool-schema.js.map +1 -0
- package/dist/agents/runtime-engine/execute-tool.d.ts +19 -0
- package/dist/agents/runtime-engine/execute-tool.d.ts.map +1 -0
- package/dist/agents/runtime-engine/execute-tool.js +100 -0
- package/dist/agents/runtime-engine/execute-tool.js.map +1 -0
- package/dist/agents/runtime-engine/index.d.ts +7 -0
- package/dist/agents/runtime-engine/index.d.ts.map +1 -0
- package/dist/agents/runtime-engine/index.js +23 -0
- package/dist/agents/runtime-engine/index.js.map +1 -0
- package/dist/agents/runtime-engine/parse-tool-arguments.d.ts +12 -0
- package/dist/agents/runtime-engine/parse-tool-arguments.d.ts.map +1 -0
- package/dist/agents/runtime-engine/parse-tool-arguments.js +42 -0
- package/dist/agents/runtime-engine/parse-tool-arguments.js.map +1 -0
- package/dist/agents/runtime-engine/retry.utils.d.ts +26 -0
- package/dist/agents/runtime-engine/retry.utils.d.ts.map +1 -0
- package/dist/agents/runtime-engine/retry.utils.js +55 -0
- package/dist/agents/runtime-engine/retry.utils.js.map +1 -0
- package/dist/agents/runtime-engine/state-persistence.d.ts +56 -0
- package/dist/agents/runtime-engine/state-persistence.d.ts.map +1 -0
- package/dist/agents/runtime-engine/state-persistence.js +70 -0
- package/dist/agents/runtime-engine/state-persistence.js.map +1 -0
- package/dist/clients/index.d.ts +3 -0
- package/dist/clients/index.d.ts.map +1 -0
- package/dist/clients/index.js +19 -0
- package/dist/clients/index.js.map +1 -0
- package/dist/clients/llm.client.d.ts +48 -0
- package/dist/clients/llm.client.d.ts.map +1 -0
- package/dist/clients/llm.client.js +3 -0
- package/dist/clients/llm.client.js.map +1 -0
- package/dist/clients/ollama.client.d.ts +20 -0
- package/dist/clients/ollama.client.d.ts.map +1 -0
- package/dist/clients/ollama.client.js +85 -0
- package/dist/clients/ollama.client.js.map +1 -0
- package/dist/core/logger/index.d.ts +2 -0
- package/dist/core/logger/index.d.ts.map +1 -0
- package/dist/core/logger/index.js +18 -0
- package/dist/core/logger/index.js.map +1 -0
- package/dist/core/logger/logger.d.ts +7 -0
- package/dist/core/logger/logger.d.ts.map +1 -0
- package/dist/core/logger/logger.js +19 -0
- package/dist/core/logger/logger.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/runtime/agent.runner.d.ts +29 -0
- package/dist/runtime/agent.runner.d.ts.map +1 -0
- package/dist/runtime/agent.runner.js +39 -0
- package/dist/runtime/agent.runner.js.map +1 -0
- package/dist/runtime/index.d.ts +2 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +18 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +20 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/registry.d.ts +128 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +140 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/tool.decorator.d.ts +71 -0
- package/dist/tools/tool.decorator.d.ts.map +1 -0
- package/dist/tools/tool.decorator.js +98 -0
- package/dist/tools/tool.decorator.js.map +1 -0
- package/dist/tools/tool.types.d.ts +231 -0
- package/dist/tools/tool.types.d.ts.map +1 -0
- package/dist/tools/tool.types.js +3 -0
- package/dist/tools/tool.types.js.map +1 -0
- package/package.json +45 -0
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { ZodType } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Metadata that describes a tool registered within the typed-agents framework.
|
|
4
|
+
*
|
|
5
|
+
* A tool is a discrete unit of functionality that an AI agent can invoke during
|
|
6
|
+
* its reasoning loop. Each tool is associated with a class method decorated with
|
|
7
|
+
* `@tool()` and is automatically registered in the {@link ToolRegistry}.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
*
|
|
11
|
+
* @tool({
|
|
12
|
+
* name: 'search_web',
|
|
13
|
+
* description: 'Searches the web and returns a list of relevant results.',
|
|
14
|
+
* inputSchema: z.object({ query: z.string() }),
|
|
15
|
+
* outputSchema: z.array(z.string()),
|
|
16
|
+
* })
|
|
17
|
+
* async searchWeb(input: { query: string }): Promise<string[]> { ... }
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
20
|
+
export interface ToolMetadata {
|
|
21
|
+
/**
|
|
22
|
+
* The unique identifier of the tool as exposed to the AI model.
|
|
23
|
+
*
|
|
24
|
+
* This name is sent directly to the language model and must be unique across
|
|
25
|
+
* all registered tools in the agent session. Use `snake_case` to maximize
|
|
26
|
+
* compatibility with all LLM providers.
|
|
27
|
+
*
|
|
28
|
+
* @example 'search_web', 'read_file', 'send_email'
|
|
29
|
+
*/
|
|
30
|
+
name: string;
|
|
31
|
+
/**
|
|
32
|
+
* A human-readable description of what the tool does.
|
|
33
|
+
*
|
|
34
|
+
* This string is passed verbatim to the language model and directly influences
|
|
35
|
+
* how and when the model decides to invoke the tool. A clear, specific description
|
|
36
|
+
* improves tool selection accuracy. Treat it as a prompt.
|
|
37
|
+
*
|
|
38
|
+
* @example 'Searches the web using a query string and returns the top 5 results as URLs.'
|
|
39
|
+
*/
|
|
40
|
+
description: string;
|
|
41
|
+
/**
|
|
42
|
+
* A Zod schema describing the expected shape of the tool's input.
|
|
43
|
+
*
|
|
44
|
+
* When provided, the framework will:
|
|
45
|
+
* 1. Serialize this schema into a JSON Schema and send it to the model as the
|
|
46
|
+
* tool's `parameters` definition, guiding the model to produce valid calls.
|
|
47
|
+
* 2. Validate the model's arguments at runtime before invoking the method,
|
|
48
|
+
* throwing a descriptive error if the input does not conform.
|
|
49
|
+
*
|
|
50
|
+
* If omitted, the tool accepts no input parameters.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
*
|
|
54
|
+
* inputSchema: z.object({
|
|
55
|
+
* query: z.string().describe('The search query'),
|
|
56
|
+
* maxResults: z.number().int().optional().default(5),
|
|
57
|
+
* })
|
|
58
|
+
*
|
|
59
|
+
*/
|
|
60
|
+
inputSchema?: ZodType;
|
|
61
|
+
/**
|
|
62
|
+
* A Zod schema describing the expected shape of the tool's return value.
|
|
63
|
+
*
|
|
64
|
+
* When provided, the framework validates the method's return value after execution.
|
|
65
|
+
* Useful for catching implementation bugs early and for generating typed output
|
|
66
|
+
* contracts that downstream tools or agents can rely on.
|
|
67
|
+
*
|
|
68
|
+
* If omitted, no runtime validation is performed on the output.
|
|
69
|
+
*/
|
|
70
|
+
outputSchema?: ZodType;
|
|
71
|
+
/**
|
|
72
|
+
* A natural-language description of what the tool returns.
|
|
73
|
+
*
|
|
74
|
+
* Complements `outputSchema` by providing a prose explanation of the output
|
|
75
|
+
* for documentation and potential model consumption (e.g., in chain-of-thought
|
|
76
|
+
* prompts). Does not affect runtime validation.
|
|
77
|
+
*
|
|
78
|
+
* @example 'A list of URLs matching the search query, ordered by relevance.'
|
|
79
|
+
*/
|
|
80
|
+
outputDescription?: string;
|
|
81
|
+
/**
|
|
82
|
+
* Whether this tool can be composed as a sub-agent step within a parent agent.
|
|
83
|
+
*
|
|
84
|
+
* When `true`, the tool is treated as a composable unit that delegates execution
|
|
85
|
+
* to a dedicated agent class (specified via `agentClass`). This enables building
|
|
86
|
+
* hierarchical multi-agent pipelines where a parent agent orchestrates specialized
|
|
87
|
+
* child agents as if they were ordinary tools.
|
|
88
|
+
*
|
|
89
|
+
* Requires `agentClass` to be set.
|
|
90
|
+
*
|
|
91
|
+
* @default false
|
|
92
|
+
*/
|
|
93
|
+
isComposable?: boolean;
|
|
94
|
+
/**
|
|
95
|
+
* The agent class to instantiate and run when this tool is invoked in composable mode.
|
|
96
|
+
*
|
|
97
|
+
* Only meaningful when `isComposable` is `true`. The provided class will be
|
|
98
|
+
* instantiated fresh on each invocation, ensuring isolated state per tool call.
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
*
|
|
102
|
+
* isComposable: true,
|
|
103
|
+
* agentClass: ResearchAgent,
|
|
104
|
+
*
|
|
105
|
+
*/
|
|
106
|
+
agentClass?: new () => object;
|
|
107
|
+
/**
|
|
108
|
+
* Maximum number of reasoning/action steps the tool's agent is allowed to take.
|
|
109
|
+
*
|
|
110
|
+
* Acts as a safety cap to prevent infinite loops in agentic execution. Once the
|
|
111
|
+
* limit is reached the agent is forced to return its current best answer.
|
|
112
|
+
* Only relevant when `isComposable` is `true`.
|
|
113
|
+
*
|
|
114
|
+
* @default Framework-level default (typically 10)
|
|
115
|
+
*/
|
|
116
|
+
maxSteps?: number;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Represents any class whose constructor accepts no arguments and returns an object.
|
|
120
|
+
*
|
|
121
|
+
* Used as the key type in {@link ToolRegistry} to map tool classes to their
|
|
122
|
+
* registered methods. Any class decorated with `@tool()` on one or more of its
|
|
123
|
+
* methods qualifies as a `ToolClass`.
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
*
|
|
127
|
+
* class MyTools { ... } // qualifies as ToolClass
|
|
128
|
+
* const cls: ToolClass = MyTools;
|
|
129
|
+
* const instance = new cls();
|
|
130
|
+
*
|
|
131
|
+
*/
|
|
132
|
+
export type ToolClass = new () => object;
|
|
133
|
+
/**
|
|
134
|
+
* The wire-format definition of a tool as sent to an LLM API (e.g. OpenAI / Anthropic).
|
|
135
|
+
*
|
|
136
|
+
* This structure follows the OpenAI function-calling schema and is produced by the
|
|
137
|
+
* framework when serializing registered tools before each model call. You will
|
|
138
|
+
* rarely need to construct this manually — it is generated from {@link ToolMetadata}.
|
|
139
|
+
*
|
|
140
|
+
* @see https://platform.openai.com/docs/api-reference/chat/create#chat-create-tools
|
|
141
|
+
*/
|
|
142
|
+
export interface ToolDefinition {
|
|
143
|
+
/** Always `"function"` for LLM tool definitions. */
|
|
144
|
+
type: "function";
|
|
145
|
+
function: {
|
|
146
|
+
/** The unique tool name as seen by the model. Matches {@link ToolMetadata.name}. */
|
|
147
|
+
name: string;
|
|
148
|
+
/** The tool description forwarded to the model. Matches {@link ToolMetadata.description}. */
|
|
149
|
+
description: string;
|
|
150
|
+
/** JSON Schema description of the tool's input parameters, derived from {@link ToolMetadata.inputSchema}. */
|
|
151
|
+
parameters: ToolParameterSchema;
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* A JSON Schema–compatible description of the parameters accepted by a tool.
|
|
156
|
+
*
|
|
157
|
+
* This is embedded inside {@link ToolDefinition} and is automatically generated
|
|
158
|
+
* from the tool's `inputSchema` Zod definition. It tells the LLM which fields
|
|
159
|
+
* to populate when invoking the tool and which of them are required.
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* json
|
|
163
|
+
* {
|
|
164
|
+
* "type": "object",
|
|
165
|
+
* "properties": {
|
|
166
|
+
* "query": { "type": "string", "description": "The search query" }
|
|
167
|
+
* },
|
|
168
|
+
* "required": ["query"]
|
|
169
|
+
* }
|
|
170
|
+
*
|
|
171
|
+
*/
|
|
172
|
+
export interface ToolParameterSchema {
|
|
173
|
+
/**
|
|
174
|
+
* The JSON Schema type of the parameters container.
|
|
175
|
+
* Typically `"object"` for structured tool inputs.
|
|
176
|
+
*/
|
|
177
|
+
type: string;
|
|
178
|
+
/**
|
|
179
|
+
* A map of parameter names to their individual JSON Schema definitions.
|
|
180
|
+
* Each entry describes the type, constraints, and description of a single input field.
|
|
181
|
+
*/
|
|
182
|
+
properties?: Record<string, unknown>;
|
|
183
|
+
/**
|
|
184
|
+
* List of parameter names that the model **must** provide when calling this tool.
|
|
185
|
+
* Corresponds to non-optional fields in the tool's Zod `inputSchema`.
|
|
186
|
+
*/
|
|
187
|
+
required?: string[];
|
|
188
|
+
/**
|
|
189
|
+
* An optional top-level description of the parameter object as a whole.
|
|
190
|
+
* Rarely needed; prefer per-property descriptions inside `properties`.
|
|
191
|
+
*/
|
|
192
|
+
description?: string;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* A runtime entry in the tool dispatch map, linking a registered tool to its
|
|
196
|
+
* concrete instance and method name for execution.
|
|
197
|
+
*
|
|
198
|
+
* The framework builds a `Map<string, ToolMapEntry>` (keyed by {@link ToolMetadata.name})
|
|
199
|
+
* before each agent run, enabling O(1) lookup when the model returns a tool call.
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
*
|
|
203
|
+
* const entry: ToolMapEntry = {
|
|
204
|
+
* instance: new MyToolsClass(),
|
|
205
|
+
* method: 'searchWeb',
|
|
206
|
+
* metadata: { name: 'search_web', description: '...' },
|
|
207
|
+
* };
|
|
208
|
+
* const result = await (entry.instance as any)[entry.method](toolInput);
|
|
209
|
+
*
|
|
210
|
+
*/
|
|
211
|
+
export interface ToolMapEntry {
|
|
212
|
+
/**
|
|
213
|
+
* The instantiated object on which the tool method will be called.
|
|
214
|
+
* `null` indicates the tool has been registered but not yet bound to an instance
|
|
215
|
+
* (e.g. during static analysis or testing scenarios).
|
|
216
|
+
*/
|
|
217
|
+
instance: object | null;
|
|
218
|
+
/**
|
|
219
|
+
* The name of the method on `instance` to invoke.
|
|
220
|
+
* This is the JavaScript property key, not the tool's public `name`.
|
|
221
|
+
*
|
|
222
|
+
* @example 'searchWeb' (while the tool name sent to the model is 'search_web')
|
|
223
|
+
*/
|
|
224
|
+
method: string;
|
|
225
|
+
/**
|
|
226
|
+
* The full metadata of the tool as originally provided to the `@tool()` decorator.
|
|
227
|
+
* Retained here for runtime validation, logging, and composability checks.
|
|
228
|
+
*/
|
|
229
|
+
metadata: ToolMetadata;
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=tool.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.types.d.ts","sourceRoot":"","sources":["../../src/tools/tool.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAE9B;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;;OAQG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;OAQG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,UAAU,MAAM,CAAC;IAE9B;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,MAAM,CAAC;AAEzC;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,IAAI,EAAE,UAAU,CAAC;IAEjB,QAAQ,EAAE;QACR,oFAAoF;QACpF,IAAI,EAAE,MAAM,CAAC;QAEb,6FAA6F;QAC7F,WAAW,EAAE,MAAM,CAAC;QAEpB,6GAA6G;QAC7G,UAAU,EAAE,mBAAmB,CAAC;KACjC,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,QAAQ,EAAE,YAAY,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.types.js","sourceRoot":"","sources":["../../src/tools/tool.types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "typed-agents",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "A TypeScript framework for building AI Agents and Tools with decorators, behavior files, composable sub-agents, streaming, and persistent state",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"require": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"dist/**/*"
|
|
15
|
+
],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc",
|
|
18
|
+
"prepublishOnly": "npm run build"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"agents",
|
|
22
|
+
"ai",
|
|
23
|
+
"typescript",
|
|
24
|
+
"zod",
|
|
25
|
+
"llm"
|
|
26
|
+
],
|
|
27
|
+
"author": "typed-agents",
|
|
28
|
+
"license": "Apache-2.0",
|
|
29
|
+
"type": "commonjs",
|
|
30
|
+
"engines": {
|
|
31
|
+
"node": ">=18"
|
|
32
|
+
},
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@types/node": "^25.5.0",
|
|
35
|
+
"ts-node": "^10.9.2",
|
|
36
|
+
"typescript": "^5.9.3"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"jsonrepair": "^3.13.2",
|
|
40
|
+
"ollama": "^0.6.3",
|
|
41
|
+
"reflect-metadata": "^0.2.2",
|
|
42
|
+
"zod": "^4.3.6",
|
|
43
|
+
"zod-to-json-schema": "^3.25.2"
|
|
44
|
+
}
|
|
45
|
+
}
|