@sanity/workflow-engine 0.34.0 → 0.35.0

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.
@@ -67,11 +67,433 @@ function rethrowWithContext(err, context) {
67
67
  });
68
68
  }
69
69
 
70
+ const WORKFLOW_INSTANCE_TYPE = "sanity.workflow.instance";
71
+
72
+ function terminalState(instance) {
73
+ return instance.abortedAt !== void 0 ? "aborted" : instance.completedAt !== void 0 ? "completed" : "in-flight";
74
+ }
75
+
76
+ function isUnprimed(instance) {
77
+ return instance.stages.length === 0 && terminalState(instance) === "in-flight";
78
+ }
79
+
80
+ function parseDefinitionSnapshotValue(instance) {
81
+ try {
82
+ return normalizeLegacyActivityRequirements(JSON.parse(instance.definitionSnapshot));
83
+ } catch (err) {
84
+ rethrowWithContext(err, `Failed to parse definitionSnapshot on instance "${instance._id}"`);
85
+ }
86
+ }
87
+
88
+ function normalizeLegacyActivityRequirements(value) {
89
+ for (const stage of arrayMember(value, "stages")) for (const activity of arrayMember(stage, "activities")) normalizeLegacyRequirementMap(activity);
90
+ return value;
91
+ }
92
+
93
+ function arrayMember(value, key) {
94
+ if (typeof value != "object" || value === null) return [];
95
+ const member = value[key];
96
+ return Array.isArray(member) ? member : [];
97
+ }
98
+
99
+ function normalizeLegacyRequirementMap(value) {
100
+ if (typeof value != "object" || value === null) return;
101
+ const activity = value, requirements = activity.requirements;
102
+ typeof requirements != "object" || requirements === null || Array.isArray(requirements) || (activity.requirements = Object.entries(requirements).map(([name, query]) => ({
103
+ type: "groq",
104
+ name: name,
105
+ query: query
106
+ })));
107
+ }
108
+
109
+ function parseDefinitionSnapshot(instance) {
110
+ return parseDefinitionSnapshotValue(instance);
111
+ }
112
+
113
+ function parentRef(instance) {
114
+ return instance.ancestors.at(-1);
115
+ }
116
+
70
117
  function andConditions(parts) {
71
118
  const present = parts.filter(p => p !== void 0);
72
119
  if (present.length !== 0) return present.length === 1 ? present[0] : present.map(p => `(${p})`).join(" && ");
73
120
  }
74
121
 
