aitable-workflow-base 0.1.18-beta.1787209216198
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/fixtures.d.ts +531 -0
- package/dist/fixtures.js +221 -0
- package/dist/fixtures.js.map +1 -0
- package/dist/index.d.ts +584 -0
- package/dist/index.js +731 -0
- package/dist/index.js.map +1 -0
- package/dist/stage-state-BxNfh_H1.d.ts +708 -0
- package/package.json +29 -0
package/dist/fixtures.js
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
// src/fixtures.ts
|
|
2
|
+
var now = "2026-07-14T00:00:00.000Z";
|
|
3
|
+
function identity(stage, id, completed = false) {
|
|
4
|
+
return {
|
|
5
|
+
id,
|
|
6
|
+
projectId: "wf_contract",
|
|
7
|
+
stage,
|
|
8
|
+
attempt: 1,
|
|
9
|
+
startedAt: now,
|
|
10
|
+
updatedAt: now,
|
|
11
|
+
...completed ? { completedAt: now } : {}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
var confirmed = {
|
|
15
|
+
form: {
|
|
16
|
+
id: "contract_discovery",
|
|
17
|
+
title: "\u786E\u8BA4\u5DE5\u4F5C\u6D41\u8BBE\u8BA1\u7EA6\u675F",
|
|
18
|
+
questions: [{
|
|
19
|
+
id: "scope",
|
|
20
|
+
label: "\u4F18\u5148\u8986\u76D6\u54EA\u4E2A\u6D41\u7A0B\u8303\u56F4\uFF1F",
|
|
21
|
+
type: "radio",
|
|
22
|
+
required: true,
|
|
23
|
+
options: [
|
|
24
|
+
{ label: "\u552E\u540E\u5DE5\u5355", value: "after_sales" },
|
|
25
|
+
{ label: "\u5BA2\u6237\u56DE\u8BBF", value: "revisit" }
|
|
26
|
+
]
|
|
27
|
+
}]
|
|
28
|
+
},
|
|
29
|
+
answers: { scope: "after_sales" },
|
|
30
|
+
clarifications: "\u53EA\u8986\u76D6\u552E\u540E\u5DE5\u5355\uFF0C\u56DE\u8BBF\u4E0B\u671F\u518D\u505A",
|
|
31
|
+
summary: "\u7528\u6237\u786E\u8BA4\u4F18\u5148\u8986\u76D6\u552E\u540E\u5DE5\u5355",
|
|
32
|
+
agentSessionId: "sess_contract"
|
|
33
|
+
};
|
|
34
|
+
var designManifest = {
|
|
35
|
+
projectId: "wf_contract",
|
|
36
|
+
taskId: "task_design_1",
|
|
37
|
+
designVersion: 1,
|
|
38
|
+
status: "ready",
|
|
39
|
+
expected: ["workflow.yml"],
|
|
40
|
+
generated: [{ path: "workflow.yml", kind: "workflow", checksum: "sha256:contract", required: true }],
|
|
41
|
+
validation: { passed: true, errors: [], warnings: [] },
|
|
42
|
+
createdAt: now,
|
|
43
|
+
updatedAt: now
|
|
44
|
+
};
|
|
45
|
+
var setupSchema = {
|
|
46
|
+
fieldCount: 2,
|
|
47
|
+
viewCount: 1,
|
|
48
|
+
fields: [
|
|
49
|
+
{ id: "fld_title", name: "\u6807\u9898", type: "text", group: "business" },
|
|
50
|
+
{ id: "fld_state", name: "\u72B6\u6001", type: "single_select", options: ["\u5F85\u5904\u7406", "\u5904\u7406\u4E2D", "\u5DF2\u5B8C\u6210"], group: "process" }
|
|
51
|
+
],
|
|
52
|
+
views: [
|
|
53
|
+
{ id: "view_main", name: "\u5168\u90E8\u5DE5\u5355", kind: "grid", desc: "\u67E5\u770B\u5168\u90E8\u552E\u540E\u5DE5\u5355" }
|
|
54
|
+
]
|
|
55
|
+
};
|
|
56
|
+
var initReady = {
|
|
57
|
+
identity: identity("init", "task_init_1", true),
|
|
58
|
+
state: { phase: "ready", warnings: [], roleFiles: [] },
|
|
59
|
+
next: { kind: "idle" }
|
|
60
|
+
};
|
|
61
|
+
var designGenerating = {
|
|
62
|
+
identity: identity("design", "task_design_1"),
|
|
63
|
+
state: { phase: "generating", confirmed, round: 1, isFix: false },
|
|
64
|
+
next: { kind: "attach_stream", endpoint: "/api/projects/wf_contract/design" }
|
|
65
|
+
};
|
|
66
|
+
var designReady = {
|
|
67
|
+
identity: identity("design", "task_design_1", true),
|
|
68
|
+
state: { phase: "ready", confirmed, manifest: designManifest, rounds: 2 },
|
|
69
|
+
next: { kind: "idle" }
|
|
70
|
+
};
|
|
71
|
+
var designClarifyAwaiting = {
|
|
72
|
+
identity: identity("design", "task_design_1"),
|
|
73
|
+
state: {
|
|
74
|
+
phase: "clarify_awaiting",
|
|
75
|
+
form: confirmed.form,
|
|
76
|
+
answers: { scope: "after_sales" },
|
|
77
|
+
agentSessionId: "sess_contract"
|
|
78
|
+
},
|
|
79
|
+
next: {
|
|
80
|
+
kind: "await_user",
|
|
81
|
+
action: {
|
|
82
|
+
type: "confirm_input",
|
|
83
|
+
label: "\u786E\u8BA4\u540E\u5F00\u59CB\u751F\u6210",
|
|
84
|
+
description: "\u8BF7\u5148\u786E\u8BA4\u9700\u6C42\u6F84\u6E05\u5361\u7247\uFF0C\u518D\u5F00\u59CB\u751F\u6210\u5DE5\u4F5C\u6D41\u65B9\u6848\u3002",
|
|
85
|
+
api: { method: "POST", path: "/api/projects/wf_contract/design/discovery/confirm" }
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
var designGenerateFailed = {
|
|
90
|
+
identity: identity("design", "task_design_1", true),
|
|
91
|
+
state: {
|
|
92
|
+
phase: "generate_failed",
|
|
93
|
+
confirmed,
|
|
94
|
+
error: { code: "DESIGN_VALIDATION_FAILED", message: "\u771F\u5B9E\u8BBE\u8BA1\u672A\u901A\u8FC7\u6821\u9A8C", retryable: true }
|
|
95
|
+
},
|
|
96
|
+
next: {
|
|
97
|
+
kind: "await_user",
|
|
98
|
+
action: {
|
|
99
|
+
type: "retry",
|
|
100
|
+
label: "\u91CD\u65B0\u751F\u6210\u5DE5\u4F5C\u6D41\u8BBE\u8BA1",
|
|
101
|
+
description: "\u771F\u5B9E\u8BBE\u8BA1\u672A\u901A\u8FC7\u6821\u9A8C",
|
|
102
|
+
api: { method: "POST", path: "/api/projects/wf_contract/design" }
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
var setupReady = {
|
|
107
|
+
identity: identity("setup", "task_setup_1", true),
|
|
108
|
+
state: {
|
|
109
|
+
phase: "ready",
|
|
110
|
+
tableUrl: "https://alidocs.dingtalk.com/i/nodes/base_contract",
|
|
111
|
+
baseId: "base_contract",
|
|
112
|
+
tableId: "table_contract",
|
|
113
|
+
schema: setupSchema,
|
|
114
|
+
warnings: []
|
|
115
|
+
},
|
|
116
|
+
next: { kind: "idle" }
|
|
117
|
+
};
|
|
118
|
+
var runListening = {
|
|
119
|
+
identity: identity("run", "task_run_1"),
|
|
120
|
+
state: { phase: "listening", workflowName: "\u552E\u540E\u5DE5\u5355\u81EA\u52A8\u5316", stepCount: 3, intervalMs: 5e3 },
|
|
121
|
+
next: { kind: "attach_stream", endpoint: "/api/projects/wf_contract/run" }
|
|
122
|
+
};
|
|
123
|
+
var projectFiles = [
|
|
124
|
+
{
|
|
125
|
+
path: "workflow.yml",
|
|
126
|
+
content: "meta:\n name: contract workflow\nsteps: []\n"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
path: "aitable-workflow.config.yml",
|
|
130
|
+
content: "scene: \u552E\u540E\u5DE5\u5355\u81EA\u52A8\u5316\ntracker:\n base_id: base_contract\n table_id: table_contract\nrecipe:\n llm:\n provider: idealab\n model: test-model\n"
|
|
131
|
+
}
|
|
132
|
+
];
|
|
133
|
+
var workflowPreview = {
|
|
134
|
+
steps: [],
|
|
135
|
+
edges: []
|
|
136
|
+
};
|
|
137
|
+
var projectState = {
|
|
138
|
+
projectId: "wf_contract",
|
|
139
|
+
activeStage: "run",
|
|
140
|
+
stages: {
|
|
141
|
+
init: initReady,
|
|
142
|
+
design: designReady,
|
|
143
|
+
setup: setupReady,
|
|
144
|
+
run: runListening
|
|
145
|
+
},
|
|
146
|
+
runSnapshot: {
|
|
147
|
+
records: [{
|
|
148
|
+
id: "rec_contract_1",
|
|
149
|
+
title: "\u5BA2\u6237\u53CD\u9988\u53D1\u7968\u4FE1\u606F\u9519\u8BEF",
|
|
150
|
+
state: "\u5904\u7406\u4E2D",
|
|
151
|
+
status: "running",
|
|
152
|
+
currentStepId: "validate_invoice",
|
|
153
|
+
doneStepIds: ["classify"],
|
|
154
|
+
createdAt: 17841312e5,
|
|
155
|
+
updatedAt: 178413126e4
|
|
156
|
+
}],
|
|
157
|
+
logs: [{
|
|
158
|
+
id: "log_contract_1",
|
|
159
|
+
ts: 178413126e4,
|
|
160
|
+
itemId: "rec_contract_1",
|
|
161
|
+
stepId: "validate_invoice",
|
|
162
|
+
level: "info",
|
|
163
|
+
text: "\u8FDB\u5165\u53D1\u7968\u4FE1\u606F\u6821\u9A8C\u6B65\u9AA4"
|
|
164
|
+
}]
|
|
165
|
+
},
|
|
166
|
+
updatedAt: now
|
|
167
|
+
};
|
|
168
|
+
var designClarifyAwaitingState = {
|
|
169
|
+
projectId: "wf_contract",
|
|
170
|
+
activeStage: "design",
|
|
171
|
+
stages: {
|
|
172
|
+
init: initReady,
|
|
173
|
+
design: designClarifyAwaiting
|
|
174
|
+
},
|
|
175
|
+
updatedAt: now
|
|
176
|
+
};
|
|
177
|
+
var designGenerateFailedState = {
|
|
178
|
+
projectId: "wf_contract",
|
|
179
|
+
activeStage: null,
|
|
180
|
+
stages: {
|
|
181
|
+
init: initReady,
|
|
182
|
+
design: designGenerateFailed
|
|
183
|
+
},
|
|
184
|
+
updatedAt: now
|
|
185
|
+
};
|
|
186
|
+
var designEvents = [
|
|
187
|
+
{ type: "stage.changed", stage: "design", stageState: designClarifyAwaiting },
|
|
188
|
+
{ type: "stage.changed", stage: "design", stageState: designGenerating },
|
|
189
|
+
{ type: "design.files", files: projectFiles },
|
|
190
|
+
{ type: "stage.changed", stage: "design", stageState: designReady }
|
|
191
|
+
];
|
|
192
|
+
var setupEvents = [
|
|
193
|
+
{
|
|
194
|
+
type: "stage.changed",
|
|
195
|
+
stage: "setup",
|
|
196
|
+
stageState: {
|
|
197
|
+
identity: identity("setup", "task_setup_1"),
|
|
198
|
+
state: { phase: "provisioning_table" },
|
|
199
|
+
next: { kind: "attach_stream", endpoint: "/api/projects/wf_contract/setup" }
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
{ type: "stage.changed", stage: "setup", stageState: setupReady }
|
|
203
|
+
];
|
|
204
|
+
var runEvents = [
|
|
205
|
+
{ type: "stage.changed", stage: "run", stageState: runListening },
|
|
206
|
+
{ type: "run.record.detected", record: { id: "rec_contract_1", title: "\u5BA2\u6237\u53CD\u9988\u53D1\u7968\u4FE1\u606F\u9519\u8BEF", state: "\u5F85\u5904\u7406", currentStep: null } },
|
|
207
|
+
{ type: "run.step.started", itemId: "rec_contract_1", stepId: "validate_invoice", stepName: "\u6821\u9A8C\u53D1\u7968\u4FE1\u606F" },
|
|
208
|
+
{ type: "run.step.succeeded", itemId: "rec_contract_1", stepId: "validate_invoice", stepName: "\u6821\u9A8C\u53D1\u7968\u4FE1\u606F", logs: ["\u6821\u9A8C\u5B8C\u6210"] },
|
|
209
|
+
{ type: "run.record.completed", itemId: "rec_contract_1" }
|
|
210
|
+
];
|
|
211
|
+
export {
|
|
212
|
+
designClarifyAwaitingState,
|
|
213
|
+
designEvents,
|
|
214
|
+
designGenerateFailedState,
|
|
215
|
+
projectFiles,
|
|
216
|
+
projectState,
|
|
217
|
+
runEvents,
|
|
218
|
+
setupEvents,
|
|
219
|
+
workflowPreview
|
|
220
|
+
};
|
|
221
|
+
//# sourceMappingURL=fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/fixtures.ts"],"sourcesContent":["/**\n * fixtures — 服务端契约的样板数据(`aitable-workflow-base/fixtures`)\n *\n * 只被测试消费:core 自己的契约测试、web 的 derive / reducer 测试。刻意**不**从根\n * barrel 导出——挂上去就会被每个 import core 的生产模块一起打进产物。\n *\n * 每条夹具都用 `satisfies` 而不是类型标注:契约一改这里立刻编译失败,\n * 而不是等到运行期才发现测试在验证一个已经不存在的形状。\n */\nimport type {\n DesignArtifactManifestDTO,\n DesignEventDTO,\n ProjectFileDTO,\n RunEventDTO,\n SetupSchemaSummaryDTO,\n SetupEventDTO,\n} from \"./server.js\";\nimport type {\n DesignConfirmedDTO,\n DesignState,\n InitState,\n ProjectStateResponseDTO,\n RunState,\n SetupState,\n StageStateResponseDTO,\n StageTaskIdentityDTO,\n} from \"./stage-state.js\";\n\nconst now = \"2026-07-14T00:00:00.000Z\";\n\nfunction identity(stage: StageTaskIdentityDTO[\"stage\"], id: string, completed = false): StageTaskIdentityDTO {\n return {\n id,\n projectId: \"wf_contract\",\n stage,\n attempt: 1,\n startedAt: now,\n updatedAt: now,\n ...(completed ? { completedAt: now } : {}),\n };\n}\n\nconst confirmed = {\n form: {\n id: \"contract_discovery\",\n title: \"确认工作流设计约束\",\n questions: [{\n id: \"scope\",\n label: \"优先覆盖哪个流程范围?\",\n type: \"radio\",\n required: true,\n options: [\n { label: \"售后工单\", value: \"after_sales\" },\n { label: \"客户回访\", value: \"revisit\" },\n ],\n }],\n },\n answers: { scope: \"after_sales\" },\n clarifications: \"只覆盖售后工单,回访下期再做\",\n summary: \"用户确认优先覆盖售后工单\",\n agentSessionId: \"sess_contract\",\n} satisfies DesignConfirmedDTO;\n\nconst designManifest = {\n projectId: \"wf_contract\",\n taskId: \"task_design_1\",\n designVersion: 1,\n status: \"ready\",\n expected: [\"workflow.yml\"],\n generated: [{ path: \"workflow.yml\", kind: \"workflow\", checksum: \"sha256:contract\", required: true }],\n validation: { passed: true, errors: [], warnings: [] },\n createdAt: now,\n updatedAt: now,\n} satisfies DesignArtifactManifestDTO;\n\nconst setupSchema = {\n fieldCount: 2,\n viewCount: 1,\n fields: [\n { id: \"fld_title\", name: \"标题\", type: \"text\", group: \"business\" },\n { id: \"fld_state\", name: \"状态\", type: \"single_select\", options: [\"待处理\", \"处理中\", \"已完成\"], group: \"process\" },\n ],\n views: [\n { id: \"view_main\", name: \"全部工单\", kind: \"grid\", desc: \"查看全部售后工单\" },\n ],\n} satisfies SetupSchemaSummaryDTO;\n\n// ── 各阶段的阶段状态 ─────────────────────────────────────────\nconst initReady = {\n identity: identity(\"init\", \"task_init_1\", true),\n state: { phase: \"ready\", warnings: [], roleFiles: [] },\n next: { kind: \"idle\" },\n} satisfies StageStateResponseDTO<InitState>;\n\nconst designGenerating = {\n identity: identity(\"design\", \"task_design_1\"),\n state: { phase: \"generating\", confirmed: confirmed, round: 1, isFix: false },\n next: { kind: \"attach_stream\", endpoint: \"/api/projects/wf_contract/design\" },\n} satisfies StageStateResponseDTO<DesignState>;\n\nconst designReady = {\n identity: identity(\"design\", \"task_design_1\", true),\n state: { phase: \"ready\", confirmed: confirmed, manifest: designManifest, rounds: 2 },\n next: { kind: \"idle\" },\n} satisfies StageStateResponseDTO<DesignState>;\n\n/** 澄清等待用户:`next` 由服务端给出确认端点,客户端不自己拼 path。 */\nconst designClarifyAwaiting = {\n identity: identity(\"design\", \"task_design_1\"),\n state: {\n phase: \"clarify_awaiting\",\n form: confirmed.form,\n answers: { scope: \"after_sales\" },\n agentSessionId: \"sess_contract\",\n },\n next: {\n kind: \"await_user\",\n action: {\n type: \"confirm_input\",\n label: \"确认后开始生成\",\n description: \"请先确认需求澄清卡片,再开始生成工作流方案。\",\n api: { method: \"POST\", path: \"/api/projects/wf_contract/design/discovery/confirm\" },\n },\n },\n} satisfies StageStateResponseDTO<DesignState>;\n\nconst designGenerateFailed = {\n identity: identity(\"design\", \"task_design_1\", true),\n state: {\n phase: \"generate_failed\",\n confirmed: confirmed,\n error: { code: \"DESIGN_VALIDATION_FAILED\", message: \"真实设计未通过校验\", retryable: true },\n },\n next: {\n kind: \"await_user\",\n action: {\n type: \"retry\",\n label: \"重新生成工作流设计\",\n description: \"真实设计未通过校验\",\n api: { method: \"POST\", path: \"/api/projects/wf_contract/design\" },\n },\n },\n} satisfies StageStateResponseDTO<DesignState>;\n\nconst setupReady = {\n identity: identity(\"setup\", \"task_setup_1\", true),\n state: {\n phase: \"ready\",\n tableUrl: \"https://alidocs.dingtalk.com/i/nodes/base_contract\",\n baseId: \"base_contract\",\n tableId: \"table_contract\",\n schema: setupSchema,\n warnings: [],\n },\n next: { kind: \"idle\" },\n} satisfies StageStateResponseDTO<SetupState>;\n\nconst runListening = {\n identity: identity(\"run\", \"task_run_1\"),\n state: { phase: \"listening\", workflowName: \"售后工单自动化\", stepCount: 3, intervalMs: 5000 },\n next: { kind: \"attach_stream\", endpoint: \"/api/projects/wf_contract/run\" },\n} satisfies StageStateResponseDTO<RunState>;\n\n// ── 对外夹具 ────────────────────────────────────────────────\nexport const projectFiles = [\n {\n path: \"workflow.yml\",\n content: \"meta:\\n name: contract workflow\\nsteps: []\\n\",\n },\n {\n path: \"aitable-workflow.config.yml\",\n content: \"scene: 售后工单自动化\\ntracker:\\n base_id: base_contract\\n table_id: table_contract\\nrecipe:\\n llm:\\n provider: idealab\\n model: test-model\\n\",\n },\n] satisfies ProjectFileDTO[];\n\nexport const workflowPreview = {\n steps: [],\n edges: [],\n};\n\nexport const projectState = {\n projectId: \"wf_contract\",\n activeStage: \"run\",\n stages: {\n init: initReady,\n design: designReady,\n setup: setupReady,\n run: runListening,\n },\n runSnapshot: {\n records: [{\n id: \"rec_contract_1\",\n title: \"客户反馈发票信息错误\",\n state: \"处理中\",\n status: \"running\",\n currentStepId: \"validate_invoice\",\n doneStepIds: [\"classify\"],\n createdAt: 1784131200000,\n updatedAt: 1784131260000,\n }],\n logs: [{\n id: \"log_contract_1\",\n ts: 1784131260000,\n itemId: \"rec_contract_1\",\n stepId: \"validate_invoice\",\n level: \"info\",\n text: \"进入发票信息校验步骤\",\n }],\n },\n updatedAt: now,\n} satisfies ProjectStateResponseDTO;\n\nexport const designClarifyAwaitingState = {\n projectId: \"wf_contract\",\n activeStage: \"design\",\n stages: {\n init: initReady,\n design: designClarifyAwaiting,\n },\n updatedAt: now,\n} satisfies ProjectStateResponseDTO;\n\nexport const designGenerateFailedState = {\n projectId: \"wf_contract\",\n activeStage: null,\n stages: {\n init: initReady,\n design: designGenerateFailed,\n },\n updatedAt: now,\n} satisfies ProjectStateResponseDTO;\n\n/**\n * 事件流夹具:状态只由 `stage.changed` 表达,一条事件一次相变。\n * 澄清 → 等待用户 → 确认后生成,与 `TRANSITIONS.design` 的边一一对应。\n */\nexport const designEvents = [\n { type: \"stage.changed\", stage: \"design\", stageState: designClarifyAwaiting },\n { type: \"stage.changed\", stage: \"design\", stageState: designGenerating },\n { type: \"design.files\", files: projectFiles },\n { type: \"stage.changed\", stage: \"design\", stageState: designReady },\n] satisfies DesignEventDTO[];\n\nexport const setupEvents = [\n {\n type: \"stage.changed\",\n stage: \"setup\",\n stageState: {\n identity: identity(\"setup\", \"task_setup_1\"),\n state: { phase: \"provisioning_table\" },\n next: { kind: \"attach_stream\", endpoint: \"/api/projects/wf_contract/setup\" },\n },\n },\n { type: \"stage.changed\", stage: \"setup\", stageState: setupReady },\n] satisfies SetupEventDTO[];\n\nexport const runEvents = [\n { type: \"stage.changed\", stage: \"run\", stageState: runListening },\n { type: \"run.record.detected\", record: { id: \"rec_contract_1\", title: \"客户反馈发票信息错误\", state: \"待处理\", currentStep: null } },\n { type: \"run.step.started\", itemId: \"rec_contract_1\", stepId: \"validate_invoice\", stepName: \"校验发票信息\" },\n { type: \"run.step.succeeded\", itemId: \"rec_contract_1\", stepId: \"validate_invoice\", stepName: \"校验发票信息\", logs: [\"校验完成\"] },\n { type: \"run.record.completed\", itemId: \"rec_contract_1\" },\n] satisfies RunEventDTO[];\n"],"mappings":"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","names":[]}
|