@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/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
- var MinorUnitsInt = effect.Schema.Number.pipe(
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(MinorUnitsInt),
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: MinorUnitsInt,
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;
@@ -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":"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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\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
- var MinorUnitsInt = Schema.Number.pipe(
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(MinorUnitsInt),
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: MinorUnitsInt,
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