122
+ function effectiveEditable(baseline, override) {
123
+ if (baseline === void 0) return;
124
+ if (override === void 0) return baseline;
125
+ if (baseline === !0 && override === !0) return !0;
126
+ const parts = [ baseline, override ].map(e => e === !0 ? void 0 : e);
127
+ return andConditions(parts) ?? !0;
128
+ }
129
+
130
+ const DEFAULT_EDIT_MODE = "set";
131
+
132
+ function _fieldTargetLabel(target) {
133
+ return [ target.scope, target.activity, target.field ].filter(Boolean).join(".");
134
+ }
135
+
136
+ function fieldSites(definition, stage) {
137
+ const sites = [];
138
+ for (const entry of definition.fields ?? []) sites.push({
139
+ scope: "workflow",
140
+ entry: entry
141
+ });
142
+ for (const entry of stage.fields ?? []) sites.push({
143
+ scope: "stage",
144
+ entry: entry
145
+ });
146
+ for (const activity of stage.activities ?? []) for (const entry of activity.fields ?? []) sites.push({
147
+ scope: "activity",
148
+ activity: activity.name,
149
+ entry: entry
150
+ });
151
+ return sites;
152
+ }
153
+
154
+ function resolveFieldSite(site, stage) {
155
+ return {
156
+ scope: site.scope,
157
+ ...site.activity !== void 0 ? {
158
+ activity: site.activity
159
+ } : {},
160
+ name: site.entry.name,
161
+ type: site.entry.type,
162
+ ...site.entry.title !== void 0 ? {
163
+ title: site.entry.title
164
+ } : {},
165
+ ...site.entry.validation !== void 0 ? {
166
+ validation: site.entry.validation
167
+ } : {},
168
+ ...site.entry.roles !== void 0 ? {
169
+ roles: site.entry.roles
170
+ } : {},
171
+ ref: {
172
+ scope: site.scope,
173
+ field: site.entry.name
174
+ },
175
+ effective: effectiveEditable(site.entry.editable, stage.editable?.[site.entry.name])
176
+ };
177
+ }
178
+
179
+ function editableFieldsInStage(definition, stage) {
180
+ return fieldSites(definition, stage).filter(site => site.entry.editable !== void 0).map(site => resolveFieldSite(site, stage));
181
+ }
182
+
183
+ function editTargetMatches(site, target) {
184
+ return site.name !== target.field ? !1 : target.activity !== void 0 ? site.scope === "activity" && site.activity === target.activity : target.scope !== void 0 ? site.scope === target.scope : !0;
185
+ }
186
+
187
+ const SCOPE_PRECEDENCE = {
188
+ activity: 0,
189
+ stage: 1,
190
+ workflow: 2
191
+ };
192
+
193
+ function resolveEditTarget(args) {
194
+ const {definition: definition, stage: stage, target: target} = args, found = fieldSites(definition, stage).filter(site => editTargetMatches({
195
+ scope: site.scope,
196
+ name: site.entry.name,
197
+ ...site.activity !== void 0 ? {
198
+ activity: site.activity
199
+ } : {}
200
+ }, target)).sort((a, b) => SCOPE_PRECEDENCE[a.scope] - SCOPE_PRECEDENCE[b.scope])[0];
201
+ return found ? resolveFieldSite(found, stage) : void 0;
202
+ }
203
+
204
+ function fieldWindowOpen(instance, site) {
205
+ const terminal = terminalState(instance);
206
+ if (terminal !== "in-flight") return {
207
+ open: !1,
208
+ detail: `instance ${terminal}`
209
+ };
210
+ if (site.scope !== "activity") return {
211
+ open: !0
212
+ };
213
+ const status = findCurrentActivityEntry(instance, site.activity)?.status;
214
+ return status === "active" ? {
215
+ open: !0
216
+ } : {
217
+ open: !1,
218
+ detail: `activity "${site.activity}" is ${status ?? "not active"}`
219
+ };
220
+ }
221
+
222
+ function readFieldValue(instance, site) {
223
+ return resolveFieldEntry(instance, site)?.value;
224
+ }
225
+
226
+ function resolveFieldEntry(instance, site) {
227
+ return fieldEntryHost(instance, site)?.find(e => e.name === site.name);
228
+ }
229
+
230
+ function fieldEntryHost(instance, site) {
231
+ if (site.scope === "workflow") return instance.fields;
232
+ const stageEntry = findOpenStageEntry(instance);
233
+ return site.scope === "stage" ? stageEntry?.fields : stageEntry?.activities.find(t => t.name === site.activity)?.fields;
234
+ }
235
+
236
+ function fieldProvenance(instance, ref) {
237
+ let latest;
238
+ for (const entry of instance.history) entry._type === "opApplied" && (entry.target?.scope !== ref.scope || entry.target.field !== ref.field || (latest = {
239
+ at: entry.at,
240
+ ...entry.actor !== void 0 ? {
241
+ actor: entry.actor
242
+ } : {}
243
+ }));
244
+ return latest === void 0 ? {} : {
245
+ ...latest.actor !== void 0 ? {
246
+ setBy: latest.actor
247
+ } : {},
248
+ setAt: latest.at
249
+ };
250
+ }
251
+
252
+ function editDisabledReason(args) {
253
+ const {effective: effective, instance: instance, window: window, guardDenial: guardDenial, predicateSatisfied: predicateSatisfied} = args;
254
+ if (effective === void 0) return {
255
+ kind: "not-editable"
256
+ };
257
+ if (!window.open) {
258
+ const terminalReason = instanceTerminalReason(instance);
259
+ return terminalReason !== void 0 ? terminalReason : {
260
+ kind: "edit-window-closed",
261
+ detail: window.detail ?? "closed"
262
+ };
263
+ }
264
+ if (guardDenial !== void 0) return guardDenial;
265
+ if (!predicateSatisfied) return {
266
+ kind: "editor-not-permitted",
267
+ predicate: effective === !0 ? "true" : effective
268
+ };
269
+ }
270
+
271
+ function instanceTerminalReason(instance) {
272
+ const terminal = terminalState(instance);
273
+ if (terminal === "aborted" && instance.abortedAt !== void 0) return {
274
+ kind: "instance-aborted",
275
+ abortedAt: instance.abortedAt
276
+ };
277
+ if (terminal === "completed" && instance.completedAt !== void 0) return {
278
+ kind: "instance-completed",
279
+ completedAt: instance.completedAt
280
+ };
281
+ }
282
+
283
+ function defineWorkflowEvent(options) {
284
+ return {
285
+ type: "log",
286
+ ...options
287
+ };
288
+ }
289
+
290
+ const noopTelemetry = {
291
+ log: () => {}
292
+ };
293
+
294
+ function resolveTelemetry(telemetry) {
295
+ return telemetry === void 0 ? noopTelemetry : {
296
+ log: (event, data) => {
297
+ try {
298
+ telemetry.log(event, data);
299
+ } catch (error) {
300
+ console.warn(`[workflow-engine] telemetry logger threw while logging "${event.name}" — event dropped`, error);
301
+ }
302
+ }
303
+ };
304
+ }
305
+
306
+ const HIGH_FREQUENCY_SAMPLE_MS = 6e4, WorkflowDefinitionDeployed = defineWorkflowEvent({
307
+ name: "Workflows Definition Deployed",
308
+ version: 2,
309
+ description: "A definition went through a deploy — status distinguishes a newly minted version from an unchanged redeploy"
310
+ }), WorkflowInstanceStarted = defineWorkflowEvent({
311
+ name: "Workflows Instance Started",
312
+ version: 2,
313
+ description: "A workflow instance was started from a deployed definition"
314
+ }), WorkflowStageTransitioned = defineWorkflowEvent({
315
+ name: "Workflows Stage Transitioned",
316
+ version: 2,
317
+ description: "A committed stage move — one event per hop, cascades included, whichever verb drove it. Unsampled: funnel and dwell reads need complete counts, and volume is bounded by actual movement"
318
+ }), WorkflowActionFired = defineWorkflowEvent({
319
+ name: "Workflows Action Fired",
320
+ version: 2,
321
+ description: "An action was fired against an activity"
322
+ }), WorkflowFieldEdited = defineWorkflowEvent({
323
+ name: "Workflows Field Edited",
324
+ version: 2,
325
+ description: "A declared-editable field was edited through the generic edit seam",
326
+ maxSampleRate: HIGH_FREQUENCY_SAMPLE_MS
327
+ }), WorkflowInstanceTicked = defineWorkflowEvent({
328
+ name: "Workflows Instance Ticked",
329
+ version: 2,
330
+ description: "An instance was re-evaluated for auto-transitions and due waits",
331
+ maxSampleRate: HIGH_FREQUENCY_SAMPLE_MS
332
+ }), WorkflowEffectsDrained = defineWorkflowEvent({
333
+ name: "Workflows Effects Drained",
334
+ version: 2,
335
+ description: "A drain pass ran — drainedCount/drainedEffects report the successful dispatches. Unsampled when non-empty (outcome counts must be complete; volume is bounded by real effect work); empty polls are machine-cadence noise, throttled engine-side to at most one per minute"
336
+ }), WorkflowEffectStateReported = defineWorkflowEvent({
337
+ name: "Workflows Effect State Reported",
338
+ version: 2,
339
+ description: "A running effect handler committed mid-dispatch field state through commitEffectOps. Sampled (high-frequency by design — a dispatch may report many times): an adoption and usage signal, not an exact per-run report count",
340
+ maxSampleRate: HIGH_FREQUENCY_SAMPLE_MS
341
+ }), WorkflowEffectCompleted = defineWorkflowEvent({
342
+ name: "Workflows Effect Completed",
343
+ version: 2,
344
+ description: "An effect outcome was recorded — reported directly through completeEffect, or cancelled by the abort verb (external runtimes; engine-drained effects surface via Workflows Effects Drained instead — each outcome counts once)"
345
+ }), WorkflowInstanceAborted = defineWorkflowEvent({
346
+ name: "Workflows Instance Aborted",
347
+ version: 2,
348
+ description: "The abort admin override was invoked (changed: false = instance already terminal)"
349
+ }), WorkflowStageSet = defineWorkflowEvent({
350
+ name: "Workflows Stage Set",
351
+ version: 2,
352
+ description: "The set-stage admin override was invoked (changed: false = already at the target stage)"
353
+ }), WorkflowActivityReset = defineWorkflowEvent({
354
+ name: "Workflows Activity Reset",
355
+ version: 2,
356
+ description: "The reset-activity admin override was invoked (changed: false = already at the target status, or the instance was terminal)"
357
+ }), WorkflowDefinitionDeleted = defineWorkflowEvent({
358
+ name: "Workflows Definition Deleted",
359
+ version: 2,
360
+ description: "A deployed definition (or one version of it) was removed via the admin verb"
361
+ });
362
+
363
+ function definitionDeployedData(definition, outcome) {
364
+ const stages = definition.stages, activities = stages.flatMap(stage => stage.activities ?? []), actions = activities.flatMap(activity => activity.actions ?? []), transitions = stages.flatMap(stage => stage.transitions ?? []), fieldEntries = [ ...definition.fields ?? [], ...stages.flatMap(stage => stage.fields ?? []), ...activities.flatMap(activity => activity.fields ?? []) ];
365
+ return {
366
+ contentHash: outcome.contentHash,
367
+ status: outcome.status,
368
+ deployId: outcome.deployId,
369
+ stageCount: stages.length,
370
+ activityCount: activities.length,
371
+ actionCount: actions.length,
372
+ transitionCount: transitions.length,
373
+ fieldCount: fieldEntries.length,
374
+ activityKinds: [ ...new Set(activities.map(deriveActivityKind)) ].sort(),
375
+ fieldKinds: [ ...new Set(fieldEntries.map(entry => entry.type)) ].sort(),
376
+ guardCount: stages.reduce((n, stage) => n + (stage.guards ?? []).length, 0),
377
+ effectCount: actions.reduce((n, action) => n + (action.effects ?? []).length, 0),
378
+ subworkflowCount: actions.filter(action => action.spawn !== void 0).length,
379
+ lifecycle: definition.lifecycle ?? "standalone"
380
+ };
381
+ }
382
+
383
+ function definitionHashFragment(contentHash) {
384
+ return contentHash !== void 0 ? {
385
+ definitionContentHash: contentHash
386
+ } : {};
387
+ }
388
+
389
+ const REPORTED_BY_DECLARED_KIND = {
390
+ studio: "studio",
391
+ sdk: "sdk",
392
+ cli: "cli",
393
+ mcp: "mcp",
394
+ server: "server",
395
+ drainer: "server",
396
+ interactive: "other",
397
+ script: "other",
398
+ test: "other"
399
+ }, REPORTED_KIND_LOOKUP = new Map(Object.entries(REPORTED_BY_DECLARED_KIND));
400
+
401
+ function executionContextFragment(context) {
402
+ return context.kind === void 0 ? {
403
+ executionRuntime: context.runtime
404
+ } : {
405
+ executionRuntime: context.runtime,
406
+ executionKind: REPORTED_KIND_LOOKUP.get(context.kind) ?? "other"
407
+ };
408
+ }
409
+
410
+ function instanceStartedData(args) {
411
+ return {
412
+ ...definitionHashFragment(args.definition.contentHash),
413
+ instanceId: args.instanceId,
414
+ initialFieldCount: args.initialFieldCount,
415
+ viaSpawn: args.viaSpawn,
416
+ lifecycle: args.definition.lifecycle ?? "standalone"
417
+ };
418
+ }
419
+
420
+ function instanceStartedDataFor(args) {
421
+ return instanceStartedData({
422
+ definition: {
423
+ ...parseDefinitionSnapshot(args.instance),
424
+ ...args.instance.pinnedContentHash !== void 0 ? {
425
+ contentHash: args.instance.pinnedContentHash
426
+ } : {}
427
+ },
428
+ instanceId: args.instance._id,
429
+ initialFieldCount: args.initialFieldCount,
430
+ viaSpawn: args.viaSpawn
431
+ });
432
+ }
433
+
434
+ function stageTransitionedData(args) {
435
+ const stageIndex = name => args.definition.stages.findIndex(stage => stage.name === name), openEntry = findOpenStageEntry(args.instance), dwellMs = openEntry !== void 0 ? Date.parse(args.at) - Date.parse(openEntry.enteredAt) : Number.NaN;
436
+ return {
437
+ ...definitionHashFragment(args.instance.pinnedContentHash),
438
+ instanceId: args.instance._id,
439
+ fromStageIndex: stageIndex(args.instance.currentStage),
440
+ toStageIndex: stageIndex(args.toStage),
441
+ toIsTerminal: args.toIsTerminal,
442
+ isRevisit: args.instance.stages.some(entry => entry.name === args.toStage),
443
+ ...Number.isFinite(dwellMs) ? {
444
+ dwellMs: dwellMs
445
+ } : {},
446
+ via: args.via
447
+ };
448
+ }
449
+
450
+ function openStage(instance) {
451
+ const definition = parseDefinitionSnapshot(instance);
452
+ return {
453
+ definition: definition,
454
+ stage: definition.stages.find(s => s.name === instance.currentStage)
455
+ };
456
+ }
457
+
458
+ function firedActivityKind(instance, activity) {
459
+ const node = openStage(instance).stage?.activities?.find(a => a.name === activity);
460
+ return node === void 0 ? void 0 : deriveActivityKind(node);
461
+ }
462
+
463
+ function editedFieldKind(instance, target) {
464
+ const {definition: definition, stage: stage} = openStage(instance);
465
+ return stage === void 0 ? void 0 : resolveEditTarget({
466
+ definition: definition,
467
+ stage: stage,
468
+ target: target
469
+ })?.type;
470
+ }
471
+
472
+ function actionFiredData(args) {
473
+ const kind = firedActivityKind(args.instance, args.activity);
474
+ return {
475
+ ...definitionHashFragment(args.instance.pinnedContentHash),
476
+ instanceId: args.instance._id,
477
+ ...kind !== void 0 ? {
478
+ activityKind: kind
479
+ } : {},
480
+ hasParams: args.params !== void 0,
481
+ cascaded: args.cascaded
482
+ };
483
+ }
484
+
485
+ function fieldEditedData(args) {
486
+ const kind = editedFieldKind(args.instance, args.target);
487
+ return {
488
+ ...definitionHashFragment(args.instance.pinnedContentHash),
489
+ instanceId: args.instance._id,
490
+ ...kind !== void 0 ? {
491
+ fieldKind: kind
492
+ } : {},
493
+ mode: args.mode ?? DEFAULT_EDIT_MODE
494
+ };
495
+ }
496
+
75
497
  const KNOWN_SCHEMES = /* @__PURE__ */ new Set([ "dataset", "canvas", "media-library", "dashboard" ]), KNOWN_SCHEMES_TEXT = [ ...KNOWN_SCHEMES ].join(", ");
