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,3 +1,6 @@
1
+ // src/agent-runtime/control-schema.ts
2
+ import { z as z3 } from "zod";
3
+
1
4
  // src/agent-runtime/event-schema.ts
2
5
  import { z as z2 } from "zod";
3
6
 
@@ -47,6 +50,19 @@ var AgentToolResultPartSchema = z.object({
47
50
  outcome: z.enum(["success", "error", "interrupted"]),
48
51
  output: z.json().optional()
49
52
  });
53
+ var AgentToolApprovalRequestPartSchema = z.object({
54
+ type: z.literal("tool-approval-request"),
55
+ approvalId: z.string().min(1),
56
+ callId: z.string().min(1),
57
+ isAutomatic: z.boolean().optional(),
58
+ signature: z.string().min(1).optional()
59
+ });
60
+ var AgentToolApprovalResponsePartSchema = z.object({
61
+ type: z.literal("tool-approval-response"),
62
+ approvalId: z.string().min(1),
63
+ approved: z.boolean(),
64
+ reason: z.string().min(1).optional()
65
+ });
50
66
  var AgentOpaquePartSchema = z.object({
51
67
  type: z.literal("provider"),
52
68
  envelope: AgentProviderEnvelopeSchema
@@ -62,10 +78,18 @@ var AgentMessagePartSchema = z.discriminatedUnion("type", [
62
78
  AgentSourcePartSchema,
63
79
  AgentToolCallPartSchema,
64
80
  AgentToolResultPartSchema,
81
+ AgentToolApprovalRequestPartSchema,
82
+ AgentToolApprovalResponsePartSchema,
65
83
  AgentOpaquePartSchema,
66
84
  AgentControlPartSchema
67
85
  ]);
68
- var AgentMessageRoleSchema = z.enum(["user", "assistant", "system", "summary"]);
86
+ var AgentMessageRoleSchema = z.enum([
87
+ "user",
88
+ "assistant",
89
+ "tool",
90
+ "system",
91
+ "summary"
92
+ ]);
69
93
  var AgentMessageStatusSchema = z.enum([
70
94
  "committed",
71
95
  "streaming",
@@ -378,11 +402,196 @@ function advanceAgentRuntimeEventCursor(rawCursor, event) {
378
402
  function agentDurableEventId(type, runId, snapshotVersion) {
379
403
  return `${runId}:${type}:${snapshotVersion}`;
380
404
  }
405
+
406
+ // src/agent-runtime/control-schema.ts
407
+ var AgentControlIdentitySchema = z3.object({ schemaVersion: z3.literal(1), requestId: z3.string().min(1) }).strict();
408
+ var AgentControlRequestSchema = z3.discriminatedUnion("operation", [
409
+ AgentControlIdentitySchema.extend({
410
+ operation: z3.literal("attach"),
411
+ conversationId: z3.string().min(1),
412
+ access: z3.enum(["observe", "control"])
413
+ }),
414
+ AgentControlIdentitySchema.extend({
415
+ operation: z3.literal("detach"),
416
+ conversationId: z3.string().min(1)
417
+ }),
418
+ AgentControlIdentitySchema.extend({
419
+ operation: z3.literal("snapshot"),
420
+ conversationId: z3.string().min(1)
421
+ }),
422
+ AgentControlIdentitySchema.extend({
423
+ operation: z3.literal("submit"),
424
+ conversationId: z3.string().min(1),
425
+ idempotencyKey: z3.string().min(1),
426
+ context: z3.unknown(),
427
+ parts: z3.array(AgentMessagePartSchema).min(1),
428
+ metadata: z3.unknown().optional()
429
+ }),
430
+ AgentControlIdentitySchema.extend({
431
+ operation: z3.literal("interrupt"),
432
+ conversationId: z3.string().min(1),
433
+ runId: z3.string().min(1)
434
+ }),
435
+ AgentControlIdentitySchema.extend({
436
+ operation: z3.literal("respond-approval"),
437
+ conversationId: z3.string().min(1),
438
+ approvalId: z3.string().min(1),
439
+ approved: z3.boolean(),
440
+ reason: z3.string().min(1).optional(),
441
+ context: z3.unknown(),
442
+ metadata: z3.unknown().optional()
443
+ })
444
+ ]);
445
+ var AgentControlResponseIdentitySchema = z3.object({
446
+ schemaVersion: z3.literal(1),
447
+ requestId: z3.string().min(1)
448
+ });
449
+ var AgentControlResponseSchema = z3.discriminatedUnion("outcome", [
450
+ AgentControlResponseIdentitySchema.extend({
451
+ outcome: z3.literal("ok"),
452
+ snapshot: AgentSnapshotSchema.optional(),
453
+ runId: z3.string().min(1).optional()
454
+ }).strict(),
455
+ AgentControlResponseIdentitySchema.extend({
456
+ outcome: z3.literal("error"),
457
+ error: z3.object({ code: z3.string().min(1), message: z3.string().min(1) }).strict()
458
+ }).strict()
459
+ ]);
460
+ var AgentControlDeliverySchema = z3.discriminatedUnion("type", [
461
+ z3.object({
462
+ schemaVersion: z3.literal(1),
463
+ type: z3.literal("event"),
464
+ event: AgentRuntimeEventSchema
465
+ }).strict(),
466
+ z3.object({
467
+ schemaVersion: z3.literal(1),
468
+ type: z3.literal("resync-required"),
469
+ conversationId: z3.string().min(1),
470
+ reason: z3.literal("overflow")
471
+ }).strict()
472
+ ]);
473
+ var AgentMultiSessionCursorSchema = z3.object({
474
+ conversations: z3.record(z3.string(), z3.object({
475
+ snapshotVersion: z3.int().nonnegative().optional(),
476
+ durableEventIds: z3.array(z3.string().min(1)).optional(),
477
+ runs: z3.record(z3.string(), z3.object({ runtimeEpoch: z3.string().min(1), sequence: z3.int().nonnegative() }).strict())
478
+ }).strict())
479
+ }).strict();
480
+ function durable(event) {
481
+ return ["admission", "assistant-checkpoint", "run-state", "terminal"].includes(event.type);
482
+ }
483
+ function advanceAgentMultiSessionCursor(raw, event) {
484
+ const cursor = AgentMultiSessionCursorSchema.parse(raw);
485
+ const previous = cursor.conversations[event.conversationId] ?? { runs: {} };
486
+ if (durable(event)) {
487
+ const ids = previous.snapshotVersion === event.snapshotVersion ? previous.durableEventIds ?? [] : [];
488
+ if (previous.snapshotVersion !== undefined && event.snapshotVersion < previous.snapshotVersion || ids.includes(event.eventId)) {
489
+ return { status: "duplicate", cursor };
490
+ }
491
+ return {
492
+ status: "accepted",
493
+ cursor: {
494
+ conversations: {
495
+ ...cursor.conversations,
496
+ [event.conversationId]: {
497
+ ...previous,
498
+ snapshotVersion: event.snapshotVersion,
499
+ durableEventIds: [...ids, event.eventId]
500
+ }
501
+ }
502
+ }
503
+ };
504
+ }
505
+ const run = previous.runs[event.runId];
506
+ const sequence = run?.runtimeEpoch === event.runtimeEpoch ? run.sequence : undefined;
507
+ if (sequence !== undefined && event.sequence <= sequence)
508
+ return { status: "duplicate", cursor };
509
+ const expected = sequence === undefined ? 1 : sequence + 1;
510
+ return {
511
+ status: event.sequence === expected ? "accepted" : "gap",
512
+ cursor: {
513
+ conversations: {
514
+ ...cursor.conversations,
515
+ [event.conversationId]: {
516
+ ...previous,
517
+ runs: {
518
+ ...previous.runs,
519
+ [event.runId]: { runtimeEpoch: event.runtimeEpoch, sequence: event.sequence }
520
+ }
521
+ }
522
+ }
523
+ }
524
+ };
525
+ }
526
+ function createAgentControlView() {
527
+ return { cursor: { conversations: {} }, conversations: {} };
528
+ }
529
+ function reduceAgentControlSnapshot(view, rawSnapshot) {
530
+ const snapshot = AgentSnapshotSchema.parse(rawSnapshot);
531
+ const previous = view.cursor.conversations[snapshot.conversationId] ?? { runs: {} };
532
+ return {
533
+ cursor: {
534
+ conversations: {
535
+ ...view.cursor.conversations,
536
+ [snapshot.conversationId]: {
537
+ ...previous,
538
+ snapshotVersion: snapshot.version,
539
+ durableEventIds: []
540
+ }
541
+ }
542
+ },
543
+ conversations: {
544
+ ...view.conversations,
545
+ [snapshot.conversationId]: {
546
+ snapshot,
547
+ resyncRequired: false,
548
+ transientByRun: {}
549
+ }
550
+ }
551
+ };
552
+ }
553
+ function reduceAgentControlEvent(view, rawEvent) {
554
+ const event = AgentRuntimeEventSchema.parse(rawEvent);
555
+ const advanced = advanceAgentMultiSessionCursor(view.cursor, event);
556
+ if (advanced.status === "duplicate")
557
+ return view;
558
+ const current = view.conversations[event.conversationId] ?? {
559
+ resyncRequired: false,
560
+ transientByRun: {}
561
+ };
562
+ if (advanced.status === "gap") {
563
+ return {
564
+ cursor: advanced.cursor,
565
+ conversations: {
566
+ ...view.conversations,
567
+ [event.conversationId]: { ...current, resyncRequired: true }
568
+ }
569
+ };
570
+ }
571
+ const transient = current.transientByRun[event.runId] ?? { text: "", reasoning: "" };
572
+ const nextTransient = event.type === "assistant-delta" ? { ...transient, text: transient.text + event.textDelta } : event.type === "reasoning-delta" ? { ...transient, reasoning: transient.reasoning + event.textDelta } : transient;
573
+ const snapshotStale = durable(event) && current.snapshot?.version !== event.snapshotVersion;
574
+ const transientByRun = event.type === "terminal" ? Object.fromEntries(Object.entries(current.transientByRun).filter(([runId]) => runId !== event.runId)) : { ...current.transientByRun, [event.runId]: nextTransient };
575
+ return {
576
+ cursor: advanced.cursor,
577
+ conversations: {
578
+ ...view.conversations,
579
+ [event.conversationId]: {
580
+ ...current,
581
+ resyncRequired: current.resyncRequired || snapshotStale,
582
+ transientByRun
583
+ }
584
+ }
585
+ };
586
+ }
381
587
  export {
382
588
  AgentAdmissionEventSchema,
383
589
  AgentAssistantPlaceholderSchema,
384
590
  AgentCheckpointEventSchema,
591
+ AgentControlDeliverySchema,
385
592
  AgentControlPartSchema,
593
+ AgentControlRequestSchema,
594
+ AgentControlResponseSchema,
386
595
  AgentCostValueSchema,
387
596
  AgentFilePartSchema,
388
597
  AgentJsonObjectSchema,
@@ -390,6 +599,7 @@ export {
390
599
  AgentMessageRoleSchema,
391
600
  AgentMessageSchema,
392
601
  AgentMessageStatusSchema,
602
+ AgentMultiSessionCursorSchema,
393
603
  AgentOpaquePartSchema,
394
604
  AgentProvenanceSchema,
395
605
  AgentProviderEnvelopeSchema,
@@ -412,13 +622,19 @@ export {
412
622
  AgentTerminalReasonSchema,
413
623
  AgentTextPartSchema,
414
624
  AgentTimestampSchema,
625
+ AgentToolApprovalRequestPartSchema,
626
+ AgentToolApprovalResponsePartSchema,
415
627
  AgentToolCallPartSchema,
416
628
  AgentToolResultPartSchema,
417
629
  AgentToolStatusEventSchema,
418
630
  AgentTransientDeltaEventSchema,
419
631
  AgentUsageSchema,
420
632
  AgentUsageValueSchema,
633
+ advanceAgentMultiSessionCursor,
421
634
  advanceAgentRuntimeEventCursor,
422
635
  agentDurableEventId,
636
+ createAgentControlView,
637
+ reduceAgentControlEvent,
638
+ reduceAgentControlSnapshot,
423
639
  runStateForTerminalReason
424
640
  };
@@ -0,0 +1,2 @@
1
+ export { type AgentCodingArtifactStore, type AgentCodingToolAuthorization, AgentCodingToolAuthorizationSchema, type AgentCodingToolConfig, type AgentCodingToolDefinition, type AgentCodingToolLimits, AgentCodingToolLimitsSchema, createAgentCodingTools, } from './agent-runtime/coding-tools.js';
2
+ //# sourceMappingURL=agent-runtime-coding-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-runtime-coding-tools.d.ts","sourceRoot":"","sources":["../src/agent-runtime-coding-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EACjC,kCAAkC,EAClC,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,8BAA8B,CAAC"}