@exaudeus/workrail 3.9.2 → 3.11.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.
Files changed (64) hide show
  1. package/dist/application/services/validation-engine.js +134 -0
  2. package/dist/application/services/workflow-compiler.js +54 -0
  3. package/dist/manifest.json +150 -78
  4. package/dist/mcp/handlers/v2-advance-core/assessment-consequences.d.ts +14 -0
  5. package/dist/mcp/handlers/v2-advance-core/assessment-consequences.js +27 -0
  6. package/dist/mcp/handlers/v2-advance-core/assessment-validation.d.ts +16 -0
  7. package/dist/mcp/handlers/v2-advance-core/assessment-validation.js +213 -0
  8. package/dist/mcp/handlers/v2-advance-core/event-builders.d.ts +1 -0
  9. package/dist/mcp/handlers/v2-advance-core/event-builders.js +3 -2
  10. package/dist/mcp/handlers/v2-advance-core/index.js +23 -8
  11. package/dist/mcp/handlers/v2-advance-core/input-validation.d.ts +9 -1
  12. package/dist/mcp/handlers/v2-advance-core/input-validation.js +22 -2
  13. package/dist/mcp/handlers/v2-advance-core/outcome-blocked.d.ts +2 -0
  14. package/dist/mcp/handlers/v2-advance-core/outcome-blocked.js +69 -19
  15. package/dist/mcp/handlers/v2-advance-core/outcome-success.js +22 -0
  16. package/dist/mcp/handlers/v2-execution/replay.js +7 -0
  17. package/dist/mcp/output-schemas.d.ts +156 -42
  18. package/dist/mcp/output-schemas.js +17 -1
  19. package/dist/mcp/v2-response-formatter.js +7 -1
  20. package/dist/types/workflow-definition.d.ts +26 -0
  21. package/dist/types/workflow-definition.js +16 -1
  22. package/dist/v2/durable-core/constants.d.ts +4 -1
  23. package/dist/v2/durable-core/constants.js +5 -2
  24. package/dist/v2/durable-core/domain/assessment-consequence-event-builder.d.ts +23 -0
  25. package/dist/v2/durable-core/domain/assessment-consequence-event-builder.js +36 -0
  26. package/dist/v2/durable-core/domain/assessment-record.d.ts +12 -0
  27. package/dist/v2/durable-core/domain/assessment-record.js +2 -0
  28. package/dist/v2/durable-core/domain/assessment-recorded-event-builder.d.ts +22 -0
  29. package/dist/v2/durable-core/domain/assessment-recorded-event-builder.js +38 -0
  30. package/dist/v2/durable-core/domain/blocked-node-builder.d.ts +1 -1
  31. package/dist/v2/durable-core/domain/blocked-node-builder.js +8 -0
  32. package/dist/v2/durable-core/domain/blocking-decision.d.ts +6 -0
  33. package/dist/v2/durable-core/domain/blocking-decision.js +15 -0
  34. package/dist/v2/durable-core/domain/prompt-renderer.js +53 -67
  35. package/dist/v2/durable-core/domain/reason-model.d.ts +12 -2
  36. package/dist/v2/durable-core/domain/reason-model.js +27 -2
  37. package/dist/v2/durable-core/domain/retrieval-contract.d.ts +105 -0
  38. package/dist/v2/durable-core/domain/retrieval-contract.js +310 -0
  39. package/dist/v2/durable-core/domain/risk-policy-guardrails.js +1 -0
  40. package/dist/v2/durable-core/domain/validation-criteria-validator.d.ts +1 -0
  41. package/dist/v2/durable-core/domain/validation-criteria-validator.js +11 -0
  42. package/dist/v2/durable-core/schemas/artifacts/assessment.d.ts +55 -0
  43. package/dist/v2/durable-core/schemas/artifacts/assessment.js +29 -0
  44. package/dist/v2/durable-core/schemas/artifacts/index.d.ts +2 -1
  45. package/dist/v2/durable-core/schemas/artifacts/index.js +8 -1
  46. package/dist/v2/durable-core/schemas/compiled-workflow/index.d.ts +24 -24
  47. package/dist/v2/durable-core/schemas/execution-snapshot/blocked-snapshot.d.ts +141 -21
  48. package/dist/v2/durable-core/schemas/execution-snapshot/blocked-snapshot.js +10 -1
  49. package/dist/v2/durable-core/schemas/execution-snapshot/execution-snapshot.v1.d.ts +729 -171
  50. package/dist/v2/durable-core/schemas/export-bundle/index.d.ts +1442 -202
  51. package/dist/v2/durable-core/schemas/session/events.d.ts +231 -8
  52. package/dist/v2/durable-core/schemas/session/events.js +36 -0
  53. package/dist/v2/durable-core/schemas/session/gaps.d.ts +2 -2
  54. package/dist/v2/projections/assessment-consequences.d.ts +19 -0
  55. package/dist/v2/projections/assessment-consequences.js +33 -0
  56. package/dist/v2/projections/assessments.d.ts +21 -0
  57. package/dist/v2/projections/assessments.js +35 -0
  58. package/dist/v2/projections/resume-ranking.d.ts +1 -0
  59. package/dist/v2/projections/resume-ranking.js +12 -24
  60. package/package.json +1 -1
  61. package/spec/workflow.schema.json +110 -0
  62. package/workflows/bug-investigation.agentic.v2.json +28 -2
  63. package/workflows/mr-review-workflow.agentic.v2.json +10 -5
  64. package/workflows/test-artifact-loop-control.json +28 -2
@@ -589,6 +589,59 @@ let ValidationEngine = ValidationEngine_1 = class ValidationEngine {
589
589
  }
590
590
  }
591
591
  }
