@ttctl/core 0.1.0-rc.3 → 0.1.0-rc.4
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/__tests__/fixtures/profile/builders.d.ts.map +1 -1
- package/dist/__tests__/fixtures/profile/builders.js +2 -0
- package/dist/__tests__/fixtures/profile/builders.js.map +1 -1
- package/dist/__tests__/fixtures/profile/data.d.ts.map +1 -1
- package/dist/__tests__/fixtures/profile/data.js +4 -0
- package/dist/__tests__/fixtures/profile/data.js.map +1 -1
- package/dist/services/profile/basic/index.d.ts +113 -27
- package/dist/services/profile/basic/index.d.ts.map +1 -1
- package/dist/services/profile/basic/index.js +176 -66
- package/dist/services/profile/basic/index.js.map +1 -1
- package/dist/services/profile/employment/index.d.ts +175 -3
- package/dist/services/profile/employment/index.d.ts.map +1 -1
- package/dist/services/profile/employment/index.js +265 -14
- package/dist/services/profile/employment/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -302,16 +302,26 @@ export async function show(token) {
|
|
|
302
302
|
return body.data;
|
|
303
303
|
}
|
|
304
304
|
/**
|
|
305
|
-
* Full-document `GET_BASIC_INFO` query string.
|
|
306
|
-
*
|
|
305
|
+
* Full-document `GET_BASIC_INFO` query string. Subset of the canonical
|
|
306
|
+
* bundle-extracted operation
|
|
307
307
|
* (`research/graphql/talent_profile/operations/GET_BASIC_INFO.graphql`):
|
|
308
|
-
* we ask
|
|
309
|
-
*
|
|
310
|
-
*
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
*
|
|
314
|
-
* payloads
|
|
308
|
+
* we ask for the fields surfaced by {@link BasicInfo} — narrative
|
|
309
|
+
* (`about`, `quote`), identity (`fullName`, `legalName`, `phoneNumber`),
|
|
310
|
+
* location (`city`, `placeIdentity`, `country.id`, `citizenship.id`),
|
|
311
|
+
* collections (`languages.nodes`, `softwareSkills.nodes`) — and skip
|
|
312
|
+
* the `ProfileRecommendations` fragment, social URLs (owned by the
|
|
313
|
+
* `external` sub-domain), `timeZone`, `skype`, and the top-level
|
|
314
|
+
* `countries` / `languages` catalog payloads that the canonical
|
|
315
|
+
* operation also fetches (autocomplete-tier, not needed for read or
|
|
316
|
+
* merge-on-write).
|
|
317
|
+
*
|
|
318
|
+
* **Scope rationale (#393)**: this selection set covers the full set of
|
|
319
|
+
* server-required non-null fields on `UpdateBasicInfoInput` (per the
|
|
320
|
+
* issue's wire-error trace — `fullName`, `legalName`, `countryId`,
|
|
321
|
+
* `city`, `placeIdentity`, `citizenshipId`, `languageIds`,
|
|
322
|
+
* `phoneNumber`, `softwareSkills`). Adding any of these to the query
|
|
323
|
+
* later would be an additive wire change — the snapshot diff catches
|
|
324
|
+
* accidental regressions.
|
|
315
325
|
*
|
|
316
326
|
* Operation name `GET_BASIC_INFO` (SCREAMING_CASE) matches the bundle-
|
|
317
327
|
* extracted document so the server's literal `operationName` allowlist
|
|
@@ -322,18 +332,39 @@ const GET_BASIC_INFO_QUERY = `query GET_BASIC_INFO($profileId: ID!) {
|
|
|
322
332
|
id
|
|
323
333
|
about
|
|
324
334
|
quote
|
|
335
|
+
fullName
|
|
336
|
+
legalName
|
|
337
|
+
city
|
|
338
|
+
placeIdentity
|
|
339
|
+
phoneNumber
|
|
340
|
+
country {
|
|
341
|
+
id
|
|
342
|
+
}
|
|
343
|
+
citizenship {
|
|
344
|
+
id
|
|
345
|
+
}
|
|
325
346
|
languages {
|
|
326
347
|
nodes {
|
|
327
348
|
id
|
|
328
349
|
name
|
|
329
350
|
}
|
|
330
351
|
}
|
|
352
|
+
softwareSkills {
|
|
353
|
+
nodes {
|
|
354
|
+
id
|
|
355
|
+
name
|
|
356
|
+
}
|
|
357
|
+
}
|
|
331
358
|
}
|
|
332
359
|
}`;
|
|
333
360
|
/**
|
|
334
|
-
* Fetch the
|
|
335
|
-
* complement {@link show} —
|
|
336
|
-
* `
|
|
361
|
+
* Fetch the {@link BasicInfo} projection of the `talent_profile`-only
|
|
362
|
+
* profile fields that complement {@link show} — narrative scalars
|
|
363
|
+
* (`bio`, `headline`), identity (`fullName`, `legalName`, `phoneNumber`),
|
|
364
|
+
* location (`city`, `placeIdentity`, `countryId`, `citizenshipId`), and
|
|
365
|
+
* collections (`languages`, `softwareSkills`). The full field roster
|
|
366
|
+
* is required by `set()`'s read-merge path (#393); see
|
|
367
|
+
* {@link BasicInfo} for per-field semantics.
|
|
337
368
|
*
|
|
338
369
|
* Routed against `https://www.toptal.com/api/talent_profile/graphql` via
|
|
339
370
|
* {@link impersonatedTransport} (Cloudflare-protected; Chrome TLS
|
|
@@ -341,8 +372,9 @@ const GET_BASIC_INFO_QUERY = `query GET_BASIC_INFO($profileId: ID!) {
|
|
|
341
372
|
* the `profileId` required by the `profile(id: ID!)` field — same
|
|
342
373
|
* pattern as {@link photoShow}.
|
|
343
374
|
*
|
|
344
|
-
* Returns a typed {@link BasicInfo} projection — `null` for
|
|
345
|
-
* user hasn't set,
|
|
375
|
+
* Returns a typed {@link BasicInfo} projection — `null` for scalars the
|
|
376
|
+
* user hasn't set, empty arrays for `languages` and `softwareSkills`
|
|
377
|
+
* when none.
|
|
346
378
|
*
|
|
347
379
|
* Errors:
|
|
348
380
|
* - `Cf403Error` propagates from the talent-profile transport.
|
|
@@ -397,23 +429,42 @@ export async function getBasicInfo(token) {
|
|
|
397
429
|
throw new ProfileError("USER_ERROR", `No profile found with id "${profileId}".`);
|
|
398
430
|
}
|
|
399
431
|
const p = body.data.profile;
|
|
400
|
-
const
|
|
401
|
-
const
|
|
402
|
-
|
|
432
|
+
const languages = collectIdNameNodes(p.languages?.nodes);
|
|
433
|
+
const softwareSkills = collectIdNameNodes(p.softwareSkills?.nodes);
|
|
434
|
+
return {
|
|
435
|
+
profileId: typeof p.id === "string" && p.id.length > 0 ? p.id : profileId,
|
|
436
|
+
bio: typeof p.about === "string" ? p.about : null,
|
|
437
|
+
headline: typeof p.quote === "string" ? p.quote : null,
|
|
438
|
+
languages,
|
|
439
|
+
fullName: typeof p.fullName === "string" ? p.fullName : null,
|
|
440
|
+
legalName: typeof p.legalName === "string" ? p.legalName : null,
|
|
441
|
+
city: typeof p.city === "string" ? p.city : null,
|
|
442
|
+
placeIdentity: typeof p.placeIdentity === "string" ? p.placeIdentity : null,
|
|
443
|
+
countryId: typeof p.country?.id === "string" && p.country.id.length > 0 ? p.country.id : null,
|
|
444
|
+
citizenshipId: typeof p.citizenship?.id === "string" && p.citizenship.id.length > 0 ? p.citizenship.id : null,
|
|
445
|
+
phoneNumber: typeof p.phoneNumber === "string" ? p.phoneNumber : null,
|
|
446
|
+
softwareSkills,
|
|
447
|
+
};
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Normalise a `{nodes: [{id, name}, ...]}` connection — used identically
|
|
451
|
+
* for `languages` and `softwareSkills`. Drops null entries, entries with
|
|
452
|
+
* empty string ids, and entries where `name` is not a string. The
|
|
453
|
+
* filtered output guarantees both fields are non-empty strings, matching
|
|
454
|
+
* the {@link ProfileLanguage} / {@link ProfileSoftwareSkill} contract.
|
|
455
|
+
*/
|
|
456
|
+
function collectIdNameNodes(rawNodes) {
|
|
457
|
+
const out = [];
|
|
458
|
+
for (const node of rawNodes ?? []) {
|
|
403
459
|
if (node === null || typeof node !== "object")
|
|
404
460
|
continue;
|
|
405
461
|
if (typeof node.id !== "string" || node.id.length === 0)
|
|
406
462
|
continue;
|
|
407
463
|
if (typeof node.name !== "string")
|
|
408
464
|
continue;
|
|
409
|
-
|
|
465
|
+
out.push({ id: node.id, name: node.name });
|
|
410
466
|
}
|
|
411
|
-
return
|
|
412
|
-
profileId: typeof p.id === "string" && p.id.length > 0 ? p.id : profileId,
|
|
413
|
-
bio: typeof p.about === "string" ? p.about : null,
|
|
414
|
-
headline: typeof p.quote === "string" ? p.quote : null,
|
|
415
|
-
languages,
|
|
416
|
-
};
|
|
467
|
+
return out;
|
|
417
468
|
}
|
|
418
469
|
/**
|
|
419
470
|
* Full-document `UPDATE_BASIC_INFO` mutation string.
|
|
@@ -461,6 +512,28 @@ const UPDATE_BASIC_INFO_MUTATION = `mutation UPDATE_BASIC_INFO($input: UpdateBas
|
|
|
461
512
|
* recognize the placeholder when surfacing the preview.
|
|
462
513
|
*/
|
|
463
514
|
export const DRY_RUN_PROFILE_ID_PLACEHOLDER = "<resolved at send-time from session token>";
|
|
515
|
+
/**
|
|
516
|
+
* Placeholder string substituted for the basic-info scalar fields that
|
|
517
|
+
* the apply-path merges from the current profile state via
|
|
518
|
+
* {@link getBasicInfo}. The dry-run preview keeps the full input shape
|
|
519
|
+
* (so consumers see exactly which fields the live mutation will send)
|
|
520
|
+
* but uses these placeholders for values that would normally be read
|
|
521
|
+
* server-side. The placeholder is intentionally distinct from
|
|
522
|
+
* {@link DRY_RUN_PROFILE_ID_PLACEHOLDER} so the two preview surfaces
|
|
523
|
+
* remain separately recognisable.
|
|
524
|
+
*
|
|
525
|
+
* Applies to: `fullName`, `legalName`, `city`, `placeIdentity`,
|
|
526
|
+
* `countryId`, `citizenshipId`, `phoneNumber`, `about`, `quote` —
|
|
527
|
+
* any scalar field that the merge path reads from current state when
|
|
528
|
+
* the user didn't supply it. (Fields the user DID supply are echoed
|
|
529
|
+
* verbatim into the preview, same as the apply path.)
|
|
530
|
+
*
|
|
531
|
+
* `languageIds` and `softwareSkills` use a dedicated empty-array
|
|
532
|
+
* placeholder (`[]`) — the absence of an array is more readable than a
|
|
533
|
+
* placeholder array, and consumers branching on the dry-run shape can
|
|
534
|
+
* inspect `Array.isArray(...)` without special-case logic.
|
|
535
|
+
*/
|
|
536
|
+
export const DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER = "<preserved from current profile state>";
|
|
464
537
|
/**
|
|
465
538
|
* Update a subset of the signed-in user's basic-info fields (currently
|
|
466
539
|
* `bio` → `about` and `headline` → `quote`) via the Cloudflare-protected
|
|
@@ -468,39 +541,56 @@ export const DRY_RUN_PROFILE_ID_PLACEHOLDER = "<resolved at send-time from sessi
|
|
|
468
541
|
*
|
|
469
542
|
* Authenticates via `Authorization: Token token=<token>` (the canonical
|
|
470
543
|
* Toptal auth mechanism). Cookies are NOT load-bearing — Chrome TLS
|
|
471
|
-
* impersonation alone passes Cloudflare.
|
|
472
|
-
*
|
|
473
|
-
*
|
|
474
|
-
*
|
|
475
|
-
*
|
|
544
|
+
* impersonation alone passes Cloudflare.
|
|
545
|
+
*
|
|
546
|
+
* **Read-merge protocol (#393)**: the server treats `UpdateBasicInfoInput!`
|
|
547
|
+
* as a **full-replacement contract** — required non-null fields omitted
|
|
548
|
+
* from the input fail with "Expected value to not be null", regardless
|
|
549
|
+
* of their value in the current profile state. To support a partial
|
|
550
|
+
* "I only want to change bio + headline" use case without losing
|
|
551
|
+
* any of the other required fields, the apply path:
|
|
552
|
+
*
|
|
553
|
+
* 1. Calls {@link getBasicInfo} to read the current full state (this
|
|
554
|
+
* transitively calls `show()` for `profileId`).
|
|
555
|
+
* 2. Merges user-supplied fields (`bio` → `about`, `headline` → `quote`)
|
|
556
|
+
* over the read snapshot.
|
|
557
|
+
* 3. Submits the full {@link UpdateBasicInfoInput} with every required
|
|
558
|
+
* field populated.
|
|
476
559
|
*
|
|
477
|
-
*
|
|
478
|
-
*
|
|
479
|
-
*
|
|
480
|
-
*
|
|
481
|
-
* (
|
|
482
|
-
*
|
|
483
|
-
*
|
|
484
|
-
*
|
|
485
|
-
*
|
|
560
|
+
* The extra read round-trip is acceptable for an update-the-profile
|
|
561
|
+
* use case (profile updates are infrequent; the read is plain HTTPS
|
|
562
|
+
* against the talent-profile surface).
|
|
563
|
+
*
|
|
564
|
+
* Dry-run path (issue #52, extended for #393): when invoked with
|
|
565
|
+
* `options.dryRun === true`, the preview is built WITHOUT firing any
|
|
566
|
+
* transport (zero network I/O — preserved from the #52 AC). Fields that
|
|
567
|
+
* the apply-path would have read from current state use
|
|
568
|
+
* {@link DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER}; user-supplied fields
|
|
569
|
+
* are echoed verbatim. Result: the preview's `variables.input.profile`
|
|
570
|
+
* carries the exact key set the live mutation will send, with values
|
|
571
|
+
* differentiated by `<preserved from current profile state>` (read-merged)
|
|
572
|
+
* vs the user's literals (overridden). The bearer token is redacted in
|
|
573
|
+
* the preview's `headers.authorization` per the security contract
|
|
574
|
+
* documented on {@link DryRunPreview}.
|
|
486
575
|
*
|
|
487
576
|
* Errors:
|
|
488
577
|
* - `ProfileError` with code `VALIDATION_ERROR` when neither `bio` nor
|
|
489
578
|
* `headline` is supplied — the contract requires at least one. Fires
|
|
490
579
|
* in BOTH the apply-path and the dry-run path.
|
|
491
580
|
* - `Cf403Error` propagates from the talent-profile transport when
|
|
492
|
-
* Cloudflare returns 403. Apply-path only
|
|
581
|
+
* Cloudflare returns 403. Apply-path only (dry-run never touches the
|
|
582
|
+
* network).
|
|
493
583
|
* - `AuthRevokedError` on token expiry (HTTP 401, or any GraphQL
|
|
494
584
|
* `extensions.code` matching `isAuthRevokedExtensionCode` — currently
|
|
495
585
|
* `'UNAUTHENTICATED'`, `'AUTHENTICATION_REQUIRED'`, or `'UNAUTHORIZED'`).
|
|
496
|
-
* Apply-path only.
|
|
586
|
+
* Apply-path only — fires on EITHER the read-merge call or the write.
|
|
497
587
|
* - `ProfileError` with code `NO_VIEWER` when no viewer is bound.
|
|
498
|
-
* Apply-path only —
|
|
588
|
+
* Apply-path only — fires on the read-merge call.
|
|
499
589
|
* - `ProfileError` with code `USER_ERROR` when the mutation returns a
|
|
500
590
|
* non-empty `errors` array (validation failures from the server, e.g., a
|
|
501
591
|
* bio that exceeds the platform's length limit). Apply-path only.
|
|
502
|
-
* - `ProfileError` with code `GRAPHQL_ERROR` on top-level GraphQL errors
|
|
503
|
-
* Apply-path only.
|
|
592
|
+
* - `ProfileError` with code `GRAPHQL_ERROR` on top-level GraphQL errors
|
|
593
|
+
* from EITHER the read or write call. Apply-path only.
|
|
504
594
|
* - `ProfileError` with code `NETWORK_ERROR` on transport-level throws.
|
|
505
595
|
* Apply-path only.
|
|
506
596
|
*/
|
|
@@ -508,21 +598,26 @@ export async function set(token, changes, options = {}) {
|
|
|
508
598
|
if (changes.bio === undefined && changes.headline === undefined) {
|
|
509
599
|
throw new ProfileError("VALIDATION_ERROR", "Profile update requires at least one of `bio` or `headline`.");
|
|
510
600
|
}
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
profileFields.quote = changes.headline;
|
|
516
|
-
// Dry-run short-circuit: build the WRITE request shape with a
|
|
517
|
-
// placeholder `profileId` and return a preview without any transport
|
|
518
|
-
// call. Apply-path resolves `profileId` via `show()` (a mobile-gateway
|
|
519
|
-
// read), but dry-run skips that step so neither transport is invoked
|
|
520
|
-
// — the AC for issue #52 reads "transport never called" in the
|
|
521
|
-
// singular and the helper honors it for both directions.
|
|
601
|
+
// Dry-run short-circuit: build the WRITE request shape with placeholders
|
|
602
|
+
// for fields that the apply-path would read from current state. Zero
|
|
603
|
+
// transport calls (read OR write) — the #52 AC reads "transport never
|
|
604
|
+
// called" in the singular and we honor it for both directions.
|
|
522
605
|
if (options.dryRun === true) {
|
|
523
606
|
const previewInput = {
|
|
524
607
|
profileId: DRY_RUN_PROFILE_ID_PLACEHOLDER,
|
|
525
|
-
profile:
|
|
608
|
+
profile: {
|
|
609
|
+
about: changes.bio !== undefined ? changes.bio : DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER,
|
|
610
|
+
quote: changes.headline !== undefined ? changes.headline : DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER,
|
|
611
|
+
fullName: DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER,
|
|
612
|
+
legalName: DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER,
|
|
613
|
+
city: DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER,
|
|
614
|
+
placeIdentity: DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER,
|
|
615
|
+
countryId: DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER,
|
|
616
|
+
citizenshipId: DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER,
|
|
617
|
+
phoneNumber: DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER,
|
|
618
|
+
languageIds: [],
|
|
619
|
+
softwareSkills: [],
|
|
620
|
+
},
|
|
526
621
|
};
|
|
527
622
|
return {
|
|
528
623
|
kind: "preview",
|
|
@@ -537,16 +632,29 @@ export async function set(token, changes, options = {}) {
|
|
|
537
632
|
}),
|
|
538
633
|
};
|
|
539
634
|
}
|
|
540
|
-
//
|
|
541
|
-
//
|
|
542
|
-
//
|
|
543
|
-
//
|
|
544
|
-
//
|
|
545
|
-
|
|
546
|
-
const
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
635
|
+
// Read-merge: fetch the current full basic-info state so the mutation
|
|
636
|
+
// input carries every server-required non-null field (#393). Errors
|
|
637
|
+
// from getBasicInfo (ProfileError / AuthRevokedError / Cf403Error)
|
|
638
|
+
// propagate verbatim — a write attempt that can't read its own profile
|
|
639
|
+
// is unrecoverable, and surfacing the read-side error gives the user
|
|
640
|
+
// the same actionable message they'd get from `ttctl profile show`.
|
|
641
|
+
const current = await getBasicInfo(token);
|
|
642
|
+
// Merge user-supplied fields over the current state. User intent wins:
|
|
643
|
+
// `changes.bio === ""` is a real "clear the bio" intent, distinct from
|
|
644
|
+
// "leave it alone" (which is `changes.bio === undefined`).
|
|
645
|
+
const merged = {
|
|
646
|
+
about: changes.bio !== undefined ? changes.bio : current.bio,
|
|
647
|
+
quote: changes.headline !== undefined ? changes.headline : current.headline,
|
|
648
|
+
fullName: current.fullName,
|
|
649
|
+
legalName: current.legalName,
|
|
650
|
+
city: current.city,
|
|
651
|
+
placeIdentity: current.placeIdentity,
|
|
652
|
+
countryId: current.countryId,
|
|
653
|
+
citizenshipId: current.citizenshipId,
|
|
654
|
+
phoneNumber: current.phoneNumber,
|
|
655
|
+
languageIds: current.languages.map((l) => l.id),
|
|
656
|
+
softwareSkills: current.softwareSkills.map((s) => ({ id: s.id, name: s.name })),
|
|
657
|
+
};
|
|
550
658
|
let res;
|
|
551
659
|
try {
|
|
552
660
|
res = await impersonatedTransport({
|
|
@@ -555,7 +663,9 @@ export async function set(token, changes, options = {}) {
|
|
|
555
663
|
body: {
|
|
556
664
|
operationName: "UPDATE_BASIC_INFO",
|
|
557
665
|
query: UPDATE_BASIC_INFO_MUTATION,
|
|
558
|
-
variables: {
|
|
666
|
+
variables: {
|
|
667
|
+
input: { profileId: current.profileId, profile: merged },
|
|
668
|
+
},
|
|
559
669
|
},
|
|
560
670
|
});
|
|
561
671
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/profile/basic/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAEpC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC3F,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,cAAc,GACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwLzB,CAAC;AAkBH,MAAM,OAAO,YAAa,SAAQ,KAAK;IAGnB;IAFA,IAAI,GAAG,cAAc,CAAC;IACxC,YACkB,IAAsB,EACtC,OAAe,EACf,OAA6B;QAE7B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAkB;IAKxC,CAAC;CACF;AAYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,KAAa;IACtC,IAAI,GAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,cAAc,CAAC;YACzB,OAAO,EAAE,gBAAgB;YACzB,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE;gBACJ,aAAa,EAAE,aAAa;gBAC5B,KAAK,EAAE,kBAAkB;aAC1B;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,2BAA4B,GAAa,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/G,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,gBAAgB,CAAC,gCAAgC,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC1C,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,iCAAiC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAAkC,CAAC;IACpD,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC;QAClD,mEAAmE;QACnE,mEAAmE;QACnE,wEAAwE;QACxE,sBAAsB;QACtB,IAAI,0BAA0B,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,gBAAgB,CAAC,gCAAgC,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,yBAAyB,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,gDAAgD,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AA4ED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,oBAAoB,GAAG;;;;;;;;;;;;EAY3B,CAAC;AAgBH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAa;IAC9C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC;IAC3D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CACpB,WAAW,EACX,kFAAkF,CACnF,CAAC;IACJ,CAAC;IAED,IAAI,GAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,qBAAqB,CAAC;YAChC,OAAO,EAAE,gBAAgB;YACzB,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE;SACjG,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,UAAU;YAAE,MAAM,GAAG,CAAC;QACzC,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,8BAA+B,GAAa,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAClH,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,gBAAgB,CAAC,gCAAgC,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC1C,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,oCAAoC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAAmC,CAAC;IACrD,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,0BAA0B,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,gBAAgB,CAAC,gCAAgC,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,4BAA4B,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;IAC3G,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,yCAAyC,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,6BAA6B,SAAS,IAAI,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAC5B,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAsB,EAAE,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QACxD,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAClE,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QAC5C,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QACzE,GAAG,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACjD,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACtD,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;EAejC,CAAC;AAwGH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,4CAAqD,CAAC;AAiCpG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,KAAa,EAAE,OAAsB,EAAE,UAAsB,EAAE;IACvF,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,8DAA8D,CAAC,CAAC;IAC7G,CAAC;IAED,MAAM,aAAa,GAAoC,EAAE,CAAC;IAC1D,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;QAAE,aAAa,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;IACjE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,aAAa,CAAC,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC;IAE3E,8DAA8D;IAC9D,qEAAqE;IACrE,uEAAuE;IACvE,qEAAqE;IACrE,+DAA+D;IAC/D,yDAAyD;IACzD,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAyB;YACzC,SAAS,EAAE,8BAA8B;YACzC,OAAO,EAAE,aAAa;SACvB,CAAC;QACF,OAAO;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,kBAAkB,CAAC;gBAC1B,OAAO,EAAE,gBAAgB;gBACzB,SAAS,EAAE,KAAK;gBAChB,IAAI,EAAE;oBACJ,aAAa,EAAE,mBAAmB;oBAClC,KAAK,EAAE,0BAA0B;oBACjC,SAAS,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;iBACnC;aACF,CAAC;SACH,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,wEAAwE;IACxE,sEAAsE;IACtE,wEAAwE;IACxE,6BAA6B;IAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC;IACvD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CACpB,WAAW,EACX,gFAAgF,CACjF,CAAC;IACJ,CAAC;IAED,IAAI,GAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,qBAAqB,CAAC;YAChC,OAAO,EAAE,gBAAgB;YACzB,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE;gBACJ,aAAa,EAAE,mBAAmB;gBAClC,KAAK,EAAE,0BAA0B;gBACjC,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAiC,EAAE;aAC3F;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,8EAA8E;QAC9E,6EAA6E;QAC7E,mEAAmE;QACnE,IAAI,GAAG,YAAY,UAAU;YAAE,MAAM,GAAG,CAAC;QACzC,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,kCAAmC,GAAa,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACtH,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,gBAAgB,CAAC,gCAAgC,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC1C,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,gCAAgC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAAsC,CAAC;IACxD,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC;QAClD,IAAI,0BAA0B,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,gBAAgB,CAAC,gCAAgC,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,0BAA0B,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC;IAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,6DAA6D,CAAC,CAAC;IACnG,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,0BAA0B,SAAS,KAAK,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;IACpH,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC9B,MAAM,IAAI,YAAY,CACpB,YAAY,EACZ,wCAAwC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACtF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,8DAA8D,CAAC,CAAC;IACpG,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS;QACf,MAAM,EAAE;YACN,OAAO,EAAE;gBACP,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;gBACtB,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI;gBACpC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI;aACrC;YACD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;SAC/B;KACF,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,uBAAuB;AACvB,0EAA0E;AAC1E,EAAE;AACF,2EAA2E;AAC3E,6EAA6E;AAC7E,4EAA4E;AAC5E,EAAE;AACF,0EAA0E;AAC1E,mEAAmE;AACnE,4EAA4E;AAC5E,yEAAyE;AACzE,4EAA4E;AAC5E,kEAAkE;AAClE,0EAA0E;AAE1E,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;EAetB,CAAC;AAsBH,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;EAiBpC,CAAC;AAiDH,SAAS,cAAc,CAAC,OAA6C;IACnE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,MAAM,OAAO,GAAG,KAAK,EAAE,eAAe,EAAE,OAAO,IAAI,IAAI,CAAC;IACxD,OAAO;QACL,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI;QAC/B,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI,IAAI;QACjC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI;QAC3B,OAAO,EAAE,OAAO;QAChB,qBAAqB,EAAE,OAAO,CAAC,gBAAgB,CAAC,0BAA0B;KAC3E,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAa;IAC3C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC;IAC3D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,6EAA6E,CAAC,CAAC;IACrH,CAAC;IAED,IAAI,GAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,qBAAqB,CAAC;YAChC,OAAO,EAAE,gBAAgB;YACzB,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE;SACvF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,UAAU;YAAE,MAAM,GAAG,CAAC;QACzC,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,yBAA0B,GAAa,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,gBAAgB,CAAC,gCAAgC,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC1C,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,+BAA+B,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAAkF,CAAC;IACpG,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,0BAA0B,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,gBAAgB,CAAC,gCAAgC,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,uBAAuB,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;IACtG,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,oCAAoC,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,6BAA6B,SAAS,IAAI,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC;AAoBD,MAAM,0BAA0B,GAAG,YAAY,CAAC;AAChD,MAAM,sBAAsB,GAAG,WAAW,CAAC;AAC3C,MAAM,4BAA4B,GAA6B;IAC7D,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;CAC7C,CAAC;AAEF,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,WAAW,CAAC;IAC/C,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,WAAW,CAAC;IAC/C,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,YAAY,CAAC;IACjD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,YAAY,CAAC;IAC3E,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAa,EAAE,KAAuB;IACtE,gEAAgE;IAChE,4EAA4E;IAC5E,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC9E,IAAI,UAAU,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC;IAC3D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,8EAA8E,CAAC,CAAC;IACtH,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,aAAa,EAAE,oBAAoB;QACnC,KAAK,EAAE,6BAA6B;QACpC,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,SAAS;gBACT,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,4BAA4B;gBACpE,IAAI,EAAE,IAAI;aACX;SACF;KACF,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAE9D,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC5B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrB,uEAAuE;IACvE,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3E,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE9B,sEAAsE;IACtE,sEAAsE;IACtE,kEAAkE;IAClE,sEAAsE;IACtE,gEAAgE;IAChE,oEAAoE;IACpE,gEAAgE;IAChE,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAI9C,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA6B,CAAC;IAE5D,IAAI,GAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,0BAA0B,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,UAAU;YAAE,MAAM,GAAG,CAAC;QACzC,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,gCAAiC,GAAa,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACpH,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,gBAAgB,CAAC,gCAAgC,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC1C,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,8BAA8B,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAAkC,CAAC;IACpD,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,0BAA0B,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,gBAAgB,CAAC,gCAAgC,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,wBAAwB,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;IACvG,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC;IACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,uDAAuD,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,wBAAwB,SAAS,KAAK,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;IAClH,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC9B,MAAM,IAAI,YAAY,CACpB,YAAY,EACZ,sCAAsC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACpF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,4DAA4D,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAQD;;;;;;GAMG;AACH,KAAK,UAAU,kBAAkB,CAAC,KAAuB;IACvD,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,qEAAqE;QACrE,iEAAiE;QACjE,kDAAkD;QAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACtD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,4BAA6B,GAAa,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACnH,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO;YACL,UAAU,EAAE,MAAM;YAClB,QAAQ;YACR,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,gBAAgB,CAAC,QAAQ,CAAC;SAC7D,CAAC;IACJ,CAAC;IACD,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,IAAI;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,sBAAsB;QAClD,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,0BAA0B;KAC7D,CAAC;AACJ,CAAC;AA8BD,KAAK,UAAU,0BAA0B,CACvC,KAAa,EACb,IAAc,EACd,UAA+B;IAE/B,MAAM,GAAG,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,sBAAsB,IAAI,SAAS,CAAC;IAEtD,0EAA0E;IAC1E,yEAAyE;IACzE,uEAAuE;IACvE,MAAM,OAAO,GAA2B;QACtC,MAAM,EAAE,KAAK;QACb,iBAAiB,EAAE,gBAAgB;QACnC,aAAa,EAAE,eAAe,KAAK,EAAE;QACrC,MAAM,EAAE,2BAA2B;QACnC,OAAO,EAAE,4BAA4B;QACrC,gBAAgB,EAAE,WAAW;QAC7B,YAAY,EACV,qEAAqE;YACrE,oDAAoD;QACtD,2BAA2B,EAAE,QAAQ;KACtC,CAAC;IAEF,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,iEAAiE;IACjE,8DAA8D;IAC9D,kEAAkE;IAClE,qEAAqE;IACrE,qBAAqB;IACrB,mBAAmB,CAAC;QAClB,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,wBAAwB;QACnC,MAAM,EAAE,MAAM;QACd,aAAa,EAAE,UAAU,CAAC,iBAAiB,CAAC,aAAa;QACzD,OAAO;QACP,IAAI,EAAE,UAAU,CAAC,iBAAiB;QAClC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE;KAC/E,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAElC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;QAC/B,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,mBAAmB;QAC5B,iEAAiE;QACjE,mEAAmE;QACnE,gEAAgE;QAChE,+DAA+D;QAC/D,qEAAqE;QACrE,iCAAiC;QACjC,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAE/C,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,oBAAoB,CAAC;YACnB,OAAO,EAAE,gBAAgB;YACzB,QAAQ,EAAE,GAAG;YACb,aAAa,EAAE,UAAU,CAAC,iBAAiB,CAAC,aAAa;YACzD,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO;SACvC,CAAC,CAAC;QACH,MAAM,IAAI,UAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,gEAAgE;IAChE,oEAAoE;IACpE,kEAAkE;IAClE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC1E,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,oBAAoB,CAAC;YACnB,OAAO,EAAE,gBAAgB;YACzB,QAAQ,EAAE,GAAG;YACb,aAAa,EAAE,UAAU,CAAC,iBAAiB,CAAC,aAAa;YACzD,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO;SACvC,CAAC,CAAC;QACH,MAAM,IAAI,aAAa,CAAC,gBAAgB,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,oBAAoB,CAAC;QACnB,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,GAAG;QACb,aAAa,EAAE,UAAU,CAAC,iBAAiB,CAAC,aAAa;QACzD,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO;KACvC,CAAC,CAAC;IACH,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,MAAM;KACb,CAAC;AACJ,CAAC;AAcD,IAAI,sBAAsB,GAA8B,IAAI,CAAC;AAE7D;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAAC,IAA+B;IAC1E,sBAAsB,GAAG,IAAI,CAAC;AAChC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/profile/basic/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { DryRunPreview } from "../../../transport.js";
|
|
1
2
|
/**
|
|
2
3
|
* `Employment` row as ttctl exposes it. Trimmed read-side projection of
|
|
3
4
|
* the `Employment` GraphQL fragment (see
|
|
@@ -38,6 +39,22 @@ export interface Employment {
|
|
|
38
39
|
code: string | null;
|
|
39
40
|
name: string | null;
|
|
40
41
|
} | null;
|
|
42
|
+
/**
|
|
43
|
+
* The catalog id of the resolved employer (#394 — surfaced read-side so
|
|
44
|
+
* `update()` can echo it back through the merge; the wire's
|
|
45
|
+
* `UpdateEmploymentInput` requires `employerId` even when the caller
|
|
46
|
+
* only supplies `position`, and the read-side previously hid the id).
|
|
47
|
+
*/
|
|
48
|
+
employerId: string | null;
|
|
49
|
+
/**
|
|
50
|
+
* Catalog skills attached to the row (#394 — surfaced read-side so
|
|
51
|
+
* `update()` can preserve them through the merge; the wire requires
|
|
52
|
+
* `skills` to be non-empty on update).
|
|
53
|
+
*/
|
|
54
|
+
skills: {
|
|
55
|
+
id: string;
|
|
56
|
+
name: string;
|
|
57
|
+
}[];
|
|
41
58
|
}
|
|
42
59
|
/**
|
|
43
60
|
* Fields editable on an Employment row. Mirrors `EmploymentInput` per the
|
|
@@ -51,9 +68,17 @@ export interface Employment {
|
|
|
51
68
|
* fields (employerId, engagementId, industryIds, managementExperience,
|
|
52
69
|
* primaryGeographyId, reportingTo, skills, …) are exposed at the type
|
|
53
70
|
* level so future leaves can grow without churning callers.
|
|
71
|
+
*
|
|
72
|
+
* `employerId` is the server-side catalog identifier for the employer
|
|
73
|
+
* record (e.g. "V1-Employer-1234"). `add()` requires either an explicit
|
|
74
|
+
* `employerId` or a `company` that resolves to exactly one
|
|
75
|
+
* autocomplete match — see {@link add} for the resolution policy. Per
|
|
76
|
+
* the captured input shape, `employerId` is nullable only when
|
|
77
|
+
* `noWebsite: true` (which TTCtl does not currently surface on `add`).
|
|
54
78
|
*/
|
|
55
79
|
export interface EmploymentFields {
|
|
56
80
|
company?: string;
|
|
81
|
+
employerId?: string;
|
|
57
82
|
position?: string;
|
|
58
83
|
companyWebsite?: string | null;
|
|
59
84
|
noWebsite?: boolean;
|
|
@@ -67,8 +92,60 @@ export interface EmploymentFields {
|
|
|
67
92
|
industryIds?: string[];
|
|
68
93
|
primaryGeographyId?: string | null;
|
|
69
94
|
reportingTo?: string | null;
|
|
70
|
-
|
|
95
|
+
/**
|
|
96
|
+
* Catalog skill refs (wire shape: `SkillRefInput[]` = `{ id, name }[]`,
|
|
97
|
+
* not the `string[]` originally declared — corrected #394 after the
|
|
98
|
+
* live capture showed the live mutation accepts the object form and
|
|
99
|
+
* rejects empty arrays on update).
|
|
100
|
+
*/
|
|
101
|
+
skills?: {
|
|
102
|
+
id: string;
|
|
103
|
+
name: string;
|
|
104
|
+
}[];
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Options accepted by {@link add}. `dryRun` mirrors the option-shape
|
|
108
|
+
* established by `basic.set` (#393 / SetOptions) so the cross-service
|
|
109
|
+
* surface stays uniform — callers that branch on the outcome's `kind`
|
|
110
|
+
* discriminator can use the same code path regardless of which
|
|
111
|
+
* mutation they're invoking.
|
|
112
|
+
*
|
|
113
|
+
* The `dryRun` path fires the employer autocomplete read so the preview
|
|
114
|
+
* shows the resolved `employerId` (not the raw `company` string). This
|
|
115
|
+
* departs from `basic.set`'s zero-network dry-run by design (#395):
|
|
116
|
+
* the alternative — placeholder employerId — would misrepresent the
|
|
117
|
+
* wire shape, since the server-side input requires the resolved id, not
|
|
118
|
+
* the company name. The mutation transport is still NEVER fired in
|
|
119
|
+
* `dryRun` mode.
|
|
120
|
+
*/
|
|
121
|
+
export interface AddOptions {
|
|
122
|
+
dryRun?: boolean;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Discriminated outcome of an {@link add} call when the apply-path
|
|
126
|
+
* succeeded — the newly created {@link Employment} row.
|
|
127
|
+
*/
|
|
128
|
+
export interface AddOutcomeCreated {
|
|
129
|
+
kind: "created";
|
|
130
|
+
result: Employment;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Discriminated outcome of an {@link add} call invoked with
|
|
134
|
+
* `dryRun: true` — the structured preview of the request that WOULD
|
|
135
|
+
* have been sent. The `employersAutocomplete` read query MAY have been
|
|
136
|
+
* fired during dry-run to resolve `employerId`; the `CreateEmployment`
|
|
137
|
+
* mutation transport was NOT fired.
|
|
138
|
+
*/
|
|
139
|
+
export interface AddOutcomePreview {
|
|
140
|
+
kind: "preview";
|
|
141
|
+
preview: DryRunPreview;
|
|
71
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* Discriminated-union return type for {@link add}. Apply-path callers
|
|
145
|
+
* branch on `outcome.kind === "created"`; dry-run callers branch on
|
|
146
|
+
* `"preview"`. Symmetric with `basic.set`'s {@link SetOutcome} (#393).
|
|
147
|
+
*/
|
|
148
|
+
export type AddOutcome = AddOutcomeCreated | AddOutcomePreview;
|
|
72
149
|
/**
|
|
73
150
|
* Lightweight `Employer` reference returned by
|
|
74
151
|
* `employer-autocomplete`. Mirrors the read-side `Employer` fragment
|
|
@@ -97,12 +174,107 @@ export declare function list(token: string): Promise<Employment[]>;
|
|
|
97
174
|
export declare function show(token: string, id: string): Promise<Employment>;
|
|
98
175
|
/**
|
|
99
176
|
* Create a new employment row. Wire format per Pattern 2: `{ profileId,
|
|
100
|
-
* employment: EmploymentInput }`.
|
|
177
|
+
* employment: EmploymentInput }`.
|
|
178
|
+
*
|
|
179
|
+
* **employerId resolution (#395)**: the live `talent_profile/graphql`
|
|
180
|
+
* server requires `employment.employerId` (the catalog identifier),
|
|
181
|
+
* NOT the free-text `company` string. Pre-#395, `add({company, role,
|
|
182
|
+
* …})` sent only the company string and was rejected with
|
|
183
|
+
* `USER_ERROR: employment add rejected (employerId): You can't leave
|
|
184
|
+
* this empty`. The fix:
|
|
185
|
+
*
|
|
186
|
+
* 1. If `fields.employerId` is supplied → use it verbatim. This is
|
|
187
|
+
* the explicit-bypass path (`--employer-id` on CLI,
|
|
188
|
+
* `employerId` on MCP) — useful for replay scripts, the
|
|
189
|
+
* disambiguation fallback, or known-good ids.
|
|
190
|
+
* 2. Otherwise, fire {@link employerAutocomplete} against
|
|
191
|
+
* `fields.company`. Toptal's autocomplete is fuzzy / prefix-
|
|
192
|
+
* search (typing "Anthropic" returns 10 partial matches), so the
|
|
193
|
+
* practical cardinality is on EXACT NAME MATCH (case-insensitive
|
|
194
|
+
* trim):
|
|
195
|
+
* - exactly 1 exact match → use its id transparently
|
|
196
|
+
* - 2+ exact matches (catalog duplicates — e.g. multiple
|
|
197
|
+
* regional subsidiaries with the same display name) →
|
|
198
|
+
* `VALIDATION_ERROR` listing the duplicates + `--employer-id`
|
|
199
|
+
* nudge
|
|
200
|
+
* - 0 exact, 0 fuzzy → `VALIDATION_ERROR` nudging to the
|
|
201
|
+
* autocomplete CLI command or `--employer-id` bypass
|
|
202
|
+
* - 0 exact, ≥1 fuzzy → `VALIDATION_ERROR` listing the top-N
|
|
203
|
+
* closest candidates with `--employer-id` nudge (the user
|
|
204
|
+
* typed a prefix; surface the catalog's actual names)
|
|
205
|
+
*
|
|
206
|
+
* The static defaults at `experienceItems: []`, `skills: []`,
|
|
207
|
+
* `showViaToptal: true` are retained pre-#395 — they were established
|
|
208
|
+
* empirically via the #344 E2E to satisfy "Expected value to not be
|
|
209
|
+
* null" on those required fields. Reviewing them in this PR would
|
|
210
|
+
* be premature without a fresh live capture; they may be revisited in
|
|
211
|
+
* a follow-up that mirrors the basic.set #393 read-merge pattern for
|
|
212
|
+
* employment.add.
|
|
213
|
+
*
|
|
214
|
+
* **Dry-run path (#395)**: when `options.dryRun === true`, the
|
|
215
|
+
* employer resolution still runs (fires `employersAutocomplete` if
|
|
216
|
+
* `employerId` is absent) so the preview's `variables.input.employment`
|
|
217
|
+
* carries the resolved `employerId`, matching the wire shape the live
|
|
218
|
+
* mutation would transmit. The `CreateEmployment` mutation transport
|
|
219
|
+
* is NOT invoked. The placeholder
|
|
220
|
+
* {@link DRY_RUN_PROFILE_ID_PLACEHOLDER} stands in for `profileId`
|
|
221
|
+
* (which the apply-path resolves via `extractProfileId`).
|
|
222
|
+
*/
|
|
223
|
+
export declare function add(token: string, fields: EmploymentFields, options?: AddOptions): Promise<AddOutcome>;
|
|
224
|
+
/**
|
|
225
|
+
* Placeholder string substituted into a dry-run `UpdateEmployment`
|
|
226
|
+
* preview's variables payload for fields that the apply-path resolves by
|
|
227
|
+
* reading the current row (`experienceItems`, `skills`, `showViaToptal`,
|
|
228
|
+
* `startDate` — the four required-non-null fields injected by the
|
|
229
|
+
* read-current+merge logic, #394). Surfaced verbatim so MCP consumers can
|
|
230
|
+
* see the structural shape of what will be sent without TTCtl having
|
|
231
|
+
* fired the read transport. Same posture as `basic.set`'s
|
|
232
|
+
* {@link DRY_RUN_PROFILE_ID_PLACEHOLDER} — preserves the zero-transport-
|
|
233
|
+
* in-dry-run invariant (#165 / #379) while honoring #394's AC that the
|
|
234
|
+
* preview shows the full merged shape.
|
|
235
|
+
*/
|
|
236
|
+
export declare const DRY_RUN_EMPLOYMENT_MERGE_PLACEHOLDER: "<resolved at send-time by reading current state>";
|
|
237
|
+
/**
|
|
238
|
+
* Build the merged `EmploymentInput` to send for an `UpdateEmployment`
|
|
239
|
+
* mutation by reading the current row and overlaying user-supplied fields.
|
|
240
|
+
*
|
|
241
|
+
* The `talent_profile/graphql` server treats four `EmploymentInput` fields
|
|
242
|
+
* as required non-null on `UpdateEmployment` and rejects the whole
|
|
243
|
+
* variables payload with `"Expected value to not be null"` when they are
|
|
244
|
+
* absent (#394 — wire-broke meta-class #392). The four fields are
|
|
245
|
+
* `experienceItems`, `showViaToptal`, `startDate`, and `skills`. This
|
|
246
|
+
* helper injects them from the current state where the EMPLOYMENT_FRAGMENT
|
|
247
|
+
* surfaces them (`experienceItems`, `showViaToptal`, `startDate`) and
|
|
248
|
+
* defaults `skills: []` because the fragment does not currently select the
|
|
249
|
+
* read-side `skills` connection. Other fields are left undefined and
|
|
250
|
+
* omitted from the wire payload — the server keeps the existing value for
|
|
251
|
+
* any field absent from the input (the omission-is-preservation half of
|
|
252
|
+
* the merge contract; only the four required-non-null fields force-echo).
|
|
253
|
+
*
|
|
254
|
+
* **Known limitation (#394)**: `skills` defaults to `[]` because the
|
|
255
|
+
* current read fragment does not surface skills. Calling `update()` on a
|
|
256
|
+
* row that has skills will reset them to empty. A follow-up will extend
|
|
257
|
+
* the fragment to read skills and preserve them through the merge; for
|
|
258
|
+
* the test-account this is acceptable, and the bug fix here is for the
|
|
259
|
+
* minimal `{id, role}` repro that previously failed at the wire layer
|
|
260
|
+
* regardless of skills state.
|
|
261
|
+
*
|
|
262
|
+
* Exported so the MCP layer can build the same merged input for the
|
|
263
|
+
* dry-run preview (AC: "Dry-run preview shows the full merged input").
|
|
264
|
+
*
|
|
265
|
+
* @throws `ProfileError("VALIDATION_ERROR")` when `fields` is empty.
|
|
266
|
+
* @throws `ProfileError("VALIDATION_ERROR")` when `current.startDate` is
|
|
267
|
+
* `null` and the caller did not supply a `startDate` override — the
|
|
268
|
+
* wire requires a non-null `startDate` and we have nothing to send.
|
|
101
269
|
*/
|
|
102
|
-
export declare function
|
|
270
|
+
export declare function buildUpdateEmploymentInput(current: Employment, fields: EmploymentFields): EmploymentFields;
|
|
103
271
|
/**
|
|
104
272
|
* Update an existing employment row. Wire format per Pattern 1:
|
|
105
273
|
* `{ employmentId, employment: EmploymentInput }`.
|
|
274
|
+
*
|
|
275
|
+
* Reads the current row first and merges the four required-non-null
|
|
276
|
+
* fields onto the wire input (see {@link buildUpdateEmploymentInput} for
|
|
277
|
+
* the merge contract and #394 for the originating wire-broke incident).
|
|
106
278
|
*/
|
|
107
279
|
export declare function update(token: string, id: string, fields: EmploymentFields): Promise<Employment>;
|
|
108
280
|
/**
|