@protobase/server 0.57.3 → 0.57.4

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.
@@ -1008,7 +1008,7 @@ export declare const buildAppAuth: (settings: AuthSettings, input: AppAuthInput)
1008
1008
  $Infer: {
1009
1009
  body: {
1010
1010
  permissions: {
1011
- readonly user?: ("get" | "create" | "update" | "delete" | "list" | "set-role" | "ban" | "impersonate" | "set-password" | "set-email" | "impersonate-admins")[] | undefined;
1011
+ readonly user?: ("create" | "update" | "delete" | "list" | "set-role" | "ban" | "impersonate" | "set-password" | "set-email" | "get" | "impersonate-admins")[] | undefined;
1012
1012
  readonly session?: ("delete" | "list" | "revoke")[] | undefined;
1013
1013
  };
1014
1014
  } & {
@@ -1133,7 +1133,7 @@ export declare const createAuth: (options: CreateAuthOptions, plugins?: AuthPlug
1133
1133
  $Infer: {
1134
1134
  body: {
1135
1135
  permissions: {
1136
- readonly user?: ("get" | "create" | "update" | "delete" | "list" | "set-role" | "ban" | "impersonate" | "set-password" | "set-email" | "impersonate-admins")[] | undefined;
1136
+ readonly user?: ("create" | "update" | "delete" | "list" | "set-role" | "ban" | "impersonate" | "set-password" | "set-email" | "get" | "impersonate-admins")[] | undefined;
1137
1137
  readonly session?: ("delete" | "list" | "revoke")[] | undefined;
1138
1138
  };
1139
1139
  } & {
@@ -5,5 +5,10 @@ export type MobileConfig = {
5
5
  appId: string;
6
6
  /** Extra native Capacitor plugins the app needs, as npm name → version range, such as `{ '@capacitor/camera': '^8.0.0' }`. */
7
7
  plugins?: Record<string, string>;
8
+ /**
9
+ * The public key, PEM, of the RSA key in `PROTOBASE_MOBILE_SIGNING_KEY`, which `protobase mobile keys`
10
+ * prints: with it the Android app updates itself, taking only releases signed with that key.
11
+ */
12
+ publicKey?: string;
8
13
  };
9
14
  //#endregion
@@ -0,0 +1,17 @@
1
+ //#region src/mobile-release/release-order.d.ts
2
+ /** What a release's order is computed from: when its bundle was built, and the shell served in place of the bundle's copy. */
3
+ export type ReleaseOrderInput = {
4
+ builtAt?: number;
5
+ shell?: {
6
+ builtAt?: number;
7
+ };
8
+ };
9
+ /**
10
+ * The order of a release: when its bundle was built, then when the server's own shell it serves instead of the
11
+ * bundle's copy was built, 0 with the copy. `undefined` when the bundle or that shell names no build time. The mobile
12
+ * app's built-in files are a bundle's copy, so their order is `[builtAt, 0]`.
13
+ */
14
+ export declare const releaseOrder: ({ builtAt, shell }: ReleaseOrderInput) => number[] | undefined;
15
+ /** An order as the Android live updater reads it, such as `1800000000000,0`. */
16
+ export declare const formatReleaseOrder: (order: number[]) => string;
17
+ //#endregion
@@ -0,0 +1,16 @@
1
+ //#region src/mobile-release/release-order.ts
2
+ /**
3
+ * The order of a release: when its bundle was built, then when the server's own shell it serves instead of the
4
+ * bundle's copy was built, 0 with the copy. `undefined` when the bundle or that shell names no build time. The mobile
5
+ * app's built-in files are a bundle's copy, so their order is `[builtAt, 0]`.
6
+ */
7
+ const releaseOrder = ({ builtAt, shell }) => {
8
+ if (builtAt === void 0) return;
9
+ if (!shell) return [builtAt, 0];
10
+ if (shell.builtAt === void 0) return;
11
+ return [builtAt, shell.builtAt];
12
+ };
13
+ /** An order as the Android live updater reads it, such as `1800000000000,0`. */
14
+ const formatReleaseOrder = (order) => order.join(",");
15
+ //#endregion
16
+ export { formatReleaseOrder, releaseOrder };
@@ -2,5 +2,6 @@ import { MobileRelease, ReleaseFile, ReleaseSigning, ServedReleaseFile, composeR
2
2
  import { MobileReleaseAppInput, OfferedRelease, mobileReleaseApp } from "./mobile-release/release-app.js";
3
3
  import { mobileSigningKeyVariable, readSigningKey } from "./mobile-release/signing-key.js";
4
4
  import { nativeFingerprint } from "./mobile-release/fingerprint.js";
5
+ import { ReleaseOrderInput, formatReleaseOrder, releaseOrder } from "./mobile-release/release-order.js";
5
6
  import { withApiOrigin } from "./mobile-release/api-origin-page.js";
6
- export { type MobileRelease, type MobileReleaseAppInput, type OfferedRelease, type ReleaseFile, type ReleaseSigning, type ServedReleaseFile, composeRelease, mobileReleaseApp, mobileSigningKeyVariable, nativeFingerprint, readSigningKey, releaseManifest, withApiOrigin };
7
+ export { type MobileRelease, type MobileReleaseAppInput, type OfferedRelease, type ReleaseFile, type ReleaseOrderInput, type ReleaseSigning, type ServedReleaseFile, composeRelease, formatReleaseOrder, mobileReleaseApp, mobileSigningKeyVariable, nativeFingerprint, readSigningKey, releaseManifest, releaseOrder, withApiOrigin };
@@ -2,5 +2,6 @@ import { composeRelease, releaseManifest } from "./mobile-release/release.js";
2
2
  import { mobileReleaseApp } from "./mobile-release/release-app.js";
3
3
  import { mobileSigningKeyVariable, readSigningKey } from "./mobile-release/signing-key.js";
4
4
  import { nativeFingerprint } from "./mobile-release/fingerprint.js";
5
+ import { formatReleaseOrder, releaseOrder } from "./mobile-release/release-order.js";
5
6
  import { withApiOrigin } from "./mobile-release/api-origin-page.js";
6
- export { composeRelease, mobileReleaseApp, mobileSigningKeyVariable, nativeFingerprint, readSigningKey, releaseManifest, withApiOrigin };
7
+ export { composeRelease, formatReleaseOrder, mobileReleaseApp, mobileSigningKeyVariable, nativeFingerprint, readSigningKey, releaseManifest, releaseOrder, withApiOrigin };
package/dist/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  //#region package.json
2
- var version = "0.57.3";
2
+ var version = "0.57.4";
3
3
  //#endregion
4
4
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@protobase/server",
3
- "version": "0.57.3",
3
+ "version": "0.57.4",
4
4
  "description": "The Protobase REST API as a Hono app, with Better Auth sign-in.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -41,9 +41,9 @@
41
41
  "@better-auth/passkey": "^1.7.12",
42
42
  "@better-auth/sso": "^1.7.12",
43
43
  "@modelcontextprotocol/server": "^2.3.1",
44
- "@protobase/layout": "0.57.3",
45
- "@protobase/query": "0.57.3",
46
- "@protobase/schema": "0.57.3",
44
+ "@protobase/layout": "0.57.4",
45
+ "@protobase/query": "0.57.4",
46
+ "@protobase/schema": "0.57.4",
47
47
  "@react-email/render": "^2.1.0",
48
48
  "@scalar/hono-api-reference": "^0.12.10",
49
49
  "@sentry/core": "^11.7.0",