@burdenoff/microfe-planmagnet 2026.923.5 → 2026.924.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated/global-types.d.ts +5405 -517
- package/dist/generated/global-types.d.ts.map +1 -1
- package/dist/generated/wspace-operations.d.ts +17 -12
- package/dist/generated/wspace-operations.d.ts.map +1 -1
- package/dist/generated/wspace-types.d.ts +433 -200
- package/dist/generated/wspace-types.d.ts.map +1 -1
- package/package.json +3 -2
|
@@ -285,14 +285,27 @@ export declare enum DependencyStatus {
|
|
|
285
285
|
Removed = "REMOVED",
|
|
286
286
|
Resolved = "RESOLVED"
|
|
287
287
|
}
|
|
288
|
+
/**
|
|
289
|
+
* How one work item constrains the SCHEDULE of another.
|
|
290
|
+
*
|
|
291
|
+
* These four are the standard CPM relationships; `lagMinutes` offsets them. This
|
|
292
|
+
* enum used to carry issue-link verbs (BLOCKS, DUPLICATES, RELATES_TO, ...) while
|
|
293
|
+
* the database carried these four — one name, ZERO overlapping values — so every
|
|
294
|
+
* `planmagnetCreateDependency` passed gateway validation and then failed the
|
|
295
|
+
* write. The semantic verbs now live on `WorkItemLink.relationType`, which is
|
|
296
|
+
* where they belong: "A relates to B" says nothing about when either one starts.
|
|
297
|
+
*
|
|
298
|
+
* Only these relationships take part in critical-path analysis.
|
|
299
|
+
*/
|
|
288
300
|
export declare enum DependencyType {
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
301
|
+
/** The successor finishes after the predecessor finishes. */
|
|
302
|
+
FinishToFinish = "FINISH_TO_FINISH",
|
|
303
|
+
/** The successor starts after the predecessor finishes. The usual case. */
|
|
304
|
+
FinishToStart = "FINISH_TO_START",
|
|
305
|
+
/** The successor finishes after the predecessor starts. Rare. */
|
|
306
|
+
StartToFinish = "START_TO_FINISH",
|
|
307
|
+
/** The successor starts after the predecessor starts. */
|
|
308
|
+
StartToStart = "START_TO_START"
|
|
296
309
|
}
|
|
297
310
|
export declare enum DocStatus {
|
|
298
311
|
Archived = "ARCHIVED",
|
|
@@ -527,10 +540,14 @@ export type Mutation = {
|
|
|
527
540
|
_planmagnetPing?: Maybe<Scalars['String']['output']>;
|
|
528
541
|
/** Add work items to a sprint */
|
|
529
542
|
planmagnetAddWorkItemsToSprint: Sprint;
|
|
543
|
+
/**
|
|
544
|
+
* Grant a user billable editor access to a PlanMagnet workspace. Rejected
|
|
545
|
+
* once the workspace is at its plan's editor limit (Free tier: 10).
|
|
546
|
+
* Idempotent: granting an already-active editor returns the existing seat.
|
|
547
|
+
*/
|
|
548
|
+
planmagnetAddWorkspaceEditor: PlanmagnetWorkspaceEditor;
|
|
530
549
|
/** Apply a template to create a new project */
|
|
531
550
|
planmagnetApplyTemplate: PlanmagnetProject;
|
|
532
|
-
/** Approve an adapter submission. */
|
|
533
|
-
planmagnetApproveAdapter: PlanmagnetAdapterSubmission;
|
|
534
551
|
/** Approve a budget */
|
|
535
552
|
planmagnetApproveBudget: PlanmagnetBudget;
|
|
536
553
|
/** Approve a submitted timesheet */
|
|
@@ -557,17 +574,14 @@ export type Mutation = {
|
|
|
557
574
|
planmagnetCreateCustomFieldDefinition: CustomFieldDefinition;
|
|
558
575
|
/** Create a new dependency between work items */
|
|
559
576
|
planmagnetCreateDependency: WorkItemDependency;
|
|
560
|
-
/** Create a new doc */
|
|
561
577
|
planmagnetCreateDoc: PlanmagnetDoc;
|
|
562
578
|
/** Create a new external sync configuration */
|
|
563
579
|
planmagnetCreateExternalSync: ExternalSync;
|
|
564
580
|
/** Create a new feature request */
|
|
565
581
|
planmagnetCreateFeatureRequest: FeatureRequest;
|
|
566
|
-
/** Create a new key result */
|
|
567
582
|
planmagnetCreateKeyResult: PlanmagnetKeyResult;
|
|
568
583
|
/** Create a new milestone */
|
|
569
584
|
planmagnetCreateMilestone: Milestone;
|
|
570
|
-
/** Create a new objective */
|
|
571
585
|
planmagnetCreateObjective: PlanmagnetObjective;
|
|
572
586
|
/** Create a new portfolio */
|
|
573
587
|
planmagnetCreatePortfolio: Portfolio;
|
|
@@ -611,7 +625,6 @@ export type Mutation = {
|
|
|
611
625
|
planmagnetDeleteCustomFieldDefinition: Scalars['Boolean']['output'];
|
|
612
626
|
/** Remove a dependency */
|
|
613
627
|
planmagnetDeleteDependency: Scalars['Boolean']['output'];
|
|
614
|
-
/** Delete a doc */
|
|
615
628
|
planmagnetDeleteDoc: Scalars['Boolean']['output'];
|
|
616
629
|
/** Delete an expense */
|
|
617
630
|
planmagnetDeleteExpense: Scalars['Boolean']['output'];
|
|
@@ -619,7 +632,10 @@ export type Mutation = {
|
|
|
619
632
|
planmagnetDeleteExternalSync: Scalars['Boolean']['output'];
|
|
620
633
|
/** Delete a feature request */
|
|
621
634
|
planmagnetDeleteFeatureRequest: Scalars['Boolean']['output'];
|
|
622
|
-
/**
|
|
635
|
+
/**
|
|
636
|
+
* Only the key result's owner, its objective's owner, or its creator may
|
|
637
|
+
* delete it.
|
|
638
|
+
*/
|
|
623
639
|
planmagnetDeleteKeyResult: Scalars['Boolean']['output'];
|
|
624
640
|
/** Delete a milestone */
|
|
625
641
|
planmagnetDeleteMilestone: Scalars['Boolean']['output'];
|
|
@@ -650,36 +666,53 @@ export type Mutation = {
|
|
|
650
666
|
/** Soft-delete a work item */
|
|
651
667
|
planmagnetDeleteWorkItem: Scalars['Boolean']['output'];
|
|
652
668
|
/**
|
|
653
|
-
* Manually
|
|
669
|
+
* Manually run an automation rule (BOFF-4445) against a specific work item.
|
|
654
670
|
*
|
|
655
|
-
*
|
|
656
|
-
*
|
|
657
|
-
*
|
|
658
|
-
*
|
|
659
|
-
* `
|
|
671
|
+
* `triggerData` MUST include `workItemId` — every supported action type
|
|
672
|
+
* (`ASSIGN_TO_USER`/`ADD_LABEL`/`SET_STATUS`/`SET_PRIORITY`) mutates a
|
|
673
|
+
* specific WorkItem, and a manual run with no target records a FAILURE
|
|
674
|
+
* execution explaining that instead of evaluating anything. When a WorkItem is
|
|
675
|
+
* given, the rule's `conditions` are evaluated against a live snapshot of that
|
|
676
|
+
* item (merged with any extra fields in `triggerData`) and, if they pass, its
|
|
677
|
+
* `actions` are dispatched for real — this always records an
|
|
678
|
+
* `AutomationExecution` row, including a non-matching run.
|
|
660
679
|
*
|
|
661
|
-
*
|
|
662
|
-
*
|
|
663
|
-
*
|
|
664
|
-
* and so consumed a customer's metered monthly automation runs for a no-op.
|
|
665
|
-
* Restore the `@usage` directive in the same change that lands a real
|
|
666
|
-
* evaluation + dispatch engine, not before.
|
|
680
|
+
* Carries `@usage` again as of BOFF-4445: PlanMagnet now has a real evaluation
|
|
681
|
+
* + dispatch engine (see `automation-engine.ts`), so a manual run is real
|
|
682
|
+
* billable work.
|
|
667
683
|
*/
|
|
668
684
|
planmagnetExecuteAutomationRule: PlanmagnetAutomationExecution;
|
|
669
|
-
/**
|
|
685
|
+
/**
|
|
686
|
+
* Export items to the external tool. Real for `provider: GITHUB` (BOFF-4446):
|
|
687
|
+
* creates/updates real GitHub Issues for the given `internalIds` (WorkItem
|
|
688
|
+
* ids), or one bounded page of every WorkItem in the sync's project when
|
|
689
|
+
* omitted. Every other provider records an honest `NOT_IMPLEMENTED` outcome.
|
|
690
|
+
*/
|
|
670
691
|
planmagnetExportToExternal: PlanmagnetSyncResult;
|
|
692
|
+
/**
|
|
693
|
+
* Generate release notes from the closed work items linked to a release
|
|
694
|
+
* (by `workItemIds`, falling back to the release's `projectIds`).
|
|
695
|
+
* Persists the generated markdown on `Release.releaseNotes` so it remains
|
|
696
|
+
* editable via `planmagnetUpdateRelease`. When `persist` is false the notes
|
|
697
|
+
* are computed and returned without writing to the database.
|
|
698
|
+
*/
|
|
699
|
+
planmagnetGenerateReleaseNotes: PlanmagnetGenerateReleaseNotesPayload;
|
|
671
700
|
/**
|
|
672
701
|
* Import issues exported from an external tool (e.g. a Linear CSV/JSON export)
|
|
673
702
|
* into a project as WorkItems. Idempotent — already-imported issues are skipped.
|
|
674
703
|
*/
|
|
675
704
|
planmagnetImportExternalIssues: PlanmagnetImportResult;
|
|
676
|
-
/**
|
|
705
|
+
/**
|
|
706
|
+
* Import items from the external tool. Real for `provider: GITHUB`
|
|
707
|
+
* (BOFF-4446): fetches real GitHub Issues (specific `externalIds`, i.e. issue
|
|
708
|
+
* numbers, or one bounded page of all issues) and creates/updates the
|
|
709
|
+
* matching PlanMagnet WorkItems. Every other provider records an honest
|
|
710
|
+
* `NOT_IMPLEMENTED` outcome.
|
|
711
|
+
*/
|
|
677
712
|
planmagnetImportFromExternal: PlanmagnetSyncResult;
|
|
678
713
|
/** Link a competitor to a feature request */
|
|
679
714
|
planmagnetLinkCompetitorToFeature: FeatureRequest;
|
|
680
|
-
/** Link a doc to a work item */
|
|
681
715
|
planmagnetLinkDocToWorkItem: PlanmagnetDoc;
|
|
682
|
-
/** Link a key result to a work item (informational rollup only) */
|
|
683
716
|
planmagnetLinkKeyResultToWorkItem: PlanmagnetKeyResult;
|
|
684
717
|
/** Link a work item to an external product entity */
|
|
685
718
|
planmagnetLinkWorkItem: WorkItemLink;
|
|
@@ -687,16 +720,12 @@ export type Mutation = {
|
|
|
687
720
|
planmagnetLogExpense: BudgetExpense;
|
|
688
721
|
/** Quick log time against a work item */
|
|
689
722
|
planmagnetLogTime: PlanmagnetTimeEntry;
|
|
690
|
-
/** Moderate a reported marketplace listing. */
|
|
691
|
-
planmagnetModerateListing: PlanmagnetMarketplaceReport;
|
|
692
723
|
/** Move a card (work item) to a different column and/or position */
|
|
693
724
|
planmagnetMoveCard: Board;
|
|
694
725
|
/** Move a work item to a different status, sprint, or position */
|
|
695
726
|
planmagnetMoveWorkItem: WorkItem;
|
|
696
727
|
/** Pause a sync */
|
|
697
728
|
planmagnetPauseExternalSync: ExternalSync;
|
|
698
|
-
/** Reject an adapter submission. */
|
|
699
|
-
planmagnetRejectAdapter: PlanmagnetAdapterSubmission;
|
|
700
729
|
/** Reject a submitted timesheet */
|
|
701
730
|
planmagnetRejectTimesheet: PlanmagnetTimesheet;
|
|
702
731
|
/** Remove a custom field value from a work item */
|
|
@@ -705,6 +734,11 @@ export type Mutation = {
|
|
|
705
734
|
planmagnetRemoveFeatureVote: Scalars['Boolean']['output'];
|
|
706
735
|
/** Remove work items from a sprint */
|
|
707
736
|
planmagnetRemoveWorkItemsFromSprint: Sprint;
|
|
737
|
+
/**
|
|
738
|
+
* Revoke a user's editor access to a PlanMagnet workspace, freeing the slot.
|
|
739
|
+
* Idempotent: revoking a user who is not currently an editor returns false.
|
|
740
|
+
*/
|
|
741
|
+
planmagnetRemoveWorkspaceEditor: Scalars['Boolean']['output'];
|
|
708
742
|
/** Reorder columns on a board */
|
|
709
743
|
planmagnetReorderColumns: Board;
|
|
710
744
|
/** Resume a paused sync */
|
|
@@ -720,17 +754,27 @@ export type Mutation = {
|
|
|
720
754
|
planmagnetSetCustomFieldValue: CustomFieldValue;
|
|
721
755
|
/** Start a sprint (transition to ACTIVE) */
|
|
722
756
|
planmagnetStartSprint: Sprint;
|
|
723
|
-
/**
|
|
757
|
+
/**
|
|
758
|
+
* Start a sync operation in the direction `ExternalSync.direction` already
|
|
759
|
+
* records. Real for `provider: GITHUB` (BOFF-4446) — pulls/pushes real GitHub
|
|
760
|
+
* Issues, bounded to one REST page each way. Every other provider records an
|
|
761
|
+
* honest `NOT_IMPLEMENTED` outcome instead of a fabricated success.
|
|
762
|
+
*/
|
|
724
763
|
planmagnetStartSync: PlanmagnetSyncResult;
|
|
725
764
|
/** Submit a timesheet for approval */
|
|
726
765
|
planmagnetSubmitTimesheet: PlanmagnetTimesheet;
|
|
766
|
+
/**
|
|
767
|
+
* Calls the configured LLM provider to suggest a work-item breakdown for a
|
|
768
|
+
* plain-text description. Fails clearly (GraphQL error) when no provider key
|
|
769
|
+
* is configured or the model response can't be parsed — never returns
|
|
770
|
+
* fabricated suggestions.
|
|
771
|
+
*/
|
|
772
|
+
planmagnetSuggestWorkItemBreakdown: PlanmagnetWorkItemBreakdownResult;
|
|
727
773
|
/** Toggle an automation rule (activate/pause) */
|
|
728
774
|
planmagnetToggleAutomationRule: PlanmagnetAutomationRule;
|
|
729
775
|
/** Unlink a competitor from a feature request */
|
|
730
776
|
planmagnetUnlinkCompetitorFromFeature: FeatureRequest;
|
|
731
|
-
/** Unlink a doc from a work item */
|
|
732
777
|
planmagnetUnlinkDocFromWorkItem: Scalars['Boolean']['output'];
|
|
733
|
-
/** Unlink a key result from a work item */
|
|
734
778
|
planmagnetUnlinkKeyResultFromWorkItem: Scalars['Boolean']['output'];
|
|
735
779
|
/** Remove a work item link */
|
|
736
780
|
planmagnetUnlinkWorkItem: Scalars['Boolean']['output'];
|
|
@@ -748,10 +792,6 @@ export type Mutation = {
|
|
|
748
792
|
planmagnetUpdateCustomFieldDefinition: CustomFieldDefinition;
|
|
749
793
|
/** Update an existing dependency */
|
|
750
794
|
planmagnetUpdateDependency: WorkItemDependency;
|
|
751
|
-
/**
|
|
752
|
-
* Update a doc (creates a new version + revision); title/content/status are
|
|
753
|
-
* independently optional.
|
|
754
|
-
*/
|
|
755
795
|
planmagnetUpdateDoc: PlanmagnetDoc;
|
|
756
796
|
/** Update an expense */
|
|
757
797
|
planmagnetUpdateExpense: BudgetExpense;
|
|
@@ -760,9 +800,10 @@ export type Mutation = {
|
|
|
760
800
|
/** Update an existing feature request */
|
|
761
801
|
planmagnetUpdateFeatureRequest: FeatureRequest;
|
|
762
802
|
/**
|
|
763
|
-
* Progress is updated manually here via `currentValue` -- see module
|
|
764
|
-
* re: automated roll-up from linked work item completion.
|
|
765
|
-
* owner, its objective's owner, or its creator may
|
|
803
|
+
* Progress is updated manually here via `currentValue` -- see module
|
|
804
|
+
* deferral note re: automated roll-up from linked work item completion.
|
|
805
|
+
* Only the key result's owner, its objective's owner, or its creator may
|
|
806
|
+
* update it.
|
|
766
807
|
*/
|
|
767
808
|
planmagnetUpdateKeyResult: PlanmagnetKeyResult;
|
|
768
809
|
/** Update an existing milestone */
|
|
@@ -802,13 +843,13 @@ export type MutationPlanmagnetAddWorkItemsToSprintArgs = {
|
|
|
802
843
|
id: Scalars['ID']['input'];
|
|
803
844
|
input: PlanmagnetSprintWorkItemsInput;
|
|
804
845
|
};
|
|
846
|
+
export type MutationPlanmagnetAddWorkspaceEditorArgs = {
|
|
847
|
+
userId: Scalars['ID']['input'];
|
|
848
|
+
workspaceId: Scalars['ID']['input'];
|
|
849
|
+
};
|
|
805
850
|
export type MutationPlanmagnetApplyTemplateArgs = {
|
|
806
851
|
input: PlanmagnetApplyTemplateInput;
|
|
807
852
|
};
|
|
808
|
-
export type MutationPlanmagnetApproveAdapterArgs = {
|
|
809
|
-
id: Scalars['ID']['input'];
|
|
810
|
-
notes?: InputMaybe<Scalars['String']['input']>;
|
|
811
|
-
};
|
|
812
853
|
export type MutationPlanmagnetApproveBudgetArgs = {
|
|
813
854
|
id: Scalars['ID']['input'];
|
|
814
855
|
};
|
|
@@ -996,6 +1037,10 @@ export type MutationPlanmagnetExecuteAutomationRuleArgs = {
|
|
|
996
1037
|
export type MutationPlanmagnetExportToExternalArgs = {
|
|
997
1038
|
input: PlanmagnetExportToExternalInput;
|
|
998
1039
|
};
|
|
1040
|
+
export type MutationPlanmagnetGenerateReleaseNotesArgs = {
|
|
1041
|
+
id: Scalars['ID']['input'];
|
|
1042
|
+
persist?: InputMaybe<Scalars['Boolean']['input']>;
|
|
1043
|
+
};
|
|
999
1044
|
export type MutationPlanmagnetImportExternalIssuesArgs = {
|
|
1000
1045
|
input: PlanmagnetImportExternalIssuesInput;
|
|
1001
1046
|
};
|
|
@@ -1022,11 +1067,6 @@ export type MutationPlanmagnetLogExpenseArgs = {
|
|
|
1022
1067
|
export type MutationPlanmagnetLogTimeArgs = {
|
|
1023
1068
|
input: PlanmagnetLogTimeInput;
|
|
1024
1069
|
};
|
|
1025
|
-
export type MutationPlanmagnetModerateListingArgs = {
|
|
1026
|
-
action: PlanmagnetModerationAction;
|
|
1027
|
-
id: Scalars['ID']['input'];
|
|
1028
|
-
reason: Scalars['String']['input'];
|
|
1029
|
-
};
|
|
1030
1070
|
export type MutationPlanmagnetMoveCardArgs = {
|
|
1031
1071
|
boardId: Scalars['ID']['input'];
|
|
1032
1072
|
input: PlanmagnetMoveCardInput;
|
|
@@ -1038,10 +1078,6 @@ export type MutationPlanmagnetMoveWorkItemArgs = {
|
|
|
1038
1078
|
export type MutationPlanmagnetPauseExternalSyncArgs = {
|
|
1039
1079
|
id: Scalars['ID']['input'];
|
|
1040
1080
|
};
|
|
1041
|
-
export type MutationPlanmagnetRejectAdapterArgs = {
|
|
1042
|
-
id: Scalars['ID']['input'];
|
|
1043
|
-
reason: Scalars['String']['input'];
|
|
1044
|
-
};
|
|
1045
1081
|
export type MutationPlanmagnetRejectTimesheetArgs = {
|
|
1046
1082
|
id: Scalars['ID']['input'];
|
|
1047
1083
|
reason?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -1057,6 +1093,10 @@ export type MutationPlanmagnetRemoveWorkItemsFromSprintArgs = {
|
|
|
1057
1093
|
id: Scalars['ID']['input'];
|
|
1058
1094
|
input: PlanmagnetSprintWorkItemsInput;
|
|
1059
1095
|
};
|
|
1096
|
+
export type MutationPlanmagnetRemoveWorkspaceEditorArgs = {
|
|
1097
|
+
userId: Scalars['ID']['input'];
|
|
1098
|
+
workspaceId: Scalars['ID']['input'];
|
|
1099
|
+
};
|
|
1060
1100
|
export type MutationPlanmagnetReorderColumnsArgs = {
|
|
1061
1101
|
boardId: Scalars['ID']['input'];
|
|
1062
1102
|
input: PlanmagnetReorderColumnsInput;
|
|
@@ -1084,6 +1124,9 @@ export type MutationPlanmagnetStartSyncArgs = {
|
|
|
1084
1124
|
export type MutationPlanmagnetSubmitTimesheetArgs = {
|
|
1085
1125
|
id: Scalars['ID']['input'];
|
|
1086
1126
|
};
|
|
1127
|
+
export type MutationPlanmagnetSuggestWorkItemBreakdownArgs = {
|
|
1128
|
+
input: PlanmagnetSuggestWorkItemBreakdownInput;
|
|
1129
|
+
};
|
|
1087
1130
|
export type MutationPlanmagnetToggleAutomationRuleArgs = {
|
|
1088
1131
|
id: Scalars['ID']['input'];
|
|
1089
1132
|
status: PlanmagnetAutomationStatus;
|
|
@@ -1220,31 +1263,6 @@ export declare enum ObjectiveStatus {
|
|
|
1220
1263
|
Completed = "COMPLETED",
|
|
1221
1264
|
Draft = "DRAFT"
|
|
1222
1265
|
}
|
|
1223
|
-
/** A submitted adapter awaiting admin approval. */
|
|
1224
|
-
export type PlanmagnetAdapterSubmission = {
|
|
1225
|
-
__typename?: 'PlanmagnetAdapterSubmission';
|
|
1226
|
-
/** Adapter identifier */
|
|
1227
|
-
adapterId: Scalars['String']['output'];
|
|
1228
|
-
/** Creation timestamp */
|
|
1229
|
-
createdAt: Scalars['DateTime']['output'];
|
|
1230
|
-
/** Unique identifier */
|
|
1231
|
-
id: Scalars['ID']['output'];
|
|
1232
|
-
/** Admin notes */
|
|
1233
|
-
notes?: Maybe<Scalars['String']['output']>;
|
|
1234
|
-
/** Current review status */
|
|
1235
|
-
status: PlanmagnetSubmissionStatus;
|
|
1236
|
-
/** Workspace that submitted the adapter */
|
|
1237
|
-
submitterWorkspaceId: Scalars['String']['output'];
|
|
1238
|
-
/** Last update timestamp */
|
|
1239
|
-
updatedAt: Scalars['DateTime']['output'];
|
|
1240
|
-
};
|
|
1241
|
-
/** Paginated list of adapter submissions. */
|
|
1242
|
-
export type PlanmagnetAdapterSubmissionConnection = {
|
|
1243
|
-
__typename?: 'PlanmagnetAdapterSubmissionConnection';
|
|
1244
|
-
items: Array<PlanmagnetAdapterSubmission>;
|
|
1245
|
-
pageInfo: PlanmagnetPageInfo;
|
|
1246
|
-
totalCount: Scalars['Int']['output'];
|
|
1247
|
-
};
|
|
1248
1266
|
export type PlanmagnetApplyTemplateInput = {
|
|
1249
1267
|
ownerId: Scalars['String']['input'];
|
|
1250
1268
|
projectDescription?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -1290,10 +1308,21 @@ export type PlanmagnetAutomationExecutionList = {
|
|
|
1290
1308
|
pageInfo: PlanmagnetPageInfo;
|
|
1291
1309
|
totalCount: Scalars['Int']['output'];
|
|
1292
1310
|
};
|
|
1311
|
+
/**
|
|
1312
|
+
* The outcome of one automation run.
|
|
1313
|
+
*
|
|
1314
|
+
* PARTIAL_FAILURE exists because a run that dispatched some actions and could not
|
|
1315
|
+
* dispatch others is neither a success nor a plain failure, and an operator needs
|
|
1316
|
+
* to tell those apart. Before the status column existed the backing store was a
|
|
1317
|
+
* single boolean, so this distinction could not be represented at all.
|
|
1318
|
+
*/
|
|
1293
1319
|
export declare enum PlanmagnetAutomationExecutionStatus {
|
|
1294
1320
|
Failure = "FAILURE",
|
|
1321
|
+
/** Some actions ran, others failed or could not be dispatched. */
|
|
1322
|
+
PartialFailure = "PARTIAL_FAILURE",
|
|
1295
1323
|
Pending = "PENDING",
|
|
1296
1324
|
Running = "RUNNING",
|
|
1325
|
+
/** Nothing ran — no action the rule declared is supported by this engine. */
|
|
1297
1326
|
Skipped = "SKIPPED",
|
|
1298
1327
|
Success = "SUCCESS"
|
|
1299
1328
|
}
|
|
@@ -1316,9 +1345,11 @@ export type PlanmagnetAutomationRule = {
|
|
|
1316
1345
|
/** Rule description */
|
|
1317
1346
|
description?: Maybe<Scalars['String']['output']>;
|
|
1318
1347
|
/**
|
|
1319
|
-
* Number of times this rule's actions have actually been dispatched
|
|
1320
|
-
*
|
|
1321
|
-
*
|
|
1348
|
+
* Number of times this rule's actions have actually been dispatched — bumped
|
|
1349
|
+
* by the real engine (BOFF-4445) on a matched run, whether triggered
|
|
1350
|
+
* automatically (WORK_ITEM_CREATED/STATUS_CHANGED) or manually via
|
|
1351
|
+
* `planmagnetExecuteAutomationRule`. A manual run whose conditions did not
|
|
1352
|
+
* match does NOT increment this — see that mutation's description.
|
|
1322
1353
|
*/
|
|
1323
1354
|
executionCount: Scalars['Int']['output'];
|
|
1324
1355
|
/** Unique identifier */
|
|
@@ -1509,9 +1540,9 @@ export type PlanmagnetBulkUpdateWorkItemsInput = {
|
|
|
1509
1540
|
*/
|
|
1510
1541
|
export type PlanmagnetBurndownPoint = {
|
|
1511
1542
|
__typename?: 'PlanmagnetBurndownPoint';
|
|
1512
|
-
/** Story points DONE as of end of this day. */
|
|
1513
|
-
completedCount: Scalars['Int']['output'];
|
|
1514
1543
|
/** Work item count DONE as of end of this day. */
|
|
1544
|
+
completedCount: Scalars['Int']['output'];
|
|
1545
|
+
/** Story points DONE as of end of this day. */
|
|
1515
1546
|
completedPoints: Scalars['Int']['output'];
|
|
1516
1547
|
/** Calendar day (UTC midnight) this reading is as-of. */
|
|
1517
1548
|
date: Scalars['DateTime']['output'];
|
|
@@ -1599,9 +1630,10 @@ export type PlanmagnetCreateCustomFieldDefinitionInput = {
|
|
|
1599
1630
|
};
|
|
1600
1631
|
export type PlanmagnetCreateDependencyInput = {
|
|
1601
1632
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
1633
|
+
lagMinutes?: InputMaybe<Scalars['Int']['input']>;
|
|
1602
1634
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
1603
|
-
|
|
1604
|
-
|
|
1635
|
+
predecessorId: Scalars['String']['input'];
|
|
1636
|
+
successorId: Scalars['String']['input'];
|
|
1605
1637
|
type: DependencyType;
|
|
1606
1638
|
};
|
|
1607
1639
|
export type PlanmagnetCreateDocInput = {
|
|
@@ -1637,6 +1669,7 @@ export type PlanmagnetCreateKeyResultInput = {
|
|
|
1637
1669
|
metricType?: InputMaybe<KeyResultMetricType>;
|
|
1638
1670
|
objectiveId: Scalars['String']['input'];
|
|
1639
1671
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
1672
|
+
startValue?: InputMaybe<Scalars['Float']['input']>;
|
|
1640
1673
|
status?: InputMaybe<KeyResultStatus>;
|
|
1641
1674
|
targetValue: Scalars['Float']['input'];
|
|
1642
1675
|
title: Scalars['String']['input'];
|
|
@@ -1786,6 +1819,11 @@ export type PlanmagnetCreateSprintInput = {
|
|
|
1786
1819
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
1787
1820
|
name: Scalars['String']['input'];
|
|
1788
1821
|
projectId: Scalars['String']['input'];
|
|
1822
|
+
/**
|
|
1823
|
+
* Accepted for API compatibility but not honored: sort position is always
|
|
1824
|
+
* the auto-assigned, per-project-unique `sequenceNumber` — see
|
|
1825
|
+
* sprint.service.ts.
|
|
1826
|
+
*/
|
|
1789
1827
|
sortOrder?: InputMaybe<Scalars['Int']['input']>;
|
|
1790
1828
|
startDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
1791
1829
|
};
|
|
@@ -1836,6 +1874,28 @@ export type PlanmagnetCreateWorkItemLinkInput = {
|
|
|
1836
1874
|
sourceProduct: Scalars['String']['input'];
|
|
1837
1875
|
workItemId: Scalars['String']['input'];
|
|
1838
1876
|
};
|
|
1877
|
+
/**
|
|
1878
|
+
* Critical path through the dependency graph: the longest chain of
|
|
1879
|
+
* constrained work items, weighted by `lagDays`. Any delay on the nodes
|
|
1880
|
+
* returned in `path` pushes the project end date.
|
|
1881
|
+
*/
|
|
1882
|
+
export type PlanmagnetCriticalPath = {
|
|
1883
|
+
__typename?: 'PlanmagnetCriticalPath';
|
|
1884
|
+
path: Array<PlanmagnetDependencyNode>;
|
|
1885
|
+
/** Per-node slack in days. Nodes on the critical path have slack 0. */
|
|
1886
|
+
slack: Scalars['JSON']['output'];
|
|
1887
|
+
/**
|
|
1888
|
+
* Length of the critical chain in MINUTES — WORK PLUS LAG.
|
|
1889
|
+
*
|
|
1890
|
+
* This field has been wrong twice, in two different ways. As `totalLagDays` it
|
|
1891
|
+
* summed lag expressed in days; the column rename made it minutes without
|
|
1892
|
+
* renaming the field, so a two-day lag read as 2880 "days". And summing lag at
|
|
1893
|
+
* all was the deeper error: A(5d) → B(3d) with FINISH_TO_START and no lag is an
|
|
1894
|
+
* eight-day chain, and a lag-only total reports ZERO. It now measures what the
|
|
1895
|
+
* name says. No consumer in the repo, MFE, SDK or CLI selects it.
|
|
1896
|
+
*/
|
|
1897
|
+
totalDurationMinutes: Scalars['Int']['output'];
|
|
1898
|
+
};
|
|
1839
1899
|
/** Cumulative flow diagram data for a project over a date range. */
|
|
1840
1900
|
export type PlanmagnetCumulativeFlow = {
|
|
1841
1901
|
__typename?: 'PlanmagnetCumulativeFlow';
|
|
@@ -1868,7 +1928,9 @@ export type PlanmagnetCustomFieldValueList = {
|
|
|
1868
1928
|
};
|
|
1869
1929
|
/**
|
|
1870
1930
|
* Cycle-time distribution for a project over a date range. Only work items
|
|
1871
|
-
* with a recorded transition INTO DONE within the range are counted
|
|
1931
|
+
* with a recorded transition INTO DONE within the range are counted — an item
|
|
1932
|
+
* that already sat at DONE before status-transition recording began
|
|
1933
|
+
* contributes no sample (see analytics.service.ts).
|
|
1872
1934
|
*/
|
|
1873
1935
|
export type PlanmagnetCycleTime = {
|
|
1874
1936
|
__typename?: 'PlanmagnetCycleTime';
|
|
@@ -1887,43 +1949,63 @@ export type PlanmagnetCycleTimeItem = {
|
|
|
1887
1949
|
title: Scalars['String']['output'];
|
|
1888
1950
|
workItemId: Scalars['ID']['output'];
|
|
1889
1951
|
};
|
|
1952
|
+
/**
|
|
1953
|
+
* A single chain of dependencies rooted at a starting work item. The chain
|
|
1954
|
+
* is built by following outgoing `BLOCKS` / `BLOCKED_BY` edges until the
|
|
1955
|
+
* graph ends (or a cycle is reached).
|
|
1956
|
+
*/
|
|
1957
|
+
export type PlanmagnetDependencyChain = {
|
|
1958
|
+
__typename?: 'PlanmagnetDependencyChain';
|
|
1959
|
+
chain: Array<PlanmagnetDependencyNode>;
|
|
1960
|
+
depth: Scalars['Int']['output'];
|
|
1961
|
+
workItemId: Scalars['ID']['output'];
|
|
1962
|
+
};
|
|
1963
|
+
/**
|
|
1964
|
+
* A detected cycle in the dependency graph. Each cycle is the list of
|
|
1965
|
+
* work-item ids in traversal order.
|
|
1966
|
+
*/
|
|
1967
|
+
export type PlanmagnetDependencyCycle = {
|
|
1968
|
+
__typename?: 'PlanmagnetDependencyCycle';
|
|
1969
|
+
length: Scalars['Int']['output'];
|
|
1970
|
+
workItemIds: Array<Scalars['ID']['output']>;
|
|
1971
|
+
};
|
|
1890
1972
|
export type PlanmagnetDependencyFilter = {
|
|
1891
|
-
|
|
1973
|
+
predecessorId?: InputMaybe<Scalars['String']['input']>;
|
|
1892
1974
|
status?: InputMaybe<DependencyStatus>;
|
|
1893
|
-
|
|
1975
|
+
successorId?: InputMaybe<Scalars['String']['input']>;
|
|
1894
1976
|
type?: InputMaybe<DependencyType>;
|
|
1895
1977
|
};
|
|
1978
|
+
/**
|
|
1979
|
+
* A node participating in a dependency chain / critical path. Holds the
|
|
1980
|
+
* resolved work-item title and key so the client can render the chain
|
|
1981
|
+
* without a follow-up N+1 query.
|
|
1982
|
+
*/
|
|
1983
|
+
export type PlanmagnetDependencyNode = {
|
|
1984
|
+
__typename?: 'PlanmagnetDependencyNode';
|
|
1985
|
+
id: Scalars['ID']['output'];
|
|
1986
|
+
key?: Maybe<Scalars['String']['output']>;
|
|
1987
|
+
title?: Maybe<Scalars['String']['output']>;
|
|
1988
|
+
};
|
|
1896
1989
|
/**
|
|
1897
1990
|
* A workspace-scoped, versioned markdown doc. `title`/`content`/`version`
|
|
1898
1991
|
* always reflect the latest revision — use `revisions` for full history.
|
|
1899
1992
|
*/
|
|
1900
1993
|
export type PlanmagnetDoc = {
|
|
1901
1994
|
__typename?: 'PlanmagnetDoc';
|
|
1902
|
-
/** Latest content */
|
|
1903
1995
|
content: Scalars['String']['output'];
|
|
1904
|
-
/** Creation timestamp */
|
|
1905
1996
|
createdAt: Scalars['DateTime']['output'];
|
|
1906
|
-
/** Actor who created this doc */
|
|
1907
1997
|
createdBy: Scalars['String']['output'];
|
|
1908
|
-
/** Unique identifier */
|
|
1909
1998
|
id: Scalars['ID']['output'];
|
|
1910
1999
|
/** Work items this doc is currently linked to. */
|
|
1911
2000
|
linkedWorkItems: Array<WorkItem>;
|
|
1912
|
-
/** Actor on whose behalf this was created */
|
|
1913
2001
|
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
1914
2002
|
/** Full version history, including the current version, oldest first. */
|
|
1915
2003
|
revisions: Array<PlanmagnetDocRevision>;
|
|
1916
|
-
/** Current status */
|
|
1917
2004
|
status: DocStatus;
|
|
1918
|
-
/** Latest title */
|
|
1919
2005
|
title: Scalars['String']['output'];
|
|
1920
|
-
/** Last update timestamp */
|
|
1921
2006
|
updatedAt: Scalars['DateTime']['output'];
|
|
1922
|
-
/** Actor who last updated this doc */
|
|
1923
2007
|
updatedBy?: Maybe<Scalars['String']['output']>;
|
|
1924
|
-
/** Current version number */
|
|
1925
2008
|
version: Scalars['Int']['output'];
|
|
1926
|
-
/** Associated workspace ID */
|
|
1927
2009
|
workspaceId: Scalars['String']['output'];
|
|
1928
2010
|
};
|
|
1929
2011
|
export type PlanmagnetDocFilter = {
|
|
@@ -1939,21 +2021,13 @@ export type PlanmagnetDocList = {
|
|
|
1939
2021
|
/** An immutable snapshot of a PlanmagnetDoc at a given version. */
|
|
1940
2022
|
export type PlanmagnetDocRevision = {
|
|
1941
2023
|
__typename?: 'PlanmagnetDocRevision';
|
|
1942
|
-
/** Optional note recorded for this revision */
|
|
1943
2024
|
changeNote?: Maybe<Scalars['String']['output']>;
|
|
1944
|
-
/** Content at this version */
|
|
1945
2025
|
content: Scalars['String']['output'];
|
|
1946
|
-
/** Creation timestamp */
|
|
1947
2026
|
createdAt: Scalars['DateTime']['output'];
|
|
1948
|
-
/** Actor who created this revision */
|
|
1949
2027
|
createdBy: Scalars['String']['output'];
|
|
1950
|
-
/** Parent doc ID */
|
|
1951
2028
|
docId: Scalars['String']['output'];
|
|
1952
|
-
/** Unique identifier */
|
|
1953
2029
|
id: Scalars['ID']['output'];
|
|
1954
|
-
/** Title at this version */
|
|
1955
2030
|
title: Scalars['String']['output'];
|
|
1956
|
-
/** Version number */
|
|
1957
2031
|
version: Scalars['Int']['output'];
|
|
1958
2032
|
};
|
|
1959
2033
|
export type PlanmagnetExportToExternalInput = {
|
|
@@ -1999,6 +2073,18 @@ export type PlanmagnetFeatureRequestList = {
|
|
|
1999
2073
|
pageInfo: PlanmagnetPageInfo;
|
|
2000
2074
|
totalCount: Scalars['Int']['output'];
|
|
2001
2075
|
};
|
|
2076
|
+
/**
|
|
2077
|
+
* Result of `planmagnetGenerateReleaseNotes`: the generated markdown, the
|
|
2078
|
+
* counts the UI needs to render a "X features / Y bug fixes" summary, and the
|
|
2079
|
+
* release row in its post-update state (or pre-update state when `persist`
|
|
2080
|
+
* was false).
|
|
2081
|
+
*/
|
|
2082
|
+
export type PlanmagnetGenerateReleaseNotesPayload = {
|
|
2083
|
+
__typename?: 'PlanmagnetGenerateReleaseNotesPayload';
|
|
2084
|
+
counts: PlanmagnetReleaseNotesCounts;
|
|
2085
|
+
markdown: Scalars['String']['output'];
|
|
2086
|
+
release: Release;
|
|
2087
|
+
};
|
|
2002
2088
|
/**
|
|
2003
2089
|
* Import issues exported from an external tool (e.g. Linear) as WorkItems.
|
|
2004
2090
|
* The caller supplies the exported payload directly (no external API credentials).
|
|
@@ -2033,7 +2119,7 @@ export type PlanmagnetImportResult = {
|
|
|
2033
2119
|
skipped: Scalars['Int']['output'];
|
|
2034
2120
|
workItemIds: Array<Scalars['String']['output']>;
|
|
2035
2121
|
};
|
|
2036
|
-
/** A measurable target belonging to exactly one Objective
|
|
2122
|
+
/** A measurable target belonging to exactly one Objective. */
|
|
2037
2123
|
export type PlanmagnetKeyResult = {
|
|
2038
2124
|
__typename?: 'PlanmagnetKeyResult';
|
|
2039
2125
|
createdAt: Scalars['DateTime']['output'];
|
|
@@ -2041,7 +2127,10 @@ export type PlanmagnetKeyResult = {
|
|
|
2041
2127
|
currentValue: Scalars['Float']['output'];
|
|
2042
2128
|
description?: Maybe<Scalars['String']['output']>;
|
|
2043
2129
|
id: Scalars['ID']['output'];
|
|
2044
|
-
/**
|
|
2130
|
+
/**
|
|
2131
|
+
* Live rollup of linked work item completion -- informational only; it does
|
|
2132
|
+
* NOT drive `currentValue` (see module deferral note).
|
|
2133
|
+
*/
|
|
2045
2134
|
linkedWorkItemRollup: PlanmagnetKeyResultRollup;
|
|
2046
2135
|
/** Work items currently linked to this key result. */
|
|
2047
2136
|
linkedWorkItems: Array<WorkItem>;
|
|
@@ -2089,33 +2178,6 @@ export type PlanmagnetLogTimeInput = {
|
|
|
2089
2178
|
projectId: Scalars['String']['input'];
|
|
2090
2179
|
workItemId: Scalars['String']['input'];
|
|
2091
2180
|
};
|
|
2092
|
-
/** A marketplace listing report awaiting admin moderation. */
|
|
2093
|
-
export type PlanmagnetMarketplaceReport = {
|
|
2094
|
-
__typename?: 'PlanmagnetMarketplaceReport';
|
|
2095
|
-
/** Creation timestamp */
|
|
2096
|
-
createdAt: Scalars['DateTime']['output'];
|
|
2097
|
-
/** Unique identifier */
|
|
2098
|
-
id: Scalars['ID']['output'];
|
|
2099
|
-
/** Reported listing identifier */
|
|
2100
|
-
listingId: Scalars['String']['output'];
|
|
2101
|
-
/** Report reason */
|
|
2102
|
-
reason: Scalars['String']['output'];
|
|
2103
|
-
/** Workspace that filed the report */
|
|
2104
|
-
reporterWorkspaceId: Scalars['String']['output'];
|
|
2105
|
-
/** Resolution notes (populated on moderation) */
|
|
2106
|
-
resolution?: Maybe<Scalars['String']['output']>;
|
|
2107
|
-
/** Current moderation status */
|
|
2108
|
-
status: PlanmagnetReportStatus;
|
|
2109
|
-
/** Last update timestamp */
|
|
2110
|
-
updatedAt: Scalars['DateTime']['output'];
|
|
2111
|
-
};
|
|
2112
|
-
/** Paginated list of marketplace reports. */
|
|
2113
|
-
export type PlanmagnetMarketplaceReportConnection = {
|
|
2114
|
-
__typename?: 'PlanmagnetMarketplaceReportConnection';
|
|
2115
|
-
items: Array<PlanmagnetMarketplaceReport>;
|
|
2116
|
-
pageInfo: PlanmagnetPageInfo;
|
|
2117
|
-
totalCount: Scalars['Int']['output'];
|
|
2118
|
-
};
|
|
2119
2181
|
export type PlanmagnetMilestoneFilter = {
|
|
2120
2182
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
2121
2183
|
projectId?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -2128,12 +2190,6 @@ export type PlanmagnetMilestoneList = {
|
|
|
2128
2190
|
pageInfo: PlanmagnetPageInfo;
|
|
2129
2191
|
totalCount: Scalars['Int']['output'];
|
|
2130
2192
|
};
|
|
2131
|
-
export declare enum PlanmagnetModerationAction {
|
|
2132
|
-
Approve = "APPROVE",
|
|
2133
|
-
Escalate = "ESCALATE",
|
|
2134
|
-
Hide = "HIDE",
|
|
2135
|
-
Reject = "REJECT"
|
|
2136
|
-
}
|
|
2137
2193
|
export type PlanmagnetMoveCardInput = {
|
|
2138
2194
|
sortOrder?: InputMaybe<Scalars['Int']['input']>;
|
|
2139
2195
|
targetColumnId: Scalars['ID']['input'];
|
|
@@ -2145,9 +2201,8 @@ export type PlanmagnetMoveWorkItemInput = {
|
|
|
2145
2201
|
status?: InputMaybe<WorkItemStatus>;
|
|
2146
2202
|
};
|
|
2147
2203
|
/**
|
|
2148
|
-
* A workspace-scoped goal for a given time period
|
|
2149
|
-
*
|
|
2150
|
-
* computed live -- never stored.
|
|
2204
|
+
* A workspace-scoped goal for a given time period. `progress` is the average
|
|
2205
|
+
* of its non-deleted KeyResults' progress (0 when it has none).
|
|
2151
2206
|
*/
|
|
2152
2207
|
export type PlanmagnetObjective = {
|
|
2153
2208
|
__typename?: 'PlanmagnetObjective';
|
|
@@ -2160,7 +2215,10 @@ export type PlanmagnetObjective = {
|
|
|
2160
2215
|
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
2161
2216
|
ownerId: Scalars['String']['output'];
|
|
2162
2217
|
periodLabel: Scalars['String']['output'];
|
|
2163
|
-
/**
|
|
2218
|
+
/**
|
|
2219
|
+
* Average progress (0-100) across this objective's non-deleted key results.
|
|
2220
|
+
* Computed live -- never stored.
|
|
2221
|
+
*/
|
|
2164
2222
|
progress: Scalars['Float']['output'];
|
|
2165
2223
|
startDate?: Maybe<Scalars['DateTime']['output']>;
|
|
2166
2224
|
status: ObjectiveStatus;
|
|
@@ -2369,6 +2427,10 @@ export type PlanmagnetQuotaOverview = {
|
|
|
2369
2427
|
boardCount: Scalars['Int']['output'];
|
|
2370
2428
|
/** Board quota limit (null when unlimited or unassigned) */
|
|
2371
2429
|
boardLimit?: Maybe<Scalars['Int']['output']>;
|
|
2430
|
+
/** Number of active editor seats in the workspace (BOFF-5094) */
|
|
2431
|
+
editorCount: Scalars['Int']['output'];
|
|
2432
|
+
/** Editor quota limit (null when unlimited or unassigned) */
|
|
2433
|
+
editorLimit?: Maybe<Scalars['Int']['output']>;
|
|
2372
2434
|
/** Number of active projects in the workspace */
|
|
2373
2435
|
projectCount: Scalars['Int']['output'];
|
|
2374
2436
|
/** Project quota limit (null when unlimited or unassigned) */
|
|
@@ -2388,14 +2450,17 @@ export type PlanmagnetReleaseList = {
|
|
|
2388
2450
|
pageInfo: PlanmagnetPageInfo;
|
|
2389
2451
|
totalCount: Scalars['Int']['output'];
|
|
2390
2452
|
};
|
|
2453
|
+
export type PlanmagnetReleaseNotesCounts = {
|
|
2454
|
+
__typename?: 'PlanmagnetReleaseNotesCounts';
|
|
2455
|
+
bugFixes: Scalars['Int']['output'];
|
|
2456
|
+
features: Scalars['Int']['output'];
|
|
2457
|
+
improvements: Scalars['Int']['output'];
|
|
2458
|
+
other: Scalars['Int']['output'];
|
|
2459
|
+
total: Scalars['Int']['output'];
|
|
2460
|
+
};
|
|
2391
2461
|
export type PlanmagnetReorderColumnsInput = {
|
|
2392
2462
|
columnIds: Array<Scalars['ID']['input']>;
|
|
2393
2463
|
};
|
|
2394
|
-
export declare enum PlanmagnetReportStatus {
|
|
2395
|
-
Dismissed = "DISMISSED",
|
|
2396
|
-
Pending = "PENDING",
|
|
2397
|
-
Resolved = "RESOLVED"
|
|
2398
|
-
}
|
|
2399
2464
|
export type PlanmagnetReviewQualityGateInput = {
|
|
2400
2465
|
reviewNotes?: InputMaybe<Scalars['String']['input']>;
|
|
2401
2466
|
status: QualityGateStatus;
|
|
@@ -2476,34 +2541,72 @@ export type PlanmagnetSprintBurndown = {
|
|
|
2476
2541
|
/** Total story points across all items currently in the sprint. */
|
|
2477
2542
|
totalPoints: Scalars['Int']['output'];
|
|
2478
2543
|
};
|
|
2479
|
-
/**
|
|
2480
|
-
* Real cross-layer CrewFoundry workforce capacity for one sprint (BOFF-4444),
|
|
2481
|
-
* sourced live from wspace-crewfoundry-svc via the internal wspace gateway.
|
|
2482
|
-
*/
|
|
2544
|
+
/** Cross-layer sprint capacity snapshot (BOFF-4444). */
|
|
2483
2545
|
export type PlanmagnetSprintCapacity = {
|
|
2484
2546
|
__typename?: 'PlanmagnetSprintCapacity';
|
|
2547
|
+
/**
|
|
2548
|
+
* True when the CrewFoundry roster lookup itself returned nothing — either
|
|
2549
|
+
* a live lookup failure (service unreachable/timeout) or a workspace with no
|
|
2550
|
+
* CrewFoundry data. `members`/`unmatchedAssigneeIds` cannot distinguish the
|
|
2551
|
+
* two cases from PlanMagnet's side; this flag exists so callers can render
|
|
2552
|
+
* "capacity data unavailable" instead of silently showing an empty list.
|
|
2553
|
+
*/
|
|
2485
2554
|
crewfoundryUnavailable: Scalars['Boolean']['output'];
|
|
2555
|
+
/**
|
|
2556
|
+
* One entry per work-item assignee who was successfully matched to a real
|
|
2557
|
+
* CrewFoundry employee record
|
|
2558
|
+
*/
|
|
2486
2559
|
members: Array<PlanmagnetSprintCapacityMember>;
|
|
2487
2560
|
rangeEnd: Scalars['DateTime']['output'];
|
|
2561
|
+
/**
|
|
2562
|
+
* Window the capacity figures were computed over — the sprint's own
|
|
2563
|
+
* startDate/endDate, or a trailing 14-day default when the sprint has no
|
|
2564
|
+
* dates set (e.g. still PLANNING)
|
|
2565
|
+
*/
|
|
2488
2566
|
rangeStart: Scalars['DateTime']['output'];
|
|
2489
2567
|
sprintId: Scalars['ID']['output'];
|
|
2568
|
+
/**
|
|
2569
|
+
* Work-item assignees (actor ids) who could NOT be matched to a CrewFoundry
|
|
2570
|
+
* employee — no workspace identity, or no CrewFoundry roster match by
|
|
2571
|
+
* e-mail. This is the expected outcome for a workspace with no CrewFoundry
|
|
2572
|
+
* module provisioned, or for a non-employee collaborator, not an error.
|
|
2573
|
+
*/
|
|
2490
2574
|
unmatchedAssigneeIds: Array<Scalars['String']['output']>;
|
|
2491
2575
|
};
|
|
2492
2576
|
/**
|
|
2493
2577
|
* Real CrewFoundry capacity/allocation for one sprint work-item assignee
|
|
2494
|
-
* (BOFF-4444) — sourced live, cross-layer, from wspace-crewfoundry-svc
|
|
2578
|
+
* (BOFF-4444) — sourced live, cross-layer, from `wspace-crewfoundry-svc`.
|
|
2495
2579
|
*/
|
|
2496
2580
|
export type PlanmagnetSprintCapacityMember = {
|
|
2497
2581
|
__typename?: 'PlanmagnetSprintCapacityMember';
|
|
2582
|
+
/** Platform actor id (the same value as `WorkItem.assigneeId`) */
|
|
2498
2583
|
actorId: Scalars['String']['output'];
|
|
2584
|
+
/**
|
|
2585
|
+
* Real CrewFoundry-tracked hours allocated across all projects over the
|
|
2586
|
+
* sprint's date window (`crewEmployeeAllocation.totalHours`)
|
|
2587
|
+
*/
|
|
2499
2588
|
allocatedHours: Scalars['Float']['output'];
|
|
2589
|
+
/** Sum of story points on this person's assigned work items in this sprint */
|
|
2500
2590
|
assignedStoryPoints: Scalars['Int']['output'];
|
|
2591
|
+
/** Work items in this sprint assigned to this person */
|
|
2501
2592
|
assignedWorkItemCount: Scalars['Int']['output'];
|
|
2593
|
+
/**
|
|
2594
|
+
* Real CrewFoundry-tracked billable hours over the same window
|
|
2595
|
+
* (`crewEmployeeAllocation.billableHours`)
|
|
2596
|
+
*/
|
|
2502
2597
|
billableHours: Scalars['Float']['output'];
|
|
2598
|
+
/** CrewFoundry department */
|
|
2503
2599
|
department: Scalars['String']['output'];
|
|
2600
|
+
/** Matched CrewFoundry `CrewEmployee.id` */
|
|
2504
2601
|
employeeId: Scalars['ID']['output'];
|
|
2602
|
+
/** CrewFoundry employee's full name */
|
|
2505
2603
|
employeeName: Scalars['String']['output'];
|
|
2604
|
+
/** CrewFoundry position/title */
|
|
2506
2605
|
position: Scalars['String']['output'];
|
|
2606
|
+
/**
|
|
2607
|
+
* `billableHours / allocatedHours * 100`, rounded to 1 decimal place. Null
|
|
2608
|
+
* when `allocatedHours` is 0 (nothing to divide by).
|
|
2609
|
+
*/
|
|
2507
2610
|
utilizationPercent?: Maybe<Scalars['Float']['output']>;
|
|
2508
2611
|
};
|
|
2509
2612
|
export type PlanmagnetSprintFilter = {
|
|
@@ -2520,11 +2623,15 @@ export type PlanmagnetSprintList = {
|
|
|
2520
2623
|
export type PlanmagnetSprintWorkItemsInput = {
|
|
2521
2624
|
workItemIds: Array<Scalars['ID']['input']>;
|
|
2522
2625
|
};
|
|
2523
|
-
export
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2626
|
+
export type PlanmagnetSuggestWorkItemBreakdownInput = {
|
|
2627
|
+
/** Plain-text feature request or description to break down. */
|
|
2628
|
+
description: Scalars['String']['input'];
|
|
2629
|
+
/**
|
|
2630
|
+
* Optional explicit provider override ("gemini" | "openai" | "anthropic").
|
|
2631
|
+
* Omit to use the platform's default provider chain.
|
|
2632
|
+
*/
|
|
2633
|
+
requestedProvider?: InputMaybe<Scalars['String']['input']>;
|
|
2634
|
+
};
|
|
2528
2635
|
export declare enum PlanmagnetSyncDirection {
|
|
2529
2636
|
Bidirectional = "BIDIRECTIONAL",
|
|
2530
2637
|
Inbound = "INBOUND",
|
|
@@ -2740,11 +2847,13 @@ export type PlanmagnetUpdateCustomFieldDefinitionInput = {
|
|
|
2740
2847
|
};
|
|
2741
2848
|
export type PlanmagnetUpdateDependencyInput = {
|
|
2742
2849
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
2850
|
+
lagMinutes?: InputMaybe<Scalars['Int']['input']>;
|
|
2743
2851
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
2744
2852
|
status?: InputMaybe<DependencyStatus>;
|
|
2745
2853
|
type?: InputMaybe<DependencyType>;
|
|
2746
2854
|
};
|
|
2747
2855
|
export type PlanmagnetUpdateDocInput = {
|
|
2856
|
+
/** Optional note recorded on the new revision this update creates. */
|
|
2748
2857
|
changeNote?: InputMaybe<Scalars['String']['input']>;
|
|
2749
2858
|
content?: InputMaybe<Scalars['String']['input']>;
|
|
2750
2859
|
status?: InputMaybe<DocStatus>;
|
|
@@ -2783,6 +2892,7 @@ export type PlanmagnetUpdateKeyResultInput = {
|
|
|
2783
2892
|
currentValue?: InputMaybe<Scalars['Float']['input']>;
|
|
2784
2893
|
description?: InputMaybe<Scalars['String']['input']>;
|
|
2785
2894
|
ownerId?: InputMaybe<Scalars['String']['input']>;
|
|
2895
|
+
startValue?: InputMaybe<Scalars['Float']['input']>;
|
|
2786
2896
|
status?: InputMaybe<KeyResultStatus>;
|
|
2787
2897
|
targetValue?: InputMaybe<Scalars['Float']['input']>;
|
|
2788
2898
|
title?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -2931,6 +3041,11 @@ export type PlanmagnetUpdateSprintInput = {
|
|
|
2931
3041
|
goal?: InputMaybe<Scalars['String']['input']>;
|
|
2932
3042
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
2933
3043
|
name?: InputMaybe<Scalars['String']['input']>;
|
|
3044
|
+
/**
|
|
3045
|
+
* Accepted for API compatibility but not honored: sort position is always
|
|
3046
|
+
* the auto-assigned, per-project-unique `sequenceNumber` — see
|
|
3047
|
+
* sprint.service.ts.
|
|
3048
|
+
*/
|
|
2934
3049
|
sortOrder?: InputMaybe<Scalars['Int']['input']>;
|
|
2935
3050
|
startDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
2936
3051
|
velocity?: InputMaybe<Scalars['Int']['input']>;
|
|
@@ -2977,7 +3092,11 @@ export type PlanmagnetVelocity = {
|
|
|
2977
3092
|
__typename?: 'PlanmagnetVelocity';
|
|
2978
3093
|
/** Mean completed points across the returned sprints. */
|
|
2979
3094
|
averageVelocity: Scalars['Float']['output'];
|
|
2980
|
-
/**
|
|
3095
|
+
/**
|
|
3096
|
+
* Simple forecast for the next sprint's likely capacity: the trailing
|
|
3097
|
+
* average above. Deliberately simple (moving average, not a full
|
|
3098
|
+
* probabilistic model) — see analytics.service.ts.
|
|
3099
|
+
*/
|
|
2981
3100
|
forecastNextSprintPoints: Scalars['Float']['output'];
|
|
2982
3101
|
projectId: Scalars['ID']['output'];
|
|
2983
3102
|
sprints: Array<PlanmagnetVelocitySprintPoint>;
|
|
@@ -2999,6 +3118,13 @@ export type PlanmagnetVoteOnFeatureInput = {
|
|
|
2999
3118
|
comment?: InputMaybe<Scalars['String']['input']>;
|
|
3000
3119
|
weight?: InputMaybe<Scalars['Int']['input']>;
|
|
3001
3120
|
};
|
|
3121
|
+
export type PlanmagnetWorkItemBreakdownResult = {
|
|
3122
|
+
__typename?: 'PlanmagnetWorkItemBreakdownResult';
|
|
3123
|
+
/** Id of the PlanmagnetAgentRun ledger row this call was recorded as. */
|
|
3124
|
+
agentRunId: Scalars['ID']['output'];
|
|
3125
|
+
provider: Scalars['String']['output'];
|
|
3126
|
+
suggestions: Array<PlanmagnetWorkItemSuggestion>;
|
|
3127
|
+
};
|
|
3002
3128
|
export type PlanmagnetWorkItemDependencyList = {
|
|
3003
3129
|
__typename?: 'PlanmagnetWorkItemDependencyList';
|
|
3004
3130
|
items: Array<WorkItemDependency>;
|
|
@@ -3035,6 +3161,39 @@ export type PlanmagnetWorkItemList = {
|
|
|
3035
3161
|
pageInfo: PlanmagnetPageInfo;
|
|
3036
3162
|
totalCount: Scalars['Int']['output'];
|
|
3037
3163
|
};
|
|
3164
|
+
export type PlanmagnetWorkItemSuggestion = {
|
|
3165
|
+
__typename?: 'PlanmagnetWorkItemSuggestion';
|
|
3166
|
+
description?: Maybe<Scalars['String']['output']>;
|
|
3167
|
+
estimatedHours?: Maybe<Scalars['Float']['output']>;
|
|
3168
|
+
priority: WorkItemPriority;
|
|
3169
|
+
title: Scalars['String']['output'];
|
|
3170
|
+
type: WorkItemType;
|
|
3171
|
+
};
|
|
3172
|
+
/**
|
|
3173
|
+
* A user who currently holds billable "editor" access to a PlanMagnet
|
|
3174
|
+
* workspace -- counted against the Free-tier `planmagnet.editors.count`
|
|
3175
|
+
* quota (10 editors). Viewers/commenters are not tracked here and are free.
|
|
3176
|
+
*/
|
|
3177
|
+
export type PlanmagnetWorkspaceEditor = {
|
|
3178
|
+
__typename?: 'PlanmagnetWorkspaceEditor';
|
|
3179
|
+
/** Timestamp when this editor seat was granted */
|
|
3180
|
+
createdAt: Scalars['DateTime']['output'];
|
|
3181
|
+
/** Actor who granted this editor seat */
|
|
3182
|
+
createdBy: Scalars['ID']['output'];
|
|
3183
|
+
/** Unique identifier */
|
|
3184
|
+
id: Scalars['ID']['output'];
|
|
3185
|
+
/** User ID granted editor access */
|
|
3186
|
+
userId: Scalars['ID']['output'];
|
|
3187
|
+
/** Workspace ID */
|
|
3188
|
+
workspaceId: Scalars['ID']['output'];
|
|
3189
|
+
};
|
|
3190
|
+
/** Paginated list of workspace editor seats. */
|
|
3191
|
+
export type PlanmagnetWorkspaceEditorList = {
|
|
3192
|
+
__typename?: 'PlanmagnetWorkspaceEditorList';
|
|
3193
|
+
items: Array<PlanmagnetWorkspaceEditor>;
|
|
3194
|
+
pageInfo: PlanmagnetPageInfo;
|
|
3195
|
+
totalCount: Scalars['Int']['output'];
|
|
3196
|
+
};
|
|
3038
3197
|
/**
|
|
3039
3198
|
* A strategic grouping of programs and projects for executive-level
|
|
3040
3199
|
* oversight, resource allocation, and alignment tracking.
|
|
@@ -3280,7 +3439,16 @@ export type Query = {
|
|
|
3280
3439
|
planmagnetCompetitor?: Maybe<Competitor>;
|
|
3281
3440
|
/** List competitors in a workspace */
|
|
3282
3441
|
planmagnetCompetitors: PlanmagnetCompetitorList;
|
|
3283
|
-
/**
|
|
3442
|
+
/**
|
|
3443
|
+
* Compute the critical path (longest dependency chain) for a workspace.
|
|
3444
|
+
* When `projectId` is supplied, the path is scoped to the work items in
|
|
3445
|
+
* that project; otherwise the entire workspace dependency graph is used.
|
|
3446
|
+
*/
|
|
3447
|
+
planmagnetCriticalPath: PlanmagnetCriticalPath;
|
|
3448
|
+
/**
|
|
3449
|
+
* Cumulative flow diagram data for a project: work item counts per status,
|
|
3450
|
+
* per day, over a date range (defaults to the trailing 30 days).
|
|
3451
|
+
*/
|
|
3284
3452
|
planmagnetCumulativeFlow: PlanmagnetCumulativeFlow;
|
|
3285
3453
|
/** Get a single custom field definition by ID */
|
|
3286
3454
|
planmagnetCustomFieldDefinition?: Maybe<CustomFieldDefinition>;
|
|
@@ -3288,15 +3456,26 @@ export type Query = {
|
|
|
3288
3456
|
planmagnetCustomFieldDefinitions: PlanmagnetCustomFieldDefinitionList;
|
|
3289
3457
|
/** List custom field values */
|
|
3290
3458
|
planmagnetCustomFieldValues: PlanmagnetCustomFieldValueList;
|
|
3291
|
-
/**
|
|
3459
|
+
/**
|
|
3460
|
+
* Cycle-time distribution for a project's work items that reached DONE
|
|
3461
|
+
* within a date range (defaults to the trailing 90 days).
|
|
3462
|
+
*/
|
|
3292
3463
|
planmagnetCycleTime: PlanmagnetCycleTime;
|
|
3293
3464
|
/** List dependencies in a workspace */
|
|
3294
3465
|
planmagnetDependencies: PlanmagnetWorkItemDependencyList;
|
|
3295
3466
|
/** Get a single dependency by ID */
|
|
3296
3467
|
planmagnetDependency?: Maybe<WorkItemDependency>;
|
|
3297
|
-
/**
|
|
3468
|
+
/**
|
|
3469
|
+
* Walk the dependency graph from a starting work item and return the
|
|
3470
|
+
* reachable chain. Optional `maxDepth` bounds the traversal (default 50).
|
|
3471
|
+
*/
|
|
3472
|
+
planmagnetDependencyChain: PlanmagnetDependencyChain;
|
|
3473
|
+
/**
|
|
3474
|
+
* List every distinct cycle in the workspace's dependency graph. Returns
|
|
3475
|
+
* an empty array when the graph is acyclic.
|
|
3476
|
+
*/
|
|
3477
|
+
planmagnetDependencyCycles: Array<PlanmagnetDependencyCycle>;
|
|
3298
3478
|
planmagnetDoc?: Maybe<PlanmagnetDoc>;
|
|
3299
|
-
/** List docs in a workspace */
|
|
3300
3479
|
planmagnetDocs: PlanmagnetDocList;
|
|
3301
3480
|
/** List external mappings */
|
|
3302
3481
|
planmagnetExternalMappings: PlanmagnetExternalMappingList;
|
|
@@ -3308,19 +3487,12 @@ export type Query = {
|
|
|
3308
3487
|
planmagnetFeatureRequest?: Maybe<FeatureRequest>;
|
|
3309
3488
|
/** List feature requests in a workspace */
|
|
3310
3489
|
planmagnetFeatureRequests: PlanmagnetFeatureRequestList;
|
|
3311
|
-
/** Get a single key result by ID */
|
|
3312
3490
|
planmagnetKeyResult?: Maybe<PlanmagnetKeyResult>;
|
|
3313
|
-
/** List adapter submissions for admin review. */
|
|
3314
|
-
planmagnetListAdapterSubmissions: PlanmagnetAdapterSubmissionConnection;
|
|
3315
|
-
/** List marketplace reports for admin moderation. */
|
|
3316
|
-
planmagnetListMarketplaceReports: PlanmagnetMarketplaceReportConnection;
|
|
3317
3491
|
/** Get a single milestone by ID */
|
|
3318
3492
|
planmagnetMilestone?: Maybe<Milestone>;
|
|
3319
3493
|
/** List milestones in a workspace */
|
|
3320
3494
|
planmagnetMilestones: PlanmagnetMilestoneList;
|
|
3321
|
-
/** Get a single objective by ID */
|
|
3322
3495
|
planmagnetObjective?: Maybe<PlanmagnetObjective>;
|
|
3323
|
-
/** List objectives in a workspace */
|
|
3324
3496
|
planmagnetObjectives: PlanmagnetObjectiveList;
|
|
3325
3497
|
/** Get a single portfolio by ID */
|
|
3326
3498
|
planmagnetPortfolio?: Maybe<Portfolio>;
|
|
@@ -3364,9 +3536,18 @@ export type Query = {
|
|
|
3364
3536
|
planmagnetRoadmaps: PlanmagnetRoadmapList;
|
|
3365
3537
|
/** Get a single sprint by ID */
|
|
3366
3538
|
planmagnetSprint?: Maybe<Sprint>;
|
|
3367
|
-
/**
|
|
3539
|
+
/**
|
|
3540
|
+
* Burndown chart data for a sprint: remaining vs completed points/count per
|
|
3541
|
+
* day across the sprint's date range. Returns null if the sprint does not
|
|
3542
|
+
* exist in the workspace.
|
|
3543
|
+
*/
|
|
3368
3544
|
planmagnetSprintBurndown?: Maybe<PlanmagnetSprintBurndown>;
|
|
3369
|
-
/**
|
|
3545
|
+
/**
|
|
3546
|
+
* Real cross-layer sprint-planning capacity view (BOFF-4444): for each
|
|
3547
|
+
* work-item assignee in this sprint who matches a CrewFoundry employee
|
|
3548
|
+
* record, surfaces live workforce allocation/availability queried from
|
|
3549
|
+
* `wspace-crewfoundry-svc` via the internal wspace gateway.
|
|
3550
|
+
*/
|
|
3370
3551
|
planmagnetSprintCapacity: PlanmagnetSprintCapacity;
|
|
3371
3552
|
/** List sprints in a workspace */
|
|
3372
3553
|
planmagnetSprints: PlanmagnetSprintList;
|
|
@@ -3378,7 +3559,10 @@ export type Query = {
|
|
|
3378
3559
|
planmagnetTimesheet?: Maybe<PlanmagnetTimesheet>;
|
|
3379
3560
|
/** List timesheets in a workspace */
|
|
3380
3561
|
planmagnetTimesheets: PlanmagnetTimesheetList;
|
|
3381
|
-
/**
|
|
3562
|
+
/**
|
|
3563
|
+
* Velocity (completed story points per sprint) across the trailing N
|
|
3564
|
+
* COMPLETED sprints of a project, plus a simple next-sprint forecast.
|
|
3565
|
+
*/
|
|
3382
3566
|
planmagnetVelocity: PlanmagnetVelocity;
|
|
3383
3567
|
/** Get a single work item by ID */
|
|
3384
3568
|
planmagnetWorkItem?: Maybe<WorkItem>;
|
|
@@ -3390,6 +3574,8 @@ export type Query = {
|
|
|
3390
3574
|
planmagnetWorkItemLinks: PlanmagnetWorkItemLinkList;
|
|
3391
3575
|
/** List work items in a workspace */
|
|
3392
3576
|
planmagnetWorkItems: PlanmagnetWorkItemList;
|
|
3577
|
+
/** List the users who currently hold billable editor access to a workspace. */
|
|
3578
|
+
planmagnetWorkspaceEditors: PlanmagnetWorkspaceEditorList;
|
|
3393
3579
|
/** Get a PlanMagnet workspace quota overview (counts + billing limits). */
|
|
3394
3580
|
planmagnetWorkspaceQuotaOverview: PlanmagnetQuotaOverview;
|
|
3395
3581
|
};
|
|
@@ -3439,6 +3625,10 @@ export type QueryPlanmagnetCompetitorsArgs = {
|
|
|
3439
3625
|
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
3440
3626
|
workspaceId: Scalars['ID']['input'];
|
|
3441
3627
|
};
|
|
3628
|
+
export type QueryPlanmagnetCriticalPathArgs = {
|
|
3629
|
+
projectId?: InputMaybe<Scalars['ID']['input']>;
|
|
3630
|
+
workspaceId: Scalars['ID']['input'];
|
|
3631
|
+
};
|
|
3442
3632
|
export type QueryPlanmagnetCumulativeFlowArgs = {
|
|
3443
3633
|
endDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
3444
3634
|
projectId: Scalars['ID']['input'];
|
|
@@ -3472,13 +3662,22 @@ export type QueryPlanmagnetDependenciesArgs = {
|
|
|
3472
3662
|
export type QueryPlanmagnetDependencyArgs = {
|
|
3473
3663
|
id: Scalars['ID']['input'];
|
|
3474
3664
|
};
|
|
3665
|
+
export type QueryPlanmagnetDependencyChainArgs = {
|
|
3666
|
+
maxDepth?: InputMaybe<Scalars['Int']['input']>;
|
|
3667
|
+
workItemId: Scalars['ID']['input'];
|
|
3668
|
+
workspaceId: Scalars['ID']['input'];
|
|
3669
|
+
};
|
|
3670
|
+
export type QueryPlanmagnetDependencyCyclesArgs = {
|
|
3671
|
+
projectId?: InputMaybe<Scalars['ID']['input']>;
|
|
3672
|
+
workspaceId: Scalars['ID']['input'];
|
|
3673
|
+
};
|
|
3475
3674
|
export type QueryPlanmagnetDocArgs = {
|
|
3476
3675
|
id: Scalars['ID']['input'];
|
|
3477
3676
|
};
|
|
3478
3677
|
export type QueryPlanmagnetDocsArgs = {
|
|
3479
3678
|
filter?: InputMaybe<PlanmagnetDocFilter>;
|
|
3480
3679
|
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
3481
|
-
workspaceId
|
|
3680
|
+
workspaceId?: InputMaybe<Scalars['String']['input']>;
|
|
3482
3681
|
};
|
|
3483
3682
|
export type QueryPlanmagnetExternalMappingsArgs = {
|
|
3484
3683
|
filter?: InputMaybe<PlanmagnetExternalMappingFilter>;
|
|
@@ -3504,14 +3703,6 @@ export type QueryPlanmagnetFeatureRequestsArgs = {
|
|
|
3504
3703
|
export type QueryPlanmagnetKeyResultArgs = {
|
|
3505
3704
|
id: Scalars['ID']['input'];
|
|
3506
3705
|
};
|
|
3507
|
-
export type QueryPlanmagnetListAdapterSubmissionsArgs = {
|
|
3508
|
-
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
3509
|
-
status?: InputMaybe<PlanmagnetSubmissionStatus>;
|
|
3510
|
-
};
|
|
3511
|
-
export type QueryPlanmagnetListMarketplaceReportsArgs = {
|
|
3512
|
-
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
3513
|
-
status?: InputMaybe<PlanmagnetReportStatus>;
|
|
3514
|
-
};
|
|
3515
3706
|
export type QueryPlanmagnetMilestoneArgs = {
|
|
3516
3707
|
id: Scalars['ID']['input'];
|
|
3517
3708
|
};
|
|
@@ -3661,6 +3852,10 @@ export type QueryPlanmagnetWorkItemsArgs = {
|
|
|
3661
3852
|
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
3662
3853
|
workspaceId: Scalars['ID']['input'];
|
|
3663
3854
|
};
|
|
3855
|
+
export type QueryPlanmagnetWorkspaceEditorsArgs = {
|
|
3856
|
+
pagination?: InputMaybe<PlanmagnetPaginationInput>;
|
|
3857
|
+
workspaceId: Scalars['ID']['input'];
|
|
3858
|
+
};
|
|
3664
3859
|
export type QueryPlanmagnetWorkspaceQuotaOverviewArgs = {
|
|
3665
3860
|
workspaceId: Scalars['ID']['input'];
|
|
3666
3861
|
};
|
|
@@ -3722,7 +3917,8 @@ export declare enum ReleaseStatus {
|
|
|
3722
3917
|
Planning = "PLANNING",
|
|
3723
3918
|
Ready = "READY",
|
|
3724
3919
|
Released = "RELEASED",
|
|
3725
|
-
RolledBack = "ROLLED_BACK"
|
|
3920
|
+
RolledBack = "ROLLED_BACK",
|
|
3921
|
+
Staging = "STAGING"
|
|
3726
3922
|
}
|
|
3727
3923
|
/**
|
|
3728
3924
|
* A potential threat or issue that could impact project delivery,
|
|
@@ -3926,7 +4122,12 @@ export type Sprint = {
|
|
|
3926
4122
|
project?: Maybe<PlanmagnetProject>;
|
|
3927
4123
|
/** Parent project ID */
|
|
3928
4124
|
projectId: Scalars['String']['output'];
|
|
3929
|
-
/**
|
|
4125
|
+
/**
|
|
4126
|
+
* Sort order. Backed by the Prisma `sequenceNumber` column (the only ordering
|
|
4127
|
+
* primitive Sprint has) via a field resolver — see sprint.resolvers.ts. Not
|
|
4128
|
+
* independently settable; see PlanmagnetCreateSprintInput/
|
|
4129
|
+
* PlanmagnetUpdateSprintInput below.
|
|
4130
|
+
*/
|
|
3930
4131
|
sortOrder: Scalars['Int']['output'];
|
|
3931
4132
|
/** Sprint start date */
|
|
3932
4133
|
startDate?: Maybe<Scalars['DateTime']['output']>;
|
|
@@ -3936,7 +4137,10 @@ export type Sprint = {
|
|
|
3936
4137
|
updatedAt: Scalars['DateTime']['output'];
|
|
3937
4138
|
/** Actor who last updated this sprint */
|
|
3938
4139
|
updatedBy?: Maybe<Scalars['String']['output']>;
|
|
3939
|
-
/**
|
|
4140
|
+
/**
|
|
4141
|
+
* Sprint velocity (completed story points). Backed by the Prisma
|
|
4142
|
+
* `velocityActual` column via a field resolver — see sprint.resolvers.ts.
|
|
4143
|
+
*/
|
|
3940
4144
|
velocity?: Maybe<Scalars['Int']['output']>;
|
|
3941
4145
|
/** Work items in this sprint */
|
|
3942
4146
|
workItems: Array<WorkItem>;
|
|
@@ -4061,20 +4265,30 @@ export type WorkItemDependency = {
|
|
|
4061
4265
|
description?: Maybe<Scalars['String']['output']>;
|
|
4062
4266
|
/** Unique identifier */
|
|
4063
4267
|
id: Scalars['ID']['output'];
|
|
4268
|
+
/**
|
|
4269
|
+
* Offset applied to the constraint, in minutes. Negative means lead (overlap)
|
|
4270
|
+
* rather than lag. The column has always existed as `lagDays`; the SDL never
|
|
4271
|
+
* exposed it, so a lagged constraint could not be expressed at all.
|
|
4272
|
+
*/
|
|
4273
|
+
lagMinutes?: Maybe<Scalars['Int']['output']>;
|
|
4064
4274
|
/** Arbitrary metadata */
|
|
4065
4275
|
metadata?: Maybe<Scalars['JSON']['output']>;
|
|
4066
4276
|
/** Actor on whose behalf this was created */
|
|
4067
4277
|
onBehalfOf?: Maybe<Scalars['String']['output']>;
|
|
4068
|
-
/**
|
|
4069
|
-
|
|
4070
|
-
/**
|
|
4071
|
-
|
|
4278
|
+
/** The constraining work item */
|
|
4279
|
+
predecessor?: Maybe<WorkItem>;
|
|
4280
|
+
/**
|
|
4281
|
+
* The work item that constrains the other. Renamed from `sourceWorkItemId`:
|
|
4282
|
+
* with `type` now purely a scheduling relationship, source/target read as a
|
|
4283
|
+
* generic graph edge while predecessor/successor state the actual meaning.
|
|
4284
|
+
*/
|
|
4285
|
+
predecessorId: Scalars['String']['output'];
|
|
4072
4286
|
/** Current status */
|
|
4073
4287
|
status: DependencyStatus;
|
|
4074
|
-
/**
|
|
4075
|
-
|
|
4076
|
-
/**
|
|
4077
|
-
|
|
4288
|
+
/** The constrained work item */
|
|
4289
|
+
successor?: Maybe<WorkItem>;
|
|
4290
|
+
/** The work item whose schedule is constrained. Renamed from `targetWorkItemId`. */
|
|
4291
|
+
successorId: Scalars['String']['output'];
|
|
4078
4292
|
/** Type of dependency */
|
|
4079
4293
|
type: DependencyType;
|
|
4080
4294
|
/** Last update timestamp */
|
|
@@ -4116,9 +4330,28 @@ export type WorkItemLink = {
|
|
|
4116
4330
|
/** Associated workspace ID */
|
|
4117
4331
|
workspaceId: Scalars['String']['output'];
|
|
4118
4332
|
};
|
|
4333
|
+
/**
|
|
4334
|
+
* How a work item relates to the thing it is linked to.
|
|
4335
|
+
*
|
|
4336
|
+
* The first six are cross-product verbs: a work item INSPECTS a HealthyBowl
|
|
4337
|
+
* sensor, PRODUCES an artifact. The five added in 20260924130000 are the
|
|
4338
|
+
* work-item-to-work-item issue-link verbs that used to sit on
|
|
4339
|
+
* `WorkItemDependency.type`, where they were indistinguishable from scheduling
|
|
4340
|
+
* constraints and dragged semantic links into critical-path maths.
|
|
4341
|
+
*
|
|
4342
|
+
* For a link between two PlanMagnet work items, use `sourceProduct: "planmagnet"`
|
|
4343
|
+
* and `entityType: "WorkItem"`. **None of these relations affect scheduling** —
|
|
4344
|
+
* that is `WorkItemDependency` and only `WorkItemDependency`.
|
|
4345
|
+
*/
|
|
4119
4346
|
export declare enum WorkItemLinkRelation {
|
|
4120
4347
|
Affects = "AFFECTS",
|
|
4348
|
+
/** This work item is blocked by the linked one. Semantic only: it does NOT schedule. */
|
|
4349
|
+
BlockedBy = "BLOCKED_BY",
|
|
4121
4350
|
Blocks = "BLOCKS",
|
|
4351
|
+
CausedBy = "CAUSED_BY",
|
|
4352
|
+
Causes = "CAUSES",
|
|
4353
|
+
DuplicatedBy = "DUPLICATED_BY",
|
|
4354
|
+
Duplicates = "DUPLICATES",
|
|
4122
4355
|
Inspects = "INSPECTS",
|
|
4123
4356
|
Produces = "PRODUCES",
|
|
4124
4357
|
RelatedTo = "RELATED_TO",
|