persona-core 1.0.0 → 1.0.1
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/db/client.d.ts +5 -1
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +77 -80
- package/dist/db/client.js.map +1 -1
- package/dist/llm/capabilities.d.ts +1 -1
- package/dist/llm/capabilities.d.ts.map +1 -1
- package/dist/llm/capabilities.js +5 -7
- package/dist/llm/capabilities.js.map +1 -1
- package/dist/llm/interfaces.d.ts +2 -2
- package/dist/llm/interfaces.d.ts.map +1 -1
- package/dist/services/actionService.d.ts +27 -1
- package/dist/services/actionService.d.ts.map +1 -1
- package/dist/services/actionService.js +153 -10
- package/dist/services/actionService.js.map +1 -1
- package/dist/services/factory.d.ts +3 -0
- package/dist/services/factory.d.ts.map +1 -1
- package/dist/services/factory.js +1 -1
- package/dist/services/factory.js.map +1 -1
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +2 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/ossService.d.ts +101 -0
- package/dist/services/ossService.d.ts.map +1 -0
- package/dist/services/ossService.js +218 -0
- package/dist/services/ossService.js.map +1 -0
- package/dist/temporal/activities/actionActivities.d.ts.map +1 -1
- package/dist/temporal/activities/actionActivities.js +12 -2
- package/dist/temporal/activities/actionActivities.js.map +1 -1
- package/dist/temporal/activities/types.d.ts +6 -0
- package/dist/temporal/activities/types.d.ts.map +1 -1
- package/dist/temporal/personaWorker.d.ts +6 -0
- package/dist/temporal/personaWorker.d.ts.map +1 -1
- package/dist/temporal/personaWorker.js +1 -0
- package/dist/temporal/personaWorker.js.map +1 -1
- package/dist/temporal/worker.d.ts +1 -0
- package/dist/temporal/worker.d.ts.map +1 -1
- package/dist/temporal/workflows/scheduleWorkflow.d.ts.map +1 -1
- package/dist/temporal/workflows/scheduleWorkflow.js +4 -0
- package/dist/temporal/workflows/scheduleWorkflow.js.map +1 -1
- package/dist/types/nodes.d.ts +87 -29
- package/dist/types/nodes.d.ts.map +1 -1
- package/docs/add-llm-provider.md +10 -0
- package/docs/usage-guide.md +178 -1
- package/package.json +8 -2
package/dist/db/client.d.ts
CHANGED
|
@@ -49,7 +49,11 @@ export declare function createInMemoryDatabase(): Promise<{
|
|
|
49
49
|
*/
|
|
50
50
|
export declare function createDatabase(postgresUrl?: string): Promise<DatabaseHandle>;
|
|
51
51
|
/**
|
|
52
|
-
*
|
|
52
|
+
* 运行数据库迁移(PostgreSQL)
|
|
53
|
+
*/
|
|
54
|
+
export declare function runMigrationsPostgres(client: postgres.Sql): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* 运行数据库迁移(PGlite - 创建表)
|
|
53
57
|
*/
|
|
54
58
|
export declare function runMigrations(pglite: PGlite): Promise<void>;
|
|
55
59
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/db/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAA4B,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE9E,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAGtC,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,EAAE,EAAE,cAAc,CAAC;IACnB,cAAc;IACd,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAEnE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,GAAG;IAC9D,EAAE,EAAE,cAAc,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC;CACtB,CAKA;AAED;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC;IACtD,EAAE,EAAE,cAAc,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAID;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAA4B,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE9E,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAGtC,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,EAAE,EAAE,cAAc,CAAC;IACnB,cAAc;IACd,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAEnE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,GAAG;IAC9D,EAAE,EAAE,cAAc,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC;CACtB,CAKA;AAED;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC;IACtD,EAAE,EAAE,cAAc,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAID;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA0BlF;AAuED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAK/E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjE"}
|
package/dist/db/client.js
CHANGED
|
@@ -42,6 +42,8 @@ export async function createDatabase(postgresUrl) {
|
|
|
42
42
|
if (postgresUrl) {
|
|
43
43
|
// 使用 PostgreSQL
|
|
44
44
|
const { db, client } = createPostgresClient(postgresUrl);
|
|
45
|
+
// 自动运行迁移
|
|
46
|
+
await runMigrationsPostgres(client);
|
|
45
47
|
return {
|
|
46
48
|
db,
|
|
47
49
|
pgClient: client,
|
|
@@ -65,93 +67,88 @@ export async function createDatabase(postgresUrl) {
|
|
|
65
67
|
}
|
|
66
68
|
}
|
|
67
69
|
/**
|
|
68
|
-
*
|
|
70
|
+
* 迁移 SQL 语句
|
|
69
71
|
*/
|
|
70
|
-
|
|
72
|
+
const MIGRATION_STATEMENTS = [
|
|
71
73
|
// 创建 schedules 表
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
)
|
|
90
|
-
`);
|
|
74
|
+
`CREATE TABLE IF NOT EXISTS schedules (
|
|
75
|
+
id VARCHAR(64) PRIMARY KEY,
|
|
76
|
+
persona_id VARCHAR(64) NOT NULL,
|
|
77
|
+
persona JSONB NOT NULL,
|
|
78
|
+
name VARCHAR(256) NOT NULL,
|
|
79
|
+
description TEXT,
|
|
80
|
+
status VARCHAR(32) NOT NULL DEFAULT 'pending',
|
|
81
|
+
entry_node_id VARCHAR(64) NOT NULL,
|
|
82
|
+
current_node_id VARCHAR(64),
|
|
83
|
+
shared_data JSONB,
|
|
84
|
+
runtime_state JSONB,
|
|
85
|
+
execution_seq INTEGER DEFAULT 0,
|
|
86
|
+
created_at TIMESTAMP DEFAULT NOW(),
|
|
87
|
+
updated_at TIMESTAMP DEFAULT NOW(),
|
|
88
|
+
started_at TIMESTAMP,
|
|
89
|
+
completed_at TIMESTAMP
|
|
90
|
+
)`,
|
|
91
91
|
// 创建 schedule_nodes 表
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
)
|
|
103
|
-
`);
|
|
92
|
+
`CREATE TABLE IF NOT EXISTS schedule_nodes (
|
|
93
|
+
id VARCHAR(64) PRIMARY KEY,
|
|
94
|
+
schedule_id VARCHAR(64) NOT NULL,
|
|
95
|
+
kind VARCHAR(32) NOT NULL,
|
|
96
|
+
config JSONB,
|
|
97
|
+
next_node_id VARCHAR(64),
|
|
98
|
+
on_failure VARCHAR(32),
|
|
99
|
+
created_at TIMESTAMP DEFAULT NOW(),
|
|
100
|
+
created_by VARCHAR(64)
|
|
101
|
+
)`,
|
|
104
102
|
// 创建索引
|
|
105
|
-
|
|
106
|
-
CREATE INDEX IF NOT EXISTS schedule_nodes_schedule_id_idx
|
|
107
|
-
ON schedule_nodes(schedule_id)
|
|
108
|
-
`);
|
|
103
|
+
`CREATE INDEX IF NOT EXISTS schedule_nodes_schedule_id_idx ON schedule_nodes(schedule_id)`,
|
|
109
104
|
// 创建 node_executions 表
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
)
|
|
122
|
-
`);
|
|
105
|
+
`CREATE TABLE IF NOT EXISTS node_executions (
|
|
106
|
+
id VARCHAR(64) PRIMARY KEY,
|
|
107
|
+
schedule_id VARCHAR(64) NOT NULL,
|
|
108
|
+
node_id VARCHAR(64) NOT NULL,
|
|
109
|
+
status VARCHAR(32) NOT NULL,
|
|
110
|
+
result JSONB,
|
|
111
|
+
error TEXT,
|
|
112
|
+
retry_count INTEGER DEFAULT 0,
|
|
113
|
+
started_at TIMESTAMP,
|
|
114
|
+
completed_at TIMESTAMP
|
|
115
|
+
)`,
|
|
123
116
|
// 创建索引
|
|
124
|
-
|
|
125
|
-
CREATE INDEX IF NOT EXISTS
|
|
126
|
-
ON node_executions(schedule_id)
|
|
127
|
-
`);
|
|
128
|
-
await pglite.exec(`
|
|
129
|
-
CREATE INDEX IF NOT EXISTS node_executions_node_id_idx
|
|
130
|
-
ON node_executions(node_id)
|
|
131
|
-
`);
|
|
132
|
-
await pglite.exec(`
|
|
133
|
-
CREATE INDEX IF NOT EXISTS node_executions_schedule_node_idx
|
|
134
|
-
ON node_executions(schedule_id, node_id)
|
|
135
|
-
`);
|
|
117
|
+
`CREATE INDEX IF NOT EXISTS node_executions_schedule_id_idx ON node_executions(schedule_id)`,
|
|
118
|
+
`CREATE INDEX IF NOT EXISTS node_executions_node_id_idx ON node_executions(node_id)`,
|
|
119
|
+
`CREATE INDEX IF NOT EXISTS node_executions_schedule_node_idx ON node_executions(schedule_id, node_id)`,
|
|
136
120
|
// 创建 plan_results 表
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
)
|
|
143
|
-
`);
|
|
121
|
+
`CREATE TABLE IF NOT EXISTS plan_results (
|
|
122
|
+
idempotency_key VARCHAR(256) PRIMARY KEY,
|
|
123
|
+
result JSONB NOT NULL,
|
|
124
|
+
created_at TIMESTAMP DEFAULT NOW()
|
|
125
|
+
)`,
|
|
144
126
|
// 创建 personas 表
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
127
|
+
`CREATE TABLE IF NOT EXISTS personas (
|
|
128
|
+
id VARCHAR(64) PRIMARY KEY,
|
|
129
|
+
name VARCHAR(256) NOT NULL,
|
|
130
|
+
description TEXT,
|
|
131
|
+
system_prompt TEXT NOT NULL,
|
|
132
|
+
action_types JSONB NOT NULL,
|
|
133
|
+
created_at TIMESTAMP DEFAULT NOW(),
|
|
134
|
+
updated_at TIMESTAMP DEFAULT NOW()
|
|
135
|
+
)`,
|
|
136
|
+
];
|
|
137
|
+
/**
|
|
138
|
+
* 运行数据库迁移(PostgreSQL)
|
|
139
|
+
*/
|
|
140
|
+
export async function runMigrationsPostgres(client) {
|
|
141
|
+
for (const sql of MIGRATION_STATEMENTS) {
|
|
142
|
+
await client.unsafe(sql);
|
|
143
|
+
}
|
|
144
|
+
console.log('[persona-core] Database migrations completed (PostgreSQL)');
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* 运行数据库迁移(PGlite - 创建表)
|
|
148
|
+
*/
|
|
149
|
+
export async function runMigrations(pglite) {
|
|
150
|
+
for (const sql of MIGRATION_STATEMENTS) {
|
|
151
|
+
await pglite.exec(sql);
|
|
152
|
+
}
|
|
156
153
|
}
|
|
157
154
|
//# sourceMappingURL=client.js.map
|
package/dist/db/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAkB,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAoBtC;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,OAAO,aAAa,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,gBAAwB;IAI3D,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC1C,gCAAgC;IAChC,MAAM,EAAE,GAAG,eAAe,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAA8B,CAAC;IAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAI1C,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,WAAoB;IACvD,IAAI,WAAW,EAAE,CAAC;QAChB,gBAAgB;QAChB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACzD,OAAO;YACL,EAAE;YACF,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;YACrB,CAAC;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,kBAAkB;QAClB,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO;YACL,EAAE;YACF,MAAM;YACN,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACvB,CAAC;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,7 +43,7 @@ export declare class LLMContentGenerationCapability implements ContentGeneration
|
|
|
43
43
|
constructor(provider: LLMProvider,
|
|
44
44
|
/** 默认选项,内容生成场景可使用较高 temperature (0.7-0.9) 以增加创意性 */
|
|
45
45
|
defaultOptions?: LLMCallOptions | undefined);
|
|
46
|
-
generate(actionName: string, actionDescription: string | undefined,
|
|
46
|
+
generate(actionName: string, actionDescription: string | undefined, sharedData: Record<string, unknown>, outputFields: Array<{
|
|
47
47
|
name: string;
|
|
48
48
|
typeHint?: string;
|
|
49
49
|
}>, options?: LLMCallOptions): Promise<ContentGenerationResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/llm/capabilities.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,qBAAa,qBAAsB,YAAW,kBAAkB;IAE5D,OAAO,CAAC,QAAQ;IAChB,2CAA2C;IAC3C,OAAO,CAAC,cAAc,CAAC;gBAFf,QAAQ,EAAE,WAAW;IAC7B,2CAA2C;IACnC,cAAc,CAAC,EAAE,cAAc,YAAA;IAGnC,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,cAAc,CAAC;IAuB1B,OAAO,CAAC,iBAAiB;IA+EzB,OAAO,CAAC,eAAe;IAkDvB,OAAO,CAAC,eAAe;CAwCxB;AAED;;GAEG;AACH,qBAAa,2BAA4B,YAAW,wBAAwB;IAExE,OAAO,CAAC,QAAQ;IAChB,2CAA2C;IAC3C,OAAO,CAAC,cAAc,CAAC;gBAFf,QAAQ,EAAE,WAAW;IAC7B,2CAA2C;IACnC,cAAc,CAAC,EAAE,cAAc,YAAA;IAGnC,MAAM,CACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EACnD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC;CAqCnB;AAED;;GAEG;AACH,qBAAa,8BAA+B,YAAW,2BAA2B;IAE9E,OAAO,CAAC,QAAQ;IAChB,oDAAoD;IACpD,OAAO,CAAC,cAAc,CAAC;gBAFf,QAAQ,EAAE,WAAW;IAC7B,oDAAoD;IAC5C,cAAc,CAAC,EAAE,cAAc,YAAA;IAGnC,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/llm/capabilities.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,qBAAa,qBAAsB,YAAW,kBAAkB;IAE5D,OAAO,CAAC,QAAQ;IAChB,2CAA2C;IAC3C,OAAO,CAAC,cAAc,CAAC;gBAFf,QAAQ,EAAE,WAAW;IAC7B,2CAA2C;IACnC,cAAc,CAAC,EAAE,cAAc,YAAA;IAGnC,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,cAAc,CAAC;IAuB1B,OAAO,CAAC,iBAAiB;IA+EzB,OAAO,CAAC,eAAe;IAkDvB,OAAO,CAAC,eAAe;CAwCxB;AAED;;GAEG;AACH,qBAAa,2BAA4B,YAAW,wBAAwB;IAExE,OAAO,CAAC,QAAQ;IAChB,2CAA2C;IAC3C,OAAO,CAAC,cAAc,CAAC;gBAFf,QAAQ,EAAE,WAAW;IAC7B,2CAA2C;IACnC,cAAc,CAAC,EAAE,cAAc,YAAA;IAGnC,MAAM,CACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EACnD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC;CAqCnB;AAED;;GAEG;AACH,qBAAa,8BAA+B,YAAW,2BAA2B;IAE9E,OAAO,CAAC,QAAQ;IAChB,oDAAoD;IACpD,OAAO,CAAC,cAAc,CAAC;gBAFf,QAAQ,EAAE,WAAW;IAC7B,oDAAoD;IAC5C,cAAc,CAAC,EAAE,cAAc,YAAA;IAGnC,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EACxD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,uBAAuB,CAAC;IA8CnC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAa1B"}
|
package/dist/llm/capabilities.js
CHANGED
|
@@ -247,10 +247,7 @@ export class LLMContentGenerationCapability {
|
|
|
247
247
|
this.provider = provider;
|
|
248
248
|
this.defaultOptions = defaultOptions;
|
|
249
249
|
}
|
|
250
|
-
async generate(actionName, actionDescription,
|
|
251
|
-
const inputsDesc = Object.entries(inputs)
|
|
252
|
-
.map(([key, value]) => `${key}: ${JSON.stringify(value)}`)
|
|
253
|
-
.join('\n');
|
|
250
|
+
async generate(actionName, actionDescription, sharedData, outputFields, options) {
|
|
254
251
|
// 基于 outputFields 动态构建 JSON schema 确保输出一致性
|
|
255
252
|
const outputSchema = this.buildOutputSchema(outputFields);
|
|
256
253
|
// 合并默认选项和传入选项
|
|
@@ -276,10 +273,11 @@ export class LLMContentGenerationCapability {
|
|
|
276
273
|
|
|
277
274
|
任务描述:${actionDescription ?? ''}
|
|
278
275
|
|
|
279
|
-
|
|
280
|
-
|
|
276
|
+
## 当前共享数据
|
|
277
|
+
|
|
278
|
+
${JSON.stringify(sharedData, null, 2)}
|
|
281
279
|
|
|
282
|
-
|
|
280
|
+
请根据共享数据中的信息完成这个任务并返回结果。`,
|
|
283
281
|
},
|
|
284
282
|
], { schema: outputSchema }, mergedOptions);
|
|
285
283
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/llm/capabilities.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/llm/capabilities.ts"],"names":[],"mappings":"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"}
|
package/dist/llm/interfaces.d.ts
CHANGED
|
@@ -236,12 +236,12 @@ export interface ContentGenerationCapability {
|
|
|
236
236
|
* 生成内容
|
|
237
237
|
* @param actionName 动作名称
|
|
238
238
|
* @param actionDescription 动作描述
|
|
239
|
-
* @param
|
|
239
|
+
* @param sharedData 共享数据(与 thinking 节点一样自动传入所有数据)
|
|
240
240
|
* @param outputFields 期望的输出字段
|
|
241
241
|
* @param options 可选的 LLM 调用选项(如 temperature)
|
|
242
242
|
* @returns 生成结果(包含输出和可选的思考过程)
|
|
243
243
|
*/
|
|
244
|
-
generate(actionName: string, actionDescription: string | undefined,
|
|
244
|
+
generate(actionName: string, actionDescription: string | undefined, sharedData: Record<string, unknown>, outputFields: Array<{
|
|
245
245
|
name: string;
|
|
246
246
|
typeHint?: string;
|
|
247
247
|
}>, options?: LLMCallOptions): Promise<ContentGenerationResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/llm/interfaces.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/llm/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { ActionService, ActionContext, ActionResult, TaskStatus } from './interfaces.js';
|
|
6
6
|
import { ActionNodeType } from '../types/index.js';
|
|
7
7
|
import { ContentGenerationCapability, LLMCallOptions } from '../llm/interfaces.js';
|
|
8
|
+
import { OssService } from './ossService.js';
|
|
8
9
|
/**
|
|
9
10
|
* 文件操作配置
|
|
10
11
|
*/
|
|
@@ -24,11 +25,14 @@ export declare class DefaultActionService implements ActionService {
|
|
|
24
25
|
private fileConfig;
|
|
25
26
|
private fileLoader;
|
|
26
27
|
private nunjucksEnv;
|
|
28
|
+
private ossService?;
|
|
27
29
|
constructor(
|
|
28
30
|
/** LLM 内容生成能力(用于 llm_call 类型) */
|
|
29
31
|
contentGeneration: ContentGenerationCapability, defaultOptions?: LLMCallOptions | undefined,
|
|
30
32
|
/** 文件操作配置 */
|
|
31
|
-
fileConfig?: Partial<FileOperationConfig
|
|
33
|
+
fileConfig?: Partial<FileOperationConfig>,
|
|
34
|
+
/** OSS 服务(可选,用于 saveToOss 功能) */
|
|
35
|
+
ossService?: OssService);
|
|
32
36
|
/**
|
|
33
37
|
* 注册 Nunjucks 内置过滤器
|
|
34
38
|
* 替换原有的 Loader 和 Transformer 系统
|
|
@@ -54,6 +58,10 @@ export declare class DefaultActionService implements ActionService {
|
|
|
54
58
|
/**
|
|
55
59
|
* 解析 URL 中的模板变量
|
|
56
60
|
* 支持 ${variableName} 格式
|
|
61
|
+
*
|
|
62
|
+
* 智能编码逻辑:
|
|
63
|
+
* - 如果模板只有一个变量且值看起来是完整 URL,则不编码
|
|
64
|
+
* - 否则对变量值进行 URL 编码(用于路径片段等)
|
|
57
65
|
*/
|
|
58
66
|
private resolveUrlTemplate;
|
|
59
67
|
/**
|
|
@@ -73,6 +81,19 @@ export declare class DefaultActionService implements ActionService {
|
|
|
73
81
|
* 用于处理大型响应(如图片、视频),避免超出 Temporal payload 限制
|
|
74
82
|
*/
|
|
75
83
|
private saveResponseDataToFile;
|
|
84
|
+
/**
|
|
85
|
+
* 将响应数据保存到对象存储
|
|
86
|
+
* 支持三种模式:
|
|
87
|
+
* 1. 响应数据是 base64 编码 - 直接转换上传
|
|
88
|
+
* 2. 响应数据是 URL - 下载后再上传
|
|
89
|
+
* 3. 响应数据是 ArrayBuffer/Buffer - 直接上传二进制数据
|
|
90
|
+
*/
|
|
91
|
+
private saveResponseDataToOss;
|
|
92
|
+
/**
|
|
93
|
+
* 统一的 OSS 上传方法
|
|
94
|
+
* 用于同步 API 响应和异步任务结果的上传
|
|
95
|
+
*/
|
|
96
|
+
private uploadDataToOss;
|
|
76
97
|
/**
|
|
77
98
|
* 将数据转换为 Buffer
|
|
78
99
|
* 支持多种数据格式
|
|
@@ -110,6 +131,11 @@ export declare class DefaultActionService implements ActionService {
|
|
|
110
131
|
submitAsyncTask(actionType: ActionNodeType, context: ActionContext): Promise<string>;
|
|
111
132
|
checkTaskStatus(taskId: string): Promise<TaskStatus>;
|
|
112
133
|
getTaskResult(taskId: string): Promise<ActionResult>;
|
|
134
|
+
/**
|
|
135
|
+
* 将异步任务结果保存到对象存储
|
|
136
|
+
* 复用 uploadDataToOss 统一方法
|
|
137
|
+
*/
|
|
138
|
+
private saveAsyncResultToOss;
|
|
113
139
|
/**
|
|
114
140
|
* 解析异步 URL 模板
|
|
115
141
|
* 支持 ${taskId} 和 ${fieldName} 变量
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionService.d.ts","sourceRoot":"","sources":["../../src/services/actionService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"actionService.d.ts","sourceRoot":"","sources":["../../src/services/actionService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAmD,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,2BAA2B,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAmBD,qBAAa,oBAAqB,YAAW,aAAa;IAQtD,iCAAiC;IACjC,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,cAAc,CAAC;IATzB,OAAO,CAAC,iBAAiB,CAA4C;IACrE,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,UAAU,CAAC,CAAa;;IAG9B,iCAAiC;IACzB,iBAAiB,EAAE,2BAA2B,EAC9C,cAAc,CAAC,EAAE,cAAc,YAAA;IACvC,aAAa;IACb,UAAU,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC;IACzC,iCAAiC;IACjC,UAAU,CAAC,EAAE,UAAU;IAiBzB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA6J/B;;OAEG;YACW,mBAAmB;IAQjC;;;;OAIG;YACW,mBAAmB;IAmCjC;;OAEG;YACW,cAAc;IAetB,WAAW,CACf,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC;YA2BV,cAAc;YAoBd,cAAc;IA0D5B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IA2B1B;;OAEG;YACW,YAAY;IA4D1B;;OAEG;YACW,gBAAgB;IAoE9B;;OAEG;YACW,kBAAkB;IAuFhC;;;OAGG;YACW,sBAAsB;IAuCpC;;;;;;OAMG;YACW,qBAAqB;IAQnC;;;OAGG;YACW,eAAe;IAsF7B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAqFvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;YA0BP,kBAAkB;YAmBlB,oBAAoB;IA2BlC;;OAEG;IACH,OAAO,CAAC,eAAe;IAyBvB;;OAEG;YACW,gBAAgB;IAkD9B;;OAEG;YACW,eAAe;YA4Cf,oBAAoB;YASpB,mBAAmB;IAS3B,eAAe,CACnB,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC;IAuDZ,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAiEpD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA2E1D;;;OAGG;YACW,oBAAoB;IAQlC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAkB/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;;OAGG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAG9C"}
|
|
@@ -13,11 +13,14 @@ export class DefaultActionService {
|
|
|
13
13
|
fileConfig;
|
|
14
14
|
fileLoader;
|
|
15
15
|
nunjucksEnv;
|
|
16
|
+
ossService;
|
|
16
17
|
constructor(
|
|
17
18
|
/** LLM 内容生成能力(用于 llm_call 类型) */
|
|
18
19
|
contentGeneration, defaultOptions,
|
|
19
20
|
/** 文件操作配置 */
|
|
20
|
-
fileConfig
|
|
21
|
+
fileConfig,
|
|
22
|
+
/** OSS 服务(可选,用于 saveToOss 功能) */
|
|
23
|
+
ossService) {
|
|
21
24
|
this.contentGeneration = contentGeneration;
|
|
22
25
|
this.defaultOptions = defaultOptions;
|
|
23
26
|
this.fileConfig = {
|
|
@@ -26,6 +29,7 @@ export class DefaultActionService {
|
|
|
26
29
|
maxFileSize: fileConfig?.maxFileSize ?? 10 * 1024 * 1024, // 10MB
|
|
27
30
|
};
|
|
28
31
|
this.fileLoader = new FileLoader(this.fileConfig.baseDir, this.fileConfig.maxFileSize);
|
|
32
|
+
this.ossService = ossService;
|
|
29
33
|
// 初始化 Nunjucks 环境
|
|
30
34
|
this.nunjucksEnv = new nunjucks.Environment(null, {
|
|
31
35
|
autoescape: false, // JSON 模板不需要 HTML 转义
|
|
@@ -257,7 +261,9 @@ export class DefaultActionService {
|
|
|
257
261
|
}
|
|
258
262
|
}
|
|
259
263
|
async executeLLMCall(actionType, context) {
|
|
260
|
-
|
|
264
|
+
// llm_call 类型的 action 像 thinking 节点一样自动获取所有 shared data
|
|
265
|
+
// LLM 可以自行决定需要引用哪些数据,无需通过 inputFields 预先指定
|
|
266
|
+
const result = await this.contentGeneration.generate(actionType.name, actionType.description, context.sharedData.data, actionType.outputFields, this.defaultOptions);
|
|
261
267
|
return {
|
|
262
268
|
outputs: result.outputs,
|
|
263
269
|
reasoningContent: result.reasoningContent,
|
|
@@ -310,8 +316,25 @@ export class DefaultActionService {
|
|
|
310
316
|
/**
|
|
311
317
|
* 解析 URL 中的模板变量
|
|
312
318
|
* 支持 ${variableName} 格式
|
|
319
|
+
*
|
|
320
|
+
* 智能编码逻辑:
|
|
321
|
+
* - 如果模板只有一个变量且值看起来是完整 URL,则不编码
|
|
322
|
+
* - 否则对变量值进行 URL 编码(用于路径片段等)
|
|
313
323
|
*/
|
|
314
324
|
resolveUrlTemplate(urlTemplate, inputs) {
|
|
325
|
+
// 检查是否整个模板就是一个变量(常见于动态 URL 场景)
|
|
326
|
+
const singleVarMatch = urlTemplate.match(/^\$\{(\w+)\}$/);
|
|
327
|
+
if (singleVarMatch) {
|
|
328
|
+
const value = inputs[singleVarMatch[1]];
|
|
329
|
+
if (value === undefined || value === null) {
|
|
330
|
+
throw new Error(`Missing URL template variable: ${singleVarMatch[1]}`);
|
|
331
|
+
}
|
|
332
|
+
const strValue = String(value);
|
|
333
|
+
// 如果值看起来像是完整 URL,直接返回不编码
|
|
334
|
+
if (strValue.startsWith('http://') || strValue.startsWith('https://')) {
|
|
335
|
+
return strValue;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
315
338
|
return urlTemplate.replace(/\$\{(\w+)\}/g, (_match, varName) => {
|
|
316
339
|
const value = inputs[varName];
|
|
317
340
|
if (value === undefined || value === null) {
|
|
@@ -478,6 +501,20 @@ export class DefaultActionService {
|
|
|
478
501
|
outputs.success = true;
|
|
479
502
|
return outputs;
|
|
480
503
|
}
|
|
504
|
+
// 检查是否配置了 saveToOss
|
|
505
|
+
const saveToOssConfig = apiConfig.response?.saveToOss;
|
|
506
|
+
if (saveToOssConfig?.enabled) {
|
|
507
|
+
const saveResult = await this.saveResponseDataToOss(responseData, saveToOssConfig, inputs);
|
|
508
|
+
// 返回 OSS URL 和相关信息,不返回原始数据
|
|
509
|
+
const outputField = saveToOssConfig.outputField ?? 'ossUrl';
|
|
510
|
+
outputs[outputField] = saveResult.url;
|
|
511
|
+
outputs.ossKey = saveResult.key;
|
|
512
|
+
outputs.bucket = saveResult.bucket;
|
|
513
|
+
outputs.bytesUploaded = saveResult.bytesUploaded;
|
|
514
|
+
outputs.contentType = saveResult.contentType;
|
|
515
|
+
outputs.success = true;
|
|
516
|
+
return outputs;
|
|
517
|
+
}
|
|
481
518
|
// 如果配置了字段提取
|
|
482
519
|
if (apiConfig.response?.extract && typeof responseData === 'object' && responseData !== null) {
|
|
483
520
|
for (const [outputField, jsonPath] of Object.entries(apiConfig.response.extract)) {
|
|
@@ -522,6 +559,82 @@ export class DefaultActionService {
|
|
|
522
559
|
bytesWritten: buffer.length,
|
|
523
560
|
};
|
|
524
561
|
}
|
|
562
|
+
/**
|
|
563
|
+
* 将响应数据保存到对象存储
|
|
564
|
+
* 支持三种模式:
|
|
565
|
+
* 1. 响应数据是 base64 编码 - 直接转换上传
|
|
566
|
+
* 2. 响应数据是 URL - 下载后再上传
|
|
567
|
+
* 3. 响应数据是 ArrayBuffer/Buffer - 直接上传二进制数据
|
|
568
|
+
*/
|
|
569
|
+
async saveResponseDataToOss(responseData, config, inputs) {
|
|
570
|
+
return this.uploadDataToOss(responseData, config, inputs);
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* 统一的 OSS 上传方法
|
|
574
|
+
* 用于同步 API 响应和异步任务结果的上传
|
|
575
|
+
*/
|
|
576
|
+
async uploadDataToOss(responseData, config, inputs) {
|
|
577
|
+
// 检查 OSS 服务是否可用
|
|
578
|
+
if (!this.ossService) {
|
|
579
|
+
throw new Error('OSS service is not configured. Please provide an OssService instance to DefaultActionService.');
|
|
580
|
+
}
|
|
581
|
+
// 获取 OSS key
|
|
582
|
+
const ossKey = inputs[config.keyField];
|
|
583
|
+
if (!ossKey) {
|
|
584
|
+
throw new Error(`saveToOss.keyField "${config.keyField}" not found in inputs`);
|
|
585
|
+
}
|
|
586
|
+
// 提取要保存的数据
|
|
587
|
+
let dataToSave = responseData;
|
|
588
|
+
if (config.dataPath) {
|
|
589
|
+
dataToSave = this.extractByPath(responseData, config.dataPath);
|
|
590
|
+
if (dataToSave === undefined) {
|
|
591
|
+
throw new Error(`Could not extract data from response using path: ${config.dataPath}`);
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
// 预处理:如果数据是对象且包含 url 字段,提取 url
|
|
595
|
+
if (typeof dataToSave === 'object' && dataToSave !== null && !ArrayBuffer.isView(dataToSave) && !(dataToSave instanceof ArrayBuffer) && 'url' in dataToSave) {
|
|
596
|
+
dataToSave = dataToSave.url;
|
|
597
|
+
}
|
|
598
|
+
// 处理 ArrayBuffer/Buffer 类型(二进制响应)
|
|
599
|
+
if (dataToSave instanceof ArrayBuffer || ArrayBuffer.isView(dataToSave)) {
|
|
600
|
+
const buffer = dataToSave instanceof ArrayBuffer
|
|
601
|
+
? Buffer.from(dataToSave)
|
|
602
|
+
: Buffer.from(dataToSave.buffer, dataToSave.byteOffset, dataToSave.byteLength);
|
|
603
|
+
return this.ossService.uploadFromBuffer(config.bucket, ossKey, buffer, { contentType: config.contentType });
|
|
604
|
+
}
|
|
605
|
+
// 确定数据来源类型
|
|
606
|
+
const sourceType = config.sourceType ?? 'auto';
|
|
607
|
+
let detectedSourceType;
|
|
608
|
+
if (sourceType === 'auto') {
|
|
609
|
+
if (typeof dataToSave === 'string') {
|
|
610
|
+
if (dataToSave.startsWith('data:') || this.looksLikeBase64(dataToSave)) {
|
|
611
|
+
detectedSourceType = 'base64';
|
|
612
|
+
}
|
|
613
|
+
else if (dataToSave.startsWith('http://') || dataToSave.startsWith('https://')) {
|
|
614
|
+
detectedSourceType = 'url';
|
|
615
|
+
}
|
|
616
|
+
else {
|
|
617
|
+
throw new Error('Cannot auto-detect source type. Data is not a valid base64 or URL.');
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
else {
|
|
621
|
+
throw new Error('saveToOss requires string data (base64 or URL) or binary data (ArrayBuffer/Buffer)');
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
else {
|
|
625
|
+
detectedSourceType = sourceType;
|
|
626
|
+
}
|
|
627
|
+
if (typeof dataToSave !== 'string') {
|
|
628
|
+
throw new Error('saveToOss requires string data (base64 or URL) or binary data (ArrayBuffer/Buffer)');
|
|
629
|
+
}
|
|
630
|
+
// 根据来源类型上传
|
|
631
|
+
if (detectedSourceType === 'base64') {
|
|
632
|
+
return this.ossService.uploadFromBase64(config.bucket, ossKey, dataToSave, { contentType: config.contentType });
|
|
633
|
+
}
|
|
634
|
+
else {
|
|
635
|
+
return this.ossService.uploadFromUrl(config.bucket, ossKey, dataToSave, { contentType: config.contentType });
|
|
636
|
+
}
|
|
637
|
+
}
|
|
525
638
|
/**
|
|
526
639
|
* 将数据转换为 Buffer
|
|
527
640
|
* 支持多种数据格式
|
|
@@ -896,6 +1009,8 @@ export class DefaultActionService {
|
|
|
896
1009
|
throw new Error(`Task context not found for taskId: ${taskId}. The task may not have been submitted through this service instance.`);
|
|
897
1010
|
}
|
|
898
1011
|
const resultFetch = ctx.asyncMode.resultFetch;
|
|
1012
|
+
let outputs;
|
|
1013
|
+
let rawResponseData;
|
|
899
1014
|
// 情况 1: 有独立的结果获取 URL
|
|
900
1015
|
if (resultFetch?.url) {
|
|
901
1016
|
const url = this.resolveAsyncUrlTemplate(resultFetch.url, taskId, ctx.inputs);
|
|
@@ -911,22 +1026,50 @@ export class DefaultActionService {
|
|
|
911
1026
|
throw new Error(`Result fetch failed: ${response.status} ${response.statusText}`);
|
|
912
1027
|
}
|
|
913
1028
|
const data = await response.json();
|
|
1029
|
+
rawResponseData = data;
|
|
914
1030
|
// 应用结果提取映射
|
|
915
1031
|
if (resultFetch.extract) {
|
|
916
|
-
|
|
1032
|
+
outputs = this.extractMultipleFields(data, resultFetch.extract);
|
|
1033
|
+
}
|
|
1034
|
+
else {
|
|
1035
|
+
outputs = data;
|
|
917
1036
|
}
|
|
918
|
-
return { outputs: data };
|
|
919
1037
|
}
|
|
920
|
-
|
|
921
|
-
|
|
1038
|
+
else if (ctx.lastStatusResponse) {
|
|
1039
|
+
// 情况 2: 从最后一次状态检查响应中提取结果
|
|
1040
|
+
rawResponseData = ctx.lastStatusResponse;
|
|
922
1041
|
const extractConfig = resultFetch?.extractFromStatus;
|
|
923
1042
|
if (extractConfig) {
|
|
924
|
-
|
|
1043
|
+
outputs = this.extractMultipleFields(ctx.lastStatusResponse, extractConfig);
|
|
925
1044
|
}
|
|
926
|
-
|
|
927
|
-
|
|
1045
|
+
else {
|
|
1046
|
+
// 使用整个状态响应作为结果
|
|
1047
|
+
outputs = ctx.lastStatusResponse;
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
else {
|
|
1051
|
+
throw new Error('No result available: neither result URL nor status response found');
|
|
1052
|
+
}
|
|
1053
|
+
// 检查是否配置了 saveToOss,如果配置了则执行上传
|
|
1054
|
+
if (resultFetch?.saveToOss?.enabled) {
|
|
1055
|
+
const saveResult = await this.saveAsyncResultToOss(rawResponseData, resultFetch.saveToOss, ctx.inputs);
|
|
1056
|
+
// 返回 OSS URL 和相关信息
|
|
1057
|
+
const outputField = resultFetch.saveToOss.outputField ?? 'ossUrl';
|
|
1058
|
+
outputs[outputField] = saveResult.url;
|
|
1059
|
+
outputs.ossKey = saveResult.key;
|
|
1060
|
+
outputs.bucket = saveResult.bucket;
|
|
1061
|
+
outputs.bytesUploaded = saveResult.bytesUploaded;
|
|
1062
|
+
outputs.contentType = saveResult.contentType;
|
|
1063
|
+
outputs.success = true;
|
|
928
1064
|
}
|
|
929
|
-
|
|
1065
|
+
return { outputs };
|
|
1066
|
+
}
|
|
1067
|
+
/**
|
|
1068
|
+
* 将异步任务结果保存到对象存储
|
|
1069
|
+
* 复用 uploadDataToOss 统一方法
|
|
1070
|
+
*/
|
|
1071
|
+
async saveAsyncResultToOss(responseData, config, inputs) {
|
|
1072
|
+
return this.uploadDataToOss(responseData, config, inputs);
|
|
930
1073
|
}
|
|
931
1074
|
/**
|
|
932
1075
|
* 解析异步 URL 模板
|