@executioncontrolprotocol/harnesses-browser-nano 0.10.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.
Files changed (87) hide show
  1. package/README.md +42 -0
  2. package/dist/_internal/request-capability-hints.d.ts +49 -0
  3. package/dist/_internal/request-capability-hints.d.ts.map +1 -0
  4. package/dist/_internal/request-capability-hints.js +488 -0
  5. package/dist/_internal/request-capability-hints.js.map +1 -0
  6. package/dist/browser-nano-harness.d.ts +71 -0
  7. package/dist/browser-nano-harness.d.ts.map +1 -0
  8. package/dist/browser-nano-harness.js +90 -0
  9. package/dist/browser-nano-harness.js.map +1 -0
  10. package/dist/harness-ids.d.ts +6 -0
  11. package/dist/harness-ids.d.ts.map +1 -0
  12. package/dist/harness-ids.js +6 -0
  13. package/dist/harness-ids.js.map +1 -0
  14. package/dist/harness-nano-config.d.ts +53 -0
  15. package/dist/harness-nano-config.d.ts.map +1 -0
  16. package/dist/harness-nano-config.js +94 -0
  17. package/dist/harness-nano-config.js.map +1 -0
  18. package/dist/index.d.ts +13 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +12 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/intent-classification.d.ts +10 -0
  23. package/dist/intent-classification.d.ts.map +1 -0
  24. package/dist/intent-classification.js +177 -0
  25. package/dist/intent-classification.js.map +1 -0
  26. package/dist/multi-shot-chat.d.ts +20 -0
  27. package/dist/multi-shot-chat.d.ts.map +1 -0
  28. package/dist/multi-shot-chat.js +136 -0
  29. package/dist/multi-shot-chat.js.map +1 -0
  30. package/dist/prompts/build-nano-prompt.d.ts +11 -0
  31. package/dist/prompts/build-nano-prompt.d.ts.map +1 -0
  32. package/dist/prompts/build-nano-prompt.js +17 -0
  33. package/dist/prompts/build-nano-prompt.js.map +1 -0
  34. package/dist/prompts/fixtures-root.d.ts +5 -0
  35. package/dist/prompts/fixtures-root.d.ts.map +1 -0
  36. package/dist/prompts/fixtures-root.js +7 -0
  37. package/dist/prompts/fixtures-root.js.map +1 -0
  38. package/dist/prompts/index.d.ts +4 -0
  39. package/dist/prompts/index.d.ts.map +1 -0
  40. package/dist/prompts/index.js +4 -0
  41. package/dist/prompts/index.js.map +1 -0
  42. package/dist/prompts/load-harness-prompt.browser.d.ts +4 -0
  43. package/dist/prompts/load-harness-prompt.browser.d.ts.map +1 -0
  44. package/dist/prompts/load-harness-prompt.browser.js +32 -0
  45. package/dist/prompts/load-harness-prompt.browser.js.map +1 -0
  46. package/dist/prompts/load-harness-prompt.d.ts +2 -0
  47. package/dist/prompts/load-harness-prompt.d.ts.map +1 -0
  48. package/dist/prompts/load-harness-prompt.js +2 -0
  49. package/dist/prompts/load-harness-prompt.js.map +1 -0
  50. package/dist/prompts/load-harness-prompt.node.d.ts +4 -0
  51. package/dist/prompts/load-harness-prompt.node.d.ts.map +1 -0
  52. package/dist/prompts/load-harness-prompt.node.js +20 -0
  53. package/dist/prompts/load-harness-prompt.node.js.map +1 -0
  54. package/dist/prompts/nano-prompt-fixture-ids.d.ts +10 -0
  55. package/dist/prompts/nano-prompt-fixture-ids.d.ts.map +1 -0
  56. package/dist/prompts/nano-prompt-fixture-ids.js +8 -0
  57. package/dist/prompts/nano-prompt-fixture-ids.js.map +1 -0
  58. package/dist/register.d.ts +5 -0
  59. package/dist/register.d.ts.map +1 -0
  60. package/dist/register.js +14 -0
  61. package/dist/register.js.map +1 -0
  62. package/dist/workflow-assistant.d.ts +19 -0
  63. package/dist/workflow-assistant.d.ts.map +1 -0
  64. package/dist/workflow-assistant.js +275 -0
  65. package/dist/workflow-assistant.js.map +1 -0
  66. package/dist/workflow-authoring.d.ts +13 -0
  67. package/dist/workflow-authoring.d.ts.map +1 -0
  68. package/dist/workflow-authoring.js +426 -0
  69. package/dist/workflow-authoring.js.map +1 -0
  70. package/fixtures/eval-cases/assistant.cases.json +658 -0
  71. package/fixtures/eval-cases/chat.cases.json +320 -0
  72. package/fixtures/eval-cases/flow.cases.json +505 -0
  73. package/fixtures/eval-cases/intent.cases.json +587 -0
  74. package/fixtures/eval-cases/workflow-create.cases.json +493 -0
  75. package/fixtures/eval-cases/workflow-patch.cases.json +379 -0
  76. package/fixtures/harness-prompts/intent-classification.prompt.json +72 -0
  77. package/fixtures/harness-prompts/workflow-assistant.prompt.json +86 -0
  78. package/fixtures/harness-prompts/workflow-authoring-create.prompt.json +50 -0
  79. package/fixtures/harness-prompts/workflow-authoring-patch.prompt.json +54 -0
  80. package/fixtures/runs/completed-with-refs.json +18 -0
  81. package/fixtures/runs/failed-echo-step.json +29 -0
  82. package/fixtures/runs/running-pending.json +14 -0
  83. package/fixtures/workflows/echo-validate-reorder.json +26 -0
  84. package/fixtures/workflows/echo-workflow.json +20 -0
  85. package/fixtures/workflows/multi-cap-workflow.json +34 -0
  86. package/fixtures/workflows/two-step-chain.json +26 -0
  87. package/package.json +49 -0
