@marifold/service 0.73.0 → 0.74.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"MarifoldService.d.ts","sourceRoot":"","sources":["../src/MarifoldService.ts"],"names":[],"mappings":"AAKA,OAAgB,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AACjE,OAAO,EAUL,oBAAoB,EAgBrB,MAAM,gBAAgB,CAAC;AAoBxB,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,oBAAoB,CAAC;IACnC,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;2DACuD;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;mFAC+E;IAC/E,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,8EAA8E;IAC9E,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC9B;6EACyE;IACzE,GAAG,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxB;AAED,MAAM,WAAW,2BAA4B,SAAQ,sBAAsB;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAChC;AAgBD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAkrBtF;AAOD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CA4BpH"}
1
+ {"version":3,"file":"MarifoldService.d.ts","sourceRoot":"","sources":["../src/MarifoldService.ts"],"names":[],"mappings":"AAMA,OAAgB,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AACjE,OAAO,EAQL,oBAAoB,EAgBrB,MAAM,gBAAgB,CAAC;AAoBxB,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,oBAAoB,CAAC;IACnC,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;2DACuD;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;mFAC+E;IAC/E,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,8EAA8E;IAC9E,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC9B;6EACyE;IACzE,GAAG,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxB;AAED,MAAM,WAAW,2BAA4B,SAAQ,sBAAsB;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAChC;AAgBD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAqrBtF;AAOD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CA4BpH"}
@@ -38,13 +38,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.createMarifoldService = createMarifoldService;
40
40
  exports.startMarifoldService = startMarifoldService;
41
+ const core_1 = require("@marifold/core");
42
+ const RemoteArtifactDownload_1 = require("./RemoteArtifactDownload");
41
43
  const RequestEnvironment_1 = require("./RequestEnvironment");
42
44
  const WorkspaceScheduleRoutes_1 = require("./WorkspaceScheduleRoutes");
43
45
  const path = __importStar(require("node:path"));
44
46
  const WorkspaceRequestContext_1 = require("./WorkspaceRequestContext");
45
- const node_stream_1 = require("node:stream");
46
47
  const fastify_1 = __importDefault(require("fastify"));
47
- const core_1 = require("@marifold/core");
48
+ const core_2 = require("@marifold/core");
48
49
  const WorkspaceRoutes_1 = require("./WorkspaceRoutes");
49
50
  const ProfileRoutes_1 = require("./ProfileRoutes");
50
51
  const ArtifactTickets_1 = require("./ArtifactTickets");
@@ -67,7 +68,7 @@ function createMarifoldService(options) {
67
68
  token: options.auth?.token,
68
69
  corsOrigins: options.cors?.origins,
69
70
  });
70
- const runtime = new core_1.MarifoldRuntime({ loadedConfig: options.loadedConfig });
71
+ const runtime = new core_2.MarifoldRuntime({ loadedConfig: options.loadedConfig });
71
72
  const server = (0, fastify_1.default)({ logger: options.logger ?? false, bodyLimit: BODY_LIMIT_BYTES });
72
73
  const artifactTickets = new ArtifactTickets_1.ArtifactTickets();
