@firedrill-tools/quickbooks 0.1.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.
Files changed (81) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +240 -0
  3. package/firedrill/agent.target.json +17 -0
  4. package/firedrill/baseline.scenario.json +2338 -0
  5. package/firedrill/conformance.suite.json +22 -0
  6. package/firedrill/payment-response-lost.scenario.json +2344 -0
  7. package/firedrill/qbo-company-query.drill.json +143 -0
  8. package/firedrill/qbo-customers-items.drill.json +173 -0
  9. package/firedrill/qbo-default-identity.drill.json +53 -0
  10. package/firedrill/qbo-denied.drill.json +53 -0
  11. package/firedrill/qbo-escape-heavy-invoices.drill.json +160 -0
  12. package/firedrill/qbo-invalid-auth.drill.json +398 -0
  13. package/firedrill/qbo-invoice-lifecycle.drill.json +193 -0
  14. package/firedrill/qbo-large-invoice.drill.json +174 -0
  15. package/firedrill/qbo-mcp-shapes.drill.json +503 -0
  16. package/firedrill/qbo-payment-response-lost.drill.json +80 -0
  17. package/firedrill/qbo-payments.drill.json +110 -0
  18. package/firedrill/qbo-reports-only.drill.json +398 -0
  19. package/firedrill/qbo-roles.drill.json +143 -0
  20. package/firedrill/qbo-throttled.drill.json +398 -0
  21. package/firedrill/qbo-tight-limits.drill.json +368 -0
  22. package/firedrill/qbo-write-outage.drill.json +411 -0
  23. package/firedrill/throttled.scenario.json +2344 -0
  24. package/firedrill/tight-limits.scenario.json +2338 -0
  25. package/firedrill/tools/quickbooks/app/assets/ATTRIBUTION.md +33 -0
  26. package/firedrill/tools/quickbooks/app/assets/fonts/OFL.txt +93 -0
  27. package/firedrill/tools/quickbooks/app/assets/intuit-quickbooks.svg +1 -0
  28. package/firedrill/tools/quickbooks/app/assets/quickbooks.svg +1 -0
  29. package/firedrill/tools/quickbooks/app/site/app.js +157 -0
  30. package/firedrill/tools/quickbooks/app/site/assets/fonts/figtree-latin.woff2 +0 -0
  31. package/firedrill/tools/quickbooks/app/site/assets/intuit-quickbooks.svg +1 -0
  32. package/firedrill/tools/quickbooks/app/site/assets/quickbooks.svg +1 -0
  33. package/firedrill/tools/quickbooks/app/site/base.css +107 -0
  34. package/firedrill/tools/quickbooks/app/site/forms.css +85 -0
  35. package/firedrill/tools/quickbooks/app/site/icons.js +73 -0
  36. package/firedrill/tools/quickbooks/app/site/index.html +81 -0
  37. package/firedrill/tools/quickbooks/app/site/nav.css +99 -0
  38. package/firedrill/tools/quickbooks/app/site/store.js +85 -0
  39. package/firedrill/tools/quickbooks/app/site/tables.css +114 -0
  40. package/firedrill/tools/quickbooks/app/site/ui.js +189 -0
  41. package/firedrill/tools/quickbooks/app/site/views/accounts.js +59 -0
  42. package/firedrill/tools/quickbooks/app/site/views/batch-actions.js +116 -0
  43. package/firedrill/tools/quickbooks/app/site/views/batch.js +91 -0
  44. package/firedrill/tools/quickbooks/app/site/views/common.js +87 -0
  45. package/firedrill/tools/quickbooks/app/site/views/customer-detail.js +85 -0
  46. package/firedrill/tools/quickbooks/app/site/views/customer-drawer.js +71 -0
  47. package/firedrill/tools/quickbooks/app/site/views/customers.js +87 -0
  48. package/firedrill/tools/quickbooks/app/site/views/home.js +79 -0
  49. package/firedrill/tools/quickbooks/app/site/views/invoice-actions.js +109 -0
  50. package/firedrill/tools/quickbooks/app/site/views/invoice-editor.js +126 -0
  51. package/firedrill/tools/quickbooks/app/site/views/invoice-lines.js +92 -0
  52. package/firedrill/tools/quickbooks/app/site/views/invoices.js +118 -0
  53. package/firedrill/tools/quickbooks/app/site/views/items.js +105 -0
  54. package/firedrill/tools/quickbooks/app/site/views/payments.js +63 -0
  55. package/firedrill/tools/quickbooks/app/site/views/receive-payment.js +102 -0
  56. package/firedrill/tools/quickbooks/app/site/views/txn-frame.js +25 -0
  57. package/firedrill/tools/quickbooks/behavior.mjs +10 -0
  58. package/firedrill/tools/quickbooks/lib/access.mjs +167 -0
  59. package/firedrill/tools/quickbooks/lib/common.mjs +204 -0
  60. package/firedrill/tools/quickbooks/lib/criteria.mjs +107 -0
  61. package/firedrill/tools/quickbooks/lib/customers.mjs +140 -0
  62. package/firedrill/tools/quickbooks/lib/fields.mjs +157 -0
  63. package/firedrill/tools/quickbooks/lib/handlers-read.mjs +81 -0
  64. package/firedrill/tools/quickbooks/lib/handlers-write.mjs +95 -0
  65. package/firedrill/tools/quickbooks/lib/invoice-draft.mjs +165 -0
  66. package/firedrill/tools/quickbooks/lib/invoices.mjs +229 -0
  67. package/firedrill/tools/quickbooks/lib/items.mjs +117 -0
  68. package/firedrill/tools/quickbooks/lib/like.mjs +49 -0
  69. package/firedrill/tools/quickbooks/lib/payments.mjs +200 -0
  70. package/firedrill/tools/quickbooks/lib/pdf.mjs +96 -0
  71. package/firedrill/tools/quickbooks/lib/query-eval.mjs +178 -0
  72. package/firedrill/tools/quickbooks/lib/query-parse.mjs +229 -0
  73. package/firedrill/tools/quickbooks/lib/views.mjs +88 -0
  74. package/firedrill/tools/quickbooks/lib/wire.mjs +147 -0
  75. package/firedrill/tools/quickbooks/quickbooks.tool.json +11014 -0
  76. package/firedrill/world.json +559 -0
  77. package/firedrill/write-outage.scenario.json +2344 -0
  78. package/firedrill.json +5 -0
  79. package/package.json +52 -0
  80. package/starter.json +2337 -0
  81. package/test/conformance.mjs +674 -0