@@ -0,0 +1,505 @@
1
+ {
2
+ "cases": [
3
+ {
4
+ "id": "flow-01",
5
+ "suite": "flow",
6
+ "title": "Troubleshoot then patch",
7
+ "model": "default",
8
+ "steps": [
9
+ {
10
+ "harness": "intent-classification",
11
+ "input": {
12
+ "message": "The workflow failed on echo, help me fix it."
13
+ },
14
+ "assertions": {
15
+ "deterministic": [
16
+ {
17
+ "kind": "intent",
18
+ "value": "workflow-patch"
19
+ }
20
+ ],
21
+ "judge": {
22
+ "enabled": false
23
+ }
24
+ }
25
+ },
26
+ {
27
+ "harness": "workflow-authoring",
28
+ "input": {
29
+ "request": "Set echo input value to recovered.",
30
+ "manifestRef": "workflows/echo-workflow.json"
31
+ },
32
+ "assertions": {
33
+ "deterministic": [
34
+ {
35
+ "kind": "validationValid"
36
+ }
37
+ ],
38
+ "judge": {
39
+ "enabled": false
40
+ }
41
+ }
42
+ },
43
+ {
44
+ "harness": "workflow-assistant",
45
+ "input": {
46
+ "message": "Confirm the fix applies to step echo?",
47
+ "runContextFixture": "runs/failed-echo-step.json"
48
+ },
49
+ "assertions": {
50
+ "deterministic": [
51
+ {
52
+ "kind": "replySchema"
53
+ }
54
+ ],
55
+ "judge": {
56
+ "enabled": true,
57
+ "goal": "Confirms echo step",
58
+ "requireApproved": true
59
+ }
60
+ }
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "id": "flow-02",
66
+ "suite": "flow",
67
+ "title": "Create routing",
68
+ "model": "default",
69
+ "steps": [
70
+ {
71
+ "harness": "intent-classification",
72
+ "input": {
73
+ "message": "I need a new workflow with echo and summarize."
74
+ },
75
+ "assertions": {
76
+ "deterministic": [
77
+ {
78
+ "kind": "intent",
79
+ "value": "workflow-create"
80
+ }
81
+ ],
82
+ "judge": {
83
+ "enabled": false
84
+ }
85
+ }
86
+ },
87
+ {
88
+ "harness": "workflow-authoring",
89
+ "input": {
90
+ "request": "Create echo then @executioncontrolprotocol/test.summarize workflow."
91
+ },
92
+ "assertions": {
93
+ "deterministic": [
94
+ {
95
+ "kind": "artifactSchema",
96
+ "value": "@executioncontrolprotocol.workflow"
97
+ }
98
+ ],
99
+ "judge": {
100
+ "enabled": false
101
+ }
102
+ }
103
+ }
104
+ ]
105
+ },
106
+ {
107
+ "id": "flow-03",
108
+ "suite": "flow",
109
+ "title": "FAQ then general",
110
+ "model": "default",
111
+ "steps": [
112
+ {
113
+ "harness": "intent-classification",
114
+ "input": {
115
+ "message": "How does patching work?"
116
+ },
117
+ "assertions": {
118
+ "deterministic": [
119
+ {
120
+ "kind": "intent",
121
+ "value": "faq"
122
+ }
123
+ ],
124
+ "judge": {
125
+ "enabled": false
126
+ }
127
+ }
128
+ },
129
+ {
130
+ "harness": "workflow-assistant",
131
+ "input": {
132
+ "message": "How does patching work?"
133
+ },
134
+ "assertions": {
135
+ "deterministic": [
136
+ {
137
+ "kind": "replySchema"
138
+ },
139
+ {
140
+ "kind": "answerContains",
141
+ "text": "patch"
142
+ }
143
+ ],
144
+ "judge": {
145
+ "enabled": true,
146
+ "goal": "Explains patching",
147
+ "rubric": "Accurate ECP patching overview",
148
+ "requireApproved": true
149
+ }
150
+ }
151
+ },
152
+ {
153
+ "harness": "intent-classification",
154
+ "input": {
155
+ "message": "Thanks!"
156
+ },
157
+ "assertions": {
158
+ "deterministic": [
159
+ {
160
+ "kind": "intent",
161
+ "value": "general"
162
+ }
163
+ ],
164
+ "judge": {
165
+ "enabled": false
166
+ }
167
+ }
168
+ },
169
+ {
170
+ "harness": "workflow-assistant",
171
+ "input": {
172
+ "message": "Thanks!"
173
+ },
174
+ "assertions": {
175
+ "deterministic": [
176
+ {
177
+ "kind": "replySchema"
178
+ }
179
+ ],
180
+ "judge": {
181
+ "enabled": true,
182
+ "goal": "Polite acknowledgment",
183
+ "rubric": "Brief friendly reply",
184
+ "requireApproved": true
185
+ }
186
+ }
187
+ }
188
+ ]
189
+ },
190
+ {
191
+ "id": "flow-04",
192
+ "suite": "flow",
193
+ "title": "Patch chain refs",
194
+ "model": "default",
195
+ "steps": [
196
+ {
197
+ "harness": "workflow-authoring",
198
+ "input": {
199
+ "request": "Ensure summarize uses $ref to echo output.",
200
+ "manifestRef": "workflows/two-step-chain.json"
201
+ },
202
+ "assertions": {
203
+ "deterministic": [
204
+ {
205
+ "kind": "inputRefPresent",
206
+ "stepId": "summarize"
207
+ }
208
+ ],
209
+ "judge": {
210
+ "enabled": false
211
+ }
212
+ }
213
+ },
214
+ {
215
+ "harness": "workflow-assistant",
216
+ "input": {
217
+ "message": "Did the chain run complete?",
218
+ "runContextFixture": "runs/completed-with-refs.json"
219
+ },
220
+ "assertions": {
221
+ "deterministic": [
222
+ {
223
+ "kind": "replySchema"
224
+ }
225
+ ],
226
+ "judge": {
227
+ "enabled": true,
228
+ "goal": "Mentions completed run",
229
+ "requireApproved": true
230
+ }
231
+ }
232
+ }
233
+ ]
234
+ },
235
+ {
236
+ "id": "flow-05",
237
+ "suite": "flow",
238
+ "title": "Salutation to create",
239
+ "model": "default",
240
+ "steps": [
241
+ {
242
+ "harness": "intent-classification",
243
+ "input": {
244
+ "message": "Hi!"
245
+ },
246
+ "assertions": {
247
+ "deterministic": [
248
+ {
249
+ "kind": "intent",
250
+ "value": "general"
251
+ }
252
+ ],
253
+ "judge": {
254
+ "enabled": false
255
+ }
256
+ }
257
+ },
258
+ {
259
+ "harness": "intent-classification",
260
+ "input": {
261
+ "message": "Actually create an echo workflow."
262
+ },
263
+ "assertions": {
264
+ "deterministic": [
265
+ {
266
+ "kind": "intent",
267
+ "value": "workflow-create"
268
+ }
269
+ ],
270
+ "judge": {
271
+ "enabled": false
272
+ }
273
+ }
274
+ },
275
+ {
276
+ "harness": "workflow-authoring",
277
+ "input": {
278
+ "request": "Create minimal @executioncontrolprotocol/test.echo workflow."
279
+ },
280
+ "assertions": {
281
+ "deterministic": [
282
+ {
283
+ "kind": "stepUses",
284
+ "capabilityId": "@executioncontrolprotocol/test.echo"
285
+ }
286
+ ],
287
+ "judge": {
288
+ "enabled": false
289
+ }
290
+ }
291
+ }
292
+ ]
293
+ },
294
+ {
295
+ "id": "flow-06",
296
+ "suite": "flow",
297
+ "title": "Error explain and patch",
298
+ "model": "default",
299
+ "steps": [
300
+ {
301
+ "harness": "workflow-assistant",
302
+ "input": {
303
+ "message": "What error occurred?",
304
+ "runContextFixture": "runs/failed-echo-step.json"
305
+ },
306
+ "assertions": {
307
+ "deterministic": [
308
+ {
309
+ "kind": "answerContains",
310
+ "text": "error"
311
+ }
312
+ ],
313
+ "judge": {
314
+ "enabled": true,
315
+ "goal": "Describes echo failure",
316
+ "rubric": "Mentions echo and the error from the run context",
317
+ "requireApproved": true
318
+ }
319
+ }
320
+ },
321
+ {
322
+ "harness": "workflow-authoring",
323
+ "input": {
324
+ "request": "Fix echo input to hello.",
325
+ "manifestRef": "workflows/echo-workflow.json"
326
+ },
327
+ "assertions": {
328
+ "deterministic": [
329
+ {
330
+ "kind": "validationValid"
331
+ }
332
+ ],
333
+ "judge": {
334
+ "enabled": false
335
+ }
336
+ }
337
+ },
338
+ {
339
+ "harness": "workflow-assistant",
340
+ "input": {
341
+ "message": "Where should the fix be applied?",
342
+ "runContextFixture": "runs/failed-echo-step.json"
343
+ },
344
+ "assertions": {
345
+ "deterministic": [
346
+ {
347
+ "kind": "citationStepId",
348
+ "value": "echo"
349
+ }
350
+ ],
351
+ "judge": {
352
+ "enabled": true,
353
+ "goal": "Points to echo step",
354
+ "rubric": "Identifies step echo as where to apply the fix",
355
+ "requireApproved": true
356
+ }
357
+ }
358
+ }
359
+ ]
360
+ },
361
+ {
362
+ "id": "flow-07",
363
+ "suite": "flow",
364
+ "title": "FAQ what is ECP routing",
365
+ "model": "default",
366
+ "steps": [
367
+ {
368
+ "harness": "intent-classification",
369
+ "input": {
370
+ "message": "What is ECP?"
371
+ },
372
+ "assertions": {
373
+ "deterministic": [
374
+ {
375
+ "kind": "intent",
376
+ "value": "faq"
377
+ }
378
+ ],
379
+ "judge": {
380
+ "enabled": false
381
+ }
382
+ }
383
+ },
384
+ {
385
+ "harness": "workflow-assistant",
386
+ "input": {
387
+ "message": "What is ECP?"
388
+ },
389
+ "assertions": {
390
+ "deterministic": [
391
+ {
392
+ "kind": "replySchema"
393
+ },
394
+ {
395
+ "kind": "answerContains",
396
+ "text": "ECP"
397
+ }
398
+ ],
399
+ "judge": {
400
+ "enabled": true,
401
+ "goal": "Defines ECP",
402
+ "rubric": "Mentions workflows or governed environments",
403
+ "requireApproved": true
404
+ }
405
+ }
406
+ }
407
+ ]
408
+ },
409
+ {
410
+ "id": "flow-08",
411
+ "suite": "flow",
412
+ "title": "Identity routing",
413
+ "model": "default",
414
+ "steps": [
415
+ {
416
+ "harness": "intent-classification",
417
+ "input": {
418
+ "message": "What can you do?"
419
+ },
420
+ "assertions": {
421
+ "deterministic": [
422
+ {
423
+ "kind": "intent",
424
+ "value": "general"
425
+ }
426
+ ],
427
+ "judge": {
428
+ "enabled": false
429
+ }
430
+ }
431
+ },
432
+ {
433
+ "harness": "workflow-assistant",
434
+ "input": {
435
+ "message": "What can you do?"
436
+ },
437
+ "assertions": {
438
+ "deterministic": [
439
+ {
440
+ "kind": "replySchema"
441
+ },
442
+ {
443
+ "kind": "answerContains",
444
+ "text": "workflow"
445
+ }
446
+ ],
447
+ "judge": {
448
+ "enabled": true,
449
+ "goal": "States assistant capabilities",
450
+ "rubric": "Mentions building workflows and answering ECP questions",
451
+ "requireApproved": true
452
+ }
453
+ }
454
+ }
455
+ ]
456
+ },
457
+ {
458
+ "id": "flow-09",
459
+ "suite": "flow",
460
+ "title": "Off-topic joke routing",
461
+ "model": "default",
462
+ "steps": [
463
+ {
464
+ "harness": "intent-classification",
465
+ "input": {
466
+ "message": "Tell me a joke."
467
+ },
468
+ "assertions": {
469
+ "deterministic": [
470
+ {
471
+ "kind": "intent",
472
+ "value": "general"
473
+ }
474
+ ],
475
+ "judge": {
476
+ "enabled": false
477
+ }
478
+ }
479
+ },
480
+ {
481
+ "harness": "workflow-assistant",
482
+ "input": {
483
+ "message": "Tell me a joke."
484
+ },
485
+ "assertions": {
486
+ "deterministic": [
487
+ {
488
+ "kind": "replySchema"
489
+ },
490
+ {
491
+ "kind": "answerRedirectsToScope"
492
+ }
493
+ ],
494
+ "judge": {
495
+ "enabled": true,
496
+ "goal": "Politely declines off-topic request and redirects to ECP/workflow topics",
497
+ "rubric": "Brief polite decline mentioning workflows, ECP, or capabilities",
498
+ "requireApproved": true
499
+ }
500
+ }
501
+ }
502
+ ]
503
+ }
504
+ ]
505
+ }