stitchkit 0.115.0 → 0.117.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 (140) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/dist/agent-runtime/coding-tool-paths.d.ts.map +1 -1
  3. package/dist/agent-runtime/run-acquisition.d.ts +9 -2
  4. package/dist/agent-runtime/run-acquisition.d.ts.map +1 -1
  5. package/dist/agent-runtime/run-execution.d.ts +3 -0
  6. package/dist/agent-runtime/run-execution.d.ts.map +1 -1
  7. package/dist/agent-runtime/run-failure.d.ts +4 -1
  8. package/dist/agent-runtime/run-failure.d.ts.map +1 -1
  9. package/dist/agent-runtime/run-store-retry.d.ts +8 -0
  10. package/dist/agent-runtime/run-store-retry.d.ts.map +1 -0
  11. package/dist/agent-runtime/run-terminal.d.ts.map +1 -1
  12. package/dist/agent-runtime/run-unacquired.d.ts +19 -0
  13. package/dist/agent-runtime/run-unacquired.d.ts.map +1 -0
  14. package/dist/agent-runtime/store-conformance.d.ts +8 -0
  15. package/dist/agent-runtime/store-conformance.d.ts.map +1 -1
  16. package/dist/agent-runtime/store-driver-contract.d.ts +5 -0
  17. package/dist/agent-runtime/store-driver-contract.d.ts.map +1 -1
  18. package/dist/agent-runtime/terminal-commit.d.ts +34 -4
  19. package/dist/agent-runtime/terminal-commit.d.ts.map +1 -1
  20. package/dist/entrypoints/agent-runtime/coding-tools.js +4 -4
  21. package/dist/entrypoints/agent-runtime/harness.js +4 -4
  22. package/dist/entrypoints/agent-runtime/sandbox.js +4 -4
  23. package/dist/entrypoints/agent-runtime/sqlite/bun.js +7 -7
  24. package/dist/entrypoints/agent-runtime/sqlite/node.js +7 -7
  25. package/dist/entrypoints/agent-runtime/testing.js +26 -8
  26. package/dist/entrypoints/agent-runtime.d.ts +1 -1
  27. package/dist/entrypoints/agent-runtime.d.ts.map +1 -1
  28. package/dist/entrypoints/agent-runtime.js +17 -15
  29. package/dist/entrypoints/application/diagnostic-journal.js +1 -1
  30. package/dist/entrypoints/application/directory-inbox.js +3 -3
  31. package/dist/entrypoints/cli/publish.js +2 -2
  32. package/dist/entrypoints/cli.js +3 -3
  33. package/dist/entrypoints/files.js +2 -2
  34. package/dist/entrypoints/primitives.js +51 -154
  35. package/dist/entrypoints/server.js +6 -6
  36. package/dist/entrypoints/telegram/grammy.js +2 -2
  37. package/dist/entrypoints/telegram.d.ts +1 -1
  38. package/dist/entrypoints/telegram.d.ts.map +1 -1
  39. package/dist/entrypoints/telegram.js +203 -70
  40. package/dist/entrypoints/tools.js +3 -3
  41. package/dist/entrypoints/tracking/contract.d.ts +11 -0
  42. package/dist/entrypoints/tracking/contract.d.ts.map +1 -0
  43. package/dist/entrypoints/tracking/contract.js +162 -0
  44. package/dist/entrypoints/tracking/performance.d.ts +8 -0
  45. package/dist/entrypoints/tracking/performance.d.ts.map +1 -0
  46. package/dist/entrypoints/tracking/performance.js +181 -0
  47. package/dist/entrypoints/tracking/server.d.ts +1 -0
  48. package/dist/entrypoints/tracking/server.d.ts.map +1 -1
  49. package/dist/entrypoints/tracking/server.js +40 -12
  50. package/dist/entrypoints/tracking.d.ts +4 -3
  51. package/dist/entrypoints/tracking.d.ts.map +1 -1
  52. package/dist/entrypoints/tracking.js +43 -143
  53. package/dist/entrypoints/xlsx.d.ts +4 -0
  54. package/dist/entrypoints/xlsx.d.ts.map +1 -0
  55. package/dist/entrypoints/xlsx.js +406 -0
  56. package/dist/{index-crmswbrt.js → index-073nw9qr.js} +8 -8
  57. package/dist/index-1f40z584.js +7 -0
  58. package/dist/{index-nregbbsc.js → index-6f49krb5.js} +1 -1
  59. package/dist/{index-fdk4r4r6.js → index-75ns2ybj.js} +1 -1
  60. package/dist/{index-x0ddbj85.js → index-arjmb6de.js} +36 -1
  61. package/dist/{index-944x38nv.js → index-cycp3r3e.js} +125 -182
  62. package/dist/{index-dx5cm9pc.js → index-ghtpfz4z.js} +9 -9
  63. package/dist/{index-n3v695sb.js → index-hdjmdwsj.js} +277 -96
  64. package/dist/{index-7yx8j6ay.js → index-n5sv4z0w.js} +12 -3
  65. package/dist/{index-zqkz4af9.js → index-nqxrm176.js} +1 -1
  66. package/dist/{index-j8kf56wx.js → index-q968hy6y.js} +1 -1
  67. package/dist/index-qezhmp51.js +242 -0
  68. package/dist/index-vv1sch8a.js +94 -0
  69. package/dist/{index-3qqdqwxe.js → index-w7jq3fz9.js} +25 -5
  70. package/dist/{index-fggxgbrk.js → index-xx1j310k.js} +165 -102
  71. package/dist/internal/contained-files.d.ts +10 -0
  72. package/dist/internal/contained-files.d.ts.map +1 -1
  73. package/dist/internal/exclusive-lock.d.ts.map +1 -1
  74. package/dist/primitives/decimal.d.ts +10 -0
  75. package/dist/primitives/decimal.d.ts.map +1 -1
  76. package/dist/primitives/index.d.ts +3 -1
  77. package/dist/primitives/index.d.ts.map +1 -1
  78. package/dist/primitives/money.d.ts +20 -0
  79. package/dist/primitives/money.d.ts.map +1 -1
  80. package/dist/primitives/quantity.d.ts.map +1 -1
  81. package/dist/primitives/rounding.d.ts +40 -0
  82. package/dist/primitives/rounding.d.ts.map +1 -0
  83. package/dist/telegram/budget-transformer.d.ts +6 -3
  84. package/dist/telegram/budget-transformer.d.ts.map +1 -1
  85. package/dist/telegram/not-dispatched.d.ts +2 -2
  86. package/dist/telegram/not-dispatched.d.ts.map +1 -1
  87. package/dist/telegram/outbound-budget.d.ts +72 -20
  88. package/dist/telegram/outbound-budget.d.ts.map +1 -1
  89. package/dist/telegram/outbound-cost.d.ts +5 -0
  90. package/dist/telegram/outbound-cost.d.ts.map +1 -0
  91. package/dist/telegram/outbound-pauses.d.ts +17 -0
  92. package/dist/telegram/outbound-pauses.d.ts.map +1 -0
  93. package/dist/telegram/outbound-queue.d.ts +17 -0
  94. package/dist/telegram/outbound-queue.d.ts.map +1 -0
  95. package/dist/tools/cli/view.d.ts +7 -1
  96. package/dist/tools/cli/view.d.ts.map +1 -1
  97. package/dist/tracking/attribution.d.ts +1 -1
  98. package/dist/tracking/attribution.d.ts.map +1 -1
  99. package/dist/tracking/client-visit.d.ts +3 -1
  100. package/dist/tracking/client-visit.d.ts.map +1 -1
  101. package/dist/tracking/client.d.ts.map +1 -1
  102. package/dist/tracking/performance/collector.d.ts +61 -0
  103. package/dist/tracking/performance/collector.d.ts.map +1 -0
  104. package/dist/tracking/performance/schema.d.ts +45 -0
  105. package/dist/tracking/performance/schema.d.ts.map +1 -0
  106. package/dist/tracking/performance/summary.d.ts +12 -0
  107. package/dist/tracking/performance/summary.d.ts.map +1 -0
  108. package/dist/tracking/privacy.d.ts +5 -0
  109. package/dist/tracking/privacy.d.ts.map +1 -0
  110. package/dist/tracking/server/telemetry-health.d.ts +31 -0
  111. package/dist/tracking/server/telemetry-health.d.ts.map +1 -0
  112. package/dist/xlsx/cells.d.ts +17 -0
  113. package/dist/xlsx/cells.d.ts.map +1 -0
  114. package/dist/xlsx/render.d.ts +11 -0
  115. package/dist/xlsx/render.d.ts.map +1 -0
  116. package/dist/xlsx/schema.d.ts +119 -0
  117. package/dist/xlsx/schema.d.ts.map +1 -0
  118. package/dist/xlsx/zip.d.ts +13 -0
  119. package/dist/xlsx/zip.d.ts.map +1 -0
  120. package/llms/agent-runtime.2.txt +40 -16
  121. package/llms/agent-runtime.3.txt +17 -0
  122. package/llms/agent-runtime.txt +6 -3
  123. package/llms/cli.txt +3 -1
  124. package/llms/primitives.txt +21 -0
  125. package/llms/stitchkit.txt +9 -6
  126. package/llms/telegram.txt +39 -12
  127. package/llms/tracking-contract.txt +32 -0
  128. package/llms/tracking-performance.txt +21 -0
  129. package/llms/tracking-server.txt +1 -0
  130. package/llms/tracking.txt +75 -12
  131. package/llms/{upgrading-0.104.0-0.115.0.txt → upgrading-0.105.0-0.117.0.txt} +73 -124
  132. package/llms/{upgrading-0.44.0-0.61.0.txt → upgrading-0.44.0-0.62.0.txt} +120 -3
  133. package/llms/{upgrading-0.62.0-0.78.0.txt → upgrading-0.63.0-0.83.0.txt} +181 -120
  134. package/llms/{upgrading-0.79.0-0.103.13.txt → upgrading-0.84.0-0.104.0.txt} +124 -181
  135. package/llms/upgrading.txt +4 -4
  136. package/llms/xlsx.txt +107 -0
  137. package/llms-full.txt +390 -34
  138. package/llms.txt +15 -11
  139. package/package.json +27 -9
  140. package/dist/{index-z3d6smer.js → index-tdpmfks8.js} +5 -5