592
+ const assessments = workflow.definition.assessments ?? [];
593
+ const declaredAssessmentIds = new Set();
594
+ if (assessments.length > 0) {
595
+ for (const assessment of assessments) {
596
+ if (!assessment.id || typeof assessment.id !== 'string') {
597
+ issues.push(`Assessment definition has missing or empty id`);
598
+ continue;
599
+ }
600
+ if (declaredAssessmentIds.has(assessment.id)) {
601
+ issues.push(`assessments has duplicate id '${assessment.id}'`);
602
+ suggestions.push('Each assessment id must be unique within assessments');
603
+ }
604
+ declaredAssessmentIds.add(assessment.id);
605
+ if (!assessment.purpose || typeof assessment.purpose !== 'string') {
606
+ issues.push(`Assessment '${assessment.id}': purpose must be a non-empty string`);
607
+ }
608
+ if (!Array.isArray(assessment.dimensions) || assessment.dimensions.length === 0) {
609
+ issues.push(`Assessment '${assessment.id}': dimensions must contain at least one dimension`);
610
+ continue;
611
+ }
612
+ const seenDimensionIds = new Set();
613
+ for (const dimension of assessment.dimensions) {
614
+ if (!dimension.id || typeof dimension.id !== 'string') {
615
+ issues.push(`Assessment '${assessment.id}': dimension has missing or empty id`);
616
+ continue;
617
+ }
618
+ if (seenDimensionIds.has(dimension.id)) {
619
+ issues.push(`Assessment '${assessment.id}': dimensions has duplicate id '${dimension.id}'`);
620
+ suggestions.push(`Each dimension id must be unique within assessment '${assessment.id}'`);
621
+ }
622
+ seenDimensionIds.add(dimension.id);
623
+ if (!dimension.purpose || typeof dimension.purpose !== 'string') {
624
+ issues.push(`Assessment '${assessment.id}' dimension '${dimension.id}': purpose must be a non-empty string`);
625
+ }
626
+ if (!Array.isArray(dimension.levels) || dimension.levels.length < 2) {
627
+ issues.push(`Assessment '${assessment.id}' dimension '${dimension.id}': levels must contain at least two values`);
628
+ continue;
629
+ }
630
+ const seenLevels = new Set();
631
+ for (const level of dimension.levels) {
632
+ if (!level || typeof level !== 'string') {
633
+ issues.push(`Assessment '${assessment.id}' dimension '${dimension.id}': levels must be non-empty strings`);
634
+ continue;
635
+ }
636
+ if (seenLevels.has(level)) {
637
+ issues.push(`Assessment '${assessment.id}' dimension '${dimension.id}': levels has duplicate value '${level}'`);
638
+ suggestions.push(`Each level must be unique within assessment '${assessment.id}' dimension '${dimension.id}'`);
639
+ }
640
+ seenLevels.add(level);
641
+ }
642
+ }
643
+ }
644
+ }
592
645
  const stepIds = new Set();
593
646
  for (const step of workflow.definition.steps) {
594
647
  if (stepIds.has(step.id)) {
@@ -597,6 +650,75 @@ let ValidationEngine = ValidationEngine_1 = class ValidationEngine {
597
650
  }
598
651
  stepIds.add(step.id);
599
652
  }
653
+ const validateAssessmentRefsForStep = (step, stepLabel) => {
654
+ if (step.assessmentRefs === undefined)
655
+ return;
656
+ if (step.assessmentRefs.length === 0) {
657
+ issues.push(`${stepLabel}: assessmentRefs must not be empty when declared`);
658
+ }
659
+ if (declaredAssessmentIds.size === 0) {
660
+ issues.push(`${stepLabel}: declares assessmentRefs but workflow declares no assessments`);
661
+ suggestions.push('Add an assessments array to the workflow definition');
662
+ return;
663
+ }
664
+ const seenAssessmentRefs = new Set();
665
+ for (const assessmentRef of step.assessmentRefs) {
666
+ if (!assessmentRef || typeof assessmentRef !== 'string') {
667
+ issues.push(`${stepLabel}: assessmentRefs must contain non-empty strings`);
668
+ continue;
669
+ }
670
+ if (seenAssessmentRefs.has(assessmentRef)) {
671
+ issues.push(`${stepLabel}: assessmentRefs has duplicate value '${assessmentRef}'`);
672
+ suggestions.push(`Each assessmentRef must be unique within ${stepLabel}`);
673
+ }
674
+ seenAssessmentRefs.add(assessmentRef);
675
+ if (!declaredAssessmentIds.has(assessmentRef)) {
676
+ issues.push(`${stepLabel}: assessmentRef '${assessmentRef}' references undeclared assessment. Declared assessments: [${[...declaredAssessmentIds].join(', ')}]`);
677
+ suggestions.push(`Add an assessment with id '${assessmentRef}' to the workflow definition`);
678
+ }
679
+ }
680
+ };
681
+ const validateAssessmentConsequencesForStep = (step, stepLabel) => {
682
+ if (step.assessmentConsequences === undefined)
683
+ return;
684
+ if (step.assessmentConsequences.length === 0) {
685
+ issues.push(`${stepLabel}: assessmentConsequences must not be empty when declared`);
686
+ return;
687
+ }
688
+ if (!step.assessmentRefs || step.assessmentRefs.length !== 1) {
689
+ issues.push(`${stepLabel}: assessmentConsequences require exactly one assessmentRef on the same step`);
690
+ suggestions.push(`Add exactly one assessmentRef to ${stepLabel} before declaring assessmentConsequences`);
691
+ return;
692
+ }
693
+ if (step.assessmentConsequences.length > 1) {
694
+ issues.push(`${stepLabel}: v1 assessment support allows exactly one assessment consequence per step`);
695
+ suggestions.push(`Reduce assessmentConsequences on ${stepLabel} to a single declaration`);
696
+ }
697
+ const assessmentDefinition = assessments.find(assessment => assessment.id === step.assessmentRefs?.[0]);
698
+ if (!assessmentDefinition)
699
+ return;
700
+ for (const consequence of step.assessmentConsequences) {
701
+ const trigger = consequence.when;
702
+ const effect = consequence.effect;
703
+ const dimension = assessmentDefinition.dimensions.find(candidate => candidate.id === trigger.dimensionId);
704
+ if (!dimension) {
705
+ issues.push(`${stepLabel}: assessment consequence references unknown dimension '${trigger.dimensionId}' for assessment '${assessmentDefinition.id}'`);
706
+ suggestions.push(`Use one of the declared dimensions for assessment '${assessmentDefinition.id}': ${assessmentDefinition.dimensions.map(d => d.id).join(', ')}`);
707
+ continue;
708
+ }
709
+ if (!dimension.levels.includes(trigger.equalsLevel)) {
710
+ issues.push(`${stepLabel}: assessment consequence references undeclared level '${trigger.equalsLevel}' for dimension '${trigger.dimensionId}'`);
711
+ suggestions.push(`Use one of the declared levels for dimension '${trigger.dimensionId}': ${dimension.levels.join(', ')}`);
712
+ }
713
+ if (effect.kind !== 'require_followup') {
714
+ issues.push(`${stepLabel}: unsupported assessment consequence effect '${String(effect.kind)}'`);
715
+ suggestions.push(`Use the supported v1 effect kind 'require_followup'`);
716
+ }
717
+ if (!effect.guidance || typeof effect.guidance !== 'string') {
718
+ issues.push(`${stepLabel}: assessment consequence guidance must be a non-empty string`);
719
+ }
720
+ }
721
+ };
600
722
  for (const step of workflow.definition.steps) {
601
723
  if ((0, workflow_definition_1.isLoopStepDefinition)(step)) {
602
724
  const loopResult = this.validateLoopStep(step, workflow);
@@ -609,6 +731,12 @@ let ValidationEngine = ValidationEngine_1 = class ValidationEngine {
609
731
  info.push(...loopResult.info.map(i => `Step '${step.id}': ${i}`));
610
732
  }
611
733
  this.collectQuotedJsonValidationMessageWarnings(step, `Step '${step.id}'`, warnings);
734
+ if (Array.isArray(step.body)) {
735
+ for (const inlineStep of step.body) {
736
+ validateAssessmentRefsForStep(inlineStep, `Loop body step '${inlineStep.id}' in loop '${step.id}'`);
737
+ validateAssessmentConsequencesForStep(inlineStep, `Loop body step '${inlineStep.id}' in loop '${step.id}'`);
738
+ }
739
+ }
612
740
  }
613
741
  else {
614
742
  if (!step.id) {
@@ -652,6 +780,12 @@ let ValidationEngine = ValidationEngine_1 = class ValidationEngine {
652
780
  }
653
781
  }
654
782
  }
783
+ validateAssessmentRefsForStep(typedStep, `Step '${step.id}'`);
784
+ if (typedStep.assessmentRefs !== undefined && typedStep.assessmentRefs.length > 1) {
785
+ issues.push(`Step '${step.id}': v1 assessment support allows exactly one assessmentRef per step`);
786
+ suggestions.push(`Reduce assessmentRefs on step '${step.id}' to a single assessment id`);
787
+ }
788
+ validateAssessmentConsequencesForStep(typedStep, `Step '${step.id}'`);
655
789
  const callValidation = this.validateStepFunctionCalls(step, workflow.definition.functionDefinitions || []);
656
790
  if (!callValidation.valid) {
657
791
  issues.push(...callValidation.issues.map(i => `Step '${step.id}': ${i}`));
@@ -123,6 +123,46 @@ let WorkflowCompiler = class WorkflowCompiler {
123
123
  `Known contracts: ${index_1.LOOP_CONTROL_CONTRACT_REF}`));
124
124
  }
125
125
  }
