@opendatalabs/personal-server-ts-core 0.0.1-canary.6d36513 → 0.0.1-canary.6f87f4d

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 (110) hide show
  1. package/dist/api/index.d.ts +78 -6
  2. package/dist/api/index.d.ts.map +1 -1
  3. package/dist/api/index.js +348 -83
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/auth/request.d.ts.map +1 -1
  6. package/dist/auth/request.js.map +1 -1
  7. package/dist/client.d.ts +8 -1
  8. package/dist/client.d.ts.map +1 -1
  9. package/dist/client.js.map +1 -1
  10. package/dist/contracts/data.d.ts +0 -4
  11. package/dist/contracts/data.d.ts.map +1 -1
  12. package/dist/contracts/data.js +9 -7
  13. package/dist/contracts/data.js.map +1 -1
  14. package/dist/contracts/grants.d.ts +7 -5
  15. package/dist/contracts/grants.d.ts.map +1 -1
  16. package/dist/contracts/grants.js +60 -37
  17. package/dist/contracts/grants.js.map +1 -1
  18. package/dist/grants/index.d.ts +2 -1
  19. package/dist/grants/index.d.ts.map +1 -1
  20. package/dist/grants/index.js +1 -1
  21. package/dist/grants/index.js.map +1 -1
  22. package/dist/mcp/activity.d.ts.map +1 -1
  23. package/dist/mcp/activity.js.map +1 -1
  24. package/dist/mcp/connection-api.d.ts.map +1 -1
  25. package/dist/mcp/connection-api.js +0 -1
  26. package/dist/mcp/connection-api.js.map +1 -1
  27. package/dist/mcp/read-client.d.ts.map +1 -1
  28. package/dist/mcp/read-client.js +26 -7
  29. package/dist/mcp/read-client.js.map +1 -1
  30. package/dist/mcp/resources.d.ts.map +1 -1
  31. package/dist/mcp/resources.js +4 -1
  32. package/dist/mcp/resources.js.map +1 -1
  33. package/dist/mcp/tools.d.ts +1 -1
  34. package/dist/mcp/tools.d.ts.map +1 -1
  35. package/dist/mcp/tools.js +61 -3
  36. package/dist/mcp/tools.js.map +1 -1
  37. package/dist/mcp/types.d.ts.map +1 -1
  38. package/dist/payment/index.d.ts +2 -0
  39. package/dist/payment/index.d.ts.map +1 -0
  40. package/dist/payment/index.js +2 -0
  41. package/dist/payment/index.js.map +1 -0
  42. package/dist/payment/x402.d.ts +155 -0
  43. package/dist/payment/x402.d.ts.map +1 -0
  44. package/dist/payment/x402.js +402 -0
  45. package/dist/payment/x402.js.map +1 -0
  46. package/dist/policy/data-read.d.ts +1 -2
  47. package/dist/policy/data-read.d.ts.map +1 -1
  48. package/dist/policy/data-read.js +39 -52
  49. package/dist/policy/data-read.js.map +1 -1
  50. package/dist/ports/index.d.ts +19 -36
  51. package/dist/ports/index.d.ts.map +1 -1
  52. package/dist/ports/index.js +6 -5
  53. package/dist/ports/index.js.map +1 -1
  54. package/dist/schemas/server-config.d.ts +6 -4
  55. package/dist/schemas/server-config.d.ts.map +1 -1
  56. package/dist/schemas/server-config.js +22 -13
  57. package/dist/schemas/server-config.js.map +1 -1
  58. package/dist/signing/index.d.ts +1 -1
  59. package/dist/signing/index.d.ts.map +1 -1
  60. package/dist/signing/index.js +1 -1
  61. package/dist/signing/index.js.map +1 -1
  62. package/dist/signing/signer.d.ts +19 -25
  63. package/dist/signing/signer.d.ts.map +1 -1
  64. package/dist/signing/signer.js +18 -51
  65. package/dist/signing/signer.js.map +1 -1
  66. package/dist/storage/adapters/interface.d.ts +10 -0
  67. package/dist/storage/adapters/interface.d.ts.map +1 -1
  68. package/dist/storage/adapters/sdk.d.ts +11 -1
  69. package/dist/storage/adapters/sdk.d.ts.map +1 -1
  70. package/dist/storage/adapters/sdk.js +38 -3
  71. package/dist/storage/adapters/sdk.js.map +1 -1
  72. package/dist/storage/adapters/vana.d.ts.map +1 -1
  73. package/dist/storage/adapters/vana.js +30 -2
  74. package/dist/storage/adapters/vana.js.map +1 -1
  75. package/dist/storage/blocks/errors.d.ts.map +1 -1
  76. package/dist/storage/blocks/errors.js.map +1 -1
  77. package/dist/storage/blocks/index.d.ts +1 -0
  78. package/dist/storage/blocks/index.d.ts.map +1 -1
  79. package/dist/storage/blocks/index.js +1 -0
  80. package/dist/storage/blocks/index.js.map +1 -1
  81. package/dist/storage/blocks/types.d.ts.map +1 -1
  82. package/dist/storage/index/manager.d.ts +24 -2
  83. package/dist/storage/index/manager.d.ts.map +1 -1
  84. package/dist/storage/index/schema.d.ts +1 -1
  85. package/dist/storage/index/schema.js +1 -1
  86. package/dist/storage/index/types.d.ts +5 -1
  87. package/dist/storage/index/types.d.ts.map +1 -1
  88. package/dist/sync/engine/sync-manager.d.ts.map +1 -1
  89. package/dist/sync/engine/sync-manager.js +13 -2
  90. package/dist/sync/engine/sync-manager.js.map +1 -1
  91. package/dist/sync/issues.d.ts.map +1 -1
  92. package/dist/sync/issues.js +21 -3
  93. package/dist/sync/issues.js.map +1 -1
  94. package/dist/sync/retry-memory.d.ts +33 -0
  95. package/dist/sync/retry-memory.d.ts.map +1 -0
  96. package/dist/sync/retry-memory.js +68 -0
  97. package/dist/sync/retry-memory.js.map +1 -0
  98. package/dist/sync/workers/delete.d.ts +12 -12
  99. package/dist/sync/workers/delete.d.ts.map +1 -1
  100. package/dist/sync/workers/delete.js +27 -59
  101. package/dist/sync/workers/delete.js.map +1 -1
  102. package/dist/sync/workers/download.d.ts +56 -26
  103. package/dist/sync/workers/download.d.ts.map +1 -1
  104. package/dist/sync/workers/download.js +194 -126
  105. package/dist/sync/workers/download.js.map +1 -1
  106. package/dist/sync/workers/upload.d.ts +20 -9
  107. package/dist/sync/workers/upload.d.ts.map +1 -1
  108. package/dist/sync/workers/upload.js +152 -43
  109. package/dist/sync/workers/upload.js.map +1 -1
  110. package/package.json +7 -3
