@opendoor/partner-sdk-server-js-core 1.1.5 → 1.1.6-beta.82.1

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.
@@ -5,6 +5,12 @@
5
5
  * Keys not in this map are treated as experimental question data
6
6
  * and sent via the `experimental` field.
7
7
  */
8
+ /**
9
+ * API returns abbreviated pool type values ('none', 'community') that differ
10
+ * from the enum keys the questionnaire and GraphQL API expect.
11
+ * Used in both the outbound transform and the inbound prefill path.
12
+ */
13
+ export declare const POOL_TYPE_NORMALIZE: Record<string, string>;
8
14
  /**
9
15
  * Transform dot-notation answers from QualificationQuestions into
10
16
  * the GraphQL OfferInput shape: camelCase fields + experimental array.
@@ -1 +1 @@
1
- {"version":3,"file":"answerKeyMapping.d.ts","sourceRoot":"","sources":["../src/answerKeyMapping.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgGH;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2HzB"}
1
+ {"version":3,"file":"answerKeyMapping.d.ts","sourceRoot":"","sources":["../src/answerKeyMapping.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgGH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGtD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqHzB"}
@@ -84,6 +84,15 @@ const NUMERIC_KEYS = new Set([
84
84
  'home.basement_finished_sq_ft',
85
85
  'home.basement_unfinished_sq_ft',
86
86
  ]);
87
+ /**
88
+ * API returns abbreviated pool type values ('none', 'community') that differ
89
+ * from the enum keys the questionnaire and GraphQL API expect.
90
+ * Used in both the outbound transform and the inbound prefill path.
91
+ */
92
+ export const POOL_TYPE_NORMALIZE = {
93
+ none: 'no_pool',
94
+ community: 'community_pool',
95
+ };
87
96
  /**
88
97
  * Transform dot-notation answers from QualificationQuestions into
89
98
  * the GraphQL OfferInput shape: camelCase fields + experimental array.
@@ -96,11 +105,6 @@ const NUMERIC_KEYS = new Set([
96
105
  export function transformAnswersToOfferInput(answers) {
97
106
  const offerInput = {};
98
107
  const experimental = [];
99
- // Normalize values that differ between prefill data (MLS) and BFF expectations.
100
- const POOL_TYPE_NORMALIZE = {
101
- none: 'no_pool',
102
- community: 'community_pool',
103
- };
104
108
  for (const [key, rawValue] of Object.entries(answers)) {
105
109
  if (rawValue === undefined || SKIP_KEYS.has(key))
106
110
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EACV,0BAA0B,EAC1B,OAAO,EACP,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AA8FpB,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,YAAY,CAAC;AAE3D;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA6ED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAE7B,MAAM,EAAE,oBAAoB;IAoBxC;;;;;;;OAOG;IACG,qBAAqB,CACzB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,0BAA0B,CAAC;IAiDtC;;;OAGG;YACW,iBAAiB;IA4B/B;;OAEG;YACW,eAAe;IAqC7B;;;;;OAKG;IACG,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAoBzE;;;;;;;OAOG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,mBAAmB,CAAC;IAoC/B;;;;;;OAMG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAc1D;;;;OAIG;IACG,6BAA6B,CACjC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,2BAA2B,CAAC;IAkBvC;;;;;;OAMG;IACG,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAwB3E;;;;;;;;OAQG;IACG,iBAAiB,CACrB,OAAO,EAAE,OAAO,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,yBAAyB,CAAC;IA6BrC;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAsEzD;;;;;OAKG;IACG,kBAAkB,CACtB,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,0BAA0B,CAAC;IAuDtC;;;;;;OAMG;IACG,aAAa,CACjB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,qBAAqB,CAAC;YA2BnB,OAAO;YAoDP,gBAAgB;IAgC9B,OAAO,CAAC,GAAG;CAKZ"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EACV,0BAA0B,EAC1B,OAAO,EACP,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAiGpB,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,YAAY,CAAC;AAE3D;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA6ED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAE7B,MAAM,EAAE,oBAAoB;IAoBxC;;;;;;;OAOG;IACG,qBAAqB,CACzB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,0BAA0B,CAAC;IAiDtC;;;OAGG;YACW,iBAAiB;IA4B/B;;OAEG;YACW,eAAe;IAqC7B;;;;;OAKG;IACG,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAoBzE;;;;;;;OAOG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,mBAAmB,CAAC;IAoC/B;;;;;;OAMG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAc1D;;;;OAIG;IACG,6BAA6B,CACjC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,2BAA2B,CAAC;IAkBvC;;;;;;OAMG;IACG,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAwB3E;;;;;;;;OAQG;IACG,iBAAiB,CACrB,OAAO,EAAE,OAAO,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,yBAAyB,CAAC;IA6BrC;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAsEzD;;;;;OAKG;IACG,kBAAkB,CACtB,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,0BAA0B,CAAC;IAuDtC;;;;;;OAMG;IACG,aAAa,CACjB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,qBAAqB,CAAC;YA8BnB,OAAO;YAoDP,gBAAgB;IAgC9B,OAAO,CAAC,GAAG;CAKZ"}
package/dist/client.js CHANGED
@@ -25,7 +25,7 @@ import { OpendoorAPIError } from './errors.js';
25
25
  import { ValidationError } from './errors.js';
26
26
  import { validateCreateOfferRequest, validateUpdateOfferRequest, } from './validators.js';
27
27
  import { OFFER_REQUEST_CREATE, OFFER_REQUEST_UPDATE, } from './graphql/mutations.js';
28
- import { transformAnswersToOfferInput } from './answerKeyMapping.js';
28
+ import { transformAnswersToOfferInput, POOL_TYPE_NORMALIZE, } from './answerKeyMapping.js';
29
29
  import { OFFER_REQUEST_QUERY, OFFER_REQUEST_WITH_SELL_DIRECT_PRICING, ADDRESS_UNIT_CHECK, SELLER_INPUT_PREFILLS_QUERY, LIST_PARTNERS_QUERY, ADDRESS_DETAILS_QUERY, } from './graphql/queries.js';
30
30
  // ============================================================================
31
31
  // Valid GraphQL OfferInput fields (from schema-public.graphql)
@@ -462,9 +462,12 @@ export class OpendoorClient {
462
462
  if (!data.sellerInputPrefills) {
463
463
  throw new OpendoorAPIError('Home detail not found', 'NOT_FOUND', 404);
464
464
  }
465
- return {
466
- answerPrefills: data.sellerInputPrefills.answerPrefills ?? {},
467
- };
465
+ const raw = data.sellerInputPrefills.answerPrefills ?? {};
466
+ const poolType = raw['home.pool_type'];
467
+ if (typeof poolType === 'string' && poolType in POOL_TYPE_NORMALIZE) {
468
+ raw['home.pool_type'] = POOL_TYPE_NORMALIZE[poolType];
469
+ }
470
+ return { answerPrefills: raw };
468
471
  }
469
472
  // --------------------------------------------------------------------------
470
473
  // Internal: GraphQL transport
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendoor/partner-sdk-server-js-core",
3
- "version": "1.1.5",
3
+ "version": "1.1.6-beta.82.1",
4
4
  "description": "Server-side SDK for Opendoor partner integrations",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",