@runtypelabs/sdk 0.3.0 → 0.5.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/README.md +52 -48
- package/dist/case-types.d.ts.map +1 -1
- package/dist/client-token-types.d.ts +47 -47
- package/dist/client-token-types.d.ts.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +33 -27
- package/dist/client.js.map +1 -1
- package/dist/endpoints.d.ts +12 -12
- package/dist/endpoints.d.ts.map +1 -1
- package/dist/endpoints.js +15 -16
- package/dist/endpoints.js.map +1 -1
- package/dist/eval-builder.d.ts.map +1 -1
- package/dist/eval-builder.js.map +1 -1
- package/dist/evals-namespace.d.ts.map +1 -1
- package/dist/evals-namespace.js +1 -1
- package/dist/evals-namespace.js.map +1 -1
- package/dist/flow-builder.d.ts +16 -0
- package/dist/flow-builder.d.ts.map +1 -1
- package/dist/flow-builder.js +26 -3
- package/dist/flow-builder.js.map +1 -1
- package/dist/flow-result.js +2 -2
- package/dist/flow-result.js.map +1 -1
- package/dist/flows-namespace.d.ts.map +1 -1
- package/dist/flows-namespace.js +20 -11
- package/dist/flows-namespace.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/prompts-namespace.js +2 -2
- package/dist/runtype.d.ts.map +1 -1
- package/dist/runtype.js +7 -7
- package/dist/runtype.js.map +1 -1
- package/dist/stream-utils.d.ts.map +1 -1
- package/dist/stream-utils.js +3 -1
- package/dist/stream-utils.js.map +1 -1
- package/dist/transform.d.ts +1 -1
- package/dist/transform.d.ts.map +1 -1
- package/dist/transform.js +8 -9
- package/dist/transform.js.map +1 -1
- package/dist/types.d.ts +52 -40
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -22,7 +22,7 @@ import { RuntypeClient } from '@runtypelabs/sdk'
|
|
|
22
22
|
// Initialize the client
|
|
23
23
|
const runtype = new RuntypeClient({
|
|
24
24
|
apiKey: 'your-api-key',
|
|
25
|
-
baseUrl: 'https://api.runtype.com' // optional, defaults to production
|
|
25
|
+
baseUrl: 'https://api.runtype.com', // optional, defaults to production
|
|
26
26
|
})
|
|
27
27
|
|
|
28
28
|
// Use the FlowBuilder for intuitive flow construction
|
|
@@ -32,13 +32,13 @@ const result = await runtype
|
|
|
32
32
|
.fetchUrl({
|
|
33
33
|
name: 'Fetch Content',
|
|
34
34
|
url: '{{_record.metadata.url}}',
|
|
35
|
-
outputVariable: 'content'
|
|
35
|
+
outputVariable: 'content',
|
|
36
36
|
})
|
|
37
37
|
.prompt({
|
|
38
38
|
name: 'Analyze',
|
|
39
39
|
model: 'gpt-4',
|
|
40
40
|
userPrompt: 'Analyze this content: {{content}}',
|
|
41
|
-
responseFormat: 'json'
|
|
41
|
+
responseFormat: 'json',
|
|
42
42
|
})
|
|
43
43
|
.run({ streamResponse: true, flowMode: 'virtual' })
|
|
44
44
|
|
|
@@ -75,13 +75,13 @@ const result = await runtype
|
|
|
75
75
|
name: 'Capture Screenshot',
|
|
76
76
|
url: '{{_record.metadata.url}}',
|
|
77
77
|
fetchMethod: 'firecrawl',
|
|
78
|
-
outputVariable: 'screenshot'
|
|
78
|
+
outputVariable: 'screenshot',
|
|
79
79
|
})
|
|
80
80
|
.prompt({
|
|
81
81
|
name: 'Analyze',
|
|
82
82
|
model: 'gemini-2.5-flash',
|
|
83
83
|
userPrompt: 'Analyze the screenshot and extract color themes...',
|
|
84
|
-
responseFormat: 'json'
|
|
84
|
+
responseFormat: 'json',
|
|
85
85
|
})
|
|
86
86
|
.run({ streamResponse: true, flowMode: 'virtual' })
|
|
87
87
|
|
|
@@ -95,12 +95,15 @@ const analysis = await result.getResult('Analyze')
|
|
|
95
95
|
const summary = await runtype
|
|
96
96
|
.flow('My Flow')
|
|
97
97
|
.prompt({ name: 'Process', model: 'gpt-4', userPrompt: '...' })
|
|
98
|
-
.run(
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
98
|
+
.run(
|
|
99
|
+
{ streamResponse: true },
|
|
100
|
+
{
|
|
101
|
+
onStepStart: (event) => console.log('Starting:', event.name),
|
|
102
|
+
onStepChunk: (chunk) => process.stdout.write(chunk),
|
|
103
|
+
onStepComplete: (result, event) => console.log('Done:', event.name),
|
|
104
|
+
onFlowComplete: (event) => console.log('Complete!'),
|
|
105
|
+
}
|
|
106
|
+
)
|
|
104
107
|
```
|
|
105
108
|
|
|
106
109
|
### Using Existing Flows
|
|
@@ -129,7 +132,7 @@ const flowBuilder = new FlowBuilder()
|
|
|
129
132
|
const flowResult = await flowBuilder.run(apiClient, {
|
|
130
133
|
streamResponse: true,
|
|
131
134
|
flowMode: 'virtual',
|
|
132
|
-
storeResults: true
|
|
135
|
+
storeResults: true,
|
|
133
136
|
})
|
|
134
137
|
|
|
135
138
|
// Get specific step result
|
|
@@ -141,24 +144,24 @@ const allResults = await flowResult.getAllResults()
|
|
|
141
144
|
|
|
142
145
|
### Available Step Methods
|
|
143
146
|
|
|
144
|
-
| Method
|
|
145
|
-
|
|
146
|
-
| `.prompt()`
|
|
147
|
-
| `.fetchUrl()`
|
|
148
|
-
| `.transformData()`
|
|
149
|
-
| `.setVariable()`
|
|
150
|
-
| `.conditional()`
|
|
151
|
-
| `.search()`
|
|
152
|
-
| `.sendEmail()`
|
|
153
|
-
| `.sendStream()`
|
|
154
|
-
| `.retrieveRecord()`
|
|
155
|
-
| `.upsertRecord()`
|
|
156
|
-
| `.vectorSearch()`
|
|
157
|
-
| `.generateEmbedding()` | `generate-embedding` | Create embedding
|
|
158
|
-
| `.waitUntil()`
|
|
159
|
-
| `.sendEvent()`
|
|
160
|
-
| `.sendText()`
|
|
161
|
-
| `.fetchGitHub()`
|
|
147
|
+
| Method | Step Type | Description |
|
|
148
|
+
| ---------------------- | -------------------- | ------------------------- |
|
|
149
|
+
| `.prompt()` | `prompt` | AI prompt execution |
|
|
150
|
+
| `.fetchUrl()` | `fetch-url` | HTTP/Firecrawl fetch |
|
|
151
|
+
| `.transformData()` | `transform-data` | JavaScript transformation |
|
|
152
|
+
| `.setVariable()` | `set-variable` | Set a variable |
|
|
153
|
+
| `.conditional()` | `conditional` | If/else branching |
|
|
154
|
+
| `.search()` | `search` | Web search (Exa, etc.) |
|
|
155
|
+
| `.sendEmail()` | `send-email` | Send email |
|
|
156
|
+
| `.sendStream()` | `send-stream` | Stream message to client |
|
|
157
|
+
| `.retrieveRecord()` | `retrieve-record` | Load record data |
|
|
158
|
+
| `.upsertRecord()` | `upsert-record` | Create/update record |
|
|
159
|
+
| `.vectorSearch()` | `vector-search` | Semantic search |
|
|
160
|
+
| `.generateEmbedding()` | `generate-embedding` | Create embedding |
|
|
161
|
+
| `.waitUntil()` | `wait-until` | Delay or poll |
|
|
162
|
+
| `.sendEvent()` | `send-event` | Analytics event |
|
|
163
|
+
| `.sendText()` | `send-text` | SMS message |
|
|
164
|
+
| `.fetchGitHub()` | `fetch-github` | GitHub API |
|
|
162
165
|
|
|
163
166
|
### Configuration Methods
|
|
164
167
|
|
|
@@ -222,7 +225,7 @@ await runtype.flows.delete('flow_123')
|
|
|
222
225
|
// List records with filtering
|
|
223
226
|
const records = await runtype.records.list({
|
|
224
227
|
metadataKeys: 'company,industry',
|
|
225
|
-
minFields: 5
|
|
228
|
+
minFields: 5,
|
|
226
229
|
})
|
|
227
230
|
|
|
228
231
|
// Create a record
|
|
@@ -231,14 +234,14 @@ const record = await runtype.records.create({
|
|
|
231
234
|
name: 'Acme Corp',
|
|
232
235
|
metadata: {
|
|
233
236
|
industry: 'Technology',
|
|
234
|
-
revenue: 1000000
|
|
235
|
-
}
|
|
237
|
+
revenue: 1000000,
|
|
238
|
+
},
|
|
236
239
|
})
|
|
237
240
|
|
|
238
241
|
// Bulk edit records
|
|
239
242
|
const result = await runtype.records.bulkEdit({
|
|
240
243
|
recordIds: ['rec_1', 'rec_2'],
|
|
241
|
-
updates: { status: 'processed' }
|
|
244
|
+
updates: { status: 'processed' },
|
|
242
245
|
})
|
|
243
246
|
```
|
|
244
247
|
|
|
@@ -252,7 +255,7 @@ const models = await runtype.modelConfigs.getAvailable()
|
|
|
252
255
|
const config = await runtype.modelConfigs.create({
|
|
253
256
|
provider: 'openai',
|
|
254
257
|
modelId: 'gpt-4',
|
|
255
|
-
apiKey: 'your-openai-key'
|
|
258
|
+
apiKey: 'your-openai-key',
|
|
256
259
|
})
|
|
257
260
|
|
|
258
261
|
// Set as default
|
|
@@ -267,7 +270,7 @@ const result = await runtype.dispatch.execute({
|
|
|
267
270
|
record: {
|
|
268
271
|
name: 'New Customer',
|
|
269
272
|
type: 'customer',
|
|
270
|
-
metadata: { industry: 'Tech' }
|
|
273
|
+
metadata: { industry: 'Tech' },
|
|
271
274
|
},
|
|
272
275
|
flow: {
|
|
273
276
|
name: 'Customer Analysis',
|
|
@@ -276,13 +279,13 @@ const result = await runtype.dispatch.execute({
|
|
|
276
279
|
name: 'Analyze Industry',
|
|
277
280
|
text: 'Analyze this {{metadata.industry}} company',
|
|
278
281
|
model: 'gpt-4',
|
|
279
|
-
responseFormat: 'json'
|
|
280
|
-
}
|
|
281
|
-
]
|
|
282
|
+
responseFormat: 'json',
|
|
283
|
+
},
|
|
284
|
+
],
|
|
282
285
|
},
|
|
283
286
|
options: {
|
|
284
|
-
streamResponse: true
|
|
285
|
-
}
|
|
287
|
+
streamResponse: true,
|
|
288
|
+
},
|
|
286
289
|
})
|
|
287
290
|
```
|
|
288
291
|
|
|
@@ -336,7 +339,7 @@ import type {
|
|
|
336
339
|
Prompt,
|
|
337
340
|
FlowBuilder,
|
|
338
341
|
FlowResult,
|
|
339
|
-
StreamCallbacks
|
|
342
|
+
StreamCallbacks,
|
|
340
343
|
} from '@runtypelabs/sdk'
|
|
341
344
|
|
|
342
345
|
// All types use camelCase field names
|
|
@@ -348,13 +351,14 @@ console.log(flow.createdAt) // TypeScript knows this is a string
|
|
|
348
351
|
|
|
349
352
|
```typescript
|
|
350
353
|
const runtype = new RuntypeClient({
|
|
351
|
-
apiKey: 'your-api-key',
|
|
354
|
+
apiKey: 'your-api-key', // Required for authenticated endpoints
|
|
352
355
|
baseUrl: 'https://api.runtype.com', // Optional, defaults to production
|
|
353
|
-
apiVersion: 'v1',
|
|
354
|
-
timeout: 30000,
|
|
355
|
-
headers: {
|
|
356
|
-
|
|
357
|
-
|
|
356
|
+
apiVersion: 'v1', // Optional, API version (default: 'v1')
|
|
357
|
+
timeout: 30000, // Optional, request timeout in ms (default: 30000)
|
|
358
|
+
headers: {
|
|
359
|
+
// Optional, additional headers
|
|
360
|
+
'X-Custom-Header': 'value',
|
|
361
|
+
},
|
|
358
362
|
})
|
|
359
363
|
```
|
|
360
364
|
|
package/dist/case-types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"case-types.d.ts","sourceRoot":"","sources":["../src/case-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"case-types.d.ts","sourceRoot":"","sources":["../src/case-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,GAChF,GAAG,CAAC,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,GAC1C,CAAC,CAAA;AAEL;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,GAC/E,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,GACpB,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,GACpB,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAC9B,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAC5C,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAChC,CAAC,CAAA;AAML;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IACvB,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACpB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GACrB,CAAC,SAAS,MAAM,GACd;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,kBAAkB,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACvE,CAAC,CAAA;AAET;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IACvB,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACpB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GACrB,CAAC,SAAS,MAAM,GACd;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,kBAAkB,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACvE,CAAC,CAAA"}
|
|
@@ -19,15 +19,15 @@ export type ClientTokenVersionPin = 'latest' | 'published' | string;
|
|
|
19
19
|
*/
|
|
20
20
|
export interface ClientWidgetTheme {
|
|
21
21
|
/** Primary brand color */
|
|
22
|
-
|
|
22
|
+
primaryColor?: string;
|
|
23
23
|
/** Background color */
|
|
24
|
-
|
|
24
|
+
backgroundColor?: string;
|
|
25
25
|
/** Text color */
|
|
26
|
-
|
|
26
|
+
textColor?: string;
|
|
27
27
|
/** Font family */
|
|
28
|
-
|
|
28
|
+
fontFamily?: string;
|
|
29
29
|
/** Border radius for elements */
|
|
30
|
-
|
|
30
|
+
borderRadius?: string;
|
|
31
31
|
/** Light or dark mode */
|
|
32
32
|
mode?: 'light' | 'dark';
|
|
33
33
|
}
|
|
@@ -36,13 +36,13 @@ export interface ClientWidgetTheme {
|
|
|
36
36
|
*/
|
|
37
37
|
export interface ClientTokenConfig {
|
|
38
38
|
/** Welcome message shown when widget opens */
|
|
39
|
-
|
|
39
|
+
welcomeMessage?: string;
|
|
40
40
|
/** Input placeholder text */
|
|
41
41
|
placeholder?: string;
|
|
42
42
|
/** Theme configuration */
|
|
43
43
|
theme?: ClientWidgetTheme;
|
|
44
44
|
/** Custom data passed to flows */
|
|
45
|
-
|
|
45
|
+
customData?: Record<string, any>;
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
48
|
* Client token data returned from the API
|
|
@@ -50,38 +50,38 @@ export interface ClientTokenConfig {
|
|
|
50
50
|
export interface ClientToken {
|
|
51
51
|
id: string;
|
|
52
52
|
name: string | null;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
flowIds: string[];
|
|
54
|
+
defaultFlowId: string;
|
|
55
|
+
allowedOrigins: string[];
|
|
56
56
|
environment: ClientTokenEnvironment;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
pinToVersion: ClientTokenVersionPin | null;
|
|
58
|
+
rateLimitPerMinute: number | null;
|
|
59
|
+
rateLimitPerHour: number | null;
|
|
60
|
+
maxMessagesPerSession: number | null;
|
|
61
|
+
sessionIdleTimeoutMinutes: number | null;
|
|
62
62
|
config: ClientTokenConfig;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
63
|
+
isActive: boolean;
|
|
64
|
+
tokenPrefix: string;
|
|
65
|
+
tokenHint: string | null;
|
|
66
|
+
conversationCount?: number;
|
|
67
|
+
lastUsedAt: string | null;
|
|
68
|
+
createdAt: string;
|
|
69
|
+
updatedAt: string;
|
|
70
70
|
}
|
|
71
71
|
/**
|
|
72
72
|
* Request to create a client token
|
|
73
73
|
*/
|
|
74
74
|
export interface CreateClientTokenRequest {
|
|
75
75
|
name: string;
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
flowIds: string[];
|
|
77
|
+
defaultFlowId: string;
|
|
78
|
+
allowedOrigins: string[];
|
|
79
79
|
environment?: ClientTokenEnvironment;
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
80
|
+
pinToVersion?: ClientTokenVersionPin;
|
|
81
|
+
rateLimitPerMinute?: number;
|
|
82
|
+
rateLimitPerHour?: number;
|
|
83
|
+
maxMessagesPerSession?: number;
|
|
84
|
+
sessionIdleTimeoutMinutes?: number;
|
|
85
85
|
config?: ClientTokenConfig;
|
|
86
86
|
}
|
|
87
87
|
/**
|
|
@@ -89,16 +89,16 @@ export interface CreateClientTokenRequest {
|
|
|
89
89
|
*/
|
|
90
90
|
export interface UpdateClientTokenRequest {
|
|
91
91
|
name?: string;
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
92
|
+
flowIds?: string[];
|
|
93
|
+
defaultFlowId?: string;
|
|
94
|
+
allowedOrigins?: string[];
|
|
95
|
+
pinToVersion?: ClientTokenVersionPin;
|
|
96
|
+
rateLimitPerMinute?: number;
|
|
97
|
+
rateLimitPerHour?: number;
|
|
98
|
+
maxMessagesPerSession?: number;
|
|
99
|
+
sessionIdleTimeoutMinutes?: number;
|
|
100
100
|
config?: ClientTokenConfig;
|
|
101
|
-
|
|
101
|
+
isActive?: boolean;
|
|
102
102
|
}
|
|
103
103
|
/**
|
|
104
104
|
* Security warning for token configuration
|
|
@@ -111,10 +111,10 @@ export interface SecurityWarning {
|
|
|
111
111
|
* Response from creating a client token
|
|
112
112
|
*/
|
|
113
113
|
export interface CreateClientTokenResponse {
|
|
114
|
-
|
|
114
|
+
clientToken: ClientToken;
|
|
115
115
|
/** The plain token value - only shown once! */
|
|
116
116
|
token: string;
|
|
117
|
-
|
|
117
|
+
embedCode: {
|
|
118
118
|
script: string;
|
|
119
119
|
react: string;
|
|
120
120
|
};
|
|
@@ -126,12 +126,12 @@ export interface CreateClientTokenResponse {
|
|
|
126
126
|
export interface ClientConversation {
|
|
127
127
|
id: string;
|
|
128
128
|
name: string;
|
|
129
|
-
|
|
129
|
+
flowId: string;
|
|
130
130
|
origin: string;
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
131
|
+
messageCount: number;
|
|
132
|
+
firstMessage: string | null;
|
|
133
|
+
createdAt: string;
|
|
134
|
+
updatedAt: string;
|
|
135
135
|
}
|
|
136
136
|
/**
|
|
137
137
|
* List conversations response
|
|
@@ -141,7 +141,7 @@ export interface ListConversationsResponse {
|
|
|
141
141
|
pagination: {
|
|
142
142
|
limit: number;
|
|
143
143
|
offset: number;
|
|
144
|
-
|
|
144
|
+
hasMore: boolean;
|
|
145
145
|
};
|
|
146
146
|
}
|
|
147
147
|
//# sourceMappingURL=client-token-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-token-types.d.ts","sourceRoot":"","sources":["../src/client-token-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,MAAM,CAAA;AAEpD;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAA;AAEnE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0BAA0B;IAC1B,
|
|
1
|
+
{"version":3,"file":"client-token-types.d.ts","sourceRoot":"","sources":["../src/client-token-types.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,KAAK,SAAS,EACf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,SAAS;IAC7C,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAwB;IAGhC,KAAK,EAAE,aAAa,CAAA;IACpB,OAAO,EAAE,eAAe,CAAA;IACxB,OAAO,EAAE,eAAe,CAAA;IACxB,OAAO,EAAE,eAAe,CAAA;IACxB,YAAY,EAAE,oBAAoB,CAAA;IAClC,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,IAAI,EAAE,YAAY,CAAA;IAClB,KAAK,EAAE,aAAa,CAAA;IACpB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,SAAS,EAAE,iBAAiB,CAAA;IAC5B,gBAAgB,EAAE,wBAAwB,CAAA;IAC1C,KAAK,EAAE,aAAa,CAAA;IACpB,IAAI,EAAE,YAAY,CAAA;IAClB,YAAY,EAAE,oBAAoB,CAAA;gBAE7B,MAAM,GAAE,YAAiB;IAiCrC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -66,7 +66,7 @@ class RuntypeClient {
|
|
|
66
66
|
this.timeout = config.timeout || 30000;
|
|
67
67
|
this.headers = {
|
|
68
68
|
'Content-Type': 'application/json',
|
|
69
|
-
...(config.headers || {})
|
|
69
|
+
...(config.headers || {}),
|
|
70
70
|
};
|
|
71
71
|
// Set API key if provided
|
|
72
72
|
if (config.apiKey) {
|
|
@@ -110,7 +110,7 @@ class RuntypeClient {
|
|
|
110
110
|
flow(name) {
|
|
111
111
|
return new flow_builder_1.ClientFlowBuilder({
|
|
112
112
|
dispatch: (config) => this.dispatch.executeStream(config),
|
|
113
|
-
runWithLocalTools: (config, tools) => this.runWithLocalTools(config, tools)
|
|
113
|
+
runWithLocalTools: (config, tools) => this.runWithLocalTools(config, tools),
|
|
114
114
|
}, name);
|
|
115
115
|
}
|
|
116
116
|
/**
|
|
@@ -136,8 +136,7 @@ class RuntypeClient {
|
|
|
136
136
|
options: {
|
|
137
137
|
...(request.options || {}),
|
|
138
138
|
streamResponse: isStreaming,
|
|
139
|
-
|
|
140
|
-
}
|
|
139
|
+
},
|
|
141
140
|
};
|
|
142
141
|
// Helper to process a step result (either from stream or JSON)
|
|
143
142
|
// Returns { done: boolean, result: any }
|
|
@@ -153,12 +152,12 @@ class RuntypeClient {
|
|
|
153
152
|
onStepChunk: (chunk, event) => callbacks?.onStepChunk?.(chunk, event),
|
|
154
153
|
onStepComplete: (result, event) => callbacks?.onStepComplete?.(result, event),
|
|
155
154
|
onFlowComplete: (event) => callbacks?.onFlowComplete?.(event),
|
|
156
|
-
onError: (error) => callbacks?.onError?.(error)
|
|
155
|
+
onError: (error) => callbacks?.onError?.(error),
|
|
157
156
|
};
|
|
158
157
|
const { streamEvents } = await Promise.resolve().then(() => __importStar(require('./stream-utils')));
|
|
159
158
|
const summary = {
|
|
160
159
|
results: new Map(),
|
|
161
|
-
success: true
|
|
160
|
+
success: true,
|
|
162
161
|
};
|
|
163
162
|
try {
|
|
164
163
|
for await (const event of streamEvents(response)) {
|
|
@@ -169,7 +168,7 @@ class RuntypeClient {
|
|
|
169
168
|
pausedState = {
|
|
170
169
|
...pausedState,
|
|
171
170
|
toolName: event.toolName,
|
|
172
|
-
executionId: event.executionId
|
|
171
|
+
executionId: event.executionId,
|
|
173
172
|
};
|
|
174
173
|
}
|
|
175
174
|
if (event.type === 'step_waiting_local') {
|
|
@@ -177,7 +176,7 @@ class RuntypeClient {
|
|
|
177
176
|
pausedState = {
|
|
178
177
|
toolName: event.toolName,
|
|
179
178
|
parameters: event.parameters,
|
|
180
|
-
executionId: event.executionId
|
|
179
|
+
executionId: event.executionId,
|
|
181
180
|
};
|
|
182
181
|
}
|
|
183
182
|
// Handle standard events via callbacks
|
|
@@ -215,7 +214,10 @@ class RuntypeClient {
|
|
|
215
214
|
throw e;
|
|
216
215
|
}
|
|
217
216
|
if (pausedState) {
|
|
218
|
-
return {
|
|
217
|
+
return {
|
|
218
|
+
done: false,
|
|
219
|
+
result: { status: 'paused', pausedReason: { type: 'local_action', ...pausedState } },
|
|
220
|
+
};
|
|
219
221
|
}
|
|
220
222
|
return { done: true, result: summary };
|
|
221
223
|
}
|
|
@@ -224,7 +226,7 @@ class RuntypeClient {
|
|
|
224
226
|
const data = await response.json();
|
|
225
227
|
return {
|
|
226
228
|
done: data.status !== 'paused',
|
|
227
|
-
result: data
|
|
229
|
+
result: data,
|
|
228
230
|
};
|
|
229
231
|
}
|
|
230
232
|
};
|
|
@@ -235,7 +237,9 @@ class RuntypeClient {
|
|
|
235
237
|
}
|
|
236
238
|
else {
|
|
237
239
|
const data = await this.dispatch.execute(modifiedRequest);
|
|
238
|
-
currentResponse = new Response(JSON.stringify(data), {
|
|
240
|
+
currentResponse = new Response(JSON.stringify(data), {
|
|
241
|
+
headers: { 'content-type': 'application/json' },
|
|
242
|
+
});
|
|
239
243
|
}
|
|
240
244
|
// Loop
|
|
241
245
|
while (true) {
|
|
@@ -254,18 +258,20 @@ class RuntypeClient {
|
|
|
254
258
|
try {
|
|
255
259
|
// Execute local tool logic
|
|
256
260
|
const toolResult = await localTools[toolName](parameters);
|
|
257
|
-
// Resume flow execution
|
|
261
|
+
// Resume flow execution
|
|
258
262
|
const resumeData = {
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
263
|
+
executionId: executionId,
|
|
264
|
+
toolOutputs: { [toolName]: toolResult },
|
|
265
|
+
streamResponse: isStreaming,
|
|
262
266
|
};
|
|
263
267
|
if (isStreaming) {
|
|
264
|
-
currentResponse = await this.dispatch.resume(resumeData);
|
|
268
|
+
currentResponse = (await this.dispatch.resume(resumeData));
|
|
265
269
|
}
|
|
266
270
|
else {
|
|
267
271
|
const data = await this.dispatch.resume(resumeData);
|
|
268
|
-
currentResponse = new Response(JSON.stringify(data), {
|
|
272
|
+
currentResponse = new Response(JSON.stringify(data), {
|
|
273
|
+
headers: { 'content-type': 'application/json' },
|
|
274
|
+
});
|
|
269
275
|
}
|
|
270
276
|
}
|
|
271
277
|
catch (error) {
|
|
@@ -286,7 +292,7 @@ class RuntypeClient {
|
|
|
286
292
|
const url = this.buildUrl(path, params);
|
|
287
293
|
const response = await this.makeRequest(url, {
|
|
288
294
|
method: 'GET',
|
|
289
|
-
headers: this.headers
|
|
295
|
+
headers: this.headers,
|
|
290
296
|
});
|
|
291
297
|
return (0, transform_1.transformResponse)(response);
|
|
292
298
|
}
|
|
@@ -298,7 +304,7 @@ class RuntypeClient {
|
|
|
298
304
|
const response = await this.makeRequest(url, {
|
|
299
305
|
method: 'POST',
|
|
300
306
|
headers: this.headers,
|
|
301
|
-
body: data ? JSON.stringify((0, transform_1.transformRequest)(data)) : undefined
|
|
307
|
+
body: data ? JSON.stringify((0, transform_1.transformRequest)(data)) : undefined,
|
|
302
308
|
});
|
|
303
309
|
return (0, transform_1.transformResponse)(response);
|
|
304
310
|
}
|
|
@@ -313,7 +319,7 @@ class RuntypeClient {
|
|
|
313
319
|
const response = await this.makeRequest(url, {
|
|
314
320
|
method: 'POST',
|
|
315
321
|
headers,
|
|
316
|
-
body: formData
|
|
322
|
+
body: formData,
|
|
317
323
|
});
|
|
318
324
|
return (0, transform_1.transformResponse)(response);
|
|
319
325
|
}
|
|
@@ -324,7 +330,7 @@ class RuntypeClient {
|
|
|
324
330
|
const url = this.buildUrl(path);
|
|
325
331
|
const headers = {
|
|
326
332
|
...this.headers,
|
|
327
|
-
...options.headers
|
|
333
|
+
...options.headers,
|
|
328
334
|
};
|
|
329
335
|
// Transform request body if it's JSON
|
|
330
336
|
let body = options.body;
|
|
@@ -340,7 +346,7 @@ class RuntypeClient {
|
|
|
340
346
|
return this.makeRawRequest(url, {
|
|
341
347
|
...options,
|
|
342
348
|
headers,
|
|
343
|
-
body
|
|
349
|
+
body,
|
|
344
350
|
});
|
|
345
351
|
}
|
|
346
352
|
/**
|
|
@@ -351,7 +357,7 @@ class RuntypeClient {
|
|
|
351
357
|
const response = await this.makeRequest(url, {
|
|
352
358
|
method: 'PUT',
|
|
353
359
|
headers: this.headers,
|
|
354
|
-
body: data ? JSON.stringify((0, transform_1.transformRequest)(data)) : undefined
|
|
360
|
+
body: data ? JSON.stringify((0, transform_1.transformRequest)(data)) : undefined,
|
|
355
361
|
});
|
|
356
362
|
return (0, transform_1.transformResponse)(response);
|
|
357
363
|
}
|
|
@@ -363,7 +369,7 @@ class RuntypeClient {
|
|
|
363
369
|
const response = await this.makeRequest(url, {
|
|
364
370
|
method: 'PATCH',
|
|
365
371
|
headers: this.headers,
|
|
366
|
-
body: data ? JSON.stringify((0, transform_1.transformRequest)(data)) : undefined
|
|
372
|
+
body: data ? JSON.stringify((0, transform_1.transformRequest)(data)) : undefined,
|
|
367
373
|
});
|
|
368
374
|
return (0, transform_1.transformResponse)(response);
|
|
369
375
|
}
|
|
@@ -375,7 +381,7 @@ class RuntypeClient {
|
|
|
375
381
|
const response = await this.makeRequest(url, {
|
|
376
382
|
method: 'DELETE',
|
|
377
383
|
headers: this.headers,
|
|
378
|
-
body: data ? JSON.stringify((0, transform_1.transformRequest)(data)) : undefined
|
|
384
|
+
body: data ? JSON.stringify((0, transform_1.transformRequest)(data)) : undefined,
|
|
379
385
|
});
|
|
380
386
|
return (0, transform_1.transformResponse)(response);
|
|
381
387
|
}
|
|
@@ -405,7 +411,7 @@ class RuntypeClient {
|
|
|
405
411
|
try {
|
|
406
412
|
const response = await fetch(url, {
|
|
407
413
|
...options,
|
|
408
|
-
signal: controller.signal
|
|
414
|
+
signal: controller.signal,
|
|
409
415
|
});
|
|
410
416
|
clearTimeout(timeoutId);
|
|
411
417
|
if (!response.ok) {
|
|
@@ -438,7 +444,7 @@ class RuntypeClient {
|
|
|
438
444
|
try {
|
|
439
445
|
const response = await fetch(url, {
|
|
440
446
|
...options,
|
|
441
|
-
signal: controller.signal
|
|
447
|
+
signal: controller.signal,
|
|
442
448
|
});
|
|
443
449
|
clearTimeout(timeoutId);
|
|
444
450
|
if (!response.ok) {
|