@lssm/example.workflow-system 0.0.0-canary-20251217083314 → 1.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/approval/approval.contracts.js +1 -250
- package/dist/approval/approval.enum.js +1 -29
- package/dist/approval/approval.event.js +1 -186
- package/dist/approval/approval.handler.js +1 -71
- package/dist/approval/approval.schema.js +1 -111
- package/dist/approval/index.js +1 -6
- package/dist/docs/index.js +1 -1
- package/dist/docs/workflow-system.docblock.js +5 -61
- package/dist/entities/approval.js +1 -128
- package/dist/entities/index.js +1 -31
- package/dist/entities/instance.js +1 -168
- package/dist/entities/step.js +1 -135
- package/dist/entities/workflow.js +1 -102
- package/dist/example.js +1 -50
- package/dist/index.js +1 -19
- package/dist/instance/index.js +1 -6
- package/dist/instance/instance.contracts.js +1 -334
- package/dist/instance/instance.enum.js +1 -20
- package/dist/instance/instance.event.js +1 -214
- package/dist/instance/instance.handler.js +1 -93
- package/dist/instance/instance.schema.js +1 -173
- package/dist/presentations/index.js +1 -291
- package/dist/shared/index.js +1 -3
- package/dist/shared/mock-data.js +1 -11
- package/dist/state-machine/index.js +1 -157
- package/dist/workflow/index.js +1 -6
- package/dist/workflow/workflow.contracts.js +1 -239
- package/dist/workflow/workflow.enum.js +1 -47
- package/dist/workflow/workflow.event.js +1 -116
- package/dist/workflow/workflow.handler.js +1 -65
- package/dist/workflow/workflow.schema.js +1 -250
- package/dist/workflow-system.feature.js +1 -337
- package/package.json +44 -45
- package/dist/approval/approval.contracts.d.ts +0 -534
- package/dist/approval/approval.enum.d.ts +0 -13
- package/dist/approval/approval.event.d.ts +0 -130
- package/dist/approval/approval.handler.d.ts +0 -22
- package/dist/approval/approval.schema.d.ts +0 -99
- package/dist/approval/index.d.ts +0 -5
- package/dist/docs/index.d.ts +0 -1
- package/dist/docs/workflow-system.docblock.d.ts +0 -1
- package/dist/entities/approval.d.ts +0 -57
- package/dist/entities/index.d.ts +0 -138
- package/dist/entities/instance.d.ts +0 -68
- package/dist/entities/step.d.ts +0 -49
- package/dist/entities/workflow.d.ts +0 -40
- package/dist/example.d.ts +0 -39
- package/dist/index.d.ts +0 -16
- package/dist/instance/index.d.ts +0 -5
- package/dist/instance/instance.contracts.d.ts +0 -1023
- package/dist/instance/instance.enum.d.ts +0 -9
- package/dist/instance/instance.event.d.ts +0 -355
- package/dist/instance/instance.handler.d.ts +0 -26
- package/dist/instance/instance.schema.d.ts +0 -222
- package/dist/libs/contracts/dist/capabilities/openbanking.js +0 -88
- package/dist/libs/contracts/dist/client/index.js +0 -5
- package/dist/libs/contracts/dist/client/react/feature-render.js +0 -2
- package/dist/libs/contracts/dist/client/react/form-render.js +0 -4
- package/dist/libs/contracts/dist/client/react/index.js +0 -4
- package/dist/libs/contracts/dist/contract-registry/index.js +0 -1
- package/dist/libs/contracts/dist/contract-registry/schemas.js +0 -60
- package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/index.js +0 -29
- package/dist/libs/contracts/dist/docs/presentations.js +0 -71
- package/dist/libs/contracts/dist/docs/registry.js +0 -44
- 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/docs/tech/auth/better-auth-nextjs.docblock.js +0 -80
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +0 -57
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +0 -357
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +0 -37
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +0 -20
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +0 -48
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +0 -79
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +0 -84
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +0 -45
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +0 -67
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +0 -40
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +0 -69
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +0 -47
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +0 -62
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +0 -155
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +0 -20
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +0 -101
- package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +0 -20
- package/dist/libs/contracts/dist/events.js +0 -10
- package/dist/libs/contracts/dist/experiments/evaluator.js +0 -1
- package/dist/libs/contracts/dist/index.js +0 -71
- package/dist/libs/contracts/dist/install.js +0 -2
- package/dist/libs/contracts/dist/integrations/contracts.js +0 -377
- package/dist/libs/contracts/dist/integrations/index.js +0 -18
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +0 -228
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +0 -159
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/index.js +0 -3
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +0 -210
- package/dist/libs/contracts/dist/integrations/openbanking/models.js +0 -242
- package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +0 -13
- package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +0 -52
- package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +0 -75
- package/dist/libs/contracts/dist/integrations/providers/gmail.js +0 -87
- package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +0 -66
- package/dist/libs/contracts/dist/integrations/providers/index.js +0 -11
- package/dist/libs/contracts/dist/integrations/providers/mistral.js +0 -68
- package/dist/libs/contracts/dist/integrations/providers/postmark.js +0 -68
- package/dist/libs/contracts/dist/integrations/providers/powens.js +0 -116
- package/dist/libs/contracts/dist/integrations/providers/qdrant.js +0 -73
- package/dist/libs/contracts/dist/integrations/providers/registry.js +0 -10
- package/dist/libs/contracts/dist/integrations/providers/stripe.js +0 -83
- package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +0 -61
- package/dist/libs/contracts/dist/jsonschema.js +0 -1
- package/dist/libs/contracts/dist/knowledge/contracts.js +0 -306
- package/dist/libs/contracts/dist/knowledge/index.js +0 -7
- package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +0 -38
- package/dist/libs/contracts/dist/knowledge/spaces/index.js +0 -6
- package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +0 -37
- package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +0 -34
- package/dist/libs/contracts/dist/llm/exporters.js +0 -19
- package/dist/libs/contracts/dist/llm/index.js +0 -2
- package/dist/libs/contracts/dist/llm/prompts.js +0 -1
- package/dist/libs/contracts/dist/onboarding-base.js +0 -196
- package/dist/libs/contracts/dist/openapi.js +0 -1
- package/dist/libs/contracts/dist/ownership.js +0 -21
- package/dist/libs/contracts/dist/presentations.js +0 -1
- package/dist/libs/contracts/dist/presentations.v2.js +0 -11
- package/dist/libs/contracts/dist/prompt.js +0 -1
- package/dist/libs/contracts/dist/promptRegistry.js +0 -1
- package/dist/libs/contracts/dist/regenerator/index.js +0 -1
- package/dist/libs/contracts/dist/regenerator/service.js +0 -6
- package/dist/libs/contracts/dist/registry.js +0 -2
- package/dist/libs/contracts/dist/resources.js +0 -1
- 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/contracts/dist/schema/dist/index.js +0 -6
- package/dist/libs/contracts/dist/server/graphql-pothos.js +0 -6
- package/dist/libs/contracts/dist/server/index.js +0 -8
- package/dist/libs/contracts/dist/server/mcp/createMcpServer.js +0 -4
- package/dist/libs/contracts/dist/server/mcp/registerPresentations.js +0 -2
- package/dist/libs/contracts/dist/server/mcp/registerPrompts.js +0 -1
- package/dist/libs/contracts/dist/server/mcp/registerResources.js +0 -2
- package/dist/libs/contracts/dist/server/mcp/registerTools.js +0 -1
- package/dist/libs/contracts/dist/server/provider-mcp.js +0 -1
- package/dist/libs/contracts/dist/server/rest-elysia.js +0 -1
- package/dist/libs/contracts/dist/server/rest-express.js +0 -1
- package/dist/libs/contracts/dist/server/rest-generic.js +0 -1
- package/dist/libs/contracts/dist/server/rest-next-app.js +0 -1
- package/dist/libs/contracts/dist/server/rest-next-pages.js +0 -1
- package/dist/libs/contracts/dist/spec.js +0 -34
- package/dist/libs/contracts/dist/telemetry/index.js +0 -1
- package/dist/libs/contracts/dist/telemetry/tracker.js +0 -1
- package/dist/libs/contracts/dist/tests/index.js +0 -1
- package/dist/libs/contracts/dist/tests/runner.js +0 -2
- package/dist/libs/contracts/dist/workflow/index.js +0 -1
- package/dist/libs/contracts/dist/workflow/runner.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
- package/dist/libs/schema/dist/index.js +0 -6
- package/dist/presentations/index.d.ts +0 -63
- package/dist/shared/index.d.ts +0 -3
- package/dist/shared/mock-data.d.ts +0 -18
- package/dist/shared/types.d.ts +0 -80
- package/dist/state-machine/index.d.ts +0 -147
- package/dist/workflow/index.d.ts +0 -5
- package/dist/workflow/workflow.contracts.d.ts +0 -1010
- package/dist/workflow/workflow.enum.d.ts +0 -21
- package/dist/workflow/workflow.event.d.ts +0 -134
- package/dist/workflow/workflow.handler.d.ts +0 -28
- package/dist/workflow/workflow.schema.d.ts +0 -264
- package/dist/workflow-system.feature.d.ts +0 -11
|
@@ -1,102 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "../libs/schema/dist/index.js";
|
|
3
|
-
|
|
4
|
-
//#region src/entities/workflow.ts
|
|
5
|
-
/**
|
|
6
|
-
* Workflow status enum - the lifecycle state of a workflow definition.
|
|
7
|
-
*/
|
|
8
|
-
const WorkflowStatusEnum = defineEntityEnum({
|
|
9
|
-
name: "WorkflowStatus",
|
|
10
|
-
values: [
|
|
11
|
-
"DRAFT",
|
|
12
|
-
"ACTIVE",
|
|
13
|
-
"DEPRECATED",
|
|
14
|
-
"ARCHIVED"
|
|
15
|
-
],
|
|
16
|
-
schema: "workflow",
|
|
17
|
-
description: "Status of a workflow definition."
|
|
18
|
-
});
|
|
19
|
-
/**
|
|
20
|
-
* Workflow trigger type enum - what initiates a workflow.
|
|
21
|
-
*/
|
|
22
|
-
const WorkflowTriggerTypeEnum = defineEntityEnum({
|
|
23
|
-
name: "WorkflowTriggerType",
|
|
24
|
-
values: [
|
|
25
|
-
"MANUAL",
|
|
26
|
-
"EVENT",
|
|
27
|
-
"SCHEDULED",
|
|
28
|
-
"API"
|
|
29
|
-
],
|
|
30
|
-
schema: "workflow",
|
|
31
|
-
description: "What triggers workflow instantiation."
|
|
32
|
-
});
|
|
33
|
-
/**
|
|
34
|
-
* WorkflowDefinition entity - defines a workflow blueprint.
|
|
35
|
-
*
|
|
36
|
-
* A workflow definition specifies the structure, steps, and rules
|
|
37
|
-
* for a business process. Instances are created from definitions.
|
|
38
|
-
*/
|
|
39
|
-
const WorkflowDefinitionEntity = defineEntity({
|
|
40
|
-
name: "WorkflowDefinition",
|
|
41
|
-
description: "A workflow blueprint that defines the process structure.",
|
|
42
|
-
schema: "workflow",
|
|
43
|
-
map: "workflow_definition",
|
|
44
|
-
fields: {
|
|
45
|
-
id: field.id({ description: "Unique workflow definition ID" }),
|
|
46
|
-
name: field.string({ description: "Human-readable workflow name" }),
|
|
47
|
-
key: field.string({ description: "Unique key for referencing (e.g., \"purchase_approval\")" }),
|
|
48
|
-
description: field.string({
|
|
49
|
-
isOptional: true,
|
|
50
|
-
description: "Detailed description"
|
|
51
|
-
}),
|
|
52
|
-
version: field.int({
|
|
53
|
-
default: 1,
|
|
54
|
-
description: "Version number for versioning definitions"
|
|
55
|
-
}),
|
|
56
|
-
status: field.enum("WorkflowStatus", { default: "DRAFT" }),
|
|
57
|
-
triggerType: field.enum("WorkflowTriggerType", { default: "MANUAL" }),
|
|
58
|
-
triggerConfig: field.json({
|
|
59
|
-
isOptional: true,
|
|
60
|
-
description: "Trigger-specific configuration"
|
|
61
|
-
}),
|
|
62
|
-
initialStepId: field.string({
|
|
63
|
-
isOptional: true,
|
|
64
|
-
description: "First step when workflow starts"
|
|
65
|
-
}),
|
|
66
|
-
featureFlagKey: field.string({
|
|
67
|
-
isOptional: true,
|
|
68
|
-
description: "Feature flag to control availability"
|
|
69
|
-
}),
|
|
70
|
-
settings: field.json({
|
|
71
|
-
isOptional: true,
|
|
72
|
-
description: "Workflow-wide settings"
|
|
73
|
-
}),
|
|
74
|
-
metadata: field.json({
|
|
75
|
-
isOptional: true,
|
|
76
|
-
description: "Custom metadata"
|
|
77
|
-
}),
|
|
78
|
-
organizationId: field.foreignKey({ description: "Owning organization" }),
|
|
79
|
-
createdBy: field.foreignKey({ description: "User who created this workflow" }),
|
|
80
|
-
createdAt: field.createdAt(),
|
|
81
|
-
updatedAt: field.updatedAt(),
|
|
82
|
-
publishedAt: field.dateTime({
|
|
83
|
-
isOptional: true,
|
|
84
|
-
description: "When workflow was activated"
|
|
85
|
-
}),
|
|
86
|
-
steps: field.hasMany("WorkflowStep"),
|
|
87
|
-
instances: field.hasMany("WorkflowInstance")
|
|
88
|
-
},
|
|
89
|
-
indexes: [
|
|
90
|
-
index.unique([
|
|
91
|
-
"organizationId",
|
|
92
|
-
"key",
|
|
93
|
-
"version"
|
|
94
|
-
]),
|
|
95
|
-
index.on(["organizationId", "status"]),
|
|
96
|
-
index.on(["key", "version"])
|
|
97
|
-
],
|
|
98
|
-
enums: [WorkflowStatusEnum, WorkflowTriggerTypeEnum]
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
//#endregion
|
|
102
|
-
export { WorkflowDefinitionEntity, WorkflowStatusEnum, WorkflowTriggerTypeEnum };
|
|
1
|
+
import{defineEntity as e,defineEntityEnum as t,field as n,index as r}from"@lssm/lib.schema";const i=t({name:`WorkflowStatus`,values:[`DRAFT`,`ACTIVE`,`DEPRECATED`,`ARCHIVED`],schema:`workflow`,description:`Status of a workflow definition.`}),a=t({name:`WorkflowTriggerType`,values:[`MANUAL`,`EVENT`,`SCHEDULED`,`API`],schema:`workflow`,description:`What triggers workflow instantiation.`}),o=e({name:`WorkflowDefinition`,description:`A workflow blueprint that defines the process structure.`,schema:`workflow`,map:`workflow_definition`,fields:{id:n.id({description:`Unique workflow definition ID`}),name:n.string({description:`Human-readable workflow name`}),key:n.string({description:`Unique key for referencing (e.g., "purchase_approval")`}),description:n.string({isOptional:!0,description:`Detailed description`}),version:n.int({default:1,description:`Version number for versioning definitions`}),status:n.enum(`WorkflowStatus`,{default:`DRAFT`}),triggerType:n.enum(`WorkflowTriggerType`,{default:`MANUAL`}),triggerConfig:n.json({isOptional:!0,description:`Trigger-specific configuration`}),initialStepId:n.string({isOptional:!0,description:`First step when workflow starts`}),featureFlagKey:n.string({isOptional:!0,description:`Feature flag to control availability`}),settings:n.json({isOptional:!0,description:`Workflow-wide settings`}),metadata:n.json({isOptional:!0,description:`Custom metadata`}),organizationId:n.foreignKey({description:`Owning organization`}),createdBy:n.foreignKey({description:`User who created this workflow`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),publishedAt:n.dateTime({isOptional:!0,description:`When workflow was activated`}),steps:n.hasMany(`WorkflowStep`),instances:n.hasMany(`WorkflowInstance`)},indexes:[r.unique([`organizationId`,`key`,`version`]),r.on([`organizationId`,`status`]),r.on([`key`,`version`])],enums:[i,a]});export{o as WorkflowDefinitionEntity,i as WorkflowStatusEnum,a as WorkflowTriggerTypeEnum};
|
package/dist/example.js
CHANGED
|
@@ -1,50 +1 @@
|
|
|
1
|
-
|
|
2
|
-
const example = {
|
|
3
|
-
id: "workflow-system",
|
|
4
|
-
title: "Workflow / Approval System",
|
|
5
|
-
summary: "State-machine driven approvals with RBAC, audit trail, notifications, and jobs.",
|
|
6
|
-
tags: [
|
|
7
|
-
"workflow",
|
|
8
|
-
"approval",
|
|
9
|
-
"state-machine",
|
|
10
|
-
"rbac"
|
|
11
|
-
],
|
|
12
|
-
kind: "template",
|
|
13
|
-
visibility: "public",
|
|
14
|
-
docs: {
|
|
15
|
-
rootDocId: "docs.examples.workflow-system",
|
|
16
|
-
goalDocId: "docs.examples.workflow-system.goal",
|
|
17
|
-
usageDocId: "docs.examples.workflow-system.usage",
|
|
18
|
-
constraintsDocId: "docs.examples.workflow-system.constraints"
|
|
19
|
-
},
|
|
20
|
-
entrypoints: {
|
|
21
|
-
packageName: "@lssm/example.workflow-system",
|
|
22
|
-
feature: "./feature",
|
|
23
|
-
contracts: "./contracts",
|
|
24
|
-
presentations: "./presentations",
|
|
25
|
-
handlers: "./handlers",
|
|
26
|
-
docs: "./docs"
|
|
27
|
-
},
|
|
28
|
-
surfaces: {
|
|
29
|
-
templates: true,
|
|
30
|
-
sandbox: {
|
|
31
|
-
enabled: true,
|
|
32
|
-
modes: [
|
|
33
|
-
"playground",
|
|
34
|
-
"specs",
|
|
35
|
-
"builder",
|
|
36
|
-
"markdown",
|
|
37
|
-
"evolution"
|
|
38
|
-
]
|
|
39
|
-
},
|
|
40
|
-
studio: {
|
|
41
|
-
enabled: true,
|
|
42
|
-
installable: true
|
|
43
|
-
},
|
|
44
|
-
mcp: { enabled: true }
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
var example_default = example;
|
|
48
|
-
|
|
49
|
-
//#endregion
|
|
50
|
-
export { example_default as default };
|
|
1
|
+
var e={id:`workflow-system`,title:`Workflow / Approval System`,summary:`State-machine driven approvals with RBAC, audit trail, notifications, and jobs.`,tags:[`workflow`,`approval`,`state-machine`,`rbac`],kind:`template`,visibility:`public`,docs:{rootDocId:`docs.examples.workflow-system`,goalDocId:`docs.examples.workflow-system.goal`,usageDocId:`docs.examples.workflow-system.usage`,constraintsDocId:`docs.examples.workflow-system.constraints`},entrypoints:{packageName:`@lssm/example.workflow-system`,feature:`./feature`,contracts:`./contracts`,presentations:`./presentations`,handlers:`./handlers`,docs:`./docs`},surfaces:{templates:!0,sandbox:{enabled:!0,modes:[`playground`,`specs`,`builder`,`markdown`,`evolution`]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}};export{e as default};
|
package/dist/index.js
CHANGED
|
@@ -1,19 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AddStepInputModel, CreateWorkflowInputModel, UpdateWorkflowInputModel, WorkflowDefinitionModel, WorkflowStepModel } from "./workflow/workflow.schema.js";
|
|
3
|
-
import { AddStepContract, CreateWorkflowContract, GetWorkflowContract, ListWorkflowsContract, PublishWorkflowContract, UpdateWorkflowContract } from "./workflow/workflow.contracts.js";
|
|
4
|
-
import { StepAddedEvent, WorkflowCreatedEvent, WorkflowPublishedEvent, WorkflowUpdatedEvent } from "./workflow/workflow.event.js";
|
|
5
|
-
import "./workflow/index.js";
|
|
6
|
-
import { InstanceStatusEnum } from "./instance/instance.enum.js";
|
|
7
|
-
import { StartWorkflowInputModel, TransitionInputModel, TransitionResultModel, WorkflowInstanceModel } from "./instance/instance.schema.js";
|
|
8
|
-
import { CancelWorkflowContract, GetInstanceContract, ListInstancesContract, PauseWorkflowContract, ResumeWorkflowContract, StartWorkflowContract, TransitionWorkflowContract } from "./instance/instance.contracts.js";
|
|
9
|
-
import { InstanceCancelledEvent, InstanceCompletedEvent, InstanceFailedEvent, InstancePausedEvent, InstanceResumedEvent, InstanceStartedEvent, InstanceTimedOutEvent, StepEnteredEvent, StepExitedEvent } from "./instance/instance.event.js";
|
|
10
|
-
import "./instance/index.js";
|
|
11
|
-
import { ApprovalDecisionEnum, ApprovalStatusEnum } from "./approval/approval.enum.js";
|
|
12
|
-
import { ApprovalCommentModel, ApprovalRequestModel } from "./approval/approval.schema.js";
|
|
13
|
-
import { AddApprovalCommentContract, DelegateApprovalContract, GetApprovalContract, ListMyApprovalsContract, SubmitDecisionContract } from "./approval/approval.contracts.js";
|
|
14
|
-
import { ApprovalDecidedEvent, ApprovalDelegatedEvent, ApprovalEscalatedEvent, ApprovalRequestedEvent } from "./approval/approval.event.js";
|
|
15
|
-
import "./approval/index.js";
|
|
16
|
-
import { mockDataStore } from "./shared/mock-data.js";
|
|
17
|
-
import { BasicStateMachineEngine, buildStateMachineDefinition, createInitialState, createStateMachineEngine } from "./state-machine/index.js";
|
|
18
|
-
|
|
19
|
-
export { AddApprovalCommentContract, AddStepContract, AddStepInputModel, ApprovalCommentModel, ApprovalDecidedEvent, ApprovalDecisionEnum, ApprovalDelegatedEvent, ApprovalEscalatedEvent, ApprovalModeEnum, ApprovalRequestModel, ApprovalRequestedEvent, ApprovalStatusEnum, BasicStateMachineEngine, CancelWorkflowContract, CreateWorkflowContract, CreateWorkflowInputModel, DelegateApprovalContract, GetApprovalContract, GetInstanceContract, GetWorkflowContract, InstanceCancelledEvent, InstanceCompletedEvent, InstanceFailedEvent, InstancePausedEvent, InstanceResumedEvent, InstanceStartedEvent, InstanceStatusEnum, InstanceTimedOutEvent, ListInstancesContract, ListMyApprovalsContract, ListWorkflowsContract, PauseWorkflowContract, PublishWorkflowContract, ResumeWorkflowContract, StartWorkflowContract, StartWorkflowInputModel, StepAddedEvent, StepEnteredEvent, StepExitedEvent, StepTypeEnum, SubmitDecisionContract, TransitionInputModel, TransitionResultModel, TransitionWorkflowContract, TriggerTypeEnum, UpdateWorkflowContract, UpdateWorkflowInputModel, WorkflowCreatedEvent, WorkflowDefinitionModel, WorkflowInstanceModel, WorkflowPublishedEvent, WorkflowStatusEnum, WorkflowStepModel, WorkflowUpdatedEvent, buildStateMachineDefinition, createInitialState, createStateMachineEngine, mockDataStore };
|
|
1
|
+
import{ApprovalModeEnum as e,StepTypeEnum as t,TriggerTypeEnum as n,WorkflowStatusEnum as r}from"./workflow/workflow.enum.js";import{AddStepInputModel as i,CreateWorkflowInputModel as a,UpdateWorkflowInputModel as o,WorkflowDefinitionModel as s,WorkflowStepModel as c}from"./workflow/workflow.schema.js";import{AddStepContract as l,CreateWorkflowContract as u,GetWorkflowContract as d,ListWorkflowsContract as f,PublishWorkflowContract as p,UpdateWorkflowContract as m}from"./workflow/workflow.contracts.js";import{StepAddedEvent as h,WorkflowCreatedEvent as g,WorkflowPublishedEvent as _,WorkflowUpdatedEvent as v}from"./workflow/workflow.event.js";import"./workflow/index.js";import{InstanceStatusEnum as y}from"./instance/instance.enum.js";import{StartWorkflowInputModel as b,TransitionInputModel as x,TransitionResultModel as S,WorkflowInstanceModel as C}from"./instance/instance.schema.js";import{CancelWorkflowContract as w,GetInstanceContract as T,ListInstancesContract as E,PauseWorkflowContract as D,ResumeWorkflowContract as O,StartWorkflowContract as k,TransitionWorkflowContract as A}from"./instance/instance.contracts.js";import{InstanceCancelledEvent as j,InstanceCompletedEvent as M,InstanceFailedEvent as N,InstancePausedEvent as P,InstanceResumedEvent as F,InstanceStartedEvent as I,InstanceTimedOutEvent as L,StepEnteredEvent as R,StepExitedEvent as z}from"./instance/instance.event.js";import"./instance/index.js";import{ApprovalDecisionEnum as B,ApprovalStatusEnum as V}from"./approval/approval.enum.js";import{ApprovalCommentModel as H,ApprovalRequestModel as U}from"./approval/approval.schema.js";import{AddApprovalCommentContract as W,DelegateApprovalContract as G,GetApprovalContract as K,ListMyApprovalsContract as q,SubmitDecisionContract as J}from"./approval/approval.contracts.js";import{ApprovalDecidedEvent as Y,ApprovalDelegatedEvent as X,ApprovalEscalatedEvent as Z,ApprovalRequestedEvent as Q}from"./approval/approval.event.js";import"./approval/index.js";import{mockDataStore as $}from"./shared/mock-data.js";import{BasicStateMachineEngine as ee,buildStateMachineDefinition as te,createInitialState as ne,createStateMachineEngine as re}from"./state-machine/index.js";export{W as AddApprovalCommentContract,l as AddStepContract,i as AddStepInputModel,H as ApprovalCommentModel,Y as ApprovalDecidedEvent,B as ApprovalDecisionEnum,X as ApprovalDelegatedEvent,Z as ApprovalEscalatedEvent,e as ApprovalModeEnum,U as ApprovalRequestModel,Q as ApprovalRequestedEvent,V as ApprovalStatusEnum,ee as BasicStateMachineEngine,w as CancelWorkflowContract,u as CreateWorkflowContract,a as CreateWorkflowInputModel,G as DelegateApprovalContract,K as GetApprovalContract,T as GetInstanceContract,d as GetWorkflowContract,j as InstanceCancelledEvent,M as InstanceCompletedEvent,N as InstanceFailedEvent,P as InstancePausedEvent,F as InstanceResumedEvent,I as InstanceStartedEvent,y as InstanceStatusEnum,L as InstanceTimedOutEvent,E as ListInstancesContract,q as ListMyApprovalsContract,f as ListWorkflowsContract,D as PauseWorkflowContract,p as PublishWorkflowContract,O as ResumeWorkflowContract,k as StartWorkflowContract,b as StartWorkflowInputModel,h as StepAddedEvent,R as StepEnteredEvent,z as StepExitedEvent,t as StepTypeEnum,J as SubmitDecisionContract,x as TransitionInputModel,S as TransitionResultModel,A as TransitionWorkflowContract,n as TriggerTypeEnum,m as UpdateWorkflowContract,o as UpdateWorkflowInputModel,g as WorkflowCreatedEvent,s as WorkflowDefinitionModel,C as WorkflowInstanceModel,_ as WorkflowPublishedEvent,r as WorkflowStatusEnum,c as WorkflowStepModel,v as WorkflowUpdatedEvent,te as buildStateMachineDefinition,ne as createInitialState,re as createStateMachineEngine,$ as mockDataStore};
|
package/dist/instance/index.js
CHANGED
|
@@ -1,6 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { StartWorkflowInputModel, TransitionInputModel, TransitionResultModel, WorkflowInstanceModel } from "./instance.schema.js";
|
|
3
|
-
import { CancelWorkflowContract, GetInstanceContract, ListInstancesContract, PauseWorkflowContract, ResumeWorkflowContract, StartWorkflowContract, TransitionWorkflowContract } from "./instance.contracts.js";
|
|
4
|
-
import { InstanceCancelledEvent, InstanceCompletedEvent, InstanceFailedEvent, InstancePausedEvent, InstanceResumedEvent, InstanceStartedEvent, InstanceTimedOutEvent, StepEnteredEvent, StepExitedEvent } from "./instance.event.js";
|
|
5
|
-
|
|
6
|
-
export { CancelWorkflowContract, GetInstanceContract, InstanceCancelledEvent, InstanceCompletedEvent, InstanceFailedEvent, InstancePausedEvent, InstanceResumedEvent, InstanceStartedEvent, InstanceStatusEnum, InstanceTimedOutEvent, ListInstancesContract, PauseWorkflowContract, ResumeWorkflowContract, StartWorkflowContract, StartWorkflowInputModel, StepEnteredEvent, StepExitedEvent, TransitionInputModel, TransitionResultModel, TransitionWorkflowContract, WorkflowInstanceModel };
|
|
1
|
+
import{InstanceStatusEnum as e}from"./instance.enum.js";import{StartWorkflowInputModel as t,TransitionInputModel as n,TransitionResultModel as r,WorkflowInstanceModel as i}from"./instance.schema.js";import{CancelWorkflowContract as a,GetInstanceContract as o,ListInstancesContract as s,PauseWorkflowContract as c,ResumeWorkflowContract as l,StartWorkflowContract as u,TransitionWorkflowContract as d}from"./instance.contracts.js";import{InstanceCancelledEvent as f,InstanceCompletedEvent as p,InstanceFailedEvent as m,InstancePausedEvent as h,InstanceResumedEvent as g,InstanceStartedEvent as _,InstanceTimedOutEvent as v,StepEnteredEvent as y,StepExitedEvent as b}from"./instance.event.js";export{a as CancelWorkflowContract,o as GetInstanceContract,f as InstanceCancelledEvent,p as InstanceCompletedEvent,m as InstanceFailedEvent,h as InstancePausedEvent,g as InstanceResumedEvent,_ as InstanceStartedEvent,e as InstanceStatusEnum,v as InstanceTimedOutEvent,s as ListInstancesContract,c as PauseWorkflowContract,l as ResumeWorkflowContract,u as StartWorkflowContract,t as StartWorkflowInputModel,y as StepEnteredEvent,b as StepExitedEvent,n as TransitionInputModel,r as TransitionResultModel,d as TransitionWorkflowContract,i as WorkflowInstanceModel};
|
|
@@ -1,334 +1 @@
|
|
|
1
|
-
import { ScalarTypeEnum }
|
|
2
|
-
import { defineSchemaModel } from "../libs/schema/dist/SchemaModel.js";
|
|
3
|
-
import "../libs/schema/dist/index.js";
|
|
4
|
-
import { defineCommand, defineQuery } from "../libs/contracts/dist/spec.js";
|
|
5
|
-
import { InstanceStatusEnum } from "./instance.enum.js";
|
|
6
|
-
import { StartWorkflowInputModel, TransitionInputModel, TransitionResultModel, WorkflowInstanceModel } from "./instance.schema.js";
|
|
7
|
-
|
|
8
|
-
//#region src/instance/instance.contracts.ts
|
|
9
|
-
const OWNERS = ["@example.workflow-system"];
|
|
10
|
-
/**
|
|
11
|
-
* Start a new workflow instance.
|
|
12
|
-
*/
|
|
13
|
-
const StartWorkflowContract = defineCommand({
|
|
14
|
-
meta: {
|
|
15
|
-
name: "workflow.instance.start",
|
|
16
|
-
version: 1,
|
|
17
|
-
stability: "stable",
|
|
18
|
-
owners: [...OWNERS],
|
|
19
|
-
tags: [
|
|
20
|
-
"workflow",
|
|
21
|
-
"instance",
|
|
22
|
-
"start"
|
|
23
|
-
],
|
|
24
|
-
description: "Start a new workflow instance.",
|
|
25
|
-
goal: "Initiate a workflow for a business process.",
|
|
26
|
-
context: "Order creation, request submission, etc."
|
|
27
|
-
},
|
|
28
|
-
io: {
|
|
29
|
-
input: StartWorkflowInputModel,
|
|
30
|
-
output: WorkflowInstanceModel
|
|
31
|
-
},
|
|
32
|
-
policy: { auth: "user" },
|
|
33
|
-
sideEffects: {
|
|
34
|
-
emits: [{
|
|
35
|
-
name: "workflow.instance.started",
|
|
36
|
-
version: 1,
|
|
37
|
-
when: "Workflow starts",
|
|
38
|
-
payload: WorkflowInstanceModel
|
|
39
|
-
}, {
|
|
40
|
-
name: "workflow.step.entered",
|
|
41
|
-
version: 1,
|
|
42
|
-
when: "First step entered",
|
|
43
|
-
payload: WorkflowInstanceModel
|
|
44
|
-
}],
|
|
45
|
-
audit: ["workflow.instance.started"]
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
/**
|
|
49
|
-
* Transition workflow to next step.
|
|
50
|
-
*/
|
|
51
|
-
const TransitionWorkflowContract = defineCommand({
|
|
52
|
-
meta: {
|
|
53
|
-
name: "workflow.instance.transition",
|
|
54
|
-
version: 1,
|
|
55
|
-
stability: "stable",
|
|
56
|
-
owners: [...OWNERS],
|
|
57
|
-
tags: [
|
|
58
|
-
"workflow",
|
|
59
|
-
"instance",
|
|
60
|
-
"transition",
|
|
61
|
-
"state-machine"
|
|
62
|
-
],
|
|
63
|
-
description: "Transition a workflow instance to the next step.",
|
|
64
|
-
goal: "Move workflow forward based on action.",
|
|
65
|
-
context: "Task completion, approval decisions."
|
|
66
|
-
},
|
|
67
|
-
io: {
|
|
68
|
-
input: TransitionInputModel,
|
|
69
|
-
output: TransitionResultModel
|
|
70
|
-
},
|
|
71
|
-
policy: { auth: "user" },
|
|
72
|
-
sideEffects: {
|
|
73
|
-
emits: [
|
|
74
|
-
{
|
|
75
|
-
name: "workflow.step.exited",
|
|
76
|
-
version: 1,
|
|
77
|
-
when: "Step is exited",
|
|
78
|
-
payload: WorkflowInstanceModel
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
name: "workflow.step.entered",
|
|
82
|
-
version: 1,
|
|
83
|
-
when: "New step is entered",
|
|
84
|
-
payload: WorkflowInstanceModel
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
name: "workflow.instance.completed",
|
|
88
|
-
version: 1,
|
|
89
|
-
when: "Workflow reaches end",
|
|
90
|
-
payload: WorkflowInstanceModel
|
|
91
|
-
}
|
|
92
|
-
],
|
|
93
|
-
audit: ["workflow.instance.transitioned"]
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
/**
|
|
97
|
-
* Pause a running workflow.
|
|
98
|
-
*/
|
|
99
|
-
const PauseWorkflowContract = defineCommand({
|
|
100
|
-
meta: {
|
|
101
|
-
name: "workflow.instance.pause",
|
|
102
|
-
version: 1,
|
|
103
|
-
stability: "stable",
|
|
104
|
-
owners: [...OWNERS],
|
|
105
|
-
tags: [
|
|
106
|
-
"workflow",
|
|
107
|
-
"instance",
|
|
108
|
-
"pause"
|
|
109
|
-
],
|
|
110
|
-
description: "Pause a running workflow instance.",
|
|
111
|
-
goal: "Temporarily halt workflow execution.",
|
|
112
|
-
context: "Administrative action, emergency stop."
|
|
113
|
-
},
|
|
114
|
-
io: {
|
|
115
|
-
input: defineSchemaModel({
|
|
116
|
-
name: "PauseResumeInput",
|
|
117
|
-
fields: {
|
|
118
|
-
instanceId: {
|
|
119
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
120
|
-
isOptional: false
|
|
121
|
-
},
|
|
122
|
-
reason: {
|
|
123
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
124
|
-
isOptional: true
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}),
|
|
128
|
-
output: WorkflowInstanceModel
|
|
129
|
-
},
|
|
130
|
-
policy: { auth: "user" },
|
|
131
|
-
sideEffects: {
|
|
132
|
-
emits: [{
|
|
133
|
-
name: "workflow.instance.paused",
|
|
134
|
-
version: 1,
|
|
135
|
-
when: "Workflow is paused",
|
|
136
|
-
payload: WorkflowInstanceModel
|
|
137
|
-
}],
|
|
138
|
-
audit: ["workflow.instance.paused"]
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
/**
|
|
142
|
-
* Resume a paused workflow.
|
|
143
|
-
*/
|
|
144
|
-
const ResumeWorkflowContract = defineCommand({
|
|
145
|
-
meta: {
|
|
146
|
-
name: "workflow.instance.resume",
|
|
147
|
-
version: 1,
|
|
148
|
-
stability: "stable",
|
|
149
|
-
owners: [...OWNERS],
|
|
150
|
-
tags: [
|
|
151
|
-
"workflow",
|
|
152
|
-
"instance",
|
|
153
|
-
"resume"
|
|
154
|
-
],
|
|
155
|
-
description: "Resume a paused workflow instance.",
|
|
156
|
-
goal: "Continue workflow execution.",
|
|
157
|
-
context: "Administrative action."
|
|
158
|
-
},
|
|
159
|
-
io: {
|
|
160
|
-
input: defineSchemaModel({
|
|
161
|
-
name: "PauseResumeInput",
|
|
162
|
-
fields: {
|
|
163
|
-
instanceId: {
|
|
164
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
165
|
-
isOptional: false
|
|
166
|
-
},
|
|
167
|
-
reason: {
|
|
168
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
169
|
-
isOptional: true
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}),
|
|
173
|
-
output: WorkflowInstanceModel
|
|
174
|
-
},
|
|
175
|
-
policy: { auth: "user" },
|
|
176
|
-
sideEffects: {
|
|
177
|
-
emits: [{
|
|
178
|
-
name: "workflow.instance.resumed",
|
|
179
|
-
version: 1,
|
|
180
|
-
when: "Workflow is resumed",
|
|
181
|
-
payload: WorkflowInstanceModel
|
|
182
|
-
}],
|
|
183
|
-
audit: ["workflow.instance.resumed"]
|
|
184
|
-
}
|
|
185
|
-
});
|
|
186
|
-
/**
|
|
187
|
-
* Cancel a workflow instance.
|
|
188
|
-
*/
|
|
189
|
-
const CancelWorkflowContract = defineCommand({
|
|
190
|
-
meta: {
|
|
191
|
-
name: "workflow.instance.cancel",
|
|
192
|
-
version: 1,
|
|
193
|
-
stability: "stable",
|
|
194
|
-
owners: [...OWNERS],
|
|
195
|
-
tags: [
|
|
196
|
-
"workflow",
|
|
197
|
-
"instance",
|
|
198
|
-
"cancel"
|
|
199
|
-
],
|
|
200
|
-
description: "Cancel a workflow instance.",
|
|
201
|
-
goal: "Terminate workflow without completion.",
|
|
202
|
-
context: "User request, system cancellation."
|
|
203
|
-
},
|
|
204
|
-
io: {
|
|
205
|
-
input: defineSchemaModel({
|
|
206
|
-
name: "CancelWorkflowInput",
|
|
207
|
-
fields: {
|
|
208
|
-
instanceId: {
|
|
209
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
210
|
-
isOptional: false
|
|
211
|
-
},
|
|
212
|
-
reason: {
|
|
213
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
214
|
-
isOptional: false
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}),
|
|
218
|
-
output: WorkflowInstanceModel
|
|
219
|
-
},
|
|
220
|
-
policy: { auth: "user" },
|
|
221
|
-
sideEffects: {
|
|
222
|
-
emits: [{
|
|
223
|
-
name: "workflow.instance.cancelled",
|
|
224
|
-
version: 1,
|
|
225
|
-
when: "Workflow is cancelled",
|
|
226
|
-
payload: WorkflowInstanceModel
|
|
227
|
-
}],
|
|
228
|
-
audit: ["workflow.instance.cancelled"]
|
|
229
|
-
}
|
|
230
|
-
});
|
|
231
|
-
/**
|
|
232
|
-
* List workflow instances.
|
|
233
|
-
*/
|
|
234
|
-
const ListInstancesContract = defineQuery({
|
|
235
|
-
meta: {
|
|
236
|
-
name: "workflow.instance.list",
|
|
237
|
-
version: 1,
|
|
238
|
-
stability: "stable",
|
|
239
|
-
owners: [...OWNERS],
|
|
240
|
-
tags: [
|
|
241
|
-
"workflow",
|
|
242
|
-
"instance",
|
|
243
|
-
"list"
|
|
244
|
-
],
|
|
245
|
-
description: "List workflow instances with filtering.",
|
|
246
|
-
goal: "Browse and search running workflows.",
|
|
247
|
-
context: "Dashboard, monitoring."
|
|
248
|
-
},
|
|
249
|
-
io: {
|
|
250
|
-
input: defineSchemaModel({
|
|
251
|
-
name: "ListInstancesInput",
|
|
252
|
-
fields: {
|
|
253
|
-
workflowKey: {
|
|
254
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
255
|
-
isOptional: true
|
|
256
|
-
},
|
|
257
|
-
status: {
|
|
258
|
-
type: InstanceStatusEnum,
|
|
259
|
-
isOptional: true
|
|
260
|
-
},
|
|
261
|
-
referenceType: {
|
|
262
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
263
|
-
isOptional: true
|
|
264
|
-
},
|
|
265
|
-
referenceId: {
|
|
266
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
267
|
-
isOptional: true
|
|
268
|
-
},
|
|
269
|
-
triggeredBy: {
|
|
270
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
271
|
-
isOptional: true
|
|
272
|
-
},
|
|
273
|
-
limit: {
|
|
274
|
-
type: ScalarTypeEnum.Int_unsecure(),
|
|
275
|
-
isOptional: true,
|
|
276
|
-
defaultValue: 20
|
|
277
|
-
},
|
|
278
|
-
offset: {
|
|
279
|
-
type: ScalarTypeEnum.Int_unsecure(),
|
|
280
|
-
isOptional: true,
|
|
281
|
-
defaultValue: 0
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
}),
|
|
285
|
-
output: defineSchemaModel({
|
|
286
|
-
name: "ListInstancesOutput",
|
|
287
|
-
fields: {
|
|
288
|
-
instances: {
|
|
289
|
-
type: WorkflowInstanceModel,
|
|
290
|
-
isArray: true,
|
|
291
|
-
isOptional: false
|
|
292
|
-
},
|
|
293
|
-
total: {
|
|
294
|
-
type: ScalarTypeEnum.Int_unsecure(),
|
|
295
|
-
isOptional: false
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
})
|
|
299
|
-
},
|
|
300
|
-
policy: { auth: "user" }
|
|
301
|
-
});
|
|
302
|
-
/**
|
|
303
|
-
* Get a single workflow instance.
|
|
304
|
-
*/
|
|
305
|
-
const GetInstanceContract = defineQuery({
|
|
306
|
-
meta: {
|
|
307
|
-
name: "workflow.instance.get",
|
|
308
|
-
version: 1,
|
|
309
|
-
stability: "stable",
|
|
310
|
-
owners: [...OWNERS],
|
|
311
|
-
tags: [
|
|
312
|
-
"workflow",
|
|
313
|
-
"instance",
|
|
314
|
-
"get"
|
|
315
|
-
],
|
|
316
|
-
description: "Get a workflow instance with details.",
|
|
317
|
-
goal: "View workflow instance details.",
|
|
318
|
-
context: "Instance detail view."
|
|
319
|
-
},
|
|
320
|
-
io: {
|
|
321
|
-
input: defineSchemaModel({
|
|
322
|
-
name: "GetInstanceInput",
|
|
323
|
-
fields: { instanceId: {
|
|
324
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
325
|
-
isOptional: false
|
|
326
|
-
} }
|
|
327
|
-
}),
|
|
328
|
-
output: WorkflowInstanceModel
|
|
329
|
-
},
|
|
330
|
-
policy: { auth: "user" }
|
|
331
|
-
});
|
|
332
|
-
|
|
333
|
-
//#endregion
|
|
334
|
-
export { CancelWorkflowContract, GetInstanceContract, ListInstancesContract, PauseWorkflowContract, ResumeWorkflowContract, StartWorkflowContract, TransitionWorkflowContract };
|
|
1
|
+
import{InstanceStatusEnum as e}from"./instance.enum.js";import{StartWorkflowInputModel as t,TransitionInputModel as n,TransitionResultModel as r,WorkflowInstanceModel as i}from"./instance.schema.js";import{ScalarTypeEnum as a,defineSchemaModel as o}from"@lssm/lib.schema";import{defineCommand as s,defineQuery as c}from"@lssm/lib.contracts/spec";const l=[`@example.workflow-system`],u=s({meta:{name:`workflow.instance.start`,version:1,stability:`stable`,owners:[...l],tags:[`workflow`,`instance`,`start`],description:`Start a new workflow instance.`,goal:`Initiate a workflow for a business process.`,context:`Order creation, request submission, etc.`},io:{input:t,output:i},policy:{auth:`user`},sideEffects:{emits:[{name:`workflow.instance.started`,version:1,when:`Workflow starts`,payload:i},{name:`workflow.step.entered`,version:1,when:`First step entered`,payload:i}],audit:[`workflow.instance.started`]}}),d=s({meta:{name:`workflow.instance.transition`,version:1,stability:`stable`,owners:[...l],tags:[`workflow`,`instance`,`transition`,`state-machine`],description:`Transition a workflow instance to the next step.`,goal:`Move workflow forward based on action.`,context:`Task completion, approval decisions.`},io:{input:n,output:r},policy:{auth:`user`},sideEffects:{emits:[{name:`workflow.step.exited`,version:1,when:`Step is exited`,payload:i},{name:`workflow.step.entered`,version:1,when:`New step is entered`,payload:i},{name:`workflow.instance.completed`,version:1,when:`Workflow reaches end`,payload:i}],audit:[`workflow.instance.transitioned`]}}),f=s({meta:{name:`workflow.instance.pause`,version:1,stability:`stable`,owners:[...l],tags:[`workflow`,`instance`,`pause`],description:`Pause a running workflow instance.`,goal:`Temporarily halt workflow execution.`,context:`Administrative action, emergency stop.`},io:{input:o({name:`PauseResumeInput`,fields:{instanceId:{type:a.String_unsecure(),isOptional:!1},reason:{type:a.String_unsecure(),isOptional:!0}}}),output:i},policy:{auth:`user`},sideEffects:{emits:[{name:`workflow.instance.paused`,version:1,when:`Workflow is paused`,payload:i}],audit:[`workflow.instance.paused`]}}),p=s({meta:{name:`workflow.instance.resume`,version:1,stability:`stable`,owners:[...l],tags:[`workflow`,`instance`,`resume`],description:`Resume a paused workflow instance.`,goal:`Continue workflow execution.`,context:`Administrative action.`},io:{input:o({name:`PauseResumeInput`,fields:{instanceId:{type:a.String_unsecure(),isOptional:!1},reason:{type:a.String_unsecure(),isOptional:!0}}}),output:i},policy:{auth:`user`},sideEffects:{emits:[{name:`workflow.instance.resumed`,version:1,when:`Workflow is resumed`,payload:i}],audit:[`workflow.instance.resumed`]}}),m=s({meta:{name:`workflow.instance.cancel`,version:1,stability:`stable`,owners:[...l],tags:[`workflow`,`instance`,`cancel`],description:`Cancel a workflow instance.`,goal:`Terminate workflow without completion.`,context:`User request, system cancellation.`},io:{input:o({name:`CancelWorkflowInput`,fields:{instanceId:{type:a.String_unsecure(),isOptional:!1},reason:{type:a.String_unsecure(),isOptional:!1}}}),output:i},policy:{auth:`user`},sideEffects:{emits:[{name:`workflow.instance.cancelled`,version:1,when:`Workflow is cancelled`,payload:i}],audit:[`workflow.instance.cancelled`]}}),h=c({meta:{name:`workflow.instance.list`,version:1,stability:`stable`,owners:[...l],tags:[`workflow`,`instance`,`list`],description:`List workflow instances with filtering.`,goal:`Browse and search running workflows.`,context:`Dashboard, monitoring.`},io:{input:o({name:`ListInstancesInput`,fields:{workflowKey:{type:a.String_unsecure(),isOptional:!0},status:{type:e,isOptional:!0},referenceType:{type:a.String_unsecure(),isOptional:!0},referenceId:{type:a.String_unsecure(),isOptional:!0},triggeredBy:{type:a.String_unsecure(),isOptional:!0},limit:{type:a.Int_unsecure(),isOptional:!0,defaultValue:20},offset:{type:a.Int_unsecure(),isOptional:!0,defaultValue:0}}}),output:o({name:`ListInstancesOutput`,fields:{instances:{type:i,isArray:!0,isOptional:!1},total:{type:a.Int_unsecure(),isOptional:!1}}})},policy:{auth:`user`}}),g=c({meta:{name:`workflow.instance.get`,version:1,stability:`stable`,owners:[...l],tags:[`workflow`,`instance`,`get`],description:`Get a workflow instance with details.`,goal:`View workflow instance details.`,context:`Instance detail view.`},io:{input:o({name:`GetInstanceInput`,fields:{instanceId:{type:a.String_unsecure(),isOptional:!1}}}),output:i},policy:{auth:`user`}});export{m as CancelWorkflowContract,g as GetInstanceContract,h as ListInstancesContract,f as PauseWorkflowContract,p as ResumeWorkflowContract,u as StartWorkflowContract,d as TransitionWorkflowContract};
|
|
@@ -1,20 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "../libs/schema/dist/index.js";
|
|
3
|
-
|
|
4
|
-
//#region src/instance/instance.enum.ts
|
|
5
|
-
/**
|
|
6
|
-
* Instance status enum.
|
|
7
|
-
*/
|
|
8
|
-
const InstanceStatusEnum = defineEnum("InstanceStatus", [
|
|
9
|
-
"PENDING",
|
|
10
|
-
"RUNNING",
|
|
11
|
-
"WAITING",
|
|
12
|
-
"PAUSED",
|
|
13
|
-
"COMPLETED",
|
|
14
|
-
"CANCELLED",
|
|
15
|
-
"FAILED",
|
|
16
|
-
"TIMEOUT"
|
|
17
|
-
]);
|
|
18
|
-
|
|
19
|
-
//#endregion
|
|
20
|
-
export { InstanceStatusEnum };
|
|
1
|
+
import{defineEnum as e}from"@lssm/lib.schema";const t=e(`InstanceStatus`,[`PENDING`,`RUNNING`,`WAITING`,`PAUSED`,`COMPLETED`,`CANCELLED`,`FAILED`,`TIMEOUT`]);export{t as InstanceStatusEnum};
|