126
+ const declaredAssessmentIds = new Set((workflow.definition.assessments ?? []).map(assessment => assessment.id));
127
+ for (const step of steps) {
128
+ const assessmentRefs = step.assessmentRefs;
129
+ if (!assessmentRefs)
130
+ continue;
131
+ for (const assessmentRef of assessmentRefs) {
132
+ if (!declaredAssessmentIds.has(assessmentRef)) {
133
+ return (0, neverthrow_1.err)(error_1.Err.invalidState(`Step '${step.id}' declares unknown assessmentRef '${assessmentRef}'. ` +
134
+ `Declared assessments: ${[...declaredAssessmentIds].join(', ')}`));
135
+ }
136
+ }
137
+ }
138
+ for (const step of steps) {
139
+ const typedStep = step;
140
+ const assessmentConsequences = typedStep.assessmentConsequences;
141
+ if (!assessmentConsequences)
142
+ continue;
143
+ if (!typedStep.assessmentRefs || typedStep.assessmentRefs.length !== 1) {
144
+ return (0, neverthrow_1.err)(error_1.Err.invalidState(`Step '${step.id}' declares assessmentConsequences but does not declare exactly one assessmentRef`));
145
+ }
146
+ const assessment = (workflow.definition.assessments ?? []).find(candidate => candidate.id === typedStep.assessmentRefs?.[0]);
147
+ if (!assessment) {
148
+ return (0, neverthrow_1.err)(error_1.Err.invalidState(`Step '${step.id}' declares assessmentConsequences for unknown assessmentRef '${typedStep.assessmentRefs[0]}'`));
149
+ }
150
+ if (assessmentConsequences.length > 1) {
151
+ return (0, neverthrow_1.err)(error_1.Err.invalidState(`Step '${step.id}' declares ${assessmentConsequences.length} assessment consequences. V1 supports exactly one assessment consequence per step.`));
152
+ }
153
+ for (const consequence of assessmentConsequences) {
154
+ const dimension = assessment.dimensions.find(candidate => candidate.id === consequence.when.dimensionId);
155
+ if (!dimension) {
156
+ return (0, neverthrow_1.err)(error_1.Err.invalidState(`Step '${step.id}' declares consequence on unknown dimension '${consequence.when.dimensionId}' for assessment '${assessment.id}'`));
157
+ }
158
+ if (!dimension.levels.includes(consequence.when.equalsLevel)) {
159
+ return (0, neverthrow_1.err)(error_1.Err.invalidState(`Step '${step.id}' declares consequence on unsupported level '${consequence.when.equalsLevel}' for dimension '${consequence.when.dimensionId}'. Declared levels: ${dimension.levels.join(', ')}`));
160
+ }
161
+ if (consequence.effect.kind !== 'require_followup') {
162
+ return (0, neverthrow_1.err)(error_1.Err.invalidState(`Step '${step.id}' declares unsupported assessment consequence effect '${String(consequence.effect.kind)}'`));
163
+ }
164
+ }
165
+ }
126
166
  const compiledLoops = new Map();
127
167
  const loopBodyStepIds = new Set();
