@statelyai/agent 1.1.6 → 2.0.0-alpha.6

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 (84) hide show
  1. package/LICENSE +21 -0
  2. package/dist/ai-sdk.cjs +249 -0
  3. package/dist/ai-sdk.d.cts +168 -0
  4. package/dist/ai-sdk.d.mts +168 -0
  5. package/dist/ai-sdk.mjs +241 -0
  6. package/dist/cli.cjs +63 -0
  7. package/dist/cli.d.cts +1 -0
  8. package/dist/cli.d.mts +1 -0
  9. package/dist/cli.mjs +64 -0
  10. package/dist/decision-CX3YdwrO.cjs +1239 -0
  11. package/dist/decision-D1654JdD.mjs +940 -0
  12. package/dist/index.cjs +54 -0
  13. package/dist/index.d.cts +1217 -0
  14. package/dist/index.d.mts +1194 -405
  15. package/dist/index.mjs +3 -588
  16. package/dist/openai-compat.cjs +319 -0
  17. package/dist/openai-compat.d.cts +98 -0
  18. package/dist/openai-compat.d.mts +98 -0
  19. package/dist/openai-compat.mjs +312 -0
  20. package/dist/src-CEa947Dm.mjs +2449 -0
  21. package/dist/src-wBfi-kTA.cjs +2568 -0
  22. package/dist/text-logic-1ZQkO3zr.d.cts +682 -0
  23. package/dist/text-logic-2EMJIS-n.d.mts +682 -0
  24. package/dist/types-BHjeDdch.d.cts +208 -0
  25. package/dist/types-Cq1YlAQ6.d.mts +208 -0
  26. package/dist/utils-CWUCa3pF.d.mts +108 -0
  27. package/dist/utils-lK1wnL2i.d.cts +108 -0
  28. package/dist/zod.cjs +31 -0
  29. package/dist/zod.d.cts +30 -0
  30. package/dist/zod.d.mts +30 -0
  31. package/dist/zod.mjs +30 -0
  32. package/package.json +109 -28
  33. package/readme.md +144 -6
  34. package/schemas/agent-workflow.json +527 -0
  35. package/.changeset/README.md +0 -8
  36. package/.changeset/config.json +0 -11
  37. package/.env.template +0 -3
  38. package/.github/actions/ci-setup/action.yml +0 -24
  39. package/.github/workflows/release.yml +0 -46
  40. package/.vscode/launch.json +0 -28
  41. package/CHANGELOG.md +0 -222
  42. package/dist/index.d.ts +0 -428
  43. package/dist/index.js +0 -621
  44. package/examples/chatbot.ts +0 -71
  45. package/examples/cot.ts +0 -89
  46. package/examples/email.ts +0 -118
  47. package/examples/example.ts +0 -81
  48. package/examples/goal.ts +0 -94
  49. package/examples/helpers/helpers.ts +0 -17
  50. package/examples/helpers/loader.ts +0 -32
  51. package/examples/helpers/runner.ts +0 -27
  52. package/examples/joke.ts +0 -225
  53. package/examples/multi.ts +0 -103
  54. package/examples/newspaper.ts +0 -324
  55. package/examples/number.ts +0 -102
  56. package/examples/raffle.ts +0 -105
  57. package/examples/sandbox.ts +0 -28
  58. package/examples/simple.ts +0 -39
  59. package/examples/support.ts +0 -147
  60. package/examples/ticTacToe.ts +0 -224
  61. package/examples/todo.ts +0 -137
  62. package/examples/tutor.ts +0 -100
  63. package/examples/verify.ts +0 -120
  64. package/examples/weather.ts +0 -178
  65. package/examples/wiki.ts +0 -30
  66. package/examples/word.ts +0 -171
  67. package/src/adapters/vercel.ts +0 -7
  68. package/src/agent-experimental.ts +0 -221
  69. package/src/agent.test.ts +0 -506
  70. package/src/agent.ts +0 -300
  71. package/src/decision.test.ts +0 -179
  72. package/src/decision.ts +0 -84
  73. package/src/index.ts +0 -4
  74. package/src/memory.ts +0 -25
  75. package/src/planners/shortestPathPlanner.ts +0 -22
  76. package/src/planners/simplePlanner.ts +0 -139
  77. package/src/schemas.ts +0 -11
  78. package/src/strategies/chain-of-note.ts +0 -155
  79. package/src/templates/defaultText.ts +0 -18
  80. package/src/text.ts +0 -241
  81. package/src/types.ts +0 -499
  82. package/src/utils.ts +0 -72
  83. package/tsconfig.json +0 -109
  84. package/vitest.config.ts +0 -9
