stitchkit 0.100.2 → 0.101.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.
- package/CHANGELOG.md +153 -0
- package/README.md +2 -1
- package/dist/entrypoints/agent-runtime/browser.js +119 -119
- package/dist/entrypoints/agent-runtime/coding-tools.js +15 -20
- package/dist/entrypoints/agent-runtime/harness.js +55 -63
- package/dist/entrypoints/agent-runtime/openrouter.js +6 -6
- package/dist/entrypoints/agent-runtime/sandbox.js +20 -25
- package/dist/entrypoints/agent-runtime/sqlite/bun.js +11 -13
- package/dist/entrypoints/agent-runtime/sqlite/node.js +11 -13
- package/dist/entrypoints/agent-runtime/testing.js +32 -34
- package/dist/entrypoints/agent-runtime.js +395 -402
- package/dist/entrypoints/application/diagnostic-journal.js +26 -27
- package/dist/entrypoints/application/directory-inbox.js +16 -17
- package/dist/entrypoints/application/grammy.js +13 -13
- package/dist/entrypoints/application/opentelemetry.js +13 -13
- package/dist/entrypoints/application/schemas.js +24 -24
- package/dist/entrypoints/application.js +209 -210
- package/dist/entrypoints/bin/upgrade-cli.js +2 -2
- package/dist/entrypoints/cli.js +81 -84
- package/dist/entrypoints/contract.js +54 -57
- package/dist/entrypoints/declaration.js +22 -22
- package/dist/entrypoints/files.js +18 -21
- package/dist/entrypoints/geo.js +7 -8
- package/dist/entrypoints/google.js +2 -2
- package/dist/entrypoints/index.js +150 -154
- package/dist/entrypoints/live.js +45 -47
- package/dist/entrypoints/node.js +68 -74
- package/dist/entrypoints/oauth.js +6 -6
- package/dist/entrypoints/observability.d.ts +1 -0
- package/dist/entrypoints/observability.d.ts.map +1 -1
- package/dist/entrypoints/observability.js +116 -87
- package/dist/entrypoints/primitives.js +35 -35
- package/dist/entrypoints/react/keyboard.d.ts +4 -0
- package/dist/entrypoints/react/keyboard.d.ts.map +1 -0
- package/dist/entrypoints/react/keyboard.js +397 -0
- package/dist/entrypoints/react.js +10 -10
- package/dist/entrypoints/release.js +7 -7
- package/dist/entrypoints/remote.js +15 -17
- package/dist/entrypoints/server.js +198 -200
- package/dist/entrypoints/telegram/html.d.ts +5 -0
- package/dist/entrypoints/telegram/html.d.ts.map +1 -0
- package/dist/entrypoints/telegram/html.js +26 -0
- package/dist/entrypoints/telegram/screens.d.ts +14 -0
- package/dist/entrypoints/telegram/screens.d.ts.map +1 -0
- package/dist/entrypoints/telegram/screens.js +2028 -0
- package/dist/entrypoints/telegram.d.ts +11 -3
- package/dist/entrypoints/telegram.d.ts.map +1 -1
- package/dist/entrypoints/telegram.js +779 -159
- package/dist/entrypoints/testing.js +75 -79
- package/dist/entrypoints/tools/connections.js +30 -32
- package/dist/entrypoints/tools/contract.js +18 -20
- package/dist/entrypoints/tools/invoker.js +12 -17
- package/dist/entrypoints/tools.js +224 -229
- package/dist/entrypoints/tracking/server.js +6 -6
- package/dist/entrypoints/tracking.js +40 -42
- package/dist/entrypoints/voice.js +3 -3
- package/dist/{index-eaysmdtq.js → index-0ndk4555.js} +56 -56
- package/dist/{index-2bxbyab0.js → index-1bx1xv1k.js} +1 -1
- package/dist/{index-p5r7qpdd.js → index-1eeqpadm.js} +4 -4
- package/dist/{index-hadmp193.js → index-3ct7hhq6.js} +210 -210
- package/dist/{index-e01r054k.js → index-45tdvqa3.js} +26 -26
- package/dist/{index-dce5wxcq.js → index-4s0fep5q.js} +8 -8
- package/dist/index-50ejfz75.js +9 -0
- package/dist/{index-m9zn6cpq.js → index-5107q189.js} +12 -12
- package/dist/{index-sbdmyz75.js → index-5cc6r990.js} +3 -3
- package/dist/{index-c6bxbsnc.js → index-7kxw1awn.js} +2 -2
- package/dist/{index-0r0fbk7z.js → index-7z9ym7t8.js} +28 -28
- package/dist/{index-p7hgdyhb.js → index-814xpr6d.js} +2 -2
- package/dist/{index-gtj3zc53.js → index-8kzct1d6.js} +99 -99
- package/dist/{index-1zbbzgfh.js → index-9pw0a51a.js} +4 -4
- package/dist/{index-79z7m7dt.js → index-a9pd417t.js} +35 -35
- package/dist/{index-ham5sz8m.js → index-aaj97r4y.js} +45 -45
- package/dist/{index-s812ycat.js → index-aan6hqb9.js} +3 -3
- package/dist/{index-10x2hbx0.js → index-adhgd4pe.js} +44 -44
- package/dist/{index-2gxzjvyr.js → index-afjvjyck.js} +23 -23
- package/dist/{index-qmy6zq75.js → index-ahvsksw5.js} +16 -16
- package/dist/{index-hr4tzbwq.js → index-ap3gqe56.js} +3 -3
- package/dist/{index-znfs20ss.js → index-b2bz0kdm.js} +16 -16
- package/dist/{index-r066jx76.js → index-c6aagrbd.js} +148 -120
- package/dist/{index-k30h66yd.js → index-ck71tbcf.js} +9 -9
- package/dist/{index-eqqvgdb3.js → index-ct75c3at.js} +2 -2
- package/dist/{index-gw8bmyaj.js → index-djjhhgjk.js} +41 -41
- package/dist/{index-8qt2m66q.js → index-dvwj1f43.js} +43 -43
- package/dist/index-e05cjgtf.js +144 -0
- package/dist/{index-yw4fzmdz.js → index-e6c2spsd.js} +79 -30
- package/dist/{index-fhwqwxe0.js → index-ej331hah.js} +1 -1
- package/dist/{index-9t3dffv2.js → index-ewbaywk5.js} +5 -5
- package/dist/{index-7p1f0vp2.js → index-fyphpknh.js} +25 -25
- package/dist/{index-83bdg97s.js → index-g149e9pk.js} +1 -1
- package/dist/{index-ngfhvfpd.js → index-g6a3na27.js} +4 -4
- package/dist/{index-qwhynv6x.js → index-h124epcf.js} +20 -20
- package/dist/{index-h6eeys1v.js → index-h97tqqp1.js} +9 -9
- package/dist/{index-zcgf3gqf.js → index-hby4qhax.js} +10 -10
- package/dist/{index-5jrd0yng.js → index-j8aw2c0e.js} +4 -4
- package/dist/{index-d8m8zpd8.js → index-jzczzcsb.js} +14 -14
- package/dist/index-kqnd6a85.js +26 -0
- package/dist/{index-35mh5bhj.js → index-kw1ws0cs.js} +12 -12
- package/dist/{index-4gcnakhx.js → index-m38ej7e5.js} +2 -2
- package/dist/{index-ndddxtyx.js → index-m79yr938.js} +19 -19
- package/dist/{index-5p2m7we1.js → index-m9fndta6.js} +11 -11
- package/dist/index-mnkk1ffz.js +150 -0
- package/dist/index-n15jny5b.js +4 -0
- package/dist/{index-2vtcmrj9.js → index-n53mswt3.js} +20 -20
- package/dist/{index-bt14acb5.js → index-n5yqxd3d.js} +21 -21
- package/dist/{index-bm5rx7n6.js → index-n9tyz8z3.js} +12 -12
- package/dist/index-nmaqxdx7.js +463 -0
- package/dist/{index-mqv3b5rh.js → index-nx6eazt0.js} +30 -30
- package/dist/{index-3z73fh2c.js → index-q0th8q0z.js} +9 -9
- package/dist/{index-v260df89.js → index-qjeggp8w.js} +20 -20
- package/dist/{index-zfrhfn82.js → index-r1z0rd9c.js} +20 -20
- package/dist/{index-wqgjfstn.js → index-r5c4fedv.js} +3 -3
- package/dist/{index-cyktc4bp.js → index-r5hsgkz5.js} +118 -118
- package/dist/{index-0b1ess5e.js → index-r7a7r7ha.js} +1 -1
- package/dist/{index-1j8pm5t0.js → index-rfkh44ss.js} +15 -15
- package/dist/index-rz3z13e9.js +47 -0
- package/dist/{index-k6gpggb9.js → index-s80awwsw.js} +35 -35
- package/dist/{index-vqr7f7v8.js → index-ssmd41kh.js} +124 -124
- package/dist/index-sznqf8fx.js +20 -0
- package/dist/{index-ensd0r74.js → index-v14qqmys.js} +41 -41
- package/dist/{index-paz6sgdp.js → index-v4a2fjtk.js} +36 -36
- package/dist/{index-d9pk3td4.js → index-w0eqdhyd.js} +14 -14
- package/dist/{index-5qn1kx34.js → index-w575evhq.js} +29 -29
- package/dist/{index-3gye9wzb.js → index-w5s3xftz.js} +26 -26
- package/dist/{index-tm88avnj.js → index-wykebpn9.js} +3 -3
- package/dist/{index-sh3s86na.js → index-xkhk5d6g.js} +17 -17
- package/dist/{index-6k1937bx.js → index-xqhede6x.js} +4 -4
- package/dist/{index-f4fx2tza.js → index-zs4ms3th.js} +181 -181
- package/dist/{index-k5hsfc3j.js → index-zsvzhjtk.js} +1 -1
- package/dist/internal/secret-shapes.d.ts +21 -0
- package/dist/internal/secret-shapes.d.ts.map +1 -0
- package/dist/observability/bounded-logger.d.ts +2 -0
- package/dist/observability/bounded-logger.d.ts.map +1 -1
- package/dist/observability/sanitize.d.ts +6 -0
- package/dist/observability/sanitize.d.ts.map +1 -1
- package/dist/observability/secret-values.d.ts +25 -0
- package/dist/observability/secret-values.d.ts.map +1 -0
- package/dist/react/keyboard/hooks.d.ts +71 -0
- package/dist/react/keyboard/hooks.d.ts.map +1 -0
- package/dist/react/keyboard/layers.d.ts +98 -0
- package/dist/react/keyboard/layers.d.ts.map +1 -0
- package/dist/react/keyboard/zone.d.ts +139 -0
- package/dist/react/keyboard/zone.d.ts.map +1 -0
- package/dist/telegram/bot-api.d.ts +7 -4
- package/dist/telegram/bot-api.d.ts.map +1 -1
- package/dist/telegram/crypto.d.ts +16 -0
- package/dist/telegram/crypto.d.ts.map +1 -0
- package/dist/telegram/html/check.d.ts +26 -0
- package/dist/telegram/html/check.d.ts.map +1 -0
- package/dist/telegram/html/nodes.d.ts +70 -0
- package/dist/telegram/html/nodes.d.ts.map +1 -0
- package/dist/telegram/html/parse.d.ts +35 -0
- package/dist/telegram/html/parse.d.ts.map +1 -0
- package/dist/telegram/html/render.d.ts +39 -0
- package/dist/telegram/html/render.d.ts.map +1 -0
- package/dist/telegram/init-data.d.ts +3 -44
- package/dist/telegram/init-data.d.ts.map +1 -1
- package/dist/telegram/operator-channel.d.ts +19 -3
- package/dist/telegram/operator-channel.d.ts.map +1 -1
- package/dist/telegram/operator-dedupe.d.ts +44 -0
- package/dist/telegram/operator-dedupe.d.ts.map +1 -0
- package/dist/telegram/screens/callback-codec.d.ts +34 -0
- package/dist/telegram/screens/callback-codec.d.ts.map +1 -0
- package/dist/telegram/screens/dispatch.d.ts +22 -0
- package/dist/telegram/screens/dispatch.d.ts.map +1 -0
- package/dist/telegram/screens/display.d.ts +70 -0
- package/dist/telegram/screens/display.d.ts.map +1 -0
- package/dist/telegram/screens/execute.d.ts +57 -0
- package/dist/telegram/screens/execute.d.ts.map +1 -0
- package/dist/telegram/screens/html.d.ts +36 -0
- package/dist/telegram/screens/html.d.ts.map +1 -0
- package/dist/telegram/screens/outcome.d.ts +74 -0
- package/dist/telegram/screens/outcome.d.ts.map +1 -0
- package/dist/telegram/screens/path.d.ts +29 -0
- package/dist/telegram/screens/path.d.ts.map +1 -0
- package/dist/telegram/screens/reconcile.d.ts +67 -0
- package/dist/telegram/screens/reconcile.d.ts.map +1 -0
- package/dist/telegram/screens/registry.d.ts +23 -0
- package/dist/telegram/screens/registry.d.ts.map +1 -0
- package/dist/telegram/screens/render.d.ts +70 -0
- package/dist/telegram/screens/render.d.ts.map +1 -0
- package/dist/telegram/screens/runtime.d.ts +133 -0
- package/dist/telegram/screens/runtime.d.ts.map +1 -0
- package/dist/telegram/screens/screen-types.d.ts +130 -0
- package/dist/telegram/screens/screen-types.d.ts.map +1 -0
- package/dist/telegram/screens/screen.d.ts +138 -0
- package/dist/telegram/screens/screen.d.ts.map +1 -0
- package/dist/telegram/screens/state.d.ts +115 -0
- package/dist/telegram/screens/state.d.ts.map +1 -0
- package/dist/telegram/screens/telegram-screens.d.ts +18 -0
- package/dist/telegram/screens/telegram-screens.d.ts.map +1 -0
- package/dist/telegram/screens/test-chat-telegram.d.ts +47 -0
- package/dist/telegram/screens/test-chat-telegram.d.ts.map +1 -0
- package/dist/telegram/screens/test-chat.d.ts +66 -0
- package/dist/telegram/screens/test-chat.d.ts.map +1 -0
- package/dist/telegram/screens/view.d.ts +89 -0
- package/dist/telegram/screens/view.d.ts.map +1 -0
- package/dist/telegram/send-failure.d.ts +25 -0
- package/dist/telegram/send-failure.d.ts.map +1 -1
- package/dist/telegram/update-intake.d.ts +82 -0
- package/dist/telegram/update-intake.d.ts.map +1 -0
- package/dist/telegram/update-store-check.d.ts +22 -0
- package/dist/telegram/update-store-check.d.ts.map +1 -0
- package/dist/telegram/update-store-postgres.d.ts +33 -0
- package/dist/telegram/update-store-postgres.d.ts.map +1 -0
- package/dist/telegram/update-store-sqlite.d.ts +26 -0
- package/dist/telegram/update-store-sqlite.d.ts.map +1 -0
- package/dist/telegram/update-store.d.ts +67 -0
- package/dist/telegram/update-store.d.ts.map +1 -0
- package/dist/telegram/user.d.ts +51 -0
- package/dist/telegram/user.d.ts.map +1 -0
- package/dist/telegram/webhook.d.ts +105 -0
- package/dist/telegram/webhook.d.ts.map +1 -0
- package/dist/tools/cli/args-fields.d.ts +8 -0
- package/dist/tools/cli/args-fields.d.ts.map +1 -1
- package/dist/tools/cli/args-route.d.ts.map +1 -1
- package/dist/tools/cli/args.d.ts.map +1 -1
- package/dist/tools/cli/help.d.ts.map +1 -1
- package/llms/cli.txt +8 -2
- package/llms/observability.txt +15 -2
- package/llms/react-keyboard.txt +193 -0
- package/llms/server.4.txt +16 -0
- package/llms/stitchkit.txt +10 -4
- package/llms/telegram-html.txt +35 -0
- package/llms/telegram-screens.txt +365 -0
- package/llms/telegram.txt +245 -11
- package/llms/{upgrading-0.74.0-0.100.0.txt → upgrading-0.74.0-0.101.0.txt} +39 -3
- package/llms/upgrading.txt +1 -1
- package/llms-full.txt +889 -19
- package/llms.txt +12 -7
- package/package.json +17 -2
- package/dist/index-2k4yrqkc.js +0 -9
- package/dist/index-crykmqkr.js +0 -26
- package/dist/index-y64k3s0h.js +0 -150
- package/dist/index-y91ry9h2.js +0 -4
- /package/dist/{index-hffjpmq9.js → index-9jfdm5tg.js} +0 -0
- /package/dist/{index-zjjyynm3.js → index-d4pa2bgs.js} +0 -0
- /package/dist/{index-rxfy4cq7.js → index-dwfv9a85.js} +0 -0
- /package/dist/{index-5jm36zv1.js → index-gfk7nrht.js} +0 -0
- /package/dist/{index-b9aefrqd.js → index-n1dqr7gf.js} +0 -0
- /package/dist/{index-q3pyb9n0.js → index-sykb5ag7.js} +0 -0
- /package/dist/{index-48ffdxgk.js → index-xhzq2qvj.js} +0 -0
- /package/dist/{index-kzfs85xp.js → index-zsarb5xp.js} +0 -0
|
@@ -163,11 +163,11 @@ async function issueVisitLease(store, actor, entry, {
|
|
|
163
163
|
});
|
|
164
164
|
}
|
|
165
165
|
export {
|
|
166
|
-
|
|
167
|
-
isBotUserAgent,
|
|
168
|
-
hashTrackingEvent,
|
|
169
|
-
dispositionTrackingBatch,
|
|
170
|
-
createPresenceRegistry,
|
|
166
|
+
DEFAULT_BOT_USER_AGENT_PATTERN,
|
|
171
167
|
activeIntervalOf,
|
|
172
|
-
|
|
168
|
+
createPresenceRegistry,
|
|
169
|
+
dispositionTrackingBatch,
|
|
170
|
+
hashTrackingEvent,
|
|
171
|
+
isBotUserAgent,
|
|
172
|
+
issueVisitLease
|
|
173
173
|
};
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
+
import"../index-hby4qhax.js";
|
|
1
2
|
import {
|
|
2
|
-
|
|
3
|
-
} from "../index-
|
|
3
|
+
ApiError2
|
|
4
|
+
} from "../index-qjeggp8w.js";
|
|
5
|
+
import"../index-m38ej7e5.js";
|
|
4
6
|
import {
|
|
5
|
-
|
|
6
|
-
} from "../index-
|
|
7
|
-
import"../index-4gcnakhx.js";
|
|
8
|
-
import"../index-zcgf3gqf.js";
|
|
9
|
-
import"../index-kzfs85xp.js";
|
|
10
|
-
import"../index-hffjpmq9.js";
|
|
7
|
+
defineContract2
|
|
8
|
+
} from "../index-ck71tbcf.js";
|
|
11
9
|
|
|
12
10
|
// src/tracking/attribution.ts
|
|
13
11
|
import { z as z2 } from "zod";
|
|
@@ -324,10 +322,10 @@ function wireTrackingListeners(deps) {
|
|
|
324
322
|
|
|
325
323
|
// src/tracking/delivery.ts
|
|
326
324
|
function isRetryable(error) {
|
|
327
|
-
return
|
|
325
|
+
return ApiError2.is(error) && (error.status === 0 || error.status >= 500);
|
|
328
326
|
}
|
|
329
327
|
function isUnauthorized(error) {
|
|
330
|
-
return
|
|
328
|
+
return ApiError2.is(error) && (error.status === 401 || error.status === 403);
|
|
331
329
|
}
|
|
332
330
|
async function deliverTrackingBatch({
|
|
333
331
|
request,
|
|
@@ -685,14 +683,14 @@ function createTrackingClient(config) {
|
|
|
685
683
|
deliver,
|
|
686
684
|
fail
|
|
687
685
|
});
|
|
688
|
-
const materialize = (
|
|
686
|
+
const materialize = (draft) => {
|
|
689
687
|
if (!visit.visitId || !visit.browserStreamId)
|
|
690
688
|
return null;
|
|
691
689
|
const sequence = sequences.take();
|
|
692
690
|
if (sequence === null)
|
|
693
691
|
return null;
|
|
694
692
|
return decorate({
|
|
695
|
-
...
|
|
693
|
+
...draft,
|
|
696
694
|
eventId: host.randomUUID(),
|
|
697
695
|
visitId: visit.visitId,
|
|
698
696
|
browserStreamId: visit.browserStreamId,
|
|
@@ -732,10 +730,10 @@ function createTrackingClient(config) {
|
|
|
732
730
|
await persistAndFlush(events);
|
|
733
731
|
});
|
|
734
732
|
};
|
|
735
|
-
const sendOnUnload = (
|
|
736
|
-
const event = materialize(
|
|
733
|
+
const sendOnUnload = (draft) => {
|
|
734
|
+
const event = materialize(draft);
|
|
737
735
|
if (!event) {
|
|
738
|
-
send([
|
|
736
|
+
send([draft]);
|
|
739
737
|
return;
|
|
740
738
|
}
|
|
741
739
|
unload({ buildId: config.buildId, events: [event], utm: currentUtmOf(attribution) });
|
|
@@ -815,7 +813,7 @@ function asMetadata(value) {
|
|
|
815
813
|
// src/tracking/contract.ts
|
|
816
814
|
function createTrackingContract(config) {
|
|
817
815
|
const schemas = createTrackingSchemas(config);
|
|
818
|
-
return
|
|
816
|
+
return defineContract2({ prefix: config.prefix ?? "tracking", scope: config.scope }, {
|
|
819
817
|
bootstrap: {
|
|
820
818
|
method: "POST",
|
|
821
819
|
path: "/visit",
|
|
@@ -1110,31 +1108,31 @@ function memoryOutboxStorage() {
|
|
|
1110
1108
|
};
|
|
1111
1109
|
}
|
|
1112
1110
|
export {
|
|
1113
|
-
|
|
1114
|
-
scrollDepthPercent,
|
|
1115
|
-
resolveTrackedClick,
|
|
1116
|
-
resolveAttribution,
|
|
1117
|
-
parseUtmFromSearch,
|
|
1118
|
-
parseReferrer,
|
|
1119
|
-
memoryOutboxStorage,
|
|
1120
|
-
indexedDbOutboxStorage,
|
|
1121
|
-
deliverTrackingBatch,
|
|
1122
|
-
createVisibleTimeMeter,
|
|
1123
|
-
createTrackingSchemas,
|
|
1124
|
-
createTrackingOutbox,
|
|
1125
|
-
createTrackingContract,
|
|
1126
|
-
createTrackingClient,
|
|
1127
|
-
createSequenceReserve,
|
|
1128
|
-
createScrollMilestones,
|
|
1129
|
-
createOncePerPage,
|
|
1130
|
-
browserTrackingHost,
|
|
1131
|
-
VisitBootstrapResponseSchema,
|
|
1132
|
-
UtmDataSchema,
|
|
1133
|
-
TrackingOutboxStateSchema,
|
|
1134
|
-
TrackingDispositionStatusSchema,
|
|
1135
|
-
TrackingDispositionSchema,
|
|
1136
|
-
TrackEventsResponseSchema,
|
|
1137
|
-
DEFAULT_BUILD_ID_PATTERN,
|
|
1111
|
+
AttributionDataSchema,
|
|
1138
1112
|
CONVENTIONAL_TRACKING_EVENT_TYPES,
|
|
1139
|
-
|
|
1113
|
+
DEFAULT_BUILD_ID_PATTERN,
|
|
1114
|
+
TrackEventsResponseSchema,
|
|
1115
|
+
TrackingDispositionSchema,
|
|
1116
|
+
TrackingDispositionStatusSchema,
|
|
1117
|
+
TrackingOutboxStateSchema,
|
|
1118
|
+
UtmDataSchema,
|
|
1119
|
+
VisitBootstrapResponseSchema,
|
|
1120
|
+
browserTrackingHost,
|
|
1121
|
+
createOncePerPage,
|
|
1122
|
+
createScrollMilestones,
|
|
1123
|
+
createSequenceReserve,
|
|
1124
|
+
createTrackingClient,
|
|
1125
|
+
createTrackingContract,
|
|
1126
|
+
createTrackingOutbox,
|
|
1127
|
+
createTrackingSchemas,
|
|
1128
|
+
createVisibleTimeMeter,
|
|
1129
|
+
deliverTrackingBatch,
|
|
1130
|
+
indexedDbOutboxStorage,
|
|
1131
|
+
memoryOutboxStorage,
|
|
1132
|
+
parseReferrer,
|
|
1133
|
+
parseUtmFromSearch,
|
|
1134
|
+
resolveAttribution,
|
|
1135
|
+
resolveTrackedClick,
|
|
1136
|
+
scrollDepthPercent,
|
|
1137
|
+
sendUnloadBeacon
|
|
1140
1138
|
};
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
AgentStoreEventEnvelopeSchema2,
|
|
3
|
+
AppendAgentStoreEventSchema2,
|
|
4
|
+
AgentStoreEventPageSchema2,
|
|
5
|
+
AgentRecoverableDescriptorSchema2,
|
|
6
|
+
AgentRecoverablePageSchema2,
|
|
7
|
+
canonicalAgentJson2
|
|
8
|
+
} from "./index-r5hsgkz5.js";
|
|
5
9
|
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
AgentSeedReceiptSchema,
|
|
10
|
-
AgentStoredRunSchema,
|
|
11
|
-
appendEventIn,
|
|
12
|
-
createAgentRuntimeStore
|
|
13
|
-
} from "./index-vqr7f7v8.js";
|
|
10
|
+
AgentMessageSchema2,
|
|
11
|
+
AgentRunSchema2
|
|
12
|
+
} from "./index-8kzct1d6.js";
|
|
14
13
|
import {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
AgentRuntimeHeadSchema2,
|
|
15
|
+
AgentStoredRunSchema2,
|
|
16
|
+
AgentAdmissionReceiptSchema2,
|
|
17
|
+
AgentSeedReceiptSchema2,
|
|
18
|
+
AgentHistoryMutationSchema2,
|
|
19
|
+
appendEventIn,
|
|
20
|
+
createAgentRuntimeStore2
|
|
21
|
+
} from "./index-ssmd41kh.js";
|
|
22
22
|
import {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
} from "./index-
|
|
23
|
+
AgentConversationPageSchema2,
|
|
24
|
+
AgentConversationMessagePageSchema2
|
|
25
|
+
} from "./index-kqnd6a85.js";
|
|
26
26
|
|
|
27
27
|
// src/agent-runtime/sqlite-schema.ts
|
|
28
28
|
import { z as z3 } from "zod";
|
|
@@ -69,8 +69,8 @@ function sqliteConversationPurge(database) {
|
|
|
69
69
|
},
|
|
70
70
|
async remove(transaction, conversationId) {
|
|
71
71
|
transaction.prepare("INSERT INTO stitchkit_agent_runtime_purged (conversation_id) VALUES (?)").run(conversationId);
|
|
72
|
-
for (const
|
|
73
|
-
transaction.prepare(`DELETE FROM ${
|
|
72
|
+
for (const table of OWNED_TABLES) {
|
|
73
|
+
transaction.prepare(`DELETE FROM ${table} WHERE conversation_id = ?`).run(conversationId);
|
|
74
74
|
}
|
|
75
75
|
transaction.prepare("DELETE FROM stitchkit_agent_runtime_children WHERE parent_conversation_id = ? OR child_conversation_id = ?").run(conversationId, conversationId);
|
|
76
76
|
}
|
|
@@ -113,17 +113,17 @@ function placeholders(count) {
|
|
|
113
113
|
}
|
|
114
114
|
function parseRunRow(value) {
|
|
115
115
|
const row = RunRowSchema.parse(value);
|
|
116
|
-
return
|
|
116
|
+
return AgentStoredRunSchema2.parse({
|
|
117
117
|
schemaVersion: 1,
|
|
118
|
-
run:
|
|
118
|
+
run: AgentRunSchema2.parse(parseJson(row.payload)),
|
|
119
119
|
...row.terminal_assistant_payload === null ? {} : {
|
|
120
|
-
terminalAssistant:
|
|
120
|
+
terminalAssistant: AgentMessageSchema2.parse(parseJson(row.terminal_assistant_payload))
|
|
121
121
|
}
|
|
122
122
|
});
|
|
123
123
|
}
|
|
124
124
|
function parseEventRow(value) {
|
|
125
125
|
const row = EventRowSchema.parse(value);
|
|
126
|
-
return
|
|
126
|
+
return AgentStoreEventEnvelopeSchema2.parse({
|
|
127
127
|
schemaVersion: row.schema_version,
|
|
128
128
|
eventId: row.event_id,
|
|
129
129
|
conversationId: row.conversation_id,
|
|
@@ -268,7 +268,7 @@ function writeBaselines(database, migratedAt) {
|
|
|
268
268
|
const rows = database.prepare("SELECT payload, active FROM stitchkit_agent_runtime_messages WHERE conversation_id = ? ORDER BY position, rowid").all(conversation.conversation_id).map((row) => {
|
|
269
269
|
const parsed = HistoryRowSchema.parse(row);
|
|
270
270
|
return {
|
|
271
|
-
message:
|
|
271
|
+
message: AgentMessageSchema2.parse(parseJson2(parsed.payload)),
|
|
272
272
|
active: parsed.active === 1
|
|
273
273
|
};
|
|
274
274
|
});
|
|
@@ -278,9 +278,9 @@ function writeBaselines(database, migratedAt) {
|
|
|
278
278
|
const row = PayloadRowSchema.parse(value);
|
|
279
279
|
return {
|
|
280
280
|
schemaVersion: 1,
|
|
281
|
-
run:
|
|
281
|
+
run: AgentRunSchema2.parse(parseJson2(row.payload)),
|
|
282
282
|
...row.terminal_assistant_payload ? {
|
|
283
|
-
terminalAssistant:
|
|
283
|
+
terminalAssistant: AgentMessageSchema2.parse(parseJson2(row.terminal_assistant_payload))
|
|
284
284
|
} : {}
|
|
285
285
|
};
|
|
286
286
|
});
|
|
@@ -290,13 +290,13 @@ function writeBaselines(database, migratedAt) {
|
|
|
290
290
|
schemaVersion: 1,
|
|
291
291
|
conversationId: row.conversation_id,
|
|
292
292
|
idempotencyKey: row.idempotency_key,
|
|
293
|
-
input:
|
|
293
|
+
input: AgentMessageSchema2.parse(parseJson2(row.input_payload)),
|
|
294
294
|
runId: row.run_id,
|
|
295
295
|
assistantMessageId: row.assistant_message_id
|
|
296
296
|
};
|
|
297
297
|
});
|
|
298
298
|
const asOf = messages.at(-1)?.createdAt ?? runs.at(-1)?.run.createdAt;
|
|
299
|
-
insert.run(conversation.conversation_id, randomUUID(), migratedAt,
|
|
299
|
+
insert.run(conversation.conversation_id, randomUUID(), migratedAt, canonicalAgentJson2({
|
|
300
300
|
migratedAt,
|
|
301
301
|
...asOf !== undefined && { asOf },
|
|
302
302
|
head: {
|
|
@@ -368,7 +368,7 @@ var TABLES = [
|
|
|
368
368
|
"stitchkit_agent_runtime_schedules",
|
|
369
369
|
"stitchkit_agent_runtime_children"
|
|
370
370
|
];
|
|
371
|
-
function
|
|
371
|
+
function initializeAgentRuntimeSqlite2(database) {
|
|
372
372
|
database.exec("BEGIN IMMEDIATE");
|
|
373
373
|
try {
|
|
374
374
|
const existing = database.prepare(`SELECT name FROM sqlite_master WHERE type = 'table' AND name LIKE 'stitchkit_agent_runtime_%' ORDER BY name`).all().map((row) => TableRowSchema.parse(row).name);
|
|
@@ -501,7 +501,7 @@ var sqliteEvents = {
|
|
|
501
501
|
conversation_id, seq, event_id, schema_version, kind, occurred_at, ignorable, payload
|
|
502
502
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
503
503
|
`).run(event.conversationId, seq, event.eventId, event.schemaVersion, event.kind, event.occurredAt, event.ignorable ? 1 : 0, encodeJson(event.payload));
|
|
504
|
-
return
|
|
504
|
+
return AgentStoreEventEnvelopeSchema2.parse({ ...event, seq });
|
|
505
505
|
},
|
|
506
506
|
async list(transaction, input) {
|
|
507
507
|
const clauses = ["conversation_id = ?"];
|
|
@@ -524,7 +524,7 @@ var sqliteEvents = {
|
|
|
524
524
|
const hasMore = rows.length > input.limit;
|
|
525
525
|
const items = rows.slice(0, input.limit);
|
|
526
526
|
const lastEvent = items.at(-1);
|
|
527
|
-
return
|
|
527
|
+
return AgentStoreEventPageSchema2.parse({
|
|
528
528
|
items,
|
|
529
529
|
...hasMore && lastEvent ? { nextSeq: lastEvent.seq + 1 } : {}
|
|
530
530
|
});
|
|
@@ -633,7 +633,7 @@ var sqliteHistory = {
|
|
|
633
633
|
return transaction.prepare(`
|
|
634
634
|
SELECT payload FROM stitchkit_agent_runtime_messages
|
|
635
635
|
WHERE conversation_id = ? AND active = 1 ORDER BY position ASC
|
|
636
|
-
`).all(conversationId).map((value) =>
|
|
636
|
+
`).all(conversationId).map((value) => AgentMessageSchema2.parse(parseJson(MessageRowSchema.parse(value).payload)));
|
|
637
637
|
},
|
|
638
638
|
async hasMessage(transaction, input) {
|
|
639
639
|
const row = transaction.prepare(`
|
|
@@ -643,7 +643,7 @@ var sqliteHistory = {
|
|
|
643
643
|
return CountRowSchema.parse(row).count > 0;
|
|
644
644
|
},
|
|
645
645
|
async apply(transaction, rawMutation) {
|
|
646
|
-
const mutation =
|
|
646
|
+
const mutation = AgentHistoryMutationSchema2.parse(rawMutation);
|
|
647
647
|
const message = mutation.type === "admit" ? mutation.input : mutation.type === "upsert-assistant" ? mutation.message : mutation.type === "seed" ? mutation.message : mutation.summary;
|
|
648
648
|
if (mutation.type === "seed") {
|
|
649
649
|
transaction.prepare(`
|
|
@@ -724,11 +724,11 @@ var SeedRowSchema = z5.object({
|
|
|
724
724
|
});
|
|
725
725
|
function parseAdmissionRow(value) {
|
|
726
726
|
const row = AdmissionRowSchema2.parse(value);
|
|
727
|
-
return
|
|
727
|
+
return AgentAdmissionReceiptSchema2.parse({
|
|
728
728
|
schemaVersion: 1,
|
|
729
729
|
conversationId: row.conversation_id,
|
|
730
730
|
idempotencyKey: row.idempotency_key,
|
|
731
|
-
input:
|
|
731
|
+
input: AgentMessageSchema2.parse(parseJson(row.input_payload)),
|
|
732
732
|
runId: row.run_id,
|
|
733
733
|
assistantMessageId: row.assistant_message_id
|
|
734
734
|
});
|
|
@@ -739,7 +739,7 @@ var sqliteHeads = {
|
|
|
739
739
|
if (missing(value))
|
|
740
740
|
return;
|
|
741
741
|
const row = HeadRowSchema.parse(value);
|
|
742
|
-
return
|
|
742
|
+
return AgentRuntimeHeadSchema2.parse({
|
|
743
743
|
schemaVersion: 1,
|
|
744
744
|
conversationId,
|
|
745
745
|
version: row.version
|
|
@@ -792,7 +792,7 @@ var sqliteRuns = {
|
|
|
792
792
|
`).all(conversationId).map(parseRunRow);
|
|
793
793
|
},
|
|
794
794
|
async save(transaction, rawRecord) {
|
|
795
|
-
const record =
|
|
795
|
+
const record = AgentStoredRunSchema2.parse(rawRecord);
|
|
796
796
|
transaction.prepare(`
|
|
797
797
|
INSERT INTO stitchkit_agent_runtime_runs (
|
|
798
798
|
conversation_id, run_id, assistant_message_id, state, created_at, payload,
|
|
@@ -825,7 +825,7 @@ var sqliteAdmissions = {
|
|
|
825
825
|
return missing(value) ? undefined : parseAdmissionRow(value);
|
|
826
826
|
},
|
|
827
827
|
async create(transaction, rawReceipt) {
|
|
828
|
-
const receipt =
|
|
828
|
+
const receipt = AgentAdmissionReceiptSchema2.parse(rawReceipt);
|
|
829
829
|
transaction.prepare(`
|
|
830
830
|
INSERT INTO stitchkit_agent_runtime_admissions (
|
|
831
831
|
conversation_id, idempotency_key, input_message_id, run_id,
|
|
@@ -844,7 +844,7 @@ var sqliteSeeds = {
|
|
|
844
844
|
if (missing(value))
|
|
845
845
|
return;
|
|
846
846
|
const row = SeedRowSchema.parse(value);
|
|
847
|
-
return
|
|
847
|
+
return AgentSeedReceiptSchema2.parse({
|
|
848
848
|
schemaVersion: 1,
|
|
849
849
|
conversationId: row.conversation_id,
|
|
850
850
|
seedKey: row.seed_key,
|
|
@@ -852,7 +852,7 @@ var sqliteSeeds = {
|
|
|
852
852
|
});
|
|
853
853
|
},
|
|
854
854
|
async create(transaction, rawReceipt) {
|
|
855
|
-
const receipt =
|
|
855
|
+
const receipt = AgentSeedReceiptSchema2.parse(rawReceipt);
|
|
856
856
|
transaction.prepare(`
|
|
857
857
|
INSERT INTO stitchkit_agent_runtime_seeds (
|
|
858
858
|
conversation_id, seed_key, message_ids, created_at
|
|
@@ -907,7 +907,7 @@ function runSqliteTransaction(state, access, work) {
|
|
|
907
907
|
function runSqliteStoreScope(state, driver, work) {
|
|
908
908
|
return runSqliteTransaction(state, "write", (transaction) => state.insideScope.run(true, () => work({
|
|
909
909
|
database: transaction,
|
|
910
|
-
appendEvent: (input) => appendEventIn(driver, transaction,
|
|
910
|
+
appendEvent: (input) => appendEventIn(driver, transaction, AppendAgentStoreEventSchema2.parse(input))
|
|
911
911
|
})));
|
|
912
912
|
}
|
|
913
913
|
async function closeSqliteStore(state) {
|
|
@@ -977,14 +977,14 @@ function scanSqliteRecoverable(state, input) {
|
|
|
977
977
|
const hasMore = rows.length > input.limit;
|
|
978
978
|
const pageRows = rows.slice(0, input.limit);
|
|
979
979
|
const items = pageRows.map((row) => {
|
|
980
|
-
const run =
|
|
981
|
-
return
|
|
980
|
+
const run = AgentRunSchema2.parse(parseJson(row.payload));
|
|
981
|
+
return AgentRecoverableDescriptorSchema2.parse({
|
|
982
982
|
conversationId: row.conversation_id,
|
|
983
983
|
run
|
|
984
984
|
});
|
|
985
985
|
});
|
|
986
986
|
const last = pageRows.at(-1);
|
|
987
|
-
return
|
|
987
|
+
return AgentRecoverablePageSchema2.parse({
|
|
988
988
|
items,
|
|
989
989
|
...hasMore && last ? { nextCursor: recoveryCursor(last.conversation_id, last.run_id) } : {}
|
|
990
990
|
});
|
|
@@ -1023,7 +1023,7 @@ function listSqliteConversations(state, input) {
|
|
|
1023
1023
|
if (missing(latestRaw)) {
|
|
1024
1024
|
throw new Error("Agent conversation head has no active history");
|
|
1025
1025
|
}
|
|
1026
|
-
const latest =
|
|
1026
|
+
const latest = AgentMessageSchema2.parse(parseJson(MessageRowSchema.parse(latestRaw).payload));
|
|
1027
1027
|
const active = CountRowSchema.parse(database.prepare(`
|
|
1028
1028
|
SELECT count(*) AS count FROM stitchkit_agent_runtime_runs
|
|
1029
1029
|
WHERE conversation_id = ?
|
|
@@ -1038,7 +1038,7 @@ function listSqliteConversations(state, input) {
|
|
|
1038
1038
|
};
|
|
1039
1039
|
});
|
|
1040
1040
|
const last = pageRows.at(-1);
|
|
1041
|
-
return
|
|
1041
|
+
return AgentConversationPageSchema2.parse({
|
|
1042
1042
|
items,
|
|
1043
1043
|
...hasMore && last ? { nextCursor: conversationCursor(last.conversation_id) } : {}
|
|
1044
1044
|
});
|
|
@@ -1067,10 +1067,10 @@ function pageSqliteConversationMessages(state, input) {
|
|
|
1067
1067
|
const ordered = before ? [...pageRows].reverse() : pageRows;
|
|
1068
1068
|
const boundary = pageRows.at(-1);
|
|
1069
1069
|
const items = ordered.map((row) => ({
|
|
1070
|
-
message:
|
|
1070
|
+
message: AgentMessageSchema2.parse(parseJson(row.payload)),
|
|
1071
1071
|
active: row.active === 1
|
|
1072
1072
|
}));
|
|
1073
|
-
return
|
|
1073
|
+
return AgentConversationMessagePageSchema2.parse({
|
|
1074
1074
|
items: items.map((entry) => entry.message),
|
|
1075
1075
|
compacted: items.filter((entry) => !entry.active).map((entry) => entry.message.id),
|
|
1076
1076
|
...hasMore && boundary ? { nextCursor: messageCursor(boundary.position, boundary.row_id) } : {}
|
|
@@ -1079,11 +1079,11 @@ function pageSqliteConversationMessages(state, input) {
|
|
|
1079
1079
|
}
|
|
1080
1080
|
|
|
1081
1081
|
// src/agent-runtime/sqlite.ts
|
|
1082
|
-
function
|
|
1082
|
+
function createSqliteAgentRuntimeStore2(config) {
|
|
1083
1083
|
const database = config.database;
|
|
1084
1084
|
if (config.initialize !== false) {
|
|
1085
1085
|
try {
|
|
1086
|
-
|
|
1086
|
+
initializeAgentRuntimeSqlite2(database);
|
|
1087
1087
|
} catch (error) {
|
|
1088
1088
|
database.close();
|
|
1089
1089
|
throw error;
|
|
@@ -1103,7 +1103,7 @@ function createSqliteAgentRuntimeStore(config) {
|
|
|
1103
1103
|
scanRecoverable: (input) => scanSqliteRecoverable(state, input)
|
|
1104
1104
|
};
|
|
1105
1105
|
return {
|
|
1106
|
-
store:
|
|
1106
|
+
store: createAgentRuntimeStore2(driver),
|
|
1107
1107
|
database,
|
|
1108
1108
|
transaction: (work) => runSqliteStoreScope(state, driver, work),
|
|
1109
1109
|
conversations: {
|
|
@@ -1114,4 +1114,4 @@ function createSqliteAgentRuntimeStore(config) {
|
|
|
1114
1114
|
};
|
|
1115
1115
|
}
|
|
1116
1116
|
|
|
1117
|
-
export {
|
|
1117
|
+
export { initializeAgentRuntimeSqlite2, createSqliteAgentRuntimeStore2 };
|
|
@@ -57,15 +57,15 @@ function collectIssues(issues, prefix, branch, depth, into) {
|
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
function
|
|
60
|
+
function zodIssues2(error) {
|
|
61
61
|
const issues = [];
|
|
62
62
|
collectIssues(error.issues, [], undefined, 0, issues);
|
|
63
63
|
return issues;
|
|
64
64
|
}
|
|
65
65
|
var MAX_FORMATTED_ISSUES = 5;
|
|
66
|
-
function
|
|
66
|
+
function formatZodError2(error) {
|
|
67
67
|
const seen = new Set;
|
|
68
|
-
const all =
|
|
68
|
+
const all = zodIssues2(error).filter((issue) => {
|
|
69
69
|
if (seen.has(issue.path))
|
|
70
70
|
return false;
|
|
71
71
|
seen.add(issue.path);
|
|
@@ -82,4 +82,4 @@ function formatZodError(error) {
|
|
|
82
82
|
`) + suffix;
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
export {
|
|
85
|
+
export { zodIssues2, formatZodError2 };
|