76
498
 
77
499
  class VersionSpecificDatasetGdrError extends Error {
@@ -4140,4 +4562,4 @@ function checkWorkflowInvariants(def) {
4140
4562
  checkStoredRolesPlacement(def, issues), checkGroups(def, issues), issues;
4141
4563
  }
4142
4564
 
4143
- export { ACTION_SEMANTICS, ACTIVITY_KINDS, ACTIVITY_STATUSES, ACTOR_KINDS, ANONYMOUS_IDENTITY, ActorShape, AuthoringActionSchema, AuthoringActivitySchema, AuthoringEffectSchema, AuthoringFieldEntrySchema, AuthoringGuardSchema, AuthoringOpSchema, AuthoringStageSchema, AuthoringTransitionSchema, AuthoringWorkflowSchema, CALLER_BOUND_VARS, CONDITION_VARS, ContractViolationError, DECISION_SEMANTICS, DEFAULT_TRANSITION_WHEN, DOCUMENT_VALUE_PERMISSIONS, DRIVER_KINDS, DefinitionInUseError, DefinitionNotFoundError, EFFECTS_READ, EXECUTOR_CLASSIFICATIONS, EffectNotFoundError, FIELD_READ, FIELD_SCOPES, FIELD_VALUE_KINDS, FILTER_SCOPE_VARS, FieldValueShapeError, GROUP_KINDS, GUARD_ACTIONS_REQUIRED_MESSAGE, GUARD_PREDICATE_VARS, GdrShape, GroupSchema, InstanceNotFoundError, IsoTimestamp, LAKE_MUTATION_GUARD_ACTIONS, MUTATION_GUARD_ACTIONS, MUTATION_GUARD_ID_SPACES, NonEmptyString$1 as NonEmptyString, PersistedDocShapeError, RESERVED_CONDITION_VARS, RESOURCE_ALIAS_NAME_SOURCE, SIGNAL_SEMANTICS, START_FILTER_VARS, START_REQUIREMENT_VARS, SYSTEM_IDENTITY, SpawnContractsInvalidError, StoredFieldOpSchema, UNIVERSAL_ROLE_ALIAS_KEY, VersionSpecificDatasetGdrError, WORKFLOW_DEFINITION_TYPE, WorkflowConfigSchema, WorkflowError, activeAssignmentMembers, actorFulfillsRole, actorMatchesAssignment, andConditions, assignmentKindAcceptsRoles, assignmentMatch, assignmentMembers, assignmentState, assignmentStateCounts, checkWorkflowInvariants, choiceValueIssues, classifyPrincipalId, clientConfigFromResource, condemnSubworkflow, condemnedSubworkflows, conditionEffectReads, conditionFieldReadNames, conditionParameterNames, conditionSyntaxIssues, datasetResourceParts, definitionDocId, deriveActivityKind, deriveExecutorClassification, desugarWorkflow, directoryBridgeId, driverKind, effectBackoffMs, errorMessage, evaluateCondition, evaluateConditionOutcome, evaluatePredicates, extractDocumentId, fieldValueSchemas, findCurrentActivityEntry, findOpenStageEntry, firstCarriedGlobalId, formatIssuePath, formatIssues, formatValidationError, gdrFromResource, gdrRef, gdrResourcePrefix, gdrUri, groq, groupMembershipNames, identityMatchesAssignment, instanceAssignmentStateCounts, isAlwaysArrayFieldKind, isAssignmentFieldEntry, isBareDocumentId, isBareSeedId, isCascadeFired, isFilterScopedOut, isGdr, isGdrUri, isGuardReadExpr, isInputSourced, isNotesEntry, isParseableInstant, isRecord, isSingleDocRefEntry, isSingleDocRefKind, isStartableDefinition, isSubjectEntry, isTerminalActivityStatus, isTodoListEntry, isTodoListItem, isUnevaluable, labelFor, lakePrincipalId, liveSubworkflows, mutationGuardActionIdSpace, mutationGuardRequiresSplitEmission, normalizeAssignmentMembers, openActivityAssignments, parseFieldValue, parseGdr, parseOrThrow, parsePersistedDoc, parseResourceGdr, parseStoredDefinition, readsRootDocument, refCanvas, refDashboard, refDataset, refKindAcceptsTypes, refMediaLibrary, refTypeIssues, rejectedRefTypes, releaseDocId, releaseRef, resolvedChildStatus, resourceAliasesToMap, resourceFromGdrUri, resourceFromParsed, resourceGdr, rethrowWithContext, runGroq, sameResource, scalarValidationIssues, schemaTreeShape, selfGdr, startKindOf, tagScopeFilter, toBareId, toPhysicalGdr, tolerantEntries, tolerantObject, tryParseGdr, validateFieldAppendItem, validateFieldValue, validateResourceAliasName, validateTag };
4565
+ export { ACTION_SEMANTICS, ACTIVITY_KINDS, ACTIVITY_STATUSES, ACTOR_KINDS, ANONYMOUS_IDENTITY, ActorShape, AuthoringActionSchema, AuthoringActivitySchema, AuthoringEffectSchema, AuthoringFieldEntrySchema, AuthoringGuardSchema, AuthoringOpSchema, AuthoringStageSchema, AuthoringTransitionSchema, AuthoringWorkflowSchema, CALLER_BOUND_VARS, CONDITION_VARS, ContractViolationError, DECISION_SEMANTICS, DEFAULT_EDIT_MODE, DEFAULT_TRANSITION_WHEN, DOCUMENT_VALUE_PERMISSIONS, DRIVER_KINDS, DefinitionInUseError, DefinitionNotFoundError, EFFECTS_READ, EXECUTOR_CLASSIFICATIONS, EffectNotFoundError, FIELD_READ, FIELD_SCOPES, FIELD_VALUE_KINDS, FILTER_SCOPE_VARS, FieldValueShapeError, GROUP_KINDS, GUARD_ACTIONS_REQUIRED_MESSAGE, GUARD_PREDICATE_VARS, GdrShape, GroupSchema, InstanceNotFoundError, IsoTimestamp, LAKE_MUTATION_GUARD_ACTIONS, MUTATION_GUARD_ACTIONS, MUTATION_GUARD_ID_SPACES, NonEmptyString$1 as NonEmptyString, PersistedDocShapeError, RESERVED_CONDITION_VARS, RESOURCE_ALIAS_NAME_SOURCE, SCOPE_PRECEDENCE, SIGNAL_SEMANTICS, START_FILTER_VARS, START_REQUIREMENT_VARS, SYSTEM_IDENTITY, SpawnContractsInvalidError, StoredFieldOpSchema, UNIVERSAL_ROLE_ALIAS_KEY, VersionSpecificDatasetGdrError, WORKFLOW_DEFINITION_TYPE, WORKFLOW_INSTANCE_TYPE, WorkflowActionFired, WorkflowActivityReset, WorkflowConfigSchema, WorkflowDefinitionDeleted, WorkflowDefinitionDeployed, WorkflowEffectCompleted, WorkflowEffectStateReported, WorkflowEffectsDrained, WorkflowError, WorkflowFieldEdited, WorkflowInstanceAborted, WorkflowInstanceStarted, WorkflowInstanceTicked, WorkflowStageSet, WorkflowStageTransitioned, _fieldTargetLabel, actionFiredData, activeAssignmentMembers, actorFulfillsRole, actorMatchesAssignment, assignmentKindAcceptsRoles, assignmentMatch, assignmentMembers, assignmentState, assignmentStateCounts, checkWorkflowInvariants, choiceValueIssues, classifyPrincipalId, clientConfigFromResource, condemnSubworkflow, condemnedSubworkflows, conditionEffectReads, conditionFieldReadNames, conditionParameterNames, conditionSyntaxIssues, datasetResourceParts, definitionDeployedData, definitionDocId, definitionHashFragment, deriveActivityKind, deriveExecutorClassification, desugarWorkflow, directoryBridgeId, driverKind, editDisabledReason, editTargetMatches, editableFieldsInStage, effectBackoffMs, errorMessage, evaluateCondition, evaluateConditionOutcome, evaluatePredicates, executionContextFragment, extractDocumentId, fieldEditedData, fieldProvenance, fieldValueSchemas, fieldWindowOpen, findCurrentActivityEntry, findOpenStageEntry, firstCarriedGlobalId, formatIssuePath, formatIssues, formatValidationError, gdrFromResource, gdrRef, gdrResourcePrefix, gdrUri, groq, groupMembershipNames, identityMatchesAssignment, instanceAssignmentStateCounts, instanceStartedData, instanceStartedDataFor, instanceTerminalReason, isAlwaysArrayFieldKind, isAssignmentFieldEntry, isBareDocumentId, isBareSeedId, isCascadeFired, isFilterScopedOut, isGdr, isGdrUri, isGuardReadExpr, isInputSourced, isNotesEntry, isParseableInstant, isRecord, isSingleDocRefEntry, isSingleDocRefKind, isStartableDefinition, isSubjectEntry, isTerminalActivityStatus, isTodoListEntry, isTodoListItem, isUnevaluable, isUnprimed, labelFor, lakePrincipalId, liveSubworkflows, mutationGuardActionIdSpace, mutationGuardRequiresSplitEmission, noopTelemetry, normalizeAssignmentMembers, openActivityAssignments, parentRef, parseDefinitionSnapshot, parseDefinitionSnapshotValue, parseFieldValue, parseGdr, parseOrThrow, parsePersistedDoc, parseResourceGdr, parseStoredDefinition, readFieldValue, readsRootDocument, refCanvas, refDashboard, refDataset, refKindAcceptsTypes, refMediaLibrary, refTypeIssues, rejectedRefTypes, releaseDocId, releaseRef, resolveEditTarget, resolveFieldEntry, resolveTelemetry, resolvedChildStatus, resourceAliasesToMap, resourceFromGdrUri, resourceFromParsed, resourceGdr, rethrowWithContext, runGroq, sameResource, scalarValidationIssues, schemaTreeShape, selfGdr, stageTransitionedData, startKindOf, tagScopeFilter, terminalState, toBareId, toPhysicalGdr, tolerantEntries, tolerantObject, tryParseGdr, validateFieldAppendItem, validateFieldValue, validateResourceAliasName, validateTag };