@burdenoff/microfe-movethewheels 2026.830.2 → 2026.830.3

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.
@@ -6744,6 +6744,27 @@ export type BuiLtiResourceLink = {
6744
6744
  updatedAt: Scalars['DateTime']['output'];
6745
6745
  workspaceId: Scalars['ID']['output'];
6746
6746
  };
6747
+ export type BuiLtiRosterMember = {
6748
+ __typename?: 'BuiLtiRosterMember';
6749
+ contextId: Scalars['String']['output'];
6750
+ createdAt: Scalars['DateTime']['output'];
6751
+ deploymentId: Scalars['String']['output'];
6752
+ displayName?: Maybe<Scalars['String']['output']>;
6753
+ email?: Maybe<Scalars['String']['output']>;
6754
+ id: Scalars['ID']['output'];
6755
+ ltiSub: Scalars['String']['output'];
6756
+ picture?: Maybe<Scalars['String']['output']>;
6757
+ platformId: Scalars['ID']['output'];
6758
+ roles: Array<Scalars['String']['output']>;
6759
+ status: BuiLtiRosterMemberStatus;
6760
+ syncedAt: Scalars['DateTime']['output'];
6761
+ workspaceId: Scalars['ID']['output'];
6762
+ };
6763
+ export declare enum BuiLtiRosterMemberStatus {
6764
+ Active = "Active",
6765
+ Deleted = "Deleted",
6766
+ Inactive = "Inactive"
6767
+ }
6747
6768
  export type BuiModule = {
6748
6769
  __typename?: 'BuiModule';
6749
6770
  courseId: Scalars['ID']['output'];
@@ -11106,6 +11127,35 @@ export type CooCreateWardrobeItemInput = {
11106
11127
  styleItemId?: InputMaybe<Scalars['ID']['input']>;
11107
11128
  tags?: InputMaybe<Array<Scalars['String']['input']>>;
11108
11129
  };
11130
+ export type CooLegalAcceptance = {
11131
+ __typename?: 'CooLegalAcceptance';
11132
+ acceptedAt: Scalars['DateTime']['output'];
11133
+ actorId: Scalars['ID']['output'];
11134
+ actorType: Scalars['String']['output'];
11135
+ checkpointType: CooLegalCheckpointType;
11136
+ createdAt: Scalars['DateTime']['output'];
11137
+ documentVersion: Scalars['String']['output'];
11138
+ id: Scalars['ID']['output'];
11139
+ ipAddress?: Maybe<Scalars['String']['output']>;
11140
+ updatedAt: Scalars['DateTime']['output'];
11141
+ userAgent?: Maybe<Scalars['String']['output']>;
11142
+ workspaceId: Scalars['ID']['output'];
11143
+ };
11144
+ export type CooLegalAcceptanceConnection = {
11145
+ __typename?: 'CooLegalAcceptanceConnection';
11146
+ items: Array<CooLegalAcceptance>;
11147
+ pageInfo: CooPageInfo;
11148
+ };
11149
+ export declare enum CooLegalCheckpointType {
11150
+ /** First use of an AI-assisted styling feature or an identity/brand verification flow — records the actor's acknowledgement before the feature runs for the first time in a workspace. */
11151
+ AiFeatureFirstUse = "AI_FEATURE_FIRST_USE",
11152
+ /** Tenant/workspace acceptance of the Data Processing Addendum, recorded once per workspace by whichever actor accepts on the tenant's behalf. */
11153
+ DpaAccept = "DPA_ACCEPT",
11154
+ /** CoolAndLovely Privacy Policy (coolandlovely.com/privacy). */
11155
+ PrivacyAccept = "PRIVACY_ACCEPT",
11156
+ /** CoolAndLovely Terms of Service (coolandlovely.com/terms). */
11157
+ TosAccept = "TOS_ACCEPT"
11158
+ }
11109
11159
  export type CooLook = {
11110
11160
  __typename?: 'CooLook';
11111
11161
  authorId: Scalars['ID']['output'];
@@ -11219,6 +11269,12 @@ export type CooPageInfo = {
11219
11269
  cursor?: Maybe<Scalars['String']['output']>;
11220
11270
  hasMore: Scalars['Boolean']['output'];
11221
11271
  };
11272
+ export type CooRecordLegalAcceptanceInput = {
11273
+ checkpointType: CooLegalCheckpointType;
11274
+ documentVersion: Scalars['String']['input'];
11275
+ ipAddress?: InputMaybe<Scalars['String']['input']>;
11276
+ userAgent?: InputMaybe<Scalars['String']['input']>;
11277
+ };
11222
11278
  export type CooSearchLooksInput = {
11223
11279
  aesthetics?: InputMaybe<Array<Scalars['String']['input']>>;
11224
11280
  occasion?: InputMaybe<CooLookOccasion>;
@@ -24335,11 +24391,20 @@ export type GgnomadTripPlan = {
24335
24391
  name: Scalars['String']['output'];
24336
24392
  startDate?: Maybe<Scalars['DateTime']['output']>;
24337
24393
  status: Scalars['String']['output'];
24394
+ /** BOFF-4378 — legacy raw sum of item prices. Use totalsByCurrency for currency-safe totals; real-time FX conversion is still pending. */
24338
24395
  total: Scalars['Float']['output'];
24396
+ /** BOFF-4378 — currency-safe item totals grouped by currency. */
24397
+ totalsByCurrency: Array<GgnomadTripPlanCurrencyTotal>;
24339
24398
  travelers: Scalars['Int']['output'];
24340
24399
  updatedAt: Scalars['DateTime']['output'];
24341
24400
  workspaceId: Scalars['String']['output'];
24342
24401
  };
24402
+ /** BOFF-4378 — per-currency breakdown of a trip plan's item prices. */
24403
+ export type GgnomadTripPlanCurrencyTotal = {
24404
+ __typename?: 'GgnomadTripPlanCurrencyTotal';
24405
+ amount: Scalars['Float']['output'];
24406
+ currency: Scalars['String']['output'];
24407
+ };
24343
24408
  export type GgnomadTripPlanItem = {
24344
24409
  __typename?: 'GgnomadTripPlanItem';
24345
24410
  currency: Scalars['String']['output'];
@@ -42562,6 +42627,8 @@ export type Mutation = {
42562
42627
  buiSuggestNextLesson: BuiNextLessonSuggestion;
42563
42628
  /** Real AGS score-publish for one graded submission to the LMS gradebook via the given resource link's line item. Never re-grades — the submission must already be graded (`buiGradeSubmission`/`buiAutoScoreSubmission`). */
42564
42629
  buiSyncLtiGrade: BuiLtiGradeSync;
42630
+ /** Names and Role Provisioning Services roster sync: fetches the LMS course roster for this LTI placement and upserts `BuiLtiContextMembership` rows. */
42631
+ buiSyncLtiRoster: Array<BuiLtiRosterMember>;
42565
42632
  /** Advance an enrollment through its lifecycle (validated transitions). */
42566
42633
  buiTransitionEnrollment: BuiEnrollment;
42567
42634
  /** Ask the AI tutor a question about a lesson. The answer is grounded in the lesson's actual content (plus term-overlap-matched sibling lessons in the same course — see TutorService.retrieveGrounding) — never an ungrounded chat completion. Identity is always the authenticated actor; a client cannot ask on another learner's behalf and cannot continue a session it does not own. */
@@ -42892,6 +42959,8 @@ export type Mutation = {
42892
42959
  cooLogWardrobeWear: CooWardrobeItem;
42893
42960
  cooPublishCollection: CooCollection;
42894
42961
  cooPublishLook: CooLook;
42962
+ /** Record that the CALLING actor accepted a legal document/version at an in-product checkpoint. Self-scoped (Type A): no identity arg. Idempotent — re-accepting the same (checkpointType, documentVersion) updates the timestamp/audit fields rather than duplicating the row. */
42963
+ cooRecordLegalAcceptance: CooLegalAcceptance;
42895
42964
  cooRemoveLookbookEntry: Scalars['Boolean']['output'];
42896
42965
  cooRemoveWardrobeItem: Scalars['Boolean']['output'];
42897
42966
  /** Save/bookmark a look for later (idempotent). Distinct from liking and from clipping into a named lookbook via cooAddLookbookEntry. */
@@ -48148,6 +48217,10 @@ export type MutationBuiSyncLtiGradeArgs = {
48148
48217
  submissionId: Scalars['ID']['input'];
48149
48218
  };
48150
48219
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
48220
+ export type MutationBuiSyncLtiRosterArgs = {
48221
+ resourceLinkId: Scalars['ID']['input'];
48222
+ };
48223
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
48151
48224
  export type MutationBuiTransitionEnrollmentArgs = {
48152
48225
  id: Scalars['ID']['input'];
48153
48226
  status: BuiEnrollmentStatus;
@@ -49120,6 +49193,10 @@ export type MutationCooPublishLookArgs = {
49120
49193
  id: Scalars['ID']['input'];
49121
49194
  };
49122
49195
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
49196
+ export type MutationCooRecordLegalAcceptanceArgs = {
49197
+ input: CooRecordLegalAcceptanceInput;
49198
+ };
49199
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
49123
49200
  export type MutationCooRemoveLookbookEntryArgs = {
49124
49201
  id: Scalars['ID']['input'];
49125
49202
  };
@@ -67756,6 +67833,8 @@ export type Query = {
67756
67833
  buiLtiLaunchContext?: Maybe<BuiLtiLaunchContext>;
67757
67834
  /** Workspace admin: every registered LTI platform (active or not). */
67758
67835
  buiLtiPlatforms: Array<BuiLtiPlatform>;
67836
+ /** Last-synced NRPS roster for one LTI placement's course context. */
67837
+ buiLtiRoster: Array<BuiLtiRosterMember>;
67759
67838
  /** Type-C self-scoped list: the calling learner's own certificates. No `learnerId` arg — see `buiListCertificates` for the workspace-wide/ instructor equivalent. */
67760
67839
  buiMyCertificates: BuiCertificateConnection;
67761
67840
  /** Type-B self-scoped single lookup: `id` identifies the enrollment, but the resolver owner-filters by `ctx.actor.id` (`learnerId`) and returns null (never leaks FORBIDDEN) if the caller doesn't own it. */
@@ -67933,6 +68012,8 @@ export type Query = {
67933
68012
  cooListBrands: CooBrandConnection;
67934
68013
  cooListCollaborations: CooCollaborationConnection;
67935
68014
  cooListCollections: CooCollectionConnection;
68015
+ /** Workspace-wide legal-acceptance audit trail, for compliance review. */
68016
+ cooListLegalAcceptances: CooLegalAcceptanceConnection;
67936
68017
  cooListLookbooks: CooLookbookConnection;
67937
68018
  cooListLooks: CooLookConnection;
67938
68019
  cooListStyleItems: CooStyleItemConnection;
@@ -67943,6 +68024,8 @@ export type Query = {
67943
68024
  cooMyFollowers: CooStyleProfileConnection;
67944
68025
  /** Style profiles of the people the calling actor follows. */
67945
68026
  cooMyFollowing: CooStyleProfileConnection;
68027
+ /** Legal-acceptance checkpoints recorded by the CALLING actor. Self-scoped (Type C): the ctx.actorId filter IS the access control, no identity arg. Used by the app shell to decide whether to show the acceptance gate before letting the actor into core flows. */
68028
+ cooMyLegalAcceptances: CooLegalAcceptanceConnection;
67946
68029
  /** The calling shopper's own style profile (workspace-scoped, self). */
67947
68030
  cooMyStyleProfile?: Maybe<CooStyleProfile>;
67948
68031
  cooSearchLooks: CooLookConnection;
@@ -68309,7 +68392,7 @@ export type Query = {
68309
68392
  getConnectionByChannelAndUser?: Maybe<IntegrationConnection>;
68310
68393
  getConnectionLogs: LogList;
68311
68394
  getConnectionTags: Array<IntegrationConnectionTagAssignment>;
68312
- /** Get decrypted connection token for workflow execution. This is an internal query used by workflow-svc to resolve credentials at runtime. Auto-refreshes expired tokens when a refresh token is available. Workspace ID is required to validate the connection belongs to the requesting workspace. Resolver enforcement is stricter than generic read RBAC: only service and super_admin actors may call this query, and the argument workspaceId must match x-workspace-id. */
68395
+ /** Get decrypted connection token for workflow execution. This is an internal query used by workflow-svc to resolve credentials at runtime. Auto-refreshes expired tokens when a refresh token is available. Workspace ID is required to validate the connection belongs to the requesting workspace. Resolver enforcement is stricter than generic read RBAC: only service actors (M2M) may call this query, and the argument workspaceId must match x-workspace-id. super_admin support access to decrypted credentials is explicitly prohibited. */
68313
68396
  getConnectionToken: ConnectionTokenResult;
68314
68397
  getConnections: ConnectionList;
68315
68398
  getConnectionsByProvider: ConnectionList;
@@ -71499,6 +71582,10 @@ export type QueryBuiLtiLaunchContextArgs = {
71499
71582
  ticketId: Scalars['ID']['input'];
71500
71583
  };
71501
71584
  /** Base Query type with placeholder field. Extended by individual query files. */
71585
+ export type QueryBuiLtiRosterArgs = {
71586
+ resourceLinkId: Scalars['ID']['input'];
71587
+ };
71588
+ /** Base Query type with placeholder field. Extended by individual query files. */
71502
71589
  export type QueryBuiMyCertificatesArgs = {
71503
71590
  courseId?: InputMaybe<Scalars['ID']['input']>;
71504
71591
  pagination?: InputMaybe<PaginationInput>;
@@ -72083,6 +72170,12 @@ export type QueryCooListCollectionsArgs = {
72083
72170
  status?: InputMaybe<CooCollectionStatus>;
72084
72171
  };
72085
72172
  /** Base Query type with placeholder field. Extended by individual query files. */
72173
+ export type QueryCooListLegalAcceptancesArgs = {
72174
+ actorId?: InputMaybe<Scalars['ID']['input']>;
72175
+ checkpointType?: InputMaybe<CooLegalCheckpointType>;
72176
+ pagination?: InputMaybe<PaginationInput>;
72177
+ };
72178
+ /** Base Query type with placeholder field. Extended by individual query files. */
72086
72179
  export type QueryCooListLookbooksArgs = {
72087
72180
  ownerId?: InputMaybe<Scalars['ID']['input']>;
72088
72181
  pagination?: InputMaybe<PaginationInput>;
@@ -72125,6 +72218,11 @@ export type QueryCooMyFollowingArgs = {
72125
72218
  pagination?: InputMaybe<PaginationInput>;
72126
72219
  };
72127
72220
  /** Base Query type with placeholder field. Extended by individual query files. */
72221
+ export type QueryCooMyLegalAcceptancesArgs = {
72222
+ checkpointType?: InputMaybe<CooLegalCheckpointType>;
72223
+ pagination?: InputMaybe<PaginationInput>;
72224
+ };
72225
+ /** Base Query type with placeholder field. Extended by individual query files. */
72128
72226
  export type QueryCooSearchLooksArgs = {
72129
72227
  input: CooSearchLooksInput;
72130
72228
  pagination?: InputMaybe<PaginationInput>;
@@ -88679,6 +88777,7 @@ export type TecCreateProblemInput = {
88679
88777
  export type TecCreateProblemTestCaseInput = {
88680
88778
  expectedOutput: Scalars['String']['input'];
88681
88779
  input: Scalars['String']['input'];
88780
+ memoryLimitMb?: InputMaybe<Scalars['Int']['input']>;
88682
88781
  name: Scalars['String']['input'];
88683
88782
  ordering?: InputMaybe<Scalars['Int']['input']>;
88684
88783
  problemId: Scalars['ID']['input'];
@@ -89037,6 +89136,8 @@ export type TecProblemTestCase = {
89037
89136
  id: Scalars['ID']['output'];
89038
89137
  /** Fixture stdin. Null for HIDDEN cases when read by a learner. */
89039
89138
  input?: Maybe<Scalars['String']['output']>;
89139
+ /** Per-case memory budget in megabytes. Enforced in the sandbox runner. */
89140
+ memoryLimitMb: Scalars['Int']['output'];
89040
89141
  name: Scalars['String']['output'];
89041
89142
  ordering: Scalars['Int']['output'];
89042
89143
  problemId: Scalars['ID']['output'];
@@ -89193,6 +89294,7 @@ export type TecSubmissionConnection = {
89193
89294
  export declare enum TecSubmissionVerdict {
89194
89295
  Accepted = "ACCEPTED",
89195
89296
  CompileError = "COMPILE_ERROR",
89297
+ MemoryLimitExceeded = "MEMORY_LIMIT_EXCEEDED",
89196
89298
  Pending = "PENDING",
89197
89299
  RuntimeError = "RUNTIME_ERROR",
89198
89300
  TimeLimitExceeded = "TIME_LIMIT_EXCEEDED",
@@ -89231,6 +89333,7 @@ export type TecTestCaseResult = {
89231
89333
  };
89232
89334
  export declare enum TecTestCaseStatus {
89233
89335
  CompileError = "COMPILE_ERROR",
89336
+ MemoryLimitExceeded = "MEMORY_LIMIT_EXCEEDED",
89234
89337
  Passed = "PASSED",
89235
89338
  RuntimeError = "RUNTIME_ERROR",
89236
89339
  Skipped = "SKIPPED",
@@ -89299,6 +89402,7 @@ export type TecUpdateProblemInput = {
89299
89402
  export type TecUpdateProblemTestCaseInput = {
89300
89403
  expectedOutput?: InputMaybe<Scalars['String']['input']>;
89301
89404
  input?: InputMaybe<Scalars['String']['input']>;
89405
+ memoryLimitMb?: InputMaybe<Scalars['Int']['input']>;
89302
89406
  name?: InputMaybe<Scalars['String']['input']>;
89303
89407
  ordering?: InputMaybe<Scalars['Int']['input']>;
89304
89408
  timeLimitMs?: InputMaybe<Scalars['Int']['input']>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/microfe-movethewheels",
3
- "version": "2026.830.2",
3
+ "version": "2026.830.3",
4
4
  "description": "Burdenoff MoveTheWheels Microfrontend - Logistics & Supply Chain Management Platform",
5
5
  "type": "module",
6
6
  "files": [
@@ -36,7 +36,9 @@
36
36
  "storybook": "storybook dev -p 6006",
37
37
  "build-storybook": "storybook build",
38
38
  "test:storybook": "test-storybook",
39
- "schema:pull": "graphql-codegen --project schema-wspace && graphql-codegen --project schema-global",
39
+ "schema:pull": "bash scripts/schema-pull.sh",
40
+ "schema:pull:introspect": "bash scripts/schema-pull.sh --mode introspect",
41
+ "schema:check": "bash scripts/schema-pull.sh --check",
40
42
  "codegen": "graphql-codegen --project wspace",
41
43
  "codegen:all": "bun run schema:pull && bun run codegen",
42
44
  "switch:status": "bun scripts/deps-mode.ts status",
@@ -7364,6 +7364,29 @@ export type BuiLtiResourceLink = {
7364
7364
  workspaceId: Scalars['ID']['output'];
7365
7365
  };
7366
7366
 
7367
+ export type BuiLtiRosterMember = {
7368
+ __typename?: 'BuiLtiRosterMember';
7369
+ contextId: Scalars['String']['output'];
7370
+ createdAt: Scalars['DateTime']['output'];
7371
+ deploymentId: Scalars['String']['output'];
7372
+ displayName?: Maybe<Scalars['String']['output']>;
7373
+ email?: Maybe<Scalars['String']['output']>;
7374
+ id: Scalars['ID']['output'];
7375
+ ltiSub: Scalars['String']['output'];
7376
+ picture?: Maybe<Scalars['String']['output']>;
7377
+ platformId: Scalars['ID']['output'];
7378
+ roles: Array<Scalars['String']['output']>;
7379
+ status: BuiLtiRosterMemberStatus;
7380
+ syncedAt: Scalars['DateTime']['output'];
7381
+ workspaceId: Scalars['ID']['output'];
7382
+ };
7383
+
7384
+ export enum BuiLtiRosterMemberStatus {
7385
+ Active = 'Active',
7386
+ Deleted = 'Deleted',
7387
+ Inactive = 'Inactive'
7388
+ }
7389
+
7367
7390
  export type BuiModule = {
7368
7391
  __typename?: 'BuiModule';
7369
7392
  courseId: Scalars['ID']['output'];
@@ -12238,6 +12261,38 @@ export type CooCreateWardrobeItemInput = {
12238
12261
  tags?: InputMaybe<Array<Scalars['String']['input']>>;
12239
12262
  };
12240
12263
 
12264
+ export type CooLegalAcceptance = {
12265
+ __typename?: 'CooLegalAcceptance';
12266
+ acceptedAt: Scalars['DateTime']['output'];
12267
+ actorId: Scalars['ID']['output'];
12268
+ actorType: Scalars['String']['output'];
12269
+ checkpointType: CooLegalCheckpointType;
12270
+ createdAt: Scalars['DateTime']['output'];
12271
+ documentVersion: Scalars['String']['output'];
12272
+ id: Scalars['ID']['output'];
12273
+ ipAddress?: Maybe<Scalars['String']['output']>;
12274
+ updatedAt: Scalars['DateTime']['output'];
12275
+ userAgent?: Maybe<Scalars['String']['output']>;
12276
+ workspaceId: Scalars['ID']['output'];
12277
+ };
12278
+
12279
+ export type CooLegalAcceptanceConnection = {
12280
+ __typename?: 'CooLegalAcceptanceConnection';
12281
+ items: Array<CooLegalAcceptance>;
12282
+ pageInfo: CooPageInfo;
12283
+ };
12284
+
12285
+ export enum CooLegalCheckpointType {
12286
+ /** First use of an AI-assisted styling feature or an identity/brand verification flow — records the actor's acknowledgement before the feature runs for the first time in a workspace. */
12287
+ AiFeatureFirstUse = 'AI_FEATURE_FIRST_USE',
12288
+ /** Tenant/workspace acceptance of the Data Processing Addendum, recorded once per workspace by whichever actor accepts on the tenant's behalf. */
12289
+ DpaAccept = 'DPA_ACCEPT',
12290
+ /** CoolAndLovely Privacy Policy (coolandlovely.com/privacy). */
12291
+ PrivacyAccept = 'PRIVACY_ACCEPT',
12292
+ /** CoolAndLovely Terms of Service (coolandlovely.com/terms). */
12293
+ TosAccept = 'TOS_ACCEPT'
12294
+ }
12295
+
12241
12296
  export type CooLook = {
12242
12297
  __typename?: 'CooLook';
12243
12298
  authorId: Scalars['ID']['output'];
@@ -12366,6 +12421,13 @@ export type CooPageInfo = {
12366
12421
  hasMore: Scalars['Boolean']['output'];
12367
12422
  };
12368
12423
 
12424
+ export type CooRecordLegalAcceptanceInput = {
12425
+ checkpointType: CooLegalCheckpointType;
12426
+ documentVersion: Scalars['String']['input'];
12427
+ ipAddress?: InputMaybe<Scalars['String']['input']>;
12428
+ userAgent?: InputMaybe<Scalars['String']['input']>;
12429
+ };
12430
+
12369
12431
  export type CooSearchLooksInput = {
12370
12432
  aesthetics?: InputMaybe<Array<Scalars['String']['input']>>;
12371
12433
  occasion?: InputMaybe<CooLookOccasion>;
@@ -26620,12 +26682,22 @@ export type GgnomadTripPlan = {
26620
26682
  name: Scalars['String']['output'];
26621
26683
  startDate?: Maybe<Scalars['DateTime']['output']>;
26622
26684
  status: Scalars['String']['output'];
26685
+ /** BOFF-4378 — legacy raw sum of item prices. Use totalsByCurrency for currency-safe totals; real-time FX conversion is still pending. */
26623
26686
  total: Scalars['Float']['output'];
26687
+ /** BOFF-4378 — currency-safe item totals grouped by currency. */
26688
+ totalsByCurrency: Array<GgnomadTripPlanCurrencyTotal>;
26624
26689
  travelers: Scalars['Int']['output'];
26625
26690
  updatedAt: Scalars['DateTime']['output'];
26626
26691
  workspaceId: Scalars['String']['output'];
26627
26692
  };
26628
26693
 
26694
+ /** BOFF-4378 — per-currency breakdown of a trip plan's item prices. */
26695
+ export type GgnomadTripPlanCurrencyTotal = {
26696
+ __typename?: 'GgnomadTripPlanCurrencyTotal';
26697
+ amount: Scalars['Float']['output'];
26698
+ currency: Scalars['String']['output'];
26699
+ };
26700
+
26629
26701
  export type GgnomadTripPlanItem = {
26630
26702
  __typename?: 'GgnomadTripPlanItem';
26631
26703
  currency: Scalars['String']['output'];
@@ -46461,6 +46533,8 @@ export type Mutation = {
46461
46533
  buiSuggestNextLesson: BuiNextLessonSuggestion;
46462
46534
  /** Real AGS score-publish for one graded submission to the LMS gradebook via the given resource link's line item. Never re-grades — the submission must already be graded (`buiGradeSubmission`/`buiAutoScoreSubmission`). */
46463
46535
  buiSyncLtiGrade: BuiLtiGradeSync;
46536
+ /** Names and Role Provisioning Services roster sync: fetches the LMS course roster for this LTI placement and upserts `BuiLtiContextMembership` rows. */
46537
+ buiSyncLtiRoster: Array<BuiLtiRosterMember>;
46464
46538
  /** Advance an enrollment through its lifecycle (validated transitions). */
46465
46539
  buiTransitionEnrollment: BuiEnrollment;
46466
46540
  /** Ask the AI tutor a question about a lesson. The answer is grounded in the lesson's actual content (plus term-overlap-matched sibling lessons in the same course — see TutorService.retrieveGrounding) — never an ungrounded chat completion. Identity is always the authenticated actor; a client cannot ask on another learner's behalf and cannot continue a session it does not own. */
@@ -46791,6 +46865,8 @@ export type Mutation = {
46791
46865
  cooLogWardrobeWear: CooWardrobeItem;
46792
46866
  cooPublishCollection: CooCollection;
46793
46867
  cooPublishLook: CooLook;
46868
+ /** Record that the CALLING actor accepted a legal document/version at an in-product checkpoint. Self-scoped (Type A): no identity arg. Idempotent — re-accepting the same (checkpointType, documentVersion) updates the timestamp/audit fields rather than duplicating the row. */
46869
+ cooRecordLegalAcceptance: CooLegalAcceptance;
46794
46870
  cooRemoveLookbookEntry: Scalars['Boolean']['output'];
46795
46871
  cooRemoveWardrobeItem: Scalars['Boolean']['output'];
46796
46872
  /** Save/bookmark a look for later (idempotent). Distinct from liking and from clipping into a named lookbook via cooAddLookbookEntry. */
@@ -52638,6 +52714,12 @@ export type MutationBuiSyncLtiGradeArgs = {
52638
52714
  };
52639
52715
 
52640
52716
 
52717
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
52718
+ export type MutationBuiSyncLtiRosterArgs = {
52719
+ resourceLinkId: Scalars['ID']['input'];
52720
+ };
52721
+
52722
+
52641
52723
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
52642
52724
  export type MutationBuiTransitionEnrollmentArgs = {
52643
52725
  id: Scalars['ID']['input'];
@@ -54050,6 +54132,12 @@ export type MutationCooPublishLookArgs = {
54050
54132
  };
54051
54133
 
54052
54134
 
54135
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
54136
+ export type MutationCooRecordLegalAcceptanceArgs = {
54137
+ input: CooRecordLegalAcceptanceInput;
54138
+ };
54139
+
54140
+
54053
54141
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
54054
54142
  export type MutationCooRemoveLookbookEntryArgs = {
54055
54143
  id: Scalars['ID']['input'];
@@ -78811,6 +78899,8 @@ export type Query = {
78811
78899
  buiLtiLaunchContext?: Maybe<BuiLtiLaunchContext>;
78812
78900
  /** Workspace admin: every registered LTI platform (active or not). */
78813
78901
  buiLtiPlatforms: Array<BuiLtiPlatform>;
78902
+ /** Last-synced NRPS roster for one LTI placement's course context. */
78903
+ buiLtiRoster: Array<BuiLtiRosterMember>;
78814
78904
  /** Type-C self-scoped list: the calling learner's own certificates. No `learnerId` arg — see `buiListCertificates` for the workspace-wide/ instructor equivalent. */
78815
78905
  buiMyCertificates: BuiCertificateConnection;
78816
78906
  /** Type-B self-scoped single lookup: `id` identifies the enrollment, but the resolver owner-filters by `ctx.actor.id` (`learnerId`) and returns null (never leaks FORBIDDEN) if the caller doesn't own it. */
@@ -78988,6 +79078,8 @@ export type Query = {
78988
79078
  cooListBrands: CooBrandConnection;
78989
79079
  cooListCollaborations: CooCollaborationConnection;
78990
79080
  cooListCollections: CooCollectionConnection;
79081
+ /** Workspace-wide legal-acceptance audit trail, for compliance review. */
79082
+ cooListLegalAcceptances: CooLegalAcceptanceConnection;
78991
79083
  cooListLookbooks: CooLookbookConnection;
78992
79084
  cooListLooks: CooLookConnection;
78993
79085
  cooListStyleItems: CooStyleItemConnection;
@@ -78998,6 +79090,8 @@ export type Query = {
78998
79090
  cooMyFollowers: CooStyleProfileConnection;
78999
79091
  /** Style profiles of the people the calling actor follows. */
79000
79092
  cooMyFollowing: CooStyleProfileConnection;
79093
+ /** Legal-acceptance checkpoints recorded by the CALLING actor. Self-scoped (Type C): the ctx.actorId filter IS the access control, no identity arg. Used by the app shell to decide whether to show the acceptance gate before letting the actor into core flows. */
79094
+ cooMyLegalAcceptances: CooLegalAcceptanceConnection;
79001
79095
  /** The calling shopper's own style profile (workspace-scoped, self). */
79002
79096
  cooMyStyleProfile?: Maybe<CooStyleProfile>;
79003
79097
  cooSearchLooks: CooLookConnection;
@@ -79364,7 +79458,7 @@ export type Query = {
79364
79458
  getConnectionByChannelAndUser?: Maybe<IntegrationConnection>;
79365
79459
  getConnectionLogs: LogList;
79366
79460
  getConnectionTags: Array<IntegrationConnectionTagAssignment>;
79367
- /** Get decrypted connection token for workflow execution. This is an internal query used by workflow-svc to resolve credentials at runtime. Auto-refreshes expired tokens when a refresh token is available. Workspace ID is required to validate the connection belongs to the requesting workspace. Resolver enforcement is stricter than generic read RBAC: only service and super_admin actors may call this query, and the argument workspaceId must match x-workspace-id. */
79461
+ /** Get decrypted connection token for workflow execution. This is an internal query used by workflow-svc to resolve credentials at runtime. Auto-refreshes expired tokens when a refresh token is available. Workspace ID is required to validate the connection belongs to the requesting workspace. Resolver enforcement is stricter than generic read RBAC: only service actors (M2M) may call this query, and the argument workspaceId must match x-workspace-id. super_admin support access to decrypted credentials is explicitly prohibited. */
79368
79462
  getConnectionToken: ConnectionTokenResult;
79369
79463
  getConnections: ConnectionList;
79370
79464
  getConnectionsByProvider: ConnectionList;
@@ -82907,6 +83001,12 @@ export type QueryBuiLtiLaunchContextArgs = {
82907
83001
  };
82908
83002
 
82909
83003
 
83004
+ /** Base Query type with placeholder field. Extended by individual query files. */
83005
+ export type QueryBuiLtiRosterArgs = {
83006
+ resourceLinkId: Scalars['ID']['input'];
83007
+ };
83008
+
83009
+
82910
83010
  /** Base Query type with placeholder field. Extended by individual query files. */
82911
83011
  export type QueryBuiMyCertificatesArgs = {
82912
83012
  courseId?: InputMaybe<Scalars['ID']['input']>;
@@ -83731,6 +83831,14 @@ export type QueryCooListCollectionsArgs = {
83731
83831
  };
83732
83832
 
83733
83833
 
83834
+ /** Base Query type with placeholder field. Extended by individual query files. */
83835
+ export type QueryCooListLegalAcceptancesArgs = {
83836
+ actorId?: InputMaybe<Scalars['ID']['input']>;
83837
+ checkpointType?: InputMaybe<CooLegalCheckpointType>;
83838
+ pagination?: InputMaybe<PaginationInput>;
83839
+ };
83840
+
83841
+
83734
83842
  /** Base Query type with placeholder field. Extended by individual query files. */
83735
83843
  export type QueryCooListLookbooksArgs = {
83736
83844
  ownerId?: InputMaybe<Scalars['ID']['input']>;
@@ -83789,6 +83897,13 @@ export type QueryCooMyFollowingArgs = {
83789
83897
  };
83790
83898
 
83791
83899
 
83900
+ /** Base Query type with placeholder field. Extended by individual query files. */
83901
+ export type QueryCooMyLegalAcceptancesArgs = {
83902
+ checkpointType?: InputMaybe<CooLegalCheckpointType>;
83903
+ pagination?: InputMaybe<PaginationInput>;
83904
+ };
83905
+
83906
+
83792
83907
  /** Base Query type with placeholder field. Extended by individual query files. */
83793
83908
  export type QueryCooSearchLooksArgs = {
83794
83909
  input: CooSearchLooksInput;
@@ -104749,6 +104864,7 @@ export type TecCreateProblemInput = {
104749
104864
  export type TecCreateProblemTestCaseInput = {
104750
104865
  expectedOutput: Scalars['String']['input'];
104751
104866
  input: Scalars['String']['input'];
104867
+ memoryLimitMb?: InputMaybe<Scalars['Int']['input']>;
104752
104868
  name: Scalars['String']['input'];
104753
104869
  ordering?: InputMaybe<Scalars['Int']['input']>;
104754
104870
  problemId: Scalars['ID']['input'];
@@ -105143,6 +105259,8 @@ export type TecProblemTestCase = {
105143
105259
  id: Scalars['ID']['output'];
105144
105260
  /** Fixture stdin. Null for HIDDEN cases when read by a learner. */
105145
105261
  input?: Maybe<Scalars['String']['output']>;
105262
+ /** Per-case memory budget in megabytes. Enforced in the sandbox runner. */
105263
+ memoryLimitMb: Scalars['Int']['output'];
105146
105264
  name: Scalars['String']['output'];
105147
105265
  ordering: Scalars['Int']['output'];
105148
105266
  problemId: Scalars['ID']['output'];
@@ -105317,6 +105435,7 @@ export type TecSubmissionConnection = {
105317
105435
  export enum TecSubmissionVerdict {
105318
105436
  Accepted = 'ACCEPTED',
105319
105437
  CompileError = 'COMPILE_ERROR',
105438
+ MemoryLimitExceeded = 'MEMORY_LIMIT_EXCEEDED',
105320
105439
  Pending = 'PENDING',
105321
105440
  RuntimeError = 'RUNTIME_ERROR',
105322
105441
  TimeLimitExceeded = 'TIME_LIMIT_EXCEEDED',
@@ -105360,6 +105479,7 @@ export type TecTestCaseResult = {
105360
105479
 
105361
105480
  export enum TecTestCaseStatus {
105362
105481
  CompileError = 'COMPILE_ERROR',
105482
+ MemoryLimitExceeded = 'MEMORY_LIMIT_EXCEEDED',
105363
105483
  Passed = 'PASSED',
105364
105484
  RuntimeError = 'RUNTIME_ERROR',
105365
105485
  Skipped = 'SKIPPED',
@@ -105435,6 +105555,7 @@ export type TecUpdateProblemInput = {
105435
105555
  export type TecUpdateProblemTestCaseInput = {
105436
105556
  expectedOutput?: InputMaybe<Scalars['String']['input']>;
105437
105557
  input?: InputMaybe<Scalars['String']['input']>;
105558
+ memoryLimitMb?: InputMaybe<Scalars['Int']['input']>;
105438
105559
  name?: InputMaybe<Scalars['String']['input']>;
105439
105560
  ordering?: InputMaybe<Scalars['Int']['input']>;
105440
105561
  timeLimitMs?: InputMaybe<Scalars['Int']['input']>;