@payark/sdk-effect 0.1.6 → 0.1.9
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 +9 -10
- package/dist/api-spec.d.mts +385 -38
- package/dist/api-spec.d.ts +385 -38
- package/dist/api-spec.js +237 -16
- package/dist/api-spec.js.map +1 -1
- package/dist/api-spec.mjs +229 -17
- package/dist/api-spec.mjs.map +1 -1
- package/dist/index.d.mts +919 -99
- package/dist/index.d.ts +919 -99
- package/dist/index.js +615 -23
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +601 -25
- package/dist/index.mjs.map +1 -1
- package/dist/schemas.d.mts +91 -13
- package/dist/schemas.d.ts +91 -13
- package/dist/schemas.js +97 -6
- package/dist/schemas.js.map +1 -1
- package/dist/schemas.mjs +91 -7
- package/dist/schemas.mjs.map +1 -1
- package/package.json +1 -1
package/dist/schemas.js
CHANGED
|
@@ -11,11 +11,17 @@ var UrlString = effect.Schema.String.pipe(
|
|
|
11
11
|
effect.Schema.pattern(/^https?:\/\/.+/),
|
|
12
12
|
effect.Schema.brand("UrlString")
|
|
13
13
|
);
|
|
14
|
-
|
|
14
|
+
effect.Schema.Number.pipe(
|
|
15
15
|
effect.Schema.int(),
|
|
16
16
|
effect.Schema.greaterThan(0),
|
|
17
17
|
effect.Schema.brand("MinorUnitsInt")
|
|
18
18
|
);
|
|
19
|
+
var NprAmount = effect.Schema.Number.pipe(
|
|
20
|
+
effect.Schema.filter(
|
|
21
|
+
(n) => Number.isFinite(n) && n > 0 && Math.round(n * 100) === n * 100
|
|
22
|
+
),
|
|
23
|
+
effect.Schema.brand("NprAmount")
|
|
24
|
+
);
|
|
19
25
|
|
|
20
26
|
// src/schemas.ts
|
|
21
27
|
var Id = effect.Schema.String.pipe(effect.Schema.brand("Id"));
|
|
@@ -27,6 +33,10 @@ var CheckoutSessionId = effect.Schema.String.pipe(
|
|
|
27
33
|
var SubscriptionId = effect.Schema.String.pipe(
|
|
28
34
|
effect.Schema.brand("SubscriptionId")
|
|
29
35
|
);
|
|
36
|
+
var MandateId = effect.Schema.String.pipe(effect.Schema.brand("MandateId"));
|
|
37
|
+
var AgentSessionId = effect.Schema.String.pipe(
|
|
38
|
+
effect.Schema.brand("AgentSessionId")
|
|
39
|
+
);
|
|
30
40
|
var CustomerId = effect.Schema.String.pipe(effect.Schema.brand("CustomerId"));
|
|
31
41
|
var TokenId = effect.Schema.String.pipe(effect.Schema.brand("TokenId"));
|
|
32
42
|
var Email = effect.Schema.String.pipe(
|
|
@@ -45,6 +55,7 @@ var Timestamps = effect.Schema.Struct({
|
|
|
45
55
|
var Provider = effect.Schema.Literal(
|
|
46
56
|
"esewa",
|
|
47
57
|
"khalti",
|
|
58
|
+
"hamropay",
|
|
48
59
|
"connectips",
|
|
49
60
|
"imepay",
|
|
50
61
|
"fonepay",
|
|
@@ -52,12 +63,27 @@ var Provider = effect.Schema.Literal(
|
|
|
52
63
|
);
|
|
53
64
|
var PaymentStatus = effect.Schema.Literal("pending", "success", "failed");
|
|
54
65
|
var SubscriptionStatus = effect.Schema.Literal(
|
|
66
|
+
"pending_checkout",
|
|
55
67
|
"active",
|
|
56
68
|
"past_due",
|
|
57
69
|
"canceled",
|
|
58
70
|
"paused"
|
|
59
71
|
);
|
|
60
72
|
var SubscriptionInterval = effect.Schema.Literal("month", "year", "week");
|
|
73
|
+
var CustomerLifecycle = effect.Schema.Literal(
|
|
74
|
+
"new",
|
|
75
|
+
"active",
|
|
76
|
+
"loyal",
|
|
77
|
+
"at_risk",
|
|
78
|
+
"churned"
|
|
79
|
+
);
|
|
80
|
+
var MandateType = effect.Schema.Literal("intent", "cart");
|
|
81
|
+
var MandateStatus = effect.Schema.Literal(
|
|
82
|
+
"active",
|
|
83
|
+
"consumed",
|
|
84
|
+
"expired",
|
|
85
|
+
"violated"
|
|
86
|
+
);
|
|
61
87
|
var Customer = effect.Schema.Struct({
|
|
62
88
|
id: CustomerId,
|
|
63
89
|
merchant_customer_id: NonEmptyString,
|
|
@@ -66,12 +92,18 @@ var Customer = effect.Schema.Struct({
|
|
|
66
92
|
phone: effect.Schema.NullOr(effect.Schema.String),
|
|
67
93
|
project_id: ProjectId,
|
|
68
94
|
metadata: effect.Schema.NullOr(Metadata),
|
|
95
|
+
total_ltv: effect.Schema.optional(effect.Schema.Number),
|
|
96
|
+
is_high_value: effect.Schema.optional(effect.Schema.Boolean),
|
|
97
|
+
lifecycle_stage: effect.Schema.optional(CustomerLifecycle),
|
|
98
|
+
ltv_cents: effect.Schema.optional(effect.Schema.Number),
|
|
99
|
+
tier: effect.Schema.NullOr(effect.Schema.String),
|
|
69
100
|
created_at: Timestamp,
|
|
70
101
|
updated_at: effect.Schema.optional(Timestamp)
|
|
71
102
|
});
|
|
72
103
|
var Payment = effect.Schema.Struct({
|
|
73
104
|
id: PaymentId,
|
|
74
105
|
project_id: ProjectId,
|
|
106
|
+
customer_id: effect.Schema.optional(effect.Schema.NullOr(CustomerId)),
|
|
75
107
|
amount: effect.Schema.Number,
|
|
76
108
|
currency: effect.Schema.String,
|
|
77
109
|
status: PaymentStatus,
|
|
@@ -93,7 +125,9 @@ var Subscription = effect.Schema.Struct({
|
|
|
93
125
|
current_period_start: Timestamp,
|
|
94
126
|
current_period_end: Timestamp,
|
|
95
127
|
payment_link: UrlString,
|
|
128
|
+
customer_email: effect.Schema.optional(effect.Schema.NullOr(effect.Schema.String)),
|
|
96
129
|
auto_send_link: effect.Schema.Boolean,
|
|
130
|
+
grace_days: effect.Schema.optional(effect.Schema.Number),
|
|
97
131
|
metadata: effect.Schema.optional(effect.Schema.NullOr(Metadata)),
|
|
98
132
|
canceled_at: effect.Schema.optional(effect.Schema.NullOr(Timestamp)),
|
|
99
133
|
created_at: Timestamp,
|
|
@@ -103,6 +137,13 @@ var Project = effect.Schema.Struct({
|
|
|
103
137
|
id: ProjectId,
|
|
104
138
|
name: NonEmptyString,
|
|
105
139
|
api_key_secret: effect.Schema.String,
|
|
140
|
+
subscription_tier: effect.Schema.optional(
|
|
141
|
+
effect.Schema.Literal("free", "pro", "enterprise")
|
|
142
|
+
),
|
|
143
|
+
subscription_status: effect.Schema.optional(
|
|
144
|
+
effect.Schema.Literal("active", "past_due", "canceled", "incomplete")
|
|
145
|
+
),
|
|
146
|
+
expires_at: effect.Schema.optional(effect.Schema.NullOr(Timestamp)),
|
|
106
147
|
created_at: Timestamp
|
|
107
148
|
});
|
|
108
149
|
var Token = effect.Schema.Struct({
|
|
@@ -113,6 +154,38 @@ var Token = effect.Schema.Struct({
|
|
|
113
154
|
expires_at: effect.Schema.NullOr(Timestamp),
|
|
114
155
|
created_at: Timestamp
|
|
115
156
|
});
|
|
157
|
+
var Mandate = effect.Schema.Struct({
|
|
158
|
+
id: MandateId,
|
|
159
|
+
project_id: ProjectId,
|
|
160
|
+
customer_id: effect.Schema.NullOr(CustomerId),
|
|
161
|
+
type: MandateType,
|
|
162
|
+
status: MandateStatus,
|
|
163
|
+
principal_id: effect.Schema.String,
|
|
164
|
+
max_amount: effect.Schema.Number,
|
|
165
|
+
currency: effect.Schema.String,
|
|
166
|
+
permitted_vendors: effect.Schema.NullOr(effect.Schema.Array(effect.Schema.String)),
|
|
167
|
+
valid_from: Timestamp,
|
|
168
|
+
valid_until: Timestamp,
|
|
169
|
+
credential_jwt: effect.Schema.String,
|
|
170
|
+
public_key: effect.Schema.String,
|
|
171
|
+
signature: effect.Schema.String,
|
|
172
|
+
parent_mandate_id: effect.Schema.NullOr(MandateId),
|
|
173
|
+
payment_id: effect.Schema.NullOr(PaymentId),
|
|
174
|
+
created_at: Timestamp,
|
|
175
|
+
consumed_at: effect.Schema.NullOr(Timestamp),
|
|
176
|
+
metadata_json: Metadata
|
|
177
|
+
});
|
|
178
|
+
var AgentSession = effect.Schema.Struct({
|
|
179
|
+
id: AgentSessionId,
|
|
180
|
+
project_id: ProjectId,
|
|
181
|
+
context_id: effect.Schema.String,
|
|
182
|
+
agent_card_url: UrlString,
|
|
183
|
+
capabilities: effect.Schema.Any,
|
|
184
|
+
auth_scheme: effect.Schema.Literal("bearer", "mandate"),
|
|
185
|
+
status: effect.Schema.String,
|
|
186
|
+
created_at: Timestamp,
|
|
187
|
+
expires_at: Timestamp
|
|
188
|
+
});
|
|
116
189
|
var PaginationMeta = effect.Schema.Struct({
|
|
117
190
|
total: effect.Schema.NullOr(effect.Schema.Number),
|
|
118
191
|
limit: effect.Schema.Number,
|
|
@@ -126,6 +199,8 @@ var WebhookEventType = effect.Schema.Literal(
|
|
|
126
199
|
"payment.success",
|
|
127
200
|
"payment.failed",
|
|
128
201
|
"subscription.created",
|
|
202
|
+
"subscription.activated",
|
|
203
|
+
"subscription.renewed",
|
|
129
204
|
"subscription.payment_succeeded",
|
|
130
205
|
"subscription.payment_failed",
|
|
131
206
|
"subscription.renewal_due",
|
|
@@ -150,13 +225,15 @@ var WebhookEvent = effect.Schema.Struct({
|
|
|
150
225
|
created: effect.Schema.optional(effect.Schema.Number)
|
|
151
226
|
});
|
|
152
227
|
var CreateCheckoutParams = effect.Schema.Struct({
|
|
153
|
-
amount: effect.Schema.optional(
|
|
228
|
+
amount: effect.Schema.optional(NprAmount),
|
|
154
229
|
currency: effect.Schema.optionalWith(effect.Schema.String, { default: () => "NPR" }),
|
|
155
230
|
provider: Provider,
|
|
156
231
|
returnUrl: UrlString,
|
|
157
232
|
cancelUrl: effect.Schema.optional(UrlString),
|
|
158
233
|
metadata: effect.Schema.optional(Metadata),
|
|
159
|
-
subscriptionId: effect.Schema.optional(SubscriptionId)
|
|
234
|
+
subscriptionId: effect.Schema.optional(SubscriptionId),
|
|
235
|
+
customerId: effect.Schema.optional(CustomerId),
|
|
236
|
+
mandate_id: effect.Schema.optional(MandateId)
|
|
160
237
|
}).pipe(
|
|
161
238
|
effect.Schema.filter((data) => {
|
|
162
239
|
if (!data.subscriptionId && !data.amount) {
|
|
@@ -168,6 +245,7 @@ var CreateCheckoutParams = effect.Schema.Struct({
|
|
|
168
245
|
var CheckoutSession = effect.Schema.Struct({
|
|
169
246
|
id: CheckoutSessionId,
|
|
170
247
|
checkout_url: UrlString,
|
|
248
|
+
qr_string: effect.Schema.optional(effect.Schema.String),
|
|
171
249
|
payment_method: effect.Schema.Struct({
|
|
172
250
|
type: Provider,
|
|
173
251
|
url: effect.Schema.optional(UrlString),
|
|
@@ -201,22 +279,27 @@ var UpdateCustomerParams = effect.Schema.Struct({
|
|
|
201
279
|
email: effect.Schema.optional(Email),
|
|
202
280
|
name: effect.Schema.optional(NonEmptyString),
|
|
203
281
|
phone: effect.Schema.optional(effect.Schema.String),
|
|
282
|
+
tier: effect.Schema.optional(effect.Schema.String),
|
|
283
|
+
merchant_customer_id: effect.Schema.optional(effect.Schema.String),
|
|
204
284
|
metadata: effect.Schema.optional(Metadata)
|
|
205
285
|
});
|
|
206
286
|
var CreateSubscriptionParams = effect.Schema.Struct({
|
|
207
287
|
customer_id: CustomerId,
|
|
208
|
-
amount:
|
|
288
|
+
amount: NprAmount,
|
|
209
289
|
currency: effect.Schema.optionalWith(effect.Schema.String, { default: () => "NPR" }),
|
|
210
290
|
interval: SubscriptionInterval,
|
|
211
291
|
interval_count: effect.Schema.optional(effect.Schema.Number),
|
|
212
292
|
project_id: effect.Schema.optional(ProjectId),
|
|
293
|
+
customer_email: effect.Schema.optional(effect.Schema.String),
|
|
213
294
|
auto_send_link: effect.Schema.optional(effect.Schema.Boolean),
|
|
214
295
|
metadata: effect.Schema.optional(Metadata)
|
|
215
296
|
});
|
|
216
297
|
var CallbackQueryParams = effect.Schema.Struct({
|
|
217
298
|
payment_id: effect.Schema.optional(effect.Schema.String),
|
|
218
299
|
data: effect.Schema.optional(effect.Schema.String),
|
|
219
|
-
pidx: effect.Schema.optional(effect.Schema.String)
|
|
300
|
+
pidx: effect.Schema.optional(effect.Schema.String),
|
|
301
|
+
/** HamroPay-specific: the gateway's own transactionId returned on callback. */
|
|
302
|
+
ref_id: effect.Schema.optional(effect.Schema.String)
|
|
220
303
|
});
|
|
221
304
|
var ListSubscriptionsParams = effect.Schema.Struct({
|
|
222
305
|
limit: effect.Schema.optional(effect.Schema.NumberFromString),
|
|
@@ -234,13 +317,16 @@ var PayArkConfig = effect.Schema.Struct({
|
|
|
234
317
|
baseUrl: effect.Schema.optional(effect.Schema.String),
|
|
235
318
|
timeout: effect.Schema.optional(effect.Schema.Number),
|
|
236
319
|
maxRetries: effect.Schema.optional(effect.Schema.Number),
|
|
237
|
-
sandbox: effect.Schema.optional(effect.Schema.Boolean)
|
|
320
|
+
sandbox: effect.Schema.optional(effect.Schema.Boolean),
|
|
321
|
+
signingPrivateKey: effect.Schema.optional(effect.Schema.String)
|
|
238
322
|
});
|
|
239
323
|
var PayArkErrorBody = effect.Schema.Struct({
|
|
240
324
|
error: effect.Schema.String,
|
|
241
325
|
details: effect.Schema.optional(effect.Schema.Any)
|
|
242
326
|
});
|
|
243
327
|
|
|
328
|
+
exports.AgentSession = AgentSession;
|
|
329
|
+
exports.AgentSessionId = AgentSessionId;
|
|
244
330
|
exports.CallbackQueryParams = CallbackQueryParams;
|
|
245
331
|
exports.CheckoutSession = CheckoutSession;
|
|
246
332
|
exports.CheckoutSessionId = CheckoutSessionId;
|
|
@@ -249,11 +335,16 @@ exports.CreateCustomerParams = CreateCustomerParams;
|
|
|
249
335
|
exports.CreateSubscriptionParams = CreateSubscriptionParams;
|
|
250
336
|
exports.Customer = Customer;
|
|
251
337
|
exports.CustomerId = CustomerId;
|
|
338
|
+
exports.CustomerLifecycle = CustomerLifecycle;
|
|
252
339
|
exports.Email = Email;
|
|
253
340
|
exports.Id = Id;
|
|
254
341
|
exports.ListCustomersParams = ListCustomersParams;
|
|
255
342
|
exports.ListPaymentsParams = ListPaymentsParams;
|
|
256
343
|
exports.ListSubscriptionsParams = ListSubscriptionsParams;
|
|
344
|
+
exports.Mandate = Mandate;
|
|
345
|
+
exports.MandateId = MandateId;
|
|
346
|
+
exports.MandateStatus = MandateStatus;
|
|
347
|
+
exports.MandateType = MandateType;
|
|
257
348
|
exports.Metadata = Metadata;
|
|
258
349
|
exports.PaginatedResponse = PaginatedResponse;
|
|
259
350
|
exports.PaginationMeta = PaginationMeta;
|
package/dist/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schemas/validation.ts","../src/schemas.ts"],"names":["Schema"],"mappings":"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","file":"schemas.js","sourcesContent":["import { Schema } from \"effect\";\n\n/**\n * ── Refinements ──\n */\n\nexport const NonEmptyString = Schema.String.pipe(\n Schema.nonEmptyString(),\n Schema.brand(\"NonEmptyString\"),\n);\nexport type NonEmptyString = Schema.Schema.Type<typeof NonEmptyString>;\n\nexport const UrlString = Schema.String.pipe(\n Schema.pattern(/^https?:\\/\\/.+/),\n Schema.brand(\"UrlString\"),\n);\nexport type UrlString = Schema.Schema.Type<typeof UrlString>;\n\nexport const MinorUnitsInt = Schema.Number.pipe(\n Schema.int(),\n Schema.greaterThan(0),\n Schema.brand(\"MinorUnitsInt\"),\n);\nexport type MinorUnitsInt = Schema.Schema.Type<typeof MinorUnitsInt>;\n","import { Schema } from \"effect\";\nimport * as V from \"./schemas/validation\";\n\n/**\n * ── Branded Types ──\n */\nexport const Id = Schema.String.pipe(Schema.brand(\"Id\"));\nexport const ProjectId = Schema.String.pipe(Schema.brand(\"ProjectId\"));\nexport const PaymentId = Schema.String.pipe(Schema.brand(\"PaymentId\"));\nexport const CheckoutSessionId = Schema.String.pipe(\n Schema.brand(\"CheckoutSessionId\"),\n);\nexport const SubscriptionId = Schema.String.pipe(\n Schema.brand(\"SubscriptionId\"),\n);\nexport const CustomerId = Schema.String.pipe(Schema.brand(\"CustomerId\"));\nexport const TokenId = Schema.String.pipe(Schema.brand(\"TokenId\"));\n\nexport type Id = Schema.Schema.Type<typeof Id>;\nexport type ProjectId = Schema.Schema.Type<typeof ProjectId>;\nexport type PaymentId = Schema.Schema.Type<typeof PaymentId>;\nexport type CheckoutSessionId = Schema.Schema.Type<typeof CheckoutSessionId>;\nexport type SubscriptionId = Schema.Schema.Type<typeof SubscriptionId>;\nexport type CustomerId = Schema.Schema.Type<typeof CustomerId>;\nexport type TokenId = Schema.Schema.Type<typeof TokenId>;\n\n/**\n * ── Atomic Atoms ──\n */\nexport const Email = Schema.String.pipe(\n Schema.filter((s) => s.includes(\"@\")),\n Schema.brand(\"Email\"),\n);\nexport type Email = Schema.Schema.Type<typeof Email>;\n\nexport const Timestamp = Schema.String.pipe(Schema.brand(\"Timestamp\"));\nexport type Timestamp = Schema.Schema.Type<typeof Timestamp>;\n\nexport const Metadata = Schema.Record({\n key: Schema.String,\n value: Schema.Any,\n});\nexport type Metadata = Schema.Schema.Type<typeof Metadata>;\n\nexport const Timestamps = Schema.Struct({\n created_at: Timestamp,\n updated_at: Timestamp,\n});\nexport type Timestamps = Schema.Schema.Type<typeof Timestamps>;\n\n/**\n * ── Enums ──\n */\nexport const Provider = Schema.Literal(\n \"esewa\",\n \"khalti\",\n \"connectips\",\n \"imepay\",\n \"fonepay\",\n \"sandbox\",\n);\nexport type Provider = Schema.Schema.Type<typeof Provider>;\n\nexport const PaymentStatus = Schema.Literal(\"pending\", \"success\", \"failed\");\nexport type PaymentStatus = Schema.Schema.Type<typeof PaymentStatus>;\n\nexport const SubscriptionStatus = Schema.Literal(\n \"active\",\n \"past_due\",\n \"canceled\",\n \"paused\",\n);\nexport type SubscriptionStatus = Schema.Schema.Type<typeof SubscriptionStatus>;\n\nexport const SubscriptionInterval = Schema.Literal(\"month\", \"year\", \"week\");\nexport type SubscriptionInterval = Schema.Schema.Type<\n typeof SubscriptionInterval\n>;\n\n/**\n * ── Models ──\n */\n\nexport const Customer = Schema.Struct({\n id: CustomerId,\n merchant_customer_id: V.NonEmptyString,\n email: Schema.NullOr(Email),\n name: Schema.NullOr(V.NonEmptyString),\n phone: Schema.NullOr(Schema.String),\n project_id: ProjectId,\n metadata: Schema.NullOr(Metadata),\n created_at: Timestamp,\n updated_at: Schema.optional(Timestamp),\n});\nexport type Customer = Schema.Schema.Type<typeof Customer>;\n\nexport const Payment = Schema.Struct({\n id: PaymentId,\n project_id: ProjectId,\n amount: Schema.Number,\n currency: Schema.String,\n status: PaymentStatus,\n provider_ref: Schema.optional(Schema.NullOr(Schema.String)),\n metadata_json: Schema.optional(Schema.NullOr(Metadata)),\n gateway_response: Schema.optional(Schema.NullOr(Schema.Any)),\n created_at: Timestamp,\n updated_at: Schema.optional(Timestamp),\n});\nexport type Payment = Schema.Schema.Type<typeof Payment>;\n\nexport const Subscription = Schema.Struct({\n id: SubscriptionId,\n project_id: ProjectId,\n customer_id: CustomerId,\n status: SubscriptionStatus,\n amount: Schema.Number,\n currency: Schema.String,\n interval: SubscriptionInterval,\n interval_count: Schema.Number,\n current_period_start: Timestamp,\n current_period_end: Timestamp,\n payment_link: V.UrlString,\n auto_send_link: Schema.Boolean,\n metadata: Schema.optional(Schema.NullOr(Metadata)),\n canceled_at: Schema.optional(Schema.NullOr(Timestamp)),\n created_at: Timestamp,\n updated_at: Schema.optional(Timestamp),\n});\nexport type Subscription = Schema.Schema.Type<typeof Subscription>;\n\nexport const Project = Schema.Struct({\n id: ProjectId,\n name: V.NonEmptyString,\n api_key_secret: Schema.String,\n created_at: Timestamp,\n});\nexport type Project = Schema.Schema.Type<typeof Project>;\n\nexport const Token = Schema.Struct({\n id: TokenId,\n name: V.NonEmptyString,\n scopes: Schema.Array(Schema.String),\n last_used_at: Schema.NullOr(Timestamp),\n expires_at: Schema.NullOr(Timestamp),\n created_at: Timestamp,\n});\nexport type Token = Schema.Schema.Type<typeof Token>;\n\n/**\n * ── Pagination ──\n */\nexport const PaginationMeta = Schema.Struct({\n total: Schema.NullOr(Schema.Number),\n limit: Schema.Number,\n offset: Schema.Number,\n});\nexport type PaginationMeta = Schema.Schema.Type<typeof PaginationMeta>;\n\nexport const PaginatedResponse = <A, I, R>(schema: Schema.Schema<A, I, R>) =>\n Schema.Struct({\n data: Schema.Array(schema),\n meta: PaginationMeta,\n });\n\nexport interface PaginatedResponse<T> {\n readonly data: readonly T[];\n readonly meta: PaginationMeta;\n}\n\n/**\n * ── Webhooks ──\n */\nexport const WebhookEventType = Schema.Literal(\n \"payment.success\",\n \"payment.failed\",\n \"subscription.created\",\n \"subscription.payment_succeeded\",\n \"subscription.payment_failed\",\n \"subscription.renewal_due\",\n \"subscription.canceled\",\n);\nexport type WebhookEventType = Schema.Schema.Type<typeof WebhookEventType>;\n\nexport const WebhookEvent = Schema.Struct({\n type: WebhookEventType,\n id: Schema.optional(Schema.String),\n data: Schema.Union(\n Payment,\n Subscription,\n Customer,\n Schema.Struct({\n id: Schema.String,\n amount: Schema.optional(Schema.Number),\n currency: Schema.optional(Schema.String),\n status: Schema.String,\n metadata: Schema.optional(Metadata),\n }),\n ),\n is_test: Schema.Boolean,\n created: Schema.optional(Schema.Number),\n});\nexport type WebhookEvent = Schema.Schema.Type<typeof WebhookEvent>;\n\n/**\n * ── Params & Inputs ──\n */\n\nexport const CreateCheckoutParams = Schema.Struct({\n amount: Schema.optional(V.MinorUnitsInt),\n currency: Schema.optionalWith(Schema.String, { default: () => \"NPR\" }),\n provider: Provider,\n returnUrl: V.UrlString,\n cancelUrl: Schema.optional(V.UrlString),\n metadata: Schema.optional(Metadata),\n subscriptionId: Schema.optional(SubscriptionId),\n}).pipe(\n Schema.filter((data) => {\n if (!data.subscriptionId && !data.amount) {\n return \"amount is required when subscriptionId is not provided\";\n }\n return true;\n }),\n);\nexport type CreateCheckoutParams = Schema.Schema.Type<\n typeof CreateCheckoutParams\n>;\n\nexport const CheckoutSession = Schema.Struct({\n id: CheckoutSessionId,\n checkout_url: V.UrlString,\n payment_method: Schema.Struct({\n type: Provider,\n url: Schema.optional(V.UrlString),\n method: Schema.optional(Schema.Literal(\"GET\", \"POST\")),\n fields: Schema.optional(\n Schema.Record({ key: Schema.String, value: Schema.String }),\n ),\n }),\n});\nexport type CheckoutSession = Schema.Schema.Type<typeof CheckoutSession>;\n\nexport const CreateCustomerParams = Schema.Struct({\n merchant_customer_id: V.NonEmptyString,\n email: Schema.optional(Email),\n name: Schema.optional(V.NonEmptyString),\n phone: Schema.optional(Schema.String),\n project_id: Schema.optional(ProjectId),\n metadata: Schema.optional(Metadata),\n});\nexport type CreateCustomerParams = Schema.Schema.Type<\n typeof CreateCustomerParams\n>;\n\nexport const ListPaymentsParams = Schema.Struct({\n limit: Schema.optional(Schema.NumberFromString),\n offset: Schema.optional(Schema.NumberFromString),\n projectId: Schema.optional(ProjectId),\n});\nexport type ListPaymentsParams = Schema.Schema.Type<typeof ListPaymentsParams>;\n\nexport const ListCustomersParams = Schema.Struct({\n limit: Schema.optional(Schema.NumberFromString),\n offset: Schema.optional(Schema.NumberFromString),\n email: Schema.optional(Schema.String),\n merchant_customer_id: Schema.optional(Schema.String),\n projectId: Schema.optional(ProjectId),\n});\nexport type ListCustomersParams = Schema.Schema.Type<\n typeof ListCustomersParams\n>;\n\nexport const UpdateCustomerParams = Schema.Struct({\n email: Schema.optional(Email),\n name: Schema.optional(V.NonEmptyString),\n phone: Schema.optional(Schema.String),\n metadata: Schema.optional(Metadata),\n});\nexport type UpdateCustomerParams = Schema.Schema.Type<\n typeof UpdateCustomerParams\n>;\n\nexport const CreateSubscriptionParams = Schema.Struct({\n customer_id: CustomerId,\n amount: V.MinorUnitsInt,\n currency: Schema.optionalWith(Schema.String, { default: () => \"NPR\" }),\n interval: SubscriptionInterval,\n interval_count: Schema.optional(Schema.Number),\n project_id: Schema.optional(ProjectId),\n auto_send_link: Schema.optional(Schema.Boolean),\n metadata: Schema.optional(Metadata),\n});\nexport type CreateSubscriptionParams = Schema.Schema.Type<\n typeof CreateSubscriptionParams\n>;\n\nexport const CallbackQueryParams = Schema.Struct({\n payment_id: Schema.optional(Schema.String),\n data: Schema.optional(Schema.String),\n pidx: Schema.optional(Schema.String),\n});\nexport type CallbackQueryParams = Schema.Schema.Type<\n typeof CallbackQueryParams\n>;\n\nexport const ListSubscriptionsParams = Schema.Struct({\n limit: Schema.optional(Schema.NumberFromString),\n offset: Schema.optional(Schema.NumberFromString),\n projectId: Schema.optional(ProjectId),\n customerId: Schema.optional(CustomerId),\n status: Schema.optional(SubscriptionStatus),\n});\nexport type ListSubscriptionsParams = Schema.Schema.Type<\n typeof ListSubscriptionsParams\n>;\n\nexport const RealtimeTriggerPayload = Schema.Struct({\n event: Schema.optional(WebhookEventType),\n data: Schema.optional(Schema.Any),\n});\nexport type RealtimeTriggerPayload = Schema.Schema.Type<\n typeof RealtimeTriggerPayload\n>;\n\n/**\n * ── Client Config ──\n */\nexport const PayArkConfig = Schema.Struct({\n apiKey: Schema.String,\n baseUrl: Schema.optional(Schema.String),\n timeout: Schema.optional(Schema.Number),\n maxRetries: Schema.optional(Schema.Number),\n sandbox: Schema.optional(Schema.Boolean),\n});\nexport type PayArkConfig = Schema.Schema.Type<typeof PayArkConfig>;\n\n/**\n * ── Error Schemas ──\n */\nexport const PayArkErrorBody = Schema.Struct({\n error: Schema.String,\n details: Schema.optional(Schema.Any),\n});\nexport type PayArkErrorBody = Schema.Schema.Type<typeof PayArkErrorBody>;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/schemas/validation.ts","../src/schemas.ts"],"names":["Schema"],"mappings":";;;;;AAMO,IAAM,cAAA,GAAiBA,cAAO,MAAA,CAAO,IAAA;AAAA,EAC1CA,cAAO,cAAA,EAAe;AAAA,EACtBA,aAAA,CAAO,MAAM,gBAAgB;AAC/B,CAAA;AAGO,IAAM,SAAA,GAAYA,cAAO,MAAA,CAAO,IAAA;AAAA,EACrCA,aAAA,CAAO,QAAQ,gBAAgB,CAAA;AAAA,EAC/BA,aAAA,CAAO,MAAM,WAAW;AAC1B,CAAA;AAG6BA,cAAO,MAAA,CAAO,IAAA;AAAA,EACzCA,cAAO,GAAA,EAAI;AAAA,EACXA,aAAA,CAAO,YAAY,CAAC,CAAA;AAAA,EACpBA,aAAA,CAAO,MAAM,eAAe;AAC9B;AAGO,IAAM,SAAA,GAAYA,cAAO,MAAA,CAAO,IAAA;AAAA,EACrCA,aAAA,CAAO,MAAA;AAAA,IACL,CAAC,CAAA,KAAM,MAAA,CAAO,QAAA,CAAS,CAAC,CAAA,IAAK,CAAA,GAAI,CAAA,IAAK,IAAA,CAAK,KAAA,CAAM,CAAA,GAAI,GAAG,MAAM,CAAA,GAAI;AAAA,GACpE;AAAA,EACAA,aAAA,CAAO,MAAM,WAAW;AAC1B,CAAA;;;ACxBO,IAAM,KAAKA,aAAAA,CAAO,MAAA,CAAO,KAAKA,aAAAA,CAAO,KAAA,CAAM,IAAI,CAAC;AAChD,IAAM,YAAYA,aAAAA,CAAO,MAAA,CAAO,KAAKA,aAAAA,CAAO,KAAA,CAAM,WAAW,CAAC;AAC9D,IAAM,YAAYA,aAAAA,CAAO,MAAA,CAAO,KAAKA,aAAAA,CAAO,KAAA,CAAM,WAAW,CAAC;AAC9D,IAAM,iBAAA,GAAoBA,cAAO,MAAA,CAAO,IAAA;AAAA,EAC7CA,aAAAA,CAAO,MAAM,mBAAmB;AAClC;AACO,IAAM,cAAA,GAAiBA,cAAO,MAAA,CAAO,IAAA;AAAA,EAC1CA,aAAAA,CAAO,MAAM,gBAAgB;AAC/B;AACO,IAAM,YAAYA,aAAAA,CAAO,MAAA,CAAO,KAAKA,aAAAA,CAAO,KAAA,CAAM,WAAW,CAAC;AAC9D,IAAM,cAAA,GAAiBA,cAAO,MAAA,CAAO,IAAA;AAAA,EAC1CA,aAAAA,CAAO,MAAM,gBAAgB;AAC/B;AACO,IAAM,aAAaA,aAAAA,CAAO,MAAA,CAAO,KAAKA,aAAAA,CAAO,KAAA,CAAM,YAAY,CAAC;AAChE,IAAM,UAAUA,aAAAA,CAAO,MAAA,CAAO,KAAKA,aAAAA,CAAO,KAAA,CAAM,SAAS,CAAC;AAe1D,IAAM,KAAA,GAAQA,cAAO,MAAA,CAAO,IAAA;AAAA,EACjCA,cAAO,MAAA,CAAO,CAAC,MAAM,CAAA,CAAE,QAAA,CAAS,GAAG,CAAC,CAAA;AAAA,EACpCA,aAAAA,CAAO,MAAM,OAAO;AACtB;AAGO,IAAM,YAAYA,aAAAA,CAAO,MAAA,CAAO,KAAKA,aAAAA,CAAO,KAAA,CAAM,WAAW,CAAC;AAG9D,IAAM,QAAA,GAAWA,cAAO,MAAA,CAAO;AAAA,EACpC,KAAKA,aAAAA,CAAO,MAAA;AAAA,EACZ,OAAOA,aAAAA,CAAO;AAChB,CAAC;AAGM,IAAM,UAAA,GAAaA,cAAO,MAAA,CAAO;AAAA,EACtC,UAAA,EAAY,SAAA;AAAA,EACZ,UAAA,EAAY;AACd,CAAC;AAMM,IAAM,WAAWA,aAAAA,CAAO,OAAA;AAAA,EAC7B,OAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF;AAGO,IAAM,aAAA,GAAgBA,aAAAA,CAAO,OAAA,CAAQ,SAAA,EAAW,WAAW,QAAQ;AAGnE,IAAM,qBAAqBA,aAAAA,CAAO,OAAA;AAAA,EACvC,kBAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF;AAGO,IAAM,oBAAA,GAAuBA,aAAAA,CAAO,OAAA,CAAQ,OAAA,EAAS,QAAQ,MAAM;AAKnE,IAAM,oBAAoBA,aAAAA,CAAO,OAAA;AAAA,EACtC,KAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF;AAMO,IAAM,WAAA,GAAcA,aAAAA,CAAO,OAAA,CAAQ,QAAA,EAAU,MAAM;AAGnD,IAAM,gBAAgBA,aAAAA,CAAO,OAAA;AAAA,EAClC,QAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF;AAOO,IAAM,QAAA,GAAWA,cAAO,MAAA,CAAO;AAAA,EACpC,EAAA,EAAI,UAAA;AAAA,EACJ,oBAAA,EAAwB,cAAA;AAAA,EACxB,KAAA,EAAOA,aAAAA,CAAO,MAAA,CAAO,KAAK,CAAA;AAAA,EAC1B,IAAA,EAAMA,aAAAA,CAAO,MAAA,CAAS,cAAc,CAAA;AAAA,EACpC,KAAA,EAAOA,aAAAA,CAAO,MAAA,CAAOA,aAAAA,CAAO,MAAM,CAAA;AAAA,EAClC,UAAA,EAAY,SAAA;AAAA,EACZ,QAAA,EAAUA,aAAAA,CAAO,MAAA,CAAO,QAAQ,CAAA;AAAA,EAChC,SAAA,EAAWA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,EACxC,aAAA,EAAeA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,OAAO,CAAA;AAAA,EAC7C,eAAA,EAAiBA,aAAAA,CAAO,QAAA,CAAS,iBAAiB,CAAA;AAAA,EAClD,SAAA,EAAWA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,EACxC,IAAA,EAAMA,aAAAA,CAAO,MAAA,CAAOA,aAAAA,CAAO,MAAM,CAAA;AAAA,EACjC,UAAA,EAAY,SAAA;AAAA,EACZ,UAAA,EAAYA,aAAAA,CAAO,QAAA,CAAS,SAAS;AACvC,CAAC;AAGM,IAAM,OAAA,GAAUA,cAAO,MAAA,CAAO;AAAA,EACnC,EAAA,EAAI,SAAA;AAAA,EACJ,UAAA,EAAY,SAAA;AAAA,EACZ,aAAaA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAA,CAAO,UAAU,CAAC,CAAA;AAAA,EACtD,QAAQA,aAAAA,CAAO,MAAA;AAAA,EACf,UAAUA,aAAAA,CAAO,MAAA;AAAA,EACjB,MAAA,EAAQ,aAAA;AAAA,EACR,cAAcA,aAAAA,CAAO,QAAA,CAASA,cAAO,MAAA,CAAOA,aAAAA,CAAO,MAAM,CAAC,CAAA;AAAA,EAC1D,eAAeA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAA,CAAO,QAAQ,CAAC,CAAA;AAAA,EACtD,kBAAkBA,aAAAA,CAAO,QAAA,CAASA,cAAO,MAAA,CAAOA,aAAAA,CAAO,GAAG,CAAC,CAAA;AAAA,EAC3D,UAAA,EAAY,SAAA;AAAA,EACZ,UAAA,EAAYA,aAAAA,CAAO,QAAA,CAAS,SAAS;AACvC,CAAC;AAGM,IAAM,YAAA,GAAeA,cAAO,MAAA,CAAO;AAAA,EACxC,EAAA,EAAI,cAAA;AAAA,EACJ,UAAA,EAAY,SAAA;AAAA,EACZ,WAAA,EAAa,UAAA;AAAA,EACb,MAAA,EAAQ,kBAAA;AAAA,EACR,QAAQA,aAAAA,CAAO,MAAA;AAAA,EACf,UAAUA,aAAAA,CAAO,MAAA;AAAA,EACjB,QAAA,EAAU,oBAAA;AAAA,EACV,gBAAgBA,aAAAA,CAAO,MAAA;AAAA,EACvB,oBAAA,EAAsB,SAAA;AAAA,EACtB,kBAAA,EAAoB,SAAA;AAAA,EACpB,YAAA,EAAgB,SAAA;AAAA,EAChB,gBAAgBA,aAAAA,CAAO,QAAA,CAASA,cAAO,MAAA,CAAOA,aAAAA,CAAO,MAAM,CAAC,CAAA;AAAA,EAC5D,gBAAgBA,aAAAA,CAAO,OAAA;AAAA,EACvB,UAAA,EAAYA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,EACzC,UAAUA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAA,CAAO,QAAQ,CAAC,CAAA;AAAA,EACjD,aAAaA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAA,CAAO,SAAS,CAAC,CAAA;AAAA,EACrD,UAAA,EAAY,SAAA;AAAA,EACZ,UAAA,EAAYA,aAAAA,CAAO,QAAA,CAAS,SAAS;AACvC,CAAC;AAGM,IAAM,OAAA,GAAUA,cAAO,MAAA,CAAO;AAAA,EACnC,EAAA,EAAI,SAAA;AAAA,EACJ,IAAA,EAAQ,cAAA;AAAA,EACR,gBAAgBA,aAAAA,CAAO,MAAA;AAAA,EACvB,mBAAmBA,aAAAA,CAAO,QAAA;AAAA,IACxBA,aAAAA,CAAO,OAAA,CAAQ,MAAA,EAAQ,KAAA,EAAO,YAAY;AAAA,GAC5C;AAAA,EACA,qBAAqBA,aAAAA,CAAO,QAAA;AAAA,IAC1BA,aAAAA,CAAO,OAAA,CAAQ,QAAA,EAAU,UAAA,EAAY,YAAY,YAAY;AAAA,GAC/D;AAAA,EACA,YAAYA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAA,CAAO,SAAS,CAAC,CAAA;AAAA,EACpD,UAAA,EAAY;AACd,CAAC;AAGM,IAAM,KAAA,GAAQA,cAAO,MAAA,CAAO;AAAA,EACjC,EAAA,EAAI,OAAA;AAAA,EACJ,IAAA,EAAQ,cAAA;AAAA,EACR,MAAA,EAAQA,aAAAA,CAAO,KAAA,CAAMA,aAAAA,CAAO,MAAM,CAAA;AAAA,EAClC,YAAA,EAAcA,aAAAA,CAAO,MAAA,CAAO,SAAS,CAAA;AAAA,EACrC,UAAA,EAAYA,aAAAA,CAAO,MAAA,CAAO,SAAS,CAAA;AAAA,EACnC,UAAA,EAAY;AACd,CAAC;AAOM,IAAM,OAAA,GAAUA,cAAO,MAAA,CAAO;AAAA,EACnC,EAAA,EAAI,SAAA;AAAA,EACJ,UAAA,EAAY,SAAA;AAAA,EACZ,WAAA,EAAaA,aAAAA,CAAO,MAAA,CAAO,UAAU,CAAA;AAAA,EACrC,IAAA,EAAM,WAAA;AAAA,EACN,MAAA,EAAQ,aAAA;AAAA,EACR,cAAcA,aAAAA,CAAO,MAAA;AAAA,EACrB,YAAYA,aAAAA,CAAO,MAAA;AAAA,EACnB,UAAUA,aAAAA,CAAO,MAAA;AAAA,EACjB,mBAAmBA,aAAAA,CAAO,MAAA,CAAOA,cAAO,KAAA,CAAMA,aAAAA,CAAO,MAAM,CAAC,CAAA;AAAA,EAC5D,UAAA,EAAY,SAAA;AAAA,EACZ,WAAA,EAAa,SAAA;AAAA,EACb,gBAAgBA,aAAAA,CAAO,MAAA;AAAA,EACvB,YAAYA,aAAAA,CAAO,MAAA;AAAA,EACnB,WAAWA,aAAAA,CAAO,MAAA;AAAA,EAClB,iBAAA,EAAmBA,aAAAA,CAAO,MAAA,CAAO,SAAS,CAAA;AAAA,EAC1C,UAAA,EAAYA,aAAAA,CAAO,MAAA,CAAO,SAAS,CAAA;AAAA,EACnC,UAAA,EAAY,SAAA;AAAA,EACZ,WAAA,EAAaA,aAAAA,CAAO,MAAA,CAAO,SAAS,CAAA;AAAA,EACpC,aAAA,EAAe;AACjB,CAAC;AAGM,IAAM,YAAA,GAAeA,cAAO,MAAA,CAAO;AAAA,EACxC,EAAA,EAAI,cAAA;AAAA,EACJ,UAAA,EAAY,SAAA;AAAA,EACZ,YAAYA,aAAAA,CAAO,MAAA;AAAA,EACnB,cAAA,EAAkB,SAAA;AAAA,EAClB,cAAcA,aAAAA,CAAO,GAAA;AAAA,EACrB,WAAA,EAAaA,aAAAA,CAAO,OAAA,CAAQ,QAAA,EAAU,SAAS,CAAA;AAAA,EAC/C,QAAQA,aAAAA,CAAO,MAAA;AAAA,EACf,UAAA,EAAY,SAAA;AAAA,EACZ,UAAA,EAAY;AACd,CAAC;AAMM,IAAM,cAAA,GAAiBA,cAAO,MAAA,CAAO;AAAA,EAC1C,KAAA,EAAOA,aAAAA,CAAO,MAAA,CAAOA,aAAAA,CAAO,MAAM,CAAA;AAAA,EAClC,OAAOA,aAAAA,CAAO,MAAA;AAAA,EACd,QAAQA,aAAAA,CAAO;AACjB,CAAC;AAGM,IAAM,iBAAA,GAAoB,CAAU,MAAA,KACzCA,aAAAA,CAAO,MAAA,CAAO;AAAA,EACZ,IAAA,EAAMA,aAAAA,CAAO,KAAA,CAAM,MAAM,CAAA;AAAA,EACzB,IAAA,EAAM;AACR,CAAC;AAUI,IAAM,mBAAmBA,aAAAA,CAAO,OAAA;AAAA,EACrC,iBAAA;AAAA,EACA,gBAAA;AAAA,EACA,sBAAA;AAAA,EACA,wBAAA;AAAA,EACA,sBAAA;AAAA,EACA,gCAAA;AAAA,EACA,6BAAA;AAAA,EACA,0BAAA;AAAA,EACA;AACF;AAGO,IAAM,YAAA,GAAeA,cAAO,MAAA,CAAO;AAAA,EACxC,IAAA,EAAM,gBAAA;AAAA,EACN,EAAA,EAAIA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,EACjC,MAAMA,aAAAA,CAAO,KAAA;AAAA,IACX,OAAA;AAAA,IACA,YAAA;AAAA,IACA,QAAA;AAAA,IACAA,cAAO,MAAA,CAAO;AAAA,MACZ,IAAIA,aAAAA,CAAO,MAAA;AAAA,MACX,MAAA,EAAQA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,MACrC,QAAA,EAAUA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,MACvC,QAAQA,aAAAA,CAAO,MAAA;AAAA,MACf,QAAA,EAAUA,aAAAA,CAAO,QAAA,CAAS,QAAQ;AAAA,KACnC;AAAA,GACH;AAAA,EACA,SAASA,aAAAA,CAAO,OAAA;AAAA,EAChB,OAAA,EAASA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM;AACxC,CAAC;AAOM,IAAM,oBAAA,GAAuBA,cAAO,MAAA,CAAO;AAAA,EAChD,MAAA,EAAQA,aAAAA,CAAO,QAAA,CAAW,SAAS,CAAA;AAAA,EACnC,QAAA,EAAUA,cAAO,YAAA,CAAaA,aAAAA,CAAO,QAAQ,EAAE,OAAA,EAAS,MAAM,KAAA,EAAO,CAAA;AAAA,EACrE,QAAA,EAAU,QAAA;AAAA,EACV,SAAA,EAAa,SAAA;AAAA,EACb,SAAA,EAAWA,aAAAA,CAAO,QAAA,CAAW,SAAS,CAAA;AAAA,EACtC,QAAA,EAAUA,aAAAA,CAAO,QAAA,CAAS,QAAQ,CAAA;AAAA,EAClC,cAAA,EAAgBA,aAAAA,CAAO,QAAA,CAAS,cAAc,CAAA;AAAA,EAC9C,UAAA,EAAYA,aAAAA,CAAO,QAAA,CAAS,UAAU,CAAA;AAAA,EACtC,UAAA,EAAYA,aAAAA,CAAO,QAAA,CAAS,SAAS;AACvC,CAAC,CAAA,CAAE,IAAA;AAAA,EACDA,aAAAA,CAAO,MAAA,CAAO,CAAC,IAAA,KAAS;AACtB,IAAA,IAAI,CAAC,IAAA,CAAK,cAAA,IAAkB,CAAC,KAAK,MAAA,EAAQ;AACxC,MAAA,OAAO,wDAAA;AAAA,IACT;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAC;AACH;AAKO,IAAM,eAAA,GAAkBA,cAAO,MAAA,CAAO;AAAA,EAC3C,EAAA,EAAI,iBAAA;AAAA,EACJ,YAAA,EAAgB,SAAA;AAAA,EAChB,SAAA,EAAWA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,EACxC,cAAA,EAAgBA,cAAO,MAAA,CAAO;AAAA,IAC5B,IAAA,EAAM,QAAA;AAAA,IACN,GAAA,EAAKA,aAAAA,CAAO,QAAA,CAAW,SAAS,CAAA;AAAA,IAChC,QAAQA,aAAAA,CAAO,QAAA,CAASA,cAAO,OAAA,CAAQ,KAAA,EAAO,MAAM,CAAC,CAAA;AAAA,IACrD,QAAQA,aAAAA,CAAO,QAAA;AAAA,MACbA,aAAAA,CAAO,OAAO,EAAE,GAAA,EAAKA,cAAO,MAAA,EAAQ,KAAA,EAAOA,aAAAA,CAAO,MAAA,EAAQ;AAAA;AAC5D,GACD;AACH,CAAC;AAGM,IAAM,oBAAA,GAAuBA,cAAO,MAAA,CAAO;AAAA,EAChD,oBAAA,EAAwB,cAAA;AAAA,EACxB,KAAA,EAAOA,aAAAA,CAAO,QAAA,CAAS,KAAK,CAAA;AAAA,EAC5B,IAAA,EAAMA,aAAAA,CAAO,QAAA,CAAW,cAAc,CAAA;AAAA,EACtC,KAAA,EAAOA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,EACpC,UAAA,EAAYA,aAAAA,CAAO,QAAA,CAAS,SAAS,CAAA;AAAA,EACrC,QAAA,EAAUA,aAAAA,CAAO,QAAA,CAAS,QAAQ;AACpC,CAAC;AAKM,IAAM,kBAAA,GAAqBA,cAAO,MAAA,CAAO;AAAA,EAC9C,KAAA,EAAOA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,gBAAgB,CAAA;AAAA,EAC9C,MAAA,EAAQA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,gBAAgB,CAAA;AAAA,EAC/C,SAAA,EAAWA,aAAAA,CAAO,QAAA,CAAS,SAAS;AACtC,CAAC;AAGM,IAAM,mBAAA,GAAsBA,cAAO,MAAA,CAAO;AAAA,EAC/C,KAAA,EAAOA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,gBAAgB,CAAA;AAAA,EAC9C,MAAA,EAAQA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,gBAAgB,CAAA;AAAA,EAC/C,KAAA,EAAOA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,EACpC,oBAAA,EAAsBA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,EACnD,SAAA,EAAWA,aAAAA,CAAO,QAAA,CAAS,SAAS;AACtC,CAAC;AAKM,IAAM,oBAAA,GAAuBA,cAAO,MAAA,CAAO;AAAA,EAChD,KAAA,EAAOA,aAAAA,CAAO,QAAA,CAAS,KAAK,CAAA;AAAA,EAC5B,IAAA,EAAMA,aAAAA,CAAO,QAAA,CAAW,cAAc,CAAA;AAAA,EACtC,KAAA,EAAOA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,EACpC,IAAA,EAAMA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,EACnC,oBAAA,EAAsBA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,EACnD,QAAA,EAAUA,aAAAA,CAAO,QAAA,CAAS,QAAQ;AACpC,CAAC;AAKM,IAAM,wBAAA,GAA2BA,cAAO,MAAA,CAAO;AAAA,EACpD,WAAA,EAAa,UAAA;AAAA,EACb,MAAA,EAAU,SAAA;AAAA,EACV,QAAA,EAAUA,cAAO,YAAA,CAAaA,aAAAA,CAAO,QAAQ,EAAE,OAAA,EAAS,MAAM,KAAA,EAAO,CAAA;AAAA,EACrE,QAAA,EAAU,oBAAA;AAAA,EACV,cAAA,EAAgBA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,EAC7C,UAAA,EAAYA,aAAAA,CAAO,QAAA,CAAS,SAAS,CAAA;AAAA,EACrC,cAAA,EAAgBA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,EAC7C,cAAA,EAAgBA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,OAAO,CAAA;AAAA,EAC9C,QAAA,EAAUA,aAAAA,CAAO,QAAA,CAAS,QAAQ;AACpC,CAAC;AAKM,IAAM,mBAAA,GAAsBA,cAAO,MAAA,CAAO;AAAA,EAC/C,UAAA,EAAYA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,EACzC,IAAA,EAAMA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,EACnC,IAAA,EAAMA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA;AAAA,EAEnC,MAAA,EAAQA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM;AACvC,CAAC;AAKM,IAAM,uBAAA,GAA0BA,cAAO,MAAA,CAAO;AAAA,EACnD,KAAA,EAAOA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,gBAAgB,CAAA;AAAA,EAC9C,MAAA,EAAQA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,gBAAgB,CAAA;AAAA,EAC/C,SAAA,EAAWA,aAAAA,CAAO,QAAA,CAAS,SAAS,CAAA;AAAA,EACpC,UAAA,EAAYA,aAAAA,CAAO,QAAA,CAAS,UAAU,CAAA;AAAA,EACtC,MAAA,EAAQA,aAAAA,CAAO,QAAA,CAAS,kBAAkB;AAC5C,CAAC;AAKM,IAAM,sBAAA,GAAyBA,cAAO,MAAA,CAAO;AAAA,EAClD,KAAA,EAAOA,aAAAA,CAAO,QAAA,CAAS,gBAAgB,CAAA;AAAA,EACvC,IAAA,EAAMA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,GAAG;AAClC,CAAC;AAQM,IAAM,YAAA,GAAeA,cAAO,MAAA,CAAO;AAAA,EACxC,QAAQA,aAAAA,CAAO,MAAA;AAAA,EACf,OAAA,EAASA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,EACtC,OAAA,EAASA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,EACtC,UAAA,EAAYA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM,CAAA;AAAA,EACzC,OAAA,EAASA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,OAAO,CAAA;AAAA,EACvC,iBAAA,EAAmBA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,MAAM;AAClD,CAAC;AAMM,IAAM,eAAA,GAAkBA,cAAO,MAAA,CAAO;AAAA,EAC3C,OAAOA,aAAAA,CAAO,MAAA;AAAA,EACd,OAAA,EAASA,aAAAA,CAAO,QAAA,CAASA,aAAAA,CAAO,GAAG;AACrC,CAAC","file":"schemas.js","sourcesContent":["import { Schema } from \"effect\";\n\n/**\n * ── Refinements ──\n */\n\nexport const NonEmptyString = Schema.String.pipe(\n Schema.nonEmptyString(),\n Schema.brand(\"NonEmptyString\"),\n);\nexport type NonEmptyString = Schema.Schema.Type<typeof NonEmptyString>;\n\nexport const UrlString = Schema.String.pipe(\n Schema.pattern(/^https?:\\/\\/.+/),\n Schema.brand(\"UrlString\"),\n);\nexport type UrlString = Schema.Schema.Type<typeof UrlString>;\n\nexport const MinorUnitsInt = Schema.Number.pipe(\n Schema.int(),\n Schema.greaterThan(0),\n Schema.brand(\"MinorUnitsInt\"),\n);\nexport type MinorUnitsInt = Schema.Schema.Type<typeof MinorUnitsInt>;\n\nexport const NprAmount = Schema.Number.pipe(\n Schema.filter(\n (n) => Number.isFinite(n) && n > 0 && Math.round(n * 100) === n * 100,\n ),\n Schema.brand(\"NprAmount\"),\n);\nexport type NprAmount = Schema.Schema.Type<typeof NprAmount>;\n","import { Schema } from \"effect\";\nimport * as V from \"./schemas/validation\";\n\n/**\n * ── Branded Types ──\n */\nexport const Id = Schema.String.pipe(Schema.brand(\"Id\"));\nexport const ProjectId = Schema.String.pipe(Schema.brand(\"ProjectId\"));\nexport const PaymentId = Schema.String.pipe(Schema.brand(\"PaymentId\"));\nexport const CheckoutSessionId = Schema.String.pipe(\n Schema.brand(\"CheckoutSessionId\"),\n);\nexport const SubscriptionId = Schema.String.pipe(\n Schema.brand(\"SubscriptionId\"),\n);\nexport const MandateId = Schema.String.pipe(Schema.brand(\"MandateId\"));\nexport const AgentSessionId = Schema.String.pipe(\n Schema.brand(\"AgentSessionId\"),\n);\nexport const CustomerId = Schema.String.pipe(Schema.brand(\"CustomerId\"));\nexport const TokenId = Schema.String.pipe(Schema.brand(\"TokenId\"));\n\nexport type Id = Schema.Schema.Type<typeof Id>;\nexport type ProjectId = Schema.Schema.Type<typeof ProjectId>;\nexport type PaymentId = Schema.Schema.Type<typeof PaymentId>;\nexport type CheckoutSessionId = Schema.Schema.Type<typeof CheckoutSessionId>;\nexport type SubscriptionId = Schema.Schema.Type<typeof SubscriptionId>;\nexport type MandateId = Schema.Schema.Type<typeof MandateId>;\nexport type AgentSessionId = Schema.Schema.Type<typeof AgentSessionId>;\nexport type CustomerId = Schema.Schema.Type<typeof CustomerId>;\nexport type TokenId = Schema.Schema.Type<typeof TokenId>;\n\n/**\n * ── Atomic Atoms ──\n */\nexport const Email = Schema.String.pipe(\n Schema.filter((s) => s.includes(\"@\")),\n Schema.brand(\"Email\"),\n);\nexport type Email = Schema.Schema.Type<typeof Email>;\n\nexport const Timestamp = Schema.String.pipe(Schema.brand(\"Timestamp\"));\nexport type Timestamp = Schema.Schema.Type<typeof Timestamp>;\n\nexport const Metadata = Schema.Record({\n key: Schema.String,\n value: Schema.Any,\n});\nexport type Metadata = Schema.Schema.Type<typeof Metadata>;\n\nexport const Timestamps = Schema.Struct({\n created_at: Timestamp,\n updated_at: Timestamp,\n});\nexport type Timestamps = Schema.Schema.Type<typeof Timestamps>;\n\n/**\n * ── Enums ──\n */\nexport const Provider = Schema.Literal(\n \"esewa\",\n \"khalti\",\n \"hamropay\",\n \"connectips\",\n \"imepay\",\n \"fonepay\",\n \"sandbox\",\n);\nexport type Provider = Schema.Schema.Type<typeof Provider>;\n\nexport const PaymentStatus = Schema.Literal(\"pending\", \"success\", \"failed\");\nexport type PaymentStatus = Schema.Schema.Type<typeof PaymentStatus>;\n\nexport const SubscriptionStatus = Schema.Literal(\n \"pending_checkout\",\n \"active\",\n \"past_due\",\n \"canceled\",\n \"paused\",\n);\nexport type SubscriptionStatus = Schema.Schema.Type<typeof SubscriptionStatus>;\n\nexport const SubscriptionInterval = Schema.Literal(\"month\", \"year\", \"week\");\nexport type SubscriptionInterval = Schema.Schema.Type<\n typeof SubscriptionInterval\n>;\n\nexport const CustomerLifecycle = Schema.Literal(\n \"new\",\n \"active\",\n \"loyal\",\n \"at_risk\",\n \"churned\",\n);\nexport type CustomerLifecycle = Schema.Schema.Type<typeof CustomerLifecycle>;\n\n/**\n * ── AP2 Mandate Enums ──\n */\nexport const MandateType = Schema.Literal(\"intent\", \"cart\");\nexport type MandateType = Schema.Schema.Type<typeof MandateType>;\n\nexport const MandateStatus = Schema.Literal(\n \"active\",\n \"consumed\",\n \"expired\",\n \"violated\",\n);\nexport type MandateStatus = Schema.Schema.Type<typeof MandateStatus>;\n\n/**\n * ── Models ──\n */\n\nexport const Customer = Schema.Struct({\n id: CustomerId,\n merchant_customer_id: V.NonEmptyString,\n email: Schema.NullOr(Email),\n name: Schema.NullOr(V.NonEmptyString),\n phone: Schema.NullOr(Schema.String),\n project_id: ProjectId,\n metadata: Schema.NullOr(Metadata),\n total_ltv: Schema.optional(Schema.Number),\n is_high_value: Schema.optional(Schema.Boolean),\n lifecycle_stage: Schema.optional(CustomerLifecycle),\n ltv_cents: Schema.optional(Schema.Number),\n tier: Schema.NullOr(Schema.String),\n created_at: Timestamp,\n updated_at: Schema.optional(Timestamp),\n});\nexport type Customer = Schema.Schema.Type<typeof Customer>;\n\nexport const Payment = Schema.Struct({\n id: PaymentId,\n project_id: ProjectId,\n customer_id: Schema.optional(Schema.NullOr(CustomerId)),\n amount: Schema.Number,\n currency: Schema.String,\n status: PaymentStatus,\n provider_ref: Schema.optional(Schema.NullOr(Schema.String)),\n metadata_json: Schema.optional(Schema.NullOr(Metadata)),\n gateway_response: Schema.optional(Schema.NullOr(Schema.Any)),\n created_at: Timestamp,\n updated_at: Schema.optional(Timestamp),\n});\nexport type Payment = Schema.Schema.Type<typeof Payment>;\n\nexport const Subscription = Schema.Struct({\n id: SubscriptionId,\n project_id: ProjectId,\n customer_id: CustomerId,\n status: SubscriptionStatus,\n amount: Schema.Number,\n currency: Schema.String,\n interval: SubscriptionInterval,\n interval_count: Schema.Number,\n current_period_start: Timestamp,\n current_period_end: Timestamp,\n payment_link: V.UrlString,\n customer_email: Schema.optional(Schema.NullOr(Schema.String)),\n auto_send_link: Schema.Boolean,\n grace_days: Schema.optional(Schema.Number),\n metadata: Schema.optional(Schema.NullOr(Metadata)),\n canceled_at: Schema.optional(Schema.NullOr(Timestamp)),\n created_at: Timestamp,\n updated_at: Schema.optional(Timestamp),\n});\nexport type Subscription = Schema.Schema.Type<typeof Subscription>;\n\nexport const Project = Schema.Struct({\n id: ProjectId,\n name: V.NonEmptyString,\n api_key_secret: Schema.String,\n subscription_tier: Schema.optional(\n Schema.Literal(\"free\", \"pro\", \"enterprise\"),\n ),\n subscription_status: Schema.optional(\n Schema.Literal(\"active\", \"past_due\", \"canceled\", \"incomplete\"),\n ),\n expires_at: Schema.optional(Schema.NullOr(Timestamp)),\n created_at: Timestamp,\n});\nexport type Project = Schema.Schema.Type<typeof Project>;\n\nexport const Token = Schema.Struct({\n id: TokenId,\n name: V.NonEmptyString,\n scopes: Schema.Array(Schema.String),\n last_used_at: Schema.NullOr(Timestamp),\n expires_at: Schema.NullOr(Timestamp),\n created_at: Timestamp,\n});\nexport type Token = Schema.Schema.Type<typeof Token>;\n\n/**\n * ── AP2 Models ──\n */\n\nexport const Mandate = Schema.Struct({\n id: MandateId,\n project_id: ProjectId,\n customer_id: Schema.NullOr(CustomerId),\n type: MandateType,\n status: MandateStatus,\n principal_id: Schema.String,\n max_amount: Schema.Number,\n currency: Schema.String,\n permitted_vendors: Schema.NullOr(Schema.Array(Schema.String)),\n valid_from: Timestamp,\n valid_until: Timestamp,\n credential_jwt: Schema.String,\n public_key: Schema.String,\n signature: Schema.String,\n parent_mandate_id: Schema.NullOr(MandateId),\n payment_id: Schema.NullOr(PaymentId),\n created_at: Timestamp,\n consumed_at: Schema.NullOr(Timestamp),\n metadata_json: Metadata,\n});\nexport type Mandate = Schema.Schema.Type<typeof Mandate>;\n\nexport const AgentSession = Schema.Struct({\n id: AgentSessionId,\n project_id: ProjectId,\n context_id: Schema.String,\n agent_card_url: V.UrlString,\n capabilities: Schema.Any,\n auth_scheme: Schema.Literal(\"bearer\", \"mandate\"),\n status: Schema.String,\n created_at: Timestamp,\n expires_at: Timestamp,\n});\nexport type AgentSession = Schema.Schema.Type<typeof AgentSession>;\n\n/**\n * ── Pagination ──\n */\nexport const PaginationMeta = Schema.Struct({\n total: Schema.NullOr(Schema.Number),\n limit: Schema.Number,\n offset: Schema.Number,\n});\nexport type PaginationMeta = Schema.Schema.Type<typeof PaginationMeta>;\n\nexport const PaginatedResponse = <A, I, R>(schema: Schema.Schema<A, I, R>) =>\n Schema.Struct({\n data: Schema.Array(schema),\n meta: PaginationMeta,\n });\n\nexport interface PaginatedResponse<T> {\n readonly data: readonly T[];\n readonly meta: PaginationMeta;\n}\n\n/**\n * ── Webhooks ──\n */\nexport const WebhookEventType = Schema.Literal(\n \"payment.success\",\n \"payment.failed\",\n \"subscription.created\",\n \"subscription.activated\",\n \"subscription.renewed\",\n \"subscription.payment_succeeded\",\n \"subscription.payment_failed\",\n \"subscription.renewal_due\",\n \"subscription.canceled\",\n);\nexport type WebhookEventType = Schema.Schema.Type<typeof WebhookEventType>;\n\nexport const WebhookEvent = Schema.Struct({\n type: WebhookEventType,\n id: Schema.optional(Schema.String),\n data: Schema.Union(\n Payment,\n Subscription,\n Customer,\n Schema.Struct({\n id: Schema.String,\n amount: Schema.optional(Schema.Number),\n currency: Schema.optional(Schema.String),\n status: Schema.String,\n metadata: Schema.optional(Metadata),\n }),\n ),\n is_test: Schema.Boolean,\n created: Schema.optional(Schema.Number),\n});\nexport type WebhookEvent = Schema.Schema.Type<typeof WebhookEvent>;\n\n/**\n * ── Params & Inputs ──\n */\n\nexport const CreateCheckoutParams = Schema.Struct({\n amount: Schema.optional(V.NprAmount),\n currency: Schema.optionalWith(Schema.String, { default: () => \"NPR\" }),\n provider: Provider,\n returnUrl: V.UrlString,\n cancelUrl: Schema.optional(V.UrlString),\n metadata: Schema.optional(Metadata),\n subscriptionId: Schema.optional(SubscriptionId),\n customerId: Schema.optional(CustomerId),\n mandate_id: Schema.optional(MandateId),\n}).pipe(\n Schema.filter((data) => {\n if (!data.subscriptionId && !data.amount) {\n return \"amount is required when subscriptionId is not provided\";\n }\n return true;\n }),\n);\nexport type CreateCheckoutParams = Schema.Schema.Type<\n typeof CreateCheckoutParams\n>;\n\nexport const CheckoutSession = Schema.Struct({\n id: CheckoutSessionId,\n checkout_url: V.UrlString,\n qr_string: Schema.optional(Schema.String),\n payment_method: Schema.Struct({\n type: Provider,\n url: Schema.optional(V.UrlString),\n method: Schema.optional(Schema.Literal(\"GET\", \"POST\")),\n fields: Schema.optional(\n Schema.Record({ key: Schema.String, value: Schema.String }),\n ),\n }),\n});\nexport type CheckoutSession = Schema.Schema.Type<typeof CheckoutSession>;\n\nexport const CreateCustomerParams = Schema.Struct({\n merchant_customer_id: V.NonEmptyString,\n email: Schema.optional(Email),\n name: Schema.optional(V.NonEmptyString),\n phone: Schema.optional(Schema.String),\n project_id: Schema.optional(ProjectId),\n metadata: Schema.optional(Metadata),\n});\nexport type CreateCustomerParams = Schema.Schema.Type<\n typeof CreateCustomerParams\n>;\n\nexport const ListPaymentsParams = Schema.Struct({\n limit: Schema.optional(Schema.NumberFromString),\n offset: Schema.optional(Schema.NumberFromString),\n projectId: Schema.optional(ProjectId),\n});\nexport type ListPaymentsParams = Schema.Schema.Type<typeof ListPaymentsParams>;\n\nexport const ListCustomersParams = Schema.Struct({\n limit: Schema.optional(Schema.NumberFromString),\n offset: Schema.optional(Schema.NumberFromString),\n email: Schema.optional(Schema.String),\n merchant_customer_id: Schema.optional(Schema.String),\n projectId: Schema.optional(ProjectId),\n});\nexport type ListCustomersParams = Schema.Schema.Type<\n typeof ListCustomersParams\n>;\n\nexport const UpdateCustomerParams = Schema.Struct({\n email: Schema.optional(Email),\n name: Schema.optional(V.NonEmptyString),\n phone: Schema.optional(Schema.String),\n tier: Schema.optional(Schema.String),\n merchant_customer_id: Schema.optional(Schema.String),\n metadata: Schema.optional(Metadata),\n});\nexport type UpdateCustomerParams = Schema.Schema.Type<\n typeof UpdateCustomerParams\n>;\n\nexport const CreateSubscriptionParams = Schema.Struct({\n customer_id: CustomerId,\n amount: V.NprAmount,\n currency: Schema.optionalWith(Schema.String, { default: () => \"NPR\" }),\n interval: SubscriptionInterval,\n interval_count: Schema.optional(Schema.Number),\n project_id: Schema.optional(ProjectId),\n customer_email: Schema.optional(Schema.String),\n auto_send_link: Schema.optional(Schema.Boolean),\n metadata: Schema.optional(Metadata),\n});\nexport type CreateSubscriptionParams = Schema.Schema.Type<\n typeof CreateSubscriptionParams\n>;\n\nexport const CallbackQueryParams = Schema.Struct({\n payment_id: Schema.optional(Schema.String),\n data: Schema.optional(Schema.String),\n pidx: Schema.optional(Schema.String),\n /** HamroPay-specific: the gateway's own transactionId returned on callback. */\n ref_id: Schema.optional(Schema.String),\n});\nexport type CallbackQueryParams = Schema.Schema.Type<\n typeof CallbackQueryParams\n>;\n\nexport const ListSubscriptionsParams = Schema.Struct({\n limit: Schema.optional(Schema.NumberFromString),\n offset: Schema.optional(Schema.NumberFromString),\n projectId: Schema.optional(ProjectId),\n customerId: Schema.optional(CustomerId),\n status: Schema.optional(SubscriptionStatus),\n});\nexport type ListSubscriptionsParams = Schema.Schema.Type<\n typeof ListSubscriptionsParams\n>;\n\nexport const RealtimeTriggerPayload = Schema.Struct({\n event: Schema.optional(WebhookEventType),\n data: Schema.optional(Schema.Any),\n});\nexport type RealtimeTriggerPayload = Schema.Schema.Type<\n typeof RealtimeTriggerPayload\n>;\n\n/**\n * ── Client Config ──\n */\nexport const PayArkConfig = Schema.Struct({\n apiKey: Schema.String,\n baseUrl: Schema.optional(Schema.String),\n timeout: Schema.optional(Schema.Number),\n maxRetries: Schema.optional(Schema.Number),\n sandbox: Schema.optional(Schema.Boolean),\n signingPrivateKey: Schema.optional(Schema.String),\n});\nexport type PayArkConfig = Schema.Schema.Type<typeof PayArkConfig>;\n\n/**\n * ── Error Schemas ──\n */\nexport const PayArkErrorBody = Schema.Struct({\n error: Schema.String,\n details: Schema.optional(Schema.Any),\n});\nexport type PayArkErrorBody = Schema.Schema.Type<typeof PayArkErrorBody>;\n"]}
|
package/dist/schemas.mjs
CHANGED
|
@@ -9,11 +9,17 @@ var UrlString = Schema.String.pipe(
|
|
|
9
9
|
Schema.pattern(/^https?:\/\/.+/),
|
|
10
10
|
Schema.brand("UrlString")
|
|
11
11
|
);
|
|
12
|
-
|
|
12
|
+
Schema.Number.pipe(
|
|
13
13
|
Schema.int(),
|
|
14
14
|
Schema.greaterThan(0),
|
|
15
15
|
Schema.brand("MinorUnitsInt")
|
|
16
16
|
);
|
|
17
|
+
var NprAmount = Schema.Number.pipe(
|
|
18
|
+
Schema.filter(
|
|
19
|
+
(n) => Number.isFinite(n) && n > 0 && Math.round(n * 100) === n * 100
|
|
20
|
+
),
|
|
21
|
+
Schema.brand("NprAmount")
|
|
22
|
+
);
|
|
17
23
|
|
|
18
24
|
// src/schemas.ts
|
|
19
25
|
var Id = Schema.String.pipe(Schema.brand("Id"));
|
|
@@ -25,6 +31,10 @@ var CheckoutSessionId = Schema.String.pipe(
|
|
|
25
31
|
var SubscriptionId = Schema.String.pipe(
|
|
26
32
|
Schema.brand("SubscriptionId")
|
|
27
33
|
);
|
|
34
|
+
var MandateId = Schema.String.pipe(Schema.brand("MandateId"));
|
|
35
|
+
var AgentSessionId = Schema.String.pipe(
|
|
36
|
+
Schema.brand("AgentSessionId")
|
|
37
|
+
);
|
|
28
38
|
var CustomerId = Schema.String.pipe(Schema.brand("CustomerId"));
|
|
29
39
|
var TokenId = Schema.String.pipe(Schema.brand("TokenId"));
|
|
30
40
|
var Email = Schema.String.pipe(
|
|
@@ -43,6 +53,7 @@ var Timestamps = Schema.Struct({
|
|
|
43
53
|
var Provider = Schema.Literal(
|
|
44
54
|
"esewa",
|
|
45
55
|
"khalti",
|
|
56
|
+
"hamropay",
|
|
46
57
|
"connectips",
|
|
47
58
|
"imepay",
|
|
48
59
|
"fonepay",
|
|
@@ -50,12 +61,27 @@ var Provider = Schema.Literal(
|
|
|
50
61
|
);
|
|
51
62
|
var PaymentStatus = Schema.Literal("pending", "success", "failed");
|
|
52
63
|
var SubscriptionStatus = Schema.Literal(
|
|
64
|
+
"pending_checkout",
|
|
53
65
|
"active",
|
|
54
66
|
"past_due",
|
|
55
67
|
"canceled",
|
|
56
68
|
"paused"
|
|
57
69
|
);
|
|
58
70
|
var SubscriptionInterval = Schema.Literal("month", "year", "week");
|
|
71
|
+
var CustomerLifecycle = Schema.Literal(
|
|
72
|
+
"new",
|
|
73
|
+
"active",
|
|
74
|
+
"loyal",
|
|
75
|
+
"at_risk",
|
|
76
|
+
"churned"
|
|
77
|
+
);
|
|
78
|
+
var MandateType = Schema.Literal("intent", "cart");
|
|
79
|
+
var MandateStatus = Schema.Literal(
|
|
80
|
+
"active",
|
|
81
|
+
"consumed",
|
|
82
|
+
"expired",
|
|
83
|
+
"violated"
|
|
84
|
+
);
|
|
59
85
|
var Customer = Schema.Struct({
|
|
60
86
|
id: CustomerId,
|
|
61
87
|
merchant_customer_id: NonEmptyString,
|
|
@@ -64,12 +90,18 @@ var Customer = Schema.Struct({
|
|
|
64
90
|
phone: Schema.NullOr(Schema.String),
|
|
65
91
|
project_id: ProjectId,
|
|
66
92
|
metadata: Schema.NullOr(Metadata),
|
|
93
|
+
total_ltv: Schema.optional(Schema.Number),
|
|
94
|
+
is_high_value: Schema.optional(Schema.Boolean),
|
|
95
|
+
lifecycle_stage: Schema.optional(CustomerLifecycle),
|
|
96
|
+
ltv_cents: Schema.optional(Schema.Number),
|
|
97
|
+
tier: Schema.NullOr(Schema.String),
|
|
67
98
|
created_at: Timestamp,
|
|
68
99
|
updated_at: Schema.optional(Timestamp)
|
|
69
100
|
});
|
|
70
101
|
var Payment = Schema.Struct({
|
|
71
102
|
id: PaymentId,
|
|
72
103
|
project_id: ProjectId,
|
|
104
|
+
customer_id: Schema.optional(Schema.NullOr(CustomerId)),
|
|
73
105
|
amount: Schema.Number,
|
|
74
106
|
currency: Schema.String,
|
|
75
107
|
status: PaymentStatus,
|
|
@@ -91,7 +123,9 @@ var Subscription = Schema.Struct({
|
|
|
91
123
|
current_period_start: Timestamp,
|
|
92
124
|
current_period_end: Timestamp,
|
|
93
125
|
payment_link: UrlString,
|
|
126
|
+
customer_email: Schema.optional(Schema.NullOr(Schema.String)),
|
|
94
127
|
auto_send_link: Schema.Boolean,
|
|
128
|
+
grace_days: Schema.optional(Schema.Number),
|
|
95
129
|
metadata: Schema.optional(Schema.NullOr(Metadata)),
|
|
96
130
|
canceled_at: Schema.optional(Schema.NullOr(Timestamp)),
|
|
97
131
|
created_at: Timestamp,
|
|
@@ -101,6 +135,13 @@ var Project = Schema.Struct({
|
|
|
101
135
|
id: ProjectId,
|
|
102
136
|
name: NonEmptyString,
|
|
103
137
|
api_key_secret: Schema.String,
|
|
138
|
+
subscription_tier: Schema.optional(
|
|
139
|
+
Schema.Literal("free", "pro", "enterprise")
|
|
140
|
+
),
|
|
141
|
+
subscription_status: Schema.optional(
|
|
142
|
+
Schema.Literal("active", "past_due", "canceled", "incomplete")
|
|
143
|
+
),
|
|
144
|
+
expires_at: Schema.optional(Schema.NullOr(Timestamp)),
|
|
104
145
|
created_at: Timestamp
|
|
105
146
|
});
|
|
106
147
|
var Token = Schema.Struct({
|
|
@@ -111,6 +152,38 @@ var Token = Schema.Struct({
|
|
|
111
152
|
expires_at: Schema.NullOr(Timestamp),
|
|
112
153
|
created_at: Timestamp
|
|
113
154
|
});
|
|
155
|
+
var Mandate = Schema.Struct({
|
|
156
|
+
id: MandateId,
|
|
157
|
+
project_id: ProjectId,
|
|
158
|
+
customer_id: Schema.NullOr(CustomerId),
|
|
159
|
+
type: MandateType,
|
|
160
|
+
status: MandateStatus,
|
|
161
|
+
principal_id: Schema.String,
|
|
162
|
+
max_amount: Schema.Number,
|
|
163
|
+
currency: Schema.String,
|
|
164
|
+
permitted_vendors: Schema.NullOr(Schema.Array(Schema.String)),
|
|
165
|
+
valid_from: Timestamp,
|
|
166
|
+
valid_until: Timestamp,
|
|
167
|
+
credential_jwt: Schema.String,
|
|
168
|
+
public_key: Schema.String,
|
|
169
|
+
signature: Schema.String,
|
|
170
|
+
parent_mandate_id: Schema.NullOr(MandateId),
|
|
171
|
+
payment_id: Schema.NullOr(PaymentId),
|
|
172
|
+
created_at: Timestamp,
|
|
173
|
+
consumed_at: Schema.NullOr(Timestamp),
|
|
174
|
+
metadata_json: Metadata
|
|
175
|
+
});
|
|
176
|
+
var AgentSession = Schema.Struct({
|
|
177
|
+
id: AgentSessionId,
|
|
178
|
+
project_id: ProjectId,
|
|
179
|
+
context_id: Schema.String,
|
|
180
|
+
agent_card_url: UrlString,
|
|
181
|
+
capabilities: Schema.Any,
|
|
182
|
+
auth_scheme: Schema.Literal("bearer", "mandate"),
|
|
183
|
+
status: Schema.String,
|
|
184
|
+
created_at: Timestamp,
|
|
185
|
+
expires_at: Timestamp
|
|
186
|
+
});
|
|
114
187
|
var PaginationMeta = Schema.Struct({
|
|
115
188
|
total: Schema.NullOr(Schema.Number),
|
|
116
189
|
limit: Schema.Number,
|
|
@@ -124,6 +197,8 @@ var WebhookEventType = Schema.Literal(
|
|
|
124
197
|
"payment.success",
|
|
125
198
|
"payment.failed",
|
|
126
199
|
"subscription.created",
|
|
200
|
+
"subscription.activated",
|
|
201
|
+
"subscription.renewed",
|
|
127
202
|
"subscription.payment_succeeded",
|
|
128
203
|
"subscription.payment_failed",
|
|
129
204
|
"subscription.renewal_due",
|
|
@@ -148,13 +223,15 @@ var WebhookEvent = Schema.Struct({
|
|
|
148
223
|
created: Schema.optional(Schema.Number)
|
|
149
224
|
});
|
|
150
225
|
var CreateCheckoutParams = Schema.Struct({
|
|
151
|
-
amount: Schema.optional(
|
|
226
|
+
amount: Schema.optional(NprAmount),
|
|
152
227
|
currency: Schema.optionalWith(Schema.String, { default: () => "NPR" }),
|
|
153
228
|
provider: Provider,
|
|
154
229
|
returnUrl: UrlString,
|
|
155
230
|
cancelUrl: Schema.optional(UrlString),
|
|
156
231
|
metadata: Schema.optional(Metadata),
|
|
157
|
-
subscriptionId: Schema.optional(SubscriptionId)
|
|
232
|
+
subscriptionId: Schema.optional(SubscriptionId),
|
|
233
|
+
customerId: Schema.optional(CustomerId),
|
|
234
|
+
mandate_id: Schema.optional(MandateId)
|
|
158
235
|
}).pipe(
|
|
159
236
|
Schema.filter((data) => {
|
|
160
237
|
if (!data.subscriptionId && !data.amount) {
|
|
@@ -166,6 +243,7 @@ var CreateCheckoutParams = Schema.Struct({
|
|
|
166
243
|
var CheckoutSession = Schema.Struct({
|
|
167
244
|
id: CheckoutSessionId,
|
|
168
245
|
checkout_url: UrlString,
|
|
246
|
+
qr_string: Schema.optional(Schema.String),
|
|
169
247
|
payment_method: Schema.Struct({
|
|
170
248
|
type: Provider,
|
|
171
249
|
url: Schema.optional(UrlString),
|
|
@@ -199,22 +277,27 @@ var UpdateCustomerParams = Schema.Struct({
|
|
|
199
277
|
email: Schema.optional(Email),
|
|
200
278
|
name: Schema.optional(NonEmptyString),
|
|
201
279
|
phone: Schema.optional(Schema.String),
|
|
280
|
+
tier: Schema.optional(Schema.String),
|
|
281
|
+
merchant_customer_id: Schema.optional(Schema.String),
|
|
202
282
|
metadata: Schema.optional(Metadata)
|
|
203
283
|
});
|
|
204
284
|
var CreateSubscriptionParams = Schema.Struct({
|
|
205
285
|
customer_id: CustomerId,
|
|
206
|
-
amount:
|
|
286
|
+
amount: NprAmount,
|
|
207
287
|
currency: Schema.optionalWith(Schema.String, { default: () => "NPR" }),
|
|
208
288
|
interval: SubscriptionInterval,
|
|
209
289
|
interval_count: Schema.optional(Schema.Number),
|
|
210
290
|
project_id: Schema.optional(ProjectId),
|
|
291
|
+
customer_email: Schema.optional(Schema.String),
|
|
211
292
|
auto_send_link: Schema.optional(Schema.Boolean),
|
|
212
293
|
metadata: Schema.optional(Metadata)
|
|
213
294
|
});
|
|
214
295
|
var CallbackQueryParams = Schema.Struct({
|
|
215
296
|
payment_id: Schema.optional(Schema.String),
|
|
216
297
|
data: Schema.optional(Schema.String),
|
|
217
|
-
pidx: Schema.optional(Schema.String)
|
|
298
|
+
pidx: Schema.optional(Schema.String),
|
|
299
|
+
/** HamroPay-specific: the gateway's own transactionId returned on callback. */
|
|
300
|
+
ref_id: Schema.optional(Schema.String)
|
|
218
301
|
});
|
|
219
302
|
var ListSubscriptionsParams = Schema.Struct({
|
|
220
303
|
limit: Schema.optional(Schema.NumberFromString),
|
|
@@ -232,13 +315,14 @@ var PayArkConfig = Schema.Struct({
|
|
|
232
315
|
baseUrl: Schema.optional(Schema.String),
|
|
233
316
|
timeout: Schema.optional(Schema.Number),
|
|
234
317
|
maxRetries: Schema.optional(Schema.Number),
|
|
235
|
-
sandbox: Schema.optional(Schema.Boolean)
|
|
318
|
+
sandbox: Schema.optional(Schema.Boolean),
|
|
319
|
+
signingPrivateKey: Schema.optional(Schema.String)
|
|
236
320
|
});
|
|
237
321
|
var PayArkErrorBody = Schema.Struct({
|
|
238
322
|
error: Schema.String,
|
|
239
323
|
details: Schema.optional(Schema.Any)
|
|
240
324
|
});
|
|
241
325
|
|
|
242
|
-
export { CallbackQueryParams, CheckoutSession, CheckoutSessionId, CreateCheckoutParams, CreateCustomerParams, CreateSubscriptionParams, Customer, CustomerId, Email, Id, ListCustomersParams, ListPaymentsParams, ListSubscriptionsParams, Metadata, PaginatedResponse, PaginationMeta, PayArkConfig, PayArkErrorBody, Payment, PaymentId, PaymentStatus, Project, ProjectId, Provider, RealtimeTriggerPayload, Subscription, SubscriptionId, SubscriptionInterval, SubscriptionStatus, Timestamp, Timestamps, Token, TokenId, UpdateCustomerParams, WebhookEvent, WebhookEventType };
|
|
326
|
+
export { AgentSession, AgentSessionId, CallbackQueryParams, CheckoutSession, CheckoutSessionId, CreateCheckoutParams, CreateCustomerParams, CreateSubscriptionParams, Customer, CustomerId, CustomerLifecycle, Email, Id, ListCustomersParams, ListPaymentsParams, ListSubscriptionsParams, Mandate, MandateId, MandateStatus, MandateType, Metadata, PaginatedResponse, PaginationMeta, PayArkConfig, PayArkErrorBody, Payment, PaymentId, PaymentStatus, Project, ProjectId, Provider, RealtimeTriggerPayload, Subscription, SubscriptionId, SubscriptionInterval, SubscriptionStatus, Timestamp, Timestamps, Token, TokenId, UpdateCustomerParams, WebhookEvent, WebhookEventType };
|
|
243
327
|
//# sourceMappingURL=schemas.mjs.map
|
|
244
328
|
//# sourceMappingURL=schemas.mjs.map
|