@@ -374,158 +374,221 @@ function assistantStatus(reason) {
374
374
  return "failed";
375
375
  }
376
376
 
377
+ // src/agent-runtime/store-driver-contract.ts
378
+ import { z as z4 } from "zod";
379
+ var AgentRuntimeHeadSchema2 = z4.object({
380
+ schemaVersion: z4.literal(1),
381
+ conversationId: AgentRecordIdSchema2,
382
+ version: AgentRecordVersionSchema2
383
+ });
384
+ var AgentStoredRunSchema2 = z4.object({
385
+ schemaVersion: z4.literal(1),
386
+ run: AgentRunSchema2,
387
+ terminalAssistant: AgentMessageSchema2.optional()
388
+ });
389
+ var AgentAdmissionReceiptSchema2 = z4.object({
390
+ schemaVersion: z4.literal(1),
391
+ conversationId: AgentRecordIdSchema2,
392
+ idempotencyKey: z4.string().min(1),
393
+ input: AgentMessageSchema2,
394
+ runId: AgentRecordIdSchema2,
395
+ assistantMessageId: AgentRecordIdSchema2
396
+ });
397
+ var AgentSeedReceiptSchema2 = z4.object({
398
+ schemaVersion: z4.literal(1),
399
+ conversationId: AgentRecordIdSchema2,
400
+ seedKey: z4.string().min(1),
401
+ messageIds: z4.array(AgentRecordIdSchema2).min(1)
402
+ });
403
+ var AgentHistoryMutationSchema2 = z4.discriminatedUnion("type", [
404
+ z4.object({ type: z4.literal("admit"), input: AgentMessageSchema2 }),
405
+ z4.object({
406
+ type: z4.literal("upsert-assistant"),
407
+ message: AgentMessageSchema2
408
+ }),
409
+ z4.object({
410
+ type: z4.literal("replace-compacted-range"),
411
+ replacedMessageIds: z4.array(AgentRecordIdSchema2).min(1),
412
+ summary: AgentMessageSchema2
413
+ }),
414
+ z4.object({
415
+ type: z4.literal("seed"),
416
+ message: AgentMessageSchema2
417
+ }),
418
+ z4.object({
419
+ type: z4.literal("insert"),
420
+ message: AgentMessageSchema2,
421
+ beforeMessageId: AgentRecordIdSchema2.optional()
422
+ })
423
+ ]);
424
+ var ACTIVE_AGENT_RUN_STATES2 = [
425
+ "queued",
426
+ "running",
427
+ "interrupt_requested"
428
+ ];
429
+ function isActiveRunState(state) {
430
+ return ACTIVE_AGENT_RUN_STATES2.includes(state);
431
+ }
432
+ function emptyHead(conversationId) {
433
+ return AgentRuntimeHeadSchema2.parse({
434
+ schemaVersion: 1,
435
+ conversationId,
436
+ version: 0
437
+ });
438
+ }
439
+
377
440
  // src/agent-runtime/provider-journal.ts
