@tashiscool/agents 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +186 -0
  2. package/dist/conversation.d.ts +146 -0
  3. package/dist/conversation.d.ts.map +1 -0
  4. package/dist/conversation.js +239 -0
  5. package/dist/conversation.js.map +1 -0
  6. package/dist/events.d.ts +218 -0
  7. package/dist/events.d.ts.map +1 -0
  8. package/dist/events.js +299 -0
  9. package/dist/events.js.map +1 -0
  10. package/dist/executor.d.ts +144 -0
  11. package/dist/executor.d.ts.map +1 -0
  12. package/dist/executor.js +362 -0
  13. package/dist/executor.js.map +1 -0
  14. package/dist/index.d.ts +26 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +27 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/langchain.d.ts +210 -0
  19. package/dist/langchain.d.ts.map +1 -0
  20. package/dist/langchain.js +333 -0
  21. package/dist/langchain.js.map +1 -0
  22. package/dist/mcp.d.ts +208 -0
  23. package/dist/mcp.d.ts.map +1 -0
  24. package/dist/mcp.js +266 -0
  25. package/dist/mcp.js.map +1 -0
  26. package/dist/memory.d.ts +96 -0
  27. package/dist/memory.d.ts.map +1 -0
  28. package/dist/memory.js +248 -0
  29. package/dist/memory.js.map +1 -0
  30. package/dist/oauth.d.ts +158 -0
  31. package/dist/oauth.d.ts.map +1 -0
  32. package/dist/oauth.js +344 -0
  33. package/dist/oauth.js.map +1 -0
  34. package/dist/output.d.ts +262 -0
  35. package/dist/output.d.ts.map +1 -0
  36. package/dist/output.js +249 -0
  37. package/dist/output.js.map +1 -0
  38. package/dist/session.d.ts +212 -0
  39. package/dist/session.d.ts.map +1 -0
  40. package/dist/session.js +347 -0
  41. package/dist/session.js.map +1 -0
  42. package/dist/tools.d.ts +125 -0
  43. package/dist/tools.d.ts.map +1 -0
  44. package/dist/tools.js +195 -0
  45. package/dist/tools.js.map +1 -0
  46. package/package.json +45 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/dist/tools.js ADDED
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Tool Definition
3
+ * Define and manage LLM tools/functions in a type-safe way
4
+ */
5
+ import { z } from 'zod';
6
+ /**
7
+ * Convert Zod schema to JSON Schema
8
+ */
9
+ export function zodToJsonSchema(schema) {
10
+ // Handle ZodObject
11
+ if (schema instanceof z.ZodObject) {
12
+ const shape = schema.shape;
13
+ const properties = {};
14
+ const required = [];
15
+ for (const [key, value] of Object.entries(shape)) {
16
+ const zodValue = value;
17
+ properties[key] = zodToJsonSchema(zodValue);
18
+ // Check if required (not optional)
19
+ if (!(zodValue instanceof z.ZodOptional)) {
20
+ required.push(key);
21
+ }
22
+ }
23
+ return {
24
+ type: 'object',
25
+ properties,
26
+ required: required.length > 0 ? required : undefined,
27
+ };
28
+ }
29
+ // Handle ZodString
30
+ if (schema instanceof z.ZodString) {
31
+ return { type: 'string', description: schema.description };
32
+ }
33
+ // Handle ZodNumber
34
+ if (schema instanceof z.ZodNumber) {
35
+ return { type: 'number', description: schema.description };
36
+ }
37
+ // Handle ZodBoolean
38
+ if (schema instanceof z.ZodBoolean) {
39
+ return { type: 'boolean', description: schema.description };
40
+ }
41
+ // Handle ZodArray
42
+ if (schema instanceof z.ZodArray) {
43
+ return {
44
+ type: 'array',
45
+ items: zodToJsonSchema(schema.element),
46
+ description: schema.description,
47
+ };
48
+ }
49
+ // Handle ZodEnum
50
+ if (schema instanceof z.ZodEnum) {
51
+ return {
52
+ type: 'string',
53
+ enum: schema.options,
54
+ description: schema.description,
55
+ };
56
+ }
57
+ // Handle ZodOptional
58
+ if (schema instanceof z.ZodOptional) {
59
+ return zodToJsonSchema(schema.unwrap());
60
+ }
61
+ // Handle ZodDefault
62
+ if (schema instanceof z.ZodDefault) {
63
+ const inner = zodToJsonSchema(schema._def.innerType);
64
+ return { ...inner, default: schema._def.defaultValue() };
65
+ }
66
+ // Handle ZodNullable
67
+ if (schema instanceof z.ZodNullable) {
68
+ return zodToJsonSchema(schema.unwrap());
69
+ }
70
+ // Fallback
71
+ return { type: 'object' };
72
+ }
73
+ /**
74
+ * Define a tool with type-safe parameters
75
+ */
76
+ export function defineTool(config) {
77
+ return config;
78
+ }
79
+ /**
80
+ * Convert tool definition to OpenAI format
81
+ */
82
+ export function toOpenAITool(tool) {
83
+ return {
84
+ type: 'function',
85
+ function: {
86
+ name: tool.name,
87
+ description: tool.description,
88
+ parameters: zodToJsonSchema(tool.parameters),
89
+ },
90
+ };
91
+ }
92
+ /**
93
+ * Convert tool definition to Anthropic format
94
+ */
95
+ export function toAnthropicTool(tool) {
96
+ return {
97
+ name: tool.name,
98
+ description: tool.description,
99
+ input_schema: zodToJsonSchema(tool.parameters),
100
+ };
101
+ }
102
+ /**
103
+ * Tool executor for handling tool calls
104
+ */
105
+ export class ToolExecutor {
106
+ tools = new Map();
107
+ /**
108
+ * Register a tool
109
+ */
110
+ register(tool) {
111
+ this.tools.set(tool.name, tool);
112
+ }
113
+ /**
114
+ * Register multiple tools
115
+ */
116
+ registerAll(tools) {
117
+ for (const tool of tools) {
118
+ this.register(tool);
119
+ }
120
+ }
121
+ /**
122
+ * Get a tool by name
123
+ */
124
+ get(name) {
125
+ return this.tools.get(name);
126
+ }
127
+ /**
128
+ * List all registered tools
129
+ */
130
+ list() {
131
+ return Array.from(this.tools.values());
132
+ }
133
+ /**
134
+ * Get tools in OpenAI format
135
+ */
136
+ toOpenAI() {
137
+ return this.list().map(toOpenAITool);
138
+ }
139
+ /**
140
+ * Get tools in Anthropic format
141
+ */
142
+ toAnthropic() {
143
+ return this.list().map(toAnthropicTool);
144
+ }
145
+ /**
146
+ * Execute a tool call
147
+ */
148
+ async execute(call) {
149
+ const tool = this.tools.get(call.name);
150
+ if (!tool) {
151
+ return {
152
+ toolCallId: call.id,
153
+ name: call.name,
154
+ result: null,
155
+ error: `Unknown tool: ${call.name}`,
156
+ };
157
+ }
158
+ try {
159
+ // Validate parameters
160
+ const params = tool.parameters.parse(call.arguments);
161
+ // Execute tool
162
+ const result = await tool.execute(params);
163
+ return {
164
+ toolCallId: call.id,
165
+ name: call.name,
166
+ result,
167
+ };
168
+ }
169
+ catch (error) {
170
+ return {
171
+ toolCallId: call.id,
172
+ name: call.name,
173
+ result: null,
174
+ error: error instanceof Error ? error.message : String(error),
175
+ };
176
+ }
177
+ }
178
+ /**
179
+ * Execute multiple tool calls
180
+ */
181
+ async executeAll(calls) {
182
+ return Promise.all(calls.map((call) => this.execute(call)));
183
+ }
184
+ }
185
+ /**
186
+ * Create a new tool executor
187
+ */
188
+ export function createToolExecutor(tools) {
189
+ const executor = new ToolExecutor();
190
+ if (tools) {
191
+ executor.registerAll(tools);
192
+ }
193
+ return executor;
194
+ }
195
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAoD,MAAM,KAAK,CAAC;AAqE1E;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,mBAAmB;IACnB,IAAI,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAoB,CAAC;QAC1C,MAAM,UAAU,GAA+B,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,KAAkB,CAAC;YACpC,UAAU,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YAE5C,mCAAmC;YACnC,IAAI,CAAC,CAAC,QAAQ,YAAY,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;gBACzC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,UAAU;YACV,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SACrD,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,IAAI,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QAClC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IAC7D,CAAC;IAED,mBAAmB;IACnB,IAAI,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QAClC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IAC7D,CAAC;IAED,oBAAoB;IACpB,IAAI,MAAM,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IAC9D,CAAC;IAED,kBAAkB;IAClB,IAAI,MAAM,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC;YACtC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;IACJ,CAAC;IAED,iBAAiB;IACjB,IAAI,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM,CAAC,OAAmB;YAChC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,IAAI,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,oBAAoB;IACpB,IAAI,MAAM,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrD,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;IAC3D,CAAC;IAED,qBAAqB;IACrB,IAAI,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,WAAW;IACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,MAAwC;IAExC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAoB;IAC/C,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;SAC7C;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAoB;IAClD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,YAAY,EAAE,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,YAAY;IACf,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAElD;;OAEG;IACH,QAAQ,CAAmB,IAAsC;QAC/D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAsB,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAuB;QACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,IAAc;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,iBAAiB,IAAI,CAAC,IAAI,EAAE;aACpC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,sBAAsB;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAErD,eAAe;YACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAE1C,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM;aACP,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,KAAiB;QAChC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAwB;IACzD,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;IACpC,IAAI,KAAK,EAAE,CAAC;QACV,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@tashiscool/agents",
3
+ "version": "0.1.0",
4
+ "description": "Agent building blocks: tools, memory, and structured output",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "scripts": {
18
+ "build": "tsc",
19
+ "test": "vitest run",
20
+ "test:watch": "vitest"
21
+ },
22
+ "keywords": [
23
+ "llm",
24
+ "ai",
25
+ "agents",
26
+ "tools",
27
+ "memory",
28
+ "function-calling",
29
+ "structured-output"
30
+ ],
31
+ "license": "MIT",
32
+ "dependencies": {
33
+ "zod": "^3.23.0"
34
+ },
35
+ "devDependencies": {
36
+ "@types/node": "^20.0.0",
37
+ "typescript": "^5.4.0",
38
+ "vitest": "^1.6.0"
39
+ },
40
+ "repository": {
41
+ "type": "git",
42
+ "url": "https://github.com/tashiscool/llm-utils.git",
43
+ "directory": "packages/agents"
44
+ }
45
+ }