@@ -0,0 +1,559 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "quickbooks-conformance-world",
4
+ "title": "QuickBooks Online Tool conformance world",
5
+ "virtualTimeUs": 1789462800000000,
6
+ "actors": [
7
+ {
8
+ "id": "admin",
9
+ "description": "Company admin of Brightwater Studio LLC (realmId 9341453172839201); every operation granted.",
10
+ "attributes": {
11
+ "realmId": "9341453172839201",
12
+ "role": "company_admin"
13
+ },
14
+ "grants": [
15
+ {
16
+ "packageId": "quickbooks",
17
+ "operationId": "company-info.get"
18
+ },
19
+ {
20
+ "packageId": "quickbooks",
21
+ "operationId": "query.run"
22
+ },
23
+ {
24
+ "packageId": "quickbooks",
25
+ "operationId": "customers.get"
26
+ },
27
+ {
28
+ "packageId": "quickbooks",
29
+ "operationId": "customers.search"
30
+ },
31
+ {
32
+ "packageId": "quickbooks",
33
+ "operationId": "customers.post"
34
+ },
35
+ {
36
+ "packageId": "quickbooks",
37
+ "operationId": "customers.create"
38
+ },
39
+ {
40
+ "packageId": "quickbooks",
41
+ "operationId": "customers.update"
42
+ },
43
+ {
44
+ "packageId": "quickbooks",
45
+ "operationId": "customers.delete"
46
+ },
47
+ {
48
+ "packageId": "quickbooks",
49
+ "operationId": "items.get"
50
+ },
51
+ {
52
+ "packageId": "quickbooks",
53
+ "operationId": "items.search"
54
+ },
55
+ {
56
+ "packageId": "quickbooks",
57
+ "operationId": "items.post"
58
+ },
59
+ {
60
+ "packageId": "quickbooks",
61
+ "operationId": "invoices.get"
62
+ },
63
+ {
64
+ "packageId": "quickbooks",
65
+ "operationId": "invoices.search"
66
+ },
67
+ {
68
+ "packageId": "quickbooks",
69
+ "operationId": "invoices.pdf"
70
+ },
71
+ {
72
+ "packageId": "quickbooks",
73
+ "operationId": "invoices.post"
74
+ },
75
+ {
76
+ "packageId": "quickbooks",
77
+ "operationId": "invoices.create"
78
+ },
79
+ {
80
+ "packageId": "quickbooks",
81
+ "operationId": "invoices.update"
82
+ },
83
+ {
84
+ "packageId": "quickbooks",
85
+ "operationId": "invoices.delete"
86
+ },
87
+ {
88
+ "packageId": "quickbooks",
89
+ "operationId": "invoices.send"
90
+ },
91
+ {
92
+ "packageId": "quickbooks",
93
+ "operationId": "payments.get"
94
+ },
95
+ {
96
+ "packageId": "quickbooks",
97
+ "operationId": "payments.search"
98
+ },
99
+ {
100
+ "packageId": "quickbooks",
101
+ "operationId": "payments.post"
102
+ },
103
+ {
104
+ "packageId": "quickbooks",
105
+ "operationId": "payments.create"
106
+ },
107
+ {
108
+ "packageId": "quickbooks",
109
+ "operationId": "accounts.get"
110
+ },
111
+ {
112
+ "packageId": "quickbooks",
113
+ "operationId": "accounts.search"
114
+ }
115
+ ]
116
+ },
117
+ {
118
+ "id": "fresh",
119
+ "description": "No identity attributes, as `firedrill tool add` creates: falls back to the seeded realm and the company_admin role.",
120
+ "grants": [
121
+ {
122
+ "packageId": "quickbooks",
123
+ "operationId": "company-info.get"
124
+ },
125
+ {
126
+ "packageId": "quickbooks",
127
+ "operationId": "query.run"
128
+ },
129
+ {
130
+ "packageId": "quickbooks",
131
+ "operationId": "customers.get"
132
+ },
133
+ {
134
+ "packageId": "quickbooks",
135
+ "operationId": "customers.search"
136
+ },
137
+ {
138
+ "packageId": "quickbooks",
139
+ "operationId": "customers.post"
140
+ },
141
+ {
142
+ "packageId": "quickbooks",
143
+ "operationId": "customers.create"
144
+ },
145
+ {
146
+ "packageId": "quickbooks",
147
+ "operationId": "customers.update"
148
+ },
149
+ {
150
+ "packageId": "quickbooks",
151
+ "operationId": "customers.delete"
152
+ },
153
+ {
154
+ "packageId": "quickbooks",
155
+ "operationId": "items.get"
156
+ },
157
+ {
158
+ "packageId": "quickbooks",
159
+ "operationId": "items.search"
160
+ },
161
+ {
162
+ "packageId": "quickbooks",
163
+ "operationId": "items.post"
164
+ },
165
+ {
166
+ "packageId": "quickbooks",
167
+ "operationId": "invoices.get"
168
+ },
169
+ {
170
+ "packageId": "quickbooks",
171
+ "operationId": "invoices.search"
172
+ },
173
+ {
174
+ "packageId": "quickbooks",
175
+ "operationId": "invoices.pdf"
176
+ },
177
+ {
178
+ "packageId": "quickbooks",
179
+ "operationId": "invoices.post"
180
+ },
181
+ {
182
+ "packageId": "quickbooks",
183
+ "operationId": "invoices.create"
184
+ },
185
+ {
186
+ "packageId": "quickbooks",
187
+ "operationId": "invoices.update"
188
+ },
189
+ {
190
+ "packageId": "quickbooks",
191
+ "operationId": "invoices.delete"
192
+ },
193
+ {
194
+ "packageId": "quickbooks",
195
+ "operationId": "invoices.send"
196
+ },
197
+ {
198
+ "packageId": "quickbooks",
199
+ "operationId": "payments.get"
200
+ },
201
+ {
202
+ "packageId": "quickbooks",
203
+ "operationId": "payments.search"
204
+ },
205
+ {
206
+ "packageId": "quickbooks",
207
+ "operationId": "payments.post"
208
+ },
209
+ {
210
+ "packageId": "quickbooks",
211
+ "operationId": "payments.create"
212
+ },
213
+ {
214
+ "packageId": "quickbooks",
215
+ "operationId": "accounts.get"
216
+ },
217
+ {
218
+ "packageId": "quickbooks",
219
+ "operationId": "accounts.search"
220
+ }
221
+ ]
222
+ },
223
+ {
224
+ "id": "ar-clerk",
225
+ "description": "Standard user limited to customers: customers, invoices, payments read/write; items read-only; no chart of accounts.",
226
+ "attributes": {
227
+ "role": "standard_limited_customers"
228
+ },
229
+ "grants": [
230
+ {
231
+ "packageId": "quickbooks",
232
+ "operationId": "company-info.get"
233
+ },
234
+ {
235
+ "packageId": "quickbooks",
236
+ "operationId": "query.run"
237
+ },
238
+ {
239
+ "packageId": "quickbooks",
240
+ "operationId": "customers.get"
241
+ },
242
+ {
243
+ "packageId": "quickbooks",
244
+ "operationId": "customers.search"
245
+ },
246
+ {
247
+ "packageId": "quickbooks",
248
+ "operationId": "customers.post"
249
+ },
250
+ {
251
+ "packageId": "quickbooks",
252
+ "operationId": "customers.create"
253
+ },
254
+ {
255
+ "packageId": "quickbooks",
256
+ "operationId": "customers.update"
257
+ },
258
+ {
259
+ "packageId": "quickbooks",
260
+ "operationId": "customers.delete"
261
+ },
262
+ {
263
+ "packageId": "quickbooks",
264
+ "operationId": "items.get"
265
+ },
266
+ {
267
+ "packageId": "quickbooks",
268
+ "operationId": "items.search"
269
+ },
270
+ {
271
+ "packageId": "quickbooks",
272
+ "operationId": "items.post"
273
+ },
274
+ {
275
+ "packageId": "quickbooks",
276
+ "operationId": "invoices.get"
277
+ },
278
+ {
279
+ "packageId": "quickbooks",
280
+ "operationId": "invoices.search"
281
+ },
282
+ {
283
+ "packageId": "quickbooks",
284
+ "operationId": "invoices.pdf"
285
+ },
286
+ {
287
+ "packageId": "quickbooks",
288
+ "operationId": "invoices.post"
289
+ },
290
+ {
291
+ "packageId": "quickbooks",
292
+ "operationId": "invoices.create"
293
+ },
294
+ {
295
+ "packageId": "quickbooks",
296
+ "operationId": "invoices.update"
297
+ },
298
+ {
299
+ "packageId": "quickbooks",
300
+ "operationId": "invoices.delete"
301
+ },
302
+ {
303
+ "packageId": "quickbooks",
304
+ "operationId": "invoices.send"
305
+ },
306
+ {
307
+ "packageId": "quickbooks",
308
+ "operationId": "payments.get"
309
+ },
310
+ {
311
+ "packageId": "quickbooks",
312
+ "operationId": "payments.search"
313
+ },
314
+ {
315
+ "packageId": "quickbooks",
316
+ "operationId": "payments.post"
317
+ },
318
+ {
319
+ "packageId": "quickbooks",
320
+ "operationId": "payments.create"
321
+ },
322
+ {
323
+ "packageId": "quickbooks",
324
+ "operationId": "accounts.get"
325
+ },
326
+ {
327
+ "packageId": "quickbooks",
328
+ "operationId": "accounts.search"
329
+ }
330
+ ]
331
+ },
332
+ {
333
+ "id": "reports",
334
+ "description": "Reports-only user: only company info.",
335
+ "attributes": {
336
+ "role": "reports_only"
337
+ },
338
+ "grants": [
339
+ {
340
+ "packageId": "quickbooks",
341
+ "operationId": "company-info.get"
342
+ },
343
+ {
344
+ "packageId": "quickbooks",
345
+ "operationId": "query.run"
346
+ },
347
+ {
348
+ "packageId": "quickbooks",
349
+ "operationId": "customers.get"
350
+ },
351
+ {
352
+ "packageId": "quickbooks",
353
+ "operationId": "customers.search"
354
+ },
355
+ {
356
+ "packageId": "quickbooks",
357
+ "operationId": "customers.post"
358
+ },
359
+ {
360
+ "packageId": "quickbooks",
361
+ "operationId": "customers.create"
362
+ },
363
+ {
364
+ "packageId": "quickbooks",
365
+ "operationId": "customers.update"
366
+ },
367
+ {
368
+ "packageId": "quickbooks",
369
+ "operationId": "customers.delete"
370
+ },
371
+ {
372
+ "packageId": "quickbooks",
373
+ "operationId": "items.get"
374
+ },
375
+ {
376
+ "packageId": "quickbooks",
377
+ "operationId": "items.search"
378
+ },
379
+ {
380
+ "packageId": "quickbooks",
381
+ "operationId": "items.post"
382
+ },
383
+ {
384
+ "packageId": "quickbooks",
385
+ "operationId": "invoices.get"
386
+ },
387
+ {
388
+ "packageId": "quickbooks",
389
+ "operationId": "invoices.search"
390
+ },
391
+ {
392
+ "packageId": "quickbooks",
393
+ "operationId": "invoices.pdf"
394
+ },
395
+ {
396
+ "packageId": "quickbooks",
397
+ "operationId": "invoices.post"
398
+ },
399
+ {
400
+ "packageId": "quickbooks",
401
+ "operationId": "invoices.create"
402
+ },
403
+ {
404
+ "packageId": "quickbooks",
405
+ "operationId": "invoices.update"
406
+ },
407
+ {
408
+ "packageId": "quickbooks",
409
+ "operationId": "invoices.delete"
410
+ },
411
+ {
412
+ "packageId": "quickbooks",
413
+ "operationId": "invoices.send"
414
+ },
415
+ {
416
+ "packageId": "quickbooks",
417
+ "operationId": "payments.get"
418
+ },
419
+ {
420
+ "packageId": "quickbooks",
421
+ "operationId": "payments.search"
422
+ },
423
+ {
424
+ "packageId": "quickbooks",
425
+ "operationId": "payments.post"
426
+ },
427
+ {
428
+ "packageId": "quickbooks",
429
+ "operationId": "payments.create"
430
+ },
431
+ {
432
+ "packageId": "quickbooks",
433
+ "operationId": "accounts.get"
434
+ },
435
+ {
436
+ "packageId": "quickbooks",
437
+ "operationId": "accounts.search"
438
+ }
439
+ ]
440
+ },
441
+ {
442
+ "id": "other-realm",
443
+ "description": "Token issued for another company: every call is refused with AuthenticationFailed.",
444
+ "attributes": {
445
+ "realmId": "4620816365000000000"
446
+ },
447
+ "grants": [
448
+ {
449
+ "packageId": "quickbooks",
450
+ "operationId": "company-info.get"
451
+ },
452
+ {
453
+ "packageId": "quickbooks",
454
+ "operationId": "query.run"
455
+ },
456
+ {
457
+ "packageId": "quickbooks",
458
+ "operationId": "customers.get"
459
+ },
460
+ {
461
+ "packageId": "quickbooks",
462
+ "operationId": "customers.search"
463
+ },
464
+ {
465
+ "packageId": "quickbooks",
466
+ "operationId": "customers.post"
467
+ },
468
+ {
469
+ "packageId": "quickbooks",
470
+ "operationId": "customers.create"
471
+ },
472
+ {
473
+ "packageId": "quickbooks",
474
+ "operationId": "customers.update"
475
+ },
476
+ {
477
+ "packageId": "quickbooks",
478
+ "operationId": "customers.delete"
479
+ },
480
+ {
481
+ "packageId": "quickbooks",
482
+ "operationId": "items.get"
483
+ },
484
+ {
485
+ "packageId": "quickbooks",
486
+ "operationId": "items.search"
487
+ },
488
+ {
489
+ "packageId": "quickbooks",
490
+ "operationId": "items.post"
491
+ },
492
+ {
493
+ "packageId": "quickbooks",
494
+ "operationId": "invoices.get"
495
+ },
496
+ {
497
+ "packageId": "quickbooks",
498
+ "operationId": "invoices.search"
499
+ },
500
+ {
501
+ "packageId": "quickbooks",
502
+ "operationId": "invoices.pdf"
503
+ },
504
+ {
505
+ "packageId": "quickbooks",
506
+ "operationId": "invoices.post"
507
+ },
508
+ {
509
+ "packageId": "quickbooks",
510
+ "operationId": "invoices.create"
511
+ },
512
+ {
513
+ "packageId": "quickbooks",
514
+ "operationId": "invoices.update"
515
+ },
516
+ {
517
+ "packageId": "quickbooks",
518
+ "operationId": "invoices.delete"
519
+ },
520
+ {
521
+ "packageId": "quickbooks",
522
+ "operationId": "invoices.send"
523
+ },
524
+ {
525
+ "packageId": "quickbooks",
526
+ "operationId": "payments.get"
527
+ },
528
+ {
529
+ "packageId": "quickbooks",
530
+ "operationId": "payments.search"
531
+ },
532
+ {
533
+ "packageId": "quickbooks",
534
+ "operationId": "payments.post"
535
+ },
536
+ {
537
+ "packageId": "quickbooks",
538
+ "operationId": "payments.create"
539
+ },
540
+ {
541
+ "packageId": "quickbooks",
542
+ "operationId": "accounts.get"
543
+ },
544
+ {
545
+ "packageId": "quickbooks",
546
+ "operationId": "accounts.search"
547
+ }
548
+ ]
549
+ },
550
+ {
551
+ "id": "auditor",
552
+ "description": "Company admin attributes but no Firedrill grants: the framework denies every call.",
553
+ "attributes": {
554
+ "role": "company_admin"
555
+ },
556
+ "grants": []
557
+ }
558
+ ]
559
+ }