@burdenoff/microfe-movethewheels 2026.929.2 → 2026.929.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/generated/wspace-types.d.ts +1547 -64
- package/dist/hooks/useCustomers.js +3 -9
- package/dist/hooks/useFleet.js +147 -150
- package/dist/hooks/useInventory.js +178 -153
- package/dist/hooks/useRoutes.js +9 -9
- package/dist/hooks/useTracking.js +14 -16
- package/dist/movethewheels/hooks/useFleet.d.ts +11 -4
- package/dist/movethewheels/hooks/useInventory.d.ts +13 -12
- package/dist/movethewheels/hooks/useRoutes.d.ts +4 -1
- package/dist/movethewheels/types/index.d.ts +33 -23
- package/dist/movethewheels/utils/formatters.d.ts +1 -1
- package/dist/pages/CustomerDetailsPage.js +6 -6
- package/dist/pages/CustomersPage.js +2 -2
- package/dist/pages/DashboardPage.js +1 -1
- package/dist/pages/DriverDetailsPage.js +68 -43
- package/dist/pages/DriversPage.js +4 -4
- package/dist/pages/FleetPage.js +1 -1
- package/dist/pages/InventoryPage.js +11 -12
- package/dist/pages/LiveTrackingPage.js +4 -4
- package/dist/pages/ProductDetailsPage.js +408 -249
- package/dist/pages/ProductsPage.js +5 -5
- package/dist/pages/RouteDetailsPage.js +8 -10
- package/dist/pages/RoutesPage.js +2 -2
- package/dist/pages/TrackingPage.js +14 -8
- package/dist/pages/WarehouseDetailsPage.js +166 -163
- package/dist/pages/WarehousesPage.js +29 -21
- package/package.json +1 -1
- package/src/generated/wspace-types.ts +1762 -64
- package/src/movethewheels/hooks/useCustomers.ts +7 -9
- package/src/movethewheels/hooks/useFleet.ts +92 -34
- package/src/movethewheels/hooks/useInventory.ts +143 -49
- package/src/movethewheels/hooks/useRoutes.ts +36 -16
- package/src/movethewheels/hooks/useTracking.ts +23 -15
- package/src/movethewheels/pages/CustomerDetailsPage.tsx +14 -8
- package/src/movethewheels/pages/CustomersPage.tsx +5 -2
- package/src/movethewheels/pages/DashboardPage.tsx +3 -1
- package/src/movethewheels/pages/DriverDetailsPage.tsx +44 -12
- package/src/movethewheels/pages/DriversPage.tsx +1 -1
- package/src/movethewheels/pages/FleetPage.tsx +1 -1
- package/src/movethewheels/pages/InventoryPage.tsx +20 -16
- package/src/movethewheels/pages/LiveTrackingPage.tsx +6 -4
- package/src/movethewheels/pages/ProductDetailsPage.tsx +228 -49
- package/src/movethewheels/pages/ProductsPage.tsx +13 -5
- package/src/movethewheels/pages/RouteDetailsPage.tsx +16 -8
- package/src/movethewheels/pages/RoutesPage.tsx +4 -2
- package/src/movethewheels/pages/TrackingPage.tsx +25 -10
- package/src/movethewheels/pages/WarehouseDetailsPage.tsx +42 -29
- package/src/movethewheels/pages/WarehousesPage.tsx +23 -15
- package/src/movethewheels/types/index.ts +36 -24
- package/src/movethewheels/utils/formatters.ts +1 -1
|
@@ -3937,6 +3937,104 @@ export type AssistantConversation = {
|
|
|
3937
3937
|
updatedAt: Scalars['DateTime']['output'];
|
|
3938
3938
|
};
|
|
3939
3939
|
|
|
3940
|
+
export type AssistantHistoryChangeConnection = {
|
|
3941
|
+
__typename?: 'AssistantHistoryChangeConnection';
|
|
3942
|
+
edges: Array<AssistantHistoryConversationEdge>;
|
|
3943
|
+
nodes: Array<AssistantHistoryConversation>;
|
|
3944
|
+
pageInfo: PageInfo;
|
|
3945
|
+
/** True when the cursor predates retained tombstones: drop synced state and pull from the start. */
|
|
3946
|
+
resetRequired: Scalars['Boolean']['output'];
|
|
3947
|
+
};
|
|
3948
|
+
|
|
3949
|
+
export type AssistantHistoryConversation = {
|
|
3950
|
+
__typename?: 'AssistantHistoryConversation';
|
|
3951
|
+
/** The id the client minted; the same on every device. Null = saved before v2 (read-only). */
|
|
3952
|
+
clientConversationId?: Maybe<Scalars['ID']['output']>;
|
|
3953
|
+
createdAt: Scalars['DateTime']['output'];
|
|
3954
|
+
deleted: Scalars['Boolean']['output'];
|
|
3955
|
+
deletedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
3956
|
+
id: Scalars['ID']['output'];
|
|
3957
|
+
lastMessageSeq: Scalars['Int']['output'];
|
|
3958
|
+
legacy: Scalars['Boolean']['output'];
|
|
3959
|
+
/** The product as the request named it. A renamed product's spellings (botlit / botmanor) are one product with one history: either spelling reads and writes the same conversations, revisions and feed. */
|
|
3960
|
+
productId: Scalars['String']['output'];
|
|
3961
|
+
/** Per-(me, workspace, product) revision of this row's last change. Monotonic in commit order. */
|
|
3962
|
+
revision: Scalars['Int']['output'];
|
|
3963
|
+
/** A label derived from the first prompt. Null once the conversation is deleted: a deleted chat's title is never served. */
|
|
3964
|
+
title?: Maybe<Scalars['String']['output']>;
|
|
3965
|
+
updatedAt: Scalars['DateTime']['output'];
|
|
3966
|
+
};
|
|
3967
|
+
|
|
3968
|
+
export type AssistantHistoryConversationConnection = {
|
|
3969
|
+
__typename?: 'AssistantHistoryConversationConnection';
|
|
3970
|
+
edges: Array<AssistantHistoryConversationEdge>;
|
|
3971
|
+
nodes: Array<AssistantHistoryConversation>;
|
|
3972
|
+
pageInfo: PageInfo;
|
|
3973
|
+
};
|
|
3974
|
+
|
|
3975
|
+
export type AssistantHistoryConversationEdge = {
|
|
3976
|
+
__typename?: 'AssistantHistoryConversationEdge';
|
|
3977
|
+
cursor: Scalars['String']['output'];
|
|
3978
|
+
node: AssistantHistoryConversation;
|
|
3979
|
+
};
|
|
3980
|
+
|
|
3981
|
+
export enum AssistantHistoryDeleteOutcome {
|
|
3982
|
+
/** The conversation was already deleted; nothing changed. */
|
|
3983
|
+
AlreadyDeleted = 'ALREADY_DELETED',
|
|
3984
|
+
/** A live conversation was deleted. */
|
|
3985
|
+
Deleted = 'DELETED',
|
|
3986
|
+
/** No conversation with this legacy (server) id exists in this scope; nothing changed. */
|
|
3987
|
+
NotPresent = 'NOT_PRESENT',
|
|
3988
|
+
/** The server had never seen this client id; a tombstone was recorded so a late save cannot create it. */
|
|
3989
|
+
TombstonedUnseen = 'TOMBSTONED_UNSEEN'
|
|
3990
|
+
}
|
|
3991
|
+
|
|
3992
|
+
export type AssistantHistoryEntry = {
|
|
3993
|
+
__typename?: 'AssistantHistoryEntry';
|
|
3994
|
+
/** The client's ISO timestamp, returned exactly as stored (a String, never a Date). */
|
|
3995
|
+
clientCreatedAt?: Maybe<Scalars['String']['output']>;
|
|
3996
|
+
clientMessageId?: Maybe<Scalars['ID']['output']>;
|
|
3997
|
+
content: Scalars['String']['output'];
|
|
3998
|
+
createdAt: Scalars['DateTime']['output'];
|
|
3999
|
+
id: Scalars['ID']['output'];
|
|
4000
|
+
kind?: Maybe<AssistantHistoryEntryKind>;
|
|
4001
|
+
/** Allow-listed client metadata; stored and returned verbatim, never interpreted or executed. */
|
|
4002
|
+
metadata?: Maybe<Scalars['JSON']['output']>;
|
|
4003
|
+
role: AssistantHistoryRole;
|
|
4004
|
+
/** Position in the conversation (1..n). Always set for v2 and backfilled rows. */
|
|
4005
|
+
seq?: Maybe<Scalars['Int']['output']>;
|
|
4006
|
+
};
|
|
4007
|
+
|
|
4008
|
+
export type AssistantHistoryEntryConnection = {
|
|
4009
|
+
__typename?: 'AssistantHistoryEntryConnection';
|
|
4010
|
+
conversation: AssistantHistoryConversation;
|
|
4011
|
+
edges: Array<AssistantHistoryEntryEdge>;
|
|
4012
|
+
nodes: Array<AssistantHistoryEntry>;
|
|
4013
|
+
pageInfo: PageInfo;
|
|
4014
|
+
};
|
|
4015
|
+
|
|
4016
|
+
export type AssistantHistoryEntryEdge = {
|
|
4017
|
+
__typename?: 'AssistantHistoryEntryEdge';
|
|
4018
|
+
cursor: Scalars['String']['output'];
|
|
4019
|
+
node: AssistantHistoryEntry;
|
|
4020
|
+
};
|
|
4021
|
+
|
|
4022
|
+
export type AssistantHistoryEntryInput = {
|
|
4023
|
+
clientCreatedAt?: InputMaybe<Scalars['String']['input']>;
|
|
4024
|
+
clientMessageId: Scalars['ID']['input'];
|
|
4025
|
+
/** Stored as sent, except that U+0000 and an unpaired UTF-16 surrogate (which cannot be stored) become U+FFFD. */
|
|
4026
|
+
content: Scalars['String']['input'];
|
|
4027
|
+
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
4028
|
+
role: AssistantHistoryRole;
|
|
4029
|
+
};
|
|
4030
|
+
|
|
4031
|
+
/** What a saved call records. Extensible later (e.g. RECORD) without any approval schema. */
|
|
4032
|
+
export enum AssistantHistoryEntryKind {
|
|
4033
|
+
LocalCommand = 'LOCAL_COMMAND',
|
|
4034
|
+
Note = 'NOTE',
|
|
4035
|
+
Turn = 'TURN'
|
|
4036
|
+
}
|
|
4037
|
+
|
|
3940
4038
|
export type AssistantHistoryMessage = {
|
|
3941
4039
|
__typename?: 'AssistantHistoryMessage';
|
|
3942
4040
|
content: Scalars['String']['output'];
|
|
@@ -3945,11 +4043,120 @@ export type AssistantHistoryMessage = {
|
|
|
3945
4043
|
role: AssistantMessageRole;
|
|
3946
4044
|
};
|
|
3947
4045
|
|
|
4046
|
+
export enum AssistantHistoryRole {
|
|
4047
|
+
Assistant = 'ASSISTANT',
|
|
4048
|
+
Note = 'NOTE',
|
|
4049
|
+
User = 'USER'
|
|
4050
|
+
}
|
|
4051
|
+
|
|
4052
|
+
export enum AssistantHistorySaveOutcome {
|
|
4053
|
+
/** Every entry was already stored; nothing was written. */
|
|
4054
|
+
AlreadyApplied = 'ALREADY_APPLIED',
|
|
4055
|
+
/** The missing entries were written. */
|
|
4056
|
+
Applied = 'APPLIED',
|
|
4057
|
+
/** The conversation is deleted (or tombstoned); nothing was written. */
|
|
4058
|
+
ConversationDeleted = 'CONVERSATION_DELETED'
|
|
4059
|
+
}
|
|
4060
|
+
|
|
3948
4061
|
export enum AssistantMessageRole {
|
|
3949
4062
|
Assistant = 'ASSISTANT',
|
|
3950
4063
|
User = 'USER'
|
|
3951
4064
|
}
|
|
3952
4065
|
|
|
4066
|
+
/** The gateway a relayed document is sent to. */
|
|
4067
|
+
export enum AssistantRelayGateway {
|
|
4068
|
+
/** The global public gateway (/global/graphql). */
|
|
4069
|
+
Global = 'GLOBAL',
|
|
4070
|
+
/** The workspace public gateway (/workspaces/graphql). */
|
|
4071
|
+
Workspace = 'WORKSPACE'
|
|
4072
|
+
}
|
|
4073
|
+
|
|
4074
|
+
/** A GraphQL mutation for the relay to run as the session's owner (admin Take-action sessions only). */
|
|
4075
|
+
export type AssistantSessionExecuteInput = {
|
|
4076
|
+
/** The session capability (asc1.<sandboxId>.<mac>) the sandbox proxy delivered. */
|
|
4077
|
+
capability: Scalars['String']['input'];
|
|
4078
|
+
gateway: AssistantRelayGateway;
|
|
4079
|
+
/** Sent on as x-idempotency-key: 1 to 64 of A-Z, a-z, 0-9, _ and -. */
|
|
4080
|
+
idempotencyKey?: InputMaybe<Scalars['String']['input']>;
|
|
4081
|
+
/** When given, the name of the document's one operation. */
|
|
4082
|
+
operationName?: InputMaybe<Scalars['String']['input']>;
|
|
4083
|
+
/** One GraphQL operation, a mutation whose root selections are plain fields without directives, at most 64 KiB. */
|
|
4084
|
+
query: Scalars['String']['input'];
|
|
4085
|
+
/** A JSON object, at most 256 KiB serialized. */
|
|
4086
|
+
variables?: InputMaybe<Scalars['JSONObject']['input']>;
|
|
4087
|
+
};
|
|
4088
|
+
|
|
4089
|
+
/** A GraphQL query for the relay to run as the session's owner. */
|
|
4090
|
+
export type AssistantSessionRelayInput = {
|
|
4091
|
+
/** The session capability (asc1.<sandboxId>.<mac>) the sandbox proxy delivered. */
|
|
4092
|
+
capability: Scalars['String']['input'];
|
|
4093
|
+
gateway: AssistantRelayGateway;
|
|
4094
|
+
/** When given, the name of the document's one operation. */
|
|
4095
|
+
operationName?: InputMaybe<Scalars['String']['input']>;
|
|
4096
|
+
/** One GraphQL operation, a query, at most 64 KiB. */
|
|
4097
|
+
query: Scalars['String']['input'];
|
|
4098
|
+
/** A JSON object, at most 256 KiB serialized. */
|
|
4099
|
+
variables?: InputMaybe<Scalars['JSONObject']['input']>;
|
|
4100
|
+
};
|
|
4101
|
+
|
|
4102
|
+
/** What the relay did. */
|
|
4103
|
+
export type AssistantSessionRelayResult = {
|
|
4104
|
+
__typename?: 'AssistantSessionRelayResult';
|
|
4105
|
+
/** The gateway's JSON response body when ok; otherwise { reason? }. */
|
|
4106
|
+
body?: Maybe<Scalars['JSON']['output']>;
|
|
4107
|
+
/** Null when ok; otherwise why nothing (or, for UPSTREAM_*, nothing usable) came back. */
|
|
4108
|
+
code?: Maybe<Scalars['String']['output']>;
|
|
4109
|
+
/** The gateway's HTTP status when ok; otherwise the status the code maps to. */
|
|
4110
|
+
httpStatus: Scalars['Int']['output'];
|
|
4111
|
+
/** True when the document was sent and the gateway answered; body is then the gateway's response, unmasked. */
|
|
4112
|
+
ok: Scalars['Boolean']['output'];
|
|
4113
|
+
};
|
|
4114
|
+
|
|
4115
|
+
/** One finished assistant turn. Every duration is whole milliseconds measured from the moment the panel accepted the turn. On a retried turn, the first visible output is the first time ANY attempt showed output, the first answer text comes from the attempt that answered, and runtimeReadyMs and modelStartMs are not recorded (its attempts ran on different runtimes). Dimensions are plain strings, not enums, so a value a newer client introduces is recorded as "other" instead of failing the whole report. */
|
|
4116
|
+
export type AssistantTurnTimingInput = {
|
|
4117
|
+
/** How the question was asked: chat or voice. */
|
|
4118
|
+
channel: Scalars['String']['input'];
|
|
4119
|
+
/** The turn ended. */
|
|
4120
|
+
completeMs: Scalars['Int']['input'];
|
|
4121
|
+
/** The reply's first audio played. Counted only on answered voice turns, and only when it began within 120s of the turn ending. */
|
|
4122
|
+
firstAudioMs?: InputMaybe<Scalars['Int']['input']>;
|
|
4123
|
+
/** The first answer text was shown. Counted only when the outcome is answered. */
|
|
4124
|
+
firstUsefulOutputMs?: InputMaybe<Scalars['Int']['input']>;
|
|
4125
|
+
/** The first output was shown, a tool line included. Loading copy never counts. */
|
|
4126
|
+
firstVisibleOutputMs?: InputMaybe<Scalars['Int']['input']>;
|
|
4127
|
+
/** The assistant mode the turn ran in. */
|
|
4128
|
+
mode: Scalars['String']['input'];
|
|
4129
|
+
/** The model accepted the prompt. */
|
|
4130
|
+
modelStartMs?: InputMaybe<Scalars['Int']['input']>;
|
|
4131
|
+
/** How the turn ended: answered, timedOut, refused, failed, stopped, or abandoned (the page was left while the turn was running; completeMs is then the time to leaving). */
|
|
4132
|
+
outcome: Scalars['String']['input'];
|
|
4133
|
+
/** What a first-keystroke pre-warm did for the turn: hit, joined or joinedFailed. A turn that ended while waiting on a pre-warm that had begun a boot sends joined. Absent when none was involved. */
|
|
4134
|
+
prewarm?: InputMaybe<Scalars['String']['input']>;
|
|
4135
|
+
/** The product whose assistant ran the turn. */
|
|
4136
|
+
product: Scalars['String']['input'];
|
|
4137
|
+
/** The turn was retried on a second runtime after its first attempt failed. */
|
|
4138
|
+
retried?: InputMaybe<Scalars['Boolean']['input']>;
|
|
4139
|
+
/** How the runtime was found: warm, new-session, probed, adopted or cold. A turn that ended while waiting on a boot sends the boot it waited on (cold for its own create, adopted for one it found under way). Absent when the turn ended before it was known to be waiting on one. */
|
|
4140
|
+
runtime?: InputMaybe<Scalars['String']['input']>;
|
|
4141
|
+
/** A runtime (sandbox and session) was ready to take the prompt. */
|
|
4142
|
+
runtimeReadyMs?: InputMaybe<Scalars['Int']['input']>;
|
|
4143
|
+
};
|
|
4144
|
+
|
|
4145
|
+
/** What the service did with a report. */
|
|
4146
|
+
export type AssistantTurnTimingsReceipt = {
|
|
4147
|
+
__typename?: 'AssistantTurnTimingsReceipt';
|
|
4148
|
+
/** Turns recorded. */
|
|
4149
|
+
accepted: Scalars['Int']['output'];
|
|
4150
|
+
/** This nonce was already recorded; nothing was recorded again. */
|
|
4151
|
+
duplicate: Scalars['Boolean']['output'];
|
|
4152
|
+
/** False when collection is switched off; the client should stop reporting for this page load. */
|
|
4153
|
+
enabled: Scalars['Boolean']['output'];
|
|
4154
|
+
/** The caller is over its reporting budget; nothing was recorded. */
|
|
4155
|
+
rateLimited: Scalars['Boolean']['output'];
|
|
4156
|
+
/** Turns dropped as inconsistent (out-of-range or out-of-order timings, oversized values) or as implausible (more turn time than the caller could have spent). */
|
|
4157
|
+
rejected: Scalars['Int']['output'];
|
|
4158
|
+
};
|
|
4159
|
+
|
|
3953
4160
|
export type AthAddDrillInput = {
|
|
3954
4161
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
3955
4162
|
durationSec?: InputMaybe<Scalars['Int']['input']>;
|
|
@@ -5233,6 +5440,8 @@ export type Board = {
|
|
|
5233
5440
|
projectId: Scalars['String']['output'];
|
|
5234
5441
|
/** Board type */
|
|
5235
5442
|
type: BoardType;
|
|
5443
|
+
/** Live work items of the board's project that are on no column: their status has no column and they were never placed on one */
|
|
5444
|
+
unplacedCount: Scalars['Int']['output'];
|
|
5236
5445
|
/** Last update timestamp */
|
|
5237
5446
|
updatedAt: Scalars['DateTime']['output'];
|
|
5238
5447
|
/** Actor who last updated this board */
|
|
@@ -5246,6 +5455,8 @@ export type BoardColumn = {
|
|
|
5246
5455
|
__typename?: 'BoardColumn';
|
|
5247
5456
|
/** Parent board ID */
|
|
5248
5457
|
boardId: Scalars['String']['output'];
|
|
5458
|
+
/** The work items this column shows. An item placed in a column stays there unless the column maps to a status the item no longer has; otherwise it is in the first column mapped to its status. */
|
|
5459
|
+
cards: PlanmagnetWorkItemList;
|
|
5249
5460
|
/** Creation timestamp */
|
|
5250
5461
|
createdAt: Scalars['DateTime']['output'];
|
|
5251
5462
|
/** Unique identifier */
|
|
@@ -5266,10 +5477,19 @@ export type BoardColumn = {
|
|
|
5266
5477
|
wipLimit?: Maybe<Scalars['Int']['output']>;
|
|
5267
5478
|
};
|
|
5268
5479
|
|
|
5480
|
+
|
|
5481
|
+
/** A column within a board representing a workflow stage. */
|
|
5482
|
+
export type BoardColumnCardsArgs = {
|
|
5483
|
+
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
5484
|
+
};
|
|
5485
|
+
|
|
5269
5486
|
export enum BoardColumnType {
|
|
5487
|
+
Backlog = 'BACKLOG',
|
|
5270
5488
|
Custom = 'CUSTOM',
|
|
5271
5489
|
Done = 'DONE',
|
|
5272
5490
|
InProgress = 'IN_PROGRESS',
|
|
5491
|
+
Review = 'REVIEW',
|
|
5492
|
+
Testing = 'TESTING',
|
|
5273
5493
|
Todo = 'TODO'
|
|
5274
5494
|
}
|
|
5275
5495
|
|
|
@@ -11880,6 +12100,7 @@ export type ConversationMembership = {
|
|
|
11880
12100
|
createdAt: Scalars['DateTime']['output'];
|
|
11881
12101
|
customAvatar?: Maybe<Scalars['String']['output']>;
|
|
11882
12102
|
customTitle?: Maybe<Scalars['String']['output']>;
|
|
12103
|
+
displayName: Scalars['String']['output'];
|
|
11883
12104
|
id: Scalars['ID']['output'];
|
|
11884
12105
|
invitedBy?: Maybe<Scalars['ID']['output']>;
|
|
11885
12106
|
isMuted: Scalars['Boolean']['output'];
|
|
@@ -14449,9 +14670,13 @@ export type CreateDashboardEmbedPolicyInput = {
|
|
|
14449
14670
|
allowedParentOrigins: Array<Scalars['String']['input']>;
|
|
14450
14671
|
dashboardId: Scalars['ID']['input'];
|
|
14451
14672
|
expiresAt?: InputMaybe<Scalars['DateTime']['input']>;
|
|
14452
|
-
/** Publish-time presentation options (BOFF-5735). Omitted fields take the defaults: LIGHT theme, no title header
|
|
14673
|
+
/** Publish-time presentation options (BOFF-5735). Omitted fields take the defaults: LIGHT theme, no title header. The "Powered by BigConsole" footer is not an option: every embed always shows it. */
|
|
14453
14674
|
presentationTheme?: InputMaybe<DashboardEmbedTheme>;
|
|
14454
14675
|
sessionTtlSeconds?: InputMaybe<Scalars['Int']['input']>;
|
|
14676
|
+
/**
|
|
14677
|
+
* Ignored. Every embed always shows the "Powered by BigConsole" footer. Accepted only so older clients that still send it keep working.
|
|
14678
|
+
* @deprecated Embeds always show the BigConsole footer; this setting is ignored.
|
|
14679
|
+
*/
|
|
14455
14680
|
showBrandingFooter?: InputMaybe<Scalars['Boolean']['input']>;
|
|
14456
14681
|
showDashboardTitle?: InputMaybe<Scalars['Boolean']['input']>;
|
|
14457
14682
|
};
|
|
@@ -14609,16 +14834,21 @@ export type CreateDisposableWorkspaceInput = {
|
|
|
14609
14834
|
};
|
|
14610
14835
|
|
|
14611
14836
|
export type CreateDriverInput = {
|
|
14837
|
+
baseSalary?: InputMaybe<Scalars['Float']['input']>;
|
|
14838
|
+
bonusYtd?: InputMaybe<Scalars['Float']['input']>;
|
|
14612
14839
|
certifications?: InputMaybe<Scalars['JSON']['input']>;
|
|
14613
14840
|
context?: InputMaybe<ContextInput>;
|
|
14614
14841
|
currentLocation?: InputMaybe<Scalars['JSON']['input']>;
|
|
14615
14842
|
email?: InputMaybe<Scalars['String']['input']>;
|
|
14616
14843
|
employeeId: Scalars['String']['input'];
|
|
14617
14844
|
firstName: Scalars['String']['input'];
|
|
14845
|
+
hireDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
14618
14846
|
lastName: Scalars['String']['input'];
|
|
14619
14847
|
licenseClass?: InputMaybe<Scalars['String']['input']>;
|
|
14620
14848
|
licenseExpiry?: InputMaybe<Scalars['DateTime']['input']>;
|
|
14621
14849
|
licenseNumber?: InputMaybe<Scalars['String']['input']>;
|
|
14850
|
+
notes?: InputMaybe<Scalars['String']['input']>;
|
|
14851
|
+
payCurrency?: InputMaybe<Scalars['String']['input']>;
|
|
14622
14852
|
performanceMetrics?: InputMaybe<Scalars['JSON']['input']>;
|
|
14623
14853
|
phone?: InputMaybe<Scalars['String']['input']>;
|
|
14624
14854
|
rating?: InputMaybe<Scalars['Float']['input']>;
|
|
@@ -15591,6 +15821,8 @@ export type CreateHeadshotmarketingSocialAccountInput = {
|
|
|
15591
15821
|
/** When set to WEBHOOK, publish/schedule perform a real HTTP POST to webhookUrl. */
|
|
15592
15822
|
deliveryMode?: InputMaybe<HeadshotmarketingSocialAccountDeliveryMode>;
|
|
15593
15823
|
followerCount?: InputMaybe<Scalars['Int']['input']>;
|
|
15824
|
+
/** Bind this account to an already-created OAuth connection in wspace-integrations-svc (the id the platform OAuth popup returns — tokens live server-side, never here). When set, the account is stored bound to this connection and the mint-from-tokens path is skipped; if raw tokens are also supplied, the explicit connectionId wins. */
|
|
15825
|
+
integrationConnectionId?: InputMaybe<Scalars['ID']['input']>;
|
|
15594
15826
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
15595
15827
|
platform: HeadshotmarketingSocialPlatform;
|
|
15596
15828
|
platformAccountId: Scalars['String']['input'];
|
|
@@ -17552,9 +17784,9 @@ export type CreateVibeInput = {
|
|
|
17552
17784
|
};
|
|
17553
17785
|
|
|
17554
17786
|
export type CreateVibecontrolsAgentInput = {
|
|
17555
|
-
/** Auth-svc App clientId
|
|
17787
|
+
/** Auth-svc App clientId. Server-managed like `appId`: a non-null value is rejected with `BAD_USER_INPUT`. */
|
|
17556
17788
|
appClientId?: InputMaybe<Scalars['String']['input']>;
|
|
17557
|
-
/** Linked auth-svc App ID (OAuth2 identity for gateway access) */
|
|
17789
|
+
/** Linked auth-svc App ID (OAuth2 identity for gateway access). Server-managed (BOFF-7920): written only by `setupAgentGatewayAuth`. A non-null value is rejected with `BAD_USER_INPUT`; `null` / omitted is accepted. */
|
|
17558
17790
|
appId?: InputMaybe<Scalars['String']['input']>;
|
|
17559
17791
|
architecture: Scalars['String']['input'];
|
|
17560
17792
|
configuration?: InputMaybe<Scalars['JSON']['input']>;
|
|
@@ -19088,6 +19320,10 @@ export type DashboardEmbedPolicy = {
|
|
|
19088
19320
|
presentationTheme: DashboardEmbedTheme;
|
|
19089
19321
|
revokedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
19090
19322
|
sessionTtlSeconds: Scalars['Int']['output'];
|
|
19323
|
+
/**
|
|
19324
|
+
* Always true. Every embed carries the "Powered by BigConsole" footer and it cannot be turned off. Kept only so older clients that still select it keep working.
|
|
19325
|
+
* @deprecated Embeds always show the BigConsole footer; this setting is ignored.
|
|
19326
|
+
*/
|
|
19091
19327
|
showBrandingFooter: Scalars['Boolean']['output'];
|
|
19092
19328
|
showDashboardTitle: Scalars['Boolean']['output'];
|
|
19093
19329
|
status: DashboardEmbedPolicyStatus;
|
|
@@ -20188,6 +20424,12 @@ export type DeleteMessagePayload = {
|
|
|
20188
20424
|
success: Scalars['Boolean']['output'];
|
|
20189
20425
|
};
|
|
20190
20426
|
|
|
20427
|
+
export type DeleteMyAssistantConversationPayload = {
|
|
20428
|
+
__typename?: 'DeleteMyAssistantConversationPayload';
|
|
20429
|
+
conversation?: Maybe<AssistantHistoryConversation>;
|
|
20430
|
+
outcome: AssistantHistoryDeleteOutcome;
|
|
20431
|
+
};
|
|
20432
|
+
|
|
20191
20433
|
export enum DeliveryChannelType {
|
|
20192
20434
|
Email = 'EMAIL',
|
|
20193
20435
|
Slack = 'SLACK',
|
|
@@ -20299,14 +20541,16 @@ export type DependencyTriggeredUpdate = {
|
|
|
20299
20541
|
triggeredBy: Scalars['ID']['output'];
|
|
20300
20542
|
};
|
|
20301
20543
|
|
|
20544
|
+
/** How one work item constrains the SCHEDULE of another. These four are the standard CPM relationships; `lagMinutes` offsets them. This enum used to carry issue-link verbs (BLOCKS, DUPLICATES, RELATES_TO, ...) while the database carried these four — one name, ZERO overlapping values — so every `planmagnetCreateDependency` passed gateway validation and then failed the write. The semantic verbs now live on `WorkItemLink.relationType`, which is where they belong: "A relates to B" says nothing about when either one starts. Only these relationships take part in critical-path analysis. */
|
|
20302
20545
|
export enum DependencyType {
|
|
20303
|
-
|
|
20304
|
-
|
|
20305
|
-
|
|
20306
|
-
|
|
20307
|
-
|
|
20308
|
-
|
|
20309
|
-
|
|
20546
|
+
/** The successor finishes after the predecessor finishes. */
|
|
20547
|
+
FinishToFinish = 'FINISH_TO_FINISH',
|
|
20548
|
+
/** The successor starts after the predecessor finishes. The usual case. */
|
|
20549
|
+
FinishToStart = 'FINISH_TO_START',
|
|
20550
|
+
/** The successor finishes after the predecessor starts. Rare. */
|
|
20551
|
+
StartToFinish = 'START_TO_FINISH',
|
|
20552
|
+
/** The successor starts after the predecessor starts. */
|
|
20553
|
+
StartToStart = 'START_TO_START'
|
|
20310
20554
|
}
|
|
20311
20555
|
|
|
20312
20556
|
export enum DeploymentEnvironment {
|
|
@@ -23284,6 +23528,37 @@ export type ExecutePipelineInput = {
|
|
|
23284
23528
|
pipelineId: Scalars['ID']['input'];
|
|
23285
23529
|
};
|
|
23286
23530
|
|
|
23531
|
+
/** Input for a node-level TEST execution. `sourceRunId` is optional: when omitted, the service selects the latest compatible TEST run in this workspace and workflow version. No PRODUCTION run is implicitly used as a data cache. */
|
|
23532
|
+
export type ExecuteStepInput = {
|
|
23533
|
+
nodeId: Scalars['String']['input'];
|
|
23534
|
+
sourceRunId?: InputMaybe<Scalars['ID']['input']>;
|
|
23535
|
+
version: Scalars['String']['input'];
|
|
23536
|
+
workflowKey: Scalars['String']['input'];
|
|
23537
|
+
};
|
|
23538
|
+
|
|
23539
|
+
/** A node-level TEST execution plan. Reused states are copied into the new run; only `executeNodeIds` are dispatched to the worker. This is intentionally separate from `RunFromNodeInput`, whose semantics include all downstream nodes. */
|
|
23540
|
+
export type ExecuteStepPlan = {
|
|
23541
|
+
__typename?: 'ExecuteStepPlan';
|
|
23542
|
+
blockers: Array<Scalars['String']['output']>;
|
|
23543
|
+
executeNodeIds: Array<Scalars['String']['output']>;
|
|
23544
|
+
initialNodeIds: Array<Scalars['String']['output']>;
|
|
23545
|
+
pinnedNodeIds: Array<Scalars['String']['output']>;
|
|
23546
|
+
reusedNodeIds: Array<Scalars['String']['output']>;
|
|
23547
|
+
sourceRunId?: Maybe<Scalars['ID']['output']>;
|
|
23548
|
+
targetNodeId: Scalars['String']['output'];
|
|
23549
|
+
};
|
|
23550
|
+
|
|
23551
|
+
/** Result of the n8n-style Execute step action. The run is always TEST mode and is never a production trigger or a production quota event. */
|
|
23552
|
+
export type ExecuteStepResponse = {
|
|
23553
|
+
__typename?: 'ExecuteStepResponse';
|
|
23554
|
+
plan: ExecuteStepPlan;
|
|
23555
|
+
runId: Scalars['ID']['output'];
|
|
23556
|
+
status: Scalars['String']['output'];
|
|
23557
|
+
triggerNodeId: Scalars['String']['output'];
|
|
23558
|
+
version: Scalars['String']['output'];
|
|
23559
|
+
workflowKey: Scalars['String']['output'];
|
|
23560
|
+
};
|
|
23561
|
+
|
|
23287
23562
|
export type ExecuteSyncResult = {
|
|
23288
23563
|
__typename?: 'ExecuteSyncResult';
|
|
23289
23564
|
eventsAdded?: Maybe<Scalars['Int']['output']>;
|
|
@@ -23990,7 +24265,7 @@ export type FarmInsight = {
|
|
|
23990
24265
|
/** A product feature request capturing ideas, customer feedback, and implementation priority. */
|
|
23991
24266
|
export type FeatureRequest = {
|
|
23992
24267
|
__typename?: 'FeatureRequest';
|
|
23993
|
-
/** Business value
|
|
24268
|
+
/** Business value score, a whole number from 0 to 100 */
|
|
23994
24269
|
businessValue?: Maybe<Scalars['Int']['output']>;
|
|
23995
24270
|
/** Competitors offering this feature */
|
|
23996
24271
|
competitors: Array<Competitor>;
|
|
@@ -24000,10 +24275,16 @@ export type FeatureRequest = {
|
|
|
24000
24275
|
createdAt: Scalars['DateTime']['output'];
|
|
24001
24276
|
/** Actor who created this request */
|
|
24002
24277
|
createdBy: Scalars['String']['output'];
|
|
24278
|
+
/** Why it was declined (set by planmagnetDeclineFeatureRequest) */
|
|
24279
|
+
declineReason?: Maybe<Scalars['String']['output']>;
|
|
24003
24280
|
/** Soft-delete timestamp */
|
|
24004
24281
|
deletedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
24005
24282
|
/** Detailed description */
|
|
24006
24283
|
description?: Maybe<Scalars['String']['output']>;
|
|
24284
|
+
/** The original this request was merged into, when it still exists */
|
|
24285
|
+
duplicateOf?: Maybe<FeatureRequest>;
|
|
24286
|
+
/** The original this request was merged into (status DUPLICATE) */
|
|
24287
|
+
duplicateOfId?: Maybe<Scalars['String']['output']>;
|
|
24007
24288
|
/** Effort estimate (T-shirt: XS, S, M, L, XL) */
|
|
24008
24289
|
effortEstimate?: Maybe<Scalars['String']['output']>;
|
|
24009
24290
|
/** Unique identifier */
|
|
@@ -24014,8 +24295,14 @@ export type FeatureRequest = {
|
|
|
24014
24295
|
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
24015
24296
|
/** Priority score (computed from votes and business value) */
|
|
24016
24297
|
priorityScore?: Maybe<Scalars['Float']['output']>;
|
|
24298
|
+
/** The linked Product, when set. */
|
|
24299
|
+
product?: Maybe<Product>;
|
|
24300
|
+
/** Linked strategic Product (BOFF-8045). Null when never attached. */
|
|
24301
|
+
productId?: Maybe<Scalars['String']['output']>;
|
|
24017
24302
|
/** Parent project ID */
|
|
24018
24303
|
projectId?: Maybe<Scalars['String']['output']>;
|
|
24304
|
+
/** Hidden from the triage queue until this moment (set by planmagnetSnoozeFeatureRequest); still SUBMITTED */
|
|
24305
|
+
snoozedUntil?: Maybe<Scalars['DateTime']['output']>;
|
|
24019
24306
|
/** Current status */
|
|
24020
24307
|
status: FeatureRequestStatus;
|
|
24021
24308
|
/** Submitter actor ID */
|
|
@@ -24024,12 +24311,18 @@ export type FeatureRequest = {
|
|
|
24024
24311
|
tags: Array<Scalars['String']['output']>;
|
|
24025
24312
|
/** Feature title */
|
|
24026
24313
|
title: Scalars['String']['output'];
|
|
24314
|
+
/** When accept, decline or merge decided this request */
|
|
24315
|
+
triagedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
24316
|
+
/** Who accepted, declined or merged this request */
|
|
24317
|
+
triagedBy?: Maybe<Scalars['String']['output']>;
|
|
24027
24318
|
/** Last update timestamp */
|
|
24028
24319
|
updatedAt: Scalars['DateTime']['output'];
|
|
24029
24320
|
/** Actor who last updated this request */
|
|
24030
24321
|
updatedBy?: Maybe<Scalars['String']['output']>;
|
|
24031
24322
|
/** Total vote count */
|
|
24032
24323
|
voteCount: Scalars['Int']['output'];
|
|
24324
|
+
/** Rank by votes among the workspace's live requests (1 = most votes; ties share a rank) */
|
|
24325
|
+
voteRank: Scalars['Int']['output'];
|
|
24033
24326
|
/** Votes on this feature */
|
|
24034
24327
|
votes: Array<FeatureVote>;
|
|
24035
24328
|
/** Linked work item ID */
|
|
@@ -31449,6 +31742,8 @@ export type HeadshotmarketingAdPlatformConnection = {
|
|
|
31449
31742
|
__typename?: 'HeadshotmarketingAdPlatformConnection';
|
|
31450
31743
|
createdAt: Scalars['DateTime']['output'];
|
|
31451
31744
|
id: Scalars['ID']['output'];
|
|
31745
|
+
/** Opaque reference to the credential-owning OAuth connection in wspace-integrations-svc (API mode only). Non-null when this connection is bound to an ad-platform integration. The access/refresh tokens live in the integrations owner and are NEVER exposed through GraphQL; this only lets the frontend read binding status. */
|
|
31746
|
+
integrationConnectionId?: Maybe<Scalars['String']['output']>;
|
|
31452
31747
|
metadata?: Maybe<Scalars['JSON']['output']>;
|
|
31453
31748
|
mode: HeadshotmarketingAdConnectionMode;
|
|
31454
31749
|
platform: HeadshotmarketingAdPlatform;
|
|
@@ -31599,10 +31894,12 @@ export type HeadshotmarketingAttributionCredit = {
|
|
|
31599
31894
|
|
|
31600
31895
|
export enum HeadshotmarketingAttributionModel {
|
|
31601
31896
|
FirstTouch = 'FIRST_TOUCH',
|
|
31602
|
-
Linear = 'LINEAR'
|
|
31897
|
+
Linear = 'LINEAR',
|
|
31898
|
+
PositionBased = 'POSITION_BASED',
|
|
31899
|
+
TimeDecay = 'TIME_DECAY'
|
|
31603
31900
|
}
|
|
31604
31901
|
|
|
31605
|
-
/** A deterministic attribution report for one conversion event (a WON deal or a CONVERTED lead), showing the same touchpoint history split under
|
|
31902
|
+
/** A deterministic attribution report for one conversion event (a WON deal or a CONVERTED lead), showing the same touchpoint history split under every supported model side by side. */
|
|
31606
31903
|
export type HeadshotmarketingAttributionReport = {
|
|
31607
31904
|
__typename?: 'HeadshotmarketingAttributionReport';
|
|
31608
31905
|
contactId?: Maybe<Scalars['ID']['output']>;
|
|
@@ -31612,6 +31909,12 @@ export type HeadshotmarketingAttributionReport = {
|
|
|
31612
31909
|
convertedAt: Scalars['DateTime']['output'];
|
|
31613
31910
|
firstTouch: HeadshotmarketingAttributionSplit;
|
|
31614
31911
|
linear: HeadshotmarketingAttributionSplit;
|
|
31912
|
+
/** U-shaped split: 40% first touch, 40% last touch, 20% shared across the middle. */
|
|
31913
|
+
positionBased: HeadshotmarketingAttributionSplit;
|
|
31914
|
+
/** Exponential recency-weighted split (weight = 0.5 ^ (daysBefore / halfLife)). */
|
|
31915
|
+
timeDecay: HeadshotmarketingAttributionSplit;
|
|
31916
|
+
/** Half-life in days used to compute the time-decay split (default 7). */
|
|
31917
|
+
timeDecayHalfLifeDays: Scalars['Float']['output'];
|
|
31615
31918
|
touchpointCount: Scalars['Int']['output'];
|
|
31616
31919
|
};
|
|
31617
31920
|
|
|
@@ -32165,9 +32468,15 @@ export type HeadshotmarketingCreateAiToolInput = {
|
|
|
32165
32468
|
};
|
|
32166
32469
|
|
|
32167
32470
|
export type HeadshotmarketingCreateAdPlatformConnectionInput = {
|
|
32471
|
+
/** API mode only — raw OAuth tokens to register in the integrations owner. Used only when no integrationConnectionId is supplied; tokens are handed to the integrations owner and never persisted locally. */
|
|
32472
|
+
accessToken?: InputMaybe<Scalars['String']['input']>;
|
|
32473
|
+
/** API mode only — bind this connection to an already-created OAuth connection in wspace-integrations-svc (the id the platform OAuth popup returns; tokens live server-side, never here). When set, it is stored directly and the register-from-tokens path is skipped. If raw tokens are also supplied, the explicit connectionId wins. */
|
|
32474
|
+
integrationConnectionId?: InputMaybe<Scalars['ID']['input']>;
|
|
32168
32475
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
32169
32476
|
mode?: InputMaybe<HeadshotmarketingAdConnectionMode>;
|
|
32170
32477
|
platform: HeadshotmarketingAdPlatform;
|
|
32478
|
+
refreshToken?: InputMaybe<Scalars['String']['input']>;
|
|
32479
|
+
tokenExpiresAt?: InputMaybe<Scalars['DateTime']['input']>;
|
|
32171
32480
|
webhookUrl?: InputMaybe<Scalars['String']['input']>;
|
|
32172
32481
|
};
|
|
32173
32482
|
|
|
@@ -33077,6 +33386,56 @@ export type HeadshotmarketingPipelineStageOverview = {
|
|
|
33077
33386
|
totalValue: Scalars['Float']['output'];
|
|
33078
33387
|
};
|
|
33079
33388
|
|
|
33389
|
+
/** A PUBLISHED landing page, exposed to the public unauthenticated renderer served at `/lp/{slug}`. Carries ONLY the fields a public page needs to render — it deliberately omits every workspace-internal field (workspaceId, campaignId, createdBy, viewCount, conversionCount, metadata) so the public endpoint cannot leak tenant data. */
|
|
33390
|
+
export type HeadshotmarketingPublicLandingPage = {
|
|
33391
|
+
__typename?: 'HeadshotmarketingPublicLandingPage';
|
|
33392
|
+
/** Author-provided custom CSS injected when rendering the page */
|
|
33393
|
+
customCss?: Maybe<Scalars['String']['output']>;
|
|
33394
|
+
/** Author-provided custom JS injected when rendering the page */
|
|
33395
|
+
customJs?: Maybe<Scalars['String']['output']>;
|
|
33396
|
+
/** Optional page description / meta description fallback */
|
|
33397
|
+
description?: Maybe<Scalars['String']['output']>;
|
|
33398
|
+
/** Favicon URL */
|
|
33399
|
+
faviconUrl?: Maybe<Scalars['String']['output']>;
|
|
33400
|
+
/** Open Graph image URL */
|
|
33401
|
+
ogImageUrl?: Maybe<Scalars['String']['output']>;
|
|
33402
|
+
/** When the page was published */
|
|
33403
|
+
publishedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
33404
|
+
/** Ordered, visible sections that make up the page body */
|
|
33405
|
+
sections: Array<HeadshotmarketingPublicLandingPageSection>;
|
|
33406
|
+
/** SEO meta description */
|
|
33407
|
+
seoDescription?: Maybe<Scalars['String']['output']>;
|
|
33408
|
+
/** SEO <title> override */
|
|
33409
|
+
seoTitle?: Maybe<Scalars['String']['output']>;
|
|
33410
|
+
/** URL slug the page is published under */
|
|
33411
|
+
slug: Scalars['String']['output'];
|
|
33412
|
+
/** Page title (used for the document/window title) */
|
|
33413
|
+
title: Scalars['String']['output'];
|
|
33414
|
+
};
|
|
33415
|
+
|
|
33416
|
+
/** A single visible section of a published landing page, for the public renderer. Omits workspace-internal fields (workspaceId, landingPageId, metadata). */
|
|
33417
|
+
export type HeadshotmarketingPublicLandingPageSection = {
|
|
33418
|
+
__typename?: 'HeadshotmarketingPublicLandingPageSection';
|
|
33419
|
+
/** Background color */
|
|
33420
|
+
backgroundColor?: Maybe<Scalars['String']['output']>;
|
|
33421
|
+
/** Background image URL */
|
|
33422
|
+
backgroundImageUrl?: Maybe<Scalars['String']['output']>;
|
|
33423
|
+
/** Type-specific content configuration */
|
|
33424
|
+
content?: Maybe<Scalars['JSON']['output']>;
|
|
33425
|
+
/** Unique identifier (stable key for the renderer) */
|
|
33426
|
+
id: Scalars['ID']['output'];
|
|
33427
|
+
/** Presentation settings */
|
|
33428
|
+
settings?: Maybe<Scalars['JSON']['output']>;
|
|
33429
|
+
/** Position of the section within the page (ascending) */
|
|
33430
|
+
sortOrder: Scalars['Int']['output'];
|
|
33431
|
+
/** Section subtitle */
|
|
33432
|
+
subtitle?: Maybe<Scalars['String']['output']>;
|
|
33433
|
+
/** Section title */
|
|
33434
|
+
title?: Maybe<Scalars['String']['output']>;
|
|
33435
|
+
/** Section type (HERO, FEATURES, CTA, …) */
|
|
33436
|
+
type: HeadshotmarketingLandingPageSectionType;
|
|
33437
|
+
};
|
|
33438
|
+
|
|
33080
33439
|
export type HeadshotmarketingRecordAdMetricsSnapshotInput = {
|
|
33081
33440
|
adCampaignId: Scalars['ID']['input'];
|
|
33082
33441
|
clicks?: InputMaybe<Scalars['Int']['input']>;
|
|
@@ -33144,6 +33503,8 @@ export type HeadshotmarketingSeoAudit = {
|
|
|
33144
33503
|
metadata?: Maybe<Scalars['JSON']['output']>;
|
|
33145
33504
|
overallScore?: Maybe<Scalars['Float']['output']>;
|
|
33146
33505
|
pageTitle?: Maybe<Scalars['String']['output']>;
|
|
33506
|
+
/** Number of pages analysed (1 for a single-page audit, >1 for a crawl). */
|
|
33507
|
+
pagesCrawled?: Maybe<Scalars['Int']['output']>;
|
|
33147
33508
|
performanceScore?: Maybe<Scalars['Float']['output']>;
|
|
33148
33509
|
runBy: Scalars['ID']['output'];
|
|
33149
33510
|
seoScore?: Maybe<Scalars['Float']['output']>;
|
|
@@ -33287,6 +33648,8 @@ export type HeadshotmarketingSocialAccount = {
|
|
|
33287
33648
|
followerCount?: Maybe<Scalars['Int']['output']>;
|
|
33288
33649
|
/** Unique identifier */
|
|
33289
33650
|
id: Scalars['ID']['output'];
|
|
33651
|
+
/** Opaque reference to the credential-owning OAuth connection in wspace-integrations-svc. Non-null when this account is bound to a platform connection (either minted from tokens, or produced by the platform OAuth popup which returns only a connectionId). The access/refresh tokens live in the integrations owner and are NEVER exposed through GraphQL; this field only lets the frontend read connection/binding status. */
|
|
33652
|
+
integrationConnectionId?: Maybe<Scalars['String']['output']>;
|
|
33290
33653
|
/** Flexible key-value metadata */
|
|
33291
33654
|
metadata?: Maybe<Scalars['JSON']['output']>;
|
|
33292
33655
|
/** Social media platform */
|
|
@@ -33307,8 +33670,9 @@ export type HeadshotmarketingSocialAccount = {
|
|
|
33307
33670
|
workspaceId: Scalars['ID']['output'];
|
|
33308
33671
|
};
|
|
33309
33672
|
|
|
33310
|
-
/**
|
|
33673
|
+
/** How a connected account delivers publish/schedule actions. INTERNAL (BOFF-4218) is the local-state-machine default; WEBHOOK performs a real outbound HTTP POST to `webhookUrl` on publish — a generic connector any platform integration or Zapier/Make-style relay can sit behind; API (BOFF-7858) dispatches to the platform's real native API (Facebook, Instagram, X, LinkedIn) using an OAuth token owned by the integrations service. API delivery is gated: an account with no active connection / token fails with a clear "provider not configured" error rather than faking success. */
|
|
33311
33674
|
export enum HeadshotmarketingSocialAccountDeliveryMode {
|
|
33675
|
+
Api = 'API',
|
|
33312
33676
|
Internal = 'INTERNAL',
|
|
33313
33677
|
Webhook = 'WEBHOOK'
|
|
33314
33678
|
}
|
|
@@ -38899,6 +39263,7 @@ export type HousingVistaOffer = {
|
|
|
38899
39263
|
counterAmount?: Maybe<Scalars['Float']['output']>;
|
|
38900
39264
|
createdAt: Scalars['DateTime']['output'];
|
|
38901
39265
|
currency: Scalars['String']['output'];
|
|
39266
|
+
expiresAt?: Maybe<Scalars['DateTime']['output']>;
|
|
38902
39267
|
id: Scalars['ID']['output'];
|
|
38903
39268
|
notes?: Maybe<Scalars['String']['output']>;
|
|
38904
39269
|
property: HousingVistaProperty;
|
|
@@ -38923,6 +39288,7 @@ export enum HousingVistaOfferResponseAction {
|
|
|
38923
39288
|
export enum HousingVistaOfferStatus {
|
|
38924
39289
|
Accepted = 'accepted',
|
|
38925
39290
|
Countered = 'countered',
|
|
39291
|
+
Expired = 'expired',
|
|
38926
39292
|
Rejected = 'rejected',
|
|
38927
39293
|
Submitted = 'submitted',
|
|
38928
39294
|
Withdrawn = 'withdrawn'
|
|
@@ -39164,6 +39530,7 @@ export type HousingVistaShortlist = {
|
|
|
39164
39530
|
export type HousingVistaSubmitOfferInput = {
|
|
39165
39531
|
amount: Scalars['Float']['input'];
|
|
39166
39532
|
currency?: InputMaybe<Scalars['String']['input']>;
|
|
39533
|
+
expiresAt?: InputMaybe<Scalars['DateTime']['input']>;
|
|
39167
39534
|
notes?: InputMaybe<Scalars['String']['input']>;
|
|
39168
39535
|
propertyId: Scalars['ID']['input'];
|
|
39169
39536
|
};
|
|
@@ -41329,6 +41696,7 @@ export type InvalidateDataSinkCacheResult = {
|
|
|
41329
41696
|
|
|
41330
41697
|
export type InventoryFilterInput = {
|
|
41331
41698
|
cargoItemId?: InputMaybe<Scalars['ID']['input']>;
|
|
41699
|
+
inventoryItemId?: InputMaybe<Scalars['ID']['input']>;
|
|
41332
41700
|
locationId?: InputMaybe<Scalars['ID']['input']>;
|
|
41333
41701
|
lowStock?: InputMaybe<Scalars['Boolean']['input']>;
|
|
41334
41702
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -46869,11 +47237,14 @@ export type MtwCustomer = {
|
|
|
46869
47237
|
|
|
46870
47238
|
export type MtwCustomerStats = {
|
|
46871
47239
|
__typename?: 'MtwCustomerStats';
|
|
46872
|
-
|
|
46873
|
-
|
|
47240
|
+
/** Unavailable because customers have no lifecycle status field. */
|
|
47241
|
+
active?: Maybe<Scalars['Int']['output']>;
|
|
47242
|
+
/** Average rating, or null when no customer has a rating. */
|
|
47243
|
+
avgRating?: Maybe<Scalars['Float']['output']>;
|
|
46874
47244
|
b2b: Scalars['Int']['output'];
|
|
46875
47245
|
b2c: Scalars['Int']['output'];
|
|
46876
|
-
|
|
47246
|
+
/** Unavailable because customers have no lifecycle status field. */
|
|
47247
|
+
inactive?: Maybe<Scalars['Int']['output']>;
|
|
46877
47248
|
total: Scalars['Int']['output'];
|
|
46878
47249
|
};
|
|
46879
47250
|
|
|
@@ -46994,6 +47365,8 @@ export type MtwDemandForecastVariance = {
|
|
|
46994
47365
|
|
|
46995
47366
|
export type MtwDriver = {
|
|
46996
47367
|
__typename?: 'MtwDriver';
|
|
47368
|
+
baseSalary?: Maybe<Scalars['Float']['output']>;
|
|
47369
|
+
bonusYtd?: Maybe<Scalars['Float']['output']>;
|
|
46997
47370
|
certifications?: Maybe<Scalars['JSON']['output']>;
|
|
46998
47371
|
context?: Maybe<OperationContext>;
|
|
46999
47372
|
createdAt: Scalars['DateTime']['output'];
|
|
@@ -47003,16 +47376,25 @@ export type MtwDriver = {
|
|
|
47003
47376
|
email?: Maybe<Scalars['String']['output']>;
|
|
47004
47377
|
employeeId: Scalars['String']['output'];
|
|
47005
47378
|
firstName: Scalars['String']['output'];
|
|
47379
|
+
hireDate?: Maybe<Scalars['DateTime']['output']>;
|
|
47006
47380
|
id: Scalars['ID']['output'];
|
|
47007
47381
|
lastName: Scalars['String']['output'];
|
|
47008
47382
|
licenseClass?: Maybe<Scalars['String']['output']>;
|
|
47009
47383
|
licenseExpiry?: Maybe<Scalars['DateTime']['output']>;
|
|
47010
47384
|
licenseNumber?: Maybe<Scalars['String']['output']>;
|
|
47385
|
+
/** Free-text HR/performance notes. Encrypted at rest. */
|
|
47386
|
+
notes?: Maybe<Scalars['String']['output']>;
|
|
47011
47387
|
onBehalfOf: Scalars['String']['output'];
|
|
47388
|
+
/** Set and in the future means the driver is currently on leave. Independent of the operational DriverStatus. */
|
|
47389
|
+
onLeaveUntil?: Maybe<Scalars['DateTime']['output']>;
|
|
47390
|
+
payCurrency?: Maybe<Scalars['String']['output']>;
|
|
47012
47391
|
performanceMetrics?: Maybe<Scalars['JSON']['output']>;
|
|
47013
47392
|
phone?: Maybe<Scalars['String']['output']>;
|
|
47014
47393
|
rating?: Maybe<Scalars['Float']['output']>;
|
|
47015
47394
|
status: DriverStatus;
|
|
47395
|
+
terminatedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
47396
|
+
/** Reason recorded when the driver was dismissed/terminated. Encrypted at rest. */
|
|
47397
|
+
terminationReason?: Maybe<Scalars['String']['output']>;
|
|
47016
47398
|
updatedAt: Scalars['DateTime']['output'];
|
|
47017
47399
|
updatedBy?: Maybe<Scalars['String']['output']>;
|
|
47018
47400
|
userId?: Maybe<Scalars['String']['output']>;
|
|
@@ -47244,6 +47626,12 @@ export type MtwInventoryTransaction = {
|
|
|
47244
47626
|
workspaceId: Scalars['ID']['output'];
|
|
47245
47627
|
};
|
|
47246
47628
|
|
|
47629
|
+
export type MtwInventoryTransferResult = {
|
|
47630
|
+
__typename?: 'MtwInventoryTransferResult';
|
|
47631
|
+
destination: MtwInventoryItem;
|
|
47632
|
+
source: MtwInventoryItem;
|
|
47633
|
+
};
|
|
47634
|
+
|
|
47247
47635
|
/** An estimate from the caller's own inputs — not a quote from anyone. */
|
|
47248
47636
|
export type MtwOwnFleetEstimate = {
|
|
47249
47637
|
__typename?: 'MtwOwnFleetEstimate';
|
|
@@ -47829,6 +48217,8 @@ export type Mutation = {
|
|
|
47829
48217
|
assignWorkspaceQuota: WorkspaceQuotaAssignment;
|
|
47830
48218
|
/** Batch version of assignWorkspaceQuota — upserts all quotas for a workspace in a single call. All inputs must share the same workspaceId. Returns results in the same order as the inputs. When supersede is true, any active assignment for the same (workspaceId, quotaName) pair that belongs to a DIFFERENT subscriptionId is deactivated after all upserts complete. Use this when activating a new plan that replaces a prior one. */
|
|
47831
48219
|
assignWorkspaceQuotas: Array<WorkspaceQuotaAssignment>;
|
|
48220
|
+
/** Run one GraphQL mutation as the owner of an admin Take-action session the capability names. */
|
|
48221
|
+
assistantSessionExecute: AssistantSessionRelayResult;
|
|
47832
48222
|
athAddDrill: AthDrill;
|
|
47833
48223
|
athAddMember: AthMember;
|
|
47834
48224
|
/** BOFF-3571: reads the athlete's recent AthWorkoutLog + AthPerformanceMetric rows, asks the AI to classify progression/deload/at-risk/maintain, and records the decision onto the target program as a PROPOSAL, readable at AthProgram.context.lastAiAdjustment with status "PROPOSED". It changes no prescribed training load on its own — a coach resolves it via athOverrideAgentRun. */
|
|
@@ -48310,9 +48700,9 @@ export type Mutation = {
|
|
|
48310
48700
|
connectHealthyBowlAccountingIntegration: HealthyBowlAccountingIntegration;
|
|
48311
48701
|
/** Send a natural-language message (with optional current spec + history) to the conversational agent and receive an updated spec plus a reply. */
|
|
48312
48702
|
conversationalDashboardEdit: ConversationalEditResult;
|
|
48313
|
-
/**
|
|
48703
|
+
/** Erase the subject's conversations data in every workspace (called with no workspace, like the export). With dryRun=true, reports what would change without mutating. The CONTENT of the subject's AI-assistant history is purged (messages deleted; each chat reduced to a content-free tombstone that stops a late save from recreating it), except chats under a legal hold (one placed while the erase runs included; the hold count is taken after it). In human conversations message bodies are RETAINED for thread integrity and the subject's authorship is anonymised; mention / reaction / read-receipt / poll-vote / call / report / draft records keyed to the subject are deleted. Reported back via `retainedForLegalReason`: "thread-integrity", plus "legal-hold" when a hold retained assistant chats and "erasure-tombstones" when content-free assistant tombstones remain (all joined with "; "). FAILS (code SERVICE_UNAVAILABLE, i18nKey privacy.errors.assistantHistoryEraseIncomplete) when any unheld assistant history still holds content after the erase's passes -- after every other step has run. Every step is idempotent: run the erase again. */
|
|
48314
48704
|
conversationsEraseSubject: ConversationsEraseResult;
|
|
48315
|
-
/** Export the subject's conversations data: messages authored, conversation memberships, mentions of the subject, reactions, poll votes, call participations, comment activity. Attachments listed by reference only. */
|
|
48705
|
+
/** Export the subject's conversations data: conversations created (AI-assistant chats and their tombstones included), messages authored (both sides of each assistant turn included), conversation memberships, mentions of the subject, reactions, poll votes, call participations, comment activity, drafts and assistant-history scopes, across every workspace. Attachments listed by reference only. Called with no workspace (a DSAR spans all of them). Never a partial bundle: when any collection cannot be read the export fails (SERVICE_UNAVAILABLE, naming the collections) and is run again. */
|
|
48316
48706
|
conversationsExportSubject: Scalars['JSON']['output'];
|
|
48317
48707
|
/** Convert a lead into a deal */
|
|
48318
48708
|
convertHeadshotmarketingLead: HeadshotmarketingDeal;
|
|
@@ -48951,7 +49341,10 @@ export type Mutation = {
|
|
|
48951
49341
|
deleteArtifact: MutationResponse;
|
|
48952
49342
|
deleteAsset: Scalars['Boolean']['output'];
|
|
48953
49343
|
deleteAssetAssignment: Scalars['Boolean']['output'];
|
|
48954
|
-
/**
|
|
49344
|
+
/**
|
|
49345
|
+
* Delete one of my assistant chats and its messages. Its content is purged permanently 30 days later (unless under a legal hold).
|
|
49346
|
+
* @deprecated Use the my* assistant-history fields (BOFF-7335).
|
|
49347
|
+
*/
|
|
48955
49348
|
deleteAssistantConversation: Scalars['Boolean']['output'];
|
|
48956
49349
|
deleteAvailabilityRule: Scalars['Boolean']['output'];
|
|
48957
49350
|
/** Delete a batch download and its archive */
|
|
@@ -49205,6 +49598,8 @@ export type Mutation = {
|
|
|
49205
49598
|
deleteMetadataByKey: Scalars['Boolean']['output'];
|
|
49206
49599
|
deleteMetric: Scalars['Boolean']['output'];
|
|
49207
49600
|
deleteModifiedInstance: Scalars['Boolean']['output'];
|
|
49601
|
+
/** Idempotent. An id never seen is recorded as a tombstone, so a late save cannot create it. Such tombstones are rate-bounded per actor and workspace: past the bound the call fails with the retryable RATE_LIMIT_EXCEEDED and nothing is written, so retry later rather than dropping the delete. The deleted conversation's content is purged permanently 30 days after the delete (unless under a legal hold); its content-free tombstone is kept. */
|
|
49602
|
+
deleteMyAssistantConversation: DeleteMyAssistantConversationPayload;
|
|
49208
49603
|
/** Soft-delete one of the calling user's custom views. */
|
|
49209
49604
|
deleteMyNavView: Scalars['Boolean']['output'];
|
|
49210
49605
|
deleteNode: Scalars['Boolean']['output'];
|
|
@@ -49558,7 +49953,9 @@ export type Mutation = {
|
|
|
49558
49953
|
executeScheduledPrompt: ScheduledPromptResult;
|
|
49559
49954
|
/** Execute a button via share token (PUBLIC — no auth required). Only works if the share link has EXECUTE permission. */
|
|
49560
49955
|
executeSharedVibeDeckButton: VibeDeckButtonExecution;
|
|
49561
|
-
/** Execute one
|
|
49956
|
+
/** Execute only one node with reusable upstream TEST data. The service creates a new TEST run, snapshots compatible completed states and pinned data, and dispatches only unresolved ancestors plus the target. This mutation is not decorated with `@usage`: debug executions are excluded from production run quota accounting by design. */
|
|
49957
|
+
executeStep: ExecuteStepResponse;
|
|
49958
|
+
/** Execute one approved transform in an isolated, limit-enforced worker. Gated on `sandbox`/`update`, the same pair as `runSandboxScript` — both execute caller-supplied code inside a sandbox, so they carry the same authority. There is deliberately no bespoke `transform` action: the RBAC action catalogue (`wspace-rbac-svc` `prisma/seed-unified-rbac.ts`) defines only admin/create/delete/read/update for `sandbox`, and an action that is absent from the catalogue resolves to default-deny at the gateway. */
|
|
49562
49959
|
executeTransform: TransformRuntimeResult;
|
|
49563
49960
|
executeVibeDeckButton: VibeDeckButtonExecution;
|
|
49564
49961
|
/** Execute a workflow. If an external FluidGrids workflow exists, triggers real execution via wspace-workflow-svc. Otherwise performs mock execution. */
|
|
@@ -49588,6 +49985,8 @@ export type Mutation = {
|
|
|
49588
49985
|
exportWorkspaceResourceConfig: WorkspaceResourceConfigExport;
|
|
49589
49986
|
/** Extend an existing file lock */
|
|
49590
49987
|
extendFileLock: FileLock;
|
|
49988
|
+
/** Extend the caller's OWN running Ask or Take-action assistant sandbox (any workspace role), capped exactly as extendSandboxTTL is. Another user's sandbox, or one that is not an assistant sandbox, is NOT_FOUND. */
|
|
49989
|
+
extendMyAssistantSandboxTTL: Sandbox;
|
|
49591
49990
|
extendSandboxTTL: Sandbox;
|
|
49592
49991
|
/** Host-only (must own the listing behind the booking): files a claim against a COMPLETED booking. */
|
|
49593
49992
|
fileGgnomadDamageClaim: GgnomadDamageClaim;
|
|
@@ -49801,7 +50200,7 @@ export type Mutation = {
|
|
|
49801
50200
|
headshotmarketingRemoveLandingPageSection: Scalars['Boolean']['output'];
|
|
49802
50201
|
/** Reorder sections within a landing page */
|
|
49803
50202
|
headshotmarketingReorderLandingPageSections: HeadshotmarketingLandingPage;
|
|
49804
|
-
/** Run an SEO audit for a given URL (creates and executes an audit) */
|
|
50203
|
+
/** Run an SEO audit for a given URL (creates and executes an audit). With no crawl arguments this runs a single-page on-page audit. Set `maxPages` greater than 1 to run a bounded, same-origin multi-page crawl (default depth 2) that aggregates per-page findings into a site-level report. `maxPages`/`maxDepth` are clamped to safe ceilings. */
|
|
49805
50204
|
headshotmarketingRunSEOAudit: HeadshotmarketingSeoAudit;
|
|
49806
50205
|
/** Send a message to the marketing agent. Persists the user message, calls the configured LLM provider, persists the assistant's reply, and records any proposed actions as PROPOSED -- never executes them. */
|
|
49807
50206
|
headshotmarketingSendAgentMessage: HeadshotmarketingAgentTurn;
|
|
@@ -50199,6 +50598,8 @@ export type Mutation = {
|
|
|
50199
50598
|
linkDataSinkToWorkflow: DataSinkWorkflowLink;
|
|
50200
50599
|
/** Link a vibecontrols-owned entity (VibeDeck / Action / AiPrompt / Tunnel) to a Vibe. Cross-svc entities (SANDBOX, SCHEDULED_JOB) have their own dedicated mutations in wspace-sandbox-svc / wspace-scheduler-svc — calls with those types here are rejected. RBAC: caller needs `update` on the entity's resource. */
|
|
50201
50600
|
linkEntityToVibe: VibeLinkedEntity;
|
|
50601
|
+
/** Bind an existing social account to an already-created OAuth connection in wspace-integrations-svc (the connectionId the platform OAuth popup returns). Used to (re)connect an account without re-minting credentials — tokens stay server-side in the integrations owner and are never handled here. Marks the account connected; re-checks the social-accounts quota when reconnecting a previously-disconnected account. */
|
|
50602
|
+
linkHeadshotmarketingSocialAccountConnection: HeadshotmarketingSocialAccount;
|
|
50202
50603
|
/** BOFF-6095 — add an already-recorded harvest to inventory. Idempotent: a harvest that already carries a `productId` is returned unchanged rather than banking its quantity a second time. Reuses the `healthybowl_harvest` / `update` permission — this stamps the harvest row, so it is an update of that harvest, not a new resource. */
|
|
50203
50604
|
linkHealthyBowlHarvestToInventory: HarvestRecord;
|
|
50204
50605
|
/** Link a personal integration connection to a bot channel. Called by microfe-botlit (via global-channel-svc) after the user completes OAuth and clicks "Link to bot channel" in the UI. Sets channelId + organizationId on the IntegrationConnection record. */
|
|
@@ -50406,6 +50807,16 @@ export type Mutation = {
|
|
|
50406
50807
|
/** Place a lot of produce/milk into a bin; records an opening IN movement of the initial quantity. */
|
|
50407
50808
|
placeHealthyBowlStorageLot: HealthyBowlStorageLot;
|
|
50408
50809
|
planMultiModalShipment: MtwShipment;
|
|
50810
|
+
/** Triage: accept an open request (SUBMITTED or UNDER_REVIEW) as UNDER_REVIEW or PLANNED */
|
|
50811
|
+
planmagnetAcceptFeatureRequest: FeatureRequest;
|
|
50812
|
+
/** Add members to a team. Re-adding an existing (live) member is a no-op, not an error. */
|
|
50813
|
+
planmagnetAddTeamMembers: Team;
|
|
50814
|
+
/** Add projects to a team, so its team sprints can draw work from them. Every project id must be a live project of this workspace. Re-adding an existing (live) project is a no-op, not an error. */
|
|
50815
|
+
planmagnetAddTeamProjects: Team;
|
|
50816
|
+
/** Post a comment on a work item */
|
|
50817
|
+
planmagnetAddWorkItemComment: PlanmagnetWorkItemComment;
|
|
50818
|
+
/** Add work items to a release. Each must be a live work item of the release's project; otherwise nothing is added and the reason names how many were refused. */
|
|
50819
|
+
planmagnetAddWorkItemsToRelease: Release;
|
|
50409
50820
|
/** Add work items to a sprint */
|
|
50410
50821
|
planmagnetAddWorkItemsToSprint: Sprint;
|
|
50411
50822
|
/** Grant a user billable editor access to a PlanMagnet workspace. Rejected once the workspace is at its plan's editor limit (Free tier: 10). Idempotent: granting an already-active editor returns the existing seat. */
|
|
@@ -50416,6 +50827,8 @@ export type Mutation = {
|
|
|
50416
50827
|
planmagnetApproveBudget: PlanmagnetBudget;
|
|
50417
50828
|
/** Approve a submitted timesheet */
|
|
50418
50829
|
planmagnetApproveTimesheet: PlanmagnetTimesheet;
|
|
50830
|
+
/** Sets archivedAt = now(). A no-op (still succeeds) if already archived. */
|
|
50831
|
+
planmagnetArchiveProduct: Product;
|
|
50419
50832
|
/** Assign a work item to an actor */
|
|
50420
50833
|
planmagnetAssignWorkItem: WorkItem;
|
|
50421
50834
|
/** Bulk update multiple work items at once */
|
|
@@ -50449,6 +50862,7 @@ export type Mutation = {
|
|
|
50449
50862
|
planmagnetCreateObjective: PlanmagnetObjective;
|
|
50450
50863
|
/** Create a new portfolio */
|
|
50451
50864
|
planmagnetCreatePortfolio: Portfolio;
|
|
50865
|
+
planmagnetCreateProduct: Product;
|
|
50452
50866
|
/** Create a new program */
|
|
50453
50867
|
planmagnetCreateProgram: Program;
|
|
50454
50868
|
/** Create a new project */
|
|
@@ -50467,6 +50881,8 @@ export type Mutation = {
|
|
|
50467
50881
|
planmagnetCreateRoadmapItem: RoadmapItem;
|
|
50468
50882
|
/** Create a new sprint */
|
|
50469
50883
|
planmagnetCreateSprint: Sprint;
|
|
50884
|
+
/** Create a new team. */
|
|
50885
|
+
planmagnetCreateTeam: Team;
|
|
50470
50886
|
/** Create a template from an existing project */
|
|
50471
50887
|
planmagnetCreateTemplateFromProject: ProjectTemplate;
|
|
50472
50888
|
/** Create a new time entry */
|
|
@@ -50475,6 +50891,8 @@ export type Mutation = {
|
|
|
50475
50891
|
planmagnetCreateTimesheet: PlanmagnetTimesheet;
|
|
50476
50892
|
/** Create a new work item */
|
|
50477
50893
|
planmagnetCreateWorkItem: WorkItem;
|
|
50894
|
+
/** Triage: decline an open request, with the reason */
|
|
50895
|
+
planmagnetDeclineFeatureRequest: FeatureRequest;
|
|
50478
50896
|
/** Delete an automation rule */
|
|
50479
50897
|
planmagnetDeleteAutomationRule: Scalars['Boolean']['output'];
|
|
50480
50898
|
/** Delete a board */
|
|
@@ -50504,6 +50922,8 @@ export type Mutation = {
|
|
|
50504
50922
|
planmagnetDeleteObjective: Scalars['Boolean']['output'];
|
|
50505
50923
|
/** Delete a portfolio */
|
|
50506
50924
|
planmagnetDeletePortfolio: Scalars['Boolean']['output'];
|
|
50925
|
+
/** Soft-delete. Every linked roadmap/release/feature request has its productId cleared, never deleted; every ProductObjectiveLink row is removed. */
|
|
50926
|
+
planmagnetDeleteProduct: Scalars['Boolean']['output'];
|
|
50507
50927
|
/** Soft-delete a program */
|
|
50508
50928
|
planmagnetDeleteProgram: Scalars['Boolean']['output'];
|
|
50509
50929
|
/** Soft-delete a project */
|
|
@@ -50522,12 +50942,22 @@ export type Mutation = {
|
|
|
50522
50942
|
planmagnetDeleteRoadmapItem: Scalars['Boolean']['output'];
|
|
50523
50943
|
/** Soft-delete a sprint */
|
|
50524
50944
|
planmagnetDeleteSprint: Scalars['Boolean']['output'];
|
|
50945
|
+
/** Soft-delete a team. Its team-scoped sprints disappear from every read at the same time (same "a deleted parent takes its contents with it" behavior as Project — see utils/live-project-scope.ts); the sprint rows themselves are never cascaded or rewritten. */
|
|
50946
|
+
planmagnetDeleteTeam: Scalars['Boolean']['output'];
|
|
50525
50947
|
/** Delete a time entry */
|
|
50526
50948
|
planmagnetDeleteTimeEntry: Scalars['Boolean']['output'];
|
|
50527
50949
|
/** Soft-delete a work item */
|
|
50528
50950
|
planmagnetDeleteWorkItem: Scalars['Boolean']['output'];
|
|
50951
|
+
/** Delete your own comment (only its author can) */
|
|
50952
|
+
planmagnetDeleteWorkItemComment: Scalars['Boolean']['output'];
|
|
50953
|
+
/** Change the text of your own comment (only its author can) */
|
|
50954
|
+
planmagnetEditWorkItemComment: PlanmagnetWorkItemComment;
|
|
50955
|
+
/** Erase the person from PlanMagnet in one transaction; dryRun returns the counts and writes nothing (service actors only) */
|
|
50956
|
+
planmagnetEraseSubject: PlanmagnetEraseResult;
|
|
50529
50957
|
/** Manually run an automation rule (BOFF-4445) against a specific work item. `triggerData` MUST include `workItemId` — every supported action type (`ASSIGN_TO_USER`/`ADD_LABEL`/`SET_STATUS`/`SET_PRIORITY`) mutates a specific WorkItem, and a manual run with no target records a FAILURE execution explaining that instead of evaluating anything. When a WorkItem is given, the rule's `conditions` are evaluated against a live snapshot of that item (merged with any extra fields in `triggerData`) and, if they pass, its `actions` are dispatched for real — this always records an `AutomationExecution` row, including a non-matching run. Carries `@usage` again as of BOFF-4445: PlanMagnet now has a real evaluation + dispatch engine (see `automation-engine.ts`), so a manual run is real billable work. */
|
|
50530
50958
|
planmagnetExecuteAutomationRule: PlanmagnetAutomationExecution;
|
|
50959
|
+
/** Everything PlanMagnet holds that names the person, per table, deleted rows included (service actors only) */
|
|
50960
|
+
planmagnetExportSubject: Scalars['JSON']['output'];
|
|
50531
50961
|
/** Export items to the external tool. Real for `provider: GITHUB` (BOFF-4446): creates/updates real GitHub Issues for the given `internalIds` (WorkItem ids), or one bounded page of every WorkItem in the sync's project when omitted. Every other provider records an honest `NOT_IMPLEMENTED` outcome. */
|
|
50532
50962
|
planmagnetExportToExternal: PlanmagnetSyncResult;
|
|
50533
50963
|
/** Generate release notes from the closed work items linked to a release (by `workItemIds`, falling back to the release's `projectIds`). Persists the generated markdown on `Release.releaseNotes` so it remains editable via `planmagnetUpdateRelease`. When `persist` is false the notes are computed and returned without writing to the database. */
|
|
@@ -50540,12 +50970,20 @@ export type Mutation = {
|
|
|
50540
50970
|
planmagnetLinkCompetitorToFeature: FeatureRequest;
|
|
50541
50971
|
planmagnetLinkDocToWorkItem: PlanmagnetDoc;
|
|
50542
50972
|
planmagnetLinkKeyResultToWorkItem: PlanmagnetKeyResult;
|
|
50973
|
+
planmagnetLinkProductFeatureRequest: Product;
|
|
50974
|
+
/** *-* join — same pairwise-link shape as planmagnetLinkKeyResultToWorkItem (okr module). Re-linking an already-linked pair is a no-op success, not a conflict (matches the Team module's own precedent for a re-added live member). */
|
|
50975
|
+
planmagnetLinkProductObjective: Product;
|
|
50976
|
+
planmagnetLinkProductRelease: Product;
|
|
50977
|
+
/** roadmapId must be a live roadmap in the same workspace, else BAD_USER_INPUT. */
|
|
50978
|
+
planmagnetLinkProductRoadmap: Product;
|
|
50543
50979
|
/** Link a work item to an external product entity */
|
|
50544
50980
|
planmagnetLinkWorkItem: WorkItemLink;
|
|
50545
50981
|
/** Log an expense against a budget */
|
|
50546
50982
|
planmagnetLogExpense: BudgetExpense;
|
|
50547
50983
|
/** Quick log time against a work item */
|
|
50548
50984
|
planmagnetLogTime: PlanmagnetTimeEntry;
|
|
50985
|
+
/** Triage: merge an open request into its original. It becomes DUPLICATE of it, and its votes move there (a voter who voted on both keeps one vote). Returns the original. */
|
|
50986
|
+
planmagnetMergeFeatureRequest: FeatureRequest;
|
|
50549
50987
|
/** Move a card (work item) to a different column and/or position */
|
|
50550
50988
|
planmagnetMoveCard: Board;
|
|
50551
50989
|
/** Move a work item to a different status, sprint, or position */
|
|
@@ -50558,6 +50996,12 @@ export type Mutation = {
|
|
|
50558
50996
|
planmagnetRemoveCustomFieldValue: Scalars['Boolean']['output'];
|
|
50559
50997
|
/** Remove a vote from a feature request */
|
|
50560
50998
|
planmagnetRemoveFeatureVote: Scalars['Boolean']['output'];
|
|
50999
|
+
/** Remove members from a team. */
|
|
51000
|
+
planmagnetRemoveTeamMembers: Team;
|
|
51001
|
+
/** Remove projects from a team. Work items already in an active team sprint from that project are NOT retroactively evicted — see sprint.service.ts. */
|
|
51002
|
+
planmagnetRemoveTeamProjects: Team;
|
|
51003
|
+
/** Take work items out of a release. Ids not in the release are ignored. */
|
|
51004
|
+
planmagnetRemoveWorkItemsFromRelease: Release;
|
|
50561
51005
|
/** Remove work items from a sprint */
|
|
50562
51006
|
planmagnetRemoveWorkItemsFromSprint: Sprint;
|
|
50563
51007
|
/** Revoke a user's editor access to a PlanMagnet workspace, freeing the slot. Idempotent: revoking a user who is not currently an editor returns false. */
|
|
@@ -50572,6 +51016,8 @@ export type Mutation = {
|
|
|
50572
51016
|
planmagnetReviewQualityGate: QualityGate;
|
|
50573
51017
|
/** Set a custom field value on a work item */
|
|
50574
51018
|
planmagnetSetCustomFieldValue: CustomFieldValue;
|
|
51019
|
+
/** Triage: hide a SUBMITTED request from the queue until a future moment (at most a year); null wakes it now */
|
|
51020
|
+
planmagnetSnoozeFeatureRequest: FeatureRequest;
|
|
50575
51021
|
/** Start a sprint (transition to ACTIVE) */
|
|
50576
51022
|
planmagnetStartSprint: Sprint;
|
|
50577
51023
|
/** Start a sync operation in the direction `ExternalSync.direction` already records. Real for `provider: GITHUB` (BOFF-4446) — pulls/pushes real GitHub Issues, bounded to one REST page each way. Every other provider records an honest `NOT_IMPLEMENTED` outcome instead of a fabricated success. */
|
|
@@ -50582,10 +51028,16 @@ export type Mutation = {
|
|
|
50582
51028
|
planmagnetSuggestWorkItemBreakdown: PlanmagnetWorkItemBreakdownResult;
|
|
50583
51029
|
/** Toggle an automation rule (activate/pause) */
|
|
50584
51030
|
planmagnetToggleAutomationRule: PlanmagnetAutomationRule;
|
|
51031
|
+
/** Clears archivedAt. A no-op (still succeeds) if not archived. */
|
|
51032
|
+
planmagnetUnarchiveProduct: Product;
|
|
50585
51033
|
/** Unlink a competitor from a feature request */
|
|
50586
51034
|
planmagnetUnlinkCompetitorFromFeature: FeatureRequest;
|
|
50587
51035
|
planmagnetUnlinkDocFromWorkItem: Scalars['Boolean']['output'];
|
|
50588
51036
|
planmagnetUnlinkKeyResultFromWorkItem: Scalars['Boolean']['output'];
|
|
51037
|
+
planmagnetUnlinkProductFeatureRequest: Product;
|
|
51038
|
+
planmagnetUnlinkProductObjective: Scalars['Boolean']['output'];
|
|
51039
|
+
planmagnetUnlinkProductRelease: Product;
|
|
51040
|
+
planmagnetUnlinkProductRoadmap: Product;
|
|
50589
51041
|
/** Remove a work item link */
|
|
50590
51042
|
planmagnetUnlinkWorkItem: Scalars['Boolean']['output'];
|
|
50591
51043
|
/** Update an existing automation rule */
|
|
@@ -50617,12 +51069,15 @@ export type Mutation = {
|
|
|
50617
51069
|
planmagnetUpdateObjective: PlanmagnetObjective;
|
|
50618
51070
|
/** Update an existing portfolio */
|
|
50619
51071
|
planmagnetUpdatePortfolio: Portfolio;
|
|
51072
|
+
planmagnetUpdateProduct: Product;
|
|
50620
51073
|
/** Update an existing program */
|
|
50621
51074
|
planmagnetUpdateProgram: Program;
|
|
50622
51075
|
/** Update an existing project */
|
|
50623
51076
|
planmagnetUpdateProject: PlanmagnetProject;
|
|
50624
51077
|
/** Update an existing project template */
|
|
50625
51078
|
planmagnetUpdateProjectTemplate: ProjectTemplate;
|
|
51079
|
+
/** Change a project's workflow */
|
|
51080
|
+
planmagnetUpdateProjectWorkflow: PlanmagnetProjectWorkflow;
|
|
50626
51081
|
/** Update an existing quality gate */
|
|
50627
51082
|
planmagnetUpdateQualityGate: QualityGate;
|
|
50628
51083
|
/** Update an existing release */
|
|
@@ -50635,6 +51090,8 @@ export type Mutation = {
|
|
|
50635
51090
|
planmagnetUpdateRoadmapItem: RoadmapItem;
|
|
50636
51091
|
/** Update an existing sprint */
|
|
50637
51092
|
planmagnetUpdateSprint: Sprint;
|
|
51093
|
+
/** Update an existing team. Membership and projects are changed through the dedicated mutations below, not through this one. */
|
|
51094
|
+
planmagnetUpdateTeam: Team;
|
|
50638
51095
|
/** Update an existing time entry */
|
|
50639
51096
|
planmagnetUpdateTimeEntry: PlanmagnetTimeEntry;
|
|
50640
51097
|
/** Update an existing work item */
|
|
@@ -50681,6 +51138,8 @@ export type Mutation = {
|
|
|
50681
51138
|
propagateTagToChildren: Array<UniversalTagAssignment>;
|
|
50682
51139
|
/** Run an agronomic sweep and return the proposals it wrote. A second sweep over unchanged data updates the open proposal rather than adding another — otherwise the inbox becomes a pile of identical cards, which is how a farmer learns to ignore it. Returns BLOCKED rows too: a treatment the compliance rail refused is recorded so the farmer can see it was considered and why it was refused. Dropping it silently looks identical to the engine never having noticed. */
|
|
50683
51140
|
proposeHealthyBowlAgronomyDecisions: AgronomyDecisionSweepResult;
|
|
51141
|
+
/** Provision an Ask or Take-action assistant sandbox for the caller (any workspace role). */
|
|
51142
|
+
provisionAssistantSandbox: Sandbox;
|
|
50684
51143
|
/** Proxy an HTTP request to a sandbox service. Used by the frontend to communicate with services running inside sandboxes (e.g., ai-assistant) through the gateway. */
|
|
50685
51144
|
proxySandboxRequest: ProxySandboxResponse;
|
|
50686
51145
|
pswAddTeamAssignment: PswTeamAssignment;
|
|
@@ -51026,13 +51485,15 @@ export type Mutation = {
|
|
|
51026
51485
|
replayWorkflowRun: TriggerResponse;
|
|
51027
51486
|
/** Record an agent → agent mesh edge. Called by the SOURCE agent after a successful mesh-deploy/connect (or by an operator). Authorization: the caller must control BOTH agents (same workspace + ownerUserId boundary on each). Topology only — no scoped peer credential is stored. */
|
|
51028
51487
|
reportAgentMeshLink: AgentMeshLink;
|
|
51029
|
-
/** Records the real token usage of a completed assistant turn. The resolver computes COST-WEIGHTED credits server-side (billing.quoteAiCredits, per-model prices) and charges them once via addUsageForWorkspace — so the amount is never client-supplied. No @usage(trackUsage) directive here: that would charge a second time (flat token count) on top of the resolver's weighted charge. */
|
|
51488
|
+
/** Records the real token usage of a completed assistant turn. The resolver computes COST-WEIGHTED credits server-side (billing.quoteAiCredits, per-model prices) and charges them once via addUsageForWorkspace — so the amount is never client-supplied. No @usage(trackUsage) directive here: that would charge a second time (flat token count) on top of the resolver's weighted charge. Gated on `assistant:use` (BOFF-7803 5a), the permission every workspace role holds to open an assistant session at all. It was `ai-prompt:create`, which is viewerDefault:false, so a Member/Viewer/Guest could run an assistant turn but the turn could never be charged. The charge always lands on the caller's gateway workspace (x-workspace-id), never on a workspace named in the input. */
|
|
51030
51489
|
reportAiTokenUsage: Scalars['Boolean']['output'];
|
|
51031
51490
|
/** Records the real token usage of a completed assistant turn. The resolver computes COST-WEIGHTED credits server-side (billing.quoteAiCredits, per-model prices) and charges them once via addUsageForWorkspace — so the amount is never client-supplied. No @usage(trackUsage) directive here: that would charge a second time (flat token count) on top of the resolver's weighted charge. */
|
|
51032
51491
|
reportGovAiTokenUsage: Scalars['Boolean']['output'];
|
|
51033
|
-
/** Record and charge the AI credits a completed HealthyBowl assistant turn consumed. Best-effort by contract: the answer has already been produced and shown to the farmer, so a billing or pricing failure must never fail this mutation. It logs and returns true. Callers should not branch on the result. `
|
|
51492
|
+
/** Record and charge the AI credits a completed HealthyBowl assistant turn consumed. Best-effort by contract: the answer has already been produced and shown to the farmer, so a billing or pricing failure must never fail this mutation. It logs and returns true. Callers should not branch on the result. Gated on `assistant:use` (BOFF-7803 5a): the permission every workspace role holds to open an assistant session at all, so every turn a farmer can run can also be charged. It was `ai-prompt:create`, which is viewerDefault:false and is not in the HealthyBowl product roles at all, so a Member/Viewer/Guest (or a farm role) could run a turn that was never metered. It is the same permission VibeControls' equivalent mutation uses. The charge always lands on the caller's gateway workspace (x-workspace-id); `input.context.workspaceId` is not consulted. */
|
|
51034
51493
|
reportHealthyBowlAiTokenUsage: Scalars['Boolean']['output'];
|
|
51035
51494
|
reportMessage: ReportMessagePayload;
|
|
51495
|
+
/** Report the calling actor's own finished assistant turns for latency metrics. Self-scoped: the actor comes from the gateway and is used only to rate-limit reports; it is never recorded. */
|
|
51496
|
+
reportMyAssistantTurnTimings: AssistantTurnTimingsReceipt;
|
|
51036
51497
|
reprocessTimeCampusTimeline: TimeCampusAdminMutationResult;
|
|
51037
51498
|
/** Request input-loan facilitation: creates a time-bounded, revocable FinancierAccessGrant (UC-14) sharing the farmer's field + input-plan records with the lender, plus the loan request row. No always-on data sharing. communityFunded is rejected unless the flag is ON. */
|
|
51038
51499
|
requestHealthyBowlLoanFacilitation: HealthyBowlLoanFacilitation;
|
|
@@ -51259,7 +51720,10 @@ export type Mutation = {
|
|
|
51259
51720
|
/** Run a script inside the sandbox and capture its output. The sandbox must be running. The run is recorded (even on failure) so it can be reviewed before any real-target execution. */
|
|
51260
51721
|
runSandboxScript: SandboxScriptRun;
|
|
51261
51722
|
runSecurityScan: SecurityScanRun;
|
|
51262
|
-
/**
|
|
51723
|
+
/**
|
|
51724
|
+
* Append one completed turn (prompt + reply), creating the conversation on the first turn. NOT idempotent: a retried call appends a duplicate turn. This resolver writes both prompt and reply rows internally, so it performs manual quota checks/tracking instead of using a fixed-amount @usage directive.
|
|
51725
|
+
* @deprecated Use the my* assistant-history fields (BOFF-7335).
|
|
51726
|
+
*/
|
|
51263
51727
|
saveAssistantTurn: AssistantConversation;
|
|
51264
51728
|
/** Save collection as template */
|
|
51265
51729
|
saveCollectionAsTemplate: Collection;
|
|
@@ -51273,6 +51737,8 @@ export type Mutation = {
|
|
|
51273
51737
|
/** Persist a yield scenario (the simulation 'Save Scenario' action). */
|
|
51274
51738
|
saveHealthyBowlYieldScenario: HbYieldForecast;
|
|
51275
51739
|
saveHousingvistaShortlist: HousingVistaShortlist;
|
|
51740
|
+
/** Idempotent per clientMessageId. Never recreates a deleted conversation. Never throws NOT_FOUND. */
|
|
51741
|
+
saveMyAssistantHistoryEntries: SaveMyAssistantHistoryEntriesPayload;
|
|
51276
51742
|
/** Upsert the calling user's active view + per-view overrides. */
|
|
51277
51743
|
saveMyNavPreferences: NavPreferences;
|
|
51278
51744
|
/** Save an AI-assistant sandbox artifact directly into Files without round- tripping bytes through the browser. Calls `wspace-sandbox-svc` over the internal gateway, decodes the artifact, uploads to S3, and creates a File row in the target folder. Returns the freshly created File. Larger artifacts (decoded > 50 MB) return `SANDBOX_ARTIFACT_TOO_LARGE` and the caller falls back to the client-side download path. */
|
|
@@ -51340,7 +51806,7 @@ export type Mutation = {
|
|
|
51340
51806
|
setAgentAutoUpdate: AgentProxyResponse;
|
|
51341
51807
|
/** F4 Wave C — narrow svc-side proxy for playground (GraphiQL) config writes. PUTs `/api/profiles/<profile>/graphiql/config/<vibeId>` with `{ openapiUrl, graphqlUrl }` (only provided keys sent). */
|
|
51342
51808
|
setAgentPlaygroundConfig: AgentProxyResponse;
|
|
51343
|
-
/** Share this agent with the workspace, or take it back (BOFF-6394). `WORKSPACE` exposes the agent to every member holding the matching `@rbac` permission; `PRIVATE` restricts it to `ownerUserId`. Only the owner may change it. Making an ownerless legacy agent `PRIVATE` claims it for the caller in the same step — otherwise the row would become unreachable by everyone, the caller included. */
|
|
51809
|
+
/** Share this agent with the workspace, or take it back (BOFF-6394). `WORKSPACE` exposes the agent to every member holding the matching `@rbac` permission; `PRIVATE` restricts it to `ownerUserId`. Only the owner may change it, and only as a person — `app` / `service` actors are refused. Making an ownerless legacy agent `PRIVATE` claims it for the caller in the same step — otherwise the row would become unreachable by everyone, the caller included. */
|
|
51344
51810
|
setAgentVisibility: VibecontrolsAgent;
|
|
51345
51811
|
setAiPredictionStatus: AiPrediction;
|
|
51346
51812
|
setBalanceTarget: TimeCampusBalanceTarget;
|
|
@@ -51468,6 +51934,8 @@ export type Mutation = {
|
|
|
51468
51934
|
/** Start a stopped or inactive resource */
|
|
51469
51935
|
startWorkspaceResource: WorkspaceResource;
|
|
51470
51936
|
stopCallRecording: CallRecording;
|
|
51937
|
+
/** Stop the caller's OWN Ask or Take-action assistant sandbox (any workspace role). Another user's sandbox, or one that is not an assistant sandbox, is NOT_FOUND. Under the session relay the stop also revokes the session's capability. */
|
|
51938
|
+
stopMyAssistantSandbox: Sandbox;
|
|
51471
51939
|
stopSandbox: Sandbox;
|
|
51472
51940
|
/** Stop a session */
|
|
51473
51941
|
stopSession: Session;
|
|
@@ -51748,6 +52216,7 @@ export type Mutation = {
|
|
|
51748
52216
|
/** Track usage consumption Called by gateway after successful operations */
|
|
51749
52217
|
trackUsage: Scalars['Boolean']['output'];
|
|
51750
52218
|
transferGroupOwnership: Group;
|
|
52219
|
+
transferInventoryStock: MtwInventoryTransferResult;
|
|
51751
52220
|
/** Transfer control to another collaborator */
|
|
51752
52221
|
transferSessionControl: Scalars['Boolean']['output'];
|
|
51753
52222
|
/** Advance a credit's status forward (DRAFT→PENDING→VERIFIED→ISSUED→RETIRED). Illegal transitions throw CONFLICT. */
|
|
@@ -51854,7 +52323,7 @@ export type Mutation = {
|
|
|
51854
52323
|
updateAgentInstructionFile: AgentInstructionFile;
|
|
51855
52324
|
updateAgentInstructionFileShareRole: ShareGrant;
|
|
51856
52325
|
updateAgentMessageBookmark: AgentMessageBookmark;
|
|
51857
|
-
/**
|
|
52326
|
+
/** Claim an ownerless agent for yourself, or release one you own. Ownership is what the `PRIVATE` visibility resolves against, so this mutation is itself owner-gated (BOFF-6394, BOFF-7920) — the `@rbac` directive below only decides whether the caller may update agents at all, not whose agent they may update: - Only a person (`user` / `super_admin`) may change ownership. - An agent with NO owner may be claimed by anyone who can update agents — `ownerUserId` must then be the caller's own id. - The current owner may release it with `ownerUserId: null`. - Assigning an agent to a DIFFERENT user is refused (`FORBIDDEN`): an agent's OAuth identity acts with its owner's reach, so handing your machine to a colleague would let it reach their private agents. The recipient claims it after you release it instead. - Anyone else gets `FORBIDDEN` — including for "release to shared", which used to be the cheapest way to take over a colleague's machine. Releasing ownership also forces `visibility` to `WORKSPACE`: a `PRIVATE` agent with no owner would be reachable by nobody. Claiming an agent does NOT change its visibility — that stays an explicit `setAgentVisibility` call. */
|
|
51858
52327
|
updateAgentOwnership: VibecontrolsAgent;
|
|
51859
52328
|
/** Update an installed plugin to the latest version, or to a specific `version`. Proxies POST /api/profiles/<p>/plugins/update. */
|
|
51860
52329
|
updateAgentPlugin: AgentProxyResponse;
|
|
@@ -52372,6 +52841,8 @@ export type Mutation = {
|
|
|
52372
52841
|
workerAppendRunLogs: WorkerAppendRunLogsResponse;
|
|
52373
52842
|
/** Complete a workflow run (calculates stats and updates status) INTERNAL: Requires actorType SERVICE */
|
|
52374
52843
|
workerCompleteRun: WorkerCompleteRunResponse;
|
|
52844
|
+
/** Start the child run for a Sub-workflow node (BOFF-7648). Run creation stays on this side of the wire: the worker has no database, and the parent/child link, the recursion guards and the workspace scope must be enforced where the data is. The worker then parks its node in WAITING and the child's own completion resumes it. `success: false` with `errorCode` is a USER error (unknown workflow, recursion, empty target) the worker turns into a failed node with a readable message — not a transport failure to retry. INTERNAL: Requires actorType SERVICE */
|
|
52845
|
+
workerCreateChildRun: WorkerCreateChildRunResponse;
|
|
52375
52846
|
/** Create a new node state (for pending nodes) INTERNAL: Requires actorType SERVICE */
|
|
52376
52847
|
workerCreateNodeState: WorkerNodeStateResponse;
|
|
52377
52848
|
/** Record a batch of AI-agent tool calls parked for human approval (BOFF-7521). Called by the executor right after it parks the run/node in WAITING for an opt-in AI Agent node — creates the approval-inbox row the user decides on. INTERNAL: Requires actorType SERVICE */
|
|
@@ -53513,6 +53984,12 @@ export type MutationAssignWorkspaceQuotasArgs = {
|
|
|
53513
53984
|
};
|
|
53514
53985
|
|
|
53515
53986
|
|
|
53987
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
53988
|
+
export type MutationAssistantSessionExecuteArgs = {
|
|
53989
|
+
input: AssistantSessionExecuteInput;
|
|
53990
|
+
};
|
|
53991
|
+
|
|
53992
|
+
|
|
53516
53993
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
53517
53994
|
export type MutationAthAddDrillArgs = {
|
|
53518
53995
|
input: AthAddDrillInput;
|
|
@@ -59803,6 +60280,14 @@ export type MutationDeleteModifiedInstanceArgs = {
|
|
|
59803
60280
|
};
|
|
59804
60281
|
|
|
59805
60282
|
|
|
60283
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
60284
|
+
export type MutationDeleteMyAssistantConversationArgs = {
|
|
60285
|
+
clientConversationId?: InputMaybe<Scalars['ID']['input']>;
|
|
60286
|
+
conversationId?: InputMaybe<Scalars['ID']['input']>;
|
|
60287
|
+
productId: Scalars['String']['input'];
|
|
60288
|
+
};
|
|
60289
|
+
|
|
60290
|
+
|
|
59806
60291
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
59807
60292
|
export type MutationDeleteMyNavViewArgs = {
|
|
59808
60293
|
id: Scalars['ID']['input'];
|
|
@@ -61461,6 +61946,12 @@ export type MutationExecuteSharedVibeDeckButtonArgs = {
|
|
|
61461
61946
|
};
|
|
61462
61947
|
|
|
61463
61948
|
|
|
61949
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
61950
|
+
export type MutationExecuteStepArgs = {
|
|
61951
|
+
input: ExecuteStepInput;
|
|
61952
|
+
};
|
|
61953
|
+
|
|
61954
|
+
|
|
61464
61955
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
61465
61956
|
export type MutationExecuteTransformArgs = {
|
|
61466
61957
|
input: ExecuteTransformInput;
|
|
@@ -61574,6 +62065,14 @@ export type MutationExtendFileLockArgs = {
|
|
|
61574
62065
|
};
|
|
61575
62066
|
|
|
61576
62067
|
|
|
62068
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
62069
|
+
export type MutationExtendMyAssistantSandboxTtlArgs = {
|
|
62070
|
+
additionalSeconds: Scalars['Int']['input'];
|
|
62071
|
+
context: ContextInput;
|
|
62072
|
+
id: Scalars['ID']['input'];
|
|
62073
|
+
};
|
|
62074
|
+
|
|
62075
|
+
|
|
61577
62076
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
61578
62077
|
export type MutationExtendSandboxTtlArgs = {
|
|
61579
62078
|
additionalSeconds: Scalars['Int']['input'];
|
|
@@ -62518,6 +63017,8 @@ export type MutationHeadshotmarketingReorderLandingPageSectionsArgs = {
|
|
|
62518
63017
|
|
|
62519
63018
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
62520
63019
|
export type MutationHeadshotmarketingRunSeoAuditArgs = {
|
|
63020
|
+
maxDepth?: InputMaybe<Scalars['Int']['input']>;
|
|
63021
|
+
maxPages?: InputMaybe<Scalars['Int']['input']>;
|
|
62521
63022
|
url: Scalars['String']['input'];
|
|
62522
63023
|
};
|
|
62523
63024
|
|
|
@@ -64152,6 +64653,13 @@ export type MutationLinkEntityToVibeArgs = {
|
|
|
64152
64653
|
};
|
|
64153
64654
|
|
|
64154
64655
|
|
|
64656
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
64657
|
+
export type MutationLinkHeadshotmarketingSocialAccountConnectionArgs = {
|
|
64658
|
+
id: Scalars['ID']['input'];
|
|
64659
|
+
integrationConnectionId: Scalars['ID']['input'];
|
|
64660
|
+
};
|
|
64661
|
+
|
|
64662
|
+
|
|
64155
64663
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
64156
64664
|
export type MutationLinkHealthyBowlHarvestToInventoryArgs = {
|
|
64157
64665
|
input: LinkHarvestToInventoryInput;
|
|
@@ -65052,6 +65560,40 @@ export type MutationPlanMultiModalShipmentArgs = {
|
|
|
65052
65560
|
};
|
|
65053
65561
|
|
|
65054
65562
|
|
|
65563
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65564
|
+
export type MutationPlanmagnetAcceptFeatureRequestArgs = {
|
|
65565
|
+
id: Scalars['ID']['input'];
|
|
65566
|
+
input?: InputMaybe<PlanmagnetAcceptFeatureRequestInput>;
|
|
65567
|
+
};
|
|
65568
|
+
|
|
65569
|
+
|
|
65570
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65571
|
+
export type MutationPlanmagnetAddTeamMembersArgs = {
|
|
65572
|
+
id: Scalars['ID']['input'];
|
|
65573
|
+
input: PlanmagnetTeamMembersInput;
|
|
65574
|
+
};
|
|
65575
|
+
|
|
65576
|
+
|
|
65577
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65578
|
+
export type MutationPlanmagnetAddTeamProjectsArgs = {
|
|
65579
|
+
id: Scalars['ID']['input'];
|
|
65580
|
+
input: PlanmagnetTeamProjectsInput;
|
|
65581
|
+
};
|
|
65582
|
+
|
|
65583
|
+
|
|
65584
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65585
|
+
export type MutationPlanmagnetAddWorkItemCommentArgs = {
|
|
65586
|
+
input: PlanmagnetAddWorkItemCommentInput;
|
|
65587
|
+
};
|
|
65588
|
+
|
|
65589
|
+
|
|
65590
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65591
|
+
export type MutationPlanmagnetAddWorkItemsToReleaseArgs = {
|
|
65592
|
+
releaseId: Scalars['ID']['input'];
|
|
65593
|
+
workItemIds: Array<Scalars['ID']['input']>;
|
|
65594
|
+
};
|
|
65595
|
+
|
|
65596
|
+
|
|
65055
65597
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65056
65598
|
export type MutationPlanmagnetAddWorkItemsToSprintArgs = {
|
|
65057
65599
|
id: Scalars['ID']['input'];
|
|
@@ -65084,6 +65626,12 @@ export type MutationPlanmagnetApproveTimesheetArgs = {
|
|
|
65084
65626
|
};
|
|
65085
65627
|
|
|
65086
65628
|
|
|
65629
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65630
|
+
export type MutationPlanmagnetArchiveProductArgs = {
|
|
65631
|
+
id: Scalars['ID']['input'];
|
|
65632
|
+
};
|
|
65633
|
+
|
|
65634
|
+
|
|
65087
65635
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65088
65636
|
export type MutationPlanmagnetAssignWorkItemArgs = {
|
|
65089
65637
|
id: Scalars['ID']['input'];
|
|
@@ -65193,6 +65741,12 @@ export type MutationPlanmagnetCreatePortfolioArgs = {
|
|
|
65193
65741
|
};
|
|
65194
65742
|
|
|
65195
65743
|
|
|
65744
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65745
|
+
export type MutationPlanmagnetCreateProductArgs = {
|
|
65746
|
+
input: PlanmagnetCreateProductInput;
|
|
65747
|
+
};
|
|
65748
|
+
|
|
65749
|
+
|
|
65196
65750
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65197
65751
|
export type MutationPlanmagnetCreateProgramArgs = {
|
|
65198
65752
|
input: PlanmagnetCreateProgramInput;
|
|
@@ -65247,6 +65801,12 @@ export type MutationPlanmagnetCreateSprintArgs = {
|
|
|
65247
65801
|
};
|
|
65248
65802
|
|
|
65249
65803
|
|
|
65804
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65805
|
+
export type MutationPlanmagnetCreateTeamArgs = {
|
|
65806
|
+
input: PlanmagnetCreateTeamInput;
|
|
65807
|
+
};
|
|
65808
|
+
|
|
65809
|
+
|
|
65250
65810
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65251
65811
|
export type MutationPlanmagnetCreateTemplateFromProjectArgs = {
|
|
65252
65812
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -65273,6 +65833,13 @@ export type MutationPlanmagnetCreateWorkItemArgs = {
|
|
|
65273
65833
|
};
|
|
65274
65834
|
|
|
65275
65835
|
|
|
65836
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65837
|
+
export type MutationPlanmagnetDeclineFeatureRequestArgs = {
|
|
65838
|
+
id: Scalars['ID']['input'];
|
|
65839
|
+
reason: Scalars['String']['input'];
|
|
65840
|
+
};
|
|
65841
|
+
|
|
65842
|
+
|
|
65276
65843
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65277
65844
|
export type MutationPlanmagnetDeleteAutomationRuleArgs = {
|
|
65278
65845
|
id: Scalars['ID']['input'];
|
|
@@ -65363,6 +65930,12 @@ export type MutationPlanmagnetDeletePortfolioArgs = {
|
|
|
65363
65930
|
};
|
|
65364
65931
|
|
|
65365
65932
|
|
|
65933
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65934
|
+
export type MutationPlanmagnetDeleteProductArgs = {
|
|
65935
|
+
id: Scalars['ID']['input'];
|
|
65936
|
+
};
|
|
65937
|
+
|
|
65938
|
+
|
|
65366
65939
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65367
65940
|
export type MutationPlanmagnetDeleteProgramArgs = {
|
|
65368
65941
|
id: Scalars['ID']['input'];
|
|
@@ -65417,6 +65990,12 @@ export type MutationPlanmagnetDeleteSprintArgs = {
|
|
|
65417
65990
|
};
|
|
65418
65991
|
|
|
65419
65992
|
|
|
65993
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65994
|
+
export type MutationPlanmagnetDeleteTeamArgs = {
|
|
65995
|
+
id: Scalars['ID']['input'];
|
|
65996
|
+
};
|
|
65997
|
+
|
|
65998
|
+
|
|
65420
65999
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65421
66000
|
export type MutationPlanmagnetDeleteTimeEntryArgs = {
|
|
65422
66001
|
id: Scalars['ID']['input'];
|
|
@@ -65429,6 +66008,26 @@ export type MutationPlanmagnetDeleteWorkItemArgs = {
|
|
|
65429
66008
|
};
|
|
65430
66009
|
|
|
65431
66010
|
|
|
66011
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66012
|
+
export type MutationPlanmagnetDeleteWorkItemCommentArgs = {
|
|
66013
|
+
id: Scalars['ID']['input'];
|
|
66014
|
+
};
|
|
66015
|
+
|
|
66016
|
+
|
|
66017
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66018
|
+
export type MutationPlanmagnetEditWorkItemCommentArgs = {
|
|
66019
|
+
body: Scalars['String']['input'];
|
|
66020
|
+
id: Scalars['ID']['input'];
|
|
66021
|
+
};
|
|
66022
|
+
|
|
66023
|
+
|
|
66024
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66025
|
+
export type MutationPlanmagnetEraseSubjectArgs = {
|
|
66026
|
+
dryRun?: InputMaybe<Scalars['Boolean']['input']>;
|
|
66027
|
+
subjectId: Scalars['ID']['input'];
|
|
66028
|
+
};
|
|
66029
|
+
|
|
66030
|
+
|
|
65432
66031
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65433
66032
|
export type MutationPlanmagnetExecuteAutomationRuleArgs = {
|
|
65434
66033
|
id: Scalars['ID']['input'];
|
|
@@ -65436,6 +66035,12 @@ export type MutationPlanmagnetExecuteAutomationRuleArgs = {
|
|
|
65436
66035
|
};
|
|
65437
66036
|
|
|
65438
66037
|
|
|
66038
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66039
|
+
export type MutationPlanmagnetExportSubjectArgs = {
|
|
66040
|
+
subjectId: Scalars['ID']['input'];
|
|
66041
|
+
};
|
|
66042
|
+
|
|
66043
|
+
|
|
65439
66044
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65440
66045
|
export type MutationPlanmagnetExportToExternalArgs = {
|
|
65441
66046
|
input: PlanmagnetExportToExternalInput;
|
|
@@ -65481,6 +66086,34 @@ export type MutationPlanmagnetLinkKeyResultToWorkItemArgs = {
|
|
|
65481
66086
|
};
|
|
65482
66087
|
|
|
65483
66088
|
|
|
66089
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66090
|
+
export type MutationPlanmagnetLinkProductFeatureRequestArgs = {
|
|
66091
|
+
featureRequestId: Scalars['ID']['input'];
|
|
66092
|
+
productId: Scalars['ID']['input'];
|
|
66093
|
+
};
|
|
66094
|
+
|
|
66095
|
+
|
|
66096
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66097
|
+
export type MutationPlanmagnetLinkProductObjectiveArgs = {
|
|
66098
|
+
objectiveId: Scalars['ID']['input'];
|
|
66099
|
+
productId: Scalars['ID']['input'];
|
|
66100
|
+
};
|
|
66101
|
+
|
|
66102
|
+
|
|
66103
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66104
|
+
export type MutationPlanmagnetLinkProductReleaseArgs = {
|
|
66105
|
+
productId: Scalars['ID']['input'];
|
|
66106
|
+
releaseId: Scalars['ID']['input'];
|
|
66107
|
+
};
|
|
66108
|
+
|
|
66109
|
+
|
|
66110
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66111
|
+
export type MutationPlanmagnetLinkProductRoadmapArgs = {
|
|
66112
|
+
productId: Scalars['ID']['input'];
|
|
66113
|
+
roadmapId: Scalars['ID']['input'];
|
|
66114
|
+
};
|
|
66115
|
+
|
|
66116
|
+
|
|
65484
66117
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65485
66118
|
export type MutationPlanmagnetLinkWorkItemArgs = {
|
|
65486
66119
|
input: PlanmagnetCreateWorkItemLinkInput;
|
|
@@ -65499,6 +66132,13 @@ export type MutationPlanmagnetLogTimeArgs = {
|
|
|
65499
66132
|
};
|
|
65500
66133
|
|
|
65501
66134
|
|
|
66135
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66136
|
+
export type MutationPlanmagnetMergeFeatureRequestArgs = {
|
|
66137
|
+
id: Scalars['ID']['input'];
|
|
66138
|
+
intoId: Scalars['ID']['input'];
|
|
66139
|
+
};
|
|
66140
|
+
|
|
66141
|
+
|
|
65502
66142
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65503
66143
|
export type MutationPlanmagnetMoveCardArgs = {
|
|
65504
66144
|
boardId: Scalars['ID']['input'];
|
|
@@ -65539,6 +66179,27 @@ export type MutationPlanmagnetRemoveFeatureVoteArgs = {
|
|
|
65539
66179
|
};
|
|
65540
66180
|
|
|
65541
66181
|
|
|
66182
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66183
|
+
export type MutationPlanmagnetRemoveTeamMembersArgs = {
|
|
66184
|
+
id: Scalars['ID']['input'];
|
|
66185
|
+
input: PlanmagnetTeamMembersInput;
|
|
66186
|
+
};
|
|
66187
|
+
|
|
66188
|
+
|
|
66189
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66190
|
+
export type MutationPlanmagnetRemoveTeamProjectsArgs = {
|
|
66191
|
+
id: Scalars['ID']['input'];
|
|
66192
|
+
input: PlanmagnetTeamProjectsInput;
|
|
66193
|
+
};
|
|
66194
|
+
|
|
66195
|
+
|
|
66196
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66197
|
+
export type MutationPlanmagnetRemoveWorkItemsFromReleaseArgs = {
|
|
66198
|
+
releaseId: Scalars['ID']['input'];
|
|
66199
|
+
workItemIds: Array<Scalars['ID']['input']>;
|
|
66200
|
+
};
|
|
66201
|
+
|
|
66202
|
+
|
|
65542
66203
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65543
66204
|
export type MutationPlanmagnetRemoveWorkItemsFromSprintArgs = {
|
|
65544
66205
|
id: Scalars['ID']['input'];
|
|
@@ -65568,6 +66229,7 @@ export type MutationPlanmagnetResumeExternalSyncArgs = {
|
|
|
65568
66229
|
|
|
65569
66230
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65570
66231
|
export type MutationPlanmagnetRevertDocArgs = {
|
|
66232
|
+
expectedVersion?: InputMaybe<Scalars['Int']['input']>;
|
|
65571
66233
|
id: Scalars['ID']['input'];
|
|
65572
66234
|
toVersion: Scalars['Int']['input'];
|
|
65573
66235
|
};
|
|
@@ -65586,6 +66248,13 @@ export type MutationPlanmagnetSetCustomFieldValueArgs = {
|
|
|
65586
66248
|
};
|
|
65587
66249
|
|
|
65588
66250
|
|
|
66251
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66252
|
+
export type MutationPlanmagnetSnoozeFeatureRequestArgs = {
|
|
66253
|
+
id: Scalars['ID']['input'];
|
|
66254
|
+
until?: InputMaybe<Scalars['DateTime']['input']>;
|
|
66255
|
+
};
|
|
66256
|
+
|
|
66257
|
+
|
|
65589
66258
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65590
66259
|
export type MutationPlanmagnetStartSprintArgs = {
|
|
65591
66260
|
id: Scalars['ID']['input'];
|
|
@@ -65617,6 +66286,12 @@ export type MutationPlanmagnetToggleAutomationRuleArgs = {
|
|
|
65617
66286
|
};
|
|
65618
66287
|
|
|
65619
66288
|
|
|
66289
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66290
|
+
export type MutationPlanmagnetUnarchiveProductArgs = {
|
|
66291
|
+
id: Scalars['ID']['input'];
|
|
66292
|
+
};
|
|
66293
|
+
|
|
66294
|
+
|
|
65620
66295
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65621
66296
|
export type MutationPlanmagnetUnlinkCompetitorFromFeatureArgs = {
|
|
65622
66297
|
input: PlanmagnetLinkCompetitorInput;
|
|
@@ -65637,6 +66312,34 @@ export type MutationPlanmagnetUnlinkKeyResultFromWorkItemArgs = {
|
|
|
65637
66312
|
};
|
|
65638
66313
|
|
|
65639
66314
|
|
|
66315
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66316
|
+
export type MutationPlanmagnetUnlinkProductFeatureRequestArgs = {
|
|
66317
|
+
featureRequestId: Scalars['ID']['input'];
|
|
66318
|
+
productId: Scalars['ID']['input'];
|
|
66319
|
+
};
|
|
66320
|
+
|
|
66321
|
+
|
|
66322
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66323
|
+
export type MutationPlanmagnetUnlinkProductObjectiveArgs = {
|
|
66324
|
+
objectiveId: Scalars['ID']['input'];
|
|
66325
|
+
productId: Scalars['ID']['input'];
|
|
66326
|
+
};
|
|
66327
|
+
|
|
66328
|
+
|
|
66329
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66330
|
+
export type MutationPlanmagnetUnlinkProductReleaseArgs = {
|
|
66331
|
+
productId: Scalars['ID']['input'];
|
|
66332
|
+
releaseId: Scalars['ID']['input'];
|
|
66333
|
+
};
|
|
66334
|
+
|
|
66335
|
+
|
|
66336
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66337
|
+
export type MutationPlanmagnetUnlinkProductRoadmapArgs = {
|
|
66338
|
+
productId: Scalars['ID']['input'];
|
|
66339
|
+
roadmapId: Scalars['ID']['input'];
|
|
66340
|
+
};
|
|
66341
|
+
|
|
66342
|
+
|
|
65640
66343
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65641
66344
|
export type MutationPlanmagnetUnlinkWorkItemArgs = {
|
|
65642
66345
|
id: Scalars['ID']['input'];
|
|
@@ -65748,6 +66451,13 @@ export type MutationPlanmagnetUpdatePortfolioArgs = {
|
|
|
65748
66451
|
};
|
|
65749
66452
|
|
|
65750
66453
|
|
|
66454
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66455
|
+
export type MutationPlanmagnetUpdateProductArgs = {
|
|
66456
|
+
id: Scalars['ID']['input'];
|
|
66457
|
+
input: PlanmagnetUpdateProductInput;
|
|
66458
|
+
};
|
|
66459
|
+
|
|
66460
|
+
|
|
65751
66461
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65752
66462
|
export type MutationPlanmagnetUpdateProgramArgs = {
|
|
65753
66463
|
id: Scalars['ID']['input'];
|
|
@@ -65769,6 +66479,13 @@ export type MutationPlanmagnetUpdateProjectTemplateArgs = {
|
|
|
65769
66479
|
};
|
|
65770
66480
|
|
|
65771
66481
|
|
|
66482
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66483
|
+
export type MutationPlanmagnetUpdateProjectWorkflowArgs = {
|
|
66484
|
+
input: PlanmagnetUpdateProjectWorkflowInput;
|
|
66485
|
+
projectId: Scalars['ID']['input'];
|
|
66486
|
+
};
|
|
66487
|
+
|
|
66488
|
+
|
|
65772
66489
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65773
66490
|
export type MutationPlanmagnetUpdateQualityGateArgs = {
|
|
65774
66491
|
id: Scalars['ID']['input'];
|
|
@@ -65811,6 +66528,13 @@ export type MutationPlanmagnetUpdateSprintArgs = {
|
|
|
65811
66528
|
};
|
|
65812
66529
|
|
|
65813
66530
|
|
|
66531
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66532
|
+
export type MutationPlanmagnetUpdateTeamArgs = {
|
|
66533
|
+
id: Scalars['ID']['input'];
|
|
66534
|
+
input: PlanmagnetUpdateTeamInput;
|
|
66535
|
+
};
|
|
66536
|
+
|
|
66537
|
+
|
|
65814
66538
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
65815
66539
|
export type MutationPlanmagnetUpdateTimeEntryArgs = {
|
|
65816
66540
|
id: Scalars['ID']['input'];
|
|
@@ -66020,6 +66744,12 @@ export type MutationProposeHealthyBowlAgronomyDecisionsArgs = {
|
|
|
66020
66744
|
};
|
|
66021
66745
|
|
|
66022
66746
|
|
|
66747
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66748
|
+
export type MutationProvisionAssistantSandboxArgs = {
|
|
66749
|
+
input: ProvisionAssistantSandboxInput;
|
|
66750
|
+
};
|
|
66751
|
+
|
|
66752
|
+
|
|
66023
66753
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
66024
66754
|
export type MutationProxySandboxRequestArgs = {
|
|
66025
66755
|
input: ProxySandboxRequestInput;
|
|
@@ -67529,6 +68259,12 @@ export type MutationReportMessageArgs = {
|
|
|
67529
68259
|
};
|
|
67530
68260
|
|
|
67531
68261
|
|
|
68262
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
68263
|
+
export type MutationReportMyAssistantTurnTimingsArgs = {
|
|
68264
|
+
input: ReportAssistantTurnTimingsInput;
|
|
68265
|
+
};
|
|
68266
|
+
|
|
68267
|
+
|
|
67532
68268
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
67533
68269
|
export type MutationReprocessTimeCampusTimelineArgs = {
|
|
67534
68270
|
workspaceId: Scalars['ID']['input'];
|
|
@@ -68542,6 +69278,12 @@ export type MutationSaveHousingvistaShortlistArgs = {
|
|
|
68542
69278
|
};
|
|
68543
69279
|
|
|
68544
69280
|
|
|
69281
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
69282
|
+
export type MutationSaveMyAssistantHistoryEntriesArgs = {
|
|
69283
|
+
input: SaveMyAssistantHistoryEntriesInput;
|
|
69284
|
+
};
|
|
69285
|
+
|
|
69286
|
+
|
|
68545
69287
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
68546
69288
|
export type MutationSaveMyNavPreferencesArgs = {
|
|
68547
69289
|
input: SaveNavPreferencesInput;
|
|
@@ -69405,6 +70147,13 @@ export type MutationStopCallRecordingArgs = {
|
|
|
69405
70147
|
};
|
|
69406
70148
|
|
|
69407
70149
|
|
|
70150
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
70151
|
+
export type MutationStopMyAssistantSandboxArgs = {
|
|
70152
|
+
context: ContextInput;
|
|
70153
|
+
id: Scalars['ID']['input'];
|
|
70154
|
+
};
|
|
70155
|
+
|
|
70156
|
+
|
|
69408
70157
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
69409
70158
|
export type MutationStopSandboxArgs = {
|
|
69410
70159
|
context: ContextInput;
|
|
@@ -70628,6 +71377,12 @@ export type MutationTransferGroupOwnershipArgs = {
|
|
|
70628
71377
|
};
|
|
70629
71378
|
|
|
70630
71379
|
|
|
71380
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
71381
|
+
export type MutationTransferInventoryStockArgs = {
|
|
71382
|
+
input: TransferInventoryStockInput;
|
|
71383
|
+
};
|
|
71384
|
+
|
|
71385
|
+
|
|
70631
71386
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
70632
71387
|
export type MutationTransferSessionControlArgs = {
|
|
70633
71388
|
sessionId: Scalars['ID']['input'];
|
|
@@ -73771,6 +74526,12 @@ export type MutationWorkerCompleteRunArgs = {
|
|
|
73771
74526
|
};
|
|
73772
74527
|
|
|
73773
74528
|
|
|
74529
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
74530
|
+
export type MutationWorkerCreateChildRunArgs = {
|
|
74531
|
+
input: WorkerCreateChildRunInput;
|
|
74532
|
+
};
|
|
74533
|
+
|
|
74534
|
+
|
|
73774
74535
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
73775
74536
|
export type MutationWorkerCreateNodeStateArgs = {
|
|
73776
74537
|
input: WorkerCreateNodeStateInput;
|
|
@@ -75752,6 +76513,62 @@ export type PlanMultiModalShipmentInput = {
|
|
|
75752
76513
|
storeOrderId?: InputMaybe<Scalars['ID']['input']>;
|
|
75753
76514
|
};
|
|
75754
76515
|
|
|
76516
|
+
/** Accept a request out of triage */
|
|
76517
|
+
export type PlanmagnetAcceptFeatureRequestInput = {
|
|
76518
|
+
/** The project that will deliver it */
|
|
76519
|
+
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
76520
|
+
/** UNDER_REVIEW or PLANNED (the default) */
|
|
76521
|
+
status?: InputMaybe<FeatureRequestStatus>;
|
|
76522
|
+
};
|
|
76523
|
+
|
|
76524
|
+
export type PlanmagnetAddWorkItemCommentInput = {
|
|
76525
|
+
/** Comment text (1 to 10,000 characters after trimming) */
|
|
76526
|
+
body: Scalars['String']['input'];
|
|
76527
|
+
workItemId: Scalars['ID']['input'];
|
|
76528
|
+
};
|
|
76529
|
+
|
|
76530
|
+
/** One recorded AI call. Every call is written, success or failure, by AiGatewayService.completeWithDecision. `inputRefs` is deliberately NOT exposed: the column is classified L3 in the Prisma schema, and a ledger read should not become the easiest way to pull classified input back out. */
|
|
76531
|
+
export type PlanmagnetAgentRun = {
|
|
76532
|
+
__typename?: 'PlanmagnetAgentRun';
|
|
76533
|
+
actorId: Scalars['String']['output'];
|
|
76534
|
+
actorType: Scalars['String']['output'];
|
|
76535
|
+
createdAt: Scalars['DateTime']['output'];
|
|
76536
|
+
/** What the model decided (e.g. the suggestions it returned), as recorded. */
|
|
76537
|
+
decision?: Maybe<Scalars['JSON']['output']>;
|
|
76538
|
+
error?: Maybe<Scalars['String']['output']>;
|
|
76539
|
+
id: Scalars['ID']['output'];
|
|
76540
|
+
latencyMs?: Maybe<Scalars['Int']['output']>;
|
|
76541
|
+
model: Scalars['String']['output'];
|
|
76542
|
+
promptSummary: Scalars['String']['output'];
|
|
76543
|
+
provider: Scalars['String']['output'];
|
|
76544
|
+
status: PlanmagnetAgentRunStatus;
|
|
76545
|
+
tokensIn?: Maybe<Scalars['Int']['output']>;
|
|
76546
|
+
tokensOut?: Maybe<Scalars['Int']['output']>;
|
|
76547
|
+
trigger: PlanmagnetAgentRunTrigger;
|
|
76548
|
+
workspaceId: Scalars['ID']['output'];
|
|
76549
|
+
};
|
|
76550
|
+
|
|
76551
|
+
export type PlanmagnetAgentRunFilter = {
|
|
76552
|
+
status?: InputMaybe<PlanmagnetAgentRunStatus>;
|
|
76553
|
+
};
|
|
76554
|
+
|
|
76555
|
+
export type PlanmagnetAgentRunList = {
|
|
76556
|
+
__typename?: 'PlanmagnetAgentRunList';
|
|
76557
|
+
items: Array<PlanmagnetAgentRun>;
|
|
76558
|
+
pageInfo: PlanmagnetPageInfo;
|
|
76559
|
+
totalCount: Scalars['Int']['output'];
|
|
76560
|
+
};
|
|
76561
|
+
|
|
76562
|
+
/** Values mirror the Prisma enum exactly. Enum drift between the two layers is how every dependency write in this service 500'd for months — see 20260924130000 — so do not add a value here without the migration. */
|
|
76563
|
+
export enum PlanmagnetAgentRunStatus {
|
|
76564
|
+
Failed = 'FAILED',
|
|
76565
|
+
Succeeded = 'SUCCEEDED'
|
|
76566
|
+
}
|
|
76567
|
+
|
|
76568
|
+
export enum PlanmagnetAgentRunTrigger {
|
|
76569
|
+
Manual = 'MANUAL'
|
|
76570
|
+
}
|
|
76571
|
+
|
|
75755
76572
|
export type PlanmagnetApplyTemplateInput = {
|
|
75756
76573
|
ownerId: Scalars['String']['input'];
|
|
75757
76574
|
projectDescription?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -75802,10 +76619,14 @@ export type PlanmagnetAutomationExecutionList = {
|
|
|
75802
76619
|
totalCount: Scalars['Int']['output'];
|
|
75803
76620
|
};
|
|
75804
76621
|
|
|
76622
|
+
/** The outcome of one automation run. PARTIAL_FAILURE exists because a run that dispatched some actions and could not dispatch others is neither a success nor a plain failure, and an operator needs to tell those apart. Before the status column existed the backing store was a single boolean, so this distinction could not be represented at all. */
|
|
75805
76623
|
export enum PlanmagnetAutomationExecutionStatus {
|
|
75806
76624
|
Failure = 'FAILURE',
|
|
76625
|
+
/** Some actions ran, others failed or could not be dispatched. */
|
|
76626
|
+
PartialFailure = 'PARTIAL_FAILURE',
|
|
75807
76627
|
Pending = 'PENDING',
|
|
75808
76628
|
Running = 'RUNNING',
|
|
76629
|
+
/** Nothing ran — no action the rule declared is supported by this engine. */
|
|
75809
76630
|
Skipped = 'SKIPPED',
|
|
75810
76631
|
Success = 'SUCCESS'
|
|
75811
76632
|
}
|
|
@@ -75985,7 +76806,9 @@ export type PlanmagnetBudget = {
|
|
|
75985
76806
|
export type PlanmagnetBudgetExpenseFilter = {
|
|
75986
76807
|
budgetId?: InputMaybe<Scalars['String']['input']>;
|
|
75987
76808
|
category?: InputMaybe<Scalars['String']['input']>;
|
|
76809
|
+
/** Expenses dated on or after this UTC day */
|
|
75988
76810
|
dateFrom?: InputMaybe<Scalars['DateTime']['input']>;
|
|
76811
|
+
/** Expenses dated on or before this UTC day (the whole day is included) */
|
|
75989
76812
|
dateTo?: InputMaybe<Scalars['DateTime']['input']>;
|
|
75990
76813
|
};
|
|
75991
76814
|
|
|
@@ -76086,6 +76909,8 @@ export type PlanmagnetCreateBoardInput = {
|
|
|
76086
76909
|
name: Scalars['String']['input'];
|
|
76087
76910
|
projectId: Scalars['String']['input'];
|
|
76088
76911
|
type: BoardType;
|
|
76912
|
+
/** Also create one column per status of the default workflow (Backlog, To Do, In Progress, In Review, Testing, Done), each mapped to its status */
|
|
76913
|
+
withDefaultColumns?: InputMaybe<Scalars['Boolean']['input']>;
|
|
76089
76914
|
};
|
|
76090
76915
|
|
|
76091
76916
|
export type PlanmagnetCreateBudgetInput = {
|
|
@@ -76122,9 +76947,10 @@ export type PlanmagnetCreateCustomFieldDefinitionInput = {
|
|
|
76122
76947
|
|
|
76123
76948
|
export type PlanmagnetCreateDependencyInput = {
|
|
76124
76949
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
76950
|
+
lagMinutes?: InputMaybe<Scalars['Int']['input']>;
|
|
76125
76951
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
76126
|
-
|
|
76127
|
-
|
|
76952
|
+
predecessorId: Scalars['String']['input'];
|
|
76953
|
+
successorId: Scalars['String']['input'];
|
|
76128
76954
|
type: DependencyType;
|
|
76129
76955
|
};
|
|
76130
76956
|
|
|
@@ -76151,6 +76977,7 @@ export type PlanmagnetCreateFeatureRequestInput = {
|
|
|
76151
76977
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
76152
76978
|
effortEstimate?: InputMaybe<Scalars['String']['input']>;
|
|
76153
76979
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
76980
|
+
productId?: InputMaybe<Scalars['String']['input']>;
|
|
76154
76981
|
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
76155
76982
|
status?: InputMaybe<FeatureRequestStatus>;
|
|
76156
76983
|
tags?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
@@ -76210,6 +77037,16 @@ export type PlanmagnetCreatePortfolioInput = {
|
|
|
76210
77037
|
tags?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
76211
77038
|
};
|
|
76212
77039
|
|
|
77040
|
+
export type PlanmagnetCreateProductInput = {
|
|
77041
|
+
description?: InputMaybe<Scalars['String']['input']>;
|
|
77042
|
+
lifecycleStage?: InputMaybe<PlanmagnetProductLifecycleStage>;
|
|
77043
|
+
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
77044
|
+
name: Scalars['String']['input'];
|
|
77045
|
+
northStar?: InputMaybe<PlanmagnetProductNorthStarInput>;
|
|
77046
|
+
ownerId: Scalars['String']['input'];
|
|
77047
|
+
vision: Scalars['String']['input'];
|
|
77048
|
+
};
|
|
77049
|
+
|
|
76213
77050
|
export type PlanmagnetCreateProgramInput = {
|
|
76214
77051
|
budgetTotal?: InputMaybe<Scalars['Float']['input']>;
|
|
76215
77052
|
currency?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -76232,6 +77069,8 @@ export type PlanmagnetCreateProjectInput = {
|
|
|
76232
77069
|
methodology?: InputMaybe<ProjectMethodology>;
|
|
76233
77070
|
name: Scalars['String']['input'];
|
|
76234
77071
|
ownerId: Scalars['String']['input'];
|
|
77072
|
+
/** Parent portfolio ID. Must exist in the same workspace and not be soft-deleted (BOFF-8047). */
|
|
77073
|
+
portfolioId?: InputMaybe<Scalars['String']['input']>;
|
|
76235
77074
|
programId?: InputMaybe<Scalars['String']['input']>;
|
|
76236
77075
|
startDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
76237
77076
|
status?: InputMaybe<PlanmagnetProjectStatus>;
|
|
@@ -76262,6 +77101,8 @@ export type PlanmagnetCreateQualityGateInput = {
|
|
|
76262
77101
|
name: Scalars['String']['input'];
|
|
76263
77102
|
phase?: InputMaybe<Scalars['String']['input']>;
|
|
76264
77103
|
projectId: Scalars['String']['input'];
|
|
77104
|
+
/** The release this gate holds (a release of the same project, or one with no projects) */
|
|
77105
|
+
releaseId?: InputMaybe<Scalars['String']['input']>;
|
|
76265
77106
|
sortOrder?: InputMaybe<Scalars['Int']['input']>;
|
|
76266
77107
|
};
|
|
76267
77108
|
|
|
@@ -76271,6 +77112,7 @@ export type PlanmagnetCreateReleaseInput = {
|
|
|
76271
77112
|
name: Scalars['String']['input'];
|
|
76272
77113
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
76273
77114
|
plannedDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
77115
|
+
productId?: InputMaybe<Scalars['String']['input']>;
|
|
76274
77116
|
projectId: Scalars['String']['input'];
|
|
76275
77117
|
releaseNotes?: InputMaybe<Scalars['String']['input']>;
|
|
76276
77118
|
status?: InputMaybe<ReleaseStatus>;
|
|
@@ -76300,6 +77142,8 @@ export type PlanmagnetCreateRoadmapInput = {
|
|
|
76300
77142
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
76301
77143
|
name: Scalars['String']['input'];
|
|
76302
77144
|
ownerId: Scalars['String']['input'];
|
|
77145
|
+
planningFocus?: InputMaybe<RoadmapPlanningFocus>;
|
|
77146
|
+
productId?: InputMaybe<Scalars['String']['input']>;
|
|
76303
77147
|
type: RoadmapType;
|
|
76304
77148
|
};
|
|
76305
77149
|
|
|
@@ -76325,10 +77169,19 @@ export type PlanmagnetCreateSprintInput = {
|
|
|
76325
77169
|
goal?: InputMaybe<Scalars['String']['input']>;
|
|
76326
77170
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
76327
77171
|
name: Scalars['String']['input'];
|
|
76328
|
-
projectId
|
|
77172
|
+
/** Exactly one of projectId/teamId is required (BOFF-8044) — enforced server-side (sprint.errors.scopeConflict / sprint.errors.scopeRequired). */
|
|
77173
|
+
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
76329
77174
|
/** Accepted for API compatibility but not honored: sort position is always the auto-assigned, per-project-unique `sequenceNumber` — see sprint.service.ts. */
|
|
76330
77175
|
sortOrder?: InputMaybe<Scalars['Int']['input']>;
|
|
76331
77176
|
startDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
77177
|
+
teamId?: InputMaybe<Scalars['String']['input']>;
|
|
77178
|
+
};
|
|
77179
|
+
|
|
77180
|
+
export type PlanmagnetCreateTeamInput = {
|
|
77181
|
+
capacity?: InputMaybe<Scalars['Int']['input']>;
|
|
77182
|
+
description?: InputMaybe<Scalars['String']['input']>;
|
|
77183
|
+
leadId?: InputMaybe<Scalars['String']['input']>;
|
|
77184
|
+
name: Scalars['String']['input'];
|
|
76332
77185
|
};
|
|
76333
77186
|
|
|
76334
77187
|
export type PlanmagnetCreateTimeEntryInput = {
|
|
@@ -76337,10 +77190,8 @@ export type PlanmagnetCreateTimeEntryInput = {
|
|
|
76337
77190
|
date: Scalars['DateTime']['input'];
|
|
76338
77191
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
76339
77192
|
durationMinutes: Scalars['Int']['input'];
|
|
76340
|
-
endTime?: InputMaybe<Scalars['DateTime']['input']>;
|
|
76341
77193
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
76342
77194
|
projectId: Scalars['String']['input'];
|
|
76343
|
-
startTime?: InputMaybe<Scalars['DateTime']['input']>;
|
|
76344
77195
|
timesheetId?: InputMaybe<Scalars['String']['input']>;
|
|
76345
77196
|
workItemId: Scalars['String']['input'];
|
|
76346
77197
|
};
|
|
@@ -76388,7 +77239,8 @@ export type PlanmagnetCriticalPath = {
|
|
|
76388
77239
|
path: Array<PlanmagnetDependencyNode>;
|
|
76389
77240
|
/** Per-node slack in days. Nodes on the critical path have slack 0. */
|
|
76390
77241
|
slack: Scalars['JSON']['output'];
|
|
76391
|
-
totalLagDays:
|
|
77242
|
+
/** Length of the critical chain in MINUTES — WORK PLUS LAG. This field has been wrong twice, in two different ways. As `totalLagDays` it summed lag expressed in days; the column rename made it minutes without renaming the field, so a two-day lag read as 2880 "days". And summing lag at all was the deeper error: A(5d) → B(3d) with FINISH_TO_START and no lag is an eight-day chain, and a lag-only total reports ZERO. It now measures what the name says. No consumer in the repo, MFE, SDK or CLI selects it. */
|
|
77243
|
+
totalDurationMinutes: Scalars['Int']['output'];
|
|
76392
77244
|
};
|
|
76393
77245
|
|
|
76394
77246
|
/** Cumulative flow diagram data for a project over a date range. */
|
|
@@ -76462,9 +77314,9 @@ export type PlanmagnetDependencyCycle = {
|
|
|
76462
77314
|
};
|
|
76463
77315
|
|
|
76464
77316
|
export type PlanmagnetDependencyFilter = {
|
|
76465
|
-
|
|
77317
|
+
predecessorId?: InputMaybe<Scalars['String']['input']>;
|
|
76466
77318
|
status?: InputMaybe<DependencyStatus>;
|
|
76467
|
-
|
|
77319
|
+
successorId?: InputMaybe<Scalars['String']['input']>;
|
|
76468
77320
|
type?: InputMaybe<DependencyType>;
|
|
76469
77321
|
};
|
|
76470
77322
|
|
|
@@ -76521,6 +77373,27 @@ export type PlanmagnetDocRevision = {
|
|
|
76521
77373
|
version: Scalars['Int']['output'];
|
|
76522
77374
|
};
|
|
76523
77375
|
|
|
77376
|
+
/** Which due-date bucket a work item falls into, server-computed (see utils/my-work.ts) so the "My Work" grouping can never disagree between two clients or two requests. */
|
|
77377
|
+
export enum PlanmagnetDueGroup {
|
|
77378
|
+
DueLater = 'DUE_LATER',
|
|
77379
|
+
DueThisWeek = 'DUE_THIS_WEEK',
|
|
77380
|
+
DueToday = 'DUE_TODAY',
|
|
77381
|
+
NoDueDate = 'NO_DUE_DATE',
|
|
77382
|
+
Overdue = 'OVERDUE'
|
|
77383
|
+
}
|
|
77384
|
+
|
|
77385
|
+
export type PlanmagnetEraseResult = {
|
|
77386
|
+
__typename?: 'PlanmagnetEraseResult';
|
|
77387
|
+
/** Id columns replaced by a one-way tombstone or cleared (authorship, ownership, history, assignments) */
|
|
77388
|
+
anonymised: Scalars['Int']['output'];
|
|
77389
|
+
dryRun: Scalars['Boolean']['output'];
|
|
77390
|
+
notes?: Maybe<Scalars['String']['output']>;
|
|
77391
|
+
/** Rows deleted (the person's own: votes, editor seats, time nobody signed off) */
|
|
77392
|
+
purged: Scalars['Int']['output'];
|
|
77393
|
+
retainedForLegalReason?: Maybe<Scalars['String']['output']>;
|
|
77394
|
+
service: Scalars['String']['output'];
|
|
77395
|
+
};
|
|
77396
|
+
|
|
76524
77397
|
export type PlanmagnetExportToExternalInput = {
|
|
76525
77398
|
exportAll?: InputMaybe<Scalars['Boolean']['input']>;
|
|
76526
77399
|
internalIds?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
@@ -76557,11 +77430,24 @@ export type PlanmagnetExternalSyncList = {
|
|
|
76557
77430
|
totalCount: Scalars['Int']['output'];
|
|
76558
77431
|
};
|
|
76559
77432
|
|
|
77433
|
+
/** Feature request list order */
|
|
77434
|
+
export enum PlanmagnetFeatureOrder {
|
|
77435
|
+
/** Most votes first */
|
|
77436
|
+
MostVoted = 'MOST_VOTED',
|
|
77437
|
+
/** Newest first (the default) */
|
|
77438
|
+
Newest = 'NEWEST'
|
|
77439
|
+
}
|
|
77440
|
+
|
|
76560
77441
|
export type PlanmagnetFeatureRequestFilter = {
|
|
77442
|
+
productId?: InputMaybe<Scalars['String']['input']>;
|
|
76561
77443
|
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
76562
77444
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
77445
|
+
/** true: SUBMITTED and snoozed into the future. false: not currently snoozed */
|
|
77446
|
+
snoozed?: InputMaybe<Scalars['Boolean']['input']>;
|
|
76563
77447
|
status?: InputMaybe<FeatureRequestStatus>;
|
|
76564
77448
|
submittedBy?: InputMaybe<Scalars['String']['input']>;
|
|
77449
|
+
/** true: the triage queue — SUBMITTED and not snoozed (or its snooze has passed). false: everything else */
|
|
77450
|
+
triage?: InputMaybe<Scalars['Boolean']['input']>;
|
|
76565
77451
|
};
|
|
76566
77452
|
|
|
76567
77453
|
export type PlanmagnetFeatureRequestList = {
|
|
@@ -76583,6 +77469,10 @@ export type PlanmagnetGenerateReleaseNotesPayload = {
|
|
|
76583
77469
|
export type PlanmagnetImportExternalIssuesInput = {
|
|
76584
77470
|
/** The exported file contents (CSV text or JSON). */
|
|
76585
77471
|
data: Scalars['String']['input'];
|
|
77472
|
+
/** Preview only: report what WOULD be imported and what would be lost, and write nothing (not even the sync). */
|
|
77473
|
+
dryRun?: InputMaybe<Scalars['Boolean']['input']>;
|
|
77474
|
+
/** Explicit field mapping, our field -> their column, e.g. { "title": "Summary", "status": "State" }. Fields: externalId, title, description, status, priority, labels, assigneeEmail, dueDate, externalUrl. Outranks the sync's stored mapping, which outranks the built-in column aliases. */
|
|
77475
|
+
fieldMapping?: InputMaybe<Scalars['JSON']['input']>;
|
|
76586
77476
|
/** Format of the exported payload. */
|
|
76587
77477
|
format: PlanmagnetImportFormat;
|
|
76588
77478
|
/** Target PlanMagnet project the imported WorkItems are created in. */
|
|
@@ -76604,12 +77494,44 @@ export type PlanmagnetImportFromExternalInput = {
|
|
|
76604
77494
|
syncId: Scalars['String']['input'];
|
|
76605
77495
|
};
|
|
76606
77496
|
|
|
77497
|
+
/** One issue of an import, with what could not be carried over from it */
|
|
77498
|
+
export type PlanmagnetImportIssueReport = {
|
|
77499
|
+
__typename?: 'PlanmagnetImportIssueReport';
|
|
77500
|
+
externalId: Scalars['String']['output'];
|
|
77501
|
+
/** Link back to the issue in the source tool */
|
|
77502
|
+
externalUrl?: Maybe<Scalars['String']['output']>;
|
|
77503
|
+
/** What was lost or changed on the way (unmapped state or priority, unmatched assignee, bad due date) */
|
|
77504
|
+
notes: Array<Scalars['String']['output']>;
|
|
77505
|
+
outcome: PlanmagnetImportOutcome;
|
|
77506
|
+
title: Scalars['String']['output'];
|
|
77507
|
+
/** The work item it became (or already is) */
|
|
77508
|
+
workItemId?: Maybe<Scalars['String']['output']>;
|
|
77509
|
+
};
|
|
77510
|
+
|
|
77511
|
+
/** What happened to one issue of an import */
|
|
77512
|
+
export enum PlanmagnetImportOutcome {
|
|
77513
|
+
/** Imported by an earlier run; this run left it alone (reruns are duplicate-safe) */
|
|
77514
|
+
AlreadyImported = 'ALREADY_IMPORTED',
|
|
77515
|
+
/** Could not be created (see the run's errors) */
|
|
77516
|
+
Failed = 'FAILED',
|
|
77517
|
+
/** Created as a work item */
|
|
77518
|
+
Imported = 'IMPORTED',
|
|
77519
|
+
/** Preview: would be created */
|
|
77520
|
+
WouldImport = 'WOULD_IMPORT'
|
|
77521
|
+
}
|
|
77522
|
+
|
|
76607
77523
|
/** Summary of an external-issue import run. */
|
|
76608
77524
|
export type PlanmagnetImportResult = {
|
|
76609
77525
|
__typename?: 'PlanmagnetImportResult';
|
|
77526
|
+
/** True when this was a preview and nothing was written */
|
|
77527
|
+
dryRun: Scalars['Boolean']['output'];
|
|
76610
77528
|
errors: Array<Scalars['String']['output']>;
|
|
76611
77529
|
failed: Scalars['Int']['output'];
|
|
76612
77530
|
imported: Scalars['Int']['output'];
|
|
77531
|
+
/** Every issue in the export, in order, with its outcome and notes */
|
|
77532
|
+
issues: Array<PlanmagnetImportIssueReport>;
|
|
77533
|
+
/** The discrepancy report: each kind of loss, counted (unmapped states, unmatched assignees, rejected rows, columns nothing reads) */
|
|
77534
|
+
notCarriedOver: Array<Scalars['String']['output']>;
|
|
76613
77535
|
skipped: Scalars['Int']['output'];
|
|
76614
77536
|
workItemIds: Array<Scalars['String']['output']>;
|
|
76615
77537
|
};
|
|
@@ -76676,6 +77598,12 @@ export type PlanmagnetLogTimeInput = {
|
|
|
76676
77598
|
};
|
|
76677
77599
|
|
|
76678
77600
|
export type PlanmagnetMilestoneFilter = {
|
|
77601
|
+
/** Due on or after this UTC day */
|
|
77602
|
+
dueFrom?: InputMaybe<Scalars['DateTime']['input']>;
|
|
77603
|
+
/** Due on or before this UTC day */
|
|
77604
|
+
dueTo?: InputMaybe<Scalars['DateTime']['input']>;
|
|
77605
|
+
/** Only milestones still open (PENDING or IN_PROGRESS) */
|
|
77606
|
+
open?: InputMaybe<Scalars['Boolean']['input']>;
|
|
76679
77607
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
76680
77608
|
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
76681
77609
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -76689,6 +77617,14 @@ export type PlanmagnetMilestoneList = {
|
|
|
76689
77617
|
totalCount: Scalars['Int']['output'];
|
|
76690
77618
|
};
|
|
76691
77619
|
|
|
77620
|
+
/** Milestone list order */
|
|
77621
|
+
export enum PlanmagnetMilestoneOrder {
|
|
77622
|
+
/** Nearest due date first; milestones with no due date last */
|
|
77623
|
+
DueSoonest = 'DUE_SOONEST',
|
|
77624
|
+
/** Newest first (the default) */
|
|
77625
|
+
Newest = 'NEWEST'
|
|
77626
|
+
}
|
|
77627
|
+
|
|
76692
77628
|
export type PlanmagnetMoveCardInput = {
|
|
76693
77629
|
sortOrder?: InputMaybe<Scalars['Int']['input']>;
|
|
76694
77630
|
targetColumnId: Scalars['ID']['input'];
|
|
@@ -76701,6 +77637,14 @@ export type PlanmagnetMoveWorkItemInput = {
|
|
|
76701
77637
|
status?: InputMaybe<WorkItemStatus>;
|
|
76702
77638
|
};
|
|
76703
77639
|
|
|
77640
|
+
export type PlanmagnetMyWorkItemFilter = {
|
|
77641
|
+
/** Default false: DONE/CANCELLED items are left out. Set true to also see recently-closed work. */
|
|
77642
|
+
includeClosed?: InputMaybe<Scalars['Boolean']['input']>;
|
|
77643
|
+
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
77644
|
+
sprintId?: InputMaybe<Scalars['String']['input']>;
|
|
77645
|
+
status?: InputMaybe<WorkItemStatus>;
|
|
77646
|
+
};
|
|
77647
|
+
|
|
76704
77648
|
/** A workspace-scoped goal for a given time period. `progress` is the average of its non-deleted KeyResults' progress (0 when it has none). */
|
|
76705
77649
|
export type PlanmagnetObjective = {
|
|
76706
77650
|
__typename?: 'PlanmagnetObjective';
|
|
@@ -76791,6 +77735,51 @@ export type PlanmagnetPortfolioOverview = {
|
|
|
76791
77735
|
totalSpent?: Maybe<Scalars['Float']['output']>;
|
|
76792
77736
|
};
|
|
76793
77737
|
|
|
77738
|
+
export type PlanmagnetProductFilter = {
|
|
77739
|
+
/** false: only archived; true: only active; omitted: both. */
|
|
77740
|
+
isActive?: InputMaybe<Scalars['Boolean']['input']>;
|
|
77741
|
+
lifecycleStage?: InputMaybe<PlanmagnetProductLifecycleStage>;
|
|
77742
|
+
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
77743
|
+
search?: InputMaybe<Scalars['String']['input']>;
|
|
77744
|
+
};
|
|
77745
|
+
|
|
77746
|
+
export enum PlanmagnetProductLifecycleStage {
|
|
77747
|
+
Beta = 'BETA',
|
|
77748
|
+
Concept = 'CONCEPT',
|
|
77749
|
+
Deprecated = 'DEPRECATED',
|
|
77750
|
+
Development = 'DEVELOPMENT',
|
|
77751
|
+
Launched = 'LAUNCHED',
|
|
77752
|
+
Mature = 'MATURE'
|
|
77753
|
+
}
|
|
77754
|
+
|
|
77755
|
+
export type PlanmagnetProductList = {
|
|
77756
|
+
__typename?: 'PlanmagnetProductList';
|
|
77757
|
+
items: Array<Product>;
|
|
77758
|
+
pageInfo: PlanmagnetPageInfo;
|
|
77759
|
+
totalCount: Scalars['Int']['output'];
|
|
77760
|
+
};
|
|
77761
|
+
|
|
77762
|
+
export type PlanmagnetProductNorthStar = {
|
|
77763
|
+
__typename?: 'PlanmagnetProductNorthStar';
|
|
77764
|
+
current: Scalars['Float']['output'];
|
|
77765
|
+
measuredAt?: Maybe<Scalars['DateTime']['output']>;
|
|
77766
|
+
name: Scalars['String']['output'];
|
|
77767
|
+
/** Server-computed: current/target clamped to [0,1], null when target is 0 (a zero target is an unset/degenerate state, not "0% progress"). Never stored. */
|
|
77768
|
+
progressRatio?: Maybe<Scalars['Float']['output']>;
|
|
77769
|
+
target: Scalars['Float']['output'];
|
|
77770
|
+
unit: Scalars['String']['output'];
|
|
77771
|
+
window: Scalars['String']['output'];
|
|
77772
|
+
};
|
|
77773
|
+
|
|
77774
|
+
export type PlanmagnetProductNorthStarInput = {
|
|
77775
|
+
current: Scalars['Float']['input'];
|
|
77776
|
+
measuredAt?: InputMaybe<Scalars['DateTime']['input']>;
|
|
77777
|
+
name: Scalars['String']['input'];
|
|
77778
|
+
target: Scalars['Float']['input'];
|
|
77779
|
+
unit: Scalars['String']['input'];
|
|
77780
|
+
window: Scalars['String']['input'];
|
|
77781
|
+
};
|
|
77782
|
+
|
|
76794
77783
|
export type PlanmagnetProgramFilter = {
|
|
76795
77784
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
76796
77785
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -76845,6 +77834,10 @@ export type PlanmagnetProject = {
|
|
|
76845
77834
|
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
76846
77835
|
/** Owner actor ID */
|
|
76847
77836
|
ownerId: Scalars['String']['output'];
|
|
77837
|
+
/** Parent portfolio */
|
|
77838
|
+
portfolio?: Maybe<Portfolio>;
|
|
77839
|
+
/** Parent portfolio ID. Set directly on the project (BOFF-8047) — independent of `programId`: a project may carry both at once, and neither implies the other. */
|
|
77840
|
+
portfolioId?: Maybe<Scalars['String']['output']>;
|
|
76848
77841
|
/** Parent program */
|
|
76849
77842
|
program?: Maybe<Program>;
|
|
76850
77843
|
/** Parent program ID */
|
|
@@ -76869,6 +77862,8 @@ export type PlanmagnetProject = {
|
|
|
76869
77862
|
updatedBy?: Maybe<Scalars['String']['output']>;
|
|
76870
77863
|
/** Work items in this project */
|
|
76871
77864
|
workItems: Array<WorkItem>;
|
|
77865
|
+
/** This project's workflow (labels, hidden statuses, categories, transition rules) */
|
|
77866
|
+
workflow: PlanmagnetProjectWorkflow;
|
|
76872
77867
|
/** Associated workspace ID */
|
|
76873
77868
|
workspaceId: Scalars['String']['output'];
|
|
76874
77869
|
};
|
|
@@ -76876,6 +77871,7 @@ export type PlanmagnetProject = {
|
|
|
76876
77871
|
export type PlanmagnetProjectFilter = {
|
|
76877
77872
|
methodology?: InputMaybe<ProjectMethodology>;
|
|
76878
77873
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
77874
|
+
portfolioId?: InputMaybe<Scalars['String']['input']>;
|
|
76879
77875
|
programId?: InputMaybe<Scalars['String']['input']>;
|
|
76880
77876
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
76881
77877
|
status?: InputMaybe<PlanmagnetProjectStatus>;
|
|
@@ -76911,6 +77907,17 @@ export type PlanmagnetProjectTemplateList = {
|
|
|
76911
77907
|
totalCount: Scalars['Int']['output'];
|
|
76912
77908
|
};
|
|
76913
77909
|
|
|
77910
|
+
/** A project's workflow: all seven statuses in canonical order, and its transition rules */
|
|
77911
|
+
export type PlanmagnetProjectWorkflow = {
|
|
77912
|
+
__typename?: 'PlanmagnetProjectWorkflow';
|
|
77913
|
+
/** When false, any move between visible statuses is allowed */
|
|
77914
|
+
enforceTransitions: Scalars['Boolean']['output'];
|
|
77915
|
+
projectId: Scalars['String']['output'];
|
|
77916
|
+
statuses: Array<PlanmagnetWorkflowStatus>;
|
|
77917
|
+
/** Allowed moves (read only when enforceTransitions is true) */
|
|
77918
|
+
transitions: Array<PlanmagnetWorkflowTransition>;
|
|
77919
|
+
};
|
|
77920
|
+
|
|
76914
77921
|
export type PlanmagnetQualityGateFilter = {
|
|
76915
77922
|
milestoneId?: InputMaybe<Scalars['String']['input']>;
|
|
76916
77923
|
phase?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -76949,8 +77956,16 @@ export type PlanmagnetQuotaOverview = {
|
|
|
76949
77956
|
workspaceId: Scalars['ID']['output'];
|
|
76950
77957
|
};
|
|
76951
77958
|
|
|
77959
|
+
export type PlanmagnetReleaseBlocker = {
|
|
77960
|
+
__typename?: 'PlanmagnetReleaseBlocker';
|
|
77961
|
+
/** Unfinished (or, for START_* dependencies, unstarted) predecessors holding it back. They may belong to another release or project. */
|
|
77962
|
+
waitingOn: Array<WorkItem>;
|
|
77963
|
+
workItem: WorkItem;
|
|
77964
|
+
};
|
|
77965
|
+
|
|
76952
77966
|
export type PlanmagnetReleaseFilter = {
|
|
76953
77967
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
77968
|
+
productId?: InputMaybe<Scalars['String']['input']>;
|
|
76954
77969
|
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
76955
77970
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
76956
77971
|
status?: InputMaybe<ReleaseStatus>;
|
|
@@ -76972,6 +77987,25 @@ export type PlanmagnetReleaseNotesCounts = {
|
|
|
76972
77987
|
total: Scalars['Int']['output'];
|
|
76973
77988
|
};
|
|
76974
77989
|
|
|
77990
|
+
export type PlanmagnetReleaseReadiness = {
|
|
77991
|
+
__typename?: 'PlanmagnetReleaseReadiness';
|
|
77992
|
+
blockers: Array<PlanmagnetReleaseBlocker>;
|
|
77993
|
+
doneItems: Scalars['Int']['output'];
|
|
77994
|
+
/** Ids of the open (not DONE or CANCELLED) items in scope. */
|
|
77995
|
+
openWorkItemIds: Array<Scalars['ID']['output']>;
|
|
77996
|
+
releaseId: Scalars['ID']['output'];
|
|
77997
|
+
scope: PlanmagnetReleaseScope;
|
|
77998
|
+
/** Items in scope. For PROJECTS scope only open items are in scope, so this equals the open count. */
|
|
77999
|
+
totalItems: Scalars['Int']['output'];
|
|
78000
|
+
};
|
|
78001
|
+
|
|
78002
|
+
/** How a release's scope was chosen. - WORK_ITEMS: the release's own work items - PROJECTS: it has none of its own, so every open item in its projects - NONE: it has neither work items nor projects */
|
|
78003
|
+
export enum PlanmagnetReleaseScope {
|
|
78004
|
+
None = 'NONE',
|
|
78005
|
+
Projects = 'PROJECTS',
|
|
78006
|
+
WorkItems = 'WORK_ITEMS'
|
|
78007
|
+
}
|
|
78008
|
+
|
|
76975
78009
|
export type PlanmagnetReorderColumnsInput = {
|
|
76976
78010
|
columnIds: Array<Scalars['ID']['input']>;
|
|
76977
78011
|
};
|
|
@@ -77015,8 +78049,12 @@ export type PlanmagnetRiskMatrix = {
|
|
|
77015
78049
|
};
|
|
77016
78050
|
|
|
77017
78051
|
export type PlanmagnetRoadmapFilter = {
|
|
78052
|
+
/** false: only roadmaps with no planning focus set; true: only roadmaps that have one */
|
|
78053
|
+
hasPlanningFocus?: InputMaybe<Scalars['Boolean']['input']>;
|
|
77018
78054
|
isPublic?: InputMaybe<Scalars['Boolean']['input']>;
|
|
77019
78055
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
78056
|
+
planningFocus?: InputMaybe<RoadmapPlanningFocus>;
|
|
78057
|
+
productId?: InputMaybe<Scalars['String']['input']>;
|
|
77020
78058
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
77021
78059
|
type?: InputMaybe<RoadmapType>;
|
|
77022
78060
|
};
|
|
@@ -77107,6 +78145,8 @@ export type PlanmagnetSprintFilter = {
|
|
|
77107
78145
|
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
77108
78146
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
77109
78147
|
status?: InputMaybe<SprintStatus>;
|
|
78148
|
+
/** Team-scoped sprints of this team (BOFF-8044). */
|
|
78149
|
+
teamId?: InputMaybe<Scalars['String']['input']>;
|
|
77110
78150
|
};
|
|
77111
78151
|
|
|
77112
78152
|
export type PlanmagnetSprintList = {
|
|
@@ -77116,10 +78156,38 @@ export type PlanmagnetSprintList = {
|
|
|
77116
78156
|
totalCount: Scalars['Int']['output'];
|
|
77117
78157
|
};
|
|
77118
78158
|
|
|
78159
|
+
/** One change to a sprint's planned start or end date (BOFF-7918). */
|
|
78160
|
+
export type PlanmagnetSprintPlanChange = {
|
|
78161
|
+
__typename?: 'PlanmagnetSprintPlanChange';
|
|
78162
|
+
changedAt: Scalars['DateTime']['output'];
|
|
78163
|
+
changedBy: Scalars['String']['output'];
|
|
78164
|
+
/** "startDate" or "endDate" */
|
|
78165
|
+
field: Scalars['String']['output'];
|
|
78166
|
+
fromValue?: Maybe<Scalars['DateTime']['output']>;
|
|
78167
|
+
id: Scalars['ID']['output'];
|
|
78168
|
+
/** The sprint's status when the plan changed: PLANNING is planning; ACTIVE is a replan of a commitment. */
|
|
78169
|
+
sprintStatus: SprintStatus;
|
|
78170
|
+
toValue?: Maybe<Scalars['DateTime']['output']>;
|
|
78171
|
+
};
|
|
78172
|
+
|
|
78173
|
+
export enum PlanmagnetSprintScope {
|
|
78174
|
+
Project = 'PROJECT',
|
|
78175
|
+
Team = 'TEAM'
|
|
78176
|
+
}
|
|
78177
|
+
|
|
77119
78178
|
export type PlanmagnetSprintWorkItemsInput = {
|
|
77120
78179
|
workItemIds: Array<Scalars['ID']['input']>;
|
|
77121
78180
|
};
|
|
77122
78181
|
|
|
78182
|
+
/** Reporting group of a status. DONE and CANCELLED never change category. */
|
|
78183
|
+
export enum PlanmagnetStatusCategory {
|
|
78184
|
+
Backlog = 'BACKLOG',
|
|
78185
|
+
Cancelled = 'CANCELLED',
|
|
78186
|
+
Done = 'DONE',
|
|
78187
|
+
Started = 'STARTED',
|
|
78188
|
+
Unstarted = 'UNSTARTED'
|
|
78189
|
+
}
|
|
78190
|
+
|
|
77123
78191
|
export type PlanmagnetSuggestWorkItemBreakdownInput = {
|
|
77124
78192
|
/** Plain-text feature request or description to break down. */
|
|
77125
78193
|
description: Scalars['String']['input'];
|
|
@@ -77178,6 +78246,79 @@ export enum PlanmagnetSyncStatus {
|
|
|
77178
78246
|
Syncing = 'SYNCING'
|
|
77179
78247
|
}
|
|
77180
78248
|
|
|
78249
|
+
export type PlanmagnetTeamFilter = {
|
|
78250
|
+
search?: InputMaybe<Scalars['String']['input']>;
|
|
78251
|
+
};
|
|
78252
|
+
|
|
78253
|
+
export type PlanmagnetTeamList = {
|
|
78254
|
+
__typename?: 'PlanmagnetTeamList';
|
|
78255
|
+
items: Array<Team>;
|
|
78256
|
+
pageInfo: PlanmagnetPageInfo;
|
|
78257
|
+
totalCount: Scalars['Int']['output'];
|
|
78258
|
+
};
|
|
78259
|
+
|
|
78260
|
+
export type PlanmagnetTeamMembersInput = {
|
|
78261
|
+
actorIds: Array<Scalars['ID']['input']>;
|
|
78262
|
+
};
|
|
78263
|
+
|
|
78264
|
+
export type PlanmagnetTeamProjectsInput = {
|
|
78265
|
+
projectIds: Array<Scalars['ID']['input']>;
|
|
78266
|
+
};
|
|
78267
|
+
|
|
78268
|
+
/** Velocity across the trailing N completed sprints of a team (BOFF-8044). */
|
|
78269
|
+
export type PlanmagnetTeamVelocity = {
|
|
78270
|
+
__typename?: 'PlanmagnetTeamVelocity';
|
|
78271
|
+
averageVelocity: Scalars['Float']['output'];
|
|
78272
|
+
forecastNextSprintPoints: Scalars['Float']['output'];
|
|
78273
|
+
sprints: Array<PlanmagnetTeamVelocitySprintPoint>;
|
|
78274
|
+
teamId: Scalars['ID']['output'];
|
|
78275
|
+
};
|
|
78276
|
+
|
|
78277
|
+
/** One project's share of a team sprint's completed points (BOFF-8044) — shares always sum to that sprint's team total by construction (see analytics.service.ts / utils/sprint-velocity.ts). */
|
|
78278
|
+
export type PlanmagnetTeamVelocityProjectShare = {
|
|
78279
|
+
__typename?: 'PlanmagnetTeamVelocityProjectShare';
|
|
78280
|
+
count: Scalars['Int']['output'];
|
|
78281
|
+
points: Scalars['Int']['output'];
|
|
78282
|
+
projectId: Scalars['ID']['output'];
|
|
78283
|
+
projectName: Scalars['String']['output'];
|
|
78284
|
+
};
|
|
78285
|
+
|
|
78286
|
+
/** One completed team sprint's velocity reading, with its per-project split (BOFF-8044). The split is the snapshot captured at completion (sprint_project_velocities) — a later work-item reassignment across the team's projects cannot rewrite it. */
|
|
78287
|
+
export type PlanmagnetTeamVelocitySprintPoint = {
|
|
78288
|
+
__typename?: 'PlanmagnetTeamVelocitySprintPoint';
|
|
78289
|
+
byProject: Array<PlanmagnetTeamVelocityProjectShare>;
|
|
78290
|
+
completedCount: Scalars['Int']['output'];
|
|
78291
|
+
completedPoints: Scalars['Int']['output'];
|
|
78292
|
+
plannedPoints?: Maybe<Scalars['Int']['output']>;
|
|
78293
|
+
sequenceNumber: Scalars['Int']['output'];
|
|
78294
|
+
sprintId: Scalars['ID']['output'];
|
|
78295
|
+
sprintName: Scalars['String']['output'];
|
|
78296
|
+
};
|
|
78297
|
+
|
|
78298
|
+
/** Throughput (items/points completed per period) for a project over a date range — the sibling metric to planmagnetCycleTime, same data source (WorkItemStatusTransition into DONE). Every bucket in range is emitted, including empty ones (0/0), so a chart never silently skips a dead period. */
|
|
78299
|
+
export type PlanmagnetThroughput = {
|
|
78300
|
+
__typename?: 'PlanmagnetThroughput';
|
|
78301
|
+
bucket: PlanmagnetThroughputBucket;
|
|
78302
|
+
endDate: Scalars['DateTime']['output'];
|
|
78303
|
+
points: Array<PlanmagnetThroughputPoint>;
|
|
78304
|
+
projectId: Scalars['ID']['output'];
|
|
78305
|
+
startDate: Scalars['DateTime']['output'];
|
|
78306
|
+
};
|
|
78307
|
+
|
|
78308
|
+
export enum PlanmagnetThroughputBucket {
|
|
78309
|
+
Day = 'DAY',
|
|
78310
|
+
Week = 'WEEK'
|
|
78311
|
+
}
|
|
78312
|
+
|
|
78313
|
+
/** One bucket's completed work: item count and story points that reached DONE within it. */
|
|
78314
|
+
export type PlanmagnetThroughputPoint = {
|
|
78315
|
+
__typename?: 'PlanmagnetThroughputPoint';
|
|
78316
|
+
completedCount: Scalars['Int']['output'];
|
|
78317
|
+
completedPoints: Scalars['Int']['output'];
|
|
78318
|
+
/** Bucket start (UTC midnight; for WEEK, the Monday that starts the bucket). */
|
|
78319
|
+
periodStart: Scalars['DateTime']['output'];
|
|
78320
|
+
};
|
|
78321
|
+
|
|
77181
78322
|
/** An individual time record capturing work performed on a specific work item during a time period. */
|
|
77182
78323
|
export type PlanmagnetTimeEntry = {
|
|
77183
78324
|
__typename?: 'PlanmagnetTimeEntry';
|
|
@@ -77195,8 +78336,6 @@ export type PlanmagnetTimeEntry = {
|
|
|
77195
78336
|
description?: Maybe<Scalars['String']['output']>;
|
|
77196
78337
|
/** Duration in minutes */
|
|
77197
78338
|
durationMinutes: Scalars['Int']['output'];
|
|
77198
|
-
/** End time (optional, for clock-in/clock-out) */
|
|
77199
|
-
endTime?: Maybe<Scalars['DateTime']['output']>;
|
|
77200
78339
|
/** Unique identifier */
|
|
77201
78340
|
id: Scalars['ID']['output'];
|
|
77202
78341
|
/** Arbitrary metadata */
|
|
@@ -77205,8 +78344,6 @@ export type PlanmagnetTimeEntry = {
|
|
|
77205
78344
|
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
77206
78345
|
/** Project ID */
|
|
77207
78346
|
projectId: Scalars['String']['output'];
|
|
77208
|
-
/** Start time (optional, for clock-in/clock-out) */
|
|
77209
|
-
startTime?: Maybe<Scalars['DateTime']['output']>;
|
|
77210
78347
|
/** Current status */
|
|
77211
78348
|
status: TimeEntryStatus;
|
|
77212
78349
|
/** Timesheet this entry belongs to */
|
|
@@ -77225,7 +78362,9 @@ export type PlanmagnetTimeEntry = {
|
|
|
77225
78362
|
|
|
77226
78363
|
export type PlanmagnetTimeEntryFilter = {
|
|
77227
78364
|
billingType?: InputMaybe<BillingType>;
|
|
78365
|
+
/** Entries dated on or after this UTC day */
|
|
77228
78366
|
dateFrom?: InputMaybe<Scalars['DateTime']['input']>;
|
|
78367
|
+
/** Entries dated on or before this UTC day (the whole day is included) */
|
|
77229
78368
|
dateTo?: InputMaybe<Scalars['DateTime']['input']>;
|
|
77230
78369
|
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
77231
78370
|
status?: InputMaybe<TimeEntryStatus>;
|
|
@@ -77279,7 +78418,9 @@ export type PlanmagnetTimesheet = {
|
|
|
77279
78418
|
};
|
|
77280
78419
|
|
|
77281
78420
|
export type PlanmagnetTimesheetFilter = {
|
|
78421
|
+
/** With periodStart: timesheets whose period OVERLAPS the window (inclusive by UTC day). Alone: periods starting on or before this day */
|
|
77282
78422
|
periodEnd?: InputMaybe<Scalars['DateTime']['input']>;
|
|
78423
|
+
/** With periodEnd: timesheets whose period OVERLAPS the window (inclusive by UTC day). Alone: periods ending on or after this day */
|
|
77283
78424
|
periodStart?: InputMaybe<Scalars['DateTime']['input']>;
|
|
77284
78425
|
status?: InputMaybe<TimeEntryStatus>;
|
|
77285
78426
|
userId?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -77352,6 +78493,7 @@ export type PlanmagnetUpdateCustomFieldDefinitionInput = {
|
|
|
77352
78493
|
|
|
77353
78494
|
export type PlanmagnetUpdateDependencyInput = {
|
|
77354
78495
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
78496
|
+
lagMinutes?: InputMaybe<Scalars['Int']['input']>;
|
|
77355
78497
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
77356
78498
|
status?: InputMaybe<DependencyStatus>;
|
|
77357
78499
|
type?: InputMaybe<DependencyType>;
|
|
@@ -77361,6 +78503,8 @@ export type PlanmagnetUpdateDocInput = {
|
|
|
77361
78503
|
/** Optional note recorded on the new revision this update creates. */
|
|
77362
78504
|
changeNote?: InputMaybe<Scalars['String']['input']>;
|
|
77363
78505
|
content?: InputMaybe<Scalars['String']['input']>;
|
|
78506
|
+
/** The version this edit started from. When set, the save is refused (CONFLICT) if the doc has moved on since — someone else saved in between — instead of silently overwriting their change. */
|
|
78507
|
+
expectedVersion?: InputMaybe<Scalars['Int']['input']>;
|
|
77364
78508
|
status?: InputMaybe<DocStatus>;
|
|
77365
78509
|
title?: InputMaybe<Scalars['String']['input']>;
|
|
77366
78510
|
};
|
|
@@ -77390,6 +78534,7 @@ export type PlanmagnetUpdateFeatureRequestInput = {
|
|
|
77390
78534
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
77391
78535
|
effortEstimate?: InputMaybe<Scalars['String']['input']>;
|
|
77392
78536
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
78537
|
+
productId?: InputMaybe<Scalars['String']['input']>;
|
|
77393
78538
|
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
77394
78539
|
status?: InputMaybe<FeatureRequestStatus>;
|
|
77395
78540
|
tags?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
@@ -77447,6 +78592,16 @@ export type PlanmagnetUpdatePortfolioInput = {
|
|
|
77447
78592
|
tags?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
77448
78593
|
};
|
|
77449
78594
|
|
|
78595
|
+
export type PlanmagnetUpdateProductInput = {
|
|
78596
|
+
description?: InputMaybe<Scalars['String']['input']>;
|
|
78597
|
+
lifecycleStage?: InputMaybe<PlanmagnetProductLifecycleStage>;
|
|
78598
|
+
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
78599
|
+
name?: InputMaybe<Scalars['String']['input']>;
|
|
78600
|
+
northStar?: InputMaybe<PlanmagnetProductNorthStarInput>;
|
|
78601
|
+
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
78602
|
+
vision?: InputMaybe<Scalars['String']['input']>;
|
|
78603
|
+
};
|
|
78604
|
+
|
|
77450
78605
|
export type PlanmagnetUpdateProgramInput = {
|
|
77451
78606
|
budgetTotal?: InputMaybe<Scalars['Float']['input']>;
|
|
77452
78607
|
currency?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -77469,6 +78624,8 @@ export type PlanmagnetUpdateProjectInput = {
|
|
|
77469
78624
|
methodology?: InputMaybe<ProjectMethodology>;
|
|
77470
78625
|
name?: InputMaybe<Scalars['String']['input']>;
|
|
77471
78626
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
78627
|
+
/** Parent portfolio ID. Must exist in the same workspace and not be soft-deleted (BOFF-8047); pass `null` to clear it. Only fields the caller actually sends are written — omit this to leave the current value alone. */
|
|
78628
|
+
portfolioId?: InputMaybe<Scalars['String']['input']>;
|
|
77472
78629
|
programId?: InputMaybe<Scalars['String']['input']>;
|
|
77473
78630
|
startDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
77474
78631
|
status?: InputMaybe<PlanmagnetProjectStatus>;
|
|
@@ -77491,6 +78648,14 @@ export type PlanmagnetUpdateProjectTemplateInput = {
|
|
|
77491
78648
|
tags?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
77492
78649
|
};
|
|
77493
78650
|
|
|
78651
|
+
/** Omitted fields keep their current value; a list that is sent replaces the whole list */
|
|
78652
|
+
export type PlanmagnetUpdateProjectWorkflowInput = {
|
|
78653
|
+
enforceTransitions?: InputMaybe<Scalars['Boolean']['input']>;
|
|
78654
|
+
/** Statuses not listed return to their defaults */
|
|
78655
|
+
statuses?: InputMaybe<Array<PlanmagnetWorkflowStatusInput>>;
|
|
78656
|
+
transitions?: InputMaybe<Array<PlanmagnetWorkflowTransitionInput>>;
|
|
78657
|
+
};
|
|
78658
|
+
|
|
77494
78659
|
export type PlanmagnetUpdateQualityGateInput = {
|
|
77495
78660
|
criteria?: InputMaybe<Scalars['JSON']['input']>;
|
|
77496
78661
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -77498,6 +78663,8 @@ export type PlanmagnetUpdateQualityGateInput = {
|
|
|
77498
78663
|
milestoneId?: InputMaybe<Scalars['String']['input']>;
|
|
77499
78664
|
name?: InputMaybe<Scalars['String']['input']>;
|
|
77500
78665
|
phase?: InputMaybe<Scalars['String']['input']>;
|
|
78666
|
+
/** The release this gate holds (a release of the same project, or one with no projects) */
|
|
78667
|
+
releaseId?: InputMaybe<Scalars['String']['input']>;
|
|
77501
78668
|
sortOrder?: InputMaybe<Scalars['Int']['input']>;
|
|
77502
78669
|
status?: InputMaybe<QualityGateStatus>;
|
|
77503
78670
|
};
|
|
@@ -77508,6 +78675,7 @@ export type PlanmagnetUpdateReleaseInput = {
|
|
|
77508
78675
|
name?: InputMaybe<Scalars['String']['input']>;
|
|
77509
78676
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
77510
78677
|
plannedDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
78678
|
+
productId?: InputMaybe<Scalars['String']['input']>;
|
|
77511
78679
|
releaseNotes?: InputMaybe<Scalars['String']['input']>;
|
|
77512
78680
|
releasedAt?: InputMaybe<Scalars['DateTime']['input']>;
|
|
77513
78681
|
status?: InputMaybe<ReleaseStatus>;
|
|
@@ -77538,6 +78706,8 @@ export type PlanmagnetUpdateRoadmapInput = {
|
|
|
77538
78706
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
77539
78707
|
name?: InputMaybe<Scalars['String']['input']>;
|
|
77540
78708
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
78709
|
+
planningFocus?: InputMaybe<RoadmapPlanningFocus>;
|
|
78710
|
+
productId?: InputMaybe<Scalars['String']['input']>;
|
|
77541
78711
|
type?: InputMaybe<RoadmapType>;
|
|
77542
78712
|
};
|
|
77543
78713
|
|
|
@@ -77568,15 +78738,20 @@ export type PlanmagnetUpdateSprintInput = {
|
|
|
77568
78738
|
velocity?: InputMaybe<Scalars['Int']['input']>;
|
|
77569
78739
|
};
|
|
77570
78740
|
|
|
78741
|
+
export type PlanmagnetUpdateTeamInput = {
|
|
78742
|
+
capacity?: InputMaybe<Scalars['Int']['input']>;
|
|
78743
|
+
description?: InputMaybe<Scalars['String']['input']>;
|
|
78744
|
+
leadId?: InputMaybe<Scalars['String']['input']>;
|
|
78745
|
+
name?: InputMaybe<Scalars['String']['input']>;
|
|
78746
|
+
};
|
|
78747
|
+
|
|
77571
78748
|
export type PlanmagnetUpdateTimeEntryInput = {
|
|
77572
78749
|
billingRate?: InputMaybe<Scalars['Float']['input']>;
|
|
77573
78750
|
billingType?: InputMaybe<BillingType>;
|
|
77574
78751
|
date?: InputMaybe<Scalars['DateTime']['input']>;
|
|
77575
78752
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
77576
78753
|
durationMinutes?: InputMaybe<Scalars['Int']['input']>;
|
|
77577
|
-
endTime?: InputMaybe<Scalars['DateTime']['input']>;
|
|
77578
78754
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
77579
|
-
startTime?: InputMaybe<Scalars['DateTime']['input']>;
|
|
77580
78755
|
status?: InputMaybe<TimeEntryStatus>;
|
|
77581
78756
|
workItemId?: InputMaybe<Scalars['String']['input']>;
|
|
77582
78757
|
};
|
|
@@ -77628,16 +78803,53 @@ export type PlanmagnetVelocitySprintPoint = {
|
|
|
77628
78803
|
completedPoints: Scalars['Int']['output'];
|
|
77629
78804
|
/** Planned/committed points for the sprint, if set. */
|
|
77630
78805
|
plannedPoints?: Maybe<Scalars['Int']['output']>;
|
|
78806
|
+
/** PROJECT when this point is the project's own sprint; TEAM when it is this project's share of a completed team sprint (BOFF-8044). The two are never summed together anywhere. */
|
|
78807
|
+
scope: PlanmagnetSprintScope;
|
|
77631
78808
|
sequenceNumber: Scalars['Int']['output'];
|
|
77632
78809
|
sprintId: Scalars['ID']['output'];
|
|
77633
78810
|
sprintName: Scalars['String']['output'];
|
|
78811
|
+
/** Set only when scope is TEAM. */
|
|
78812
|
+
teamId?: Maybe<Scalars['ID']['output']>;
|
|
78813
|
+
/** Set only when scope is TEAM. */
|
|
78814
|
+
teamName?: Maybe<Scalars['String']['output']>;
|
|
77634
78815
|
};
|
|
77635
78816
|
|
|
77636
78817
|
export type PlanmagnetVoteOnFeatureInput = {
|
|
77637
78818
|
comment?: InputMaybe<Scalars['String']['input']>;
|
|
78819
|
+
/** Whole number from 1 to 100 (default 1) */
|
|
77638
78820
|
weight?: InputMaybe<Scalars['Int']['input']>;
|
|
77639
78821
|
};
|
|
77640
78822
|
|
|
78823
|
+
export type PlanmagnetWorkItemActivity = {
|
|
78824
|
+
__typename?: 'PlanmagnetWorkItemActivity';
|
|
78825
|
+
/** Newest first */
|
|
78826
|
+
items: Array<PlanmagnetWorkItemActivityEvent>;
|
|
78827
|
+
/** Every recorded event */
|
|
78828
|
+
totalCount: Scalars['Int']['output'];
|
|
78829
|
+
/** True when more events exist than were returned */
|
|
78830
|
+
truncated: Scalars['Boolean']['output'];
|
|
78831
|
+
};
|
|
78832
|
+
|
|
78833
|
+
/** One recorded event in a work item's history. Only what is actually recorded appears: creation, status changes and comments. Assignee and field edits are not recorded yet. */
|
|
78834
|
+
export type PlanmagnetWorkItemActivityEvent = {
|
|
78835
|
+
__typename?: 'PlanmagnetWorkItemActivityEvent';
|
|
78836
|
+
/** Actor who did it */
|
|
78837
|
+
actorId?: Maybe<Scalars['String']['output']>;
|
|
78838
|
+
at: Scalars['DateTime']['output'];
|
|
78839
|
+
/** The comment (COMMENTED) */
|
|
78840
|
+
commentId?: Maybe<Scalars['String']['output']>;
|
|
78841
|
+
/** The start of the comment (COMMENTED) */
|
|
78842
|
+
excerpt?: Maybe<Scalars['String']['output']>;
|
|
78843
|
+
/** Status before (STATUS_CHANGED) */
|
|
78844
|
+
fromStatus?: Maybe<Scalars['String']['output']>;
|
|
78845
|
+
/** Stable id, prefixed by source (transition:, comment:, created:) */
|
|
78846
|
+
id: Scalars['ID']['output'];
|
|
78847
|
+
/** CREATED, STATUS_CHANGED or COMMENTED */
|
|
78848
|
+
kind: Scalars['String']['output'];
|
|
78849
|
+
/** Status after (CREATED from the transition log, STATUS_CHANGED) */
|
|
78850
|
+
toStatus?: Maybe<Scalars['String']['output']>;
|
|
78851
|
+
};
|
|
78852
|
+
|
|
77641
78853
|
export type PlanmagnetWorkItemBreakdownResult = {
|
|
77642
78854
|
__typename?: 'PlanmagnetWorkItemBreakdownResult';
|
|
77643
78855
|
/** Id of the PlanmagnetAgentRun ledger row this call was recorded as. */
|
|
@@ -77646,6 +78858,42 @@ export type PlanmagnetWorkItemBreakdownResult = {
|
|
|
77646
78858
|
suggestions: Array<PlanmagnetWorkItemSuggestion>;
|
|
77647
78859
|
};
|
|
77648
78860
|
|
|
78861
|
+
/** A comment on a work item. Visible to everyone who can read the work item; only its author can edit or delete it. */
|
|
78862
|
+
export type PlanmagnetWorkItemComment = {
|
|
78863
|
+
__typename?: 'PlanmagnetWorkItemComment';
|
|
78864
|
+
/** Actor who posted the comment */
|
|
78865
|
+
authorId: Scalars['String']['output'];
|
|
78866
|
+
body: Scalars['String']['output'];
|
|
78867
|
+
createdAt: Scalars['DateTime']['output'];
|
|
78868
|
+
/** Set when the author changed the body after posting */
|
|
78869
|
+
editedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
78870
|
+
id: Scalars['ID']['output'];
|
|
78871
|
+
updatedAt: Scalars['DateTime']['output'];
|
|
78872
|
+
workItemId: Scalars['String']['output'];
|
|
78873
|
+
};
|
|
78874
|
+
|
|
78875
|
+
export type PlanmagnetWorkItemCommentList = {
|
|
78876
|
+
__typename?: 'PlanmagnetWorkItemCommentList';
|
|
78877
|
+
items: Array<PlanmagnetWorkItemComment>;
|
|
78878
|
+
pageInfo: PlanmagnetPageInfo;
|
|
78879
|
+
totalCount: Scalars['Int']['output'];
|
|
78880
|
+
};
|
|
78881
|
+
|
|
78882
|
+
/** Server-side counts of the work items matching a filter. The list query returns at most 100 rows per page, so a count taken from a page undercounts any workspace with more than 100 items. */
|
|
78883
|
+
export type PlanmagnetWorkItemCounts = {
|
|
78884
|
+
__typename?: 'PlanmagnetWorkItemCounts';
|
|
78885
|
+
/** Open matching work items held back by an active dependency whose predecessor is not done (the release readiness definition of blocked) */
|
|
78886
|
+
blocked: Scalars['Int']['output'];
|
|
78887
|
+
/** Matching work items per project and status */
|
|
78888
|
+
byProject: Array<PlanmagnetWorkItemProjectStatusCount>;
|
|
78889
|
+
/** Matching work items per status (statuses with no items are omitted) */
|
|
78890
|
+
byStatus: Array<PlanmagnetWorkItemStatusCount>;
|
|
78891
|
+
/** Sum of story points over every matching work item */
|
|
78892
|
+
points: Scalars['Int']['output'];
|
|
78893
|
+
/** Every matching work item */
|
|
78894
|
+
total: Scalars['Int']['output'];
|
|
78895
|
+
};
|
|
78896
|
+
|
|
77649
78897
|
export type PlanmagnetWorkItemDependencyList = {
|
|
77650
78898
|
__typename?: 'PlanmagnetWorkItemDependencyList';
|
|
77651
78899
|
items: Array<WorkItemDependency>;
|
|
@@ -77655,6 +78903,8 @@ export type PlanmagnetWorkItemDependencyList = {
|
|
|
77655
78903
|
|
|
77656
78904
|
export type PlanmagnetWorkItemFilter = {
|
|
77657
78905
|
assigneeId?: InputMaybe<Scalars['String']['input']>;
|
|
78906
|
+
/** Leave these work items out (e.g. the ones already in a sprint or release), so a picker never pages first and excludes afterwards */
|
|
78907
|
+
excludeIds?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
77658
78908
|
parentId?: InputMaybe<Scalars['String']['input']>;
|
|
77659
78909
|
priority?: InputMaybe<WorkItemPriority>;
|
|
77660
78910
|
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -77687,6 +78937,24 @@ export type PlanmagnetWorkItemList = {
|
|
|
77687
78937
|
totalCount: Scalars['Int']['output'];
|
|
77688
78938
|
};
|
|
77689
78939
|
|
|
78940
|
+
export type PlanmagnetWorkItemProjectStatusCount = {
|
|
78941
|
+
__typename?: 'PlanmagnetWorkItemProjectStatusCount';
|
|
78942
|
+
count: Scalars['Int']['output'];
|
|
78943
|
+
/** Sum of story points of these work items (items without an estimate count as 0) */
|
|
78944
|
+
points: Scalars['Int']['output'];
|
|
78945
|
+
projectId: Scalars['String']['output'];
|
|
78946
|
+
status: Scalars['String']['output'];
|
|
78947
|
+
};
|
|
78948
|
+
|
|
78949
|
+
export type PlanmagnetWorkItemStatusCount = {
|
|
78950
|
+
__typename?: 'PlanmagnetWorkItemStatusCount';
|
|
78951
|
+
count: Scalars['Int']['output'];
|
|
78952
|
+
/** Sum of story points of these work items (items without an estimate count as 0) */
|
|
78953
|
+
points: Scalars['Int']['output'];
|
|
78954
|
+
/** A WorkItemStatus value. A String, not the enum, so a stored status the API does not expose yet (BLOCKED) cannot fail the whole query */
|
|
78955
|
+
status: Scalars['String']['output'];
|
|
78956
|
+
};
|
|
78957
|
+
|
|
77690
78958
|
export type PlanmagnetWorkItemSuggestion = {
|
|
77691
78959
|
__typename?: 'PlanmagnetWorkItemSuggestion';
|
|
77692
78960
|
description?: Maybe<Scalars['String']['output']>;
|
|
@@ -77696,6 +78964,37 @@ export type PlanmagnetWorkItemSuggestion = {
|
|
|
77696
78964
|
type: WorkItemType;
|
|
77697
78965
|
};
|
|
77698
78966
|
|
|
78967
|
+
/** How one canonical status appears and behaves in a project */
|
|
78968
|
+
export type PlanmagnetWorkflowStatus = {
|
|
78969
|
+
__typename?: 'PlanmagnetWorkflowStatus';
|
|
78970
|
+
category: PlanmagnetStatusCategory;
|
|
78971
|
+
/** Hidden statuses cannot be chosen for new moves; items already in one stay readable */
|
|
78972
|
+
hidden: Scalars['Boolean']['output'];
|
|
78973
|
+
/** The project's name for it */
|
|
78974
|
+
label: Scalars['String']['output'];
|
|
78975
|
+
status: WorkItemStatus;
|
|
78976
|
+
};
|
|
78977
|
+
|
|
78978
|
+
export type PlanmagnetWorkflowStatusInput = {
|
|
78979
|
+
/** Defaults to the status's standard category */
|
|
78980
|
+
category?: InputMaybe<PlanmagnetStatusCategory>;
|
|
78981
|
+
hidden?: InputMaybe<Scalars['Boolean']['input']>;
|
|
78982
|
+
label: Scalars['String']['input'];
|
|
78983
|
+
status: WorkItemStatus;
|
|
78984
|
+
};
|
|
78985
|
+
|
|
78986
|
+
/** An allowed status change */
|
|
78987
|
+
export type PlanmagnetWorkflowTransition = {
|
|
78988
|
+
__typename?: 'PlanmagnetWorkflowTransition';
|
|
78989
|
+
from: WorkItemStatus;
|
|
78990
|
+
to: WorkItemStatus;
|
|
78991
|
+
};
|
|
78992
|
+
|
|
78993
|
+
export type PlanmagnetWorkflowTransitionInput = {
|
|
78994
|
+
from: WorkItemStatus;
|
|
78995
|
+
to: WorkItemStatus;
|
|
78996
|
+
};
|
|
78997
|
+
|
|
77699
78998
|
/** A user who currently holds billable "editor" access to a PlanMagnet workspace -- counted against the Free-tier `planmagnet.editors.count` quota (10 editors). Viewers/commenters are not tracked here and are free. */
|
|
77700
78999
|
export type PlanmagnetWorkspaceEditor = {
|
|
77701
79000
|
__typename?: 'PlanmagnetWorkspaceEditor';
|
|
@@ -78307,7 +79606,28 @@ export type ProduceWithdrawalStatus = {
|
|
|
78307
79606
|
|
|
78308
79607
|
export type Product = {
|
|
78309
79608
|
__typename?: 'Product';
|
|
79609
|
+
/** Domain lifecycle marker, distinct from deletedAt. Null = active. */
|
|
79610
|
+
archivedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
79611
|
+
context?: Maybe<Scalars['JSON']['output']>;
|
|
79612
|
+
createdAt: Scalars['DateTime']['output'];
|
|
79613
|
+
createdBy: Scalars['String']['output'];
|
|
79614
|
+
deletedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
79615
|
+
description?: Maybe<Scalars['String']['output']>;
|
|
79616
|
+
featureRequests: Array<FeatureRequest>;
|
|
78310
79617
|
id: Scalars['ID']['output'];
|
|
79618
|
+
lifecycleStage: PlanmagnetProductLifecycleStage;
|
|
79619
|
+
metadata?: Maybe<Scalars['JSON']['output']>;
|
|
79620
|
+
name: Scalars['String']['output'];
|
|
79621
|
+
northStar?: Maybe<PlanmagnetProductNorthStar>;
|
|
79622
|
+
objectives: Array<PlanmagnetObjective>;
|
|
79623
|
+
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
79624
|
+
ownerId: Scalars['String']['output'];
|
|
79625
|
+
releases: Array<Release>;
|
|
79626
|
+
roadmaps: Array<Roadmap>;
|
|
79627
|
+
updatedAt: Scalars['DateTime']['output'];
|
|
79628
|
+
updatedBy?: Maybe<Scalars['String']['output']>;
|
|
79629
|
+
vision: Scalars['String']['output'];
|
|
79630
|
+
workspaceId: Scalars['String']['output'];
|
|
78311
79631
|
};
|
|
78312
79632
|
|
|
78313
79633
|
export type ProductCount = {
|
|
@@ -79349,6 +80669,22 @@ export type ProviderList = {
|
|
|
79349
80669
|
total: Scalars['Int']['output'];
|
|
79350
80670
|
};
|
|
79351
80671
|
|
|
80672
|
+
/** An assistant sandbox for the caller, built by the service. */
|
|
80673
|
+
export type ProvisionAssistantSandboxInput = {
|
|
80674
|
+
context: ContextInput;
|
|
80675
|
+
/** At most AI_ASSISTANT_PRODUCT, HOSTNAME and WORKSPACE_ID, each with the value the request implies. Never a token. */
|
|
80676
|
+
env?: InputMaybe<Array<EnvVarInput>>;
|
|
80677
|
+
/** An org-published ai-assistant runtime image. */
|
|
80678
|
+
image: Scalars['String']['input'];
|
|
80679
|
+
mode: SandboxAssistantMode;
|
|
80680
|
+
/** The product whose docs and persona the assistant uses (e.g. vibecontrols). */
|
|
80681
|
+
product: Scalars['String']['input'];
|
|
80682
|
+
/** Requested lifetime; bounded by the plan and the workspace maximum. */
|
|
80683
|
+
ttlSeconds?: InputMaybe<Scalars['Int']['input']>;
|
|
80684
|
+
/** Take action only; Ask ignores it. */
|
|
80685
|
+
writeApproval?: InputMaybe<SandboxAssistantWriteApproval>;
|
|
80686
|
+
};
|
|
80687
|
+
|
|
79352
80688
|
export type ProxySandboxRequestInput = {
|
|
79353
80689
|
/** Request body as JSON (for POST/PUT/PATCH) */
|
|
79354
80690
|
body?: InputMaybe<Scalars['JSON']['input']>;
|
|
@@ -80684,6 +82020,8 @@ export type QualityGate = {
|
|
|
80684
82020
|
project?: Maybe<PlanmagnetProject>;
|
|
80685
82021
|
/** Parent project ID */
|
|
80686
82022
|
projectId: Scalars['String']['output'];
|
|
82023
|
+
/** The release this gate holds. The release cannot become RELEASED until this gate is PASSED or WAIVED */
|
|
82024
|
+
releaseId?: Maybe<Scalars['String']['output']>;
|
|
80687
82025
|
/** Review results and notes */
|
|
80688
82026
|
reviewNotes?: Maybe<Scalars['String']['output']>;
|
|
80689
82027
|
/** Review timestamp */
|
|
@@ -80871,10 +82209,18 @@ export type Query = {
|
|
|
80871
82209
|
assetRegister: Array<Asset>;
|
|
80872
82210
|
assets: Array<Asset>;
|
|
80873
82211
|
assignmentSuggestions: MtwAssignmentSuggestions;
|
|
80874
|
-
/**
|
|
82212
|
+
/**
|
|
82213
|
+
* The transcript of one of my assistant chats, oldest first.
|
|
82214
|
+
* @deprecated Use the my* assistant-history fields (BOFF-7335).
|
|
82215
|
+
*/
|
|
80875
82216
|
assistantConversationMessages: Array<AssistantHistoryMessage>;
|
|
80876
|
-
/**
|
|
82217
|
+
/**
|
|
82218
|
+
* My assistant chats for one product, newest first.
|
|
82219
|
+
* @deprecated Use the my* assistant-history fields (BOFF-7335).
|
|
82220
|
+
*/
|
|
80877
82221
|
assistantConversations: Array<AssistantConversation>;
|
|
82222
|
+
/** Run one GraphQL query as the owner of the session the capability names. Queries only. */
|
|
82223
|
+
assistantSessionQuery: AssistantSessionRelayResult;
|
|
80878
82224
|
/** A single AI decision execution log entry by id, scoped to the caller's workspace. */
|
|
80879
82225
|
athAgentRun?: Maybe<AthAgentRun>;
|
|
80880
82226
|
/** Paginated, workspace-scoped AI decision execution log, most recent first. */
|
|
@@ -82297,7 +83643,7 @@ export type Query = {
|
|
|
82297
83643
|
/** Get aggregated ad performance metrics for the workspace */
|
|
82298
83644
|
headshotmarketingAdMetrics: HeadshotmarketingAdMetrics;
|
|
82299
83645
|
headshotmarketingAdPlatformConnections: HeadshotmarketingAdPlatformConnectionList;
|
|
82300
|
-
/** Compute a deterministic first-touch
|
|
83646
|
+
/** Compute a deterministic attribution report (first-touch, linear, time-decay and position-based) for a WON deal or a CONVERTED lead. Exactly one of dealId/leadId must be supplied. `timeDecayHalfLifeDays` overrides the time-decay half-life (default 7 days; ignored when not positive). */
|
|
82301
83647
|
headshotmarketingAttributionReport: HeadshotmarketingAttributionReport;
|
|
82302
83648
|
/** Get a specific audience by ID */
|
|
82303
83649
|
headshotmarketingAudience?: Maybe<HeadshotmarketingAudience>;
|
|
@@ -82395,6 +83741,8 @@ export type Query = {
|
|
|
82395
83741
|
headshotmarketingPipelineOverview?: Maybe<HeadshotmarketingPipelineOverview>;
|
|
82396
83742
|
/** List pipelines with optional filters */
|
|
82397
83743
|
headshotmarketingPipelines: HeadshotmarketingPipelineList;
|
|
83744
|
+
/** PUBLIC, unauthenticated fetch of a PUBLISHED landing page by slug, for the public renderer at `/lp/{slug}`. Resolves WITHOUT a workspace context: it matches across all workspaces and returns only published, not-deleted pages (and their visible sections). Slugs are not globally unique, so when more than one published page shares a slug the most recently published one is returned. Exposes only public renderer fields — no workspace-internal data. */
|
|
83745
|
+
headshotmarketingPublicLandingPage?: Maybe<HeadshotmarketingPublicLandingPage>;
|
|
82398
83746
|
/** Get an SEO audit by ID */
|
|
82399
83747
|
headshotmarketingSEOAudit?: Maybe<HeadshotmarketingSeoAudit>;
|
|
82400
83748
|
/** List SEO audits with optional filters and pagination */
|
|
@@ -82904,6 +84252,12 @@ export type Query = {
|
|
|
82904
84252
|
metrics: Array<Metric>;
|
|
82905
84253
|
myAgentMessageBookmarks: AgentMessageBookmarkList;
|
|
82906
84254
|
myApprovalRequests: Array<TimeApprovalRequest>;
|
|
84255
|
+
/** One of my conversations. Exactly one of clientConversationId / conversationId. Default: the newest 50. */
|
|
84256
|
+
myAssistantConversationEntries: AssistantHistoryEntryConnection;
|
|
84257
|
+
/** My live conversations, most recently changed first. */
|
|
84258
|
+
myAssistantConversations: AssistantHistoryConversationConnection;
|
|
84259
|
+
/** My conversations' changes in commit order, tombstones included. */
|
|
84260
|
+
myAssistantHistoryChanges: AssistantHistoryChangeConnection;
|
|
82907
84261
|
myBalanceTargets: Array<TimeCampusBalanceTarget>;
|
|
82908
84262
|
myContextSharingPolicy: TimeCampusContextSharingPolicy;
|
|
82909
84263
|
myDeadTimeRadar: TimeCampusDeadTimeRadar;
|
|
@@ -83052,6 +84406,8 @@ export type Query = {
|
|
|
83052
84406
|
planmagnetAutomationRules: PlanmagnetAutomationRuleList;
|
|
83053
84407
|
/** Get a single board by ID */
|
|
83054
84408
|
planmagnetBoard?: Maybe<Board>;
|
|
84409
|
+
/** One column's cards, a page at a time (a column shows its first 100; this pages past them). Same placement as BoardColumn.cards */
|
|
84410
|
+
planmagnetBoardColumnCards: PlanmagnetWorkItemList;
|
|
83055
84411
|
/** List boards in a workspace */
|
|
83056
84412
|
planmagnetBoards: PlanmagnetBoardList;
|
|
83057
84413
|
/** Get a single budget by ID */
|
|
@@ -83101,6 +84457,10 @@ export type Query = {
|
|
|
83101
84457
|
planmagnetMilestone?: Maybe<Milestone>;
|
|
83102
84458
|
/** List milestones in a workspace */
|
|
83103
84459
|
planmagnetMilestones: PlanmagnetMilestoneList;
|
|
84460
|
+
/** The CALLING actor's own AI calls in this workspace, newest first. Until 2026-09-24 the ledger was write-only: every AI call was recorded and nothing could read the record back. Two checks, deliberately both. The directive requires read on planmagnet-ai in this workspace, so someone removed from the workspace loses access to it. The resolver then filters on the caller's own actorId, which is what makes this a personal list — the rows are other people's prompts otherwise, and a workspace-wide view needs its own policy decision (see BOFF-7868: every member currently holds VIEWER on planmagnet-admin, so gating on that would show everyone's prompts to everyone). */
|
|
84461
|
+
planmagnetMyAgentRuns: PlanmagnetAgentRunList;
|
|
84462
|
+
/** The caller's own assigned work items across every project in the workspace, sorted overdue-first (see utils/my-work.ts for the exact order). Identity comes from x-actor-id — there is no actorId argument, by design: work items are a collaborative resource (BOFF-8043 workflow, projects with many members), so this is NOT an @rbac(scopeType: "self") field — it reuses the same read grant as planmagnetWorkItems and filters to the caller inside the resolver. */
|
|
84463
|
+
planmagnetMyWorkItems: PlanmagnetWorkItemList;
|
|
83104
84464
|
planmagnetObjective?: Maybe<PlanmagnetObjective>;
|
|
83105
84465
|
planmagnetObjectives: PlanmagnetObjectiveList;
|
|
83106
84466
|
/** Get a single portfolio by ID */
|
|
@@ -83109,6 +84469,8 @@ export type Query = {
|
|
|
83109
84469
|
planmagnetPortfolioOverview: PlanmagnetPortfolioOverview;
|
|
83110
84470
|
/** List portfolios in a workspace */
|
|
83111
84471
|
planmagnetPortfolios: PlanmagnetPortfolioList;
|
|
84472
|
+
planmagnetProduct?: Maybe<Product>;
|
|
84473
|
+
planmagnetProducts: PlanmagnetProductList;
|
|
83112
84474
|
/** Get a single program by ID */
|
|
83113
84475
|
planmagnetProgram?: Maybe<Program>;
|
|
83114
84476
|
/** List programs in a workspace */
|
|
@@ -83119,6 +84481,8 @@ export type Query = {
|
|
|
83119
84481
|
planmagnetProjectTemplate?: Maybe<ProjectTemplate>;
|
|
83120
84482
|
/** List project templates in a workspace */
|
|
83121
84483
|
planmagnetProjectTemplates: PlanmagnetProjectTemplateList;
|
|
84484
|
+
/** A project's workflow */
|
|
84485
|
+
planmagnetProjectWorkflow: PlanmagnetProjectWorkflow;
|
|
83122
84486
|
/** List projects in a workspace */
|
|
83123
84487
|
planmagnetProjects: PlanmagnetProjectList;
|
|
83124
84488
|
/** Get a single quality gate by ID */
|
|
@@ -83127,6 +84491,8 @@ export type Query = {
|
|
|
83127
84491
|
planmagnetQualityGates: PlanmagnetQualityGateList;
|
|
83128
84492
|
/** Get a single release by ID */
|
|
83129
84493
|
planmagnetRelease?: Maybe<Release>;
|
|
84494
|
+
/** What stands between a release and shipping: its scope, and every open item in it held by an unmet dependency, with what it waits on. Gated on dependency read: it exposes which item waits on which. */
|
|
84495
|
+
planmagnetReleaseReadiness: PlanmagnetReleaseReadiness;
|
|
83130
84496
|
/** List releases in a workspace */
|
|
83131
84497
|
planmagnetReleases: PlanmagnetReleaseList;
|
|
83132
84498
|
/** Get a single risk by ID */
|
|
@@ -83151,6 +84517,14 @@ export type Query = {
|
|
|
83151
84517
|
planmagnetSprintCapacity: PlanmagnetSprintCapacity;
|
|
83152
84518
|
/** List sprints in a workspace */
|
|
83153
84519
|
planmagnetSprints: PlanmagnetSprintList;
|
|
84520
|
+
/** Get a single team by ID. */
|
|
84521
|
+
planmagnetTeam?: Maybe<Team>;
|
|
84522
|
+
/** Velocity (whole-sprint completed points, plus the per-project split) across the trailing N COMPLETED sprints of a team (BOFF-8044). */
|
|
84523
|
+
planmagnetTeamVelocity: PlanmagnetTeamVelocity;
|
|
84524
|
+
/** List teams in a workspace. */
|
|
84525
|
+
planmagnetTeams: PlanmagnetTeamList;
|
|
84526
|
+
/** Work items that reached DONE per period (day or week), over a date range (defaults to the trailing 12 weeks). BOFF-8048 Reports: the throughput sibling of planmagnetCycleTime, reusing the exact toStatus='DONE' transition scan — see AnalyticsService.throughput(). */
|
|
84527
|
+
planmagnetThroughput: PlanmagnetThroughput;
|
|
83154
84528
|
/** List time entries in a workspace */
|
|
83155
84529
|
planmagnetTimeEntries: PlanmagnetTimeEntryList;
|
|
83156
84530
|
/** Get a single time entry by ID */
|
|
@@ -83163,6 +84537,12 @@ export type Query = {
|
|
|
83163
84537
|
planmagnetVelocity: PlanmagnetVelocity;
|
|
83164
84538
|
/** Get a single work item by ID */
|
|
83165
84539
|
planmagnetWorkItem?: Maybe<WorkItem>;
|
|
84540
|
+
/** A work item's recorded history, newest first */
|
|
84541
|
+
planmagnetWorkItemActivity: PlanmagnetWorkItemActivity;
|
|
84542
|
+
/** Comments on a work item, oldest first */
|
|
84543
|
+
planmagnetWorkItemComments: PlanmagnetWorkItemCommentList;
|
|
84544
|
+
/** Count work items matching a filter, in total, per status and per project, computed on the server */
|
|
84545
|
+
planmagnetWorkItemCounts: PlanmagnetWorkItemCounts;
|
|
83166
84546
|
/** Docs currently linked to a given work item. */
|
|
83167
84547
|
planmagnetWorkItemDocs: Array<PlanmagnetDoc>;
|
|
83168
84548
|
/** Get a single work item link by ID */
|
|
@@ -84679,6 +86059,12 @@ export type QueryAssistantConversationsArgs = {
|
|
|
84679
86059
|
};
|
|
84680
86060
|
|
|
84681
86061
|
|
|
86062
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
86063
|
+
export type QueryAssistantSessionQueryArgs = {
|
|
86064
|
+
input: AssistantSessionRelayInput;
|
|
86065
|
+
};
|
|
86066
|
+
|
|
86067
|
+
|
|
84682
86068
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
84683
86069
|
export type QueryAthAgentRunArgs = {
|
|
84684
86070
|
id: Scalars['ID']['input'];
|
|
@@ -91434,6 +92820,7 @@ export type QueryHeadshotmarketingAdPlatformConnectionsArgs = {
|
|
|
91434
92820
|
export type QueryHeadshotmarketingAttributionReportArgs = {
|
|
91435
92821
|
dealId?: InputMaybe<Scalars['ID']['input']>;
|
|
91436
92822
|
leadId?: InputMaybe<Scalars['ID']['input']>;
|
|
92823
|
+
timeDecayHalfLifeDays?: InputMaybe<Scalars['Float']['input']>;
|
|
91437
92824
|
};
|
|
91438
92825
|
|
|
91439
92826
|
|
|
@@ -91745,6 +93132,12 @@ export type QueryHeadshotmarketingPipelinesArgs = {
|
|
|
91745
93132
|
};
|
|
91746
93133
|
|
|
91747
93134
|
|
|
93135
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
93136
|
+
export type QueryHeadshotmarketingPublicLandingPageArgs = {
|
|
93137
|
+
slug: Scalars['String']['input'];
|
|
93138
|
+
};
|
|
93139
|
+
|
|
93140
|
+
|
|
91748
93141
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
91749
93142
|
export type QueryHeadshotmarketingSeoAuditArgs = {
|
|
91750
93143
|
id: Scalars['ID']['input'];
|
|
@@ -94233,6 +95626,35 @@ export type QueryMyApprovalRequestsArgs = {
|
|
|
94233
95626
|
};
|
|
94234
95627
|
|
|
94235
95628
|
|
|
95629
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
95630
|
+
export type QueryMyAssistantConversationEntriesArgs = {
|
|
95631
|
+
after?: InputMaybe<Scalars['String']['input']>;
|
|
95632
|
+
before?: InputMaybe<Scalars['String']['input']>;
|
|
95633
|
+
clientConversationId?: InputMaybe<Scalars['ID']['input']>;
|
|
95634
|
+
conversationId?: InputMaybe<Scalars['ID']['input']>;
|
|
95635
|
+
first?: InputMaybe<Scalars['Int']['input']>;
|
|
95636
|
+
last?: InputMaybe<Scalars['Int']['input']>;
|
|
95637
|
+
productId: Scalars['String']['input'];
|
|
95638
|
+
sinceSeq?: InputMaybe<Scalars['Int']['input']>;
|
|
95639
|
+
};
|
|
95640
|
+
|
|
95641
|
+
|
|
95642
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
95643
|
+
export type QueryMyAssistantConversationsArgs = {
|
|
95644
|
+
after?: InputMaybe<Scalars['String']['input']>;
|
|
95645
|
+
first?: InputMaybe<Scalars['Int']['input']>;
|
|
95646
|
+
productId: Scalars['String']['input'];
|
|
95647
|
+
};
|
|
95648
|
+
|
|
95649
|
+
|
|
95650
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
95651
|
+
export type QueryMyAssistantHistoryChangesArgs = {
|
|
95652
|
+
after?: InputMaybe<Scalars['String']['input']>;
|
|
95653
|
+
first?: InputMaybe<Scalars['Int']['input']>;
|
|
95654
|
+
productId: Scalars['String']['input'];
|
|
95655
|
+
};
|
|
95656
|
+
|
|
95657
|
+
|
|
94236
95658
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
94237
95659
|
export type QueryMyBalanceTargetsArgs = {
|
|
94238
95660
|
pagination?: InputMaybe<PaginationInput>;
|
|
@@ -94781,6 +96203,14 @@ export type QueryPlanmagnetBoardArgs = {
|
|
|
94781
96203
|
};
|
|
94782
96204
|
|
|
94783
96205
|
|
|
96206
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
96207
|
+
export type QueryPlanmagnetBoardColumnCardsArgs = {
|
|
96208
|
+
boardId: Scalars['ID']['input'];
|
|
96209
|
+
columnId: Scalars['ID']['input'];
|
|
96210
|
+
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
96211
|
+
};
|
|
96212
|
+
|
|
96213
|
+
|
|
94784
96214
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
94785
96215
|
export type QueryPlanmagnetBoardsArgs = {
|
|
94786
96216
|
filter?: InputMaybe<PlanmagnetBoardFilter>;
|
|
@@ -94946,6 +96376,7 @@ export type QueryPlanmagnetFeatureRequestArgs = {
|
|
|
94946
96376
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
94947
96377
|
export type QueryPlanmagnetFeatureRequestsArgs = {
|
|
94948
96378
|
filter?: InputMaybe<PlanmagnetFeatureRequestFilter>;
|
|
96379
|
+
orderBy?: InputMaybe<PlanmagnetFeatureOrder>;
|
|
94949
96380
|
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
94950
96381
|
workspaceId: Scalars['ID']['input'];
|
|
94951
96382
|
};
|
|
@@ -94966,6 +96397,23 @@ export type QueryPlanmagnetMilestoneArgs = {
|
|
|
94966
96397
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
94967
96398
|
export type QueryPlanmagnetMilestonesArgs = {
|
|
94968
96399
|
filter?: InputMaybe<PlanmagnetMilestoneFilter>;
|
|
96400
|
+
orderBy?: InputMaybe<PlanmagnetMilestoneOrder>;
|
|
96401
|
+
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
96402
|
+
workspaceId: Scalars['ID']['input'];
|
|
96403
|
+
};
|
|
96404
|
+
|
|
96405
|
+
|
|
96406
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
96407
|
+
export type QueryPlanmagnetMyAgentRunsArgs = {
|
|
96408
|
+
filter?: InputMaybe<PlanmagnetAgentRunFilter>;
|
|
96409
|
+
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
96410
|
+
workspaceId: Scalars['ID']['input'];
|
|
96411
|
+
};
|
|
96412
|
+
|
|
96413
|
+
|
|
96414
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
96415
|
+
export type QueryPlanmagnetMyWorkItemsArgs = {
|
|
96416
|
+
filter?: InputMaybe<PlanmagnetMyWorkItemFilter>;
|
|
94969
96417
|
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
94970
96418
|
workspaceId: Scalars['ID']['input'];
|
|
94971
96419
|
};
|
|
@@ -95005,6 +96453,20 @@ export type QueryPlanmagnetPortfoliosArgs = {
|
|
|
95005
96453
|
};
|
|
95006
96454
|
|
|
95007
96455
|
|
|
96456
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
96457
|
+
export type QueryPlanmagnetProductArgs = {
|
|
96458
|
+
id: Scalars['ID']['input'];
|
|
96459
|
+
};
|
|
96460
|
+
|
|
96461
|
+
|
|
96462
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
96463
|
+
export type QueryPlanmagnetProductsArgs = {
|
|
96464
|
+
filter?: InputMaybe<PlanmagnetProductFilter>;
|
|
96465
|
+
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
96466
|
+
workspaceId: Scalars['ID']['input'];
|
|
96467
|
+
};
|
|
96468
|
+
|
|
96469
|
+
|
|
95008
96470
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
95009
96471
|
export type QueryPlanmagnetProgramArgs = {
|
|
95010
96472
|
id: Scalars['ID']['input'];
|
|
@@ -95039,6 +96501,12 @@ export type QueryPlanmagnetProjectTemplatesArgs = {
|
|
|
95039
96501
|
};
|
|
95040
96502
|
|
|
95041
96503
|
|
|
96504
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
96505
|
+
export type QueryPlanmagnetProjectWorkflowArgs = {
|
|
96506
|
+
projectId: Scalars['ID']['input'];
|
|
96507
|
+
};
|
|
96508
|
+
|
|
96509
|
+
|
|
95042
96510
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
95043
96511
|
export type QueryPlanmagnetProjectsArgs = {
|
|
95044
96512
|
filter?: InputMaybe<PlanmagnetProjectFilter>;
|
|
@@ -95067,6 +96535,12 @@ export type QueryPlanmagnetReleaseArgs = {
|
|
|
95067
96535
|
};
|
|
95068
96536
|
|
|
95069
96537
|
|
|
96538
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
96539
|
+
export type QueryPlanmagnetReleaseReadinessArgs = {
|
|
96540
|
+
releaseId: Scalars['ID']['input'];
|
|
96541
|
+
};
|
|
96542
|
+
|
|
96543
|
+
|
|
95070
96544
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
95071
96545
|
export type QueryPlanmagnetReleasesArgs = {
|
|
95072
96546
|
filter?: InputMaybe<PlanmagnetReleaseFilter>;
|
|
@@ -95150,6 +96624,38 @@ export type QueryPlanmagnetSprintsArgs = {
|
|
|
95150
96624
|
};
|
|
95151
96625
|
|
|
95152
96626
|
|
|
96627
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
96628
|
+
export type QueryPlanmagnetTeamArgs = {
|
|
96629
|
+
id: Scalars['ID']['input'];
|
|
96630
|
+
};
|
|
96631
|
+
|
|
96632
|
+
|
|
96633
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
96634
|
+
export type QueryPlanmagnetTeamVelocityArgs = {
|
|
96635
|
+
teamId: Scalars['ID']['input'];
|
|
96636
|
+
trailingSprintCount?: InputMaybe<Scalars['Int']['input']>;
|
|
96637
|
+
workspaceId: Scalars['ID']['input'];
|
|
96638
|
+
};
|
|
96639
|
+
|
|
96640
|
+
|
|
96641
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
96642
|
+
export type QueryPlanmagnetTeamsArgs = {
|
|
96643
|
+
filter?: InputMaybe<PlanmagnetTeamFilter>;
|
|
96644
|
+
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
96645
|
+
workspaceId: Scalars['ID']['input'];
|
|
96646
|
+
};
|
|
96647
|
+
|
|
96648
|
+
|
|
96649
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
96650
|
+
export type QueryPlanmagnetThroughputArgs = {
|
|
96651
|
+
bucket?: InputMaybe<PlanmagnetThroughputBucket>;
|
|
96652
|
+
endDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
96653
|
+
projectId: Scalars['ID']['input'];
|
|
96654
|
+
startDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
96655
|
+
workspaceId: Scalars['ID']['input'];
|
|
96656
|
+
};
|
|
96657
|
+
|
|
96658
|
+
|
|
95153
96659
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
95154
96660
|
export type QueryPlanmagnetTimeEntriesArgs = {
|
|
95155
96661
|
filter?: InputMaybe<PlanmagnetTimeEntryFilter>;
|
|
@@ -95192,6 +96698,27 @@ export type QueryPlanmagnetWorkItemArgs = {
|
|
|
95192
96698
|
};
|
|
95193
96699
|
|
|
95194
96700
|
|
|
96701
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
96702
|
+
export type QueryPlanmagnetWorkItemActivityArgs = {
|
|
96703
|
+
first?: InputMaybe<Scalars['Int']['input']>;
|
|
96704
|
+
workItemId: Scalars['ID']['input'];
|
|
96705
|
+
};
|
|
96706
|
+
|
|
96707
|
+
|
|
96708
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
96709
|
+
export type QueryPlanmagnetWorkItemCommentsArgs = {
|
|
96710
|
+
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
96711
|
+
workItemId: Scalars['ID']['input'];
|
|
96712
|
+
};
|
|
96713
|
+
|
|
96714
|
+
|
|
96715
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
96716
|
+
export type QueryPlanmagnetWorkItemCountsArgs = {
|
|
96717
|
+
filter?: InputMaybe<PlanmagnetWorkItemFilter>;
|
|
96718
|
+
workspaceId: Scalars['ID']['input'];
|
|
96719
|
+
};
|
|
96720
|
+
|
|
96721
|
+
|
|
95195
96722
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
95196
96723
|
export type QueryPlanmagnetWorkItemDocsArgs = {
|
|
95197
96724
|
workItemId: Scalars['ID']['input'];
|
|
@@ -99232,10 +100759,16 @@ export type Release = {
|
|
|
99232
100759
|
ownerId?: Maybe<Scalars['String']['output']>;
|
|
99233
100760
|
/** Planned release date */
|
|
99234
100761
|
plannedDate?: Maybe<Scalars['DateTime']['output']>;
|
|
100762
|
+
/** The linked Product, when set. */
|
|
100763
|
+
product?: Maybe<Product>;
|
|
100764
|
+
/** Linked strategic Product (BOFF-8045). Null when never attached. */
|
|
100765
|
+
productId?: Maybe<Scalars['String']['output']>;
|
|
99235
100766
|
/** Parent project */
|
|
99236
100767
|
project?: Maybe<PlanmagnetProject>;
|
|
99237
100768
|
/** Parent project ID */
|
|
99238
100769
|
projectId: Scalars['String']['output'];
|
|
100770
|
+
/** Live quality gates holding this release. It cannot become RELEASED until every one is PASSED or WAIVED */
|
|
100771
|
+
qualityGates: Array<QualityGate>;
|
|
99239
100772
|
/** Release notes (markdown) */
|
|
99240
100773
|
releaseNotes?: Maybe<Scalars['String']['output']>;
|
|
99241
100774
|
/** Actual release date */
|
|
@@ -99285,7 +100818,8 @@ export enum ReleaseStatus {
|
|
|
99285
100818
|
Planning = 'PLANNING',
|
|
99286
100819
|
Ready = 'READY',
|
|
99287
100820
|
Released = 'RELEASED',
|
|
99288
|
-
RolledBack = 'ROLLED_BACK'
|
|
100821
|
+
RolledBack = 'ROLLED_BACK',
|
|
100822
|
+
Staging = 'STAGING'
|
|
99289
100823
|
}
|
|
99290
100824
|
|
|
99291
100825
|
export enum ReminderChannel {
|
|
@@ -99541,6 +101075,14 @@ export type ReportAiTokenUsageInput = {
|
|
|
99541
101075
|
totalTokens?: InputMaybe<Scalars['Int']['input']>;
|
|
99542
101076
|
};
|
|
99543
101077
|
|
|
101078
|
+
/** A batch of finished turns from one page. */
|
|
101079
|
+
export type ReportAssistantTurnTimingsInput = {
|
|
101080
|
+
/** A random UUID per request, used only to ignore a repeated delivery. Never stored as a metric label. */
|
|
101081
|
+
nonce: Scalars['String']['input'];
|
|
101082
|
+
/** Between 1 and 20 turns. */
|
|
101083
|
+
turns: Array<AssistantTurnTimingInput>;
|
|
101084
|
+
};
|
|
101085
|
+
|
|
99544
101086
|
export enum ReportFormat {
|
|
99545
101087
|
Csv = 'CSV',
|
|
99546
101088
|
Excel = 'EXCEL',
|
|
@@ -100278,6 +101820,12 @@ export type Roadmap = {
|
|
|
100278
101820
|
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
100279
101821
|
/** Owner actor ID */
|
|
100280
101822
|
ownerId: Scalars['String']['output'];
|
|
101823
|
+
/** What the roadmap is organised around. Null when never recorded — legacy roadmaps were not classified, and this is not guessed. */
|
|
101824
|
+
planningFocus?: Maybe<RoadmapPlanningFocus>;
|
|
101825
|
+
/** The linked Product, when set. */
|
|
101826
|
+
product?: Maybe<Product>;
|
|
101827
|
+
/** Linked strategic Product (BOFF-8045). Null when never attached — see the BOFF-8045 backfill for the migration path from a pre-existing roadmap. */
|
|
101828
|
+
productId?: Maybe<Scalars['String']['output']>;
|
|
100281
101829
|
/** Roadmap visualization type */
|
|
100282
101830
|
type: RoadmapType;
|
|
100283
101831
|
/** Last update timestamp */
|
|
@@ -100338,6 +101886,15 @@ export enum RoadmapItemStatus {
|
|
|
100338
101886
|
Planned = 'PLANNED'
|
|
100339
101887
|
}
|
|
100340
101888
|
|
|
101889
|
+
/** What a roadmap is organised around. Independent of how it is displayed: a technology roadmap can be shown as a timeline. */
|
|
101890
|
+
export enum RoadmapPlanningFocus {
|
|
101891
|
+
Feature = 'FEATURE',
|
|
101892
|
+
Portfolio = 'PORTFOLIO',
|
|
101893
|
+
Technology = 'TECHNOLOGY',
|
|
101894
|
+
Theme = 'THEME'
|
|
101895
|
+
}
|
|
101896
|
+
|
|
101897
|
+
/** How a roadmap is displayed. Only TIMELINE is served today; SWIMLANE, GANTT and CUSTOM are refused with a reason until those views are built (BOFF-7934). */
|
|
100341
101898
|
export enum RoadmapType {
|
|
100342
101899
|
Custom = 'CUSTOM',
|
|
100343
101900
|
Gantt = 'GANTT',
|
|
@@ -100729,6 +102286,22 @@ export type SandboxArtifactBytesInput = {
|
|
|
100729
102286
|
sessionId: Scalars['String']['input'];
|
|
100730
102287
|
};
|
|
100731
102288
|
|
|
102289
|
+
/** The assistant modes the dedicated path provisions. */
|
|
102290
|
+
export enum SandboxAssistantMode {
|
|
102291
|
+
/** Take action: prepares changes as proposals; only a workspace admin's session can run them. */
|
|
102292
|
+
ApiCalls = 'API_CALLS',
|
|
102293
|
+
/** Ask: answers and reads, as the user, through the read-only session relay. */
|
|
102294
|
+
Assistant = 'ASSISTANT'
|
|
102295
|
+
}
|
|
102296
|
+
|
|
102297
|
+
/** The write-approval flow a Take-action sandbox is asked to run. The service grants it to workspace admins only. */
|
|
102298
|
+
export enum SandboxAssistantWriteApproval {
|
|
102299
|
+
/** The pre-5a confirm-writes flow. */
|
|
102300
|
+
Legacy = 'LEGACY',
|
|
102301
|
+
/** Proposals confirmed with a button (5a). */
|
|
102302
|
+
ProposalV1 = 'PROPOSAL_V1'
|
|
102303
|
+
}
|
|
102304
|
+
|
|
100732
102305
|
/** A tag available for selection (lightweight type for tag picker) */
|
|
100733
102306
|
export type SandboxAvailableTag = {
|
|
100734
102307
|
__typename?: 'SandboxAvailableTag';
|
|
@@ -101025,7 +102598,7 @@ export type SaveAssistantTurnInput = {
|
|
|
101025
102598
|
agentSessionId?: InputMaybe<Scalars['String']['input']>;
|
|
101026
102599
|
/** Conversation to append to. Omit to start a new one. */
|
|
101027
102600
|
conversationId?: InputMaybe<Scalars['ID']['input']>;
|
|
101028
|
-
/** Product that owns this chat, e.g. "bigconsole". */
|
|
102601
|
+
/** Product that owns this chat, e.g. "bigconsole": lowercase letters, digits and hyphens, 2-40 characters, starting with a letter (the v2 rule). Anything else is BAD_USER_INPUT (assistant.errors.invalidHistoryInput) and nothing is written. */
|
|
101029
102602
|
productId: Scalars['String']['input'];
|
|
101030
102603
|
/** What the user asked. */
|
|
101031
102604
|
prompt: Scalars['String']['input'];
|
|
@@ -101039,6 +102612,24 @@ export type SaveDraftInput = {
|
|
|
101039
102612
|
parentMessageId?: InputMaybe<Scalars['ID']['input']>;
|
|
101040
102613
|
};
|
|
101041
102614
|
|
|
102615
|
+
export type SaveMyAssistantHistoryEntriesInput = {
|
|
102616
|
+
clientConversationId: Scalars['ID']['input'];
|
|
102617
|
+
/** TURN / LOCAL_COMMAND: exactly [USER, ASSISTANT]. NOTE: exactly [NOTE]. */
|
|
102618
|
+
entries: Array<AssistantHistoryEntryInput>;
|
|
102619
|
+
kind: AssistantHistoryEntryKind;
|
|
102620
|
+
/** The owning product. A renamed product's spellings (botlit / botmanor) are one history scope. */
|
|
102621
|
+
productId: Scalars['String']['input'];
|
|
102622
|
+
};
|
|
102623
|
+
|
|
102624
|
+
export type SaveMyAssistantHistoryEntriesPayload = {
|
|
102625
|
+
__typename?: 'SaveMyAssistantHistoryEntriesPayload';
|
|
102626
|
+
conversation: AssistantHistoryConversation;
|
|
102627
|
+
/** What was NOT stored: "<entryIndex>.<key>" for a dropped metadata key (unknown, ill-typed, too deep to store, or among the largest when one entry's keys together exceed the 16 KB metadata limit -- a key is dropped, never the turn), and "<entryIndex>.<key>.<path>.pendingWrite" for approval data stripped from inside a kept value. */
|
|
102628
|
+
droppedMetadataKeys: Array<Scalars['String']['output']>;
|
|
102629
|
+
entries: Array<AssistantHistoryEntry>;
|
|
102630
|
+
outcome: AssistantHistorySaveOutcome;
|
|
102631
|
+
};
|
|
102632
|
+
|
|
101042
102633
|
export type SaveNavPreferencesInput = {
|
|
101043
102634
|
activeViewId?: InputMaybe<Scalars['String']['input']>;
|
|
101044
102635
|
/** JSON string: Record<viewId, Record<navItemId, "shown" | "hidden">>. */
|
|
@@ -104239,8 +105830,13 @@ export enum SortOrder {
|
|
|
104239
105830
|
/** A time-boxed iteration within a project that groups work items for focused delivery during a fixed period. */
|
|
104240
105831
|
export type Sprint = {
|
|
104241
105832
|
__typename?: 'Sprint';
|
|
105833
|
+
baselineEndDate?: Maybe<Scalars['DateTime']['output']>;
|
|
105834
|
+
/** The planned start/end in force when the sprint was started: the commitment that "finished on time?" is measured against, even after a later replan. */
|
|
105835
|
+
baselineStartDate?: Maybe<Scalars['DateTime']['output']>;
|
|
104242
105836
|
/** Sprint capacity in story points */
|
|
104243
105837
|
capacity?: Maybe<Scalars['Int']['output']>;
|
|
105838
|
+
/** When the sprint was actually completed. Null if not completed, or completed before 2026-09-26 (unknown). */
|
|
105839
|
+
completedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
104244
105840
|
/** Context information */
|
|
104245
105841
|
context?: Maybe<Scalars['JSON']['output']>;
|
|
104246
105842
|
/** Creation timestamp */
|
|
@@ -104249,7 +105845,7 @@ export type Sprint = {
|
|
|
104249
105845
|
createdBy: Scalars['String']['output'];
|
|
104250
105846
|
/** Soft-delete timestamp */
|
|
104251
105847
|
deletedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
104252
|
-
/**
|
|
105848
|
+
/** PLANNED end. Completing the sprint does not change it; see completedAt. For sprints completed before 2026-09-26 this holds the moment of Complete. */
|
|
104253
105849
|
endDate?: Maybe<Scalars['DateTime']['output']>;
|
|
104254
105850
|
/** Sprint goal description */
|
|
104255
105851
|
goal?: Maybe<Scalars['String']['output']>;
|
|
@@ -104261,21 +105857,29 @@ export type Sprint = {
|
|
|
104261
105857
|
name: Scalars['String']['output'];
|
|
104262
105858
|
/** Actor on whose behalf this was created */
|
|
104263
105859
|
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
105860
|
+
/** Every change to the planned dates, oldest first. Append-only. */
|
|
105861
|
+
planChanges: Array<PlanmagnetSprintPlanChange>;
|
|
104264
105862
|
/** Parent project */
|
|
104265
105863
|
project?: Maybe<PlanmagnetProject>;
|
|
104266
|
-
/** Parent project ID */
|
|
104267
|
-
projectId
|
|
105864
|
+
/** Parent project ID. Set only for a project-scoped sprint — exactly one of projectId/teamId is ever set (BOFF-8044). */
|
|
105865
|
+
projectId?: Maybe<Scalars['String']['output']>;
|
|
104268
105866
|
/** Sort order. Backed by the Prisma `sequenceNumber` column (the only ordering primitive Sprint has) via a field resolver — see sprint.resolvers.ts. Not independently settable; see PlanmagnetCreateSprintInput/ PlanmagnetUpdateSprintInput below. */
|
|
104269
105867
|
sortOrder: Scalars['Int']['output'];
|
|
104270
|
-
/**
|
|
105868
|
+
/** PLANNED start. Starting the sprint does not change it (BOFF-7918); see startedAt for when it actually started. For sprints started before 2026-09-26 this field holds the moment of Start (the plan was overwritten then; it is not reconstructed here). */
|
|
104271
105869
|
startDate?: Maybe<Scalars['DateTime']['output']>;
|
|
105870
|
+
/** When the sprint was actually started. Null if not started — or if it was started before 2026-09-26, when this was not recorded (unknown, not guessed). */
|
|
105871
|
+
startedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
104272
105872
|
/** Current status */
|
|
104273
105873
|
status: SprintStatus;
|
|
105874
|
+
/** Parent team */
|
|
105875
|
+
team?: Maybe<Team>;
|
|
105876
|
+
/** Parent team ID. Set only for a team-scoped sprint (BOFF-8044) — see projectId above. */
|
|
105877
|
+
teamId?: Maybe<Scalars['String']['output']>;
|
|
104274
105878
|
/** Last update timestamp */
|
|
104275
105879
|
updatedAt: Scalars['DateTime']['output'];
|
|
104276
105880
|
/** Actor who last updated this sprint */
|
|
104277
105881
|
updatedBy?: Maybe<Scalars['String']['output']>;
|
|
104278
|
-
/** Sprint velocity
|
|
105882
|
+
/** Sprint velocity: the story points of the sprint's work items that were DONE when the sprint was completed. Null until the sprint is COMPLETED (a running sprint has points done so far, not a velocity). Snapshotted at completion; computed from status history for sprints completed earlier. Same number as planmagnetVelocity. */
|
|
104279
105883
|
velocity?: Maybe<Scalars['Int']['output']>;
|
|
104280
105884
|
/** Work items in this sprint */
|
|
104281
105885
|
workItems: Array<WorkItem>;
|
|
@@ -107381,6 +108985,36 @@ export enum TcpVerificationStatus {
|
|
|
107381
108985
|
Unverified = 'UNVERIFIED'
|
|
107382
108986
|
}
|
|
107383
108987
|
|
|
108988
|
+
/** A cross-project team that can own its own sprints (BOFF-8044). Membership does NOT grant project access — see the @rbac directives below; RBAC is enforced purely by workspace role, identically to every other PlanMagnet resource. */
|
|
108989
|
+
export type Team = {
|
|
108990
|
+
__typename?: 'Team';
|
|
108991
|
+
/** Story-point capacity for this team's own sprints, if set. */
|
|
108992
|
+
capacity?: Maybe<Scalars['Int']['output']>;
|
|
108993
|
+
createdAt: Scalars['DateTime']['output'];
|
|
108994
|
+
createdBy: Scalars['String']['output'];
|
|
108995
|
+
description?: Maybe<Scalars['String']['output']>;
|
|
108996
|
+
id: Scalars['ID']['output'];
|
|
108997
|
+
/** The team's lead — an actor id, or null. Backed by the `ownerId` column; see team.resolvers.ts. */
|
|
108998
|
+
leadId?: Maybe<Scalars['String']['output']>;
|
|
108999
|
+
/** Members of this team. */
|
|
109000
|
+
members: Array<TeamMember>;
|
|
109001
|
+
name: Scalars['String']['output'];
|
|
109002
|
+
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
109003
|
+
/** Live projects on this team. A project soft-deleted elsewhere disappears from this list. */
|
|
109004
|
+
projects: Array<PlanmagnetProject>;
|
|
109005
|
+
updatedAt: Scalars['DateTime']['output'];
|
|
109006
|
+
updatedBy?: Maybe<Scalars['String']['output']>;
|
|
109007
|
+
workspaceId: Scalars['String']['output'];
|
|
109008
|
+
};
|
|
109009
|
+
|
|
109010
|
+
export type TeamMember = {
|
|
109011
|
+
__typename?: 'TeamMember';
|
|
109012
|
+
actorId: Scalars['String']['output'];
|
|
109013
|
+
createdAt: Scalars['DateTime']['output'];
|
|
109014
|
+
id: Scalars['ID']['output'];
|
|
109015
|
+
teamId: Scalars['String']['output'];
|
|
109016
|
+
};
|
|
109017
|
+
|
|
107384
109018
|
/** A single workspace-wide activity-feed entry: a WorkPattern row logged by some member of the workspace, paired with that member's resolved display identity. Backs `teamWorkPatterns` so the Team Activity feed never has to render a raw userId UUID. */
|
|
107385
109019
|
export type TeamWorkPatternEntry = {
|
|
107386
109020
|
__typename?: 'TeamWorkPatternEntry';
|
|
@@ -110413,6 +112047,12 @@ export type Transaction = {
|
|
|
110413
112047
|
id: Scalars['ID']['output'];
|
|
110414
112048
|
};
|
|
110415
112049
|
|
|
112050
|
+
export type TransferInventoryStockInput = {
|
|
112051
|
+
destinationInventoryItemId: Scalars['ID']['input'];
|
|
112052
|
+
quantity: Scalars['Int']['input'];
|
|
112053
|
+
sourceInventoryItemId: Scalars['ID']['input'];
|
|
112054
|
+
};
|
|
112055
|
+
|
|
110416
112056
|
export type TransformRuntimeInfo = {
|
|
110417
112057
|
__typename?: 'TransformRuntimeInfo';
|
|
110418
112058
|
maxInputBytes: Scalars['Int']['output'];
|
|
@@ -112055,9 +113695,13 @@ export type UpdateDashboardEmbedPolicyInput = {
|
|
|
112055
113695
|
allowedParentOrigins?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
112056
113696
|
expiresAt?: InputMaybe<Scalars['DateTime']['input']>;
|
|
112057
113697
|
policyId: Scalars['ID']['input'];
|
|
112058
|
-
/** Publish-time presentation options (BOFF-5735). Read live at view time, so a change reflects on the next render with no re-publish. */
|
|
113698
|
+
/** Publish-time presentation options (BOFF-5735). Read live at view time, so a change reflects on the next render with no re-publish. The "Powered by BigConsole" footer is not an option: every embed always shows it. */
|
|
112059
113699
|
presentationTheme?: InputMaybe<DashboardEmbedTheme>;
|
|
112060
113700
|
sessionTtlSeconds?: InputMaybe<Scalars['Int']['input']>;
|
|
113701
|
+
/**
|
|
113702
|
+
* Ignored. Every embed always shows the "Powered by BigConsole" footer. Accepted only so older clients that still send it keep working.
|
|
113703
|
+
* @deprecated Embeds always show the BigConsole footer; this setting is ignored.
|
|
113704
|
+
*/
|
|
112061
113705
|
showBrandingFooter?: InputMaybe<Scalars['Boolean']['input']>;
|
|
112062
113706
|
showDashboardTitle?: InputMaybe<Scalars['Boolean']['input']>;
|
|
112063
113707
|
};
|
|
@@ -112192,19 +113836,27 @@ export type UpdateDeliveryJobStatusInput = {
|
|
|
112192
113836
|
};
|
|
112193
113837
|
|
|
112194
113838
|
export type UpdateDriverInput = {
|
|
113839
|
+
baseSalary?: InputMaybe<Scalars['Float']['input']>;
|
|
113840
|
+
bonusYtd?: InputMaybe<Scalars['Float']['input']>;
|
|
112195
113841
|
certifications?: InputMaybe<Scalars['JSON']['input']>;
|
|
112196
113842
|
context?: InputMaybe<ContextInput>;
|
|
112197
113843
|
currentLocation?: InputMaybe<Scalars['JSON']['input']>;
|
|
112198
113844
|
email?: InputMaybe<Scalars['String']['input']>;
|
|
112199
113845
|
firstName?: InputMaybe<Scalars['String']['input']>;
|
|
113846
|
+
hireDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
112200
113847
|
lastName?: InputMaybe<Scalars['String']['input']>;
|
|
112201
113848
|
licenseClass?: InputMaybe<Scalars['String']['input']>;
|
|
112202
113849
|
licenseExpiry?: InputMaybe<Scalars['DateTime']['input']>;
|
|
112203
113850
|
licenseNumber?: InputMaybe<Scalars['String']['input']>;
|
|
113851
|
+
notes?: InputMaybe<Scalars['String']['input']>;
|
|
113852
|
+
onLeaveUntil?: InputMaybe<Scalars['DateTime']['input']>;
|
|
113853
|
+
payCurrency?: InputMaybe<Scalars['String']['input']>;
|
|
112204
113854
|
performanceMetrics?: InputMaybe<Scalars['JSON']['input']>;
|
|
112205
113855
|
phone?: InputMaybe<Scalars['String']['input']>;
|
|
112206
113856
|
rating?: InputMaybe<Scalars['Float']['input']>;
|
|
112207
113857
|
status?: InputMaybe<DriverStatus>;
|
|
113858
|
+
terminatedAt?: InputMaybe<Scalars['DateTime']['input']>;
|
|
113859
|
+
terminationReason?: InputMaybe<Scalars['String']['input']>;
|
|
112208
113860
|
userId?: InputMaybe<Scalars['String']['input']>;
|
|
112209
113861
|
vehicleId?: InputMaybe<Scalars['String']['input']>;
|
|
112210
113862
|
vehicleIds?: InputMaybe<Array<Scalars['ID']['input']>>;
|
|
@@ -112973,6 +114625,8 @@ export type UpdateHeadshotmarketingSocialAccountInput = {
|
|
|
112973
114625
|
avatarUrl?: InputMaybe<Scalars['String']['input']>;
|
|
112974
114626
|
deliveryMode?: InputMaybe<HeadshotmarketingSocialAccountDeliveryMode>;
|
|
112975
114627
|
followerCount?: InputMaybe<Scalars['Int']['input']>;
|
|
114628
|
+
/** Rebind this account to an already-created OAuth connection in wspace-integrations-svc (tokens live server-side, never here). When set, it is stored directly and the refresh-from-tokens path is skipped; if raw tokens are also supplied, the explicit connectionId wins. */
|
|
114629
|
+
integrationConnectionId?: InputMaybe<Scalars['ID']['input']>;
|
|
112976
114630
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
112977
114631
|
profileUrl?: InputMaybe<Scalars['String']['input']>;
|
|
112978
114632
|
refreshToken?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -114802,9 +116456,9 @@ export type UpdateVibecontrolsAgentInput = {
|
|
|
114802
116456
|
agentApiKey?: InputMaybe<Scalars['String']['input']>;
|
|
114803
116457
|
/** Custom AI context (markdown) surfaced to AI tools running on this agent */
|
|
114804
116458
|
aiContext?: InputMaybe<Scalars['String']['input']>;
|
|
114805
|
-
/** Auth-svc App clientId
|
|
116459
|
+
/** Auth-svc App clientId. Server-managed like `appId`: a non-null value is rejected with `BAD_USER_INPUT`. */
|
|
114806
116460
|
appClientId?: InputMaybe<Scalars['String']['input']>;
|
|
114807
|
-
/** Linked auth-svc App ID (OAuth2 identity for gateway access) */
|
|
116461
|
+
/** Linked auth-svc App ID (OAuth2 identity for gateway access). Server-managed (BOFF-7920): written only by `setupAgentGatewayAuth`. A non-null value is rejected with `BAD_USER_INPUT`; `null` clears the link ("unlink app"), which only ever removes access. */
|
|
114808
116462
|
appId?: InputMaybe<Scalars['String']['input']>;
|
|
114809
116463
|
capabilities?: InputMaybe<Scalars['JSON']['input']>;
|
|
114810
116464
|
configuration?: InputMaybe<Scalars['JSON']['input']>;
|
|
@@ -115674,6 +117328,7 @@ export enum ValidationMethod {
|
|
|
115674
117328
|
BasicAuth = 'BASIC_AUTH',
|
|
115675
117329
|
BearerToken = 'BEARER_TOKEN',
|
|
115676
117330
|
HmacSha256 = 'HMAC_SHA256',
|
|
117331
|
+
Jwt = 'JWT',
|
|
115677
117332
|
None = 'NONE',
|
|
115678
117333
|
Signature = 'SIGNATURE'
|
|
115679
117334
|
}
|
|
@@ -116198,6 +117853,8 @@ export type VaultUpdatedPayload = {
|
|
|
116198
117853
|
|
|
116199
117854
|
export type VehicleFilterInput = {
|
|
116200
117855
|
driverId?: InputMaybe<Scalars['ID']['input']>;
|
|
117856
|
+
/** Fetch exactly these vehicles by id, regardless of how many. Ignores other filters/pagination when set. */
|
|
117857
|
+
ids?: InputMaybe<Array<Scalars['ID']['input']>>;
|
|
116201
117858
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
116202
117859
|
status?: InputMaybe<VehicleStatus>;
|
|
116203
117860
|
type?: InputMaybe<VehicleType>;
|
|
@@ -117083,9 +118740,9 @@ export type VibecontrolsAgentProfile = {
|
|
|
117083
118740
|
|
|
117084
118741
|
/** Who inside the workspace can see and use an agent (BOFF-6394). An agent is remote code execution on a physical machine, so it carries this second authorization dimension on top of the `@rbac` directives: the gateway answers "may this actor do `update` on `agent` here?", `visibility` answers "…on THIS agent?". Named for the subgraph on purpose: `botlit` already publishes an unrelated `AgentVisibility` enum whose values include `PUBLIC`, and Federation requires an enum used as BOTH input and output to carry identical values in every subgraph that defines it. Sharing the name would break composition of the whole workspaces supergraph. */
|
|
117085
118742
|
export enum VibecontrolsAgentVisibility {
|
|
117086
|
-
/** Only `ownerUserId` can see or use the agent. The default for an agent added by a user. */
|
|
118743
|
+
/** Only `ownerUserId` can see or use the agent. The default for an agent added by a user, or created by an agent on its owner's behalf (mesh deploy). There is no actor-type bypass (BOFF-7920): super-admins and services are held to it like any member, and an agent's own OAuth identity (`app`) only reaches the agent it is plus its owner's other agents. */
|
|
117087
118744
|
Private = 'PRIVATE',
|
|
117088
|
-
/** Every workspace member holding the matching `@rbac` permission can see and use the agent. The pre-BOFF-6394 behaviour, and the default for agents that have no human owner (created by
|
|
118745
|
+
/** Every workspace member holding the matching `@rbac` permission can see and use the agent. The pre-BOFF-6394 behaviour, and the default for agents that have no human owner (created by a `service` actor, or by an agent that is itself ownerless). */
|
|
117089
118746
|
Workspace = 'WORKSPACE'
|
|
117090
118747
|
}
|
|
117091
118748
|
|
|
@@ -119067,10 +120724,14 @@ export type WorkItem = {
|
|
|
119067
120724
|
description?: Maybe<Scalars['String']['output']>;
|
|
119068
120725
|
/** Due date */
|
|
119069
120726
|
dueDate?: Maybe<Scalars['DateTime']['output']>;
|
|
120727
|
+
/** Which due-date bucket this item falls into (OVERDUE, DUE_TODAY, DUE_THIS_WEEK within 7 days, DUE_LATER, or NO_DUE_DATE). Server-computed so the My Work grouping can never disagree between two clients or two requests — see utils/my-work.ts. */
|
|
120728
|
+
dueGroup: PlanmagnetDueGroup;
|
|
119070
120729
|
/** Original time estimate in minutes */
|
|
119071
120730
|
estimateMinutes?: Maybe<Scalars['Int']['output']>;
|
|
119072
120731
|
/** Unique identifier */
|
|
119073
120732
|
id: Scalars['ID']['output'];
|
|
120733
|
+
/** True when dueDate is set and earlier than the start of today (UTC). Open items only in spirit — a DONE/CANCELLED item past its due date still reports true; callers that only care about outstanding overdue work must also check status/category. */
|
|
120734
|
+
isOverdue: Scalars['Boolean']['output'];
|
|
119074
120735
|
/** Human-readable key (e.g. PROJ-123) */
|
|
119075
120736
|
key: Scalars['String']['output'];
|
|
119076
120737
|
/** Labels for categorization */
|
|
@@ -119099,6 +120760,8 @@ export type WorkItem = {
|
|
|
119099
120760
|
sprintId?: Maybe<Scalars['String']['output']>;
|
|
119100
120761
|
/** Current status */
|
|
119101
120762
|
status: WorkItemStatus;
|
|
120763
|
+
/** When it entered its current status (card aging). Null when that moment is unknown: its status was changed by a path that records no history, such as an import */
|
|
120764
|
+
statusSince?: Maybe<Scalars['DateTime']['output']>;
|
|
119102
120765
|
/** Story points estimate */
|
|
119103
120766
|
storyPoints?: Maybe<Scalars['Int']['output']>;
|
|
119104
120767
|
/** Tags for categorization */
|
|
@@ -119128,20 +120791,22 @@ export type WorkItemDependency = {
|
|
|
119128
120791
|
description?: Maybe<Scalars['String']['output']>;
|
|
119129
120792
|
/** Unique identifier */
|
|
119130
120793
|
id: Scalars['ID']['output'];
|
|
120794
|
+
/** Offset applied to the constraint, in minutes. Negative means lead (overlap) rather than lag. The column has always existed as `lagDays`; the SDL never exposed it, so a lagged constraint could not be expressed at all. */
|
|
120795
|
+
lagMinutes?: Maybe<Scalars['Int']['output']>;
|
|
119131
120796
|
/** Arbitrary metadata */
|
|
119132
120797
|
metadata?: Maybe<Scalars['JSON']['output']>;
|
|
119133
120798
|
/** Actor on whose behalf this was created */
|
|
119134
120799
|
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
119135
|
-
/**
|
|
119136
|
-
|
|
119137
|
-
/**
|
|
119138
|
-
|
|
120800
|
+
/** The constraining work item */
|
|
120801
|
+
predecessor?: Maybe<WorkItem>;
|
|
120802
|
+
/** The work item that constrains the other. Renamed from `sourceWorkItemId`: with `type` now purely a scheduling relationship, source/target read as a generic graph edge while predecessor/successor state the actual meaning. */
|
|
120803
|
+
predecessorId: Scalars['String']['output'];
|
|
119139
120804
|
/** Current status */
|
|
119140
120805
|
status: DependencyStatus;
|
|
119141
|
-
/**
|
|
119142
|
-
|
|
119143
|
-
/**
|
|
119144
|
-
|
|
120806
|
+
/** The constrained work item */
|
|
120807
|
+
successor?: Maybe<WorkItem>;
|
|
120808
|
+
/** The work item whose schedule is constrained. Renamed from `targetWorkItemId`. */
|
|
120809
|
+
successorId: Scalars['String']['output'];
|
|
119145
120810
|
/** Type of dependency */
|
|
119146
120811
|
type: DependencyType;
|
|
119147
120812
|
/** Last update timestamp */
|
|
@@ -119185,9 +120850,16 @@ export type WorkItemLink = {
|
|
|
119185
120850
|
workspaceId: Scalars['String']['output'];
|
|
119186
120851
|
};
|
|
119187
120852
|
|
|
120853
|
+
/** How a work item relates to the thing it is linked to. The first six are cross-product verbs: a work item INSPECTS a HealthyBowl sensor, PRODUCES an artifact. The five added in 20260924130000 are the work-item-to-work-item issue-link verbs that used to sit on `WorkItemDependency.type`, where they were indistinguishable from scheduling constraints and dragged semantic links into critical-path maths. For a link between two PlanMagnet work items, use `sourceProduct: "planmagnet"` and `entityType: "WorkItem"`. **None of these relations affect scheduling** — that is `WorkItemDependency` and only `WorkItemDependency`. */
|
|
119188
120854
|
export enum WorkItemLinkRelation {
|
|
119189
120855
|
Affects = 'AFFECTS',
|
|
120856
|
+
/** This work item is blocked by the linked one. Semantic only: it does NOT schedule. */
|
|
120857
|
+
BlockedBy = 'BLOCKED_BY',
|
|
119190
120858
|
Blocks = 'BLOCKS',
|
|
120859
|
+
CausedBy = 'CAUSED_BY',
|
|
120860
|
+
Causes = 'CAUSES',
|
|
120861
|
+
DuplicatedBy = 'DUPLICATED_BY',
|
|
120862
|
+
Duplicates = 'DUPLICATES',
|
|
119191
120863
|
Inspects = 'INSPECTS',
|
|
119192
120864
|
Produces = 'PRODUCES',
|
|
119193
120865
|
RelatedTo = 'RELATED_TO',
|
|
@@ -119346,6 +121018,31 @@ export type WorkerCompleteRunResponse = {
|
|
|
119346
121018
|
totalNodes?: Maybe<Scalars['Int']['output']>;
|
|
119347
121019
|
};
|
|
119348
121020
|
|
|
121021
|
+
/** Input for starting a Sub-workflow node's child run. */
|
|
121022
|
+
export type WorkerCreateChildRunInput = {
|
|
121023
|
+
/** Mapped data handed to the child as its trigger data. */
|
|
121024
|
+
input?: InputMaybe<Scalars['JSON']['input']>;
|
|
121025
|
+
parentNodeId: Scalars['String']['input'];
|
|
121026
|
+
parentRunId: Scalars['ID']['input'];
|
|
121027
|
+
/** Pinned version; omitted resolves the executable one (ACTIVE wins, else newest). */
|
|
121028
|
+
version?: InputMaybe<Scalars['String']['input']>;
|
|
121029
|
+
/** Target workflow, always resolved inside the parent's workspace. */
|
|
121030
|
+
workflowKey: Scalars['String']['input'];
|
|
121031
|
+
};
|
|
121032
|
+
|
|
121033
|
+
/** Result of starting a child run. */
|
|
121034
|
+
export type WorkerCreateChildRunResponse = {
|
|
121035
|
+
__typename?: 'WorkerCreateChildRunResponse';
|
|
121036
|
+
childRunId?: Maybe<Scalars['ID']['output']>;
|
|
121037
|
+
error?: Maybe<Scalars['String']['output']>;
|
|
121038
|
+
/** One of: PARENT_NOT_FOUND, WORKFLOW_NOT_FOUND, DEPTH_EXCEEDED, CYCLE_DETECTED, NO_ENTRY_NODE. */
|
|
121039
|
+
errorCode?: Maybe<Scalars['String']['output']>;
|
|
121040
|
+
success: Scalars['Boolean']['output'];
|
|
121041
|
+
triggerNodeId?: Maybe<Scalars['String']['output']>;
|
|
121042
|
+
version?: Maybe<Scalars['String']['output']>;
|
|
121043
|
+
workflowKey?: Maybe<Scalars['String']['output']>;
|
|
121044
|
+
};
|
|
121045
|
+
|
|
119349
121046
|
/** Input for creating node state */
|
|
119350
121047
|
export type WorkerCreateNodeStateInput = {
|
|
119351
121048
|
context?: InputMaybe<Scalars['JSON']['input']>;
|
|
@@ -119618,6 +121315,7 @@ export type WorkerToolApprovalRequestResponse = {
|
|
|
119618
121315
|
/** Input for updating node state */
|
|
119619
121316
|
export type WorkerUpdateNodeStateInput = {
|
|
119620
121317
|
attemptCount?: InputMaybe<Scalars['Int']['input']>;
|
|
121318
|
+
context?: InputMaybe<Scalars['JSON']['input']>;
|
|
119621
121319
|
duration?: InputMaybe<Scalars['Float']['input']>;
|
|
119622
121320
|
endTime?: InputMaybe<Scalars['DateTime']['input']>;
|
|
119623
121321
|
error?: InputMaybe<Scalars['String']['input']>;
|