@casual-simulation/aux-runtime 3.3.3 → 3.3.4-alpha.9225751827

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@casual-simulation/aux-runtime",
3
- "version": "3.3.3",
3
+ "version": "3.3.4-alpha.9225751827",
4
4
  "description": "Runtime for AUX projects",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -32,8 +32,8 @@
32
32
  "access": "public"
33
33
  },
34
34
  "dependencies": {
35
- "@casual-simulation/aux-common": "^3.3.1",
36
- "@casual-simulation/aux-records": "^3.3.2",
35
+ "@casual-simulation/aux-common": "^3.3.4-alpha.9225751827",
36
+ "@casual-simulation/aux-records": "^3.3.4-alpha.9225751827",
37
37
  "@casual-simulation/crypto": "^3.2.7",
38
38
  "@casual-simulation/engine262": "0.0.1-4de2170374e22761996e46eb1362f4496ee57f8f",
39
39
  "@casual-simulation/error-stack-parser": "^2.0.7",
@@ -61,7 +61,7 @@
61
61
  "luxon": "3.4.4",
62
62
  "mime": "2.4.6",
63
63
  "preact": "10.19.6",
64
- "rxjs": "7.5.7",
64
+ "rxjs": "8.0.0-alpha.14",
65
65
  "seedrandom": "3.0.5",
66
66
  "stackframe": "^1.2.0",
67
67
  "uuid": "^8.3.2",
@@ -79,5 +79,5 @@
79
79
  "**/*.d.ts",
80
80
  "**/*.def"
81
81
  ],
82
- "gitHead": "401c79d9e76b3bfbdf89a1f62ecbb074a35c2b86"
82
+ "gitHead": "f812e11966cb76563de06cbf9f9434a0d641000b"
83
83
  }
@@ -4,7 +4,7 @@ import { AuxVersion } from './AuxVersion';
4
4
  import { AuxDevice } from './AuxDevice';
5
5
  import { ScriptError, RanOutOfEnergyError } from './AuxResults';
6
6
  import './PerformanceNowPolyfill';
7
- import { SubscriptionLike } from 'rxjs';
7
+ import { ReplaySubject, SubscriptionLike } from 'rxjs';
8
8
  import type { InterpreterContinuation, InterpreterStop } from '@casual-simulation/js-interpreter';
9
9
  import { RuntimeActions } from './RuntimeEvents';
10
10
  import seedrandom from 'seedrandom';
