🚀. Socket Launch Week Day 3:Socket Firewall Now Blocks Malicious VS Code and Open VSX Extensions.Learn more
Sign In

@loopstack/custom-tool-example-module

Package Overview
Dependencies
Maintainers
1
Versions
32
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@loopstack/custom-tool-example-module - npm Package Compare versions

Comparing version
0.23.0
to
0.23.1
+2
-2
dist/tools/counter.tool.d.ts
import { BaseTool, ToolResult } from '@loopstack/common';
import type { LoopstackContext } from '@loopstack/common';
import type { RunContext } from '@loopstack/common';
export type CounterToolResult = number;
export declare class CounterTool extends BaseTool<object, object, CounterToolResult> {
count: number;
protected handle(_args: object | undefined, _ctx: LoopstackContext): Promise<ToolResult<CounterToolResult>>;
protected handle(_args: object | undefined, _ctx: RunContext): Promise<ToolResult<CounterToolResult>>;
}
//# sourceMappingURL=counter.tool.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"counter.tool.d.ts","sourceRoot":"","sources":["../../src/tools/counter.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAQ,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC,qBAIa,WAAY,SAAQ,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;IAC1E,KAAK,EAAE,MAAM,CAAK;cAEF,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;CAIlH"}
{"version":3,"file":"counter.tool.d.ts","sourceRoot":"","sources":["../../src/tools/counter.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAQ,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC,qBAIa,WAAY,SAAQ,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;IAC1E,KAAK,EAAE,MAAM,CAAK;cAEF,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;CAI5G"}

@@ -1,1 +0,1 @@

{"version":3,"file":"counter.tool.js","sourceRoot":"","sources":["../../src/tools/counter.tool.ts"],"names":[],"mappings":";;;;;;;;;AAAA,8CAA+D;AASxD,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,iBAA2C;IAC1E,KAAK,GAAW,CAAC,CAAC;IAER,KAAK,CAAC,MAAM,CAAC,KAAyB,EAAE,IAAsB;QACtE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC;CACF,CAAA;AAPY,kCAAW;sBAAX,WAAW;IAJvB,IAAA,aAAI,EAAC;QACJ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,eAAe;KAC7B,CAAC;GACW,WAAW,CAOvB"}
{"version":3,"file":"counter.tool.js","sourceRoot":"","sources":["../../src/tools/counter.tool.ts"],"names":[],"mappings":";;;;;;;;;AAAA,8CAA+D;AASxD,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,iBAA2C;IAC1E,KAAK,GAAW,CAAC,CAAC;IAER,KAAK,CAAC,MAAM,CAAC,KAAyB,EAAE,IAAgB;QAChE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC;CACF,CAAA;AAPY,kCAAW;sBAAX,WAAW;IAJvB,IAAA,aAAI,EAAC;QACJ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,eAAe;KAC7B,CAAC;GACW,WAAW,CAOvB"}
import { z } from 'zod';
import { BaseTool, ToolResult } from '@loopstack/common';
import type { LoopstackContext } from '@loopstack/common';
import type { RunContext } from '@loopstack/common';
import { MathService } from '../services/math.service';

@@ -14,5 +14,5 @@ declare const MathSumSchema: z.ZodObject<{

constructor(mathService: MathService);
protected handle(args: MathSumArgs, _ctx: LoopstackContext): Promise<ToolResult<MathSumToolResult>>;
protected handle(args: MathSumArgs, _ctx: RunContext): Promise<ToolResult<MathSumToolResult>>;
}
export {};
//# sourceMappingURL=math-sum.tool.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"math-sum.tool.d.ts","sourceRoot":"","sources":["../../src/tools/math-sum.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAQ,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,QAAA,MAAM,aAAa;;;kBAKR,CAAC;AAEZ,KAAK,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC,qBAKa,WAAY,SAAQ,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,CAAC;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;cAIrC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;CAI1G"}
{"version":3,"file":"math-sum.tool.d.ts","sourceRoot":"","sources":["../../src/tools/math-sum.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAQ,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,QAAA,MAAM,aAAa;;;kBAKR,CAAC;AAEZ,KAAK,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC,qBAKa,WAAY,SAAQ,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,CAAC;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;cAIrC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;CAIpG"}

@@ -1,1 +0,1 @@

{"version":3,"file":"math-sum.tool.js","sourceRoot":"","sources":["../../src/tools/math-sum.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAAwB;AACxB,8CAA+D;AAE/D,2DAAuD;AAEvD,MAAM,aAAa,GAAG,OAAC;KACpB,MAAM,CAAC;IACN,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;IACb,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;CACd,CAAC;KACD,MAAM,EAAE,CAAC;AAWL,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,iBAAgD;IAClD;IAA7B,YAA6B,WAAwB;QACnD,KAAK,EAAE,CAAC;QADmB,gBAAW,GAAX,WAAW,CAAa;IAErD,CAAC;IAES,KAAK,CAAC,MAAM,CAAC,IAAiB,EAAE,IAAsB;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,CAAC;CACF,CAAA;AATY,kCAAW;sBAAX,WAAW;IALvB,IAAA,aAAI,EAAC;QACJ,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,8EAA8E;QAC3F,MAAM,EAAE,aAAa;KACtB,CAAC;qCAE0C,0BAAW;GAD1C,WAAW,CASvB"}
{"version":3,"file":"math-sum.tool.js","sourceRoot":"","sources":["../../src/tools/math-sum.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAAwB;AACxB,8CAA+D;AAE/D,2DAAuD;AAEvD,MAAM,aAAa,GAAG,OAAC;KACpB,MAAM,CAAC;IACN,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;IACb,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;CACd,CAAC;KACD,MAAM,EAAE,CAAC;AAWL,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,iBAAgD;IAClD;IAA7B,YAA6B,WAAwB;QACnD,KAAK,EAAE,CAAC;QADmB,gBAAW,GAAX,WAAW,CAAa;IAErD,CAAC;IAES,KAAK,CAAC,MAAM,CAAC,IAAiB,EAAE,IAAgB;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,CAAC;CACF,CAAA;AATY,kCAAW;sBAAX,WAAW;IALvB,IAAA,aAAI,EAAC;QACJ,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,8EAA8E;QAC3F,MAAM,EAAE,aAAa;KACtB,CAAC;qCAE0C,0BAAW;GAD1C,WAAW,CASvB"}
import { BaseWorkflow } from '@loopstack/common';
import type { LoopstackContext } from '@loopstack/common';
import type { RunContext } from '@loopstack/common';
import { MathSumTool } from '../tools';

@@ -15,3 +15,3 @@ import { CounterTool } from '../tools';

constructor(counterTool: CounterTool, mathTool: MathSumTool);
calculate(state: CustomToolExampleState, ctx: LoopstackContext): Promise<CustomToolExampleState>;
calculate(state: CustomToolExampleState, ctx: RunContext): Promise<CustomToolExampleState>;
userContinue(state: CustomToolExampleState): Promise<CustomToolExampleState>;

@@ -18,0 +18,0 @@ continueCount(state: CustomToolExampleState): Promise<{

@@ -1,1 +0,1 @@

{"version":3,"file":"custom-tool-example.workflow.d.ts","sourceRoot":"","sources":["../../src/workflows/custom-tool-example.workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAyC,MAAM,mBAAmB,CAAC;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,UAAU,sBAAsB;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAYa,yBAA0B,SAAQ,YAAY,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,sBAAsB,CAAC;IAEzG,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,WAAW;IAMlC,SAAS,CAAC,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA+BhG,YAAY,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAM5E,aAAa,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAc1F,OAAO,CAAC,GAAG;CAGZ"}
{"version":3,"file":"custom-tool-example.workflow.d.ts","sourceRoot":"","sources":["../../src/workflows/custom-tool-example.workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAyC,MAAM,mBAAmB,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,UAAU,sBAAsB;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAYa,yBAA0B,SAAQ,YAAY,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,sBAAsB,CAAC;IAEzG,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,WAAW;IAMlC,SAAS,CAAC,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA+B1F,YAAY,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAM5E,aAAa,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAc1F,OAAO,CAAC,GAAG;CAGZ"}

@@ -1,1 +0,1 @@

{"version":3,"file":"custom-tool-example.workflow.js","sourceRoot":"","sources":["../../src/workflows/custom-tool-example.workflow.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"custom-tool-example.workflow.js","sourceRoot":"","sources":["../../src/workflows/custom-tool-example.workflow.ts"],"names":[],"mappings":"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"}

@@ -12,3 +12,3 @@ {

],
"version": "0.23.0",
"version": "0.23.1",
"license": "MIT",

@@ -34,3 +34,3 @@ "author": {

"dependencies": {
"@loopstack/common": "^0.32.0",
"@loopstack/common": "^0.33.0",
"@nestjs/common": "^11.1.19",

@@ -37,0 +37,0 @@ "zod": "^4.3.6"

@@ -0,1 +1,6 @@

---
title: Custom Tool Example
description: Example implementing custom tools in a Loopstack workflow — BaseTool subclass, @Tool decorator, Zod schema, tool registration and injection
---
# @loopstack/custom-tool-example-module

@@ -25,4 +30,22 @@

See [SETUP.md](./SETUP.md) for installation and setup instructions.
```bash
npm install @loopstack/custom-tool-example-module
```
Then register the module in your app:
```typescript
import { StudioApp } from '@loopstack/common';
import { CustomToolExampleWorkflow, CustomToolModule } from '@loopstack/custom-tool-example-module';
@StudioApp({
title: 'Custom Tool Example',
workflows: [CustomToolExampleWorkflow],
})
@Module({
imports: [CustomToolModule],
})
export class MyAppModule {}
```
## How It Works

@@ -29,0 +52,0 @@

import { BaseTool, Tool, ToolResult } from '@loopstack/common';
import type { LoopstackContext } from '@loopstack/common';
import type { RunContext } from '@loopstack/common';

@@ -13,3 +13,3 @@ export type CounterToolResult = number;

protected async handle(_args: object | undefined, _ctx: LoopstackContext): Promise<ToolResult<CounterToolResult>> {
protected async handle(_args: object | undefined, _ctx: RunContext): Promise<ToolResult<CounterToolResult>> {
this.count++;

@@ -16,0 +16,0 @@ return Promise.resolve({ data: this.count });

import { z } from 'zod';
import { BaseTool, Tool, ToolResult } from '@loopstack/common';
import type { LoopstackContext } from '@loopstack/common';
import type { RunContext } from '@loopstack/common';
import { MathService } from '../services/math.service';

@@ -27,3 +27,3 @@

protected async handle(args: MathSumArgs, _ctx: LoopstackContext): Promise<ToolResult<MathSumToolResult>> {
protected async handle(args: MathSumArgs, _ctx: RunContext): Promise<ToolResult<MathSumToolResult>> {
const sum = this.mathService.sum(args.a, args.b);

@@ -30,0 +30,0 @@ return Promise.resolve({ data: sum });

import { z } from 'zod';
import { BaseWorkflow, MessageDocument, Transition, Workflow } from '@loopstack/common';
import type { LoopstackContext } from '@loopstack/common';
import type { RunContext } from '@loopstack/common';
import { MathSumTool } from '../tools';

@@ -32,3 +32,3 @@ import { CounterTool } from '../tools';

@Transition({ to: 'waiting_for_user' })
async calculate(state: CustomToolExampleState, ctx: LoopstackContext): Promise<CustomToolExampleState> {
async calculate(state: CustomToolExampleState, ctx: RunContext): Promise<CustomToolExampleState> {
const args = ctx.args as { a: number; b: number };

@@ -35,0 +35,0 @@ // Use a custom tool