@lssm/example.workflow-system 0.0.0-canary-20251217080011 → 0.0.0-canary-20251219202229
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/LICENSE +21 -0
- package/dist/approval/approval.contracts.d.ts +136 -135
- package/dist/approval/approval.contracts.d.ts.map +1 -0
- package/dist/approval/approval.contracts.js +23 -24
- package/dist/approval/approval.contracts.js.map +1 -0
- package/dist/approval/approval.enum.d.ts +5 -4
- package/dist/approval/approval.enum.d.ts.map +1 -0
- package/dist/approval/approval.enum.js +5 -5
- package/dist/approval/approval.enum.js.map +1 -0
- package/dist/approval/approval.event.d.ts +34 -33
- package/dist/approval/approval.event.d.ts.map +1 -0
- package/dist/approval/approval.event.js +34 -34
- package/dist/approval/approval.event.js.map +1 -0
- package/dist/approval/approval.handler.d.ts +2 -1
- package/dist/approval/approval.handler.d.ts.map +1 -0
- package/dist/approval/approval.handler.js +2 -1
- package/dist/approval/approval.handler.js.map +1 -0
- package/dist/approval/approval.schema.d.ts +26 -25
- package/dist/approval/approval.schema.d.ts.map +1 -0
- package/dist/approval/approval.schema.js +24 -25
- package/dist/approval/approval.schema.js.map +1 -0
- package/dist/docs/workflow-system.docblock.js +2 -1
- package/dist/docs/workflow-system.docblock.js.map +1 -0
- package/dist/entities/approval.d.ts +38 -37
- package/dist/entities/approval.d.ts.map +1 -0
- package/dist/entities/approval.js +44 -44
- package/dist/entities/approval.js.map +1 -0
- package/dist/entities/index.d.ts +129 -128
- package/dist/entities/index.d.ts.map +1 -0
- package/dist/entities/index.js +2 -1
- package/dist/entities/index.js.map +1 -0
- package/dist/entities/instance.d.ts +49 -48
- package/dist/entities/instance.d.ts.map +1 -0
- package/dist/entities/instance.js +58 -58
- package/dist/entities/instance.js.map +1 -0
- package/dist/entities/step.d.ts +34 -33
- package/dist/entities/step.d.ts.map +1 -0
- package/dist/entities/step.js +37 -37
- package/dist/entities/step.js.map +1 -0
- package/dist/entities/workflow.d.ts +25 -24
- package/dist/entities/workflow.d.ts.map +1 -0
- package/dist/entities/workflow.js +28 -28
- package/dist/entities/workflow.js.map +1 -0
- package/dist/example.d.ts +2 -1
- package/dist/example.d.ts.map +1 -0
- package/dist/example.js +2 -1
- package/dist/example.js.map +1 -0
- package/dist/instance/instance.contracts.d.ts +258 -257
- package/dist/instance/instance.contracts.d.ts.map +1 -0
- package/dist/instance/instance.contracts.js +23 -24
- package/dist/instance/instance.contracts.js.map +1 -0
- package/dist/instance/instance.enum.d.ts +4 -3
- package/dist/instance/instance.enum.d.ts.map +1 -0
- package/dist/instance/instance.enum.js +4 -4
- package/dist/instance/instance.enum.js.map +1 -0
- package/dist/instance/instance.event.d.ts +89 -88
- package/dist/instance/instance.event.d.ts.map +1 -0
- package/dist/instance/instance.event.js +31 -31
- package/dist/instance/instance.event.js.map +1 -0
- package/dist/instance/instance.handler.d.ts +2 -1
- package/dist/instance/instance.handler.d.ts.map +1 -0
- package/dist/instance/instance.handler.js +2 -1
- package/dist/instance/instance.handler.js.map +1 -0
- package/dist/instance/instance.schema.d.ts +56 -55
- package/dist/instance/instance.schema.d.ts.map +1 -0
- package/dist/instance/instance.schema.js +37 -38
- package/dist/instance/instance.schema.js.map +1 -0
- package/dist/libs/contracts/dist/capabilities/openbanking.js +2 -1
- package/dist/libs/contracts/dist/capabilities/openbanking.js.map +1 -0
- package/dist/libs/contracts/dist/contract-registry/schemas.js +2 -1
- package/dist/libs/contracts/dist/contract-registry/schemas.js.map +1 -0
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/index.js +2 -6
- package/dist/libs/contracts/dist/docs/meta.docs.js +30 -0
- package/dist/libs/contracts/dist/docs/meta.docs.js.map +1 -0
- package/dist/libs/contracts/dist/docs/presentations.js +2 -1
- package/dist/libs/contracts/dist/docs/presentations.js.map +1 -0
- package/dist/libs/contracts/dist/docs/registry.js +2 -1
- package/dist/libs/contracts/dist/docs/registry.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech-contracts.docs.js +97 -0
- package/dist/libs/contracts/dist/docs/tech-contracts.docs.js.map +1 -0
- package/dist/libs/contracts/dist/events.js +2 -1
- package/dist/libs/contracts/dist/events.js.map +1 -0
- package/dist/libs/contracts/dist/index.js +3 -2
- package/dist/libs/contracts/dist/integrations/contracts.js +65 -66
- package/dist/libs/contracts/dist/integrations/contracts.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +31 -32
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +18 -19
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +32 -33
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/models.js +60 -61
- package/dist/libs/contracts/dist/integrations/openbanking/models.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +2 -1
- package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/gmail.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/gmail.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/google-calendar.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/mistral.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/mistral.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/postmark.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/postmark.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/powens.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/powens.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/qdrant.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/qdrant.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/stripe.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/stripe.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/contracts.js +44 -45
- package/dist/libs/contracts/dist/knowledge/contracts.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js.map +1 -0
- package/dist/libs/contracts/dist/llm/exporters.js +2 -1
- package/dist/libs/contracts/dist/llm/exporters.js.map +1 -0
- package/dist/libs/contracts/dist/onboarding-base.js +22 -23
- package/dist/libs/contracts/dist/onboarding-base.js.map +1 -0
- package/dist/libs/contracts/dist/ownership.js +4 -2
- package/dist/libs/contracts/dist/ownership.js.map +1 -0
- package/dist/libs/contracts/dist/presentations.v2.js +2 -1
- package/dist/libs/contracts/dist/presentations.v2.js.map +1 -0
- package/dist/libs/contracts/dist/regenerator/service.js +2 -1
- package/dist/libs/contracts/dist/regenerator/service.js.map +1 -0
- package/dist/libs/contracts/dist/schema/dist/index.js +3874 -6
- package/dist/libs/contracts/dist/schema/dist/index.js.map +1 -0
- package/dist/libs/contracts/dist/spec.js +2 -1
- package/dist/libs/contracts/dist/spec.js.map +1 -0
- package/dist/libs/schema/dist/index.js +4922 -6
- package/dist/libs/schema/dist/index.js.map +1 -0
- package/dist/presentations/index.d.ts +2 -1
- package/dist/presentations/index.d.ts.map +1 -0
- package/dist/presentations/index.js +2 -1
- package/dist/presentations/index.js.map +1 -0
- package/dist/shared/mock-data.d.ts +2 -1
- package/dist/shared/mock-data.d.ts.map +1 -0
- package/dist/shared/mock-data.js +2 -1
- package/dist/shared/mock-data.js.map +1 -0
- package/dist/shared/types.d.ts +2 -1
- package/dist/shared/types.d.ts.map +1 -0
- package/dist/state-machine/index.d.ts +2 -1
- package/dist/state-machine/index.d.ts.map +1 -0
- package/dist/state-machine/index.js +2 -1
- package/dist/state-machine/index.js.map +1 -0
- package/dist/workflow/workflow.contracts.d.ts +248 -247
- package/dist/workflow/workflow.contracts.d.ts.map +1 -0
- package/dist/workflow/workflow.contracts.js +13 -14
- package/dist/workflow/workflow.contracts.js.map +1 -0
- package/dist/workflow/workflow.enum.d.ts +7 -6
- package/dist/workflow/workflow.enum.d.ts.map +1 -0
- package/dist/workflow/workflow.enum.js +7 -7
- package/dist/workflow/workflow.enum.js.map +1 -0
- package/dist/workflow/workflow.event.d.ts +35 -34
- package/dist/workflow/workflow.event.d.ts.map +1 -0
- package/dist/workflow/workflow.event.js +19 -19
- package/dist/workflow/workflow.event.js.map +1 -0
- package/dist/workflow/workflow.handler.d.ts +2 -1
- package/dist/workflow/workflow.handler.d.ts.map +1 -0
- package/dist/workflow/workflow.handler.js +2 -1
- package/dist/workflow/workflow.handler.js.map +1 -0
- package/dist/workflow/workflow.schema.d.ts +65 -64
- package/dist/workflow/workflow.schema.d.ts.map +1 -0
- package/dist/workflow/workflow.schema.js +47 -48
- package/dist/workflow/workflow.schema.js.map +1 -0
- package/dist/workflow-system.feature.d.ts +2 -1
- package/dist/workflow-system.feature.d.ts.map +1 -0
- package/dist/workflow-system.feature.js +2 -1
- package/dist/workflow-system.feature.js.map +1 -0
- package/package.json +13 -12
- package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +0 -16
- package/dist/libs/contracts/dist/schema/dist/EnumType.js +0 -2
- package/dist/libs/contracts/dist/schema/dist/FieldType.js +0 -49
- package/dist/libs/contracts/dist/schema/dist/ScalarTypeEnum.js +0 -236
- package/dist/libs/contracts/dist/schema/dist/SchemaModel.js +0 -39
- package/dist/libs/contracts/dist/schema/dist/entity/defineEntity.js +0 -1
- package/dist/libs/contracts/dist/schema/dist/entity/index.js +0 -2
- package/dist/libs/contracts/dist/schema/dist/entity/types.js +0 -1
- package/dist/libs/schema/dist/EnumType.js +0 -56
- package/dist/libs/schema/dist/FieldType.js +0 -49
- package/dist/libs/schema/dist/ScalarTypeEnum.js +0 -236
- package/dist/libs/schema/dist/SchemaModel.js +0 -39
- package/dist/libs/schema/dist/entity/defineEntity.js +0 -236
- package/dist/libs/schema/dist/entity/index.js +0 -2
- package/dist/libs/schema/dist/entity/types.js +0 -1
|
@@ -1,99 +1,100 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _lssm_lib_schema216 from "@lssm/lib.schema";
|
|
2
2
|
|
|
3
3
|
//#region src/approval/approval.schema.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* An approval request.
|
|
6
6
|
*/
|
|
7
|
-
declare const ApprovalRequestModel:
|
|
7
|
+
declare const ApprovalRequestModel: _lssm_lib_schema216.SchemaModel<{
|
|
8
8
|
id: {
|
|
9
|
-
type:
|
|
9
|
+
type: _lssm_lib_schema216.FieldType<string, string>;
|
|
10
10
|
isOptional: false;
|
|
11
11
|
};
|
|
12
12
|
workflowInstanceId: {
|
|
13
|
-
type:
|
|
13
|
+
type: _lssm_lib_schema216.FieldType<string, string>;
|
|
14
14
|
isOptional: false;
|
|
15
15
|
};
|
|
16
16
|
stepExecutionId: {
|
|
17
|
-
type:
|
|
17
|
+
type: _lssm_lib_schema216.FieldType<string, string>;
|
|
18
18
|
isOptional: false;
|
|
19
19
|
};
|
|
20
20
|
approverId: {
|
|
21
|
-
type:
|
|
21
|
+
type: _lssm_lib_schema216.FieldType<string, string>;
|
|
22
22
|
isOptional: false;
|
|
23
23
|
};
|
|
24
24
|
approverRole: {
|
|
25
|
-
type:
|
|
25
|
+
type: _lssm_lib_schema216.FieldType<string, string>;
|
|
26
26
|
isOptional: true;
|
|
27
27
|
};
|
|
28
28
|
title: {
|
|
29
|
-
type:
|
|
29
|
+
type: _lssm_lib_schema216.FieldType<string, string>;
|
|
30
30
|
isOptional: false;
|
|
31
31
|
};
|
|
32
32
|
description: {
|
|
33
|
-
type:
|
|
33
|
+
type: _lssm_lib_schema216.FieldType<string, string>;
|
|
34
34
|
isOptional: true;
|
|
35
35
|
};
|
|
36
36
|
status: {
|
|
37
|
-
type:
|
|
37
|
+
type: _lssm_lib_schema216.EnumType<[string, string, string, string, string, string, string]>;
|
|
38
38
|
isOptional: false;
|
|
39
39
|
};
|
|
40
40
|
decision: {
|
|
41
|
-
type:
|
|
41
|
+
type: _lssm_lib_schema216.EnumType<[string, string, string, string, string]>;
|
|
42
42
|
isOptional: true;
|
|
43
43
|
};
|
|
44
44
|
decisionComment: {
|
|
45
|
-
type:
|
|
45
|
+
type: _lssm_lib_schema216.FieldType<string, string>;
|
|
46
46
|
isOptional: true;
|
|
47
47
|
};
|
|
48
48
|
decidedAt: {
|
|
49
|
-
type:
|
|
49
|
+
type: _lssm_lib_schema216.FieldType<Date, string>;
|
|
50
50
|
isOptional: true;
|
|
51
51
|
};
|
|
52
52
|
dueAt: {
|
|
53
|
-
type:
|
|
53
|
+
type: _lssm_lib_schema216.FieldType<Date, string>;
|
|
54
54
|
isOptional: true;
|
|
55
55
|
};
|
|
56
56
|
contextSnapshot: {
|
|
57
|
-
type:
|
|
57
|
+
type: _lssm_lib_schema216.FieldType<unknown, unknown>;
|
|
58
58
|
isOptional: true;
|
|
59
59
|
};
|
|
60
60
|
sequenceOrder: {
|
|
61
|
-
type:
|
|
61
|
+
type: _lssm_lib_schema216.FieldType<number, number>;
|
|
62
62
|
isOptional: false;
|
|
63
63
|
};
|
|
64
64
|
createdAt: {
|
|
65
|
-
type:
|
|
65
|
+
type: _lssm_lib_schema216.FieldType<Date, string>;
|
|
66
66
|
isOptional: false;
|
|
67
67
|
};
|
|
68
68
|
}>;
|
|
69
69
|
/**
|
|
70
70
|
* A comment on an approval.
|
|
71
71
|
*/
|
|
72
|
-
declare const ApprovalCommentModel:
|
|
72
|
+
declare const ApprovalCommentModel: _lssm_lib_schema216.SchemaModel<{
|
|
73
73
|
id: {
|
|
74
|
-
type:
|
|
74
|
+
type: _lssm_lib_schema216.FieldType<string, string>;
|
|
75
75
|
isOptional: false;
|
|
76
76
|
};
|
|
77
77
|
approvalRequestId: {
|
|
78
|
-
type:
|
|
78
|
+
type: _lssm_lib_schema216.FieldType<string, string>;
|
|
79
79
|
isOptional: false;
|
|
80
80
|
};
|
|
81
81
|
authorId: {
|
|
82
|
-
type:
|
|
82
|
+
type: _lssm_lib_schema216.FieldType<string, string>;
|
|
83
83
|
isOptional: false;
|
|
84
84
|
};
|
|
85
85
|
content: {
|
|
86
|
-
type:
|
|
86
|
+
type: _lssm_lib_schema216.FieldType<string, string>;
|
|
87
87
|
isOptional: false;
|
|
88
88
|
};
|
|
89
89
|
isInternal: {
|
|
90
|
-
type:
|
|
90
|
+
type: _lssm_lib_schema216.FieldType<boolean, boolean>;
|
|
91
91
|
isOptional: false;
|
|
92
92
|
};
|
|
93
93
|
createdAt: {
|
|
94
|
-
type:
|
|
94
|
+
type: _lssm_lib_schema216.FieldType<Date, string>;
|
|
95
95
|
isOptional: false;
|
|
96
96
|
};
|
|
97
97
|
}>;
|
|
98
98
|
//#endregion
|
|
99
|
-
export { ApprovalCommentModel, ApprovalRequestModel };
|
|
99
|
+
export { ApprovalCommentModel, ApprovalRequestModel };
|
|
100
|
+
//# sourceMappingURL=approval.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval.schema.d.ts","names":[],"sources":["../../src/approval/approval.schema.ts"],"sourcesContent":[],"mappings":";;;;;;AAMa,cAAA,oBAgCX,sBAhC+B,WAgC/B,CAAA;EAAA,EAAA,EAAA;UAAA,mBAAA,CAAA;;;;;;;;;;;;;;;;;oBAhC+B;EAAA,CAAA;EAqCpB,KAAA,EAAA;IAcX,IAAA,+BAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;IAd+B,IAAA,8BAAA,CAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAApB,0CAAoB;;UAc/B,mBAAA,CAAA"}
|
|
@@ -1,42 +1,40 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { defineSchemaModel } from "../libs/schema/dist/SchemaModel.js";
|
|
3
|
-
import "../libs/schema/dist/index.js";
|
|
1
|
+
import { E5, K5 } from "../libs/schema/dist/index.js";
|
|
4
2
|
import { ApprovalDecisionEnum, ApprovalStatusEnum } from "./approval.enum.js";
|
|
5
3
|
|
|
6
4
|
//#region src/approval/approval.schema.ts
|
|
7
5
|
/**
|
|
8
6
|
* An approval request.
|
|
9
7
|
*/
|
|
10
|
-
const ApprovalRequestModel =
|
|
8
|
+
const ApprovalRequestModel = K5({
|
|
11
9
|
name: "ApprovalRequestModel",
|
|
12
10
|
description: "An approval request",
|
|
13
11
|
fields: {
|
|
14
12
|
id: {
|
|
15
|
-
type:
|
|
13
|
+
type: E5.String_unsecure(),
|
|
16
14
|
isOptional: false
|
|
17
15
|
},
|
|
18
16
|
workflowInstanceId: {
|
|
19
|
-
type:
|
|
17
|
+
type: E5.String_unsecure(),
|
|
20
18
|
isOptional: false
|
|
21
19
|
},
|
|
22
20
|
stepExecutionId: {
|
|
23
|
-
type:
|
|
21
|
+
type: E5.String_unsecure(),
|
|
24
22
|
isOptional: false
|
|
25
23
|
},
|
|
26
24
|
approverId: {
|
|
27
|
-
type:
|
|
25
|
+
type: E5.String_unsecure(),
|
|
28
26
|
isOptional: false
|
|
29
27
|
},
|
|
30
28
|
approverRole: {
|
|
31
|
-
type:
|
|
29
|
+
type: E5.String_unsecure(),
|
|
32
30
|
isOptional: true
|
|
33
31
|
},
|
|
34
32
|
title: {
|
|
35
|
-
type:
|
|
33
|
+
type: E5.String_unsecure(),
|
|
36
34
|
isOptional: false
|
|
37
35
|
},
|
|
38
36
|
description: {
|
|
39
|
-
type:
|
|
37
|
+
type: E5.String_unsecure(),
|
|
40
38
|
isOptional: true
|
|
41
39
|
},
|
|
42
40
|
status: {
|
|
@@ -48,27 +46,27 @@ const ApprovalRequestModel = defineSchemaModel({
|
|
|
48
46
|
isOptional: true
|
|
49
47
|
},
|
|
50
48
|
decisionComment: {
|
|
51
|
-
type:
|
|
49
|
+
type: E5.String_unsecure(),
|
|
52
50
|
isOptional: true
|
|
53
51
|
},
|
|
54
52
|
decidedAt: {
|
|
55
|
-
type:
|
|
53
|
+
type: E5.DateTime(),
|
|
56
54
|
isOptional: true
|
|
57
55
|
},
|
|
58
56
|
dueAt: {
|
|
59
|
-
type:
|
|
57
|
+
type: E5.DateTime(),
|
|
60
58
|
isOptional: true
|
|
61
59
|
},
|
|
62
60
|
contextSnapshot: {
|
|
63
|
-
type:
|
|
61
|
+
type: E5.JSON(),
|
|
64
62
|
isOptional: true
|
|
65
63
|
},
|
|
66
64
|
sequenceOrder: {
|
|
67
|
-
type:
|
|
65
|
+
type: E5.Int_unsecure(),
|
|
68
66
|
isOptional: false
|
|
69
67
|
},
|
|
70
68
|
createdAt: {
|
|
71
|
-
type:
|
|
69
|
+
type: E5.DateTime(),
|
|
72
70
|
isOptional: false
|
|
73
71
|
}
|
|
74
72
|
}
|
|
@@ -76,36 +74,37 @@ const ApprovalRequestModel = defineSchemaModel({
|
|
|
76
74
|
/**
|
|
77
75
|
* A comment on an approval.
|
|
78
76
|
*/
|
|
79
|
-
const ApprovalCommentModel =
|
|
77
|
+
const ApprovalCommentModel = K5({
|
|
80
78
|
name: "ApprovalCommentModel",
|
|
81
79
|
description: "A comment on an approval",
|
|
82
80
|
fields: {
|
|
83
81
|
id: {
|
|
84
|
-
type:
|
|
82
|
+
type: E5.String_unsecure(),
|
|
85
83
|
isOptional: false
|
|
86
84
|
},
|
|
87
85
|
approvalRequestId: {
|
|
88
|
-
type:
|
|
86
|
+
type: E5.String_unsecure(),
|
|
89
87
|
isOptional: false
|
|
90
88
|
},
|
|
91
89
|
authorId: {
|
|
92
|
-
type:
|
|
90
|
+
type: E5.String_unsecure(),
|
|
93
91
|
isOptional: false
|
|
94
92
|
},
|
|
95
93
|
content: {
|
|
96
|
-
type:
|
|
94
|
+
type: E5.String_unsecure(),
|
|
97
95
|
isOptional: false
|
|
98
96
|
},
|
|
99
97
|
isInternal: {
|
|
100
|
-
type:
|
|
98
|
+
type: E5.Boolean(),
|
|
101
99
|
isOptional: false
|
|
102
100
|
},
|
|
103
101
|
createdAt: {
|
|
104
|
-
type:
|
|
102
|
+
type: E5.DateTime(),
|
|
105
103
|
isOptional: false
|
|
106
104
|
}
|
|
107
105
|
}
|
|
108
106
|
});
|
|
109
107
|
|
|
110
108
|
//#endregion
|
|
111
|
-
export { ApprovalCommentModel, ApprovalRequestModel };
|
|
109
|
+
export { ApprovalCommentModel, ApprovalRequestModel };
|
|
110
|
+
//# sourceMappingURL=approval.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval.schema.js","names":["defineSchemaModel","ScalarTypeEnum"],"sources":["../../src/approval/approval.schema.ts"],"sourcesContent":["import { defineSchemaModel, ScalarTypeEnum } from '@lssm/lib.schema';\nimport { ApprovalStatusEnum, ApprovalDecisionEnum } from './approval.enum';\n\n/**\n * An approval request.\n */\nexport const ApprovalRequestModel = defineSchemaModel({\n name: 'ApprovalRequestModel',\n description: 'An approval request',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n workflowInstanceId: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n stepExecutionId: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n approverId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n approverRole: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: true,\n },\n title: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n status: { type: ApprovalStatusEnum, isOptional: false },\n decision: { type: ApprovalDecisionEnum, isOptional: true },\n decisionComment: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: true,\n },\n decidedAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n dueAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n contextSnapshot: { type: ScalarTypeEnum.JSON(), isOptional: true },\n sequenceOrder: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\n/**\n * A comment on an approval.\n */\nexport const ApprovalCommentModel = defineSchemaModel({\n name: 'ApprovalCommentModel',\n description: 'A comment on an approval',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n approvalRequestId: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n authorId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n content: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n isInternal: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n"],"mappings":";;;;;;;AAMA,MAAa,uBAAuBA,GAAkB;CACpD,MAAM;CACN,aAAa;CACb,QAAQ;EACN,IAAI;GAAE,MAAMC,GAAe,iBAAiB;GAAE,YAAY;GAAO;EACjE,oBAAoB;GAClB,MAAMA,GAAe,iBAAiB;GACtC,YAAY;GACb;EACD,iBAAiB;GACf,MAAMA,GAAe,iBAAiB;GACtC,YAAY;GACb;EACD,YAAY;GAAE,MAAMA,GAAe,iBAAiB;GAAE,YAAY;GAAO;EACzE,cAAc;GACZ,MAAMA,GAAe,iBAAiB;GACtC,YAAY;GACb;EACD,OAAO;GAAE,MAAMA,GAAe,iBAAiB;GAAE,YAAY;GAAO;EACpE,aAAa;GAAE,MAAMA,GAAe,iBAAiB;GAAE,YAAY;GAAM;EACzE,QAAQ;GAAE,MAAM;GAAoB,YAAY;GAAO;EACvD,UAAU;GAAE,MAAM;GAAsB,YAAY;GAAM;EAC1D,iBAAiB;GACf,MAAMA,GAAe,iBAAiB;GACtC,YAAY;GACb;EACD,WAAW;GAAE,MAAMA,GAAe,UAAU;GAAE,YAAY;GAAM;EAChE,OAAO;GAAE,MAAMA,GAAe,UAAU;GAAE,YAAY;GAAM;EAC5D,iBAAiB;GAAE,MAAMA,GAAe,MAAM;GAAE,YAAY;GAAM;EAClE,eAAe;GAAE,MAAMA,GAAe,cAAc;GAAE,YAAY;GAAO;EACzE,WAAW;GAAE,MAAMA,GAAe,UAAU;GAAE,YAAY;GAAO;EAClE;CACF,CAAC;;;;AAKF,MAAa,uBAAuBD,GAAkB;CACpD,MAAM;CACN,aAAa;CACb,QAAQ;EACN,IAAI;GAAE,MAAMC,GAAe,iBAAiB;GAAE,YAAY;GAAO;EACjE,mBAAmB;GACjB,MAAMA,GAAe,iBAAiB;GACtC,YAAY;GACb;EACD,UAAU;GAAE,MAAMA,GAAe,iBAAiB;GAAE,YAAY;GAAO;EACvE,SAAS;GAAE,MAAMA,GAAe,iBAAiB;GAAE,YAAY;GAAO;EACtE,YAAY;GAAE,MAAMA,GAAe,SAAS;GAAE,YAAY;GAAO;EACjE,WAAW;GAAE,MAAMA,GAAe,UAAU;GAAE,YAAY;GAAO;EAClE;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-system.docblock.js","names":[],"sources":["../../src/docs/workflow-system.docblock.ts"],"sourcesContent":["import type { DocBlock } from '@lssm/lib.contracts/docs';\nimport { registerDocBlocks } from '@lssm/lib.contracts/docs';\n\nconst workflowSystemDocBlocks: DocBlock[] = [\n {\n id: 'docs.examples.workflow-system',\n title: 'Workflow / Approval System',\n summary:\n 'Reference app showing state-machine driven approvals with RBAC, audit trail, notifications, and jobs.',\n kind: 'reference',\n visibility: 'public',\n route: '/docs/examples/workflow-system',\n tags: ['workflow', 'approval', 'state-machine', 'rbac'],\n body: `## Entities\n\n- WorkflowDefinition, WorkflowStep, WorkflowInstance, Approval.\n- State machine expressed in \\`src/state-machine\\` with allowed transitions and role gates.\n\n## Contracts\n\n- \\`workflow.definition.create\\`, \\`workflow.instance.start\\`, \\`workflow.step.approve\\`, \\`workflow.step.reject\\`, \\`workflow.instance.comment\\`.\n- Policies enforced via Identity/RBAC module; audit trail emitted on each transition.\n\n## Events & Jobs\n\n- Emits \\`workflow.instance.started\\`, \\`workflow.step.completed\\`, \\`workflow.step.rejected\\`, \\`workflow.instance.finished\\`.\n- Reminder jobs can be scheduled via @lssm/lib.jobs for pending approvals.\n\n## UI / Presentations\n\n- Dashboard, definition list/editor, instance detail with action buttons derived from state machine.\n- Templates registered in Studio Template Registry under \\`workflow-system\\`.\n\n## Notes\n\n- Keep transitions declarative to enable safe regeneration; role guards live in spec.\n- Use Notification Center for approval requests and outcomes; attach files via Files module if needed.\n`,\n },\n {\n id: 'docs.examples.workflow-system.goal',\n title: 'Workflow System — Goal',\n summary:\n 'Why the workflow/approval template exists and outcomes it targets.',\n kind: 'goal',\n visibility: 'public',\n route: '/docs/examples/workflow-system/goal',\n tags: ['workflow', 'goal'],\n body: `## Why it matters\n- Provides a regenerable, role-gated approval engine using declarative state machines.\n- Keeps workflow rules consistent across UI/API/events with auditability.\n\n## Business/Product goal\n- Enable approvals with clear transitions, reminders, and notifications.\n- Support compliance via Audit Trail and Feature Flags for staged changes.\n\n## Success criteria\n- State changes are declarative and regenerate cleanly.\n- Every transition emits auditable events and respects RBAC guards.`,\n },\n {\n id: 'docs.examples.workflow-system.usage',\n title: 'Workflow System — Usage',\n summary: 'How to configure workflows, transitions, and regenerate safely.',\n kind: 'usage',\n visibility: 'public',\n route: '/docs/examples/workflow-system/usage',\n tags: ['workflow', 'usage'],\n body: `## Setup\n1) Define WorkflowDefinition steps and allowed transitions with role gates in spec.\n2) Seed sample workflows/instances (if provided) or create via UI; enable reminders via Jobs.\n\n## Extend & regenerate\n1) Add steps/transitions or approval conditions in spec; include PII paths if comments/files.\n2) Regenerate to sync UI action buttons and API/state machine behavior.\n3) Use Feature Flags to trial new transitions or escalation rules.\n\n## Guardrails\n- Emit events for every transition; log to Audit Trail.\n- Use Notifications for approvals/rejections; schedule reminders for pending steps.\n- Keep transitions declarative; avoid imperative branching in handlers.`,\n },\n {\n id: 'docs.examples.workflow-system.constraints',\n title: 'Workflow System — Constraints & Safety',\n summary:\n 'Internal guardrails for state machines, RBAC, and regeneration semantics.',\n kind: 'reference',\n visibility: 'internal',\n route: '/docs/examples/workflow-system/constraints',\n tags: ['workflow', 'constraints', 'internal'],\n body: `## Constraints\n- State machine (steps/transitions) must stay declarative in spec; no hidden code paths.\n- Events to emit: instance.started, step.completed/rejected, instance.finished.\n- Regeneration must not change approval logic without explicit spec diff.\n\n## PII & Compliance\n- Mark any PII in comments/attachments; redact in markdown/JSON.\n- Ensure Audit Trail captures every transition; Notifications for approvals/rejections.\n\n## Verification\n- Add fixtures for transition changes and role gates.\n- Validate reminders (Jobs) stay aligned with pending states after regeneration.\n- Use Feature Flags for new transitions/escalation rules; default safe/off.`,\n },\n];\n\nregisterDocBlocks(workflowSystemDocBlocks);\n"],"mappings":";;;;AA2GA,kBAxG4C;CAC1C;EACE,IAAI;EACJ,OAAO;EACP,SACE;EACF,MAAM;EACN,YAAY;EACZ,OAAO;EACP,MAAM;GAAC;GAAY;GAAY;GAAiB;GAAO;EACvD,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;EAyBP;CACD;EACE,IAAI;EACJ,OAAO;EACP,SACE;EACF,MAAM;EACN,YAAY;EACZ,OAAO;EACP,MAAM,CAAC,YAAY,OAAO;EAC1B,MAAM;;;;;;;;;;;EAWP;CACD;EACE,IAAI;EACJ,OAAO;EACP,SAAS;EACT,MAAM;EACN,YAAY;EACZ,OAAO;EACP,MAAM,CAAC,YAAY,QAAQ;EAC3B,MAAM;;;;;;;;;;;;;EAaP;CACD;EACE,IAAI;EACJ,OAAO;EACP,SACE;EACF,MAAM;EACN,YAAY;EACZ,OAAO;EACP,MAAM;GAAC;GAAY;GAAe;GAAW;EAC7C,MAAM;;;;;;;;;;;;;EAaP;CACF,CAEyC"}
|
|
@@ -1,57 +1,58 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _lssm_lib_schema494 from "@lssm/lib.schema";
|
|
2
2
|
|
|
3
3
|
//#region src/entities/approval.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Approval status enum.
|
|
6
6
|
*/
|
|
7
|
-
declare const ApprovalStatusEnum:
|
|
7
|
+
declare const ApprovalStatusEnum: _lssm_lib_schema494.EntityEnumDef;
|
|
8
8
|
/**
|
|
9
9
|
* Approval decision enum.
|
|
10
10
|
*/
|
|
11
|
-
declare const ApprovalDecisionEnum:
|
|
11
|
+
declare const ApprovalDecisionEnum: _lssm_lib_schema494.EntityEnumDef;
|
|
12
12
|
/**
|
|
13
13
|
* ApprovalRequest entity - a request for approval from a user.
|
|
14
14
|
*
|
|
15
15
|
* Created when a workflow reaches an APPROVAL step. Multiple requests
|
|
16
16
|
* may be created depending on the approval mode.
|
|
17
17
|
*/
|
|
18
|
-
declare const ApprovalRequestEntity:
|
|
19
|
-
id:
|
|
20
|
-
workflowInstanceId:
|
|
21
|
-
stepExecutionId:
|
|
22
|
-
approverId:
|
|
23
|
-
approverRole:
|
|
24
|
-
title:
|
|
25
|
-
description:
|
|
26
|
-
status:
|
|
27
|
-
decision:
|
|
28
|
-
decisionComment:
|
|
29
|
-
decidedAt:
|
|
30
|
-
delegatedTo:
|
|
31
|
-
delegationReason:
|
|
32
|
-
escalationLevel:
|
|
33
|
-
escalatedAt:
|
|
34
|
-
dueAt:
|
|
35
|
-
reminderSentAt:
|
|
36
|
-
contextSnapshot:
|
|
37
|
-
sequenceOrder:
|
|
38
|
-
createdAt:
|
|
39
|
-
updatedAt:
|
|
40
|
-
workflowInstance:
|
|
41
|
-
stepExecution:
|
|
18
|
+
declare const ApprovalRequestEntity: _lssm_lib_schema494.EntitySpec<{
|
|
19
|
+
id: _lssm_lib_schema494.EntityScalarField;
|
|
20
|
+
workflowInstanceId: _lssm_lib_schema494.EntityScalarField;
|
|
21
|
+
stepExecutionId: _lssm_lib_schema494.EntityScalarField;
|
|
22
|
+
approverId: _lssm_lib_schema494.EntityScalarField;
|
|
23
|
+
approverRole: _lssm_lib_schema494.EntityScalarField;
|
|
24
|
+
title: _lssm_lib_schema494.EntityScalarField;
|
|
25
|
+
description: _lssm_lib_schema494.EntityScalarField;
|
|
26
|
+
status: _lssm_lib_schema494.EntityEnumField;
|
|
27
|
+
decision: _lssm_lib_schema494.EntityEnumField;
|
|
28
|
+
decisionComment: _lssm_lib_schema494.EntityScalarField;
|
|
29
|
+
decidedAt: _lssm_lib_schema494.EntityScalarField;
|
|
30
|
+
delegatedTo: _lssm_lib_schema494.EntityScalarField;
|
|
31
|
+
delegationReason: _lssm_lib_schema494.EntityScalarField;
|
|
32
|
+
escalationLevel: _lssm_lib_schema494.EntityScalarField;
|
|
33
|
+
escalatedAt: _lssm_lib_schema494.EntityScalarField;
|
|
34
|
+
dueAt: _lssm_lib_schema494.EntityScalarField;
|
|
35
|
+
reminderSentAt: _lssm_lib_schema494.EntityScalarField;
|
|
36
|
+
contextSnapshot: _lssm_lib_schema494.EntityScalarField;
|
|
37
|
+
sequenceOrder: _lssm_lib_schema494.EntityScalarField;
|
|
38
|
+
createdAt: _lssm_lib_schema494.EntityScalarField;
|
|
39
|
+
updatedAt: _lssm_lib_schema494.EntityScalarField;
|
|
40
|
+
workflowInstance: _lssm_lib_schema494.EntityRelationField;
|
|
41
|
+
stepExecution: _lssm_lib_schema494.EntityRelationField;
|
|
42
42
|
}>;
|
|
43
43
|
/**
|
|
44
44
|
* ApprovalComment entity - comments on approval requests.
|
|
45
45
|
*/
|
|
46
|
-
declare const ApprovalCommentEntity:
|
|
47
|
-
id:
|
|
48
|
-
approvalRequestId:
|
|
49
|
-
authorId:
|
|
50
|
-
content:
|
|
51
|
-
isInternal:
|
|
52
|
-
createdAt:
|
|
53
|
-
updatedAt:
|
|
54
|
-
approvalRequest:
|
|
46
|
+
declare const ApprovalCommentEntity: _lssm_lib_schema494.EntitySpec<{
|
|
47
|
+
id: _lssm_lib_schema494.EntityScalarField;
|
|
48
|
+
approvalRequestId: _lssm_lib_schema494.EntityScalarField;
|
|
49
|
+
authorId: _lssm_lib_schema494.EntityScalarField;
|
|
50
|
+
content: _lssm_lib_schema494.EntityScalarField;
|
|
51
|
+
isInternal: _lssm_lib_schema494.EntityScalarField;
|
|
52
|
+
createdAt: _lssm_lib_schema494.EntityScalarField;
|
|
53
|
+
updatedAt: _lssm_lib_schema494.EntityScalarField;
|
|
54
|
+
approvalRequest: _lssm_lib_schema494.EntityRelationField;
|
|
55
55
|
}>;
|
|
56
56
|
//#endregion
|
|
57
|
-
export { ApprovalCommentEntity, ApprovalDecisionEnum, ApprovalRequestEntity, ApprovalStatusEnum };
|
|
57
|
+
export { ApprovalCommentEntity, ApprovalDecisionEnum, ApprovalRequestEntity, ApprovalStatusEnum };
|
|
58
|
+
//# sourceMappingURL=approval.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval.d.ts","names":[],"sources":["../../src/entities/approval.ts"],"sourcesContent":[],"mappings":";;;;;;AAKa,cAAA,kBAaX,EAAA,mBAAA,CAb6B,aAa7B;AAKF;AAmBA;;cAnBa,sBAWX,mBAAA,CAX+B;;;;;;;cAmBpB,2CAAqB;MA4FhC,mBAAA,CAAA;;;;;;;;;;;;;;oDA5FgC;EAAA,KAAA,uCAAA;EAiGrB,cAAA,uCAmCX;EAAA,eAAA,uCAAA;;;;;;;;;;cAnCW,2CAAqB;MAmChC,mBAAA,CAAA"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "../libs/schema/dist/index.js";
|
|
1
|
+
import { L5, Z5, _5, b5 } from "../libs/schema/dist/index.js";
|
|
3
2
|
|
|
4
3
|
//#region src/entities/approval.ts
|
|
5
4
|
/**
|
|
6
5
|
* Approval status enum.
|
|
7
6
|
*/
|
|
8
|
-
const ApprovalStatusEnum =
|
|
7
|
+
const ApprovalStatusEnum = Z5({
|
|
9
8
|
name: "ApprovalStatus",
|
|
10
9
|
values: [
|
|
11
10
|
"PENDING",
|
|
@@ -22,7 +21,7 @@ const ApprovalStatusEnum = defineEntityEnum({
|
|
|
22
21
|
/**
|
|
23
22
|
* Approval decision enum.
|
|
24
23
|
*/
|
|
25
|
-
const ApprovalDecisionEnum =
|
|
24
|
+
const ApprovalDecisionEnum = Z5({
|
|
26
25
|
name: "ApprovalDecision",
|
|
27
26
|
values: [
|
|
28
27
|
"APPROVE",
|
|
@@ -40,89 +39,90 @@ const ApprovalDecisionEnum = defineEntityEnum({
|
|
|
40
39
|
* Created when a workflow reaches an APPROVAL step. Multiple requests
|
|
41
40
|
* may be created depending on the approval mode.
|
|
42
41
|
*/
|
|
43
|
-
const ApprovalRequestEntity =
|
|
42
|
+
const ApprovalRequestEntity = L5({
|
|
44
43
|
name: "ApprovalRequest",
|
|
45
44
|
description: "A pending approval request for a workflow step.",
|
|
46
45
|
schema: "workflow",
|
|
47
46
|
map: "approval_request",
|
|
48
47
|
fields: {
|
|
49
|
-
id:
|
|
50
|
-
workflowInstanceId:
|
|
51
|
-
stepExecutionId:
|
|
52
|
-
approverId:
|
|
53
|
-
approverRole:
|
|
48
|
+
id: _5.id({ description: "Unique approval request ID" }),
|
|
49
|
+
workflowInstanceId: _5.foreignKey(),
|
|
50
|
+
stepExecutionId: _5.foreignKey(),
|
|
51
|
+
approverId: _5.foreignKey({ description: "User requested to approve" }),
|
|
52
|
+
approverRole: _5.string({
|
|
54
53
|
isOptional: true,
|
|
55
54
|
description: "Role of the approver"
|
|
56
55
|
}),
|
|
57
|
-
title:
|
|
58
|
-
description:
|
|
59
|
-
status:
|
|
60
|
-
decision:
|
|
61
|
-
decisionComment:
|
|
56
|
+
title: _5.string({ description: "Approval request title" }),
|
|
57
|
+
description: _5.string({ isOptional: true }),
|
|
58
|
+
status: _5.enum("ApprovalStatus", { default: "PENDING" }),
|
|
59
|
+
decision: _5.enum("ApprovalDecision", { isOptional: true }),
|
|
60
|
+
decisionComment: _5.string({
|
|
62
61
|
isOptional: true,
|
|
63
62
|
description: "Comment explaining decision"
|
|
64
63
|
}),
|
|
65
|
-
decidedAt:
|
|
66
|
-
delegatedTo:
|
|
64
|
+
decidedAt: _5.dateTime({ isOptional: true }),
|
|
65
|
+
delegatedTo: _5.string({
|
|
67
66
|
isOptional: true,
|
|
68
67
|
description: "User delegated to"
|
|
69
68
|
}),
|
|
70
|
-
delegationReason:
|
|
71
|
-
escalationLevel:
|
|
69
|
+
delegationReason: _5.string({ isOptional: true }),
|
|
70
|
+
escalationLevel: _5.int({
|
|
72
71
|
default: 0,
|
|
73
72
|
description: "Current escalation level"
|
|
74
73
|
}),
|
|
75
|
-
escalatedAt:
|
|
76
|
-
dueAt:
|
|
74
|
+
escalatedAt: _5.dateTime({ isOptional: true }),
|
|
75
|
+
dueAt: _5.dateTime({
|
|
77
76
|
isOptional: true,
|
|
78
77
|
description: "When approval is due"
|
|
79
78
|
}),
|
|
80
|
-
reminderSentAt:
|
|
81
|
-
contextSnapshot:
|
|
79
|
+
reminderSentAt: _5.dateTime({ isOptional: true }),
|
|
80
|
+
contextSnapshot: _5.json({
|
|
82
81
|
isOptional: true,
|
|
83
82
|
description: "Snapshot of relevant data for review"
|
|
84
83
|
}),
|
|
85
|
-
sequenceOrder:
|
|
84
|
+
sequenceOrder: _5.int({
|
|
86
85
|
default: 0,
|
|
87
86
|
description: "Order in approval chain"
|
|
88
87
|
}),
|
|
89
|
-
createdAt:
|
|
90
|
-
updatedAt:
|
|
91
|
-
workflowInstance:
|
|
92
|
-
stepExecution:
|
|
88
|
+
createdAt: _5.createdAt(),
|
|
89
|
+
updatedAt: _5.updatedAt(),
|
|
90
|
+
workflowInstance: _5.belongsTo("WorkflowInstance", ["workflowInstanceId"], ["id"], { onDelete: "Cascade" }),
|
|
91
|
+
stepExecution: _5.belongsTo("StepExecution", ["stepExecutionId"], ["id"])
|
|
93
92
|
},
|
|
94
93
|
indexes: [
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
94
|
+
b5.on(["approverId", "status"]),
|
|
95
|
+
b5.on(["workflowInstanceId", "status"]),
|
|
96
|
+
b5.on(["stepExecutionId"]),
|
|
97
|
+
b5.on(["status", "dueAt"]),
|
|
98
|
+
b5.on(["createdAt"])
|
|
100
99
|
],
|
|
101
100
|
enums: [ApprovalStatusEnum, ApprovalDecisionEnum]
|
|
102
101
|
});
|
|
103
102
|
/**
|
|
104
103
|
* ApprovalComment entity - comments on approval requests.
|
|
105
104
|
*/
|
|
106
|
-
const ApprovalCommentEntity =
|
|
105
|
+
const ApprovalCommentEntity = L5({
|
|
107
106
|
name: "ApprovalComment",
|
|
108
107
|
description: "A comment on an approval request.",
|
|
109
108
|
schema: "workflow",
|
|
110
109
|
map: "approval_comment",
|
|
111
110
|
fields: {
|
|
112
|
-
id:
|
|
113
|
-
approvalRequestId:
|
|
114
|
-
authorId:
|
|
115
|
-
content:
|
|
116
|
-
isInternal:
|
|
111
|
+
id: _5.id(),
|
|
112
|
+
approvalRequestId: _5.foreignKey(),
|
|
113
|
+
authorId: _5.foreignKey(),
|
|
114
|
+
content: _5.string({ description: "Comment text" }),
|
|
115
|
+
isInternal: _5.boolean({
|
|
117
116
|
default: false,
|
|
118
117
|
description: "Internal note vs public comment"
|
|
119
118
|
}),
|
|
120
|
-
createdAt:
|
|
121
|
-
updatedAt:
|
|
122
|
-
approvalRequest:
|
|
119
|
+
createdAt: _5.createdAt(),
|
|
120
|
+
updatedAt: _5.updatedAt(),
|
|
121
|
+
approvalRequest: _5.belongsTo("ApprovalRequest", ["approvalRequestId"], ["id"], { onDelete: "Cascade" })
|
|
123
122
|
},
|
|
124
|
-
indexes: [
|
|
123
|
+
indexes: [b5.on(["approvalRequestId", "createdAt"])]
|
|
125
124
|
});
|
|
126
125
|
|
|
127
126
|
//#endregion
|
|
128
|
-
export { ApprovalCommentEntity, ApprovalDecisionEnum, ApprovalRequestEntity, ApprovalStatusEnum };
|
|
127
|
+
export { ApprovalCommentEntity, ApprovalDecisionEnum, ApprovalRequestEntity, ApprovalStatusEnum };
|
|
128
|
+
//# sourceMappingURL=approval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval.js","names":["defineEntityEnum","defineEntity","field","index"],"sources":["../../src/entities/approval.ts"],"sourcesContent":["import { defineEntity, defineEntityEnum, field, index } from '@lssm/lib.schema';\n\n/**\n * Approval status enum.\n */\nexport const ApprovalStatusEnum = defineEntityEnum({\n name: 'ApprovalStatus',\n values: [\n 'PENDING', // Awaiting decision\n 'APPROVED', // Approved\n 'REJECTED', // Rejected\n 'DELEGATED', // Delegated to another user\n 'ESCALATED', // Escalated due to timeout\n 'WITHDRAWN', // Request withdrawn\n 'EXPIRED', // Request expired\n ] as const,\n schema: 'workflow',\n description: 'Status of an approval request.',\n});\n\n/**\n * Approval decision enum.\n */\nexport const ApprovalDecisionEnum = defineEntityEnum({\n name: 'ApprovalDecision',\n values: [\n 'APPROVE',\n 'REJECT',\n 'REQUEST_CHANGES',\n 'DELEGATE',\n 'ABSTAIN',\n ] as const,\n schema: 'workflow',\n description: 'Possible approval decisions.',\n});\n\n/**\n * ApprovalRequest entity - a request for approval from a user.\n *\n * Created when a workflow reaches an APPROVAL step. Multiple requests\n * may be created depending on the approval mode.\n */\nexport const ApprovalRequestEntity = defineEntity({\n name: 'ApprovalRequest',\n description: 'A pending approval request for a workflow step.',\n schema: 'workflow',\n map: 'approval_request',\n fields: {\n id: field.id({ description: 'Unique approval request ID' }),\n\n // Parent\n workflowInstanceId: field.foreignKey(),\n stepExecutionId: field.foreignKey(),\n\n // Approver\n approverId: field.foreignKey({ description: 'User requested to approve' }),\n approverRole: field.string({\n isOptional: true,\n description: 'Role of the approver',\n }),\n\n // Request details\n title: field.string({ description: 'Approval request title' }),\n description: field.string({ isOptional: true }),\n\n // Status\n status: field.enum('ApprovalStatus', { default: 'PENDING' }),\n\n // Decision\n decision: field.enum('ApprovalDecision', { isOptional: true }),\n decisionComment: field.string({\n isOptional: true,\n description: 'Comment explaining decision',\n }),\n decidedAt: field.dateTime({ isOptional: true }),\n\n // Delegation\n delegatedTo: field.string({\n isOptional: true,\n description: 'User delegated to',\n }),\n delegationReason: field.string({ isOptional: true }),\n\n // Escalation\n escalationLevel: field.int({\n default: 0,\n description: 'Current escalation level',\n }),\n escalatedAt: field.dateTime({ isOptional: true }),\n\n // Deadlines\n dueAt: field.dateTime({\n isOptional: true,\n description: 'When approval is due',\n }),\n reminderSentAt: field.dateTime({ isOptional: true }),\n\n // Context - data to display for approval\n contextSnapshot: field.json({\n isOptional: true,\n description: 'Snapshot of relevant data for review',\n }),\n\n // Order (for sequential approvals)\n sequenceOrder: field.int({\n default: 0,\n description: 'Order in approval chain',\n }),\n\n // Timestamps\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n\n // Relations\n workflowInstance: field.belongsTo(\n 'WorkflowInstance',\n ['workflowInstanceId'],\n ['id'],\n { onDelete: 'Cascade' }\n ),\n stepExecution: field.belongsTo(\n 'StepExecution',\n ['stepExecutionId'],\n ['id']\n ),\n },\n indexes: [\n index.on(['approverId', 'status']),\n index.on(['workflowInstanceId', 'status']),\n index.on(['stepExecutionId']),\n index.on(['status', 'dueAt']),\n index.on(['createdAt']),\n ],\n enums: [ApprovalStatusEnum, ApprovalDecisionEnum],\n});\n\n/**\n * ApprovalComment entity - comments on approval requests.\n */\nexport const ApprovalCommentEntity = defineEntity({\n name: 'ApprovalComment',\n description: 'A comment on an approval request.',\n schema: 'workflow',\n map: 'approval_comment',\n fields: {\n id: field.id(),\n\n approvalRequestId: field.foreignKey(),\n\n // Author\n authorId: field.foreignKey(),\n\n // Content\n content: field.string({ description: 'Comment text' }),\n\n // Type\n isInternal: field.boolean({\n default: false,\n description: 'Internal note vs public comment',\n }),\n\n // Timestamps\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n\n // Relations\n approvalRequest: field.belongsTo(\n 'ApprovalRequest',\n ['approvalRequestId'],\n ['id'],\n { onDelete: 'Cascade' }\n ),\n },\n indexes: [index.on(['approvalRequestId', 'createdAt'])],\n});\n"],"mappings":";;;;;;AAKA,MAAa,qBAAqBA,GAAiB;CACjD,MAAM;CACN,QAAQ;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACD;CACD,QAAQ;CACR,aAAa;CACd,CAAC;;;;AAKF,MAAa,uBAAuBA,GAAiB;CACnD,MAAM;CACN,QAAQ;EACN;EACA;EACA;EACA;EACA;EACD;CACD,QAAQ;CACR,aAAa;CACd,CAAC;;;;;;;AAQF,MAAa,wBAAwBC,GAAa;CAChD,MAAM;CACN,aAAa;CACb,QAAQ;CACR,KAAK;CACL,QAAQ;EACN,IAAIC,GAAM,GAAG,EAAE,aAAa,8BAA8B,CAAC;EAG3D,oBAAoBA,GAAM,YAAY;EACtC,iBAAiBA,GAAM,YAAY;EAGnC,YAAYA,GAAM,WAAW,EAAE,aAAa,6BAA6B,CAAC;EAC1E,cAAcA,GAAM,OAAO;GACzB,YAAY;GACZ,aAAa;GACd,CAAC;EAGF,OAAOA,GAAM,OAAO,EAAE,aAAa,0BAA0B,CAAC;EAC9D,aAAaA,GAAM,OAAO,EAAE,YAAY,MAAM,CAAC;EAG/C,QAAQA,GAAM,KAAK,kBAAkB,EAAE,SAAS,WAAW,CAAC;EAG5D,UAAUA,GAAM,KAAK,oBAAoB,EAAE,YAAY,MAAM,CAAC;EAC9D,iBAAiBA,GAAM,OAAO;GAC5B,YAAY;GACZ,aAAa;GACd,CAAC;EACF,WAAWA,GAAM,SAAS,EAAE,YAAY,MAAM,CAAC;EAG/C,aAAaA,GAAM,OAAO;GACxB,YAAY;GACZ,aAAa;GACd,CAAC;EACF,kBAAkBA,GAAM,OAAO,EAAE,YAAY,MAAM,CAAC;EAGpD,iBAAiBA,GAAM,IAAI;GACzB,SAAS;GACT,aAAa;GACd,CAAC;EACF,aAAaA,GAAM,SAAS,EAAE,YAAY,MAAM,CAAC;EAGjD,OAAOA,GAAM,SAAS;GACpB,YAAY;GACZ,aAAa;GACd,CAAC;EACF,gBAAgBA,GAAM,SAAS,EAAE,YAAY,MAAM,CAAC;EAGpD,iBAAiBA,GAAM,KAAK;GAC1B,YAAY;GACZ,aAAa;GACd,CAAC;EAGF,eAAeA,GAAM,IAAI;GACvB,SAAS;GACT,aAAa;GACd,CAAC;EAGF,WAAWA,GAAM,WAAW;EAC5B,WAAWA,GAAM,WAAW;EAG5B,kBAAkBA,GAAM,UACtB,oBACA,CAAC,qBAAqB,EACtB,CAAC,KAAK,EACN,EAAE,UAAU,WAAW,CACxB;EACD,eAAeA,GAAM,UACnB,iBACA,CAAC,kBAAkB,EACnB,CAAC,KAAK,CACP;EACF;CACD,SAAS;EACPC,GAAM,GAAG,CAAC,cAAc,SAAS,CAAC;EAClCA,GAAM,GAAG,CAAC,sBAAsB,SAAS,CAAC;EAC1CA,GAAM,GAAG,CAAC,kBAAkB,CAAC;EAC7BA,GAAM,GAAG,CAAC,UAAU,QAAQ,CAAC;EAC7BA,GAAM,GAAG,CAAC,YAAY,CAAC;EACxB;CACD,OAAO,CAAC,oBAAoB,qBAAqB;CAClD,CAAC;;;;AAKF,MAAa,wBAAwBF,GAAa;CAChD,MAAM;CACN,aAAa;CACb,QAAQ;CACR,KAAK;CACL,QAAQ;EACN,IAAIC,GAAM,IAAI;EAEd,mBAAmBA,GAAM,YAAY;EAGrC,UAAUA,GAAM,YAAY;EAG5B,SAASA,GAAM,OAAO,EAAE,aAAa,gBAAgB,CAAC;EAGtD,YAAYA,GAAM,QAAQ;GACxB,SAAS;GACT,aAAa;GACd,CAAC;EAGF,WAAWA,GAAM,WAAW;EAC5B,WAAWA,GAAM,WAAW;EAG5B,iBAAiBA,GAAM,UACrB,mBACA,CAAC,oBAAoB,EACrB,CAAC,KAAK,EACN,EAAE,UAAU,WAAW,CACxB;EACF;CACD,SAAS,CAACC,GAAM,GAAG,CAAC,qBAAqB,YAAY,CAAC,CAAC;CACxD,CAAC"}
|