@epam/ai-dial-attachment-canvas 1.0.19 → 1.0.21
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/index.js +46 -34
- package/package.json +3 -3
package/index.js
CHANGED
|
@@ -21216,6 +21216,7 @@ var uv = class {
|
|
|
21216
21216
|
}), this.setRequestHandler(xg, async (e, t) => {
|
|
21217
21217
|
let n = async () => {
|
|
21218
21218
|
let r = e.params.taskId;
|
|
21219
|
+
if (!await this._taskStore.getTask(r, t.sessionId)) throw new tv(Hh.InvalidParams, `Task not found: ${r}`);
|
|
21219
21220
|
if (this._taskMessageQueue) {
|
|
21220
21221
|
let e;
|
|
21221
21222
|
for (; e = await this._taskMessageQueue.dequeue(r, t.sessionId);) {
|
|
@@ -21237,10 +21238,10 @@ var uv = class {
|
|
|
21237
21238
|
}
|
|
21238
21239
|
let i = await this._taskStore.getTask(r, t.sessionId);
|
|
21239
21240
|
if (!i) throw new tv(Hh.InvalidParams, `Task not found: ${r}`);
|
|
21240
|
-
if (!sv(i.status)) return await this._waitForTaskUpdate(r, t.signal), await n();
|
|
21241
|
+
if (!sv(i.status)) return await this._waitForTaskUpdate(r, t.signal, t.sessionId), await n();
|
|
21241
21242
|
if (sv(i.status)) {
|
|
21242
21243
|
let e = await this._taskStore.getTaskResult(r, t.sessionId);
|
|
21243
|
-
return this._clearTaskQueue(r), {
|
|
21244
|
+
return this._clearTaskQueue(r, t.sessionId), {
|
|
21244
21245
|
...e,
|
|
21245
21246
|
_meta: {
|
|
21246
21247
|
...e._meta,
|
|
@@ -21267,7 +21268,7 @@ var uv = class {
|
|
|
21267
21268
|
let n = await this._taskStore.getTask(e.params.taskId, t.sessionId);
|
|
21268
21269
|
if (!n) throw new tv(Hh.InvalidParams, `Task not found: ${e.params.taskId}`);
|
|
21269
21270
|
if (sv(n.status)) throw new tv(Hh.InvalidParams, `Cannot cancel task in terminal status: ${n.status}`);
|
|
21270
|
-
await this._taskStore.updateTaskStatus(e.params.taskId, "cancelled", "Client cancelled task execution.", t.sessionId), this._clearTaskQueue(e.params.taskId);
|
|
21271
|
+
await this._taskStore.updateTaskStatus(e.params.taskId, "cancelled", "Client cancelled task execution.", t.sessionId), this._clearTaskQueue(e.params.taskId, t.sessionId);
|
|
21271
21272
|
let r = await this._taskStore.getTask(e.params.taskId, t.sessionId);
|
|
21272
21273
|
if (!r) throw new tv(Hh.InvalidParams, `Task not found after cancellation: ${e.params.taskId}`);
|
|
21273
21274
|
return {
|
|
@@ -21341,8 +21342,11 @@ var uv = class {
|
|
|
21341
21342
|
t !== void 0 && Promise.resolve().then(() => t(e)).catch((e) => this._onerror(/* @__PURE__ */ Error(`Uncaught error in notification handler: ${e}`)));
|
|
21342
21343
|
}
|
|
21343
21344
|
_onrequest(e, t) {
|
|
21344
|
-
let n = this._requestHandlers.get(e.method) ?? this.fallbackRequestHandler, r = this._transport, i = e.params?._meta?.[xh]?.taskId;
|
|
21345
|
-
if (
|
|
21345
|
+
let n = this._requestHandlers.get(e.method) ?? this.fallbackRequestHandler, r = this._transport, i = e.params?._meta?.[xh]?.taskId, a = r?.sessionId, o = this._taskStore, s = !0, c;
|
|
21346
|
+
if (i && o && this._taskMessageQueue && a !== void 0 && (s = !1, c = (async () => {
|
|
21347
|
+
if (!await o.getTask(i, a)) throw new tv(Hh.InvalidParams, `Task not found: ${i}`);
|
|
21348
|
+
s = !0;
|
|
21349
|
+
})()), n === void 0) {
|
|
21346
21350
|
let t = {
|
|
21347
21351
|
jsonrpc: "2.0",
|
|
21348
21352
|
id: e.id,
|
|
@@ -21351,47 +21355,55 @@ var uv = class {
|
|
|
21351
21355
|
message: "Method not found"
|
|
21352
21356
|
}
|
|
21353
21357
|
};
|
|
21354
|
-
i &&
|
|
21358
|
+
if (i && c) {
|
|
21359
|
+
let e = {
|
|
21360
|
+
type: "error",
|
|
21361
|
+
message: t,
|
|
21362
|
+
timestamp: Date.now()
|
|
21363
|
+
};
|
|
21364
|
+
c.then(() => this._enqueueTaskMessage(i, e, a), () => r?.send(t)).catch((e) => this._onerror(/* @__PURE__ */ Error(`Failed to send an error response: ${e}`)));
|
|
21365
|
+
} else i && this._taskMessageQueue ? this._enqueueTaskMessage(i, {
|
|
21355
21366
|
type: "error",
|
|
21356
21367
|
message: t,
|
|
21357
21368
|
timestamp: Date.now()
|
|
21358
21369
|
}, r?.sessionId).catch((e) => this._onerror(/* @__PURE__ */ Error(`Failed to enqueue error response: ${e}`))) : r?.send(t).catch((e) => this._onerror(/* @__PURE__ */ Error(`Failed to send an error response: ${e}`)));
|
|
21359
21370
|
return;
|
|
21360
21371
|
}
|
|
21361
|
-
let
|
|
21362
|
-
this._requestHandlerAbortControllers.set(e.id,
|
|
21363
|
-
let
|
|
21364
|
-
signal:
|
|
21372
|
+
let l = new AbortController();
|
|
21373
|
+
this._requestHandlerAbortControllers.set(e.id, l);
|
|
21374
|
+
let u = Ah(e.params) ? e.params.task : void 0, d = this._taskStore ? this.requestTaskStore(e, r?.sessionId) : void 0, f = {
|
|
21375
|
+
signal: l.signal,
|
|
21365
21376
|
sessionId: r?.sessionId,
|
|
21366
21377
|
_meta: e.params?._meta,
|
|
21367
21378
|
sendNotification: async (t) => {
|
|
21368
|
-
if (
|
|
21379
|
+
if (l.signal.aborted) return;
|
|
21369
21380
|
let n = { relatedRequestId: e.id };
|
|
21370
21381
|
i && (n.relatedTask = { taskId: i }), await this.notification(t, n);
|
|
21371
21382
|
},
|
|
21372
21383
|
sendRequest: async (t, n, r) => {
|
|
21373
|
-
if (
|
|
21374
|
-
let
|
|
21384
|
+
if (l.signal.aborted) throw new tv(Hh.ConnectionClosed, "Request was cancelled");
|
|
21385
|
+
let a = {
|
|
21375
21386
|
...r,
|
|
21376
21387
|
relatedRequestId: e.id
|
|
21377
21388
|
};
|
|
21378
|
-
i && !
|
|
21379
|
-
let
|
|
21380
|
-
return
|
|
21389
|
+
i && !a.relatedTask && (a.relatedTask = { taskId: i });
|
|
21390
|
+
let o = a.relatedTask?.taskId ?? i;
|
|
21391
|
+
return o && d && await d.updateTaskStatus(o, "input_required"), await this.request(t, n, a);
|
|
21381
21392
|
},
|
|
21382
21393
|
authInfo: t?.authInfo,
|
|
21383
21394
|
requestId: e.id,
|
|
21384
21395
|
requestInfo: t?.requestInfo,
|
|
21385
21396
|
taskId: i,
|
|
21386
|
-
taskStore:
|
|
21387
|
-
taskRequestedTtl:
|
|
21397
|
+
taskStore: d,
|
|
21398
|
+
taskRequestedTtl: u?.ttl,
|
|
21388
21399
|
closeSSEStream: t?.closeSSEStream,
|
|
21389
21400
|
closeStandaloneSSEStream: t?.closeStandaloneSSEStream
|
|
21390
21401
|
};
|
|
21391
|
-
Promise.resolve().then(() => {
|
|
21392
|
-
|
|
21393
|
-
|
|
21394
|
-
|
|
21402
|
+
(c ?? Promise.resolve()).then(() => {
|
|
21403
|
+
if (c && l.signal.aborted) throw new tv(Hh.ConnectionClosed, "Request was cancelled");
|
|
21404
|
+
u && this.assertTaskHandlerCapability(e.method);
|
|
21405
|
+
}).then(() => n(e, f)).then(async (t) => {
|
|
21406
|
+
if (l.signal.aborted) return;
|
|
21395
21407
|
let n = {
|
|
21396
21408
|
result: t,
|
|
21397
21409
|
jsonrpc: "2.0",
|
|
@@ -21403,7 +21415,7 @@ var uv = class {
|
|
|
21403
21415
|
timestamp: Date.now()
|
|
21404
21416
|
}, r?.sessionId) : await r?.send(n);
|
|
21405
21417
|
}, async (t) => {
|
|
21406
|
-
if (
|
|
21418
|
+
if (l.signal.aborted) return;
|
|
21407
21419
|
let n = {
|
|
21408
21420
|
jsonrpc: "2.0",
|
|
21409
21421
|
id: e.id,
|
|
@@ -21413,13 +21425,13 @@ var uv = class {
|
|
|
21413
21425
|
...t.data !== void 0 && { data: t.data }
|
|
21414
21426
|
}
|
|
21415
21427
|
};
|
|
21416
|
-
i && this._taskMessageQueue ? await this._enqueueTaskMessage(i, {
|
|
21428
|
+
i && this._taskMessageQueue && s ? await this._enqueueTaskMessage(i, {
|
|
21417
21429
|
type: "error",
|
|
21418
21430
|
message: n,
|
|
21419
21431
|
timestamp: Date.now()
|
|
21420
21432
|
}, r?.sessionId) : await r?.send(n);
|
|
21421
21433
|
}).catch((e) => this._onerror(/* @__PURE__ */ Error(`Failed to send response: ${e}`))).finally(() => {
|
|
21422
|
-
this._requestHandlerAbortControllers.get(e.id) ===
|
|
21434
|
+
this._requestHandlerAbortControllers.get(e.id) === l && this._requestHandlerAbortControllers.delete(e.id);
|
|
21423
21435
|
});
|
|
21424
21436
|
}
|
|
21425
21437
|
_onprogress(e) {
|
|
@@ -21723,7 +21735,7 @@ var uv = class {
|
|
|
21723
21735
|
async _enqueueTaskMessage(e, t, n) {
|
|
21724
21736
|
if (!this._taskStore || !this._taskMessageQueue) throw Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");
|
|
21725
21737
|
let r = this._options?.maxTaskQueueSize;
|
|
21726
|
-
await this._taskMessageQueue.enqueue(e, t, n, r);
|
|
21738
|
+
await this._taskMessageQueue.enqueue(e, t, n ?? this._transport?.sessionId, r);
|
|
21727
21739
|
}
|
|
21728
21740
|
async _clearTaskQueue(e, t) {
|
|
21729
21741
|
if (this._taskMessageQueue) {
|
|
@@ -21734,20 +21746,20 @@ var uv = class {
|
|
|
21734
21746
|
}
|
|
21735
21747
|
}
|
|
21736
21748
|
}
|
|
21737
|
-
async _waitForTaskUpdate(e, t) {
|
|
21738
|
-
let
|
|
21749
|
+
async _waitForTaskUpdate(e, t, n) {
|
|
21750
|
+
let r = this._options?.defaultTaskPollInterval ?? 1e3;
|
|
21739
21751
|
try {
|
|
21740
|
-
let t = await this._taskStore?.getTask(e);
|
|
21741
|
-
t?.pollInterval && (
|
|
21752
|
+
let t = await this._taskStore?.getTask(e, n);
|
|
21753
|
+
t?.pollInterval && (r = t.pollInterval);
|
|
21742
21754
|
} catch {}
|
|
21743
|
-
return new Promise((e,
|
|
21755
|
+
return new Promise((e, n) => {
|
|
21744
21756
|
if (t.aborted) {
|
|
21745
|
-
|
|
21757
|
+
n(new tv(Hh.InvalidRequest, "Request cancelled"));
|
|
21746
21758
|
return;
|
|
21747
21759
|
}
|
|
21748
|
-
let i = setTimeout(e,
|
|
21760
|
+
let i = setTimeout(e, r);
|
|
21749
21761
|
t.addEventListener("abort", () => {
|
|
21750
|
-
clearTimeout(i),
|
|
21762
|
+
clearTimeout(i), n(new tv(Hh.InvalidRequest, "Request cancelled"));
|
|
21751
21763
|
}, { once: !0 });
|
|
21752
21764
|
});
|
|
21753
21765
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@epam/ai-dial-attachment-canvas",
|
|
3
3
|
"description": "Canvas viewer for rendering attachment content — images, PDFs, Office documents, JSON, markdown, and plain text",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.21",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./index.js",
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
19
|
"peerDependencies": {
|
|
20
|
-
"@epam/ai-dial-chat-shared": "1.0.
|
|
20
|
+
"@epam/ai-dial-chat-shared": "1.0.21",
|
|
21
21
|
"@epam/ai-dial-react-pdf-highlighter": "*",
|
|
22
22
|
"@epam/ai-dial-shared": "0.48.0",
|
|
23
|
-
"@epam/ai-dial-sidebar": "1.0.
|
|
23
|
+
"@epam/ai-dial-sidebar": "1.0.21",
|
|
24
24
|
"@epam/ai-dial-visualizer-connector": "0.48.0",
|
|
25
25
|
"@epam/ai-dial-ui-kit": "^0.14.0-dev.15",
|
|
26
26
|
"@epam/pdf-highlighter-kit": ">=0.0.14",
|