@things-factory/ops-master 10.1.247 → 10.1.248
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/package.json +3 -3
- package/dist-client/bootstrap.d.ts +0 -19
- package/dist-client/bootstrap.js +0 -66
- package/dist-client/bootstrap.js.map +0 -1
- package/dist-client/index.d.ts +0 -17
- package/dist-client/index.js +0 -21
- package/dist-client/index.js.map +0 -1
- package/dist-client/master-change-approval.d.ts +0 -14
- package/dist-client/master-change-approval.js +0 -36
- package/dist-client/master-change-approval.js.map +0 -1
- package/dist-client/master-change-policy-axes.d.ts +0 -37
- package/dist-client/master-change-policy-axes.js +0 -29
- package/dist-client/master-change-policy-axes.js.map +0 -1
- package/dist-client/master-change-policy-panel.d.ts +0 -59
- package/dist-client/master-change-policy-panel.js +0 -454
- package/dist-client/master-change-policy-panel.js.map +0 -1
- package/dist-client/master-change-providers.d.ts +0 -4
- package/dist-client/master-change-providers.js +0 -91
- package/dist-client/master-change-providers.js.map +0 -1
- package/dist-client/pages/master/applied-when-dialog.d.ts +0 -48
- package/dist-client/pages/master/applied-when-dialog.js +0 -137
- package/dist-client/pages/master/applied-when-dialog.js.map +0 -1
- package/dist-client/pages/master/assignment-fields.d.ts +0 -27
- package/dist-client/pages/master/assignment-fields.js +0 -62
- package/dist-client/pages/master/assignment-fields.js.map +0 -1
- package/dist-client/pages/master/equipment-class.d.ts +0 -12
- package/dist-client/pages/master/equipment-class.js +0 -42
- package/dist-client/pages/master/equipment-class.js.map +0 -1
- package/dist-client/pages/master/equipment.d.ts +0 -12
- package/dist-client/pages/master/equipment.js +0 -58
- package/dist-client/pages/master/equipment.js.map +0 -1
- package/dist-client/pages/master/grist-iso-duration.d.ts +0 -20
- package/dist-client/pages/master/grist-iso-duration.js +0 -70
- package/dist-client/pages/master/grist-iso-duration.js.map +0 -1
- package/dist-client/pages/master/grist-reference.d.ts +0 -91
- package/dist-client/pages/master/grist-reference.js +0 -419
- package/dist-client/pages/master/grist-reference.js.map +0 -1
- package/dist-client/pages/master/import-rows.d.ts +0 -35
- package/dist-client/pages/master/import-rows.js +0 -66
- package/dist-client/pages/master/import-rows.js.map +0 -1
- package/dist-client/pages/master/iso-duration.d.ts +0 -34
- package/dist-client/pages/master/iso-duration.js +0 -76
- package/dist-client/pages/master/iso-duration.js.map +0 -1
- package/dist-client/pages/master/master-options.d.ts +0 -40
- package/dist-client/pages/master/master-options.js +0 -54
- package/dist-client/pages/master/master-options.js.map +0 -1
- package/dist-client/pages/master/master-page-base.d.ts +0 -369
- package/dist-client/pages/master/master-page-base.js +0 -657
- package/dist-client/pages/master/master-page-base.js.map +0 -1
- package/dist-client/pages/master/material-class.d.ts +0 -12
- package/dist-client/pages/master/material-class.js +0 -42
- package/dist-client/pages/master/material-class.js.map +0 -1
- package/dist-client/pages/master/material-definition.d.ts +0 -5
- package/dist-client/pages/master/material-definition.js +0 -14
- package/dist-client/pages/master/material-definition.js.map +0 -1
- package/dist-client/pages/master/material-revision-fields.d.ts +0 -2
- package/dist-client/pages/master/material-revision-fields.js +0 -43
- package/dist-client/pages/master/material-revision-fields.js.map +0 -1
- package/dist-client/pages/master/operation-definition.d.ts +0 -12
- package/dist-client/pages/master/operation-definition.js +0 -49
- package/dist-client/pages/master/operation-definition.js.map +0 -1
- package/dist-client/pages/master/operational-location.d.ts +0 -84
- package/dist-client/pages/master/operational-location.js +0 -432
- package/dist-client/pages/master/operational-location.js.map +0 -1
- package/dist-client/pages/master/person.d.ts +0 -12
- package/dist-client/pages/master/person.js +0 -41
- package/dist-client/pages/master/person.js.map +0 -1
- package/dist-client/pages/master/personnel-class.d.ts +0 -12
- package/dist-client/pages/master/personnel-class.js +0 -43
- package/dist-client/pages/master/personnel-class.js.map +0 -1
- package/dist-client/pages/master/physical-asset-class.d.ts +0 -12
- package/dist-client/pages/master/physical-asset-class.js +0 -40
- package/dist-client/pages/master/physical-asset-class.js.map +0 -1
- package/dist-client/pages/master/physical-asset.d.ts +0 -12
- package/dist-client/pages/master/physical-asset.js +0 -41
- package/dist-client/pages/master/physical-asset.js.map +0 -1
- package/dist-client/pages/master/recipe-definition.d.ts +0 -5
- package/dist-client/pages/master/recipe-definition.js +0 -14
- package/dist-client/pages/master/recipe-definition.js.map +0 -1
- package/dist-client/pages/master/reference-targets.d.ts +0 -42
- package/dist-client/pages/master/reference-targets.js +0 -82
- package/dist-client/pages/master/reference-targets.js.map +0 -1
- package/dist-client/pages/master/revision-comparison.d.ts +0 -49
- package/dist-client/pages/master/revision-comparison.js +0 -560
- package/dist-client/pages/master/revision-comparison.js.map +0 -1
- package/dist-client/pages/master/revision-view.d.ts +0 -34
- package/dist-client/pages/master/revision-view.js +0 -145
- package/dist-client/pages/master/revision-view.js.map +0 -1
- package/dist-client/pages/master/revision-workspace.d.ts +0 -50
- package/dist-client/pages/master/revision-workspace.js +0 -763
- package/dist-client/pages/master/revision-workspace.js.map +0 -1
- package/dist-client/pages/master/route-definition.d.ts +0 -19
- package/dist-client/pages/master/route-definition.js +0 -40
- package/dist-client/pages/master/route-definition.js.map +0 -1
- package/dist-client/pages/master/stop-reason.d.ts +0 -12
- package/dist-client/pages/master/stop-reason.js +0 -48
- package/dist-client/pages/master/stop-reason.js.map +0 -1
- package/dist-client/pages/master/test-specification.d.ts +0 -5
- package/dist-client/pages/master/test-specification.js +0 -14
- package/dist-client/pages/master/test-specification.js.map +0 -1
- package/dist-client/pages/master-axes.d.ts +0 -24
- package/dist-client/pages/master-axes.js +0 -39
- package/dist-client/pages/master-axes.js.map +0 -1
- package/dist-client/route.d.ts +0 -1
- package/dist-client/route.js +0 -81
- package/dist-client/route.js.map +0 -1
- package/dist-client/tsconfig.tsbuildinfo +0 -1
- package/dist-server/index.d.ts +0 -1
- package/dist-server/index.js +0 -19
- package/dist-server/index.js.map +0 -1
- package/dist-server/service/ai-entry/master-entry-rules.d.ts +0 -175
- package/dist-server/service/ai-entry/master-entry-rules.js +0 -302
- package/dist-server/service/ai-entry/master-entry-rules.js.map +0 -1
- package/dist-server/service/ai-entry/master-entry-targets.d.ts +0 -23
- package/dist-server/service/ai-entry/master-entry-targets.js +0 -293
- package/dist-server/service/ai-entry/master-entry-targets.js.map +0 -1
- package/dist-server/service/approval-route.d.ts +0 -37
- package/dist-server/service/approval-route.js +0 -34
- package/dist-server/service/approval-route.js.map +0 -1
- package/dist-server/service/asset/asset-lifecycle.d.ts +0 -106
- package/dist-server/service/asset/asset-lifecycle.js +0 -126
- package/dist-server/service/asset/asset-lifecycle.js.map +0 -1
- package/dist-server/service/asset/asset-master-resolver.d.ts +0 -53
- package/dist-server/service/asset/asset-master-resolver.js +0 -185
- package/dist-server/service/asset/asset-master-resolver.js.map +0 -1
- package/dist-server/service/asset/asset-master.d.ts +0 -21
- package/dist-server/service/asset/asset-master.js +0 -25
- package/dist-server/service/asset/asset-master.js.map +0 -1
- package/dist-server/service/asset/asset-query.d.ts +0 -16
- package/dist-server/service/asset/asset-query.js +0 -72
- package/dist-server/service/asset/asset-query.js.map +0 -1
- package/dist-server/service/asset/index.d.ts +0 -6
- package/dist-server/service/asset/index.js +0 -10
- package/dist-server/service/asset/index.js.map +0 -1
- package/dist-server/service/asset/physical-asset-class.d.ts +0 -34
- package/dist-server/service/asset/physical-asset-class.js +0 -104
- package/dist-server/service/asset/physical-asset-class.js.map +0 -1
- package/dist-server/service/asset/physical-asset.d.ts +0 -66
- package/dist-server/service/asset/physical-asset.js +0 -123
- package/dist-server/service/asset/physical-asset.js.map +0 -1
- package/dist-server/service/assignment/applied-when.d.ts +0 -24
- package/dist-server/service/assignment/applied-when.js +0 -16
- package/dist-server/service/assignment/applied-when.js.map +0 -1
- package/dist-server/service/assignment/assignment-history.d.ts +0 -92
- package/dist-server/service/assignment/assignment-history.js +0 -289
- package/dist-server/service/assignment/assignment-history.js.map +0 -1
- package/dist-server/service/assignment/assignment-write.d.ts +0 -42
- package/dist-server/service/assignment/assignment-write.js +0 -101
- package/dist-server/service/assignment/assignment-write.js.map +0 -1
- package/dist-server/service/assignment/master-value-claim.d.ts +0 -135
- package/dist-server/service/assignment/master-value-claim.js +0 -174
- package/dist-server/service/assignment/master-value-claim.js.map +0 -1
- package/dist-server/service/equipment/equipment-class.d.ts +0 -34
- package/dist-server/service/equipment/equipment-class.js +0 -104
- package/dist-server/service/equipment/equipment-class.js.map +0 -1
- package/dist-server/service/equipment/equipment-master-resolver.d.ts +0 -77
- package/dist-server/service/equipment/equipment-master-resolver.js +0 -266
- package/dist-server/service/equipment/equipment-master-resolver.js.map +0 -1
- package/dist-server/service/equipment/equipment-master.d.ts +0 -30
- package/dist-server/service/equipment/equipment-master.js +0 -53
- package/dist-server/service/equipment/equipment-master.js.map +0 -1
- package/dist-server/service/equipment/equipment-query.d.ts +0 -16
- package/dist-server/service/equipment/equipment-query.js +0 -72
- package/dist-server/service/equipment/equipment-query.js.map +0 -1
- package/dist-server/service/equipment/equipment.d.ts +0 -71
- package/dist-server/service/equipment/equipment.js +0 -138
- package/dist-server/service/equipment/equipment.js.map +0 -1
- package/dist-server/service/equipment/index.d.ts +0 -8
- package/dist-server/service/equipment/index.js +0 -12
- package/dist-server/service/equipment/index.js.map +0 -1
- package/dist-server/service/equipment/state-period-rules.d.ts +0 -95
- package/dist-server/service/equipment/state-period-rules.js +0 -122
- package/dist-server/service/equipment/state-period-rules.js.map +0 -1
- package/dist-server/service/equipment/stop-reason-query.d.ts +0 -11
- package/dist-server/service/equipment/stop-reason-query.js +0 -39
- package/dist-server/service/equipment/stop-reason-query.js.map +0 -1
- package/dist-server/service/equipment/stop-reason.d.ts +0 -58
- package/dist-server/service/equipment/stop-reason.js +0 -114
- package/dist-server/service/equipment/stop-reason.js.map +0 -1
- package/dist-server/service/index.d.ts +0 -82
- package/dist-server/service/index.js +0 -145
- package/dist-server/service/index.js.map +0 -1
- package/dist-server/service/location/index.d.ts +0 -5
- package/dist-server/service/location/index.js +0 -9
- package/dist-server/service/location/index.js.map +0 -1
- package/dist-server/service/location/location-master-resolver.d.ts +0 -60
- package/dist-server/service/location/location-master-resolver.js +0 -313
- package/dist-server/service/location/location-master-resolver.js.map +0 -1
- package/dist-server/service/location/location-master.d.ts +0 -26
- package/dist-server/service/location/location-master.js +0 -28
- package/dist-server/service/location/location-master.js.map +0 -1
- package/dist-server/service/location/location-query.d.ts +0 -15
- package/dist-server/service/location/location-query.js +0 -56
- package/dist-server/service/location/location-query.js.map +0 -1
- package/dist-server/service/location/operational-location.d.ts +0 -116
- package/dist-server/service/location/operational-location.js +0 -157
- package/dist-server/service/location/operational-location.js.map +0 -1
- package/dist-server/service/master-axis.d.ts +0 -40
- package/dist-server/service/master-axis.js +0 -57
- package/dist-server/service/master-axis.js.map +0 -1
- package/dist-server/service/master-change-approval/approval-input.d.ts +0 -17
- package/dist-server/service/master-change-approval/approval-input.js +0 -35
- package/dist-server/service/master-change-approval/approval-input.js.map +0 -1
- package/dist-server/service/master-change-approval/builtin-axes.d.ts +0 -4
- package/dist-server/service/master-change-approval/builtin-axes.js +0 -96
- package/dist-server/service/master-change-approval/builtin-axes.js.map +0 -1
- package/dist-server/service/master-change-approval/index.d.ts +0 -14
- package/dist-server/service/master-change-approval/index.js +0 -37
- package/dist-server/service/master-change-approval/index.js.map +0 -1
- package/dist-server/service/master-change-approval/master-change-axis.d.ts +0 -54
- package/dist-server/service/master-change-approval/master-change-axis.js +0 -17
- package/dist-server/service/master-change-approval/master-change-axis.js.map +0 -1
- package/dist-server/service/master-change-approval/master-change-flow.d.ts +0 -65
- package/dist-server/service/master-change-approval/master-change-flow.js +0 -125
- package/dist-server/service/master-change-approval/master-change-flow.js.map +0 -1
- package/dist-server/service/master-change-approval/master-change-resolver.d.ts +0 -18
- package/dist-server/service/master-change-approval/master-change-resolver.js +0 -58
- package/dist-server/service/master-change-approval/master-change-resolver.js.map +0 -1
- package/dist-server/service/master-change-policy.d.ts +0 -122
- package/dist-server/service/master-change-policy.js +0 -304
- package/dist-server/service/master-change-policy.js.map +0 -1
- package/dist-server/service/master-conformance-resolver.d.ts +0 -34
- package/dist-server/service/master-conformance-resolver.js +0 -153
- package/dist-server/service/master-conformance-resolver.js.map +0 -1
- package/dist-server/service/master-conformance.d.ts +0 -80
- package/dist-server/service/master-conformance.js +0 -266
- package/dist-server/service/master-conformance.js.map +0 -1
- package/dist-server/service/master-crud.d.ts +0 -55
- package/dist-server/service/master-crud.js +0 -93
- package/dist-server/service/master-crud.js.map +0 -1
- package/dist-server/service/master-list.d.ts +0 -12
- package/dist-server/service/master-list.js +0 -30
- package/dist-server/service/master-list.js.map +0 -1
- package/dist-server/service/master-page-query.d.ts +0 -33
- package/dist-server/service/master-page-query.js +0 -55
- package/dist-server/service/master-page-query.js.map +0 -1
- package/dist-server/service/master-page.d.ts +0 -85
- package/dist-server/service/master-page.js +0 -104
- package/dist-server/service/master-page.js.map +0 -1
- package/dist-server/service/material/index.d.ts +0 -7
- package/dist-server/service/material/index.js +0 -12
- package/dist-server/service/material/index.js.map +0 -1
- package/dist-server/service/material/material-axis-status.d.ts +0 -8
- package/dist-server/service/material/material-axis-status.js +0 -19
- package/dist-server/service/material/material-axis-status.js.map +0 -1
- package/dist-server/service/material/material-class.d.ts +0 -34
- package/dist-server/service/material/material-class.js +0 -104
- package/dist-server/service/material/material-class.js.map +0 -1
- package/dist-server/service/material/material-definition.d.ts +0 -45
- package/dist-server/service/material/material-definition.js +0 -125
- package/dist-server/service/material/material-definition.js.map +0 -1
- package/dist-server/service/material/material-effective-list.d.ts +0 -39
- package/dist-server/service/material/material-effective-list.js +0 -54
- package/dist-server/service/material/material-effective-list.js.map +0 -1
- package/dist-server/service/material/material-master-resolver.d.ts +0 -106
- package/dist-server/service/material/material-master-resolver.js +0 -351
- package/dist-server/service/material/material-master-resolver.js.map +0 -1
- package/dist-server/service/material/material-master.d.ts +0 -9
- package/dist-server/service/material/material-master.js +0 -24
- package/dist-server/service/material/material-master.js.map +0 -1
- package/dist-server/service/material/material-query.d.ts +0 -16
- package/dist-server/service/material/material-query.js +0 -79
- package/dist-server/service/material/material-query.js.map +0 -1
- package/dist-server/service/material/material-revision-content.d.ts +0 -10
- package/dist-server/service/material/material-revision-content.js +0 -92
- package/dist-server/service/material/material-revision-content.js.map +0 -1
- package/dist-server/service/material/material-revision-resolver.d.ts +0 -60
- package/dist-server/service/material/material-revision-resolver.js +0 -96
- package/dist-server/service/material/material-revision-resolver.js.map +0 -1
- package/dist-server/service/material/material-revision-service.d.ts +0 -179
- package/dist-server/service/material/material-revision-service.js +0 -687
- package/dist-server/service/material/material-revision-service.js.map +0 -1
- package/dist-server/service/material/material-revision.d.ts +0 -86
- package/dist-server/service/material/material-revision.js +0 -339
- package/dist-server/service/material/material-revision.js.map +0 -1
- package/dist-server/service/material/recipe-index.d.ts +0 -23
- package/dist-server/service/material/recipe-index.js +0 -44
- package/dist-server/service/material/recipe-index.js.map +0 -1
- package/dist-server/service/operation/index.d.ts +0 -6
- package/dist-server/service/operation/index.js +0 -10
- package/dist-server/service/operation/index.js.map +0 -1
- package/dist-server/service/operation/operation-definition.d.ts +0 -52
- package/dist-server/service/operation/operation-definition.js +0 -143
- package/dist-server/service/operation/operation-definition.js.map +0 -1
- package/dist-server/service/operation/operation-master-resolver.d.ts +0 -52
- package/dist-server/service/operation/operation-master-resolver.js +0 -187
- package/dist-server/service/operation/operation-master-resolver.js.map +0 -1
- package/dist-server/service/operation/operation-master.d.ts +0 -21
- package/dist-server/service/operation/operation-master.js +0 -28
- package/dist-server/service/operation/operation-master.js.map +0 -1
- package/dist-server/service/operation/operation-query.d.ts +0 -15
- package/dist-server/service/operation/operation-query.js +0 -56
- package/dist-server/service/operation/operation-query.js.map +0 -1
- package/dist-server/service/operation/operation-readiness-resolver.d.ts +0 -39
- package/dist-server/service/operation/operation-readiness-resolver.js +0 -111
- package/dist-server/service/operation/operation-readiness-resolver.js.map +0 -1
- package/dist-server/service/operation/operation-readiness.d.ts +0 -34
- package/dist-server/service/operation/operation-readiness.js +0 -133
- package/dist-server/service/operation/operation-readiness.js.map +0 -1
- package/dist-server/service/personnel/index.d.ts +0 -6
- package/dist-server/service/personnel/index.js +0 -10
- package/dist-server/service/personnel/index.js.map +0 -1
- package/dist-server/service/personnel/person.d.ts +0 -51
- package/dist-server/service/personnel/person.js +0 -119
- package/dist-server/service/personnel/person.js.map +0 -1
- package/dist-server/service/personnel/personnel-class-readiness.d.ts +0 -22
- package/dist-server/service/personnel/personnel-class-readiness.js +0 -98
- package/dist-server/service/personnel/personnel-class-readiness.js.map +0 -1
- package/dist-server/service/personnel/personnel-class.d.ts +0 -54
- package/dist-server/service/personnel/personnel-class.js +0 -114
- package/dist-server/service/personnel/personnel-class.js.map +0 -1
- package/dist-server/service/personnel/personnel-master-resolver.d.ts +0 -53
- package/dist-server/service/personnel/personnel-master-resolver.js +0 -187
- package/dist-server/service/personnel/personnel-master-resolver.js.map +0 -1
- package/dist-server/service/personnel/personnel-master.d.ts +0 -39
- package/dist-server/service/personnel/personnel-master.js +0 -34
- package/dist-server/service/personnel/personnel-master.js.map +0 -1
- package/dist-server/service/personnel/personnel-query.d.ts +0 -29
- package/dist-server/service/personnel/personnel-query.js +0 -79
- package/dist-server/service/personnel/personnel-query.js.map +0 -1
- package/dist-server/service/personnel/qualification.d.ts +0 -104
- package/dist-server/service/personnel/qualification.js +0 -147
- package/dist-server/service/personnel/qualification.js.map +0 -1
- package/dist-server/service/quality/index.d.ts +0 -4
- package/dist-server/service/quality/index.js +0 -8
- package/dist-server/service/quality/index.js.map +0 -1
- package/dist-server/service/quality/nonconformance-cause-resolver.d.ts +0 -12
- package/dist-server/service/quality/nonconformance-cause-resolver.js +0 -60
- package/dist-server/service/quality/nonconformance-cause-resolver.js.map +0 -1
- package/dist-server/service/quality/nonconformance-cause.d.ts +0 -20
- package/dist-server/service/quality/nonconformance-cause.js +0 -90
- package/dist-server/service/quality/nonconformance-cause.js.map +0 -1
- package/dist-server/service/recipe/index.d.ts +0 -10
- package/dist-server/service/recipe/index.js +0 -16
- package/dist-server/service/recipe/index.js.map +0 -1
- package/dist-server/service/recipe/recipe-definition.d.ts +0 -75
- package/dist-server/service/recipe/recipe-definition.js +0 -143
- package/dist-server/service/recipe/recipe-definition.js.map +0 -1
- package/dist-server/service/recipe/recipe-effective-list.d.ts +0 -49
- package/dist-server/service/recipe/recipe-effective-list.js +0 -96
- package/dist-server/service/recipe/recipe-effective-list.js.map +0 -1
- package/dist-server/service/recipe/recipe-master-resolver.d.ts +0 -28
- package/dist-server/service/recipe/recipe-master-resolver.js +0 -128
- package/dist-server/service/recipe/recipe-master-resolver.js.map +0 -1
- package/dist-server/service/recipe/recipe-master.d.ts +0 -37
- package/dist-server/service/recipe/recipe-master.js +0 -47
- package/dist-server/service/recipe/recipe-master.js.map +0 -1
- package/dist-server/service/recipe/recipe-query.d.ts +0 -21
- package/dist-server/service/recipe/recipe-query.js +0 -82
- package/dist-server/service/recipe/recipe-query.js.map +0 -1
- package/dist-server/service/recipe/recipe-revision-content.d.ts +0 -32
- package/dist-server/service/recipe/recipe-revision-content.js +0 -70
- package/dist-server/service/recipe/recipe-revision-content.js.map +0 -1
- package/dist-server/service/recipe/recipe-revision-line.d.ts +0 -30
- package/dist-server/service/recipe/recipe-revision-line.js +0 -95
- package/dist-server/service/recipe/recipe-revision-line.js.map +0 -1
- package/dist-server/service/recipe/recipe-revision-resolver.d.ts +0 -65
- package/dist-server/service/recipe/recipe-revision-resolver.js +0 -96
- package/dist-server/service/recipe/recipe-revision-resolver.js.map +0 -1
- package/dist-server/service/recipe/recipe-revision-service.d.ts +0 -183
- package/dist-server/service/recipe/recipe-revision-service.js +0 -754
- package/dist-server/service/recipe/recipe-revision-service.js.map +0 -1
- package/dist-server/service/recipe/recipe-revision.d.ts +0 -102
- package/dist-server/service/recipe/recipe-revision.js +0 -373
- package/dist-server/service/recipe/recipe-revision.js.map +0 -1
- package/dist-server/service/recipe/route-definition.d.ts +0 -51
- package/dist-server/service/recipe/route-definition.js +0 -114
- package/dist-server/service/recipe/route-definition.js.map +0 -1
- package/dist-server/service/resource/class-lineage.d.ts +0 -46
- package/dist-server/service/resource/class-lineage.js +0 -80
- package/dist-server/service/resource/class-lineage.js.map +0 -1
- package/dist-server/service/resource/class-members.d.ts +0 -36
- package/dist-server/service/resource/class-members.js +0 -59
- package/dist-server/service/resource/class-members.js.map +0 -1
- package/dist-server/service/resource/referrers.d.ts +0 -54
- package/dist-server/service/resource/referrers.js +0 -99
- package/dist-server/service/resource/referrers.js.map +0 -1
- package/dist-server/service/resource/resource-class.d.ts +0 -25
- package/dist-server/service/resource/resource-class.js +0 -29
- package/dist-server/service/resource/resource-class.js.map +0 -1
- package/dist-server/service/revision-baseline.d.ts +0 -71
- package/dist-server/service/revision-baseline.js +0 -87
- package/dist-server/service/revision-baseline.js.map +0 -1
- package/dist-server/service/row-lock.d.ts +0 -22
- package/dist-server/service/row-lock.js +0 -31
- package/dist-server/service/row-lock.js.map +0 -1
- package/dist-server/service/status/axis-stamp.d.ts +0 -16
- package/dist-server/service/status/axis-stamp.js +0 -22
- package/dist-server/service/status/axis-stamp.js.map +0 -1
- package/dist-server/service/status/index.d.ts +0 -3
- package/dist-server/service/status/index.js +0 -7
- package/dist-server/service/status/index.js.map +0 -1
- package/dist-server/service/status/master-status.d.ts +0 -38
- package/dist-server/service/status/master-status.js +0 -129
- package/dist-server/service/status/master-status.js.map +0 -1
- package/dist-server/service/test-spec/criteria-check.d.ts +0 -53
- package/dist-server/service/test-spec/criteria-check.js +0 -142
- package/dist-server/service/test-spec/criteria-check.js.map +0 -1
- package/dist-server/service/test-spec/criteria-rows.d.ts +0 -89
- package/dist-server/service/test-spec/criteria-rows.js +0 -139
- package/dist-server/service/test-spec/criteria-rows.js.map +0 -1
- package/dist-server/service/test-spec/index.d.ts +0 -6
- package/dist-server/service/test-spec/index.js +0 -11
- package/dist-server/service/test-spec/index.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-effective-list.d.ts +0 -34
- package/dist-server/service/test-spec/test-spec-effective-list.js +0 -42
- package/dist-server/service/test-spec/test-spec-effective-list.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-master-resolver.d.ts +0 -44
- package/dist-server/service/test-spec/test-spec-master-resolver.js +0 -144
- package/dist-server/service/test-spec/test-spec-master-resolver.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-master.d.ts +0 -6
- package/dist-server/service/test-spec/test-spec-master.js +0 -18
- package/dist-server/service/test-spec/test-spec-master.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-query.d.ts +0 -15
- package/dist-server/service/test-spec/test-spec-query.js +0 -61
- package/dist-server/service/test-spec/test-spec-query.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-revision-resolver.d.ts +0 -59
- package/dist-server/service/test-spec/test-spec-revision-resolver.js +0 -96
- package/dist-server/service/test-spec/test-spec-revision-resolver.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-revision-service.d.ts +0 -178
- package/dist-server/service/test-spec/test-spec-revision-service.js +0 -685
- package/dist-server/service/test-spec/test-spec-revision-service.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-revision.d.ts +0 -86
- package/dist-server/service/test-spec/test-spec-revision.js +0 -334
- package/dist-server/service/test-spec/test-spec-revision.js.map +0 -1
- package/dist-server/service/test-spec/test-specification.d.ts +0 -47
- package/dist-server/service/test-spec/test-specification.js +0 -119
- package/dist-server/service/test-spec/test-specification.js.map +0 -1
- package/dist-server/tsconfig.tsbuildinfo +0 -1
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.registerMasterChangeAxis = registerMasterChangeAxis;
|
|
4
|
-
exports.masterChangeAxis = masterChangeAxis;
|
|
5
|
-
exports.masterChangeAxes = masterChangeAxes;
|
|
6
|
-
const axes = new Map();
|
|
7
|
-
/** Adds an axis to the approval flow. Called at module import, before the schema is built. */
|
|
8
|
-
function registerMasterChangeAxis(axis) {
|
|
9
|
-
axes.set(axis.axis, axis);
|
|
10
|
-
}
|
|
11
|
-
function masterChangeAxis(axis) {
|
|
12
|
-
return axes.get(axis);
|
|
13
|
-
}
|
|
14
|
-
function masterChangeAxes() {
|
|
15
|
-
return [...axes.values()];
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=master-change-axis.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"master-change-axis.js","sourceRoot":"","sources":["../../../server/service/master-change-approval/master-change-axis.ts"],"names":[],"mappings":";;AAgDA,4DAEC;AAED,4CAEC;AAED,4CAEC;AAbD,MAAM,IAAI,GAAG,IAAI,GAAG,EAA4B,CAAA;AAEhD,8FAA8F;AAC9F,SAAgB,wBAAwB,CAAC,IAAsB;IAC7D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAC3B,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC;AAED,SAAgB,gBAAgB;IAC9B,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;AAC3B,CAAC","sourcesContent":["import type { EntityManager } from 'typeorm'\n\n/**\n * One master axis whose changes pass an approval (ADR-0086 decision 1, amended 2026-10-10).\n *\n * ops-master owns the whole flow: the activity template, what the approval publishes, the submit door, the\n * work-door declaration and the readiness check. An axis brings only what is its own — the revision\n * steps and its words. ops-master registers recipe, material definition and test specification; a module\n * whose axis lives elsewhere (work-shift) registers its own with `registerMasterChangeAxis`.\n *\n * The names stay what plant and warehouse used, so activities already installed at a site, and the\n * approval lines set on them, keep working.\n */\nexport interface MasterChangeAxis {\n /** The policy axis (`ops_master_change_policy.axis`). */\n axis: string\n /** The activity name the approval runs under. */\n activity: string\n label: string\n description: string\n category: string\n guide: string[]\n readiness: { stage: string; tests: string[]; gaps: string[]; notes: string }\n /** Decision-key names for the before/after columns, in this axis's words. */\n before: string\n after: string\n /** The work item's name, before the headline. */\n issuedAs: string\n /** How a signed revision is corrected, for the approver. */\n caveat: string\n /** The axis's refusal, so a refused submission speaks the axis's codes. */\n Refusal: new (code: string, detail?: string) => Error\n\n freeze(manager: EntityManager, domainId: string, userId: string, revisionId: string, editGeneration: number): Promise<{ id: string; reason?: string; contentHash?: string }>\n approvalInput(manager: EntityManager, domainId: string, revisionId: string): Promise<any>\n bind(manager: EntityManager, domainId: string, revisionId: string, activityInstanceId: string): Promise<unknown>\n assertApprovalInput(manager: EntityManager, domainId: string, input: unknown): Promise<unknown>\n publish(\n manager: EntityManager,\n domainId: string,\n revisionId: string,\n signed: { activityInstanceId: string; approverId: string; submissionHash: string }\n ): Promise<unknown>\n}\n\nconst axes = new Map<string, MasterChangeAxis>()\n\n/** Adds an axis to the approval flow. Called at module import, before the schema is built. */\nexport function registerMasterChangeAxis(axis: MasterChangeAxis): void {\n axes.set(axis.axis, axis)\n}\n\nexport function masterChangeAxis(axis: string): MasterChangeAxis | undefined {\n return axes.get(axis)\n}\n\nexport function masterChangeAxes(): MasterChangeAxis[] {\n return [...axes.values()]\n}\n"]}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { type MasterChangeAxis } from './master-change-axis';
|
|
2
|
-
/**
|
|
3
|
-
* The activity template for an axis, with the callback that publishes the signed revision when the
|
|
4
|
-
* approval ends. The approver reviews in `ops-master-revision-review`.
|
|
5
|
-
*/
|
|
6
|
-
export declare function masterChangeActivity(axis: MasterChangeAxis): {
|
|
7
|
-
name: string;
|
|
8
|
-
label: string;
|
|
9
|
-
description: string;
|
|
10
|
-
guide: string[];
|
|
11
|
-
release: string;
|
|
12
|
-
provider: string;
|
|
13
|
-
category: string;
|
|
14
|
-
activityType: string;
|
|
15
|
-
priority: number;
|
|
16
|
-
readiness: {
|
|
17
|
-
stage: string;
|
|
18
|
-
tests: string[];
|
|
19
|
-
gaps: string[];
|
|
20
|
-
notes: string;
|
|
21
|
-
};
|
|
22
|
-
startingType: string;
|
|
23
|
-
multiple: string;
|
|
24
|
-
viewType: string;
|
|
25
|
-
viewSource: string;
|
|
26
|
-
decisionKeys: {
|
|
27
|
-
role: string;
|
|
28
|
-
inputPath: string;
|
|
29
|
-
name: string;
|
|
30
|
-
}[];
|
|
31
|
-
model: {
|
|
32
|
-
name: string;
|
|
33
|
-
tag: string;
|
|
34
|
-
description: string;
|
|
35
|
-
hidden: boolean;
|
|
36
|
-
mandatory: boolean;
|
|
37
|
-
inout: string;
|
|
38
|
-
type: string;
|
|
39
|
-
options: {};
|
|
40
|
-
unit: any;
|
|
41
|
-
quantifier: number[];
|
|
42
|
-
spec: {};
|
|
43
|
-
}[];
|
|
44
|
-
standardTime: number;
|
|
45
|
-
callback: (instance: any, addendum: any, context: any) => Promise<void>;
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* Submits a draft for approval: the axis must be regulated here and its approval line must stand, then
|
|
49
|
-
* the draft is frozen, the work item issued with what the approver sees, and the two bound.
|
|
50
|
-
*/
|
|
51
|
-
export declare function submitMasterChangeDraft(axisName: string, revisionId: string, editGeneration: number, context: ResolverContext): Promise<{
|
|
52
|
-
revisionId: string;
|
|
53
|
-
activityInstanceId: string;
|
|
54
|
-
contentHash?: string;
|
|
55
|
-
}>;
|
|
56
|
-
/**
|
|
57
|
-
* Whether an axis can be made regulated: its activity must have someone who approves. Counted with
|
|
58
|
-
* `isApprovalStep`, because a reference-only line approves nothing and would read as ready by length.
|
|
59
|
-
* An axis with no registered flow gets no report and is not blocked here — `declareMasterChangePolicy`
|
|
60
|
-
* refuses axes without revisions on its own.
|
|
61
|
-
*/
|
|
62
|
-
export declare function inspectMasterChangeRoute(manager: any, domainId: string, axisName: string): Promise<{
|
|
63
|
-
ready: boolean;
|
|
64
|
-
activity: string;
|
|
65
|
-
}>;
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.masterChangeActivity = masterChangeActivity;
|
|
4
|
-
exports.submitMasterChangeDraft = submitMasterChangeDraft;
|
|
5
|
-
exports.inspectMasterChangeRoute = inspectMasterChangeRoute;
|
|
6
|
-
const shell_1 = require("@things-factory/shell");
|
|
7
|
-
const worklist_1 = require("@things-factory/worklist");
|
|
8
|
-
const master_change_policy_1 = require("../master-change-policy");
|
|
9
|
-
const master_change_axis_1 = require("./master-change-axis");
|
|
10
|
-
const REVISION_MODEL = [
|
|
11
|
-
{
|
|
12
|
-
name: 'revision',
|
|
13
|
-
tag: 'revision',
|
|
14
|
-
description: 'Frozen revision identity and digest',
|
|
15
|
-
hidden: true,
|
|
16
|
-
mandatory: true,
|
|
17
|
-
inout: 'in',
|
|
18
|
-
type: 'object',
|
|
19
|
-
options: {},
|
|
20
|
-
unit: null,
|
|
21
|
-
quantifier: [1],
|
|
22
|
-
spec: {}
|
|
23
|
-
}
|
|
24
|
-
];
|
|
25
|
-
/**
|
|
26
|
-
* The activity template for an axis, with the callback that publishes the signed revision when the
|
|
27
|
-
* approval ends. The approver reviews in `ops-master-revision-review`.
|
|
28
|
-
*/
|
|
29
|
-
function masterChangeActivity(axis) {
|
|
30
|
-
return {
|
|
31
|
-
name: axis.activity,
|
|
32
|
-
label: axis.label,
|
|
33
|
-
description: axis.description,
|
|
34
|
-
guide: axis.guide,
|
|
35
|
-
release: '1.0.0',
|
|
36
|
-
provider: 'hatiolab.com',
|
|
37
|
-
category: axis.category,
|
|
38
|
-
activityType: 'user',
|
|
39
|
-
priority: 1,
|
|
40
|
-
readiness: axis.readiness,
|
|
41
|
-
startingType: 'post',
|
|
42
|
-
multiple: 'single',
|
|
43
|
-
viewType: 'custom-element',
|
|
44
|
-
viewSource: 'ops-master-revision-review',
|
|
45
|
-
decisionKeys: [
|
|
46
|
-
{ role: 'headline', inputPath: 'headline', name: 'specification' },
|
|
47
|
-
{ role: 'reason', inputPath: 'reason', name: 'reason for change' },
|
|
48
|
-
{ role: 'currentState', inputPath: 'before', name: axis.before },
|
|
49
|
-
{ role: 'consequence', inputPath: 'after', name: axis.after },
|
|
50
|
-
{ role: 'reversibility', inputPath: 'reversibility', name: 'how a signed revision is corrected' },
|
|
51
|
-
{ role: 'consequence', inputPath: 'effectiveFrom', name: 'effective from' }
|
|
52
|
-
],
|
|
53
|
-
model: REVISION_MODEL,
|
|
54
|
-
standardTime: 24 * 60 * 60,
|
|
55
|
-
callback: (0, shell_1.speaksRefusals)(async (instance, _addendum, context) => {
|
|
56
|
-
if (instance.state !== worklist_1.ActivityInstanceStatus.Ended)
|
|
57
|
-
return;
|
|
58
|
-
const carried = instance.input?.revision;
|
|
59
|
-
if (typeof carried?.revisionId !== 'string' || typeof carried?.hash !== 'string') {
|
|
60
|
-
throw new axis.Refusal('INVALID_SUBMISSION');
|
|
61
|
-
}
|
|
62
|
-
const { tx, domain, user } = context.state;
|
|
63
|
-
await axis.assertApprovalInput(tx, domain.id, instance.input);
|
|
64
|
-
await axis.publish(tx, domain.id, carried.revisionId, {
|
|
65
|
-
activityInstanceId: instance.id,
|
|
66
|
-
approverId: user.id,
|
|
67
|
-
submissionHash: carried.hash
|
|
68
|
-
});
|
|
69
|
-
})
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Submits a draft for approval: the axis must be regulated here and its approval line must stand, then
|
|
74
|
-
* the draft is frozen, the work item issued with what the approver sees, and the two bound.
|
|
75
|
-
*/
|
|
76
|
-
async function submitMasterChangeDraft(axisName, revisionId, editGeneration, context) {
|
|
77
|
-
const axis = (0, master_change_axis_1.masterChangeAxis)(axisName);
|
|
78
|
-
if (!axis)
|
|
79
|
-
throw new Error(`submitMasterChangeDraft: no approval flow is registered for the axis "${axisName}"`);
|
|
80
|
-
const { tx, domain, user } = context.state;
|
|
81
|
-
const policy = await (0, master_change_policy_1.masterChangePolicy)(tx, domain.id, axis.axis);
|
|
82
|
-
if (!policy.approvalRequired) {
|
|
83
|
-
throw new axis.Refusal('APPROVAL_NOT_REQUIRED', 'Publish this draft under the declared non-regulated policy.');
|
|
84
|
-
}
|
|
85
|
-
const activity = await (0, worklist_1.activityNamed)(axis.activity, context);
|
|
86
|
-
if ((await (0, worklist_1.approvalLineStanding)(activity, context)).refusal)
|
|
87
|
-
throw new axis.Refusal('APPROVAL_LINE_REQUIRED');
|
|
88
|
-
const draft = await axis.freeze(tx, domain.id, user.id, revisionId, editGeneration);
|
|
89
|
-
const snapshot = await axis.approvalInput(tx, domain.id, draft.id);
|
|
90
|
-
const instance = await (0, worklist_1.issue)({
|
|
91
|
-
name: `${axis.issuedAs} ${snapshot.headline}`,
|
|
92
|
-
description: draft.reason,
|
|
93
|
-
activityId: activity.id,
|
|
94
|
-
approvalLine: activity.approvalLine,
|
|
95
|
-
input: {
|
|
96
|
-
headline: snapshot.headline,
|
|
97
|
-
reason: snapshot.reason,
|
|
98
|
-
before: snapshot.before,
|
|
99
|
-
after: snapshot.after,
|
|
100
|
-
effectiveFrom: snapshot.effectiveFrom,
|
|
101
|
-
revision: snapshot.revision,
|
|
102
|
-
reversibility: { reversible: false, kind: 'compensable', caveat: axis.caveat }
|
|
103
|
-
},
|
|
104
|
-
threadsMin: 1,
|
|
105
|
-
threadsMax: 1,
|
|
106
|
-
requireApproval: true
|
|
107
|
-
}, context);
|
|
108
|
-
await axis.bind(tx, domain.id, draft.id, instance.id);
|
|
109
|
-
return { revisionId: draft.id, activityInstanceId: instance.id, contentHash: draft.contentHash };
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Whether an axis can be made regulated: its activity must have someone who approves. Counted with
|
|
113
|
-
* `isApprovalStep`, because a reference-only line approves nothing and would read as ready by length.
|
|
114
|
-
* An axis with no registered flow gets no report and is not blocked here — `declareMasterChangePolicy`
|
|
115
|
-
* refuses axes without revisions on its own.
|
|
116
|
-
*/
|
|
117
|
-
async function inspectMasterChangeRoute(manager, domainId, axisName) {
|
|
118
|
-
const axis = (0, master_change_axis_1.masterChangeAxis)(axisName);
|
|
119
|
-
if (!axis)
|
|
120
|
-
return undefined;
|
|
121
|
-
const activity = await manager.findOneBy(worklist_1.Activity, { domain: { id: domainId }, name: axis.activity });
|
|
122
|
-
const steps = (activity?.approvalLine || []).filter(worklist_1.isApprovalStep).length;
|
|
123
|
-
return { ready: steps > 0, activity: axis.activity };
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=master-change-flow.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"master-change-flow.js","sourceRoot":"","sources":["../../../server/service/master-change-approval/master-change-flow.ts"],"names":[],"mappings":"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","sourcesContent":["import { speaksRefusals } from '@things-factory/shell'\nimport {\n Activity,\n ActivityInstanceStatus,\n activityNamed,\n approvalLineStanding,\n isApprovalStep,\n issue\n} from '@things-factory/worklist'\n\nimport { masterChangePolicy } from '../master-change-policy'\nimport { masterChangeAxis, type MasterChangeAxis } from './master-change-axis'\n\nconst REVISION_MODEL = [\n {\n name: 'revision',\n tag: 'revision',\n description: 'Frozen revision identity and digest',\n hidden: true,\n mandatory: true,\n inout: 'in',\n type: 'object',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n }\n]\n\n/**\n * The activity template for an axis, with the callback that publishes the signed revision when the\n * approval ends. The approver reviews in `ops-master-revision-review`.\n */\nexport function masterChangeActivity(axis: MasterChangeAxis) {\n return {\n name: axis.activity,\n label: axis.label,\n description: axis.description,\n guide: axis.guide,\n release: '1.0.0',\n provider: 'hatiolab.com',\n category: axis.category,\n activityType: 'user',\n priority: 1,\n readiness: axis.readiness,\n startingType: 'post',\n multiple: 'single',\n viewType: 'custom-element',\n viewSource: 'ops-master-revision-review',\n decisionKeys: [\n { role: 'headline', inputPath: 'headline', name: 'specification' },\n { role: 'reason', inputPath: 'reason', name: 'reason for change' },\n { role: 'currentState', inputPath: 'before', name: axis.before },\n { role: 'consequence', inputPath: 'after', name: axis.after },\n { role: 'reversibility', inputPath: 'reversibility', name: 'how a signed revision is corrected' },\n { role: 'consequence', inputPath: 'effectiveFrom', name: 'effective from' }\n ],\n model: REVISION_MODEL,\n standardTime: 24 * 60 * 60,\n callback: speaksRefusals(async (instance: any, _addendum: any, context: ResolverContext) => {\n if (instance.state !== ActivityInstanceStatus.Ended) return\n\n const carried = instance.input?.revision\n if (typeof carried?.revisionId !== 'string' || typeof carried?.hash !== 'string') {\n throw new axis.Refusal('INVALID_SUBMISSION')\n }\n\n const { tx, domain, user } = context.state\n await axis.assertApprovalInput(tx, domain.id, instance.input)\n await axis.publish(tx, domain.id, carried.revisionId, {\n activityInstanceId: instance.id,\n approverId: user.id,\n submissionHash: carried.hash\n })\n })\n }\n}\n\n/**\n * Submits a draft for approval: the axis must be regulated here and its approval line must stand, then\n * the draft is frozen, the work item issued with what the approver sees, and the two bound.\n */\nexport async function submitMasterChangeDraft(\n axisName: string,\n revisionId: string,\n editGeneration: number,\n context: ResolverContext\n): Promise<{ revisionId: string; activityInstanceId: string; contentHash?: string }> {\n const axis = masterChangeAxis(axisName)\n if (!axis) throw new Error(`submitMasterChangeDraft: no approval flow is registered for the axis \"${axisName}\"`)\n\n const { tx, domain, user } = context.state\n\n const policy = await masterChangePolicy(tx, domain.id, axis.axis as any)\n if (!policy.approvalRequired) {\n throw new axis.Refusal('APPROVAL_NOT_REQUIRED', 'Publish this draft under the declared non-regulated policy.')\n }\n\n const activity = await activityNamed(axis.activity, context)\n if ((await approvalLineStanding(activity, context)).refusal) throw new axis.Refusal('APPROVAL_LINE_REQUIRED')\n\n const draft = await axis.freeze(tx, domain.id, user.id, revisionId, editGeneration)\n const snapshot = await axis.approvalInput(tx, domain.id, draft.id)\n\n const instance = await issue(\n {\n name: `${axis.issuedAs} ${snapshot.headline}`,\n description: draft.reason,\n activityId: activity.id,\n approvalLine: activity.approvalLine,\n input: {\n headline: snapshot.headline,\n reason: snapshot.reason,\n before: snapshot.before,\n after: snapshot.after,\n effectiveFrom: snapshot.effectiveFrom,\n revision: snapshot.revision,\n reversibility: { reversible: false, kind: 'compensable', caveat: axis.caveat }\n },\n threadsMin: 1,\n threadsMax: 1,\n requireApproval: true\n } as any,\n context\n )\n\n await axis.bind(tx, domain.id, draft.id, instance.id)\n return { revisionId: draft.id, activityInstanceId: instance.id, contentHash: draft.contentHash }\n}\n\n/**\n * Whether an axis can be made regulated: its activity must have someone who approves. Counted with\n * `isApprovalStep`, because a reference-only line approves nothing and would read as ready by length.\n * An axis with no registered flow gets no report and is not blocked here — `declareMasterChangePolicy`\n * refuses axes without revisions on its own.\n */\nexport async function inspectMasterChangeRoute(manager: any, domainId: string, axisName: string) {\n const axis = masterChangeAxis(axisName)\n if (!axis) return undefined\n\n const activity = await manager.findOneBy(Activity, { domain: { id: domainId }, name: axis.activity })\n const steps = ((activity?.approvalLine as any[]) || []).filter(isApprovalStep).length\n\n return { ready: steps > 0, activity: axis.activity }\n}\n"]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/** Submits a frozen master revision for approval, one door per axis whose revisions live here. */
|
|
2
|
-
export declare class MasterChangeApprovalResolver {
|
|
3
|
-
submitTestSpecificationDraft(revisionId: string, editGeneration: number, context: ResolverContext): Promise<{
|
|
4
|
-
revisionId: string;
|
|
5
|
-
activityInstanceId: string;
|
|
6
|
-
contentHash?: string;
|
|
7
|
-
}>;
|
|
8
|
-
submitRecipeDraft(revisionId: string, editGeneration: number, context: ResolverContext): Promise<{
|
|
9
|
-
revisionId: string;
|
|
10
|
-
activityInstanceId: string;
|
|
11
|
-
contentHash?: string;
|
|
12
|
-
}>;
|
|
13
|
-
submitMaterialDefinitionDraft(revisionId: string, editGeneration: number, context: ResolverContext): Promise<{
|
|
14
|
-
revisionId: string;
|
|
15
|
-
activityInstanceId: string;
|
|
16
|
-
contentHash?: string;
|
|
17
|
-
}>;
|
|
18
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MasterChangeApprovalResolver = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const type_graphql_1 = require("type-graphql");
|
|
6
|
-
const shell_1 = require("@things-factory/shell");
|
|
7
|
-
const master_change_flow_1 = require("./master-change-flow");
|
|
8
|
-
/** Submits a frozen master revision for approval, one door per axis whose revisions live here. */
|
|
9
|
-
let MasterChangeApprovalResolver = class MasterChangeApprovalResolver {
|
|
10
|
-
async submitTestSpecificationDraft(revisionId, editGeneration, context) {
|
|
11
|
-
return (0, master_change_flow_1.submitMasterChangeDraft)('testSpecification', revisionId, editGeneration, context);
|
|
12
|
-
}
|
|
13
|
-
async submitRecipeDraft(revisionId, editGeneration, context) {
|
|
14
|
-
return (0, master_change_flow_1.submitMasterChangeDraft)('recipeDefinition', revisionId, editGeneration, context);
|
|
15
|
-
}
|
|
16
|
-
async submitMaterialDefinitionDraft(revisionId, editGeneration, context) {
|
|
17
|
-
return (0, master_change_flow_1.submitMasterChangeDraft)('materialDefinition', revisionId, editGeneration, context);
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
exports.MasterChangeApprovalResolver = MasterChangeApprovalResolver;
|
|
21
|
-
tslib_1.__decorate([
|
|
22
|
-
(0, type_graphql_1.Directive)('@privilege(category: "ops-master", privilege: "mutation", domainOwnerGranted: true)'),
|
|
23
|
-
(0, type_graphql_1.Directive)('@transaction'),
|
|
24
|
-
(0, type_graphql_1.Mutation)(() => shell_1.ScalarObject, { description: 'Submit a test specification draft for approval' }),
|
|
25
|
-
tslib_1.__param(0, (0, type_graphql_1.Arg)('revisionId')),
|
|
26
|
-
tslib_1.__param(1, (0, type_graphql_1.Arg)('editGeneration', () => type_graphql_1.Int)),
|
|
27
|
-
tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
|
|
28
|
-
tslib_1.__metadata("design:type", Function),
|
|
29
|
-
tslib_1.__metadata("design:paramtypes", [String, Number, Object]),
|
|
30
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
31
|
-
], MasterChangeApprovalResolver.prototype, "submitTestSpecificationDraft", null);
|
|
32
|
-
tslib_1.__decorate([
|
|
33
|
-
(0, type_graphql_1.Directive)('@privilege(category: "ops-master", privilege: "mutation", domainOwnerGranted: true)'),
|
|
34
|
-
(0, type_graphql_1.Directive)('@transaction'),
|
|
35
|
-
(0, type_graphql_1.Mutation)(() => shell_1.ScalarObject, { description: 'Submit a recipe draft for approval' }),
|
|
36
|
-
tslib_1.__param(0, (0, type_graphql_1.Arg)('revisionId')),
|
|
37
|
-
tslib_1.__param(1, (0, type_graphql_1.Arg)('editGeneration', () => type_graphql_1.Int)),
|
|
38
|
-
tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
|
|
39
|
-
tslib_1.__metadata("design:type", Function),
|
|
40
|
-
tslib_1.__metadata("design:paramtypes", [String, Number, Object]),
|
|
41
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
42
|
-
], MasterChangeApprovalResolver.prototype, "submitRecipeDraft", null);
|
|
43
|
-
tslib_1.__decorate([
|
|
44
|
-
(0, type_graphql_1.Directive)('@privilege(category: "ops-master", privilege: "mutation", domainOwnerGranted: true)'),
|
|
45
|
-
(0, type_graphql_1.Directive)('@transaction'),
|
|
46
|
-
(0, type_graphql_1.Mutation)(() => shell_1.ScalarObject, { description: 'Submit a material definition draft for approval' }),
|
|
47
|
-
tslib_1.__param(0, (0, type_graphql_1.Arg)('revisionId')),
|
|
48
|
-
tslib_1.__param(1, (0, type_graphql_1.Arg)('editGeneration', () => type_graphql_1.Int)),
|
|
49
|
-
tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
|
|
50
|
-
tslib_1.__metadata("design:type", Function),
|
|
51
|
-
tslib_1.__metadata("design:paramtypes", [String, Number, Object]),
|
|
52
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
53
|
-
], MasterChangeApprovalResolver.prototype, "submitMaterialDefinitionDraft", null);
|
|
54
|
-
exports.MasterChangeApprovalResolver = MasterChangeApprovalResolver = tslib_1.__decorate([
|
|
55
|
-
(0, type_graphql_1.Resolver)(),
|
|
56
|
-
(0, type_graphql_1.UseMiddleware)(shell_1.SpeakRefusals)
|
|
57
|
-
], MasterChangeApprovalResolver);
|
|
58
|
-
//# sourceMappingURL=master-change-resolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"master-change-resolver.js","sourceRoot":"","sources":["../../../server/service/master-change-approval/master-change-resolver.ts"],"names":[],"mappings":";;;;AAAA,+CAA0F;AAE1F,iDAAmE;AAEnE,6DAA8D;AAE9D,kGAAkG;AAG3F,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAIjC,AAAN,KAAK,CAAC,4BAA4B,CACb,UAAkB,EACH,cAAsB,EACjD,OAAwB;QAE/B,OAAO,IAAA,4CAAuB,EAAC,mBAAmB,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;IAC1F,CAAC;IAKK,AAAN,KAAK,CAAC,iBAAiB,CACF,UAAkB,EACH,cAAsB,EACjD,OAAwB;QAE/B,OAAO,IAAA,4CAAuB,EAAC,kBAAkB,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;IACzF,CAAC;IAKK,AAAN,KAAK,CAAC,6BAA6B,CACd,UAAkB,EACH,cAAsB,EACjD,OAAwB;QAE/B,OAAO,IAAA,4CAAuB,EAAC,oBAAoB,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;IAC3F,CAAC;CACF,CAAA;AAjCY,oEAA4B;AAIjC;IAHL,IAAA,wBAAS,EAAC,qFAAqF,CAAC;IAChG,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,GAAG,EAAE,CAAC,oBAAY,EAAE,EAAE,WAAW,EAAE,gDAAgD,EAAE,CAAC;IAE7F,mBAAA,IAAA,kBAAG,EAAC,YAAY,CAAC,CAAA;IACjB,mBAAA,IAAA,kBAAG,EAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,kBAAG,CAAC,CAAA;IAChC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;gFAGP;AAKK;IAHL,IAAA,wBAAS,EAAC,qFAAqF,CAAC;IAChG,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,GAAG,EAAE,CAAC,oBAAY,EAAE,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC;IAEjF,mBAAA,IAAA,kBAAG,EAAC,YAAY,CAAC,CAAA;IACjB,mBAAA,IAAA,kBAAG,EAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,kBAAG,CAAC,CAAA;IAChC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;qEAGP;AAKK;IAHL,IAAA,wBAAS,EAAC,qFAAqF,CAAC;IAChG,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,GAAG,EAAE,CAAC,oBAAY,EAAE,EAAE,WAAW,EAAE,iDAAiD,EAAE,CAAC;IAE9F,mBAAA,IAAA,kBAAG,EAAC,YAAY,CAAC,CAAA;IACjB,mBAAA,IAAA,kBAAG,EAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,kBAAG,CAAC,CAAA;IAChC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;iFAGP;uCAhCU,4BAA4B;IAFxC,IAAA,uBAAQ,GAAE;IACV,IAAA,4BAAa,EAAC,qBAAa,CAAC;GAChB,4BAA4B,CAiCxC","sourcesContent":["import { Arg, Ctx, Directive, Int, Mutation, Resolver, UseMiddleware } from 'type-graphql'\n\nimport { ScalarObject, SpeakRefusals } from '@things-factory/shell'\n\nimport { submitMasterChangeDraft } from './master-change-flow'\n\n/** Submits a frozen master revision for approval, one door per axis whose revisions live here. */\n@Resolver()\n@UseMiddleware(SpeakRefusals)\nexport class MasterChangeApprovalResolver {\n @Directive('@privilege(category: \"ops-master\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(() => ScalarObject, { description: 'Submit a test specification draft for approval' })\n async submitTestSpecificationDraft(\n @Arg('revisionId') revisionId: string,\n @Arg('editGeneration', () => Int) editGeneration: number,\n @Ctx() context: ResolverContext\n ) {\n return submitMasterChangeDraft('testSpecification', revisionId, editGeneration, context)\n }\n\n @Directive('@privilege(category: \"ops-master\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(() => ScalarObject, { description: 'Submit a recipe draft for approval' })\n async submitRecipeDraft(\n @Arg('revisionId') revisionId: string,\n @Arg('editGeneration', () => Int) editGeneration: number,\n @Ctx() context: ResolverContext\n ) {\n return submitMasterChangeDraft('recipeDefinition', revisionId, editGeneration, context)\n }\n\n @Directive('@privilege(category: \"ops-master\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(() => ScalarObject, { description: 'Submit a material definition draft for approval' })\n async submitMaterialDefinitionDraft(\n @Arg('revisionId') revisionId: string,\n @Arg('editGeneration', () => Int) editGeneration: number,\n @Ctx() context: ResolverContext\n ) {\n return submitMasterChangeDraft('materialDefinition', revisionId, editGeneration, context)\n }\n}\n"]}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { EntityManager } from 'typeorm';
|
|
2
|
-
import { Domain } from '@things-factory/shell';
|
|
3
|
-
import { User } from '@things-factory/auth-base';
|
|
4
|
-
/**
|
|
5
|
-
* 정책을 정할 수 있는 축들 — 마스터 축 열다섯에 `workShift` 를 더한다.
|
|
6
|
-
*
|
|
7
|
-
* `workShift` 는 별도 모듈이라 `MASTER_AXES` 에 없는데 정책은 받는다(§`policyAxis`).
|
|
8
|
-
*/
|
|
9
|
-
export declare const POLICY_AXES: string[];
|
|
10
|
-
/**
|
|
11
|
-
* 이 축의 바뀜을 **개정본으로 결재에 보낼 수 있나** — 승인으로 켤 수 있는 축인가.
|
|
12
|
-
*
|
|
13
|
-
* 마스터 축은 자기 선언(`MasterAxis.revisable`)이 답한다. `workShift` 는 그 표 밖에서 자기 패키지가
|
|
14
|
-
* 개정 체계를 지었으므로 참이다(`work-shift-revision-service`). 앱이 답하지 않는다 — 문이 없으면
|
|
15
|
-
* 어느 앱에서도 보낼 곳이 없다.
|
|
16
|
-
*/
|
|
17
|
-
export declare function axisHasRevision(axis: string): boolean;
|
|
18
|
-
/** 도메인 × 축의 기준정보 변경 정책 — 정하는 것도 바꾸는 것도 사업장 소유자의 몫이다. */
|
|
19
|
-
export declare class MasterChangePolicy {
|
|
20
|
-
id: string;
|
|
21
|
-
domain: Domain;
|
|
22
|
-
domainId: string;
|
|
23
|
-
axis: string;
|
|
24
|
-
approvalRequired: boolean;
|
|
25
|
-
reason: string;
|
|
26
|
-
/**
|
|
27
|
-
* 이 줄이 물러난 시각 — 비어 있는 줄이 **지금 정책**이다.
|
|
28
|
-
*
|
|
29
|
-
* 차례를 `createdAt` 으로 세우지 않는다. sqlite 의 `datetime('now')` 는 초까지라, 한 사람이 같은
|
|
30
|
-
* 초에 두 번 바꾸면 어느 줄이 나중인지 저장소가 못 가린다. 물러난 줄에 표를 하면 그 물음이 사라진다.
|
|
31
|
-
*/
|
|
32
|
-
supersededAt: Date;
|
|
33
|
-
/**
|
|
34
|
-
* 누가 정했나 — **비어 있으면 아무도 안 정한 것**이고, 그 줄은 기본값으로 선 줄이다.
|
|
35
|
-
*
|
|
36
|
-
* 사람이 안 정한 줄에 사람을 적으면 그 사람이 정한 것이 된다. 사업장을 만든 사람도 이 축을 보고
|
|
37
|
-
* 고른 적이 없다.
|
|
38
|
-
*/
|
|
39
|
-
creator: User;
|
|
40
|
-
creatorId: string;
|
|
41
|
-
createdAt: Date;
|
|
42
|
-
}
|
|
43
|
-
/** 아무도 안 정한 축이 도는 방식 — 바꾸려면 여기 하나만 고치면 된다. */
|
|
44
|
-
export declare const DEFAULT_APPROVAL_REQUIRED = false;
|
|
45
|
-
/**
|
|
46
|
-
* 이 축이 지금 어떻게 도는가. **아무도 안 정했으면 기본값으로 한 줄을 세우고 그것을 답한다.**
|
|
47
|
-
*
|
|
48
|
-
* 전에는 거절했다(`MASTER_POLICY_REQUIRED`). 그래서 새 사업장은 축 열여섯이 전부 막힌 채로 시작했고,
|
|
49
|
-
* 기준정보를 만들려던 사람이 「정책을 먼저 정하라」는 말만 받았다 — 어디서 정하는지는 안 적혀 있었다.
|
|
50
|
-
*
|
|
51
|
-
* 값을 그때그때 지어내지 않고 **줄을 세우는** 까닭은, 개정본이 자기가 어느 정책 아래 만들어졌는지를
|
|
52
|
-
* 그 줄로 가리키기 때문이다(ADR-0090). 가리킬 줄이 없으면 그 물음에 나중에 답할 수 없다.
|
|
53
|
-
*
|
|
54
|
-
* 그 줄의 `creator` 는 비어 있다. 아무도 고른 적이 없다는 것이 사실이고, 사업장을 만든 사람을 적으면
|
|
55
|
-
* 그 사람이 정한 것이 된다.
|
|
56
|
-
*/
|
|
57
|
-
export declare function masterChangePolicy(manager: EntityManager, domainId: string, axis: string): Promise<MasterChangePolicy>;
|
|
58
|
-
/**
|
|
59
|
-
* 지금 서 있는 줄.
|
|
60
|
-
*
|
|
61
|
-
* 둘 이상이 서 있으면 **가장 늦게 만들어진 것**을 답한다. 그 상태는 이 코드가 못 만들지만, 물러남
|
|
62
|
-
* 표를 두기 전에 쌓인 줄들이 그렇게 남아 있다. 다음 선언이 전부 물러나게 하고 하나로 정리한다.
|
|
63
|
-
*/
|
|
64
|
-
export declare function standingPolicy(manager: EntityManager, domainId: string, axis: string): Promise<MasterChangePolicy>;
|
|
65
|
-
/** 이 도메인에서 지금 서 있는 줄 전부 — 축을 열쇠로. */
|
|
66
|
-
export declare function standingPolicies(manager: EntityManager, domainId: string): Promise<Map<string, MasterChangePolicy>>;
|
|
67
|
-
export declare function declareMasterChangePolicy(manager: EntityManager, domainId: string, actorId: string, axis: string, approvalRequired: boolean, reason: string): Promise<MasterChangePolicy>;
|
|
68
|
-
export declare function assertDirectMasterChange(manager: EntityManager, domainId: string, axis: string): Promise<void>;
|
|
69
|
-
export declare class MasterChangePolicyResolver {
|
|
70
|
-
masterChangePolicy(axis: string, context: ResolverContext): Promise<{
|
|
71
|
-
declared: boolean;
|
|
72
|
-
id: string;
|
|
73
|
-
domain: Domain;
|
|
74
|
-
domainId: string;
|
|
75
|
-
axis: string;
|
|
76
|
-
approvalRequired: boolean;
|
|
77
|
-
reason: string;
|
|
78
|
-
/**
|
|
79
|
-
* 이 줄이 물러난 시각 — 비어 있는 줄이 **지금 정책**이다.
|
|
80
|
-
*
|
|
81
|
-
* 차례를 `createdAt` 으로 세우지 않는다. sqlite 의 `datetime('now')` 는 초까지라, 한 사람이 같은
|
|
82
|
-
* 초에 두 번 바꾸면 어느 줄이 나중인지 저장소가 못 가린다. 물러난 줄에 표를 하면 그 물음이 사라진다.
|
|
83
|
-
*/
|
|
84
|
-
supersededAt: Date;
|
|
85
|
-
/**
|
|
86
|
-
* 누가 정했나 — **비어 있으면 아무도 안 정한 것**이고, 그 줄은 기본값으로 선 줄이다.
|
|
87
|
-
*
|
|
88
|
-
* 사람이 안 정한 줄에 사람을 적으면 그 사람이 정한 것이 된다. 사업장을 만든 사람도 이 축을 보고
|
|
89
|
-
* 고른 적이 없다.
|
|
90
|
-
*/
|
|
91
|
-
creator: User;
|
|
92
|
-
creatorId: string;
|
|
93
|
-
createdAt: Date;
|
|
94
|
-
} | {
|
|
95
|
-
axis: string;
|
|
96
|
-
declared: boolean;
|
|
97
|
-
approvalRequired: boolean;
|
|
98
|
-
}>;
|
|
99
|
-
/**
|
|
100
|
-
* 축 전부의 정책 상태 — **안 정한 것도 답한다.**
|
|
101
|
-
*
|
|
102
|
-
* 단일 조회처럼 안 정한 축은 기본값과 미선언 상태를 답한다. 목록에는 관리 권한과 결재 경로 상태도 담는다.
|
|
103
|
-
*
|
|
104
|
-
* `canDeclare` 는 **이 사람이 소유자인가**다. 화면이 스스로 판단하지 않게 서버가 말한다 —
|
|
105
|
-
* 눌러 보고 거절당하는 화면이 되지 않도록.
|
|
106
|
-
*/
|
|
107
|
-
masterChangePolicies(context: ResolverContext): Promise<{
|
|
108
|
-
canDeclare: boolean;
|
|
109
|
-
axes: {
|
|
110
|
-
axis: string;
|
|
111
|
-
declared: boolean;
|
|
112
|
-
byDefault: boolean;
|
|
113
|
-
approvalRequired: boolean;
|
|
114
|
-
reason: string;
|
|
115
|
-
declaredAt: Date;
|
|
116
|
-
revisable: boolean;
|
|
117
|
-
approvalReady: boolean;
|
|
118
|
-
approvalActivity: string;
|
|
119
|
-
}[];
|
|
120
|
-
}>;
|
|
121
|
-
declareMasterChangePolicy(axis: string, approvalRequired: boolean, reason: string, context: ResolverContext): Promise<MasterChangePolicy>;
|
|
122
|
-
}
|