@praxisui/cron-builder 10.0.0-rc.44 → 10.0.0-rc.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai/component-registry.json +136 -8
- package/fesm2022/praxisui-cron-builder.mjs +44 -12
- package/package.json +3 -3
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-11-
|
|
3
|
+
"generatedAt": "2026-11-14T23:14:13.846Z",
|
|
4
4
|
"packageName": "@praxisui/cron-builder",
|
|
5
|
-
"packageVersion": "10.0.0-rc.
|
|
5
|
+
"packageVersion": "10.0.0-rc.45",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 1,
|
|
@@ -695,31 +695,95 @@
|
|
|
695
695
|
{
|
|
696
696
|
"kind": "expression",
|
|
697
697
|
"resolver": "schedule-expression",
|
|
698
|
+
"resolutionSpec": {
|
|
699
|
+
"strategy": "root-path",
|
|
700
|
+
"paths": [
|
|
701
|
+
"schedule.expression",
|
|
702
|
+
"value",
|
|
703
|
+
"schedule"
|
|
704
|
+
],
|
|
705
|
+
"allowIndex": false
|
|
706
|
+
},
|
|
698
707
|
"description": "Canonical CRON expression under schedule.expression or legacy value."
|
|
699
708
|
},
|
|
700
709
|
{
|
|
701
710
|
"kind": "frequency",
|
|
702
711
|
"resolver": "schedule-kind-and-recurrence",
|
|
712
|
+
"resolutionSpec": {
|
|
713
|
+
"strategy": "root-path",
|
|
714
|
+
"paths": [
|
|
715
|
+
"schedule.recurrence",
|
|
716
|
+
"schedule.kind",
|
|
717
|
+
"schedule"
|
|
718
|
+
],
|
|
719
|
+
"allowIndex": false
|
|
720
|
+
},
|
|
703
721
|
"description": "Business recurrence intent compiled into a canonical expression."
|
|
704
722
|
},
|
|
705
723
|
{
|
|
706
724
|
"kind": "timezone",
|
|
707
725
|
"resolver": "schedule-timezone",
|
|
726
|
+
"resolutionSpec": {
|
|
727
|
+
"strategy": "root-path",
|
|
728
|
+
"paths": [
|
|
729
|
+
"schedule.timezone",
|
|
730
|
+
"metadata.timezone",
|
|
731
|
+
"schedule",
|
|
732
|
+
"metadata"
|
|
733
|
+
],
|
|
734
|
+
"allowIndex": false
|
|
735
|
+
},
|
|
708
736
|
"description": "IANA timezone used for preview and schedule metadata."
|
|
709
737
|
},
|
|
710
738
|
{
|
|
711
739
|
"kind": "preview",
|
|
712
740
|
"resolver": "schedule-preview-config",
|
|
741
|
+
"resolutionSpec": {
|
|
742
|
+
"strategy": "root-path",
|
|
743
|
+
"paths": [
|
|
744
|
+
"preview",
|
|
745
|
+
"metadata",
|
|
746
|
+
"schedule"
|
|
747
|
+
],
|
|
748
|
+
"allowIndex": false
|
|
749
|
+
},
|
|
713
750
|
"description": "Read-only preview generation request for next occurrences."
|
|
714
751
|
},
|
|
715
752
|
{
|
|
716
753
|
"kind": "validation",
|
|
717
754
|
"resolver": "schedule-validation-request",
|
|
755
|
+
"resolutionSpec": {
|
|
756
|
+
"strategy": "root-path",
|
|
757
|
+
"paths": [
|
|
758
|
+
"diagnostics",
|
|
759
|
+
"schedule",
|
|
760
|
+
"value"
|
|
761
|
+
],
|
|
762
|
+
"allowIndex": false
|
|
763
|
+
},
|
|
718
764
|
"description": "Read-only validation diagnostics request for expression or schedule config."
|
|
719
765
|
},
|
|
720
766
|
{
|
|
721
767
|
"kind": "preset",
|
|
722
768
|
"resolver": "cron-preset-by-label-or-expression",
|
|
769
|
+
"resolutionSpec": {
|
|
770
|
+
"strategy": "array-match",
|
|
771
|
+
"paths": [
|
|
772
|
+
"metadata.presets",
|
|
773
|
+
"presets"
|
|
774
|
+
],
|
|
775
|
+
"matchFields": [
|
|
776
|
+
"label",
|
|
777
|
+
"cron",
|
|
778
|
+
"id"
|
|
779
|
+
],
|
|
780
|
+
"inputMatchFields": [
|
|
781
|
+
"labelOrCron",
|
|
782
|
+
"label",
|
|
783
|
+
"cron"
|
|
784
|
+
],
|
|
785
|
+
"allowIndex": false
|
|
786
|
+
},
|
|
723
787
|
"description": "Preset entry in metadata.presets[] or top-level presets[]."
|
|
724
788
|
}
|
|
725
789
|
],
|
|
@@ -732,6 +796,15 @@
|
|
|
732
796
|
"target": {
|
|
733
797
|
"kind": "expression",
|
|
734
798
|
"resolver": "schedule-expression",
|
|
799
|
+
"resolutionSpec": {
|
|
800
|
+
"strategy": "root-path",
|
|
801
|
+
"paths": [
|
|
802
|
+
"schedule.expression",
|
|
803
|
+
"value",
|
|
804
|
+
"schedule"
|
|
805
|
+
],
|
|
806
|
+
"allowIndex": false
|
|
807
|
+
},
|
|
735
808
|
"ambiguityPolicy": "fail",
|
|
736
809
|
"required": false
|
|
737
810
|
},
|
|
@@ -842,6 +915,15 @@
|
|
|
842
915
|
"target": {
|
|
843
916
|
"kind": "frequency",
|
|
844
917
|
"resolver": "schedule-kind-and-recurrence",
|
|
918
|
+
"resolutionSpec": {
|
|
919
|
+
"strategy": "root-path",
|
|
920
|
+
"paths": [
|
|
921
|
+
"schedule.recurrence",
|
|
922
|
+
"schedule.kind",
|
|
923
|
+
"schedule"
|
|
924
|
+
],
|
|
925
|
+
"allowIndex": false
|
|
926
|
+
},
|
|
845
927
|
"ambiguityPolicy": "fail",
|
|
846
928
|
"required": false
|
|
847
929
|
},
|
|
@@ -965,6 +1047,16 @@
|
|
|
965
1047
|
"target": {
|
|
966
1048
|
"kind": "timezone",
|
|
967
1049
|
"resolver": "schedule-timezone",
|
|
1050
|
+
"resolutionSpec": {
|
|
1051
|
+
"strategy": "root-path",
|
|
1052
|
+
"paths": [
|
|
1053
|
+
"schedule.timezone",
|
|
1054
|
+
"metadata.timezone",
|
|
1055
|
+
"schedule",
|
|
1056
|
+
"metadata"
|
|
1057
|
+
],
|
|
1058
|
+
"allowIndex": false
|
|
1059
|
+
},
|
|
968
1060
|
"ambiguityPolicy": "fail",
|
|
969
1061
|
"required": false
|
|
970
1062
|
},
|
|
@@ -1048,6 +1140,24 @@
|
|
|
1048
1140
|
"target": {
|
|
1049
1141
|
"kind": "preset",
|
|
1050
1142
|
"resolver": "cron-preset-by-label-or-expression",
|
|
1143
|
+
"resolutionSpec": {
|
|
1144
|
+
"strategy": "array-match",
|
|
1145
|
+
"paths": [
|
|
1146
|
+
"metadata.presets",
|
|
1147
|
+
"presets"
|
|
1148
|
+
],
|
|
1149
|
+
"matchFields": [
|
|
1150
|
+
"label",
|
|
1151
|
+
"cron",
|
|
1152
|
+
"id"
|
|
1153
|
+
],
|
|
1154
|
+
"inputMatchFields": [
|
|
1155
|
+
"labelOrCron",
|
|
1156
|
+
"label",
|
|
1157
|
+
"cron"
|
|
1158
|
+
],
|
|
1159
|
+
"allowIndex": false
|
|
1160
|
+
},
|
|
1051
1161
|
"ambiguityPolicy": "fail",
|
|
1052
1162
|
"required": true
|
|
1053
1163
|
},
|
|
@@ -1138,6 +1248,15 @@
|
|
|
1138
1248
|
"target": {
|
|
1139
1249
|
"kind": "validation",
|
|
1140
1250
|
"resolver": "schedule-validation-request",
|
|
1251
|
+
"resolutionSpec": {
|
|
1252
|
+
"strategy": "root-path",
|
|
1253
|
+
"paths": [
|
|
1254
|
+
"diagnostics",
|
|
1255
|
+
"schedule",
|
|
1256
|
+
"value"
|
|
1257
|
+
],
|
|
1258
|
+
"allowIndex": false
|
|
1259
|
+
},
|
|
1141
1260
|
"ambiguityPolicy": "fail",
|
|
1142
1261
|
"required": false
|
|
1143
1262
|
},
|
|
@@ -1238,6 +1357,15 @@
|
|
|
1238
1357
|
"target": {
|
|
1239
1358
|
"kind": "preview",
|
|
1240
1359
|
"resolver": "schedule-preview-config",
|
|
1360
|
+
"resolutionSpec": {
|
|
1361
|
+
"strategy": "root-path",
|
|
1362
|
+
"paths": [
|
|
1363
|
+
"preview",
|
|
1364
|
+
"metadata",
|
|
1365
|
+
"schedule"
|
|
1366
|
+
],
|
|
1367
|
+
"allowIndex": false
|
|
1368
|
+
},
|
|
1241
1369
|
"ambiguityPolicy": "fail",
|
|
1242
1370
|
"required": false
|
|
1243
1371
|
},
|
|
@@ -1633,9 +1761,9 @@
|
|
|
1633
1761
|
{
|
|
1634
1762
|
"chunkIndex": 11,
|
|
1635
1763
|
"chunkKind": "authoring_manifest",
|
|
1636
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.0.0\",\"componentId\":\"pdx-cron-builder\",\"ownerPackage\":\"@praxisui/cron-builder\",\"configSchemaId\":\"CronBuilderMetadata\",\"chunkSection\":\"editableTargets\",\"editableTargets\":[{\"kind\":\"expression\",\"resolver\":\"schedule-expression\",\"description\":\"Canonical CRON expression under schedule.expression or legacy value.\"},{\"kind\":\"frequency\",\"resolver\":\"schedule-kind-and-recurrence\",\"description\":\"Business recurrence intent compiled into a canonical expression.\"},{\"kind\":\"timezone\",\"resolver\":\"schedule-timezone\",\"description\":\"IANA timezone used for preview and schedule metadata.\"},{\"kind\":\"preview\",\"resolver\":\"schedule-preview-config\",\"description\":\"Read-only preview generation request for next occurrences.\"},{\"kind\":\"validation\",\"resolver\":\"schedule-validation-request\",\"description\":\"Read-only validation diagnostics request for expression or schedule config.\"},{\"kind\":\"preset\",\"resolver\":\"cron-preset-by-label-or-expression\",\"description\":\"Preset entry in metadata.presets[] or top-level presets[].\"}]}",
|
|
1764
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.0.0\",\"componentId\":\"pdx-cron-builder\",\"ownerPackage\":\"@praxisui/cron-builder\",\"configSchemaId\":\"CronBuilderMetadata\",\"chunkSection\":\"editableTargets\",\"editableTargets\":[{\"kind\":\"expression\",\"resolver\":\"schedule-expression\",\"resolutionSpec\":{\"strategy\":\"root-path\",\"paths\":[\"schedule.expression\",\"value\",\"schedule\"],\"allowIndex\":false},\"description\":\"Canonical CRON expression under schedule.expression or legacy value.\"},{\"kind\":\"frequency\",\"resolver\":\"schedule-kind-and-recurrence\",\"resolutionSpec\":{\"strategy\":\"root-path\",\"paths\":[\"schedule.recurrence\",\"schedule.kind\",\"schedule\"],\"allowIndex\":false},\"description\":\"Business recurrence intent compiled into a canonical expression.\"},{\"kind\":\"timezone\",\"resolver\":\"schedule-timezone\",\"resolutionSpec\":{\"strategy\":\"root-path\",\"paths\":[\"schedule.timezone\",\"metadata.timezone\",\"schedule\",\"metadata\"],\"allowIndex\":false},\"description\":\"IANA timezone used for preview and schedule metadata.\"},{\"kind\":\"preview\",\"resolver\":\"schedule-preview-config\",\"resolutionSpec\":{\"strategy\":\"root-path\",\"paths\":[\"preview\",\"metadata\",\"schedule\"],\"allowIndex\":false},\"description\":\"Read-only preview generation request for next occurrences.\"},{\"kind\":\"validation\",\"resolver\":\"schedule-validation-request\",\"resolutionSpec\":{\"strategy\":\"root-path\",\"paths\":[\"diagnostics\",\"schedule\",\"value\"],\"allowIndex\":false},\"description\":\"Read-only validation diagnostics request for expression or schedule config.\"},{\"kind\":\"preset\",\"resolver\":\"cron-preset-by-label-or-expression\",\"resolutionSpec\":{\"strategy\":\"array-match\",\"paths\":[\"metadata.presets\",\"presets\"],\"matchFields\":[\"label\",\"cron\",\"id\"],\"inputMatchFields\":[\"labelOrCron\",\"label\",\"cron\"],\"allowIndex\":false},\"description\":\"Preset entry in metadata.presets[] or top-level presets[].\"}]}",
|
|
1637
1765
|
"sourcePointer": "projects/praxis-cron-builder/src/lib/ai/praxis-cron-builder-authoring-manifest.ts",
|
|
1638
|
-
"contentHash": "
|
|
1766
|
+
"contentHash": "09a3be8fe4c432a36b3d046a622216f0fffe80b7991dab68d6c00a2607a4175b",
|
|
1639
1767
|
"sourceKind": "component_definition",
|
|
1640
1768
|
"sourceId": "pdx-cron-builder",
|
|
1641
1769
|
"corpusVersion": "1.0.0"
|
|
@@ -1643,9 +1771,9 @@
|
|
|
1643
1771
|
{
|
|
1644
1772
|
"chunkIndex": 12,
|
|
1645
1773
|
"chunkKind": "authoring_manifest",
|
|
1646
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.0.0\",\"componentId\":\"pdx-cron-builder\",\"ownerPackage\":\"@praxisui/cron-builder\",\"configSchemaId\":\"CronBuilderMetadata\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"cron.expression.set\",\"title\":\"Set CRON expression\",\"scope\":\"global\",\"targetKind\":\"expression\",\"target\":{\"kind\":\"expression\",\"resolver\":\"schedule-expression\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"cron\"],\"properties\":{\"cron\":{\"type\":\"string\"},\"dialect\":{\"enum\":[\"unix\",\"quartz\",\"aws-eventbridge\",\"kubernetes\",\"github-actions\",\"gcp-scheduler\"]},\"seconds\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"cron-expression-set\",\"handlerContract\":{\"reads\":[\"schedule.expression\",\"schedule.timezone\",\"metadata.timezone\",\"value\"],\"writes\":[\"schedule.kind\",\"schedule.expression\",\"value\",\"diagnostics\"],\"identityKeys\":[\"schedule.expression.cron\",\"schedule.expression.dialect\"],\"inputSchema\":{\"type\":\"object\",\"required\":[\"cron\"],\"properties\":{\"cron\":{\"type\":\"string\"},\"dialect\":{\"enum\":[\"unix\",\"quartz\",\"aws-eventbridge\",\"kubernetes\",\"github-actions\",\"gcp-scheduler\"]},\"seconds\":{\"type\":\"boolean\"}}},\"failureModes\":[\"invalid-expression\",\"invalid-dialect\",\"seconds-field-mismatch\"],\"description\":\"Validates and normalizes an explicit CRON expression before writing schedule.expression and the compatibility value.\"}}],\"destructive\":false,\"requiresConfirmation\":false,\"validators\":[\"cron-expression-valid\",\"cron-dialect-compatible\",\"editor-runtime-round-trip\"],\"affectedPaths\":[\"schedule.kind\",\"schedule.expression\",\"schedule.expression.cron\",\"schedule.expression.dialect\",\"schedule.expression.seconds\",\"value\",\"diagnostics\"],\"submissionImpact\":\"affects-submission\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"cron.frequency.set\",\"title\":\"Set schedule frequency\",\"scope\":\"global\",\"targetKind\":\"frequency\",\"target\":{\"kind\":\"frequency\",\"resolver\":\"schedule-kind-and-recurrence\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"kind\",\"recurrence\"],\"properties\":{\"kind\":{\"enum\":[\"once\",\"interval\",\"daily\",\"weekly\",\"monthly\",\"customCron\"]},\"recurrence\":{\"type\":\"object\"},\"dialect\":{\"enum\":[\"unix\",\"quartz\",\"aws-eventbridge\",\"kubernetes\",\"github-actions\",\"gcp-scheduler\"]}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"cron-frequency-to-expression\",\"handlerContract\":{\"reads\":[\"schedule.kind\",\"schedule.recurrence\",\"schedule.timezone\",\"schedule.expression.dialect\"],\"writes\":[\"schedule.kind\",\"schedule.recurrence\",\"schedule.expression\",\"value\"],\"identityKeys\":[\"schedule.kind\"],\"inputSchema\":{\"type\":\"object\",\"required\":[\"kind\",\"recurrence\"],\"properties\":{\"kind\":{\"enum\":[\"once\",\"interval\",\"daily\",\"weekly\",\"monthly\",\"customCron\"]},\"recurrence\":{\"type\":\"object\"},\"dialect\":{\"enum\":[\"unix\",\"quartz\",\"aws-eventbridge\",\"kubernetes\",\"github-actions\",\"gcp-scheduler\"]}}},\"failureModes\":[\"unsupported-kind\",\"non-portable-frequency\",\"invalid-recurrence\",\"cron-compile-failed\"],\"description\":\"Compiles structured recurrence intent through compileScheduleExpression and updates the canonical schedule expression only when diagnostics have no errors.\"}}],\"destructive\":false,\"requiresConfirmation\":false,\"validators\":[\"frequency-maps-to-canonical-expression\",\"cron-expression-valid\",\"diagnostics-before-patch\"],\"affectedPaths\":[\"schedule.kind\",\"schedule.recurrence\",\"schedule.expression\",\"value\"],\"submissionImpact\":\"affects-submission\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"cron.timezone.set\",\"title\":\"Set schedule timezone\",\"scope\":\"global\",\"targetKind\":\"timezone\",\"target\":{\"kind\":\"timezone\",\"resolver\":\"schedule-timezone\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"timezone\"],\"properties\":{\"timezone\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"cron-timezone-set\",\"handlerContract\":{\"reads\":[\"value\",\"schedule\",\"metadata.timezone\",\"metadata.previewOccurrences\",\"metadata.previewFrom\",\"metadata.locale\"],\"writes\":[\"schedule.timezone\",\"metadata.timezone\",\"preview\",\"diagnostics\"],\"identityKeys\":[\"schedule.expression.cron\",\"schedule.timezone\"],\"inputSchema\":{\"type\":\"object\",\"required\":[\"timezone\"],\"properties\":{\"timezone\":{\"type\":\"string\"}}},\"failureModes\":[\"invalid-timezone\",\"invalid-expression\",\"preview-generation-failed\"],\"description\":\"Sets the IANA timezone used by schedule and metadata, then regenerates preview/diagnostics from the same expression.\"}}],\"destructive\":false,\"requiresConfirmation\":false,\"validators\":[\"timezone-valid\",\"preview-matches-expression\",\"editor-runtime-round-trip\"],\"affectedPaths\":[\"schedule.timezone\",\"metadata.timezone\",\"preview\",\"diagnostics\"],\"submissionImpact\":\"affects-submission\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"cron.preset.apply\",\"title\":\"Apply CRON preset\",\"scope\":\"meta\",\"targetKind\":\"preset\",\"target\":{\"kind\":\"preset\",\"resolver\":\"cron-preset-by-label-or-expression\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"labelOrCron\"],\"properties\":{\"labelOrCron\":{\"type\":\"string\"},\"timezone\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"cron-preset-apply\",\"handlerContract\":{\"reads\":[\"metadata.presets[]\",\"presets[]\",\"schedule.timezone\",\"metadata.timezone\"],\"writes\":[\"schedule.kind\",\"schedule.expression\",\"schedule.timezone\",\"value\"],\"identityKeys\":[\"metadata.presets[].label\",\"metadata.presets[].cron\",\"presets[].label\",\"presets[].cron\"],\"inputSchema\":{\"type\":\"object\",\"required\":[\"labelOrCron\"],\"properties\":{\"labelOrCron\":{\"type\":\"string\"},\"timezone\":{\"type\":\"string\"}}},\"failureModes\":[\"preset-not-found\",\"preset-cron-invalid\",\"timezone-invalid\"],\"description\":\"Resolves a preset by label or cron, validates it through normalizeScheduleValue/createSchedulePreview, then applies the canonical expression.\"}}],\"destructive\":false,\"requiresConfirmation\":false,\"validators\":[\"preset-exists\",\"preset-maps-to-canonical-expression\",\"cron-expression-valid\"],\"affectedPaths\":[\"schedule.kind\",\"schedule.expression\",\"schedule.timezone\",\"value\"],\"submissionImpact\":\"affects-submission\",\"preconditions\":[\"config-initialized\",\"target-preset-exists\"]}
|
|
1774
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.0.0\",\"componentId\":\"pdx-cron-builder\",\"ownerPackage\":\"@praxisui/cron-builder\",\"configSchemaId\":\"CronBuilderMetadata\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"cron.expression.set\",\"title\":\"Set CRON expression\",\"scope\":\"global\",\"targetKind\":\"expression\",\"target\":{\"kind\":\"expression\",\"resolver\":\"schedule-expression\",\"resolutionSpec\":{\"strategy\":\"root-path\",\"paths\":[\"schedule.expression\",\"value\",\"schedule\"],\"allowIndex\":false},\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"cron\"],\"properties\":{\"cron\":{\"type\":\"string\"},\"dialect\":{\"enum\":[\"unix\",\"quartz\",\"aws-eventbridge\",\"kubernetes\",\"github-actions\",\"gcp-scheduler\"]},\"seconds\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"cron-expression-set\",\"handlerContract\":{\"reads\":[\"schedule.expression\",\"schedule.timezone\",\"metadata.timezone\",\"value\"],\"writes\":[\"schedule.kind\",\"schedule.expression\",\"value\",\"diagnostics\"],\"identityKeys\":[\"schedule.expression.cron\",\"schedule.expression.dialect\"],\"inputSchema\":{\"type\":\"object\",\"required\":[\"cron\"],\"properties\":{\"cron\":{\"type\":\"string\"},\"dialect\":{\"enum\":[\"unix\",\"quartz\",\"aws-eventbridge\",\"kubernetes\",\"github-actions\",\"gcp-scheduler\"]},\"seconds\":{\"type\":\"boolean\"}}},\"failureModes\":[\"invalid-expression\",\"invalid-dialect\",\"seconds-field-mismatch\"],\"description\":\"Validates and normalizes an explicit CRON expression before writing schedule.expression and the compatibility value.\"}}],\"destructive\":false,\"requiresConfirmation\":false,\"validators\":[\"cron-expression-valid\",\"cron-dialect-compatible\",\"editor-runtime-round-trip\"],\"affectedPaths\":[\"schedule.kind\",\"schedule.expression\",\"schedule.expression.cron\",\"schedule.expression.dialect\",\"schedule.expression.seconds\",\"value\",\"diagnostics\"],\"submissionImpact\":\"affects-submission\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"cron.frequency.set\",\"title\":\"Set schedule frequency\",\"scope\":\"global\",\"targetKind\":\"frequency\",\"target\":{\"kind\":\"frequency\",\"resolver\":\"schedule-kind-and-recurrence\",\"resolutionSpec\":{\"strategy\":\"root-path\",\"paths\":[\"schedule.recurrence\",\"schedule.kind\",\"schedule\"],\"allowIndex\":false},\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"kind\",\"recurrence\"],\"properties\":{\"kind\":{\"enum\":[\"once\",\"interval\",\"daily\",\"weekly\",\"monthly\",\"customCron\"]},\"recurrence\":{\"type\":\"object\"},\"dialect\":{\"enum\":[\"unix\",\"quartz\",\"aws-eventbridge\",\"kubernetes\",\"github-actions\",\"gcp-scheduler\"]}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"cron-frequency-to-expression\",\"handlerContract\":{\"reads\":[\"schedule.kind\",\"schedule.recurrence\",\"schedule.timezone\",\"schedule.expression.dialect\"],\"writes\":[\"schedule.kind\",\"schedule.recurrence\",\"schedule.expression\",\"value\"],\"identityKeys\":[\"schedule.kind\"],\"inputSchema\":{\"type\":\"object\",\"required\":[\"kind\",\"recurrence\"],\"properties\":{\"kind\":{\"enum\":[\"once\",\"interval\",\"daily\",\"weekly\",\"monthly\",\"customCron\"]},\"recurrence\":{\"type\":\"object\"},\"dialect\":{\"enum\":[\"unix\",\"quartz\",\"aws-eventbridge\",\"kubernetes\",\"github-actions\",\"gcp-scheduler\"]}}},\"failureModes\":[\"unsupported-kind\",\"non-portable-frequency\",\"invalid-recurrence\",\"cron-compile-failed\"],\"description\":\"Compiles structured recurrence intent through compileScheduleExpression and updates the canonical schedule expression only when diagnostics have no errors.\"}}],\"destructive\":false,\"requiresConfirmation\":false,\"validators\":[\"frequency-maps-to-canonical-expression\",\"cron-expression-valid\",\"diagnostics-before-patch\"],\"affectedPaths\":[\"schedule.kind\",\"schedule.recurrence\",\"schedule.expression\",\"value\"],\"submissionImpact\":\"affects-submission\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"cron.timezone.set\",\"title\":\"Set schedule timezone\",\"scope\":\"global\",\"targetKind\":\"timezone\",\"target\":{\"kind\":\"timezone\",\"resolver\":\"schedule-timezone\",\"resolutionSpec\":{\"strategy\":\"root-path\",\"paths\":[\"schedule.timezone\",\"metadata.timezone\",\"schedule\",\"metadata\"],\"allowIndex\":false},\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"timezone\"],\"properties\":{\"timezone\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"cron-timezone-set\",\"handlerContract\":{\"reads\":[\"value\",\"schedule\",\"metadata.timezone\",\"metadata.previewOccurrences\",\"metadata.previewFrom\",\"metadata.locale\"],\"writes\":[\"schedule.timezone\",\"metadata.timezone\",\"preview\",\"diagnostics\"],\"identityKeys\":[\"schedule.expression.cron\",\"schedule.timezone\"],\"inputSchema\":{\"type\":\"object\",\"required\":[\"timezone\"],\"properties\":{\"timezone\":{\"type\":\"string\"}}},\"failureModes\":[\"invalid-timezone\",\"invalid-expression\",\"preview-generation-failed\"],\"description\":\"Sets the IANA timezone used by schedule and metadata, then regenerates preview/diagnostics from the same expression.\"}}],\"destructive\":false,\"requiresConfirmation\":false,\"validators\":[\"timezone-valid\",\"preview-matches-expression\",\"editor-runtime-round-trip\"],\"affectedPaths\":[\"schedule.timezone\",\"metadata.timezone\",\"preview\",\"diagnostics\"],\"submissionImpact\":\"affects-submission\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"cron.preset.apply\",\"title\":\"Apply CRON preset\",\"scope\":\"meta\",\"targetKind\":\"preset\",\"target\":{\"kind\":\"preset\",\"resolver\":\"cron-preset-by-label-or-expression\",\"resolutionSpec\":{\"strategy\":\"array-match\",\"paths\":[\"metadata.presets\",\"presets\"],\"matchFields\":[\"label\",\"cron\",\"id\"],\"inputMatchFields\":[\"labelOrCron\",\"label\",\"cron\"],\"allowIndex\":false},\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"labelOrCron\"],\"properties\":{\"labelOrCron\":{\"type\":\"string\"},\"timezone\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"cron-preset-apply\",\"handlerContract\":{\"reads\":[\"metadata.presets[]\",\"presets[]\",\"schedule.timezone\",\"metadata.timezone\"],\"writes\":[\"schedule.kind\",\"schedule.expression\",\"schedule.timezone\",\"value\"],\"identityKeys\":[\"metadata.presets[].label\",\"metadata.presets[].cron\",\"presets[].label\",\"presets[].cron\"],\"inputSchema\":{\"type\":\"object\",\"required\":[\"labelOrCron\"],\"properties\":{\"labelOrCron\":{\"type\":\"string\"},\"timezone\":{\"type\":\"string\"}}},\"failureModes\":[\"preset-not-found\",\"preset-cron-invalid\",\"timezone-invalid\"],\"description\":\"Resolves a preset by label or cron, validates it through normalizeScheduleValue/createSchedulePreview, then applies the canonical expression.\"}}],\"destructive\":false,\"requiresConfirmation\":false,\"validators\":[\"preset-exists\",\"preset-maps-to-canonical-expression\",\"cron-expression-valid\"],\"affectedPaths\":[\"schedule.kind\",\"schedule.expression\",\"schedule.timezone\",\"value\"],\"submissionImpact\":\"affects-submission\",\"preconditions\":[\"config-initialized\",\"target-preset-exists\"]}]}",
|
|
1647
1775
|
"sourcePointer": "projects/praxis-cron-builder/src/lib/ai/praxis-cron-builder-authoring-manifest.ts",
|
|
1648
|
-
"contentHash": "
|
|
1776
|
+
"contentHash": "cdbb883989a4450f2c2cfaaf724b5506e6f54cd4f549a82cbbb4275f101548bf",
|
|
1649
1777
|
"sourceKind": "component_definition",
|
|
1650
1778
|
"sourceId": "pdx-cron-builder",
|
|
1651
1779
|
"corpusVersion": "1.0.0"
|
|
@@ -1653,9 +1781,9 @@
|
|
|
1653
1781
|
{
|
|
1654
1782
|
"chunkIndex": 13,
|
|
1655
1783
|
"chunkKind": "authoring_manifest",
|
|
1656
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.0.0\",\"componentId\":\"pdx-cron-builder\",\"ownerPackage\":\"@praxisui/cron-builder\",\"configSchemaId\":\"CronBuilderMetadata\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"cron.preview.generate\",\"title\":\"Generate schedule preview\",\"scope\":\"global\",\"targetKind\":\"preview\",\"target\":{\"kind\":\"preview\",\"resolver\":\"schedule-preview-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"properties\":{\"occurrences\":{\"type\":\"number\"},\"from\":{\"type\":\"string\"},\"timezone\":{\"type\":\"string\"},\"locale\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"cron-preview-generate\",\"handlerContract\":{\"reads\":[\"value\",\"schedule\",\"metadata.previewOccurrences\",\"metadata.previewFrom\",\"metadata.timezone\",\"metadata.locale\"],\"writes\":[\"preview\",\"diagnostics\"],\"identityKeys\":[\"schedule.expression.cron\",\"schedule.timezone\",\"metadata.previewFrom\"],\"inputSchema\":{\"type\":\"object\",\"properties\":{\"occurrences\":{\"type\":\"number\"},\"from\":{\"type\":\"string\"},\"timezone\":{\"type\":\"string\"},\"locale\":{\"type\":\"string\"}}},\"failureModes\":[\"invalid-expression\",\"invalid-timezone\",\"preview-empty\",\"diagnostics-contain-errors\"],\"description\":\"Runs createSchedulePreview and returns read-only preview occurrences plus diagnostics; it does not patch the schedule when validation fails.\"}}],\"destructive\":false,\"requiresConfirmation\":false,\"validators\":[\"preview-matches-expression\",\"timezone-valid\",\"invalid-schedules-return-diagnostics\"],\"affectedPaths\":[\"preview\",\"diagnostics\"],\"submissionImpact\":\"none\",\"preconditions\":[\"config-initialized\"]}]}",
|
|
1784
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.0.0\",\"componentId\":\"pdx-cron-builder\",\"ownerPackage\":\"@praxisui/cron-builder\",\"configSchemaId\":\"CronBuilderMetadata\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"cron.validate\",\"title\":\"Validate schedule\",\"scope\":\"global\",\"targetKind\":\"validation\",\"target\":{\"kind\":\"validation\",\"resolver\":\"schedule-validation-request\",\"resolutionSpec\":{\"strategy\":\"root-path\",\"paths\":[\"diagnostics\",\"schedule\",\"value\"],\"allowIndex\":false},\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"properties\":{\"cron\":{\"type\":\"string\"},\"schedule\":{\"type\":\"object\"},\"timezone\":{\"type\":\"string\"},\"dialect\":{\"enum\":[\"unix\",\"quartz\",\"aws-eventbridge\",\"kubernetes\",\"github-actions\",\"gcp-scheduler\"]}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"cron-validation-diagnostics\",\"handlerContract\":{\"reads\":[\"value\",\"schedule\",\"metadata.timezone\"],\"writes\":[\"diagnostics\"],\"identityKeys\":[\"schedule.expression.cron\",\"schedule.timezone\"],\"inputSchema\":{\"type\":\"object\",\"properties\":{\"cron\":{\"type\":\"string\"},\"schedule\":{\"type\":\"object\"},\"timezone\":{\"type\":\"string\"},\"dialect\":{\"enum\":[\"unix\",\"quartz\",\"aws-eventbridge\",\"kubernetes\",\"github-actions\",\"gcp-scheduler\"]}}},\"failureModes\":[\"invalid-expression\",\"invalid-timezone\",\"invalid-recurrence\"],\"description\":\"Runs normalizeScheduleValue and validateScheduleAuthoringConfig and returns diagnostics without mutating schedule/value paths.\"}}],\"destructive\":false,\"requiresConfirmation\":false,\"validators\":[\"invalid-schedules-return-diagnostics\",\"cron-expression-valid\",\"timezone-valid\"],\"affectedPaths\":[\"diagnostics\"],\"submissionImpact\":\"none\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"cron.preview.generate\",\"title\":\"Generate schedule preview\",\"scope\":\"global\",\"targetKind\":\"preview\",\"target\":{\"kind\":\"preview\",\"resolver\":\"schedule-preview-config\",\"resolutionSpec\":{\"strategy\":\"root-path\",\"paths\":[\"preview\",\"metadata\",\"schedule\"],\"allowIndex\":false},\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"properties\":{\"occurrences\":{\"type\":\"number\"},\"from\":{\"type\":\"string\"},\"timezone\":{\"type\":\"string\"},\"locale\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"cron-preview-generate\",\"handlerContract\":{\"reads\":[\"value\",\"schedule\",\"metadata.previewOccurrences\",\"metadata.previewFrom\",\"metadata.timezone\",\"metadata.locale\"],\"writes\":[\"preview\",\"diagnostics\"],\"identityKeys\":[\"schedule.expression.cron\",\"schedule.timezone\",\"metadata.previewFrom\"],\"inputSchema\":{\"type\":\"object\",\"properties\":{\"occurrences\":{\"type\":\"number\"},\"from\":{\"type\":\"string\"},\"timezone\":{\"type\":\"string\"},\"locale\":{\"type\":\"string\"}}},\"failureModes\":[\"invalid-expression\",\"invalid-timezone\",\"preview-empty\",\"diagnostics-contain-errors\"],\"description\":\"Runs createSchedulePreview and returns read-only preview occurrences plus diagnostics; it does not patch the schedule when validation fails.\"}}],\"destructive\":false,\"requiresConfirmation\":false,\"validators\":[\"preview-matches-expression\",\"timezone-valid\",\"invalid-schedules-return-diagnostics\"],\"affectedPaths\":[\"preview\",\"diagnostics\"],\"submissionImpact\":\"none\",\"preconditions\":[\"config-initialized\"]}]}",
|
|
1657
1785
|
"sourcePointer": "projects/praxis-cron-builder/src/lib/ai/praxis-cron-builder-authoring-manifest.ts",
|
|
1658
|
-
"contentHash": "
|
|
1786
|
+
"contentHash": "1ee6bd1415f90e936613b08e033c187d855722336312e0f9e575a7f8e5f32577",
|
|
1659
1787
|
"sourceKind": "component_definition",
|
|
1660
1788
|
"sourceId": "pdx-cron-builder",
|
|
1661
1789
|
"corpusVersion": "1.0.0"
|
|
@@ -1353,6 +1353,38 @@ const CRON_BUILDER_AI_CAPABILITIES = {
|
|
|
1353
1353
|
],
|
|
1354
1354
|
};
|
|
1355
1355
|
|
|
1356
|
+
const cronExpressionResolutionSpec = {
|
|
1357
|
+
strategy: 'root-path',
|
|
1358
|
+
paths: ['schedule.expression', 'value', 'schedule'],
|
|
1359
|
+
allowIndex: false,
|
|
1360
|
+
};
|
|
1361
|
+
const cronFrequencyResolutionSpec = {
|
|
1362
|
+
strategy: 'root-path',
|
|
1363
|
+
paths: ['schedule.recurrence', 'schedule.kind', 'schedule'],
|
|
1364
|
+
allowIndex: false,
|
|
1365
|
+
};
|
|
1366
|
+
const cronTimezoneResolutionSpec = {
|
|
1367
|
+
strategy: 'root-path',
|
|
1368
|
+
paths: ['schedule.timezone', 'metadata.timezone', 'schedule', 'metadata'],
|
|
1369
|
+
allowIndex: false,
|
|
1370
|
+
};
|
|
1371
|
+
const cronPreviewResolutionSpec = {
|
|
1372
|
+
strategy: 'root-path',
|
|
1373
|
+
paths: ['preview', 'metadata', 'schedule'],
|
|
1374
|
+
allowIndex: false,
|
|
1375
|
+
};
|
|
1376
|
+
const cronValidationResolutionSpec = {
|
|
1377
|
+
strategy: 'root-path',
|
|
1378
|
+
paths: ['diagnostics', 'schedule', 'value'],
|
|
1379
|
+
allowIndex: false,
|
|
1380
|
+
};
|
|
1381
|
+
const cronPresetResolutionSpec = {
|
|
1382
|
+
strategy: 'array-match',
|
|
1383
|
+
paths: ['metadata.presets', 'presets'],
|
|
1384
|
+
matchFields: ['label', 'cron', 'id'],
|
|
1385
|
+
inputMatchFields: ['labelOrCron', 'label', 'cron'],
|
|
1386
|
+
allowIndex: false,
|
|
1387
|
+
};
|
|
1356
1388
|
const PRAXIS_CRON_BUILDER_AUTHORING_MANIFEST = {
|
|
1357
1389
|
schemaVersion: '1.0.0',
|
|
1358
1390
|
componentId: 'pdx-cron-builder',
|
|
@@ -1365,12 +1397,12 @@ const PRAXIS_CRON_BUILDER_AUTHORING_MANIFEST = {
|
|
|
1365
1397
|
{ name: 'disabled', type: 'boolean', description: 'ControlValueAccessor disabled state.' },
|
|
1366
1398
|
],
|
|
1367
1399
|
editableTargets: [
|
|
1368
|
-
{ kind: 'expression', resolver: 'schedule-expression', description: 'Canonical CRON expression under schedule.expression or legacy value.' },
|
|
1369
|
-
{ kind: 'frequency', resolver: 'schedule-kind-and-recurrence', description: 'Business recurrence intent compiled into a canonical expression.' },
|
|
1370
|
-
{ kind: 'timezone', resolver: 'schedule-timezone', description: 'IANA timezone used for preview and schedule metadata.' },
|
|
1371
|
-
{ kind: 'preview', resolver: 'schedule-preview-config', description: 'Read-only preview generation request for next occurrences.' },
|
|
1372
|
-
{ kind: 'validation', resolver: 'schedule-validation-request', description: 'Read-only validation diagnostics request for expression or schedule config.' },
|
|
1373
|
-
{ kind: 'preset', resolver: 'cron-preset-by-label-or-expression', description: 'Preset entry in metadata.presets[] or top-level presets[].' },
|
|
1400
|
+
{ kind: 'expression', resolver: 'schedule-expression', resolutionSpec: cronExpressionResolutionSpec, description: 'Canonical CRON expression under schedule.expression or legacy value.' },
|
|
1401
|
+
{ kind: 'frequency', resolver: 'schedule-kind-and-recurrence', resolutionSpec: cronFrequencyResolutionSpec, description: 'Business recurrence intent compiled into a canonical expression.' },
|
|
1402
|
+
{ kind: 'timezone', resolver: 'schedule-timezone', resolutionSpec: cronTimezoneResolutionSpec, description: 'IANA timezone used for preview and schedule metadata.' },
|
|
1403
|
+
{ kind: 'preview', resolver: 'schedule-preview-config', resolutionSpec: cronPreviewResolutionSpec, description: 'Read-only preview generation request for next occurrences.' },
|
|
1404
|
+
{ kind: 'validation', resolver: 'schedule-validation-request', resolutionSpec: cronValidationResolutionSpec, description: 'Read-only validation diagnostics request for expression or schedule config.' },
|
|
1405
|
+
{ kind: 'preset', resolver: 'cron-preset-by-label-or-expression', resolutionSpec: cronPresetResolutionSpec, description: 'Preset entry in metadata.presets[] or top-level presets[].' },
|
|
1374
1406
|
],
|
|
1375
1407
|
operations: [
|
|
1376
1408
|
{
|
|
@@ -1378,7 +1410,7 @@ const PRAXIS_CRON_BUILDER_AUTHORING_MANIFEST = {
|
|
|
1378
1410
|
title: 'Set CRON expression',
|
|
1379
1411
|
scope: 'global',
|
|
1380
1412
|
targetKind: 'expression',
|
|
1381
|
-
target: { kind: 'expression', resolver: 'schedule-expression', ambiguityPolicy: 'fail', required: false },
|
|
1413
|
+
target: { kind: 'expression', resolver: 'schedule-expression', resolutionSpec: cronExpressionResolutionSpec, ambiguityPolicy: 'fail', required: false },
|
|
1382
1414
|
inputSchema: {
|
|
1383
1415
|
type: 'object',
|
|
1384
1416
|
required: ['cron'],
|
|
@@ -1420,7 +1452,7 @@ const PRAXIS_CRON_BUILDER_AUTHORING_MANIFEST = {
|
|
|
1420
1452
|
title: 'Set schedule frequency',
|
|
1421
1453
|
scope: 'global',
|
|
1422
1454
|
targetKind: 'frequency',
|
|
1423
|
-
target: { kind: 'frequency', resolver: 'schedule-kind-and-recurrence', ambiguityPolicy: 'fail', required: false },
|
|
1455
|
+
target: { kind: 'frequency', resolver: 'schedule-kind-and-recurrence', resolutionSpec: cronFrequencyResolutionSpec, ambiguityPolicy: 'fail', required: false },
|
|
1424
1456
|
inputSchema: {
|
|
1425
1457
|
type: 'object',
|
|
1426
1458
|
required: ['kind', 'recurrence'],
|
|
@@ -1462,7 +1494,7 @@ const PRAXIS_CRON_BUILDER_AUTHORING_MANIFEST = {
|
|
|
1462
1494
|
title: 'Set schedule timezone',
|
|
1463
1495
|
scope: 'global',
|
|
1464
1496
|
targetKind: 'timezone',
|
|
1465
|
-
target: { kind: 'timezone', resolver: 'schedule-timezone', ambiguityPolicy: 'fail', required: false },
|
|
1497
|
+
target: { kind: 'timezone', resolver: 'schedule-timezone', resolutionSpec: cronTimezoneResolutionSpec, ambiguityPolicy: 'fail', required: false },
|
|
1466
1498
|
inputSchema: { type: 'object', required: ['timezone'], properties: { timezone: { type: 'string' } } },
|
|
1467
1499
|
effects: [{
|
|
1468
1500
|
kind: 'compile-domain-patch',
|
|
@@ -1488,7 +1520,7 @@ const PRAXIS_CRON_BUILDER_AUTHORING_MANIFEST = {
|
|
|
1488
1520
|
title: 'Apply CRON preset',
|
|
1489
1521
|
scope: 'meta',
|
|
1490
1522
|
targetKind: 'preset',
|
|
1491
|
-
target: { kind: 'preset', resolver: 'cron-preset-by-label-or-expression', ambiguityPolicy: 'fail', required: true },
|
|
1523
|
+
target: { kind: 'preset', resolver: 'cron-preset-by-label-or-expression', resolutionSpec: cronPresetResolutionSpec, ambiguityPolicy: 'fail', required: true },
|
|
1492
1524
|
inputSchema: {
|
|
1493
1525
|
type: 'object',
|
|
1494
1526
|
required: ['labelOrCron'],
|
|
@@ -1528,7 +1560,7 @@ const PRAXIS_CRON_BUILDER_AUTHORING_MANIFEST = {
|
|
|
1528
1560
|
title: 'Validate schedule',
|
|
1529
1561
|
scope: 'global',
|
|
1530
1562
|
targetKind: 'validation',
|
|
1531
|
-
target: { kind: 'validation', resolver: 'schedule-validation-request', ambiguityPolicy: 'fail', required: false },
|
|
1563
|
+
target: { kind: 'validation', resolver: 'schedule-validation-request', resolutionSpec: cronValidationResolutionSpec, ambiguityPolicy: 'fail', required: false },
|
|
1532
1564
|
inputSchema: {
|
|
1533
1565
|
type: 'object',
|
|
1534
1566
|
properties: {
|
|
@@ -1570,7 +1602,7 @@ const PRAXIS_CRON_BUILDER_AUTHORING_MANIFEST = {
|
|
|
1570
1602
|
title: 'Generate schedule preview',
|
|
1571
1603
|
scope: 'global',
|
|
1572
1604
|
targetKind: 'preview',
|
|
1573
|
-
target: { kind: 'preview', resolver: 'schedule-preview-config', ambiguityPolicy: 'fail', required: false },
|
|
1605
|
+
target: { kind: 'preview', resolver: 'schedule-preview-config', resolutionSpec: cronPreviewResolutionSpec, ambiguityPolicy: 'fail', required: false },
|
|
1574
1606
|
inputSchema: {
|
|
1575
1607
|
type: 'object',
|
|
1576
1608
|
properties: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/cron-builder",
|
|
3
|
-
"version": "10.0.0-rc.
|
|
3
|
+
"version": "10.0.0-rc.45",
|
|
4
4
|
"description": "Cron expression builder utilities and components for Praxis UI.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^21.0.0",
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
"@angular/forms": "^21.0.0",
|
|
9
9
|
"@angular/cdk": "^21.0.0",
|
|
10
10
|
"@angular/material": "^21.0.0",
|
|
11
|
-
"@praxisui/core": "^10.0.0-rc.
|
|
12
|
-
"@praxisui/ai": "^10.0.0-rc.
|
|
11
|
+
"@praxisui/core": "^10.0.0-rc.45",
|
|
12
|
+
"@praxisui/ai": "^10.0.0-rc.45",
|
|
13
13
|
"rxjs": "~7.8.0"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|