128
168
  for (const step of steps) {
@@ -139,6 +179,20 @@ let WorkflowCompiler = class WorkflowCompiler {
139
179
  return (0, neverthrow_1.err)(error_1.Err.invalidState(`Loop body step '${bodyStep.id}' in loop '${loop.id}' declares unknown outputContract.contractRef '${ref}'. ` +
140
180
  `Known contracts: ${index_1.LOOP_CONTROL_CONTRACT_REF}`));
141
181
  }
182
+ const assessmentRefs = bodyStep.assessmentRefs;
183
+ if (assessmentRefs) {
184
+ for (const assessmentRef of assessmentRefs) {
185
+ if (!declaredAssessmentIds.has(assessmentRef)) {
186
+ return (0, neverthrow_1.err)(error_1.Err.invalidState(`Loop body step '${bodyStep.id}' in loop '${loop.id}' declares unknown assessmentRef '${assessmentRef}'. ` +
187
+ `Declared assessments: ${[...declaredAssessmentIds].join(', ')}`));
188
+ }
189
+ }
190
+ }
191
+ if (bodyStep.assessmentConsequences) {
192
+ if (!bodyStep.assessmentRefs || bodyStep.assessmentRefs.length !== 1) {
193
+ return (0, neverthrow_1.err)(error_1.Err.invalidState(`Loop body step '${bodyStep.id}' in loop '${loop.id}' declares assessmentConsequences but does not declare exactly one assessmentRef`));
194
+ }
195
+ }
142
196
  }
143
197
  const conditionSource = this.deriveConditionSource(loop, bodyResolved.value);