@@ -203,10 +203,16 @@ export interface AuxGlobalContext {
203
203
  getNumberOfActiveTimers(): number;
204
204
  /**
205
205
  * Creates a new task.
206
- * @param Whether to use an unguessable task ID. Defaults to false.
207
- * @param Whether the task is allowed to be resolved via a remote action result. Defaults to false.
206
+ * @param unguessableId Whether to use an unguessable task ID. Defaults to false.
207
+ * @param allowRemoteResolution Whether the task is allowed to be resolved via a remote action result. Defaults to false.
208
208
  */
209
209
  createTask(unguessableId?: boolean, allowRemoteResolution?: boolean): AsyncTask;
210
+ /**
211
+ * Creates a new iterable task.
212
+ * @param unguessableId Whether to use an unguessable task ID. Defaults to false.
213
+ * @param allowRemoteResolution Whether the task is allowed to be resolved via a remote action result. Defaults to false.
214
+ */
215
+ createIterable(unguessableId?: boolean, allowRemoteResolution?: boolean): AsyncIterableTask;
210
216
  /**
211
217
  * Completes the task with the given task ID with the given result.
212
218
  * Returns whether the task was handled by this context.
@@ -225,6 +231,29 @@ export interface AuxGlobalContext {
225
231
  * This should be true if resolveTask() is being called in response to a remote or device action.
226
232
  */
227
233
  rejectTask(taskId: number | string, error: any, remote: boolean): boolean;
234
+ /**
235
+ * Provides the next value for the given iterable task.
236
+ * @param taskId The ID of the task.
237
+ * @param value The value to provide.
238
+ * @param remote Whether this call is being triggered from a remote device.
239
+ * This should be true if resolveTask() is being called in response to a remote or device action.
240
+ */
241
+ iterableNext(taskId: number | string, value: any, remote: boolean): boolean;
242
+ /**
243
+ * Completes the iterable task.
244
+ * @param taskId The ID of the task.
245
+ * @param remote Whether this call is being triggered from a remote device.
246
+ * This should be true if resolveTask() is being called in response to a remote or device action.
247
+ */
248
+ iterableComplete(taskId: number | string, remote: boolean): boolean;
249
+ /**
250
+ * Instructs the iterable task to throw the given error.
251
+ * @param taskId The ID of the task.
252
+ * @param value The value to provide.
253
+ * @param remote Whether this call is being triggered from a remote device.
254
+ * This should be true if resolveTask() is being called in response to a remote or device action.
255
+ */
256
+ iterableThrow(taskId: number | string, value: any, remote: boolean): boolean;
228
257
  /**
229
258
  * Gets a list of timers that contains the amount of time a tag has run for in miliseconds.
230
259
  */
@@ -302,6 +331,52 @@ export interface AsyncTask {
302
331
  */
303
332
  reject: (err: any) => void;
304
333
  }
334
+ export type AsyncIterableTaskPromiseResult = {
335
+ iterable: AsyncIterable<any>;
336
+ result: any;
337
+ };
338
+ /**
339
+ * Defines an interface for an asynchronous iterable task.
340
+ * The task can be used in one of two ways:
341
+ *
342
+ * 1. The task can be used to provide an async iterable that can be used to stream values to the caller.
343
+ * In this case, the caller will be provided with the iterable directly and values can be sent to it via the next(), complete(), and throw() functions.
344
+ * 2. The task can be used to provide a promise that resolves with an async iterable that can be used to stream values to the caller.
345
+ * In this case, the caller will be provided with the promise and it will be resolved with the iterable either when the resolve() function is called or when the next() function is called.
346
+ */
347
+ export interface AsyncIterableTask extends AsyncTask {
348
+ /**
349
+ * The promise that the task contains.
350
+ */
351
+ promise: Promise<AsyncIterableTaskPromiseResult>;
352
+ /**
353
+ * The iterable that the task contains.
354
+ */
355
+ iterable: AsyncIterable<any>;
356
+ /**
357
+ * The subject that the iterable uses to provide values.
358
+ */
359
+ subject: ReplaySubject<any>;
360
+ /**
361
+ * Resolves the promise of the task.
362
+ * @param value The value to resolve with.
363
+ */
364
+ resolve: (value: any) => void;
365
+ /**
366
+ * The next value to provide to the iterablwe.
367
+ * @param val The value to provide.
368
+ */
369
+ next: (val: any) => void;
370
+ /**
371
+ * Completes the iterable.
372
+ */
373
+ complete: () => void;
374
+ /**
375
+ * Throws the given error.
376
+ * @param err The error to throw.
377
+ */
378
+ throw: (err: any) => void;
379
+ }
305
380
  /**
306
381
  * Defines an interface for a timer that was created by a bot (e.g. setTimeout() or setInterval()).
307
382
  */
@@ -436,6 +511,10 @@ export declare class MemoryGlobalContext implements AuxGlobalContext {
436
511
  * The map of task IDs to tasks.
437
512
  */
438
513
  tasks: Map<number | string, AsyncTask>;
514
+ /**
515
+ * The map of task IDs to iterable tasks.
516
+ */
517
+ iterableTasks: Map<number | string, AsyncIterableTask>;
439
518
  /**
440
519
  * The version.
441
520
  */
@@ -524,6 +603,10 @@ export declare class MemoryGlobalContext implements AuxGlobalContext {
524
603
  */
525
604
  destroyBot(bot: RuntimeBot): void;
526
605
  createTask(unguessableId: boolean, allowRemoteResolution: boolean): AsyncTask;
606
+ createIterable(unguessableId?: boolean, allowRemoteResolution?: boolean): AsyncIterableTask;
607
+ iterableNext(taskId: string | number, value: any, remote: boolean): boolean;
608
+ iterableComplete(taskId: string | number, remote: boolean): boolean;
609
+ iterableThrow(taskId: string | number, value: any, remote: boolean): boolean;
527
610
  resolveTask(taskId: number | string, result: any, remote: boolean): boolean;
528
611
  rejectTask(taskId: number | string, error: any, remote: boolean): boolean;
529
612
  getShoutTimers(): {
@@ -3,7 +3,7 @@ import { RealtimeEditMode, } from './RuntimeBot';
3
3
  import { RanOutOfEnergyError } from './AuxResults';
4
4
  import { sortBy, sortedIndex, sortedIndexOf, sortedIndexBy, transform, } from 'lodash';
5
5
  import './PerformanceNowPolyfill';
6
- import { Observable, Subscription } from 'rxjs';
6
+ import { Observable, ReplaySubject, Subscription, } from 'rxjs';
7
7
  import { tap } from 'rxjs/operators';
8
8
  import TWEEN from '@tweenjs/tween.js';
9
9
  import { v4 as uuidv4 } from 'uuid';
@@ -113,6 +113,10 @@ export class MemoryGlobalContext {
113
113
  * The map of task IDs to tasks.
114
114
  */
115
115
  this.tasks = new Map();
116
+ /**
117
+ * The map of task IDs to iterable tasks.
118
+ */
119
+ this.iterableTasks = new Map();
116
120
  /**
117
121
  * The player bot.
118
122
  */
@@ -451,6 +455,71 @@ export class MemoryGlobalContext {
451
455
  this.tasks.set(task.taskId, task);
452
456
  return task;
453
457
  }
458
+ createIterable(unguessableId, allowRemoteResolution) {
459
+ const subject = new ReplaySubject();
460
+ let resolved = false;
461
+ let resolve;
462
+ let reject;
463
+ const promise = new Promise((res, rej) => {
464
+ resolve = (value) => {
465
+ resolved = true;
466
+ res({
467
+ iterable: subject,
468
+ result: value,
469
+ });
470
+ };
471
+ reject = rej;
472
+ });
473
+ const task = {
474
+ taskId: !unguessableId && !this.forceUnguessableTaskIds
475
+ ? (this._taskCounter += 1)
476
+ : !this.forceUnguessableTaskIds
477
+ ? this.uuid()
478
+ : uuidv4(),
479
+ allowRemoteResolution: allowRemoteResolution || false,
480
+ resolve,
481
+ reject,
482
+ promise,
483
+ iterable: subject,
484
+ subject,
485
+ next: (val) => {
486
+ if (!resolved) {
487
+ resolve({ success: true });
488
+ }
489
+ subject.next(val);
490
+ },
491
+ complete: () => subject.complete(),
492
+ throw: (err) => subject.error(err),
493
+ };
494
+ this.iterableTasks.set(task.taskId, task);
495
+ return task;
496
+ }
497
+ iterableNext(taskId, value, remote) {
498
+ const task = this.iterableTasks.get(taskId);
499
+ if (task && (task.allowRemoteResolution || remote === false)) {
500
+ task.next(value);
501
+ return true;
502
+ }
503
+ return false;
504
+ }
505
+ iterableComplete(taskId, remote) {
506
+ const task = this.iterableTasks.get(taskId);
507
+ if (task && (task.allowRemoteResolution || remote === false)) {
508
+ this.iterableTasks.delete(taskId);
509
+ task.complete();
510
+ return true;
511
+ }
512
+ return false;
513
+ }
514
+ iterableThrow(taskId, value, remote) {
515
+ const task = this.iterableTasks.get(taskId);
516
+ if (task && (task.allowRemoteResolution || remote === false)) {
517
+ this.iterableTasks.delete(taskId);
518
+ task.throw(value);
519
+ return true;
520
+ }
521
+ return false;
522
+ }
454
523
  resolveTask(taskId, result, remote) {
455
524
  const task = this.tasks.get(taskId);
456
525
  if (task && (task.allowRemoteResolution || remote === false)) {
@@ -458,6 +527,12 @@ export class MemoryGlobalContext {
458
527
  task.resolve(result);
459
528
  return true;
460
529
  }
530
+ const iterableTask = this.iterableTasks.get(taskId);
531
+ if (iterableTask &&
532
+ (iterableTask.allowRemoteResolution || remote === false)) {
533
+ iterableTask.resolve(result);
534
+ return true;
535
+ }
461
536
  return false;
462
537
  }
463
538
  rejectTask(taskId, error, remote) {
@@ -1 +1 @@
1
- {"version":3,"file":"AuxGlobalContext.js","sourceRoot":"","sources":["AuxGlobalContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuxGlobalContext.js","sourceRoot":"","sources":["AuxGlobalContext.ts"],"names":[],"mappings":"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"}
@@ -2076,6 +2076,13 @@ export declare function createDefaultLibrary(context: AuxGlobalContext): {
2076
2076
  (prompt: string, negativePrompt?: string, options?: AIGenerateImageOptions & RecordActionOptions): Promise<string>;
2077
2077
  (request: AIGenerateImageOptions, options?: RecordActionOptions): Promise<AIGenerateImageAPISuccess>;
2078
2078
  };
2079
+ stream: {
2080
+ chat: {
2081
+ (message: string, options?: AIChatOptions): Promise<AsyncIterable<string>>;
2082
+ (message: AIChatMessage, options?: AIChatOptions): Promise<AsyncIterable<AIChatMessage>>;
2083
+ (messages: AIChatMessage[], options?: AIChatOptions): Promise<AsyncIterable<AIChatMessage>>;
2084
+ };
2085
+ };
2079
2086
  };
2080
2087
  os: {
2081
2088
  [x: symbol]: boolean;
@@ -2149,6 +2156,7 @@ export declare function createDefaultLibrary(context: AuxGlobalContext): {
2149
2156
  openPhotoCamera: (options?: OpenPhotoCameraOptions) => Promise<void>;
2150
2157
  capturePhoto: (options?: OpenPhotoCameraOptions) => Promise<Photo>;
2151
2158
  closePhotoCamera: () => Promise<void>;
2159
+ capturePortalScreenshot: () => Promise<Photo>;
2152
2160
  /**
2153
2161
  * Gets the device-local time as the number of miliseconds since midnight January 1st, 1970 UTC-0 (i.e. the Unix Epoch). This is what your device's clock thinks the current time is.
2154
2162
  *
@@ -7,6 +7,26 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
11
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
12
+ var m = o[Symbol.asyncIterator], i;
13
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
14
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
15
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
16
+ };
17
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
18
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
19
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
20
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
21
+ return i = {}, verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
22
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
23
+ function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
24
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
25
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
26
+ function fulfill(value) { resume("next", value); }
27
+ function reject(value) { resume("throw", value); }
28
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
29
+ };
10
30
  var __rest = (this && this.__rest) || function (s, e) {
11
31
  var t = {};
12
32
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -19,8 +39,8 @@ var __rest = (this && this.__rest) || function (s, e) {
19
39
  return t;
20
40
  };
21
41
  import { DEBUG_STRING, debugStringifyFunction, } from './AuxGlobalContext';
22
- import { hasValue, trimTag, isBot, BOT_SPACE_TAG, toast as toastMessage, tip as tipMessage, hideTips as hideTipMessages, showJoinCode as calcShowJoinCode, requestFullscreen, exitFullscreen, html as htmlMessage, hideHtml as hideHtmlMessage, setClipboard as calcSetClipboard, tweenTo as calcTweenTo, showChat as calcShowChat, hideChat as calcHideChat, runScript, getMediaPermission as calcGetMediaPermission, getAverageFrameRate as calcGetAverageFrameRate, enableAR as calcEnableAR, disableAR as calcDisableAR, enableVR as calcEnableVR, disableVR as calcDisableVR, arSupported as calcARSupported, vrSupported as calcVRSupported, showUploadAuxFile as calcShowUploadAuxFile, openQRCodeScanner as calcOpenQRCodeScanner, showQRCode as calcShowQRCode, openBarcodeScanner as calcOpenBarcodeScanner, showBarcode as calcShowBarcode, importAUX as calcImportAUX, showInputForTag as calcShowInputForTag, showInput as calcShowInput, showConfirm as calcShowConfirm, replaceDragBot as calcReplaceDragBot, goToDimension as calcGoToDimension, goToURL as calcGoToURL, openURL as calcOpenURL, playSound as calcPlaySound, bufferSound as calcBufferSound, cancelSound as calcCancelSound, shell as calcShell, reject as calcReject, localFormAnimation as calcLocalFormAnimation, webhook as calcWebhook, superShout as calcSuperShout, share as calcShare, registerPrefix as calcRegisterPrefix, localPositionTween as calcLocalPositionTween, localRotationTween as calcLocalRotationTween, showUploadFiles as calcShowUploadFiles, download, loadSimulation, unloadSimulation, getUploadState, addState, getPortalTag, KNOWN_PORTALS, openConsole, tagsOnBot, getOriginalObject, getBotSpace, trimEvent, CREATE_ACTION_NAME, CREATE_ANY_ACTION_NAME, DESTROY_ACTION_NAME, ORIGINAL_OBJECT, getRemoteCount, getRemotes, listInstUpdates as calcListInstUpdates, getInstStateFromUpdates as calcGetInstStateFromUpdates, action, calculateAnchorPoint, calculateAnchorPointOffset, getBotPosition as calcGetBotPosition, getBotRotation as calcGetBotRotation, isRuntimeBot, SET_TAG_MASK_SYMBOL, CLEAR_TAG_MASKS_SYMBOL, getBotScale, EDIT_TAG_SYMBOL, EDIT_TAG_MASK_SYMBOL, circleWipe, addDropSnap as calcAddDropSnap, addDropGrid as calcAddDropGrid, animateToPosition, beginAudioRecording as calcBeginAudioRecording, endAudioRecording as calcEndAudioRecording, beginRecording as calcBeginRecording, endRecording as calcEndRecording, speakText as calcSpeakText, getVoices as calcGetVoices, getGeolocation as calcGetGeolocation, cancelAnimation, disablePOV, enablePOV, enableCustomDragging as calcEnableCustomDragging, MINI_PORTAL, registerCustomApp, setAppOutput, unregisterCustomApp, requestAuthData as calcRequestAuthData, createBot, defineGlobalBot as calcDefineGlobalBot, TEMPORARY_BOT_PARTITION_ID, convertToString, GET_TAG_MASKS_SYMBOL, isBotLink, parseBotLink, createBotLink, convertGeolocationToWhat3Words as calcConvertGeolocationToWhat3Words, meetCommand as calcMeetCommand, meetFunction as calcMeetFunction, openImageClassifier as calcOpenImageClassifier, classifyImages as calcOpenClassifyImages, isBotDate, DATE_TAG_PREFIX, parseBotDate, realNumberOrDefault, raycastFromCamera as calcRaycastFromCamera, raycastInPortal as calcRaycastInPortal, calculateRayFromCamera as calcCalculateRayFromCamera, bufferFormAddressGltf, startFormAnimation as calcStartFormAnimation, stopFormAnimation as calcStopFormAnimation, listFormAnimations as calcListFormAnimations, calculateStringTagValue, createInitializationUpdate as calcCreateInitalizationUpdate, applyUpdatesToInst as calcApplyUpdatesToInst, configureWakeLock, getWakeLockConfiguration as calcGetWakeLockConfiguration, analyticsRecordEvent as calcAnalyticsRecordEvent, KNOWN_TAGS, isStoredVersion2, getCurrentInstUpdate as calcGetCurrentInstUpdate, openPhotoCamera as calcOpenPhotoCamera, getEasing, enableCollaboration as calcEnableCollaboration, showAccountInfo as calcShowAccountInfo, reportInst as calcReportInst, getRecordsEndpoint as calcGetRecordsEndpoint, ldrawCountAddressBuildSteps as calcLdrawCountAddressBuildSteps, ldrawCountTextBuildSteps as calcLdrawCountTextBuildSteps, calculateViewportCoordinatesFromPosition as calcCalculateViewportCoordinatesFromPosition, calculateScreenCoordinatesFromViewportCoordinates as calcCalculateScreenCoordinatesFromViewportCoordinates, calculateViewportCoordinatesFromScreenCoordinates as calcCalculateViewportCoordinatesFromScreenCoordinates, } from '@casual-simulation/aux-common/bots';
23
- import { aiChat, aiGenerateSkybox, aiGenerateImage, grantRecordPermission as calcGrantRecordPermission, revokeRecordPermission as calcRevokeRecordPermission, grantInstAdminPermission as calcGrantInstAdminPermission, grantUserRole as calcGrantUserRole, revokeUserRole as calcRevokeUserRole, grantInstRole as calcGrantInstRole, revokeInstRole as calcRevokeInstRole, listUserStudios as calcListUserStudios, joinRoom as calcJoinRoom, leaveRoom as calcLeaveRoom, setRoomOptions as calcSetRoomOptions, getRoomOptions as calcGetRoomOptions, getRoomTrackOptions as calcGetRoomTrackOptions, setRoomTrackOptions as calcSetRoomTrackOptions, getRoomRemoteOptions as calcGetRoomRemoteOptions, listDataRecord, recordEvent as calcRecordEvent, getEventCount as calcGetEventCount, getFile as calcGetFile, eraseFile as calcEraseFile, getPublicRecordKey as calcGetPublicRecordKey, recordData as calcRecordData, getRecordData, eraseRecordData, recordFile as calcRecordFile, listDataRecordByMarker, } from './RecordsEvents';
42
+ import { hasValue, trimTag, isBot, BOT_SPACE_TAG, toast as toastMessage, tip as tipMessage, hideTips as hideTipMessages, showJoinCode as calcShowJoinCode, requestFullscreen, exitFullscreen, html as htmlMessage, hideHtml as hideHtmlMessage, setClipboard as calcSetClipboard, tweenTo as calcTweenTo, showChat as calcShowChat, hideChat as calcHideChat, runScript, getMediaPermission as calcGetMediaPermission, getAverageFrameRate as calcGetAverageFrameRate, enableAR as calcEnableAR, disableAR as calcDisableAR, enableVR as calcEnableVR, disableVR as calcDisableVR, arSupported as calcARSupported, vrSupported as calcVRSupported, showUploadAuxFile as calcShowUploadAuxFile, openQRCodeScanner as calcOpenQRCodeScanner, showQRCode as calcShowQRCode, openBarcodeScanner as calcOpenBarcodeScanner, showBarcode as calcShowBarcode, importAUX as calcImportAUX, showInputForTag as calcShowInputForTag, showInput as calcShowInput, showConfirm as calcShowConfirm, replaceDragBot as calcReplaceDragBot, goToDimension as calcGoToDimension, goToURL as calcGoToURL, openURL as calcOpenURL, playSound as calcPlaySound, bufferSound as calcBufferSound, cancelSound as calcCancelSound, shell as calcShell, reject as calcReject, localFormAnimation as calcLocalFormAnimation, webhook as calcWebhook, superShout as calcSuperShout, share as calcShare, registerPrefix as calcRegisterPrefix, localPositionTween as calcLocalPositionTween, localRotationTween as calcLocalRotationTween, showUploadFiles as calcShowUploadFiles, download, loadSimulation, unloadSimulation, getUploadState, addState, getPortalTag, KNOWN_PORTALS, openConsole, tagsOnBot, getOriginalObject, getBotSpace, trimEvent, CREATE_ACTION_NAME, CREATE_ANY_ACTION_NAME, DESTROY_ACTION_NAME, ORIGINAL_OBJECT, getRemoteCount, getRemotes, listInstUpdates as calcListInstUpdates, getInstStateFromUpdates as calcGetInstStateFromUpdates, action, calculateAnchorPoint, calculateAnchorPointOffset, getBotPosition as calcGetBotPosition, getBotRotation as calcGetBotRotation, isRuntimeBot, SET_TAG_MASK_SYMBOL, CLEAR_TAG_MASKS_SYMBOL, getBotScale, EDIT_TAG_SYMBOL, EDIT_TAG_MASK_SYMBOL, circleWipe, addDropSnap as calcAddDropSnap, addDropGrid as calcAddDropGrid, animateToPosition, beginAudioRecording as calcBeginAudioRecording, endAudioRecording as calcEndAudioRecording, beginRecording as calcBeginRecording, endRecording as calcEndRecording, speakText as calcSpeakText, getVoices as calcGetVoices, getGeolocation as calcGetGeolocation, cancelAnimation, disablePOV, enablePOV, enableCustomDragging as calcEnableCustomDragging, MINI_PORTAL, registerCustomApp, setAppOutput, unregisterCustomApp, requestAuthData as calcRequestAuthData, createBot, defineGlobalBot as calcDefineGlobalBot, TEMPORARY_BOT_PARTITION_ID, convertToString, GET_TAG_MASKS_SYMBOL, isBotLink, parseBotLink, createBotLink, convertGeolocationToWhat3Words as calcConvertGeolocationToWhat3Words, meetCommand as calcMeetCommand, meetFunction as calcMeetFunction, openImageClassifier as calcOpenImageClassifier, classifyImages as calcOpenClassifyImages, isBotDate, DATE_TAG_PREFIX, parseBotDate, realNumberOrDefault, raycastFromCamera as calcRaycastFromCamera, raycastInPortal as calcRaycastInPortal, calculateRayFromCamera as calcCalculateRayFromCamera, bufferFormAddressGltf, startFormAnimation as calcStartFormAnimation, stopFormAnimation as calcStopFormAnimation, listFormAnimations as calcListFormAnimations, calculateStringTagValue, createInitializationUpdate as calcCreateInitalizationUpdate, applyUpdatesToInst as calcApplyUpdatesToInst, configureWakeLock, getWakeLockConfiguration as calcGetWakeLockConfiguration, analyticsRecordEvent as calcAnalyticsRecordEvent, KNOWN_TAGS, isStoredVersion2, getCurrentInstUpdate as calcGetCurrentInstUpdate, openPhotoCamera as calcOpenPhotoCamera, getEasing, enableCollaboration as calcEnableCollaboration, showAccountInfo as calcShowAccountInfo, reportInst as calcReportInst, getRecordsEndpoint as calcGetRecordsEndpoint, ldrawCountAddressBuildSteps as calcLdrawCountAddressBuildSteps, ldrawCountTextBuildSteps as calcLdrawCountTextBuildSteps, calculateViewportCoordinatesFromPosition as calcCalculateViewportCoordinatesFromPosition, calculateScreenCoordinatesFromViewportCoordinates as calcCalculateScreenCoordinatesFromViewportCoordinates, calculateViewportCoordinatesFromScreenCoordinates as calcCalculateViewportCoordinatesFromScreenCoordinates, capturePortalScreenshot as calcCapturePortalScreenshot, } from '@casual-simulation/aux-common/bots';
43
+ import { aiChat, aiChatStream, aiGenerateSkybox, aiGenerateImage, grantRecordPermission as calcGrantRecordPermission, revokeRecordPermission as calcRevokeRecordPermission, grantInstAdminPermission as calcGrantInstAdminPermission, grantUserRole as calcGrantUserRole, revokeUserRole as calcRevokeUserRole, grantInstRole as calcGrantInstRole, revokeInstRole as calcRevokeInstRole, listUserStudios as calcListUserStudios, joinRoom as calcJoinRoom, leaveRoom as calcLeaveRoom, setRoomOptions as calcSetRoomOptions, getRoomOptions as calcGetRoomOptions, getRoomTrackOptions as calcGetRoomTrackOptions, setRoomTrackOptions as calcSetRoomTrackOptions, getRoomRemoteOptions as calcGetRoomRemoteOptions, listDataRecord, recordEvent as calcRecordEvent, getEventCount as calcGetEventCount, getFile as calcGetFile, eraseFile as calcEraseFile, getPublicRecordKey as calcGetPublicRecordKey, recordData as calcRecordData, getRecordData, eraseRecordData, recordFile as calcRecordFile, listDataRecordByMarker, } from './RecordsEvents';
24
44
  import { sortBy, every, cloneDeep, union, isEqual, flatMap, } from 'lodash';
25
45
  import { remote as calcRemote, DEFAULT_BRANCH_NAME, } from '@casual-simulation/aux-common';
26
46
  import { RanOutOfEnergyError } from './AuxResults';
@@ -325,6 +345,9 @@ export function createDefaultLibrary(context) {
325
345
  chat,
326
346
  generateSkybox,
327
347
  generateImage,
348
+ stream: {
349
+ chat: chatStream,
350
+ },
328
351
  },
329
352
  os: {
330
353
  [UNCOPIABLE]: true,
@@ -386,6 +409,7 @@ export function createDefaultLibrary(context) {
386
409
  openPhotoCamera,
387
410
  capturePhoto,
388
411
  closePhotoCamera,
412
+ capturePortalScreenshot,
389
413
  /**
390
414
  * Gets the device-local time as the number of miliseconds since midnight January 1st, 1970 UTC-0 (i.e. the Unix Epoch). This is what your device's clock thinks the current time is.
391
415
  *
@@ -1863,6 +1887,65 @@ export function createDefaultLibrary(context) {
1863
1887
  final[ORIGINAL_OBJECT] = action;
1864
1888
  return final;
1865
1889
  }
1890
+ function chatStream(messages, options) {
1891
+ const task = context.createIterable();
1892
+ const returnString = typeof messages === 'string';
1893
+ const inputMessages = [];
1894
+ if (typeof messages === 'string') {
1895
+ inputMessages.push({
1896
+ role: 'user',
1897
+ content: messages,
1898
+ });
1899
+ }
1900
+ else if (Array.isArray(messages)) {
1901
+ inputMessages.push(...messages);
1902
+ }
1903
+ else if (typeof messages === 'object') {
1904
+ inputMessages.push(messages);
1905
+ }
1906
+ const action = aiChatStream(inputMessages, options, task.taskId);
1907
+ const promise = addAsyncResultIterableAction(task, action).then((iterable) => {
1908
+ function generator() {
1909
+ return __asyncGenerator(this, arguments, function* generator_1() {
1910
+ var _a, e_1, _b, _c;
1911
+ try {
1912
+ for (var _d = true, iterable_1 = __asyncValues(iterable), iterable_1_1; iterable_1_1 = yield __await(iterable_1.next()), _a = iterable_1_1.done, !_a; _d = true) {
1913
+ _c = iterable_1_1.value;
1914
+ _d = false;
1915
+ let result = _c;
1916
+ if (result.choices.length <= 0) {
1917
+ continue;
1918
+ }
1919
+ const choice = result.choices[0];
1920
+ if (!hasValue(choice)) {
1921
+ continue;
1922
+ }
1923
+ if (returnString) {
1924
+ const content = choice === null || choice === void 0 ? void 0 : choice.content;
1925
+ if (!hasValue(content)) {
1926
+ continue;
1927
+ }
1928
+ yield yield __await(content);
1929
+ }
1930
+ else {
1931
+ yield yield __await(choice);
1932
+ }
1933
+ }
1934
+ }
1935
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1936
+ finally {
1937
+ try {
1938
+ if (!_d && !_a && (_b = iterable_1.return)) yield __await(_b.call(iterable_1));
1939
+ }
1940
+ finally { if (e_1) throw e_1.error; }
1941
+ }
1942
+ });
1943
+ }
1944
+ return generator();
1945
+ });
1946
+ promise[ORIGINAL_OBJECT] = action;
1947
+ return promise;
1948
+ }
1866
1949
  /**
1867
1950
  * Generates a [skybox image](https://en.wikipedia.org/wiki/Skybox_%28video_games%29) from the given request object.
1868
1951
  *
@@ -3180,6 +3263,28 @@ export function createDefaultLibrary(context) {
3180
3263
  const action = calcOpenPhotoCamera(false, false, undefined, task.taskId);
3181
3264
  return addAsyncAction(task, action);
3182
3265
  }
3266
+ /**
3267
+ * Captures a screenshot (i.e. photo/picture) from the grid portal.
3268
+ *
3269
+ * Returns a promise that resolves with the captured photo.
3270
+ *
3271
+ * @param portal the portal to capture the screenshot from. Defaults to the grid portal.
3272
+ *
3273
+ * @example Capture a screenshot from the grid portal.
3274
+ * const screenshot = await os.capturePortalScreenshot();
3275
+ *
3276
+ * @example Display a screenshot from the grid portal on a bot.
3277
+ * const screenshot = await os.capturePortalScreenshot();
3278
+ * masks.formAddress = bytes.toBase64Url(await screenshot.data.arrayBuffer());
3279
+ *
3280
+ * @dochash actions/os/portals
3281
+ * @docname os.capturePortalScreenshot
3282
+ */
3283
+ function capturePortalScreenshot() {
3284
+ const task = context.createTask();
3285
+ const action = calcCapturePortalScreenshot('grid', task.taskId);
3286
+ return addAsyncAction(task, action);
3287
+ }
3183
3288
  /**
3184
3289
  * Loads the given inst into the current browser tab. When the inst is loaded, the {@tag @onInstJoined} shout will be triggered.
3185
3290
  *
@@ -10633,6 +10738,22 @@ export function createDefaultLibrary(context) {
10633
10738
  return result;
10634
10739
  });
10635
10740
  }
10741
+ function addAsyncIterableAction(task, action) {
10742
+ addAction(action);
10743
+ const iterable = task.iterable;
10744
+ iterable[ORIGINAL_OBJECT] = action;
10745
+ return iterable;
10746
+ }
10747
+ function addAsyncResultIterableAction(task, action) {
10748
+ return __awaiter(this, void 0, void 0, function* () {
10749
+ addAsyncIterableAction(task, action);
10750
+ const result = yield task.promise;
10751
+ if (!result.result.success) {
10752
+ throw new CasualOSError(result.result);
10753
+ }
10754
+ return result.iterable;
10755
+ });
10756
+ }
10636
10757
  function getVersion1DownloadState(state) {
10637
10758
  return {
10638
10759
  version: 1,