@burdenoff/microfe-movethewheels 2026.929.3 → 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 +146 -149
- 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 +9 -2
- 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 +7 -3
- 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 +89 -31
- 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 +13 -3
- 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
|
@@ -3644,6 +3644,94 @@ export type AssistantConversation = {
|
|
|
3644
3644
|
title?: Maybe<Scalars['String']['output']>;
|
|
3645
3645
|
updatedAt: Scalars['DateTime']['output'];
|
|
3646
3646
|
};
|
|
3647
|
+
export type AssistantHistoryChangeConnection = {
|
|
3648
|
+
__typename?: 'AssistantHistoryChangeConnection';
|
|
3649
|
+
edges: Array<AssistantHistoryConversationEdge>;
|
|
3650
|
+
nodes: Array<AssistantHistoryConversation>;
|
|
3651
|
+
pageInfo: PageInfo;
|
|
3652
|
+
/** True when the cursor predates retained tombstones: drop synced state and pull from the start. */
|
|
3653
|
+
resetRequired: Scalars['Boolean']['output'];
|
|
3654
|
+
};
|
|
3655
|
+
export type AssistantHistoryConversation = {
|
|
3656
|
+
__typename?: 'AssistantHistoryConversation';
|
|
3657
|
+
/** The id the client minted; the same on every device. Null = saved before v2 (read-only). */
|
|
3658
|
+
clientConversationId?: Maybe<Scalars['ID']['output']>;
|
|
3659
|
+
createdAt: Scalars['DateTime']['output'];
|
|
3660
|
+
deleted: Scalars['Boolean']['output'];
|
|
3661
|
+
deletedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
3662
|
+
id: Scalars['ID']['output'];
|
|
3663
|
+
lastMessageSeq: Scalars['Int']['output'];
|
|
3664
|
+
legacy: Scalars['Boolean']['output'];
|
|
3665
|
+
/** 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. */
|
|
3666
|
+
productId: Scalars['String']['output'];
|
|
3667
|
+
/** Per-(me, workspace, product) revision of this row's last change. Monotonic in commit order. */
|
|
3668
|
+
revision: Scalars['Int']['output'];
|
|
3669
|
+
/** A label derived from the first prompt. Null once the conversation is deleted: a deleted chat's title is never served. */
|
|
3670
|
+
title?: Maybe<Scalars['String']['output']>;
|
|
3671
|
+
updatedAt: Scalars['DateTime']['output'];
|
|
3672
|
+
};
|
|
3673
|
+
export type AssistantHistoryConversationConnection = {
|
|
3674
|
+
__typename?: 'AssistantHistoryConversationConnection';
|
|
3675
|
+
edges: Array<AssistantHistoryConversationEdge>;
|
|
3676
|
+
nodes: Array<AssistantHistoryConversation>;
|
|
3677
|
+
pageInfo: PageInfo;
|
|
3678
|
+
};
|
|
3679
|
+
export type AssistantHistoryConversationEdge = {
|
|
3680
|
+
__typename?: 'AssistantHistoryConversationEdge';
|
|
3681
|
+
cursor: Scalars['String']['output'];
|
|
3682
|
+
node: AssistantHistoryConversation;
|
|
3683
|
+
};
|
|
3684
|
+
export declare enum AssistantHistoryDeleteOutcome {
|
|
3685
|
+
/** The conversation was already deleted; nothing changed. */
|
|
3686
|
+
AlreadyDeleted = "ALREADY_DELETED",
|
|
3687
|
+
/** A live conversation was deleted. */
|
|
3688
|
+
Deleted = "DELETED",
|
|
3689
|
+
/** No conversation with this legacy (server) id exists in this scope; nothing changed. */
|
|
3690
|
+
NotPresent = "NOT_PRESENT",
|
|
3691
|
+
/** The server had never seen this client id; a tombstone was recorded so a late save cannot create it. */
|
|
3692
|
+
TombstonedUnseen = "TOMBSTONED_UNSEEN"
|
|
3693
|
+
}
|
|
3694
|
+
export type AssistantHistoryEntry = {
|
|
3695
|
+
__typename?: 'AssistantHistoryEntry';
|
|
3696
|
+
/** The client's ISO timestamp, returned exactly as stored (a String, never a Date). */
|
|
3697
|
+
clientCreatedAt?: Maybe<Scalars['String']['output']>;
|
|
3698
|
+
clientMessageId?: Maybe<Scalars['ID']['output']>;
|
|
3699
|
+
content: Scalars['String']['output'];
|
|
3700
|
+
createdAt: Scalars['DateTime']['output'];
|
|
3701
|
+
id: Scalars['ID']['output'];
|
|
3702
|
+
kind?: Maybe<AssistantHistoryEntryKind>;
|
|
3703
|
+
/** Allow-listed client metadata; stored and returned verbatim, never interpreted or executed. */
|
|
3704
|
+
metadata?: Maybe<Scalars['JSON']['output']>;
|
|
3705
|
+
role: AssistantHistoryRole;
|
|
3706
|
+
/** Position in the conversation (1..n). Always set for v2 and backfilled rows. */
|
|
3707
|
+
seq?: Maybe<Scalars['Int']['output']>;
|
|
3708
|
+
};
|
|
3709
|
+
export type AssistantHistoryEntryConnection = {
|
|
3710
|
+
__typename?: 'AssistantHistoryEntryConnection';
|
|
3711
|
+
conversation: AssistantHistoryConversation;
|
|
3712
|
+
edges: Array<AssistantHistoryEntryEdge>;
|
|
3713
|
+
nodes: Array<AssistantHistoryEntry>;
|
|
3714
|
+
pageInfo: PageInfo;
|
|
3715
|
+
};
|
|
3716
|
+
export type AssistantHistoryEntryEdge = {
|
|
3717
|
+
__typename?: 'AssistantHistoryEntryEdge';
|
|
3718
|
+
cursor: Scalars['String']['output'];
|
|
3719
|
+
node: AssistantHistoryEntry;
|
|
3720
|
+
};
|
|
3721
|
+
export type AssistantHistoryEntryInput = {
|
|
3722
|
+
clientCreatedAt?: InputMaybe<Scalars['String']['input']>;
|
|
3723
|
+
clientMessageId: Scalars['ID']['input'];
|
|
3724
|
+
/** Stored as sent, except that U+0000 and an unpaired UTF-16 surrogate (which cannot be stored) become U+FFFD. */
|
|
3725
|
+
content: Scalars['String']['input'];
|
|
3726
|
+
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
3727
|
+
role: AssistantHistoryRole;
|
|
3728
|
+
};
|
|
3729
|
+
/** What a saved call records. Extensible later (e.g. RECORD) without any approval schema. */
|
|
3730
|
+
export declare enum AssistantHistoryEntryKind {
|
|
3731
|
+
LocalCommand = "LOCAL_COMMAND",
|
|
3732
|
+
Note = "NOTE",
|
|
3733
|
+
Turn = "TURN"
|
|
3734
|
+
}
|
|
3647
3735
|
export type AssistantHistoryMessage = {
|
|
3648
3736
|
__typename?: 'AssistantHistoryMessage';
|
|
3649
3737
|
content: Scalars['String']['output'];
|
|
@@ -3651,10 +3739,111 @@ export type AssistantHistoryMessage = {
|
|
|
3651
3739
|
id: Scalars['ID']['output'];
|
|
3652
3740
|
role: AssistantMessageRole;
|
|
3653
3741
|
};
|
|
3742
|
+
export declare enum AssistantHistoryRole {
|
|
3743
|
+
Assistant = "ASSISTANT",
|
|
3744
|
+
Note = "NOTE",
|
|
3745
|
+
User = "USER"
|
|
3746
|
+
}
|
|
3747
|
+
export declare enum AssistantHistorySaveOutcome {
|
|
3748
|
+
/** Every entry was already stored; nothing was written. */
|
|
3749
|
+
AlreadyApplied = "ALREADY_APPLIED",
|
|
3750
|
+
/** The missing entries were written. */
|
|
3751
|
+
Applied = "APPLIED",
|
|
3752
|
+
/** The conversation is deleted (or tombstoned); nothing was written. */
|
|
3753
|
+
ConversationDeleted = "CONVERSATION_DELETED"
|
|
3754
|
+
}
|
|
3654
3755
|
export declare enum AssistantMessageRole {
|
|
3655
3756
|
Assistant = "ASSISTANT",
|
|
3656
3757
|
User = "USER"
|
|
3657
3758
|
}
|
|
3759
|
+
/** The gateway a relayed document is sent to. */
|
|
3760
|
+
export declare enum AssistantRelayGateway {
|
|
3761
|
+
/** The global public gateway (/global/graphql). */
|
|
3762
|
+
Global = "GLOBAL",
|
|
3763
|
+
/** The workspace public gateway (/workspaces/graphql). */
|
|
3764
|
+
Workspace = "WORKSPACE"
|
|
3765
|
+
}
|
|
3766
|
+
/** A GraphQL mutation for the relay to run as the session's owner (admin Take-action sessions only). */
|
|
3767
|
+
export type AssistantSessionExecuteInput = {
|
|
3768
|
+
/** The session capability (asc1.<sandboxId>.<mac>) the sandbox proxy delivered. */
|
|
3769
|
+
capability: Scalars['String']['input'];
|
|
3770
|
+
gateway: AssistantRelayGateway;
|
|
3771
|
+
/** Sent on as x-idempotency-key: 1 to 64 of A-Z, a-z, 0-9, _ and -. */
|
|
3772
|
+
idempotencyKey?: InputMaybe<Scalars['String']['input']>;
|
|
3773
|
+
/** When given, the name of the document's one operation. */
|
|
3774
|
+
operationName?: InputMaybe<Scalars['String']['input']>;
|
|
3775
|
+
/** One GraphQL operation, a mutation whose root selections are plain fields without directives, at most 64 KiB. */
|
|
3776
|
+
query: Scalars['String']['input'];
|
|
3777
|
+
/** A JSON object, at most 256 KiB serialized. */
|
|
3778
|
+
variables?: InputMaybe<Scalars['JSONObject']['input']>;
|
|
3779
|
+
};
|
|
3780
|
+
/** A GraphQL query for the relay to run as the session's owner. */
|
|
3781
|
+
export type AssistantSessionRelayInput = {
|
|
3782
|
+
/** The session capability (asc1.<sandboxId>.<mac>) the sandbox proxy delivered. */
|
|
3783
|
+
capability: Scalars['String']['input'];
|
|
3784
|
+
gateway: AssistantRelayGateway;
|
|
3785
|
+
/** When given, the name of the document's one operation. */
|
|
3786
|
+
operationName?: InputMaybe<Scalars['String']['input']>;
|
|
3787
|
+
/** One GraphQL operation, a query, at most 64 KiB. */
|
|
3788
|
+
query: Scalars['String']['input'];
|
|
3789
|
+
/** A JSON object, at most 256 KiB serialized. */
|
|
3790
|
+
variables?: InputMaybe<Scalars['JSONObject']['input']>;
|
|
3791
|
+
};
|
|
3792
|
+
/** What the relay did. */
|
|
3793
|
+
export type AssistantSessionRelayResult = {
|
|
3794
|
+
__typename?: 'AssistantSessionRelayResult';
|
|
3795
|
+
/** The gateway's JSON response body when ok; otherwise { reason? }. */
|
|
3796
|
+
body?: Maybe<Scalars['JSON']['output']>;
|
|
3797
|
+
/** Null when ok; otherwise why nothing (or, for UPSTREAM_*, nothing usable) came back. */
|
|
3798
|
+
code?: Maybe<Scalars['String']['output']>;
|
|
3799
|
+
/** The gateway's HTTP status when ok; otherwise the status the code maps to. */
|
|
3800
|
+
httpStatus: Scalars['Int']['output'];
|
|
3801
|
+
/** True when the document was sent and the gateway answered; body is then the gateway's response, unmasked. */
|
|
3802
|
+
ok: Scalars['Boolean']['output'];
|
|
3803
|
+
};
|
|
3804
|
+
/** 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. */
|
|
3805
|
+
export type AssistantTurnTimingInput = {
|
|
3806
|
+
/** How the question was asked: chat or voice. */
|
|
3807
|
+
channel: Scalars['String']['input'];
|
|
3808
|
+
/** The turn ended. */
|
|
3809
|
+
completeMs: Scalars['Int']['input'];
|
|
3810
|
+
/** The reply's first audio played. Counted only on answered voice turns, and only when it began within 120s of the turn ending. */
|
|
3811
|
+
firstAudioMs?: InputMaybe<Scalars['Int']['input']>;
|
|
3812
|
+
/** The first answer text was shown. Counted only when the outcome is answered. */
|
|
3813
|
+
firstUsefulOutputMs?: InputMaybe<Scalars['Int']['input']>;
|
|
3814
|
+
/** The first output was shown, a tool line included. Loading copy never counts. */
|
|
3815
|
+
firstVisibleOutputMs?: InputMaybe<Scalars['Int']['input']>;
|
|
3816
|
+
/** The assistant mode the turn ran in. */
|
|
3817
|
+
mode: Scalars['String']['input'];
|
|
3818
|
+
/** The model accepted the prompt. */
|
|
3819
|
+
modelStartMs?: InputMaybe<Scalars['Int']['input']>;
|
|
3820
|
+
/** 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). */
|
|
3821
|
+
outcome: Scalars['String']['input'];
|
|
3822
|
+
/** 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. */
|
|
3823
|
+
prewarm?: InputMaybe<Scalars['String']['input']>;
|
|
3824
|
+
/** The product whose assistant ran the turn. */
|
|
3825
|
+
product: Scalars['String']['input'];
|
|
3826
|
+
/** The turn was retried on a second runtime after its first attempt failed. */
|
|
3827
|
+
retried?: InputMaybe<Scalars['Boolean']['input']>;
|
|
3828
|
+
/** 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. */
|
|
3829
|
+
runtime?: InputMaybe<Scalars['String']['input']>;
|
|
3830
|
+
/** A runtime (sandbox and session) was ready to take the prompt. */
|
|
3831
|
+
runtimeReadyMs?: InputMaybe<Scalars['Int']['input']>;
|
|
3832
|
+
};
|
|
3833
|
+
/** What the service did with a report. */
|
|
3834
|
+
export type AssistantTurnTimingsReceipt = {
|
|
3835
|
+
__typename?: 'AssistantTurnTimingsReceipt';
|
|
3836
|
+
/** Turns recorded. */
|
|
3837
|
+
accepted: Scalars['Int']['output'];
|
|
3838
|
+
/** This nonce was already recorded; nothing was recorded again. */
|
|
3839
|
+
duplicate: Scalars['Boolean']['output'];
|
|
3840
|
+
/** False when collection is switched off; the client should stop reporting for this page load. */
|
|
3841
|
+
enabled: Scalars['Boolean']['output'];
|
|
3842
|
+
/** The caller is over its reporting budget; nothing was recorded. */
|
|
3843
|
+
rateLimited: Scalars['Boolean']['output'];
|
|
3844
|
+
/** 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). */
|
|
3845
|
+
rejected: Scalars['Int']['output'];
|
|
3846
|
+
};
|
|
3658
3847
|
export type AthAddDrillInput = {
|
|
3659
3848
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
3660
3849
|
durationSec?: InputMaybe<Scalars['Int']['input']>;
|
|
@@ -4824,6 +5013,8 @@ export type Board = {
|
|
|
4824
5013
|
projectId: Scalars['String']['output'];
|
|
4825
5014
|
/** Board type */
|
|
4826
5015
|
type: BoardType;
|
|
5016
|
+
/** 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 */
|
|
5017
|
+
unplacedCount: Scalars['Int']['output'];
|
|
4827
5018
|
/** Last update timestamp */
|
|
4828
5019
|
updatedAt: Scalars['DateTime']['output'];
|
|
4829
5020
|
/** Actor who last updated this board */
|
|
@@ -4836,6 +5027,8 @@ export type BoardColumn = {
|
|
|
4836
5027
|
__typename?: 'BoardColumn';
|
|
4837
5028
|
/** Parent board ID */
|
|
4838
5029
|
boardId: Scalars['String']['output'];
|
|
5030
|
+
/** 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. */
|
|
5031
|
+
cards: PlanmagnetWorkItemList;
|
|
4839
5032
|
/** Creation timestamp */
|
|
4840
5033
|
createdAt: Scalars['DateTime']['output'];
|
|
4841
5034
|
/** Unique identifier */
|
|
@@ -4855,10 +5048,17 @@ export type BoardColumn = {
|
|
|
4855
5048
|
/** Work-in-progress limit (0 = unlimited) */
|
|
4856
5049
|
wipLimit?: Maybe<Scalars['Int']['output']>;
|
|
4857
5050
|
};
|
|
5051
|
+
/** A column within a board representing a workflow stage. */
|
|
5052
|
+
export type BoardColumnCardsArgs = {
|
|
5053
|
+
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
5054
|
+
};
|
|
4858
5055
|
export declare enum BoardColumnType {
|
|
5056
|
+
Backlog = "BACKLOG",
|
|
4859
5057
|
Custom = "CUSTOM",
|
|
4860
5058
|
Done = "DONE",
|
|
4861
5059
|
InProgress = "IN_PROGRESS",
|
|
5060
|
+
Review = "REVIEW",
|
|
5061
|
+
Testing = "TESTING",
|
|
4862
5062
|
Todo = "TODO"
|
|
4863
5063
|
}
|
|
4864
5064
|
export declare enum BoardType {
|
|
@@ -10790,6 +10990,7 @@ export type ConversationMembership = {
|
|
|
10790
10990
|
createdAt: Scalars['DateTime']['output'];
|
|
10791
10991
|
customAvatar?: Maybe<Scalars['String']['output']>;
|
|
10792
10992
|
customTitle?: Maybe<Scalars['String']['output']>;
|
|
10993
|
+
displayName: Scalars['String']['output'];
|
|
10793
10994
|
id: Scalars['ID']['output'];
|
|
10794
10995
|
invitedBy?: Maybe<Scalars['ID']['output']>;
|
|
10795
10996
|
isMuted: Scalars['Boolean']['output'];
|
|
@@ -13130,9 +13331,13 @@ export type CreateDashboardEmbedPolicyInput = {
|
|
|
13130
13331
|
allowedParentOrigins: Array<Scalars['String']['input']>;
|
|
13131
13332
|
dashboardId: Scalars['ID']['input'];
|
|
13132
13333
|
expiresAt?: InputMaybe<Scalars['DateTime']['input']>;
|
|
13133
|
-
/** Publish-time presentation options (BOFF-5735). Omitted fields take the defaults: LIGHT theme, no title header
|
|
13334
|
+
/** 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. */
|
|
13134
13335
|
presentationTheme?: InputMaybe<DashboardEmbedTheme>;
|
|
13135
13336
|
sessionTtlSeconds?: InputMaybe<Scalars['Int']['input']>;
|
|
13337
|
+
/**
|
|
13338
|
+
* Ignored. Every embed always shows the "Powered by BigConsole" footer. Accepted only so older clients that still send it keep working.
|
|
13339
|
+
* @deprecated Embeds always show the BigConsole footer; this setting is ignored.
|
|
13340
|
+
*/
|
|
13136
13341
|
showBrandingFooter?: InputMaybe<Scalars['Boolean']['input']>;
|
|
13137
13342
|
showDashboardTitle?: InputMaybe<Scalars['Boolean']['input']>;
|
|
13138
13343
|
};
|
|
@@ -13279,16 +13484,21 @@ export type CreateDisposableWorkspaceInput = {
|
|
|
13279
13484
|
type?: InputMaybe<WorkspaceType>;
|
|
13280
13485
|
};
|
|
13281
13486
|
export type CreateDriverInput = {
|
|
13487
|
+
baseSalary?: InputMaybe<Scalars['Float']['input']>;
|
|
13488
|
+
bonusYtd?: InputMaybe<Scalars['Float']['input']>;
|
|
13282
13489
|
certifications?: InputMaybe<Scalars['JSON']['input']>;
|
|
13283
13490
|
context?: InputMaybe<ContextInput>;
|
|
13284
13491
|
currentLocation?: InputMaybe<Scalars['JSON']['input']>;
|
|
13285
13492
|
email?: InputMaybe<Scalars['String']['input']>;
|
|
13286
13493
|
employeeId: Scalars['String']['input'];
|
|
13287
13494
|
firstName: Scalars['String']['input'];
|
|
13495
|
+
hireDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
13288
13496
|
lastName: Scalars['String']['input'];
|
|
13289
13497
|
licenseClass?: InputMaybe<Scalars['String']['input']>;
|
|
13290
13498
|
licenseExpiry?: InputMaybe<Scalars['DateTime']['input']>;
|
|
13291
13499
|
licenseNumber?: InputMaybe<Scalars['String']['input']>;
|
|
13500
|
+
notes?: InputMaybe<Scalars['String']['input']>;
|
|
13501
|
+
payCurrency?: InputMaybe<Scalars['String']['input']>;
|
|
13292
13502
|
performanceMetrics?: InputMaybe<Scalars['JSON']['input']>;
|
|
13293
13503
|
phone?: InputMaybe<Scalars['String']['input']>;
|
|
13294
13504
|
rating?: InputMaybe<Scalars['Float']['input']>;
|
|
@@ -14193,6 +14403,8 @@ export type CreateHeadshotmarketingSocialAccountInput = {
|
|
|
14193
14403
|
/** When set to WEBHOOK, publish/schedule perform a real HTTP POST to webhookUrl. */
|
|
14194
14404
|
deliveryMode?: InputMaybe<HeadshotmarketingSocialAccountDeliveryMode>;
|
|
14195
14405
|
followerCount?: InputMaybe<Scalars['Int']['input']>;
|
|
14406
|
+
/** 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. */
|
|
14407
|
+
integrationConnectionId?: InputMaybe<Scalars['ID']['input']>;
|
|
14196
14408
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
14197
14409
|
platform: HeadshotmarketingSocialPlatform;
|
|
14198
14410
|
platformAccountId: Scalars['String']['input'];
|
|
@@ -16011,9 +16223,9 @@ export type CreateVibeInput = {
|
|
|
16011
16223
|
type: VibeType;
|
|
16012
16224
|
};
|
|
16013
16225
|
export type CreateVibecontrolsAgentInput = {
|
|
16014
|
-
/** Auth-svc App clientId
|
|
16226
|
+
/** Auth-svc App clientId. Server-managed like `appId`: a non-null value is rejected with `BAD_USER_INPUT`. */
|
|
16015
16227
|
appClientId?: InputMaybe<Scalars['String']['input']>;
|
|
16016
|
-
/** Linked auth-svc App ID (OAuth2 identity for gateway access) */
|
|
16228
|
+
/** 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. */
|
|
16017
16229
|
appId?: InputMaybe<Scalars['String']['input']>;
|
|
16018
16230
|
architecture: Scalars['String']['input'];
|
|
16019
16231
|
configuration?: InputMaybe<Scalars['JSON']['input']>;
|
|
@@ -17434,6 +17646,10 @@ export type DashboardEmbedPolicy = {
|
|
|
17434
17646
|
presentationTheme: DashboardEmbedTheme;
|
|
17435
17647
|
revokedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
17436
17648
|
sessionTtlSeconds: Scalars['Int']['output'];
|
|
17649
|
+
/**
|
|
17650
|
+
* 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.
|
|
17651
|
+
* @deprecated Embeds always show the BigConsole footer; this setting is ignored.
|
|
17652
|
+
*/
|
|
17437
17653
|
showBrandingFooter: Scalars['Boolean']['output'];
|
|
17438
17654
|
showDashboardTitle: Scalars['Boolean']['output'];
|
|
17439
17655
|
status: DashboardEmbedPolicyStatus;
|
|
@@ -18446,6 +18662,11 @@ export type DeleteMessagePayload = {
|
|
|
18446
18662
|
messageId: Scalars['ID']['output'];
|
|
18447
18663
|
success: Scalars['Boolean']['output'];
|
|
18448
18664
|
};
|
|
18665
|
+
export type DeleteMyAssistantConversationPayload = {
|
|
18666
|
+
__typename?: 'DeleteMyAssistantConversationPayload';
|
|
18667
|
+
conversation?: Maybe<AssistantHistoryConversation>;
|
|
18668
|
+
outcome: AssistantHistoryDeleteOutcome;
|
|
18669
|
+
};
|
|
18449
18670
|
export declare enum DeliveryChannelType {
|
|
18450
18671
|
Email = "EMAIL",
|
|
18451
18672
|
Slack = "SLACK",
|
|
@@ -18547,14 +18768,16 @@ export type DependencyTriggeredUpdate = {
|
|
|
18547
18768
|
timestamp: Scalars['DateTime']['output'];
|
|
18548
18769
|
triggeredBy: Scalars['ID']['output'];
|
|
18549
18770
|
};
|
|
18771
|
+
/** 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. */
|
|
18550
18772
|
export declare enum DependencyType {
|
|
18551
|
-
|
|
18552
|
-
|
|
18553
|
-
|
|
18554
|
-
|
|
18555
|
-
|
|
18556
|
-
|
|
18557
|
-
|
|
18773
|
+
/** The successor finishes after the predecessor finishes. */
|
|
18774
|
+
FinishToFinish = "FINISH_TO_FINISH",
|
|
18775
|
+
/** The successor starts after the predecessor finishes. The usual case. */
|
|
18776
|
+
FinishToStart = "FINISH_TO_START",
|
|
18777
|
+
/** The successor finishes after the predecessor starts. Rare. */
|
|
18778
|
+
StartToFinish = "START_TO_FINISH",
|
|
18779
|
+
/** The successor starts after the predecessor starts. */
|
|
18780
|
+
StartToStart = "START_TO_START"
|
|
18558
18781
|
}
|
|
18559
18782
|
export declare enum DeploymentEnvironment {
|
|
18560
18783
|
Development = "DEVELOPMENT",
|
|
@@ -21262,6 +21485,34 @@ export type ExecutePipelineInput = {
|
|
|
21262
21485
|
inputData?: InputMaybe<Scalars['JSON']['input']>;
|
|
21263
21486
|
pipelineId: Scalars['ID']['input'];
|
|
21264
21487
|
};
|
|
21488
|
+
/** 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. */
|
|
21489
|
+
export type ExecuteStepInput = {
|
|
21490
|
+
nodeId: Scalars['String']['input'];
|
|
21491
|
+
sourceRunId?: InputMaybe<Scalars['ID']['input']>;
|
|
21492
|
+
version: Scalars['String']['input'];
|
|
21493
|
+
workflowKey: Scalars['String']['input'];
|
|
21494
|
+
};
|
|
21495
|
+
/** 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. */
|
|
21496
|
+
export type ExecuteStepPlan = {
|
|
21497
|
+
__typename?: 'ExecuteStepPlan';
|
|
21498
|
+
blockers: Array<Scalars['String']['output']>;
|
|
21499
|
+
executeNodeIds: Array<Scalars['String']['output']>;
|
|
21500
|
+
initialNodeIds: Array<Scalars['String']['output']>;
|
|
21501
|
+
pinnedNodeIds: Array<Scalars['String']['output']>;
|
|
21502
|
+
reusedNodeIds: Array<Scalars['String']['output']>;
|
|
21503
|
+
sourceRunId?: Maybe<Scalars['ID']['output']>;
|
|
21504
|
+
targetNodeId: Scalars['String']['output'];
|
|
21505
|
+
};
|
|
21506
|
+
/** 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. */
|
|
21507
|
+
export type ExecuteStepResponse = {
|
|
21508
|
+
__typename?: 'ExecuteStepResponse';
|
|
21509
|
+
plan: ExecuteStepPlan;
|
|
21510
|
+
runId: Scalars['ID']['output'];
|
|
21511
|
+
status: Scalars['String']['output'];
|
|
21512
|
+
triggerNodeId: Scalars['String']['output'];
|
|
21513
|
+
version: Scalars['String']['output'];
|
|
21514
|
+
workflowKey: Scalars['String']['output'];
|
|
21515
|
+
};
|
|
21265
21516
|
export type ExecuteSyncResult = {
|
|
21266
21517
|
__typename?: 'ExecuteSyncResult';
|
|
21267
21518
|
eventsAdded?: Maybe<Scalars['Int']['output']>;
|
|
@@ -21908,7 +22159,7 @@ export type FarmInsight = {
|
|
|
21908
22159
|
/** A product feature request capturing ideas, customer feedback, and implementation priority. */
|
|
21909
22160
|
export type FeatureRequest = {
|
|
21910
22161
|
__typename?: 'FeatureRequest';
|
|
21911
|
-
/** Business value
|
|
22162
|
+
/** Business value score, a whole number from 0 to 100 */
|
|
21912
22163
|
businessValue?: Maybe<Scalars['Int']['output']>;
|
|
21913
22164
|
/** Competitors offering this feature */
|
|
21914
22165
|
competitors: Array<Competitor>;
|
|
@@ -21918,10 +22169,16 @@ export type FeatureRequest = {
|
|
|
21918
22169
|
createdAt: Scalars['DateTime']['output'];
|
|
21919
22170
|
/** Actor who created this request */
|
|
21920
22171
|
createdBy: Scalars['String']['output'];
|
|
22172
|
+
/** Why it was declined (set by planmagnetDeclineFeatureRequest) */
|
|
22173
|
+
declineReason?: Maybe<Scalars['String']['output']>;
|
|
21921
22174
|
/** Soft-delete timestamp */
|
|
21922
22175
|
deletedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
21923
22176
|
/** Detailed description */
|
|
21924
22177
|
description?: Maybe<Scalars['String']['output']>;
|
|
22178
|
+
/** The original this request was merged into, when it still exists */
|
|
22179
|
+
duplicateOf?: Maybe<FeatureRequest>;
|
|
22180
|
+
/** The original this request was merged into (status DUPLICATE) */
|
|
22181
|
+
duplicateOfId?: Maybe<Scalars['String']['output']>;
|
|
21925
22182
|
/** Effort estimate (T-shirt: XS, S, M, L, XL) */
|
|
21926
22183
|
effortEstimate?: Maybe<Scalars['String']['output']>;
|
|
21927
22184
|
/** Unique identifier */
|
|
@@ -21932,8 +22189,14 @@ export type FeatureRequest = {
|
|
|
21932
22189
|
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
21933
22190
|
/** Priority score (computed from votes and business value) */
|
|
21934
22191
|
priorityScore?: Maybe<Scalars['Float']['output']>;
|
|
22192
|
+
/** The linked Product, when set. */
|
|
22193
|
+
product?: Maybe<Product>;
|
|
22194
|
+
/** Linked strategic Product (BOFF-8045). Null when never attached. */
|
|
22195
|
+
productId?: Maybe<Scalars['String']['output']>;
|
|
21935
22196
|
/** Parent project ID */
|
|
21936
22197
|
projectId?: Maybe<Scalars['String']['output']>;
|
|
22198
|
+
/** Hidden from the triage queue until this moment (set by planmagnetSnoozeFeatureRequest); still SUBMITTED */
|
|
22199
|
+
snoozedUntil?: Maybe<Scalars['DateTime']['output']>;
|
|
21937
22200
|
/** Current status */
|
|
21938
22201
|
status: FeatureRequestStatus;
|
|
21939
22202
|
/** Submitter actor ID */
|
|
@@ -21942,12 +22205,18 @@ export type FeatureRequest = {
|
|
|
21942
22205
|
tags: Array<Scalars['String']['output']>;
|
|
21943
22206
|
/** Feature title */
|
|
21944
22207
|
title: Scalars['String']['output'];
|
|
22208
|
+
/** When accept, decline or merge decided this request */
|
|
22209
|
+
triagedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
22210
|
+
/** Who accepted, declined or merged this request */
|
|
22211
|
+
triagedBy?: Maybe<Scalars['String']['output']>;
|
|
21945
22212
|
/** Last update timestamp */
|
|
21946
22213
|
updatedAt: Scalars['DateTime']['output'];
|
|
21947
22214
|
/** Actor who last updated this request */
|
|
21948
22215
|
updatedBy?: Maybe<Scalars['String']['output']>;
|
|
21949
22216
|
/** Total vote count */
|
|
21950
22217
|
voteCount: Scalars['Int']['output'];
|
|
22218
|
+
/** Rank by votes among the workspace's live requests (1 = most votes; ties share a rank) */
|
|
22219
|
+
voteRank: Scalars['Int']['output'];
|
|
21951
22220
|
/** Votes on this feature */
|
|
21952
22221
|
votes: Array<FeatureVote>;
|
|
21953
22222
|
/** Linked work item ID */
|
|
@@ -28796,6 +29065,8 @@ export type HeadshotmarketingAdPlatformConnection = {
|
|
|
28796
29065
|
__typename?: 'HeadshotmarketingAdPlatformConnection';
|
|
28797
29066
|
createdAt: Scalars['DateTime']['output'];
|
|
28798
29067
|
id: Scalars['ID']['output'];
|
|
29068
|
+
/** 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. */
|
|
29069
|
+
integrationConnectionId?: Maybe<Scalars['String']['output']>;
|
|
28799
29070
|
metadata?: Maybe<Scalars['JSON']['output']>;
|
|
28800
29071
|
mode: HeadshotmarketingAdConnectionMode;
|
|
28801
29072
|
platform: HeadshotmarketingAdPlatform;
|
|
@@ -28931,9 +29202,11 @@ export type HeadshotmarketingAttributionCredit = {
|
|
|
28931
29202
|
};
|
|
28932
29203
|
export declare enum HeadshotmarketingAttributionModel {
|
|
28933
29204
|
FirstTouch = "FIRST_TOUCH",
|
|
28934
|
-
Linear = "LINEAR"
|
|
29205
|
+
Linear = "LINEAR",
|
|
29206
|
+
PositionBased = "POSITION_BASED",
|
|
29207
|
+
TimeDecay = "TIME_DECAY"
|
|
28935
29208
|
}
|
|
28936
|
-
/** A deterministic attribution report for one conversion event (a WON deal or a CONVERTED lead), showing the same touchpoint history split under
|
|
29209
|
+
/** 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. */
|
|
28937
29210
|
export type HeadshotmarketingAttributionReport = {
|
|
28938
29211
|
__typename?: 'HeadshotmarketingAttributionReport';
|
|
28939
29212
|
contactId?: Maybe<Scalars['ID']['output']>;
|
|
@@ -28943,6 +29216,12 @@ export type HeadshotmarketingAttributionReport = {
|
|
|
28943
29216
|
convertedAt: Scalars['DateTime']['output'];
|
|
28944
29217
|
firstTouch: HeadshotmarketingAttributionSplit;
|
|
28945
29218
|
linear: HeadshotmarketingAttributionSplit;
|
|
29219
|
+
/** U-shaped split: 40% first touch, 40% last touch, 20% shared across the middle. */
|
|
29220
|
+
positionBased: HeadshotmarketingAttributionSplit;
|
|
29221
|
+
/** Exponential recency-weighted split (weight = 0.5 ^ (daysBefore / halfLife)). */
|
|
29222
|
+
timeDecay: HeadshotmarketingAttributionSplit;
|
|
29223
|
+
/** Half-life in days used to compute the time-decay split (default 7). */
|
|
29224
|
+
timeDecayHalfLifeDays: Scalars['Float']['output'];
|
|
28946
29225
|
touchpointCount: Scalars['Int']['output'];
|
|
28947
29226
|
};
|
|
28948
29227
|
/** The full credit split for one attribution model across every touchpoint that preceded the conversion. */
|
|
@@ -29452,9 +29731,15 @@ export type HeadshotmarketingCreateAiToolInput = {
|
|
|
29452
29731
|
provider: Scalars['String']['input'];
|
|
29453
29732
|
};
|
|
29454
29733
|
export type HeadshotmarketingCreateAdPlatformConnectionInput = {
|
|
29734
|
+
/** 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. */
|
|
29735
|
+
accessToken?: InputMaybe<Scalars['String']['input']>;
|
|
29736
|
+
/** 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. */
|
|
29737
|
+
integrationConnectionId?: InputMaybe<Scalars['ID']['input']>;
|
|
29455
29738
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
29456
29739
|
mode?: InputMaybe<HeadshotmarketingAdConnectionMode>;
|
|
29457
29740
|
platform: HeadshotmarketingAdPlatform;
|
|
29741
|
+
refreshToken?: InputMaybe<Scalars['String']['input']>;
|
|
29742
|
+
tokenExpiresAt?: InputMaybe<Scalars['DateTime']['input']>;
|
|
29458
29743
|
webhookUrl?: InputMaybe<Scalars['String']['input']>;
|
|
29459
29744
|
};
|
|
29460
29745
|
export type HeadshotmarketingCreateAutomationWorkflowInput = {
|
|
@@ -30295,6 +30580,54 @@ export type HeadshotmarketingPipelineStageOverview = {
|
|
|
30295
30580
|
stageName: Scalars['String']['output'];
|
|
30296
30581
|
totalValue: Scalars['Float']['output'];
|
|
30297
30582
|
};
|
|
30583
|
+
/** 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. */
|
|
30584
|
+
export type HeadshotmarketingPublicLandingPage = {
|
|
30585
|
+
__typename?: 'HeadshotmarketingPublicLandingPage';
|
|
30586
|
+
/** Author-provided custom CSS injected when rendering the page */
|
|
30587
|
+
customCss?: Maybe<Scalars['String']['output']>;
|
|
30588
|
+
/** Author-provided custom JS injected when rendering the page */
|
|
30589
|
+
customJs?: Maybe<Scalars['String']['output']>;
|
|
30590
|
+
/** Optional page description / meta description fallback */
|
|
30591
|
+
description?: Maybe<Scalars['String']['output']>;
|
|
30592
|
+
/** Favicon URL */
|
|
30593
|
+
faviconUrl?: Maybe<Scalars['String']['output']>;
|
|
30594
|
+
/** Open Graph image URL */
|
|
30595
|
+
ogImageUrl?: Maybe<Scalars['String']['output']>;
|
|
30596
|
+
/** When the page was published */
|
|
30597
|
+
publishedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
30598
|
+
/** Ordered, visible sections that make up the page body */
|
|
30599
|
+
sections: Array<HeadshotmarketingPublicLandingPageSection>;
|
|
30600
|
+
/** SEO meta description */
|
|
30601
|
+
seoDescription?: Maybe<Scalars['String']['output']>;
|
|
30602
|
+
/** SEO <title> override */
|
|
30603
|
+
seoTitle?: Maybe<Scalars['String']['output']>;
|
|
30604
|
+
/** URL slug the page is published under */
|
|
30605
|
+
slug: Scalars['String']['output'];
|
|
30606
|
+
/** Page title (used for the document/window title) */
|
|
30607
|
+
title: Scalars['String']['output'];
|
|
30608
|
+
};
|
|
30609
|
+
/** A single visible section of a published landing page, for the public renderer. Omits workspace-internal fields (workspaceId, landingPageId, metadata). */
|
|
30610
|
+
export type HeadshotmarketingPublicLandingPageSection = {
|
|
30611
|
+
__typename?: 'HeadshotmarketingPublicLandingPageSection';
|
|
30612
|
+
/** Background color */
|
|
30613
|
+
backgroundColor?: Maybe<Scalars['String']['output']>;
|
|
30614
|
+
/** Background image URL */
|
|
30615
|
+
backgroundImageUrl?: Maybe<Scalars['String']['output']>;
|
|
30616
|
+
/** Type-specific content configuration */
|
|
30617
|
+
content?: Maybe<Scalars['JSON']['output']>;
|
|
30618
|
+
/** Unique identifier (stable key for the renderer) */
|
|
30619
|
+
id: Scalars['ID']['output'];
|
|
30620
|
+
/** Presentation settings */
|
|
30621
|
+
settings?: Maybe<Scalars['JSON']['output']>;
|
|
30622
|
+
/** Position of the section within the page (ascending) */
|
|
30623
|
+
sortOrder: Scalars['Int']['output'];
|
|
30624
|
+
/** Section subtitle */
|
|
30625
|
+
subtitle?: Maybe<Scalars['String']['output']>;
|
|
30626
|
+
/** Section title */
|
|
30627
|
+
title?: Maybe<Scalars['String']['output']>;
|
|
30628
|
+
/** Section type (HERO, FEATURES, CTA, …) */
|
|
30629
|
+
type: HeadshotmarketingLandingPageSectionType;
|
|
30630
|
+
};
|
|
30298
30631
|
export type HeadshotmarketingRecordAdMetricsSnapshotInput = {
|
|
30299
30632
|
adCampaignId: Scalars['ID']['input'];
|
|
30300
30633
|
clicks?: InputMaybe<Scalars['Int']['input']>;
|
|
@@ -30357,6 +30690,8 @@ export type HeadshotmarketingSeoAudit = {
|
|
|
30357
30690
|
metadata?: Maybe<Scalars['JSON']['output']>;
|
|
30358
30691
|
overallScore?: Maybe<Scalars['Float']['output']>;
|
|
30359
30692
|
pageTitle?: Maybe<Scalars['String']['output']>;
|
|
30693
|
+
/** Number of pages analysed (1 for a single-page audit, >1 for a crawl). */
|
|
30694
|
+
pagesCrawled?: Maybe<Scalars['Int']['output']>;
|
|
30360
30695
|
performanceScore?: Maybe<Scalars['Float']['output']>;
|
|
30361
30696
|
runBy: Scalars['ID']['output'];
|
|
30362
30697
|
seoScore?: Maybe<Scalars['Float']['output']>;
|
|
@@ -30487,6 +30822,8 @@ export type HeadshotmarketingSocialAccount = {
|
|
|
30487
30822
|
followerCount?: Maybe<Scalars['Int']['output']>;
|
|
30488
30823
|
/** Unique identifier */
|
|
30489
30824
|
id: Scalars['ID']['output'];
|
|
30825
|
+
/** 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. */
|
|
30826
|
+
integrationConnectionId?: Maybe<Scalars['String']['output']>;
|
|
30490
30827
|
/** Flexible key-value metadata */
|
|
30491
30828
|
metadata?: Maybe<Scalars['JSON']['output']>;
|
|
30492
30829
|
/** Social media platform */
|
|
@@ -30506,8 +30843,9 @@ export type HeadshotmarketingSocialAccount = {
|
|
|
30506
30843
|
/** Associated workspace ID (opaque reference) */
|
|
30507
30844
|
workspaceId: Scalars['ID']['output'];
|
|
30508
30845
|
};
|
|
30509
|
-
/**
|
|
30846
|
+
/** 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. */
|
|
30510
30847
|
export declare enum HeadshotmarketingSocialAccountDeliveryMode {
|
|
30848
|
+
Api = "API",
|
|
30511
30849
|
Internal = "INTERNAL",
|
|
30512
30850
|
Webhook = "WEBHOOK"
|
|
30513
30851
|
}
|
|
@@ -35658,6 +35996,7 @@ export type HousingVistaOffer = {
|
|
|
35658
35996
|
counterAmount?: Maybe<Scalars['Float']['output']>;
|
|
35659
35997
|
createdAt: Scalars['DateTime']['output'];
|
|
35660
35998
|
currency: Scalars['String']['output'];
|
|
35999
|
+
expiresAt?: Maybe<Scalars['DateTime']['output']>;
|
|
35661
36000
|
id: Scalars['ID']['output'];
|
|
35662
36001
|
notes?: Maybe<Scalars['String']['output']>;
|
|
35663
36002
|
property: HousingVistaProperty;
|
|
@@ -35679,6 +36018,7 @@ export declare enum HousingVistaOfferResponseAction {
|
|
|
35679
36018
|
export declare enum HousingVistaOfferStatus {
|
|
35680
36019
|
Accepted = "accepted",
|
|
35681
36020
|
Countered = "countered",
|
|
36021
|
+
Expired = "expired",
|
|
35682
36022
|
Rejected = "rejected",
|
|
35683
36023
|
Submitted = "submitted",
|
|
35684
36024
|
Withdrawn = "withdrawn"
|
|
@@ -35897,6 +36237,7 @@ export type HousingVistaShortlist = {
|
|
|
35897
36237
|
export type HousingVistaSubmitOfferInput = {
|
|
35898
36238
|
amount: Scalars['Float']['input'];
|
|
35899
36239
|
currency?: InputMaybe<Scalars['String']['input']>;
|
|
36240
|
+
expiresAt?: InputMaybe<Scalars['DateTime']['input']>;
|
|
35900
36241
|
notes?: InputMaybe<Scalars['String']['input']>;
|
|
35901
36242
|
propertyId: Scalars['ID']['input'];
|
|
35902
36243
|
};
|
|
@@ -37872,6 +38213,7 @@ export type InvalidateDataSinkCacheResult = {
|
|
|
37872
38213
|
};
|
|
37873
38214
|
export type InventoryFilterInput = {
|
|
37874
38215
|
cargoItemId?: InputMaybe<Scalars['ID']['input']>;
|
|
38216
|
+
inventoryItemId?: InputMaybe<Scalars['ID']['input']>;
|
|
37875
38217
|
locationId?: InputMaybe<Scalars['ID']['input']>;
|
|
37876
38218
|
lowStock?: InputMaybe<Scalars['Boolean']['input']>;
|
|
37877
38219
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -42892,11 +43234,14 @@ export type MtwCustomer = {
|
|
|
42892
43234
|
};
|
|
42893
43235
|
export type MtwCustomerStats = {
|
|
42894
43236
|
__typename?: 'MtwCustomerStats';
|
|
42895
|
-
|
|
42896
|
-
|
|
43237
|
+
/** Unavailable because customers have no lifecycle status field. */
|
|
43238
|
+
active?: Maybe<Scalars['Int']['output']>;
|
|
43239
|
+
/** Average rating, or null when no customer has a rating. */
|
|
43240
|
+
avgRating?: Maybe<Scalars['Float']['output']>;
|
|
42897
43241
|
b2b: Scalars['Int']['output'];
|
|
42898
43242
|
b2c: Scalars['Int']['output'];
|
|
42899
|
-
|
|
43243
|
+
/** Unavailable because customers have no lifecycle status field. */
|
|
43244
|
+
inactive?: Maybe<Scalars['Int']['output']>;
|
|
42900
43245
|
total: Scalars['Int']['output'];
|
|
42901
43246
|
};
|
|
42902
43247
|
export type MtwDashboardMetrics = {
|
|
@@ -43008,6 +43353,8 @@ export type MtwDemandForecastVariance = {
|
|
|
43008
43353
|
};
|
|
43009
43354
|
export type MtwDriver = {
|
|
43010
43355
|
__typename?: 'MtwDriver';
|
|
43356
|
+
baseSalary?: Maybe<Scalars['Float']['output']>;
|
|
43357
|
+
bonusYtd?: Maybe<Scalars['Float']['output']>;
|
|
43011
43358
|
certifications?: Maybe<Scalars['JSON']['output']>;
|
|
43012
43359
|
context?: Maybe<OperationContext>;
|
|
43013
43360
|
createdAt: Scalars['DateTime']['output'];
|
|
@@ -43017,16 +43364,25 @@ export type MtwDriver = {
|
|
|
43017
43364
|
email?: Maybe<Scalars['String']['output']>;
|
|
43018
43365
|
employeeId: Scalars['String']['output'];
|
|
43019
43366
|
firstName: Scalars['String']['output'];
|
|
43367
|
+
hireDate?: Maybe<Scalars['DateTime']['output']>;
|
|
43020
43368
|
id: Scalars['ID']['output'];
|
|
43021
43369
|
lastName: Scalars['String']['output'];
|
|
43022
43370
|
licenseClass?: Maybe<Scalars['String']['output']>;
|
|
43023
43371
|
licenseExpiry?: Maybe<Scalars['DateTime']['output']>;
|
|
43024
43372
|
licenseNumber?: Maybe<Scalars['String']['output']>;
|
|
43373
|
+
/** Free-text HR/performance notes. Encrypted at rest. */
|
|
43374
|
+
notes?: Maybe<Scalars['String']['output']>;
|
|
43025
43375
|
onBehalfOf: Scalars['String']['output'];
|
|
43376
|
+
/** Set and in the future means the driver is currently on leave. Independent of the operational DriverStatus. */
|
|
43377
|
+
onLeaveUntil?: Maybe<Scalars['DateTime']['output']>;
|
|
43378
|
+
payCurrency?: Maybe<Scalars['String']['output']>;
|
|
43026
43379
|
performanceMetrics?: Maybe<Scalars['JSON']['output']>;
|
|
43027
43380
|
phone?: Maybe<Scalars['String']['output']>;
|
|
43028
43381
|
rating?: Maybe<Scalars['Float']['output']>;
|
|
43029
43382
|
status: DriverStatus;
|
|
43383
|
+
terminatedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
43384
|
+
/** Reason recorded when the driver was dismissed/terminated. Encrypted at rest. */
|
|
43385
|
+
terminationReason?: Maybe<Scalars['String']['output']>;
|
|
43030
43386
|
updatedAt: Scalars['DateTime']['output'];
|
|
43031
43387
|
updatedBy?: Maybe<Scalars['String']['output']>;
|
|
43032
43388
|
userId?: Maybe<Scalars['String']['output']>;
|
|
@@ -43236,6 +43592,11 @@ export type MtwInventoryTransaction = {
|
|
|
43236
43592
|
warehouseId: Scalars['ID']['output'];
|
|
43237
43593
|
workspaceId: Scalars['ID']['output'];
|
|
43238
43594
|
};
|
|
43595
|
+
export type MtwInventoryTransferResult = {
|
|
43596
|
+
__typename?: 'MtwInventoryTransferResult';
|
|
43597
|
+
destination: MtwInventoryItem;
|
|
43598
|
+
source: MtwInventoryItem;
|
|
43599
|
+
};
|
|
43239
43600
|
/** An estimate from the caller's own inputs — not a quote from anyone. */
|
|
43240
43601
|
export type MtwOwnFleetEstimate = {
|
|
43241
43602
|
__typename?: 'MtwOwnFleetEstimate';
|
|
@@ -43799,6 +44160,8 @@ export type Mutation = {
|
|
|
43799
44160
|
assignWorkspaceQuota: WorkspaceQuotaAssignment;
|
|
43800
44161
|
/** 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. */
|
|
43801
44162
|
assignWorkspaceQuotas: Array<WorkspaceQuotaAssignment>;
|
|
44163
|
+
/** Run one GraphQL mutation as the owner of an admin Take-action session the capability names. */
|
|
44164
|
+
assistantSessionExecute: AssistantSessionRelayResult;
|
|
43802
44165
|
athAddDrill: AthDrill;
|
|
43803
44166
|
athAddMember: AthMember;
|
|
43804
44167
|
/** 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. */
|
|
@@ -44280,9 +44643,9 @@ export type Mutation = {
|
|
|
44280
44643
|
connectHealthyBowlAccountingIntegration: HealthyBowlAccountingIntegration;
|
|
44281
44644
|
/** Send a natural-language message (with optional current spec + history) to the conversational agent and receive an updated spec plus a reply. */
|
|
44282
44645
|
conversationalDashboardEdit: ConversationalEditResult;
|
|
44283
|
-
/**
|
|
44646
|
+
/** 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. */
|
|
44284
44647
|
conversationsEraseSubject: ConversationsEraseResult;
|
|
44285
|
-
/** 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. */
|
|
44648
|
+
/** 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. */
|
|
44286
44649
|
conversationsExportSubject: Scalars['JSON']['output'];
|
|
44287
44650
|
/** Convert a lead into a deal */
|
|
44288
44651
|
convertHeadshotmarketingLead: HeadshotmarketingDeal;
|
|
@@ -44921,7 +45284,10 @@ export type Mutation = {
|
|
|
44921
45284
|
deleteArtifact: MutationResponse;
|
|
44922
45285
|
deleteAsset: Scalars['Boolean']['output'];
|
|
44923
45286
|
deleteAssetAssignment: Scalars['Boolean']['output'];
|
|
44924
|
-
/**
|
|
45287
|
+
/**
|
|
45288
|
+
* Delete one of my assistant chats and its messages. Its content is purged permanently 30 days later (unless under a legal hold).
|
|
45289
|
+
* @deprecated Use the my* assistant-history fields (BOFF-7335).
|
|
45290
|
+
*/
|
|
44925
45291
|
deleteAssistantConversation: Scalars['Boolean']['output'];
|
|
44926
45292
|
deleteAvailabilityRule: Scalars['Boolean']['output'];
|
|
44927
45293
|
/** Delete a batch download and its archive */
|
|
@@ -45175,6 +45541,8 @@ export type Mutation = {
|
|
|
45175
45541
|
deleteMetadataByKey: Scalars['Boolean']['output'];
|
|
45176
45542
|
deleteMetric: Scalars['Boolean']['output'];
|
|
45177
45543
|
deleteModifiedInstance: Scalars['Boolean']['output'];
|
|
45544
|
+
/** 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. */
|
|
45545
|
+
deleteMyAssistantConversation: DeleteMyAssistantConversationPayload;
|
|
45178
45546
|
/** Soft-delete one of the calling user's custom views. */
|
|
45179
45547
|
deleteMyNavView: Scalars['Boolean']['output'];
|
|
45180
45548
|
deleteNode: Scalars['Boolean']['output'];
|
|
@@ -45528,7 +45896,9 @@ export type Mutation = {
|
|
|
45528
45896
|
executeScheduledPrompt: ScheduledPromptResult;
|
|
45529
45897
|
/** Execute a button via share token (PUBLIC — no auth required). Only works if the share link has EXECUTE permission. */
|
|
45530
45898
|
executeSharedVibeDeckButton: VibeDeckButtonExecution;
|
|
45531
|
-
/** Execute one
|
|
45899
|
+
/** 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. */
|
|
45900
|
+
executeStep: ExecuteStepResponse;
|
|
45901
|
+
/** 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. */
|
|
45532
45902
|
executeTransform: TransformRuntimeResult;
|
|
45533
45903
|
executeVibeDeckButton: VibeDeckButtonExecution;
|
|
45534
45904
|
/** Execute a workflow. If an external FluidGrids workflow exists, triggers real execution via wspace-workflow-svc. Otherwise performs mock execution. */
|
|
@@ -45558,6 +45928,8 @@ export type Mutation = {
|
|
|
45558
45928
|
exportWorkspaceResourceConfig: WorkspaceResourceConfigExport;
|
|
45559
45929
|
/** Extend an existing file lock */
|
|
45560
45930
|
extendFileLock: FileLock;
|
|
45931
|
+
/** 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. */
|
|
45932
|
+
extendMyAssistantSandboxTTL: Sandbox;
|
|
45561
45933
|
extendSandboxTTL: Sandbox;
|
|
45562
45934
|
/** Host-only (must own the listing behind the booking): files a claim against a COMPLETED booking. */
|
|
45563
45935
|
fileGgnomadDamageClaim: GgnomadDamageClaim;
|
|
@@ -45771,7 +46143,7 @@ export type Mutation = {
|
|
|
45771
46143
|
headshotmarketingRemoveLandingPageSection: Scalars['Boolean']['output'];
|
|
45772
46144
|
/** Reorder sections within a landing page */
|
|
45773
46145
|
headshotmarketingReorderLandingPageSections: HeadshotmarketingLandingPage;
|
|
45774
|
-
/** Run an SEO audit for a given URL (creates and executes an audit) */
|
|
46146
|
+
/** 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. */
|
|
45775
46147
|
headshotmarketingRunSEOAudit: HeadshotmarketingSeoAudit;
|
|
45776
46148
|
/** 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. */
|
|
45777
46149
|
headshotmarketingSendAgentMessage: HeadshotmarketingAgentTurn;
|
|
@@ -46169,6 +46541,8 @@ export type Mutation = {
|
|
|
46169
46541
|
linkDataSinkToWorkflow: DataSinkWorkflowLink;
|
|
46170
46542
|
/** 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. */
|
|
46171
46543
|
linkEntityToVibe: VibeLinkedEntity;
|
|
46544
|
+
/** 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. */
|
|
46545
|
+
linkHeadshotmarketingSocialAccountConnection: HeadshotmarketingSocialAccount;
|
|
46172
46546
|
/** 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. */
|
|
46173
46547
|
linkHealthyBowlHarvestToInventory: HarvestRecord;
|
|
46174
46548
|
/** 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. */
|
|
@@ -46376,6 +46750,16 @@ export type Mutation = {
|
|
|
46376
46750
|
/** Place a lot of produce/milk into a bin; records an opening IN movement of the initial quantity. */
|
|
46377
46751
|
placeHealthyBowlStorageLot: HealthyBowlStorageLot;
|
|
46378
46752
|
planMultiModalShipment: MtwShipment;
|
|
46753
|
+
/** Triage: accept an open request (SUBMITTED or UNDER_REVIEW) as UNDER_REVIEW or PLANNED */
|
|
46754
|
+
planmagnetAcceptFeatureRequest: FeatureRequest;
|
|
46755
|
+
/** Add members to a team. Re-adding an existing (live) member is a no-op, not an error. */
|
|
46756
|
+
planmagnetAddTeamMembers: Team;
|
|
46757
|
+
/** 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. */
|
|
46758
|
+
planmagnetAddTeamProjects: Team;
|
|
46759
|
+
/** Post a comment on a work item */
|
|
46760
|
+
planmagnetAddWorkItemComment: PlanmagnetWorkItemComment;
|
|
46761
|
+
/** 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. */
|
|
46762
|
+
planmagnetAddWorkItemsToRelease: Release;
|
|
46379
46763
|
/** Add work items to a sprint */
|
|
46380
46764
|
planmagnetAddWorkItemsToSprint: Sprint;
|
|
46381
46765
|
/** 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. */
|
|
@@ -46386,6 +46770,8 @@ export type Mutation = {
|
|
|
46386
46770
|
planmagnetApproveBudget: PlanmagnetBudget;
|
|
46387
46771
|
/** Approve a submitted timesheet */
|
|
46388
46772
|
planmagnetApproveTimesheet: PlanmagnetTimesheet;
|
|
46773
|
+
/** Sets archivedAt = now(). A no-op (still succeeds) if already archived. */
|
|
46774
|
+
planmagnetArchiveProduct: Product;
|
|
46389
46775
|
/** Assign a work item to an actor */
|
|
46390
46776
|
planmagnetAssignWorkItem: WorkItem;
|
|
46391
46777
|
/** Bulk update multiple work items at once */
|
|
@@ -46419,6 +46805,7 @@ export type Mutation = {
|
|
|
46419
46805
|
planmagnetCreateObjective: PlanmagnetObjective;
|
|
46420
46806
|
/** Create a new portfolio */
|
|
46421
46807
|
planmagnetCreatePortfolio: Portfolio;
|
|
46808
|
+
planmagnetCreateProduct: Product;
|
|
46422
46809
|
/** Create a new program */
|
|
46423
46810
|
planmagnetCreateProgram: Program;
|
|
46424
46811
|
/** Create a new project */
|
|
@@ -46437,6 +46824,8 @@ export type Mutation = {
|
|
|
46437
46824
|
planmagnetCreateRoadmapItem: RoadmapItem;
|
|
46438
46825
|
/** Create a new sprint */
|
|
46439
46826
|
planmagnetCreateSprint: Sprint;
|
|
46827
|
+
/** Create a new team. */
|
|
46828
|
+
planmagnetCreateTeam: Team;
|
|
46440
46829
|
/** Create a template from an existing project */
|
|
46441
46830
|
planmagnetCreateTemplateFromProject: ProjectTemplate;
|
|
46442
46831
|
/** Create a new time entry */
|
|
@@ -46445,6 +46834,8 @@ export type Mutation = {
|
|
|
46445
46834
|
planmagnetCreateTimesheet: PlanmagnetTimesheet;
|
|
46446
46835
|
/** Create a new work item */
|
|
46447
46836
|
planmagnetCreateWorkItem: WorkItem;
|
|
46837
|
+
/** Triage: decline an open request, with the reason */
|
|
46838
|
+
planmagnetDeclineFeatureRequest: FeatureRequest;
|
|
46448
46839
|
/** Delete an automation rule */
|
|
46449
46840
|
planmagnetDeleteAutomationRule: Scalars['Boolean']['output'];
|
|
46450
46841
|
/** Delete a board */
|
|
@@ -46474,6 +46865,8 @@ export type Mutation = {
|
|
|
46474
46865
|
planmagnetDeleteObjective: Scalars['Boolean']['output'];
|
|
46475
46866
|
/** Delete a portfolio */
|
|
46476
46867
|
planmagnetDeletePortfolio: Scalars['Boolean']['output'];
|
|
46868
|
+
/** Soft-delete. Every linked roadmap/release/feature request has its productId cleared, never deleted; every ProductObjectiveLink row is removed. */
|
|
46869
|
+
planmagnetDeleteProduct: Scalars['Boolean']['output'];
|
|
46477
46870
|
/** Soft-delete a program */
|
|
46478
46871
|
planmagnetDeleteProgram: Scalars['Boolean']['output'];
|
|
46479
46872
|
/** Soft-delete a project */
|
|
@@ -46492,12 +46885,22 @@ export type Mutation = {
|
|
|
46492
46885
|
planmagnetDeleteRoadmapItem: Scalars['Boolean']['output'];
|
|
46493
46886
|
/** Soft-delete a sprint */
|
|
46494
46887
|
planmagnetDeleteSprint: Scalars['Boolean']['output'];
|
|
46888
|
+
/** 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. */
|
|
46889
|
+
planmagnetDeleteTeam: Scalars['Boolean']['output'];
|
|
46495
46890
|
/** Delete a time entry */
|
|
46496
46891
|
planmagnetDeleteTimeEntry: Scalars['Boolean']['output'];
|
|
46497
46892
|
/** Soft-delete a work item */
|
|
46498
46893
|
planmagnetDeleteWorkItem: Scalars['Boolean']['output'];
|
|
46894
|
+
/** Delete your own comment (only its author can) */
|
|
46895
|
+
planmagnetDeleteWorkItemComment: Scalars['Boolean']['output'];
|
|
46896
|
+
/** Change the text of your own comment (only its author can) */
|
|
46897
|
+
planmagnetEditWorkItemComment: PlanmagnetWorkItemComment;
|
|
46898
|
+
/** Erase the person from PlanMagnet in one transaction; dryRun returns the counts and writes nothing (service actors only) */
|
|
46899
|
+
planmagnetEraseSubject: PlanmagnetEraseResult;
|
|
46499
46900
|
/** 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. */
|
|
46500
46901
|
planmagnetExecuteAutomationRule: PlanmagnetAutomationExecution;
|
|
46902
|
+
/** Everything PlanMagnet holds that names the person, per table, deleted rows included (service actors only) */
|
|
46903
|
+
planmagnetExportSubject: Scalars['JSON']['output'];
|
|
46501
46904
|
/** 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. */
|
|
46502
46905
|
planmagnetExportToExternal: PlanmagnetSyncResult;
|
|
46503
46906
|
/** 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. */
|
|
@@ -46510,12 +46913,20 @@ export type Mutation = {
|
|
|
46510
46913
|
planmagnetLinkCompetitorToFeature: FeatureRequest;
|
|
46511
46914
|
planmagnetLinkDocToWorkItem: PlanmagnetDoc;
|
|
46512
46915
|
planmagnetLinkKeyResultToWorkItem: PlanmagnetKeyResult;
|
|
46916
|
+
planmagnetLinkProductFeatureRequest: Product;
|
|
46917
|
+
/** *-* 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). */
|
|
46918
|
+
planmagnetLinkProductObjective: Product;
|
|
46919
|
+
planmagnetLinkProductRelease: Product;
|
|
46920
|
+
/** roadmapId must be a live roadmap in the same workspace, else BAD_USER_INPUT. */
|
|
46921
|
+
planmagnetLinkProductRoadmap: Product;
|
|
46513
46922
|
/** Link a work item to an external product entity */
|
|
46514
46923
|
planmagnetLinkWorkItem: WorkItemLink;
|
|
46515
46924
|
/** Log an expense against a budget */
|
|
46516
46925
|
planmagnetLogExpense: BudgetExpense;
|
|
46517
46926
|
/** Quick log time against a work item */
|
|
46518
46927
|
planmagnetLogTime: PlanmagnetTimeEntry;
|
|
46928
|
+
/** 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. */
|
|
46929
|
+
planmagnetMergeFeatureRequest: FeatureRequest;
|
|
46519
46930
|
/** Move a card (work item) to a different column and/or position */
|
|
46520
46931
|
planmagnetMoveCard: Board;
|
|
46521
46932
|
/** Move a work item to a different status, sprint, or position */
|
|
@@ -46528,6 +46939,12 @@ export type Mutation = {
|
|
|
46528
46939
|
planmagnetRemoveCustomFieldValue: Scalars['Boolean']['output'];
|
|
46529
46940
|
/** Remove a vote from a feature request */
|
|
46530
46941
|
planmagnetRemoveFeatureVote: Scalars['Boolean']['output'];
|
|
46942
|
+
/** Remove members from a team. */
|
|
46943
|
+
planmagnetRemoveTeamMembers: Team;
|
|
46944
|
+
/** Remove projects from a team. Work items already in an active team sprint from that project are NOT retroactively evicted — see sprint.service.ts. */
|
|
46945
|
+
planmagnetRemoveTeamProjects: Team;
|
|
46946
|
+
/** Take work items out of a release. Ids not in the release are ignored. */
|
|
46947
|
+
planmagnetRemoveWorkItemsFromRelease: Release;
|
|
46531
46948
|
/** Remove work items from a sprint */
|
|
46532
46949
|
planmagnetRemoveWorkItemsFromSprint: Sprint;
|
|
46533
46950
|
/** 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. */
|
|
@@ -46542,6 +46959,8 @@ export type Mutation = {
|
|
|
46542
46959
|
planmagnetReviewQualityGate: QualityGate;
|
|
46543
46960
|
/** Set a custom field value on a work item */
|
|
46544
46961
|
planmagnetSetCustomFieldValue: CustomFieldValue;
|
|
46962
|
+
/** Triage: hide a SUBMITTED request from the queue until a future moment (at most a year); null wakes it now */
|
|
46963
|
+
planmagnetSnoozeFeatureRequest: FeatureRequest;
|
|
46545
46964
|
/** Start a sprint (transition to ACTIVE) */
|
|
46546
46965
|
planmagnetStartSprint: Sprint;
|
|
46547
46966
|
/** 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. */
|
|
@@ -46552,10 +46971,16 @@ export type Mutation = {
|
|
|
46552
46971
|
planmagnetSuggestWorkItemBreakdown: PlanmagnetWorkItemBreakdownResult;
|
|
46553
46972
|
/** Toggle an automation rule (activate/pause) */
|
|
46554
46973
|
planmagnetToggleAutomationRule: PlanmagnetAutomationRule;
|
|
46974
|
+
/** Clears archivedAt. A no-op (still succeeds) if not archived. */
|
|
46975
|
+
planmagnetUnarchiveProduct: Product;
|
|
46555
46976
|
/** Unlink a competitor from a feature request */
|
|
46556
46977
|
planmagnetUnlinkCompetitorFromFeature: FeatureRequest;
|
|
46557
46978
|
planmagnetUnlinkDocFromWorkItem: Scalars['Boolean']['output'];
|
|
46558
46979
|
planmagnetUnlinkKeyResultFromWorkItem: Scalars['Boolean']['output'];
|
|
46980
|
+
planmagnetUnlinkProductFeatureRequest: Product;
|
|
46981
|
+
planmagnetUnlinkProductObjective: Scalars['Boolean']['output'];
|
|
46982
|
+
planmagnetUnlinkProductRelease: Product;
|
|
46983
|
+
planmagnetUnlinkProductRoadmap: Product;
|
|
46559
46984
|
/** Remove a work item link */
|
|
46560
46985
|
planmagnetUnlinkWorkItem: Scalars['Boolean']['output'];
|
|
46561
46986
|
/** Update an existing automation rule */
|
|
@@ -46587,12 +47012,15 @@ export type Mutation = {
|
|
|
46587
47012
|
planmagnetUpdateObjective: PlanmagnetObjective;
|
|
46588
47013
|
/** Update an existing portfolio */
|
|
46589
47014
|
planmagnetUpdatePortfolio: Portfolio;
|
|
47015
|
+
planmagnetUpdateProduct: Product;
|
|
46590
47016
|
/** Update an existing program */
|
|
46591
47017
|
planmagnetUpdateProgram: Program;
|
|
46592
47018
|
/** Update an existing project */
|
|
46593
47019
|
planmagnetUpdateProject: PlanmagnetProject;
|
|
46594
47020
|
/** Update an existing project template */
|
|
46595
47021
|
planmagnetUpdateProjectTemplate: ProjectTemplate;
|
|
47022
|
+
/** Change a project's workflow */
|
|
47023
|
+
planmagnetUpdateProjectWorkflow: PlanmagnetProjectWorkflow;
|
|
46596
47024
|
/** Update an existing quality gate */
|
|
46597
47025
|
planmagnetUpdateQualityGate: QualityGate;
|
|
46598
47026
|
/** Update an existing release */
|
|
@@ -46605,6 +47033,8 @@ export type Mutation = {
|
|
|
46605
47033
|
planmagnetUpdateRoadmapItem: RoadmapItem;
|
|
46606
47034
|
/** Update an existing sprint */
|
|
46607
47035
|
planmagnetUpdateSprint: Sprint;
|
|
47036
|
+
/** Update an existing team. Membership and projects are changed through the dedicated mutations below, not through this one. */
|
|
47037
|
+
planmagnetUpdateTeam: Team;
|
|
46608
47038
|
/** Update an existing time entry */
|
|
46609
47039
|
planmagnetUpdateTimeEntry: PlanmagnetTimeEntry;
|
|
46610
47040
|
/** Update an existing work item */
|
|
@@ -46651,6 +47081,8 @@ export type Mutation = {
|
|
|
46651
47081
|
propagateTagToChildren: Array<UniversalTagAssignment>;
|
|
46652
47082
|
/** 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. */
|
|
46653
47083
|
proposeHealthyBowlAgronomyDecisions: AgronomyDecisionSweepResult;
|
|
47084
|
+
/** Provision an Ask or Take-action assistant sandbox for the caller (any workspace role). */
|
|
47085
|
+
provisionAssistantSandbox: Sandbox;
|
|
46654
47086
|
/** 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. */
|
|
46655
47087
|
proxySandboxRequest: ProxySandboxResponse;
|
|
46656
47088
|
pswAddTeamAssignment: PswTeamAssignment;
|
|
@@ -46996,13 +47428,15 @@ export type Mutation = {
|
|
|
46996
47428
|
replayWorkflowRun: TriggerResponse;
|
|
46997
47429
|
/** 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. */
|
|
46998
47430
|
reportAgentMeshLink: AgentMeshLink;
|
|
46999
|
-
/** 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. */
|
|
47431
|
+
/** 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. */
|
|
47000
47432
|
reportAiTokenUsage: Scalars['Boolean']['output'];
|
|
47001
47433
|
/** 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. */
|
|
47002
47434
|
reportGovAiTokenUsage: Scalars['Boolean']['output'];
|
|
47003
|
-
/** 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. `
|
|
47435
|
+
/** 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. */
|
|
47004
47436
|
reportHealthyBowlAiTokenUsage: Scalars['Boolean']['output'];
|
|
47005
47437
|
reportMessage: ReportMessagePayload;
|
|
47438
|
+
/** 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. */
|
|
47439
|
+
reportMyAssistantTurnTimings: AssistantTurnTimingsReceipt;
|
|
47006
47440
|
reprocessTimeCampusTimeline: TimeCampusAdminMutationResult;
|
|
47007
47441
|
/** 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. */
|
|
47008
47442
|
requestHealthyBowlLoanFacilitation: HealthyBowlLoanFacilitation;
|
|
@@ -47229,7 +47663,10 @@ export type Mutation = {
|
|
|
47229
47663
|
/** 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. */
|
|
47230
47664
|
runSandboxScript: SandboxScriptRun;
|
|
47231
47665
|
runSecurityScan: SecurityScanRun;
|
|
47232
|
-
/**
|
|
47666
|
+
/**
|
|
47667
|
+
* 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.
|
|
47668
|
+
* @deprecated Use the my* assistant-history fields (BOFF-7335).
|
|
47669
|
+
*/
|
|
47233
47670
|
saveAssistantTurn: AssistantConversation;
|
|
47234
47671
|
/** Save collection as template */
|
|
47235
47672
|
saveCollectionAsTemplate: Collection;
|
|
@@ -47243,6 +47680,8 @@ export type Mutation = {
|
|
|
47243
47680
|
/** Persist a yield scenario (the simulation 'Save Scenario' action). */
|
|
47244
47681
|
saveHealthyBowlYieldScenario: HbYieldForecast;
|
|
47245
47682
|
saveHousingvistaShortlist: HousingVistaShortlist;
|
|
47683
|
+
/** Idempotent per clientMessageId. Never recreates a deleted conversation. Never throws NOT_FOUND. */
|
|
47684
|
+
saveMyAssistantHistoryEntries: SaveMyAssistantHistoryEntriesPayload;
|
|
47246
47685
|
/** Upsert the calling user's active view + per-view overrides. */
|
|
47247
47686
|
saveMyNavPreferences: NavPreferences;
|
|
47248
47687
|
/** 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. */
|
|
@@ -47310,7 +47749,7 @@ export type Mutation = {
|
|
|
47310
47749
|
setAgentAutoUpdate: AgentProxyResponse;
|
|
47311
47750
|
/** 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). */
|
|
47312
47751
|
setAgentPlaygroundConfig: AgentProxyResponse;
|
|
47313
|
-
/** 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. */
|
|
47752
|
+
/** 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. */
|
|
47314
47753
|
setAgentVisibility: VibecontrolsAgent;
|
|
47315
47754
|
setAiPredictionStatus: AiPrediction;
|
|
47316
47755
|
setBalanceTarget: TimeCampusBalanceTarget;
|
|
@@ -47438,6 +47877,8 @@ export type Mutation = {
|
|
|
47438
47877
|
/** Start a stopped or inactive resource */
|
|
47439
47878
|
startWorkspaceResource: WorkspaceResource;
|
|
47440
47879
|
stopCallRecording: CallRecording;
|
|
47880
|
+
/** 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. */
|
|
47881
|
+
stopMyAssistantSandbox: Sandbox;
|
|
47441
47882
|
stopSandbox: Sandbox;
|
|
47442
47883
|
/** Stop a session */
|
|
47443
47884
|
stopSession: Session;
|
|
@@ -47718,6 +48159,7 @@ export type Mutation = {
|
|
|
47718
48159
|
/** Track usage consumption Called by gateway after successful operations */
|
|
47719
48160
|
trackUsage: Scalars['Boolean']['output'];
|
|
47720
48161
|
transferGroupOwnership: Group;
|
|
48162
|
+
transferInventoryStock: MtwInventoryTransferResult;
|
|
47721
48163
|
/** Transfer control to another collaborator */
|
|
47722
48164
|
transferSessionControl: Scalars['Boolean']['output'];
|
|
47723
48165
|
/** Advance a credit's status forward (DRAFT→PENDING→VERIFIED→ISSUED→RETIRED). Illegal transitions throw CONFLICT. */
|
|
@@ -47824,7 +48266,7 @@ export type Mutation = {
|
|
|
47824
48266
|
updateAgentInstructionFile: AgentInstructionFile;
|
|
47825
48267
|
updateAgentInstructionFileShareRole: ShareGrant;
|
|
47826
48268
|
updateAgentMessageBookmark: AgentMessageBookmark;
|
|
47827
|
-
/**
|
|
48269
|
+
/** 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. */
|
|
47828
48270
|
updateAgentOwnership: VibecontrolsAgent;
|
|
47829
48271
|
/** Update an installed plugin to the latest version, or to a specific `version`. Proxies POST /api/profiles/<p>/plugins/update. */
|
|
47830
48272
|
updateAgentPlugin: AgentProxyResponse;
|
|
@@ -48342,6 +48784,8 @@ export type Mutation = {
|
|
|
48342
48784
|
workerAppendRunLogs: WorkerAppendRunLogsResponse;
|
|
48343
48785
|
/** Complete a workflow run (calculates stats and updates status) INTERNAL: Requires actorType SERVICE */
|
|
48344
48786
|
workerCompleteRun: WorkerCompleteRunResponse;
|
|
48787
|
+
/** 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 */
|
|
48788
|
+
workerCreateChildRun: WorkerCreateChildRunResponse;
|
|
48345
48789
|
/** Create a new node state (for pending nodes) INTERNAL: Requires actorType SERVICE */
|
|
48346
48790
|
workerCreateNodeState: WorkerNodeStateResponse;
|
|
48347
48791
|
/** 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 */
|
|
@@ -49144,6 +49588,10 @@ export type MutationAssignWorkspaceQuotasArgs = {
|
|
|
49144
49588
|
workspaceId: Scalars['ID']['input'];
|
|
49145
49589
|
};
|
|
49146
49590
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
49591
|
+
export type MutationAssistantSessionExecuteArgs = {
|
|
49592
|
+
input: AssistantSessionExecuteInput;
|
|
49593
|
+
};
|
|
49594
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
49147
49595
|
export type MutationAthAddDrillArgs = {
|
|
49148
49596
|
input: AthAddDrillInput;
|
|
49149
49597
|
};
|
|
@@ -53434,6 +53882,12 @@ export type MutationDeleteModifiedInstanceArgs = {
|
|
|
53434
53882
|
instanceId: Scalars['ID']['input'];
|
|
53435
53883
|
};
|
|
53436
53884
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
53885
|
+
export type MutationDeleteMyAssistantConversationArgs = {
|
|
53886
|
+
clientConversationId?: InputMaybe<Scalars['ID']['input']>;
|
|
53887
|
+
conversationId?: InputMaybe<Scalars['ID']['input']>;
|
|
53888
|
+
productId: Scalars['String']['input'];
|
|
53889
|
+
};
|
|
53890
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
53437
53891
|
export type MutationDeleteMyNavViewArgs = {
|
|
53438
53892
|
id: Scalars['ID']['input'];
|
|
53439
53893
|
workspaceId: Scalars['String']['input'];
|
|
@@ -54570,6 +55024,10 @@ export type MutationExecuteSharedVibeDeckButtonArgs = {
|
|
|
54570
55024
|
token: Scalars['String']['input'];
|
|
54571
55025
|
};
|
|
54572
55026
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
55027
|
+
export type MutationExecuteStepArgs = {
|
|
55028
|
+
input: ExecuteStepInput;
|
|
55029
|
+
};
|
|
55030
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
54573
55031
|
export type MutationExecuteTransformArgs = {
|
|
54574
55032
|
input: ExecuteTransformInput;
|
|
54575
55033
|
};
|
|
@@ -54647,6 +55105,12 @@ export type MutationExtendFileLockArgs = {
|
|
|
54647
55105
|
input: ExtendLockInput;
|
|
54648
55106
|
};
|
|
54649
55107
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
55108
|
+
export type MutationExtendMyAssistantSandboxTtlArgs = {
|
|
55109
|
+
additionalSeconds: Scalars['Int']['input'];
|
|
55110
|
+
context: ContextInput;
|
|
55111
|
+
id: Scalars['ID']['input'];
|
|
55112
|
+
};
|
|
55113
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
54650
55114
|
export type MutationExtendSandboxTtlArgs = {
|
|
54651
55115
|
additionalSeconds: Scalars['Int']['input'];
|
|
54652
55116
|
context: ContextInput;
|
|
@@ -55296,6 +55760,8 @@ export type MutationHeadshotmarketingReorderLandingPageSectionsArgs = {
|
|
|
55296
55760
|
};
|
|
55297
55761
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
55298
55762
|
export type MutationHeadshotmarketingRunSeoAuditArgs = {
|
|
55763
|
+
maxDepth?: InputMaybe<Scalars['Int']['input']>;
|
|
55764
|
+
maxPages?: InputMaybe<Scalars['Int']['input']>;
|
|
55299
55765
|
url: Scalars['String']['input'];
|
|
55300
55766
|
};
|
|
55301
55767
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
@@ -56419,6 +56885,11 @@ export type MutationLinkEntityToVibeArgs = {
|
|
|
56419
56885
|
input: LinkEntityToVibeInput;
|
|
56420
56886
|
};
|
|
56421
56887
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
56888
|
+
export type MutationLinkHeadshotmarketingSocialAccountConnectionArgs = {
|
|
56889
|
+
id: Scalars['ID']['input'];
|
|
56890
|
+
integrationConnectionId: Scalars['ID']['input'];
|
|
56891
|
+
};
|
|
56892
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
56422
56893
|
export type MutationLinkHealthyBowlHarvestToInventoryArgs = {
|
|
56423
56894
|
input: LinkHarvestToInventoryInput;
|
|
56424
56895
|
};
|
|
@@ -57049,6 +57520,30 @@ export type MutationPlanMultiModalShipmentArgs = {
|
|
|
57049
57520
|
input: PlanMultiModalShipmentInput;
|
|
57050
57521
|
};
|
|
57051
57522
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57523
|
+
export type MutationPlanmagnetAcceptFeatureRequestArgs = {
|
|
57524
|
+
id: Scalars['ID']['input'];
|
|
57525
|
+
input?: InputMaybe<PlanmagnetAcceptFeatureRequestInput>;
|
|
57526
|
+
};
|
|
57527
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57528
|
+
export type MutationPlanmagnetAddTeamMembersArgs = {
|
|
57529
|
+
id: Scalars['ID']['input'];
|
|
57530
|
+
input: PlanmagnetTeamMembersInput;
|
|
57531
|
+
};
|
|
57532
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57533
|
+
export type MutationPlanmagnetAddTeamProjectsArgs = {
|
|
57534
|
+
id: Scalars['ID']['input'];
|
|
57535
|
+
input: PlanmagnetTeamProjectsInput;
|
|
57536
|
+
};
|
|
57537
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57538
|
+
export type MutationPlanmagnetAddWorkItemCommentArgs = {
|
|
57539
|
+
input: PlanmagnetAddWorkItemCommentInput;
|
|
57540
|
+
};
|
|
57541
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57542
|
+
export type MutationPlanmagnetAddWorkItemsToReleaseArgs = {
|
|
57543
|
+
releaseId: Scalars['ID']['input'];
|
|
57544
|
+
workItemIds: Array<Scalars['ID']['input']>;
|
|
57545
|
+
};
|
|
57546
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57052
57547
|
export type MutationPlanmagnetAddWorkItemsToSprintArgs = {
|
|
57053
57548
|
id: Scalars['ID']['input'];
|
|
57054
57549
|
input: PlanmagnetSprintWorkItemsInput;
|
|
@@ -57071,6 +57566,10 @@ export type MutationPlanmagnetApproveTimesheetArgs = {
|
|
|
57071
57566
|
id: Scalars['ID']['input'];
|
|
57072
57567
|
};
|
|
57073
57568
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57569
|
+
export type MutationPlanmagnetArchiveProductArgs = {
|
|
57570
|
+
id: Scalars['ID']['input'];
|
|
57571
|
+
};
|
|
57572
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57074
57573
|
export type MutationPlanmagnetAssignWorkItemArgs = {
|
|
57075
57574
|
id: Scalars['ID']['input'];
|
|
57076
57575
|
input: PlanmagnetAssignWorkItemInput;
|
|
@@ -57144,6 +57643,10 @@ export type MutationPlanmagnetCreatePortfolioArgs = {
|
|
|
57144
57643
|
input: PlanmagnetCreatePortfolioInput;
|
|
57145
57644
|
};
|
|
57146
57645
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57646
|
+
export type MutationPlanmagnetCreateProductArgs = {
|
|
57647
|
+
input: PlanmagnetCreateProductInput;
|
|
57648
|
+
};
|
|
57649
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57147
57650
|
export type MutationPlanmagnetCreateProgramArgs = {
|
|
57148
57651
|
input: PlanmagnetCreateProgramInput;
|
|
57149
57652
|
};
|
|
@@ -57180,6 +57683,10 @@ export type MutationPlanmagnetCreateSprintArgs = {
|
|
|
57180
57683
|
input: PlanmagnetCreateSprintInput;
|
|
57181
57684
|
};
|
|
57182
57685
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57686
|
+
export type MutationPlanmagnetCreateTeamArgs = {
|
|
57687
|
+
input: PlanmagnetCreateTeamInput;
|
|
57688
|
+
};
|
|
57689
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57183
57690
|
export type MutationPlanmagnetCreateTemplateFromProjectArgs = {
|
|
57184
57691
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
57185
57692
|
name: Scalars['String']['input'];
|
|
@@ -57198,6 +57705,11 @@ export type MutationPlanmagnetCreateWorkItemArgs = {
|
|
|
57198
57705
|
input: PlanmagnetCreateWorkItemInput;
|
|
57199
57706
|
};
|
|
57200
57707
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57708
|
+
export type MutationPlanmagnetDeclineFeatureRequestArgs = {
|
|
57709
|
+
id: Scalars['ID']['input'];
|
|
57710
|
+
reason: Scalars['String']['input'];
|
|
57711
|
+
};
|
|
57712
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57201
57713
|
export type MutationPlanmagnetDeleteAutomationRuleArgs = {
|
|
57202
57714
|
id: Scalars['ID']['input'];
|
|
57203
57715
|
};
|
|
@@ -57258,6 +57770,10 @@ export type MutationPlanmagnetDeletePortfolioArgs = {
|
|
|
57258
57770
|
id: Scalars['ID']['input'];
|
|
57259
57771
|
};
|
|
57260
57772
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57773
|
+
export type MutationPlanmagnetDeleteProductArgs = {
|
|
57774
|
+
id: Scalars['ID']['input'];
|
|
57775
|
+
};
|
|
57776
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57261
57777
|
export type MutationPlanmagnetDeleteProgramArgs = {
|
|
57262
57778
|
id: Scalars['ID']['input'];
|
|
57263
57779
|
};
|
|
@@ -57294,6 +57810,10 @@ export type MutationPlanmagnetDeleteSprintArgs = {
|
|
|
57294
57810
|
id: Scalars['ID']['input'];
|
|
57295
57811
|
};
|
|
57296
57812
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57813
|
+
export type MutationPlanmagnetDeleteTeamArgs = {
|
|
57814
|
+
id: Scalars['ID']['input'];
|
|
57815
|
+
};
|
|
57816
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57297
57817
|
export type MutationPlanmagnetDeleteTimeEntryArgs = {
|
|
57298
57818
|
id: Scalars['ID']['input'];
|
|
57299
57819
|
};
|
|
@@ -57302,11 +57822,29 @@ export type MutationPlanmagnetDeleteWorkItemArgs = {
|
|
|
57302
57822
|
id: Scalars['ID']['input'];
|
|
57303
57823
|
};
|
|
57304
57824
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57825
|
+
export type MutationPlanmagnetDeleteWorkItemCommentArgs = {
|
|
57826
|
+
id: Scalars['ID']['input'];
|
|
57827
|
+
};
|
|
57828
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57829
|
+
export type MutationPlanmagnetEditWorkItemCommentArgs = {
|
|
57830
|
+
body: Scalars['String']['input'];
|
|
57831
|
+
id: Scalars['ID']['input'];
|
|
57832
|
+
};
|
|
57833
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57834
|
+
export type MutationPlanmagnetEraseSubjectArgs = {
|
|
57835
|
+
dryRun?: InputMaybe<Scalars['Boolean']['input']>;
|
|
57836
|
+
subjectId: Scalars['ID']['input'];
|
|
57837
|
+
};
|
|
57838
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57305
57839
|
export type MutationPlanmagnetExecuteAutomationRuleArgs = {
|
|
57306
57840
|
id: Scalars['ID']['input'];
|
|
57307
57841
|
triggerData?: InputMaybe<Scalars['JSON']['input']>;
|
|
57308
57842
|
};
|
|
57309
57843
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57844
|
+
export type MutationPlanmagnetExportSubjectArgs = {
|
|
57845
|
+
subjectId: Scalars['ID']['input'];
|
|
57846
|
+
};
|
|
57847
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57310
57848
|
export type MutationPlanmagnetExportToExternalArgs = {
|
|
57311
57849
|
input: PlanmagnetExportToExternalInput;
|
|
57312
57850
|
};
|
|
@@ -57338,6 +57876,26 @@ export type MutationPlanmagnetLinkKeyResultToWorkItemArgs = {
|
|
|
57338
57876
|
workItemId: Scalars['ID']['input'];
|
|
57339
57877
|
};
|
|
57340
57878
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57879
|
+
export type MutationPlanmagnetLinkProductFeatureRequestArgs = {
|
|
57880
|
+
featureRequestId: Scalars['ID']['input'];
|
|
57881
|
+
productId: Scalars['ID']['input'];
|
|
57882
|
+
};
|
|
57883
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57884
|
+
export type MutationPlanmagnetLinkProductObjectiveArgs = {
|
|
57885
|
+
objectiveId: Scalars['ID']['input'];
|
|
57886
|
+
productId: Scalars['ID']['input'];
|
|
57887
|
+
};
|
|
57888
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57889
|
+
export type MutationPlanmagnetLinkProductReleaseArgs = {
|
|
57890
|
+
productId: Scalars['ID']['input'];
|
|
57891
|
+
releaseId: Scalars['ID']['input'];
|
|
57892
|
+
};
|
|
57893
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57894
|
+
export type MutationPlanmagnetLinkProductRoadmapArgs = {
|
|
57895
|
+
productId: Scalars['ID']['input'];
|
|
57896
|
+
roadmapId: Scalars['ID']['input'];
|
|
57897
|
+
};
|
|
57898
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57341
57899
|
export type MutationPlanmagnetLinkWorkItemArgs = {
|
|
57342
57900
|
input: PlanmagnetCreateWorkItemLinkInput;
|
|
57343
57901
|
};
|
|
@@ -57350,6 +57908,11 @@ export type MutationPlanmagnetLogTimeArgs = {
|
|
|
57350
57908
|
input: PlanmagnetLogTimeInput;
|
|
57351
57909
|
};
|
|
57352
57910
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57911
|
+
export type MutationPlanmagnetMergeFeatureRequestArgs = {
|
|
57912
|
+
id: Scalars['ID']['input'];
|
|
57913
|
+
intoId: Scalars['ID']['input'];
|
|
57914
|
+
};
|
|
57915
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57353
57916
|
export type MutationPlanmagnetMoveCardArgs = {
|
|
57354
57917
|
boardId: Scalars['ID']['input'];
|
|
57355
57918
|
input: PlanmagnetMoveCardInput;
|
|
@@ -57378,6 +57941,21 @@ export type MutationPlanmagnetRemoveFeatureVoteArgs = {
|
|
|
57378
57941
|
featureRequestId: Scalars['ID']['input'];
|
|
57379
57942
|
};
|
|
57380
57943
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57944
|
+
export type MutationPlanmagnetRemoveTeamMembersArgs = {
|
|
57945
|
+
id: Scalars['ID']['input'];
|
|
57946
|
+
input: PlanmagnetTeamMembersInput;
|
|
57947
|
+
};
|
|
57948
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57949
|
+
export type MutationPlanmagnetRemoveTeamProjectsArgs = {
|
|
57950
|
+
id: Scalars['ID']['input'];
|
|
57951
|
+
input: PlanmagnetTeamProjectsInput;
|
|
57952
|
+
};
|
|
57953
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57954
|
+
export type MutationPlanmagnetRemoveWorkItemsFromReleaseArgs = {
|
|
57955
|
+
releaseId: Scalars['ID']['input'];
|
|
57956
|
+
workItemIds: Array<Scalars['ID']['input']>;
|
|
57957
|
+
};
|
|
57958
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57381
57959
|
export type MutationPlanmagnetRemoveWorkItemsFromSprintArgs = {
|
|
57382
57960
|
id: Scalars['ID']['input'];
|
|
57383
57961
|
input: PlanmagnetSprintWorkItemsInput;
|
|
@@ -57398,6 +57976,7 @@ export type MutationPlanmagnetResumeExternalSyncArgs = {
|
|
|
57398
57976
|
};
|
|
57399
57977
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57400
57978
|
export type MutationPlanmagnetRevertDocArgs = {
|
|
57979
|
+
expectedVersion?: InputMaybe<Scalars['Int']['input']>;
|
|
57401
57980
|
id: Scalars['ID']['input'];
|
|
57402
57981
|
toVersion: Scalars['Int']['input'];
|
|
57403
57982
|
};
|
|
@@ -57411,6 +57990,11 @@ export type MutationPlanmagnetSetCustomFieldValueArgs = {
|
|
|
57411
57990
|
input: PlanmagnetSetCustomFieldValueInput;
|
|
57412
57991
|
};
|
|
57413
57992
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57993
|
+
export type MutationPlanmagnetSnoozeFeatureRequestArgs = {
|
|
57994
|
+
id: Scalars['ID']['input'];
|
|
57995
|
+
until?: InputMaybe<Scalars['DateTime']['input']>;
|
|
57996
|
+
};
|
|
57997
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57414
57998
|
export type MutationPlanmagnetStartSprintArgs = {
|
|
57415
57999
|
id: Scalars['ID']['input'];
|
|
57416
58000
|
};
|
|
@@ -57432,6 +58016,10 @@ export type MutationPlanmagnetToggleAutomationRuleArgs = {
|
|
|
57432
58016
|
status: PlanmagnetAutomationStatus;
|
|
57433
58017
|
};
|
|
57434
58018
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
58019
|
+
export type MutationPlanmagnetUnarchiveProductArgs = {
|
|
58020
|
+
id: Scalars['ID']['input'];
|
|
58021
|
+
};
|
|
58022
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57435
58023
|
export type MutationPlanmagnetUnlinkCompetitorFromFeatureArgs = {
|
|
57436
58024
|
input: PlanmagnetLinkCompetitorInput;
|
|
57437
58025
|
};
|
|
@@ -57446,6 +58034,26 @@ export type MutationPlanmagnetUnlinkKeyResultFromWorkItemArgs = {
|
|
|
57446
58034
|
workItemId: Scalars['ID']['input'];
|
|
57447
58035
|
};
|
|
57448
58036
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
58037
|
+
export type MutationPlanmagnetUnlinkProductFeatureRequestArgs = {
|
|
58038
|
+
featureRequestId: Scalars['ID']['input'];
|
|
58039
|
+
productId: Scalars['ID']['input'];
|
|
58040
|
+
};
|
|
58041
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
58042
|
+
export type MutationPlanmagnetUnlinkProductObjectiveArgs = {
|
|
58043
|
+
objectiveId: Scalars['ID']['input'];
|
|
58044
|
+
productId: Scalars['ID']['input'];
|
|
58045
|
+
};
|
|
58046
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
58047
|
+
export type MutationPlanmagnetUnlinkProductReleaseArgs = {
|
|
58048
|
+
productId: Scalars['ID']['input'];
|
|
58049
|
+
releaseId: Scalars['ID']['input'];
|
|
58050
|
+
};
|
|
58051
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
58052
|
+
export type MutationPlanmagnetUnlinkProductRoadmapArgs = {
|
|
58053
|
+
productId: Scalars['ID']['input'];
|
|
58054
|
+
roadmapId: Scalars['ID']['input'];
|
|
58055
|
+
};
|
|
58056
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57449
58057
|
export type MutationPlanmagnetUnlinkWorkItemArgs = {
|
|
57450
58058
|
id: Scalars['ID']['input'];
|
|
57451
58059
|
};
|
|
@@ -57525,6 +58133,11 @@ export type MutationPlanmagnetUpdatePortfolioArgs = {
|
|
|
57525
58133
|
input: PlanmagnetUpdatePortfolioInput;
|
|
57526
58134
|
};
|
|
57527
58135
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
58136
|
+
export type MutationPlanmagnetUpdateProductArgs = {
|
|
58137
|
+
id: Scalars['ID']['input'];
|
|
58138
|
+
input: PlanmagnetUpdateProductInput;
|
|
58139
|
+
};
|
|
58140
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57528
58141
|
export type MutationPlanmagnetUpdateProgramArgs = {
|
|
57529
58142
|
id: Scalars['ID']['input'];
|
|
57530
58143
|
input: PlanmagnetUpdateProgramInput;
|
|
@@ -57540,6 +58153,11 @@ export type MutationPlanmagnetUpdateProjectTemplateArgs = {
|
|
|
57540
58153
|
input: PlanmagnetUpdateProjectTemplateInput;
|
|
57541
58154
|
};
|
|
57542
58155
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
58156
|
+
export type MutationPlanmagnetUpdateProjectWorkflowArgs = {
|
|
58157
|
+
input: PlanmagnetUpdateProjectWorkflowInput;
|
|
58158
|
+
projectId: Scalars['ID']['input'];
|
|
58159
|
+
};
|
|
58160
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57543
58161
|
export type MutationPlanmagnetUpdateQualityGateArgs = {
|
|
57544
58162
|
id: Scalars['ID']['input'];
|
|
57545
58163
|
input: PlanmagnetUpdateQualityGateInput;
|
|
@@ -57570,6 +58188,11 @@ export type MutationPlanmagnetUpdateSprintArgs = {
|
|
|
57570
58188
|
input: PlanmagnetUpdateSprintInput;
|
|
57571
58189
|
};
|
|
57572
58190
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
58191
|
+
export type MutationPlanmagnetUpdateTeamArgs = {
|
|
58192
|
+
id: Scalars['ID']['input'];
|
|
58193
|
+
input: PlanmagnetUpdateTeamInput;
|
|
58194
|
+
};
|
|
58195
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57573
58196
|
export type MutationPlanmagnetUpdateTimeEntryArgs = {
|
|
57574
58197
|
id: Scalars['ID']['input'];
|
|
57575
58198
|
input: PlanmagnetUpdateTimeEntryInput;
|
|
@@ -57715,6 +58338,10 @@ export type MutationProposeHealthyBowlAgronomyDecisionsArgs = {
|
|
|
57715
58338
|
input: ProposeAgronomyDecisionsInput;
|
|
57716
58339
|
};
|
|
57717
58340
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
58341
|
+
export type MutationProvisionAssistantSandboxArgs = {
|
|
58342
|
+
input: ProvisionAssistantSandboxInput;
|
|
58343
|
+
};
|
|
58344
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
57718
58345
|
export type MutationProxySandboxRequestArgs = {
|
|
57719
58346
|
input: ProxySandboxRequestInput;
|
|
57720
58347
|
};
|
|
@@ -58748,6 +59375,10 @@ export type MutationReportMessageArgs = {
|
|
|
58748
59375
|
reason: Scalars['String']['input'];
|
|
58749
59376
|
};
|
|
58750
59377
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
59378
|
+
export type MutationReportMyAssistantTurnTimingsArgs = {
|
|
59379
|
+
input: ReportAssistantTurnTimingsInput;
|
|
59380
|
+
};
|
|
59381
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
58751
59382
|
export type MutationReprocessTimeCampusTimelineArgs = {
|
|
58752
59383
|
workspaceId: Scalars['ID']['input'];
|
|
58753
59384
|
};
|
|
@@ -59441,6 +60072,10 @@ export type MutationSaveHousingvistaShortlistArgs = {
|
|
|
59441
60072
|
input: HousingVistaSaveShortlistInput;
|
|
59442
60073
|
};
|
|
59443
60074
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
60075
|
+
export type MutationSaveMyAssistantHistoryEntriesArgs = {
|
|
60076
|
+
input: SaveMyAssistantHistoryEntriesInput;
|
|
60077
|
+
};
|
|
60078
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
59444
60079
|
export type MutationSaveMyNavPreferencesArgs = {
|
|
59445
60080
|
input: SaveNavPreferencesInput;
|
|
59446
60081
|
};
|
|
@@ -60038,6 +60673,11 @@ export type MutationStopCallRecordingArgs = {
|
|
|
60038
60673
|
callSessionId: Scalars['ID']['input'];
|
|
60039
60674
|
};
|
|
60040
60675
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
60676
|
+
export type MutationStopMyAssistantSandboxArgs = {
|
|
60677
|
+
context: ContextInput;
|
|
60678
|
+
id: Scalars['ID']['input'];
|
|
60679
|
+
};
|
|
60680
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
60041
60681
|
export type MutationStopSandboxArgs = {
|
|
60042
60682
|
context: ContextInput;
|
|
60043
60683
|
id: Scalars['ID']['input'];
|
|
@@ -60873,6 +61513,10 @@ export type MutationTransferGroupOwnershipArgs = {
|
|
|
60873
61513
|
newOwnerId: Scalars['ID']['input'];
|
|
60874
61514
|
};
|
|
60875
61515
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
61516
|
+
export type MutationTransferInventoryStockArgs = {
|
|
61517
|
+
input: TransferInventoryStockInput;
|
|
61518
|
+
};
|
|
61519
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
60876
61520
|
export type MutationTransferSessionControlArgs = {
|
|
60877
61521
|
sessionId: Scalars['ID']['input'];
|
|
60878
61522
|
toUserId: Scalars['ID']['input'];
|
|
@@ -63074,6 +63718,10 @@ export type MutationWorkerCompleteRunArgs = {
|
|
|
63074
63718
|
input: WorkerCompleteRunInput;
|
|
63075
63719
|
};
|
|
63076
63720
|
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
63721
|
+
export type MutationWorkerCreateChildRunArgs = {
|
|
63722
|
+
input: WorkerCreateChildRunInput;
|
|
63723
|
+
};
|
|
63724
|
+
/** Base Mutation type with placeholder field. Extended by individual mutation files. */
|
|
63077
63725
|
export type MutationWorkerCreateNodeStateArgs = {
|
|
63078
63726
|
input: WorkerCreateNodeStateInput;
|
|
63079
63727
|
};
|
|
@@ -64848,6 +65496,55 @@ export type PlanMultiModalShipmentInput = {
|
|
|
64848
65496
|
shipmentNumber: Scalars['String']['input'];
|
|
64849
65497
|
storeOrderId?: InputMaybe<Scalars['ID']['input']>;
|
|
64850
65498
|
};
|
|
65499
|
+
/** Accept a request out of triage */
|
|
65500
|
+
export type PlanmagnetAcceptFeatureRequestInput = {
|
|
65501
|
+
/** The project that will deliver it */
|
|
65502
|
+
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
65503
|
+
/** UNDER_REVIEW or PLANNED (the default) */
|
|
65504
|
+
status?: InputMaybe<FeatureRequestStatus>;
|
|
65505
|
+
};
|
|
65506
|
+
export type PlanmagnetAddWorkItemCommentInput = {
|
|
65507
|
+
/** Comment text (1 to 10,000 characters after trimming) */
|
|
65508
|
+
body: Scalars['String']['input'];
|
|
65509
|
+
workItemId: Scalars['ID']['input'];
|
|
65510
|
+
};
|
|
65511
|
+
/** 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. */
|
|
65512
|
+
export type PlanmagnetAgentRun = {
|
|
65513
|
+
__typename?: 'PlanmagnetAgentRun';
|
|
65514
|
+
actorId: Scalars['String']['output'];
|
|
65515
|
+
actorType: Scalars['String']['output'];
|
|
65516
|
+
createdAt: Scalars['DateTime']['output'];
|
|
65517
|
+
/** What the model decided (e.g. the suggestions it returned), as recorded. */
|
|
65518
|
+
decision?: Maybe<Scalars['JSON']['output']>;
|
|
65519
|
+
error?: Maybe<Scalars['String']['output']>;
|
|
65520
|
+
id: Scalars['ID']['output'];
|
|
65521
|
+
latencyMs?: Maybe<Scalars['Int']['output']>;
|
|
65522
|
+
model: Scalars['String']['output'];
|
|
65523
|
+
promptSummary: Scalars['String']['output'];
|
|
65524
|
+
provider: Scalars['String']['output'];
|
|
65525
|
+
status: PlanmagnetAgentRunStatus;
|
|
65526
|
+
tokensIn?: Maybe<Scalars['Int']['output']>;
|
|
65527
|
+
tokensOut?: Maybe<Scalars['Int']['output']>;
|
|
65528
|
+
trigger: PlanmagnetAgentRunTrigger;
|
|
65529
|
+
workspaceId: Scalars['ID']['output'];
|
|
65530
|
+
};
|
|
65531
|
+
export type PlanmagnetAgentRunFilter = {
|
|
65532
|
+
status?: InputMaybe<PlanmagnetAgentRunStatus>;
|
|
65533
|
+
};
|
|
65534
|
+
export type PlanmagnetAgentRunList = {
|
|
65535
|
+
__typename?: 'PlanmagnetAgentRunList';
|
|
65536
|
+
items: Array<PlanmagnetAgentRun>;
|
|
65537
|
+
pageInfo: PlanmagnetPageInfo;
|
|
65538
|
+
totalCount: Scalars['Int']['output'];
|
|
65539
|
+
};
|
|
65540
|
+
/** 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. */
|
|
65541
|
+
export declare enum PlanmagnetAgentRunStatus {
|
|
65542
|
+
Failed = "FAILED",
|
|
65543
|
+
Succeeded = "SUCCEEDED"
|
|
65544
|
+
}
|
|
65545
|
+
export declare enum PlanmagnetAgentRunTrigger {
|
|
65546
|
+
Manual = "MANUAL"
|
|
65547
|
+
}
|
|
64851
65548
|
export type PlanmagnetApplyTemplateInput = {
|
|
64852
65549
|
ownerId: Scalars['String']['input'];
|
|
64853
65550
|
projectDescription?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -64893,10 +65590,14 @@ export type PlanmagnetAutomationExecutionList = {
|
|
|
64893
65590
|
pageInfo: PlanmagnetPageInfo;
|
|
64894
65591
|
totalCount: Scalars['Int']['output'];
|
|
64895
65592
|
};
|
|
65593
|
+
/** 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. */
|
|
64896
65594
|
export declare enum PlanmagnetAutomationExecutionStatus {
|
|
64897
65595
|
Failure = "FAILURE",
|
|
65596
|
+
/** Some actions ran, others failed or could not be dispatched. */
|
|
65597
|
+
PartialFailure = "PARTIAL_FAILURE",
|
|
64898
65598
|
Pending = "PENDING",
|
|
64899
65599
|
Running = "RUNNING",
|
|
65600
|
+
/** Nothing ran — no action the rule declared is supported by this engine. */
|
|
64900
65601
|
Skipped = "SKIPPED",
|
|
64901
65602
|
Success = "SUCCESS"
|
|
64902
65603
|
}
|
|
@@ -65065,7 +65766,9 @@ export type PlanmagnetBudget = {
|
|
|
65065
65766
|
export type PlanmagnetBudgetExpenseFilter = {
|
|
65066
65767
|
budgetId?: InputMaybe<Scalars['String']['input']>;
|
|
65067
65768
|
category?: InputMaybe<Scalars['String']['input']>;
|
|
65769
|
+
/** Expenses dated on or after this UTC day */
|
|
65068
65770
|
dateFrom?: InputMaybe<Scalars['DateTime']['input']>;
|
|
65771
|
+
/** Expenses dated on or before this UTC day (the whole day is included) */
|
|
65069
65772
|
dateTo?: InputMaybe<Scalars['DateTime']['input']>;
|
|
65070
65773
|
};
|
|
65071
65774
|
export type PlanmagnetBudgetExpenseList = {
|
|
@@ -65154,6 +65857,8 @@ export type PlanmagnetCreateBoardInput = {
|
|
|
65154
65857
|
name: Scalars['String']['input'];
|
|
65155
65858
|
projectId: Scalars['String']['input'];
|
|
65156
65859
|
type: BoardType;
|
|
65860
|
+
/** Also create one column per status of the default workflow (Backlog, To Do, In Progress, In Review, Testing, Done), each mapped to its status */
|
|
65861
|
+
withDefaultColumns?: InputMaybe<Scalars['Boolean']['input']>;
|
|
65157
65862
|
};
|
|
65158
65863
|
export type PlanmagnetCreateBudgetInput = {
|
|
65159
65864
|
currency: Scalars['String']['input'];
|
|
@@ -65186,9 +65891,10 @@ export type PlanmagnetCreateCustomFieldDefinitionInput = {
|
|
|
65186
65891
|
};
|
|
65187
65892
|
export type PlanmagnetCreateDependencyInput = {
|
|
65188
65893
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
65894
|
+
lagMinutes?: InputMaybe<Scalars['Int']['input']>;
|
|
65189
65895
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
65190
|
-
|
|
65191
|
-
|
|
65896
|
+
predecessorId: Scalars['String']['input'];
|
|
65897
|
+
successorId: Scalars['String']['input'];
|
|
65192
65898
|
type: DependencyType;
|
|
65193
65899
|
};
|
|
65194
65900
|
export type PlanmagnetCreateDocInput = {
|
|
@@ -65212,6 +65918,7 @@ export type PlanmagnetCreateFeatureRequestInput = {
|
|
|
65212
65918
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
65213
65919
|
effortEstimate?: InputMaybe<Scalars['String']['input']>;
|
|
65214
65920
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
65921
|
+
productId?: InputMaybe<Scalars['String']['input']>;
|
|
65215
65922
|
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
65216
65923
|
status?: InputMaybe<FeatureRequestStatus>;
|
|
65217
65924
|
tags?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
@@ -65266,6 +65973,15 @@ export type PlanmagnetCreatePortfolioInput = {
|
|
|
65266
65973
|
status?: InputMaybe<PortfolioStatus>;
|
|
65267
65974
|
tags?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
65268
65975
|
};
|
|
65976
|
+
export type PlanmagnetCreateProductInput = {
|
|
65977
|
+
description?: InputMaybe<Scalars['String']['input']>;
|
|
65978
|
+
lifecycleStage?: InputMaybe<PlanmagnetProductLifecycleStage>;
|
|
65979
|
+
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
65980
|
+
name: Scalars['String']['input'];
|
|
65981
|
+
northStar?: InputMaybe<PlanmagnetProductNorthStarInput>;
|
|
65982
|
+
ownerId: Scalars['String']['input'];
|
|
65983
|
+
vision: Scalars['String']['input'];
|
|
65984
|
+
};
|
|
65269
65985
|
export type PlanmagnetCreateProgramInput = {
|
|
65270
65986
|
budgetTotal?: InputMaybe<Scalars['Float']['input']>;
|
|
65271
65987
|
currency?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -65287,6 +66003,8 @@ export type PlanmagnetCreateProjectInput = {
|
|
|
65287
66003
|
methodology?: InputMaybe<ProjectMethodology>;
|
|
65288
66004
|
name: Scalars['String']['input'];
|
|
65289
66005
|
ownerId: Scalars['String']['input'];
|
|
66006
|
+
/** Parent portfolio ID. Must exist in the same workspace and not be soft-deleted (BOFF-8047). */
|
|
66007
|
+
portfolioId?: InputMaybe<Scalars['String']['input']>;
|
|
65290
66008
|
programId?: InputMaybe<Scalars['String']['input']>;
|
|
65291
66009
|
startDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
65292
66010
|
status?: InputMaybe<PlanmagnetProjectStatus>;
|
|
@@ -65315,6 +66033,8 @@ export type PlanmagnetCreateQualityGateInput = {
|
|
|
65315
66033
|
name: Scalars['String']['input'];
|
|
65316
66034
|
phase?: InputMaybe<Scalars['String']['input']>;
|
|
65317
66035
|
projectId: Scalars['String']['input'];
|
|
66036
|
+
/** The release this gate holds (a release of the same project, or one with no projects) */
|
|
66037
|
+
releaseId?: InputMaybe<Scalars['String']['input']>;
|
|
65318
66038
|
sortOrder?: InputMaybe<Scalars['Int']['input']>;
|
|
65319
66039
|
};
|
|
65320
66040
|
export type PlanmagnetCreateReleaseInput = {
|
|
@@ -65323,6 +66043,7 @@ export type PlanmagnetCreateReleaseInput = {
|
|
|
65323
66043
|
name: Scalars['String']['input'];
|
|
65324
66044
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
65325
66045
|
plannedDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
66046
|
+
productId?: InputMaybe<Scalars['String']['input']>;
|
|
65326
66047
|
projectId: Scalars['String']['input'];
|
|
65327
66048
|
releaseNotes?: InputMaybe<Scalars['String']['input']>;
|
|
65328
66049
|
status?: InputMaybe<ReleaseStatus>;
|
|
@@ -65350,6 +66071,8 @@ export type PlanmagnetCreateRoadmapInput = {
|
|
|
65350
66071
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
65351
66072
|
name: Scalars['String']['input'];
|
|
65352
66073
|
ownerId: Scalars['String']['input'];
|
|
66074
|
+
planningFocus?: InputMaybe<RoadmapPlanningFocus>;
|
|
66075
|
+
productId?: InputMaybe<Scalars['String']['input']>;
|
|
65353
66076
|
type: RoadmapType;
|
|
65354
66077
|
};
|
|
65355
66078
|
export type PlanmagnetCreateRoadmapItemInput = {
|
|
@@ -65373,10 +66096,18 @@ export type PlanmagnetCreateSprintInput = {
|
|
|
65373
66096
|
goal?: InputMaybe<Scalars['String']['input']>;
|
|
65374
66097
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
65375
66098
|
name: Scalars['String']['input'];
|
|
65376
|
-
projectId
|
|
66099
|
+
/** Exactly one of projectId/teamId is required (BOFF-8044) — enforced server-side (sprint.errors.scopeConflict / sprint.errors.scopeRequired). */
|
|
66100
|
+
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
65377
66101
|
/** Accepted for API compatibility but not honored: sort position is always the auto-assigned, per-project-unique `sequenceNumber` — see sprint.service.ts. */
|
|
65378
66102
|
sortOrder?: InputMaybe<Scalars['Int']['input']>;
|
|
65379
66103
|
startDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
66104
|
+
teamId?: InputMaybe<Scalars['String']['input']>;
|
|
66105
|
+
};
|
|
66106
|
+
export type PlanmagnetCreateTeamInput = {
|
|
66107
|
+
capacity?: InputMaybe<Scalars['Int']['input']>;
|
|
66108
|
+
description?: InputMaybe<Scalars['String']['input']>;
|
|
66109
|
+
leadId?: InputMaybe<Scalars['String']['input']>;
|
|
66110
|
+
name: Scalars['String']['input'];
|
|
65380
66111
|
};
|
|
65381
66112
|
export type PlanmagnetCreateTimeEntryInput = {
|
|
65382
66113
|
billingRate?: InputMaybe<Scalars['Float']['input']>;
|
|
@@ -65384,10 +66115,8 @@ export type PlanmagnetCreateTimeEntryInput = {
|
|
|
65384
66115
|
date: Scalars['DateTime']['input'];
|
|
65385
66116
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
65386
66117
|
durationMinutes: Scalars['Int']['input'];
|
|
65387
|
-
endTime?: InputMaybe<Scalars['DateTime']['input']>;
|
|
65388
66118
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
65389
66119
|
projectId: Scalars['String']['input'];
|
|
65390
|
-
startTime?: InputMaybe<Scalars['DateTime']['input']>;
|
|
65391
66120
|
timesheetId?: InputMaybe<Scalars['String']['input']>;
|
|
65392
66121
|
workItemId: Scalars['String']['input'];
|
|
65393
66122
|
};
|
|
@@ -65431,7 +66160,8 @@ export type PlanmagnetCriticalPath = {
|
|
|
65431
66160
|
path: Array<PlanmagnetDependencyNode>;
|
|
65432
66161
|
/** Per-node slack in days. Nodes on the critical path have slack 0. */
|
|
65433
66162
|
slack: Scalars['JSON']['output'];
|
|
65434
|
-
totalLagDays:
|
|
66163
|
+
/** 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. */
|
|
66164
|
+
totalDurationMinutes: Scalars['Int']['output'];
|
|
65435
66165
|
};
|
|
65436
66166
|
/** Cumulative flow diagram data for a project over a date range. */
|
|
65437
66167
|
export type PlanmagnetCumulativeFlow = {
|
|
@@ -65495,9 +66225,9 @@ export type PlanmagnetDependencyCycle = {
|
|
|
65495
66225
|
workItemIds: Array<Scalars['ID']['output']>;
|
|
65496
66226
|
};
|
|
65497
66227
|
export type PlanmagnetDependencyFilter = {
|
|
65498
|
-
|
|
66228
|
+
predecessorId?: InputMaybe<Scalars['String']['input']>;
|
|
65499
66229
|
status?: InputMaybe<DependencyStatus>;
|
|
65500
|
-
|
|
66230
|
+
successorId?: InputMaybe<Scalars['String']['input']>;
|
|
65501
66231
|
type?: InputMaybe<DependencyType>;
|
|
65502
66232
|
};
|
|
65503
66233
|
/** A node participating in a dependency chain / critical path. Holds the resolved work-item title and key so the client can render the chain without a follow-up N+1 query. */
|
|
@@ -65548,6 +66278,25 @@ export type PlanmagnetDocRevision = {
|
|
|
65548
66278
|
title: Scalars['String']['output'];
|
|
65549
66279
|
version: Scalars['Int']['output'];
|
|
65550
66280
|
};
|
|
66281
|
+
/** 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. */
|
|
66282
|
+
export declare enum PlanmagnetDueGroup {
|
|
66283
|
+
DueLater = "DUE_LATER",
|
|
66284
|
+
DueThisWeek = "DUE_THIS_WEEK",
|
|
66285
|
+
DueToday = "DUE_TODAY",
|
|
66286
|
+
NoDueDate = "NO_DUE_DATE",
|
|
66287
|
+
Overdue = "OVERDUE"
|
|
66288
|
+
}
|
|
66289
|
+
export type PlanmagnetEraseResult = {
|
|
66290
|
+
__typename?: 'PlanmagnetEraseResult';
|
|
66291
|
+
/** Id columns replaced by a one-way tombstone or cleared (authorship, ownership, history, assignments) */
|
|
66292
|
+
anonymised: Scalars['Int']['output'];
|
|
66293
|
+
dryRun: Scalars['Boolean']['output'];
|
|
66294
|
+
notes?: Maybe<Scalars['String']['output']>;
|
|
66295
|
+
/** Rows deleted (the person's own: votes, editor seats, time nobody signed off) */
|
|
66296
|
+
purged: Scalars['Int']['output'];
|
|
66297
|
+
retainedForLegalReason?: Maybe<Scalars['String']['output']>;
|
|
66298
|
+
service: Scalars['String']['output'];
|
|
66299
|
+
};
|
|
65551
66300
|
export type PlanmagnetExportToExternalInput = {
|
|
65552
66301
|
exportAll?: InputMaybe<Scalars['Boolean']['input']>;
|
|
65553
66302
|
internalIds?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
@@ -65579,11 +66328,23 @@ export type PlanmagnetExternalSyncList = {
|
|
|
65579
66328
|
pageInfo: PlanmagnetPageInfo;
|
|
65580
66329
|
totalCount: Scalars['Int']['output'];
|
|
65581
66330
|
};
|
|
66331
|
+
/** Feature request list order */
|
|
66332
|
+
export declare enum PlanmagnetFeatureOrder {
|
|
66333
|
+
/** Most votes first */
|
|
66334
|
+
MostVoted = "MOST_VOTED",
|
|
66335
|
+
/** Newest first (the default) */
|
|
66336
|
+
Newest = "NEWEST"
|
|
66337
|
+
}
|
|
65582
66338
|
export type PlanmagnetFeatureRequestFilter = {
|
|
66339
|
+
productId?: InputMaybe<Scalars['String']['input']>;
|
|
65583
66340
|
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
65584
66341
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
66342
|
+
/** true: SUBMITTED and snoozed into the future. false: not currently snoozed */
|
|
66343
|
+
snoozed?: InputMaybe<Scalars['Boolean']['input']>;
|
|
65585
66344
|
status?: InputMaybe<FeatureRequestStatus>;
|
|
65586
66345
|
submittedBy?: InputMaybe<Scalars['String']['input']>;
|
|
66346
|
+
/** true: the triage queue — SUBMITTED and not snoozed (or its snooze has passed). false: everything else */
|
|
66347
|
+
triage?: InputMaybe<Scalars['Boolean']['input']>;
|
|
65587
66348
|
};
|
|
65588
66349
|
export type PlanmagnetFeatureRequestList = {
|
|
65589
66350
|
__typename?: 'PlanmagnetFeatureRequestList';
|
|
@@ -65602,6 +66363,10 @@ export type PlanmagnetGenerateReleaseNotesPayload = {
|
|
|
65602
66363
|
export type PlanmagnetImportExternalIssuesInput = {
|
|
65603
66364
|
/** The exported file contents (CSV text or JSON). */
|
|
65604
66365
|
data: Scalars['String']['input'];
|
|
66366
|
+
/** Preview only: report what WOULD be imported and what would be lost, and write nothing (not even the sync). */
|
|
66367
|
+
dryRun?: InputMaybe<Scalars['Boolean']['input']>;
|
|
66368
|
+
/** 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. */
|
|
66369
|
+
fieldMapping?: InputMaybe<Scalars['JSON']['input']>;
|
|
65605
66370
|
/** Format of the exported payload. */
|
|
65606
66371
|
format: PlanmagnetImportFormat;
|
|
65607
66372
|
/** Target PlanMagnet project the imported WorkItems are created in. */
|
|
@@ -65620,12 +66385,42 @@ export type PlanmagnetImportFromExternalInput = {
|
|
|
65620
66385
|
importAll?: InputMaybe<Scalars['Boolean']['input']>;
|
|
65621
66386
|
syncId: Scalars['String']['input'];
|
|
65622
66387
|
};
|
|
66388
|
+
/** One issue of an import, with what could not be carried over from it */
|
|
66389
|
+
export type PlanmagnetImportIssueReport = {
|
|
66390
|
+
__typename?: 'PlanmagnetImportIssueReport';
|
|
66391
|
+
externalId: Scalars['String']['output'];
|
|
66392
|
+
/** Link back to the issue in the source tool */
|
|
66393
|
+
externalUrl?: Maybe<Scalars['String']['output']>;
|
|
66394
|
+
/** What was lost or changed on the way (unmapped state or priority, unmatched assignee, bad due date) */
|
|
66395
|
+
notes: Array<Scalars['String']['output']>;
|
|
66396
|
+
outcome: PlanmagnetImportOutcome;
|
|
66397
|
+
title: Scalars['String']['output'];
|
|
66398
|
+
/** The work item it became (or already is) */
|
|
66399
|
+
workItemId?: Maybe<Scalars['String']['output']>;
|
|
66400
|
+
};
|
|
66401
|
+
/** What happened to one issue of an import */
|
|
66402
|
+
export declare enum PlanmagnetImportOutcome {
|
|
66403
|
+
/** Imported by an earlier run; this run left it alone (reruns are duplicate-safe) */
|
|
66404
|
+
AlreadyImported = "ALREADY_IMPORTED",
|
|
66405
|
+
/** Could not be created (see the run's errors) */
|
|
66406
|
+
Failed = "FAILED",
|
|
66407
|
+
/** Created as a work item */
|
|
66408
|
+
Imported = "IMPORTED",
|
|
66409
|
+
/** Preview: would be created */
|
|
66410
|
+
WouldImport = "WOULD_IMPORT"
|
|
66411
|
+
}
|
|
65623
66412
|
/** Summary of an external-issue import run. */
|
|
65624
66413
|
export type PlanmagnetImportResult = {
|
|
65625
66414
|
__typename?: 'PlanmagnetImportResult';
|
|
66415
|
+
/** True when this was a preview and nothing was written */
|
|
66416
|
+
dryRun: Scalars['Boolean']['output'];
|
|
65626
66417
|
errors: Array<Scalars['String']['output']>;
|
|
65627
66418
|
failed: Scalars['Int']['output'];
|
|
65628
66419
|
imported: Scalars['Int']['output'];
|
|
66420
|
+
/** Every issue in the export, in order, with its outcome and notes */
|
|
66421
|
+
issues: Array<PlanmagnetImportIssueReport>;
|
|
66422
|
+
/** The discrepancy report: each kind of loss, counted (unmapped states, unmatched assignees, rejected rows, columns nothing reads) */
|
|
66423
|
+
notCarriedOver: Array<Scalars['String']['output']>;
|
|
65629
66424
|
skipped: Scalars['Int']['output'];
|
|
65630
66425
|
workItemIds: Array<Scalars['String']['output']>;
|
|
65631
66426
|
};
|
|
@@ -65686,6 +66481,12 @@ export type PlanmagnetLogTimeInput = {
|
|
|
65686
66481
|
workItemId: Scalars['String']['input'];
|
|
65687
66482
|
};
|
|
65688
66483
|
export type PlanmagnetMilestoneFilter = {
|
|
66484
|
+
/** Due on or after this UTC day */
|
|
66485
|
+
dueFrom?: InputMaybe<Scalars['DateTime']['input']>;
|
|
66486
|
+
/** Due on or before this UTC day */
|
|
66487
|
+
dueTo?: InputMaybe<Scalars['DateTime']['input']>;
|
|
66488
|
+
/** Only milestones still open (PENDING or IN_PROGRESS) */
|
|
66489
|
+
open?: InputMaybe<Scalars['Boolean']['input']>;
|
|
65689
66490
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
65690
66491
|
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
65691
66492
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -65697,6 +66498,13 @@ export type PlanmagnetMilestoneList = {
|
|
|
65697
66498
|
pageInfo: PlanmagnetPageInfo;
|
|
65698
66499
|
totalCount: Scalars['Int']['output'];
|
|
65699
66500
|
};
|
|
66501
|
+
/** Milestone list order */
|
|
66502
|
+
export declare enum PlanmagnetMilestoneOrder {
|
|
66503
|
+
/** Nearest due date first; milestones with no due date last */
|
|
66504
|
+
DueSoonest = "DUE_SOONEST",
|
|
66505
|
+
/** Newest first (the default) */
|
|
66506
|
+
Newest = "NEWEST"
|
|
66507
|
+
}
|
|
65700
66508
|
export type PlanmagnetMoveCardInput = {
|
|
65701
66509
|
sortOrder?: InputMaybe<Scalars['Int']['input']>;
|
|
65702
66510
|
targetColumnId: Scalars['ID']['input'];
|
|
@@ -65707,6 +66515,13 @@ export type PlanmagnetMoveWorkItemInput = {
|
|
|
65707
66515
|
sprintId?: InputMaybe<Scalars['String']['input']>;
|
|
65708
66516
|
status?: InputMaybe<WorkItemStatus>;
|
|
65709
66517
|
};
|
|
66518
|
+
export type PlanmagnetMyWorkItemFilter = {
|
|
66519
|
+
/** Default false: DONE/CANCELLED items are left out. Set true to also see recently-closed work. */
|
|
66520
|
+
includeClosed?: InputMaybe<Scalars['Boolean']['input']>;
|
|
66521
|
+
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
66522
|
+
sprintId?: InputMaybe<Scalars['String']['input']>;
|
|
66523
|
+
status?: InputMaybe<WorkItemStatus>;
|
|
66524
|
+
};
|
|
65710
66525
|
/** A workspace-scoped goal for a given time period. `progress` is the average of its non-deleted KeyResults' progress (0 when it has none). */
|
|
65711
66526
|
export type PlanmagnetObjective = {
|
|
65712
66527
|
__typename?: 'PlanmagnetObjective';
|
|
@@ -65789,6 +66604,46 @@ export type PlanmagnetPortfolioOverview = {
|
|
|
65789
66604
|
/** Total budget spent */
|
|
65790
66605
|
totalSpent?: Maybe<Scalars['Float']['output']>;
|
|
65791
66606
|
};
|
|
66607
|
+
export type PlanmagnetProductFilter = {
|
|
66608
|
+
/** false: only archived; true: only active; omitted: both. */
|
|
66609
|
+
isActive?: InputMaybe<Scalars['Boolean']['input']>;
|
|
66610
|
+
lifecycleStage?: InputMaybe<PlanmagnetProductLifecycleStage>;
|
|
66611
|
+
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
66612
|
+
search?: InputMaybe<Scalars['String']['input']>;
|
|
66613
|
+
};
|
|
66614
|
+
export declare enum PlanmagnetProductLifecycleStage {
|
|
66615
|
+
Beta = "BETA",
|
|
66616
|
+
Concept = "CONCEPT",
|
|
66617
|
+
Deprecated = "DEPRECATED",
|
|
66618
|
+
Development = "DEVELOPMENT",
|
|
66619
|
+
Launched = "LAUNCHED",
|
|
66620
|
+
Mature = "MATURE"
|
|
66621
|
+
}
|
|
66622
|
+
export type PlanmagnetProductList = {
|
|
66623
|
+
__typename?: 'PlanmagnetProductList';
|
|
66624
|
+
items: Array<Product>;
|
|
66625
|
+
pageInfo: PlanmagnetPageInfo;
|
|
66626
|
+
totalCount: Scalars['Int']['output'];
|
|
66627
|
+
};
|
|
66628
|
+
export type PlanmagnetProductNorthStar = {
|
|
66629
|
+
__typename?: 'PlanmagnetProductNorthStar';
|
|
66630
|
+
current: Scalars['Float']['output'];
|
|
66631
|
+
measuredAt?: Maybe<Scalars['DateTime']['output']>;
|
|
66632
|
+
name: Scalars['String']['output'];
|
|
66633
|
+
/** 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. */
|
|
66634
|
+
progressRatio?: Maybe<Scalars['Float']['output']>;
|
|
66635
|
+
target: Scalars['Float']['output'];
|
|
66636
|
+
unit: Scalars['String']['output'];
|
|
66637
|
+
window: Scalars['String']['output'];
|
|
66638
|
+
};
|
|
66639
|
+
export type PlanmagnetProductNorthStarInput = {
|
|
66640
|
+
current: Scalars['Float']['input'];
|
|
66641
|
+
measuredAt?: InputMaybe<Scalars['DateTime']['input']>;
|
|
66642
|
+
name: Scalars['String']['input'];
|
|
66643
|
+
target: Scalars['Float']['input'];
|
|
66644
|
+
unit: Scalars['String']['input'];
|
|
66645
|
+
window: Scalars['String']['input'];
|
|
66646
|
+
};
|
|
65792
66647
|
export type PlanmagnetProgramFilter = {
|
|
65793
66648
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
65794
66649
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -65841,6 +66696,10 @@ export type PlanmagnetProject = {
|
|
|
65841
66696
|
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
65842
66697
|
/** Owner actor ID */
|
|
65843
66698
|
ownerId: Scalars['String']['output'];
|
|
66699
|
+
/** Parent portfolio */
|
|
66700
|
+
portfolio?: Maybe<Portfolio>;
|
|
66701
|
+
/** 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. */
|
|
66702
|
+
portfolioId?: Maybe<Scalars['String']['output']>;
|
|
65844
66703
|
/** Parent program */
|
|
65845
66704
|
program?: Maybe<Program>;
|
|
65846
66705
|
/** Parent program ID */
|
|
@@ -65865,12 +66724,15 @@ export type PlanmagnetProject = {
|
|
|
65865
66724
|
updatedBy?: Maybe<Scalars['String']['output']>;
|
|
65866
66725
|
/** Work items in this project */
|
|
65867
66726
|
workItems: Array<WorkItem>;
|
|
66727
|
+
/** This project's workflow (labels, hidden statuses, categories, transition rules) */
|
|
66728
|
+
workflow: PlanmagnetProjectWorkflow;
|
|
65868
66729
|
/** Associated workspace ID */
|
|
65869
66730
|
workspaceId: Scalars['String']['output'];
|
|
65870
66731
|
};
|
|
65871
66732
|
export type PlanmagnetProjectFilter = {
|
|
65872
66733
|
methodology?: InputMaybe<ProjectMethodology>;
|
|
65873
66734
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
66735
|
+
portfolioId?: InputMaybe<Scalars['String']['input']>;
|
|
65874
66736
|
programId?: InputMaybe<Scalars['String']['input']>;
|
|
65875
66737
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
65876
66738
|
status?: InputMaybe<PlanmagnetProjectStatus>;
|
|
@@ -65901,6 +66763,16 @@ export type PlanmagnetProjectTemplateList = {
|
|
|
65901
66763
|
pageInfo: PlanmagnetPageInfo;
|
|
65902
66764
|
totalCount: Scalars['Int']['output'];
|
|
65903
66765
|
};
|
|
66766
|
+
/** A project's workflow: all seven statuses in canonical order, and its transition rules */
|
|
66767
|
+
export type PlanmagnetProjectWorkflow = {
|
|
66768
|
+
__typename?: 'PlanmagnetProjectWorkflow';
|
|
66769
|
+
/** When false, any move between visible statuses is allowed */
|
|
66770
|
+
enforceTransitions: Scalars['Boolean']['output'];
|
|
66771
|
+
projectId: Scalars['String']['output'];
|
|
66772
|
+
statuses: Array<PlanmagnetWorkflowStatus>;
|
|
66773
|
+
/** Allowed moves (read only when enforceTransitions is true) */
|
|
66774
|
+
transitions: Array<PlanmagnetWorkflowTransition>;
|
|
66775
|
+
};
|
|
65904
66776
|
export type PlanmagnetQualityGateFilter = {
|
|
65905
66777
|
milestoneId?: InputMaybe<Scalars['String']['input']>;
|
|
65906
66778
|
phase?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -65936,8 +66808,15 @@ export type PlanmagnetQuotaOverview = {
|
|
|
65936
66808
|
/** Workspace identifier */
|
|
65937
66809
|
workspaceId: Scalars['ID']['output'];
|
|
65938
66810
|
};
|
|
66811
|
+
export type PlanmagnetReleaseBlocker = {
|
|
66812
|
+
__typename?: 'PlanmagnetReleaseBlocker';
|
|
66813
|
+
/** Unfinished (or, for START_* dependencies, unstarted) predecessors holding it back. They may belong to another release or project. */
|
|
66814
|
+
waitingOn: Array<WorkItem>;
|
|
66815
|
+
workItem: WorkItem;
|
|
66816
|
+
};
|
|
65939
66817
|
export type PlanmagnetReleaseFilter = {
|
|
65940
66818
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
66819
|
+
productId?: InputMaybe<Scalars['String']['input']>;
|
|
65941
66820
|
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
65942
66821
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
65943
66822
|
status?: InputMaybe<ReleaseStatus>;
|
|
@@ -65956,6 +66835,23 @@ export type PlanmagnetReleaseNotesCounts = {
|
|
|
65956
66835
|
other: Scalars['Int']['output'];
|
|
65957
66836
|
total: Scalars['Int']['output'];
|
|
65958
66837
|
};
|
|
66838
|
+
export type PlanmagnetReleaseReadiness = {
|
|
66839
|
+
__typename?: 'PlanmagnetReleaseReadiness';
|
|
66840
|
+
blockers: Array<PlanmagnetReleaseBlocker>;
|
|
66841
|
+
doneItems: Scalars['Int']['output'];
|
|
66842
|
+
/** Ids of the open (not DONE or CANCELLED) items in scope. */
|
|
66843
|
+
openWorkItemIds: Array<Scalars['ID']['output']>;
|
|
66844
|
+
releaseId: Scalars['ID']['output'];
|
|
66845
|
+
scope: PlanmagnetReleaseScope;
|
|
66846
|
+
/** Items in scope. For PROJECTS scope only open items are in scope, so this equals the open count. */
|
|
66847
|
+
totalItems: Scalars['Int']['output'];
|
|
66848
|
+
};
|
|
66849
|
+
/** 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 */
|
|
66850
|
+
export declare enum PlanmagnetReleaseScope {
|
|
66851
|
+
None = "NONE",
|
|
66852
|
+
Projects = "PROJECTS",
|
|
66853
|
+
WorkItems = "WORK_ITEMS"
|
|
66854
|
+
}
|
|
65959
66855
|
export type PlanmagnetReorderColumnsInput = {
|
|
65960
66856
|
columnIds: Array<Scalars['ID']['input']>;
|
|
65961
66857
|
};
|
|
@@ -65994,8 +66890,12 @@ export type PlanmagnetRiskMatrix = {
|
|
|
65994
66890
|
totalRisks: Scalars['Int']['output'];
|
|
65995
66891
|
};
|
|
65996
66892
|
export type PlanmagnetRoadmapFilter = {
|
|
66893
|
+
/** false: only roadmaps with no planning focus set; true: only roadmaps that have one */
|
|
66894
|
+
hasPlanningFocus?: InputMaybe<Scalars['Boolean']['input']>;
|
|
65997
66895
|
isPublic?: InputMaybe<Scalars['Boolean']['input']>;
|
|
65998
66896
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
66897
|
+
planningFocus?: InputMaybe<RoadmapPlanningFocus>;
|
|
66898
|
+
productId?: InputMaybe<Scalars['String']['input']>;
|
|
65999
66899
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
66000
66900
|
type?: InputMaybe<RoadmapType>;
|
|
66001
66901
|
};
|
|
@@ -66078,6 +66978,8 @@ export type PlanmagnetSprintFilter = {
|
|
|
66078
66978
|
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
66079
66979
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
66080
66980
|
status?: InputMaybe<SprintStatus>;
|
|
66981
|
+
/** Team-scoped sprints of this team (BOFF-8044). */
|
|
66982
|
+
teamId?: InputMaybe<Scalars['String']['input']>;
|
|
66081
66983
|
};
|
|
66082
66984
|
export type PlanmagnetSprintList = {
|
|
66083
66985
|
__typename?: 'PlanmagnetSprintList';
|
|
@@ -66085,9 +66987,34 @@ export type PlanmagnetSprintList = {
|
|
|
66085
66987
|
pageInfo: PlanmagnetPageInfo;
|
|
66086
66988
|
totalCount: Scalars['Int']['output'];
|
|
66087
66989
|
};
|
|
66990
|
+
/** One change to a sprint's planned start or end date (BOFF-7918). */
|
|
66991
|
+
export type PlanmagnetSprintPlanChange = {
|
|
66992
|
+
__typename?: 'PlanmagnetSprintPlanChange';
|
|
66993
|
+
changedAt: Scalars['DateTime']['output'];
|
|
66994
|
+
changedBy: Scalars['String']['output'];
|
|
66995
|
+
/** "startDate" or "endDate" */
|
|
66996
|
+
field: Scalars['String']['output'];
|
|
66997
|
+
fromValue?: Maybe<Scalars['DateTime']['output']>;
|
|
66998
|
+
id: Scalars['ID']['output'];
|
|
66999
|
+
/** The sprint's status when the plan changed: PLANNING is planning; ACTIVE is a replan of a commitment. */
|
|
67000
|
+
sprintStatus: SprintStatus;
|
|
67001
|
+
toValue?: Maybe<Scalars['DateTime']['output']>;
|
|
67002
|
+
};
|
|
67003
|
+
export declare enum PlanmagnetSprintScope {
|
|
67004
|
+
Project = "PROJECT",
|
|
67005
|
+
Team = "TEAM"
|
|
67006
|
+
}
|
|
66088
67007
|
export type PlanmagnetSprintWorkItemsInput = {
|
|
66089
67008
|
workItemIds: Array<Scalars['ID']['input']>;
|
|
66090
67009
|
};
|
|
67010
|
+
/** Reporting group of a status. DONE and CANCELLED never change category. */
|
|
67011
|
+
export declare enum PlanmagnetStatusCategory {
|
|
67012
|
+
Backlog = "BACKLOG",
|
|
67013
|
+
Cancelled = "CANCELLED",
|
|
67014
|
+
Done = "DONE",
|
|
67015
|
+
Started = "STARTED",
|
|
67016
|
+
Unstarted = "UNSTARTED"
|
|
67017
|
+
}
|
|
66091
67018
|
export type PlanmagnetSuggestWorkItemBreakdownInput = {
|
|
66092
67019
|
/** Plain-text feature request or description to break down. */
|
|
66093
67020
|
description: Scalars['String']['input'];
|
|
@@ -66141,6 +67068,69 @@ export declare enum PlanmagnetSyncStatus {
|
|
|
66141
67068
|
Success = "SUCCESS",
|
|
66142
67069
|
Syncing = "SYNCING"
|
|
66143
67070
|
}
|
|
67071
|
+
export type PlanmagnetTeamFilter = {
|
|
67072
|
+
search?: InputMaybe<Scalars['String']['input']>;
|
|
67073
|
+
};
|
|
67074
|
+
export type PlanmagnetTeamList = {
|
|
67075
|
+
__typename?: 'PlanmagnetTeamList';
|
|
67076
|
+
items: Array<Team>;
|
|
67077
|
+
pageInfo: PlanmagnetPageInfo;
|
|
67078
|
+
totalCount: Scalars['Int']['output'];
|
|
67079
|
+
};
|
|
67080
|
+
export type PlanmagnetTeamMembersInput = {
|
|
67081
|
+
actorIds: Array<Scalars['ID']['input']>;
|
|
67082
|
+
};
|
|
67083
|
+
export type PlanmagnetTeamProjectsInput = {
|
|
67084
|
+
projectIds: Array<Scalars['ID']['input']>;
|
|
67085
|
+
};
|
|
67086
|
+
/** Velocity across the trailing N completed sprints of a team (BOFF-8044). */
|
|
67087
|
+
export type PlanmagnetTeamVelocity = {
|
|
67088
|
+
__typename?: 'PlanmagnetTeamVelocity';
|
|
67089
|
+
averageVelocity: Scalars['Float']['output'];
|
|
67090
|
+
forecastNextSprintPoints: Scalars['Float']['output'];
|
|
67091
|
+
sprints: Array<PlanmagnetTeamVelocitySprintPoint>;
|
|
67092
|
+
teamId: Scalars['ID']['output'];
|
|
67093
|
+
};
|
|
67094
|
+
/** 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). */
|
|
67095
|
+
export type PlanmagnetTeamVelocityProjectShare = {
|
|
67096
|
+
__typename?: 'PlanmagnetTeamVelocityProjectShare';
|
|
67097
|
+
count: Scalars['Int']['output'];
|
|
67098
|
+
points: Scalars['Int']['output'];
|
|
67099
|
+
projectId: Scalars['ID']['output'];
|
|
67100
|
+
projectName: Scalars['String']['output'];
|
|
67101
|
+
};
|
|
67102
|
+
/** 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. */
|
|
67103
|
+
export type PlanmagnetTeamVelocitySprintPoint = {
|
|
67104
|
+
__typename?: 'PlanmagnetTeamVelocitySprintPoint';
|
|
67105
|
+
byProject: Array<PlanmagnetTeamVelocityProjectShare>;
|
|
67106
|
+
completedCount: Scalars['Int']['output'];
|
|
67107
|
+
completedPoints: Scalars['Int']['output'];
|
|
67108
|
+
plannedPoints?: Maybe<Scalars['Int']['output']>;
|
|
67109
|
+
sequenceNumber: Scalars['Int']['output'];
|
|
67110
|
+
sprintId: Scalars['ID']['output'];
|
|
67111
|
+
sprintName: Scalars['String']['output'];
|
|
67112
|
+
};
|
|
67113
|
+
/** 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. */
|
|
67114
|
+
export type PlanmagnetThroughput = {
|
|
67115
|
+
__typename?: 'PlanmagnetThroughput';
|
|
67116
|
+
bucket: PlanmagnetThroughputBucket;
|
|
67117
|
+
endDate: Scalars['DateTime']['output'];
|
|
67118
|
+
points: Array<PlanmagnetThroughputPoint>;
|
|
67119
|
+
projectId: Scalars['ID']['output'];
|
|
67120
|
+
startDate: Scalars['DateTime']['output'];
|
|
67121
|
+
};
|
|
67122
|
+
export declare enum PlanmagnetThroughputBucket {
|
|
67123
|
+
Day = "DAY",
|
|
67124
|
+
Week = "WEEK"
|
|
67125
|
+
}
|
|
67126
|
+
/** One bucket's completed work: item count and story points that reached DONE within it. */
|
|
67127
|
+
export type PlanmagnetThroughputPoint = {
|
|
67128
|
+
__typename?: 'PlanmagnetThroughputPoint';
|
|
67129
|
+
completedCount: Scalars['Int']['output'];
|
|
67130
|
+
completedPoints: Scalars['Int']['output'];
|
|
67131
|
+
/** Bucket start (UTC midnight; for WEEK, the Monday that starts the bucket). */
|
|
67132
|
+
periodStart: Scalars['DateTime']['output'];
|
|
67133
|
+
};
|
|
66144
67134
|
/** An individual time record capturing work performed on a specific work item during a time period. */
|
|
66145
67135
|
export type PlanmagnetTimeEntry = {
|
|
66146
67136
|
__typename?: 'PlanmagnetTimeEntry';
|
|
@@ -66158,8 +67148,6 @@ export type PlanmagnetTimeEntry = {
|
|
|
66158
67148
|
description?: Maybe<Scalars['String']['output']>;
|
|
66159
67149
|
/** Duration in minutes */
|
|
66160
67150
|
durationMinutes: Scalars['Int']['output'];
|
|
66161
|
-
/** End time (optional, for clock-in/clock-out) */
|
|
66162
|
-
endTime?: Maybe<Scalars['DateTime']['output']>;
|
|
66163
67151
|
/** Unique identifier */
|
|
66164
67152
|
id: Scalars['ID']['output'];
|
|
66165
67153
|
/** Arbitrary metadata */
|
|
@@ -66168,8 +67156,6 @@ export type PlanmagnetTimeEntry = {
|
|
|
66168
67156
|
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
66169
67157
|
/** Project ID */
|
|
66170
67158
|
projectId: Scalars['String']['output'];
|
|
66171
|
-
/** Start time (optional, for clock-in/clock-out) */
|
|
66172
|
-
startTime?: Maybe<Scalars['DateTime']['output']>;
|
|
66173
67159
|
/** Current status */
|
|
66174
67160
|
status: TimeEntryStatus;
|
|
66175
67161
|
/** Timesheet this entry belongs to */
|
|
@@ -66187,7 +67173,9 @@ export type PlanmagnetTimeEntry = {
|
|
|
66187
67173
|
};
|
|
66188
67174
|
export type PlanmagnetTimeEntryFilter = {
|
|
66189
67175
|
billingType?: InputMaybe<BillingType>;
|
|
67176
|
+
/** Entries dated on or after this UTC day */
|
|
66190
67177
|
dateFrom?: InputMaybe<Scalars['DateTime']['input']>;
|
|
67178
|
+
/** Entries dated on or before this UTC day (the whole day is included) */
|
|
66191
67179
|
dateTo?: InputMaybe<Scalars['DateTime']['input']>;
|
|
66192
67180
|
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
66193
67181
|
status?: InputMaybe<TimeEntryStatus>;
|
|
@@ -66238,7 +67226,9 @@ export type PlanmagnetTimesheet = {
|
|
|
66238
67226
|
workspaceId: Scalars['String']['output'];
|
|
66239
67227
|
};
|
|
66240
67228
|
export type PlanmagnetTimesheetFilter = {
|
|
67229
|
+
/** With periodStart: timesheets whose period OVERLAPS the window (inclusive by UTC day). Alone: periods starting on or before this day */
|
|
66241
67230
|
periodEnd?: InputMaybe<Scalars['DateTime']['input']>;
|
|
67231
|
+
/** With periodEnd: timesheets whose period OVERLAPS the window (inclusive by UTC day). Alone: periods ending on or after this day */
|
|
66242
67232
|
periodStart?: InputMaybe<Scalars['DateTime']['input']>;
|
|
66243
67233
|
status?: InputMaybe<TimeEntryStatus>;
|
|
66244
67234
|
userId?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -66303,6 +67293,7 @@ export type PlanmagnetUpdateCustomFieldDefinitionInput = {
|
|
|
66303
67293
|
};
|
|
66304
67294
|
export type PlanmagnetUpdateDependencyInput = {
|
|
66305
67295
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
67296
|
+
lagMinutes?: InputMaybe<Scalars['Int']['input']>;
|
|
66306
67297
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
66307
67298
|
status?: InputMaybe<DependencyStatus>;
|
|
66308
67299
|
type?: InputMaybe<DependencyType>;
|
|
@@ -66311,6 +67302,8 @@ export type PlanmagnetUpdateDocInput = {
|
|
|
66311
67302
|
/** Optional note recorded on the new revision this update creates. */
|
|
66312
67303
|
changeNote?: InputMaybe<Scalars['String']['input']>;
|
|
66313
67304
|
content?: InputMaybe<Scalars['String']['input']>;
|
|
67305
|
+
/** 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. */
|
|
67306
|
+
expectedVersion?: InputMaybe<Scalars['Int']['input']>;
|
|
66314
67307
|
status?: InputMaybe<DocStatus>;
|
|
66315
67308
|
title?: InputMaybe<Scalars['String']['input']>;
|
|
66316
67309
|
};
|
|
@@ -66337,6 +67330,7 @@ export type PlanmagnetUpdateFeatureRequestInput = {
|
|
|
66337
67330
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
66338
67331
|
effortEstimate?: InputMaybe<Scalars['String']['input']>;
|
|
66339
67332
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
67333
|
+
productId?: InputMaybe<Scalars['String']['input']>;
|
|
66340
67334
|
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
66341
67335
|
status?: InputMaybe<FeatureRequestStatus>;
|
|
66342
67336
|
tags?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
@@ -66389,6 +67383,15 @@ export type PlanmagnetUpdatePortfolioInput = {
|
|
|
66389
67383
|
status?: InputMaybe<PortfolioStatus>;
|
|
66390
67384
|
tags?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
66391
67385
|
};
|
|
67386
|
+
export type PlanmagnetUpdateProductInput = {
|
|
67387
|
+
description?: InputMaybe<Scalars['String']['input']>;
|
|
67388
|
+
lifecycleStage?: InputMaybe<PlanmagnetProductLifecycleStage>;
|
|
67389
|
+
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
67390
|
+
name?: InputMaybe<Scalars['String']['input']>;
|
|
67391
|
+
northStar?: InputMaybe<PlanmagnetProductNorthStarInput>;
|
|
67392
|
+
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
67393
|
+
vision?: InputMaybe<Scalars['String']['input']>;
|
|
67394
|
+
};
|
|
66392
67395
|
export type PlanmagnetUpdateProgramInput = {
|
|
66393
67396
|
budgetTotal?: InputMaybe<Scalars['Float']['input']>;
|
|
66394
67397
|
currency?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -66410,6 +67413,8 @@ export type PlanmagnetUpdateProjectInput = {
|
|
|
66410
67413
|
methodology?: InputMaybe<ProjectMethodology>;
|
|
66411
67414
|
name?: InputMaybe<Scalars['String']['input']>;
|
|
66412
67415
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
67416
|
+
/** 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. */
|
|
67417
|
+
portfolioId?: InputMaybe<Scalars['String']['input']>;
|
|
66413
67418
|
programId?: InputMaybe<Scalars['String']['input']>;
|
|
66414
67419
|
startDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
66415
67420
|
status?: InputMaybe<PlanmagnetProjectStatus>;
|
|
@@ -66430,6 +67435,13 @@ export type PlanmagnetUpdateProjectTemplateInput = {
|
|
|
66430
67435
|
sprintConfig?: InputMaybe<Scalars['JSON']['input']>;
|
|
66431
67436
|
tags?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
66432
67437
|
};
|
|
67438
|
+
/** Omitted fields keep their current value; a list that is sent replaces the whole list */
|
|
67439
|
+
export type PlanmagnetUpdateProjectWorkflowInput = {
|
|
67440
|
+
enforceTransitions?: InputMaybe<Scalars['Boolean']['input']>;
|
|
67441
|
+
/** Statuses not listed return to their defaults */
|
|
67442
|
+
statuses?: InputMaybe<Array<PlanmagnetWorkflowStatusInput>>;
|
|
67443
|
+
transitions?: InputMaybe<Array<PlanmagnetWorkflowTransitionInput>>;
|
|
67444
|
+
};
|
|
66433
67445
|
export type PlanmagnetUpdateQualityGateInput = {
|
|
66434
67446
|
criteria?: InputMaybe<Scalars['JSON']['input']>;
|
|
66435
67447
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -66437,6 +67449,8 @@ export type PlanmagnetUpdateQualityGateInput = {
|
|
|
66437
67449
|
milestoneId?: InputMaybe<Scalars['String']['input']>;
|
|
66438
67450
|
name?: InputMaybe<Scalars['String']['input']>;
|
|
66439
67451
|
phase?: InputMaybe<Scalars['String']['input']>;
|
|
67452
|
+
/** The release this gate holds (a release of the same project, or one with no projects) */
|
|
67453
|
+
releaseId?: InputMaybe<Scalars['String']['input']>;
|
|
66440
67454
|
sortOrder?: InputMaybe<Scalars['Int']['input']>;
|
|
66441
67455
|
status?: InputMaybe<QualityGateStatus>;
|
|
66442
67456
|
};
|
|
@@ -66446,6 +67460,7 @@ export type PlanmagnetUpdateReleaseInput = {
|
|
|
66446
67460
|
name?: InputMaybe<Scalars['String']['input']>;
|
|
66447
67461
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
66448
67462
|
plannedDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
67463
|
+
productId?: InputMaybe<Scalars['String']['input']>;
|
|
66449
67464
|
releaseNotes?: InputMaybe<Scalars['String']['input']>;
|
|
66450
67465
|
releasedAt?: InputMaybe<Scalars['DateTime']['input']>;
|
|
66451
67466
|
status?: InputMaybe<ReleaseStatus>;
|
|
@@ -66474,6 +67489,8 @@ export type PlanmagnetUpdateRoadmapInput = {
|
|
|
66474
67489
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
66475
67490
|
name?: InputMaybe<Scalars['String']['input']>;
|
|
66476
67491
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
67492
|
+
planningFocus?: InputMaybe<RoadmapPlanningFocus>;
|
|
67493
|
+
productId?: InputMaybe<Scalars['String']['input']>;
|
|
66477
67494
|
type?: InputMaybe<RoadmapType>;
|
|
66478
67495
|
};
|
|
66479
67496
|
export type PlanmagnetUpdateRoadmapItemInput = {
|
|
@@ -66501,15 +67518,19 @@ export type PlanmagnetUpdateSprintInput = {
|
|
|
66501
67518
|
startDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
66502
67519
|
velocity?: InputMaybe<Scalars['Int']['input']>;
|
|
66503
67520
|
};
|
|
67521
|
+
export type PlanmagnetUpdateTeamInput = {
|
|
67522
|
+
capacity?: InputMaybe<Scalars['Int']['input']>;
|
|
67523
|
+
description?: InputMaybe<Scalars['String']['input']>;
|
|
67524
|
+
leadId?: InputMaybe<Scalars['String']['input']>;
|
|
67525
|
+
name?: InputMaybe<Scalars['String']['input']>;
|
|
67526
|
+
};
|
|
66504
67527
|
export type PlanmagnetUpdateTimeEntryInput = {
|
|
66505
67528
|
billingRate?: InputMaybe<Scalars['Float']['input']>;
|
|
66506
67529
|
billingType?: InputMaybe<BillingType>;
|
|
66507
67530
|
date?: InputMaybe<Scalars['DateTime']['input']>;
|
|
66508
67531
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
66509
67532
|
durationMinutes?: InputMaybe<Scalars['Int']['input']>;
|
|
66510
|
-
endTime?: InputMaybe<Scalars['DateTime']['input']>;
|
|
66511
67533
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
66512
|
-
startTime?: InputMaybe<Scalars['DateTime']['input']>;
|
|
66513
67534
|
status?: InputMaybe<TimeEntryStatus>;
|
|
66514
67535
|
workItemId?: InputMaybe<Scalars['String']['input']>;
|
|
66515
67536
|
};
|
|
@@ -66557,14 +67578,49 @@ export type PlanmagnetVelocitySprintPoint = {
|
|
|
66557
67578
|
completedPoints: Scalars['Int']['output'];
|
|
66558
67579
|
/** Planned/committed points for the sprint, if set. */
|
|
66559
67580
|
plannedPoints?: Maybe<Scalars['Int']['output']>;
|
|
67581
|
+
/** 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. */
|
|
67582
|
+
scope: PlanmagnetSprintScope;
|
|
66560
67583
|
sequenceNumber: Scalars['Int']['output'];
|
|
66561
67584
|
sprintId: Scalars['ID']['output'];
|
|
66562
67585
|
sprintName: Scalars['String']['output'];
|
|
67586
|
+
/** Set only when scope is TEAM. */
|
|
67587
|
+
teamId?: Maybe<Scalars['ID']['output']>;
|
|
67588
|
+
/** Set only when scope is TEAM. */
|
|
67589
|
+
teamName?: Maybe<Scalars['String']['output']>;
|
|
66563
67590
|
};
|
|
66564
67591
|
export type PlanmagnetVoteOnFeatureInput = {
|
|
66565
67592
|
comment?: InputMaybe<Scalars['String']['input']>;
|
|
67593
|
+
/** Whole number from 1 to 100 (default 1) */
|
|
66566
67594
|
weight?: InputMaybe<Scalars['Int']['input']>;
|
|
66567
67595
|
};
|
|
67596
|
+
export type PlanmagnetWorkItemActivity = {
|
|
67597
|
+
__typename?: 'PlanmagnetWorkItemActivity';
|
|
67598
|
+
/** Newest first */
|
|
67599
|
+
items: Array<PlanmagnetWorkItemActivityEvent>;
|
|
67600
|
+
/** Every recorded event */
|
|
67601
|
+
totalCount: Scalars['Int']['output'];
|
|
67602
|
+
/** True when more events exist than were returned */
|
|
67603
|
+
truncated: Scalars['Boolean']['output'];
|
|
67604
|
+
};
|
|
67605
|
+
/** 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. */
|
|
67606
|
+
export type PlanmagnetWorkItemActivityEvent = {
|
|
67607
|
+
__typename?: 'PlanmagnetWorkItemActivityEvent';
|
|
67608
|
+
/** Actor who did it */
|
|
67609
|
+
actorId?: Maybe<Scalars['String']['output']>;
|
|
67610
|
+
at: Scalars['DateTime']['output'];
|
|
67611
|
+
/** The comment (COMMENTED) */
|
|
67612
|
+
commentId?: Maybe<Scalars['String']['output']>;
|
|
67613
|
+
/** The start of the comment (COMMENTED) */
|
|
67614
|
+
excerpt?: Maybe<Scalars['String']['output']>;
|
|
67615
|
+
/** Status before (STATUS_CHANGED) */
|
|
67616
|
+
fromStatus?: Maybe<Scalars['String']['output']>;
|
|
67617
|
+
/** Stable id, prefixed by source (transition:, comment:, created:) */
|
|
67618
|
+
id: Scalars['ID']['output'];
|
|
67619
|
+
/** CREATED, STATUS_CHANGED or COMMENTED */
|
|
67620
|
+
kind: Scalars['String']['output'];
|
|
67621
|
+
/** Status after (CREATED from the transition log, STATUS_CHANGED) */
|
|
67622
|
+
toStatus?: Maybe<Scalars['String']['output']>;
|
|
67623
|
+
};
|
|
66568
67624
|
export type PlanmagnetWorkItemBreakdownResult = {
|
|
66569
67625
|
__typename?: 'PlanmagnetWorkItemBreakdownResult';
|
|
66570
67626
|
/** Id of the PlanmagnetAgentRun ledger row this call was recorded as. */
|
|
@@ -66572,6 +67628,39 @@ export type PlanmagnetWorkItemBreakdownResult = {
|
|
|
66572
67628
|
provider: Scalars['String']['output'];
|
|
66573
67629
|
suggestions: Array<PlanmagnetWorkItemSuggestion>;
|
|
66574
67630
|
};
|
|
67631
|
+
/** A comment on a work item. Visible to everyone who can read the work item; only its author can edit or delete it. */
|
|
67632
|
+
export type PlanmagnetWorkItemComment = {
|
|
67633
|
+
__typename?: 'PlanmagnetWorkItemComment';
|
|
67634
|
+
/** Actor who posted the comment */
|
|
67635
|
+
authorId: Scalars['String']['output'];
|
|
67636
|
+
body: Scalars['String']['output'];
|
|
67637
|
+
createdAt: Scalars['DateTime']['output'];
|
|
67638
|
+
/** Set when the author changed the body after posting */
|
|
67639
|
+
editedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
67640
|
+
id: Scalars['ID']['output'];
|
|
67641
|
+
updatedAt: Scalars['DateTime']['output'];
|
|
67642
|
+
workItemId: Scalars['String']['output'];
|
|
67643
|
+
};
|
|
67644
|
+
export type PlanmagnetWorkItemCommentList = {
|
|
67645
|
+
__typename?: 'PlanmagnetWorkItemCommentList';
|
|
67646
|
+
items: Array<PlanmagnetWorkItemComment>;
|
|
67647
|
+
pageInfo: PlanmagnetPageInfo;
|
|
67648
|
+
totalCount: Scalars['Int']['output'];
|
|
67649
|
+
};
|
|
67650
|
+
/** 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. */
|
|
67651
|
+
export type PlanmagnetWorkItemCounts = {
|
|
67652
|
+
__typename?: 'PlanmagnetWorkItemCounts';
|
|
67653
|
+
/** Open matching work items held back by an active dependency whose predecessor is not done (the release readiness definition of blocked) */
|
|
67654
|
+
blocked: Scalars['Int']['output'];
|
|
67655
|
+
/** Matching work items per project and status */
|
|
67656
|
+
byProject: Array<PlanmagnetWorkItemProjectStatusCount>;
|
|
67657
|
+
/** Matching work items per status (statuses with no items are omitted) */
|
|
67658
|
+
byStatus: Array<PlanmagnetWorkItemStatusCount>;
|
|
67659
|
+
/** Sum of story points over every matching work item */
|
|
67660
|
+
points: Scalars['Int']['output'];
|
|
67661
|
+
/** Every matching work item */
|
|
67662
|
+
total: Scalars['Int']['output'];
|
|
67663
|
+
};
|
|
66575
67664
|
export type PlanmagnetWorkItemDependencyList = {
|
|
66576
67665
|
__typename?: 'PlanmagnetWorkItemDependencyList';
|
|
66577
67666
|
items: Array<WorkItemDependency>;
|
|
@@ -66580,6 +67669,8 @@ export type PlanmagnetWorkItemDependencyList = {
|
|
|
66580
67669
|
};
|
|
66581
67670
|
export type PlanmagnetWorkItemFilter = {
|
|
66582
67671
|
assigneeId?: InputMaybe<Scalars['String']['input']>;
|
|
67672
|
+
/** Leave these work items out (e.g. the ones already in a sprint or release), so a picker never pages first and excludes afterwards */
|
|
67673
|
+
excludeIds?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
66583
67674
|
parentId?: InputMaybe<Scalars['String']['input']>;
|
|
66584
67675
|
priority?: InputMaybe<WorkItemPriority>;
|
|
66585
67676
|
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -66608,6 +67699,22 @@ export type PlanmagnetWorkItemList = {
|
|
|
66608
67699
|
pageInfo: PlanmagnetPageInfo;
|
|
66609
67700
|
totalCount: Scalars['Int']['output'];
|
|
66610
67701
|
};
|
|
67702
|
+
export type PlanmagnetWorkItemProjectStatusCount = {
|
|
67703
|
+
__typename?: 'PlanmagnetWorkItemProjectStatusCount';
|
|
67704
|
+
count: Scalars['Int']['output'];
|
|
67705
|
+
/** Sum of story points of these work items (items without an estimate count as 0) */
|
|
67706
|
+
points: Scalars['Int']['output'];
|
|
67707
|
+
projectId: Scalars['String']['output'];
|
|
67708
|
+
status: Scalars['String']['output'];
|
|
67709
|
+
};
|
|
67710
|
+
export type PlanmagnetWorkItemStatusCount = {
|
|
67711
|
+
__typename?: 'PlanmagnetWorkItemStatusCount';
|
|
67712
|
+
count: Scalars['Int']['output'];
|
|
67713
|
+
/** Sum of story points of these work items (items without an estimate count as 0) */
|
|
67714
|
+
points: Scalars['Int']['output'];
|
|
67715
|
+
/** A WorkItemStatus value. A String, not the enum, so a stored status the API does not expose yet (BLOCKED) cannot fail the whole query */
|
|
67716
|
+
status: Scalars['String']['output'];
|
|
67717
|
+
};
|
|
66611
67718
|
export type PlanmagnetWorkItemSuggestion = {
|
|
66612
67719
|
__typename?: 'PlanmagnetWorkItemSuggestion';
|
|
66613
67720
|
description?: Maybe<Scalars['String']['output']>;
|
|
@@ -66616,6 +67723,33 @@ export type PlanmagnetWorkItemSuggestion = {
|
|
|
66616
67723
|
title: Scalars['String']['output'];
|
|
66617
67724
|
type: WorkItemType;
|
|
66618
67725
|
};
|
|
67726
|
+
/** How one canonical status appears and behaves in a project */
|
|
67727
|
+
export type PlanmagnetWorkflowStatus = {
|
|
67728
|
+
__typename?: 'PlanmagnetWorkflowStatus';
|
|
67729
|
+
category: PlanmagnetStatusCategory;
|
|
67730
|
+
/** Hidden statuses cannot be chosen for new moves; items already in one stay readable */
|
|
67731
|
+
hidden: Scalars['Boolean']['output'];
|
|
67732
|
+
/** The project's name for it */
|
|
67733
|
+
label: Scalars['String']['output'];
|
|
67734
|
+
status: WorkItemStatus;
|
|
67735
|
+
};
|
|
67736
|
+
export type PlanmagnetWorkflowStatusInput = {
|
|
67737
|
+
/** Defaults to the status's standard category */
|
|
67738
|
+
category?: InputMaybe<PlanmagnetStatusCategory>;
|
|
67739
|
+
hidden?: InputMaybe<Scalars['Boolean']['input']>;
|
|
67740
|
+
label: Scalars['String']['input'];
|
|
67741
|
+
status: WorkItemStatus;
|
|
67742
|
+
};
|
|
67743
|
+
/** An allowed status change */
|
|
67744
|
+
export type PlanmagnetWorkflowTransition = {
|
|
67745
|
+
__typename?: 'PlanmagnetWorkflowTransition';
|
|
67746
|
+
from: WorkItemStatus;
|
|
67747
|
+
to: WorkItemStatus;
|
|
67748
|
+
};
|
|
67749
|
+
export type PlanmagnetWorkflowTransitionInput = {
|
|
67750
|
+
from: WorkItemStatus;
|
|
67751
|
+
to: WorkItemStatus;
|
|
67752
|
+
};
|
|
66619
67753
|
/** 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. */
|
|
66620
67754
|
export type PlanmagnetWorkspaceEditor = {
|
|
66621
67755
|
__typename?: 'PlanmagnetWorkspaceEditor';
|
|
@@ -67182,7 +68316,28 @@ export type ProduceWithdrawalStatus = {
|
|
|
67182
68316
|
};
|
|
67183
68317
|
export type Product = {
|
|
67184
68318
|
__typename?: 'Product';
|
|
68319
|
+
/** Domain lifecycle marker, distinct from deletedAt. Null = active. */
|
|
68320
|
+
archivedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
68321
|
+
context?: Maybe<Scalars['JSON']['output']>;
|
|
68322
|
+
createdAt: Scalars['DateTime']['output'];
|
|
68323
|
+
createdBy: Scalars['String']['output'];
|
|
68324
|
+
deletedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
68325
|
+
description?: Maybe<Scalars['String']['output']>;
|
|
68326
|
+
featureRequests: Array<FeatureRequest>;
|
|
67185
68327
|
id: Scalars['ID']['output'];
|
|
68328
|
+
lifecycleStage: PlanmagnetProductLifecycleStage;
|
|
68329
|
+
metadata?: Maybe<Scalars['JSON']['output']>;
|
|
68330
|
+
name: Scalars['String']['output'];
|
|
68331
|
+
northStar?: Maybe<PlanmagnetProductNorthStar>;
|
|
68332
|
+
objectives: Array<PlanmagnetObjective>;
|
|
68333
|
+
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
68334
|
+
ownerId: Scalars['String']['output'];
|
|
68335
|
+
releases: Array<Release>;
|
|
68336
|
+
roadmaps: Array<Roadmap>;
|
|
68337
|
+
updatedAt: Scalars['DateTime']['output'];
|
|
68338
|
+
updatedBy?: Maybe<Scalars['String']['output']>;
|
|
68339
|
+
vision: Scalars['String']['output'];
|
|
68340
|
+
workspaceId: Scalars['String']['output'];
|
|
67186
68341
|
};
|
|
67187
68342
|
export type ProductCount = {
|
|
67188
68343
|
__typename?: 'ProductCount';
|
|
@@ -68148,6 +69303,21 @@ export type ProviderList = {
|
|
|
68148
69303
|
items: Array<IntegrationProvider>;
|
|
68149
69304
|
total: Scalars['Int']['output'];
|
|
68150
69305
|
};
|
|
69306
|
+
/** An assistant sandbox for the caller, built by the service. */
|
|
69307
|
+
export type ProvisionAssistantSandboxInput = {
|
|
69308
|
+
context: ContextInput;
|
|
69309
|
+
/** At most AI_ASSISTANT_PRODUCT, HOSTNAME and WORKSPACE_ID, each with the value the request implies. Never a token. */
|
|
69310
|
+
env?: InputMaybe<Array<EnvVarInput>>;
|
|
69311
|
+
/** An org-published ai-assistant runtime image. */
|
|
69312
|
+
image: Scalars['String']['input'];
|
|
69313
|
+
mode: SandboxAssistantMode;
|
|
69314
|
+
/** The product whose docs and persona the assistant uses (e.g. vibecontrols). */
|
|
69315
|
+
product: Scalars['String']['input'];
|
|
69316
|
+
/** Requested lifetime; bounded by the plan and the workspace maximum. */
|
|
69317
|
+
ttlSeconds?: InputMaybe<Scalars['Int']['input']>;
|
|
69318
|
+
/** Take action only; Ask ignores it. */
|
|
69319
|
+
writeApproval?: InputMaybe<SandboxAssistantWriteApproval>;
|
|
69320
|
+
};
|
|
68151
69321
|
export type ProxySandboxRequestInput = {
|
|
68152
69322
|
/** Request body as JSON (for POST/PUT/PATCH) */
|
|
68153
69323
|
body?: InputMaybe<Scalars['JSON']['input']>;
|
|
@@ -69352,6 +70522,8 @@ export type QualityGate = {
|
|
|
69352
70522
|
project?: Maybe<PlanmagnetProject>;
|
|
69353
70523
|
/** Parent project ID */
|
|
69354
70524
|
projectId: Scalars['String']['output'];
|
|
70525
|
+
/** The release this gate holds. The release cannot become RELEASED until this gate is PASSED or WAIVED */
|
|
70526
|
+
releaseId?: Maybe<Scalars['String']['output']>;
|
|
69355
70527
|
/** Review results and notes */
|
|
69356
70528
|
reviewNotes?: Maybe<Scalars['String']['output']>;
|
|
69357
70529
|
/** Review timestamp */
|
|
@@ -69537,10 +70709,18 @@ export type Query = {
|
|
|
69537
70709
|
assetRegister: Array<Asset>;
|
|
69538
70710
|
assets: Array<Asset>;
|
|
69539
70711
|
assignmentSuggestions: MtwAssignmentSuggestions;
|
|
69540
|
-
/**
|
|
70712
|
+
/**
|
|
70713
|
+
* The transcript of one of my assistant chats, oldest first.
|
|
70714
|
+
* @deprecated Use the my* assistant-history fields (BOFF-7335).
|
|
70715
|
+
*/
|
|
69541
70716
|
assistantConversationMessages: Array<AssistantHistoryMessage>;
|
|
69542
|
-
/**
|
|
70717
|
+
/**
|
|
70718
|
+
* My assistant chats for one product, newest first.
|
|
70719
|
+
* @deprecated Use the my* assistant-history fields (BOFF-7335).
|
|
70720
|
+
*/
|
|
69543
70721
|
assistantConversations: Array<AssistantConversation>;
|
|
70722
|
+
/** Run one GraphQL query as the owner of the session the capability names. Queries only. */
|
|
70723
|
+
assistantSessionQuery: AssistantSessionRelayResult;
|
|
69544
70724
|
/** A single AI decision execution log entry by id, scoped to the caller's workspace. */
|
|
69545
70725
|
athAgentRun?: Maybe<AthAgentRun>;
|
|
69546
70726
|
/** Paginated, workspace-scoped AI decision execution log, most recent first. */
|
|
@@ -70963,7 +72143,7 @@ export type Query = {
|
|
|
70963
72143
|
/** Get aggregated ad performance metrics for the workspace */
|
|
70964
72144
|
headshotmarketingAdMetrics: HeadshotmarketingAdMetrics;
|
|
70965
72145
|
headshotmarketingAdPlatformConnections: HeadshotmarketingAdPlatformConnectionList;
|
|
70966
|
-
/** Compute a deterministic first-touch
|
|
72146
|
+
/** 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). */
|
|
70967
72147
|
headshotmarketingAttributionReport: HeadshotmarketingAttributionReport;
|
|
70968
72148
|
/** Get a specific audience by ID */
|
|
70969
72149
|
headshotmarketingAudience?: Maybe<HeadshotmarketingAudience>;
|
|
@@ -71061,6 +72241,8 @@ export type Query = {
|
|
|
71061
72241
|
headshotmarketingPipelineOverview?: Maybe<HeadshotmarketingPipelineOverview>;
|
|
71062
72242
|
/** List pipelines with optional filters */
|
|
71063
72243
|
headshotmarketingPipelines: HeadshotmarketingPipelineList;
|
|
72244
|
+
/** 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. */
|
|
72245
|
+
headshotmarketingPublicLandingPage?: Maybe<HeadshotmarketingPublicLandingPage>;
|
|
71064
72246
|
/** Get an SEO audit by ID */
|
|
71065
72247
|
headshotmarketingSEOAudit?: Maybe<HeadshotmarketingSeoAudit>;
|
|
71066
72248
|
/** List SEO audits with optional filters and pagination */
|
|
@@ -71570,6 +72752,12 @@ export type Query = {
|
|
|
71570
72752
|
metrics: Array<Metric>;
|
|
71571
72753
|
myAgentMessageBookmarks: AgentMessageBookmarkList;
|
|
71572
72754
|
myApprovalRequests: Array<TimeApprovalRequest>;
|
|
72755
|
+
/** One of my conversations. Exactly one of clientConversationId / conversationId. Default: the newest 50. */
|
|
72756
|
+
myAssistantConversationEntries: AssistantHistoryEntryConnection;
|
|
72757
|
+
/** My live conversations, most recently changed first. */
|
|
72758
|
+
myAssistantConversations: AssistantHistoryConversationConnection;
|
|
72759
|
+
/** My conversations' changes in commit order, tombstones included. */
|
|
72760
|
+
myAssistantHistoryChanges: AssistantHistoryChangeConnection;
|
|
71573
72761
|
myBalanceTargets: Array<TimeCampusBalanceTarget>;
|
|
71574
72762
|
myContextSharingPolicy: TimeCampusContextSharingPolicy;
|
|
71575
72763
|
myDeadTimeRadar: TimeCampusDeadTimeRadar;
|
|
@@ -71718,6 +72906,8 @@ export type Query = {
|
|
|
71718
72906
|
planmagnetAutomationRules: PlanmagnetAutomationRuleList;
|
|
71719
72907
|
/** Get a single board by ID */
|
|
71720
72908
|
planmagnetBoard?: Maybe<Board>;
|
|
72909
|
+
/** One column's cards, a page at a time (a column shows its first 100; this pages past them). Same placement as BoardColumn.cards */
|
|
72910
|
+
planmagnetBoardColumnCards: PlanmagnetWorkItemList;
|
|
71721
72911
|
/** List boards in a workspace */
|
|
71722
72912
|
planmagnetBoards: PlanmagnetBoardList;
|
|
71723
72913
|
/** Get a single budget by ID */
|
|
@@ -71767,6 +72957,10 @@ export type Query = {
|
|
|
71767
72957
|
planmagnetMilestone?: Maybe<Milestone>;
|
|
71768
72958
|
/** List milestones in a workspace */
|
|
71769
72959
|
planmagnetMilestones: PlanmagnetMilestoneList;
|
|
72960
|
+
/** 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). */
|
|
72961
|
+
planmagnetMyAgentRuns: PlanmagnetAgentRunList;
|
|
72962
|
+
/** 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. */
|
|
72963
|
+
planmagnetMyWorkItems: PlanmagnetWorkItemList;
|
|
71770
72964
|
planmagnetObjective?: Maybe<PlanmagnetObjective>;
|
|
71771
72965
|
planmagnetObjectives: PlanmagnetObjectiveList;
|
|
71772
72966
|
/** Get a single portfolio by ID */
|
|
@@ -71775,6 +72969,8 @@ export type Query = {
|
|
|
71775
72969
|
planmagnetPortfolioOverview: PlanmagnetPortfolioOverview;
|
|
71776
72970
|
/** List portfolios in a workspace */
|
|
71777
72971
|
planmagnetPortfolios: PlanmagnetPortfolioList;
|
|
72972
|
+
planmagnetProduct?: Maybe<Product>;
|
|
72973
|
+
planmagnetProducts: PlanmagnetProductList;
|
|
71778
72974
|
/** Get a single program by ID */
|
|
71779
72975
|
planmagnetProgram?: Maybe<Program>;
|
|
71780
72976
|
/** List programs in a workspace */
|
|
@@ -71785,6 +72981,8 @@ export type Query = {
|
|
|
71785
72981
|
planmagnetProjectTemplate?: Maybe<ProjectTemplate>;
|
|
71786
72982
|
/** List project templates in a workspace */
|
|
71787
72983
|
planmagnetProjectTemplates: PlanmagnetProjectTemplateList;
|
|
72984
|
+
/** A project's workflow */
|
|
72985
|
+
planmagnetProjectWorkflow: PlanmagnetProjectWorkflow;
|
|
71788
72986
|
/** List projects in a workspace */
|
|
71789
72987
|
planmagnetProjects: PlanmagnetProjectList;
|
|
71790
72988
|
/** Get a single quality gate by ID */
|
|
@@ -71793,6 +72991,8 @@ export type Query = {
|
|
|
71793
72991
|
planmagnetQualityGates: PlanmagnetQualityGateList;
|
|
71794
72992
|
/** Get a single release by ID */
|
|
71795
72993
|
planmagnetRelease?: Maybe<Release>;
|
|
72994
|
+
/** 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. */
|
|
72995
|
+
planmagnetReleaseReadiness: PlanmagnetReleaseReadiness;
|
|
71796
72996
|
/** List releases in a workspace */
|
|
71797
72997
|
planmagnetReleases: PlanmagnetReleaseList;
|
|
71798
72998
|
/** Get a single risk by ID */
|
|
@@ -71817,6 +73017,14 @@ export type Query = {
|
|
|
71817
73017
|
planmagnetSprintCapacity: PlanmagnetSprintCapacity;
|
|
71818
73018
|
/** List sprints in a workspace */
|
|
71819
73019
|
planmagnetSprints: PlanmagnetSprintList;
|
|
73020
|
+
/** Get a single team by ID. */
|
|
73021
|
+
planmagnetTeam?: Maybe<Team>;
|
|
73022
|
+
/** Velocity (whole-sprint completed points, plus the per-project split) across the trailing N COMPLETED sprints of a team (BOFF-8044). */
|
|
73023
|
+
planmagnetTeamVelocity: PlanmagnetTeamVelocity;
|
|
73024
|
+
/** List teams in a workspace. */
|
|
73025
|
+
planmagnetTeams: PlanmagnetTeamList;
|
|
73026
|
+
/** 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(). */
|
|
73027
|
+
planmagnetThroughput: PlanmagnetThroughput;
|
|
71820
73028
|
/** List time entries in a workspace */
|
|
71821
73029
|
planmagnetTimeEntries: PlanmagnetTimeEntryList;
|
|
71822
73030
|
/** Get a single time entry by ID */
|
|
@@ -71829,6 +73037,12 @@ export type Query = {
|
|
|
71829
73037
|
planmagnetVelocity: PlanmagnetVelocity;
|
|
71830
73038
|
/** Get a single work item by ID */
|
|
71831
73039
|
planmagnetWorkItem?: Maybe<WorkItem>;
|
|
73040
|
+
/** A work item's recorded history, newest first */
|
|
73041
|
+
planmagnetWorkItemActivity: PlanmagnetWorkItemActivity;
|
|
73042
|
+
/** Comments on a work item, oldest first */
|
|
73043
|
+
planmagnetWorkItemComments: PlanmagnetWorkItemCommentList;
|
|
73044
|
+
/** Count work items matching a filter, in total, per status and per project, computed on the server */
|
|
73045
|
+
planmagnetWorkItemCounts: PlanmagnetWorkItemCounts;
|
|
71832
73046
|
/** Docs currently linked to a given work item. */
|
|
71833
73047
|
planmagnetWorkItemDocs: Array<PlanmagnetDoc>;
|
|
71834
73048
|
/** Get a single work item link by ID */
|
|
@@ -73138,6 +74352,10 @@ export type QueryAssistantConversationsArgs = {
|
|
|
73138
74352
|
productId: Scalars['String']['input'];
|
|
73139
74353
|
};
|
|
73140
74354
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
74355
|
+
export type QueryAssistantSessionQueryArgs = {
|
|
74356
|
+
input: AssistantSessionRelayInput;
|
|
74357
|
+
};
|
|
74358
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
73141
74359
|
export type QueryAthAgentRunArgs = {
|
|
73142
74360
|
id: Scalars['ID']['input'];
|
|
73143
74361
|
};
|
|
@@ -77954,6 +79172,7 @@ export type QueryHeadshotmarketingAdPlatformConnectionsArgs = {
|
|
|
77954
79172
|
export type QueryHeadshotmarketingAttributionReportArgs = {
|
|
77955
79173
|
dealId?: InputMaybe<Scalars['ID']['input']>;
|
|
77956
79174
|
leadId?: InputMaybe<Scalars['ID']['input']>;
|
|
79175
|
+
timeDecayHalfLifeDays?: InputMaybe<Scalars['Float']['input']>;
|
|
77957
79176
|
};
|
|
77958
79177
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
77959
79178
|
export type QueryHeadshotmarketingAudienceArgs = {
|
|
@@ -78170,6 +79389,10 @@ export type QueryHeadshotmarketingPipelinesArgs = {
|
|
|
78170
79389
|
pagination?: InputMaybe<PaginationInput>;
|
|
78171
79390
|
};
|
|
78172
79391
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
79392
|
+
export type QueryHeadshotmarketingPublicLandingPageArgs = {
|
|
79393
|
+
slug: Scalars['String']['input'];
|
|
79394
|
+
};
|
|
79395
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
78173
79396
|
export type QueryHeadshotmarketingSeoAuditArgs = {
|
|
78174
79397
|
id: Scalars['ID']['input'];
|
|
78175
79398
|
};
|
|
@@ -79968,6 +81191,29 @@ export type QueryMyApprovalRequestsArgs = {
|
|
|
79968
81191
|
status?: InputMaybe<ApprovalStatus>;
|
|
79969
81192
|
};
|
|
79970
81193
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
81194
|
+
export type QueryMyAssistantConversationEntriesArgs = {
|
|
81195
|
+
after?: InputMaybe<Scalars['String']['input']>;
|
|
81196
|
+
before?: InputMaybe<Scalars['String']['input']>;
|
|
81197
|
+
clientConversationId?: InputMaybe<Scalars['ID']['input']>;
|
|
81198
|
+
conversationId?: InputMaybe<Scalars['ID']['input']>;
|
|
81199
|
+
first?: InputMaybe<Scalars['Int']['input']>;
|
|
81200
|
+
last?: InputMaybe<Scalars['Int']['input']>;
|
|
81201
|
+
productId: Scalars['String']['input'];
|
|
81202
|
+
sinceSeq?: InputMaybe<Scalars['Int']['input']>;
|
|
81203
|
+
};
|
|
81204
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
81205
|
+
export type QueryMyAssistantConversationsArgs = {
|
|
81206
|
+
after?: InputMaybe<Scalars['String']['input']>;
|
|
81207
|
+
first?: InputMaybe<Scalars['Int']['input']>;
|
|
81208
|
+
productId: Scalars['String']['input'];
|
|
81209
|
+
};
|
|
81210
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
81211
|
+
export type QueryMyAssistantHistoryChangesArgs = {
|
|
81212
|
+
after?: InputMaybe<Scalars['String']['input']>;
|
|
81213
|
+
first?: InputMaybe<Scalars['Int']['input']>;
|
|
81214
|
+
productId: Scalars['String']['input'];
|
|
81215
|
+
};
|
|
81216
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
79971
81217
|
export type QueryMyBalanceTargetsArgs = {
|
|
79972
81218
|
pagination?: InputMaybe<PaginationInput>;
|
|
79973
81219
|
};
|
|
@@ -80356,6 +81602,12 @@ export type QueryPlanmagnetBoardArgs = {
|
|
|
80356
81602
|
id: Scalars['ID']['input'];
|
|
80357
81603
|
};
|
|
80358
81604
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
81605
|
+
export type QueryPlanmagnetBoardColumnCardsArgs = {
|
|
81606
|
+
boardId: Scalars['ID']['input'];
|
|
81607
|
+
columnId: Scalars['ID']['input'];
|
|
81608
|
+
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
81609
|
+
};
|
|
81610
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
80359
81611
|
export type QueryPlanmagnetBoardsArgs = {
|
|
80360
81612
|
filter?: InputMaybe<PlanmagnetBoardFilter>;
|
|
80361
81613
|
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
@@ -80476,6 +81728,7 @@ export type QueryPlanmagnetFeatureRequestArgs = {
|
|
|
80476
81728
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
80477
81729
|
export type QueryPlanmagnetFeatureRequestsArgs = {
|
|
80478
81730
|
filter?: InputMaybe<PlanmagnetFeatureRequestFilter>;
|
|
81731
|
+
orderBy?: InputMaybe<PlanmagnetFeatureOrder>;
|
|
80479
81732
|
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
80480
81733
|
workspaceId: Scalars['ID']['input'];
|
|
80481
81734
|
};
|
|
@@ -80490,6 +81743,19 @@ export type QueryPlanmagnetMilestoneArgs = {
|
|
|
80490
81743
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
80491
81744
|
export type QueryPlanmagnetMilestonesArgs = {
|
|
80492
81745
|
filter?: InputMaybe<PlanmagnetMilestoneFilter>;
|
|
81746
|
+
orderBy?: InputMaybe<PlanmagnetMilestoneOrder>;
|
|
81747
|
+
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
81748
|
+
workspaceId: Scalars['ID']['input'];
|
|
81749
|
+
};
|
|
81750
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
81751
|
+
export type QueryPlanmagnetMyAgentRunsArgs = {
|
|
81752
|
+
filter?: InputMaybe<PlanmagnetAgentRunFilter>;
|
|
81753
|
+
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
81754
|
+
workspaceId: Scalars['ID']['input'];
|
|
81755
|
+
};
|
|
81756
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
81757
|
+
export type QueryPlanmagnetMyWorkItemsArgs = {
|
|
81758
|
+
filter?: InputMaybe<PlanmagnetMyWorkItemFilter>;
|
|
80493
81759
|
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
80494
81760
|
workspaceId: Scalars['ID']['input'];
|
|
80495
81761
|
};
|
|
@@ -80518,6 +81784,16 @@ export type QueryPlanmagnetPortfoliosArgs = {
|
|
|
80518
81784
|
workspaceId: Scalars['ID']['input'];
|
|
80519
81785
|
};
|
|
80520
81786
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
81787
|
+
export type QueryPlanmagnetProductArgs = {
|
|
81788
|
+
id: Scalars['ID']['input'];
|
|
81789
|
+
};
|
|
81790
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
81791
|
+
export type QueryPlanmagnetProductsArgs = {
|
|
81792
|
+
filter?: InputMaybe<PlanmagnetProductFilter>;
|
|
81793
|
+
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
81794
|
+
workspaceId: Scalars['ID']['input'];
|
|
81795
|
+
};
|
|
81796
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
80521
81797
|
export type QueryPlanmagnetProgramArgs = {
|
|
80522
81798
|
id: Scalars['ID']['input'];
|
|
80523
81799
|
};
|
|
@@ -80542,6 +81818,10 @@ export type QueryPlanmagnetProjectTemplatesArgs = {
|
|
|
80542
81818
|
workspaceId: Scalars['ID']['input'];
|
|
80543
81819
|
};
|
|
80544
81820
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
81821
|
+
export type QueryPlanmagnetProjectWorkflowArgs = {
|
|
81822
|
+
projectId: Scalars['ID']['input'];
|
|
81823
|
+
};
|
|
81824
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
80545
81825
|
export type QueryPlanmagnetProjectsArgs = {
|
|
80546
81826
|
filter?: InputMaybe<PlanmagnetProjectFilter>;
|
|
80547
81827
|
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
@@ -80562,6 +81842,10 @@ export type QueryPlanmagnetReleaseArgs = {
|
|
|
80562
81842
|
id: Scalars['ID']['input'];
|
|
80563
81843
|
};
|
|
80564
81844
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
81845
|
+
export type QueryPlanmagnetReleaseReadinessArgs = {
|
|
81846
|
+
releaseId: Scalars['ID']['input'];
|
|
81847
|
+
};
|
|
81848
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
80565
81849
|
export type QueryPlanmagnetReleasesArgs = {
|
|
80566
81850
|
filter?: InputMaybe<PlanmagnetReleaseFilter>;
|
|
80567
81851
|
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
@@ -80621,6 +81905,30 @@ export type QueryPlanmagnetSprintsArgs = {
|
|
|
80621
81905
|
workspaceId: Scalars['ID']['input'];
|
|
80622
81906
|
};
|
|
80623
81907
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
81908
|
+
export type QueryPlanmagnetTeamArgs = {
|
|
81909
|
+
id: Scalars['ID']['input'];
|
|
81910
|
+
};
|
|
81911
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
81912
|
+
export type QueryPlanmagnetTeamVelocityArgs = {
|
|
81913
|
+
teamId: Scalars['ID']['input'];
|
|
81914
|
+
trailingSprintCount?: InputMaybe<Scalars['Int']['input']>;
|
|
81915
|
+
workspaceId: Scalars['ID']['input'];
|
|
81916
|
+
};
|
|
81917
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
81918
|
+
export type QueryPlanmagnetTeamsArgs = {
|
|
81919
|
+
filter?: InputMaybe<PlanmagnetTeamFilter>;
|
|
81920
|
+
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
81921
|
+
workspaceId: Scalars['ID']['input'];
|
|
81922
|
+
};
|
|
81923
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
81924
|
+
export type QueryPlanmagnetThroughputArgs = {
|
|
81925
|
+
bucket?: InputMaybe<PlanmagnetThroughputBucket>;
|
|
81926
|
+
endDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
81927
|
+
projectId: Scalars['ID']['input'];
|
|
81928
|
+
startDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
81929
|
+
workspaceId: Scalars['ID']['input'];
|
|
81930
|
+
};
|
|
81931
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
80624
81932
|
export type QueryPlanmagnetTimeEntriesArgs = {
|
|
80625
81933
|
filter?: InputMaybe<PlanmagnetTimeEntryFilter>;
|
|
80626
81934
|
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
@@ -80651,6 +81959,21 @@ export type QueryPlanmagnetWorkItemArgs = {
|
|
|
80651
81959
|
id: Scalars['ID']['input'];
|
|
80652
81960
|
};
|
|
80653
81961
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
81962
|
+
export type QueryPlanmagnetWorkItemActivityArgs = {
|
|
81963
|
+
first?: InputMaybe<Scalars['Int']['input']>;
|
|
81964
|
+
workItemId: Scalars['ID']['input'];
|
|
81965
|
+
};
|
|
81966
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
81967
|
+
export type QueryPlanmagnetWorkItemCommentsArgs = {
|
|
81968
|
+
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
81969
|
+
workItemId: Scalars['ID']['input'];
|
|
81970
|
+
};
|
|
81971
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
81972
|
+
export type QueryPlanmagnetWorkItemCountsArgs = {
|
|
81973
|
+
filter?: InputMaybe<PlanmagnetWorkItemFilter>;
|
|
81974
|
+
workspaceId: Scalars['ID']['input'];
|
|
81975
|
+
};
|
|
81976
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
80654
81977
|
export type QueryPlanmagnetWorkItemDocsArgs = {
|
|
80655
81978
|
workItemId: Scalars['ID']['input'];
|
|
80656
81979
|
};
|
|
@@ -83676,10 +84999,16 @@ export type Release = {
|
|
|
83676
84999
|
ownerId?: Maybe<Scalars['String']['output']>;
|
|
83677
85000
|
/** Planned release date */
|
|
83678
85001
|
plannedDate?: Maybe<Scalars['DateTime']['output']>;
|
|
85002
|
+
/** The linked Product, when set. */
|
|
85003
|
+
product?: Maybe<Product>;
|
|
85004
|
+
/** Linked strategic Product (BOFF-8045). Null when never attached. */
|
|
85005
|
+
productId?: Maybe<Scalars['String']['output']>;
|
|
83679
85006
|
/** Parent project */
|
|
83680
85007
|
project?: Maybe<PlanmagnetProject>;
|
|
83681
85008
|
/** Parent project ID */
|
|
83682
85009
|
projectId: Scalars['String']['output'];
|
|
85010
|
+
/** Live quality gates holding this release. It cannot become RELEASED until every one is PASSED or WAIVED */
|
|
85011
|
+
qualityGates: Array<QualityGate>;
|
|
83683
85012
|
/** Release notes (markdown) */
|
|
83684
85013
|
releaseNotes?: Maybe<Scalars['String']['output']>;
|
|
83685
85014
|
/** Actual release date */
|
|
@@ -83725,7 +85054,8 @@ export declare enum ReleaseStatus {
|
|
|
83725
85054
|
Planning = "PLANNING",
|
|
83726
85055
|
Ready = "READY",
|
|
83727
85056
|
Released = "RELEASED",
|
|
83728
|
-
RolledBack = "ROLLED_BACK"
|
|
85057
|
+
RolledBack = "ROLLED_BACK",
|
|
85058
|
+
Staging = "STAGING"
|
|
83729
85059
|
}
|
|
83730
85060
|
export declare enum ReminderChannel {
|
|
83731
85061
|
Email = "EMAIL",
|
|
@@ -83942,6 +85272,13 @@ export type ReportAiTokenUsageInput = {
|
|
|
83942
85272
|
/** Deprecated/ignored. Credits are now computed server-side from the model's token prices (input + ~5×output), not from a client-supplied total. Retained (nullable) only so the field removal isn't a breaking schema change. */
|
|
83943
85273
|
totalTokens?: InputMaybe<Scalars['Int']['input']>;
|
|
83944
85274
|
};
|
|
85275
|
+
/** A batch of finished turns from one page. */
|
|
85276
|
+
export type ReportAssistantTurnTimingsInput = {
|
|
85277
|
+
/** A random UUID per request, used only to ignore a repeated delivery. Never stored as a metric label. */
|
|
85278
|
+
nonce: Scalars['String']['input'];
|
|
85279
|
+
/** Between 1 and 20 turns. */
|
|
85280
|
+
turns: Array<AssistantTurnTimingInput>;
|
|
85281
|
+
};
|
|
83945
85282
|
export declare enum ReportFormat {
|
|
83946
85283
|
Csv = "CSV",
|
|
83947
85284
|
Excel = "EXCEL",
|
|
@@ -84617,6 +85954,12 @@ export type Roadmap = {
|
|
|
84617
85954
|
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
84618
85955
|
/** Owner actor ID */
|
|
84619
85956
|
ownerId: Scalars['String']['output'];
|
|
85957
|
+
/** What the roadmap is organised around. Null when never recorded — legacy roadmaps were not classified, and this is not guessed. */
|
|
85958
|
+
planningFocus?: Maybe<RoadmapPlanningFocus>;
|
|
85959
|
+
/** The linked Product, when set. */
|
|
85960
|
+
product?: Maybe<Product>;
|
|
85961
|
+
/** Linked strategic Product (BOFF-8045). Null when never attached — see the BOFF-8045 backfill for the migration path from a pre-existing roadmap. */
|
|
85962
|
+
productId?: Maybe<Scalars['String']['output']>;
|
|
84620
85963
|
/** Roadmap visualization type */
|
|
84621
85964
|
type: RoadmapType;
|
|
84622
85965
|
/** Last update timestamp */
|
|
@@ -84674,6 +86017,14 @@ export declare enum RoadmapItemStatus {
|
|
|
84674
86017
|
InProgress = "IN_PROGRESS",
|
|
84675
86018
|
Planned = "PLANNED"
|
|
84676
86019
|
}
|
|
86020
|
+
/** What a roadmap is organised around. Independent of how it is displayed: a technology roadmap can be shown as a timeline. */
|
|
86021
|
+
export declare enum RoadmapPlanningFocus {
|
|
86022
|
+
Feature = "FEATURE",
|
|
86023
|
+
Portfolio = "PORTFOLIO",
|
|
86024
|
+
Technology = "TECHNOLOGY",
|
|
86025
|
+
Theme = "THEME"
|
|
86026
|
+
}
|
|
86027
|
+
/** 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). */
|
|
84677
86028
|
export declare enum RoadmapType {
|
|
84678
86029
|
Custom = "CUSTOM",
|
|
84679
86030
|
Gantt = "GANTT",
|
|
@@ -85031,6 +86382,20 @@ export type SandboxArtifactBytesInput = {
|
|
|
85031
86382
|
sandboxId: Scalars['ID']['input'];
|
|
85032
86383
|
sessionId: Scalars['String']['input'];
|
|
85033
86384
|
};
|
|
86385
|
+
/** The assistant modes the dedicated path provisions. */
|
|
86386
|
+
export declare enum SandboxAssistantMode {
|
|
86387
|
+
/** Take action: prepares changes as proposals; only a workspace admin's session can run them. */
|
|
86388
|
+
ApiCalls = "API_CALLS",
|
|
86389
|
+
/** Ask: answers and reads, as the user, through the read-only session relay. */
|
|
86390
|
+
Assistant = "ASSISTANT"
|
|
86391
|
+
}
|
|
86392
|
+
/** The write-approval flow a Take-action sandbox is asked to run. The service grants it to workspace admins only. */
|
|
86393
|
+
export declare enum SandboxAssistantWriteApproval {
|
|
86394
|
+
/** The pre-5a confirm-writes flow. */
|
|
86395
|
+
Legacy = "LEGACY",
|
|
86396
|
+
/** Proposals confirmed with a button (5a). */
|
|
86397
|
+
ProposalV1 = "PROPOSAL_V1"
|
|
86398
|
+
}
|
|
85034
86399
|
/** A tag available for selection (lightweight type for tag picker) */
|
|
85035
86400
|
export type SandboxAvailableTag = {
|
|
85036
86401
|
__typename?: 'SandboxAvailableTag';
|
|
@@ -85300,7 +86665,7 @@ export type SaveAssistantTurnInput = {
|
|
|
85300
86665
|
agentSessionId?: InputMaybe<Scalars['String']['input']>;
|
|
85301
86666
|
/** Conversation to append to. Omit to start a new one. */
|
|
85302
86667
|
conversationId?: InputMaybe<Scalars['ID']['input']>;
|
|
85303
|
-
/** Product that owns this chat, e.g. "bigconsole". */
|
|
86668
|
+
/** 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. */
|
|
85304
86669
|
productId: Scalars['String']['input'];
|
|
85305
86670
|
/** What the user asked. */
|
|
85306
86671
|
prompt: Scalars['String']['input'];
|
|
@@ -85312,6 +86677,22 @@ export type SaveDraftInput = {
|
|
|
85312
86677
|
conversationId: Scalars['ID']['input'];
|
|
85313
86678
|
parentMessageId?: InputMaybe<Scalars['ID']['input']>;
|
|
85314
86679
|
};
|
|
86680
|
+
export type SaveMyAssistantHistoryEntriesInput = {
|
|
86681
|
+
clientConversationId: Scalars['ID']['input'];
|
|
86682
|
+
/** TURN / LOCAL_COMMAND: exactly [USER, ASSISTANT]. NOTE: exactly [NOTE]. */
|
|
86683
|
+
entries: Array<AssistantHistoryEntryInput>;
|
|
86684
|
+
kind: AssistantHistoryEntryKind;
|
|
86685
|
+
/** The owning product. A renamed product's spellings (botlit / botmanor) are one history scope. */
|
|
86686
|
+
productId: Scalars['String']['input'];
|
|
86687
|
+
};
|
|
86688
|
+
export type SaveMyAssistantHistoryEntriesPayload = {
|
|
86689
|
+
__typename?: 'SaveMyAssistantHistoryEntriesPayload';
|
|
86690
|
+
conversation: AssistantHistoryConversation;
|
|
86691
|
+
/** 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. */
|
|
86692
|
+
droppedMetadataKeys: Array<Scalars['String']['output']>;
|
|
86693
|
+
entries: Array<AssistantHistoryEntry>;
|
|
86694
|
+
outcome: AssistantHistorySaveOutcome;
|
|
86695
|
+
};
|
|
85315
86696
|
export type SaveNavPreferencesInput = {
|
|
85316
86697
|
activeViewId?: InputMaybe<Scalars['String']['input']>;
|
|
85317
86698
|
/** JSON string: Record<viewId, Record<navItemId, "shown" | "hidden">>. */
|
|
@@ -88227,8 +89608,13 @@ export declare enum SortOrder {
|
|
|
88227
89608
|
/** A time-boxed iteration within a project that groups work items for focused delivery during a fixed period. */
|
|
88228
89609
|
export type Sprint = {
|
|
88229
89610
|
__typename?: 'Sprint';
|
|
89611
|
+
baselineEndDate?: Maybe<Scalars['DateTime']['output']>;
|
|
89612
|
+
/** 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. */
|
|
89613
|
+
baselineStartDate?: Maybe<Scalars['DateTime']['output']>;
|
|
88230
89614
|
/** Sprint capacity in story points */
|
|
88231
89615
|
capacity?: Maybe<Scalars['Int']['output']>;
|
|
89616
|
+
/** When the sprint was actually completed. Null if not completed, or completed before 2026-09-26 (unknown). */
|
|
89617
|
+
completedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
88232
89618
|
/** Context information */
|
|
88233
89619
|
context?: Maybe<Scalars['JSON']['output']>;
|
|
88234
89620
|
/** Creation timestamp */
|
|
@@ -88237,7 +89623,7 @@ export type Sprint = {
|
|
|
88237
89623
|
createdBy: Scalars['String']['output'];
|
|
88238
89624
|
/** Soft-delete timestamp */
|
|
88239
89625
|
deletedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
88240
|
-
/**
|
|
89626
|
+
/** PLANNED end. Completing the sprint does not change it; see completedAt. For sprints completed before 2026-09-26 this holds the moment of Complete. */
|
|
88241
89627
|
endDate?: Maybe<Scalars['DateTime']['output']>;
|
|
88242
89628
|
/** Sprint goal description */
|
|
88243
89629
|
goal?: Maybe<Scalars['String']['output']>;
|
|
@@ -88249,21 +89635,29 @@ export type Sprint = {
|
|
|
88249
89635
|
name: Scalars['String']['output'];
|
|
88250
89636
|
/** Actor on whose behalf this was created */
|
|
88251
89637
|
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
89638
|
+
/** Every change to the planned dates, oldest first. Append-only. */
|
|
89639
|
+
planChanges: Array<PlanmagnetSprintPlanChange>;
|
|
88252
89640
|
/** Parent project */
|
|
88253
89641
|
project?: Maybe<PlanmagnetProject>;
|
|
88254
|
-
/** Parent project ID */
|
|
88255
|
-
projectId
|
|
89642
|
+
/** Parent project ID. Set only for a project-scoped sprint — exactly one of projectId/teamId is ever set (BOFF-8044). */
|
|
89643
|
+
projectId?: Maybe<Scalars['String']['output']>;
|
|
88256
89644
|
/** 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. */
|
|
88257
89645
|
sortOrder: Scalars['Int']['output'];
|
|
88258
|
-
/**
|
|
89646
|
+
/** 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). */
|
|
88259
89647
|
startDate?: Maybe<Scalars['DateTime']['output']>;
|
|
89648
|
+
/** 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). */
|
|
89649
|
+
startedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
88260
89650
|
/** Current status */
|
|
88261
89651
|
status: SprintStatus;
|
|
89652
|
+
/** Parent team */
|
|
89653
|
+
team?: Maybe<Team>;
|
|
89654
|
+
/** Parent team ID. Set only for a team-scoped sprint (BOFF-8044) — see projectId above. */
|
|
89655
|
+
teamId?: Maybe<Scalars['String']['output']>;
|
|
88262
89656
|
/** Last update timestamp */
|
|
88263
89657
|
updatedAt: Scalars['DateTime']['output'];
|
|
88264
89658
|
/** Actor who last updated this sprint */
|
|
88265
89659
|
updatedBy?: Maybe<Scalars['String']['output']>;
|
|
88266
|
-
/** Sprint velocity
|
|
89660
|
+
/** 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. */
|
|
88267
89661
|
velocity?: Maybe<Scalars['Int']['output']>;
|
|
88268
89662
|
/** Work items in this sprint */
|
|
88269
89663
|
workItems: Array<WorkItem>;
|
|
@@ -90935,6 +92329,34 @@ export declare enum TcpVerificationStatus {
|
|
|
90935
92329
|
Retracted = "RETRACTED",
|
|
90936
92330
|
Unverified = "UNVERIFIED"
|
|
90937
92331
|
}
|
|
92332
|
+
/** 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. */
|
|
92333
|
+
export type Team = {
|
|
92334
|
+
__typename?: 'Team';
|
|
92335
|
+
/** Story-point capacity for this team's own sprints, if set. */
|
|
92336
|
+
capacity?: Maybe<Scalars['Int']['output']>;
|
|
92337
|
+
createdAt: Scalars['DateTime']['output'];
|
|
92338
|
+
createdBy: Scalars['String']['output'];
|
|
92339
|
+
description?: Maybe<Scalars['String']['output']>;
|
|
92340
|
+
id: Scalars['ID']['output'];
|
|
92341
|
+
/** The team's lead — an actor id, or null. Backed by the `ownerId` column; see team.resolvers.ts. */
|
|
92342
|
+
leadId?: Maybe<Scalars['String']['output']>;
|
|
92343
|
+
/** Members of this team. */
|
|
92344
|
+
members: Array<TeamMember>;
|
|
92345
|
+
name: Scalars['String']['output'];
|
|
92346
|
+
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
92347
|
+
/** Live projects on this team. A project soft-deleted elsewhere disappears from this list. */
|
|
92348
|
+
projects: Array<PlanmagnetProject>;
|
|
92349
|
+
updatedAt: Scalars['DateTime']['output'];
|
|
92350
|
+
updatedBy?: Maybe<Scalars['String']['output']>;
|
|
92351
|
+
workspaceId: Scalars['String']['output'];
|
|
92352
|
+
};
|
|
92353
|
+
export type TeamMember = {
|
|
92354
|
+
__typename?: 'TeamMember';
|
|
92355
|
+
actorId: Scalars['String']['output'];
|
|
92356
|
+
createdAt: Scalars['DateTime']['output'];
|
|
92357
|
+
id: Scalars['ID']['output'];
|
|
92358
|
+
teamId: Scalars['String']['output'];
|
|
92359
|
+
};
|
|
90938
92360
|
/** 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. */
|
|
90939
92361
|
export type TeamWorkPatternEntry = {
|
|
90940
92362
|
__typename?: 'TeamWorkPatternEntry';
|
|
@@ -93680,6 +95102,11 @@ export type Transaction = {
|
|
|
93680
95102
|
__typename?: 'Transaction';
|
|
93681
95103
|
id: Scalars['ID']['output'];
|
|
93682
95104
|
};
|
|
95105
|
+
export type TransferInventoryStockInput = {
|
|
95106
|
+
destinationInventoryItemId: Scalars['ID']['input'];
|
|
95107
|
+
quantity: Scalars['Int']['input'];
|
|
95108
|
+
sourceInventoryItemId: Scalars['ID']['input'];
|
|
95109
|
+
};
|
|
93683
95110
|
export type TransformRuntimeInfo = {
|
|
93684
95111
|
__typename?: 'TransformRuntimeInfo';
|
|
93685
95112
|
maxInputBytes: Scalars['Int']['output'];
|
|
@@ -95190,9 +96617,13 @@ export type UpdateDashboardEmbedPolicyInput = {
|
|
|
95190
96617
|
allowedParentOrigins?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
95191
96618
|
expiresAt?: InputMaybe<Scalars['DateTime']['input']>;
|
|
95192
96619
|
policyId: Scalars['ID']['input'];
|
|
95193
|
-
/** Publish-time presentation options (BOFF-5735). Read live at view time, so a change reflects on the next render with no re-publish. */
|
|
96620
|
+
/** 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. */
|
|
95194
96621
|
presentationTheme?: InputMaybe<DashboardEmbedTheme>;
|
|
95195
96622
|
sessionTtlSeconds?: InputMaybe<Scalars['Int']['input']>;
|
|
96623
|
+
/**
|
|
96624
|
+
* Ignored. Every embed always shows the "Powered by BigConsole" footer. Accepted only so older clients that still send it keep working.
|
|
96625
|
+
* @deprecated Embeds always show the BigConsole footer; this setting is ignored.
|
|
96626
|
+
*/
|
|
95196
96627
|
showBrandingFooter?: InputMaybe<Scalars['Boolean']['input']>;
|
|
95197
96628
|
showDashboardTitle?: InputMaybe<Scalars['Boolean']['input']>;
|
|
95198
96629
|
};
|
|
@@ -95317,19 +96748,27 @@ export type UpdateDeliveryJobStatusInput = {
|
|
|
95317
96748
|
status: DeliveryJobStatus;
|
|
95318
96749
|
};
|
|
95319
96750
|
export type UpdateDriverInput = {
|
|
96751
|
+
baseSalary?: InputMaybe<Scalars['Float']['input']>;
|
|
96752
|
+
bonusYtd?: InputMaybe<Scalars['Float']['input']>;
|
|
95320
96753
|
certifications?: InputMaybe<Scalars['JSON']['input']>;
|
|
95321
96754
|
context?: InputMaybe<ContextInput>;
|
|
95322
96755
|
currentLocation?: InputMaybe<Scalars['JSON']['input']>;
|
|
95323
96756
|
email?: InputMaybe<Scalars['String']['input']>;
|
|
95324
96757
|
firstName?: InputMaybe<Scalars['String']['input']>;
|
|
96758
|
+
hireDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
95325
96759
|
lastName?: InputMaybe<Scalars['String']['input']>;
|
|
95326
96760
|
licenseClass?: InputMaybe<Scalars['String']['input']>;
|
|
95327
96761
|
licenseExpiry?: InputMaybe<Scalars['DateTime']['input']>;
|
|
95328
96762
|
licenseNumber?: InputMaybe<Scalars['String']['input']>;
|
|
96763
|
+
notes?: InputMaybe<Scalars['String']['input']>;
|
|
96764
|
+
onLeaveUntil?: InputMaybe<Scalars['DateTime']['input']>;
|
|
96765
|
+
payCurrency?: InputMaybe<Scalars['String']['input']>;
|
|
95329
96766
|
performanceMetrics?: InputMaybe<Scalars['JSON']['input']>;
|
|
95330
96767
|
phone?: InputMaybe<Scalars['String']['input']>;
|
|
95331
96768
|
rating?: InputMaybe<Scalars['Float']['input']>;
|
|
95332
96769
|
status?: InputMaybe<DriverStatus>;
|
|
96770
|
+
terminatedAt?: InputMaybe<Scalars['DateTime']['input']>;
|
|
96771
|
+
terminationReason?: InputMaybe<Scalars['String']['input']>;
|
|
95333
96772
|
userId?: InputMaybe<Scalars['String']['input']>;
|
|
95334
96773
|
vehicleId?: InputMaybe<Scalars['String']['input']>;
|
|
95335
96774
|
vehicleIds?: InputMaybe<Array<Scalars['ID']['input']>>;
|
|
@@ -96044,6 +97483,8 @@ export type UpdateHeadshotmarketingSocialAccountInput = {
|
|
|
96044
97483
|
avatarUrl?: InputMaybe<Scalars['String']['input']>;
|
|
96045
97484
|
deliveryMode?: InputMaybe<HeadshotmarketingSocialAccountDeliveryMode>;
|
|
96046
97485
|
followerCount?: InputMaybe<Scalars['Int']['input']>;
|
|
97486
|
+
/** 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. */
|
|
97487
|
+
integrationConnectionId?: InputMaybe<Scalars['ID']['input']>;
|
|
96047
97488
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
96048
97489
|
profileUrl?: InputMaybe<Scalars['String']['input']>;
|
|
96049
97490
|
refreshToken?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -97730,9 +99171,9 @@ export type UpdateVibecontrolsAgentInput = {
|
|
|
97730
99171
|
agentApiKey?: InputMaybe<Scalars['String']['input']>;
|
|
97731
99172
|
/** Custom AI context (markdown) surfaced to AI tools running on this agent */
|
|
97732
99173
|
aiContext?: InputMaybe<Scalars['String']['input']>;
|
|
97733
|
-
/** Auth-svc App clientId
|
|
99174
|
+
/** Auth-svc App clientId. Server-managed like `appId`: a non-null value is rejected with `BAD_USER_INPUT`. */
|
|
97734
99175
|
appClientId?: InputMaybe<Scalars['String']['input']>;
|
|
97735
|
-
/** Linked auth-svc App ID (OAuth2 identity for gateway access) */
|
|
99176
|
+
/** 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. */
|
|
97736
99177
|
appId?: InputMaybe<Scalars['String']['input']>;
|
|
97737
99178
|
capabilities?: InputMaybe<Scalars['JSON']['input']>;
|
|
97738
99179
|
configuration?: InputMaybe<Scalars['JSON']['input']>;
|
|
@@ -98532,6 +99973,7 @@ export declare enum ValidationMethod {
|
|
|
98532
99973
|
BasicAuth = "BASIC_AUTH",
|
|
98533
99974
|
BearerToken = "BEARER_TOKEN",
|
|
98534
99975
|
HmacSha256 = "HMAC_SHA256",
|
|
99976
|
+
Jwt = "JWT",
|
|
98535
99977
|
None = "NONE",
|
|
98536
99978
|
Signature = "SIGNATURE"
|
|
98537
99979
|
}
|
|
@@ -99009,6 +100451,8 @@ export type VaultUpdatedPayload = {
|
|
|
99009
100451
|
};
|
|
99010
100452
|
export type VehicleFilterInput = {
|
|
99011
100453
|
driverId?: InputMaybe<Scalars['ID']['input']>;
|
|
100454
|
+
/** Fetch exactly these vehicles by id, regardless of how many. Ignores other filters/pagination when set. */
|
|
100455
|
+
ids?: InputMaybe<Array<Scalars['ID']['input']>>;
|
|
99012
100456
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
99013
100457
|
status?: InputMaybe<VehicleStatus>;
|
|
99014
100458
|
type?: InputMaybe<VehicleType>;
|
|
@@ -99825,9 +101269,9 @@ export type VibecontrolsAgentProfile = {
|
|
|
99825
101269
|
};
|
|
99826
101270
|
/** 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. */
|
|
99827
101271
|
export declare enum VibecontrolsAgentVisibility {
|
|
99828
|
-
/** Only `ownerUserId` can see or use the agent. The default for an agent added by a user. */
|
|
101272
|
+
/** 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. */
|
|
99829
101273
|
Private = "PRIVATE",
|
|
99830
|
-
/** 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
|
|
101274
|
+
/** 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). */
|
|
99831
101275
|
Workspace = "WORKSPACE"
|
|
99832
101276
|
}
|
|
99833
101277
|
export type VibecontrolsAnalyticsInput = {
|
|
@@ -101678,10 +103122,14 @@ export type WorkItem = {
|
|
|
101678
103122
|
description?: Maybe<Scalars['String']['output']>;
|
|
101679
103123
|
/** Due date */
|
|
101680
103124
|
dueDate?: Maybe<Scalars['DateTime']['output']>;
|
|
103125
|
+
/** 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. */
|
|
103126
|
+
dueGroup: PlanmagnetDueGroup;
|
|
101681
103127
|
/** Original time estimate in minutes */
|
|
101682
103128
|
estimateMinutes?: Maybe<Scalars['Int']['output']>;
|
|
101683
103129
|
/** Unique identifier */
|
|
101684
103130
|
id: Scalars['ID']['output'];
|
|
103131
|
+
/** 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. */
|
|
103132
|
+
isOverdue: Scalars['Boolean']['output'];
|
|
101685
103133
|
/** Human-readable key (e.g. PROJ-123) */
|
|
101686
103134
|
key: Scalars['String']['output'];
|
|
101687
103135
|
/** Labels for categorization */
|
|
@@ -101710,6 +103158,8 @@ export type WorkItem = {
|
|
|
101710
103158
|
sprintId?: Maybe<Scalars['String']['output']>;
|
|
101711
103159
|
/** Current status */
|
|
101712
103160
|
status: WorkItemStatus;
|
|
103161
|
+
/** 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 */
|
|
103162
|
+
statusSince?: Maybe<Scalars['DateTime']['output']>;
|
|
101713
103163
|
/** Story points estimate */
|
|
101714
103164
|
storyPoints?: Maybe<Scalars['Int']['output']>;
|
|
101715
103165
|
/** Tags for categorization */
|
|
@@ -101738,20 +103188,22 @@ export type WorkItemDependency = {
|
|
|
101738
103188
|
description?: Maybe<Scalars['String']['output']>;
|
|
101739
103189
|
/** Unique identifier */
|
|
101740
103190
|
id: Scalars['ID']['output'];
|
|
103191
|
+
/** 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. */
|
|
103192
|
+
lagMinutes?: Maybe<Scalars['Int']['output']>;
|
|
101741
103193
|
/** Arbitrary metadata */
|
|
101742
103194
|
metadata?: Maybe<Scalars['JSON']['output']>;
|
|
101743
103195
|
/** Actor on whose behalf this was created */
|
|
101744
103196
|
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
101745
|
-
/**
|
|
101746
|
-
|
|
101747
|
-
/**
|
|
101748
|
-
|
|
103197
|
+
/** The constraining work item */
|
|
103198
|
+
predecessor?: Maybe<WorkItem>;
|
|
103199
|
+
/** 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. */
|
|
103200
|
+
predecessorId: Scalars['String']['output'];
|
|
101749
103201
|
/** Current status */
|
|
101750
103202
|
status: DependencyStatus;
|
|
101751
|
-
/**
|
|
101752
|
-
|
|
101753
|
-
/**
|
|
101754
|
-
|
|
103203
|
+
/** The constrained work item */
|
|
103204
|
+
successor?: Maybe<WorkItem>;
|
|
103205
|
+
/** The work item whose schedule is constrained. Renamed from `targetWorkItemId`. */
|
|
103206
|
+
successorId: Scalars['String']['output'];
|
|
101755
103207
|
/** Type of dependency */
|
|
101756
103208
|
type: DependencyType;
|
|
101757
103209
|
/** Last update timestamp */
|
|
@@ -101793,9 +103245,16 @@ export type WorkItemLink = {
|
|
|
101793
103245
|
/** Associated workspace ID */
|
|
101794
103246
|
workspaceId: Scalars['String']['output'];
|
|
101795
103247
|
};
|
|
103248
|
+
/** 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`. */
|
|
101796
103249
|
export declare enum WorkItemLinkRelation {
|
|
101797
103250
|
Affects = "AFFECTS",
|
|
103251
|
+
/** This work item is blocked by the linked one. Semantic only: it does NOT schedule. */
|
|
103252
|
+
BlockedBy = "BLOCKED_BY",
|
|
101798
103253
|
Blocks = "BLOCKS",
|
|
103254
|
+
CausedBy = "CAUSED_BY",
|
|
103255
|
+
Causes = "CAUSES",
|
|
103256
|
+
DuplicatedBy = "DUPLICATED_BY",
|
|
103257
|
+
Duplicates = "DUPLICATES",
|
|
101799
103258
|
Inspects = "INSPECTS",
|
|
101800
103259
|
Produces = "PRODUCES",
|
|
101801
103260
|
RelatedTo = "RELATED_TO",
|
|
@@ -101939,6 +103398,29 @@ export type WorkerCompleteRunResponse = {
|
|
|
101939
103398
|
success: Scalars['Boolean']['output'];
|
|
101940
103399
|
totalNodes?: Maybe<Scalars['Int']['output']>;
|
|
101941
103400
|
};
|
|
103401
|
+
/** Input for starting a Sub-workflow node's child run. */
|
|
103402
|
+
export type WorkerCreateChildRunInput = {
|
|
103403
|
+
/** Mapped data handed to the child as its trigger data. */
|
|
103404
|
+
input?: InputMaybe<Scalars['JSON']['input']>;
|
|
103405
|
+
parentNodeId: Scalars['String']['input'];
|
|
103406
|
+
parentRunId: Scalars['ID']['input'];
|
|
103407
|
+
/** Pinned version; omitted resolves the executable one (ACTIVE wins, else newest). */
|
|
103408
|
+
version?: InputMaybe<Scalars['String']['input']>;
|
|
103409
|
+
/** Target workflow, always resolved inside the parent's workspace. */
|
|
103410
|
+
workflowKey: Scalars['String']['input'];
|
|
103411
|
+
};
|
|
103412
|
+
/** Result of starting a child run. */
|
|
103413
|
+
export type WorkerCreateChildRunResponse = {
|
|
103414
|
+
__typename?: 'WorkerCreateChildRunResponse';
|
|
103415
|
+
childRunId?: Maybe<Scalars['ID']['output']>;
|
|
103416
|
+
error?: Maybe<Scalars['String']['output']>;
|
|
103417
|
+
/** One of: PARENT_NOT_FOUND, WORKFLOW_NOT_FOUND, DEPTH_EXCEEDED, CYCLE_DETECTED, NO_ENTRY_NODE. */
|
|
103418
|
+
errorCode?: Maybe<Scalars['String']['output']>;
|
|
103419
|
+
success: Scalars['Boolean']['output'];
|
|
103420
|
+
triggerNodeId?: Maybe<Scalars['String']['output']>;
|
|
103421
|
+
version?: Maybe<Scalars['String']['output']>;
|
|
103422
|
+
workflowKey?: Maybe<Scalars['String']['output']>;
|
|
103423
|
+
};
|
|
101942
103424
|
/** Input for creating node state */
|
|
101943
103425
|
export type WorkerCreateNodeStateInput = {
|
|
101944
103426
|
context?: InputMaybe<Scalars['JSON']['input']>;
|
|
@@ -102184,6 +103666,7 @@ export type WorkerToolApprovalRequestResponse = {
|
|
|
102184
103666
|
/** Input for updating node state */
|
|
102185
103667
|
export type WorkerUpdateNodeStateInput = {
|
|
102186
103668
|
attemptCount?: InputMaybe<Scalars['Int']['input']>;
|
|
103669
|
+
context?: InputMaybe<Scalars['JSON']['input']>;
|
|
102187
103670
|
duration?: InputMaybe<Scalars['Float']['input']>;
|
|
102188
103671
|
endTime?: InputMaybe<Scalars['DateTime']['input']>;
|
|
102189
103672
|
error?: InputMaybe<Scalars['String']['input']>;
|