144
198
  compiledLoops.set(loop.id, {
@@ -126,16 +126,16 @@
126
126
  "bytes": 2122
127
127
  },
128
128
  "application/services/validation-engine.js": {
129
- "sha256": "05edc2d65f29fcdbb0a87738ee575dae06423dbb044d7af6bac56d7dba7dbede",
130
- "bytes": 40905
129
+ "sha256": "0d9dd22255122ab03695f229682b4f549497853aeeea2b15ee525c0278307881",
130
+ "bytes": 49615
131
131
  },
132
132
  "application/services/workflow-compiler.d.ts": {
133
133
  "sha256": "f51443e1c3e8e079a972dd032e8de3bcde7b82d891e9a3621a6357cc4fc0e30d",
134
134
  "bytes": 1718
135
135
  },
136
136
  "application/services/workflow-compiler.js": {
137
- "sha256": "af1354e5a3598d8596b5f8be02b30888e6366842e82f26e57f9129a6095b6c8c",
138
- "bytes": 10767
137
+ "sha256": "e2f2c832d6b714a5e41b147f51a58e0a3b7b63776917f4c8ff745741a02ad0cd",
138
+ "bytes": 14693
139
139
  },
140
140
  "application/services/workflow-interpreter.d.ts": {
141
141
  "sha256": "56b5b5ad06d42096deba9f0abe7642c18a355a1e598749aab1730df4e9847674",
@@ -733,45 +733,61 @@
733
733
  "sha256": "27b84fb8e8a5eb3d9652fbd36ed04d97dea28bb9497614b9b17b1aadb4259d0f",
734
734
  "bytes": 306
735
735
  },
736
+ "mcp/handlers/v2-advance-core/assessment-consequences.d.ts": {
737
+ "sha256": "74bfc4a2e54a370726ba28f46cf622000d3c92e74a97e604485900747c19c2c8",
738
+ "bytes": 831
739
+ },
740
+ "mcp/handlers/v2-advance-core/assessment-consequences.js": {
741
+ "sha256": "9e2a14687ee9e1ddebb57017fc3e8a5c924165866328f74ec33309dba0286b5d",
742
+ "bytes": 1186
743
+ },
744
+ "mcp/handlers/v2-advance-core/assessment-validation.d.ts": {
745
+ "sha256": "5721ca106bbbdddef33db1d392bbcfcaccd7c158c61255a8e578611b30d0efb9",
746
+ "bytes": 996
747
+ },
748
+ "mcp/handlers/v2-advance-core/assessment-validation.js": {
749
+ "sha256": "351461f5c0396e1164c31510b6447b341f8fab67cd5b222afb7cc53a7a9ab83f",
750
+ "bytes": 9229
751
+ },
736
752
  "mcp/handlers/v2-advance-core/event-builders.d.ts": {
737
- "sha256": "70ebbe3fcbf0059cd2bcbf7fb9fc02e128be8c15c15b9ac3f5a1d90dd5b377a9",
738
- "bytes": 2464
753
+ "sha256": "f1b55d2ee5bc003136470a8ebda67a866f58baf61c852ce07b653678970444b7",
754
+ "bytes": 2522
739
755
  },
740
756
  "mcp/handlers/v2-advance-core/event-builders.js": {
741
- "sha256": "cb510635b173965f6cb2af312289f0903600a7483376b8b7156351f5bcf1fbd2",
742
- "bytes": 5774
757
+ "sha256": "14489478832908bebcf09024d68ac7560c6946d89e28963c1af61230ba87be38",
758
+ "bytes": 5890
743
759
  },
744
760
  "mcp/handlers/v2-advance-core/index.d.ts": {
745
761
  "sha256": "7a641c5419b4f273feff454d465bb5c5f3b2c349cc5e0032ab41ab3c3ebd033f",
746
762
  "bytes": 3448
747
763
  },
748
764
  "mcp/handlers/v2-advance-core/index.js": {
749
- "sha256": "bcdaa5e283da9def40695b6c4b529b7dcc0861d748133377bb9ed62bdd28a2d2",
750
- "bytes": 7107
765
+ "sha256": "77974b05b56030ccd5a9b9cb959d082292e51dc37a88c5106aee5d4bc03d418c",
766
+ "bytes": 7945
751
767
  },
752
768
  "mcp/handlers/v2-advance-core/input-validation.d.ts": {
753
- "sha256": "d736f163f6673b30f653c63336a287cdfe99c9f58b601c7220ce441590f802ba",
754
- "bytes": 2081
769
+ "sha256": "be29f20b58a9f79a314a510dd9bc6ea1272a36419c67c65f68ef83d87f082309",
770
+ "bytes": 2785
755
771
  },
756
772
  "mcp/handlers/v2-advance-core/input-validation.js": {
757
- "sha256": "3ddc086926fbc2be02cf52115370c221883c542f89ab256ee52388d115b7ae83",
758
- "bytes": 3316
773
+ "sha256": "e8825974bb326a4e152259a23a007177e7bb505b4293823b96d4a97032fa045c",
774
+ "bytes": 4457
759
775
  },
760
776
  "mcp/handlers/v2-advance-core/outcome-blocked.d.ts": {
761
- "sha256": "4f49a588027929875a98c1212de40201512a023d4bf230f8d9e075cbdfa8421d",
762
- "bytes": 1014
777
+ "sha256": "4ac1452656965c7f5a191b72f7d6c0691bc6480f65c3c1e9c675203256650579",
778
+ "bytes": 1123
763
779
  },
764
780
  "mcp/handlers/v2-advance-core/outcome-blocked.js": {
765
- "sha256": "78e3c2c6dd5352dfb90ec9a89aeab1692cdb3aea02f89522f34f748aa68a3487",
766
- "bytes": 3400
781
+ "sha256": "3e1b7c95432ed325a0f0494b72154146877cc437804bf4504a71c702095ac45e",
782
+ "bytes": 6090
767
783
  },
768
784
  "mcp/handlers/v2-advance-core/outcome-success.d.ts": {
769
785
  "sha256": "da1bcf2d275ba9f1c0f073446f3c87b67394161b0b69c669f70c758bc597c8be",
770
786
  "bytes": 936
771
787
  },
772
788
  "mcp/handlers/v2-advance-core/outcome-success.js": {
773
- "sha256": "b0e2f52b8843b067b1ca1c3aa6e797d3b6ad7bf175c46b1f036e70fc2174f992",
774
- "bytes": 6129
789
+ "sha256": "9356cb7cfb1e436c59945e9cf02b0179344f2c3605b9359980c6b7520f3adfb6",
790
+ "bytes": 7523
775
791
  },
776
792
  "mcp/handlers/v2-advance-events.d.ts": {
777
793
  "sha256": "02cdb52a2c16dd619645b5496caf0880e57937bf21ea9efe44e6cd195cd43b94",
@@ -858,8 +874,8 @@
858
874
  "bytes": 2570
859
875
  },
860
876
  "mcp/handlers/v2-execution/replay.js": {
861
- "sha256": "d6b5c83d5fffc88de425c64aa6571e7a469af4ee87e0088471c1ef05ff471b5e",
862
- "bytes": 8654
877
+ "sha256": "b801c9e38ba09be14774295c3eee264a6b6d840afb03aa679500e5e050ce1bcb",
878
+ "bytes": 9025
863
879
  },
864
880
  "mcp/handlers/v2-execution/start.d.ts": {
865
881
  "sha256": "14e91fa5531c3bbc05fd96157633d7de7cb4ccb8b85dfaad9c077afbe440a145",
@@ -942,12 +958,12 @@
942
958
  "bytes": 7991
943
959
  },
944
960
  "mcp/output-schemas.d.ts": {
945
- "sha256": "37e72221eb151903529bc2203f05d0504584980c441086397a1a00f72d910501",
946
- "bytes": 68013
961
+ "sha256": "f99509572620ccb0e45aea6ff1e4453d6197863854e46ac0f7b5f0bebb30f1c6",
962
+ "bytes": 72272
947
963
  },
948
964
  "mcp/output-schemas.js": {
949
- "sha256": "f390f2c853580c63dbaa204354dd2199f282e47c0bcd162d2accf3ab27d7ec04",
950
- "bytes": 15326
965
+ "sha256": "507b37eff083cd0b79d87f99afcbeef23bf916e8b10b695660afd2fef5a0ab6b",
966
+ "bytes": 16020
951
967
  },
952
968
  "mcp/render-envelope.d.ts": {
953
969
  "sha256": "22e83e1aba52968a7136cf289125a217b5f462a5a66a1eebe4669006e3326fdb",
@@ -1090,8 +1106,8 @@
1090
1106
  "bytes": 527
1091
1107
  },
1092
1108
  "mcp/v2-response-formatter.js": {
1093
- "sha256": "308cc7c1fedd491f5d38607869d4b4e1196bfcf450835a53d52154827b323e23",
1094
- "bytes": 22402
1109
+ "sha256": "b730d868ce6e1836894ca5da53fc9b9848082c4c2b466aa173c0e07ec48215e5",
1110
+ "bytes": 22672
1095
1111
  },
1096
1112
  "mcp/v2/tool-registry.d.ts": {
1097
1113
  "sha256": "d4d4927728c3cab1c014661d499dd0119538371bc6c5e821a4cd31df7abebedf",
@@ -1334,12 +1350,12 @@
1334
1350
  "bytes": 395
1335
1351
  },
1336
1352
  "types/workflow-definition.d.ts": {
1337
- "sha256": "0ef5f195dfb9783cf0fa73ee9a7523efd56816f6174a530cc24c3cb6468e5ce0",
1338
- "bytes": 4823
1353
+ "sha256": "052ef59dd8ee28dc2648eb5f30a60023af18bb92dcde9b0664cc035e42ca4f52",
1354
+ "bytes": 5796
1339
1355
  },
1340
1356
  "types/workflow-definition.js": {
1341
- "sha256": "1099b87129abeb986e19d5ec03006eaa83cbed9ab902e2b4401363a9e04b42dc",
1342
- "bytes": 1995
1357
+ "sha256": "204e7500d3d0dc91b1716199efb89af4776fb488546661e809f76be9333ea65c",
1358
+ "bytes": 2751
1343
1359
  },
1344
1360
  "types/workflow-source.d.ts": {
1345
1361
  "sha256": "ee439c36ac3002780837ff393120d08a1c21ef2641421cdf72f0e1449d0211eb",
@@ -1446,12 +1462,12 @@
1446
1462
  "bytes": 447
1447
1463
  },
1448
1464
  "v2/durable-core/constants.d.ts": {
1449
- "sha256": "2cdc1fe66cb2024e17977e024c73b9bb50845b70c9ac3925c2635e843a94f7f8",
1450
- "bytes": 3699
1465
+ "sha256": "6cc04b9df73eab34040758bf14faff83038330971180452e3776fae15ff77076",
1466
+ "bytes": 3890
1451
1467
  },
1452
1468
  "v2/durable-core/constants.js": {
1453
- "sha256": "29372d3e7f868b5c40d6270a1f39477a680524688e73b03613305fafef4a9553",
1454
- "bytes": 3558
1469
+ "sha256": "f64d1ec078cea9acfb8feb3681ac1cb4d01a83063a85cabb8c518d26c807cb46",
1470
+ "bytes": 3760
1455
1471
  },
1456
1472
  "v2/durable-core/domain/ack-advance-append-plan.d.ts": {
1457
1473
  "sha256": "2e802606656a0c1938192e5533aa46c74bc42789b5c315c79f6de4850017b30e",
@@ -1469,6 +1485,30 @@
1469
1485
  "sha256": "2bfc928afd5c11882f219e17db729cb18123952873312e12b9857697998061e6",
1470
1486
  "bytes": 3749
1471
1487
  },
1488
+ "v2/durable-core/domain/assessment-consequence-event-builder.d.ts": {
1489
+ "sha256": "9f35e91667653fe2228ccf199d1620c233a3291e7e7705931b116b250e94cef3",
1490
+ "bytes": 826
1491
+ },
1492
+ "v2/durable-core/domain/assessment-consequence-event-builder.js": {
1493
+ "sha256": "8a635f6c75777e58b0092e9e5394637cc15f64e97d987941f9de28b349c0bafb",
1494
+ "bytes": 1791
1495
+ },
1496
+ "v2/durable-core/domain/assessment-record.d.ts": {
1497
+ "sha256": "f4a302047c05850d7bbc42718d8f512db9d43cb456758b695d08f5b997856a9f",
1498
+ "bytes": 425
1499
+ },
1500
+ "v2/durable-core/domain/assessment-record.js": {
1501
+ "sha256": "d43aa81f5bc89faa359e0f97c814ba25155591ff078fbb9bfd40f8c7c9683230",
1502
+ "bytes": 77
1503
+ },
1504
+ "v2/durable-core/domain/assessment-recorded-event-builder.d.ts": {
1505
+ "sha256": "50371f5c496028c835d2f5b3508914ba1643f14fe2b4d2d78eb29347719a6bc7",
1506
+ "bytes": 824
1507
+ },
1508
+ "v2/durable-core/domain/assessment-recorded-event-builder.js": {
1509
+ "sha256": "070adad6e9bbb7abb3650c84f8e66535e7e9076783a67b18088bfaf970920072",
1510
+ "bytes": 2041
1511
+ },
1472
1512
  "v2/durable-core/domain/binding-drift.d.ts": {
1473
1513
  "sha256": "86ccd73b4e1a691b304b7c1f13712f9d226039eadc885f2a5d438864885804f5",
1474
1514
  "bytes": 424
@@ -1478,20 +1518,20 @@
1478
1518
  "bytes": 1397
1479
1519
  },
1480
1520
  "v2/durable-core/domain/blocked-node-builder.d.ts": {
1481
- "sha256": "0d3e3fcb9ddf99acc532de5022ee8aef8b7a310267dbe68fd914ed516ebde888",
1482
- "bytes": 880
1521
+ "sha256": "5d1db57eaedabdbd2a7f5eb38ca5b352f2cf9e8920c4e2cc796f2c671c972b40",
1522
+ "bytes": 881
1483
1523
  },
1484
1524
  "v2/durable-core/domain/blocked-node-builder.js": {
1485
- "sha256": "a5c69a1a31ad4a04a0c7924141df00ad7d47bf0653f88465f4d985316de344d4",
1486
- "bytes": 4107
1525
+ "sha256": "86b27d560a53c7c71675f09f819c990f15ebc40ca2cc30b323c7dab66a001f7f",
1526
+ "bytes": 4422
1487
1527
  },
1488
1528
  "v2/durable-core/domain/blocking-decision.d.ts": {
1489
- "sha256": "4cac7d676931cebbf8d2a80a212b295716836596938973d16371beede62e9932",
1490
- "bytes": 1256
1529
+ "sha256": "a4fec0752729839c51089c47d9d1ccde19281ce7fe6a936e92299628bee0ca11",
1530
+ "bytes": 1451
1491
1531
  },
1492
1532
  "v2/durable-core/domain/blocking-decision.js": {
1493
- "sha256": "784983173f0b9741b0784e7aa8fdaef34c36c9715f8c9dcdcb22132f89be058e",
1494
- "bytes": 2557
1533
+ "sha256": "7703948815013d458d877381c392a49634f4e06f15f7421044eb3c527a534999",
1534
+ "bytes": 3324
1495
1535
  },
1496
1536
  "v2/durable-core/domain/bundle-builder.d.ts": {
1497
1537
  "sha256": "cb08b33f82f7cab8ef1b5f441a531886a4e1d0fdff69105b121089dc2e790357",
@@ -1594,16 +1634,16 @@
1594
1634
  "bytes": 1175
1595
1635
  },
1596
1636
  "v2/durable-core/domain/prompt-renderer.js": {
1597
- "sha256": "2ac48cd9cdcecd19bec6bec710e6f45437f68a62df6fac60ce3eff1cdb821b32",
1598
- "bytes": 18266
1637
+ "sha256": "973f4a26c7d3030b9862ae9b75c1f4fb60f6b67bc4b53df46d2b1b327e088b05",
1638
+ "bytes": 18560
1599
1639
  },
1600
1640
  "v2/durable-core/domain/reason-model.d.ts": {
1601
- "sha256": "650fcb2d9969a4e6123cccbd4913f4d57aeab21a19bb907aa1e11f95e5a95089",
1602
- "bytes": 3762
1641
+ "sha256": "a944e7e0d9b3c73468488263cb0aa1e446c023f8084fd2af53cbda3f3bfcd37a",
1642
+ "bytes": 4131
1603
1643
  },
1604
1644
  "v2/durable-core/domain/reason-model.js": {
1605
- "sha256": "2ca2061fef0288b83b59a1f77c47ece03ec8fe16e017d9b2a5ceb4f6f2b79443",
1606
- "bytes": 11898
1645
+ "sha256": "e9dc68a51519348f52b534a32c1616bcbef4db950102c65183bab2100872569b",
1646
+ "bytes": 13689
1607
1647
  },
1608
1648
  "v2/durable-core/domain/recap-recovery.d.ts": {
1609
1649
  "sha256": "82e7b20a22d409f729ccf79d345c00a7e27f1898a465dfca4cd789ff7766a3d6",
@@ -1621,13 +1661,21 @@
1621
1661
  "sha256": "cc53453a1617b9adc526f7d3f49a40b1491bbe63dbaff98ddc187e1f8f6d125f",
1622
1662
  "bytes": 1454
1623
1663
  },
1664
+ "v2/durable-core/domain/retrieval-contract.d.ts": {
1665
+ "sha256": "9d130876a9584ab24fcb65e145958404d5636ff96ee1c5a02a2f64b219d5eda4",
1666
+ "bytes": 4747
1667
+ },
1668
+ "v2/durable-core/domain/retrieval-contract.js": {
1669
+ "sha256": "083a2e7d9fbbf4865f3960ad232774fd416b226919c3c39ea36e8ca3102df0cf",
1670
+ "bytes": 12217
1671
+ },
1624
1672
  "v2/durable-core/domain/risk-policy-guardrails.d.ts": {
1625
1673
  "sha256": "4720f9fe6e6ae68d7f989b31070d73661eb96652109dac7d30961e7937ff55e5",
1626
1674
  "bytes": 637
1627
1675
  },
1628
1676
  "v2/durable-core/domain/risk-policy-guardrails.js": {
1629
- "sha256": "da5c71be307bff6e0c479dba09439020461854c3d27ffcc9e9cb737891dfd114",
1630
- "bytes": 2719
1677
+ "sha256": "67c5ca85f6c9053356378f4d07f10ebd24cb061217d0d435d61c4359dd29214b",
1678
+ "bytes": 2764
1631
1679
  },
1632
1680
  "v2/durable-core/domain/start-construction.d.ts": {
1633
1681
  "sha256": "262f5efacaf65c9baed046538afd40dfc91f664c0f8d80765d2d584a36302768",
@@ -1638,12 +1686,12 @@
1638
1686
  "bytes": 1247
1639
1687
  },
1640
1688
  "v2/durable-core/domain/validation-criteria-validator.d.ts": {
1641
- "sha256": "9d130b9a641857696d510cad691dcfb02d5ac54138e11fbb58ae9305a4cb1987",
1642
- "bytes": 948
1689
+ "sha256": "09a56c34ac8004e7f8d055163cd1ba5f2f1934bc1a71ec257b89b22db60e11b7",
1690
+ "bytes": 1002
1643
1691
  },
1644
1692
  "v2/durable-core/domain/validation-criteria-validator.js": {
1645
- "sha256": "933651ba042c86e22d7b65820f97a54d2bcec009efa2856aea9649b03a44ee50",
1646
- "bytes": 2161
1693
+ "sha256": "0cee01b5e1a059dd0fd8c3b36aa8d696d68aade1d2f469d12a673c2c693aa2a6",
1694
+ "bytes": 2550
1647
1695
  },
1648
1696
  "v2/durable-core/domain/validation-event-builder.d.ts": {
1649
1697
  "sha256": "58cf3487f53e3a5e255871d94096133f1baf7f12ab3825cdc1e9789493677134",
@@ -1773,13 +1821,21 @@
1773
1821
  "sha256": "c858c64c95e4eb2c8874419c88c2e9fcc6d5634e83c53d589b83c29038f7f5c5",
1774
1822
  "bytes": 456
1775
1823
  },
1824
+ "v2/durable-core/schemas/artifacts/assessment.d.ts": {
1825
+ "sha256": "ad7f345026455625144db69e422956ee198537041fbf66e361a81868a38013e8",
1826
+ "bytes": 2000
1827
+ },
1828
+ "v2/durable-core/schemas/artifacts/assessment.js": {
1829
+ "sha256": "82b2cd8a2cc618e3bce3b1e79cb9c4edc3bbd1cd801eceda95dabea90fafbb10",
1830
+ "bytes": 1492
1831
+ },
1776
1832
  "v2/durable-core/schemas/artifacts/index.d.ts": {
1777
- "sha256": "0e19b4910a75efb834985a6409bbe1195fc11d81439ba92891dc3af4ee278369",
1778
- "bytes": 550
1833
+ "sha256": "82f39a33032b6b627862e82aa25d7761851eafe94421d03697770acd1df338e3",
1834
+ "bytes": 812
1779
1835
  },
1780
1836
  "v2/durable-core/schemas/artifacts/index.js": {
1781
- "sha256": "4d4e94b2694ff58a0ffec85d4693c65ec6d2056c540184787b15c6337d8ccacf",
1782
- "bytes": 1728
1837
+ "sha256": "f9afda3e1bb220994ad46f39ad9c3072d97c0cd012d679f25bd239339c7cd4ea",
1838
+ "bytes": 2770
1783
1839
  },
1784
1840
  "v2/durable-core/schemas/artifacts/loop-control.d.ts": {
1785
1841
  "sha256": "714e2980400da0aaf814c691d8915653393316e70bc9af9da72130bb07e959be",
@@ -1790,7 +1846,7 @@
1790
1846
  "bytes": 2115
1791
1847
  },
1792
1848
  "v2/durable-core/schemas/compiled-workflow/index.d.ts": {
1793
- "sha256": "e7adc0105bce4f60f4fc3ecfa158dd623ce09e78fe75ec90d5718197a3f7a301",
1849
+ "sha256": "451822411a8c1ca5236939b6dc7a58e0a00aa4cf82bcec67ce7cc38e942fa820",
1794
1850
  "bytes": 11821
1795
1851
  },
1796
1852
  "v2/durable-core/schemas/compiled-workflow/index.js": {
@@ -1798,16 +1854,16 @@
1798
1854
  "bytes": 2750
1799
1855
  },
1800
1856
  "v2/durable-core/schemas/execution-snapshot/blocked-snapshot.d.ts": {
1801
- "sha256": "278fa4bf5b42f7560382bd821ec706151bba0ab8fc7a17118dfcd02824757625",
1802
- "bytes": 24869
1857
+ "sha256": "2099e7c6bc521a3df16774eb2d6c0b9cad2b06f7360e7a0b5b98ad75d44fc2cb",
1858
+ "bytes": 29364
1803
1859
  },
1804
1860
  "v2/durable-core/schemas/execution-snapshot/blocked-snapshot.js": {
1805
- "sha256": "f952ec8411dff13e63376a426a7a0a0fdd172b197f01fbf321ec69ec7c1076e1",
1806
- "bytes": 4556
1861
+ "sha256": "688e01bd86d83a9fb81395202e6b61458c16deaf82ac7a7f59da79e26f83159b",
1862
+ "bytes": 5033
1807
1863
  },
1808
1864
  "v2/durable-core/schemas/execution-snapshot/execution-snapshot.v1.d.ts": {
1809
- "sha256": "d198ecbe4adde9cc3a7d0764d6720926b8e032dd4ee580aaacdcf15c6233e8e9",
1810
- "bytes": 196009
1865
+ "sha256": "0d79cbb904fc19969d510f90bfa9ad48cbb8dd13baafd92ac9f176b70bc153e0",
1866
+ "bytes": 222096
1811
1867
  },
1812
1868
  "v2/durable-core/schemas/execution-snapshot/execution-snapshot.v1.js": {
1813
1869
  "sha256": "485a8bfbb864a6dbac82559a968e903e8456469248772fc5f58826f669b06adf",
@@ -1830,8 +1886,8 @@
1830
1886
  "bytes": 3397
1831
1887
  },
1832
1888
  "v2/durable-core/schemas/export-bundle/index.d.ts": {
1833
- "sha256": "6521642cefd019f75dba36890b71c20c5508e04baef584a09557a4b98f894321",
1834
- "bytes": 479848
1889
+ "sha256": "b6a2bd6cc52249f438f14b729c6312dcd88604e66d094627f2e2d40e35f314e4",
1890
+ "bytes": 531598
1835
1891
  },
1836
1892
  "v2/durable-core/schemas/export-bundle/index.js": {
1837
1893
  "sha256": "6e3566b2d05ea6302bbf4d311b8ec3e94725a8523834efe7670a79e7bd7dc40d",
@@ -1886,15 +1942,15 @@
1886
1942
  "bytes": 2138
1887
1943
  },
1888
1944
  "v2/durable-core/schemas/session/events.d.ts": {
1889
- "sha256": "2948d5dfe89429a7365492930d5d0c6b9945eb95e8f47ed44fb7dbfe016beded",
1890
- "bytes": 73576
1945
+ "sha256": "f46d7b66a1fdaaf1a52b85a4a37d68b0ba9df0d00c2e83d5abfe023225089a6c",
1946
+ "bytes": 79553
1891
1947
  },
1892
1948
  "v2/durable-core/schemas/session/events.js": {
1893
- "sha256": "df053c99e92f16785864f7c91ce0de5eafd2a8d631e93cbb96a40cbfa4cdba14",
1894
- "bytes": 11149
1949
+ "sha256": "0be45be28e8498bdd390bbf4d8448158efa4ff8d1e92f1424256de59ed42bb4e",
1950
+ "bytes": 12744
1895
1951
  },
1896
1952
  "v2/durable-core/schemas/session/gaps.d.ts": {
1897
- "sha256": "b711f791c69ebc9c04b21928f1cebf124229b51ada8fead110843bf274ed688f",
1953
+ "sha256": "67c69dfec8280158c543b72e1fb728559a0ff7e5e0670d3e5b0fe28e68812080",
1898
1954
  "bytes": 8721
1899
1955
  },
1900
1956
  "v2/durable-core/schemas/session/gaps.js": {
@@ -2381,6 +2437,22 @@
2381
2437
  "sha256": "eb06aff128112850fdc8b3bfafae759500ca65aed279f096a077e000a9a1bf99",
2382
2438
  "bytes": 2033
2383
2439
  },
2440
+ "v2/projections/assessment-consequences.d.ts": {
2441
+ "sha256": "51849a78954a3eda76ffb8942e090fc513c604ab2c9418f1b3526a96b290fba1",
2442
+ "bytes": 1109
2443
+ },
2444
+ "v2/projections/assessment-consequences.js": {
2445
+ "sha256": "ce58072d2b3b27bba2179afba94a99b1d9dde6b8fad5f454605c0b15b8d79d99",
2446
+ "bytes": 1498
2447
+ },
2448
+ "v2/projections/assessments.d.ts": {
2449
+ "sha256": "cf0cca086b11715dbe40d51c4273ba67b6a656b1061ce2bba0dd2f2724e39881",
2450
+ "bytes": 1045
2451
+ },
2452
+ "v2/projections/assessments.js": {
2453
+ "sha256": "171980d259b26a97a83ed96bdcb373e58b784509cbdf380fac8d5355990e4cf0",
2454
+ "bytes": 1546
2455
+ },
2384
2456
  "v2/projections/capabilities.d.ts": {
2385
2457
  "sha256": "ee4c4bb728b5fc7343a43c9bb13a981a9bf0bd1b39e68ff8c866b4119012eac1",
2386
2458
  "bytes": 1011
@@ -2430,12 +2502,12 @@
2430
2502
  "bytes": 732
2431
2503
  },
2432
2504
  "v2/projections/resume-ranking.d.ts": {
2433
- "sha256": "b1d9e7d6fb3e59ced42f7c2e5fd9d8f9a18308aa6f4411a8aabf5dc174aa8dad",
2434
- "bytes": 3960
2505
+ "sha256": "3ac0db8e9d154eff9fba21c40eedaf981ea844d3f536f2b69b3840af8653b8f1",
2506
+ "bytes": 4033
2435
2507
  },
2436
2508
  "v2/projections/resume-ranking.js": {
2437
- "sha256": "1b256c992ded9ec52150b229799716d118ca2a3659a0cc523e727cde2ebf7b0c",
2438
- "bytes": 13660
2509
+ "sha256": "5f1ee9888446caa23653543fc8cae69ac4398e73232d71bac3d16722c9cd2158",
2510
+ "bytes": 13596
2439
2511
  },
2440
2512
  "v2/projections/run-context.d.ts": {
2441
2513
  "sha256": "a4d57470a435ac9860f60b3244d1b828853995027cd510d8da42762d21b2a687",