@jskit-ai/assistant-core 0.2.38 → 0.2.40

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/CHANGELOG.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ - `assistantConversationListItemOutputValidator` (from `@jskit-ai/assistant-core/shared`) is one conversation of `assistantContract`'s `conversationsList`, the record without its `metadata`; the contract's list output is built from it, and `@jskit-ai/assistant-runtime`'s conversations list route serializes its items with it.
5
6
  - `createConversationStorage`'s `write` saves nothing when its callback called no write method: the adapter's `writeRecord` does not run, so file storage no longer rewrites and flushes the whole conversation file, or creates an empty one for a missing conversation, when a write only looked (a delivery check, a message already saved), and the saved record stays cached.
6
7
  - Checking or recovering one message's delivery (`inspectDelivery`, and a send that finds its message already saved) finds that message's turn by its id instead of reading and cloning every turn of the conversation to find it.
7
8
  - With completed envelopes, a streamed turn's saved completed-envelope marker is read once per turn instead of once per delta: the marker is written with the turn's authored message and never changes, and a reply's hundreds of deltas each opened a storage read. A turn not saved yet is read again until it is.
@@ -8,14 +8,14 @@
8
8
  "build": "vite build"
9
9
  },
10
10
  "dependencies": {
11
- "@jskit-ai/assistant-core": "0.2.38",
11
+ "@jskit-ai/assistant-core": "0.2.40",
12
12
  "@jskit-ai/http-runtime": "0.2.18",
13
13
  "@jskit-ai/kernel": "0.2.18",
14
14
  "@jskit-ai/material-web": "0.1.5",
15
15
  "vue": "^3.5.13",
16
16
  "vuetify": "^4.0.0",
17
- "@jskit-ai/connectors-core": "0.2.24",
18
- "@jskit-ai/connectors-catalog": "0.2.24"
17
+ "@jskit-ai/connectors-core": "0.2.26",
18
+ "@jskit-ai/connectors-catalog": "0.2.26"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@vitejs/plugin-vue": "^6.0.7",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jskit-ai/assistant-core",
3
- "version": "0.2.38",
3
+ "version": "0.2.40",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "test": "jskit test"
@@ -272,6 +272,8 @@ const conversationMessagesListOutputSchema = createSchema({
272
272
  });
273
273
 
274
274
  const assistantConversationOutputValidator = createSchemaDefinition(conversationRecordSchema, "replace");
275
+ // One conversation of a list, as the conversations list route answers each item: the record without its metadata.
276
+ const assistantConversationListItemOutputValidator = createSchemaDefinition(conversationListItemSchema, "replace");
275
277
 
276
278
  const assistantContract = defineApiContract({
277
279
  namespace: "assistant",
@@ -283,7 +285,7 @@ const assistantContract = defineApiContract({
283
285
  conversationsList: {
284
286
  method: "GET",
285
287
  query: conversationsListQuerySchema,
286
- output: createCursorListValidator(createSchemaDefinition(conversationListItemSchema, "replace"))
288
+ output: createCursorListValidator(assistantConversationListItemOutputValidator)
287
289
  },
288
290
  conversationMessagesList: {
289
291
  method: "GET",
@@ -299,5 +301,6 @@ export {
299
301
  MAX_MESSAGE_PAGE_SIZE,
300
302
  attachmentIdsField,
301
303
  assistantContract,
304
+ assistantConversationListItemOutputValidator,
302
305
  assistantConversationOutputValidator
303
306
  };
@@ -30,6 +30,7 @@ export {
30
30
  MAX_MESSAGE_PAGE_SIZE,
31
31
  attachmentIdsField,
32
32
  assistantContract,
33
+ assistantConversationListItemOutputValidator,
33
34
  assistantConversationOutputValidator
34
35
  } from "./assistantResource.js";
35
36