@ttctl/core 0.1.0-rc.3 → 0.1.0-rc.5

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.
@@ -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. Trimmed subset of the
306
- * canonical bundle-extracted operation
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 only for the read-display-relevant fields surfaced by
309
- * {@link BasicInfo} `about`, `quote`, `languages.nodes` — and skip
310
- * the `ProfileRecommendations`, `softwareSkills`, social URL, and
311
- * top-level `countries` / `languages` catalog fields that the canonical
312
- * operation also fetches (out of scope for the read-display surface; the
313
- * social URLs are owned by the `external` sub-domain, the catalog
314
- * payloads are autocomplete-tier).
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 read-side `talent_profile`-only basic-info fields that
335
- * complement {@link show} — `bio` (→ `Profile.about`), `headline` (→
336
- * `Profile.quote`), and `languages`.
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 fields the
345
- * user hasn't set, an empty array for `languages` when none.
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 rawNodes = p.languages?.nodes ?? [];
401
- const languages = [];
402
- for (const node of rawNodes) {
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
- languages.push({ id: node.id, name: node.name });
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. Internally calls `show()`
472
- * (against mobile-gateway) first to obtain the `profileId` required by the
473
- * mutation input, then issues the typed `UpdateBasicInfo` mutation against
474
- * talent-profile via `impersonatedTransport`. Returns the server-confirmed
475
- * updated values wrapped in a {@link SetOutcomeApplied} discriminator.
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
- * Dry-run path (issue #52): when invoked with `options.dryRun === true`,
478
- * builds a {@link DryRunPreview} of the WRITE request without invoking
479
- * any transport (read OR write) and returns it wrapped in {@link
480
- * SetOutcomePreview}. The preview substitutes a placeholder string
481
- * ({@link DRY_RUN_PROFILE_ID_PLACEHOLDER}) for `profileId` because the
482
- * apply-path resolves it via `show()` (a stock-transport read call) and
483
- * the dry-run AC requires zero transport invocations. The bearer token
484
- * is redacted in the preview's `headers.authorization` per the security
485
- * contract documented on {@link DryRunPreview}.
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 — dry-run skips the read entirely.
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
- const profileFields = {};
512
- if (changes.bio !== undefined)
513
- profileFields.about = changes.bio;
514
- if (changes.headline !== undefined)
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: profileFields,
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
- // Need profileId for the mutation input fetch the current profile first.
541
- // Errors from show() (ProfileError) propagate verbatim: a write attempt
542
- // that can't read its own profile is unrecoverable, and surfacing the
543
- // read-side error gives the user the same actionable message they'd get
544
- // from `ttctl profile show`.
545
- const profile = await show(token);
546
- const profileId = profile.viewer?.viewerRole.profileId;
547
- if (profileId === undefined) {
548
- throw new ProfileError("NO_VIEWER", "Cannot update profile: viewer or profile id missing from the session response.");
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: { input: { profileId, profile: profileFields } },
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/profile/basic/index.ts"],"names":[],"mappings":"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"}