@nokinc-flur/sdk 1.1.4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
+ ACCOUNT_FUNDED_OAC_MAX_TTL_MS: () => ACCOUNT_FUNDED_OAC_MAX_TTL_MS,
23
24
  ACCOUNT_STATUSES: () => ACCOUNT_STATUSES,
24
25
  ACCOUNT_TYPES: () => ACCOUNT_TYPES,
25
26
  ADDITIONAL_DATA_SUBFIELD: () => ADDITIONAL_DATA_SUBFIELD,
@@ -33,6 +34,7 @@ __export(index_exports, {
33
34
  CLAIM_DOMAIN_V2: () => CLAIM_DOMAIN_V2,
34
35
  COLLECTION_INTENT_STATUSES: () => COLLECTION_INTENT_STATUSES,
35
36
  COLLECTION_PAYMENT_STATUSES: () => COLLECTION_PAYMENT_STATUSES,
37
+ CONSUMER_OFFLINE_CLAIM_SUBMIT_GRACE_MS: () => CONSUMER_OFFLINE_CLAIM_SUBMIT_GRACE_MS,
36
38
  CUSTODIAL_MODES: () => CUSTODIAL_MODES,
37
39
  CollectionIntentSchema: () => CollectionIntentSchema,
38
40
  CollectionPaymentResultSchema: () => CollectionPaymentResultSchema,
@@ -51,10 +53,6 @@ __export(index_exports, {
51
53
  CreateWithdrawalResultSchema: () => CreateWithdrawalResultSchema,
52
54
  DeviceKeyAlgSchema: () => DeviceKeyAlgSchema,
53
55
  DeviceKeyRecordSchema: () => DeviceKeyRecordSchema,
54
- DisableOfflineInputSchema: () => DisableOfflineInputSchema,
55
- DisableOfflineResultSchema: () => DisableOfflineResultSchema,
56
- EnableOfflineInputSchema: () => EnableOfflineInputSchema,
57
- EnableOfflineResultSchema: () => EnableOfflineResultSchema,
58
56
  FIELD: () => FIELD,
59
57
  FLUR_ARTIFACT_URI_PREFIX: () => FLUR_ARTIFACT_URI_PREFIX,
60
58
  FLUR_ARTIFACT_URI_SCHEME: () => FLUR_ARTIFACT_URI_SCHEME,
@@ -69,7 +67,7 @@ __export(index_exports, {
69
67
  HARDENED_ARTIFACT_TYPES: () => HARDENED_ARTIFACT_TYPES,
70
68
  IdentityArtifactSchema: () => IdentityArtifactSchema,
71
69
  IngestFundingResultSchema: () => IngestFundingResultSchema,
72
- IssueOACInputSchema: () => IssueOACInputSchema,
70
+ IssueAccountOacInputSchema: () => IssueAccountOacInputSchema,
73
71
  LedgerJournalEntryArtifactSchema: () => LedgerJournalEntryArtifactSchema,
74
72
  ListPayoutDestinationsResultSchema: () => ListPayoutDestinationsResultSchema,
75
73
  MEMBERSHIP_ROLES: () => MEMBERSHIP_ROLES,
@@ -88,11 +86,9 @@ __export(index_exports, {
88
86
  OAC_DEFAULT_VALIDITY_MS: () => OAC_DEFAULT_VALIDITY_MS,
89
87
  OFFLINE_CLAIM_SMS_PREFIX: () => OFFLINE_CLAIM_SMS_PREFIX,
90
88
  OfflineClaimArtifactSchema: () => OfflineClaimArtifactSchema,
91
- OfflineHoldRecordSchema: () => OfflineHoldRecordSchema,
92
89
  OfflinePaymentAuthorizationArtifactSchema: () => OfflinePaymentAuthorizationArtifactSchema,
93
90
  OfflinePaymentAuthorizationSchema: () => OfflinePaymentAuthorizationSchema,
94
91
  OfflinePaymentRequestSchema: () => OfflinePaymentRequestSchema,
95
- OfflineStateResultSchema: () => OfflineStateResultSchema,
96
92
  OfflineStatusResultSchema: () => OfflineStatusResultSchema,
97
93
  OfflineTokenSchema: () => OfflineTokenSchema,
98
94
  P256EnrollmentChallengeInputSchema: () => P256EnrollmentChallengeInputSchema,
@@ -120,8 +116,6 @@ __export(index_exports, {
120
116
  PayoutEventInputSchema: () => PayoutEventInputSchema,
121
117
  ProviderEventInputSchema: () => ProviderEventInputSchema,
122
118
  ProviderEventRecordSchema: () => ProviderEventRecordSchema,
123
- ProvisionOfflineAllowanceInputSchema: () => ProvisionOfflineAllowanceInputSchema,
124
- ProvisionOfflineAllowanceResultSchema: () => ProvisionOfflineAllowanceResultSchema,
125
119
  PublicCollectionIntentSchema: () => PublicCollectionIntentSchema,
126
120
  RECEIPT_CHANNELS: () => RECEIPT_CHANNELS,
127
121
  RECEIPT_KINDS: () => RECEIPT_KINDS,
@@ -132,7 +126,6 @@ __export(index_exports, {
132
126
  ReconciliationReportSchema: () => ReconciliationReportSchema,
133
127
  RecordPayoutEventResultSchema: () => RecordPayoutEventResultSchema,
134
128
  RedemptionSchema: () => RedemptionSchema,
135
- RegisterDeviceKeyInputSchema: () => RegisterDeviceKeyInputSchema,
136
129
  RegisterDeviceKeyP256InputSchema: () => RegisterDeviceKeyP256InputSchema,
137
130
  ReversalRecordArtifactSchema: () => ReversalRecordArtifactSchema,
138
131
  RevokeDeviceKeyInputSchema: () => RevokeDeviceKeyInputSchema,
@@ -3190,13 +3183,10 @@ function createAccountsClient(opts) {
3190
3183
 
3191
3184
  // src/me-offline/client.ts
3192
3185
  var import_zod13 = require("zod");
3193
- var Hex64 = import_zod13.z.string().regex(/^[0-9a-f]{64}$/i);
3194
- var Sha256Hex = import_zod13.z.string().regex(/^[0-9a-f]{64}$/i);
3186
+ var Sha256Hex = import_zod13.z.string().regex(/^[0-9a-f]{64}$/);
3195
3187
  var Base64Std3 = import_zod13.z.string().regex(/^[A-Za-z0-9+/]+={0,2}$/);
3196
- var RegisterDeviceKeyInputSchema = import_zod13.z.object({
3197
- deviceId: import_zod13.z.string().min(1).max(128),
3198
- publicKeyHex: Hex64
3199
- });
3188
+ var ACCOUNT_FUNDED_OAC_MAX_TTL_MS = 1e3 * 60 * 60 * 24 * 7;
3189
+ var CONSUMER_OFFLINE_CLAIM_SUBMIT_GRACE_MS = 1e3 * 60 * 60 * 24;
3200
3190
  var AttestationSecurityLevelSchema = import_zod13.z.enum([
3201
3191
  "STRONGBOX",
3202
3192
  "TEE",
@@ -3227,9 +3217,7 @@ var DeviceKeyRecordSchema = import_zod13.z.object({
3227
3217
  deviceId: import_zod13.z.string(),
3228
3218
  /** Always 'p256' on the consumer offline rail. Field retained for forward-compat. */
3229
3219
  alg: DeviceKeyAlgSchema.default("p256"),
3230
- /** Legacy ed25519 hex key. Always null on new records (kept for back-compat reads). */
3231
- publicKeyHex: Hex64.nullable().default(null),
3232
- /** P-256 SubjectPublicKeyInfo DER, base64. Required for new records. */
3220
+ /** P-256 SubjectPublicKeyInfo DER, base64. */
3233
3221
  publicKeySpkiB64: Base64Std3.nullable().default(null),
3234
3222
  securityLevel: AttestationSecurityLevelSchema.nullable().default(null),
3235
3223
  hardwareBacked: import_zod13.z.boolean().default(false),
@@ -3242,8 +3230,13 @@ var ConsumerOACSchema = import_zod13.z.object({
3242
3230
  issuerId: import_zod13.z.string().min(1).max(64),
3243
3231
  userId: import_zod13.z.string().uuid(),
3244
3232
  deviceId: import_zod13.z.string().min(1).max(128),
3245
- /** Always 'p256'. Field retained for forward-compat. */
3246
- alg: import_zod13.z.literal("p256").default("p256"),
3233
+ /**
3234
+ * Always 'p256'. Required on the wire (backend always emits it).
3235
+ * Kept as a literal so input/output infer identically and the schema
3236
+ * can be nested inside other response shapes without Zod input/output
3237
+ * divergence under tsup DTS bundling.
3238
+ */
3239
+ alg: import_zod13.z.literal("p256"),
3247
3240
  /** P-256 SubjectPublicKeyInfo DER, base64. */
3248
3241
  devicePubkeySpkiB64: Base64Std3.min(64).max(4096),
3249
3242
  perTxCapKobo: import_zod13.z.number().int().positive(),
@@ -3263,83 +3256,17 @@ var SignedConsumerOACSchema = import_zod13.z.object({
3263
3256
  });
3264
3257
  var OACRecordSchema = SignedConsumerOACSchema.extend({
3265
3258
  currentOfflineSpentKobo: import_zod13.z.number().int().nonnegative(),
3266
- status: import_zod13.z.enum([
3267
- "active",
3268
- "superseded",
3269
- "expired",
3270
- "revoked",
3271
- "disabling",
3272
- "draining",
3273
- "closed"
3274
- ]),
3259
+ status: import_zod13.z.enum(["active", "superseded", "expired", "revoked"]),
3275
3260
  supersededAtMs: import_zod13.z.number().int().nonnegative().nullable(),
3276
- revokedAtMs: import_zod13.z.number().int().nonnegative().nullable(),
3277
- holdId: import_zod13.z.string().uuid().nullable().optional()
3261
+ revokedAtMs: import_zod13.z.number().int().nonnegative().nullable()
3278
3262
  });
3279
- var IssueOACInputSchema = import_zod13.z.object({
3263
+ var IssueAccountOacInputSchema = import_zod13.z.object({
3280
3264
  deviceId: import_zod13.z.string().min(1).max(128),
3281
3265
  perTxCapKobo: import_zod13.z.number().int().positive().optional(),
3282
3266
  cumulativeCapKobo: import_zod13.z.number().int().positive().optional(),
3283
- ttlMs: import_zod13.z.number().int().min(6e4).max(1e3 * 60 * 60 * 24 * 7).optional(),
3284
- spendableOnlineKobo: import_zod13.z.number().int().nonnegative().optional()
3285
- });
3286
- var EnableOfflineInputSchema = import_zod13.z.object({
3287
- deviceId: import_zod13.z.string().min(1).max(128),
3288
- amountKobo: import_zod13.z.number().int().positive(),
3289
- perTxCapKobo: import_zod13.z.number().int().positive().optional(),
3290
- ttlMs: import_zod13.z.number().int().min(6e4).max(1e3 * 60 * 60 * 24 * 7).optional(),
3291
- installId: import_zod13.z.string().min(1).max(128),
3292
- partnerId: import_zod13.z.string().min(1).max(64).optional()
3293
- });
3294
- var ProvisionOfflineAllowanceInputSchema = EnableOfflineInputSchema;
3295
- var DisableOfflineInputSchema = import_zod13.z.object({
3296
- deviceId: import_zod13.z.string().min(1).max(128),
3297
- installId: import_zod13.z.string().min(1).max(128).optional(),
3298
- claims: import_zod13.z.array(import_zod13.z.unknown()).max(256).optional()
3299
- });
3300
- var OfflineHoldRecordSchema = import_zod13.z.object({
3301
- holdId: import_zod13.z.string().uuid(),
3302
- userId: import_zod13.z.string().uuid(),
3303
- deviceId: import_zod13.z.string(),
3304
- partnerId: import_zod13.z.string(),
3305
- adapterKind: import_zod13.z.string(),
3306
- externalHoldRef: import_zod13.z.string().nullable(),
3307
- amountKobo: import_zod13.z.number().int().nonnegative(),
3308
- capturedKobo: import_zod13.z.number().int().nonnegative(),
3309
- releasedKobo: import_zod13.z.number().int().nonnegative(),
3310
- remainingKobo: import_zod13.z.number().int().nonnegative(),
3311
- currency: import_zod13.z.string().length(3),
3312
- status: import_zod13.z.enum([
3313
- "placing",
3314
- "active",
3315
- "disabling",
3316
- "draining",
3317
- "closed",
3318
- "revoked",
3319
- "failed"
3320
- ]),
3321
- installId: import_zod13.z.string().nullable(),
3322
- drainDeadlineMs: import_zod13.z.number().int().nonnegative(),
3323
- disableRequestedAtMs: import_zod13.z.number().int().nonnegative().nullable(),
3324
- createdAtMs: import_zod13.z.number().int().nonnegative(),
3325
- closedAtMs: import_zod13.z.number().int().nonnegative().nullable(),
3326
- isTrusted: import_zod13.z.boolean().optional()
3327
- });
3328
- var EnableOfflineResultSchema = import_zod13.z.object({
3329
- hold: OfflineHoldRecordSchema,
3330
- oac: OACRecordSchema
3331
- });
3332
- var ProvisionOfflineAllowanceResultSchema = EnableOfflineResultSchema;
3333
- var DisableOfflineResultSchema = import_zod13.z.object({
3334
- hold: OfflineHoldRecordSchema,
3335
- trusted: import_zod13.z.boolean(),
3336
- settledClaims: import_zod13.z.number().int().nonnegative()
3267
+ ttlMs: import_zod13.z.number().int().min(6e4).max(ACCOUNT_FUNDED_OAC_MAX_TTL_MS).optional()
3337
3268
  });
3338
3269
  var OfflineStatusResultSchema = import_zod13.z.object({
3339
- hold: OfflineHoldRecordSchema.nullable(),
3340
- active: OACRecordSchema.nullable()
3341
- });
3342
- var OfflineStateResultSchema = import_zod13.z.object({
3343
3270
  active: OACRecordSchema.nullable()
3344
3271
  });
3345
3272
  var ConsumerPaymentClaimSchema = import_zod13.z.object({
@@ -3421,12 +3348,6 @@ function createMeOfflineClient(opts) {
3421
3348
  }
3422
3349
  const deviceKeyItems = import_zod13.z.object({ items: import_zod13.z.array(DeviceKeyRecordSchema) });
3423
3350
  return {
3424
- registerDeviceKey: (input) => call(
3425
- "POST",
3426
- "/v1/me/offline/keys",
3427
- RegisterDeviceKeyInputSchema.parse(input),
3428
- (raw) => DeviceKeyRecordSchema.parse(raw)
3429
- ),
3430
3351
  issueP256EnrollmentChallenge: (input) => call(
3431
3352
  "POST",
3432
3353
  "/v1/me/offline/keys/p256/challenge",
@@ -3451,30 +3372,12 @@ function createMeOfflineClient(opts) {
3451
3372
  RevokeDeviceKeyInputSchema.parse(input),
3452
3373
  () => void 0
3453
3374
  ),
3454
- provisionAllowance: (input) => call(
3455
- "POST",
3456
- "/v1/me/offline/allowance",
3457
- ProvisionOfflineAllowanceInputSchema.parse(input),
3458
- (raw) => ProvisionOfflineAllowanceResultSchema.parse(raw)
3459
- ),
3460
- enable: (input) => call(
3375
+ issueAccountOac: (input) => call(
3461
3376
  "POST",
3462
- "/v1/me/offline/enable",
3463
- EnableOfflineInputSchema.parse(input),
3464
- (raw) => EnableOfflineResultSchema.parse(raw)
3465
- ),
3466
- refresh: (input) => call(
3467
- "POST",
3468
- "/v1/me/offline/refresh",
3469
- IssueOACInputSchema.parse(input),
3377
+ "/v1/me/offline/oac",
3378
+ IssueAccountOacInputSchema.parse(input),
3470
3379
  (raw) => OACRecordSchema.parse(raw)
3471
3380
  ),
3472
- disable: (input) => call(
3473
- "POST",
3474
- "/v1/me/offline/disable",
3475
- DisableOfflineInputSchema.parse(input),
3476
- (raw) => DisableOfflineResultSchema.parse(raw)
3477
- ),
3478
3381
  getStatus: (deviceId) => {
3479
3382
  const qs = deviceId ? `?deviceId=${encodeURIComponent(deviceId)}` : "";
3480
3383
  return call(
@@ -3484,15 +3387,6 @@ function createMeOfflineClient(opts) {
3484
3387
  (raw) => OfflineStatusResultSchema.parse(raw)
3485
3388
  );
3486
3389
  },
3487
- getState: (deviceId) => {
3488
- const qs = deviceId ? `?deviceId=${encodeURIComponent(deviceId)}` : "";
3489
- return call(
3490
- "GET",
3491
- `/v1/me/offline/state${qs}`,
3492
- void 0,
3493
- (raw) => OfflineStateResultSchema.parse(raw)
3494
- );
3495
- },
3496
3390
  submitClaim: (claim) => call(
3497
3391
  "POST",
3498
3392
  "/v1/me/offline/claims",
@@ -4409,6 +4303,7 @@ function createOfflinePaymentAuthorizationArtifactUri(input) {
4409
4303
  }
4410
4304
  // Annotate the CommonJS export names for ESM import in node:
4411
4305
  0 && (module.exports = {
4306
+ ACCOUNT_FUNDED_OAC_MAX_TTL_MS,
4412
4307
  ACCOUNT_STATUSES,
4413
4308
  ACCOUNT_TYPES,
4414
4309
  ADDITIONAL_DATA_SUBFIELD,
@@ -4422,6 +4317,7 @@ function createOfflinePaymentAuthorizationArtifactUri(input) {
4422
4317
  CLAIM_DOMAIN_V2,
4423
4318
  COLLECTION_INTENT_STATUSES,
4424
4319
  COLLECTION_PAYMENT_STATUSES,
4320
+ CONSUMER_OFFLINE_CLAIM_SUBMIT_GRACE_MS,
4425
4321
  CUSTODIAL_MODES,
4426
4322
  CollectionIntentSchema,
4427
4323
  CollectionPaymentResultSchema,
@@ -4440,10 +4336,6 @@ function createOfflinePaymentAuthorizationArtifactUri(input) {
4440
4336
  CreateWithdrawalResultSchema,
4441
4337
  DeviceKeyAlgSchema,
4442
4338
  DeviceKeyRecordSchema,
4443
- DisableOfflineInputSchema,
4444
- DisableOfflineResultSchema,
4445
- EnableOfflineInputSchema,
4446
- EnableOfflineResultSchema,
4447
4339
  FIELD,
4448
4340
  FLUR_ARTIFACT_URI_PREFIX,
4449
4341
  FLUR_ARTIFACT_URI_SCHEME,
@@ -4458,7 +4350,7 @@ function createOfflinePaymentAuthorizationArtifactUri(input) {
4458
4350
  HARDENED_ARTIFACT_TYPES,
4459
4351
  IdentityArtifactSchema,
4460
4352
  IngestFundingResultSchema,
4461
- IssueOACInputSchema,
4353
+ IssueAccountOacInputSchema,
4462
4354
  LedgerJournalEntryArtifactSchema,
4463
4355
  ListPayoutDestinationsResultSchema,
4464
4356
  MEMBERSHIP_ROLES,
@@ -4477,11 +4369,9 @@ function createOfflinePaymentAuthorizationArtifactUri(input) {
4477
4369
  OAC_DEFAULT_VALIDITY_MS,
4478
4370
  OFFLINE_CLAIM_SMS_PREFIX,
4479
4371
  OfflineClaimArtifactSchema,
4480
- OfflineHoldRecordSchema,
4481
4372
  OfflinePaymentAuthorizationArtifactSchema,
4482
4373
  OfflinePaymentAuthorizationSchema,
4483
4374
  OfflinePaymentRequestSchema,
4484
- OfflineStateResultSchema,
4485
4375
  OfflineStatusResultSchema,
4486
4376
  OfflineTokenSchema,
4487
4377
  P256EnrollmentChallengeInputSchema,
@@ -4509,8 +4399,6 @@ function createOfflinePaymentAuthorizationArtifactUri(input) {
4509
4399
  PayoutEventInputSchema,
4510
4400
  ProviderEventInputSchema,
4511
4401
  ProviderEventRecordSchema,
4512
- ProvisionOfflineAllowanceInputSchema,
4513
- ProvisionOfflineAllowanceResultSchema,
4514
4402
  PublicCollectionIntentSchema,
4515
4403
  RECEIPT_CHANNELS,
4516
4404
  RECEIPT_KINDS,
@@ -4521,7 +4409,6 @@ function createOfflinePaymentAuthorizationArtifactUri(input) {
4521
4409
  ReconciliationReportSchema,
4522
4410
  RecordPayoutEventResultSchema,
4523
4411
  RedemptionSchema,
4524
- RegisterDeviceKeyInputSchema,
4525
4412
  RegisterDeviceKeyP256InputSchema,
4526
4413
  ReversalRecordArtifactSchema,
4527
4414
  RevokeDeviceKeyInputSchema,