@ttctl/core 0.0.0 → 0.1.0-rc.2
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/README.md +49 -9
- package/dist/__generated__/gateway.d.ts +4546 -0
- package/dist/__generated__/gateway.d.ts.map +1 -0
- package/dist/__generated__/gateway.js +9 -0
- package/dist/__generated__/gateway.js.map +1 -0
- package/dist/__generated__/talent-profile-zod-schemas.d.ts +1187 -0
- package/dist/__generated__/talent-profile-zod-schemas.d.ts.map +1 -0
- package/dist/__generated__/talent-profile-zod-schemas.js +1136 -0
- package/dist/__generated__/talent-profile-zod-schemas.js.map +1 -0
- package/dist/__generated__/talent-profile.d.ts +1397 -0
- package/dist/__generated__/talent-profile.d.ts.map +1 -0
- package/dist/__generated__/talent-profile.js +9 -0
- package/dist/__generated__/talent-profile.js.map +1 -0
- package/dist/__generated__/zod-schemas.d.ts +2895 -0
- package/dist/__generated__/zod-schemas.d.ts.map +1 -0
- package/dist/__generated__/zod-schemas.js +3121 -0
- package/dist/__generated__/zod-schemas.js.map +1 -0
- package/dist/__tests__/fixtures/profile/builders.d.ts +74 -0
- package/dist/__tests__/fixtures/profile/builders.d.ts.map +1 -0
- package/dist/__tests__/fixtures/profile/builders.js +200 -0
- package/dist/__tests__/fixtures/profile/builders.js.map +1 -0
- package/dist/__tests__/fixtures/profile/data.d.ts +39 -0
- package/dist/__tests__/fixtures/profile/data.d.ts.map +1 -0
- package/dist/__tests__/fixtures/profile/data.js +238 -0
- package/dist/__tests__/fixtures/profile/data.js.map +1 -0
- package/dist/__tests__/fixtures/profile/index.d.ts +9 -0
- package/dist/__tests__/fixtures/profile/index.d.ts.map +1 -0
- package/dist/__tests__/fixtures/profile/index.js +10 -0
- package/dist/__tests__/fixtures/profile/index.js.map +1 -0
- package/dist/__tests__/fixtures/profile/types.d.ts +53 -0
- package/dist/__tests__/fixtures/profile/types.d.ts.map +1 -0
- package/dist/__tests__/fixtures/profile/types.js +4 -0
- package/dist/__tests__/fixtures/profile/types.js.map +1 -0
- package/dist/auth/errors.d.ts +82 -0
- package/dist/auth/errors.d.ts.map +1 -0
- package/dist/auth/errors.js +68 -0
- package/dist/auth/errors.js.map +1 -0
- package/dist/auth.d.ts +192 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +294 -0
- package/dist/auth.js.map +1 -0
- package/dist/config.d.ts +214 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +349 -0
- package/dist/config.js.map +1 -0
- package/dist/configLock.d.ts +52 -0
- package/dist/configLock.d.ts.map +1 -0
- package/dist/configLock.js +109 -0
- package/dist/configLock.js.map +1 -0
- package/dist/configWriter.d.ts +97 -0
- package/dist/configWriter.d.ts.map +1 -0
- package/dist/configWriter.js +688 -0
- package/dist/configWriter.js.map +1 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/kill-switch.d.ts +161 -0
- package/dist/kill-switch.d.ts.map +1 -0
- package/dist/kill-switch.js +235 -0
- package/dist/kill-switch.js.map +1 -0
- package/dist/lib/date.d.ts +58 -0
- package/dist/lib/date.d.ts.map +1 -0
- package/dist/lib/date.js +104 -0
- package/dist/lib/date.js.map +1 -0
- package/dist/lib/diagnostic-log.d.ts +159 -0
- package/dist/lib/diagnostic-log.d.ts.map +1 -0
- package/dist/lib/diagnostic-log.js +186 -0
- package/dist/lib/diagnostic-log.js.map +1 -0
- package/dist/lib/package-version.d.ts +19 -0
- package/dist/lib/package-version.d.ts.map +1 -0
- package/dist/lib/package-version.js +38 -0
- package/dist/lib/package-version.js.map +1 -0
- package/dist/lib/redact.d.ts +153 -0
- package/dist/lib/redact.d.ts.map +1 -0
- package/dist/lib/redact.js +207 -0
- package/dist/lib/redact.js.map +1 -0
- package/dist/lib/text.d.ts +14 -0
- package/dist/lib/text.d.ts.map +1 -0
- package/dist/lib/text.js +21 -0
- package/dist/lib/text.js.map +1 -0
- package/dist/lib/wire-shape.d.ts +131 -0
- package/dist/lib/wire-shape.d.ts.map +1 -0
- package/dist/lib/wire-shape.js +376 -0
- package/dist/lib/wire-shape.js.map +1 -0
- package/dist/onepassword.d.ts +29 -0
- package/dist/onepassword.d.ts.map +1 -0
- package/dist/onepassword.js +112 -0
- package/dist/onepassword.js.map +1 -0
- package/dist/services/_shared/transport.d.ts +148 -0
- package/dist/services/_shared/transport.d.ts.map +1 -0
- package/dist/services/_shared/transport.js +102 -0
- package/dist/services/_shared/transport.js.map +1 -0
- package/dist/services/applications/index.d.ts +210 -0
- package/dist/services/applications/index.d.ts.map +1 -0
- package/dist/services/applications/index.js +240 -0
- package/dist/services/applications/index.js.map +1 -0
- package/dist/services/availability/index.d.ts +254 -0
- package/dist/services/availability/index.d.ts.map +1 -0
- package/dist/services/availability/index.js +310 -0
- package/dist/services/availability/index.js.map +1 -0
- package/dist/services/contracts/index.d.ts +132 -0
- package/dist/services/contracts/index.d.ts.map +1 -0
- package/dist/services/contracts/index.js +211 -0
- package/dist/services/contracts/index.js.map +1 -0
- package/dist/services/engagements/index.d.ts +504 -0
- package/dist/services/engagements/index.d.ts.map +1 -0
- package/dist/services/engagements/index.js +613 -0
- package/dist/services/engagements/index.js.map +1 -0
- package/dist/services/jobs/index.d.ts +490 -0
- package/dist/services/jobs/index.d.ts.map +1 -0
- package/dist/services/jobs/index.js +753 -0
- package/dist/services/jobs/index.js.map +1 -0
- package/dist/services/payments/index.d.ts +425 -0
- package/dist/services/payments/index.d.ts.map +1 -0
- package/dist/services/payments/index.js +636 -0
- package/dist/services/payments/index.js.map +1 -0
- package/dist/services/profile/__tests__/fixtures.d.ts +214 -0
- package/dist/services/profile/__tests__/fixtures.d.ts.map +1 -0
- package/dist/services/profile/__tests__/fixtures.js +176 -0
- package/dist/services/profile/__tests__/fixtures.js.map +1 -0
- package/dist/services/profile/basic/index.d.ts +390 -0
- package/dist/services/profile/basic/index.d.ts.map +1 -0
- package/dist/services/profile/basic/index.js +1007 -0
- package/dist/services/profile/basic/index.js.map +1 -0
- package/dist/services/profile/certifications/index.d.ts +74 -0
- package/dist/services/profile/certifications/index.d.ts.map +1 -0
- package/dist/services/profile/certifications/index.js +169 -0
- package/dist/services/profile/certifications/index.js.map +1 -0
- package/dist/services/profile/education/index.d.ts +73 -0
- package/dist/services/profile/education/index.d.ts.map +1 -0
- package/dist/services/profile/education/index.js +168 -0
- package/dist/services/profile/education/index.js.map +1 -0
- package/dist/services/profile/employment/index.d.ts +132 -0
- package/dist/services/profile/employment/index.d.ts.map +1 -0
- package/dist/services/profile/employment/index.js +262 -0
- package/dist/services/profile/employment/index.js.map +1 -0
- package/dist/services/profile/external/index.d.ts +278 -0
- package/dist/services/profile/external/index.d.ts.map +1 -0
- package/dist/services/profile/external/index.js +640 -0
- package/dist/services/profile/external/index.js.map +1 -0
- package/dist/services/profile/index.d.ts +24 -0
- package/dist/services/profile/index.d.ts.map +1 -0
- package/dist/services/profile/index.js +26 -0
- package/dist/services/profile/index.js.map +1 -0
- package/dist/services/profile/industries/index.d.ts +130 -0
- package/dist/services/profile/industries/index.d.ts.map +1 -0
- package/dist/services/profile/industries/index.js +292 -0
- package/dist/services/profile/industries/index.js.map +1 -0
- package/dist/services/profile/portfolio/index.d.ts +352 -0
- package/dist/services/profile/portfolio/index.d.ts.map +1 -0
- package/dist/services/profile/portfolio/index.js +833 -0
- package/dist/services/profile/portfolio/index.js.map +1 -0
- package/dist/services/profile/resume/index.d.ts +60 -0
- package/dist/services/profile/resume/index.d.ts.map +1 -0
- package/dist/services/profile/resume/index.js +212 -0
- package/dist/services/profile/resume/index.js.map +1 -0
- package/dist/services/profile/reviews/index.d.ts +137 -0
- package/dist/services/profile/reviews/index.d.ts.map +1 -0
- package/dist/services/profile/reviews/index.js +431 -0
- package/dist/services/profile/reviews/index.js.map +1 -0
- package/dist/services/profile/shared.d.ts +127 -0
- package/dist/services/profile/shared.d.ts.map +1 -0
- package/dist/services/profile/shared.js +155 -0
- package/dist/services/profile/shared.js.map +1 -0
- package/dist/services/profile/skills/index.d.ts +212 -0
- package/dist/services/profile/skills/index.d.ts.map +1 -0
- package/dist/services/profile/skills/index.js +461 -0
- package/dist/services/profile/skills/index.js.map +1 -0
- package/dist/services/profile/visas/index.d.ts +74 -0
- package/dist/services/profile/visas/index.d.ts.map +1 -0
- package/dist/services/profile/visas/index.js +306 -0
- package/dist/services/profile/visas/index.js.map +1 -0
- package/dist/services/timesheet/index.d.ts +337 -0
- package/dist/services/timesheet/index.d.ts.map +1 -0
- package/dist/services/timesheet/index.js +336 -0
- package/dist/services/timesheet/index.js.map +1 -0
- package/dist/services/translations.d.ts +79 -0
- package/dist/services/translations.d.ts.map +1 -0
- package/dist/services/translations.js +136 -0
- package/dist/services/translations.js.map +1 -0
- package/dist/transport-resilience.d.ts +136 -0
- package/dist/transport-resilience.d.ts.map +1 -0
- package/dist/transport-resilience.js +247 -0
- package/dist/transport-resilience.js.map +1 -0
- package/dist/transport.d.ts +408 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +691 -0
- package/dist/transport.js.map +1 -0
- package/dist/types.d.ts +41 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +18 -0
- package/dist/types.js.map +1 -0
- package/package.json +40 -12
- package/index.js +0 -7
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import { ProfileError } from "../basic/index.js";
|
|
2
|
+
import type { ProfileErrorCode } from "../basic/index.js";
|
|
3
|
+
export { ProfileError };
|
|
4
|
+
export type { ProfileErrorCode };
|
|
5
|
+
/**
|
|
6
|
+
* Subset of `UpdateExternalProfilesInput` actually exposed at v0. All fields
|
|
7
|
+
* are optional; the caller is responsible for passing at least one or the
|
|
8
|
+
* service will reject with `VALIDATION_ERROR`.
|
|
9
|
+
*
|
|
10
|
+
* `twitter / behance / dribbble` are exposed because they are present in the
|
|
11
|
+
* `UpdateExternalProfilesPayload` response selection of the captured
|
|
12
|
+
* `UpdateExternalProfiles` mutation document
|
|
13
|
+
* (`research/graphql/talent_profile/operations/UpdateExternalProfiles.graphql`).
|
|
14
|
+
* `skype` is also present on the underlying `Profile` type but the captured
|
|
15
|
+
* mutation document does not request it back; we omit it from the v0 surface
|
|
16
|
+
* (the user can still update it via the web portal).
|
|
17
|
+
*/
|
|
18
|
+
export interface ExternalProfilesUpdate {
|
|
19
|
+
linkedin?: string;
|
|
20
|
+
github?: string;
|
|
21
|
+
website?: string;
|
|
22
|
+
twitter?: string;
|
|
23
|
+
behance?: string;
|
|
24
|
+
dribbble?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Server-confirmed result of {@link update}. Mirrors the response selection
|
|
28
|
+
* of the captured `UpdateExternalProfiles` mutation. Fields are nullable
|
|
29
|
+
* because the server returns `null` for any external link the talent has
|
|
30
|
+
* not set.
|
|
31
|
+
*
|
|
32
|
+
* `twitter` was added in #345 to close a write-only-echo gap — the input
|
|
33
|
+
* accepts `twitter` (see {@link ExternalProfilesUpdate}) but the mutation
|
|
34
|
+
* response previously dropped it, so callers could SET a twitter URL but
|
|
35
|
+
* not VERIFY it from the response alone (had to issue a follow-up
|
|
36
|
+
* {@link show} call). Adding it to the selection set + this interface
|
|
37
|
+
* makes the response self-contained for round-trip verification.
|
|
38
|
+
*/
|
|
39
|
+
export interface UpdateExternalProfilesResult {
|
|
40
|
+
profile: {
|
|
41
|
+
id: string;
|
|
42
|
+
updatedByTalentAt: string | null;
|
|
43
|
+
linkedin: string | null;
|
|
44
|
+
github: string | null;
|
|
45
|
+
website: string | null;
|
|
46
|
+
twitter: string | null;
|
|
47
|
+
behance: string | null;
|
|
48
|
+
dribbble: string | null;
|
|
49
|
+
};
|
|
50
|
+
notice: string | null;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Update external profile URLs (linkedin / github / website / twitter /
|
|
54
|
+
* behance / dribbble). Each field is optional; the caller must pass at
|
|
55
|
+
* least one. Unknown / extraneous fields are rejected at compile time by
|
|
56
|
+
* the {@link ExternalProfilesUpdate} type.
|
|
57
|
+
*
|
|
58
|
+
* Wire shape: `{ input: { profileId, profile: { …urls } } }`. Validated
|
|
59
|
+
* 2026-05-17 via the round-trip E2E at
|
|
60
|
+
* `packages/e2e/src/42-profile-external-show.e2e.test.ts`. The
|
|
61
|
+
* previously-inferred `externalProfiles:` wrapper (per Pattern 1 in
|
|
62
|
+
* `research/notes/10-mutation-input-patterns.md`) was incorrect — same
|
|
63
|
+
* exception class as `UPDATE_BASIC_INFO` and `updateTimeZoneWorkingHours`,
|
|
64
|
+
* both of which use `profile:` because they write fields directly on the
|
|
65
|
+
* Profile entity.
|
|
66
|
+
*
|
|
67
|
+
* Errors:
|
|
68
|
+
* - `ProfileError("VALIDATION_ERROR")` when no fields are supplied
|
|
69
|
+
* - `ProfileError("USER_ERROR")` when the server rejects an individual
|
|
70
|
+
* field (e.g. malformed URL)
|
|
71
|
+
* - `AuthRevokedError`, `Cf403Error`, other `TtctlError` subclasses
|
|
72
|
+
* propagate verbatim
|
|
73
|
+
*/
|
|
74
|
+
export declare function update(token: string, changes: ExternalProfilesUpdate): Promise<UpdateExternalProfilesResult>;
|
|
75
|
+
/**
|
|
76
|
+
* Boolean trio comprising the talent's onboarding-readiness self-attestation.
|
|
77
|
+
* All three are exposed unchanged (no display-name remapping) because each
|
|
78
|
+
* field name is already self-documenting.
|
|
79
|
+
*
|
|
80
|
+
* Returned by {@link customRequirementsShow}. Callers willing to accept the
|
|
81
|
+
* "missing fields default to current state" semantic of
|
|
82
|
+
* {@link customRequirementsSet} pass a {@link CustomRequirementsUpdate} (a
|
|
83
|
+
* partial of this trio).
|
|
84
|
+
*/
|
|
85
|
+
export interface CustomRequirements {
|
|
86
|
+
backgroundCheck: boolean | null;
|
|
87
|
+
drugTest: boolean | null;
|
|
88
|
+
timeTrackingTools: boolean | null;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Read the three onboarding-readiness toggles for the signed-in user.
|
|
92
|
+
*
|
|
93
|
+
* Errors: `AuthRevokedError`, `ProfileError(GRAPHQL_ERROR)`,
|
|
94
|
+
* `ProfileError(NETWORK_ERROR)`, `Cf403Error` (and other `TtctlError`
|
|
95
|
+
* subclasses) propagate verbatim.
|
|
96
|
+
*/
|
|
97
|
+
export declare function customRequirementsShow(token: string): Promise<CustomRequirements>;
|
|
98
|
+
/**
|
|
99
|
+
* Partial-update shape for {@link customRequirementsSet}. Each missing
|
|
100
|
+
* field is filled from the current server state before the mutation is
|
|
101
|
+
* dispatched (the underlying `updateCustomRequirements` mutation sends ALL
|
|
102
|
+
* three booleans per call, no PATCH semantics — see the capture notes
|
|
103
|
+
* referenced in the module comment).
|
|
104
|
+
*/
|
|
105
|
+
export interface CustomRequirementsUpdate {
|
|
106
|
+
backgroundCheck?: boolean;
|
|
107
|
+
drugTest?: boolean;
|
|
108
|
+
timeTrackingTools?: boolean;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Server-confirmed result of {@link customRequirementsSet}. Mirrors the
|
|
112
|
+
* response selection of the captured mutation document.
|
|
113
|
+
*/
|
|
114
|
+
export interface CustomRequirementsSetResult {
|
|
115
|
+
profile: {
|
|
116
|
+
id: string;
|
|
117
|
+
updatedByTalentAt: string | null;
|
|
118
|
+
customRequirements: CustomRequirements;
|
|
119
|
+
};
|
|
120
|
+
notice: string | null;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Toggle one or more of the three onboarding-readiness booleans
|
|
124
|
+
* (`backgroundCheck`, `drugTest`, `timeTrackingTools`). Caller-omitted
|
|
125
|
+
* fields are pre-filled from the current server state via
|
|
126
|
+
* {@link customRequirementsShow} before the mutation is sent (the underlying
|
|
127
|
+
* `updateCustomRequirements` mutation has no diff/PATCH semantics — every
|
|
128
|
+
* call resubmits all three booleans).
|
|
129
|
+
*
|
|
130
|
+
* Pre-fill of missing fields treats `null` (server has no value yet) as
|
|
131
|
+
* `false` for the post-merge wire shape, since the mutation input is
|
|
132
|
+
* `Boolean!` and rejects `null`.
|
|
133
|
+
*
|
|
134
|
+
* Errors: same taxonomy as {@link update}.
|
|
135
|
+
*/
|
|
136
|
+
export declare function customRequirementsSet(token: string, changes: CustomRequirementsUpdate): Promise<CustomRequirementsSetResult>;
|
|
137
|
+
/**
|
|
138
|
+
* The flat boolean set returned by `getProfileReadiness`. Each field
|
|
139
|
+
* corresponds to a section completion check the platform runs before a
|
|
140
|
+
* talent can submit-for-review. Schema types each as `Unknown` (the
|
|
141
|
+
* SDL reflects what we've inferred, not strongly typed) so we coerce
|
|
142
|
+
* defensively at the boundary.
|
|
143
|
+
*/
|
|
144
|
+
export interface ProfileReadiness {
|
|
145
|
+
isPhotoResolutionSatisfied: boolean | null;
|
|
146
|
+
isBasicInfoSatisfied: boolean | null;
|
|
147
|
+
isCertificationsSatisfied: boolean | null;
|
|
148
|
+
isEmploymentsCountSatisfied: boolean | null;
|
|
149
|
+
isEmploymentConnectionsSatisfied: boolean | null;
|
|
150
|
+
isSkillValidationsSatisfied: boolean | null;
|
|
151
|
+
isPortfolioItemsCountSatisfied: boolean | null;
|
|
152
|
+
isPortfolioItemConnectionsSatisfied: boolean | null;
|
|
153
|
+
isWorkingHoursSatisfied: boolean | null;
|
|
154
|
+
/**
|
|
155
|
+
* `submitAvailable` rolls up the per-section signals into a single
|
|
156
|
+
* "ready to submit?" boolean. Hoisted alongside the per-section
|
|
157
|
+
* booleans because it's the value the user usually wants at a glance.
|
|
158
|
+
*/
|
|
159
|
+
submitAvailable: boolean | null;
|
|
160
|
+
/** ISO timestamp of last talent-side edit, returned by the same query. */
|
|
161
|
+
updatedByTalentAt: string | null;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Read the per-section profile-readiness booleans plus the rolled-up
|
|
165
|
+
* `submitAvailable` flag and the last-edit timestamp.
|
|
166
|
+
*
|
|
167
|
+
* Errors: same taxonomy as {@link customRequirementsShow}.
|
|
168
|
+
*/
|
|
169
|
+
export declare function readiness(token: string): Promise<ProfileReadiness>;
|
|
170
|
+
/**
|
|
171
|
+
* A single recommendation item. The platform returns recommendations as a
|
|
172
|
+
* union over multiple concrete types
|
|
173
|
+
* (`EmploymentsCountRecommendation`, `PortfolioItemsCountRecommendation`,
|
|
174
|
+
* `EmploymentsMissingDataRecommendation`, etc.). We surface the discriminator
|
|
175
|
+
* `type` plus the entire payload as a generic `payload` map rather than
|
|
176
|
+
* typing each variant — the per-variant fields are descriptive UX hints, not
|
|
177
|
+
* enforced data, and the schema types most fields as `Unknown` anyway.
|
|
178
|
+
* CLI/MCP formatters render `type` and a stringified payload preview;
|
|
179
|
+
* consumers who need richer typing can extend later.
|
|
180
|
+
*/
|
|
181
|
+
export interface ProfileRecommendation {
|
|
182
|
+
type: string;
|
|
183
|
+
payload: Record<string, unknown>;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Read the list of profile recommendations. Each recommendation has a
|
|
187
|
+
* discriminator `type` and a small payload of variant-specific fields.
|
|
188
|
+
*
|
|
189
|
+
* Recommendations that involve nested entity lists (e.g.
|
|
190
|
+
* `EmploymentsMissingDataRecommendation` with a `nodes` array of employments)
|
|
191
|
+
* are intentionally trimmed at the GraphQL level — at v0 the CLI/MCP only
|
|
192
|
+
* surfaces the recommendation `type` and any scalar variant fields. Drilling
|
|
193
|
+
* into nested entity lists requires fetching the underlying domain
|
|
194
|
+
* (employments, portfolio items, skills) directly, which is outside the
|
|
195
|
+
* recommendations leaf's scope.
|
|
196
|
+
*/
|
|
197
|
+
export declare function recommendations(token: string): Promise<ProfileRecommendation[]>;
|
|
198
|
+
/**
|
|
199
|
+
* Combined view of the advanced-profile-wizard state. Issue #76 spec collapses
|
|
200
|
+
* `getAdvancedProfileData` and `GetAdvancedProfileWizardStatus` into a single
|
|
201
|
+
* read leaf — but `getAdvancedProfileData` already includes
|
|
202
|
+
* `advancedProfileWizardStatus` in its selection, so a single query suffices.
|
|
203
|
+
*
|
|
204
|
+
* `travelVisas` is a list of the talent's submitted travel visas; we surface
|
|
205
|
+
* a count + the IDs at v0 to keep the payload bounded. Full visa CRUD lives
|
|
206
|
+
* in the `visas` sub-domain (separate wave).
|
|
207
|
+
*/
|
|
208
|
+
export interface AdvancedProfileSnapshot {
|
|
209
|
+
/**
|
|
210
|
+
* Wizard-status discriminator. Schema types as `Unknown`; we surface
|
|
211
|
+
* whatever the server returns without introspection.
|
|
212
|
+
*/
|
|
213
|
+
wizardStatus: string | null;
|
|
214
|
+
travelVisaCount: number;
|
|
215
|
+
travelVisaIds: string[];
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Read the advanced-profile-wizard status plus a summary of the talent's
|
|
219
|
+
* travel-visa list. This is the read-side combined view of
|
|
220
|
+
* `getAdvancedProfileData` — the spec also references
|
|
221
|
+
* `GetAdvancedProfileWizardStatus` as a separate operation, but
|
|
222
|
+
* `getAdvancedProfileData` already returns `advancedProfileWizardStatus`, so
|
|
223
|
+
* one query is sufficient.
|
|
224
|
+
*
|
|
225
|
+
* The full TravelVisa fragment is intentionally trimmed to `id` only. Visa
|
|
226
|
+
* CRUD operations live in the `visas` sub-domain — surfacing the rich shape
|
|
227
|
+
* here would create a partial duplication that drifts as the visas
|
|
228
|
+
* sub-domain evolves.
|
|
229
|
+
*/
|
|
230
|
+
export declare function advancedWizardShow(token: string): Promise<AdvancedProfileSnapshot>;
|
|
231
|
+
/**
|
|
232
|
+
* Server-side state of the talent's external profile URLs. This is the
|
|
233
|
+
* **read** counterpart of {@link update} — the primary inspection path for
|
|
234
|
+
* the stored linkedin / github / website / twitter / behance / dribbble
|
|
235
|
+
* values.
|
|
236
|
+
*
|
|
237
|
+
* Prior to this leaf (issue #343) the `external` sub-domain shipped six
|
|
238
|
+
* service functions but **none** was a primary read for the stored URL
|
|
239
|
+
* state: `advancedWizardShow` intentionally trims its selection set to
|
|
240
|
+
* `advancedProfileWizardStatus + travelVisas` (see its doc comment), and
|
|
241
|
+
* `update`'s response is POST-state only (write-disguised-as-read). This
|
|
242
|
+
* type closes that asymmetry.
|
|
243
|
+
*
|
|
244
|
+
* The shape mirrors what {@link ExternalProfilesUpdate} **accepts** (all
|
|
245
|
+
* six URL fields), NOT what {@link UpdateExternalProfilesResult} echoes —
|
|
246
|
+
* the latter drops `twitter` (a separate companion gap on the mutation's
|
|
247
|
+
* response selection). `show` selects `twitter` directly from the
|
|
248
|
+
* `Profile` type, so it returns full six-field parity. Every URL is
|
|
249
|
+
* nullable because the server returns `null` for any link the talent has
|
|
250
|
+
* not set; `id` / `updatedByTalentAt` mirror the
|
|
251
|
+
* {@link UpdateExternalProfilesResult.profile} envelope fields.
|
|
252
|
+
*/
|
|
253
|
+
export interface ExternalProfiles {
|
|
254
|
+
id: string;
|
|
255
|
+
updatedByTalentAt: string | null;
|
|
256
|
+
linkedin: string | null;
|
|
257
|
+
github: string | null;
|
|
258
|
+
website: string | null;
|
|
259
|
+
twitter: string | null;
|
|
260
|
+
behance: string | null;
|
|
261
|
+
dribbble: string | null;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Read the talent's stored external profile URLs (linkedin / github /
|
|
265
|
+
* website / twitter / behance / dribbble) plus `id` and the last
|
|
266
|
+
* talent-side edit timestamp.
|
|
267
|
+
*
|
|
268
|
+
* This is the primary read for the external-URL state — use it instead of
|
|
269
|
+
* a no-op {@link update} (which is a write-disguised-as-read and risks an
|
|
270
|
+
* unintended write if the response is misinterpreted).
|
|
271
|
+
*
|
|
272
|
+
* Errors: `AuthRevokedError`, `ProfileError(GRAPHQL_ERROR)`,
|
|
273
|
+
* `ProfileError(NETWORK_ERROR)`, `ProfileError(NO_VIEWER)`, `Cf403Error`
|
|
274
|
+
* (and other `TtctlError` subclasses) propagate verbatim — same taxonomy
|
|
275
|
+
* as {@link customRequirementsShow} / {@link readiness}.
|
|
276
|
+
*/
|
|
277
|
+
export declare function show(token: string): Promise<ExternalProfiles>;
|
|
278
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/profile/external/index.ts"],"names":[],"mappings":"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"}
|