@ttctl/core 0.1.0-rc.4 → 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.
- package/dist/services/applications/index.d.ts +281 -7
- package/dist/services/applications/index.d.ts.map +1 -1
- package/dist/services/applications/index.js +464 -4
- package/dist/services/applications/index.js.map +1 -1
- package/dist/services/jobs/index.d.ts +21 -0
- package/dist/services/jobs/index.d.ts.map +1 -1
- package/dist/services/jobs/index.js +56 -0
- package/dist/services/jobs/index.js.map +1 -1
- package/dist/services/profile/employment/index.d.ts +40 -23
- package/dist/services/profile/employment/index.d.ts.map +1 -1
- package/dist/services/profile/employment/index.js +73 -28
- package/dist/services/profile/employment/index.js.map +1 -1
- package/dist/services/profile/skills/index.d.ts +136 -13
- package/dist/services/profile/skills/index.d.ts.map +1 -1
- package/dist/services/profile/skills/index.js +69 -15
- package/dist/services/profile/skills/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { DryRunPreview } from "../../transport.js";
|
|
1
2
|
/**
|
|
2
3
|
* Applications-domain error codes. Mirrors the `ProfileError` /
|
|
3
4
|
* `SkillsError` shape per project convention so each sub-domain carries
|
|
@@ -13,7 +14,7 @@
|
|
|
13
14
|
* `NOT_FOUND` so the CLI can render a "no such application" line and
|
|
14
15
|
* the MCP tool can return a structured `(NOT_FOUND)` error response.
|
|
15
16
|
*/
|
|
16
|
-
export type ApplicationsErrorCode = "NO_VIEWER" | "NOT_FOUND" | "GRAPHQL_ERROR" | "NETWORK_ERROR" | "WIRE_SHAPE_ERROR" | "UNKNOWN";
|
|
17
|
+
export type ApplicationsErrorCode = "NO_VIEWER" | "NOT_FOUND" | "GRAPHQL_ERROR" | "MUTATION_ERROR" | "NETWORK_ERROR" | "WIRE_SHAPE_ERROR" | "UNKNOWN";
|
|
17
18
|
export declare class ApplicationsError extends Error {
|
|
18
19
|
readonly code: ApplicationsErrorCode;
|
|
19
20
|
readonly name = "ApplicationsError";
|
|
@@ -123,15 +124,224 @@ export interface ApplicationJobRef {
|
|
|
123
124
|
fullName: string | null;
|
|
124
125
|
} | null;
|
|
125
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Recruiter-pinned Fixed rate (#410). The Toptal portal renders this as
|
|
129
|
+
* the "Fixed" rate badge on Interest Requests — distinct from the
|
|
130
|
+
* marketplace `maxRate` ceiling on `TalentJob`. Lives on the
|
|
131
|
+
* `AvailabilityRequest.metadata.offeredHourlyRate` path in the
|
|
132
|
+
* synthesized schema (`AvailabilityRequestFixedMetadata`). Shape is
|
|
133
|
+
* the standard `Money { decimal verbose }`. `null` when the activity
|
|
134
|
+
* row has no AR, or the AR carries no Fixed-rate offer.
|
|
135
|
+
*/
|
|
136
|
+
export interface FixedRate {
|
|
137
|
+
decimal: string;
|
|
138
|
+
verbose: string;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* `AvailabilityRequestKindEnum` values (#411). **INFERRED — UNVERIFIED**
|
|
142
|
+
* from the synthesized schema, which declares the enum as `_UNKNOWN` (line
|
|
143
|
+
* 2729 of `../research/graphql/gateway/schema.graphql` — "values not
|
|
144
|
+
* statically extractable; observe via API responses"). The three values
|
|
145
|
+
* exposed here mirror the three `AvailabilityRequest.metadata` union
|
|
146
|
+
* variants:
|
|
147
|
+
*
|
|
148
|
+
* - `FIXED` ← `AvailabilityRequestFixedMetadata` (recruiter pinned a
|
|
149
|
+
* hard hourly rate; the captured Fixed rate from #410)
|
|
150
|
+
* - `FLEXIBLE` ← `AvailabilityRequestFlexibleMetadata` (rate negotiable)
|
|
151
|
+
* - `MARKETPLACE_FLEXIBLE` ← `MarketplaceAvailabilityRequestFlexibleMetadata`
|
|
152
|
+
*
|
|
153
|
+
* Live E2E verification (`packages/e2e/src/44-applications-confirm.e2e.test.ts`)
|
|
154
|
+
* is the authority on which spellings the gateway actually accepts. If
|
|
155
|
+
* the wire rejects a value with an UNKNOWN_ENUM_VALUE GraphQL error, the
|
|
156
|
+
* literal here is the place to fix.
|
|
157
|
+
*
|
|
158
|
+
* The {@link confirm} service auto-detects the kind from the
|
|
159
|
+
* AR's metadata `__typename` when {@link ConfirmInput.kind} is omitted,
|
|
160
|
+
* so callers without explicit knowledge of the enum spelling can still
|
|
161
|
+
* confirm correctly.
|
|
162
|
+
*/
|
|
163
|
+
export type AvailabilityRequestKind = "FIXED" | "FLEXIBLE" | "MARKETPLACE_FLEXIBLE";
|
|
164
|
+
export declare const AVAILABILITY_REQUEST_KINDS: readonly AvailabilityRequestKind[];
|
|
165
|
+
/**
|
|
166
|
+
* One row of `PlatformConfiguration.availabilityRequestRejectReasonsV3.{fixed,flexible}`.
|
|
167
|
+
* The `key` is the wire-side `rejectReason` value the talent must pass
|
|
168
|
+
* when declining an IR. `value` is the human-readable label the portal
|
|
169
|
+
* renders next to the radio button. `customPlaceholder` is the
|
|
170
|
+
* placeholder text the portal shows in the free-text comment box when
|
|
171
|
+
* this reason is selected (server-localised). `isMandatory` indicates
|
|
172
|
+
* whether the comment is required for this reason (`true` → talent
|
|
173
|
+
* must accompany the decline with a free-text note).
|
|
174
|
+
*/
|
|
175
|
+
export interface AvailabilityRequestRejectReason {
|
|
176
|
+
key: string;
|
|
177
|
+
value: string;
|
|
178
|
+
customPlaceholder: string | null;
|
|
179
|
+
isMandatory: boolean;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Reject-reason inventory split by AR kind (`PlatformConfiguration
|
|
183
|
+
* .availabilityRequestRejectReasonsV3` shape). The portal renders only
|
|
184
|
+
* the slice matching the AR's `kind`; client code should likewise pick
|
|
185
|
+
* the slice that matches the AR being declined.
|
|
186
|
+
*/
|
|
187
|
+
export interface AvailabilityRequestRejectReasons {
|
|
188
|
+
/** Reasons valid for Fixed-kind ARs (recruiter pinned a rate). */
|
|
189
|
+
fixed: AvailabilityRequestRejectReason[];
|
|
190
|
+
/** Reasons valid for Flexible-kind ARs (incl. marketplace flexible). */
|
|
191
|
+
flexible: AvailabilityRequestRejectReason[];
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Per-mutation option object for the dry-run short-circuit (issue #164
|
|
195
|
+
* pattern; sibling to `availability.DryRunOptions`). When `dryRun ===
|
|
196
|
+
* true`, the mutation builds a {@link DryRunPreview} and returns
|
|
197
|
+
* `{ kind: "preview", preview }` WITHOUT invoking the gateway transport
|
|
198
|
+
* — including any pre-fetch the apply path would normally issue
|
|
199
|
+
* (`confirm` may resolve `kind` from a `show(id)` pre-fetch when
|
|
200
|
+
* `ConfirmInput.kind` is omitted; under `dryRun`, that pre-fetch is
|
|
201
|
+
* skipped and the variable is filled with a placeholder string).
|
|
202
|
+
* Default `false` — the apply path runs and a `{ kind: "applied",
|
|
203
|
+
* result }` outcome is returned.
|
|
204
|
+
*/
|
|
205
|
+
export interface DryRunOptions {
|
|
206
|
+
/**
|
|
207
|
+
* When `true`, short-circuit before any transport call and return a
|
|
208
|
+
* {@link DryRunPreview}-bearing outcome instead of executing the
|
|
209
|
+
* mutation. Default: `false` — normal apply path.
|
|
210
|
+
*/
|
|
211
|
+
dryRun?: boolean;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Echo shape returned by {@link confirm} and {@link reject} (#411).
|
|
215
|
+
* Carries the post-mutation AR state with the fields the trimmed mobile
|
|
216
|
+
* selection set extends over the captured operations
|
|
217
|
+
* (`ConfirmAvailabilityRequest`, `RejectAvailabilityRequest`):
|
|
218
|
+
*
|
|
219
|
+
* - `id`, `answeredAt`, `statusV2` — from the captured selections
|
|
220
|
+
* - `talentComment`, `requestedHourlyRate`, `rejectReason` — extended
|
|
221
|
+
* here so callers (CLI / MCP) can render a meaningful confirmation
|
|
222
|
+
* of "what was sent to the server" without an extra round-trip
|
|
223
|
+
*
|
|
224
|
+
* The wire-side type is `AvailabilityRequest`; this projection picks
|
|
225
|
+
* only the fields we surface. Live E2E
|
|
226
|
+
* (`packages/e2e/src/44-applications-confirm.e2e.test.ts`,
|
|
227
|
+
* `45-applications-reject.e2e.test.ts`) is the authority on the
|
|
228
|
+
* extended selection — the schema declares `talentComment: String!`
|
|
229
|
+
* (line 819) and `requestedHourlyRate: Money!` (line 817), and
|
|
230
|
+
* `rejectReason: Unknown` (line 816, schema gap — treated as `string |
|
|
231
|
+
* null` at the projection layer until the live wire pins the shape).
|
|
232
|
+
*/
|
|
233
|
+
export interface AvailabilityRequestRespondPayload {
|
|
234
|
+
id: string;
|
|
235
|
+
answeredAt: string | null;
|
|
236
|
+
statusV2: ApplicationStatus;
|
|
237
|
+
talentComment: string | null;
|
|
238
|
+
requestedHourlyRate: {
|
|
239
|
+
decimal: string;
|
|
240
|
+
verbose: string;
|
|
241
|
+
} | null;
|
|
242
|
+
rejectReason: string | null;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Input for {@link confirm}. The wire mutation's input takes
|
|
246
|
+
* `talentComment, matcherQuestionsAnswers, expertiseQuestionsAnswers,
|
|
247
|
+
* pitchData, requestedHourlyRate, kind` (per
|
|
248
|
+
* `../research/graphql/gateway/operations/mobile/ConfirmAvailabilityRequest.graphql`).
|
|
249
|
+
*
|
|
250
|
+
* - `requestedHourlyRate` is **REQUIRED** by the wire (`BigDecimal!`).
|
|
251
|
+
* When omitted, the service auto-fills from the AR's
|
|
252
|
+
* `metadata.offeredHourlyRate` (the recruiter-pinned Fixed rate); when
|
|
253
|
+
* the AR has no Fixed-metadata variant (i.e., the AR kind is
|
|
254
|
+
* `FLEXIBLE` or `MARKETPLACE_FLEXIBLE`) the caller MUST supply a rate
|
|
255
|
+
* explicitly — the service throws `MUTATION_ERROR` if neither is
|
|
256
|
+
* available.
|
|
257
|
+
* - `kind` is **REQUIRED** by the wire
|
|
258
|
+
* (`AvailabilityRequestKindEnum!`). When omitted, the service
|
|
259
|
+
* auto-detects from the AR's `metadata.__typename`. INFERRED — see
|
|
260
|
+
* {@link AvailabilityRequestKind} for the value spellings.
|
|
261
|
+
* - `comment` (optional) — the talent's free-text accompanying message.
|
|
262
|
+
* Mapped to the wire's `talentComment` field.
|
|
263
|
+
* - `matcherQuestionsAnswers`, `expertiseQuestionsAnswers`, `pitchData`
|
|
264
|
+
* (optional) — structural inputs for AR confirmations that require
|
|
265
|
+
* matcher / expertise question answers or a custom pitch. These are
|
|
266
|
+
* wire pass-throughs; the service does NOT introspect them. v1
|
|
267
|
+
* exposes them as `unknown` arrays — callers passing them are
|
|
268
|
+
* responsible for the wire shape (`JobPositionAnswerInput[]`,
|
|
269
|
+
* `JobExpertiseAnswerInput[]`, `PitchInput`).
|
|
270
|
+
*/
|
|
271
|
+
export interface ConfirmInput {
|
|
272
|
+
/** Optional talent-side free-text message. Wire field: `talentComment`. */
|
|
273
|
+
comment?: string;
|
|
274
|
+
/** Hourly rate the talent requests for this engagement. Decimal string (matches `BigDecimal!`). Auto-filled from the AR's Fixed metadata when omitted. */
|
|
275
|
+
requestedHourlyRate?: string;
|
|
276
|
+
/** AR kind. Auto-detected from `metadata.__typename` when omitted. INFERRED enum values — see {@link AvailabilityRequestKind}. */
|
|
277
|
+
kind?: AvailabilityRequestKind;
|
|
278
|
+
/** Optional matcher-questions answers (`JobPositionAnswerInput[]`). v1: opaque pass-through. */
|
|
279
|
+
matcherQuestionsAnswers?: unknown[];
|
|
280
|
+
/** Optional expertise-questions answers (`JobExpertiseAnswerInput[]`). v1: opaque pass-through. */
|
|
281
|
+
expertiseQuestionsAnswers?: unknown[];
|
|
282
|
+
/** Optional pitch input (`PitchInput`). v1: opaque pass-through. */
|
|
283
|
+
pitchInput?: Record<string, unknown>;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Input for {@link reject}. The wire mutation's input takes
|
|
287
|
+
* `talentComment, rejectReason` (per
|
|
288
|
+
* `../research/graphql/gateway/operations/mobile/RejectAvailabilityRequest.graphql`).
|
|
289
|
+
*
|
|
290
|
+
* - `reason` is **REQUIRED** — the wire `rejectReason: String!` field.
|
|
291
|
+
* Pass a `key` from {@link rejectReasons} (e.g. `"rate_too_low"`).
|
|
292
|
+
* The service does NOT validate the key against the inventory at
|
|
293
|
+
* call time; the wire rejects unknown keys with a top-level GraphQL
|
|
294
|
+
* error.
|
|
295
|
+
* - `comment` (optional) — talent free-text. Wire field: `talentComment`.
|
|
296
|
+
* When the chosen `reason` has `isMandatory: true`, the wire requires
|
|
297
|
+
* a non-empty comment.
|
|
298
|
+
*/
|
|
299
|
+
export interface RejectInput {
|
|
300
|
+
/** Wire `rejectReason` string key (from {@link rejectReasons}). */
|
|
301
|
+
reason: string;
|
|
302
|
+
/** Optional accompanying free-text. Wire field: `talentComment`. */
|
|
303
|
+
comment?: string;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Apply-path outcome for {@link confirm} / {@link reject}. Carries the
|
|
307
|
+
* post-mutation AR projection in `result`; the discriminant `kind:
|
|
308
|
+
* "applied"` distinguishes apply from dry-run preview.
|
|
309
|
+
*/
|
|
310
|
+
export interface AvailabilityRequestAppliedOutcome {
|
|
311
|
+
kind: "applied";
|
|
312
|
+
result: AvailabilityRequestRespondPayload;
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Dry-run outcome shared by `confirm` and `reject` (#411). Mirrors the
|
|
316
|
+
* `availability.AvailabilityDryRunPreviewOutcome` pattern.
|
|
317
|
+
*/
|
|
318
|
+
export interface AvailabilityRequestDryRunPreviewOutcome {
|
|
319
|
+
kind: "preview";
|
|
320
|
+
preview: DryRunPreview;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Discriminated-union return type for {@link confirm}.
|
|
324
|
+
*/
|
|
325
|
+
export type ConfirmOutcome = AvailabilityRequestAppliedOutcome | AvailabilityRequestDryRunPreviewOutcome;
|
|
326
|
+
/**
|
|
327
|
+
* Discriminated-union return type for {@link reject}.
|
|
328
|
+
*/
|
|
329
|
+
export type RejectOutcome = AvailabilityRequestAppliedOutcome | AvailabilityRequestDryRunPreviewOutcome;
|
|
126
330
|
/**
|
|
127
331
|
* One row in the activity list — the CLI's `applications list` and the
|
|
128
332
|
* MCP's `ttctl_applications_list` both surface this shape. `engagement`,
|
|
129
|
-
* `jobApplication`,
|
|
130
|
-
*
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
333
|
+
* `jobApplication`, and `interview` are presence indicators (only `id`
|
|
334
|
+
* is selected) — a non-null value tells the consumer "this row has
|
|
335
|
+
* reached the corresponding lifecycle stage". `availabilityRequest`
|
|
336
|
+
* additionally carries the recruiter Fixed-rate offer (#410). The
|
|
337
|
+
* `mostRelevantApplication` union from the captured operation is
|
|
338
|
+
* intentionally elided here: it duplicates information `jobApplication`
|
|
339
|
+
* / `availabilityRequest` already carry.
|
|
340
|
+
*
|
|
341
|
+
* `fixedRate` (#410) is projected from
|
|
342
|
+
* `availabilityRequest.metadata.offeredHourlyRate` so callers can rate-
|
|
343
|
+
* triage Interest Requests without crawling into the AR sub-shape
|
|
344
|
+
* themselves. `null` when no AR exists for this row.
|
|
135
345
|
*/
|
|
136
346
|
export interface JobActivityItem {
|
|
137
347
|
id: string;
|
|
@@ -152,6 +362,7 @@ export interface JobActivityItem {
|
|
|
152
362
|
interview: {
|
|
153
363
|
id: string;
|
|
154
364
|
} | null;
|
|
365
|
+
fixedRate: FixedRate | null;
|
|
155
366
|
}
|
|
156
367
|
/**
|
|
157
368
|
* Detail-view shape for `applications show <id>`. Extends
|
|
@@ -262,4 +473,67 @@ export declare function show(token: string, id: string): Promise<JobActivityItem
|
|
|
262
473
|
* user knows exactly what went wrong.
|
|
263
474
|
*/
|
|
264
475
|
export declare function stats(token: string): Promise<ApplicationsStats>;
|
|
476
|
+
/**
|
|
477
|
+
* Confirm an Interest Request — wire `ConfirmAvailabilityRequest` (#411).
|
|
478
|
+
*
|
|
479
|
+
* - `id` is the **`AvailabilityRequest.id`** (NOT the
|
|
480
|
+
* `TalentJobActivityItem.id`). Activity-item callers should chain via
|
|
481
|
+
* `show(token, activityId).availabilityRequest?.id` or
|
|
482
|
+
* `list(...).items[].availabilityRequest?.id`.
|
|
483
|
+
* - When {@link ConfirmInput.kind} is omitted, the service issues a
|
|
484
|
+
* `GetAvailabilityRequestKind($id)` pre-fetch to resolve the kind
|
|
485
|
+
* from the AR's metadata `__typename`. When the AR is Fixed-kind and
|
|
486
|
+
* `requestedHourlyRate` is also omitted, the pre-fetch additionally
|
|
487
|
+
* supplies the recruiter's offered rate as the default.
|
|
488
|
+
* - When the AR is Flexible / MarketplaceFlexible AND
|
|
489
|
+
* `requestedHourlyRate` is omitted, throws
|
|
490
|
+
* `MUTATION_ERROR("requestedHourlyRate is required for FLEXIBLE/MARKETPLACE_FLEXIBLE
|
|
491
|
+
* ARs — pass an explicit rate")`.
|
|
492
|
+
*
|
|
493
|
+
* Dry-run path (`options.dryRun === true`): skips the pre-fetch
|
|
494
|
+
* entirely and emits a {@link DryRunPreview} with placeholder strings
|
|
495
|
+
* for any fields that would have been resolved live. Matches the
|
|
496
|
+
* `availability.workingHours.set` skipped-prefetch pattern.
|
|
497
|
+
*
|
|
498
|
+
* Bad-id behavior (per project auto-memory `project_toptal_wire_quirks.md`):
|
|
499
|
+
* mutations against bad ids return HTTP 500. The service does NOT
|
|
500
|
+
* pre-validate id existence; callers see `GRAPHQL_ERROR` and may
|
|
501
|
+
* recover by issuing a `show()` first.
|
|
502
|
+
*
|
|
503
|
+
* Throws `MUTATION_ERROR` when the gateway responds with
|
|
504
|
+
* `success: false` (validation failure, e.g. already-confirmed AR,
|
|
505
|
+
* unknown enum value, malformed BigDecimal).
|
|
506
|
+
*/
|
|
507
|
+
export declare function confirm(token: string, id: string, input?: ConfirmInput, options?: DryRunOptions): Promise<ConfirmOutcome>;
|
|
508
|
+
/**
|
|
509
|
+
* Reject an Interest Request — wire `RejectAvailabilityRequest` (#411).
|
|
510
|
+
*
|
|
511
|
+
* - `id` is the **`AvailabilityRequest.id`** (same as {@link confirm}).
|
|
512
|
+
* - `input.reason` is the `key` from {@link rejectReasons}. The
|
|
513
|
+
* service does NOT validate the key locally; the wire rejects
|
|
514
|
+
* unknown keys with a top-level GraphQL error.
|
|
515
|
+
* - `input.comment` is optional; required by the wire only when the
|
|
516
|
+
* chosen reason has `isMandatory: true`. The service does not
|
|
517
|
+
* pre-validate (cheaper to let the wire be the authority).
|
|
518
|
+
*
|
|
519
|
+
* Dry-run path (`options.dryRun === true`): emits a {@link DryRunPreview}
|
|
520
|
+
* without invoking the gateway. No pre-fetch is performed in any path
|
|
521
|
+
* (reject does not need to resolve kind / rate).
|
|
522
|
+
*
|
|
523
|
+
* Throws `MUTATION_ERROR` on `success: false`.
|
|
524
|
+
*/
|
|
525
|
+
export declare function reject(token: string, id: string, input: RejectInput, options?: DryRunOptions): Promise<RejectOutcome>;
|
|
526
|
+
/**
|
|
527
|
+
* Fetch the IR decline-reason inventory from
|
|
528
|
+
* `Query.platformConfiguration.availabilityRequestRejectReasonsV3`.
|
|
529
|
+
*
|
|
530
|
+
* Returns `{ fixed, flexible }` arrays — the portal renders only the
|
|
531
|
+
* slice matching the AR's `kind`. Callers should likewise pick the
|
|
532
|
+
* slice that matches the AR being declined.
|
|
533
|
+
*
|
|
534
|
+
* Empty arrays (no reasons of that kind) are surfaced verbatim.
|
|
535
|
+
* Throws `WIRE_SHAPE_ERROR` if the platform config is absent (the
|
|
536
|
+
* field is non-null in the schema; absence is wire-shape drift).
|
|
537
|
+
*/
|
|
538
|
+
export declare function rejectReasons(token: string): Promise<AvailabilityRequestRejectReasons>;
|
|
265
539
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/applications/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/applications/index.ts"],"names":[],"mappings":"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"}
|