@lssm/lib.ai-agent 0.0.0-canary-20251220002821 → 0.0.0-canary-20251220021406

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.
@@ -1 +1 @@
1
- {"version":3,"file":"tool-adapter.d.ts","names":[],"sources":["../../src/tools/tool-adapter.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAaA;;;;;;AAIO,iBAJS,mBAAA,CAIT,QAAA,EAHK,eAGL,EAAA,OAAA,EAFI,WAEJ,EAAA,OAAA,CAAA,EADI,OACJ,CADY,oBACZ,CAAA,CAAA,EAAJ,IAAI,CAAA,GAAA,EAAA,GAAA,CAAA;AA6BP;;;;;;;;AAIS,iBAJO,qBAAA,CAIP,SAAA,EAHI,eAGJ,EAAA,EAAA,QAAA,EAFG,GAEH,CAAA,MAAA,EAFe,WAEf,CAAA,EAAA,OAAA,CAAA,EADE,OACF,CADU,oBACV,CAAA,CAAA,EAAN,MAAM,CAAA,MAAA,EAAS,IAAT,CAAA,GAAA,EAAA,GAAA,CAAA,CAAA;AAyBT;;;;;;;;;;AAsBgB,iBAtBA,iBAsBiB,CAAA,SAAA,OAAA,EAAA,UAAA,MAAA,CAAA,CAAA,OAAA,EAAA,CAAA,KAAA,EApBtB,MAoBsB,EAAA,OAAA,EAnBpB,oBAmBoB,EAAA,GAlB1B,OAkB0B,CAlBlB,OAkBkB,CAAA,GAlBP,OAkBO,CAAA,EAjB9B,WAiB8B,CAjBlB,MAiBkB,EAjBV,OAiBU,CAAA;;;;;;;;;;;;iBAAjB,iBAAA,cACD,eAAe,eAC3B,YAAY"}
1
+ {"version":3,"file":"tool-adapter.d.ts","names":[],"sources":["../../src/tools/tool-adapter.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAcA;;;;;;AAIO,iBAJS,mBAAA,CAIT,QAAA,EAHK,eAGL,EAAA,OAAA,EAFI,WAEJ,EAAA,OAAA,CAAA,EADI,OACJ,CADY,oBACZ,CAAA,CAAA,EAAJ,IAAI,CAAA,GAAA,EAAA,GAAA,CAAA;AA6BP;;;;;;;;AAIS,iBAJO,qBAAA,CAIP,SAAA,EAHI,eAGJ,EAAA,EAAA,QAAA,EAFG,GAEH,CAAA,MAAA,EAFe,WAEf,CAAA,EAAA,OAAA,CAAA,EADE,OACF,CADU,oBACV,CAAA,CAAA,EAAN,MAAM,CAAA,MAAA,EAAS,IAAT,CAAA,GAAA,EAAA,GAAA,CAAA,CAAA;AAyBT;;;;;;;;;;AAsBgB,iBAtBA,iBAsBiB,CAAA,SAAA,OAAA,EAAA,UAAA,MAAA,CAAA,CAAA,OAAA,EAAA,CAAA,KAAA,EApBtB,MAoBsB,EAAA,OAAA,EAnBpB,oBAmBoB,EAAA,GAlB1B,OAkB0B,CAlBlB,OAkBkB,CAAA,GAlBP,OAkBO,CAAA,EAjB9B,WAiB8B,CAjBlB,MAiBkB,EAjBV,OAiBU,CAAA;;;;;;;;;;;;iBAAjB,iBAAA,cACD,eAAe,eAC3B,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-adapter.js","names":["tools: Record<string, Tool<any, any>>"],"sources":["../../src/tools/tool-adapter.ts"],"sourcesContent":["import { tool, type Tool } from 'ai';\nimport type { AgentToolConfig } from '../spec/spec';\nimport type { ToolExecutionContext, ToolHandler } from '../types';\nimport { jsonSchemaToZodSafe } from '../schema/json-schema-to-zod';\n\n/**\n * Convert ContractSpec AgentToolConfig to AI SDK CoreTool.\n *\n * @param specTool - The tool configuration from AgentSpec\n * @param handler - The handler function for the tool\n * @param context - Partial context to inject into handler calls\n * @returns AI SDK CoreTool\n */\nexport function specToolToAISDKTool(\n specTool: AgentToolConfig,\n handler: ToolHandler,\n context: Partial<ToolExecutionContext> = {}\n): Tool<any, any> {\n return tool({\n description: specTool.description ?? specTool.name,\n // AI SDK v6 uses inputSchema instead of parameters\n inputSchema: jsonSchemaToZodSafe(specTool.schema),\n // AI SDK v6 native approval support\n needsApproval: specTool.requiresApproval ?? !specTool.automationSafe,\n execute: async (input) => {\n const result = await handler(input, {\n agentId: context.agentId ?? 'unknown',\n sessionId: context.sessionId ?? 'unknown',\n tenantId: context.tenantId,\n actorId: context.actorId,\n metadata: context.metadata,\n signal: context.signal,\n });\n return typeof result === 'string' ? result : JSON.stringify(result);\n },\n });\n}\n\n/**\n * Convert multiple ContractSpec tool configs to AI SDK tools.\n *\n * @param specTools - Array of tool configurations\n * @param handlers - Map of tool name to handler function\n * @param context - Partial context to inject into handler calls\n * @returns Record of AI SDK tools keyed by name\n */\nexport function specToolsToAISDKTools(\n specTools: AgentToolConfig[],\n handlers: Map<string, ToolHandler>,\n context: Partial<ToolExecutionContext> = {}\n): Record<string, Tool<any, any>> {\n const tools: Record<string, Tool<any, any>> = {};\n\n for (const specTool of specTools) {\n const handler = handlers.get(specTool.name);\n if (!handler) {\n throw new Error(`Missing handler for tool: ${specTool.name}`);\n }\n\n tools[specTool.name] = specToolToAISDKTool(specTool, handler, context);\n }\n\n return tools;\n}\n\n/**\n * Type-safe tool handler builder.\n *\n * @example\n * ```typescript\n * const handler = createToolHandler<{ query: string }>((input, ctx) => {\n * return `Searched for: ${input.query}`;\n * });\n * ```\n */\nexport function createToolHandler<TInput = unknown, TOutput = string>(\n handler: (\n input: TInput,\n context: ToolExecutionContext\n ) => Promise<TOutput> | TOutput\n): ToolHandler<TInput, TOutput> {\n return async (input, context) => {\n return handler(input as TInput, context);\n };\n}\n\n/**\n * Build a tool handlers map from an object.\n *\n * @example\n * ```typescript\n * const handlers = buildToolHandlers({\n * search: async (input: { query: string }) => `Found: ${input.query}`,\n * calculate: async (input: { a: number, b: number }) => `${input.a + input.b}`,\n * });\n * ```\n */\nexport function buildToolHandlers(\n handlersObj: Record<string, ToolHandler>\n): Map<string, ToolHandler> {\n return new Map(Object.entries(handlersObj));\n}\n"],"mappings":";;;;;;;;;;;;AAaA,SAAgB,oBACd,UACA,SACA,UAAyC,EAAE,EAC3B;AAChB,QAAO,KAAK;EACV,aAAa,SAAS,eAAe,SAAS;EAE9C,aAAa,oBAAoB,SAAS,OAAO;EAEjD,eAAe,SAAS,oBAAoB,CAAC,SAAS;EACtD,SAAS,OAAO,UAAU;GACxB,MAAM,SAAS,MAAM,QAAQ,OAAO;IAClC,SAAS,QAAQ,WAAW;IAC5B,WAAW,QAAQ,aAAa;IAChC,UAAU,QAAQ;IAClB,SAAS,QAAQ;IACjB,UAAU,QAAQ;IAClB,QAAQ,QAAQ;IACjB,CAAC;AACF,UAAO,OAAO,WAAW,WAAW,SAAS,KAAK,UAAU,OAAO;;EAEtE,CAAC;;;;;;;;;;AAWJ,SAAgB,sBACd,WACA,UACA,UAAyC,EAAE,EACX;CAChC,MAAMA,QAAwC,EAAE;AAEhD,MAAK,MAAM,YAAY,WAAW;EAChC,MAAM,UAAU,SAAS,IAAI,SAAS,KAAK;AAC3C,MAAI,CAAC,QACH,OAAM,IAAI,MAAM,6BAA6B,SAAS,OAAO;AAG/D,QAAM,SAAS,QAAQ,oBAAoB,UAAU,SAAS,QAAQ;;AAGxE,QAAO;;;;;;;;;;;;AAaT,SAAgB,kBACd,SAI8B;AAC9B,QAAO,OAAO,OAAO,YAAY;AAC/B,SAAO,QAAQ,OAAiB,QAAQ;;;;;;;;;;;;;;AAe5C,SAAgB,kBACd,aAC0B;AAC1B,QAAO,IAAI,IAAI,OAAO,QAAQ,YAAY,CAAC"}
1
+ {"version":3,"file":"tool-adapter.js","names":["tools: Record<string, Tool<any, any>>"],"sources":["../../src/tools/tool-adapter.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { tool, type Tool } from 'ai';\nimport type { AgentToolConfig } from '../spec/spec';\nimport type { ToolExecutionContext, ToolHandler } from '../types';\nimport { jsonSchemaToZodSafe } from '../schema/json-schema-to-zod';\n\n/**\n * Convert ContractSpec AgentToolConfig to AI SDK CoreTool.\n *\n * @param specTool - The tool configuration from AgentSpec\n * @param handler - The handler function for the tool\n * @param context - Partial context to inject into handler calls\n * @returns AI SDK CoreTool\n */\nexport function specToolToAISDKTool(\n specTool: AgentToolConfig,\n handler: ToolHandler,\n context: Partial<ToolExecutionContext> = {}\n): Tool<any, any> {\n return tool({\n description: specTool.description ?? specTool.name,\n // AI SDK v6 uses inputSchema instead of parameters\n inputSchema: jsonSchemaToZodSafe(specTool.schema),\n // AI SDK v6 native approval support\n needsApproval: specTool.requiresApproval ?? !specTool.automationSafe,\n execute: async (input) => {\n const result = await handler(input, {\n agentId: context.agentId ?? 'unknown',\n sessionId: context.sessionId ?? 'unknown',\n tenantId: context.tenantId,\n actorId: context.actorId,\n metadata: context.metadata,\n signal: context.signal,\n });\n return typeof result === 'string' ? result : JSON.stringify(result);\n },\n });\n}\n\n/**\n * Convert multiple ContractSpec tool configs to AI SDK tools.\n *\n * @param specTools - Array of tool configurations\n * @param handlers - Map of tool name to handler function\n * @param context - Partial context to inject into handler calls\n * @returns Record of AI SDK tools keyed by name\n */\nexport function specToolsToAISDKTools(\n specTools: AgentToolConfig[],\n handlers: Map<string, ToolHandler>,\n context: Partial<ToolExecutionContext> = {}\n): Record<string, Tool<any, any>> {\n const tools: Record<string, Tool<any, any>> = {};\n\n for (const specTool of specTools) {\n const handler = handlers.get(specTool.name);\n if (!handler) {\n throw new Error(`Missing handler for tool: ${specTool.name}`);\n }\n\n tools[specTool.name] = specToolToAISDKTool(specTool, handler, context);\n }\n\n return tools;\n}\n\n/**\n * Type-safe tool handler builder.\n *\n * @example\n * ```typescript\n * const handler = createToolHandler<{ query: string }>((input, ctx) => {\n * return `Searched for: ${input.query}`;\n * });\n * ```\n */\nexport function createToolHandler<TInput = unknown, TOutput = string>(\n handler: (\n input: TInput,\n context: ToolExecutionContext\n ) => Promise<TOutput> | TOutput\n): ToolHandler<TInput, TOutput> {\n return async (input, context) => {\n return handler(input as TInput, context);\n };\n}\n\n/**\n * Build a tool handlers map from an object.\n *\n * @example\n * ```typescript\n * const handlers = buildToolHandlers({\n * search: async (input: { query: string }) => `Found: ${input.query}`,\n * calculate: async (input: { a: number, b: number }) => `${input.a + input.b}`,\n * });\n * ```\n */\nexport function buildToolHandlers(\n handlersObj: Record<string, ToolHandler>\n): Map<string, ToolHandler> {\n return new Map(Object.entries(handlersObj));\n}\n"],"mappings":";;;;;;;;;;;;AAcA,SAAgB,oBACd,UACA,SACA,UAAyC,EAAE,EAC3B;AAChB,QAAO,KAAK;EACV,aAAa,SAAS,eAAe,SAAS;EAE9C,aAAa,oBAAoB,SAAS,OAAO;EAEjD,eAAe,SAAS,oBAAoB,CAAC,SAAS;EACtD,SAAS,OAAO,UAAU;GACxB,MAAM,SAAS,MAAM,QAAQ,OAAO;IAClC,SAAS,QAAQ,WAAW;IAC5B,WAAW,QAAQ,aAAa;IAChC,UAAU,QAAQ;IAClB,SAAS,QAAQ;IACjB,UAAU,QAAQ;IAClB,QAAQ,QAAQ;IACjB,CAAC;AACF,UAAO,OAAO,WAAW,WAAW,SAAS,KAAK,UAAU,OAAO;;EAEtE,CAAC;;;;;;;;;;AAWJ,SAAgB,sBACd,WACA,UACA,UAAyC,EAAE,EACX;CAChC,MAAMA,QAAwC,EAAE;AAEhD,MAAK,MAAM,YAAY,WAAW;EAChC,MAAM,UAAU,SAAS,IAAI,SAAS,KAAK;AAC3C,MAAI,CAAC,QACH,OAAM,IAAI,MAAM,6BAA6B,SAAS,OAAO;AAG/D,QAAM,SAAS,QAAQ,oBAAoB,UAAU,SAAS,QAAQ;;AAGxE,QAAO;;;;;;;;;;;;AAaT,SAAgB,kBACd,SAI8B;AAC9B,QAAO,OAAO,OAAO,YAAY;AAC/B,SAAO,QAAQ,OAAiB,QAAQ;;;;;;;;;;;;;;AAe5C,SAAgB,kBACd,aAC0B;AAC1B,QAAO,IAAI,IAAI,OAAO,QAAQ,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":";;;;;;AAUA;AAWA;AAeiB,UA1BA,YAAA,CA0BY;EAUjB,IAAA,EAAA,WAAW;EAQX,UAAA,EAAA,MAAc;EAaT,QAAA,EAAA,MAAA;EAiBA,IAAA,EAAA,OAAA;AAejB;;;;;AAQa,UAtFI,cAAA,CAsFJ;EACA,IAAA,EAAA,aAAA;EACA,UAAA,EAAA,MAAA;EAAM,QAAA,EAAA,MAAA;EAOF,MAAA,EAAA,OAAA;AAajB;;;;;AAA8D,UA7F7C,YAAA,CA6F6C;EAS7C,IAAA,EAAA,MAAA,GAAA,WAAmB,GAAA,QAAA,GAAA,MAAA;EAIzB,OAAA,EAAA,MAAA,GAAA;IAES,IAAA,EAAA,MAAA;IAAX,IAAA,CAAA,EAAA,MAAA;IAEI,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAEE,CAAA,EAAA;EAWL,QAAA,CAAA,EAxHG,MAwHH,CAAA,MAAA,EAAA,MAAA,CAAA;;AAEmB,KAnHjB,WAAA,GAmHiB,MAAA,GAAA,SAAA,GAAA,SAAA,GAAA,WAAA,GAAA,QAAA,GAAA,WAAA;AAgBZ,KA3HL,cAAA,GA2HyB,uBAM1B,GAAA,uBAAW,GAAA,oBAAA,GAAA,sBAAA,GAAA,mBAAA,GAAA,sBAAA,GAAA,mBAAA,GAAA,+BAAA,GAAA,iBAAA,GAAA,iBAAA,GAAA,cAAA;AAMV,UA1HK,iBAAA,CA0HM;EACd,SAAA,EAAA,MAAA;EACE,OAAA,EAAA,MAAA;EACE,QAAA,CAAA,EAAA,MAAA;EAAR,SAAA,CAAA,EAAA,MAAA;EAAO,QAAA,CAAA,EAAA,MAAA;EAMK,QAAA,CAAA,EA7HJ,MA6HI,CAAA,MAAgB,EAAA,OAUvB,CAAA;AAQV;;;;;AAUiB,UA9IA,gBAAA,CA8IoB;EAYpB;EAYA,QAAA,CAAA,EAAA,MAAA;EAWA;EACN,OAAA,CAAA,EAAA,MAAA;EAGE;EACG,SAAA,CAAA,EAAA,MAAA;EAAyB;EAAiB,QAAA,CAAA,EA9K7C,MA8K6C,CAAA,MAAA,EAAA,MAAA,CAAA;AAI1D;UA3KiB,iBAAA;;;;;UAKP;YACE;SACH,WAAW;aACP;aACA;aACA;;UAOI,mBAAA;;;;;;YAML;;;;WAID;;UAGM,iBAAA,SAA0B;;wBAEnB,WAAW,oBAAoB;;UAOtC;;;;WAIN;;SAEF,WAAW;;aAEP;;eAEE;;;;UAWL;;YAEE;;;;;;;;;;;UAgBK,oBAAA;;;;;aAKJ;WACF;;;;;KAMC,0DACH,iBACE,yBACN,QAAQ;UAMI,gBAAA;;;;;;;;;;UAUP;aACG;;KAOD,iBAAA,WACH,yBACE,6BACC;;UAOK,oBAAA;;;;;;;aAOJ;;;;UAKI,cAAA;WACN;;;;;;;mBAOQ;;;UAIF,mBAAA;;;aAGJ;gBACG;;;;;;UAOC,gBAAA;WACN;;;aAGE;gBACG,yBAAyB;;;UAIxB,eAAA;;;;;;;aAGJ"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":";;;;;;AAUA;AAWA;AAeiB,UA1BA,YAAA,CA6BJ;EAOD,IAAA,EAAA,WAAW;EAQX,UAAA,EAAA,MAAc;EAaT,QAAA,EAAA,MAAA;EAiBA,IAAA,EAAA,OAAA;AAejB;;;;;AAQa,UAtFI,cAAA,CAsFJ;EACA,IAAA,EAAA,aAAA;EACA,UAAA,EAAA,MAAA;EAAM,QAAA,EAAA,MAAA;EAOF,MAAA,EAAA,OAAA;AAajB;;;;;AAA8D,UA7F7C,YAAA,CA6F6C;EAS7C,IAAA,EAAA,MAAA,GAAA,WAAmB,GAAA,QAAA,GAAA,MAAA;EAIzB,OAAA,EAAA,MAAA,GAAA;IAES,IAAA,EAAA,MAAA;IAAX,IAAA,CAAA,EAAA,MAAA;IAEI,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAEE,CAAA,EAAA;EAWL,QAAA,CAAA,EAxHG,MAwHH,CAAA,MAAA,EAAA,MAAA,CAAA;;AAEmB,KAnHjB,WAAA,GAmHiB,MAAA,GAAA,SAAA,GAAA,SAAA,GAAA,WAAA,GAAA,QAAA,GAAA,WAAA;AAgBZ,KA3HL,cAAA,GA2HyB,uBAM1B,GAAA,uBAAW,GAAA,oBAAA,GAAA,sBAAA,GAAA,mBAAA,GAAA,sBAAA,GAAA,mBAAA,GAAA,+BAAA,GAAA,iBAAA,GAAA,iBAAA,GAAA,cAAA;AAMV,UA1HK,iBAAA,CA0HM;EACd,SAAA,EAAA,MAAA;EACE,OAAA,EAAA,MAAA;EACE,QAAA,CAAA,EAAA,MAAA;EAAR,SAAA,CAAA,EAAA,MAAA;EAAO,QAAA,CAAA,EAAA,MAAA;EAMK,QAAA,CAAA,EA7HJ,MA6HI,CAAA,MAAgB,EAAA,OAUvB,CAAA;AAQV;;;;;AAUiB,UA9IA,gBAAA,CA8IoB;EAYpB;EAYA,QAAA,CAAA,EAAA,MAAA;EAWA;EACN,OAAA,CAAA,EAAA,MAAA;EAGE;EACG,SAAA,CAAA,EAAA,MAAA;EAAyB;EAAiB,QAAA,CAAA,EA9K7C,MA8K6C,CAAA,MAAA,EAAA,MAAA,CAAA;AAI1D;UA3KiB,iBAAA;;;;;UAKP;YACE;SACH,WAAW;aACP;aACA;aACA;;UAOI,mBAAA;;;;;;YAML;;;;WAID;;UAGM,iBAAA,SAA0B;;wBAEnB,WAAW,oBAAoB;;UAOtC;;;;WAIN;;SAEF,WAAW;;aAEP;;eAEE;;;;UAWL;;YAEE;;;;;;;;;;;UAgBK,oBAAA;;;;;aAKJ;WACF;;;;;KAMC,0DACH,iBACE,yBACN,QAAQ;UAMI,gBAAA;;;;;;;;;;UAUP;aACG;;KAOD,iBAAA,WACH,yBACE,6BACC;;UAOK,oBAAA;;;;;;;aAOJ;;;;UAKI,cAAA;WACN;;;;;;;mBAOQ;;;UAIF,mBAAA;;;aAGJ;gBACG;;;;;;UAOC,gBAAA;WACN;;;aAGE;gBACG,yBAAyB;;;UAIxB,eAAA;;;;;;;aAGJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lssm/lib.ai-agent",
3
- "version": "0.0.0-canary-20251220002821",
3
+ "version": "0.0.0-canary-20251220021406",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -30,13 +30,13 @@
30
30
  "@ai-sdk/mistral": "beta",
31
31
  "@ai-sdk/openai": "beta",
32
32
  "@modelcontextprotocol/sdk": "^1.24.3",
33
- "@lssm/lib.contracts": "0.0.0-canary-20251220002821",
34
- "@lssm/lib.knowledge": "0.0.0-canary-20251220002821",
33
+ "@lssm/lib.contracts": "0.0.0-canary-20251220021406",
34
+ "@lssm/lib.knowledge": "0.0.0-canary-20251220021406",
35
35
  "zod": "^4.1.13"
36
36
  },
37
37
  "devDependencies": {
38
- "@lssm/tool.tsdown": "0.0.0-canary-20251220002821",
39
- "@lssm/tool.typescript": "0.0.0-canary-20251220002821",
38
+ "@lssm/tool.tsdown": "0.0.0-canary-20251220021406",
39
+ "@lssm/tool.typescript": "0.0.0-canary-20251220021406",
40
40
  "tsdown": "^0.18.1",
41
41
  "typescript": "^5.9.3"
42
42
  },