@getcirrus/pds 0.10.0 → 0.10.2
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/README.md +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +73 -9
- package/dist/index.js.map +1 -1
- package/package.json +5 -4
package/README.md
CHANGED
|
@@ -387,7 +387,7 @@ See [Cloudflare's data location documentation](https://developers.cloudflare.com
|
|
|
387
387
|
| ------------------------------ | ----------------------------------------------------- |
|
|
388
388
|
| `GET /.well-known/did.json` | DID document for did:web resolution |
|
|
389
389
|
| `GET /.well-known/atproto-did` | Handle verification (only if handle matches hostname) |
|
|
390
|
-
| `GET /
|
|
390
|
+
| `GET /xrpc/_health` | Health check with version info |
|
|
391
391
|
|
|
392
392
|
### Federation (Sync)
|
|
393
393
|
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/storage.ts","../src/oauth-storage.ts","../src/blobs.ts","../src/types.ts","../src/account-do.ts","../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;cAUa,iBAAA,SACJ,kBAAA,YACG;EAFC,QAAA,GAAA;EAIa,WAAA,CAAA,GAAA,EAAA,UAAA;EA2FA;;;;EAiCR,UAAA,CAAA,aAAA,CAAA,EAAA,OAAA,CAAA,EAAA,IAAA;EAQG;;;EAcL,OAAA,CAAA,CAAA,EAvDE,OAuDF,CAvDU,GAuDV,GAAA,IAAA,CAAA;EAAM;;;EAU8C,MAAA,CAAA,CAAA,EApDnD,OAoDmD,CAAA,MAAA,GAAA,IAAA,CAAA;EAArC;;;EAmB4B,MAAA,CAAA,CAAA,EA7D1C,OA6D0C,CAAA,MAAA,CAAA;EAYpC;;;EAoBmB,OAAA,CAAA,CAAA,EAnFxB,OAmFwB,CAAA,MAAA,CAAA;EAWf;;;EA6CT,QAAA,CAAA,GAAA,EAnIG,GAmIH,CAAA,EAnIS,OAmIT,CAnIiB,UAmIjB,GAAA,IAAA,CAAA;EAUI;;;EAoCF,GAAA,CAAA,GAAA,EAnKJ,GAmKI,CAAA,EAnKE,OAmKF,CAAA,OAAA,CAAA;EAUe;;;EA2JtB,SAAA,CAAA,IAAA,EA9TU,GA8TV,EAAA,CAAA,EA9TkB,OA8TlB,CAAA;IA8BI,MAAA,EA5VgC,QA4VhC;IA3fR,OAAA,EA+J2D,GA/J3D,EAAA;EACG,CAAA,CAAA;EAAW;;;gBAiLF,YAAY,0BAA0B;EC/K9C;;;EAuG0C,OAAA,CAAA,MAAA,EDoFhC,QCpFgC,EAAA,GAAA,EAAA,MAAA,CAAA,EDoFR,OCpFQ,CAAA,IAAA,CAAA;EAgBb;;;EAsClB,UAAA,CAAA,GAAA,EDkDD,GClDC,EAAA,GAAA,EAAA,MAAA,CAAA,EDkDkB,OClDlB,CAAA,IAAA,CAAA;EAAY;;;EAiDoB,WAAA,CAAA,MAAA,EDY7B,UCZ6B,CAAA,EDYhB,OCZgB,CAAA,IAAA,CAAA;EAAR;;;EA4CF,WAAA,CAAA,CAAA,EDGxB,OCHwB,CAAA,MAAA,CAAA;EAAiB;;;EAwCtB,OAAA,CAAA,CAAA,ED3BvB,OC2BuB,CAAA,IAAA,CAAA;EAAU;;;EAuCb,WAAA,CAAA,CAAA,EDxDhB,OCwDgB,CAAA,MAAA,CAAA;EAWG;;;oBDzDhB;;;AEvSzB;0CFyT+C;;;AGpS/C;EAiBiB,SAAM,CAAA,CAAA,EH2RH,OG3RG,CAAA,OAAA,CAAA;EAkBU;;;EAkBhB,SAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EHiQkB,OGjQlB,CAAA,IAAA,CAAA;EAAY;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/storage.ts","../src/oauth-storage.ts","../src/blobs.ts","../src/types.ts","../src/account-do.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ import { CID, asCid, isBlobRef } from "@atproto/lex-data";
|
|
|
5
5
|
import { now } from "@atcute/tid";
|
|
6
6
|
import { decode, encode, fromBytes, isBytes, toBytes, toCidLink } from "@atcute/cbor";
|
|
7
7
|
import { CODEC_RAW, create, fromString, toString } from "@atcute/cid";
|
|
8
|
+
import { jsonToLex } from "@atproto/lex-json";
|
|
8
9
|
import { Hono } from "hono";
|
|
9
10
|
import { cors } from "hono/cors";
|
|
10
11
|
import { isDid, isHandle, isNsid, isRecordKey } from "@atcute/lexicons/syntax";
|
|
@@ -1081,7 +1082,7 @@ var AccountDurableObject = class extends DurableObject {
|
|
|
1081
1082
|
action: WriteOpAction.Create,
|
|
1082
1083
|
collection,
|
|
1083
1084
|
rkey: actualRkey,
|
|
1084
|
-
record
|
|
1085
|
+
record: jsonToLex(record)
|
|
1085
1086
|
};
|
|
1086
1087
|
const prevRev = repo.commit.rev;
|
|
1087
1088
|
this.repo = await repo.applyWrites([createOp], keypair);
|
|
@@ -1167,16 +1168,18 @@ var AccountDurableObject = class extends DurableObject {
|
|
|
1167
1168
|
await this.ensureActive();
|
|
1168
1169
|
const repo = await this.getRepo();
|
|
1169
1170
|
const keypair = await this.getKeypair();
|
|
1170
|
-
const
|
|
1171
|
+
const isUpdate = await repo.getRecord(collection, rkey) !== null;
|
|
1172
|
+
const normalizedRecord = jsonToLex(record);
|
|
1173
|
+
const op = isUpdate ? {
|
|
1171
1174
|
action: WriteOpAction.Update,
|
|
1172
1175
|
collection,
|
|
1173
1176
|
rkey,
|
|
1174
|
-
record
|
|
1177
|
+
record: normalizedRecord
|
|
1175
1178
|
} : {
|
|
1176
1179
|
action: WriteOpAction.Create,
|
|
1177
1180
|
collection,
|
|
1178
1181
|
rkey,
|
|
1179
|
-
record
|
|
1182
|
+
record: normalizedRecord
|
|
1180
1183
|
};
|
|
1181
1184
|
const prevRev = repo.commit.rev;
|
|
1182
1185
|
this.repo = await repo.applyWrites([op], keypair);
|
|
@@ -1231,7 +1234,7 @@ var AccountDurableObject = class extends DurableObject {
|
|
|
1231
1234
|
action: WriteOpAction.Create,
|
|
1232
1235
|
collection: write.collection,
|
|
1233
1236
|
rkey,
|
|
1234
|
-
record: write.value
|
|
1237
|
+
record: jsonToLex(write.value)
|
|
1235
1238
|
};
|
|
1236
1239
|
ops.push(op);
|
|
1237
1240
|
results.push({
|
|
@@ -1246,7 +1249,7 @@ var AccountDurableObject = class extends DurableObject {
|
|
|
1246
1249
|
action: WriteOpAction.Update,
|
|
1247
1250
|
collection: write.collection,
|
|
1248
1251
|
rkey: write.rkey,
|
|
1249
|
-
record: write.value
|
|
1252
|
+
record: jsonToLex(write.value)
|
|
1250
1253
|
};
|
|
1251
1254
|
ops.push(op);
|
|
1252
1255
|
results.push({
|
|
@@ -1811,6 +1814,11 @@ function serializeRecord(obj) {
|
|
|
1811
1814
|
if (obj === null || obj === void 0) return obj;
|
|
1812
1815
|
const cid = asCid(obj);
|
|
1813
1816
|
if (cid) return { $link: cid.toString() };
|
|
1817
|
+
if (obj instanceof Uint8Array) {
|
|
1818
|
+
let binary = "";
|
|
1819
|
+
for (let i = 0; i < obj.length; i++) binary += String.fromCharCode(obj[i]);
|
|
1820
|
+
return { $bytes: btoa(binary) };
|
|
1821
|
+
}
|
|
1814
1822
|
if (Array.isArray(obj)) return obj.map(serializeRecord);
|
|
1815
1823
|
if (typeof obj === "object") {
|
|
1816
1824
|
const result = {};
|
|
@@ -2314,6 +2322,21 @@ function createOAuthApp(accountDOGetter) {
|
|
|
2314
2322
|
});
|
|
2315
2323
|
});
|
|
2316
2324
|
oauth.get("/oauth/authorize", async (c) => {
|
|
2325
|
+
const ua = c.req.header("User-Agent") ?? "";
|
|
2326
|
+
if (/TelegramBot|Slackbot|Discordbot|Twitterbot|facebookexternalhit|WhatsApp/i.test(ua)) return c.html(`<!DOCTYPE html>
|
|
2327
|
+
<html lang="en">
|
|
2328
|
+
<head>
|
|
2329
|
+
<meta charset="UTF-8">
|
|
2330
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
2331
|
+
<title>Cirrus Authorization</title>
|
|
2332
|
+
<meta name="description" content="Cirrus PDS authorization page. Open this link in your browser to continue.">
|
|
2333
|
+
<meta property="og:title" content="Cirrus Authorization">
|
|
2334
|
+
<meta property="og:description" content="Open this link in your browser to continue.">
|
|
2335
|
+
</head>
|
|
2336
|
+
<body>
|
|
2337
|
+
<p>Open this link in your browser to continue.</p>
|
|
2338
|
+
</body>
|
|
2339
|
+
</html>`);
|
|
2317
2340
|
return getProvider(c.env).handleAuthorize(c.req.raw);
|
|
2318
2341
|
});
|
|
2319
2342
|
oauth.post("/oauth/authorize", async (c) => {
|
|
@@ -2667,6 +2690,30 @@ async function handleXrpcProxy(c, didResolver$1, getKeypair$1) {
|
|
|
2667
2690
|
return fetch(targetUrl.toString(), reqInit);
|
|
2668
2691
|
}
|
|
2669
2692
|
|
|
2693
|
+
//#endregion
|
|
2694
|
+
//#region src/format.ts
|
|
2695
|
+
/**
|
|
2696
|
+
* Detect content type from file magic bytes.
|
|
2697
|
+
* Returns the detected MIME type or null if unknown.
|
|
2698
|
+
*/
|
|
2699
|
+
function detectContentType(bytes) {
|
|
2700
|
+
if (bytes.length >= 12) {
|
|
2701
|
+
if (String.fromCharCode(bytes[4], bytes[5], bytes[6], bytes[7]) === "ftyp") {
|
|
2702
|
+
const brand = String.fromCharCode(bytes[8], bytes[9], bytes[10], bytes[11]);
|
|
2703
|
+
if (brand === "isom" || brand === "iso2" || brand === "mp41" || brand === "mp42" || brand === "avc1") return "video/mp4";
|
|
2704
|
+
if (brand === "M4V " || brand === "M4VH" || brand === "M4VP") return "video/x-m4v";
|
|
2705
|
+
if (brand === "qt ") return "video/quicktime";
|
|
2706
|
+
return "video/mp4";
|
|
2707
|
+
}
|
|
2708
|
+
}
|
|
2709
|
+
if (bytes[0] === 255 && bytes[1] === 216 && bytes[2] === 255) return "image/jpeg";
|
|
2710
|
+
if (bytes[0] === 137 && bytes[1] === 80 && bytes[2] === 78 && bytes[3] === 71) return "image/png";
|
|
2711
|
+
if (bytes[0] === 71 && bytes[1] === 73 && bytes[2] === 70) return "image/gif";
|
|
2712
|
+
if (bytes[0] === 82 && bytes[1] === 73 && bytes[2] === 70 && bytes[3] === 70 && bytes[8] === 87 && bytes[9] === 69 && bytes[10] === 66 && bytes[11] === 80) return "image/webp";
|
|
2713
|
+
if (bytes[0] === 26 && bytes[1] === 69 && bytes[2] === 223 && bytes[3] === 163) return "video/webm";
|
|
2714
|
+
return null;
|
|
2715
|
+
}
|
|
2716
|
+
|
|
2670
2717
|
//#endregion
|
|
2671
2718
|
//#region src/xrpc/sync.ts
|
|
2672
2719
|
async function getRepo(c, accountDO) {
|
|
@@ -2803,10 +2850,26 @@ async function getBlob(c, _accountDO) {
|
|
|
2803
2850
|
error: "BlobNotFound",
|
|
2804
2851
|
message: `Blob not found: ${cid}`
|
|
2805
2852
|
}, 404);
|
|
2853
|
+
let contentType = blob.httpMetadata?.contentType;
|
|
2854
|
+
if (!contentType || contentType === "*/*") {
|
|
2855
|
+
const [headerStream, bodyStream] = blob.body.tee();
|
|
2856
|
+
const reader = headerStream.getReader();
|
|
2857
|
+
const { value: headerBytes } = await reader.read();
|
|
2858
|
+
reader.releaseLock();
|
|
2859
|
+
if (headerBytes && headerBytes.length >= 12) contentType = detectContentType(headerBytes) || "application/octet-stream";
|
|
2860
|
+
else contentType = "application/octet-stream";
|
|
2861
|
+
return new Response(bodyStream, {
|
|
2862
|
+
status: 200,
|
|
2863
|
+
headers: {
|
|
2864
|
+
"Content-Type": contentType,
|
|
2865
|
+
"Content-Length": blob.size.toString()
|
|
2866
|
+
}
|
|
2867
|
+
});
|
|
2868
|
+
}
|
|
2806
2869
|
return new Response(blob.body, {
|
|
2807
2870
|
status: 200,
|
|
2808
2871
|
headers: {
|
|
2809
|
-
"Content-Type":
|
|
2872
|
+
"Content-Type": contentType,
|
|
2810
2873
|
"Content-Length": blob.size.toString()
|
|
2811
2874
|
}
|
|
2812
2875
|
});
|
|
@@ -3157,8 +3220,9 @@ async function applyWrites(c, accountDO) {
|
|
|
3157
3220
|
}
|
|
3158
3221
|
}
|
|
3159
3222
|
async function uploadBlob(c, accountDO) {
|
|
3160
|
-
|
|
3223
|
+
let contentType = c.req.header("Content-Type");
|
|
3161
3224
|
const bytes = new Uint8Array(await c.req.arrayBuffer());
|
|
3225
|
+
if (!contentType || contentType === "*/*") contentType = detectContentType(bytes) || "application/octet-stream";
|
|
3162
3226
|
const MAX_BLOB_SIZE = 60 * 1024 * 1024;
|
|
3163
3227
|
if (bytes.length > MAX_BLOB_SIZE) return c.json({
|
|
3164
3228
|
error: "BlobTooLarge",
|
|
@@ -4044,7 +4108,7 @@ function renderPasskeyErrorPage(error, description) {
|
|
|
4044
4108
|
|
|
4045
4109
|
//#endregion
|
|
4046
4110
|
//#region package.json
|
|
4047
|
-
var version = "0.10.
|
|
4111
|
+
var version = "0.10.2";
|
|
4048
4112
|
|
|
4049
4113
|
//#endregion
|
|
4050
4114
|
//#region src/index.ts
|