{"version":3,"file":"hive.CRV3CefQ.mjs","sources":["../../../@hive/api/dist/index.mjs"],"sourcesContent":["import { BadRequestError, InvalidSelectorError, KNOWN_ERRORS, serializeError } from \"@hive/sdk/errors\";\nimport { UnexpectedErrorEvent } from \"@hive/sdk/events\";\nimport { factory } from \"@hive/server/factory\";\nimport { auth, resource, token } from \"@hive/server/middleware\";\nimport { hc } from \"hono/client\";\nimport { Selector } from \"@hive/sdk/selector\";\nimport { zValidator } from \"@hono/zod-validator\";\nimport { endTime, startTime } from \"hono/timing\";\nimport { z } from \"zod\";\nimport { SQLITE_FIXTURE } from \"@hive/sdk/sqlite\";\nimport { TransactionInputSchema } from \"@hive/sdk/transaction\";\n\n//#region src/v1/index.ts\nconst GetIndex = factory.createHandlers(async (c) => c.json({\n\tdata: { version: c.get(\"api-version\") },\n\terror: null\n}, 200));\n\n//#endregion\n//#region src/v1/auth/verify.ts\nconst GetVerify = factory.createHandlers(zValidator(\"query\", z.object({ scope: z.string().optional() }).optional()), async (c) => {\n\tif (!c.env.auth) return c.json({\n\t\tdata: {\n\t\t\tscope: null,\n\t\t\texpires: null\n\t\t},\n\t\terror: null\n\t}, 200);\n\tconst token$1 = c.get(\"token\");\n\tstartTime(c, \"auth\");\n\tconst credential = c.req.query(\"scope\") ? await c.env.auth.hasAccess(token$1, new Selector(c.req.query(\"scope\"))) : await c.env.auth.isValid(token$1);\n\tendTime(c, \"auth\");\n\treturn c.json({\n\t\tdata: {\n\t\t\tscope: credential.scope,\n\t\t\texpires: credential.expiresAt\n\t\t},\n\t\terror: null\n\t}, 200);\n});\n\n//#endregion\n//#region src/v1/health.ts\nconst GetHealth = factory.createHandlers((c) => c.json({\n\tdata: null,\n\terror: null\n}, 200));\n\n//#endregion\n//#region src/v1/resources/index.ts\nconst GetResources$1 = factory.createHandlers(auth({ resource: null }), async (c) => {\n\tconst trace = c.get(\"trace\");\n\tconst resources = await c.env.storage.list({\n\t\tparent: null,\n\t\ttrace\n\t});\n\treturn c.json({\n\t\tdata: { resources },\n\t\terror: null\n\t}, 200);\n});\nconst PostResources = factory.createHandlers(async (c) => {\n\tconst trace = c.get(\"trace\");\n\tconst contentType = (c.req.header(\"content-type\") ?? \"\").toLowerCase();\n\tlet body;\n\tif (contentType.includes(\"application/json\")) body = z.object({\n\t\tresource: z.string().transform((val) => new Selector(val)),\n\t\tcontents: z.string().transform((val) => new Selector(val)).optional()\n\t}).parse(await c.req.json());\n\telse if (contentType.includes(\"multipart/form-data\")) {\n\t\tconst form = await c.req.formData();\n\t\tconst parsed = Object.fromEntries(form.entries());\n\t\tbody = z.object({\n\t\t\tresource: z.string().transform((val) => new Selector(val)),\n\t\t\tcontents: z.union([z.instanceof(File), z.string().transform((val) => new Selector(val))]).optional()\n\t\t}).parse(parsed);\n\t} else throw new BadRequestError(\"Content-Type must be one of `application/json` or `multipart/form-data`.\");\n\tconst resource$1 = new Selector(body.resource);\n\tawait c.env.auth?.hasAccess(c.get(\"token\"), resource$1.parent);\n\tconst contents = body.contents ? body.contents instanceof File ? new Uint8Array(await body.contents.arrayBuffer()) : new Selector(body.contents) : SQLITE_FIXTURE;\n\tconst { metadata } = await c.env.storage.create(resource$1, {\n\t\tcontents,\n\t\ttrace\n\t});\n\treturn c.json({\n\t\tdata: { resource: { key: resource$1.key } },\n\t\terror: null\n\t}, {\n\t\tstatus: 200,\n\t\theaders: { \"X-Metadata\": JSON.stringify(metadata) }\n\t});\n});\n\n//#endregion\n//#region src/v1/resources/[key]/index.ts\nconst GetResource = factory.createHandlers(resource(), (c, next) => auth({ resource: c.get(\"resource\") })(c, next), async (c) => {\n\tconst trace = c.get(\"trace\");\n\tconst selector = c.get(\"resource\");\n\tstartTime(c, \"storage\");\n\tawait c.env.storage.get(selector, { trace });\n\tendTime(c, \"storage\");\n\treturn c.json({\n\t\tdata: { resource: { key: selector.key } },\n\t\terror: null\n\t}, 200);\n});\nconst DeleteResource = factory.createHandlers(resource(), (c, next) => auth({ resource: c.get(\"resource\") })(c, next), async (c) => {\n\tconst trace = c.get(\"trace\");\n\tconst selector = c.get(\"resource\");\n\tstartTime(c, \"storage\");\n\tawait c.env.storage.delete(selector, { trace });\n\tendTime(c, \"storage\");\n\treturn c.json({\n\t\tdata: { resource: { key: selector.key } },\n\t\terror: null\n\t}, 200);\n});\n\n//#endregion\n//#region src/v1/resources/[key]/contents.ts\n/**\n* Endpoint for retrieving the binary contents of a Resource.\n*\n* @returns Response containing the binary contents of the Resource.\n*/\nconst GetContents = factory.createHandlers(resource(), (c, next) => auth({ resource: c.get(\"resource\") })(c, next), async (c) => {\n\tconst trace = c.get(\"trace\");\n\tconst selector = c.get(\"resource\");\n\tif (![\n\t\t\"database\",\n\t\t\"snapshot\",\n\t\t\"branch\"\n\t].includes(selector.type)) throw new InvalidSelectorError(selector);\n\tstartTime(c, \"storage\");\n\tconst { contents, metadata } = await c.env.storage.getContents(selector, { trace });\n\tendTime(c, \"storage\");\n\treturn c.body(contents.stream, {\n\t\tstatus: 200,\n\t\tstatusText: \"OK\",\n\t\theaders: {\n\t\t\t\"Content-Type\": \"application/octet-stream\",\n\t\t\t\"Content-Disposition\": `attachment; filename=${selector.id}.sqlite`,\n\t\t\t\"Content-Length\": contents.length.toString(),\n\t\t\t\"Binary-Size\": contents.length.toString(),\n\t\t\t\"X-Metadata\": JSON.stringify(metadata)\n\t\t}\n\t});\n});\n/**\n* Endpoint for replacing the binary contents of a Resource.\n*\n* @returns Response containing the details of the updated Resource.\n*/\nconst PutContents = factory.createHandlers(resource(), (c, next) => auth({ resource: c.get(\"resource\") })(c, next), async (c) => {\n\tconst trace = c.get(\"trace\");\n\tconst selector = c.get(\"resource\");\n\tif (![\n\t\t\"database\",\n\t\t\"snapshot\",\n\t\t\"branch\"\n\t].includes(selector.type)) throw new InvalidSelectorError(selector);\n\tconst contentType = (c.req.header(\"content-type\") ?? \"\").toLowerCase();\n\tlet body;\n\tif (contentType.includes(\"application/json\")) body = z.object({ contents: z.string().transform((val) => new Selector(val)) }).parse(await c.req.json());\n\telse if (contentType.includes(\"multipart/form-data\")) {\n\t\tconst form = await c.req.formData();\n\t\tconst parsed = Object.fromEntries(form.entries());\n\t\tbody = z.object({ contents: z.union([z.instanceof(File), z.string().transform((val) => new Selector(val))]) }).parse(parsed);\n\t} else throw new BadRequestError(\"Content-Type must be one of `application/json` or `multipart/form-data`.\");\n\tconst contents = body.contents instanceof File ? new Uint8Array(await body.contents.arrayBuffer()) : new Selector(body.contents);\n\tif (contents instanceof Selector) {\n\t\tif (![\n\t\t\t\"database\",\n\t\t\t\"snapshot\",\n\t\t\t\"branch\"\n\t\t].includes(contents.type)) throw new InvalidSelectorError(contents);\n\t}\n\tstartTime(c, \"storage\");\n\tawait c.env.storage.setContents(selector, contents, { trace });\n\tendTime(c, \"storage\");\n\treturn c.json({\n\t\tdata: { resource: { key: selector.key } },\n\t\terror: null\n\t}, 200);\n});\n\n//#endregion\n//#region src/v1/resources/[key]/metadata.ts\n/**\n* Endpoint for retrieving the metadata of a Resource.\n*\n* @returns Response containing the metadata of the Resource.\n*/\nconst GetResourceMetadata = factory.createHandlers(resource(), (c, next) => auth({ resource: c.get(\"resource\") })(c, next), async (c) => {\n\tconst trace = c.get(\"trace\");\n\tconst selector = c.get(\"resource\");\n\tstartTime(c, \"storage\");\n\tconst metadata = await c.env.storage.getMetadata(selector, { trace });\n\tendTime(c, \"storage\");\n\treturn c.json({\n\t\tdata: {\n\t\t\tresource: { key: selector.key },\n\t\t\tmetadata\n\t\t},\n\t\terror: null\n\t}, 200);\n});\n\n//#endregion\n//#region src/v1/resources/[key]/resources.ts\nconst GetResources = factory.createHandlers(resource(), (c, next) => auth({ resource: c.get(\"resource\") })(c, next), async (c) => {\n\tconst selector = c.get(\"resource\");\n\tif (![\"namespace\", \"database\"].includes(selector.type)) throw new InvalidSelectorError(selector);\n\tstartTime(c, \"storage\");\n\tconst resources = await c.env.storage.list({ parent: selector });\n\tendTime(c, \"storage\");\n\treturn c.json({\n\t\tdata: {\n\t\t\tresource: { key: selector.key },\n\t\t\tresources\n\t\t},\n\t\terror: null\n\t}, 200);\n});\n\n//#endregion\n//#region src/v1/resources/[key]/transactions.ts\nconst PostTransactions = factory.createHandlers(resource(), (c, next) => auth({ resource: c.get(\"resource\") })(c, next), async (c) => {\n\tconst trace = c.get(\"trace\");\n\tconst selector = c.get(\"resource\");\n\tif (![\n\t\t\"database\",\n\t\t\"snapshot\",\n\t\t\"branch\"\n\t].includes(selector.type)) throw new InvalidSelectorError(selector);\n\tconst contentType = (c.req.header(\"content-type\") ?? \"\").toLowerCase();\n\tlet body;\n\tif (contentType.includes(\"application/json\")) body = z.object({ transaction: TransactionInputSchema }).parse(await c.req.json());\n\telse if (contentType.includes(\"multipart/form-data\")) {\n\t\tconst form = await c.req.formData();\n\t\tconst parsed = Object.fromEntries(form.entries());\n\t\tbody = z.object({ transaction: z.string().transform((val) => TransactionInputSchema.parse(JSON.parse(val))) }).parse(parsed);\n\t} else throw new BadRequestError(\"Content-Type must be one of `application/json` or `multipart/form-data`.\");\n\tconst statements = (Array.isArray(body.transaction) ? body.transaction : body.transaction.statements).map((statement) => ({\n\t\tsql: typeof statement === \"string\" ? statement : statement.sql,\n\t\tparams: typeof statement === \"string\" ? null : statement.params ?? null,\n\t\tmethod: typeof statement === \"string\" ? \"all\" : statement.method ?? \"all\"\n\t}));\n\tconst transaction = {\n\t\tstatements,\n\t\tmode: Array.isArray(body.transaction) ? \"DEFERRED\" : body.transaction.mode ?? \"DEFERRED\"\n\t};\n\tstartTime(c, \"storage\");\n\tconst results = await c.env.storage.query(selector, transaction, { trace });\n\tendTime(c, \"storage\");\n\treturn c.json({\n\t\tdata: {\n\t\t\tresource: { key: selector.key },\n\t\t\tresults\n\t\t},\n\t\terror: null\n\t}, 200);\n});\n\n//#endregion\n//#region src/index.ts\nconst api = () => factory.createApp().use(token).get(\"/v1\", ...GetIndex).get(\"/v1/health\", ...GetHealth).get(\"/v1/auth/verify\", ...GetVerify).get(\"/v1/resources\", ...GetResources$1).post(\"/v1/resources\", ...PostResources).get(\"/v1/resources/:key{.*?}/resources\", ...GetResources).get(\"/v1/resources/:key{.*?}/metadata\", ...GetResourceMetadata).get(\"/v1/resources/:key{.*?}/contents\", ...GetContents).put(\"/v1/resources/:key{.*?}/contents\", ...PutContents).post(\"/v1/resources/:key{.*?}/transactions\", ...PostTransactions).get(\"/v1/resources/:key{.*?}\", ...GetResource).delete(\"/v1/resources/:key{.*?}\", ...DeleteResource).notFound((c) => c.json({\n\tdata: null,\n\terror: serializeError(new Error(\"Not Found\"))\n}, {\n\tstatus: 404,\n\tstatusText: \"Not Found\"\n})).onError((err, c) => {\n\tif (KNOWN_ERRORS.values().some((error) => err instanceof error)) {\n\t\tconst status = \"status\" in err ? err.status : 400;\n\t\tconst statusText = \"statusText\" in err ? err.statusText : \"Bad Request\";\n\t\treturn c.json({\n\t\t\tdata: null,\n\t\t\terror: serializeError(err)\n\t\t}, {\n\t\t\tstatus,\n\t\t\tstatusText\n\t\t});\n\t}\n\tif (!c.env.logger) console.error(err);\n\tc.env.logger?.error(`error processing request (${err.message})`, {\n\t\tmodule: \"api\",\n\t\ttrace: c.get(\"trace\"),\n\t\terr: JSON.stringify(serializeError(err))\n\t});\n\tc.env.onError?.(new UnexpectedErrorEvent({\n\t\ttrace: c.get(\"trace\"),\n\t\terror: err\n\t}));\n\treturn c.json({\n\t\tdata: null,\n\t\terror: serializeError(new Error(\"An unexpected exception occurred.\"))\n\t}, {\n\t\tstatus: 500,\n\t\tstatusText: \"Internal Server Error\"\n\t});\n});\nconst client = hc;\n\n//#endregion\nexport { api, client };"],"names":[],"mappings":"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"}