@@ -0,0 +1,527 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://stately.ai/schemas/agent-workflow.json",
4
+ "title": "Stately Agent Workflow Definition",
5
+ "description": "Static, declarative agent workflow definition that can be lowered to a setupAgent(...) XState machine.",
6
+ "type": "object",
7
+ "required": ["initial", "states"],
8
+ "properties": {
9
+ "key": {
10
+ "description": "Stable workflow key used by tools, storage, and visual editors.",
11
+ "type": "string",
12
+ "minLength": 1
13
+ },
14
+ "id": {
15
+ "description": "Optional XState machine id.",
16
+ "type": "string",
17
+ "minLength": 1
18
+ },
19
+ "version": {
20
+ "description": "Definition version chosen by the author.",
21
+ "type": "string"
22
+ },
23
+ "description": {
24
+ "type": "string"
25
+ },
26
+ "queryLanguage": {
27
+ "description": "Expression language used inside {{ }} expressions. The built-in setupAgent.fromConfig lowering currently supports simple dot-path expressions over input, context, and event.",
28
+ "type": "string",
29
+ "default": "path"
30
+ },
31
+ "schemas": {
32
+ "$ref": "#/$defs/AgentSchemas"
33
+ },
34
+ "context": {
35
+ "description": "Initial XState context. Values may be JSON literals or whole-string {{ }} expressions evaluated with machine input.",
36
+ "$ref": "#/$defs/ExpressionObject"
37
+ },
38
+ "requests": {
39
+ "description": "Named model requests that become typed invoke sources.",
40
+ "type": "object",
41
+ "propertyNames": {
42
+ "$ref": "#/$defs/Identifier"
43
+ },
44
+ "additionalProperties": {
45
+ "$ref": "#/$defs/Request"
46
+ },
47
+ "default": {}
48
+ },
49
+ "initial": {
50
+ "description": "Initial child state key.",
51
+ "type": "string"
52
+ },
53
+ "states": {
54
+ "description": "Root state nodes.",
55
+ "type": "object",
56
+ "minProperties": 1,
57
+ "propertyNames": {
58
+ "$ref": "#/$defs/Identifier"
59
+ },
60
+ "additionalProperties": {
61
+ "$ref": "#/$defs/State"
62
+ }
63
+ },
64
+ "meta": {
65
+ "$ref": "#/$defs/JsonObject"
66
+ }
67
+ },
68
+ "additionalProperties": false,
69
+ "$defs": {
70
+ "Identifier": {
71
+ "type": "string",
72
+ "minLength": 1,
73
+ "pattern": "^[A-Za-z_$][A-Za-z0-9_$.-]*$"
74
+ },
75
+ "ExpressionString": {
76
+ "description": "Whole-string expression delimited by {{ }}.",
77
+ "type": "string",
78
+ "pattern": "^\\{\\{[\\s\\S]*\\}\\}$"
79
+ },
80
+ "TemplateString": {
81
+ "description": "String that may contain {{ }} template expressions. Escape literal delimiters according to the selected expression/template evaluator.",
82
+ "type": "string"
83
+ },
84
+ "JsonValue": {
85
+ "anyOf": [
86
+ { "type": "null" },
87
+ { "type": "boolean" },
88
+ { "type": "number" },
89
+ { "type": "string" },
90
+ {
91
+ "type": "array",
92
+ "items": {
93
+ "$ref": "#/$defs/JsonValue"
94
+ }
95
+ },
96
+ {
97
+ "$ref": "#/$defs/JsonObject"
98
+ }
99
+ ]
100
+ },
101
+ "JsonObject": {
102
+ "type": "object",
103
+ "propertyNames": {
104
+ "type": "string"
105
+ },
106
+ "additionalProperties": {
107
+ "$ref": "#/$defs/JsonValue"
108
+ }
109
+ },
110
+ "ExpressionValue": {
111
+ "description": "JSON value or whole-string {{ }} expression. Use this for typed values, not prompt templating.",
112
+ "anyOf": [
113
+ { "$ref": "#/$defs/ExpressionString" },
114
+ { "type": "null" },
115
+ { "type": "boolean" },
116
+ { "type": "number" },
117
+ { "type": "string" },
118
+ {
119
+ "type": "array",
120
+ "items": {
121
+ "$ref": "#/$defs/ExpressionValue"
122
+ }
123
+ },
124
+ {
125
+ "type": "object",
126
+ "propertyNames": {
127
+ "type": "string"
128
+ },
129
+ "additionalProperties": {
130
+ "$ref": "#/$defs/ExpressionValue"
131
+ }
132
+ }
133
+ ]
134
+ },
135
+ "ExpressionObject": {
136
+ "type": "object",
137
+ "propertyNames": {
138
+ "type": "string"
139
+ },
140
+ "additionalProperties": {
141
+ "$ref": "#/$defs/ExpressionValue"
142
+ }
143
+ },
144
+ "JsonSchema": {
145
+ "description": "JSON Schema object.",
146
+ "type": "object",
147
+ "propertyNames": {
148
+ "type": "string"
149
+ },
150
+ "additionalProperties": true
151
+ },
152
+ "AgentSchemas": {
153
+ "type": "object",
154
+ "properties": {
155
+ "input": {
156
+ "$ref": "#/$defs/JsonSchema"
157
+ },
158
+ "context": {
159
+ "$ref": "#/$defs/JsonSchema"
160
+ },
161
+ "events": {
162
+ "type": "object",
163
+ "propertyNames": {
164
+ "$ref": "#/$defs/Identifier"
165
+ },
166
+ "additionalProperties": {
167
+ "$ref": "#/$defs/JsonSchema"
168
+ }
169
+ },
170
+ "emitted": {
171
+ "type": "object",
172
+ "description": "Schemas for events emitted outward by emit actions, keyed by emitted event type.",
173
+ "propertyNames": {
174
+ "$ref": "#/$defs/Identifier"
175
+ },
176
+ "additionalProperties": {
177
+ "$ref": "#/$defs/JsonSchema"
178
+ }
179
+ },
180
+ "output": {
181
+ "$ref": "#/$defs/JsonSchema"
182
+ },
183
+ "meta": {
184
+ "$ref": "#/$defs/JsonSchema"
185
+ }
186
+ },
187
+ "additionalProperties": false
188
+ },
189
+ "Request": {
190
+ "type": "object",
191
+ "required": ["model", "input", "output"],
192
+ "properties": {
193
+ "mode": {
194
+ "type": "string",
195
+ "enum": ["generate", "stream"],
196
+ "default": "generate"
197
+ },
198
+ "description": {
199
+ "type": "string"
200
+ },
201
+ "model": {
202
+ "$ref": "#/$defs/TemplateString"
203
+ },
204
+ "system": {
205
+ "$ref": "#/$defs/TemplateString"
206
+ },
207
+ "prompt": {
208
+ "$ref": "#/$defs/TemplateString"
209
+ },
210
+ "messages": {
211
+ "anyOf": [
212
+ { "$ref": "#/$defs/ExpressionString" },
213
+ {
214
+ "type": "array",
215
+ "items": {
216
+ "$ref": "#/$defs/Message"
217
+ }
218
+ }
219
+ ]
220
+ },
221
+ "input": {
222
+ "$ref": "#/$defs/JsonSchema"
223
+ },
224
+ "output": {
225
+ "$ref": "#/$defs/JsonSchema"
226
+ },
227
+ "tools": {
228
+ "type": "object",
229
+ "propertyNames": {
230
+ "$ref": "#/$defs/Identifier"
231
+ },
232
+ "additionalProperties": {
233
+ "$ref": "#/$defs/Tool"
234
+ }
235
+ },
236
+ "toolChoice": {
237
+ "anyOf": [
238
+ {
239
+ "type": "string",
240
+ "enum": ["auto", "none", "required"]
241
+ },
242
+ {
243
+ "type": "object",
244
+ "required": ["type", "name"],
245
+ "properties": {
246
+ "type": {
247
+ "const": "tool"
248
+ },
249
+ "name": {
250
+ "$ref": "#/$defs/Identifier"
251
+ }
252
+ },
253
+ "additionalProperties": false
254
+ },
255
+ { "$ref": "#/$defs/ExpressionString" }
256
+ ]
257
+ },
258
+ "temperature": {
259
+ "$ref": "#/$defs/ExpressionValue"
260
+ },
261
+ "maxOutputTokens": {
262
+ "$ref": "#/$defs/ExpressionValue"
263
+ },
264
+ "topP": {
265
+ "$ref": "#/$defs/ExpressionValue"
266
+ },
267
+ "topK": {
268
+ "$ref": "#/$defs/ExpressionValue"
269
+ },
270
+ "seed": {
271
+ "$ref": "#/$defs/ExpressionValue"
272
+ },
273
+ "stopSequences": {
274
+ "anyOf": [
275
+ { "$ref": "#/$defs/ExpressionString" },
276
+ {
277
+ "type": "array",
278
+ "items": {
279
+ "type": "string"
280
+ }
281
+ }
282
+ ]
283
+ },
284
+ "metadata": {
285
+ "$ref": "#/$defs/ExpressionValue"
286
+ }
287
+ },
288
+ "additionalProperties": false
289
+ },
290
+ "Message": {
291
+ "type": "object",
292
+ "required": ["role", "content"],
293
+ "properties": {
294
+ "role": {
295
+ "$ref": "#/$defs/TemplateString"
296
+ },
297
+ "content": {
298
+ "$ref": "#/$defs/TemplateString"
299
+ }
300
+ },
301
+ "additionalProperties": {
302
+ "$ref": "#/$defs/ExpressionValue"
303
+ }
304
+ },
305
+ "Tool": {
306
+ "type": "object",
307
+ "properties": {
308
+ "description": {
309
+ "type": "string"
310
+ },
311
+ "input": {
312
+ "$ref": "#/$defs/JsonSchema"
313
+ },
314
+ "output": {
315
+ "$ref": "#/$defs/JsonSchema"
316
+ }
317
+ },
318
+ "additionalProperties": {
319
+ "$ref": "#/$defs/JsonValue"
320
+ }
321
+ },
322
+ "State": {
323
+ "type": "object",
324
+ "properties": {
325
+ "description": {
326
+ "type": "string"
327
+ },
328
+ "type": {
329
+ "type": "string",
330
+ "enum": ["parallel", "history", "final", "choice"]
331
+ },
332
+ "initial": {
333
+ "type": "string"
334
+ },
335
+ "states": {
336
+ "type": "object",
337
+ "propertyNames": {
338
+ "$ref": "#/$defs/Identifier"
339
+ },
340
+ "additionalProperties": {
341
+ "$ref": "#/$defs/State"
342
+ }
343
+ },
344
+ "invoke": {
345
+ "anyOf": [
346
+ { "$ref": "#/$defs/Invoke" },
347
+ {
348
+ "type": "array",
349
+ "items": {
350
+ "$ref": "#/$defs/Invoke"
351
+ }
352
+ }
353
+ ]
354
+ },
355
+ "choice": {
356
+ "description": "Choice-state routing, equivalent to XState's type: 'choice' + choice transition function.",
357
+ "$ref": "#/$defs/TransitionOrArray"
358
+ },
359
+ "on": {
360
+ "type": "object",
361
+ "propertyNames": {
362
+ "type": "string"
363
+ },
364
+ "additionalProperties": {
365
+ "$ref": "#/$defs/TransitionOrArray"
366
+ }
367
+ },
368
+ "always": {
369
+ "$ref": "#/$defs/TransitionOrArray"
370
+ },
371
+ "onDone": {
372
+ "$ref": "#/$defs/TransitionOrArray"
373
+ },
374
+ "after": {
375
+ "type": "object",
376
+ "propertyNames": {
377
+ "type": "string"
378
+ },
379
+ "additionalProperties": {
380
+ "$ref": "#/$defs/TransitionOrArray"
381
+ }
382
+ },
383
+ "entry": {
384
+ "$ref": "#/$defs/ActionOrArray"
385
+ },
386
+ "exit": {
387
+ "$ref": "#/$defs/ActionOrArray"
388
+ },
389
+ "tags": {
390
+ "type": "array",
391
+ "items": {
392
+ "type": "string"
393
+ }
394
+ },
395
+ "output": {
396
+ "$ref": "#/$defs/ExpressionValue"
397
+ },
398
+ "meta": {
399
+ "$ref": "#/$defs/ExpressionObject"
400
+ }
401
+ },
402
+ "additionalProperties": false
403
+ },
404
+ "Invoke": {
405
+ "type": "object",
406
+ "required": ["src"],
407
+ "properties": {
408
+ "id": {
409
+ "type": "string"
410
+ },
411
+ "src": {
412
+ "description": "Actor source name. 'agent.decide' invokes are special: decision delivery is automatic (the chosen event is sent as soon as the model decides) and 'onDone' must be omitted — see the 'onDone' description.",
413
+ "$ref": "#/$defs/Identifier"
414
+ },
415
+ "input": {
416
+ "$ref": "#/$defs/ExpressionValue"
417
+ },
418
+ "onDone": {
419
+ "description": "Not valid on an 'agent.decide' invoke — the built-in lowering rejects it at setupAgent.fromConfig(...) time. A decision has no output value of its own (its output IS the chosen event), so delivery is automatic and not configurable from JSON. 'onError' (retries exhausted) still applies to 'agent.decide' invokes.",
420
+ "$ref": "#/$defs/TransitionOrArray"
421
+ },
422
+ "onError": {
423
+ "$ref": "#/$defs/TransitionOrArray"
424
+ },
425
+ "meta": {
426
+ "$ref": "#/$defs/ExpressionObject"
427
+ }
428
+ },
429
+ "additionalProperties": false
430
+ },
431
+ "TransitionOrArray": {
432
+ "anyOf": [
433
+ { "$ref": "#/$defs/Transition" },
434
+ {
435
+ "type": "array",
436
+ "items": {
437
+ "$ref": "#/$defs/Transition"
438
+ }
439
+ }
440
+ ]
441
+ },
442
+ "Transition": {
443
+ "type": "object",
444
+ "properties": {
445
+ "target": {
446
+ "anyOf": [
447
+ { "type": "string" },
448
+ {
449
+ "type": "array",
450
+ "items": {
451
+ "type": "string"
452
+ }
453
+ }
454
+ ]
455
+ },
456
+ "guard": {
457
+ "anyOf": [
458
+ { "$ref": "#/$defs/ExpressionString" },
459
+ {
460
+ "type": "object",
461
+ "required": ["type"],
462
+ "properties": {
463
+ "type": {
464
+ "type": "string"
465
+ },
466
+ "params": {
467
+ "$ref": "#/$defs/ExpressionValue"
468
+ }
469
+ },
470
+ "additionalProperties": false
471
+ }
472
+ ]
473
+ },
474
+ "assign": {
475
+ "description": "Context assignments applied when this transition is taken.",
476
+ "$ref": "#/$defs/ExpressionObject"
477
+ },
478
+ "actions": {
479
+ "$ref": "#/$defs/ActionOrArray"
480
+ },
481
+ "description": {
482
+ "type": "string"
483
+ },
484
+ "reenter": {
485
+ "type": "boolean"
486
+ },
487
+ "meta": {
488
+ "$ref": "#/$defs/ExpressionObject"
489
+ }
490
+ },
491
+ "additionalProperties": false
492
+ },
493
+ "ActionOrArray": {
494
+ "anyOf": [
495
+ { "$ref": "#/$defs/Action" },
496
+ {
497
+ "type": "array",
498
+ "items": {
499
+ "$ref": "#/$defs/Action"
500
+ }
501
+ }
502
+ ]
503
+ },
504
+ "Action": {
505
+ "type": "object",
506
+ "properties": {
507
+ "type": {
508
+ "type": "string"
509
+ },
510
+ "params": {
511
+ "$ref": "#/$defs/ExpressionValue"
512
+ },
513
+ "assign": {
514
+ "$ref": "#/$defs/ExpressionObject"
515
+ },
516
+ "emit": {
517
+ "description": "Event emitted outward through runAgent's on handlers.",
518
+ "$ref": "#/$defs/ExpressionValue"
519
+ }
520
+ },
521
+ "anyOf": [{ "required": ["type"] }, { "required": ["assign"] }, { "required": ["emit"] }],
522
+ "additionalProperties": {
523
+ "$ref": "#/$defs/ExpressionValue"
524
+ }
525
+ }
526
+ }
527
+ }
@@ -1,8 +0,0 @@
1
- # Changesets
2
-
3
- Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
4
- with multi-package repos, or single-package repos to help you version and publish your code. You can
5
- find the full documentation for it [in our repository](https://github.com/changesets/changesets)
6
-
7
- We have a quick list of common questions to get you started engaging with this project in
8
- [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
@@ -1,11 +0,0 @@
1
- {
2
- "$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json",
3
- "changelog": ["@changesets/changelog-github", { "repo": "statelyai/agent" }],
4
- "commit": false,
5
- "fixed": [],
6
- "linked": [],
7
- "access": "restricted",
8
- "baseBranch": "main",
9
- "updateInternalDependencies": "patch",
10
- "ignore": []
11
- }
package/.env.template DELETED
@@ -1,3 +0,0 @@
1
-
2
- # Get your OpenAI API key from: https://platform.openai.com/signup/
3
- OPENAI_API_KEY="sk-..."
@@ -1,24 +0,0 @@
1
- name: Setup Workflow
2
- description: Composite action that sets up pnpm
3
- runs:
4
- using: 'composite'
5
- steps:
6
- - uses: pnpm/action-setup@v2
7
- - uses: actions/setup-node@v4
8
- with:
9
- node-version: 20.x
10
-
11
- - name: install pnpm
12
- run: npm i pnpm@latest -g
13
- shell: bash
14
-
15
- - name: Setup npmrc
16
- run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > .npmrc
17
- shell: bash
18
-
19
- - name: setup pnpm config
20
- run: pnpm config set store-dir $PNPM_CACHE_FOLDER
21
- shell: bash
22
-
23
- - run: pnpm install
24
- shell: bash
@@ -1,46 +0,0 @@
1
- name: Release
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
-
8
- concurrency: ${{ github.workflow }}-${{ github.ref }}
9
-
10
- permissions: {}
11
- jobs:
12
- release:
13
- permissions:
14
- contents: write # to create release (changesets/action)
15
- issues: write # to post issue comments (changesets/action)
16
- pull-requests: write # to create pull request (changesets/action)
17
-
18
- if: github.repository == 'statelyai/agent'
19
-
20
- timeout-minutes: 20
21
-
22
- runs-on: ubuntu-latest
23
-
24
- steps:
25
- - name: checkout code repository
26
- uses: actions/checkout@v3
27
- with:
28
- fetch-depth: 0
29
- - name: setup node.js
30
- uses: actions/setup-node@v3
31
- with:
32
- node-version: 20
33
- - name: install pnpm
34
- run: npm i pnpm@latest -g
35
- - name: setup pnpm config
36
- run: pnpm config set store-dir $PNPM_CACHE_FOLDER
37
- - name: install dependencies
38
- run: pnpm install
39
- - name: create and publish versions
40
- uses: changesets/action@v1
41
- with:
42
- publish: pnpm run release
43
- version: pnpm run version
44
- env:
45
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
46
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -1,28 +0,0 @@
1
- {
2
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
3
- "version": "0.2.0",
4
- "configurations": [
5
- {
6
- "type": "node",
7
- "request": "launch",
8
- "name": "Debug Current Test File",
9
- "autoAttachChildProcesses": true,
10
- "skipFiles": ["<node_internals>/**", "**/node_modules/**", "examples/**"],
11
- "program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
12
- "args": ["run", "${relativeFile}"],
13
- "smartStep": true,
14
- "console": "integratedTerminal"
15
- },
16
- {
17
- "type": "node",
18
- "request": "launch",
19
- "name": "Debug Current File",
20
- "program": "${file}",
21
- "cwd": "${workspaceFolder}",
22
- "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/ts-node",
23
- "outFiles": ["${workspaceFolder}/dist/**/*.js"],
24
- "sourceMaps": true,
25
- "console": "integratedTerminal"
26
- }
27
- ]
28
- }