stitchkit 0.68.10 → 0.69.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 (124) hide show
  1. package/README.md +30 -1
  2. package/dist/agent-runtime/coding-tool-contract.d.ts +155 -0
  3. package/dist/agent-runtime/coding-tool-contract.d.ts.map +1 -0
  4. package/dist/agent-runtime/coding-tool-files.d.ts +3 -0
  5. package/dist/agent-runtime/coding-tool-files.d.ts.map +1 -0
  6. package/dist/agent-runtime/coding-tool-paths.d.ts +19 -0
  7. package/dist/agent-runtime/coding-tool-paths.d.ts.map +1 -0
  8. package/dist/agent-runtime/coding-tool-search-patch.d.ts +3 -0
  9. package/dist/agent-runtime/coding-tool-search-patch.d.ts.map +1 -0
  10. package/dist/agent-runtime/coding-tool-shell.d.ts +3 -0
  11. package/dist/agent-runtime/coding-tool-shell.d.ts.map +1 -0
  12. package/dist/agent-runtime/coding-tools.d.ts +17 -0
  13. package/dist/agent-runtime/coding-tools.d.ts.map +1 -0
  14. package/dist/agent-runtime/compaction.d.ts +2 -0
  15. package/dist/agent-runtime/compaction.d.ts.map +1 -1
  16. package/dist/agent-runtime/contained-files.d.ts +31 -0
  17. package/dist/agent-runtime/contained-files.d.ts.map +1 -0
  18. package/dist/agent-runtime/control-schema.d.ts +1074 -0
  19. package/dist/agent-runtime/control-schema.d.ts.map +1 -0
  20. package/dist/agent-runtime/conversations.d.ts +128 -0
  21. package/dist/agent-runtime/conversations.d.ts.map +1 -0
  22. package/dist/agent-runtime/event-schema.d.ts +96 -0
  23. package/dist/agent-runtime/event-schema.d.ts.map +1 -1
  24. package/dist/agent-runtime/harness-contract.d.ts +169 -0
  25. package/dist/agent-runtime/harness-contract.d.ts.map +1 -0
  26. package/dist/agent-runtime/harness-control.d.ts +25 -0
  27. package/dist/agent-runtime/harness-control.d.ts.map +1 -0
  28. package/dist/agent-runtime/harness-file-resources.d.ts +33 -0
  29. package/dist/agent-runtime/harness-file-resources.d.ts.map +1 -0
  30. package/dist/agent-runtime/harness-resources.d.ts +5 -0
  31. package/dist/agent-runtime/harness-resources.d.ts.map +1 -0
  32. package/dist/agent-runtime/harness.d.ts +12 -0
  33. package/dist/agent-runtime/harness.d.ts.map +1 -0
  34. package/dist/agent-runtime/history.d.ts +2 -0
  35. package/dist/agent-runtime/history.d.ts.map +1 -1
  36. package/dist/agent-runtime/models.d.ts +199 -0
  37. package/dist/agent-runtime/models.d.ts.map +1 -1
  38. package/dist/agent-runtime/prompt.d.ts +2 -0
  39. package/dist/agent-runtime/prompt.d.ts.map +1 -1
  40. package/dist/agent-runtime/run-execution.d.ts.map +1 -1
  41. package/dist/agent-runtime/runtime.d.ts +11 -3
  42. package/dist/agent-runtime/runtime.d.ts.map +1 -1
  43. package/dist/agent-runtime/schemas.d.ts +49 -0
  44. package/dist/agent-runtime/schemas.d.ts.map +1 -1
  45. package/dist/agent-runtime/sqlite.d.ts +2 -0
  46. package/dist/agent-runtime/sqlite.d.ts.map +1 -1
  47. package/dist/agent-runtime/store-driver.d.ts +61 -212
  48. package/dist/agent-runtime/store-driver.d.ts.map +1 -1
  49. package/dist/agent-runtime/store.d.ts +368 -1
  50. package/dist/agent-runtime/store.d.ts.map +1 -1
  51. package/dist/agent-runtime/terminal-commit.d.ts +12 -1
  52. package/dist/agent-runtime/terminal-commit.d.ts.map +1 -1
  53. package/dist/agent-runtime/terminal-status.d.ts +8 -0
  54. package/dist/agent-runtime/terminal-status.d.ts.map +1 -1
  55. package/dist/agent-runtime-browser.d.ts +1 -0
  56. package/dist/agent-runtime-browser.d.ts.map +1 -1
  57. package/dist/agent-runtime-browser.js +217 -1
  58. package/dist/agent-runtime-coding-tools.d.ts +2 -0
  59. package/dist/agent-runtime-coding-tools.d.ts.map +1 -0
  60. package/dist/agent-runtime-coding-tools.js +706 -0
  61. package/dist/agent-runtime-harness.d.ts +2 -0
  62. package/dist/agent-runtime-harness.d.ts.map +1 -0
  63. package/dist/agent-runtime-harness.js +700 -0
  64. package/dist/agent-runtime-openrouter.d.ts +14 -1
  65. package/dist/agent-runtime-openrouter.d.ts.map +1 -1
  66. package/dist/agent-runtime-openrouter.js +211 -0
  67. package/dist/agent-runtime-sqlite-bun.js +4 -3
  68. package/dist/agent-runtime-sqlite-node.js +4 -3
  69. package/dist/agent-runtime.d.ts +5 -3
  70. package/dist/agent-runtime.d.ts.map +1 -1
  71. package/dist/agent-runtime.js +106 -2580
  72. package/dist/application/diagnostic-journal-contract.d.ts +164 -0
  73. package/dist/application/diagnostic-journal-contract.d.ts.map +1 -0
  74. package/dist/application/diagnostic-journal-manager.d.ts +12 -0
  75. package/dist/application/diagnostic-journal-manager.d.ts.map +1 -0
  76. package/dist/application/diagnostic-journal-storage.d.ts +29 -0
  77. package/dist/application/diagnostic-journal-storage.d.ts.map +1 -0
  78. package/dist/application/diagnostic-journal.d.ts +11 -0
  79. package/dist/application/diagnostic-journal.d.ts.map +1 -0
  80. package/dist/application.d.ts +2 -0
  81. package/dist/application.d.ts.map +1 -1
  82. package/dist/application.js +561 -17
  83. package/dist/browser/socket-io.d.ts +8 -2
  84. package/dist/browser/socket-io.d.ts.map +1 -1
  85. package/dist/cli.js +8 -6
  86. package/dist/{index-8vpzxg55.js → index-10gbbbaa.js} +103 -2
  87. package/dist/index-3eqrkqhg.js +2565 -0
  88. package/dist/{index-hcx9yypn.js → index-444747ww.js} +7 -7
  89. package/dist/{index-557by2db.js → index-7b188kmz.js} +15 -0
  90. package/dist/{index-hxh98zbm.js → index-d1jsvkyk.js} +1 -1
  91. package/dist/index-es0h4w26.js +63 -0
  92. package/dist/{index-grgvpbch.js → index-gqdfpv4n.js} +4 -2
  93. package/dist/{index-bt5179zb.js → index-h7ctj1kp.js} +5 -3
  94. package/dist/{index-y2ctppmg.js → index-h8vn1jcr.js} +7 -73
  95. package/dist/{index-hqza5nde.js → index-hsabxjz0.js} +78 -77
  96. package/dist/index-kg9xx84n.js +73 -0
  97. package/dist/{index-hb0mncmj.js → index-kxxyvkka.js} +2 -2
  98. package/dist/{index-2t6zt5cg.js → index-mbxds404.js} +7 -5
  99. package/dist/{index-f24xg2cw.js → index-p1be103g.js} +1 -1
  100. package/dist/{index-xyvxez9r.js → index-q7gdep2c.js} +5 -5
  101. package/dist/{index-t23p2b68.js → index-t4dpby6e.js} +1 -1
  102. package/dist/index-tg3m2ec5.js +157 -0
  103. package/dist/index-v3dpzpjw.js +92 -0
  104. package/dist/{index-eqqyd9v8.js → index-wwst0td5.js} +2 -46
  105. package/dist/{index-ysphyxax.js → index-x1th9s8c.js} +23 -2
  106. package/dist/index-xxsq3ca1.js +51 -0
  107. package/dist/{index-22tjt2rk.js → index-zh459sfj.js} +1 -1
  108. package/dist/index.js +183 -11
  109. package/dist/internal/ai-sdk-typed.d.ts +14 -0
  110. package/dist/internal/ai-sdk-typed.d.ts.map +1 -0
  111. package/dist/node.js +6 -6
  112. package/dist/observability/index.js +4 -4
  113. package/dist/realtime/index.d.ts +1 -1
  114. package/dist/realtime/index.d.ts.map +1 -1
  115. package/dist/realtime/request.d.ts +30 -0
  116. package/dist/realtime/request.d.ts.map +1 -1
  117. package/dist/remote.js +6 -6
  118. package/dist/server/index.js +10 -10
  119. package/dist/testing.js +6 -6
  120. package/dist/tool-invoker.js +6 -5
  121. package/dist/tools.js +21 -17
  122. package/llms-full.txt +385 -24
  123. package/package.json +10 -2
  124. package/dist/{index-pgsyp3xh.js → index-x18ndp4p.js} +3 -3
