@payark/sdk-effect 0.1.9 → 1.0.0-rc.2
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/api-spec.js +1 -2
- package/dist/api-spec.js.map +1 -1
- package/dist/api-spec.mjs +1 -2
- package/dist/api-spec.mjs.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -4
- package/dist/index.mjs.map +1 -1
- package/dist/schemas.d.mts +0 -1
- package/dist/schemas.d.ts +0 -1
- package/dist/schemas.js +1 -2
- package/dist/schemas.js.map +1 -1
- package/dist/schemas.mjs +1 -2
- package/dist/schemas.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schemas/validation.ts","../src/schemas.ts","../src/api-spec.ts","../src/errors.ts","../src/http.ts","../src/resources/checkout.ts","../src/resources/payments.ts","../src/resources/projects.ts","../src/resources/customers.ts","../src/resources/subscriptions.ts","../src/resources/mandates.ts","../src/resources/tokens.ts","../src/resources/realtime.ts","../src/resources/automation.ts","../src/index.ts"],"names":["Schema","MandateViolationError","MandateExpiredError","Context","Effect"],"mappings":"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","file":"index.mjs","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","import {\n HttpApi,\n HttpApiEndpoint,\n HttpApiGroup,\n HttpApiMiddleware,\n HttpApiSecurity,\n} from \"@effect/platform\";\nimport * as S from \"./schemas\";\nimport { Schema, Context } from \"effect\";\n\n/**\n * Industrial Error Schema with Status mapping.\n */\nexport class IndustrialError extends Schema.TaggedError<IndustrialError>()(\n \"IndustrialError\",\n {\n error: Schema.String,\n details: Schema.optional(Schema.Any),\n code: Schema.optional(Schema.String),\n doc_url: Schema.optional(Schema.String),\n suggestion: Schema.optional(Schema.String),\n },\n) {}\n\nexport class AuthenticationError extends Schema.TaggedError<AuthenticationError>()(\n \"AuthenticationError\",\n {\n error: Schema.String,\n code: Schema.optional(Schema.String),\n doc_url: Schema.optional(Schema.String),\n suggestion: Schema.optional(Schema.String),\n },\n) {}\n\nexport class NotFoundError extends Schema.TaggedError<NotFoundError>()(\n \"NotFoundError\",\n {\n error: Schema.String,\n code: Schema.optional(Schema.String),\n doc_url: Schema.optional(Schema.String),\n suggestion: Schema.optional(Schema.String),\n },\n) {}\n\nexport class InternalServerError extends Schema.TaggedError<InternalServerError>()(\n \"InternalServerError\",\n {\n error: Schema.String,\n details: Schema.optional(Schema.Any),\n code: Schema.optional(Schema.String),\n doc_url: Schema.optional(Schema.String),\n suggestion: Schema.optional(Schema.String),\n },\n) {}\n\nexport class ConflictError extends Schema.TaggedError<ConflictError>()(\n \"ConflictError\",\n {\n error: Schema.String,\n code: Schema.optional(Schema.String),\n doc_url: Schema.optional(Schema.String),\n suggestion: Schema.optional(Schema.String),\n },\n) {}\n\nexport class MandateViolationError extends Schema.TaggedError<MandateViolationError>()(\n \"MandateViolationError\",\n {\n error: Schema.String,\n mandateId: Schema.optional(Schema.String),\n code: Schema.optional(Schema.String),\n doc_url: Schema.optional(Schema.String),\n suggestion: Schema.optional(Schema.String),\n },\n) {}\n\nexport class MandateExpiredError extends Schema.TaggedError<MandateExpiredError>()(\n \"MandateExpiredError\",\n {\n error: Schema.String,\n mandateId: S.MandateId,\n expiredAt: S.Timestamp,\n code: Schema.optional(Schema.String),\n doc_url: Schema.optional(Schema.String),\n suggestion: Schema.optional(Schema.String),\n },\n) {}\n\n/**\n * PayArk Industrial API Specification.\n * Single source of truth for the entire platform.\n */\n\n// ── Security ─────────────────────────────────────────────────────────────\n\nexport interface AuthContext {\n readonly project?: {\n readonly id: string;\n readonly isTestMode: boolean;\n readonly isEphemeral?: boolean;\n };\n readonly user?: { readonly id: string };\n}\n\nexport const AuthContext = Context.GenericTag<AuthContext>(\n \"@payark/sdk-effect/AuthContext\",\n);\n\nexport class SecurityMiddleware extends HttpApiMiddleware.Tag<SecurityMiddleware>()(\n \"SecurityMiddleware\",\n {\n security: {\n bearer: HttpApiSecurity.bearer,\n },\n provides: AuthContext,\n failure: Schema.Union(AuthenticationError, IndustrialError),\n },\n) {}\n\nexport class CronSecurity extends HttpApiMiddleware.Tag<CronSecurity>()(\n \"CronSecurity\",\n {\n security: {\n secret: HttpApiSecurity.apiKey({ in: \"header\", key: \"x-cron-secret\" }),\n },\n failure: Schema.Union(AuthenticationError, IndustrialError),\n },\n) {}\n\nexport class UserSecurity extends HttpApiMiddleware.Tag<UserSecurity>()(\n \"UserSecurity\",\n {\n security: {\n bearer: HttpApiSecurity.bearer,\n },\n provides: AuthContext,\n failure: Schema.Union(AuthenticationError, IndustrialError),\n },\n) {}\n\n// ── Checkout Group ───────────────────────────────────────────────────────\n\nexport const CheckoutGroup = HttpApiGroup.make(\"checkout\")\n .add(\n HttpApiEndpoint.post(\"create\", \"/\")\n .addSuccess(S.CheckoutSession)\n .setPayload(S.CreateCheckoutParams)\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .prefix(\"/v1/checkout\")\n .middleware(SecurityMiddleware);\n\n// ── Payments Group ───────────────────────────────────────────────────────\n\nexport const PaymentsGroup = HttpApiGroup.make(\"payments\")\n .add(\n HttpApiEndpoint.get(\"list\", \"/\")\n .addSuccess(S.PaginatedResponse(S.Payment))\n .setUrlParams(S.ListPaymentsParams)\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .add(\n HttpApiEndpoint.get(\"retrieve\", \"/:id\")\n .addSuccess(S.Payment)\n .setPath(Schema.Struct({ id: S.Id }))\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .prefix(\"/v1/payments\")\n .middleware(SecurityMiddleware);\n\n// ── Customers Group ──────────────────────────────────────────────────────\n\nexport const CustomersGroup = HttpApiGroup.make(\"customers\")\n .add(\n HttpApiEndpoint.post(\"create\", \"/\")\n .addSuccess(S.Customer, { status: 201 })\n .setPayload(S.CreateCustomerParams)\n .addError(AuthenticationError, { status: 401 })\n .addError(ConflictError, { status: 409 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .add(\n HttpApiEndpoint.get(\"list\", \"/\")\n .addSuccess(S.PaginatedResponse(S.Customer))\n .setUrlParams(S.ListCustomersParams)\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .add(\n HttpApiEndpoint.get(\"retrieve\", \"/:id\")\n .addSuccess(S.Customer)\n .setPath(Schema.Struct({ id: S.Id }))\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .add(\n HttpApiEndpoint.patch(\"update\", \"/:id\")\n .addSuccess(S.Customer)\n .setPath(Schema.Struct({ id: S.Id }))\n .setPayload(S.UpdateCustomerParams)\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(ConflictError, { status: 409 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .add(\n HttpApiEndpoint.del(\"delete\", \"/:id\")\n .setPath(Schema.Struct({ id: S.Id }))\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(ConflictError, { status: 409 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .prefix(\"/v1/customers\")\n .middleware(SecurityMiddleware);\n\n// ── Subscriptions Group ──────────────────────────────────────────────────\n\nexport const SubscriptionsGroup = HttpApiGroup.make(\"subscriptions\")\n .add(\n HttpApiEndpoint.post(\"create\", \"/\")\n .addSuccess(S.Subscription, { status: 201 })\n .setPayload(S.CreateSubscriptionParams)\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 })\n .middleware(SecurityMiddleware),\n )\n .add(\n HttpApiEndpoint.get(\"retrieve\", \"/:id\")\n .addSuccess(S.Subscription)\n .setPath(Schema.Struct({ id: S.SubscriptionId }))\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(InternalServerError, { status: 500 })\n .middleware(SecurityMiddleware),\n )\n .add(\n HttpApiEndpoint.get(\"list\", \"/\")\n .addSuccess(S.PaginatedResponse(S.Subscription))\n .setUrlParams(S.ListSubscriptionsParams)\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 })\n .middleware(SecurityMiddleware),\n )\n .add(\n HttpApiEndpoint.post(\"cancel\", \"/:id/cancel\")\n .addSuccess(S.Subscription)\n .setPath(Schema.Struct({ id: S.SubscriptionId }))\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(InternalServerError, { status: 500 })\n .middleware(SecurityMiddleware),\n )\n .add(\n HttpApiEndpoint.post(\"activate\", \"/:id/activate\")\n .addSuccess(\n Schema.Struct({\n checkout_url: Schema.String,\n payment_id: Schema.String,\n }),\n )\n .setPath(Schema.Struct({ id: S.SubscriptionId }))\n .setPayload(\n Schema.Struct({\n provider: S.Provider,\n returnUrl: Schema.String,\n cancelUrl: Schema.optional(Schema.String),\n }),\n )\n .addError(NotFoundError, { status: 404 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .prefix(\"/v1/subscriptions\");\n\n// ── Automation Group ─────────────────────────────────────────────────────\n\nexport const AutomationGroup = HttpApiGroup.make(\"automation\")\n .add(\n HttpApiEndpoint.post(\"reminders\", \"/reminders\")\n .addSuccess(\n Schema.Struct({\n message: Schema.String,\n count: Schema.Number,\n }),\n )\n .addError(InternalServerError, { status: 500 }),\n )\n .add(\n HttpApiEndpoint.post(\"reaper\", \"/reaper\")\n .addSuccess(\n Schema.Struct({\n message: Schema.String,\n count: Schema.Number,\n purged_projects: Schema.Number,\n }),\n )\n .addError(InternalServerError, { status: 500 }),\n )\n .add(\n HttpApiEndpoint.post(\"processRenewals\", \"/process-renewals\")\n .addSuccess(\n Schema.Struct({\n message: Schema.String,\n emails_sent: Schema.Number,\n }),\n )\n .addError(InternalServerError, { status: 500 }),\n )\n .add(\n HttpApiEndpoint.post(\"processGracePeriod\", \"/process-grace-period\")\n .addSuccess(\n Schema.Struct({\n message: Schema.String,\n marked_past_due: Schema.Number,\n }),\n )\n .addError(InternalServerError, { status: 500 }),\n )\n .prefix(\"/v1/automation\")\n .middleware(CronSecurity);\n\n// ── Tokens Group ─────────────────────────────────────────────────────────\n\nexport const TokensGroup = HttpApiGroup.make(\"tokens\")\n .add(\n HttpApiEndpoint.post(\"create\", \"/\")\n .addSuccess(\n Schema.Struct({\n ...S.Token.fields,\n token: Schema.String,\n }),\n )\n .setPayload(\n Schema.Struct({\n name: Schema.String,\n scopes: Schema.optionalWith(Schema.Array(Schema.String), {\n default: () => [],\n }),\n expires_in_days: Schema.optional(Schema.Number),\n }),\n )\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 }),\n )\n .add(\n HttpApiEndpoint.get(\"list\", \"/\")\n .addSuccess(Schema.Array(S.Token))\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 }),\n )\n .add(\n HttpApiEndpoint.del(\"delete\", \"/:id\")\n .setPath(Schema.Struct({ id: S.TokenId }))\n .addSuccess(Schema.Null)\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(InternalServerError, { status: 500 }),\n )\n .prefix(\"/v1/tokens\")\n .middleware(UserSecurity);\n\n// ── Projects Group ────────────────────────────────────────────────────────\n\nexport const ProjectsGroup = HttpApiGroup.make(\"projects\")\n .add(\n HttpApiEndpoint.get(\"list\", \"/\")\n .addSuccess(Schema.Array(S.Project))\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 }),\n )\n .add(\n HttpApiEndpoint.post(\"upgrade\", \"/:id/upgrade\")\n .addSuccess(S.Project)\n .setPath(Schema.Struct({ id: S.ProjectId }))\n .setPayload(Schema.Struct({ tier: Schema.Literal(\"pro\", \"enterprise\") }))\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 }),\n )\n .prefix(\"/v1/projects\")\n .middleware(UserSecurity);\n\n// ── Callbacks Group ──────────────────────────────────────────────────────\n\nexport const PaymentCallbackQueryParams = 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 /** Supabase Auth: access_token and refresh_token can be in the fragment or query */\n access_token: Schema.optional(Schema.String),\n refresh_token: Schema.optional(Schema.String),\n code: Schema.optional(Schema.String),\n});\nexport type PaymentCallbackQueryParams = Schema.Schema.Type<\n typeof PaymentCallbackQueryParams\n>;\n\nexport const CallbacksGroup = HttpApiGroup.make(\"callbacks\")\n .add(\n HttpApiEndpoint.get(\"handle\", \"/:provider\")\n .addSuccess(Schema.Any)\n .setPath(Schema.Struct({ provider: Schema.String }))\n .setUrlParams(PaymentCallbackQueryParams)\n .addError(NotFoundError, { status: 404 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .prefix(\"/v1/callback\");\n\n// ── Auth Group ───────────────────────────────────────────────────────────\n\nexport const AuthCallbackQueryParams = Schema.Struct({\n code: Schema.optional(Schema.String),\n next: Schema.optional(Schema.String),\n});\n\nexport const AuthGroup = HttpApiGroup.make(\"auth\")\n .add(\n HttpApiEndpoint.post(\"callback\", \"/callback\")\n .addSuccess(Schema.Any)\n .setUrlParams(AuthCallbackQueryParams)\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 }),\n )\n .prefix(\"/auth\");\n\n// ── Realtime Group ───────────────────────────────────────────────────────\n\nexport const RealtimeGroup = HttpApiGroup.make(\"realtime\")\n .add(\n HttpApiEndpoint.get(\"connect\", \"/\")\n .addSuccess(Schema.Any)\n .setUrlParams(Schema.Struct({ token: Schema.String }))\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 }),\n )\n .add(\n HttpApiEndpoint.post(\"trigger\", \"/trigger\")\n .addSuccess(\n Schema.Struct({\n status: Schema.String,\n event: Schema.optional(Schema.String),\n }),\n )\n .setPayload(S.RealtimeTriggerPayload)\n .setUrlParams(Schema.Struct({ token: Schema.optional(Schema.String) }))\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 }),\n )\n .prefix(\"/v1/realtime\");\n\n// ── Mandates Group ───────────────────────────────────────────────────────\n\nexport const MandatesGroup = HttpApiGroup.make(\"mandates\")\n .add(\n HttpApiEndpoint.post(\"registerIntent\", \"/intent\")\n .addSuccess(S.Mandate, { status: 201 })\n .setPayload(\n Schema.Struct({\n principal_id: Schema.String,\n max_amount: Schema.Number,\n currency: Schema.String,\n valid_until: S.Timestamp,\n permitted_vendors: Schema.optional(Schema.Array(Schema.String)),\n credential_jwt: Schema.String,\n public_key: Schema.String,\n customer_id: Schema.optional(S.CustomerId),\n }),\n )\n .addError(AuthenticationError, { status: 401 })\n .addError(IndustrialError, { status: 400 }),\n )\n .add(\n HttpApiEndpoint.get(\"retrieve\", \"/:id\")\n .addSuccess(S.Mandate)\n .setPath(Schema.Struct({ id: S.MandateId }))\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 }),\n )\n .prefix(\"/v1/mandates\")\n .middleware(SecurityMiddleware);\n\n// ── Sandbox Group ───────────────────────────────────────────────────────\n\nexport const SandboxGroup = HttpApiGroup.make(\"sandbox\")\n .add(\n HttpApiEndpoint.post(\"init\", \"/init\")\n .addSuccess(\n Schema.Struct({\n projectId: Schema.String,\n apiKey: Schema.optional(Schema.String),\n expiresAt: S.Timestamp,\n session: Schema.optional(\n Schema.Struct({\n access_token: Schema.String,\n refresh_token: Schema.String,\n }),\n ),\n }),\n )\n .addError(InternalServerError, { status: 500 }),\n )\n .prefix(\"/v1/sandbox\")\n .middleware(UserSecurity);\n\n// ── Discovery Group ──────────────────────────────────────────────────────\n\nexport const DiscoveryGroup = HttpApiGroup.make(\"discovery\")\n .add(\n HttpApiEndpoint.get(\"agentCard\", \"/agent.json\")\n .addSuccess(Schema.Any)\n .addError(InternalServerError, { status: 500 }),\n )\n .prefix(\"/.well-known\");\n\n// ── Signing Keys Group ──────────────────────────────────────────────────\n\nexport const SigningKeysGroup = HttpApiGroup.make(\"signingKeys\")\n .add(\n HttpApiEndpoint.post(\"generate\", \"/\")\n .addSuccess(\n Schema.Struct({\n id: Schema.String,\n publicKey: Schema.String,\n privateKey: Schema.String,\n algorithm: Schema.String,\n createdAt: S.Timestamp,\n }),\n { status: 201 },\n )\n .setPath(Schema.Struct({ id: S.ProjectId }))\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(InternalServerError, { status: 500 }),\n )\n .add(\n HttpApiEndpoint.get(\"get\", \"/\")\n .addSuccess(\n Schema.Struct({\n id: Schema.String,\n publicKey: Schema.String,\n algorithm: Schema.String,\n createdAt: S.Timestamp,\n }),\n )\n .setPath(Schema.Struct({ id: S.ProjectId }))\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(InternalServerError, { status: 500 }),\n )\n .prefix(\"/v1/projects/:id/signing-keys\")\n .middleware(UserSecurity);\n\n// ── Unified API ──────────────────────────────────────────────────────────\n\nexport const PayArkApi = HttpApi.make(\"PayArkApi\")\n .add(CheckoutGroup)\n .add(PaymentsGroup)\n .add(CustomersGroup)\n .add(SubscriptionsGroup)\n .add(AutomationGroup)\n .add(TokensGroup)\n .add(ProjectsGroup)\n .add(CallbacksGroup)\n .add(AuthGroup)\n .add(MandatesGroup)\n .add(DiscoveryGroup)\n .add(RealtimeGroup)\n .add(SandboxGroup)\n .add(SigningKeysGroup)\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(MandateViolationError, { status: 403 })\n .addError(MandateExpiredError, { status: 410 })\n .addError(ConflictError, { status: 409 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 });\n","import { Data } from \"effect\";\n\n/** Machine-readable error codes. */\nexport type PayArkErrorCode =\n | \"authentication_error\"\n | \"permission_error\"\n | \"invalid_request_error\"\n | \"not_found_error\"\n | \"rate_limit_error\"\n | \"api_error\"\n | \"connection_error\"\n | \"unknown_error\";\n\n/** Raw error payload from the API. */\nexport interface PayArkErrorBody {\n readonly error: string;\n readonly details?: any;\n}\n/**\n * Effect-compatible error class for PayArk SDK.\n * Extends Data.TaggedError for easy matching in Effect.catchTag.\n */\nexport class PayArkEffectError extends Data.TaggedError(\"PayArkEffectError\")<{\n readonly message: string;\n readonly statusCode: number;\n readonly code: PayArkErrorCode;\n readonly raw?: PayArkErrorBody;\n readonly localizedMessage?: string;\n}> {\n /** Human-readable representation for logging/debugging. */\n override toString(): string {\n return `[PayArkEffectError: ${this.code}] ${this.localizedMessage || this.message} (HTTP ${this.statusCode})`;\n }\n}\n\n/**\n * Thrown when a transaction violates the bounds of an Intent Mandate.\n * (e.g., amount too high, vendor not permitted, status already consumed)\n */\nexport class MandateViolationError extends Data.TaggedError(\n \"MandateViolationError\",\n)<{\n readonly message: string;\n readonly mandateId?: string;\n readonly raw?: any;\n}> {\n readonly statusCode = 403;\n readonly code = \"mandate_violation\";\n}\n\n/**\n * Thrown when a mandate is presented outside of its valid time window.\n */\nexport class MandateExpiredError extends Data.TaggedError(\n \"MandateExpiredError\",\n)<{\n readonly message: string;\n readonly mandateId: string;\n readonly expiredAt: string;\n}> {\n readonly statusCode = 410;\n readonly code = \"mandate_expired\";\n}\n","import { Effect, Context, Schedule } from \"effect\";\nimport { HttpClient, HttpClientRequest } from \"@effect/platform\";\nimport { PayArkEffectError, type PayArkErrorCode } from \"./errors\";\nimport { PayArkConfig } from \"./schemas\";\n\n/** SDK version string for runtime introspection. */\nexport const SDK_VERSION = \"0.1.8\" as const;\n\n/**\n * Service tag for the PayArk configuration.\n */\nexport class PayArkConfigService extends Context.Tag(\"PayArkConfigService\")<\n PayArkConfigService,\n PayArkConfig\n>() {}\n\n/**\n * Executes an HTTP request using Effect and returns the JSON body or a PayArkEffectError.\n */\nexport const request = <T>(\n method: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\",\n path: string,\n options?: {\n readonly query?: Record<string, string | number | undefined>;\n readonly body?: any;\n readonly headers?: Record<string, string>;\n },\n): Effect.Effect<\n T,\n PayArkEffectError,\n PayArkConfigService | HttpClient.HttpClient\n> =>\n Effect.gen(function* (_) {\n const config = yield* _(PayArkConfigService);\n const client = yield* _(HttpClient.HttpClient);\n\n const baseUrl = (config.baseUrl ?? \"https://api.payark.dev\").replace(\n /\\/+$/,\n \"\",\n );\n const url = new URL(`${baseUrl}${path}`);\n\n if (options?.query) {\n for (const [key, value] of Object.entries(options.query)) {\n if (value !== undefined) {\n url.searchParams.set(key, String(value));\n }\n }\n }\n\n const headers: Record<string, string> = {\n Authorization: `Bearer ${config.apiKey}`,\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n \"User-Agent\": `payark-sdk-effect/${SDK_VERSION}`,\n ...options?.headers,\n };\n\n if (config.sandbox) {\n headers[\"x-sandbox-mode\"] = \"true\";\n }\n\n let req = HttpClientRequest.make(method)(url.toString()).pipe(\n HttpClientRequest.setHeaders(headers),\n );\n\n if (options?.body) {\n req = yield* _(\n HttpClientRequest.bodyJson(options.body)(req).pipe(\n Effect.mapError(\n (e) =>\n new PayArkEffectError({\n message: `Invalid request body: ${String(e)}`,\n statusCode: 400,\n code: \"invalid_request_error\",\n localizedMessage: getLocalizedError(\"invalid_request_error\"),\n }),\n ),\n ),\n );\n }\n\n const response = yield* _(\n client.execute(req).pipe(\n Effect.mapError(\n (e) =>\n new PayArkEffectError({\n message: `Network error: ${e.message}`,\n statusCode: 0,\n code: \"connection_error\",\n localizedMessage: getLocalizedError(\"connection_error\"),\n }),\n ),\n ),\n );\n\n if (response.status >= 200 && response.status < 300) {\n if (response.status === 204) return {} as T;\n return (yield* _(\n response.json.pipe(\n Effect.mapError(\n (e) =>\n new PayArkEffectError({\n message: `Failed to parse response: ${String(e)}`,\n statusCode: response.status,\n code: \"api_error\",\n localizedMessage: getLocalizedError(\"api_error\"),\n }),\n ),\n ),\n )) as T;\n }\n\n const errorBody: any = yield* _(\n response.json.pipe(\n Effect.catchAll(() => Effect.succeed({ error: undefined })),\n ),\n );\n\n return yield* _(\n Effect.fail(\n new PayArkEffectError({\n message:\n errorBody?.error || `Request failed with status ${response.status}`,\n statusCode: response.status,\n code: mapStatusToCode(response.status),\n raw: errorBody,\n localizedMessage: getLocalizedError(mapStatusToCode(response.status)),\n }),\n ),\n );\n }).pipe(\n Effect.retry(\n Schedule.exponential(\"200 millis\").pipe(\n Schedule.upTo(\"5 seconds\"),\n // Only retry connection-level or 429/5xx transient errors:\n Schedule.check((error: PayArkEffectError) => {\n return (\n error.code === \"connection_error\" ||\n error.code === \"rate_limit_error\" ||\n error.statusCode >= 500\n );\n }),\n ),\n ),\n );\n\nfunction mapStatusToCode(status: number): PayArkErrorCode {\n if (status === 401) return \"authentication_error\";\n if (status === 403) return \"permission_error\";\n if (status === 400 || status === 422) return \"invalid_request_error\";\n if (status === 404) return \"not_found_error\";\n if (status === 429) return \"rate_limit_error\";\n if (status >= 500) return \"api_error\";\n return \"unknown_error\";\n}\n\nfunction getLocalizedError(code: PayArkErrorCode): string {\n switch (code) {\n case \"authentication_error\":\n return \"Your API key is missing or invalid. Please check your PayArk credentials.\";\n case \"permission_error\":\n return \"You don't have permission to perform this action.\";\n case \"invalid_request_error\":\n return \"The request is missing required parameters or they are invalid. Please check your implementation.\";\n case \"not_found_error\":\n return \"The requested resource could not be found.\";\n case \"rate_limit_error\":\n return \"You are making too many requests to PayArk. Please wait a moment before trying again.\";\n case \"api_error\":\n return \"PayArk servers are currently experiencing issues. Please try again later.\";\n case \"connection_error\":\n return \"Could not connect to PayArk. Please check your internet connection.\";\n default:\n return \"An unexpected error occurred. Please contact support if the issue persists.\";\n }\n}\n","import { Schema, ParseResult, Effect } from \"effect\";\nimport { PayArkConfigService, request } from \"../http\";\nimport {\n CheckoutSession,\n PayArkConfig,\n CreateCheckoutParams,\n} from \"../schemas\";\nimport { PayArkEffectError } from \"../errors\";\nimport type { HttpClient } from \"@effect/platform\";\n\n/**\n * Effect-based resource for PayArk Checkout.\n */\nexport class CheckoutEffect {\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * Create a new checkout session.\n *\n * @param params - Configuration for the checkout session.\n * @returns Effect that resolves to the created checkout session.\n */\n create(\n params: CreateCheckoutParams,\n ): Effect.Effect<\n CheckoutSession,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\"POST\", \"/v1/checkout\", { body: params }).pipe(\n Effect.flatMap(Schema.decodeUnknown(CheckoutSession)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n}\n","import { Schema, ParseResult, Effect } from \"effect\";\nimport { PayArkConfigService, request } from \"../http\";\nimport {\n Payment,\n PaginatedResponse,\n PayArkConfig,\n ListPaymentsParams,\n} from \"../schemas\";\nimport { PayArkEffectError } from \"../errors\";\nimport type { HttpClient } from \"@effect/platform\";\n\n/**\n * Effect-based resource for PayArk Payments.\n */\nexport class PaymentsEffect {\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * List payments for the authenticated project.\n *\n * @param params - Optional pagination parameters.\n * @returns Effect that resolves to paginated payments.\n */\n list(\n params: ListPaymentsParams = {},\n ): Effect.Effect<\n PaginatedResponse<Payment>,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\"GET\", \"/v1/payments\", {\n query: {\n limit: params.limit,\n offset: params.offset,\n projectId: params.projectId,\n },\n }).pipe(\n Effect.flatMap(Schema.decodeUnknown(PaginatedResponse(Payment))),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Retrieve a single payment by its ID.\n *\n * @param id - The payment identifier.\n * @returns Effect that resolves to the payment object.\n */\n retrieve(\n id: string,\n ): Effect.Effect<\n Payment,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\n \"GET\",\n `/v1/payments/${encodeURIComponent(id)}`,\n ).pipe(\n Effect.flatMap(Schema.decodeUnknown(Payment)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n}\n","import { Schema, ParseResult, Effect } from \"effect\";\nimport { PayArkConfigService, request } from \"../http\";\nimport { Project, PayArkConfig } from \"../schemas\";\nimport { PayArkEffectError } from \"../errors\";\nimport type { HttpClient } from \"@effect/platform\";\n\n/**\n * Effect-based resource for PayArk Projects.\n */\nexport class ProjectsEffect {\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * List all projects belonging to the authenticated account.\n *\n * @returns Effect that resolves to an array of projects.\n */\n list(): Effect.Effect<\n readonly Project[],\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\"GET\", \"/v1/projects\").pipe(\n Effect.flatMap(Schema.decodeUnknown(Schema.Array(Project))),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n}\n","import { Schema, ParseResult, Effect } from \"effect\";\nimport { PayArkConfigService, request } from \"../http\";\nimport {\n Customer,\n PayArkConfig,\n CreateCustomerParams,\n UpdateCustomerParams,\n ListCustomersParams,\n PaginatedResponse,\n} from \"../schemas\";\nimport { PayArkEffectError } from \"../errors\";\nimport type { HttpClient } from \"@effect/platform\";\n\n/**\n * Effect-based resource for PayArk Customers.\n */\nexport class CustomersEffect {\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * Create a new customer for a project.\n */\n create(\n params: CreateCustomerParams,\n ): Effect.Effect<\n Customer,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\"POST\", \"/v1/customers\", { body: params }).pipe(\n Effect.flatMap(Schema.decodeUnknown(Customer)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * List customers for the authenticated project.\n */\n list(\n params: ListCustomersParams = {},\n ): Effect.Effect<\n PaginatedResponse<Customer>,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\"GET\", \"/v1/customers\", {\n query: {\n limit: params.limit,\n offset: params.offset,\n projectId: params.projectId,\n email: params.email,\n merchant_customer_id: params.merchant_customer_id,\n },\n }).pipe(\n Effect.flatMap(Schema.decodeUnknown(PaginatedResponse(Customer))),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Retrieve a single customer by ID.\n */\n retrieve(\n id: string,\n ): Effect.Effect<\n Customer,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\n \"GET\",\n `/v1/customers/${encodeURIComponent(id)}`,\n ).pipe(\n Effect.flatMap(Schema.decodeUnknown(Customer)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Update a customer.\n */\n update(\n id: string,\n params: UpdateCustomerParams,\n ): Effect.Effect<\n Customer,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\n \"PATCH\",\n `/v1/customers/${encodeURIComponent(id)}`,\n {\n body: params,\n },\n ).pipe(\n Effect.flatMap(Schema.decodeUnknown(Customer)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Delete a customer.\n */\n delete(\n id: string,\n ): Effect.Effect<\n void,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<void>(\n \"DELETE\",\n `/v1/customers/${encodeURIComponent(id)}`,\n ).pipe(Effect.provideService(PayArkConfigService, this.config));\n }\n}\n","import { Schema, ParseResult, Effect } from \"effect\";\nimport { PayArkConfigService, request } from \"../http\";\nimport {\n Subscription,\n PayArkConfig,\n CreateSubscriptionParams,\n ListSubscriptionsParams,\n PaginatedResponse,\n} from \"../schemas\";\nimport { PayArkEffectError } from \"../errors\";\nimport type { HttpClient } from \"@effect/platform\";\n\n/**\n * Effect-based resource for PayArk Subscriptions.\n */\nexport class SubscriptionsEffect {\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * Create a new subscription.\n */\n create(\n params: CreateSubscriptionParams,\n ): Effect.Effect<\n Subscription,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\"POST\", \"/v1/subscriptions\", { body: params }).pipe(\n Effect.flatMap(Schema.decodeUnknown(Subscription)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * List subscriptions for the authenticated project.\n */\n list(\n params: ListSubscriptionsParams = {},\n ): Effect.Effect<\n PaginatedResponse<Subscription>,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\"GET\", \"/v1/subscriptions\", {\n query: {\n limit: params.limit,\n offset: params.offset,\n projectId: params.projectId,\n customerId: params.customerId,\n status: params.status,\n },\n }).pipe(\n Effect.flatMap(Schema.decodeUnknown(PaginatedResponse(Subscription))),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Retrieve a single subscription by ID.\n */\n retrieve(\n id: string,\n ): Effect.Effect<\n Subscription,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\n \"GET\",\n `/v1/subscriptions/${encodeURIComponent(id)}`,\n ).pipe(\n Effect.flatMap(Schema.decodeUnknown(Subscription)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Cancel a subscription.\n */\n cancel(\n id: string,\n ): Effect.Effect<\n Subscription,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\n \"POST\",\n `/v1/subscriptions/${encodeURIComponent(id)}/cancel`,\n ).pipe(\n Effect.flatMap(Schema.decodeUnknown(Subscription)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Activate a subscription (returns payment info).\n */\n activate(\n id: string,\n params: {\n provider: string;\n returnUrl: string;\n cancelUrl?: string;\n },\n ): Effect.Effect<\n { checkout_url: string; payment_id: string },\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n const activateSchema = Schema.Struct({\n checkout_url: Schema.String,\n payment_id: Schema.String,\n });\n\n return request<unknown>(\n \"POST\",\n `/v1/subscriptions/${encodeURIComponent(id)}/activate`,\n { body: params },\n ).pipe(\n Effect.flatMap(Schema.decodeUnknown(activateSchema)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n}\n","import { Schema, ParseResult, Effect } from \"effect\";\nimport { PayArkConfigService, request } from \"../http\";\nimport { Mandate, PayArkConfig } from \"../schemas\";\nimport { PayArkEffectError } from \"../errors\";\nimport type { HttpClient } from \"@effect/platform\";\n\n/**\n * Effect-based resource for PayArk Mandates.\n */\nexport class MandatesEffect {\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * Register a mandate intent.\n */\n registerIntent(params: {\n principal_id: string;\n max_amount: number;\n currency: string;\n valid_until: string;\n permitted_vendors?: string[];\n credential_jwt: string;\n public_key: string;\n customer_id?: string;\n }): Effect.Effect<\n Mandate,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\"POST\", \"/v1/mandates/intent\", {\n body: params,\n }).pipe(\n Effect.flatMap(Schema.decodeUnknown(Mandate)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Retrieve a mandate.\n */\n retrieve(\n id: string,\n ): Effect.Effect<\n Mandate,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\n \"GET\",\n `/v1/mandates/${encodeURIComponent(id)}`,\n ).pipe(\n Effect.flatMap(Schema.decodeUnknown(Mandate)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n}\n","import { Schema, ParseResult, Effect } from \"effect\";\nimport { PayArkConfigService, request } from \"../http\";\nimport { Token, PayArkConfig } from \"../schemas\";\nimport { PayArkEffectError } from \"../errors\";\nimport type { HttpClient } from \"@effect/platform\";\n\n/**\n * Effect-based resource for PayArk Tokens.\n */\nexport class TokensEffect {\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * Create a new token.\n */\n create(params: {\n name: string;\n scopes?: string[];\n expires_in_days?: number;\n }): Effect.Effect<\n Token & { token: string },\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n const createTokenSchema = Schema.Struct({\n ...Token.fields,\n token: Schema.String,\n });\n\n return request<unknown>(\"POST\", \"/v1/tokens\", { body: params }).pipe(\n Effect.flatMap(Schema.decodeUnknown(createTokenSchema)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * List all tokens.\n */\n list(): Effect.Effect<\n readonly Token[],\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\"GET\", \"/v1/tokens\").pipe(\n Effect.flatMap(Schema.decodeUnknown(Schema.Array(Token))),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Delete/revoke a token.\n */\n delete(\n id: string,\n ): Effect.Effect<\n void,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<void>(\"DELETE\", `/v1/tokens/${encodeURIComponent(id)}`).pipe(\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n}\n","import { Schema, ParseResult, Effect } from \"effect\";\nimport { PayArkConfigService, request } from \"../http\";\nimport { PayArkConfig } from \"../schemas\";\nimport { PayArkEffectError } from \"../errors\";\nimport type { HttpClient } from \"@effect/platform\";\n\n/**\n * Effect-based resource for PayArk Realtime.\n */\nexport class RealtimeEffect {\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * Manually trigger a realtime event.\n */\n trigger(params: {\n event: string;\n data?: any;\n token?: string;\n }): Effect.Effect<\n { status: string; event?: string },\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n const triggerSchema = Schema.Struct({\n status: Schema.String,\n event: Schema.optional(Schema.String),\n });\n\n return request<unknown>(\"POST\", \"/v1/realtime/trigger\", {\n body: params,\n query: { token: params.token },\n }).pipe(\n Effect.flatMap(Schema.decodeUnknown(triggerSchema)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n}\n","import { Schema, ParseResult, Effect } from \"effect\";\nimport { PayArkConfigService, request } from \"../http\";\nimport { PayArkConfig } from \"../schemas\";\nimport { PayArkEffectError } from \"../errors\";\nimport type { HttpClient } from \"@effect/platform\";\n\n/**\n * Effect-based resource for PayArk Automation.\n */\nexport class AutomationEffect {\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * Send reminders.\n */\n reminders(): Effect.Effect<\n { message: string; count: number },\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n const automationSchema = Schema.Struct({\n message: Schema.String,\n count: Schema.Number,\n });\n\n return request<unknown>(\"POST\", \"/v1/automation/reminders\").pipe(\n Effect.flatMap(Schema.decodeUnknown(automationSchema)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Run reaper.\n */\n reaper(): Effect.Effect<\n { message: string; count: number; purged_projects: number },\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n const reaperSchema = Schema.Struct({\n message: Schema.String,\n count: Schema.Number,\n purged_projects: Schema.Number,\n });\n\n return request<unknown>(\"POST\", \"/v1/automation/reaper\").pipe(\n Effect.flatMap(Schema.decodeUnknown(reaperSchema)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n}\n","import { Context, Layer, Effect } from \"effect\";\nimport { HttpApiClient, HttpClient } from \"@effect/platform\";\nimport { PayArkApi } from \"./api-spec\";\nimport type { PayArkConfig } from \"./schemas\";\nimport { CheckoutEffect } from \"./resources/checkout\";\nimport { PaymentsEffect } from \"./resources/payments\";\nimport { ProjectsEffect } from \"./resources/projects\";\nimport { CustomersEffect } from \"./resources/customers\";\nimport { SubscriptionsEffect } from \"./resources/subscriptions\";\nimport { MandatesEffect } from \"./resources/mandates\";\nimport { TokensEffect } from \"./resources/tokens\";\nimport { RealtimeEffect } from \"./resources/realtime\";\nimport { AutomationEffect } from \"./resources/automation\";\n\n/**\n * The Industrial SDK Client.\n * Automatically derived from the PayArk HttpApi specification.\n *\n * This provides perfect type-sync between the server and client.\n */\nexport const makeClient = (options?: {\n readonly baseUrl?: string;\n readonly httpClient?: HttpClient.HttpClient;\n}) => HttpApiClient.make(PayArkApi, options);\n\n/**\n * Service Tag for the Industrial Client.\n */\nexport class PayArkClient extends Context.Tag(\n \"@payark/sdk-effect/PayArkClient\",\n)<PayArkClient, Effect.Effect.Success<ReturnType<typeof makeClient>>>() {\n static readonly Live = (options?: {\n readonly baseUrl?: string;\n readonly httpClient?: HttpClient.HttpClient;\n }) => Layer.effect(PayArkClient, makeClient(options));\n}\n\n/**\n * Main entry point for the Effect-based PayArk API (Legacy wrapper).\n */\nexport class PayArkEffect {\n private _checkout?: CheckoutEffect;\n private _payments?: PaymentsEffect;\n private _projects?: ProjectsEffect;\n private _customers?: CustomersEffect;\n private _subscriptions?: SubscriptionsEffect;\n private _mandates?: MandatesEffect;\n private _tokens?: TokensEffect;\n private _realtime?: RealtimeEffect;\n private _automation?: AutomationEffect;\n\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * Checkout sessions resource (Effect).\n */\n get checkout(): CheckoutEffect {\n if (!this._checkout) {\n this._checkout = new CheckoutEffect(this.config);\n }\n return this._checkout;\n }\n\n /**\n * Payments resource (Effect).\n */\n get payments(): PaymentsEffect {\n if (!this._payments) {\n this._payments = new PaymentsEffect(this.config);\n }\n return this._payments;\n }\n\n /**\n * Projects resource (Effect).\n */\n get projects(): ProjectsEffect {\n if (!this._projects) {\n this._projects = new ProjectsEffect(this.config);\n }\n return this._projects;\n }\n\n /**\n * Customers resource (Effect).\n */\n get customers(): CustomersEffect {\n if (!this._customers) {\n this._customers = new CustomersEffect(this.config);\n }\n return this._customers;\n }\n\n /**\n * Subscriptions resource (Effect).\n */\n get subscriptions(): SubscriptionsEffect {\n if (!this._subscriptions) {\n this._subscriptions = new SubscriptionsEffect(this.config);\n }\n return this._subscriptions;\n }\n\n /**\n * Mandates resource (Effect).\n */\n get mandates(): MandatesEffect {\n if (!this._mandates) {\n this._mandates = new MandatesEffect(this.config);\n }\n return this._mandates;\n }\n\n /**\n * Tokens resource (Effect).\n */\n get tokens(): TokensEffect {\n if (!this._tokens) {\n this._tokens = new TokensEffect(this.config);\n }\n return this._tokens;\n }\n\n /**\n * Realtime resource (Effect).\n */\n get realtime(): RealtimeEffect {\n if (!this._realtime) {\n this._realtime = new RealtimeEffect(this.config);\n }\n return this._realtime;\n }\n\n /**\n * Automation resource (Effect).\n */\n get automation(): AutomationEffect {\n if (!this._automation) {\n this._automation = new AutomationEffect(this.config);\n }\n return this._automation;\n }\n}\n\n/**\n * Service tag for the PayArk API (Legacy).\n */\nexport class PayArk extends Context.Tag(\"@payark/sdk-effect/PayArk\")<\n PayArk,\n PayArkEffect\n>() {\n /**\n * Create a Layer that provides the PayArk service.\n */\n static readonly Live = (config: PayArkConfig) =>\n Layer.succeed(PayArk, new PayArkEffect(config));\n}\n\nexport * from \"./api-spec\";\nexport {\n PayArkEffectError,\n MandateViolationError,\n MandateExpiredError,\n} from \"./errors\";\nexport * from \"./schemas\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/schemas/validation.ts","../src/schemas.ts","../src/api-spec.ts","../src/errors.ts","../src/http.ts","../src/resources/checkout.ts","../src/resources/payments.ts","../src/resources/projects.ts","../src/resources/customers.ts","../src/resources/subscriptions.ts","../src/resources/mandates.ts","../src/resources/tokens.ts","../src/resources/realtime.ts","../src/resources/automation.ts","../src/index.ts"],"names":["Schema","MandateViolationError","MandateExpiredError","Context","Effect"],"mappings":"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","file":"index.mjs","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});\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","import {\n HttpApi,\n HttpApiEndpoint,\n HttpApiGroup,\n HttpApiMiddleware,\n HttpApiSecurity,\n} from \"@effect/platform\";\nimport * as S from \"./schemas\";\nimport { Schema, Context } from \"effect\";\n\n/**\n * Industrial Error Schema with Status mapping.\n */\nexport class IndustrialError extends Schema.TaggedError<IndustrialError>()(\n \"IndustrialError\",\n {\n error: Schema.String,\n details: Schema.optional(Schema.Any),\n code: Schema.optional(Schema.String),\n doc_url: Schema.optional(Schema.String),\n suggestion: Schema.optional(Schema.String),\n },\n) {}\n\nexport class AuthenticationError extends Schema.TaggedError<AuthenticationError>()(\n \"AuthenticationError\",\n {\n error: Schema.String,\n code: Schema.optional(Schema.String),\n doc_url: Schema.optional(Schema.String),\n suggestion: Schema.optional(Schema.String),\n },\n) {}\n\nexport class NotFoundError extends Schema.TaggedError<NotFoundError>()(\n \"NotFoundError\",\n {\n error: Schema.String,\n code: Schema.optional(Schema.String),\n doc_url: Schema.optional(Schema.String),\n suggestion: Schema.optional(Schema.String),\n },\n) {}\n\nexport class InternalServerError extends Schema.TaggedError<InternalServerError>()(\n \"InternalServerError\",\n {\n error: Schema.String,\n details: Schema.optional(Schema.Any),\n code: Schema.optional(Schema.String),\n doc_url: Schema.optional(Schema.String),\n suggestion: Schema.optional(Schema.String),\n },\n) {}\n\nexport class ConflictError extends Schema.TaggedError<ConflictError>()(\n \"ConflictError\",\n {\n error: Schema.String,\n code: Schema.optional(Schema.String),\n doc_url: Schema.optional(Schema.String),\n suggestion: Schema.optional(Schema.String),\n },\n) {}\n\nexport class MandateViolationError extends Schema.TaggedError<MandateViolationError>()(\n \"MandateViolationError\",\n {\n error: Schema.String,\n mandateId: Schema.optional(Schema.String),\n code: Schema.optional(Schema.String),\n doc_url: Schema.optional(Schema.String),\n suggestion: Schema.optional(Schema.String),\n },\n) {}\n\nexport class MandateExpiredError extends Schema.TaggedError<MandateExpiredError>()(\n \"MandateExpiredError\",\n {\n error: Schema.String,\n mandateId: S.MandateId,\n expiredAt: S.Timestamp,\n code: Schema.optional(Schema.String),\n doc_url: Schema.optional(Schema.String),\n suggestion: Schema.optional(Schema.String),\n },\n) {}\n\n/**\n * PayArk Industrial API Specification.\n * Single source of truth for the entire platform.\n */\n\n// ── Security ─────────────────────────────────────────────────────────────\n\nexport interface AuthContext {\n readonly project?: {\n readonly id: string;\n readonly isTestMode: boolean;\n readonly isEphemeral?: boolean;\n };\n readonly user?: { readonly id: string };\n}\n\nexport const AuthContext = Context.GenericTag<AuthContext>(\n \"@payark/sdk-effect/AuthContext\",\n);\n\nexport class SecurityMiddleware extends HttpApiMiddleware.Tag<SecurityMiddleware>()(\n \"SecurityMiddleware\",\n {\n security: {\n bearer: HttpApiSecurity.bearer,\n },\n provides: AuthContext,\n failure: Schema.Union(AuthenticationError, IndustrialError),\n },\n) {}\n\nexport class CronSecurity extends HttpApiMiddleware.Tag<CronSecurity>()(\n \"CronSecurity\",\n {\n security: {\n secret: HttpApiSecurity.apiKey({ in: \"header\", key: \"x-cron-secret\" }),\n },\n failure: Schema.Union(AuthenticationError, IndustrialError),\n },\n) {}\n\nexport class UserSecurity extends HttpApiMiddleware.Tag<UserSecurity>()(\n \"UserSecurity\",\n {\n security: {\n bearer: HttpApiSecurity.bearer,\n },\n provides: AuthContext,\n failure: Schema.Union(AuthenticationError, IndustrialError),\n },\n) {}\n\n// ── Checkout Group ───────────────────────────────────────────────────────\n\nexport const CheckoutGroup = HttpApiGroup.make(\"checkout\")\n .add(\n HttpApiEndpoint.post(\"create\", \"/\")\n .addSuccess(S.CheckoutSession)\n .setPayload(S.CreateCheckoutParams)\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .prefix(\"/v1/checkout\")\n .middleware(SecurityMiddleware);\n\n// ── Payments Group ───────────────────────────────────────────────────────\n\nexport const PaymentsGroup = HttpApiGroup.make(\"payments\")\n .add(\n HttpApiEndpoint.get(\"list\", \"/\")\n .addSuccess(S.PaginatedResponse(S.Payment))\n .setUrlParams(S.ListPaymentsParams)\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .add(\n HttpApiEndpoint.get(\"retrieve\", \"/:id\")\n .addSuccess(S.Payment)\n .setPath(Schema.Struct({ id: S.Id }))\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .prefix(\"/v1/payments\")\n .middleware(SecurityMiddleware);\n\n// ── Customers Group ──────────────────────────────────────────────────────\n\nexport const CustomersGroup = HttpApiGroup.make(\"customers\")\n .add(\n HttpApiEndpoint.post(\"create\", \"/\")\n .addSuccess(S.Customer, { status: 201 })\n .setPayload(S.CreateCustomerParams)\n .addError(AuthenticationError, { status: 401 })\n .addError(ConflictError, { status: 409 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .add(\n HttpApiEndpoint.get(\"list\", \"/\")\n .addSuccess(S.PaginatedResponse(S.Customer))\n .setUrlParams(S.ListCustomersParams)\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .add(\n HttpApiEndpoint.get(\"retrieve\", \"/:id\")\n .addSuccess(S.Customer)\n .setPath(Schema.Struct({ id: S.Id }))\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .add(\n HttpApiEndpoint.patch(\"update\", \"/:id\")\n .addSuccess(S.Customer)\n .setPath(Schema.Struct({ id: S.Id }))\n .setPayload(S.UpdateCustomerParams)\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(ConflictError, { status: 409 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .add(\n HttpApiEndpoint.del(\"delete\", \"/:id\")\n .setPath(Schema.Struct({ id: S.Id }))\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(ConflictError, { status: 409 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .prefix(\"/v1/customers\")\n .middleware(SecurityMiddleware);\n\n// ── Subscriptions Group ──────────────────────────────────────────────────\n\nexport const SubscriptionsGroup = HttpApiGroup.make(\"subscriptions\")\n .add(\n HttpApiEndpoint.post(\"create\", \"/\")\n .addSuccess(S.Subscription, { status: 201 })\n .setPayload(S.CreateSubscriptionParams)\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 })\n .middleware(SecurityMiddleware),\n )\n .add(\n HttpApiEndpoint.get(\"retrieve\", \"/:id\")\n .addSuccess(S.Subscription)\n .setPath(Schema.Struct({ id: S.SubscriptionId }))\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(InternalServerError, { status: 500 })\n .middleware(SecurityMiddleware),\n )\n .add(\n HttpApiEndpoint.get(\"list\", \"/\")\n .addSuccess(S.PaginatedResponse(S.Subscription))\n .setUrlParams(S.ListSubscriptionsParams)\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 })\n .middleware(SecurityMiddleware),\n )\n .add(\n HttpApiEndpoint.post(\"cancel\", \"/:id/cancel\")\n .addSuccess(S.Subscription)\n .setPath(Schema.Struct({ id: S.SubscriptionId }))\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(InternalServerError, { status: 500 })\n .middleware(SecurityMiddleware),\n )\n .add(\n HttpApiEndpoint.post(\"activate\", \"/:id/activate\")\n .addSuccess(\n Schema.Struct({\n checkout_url: Schema.String,\n payment_id: Schema.String,\n }),\n )\n .setPath(Schema.Struct({ id: S.SubscriptionId }))\n .setPayload(\n Schema.Struct({\n provider: S.Provider,\n returnUrl: Schema.String,\n cancelUrl: Schema.optional(Schema.String),\n }),\n )\n .addError(NotFoundError, { status: 404 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .prefix(\"/v1/subscriptions\");\n\n// ── Automation Group ─────────────────────────────────────────────────────\n\nexport const AutomationGroup = HttpApiGroup.make(\"automation\")\n .add(\n HttpApiEndpoint.post(\"reminders\", \"/reminders\")\n .addSuccess(\n Schema.Struct({\n message: Schema.String,\n count: Schema.Number,\n }),\n )\n .addError(InternalServerError, { status: 500 }),\n )\n .add(\n HttpApiEndpoint.post(\"reaper\", \"/reaper\")\n .addSuccess(\n Schema.Struct({\n message: Schema.String,\n count: Schema.Number,\n purged_projects: Schema.Number,\n }),\n )\n .addError(InternalServerError, { status: 500 }),\n )\n .add(\n HttpApiEndpoint.post(\"processRenewals\", \"/process-renewals\")\n .addSuccess(\n Schema.Struct({\n message: Schema.String,\n emails_sent: Schema.Number,\n }),\n )\n .addError(InternalServerError, { status: 500 }),\n )\n .add(\n HttpApiEndpoint.post(\"processGracePeriod\", \"/process-grace-period\")\n .addSuccess(\n Schema.Struct({\n message: Schema.String,\n marked_past_due: Schema.Number,\n }),\n )\n .addError(InternalServerError, { status: 500 }),\n )\n .prefix(\"/v1/automation\")\n .middleware(CronSecurity);\n\n// ── Tokens Group ─────────────────────────────────────────────────────────\n\nexport const TokensGroup = HttpApiGroup.make(\"tokens\")\n .add(\n HttpApiEndpoint.post(\"create\", \"/\")\n .addSuccess(\n Schema.Struct({\n ...S.Token.fields,\n token: Schema.String,\n }),\n )\n .setPayload(\n Schema.Struct({\n name: Schema.String,\n scopes: Schema.optionalWith(Schema.Array(Schema.String), {\n default: () => [],\n }),\n expires_in_days: Schema.optional(Schema.Number),\n }),\n )\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 }),\n )\n .add(\n HttpApiEndpoint.get(\"list\", \"/\")\n .addSuccess(Schema.Array(S.Token))\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 }),\n )\n .add(\n HttpApiEndpoint.del(\"delete\", \"/:id\")\n .setPath(Schema.Struct({ id: S.TokenId }))\n .addSuccess(Schema.Null)\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(InternalServerError, { status: 500 }),\n )\n .prefix(\"/v1/tokens\")\n .middleware(UserSecurity);\n\n// ── Projects Group ────────────────────────────────────────────────────────\n\nexport const ProjectsGroup = HttpApiGroup.make(\"projects\")\n .add(\n HttpApiEndpoint.get(\"list\", \"/\")\n .addSuccess(Schema.Array(S.Project))\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 }),\n )\n .add(\n HttpApiEndpoint.post(\"upgrade\", \"/:id/upgrade\")\n .addSuccess(S.Project)\n .setPath(Schema.Struct({ id: S.ProjectId }))\n .setPayload(Schema.Struct({ tier: Schema.Literal(\"pro\", \"enterprise\") }))\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 }),\n )\n .prefix(\"/v1/projects\")\n .middleware(UserSecurity);\n\n// ── Callbacks Group ──────────────────────────────────────────────────────\n\nexport const PaymentCallbackQueryParams = 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 /** Supabase Auth: access_token and refresh_token can be in the fragment or query */\n access_token: Schema.optional(Schema.String),\n refresh_token: Schema.optional(Schema.String),\n code: Schema.optional(Schema.String),\n});\nexport type PaymentCallbackQueryParams = Schema.Schema.Type<\n typeof PaymentCallbackQueryParams\n>;\n\nexport const CallbacksGroup = HttpApiGroup.make(\"callbacks\")\n .add(\n HttpApiEndpoint.get(\"handle\", \"/:provider\")\n .addSuccess(Schema.Any)\n .setPath(Schema.Struct({ provider: Schema.String }))\n .setUrlParams(PaymentCallbackQueryParams)\n .addError(NotFoundError, { status: 404 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 }),\n )\n .prefix(\"/v1/callback\");\n\n// ── Auth Group ───────────────────────────────────────────────────────────\n\nexport const AuthCallbackQueryParams = Schema.Struct({\n code: Schema.optional(Schema.String),\n next: Schema.optional(Schema.String),\n});\n\nexport const AuthGroup = HttpApiGroup.make(\"auth\")\n .add(\n HttpApiEndpoint.post(\"callback\", \"/callback\")\n .addSuccess(Schema.Any)\n .setUrlParams(AuthCallbackQueryParams)\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 }),\n )\n .prefix(\"/auth\");\n\n// ── Realtime Group ───────────────────────────────────────────────────────\n\nexport const RealtimeGroup = HttpApiGroup.make(\"realtime\")\n .add(\n HttpApiEndpoint.get(\"connect\", \"/\")\n .addSuccess(Schema.Any)\n .setUrlParams(Schema.Struct({ token: Schema.String }))\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 }),\n )\n .add(\n HttpApiEndpoint.post(\"trigger\", \"/trigger\")\n .addSuccess(\n Schema.Struct({\n status: Schema.String,\n event: Schema.optional(Schema.String),\n }),\n )\n .setPayload(S.RealtimeTriggerPayload)\n .setUrlParams(Schema.Struct({ token: Schema.optional(Schema.String) }))\n .addError(AuthenticationError, { status: 401 })\n .addError(InternalServerError, { status: 500 }),\n )\n .prefix(\"/v1/realtime\");\n\n// ── Mandates Group ───────────────────────────────────────────────────────\n\nexport const MandatesGroup = HttpApiGroup.make(\"mandates\")\n .add(\n HttpApiEndpoint.post(\"registerIntent\", \"/intent\")\n .addSuccess(S.Mandate, { status: 201 })\n .setPayload(\n Schema.Struct({\n principal_id: Schema.String,\n max_amount: Schema.Number,\n currency: Schema.String,\n valid_until: S.Timestamp,\n permitted_vendors: Schema.optional(Schema.Array(Schema.String)),\n credential_jwt: Schema.String,\n public_key: Schema.String,\n customer_id: Schema.optional(S.CustomerId),\n }),\n )\n .addError(AuthenticationError, { status: 401 })\n .addError(IndustrialError, { status: 400 }),\n )\n .add(\n HttpApiEndpoint.get(\"retrieve\", \"/:id\")\n .addSuccess(S.Mandate)\n .setPath(Schema.Struct({ id: S.MandateId }))\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 }),\n )\n .prefix(\"/v1/mandates\")\n .middleware(SecurityMiddleware);\n\n// ── Sandbox Group ───────────────────────────────────────────────────────\n\nexport const SandboxGroup = HttpApiGroup.make(\"sandbox\")\n .add(\n HttpApiEndpoint.post(\"init\", \"/init\")\n .addSuccess(\n Schema.Struct({\n projectId: Schema.String,\n apiKey: Schema.optional(Schema.String),\n expiresAt: S.Timestamp,\n session: Schema.optional(\n Schema.Struct({\n access_token: Schema.String,\n refresh_token: Schema.String,\n }),\n ),\n }),\n )\n .addError(InternalServerError, { status: 500 }),\n )\n .prefix(\"/v1/sandbox\")\n .middleware(UserSecurity);\n\n// ── Discovery Group ──────────────────────────────────────────────────────\n\nexport const DiscoveryGroup = HttpApiGroup.make(\"discovery\")\n .add(\n HttpApiEndpoint.get(\"agentCard\", \"/agent.json\")\n .addSuccess(Schema.Any)\n .addError(InternalServerError, { status: 500 }),\n )\n .prefix(\"/.well-known\");\n\n// ── Signing Keys Group ──────────────────────────────────────────────────\n\nexport const SigningKeysGroup = HttpApiGroup.make(\"signingKeys\")\n .add(\n HttpApiEndpoint.post(\"generate\", \"/\")\n .addSuccess(\n Schema.Struct({\n id: Schema.String,\n publicKey: Schema.String,\n privateKey: Schema.String,\n algorithm: Schema.String,\n createdAt: S.Timestamp,\n }),\n { status: 201 },\n )\n .setPath(Schema.Struct({ id: S.ProjectId }))\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(InternalServerError, { status: 500 }),\n )\n .add(\n HttpApiEndpoint.get(\"get\", \"/\")\n .addSuccess(\n Schema.Struct({\n id: Schema.String,\n publicKey: Schema.String,\n algorithm: Schema.String,\n createdAt: S.Timestamp,\n }),\n )\n .setPath(Schema.Struct({ id: S.ProjectId }))\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(InternalServerError, { status: 500 }),\n )\n .prefix(\"/v1/projects/:id/signing-keys\")\n .middleware(UserSecurity);\n\n// ── Unified API ──────────────────────────────────────────────────────────\n\nexport const PayArkApi = HttpApi.make(\"PayArkApi\")\n .add(CheckoutGroup)\n .add(PaymentsGroup)\n .add(CustomersGroup)\n .add(SubscriptionsGroup)\n .add(AutomationGroup)\n .add(TokensGroup)\n .add(ProjectsGroup)\n .add(CallbacksGroup)\n .add(AuthGroup)\n .add(MandatesGroup)\n .add(DiscoveryGroup)\n .add(RealtimeGroup)\n .add(SandboxGroup)\n .add(SigningKeysGroup)\n .addError(AuthenticationError, { status: 401 })\n .addError(NotFoundError, { status: 404 })\n .addError(MandateViolationError, { status: 403 })\n .addError(MandateExpiredError, { status: 410 })\n .addError(ConflictError, { status: 409 })\n .addError(InternalServerError, { status: 500 })\n .addError(IndustrialError, { status: 400 });\n","import { Data } from \"effect\";\n\n/** Machine-readable error codes. */\nexport type PayArkErrorCode =\n | \"authentication_error\"\n | \"permission_error\"\n | \"invalid_request_error\"\n | \"not_found_error\"\n | \"rate_limit_error\"\n | \"api_error\"\n | \"connection_error\"\n | \"unknown_error\";\n\n/** Raw error payload from the API. */\nexport interface PayArkErrorBody {\n readonly error: string;\n readonly details?: any;\n}\n/**\n * Effect-compatible error class for PayArk SDK.\n * Extends Data.TaggedError for easy matching in Effect.catchTag.\n */\nexport class PayArkEffectError extends Data.TaggedError(\"PayArkEffectError\")<{\n readonly message: string;\n readonly statusCode: number;\n readonly code: PayArkErrorCode;\n readonly raw?: PayArkErrorBody;\n readonly localizedMessage?: string;\n}> {\n /** Human-readable representation for logging/debugging. */\n override toString(): string {\n return `[PayArkEffectError: ${this.code}] ${this.localizedMessage || this.message} (HTTP ${this.statusCode})`;\n }\n}\n\n/**\n * Thrown when a transaction violates the bounds of an Intent Mandate.\n * (e.g., amount too high, vendor not permitted, status already consumed)\n */\nexport class MandateViolationError extends Data.TaggedError(\n \"MandateViolationError\",\n)<{\n readonly message: string;\n readonly mandateId?: string;\n readonly raw?: any;\n}> {\n readonly statusCode = 403;\n readonly code = \"mandate_violation\";\n}\n\n/**\n * Thrown when a mandate is presented outside of its valid time window.\n */\nexport class MandateExpiredError extends Data.TaggedError(\n \"MandateExpiredError\",\n)<{\n readonly message: string;\n readonly mandateId: string;\n readonly expiredAt: string;\n}> {\n readonly statusCode = 410;\n readonly code = \"mandate_expired\";\n}\n","import { Effect, Context, Schedule } from \"effect\";\nimport { HttpClient, HttpClientRequest } from \"@effect/platform\";\nimport { PayArkEffectError, type PayArkErrorCode } from \"./errors\";\nimport { PayArkConfig } from \"./schemas\";\nimport { signRequest } from \"./signing\";\n\n/** SDK version string for runtime introspection. */\nexport const SDK_VERSION = \"0.2.0\" as const;\n\n/**\n * Service tag for the PayArk configuration.\n */\nexport class PayArkConfigService extends Context.Tag(\"PayArkConfigService\")<\n PayArkConfigService,\n PayArkConfig\n>() {}\n\n/**\n * Executes an HTTP request using Effect and returns the JSON body or a PayArkEffectError.\n */\nexport const request = <T>(\n method: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\",\n path: string,\n options?: {\n readonly query?: Record<string, string | number | undefined>;\n readonly body?: any;\n readonly headers?: Record<string, string>;\n },\n): Effect.Effect<\n T,\n PayArkEffectError,\n PayArkConfigService | HttpClient.HttpClient\n> =>\n Effect.gen(function* (_) {\n const config = yield* _(PayArkConfigService);\n const client = yield* _(HttpClient.HttpClient);\n\n const baseUrl = (config.baseUrl ?? \"https://api.payark.dev\").replace(\n /\\/+$/,\n \"\",\n );\n const url = new URL(`${baseUrl}${path}`);\n\n if (options?.query) {\n for (const [key, value] of Object.entries(options.query)) {\n if (value !== undefined) {\n url.searchParams.set(key, String(value));\n }\n }\n }\n\n const headers: Record<string, string> = {\n Authorization: `Bearer ${config.apiKey}`,\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n \"User-Agent\": `payark-sdk-effect/${SDK_VERSION}`,\n ...options?.headers,\n };\n\n const isSandbox =\n config.sandbox ??\n (config.apiKey.startsWith(\"sk_test_\") ||\n config.apiKey.startsWith(\"pk_test_\"));\n\n if (isSandbox) {\n headers[\"x-sandbox-mode\"] = \"true\";\n }\n\n // Industrial Signing (RSA-256) - DISABLED FOR BETA LAUNCH\n /*\n if (!isSandbox && method !== \"GET\" && config.signingPrivateKey) {\n const rawBody = options?.body ? JSON.stringify(options.body) : \"\";\n const signingResult = yield* _(\n signRequest(\n config.signingPrivateKey,\n method,\n url.pathname,\n rawBody,\n ).pipe(\n Effect.mapError(\n (e) =>\n new PayArkEffectError({\n message: `Signing error: ${e.message}`,\n statusCode: 0,\n code: \"authentication_error\",\n localizedMessage: \"Failed to sign the request. Check your private key format.\",\n }),\n ),\n ),\n );\n\n Object.assign(headers, signingResult);\n }\n */\n\n let req = HttpClientRequest.make(method)(url.toString()).pipe(\n HttpClientRequest.setHeaders(headers),\n );\n\n if (options?.body) {\n req = yield* _(\n HttpClientRequest.bodyJson(options.body)(req).pipe(\n Effect.mapError(\n (e) =>\n new PayArkEffectError({\n message: `Invalid request body: ${String(e)}`,\n statusCode: 400,\n code: \"invalid_request_error\",\n localizedMessage: getLocalizedError(\"invalid_request_error\"),\n }),\n ),\n ),\n );\n }\n\n const response = yield* _(\n client.execute(req).pipe(\n Effect.mapError(\n (e) =>\n new PayArkEffectError({\n message: `Network error: ${e.message}`,\n statusCode: 0,\n code: \"connection_error\",\n localizedMessage: getLocalizedError(\"connection_error\"),\n }),\n ),\n ),\n );\n\n if (response.status >= 200 && response.status < 300) {\n if (response.status === 204) return {} as T;\n return (yield* _(\n response.json.pipe(\n Effect.mapError(\n (e) =>\n new PayArkEffectError({\n message: `Failed to parse response: ${String(e)}`,\n statusCode: response.status,\n code: \"api_error\",\n localizedMessage: getLocalizedError(\"api_error\"),\n }),\n ),\n ),\n )) as T;\n }\n\n const errorBody: any = yield* _(\n response.json.pipe(\n Effect.catchAll(() => Effect.succeed({ error: undefined })),\n ),\n );\n\n return yield* _(\n Effect.fail(\n new PayArkEffectError({\n message:\n errorBody?.error || `Request failed with status ${response.status}`,\n statusCode: response.status,\n code: mapStatusToCode(response.status),\n raw: errorBody,\n localizedMessage: getLocalizedError(mapStatusToCode(response.status)),\n }),\n ),\n );\n }).pipe(\n Effect.retry(\n Schedule.exponential(\"200 millis\").pipe(\n Schedule.upTo(\"5 seconds\"),\n // Only retry connection-level or 429/5xx transient errors:\n Schedule.check((error: PayArkEffectError) => {\n return (\n error.code === \"connection_error\" ||\n error.code === \"rate_limit_error\" ||\n error.statusCode >= 500\n );\n }),\n ),\n ),\n );\n\nfunction mapStatusToCode(status: number): PayArkErrorCode {\n if (status === 401) return \"authentication_error\";\n if (status === 403) return \"permission_error\";\n if (status === 400 || status === 422) return \"invalid_request_error\";\n if (status === 404) return \"not_found_error\";\n if (status === 429) return \"rate_limit_error\";\n if (status >= 500) return \"api_error\";\n return \"unknown_error\";\n}\n\nfunction getLocalizedError(code: PayArkErrorCode): string {\n switch (code) {\n case \"authentication_error\":\n return \"Your API key is missing or invalid. Please check your PayArk credentials.\";\n case \"permission_error\":\n return \"You don't have permission to perform this action.\";\n case \"invalid_request_error\":\n return \"The request is missing required parameters or they are invalid. Please check your implementation.\";\n case \"not_found_error\":\n return \"The requested resource could not be found.\";\n case \"rate_limit_error\":\n return \"You are making too many requests to PayArk. Please wait a moment before trying again.\";\n case \"api_error\":\n return \"PayArk servers are currently experiencing issues. Please try again later.\";\n case \"connection_error\":\n return \"Could not connect to PayArk. Please check your internet connection.\";\n default:\n return \"An unexpected error occurred. Please contact support if the issue persists.\";\n }\n}\n","import { Schema, ParseResult, Effect } from \"effect\";\nimport { PayArkConfigService, request } from \"../http\";\nimport {\n CheckoutSession,\n PayArkConfig,\n CreateCheckoutParams,\n} from \"../schemas\";\nimport { PayArkEffectError } from \"../errors\";\nimport type { HttpClient } from \"@effect/platform\";\n\n/**\n * Effect-based resource for PayArk Checkout.\n */\nexport class CheckoutEffect {\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * Create a new checkout session.\n *\n * @param params - Configuration for the checkout session.\n * @returns Effect that resolves to the created checkout session.\n */\n create(\n params: CreateCheckoutParams,\n ): Effect.Effect<\n CheckoutSession,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\"POST\", \"/v1/checkout\", { body: params }).pipe(\n Effect.flatMap(Schema.decodeUnknown(CheckoutSession)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n}\n","import { Schema, ParseResult, Effect } from \"effect\";\nimport { PayArkConfigService, request } from \"../http\";\nimport {\n Payment,\n PaginatedResponse,\n PayArkConfig,\n ListPaymentsParams,\n} from \"../schemas\";\nimport { PayArkEffectError } from \"../errors\";\nimport type { HttpClient } from \"@effect/platform\";\n\n/**\n * Effect-based resource for PayArk Payments.\n */\nexport class PaymentsEffect {\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * List payments for the authenticated project.\n *\n * @param params - Optional pagination parameters.\n * @returns Effect that resolves to paginated payments.\n */\n list(\n params: ListPaymentsParams = {},\n ): Effect.Effect<\n PaginatedResponse<Payment>,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\"GET\", \"/v1/payments\", {\n query: {\n limit: params.limit,\n offset: params.offset,\n projectId: params.projectId,\n },\n }).pipe(\n Effect.flatMap(Schema.decodeUnknown(PaginatedResponse(Payment))),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Retrieve a single payment by its ID.\n *\n * @param id - The payment identifier.\n * @returns Effect that resolves to the payment object.\n */\n retrieve(\n id: string,\n ): Effect.Effect<\n Payment,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\n \"GET\",\n `/v1/payments/${encodeURIComponent(id)}`,\n ).pipe(\n Effect.flatMap(Schema.decodeUnknown(Payment)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n}\n","import { Schema, ParseResult, Effect } from \"effect\";\nimport { PayArkConfigService, request } from \"../http\";\nimport { Project, PayArkConfig } from \"../schemas\";\nimport { PayArkEffectError } from \"../errors\";\nimport type { HttpClient } from \"@effect/platform\";\n\n/**\n * Effect-based resource for PayArk Projects.\n */\nexport class ProjectsEffect {\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * List all projects belonging to the authenticated account.\n *\n * @returns Effect that resolves to an array of projects.\n */\n list(): Effect.Effect<\n readonly Project[],\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\"GET\", \"/v1/projects\").pipe(\n Effect.flatMap(Schema.decodeUnknown(Schema.Array(Project))),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n}\n","import { Schema, ParseResult, Effect } from \"effect\";\nimport { PayArkConfigService, request } from \"../http\";\nimport {\n Customer,\n PayArkConfig,\n CreateCustomerParams,\n UpdateCustomerParams,\n ListCustomersParams,\n PaginatedResponse,\n} from \"../schemas\";\nimport { PayArkEffectError } from \"../errors\";\nimport type { HttpClient } from \"@effect/platform\";\n\n/**\n * Effect-based resource for PayArk Customers.\n */\nexport class CustomersEffect {\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * Create a new customer for a project.\n */\n create(\n params: CreateCustomerParams,\n ): Effect.Effect<\n Customer,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\"POST\", \"/v1/customers\", { body: params }).pipe(\n Effect.flatMap(Schema.decodeUnknown(Customer)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * List customers for the authenticated project.\n */\n list(\n params: ListCustomersParams = {},\n ): Effect.Effect<\n PaginatedResponse<Customer>,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\"GET\", \"/v1/customers\", {\n query: {\n limit: params.limit,\n offset: params.offset,\n projectId: params.projectId,\n email: params.email,\n merchant_customer_id: params.merchant_customer_id,\n },\n }).pipe(\n Effect.flatMap(Schema.decodeUnknown(PaginatedResponse(Customer))),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Retrieve a single customer by ID.\n */\n retrieve(\n id: string,\n ): Effect.Effect<\n Customer,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\n \"GET\",\n `/v1/customers/${encodeURIComponent(id)}`,\n ).pipe(\n Effect.flatMap(Schema.decodeUnknown(Customer)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Update a customer.\n */\n update(\n id: string,\n params: UpdateCustomerParams,\n ): Effect.Effect<\n Customer,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\n \"PATCH\",\n `/v1/customers/${encodeURIComponent(id)}`,\n {\n body: params,\n },\n ).pipe(\n Effect.flatMap(Schema.decodeUnknown(Customer)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Delete a customer.\n */\n delete(\n id: string,\n ): Effect.Effect<\n void,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<void>(\n \"DELETE\",\n `/v1/customers/${encodeURIComponent(id)}`,\n ).pipe(Effect.provideService(PayArkConfigService, this.config));\n }\n}\n","import { Schema, ParseResult, Effect } from \"effect\";\nimport { PayArkConfigService, request } from \"../http\";\nimport {\n Subscription,\n PayArkConfig,\n CreateSubscriptionParams,\n ListSubscriptionsParams,\n PaginatedResponse,\n} from \"../schemas\";\nimport { PayArkEffectError } from \"../errors\";\nimport type { HttpClient } from \"@effect/platform\";\n\n/**\n * Effect-based resource for PayArk Subscriptions.\n */\nexport class SubscriptionsEffect {\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * Create a new subscription.\n */\n create(\n params: CreateSubscriptionParams,\n ): Effect.Effect<\n Subscription,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\"POST\", \"/v1/subscriptions\", { body: params }).pipe(\n Effect.flatMap(Schema.decodeUnknown(Subscription)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * List subscriptions for the authenticated project.\n */\n list(\n params: ListSubscriptionsParams = {},\n ): Effect.Effect<\n PaginatedResponse<Subscription>,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\"GET\", \"/v1/subscriptions\", {\n query: {\n limit: params.limit,\n offset: params.offset,\n projectId: params.projectId,\n customerId: params.customerId,\n status: params.status,\n },\n }).pipe(\n Effect.flatMap(Schema.decodeUnknown(PaginatedResponse(Subscription))),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Retrieve a single subscription by ID.\n */\n retrieve(\n id: string,\n ): Effect.Effect<\n Subscription,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\n \"GET\",\n `/v1/subscriptions/${encodeURIComponent(id)}`,\n ).pipe(\n Effect.flatMap(Schema.decodeUnknown(Subscription)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Cancel a subscription.\n */\n cancel(\n id: string,\n ): Effect.Effect<\n Subscription,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\n \"POST\",\n `/v1/subscriptions/${encodeURIComponent(id)}/cancel`,\n ).pipe(\n Effect.flatMap(Schema.decodeUnknown(Subscription)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Activate a subscription (returns payment info).\n */\n activate(\n id: string,\n params: {\n provider: string;\n returnUrl: string;\n cancelUrl?: string;\n },\n ): Effect.Effect<\n { checkout_url: string; payment_id: string },\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n const activateSchema = Schema.Struct({\n checkout_url: Schema.String,\n payment_id: Schema.String,\n });\n\n return request<unknown>(\n \"POST\",\n `/v1/subscriptions/${encodeURIComponent(id)}/activate`,\n { body: params },\n ).pipe(\n Effect.flatMap(Schema.decodeUnknown(activateSchema)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n}\n","import { Schema, ParseResult, Effect } from \"effect\";\nimport { PayArkConfigService, request } from \"../http\";\nimport { Mandate, PayArkConfig } from \"../schemas\";\nimport { PayArkEffectError } from \"../errors\";\nimport type { HttpClient } from \"@effect/platform\";\n\n/**\n * Effect-based resource for PayArk Mandates.\n */\nexport class MandatesEffect {\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * Register a mandate intent.\n */\n registerIntent(params: {\n principal_id: string;\n max_amount: number;\n currency: string;\n valid_until: string;\n permitted_vendors?: string[];\n credential_jwt: string;\n public_key: string;\n customer_id?: string;\n }): Effect.Effect<\n Mandate,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\"POST\", \"/v1/mandates/intent\", {\n body: params,\n }).pipe(\n Effect.flatMap(Schema.decodeUnknown(Mandate)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Retrieve a mandate.\n */\n retrieve(\n id: string,\n ): Effect.Effect<\n Mandate,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\n \"GET\",\n `/v1/mandates/${encodeURIComponent(id)}`,\n ).pipe(\n Effect.flatMap(Schema.decodeUnknown(Mandate)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n}\n","import { Schema, ParseResult, Effect } from \"effect\";\nimport { PayArkConfigService, request } from \"../http\";\nimport { Token, PayArkConfig } from \"../schemas\";\nimport { PayArkEffectError } from \"../errors\";\nimport type { HttpClient } from \"@effect/platform\";\n\n/**\n * Effect-based resource for PayArk Tokens.\n */\nexport class TokensEffect {\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * Create a new token.\n */\n create(params: {\n name: string;\n scopes?: string[];\n expires_in_days?: number;\n }): Effect.Effect<\n Token & { token: string },\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n const createTokenSchema = Schema.Struct({\n ...Token.fields,\n token: Schema.String,\n });\n\n return request<unknown>(\"POST\", \"/v1/tokens\", { body: params }).pipe(\n Effect.flatMap(Schema.decodeUnknown(createTokenSchema)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * List all tokens.\n */\n list(): Effect.Effect<\n readonly Token[],\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<unknown>(\"GET\", \"/v1/tokens\").pipe(\n Effect.flatMap(Schema.decodeUnknown(Schema.Array(Token))),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Delete/revoke a token.\n */\n delete(\n id: string,\n ): Effect.Effect<\n void,\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n return request<void>(\"DELETE\", `/v1/tokens/${encodeURIComponent(id)}`).pipe(\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n}\n","import { Schema, ParseResult, Effect } from \"effect\";\nimport { PayArkConfigService, request } from \"../http\";\nimport { PayArkConfig } from \"../schemas\";\nimport { PayArkEffectError } from \"../errors\";\nimport type { HttpClient } from \"@effect/platform\";\n\n/**\n * Effect-based resource for PayArk Realtime.\n */\nexport class RealtimeEffect {\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * Manually trigger a realtime event.\n */\n trigger(params: {\n event: string;\n data?: any;\n token?: string;\n }): Effect.Effect<\n { status: string; event?: string },\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n const triggerSchema = Schema.Struct({\n status: Schema.String,\n event: Schema.optional(Schema.String),\n });\n\n return request<unknown>(\"POST\", \"/v1/realtime/trigger\", {\n body: params,\n query: { token: params.token },\n }).pipe(\n Effect.flatMap(Schema.decodeUnknown(triggerSchema)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n}\n","import { Schema, ParseResult, Effect } from \"effect\";\nimport { PayArkConfigService, request } from \"../http\";\nimport { PayArkConfig } from \"../schemas\";\nimport { PayArkEffectError } from \"../errors\";\nimport type { HttpClient } from \"@effect/platform\";\n\n/**\n * Effect-based resource for PayArk Automation.\n */\nexport class AutomationEffect {\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * Send reminders.\n */\n reminders(): Effect.Effect<\n { message: string; count: number },\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n const automationSchema = Schema.Struct({\n message: Schema.String,\n count: Schema.Number,\n });\n\n return request<unknown>(\"POST\", \"/v1/automation/reminders\").pipe(\n Effect.flatMap(Schema.decodeUnknown(automationSchema)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n\n /**\n * Run reaper.\n */\n reaper(): Effect.Effect<\n { message: string; count: number; purged_projects: number },\n PayArkEffectError | ParseResult.ParseError,\n HttpClient.HttpClient\n > {\n const reaperSchema = Schema.Struct({\n message: Schema.String,\n count: Schema.Number,\n purged_projects: Schema.Number,\n });\n\n return request<unknown>(\"POST\", \"/v1/automation/reaper\").pipe(\n Effect.flatMap(Schema.decodeUnknown(reaperSchema)),\n Effect.provideService(PayArkConfigService, this.config),\n );\n }\n}\n","import { Context, Layer, Effect } from \"effect\";\nimport { HttpApiClient, HttpClient } from \"@effect/platform\";\nimport { PayArkApi } from \"./api-spec\";\nimport type { PayArkConfig } from \"./schemas\";\nimport { CheckoutEffect } from \"./resources/checkout\";\nimport { PaymentsEffect } from \"./resources/payments\";\nimport { ProjectsEffect } from \"./resources/projects\";\nimport { CustomersEffect } from \"./resources/customers\";\nimport { SubscriptionsEffect } from \"./resources/subscriptions\";\nimport { MandatesEffect } from \"./resources/mandates\";\nimport { TokensEffect } from \"./resources/tokens\";\nimport { RealtimeEffect } from \"./resources/realtime\";\nimport { AutomationEffect } from \"./resources/automation\";\n\n/**\n * The Industrial SDK Client.\n * Automatically derived from the PayArk HttpApi specification.\n *\n * This provides perfect type-sync between the server and client.\n */\nexport const makeClient = (options?: {\n readonly baseUrl?: string;\n readonly httpClient?: HttpClient.HttpClient;\n}) => HttpApiClient.make(PayArkApi, options);\n\n/**\n * Service Tag for the Industrial Client.\n */\nexport class PayArkClient extends Context.Tag(\n \"@payark/sdk-effect/PayArkClient\",\n)<PayArkClient, Effect.Effect.Success<ReturnType<typeof makeClient>>>() {\n static readonly Live = (options?: {\n readonly baseUrl?: string;\n readonly httpClient?: HttpClient.HttpClient;\n }) => Layer.effect(PayArkClient, makeClient(options));\n}\n\n/**\n * Main entry point for the Effect-based PayArk API (Legacy wrapper).\n */\nexport class PayArkEffect {\n private _checkout?: CheckoutEffect;\n private _payments?: PaymentsEffect;\n private _projects?: ProjectsEffect;\n private _customers?: CustomersEffect;\n private _subscriptions?: SubscriptionsEffect;\n private _mandates?: MandatesEffect;\n private _tokens?: TokensEffect;\n private _realtime?: RealtimeEffect;\n private _automation?: AutomationEffect;\n\n constructor(private readonly config: PayArkConfig) {}\n\n /**\n * Checkout sessions resource (Effect).\n */\n get checkout(): CheckoutEffect {\n if (!this._checkout) {\n this._checkout = new CheckoutEffect(this.config);\n }\n return this._checkout;\n }\n\n /**\n * Payments resource (Effect).\n */\n get payments(): PaymentsEffect {\n if (!this._payments) {\n this._payments = new PaymentsEffect(this.config);\n }\n return this._payments;\n }\n\n /**\n * Projects resource (Effect).\n */\n get projects(): ProjectsEffect {\n if (!this._projects) {\n this._projects = new ProjectsEffect(this.config);\n }\n return this._projects;\n }\n\n /**\n * Customers resource (Effect).\n */\n get customers(): CustomersEffect {\n if (!this._customers) {\n this._customers = new CustomersEffect(this.config);\n }\n return this._customers;\n }\n\n /**\n * Subscriptions resource (Effect).\n */\n get subscriptions(): SubscriptionsEffect {\n if (!this._subscriptions) {\n this._subscriptions = new SubscriptionsEffect(this.config);\n }\n return this._subscriptions;\n }\n\n /**\n * Mandates resource (Effect).\n */\n get mandates(): MandatesEffect {\n if (!this._mandates) {\n this._mandates = new MandatesEffect(this.config);\n }\n return this._mandates;\n }\n\n /**\n * Tokens resource (Effect).\n */\n get tokens(): TokensEffect {\n if (!this._tokens) {\n this._tokens = new TokensEffect(this.config);\n }\n return this._tokens;\n }\n\n /**\n * Realtime resource (Effect).\n */\n get realtime(): RealtimeEffect {\n if (!this._realtime) {\n this._realtime = new RealtimeEffect(this.config);\n }\n return this._realtime;\n }\n\n /**\n * Automation resource (Effect).\n */\n get automation(): AutomationEffect {\n if (!this._automation) {\n this._automation = new AutomationEffect(this.config);\n }\n return this._automation;\n }\n}\n\n/**\n * Service tag for the PayArk API (Legacy).\n */\nexport class PayArk extends Context.Tag(\"@payark/sdk-effect/PayArk\")<\n PayArk,\n PayArkEffect\n>() {\n /**\n * Create a Layer that provides the PayArk service.\n */\n static readonly Live = (config: PayArkConfig) =>\n Layer.succeed(PayArk, new PayArkEffect(config));\n}\n\nexport * from \"./api-spec\";\nexport {\n PayArkEffectError,\n MandateViolationError,\n MandateExpiredError,\n} from \"./errors\";\nexport * from \"./schemas\";\n"]}
|
package/dist/schemas.d.mts
CHANGED
|
@@ -357,7 +357,6 @@ declare const PayArkConfig: Schema.Struct<{
|
|
|
357
357
|
timeout: Schema.optional<typeof Schema.Number>;
|
|
358
358
|
maxRetries: Schema.optional<typeof Schema.Number>;
|
|
359
359
|
sandbox: Schema.optional<typeof Schema.Boolean>;
|
|
360
|
-
signingPrivateKey: Schema.optional<typeof Schema.String>;
|
|
361
360
|
}>;
|
|
362
361
|
type PayArkConfig = Schema.Schema.Type<typeof PayArkConfig>;
|
|
363
362
|
/**
|
package/dist/schemas.d.ts
CHANGED
|
@@ -357,7 +357,6 @@ declare const PayArkConfig: Schema.Struct<{
|
|
|
357
357
|
timeout: Schema.optional<typeof Schema.Number>;
|
|
358
358
|
maxRetries: Schema.optional<typeof Schema.Number>;
|
|
359
359
|
sandbox: Schema.optional<typeof Schema.Boolean>;
|
|
360
|
-
signingPrivateKey: Schema.optional<typeof Schema.String>;
|
|
361
360
|
}>;
|
|
362
361
|
type PayArkConfig = Schema.Schema.Type<typeof PayArkConfig>;
|
|
363
362
|
/**
|
package/dist/schemas.js
CHANGED
|
@@ -317,8 +317,7 @@ var PayArkConfig = effect.Schema.Struct({
|
|
|
317
317
|
baseUrl: effect.Schema.optional(effect.Schema.String),
|
|
318
318
|
timeout: effect.Schema.optional(effect.Schema.Number),
|
|
319
319
|
maxRetries: effect.Schema.optional(effect.Schema.Number),
|
|
320
|
-
sandbox: effect.Schema.optional(effect.Schema.Boolean)
|
|
321
|
-
signingPrivateKey: effect.Schema.optional(effect.Schema.String)
|
|
320
|
+
sandbox: effect.Schema.optional(effect.Schema.Boolean)
|
|
322
321
|
});
|
|
323
322
|
var PayArkErrorBody = effect.Schema.Struct({
|
|
324
323
|
error: effect.Schema.String,
|