@gt-fe/eap-sdk 0.1.13 → 0.2.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.
Files changed (68) hide show
  1. package/README.md +140 -70
  2. package/dist/materialization/index.d.ts +0 -1
  3. package/dist/materialization/index.d.ts.map +1 -1
  4. package/dist/materialization/index.js +0 -1
  5. package/dist/materialization/index.js.map +1 -1
  6. package/dist/materialization/prepare-agent-runtime.d.ts +6 -0
  7. package/dist/materialization/prepare-agent-runtime.d.ts.map +1 -1
  8. package/dist/materialization/prepare-agent-runtime.js +11 -17
  9. package/dist/materialization/prepare-agent-runtime.js.map +1 -1
  10. package/dist/materialization/types.d.ts +0 -2
  11. package/dist/materialization/types.d.ts.map +1 -1
  12. package/dist/packaging/package-agent-project.d.ts.map +1 -1
  13. package/dist/packaging/package-agent-project.js +2 -4
  14. package/dist/packaging/package-agent-project.js.map +1 -1
  15. package/dist/platform/client.d.ts.map +1 -1
  16. package/dist/platform/client.js +13 -2
  17. package/dist/platform/client.js.map +1 -1
  18. package/dist/platform/types.d.ts +2 -0
  19. package/dist/platform/types.d.ts.map +1 -1
  20. package/dist/schema/agent/manifest.d.ts +1029 -98
  21. package/dist/schema/agent/manifest.d.ts.map +1 -1
  22. package/dist/schema/graph.d.ts +1538 -252
  23. package/dist/schema/graph.d.ts.map +1 -1
  24. package/dist/schema/graph.js +30 -5
  25. package/dist/schema/graph.js.map +1 -1
  26. package/dist/schema/lockfile.d.ts +30 -30
  27. package/dist/service/create-agent.d.ts +8 -0
  28. package/dist/service/create-agent.d.ts.map +1 -0
  29. package/dist/service/create-agent.js +407 -0
  30. package/dist/service/create-agent.js.map +1 -0
  31. package/dist/service/events.d.ts +12 -45
  32. package/dist/service/events.d.ts.map +1 -1
  33. package/dist/service/events.js +45 -1
  34. package/dist/service/events.js.map +1 -1
  35. package/dist/service/index.d.ts +5 -2
  36. package/dist/service/index.d.ts.map +1 -1
  37. package/dist/service/index.js +4 -1
  38. package/dist/service/index.js.map +1 -1
  39. package/dist/service/messages.d.ts +13 -0
  40. package/dist/service/messages.d.ts.map +1 -0
  41. package/dist/service/messages.js +24 -0
  42. package/dist/service/messages.js.map +1 -0
  43. package/dist/service/resources.d.ts +86 -0
  44. package/dist/service/resources.d.ts.map +1 -0
  45. package/dist/service/resources.js +26 -0
  46. package/dist/service/resources.js.map +1 -0
  47. package/dist/service/runtime-adapter.d.ts.map +1 -1
  48. package/dist/service/runtime-adapter.js +26 -2
  49. package/dist/service/runtime-adapter.js.map +1 -1
  50. package/dist/service/sessions.d.ts +33 -0
  51. package/dist/service/sessions.d.ts.map +1 -0
  52. package/dist/service/sessions.js +67 -0
  53. package/dist/service/sessions.js.map +1 -0
  54. package/dist/service/types.d.ts +121 -32
  55. package/dist/service/types.d.ts.map +1 -1
  56. package/package.json +2 -2
  57. package/dist/materialization/sync-author-resources.d.ts +0 -21
  58. package/dist/materialization/sync-author-resources.d.ts.map +0 -1
  59. package/dist/materialization/sync-author-resources.js +0 -98
  60. package/dist/materialization/sync-author-resources.js.map +0 -1
  61. package/dist/service/create-agent-service.d.ts +0 -12
  62. package/dist/service/create-agent-service.d.ts.map +0 -1
  63. package/dist/service/create-agent-service.js +0 -283
  64. package/dist/service/create-agent-service.js.map +0 -1
  65. package/dist/service/http-server.d.ts +0 -4
  66. package/dist/service/http-server.d.ts.map +0 -1
  67. package/dist/service/http-server.js +0 -89
  68. package/dist/service/http-server.js.map +0 -1
