@loopstack/accessing-tool-results-example-workflow 0.23.0 → 0.23.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/README.md CHANGED
@@ -1,3 +1,8 @@
1
+ ---
2
+ title: Accessing Tool Results Example
3
+ description: Example workflow showing how to store and access data across workflow transitions using typed workflow state
4
+ ---
5
+
1
6
  # @loopstack/accessing-tool-results-example-workflow
2
7
 
3
8
  > A module for the [Loopstack AI](https://loopstack.ai) automation framework.
@@ -19,7 +24,28 @@ This example is useful for developers learning to build data-driven workflows th
19
24
 
20
25
  ## Installation
21
26
 
22
- See [SETUP.md](./SETUP.md) for installation and setup instructions.
27
+ ```bash
28
+ npm install @loopstack/accessing-tool-results-example-workflow
29
+ ```
30
+
31
+ Then register the module in your app:
32
+
33
+ ```typescript
34
+ import {
35
+ ToolResultsExampleModule,
36
+ WorkflowToolResultsWorkflow,
37
+ } from '@loopstack/accessing-tool-results-example-workflow';
38
+ import { StudioApp } from '@loopstack/common';
39
+
40
+ @StudioApp({
41
+ title: 'Tool Results Example',
42
+ workflows: [WorkflowToolResultsWorkflow],
43
+ })
44
+ @Module({
45
+ imports: [ToolResultsExampleModule],
46
+ })
47
+ export class MyAppModule {}
48
+ ```
23
49
 
24
50
  ## How It Works
25
51
 
@@ -57,7 +83,7 @@ async createSomeData(
57
83
  ): Promise<ToolResultsState> {
58
84
  await this.documentStore.save(MessageDocument, {
59
85
  role: 'assistant',
60
- content: `Stored in initial transition: Hello World.`,
86
+ text: `Stored in initial transition: Hello World.`,
61
87
  });
62
88
  return { ...state, storedMessage: 'Hello World.' };
63
89
  }
@@ -74,7 +100,7 @@ In a subsequent transition, read values from the `state` parameter:
74
100
  async accessData(ctx: WorkflowContext, state: ToolResultsState): Promise<unknown> {
75
101
  await this.documentStore.save(MessageDocument, {
76
102
  role: 'assistant',
77
- content: `Accessed from previous transition: ${state.storedMessage}`,
103
+ text: `Accessed from previous transition: ${state.storedMessage}`,
78
104
  });
79
105
  return {};
80
106
  }
@@ -107,7 +133,7 @@ export class WorkflowToolResultsWorkflow extends BaseWorkflow<Record<string, unk
107
133
  ): Promise<ToolResultsState> {
108
134
  await this.documentStore.save(MessageDocument, {
109
135
  role: 'assistant',
110
- content: `Stored in initial transition: Hello World.`,
136
+ text: `Stored in initial transition: Hello World.`,
111
137
  });
112
138
  return { ...state, storedMessage: 'Hello World.' };
113
139
  }
@@ -116,7 +142,7 @@ export class WorkflowToolResultsWorkflow extends BaseWorkflow<Record<string, unk
116
142
  async accessData(ctx: WorkflowContext, state: ToolResultsState): Promise<unknown> {
117
143
  await this.documentStore.save(MessageDocument, {
118
144
  role: 'assistant',
119
- content: `Accessed from previous transition: ${state.storedMessage}`,
145
+ text: `Accessed from previous transition: ${state.storedMessage}`,
120
146
  });
121
147
  return {};
122
148
  }
@@ -15,14 +15,14 @@ let WorkflowToolResultsWorkflow = class WorkflowToolResultsWorkflow extends comm
15
15
  async createSomeData(state) {
16
16
  await this.documentStore.save(common_1.MessageDocument, {
17
17
  role: 'assistant',
18
- content: `Stored in initial transition: Hello World.`,
18
+ text: `Stored in initial transition: Hello World.`,
19
19
  });
20
20
  return { ...state, storedMessage: 'Hello World.' };
21
21
  }
