@rei-standard/amsg-server 2.6.0-next.9 → 3.0.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.
Files changed (91) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +822 -41
  3. package/dist/adapters/d1.d.ts +693 -0
  4. package/dist/adapters/factory.d.ts +39 -0
  5. package/dist/adapters/interface.d.ts +384 -0
  6. package/dist/adapters/neon.d.ts +105 -0
  7. package/dist/adapters/pg-shared.d.ts +194 -0
  8. package/dist/adapters/pg.d.ts +101 -0
  9. package/dist/adapters/schema.d.ts +57 -0
  10. package/dist/adapters/schema.sqlite.d.ts +80 -0
  11. package/dist/chunk-7NMQFTDJ.cjs +148 -0
  12. package/dist/{chunk-GOBCWCJP.mjs → chunk-GN44PST5.mjs} +68 -1
  13. package/dist/chunk-RL7V7VSS.mjs +8784 -0
  14. package/dist/chunk-TKDISKCF.cjs +163 -0
  15. package/dist/chunk-XKUWMYVF.mjs +163 -0
  16. package/dist/chunk-YBDQJVFQ.cjs +8784 -0
  17. package/dist/cloudflare/single-user-worker.d.ts +39 -0
  18. package/dist/cloudflare.cjs +35 -2
  19. package/dist/cloudflare.d.ts +11 -2
  20. package/dist/cloudflare.mjs +36 -3
  21. package/dist/handlers/cancel-message.d.ts +3 -0
  22. package/dist/handlers/capabilities.d.ts +4 -0
  23. package/dist/handlers/client-state-namespaces.d.ts +5 -0
  24. package/dist/handlers/client-state.d.ts +7 -0
  25. package/dist/handlers/cloud-data.d.ts +4 -0
  26. package/dist/handlers/get-message.d.ts +3 -0
  27. package/dist/handlers/get-user-key.d.ts +3 -0
  28. package/dist/handlers/init-tenant.d.ts +23 -0
  29. package/dist/handlers/llm-credentials.d.ts +5 -0
  30. package/dist/handlers/messages.d.ts +3 -0
  31. package/dist/handlers/outbox.d.ts +9 -0
  32. package/dist/handlers/push-subscription.d.ts +5 -0
  33. package/dist/handlers/schedule-message.d.ts +3 -0
  34. package/dist/handlers/send-notifications.d.ts +3 -0
  35. package/dist/handlers/single-user-init.d.ts +13 -0
  36. package/dist/handlers/update-message.d.ts +3 -0
  37. package/dist/handlers/vapid-public-key.d.ts +19 -0
  38. package/dist/index.cjs +133 -44
  39. package/dist/index.d.cts +145 -766
  40. package/dist/index.d.ts +145 -766
  41. package/dist/index.mjs +125 -36
  42. package/dist/lib/agentic-fire.d.ts +177 -0
  43. package/dist/lib/client-state-store.d.ts +88 -0
  44. package/dist/lib/cloud-data-cleanup.d.ts +36 -0
  45. package/dist/lib/cloud-data-guard.d.ts +14 -0
  46. package/dist/lib/cloud-data-inventory.d.ts +15 -0
  47. package/dist/lib/constant-time.d.ts +14 -0
  48. package/dist/lib/db-errors.d.ts +10 -0
  49. package/dist/lib/encryption.d.ts +48 -0
  50. package/dist/lib/errors.d.ts +273 -0
  51. package/dist/lib/llm-credentials-store.d.ts +147 -0
  52. package/dist/lib/llm.d.ts +12 -0
  53. package/dist/lib/message-processor.d.ts +82 -0
  54. package/dist/lib/outbox-store.d.ts +162 -0
  55. package/dist/lib/push-policy.d.ts +11 -0
  56. package/dist/lib/push-subscription-store.d.ts +94 -0
  57. package/dist/lib/recurrence.d.ts +51 -0
  58. package/dist/lib/request.d.ts +182 -0
  59. package/dist/lib/result-emitter.d.ts +60 -0
  60. package/dist/lib/retry-policy.d.ts +11 -0
  61. package/dist/lib/run-tick.d.ts +121 -0
  62. package/dist/lib/schema-version.d.ts +50 -0
  63. package/dist/lib/state-accessors.d.ts +70 -0
  64. package/dist/lib/state-chunks.d.ts +65 -0
  65. package/dist/lib/task-projection.d.ts +92 -0
  66. package/dist/lib/validation.d.ts +97 -0
  67. package/dist/lib/version.d.ts +7 -0
  68. package/dist/lib/webcrypto-utils.d.ts +1 -0
  69. package/dist/lib/webpush-webcrypto.d.ts +78 -0
  70. package/dist/{neon-QJ7KYHEX.mjs → neon-GKLT4UY3.mjs} +116 -44
  71. package/dist/{neon-V4VOH55N.cjs → neon-XHPJZESV.cjs} +121 -49
  72. package/dist/{pg-6X74HKMX.cjs → pg-FHXQ6BJP.cjs} +109 -48
  73. package/dist/{pg-DFJSFOJQ.mjs → pg-J4YXRQP5.mjs} +104 -43
  74. package/dist/single-user.d.ts +106 -0
  75. package/dist/tenant/blob-store.d.ts +30 -0
  76. package/dist/tenant/context.d.ts +47 -0
  77. package/dist/tenant/single-user-context.d.ts +29 -0
  78. package/dist/tenant/token.d.ts +26 -0
  79. package/package.json +3 -3
  80. package/dist/chunk-3QRVP4JE.cjs +0 -2834
  81. package/dist/chunk-DCKCAGFV.cjs +0 -81
  82. package/dist/chunk-S6O3MXQO.mjs +0 -2834
  83. package/dist/cloudflare-kUY6z-k5.d.cts +0 -4460
  84. package/dist/cloudflare-kUY6z-k5.d.ts +0 -4460
  85. package/dist/cloudflare.d.cts +0 -2
  86. package/dist/neon-D8Z2Nn97.d.cts +0 -295
  87. package/dist/neon-PqNFJIz2.d.ts +0 -295
  88. package/dist/pg-C48FwCWW.d.cts +0 -289
  89. package/dist/pg-C5gtWUfU.d.ts +0 -289
  90. package/dist/schema-BHuyH_6Z.d.cts +0 -88
  91. package/dist/schema-BHuyH_6Z.d.ts +0 -88
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @param {{
3
+ * tenantStore: ReturnType<import('./blob-store.js').createTenantBlobStore>,
4
+ * tokenSigningKey: string,
5
+ * publicBaseUrl?: string
6
+ * }} options
7
+ */
8
+ export function createTenantContextManager(options: {
9
+ tenantStore: ReturnType<typeof import("./blob-store.js").createTenantBlobStore>;
10
+ tokenSigningKey: string;
11
+ publicBaseUrl?: string;
12
+ }): {
13
+ initializeTenant: ({ driver, connectionString, tenantId: providedTenantId }: {
14
+ driver: any;
15
+ connectionString: any;
16
+ tenantId: any;
17
+ }) => Promise<{
18
+ tenantId: string;
19
+ masterKeyFingerprint: string;
20
+ tenantToken: string;
21
+ cronToken: string;
22
+ cronWebhookUrl: string;
23
+ }>;
24
+ resolveTenant: (headers: any, options?: {}) => Promise<{
25
+ ok: boolean;
26
+ error: {
27
+ status: number;
28
+ body: {
29
+ success: boolean;
30
+ error: {
31
+ code: string;
32
+ message: string;
33
+ };
34
+ };
35
+ };
36
+ context?: undefined;
37
+ } | {
38
+ ok: boolean;
39
+ context: {
40
+ tenantId: any;
41
+ tokenType: any;
42
+ db: any;
43
+ masterKey: any;
44
+ };
45
+ error?: undefined;
46
+ }>;
47
+ };
@@ -0,0 +1,29 @@
1
+ export function createSingleUserContextManager({ db, masterKey, serverToken }?: {}): {
2
+ resolveTenant: (headers: any) => Promise<{
3
+ ok: boolean;
4
+ error: {
5
+ status: number;
6
+ body: {
7
+ success: boolean;
8
+ error: {
9
+ code: string;
10
+ message: string;
11
+ };
12
+ };
13
+ };
14
+ context?: undefined;
15
+ } | {
16
+ ok: boolean;
17
+ context: {
18
+ tenantId: string;
19
+ tokenType: string;
20
+ db: any;
21
+ masterKey: any;
22
+ };
23
+ error?: undefined;
24
+ }>;
25
+ initializeTenant: () => Promise<{
26
+ tenantId: string;
27
+ schema: any;
28
+ }>;
29
+ };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @typedef {'tenant'|'cron'} TokenType
3
+ */
4
+ /**
5
+ * @param {{ tenantId: string, type: TokenType, expiresInSeconds?: number }} params
6
+ * @param {string} secret
7
+ */
8
+ export function createTenantToken(params: {
9
+ tenantId: string;
10
+ type: TokenType;
11
+ expiresInSeconds?: number;
12
+ }, secret: string): string;
13
+ /**
14
+ * @param {string} token
15
+ * @param {string} secret
16
+ * @param {{ expectedTypes?: TokenType[] }} [options]
17
+ */
18
+ export function verifyTenantToken(token: string, secret: string, options?: {
19
+ expectedTypes?: TokenType[];
20
+ }): any;
21
+ /**
22
+ * @param {Record<string, any>} headers
23
+ * @returns {string}
24
+ */
25
+ export function extractBearerToken(headers?: Record<string, any>): string;
26
+ export type TokenType = "tenant" | "cron";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rei-standard/amsg-server",
3
- "version": "2.6.0-next.9",
3
+ "version": "3.0.0",
4
4
  "description": "ReiStandard Active Messaging server SDK with pluggable database adapters. Three-axis push schema (messageKind / messageType / messageSubtype) from @rei-standard/amsg-shared. Auto-emits ReasoningPush when the LLM response carries reasoning_content.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,7 +31,7 @@
31
31
  "dist"
32
32
  ],
33
33
  "scripts": {
34
- "build": "tsup",
34
+ "build": "tsup && tsc -p tsconfig.json && node -e \"require('fs').copyFileSync('dist/index.d.ts', 'dist/index.d.cts')\"",
35
35
  "test": "node --test test/*.test.mjs"
36
36
  },
37
37
  "engines": {
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "@netlify/blobs": "^8.1.0",
42
- "@rei-standard/amsg-shared": "^0.4.0-next.1",
42
+ "@rei-standard/amsg-shared": "^0.4.0",
43
43
  "web-push": "^3.6.7"
44
44
  },
45
45
  "peerDependencies": {