covara 0.11.2 → 0.13.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/README.md +4 -1
- package/dist/abuse/budget.d.ts +41 -0
- package/dist/abuse/budget.d.ts.map +1 -0
- package/dist/abuse/budget.js +122 -0
- package/dist/abuse/budget.js.map +1 -0
- package/dist/abuse/captcha.d.ts +45 -0
- package/dist/abuse/captcha.d.ts.map +1 -0
- package/dist/abuse/captcha.js +80 -0
- package/dist/abuse/captcha.js.map +1 -0
- package/dist/abuse/config.d.ts +150 -0
- package/dist/abuse/config.d.ts.map +1 -0
- package/dist/abuse/config.js +33 -0
- package/dist/abuse/config.js.map +1 -0
- package/dist/abuse/enforce.d.ts +44 -0
- package/dist/abuse/enforce.d.ts.map +1 -0
- package/dist/abuse/enforce.js +198 -0
- package/dist/abuse/enforce.js.map +1 -0
- package/dist/abuse/middleware.d.ts +26 -0
- package/dist/abuse/middleware.d.ts.map +1 -0
- package/dist/abuse/middleware.js +115 -0
- package/dist/abuse/middleware.js.map +1 -0
- package/dist/auth/routes.d.ts +12 -0
- package/dist/auth/routes.d.ts.map +1 -1
- package/dist/auth/routes.js +28 -0
- package/dist/auth/routes.js.map +1 -1
- package/dist/cli/templates/agents.d.ts.map +1 -1
- package/dist/cli/templates/agents.js +2 -0
- package/dist/cli/templates/agents.js.map +1 -1
- package/dist/cli/templates/source.d.ts +4 -4
- package/dist/cli/templates/source.d.ts.map +1 -1
- package/dist/cli/templates/source.js +5 -5
- package/dist/client/captcha.d.ts +41 -0
- package/dist/client/captcha.d.ts.map +1 -0
- package/dist/client/captcha.js +110 -0
- package/dist/client/captcha.js.map +1 -0
- package/dist/client/index.d.ts +18 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +4 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/pow.d.ts +15 -0
- package/dist/client/pow.d.ts.map +1 -0
- package/dist/client/pow.js +9 -0
- package/dist/client/pow.js.map +1 -0
- package/dist/client/react.d.ts +29 -1
- package/dist/client/react.d.ts.map +1 -1
- package/dist/client/react.js +77 -1
- package/dist/client/react.js.map +1 -1
- package/dist/client/transport.d.ts +13 -1
- package/dist/client/transport.d.ts.map +1 -1
- package/dist/client/transport.js +131 -16
- package/dist/client/transport.js.map +1 -1
- package/dist/client/types.d.ts +25 -0
- package/dist/client/types.d.ts.map +1 -1
- package/dist/index.d.ts +12 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/pow/core.d.ts +55 -0
- package/dist/pow/core.d.ts.map +1 -0
- package/dist/pow/core.js +220 -0
- package/dist/pow/core.js.map +1 -0
- package/dist/pow/server.d.ts +71 -0
- package/dist/pow/server.d.ts.map +1 -0
- package/dist/pow/server.js +152 -0
- package/dist/pow/server.js.map +1 -0
- package/dist/resource/error.d.ts +17 -0
- package/dist/resource/error.d.ts.map +1 -1
- package/dist/resource/error.js +46 -0
- package/dist/resource/error.js.map +1 -1
- package/dist/resource/filter.d.ts +1 -0
- package/dist/resource/filter.d.ts.map +1 -1
- package/dist/resource/filter.js +101 -4
- package/dist/resource/filter.js.map +1 -1
- package/dist/resource/hook.d.ts.map +1 -1
- package/dist/resource/hook.js +73 -3
- package/dist/resource/hook.js.map +1 -1
- package/dist/resource/procedures.d.ts +3 -2
- package/dist/resource/procedures.d.ts.map +1 -1
- package/dist/resource/procedures.js +1 -0
- package/dist/resource/procedures.js.map +1 -1
- package/dist/resource/relation-registry.d.ts +20 -0
- package/dist/resource/relation-registry.d.ts.map +1 -0
- package/dist/resource/relation-registry.js +12 -0
- package/dist/resource/relation-registry.js.map +1 -0
- package/dist/resource/search.d.ts +4 -0
- package/dist/resource/search.d.ts.map +1 -1
- package/dist/resource/search.js +27 -8
- package/dist/resource/search.js.map +1 -1
- package/dist/resource/secure-query.d.ts.map +1 -1
- package/dist/resource/secure-query.js +13 -0
- package/dist/resource/secure-query.js.map +1 -1
- package/dist/resource/subscription.d.ts.map +1 -1
- package/dist/resource/subscription.js +16 -0
- package/dist/resource/subscription.js.map +1 -1
- package/dist/resource/types.d.ts +18 -5
- package/dist/resource/types.d.ts.map +1 -1
- package/dist/server/app.d.ts +2 -0
- package/dist/server/app.d.ts.map +1 -1
- package/dist/server/app.js +4 -0
- package/dist/server/app.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,10 +3,10 @@ export declare const SQLITE_SCHEMA = "import { sqliteTable, text, integer } from
|
|
|
3
3
|
export declare const POSTGRES_SCHEMA = "import { pgTable, text, boolean, timestamp } from \"drizzle-orm/pg-core\";\n\nexport const todos = pgTable(\"todos\", {\n id: text(\"id\")\n .primaryKey()\n .$defaultFn(() => crypto.randomUUID()),\n title: text(\"title\").notNull(),\n completed: boolean(\"completed\").notNull().default(false),\n createdAt: timestamp(\"created_at\").notNull().defaultNow(),\n});\n";
|
|
4
4
|
export declare const renderSchema: (options: ScaffoldOptions) => string;
|
|
5
5
|
export declare const renderEnv: (options: ScaffoldOptions) => string;
|
|
6
|
-
export declare const NODE_SQLITE_INDEX = "import { createClient } from \"@libsql/client\";\nimport { drizzle } from \"drizzle-orm/libsql\";\nimport { createCovara, scopePatterns } from \"covara\";\nimport { startServer } from \"covara/node\";\nimport { todos } from \"./schema.js\";\nimport { env } from \"./env.js\";\n\nconst client = createClient({ url: env.DB_FILE_NAME });\nconst db = drizzle(client);\n\nconst app = createCovara({ cors: true, adminUI: true }).resource(todos, {\n db,\n id: todos.id,\n // Fully public so the starter works end-to-end. Lock this down with auth\n // scopes before deploying: https://github.
|
|
7
|
-
export declare const NODE_POSTGRES_INDEX = "import postgres from \"postgres\";\nimport { drizzle } from \"drizzle-orm/postgres-js\";\nimport { createCovara, scopePatterns } from \"covara\";\nimport { startServer } from \"covara/node\";\nimport { todos } from \"./schema.js\";\nimport { env } from \"./env.js\";\n\nconst client = postgres(env.DATABASE_URL);\nconst db = drizzle(client);\n\nconst app = createCovara({ cors: true, adminUI: true }).resource(todos, {\n db,\n id: todos.id,\n // Fully public so the starter works end-to-end. Lock this down with auth\n // scopes before deploying: https://github.
|
|
6
|
+
export declare const NODE_SQLITE_INDEX = "import { createClient } from \"@libsql/client\";\nimport { drizzle } from \"drizzle-orm/libsql\";\nimport { createCovara, scopePatterns } from \"covara\";\nimport { startServer } from \"covara/node\";\nimport { todos } from \"./schema.js\";\nimport { env } from \"./env.js\";\n\nconst client = createClient({ url: env.DB_FILE_NAME });\nconst db = drizzle(client);\n\nconst app = createCovara({ cors: true, adminUI: true }).resource(todos, {\n db,\n id: todos.id,\n // Fully public so the starter works end-to-end. Lock this down with auth\n // scopes before deploying: https://kahveciderin.github.io/covara/auth/overview \n auth: scopePatterns.fullyPublic(),\n});\n\nconst server = await startServer(app, { port: env.PORT });\n\nconsole.log(`Covara running at http://localhost:${server.port}`);\nconsole.log(`Create: curl -X POST http://localhost:${server.port}/api/todos -H 'content-type: application/json' -d '{\"title\":\"hello\"}'`);\nconsole.log(`List: curl http://localhost:${server.port}/api/todos`);\n";
|
|
7
|
+
export declare const NODE_POSTGRES_INDEX = "import postgres from \"postgres\";\nimport { drizzle } from \"drizzle-orm/postgres-js\";\nimport { createCovara, scopePatterns } from \"covara\";\nimport { startServer } from \"covara/node\";\nimport { todos } from \"./schema.js\";\nimport { env } from \"./env.js\";\n\nconst client = postgres(env.DATABASE_URL);\nconst db = drizzle(client);\n\nconst app = createCovara({ cors: true, adminUI: true }).resource(todos, {\n db,\n id: todos.id,\n // Fully public so the starter works end-to-end. Lock this down with auth\n // scopes before deploying: https://kahveciderin.github.io/covara/auth/overview\n auth: scopePatterns.fullyPublic(),\n});\n\nconst server = await startServer(app, { port: env.PORT });\n\nconsole.log(`Covara running at http://localhost:${server.port}`);\nconsole.log(`Create: curl -X POST http://localhost:${server.port}/api/todos -H 'content-type: application/json' -d '{\"title\":\"hello\"}'`);\nconsole.log(`List: curl http://localhost:${server.port}/api/todos`);\n";
|
|
8
8
|
export declare const renderNodeIndex: (options: ScaffoldOptions) => string;
|
|
9
|
-
export declare const CLOUDFLARE_D1_WORKER = "import { drizzle } from \"drizzle-orm/d1\";\nimport {\n createCovara,\n scopePatterns,\n createDurableObjectKV,\n setGlobalKV,\n initializeEventSubscription,\n type CovaraApp,\n type DurableObjectNamespaceLike,\n} from \"covara\";\nimport { todos } from \"./schema\";\n\nexport { CovaraKVDurableObject } from \"covara\";\n\ninterface Env {\n DB: D1Database;\n COVARA_KV: DurableObjectNamespaceLike;\n}\n\nlet app: CovaraApp | undefined;\n\nconst buildApp = (env: Env): CovaraApp => {\n setGlobalKV(createDurableObjectKV(env.COVARA_KV));\n void initializeEventSubscription();\n\n const db = drizzle(env.DB);\n return createCovara({ cors: true, adminUI: true }).resource(todos, {\n db,\n id: todos.id,\n // Fully public so the starter works end-to-end. Lock this down with auth\n // scopes before deploying: https://github.
|
|
10
|
-
export declare const CLOUDFLARE_POSTGRES_WORKER = "import postgres from \"postgres\";\nimport { drizzle } from \"drizzle-orm/postgres-js\";\nimport {\n createCovara,\n scopePatterns,\n createDurableObjectKV,\n setGlobalKV,\n initializeEventSubscription,\n type CovaraApp,\n type DurableObjectNamespaceLike,\n} from \"covara\";\nimport { todos } from \"./schema\";\n\nexport { CovaraKVDurableObject } from \"covara\";\n\ninterface Env {\n DATABASE_URL: string;\n COVARA_KV: DurableObjectNamespaceLike;\n}\n\nlet app: CovaraApp | undefined;\n\nconst buildApp = (env: Env): CovaraApp => {\n setGlobalKV(createDurableObjectKV(env.COVARA_KV));\n void initializeEventSubscription();\n\n const client = postgres(env.DATABASE_URL, { max: 5, fetch_types: false });\n const db = drizzle(client);\n return createCovara({ cors: true, adminUI: true }).resource(todos, {\n db,\n id: todos.id,\n // Fully public so the starter works end-to-end. Lock this down with auth\n // scopes before deploying: https://github.
|
|
9
|
+
export declare const CLOUDFLARE_D1_WORKER = "import { drizzle } from \"drizzle-orm/d1\";\nimport {\n createCovara,\n scopePatterns,\n createDurableObjectKV,\n setGlobalKV,\n initializeEventSubscription,\n type CovaraApp,\n type DurableObjectNamespaceLike,\n} from \"covara\";\nimport { todos } from \"./schema\";\n\nexport { CovaraKVDurableObject } from \"covara\";\n\ninterface Env {\n DB: D1Database;\n COVARA_KV: DurableObjectNamespaceLike;\n}\n\nlet app: CovaraApp | undefined;\n\nconst buildApp = (env: Env): CovaraApp => {\n setGlobalKV(createDurableObjectKV(env.COVARA_KV));\n void initializeEventSubscription();\n\n const db = drizzle(env.DB);\n return createCovara({ cors: true, adminUI: true }).resource(todos, {\n db,\n id: todos.id,\n // Fully public so the starter works end-to-end. Lock this down with auth\n // scopes before deploying: https://kahveciderin.github.io/covara/auth/overview\n auth: scopePatterns.fullyPublic(),\n });\n};\n\nexport default {\n fetch(request: Request, env: Env, ctx: ExecutionContext): Response | Promise<Response> {\n app ??= buildApp(env);\n return app.fetch(request, env, ctx);\n },\n};\n";
|
|
10
|
+
export declare const CLOUDFLARE_POSTGRES_WORKER = "import postgres from \"postgres\";\nimport { drizzle } from \"drizzle-orm/postgres-js\";\nimport {\n createCovara,\n scopePatterns,\n createDurableObjectKV,\n setGlobalKV,\n initializeEventSubscription,\n type CovaraApp,\n type DurableObjectNamespaceLike,\n} from \"covara\";\nimport { todos } from \"./schema\";\n\nexport { CovaraKVDurableObject } from \"covara\";\n\ninterface Env {\n DATABASE_URL: string;\n COVARA_KV: DurableObjectNamespaceLike;\n}\n\nlet app: CovaraApp | undefined;\n\nconst buildApp = (env: Env): CovaraApp => {\n setGlobalKV(createDurableObjectKV(env.COVARA_KV));\n void initializeEventSubscription();\n\n const client = postgres(env.DATABASE_URL, { max: 5, fetch_types: false });\n const db = drizzle(client);\n return createCovara({ cors: true, adminUI: true }).resource(todos, {\n db,\n id: todos.id,\n // Fully public so the starter works end-to-end. Lock this down with auth\n // scopes before deploying: https://kahveciderin.github.io/covara/auth/overview\n auth: scopePatterns.fullyPublic(),\n });\n};\n\nexport default {\n fetch(request: Request, env: Env, ctx: ExecutionContext): Response | Promise<Response> {\n app ??= buildApp(env);\n return app.fetch(request, env, ctx);\n },\n};\n";
|
|
11
11
|
export declare const renderWorker: (options: ScaffoldOptions) => string;
|
|
12
12
|
//# sourceMappingURL=source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/cli/templates/source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,eAAO,MAAM,aAAa,scAYzB,CAAC;AAEF,eAAO,MAAM,eAAe,2XAU3B,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,SAAS,eAAe,KAAG,MACG,CAAC;AAI5D,eAAO,MAAM,SAAS,GAAI,SAAS,eAAe,KAAG,MAmBpD,CAAC;AAEF,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/cli/templates/source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,eAAO,MAAM,aAAa,scAYzB,CAAC;AAEF,eAAO,MAAM,eAAe,2XAU3B,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,SAAS,eAAe,KAAG,MACG,CAAC;AAI5D,eAAO,MAAM,SAAS,GAAI,SAAS,eAAe,KAAG,MAmBpD,CAAC;AAEF,eAAO,MAAM,iBAAiB,6/BAuB7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,s+BAuB/B,CAAC;AA8EF,eAAO,MAAM,eAAe,GAAI,SAAS,eAAe,KAAG,MAG1D,CAAC;AAEF,eAAO,MAAM,oBAAoB,4mCAyChC,CAAC;AAEF,eAAO,MAAM,0BAA0B,6uCA2CtC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,SAAS,eAAe,KAAG,MACqB,CAAC"}
|
|
@@ -57,7 +57,7 @@ const app = createCovara({ cors: true, adminUI: true }).resource(todos, {
|
|
|
57
57
|
db,
|
|
58
58
|
id: todos.id,
|
|
59
59
|
// Fully public so the starter works end-to-end. Lock this down with auth
|
|
60
|
-
// scopes before deploying: https://github.
|
|
60
|
+
// scopes before deploying: https://kahveciderin.github.io/covara/auth/overview
|
|
61
61
|
auth: scopePatterns.fullyPublic(),
|
|
62
62
|
});
|
|
63
63
|
|
|
@@ -81,7 +81,7 @@ const app = createCovara({ cors: true, adminUI: true }).resource(todos, {
|
|
|
81
81
|
db,
|
|
82
82
|
id: todos.id,
|
|
83
83
|
// Fully public so the starter works end-to-end. Lock this down with auth
|
|
84
|
-
// scopes before deploying: https://github.
|
|
84
|
+
// scopes before deploying: https://kahveciderin.github.io/covara/auth/overview
|
|
85
85
|
auth: scopePatterns.fullyPublic(),
|
|
86
86
|
});
|
|
87
87
|
|
|
@@ -126,7 +126,7 @@ const app = createCovara({ cors: true, adminUI: true }).resource(todos, {
|
|
|
126
126
|
db,
|
|
127
127
|
id: todos.id,
|
|
128
128
|
// Fully public so the starter works end-to-end. Lock this down with auth
|
|
129
|
-
// scopes before deploying: https://github.
|
|
129
|
+
// scopes before deploying: https://kahveciderin.github.io/covara/auth/overview
|
|
130
130
|
auth: scopePatterns.fullyPublic(),
|
|
131
131
|
});
|
|
132
132
|
|
|
@@ -197,7 +197,7 @@ const buildApp = (env: Env): CovaraApp => {
|
|
|
197
197
|
db,
|
|
198
198
|
id: todos.id,
|
|
199
199
|
// Fully public so the starter works end-to-end. Lock this down with auth
|
|
200
|
-
// scopes before deploying: https://github.
|
|
200
|
+
// scopes before deploying: https://kahveciderin.github.io/covara/auth/overview
|
|
201
201
|
auth: scopePatterns.fullyPublic(),
|
|
202
202
|
});
|
|
203
203
|
};
|
|
@@ -241,7 +241,7 @@ const buildApp = (env: Env): CovaraApp => {
|
|
|
241
241
|
db,
|
|
242
242
|
id: todos.id,
|
|
243
243
|
// Fully public so the starter works end-to-end. Lock this down with auth
|
|
244
|
-
// scopes before deploying: https://github.
|
|
244
|
+
// scopes before deploying: https://kahveciderin.github.io/covara/auth/overview
|
|
245
245
|
auth: scopePatterns.fullyPublic(),
|
|
246
246
|
});
|
|
247
247
|
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-side CAPTCHA support (BETA). The library cannot silently solve a human
|
|
3
|
+
* CAPTCHA, so the app supplies a `CaptchaSolver` (or, in React, the
|
|
4
|
+
* `<CovaraCaptcha/>` component registers one that renders the provider widget).
|
|
5
|
+
*
|
|
6
|
+
* `loadCaptchaWidget` is a browser-only helper that injects the provider script
|
|
7
|
+
* once and renders its widget into a container, resolving with the token.
|
|
8
|
+
*/
|
|
9
|
+
export interface CaptchaChallenge {
|
|
10
|
+
provider: string;
|
|
11
|
+
siteKey?: string;
|
|
12
|
+
action?: string;
|
|
13
|
+
}
|
|
14
|
+
export type CaptchaSolver = (challenge: CaptchaChallenge) => Promise<string | null>;
|
|
15
|
+
export interface PendingCaptcha {
|
|
16
|
+
challenge: CaptchaChallenge;
|
|
17
|
+
resolve: (token: string | null) => void;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* React-agnostic queue bridging the transport's `CaptchaSolver` to a UI. The
|
|
21
|
+
* `solver` parks an incoming challenge and returns a promise; a UI subscribes,
|
|
22
|
+
* renders the widget, and calls `resolveCurrent(token)` to fulfill it. Kept
|
|
23
|
+
* outside React so the logic is testable without a DOM.
|
|
24
|
+
*/
|
|
25
|
+
export declare class CaptchaController {
|
|
26
|
+
private pending;
|
|
27
|
+
private readonly listeners;
|
|
28
|
+
readonly solver: CaptchaSolver;
|
|
29
|
+
subscribe: (cb: () => void) => (() => void);
|
|
30
|
+
getCurrent: () => PendingCaptcha | null;
|
|
31
|
+
resolveCurrent(token: string | null): void;
|
|
32
|
+
private emit;
|
|
33
|
+
}
|
|
34
|
+
/** Shared controller used by the React `<CovaraCaptcha/>` component. */
|
|
35
|
+
export declare const captchaController: CaptchaController;
|
|
36
|
+
/**
|
|
37
|
+
* Render a provider widget into `container` and resolve with the solved token.
|
|
38
|
+
* Browser-only. Throws for unknown providers (supply your own solver instead).
|
|
39
|
+
*/
|
|
40
|
+
export declare const loadCaptchaWidget: (challenge: CaptchaChallenge, container: HTMLElement) => Promise<string>;
|
|
41
|
+
//# sourceMappingURL=captcha.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"captcha.d.ts","sourceRoot":"","sources":["../../src/client/captcha.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,gBAAgB,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAEpF,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACzC;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IAEnD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAOzB;IAEL,SAAS,GAAI,IAAI,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAKxC;IAEF,UAAU,QAAO,cAAc,GAAG,IAAI,CAAiB;IAEvD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAO1C,OAAO,CAAC,IAAI;CAGb;AAED,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,mBAA0B,CAAC;AAgDzD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,WAAW,gBAAgB,EAC3B,WAAW,WAAW,KACrB,OAAO,CAAC,MAAM,CAqBhB,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-side CAPTCHA support (BETA). The library cannot silently solve a human
|
|
3
|
+
* CAPTCHA, so the app supplies a `CaptchaSolver` (or, in React, the
|
|
4
|
+
* `<CovaraCaptcha/>` component registers one that renders the provider widget).
|
|
5
|
+
*
|
|
6
|
+
* `loadCaptchaWidget` is a browser-only helper that injects the provider script
|
|
7
|
+
* once and renders its widget into a container, resolving with the token.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* React-agnostic queue bridging the transport's `CaptchaSolver` to a UI. The
|
|
11
|
+
* `solver` parks an incoming challenge and returns a promise; a UI subscribes,
|
|
12
|
+
* renders the widget, and calls `resolveCurrent(token)` to fulfill it. Kept
|
|
13
|
+
* outside React so the logic is testable without a DOM.
|
|
14
|
+
*/
|
|
15
|
+
export class CaptchaController {
|
|
16
|
+
constructor() {
|
|
17
|
+
this.pending = null;
|
|
18
|
+
this.listeners = new Set();
|
|
19
|
+
this.solver = (challenge) => new Promise((resolve) => {
|
|
20
|
+
// A challenge arriving while one is pending supersedes it; resolve the
|
|
21
|
+
// stale one as unsolved so its request fails cleanly.
|
|
22
|
+
this.pending?.resolve(null);
|
|
23
|
+
this.pending = { challenge, resolve };
|
|
24
|
+
this.emit();
|
|
25
|
+
});
|
|
26
|
+
this.subscribe = (cb) => {
|
|
27
|
+
this.listeners.add(cb);
|
|
28
|
+
return () => {
|
|
29
|
+
this.listeners.delete(cb);
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
this.getCurrent = () => this.pending;
|
|
33
|
+
}
|
|
34
|
+
resolveCurrent(token) {
|
|
35
|
+
const pending = this.pending;
|
|
36
|
+
this.pending = null;
|
|
37
|
+
this.emit();
|
|
38
|
+
pending?.resolve(token);
|
|
39
|
+
}
|
|
40
|
+
emit() {
|
|
41
|
+
for (const l of this.listeners)
|
|
42
|
+
l();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/** Shared controller used by the React `<CovaraCaptcha/>` component. */
|
|
46
|
+
export const captchaController = new CaptchaController();
|
|
47
|
+
const SCRIPTS = {
|
|
48
|
+
turnstile: { src: "https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit", global: "turnstile" },
|
|
49
|
+
hcaptcha: { src: "https://js.hcaptcha.com/1/api.js?render=explicit", global: "hcaptcha" },
|
|
50
|
+
recaptcha: { src: "https://www.google.com/recaptcha/api.js?render=explicit", global: "grecaptcha" },
|
|
51
|
+
};
|
|
52
|
+
const loadScript = (src) => new Promise((resolve, reject) => {
|
|
53
|
+
const existing = document.querySelector(`script[src="${src}"]`);
|
|
54
|
+
if (existing) {
|
|
55
|
+
if (existing.dataset.loaded === "true")
|
|
56
|
+
return resolve();
|
|
57
|
+
existing.addEventListener("load", () => resolve());
|
|
58
|
+
existing.addEventListener("error", () => reject(new Error(`Failed to load ${src}`)));
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const script = document.createElement("script");
|
|
62
|
+
script.src = src;
|
|
63
|
+
script.async = true;
|
|
64
|
+
script.defer = true;
|
|
65
|
+
script.addEventListener("load", () => {
|
|
66
|
+
script.dataset.loaded = "true";
|
|
67
|
+
resolve();
|
|
68
|
+
});
|
|
69
|
+
script.addEventListener("error", () => reject(new Error(`Failed to load ${src}`)));
|
|
70
|
+
document.head.appendChild(script);
|
|
71
|
+
});
|
|
72
|
+
const waitForGlobal = (name, timeoutMs = 10000) => new Promise((resolve, reject) => {
|
|
73
|
+
const start = Date.now();
|
|
74
|
+
const tick = () => {
|
|
75
|
+
const api = globalThis[name];
|
|
76
|
+
if (api && typeof api.render === "function")
|
|
77
|
+
return resolve(api);
|
|
78
|
+
if (Date.now() - start > timeoutMs)
|
|
79
|
+
return reject(new Error(`CAPTCHA provider "${name}" did not load`));
|
|
80
|
+
setTimeout(tick, 50);
|
|
81
|
+
};
|
|
82
|
+
tick();
|
|
83
|
+
});
|
|
84
|
+
/**
|
|
85
|
+
* Render a provider widget into `container` and resolve with the solved token.
|
|
86
|
+
* Browser-only. Throws for unknown providers (supply your own solver instead).
|
|
87
|
+
*/
|
|
88
|
+
export const loadCaptchaWidget = async (challenge, container) => {
|
|
89
|
+
if (typeof document === "undefined") {
|
|
90
|
+
throw new Error("loadCaptchaWidget can only run in a browser");
|
|
91
|
+
}
|
|
92
|
+
const entry = SCRIPTS[challenge.provider];
|
|
93
|
+
if (!entry) {
|
|
94
|
+
throw new Error(`Unknown CAPTCHA provider "${challenge.provider}"; provide a custom captcha solver`);
|
|
95
|
+
}
|
|
96
|
+
if (!challenge.siteKey) {
|
|
97
|
+
throw new Error(`CAPTCHA challenge for "${challenge.provider}" is missing a site key`);
|
|
98
|
+
}
|
|
99
|
+
await loadScript(entry.src);
|
|
100
|
+
const api = await waitForGlobal(entry.global);
|
|
101
|
+
return new Promise((resolve, reject) => {
|
|
102
|
+
api.render(container, {
|
|
103
|
+
sitekey: challenge.siteKey,
|
|
104
|
+
action: challenge.action,
|
|
105
|
+
callback: (token) => resolve(token),
|
|
106
|
+
"error-callback": () => reject(new Error("CAPTCHA widget error")),
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=captcha.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"captcha.js","sourceRoot":"","sources":["../../src/client/captcha.ts"],"names":[],"mappings":"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"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -4,6 +4,10 @@ import { JWTClientConfig } from "./jwt.js";
|
|
|
4
4
|
import type { DateFieldRegistry } from "./dates.js";
|
|
5
5
|
export { getClient, setGlobalClient, getAuthErrorHandler } from "./globals.js";
|
|
6
6
|
export type { CovaraClient } from "./types.js";
|
|
7
|
+
export { solvePowChallenge } from "./pow.js";
|
|
8
|
+
export type { PowClientConfig } from "./pow.js";
|
|
9
|
+
export { loadCaptchaWidget } from "./captcha.js";
|
|
10
|
+
export type { CaptchaChallenge, CaptchaSolver } from "./captcha.js";
|
|
7
11
|
export interface SimplifiedClientConfig {
|
|
8
12
|
baseUrl: string;
|
|
9
13
|
headers?: Record<string, string>;
|
|
@@ -17,6 +21,20 @@ export interface SimplifiedClientConfig {
|
|
|
17
21
|
jwt?: Omit<JWTClientConfig, "baseUrl">;
|
|
18
22
|
/** Opt into automatic ISO date-string -> Date conversion (see TransportConfig.parseDates). */
|
|
19
23
|
parseDates?: boolean | DateFieldRegistry;
|
|
24
|
+
/** Transparent proof-of-work challenge solving (enabled by default). */
|
|
25
|
+
pow?: {
|
|
26
|
+
enabled?: boolean;
|
|
27
|
+
maxAttempts?: number;
|
|
28
|
+
};
|
|
29
|
+
/** CAPTCHA challenge handling (BETA). In React, prefer `<CovaraCaptcha/>`. */
|
|
30
|
+
captcha?: {
|
|
31
|
+
solve?: (challenge: {
|
|
32
|
+
provider: string;
|
|
33
|
+
siteKey?: string;
|
|
34
|
+
action?: string;
|
|
35
|
+
}) => Promise<string | null>;
|
|
36
|
+
maxAttempts?: number;
|
|
37
|
+
};
|
|
20
38
|
/** Configure the typed billing client (mounted server-side, default `/api/billing`). */
|
|
21
39
|
billing?: {
|
|
22
40
|
basePath?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,aAAa,EAAE,YAAY,EAAmE,MAAM,SAAS,CAAC;AAQrJ,OAAO,EAEL,gBAAgB,EACjB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAA8B,eAAe,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC5E,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
package/dist/client/index.js
CHANGED
|
@@ -7,6 +7,8 @@ import { createAuthManager, } from "./auth/index.js";
|
|
|
7
7
|
import { createJWTClient } from "./jwt.js";
|
|
8
8
|
import { createBillingClient } from "./billing.js";
|
|
9
9
|
export { getClient, setGlobalClient, getAuthErrorHandler } from "./globals.js";
|
|
10
|
+
export { solvePowChallenge } from "./pow.js";
|
|
11
|
+
export { loadCaptchaWidget } from "./captcha.js";
|
|
10
12
|
export const createClient = (config) => {
|
|
11
13
|
const auth = createAuthManager();
|
|
12
14
|
let jwtClient;
|
|
@@ -16,6 +18,8 @@ export const createClient = (config) => {
|
|
|
16
18
|
credentials: config.credentials,
|
|
17
19
|
timeout: config.timeout,
|
|
18
20
|
parseDates: config.parseDates,
|
|
21
|
+
pow: config.pow,
|
|
22
|
+
captcha: config.captcha,
|
|
19
23
|
refreshAuth: async () => {
|
|
20
24
|
if (jwtClient?.isAuthenticated()) {
|
|
21
25
|
const tokens = await jwtClient.refresh();
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-side proof-of-work solver. Wraps the isomorphic core solver so the
|
|
3
|
+
* transport can transparently answer a 428 challenge. The loop is synchronous
|
|
4
|
+
* but yields to the caller via a Promise; for very high difficulties consider
|
|
5
|
+
* offloading to a Web Worker.
|
|
6
|
+
*/
|
|
7
|
+
import { type PowAlgorithm } from "../pow/core.js";
|
|
8
|
+
export interface PowClientConfig {
|
|
9
|
+
/** Defaults to true. Set false to disable transparent challenge solving. */
|
|
10
|
+
enabled?: boolean;
|
|
11
|
+
/** Max number of challenge/solve round-trips per request (default 3). */
|
|
12
|
+
maxAttempts?: number;
|
|
13
|
+
}
|
|
14
|
+
export declare const solvePowChallenge: (token: string, difficulty: number, algorithm?: PowAlgorithm) => Promise<string>;
|
|
15
|
+
//# sourceMappingURL=pow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pow.d.ts","sourceRoot":"","sources":["../../src/client/pow.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,iBAAiB,GAC5B,OAAO,MAAM,EACb,YAAY,MAAM,EAClB,YAAW,YAAuB,KACjC,OAAO,CAAC,MAAM,CAAqD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-side proof-of-work solver. Wraps the isomorphic core solver so the
|
|
3
|
+
* transport can transparently answer a 428 challenge. The loop is synchronous
|
|
4
|
+
* but yields to the caller via a Promise; for very high difficulties consider
|
|
5
|
+
* offloading to a Web Worker.
|
|
6
|
+
*/
|
|
7
|
+
import { solveChallenge } from "../pow/core.js";
|
|
8
|
+
export const solvePowChallenge = async (token, difficulty, algorithm = "sha256") => solveChallenge(token, difficulty, { algorithm });
|
|
9
|
+
//# sourceMappingURL=pow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pow.js","sourceRoot":"","sources":["../../src/client/pow.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAqB,MAAM,YAAY,CAAC;AAS/D,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,KAAa,EACb,UAAkB,EAClB,YAA0B,QAAQ,EACjB,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC"}
|
package/dist/client/react.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import type { LiveListResourceClient, SearchableResourceClient, SearchOptions, LiveQueryLike, ResourceClient, AggregateOptions, AggregationResponse, CovaraClient } from "./types.js";
|
|
2
3
|
import { LiveQueryOptions, LiveQueryMutations } from "./live-store.js";
|
|
3
4
|
import { MutationOptions, MutationState, ResourceMutationVars } from "./mutation.js";
|
|
4
5
|
import type { InvalidateTarget } from "./query-cache.js";
|
|
6
|
+
import { type CaptchaChallenge } from "./captcha.js";
|
|
5
7
|
export type LiveStatus = "loading" | "live" | "reconnecting" | "offline" | "error";
|
|
6
8
|
export interface UseLiveListOptions<T extends {
|
|
7
9
|
id: string;
|
|
@@ -253,4 +255,30 @@ export type { UseJWTAuthResult, } from "./react-jwt.js";
|
|
|
253
255
|
export { useCredits, useSubscription, useCheckout, } from "./react-billing.js";
|
|
254
256
|
export type { UseCreditsResult, UseSubscriptionResult, UseCheckoutResult, } from "./react-billing.js";
|
|
255
257
|
export type { BillingClient, BillingSubscription, SubscriptionStatus, CheckoutInput, CheckoutResult, PortalResult, } from "./billing.js";
|
|
258
|
+
/**
|
|
259
|
+
* Observe the pending CAPTCHA challenge (if any). Useful for building a custom
|
|
260
|
+
* CAPTCHA UI; resolve it with `captchaController.resolveCurrent(token)`.
|
|
261
|
+
*/
|
|
262
|
+
export declare function useCaptcha(): {
|
|
263
|
+
pending: CaptchaChallenge | null;
|
|
264
|
+
};
|
|
265
|
+
export interface CovaraCaptchaProps {
|
|
266
|
+
/** Client to register the solver on (defaults to the global client). */
|
|
267
|
+
client?: CovaraClient;
|
|
268
|
+
/** Class for the overlay wrapper. */
|
|
269
|
+
className?: string;
|
|
270
|
+
/** Class for the widget container. */
|
|
271
|
+
containerClassName?: string;
|
|
272
|
+
/** Heading text shown above the widget. */
|
|
273
|
+
title?: string;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Mount once near the app root. Registers a CAPTCHA solver on the client; when
|
|
277
|
+
* the server issues a CAPTCHA challenge it renders the provider widget in a
|
|
278
|
+
* modal (or silently, for invisible providers) and resolves the token so the
|
|
279
|
+
* transport retries transparently.
|
|
280
|
+
*/
|
|
281
|
+
export declare function CovaraCaptcha(props: CovaraCaptchaProps): ReactNode;
|
|
282
|
+
export { captchaController, loadCaptchaWidget } from "./captcha.js";
|
|
283
|
+
export type { CaptchaChallenge, CaptchaSolver, PendingCaptcha } from "./captcha.js";
|
|
256
284
|
//# sourceMappingURL=react.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/client/react.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/client/react.ts"],"names":[],"mappings":"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"}
|
package/dist/client/react.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { useSyncExternalStore, useRef, useEffect, useCallback, useState, useMemo } from "react";
|
|
1
|
+
import { useSyncExternalStore, useRef, useEffect, useCallback, useState, useMemo, createElement } from "react";
|
|
2
2
|
import { getClient, getAuthErrorHandler } from "./globals.js";
|
|
3
3
|
import { createLiveQuery, statusLabel } from "./live-store.js";
|
|
4
4
|
import { createMutation, resourceMutationFn } from "./mutation.js";
|
|
5
|
+
import { captchaController, loadCaptchaWidget } from "./captcha.js";
|
|
5
6
|
/**
|
|
6
7
|
* Live list hook that handles real-time subscriptions, optimistic updates, and offline support.
|
|
7
8
|
*
|
|
@@ -713,4 +714,79 @@ export { statusLabel } from "./live-store.js";
|
|
|
713
714
|
export { useFileUpload, useFile, useFiles, } from "./react-files.js";
|
|
714
715
|
export { useJWTAuth, initJWTClient, getJWTClient, } from "./react-jwt.js";
|
|
715
716
|
export { useCredits, useSubscription, useCheckout, } from "./react-billing.js";
|
|
717
|
+
// ---------------------------------------------------------------------------
|
|
718
|
+
// CAPTCHA (BETA)
|
|
719
|
+
// ---------------------------------------------------------------------------
|
|
720
|
+
const safeGetClient = (explicit) => {
|
|
721
|
+
if (explicit)
|
|
722
|
+
return explicit;
|
|
723
|
+
try {
|
|
724
|
+
return getClient();
|
|
725
|
+
}
|
|
726
|
+
catch {
|
|
727
|
+
return null;
|
|
728
|
+
}
|
|
729
|
+
};
|
|
730
|
+
/**
|
|
731
|
+
* Observe the pending CAPTCHA challenge (if any). Useful for building a custom
|
|
732
|
+
* CAPTCHA UI; resolve it with `captchaController.resolveCurrent(token)`.
|
|
733
|
+
*/
|
|
734
|
+
export function useCaptcha() {
|
|
735
|
+
const current = useSyncExternalStore(captchaController.subscribe, captchaController.getCurrent, captchaController.getCurrent);
|
|
736
|
+
return { pending: current?.challenge ?? null };
|
|
737
|
+
}
|
|
738
|
+
const overlayStyle = {
|
|
739
|
+
position: "fixed",
|
|
740
|
+
inset: "0",
|
|
741
|
+
display: "flex",
|
|
742
|
+
alignItems: "center",
|
|
743
|
+
justifyContent: "center",
|
|
744
|
+
background: "rgba(0,0,0,0.5)",
|
|
745
|
+
zIndex: 2147483647,
|
|
746
|
+
};
|
|
747
|
+
const cardStyle = {
|
|
748
|
+
background: "#fff",
|
|
749
|
+
borderRadius: "12px",
|
|
750
|
+
padding: "20px",
|
|
751
|
+
boxShadow: "0 10px 40px rgba(0,0,0,0.2)",
|
|
752
|
+
maxWidth: "90vw",
|
|
753
|
+
};
|
|
754
|
+
/**
|
|
755
|
+
* Mount once near the app root. Registers a CAPTCHA solver on the client; when
|
|
756
|
+
* the server issues a CAPTCHA challenge it renders the provider widget in a
|
|
757
|
+
* modal (or silently, for invisible providers) and resolves the token so the
|
|
758
|
+
* transport retries transparently.
|
|
759
|
+
*/
|
|
760
|
+
export function CovaraCaptcha(props) {
|
|
761
|
+
const containerRef = useRef(null);
|
|
762
|
+
const { pending } = useCaptcha();
|
|
763
|
+
useEffect(() => {
|
|
764
|
+
const client = safeGetClient(props.client);
|
|
765
|
+
if (!client)
|
|
766
|
+
return;
|
|
767
|
+
client.transport.setCaptchaSolver(captchaController.solver);
|
|
768
|
+
return () => client.transport.setCaptchaSolver(undefined);
|
|
769
|
+
}, [props.client]);
|
|
770
|
+
useEffect(() => {
|
|
771
|
+
if (!pending || !containerRef.current)
|
|
772
|
+
return;
|
|
773
|
+
let cancelled = false;
|
|
774
|
+
loadCaptchaWidget(pending, containerRef.current)
|
|
775
|
+
.then((token) => {
|
|
776
|
+
if (!cancelled)
|
|
777
|
+
captchaController.resolveCurrent(token);
|
|
778
|
+
})
|
|
779
|
+
.catch(() => {
|
|
780
|
+
if (!cancelled)
|
|
781
|
+
captchaController.resolveCurrent(null);
|
|
782
|
+
});
|
|
783
|
+
return () => {
|
|
784
|
+
cancelled = true;
|
|
785
|
+
};
|
|
786
|
+
}, [pending]);
|
|
787
|
+
if (!pending)
|
|
788
|
+
return null;
|
|
789
|
+
return createElement("div", { className: props.className, style: overlayStyle }, createElement("div", { style: cardStyle }, createElement("p", { style: { margin: "0 0 12px", font: "500 14px system-ui" } }, props.title ?? "Please complete the verification"), createElement("div", { ref: containerRef, className: props.containerClassName })));
|
|
790
|
+
}
|
|
791
|
+
export { captchaController, loadCaptchaWidget } from "./captcha.js";
|
|
716
792
|
//# sourceMappingURL=react.js.map
|