22
22
  async accessData(state) {
23
23
  await this.documentStore.save(common_1.MessageDocument, {
24
24
  role: 'assistant',
25
- content: `Accessed from previous transition: ${state.storedMessage}`,
25
+ text: `Accessed from previous transition: ${state.storedMessage}`,
26
26
  });
27
27
  return {};
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-tool-results.workflow.js","sourceRoot":"","sources":["../src/workflow-tool-results.workflow.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAwF;AASjF,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,qBAAuD;IAEhG,AAAN,KAAK,CAAC,cAAc,CAAC,KAAuB;QAC1C,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,wBAAe,EAAE;YAC7C,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,4CAA4C;SACtD,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC;IACrD,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU,CAAC,KAAuB;QACtC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,wBAAe,EAAE;YAC7C,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,sCAAsC,KAAK,CAAC,aAAa,EAAE;SACrE,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;CACF,CAAA;AAlBY,kEAA2B;AAEhC;IADL,IAAA,mBAAU,EAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC;;;;iEAOlC;AAGK;IADL,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;;;;6DAO/C;sCAjBU,2BAA2B;IAHvC,IAAA,iBAAQ,EAAC;QACR,KAAK,EAAE,sBAAsB;KAC9B,CAAC;GACW,2BAA2B,CAkBvC"}
1
+ {"version":3,"file":"workflow-tool-results.workflow.js","sourceRoot":"","sources":["../src/workflow-tool-results.workflow.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAwF;AASjF,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,qBAAuD;IAEhG,AAAN,KAAK,CAAC,cAAc,CAAC,KAAuB;QAC1C,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,wBAAe,EAAE;YAC7C,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,4CAA4C;SACnD,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC;IACrD,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU,CAAC,KAAuB;QACtC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,wBAAe,EAAE;YAC7C,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,sCAAsC,KAAK,CAAC,aAAa,EAAE;SAClE,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;CACF,CAAA;AAlBY,kEAA2B;AAEhC;IADL,IAAA,mBAAU,EAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC;;;;iEAOlC;AAGK;IADL,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;;;;6DAO/C;sCAjBU,2BAA2B;IAHvC,IAAA,iBAAQ,EAAC;QACR,KAAK,EAAE,sBAAsB;KAC9B,CAAC;GACW,2BAA2B,CAkBvC"}
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "tool",
11
11
  "workflow"
12
12
  ],
13
- "version": "0.23.0",
13
+ "version": "0.23.2",
14
14
  "license": "MIT",
15
15
  "author": {
16
16
  "name": "Jakob Klippel",
@@ -31,7 +31,7 @@
31
31
  "watch": "nest build --watch"
32
32
  },
33
33
  "dependencies": {
34
- "@loopstack/common": "^0.32.0",
34
+ "@loopstack/common": "^0.34.0",
35
35
  "@nestjs/common": "^11.1.19",
36
36
  "zod": "^4.3.6"
37
37
  },
@@ -37,7 +37,7 @@ describe('WorkflowToolResultsWorkflow', () => {
37
37
  documentName: 'message',
38
38
  content: expect.objectContaining({
39
39
  role: 'assistant',
40
- content: 'Stored in initial transition: Hello World.',
40
+ text: 'Stored in initial transition: Hello World.',
41
41
  }),
42
42
  }),
43
43
  ]),
@@ -56,7 +56,7 @@ describe('WorkflowToolResultsWorkflow', () => {
56
56
  documentName: 'message',
57
57
  content: expect.objectContaining({
58
58
  role: 'assistant',
59
- content: 'Accessed from previous transition: Hello World.',
59
+ text: 'Accessed from previous transition: Hello World.',
60
60
  }),
61
61
  }),
62
62
  ]),
@@ -12,7 +12,7 @@ export class WorkflowToolResultsWorkflow extends BaseWorkflow<Record<string, unk
12
12
  async createSomeData(state: ToolResultsState): Promise<ToolResultsState> {
13
13
  await this.documentStore.save(MessageDocument, {
14
14
  role: 'assistant',
15
- content: `Stored in initial transition: Hello World.`,
15
+ text: `Stored in initial transition: Hello World.`,
16
16
  });
17
17
  return { ...state, storedMessage: 'Hello World.' };
18
18
  }
@@ -21,7 +21,7 @@ export class WorkflowToolResultsWorkflow extends BaseWorkflow<Record<string, unk
21
21
  async accessData(state: ToolResultsState): Promise<unknown> {
22
22
  await this.documentStore.save(MessageDocument, {
23
23
  role: 'assistant',
24
- content: `Accessed from previous transition: ${state.storedMessage}`,
24
+ text: `Accessed from previous transition: ${state.storedMessage}`,
25
25
  });
26
26
  return {};
27
27
  }