@vibes.diy/api-svc 14.3.198 → 14.3.200

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/cf-serve.d.ts CHANGED
@@ -8,6 +8,7 @@ import { CfCacheIf, type VibesApiSQLCtx } from "./types.js";
8
8
  import { type AccessDescriptor, type EvtViewerGrantsChanged, CFEnv, type EvtRequestGrant, type EvtSocialEdge } from "@vibes.diy/api-types";
9
9
  import { VibesSqlite } from "@vibes.diy/api-sql";
10
10
  import { type QuickJSAccessFnParams } from "./public/access-fn-quickjs.js";
11
+ import { type InstanceTelemetry } from "./intern/do-telemetry.js";
11
12
  import type { QuickJSWASMModule } from "@cf-wasm/quickjs";
12
13
  export interface CFInjectMutable {
13
14
  sthis?: SuperThis;
@@ -22,6 +23,7 @@ export interface CFInjectMutable {
22
23
  instanceId?: string;
23
24
  constructedAt?: number;
24
25
  objectId?: string;
26
+ telemetry?: InstanceTelemetry;
25
27
  };
26
28
  drizzle: VibesSqlite;
27
29
  wsResponse?: Response;
package/cf-serve.js CHANGED
@@ -12,6 +12,7 @@ import { R2ToS3Api } from "./peers/r2-to-s3api.js";
12
12
  import { SESSIONS_CPU_NOTE, dispatchRecord, forgetConnection, formatSessionsAccept, formatSessionsDispatch, messageTypeOf, noteConnectionAccepted, recordDispatch, recordSend, sessionsEmitEnabled, } from "./sessions-dispatch-timing.js";
13
13
  import { startClock } from "./public/cold-pull-timing.js";
14
14
  import { resolveClientAttribution } from "./intern/client-attribution.js";
15
+ import { doTelemetry, formatWsCloseDetail, formatWsErrorDetail, isAbnormalWsClose, } from "./intern/do-telemetry.js";
15
16
  function doLifecycleSuffix(ws) {
16
17
  if (ws.instanceId === undefined) {
17
18
  return "";
@@ -385,6 +386,8 @@ export async function cfServe(request, ctx, eventoFactory) {
385
386
  const wsSendProvider = new WSSendProvider(server);
386
387
  const openBefore = ws.connections.size;
387
388
  ws.connections.add(wsSendProvider);
389
+ if (ws.telemetry !== undefined)
390
+ doTelemetry.attachConnection(wsSendProvider.connId, ws.telemetry);
388
391
  if (shouldLog) {
389
392
  console.info("New WebSocket connection accepted", ws.connections.size, doLifecycleSuffix(ws));
390
393
  }
@@ -415,6 +418,7 @@ export async function cfServe(request, ctx, eventoFactory) {
415
418
  const rawData = event.data;
416
419
  const frameBytes = typeof rawData?.byteLength === "number" ? rawData.byteLength : (rawData?.length ?? 0);
417
420
  const dispatch = recordDispatch(wsSendProvider.connId, dispatchType, frameBytes);
421
+ doTelemetry.frameIn(wsSendProvider.connId, frameBytes);
418
422
  if (sessionsEmit && dispatch.due) {
419
423
  console.info(formatSessionsDispatch(dispatchRecord({ connId: wsSendProvider.connId, vibeKey, reason: "every", subs: subsOf(wsSendProvider) })));
420
424
  }
@@ -443,9 +447,10 @@ export async function cfServe(request, ctx, eventoFactory) {
443
447
  });
444
448
  });
445
449
  server.addEventListener("close", (event) => {
446
- if (shouldLog) {
447
- console.info("WebSocket connection closed", ws.connections.size - 1, doLifecycleSuffix(ws));
450
+ if (shouldLog || isAbnormalWsClose(event)) {
451
+ console.info("WebSocket connection closed", ws.connections.size - 1, formatWsCloseDetail(event), doLifecycleSuffix(ws));
448
452
  }
453
+ doTelemetry.detachConnection(wsSendProvider.connId);
449
454
  wsEvento
450
455
  .trigger({ ctx: appCtx, request: { type: "CloseEvent", event }, send: wsSendProvider })
451
456
  .catch((err) => console.error("[ws-close] unhandled trigger rejection:", err));
@@ -460,7 +465,8 @@ export async function cfServe(request, ctx, eventoFactory) {
460
465
  forgetEphemeralConn(wsSendProvider.connId);
461
466
  });
462
467
  server.addEventListener("error", (event) => {
463
- console.error("WebSocket error", event);
468
+ console.error("WebSocket error", formatWsErrorDetail(event), doLifecycleSuffix(ws));
469
+ doTelemetry.detachConnection(wsSendProvider.connId);
464
470
  wsEvento
465
471
  .trigger({ ctx: appCtx, request: { type: "ErrorEvent", event: event }, send: wsSendProvider })
466
472
  .catch((err) => console.error("[ws-error] unhandled trigger rejection:", err));
package/cf-serve.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cf-serve.js","sourceRoot":"","sources":["../jsr/cf-serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cf-serve.js","sourceRoot":"","sources":["../jsr/cf-serve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ export declare const DO_HEARTBEAT_MIN_INTERVAL_MS = 30000;
2
+ export declare const DO_TELEMETRY_MAX_OBJECTS = 256;
3
+ export interface IncarnationSnapshot {
4
+ readonly instanceId: string;
5
+ readonly constructedAt: number;
6
+ readonly lastBeatAt?: number;
7
+ readonly beats: number;
8
+ readonly conns: number;
9
+ readonly ownedTurns: number;
10
+ readonly framesIn: number;
11
+ readonly framesOut: number;
12
+ readonly maxInBytes: number;
13
+ readonly maxOutBytes: number;
14
+ }
15
+ export interface BufferStats {
16
+ readonly chats: number;
17
+ readonly prompts: number;
18
+ readonly events: number;
19
+ readonly approxBytes: number;
20
+ }
21
+ export interface DoTelemetryOptions {
22
+ readonly isolateId?: string;
23
+ readonly now?: () => number;
24
+ readonly log?: (line: string) => void;
25
+ readonly bufferStats?: () => BufferStats;
26
+ readonly ownedTurns?: (instanceId: string) => number;
27
+ }
28
+ export declare function shortObjectId(objectId: string | undefined): string;
29
+ export declare class InstanceTelemetry {
30
+ private readonly registry;
31
+ readonly instanceId: string;
32
+ readonly objectId: string | undefined;
33
+ readonly constructedAt: number;
34
+ private readonly connections;
35
+ private heartbeatEnabled;
36
+ private lastCheckAt;
37
+ private lastBeatAt;
38
+ private beats;
39
+ private framesIn;
40
+ private framesOut;
41
+ private maxInBytes;
42
+ private maxOutBytes;
43
+ constructor(registry: DoTelemetryRegistry, instanceId: string, objectId: string | undefined, constructedAt: number, connections: () => number);
44
+ enableHeartbeat(): void;
45
+ noteFrameIn(bytes: number): void;
46
+ noteFrameOut(bytes: number): void;
47
+ tick(): void;
48
+ }
49
+ export declare class DoTelemetryRegistry {
50
+ readonly now: () => number;
51
+ readonly log: (line: string) => void;
52
+ readonly bufferStats: () => BufferStats;
53
+ readonly ownedTurns: (instanceId: string) => number;
54
+ private identity;
55
+ private readonly fixedIsolateId;
56
+ private shellsConstructed;
57
+ private readonly incarnations;
58
+ private readonly instances;
59
+ private readonly conns;
60
+ constructor(opts?: DoTelemetryOptions);
61
+ private ensureIdentity;
62
+ isolateId(): string;
63
+ construct(args: {
64
+ readonly instanceId: string;
65
+ readonly objectId: string | undefined;
66
+ readonly connections: () => number;
67
+ }): InstanceTelemetry;
68
+ recordBeat(tracker: InstanceTelemetry, snapshot: IncarnationSnapshot): void;
69
+ forInstance(instanceId: string | undefined): InstanceTelemetry | undefined;
70
+ attachConnection(connId: string, tracker: InstanceTelemetry): void;
71
+ detachConnection(connId: string): void;
72
+ frameIn(connId: string, bytes: number): void;
73
+ frameOut(connId: string, bytes: number): void;
74
+ snapshotOf(objectId: string): IncarnationSnapshot | undefined;
75
+ trackedObjects(): number;
76
+ }
77
+ export declare const doTelemetry: DoTelemetryRegistry;
78
+ export declare function noteDoFrameOut(connId: string, bytes: number): void;
79
+ export declare function formatWsCloseDetail(event: {
80
+ readonly code?: unknown;
81
+ readonly reason?: unknown;
82
+ readonly wasClean?: unknown;
83
+ }): string;
84
+ export declare function isAbnormalWsClose(event: {
85
+ readonly code?: unknown;
86
+ readonly wasClean?: unknown;
87
+ }): boolean;
88
+ export declare function formatWsErrorDetail(event: unknown): string;
@@ -0,0 +1,214 @@
1
+ import { formatWsEvent } from "@vibes.diy/api-types";
2
+ import { inFlightBufferStats, ownedTurnCount } from "./in-flight-turns.js";
3
+ export const DO_HEARTBEAT_MIN_INTERVAL_MS = 30_000;
4
+ export const DO_TELEMETRY_MAX_OBJECTS = 256;
5
+ const MAX_TRACKED_INSTANCES = 256;
6
+ const MAX_TRACKED_CONNECTIONS = 1024;
7
+ export function shortObjectId(objectId) {
8
+ return objectId === undefined || objectId === "" ? "none" : objectId.slice(0, 12);
9
+ }
10
+ function setBounded(map, key, value, max) {
11
+ map.delete(key);
12
+ if (map.size >= max) {
13
+ const oldest = map.keys().next();
14
+ if (oldest.done === false)
15
+ map.delete(oldest.value);
16
+ }
17
+ map.set(key, value);
18
+ }
19
+ export class InstanceTelemetry {
20
+ registry;
21
+ instanceId;
22
+ objectId;
23
+ constructedAt;
24
+ connections;
25
+ heartbeatEnabled = false;
26
+ lastCheckAt;
27
+ lastBeatAt;
28
+ beats = 0;
29
+ framesIn = 0;
30
+ framesOut = 0;
31
+ maxInBytes = 0;
32
+ maxOutBytes = 0;
33
+ constructor(registry, instanceId, objectId, constructedAt, connections) {
34
+ this.registry = registry;
35
+ this.instanceId = instanceId;
36
+ this.objectId = objectId;
37
+ this.constructedAt = constructedAt;
38
+ this.connections = connections;
39
+ }
40
+ enableHeartbeat() {
41
+ this.heartbeatEnabled = true;
42
+ }
43
+ noteFrameIn(bytes) {
44
+ this.framesIn += 1;
45
+ if (bytes > this.maxInBytes)
46
+ this.maxInBytes = bytes;
47
+ this.tick();
48
+ }
49
+ noteFrameOut(bytes) {
50
+ this.framesOut += 1;
51
+ if (bytes > this.maxOutBytes)
52
+ this.maxOutBytes = bytes;
53
+ this.tick();
54
+ }
55
+ tick() {
56
+ if (!this.heartbeatEnabled)
57
+ return;
58
+ const now = this.registry.now();
59
+ if (this.lastCheckAt !== undefined && now - this.lastCheckAt < DO_HEARTBEAT_MIN_INTERVAL_MS)
60
+ return;
61
+ this.lastCheckAt = now;
62
+ const conns = this.connections();
63
+ const ownedTurns = this.registry.ownedTurns(this.instanceId);
64
+ if (conns === 0 && ownedTurns === 0)
65
+ return;
66
+ const stats = this.registry.bufferStats();
67
+ const since = this.lastBeatAt === undefined ? "none" : String(now - this.lastBeatAt);
68
+ this.registry.log(`[do-heartbeat] instanceId=${this.instanceId} isolateId=${this.registry.isolateId()} object=${shortObjectId(this.objectId)}` +
69
+ ` ageMs=${now - this.constructedAt} conns=${conns} ownedTurns=${ownedTurns}` +
70
+ ` isoChats=${stats.chats} isoPrompts=${stats.prompts} isoEvents=${stats.events} isoApproxBytes=${stats.approxBytes}` +
71
+ ` framesIn=${this.framesIn} framesOut=${this.framesOut} maxInBytes=${this.maxInBytes} maxOutBytes=${this.maxOutBytes}` +
72
+ ` sinceLastBeatMs=${since}`);
73
+ this.beats += 1;
74
+ this.lastBeatAt = now;
75
+ this.registry.recordBeat(this, {
76
+ instanceId: this.instanceId,
77
+ constructedAt: this.constructedAt,
78
+ lastBeatAt: now,
79
+ beats: this.beats,
80
+ conns,
81
+ ownedTurns,
82
+ framesIn: this.framesIn,
83
+ framesOut: this.framesOut,
84
+ maxInBytes: this.maxInBytes,
85
+ maxOutBytes: this.maxOutBytes,
86
+ });
87
+ this.framesIn = 0;
88
+ this.framesOut = 0;
89
+ this.maxInBytes = 0;
90
+ this.maxOutBytes = 0;
91
+ }
92
+ }
93
+ export class DoTelemetryRegistry {
94
+ now;
95
+ log;
96
+ bufferStats;
97
+ ownedTurns;
98
+ identity;
99
+ fixedIsolateId;
100
+ shellsConstructed = 0;
101
+ incarnations = new Map();
102
+ instances = new Map();
103
+ conns = new Map();
104
+ constructor(opts = {}) {
105
+ this.fixedIsolateId = opts.isolateId;
106
+ this.now = opts.now ?? (() => Date.now());
107
+ this.log = opts.log ?? ((line) => console.info(line));
108
+ this.bufferStats = opts.bufferStats ?? inFlightBufferStats;
109
+ this.ownedTurns = opts.ownedTurns ?? ownedTurnCount;
110
+ }
111
+ ensureIdentity() {
112
+ if (this.identity === undefined) {
113
+ this.identity = {
114
+ isolateId: this.fixedIsolateId ?? crypto.randomUUID().replace(/-/g, "").slice(0, 8),
115
+ startedAt: this.now(),
116
+ };
117
+ }
118
+ return this.identity;
119
+ }
120
+ isolateId() {
121
+ return this.ensureIdentity().isolateId;
122
+ }
123
+ construct(args) {
124
+ const { isolateId, startedAt } = this.ensureIdentity();
125
+ const now = this.now();
126
+ this.shellsConstructed += 1;
127
+ const prev = args.objectId === undefined ? undefined : this.incarnations.get(args.objectId);
128
+ this.log(`[do-lifecycle] construct class=Sessions instanceId=${args.instanceId} isolateId=${isolateId}` +
129
+ ` isolateAgeMs=${now - startedAt} shellsConstructedInIsolate=${this.shellsConstructed}` +
130
+ ` object=${shortObjectId(args.objectId)} firstSeenInIsolate=${prev === undefined}`);
131
+ if (prev !== undefined) {
132
+ this.log(`[do-lifecycle] reincarnation class=Sessions instanceId=${args.instanceId} isolateId=${isolateId}` +
133
+ ` object=${shortObjectId(args.objectId)} prevInstanceId=${prev.instanceId} prevAgeMs=${now - prev.constructedAt}` +
134
+ ` sinceLastBeatMs=${prev.lastBeatAt === undefined ? "none" : now - prev.lastBeatAt} prevBeats=${prev.beats}` +
135
+ ` prevConns=${prev.conns} prevOwnedTurns=${prev.ownedTurns} prevFramesIn=${prev.framesIn} prevFramesOut=${prev.framesOut}` +
136
+ ` prevMaxInBytes=${prev.maxInBytes} prevMaxOutBytes=${prev.maxOutBytes}` +
137
+ ` prevTurnsStillBuffered=${this.ownedTurns(prev.instanceId)}`);
138
+ }
139
+ const tracker = new InstanceTelemetry(this, args.instanceId, args.objectId, now, args.connections);
140
+ setBounded(this.instances, args.instanceId, tracker, MAX_TRACKED_INSTANCES);
141
+ if (args.objectId !== undefined) {
142
+ setBounded(this.incarnations, args.objectId, {
143
+ instanceId: args.instanceId,
144
+ constructedAt: now,
145
+ beats: 0,
146
+ conns: 0,
147
+ ownedTurns: 0,
148
+ framesIn: 0,
149
+ framesOut: 0,
150
+ maxInBytes: 0,
151
+ maxOutBytes: 0,
152
+ }, DO_TELEMETRY_MAX_OBJECTS);
153
+ }
154
+ return tracker;
155
+ }
156
+ recordBeat(tracker, snapshot) {
157
+ if (tracker.objectId === undefined)
158
+ return;
159
+ const current = this.incarnations.get(tracker.objectId);
160
+ if (current !== undefined && current.instanceId !== tracker.instanceId)
161
+ return;
162
+ setBounded(this.incarnations, tracker.objectId, snapshot, DO_TELEMETRY_MAX_OBJECTS);
163
+ }
164
+ forInstance(instanceId) {
165
+ return instanceId === undefined ? undefined : this.instances.get(instanceId);
166
+ }
167
+ attachConnection(connId, tracker) {
168
+ setBounded(this.conns, connId, tracker, MAX_TRACKED_CONNECTIONS);
169
+ }
170
+ detachConnection(connId) {
171
+ this.conns.delete(connId);
172
+ }
173
+ frameIn(connId, bytes) {
174
+ this.conns.get(connId)?.noteFrameIn(bytes);
175
+ }
176
+ frameOut(connId, bytes) {
177
+ this.conns.get(connId)?.noteFrameOut(bytes);
178
+ }
179
+ snapshotOf(objectId) {
180
+ return this.incarnations.get(objectId);
181
+ }
182
+ trackedObjects() {
183
+ return this.incarnations.size;
184
+ }
185
+ }
186
+ export const doTelemetry = new DoTelemetryRegistry();
187
+ export function noteDoFrameOut(connId, bytes) {
188
+ doTelemetry.frameOut(connId, bytes);
189
+ }
190
+ const MAX_REASON_CHARS = 120;
191
+ const MAX_ERROR_DETAIL_CHARS = 300;
192
+ export function formatWsCloseDetail(event) {
193
+ const code = typeof event.code === "number" ? String(event.code) : "none";
194
+ const raw = typeof event.reason === "string" ? event.reason : "";
195
+ const reason = raw.length > MAX_REASON_CHARS ? `${raw.slice(0, MAX_REASON_CHARS)}…` : raw;
196
+ const wasClean = typeof event.wasClean === "boolean" ? String(event.wasClean) : "unknown";
197
+ return `code=${code} reason=${JSON.stringify(reason)} wasClean=${wasClean}`;
198
+ }
199
+ export function isAbnormalWsClose(event) {
200
+ if (event.wasClean === false)
201
+ return true;
202
+ if (typeof event.code !== "number")
203
+ return false;
204
+ return !(event.code === 1000 || event.code === 1001 || event.code === 1005);
205
+ }
206
+ export function formatWsErrorDetail(event) {
207
+ const type = event !== null && typeof event === "object" && typeof event.type === "string"
208
+ ? event.type
209
+ : typeof event;
210
+ const raw = formatWsEvent(event);
211
+ const detail = raw.length > MAX_ERROR_DETAIL_CHARS ? `${raw.slice(0, MAX_ERROR_DETAIL_CHARS)}…` : raw;
212
+ return `type=${type} detail=${JSON.stringify(detail)}`;
213
+ }
214
+ //# sourceMappingURL=do-telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"do-telemetry.js","sourceRoot":"","sources":["../../jsr/intern/do-telemetry.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,11 @@ export declare const SHELL_EARLY_DEADLINE_MS = 12000;
6
6
  export declare const SHELL_EARLY_ADOPT_MS = 8000;
7
7
  export declare const SHELL_MAX_OUTPUT_TOKENS = 8000;
8
8
  export declare const SHELL_MIN_CHARS = 200;
9
- export declare const SHELL_LINES = 40;
9
+ export declare const SHELL_LINES = 30;
10
10
  export declare const SHELL_SYSTEM_PROMPT: string;
11
+ export declare const SHELL_FOCUS_RANKS = 4;
12
+ export declare function shellFocusRank(sample: number): number;
13
+ export declare function shellFocusLine(sample: number): string;
11
14
  export declare const SHELL_VOXEL_PROMPT: string;
12
15
  export declare function isBlockWorldAsk(personWords: string): boolean;
13
16
  export type FirstLookTheme = LookSlug;
@@ -25,7 +28,9 @@ export declare function shellCatalog(look: FirstLookTheme): ShellCatalog;
25
28
  export declare function shellTail(catalog: ShellCatalog, o?: {
26
29
  readonly layout?: boolean;
27
30
  }): string;
28
- export declare function shellPrompt(catalog: ShellCatalog, personWords?: string): string;
31
+ export declare function shellPrompt(catalog: ShellCatalog, personWords?: string, o?: {
32
+ readonly sample?: number;
33
+ }): string;
29
34
  export declare function classifyShellReply(text: string): {
30
35
  readonly kind: "usable";
31
36
  readonly code: string;
@@ -49,6 +54,7 @@ export interface ShellEarlyResult {
49
54
  readonly outcome: ShellEarlyOutcome;
50
55
  readonly lines: number;
51
56
  readonly chars: number;
57
+ readonly chrome: boolean;
52
58
  readonly code?: string;
53
59
  readonly look: FirstLookTheme;
54
60
  readonly picks: ShellPicks;
@@ -56,11 +62,13 @@ export interface ShellEarlyResult {
56
62
  readonly servedModel?: string;
57
63
  readonly usage?: InstantRoundUsage;
58
64
  }
65
+ export declare function shellHasChrome(code: string): boolean;
59
66
  export declare function shellModel(deadlineMs: number): InstantCallModel;
60
67
  export declare function runShellEarly(args: {
61
68
  readonly call: InstantModelCall;
62
69
  readonly personWords: string;
63
70
  readonly look: FirstLookTheme;
71
+ readonly sample?: number;
64
72
  readonly signal?: AbortSignal;
65
73
  readonly deadlineMs?: number;
66
74
  readonly now?: () => number;
@@ -90,7 +98,7 @@ export declare function billFirstLookAlt(o: {
90
98
  }): Promise<void>;
91
99
  export declare const FIRST_LOOK_OPEN = "<first-look>";
92
100
  export declare const FIRST_LOOK_CLOSE = "</first-look>";
93
- export declare const FIRST_LOOK_SOFT_LINE = "The person is already looking at this first look of their app. Keep its colors and the arrangement of its sections, and build every feature, field and rule the plan above describes, in full.";
101
+ export declare const FIRST_LOOK_SOFT_LINE = "The person is already looking at this close-up of one part of their app. Keep its colors and the feel of that part, and build every feature, field and rule the plan above describes, in full.";
94
102
  export declare function withFirstLook(enrichedPrompt: string, code: string, line?: string): string;
95
103
  export declare function firstLookCode(messages: readonly LLMMessage[]): string | undefined;
96
104
  export declare function shellAppBlock(code: string): string;