@guildeducationinc/benefits-admin-policy-sdk 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ export { PolicyVersionBuilder } from './policy-version-builder';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/builders/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PolicyVersionBuilder = void 0;
4
+ var policy_version_builder_1 = require("./policy-version-builder");
5
+ Object.defineProperty(exports, "PolicyVersionBuilder", { enumerable: true, get: function () { return policy_version_builder_1.PolicyVersionBuilder; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/builders/index.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAAvD,8HAAA,oBAAoB,OAAA"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Builder for creating test PolicyVersion data (MODEL-FIRST pattern).
3
+ */
4
+ import type { BenefitProvisions, ClawbackProvisions, EnrollmentProvisions, FinancialAidProvisions, JobPerformanceProvisions, NonStandardAdministrationProvisions, PolicyException, PolicyVersion, TaxProvisions, TerminationProvisions } from '../models';
5
+ import type { ProductType } from '../models/policy';
6
+ /**
7
+ * Builder for test PolicyVersion data (MODEL-FIRST pattern).
8
+ *
9
+ * PolicyVersions define employer benefit rules: populations, packages, benefits, requirements.
10
+ *
11
+ * All fields and validation derive from PolicyVersion type.
12
+ *
13
+ * Factory methods:
14
+ * - PolicyVersionBuilder.policyVersion() - Basic policy version with defaults
15
+ *
16
+ * Chaining:
17
+ * PolicyVersionBuilder()
18
+ * .forEmployer("emp-123")
19
+ * .withPolicyId("policy-123")
20
+ * .addPopulation({ name: "All Employees" })
21
+ * .addBenefit("learning_benefit", { fundingLimit: 5250 })
22
+ * .addPackage({ population: "pop-1", benefits: ["ben-1"] })
23
+ * .build()
24
+ */
25
+ export declare class PolicyVersionBuilder {
26
+ private employerId;
27
+ private policyId;
28
+ private id;
29
+ private name;
30
+ private effectiveDate;
31
+ private policyVersionUri;
32
+ private replacesVersionId;
33
+ private schemaVersion?;
34
+ private schemaMajor?;
35
+ private productType;
36
+ private populations;
37
+ private packages;
38
+ private benefits;
39
+ private requirements;
40
+ private exceptions;
41
+ private benefitProvisions;
42
+ private terminationProvisions;
43
+ private taxProvisions;
44
+ private jobPerformanceProvisions;
45
+ private enrollmentProvisions;
46
+ private clawbackProvisions;
47
+ private financialAidProvisions;
48
+ private nonStandardAdministrationProvisions;
49
+ /**
50
+ * Create basic policy version with defaults.
51
+ *
52
+ * @param employerId - Employer ID
53
+ * @param fields - Any fields from PolicyVersion type
54
+ * @returns Ready-to-use PolicyVersion object
55
+ */
56
+ static policyVersion(employerId?: string, fields?: Partial<PolicyVersion>): PolicyVersion;
57
+ constructor();
58
+ withPolicyId(policyId: string): this;
59
+ withId(versionId: string): this;
60
+ withEmployerId(employerId: string): this;
61
+ forEmployer(employerId: string): this;
62
+ withName(name: string): this;
63
+ withEffectiveDate(effectiveDate: Date | string): this;
64
+ withSchemaVersion(version: '1.0.0'): this;
65
+ withReplacesVersionId(replacesVersionId: string): this;
66
+ withPolicyVersionUri(uri: string): this;
67
+ withAutoUri(bucket?: string): this;
68
+ addPopulation(options?: {
69
+ populationId?: string;
70
+ name?: string;
71
+ rule?: string;
72
+ }): this;
73
+ addPackage(options?: {
74
+ packageId?: string;
75
+ name?: string;
76
+ population?: string;
77
+ benefits?: string[];
78
+ }): this;
79
+ addBenefit(benefitType: string, options?: {
80
+ benefitId?: string;
81
+ name?: string;
82
+ fundingLimit?: number;
83
+ paymentModality?: string;
84
+ taxGrossUp?: boolean;
85
+ taxSection?: '117' | '127' | '132' | 'not-applicable';
86
+ requirements?: {
87
+ employment_standing?: string;
88
+ academic_standing?: string;
89
+ };
90
+ [key: string]: unknown;
91
+ }): this;
92
+ addRequirement(requirementType: string, options?: {
93
+ requirementId?: string;
94
+ rule?: string;
95
+ }): this;
96
+ addException(exception: PolicyException): this;
97
+ withProductType(productType: ProductType): this;
98
+ withBenefitProvisions(provisions: BenefitProvisions): this;
99
+ withTerminationProvisions(provisions: TerminationProvisions): this;
100
+ withTaxProvisions(provisions: TaxProvisions): this;
101
+ withJobPerformanceProvisions(provisions: JobPerformanceProvisions): this;
102
+ withEnrollmentProvisions(provisions: EnrollmentProvisions): this;
103
+ withClawbackProvisions(provisions: ClawbackProvisions): this;
104
+ withNonStandardAdministrationProvisions(provisions: NonStandardAdministrationProvisions): this;
105
+ withFinancialAidProvisions(provisions: FinancialAidProvisions): this;
106
+ /**
107
+ * Build and return the PolicyVersion object.
108
+ *
109
+ * Model-first: automatically pulls all fields from builder,
110
+ * returns PolicyVersion object suitable for mocking.
111
+ *
112
+ * @returns PolicyVersion object suitable for mocking
113
+ */
114
+ build(): PolicyVersion;
115
+ private generateUuid;
116
+ }
117
+ //# sourceMappingURL=policy-version-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-version-builder.d.ts","sourceRoot":"","sources":["../../src/builders/policy-version-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,364 @@
1
+ "use strict";
2
+ /**
3
+ * Builder for creating test PolicyVersion data (MODEL-FIRST pattern).
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PolicyVersionBuilder = void 0;
7
+ const crypto_1 = require("crypto");
8
+ /**
9
+ * Builder for test PolicyVersion data (MODEL-FIRST pattern).
10
+ *
11
+ * PolicyVersions define employer benefit rules: populations, packages, benefits, requirements.
12
+ *
13
+ * All fields and validation derive from PolicyVersion type.
14
+ *
15
+ * Factory methods:
16
+ * - PolicyVersionBuilder.policyVersion() - Basic policy version with defaults
17
+ *
18
+ * Chaining:
19
+ * PolicyVersionBuilder()
20
+ * .forEmployer("emp-123")
21
+ * .withPolicyId("policy-123")
22
+ * .addPopulation({ name: "All Employees" })
23
+ * .addBenefit("learning_benefit", { fundingLimit: 5250 })
24
+ * .addPackage({ population: "pop-1", benefits: ["ben-1"] })
25
+ * .build()
26
+ */
27
+ class PolicyVersionBuilder {
28
+ /**
29
+ * Create basic policy version with defaults.
30
+ *
31
+ * @param employerId - Employer ID
32
+ * @param fields - Any fields from PolicyVersion type
33
+ * @returns Ready-to-use PolicyVersion object
34
+ */
35
+ static policyVersion(employerId, fields) {
36
+ const builder = new PolicyVersionBuilder();
37
+ if (employerId) {
38
+ builder.employerId = employerId;
39
+ }
40
+ // Apply field overrides
41
+ if (fields) {
42
+ Object.assign(builder, fields);
43
+ }
44
+ return builder.build();
45
+ }
46
+ constructor() {
47
+ // Optional fields from PolicyVersion
48
+ this.replacesVersionId = null;
49
+ this.productType = 'grow';
50
+ // Complex fields from PolicyVersion (lists)
51
+ this.populations = [];
52
+ this.packages = [];
53
+ this.benefits = [];
54
+ this.requirements = [];
55
+ this.exceptions = [];
56
+ // Provision fields (required by model)
57
+ this.benefitProvisions = {};
58
+ this.taxProvisions = {};
59
+ this.jobPerformanceProvisions = {};
60
+ this.clawbackProvisions = {};
61
+ this.financialAidProvisions = {};
62
+ this.nonStandardAdministrationProvisions = {};
63
+ // Initialize with default values
64
+ this.employerId = this.generateUuid();
65
+ this.policyId = this.generateUuid();
66
+ this.id = this.generateUuid();
67
+ this.name = 'Test Policy Version';
68
+ this.effectiveDate = new Date();
69
+ this.policyVersionUri = `s3://bucket/policies/${this.policyId}/${this.id}.json`;
70
+ // Termination provisions - create with default values
71
+ this.terminationProvisions = {
72
+ id: this.generateUuid(),
73
+ description: 'No termination provisions',
74
+ name: 'No Termination Provisions',
75
+ reimburse_after_termination: null,
76
+ termination_check_lifecycle: null,
77
+ termination_check_after_reimbursement_file_approval: null,
78
+ payment_cancelled_after_reimbursement_file_sent: null,
79
+ };
80
+ // Enrollment provisions - create with default values
81
+ this.enrollmentProvisions = {
82
+ id: this.generateUuid(),
83
+ description: 'No enrollment limits',
84
+ name: 'No Enrollment Limits',
85
+ program_or_benefit_enrollments_limit: false,
86
+ simultaneous_program_enrollments_limit: null,
87
+ simultaneous_program_enrollments_limit_details: null,
88
+ simultaneous_program_enrollments_limit_custom_policy: null,
89
+ restricted_to_tuition_or_loan_benefits: null,
90
+ };
91
+ }
92
+ withPolicyId(policyId) {
93
+ this.policyId = policyId;
94
+ return this;
95
+ }
96
+ withId(versionId) {
97
+ this.id = versionId;
98
+ return this;
99
+ }
100
+ withEmployerId(employerId) {
101
+ this.employerId = employerId;
102
+ return this;
103
+ }
104
+ forEmployer(employerId) {
105
+ return this.withEmployerId(employerId);
106
+ }
107
+ withName(name) {
108
+ this.name = name;
109
+ return this;
110
+ }
111
+ withEffectiveDate(effectiveDate) {
112
+ if (typeof effectiveDate === 'string') {
113
+ this.effectiveDate = new Date(effectiveDate);
114
+ }
115
+ else {
116
+ this.effectiveDate = effectiveDate;
117
+ }
118
+ return this;
119
+ }
120
+ withSchemaVersion(version) {
121
+ this.schemaVersion = version;
122
+ return this;
123
+ }
124
+ withReplacesVersionId(replacesVersionId) {
125
+ this.replacesVersionId = replacesVersionId;
126
+ return this;
127
+ }
128
+ withPolicyVersionUri(uri) {
129
+ this.policyVersionUri = uri;
130
+ return this;
131
+ }
132
+ withAutoUri(bucket = 'benefits-admin-policy-versions-staging') {
133
+ const today = new Date();
134
+ const year = today.getFullYear();
135
+ const month = String(today.getMonth() + 1).padStart(2, '0');
136
+ const day = String(today.getDate()).padStart(2, '0');
137
+ this.policyVersionUri = `s3://${bucket}/policies/${this.policyId}/active/${year}/${month}/${day}/${this.id}.json`;
138
+ return this;
139
+ }
140
+ addPopulation(options = {}) {
141
+ const pop = {
142
+ id: options.populationId || this.generateUuid(),
143
+ name: options.name || `Population ${this.populations.length + 1}`,
144
+ rule: options.rule || '{}',
145
+ };
146
+ this.populations.push(pop);
147
+ return this;
148
+ }
149
+ addPackage(options = {}) {
150
+ const pkg = {
151
+ id: options.packageId || this.generateUuid(),
152
+ name: options.name || `Package ${this.packages.length + 1}`,
153
+ population: options.population ||
154
+ (this.populations[0]?.id || this.generateUuid()),
155
+ benefits: options.benefits || [],
156
+ };
157
+ this.packages.push(pkg);
158
+ return this;
159
+ }
160
+ addBenefit(benefitType, options = {}) {
161
+ // Get requirement IDs from existing requirements or generate defaults
162
+ const employmentStandingReq = options.requirements?.employment_standing ||
163
+ this.requirements.find((r) => r.type === 'employment_standing')?.id ||
164
+ this.generateUuid();
165
+ const academicStandingReq = options.requirements?.academic_standing ||
166
+ this.requirements.find((r) => r.type === 'academic_standing')?.id ||
167
+ this.generateUuid();
168
+ const baseFields = {
169
+ id: options.benefitId || this.generateUuid(),
170
+ type: benefitType,
171
+ name: options.name || `${benefitType.replace(/_/g, ' ').replace(/\b\w/g, (l) => l.toUpperCase())} Benefit`,
172
+ tax_gross_up: options.taxGrossUp ?? false,
173
+ tax_section: (options.taxSection || 'not-applicable'),
174
+ requirements: {
175
+ employment_standing: employmentStandingReq,
176
+ academic_standing: academicStandingReq,
177
+ },
178
+ };
179
+ let benefit;
180
+ // Handle different benefit types with proper typing
181
+ if (benefitType === 'learning_benefit') {
182
+ // LearningBenefit requires specific fields
183
+ benefit = {
184
+ ...baseFields,
185
+ type: 'learning_benefit',
186
+ payment_modality: options.paymentModality || 'tuition_assistance',
187
+ legacy_funding_package_id: this.generateUuid(),
188
+ tuition: {
189
+ funding_type: options.fundingLimit !== undefined ? 'capped' : 'unlimited',
190
+ value: options.fundingLimit ?? null,
191
+ id: this.generateUuid(),
192
+ },
193
+ program_associated_expenses: {
194
+ funding_type: 'unlimited',
195
+ value: null,
196
+ id: this.generateUuid(),
197
+ },
198
+ institution_restriction: {
199
+ type: 'institution',
200
+ allow: [],
201
+ deny: [],
202
+ },
203
+ program_restriction: {
204
+ type: 'program',
205
+ allow: [],
206
+ deny: [],
207
+ },
208
+ };
209
+ }
210
+ else if (benefitType === 'student_loan_benefit') {
211
+ // StudentLoanBenefit requires student_loan_repayment and student_loan_optimization
212
+ benefit = {
213
+ ...baseFields,
214
+ type: 'student_loan_benefit',
215
+ student_loan_repayment: {
216
+ enabled: false,
217
+ funding_limit: {
218
+ id: this.generateUuid(),
219
+ funding_type: 'untrackedByPolicy',
220
+ value: null,
221
+ },
222
+ },
223
+ student_loan_optimization: {
224
+ enabled: true,
225
+ },
226
+ };
227
+ }
228
+ else if (benefitType === 'professional_expenses_benefit') {
229
+ // ProfessionalExpensesBenefit requires supported_expense_types
230
+ benefit = {
231
+ ...baseFields,
232
+ type: 'professional_expenses_benefit',
233
+ supported_expense_types: [],
234
+ };
235
+ }
236
+ else if (benefitType === 'career_accelerator_benefit') {
237
+ // CareerAcceleratorBenefit has no additional required fields
238
+ benefit = {
239
+ ...baseFields,
240
+ type: 'career_accelerator_benefit',
241
+ };
242
+ }
243
+ else {
244
+ // Generic benefit with optional funding_limit
245
+ benefit = {
246
+ ...baseFields,
247
+ ...(options.fundingLimit !== undefined && {
248
+ funding_limit: {
249
+ value: options.fundingLimit,
250
+ currency: 'USD',
251
+ id: this.generateUuid(),
252
+ funding_type: 'capped',
253
+ },
254
+ }),
255
+ };
256
+ }
257
+ // Add any extra options (but don't override required fields)
258
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
259
+ const { requirements: _requirements, ...restOptions } = options;
260
+ Object.assign(benefit, restOptions);
261
+ this.benefits.push(benefit);
262
+ return this;
263
+ }
264
+ addRequirement(requirementType, options = {}) {
265
+ const req = {
266
+ id: options.requirementId || this.generateUuid(),
267
+ type: requirementType,
268
+ rule: options.rule || '{}',
269
+ };
270
+ this.requirements.push(req);
271
+ return this;
272
+ }
273
+ addException(exception) {
274
+ this.exceptions.push(exception);
275
+ return this;
276
+ }
277
+ withProductType(productType) {
278
+ this.productType = productType;
279
+ return this;
280
+ }
281
+ withBenefitProvisions(provisions) {
282
+ this.benefitProvisions = provisions;
283
+ return this;
284
+ }
285
+ withTerminationProvisions(provisions) {
286
+ this.terminationProvisions = provisions;
287
+ return this;
288
+ }
289
+ withTaxProvisions(provisions) {
290
+ this.taxProvisions = provisions;
291
+ return this;
292
+ }
293
+ withJobPerformanceProvisions(provisions) {
294
+ this.jobPerformanceProvisions = provisions;
295
+ return this;
296
+ }
297
+ withEnrollmentProvisions(provisions) {
298
+ this.enrollmentProvisions = provisions;
299
+ return this;
300
+ }
301
+ withClawbackProvisions(provisions) {
302
+ this.clawbackProvisions = provisions;
303
+ return this;
304
+ }
305
+ withNonStandardAdministrationProvisions(provisions) {
306
+ this.nonStandardAdministrationProvisions = provisions;
307
+ return this;
308
+ }
309
+ withFinancialAidProvisions(provisions) {
310
+ this.financialAidProvisions = provisions;
311
+ return this;
312
+ }
313
+ /**
314
+ * Build and return the PolicyVersion object.
315
+ *
316
+ * Model-first: automatically pulls all fields from builder,
317
+ * returns PolicyVersion object suitable for mocking.
318
+ *
319
+ * @returns PolicyVersion object suitable for mocking
320
+ */
321
+ build() {
322
+ if (!this.policyVersionUri) {
323
+ this.withAutoUri();
324
+ }
325
+ // Build the policy version object
326
+ const policyVersion = {
327
+ // Required fields
328
+ id: this.id,
329
+ employer_id: this.employerId,
330
+ policy_id: this.policyId,
331
+ name: this.name,
332
+ effective_date: this.effectiveDate.toISOString(),
333
+ replaces_version_id: this.replacesVersionId,
334
+ policy_version_uri: this.policyVersionUri,
335
+ product_type: this.productType,
336
+ // Complex fields (lists)
337
+ populations: this.populations,
338
+ packages: this.packages,
339
+ benefits: this.benefits,
340
+ requirements: this.requirements,
341
+ exceptions: this.exceptions,
342
+ // Provision fields
343
+ benefit_provisions: this.benefitProvisions,
344
+ termination_provisions: this.terminationProvisions,
345
+ tax_provisions: this.taxProvisions,
346
+ job_performance_provisions: this.jobPerformanceProvisions,
347
+ enrollment_provisions: this.enrollmentProvisions,
348
+ clawback_provisions: this.clawbackProvisions,
349
+ non_standard_administration_provisions: this.nonStandardAdministrationProvisions,
350
+ financial_aid_provisions: this.financialAidProvisions,
351
+ // Schema version fields
352
+ schema_major: this.schemaMajor || '1',
353
+ ...(this.schemaVersion !== undefined && { schema_version: this.schemaVersion }),
354
+ };
355
+ return policyVersion;
356
+ }
357
+ generateUuid() {
358
+ // Use randomUUID from Node.js crypto module
359
+ // Available in Node.js 14.17+ (this project requires Node.js >=22.12.0)
360
+ return (0, crypto_1.randomUUID)();
361
+ }
362
+ }
363
+ exports.PolicyVersionBuilder = PolicyVersionBuilder;
364
+ //# sourceMappingURL=policy-version-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-version-builder.js","sourceRoot":"","sources":["../../src/builders/policy-version-builder.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,17 @@
1
1
  import type { PolicyVersion, PolicyOverrideDocument } from '../models';
2
+ /**
3
+ * Optional configuration for PolicyClient.
4
+ *
5
+ * All fields are optional. When not provided, resource names are resolved
6
+ * automatically from environment variables (`STAGE`, `SANDBOX_PREFIX`).
7
+ * Explicit values take highest priority over all automatic resolution.
8
+ */
9
+ export interface PolicyClientConfig {
10
+ /** Explicit S3 bucket name to use. Overrides STAGE and SANDBOX_PREFIX resolution. */
11
+ bucketName?: string;
12
+ /** Explicit SSM parameter name for the policy URI prefix. Overrides SANDBOX_PREFIX resolution. */
13
+ policyUriPrefixParameterName?: string;
14
+ }
2
15
  /**
3
16
  * Client for retrieving Policy documents from S3 storage.
4
17
  *
@@ -6,11 +19,18 @@ import type { PolicyVersion, PolicyOverrideDocument } from '../models';
6
19
  * from S3 storage. Automatically handles AWS credential management and S3
7
20
  * client configuration with TTL-based caching.
8
21
  *
22
+ * When the `SANDBOX_PREFIX` environment variable is set (as it is in BA Policy
23
+ * sandbox deployments), resource names are automatically namespaced to the
24
+ * sandbox, requiring no additional configuration.
25
+ *
9
26
  * @example
10
27
  * ```typescript
11
- * // Create a client instance
28
+ * // Create a client instance (zero-config, reads STAGE and optional SANDBOX_PREFIX)
12
29
  * const client = new PolicyClient();
13
30
  *
31
+ * // Create a client with explicit resource overrides
32
+ * const client = new PolicyClient({ bucketName: 'my-custom-bucket' });
33
+ *
14
34
  * // List all policies for an employer
15
35
  * const policyUris = await client.listPolicies('employer-uuid');
16
36
  *
@@ -31,7 +51,8 @@ export declare class PolicyClient {
31
51
  private policyUriPrefix;
32
52
  private policyUriPrefixExpiresAt;
33
53
  private region;
34
- constructor();
54
+ private config;
55
+ constructor(config?: PolicyClientConfig);
35
56
  /**
36
57
  * Get the AWS region
37
58
  */
@@ -173,7 +194,24 @@ export declare class PolicyClient {
173
194
  */
174
195
  private normalizeStage;
175
196
  /**
176
- * Get the S3 bucket name based on the STAGE environment variable
197
+ * Apply a sandbox prefix to a resource name, mirroring BA Policy's getResourceName() logic.
198
+ *
199
+ * - Replaces the leading "benefits-admin-policy" segment with the abbreviated service name
200
+ * to stay within AWS naming limits.
201
+ * - Re-prepends a leading "/" for SSM parameter names that require it.
202
+ *
203
+ * @param name - The canonical resource name (bucket name or SSM parameter path)
204
+ * @param sandboxPrefix - The sandbox owner prefix (e.g., the developer's username)
205
+ * @returns The sandbox-prefixed resource name
206
+ */
207
+ private applySandboxPrefix;
208
+ /**
209
+ * Get the S3 bucket name.
210
+ *
211
+ * Resolution priority (highest to lowest):
212
+ * 1. Explicit `bucketName` from constructor config
213
+ * 2. SANDBOX_PREFIX env var — transforms the STAGE-based name into a sandbox-scoped name
214
+ * 3. STAGE env var — constructs the standard environment bucket name
177
215
  */
178
216
  private getBucketName;
179
217
  /**
@@ -189,7 +227,12 @@ export declare class PolicyClient {
189
227
  */
190
228
  private getS3Client;
191
229
  /**
192
- * Get the policy URI prefix from SSM Parameter Store
230
+ * Get the policy URI prefix from SSM Parameter Store.
231
+ *
232
+ * The SSM parameter name is resolved using the same priority as getBucketName():
233
+ * 1. Explicit `policyUriPrefixParameterName` from constructor config
234
+ * 2. SANDBOX_PREFIX env var — transforms the canonical parameter name to a sandbox-scoped one
235
+ * 3. Default canonical parameter name
193
236
  */
194
237
  private getPolicyUriPrefix;
195
238
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"policy-client.d.ts","sourceRoot":"","sources":["../../src/clients/policy-client.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,wBAAwB,CAAa;IAC7C,OAAO,CAAC,MAAM,CAAS;;IAQvB;;OAEG;IACH,SAAS,IAAI,MAAM;IAQnB;;;;;OAKG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAUzD;;;;;;;;;;;;OAYG;IACG,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAiBhE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,4BAA4B,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,GAC1B,OAAO,CAAC,aAAa,CAAC;IA+CzB;;;;;;;;;;;;;;;OAeG;IACG,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAgB3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACG,yBAAyB,CAC7B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC;IAsBzB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,EAChC,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC;IAgEpB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,cAAc;IAsBtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAiBrB;;OAEG;YACW,kBAAkB;IAiChC;;OAEG;YACW,UAAU;IAsCxB;;OAEG;YACW,WAAW;IAkBzB;;OAEG;YACW,kBAAkB;IAgDhC;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAoCtB;;OAEG;IACH,OAAO,CAAC,UAAU;IAOlB;;OAEG;IACH,OAAO,CAAC,aAAa;IA6BrB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;OAEG;IACH,OAAO,CAAC,aAAa;IA6BrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAkClC;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,+BAA+B;IAgCvC;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;;MAGE;IACF,OAAO,CAAC,WAAW;CAYpB"}
1
+ {"version":3,"file":"policy-client.d.ts","sourceRoot":"","sources":["../../src/clients/policy-client.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kGAAkG;IAClG,4BAA4B,CAAC,EAAE,MAAM,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,wBAAwB,CAAa;IAC7C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAqB;gBAEvB,MAAM,GAAE,kBAAuB;IAO3C;;OAEG;IACH,SAAS,IAAI,MAAM;IAQnB;;;;;OAKG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAUzD;;;;;;;;;;;;OAYG;IACG,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAiBhE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,4BAA4B,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,GAC1B,OAAO,CAAC,aAAa,CAAC;IA+CzB;;;;;;;;;;;;;;;OAeG;IACG,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAgB3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACG,yBAAyB,CAC7B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC;IAsBzB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,EAChC,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC;IAgEpB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,cAAc;IAsBtB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IA4BrB;;OAEG;YACW,kBAAkB;IAiChC;;OAEG;YACW,UAAU;IAsCxB;;OAEG;YACW,WAAW;IAkBzB;;;;;;;OAOG;YACW,kBAAkB;IAuDhC;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAoCtB;;OAEG;IACH,OAAO,CAAC,UAAU;IAOlB;;OAEG;IACH,OAAO,CAAC,aAAa;IA6BrB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;OAEG;IACH,OAAO,CAAC,aAAa;IA6BrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAkClC;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,+BAA+B;IAgCvC;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;;MAGE;IACF,OAAO,CAAC,WAAW;CAYpB"}
@@ -13,11 +13,18 @@ const errors_1 = require("../errors");
13
13
  * from S3 storage. Automatically handles AWS credential management and S3
14
14
  * client configuration with TTL-based caching.
15
15
  *
16
+ * When the `SANDBOX_PREFIX` environment variable is set (as it is in BA Policy
17
+ * sandbox deployments), resource names are automatically namespaced to the
18
+ * sandbox, requiring no additional configuration.
19
+ *
16
20
  * @example
17
21
  * ```typescript
18
- * // Create a client instance
22
+ * // Create a client instance (zero-config, reads STAGE and optional SANDBOX_PREFIX)
19
23
  * const client = new PolicyClient();
20
24
  *
25
+ * // Create a client with explicit resource overrides
26
+ * const client = new PolicyClient({ bucketName: 'my-custom-bucket' });
27
+ *
21
28
  * // List all policies for an employer
22
29
  * const policyUris = await client.listPolicies('employer-uuid');
23
30
  *
@@ -32,14 +39,15 @@ const errors_1 = require("../errors");
32
39
  * ```
33
40
  */
34
41
  class PolicyClient {
35
- constructor() {
42
+ constructor(config = {}) {
36
43
  this.s3Adapter = null;
37
44
  this.s3AdapterExpiresAt = 0;
38
45
  this.bucketName = null;
39
46
  this.policyUriPrefix = null;
40
47
  this.policyUriPrefixExpiresAt = 0;
41
48
  this.region = constants_1.DEFAULT_REGION;
42
- // Validate STAGE environment variable early
49
+ this.config = config;
50
+ // Validate STAGE environment variable early (skipped when explicit bucket name is provided)
43
51
  this.getBucketName();
44
52
  }
45
53
  /**
@@ -313,18 +321,50 @@ class PolicyClient {
313
321
  return 'dev';
314
322
  }
315
323
  /**
316
- * Get the S3 bucket name based on the STAGE environment variable
324
+ * Apply a sandbox prefix to a resource name, mirroring BA Policy's getResourceName() logic.
325
+ *
326
+ * - Replaces the leading "benefits-admin-policy" segment with the abbreviated service name
327
+ * to stay within AWS naming limits.
328
+ * - Re-prepends a leading "/" for SSM parameter names that require it.
329
+ *
330
+ * @param name - The canonical resource name (bucket name or SSM parameter path)
331
+ * @param sandboxPrefix - The sandbox owner prefix (e.g., the developer's username)
332
+ * @returns The sandbox-prefixed resource name
333
+ */
334
+ applySandboxPrefix(name, sandboxPrefix) {
335
+ const serviceName = name.replace(/^benefits-admin-policy/, constants_1.SANDBOX_SERVICE_ABBREVIATION);
336
+ let result = `${sandboxPrefix}-${serviceName}`;
337
+ if (name.startsWith('/')) {
338
+ result = `/${result}`;
339
+ }
340
+ return result;
341
+ }
342
+ /**
343
+ * Get the S3 bucket name.
344
+ *
345
+ * Resolution priority (highest to lowest):
346
+ * 1. Explicit `bucketName` from constructor config
347
+ * 2. SANDBOX_PREFIX env var — transforms the STAGE-based name into a sandbox-scoped name
348
+ * 3. STAGE env var — constructs the standard environment bucket name
317
349
  */
318
350
  getBucketName() {
319
351
  if (this.bucketName) {
320
352
  return this.bucketName;
321
353
  }
354
+ if (this.config.bucketName) {
355
+ this.bucketName = this.config.bucketName;
356
+ return this.bucketName;
357
+ }
322
358
  const stage = process.env['STAGE'];
323
359
  if (!stage) {
324
360
  throw new errors_1.PolicySdkConfigurationError('STAGE env var must be set to determine S3 bucket');
325
361
  }
326
362
  const normalizedStage = this.normalizeStage(stage);
327
- this.bucketName = `${constants_1.POLICY_BUCKET_NAME_PREFIX}-${normalizedStage}`;
363
+ const baseBucketName = `${constants_1.POLICY_BUCKET_NAME_PREFIX}-${normalizedStage}`;
364
+ const sandboxPrefix = process.env['SANDBOX_PREFIX'];
365
+ this.bucketName = sandboxPrefix
366
+ ? this.applySandboxPrefix(baseBucketName, sandboxPrefix)
367
+ : baseBucketName;
328
368
  return this.bucketName;
329
369
  }
330
370
  /**
@@ -399,7 +439,12 @@ class PolicyClient {
399
439
  return this.s3Adapter;
400
440
  }
401
441
  /**
402
- * Get the policy URI prefix from SSM Parameter Store
442
+ * Get the policy URI prefix from SSM Parameter Store.
443
+ *
444
+ * The SSM parameter name is resolved using the same priority as getBucketName():
445
+ * 1. Explicit `policyUriPrefixParameterName` from constructor config
446
+ * 2. SANDBOX_PREFIX env var — transforms the canonical parameter name to a sandbox-scoped one
447
+ * 3. Default canonical parameter name
403
448
  */
404
449
  async getPolicyUriPrefix() {
405
450
  const now = Date.now();
@@ -408,16 +453,21 @@ class PolicyClient {
408
453
  if (this.policyUriPrefix && this.policyUriPrefixExpiresAt > now) {
409
454
  return this.policyUriPrefix;
410
455
  }
456
+ const sandboxPrefix = process.env['SANDBOX_PREFIX'];
457
+ const resolvedParameterName = sandboxPrefix
458
+ ? this.applySandboxPrefix(constants_1.POLICY_URI_PREFIX_PARAMETER_NAME, sandboxPrefix)
459
+ : constants_1.POLICY_URI_PREFIX_PARAMETER_NAME;
460
+ const parameterName = this.config.policyUriPrefixParameterName ?? resolvedParameterName;
411
461
  try {
412
462
  const ssmClient = new client_ssm_1.SSMClient({ region: this.region });
413
463
  const command = new client_ssm_1.GetParameterCommand({
414
- Name: constants_1.POLICY_URI_PREFIX_PARAMETER_NAME,
464
+ Name: parameterName,
415
465
  WithDecryption: false,
416
466
  });
417
467
  const response = await ssmClient.send(command);
418
468
  const value = response.Parameter?.Value;
419
469
  if (!value) {
420
- throw new errors_1.PolicySdkAwsError(`SSM parameter ${constants_1.POLICY_URI_PREFIX_PARAMETER_NAME} not found or has no value`);
470
+ throw new errors_1.PolicySdkAwsError(`SSM parameter ${parameterName} not found or has no value`);
421
471
  }
422
472
  this.policyUriPrefix = value;
423
473
  this.policyUriPrefixExpiresAt = now + TTL_MS;
@@ -425,7 +475,7 @@ class PolicyClient {
425
475
  }
426
476
  catch (error) {
427
477
  if (error instanceof Error && error.message.includes('AccessDenied')) {
428
- throw new errors_1.PolicySdkSsmParameterAccessError(constants_1.POLICY_URI_PREFIX_PARAMETER_NAME, undefined, error);
478
+ throw new errors_1.PolicySdkSsmParameterAccessError(parameterName, undefined, error);
429
479
  }
430
480
  throw new errors_1.PolicySdkAwsError(`Failed to get policy URI prefix from SSM: ${error instanceof Error ? error.message : 'Unknown error'}`, error instanceof Error ? error : undefined);
431
481
  }
@@ -1 +1 @@
1
- {"version":3,"file":"policy-client.js","sourceRoot":"","sources":["../../src/clients/policy-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy-client.js","sourceRoot":"","sources":["../../src/clients/policy-client.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,12 @@ export declare const BA_CONSUMER_ROLE_PARAMETER_NAME = "/benefits-admin/consumer
7
7
  export declare const POLICY_URI_PREFIX_PARAMETER_NAME = "/benefits-admin-policy/policy-uri-prefix";
8
8
  /** S3 bucket name prefix for policy versions */
9
9
  export declare const POLICY_BUCKET_NAME_PREFIX = "benefits-admin-policy-versions";
10
+ /**
11
+ * Abbreviated service name used when constructing sandbox-prefixed resource names.
12
+ * Mirrors the abbreviation applied by BA Policy's getResourceName() helper, which
13
+ * shortens "benefits-admin-policy" to "bap" to stay within AWS naming limits.
14
+ */
15
+ export declare const SANDBOX_SERVICE_ABBREVIATION = "bap";
10
16
  /** Default AWS region */
11
17
  export declare const DEFAULT_REGION = "us-west-2";
12
18
  /** S3 client TTL in milliseconds (55 minutes, 5 min before IAM session expires) */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,sDAAsD;AACtD,eAAO,MAAM,+BAA+B,sCACP,CAAC;AAEtC,6DAA6D;AAC7D,eAAO,MAAM,gCAAgC,6CACD,CAAC;AAE7C,gDAAgD;AAChD,eAAO,MAAM,yBAAyB,mCAAmC,CAAC;AAE1E,yBAAyB;AACzB,eAAO,MAAM,cAAc,cAAc,CAAC;AAE1C,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,QAAiB,CAAC;AAE/C,4CAA4C;AAC5C,eAAO,MAAM,iBAAiB,8BAA8B,CAAC;AAE7D,uCAAuC;AACvC,eAAO,MAAM,YAAY,OAAO,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,sDAAsD;AACtD,eAAO,MAAM,+BAA+B,sCACP,CAAC;AAEtC,6DAA6D;AAC7D,eAAO,MAAM,gCAAgC,6CACD,CAAC;AAE7C,gDAAgD;AAChD,eAAO,MAAM,yBAAyB,mCAAmC,CAAC;AAE1E;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,QAAQ,CAAC;AAElD,yBAAyB;AACzB,eAAO,MAAM,cAAc,cAAc,CAAC;AAE1C,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,QAAiB,CAAC;AAE/C,4CAA4C;AAC5C,eAAO,MAAM,iBAAiB,8BAA8B,CAAC;AAE7D,uCAAuC;AACvC,eAAO,MAAM,YAAY,OAAO,CAAC"}
package/dist/constants.js CHANGED
@@ -3,13 +3,19 @@
3
3
  * Constants used throughout the Benefits Admin Policy SDK
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.S3_PAGE_SIZE = exports.ROLE_SESSION_NAME = exports.S3_CLIENT_TTL_MS = exports.DEFAULT_REGION = exports.POLICY_BUCKET_NAME_PREFIX = exports.POLICY_URI_PREFIX_PARAMETER_NAME = exports.BA_CONSUMER_ROLE_PARAMETER_NAME = void 0;
6
+ exports.S3_PAGE_SIZE = exports.ROLE_SESSION_NAME = exports.S3_CLIENT_TTL_MS = exports.DEFAULT_REGION = exports.SANDBOX_SERVICE_ABBREVIATION = exports.POLICY_BUCKET_NAME_PREFIX = exports.POLICY_URI_PREFIX_PARAMETER_NAME = exports.BA_CONSUMER_ROLE_PARAMETER_NAME = void 0;
7
7
  /** SSM parameter name for the BA consumer role ARN */
8
8
  exports.BA_CONSUMER_ROLE_PARAMETER_NAME = '/benefits-admin/consumer-role-arn';
9
9
  /** SSM parameter name for the policy URI prefix (dataset) */
10
10
  exports.POLICY_URI_PREFIX_PARAMETER_NAME = '/benefits-admin-policy/policy-uri-prefix';
11
11
  /** S3 bucket name prefix for policy versions */
12
12
  exports.POLICY_BUCKET_NAME_PREFIX = 'benefits-admin-policy-versions';
13
+ /**
14
+ * Abbreviated service name used when constructing sandbox-prefixed resource names.
15
+ * Mirrors the abbreviation applied by BA Policy's getResourceName() helper, which
16
+ * shortens "benefits-admin-policy" to "bap" to stay within AWS naming limits.
17
+ */
18
+ exports.SANDBOX_SERVICE_ABBREVIATION = 'bap';
13
19
  /** Default AWS region */
14
20
  exports.DEFAULT_REGION = 'us-west-2';
15
21
  /** S3 client TTL in milliseconds (55 minutes, 5 min before IAM session expires) */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,sDAAsD;AACzC,QAAA,+BAA+B,GAC1C,mCAAmC,CAAC;AAEtC,6DAA6D;AAChD,QAAA,gCAAgC,GAC3C,0CAA0C,CAAC;AAE7C,gDAAgD;AACnC,QAAA,yBAAyB,GAAG,gCAAgC,CAAC;AAE1E,yBAAyB;AACZ,QAAA,cAAc,GAAG,WAAW,CAAC;AAE1C,mFAAmF;AACtE,QAAA,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE/C,4CAA4C;AAC/B,QAAA,iBAAiB,GAAG,2BAA2B,CAAC;AAE7D,uCAAuC;AAC1B,QAAA,YAAY,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,sDAAsD;AACzC,QAAA,+BAA+B,GAC1C,mCAAmC,CAAC;AAEtC,6DAA6D;AAChD,QAAA,gCAAgC,GAC3C,0CAA0C,CAAC;AAE7C,gDAAgD;AACnC,QAAA,yBAAyB,GAAG,gCAAgC,CAAC;AAE1E;;;;GAIG;AACU,QAAA,4BAA4B,GAAG,KAAK,CAAC;AAElD,yBAAyB;AACZ,QAAA,cAAc,GAAG,WAAW,CAAC;AAE1C,mFAAmF;AACtE,QAAA,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE/C,4CAA4C;AAC/B,QAAA,iBAAiB,GAAG,2BAA2B,CAAC;AAE7D,uCAAuC;AAC1B,QAAA,YAAY,GAAG,IAAI,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  export { PolicyClient } from './clients/policy-client';
2
+ export type { PolicyClientConfig } from './clients/policy-client';
2
3
  export type * from './models';
3
4
  export { PolicySdkError, PolicyVersionNotFoundError, PolicyVersionDeserializationError, PolicySdkAwsError, PolicySdkConfigurationError, PolicySdkSsmParameterAccessError, } from './errors';
4
5
  export { S3Adapter } from './adapters/s3-adapter';
5
6
  export type { S3Credentials } from './adapters/s3-adapter';
6
7
  export { policySchema, policyVersionSchema } from './schemas';
8
+ export { PolicyVersionBuilder } from './builders';
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,mBAAmB,UAAU,CAAC;AAG9B,OAAO,EACL,cAAc,EACd,0BAA0B,EAC1B,iCAAiC,EACjC,iBAAiB,EACjB,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,mBAAmB,UAAU,CAAC;AAG9B,OAAO,EACL,cAAc,EACd,0BAA0B,EAC1B,iCAAiC,EACjC,iBAAiB,EACjB,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.policyVersionSchema = exports.policySchema = exports.S3Adapter = exports.PolicySdkSsmParameterAccessError = exports.PolicySdkConfigurationError = exports.PolicySdkAwsError = exports.PolicyVersionDeserializationError = exports.PolicyVersionNotFoundError = exports.PolicySdkError = exports.PolicyClient = void 0;
3
+ exports.PolicyVersionBuilder = exports.policyVersionSchema = exports.policySchema = exports.S3Adapter = exports.PolicySdkSsmParameterAccessError = exports.PolicySdkConfigurationError = exports.PolicySdkAwsError = exports.PolicyVersionDeserializationError = exports.PolicyVersionNotFoundError = exports.PolicySdkError = exports.PolicyClient = void 0;
4
4
  // Policy Client export
5
5
  var policy_client_1 = require("./clients/policy-client");
6
6
  Object.defineProperty(exports, "PolicyClient", { enumerable: true, get: function () { return policy_client_1.PolicyClient; } });
@@ -19,4 +19,7 @@ Object.defineProperty(exports, "S3Adapter", { enumerable: true, get: function ()
19
19
  var schemas_1 = require("./schemas");
20
20
  Object.defineProperty(exports, "policySchema", { enumerable: true, get: function () { return schemas_1.policySchema; } });
21
21
  Object.defineProperty(exports, "policyVersionSchema", { enumerable: true, get: function () { return schemas_1.policyVersionSchema; } });
22
+ // Builder exports
23
+ var builders_1 = require("./builders");
24
+ Object.defineProperty(exports, "PolicyVersionBuilder", { enumerable: true, get: function () { return builders_1.PolicyVersionBuilder; } });
22
25
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uBAAuB;AACvB,yDAAuD;AAA9C,6GAAA,YAAY,OAAA;AAKrB,gBAAgB;AAChB,mCAOkB;AANhB,wGAAA,cAAc,OAAA;AACd,oHAAA,0BAA0B,OAAA;AAC1B,2HAAA,iCAAiC,OAAA;AACjC,2GAAA,iBAAiB,OAAA;AACjB,qHAAA,2BAA2B,OAAA;AAC3B,0HAAA,gCAAgC,OAAA;AAGlC,uCAAuC;AACvC,oDAAkD;AAAzC,uGAAA,SAAS,OAAA;AAGlB,+CAA+C;AAC/C,qCAA8D;AAArD,uGAAA,YAAY,OAAA;AAAE,8GAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uBAAuB;AACvB,yDAAuD;AAA9C,6GAAA,YAAY,OAAA;AAMrB,gBAAgB;AAChB,mCAOkB;AANhB,wGAAA,cAAc,OAAA;AACd,oHAAA,0BAA0B,OAAA;AAC1B,2HAAA,iCAAiC,OAAA;AACjC,2GAAA,iBAAiB,OAAA;AACjB,qHAAA,2BAA2B,OAAA;AAC3B,0HAAA,gCAAgC,OAAA;AAGlC,uCAAuC;AACvC,oDAAkD;AAAzC,uGAAA,SAAS,OAAA;AAGlB,+CAA+C;AAC/C,qCAA8D;AAArD,uGAAA,YAAY,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAC1C,kBAAkB;AAClB,uCAAkD;AAAzC,gHAAA,oBAAoB,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guildeducationinc/benefits-admin-policy-sdk",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "TypeScript SDK for Benefits Admin Policy service",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",