@opendatalabs/vana-sdk 3.19.0 → 3.20.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 +82 -15
- package/dist/auth/web3-signed-builder.cjs +3 -0
- package/dist/auth/web3-signed-builder.cjs.map +1 -1
- package/dist/auth/web3-signed-builder.d.ts +14 -0
- package/dist/auth/web3-signed-builder.js +3 -0
- package/dist/auth/web3-signed-builder.js.map +1 -1
- package/dist/direct/controller.cjs +3 -2
- package/dist/direct/controller.cjs.map +1 -1
- package/dist/direct/controller.d.ts +19 -2
- package/dist/direct/controller.js +3 -2
- package/dist/direct/controller.js.map +1 -1
- package/dist/errors.cjs +13 -0
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.ts +21 -2
- package/dist/errors.js +12 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.browser.js +69 -25
- package/dist/index.browser.js.map +2 -2
- package/dist/index.node.cjs +70 -25
- package/dist/index.node.cjs.map +2 -2
- package/dist/index.node.js +69 -25
- package/dist/index.node.js.map +2 -2
- package/dist/protocol/derivative-questions.cjs +42 -25
- package/dist/protocol/derivative-questions.cjs.map +1 -1
- package/dist/protocol/derivative-questions.d.ts +51 -10
- package/dist/protocol/derivative-questions.js +47 -26
- package/dist/protocol/derivative-questions.js.map +1 -1
- package/dist/protocol/write-request.cjs +14 -0
- package/dist/protocol/write-request.cjs.map +1 -1
- package/dist/protocol/write-request.d.ts +12 -0
- package/dist/protocol/write-request.js +13 -0
- package/dist/protocol/write-request.js.map +1 -1
- package/dist/server.cjs +28 -2
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.ts +2 -0
- package/dist/server.js +29 -1
- package/dist/server.js.map +1 -1
- package/dist/tests/mock-personal-server.d.ts +9 -6
- package/package.json +1 -1
package/dist/server.cjs
CHANGED
|
@@ -24,10 +24,13 @@ __export(server_exports, {
|
|
|
24
24
|
DirectConfigError: () => import_errors.DirectConfigError,
|
|
25
25
|
DirectOpType: () => import_types.DirectOpType,
|
|
26
26
|
GRANT_OP_TYPE: () => import_escrow_payment.GRANT_OP_TYPE,
|
|
27
|
+
InvalidScopeEntryError: () => import_scope_actions.InvalidScopeEntryError,
|
|
27
28
|
PRODUCTION_ENDPOINTS: () => import_endpoints.PRODUCTION_ENDPOINTS,
|
|
28
29
|
PaymentRequiredError: () => import_errors.PaymentRequiredError,
|
|
29
30
|
PersonalServerReadError: () => import_errors.PersonalServerReadError,
|
|
31
|
+
SCOPE_ACTIONS: () => import_scope_actions.SCOPE_ACTIONS,
|
|
30
32
|
ScopeNotApprovedError: () => import_errors.ScopeNotApprovedError,
|
|
33
|
+
ScopeSchema: () => import_scopes.ScopeSchema,
|
|
31
34
|
authorizeEscrowPayment: () => import_escrow_payment.authorizeEscrowPayment,
|
|
32
35
|
authorizeGrantPayment: () => import_escrow_payment.authorizeGrantPayment,
|
|
33
36
|
buildApprovalUrl: () => import_access_request_client.buildApprovalUrl,
|
|
@@ -38,12 +41,21 @@ __export(server_exports, {
|
|
|
38
41
|
createDefaultNonceSource: () => import_escrow_payment.createDefaultNonceSource,
|
|
39
42
|
createDirectDataController: () => import_controller.createDirectDataController,
|
|
40
43
|
dataPathForScope: () => import_personal_server_read.dataPathForScope,
|
|
44
|
+
formatScopeEntry: () => import_scope_actions.formatScopeEntry,
|
|
41
45
|
getDirectEndpoints: () => import_endpoints.getDirectEndpoints,
|
|
46
|
+
grantPermissions: () => import_scope_actions.grantPermissions,
|
|
47
|
+
hasAction: () => import_scope_actions.hasAction,
|
|
42
48
|
parsePersonalServerPaymentRequired: () => import_personal_server_read.parsePersonalServerPaymentRequired,
|
|
49
|
+
parseScope: () => import_scopes.parseScope,
|
|
50
|
+
parseScopeEntry: () => import_scope_actions.parseScopeEntry,
|
|
43
51
|
paymentResponseMetadataFromHeader: () => import_escrow_payment.paymentResponseMetadataFromHeader,
|
|
52
|
+
permissionsToScopes: () => import_scope_actions.permissionsToScopes,
|
|
44
53
|
readPersonalServerData: () => import_personal_server_read.readPersonalServerData,
|
|
54
|
+
scopeCoveredByGrant: () => import_scopes.scopeCoveredByGrant,
|
|
55
|
+
scopeMatchesPattern: () => import_scopes.scopeMatchesPattern,
|
|
45
56
|
toDirectFeeBreakdown: () => import_escrow_payment.toDirectFeeBreakdown,
|
|
46
|
-
toDirectPaymentReceipt: () => import_escrow_payment.toDirectPaymentReceipt
|
|
57
|
+
toDirectPaymentReceipt: () => import_escrow_payment.toDirectPaymentReceipt,
|
|
58
|
+
tryGrantPermissions: () => import_scope_actions.tryGrantPermissions
|
|
47
59
|
});
|
|
48
60
|
module.exports = __toCommonJS(server_exports);
|
|
49
61
|
var import_controller = require("./direct/controller");
|
|
@@ -51,6 +63,8 @@ var import_access_request_client = require("./direct/access-request-client");
|
|
|
51
63
|
var import_personal_server_read = require("./direct/personal-server-read");
|
|
52
64
|
var import_escrow_payment = require("./direct/escrow-payment");
|
|
53
65
|
var import_endpoints = require("./direct/endpoints");
|
|
66
|
+
var import_scopes = require("./protocol/scopes");
|
|
67
|
+
var import_scope_actions = require("./protocol/scope-actions");
|
|
54
68
|
var import_errors = require("./direct/errors");
|
|
55
69
|
var import_types = require("./direct/types");
|
|
56
70
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -61,10 +75,13 @@ var import_types = require("./direct/types");
|
|
|
61
75
|
DirectConfigError,
|
|
62
76
|
DirectOpType,
|
|
63
77
|
GRANT_OP_TYPE,
|
|
78
|
+
InvalidScopeEntryError,
|
|
64
79
|
PRODUCTION_ENDPOINTS,
|
|
65
80
|
PaymentRequiredError,
|
|
66
81
|
PersonalServerReadError,
|
|
82
|
+
SCOPE_ACTIONS,
|
|
67
83
|
ScopeNotApprovedError,
|
|
84
|
+
ScopeSchema,
|
|
68
85
|
authorizeEscrowPayment,
|
|
69
86
|
authorizeGrantPayment,
|
|
70
87
|
buildApprovalUrl,
|
|
@@ -75,11 +92,20 @@ var import_types = require("./direct/types");
|
|
|
75
92
|
createDefaultNonceSource,
|
|
76
93
|
createDirectDataController,
|
|
77
94
|
dataPathForScope,
|
|
95
|
+
formatScopeEntry,
|
|
78
96
|
getDirectEndpoints,
|
|
97
|
+
grantPermissions,
|
|
98
|
+
hasAction,
|
|
79
99
|
parsePersonalServerPaymentRequired,
|
|
100
|
+
parseScope,
|
|
101
|
+
parseScopeEntry,
|
|
80
102
|
paymentResponseMetadataFromHeader,
|
|
103
|
+
permissionsToScopes,
|
|
81
104
|
readPersonalServerData,
|
|
105
|
+
scopeCoveredByGrant,
|
|
106
|
+
scopeMatchesPattern,
|
|
82
107
|
toDirectFeeBreakdown,
|
|
83
|
-
toDirectPaymentReceipt
|
|
108
|
+
toDirectPaymentReceipt,
|
|
109
|
+
tryGrantPermissions
|
|
84
110
|
});
|
|
85
111
|
//# sourceMappingURL=server.cjs.map
|
package/dist/server.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server.ts"],"sourcesContent":["/**\n * Server entry point for the Vana SDK direct Data Portability flow.\n *\n * @remarks\n * Exposes {@link createDirectDataController} and its supporting types/errors.\n * This is a Node/server entry point — it owns the app private key and must never\n * be imported into browser code.\n *\n * @example\n * ```typescript\n * import { createDirectDataController } from \"@opendatalabs/vana-sdk/server\";\n *\n * export const vana = createDirectDataController({\n * env: process.env.VANA_ENV === \"dev\" ? \"dev\" : \"production\",\n * appPrivateKey: process.env.VANA_APP_PRIVATE_KEY!,\n * app: { id: \"notes-lens\", name: \"Notes Lens\", homepageUrl: process.env.VANA_APP_URL! },\n * source: \"icloud_notes\",\n * scopes: [\"icloud_notes.notes\"],\n * });\n * ```\n *\n * @category Direct\n * @module server\n */\n\nexport {\n createDirectDataController,\n type DirectDataController,\n type DirectDataControllerConfig,\n type DirectEscrowConfig,\n} from \"./direct/controller\";\n\n// Lower-level building blocks (advanced use / custom transports).\nexport {\n createDefaultAccessRequestClient,\n buildApprovalUrl,\n type DefaultAccessRequestClientOptions,\n type FetchLike,\n} from \"./direct/access-request-client\";\nexport {\n buildPersonalServerDataReadRequest,\n readPersonalServerData,\n parsePersonalServerPaymentRequired,\n dataPathForScope,\n type PersonalServerDataReadRequest,\n type PersonalServerReadResult,\n type PersonalServerFetch,\n type PersonalServerTransportRetryOptions,\n type FetchResponseLike,\n} from \"./direct/personal-server-read\";\n// Escrow-backed payment (built on protocol/escrow).\nexport {\n authorizeEscrowPayment,\n authorizeGrantPayment,\n buildEscrowPaymentHeader,\n buildGrantPaymentHeader,\n paymentResponseMetadataFromHeader,\n toDirectPaymentReceipt,\n toDirectFeeBreakdown,\n createDefaultNonceSource,\n DATA_ACCESS_OP_TYPE,\n GRANT_OP_TYPE,\n type EscrowPaymentConfig,\n type EscrowPaymentHeaderConfig,\n type SignTypedDataFn,\n type PaymentNonceSource,\n} from \"./direct/escrow-payment\";\nexport {\n getDirectEndpoints,\n PRODUCTION_ENDPOINTS,\n DEV_ENDPOINTS,\n} from \"./direct/endpoints\";\n\n// Errors\nexport {\n DirectConfigError,\n AccessNotApprovedError,\n ScopeNotApprovedError,\n PersonalServerReadError,\n PaymentRequiredError,\n} from \"./direct/errors\";\n\n// Shared types\nexport type {\n DirectEnv,\n DirectNetwork,\n DirectAppConfig,\n ForegroundDelivery,\n AppIdentity,\n DirectServiceEndpoints,\n AccessRequest,\n AccessRequestStatus,\n AccessRequestStatusValue,\n ApprovedDataResult,\n MultiScopeDataResult,\n AccessRequestClient,\n DirectOpTypeValue,\n PersonalServerDataAccessPaymentOperation,\n PersonalServerGrantPaymentOperation,\n PersonalServerPaymentOperation,\n PersonalServerPaymentRequired,\n DirectPaymentReceipt,\n DirectPaymentResponseMetadata,\n DirectFeeBreakdown,\n} from \"./direct/types\";\n\n// Op-type vocabulary constant.\nexport { DirectOpType } from \"./direct/types\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBA,wBAKO;AAGP,mCAKO;AACP,kCAUO;AAEP,4BAeO;AACP,uBAIO;AAGP,oBAMO;AA2BP,mBAA6B;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/server.ts"],"sourcesContent":["/**\n * Server entry point for the Vana SDK direct Data Portability flow.\n *\n * @remarks\n * Exposes {@link createDirectDataController} and its supporting types/errors.\n * This is a Node/server entry point — it owns the app private key and must never\n * be imported into browser code.\n *\n * @example\n * ```typescript\n * import { createDirectDataController } from \"@opendatalabs/vana-sdk/server\";\n *\n * export const vana = createDirectDataController({\n * env: process.env.VANA_ENV === \"dev\" ? \"dev\" : \"production\",\n * appPrivateKey: process.env.VANA_APP_PRIVATE_KEY!,\n * app: { id: \"notes-lens\", name: \"Notes Lens\", homepageUrl: process.env.VANA_APP_URL! },\n * source: \"icloud_notes\",\n * scopes: [\"icloud_notes.notes\"],\n * });\n * ```\n *\n * @category Direct\n * @module server\n */\n\nexport {\n createDirectDataController,\n type DirectDataController,\n type DirectDataControllerConfig,\n type DirectEscrowConfig,\n} from \"./direct/controller\";\n\n// Lower-level building blocks (advanced use / custom transports).\nexport {\n createDefaultAccessRequestClient,\n buildApprovalUrl,\n type DefaultAccessRequestClientOptions,\n type FetchLike,\n} from \"./direct/access-request-client\";\nexport {\n buildPersonalServerDataReadRequest,\n readPersonalServerData,\n parsePersonalServerPaymentRequired,\n dataPathForScope,\n type PersonalServerDataReadRequest,\n type PersonalServerReadResult,\n type PersonalServerFetch,\n type PersonalServerTransportRetryOptions,\n type FetchResponseLike,\n} from \"./direct/personal-server-read\";\n// Escrow-backed payment (built on protocol/escrow).\nexport {\n authorizeEscrowPayment,\n authorizeGrantPayment,\n buildEscrowPaymentHeader,\n buildGrantPaymentHeader,\n paymentResponseMetadataFromHeader,\n toDirectPaymentReceipt,\n toDirectFeeBreakdown,\n createDefaultNonceSource,\n DATA_ACCESS_OP_TYPE,\n GRANT_OP_TYPE,\n type EscrowPaymentConfig,\n type EscrowPaymentHeaderConfig,\n type SignTypedDataFn,\n type PaymentNonceSource,\n} from \"./direct/escrow-payment\";\nexport {\n getDirectEndpoints,\n PRODUCTION_ENDPOINTS,\n DEV_ENDPOINTS,\n} from \"./direct/endpoints\";\n// Grant scope entries: the `[operation:]scope` vocabulary the controller's\n// `scopes` are written in, so a backend can build and read them without\n// reaching for a platform entry point.\nexport {\n ScopeSchema,\n parseScope,\n scopeMatchesPattern,\n scopeCoveredByGrant,\n type Scope,\n type ParsedScope,\n} from \"./protocol/scopes\";\nexport {\n SCOPE_ACTIONS,\n InvalidScopeEntryError,\n parseScopeEntry,\n formatScopeEntry,\n grantPermissions,\n permissionsToScopes,\n tryGrantPermissions,\n hasAction,\n type ScopeAction,\n type ParsedScopeEntry,\n type GrantPermission,\n} from \"./protocol/scope-actions\";\n\n// Errors\nexport {\n DirectConfigError,\n AccessNotApprovedError,\n ScopeNotApprovedError,\n PersonalServerReadError,\n PaymentRequiredError,\n} from \"./direct/errors\";\n\n// Shared types\nexport type {\n DirectEnv,\n DirectNetwork,\n DirectAppConfig,\n ForegroundDelivery,\n AppIdentity,\n DirectServiceEndpoints,\n AccessRequest,\n AccessRequestStatus,\n AccessRequestStatusValue,\n ApprovedDataResult,\n MultiScopeDataResult,\n AccessRequestClient,\n DirectOpTypeValue,\n PersonalServerDataAccessPaymentOperation,\n PersonalServerGrantPaymentOperation,\n PersonalServerPaymentOperation,\n PersonalServerPaymentRequired,\n DirectPaymentReceipt,\n DirectPaymentResponseMetadata,\n DirectFeeBreakdown,\n} from \"./direct/types\";\n\n// Op-type vocabulary constant.\nexport { DirectOpType } from \"./direct/types\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBA,wBAKO;AAGP,mCAKO;AACP,kCAUO;AAEP,4BAeO;AACP,uBAIO;AAIP,oBAOO;AACP,2BAYO;AAGP,oBAMO;AA2BP,mBAA6B;","names":[]}
|
package/dist/server.d.ts
CHANGED
|
@@ -27,6 +27,8 @@ export { createDefaultAccessRequestClient, buildApprovalUrl, type DefaultAccessR
|
|
|
27
27
|
export { buildPersonalServerDataReadRequest, readPersonalServerData, parsePersonalServerPaymentRequired, dataPathForScope, type PersonalServerDataReadRequest, type PersonalServerReadResult, type PersonalServerFetch, type PersonalServerTransportRetryOptions, type FetchResponseLike, } from "./direct/personal-server-read.js";
|
|
28
28
|
export { authorizeEscrowPayment, authorizeGrantPayment, buildEscrowPaymentHeader, buildGrantPaymentHeader, paymentResponseMetadataFromHeader, toDirectPaymentReceipt, toDirectFeeBreakdown, createDefaultNonceSource, DATA_ACCESS_OP_TYPE, GRANT_OP_TYPE, type EscrowPaymentConfig, type EscrowPaymentHeaderConfig, type SignTypedDataFn, type PaymentNonceSource, } from "./direct/escrow-payment.js";
|
|
29
29
|
export { getDirectEndpoints, PRODUCTION_ENDPOINTS, DEV_ENDPOINTS, } from "./direct/endpoints.js";
|
|
30
|
+
export { ScopeSchema, parseScope, scopeMatchesPattern, scopeCoveredByGrant, type Scope, type ParsedScope, } from "./protocol/scopes.js";
|
|
31
|
+
export { SCOPE_ACTIONS, InvalidScopeEntryError, parseScopeEntry, formatScopeEntry, grantPermissions, permissionsToScopes, tryGrantPermissions, hasAction, type ScopeAction, type ParsedScopeEntry, type GrantPermission, } from "./protocol/scope-actions.js";
|
|
30
32
|
export { DirectConfigError, AccessNotApprovedError, ScopeNotApprovedError, PersonalServerReadError, PaymentRequiredError, } from "./direct/errors.js";
|
|
31
33
|
export type { DirectEnv, DirectNetwork, DirectAppConfig, ForegroundDelivery, AppIdentity, DirectServiceEndpoints, AccessRequest, AccessRequestStatus, AccessRequestStatusValue, ApprovedDataResult, MultiScopeDataResult, AccessRequestClient, DirectOpTypeValue, PersonalServerDataAccessPaymentOperation, PersonalServerGrantPaymentOperation, PersonalServerPaymentOperation, PersonalServerPaymentRequired, DirectPaymentReceipt, DirectPaymentResponseMetadata, DirectFeeBreakdown, } from "./direct/types.js";
|
|
32
34
|
export { DirectOpType } from "./direct/types.js";
|
package/dist/server.js
CHANGED
|
@@ -28,6 +28,22 @@ import {
|
|
|
28
28
|
PRODUCTION_ENDPOINTS,
|
|
29
29
|
DEV_ENDPOINTS
|
|
30
30
|
} from "./direct/endpoints.js";
|
|
31
|
+
import {
|
|
32
|
+
ScopeSchema,
|
|
33
|
+
parseScope,
|
|
34
|
+
scopeMatchesPattern,
|
|
35
|
+
scopeCoveredByGrant
|
|
36
|
+
} from "./protocol/scopes.js";
|
|
37
|
+
import {
|
|
38
|
+
SCOPE_ACTIONS,
|
|
39
|
+
InvalidScopeEntryError,
|
|
40
|
+
parseScopeEntry,
|
|
41
|
+
formatScopeEntry,
|
|
42
|
+
grantPermissions,
|
|
43
|
+
permissionsToScopes,
|
|
44
|
+
tryGrantPermissions,
|
|
45
|
+
hasAction
|
|
46
|
+
} from "./protocol/scope-actions.js";
|
|
31
47
|
import {
|
|
32
48
|
DirectConfigError,
|
|
33
49
|
AccessNotApprovedError,
|
|
@@ -43,10 +59,13 @@ export {
|
|
|
43
59
|
DirectConfigError,
|
|
44
60
|
DirectOpType,
|
|
45
61
|
GRANT_OP_TYPE,
|
|
62
|
+
InvalidScopeEntryError,
|
|
46
63
|
PRODUCTION_ENDPOINTS,
|
|
47
64
|
PaymentRequiredError,
|
|
48
65
|
PersonalServerReadError,
|
|
66
|
+
SCOPE_ACTIONS,
|
|
49
67
|
ScopeNotApprovedError,
|
|
68
|
+
ScopeSchema,
|
|
50
69
|
authorizeEscrowPayment,
|
|
51
70
|
authorizeGrantPayment,
|
|
52
71
|
buildApprovalUrl,
|
|
@@ -57,11 +76,20 @@ export {
|
|
|
57
76
|
createDefaultNonceSource,
|
|
58
77
|
createDirectDataController,
|
|
59
78
|
dataPathForScope,
|
|
79
|
+
formatScopeEntry,
|
|
60
80
|
getDirectEndpoints,
|
|
81
|
+
grantPermissions,
|
|
82
|
+
hasAction,
|
|
61
83
|
parsePersonalServerPaymentRequired,
|
|
84
|
+
parseScope,
|
|
85
|
+
parseScopeEntry,
|
|
62
86
|
paymentResponseMetadataFromHeader,
|
|
87
|
+
permissionsToScopes,
|
|
63
88
|
readPersonalServerData,
|
|
89
|
+
scopeCoveredByGrant,
|
|
90
|
+
scopeMatchesPattern,
|
|
64
91
|
toDirectFeeBreakdown,
|
|
65
|
-
toDirectPaymentReceipt
|
|
92
|
+
toDirectPaymentReceipt,
|
|
93
|
+
tryGrantPermissions
|
|
66
94
|
};
|
|
67
95
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server.ts"],"sourcesContent":["/**\n * Server entry point for the Vana SDK direct Data Portability flow.\n *\n * @remarks\n * Exposes {@link createDirectDataController} and its supporting types/errors.\n * This is a Node/server entry point — it owns the app private key and must never\n * be imported into browser code.\n *\n * @example\n * ```typescript\n * import { createDirectDataController } from \"@opendatalabs/vana-sdk/server\";\n *\n * export const vana = createDirectDataController({\n * env: process.env.VANA_ENV === \"dev\" ? \"dev\" : \"production\",\n * appPrivateKey: process.env.VANA_APP_PRIVATE_KEY!,\n * app: { id: \"notes-lens\", name: \"Notes Lens\", homepageUrl: process.env.VANA_APP_URL! },\n * source: \"icloud_notes\",\n * scopes: [\"icloud_notes.notes\"],\n * });\n * ```\n *\n * @category Direct\n * @module server\n */\n\nexport {\n createDirectDataController,\n type DirectDataController,\n type DirectDataControllerConfig,\n type DirectEscrowConfig,\n} from \"./direct/controller\";\n\n// Lower-level building blocks (advanced use / custom transports).\nexport {\n createDefaultAccessRequestClient,\n buildApprovalUrl,\n type DefaultAccessRequestClientOptions,\n type FetchLike,\n} from \"./direct/access-request-client\";\nexport {\n buildPersonalServerDataReadRequest,\n readPersonalServerData,\n parsePersonalServerPaymentRequired,\n dataPathForScope,\n type PersonalServerDataReadRequest,\n type PersonalServerReadResult,\n type PersonalServerFetch,\n type PersonalServerTransportRetryOptions,\n type FetchResponseLike,\n} from \"./direct/personal-server-read\";\n// Escrow-backed payment (built on protocol/escrow).\nexport {\n authorizeEscrowPayment,\n authorizeGrantPayment,\n buildEscrowPaymentHeader,\n buildGrantPaymentHeader,\n paymentResponseMetadataFromHeader,\n toDirectPaymentReceipt,\n toDirectFeeBreakdown,\n createDefaultNonceSource,\n DATA_ACCESS_OP_TYPE,\n GRANT_OP_TYPE,\n type EscrowPaymentConfig,\n type EscrowPaymentHeaderConfig,\n type SignTypedDataFn,\n type PaymentNonceSource,\n} from \"./direct/escrow-payment\";\nexport {\n getDirectEndpoints,\n PRODUCTION_ENDPOINTS,\n DEV_ENDPOINTS,\n} from \"./direct/endpoints\";\n\n// Errors\nexport {\n DirectConfigError,\n AccessNotApprovedError,\n ScopeNotApprovedError,\n PersonalServerReadError,\n PaymentRequiredError,\n} from \"./direct/errors\";\n\n// Shared types\nexport type {\n DirectEnv,\n DirectNetwork,\n DirectAppConfig,\n ForegroundDelivery,\n AppIdentity,\n DirectServiceEndpoints,\n AccessRequest,\n AccessRequestStatus,\n AccessRequestStatusValue,\n ApprovedDataResult,\n MultiScopeDataResult,\n AccessRequestClient,\n DirectOpTypeValue,\n PersonalServerDataAccessPaymentOperation,\n PersonalServerGrantPaymentOperation,\n PersonalServerPaymentOperation,\n PersonalServerPaymentRequired,\n DirectPaymentReceipt,\n DirectPaymentResponseMetadata,\n DirectFeeBreakdown,\n} from \"./direct/types\";\n\n// Op-type vocabulary constant.\nexport { DirectOpType } from \"./direct/types\";\n"],"mappings":"AAyBA;AAAA,EACE;AAAA,OAIK;AAGP;AAAA,EACE;AAAA,EACA;AAAA,OAGK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAMK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAKK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AA2BP,SAAS,oBAAoB;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/server.ts"],"sourcesContent":["/**\n * Server entry point for the Vana SDK direct Data Portability flow.\n *\n * @remarks\n * Exposes {@link createDirectDataController} and its supporting types/errors.\n * This is a Node/server entry point — it owns the app private key and must never\n * be imported into browser code.\n *\n * @example\n * ```typescript\n * import { createDirectDataController } from \"@opendatalabs/vana-sdk/server\";\n *\n * export const vana = createDirectDataController({\n * env: process.env.VANA_ENV === \"dev\" ? \"dev\" : \"production\",\n * appPrivateKey: process.env.VANA_APP_PRIVATE_KEY!,\n * app: { id: \"notes-lens\", name: \"Notes Lens\", homepageUrl: process.env.VANA_APP_URL! },\n * source: \"icloud_notes\",\n * scopes: [\"icloud_notes.notes\"],\n * });\n * ```\n *\n * @category Direct\n * @module server\n */\n\nexport {\n createDirectDataController,\n type DirectDataController,\n type DirectDataControllerConfig,\n type DirectEscrowConfig,\n} from \"./direct/controller\";\n\n// Lower-level building blocks (advanced use / custom transports).\nexport {\n createDefaultAccessRequestClient,\n buildApprovalUrl,\n type DefaultAccessRequestClientOptions,\n type FetchLike,\n} from \"./direct/access-request-client\";\nexport {\n buildPersonalServerDataReadRequest,\n readPersonalServerData,\n parsePersonalServerPaymentRequired,\n dataPathForScope,\n type PersonalServerDataReadRequest,\n type PersonalServerReadResult,\n type PersonalServerFetch,\n type PersonalServerTransportRetryOptions,\n type FetchResponseLike,\n} from \"./direct/personal-server-read\";\n// Escrow-backed payment (built on protocol/escrow).\nexport {\n authorizeEscrowPayment,\n authorizeGrantPayment,\n buildEscrowPaymentHeader,\n buildGrantPaymentHeader,\n paymentResponseMetadataFromHeader,\n toDirectPaymentReceipt,\n toDirectFeeBreakdown,\n createDefaultNonceSource,\n DATA_ACCESS_OP_TYPE,\n GRANT_OP_TYPE,\n type EscrowPaymentConfig,\n type EscrowPaymentHeaderConfig,\n type SignTypedDataFn,\n type PaymentNonceSource,\n} from \"./direct/escrow-payment\";\nexport {\n getDirectEndpoints,\n PRODUCTION_ENDPOINTS,\n DEV_ENDPOINTS,\n} from \"./direct/endpoints\";\n// Grant scope entries: the `[operation:]scope` vocabulary the controller's\n// `scopes` are written in, so a backend can build and read them without\n// reaching for a platform entry point.\nexport {\n ScopeSchema,\n parseScope,\n scopeMatchesPattern,\n scopeCoveredByGrant,\n type Scope,\n type ParsedScope,\n} from \"./protocol/scopes\";\nexport {\n SCOPE_ACTIONS,\n InvalidScopeEntryError,\n parseScopeEntry,\n formatScopeEntry,\n grantPermissions,\n permissionsToScopes,\n tryGrantPermissions,\n hasAction,\n type ScopeAction,\n type ParsedScopeEntry,\n type GrantPermission,\n} from \"./protocol/scope-actions\";\n\n// Errors\nexport {\n DirectConfigError,\n AccessNotApprovedError,\n ScopeNotApprovedError,\n PersonalServerReadError,\n PaymentRequiredError,\n} from \"./direct/errors\";\n\n// Shared types\nexport type {\n DirectEnv,\n DirectNetwork,\n DirectAppConfig,\n ForegroundDelivery,\n AppIdentity,\n DirectServiceEndpoints,\n AccessRequest,\n AccessRequestStatus,\n AccessRequestStatusValue,\n ApprovedDataResult,\n MultiScopeDataResult,\n AccessRequestClient,\n DirectOpTypeValue,\n PersonalServerDataAccessPaymentOperation,\n PersonalServerGrantPaymentOperation,\n PersonalServerPaymentOperation,\n PersonalServerPaymentRequired,\n DirectPaymentReceipt,\n DirectPaymentResponseMetadata,\n DirectFeeBreakdown,\n} from \"./direct/types\";\n\n// Op-type vocabulary constant.\nexport { DirectOpType } from \"./direct/types\";\n"],"mappings":"AAyBA;AAAA,EACE;AAAA,OAIK;AAGP;AAAA,EACE;AAAA,EACA;AAAA,OAGK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAMK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAKK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAIP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAGK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAIK;AAGP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AA2BP,SAAS,oBAAoB;","names":[]}
|
|
@@ -15,12 +15,15 @@
|
|
|
15
15
|
* the metadata object's field (binary), validated per
|
|
16
16
|
* docs/derivative-data-api.md and mirrored to `$lineage`
|
|
17
17
|
* - derivative questions (`/v1/derivatives/questions`): the same builder
|
|
18
|
-
* credential as a write (bearer + X-Vana-Write-Signature over the
|
|
19
|
-
* request
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* register
|
|
18
|
+
* credential as a write (bearer + X-Vana-Write-Signature over the whole
|
|
19
|
+
* request TARGET, query string INCLUDED and compared in canonical form),
|
|
20
|
+
* the optional `nonce` claim as the replay key when present, authorized
|
|
21
|
+
* against `write:<derivedScope>`, compact JSON bodies, the consent rule
|
|
22
|
+
* (every source scope read-granted to the builder), the cycle guard, the
|
|
23
|
+
* 404 for a question this builder did not register AND for an unknown id
|
|
24
|
+
* presented with a live write session, and the 400
|
|
25
|
+
* `DERIVATIVE_DERIVED_SCOPE_REQUIRED` for a builder list with no
|
|
26
|
+
* `?derivedScope=`
|
|
24
27
|
* - lineage reads on both the Personal Server and the gateway: Web3Signed
|
|
25
28
|
* over the bare path (`/lineage[/:version]`, the version is a path
|
|
26
29
|
* segment, any query is 400), grant view from the signed `grantId` claim
|