73
74
  (0, Security_1.registerSecurity)(server, {
@@ -79,7 +80,7 @@ function createMarifoldService(options) {
79
80
  artifactTickets.register(server);
80
81
  let workspaceManager;
81
82
  try {
82
- workspaceManager = new core_1.WorkspaceManager(options.loadedConfig.configPath);
83
+ workspaceManager = new core_2.WorkspaceManager(options.loadedConfig.configPath);
83
84
  }
84
85
  catch (error) {
85
86
  runtime.close();
@@ -95,11 +96,14 @@ function createMarifoldService(options) {
95
96
  const telegramBridge = runtime.createTelegramBridge(message => server.log.info(message));
96
97
  telegramBridge?.start();
97
98
  server.marifoldTelegram = telegramBridge ? { profile: telegramBridge.profile } : undefined;
98
- const workspaceExecutor = new core_1.WorkspaceExecutor(() => runtime.resolveAgentConfigForProfile(), path.join(workspaceManager.store.directory, 'runs'), [options.loadedConfig.configPath, ...Object.values(options.loadedConfig.config.paths).filter((value) => typeof value === 'string'), path.dirname(workspaceManager.store.directory)]);
99
- const workspaceRuns = new core_1.WorkspaceRuns(runtime, workspaceManager);
99
+ const artifactTransfers = new core_1.ArtifactWebRtc();
100
+ server.addHook('onClose', async () => artifactTransfers.close());
101
+ const workspaceExecutor = new core_2.WorkspaceExecutor(() => runtime.resolveAgentConfigForProfile(), path.join(workspaceManager.store.directory, 'runs'), [options.loadedConfig.configPath, ...Object.values(options.loadedConfig.config.paths).filter((value) => typeof value === 'string'), path.dirname(workspaceManager.store.directory)], artifactTransfers);
102
+ const workspaceRuns = new core_2.WorkspaceRuns(runtime, workspaceManager);
100
103
  const workspaceContext = new WorkspaceRequestContext_1.WorkspaceRequestContext();
101
104
  const runRegistry = runtime.createRunRegistry(message => server.log.info(message), input => workspaceRuns.createRunner(input), workspaceManager.store.runJournal);
102
105
  workspaceManager.onMembershipRemoved = (workspaceId, deviceId) => {
106
+ artifactTransfers.cancelWorkspace(workspaceId);
103
107
  for (const run of runRegistry.list()) {
104
108
  const execution = run.execution;
105
109
  if (!run.finishedAt && execution?.workspaceId === workspaceId && (!deviceId || execution.originDeviceId === deviceId || execution.executionDeviceId === deviceId))
@@ -118,7 +122,7 @@ function createMarifoldService(options) {
118
122
  if (sessionId) {
119
123
  const owner = runRegistry.list().find(run => run.sessionId === sessionId && !run.finishedAt);
120
124
  if (owner || activeSessionRequests.has(sessionId))
121
- throw new core_1.MarifoldError('SESSION_BUSY', 'Session already has an active request.', { sessionId, ...(owner ? { runId: owner.id } : {}) });
125
+ throw new core_2.MarifoldError('SESSION_BUSY', 'Session already has an active request.', { sessionId, ...(owner ? { runId: owner.id } : {}) });
122
126
  }
123
127
  if (sessionId)
124
128
  activeSessionRequests.set(sessionId, (activeSessionRequests.get(sessionId) ?? 0) + 1);
@@ -144,17 +148,17 @@ function createMarifoldService(options) {
144
148
  const hasActiveSessionRequest = (sessionId) => (activeSessionRequests.get(sessionId) ?? 0) > 0;
145
149
  (0, RunRoutes_1.registerRunRoutes)(server, runRegistry, {
146
150
  tickets: artifactTickets,
147
- preview: async (runId, artifactId) => {
151
+ preview: async (runId, artifactId, variant) => {
148
152
  const origin = runRegistry.artifactOrigin(runId, artifactId);
149
153
  const e = origin.run.execution;
150
154
  if (!e || e.executionDeviceId === workspaceManager.store.get(e.workspaceId).hostDeviceId)
151
155
  return undefined;
152
- const result = await workspaceManager.execute(e.workspaceId, e.executionDeviceId, 'executor.artifact', { runId: origin.run.id, artifactId: origin.artifactId, preview: true });
156
+ const result = await workspaceManager.execute(e.workspaceId, e.executionDeviceId, 'executor.artifact', { runId: origin.run.id, artifactId: origin.artifactId, preview: true, variant });
153
157
  return Buffer.from(result.data, 'base64');
154
158
  },
155
159
  resolve: (input, body, request) => {
156
160
  if (input.sessionId && activeSessionRequests.has(input.sessionId))
157
- throw new core_1.MarifoldError('SESSION_BUSY', 'Session already has an active request.', { sessionId: input.sessionId });
161
+ throw new core_2.MarifoldError('SESSION_BUSY', 'Session already has an active request.', { sessionId: input.sessionId });
158
162
  return workspaceRuns.resolve({ ...input, environment: (0, RequestEnvironment_1.requestEnvironment)(request, workspaceContext.resolve(request.headers)) }, {
159
163
  workspaceId: typeof body.workspaceId === 'string' ? body.workspaceId : undefined,
160
164
  executionDeviceId: typeof body.executionDeviceId === 'string' ? body.executionDeviceId : undefined,
@@ -180,11 +184,11 @@ function createMarifoldService(options) {
180
184
  return false;
181
185
  const artifact = run.artifacts?.find(a => a.id === artifactId);
182
186
  if (!artifact)
183
- throw core_1.MarifoldError.artifactNotFound(runId, artifactId);
187
+ throw core_2.MarifoldError.artifactNotFound(runId, artifactId);
184
188
  (0, ArtifactTickets_1.artifactHeaders)(reply, artifact, inline);
185
- reply.send(node_stream_1.Readable.from((0, core_1.workspaceArtifactStream)(artifact.size, (offset, length) => workspaceManager.execute(e.workspaceId, e.executionDeviceId, 'executor.artifact', {
186
- runId: origin.run.id, artifactId: origin.artifactId, offset, length,
187
- }))));
189
+ await (0, RemoteArtifactDownload_1.remoteArtifactDownload)(reply, artifactTransfers, artifact.size, e.workspaceId, input => workspaceManager.execute(e.workspaceId, e.executionDeviceId, 'executor.artifact', {
190
+ runId: origin.run.id, artifactId: origin.artifactId, ...input,
191
+ }));
188
192
  return true;
189
193
  },
190
194
  });
@@ -192,7 +196,7 @@ function createMarifoldService(options) {
192
196
  isProfileActive: profile => (activeProfileRequests.get(profile) ?? 0) > 0
193
197
  || runRegistry.list().some(run => run.profile === profile && run.finishedAt === undefined),
194
198
  });
195
- (0, WorkspaceRoutes_1.registerWorkspaceRoutes)(server, workspaceManager, runRegistry, workspaceContext, (operation, input, context) => workspaceExecutor.handle(operation, input, context), security.token, id => workspaceExecutor.cancelWorkspace(id), artifactTickets);
199
+ (0, WorkspaceRoutes_1.registerWorkspaceRoutes)(server, workspaceManager, runRegistry, workspaceContext, (operation, input, context) => workspaceExecutor.handle(operation, input, context), security.token, id => { workspaceExecutor.cancelWorkspace(id); artifactTransfers.cancelWorkspace(id); }, artifactTickets, artifactTransfers);
196
200
  server.addHook('onClose', async () => workspaceExecutor.close());
197
201
  const webDir = resolveServiceWebDir(options);
198
202
  if (webDir)
@@ -225,7 +229,7 @@ function createMarifoldService(options) {
225
229
  service: 'marifold',
226
230
  apiVersion: API_VERSION,
227
231
  }));
228
- server.post('/v1/terminal/:operation', async (request) => ({ ok: true, result: await (0, core_1.workspaceTerminal)(runtime, request.params.operation, request.body ?? {}) }));
232
+ server.post('/v1/terminal/:operation', async (request) => ({ ok: true, result: await (0, core_2.workspaceTerminal)(runtime, request.params.operation, request.body ?? {}) }));
229
233
  let revision = 0;
230
234
  const generation = `${Date.now()}-${Math.random()}`;
231
235
  const unsubscribeChanges = runRegistry.subscribe(() => { revision++; });
@@ -271,7 +275,7 @@ function createMarifoldService(options) {
271
275
  // live/fallback routes and credentials are never part of this response.
272
276
  server.get('/v1/providers/catalog', async () => ({
273
277
  ok: true,
274
- providers: (0, core_1.listProviderRegistry)().map(provider => ({
278
+ providers: (0, core_2.listProviderRegistry)().map(provider => ({
275
279
  name: provider.name,
276
280
  label: provider.label,
277
281
  kind: provider.kind,
@@ -371,7 +375,7 @@ function createMarifoldService(options) {
371
375
  server.put('/v1/app-instances/:id/attachments/:state', async (request) => {
372
376
  const body = (0, Validation_1.objectBody)(request.body);
373
377
  if (!Array.isArray(body.attachments)) {
374
- throw core_1.MarifoldError.configInvalid('attachments must be an array.');
378
+ throw core_2.MarifoldError.configInvalid('attachments must be an array.');
375
379
  }
376
380
  return {
377
381
  ok: true,
@@ -390,7 +394,7 @@ function createMarifoldService(options) {
390
394
  const body = (0, Validation_1.objectBody)(request.body);
391
395
  const action = (0, Validation_1.requiredString)(body.action, 'action');
392
396
  if (action !== 'once' && action !== 'deny') {
393
- throw core_1.MarifoldError.configInvalid('SkillApp approval action must be "once" or "deny".');
397
+ throw core_2.MarifoldError.configInvalid('SkillApp approval action must be "once" or "deny".');
394
398
  }
395
399
  return {
396
400
  ok: true,
@@ -501,16 +505,16 @@ function createMarifoldService(options) {
501
505
  const hasPinned = Object.prototype.hasOwnProperty.call(body, 'pinned');
502
506
  const hasArchived = Object.prototype.hasOwnProperty.call(body, 'archived');
503
507
  if (!hasTitle && !hasPinned && !hasArchived) {
504
- throw core_1.MarifoldError.configInvalid('At least one of title, pinned, or archived is required.');
508
+ throw core_2.MarifoldError.configInvalid('At least one of title, pinned, or archived is required.');
505
509
  }
506
510
  if (hasTitle && body.title !== null && typeof body.title !== 'string') {
507
- throw core_1.MarifoldError.configInvalid('title must be a string or null.');
511
+ throw core_2.MarifoldError.configInvalid('title must be a string or null.');
508
512
  }
509
513
  if (hasPinned && typeof body.pinned !== 'boolean') {
510
- throw core_1.MarifoldError.configInvalid('pinned must be a boolean.');
514
+ throw core_2.MarifoldError.configInvalid('pinned must be a boolean.');
511
515
  }
512
516
  if (hasArchived && typeof body.archived !== 'boolean') {
513
- throw core_1.MarifoldError.configInvalid('archived must be a boolean.');
517
+ throw core_2.MarifoldError.configInvalid('archived must be a boolean.');
514
518
  }
515
519
  const updated = runtime.updateSessionDisplay(request.params.id, {
516
520
  ...(hasTitle ? { title: body.title } : {}),
@@ -532,7 +536,7 @@ function createMarifoldService(options) {
532
536
  server.delete('/v1/sessions/:id', async (request) => {
533
537
  if (hasActiveSessionRequest(request.params.id)
534
538
  || runRegistry.list().some(run => run.sessionId === request.params.id && run.status === 'running')) {
535
- throw core_1.MarifoldError.agentRunInvalid('Cancel the active request and wait for it to finish before deleting this session.');
539
+ throw core_2.MarifoldError.agentRunInvalid('Cancel the active request and wait for it to finish before deleting this session.');
536
540
  }
537
541
  return {
538
542
  ok: true,
@@ -543,11 +547,11 @@ function createMarifoldService(options) {
543
547
  const body = (0, Validation_1.objectBody)(request.body);
544
548
  const userTurnIndex = body.fromUserTurnIndex;
545
549
  if (typeof userTurnIndex !== 'number' || !Number.isInteger(userTurnIndex) || userTurnIndex < 0) {
546
- throw core_1.MarifoldError.configInvalid('fromUserTurnIndex must be a non-negative integer.');
550
+ throw core_2.MarifoldError.configInvalid('fromUserTurnIndex must be a non-negative integer.');
547
551
  }
548
552
  if (hasActiveSessionRequest(request.params.id)
549
553
  || runRegistry.list().some(run => run.sessionId === request.params.id && run.status === 'running')) {
550
- throw core_1.MarifoldError.agentRunInvalid('Cancel the active request before editing this session history.');
554
+ throw core_2.MarifoldError.agentRunInvalid('Cancel the active request before editing this session history.');
551
555
  }
552
556
  const result = runtime.truncateSessionFromUserTurn(request.params.id, userTurnIndex);
553
557
  if (!result.found) {
@@ -816,7 +820,7 @@ function parseProviderTypeField(value) {
816
820
  const type = (0, Validation_1.stringValue)(value, 'type');
817
821
  const known = PROVIDER_TYPES.find(candidate => candidate === type);
818
822
  if (!known)
819
- throw core_1.MarifoldError.configInvalid(`type must be one of ${PROVIDER_TYPES.join(', ')}.`);
823
+ throw core_2.MarifoldError.configInvalid(`type must be one of ${PROVIDER_TYPES.join(', ')}.`);
820
824
  return known;
821
825
  }
822
826
  /** The GET /v1/models payload — returned by every model write for refresh-free clients. */
@@ -839,9 +843,9 @@ function publicConfig(loadedConfig, hasEffectiveToken) {
839
843
  paths: loadedConfig.config.paths,
840
844
  // Resolved (defaults merged) and secret-free — clients need the global
841
845
  // [agent] to compute a profile's effective permissions.
842
- agent: (0, core_1.resolveAgentConfig)(loadedConfig.config.agent),
846
+ agent: (0, core_2.resolveAgentConfig)(loadedConfig.config.agent),
843
847
  webSearch: (() => {
844
- const search = (0, core_1.resolveWebSearchConfig)(loadedConfig.config.webSearch);
848
+ const search = (0, core_2.resolveWebSearchConfig)(loadedConfig.config.webSearch);
845
849
  return {
846
850
  enabled: search.enabled,
847
851
  maxResults: search.maxResults,
@@ -890,7 +894,7 @@ function publicProvider(provider) {
890
894
  };
891
895
  }
892
896
  function normalizeError(error) {
893
- if (error instanceof core_1.MarifoldError) {
897
+ if (error instanceof core_2.MarifoldError) {
894
898
  return {
895
899
  statusCode: statusCodeForError(error),
896
900
  error: {
@@ -987,10 +991,10 @@ function assignStringIfPresent(input, body, key) {
987
991
  }
988
992
  function planArray(value) {
989
993
  if (!Array.isArray(value))
990
- throw core_1.MarifoldError.configInvalid('plan must be an array.');
994
+ throw core_2.MarifoldError.configInvalid('plan must be an array.');
991
995
  return value.map((item, index) => {
992
996
  if (typeof item !== 'object' || item === null || Array.isArray(item)) {
993
- throw core_1.MarifoldError.configInvalid(`plan[${index}] must be an object.`);
997
+ throw core_2.MarifoldError.configInvalid(`plan[${index}] must be an object.`);
994
998
  }
995
999
  const step = item;
996
1000
  return {
@@ -1002,7 +1006,7 @@ function planArray(value) {
1002
1006
  }
1003
1007
  function metadataObject(value) {
1004
1008
  if (typeof value !== 'object' || value === null || Array.isArray(value)) {
1005
- throw core_1.MarifoldError.configInvalid('metadata must be an object.');
1009
+ throw core_2.MarifoldError.configInvalid('metadata must be an object.');
1006
1010
  }
1007
1011
  const metadata = {};
1008
1012
  for (const [key, item] of Object.entries(value)) {
@@ -1015,14 +1019,14 @@ function parseLimitQuery(value) {
1015
1019
  return undefined;
1016
1020
  const parsed = Number.parseInt(value, 10);
1017
1021
  if (!Number.isInteger(parsed) || parsed < 1) {
1018
- throw core_1.MarifoldError.configInvalid('limit must be a positive integer.');
1022
+ throw core_2.MarifoldError.configInvalid('limit must be a positive integer.');
1019
1023
  }
1020
1024
  return parsed;
1021
1025
  }
1022
1026
  function nonNegativeIntegerPath(value, name) {
1023
1027
  const parsed = Number(value);
1024
1028
  if (!Number.isInteger(parsed) || parsed < 0) {
1025
- throw core_1.MarifoldError.configInvalid(`${name} must be a non-negative integer.`);
1029
+ throw core_2.MarifoldError.configInvalid(`${name} must be a non-negative integer.`);
1026
1030
  }
1027
1031
  return parsed;
1028
1032
  }
@@ -1034,21 +1038,21 @@ function parseBooleanQuery(value) {
1034
1038
  return true;
1035
1039
  if (normalized === 'false' || normalized === '0' || normalized === 'no')
1036
1040
  return false;
1037
- throw core_1.MarifoldError.configInvalid('Boolean query values must be true or false.');
1041
+ throw core_2.MarifoldError.configInvalid('Boolean query values must be true or false.');
1038
1042
  }
1039
1043
  function taskStatus(value) {
1040
1044
  if (value === 'running' || value === 'blocked' || value === 'completed' || value === 'failed' || value === 'cancelled')
1041
1045
  return value;
1042
- throw core_1.MarifoldError.configInvalid(`Invalid task status '${String(value)}'.`);
1046
+ throw core_2.MarifoldError.configInvalid(`Invalid task status '${String(value)}'.`);
1043
1047
  }
1044
1048
  function stepStatus(value) {
1045
1049
  if (value === 'pending' || value === 'in_progress' || value === 'completed' || value === 'skipped' || value === 'cancelled')
1046
1050
  return value;
1047
- throw core_1.MarifoldError.configInvalid(`Invalid task step status '${String(value)}'.`);
1051
+ throw core_2.MarifoldError.configInvalid(`Invalid task step status '${String(value)}'.`);
1048
1052
  }
1049
1053
  function taskEventKind(value) {
1050
1054
  if (value === 'progress' || value === 'decision' || value === 'observation' || value === 'blocker' || value === 'verification' || value === 'note')
1051
1055
  return value;
1052
- throw core_1.MarifoldError.configInvalid(`Invalid task event kind '${String(value)}'.`);
1056
+ throw core_2.MarifoldError.configInvalid(`Invalid task event kind '${String(value)}'.`);
1053
1057
  }
1054
1058
  //# sourceMappingURL=MarifoldService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarifoldService.js","sourceRoot":"","sources":["../src/MarifoldService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MarifoldService.js","sourceRoot":"","sources":["../src/MarifoldService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { ArtifactWebRtc } from '@marifold/core';
2
+ import type { FastifyReply } from 'fastify';
3
+ /** Keep transport choice behind the ordinary authenticated browser download. */
4
+ export declare function remoteArtifactDownload(reply: FastifyReply, transfers: ArtifactWebRtc | undefined, size: number, scope: string, request: (input: Record<string, unknown>) => Promise<unknown>): Promise<FastifyReply>;
5
+ //# sourceMappingURL=RemoteArtifactDownload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoteArtifactDownload.d.ts","sourceRoot":"","sources":["../src/RemoteArtifactDownload.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAA+C,MAAM,gBAAgB,CAAC;AAC7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,gFAAgF;AAChF,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,cAAc,GAAG,SAAS,EACrC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAC5D,OAAO,CAAC,YAAY,CAAC,CAmBvB"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.remoteArtifactDownload = remoteArtifactDownload;
4
+ const node_stream_1 = require("node:stream");
5
+ const core_1 = require("@marifold/core");
6
+ /** Keep transport choice behind the ordinary authenticated browser download. */
7
+ async function remoteArtifactDownload(reply, transfers, size, scope, request) {
8
+ const abort = new AbortController();
9
+ const closed = () => abort.abort();
10
+ reply.raw.once('close', closed);
11
+ let fallback = 'disabled';
12
+ if (transfers?.enabled) {
13
+ try {
14
+ const stream = await transfers.receive(size, offer => request({ offer }), scope, abort.signal);
15
+ if (abort.signal.aborted) {
16
+ stream.destroy();
17
+ return reply;
18
+ }
19
+ reply.header('x-marifold-transfer', 'webrtc');
20
+ return reply.send(stream);
21
+ }
22
+ catch {
23
+ fallback = 'unavailable';
24
+ }
25
+ }
26
+ if (abort.signal.aborted)
27
+ return reply;
28
+ reply.header('x-marifold-transfer', 'bridge').header('x-marifold-direct-fallback', fallback);
29
+ return reply.send(node_stream_1.Readable.from((0, core_1.workspaceArtifactStream)(size, (offset, length) => request({ offset, length }))));
30
+ }
31
+ //# sourceMappingURL=RemoteArtifactDownload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoteArtifactDownload.js","sourceRoot":"","sources":["../src/RemoteArtifactDownload.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AACvC,yCAA6F;AAG7F,gFAAgF;AACzE,KAAK,iCACV,KAAmB,EACnB,SAAqC,EACrC,IAAY,EACZ,KAAa,EACb,OAA6D;IAE7D,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACnC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,QAAQ,GAAG,UAAU,CAAC;IAC1B,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/F,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAAC,OAAO,KAAK,CAAC;YAAC,CAAC;YAC7D,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,aAAa,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IACvC,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC;IAC7F,OAAO,KAAK,CAAC,IAAI,CAAC,sBAAQ,CAAC,IAAI,CAAC,IAAA,8BAAuB,EAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAC/E,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAA2B,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { ArtifactTickets } from './ArtifactTickets';
2
2
  import { FastifyInstance, FastifyReply, FastifyRequest } from 'fastify';
3
- import { RunRegistry, RunStartInput } from '@marifold/core';
3
+ import { type ArtifactPreviewVariant, RunRegistry, RunStartInput } from '@marifold/core';
4
4
  /**
5
5
  * Live agent-run routes over a RunRegistry: start, inspect, follow the
6
6
  * AgentEvent stream (SSE with seq ids + Last-Event-ID replay), answer
@@ -11,7 +11,7 @@ export declare function registerRunRoutes(server: FastifyInstance, registry: Run
11
11
  resolve?: (input: RunStartInput, body: Record<string, unknown>, request: FastifyRequest) => Promise<RunStartInput>;
12
12
  artifact?: (runId: string, artifactId: string, reply: FastifyReply, inline: boolean) => Promise<boolean>;
13
13
  tickets?: ArtifactTickets;
14
- preview?: (runId: string, artifactId: string) => Promise<Buffer | undefined>;
14
+ preview?: (runId: string, artifactId: string, variant: ArtifactPreviewVariant) => Promise<Buffer | undefined>;
15
15
  artifactAvailable?: (runId: string, artifactId: string) => Promise<boolean | undefined>;
16
16
  }): void;
17
17
  //# sourceMappingURL=RunRoutes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RunRoutes.d.ts","sourceRoot":"","sources":["../src/RunRoutes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAmB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAkF,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAgB5I;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,GAAE;IACzF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACnH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzG,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7E,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;CACpF,GAAG,IAAI,CA6GZ"}
1
+ {"version":3,"file":"RunRoutes.d.ts","sourceRoot":"","sources":["../src/RunRoutes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAmB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAiD,KAAK,sBAAsB,EAA2D,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAgBjM;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,GAAE;IACzF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACnH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzG,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9G,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;CACpF,GAAG,IAAI,CAiHZ"}
package/dist/RunRoutes.js CHANGED
@@ -85,9 +85,10 @@ function registerRunRoutes(server, registry, options = {}) {
85
85
  return reply.send(fs.createReadStream(artifact.path, { fd: fs.openSync(artifact.path, fs.constants.O_RDONLY | fs.constants.O_NOFOLLOW), autoClose: true }));
86
86
  };
87
87
  server.get('/v1/runs/:id/artifacts/:artifactId', (request, reply) => sendArtifact(request.params.id, request.params.artifactId, reply));
88
+ const previewBytes = async (id, artifactId, variant) => await options.preview?.(id, artifactId, variant) ?? await (0, core_1.createArtifactPreview)(registry.requireArtifact(id, artifactId), variant);
88
89
  server.get('/v1/runs/:id/artifacts/:artifactId/preview', async (request, reply) => {
89
90
  const { id, artifactId } = request.params;
90
- const bytes = await options.preview?.(id, artifactId) ?? await (0, core_1.createArtifactPreview)(registry.requireArtifact(id, artifactId));
91
+ const bytes = await previewBytes(id, artifactId, (0, core_1.artifactPreviewVariant)(request.query.variant));
91
92
  return reply.type('image/webp').header('cache-control', 'no-store').header('x-content-type-options', 'nosniff').send(bytes);
92
93
  });
93
94
  if (options.tickets)
@@ -105,7 +106,9 @@ function registerRunRoutes(server, registry, options = {}) {
105
106
  if (available === false)
106
107
  throw core_1.MarifoldError.artifactNotFound(id, artifactId);
107
108
  reply.header('cache-control', 'no-store');
108
- return { ok: true, ...options.tickets.issue(response => sendArtifact(id, artifactId, response, purpose === 'image')) };
109
+ return { ok: true, ...options.tickets.issue(async (response) => purpose === 'image'
110
+ ? response.type('image/webp').header('x-content-type-options', 'nosniff').send(await previewBytes(id, artifactId, 'viewer'))
111
+ : sendArtifact(id, artifactId, response)) };
109
112
  });
110
113
  server.get('/v1/runs/:id/events', async (request, reply) => {
111
114
  // Resolve 404s as JSON before the reply is hijacked for SSE.