@react-grab/ami 0.0.70 → 0.0.72

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/client.js CHANGED
@@ -16227,149 +16227,168 @@ ${context.content}`;
16227
16227
  });
16228
16228
  return status === "completed" ? "Completed successfully" : `Task finished (${status})`;
16229
16229
  };
16230
- var createAmiAgentProvider = (projectId = DEFAULT_PROJECT_ID) => ({
16231
- send: async function* (context, signal) {
16232
- const token = await getOrCreateToken();
16233
- yield "Please wait...";
16234
- const statusQueue = [];
16235
- let resolveWait = null;
16236
- let aborted2 = false;
16237
- const handleAbort = () => {
16238
- aborted2 = true;
16239
- if (resolveWait) {
16240
- resolveWait();
16241
- resolveWait = null;
16242
- }
16243
- };
16244
- signal.addEventListener("abort", handleAbort);
16245
- const onStatus = (status) => {
16246
- if (aborted2) return;
16247
- statusQueue.push(status);
16248
- if (resolveWait) {
16249
- resolveWait();
16250
- resolveWait = null;
16251
- }
16252
- };
16253
- const agentPromise = runAgent(context, token, projectId, onStatus);
16254
- let done = false;
16255
- agentPromise.then((finalStatus) => {
16256
- if (aborted2) return;
16257
- statusQueue.push(finalStatus);
16258
- done = true;
16259
- if (resolveWait) {
16260
- resolveWait();
16261
- resolveWait = null;
16262
- }
16263
- }).catch((error46) => {
16264
- if (aborted2) return;
16265
- const errorMessage = error46 instanceof Error ? error46.message : "Unknown error";
16266
- statusQueue.push(`Error: ${errorMessage}`);
16267
- done = true;
16268
- if (resolveWait) {
16269
- resolveWait();
16270
- resolveWait = null;
16271
- }
16272
- });
16273
- try {
16274
- while (!done && !aborted2) {
16275
- if (signal.aborted) {
16276
- throw new DOMException("Aborted", "AbortError");
16230
+ var CONNECTION_CHECK_TTL_MS = 5e3;
16231
+ var createAmiAgentProvider = (projectId = DEFAULT_PROJECT_ID) => {
16232
+ let connectionCache = null;
16233
+ return {
16234
+ send: async function* (context, signal) {
16235
+ const token = await getOrCreateToken();
16236
+ yield "Thinking...";
16237
+ const statusQueue = [];
16238
+ let resolveWait = null;
16239
+ let aborted2 = false;
16240
+ const handleAbort = () => {
16241
+ aborted2 = true;
16242
+ if (resolveWait) {
16243
+ resolveWait();
16244
+ resolveWait = null;
16245
+ }
16246
+ };
16247
+ signal.addEventListener("abort", handleAbort);
16248
+ const onStatus = (status) => {
16249
+ if (aborted2) return;
16250
+ statusQueue.push(status);
16251
+ if (resolveWait) {
16252
+ resolveWait();
16253
+ resolveWait = null;
16254
+ }
16255
+ };
16256
+ const agentPromise = runAgent(context, token, projectId, onStatus);
16257
+ let done = false;
16258
+ agentPromise.then((finalStatus) => {
16259
+ if (aborted2) return;
16260
+ statusQueue.push(finalStatus);
16261
+ done = true;
16262
+ if (resolveWait) {
16263
+ resolveWait();
16264
+ resolveWait = null;
16265
+ }
16266
+ }).catch((error46) => {
16267
+ if (aborted2) return;
16268
+ const errorMessage = error46 instanceof Error ? error46.message : "Unknown error";
16269
+ statusQueue.push(`Error: ${errorMessage}`);
16270
+ done = true;
16271
+ if (resolveWait) {
16272
+ resolveWait();
16273
+ resolveWait = null;
16277
16274
  }
16278
- if (statusQueue.length > 0) {
16275
+ });
16276
+ try {
16277
+ while (!done && !aborted2) {
16278
+ if (signal.aborted) {
16279
+ throw new DOMException("Aborted", "AbortError");
16280
+ }
16281
+ if (statusQueue.length > 0) {
16282
+ yield statusQueue.shift();
16283
+ } else {
16284
+ await new Promise((resolve2) => {
16285
+ resolveWait = resolve2;
16286
+ });
16287
+ }
16288
+ }
16289
+ while (statusQueue.length > 0 && !aborted2) {
16279
16290
  yield statusQueue.shift();
16280
- } else {
16281
- await new Promise((resolve2) => {
16282
- resolveWait = resolve2;
16283
- });
16284
16291
  }
16285
- }
16286
- while (statusQueue.length > 0 && !aborted2) {
16287
- yield statusQueue.shift();
16288
- }
16289
- if (aborted2) {
16290
- throw new DOMException("Aborted", "AbortError");
16291
- }
16292
- } finally {
16293
- signal.removeEventListener("abort", handleAbort);
16294
- }
16295
- },
16296
- resume: async function* (sessionId, signal, storage) {
16297
- const savedSessions = storage.getItem(STORAGE_KEY);
16298
- if (!savedSessions) {
16299
- throw new Error("No sessions to resume");
16300
- }
16301
- const sessionsObject = JSON.parse(savedSessions);
16302
- const session = sessionsObject[sessionId];
16303
- if (!session) {
16304
- throw new Error(`Session ${sessionId} not found`);
16305
- }
16306
- const context = session.context;
16307
- const token = await getOrCreateToken();
16308
- yield "Resuming...";
16309
- const statusQueue = [];
16310
- let resolveWait = null;
16311
- let aborted2 = false;
16312
- const handleAbort = () => {
16313
- aborted2 = true;
16314
- if (resolveWait) {
16315
- resolveWait();
16316
- resolveWait = null;
16317
- }
16318
- };
16319
- signal.addEventListener("abort", handleAbort);
16320
- const onStatus = (status) => {
16321
- if (aborted2) return;
16322
- statusQueue.push(status);
16323
- if (resolveWait) {
16324
- resolveWait();
16325
- resolveWait = null;
16326
- }
16327
- };
16328
- const agentPromise = runAgent(context, token, DEFAULT_PROJECT_ID, onStatus);
16329
- let done = false;
16330
- agentPromise.then((finalStatus) => {
16331
- if (aborted2) return;
16332
- statusQueue.push(finalStatus);
16333
- done = true;
16334
- if (resolveWait) {
16335
- resolveWait();
16336
- resolveWait = null;
16337
- }
16338
- }).catch((error46) => {
16339
- if (aborted2) return;
16340
- const errorMessage = error46 instanceof Error ? error46.message : "Unknown error";
16341
- statusQueue.push(`Error: ${errorMessage}`);
16342
- done = true;
16343
- if (resolveWait) {
16344
- resolveWait();
16345
- resolveWait = null;
16346
- }
16347
- });
16348
- try {
16349
- while (!done && !aborted2) {
16350
- if (signal.aborted) {
16292
+ if (aborted2) {
16351
16293
  throw new DOMException("Aborted", "AbortError");
16352
16294
  }
16353
- if (statusQueue.length > 0) {
16295
+ } finally {
16296
+ signal.removeEventListener("abort", handleAbort);
16297
+ }
16298
+ },
16299
+ resume: async function* (sessionId, signal, storage) {
16300
+ const savedSessions = storage.getItem(STORAGE_KEY);
16301
+ if (!savedSessions) {
16302
+ throw new Error("No sessions to resume");
16303
+ }
16304
+ const sessionsObject = JSON.parse(savedSessions);
16305
+ const session = sessionsObject[sessionId];
16306
+ if (!session) {
16307
+ throw new Error(`Session ${sessionId} not found`);
16308
+ }
16309
+ const context = session.context;
16310
+ const token = await getOrCreateToken();
16311
+ yield "Resuming...";
16312
+ const statusQueue = [];
16313
+ let resolveWait = null;
16314
+ let aborted2 = false;
16315
+ const handleAbort = () => {
16316
+ aborted2 = true;
16317
+ if (resolveWait) {
16318
+ resolveWait();
16319
+ resolveWait = null;
16320
+ }
16321
+ };
16322
+ signal.addEventListener("abort", handleAbort);
16323
+ const onStatus = (status) => {
16324
+ if (aborted2) return;
16325
+ statusQueue.push(status);
16326
+ if (resolveWait) {
16327
+ resolveWait();
16328
+ resolveWait = null;
16329
+ }
16330
+ };
16331
+ const agentPromise = runAgent(context, token, DEFAULT_PROJECT_ID, onStatus);
16332
+ let done = false;
16333
+ agentPromise.then((finalStatus) => {
16334
+ if (aborted2) return;
16335
+ statusQueue.push(finalStatus);
16336
+ done = true;
16337
+ if (resolveWait) {
16338
+ resolveWait();
16339
+ resolveWait = null;
16340
+ }
16341
+ }).catch((error46) => {
16342
+ if (aborted2) return;
16343
+ const errorMessage = error46 instanceof Error ? error46.message : "Unknown error";
16344
+ statusQueue.push(`Error: ${errorMessage}`);
16345
+ done = true;
16346
+ if (resolveWait) {
16347
+ resolveWait();
16348
+ resolveWait = null;
16349
+ }
16350
+ });
16351
+ try {
16352
+ while (!done && !aborted2) {
16353
+ if (signal.aborted) {
16354
+ throw new DOMException("Aborted", "AbortError");
16355
+ }
16356
+ if (statusQueue.length > 0) {
16357
+ yield statusQueue.shift();
16358
+ } else {
16359
+ await new Promise((resolve2) => {
16360
+ resolveWait = resolve2;
16361
+ });
16362
+ }
16363
+ }
16364
+ while (statusQueue.length > 0 && !aborted2) {
16354
16365
  yield statusQueue.shift();
16355
- } else {
16356
- await new Promise((resolve2) => {
16357
- resolveWait = resolve2;
16358
- });
16359
16366
  }
16367
+ if (aborted2) {
16368
+ throw new DOMException("Aborted", "AbortError");
16369
+ }
16370
+ } finally {
16371
+ signal.removeEventListener("abort", handleAbort);
16360
16372
  }
16361
- while (statusQueue.length > 0 && !aborted2) {
16362
- yield statusQueue.shift();
16373
+ },
16374
+ supportsResume: true,
16375
+ checkConnection: async () => {
16376
+ const now = Date.now();
16377
+ if (connectionCache && now - connectionCache.timestamp < CONNECTION_CHECK_TTL_MS) {
16378
+ return connectionCache.result;
16363
16379
  }
16364
- if (aborted2) {
16365
- throw new DOMException("Aborted", "AbortError");
16380
+ try {
16381
+ const response = await fetch(a, { method: "HEAD" });
16382
+ const result = response.ok;
16383
+ connectionCache = { result, timestamp: now };
16384
+ return result;
16385
+ } catch {
16386
+ connectionCache = { result: false, timestamp: now };
16387
+ return false;
16366
16388
  }
16367
- } finally {
16368
- signal.removeEventListener("abort", handleAbort);
16369
16389
  }
16370
- },
16371
- supportsResume: true
16372
- });
16390
+ };
16391
+ };
16373
16392
  var attachAgent = async () => {
16374
16393
  if (typeof window === "undefined") return;
16375
16394
  const provider = createAmiAgentProvider();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-grab/ami",
3
- "version": "0.0.70",
3
+ "version": "0.0.72",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./client": {
@@ -17,7 +17,7 @@
17
17
  },
18
18
  "dependencies": {
19
19
  "ami-sdk": "^0.0.1",
20
- "react-grab": "0.0.70"
20
+ "react-grab": "0.0.72"
21
21
  },
22
22
  "scripts": {
23
23
  "dev": "tsup --watch",