@@ -1,12 +0,0 @@
1
- import type { AgentService, AgentServiceStartOptions, CreateAgentServiceOptions, CreateEmbeddedAgentServiceOptions } from './types.js';
2
- export declare function resolveAgentServiceStartOptions(options?: AgentServiceStartOptions, env?: NodeJS.ProcessEnv): Required<AgentServiceStartOptions>;
3
- export declare function createAgentService(options?: CreateAgentServiceOptions): Promise<AgentService>;
4
- /**
5
- * Starts an Agent from a Runtime directory emitted during a build. The
6
- * directory must contain agents/<code>/<version>/ and is never re-materialized
7
- * at service startup.
8
- */
9
- export declare function createEmbeddedAgentService(options: CreateEmbeddedAgentServiceOptions): Promise<AgentService>;
10
- export declare function resolveServiceRuntimeEnvironment(projectEnvironment: Record<string, string>, deploymentContext: string, projectRoot: string, sessionPersistence: boolean): Record<string, string>;
11
- export declare function resolveEmbeddedServiceRuntimeEnvironment(runtimeRoot: string, deploymentContext: 'dev' | 'desktop' | 'server', sessionPersistence: boolean, sessionDirectory: string | undefined, environment: Record<string, string>): Record<string, string>;
12
- //# sourceMappingURL=create-agent-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-agent-service.d.ts","sourceRoot":"","sources":["../../src/service/create-agent-service.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,YAAY,EAGZ,wBAAwB,EAExB,yBAAyB,EACzB,iCAAiC,EAClC,MAAM,YAAY,CAAC;AAwEpB,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,wBAA6B,EACtC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,QAAQ,CAAC,wBAAwB,CAAC,CAKpC;AAED,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,YAAY,CAAC,CA6BvG;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,YAAY,CAAC,CAqBvB;AAmCD,wBAAgB,gCAAgC,CAC9C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1C,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,OAAO,GAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwCxB;AAED,wBAAgB,wCAAwC,CACtD,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,EAC/C,kBAAkB,EAAE,OAAO,EAC3B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBxB"}
@@ -1,283 +0,0 @@
1
- import { lstatSync, readFileSync, readdirSync, writeFileSync } from 'node:fs';
2
- import { resolve } from 'node:path';
3
- import { resolveProjectRuntimeEnvironment } from '../config/index.js';
4
- import { toSha256Hex } from '../digest.js';
5
- import { resolveAgentProject } from '../discovery/index.js';
6
- import { prepareAgentRuntime, syncAuthorResources } from '../materialization/index.js';
7
- import { sha256 } from '../resources/resource-files.js';
8
- import { AgentManifestSchema, DependenciesLockSchema, GraphSchema } from '../schema/index.js';
9
- import { validateAgentProject } from '../validation/index.js';
10
- import { createAgentHttpServer } from './http-server.js';
11
- import { createRuntimeForPrepared } from './runtime-adapter.js';
12
- class RuntimeAgentService {
13
- target;
14
- runtime;
15
- prepared;
16
- server;
17
- constructor(target, runtime, prepared) {
18
- this.target = target;
19
- this.runtime = runtime;
20
- this.prepared = prepared;
21
- }
22
- async invoke(input, options = {}) {
23
- syncAuthorResources(this.prepared);
24
- return this.runtime.agentRuntime.execute({
25
- ...options,
26
- input,
27
- agentCode: this.target.agentCode,
28
- });
29
- }
30
- stream(input, options = {}) {
31
- syncAuthorResources(this.prepared);
32
- return this.runtime.agentRuntime.stream({
33
- ...options,
34
- input,
35
- agentCode: this.target.agentCode,
36
- });
37
- }
38
- getConversation(sessionId) {
39
- return this.runtime.agentRuntime.getConversation(sessionId);
40
- }
41
- listConversations(options) {
42
- return this.runtime.agentRuntime.listConversations(options);
43
- }
44
- listLlmTurns(sessionId) {
45
- return this.runtime.agentRuntime.listLlmTurns(sessionId);
46
- }
47
- getLlmTurn(sessionId, turnId) {
48
- return this.runtime.agentRuntime.getLlmTurn(sessionId, turnId);
49
- }
50
- async start(options = {}) {
51
- if (this.server)
52
- throw new Error('Agent HTTP server is already running');
53
- const server = createAgentHttpServer(this);
54
- const listenOptions = resolveAgentServiceStartOptions(options);
55
- this.server = server;
56
- await new Promise((resolve, reject) => {
57
- const fail = (error) => {
58
- if (this.server === server)
59
- this.server = undefined;
60
- reject(error);
61
- };
62
- server.once('error', fail);
63
- server.listen(listenOptions.port, listenOptions.host, () => {
64
- server.off('error', fail);
65
- resolve();
66
- });
67
- });
68
- }
69
- async stop() {
70
- if (!this.server)
71
- return;
72
- const server = this.server;
73
- this.server = undefined;
74
- await new Promise((resolve, reject) => server.close((error) => error ? reject(error) : resolve()));
75
- }
76
- }
77
- export function resolveAgentServiceStartOptions(options = {}, env = process.env) {
78
- return {
79
- host: options.host ?? env.EAP_RUNTIME_HOST ?? '0.0.0.0',
80
- port: options.port ?? parsePort(env.EAP_RUNTIME_PORT),
81
- };
82
- }
83
- export async function createAgentService(options = {}) {
84
- const { runtimeFactory = createRuntimeForPrepared, messages, sessionPersistence = false, ...selector } = options;
85
- const project = resolveAgentProject(selector);
86
- const validation = validateAgentProject(project.root);
87
- if (!validation.valid) {
88
- throw new Error(`Agent project validation failed: ${validation.issues.map((issue) => issue.message).join('; ')}`);
89
- }
90
- const prepared = await prepareAgentRuntime({ root: project.root });
91
- syncAuthorResources(prepared);
92
- applySystemPrompt(prepared, messages ?? []);
93
- const resolvedEnvironment = resolveProjectRuntimeEnvironment({
94
- root: project.root,
95
- preinstallRoot: prepared.runtimeRoot,
96
- });
97
- const runtime = runtimeFactory(prepared, resolveServiceRuntimeEnvironment(resolvedEnvironment.environment, resolvedEnvironment.config.runtime.deploymentContext, project.root, sessionPersistence));
98
- return new RuntimeAgentService(project, runtime, prepared);
99
- }
100
- /**
101
- * Starts an Agent from a Runtime directory emitted during a build. The
102
- * directory must contain agents/<code>/<version>/ and is never re-materialized
103
- * at service startup.
104
- */
105
- export async function createEmbeddedAgentService(options) {
106
- const target = resolveMaterializedAgentTarget(options);
107
- const runtimeRoot = target.root;
108
- const sessionPersistence = options.sessionPersistence ?? false;
109
- const environment = resolveEmbeddedServiceRuntimeEnvironment(runtimeRoot, options.deploymentContext ?? 'server', sessionPersistence, options.sessionDirectory, options.environment ?? {});
110
- const prepared = {
111
- projectRoot: runtimeRoot,
112
- runtimeRoot,
113
- agentDir: resolve(runtimeRoot, 'agents', target.agentCode, target.version),
114
- agentCode: target.agentCode,
115
- version: target.version,
116
- resources: [],
117
- };
118
- const runtime = (options.runtimeFactory ?? createRuntimeForPrepared)(prepared, environment);
119
- return new RuntimeAgentService(target, runtime, prepared);
120
- }
121
- function applySystemPrompt(prepared, messages) {
122
- const systemMessage = messages.find((message) => message.role === 'system');
123
- if (!systemMessage)
124
- return;
125
- // TODO: Forward non-system messages when Runtime exposes a supported injection API.
126
- const graphPath = resolve(prepared.agentDir, 'graph.json');
127
- const graph = JSON.parse(readFileSync(graphPath, 'utf8'));
128
- const firstLlmNode = graph.nodes.find((node) => node.type === 'llm');
129
- if (!firstLlmNode)
130
- return;
131
- firstLlmNode.config.systemPrompt = systemMessage.content;
132
- writeFileSync(graphPath, `${JSON.stringify(graph, null, 2)}\n`, 'utf8');
133
- updateGraphArtifactDigest(prepared, graphPath);
134
- }
135
- function updateGraphArtifactDigest(prepared, graphPath) {
136
- const snapshotPath = resolve(prepared.agentDir, 'snapshot.json');
137
- const snapshot = JSON.parse(readFileSync(snapshotPath, 'utf8'));
138
- const graphArtifact = snapshot.artifacts.find((artifact) => artifact.path === 'graph.json');
139
- if (!graphArtifact)
140
- throw new Error(`Runtime snapshot is missing graph.json: ${snapshotPath}`);
141
- graphArtifact.sha256 = toSha256Hex(sha256(readFileSync(graphPath)));
142
- writeFileSync(snapshotPath, `${JSON.stringify(snapshot, null, 2)}\n`, 'utf8');
143
- }
144
- export function resolveServiceRuntimeEnvironment(projectEnvironment, deploymentContext, projectRoot, sessionPersistence) {
145
- const variables = [
146
- {
147
- key: 'EAP_DEPLOYMENT_CONTEXT',
148
- value: deploymentContext,
149
- description: 'Runtime 的部署上下文,直接取自 eap.config.json 的 runtime.deploymentContext。',
150
- },
151
- {
152
- key: 'EAP_RUNTIME_STORAGE_PROFILE',
153
- value: sessionPersistence ? 'dev' : 'test',
154
- description: '服务的运行时存储模式;默认 test 使用内存存储,启用会话持久化后使用 dev 文件存储。',
155
- },
156
- {
157
- key: 'EAP_LLM_TURN_DIR',
158
- value: resolve(projectRoot, '.eap', 'llm-turns'),
159
- description: '每步 LLM 入参/响应落盘目录(URL、模型、脱敏密钥、提示词)。EAP_LLM_TURN_LOG=0 关闭。',
160
- },
161
- ];
162
- if (sessionPersistence) {
163
- const sessionDirectory = resolve(projectRoot, '.eap', 'sessions');
164
- variables.push({
165
- key: 'EAP_SESSION_DIR',
166
- value: sessionDirectory,
167
- description: 'Runtime 保存持久化会话数据的目录。',
168
- }, {
169
- key: 'EAP_MESSAGE_DIR',
170
- value: resolve(sessionDirectory, 'messages'),
171
- description: 'Runtime 保存持久化会话消息的目录。',
172
- });
173
- }
174
- // `description` 仅用于维护文档;Runtime 只接收 key/value 环境变量映射。
175
- return {
176
- ...projectEnvironment,
177
- ...Object.fromEntries(variables.map(({ key, value }) => [key, value])),
178
- };
179
- }
180
- export function resolveEmbeddedServiceRuntimeEnvironment(runtimeRoot, deploymentContext, sessionPersistence, sessionDirectory, environment) {
181
- const runtimeDirectory = resolve(runtimeRoot);
182
- const storageProfile = sessionPersistence ? 'dev' : 'test';
183
- const resolvedEnvironment = {
184
- ...environment,
185
- EAP_PREINSTALL_ROOT: runtimeDirectory,
186
- EAP_DEPLOYMENT_CONTEXT: deploymentContext,
187
- EAP_RUNTIME_STORAGE_PROFILE: storageProfile,
188
- EAP_LLM_TURN_DIR: resolve(runtimeDirectory, '..', 'llm-turns'),
189
- };
190
- if (sessionPersistence) {
191
- const directory = resolve(sessionDirectory ?? resolve(runtimeDirectory, '..', 'sessions'));
192
- resolvedEnvironment.EAP_SESSION_DIR = directory;
193
- resolvedEnvironment.EAP_MESSAGE_DIR = resolve(directory, 'messages');
194
- }
195
- return resolvedEnvironment;
196
- }
197
- function resolveMaterializedAgentTarget(options) {
198
- const runtimeRoot = assertRegularDirectory(resolve(options.runtimeRoot), 'Embedded Runtime root');
199
- const agentsRoot = assertRegularDirectory(resolve(runtimeRoot, 'agents'), 'Embedded Runtime agents directory');
200
- const agentCode = options.agentCode ?? selectOnlyDirectory(agentsRoot, 'Agent code');
201
- assertDirectorySegment(agentCode, 'Agent code');
202
- const agentRoot = assertRegularDirectory(resolve(agentsRoot, agentCode), `Embedded Agent directory ${agentCode}`);
203
- const version = options.version ?? selectOnlyDirectory(agentRoot, 'Agent version');
204
- assertDirectorySegment(version, 'Agent version');
205
- const agentDir = assertRegularDirectory(resolve(agentRoot, version), `Embedded Agent version directory ${agentCode}@${version}`);
206
- const manifestPath = assertRegularFile(resolve(agentDir, 'agent.manifest.json'), 'Embedded Agent manifest');
207
- const graphPath = assertRegularFile(resolve(agentDir, 'graph.json'), 'Embedded Agent graph');
208
- assertRegularFile(resolve(agentDir, 'dependencies.lock'), 'Embedded Agent dependencies lock');
209
- assertRegularFile(resolve(agentDir, 'snapshot.json'), 'Embedded Agent snapshot');
210
- assertRegularFile(resolve(agentDir, '.ready'), 'Embedded Agent readiness marker');
211
- const manifest = AgentManifestSchema.parse(readJson(manifestPath, 'Embedded Agent manifest'));
212
- if (manifest.code !== agentCode || manifest.version !== version) {
213
- throw new Error(`Embedded Agent identity does not match ${agentCode}@${version}`);
214
- }
215
- GraphSchema.parse(readJson(graphPath, 'Embedded Agent graph'));
216
- const dependencies = DependenciesLockSchema.parse(readJson(resolve(agentDir, 'dependencies.lock'), 'Embedded Agent dependencies lock'));
217
- if (dependencies.agentCode && dependencies.agentCode !== agentCode) {
218
- throw new Error(`Embedded dependencies.lock Agent identity does not match ${agentCode}`);
219
- }
220
- if (dependencies.agentVersion && dependencies.agentVersion !== version) {
221
- throw new Error(`Embedded dependencies.lock version does not match ${version}`);
222
- }
223
- return { root: runtimeRoot, agentCode, version, manifestPath, graphPath };
224
- }
225
- function selectOnlyDirectory(parent, label) {
226
- const directories = readdirSync(parent, { withFileTypes: true })
227
- .filter((entry) => entry.isDirectory())
228
- .map((entry) => entry.name)
229
- .sort((left, right) => left.localeCompare(right));
230
- if (directories.length !== 1) {
231
- throw new Error(`Embedded Runtime requires exactly one ${label}; found ${directories.length}`);
232
- }
233
- return directories[0];
234
- }
235
- function assertRegularDirectory(path, label) {
236
- let stat;
237
- try {
238
- stat = lstatSync(path);
239
- }
240
- catch {
241
- throw new Error(`${label} is missing: ${path}`);
242
- }
243
- if (!stat.isDirectory() || stat.isSymbolicLink()) {
244
- throw new Error(`${label} must be a regular directory: ${path}`);
245
- }
246
- return path;
247
- }
248
- function assertRegularFile(path, label) {
249
- let stat;
250
- try {
251
- stat = lstatSync(path);
252
- }
253
- catch {
254
- throw new Error(`${label} is missing: ${path}`);
255
- }
256
- if (!stat.isFile() || stat.isSymbolicLink()) {
257
- throw new Error(`${label} must be a regular file: ${path}`);
258
- }
259
- return path;
260
- }
261
- function assertDirectorySegment(value, label) {
262
- if (!value || value === '.' || value === '..' || /[\\/]/.test(value)) {
263
- throw new Error(`${label} is not a valid Runtime directory segment: ${value}`);
264
- }
265
- }
266
- function readJson(path, label) {
267
- try {
268
- return JSON.parse(readFileSync(path, 'utf8'));
269
- }
270
- catch (error) {
271
- const reason = error instanceof Error ? error.message : String(error);
272
- throw new Error(`${label} is not valid JSON: ${path} (${reason})`);
273
- }
274
- }
275
- function parsePort(value) {
276
- if (!value)
277
- return 3000;
278
- const port = Number(value);
279
- if (Number.isInteger(port) && port >= 1 && port <= 65535)
280
- return port;
281
- throw new Error(`Invalid EAP_RUNTIME_PORT: ${value}`);
282
- }
283
- //# sourceMappingURL=create-agent-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-agent-service.js","sourceRoot":"","sources":["../../src/service/create-agent-service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { type Server } from 'node:http';
2
- import type { AgentService } from './types.js';
3
- export declare function createAgentHttpServer(service: AgentService): Server;
4
- //# sourceMappingURL=http-server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../src/service/http-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,MAAM,EAAuB,MAAM,WAAW,CAAC;AACjG,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,YAAY,CAAC;AAEpE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAcnE"}
@@ -1,89 +0,0 @@
1
- import { createServer } from 'node:http';
2
- export function createAgentHttpServer(service) {
3
- return createServer(async (request, response) => {
4
- try {
5
- await handleRequest(service, request, response);
6
- }
7
- catch (error) {
8
- const message = error instanceof Error ? error.message : String(error);
9
- if (response.headersSent) {
10
- response.write(`event: error\ndata: ${JSON.stringify({ error: message })}\n\n`);
11
- response.end();
12
- }
13
- else {
14
- writeJson(response, 500, { error: message });
15
- }
16
- }
17
- });
18
- }
19
- async function handleRequest(service, request, response) {
20
- const method = request.method ?? 'GET';
21
- const pathname = new URL(request.url ?? '/', 'http://localhost').pathname;
22
- if (method === 'GET' && pathname === '/health') {
23
- writeJson(response, 200, {
24
- status: 'ok',
25
- agentCode: service.target.agentCode,
26
- version: service.target.version,
27
- });
28
- return;
29
- }
30
- const route = /^\/api\/v1\/agents\/([^/]+)\/(invoke|stream)$/.exec(pathname);
31
- if (!route || method !== 'POST') {
32
- writeJson(response, 404, { error: 'Route not found' });
33
- return;
34
- }
35
- const agentCode = decodeURIComponent(route[1]);
36
- if (agentCode !== service.target.agentCode) {
37
- writeJson(response, 404, { error: `Selected Agent is ${service.target.agentCode}` });
38
- return;
39
- }
40
- const body = await readJsonBody(request);
41
- if (typeof body.input !== 'string') {
42
- writeJson(response, 400, { error: 'Request body requires string input' });
43
- return;
44
- }
45
- const options = {
46
- sessionId: stringValue(body.sessionId),
47
- taskId: stringValue(body.taskId),
48
- ...(isRecord(body.config) ? { config: body.config } : {}),
49
- ...(isRecord(body.executionContext)
50
- ? { executionContext: body.executionContext }
51
- : {}),
52
- };
53
- if (route[2] === 'invoke') {
54
- writeJson(response, 200, await service.invoke(body.input, options));
55
- return;
56
- }
57
- response.writeHead(200, {
58
- 'Content-Type': 'text/event-stream; charset=utf-8',
59
- 'Cache-Control': 'no-cache, no-transform',
60
- Connection: 'keep-alive',
61
- });
62
- for await (const event of service.stream(body.input, options)) {
63
- response.write(`event: ${event.type}\ndata: ${JSON.stringify({ ...event.data, correlationId: event.correlationId, taskId: event.taskId, timestamp: event.timestamp })}\n\n`);
64
- }
65
- response.end();
66
- }
67
- async function readJsonBody(request) {
68
- const chunks = [];
69
- for await (const chunk of request)
70
- chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
71
- const raw = Buffer.concat(chunks).toString('utf8');
72
- if (!raw)
73
- return {};
74
- const body = JSON.parse(raw);
75
- if (!body || typeof body !== 'object' || Array.isArray(body))
76
- throw new Error('Request body must be an object');
77
- return body;
78
- }
79
- function stringValue(value) {
80
- return typeof value === 'string' && value.length > 0 ? value : undefined;
81
- }
82
- function isRecord(value) {
83
- return Boolean(value && typeof value === 'object' && !Array.isArray(value));
84
- }
85
- function writeJson(response, status, body) {
86
- response.writeHead(status, { 'Content-Type': 'application/json; charset=utf-8' });
87
- response.end(JSON.stringify(body));
88
- }
89
- //# sourceMappingURL=http-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../src/service/http-server.ts"],"names":[],"mappings":"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"}