@@ -1,6 +1,3 @@
1
- import {
2
- createBoundedSinkManager
3
- } from "./index-a59da114.js";
4
1
  import {
5
2
  ActivityIdSchema,
6
3
  ActivityLiveStateSchema,
@@ -24,6 +21,9 @@ import {
24
21
  createCreditWindow,
25
22
  createManagedSchedule
26
23
  } from "./index-zpyj7hsv.js";
24
+ import {
25
+ createBoundedSinkManager
26
+ } from "./index-a59da114.js";
27
27
  import {
28
28
  ApplicationAdmissionError,
29
29
  ApplicationShutdownBudgetSchema,
@@ -49,6 +49,9 @@ import {
49
49
  } from "./index-8eywc9zv.js";
50
50
  import"./index-dk6e56g0.js";
51
51
  import"./index-0w9abg87.js";
52
+ import {
53
+ isRecord
54
+ } from "./index-qyrqwr4c.js";
52
55
  // src/application/admission.ts
53
56
  import { z } from "zod";
54
57
  var PositiveSafeIntegerSchema = z.number().int().positive().safe();
@@ -396,18 +399,549 @@ function createBoundedAdmission(config) {
396
399
  getSnapshot
397
400
  };
398
401
  }
399
- // src/application/events.ts
402
+ // src/application/diagnostic-journal.ts
403
+ import { randomUUID } from "node:crypto";
404
+
405
+ // src/application/diagnostic-journal-contract.ts
400
406
  import { z as z2 } from "zod";
401
- var ApplicationLifecycleEventSchema = z2.object({
402
- type: z2.literal("application-state"),
407
+ var PositiveSafeIntegerSchema2 = z2.number().int().positive().safe();
408
+ var FileModeSchema = z2.number().int().min(0).max(511);
409
+ var DiagnosticJournalLimitsSchema = z2.object({
410
+ maxEventBytes: PositiveSafeIntegerSchema2,
411
+ maxPendingItems: PositiveSafeIntegerSchema2,
412
+ maxPendingBytes: PositiveSafeIntegerSchema2,
413
+ maxFileBytes: PositiveSafeIntegerSchema2,
414
+ maxFiles: PositiveSafeIntegerSchema2
415
+ }).strict().readonly();
416
+ var DiagnosticJournalStateSchema = z2.enum(["open", "draining", "closed", "failed"]);
417
+ var DiagnosticJournalRefusalReasonSchema = z2.enum([
418
+ "closed",
419
+ "failed",
420
+ "invalid",
421
+ "oversized",
422
+ "item-capacity",
423
+ "byte-capacity"
424
+ ]);
425
+ var DiagnosticJournalRefusalCountersSchema = z2.object({
426
+ closed: z2.number().int().nonnegative(),
427
+ failed: z2.number().int().nonnegative(),
428
+ invalid: z2.number().int().nonnegative(),
429
+ oversized: z2.number().int().nonnegative(),
430
+ "item-capacity": z2.number().int().nonnegative(),
431
+ "byte-capacity": z2.number().int().nonnegative()
432
+ }).strict().readonly();
433
+ var DiagnosticJournalFailurePhaseSchema = z2.enum(["write", "rotation", "close"]);
434
+ var DiagnosticJournalStatusSchema = z2.object({
435
+ state: DiagnosticJournalStateSchema,
436
+ epoch: z2.uuid(),
437
+ limits: DiagnosticJournalLimitsSchema,
438
+ received: z2.number().int().nonnegative(),
439
+ accepted: z2.number().int().nonnegative(),
440
+ refused: z2.number().int().nonnegative(),
441
+ refusals: DiagnosticJournalRefusalCountersSchema,
442
+ written: z2.number().int().nonnegative(),
443
+ failedRecords: z2.number().int().nonnegative(),
444
+ pendingItems: z2.number().int().nonnegative(),
445
+ pendingBytes: z2.number().int().nonnegative(),
446
+ inFlight: z2.boolean(),
447
+ rotations: z2.number().int().nonnegative(),
448
+ rotationFailures: z2.number().int().nonnegative(),
449
+ partialTails: z2.number().int().nonnegative(),
450
+ currentFileBytes: z2.number().int().nonnegative(),
451
+ retainedFiles: z2.number().int().nonnegative(),
452
+ lastAcceptedSequence: z2.number().int().positive().optional(),
453
+ lastWrittenSequence: z2.number().int().positive().optional(),
454
+ lastSettledSequence: z2.number().int().positive().optional(),
455
+ lastFailure: z2.object({
456
+ phase: DiagnosticJournalFailurePhaseSchema,
457
+ sequence: z2.number().int().positive().optional()
458
+ }).strict().readonly().optional()
459
+ }).strict().readonly();
460
+ var DiagnosticJournalSubmitResultSchema = z2.discriminatedUnion("outcome", [
461
+ z2.object({
462
+ outcome: z2.literal("accepted"),
463
+ epoch: z2.uuid(),
464
+ sequence: z2.number().int().positive()
465
+ }).strict().readonly(),
466
+ z2.object({
467
+ outcome: z2.literal("refused"),
468
+ reason: DiagnosticJournalRefusalReasonSchema
469
+ }).strict().readonly()
470
+ ]);
471
+ var DiagnosticJournalWaitResultSchema = z2.object({
472
+ outcome: z2.enum(["settled", "timed-out", "cancelled"]),
473
+ state: DiagnosticJournalStateSchema,
474
+ throughSequence: z2.number().int().nonnegative(),
475
+ settledSequence: z2.number().int().nonnegative()
476
+ }).strict().readonly();
477
+ var DiagnosticJournalCloseResultSchema = z2.object({
478
+ outcome: z2.enum(["closed", "timed-out", "cancelled"]),
479
+ state: DiagnosticJournalStateSchema,
480
+ pendingItems: z2.number().int().nonnegative()
481
+ }).strict().readonly();
482
+ var DiagnosticJournalFrameSchema = z2.object({
483
+ schemaVersion: z2.literal(1),
484
+ epoch: z2.uuid(),
485
+ sequence: z2.number().int().positive(),
486
+ event: z2.json()
487
+ }).strict().readonly();
488
+ function parseDiagnosticJournalMode(mode) {
489
+ return FileModeSchema.parse(mode ?? 384);
490
+ }
491
+
492
+ // src/application/diagnostic-journal-manager.ts
493
+ import { z as z3 } from "zod";
494
+
495
+ // src/application/diagnostic-journal-storage.ts
496
+ import { constants } from "node:fs";
497
+ import { lstat, open, readdir, realpath, rename, unlink } from "node:fs/promises";
498
+ import { basename, dirname, isAbsolute, resolve } from "node:path";
499
+ class DiagnosticJournalStorageError extends Error {
500
+ phase;
501
+ constructor(phase, message, options) {
502
+ super(message, options);
503
+ this.phase = phase;
504
+ this.name = "DiagnosticJournalStorageError";
505
+ }
506
+ }
507
+ function isMissing(error) {
508
+ return isRecord(error) && error.code === "ENOENT";
509
+ }
510
+ async function removeIfPresent(path) {
511
+ try {
512
+ const info = await lstat(path);
513
+ if (info.isSymbolicLink() || !info.isFile()) {
514
+ throw new Error("Diagnostic journal generations must be regular files");
515
+ }
516
+ await unlink(path);
517
+ } catch (error) {
518
+ if (!isMissing(error))
519
+ throw error;
520
+ }
521
+ }
522
+ async function moveIfPresent(from, to) {
523
+ try {
524
+ const info = await lstat(from);
525
+ if (info.isSymbolicLink() || !info.isFile()) {
526
+ throw new Error("Diagnostic journal generations must be regular files");
527
+ }
528
+ await rename(from, to);
529
+ return true;
530
+ } catch (error) {
531
+ if (isMissing(error))
532
+ return false;
533
+ throw error;
534
+ }
535
+ }
536
+ function generation(path, index) {
537
+ return `${path}.${index}`;
538
+ }
539
+ function generationIndex(name, prefix) {
540
+ if (!name.startsWith(prefix))
541
+ return;
542
+ const suffix = name.slice(prefix.length);
543
+ if (!/^\d+$/.test(suffix))
544
+ return;
545
+ const value = Number(suffix);
546
+ return Number.isSafeInteger(value) && value > 0 ? value : undefined;
547
+ }
548
+ async function createRotatingDiagnosticJournalStorage(config) {
549
+ if (!isAbsolute(config.path) || resolve(config.path) !== config.path) {
550
+ throw new TypeError("Diagnostic journal path must be normalized and absolute");
551
+ }
552
+ const parent = await realpath(dirname(config.path));
553
+ const journalPath = resolve(parent, basename(config.path));
554
+ const lockPath = `${journalPath}.lock`;
555
+ const lock = await open(lockPath, "wx", config.mode);
556
+ let handle;
557
+ let currentFileBytes = 0;
558
+ let retainedFiles = 1;
559
+ let rotations = 0;
560
+ let partialTails = 0;
561
+ let closed = false;
562
+ const openCurrent = async () => {
563
+ handle = await open(journalPath, constants.O_APPEND | constants.O_CREAT | constants.O_RDWR | constants.O_NOFOLLOW, config.mode);
564
+ const info = await handle.stat();
565
+ if (!info.isFile()) {
566
+ await handle.close();
567
+ handle = undefined;
568
+ throw new Error("Diagnostic journal path must be a regular file");
569
+ }
570
+ currentFileBytes = Number(info.size);
571
+ };
572
+ const rotate = async () => {
573
+ try {
574
+ await handle?.close();
575
+ handle = undefined;
576
+ if (config.maxFiles === 1) {
577
+ await removeIfPresent(journalPath);
578
+ } else {
579
+ await removeIfPresent(generation(journalPath, config.maxFiles - 1));
580
+ for (let index = config.maxFiles - 2;index >= 1; index -= 1) {
581
+ await moveIfPresent(generation(journalPath, index), generation(journalPath, index + 1));
582
+ }
583
+ await moveIfPresent(journalPath, generation(journalPath, 1));
584
+ }
585
+ retainedFiles = Math.min(config.maxFiles, retainedFiles + 1);
586
+ rotations += 1;
587
+ await openCurrent();
588
+ } catch (error) {
589
+ throw new DiagnosticJournalStorageError("rotation", "Diagnostic journal rotation failed", { cause: error });
590
+ }
591
+ };
592
+ try {
593
+ const names = await readdir(parent);
594
+ const prefix = `${basename(journalPath)}.`;
595
+ let existingGenerations = 0;
596
+ for (const name of names) {
597
+ const index = generationIndex(name, prefix);
598
+ if (index === undefined)
599
+ continue;
600
+ if (index >= config.maxFiles) {
601
+ await removeIfPresent(resolve(parent, name));
602
+ } else {
603
+ const info = await lstat(resolve(parent, name));
604
+ if (info.isSymbolicLink() || !info.isFile()) {
605
+ throw new Error("Diagnostic journal generations must be regular files");
606
+ }
607
+ existingGenerations += 1;
608
+ }
609
+ }
610
+ retainedFiles = Math.min(config.maxFiles, existingGenerations + 1);
611
+ await openCurrent();
612
+ if (currentFileBytes > 0) {
613
+ const tail = new Uint8Array(1);
614
+ const read = await handle?.read(tail, 0, 1, currentFileBytes - 1);
615
+ if (read?.bytesRead === 1 && tail[0] !== 10) {
616
+ partialTails += 1;
617
+ await rotate();
618
+ }
619
+ }
620
+ } catch (error) {
621
+ await handle?.close().catch(() => {
622
+ return;
623
+ });
624
+ await lock.close().catch(() => {
625
+ return;
626
+ });
627
+ await unlink(lockPath).catch(() => {
628
+ return;
629
+ });
630
+ throw error;
631
+ }
632
+ const snapshot = () => ({
633
+ currentFileBytes,
634
+ retainedFiles,
635
+ rotations,
636
+ partialTails
637
+ });
638
+ return {
639
+ async append(bytes) {
640
+ if (closed || !handle) {
641
+ throw new DiagnosticJournalStorageError("write", "Diagnostic journal storage is closed");
642
+ }
643
+ let rotated = false;
644
+ if (currentFileBytes > 0 && currentFileBytes + bytes.byteLength > config.maxFileBytes) {
645
+ await rotate();
646
+ rotated = true;
647
+ }
648
+ try {
649
+ await handle.writeFile(bytes);
650
+ currentFileBytes += bytes.byteLength;
651
+ return { ...snapshot(), rotated };
652
+ } catch (error) {
653
+ throw new DiagnosticJournalStorageError("write", "Diagnostic journal write failed", {
654
+ cause: error
655
+ });
656
+ }
657
+ },
658
+ snapshot,
659
+ async close() {
660
+ if (closed)
661
+ return;
662
+ closed = true;
663
+ let failure;
664
+ try {
665
+ await handle?.close();
666
+ } catch (error) {
667
+ failure = error;
668
+ }
669
+ try {
670
+ await lock.close();
671
+ await unlink(lockPath);
672
+ } catch (error) {
673
+ failure ??= error;
674
+ }
675
+ if (failure !== undefined) {
676
+ throw new DiagnosticJournalStorageError("close", "Diagnostic journal close failed", {
677
+ cause: failure
678
+ });
679
+ }
680
+ }
681
+ };
682
+ }
683
+
684
+ // src/application/diagnostic-journal-manager.ts
685
+ function waitBudget(options) {
686
+ if (options.timeoutMs === undefined)
687
+ return;
688
+ if (!Number.isSafeInteger(options.timeoutMs) || options.timeoutMs <= 0) {
689
+ throw new TypeError("Diagnostic journal timeoutMs must be a positive safe integer");
690
+ }
691
+ return options.timeoutMs;
692
+ }
693
+ function createDiagnosticJournalManager(config, storage) {
694
+ const limits = DiagnosticJournalLimitsSchema.parse(config.limits);
695
+ const encoder = new TextEncoder;
696
+ const channel = createBoundedChannel({
697
+ policy: "ordered",
698
+ maxItems: limits.maxPendingItems,
699
+ maxBytes: limits.maxPendingBytes,
700
+ sizeOf: (frame) => frame.bytes.byteLength
701
+ });
702
+ const refusals = {
703
+ closed: 0,
704
+ failed: 0,
705
+ invalid: 0,
706
+ oversized: 0,
707
+ "item-capacity": 0,
708
+ "byte-capacity": 0
709
+ };
710
+ const progressWaiters = new Set;
711
+ let state = "open";
712
+ let received = 0;
713
+ let accepted = 0;
714
+ let refused = 0;
715
+ let written = 0;
716
+ let failedRecords = 0;
717
+ let pendingItems = 0;
718
+ let pendingBytes = 0;
719
+ let inFlight = false;
720
+ let rotationFailures = 0;
721
+ let lastAcceptedSequence = 0;
722
+ let lastWrittenSequence = 0;
723
+ let lastSettledSequence = 0;
724
+ let lastFailure;
725
+ let physicalClosed = false;
726
+ const isFailed = () => state === "failed";
727
+ const notifyProgress = () => {
728
+ for (const waiter of progressWaiters)
729
+ waiter();
730
+ };
731
+ const reportFailure = (failure) => {
732
+ if (!config.onFailure)
733
+ return;
734
+ Promise.resolve().then(() => config.onFailure?.(failure)).catch(() => {
735
+ return;
736
+ });
737
+ };
738
+ const markFailure = (error, fallbackPhase, sequence) => {
739
+ const phase = error instanceof DiagnosticJournalStorageError ? error.phase : fallbackPhase;
740
+ if (phase === "rotation")
741
+ rotationFailures += 1;
742
+ lastFailure = { phase, ...sequence !== undefined && { sequence } };
743
+ state = "failed";
744
+ channel.close({ mode: "drain" });
745
+ reportFailure({ phase, error, ...sequence !== undefined && { sequence } });
746
+ };
747
+ const worker = (async () => {
748
+ for await (const frame of channel) {
749
+ inFlight = true;
750
+ if (isFailed()) {
751
+ failedRecords += 1;
752
+ } else {
753
+ try {
754
+ await storage.append(frame.bytes);
755
+ written += 1;
756
+ lastWrittenSequence = frame.sequence;
757
+ } catch (error) {
758
+ failedRecords += 1;
759
+ markFailure(error, "write", frame.sequence);
760
+ }
761
+ }
762
+ pendingItems -= 1;
763
+ pendingBytes -= frame.bytes.byteLength;
764
+ lastSettledSequence = frame.sequence;
765
+ inFlight = false;
766
+ notifyProgress();
767
+ }
768
+ try {
769
+ await storage.close();
770
+ } catch (error) {
771
+ markFailure(error, "close");
772
+ }
773
+ physicalClosed = true;
774
+ if (!isFailed())
775
+ state = "closed";
776
+ notifyProgress();
777
+ })();
778
+ worker.catch((error) => {
779
+ markFailure(error, "close");
780
+ physicalClosed = true;
781
+ notifyProgress();
782
+ });
783
+ const refuse = (reason) => {
784
+ refused += 1;
785
+ refusals[reason] += 1;
786
+ return DiagnosticJournalSubmitResultSchema.parse({ outcome: "refused", reason });
787
+ };
788
+ const waitUntil = (predicate, options) => {
789
+ const timeoutMs = waitBudget(options);
790
+ if (predicate())
791
+ return Promise.resolve("settled");
792
+ if (options.signal?.aborted)
793
+ return Promise.resolve("cancelled");
794
+ return new Promise((resolve2) => {
795
+ let settled = false;
796
+ let timer;
797
+ const finish = (outcome) => {
798
+ if (settled)
799
+ return;
800
+ settled = true;
801
+ progressWaiters.delete(onProgress);
802
+ options.signal?.removeEventListener("abort", onAbort);
803
+ if (timer)
804
+ clearTimeout(timer);
805
+ resolve2(outcome);
806
+ };
807
+ const onProgress = () => {
808
+ if (predicate())
809
+ finish("settled");
810
+ };
811
+ const onAbort = () => finish("cancelled");
812
+ progressWaiters.add(onProgress);
813
+ options.signal?.addEventListener("abort", onAbort, { once: true });
814
+ if (timeoutMs !== undefined)
815
+ timer = setTimeout(() => finish("timed-out"), timeoutMs);
816
+ onProgress();
817
+ });
818
+ };
819
+ const getStatus = () => {
820
+ const file = storage.snapshot();
821
+ return DiagnosticJournalStatusSchema.parse({
822
+ state,
823
+ epoch: config.epoch,
824
+ limits,
825
+ received,
826
+ accepted,
827
+ refused,
828
+ refusals,
829
+ written,
830
+ failedRecords,
831
+ pendingItems,
832
+ pendingBytes,
833
+ inFlight,
834
+ rotations: file.rotations,
835
+ rotationFailures,
836
+ partialTails: file.partialTails,
837
+ currentFileBytes: file.currentFileBytes,
838
+ retainedFiles: file.retainedFiles,
839
+ ...lastAcceptedSequence > 0 && { lastAcceptedSequence },
840
+ ...lastWrittenSequence > 0 && { lastWrittenSequence },
841
+ ...lastSettledSequence > 0 && { lastSettledSequence },
842
+ ...lastFailure && { lastFailure }
843
+ });
844
+ };
845
+ return {
846
+ submit(event) {
847
+ received += 1;
848
+ if (state === "failed")
849
+ return refuse("failed");
850
+ if (state !== "open")
851
+ return refuse("closed");
852
+ const parsed = config.eventSchema.safeParse(event);
853
+ if (!parsed.success)
854
+ return refuse("invalid");
855
+ const json = z3.json().safeParse(parsed.data);
856
+ if (!json.success)
857
+ return refuse("invalid");
858
+ const payload = encoder.encode(JSON.stringify(json.data));
859
+ if (payload.byteLength > limits.maxEventBytes)
860
+ return refuse("oversized");
861
+ if (pendingItems >= limits.maxPendingItems)
862
+ return refuse("item-capacity");
863
+ const sequence = lastAcceptedSequence + 1;
864
+ const frame = DiagnosticJournalFrameSchema.parse({
865
+ schemaVersion: 1,
866
+ epoch: config.epoch,
867
+ sequence,
868
+ event: json.data
869
+ });
870
+ const bytes = encoder.encode(`${JSON.stringify(frame)}
871
+ `);
872
+ if (bytes.byteLength > limits.maxFileBytes)
873
+ return refuse("oversized");
874
+ if (pendingBytes + bytes.byteLength > limits.maxPendingBytes) {
875
+ return refuse("byte-capacity");
876
+ }
877
+ const offered = channel.offer({ sequence, bytes });
878
+ if (offered.outcome === "refused") {
879
+ return refuse(offered.reason === "not-open" ? "closed" : "item-capacity");
880
+ }
881
+ accepted += 1;
882
+ pendingItems += 1;
883
+ pendingBytes += bytes.byteLength;
884
+ lastAcceptedSequence = sequence;
885
+ return DiagnosticJournalSubmitResultSchema.parse({
886
+ outcome: "accepted",
887
+ epoch: config.epoch,
888
+ sequence
889
+ });
890
+ },
891
+ async flush(options = {}) {
892
+ const throughSequence = lastAcceptedSequence;
893
+ const outcome = await waitUntil(() => lastSettledSequence >= throughSequence, options);
894
+ return DiagnosticJournalWaitResultSchema.parse({
895
+ outcome,
896
+ state,
897
+ throughSequence,
898
+ settledSequence: lastSettledSequence
899
+ });
900
+ },
901
+ getStatus,
902
+ async close(options = {}) {
903
+ if (state === "open") {
904
+ state = "draining";
905
+ channel.close({ mode: "drain" });
906
+ }
907
+ const wait = await waitUntil(() => physicalClosed, options);
908
+ return DiagnosticJournalCloseResultSchema.parse({
909
+ outcome: wait === "settled" ? "closed" : wait,
910
+ state,
911
+ pendingItems
912
+ });
913
+ }
914
+ };
915
+ }
916
+
917
+ // src/application/diagnostic-journal.ts
918
+ async function createDiagnosticJournal(config) {
919
+ const limits = DiagnosticJournalLimitsSchema.parse(config.limits);
920
+ const storage = await createRotatingDiagnosticJournalStorage({
921
+ path: config.path,
922
+ maxFileBytes: limits.maxFileBytes,
923
+ maxFiles: limits.maxFiles,
924
+ mode: parseDiagnosticJournalMode(config.mode)
925
+ });
926
+ return createDiagnosticJournalManager({
927
+ eventSchema: config.eventSchema,
928
+ epoch: randomUUID(),
929
+ limits,
930
+ ...config.onFailure && { onFailure: config.onFailure }
931
+ }, storage);
932
+ }
933
+ // src/application/events.ts
934
+ import { z as z4 } from "zod";
935
+ var ApplicationLifecycleEventSchema = z4.object({
936
+ type: z4.literal("application-state"),
403
937
  applicationId: ApplicationIdSchema,
404
- epoch: z2.string().uuid(),
405
- revision: z2.number().int().nonnegative(),
938
+ epoch: z4.string().uuid(),
939
+ revision: z4.number().int().nonnegative(),
406
940
  lifecycle: ApplicationLifecycleSchema,
407
941
  health: ApplicationHealthSchema,
408
- ready: z2.boolean(),
409
- capturedAt: z2.string().datetime({ offset: true }),
410
- resources: z2.array(ManagedResourceSnapshotSchema).readonly()
942
+ ready: z4.boolean(),
943
+ capturedAt: z4.string().datetime({ offset: true }),
944
+ resources: z4.array(ManagedResourceSnapshotSchema).readonly()
411
945
  }).strict().readonly();
412
946
  function applicationLifecycleEvent(snapshot) {
413
947
  return ApplicationLifecycleEventSchema.parse({
@@ -438,13 +972,13 @@ function createApplicationEventSink(config) {
438
972
  };
439
973
  }
440
974
  // src/application/health.ts
441
- import { z as z3 } from "zod";
442
- var ApplicationHealthHandlerOptionsSchema = z3.object({
443
- kind: z3.enum(["liveness", "readiness"]),
444
- retryAfterSeconds: z3.number().int().nonnegative().default(5)
975
+ import { z as z5 } from "zod";
976
+ var ApplicationHealthHandlerOptionsSchema = z5.object({
977
+ kind: z5.enum(["liveness", "readiness"]),
978
+ retryAfterSeconds: z5.number().int().nonnegative().default(5)
445
979
  });
446
- var ApplicationOperationalHandlersOptionsSchema = z3.object({
447
- retryAfterSeconds: z3.number().int().nonnegative().default(5)
980
+ var ApplicationOperationalHandlersOptionsSchema = z5.object({
981
+ retryAfterSeconds: z5.number().int().nonnegative().default(5)
448
982
  });
449
983
  function createApplicationHealthHandler(application, options) {
450
984
  const parsed = ApplicationHealthHandlerOptionsSchema.parse(options);
@@ -561,6 +1095,15 @@ export {
561
1095
  BoundedOperationWaitError,
562
1096
  BoundedRateBudgetSchema,
563
1097
  CreditWindowSnapshotSchema,
1098
+ DiagnosticJournalCloseResultSchema,
1099
+ DiagnosticJournalFailurePhaseSchema,
1100
+ DiagnosticJournalFrameSchema,
1101
+ DiagnosticJournalLimitsSchema,
1102
+ DiagnosticJournalRefusalReasonSchema,
1103
+ DiagnosticJournalStateSchema,
1104
+ DiagnosticJournalStatusSchema,
1105
+ DiagnosticJournalSubmitResultSchema,
1106
+ DiagnosticJournalWaitResultSchema,
564
1107
  ManagedResourceSnapshotSchema,
565
1108
  ManagedResourceStateSchema,
566
1109
  ManagedScheduleDescriptorSchema,
@@ -577,6 +1120,7 @@ export {
577
1120
  createBoundedAdmission,
578
1121
  createBoundedChannel,
579
1122
  createCreditWindow,
1123
+ createDiagnosticJournal,
580
1124
  createManagedSchedule,
581
1125
  defineManagedResource,
582
1126
  managedResourceDependencyId,
@@ -1,6 +1,6 @@
1
1
  import type { StitchLogger } from '../logger.js';
2
2
  import type { RealtimeAcknowledgedEvent, RealtimeAcknowledgement, RealtimeContract, RealtimeEventRegistry, RealtimeRejectedEventHook, RealtimeRequestArguments } from '../realtime/contract.js';
3
- import { type RealtimeRequestOptions } from '../realtime/request.js';
3
+ import { type RealtimeRequestOptions, type RealtimeRequestPhaseHook } from '../realtime/request.js';
4
4
  import { type ValidatedRealtimeSocket } from '../realtime/socket.js';
5
5
  /**
6
6
  * How this project loads the optional Socket.IO **client** peer.
@@ -207,9 +207,15 @@ export interface BindRealtimeClientOptions {
207
207
  export interface RealtimeClientOptions<TServerToClient extends RealtimeEventRegistry> extends BindRealtimeClientOptions, SocketIOClientConfig<{
208
208
  [TEvent in keyof TServerToClient]: (...args: unknown[]) => void;
209
209
  }> {
210
+ /**
211
+ * Observe bounded metadata-only phases of acknowledged requests. Engine.IO
212
+ * phases are local encoder/decoder boundaries, not remote send time or RTT.
213
+ * Observer failures are isolated from request lifecycle.
214
+ */
215
+ onRequestPhase?: RealtimeRequestPhaseHook;
210
216
  }
211
217
  /** Add contract validation and typed acknowledgements without owning the transport lifecycle. */
212
218
  export declare function bindRealtimeClient<const TServerToClient extends RealtimeEventRegistry, const TClientToServer extends RealtimeEventRegistry>(contract: RealtimeContract<TServerToClient, TClientToServer>, transport: RealtimeClientTransport, { onRejected, logger }?: BindRealtimeClientOptions): BoundRealtimeClient<TServerToClient, TClientToServer>;
213
- export declare function createRealtimeClient<const TServerToClient extends RealtimeEventRegistry, const TClientToServer extends RealtimeEventRegistry>(contract: RealtimeContract<TServerToClient, TClientToServer>, { onRejected, logger, ...config }: RealtimeClientOptions<TServerToClient>): RealtimeClient<TServerToClient, TClientToServer>;
219
+ export declare function createRealtimeClient<const TServerToClient extends RealtimeEventRegistry, const TClientToServer extends RealtimeEventRegistry>(contract: RealtimeContract<TServerToClient, TClientToServer>, { onRejected, logger, onRequestPhase, ...config }: RealtimeClientOptions<TServerToClient>): RealtimeClient<TServerToClient, TClientToServer>;
214
220
  export declare function createSocketIOClient<TServerEvents extends SocketEventMap, TClientEvents extends SocketEventMap>(config: SocketIOClientConfig<TServerEvents>): SocketIOClient<TServerEvents, TClientEvents>;
215
221
  //# sourceMappingURL=socket-io.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"socket-io.d.ts","sourceRoot":"","sources":["../../src/browser/socket-io.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket-io.d.ts","sourceRoot":"","sources":["../../src/browser/socket-io.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EACV,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,sBAAsB,EAG3B,KAAK,wBAAwB,EAE9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAuG5B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC;AA4GD;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAI7B,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB,CAAC,aAAa,SAAS,cAAc,GAAG,cAAc;IACzF,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;OAMG;IACH,IAAI,CAAC,EACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACvE,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAClD;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,2EAA2E;IAC3E,UAAU,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAC5C,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mDAAmD;IACnD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;OAcG;IACH,2BAA2B,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC7C;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC;IAC7C;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACzF;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IACtE;;;;;OAKG;IACH,KAAK,CAAC,EAAE,yBAAyB,CAAC;CACnC;AAED,MAAM,WAAW,cAAc,CAC7B,aAAa,SAAS,cAAc,EACpC,aAAa,SAAS,cAAc;IAEpC,6DAA6D;IAC7D,OAAO,IAAI,IAAI,CAAC;IAChB,+CAA+C;IAC/C,UAAU,IAAI,IAAI,CAAC;IACnB,qDAAqD;IACrD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,aAAa,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC;IAC5F;;;;;;;;OAQG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,aAAa,GAAG,MAAM,EACzC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GACpC,OAAO,CAAC;IACX;;;OAGG;IACH,WAAW,CACT,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,OAAO,EAAE,EACf,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB;;;;;;OAMG;IACH,kBAAkB,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACzF;AAED,mFAAmF;AACnF,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,EAC9C,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,aAAa,GAAG,oBAAoB,CACnE,CAAC;AAEF,MAAM,WAAW,mBAAmB,CAClC,eAAe,SAAS,qBAAqB,EAC7C,eAAe,SAAS,qBAAqB,CAC7C,SAAQ,uBAAuB,CAAC,eAAe,EAAE,eAAe,CAAC;IACjE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,MAAM,SAAS,yBAAyB,CAAC,eAAe,CAAC,EAC/D,KAAK,EAAE,MAAM,EACb,GAAG,IAAI,EAAE;QACP,GAAG,wBAAwB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACpD,OAAO,EAAE,sBAAsB;KAChC,GACA,OAAO,CAAC,uBAAuB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7D,kBAAkB,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACzF;AAED,MAAM,WAAW,cAAc,CAC7B,eAAe,SAAS,qBAAqB,EAC7C,eAAe,SAAS,qBAAqB,CAC7C,SAAQ,mBAAmB,CAAC,eAAe,EAAE,eAAe,CAAC;IAC7D,OAAO,IAAI,IAAI,CAAC;IAChB,UAAU,IAAI,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB,CAAC,eAAe,SAAS,qBAAqB,CAClF,SAAQ,yBAAyB,EAC/B,oBAAoB,CAAC;KAClB,MAAM,IAAI,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;CAChE,CAAC;IACJ;;;;OAIG;IACH,cAAc,CAAC,EAAE,wBAAwB,CAAC;CAC3C;AAaD,iGAAiG;AACjG,wBAAgB,kBAAkB,CAChC,KAAK,CAAC,eAAe,SAAS,qBAAqB,EACnD,KAAK,CAAC,eAAe,SAAS,qBAAqB,EAEnD,QAAQ,EAAE,gBAAgB,CAAC,eAAe,EAAE,eAAe,CAAC,EAC5D,SAAS,EAAE,uBAAuB,EAClC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAE,yBAA8B,GACrD,mBAAmB,CAAC,eAAe,EAAE,eAAe,CAAC,CAsFvD;AAED,wBAAgB,oBAAoB,CAClC,KAAK,CAAC,eAAe,SAAS,qBAAqB,EACnD,KAAK,CAAC,eAAe,SAAS,qBAAqB,EAEnD,QAAQ,EAAE,gBAAgB,CAAC,eAAe,EAAE,eAAe,CAAC,EAC5D,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,EAAE,qBAAqB,CAAC,eAAe,CAAC,GACxF,cAAc,CAAC,eAAe,EAAE,eAAe,CAAC,CAclD;AAED,wBAAgB,oBAAoB,CAClC,aAAa,SAAS,cAAc,EACpC,aAAa,SAAS,cAAc,EACpC,MAAM,EAAE,oBAAoB,CAAC,aAAa,CAAC,GAAG,cAAc,CAAC,aAAa,EAAE,aAAa,CAAC,CAE3F"}
package/dist/cli.js CHANGED
@@ -5,16 +5,18 @@ import {
5
5
  emitResult,
6
6
  parseCliArgs,
7
7
  pollUntilDone
8
- } from "./index-2t6zt5cg.js";
9
- import"./index-eqqyd9v8.js";
10
- import"./index-y2ctppmg.js";
11
- import"./index-f24xg2cw.js";
8
+ } from "./index-mbxds404.js";
9
+ import"./index-xxsq3ca1.js";
10
+ import"./index-wwst0td5.js";
11
+ import"./index-kg9xx84n.js";
12
+ import"./index-h8vn1jcr.js";
13
+ import"./index-p1be103g.js";
12
14
  import"./index-sbdmyz75.js";
13
15
  import"./index-22by16v6.js";
14
16
  import"./index-cby4ar3v.js";
15
- import"./index-pgsyp3xh.js";
16
- import"./index-qyrqwr4c.js";
17
+ import"./index-x18ndp4p.js";
17
18
  import"./index-0w9abg87.js";
19
+ import"./index-qyrqwr4c.js";
18
20
  import"./index-6k1937bx.js";
19
21
  export {
20
22
  DEFAULT_EXIT_CODES,