@vibes.diy/api-svc 2.2.5 → 2.2.7

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.js CHANGED
@@ -4,6 +4,7 @@ import { vibesMsgEvento } from "./vibes-msg-evento.js";
4
4
  import { Lazy, LoggerImpl, Result, URI } from "@adviser/cement";
5
5
  import { ensureSuperThis, hashObjectSync } from "@fireproof/core-runtime";
6
6
  import { cfDrizzle, createVibesApiTables, toDBFlavour } from "@vibes.diy/api-sql";
7
+ import { R2ToS3Api } from "./peers/r2-to-s3api.js";
7
8
  function netHashFn({ colo, country, continent, city, postalCode, latitude, longitude, timezone, region, regionCode, metroCode, }) {
8
9
  return hashObjectSync({
9
10
  colo,
@@ -56,6 +57,7 @@ export async function cfServeAppCtx(request, env, ctx) {
56
57
  logger: new LoggerImpl(),
57
58
  });
58
59
  const drizzleDB = cfDrizzle(env, env.DB, ctx.drizzle).db;
60
+ const s3Api = env.FS_IDS_BUCKET ? new R2ToS3Api(env.FS_IDS_BUCKET, sthis) : undefined;
59
61
  return createAppContext({
60
62
  sthis,
61
63
  db: drizzleDB,
@@ -67,6 +69,7 @@ export async function cfServeAppCtx(request, env, ctx) {
67
69
  db: drizzleDB,
68
70
  assets: createVibesApiTables(toDBFlavour(env.DB_FLAVOUR)).assets,
69
71
  },
72
+ ...(s3Api ? { s3: s3Api } : {}),
70
73
  },
71
74
  postQueue: async (msg) => {
72
75
  await env.VIBES_SERVICE.send(JSON.stringify(msg));
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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"}
@@ -3,7 +3,7 @@ import { ResolveFunction } from "./npm-package-version.js";
3
3
  import { LLMRequest } from "@vibes.diy/call-ai-v2";
4
4
  import { WSSendProvider } from "./svc-ws-send-provider.js";
5
5
  import { CfCacheIf, VibesApiSQLCtx } from "./types.js";
6
- import { LLMHeaders, MsgBase } from "@vibes.diy/api-types";
6
+ import { LLMHeaders, MsgBase, S3Api } from "@vibes.diy/api-types";
7
7
  import { CreateSQLPeerParams, VibesSqlite } from "@vibes.diy/api-sql";
8
8
  import { SuperThis } from "@fireproof/core-types-base";
9
9
  export type BindPromise<T> = (promise: Promise<T>) => Promise<T>;
@@ -16,6 +16,8 @@ export interface CreateHandlerParams<T extends VibesSqlite> {
16
16
  connections: Set<WSSendProvider>;
17
17
  storageSystems: {
18
18
  sql: CreateSQLPeerParams;
19
+ s3?: S3Api;
20
+ peerTimeout?: number;
19
21
  };
20
22
  postQueue: (msg: MsgBase) => Promise<void>;
21
23
  netHash(): string;
package/create-handler.js CHANGED
@@ -8,6 +8,7 @@ import { defaultLLMRequest } from "./default-llm-request.js";
8
8
  import { LLMEnforced, LLMHeaders } from "@vibes.diy/api-types";
9
9
  import { createSQLPeer, createVibesApiTables } from "@vibes.diy/api-sql";
10
10
  import { ensureStorage } from "@vibes.diy/api-pkg";
11
+ import { createS3Peer } from "./peers/s3.js";
11
12
  export async function createAppContext(params) {
12
13
  const { sthis } = params;
13
14
  sthis.env.sets(params.env);
@@ -157,7 +158,9 @@ export async function createAppContext(params) {
157
158
  clockTolerance: 60,
158
159
  deviceIdCA: rDeviceIdCA.Ok(),
159
160
  }),
160
- storage: ensureStorage(createSQLPeer(params.storageSystems.sql)),
161
+ storage: params.storageSystems.s3
162
+ ? ensureStorage({ peerTimeout: params.storageSystems.peerTimeout }, createSQLPeer(params.storageSystems.sql), createS3Peer({ s3: params.storageSystems.s3 }))
163
+ : ensureStorage({ peerTimeout: params.storageSystems.peerTimeout }, createSQLPeer(params.storageSystems.sql)),
161
164
  llmRequest: defaultLLMRequest(params.llmRequest, {
162
165
  url: envVals.LLM_BACKEND_URL,
163
166
  apiKey: envVals.LLM_BACKEND_API_KEY,
@@ -1 +1 @@
1
- {"version":3,"file":"create-handler.js","sourceRoot":"","sources":["../jsr/create-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-handler.js","sourceRoot":"","sources":["../jsr/create-handler.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export * from "./vibes-msg-evento.js";
8
8
  export * from "./cf-serve.js";
9
9
  export * from "./svc-ws-send-provider.js";
10
10
  export * from "./peers/r2-to-s3api.js";
11
+ export * from "./peers/s3.js";
11
12
  export * from "./intern/application-settings.js";
12
13
  export * from "./public/prompt-chat-section.js";
13
14
  export * from "./noop-cache.js";
package/index.js CHANGED
@@ -8,6 +8,7 @@ export * from "./vibes-msg-evento.js";
8
8
  export * from "./cf-serve.js";
9
9
  export * from "./svc-ws-send-provider.js";
10
10
  export * from "./peers/r2-to-s3api.js";
11
+ export * from "./peers/s3.js";
11
12
  export * from "./intern/application-settings.js";
12
13
  export * from "./public/prompt-chat-section.js";
13
14
  export * from "./noop-cache.js";
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/api-svc",
3
- "version": "2.2.5",
3
+ "version": "2.2.7",
4
4
  "type": "module",
5
5
  "main": "./index.js",
6
6
  "scripts": {
@@ -25,17 +25,17 @@
25
25
  "@libsql/client": "~0.17.2",
26
26
  "@neondatabase/serverless": "~1.0.2",
27
27
  "@noble/hashes": "~2.0.1",
28
- "@vibes.diy/api-impl": "2.2.5",
29
- "@vibes.diy/api-pkg": "2.2.5",
30
- "@vibes.diy/api-sql": "2.2.5",
31
- "@vibes.diy/api-types": "2.2.5",
32
- "@vibes.diy/call-ai-v2": "2.2.5",
33
- "@vibes.diy/prompts": "2.2.5",
34
- "@vibes.diy/use-vibes-base": "2.2.5",
35
- "@vibes.diy/vibe-db-explorer": "2.2.5",
28
+ "@vibes.diy/api-impl": "2.2.7",
29
+ "@vibes.diy/api-pkg": "2.2.7",
30
+ "@vibes.diy/api-sql": "2.2.7",
31
+ "@vibes.diy/api-types": "2.2.7",
32
+ "@vibes.diy/call-ai-v2": "2.2.7",
33
+ "@vibes.diy/prompts": "2.2.7",
34
+ "@vibes.diy/use-vibes-base": "2.2.7",
35
+ "@vibes.diy/vibe-db-explorer": "2.2.7",
36
36
  "acorn": "~8.16.0",
37
37
  "arktype": "~2.2.0",
38
- "call-ai": "2.2.5",
38
+ "call-ai": "2.2.7",
39
39
  "cookie": "~1.1.1",
40
40
  "drizzle-orm": "~0.45.2",
41
41
  "jose": "~6.2.2",
@@ -1,16 +1,28 @@
1
1
  import { Result } from "@adviser/cement";
2
- import { R2Bucket } from "@cloudflare/workers-types";
3
- import { SuperThis } from "@fireproof/core-types-base";
4
- import { FetchResult, S3Api } from "@vibes.diy/api-types";
2
+ import type { R2GetOptions, R2MultipartUpload, R2Object, R2ObjectBody } from "@cloudflare/workers-types";
3
+ import type { SuperThis } from "@fireproof/core-types-base";
4
+ import type { FetchResult, S3Api, S3PutOptions, S3RenameOptions } from "@vibes.diy/api-types";
5
+ export interface R2BucketSubset {
6
+ get(key: string, options?: R2GetOptions): Promise<R2ObjectBody | null>;
7
+ head(key: string): Promise<R2Object | null>;
8
+ put(key: string, value: Uint8Array): Promise<R2Object>;
9
+ delete(key: string): Promise<void>;
10
+ createMultipartUpload(key: string): Promise<R2MultipartUpload>;
11
+ }
5
12
  export declare class R2ToS3Api implements S3Api {
6
- private r2;
7
- private smThis;
8
- constructor(r2: R2Bucket, smThis: {
13
+ private readonly r2;
14
+ private readonly smThis;
15
+ private readonly pendingPuts;
16
+ constructor(r2: R2BucketSubset, smThis: {
9
17
  nextId: SuperThis["nextId"];
10
18
  });
11
19
  genId(): string;
12
20
  private toKey;
13
21
  get(iurl: string): Promise<FetchResult>;
14
- put(iurl: string): Promise<WritableStream<Uint8Array>>;
15
- rename(fromUrl: string, toUrl: string): Promise<Result<void>>;
22
+ put(iurl: string, opts?: S3PutOptions): Promise<WritableStream<Uint8Array>>;
23
+ awaitPut(iurl: string): Promise<void>;
24
+ rename(fromUrl: string, toUrl: string, opts?: S3RenameOptions): Promise<Result<void>>;
25
+ private copySmallObject;
26
+ private copyLargeObjectStreaming;
27
+ private abortQuiet;
16
28
  }
@@ -1,7 +1,18 @@
1
- import { Result, URI } from "@adviser/cement";
1
+ import { exception2Result, Result, URI } from "@adviser/cement";
2
+ const PART_SIZE = 5 * 1024 * 1024;
3
+ function concatChunks(chunks, total) {
4
+ const merged = new Uint8Array(total);
5
+ let off = 0;
6
+ for (const c of chunks) {
7
+ merged.set(c, off);
8
+ off += c.length;
9
+ }
10
+ return merged;
11
+ }
2
12
  export class R2ToS3Api {
3
13
  r2;
4
14
  smThis;
15
+ pendingPuts = new Map();
5
16
  constructor(r2, smThis) {
6
17
  this.r2 = r2;
7
18
  this.smThis = smThis;
@@ -10,38 +21,316 @@ export class R2ToS3Api {
10
21
  return this.smThis.nextId(12).str;
11
22
  }
12
23
  toKey(iurl) {
13
- return URI.from(iurl).pathname.replace(/.*\//, "");
24
+ return URI.from(iurl).pathname.replace(/^\/+/, "");
14
25
  }
15
26
  async get(iurl) {
16
- try {
17
- const obj = await this.r2.get(this.toKey(iurl));
18
- if (obj === null) {
19
- return { type: "fetch.notfound", url: iurl };
27
+ const r = await exception2Result(() => this.r2.get(this.toKey(iurl)));
28
+ if (r.isErr()) {
29
+ const err = r.Err();
30
+ console.error(`R2ToS3Api.get(${iurl}) failed:`, err);
31
+ return { type: "fetch.err", url: iurl, error: err };
32
+ }
33
+ const obj = r.Ok();
34
+ if (obj === null) {
35
+ return { type: "fetch.notfound", url: iurl };
36
+ }
37
+ return { type: "fetch.ok", url: iurl, data: obj.body };
38
+ }
39
+ async put(iurl, opts) {
40
+ const key = this.toKey(iurl);
41
+ const r2 = this.r2;
42
+ const pendingPuts = this.pendingPuts;
43
+ const onProgress = opts?.onProgress;
44
+ let chunks = [];
45
+ let bufferedBytes = 0;
46
+ let multipartPromise = undefined;
47
+ let nextPartNumber = 1;
48
+ const inFlightParts = [];
49
+ let totalBytesUploaded = 0;
50
+ let resolveDone;
51
+ let rejectDone;
52
+ const donePromise = new Promise((resolve, reject) => {
53
+ resolveDone = resolve;
54
+ rejectDone = reject;
55
+ });
56
+ const settled = donePromise.then(() => {
57
+ pendingPuts.delete(key);
58
+ }, () => {
59
+ pendingPuts.delete(key);
60
+ });
61
+ pendingPuts.set(key, settled);
62
+ const ensureMultipart = () => {
63
+ if (multipartPromise === undefined) {
64
+ multipartPromise = exception2Result(() => r2.createMultipartUpload(key));
65
+ }
66
+ return multipartPromise;
67
+ };
68
+ const flushPartBackground = () => {
69
+ const merged = concatChunks(chunks, bufferedBytes);
70
+ chunks = [];
71
+ bufferedBytes = 0;
72
+ const myPartNumber = nextPartNumber++;
73
+ const partBytes = merged.byteLength;
74
+ return (async () => {
75
+ const mpResult = await ensureMultipart();
76
+ if (mpResult.isErr())
77
+ return Result.Err(mpResult.Err());
78
+ const mp = mpResult.Ok();
79
+ const r = await exception2Result(() => mp.uploadPart(myPartNumber, merged));
80
+ if (r.isOk() && onProgress) {
81
+ totalBytesUploaded += partBytes;
82
+ onProgress({ stage: "uploading-part", partNumber: myPartNumber, bytes: totalBytesUploaded });
83
+ }
84
+ return r;
85
+ })();
86
+ };
87
+ const finalize = async () => {
88
+ const partResults = await Promise.all(inFlightParts);
89
+ const firstErr = partResults.find((r) => r.isErr());
90
+ if (firstErr !== undefined) {
91
+ const mpResult = multipartPromise === undefined ? undefined : await multipartPromise;
92
+ if (mpResult !== undefined && mpResult.isOk()) {
93
+ const mp = mpResult.Ok();
94
+ const ar = await exception2Result(() => mp.abort());
95
+ if (ar.isErr())
96
+ console.error(`R2ToS3Api.put(${key}) abort after part failure also failed:`, ar.Err());
97
+ }
98
+ return Result.Err(firstErr.Err());
99
+ }
100
+ if (multipartPromise === undefined) {
101
+ const small = concatChunks(chunks, bufferedBytes);
102
+ const rPut = await exception2Result(() => r2.put(key, small).then(() => undefined));
103
+ if (rPut.isOk() && onProgress) {
104
+ onProgress({ stage: "asset-stored", bytes: small.byteLength });
105
+ }
106
+ return rPut;
107
+ }
108
+ if (chunks.length > 0) {
109
+ const finalR = await flushPartBackground();
110
+ if (finalR.isErr()) {
111
+ const mpResult = await multipartPromise;
112
+ if (mpResult.isOk()) {
113
+ const mp = mpResult.Ok();
114
+ const ar = await exception2Result(() => mp.abort());
115
+ if (ar.isErr())
116
+ console.error(`R2ToS3Api.put(${key}) abort after final-part failure also failed:`, ar.Err());
117
+ }
118
+ return Result.Err(finalR.Err());
119
+ }
120
+ partResults.push(finalR);
121
+ }
122
+ const completed = partResults.flatMap((r) => (r.isOk() ? [r.Ok()] : []));
123
+ const mpResult = await multipartPromise;
124
+ if (mpResult.isErr())
125
+ return Result.Err(mpResult.Err());
126
+ const mp = mpResult.Ok();
127
+ const completeR = await exception2Result(() => mp.complete(completed).then(() => undefined));
128
+ if (completeR.isErr()) {
129
+ const ar = await exception2Result(() => mp.abort());
130
+ if (ar.isErr())
131
+ console.error(`R2ToS3Api.put(${key}) abort after complete failure also failed:`, ar.Err());
132
+ }
133
+ else if (onProgress) {
134
+ onProgress({ stage: "asset-stored", bytes: totalBytesUploaded });
135
+ }
136
+ return completeR;
137
+ };
138
+ const finalizeInBackground = () => {
139
+ finalize().then((r) => {
140
+ if (r.isErr()) {
141
+ const err = r.Err();
142
+ console.error(`R2ToS3Api.put(${key}) finalize failed:`, err);
143
+ rejectDone(err);
144
+ }
145
+ else {
146
+ resolveDone();
147
+ }
148
+ }, (e) => {
149
+ const err = e instanceof Error ? e : new Error(String(e));
150
+ console.error(`R2ToS3Api.put(${key}) finalize threw:`, err);
151
+ rejectDone(err);
152
+ });
153
+ };
154
+ return new WritableStream({
155
+ write(chunk) {
156
+ chunks.push(chunk);
157
+ bufferedBytes += chunk.byteLength;
158
+ if (bufferedBytes > PART_SIZE) {
159
+ inFlightParts.push(flushPartBackground());
160
+ }
161
+ },
162
+ close() {
163
+ finalizeInBackground();
164
+ },
165
+ async abort(reason) {
166
+ const err = reason instanceof Error ? reason : new Error(String(reason));
167
+ if (multipartPromise !== undefined) {
168
+ const mpResult = await multipartPromise;
169
+ if (mpResult.isOk()) {
170
+ const mp = mpResult.Ok();
171
+ const ar = await exception2Result(() => mp.abort());
172
+ if (ar.isErr())
173
+ console.error(`R2ToS3Api.put(${key}) abort failed:`, ar.Err());
174
+ }
175
+ }
176
+ rejectDone(err);
177
+ },
178
+ });
179
+ }
180
+ async awaitPut(iurl) {
181
+ const pending = this.pendingPuts.get(this.toKey(iurl));
182
+ if (pending !== undefined) {
183
+ await pending;
184
+ }
185
+ }
186
+ async rename(fromUrl, toUrl, opts) {
187
+ const fromKey = this.toKey(fromUrl);
188
+ const toKey = this.toKey(toUrl);
189
+ const onProgress = opts?.onProgress;
190
+ await this.awaitPut(fromUrl);
191
+ const rHead = await exception2Result(() => this.r2.head(fromKey));
192
+ if (rHead.isErr()) {
193
+ const err = rHead.Err();
194
+ console.error(`R2ToS3Api.rename(${fromUrl}) head failed:`, err);
195
+ return Result.Err(err);
196
+ }
197
+ const srcMeta = rHead.Ok();
198
+ if (srcMeta === null) {
199
+ const err = new Error(`Object not found: ${fromUrl}`);
200
+ console.error(`R2ToS3Api.rename: ${err.message}`);
201
+ return Result.Err(err);
202
+ }
203
+ const sourceSize = srcMeta.size;
204
+ if (sourceSize <= PART_SIZE) {
205
+ const rCopy = await this.copySmallObject(fromKey, toKey);
206
+ if (rCopy.isErr())
207
+ return rCopy;
208
+ if (onProgress) {
209
+ onProgress({ stage: "asset-renamed", bytes: sourceSize });
20
210
  }
21
- return { type: "fetch.ok", url: iurl, data: obj.body };
22
211
  }
23
- catch (e) {
24
- return { type: "fetch.err", url: iurl, error: e instanceof Error ? e : new Error(String(e)) };
212
+ else {
213
+ const rCopy = await this.copyLargeObjectStreaming(fromKey, toKey, sourceSize, onProgress);
214
+ if (rCopy.isErr())
215
+ return rCopy;
25
216
  }
217
+ const rDestHead = await exception2Result(() => this.r2.head(toKey));
218
+ if (rDestHead.isErr()) {
219
+ const err = rDestHead.Err();
220
+ console.error(`R2ToS3Api.rename(${toUrl}) destination head failed:`, err);
221
+ return Result.Err(err);
222
+ }
223
+ const dest = rDestHead.Ok();
224
+ if (dest === null) {
225
+ const err = new Error(`Destination put failed: ${toUrl}`);
226
+ console.error(`R2ToS3Api.rename: ${err.message}`);
227
+ return Result.Err(err);
228
+ }
229
+ if (dest.size !== sourceSize) {
230
+ const err = new Error(`Destination size mismatch: from=${sourceSize} to=${dest.size}`);
231
+ console.error(`R2ToS3Api.rename: ${err.message}`);
232
+ return Result.Err(err);
233
+ }
234
+ const rDel = await exception2Result(() => this.r2.delete(fromKey));
235
+ if (rDel.isErr()) {
236
+ const err = rDel.Err();
237
+ console.error(`R2ToS3Api.rename(${fromUrl}) delete failed:`, err);
238
+ return Result.Err(err);
239
+ }
240
+ return Result.Ok(undefined);
26
241
  }
27
- async put(iurl) {
28
- const { readable, writable } = new TransformStream();
29
- void this.r2.put(this.toKey(iurl), readable);
30
- return writable;
242
+ async copySmallObject(fromKey, toKey) {
243
+ const rGet = await exception2Result(() => this.r2.get(fromKey));
244
+ if (rGet.isErr()) {
245
+ const err = rGet.Err();
246
+ console.error(`R2ToS3Api.rename get(${fromKey}) failed:`, err);
247
+ return Result.Err(err);
248
+ }
249
+ const src = rGet.Ok();
250
+ if (src === null) {
251
+ const err = new Error(`Object disappeared during rename: ${fromKey}`);
252
+ console.error(`R2ToS3Api.rename: ${err.message}`);
253
+ return Result.Err(err);
254
+ }
255
+ const rBytes = await exception2Result(() => src.arrayBuffer());
256
+ if (rBytes.isErr()) {
257
+ const err = rBytes.Err();
258
+ console.error(`R2ToS3Api.rename arrayBuffer(${fromKey}) failed:`, err);
259
+ return Result.Err(err);
260
+ }
261
+ const rPut = await exception2Result(() => this.r2.put(toKey, new Uint8Array(rBytes.Ok())));
262
+ if (rPut.isErr()) {
263
+ const err = rPut.Err();
264
+ console.error(`R2ToS3Api.rename put(${toKey}) failed:`, err);
265
+ return Result.Err(err);
266
+ }
267
+ return Result.Ok(undefined);
31
268
  }
32
- async rename(fromUrl, toUrl) {
33
- try {
34
- const obj = await this.r2.get(this.toKey(fromUrl));
35
- if (obj === null) {
36
- return Result.Err(`Object not found: ${fromUrl}`);
269
+ async copyLargeObjectStreaming(fromKey, toKey, sourceSize, onProgress) {
270
+ const rMp = await exception2Result(() => this.r2.createMultipartUpload(toKey));
271
+ if (rMp.isErr()) {
272
+ const err = rMp.Err();
273
+ console.error(`R2ToS3Api.rename createMultipartUpload(${toKey}) failed:`, err);
274
+ return Result.Err(err);
275
+ }
276
+ const mp = rMp.Ok();
277
+ const completedParts = [];
278
+ let partNumber = 1;
279
+ let totalCopied = 0;
280
+ for (let offset = 0; offset < sourceSize; offset += PART_SIZE) {
281
+ const length = Math.min(PART_SIZE, sourceSize - offset);
282
+ const rGet = await exception2Result(() => this.r2.get(fromKey, { range: { offset, length } }));
283
+ if (rGet.isErr()) {
284
+ const err = rGet.Err();
285
+ console.error(`R2ToS3Api.rename range-get(${fromKey}, offset=${offset}) failed:`, err);
286
+ await this.abortQuiet(mp, toKey);
287
+ return Result.Err(err);
288
+ }
289
+ const part = rGet.Ok();
290
+ if (part === null) {
291
+ const err = new Error(`Range get returned null on ${fromKey} at offset=${offset}`);
292
+ console.error(`R2ToS3Api.rename: ${err.message}`);
293
+ await this.abortQuiet(mp, toKey);
294
+ return Result.Err(err);
295
+ }
296
+ const rBytes = await exception2Result(() => part.arrayBuffer());
297
+ if (rBytes.isErr()) {
298
+ const err = rBytes.Err();
299
+ console.error(`R2ToS3Api.rename arrayBuffer(${fromKey}, offset=${offset}) failed:`, err);
300
+ await this.abortQuiet(mp, toKey);
301
+ return Result.Err(err);
302
+ }
303
+ const bytes = new Uint8Array(rBytes.Ok());
304
+ const rUpload = await exception2Result(() => mp.uploadPart(partNumber, bytes));
305
+ if (rUpload.isErr()) {
306
+ const err = rUpload.Err();
307
+ console.error(`R2ToS3Api.rename uploadPart(${toKey}, part=${partNumber}) failed:`, err);
308
+ await this.abortQuiet(mp, toKey);
309
+ return Result.Err(err);
37
310
  }
38
- await this.r2.put(this.toKey(toUrl), obj.body);
39
- await this.r2.delete(this.toKey(fromUrl));
40
- return Result.Ok(undefined);
311
+ completedParts.push(rUpload.Ok());
312
+ totalCopied += bytes.byteLength;
313
+ if (onProgress) {
314
+ onProgress({ stage: "rename-part", partNumber, bytes: totalCopied });
315
+ }
316
+ partNumber += 1;
317
+ }
318
+ const rComplete = await exception2Result(() => mp.complete(completedParts).then(() => undefined));
319
+ if (rComplete.isErr()) {
320
+ const err = rComplete.Err();
321
+ console.error(`R2ToS3Api.rename complete(${toKey}) failed:`, err);
322
+ await this.abortQuiet(mp, toKey);
323
+ return Result.Err(err);
41
324
  }
42
- catch (e) {
43
- return Result.Err(e);
325
+ if (onProgress) {
326
+ onProgress({ stage: "asset-renamed", bytes: totalCopied });
44
327
  }
328
+ return Result.Ok(undefined);
329
+ }
330
+ async abortQuiet(mp, key) {
331
+ const ar = await exception2Result(() => mp.abort());
332
+ if (ar.isErr())
333
+ console.error(`R2ToS3Api.rename abort(${key}) failed:`, ar.Err());
45
334
  }
46
335
  }
47
336
  //# sourceMappingURL=r2-to-s3api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"r2-to-s3api.js","sourceRoot":"","sources":["../../jsr/peers/r2-to-s3api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAK9C,MAAM,OAAO,SAAS;IACZ,EAAE,CAAW;IACb,MAAM,CAAkC;IAChD,YAAY,EAAY,EAAE,MAAuC;QAC/D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IACD,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;IACpC,CAAC;IACO,KAAK,CAAC,IAAY;QACxB,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;YAC/C,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAA6C,EAAE,CAAC;QAClG,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,CAAC;IACH,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,eAAe,EAA0B,CAAC;QAE7E,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAuC,CAAC,CAAC;QAC5E,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,KAAa;QACzC,IAAI,CAAC;YAEH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACnD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,OAAO,MAAM,CAAC,GAAG,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,IAAmC,CAAC,CAAC;YAC9E,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1C,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,MAAM,CAAC,GAAG,CAAC,CAAU,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"r2-to-s3api.js","sourceRoot":"","sources":["../../jsr/peers/r2-to-s3api.ts"],"names":[],"mappings":"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"}
package/peers/s3.d.ts CHANGED
@@ -1,14 +1,19 @@
1
1
  import { Option, URI, Result } from "@adviser/cement";
2
- import { Cider, PeerStreamWithCommit, PeerWithCommit } from "@vibes.diy/api-pkg";
3
- import { FetchResult, S3Api } from "@vibes.diy/api-types";
2
+ import { Cider, PeerFetch, PeerStreamWithCommit, PeerWithCommit, StoragePeer } from "@vibes.diy/api-pkg";
3
+ import type { FetchResult, S3Api, StorageProgressFn } from "@vibes.diy/api-types";
4
4
  export declare class S3Peer implements PeerWithCommit {
5
5
  readonly s3: S3Api;
6
6
  readonly cider: Cider;
7
- constructor(s3: S3Api, cider: Cider);
7
+ readonly onProgress?: StorageProgressFn;
8
+ constructor(s3: S3Api, cider: Cider, onProgress?: StorageProgressFn);
8
9
  begin(): Promise<Result<PeerStreamWithCommit>>;
9
10
  }
10
- export declare class S3PeerFetch {
11
+ export declare class S3PeerFetch implements PeerFetch {
11
12
  readonly s3: S3Api;
12
13
  constructor(s3: S3Api);
13
14
  fetch(url: URI): Promise<Option<FetchResult>>;
14
15
  }
16
+ export interface CreateS3PeerParams {
17
+ s3: S3Api;
18
+ }
19
+ export declare function createS3Peer(params: CreateS3PeerParams): StoragePeer;
package/peers/s3.js CHANGED
@@ -1,58 +1,47 @@
1
1
  import { Option, Result, exception2Result } from "@adviser/cement";
2
2
  const S3_PEER_PROTOCOL = "s3:";
3
+ const S3_PEER_HOST = "r2";
3
4
  class S3PeerStream {
4
5
  owner;
5
6
  tmpUrl;
6
7
  writer;
7
8
  constructor(owner, tmpUrl, writer) {
8
- console.log("S3PeerStream constructor called, tmpUrl:", tmpUrl);
9
9
  this.owner = owner;
10
10
  this.writer = writer;
11
11
  this.tmpUrl = tmpUrl;
12
12
  }
13
13
  write(chunk) {
14
- console.log("S3PeerStream write called, chunk size:", chunk.length);
15
14
  return this.writer.write(chunk);
16
15
  }
17
16
  async cancel() {
18
- console.log("S3PeerStream cancel called");
19
17
  return this.writer.abort();
20
18
  }
21
19
  async close() {
22
- console.log("S3PeerStream close called");
23
- return this.writer.close();
20
+ await this.writer.close();
24
21
  }
25
22
  async commit() {
26
- console.log("S3PeerStream commit called, tmpUrl:", this.tmpUrl);
27
23
  const { cid: assetID } = await this.owner.cider.getCID();
28
- console.log("S3PeerStream commit called, got assetID from cider:", assetID);
29
- const url = `${S3_PEER_PROTOCOL}://-/${assetID}`;
30
- const res = await this.owner.s3.rename(this.tmpUrl, url);
31
- console.log("S3PeerStream commit called, rename result:", assetID, res);
24
+ const url = `${S3_PEER_PROTOCOL}//${S3_PEER_HOST}/${assetID}`;
25
+ const res = await this.owner.s3.rename(this.tmpUrl, url, { onProgress: this.owner.onProgress });
32
26
  if (res.isErr()) {
33
27
  return Result.Err(res);
34
28
  }
35
- console.log("S3PeerStream commit result:", url);
36
- return Result.Ok({
37
- url,
38
- });
29
+ return Result.Ok({ url });
39
30
  }
40
31
  }
41
32
  export class S3Peer {
42
33
  s3;
43
34
  cider;
44
- constructor(s3, cider) {
45
- console.log("S3Peer constructor called");
35
+ onProgress;
36
+ constructor(s3, cider, onProgress) {
46
37
  this.s3 = s3;
47
38
  this.cider = cider;
39
+ this.onProgress = onProgress;
48
40
  }
49
41
  async begin() {
50
- console.log("S3Peer begin called, generated tmpUrl pre genId:");
51
- const tmpUrl = `s3://temp/${this.s3.genId()}.tmp`;
52
- console.log("S3Peer begin called, generated tmpUrl:", tmpUrl);
53
- const rWriter = await exception2Result(() => this.s3.put(tmpUrl).then((stream) => stream.getWriter()));
42
+ const tmpUrl = `${S3_PEER_PROTOCOL}//${S3_PEER_HOST}/temp/${this.s3.genId()}.tmp`;
43
+ const rWriter = await exception2Result(() => this.s3.put(tmpUrl, { onProgress: this.onProgress }).then((stream) => stream.getWriter()));
54
44
  if (rWriter.isErr()) {
55
- console.log("S3Peer begin error getting writer for tmpUrl:", tmpUrl, "error:", rWriter.Err());
56
45
  return Result.Err(rWriter.Err());
57
46
  }
58
47
  return Result.Ok(new S3PeerStream(this, tmpUrl, rWriter.Ok()));
@@ -67,8 +56,13 @@ export class S3PeerFetch {
67
56
  if (url.protocol !== S3_PEER_PROTOCOL) {
68
57
  return Promise.resolve(Option.None());
69
58
  }
70
- const assetId = url.pathname.slice("-/".length);
71
- return Option.Some(await this.s3.get(assetId));
59
+ return Option.Some(await this.s3.get(url.toString()));
72
60
  }
73
61
  }
62
+ export function createS3Peer(params) {
63
+ return {
64
+ fetch: new S3PeerFetch(params.s3),
65
+ factory: (cider, fopts) => new S3Peer(params.s3, cider, fopts?.onProgress),
66
+ };
67
+ }
74
68
  //# sourceMappingURL=s3.js.map
package/peers/s3.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../jsr/peers/s3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../jsr/peers/s3.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ export const putDocEvento = {
42
42
  return Result.Ok(EventoResult.Continue);
43
43
  }
44
44
  const now = new Date().toISOString();
45
- const docId = req.docId ?? vctx.sthis.nextId().str;
45
+ const docId = req.docId ?? vctx.sthis.timeOrderedNextId().str;
46
46
  const dbName = req.dbName;
47
47
  const t = vctx.sql.tables.appDocuments;
48
48
  const maxSeqResult = await vctx.sql.db
@@ -1 +1 @@
1
- {"version":3,"file":"app-documents.js","sourceRoot":"","sources":["../../jsr/public/app-documents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-documents.js","sourceRoot":"","sources":["../../jsr/public/app-documents.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import { EventoHandler, Result } from "@adviser/cement";
2
- import { MsgBase, ReqEnsureAppSlug, ReqWithVerifiedAuth, ResEnsureAppSlug, VibesDiyError, W3CWebSocketEvent } from "@vibes.diy/api-types";
2
+ import { MsgBase, ReqEnsureAppSlug, ReqWithVerifiedAuth, ResEnsureAppSlug, StorageProgressInfo, VibesDiyError, W3CWebSocketEvent } from "@vibes.diy/api-types";
3
3
  import { VibesApiSQLCtx } from "../types.js";
4
- export declare function ensureAppSlugItem(vctx: VibesApiSQLCtx, req: ReqWithVerifiedAuth<ReqEnsureAppSlug>): Promise<Result<ResEnsureAppSlug>>;
4
+ export interface EnsureAppSlugItemOptions {
5
+ readonly onProgress?: (info: StorageProgressInfo) => void;
6
+ }
7
+ export declare function ensureAppSlugItem(vctx: VibesApiSQLCtx, req: ReqWithVerifiedAuth<ReqEnsureAppSlug>, opts?: EnsureAppSlugItemOptions): Promise<Result<ResEnsureAppSlug>>;
5
8
  export declare const ensureAppSlugItemEvento: EventoHandler<W3CWebSocketEvent, MsgBase<ReqEnsureAppSlug>, ResEnsureAppSlug | VibesDiyError>;
@@ -6,7 +6,7 @@ import { checkAuth as checkAuth } from "../check-auth.js";
6
6
  import { ensureSlugBinding } from "../intern/ensure-slug-binding.js";
7
7
  import { ensureApps } from "../intern/write-apps.js";
8
8
  import { calcEntryPointUrl } from "../entry-point-utils.js";
9
- export async function ensureAppSlugItem(vctx, req) {
9
+ export async function ensureAppSlugItem(vctx, req, opts) {
10
10
  const hasCodeFile = req.fileSystem.some((f) => f.type === "code-block");
11
11
  if (!hasCodeFile) {
12
12
  return Result.Ok({
@@ -44,7 +44,7 @@ export async function ensureAppSlugItem(vctx, req) {
44
44
  return Result.Err(`unsupported file system item type: ${fsItem.type}`);
45
45
  }
46
46
  }
47
- const rStorageResults = await vctx.storage.ensure(...writeAppSlugsOp.map((op) => uint8array2stream(to_uint8(op.assetOp.data))));
47
+ const rStorageResults = await vctx.storage.ensure({ onProgress: opts?.onProgress }, ...writeAppSlugsOp.map((op) => uint8array2stream(to_uint8(op.assetOp.data))));
48
48
  if (rStorageResults.some((r) => r.isErr())) {
49
49
  return Result.Err(`failed to store one or more assets: ${rStorageResults.map((r) => (r.isErr() ? r.Err().message : "ok")).join(", ")}`);
50
50
  }
@@ -114,7 +114,18 @@ export const ensureAppSlugItemEvento = {
114
114
  handle: checkAuth(async (ctx) => {
115
115
  const req = ctx.validated.payload;
116
116
  const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
117
- const rAppSlugBinding = await ensureAppSlugItem(vctx, req);
117
+ function emitProgress(info) {
118
+ const progress = {
119
+ type: "vibes.diy.res-progress",
120
+ stage: info.stage,
121
+ ...(info.bytes === undefined ? {} : { bytes: info.bytes }),
122
+ ...(info.partNumber === undefined ? {} : { partNumber: info.partNumber }),
123
+ };
124
+ ctx.send.send(ctx, progress).catch((e) => {
125
+ console.error("ensureAppSlugItem progress emit failed:", e);
126
+ });
127
+ }
128
+ const rAppSlugBinding = await ensureAppSlugItem(vctx, req, { onProgress: emitProgress });
118
129
  if (rAppSlugBinding.isErr()) {
119
130
  return Result.Err(rAppSlugBinding);
120
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-app-slug-item.js","sourceRoot":"","sources":["../../jsr/public/ensure-app-slug-item.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensure-app-slug-item.js","sourceRoot":"","sources":["../../jsr/public/ensure-app-slug-item.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"svc-ws-send-provider.js","sourceRoot":"","sources":["../jsr/svc-ws-send-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,sBAAsB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACtH,OAAO,EAAE,OAAO,EAA4C,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAQ/B,MAAM,OAAO,cAAc;IAChB,EAAE,CAAY;IACd,IAAI,CAAgB;IACpB,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;IAIvC,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/C,YAAY,EAAa,EAAE,IAAoB;QAC7C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,sBAAsB,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,GAA0D,EAAE,GAAY;QAEpF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,GAAG,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC;YACzF,OAAO,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,OAAgB,CAAC;QACrB,IAAI,MAAM,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,GAAG;gBACR,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,GAAG;aACb,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC,EAAE,CAAC,OAAuB,CAAC,CAAC;IAC5C,CAAC;CACF"}
1
+ {"version":3,"file":"svc-ws-send-provider.js","sourceRoot":"","sources":["../jsr/svc-ws-send-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,sBAAsB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACtH,OAAO,EAAE,OAAO,EAA4C,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAQ/B,MAAM,OAAO,cAAc;IAChB,EAAE,CAAY;IACd,IAAI,CAAgB;IACpB,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;IAIvC,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/C,YAAY,EAAa,EAAE,IAAoB;QAC7C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,sBAAsB,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,GAA0D,EAAE,GAAY;QACpF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,GAAG,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC;YACzF,OAAO,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,OAAgB,CAAC;QACrB,IAAI,MAAM,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,GAAG;gBACR,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,GAAG;aACb,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC,EAAE,CAAC,OAAuB,CAAC,CAAC;IAC5C,CAAC;CACF"}
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # r2-affected-apps.sh — list Apps that have at least one s3://r2/<cid>
4
+ # assetURI in their fileSystem.
5
+ #
6
+ # These are the apps that would 404 on /assets/cid lookups if we rolled
7
+ # back to code that doesn't understand the s3:// peer. They're the rollback
8
+ # blast radius.
9
+ #
10
+ # Usage:
11
+ # ./vibes.diy/api/svc/usage-report/r2-affected-apps.sh # list mode (default)
12
+ # ./vibes.diy/api/svc/usage-report/r2-affected-apps.sh count # just the count
13
+ # ./vibes.diy/api/svc/usage-report/r2-affected-apps.sh cids # flat CID list (for rehydration)
14
+ # ./vibes.diy/api/svc/usage-report/r2-affected-apps.sh since 2h # only apps created since
15
+ #
16
+ # Prereqs:
17
+ # - vibes.diy/api/svc/.dev.vars has NEON_DATABASE_URL set
18
+ # - run from repo root
19
+
20
+ set -uo pipefail
21
+
22
+ MODE="${1:-list}"
23
+ SINCE_ARG="${3:-}"
24
+ SINCE_FILTER=""
25
+ if [ "${2:-}" = "since" ] && [ -n "$SINCE_ARG" ]; then
26
+ # Expect e.g. "2h", "30m", "1d" — Postgres interval-compatible
27
+ SINCE_FILTER="and created::timestamptz > now() - interval '${SINCE_ARG}'"
28
+ fi
29
+
30
+ DB() {
31
+ pnpm --dir vibes.diy/api/svc run db:inspect sql "$1" 2>&1 | awk '/^{/{flag=1} flag'
32
+ }
33
+
34
+ case "$MODE" in
35
+ count)
36
+ DB "select count(*) as affected_apps from \"Apps\" where \"fileSystem\"::text like '%\"assetURI\":\"s3://r2/%' ${SINCE_FILTER}" \
37
+ | jq '.rows[0]'
38
+ ;;
39
+
40
+ list)
41
+ echo "=== Apps with one or more s3://r2/<cid> assetURIs ==="
42
+ DB "select \"appSlug\", \"userSlug\", \"fsId\", \"created\", (select count(*) from jsonb_array_elements(\"fileSystem\") f where f->>'assetURI' like 's3://r2/%') as r2_count, (select count(*) from jsonb_array_elements(\"fileSystem\") f where f->>'assetURI' like 'pg://Assets/%' or f->>'assetURI' like 'sqlite://Assets/%') as sql_count from \"Apps\" where \"fileSystem\"::text like '%\"assetURI\":\"s3://r2/%' ${SINCE_FILTER} order by created desc" \
43
+ | jq '{rowCount, rows: .rows | map({appSlug, userSlug, fsId, created, r2_count, sql_count})}'
44
+ ;;
45
+
46
+ cids)
47
+ # Flat list of every s3://r2/<cid> CID across all affected apps.
48
+ # Useful as input to a rehydration script (read R2 -> write SQL).
49
+ DB "select distinct (jsonb_array_elements(\"fileSystem\")->>'assetURI') as uri from \"Apps\" where \"fileSystem\"::text like '%\"assetURI\":\"s3://r2/%' ${SINCE_FILTER}" \
50
+ | jq -r '.rows[].uri // empty' \
51
+ | grep '^s3://r2/' \
52
+ | sed 's|^s3://r2/||' \
53
+ | sort -u
54
+ ;;
55
+
56
+ *)
57
+ echo "Usage: $0 {list|count|cids} [since {2h|1d|...}]"
58
+ exit 64
59
+ ;;
60
+ esac
@@ -0,0 +1,160 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # r2-validate.sh — inspect storage routing for a vibes-diy push.
4
+ #
5
+ # Pushes a vibe with a controlled-size App.jsx, then queries the Apps table
6
+ # to read each file's assetURI directly (CLI doesn't output JSON, so the DB
7
+ # is the source of truth for routing decisions).
8
+ #
9
+ # Prerequisites:
10
+ # - You are logged in to the target API: `npx vibes-diy login --api-url=<url>`
11
+ # - vibes.diy/api/svc/.dev.vars has NEON_DATABASE_URL set
12
+ # - From the repo root so `pnpm --dir vibes.diy/api/svc run db:inspect ...`
13
+ # works
14
+ #
15
+ # Usage:
16
+ # ./vibes.diy/api/svc/usage-report/r2-validate.sh [size_bytes]
17
+ #
18
+ # VIBES_API_URL='https://...' ./vibes.diy/api/svc/usage-report/r2-validate.sh
19
+ #
20
+ # Default size 6144 (~6 KB) straddles the 4 KB cutoff so raw + transformed
21
+ # JS route to R2 while the import map stays in SQL.
22
+
23
+ set -uo pipefail
24
+
25
+ SIZE="${1:-6144}"
26
+ RUN_ID="$(date +%s)"
27
+ SLUG="r2-validate-${RUN_ID}"
28
+ DIR="$(mktemp -d -t r2-validate-XXXXXX)"
29
+ SUCCESS=0
30
+
31
+ PUSH_ARGS=(--mode dev --app-slug "${SLUG}")
32
+ if [ -n "${VIBES_API_URL:-}" ]; then
33
+ PUSH_ARGS+=(--api-url "${VIBES_API_URL}")
34
+ fi
35
+
36
+ cleanup() {
37
+ if [ "$SUCCESS" -eq 1 ]; then
38
+ rm -rf "$DIR"
39
+ else
40
+ echo
41
+ echo "Test dir kept for inspection: ${DIR}"
42
+ fi
43
+ }
44
+ trap cleanup EXIT
45
+
46
+ # Generate a controlled-size App.jsx.
47
+ {
48
+ printf 'export default function App() { return <div data-run="%s">' "$RUN_ID"
49
+ yes 'firefly r2 validation ' | head -c "$((SIZE - 200))"
50
+ printf '</div>; }\n'
51
+ } > "$DIR/App.jsx"
52
+
53
+ ACTUAL_SIZE=$(wc -c < "$DIR/App.jsx" | tr -d ' ')
54
+
55
+ echo "=== r2-validate ==="
56
+ echo " slug : ${SLUG}"
57
+ echo " dir : ${DIR}"
58
+ echo " size : ${ACTUAL_SIZE} bytes (target ${SIZE})"
59
+ echo " api-url : ${VIBES_API_URL:-<default>}"
60
+ echo
61
+
62
+ echo "=== vibes-diy push ${PUSH_ARGS[*]} ==="
63
+ ( cd "$DIR" && npx vibes-diy push "${PUSH_ARGS[@]}" ) | tee "$DIR/push.log"
64
+ PUSH_EXIT=${PIPESTATUS[0]}
65
+ echo
66
+ if [ "$PUSH_EXIT" -ne 0 ]; then
67
+ echo "FAIL: push exited ${PUSH_EXIT}"
68
+ exit 1
69
+ fi
70
+
71
+ # CLI doesn't honor --json today; query the Apps table for the slug we just
72
+ # pushed and read assetURI from the fileSystem column. That's the server's
73
+ # authoritative record of where each file landed.
74
+ echo "=== Apps row (assetURIs from server) ==="
75
+ APPS_JSON_FILE="$DIR/apps-row.json"
76
+ pnpm --dir vibes.diy/api/svc run db:inspect sql \
77
+ "select \"appSlug\", \"userSlug\", \"fileSystem\" from \"Apps\" where \"appSlug\" = '${SLUG}' order by created desc limit 1" \
78
+ > "$APPS_JSON_FILE" 2>&1
79
+ DB_EXIT=$?
80
+ if [ "$DB_EXIT" -ne 0 ]; then
81
+ echo "FAIL: db:inspect exited ${DB_EXIT}"
82
+ cat "$APPS_JSON_FILE"
83
+ exit 1
84
+ fi
85
+
86
+ # Strip pnpm header lines so it's pure JSON
87
+ JSON=$(awk '/^{/{flag=1} flag' "$APPS_JSON_FILE")
88
+ if [ -z "$JSON" ]; then
89
+ echo "FAIL: could not extract JSON from db:inspect output"
90
+ cat "$APPS_JSON_FILE"
91
+ exit 1
92
+ fi
93
+
94
+ URIS=$(echo "$JSON" | jq -r '.rows[0].fileSystem[]?.assetURI // empty')
95
+ if [ -z "$URIS" ]; then
96
+ echo "FAIL: no assetURIs found in Apps row for ${SLUG}"
97
+ echo "$JSON" | jq . 2>/dev/null || echo "$JSON"
98
+ exit 1
99
+ fi
100
+ echo "$URIS"
101
+ echo
102
+
103
+ S3_COUNT=$(echo "$URIS" | grep -c '^s3://r2/' || true)
104
+ SQL_COUNT=$(echo "$URIS" | grep -cE '^(pg|sqlite)://Assets/' || true)
105
+ TOTAL=$(echo "$URIS" | wc -l | tr -d ' ')
106
+
107
+ echo "=== routing tally ==="
108
+ echo " total assets : ${TOTAL}"
109
+ echo " s3://r2/ : ${S3_COUNT}"
110
+ echo " pg|sqlite:// : ${SQL_COUNT}"
111
+ echo
112
+
113
+ # Cross-check each CID directly: query Assets table for SQL presence
114
+ echo "=== Assets cross-check ==="
115
+ CIDS_IN_SQL=()
116
+ CIDS_IN_R2=()
117
+ while IFS= read -r uri; do
118
+ cid="${uri##*/}"
119
+ if [[ "$uri" =~ ^s3://r2/ ]]; then
120
+ CIDS_IN_R2+=("$cid")
121
+ else
122
+ CIDS_IN_SQL+=("$cid")
123
+ fi
124
+ done <<< "$URIS"
125
+
126
+ if [ ${#CIDS_IN_SQL[@]} -gt 0 ]; then
127
+ IDS_LIST=$(printf "'%s'," "${CIDS_IN_SQL[@]}")
128
+ IDS_LIST="${IDS_LIST%,}"
129
+ echo " SQL-routed CIDs (should appear in Assets):"
130
+ pnpm --dir vibes.diy/api/svc run db:inspect sql \
131
+ "select \"assetId\", length(content) as size from \"Assets\" where \"assetId\" in (${IDS_LIST})" \
132
+ 2>&1 | awk '/"assetId"/' | sed 's/^/ /'
133
+ fi
134
+
135
+ if [ ${#CIDS_IN_R2[@]} -gt 0 ]; then
136
+ IDS_LIST=$(printf "'%s'," "${CIDS_IN_R2[@]}")
137
+ IDS_LIST="${IDS_LIST%,}"
138
+ echo " R2-routed CIDs (should be ABSENT from Assets):"
139
+ R2_IN_SQL=$(pnpm --dir vibes.diy/api/svc run db:inspect sql \
140
+ "select count(*) as n from \"Assets\" where \"assetId\" in (${IDS_LIST})" \
141
+ 2>&1 | awk '/"n":/' | head -1)
142
+ echo " Assets count for R2 CIDs: ${R2_IN_SQL}"
143
+ fi
144
+ echo
145
+
146
+ echo "=== summary ==="
147
+ # At a 6 KB source size: with the 4 KB SQL cutoff, raw + transformed JS go
148
+ # to R2 and the small import map stays in SQL.
149
+ if [ "$S3_COUNT" -ge 2 ] && [ "$SQL_COUNT" -ge 1 ]; then
150
+ echo "split routing: ${TOTAL} total, ${S3_COUNT} in R2, ${SQL_COUNT} in SQL"
151
+ SUCCESS=1
152
+ exit 0
153
+ elif [ "$S3_COUNT" -eq 0 ] && [ "$SQL_COUNT" -ge "$TOTAL" ]; then
154
+ echo "all-SQL routing: ${TOTAL} total, ${SQL_COUNT} in SQL, 0 in R2"
155
+ SUCCESS=1
156
+ exit 0
157
+ else
158
+ echo "unexpected mix: ${TOTAL} total, ${S3_COUNT} in R2, ${SQL_COUNT} in SQL — review above"
159
+ exit 2
160
+ fi