@@ -1,6 +1,6 @@
1
1
  import type { AccessLogWriter } from "../logging/access-log.js";
2
2
  import type { AccessLogReader } from "../logging/access-reader.js";
3
- import { type DataStoragePort, type RuntimeAvailabilityPort, type SchemaResolverPort, type SchemaRegistrarPort, type FeeVerifierPort } from "../ports/index.js";
3
+ import { type DataStoragePort, type RuntimeAvailabilityPort } from "../ports/index.js";
4
4
  import type { DataReadPolicyPorts } from "../policy/index.js";
5
5
  import type { SyncManager } from "../sync/index.js";
6
6
  import { type OAuthDeviceSessionLookup, type OAuthTokenStorePort } from "../contracts/index.js";
@@ -16,13 +16,28 @@ export interface PersonalServerReadAuthResult {
16
16
  builder?: `0x${string}` | string;
17
17
  grantId?: string;
18
18
  }
19
+ export interface PersonalServerReadFulfillment {
20
+ builder: string;
21
+ fileId?: string;
22
+ grantId: string;
23
+ ipAddress: string;
24
+ logId: string;
25
+ scope: string;
26
+ servedAt: string;
27
+ userAgent: string;
28
+ }
29
+ export interface PersonalServerReadFulfillmentReporter {
30
+ report(event: PersonalServerReadFulfillment): Promise<void>;
31
+ }
19
32
  export interface PersonalServerApiAuthPort {
20
33
  authorizeOwner(request: Request): Promise<void>;
21
34
  authorizeBuilderList(request: Request): Promise<void>;
22
35
  authorizeBuilderRead(input: PersonalServerReadAuthInput): Promise<PersonalServerReadAuthResult | void>;
23
36
  }
24
37
  export interface PersonalServerApiLogger {
38
+ debug?(payload: Record<string, unknown>, message: string): void;
25
39
  info?(payload: Record<string, unknown>, message: string): void;
40
+ warn?(payload: Record<string, unknown>, message: string): void;
26
41
  error?(payload: Record<string, unknown>, message: string): void;
27
42
  }
