@paygentic/wrap 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import type { createApiClient } from "./api/index.js";
2
+ import { components } from "./api/schema.js";
3
+ type ApiClient = ReturnType<typeof createApiClient>;
4
+ type Subscription = components["schemas"]["Subscription"];
5
+ type Address = components["schemas"]["Address"];
6
+ export interface CustomerDetails {
7
+ name: string;
8
+ email: string;
9
+ phone?: string;
10
+ address: Address;
11
+ }
12
+ export interface CreateCustomerAndSubscriptionResult {
13
+ customerId: string;
14
+ subscriptionDetail: Subscription;
15
+ }
16
+ export interface RedirectUrls {
17
+ onSuccess?: string;
18
+ onFailure?: string;
19
+ }
20
+ export interface PortalUrlResult {
21
+ url: string;
22
+ expiresAt: string;
23
+ }
24
+ export interface CreateSubscriptionOptions {
25
+ customer: CustomerDetails;
26
+ minWalletAmount: string;
27
+ planId?: string;
28
+ redirectUrls?: RedirectUrls;
29
+ }
30
+ export declare function createSubscriptionMethods(api: ApiClient): {
31
+ /**
32
+ * Creates a customer and subscription atomically.
33
+ * Fetches the plan to verify it exists and get the merchantId,
34
+ * then creates a subscription with an inline customer.
35
+ */
36
+ create: (options: CreateSubscriptionOptions) => Promise<CreateCustomerAndSubscriptionResult>;
37
+ /**
38
+ * Gets subscription for a customer and plan.
39
+ */
40
+ get: (customerId: string, planIdParam?: string) => Promise<Subscription | null>;
41
+ /**
42
+ * Finds a customer by email within a merchant's customers.
43
+ * Returns the customerId if found, null otherwise.
44
+ */
45
+ findCustomer: (email: string, merchantIdParam?: string) => Promise<string | null>;
46
+ /**
47
+ * Creates a portal URL for a subscription.
48
+ */
49
+ portal: (subscriptionId: string) => Promise<PortalUrlResult>;
50
+ };
51
+ export {};
52
+ //# sourceMappingURL=subscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAEpD,KAAK,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;AAC1D,KAAK,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mCAAmC;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,YAAY,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,eAAe,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,SAAS;IAEpD;;;;OAIG;sBACqB,yBAAyB,KAAG,OAAO,CAAC,mCAAmC,CAAC;IA+ChG;;OAEG;sBACqB,MAAM,gBAAgB,MAAM,KAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAoBnF;;;OAGG;0BACyB,MAAM,oBAAoB,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAwBrF;;OAEG;6BAC4B,MAAM,KAAG,OAAO,CAAC,eAAe,CAAC;EAenE"}
@@ -0,0 +1,106 @@
1
+ export function createSubscriptionMethods(api) {
2
+ return {
3
+ /**
4
+ * Creates a customer and subscription atomically.
5
+ * Fetches the plan to verify it exists and get the merchantId,
6
+ * then creates a subscription with an inline customer.
7
+ */
8
+ create: async (options) => {
9
+ const planId = options.planId ?? process.env.PAYGENTIC_WRAP_PLAN_ID;
10
+ if (!planId) {
11
+ throw new Error('Plan ID required: pass planId option or set PAYGENTIC_WRAP_PLAN_ID');
12
+ }
13
+ const { customer, minWalletAmount, redirectUrls } = options;
14
+ // Fetch plan to verify it exists and get merchantId
15
+ const { data: plan, error: planError } = await api.GET('/v0/plans/{id}', {
16
+ params: { path: { id: planId } }
17
+ });
18
+ if (planError || !plan) {
19
+ throw new Error(`Failed to fetch plan ${planId}: ${JSON.stringify(planError)}`);
20
+ }
21
+ // Create subscription with inline customer
22
+ const { data: subscription, error: subError } = await api.POST('/v0/subscriptions', {
23
+ body: {
24
+ planId,
25
+ name: `${customer.name} - Subscription`,
26
+ startedAt: new Date().toISOString(),
27
+ minimumAccountBalance: minWalletAmount,
28
+ customer: {
29
+ name: customer.name,
30
+ email: customer.email,
31
+ phone: customer.phone,
32
+ address: customer.address,
33
+ },
34
+ ...(redirectUrls && { redirectUrls }),
35
+ }
36
+ });
37
+ if (subError || !subscription) {
38
+ throw new Error(`Failed to create subscription: ${JSON.stringify(subError)}`);
39
+ }
40
+ if (!subscription.customerId) {
41
+ throw new Error('Subscription created but missing customerId');
42
+ }
43
+ return {
44
+ customerId: subscription.customerId,
45
+ subscriptionDetail: subscription,
46
+ };
47
+ },
48
+ /**
49
+ * Gets subscription for a customer and plan.
50
+ */
51
+ get: async (customerId, planIdParam) => {
52
+ const planId = planIdParam ?? process.env.PAYGENTIC_WRAP_PLAN_ID;
53
+ if (!planId) {
54
+ throw new Error('Plan ID required: pass planId argument or set PAYGENTIC_WRAP_PLAN_ID');
55
+ }
56
+ const { data, error } = await api.GET('/v0/subscriptions', {
57
+ params: {
58
+ query: { customerId,
59
+ planId
60
+ }
61
+ }
62
+ });
63
+ if (error) {
64
+ throw new Error(`Failed to get subscriptions for customer ${customerId}: ${JSON.stringify(error)}`);
65
+ }
66
+ return data?.data?.[0] ?? null;
67
+ },
68
+ /**
69
+ * Finds a customer by email within a merchant's customers.
70
+ * Returns the customerId if found, null otherwise.
71
+ */
72
+ findCustomer: async (email, merchantIdParam) => {
73
+ const merchantId = merchantIdParam ?? process.env.PAYGENTIC_WRAP_MERCHANT_ID;
74
+ if (!merchantId) {
75
+ throw new Error('Merchant ID required: pass merchantId argument or set PAYGENTIC_WRAP_MERCHANT_ID');
76
+ }
77
+ const { data, error } = await api.GET('/v0/customers', {
78
+ params: {
79
+ query: { organizationId: merchantId }
80
+ }
81
+ });
82
+ if (error) {
83
+ throw new Error(`Failed to list customers for merchant ${merchantId}: ${JSON.stringify(error)}`);
84
+ }
85
+ // Filter client-side by matching organization.billingEmail to email
86
+ const customer = data?.data.find(c => c.organization?.billingEmail === email);
87
+ return customer?.id ?? null;
88
+ },
89
+ /**
90
+ * Creates a portal URL for a subscription.
91
+ */
92
+ portal: async (subscriptionId) => {
93
+ const { data, error } = await api.POST('/v0/subscriptions/{id}/portal', {
94
+ params: { path: { id: subscriptionId } }
95
+ });
96
+ if (error || !data) {
97
+ throw new Error(`Failed to create portal URL for subscription ${subscriptionId}: ${JSON.stringify(error)}`);
98
+ }
99
+ return {
100
+ url: data.url,
101
+ expiresAt: data.expiresAt,
102
+ };
103
+ },
104
+ };
105
+ }
106
+ //# sourceMappingURL=subscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "@paygentic/wrap",
3
+ "version": "0.1.0",
4
+ "description": "assure payment for agentic workflows",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "bin": {
15
+ "paygentic-wrap-setup": "./dist/cli/setup.js"
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "scripts": {
21
+ "build": "tsc",
22
+ "test": "vitest run",
23
+ "generate": "openapi-typescript https://docs.paygentic.io/openapi.json -o src/api/schema.ts",
24
+ "prepublishOnly": "npm run build",
25
+ "setup": "node --loader ts-node/esm src/cli/setup.ts"
26
+ },
27
+ "keywords": [
28
+ "payment",
29
+ "agentic",
30
+ "workflows"
31
+ ],
32
+ "license": "MIT",
33
+ "author": "Leendert van Beelen <leendert@paygentic.io>",
34
+ "repository": {
35
+ "type": "git",
36
+ "url": "https://github.com/paygentic/wrap"
37
+ },
38
+ "homepage": "https://www.paygentic.io",
39
+ "bugs": {
40
+ "url": "https://github.com/paygentic/wrap/issues"
41
+ },
42
+ "engines": {
43
+ "node": ">=20.0.0"
44
+ },
45
+ "devDependencies": {
46
+ "@types/node": "^20.10.0",
47
+ "openapi-typescript": "^7.10.1",
48
+ "ts-node": "^10.9.2",
49
+ "typescript": "^5.3.0",
50
+ "vitest": "^1.0.0"
51
+ },
52
+ "peerDependencies": {
53
+ "@anthropic-ai/claude-agent-sdk": "^0.2.12"
54
+ },
55
+ "dependencies": {
56
+ "openapi-fetch": "^0.15.0"
57
+ }
58
+ }