378
- import { z as z5 } from "zod";
441
+ import { z as z6 } from "zod";
379
442
 
380
443
  // src/agent-runtime/provider-content.ts
381
- import { z as z4 } from "zod";
444
+ import { z as z5 } from "zod";
382
445
  var ProviderJournalOptions = {
383
- providerOptions: z4.record(z4.string(), z4.record(z4.string(), z4.json())).optional()
446
+ providerOptions: z5.record(z5.string(), z5.record(z5.string(), z5.json())).optional()
384
447
  };
385
448
  var Options = ProviderJournalOptions;
386
- var Reference = z4.record(z4.string(), z4.string()).refine((value) => !("type" in value), "Provider reference cannot contain a file discriminator");
387
- var Binary = z4.object({
388
- binary: z4.literal(true),
389
- sha256: z4.string().regex(/^[a-f0-9]{64}$/),
390
- bytes: z4.int().nonnegative()
449
+ var Reference = z5.record(z5.string(), z5.string()).refine((value) => !("type" in value), "Provider reference cannot contain a file discriminator");
450
+ var Binary = z5.object({
451
+ binary: z5.literal(true),
452
+ sha256: z5.string().regex(/^[a-f0-9]{64}$/),
453
+ bytes: z5.int().nonnegative()
391
454
  }).strict();
392
- var Inline = z4.union([z4.string(), Binary]);
393
- var TaggedBinary = z4.object({ type: z4.literal("data"), data: Inline }).strict();
394
- var TaggedUrl = z4.object({ type: z4.literal("url"), url: z4.string() }).strict();
395
- var FileData = z4.union([
455
+ var Inline = z5.union([z5.string(), Binary]);
456
+ var TaggedBinary = z5.object({ type: z5.literal("data"), data: Inline }).strict();
457
+ var TaggedUrl = z5.object({ type: z5.literal("url"), url: z5.string() }).strict();
458
+ var FileData = z5.union([
396
459
  TaggedBinary,
397
460
  TaggedUrl,
398
- z4.object({ type: z4.literal("reference"), reference: Reference }).strict(),
399
- z4.object({ type: z4.literal("text"), text: z4.string() }).strict()
461
+ z5.object({ type: z5.literal("reference"), reference: Reference }).strict(),
462
+ z5.object({ type: z5.literal("text"), text: z5.string() }).strict()
400
463
  ]);
401
- var File = z4.object({
402
- type: z4.literal("file"),
403
- data: z4.union([FileData, Inline, Reference]),
404
- mediaType: z4.string(),
405
- filename: z4.string().optional(),
464
+ var File = z5.object({
465
+ type: z5.literal("file"),
466
+ data: z5.union([FileData, Inline, Reference]),
467
+ mediaType: z5.string(),
468
+ filename: z5.string().optional(),
406
469
  ...Options
407
470
  }).strict();
408
- var Text = z4.object({ type: z4.literal("text"), text: z4.string(), ...Options }).strict();
409
- var Output = z4.discriminatedUnion("type", [
410
- z4.object({ type: z4.enum(["text", "error-text"]), value: z4.string(), ...Options }).strict(),
411
- z4.object({ type: z4.enum(["json", "error-json"]), value: z4.json(), ...Options }).strict(),
412
- z4.object({ type: z4.literal("execution-denied"), reason: z4.string().optional(), ...Options }).strict(),
413
- z4.object({
414
- type: z4.literal("content"),
415
- value: z4.array(z4.union([
471
+ var Text = z5.object({ type: z5.literal("text"), text: z5.string(), ...Options }).strict();
472
+ var Output = z5.discriminatedUnion("type", [
473
+ z5.object({ type: z5.enum(["text", "error-text"]), value: z5.string(), ...Options }).strict(),
474
+ z5.object({ type: z5.enum(["json", "error-json"]), value: z5.json(), ...Options }).strict(),
475
+ z5.object({ type: z5.literal("execution-denied"), reason: z5.string().optional(), ...Options }).strict(),
476
+ z5.object({
477
+ type: z5.literal("content"),
478
+ value: z5.array(z5.union([
416
479
  Text,
417
- z4.object({
418
- type: z4.literal("file"),
480
+ z5.object({
481
+ type: z5.literal("file"),
419
482
  data: FileData,
420
- mediaType: z4.string(),
421
- filename: z4.string().optional(),
483
+ mediaType: z5.string(),
484
+ filename: z5.string().optional(),
422
485
  ...Options
423
486
  }).strict(),
424
- z4.object({
425
- type: z4.literal("file-data"),
426
- data: z4.string(),
427
- mediaType: z4.string(),
428
- filename: z4.string().optional(),
487
+ z5.object({
488
+ type: z5.literal("file-data"),
489
+ data: z5.string(),
490
+ mediaType: z5.string(),
491
+ filename: z5.string().optional(),
429
492
  ...Options
430
493
  }).strict(),
431
- z4.object({
432
- type: z4.literal("image-data"),
433
- data: z4.string(),
434
- mediaType: z4.string(),
494
+ z5.object({
495
+ type: z5.literal("image-data"),
496
+ data: z5.string(),
497
+ mediaType: z5.string(),
435
498
  ...Options
436
499
  }).strict(),
437
- z4.object({
438
- type: z4.literal("file-url"),
439
- url: z4.string(),
440
- mediaType: z4.string().optional(),
500
+ z5.object({
501
+ type: z5.literal("file-url"),
502
+ url: z5.string(),
503
+ mediaType: z5.string().optional(),
441
504
  ...Options
442
505
  }).strict(),
443
- z4.object({ type: z4.literal("image-url"), url: z4.string(), ...Options }).strict(),
444
- z4.object({
445
- type: z4.enum(["file-id", "image-file-id"]),
446
- fileId: z4.union([z4.string(), Reference]),
506
+ z5.object({ type: z5.literal("image-url"), url: z5.string(), ...Options }).strict(),
507
+ z5.object({
508
+ type: z5.enum(["file-id", "image-file-id"]),
509
+ fileId: z5.union([z5.string(), Reference]),
447
510
  ...Options
448
511
  }).strict(),
449
- z4.object({
450
- type: z4.enum(["file-reference", "image-file-reference"]),
512
+ z5.object({
513
+ type: z5.enum(["file-reference", "image-file-reference"]),
451
514
  providerReference: Reference,
452
515
  ...Options
453
516
  }).strict(),
454
- z4.object({ type: z4.literal("custom"), ...Options }).strict()
517
+ z5.object({ type: z5.literal("custom"), ...Options }).strict()
455
518
  ]))
456
519
  }).strict()
457
520
  ]);
458
- var ProviderJournalContentSchema = z4.union([
521
+ var ProviderJournalContentSchema = z5.union([
459
522
  Text,
460
523
  File,
461
- z4.object({ type: z4.literal("reasoning"), text: z4.string(), ...Options }).strict(),
462
- z4.object({ type: z4.literal("custom"), kind: z4.string(), ...Options }).strict(),
463
- z4.object({
464
- type: z4.literal("reasoning-file"),
465
- data: z4.union([TaggedBinary, TaggedUrl, Inline]),
466
- mediaType: z4.string(),
524
+ z5.object({ type: z5.literal("reasoning"), text: z5.string(), ...Options }).strict(),
525
+ z5.object({ type: z5.literal("custom"), kind: z5.string(), ...Options }).strict(),
526
+ z5.object({
527
+ type: z5.literal("reasoning-file"),
528
+ data: z5.union([TaggedBinary, TaggedUrl, Inline]),
529
+ mediaType: z5.string(),
467
530
  ...Options
468
531
  }).strict(),
469
- z4.object({
470
- type: z4.literal("image"),
471
- image: z4.union([Inline, Reference]),
472
- mediaType: z4.string().optional(),
532
+ z5.object({
533
+ type: z5.literal("image"),
534
+ image: z5.union([Inline, Reference]),
535
+ mediaType: z5.string().optional(),
473
536
  ...Options
474
537
  }).strict(),
475
- z4.object({
476
- type: z4.literal("tool-call"),
477
- toolCallId: z4.string(),
478
- toolName: z4.string(),
479
- input: z4.json(),
480
- providerExecuted: z4.boolean().optional(),
538
+ z5.object({
539
+ type: z5.literal("tool-call"),
540
+ toolCallId: z5.string(),
541
+ toolName: z5.string(),
542
+ input: z5.json(),
543
+ providerExecuted: z5.boolean().optional(),
481
544
  ...Options
482
545
  }).strict(),
483
- z4.object({
484
- type: z4.literal("tool-result"),
485
- toolCallId: z4.string(),
486
- toolName: z4.string(),
546
+ z5.object({
547
+ type: z5.literal("tool-result"),
548
+ toolCallId: z5.string(),
549
+ toolName: z5.string(),
487
550
  output: Output,
488
551
  ...Options
489
552
  }).strict(),
490
- z4.object({
491
- type: z4.literal("tool-approval-request"),
492
- approvalId: z4.string(),
493
- toolCallId: z4.string(),
494
- signature: z4.string().optional(),
495
- isAutomatic: z4.boolean().optional(),
496
- reason: z4.string().optional()
553
+ z5.object({
554
+ type: z5.literal("tool-approval-request"),
555
+ approvalId: z5.string(),
556
+ toolCallId: z5.string(),
557
+ signature: z5.string().optional(),
558
+ isAutomatic: z5.boolean().optional(),
559
+ reason: z5.string().optional()
497
560
  }).strict(),
498
- z4.object({
499
- type: z4.literal("tool-approval-response"),
500
- approvalId: z4.string(),
501
- approved: z4.boolean(),
502
- reason: z4.string().optional(),
503
- providerExecuted: z4.boolean().optional()
561
+ z5.object({
562
+ type: z5.literal("tool-approval-response"),
563
+ approvalId: z5.string(),
564
+ approved: z5.boolean(),
565
+ reason: z5.string().optional(),
566
+ providerExecuted: z5.boolean().optional()
504
567
  }).strict()
505
568
  ]);
506
569
 
507
570
  // src/agent-runtime/provider-journal.ts
508
- var Hash = z5.string().regex(/^[a-f0-9]{64}$/);
509
- var Message = z5.object({
571
+ var Hash = z6.string().regex(/^[a-f0-9]{64}$/);
572
+ var Message = z6.object({
510
573
  ...ProviderJournalOptions,
511
- role: z5.enum(["system", "user", "assistant", "tool"]),
512
- content: z5.union([z5.string(), z5.array(ProviderJournalContentSchema)])
574
+ role: z6.enum(["system", "user", "assistant", "tool"]),
575
+ content: z6.union([z6.string(), z6.array(ProviderJournalContentSchema)])
513
576
  }).strict();
514
- var ProviderJournalMessageSchema = z5.object({ sha256: Hash, message: Message }).strict();
515
- var ProviderJournalRequestSchema = z5.object({
516
- runId: z5.string(),
517
- attempt: z5.int().nonnegative(),
518
- stepNumber: z5.int().nonnegative(),
519
- modelId: z5.string(),
577
+ var ProviderJournalMessageSchema = z6.object({ sha256: Hash, message: Message }).strict();
578
+ var ProviderJournalRequestSchema = z6.object({
579
+ runId: z6.string(),
580
+ attempt: z6.int().nonnegative(),
581
+ stepNumber: z6.int().nonnegative(),
582
+ modelId: z6.string(),
520
583
  instructionsSha256: Hash,
521
- messageShas: z5.array(Hash),
584
+ messageShas: z6.array(Hash),
522
585
  bodySha256: Hash
523
586
  }).strict();
524
- var ProviderJournalResponseSchema = z5.object({
525
- runId: z5.string(),
526
- attempt: z5.int().nonnegative(),
527
- stepNumber: z5.int().nonnegative(),
528
- response: z5.object({ id: z5.string(), provider: z5.string().optional() }).strict()
587
+ var ProviderJournalResponseSchema = z6.object({
588
+ runId: z6.string(),
589
+ attempt: z6.int().nonnegative(),
590
+ stepNumber: z6.int().nonnegative(),
591
+ response: z6.object({ id: z6.string(), provider: z6.string().optional() }).strict()
529
592
  }).strict();
530
593
 
531
- export { AgentStoreEventKindSchema2, AgentStoreEventEnvelopeSchema2, AppendAgentStoreEventSchema2, ReadAgentStoreEventsSchema2, AgentStoreEventPageSchema2, AgentStoreConflictSchema2, AgentStoreNotFoundSchema2, AgentStoreAppliedSchema2, AgentStoreDuplicateSchema2, AgentStoreMutationResultSchema2, AgentRunViewSchema2, AcceptInputAndAssignRunSchema2, AcquireAgentRunSchema2, CheckpointRunAssistantSchema2, RecordRunOperationSchema2, CommitRunTerminalSchema2, RequestRunInterruptSchema2, RecoverAgentRunSchema2, ReplaceCompactedRangeSchema2, SeedConversationInputSchema2, AgentRecoverableDescriptorSchema2, AgentRecoverablePageSchema2, AgentStoreTransitionSchema2, AgentStoreCheckpointRecordSchema, AgentStoreTransitionRecordSchema2, decodeAgentStoreEvent2, agentStoreEventDraft, canonicalAgentJson2, AgentConversationArchiveSchema2, encodeAgentConversationArchive2, decodeAgentConversationArchive2, createToolChronology, advanceToolChronology, canProjectToolChronology, isAssistantHistoryEvidence2, isCompleteAgentHistoryTurn, assistantStatus, ProviderJournalMessageSchema, ProviderJournalRequestSchema, ProviderJournalResponseSchema };
594
+ export { AgentStoreEventKindSchema2, AgentStoreEventEnvelopeSchema2, AppendAgentStoreEventSchema2, ReadAgentStoreEventsSchema2, AgentStoreEventPageSchema2, AgentStoreConflictSchema2, AgentStoreNotFoundSchema2, AgentStoreAppliedSchema2, AgentStoreDuplicateSchema2, AgentStoreMutationResultSchema2, AgentRunViewSchema2, AcceptInputAndAssignRunSchema2, AcquireAgentRunSchema2, CheckpointRunAssistantSchema2, RecordRunOperationSchema2, CommitRunTerminalSchema2, RequestRunInterruptSchema2, RecoverAgentRunSchema2, ReplaceCompactedRangeSchema2, SeedConversationInputSchema2, AgentRecoverableDescriptorSchema2, AgentRecoverablePageSchema2, AgentStoreTransitionSchema2, AgentStoreCheckpointRecordSchema, AgentStoreTransitionRecordSchema2, decodeAgentStoreEvent2, agentStoreEventDraft, canonicalAgentJson2, AgentConversationArchiveSchema2, encodeAgentConversationArchive2, decodeAgentConversationArchive2, createToolChronology, advanceToolChronology, canProjectToolChronology, isAssistantHistoryEvidence2, isCompleteAgentHistoryTurn, assistantStatus, ProviderJournalMessageSchema, ProviderJournalRequestSchema, ProviderJournalResponseSchema, AgentRuntimeHeadSchema2, AgentStoredRunSchema2, AgentAdmissionReceiptSchema2, AgentSeedReceiptSchema2, AgentHistoryMutationSchema2, ACTIVE_AGENT_RUN_STATES2, isActiveRunState, emptyHead };
@@ -71,6 +71,16 @@ export interface ContainedParent {
71
71
  * happens, and cannot do that without knowing what would be created.
72
72
  */
73
73
  export declare function missingContainedDirectories(root: string, relative: string): Promise<string[]>;
74
+ /**
75
+ * The first segment of `relative` that opens an entry stored under another spelling.
76
+ *
77
+ * A policy compares strings, and a volume that folds case or normalization opens
78
+ * `CREDENTIALS` for a rule written against `credentials`. An entry that answers to
79
+ * another spelling is the only cost here: a listing runs only then, and it decides,
80
+ * because two distinct entries may exist on a volume that does not fold. A missing
81
+ * segment is not misspelled; the caller reports it.
82
+ */
83
+ export declare function misspelledContainedSegment(root: string, relative: string): Promise<string | undefined>;
74
84
  /** A directory vanished after the host approved a different creation plan. */
75
85
  export declare class UnapprovedContainedDirectoryError extends Error {
76
86
  readonly relative: string;
@@ -1 +1 @@
1
- {"version":3,"file":"contained-files.d.ts","sourceRoot":"","sources":["../../src/internal/contained-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contained-files.d.ts","sourceRoot":"","sources":["../../src/internal/contained-files.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"exclusive-lock.d.ts","sourceRoot":"","sources":["../../src/internal/exclusive-lock.ts"],"names":[],"mappings":"AA6BA,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EAGxB,MAAM,wBAAwB,CAAC;AAMhC,iCAAiC;AACjC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,kFAAkF;IAClF,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,yEAAyE;IACzE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,uFAAuF;IACvF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,GACpC;IACE,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAAC;CAC7C,CAAC;AAwSN;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,2BAA2B,EACpC,KAAK,SAAI,GACR,OAAO,CAAC,oBAAoB,CAAC,CAgC/B;AAED,gFAAgF;AAChF,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAEpC"}
1
+ {"version":3,"file":"exclusive-lock.d.ts","sourceRoot":"","sources":["../../src/internal/exclusive-lock.ts"],"names":[],"mappings":"AA6BA,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EAGxB,MAAM,wBAAwB,CAAC;AAMhC,iCAAiC;AACjC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,kFAAkF;IAClF,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,yEAAyE;IACzE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,uFAAuF;IACvF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,GACpC;IACE,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAAC;CAC7C,CAAC;AA4SN;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,2BAA2B,EACpC,KAAK,SAAI,GACR,OAAO,CAAC,oBAAoB,CAAC,CAgC/B;AAED,gFAAgF;AAChF,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAEpC"}
@@ -1,3 +1,4 @@
1
+ import { z } from 'zod';
1
2
  export interface DecimalParts {
2
3
  readonly coefficient: bigint;
3
4
  readonly scale: number;
@@ -7,4 +8,13 @@ export declare function normalizeDecimal(parts: DecimalParts): DecimalParts;
7
8
  export declare function formatDecimal(parts: DecimalParts): string;
8
9
  export declare function addDecimal(left: DecimalParts, right: DecimalParts): DecimalParts;
9
10
  export declare function multiplyDecimalRatio(value: DecimalParts, numerator: bigint, denominator: bigint): DecimalParts;
11
+ /**
12
+ * A decimal as a string in its one canonical spelling: `10.5`, never `10.50`,
13
+ * `+10.5`, `.5`, or a number. Two equal values serialize alike, so a digest or a
14
+ * unique index over them agrees. A JSON number is refused: it is a float by the
15
+ * time anyone reads it.
16
+ */
17
+ export declare const DecimalStringSchema: z.ZodString;
18
+ /** A decimal string as a database or a form spells it, brought to the canonical one. */
19
+ export declare const DecimalInputSchema: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
10
20
  //# sourceMappingURL=decimal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decimal.d.ts","sourceRoot":"","sources":["../../src/primitives/decimal.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAOxD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAQlE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAQzD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,YAAY,CAKhF;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,YAAY,CAYd"}
1
+ {"version":3,"file":"decimal.d.ts","sourceRoot":"","sources":["../../src/primitives/decimal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAOxD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAQlE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAQzD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,YAAY,CAKhF;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,YAAY,CAYd;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,aAMS,CAAC;AAE1C,wFAAwF;AACxF,eAAO,MAAM,kBAAkB,wDAG4B,CAAC"}
@@ -1,13 +1,15 @@
1
1
  export { type AuditOmitPolicy, type AuditPolicy, type AuditRecord, type AuditRecordPolicy, AuditRecordSchema, assertAuditDeclared, audit, type CreateAuditRecordInput, createAuditRecord, } from './audit.js';
2
2
  export { CanonicalJsonError, type CanonicalJsonOptions, type CanonicalJsonRefusal, canonicalJson, } from './canonical-json.js';
3
3
  export { type DeadlineResult, DeadlineResultSchema, defineDeadlinePolicy, } from './deadline.js';
4
+ export { DecimalInputSchema, DecimalStringSchema } from './decimal.js';
4
5
  export { type DomainEventDeliveryClaim, DomainEventDeliveryClaimSchema, type DomainEventDeliveryOutcome, DomainEventDeliveryOutcomeSchema, type DomainEventDeliveryPlan, type DomainEventDestination, DomainEventDestinationSchema, type DomainEventDispatchResult, type DomainEventOutbox, type DomainEventRoute, type DomainEventTransport, defineDomainEventDelivery, } from './delivery.js';
5
6
  export { createDomainEventSchema, type DomainEvent, type DomainEventActor, DomainEventActorSchema, DomainEventSchema, type DomainEventSubject, DomainEventSubjectSchema, } from './event.js';
6
7
  export { createExportResultSchema, defineExportOperation, } from './export-operation.js';
7
8
  export { defineLifecycle, type LifecycleDefinition, type LifecycleState, type LifecycleTransitionDefinition, type LifecycleTransitionEvent, LifecycleTransitionEventSchema, type LifecycleTransitionFailure, type LifecycleTransitionInput, type LifecycleTransitionResult, type LifecycleTransitionSuccess, } from './lifecycle.js';
8
9
  export { type SourceRisk, type SourceText, scanMoneyNumberRisks, scanOwnerFilterRisks, } from './migration-checks.js';
9
- export { addMoney, createMoneySchema, defineMoney, type Money, type MoneyShare, type MoneySplit, multiplyMoney, shareMoney, splitMoney, subtractMoney, } from './money.js';
10
+ export { addMoney, createMoneySchema, defineMoney, type Money, type MoneyShare, type MoneySplit, moneyFromDecimal, moneyToDecimal, multiplyMoney, multiplyMoneyByDecimal, roundMoney, shareMoney, splitMoney, subtractMoney, } from './money.js';
10
11
  export { defineOwnerScope, type OwnerScope, type OwnerScopeDefinition, type OwnerScopeResolution, } from './owner-scope.js';
11
12
  export { definePermissionMatrix, type PermissionCheckResult, type PermissionGrantMatrix, } from './permission.js';
12
13
  export { addQuantity, createQuantitySchema, defineUnitSystem, type Quantity, type QuantityProjection, QuantityProjectionSchema, type UnitConversion, } from './quantity.js';
14
+ export { defineRoundingPolicy, type RoundingMode, RoundingModeSchema, type RoundingPolicy, RoundingPolicySchema, roundDecimal, } from './rounding.js';
13
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/primitives/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,EACL,KAAK,sBAAsB,EAC3B,iBAAiB,GAClB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,cAAc,EACnB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,0BAA0B,EAC/B,gCAAgC,EAChC,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,uBAAuB,EACvB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,wBAAwB,GACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,GAChC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,UAAU,EACf,aAAa,EACb,UAAU,EACV,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sBAAsB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/primitives/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,EACL,KAAK,sBAAsB,EAC3B,iBAAiB,GAClB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,cAAc,EACnB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EACL,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,0BAA0B,EAC/B,gCAAgC,EAChC,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,uBAAuB,EACvB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,wBAAwB,GACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,GAChC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,UAAU,EACf,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sBAAsB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,KAAK,YAAY,EACjB,kBAAkB,EAClB,KAAK,cAAc,EACnB,oBAAoB,EACpB,YAAY,GACb,MAAM,YAAY,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { type RoundingPolicy } from './rounding.js';
2
3
  export interface Money<TCurrency extends string = string> {
3
4
  readonly minor: string;
4
5
  readonly currency: TCurrency;
@@ -10,6 +11,25 @@ export declare function createMoneySchema<const TCurrency extends string>(curren
10
11
  export declare function addMoney<TCurrency extends string>(left: Money<TCurrency>, right: Money<NoInfer<TCurrency>>): Money<TCurrency>;
11
12
  export declare function subtractMoney<TCurrency extends string>(left: Money<TCurrency>, right: Money<NoInfer<TCurrency>>): Money<TCurrency>;
12
13
  export declare function multiplyMoney<TCurrency extends string>(value: Money<TCurrency>, quantity: bigint | number): Money<TCurrency>;
14
+ /**
15
+ * `5041.82` at scale 2 is 504182 minor units. Refuses a value finer than the
16
+ * currency, because dropping those digits here would be a rounding nobody chose:
17
+ * round first, with a policy, if that is what is meant.
18
+ */
19
+ export declare function moneyFromDecimal<const TCurrency extends string>(currency: TCurrency, value: string, scale: number): Money<TCurrency>;
20
+ /** The amount in major units with every place of the currency: `5041.80`, not `5041.8`. */
21
+ export declare function moneyToDecimal(value: Money, scale: number): string;
22
+ /**
23
+ * Bring an amount to the steps of a policy, whose table is in minor units.
24
+ * `below` and `step` of `{ below: '100000', step: '100' }` mean a price under
25
+ * 1000.00 rounds to whole units of a two-place currency.
26
+ */
27
+ export declare function roundMoney<TCurrency extends string>(value: Money<TCurrency>, policy: RoundingPolicy): Money<TCurrency>;
28
+ /**
29
+ * Multiply by a decimal such as a quantity of `2.5` or a rate of `0.2`. The exact
30
+ * product is computed first and rounded once, by the policy the caller names.
31
+ */
32
+ export declare function multiplyMoneyByDecimal<TCurrency extends string>(value: Money<TCurrency>, factor: string, policy: RoundingPolicy): Money<TCurrency>;
13
33
  export interface MoneyShare<TCurrency extends string> {
14
34
  readonly amount: Money<TCurrency>;
15
35
  readonly remainder: {
@@ -1 +1 @@
1
- {"version":3,"file":"money.d.ts","sourceRoot":"","sources":["../../src/primitives/money.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,MAAM,WAAW,KAAK,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,SAAS,SAAS,MAAM,EAAE,QAAQ,EAAE,SAAS;;;kBAKpF;AAmBD,wBAAgB,QAAQ,CAAC,SAAS,SAAS,MAAM,EAC/C,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,EACtB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAC/B,KAAK,CAAC,SAAS,CAAC,CAGlB;AAED,wBAAgB,aAAa,CAAC,SAAS,SAAS,MAAM,EACpD,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,EACtB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAC/B,KAAK,CAAC,SAAS,CAAC,CAGlB;AAED,wBAAgB,aAAa,CAAC,SAAS,SAAS,MAAM,EACpD,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EACvB,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,KAAK,CAAC,SAAS,CAAC,CAMlB;AAED,MAAM,WAAW,UAAU,CAAC,SAAS,SAAS,MAAM;IAClD,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;KAC9B,CAAC;CACH;AAED,iGAAiG;AACjG,wBAAgB,UAAU,CAAC,SAAS,SAAS,MAAM,EACjD,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EACvB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,UAAU,CAAC,SAAS,CAAC,CAYvB;AAED,MAAM,WAAW,UAAU,CAAC,SAAS,SAAS,MAAM;IAClD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CACtC;AAED,yFAAyF;AACzF,wBAAgB,UAAU,CAAC,SAAS,SAAS,MAAM,EACjD,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EACvB,KAAK,EAAE,MAAM,GACZ,UAAU,CAAC,SAAS,CAAC,CASvB;AAED,wBAAgB,WAAW,CAAC,KAAK,CAAC,SAAS,SAAS,MAAM,EAAE,QAAQ,EAAE,SAAS;;;;;;kBAK7D,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;;;kDA/DxC,MAAM,GAAG,MAAM;gDAqBd,MAAM,eACJ,MAAM;4CAwBZ,MAAM;GA2Bd"}
1
+ {"version":3,"file":"money.d.ts","sourceRoot":"","sources":["../../src/primitives/money.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"quantity.d.ts","sourceRoot":"","sources":["../../src/primitives/quantity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,MAAM,WAAW,QAAQ,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;CACtB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,KAAK,SAAS,MAAM,EAAE,IAAI,EAAE,KAAK;;;kBAE3E;AAUD,wBAAgB,WAAW,CAAC,KAAK,SAAS,MAAM,EAC9C,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,EACrB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAC9B,QAAQ,CAAC,KAAK,CAAC,CAQjB;AAED,MAAM,WAAW,cAAc,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IAC3D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;CAAE,GACjE;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEN,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;2BAWnC,CAAC;AAEH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,KAAK,SAAS,MAAM,EAAE,MAAM,EAAE;IACnE,QAAQ,CAAC,KAAK,EAAE,SAAS,KAAK,EAAE,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;CACxD;;wBAFiB,SAAS,KAAK,EAAE;8BACV,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE;;WAqB7C,SAAS,SAAS,KAAK,SAAS,MAAM,QAAQ,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;aAI3E,SAAS,SAAS,KAAK,SACvB,QAAQ,CAAC,SAAS,CAAC,GACzB,kBAAkB,CAAC,SAAS,CAAC;YAGxB,KAAK,SAAS,KAAK,EAAE,GAAG,SAAS,KAAK,UACpC,QAAQ,CAAC,KAAK,CAAC,MACnB,GAAG,GACN,kBAAkB,CAAC,GAAG,CAAC;GA4B7B"}
1
+ {"version":3,"file":"quantity.d.ts","sourceRoot":"","sources":["../../src/primitives/quantity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,MAAM,WAAW,QAAQ,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;CACtB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,KAAK,SAAS,MAAM,EAAE,IAAI,EAAE,KAAK;;;kBAE3E;AAUD,wBAAgB,WAAW,CAAC,KAAK,SAAS,MAAM,EAC9C,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,EACrB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAC9B,QAAQ,CAAC,KAAK,CAAC,CAQjB;AAED,MAAM,WAAW,cAAc,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IAC3D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;CAAE,GACjE;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEN,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;2BAWnC,CAAC;AAEH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,KAAK,SAAS,MAAM,EAAE,MAAM,EAAE;IACnE,QAAQ,CAAC,KAAK,EAAE,SAAS,KAAK,EAAE,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;CACxD;;wBAFiB,SAAS,KAAK,EAAE;8BACV,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE;;WAqB7C,SAAS,SAAS,KAAK,SAAS,MAAM,QAAQ,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;aAI3E,SAAS,SAAS,KAAK,SACvB,QAAQ,CAAC,SAAS,CAAC,GACzB,kBAAkB,CAAC,SAAS,CAAC;YAGxB,KAAK,SAAS,KAAK,EAAE,GAAG,SAAS,KAAK,UACpC,QAAQ,CAAC,KAAK,CAAC,MACnB,GAAG,GACN,kBAAkB,CAAC,GAAG,CAAC;GA4B7B"}
@@ -0,0 +1,40 @@
1
+ import { z } from 'zod';
2
+ import { type DecimalParts } from './decimal.js';
3
+ /**
4
+ * How a value between two steps lands. `half-up` takes a tie away from zero and
5
+ * `half-even` to the even step, `up` always leaves zero and `down` always nears it.
6
+ */
7
+ export declare const RoundingModeSchema: z.ZodEnum<{
8
+ down: "down";
9
+ "half-even": "half-even";
10
+ "half-up": "half-up";
11
+ up: "up";
12
+ }>;
13
+ export type RoundingMode = z.infer<typeof RoundingModeSchema>;
14
+ /**
15
+ * A rounding table: the first tier whose `below` exceeds the magnitude gives the
16
+ * step. Data rather than a callback, so it can be stored with the prices it
17
+ * produced and read back when one of them is questioned.
18
+ */
19
+ export declare const RoundingPolicySchema: z.ZodObject<{
20
+ mode: z.ZodEnum<{
21
+ down: "down";
22
+ "half-even": "half-even";
23
+ "half-up": "half-up";
24
+ up: "up";
25
+ }>;
26
+ tiers: z.ZodArray<z.ZodObject<{
27
+ below: z.ZodOptional<z.ZodString>;
28
+ step: z.ZodString;
29
+ }, z.core.$strip>>;
30
+ }, z.core.$strip>;
31
+ export type RoundingPolicy = z.infer<typeof RoundingPolicySchema>;
32
+ export declare function defineRoundingPolicy(policy: z.input<typeof RoundingPolicySchema>): RoundingPolicy;
33
+ /** Whether every result of the table is a whole number, whatever the value. */
34
+ export declare function hasWholeSteps(policy: RoundingPolicy): boolean;
35
+ export declare function roundParts(value: DecimalParts, policy: RoundingPolicy): DecimalParts;
36
+ /** The exact product, rounded once. */
37
+ export declare function multiplyAndRound(left: DecimalParts, right: DecimalParts, policy: RoundingPolicy): DecimalParts;
38
+ /** A decimal string brought to the table's step, in canonical spelling. */
39
+ export declare function roundDecimal(value: string, policy: RoundingPolicy): string;
40
+ //# sourceMappingURL=rounding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rounding.d.ts","sourceRoot":"","sources":["../../src/primitives/rounding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,KAAK,YAAY,EAIlB,MAAM,WAAW,CAAC;AAEnB;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;EAAiD,CAAC;AACjF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAmB9D;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;iBAgB7B,CAAC;AACL,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,GAC3C,cAAc,CAGhB;AA+BD,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAE7D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,GAAG,YAAY,CAQpF;AAED,uCAAuC;AACvC,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,cAAc,GACrB,YAAY,CAKd;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM,CAE1E"}
@@ -16,13 +16,13 @@
16
16
  * grammY is named in the declarations and never imported at run time.
17
17
  */
18
18
  import type { Transformer } from 'grammy';
19
- import type { TelegramOutboundBudget } from './outbound-budget.js';
19
+ import type { TelegramOutboundBudget, TelegramOutboundCallOptions } from './outbound-budget.js';
20
20
  /**
21
21
  * A grammY client transformer that runs every Bot API call under `budget`.
22
22
  *
23
23
  * Install it as the bot's one transformer; it replaces any limiter written
24
24
  * beside it. A refusal Telegram returns as a response, not only a thrown one,
25
- * pauses the token (see `TelegramOutboundBudget.run`), and the call is never
25
+ * pauses its chat (see `TelegramOutboundBudget.run`), and the call is never
26
26
  * repeated here.
27
27
  *
28
28
  * A cancellation that arrives while the call still waits for its turn, or in
@@ -30,6 +30,9 @@ import type { TelegramOutboundBudget } from './outbound-budget.js';
30
30
  * `TelegramNotDispatchedError`: nothing was sent. A cancellation after the
31
31
  * request was handed on is the client's ordinary error and the outcome is
32
32
  * unknown, not a definite failure.
33
+ *
34
+ * `options` apply to every call through this client: a campaign installs
35
+ * `{ lane: 'bulk' }` on its own `Api`, and replies stay ahead of it.
33
36
  */
34
- export declare function telegramBudgetTransformer(budget: TelegramOutboundBudget): Transformer;
37
+ export declare function telegramBudgetTransformer(budget: TelegramOutboundBudget, options?: TelegramOutboundCallOptions): Transformer;
35
38
  //# sourceMappingURL=budget-transformer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"budget-transformer.d.ts","sourceRoot":"","sources":["../../src/telegram/budget-transformer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AA4BhE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,sBAAsB,GAAG,WAAW,CAsBrF"}
1
+ {"version":3,"file":"budget-transformer.d.ts","sourceRoot":"","sources":["../../src/telegram/budget-transformer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,KAAK,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AA4B7F;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,sBAAsB,EAC9B,OAAO,CAAC,EAAE,2BAA2B,GACpC,WAAW,CA4Bb"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Where a Bot API request stopped before any byte of it was written: the address lookup, the
3
- * connection, or the request itself (a body that could not be read).
3
+ * connection, the request itself (a body that could not be read), or the outbound budget's queue.
4
4
  */
5
- export type TelegramNotDispatchedStage = 'lookup' | 'connect' | 'request';
5
+ export type TelegramNotDispatchedStage = 'lookup' | 'connect' | 'request' | 'queue';
6
6
  /**
7
7
  * The request provably never reached Telegram, so sending it again cannot duplicate a message.
8
8
  * Thrown only before the first byte is written; any failure after that is an ordinary error,
@@ -1 +1 @@
1
- {"version":3,"file":"not-dispatched.d.ts","sourceRoot":"","sources":["../../src/telegram/not-dispatched.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAE1E;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IAIjD,QAAQ,CAAC,KAAK,EAAE,0BAA0B;IAH5C,SAAkB,IAAI,gCAAgC;IACtD,QAAQ,CAAC,IAAI,6BAA6B;IAC1C,YACW,KAAK,EAAE,0BAA0B,EAC1C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAG9B;CACF;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,0BAA0B,CAOrC;AAED,2EAA2E;AAC3E,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,OAAO,CAO1E"}
1
+ {"version":3,"file":"not-dispatched.d.ts","sourceRoot":"","sources":["../../src/telegram/not-dispatched.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpF;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IAIjD,QAAQ,CAAC,KAAK,EAAE,0BAA0B;IAH5C,SAAkB,IAAI,gCAAgC;IACtD,QAAQ,CAAC,IAAI,6BAA6B;IAC1C,YACW,KAAK,EAAE,0BAA0B,EAC1C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAG9B;CACF;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,0BAA0B,CAOrC;AAED,2EAA2E;AAC3E,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,OAAO,CAO1E"}