28
43
  export interface PersonalServerIngestSyncManager {
@@ -34,13 +49,69 @@ export interface PersonalServerIngestSyncManager {
34
49
  export interface PersonalServerDataApiDeps {
35
50
  storage: DataStoragePort;
36
51
  auth: PersonalServerApiAuthPort;
37
- schemaResolver?: SchemaResolverPort;
38
- /** Auto-registers a "no-schema" schema for binary scopes that lack one. */
39
- schemaRegistrar?: SchemaRegistrarPort;
40
52
  accessLogWriter: AccessLogWriter;
41
53
  syncManager?: PersonalServerIngestSyncManager | null;
42
54
  runtimeAvailability?: RuntimeAvailabilityPort;
43
- feeVerifier?: FeeVerifierPort;
55
+ readFulfillmentReporter?: PersonalServerReadFulfillmentReporter;
56
+ /**
57
+ * Required when payment is on. Powers two things on GET /v1/data/:scope:
58
+ * - the X402 challenge generation (fee lookup, accessRecord binding)
59
+ * - the forward of validated X-PAYMENTs to gateway.payForOperation
60
+ *
61
+ * Two channels because the SDK client's payForOperation throws plain
62
+ * Errors on non-2xx and loses the gateway's structured error body — we
63
+ * need that body to map gateway 402/409/400 into fresh challenges.
64
+ */
65
+ gateway?: Pick<GatewayClient, "getGrant">;
66
+ /**
67
+ * Gateway base URL. Used for the direct-fetch forwarding of validated
68
+ * X-PAYMENTs to POST /v1/escrow/pay so we can inspect the gateway's
69
+ * structured error body (which the SDK's gateway.payForOperation
70
+ * discards). Required when X402 is enabled.
71
+ */
72
+ gatewayUrl?: string;
73
+ /**
74
+ * Required to construct escrowPaymentDomain + dataRegistryDomain for
75
+ * EIP-712 signature recovery during X-PAYMENT validation.
76
+ */
77
+ gatewayConfig?: DataPortabilityGatewayConfig;
78
+ /**
79
+ * Required for the X402 flow. Signs RECORD_DATA_ACCESS attestations
80
+ * embedded in 402 challenges. Without it, challenges still issue but
81
+ * never include an accessRecord — gateway accepts the resulting payment
82
+ * but the on-chain recordDataAccess won't be scheduled.
83
+ */
84
+ serverSigner?: Pick<ServerSigner, "signRecordDataAccess">;
85
+ serverOwner?: `0x${string}`;
86
+ /**
87
+ * The server's own account address — accessRecord signatures must
88
+ * recover to this for the X-PAYMENT validation to accept them as
89
+ * server-issued.
90
+ */
91
+ serverAddress?: `0x${string}`;
92
+ /**
93
+ * Identifier echoed in the X402 challenge as `accepts[].network`. Pure
94
+ * convention (e.g. "vana-moksha"); the gateway doesn't read it.
95
+ */
96
+ network?: string;
97
+ /**
98
+ * When true, GET /v1/data/:scope enforces the X402 dance: missing /
99
+ * invalid X-PAYMENT → 402 challenge; valid → forward to gateway then
100
+ * serve. When false (default), reads bypass payment entirely.
101
+ */
102
+ paymentEnabled?: boolean;
103
+ /**
104
+ * Test seam for the gateway forwarding fetch. Defaults to the global
105
+ * `fetch`; tests inject a mock that returns specific gateway statuses.
106
+ */
107
+ paymentFetch?: typeof fetch;
108
+ /**
109
+ * Test seam for the per-event recordId / paymentNonce / clock. Production
110
+ * leaves these unset and the X402 module generates fresh values via
111
+ * crypto.getRandomValues / Date.now.
112
+ */
113
+ generateRecordId?: () => `0x${string}`;
114
+ generatePaymentNonce?: () => bigint;
44
115
  now?: () => Date;
45
116
  createLogId?: () => string;
46
117
  logger?: PersonalServerApiLogger;
@@ -56,7 +127,7 @@ export interface PersonalServerSyncApiDeps {
56
127
  }
57
128
  export interface PersonalServerGrantsApiDeps {
58
129
  auth: Pick<PersonalServerApiAuthPort, "authorizeOwner">;
59
- gateway?: Pick<GatewayClient, "getBuilder" | "createGrant" | "listGrantsByUser" | "revokeGrant">;
130
+ gateway?: Pick<GatewayClient, "getBuilder" | "createGrant" | "listGrantsByUser" | "revokeGrant" | "getGrant">;
60
131
  gatewayConfig?: DataPortabilityGatewayConfig;
61
132
  serverOwner?: `0x${string}`;
62
133
  serverSigner?: Pick<ServerSigner, "signGrantRegistration"> & Partial<Pick<ServerSigner, "signGrantRevocation">>;
@@ -78,6 +149,7 @@ export interface PersonalServerOauthTokenApiDeps {
78
149
  export interface PersonalServerApiDispatchOptions {
79
150
  basePath?: string;
80
151
  }
152
+ export declare function reportPersonalServerReadFulfillment(deps: PersonalServerDataApiDeps, event: PersonalServerReadFulfillment): void;
81
153
  export declare function handlePersonalServerDataRequest(request: Request, deps: PersonalServerDataApiDeps, options?: PersonalServerApiDispatchOptions): Promise<Response>;
82
154
  export declare function handlePersonalServerAccessLogsRequest(request: Request, deps: PersonalServerAccessLogsApiDeps, options?: PersonalServerApiDispatchOptions): Promise<Response>;
83
155
  export declare function handlePersonalServerSyncRequest(request: Request, deps: PersonalServerSyncApiDeps, options?: PersonalServerApiDispatchOptions): Promise<Response>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}