v3.3.13
·
68 commits
to develop
since this release
π Features
-
Added
ai.chat.allowedModels
feature to enforce model usage limits, restricting access to specific models based on configuration. -
Added shared documents.
-
Shared documents utilize insts to be able to share data without using bots and tags.
-
Additionally, shared documents can be loaded and unloaded at will.
-
The following functions have been added:
os.getSharedDocument(name)
- Gets a document that is stored in the current inst.os.getSharedDocument(recordName, inst, name)
- Gets a document that is stored in the specified inst.os.getLocalDocument(name)
- Gets a document that is stored on this device.os.getMemoryDocument()
- Gets a document that is stored in memory and cleared upon refresh.
-
Usage:
// Get a document stored in this inst named "test" const doc = await os.getSharedDocument('test'); // maps work like the Map type (see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) const inventory = doc.getMap<number>('inventory'); inventory.set('spoons', 2); inventory.set('forks', 3); os.log('Number of spoons: ' + inventory.get('spoons')); // arrays work like regular JavaScript arrays: const shoppingList = doc.getArray<string>('shoppingList'); shoppingList.push('cereal', 'milk', 'eggs'); os.log('Shopping list:', inventory.toArray()); // Text is a special type that makes it easy to work with long strings const blogPost = doc.getText('blogPost'); blogPost.insert(0, 'Hello, world!'); os.log('Blog Post:
-
', blogPost.toString());
```
π Bug Fixes
- Fixed an issue where CasualOS would prompt for login when trying to join a room using
os.joinRoom()
.