@jskit-ai/assistant-runtime 0.1.119 → 0.1.121

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": "@jskit-ai/assistant-runtime",
3
- "version": "0.1.119",
3
+ "version": "0.1.121",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./client": "./src/client/index.js",
@@ -8,18 +8,164 @@
8
8
  "./server/actionIds": "./src/server/actionIds.js"
9
9
  },
10
10
  "dependencies": {
11
- "@jskit-ai/assistant-core": "0.1.124",
12
- "@jskit-ai/database-runtime": "0.1.147",
13
- "@jskit-ai/http-runtime": "0.1.146",
14
- "@jskit-ai/kernel": "0.1.147",
15
- "@jskit-ai/shell-web": "0.1.148",
16
- "@jskit-ai/users-core": "0.1.161",
17
- "@jskit-ai/users-web": "0.1.165",
11
+ "@jskit-ai/assistant-core": "0.1.126",
12
+ "@jskit-ai/database-runtime": "0.1.150",
13
+ "@jskit-ai/http-runtime": "0.1.148",
14
+ "@jskit-ai/kernel": "0.1.150",
15
+ "@jskit-ai/shell-web": "0.1.154",
16
+ "@jskit-ai/users-core": "0.1.163",
17
+ "@jskit-ai/users-web": "0.1.168",
18
18
  "json-rest-schema": "^1.0.17"
19
19
  },
20
20
  "peerDependencies": {
21
21
  "@tanstack/vue-query": "^5.90.5",
22
22
  "vue": "^3.5.13",
23
23
  "vuetify": "^4.0.0"
24
+ },
25
+ "description": "Shared assistant runtime with per-surface assistant registration.",
26
+ "jskit": {
27
+ "kind": "runtime",
28
+ "capabilities": {
29
+ "provides": [
30
+ "assistant.runtime"
31
+ ],
32
+ "requires": [
33
+ "runtime.actions",
34
+ "runtime.database",
35
+ "auth.policy",
36
+ "runtime.http-client",
37
+ "users.core",
38
+ "users.web"
39
+ ]
40
+ },
41
+ "runtime": {
42
+ "server": {
43
+ "providers": [
44
+ {
45
+ "entrypoint": "src/server/AssistantProvider.js",
46
+ "export": "AssistantProvider"
47
+ }
48
+ ]
49
+ },
50
+ "client": {
51
+ "providers": [
52
+ {
53
+ "entrypoint": "src/client/providers/AssistantClientProvider.js",
54
+ "export": "AssistantClientProvider"
55
+ }
56
+ ]
57
+ }
58
+ },
59
+ "metadata": {
60
+ "jskit": {
61
+ "tableOwnership": {
62
+ "tables": [
63
+ {
64
+ "tableName": "assistant_config",
65
+ "provenance": "runtime-package",
66
+ "ownerKind": "package-runtime"
67
+ },
68
+ {
69
+ "tableName": "assistant_conversations",
70
+ "provenance": "runtime-package",
71
+ "ownerKind": "package-runtime"
72
+ },
73
+ {
74
+ "tableName": "assistant_messages",
75
+ "provenance": "runtime-package",
76
+ "ownerKind": "package-runtime"
77
+ }
78
+ ]
79
+ }
80
+ },
81
+ "apiSummary": {
82
+ "surfaces": [
83
+ {
84
+ "subpath": "./client",
85
+ "summary": "Exports assistant runtime client elements and composables."
86
+ },
87
+ {
88
+ "subpath": "./shared",
89
+ "summary": "Exports assistant runtime shared config helpers."
90
+ },
91
+ {
92
+ "subpath": "./server/actionIds",
93
+ "summary": "Exports assistant runtime action identifiers."
94
+ }
95
+ ],
96
+ "containerTokens": {
97
+ "server": [
98
+ "assistant.config.repository",
99
+ "assistant.conversation.repository",
100
+ "assistant.message.repository",
101
+ "assistant.ai.client.factory",
102
+ "assistant.service.tool-catalog"
103
+ ],
104
+ "client": [
105
+ "assistant.web.settings.element"
106
+ ]
107
+ }
108
+ }
109
+ },
110
+ "mutations": {
111
+ "dependencies": {
112
+ "runtime": {
113
+ "@jskit-ai/assistant-core": "0.1.126",
114
+ "@jskit-ai/database-runtime": "0.1.150",
115
+ "@jskit-ai/http-runtime": "0.1.148",
116
+ "@jskit-ai/kernel": "0.1.150",
117
+ "@jskit-ai/shell-web": "0.1.154",
118
+ "@jskit-ai/users-core": "0.1.163",
119
+ "@jskit-ai/users-web": "0.1.168"
120
+ },
121
+ "dev": {}
122
+ },
123
+ "packageJson": {
124
+ "scripts": {}
125
+ },
126
+ "procfile": {},
127
+ "files": [
128
+ {
129
+ "op": "install-migration",
130
+ "from": "templates/migrations/assistant_config_initial.cjs",
131
+ "toDir": "migrations",
132
+ "extension": ".cjs",
133
+ "reason": "Install assistant configuration schema migration.",
134
+ "category": "assistant-runtime",
135
+ "id": "assistant-runtime-config-initial-schema"
136
+ },
137
+ {
138
+ "op": "install-migration",
139
+ "from": "templates/migrations/assistant_transcripts_initial.cjs",
140
+ "toDir": "migrations",
141
+ "extension": ".cjs",
142
+ "reason": "Install assistant transcript schema migration.",
143
+ "category": "assistant-runtime",
144
+ "id": "assistant-runtime-transcripts-initial-schema"
145
+ }
146
+ ],
147
+ "text": [
148
+ {
149
+ "op": "append-text",
150
+ "file": "config/public.js",
151
+ "position": "bottom",
152
+ "skipIfContains": "config.assistantSurfaces ||= {};",
153
+ "value": "\nconfig.assistantSurfaces ||= {};\n",
154
+ "reason": "Initialize the shared assistant surface registry in public app config.",
155
+ "category": "assistant-runtime",
156
+ "id": "assistant-runtime-public-surface-registry-init"
157
+ },
158
+ {
159
+ "op": "append-text",
160
+ "file": "config/server.js",
161
+ "position": "bottom",
162
+ "skipIfContains": "config.assistantServer ||= {};",
163
+ "value": "\nconfig.assistantServer ||= {};\n",
164
+ "reason": "Initialize the shared assistant server config registry.",
165
+ "category": "assistant-runtime",
166
+ "id": "assistant-runtime-server-surface-registry-init"
167
+ }
168
+ ]
169
+ }
24
170
  }
25
171
  }
@@ -0,0 +1,38 @@
1
+ import assert from "node:assert/strict";
2
+ import test from "node:test";
3
+ import packageJson from "../package.json" with { type: "json" };
4
+
5
+ const packageMetadata = packageJson.jskit;
6
+
7
+ function findTextMutation(id) {
8
+ const mutations = Array.isArray(packageMetadata?.mutations?.text) ? packageMetadata.mutations.text : [];
9
+ return mutations.find((entry) => String(entry?.id || "") === id) || null;
10
+ }
11
+
12
+ function findFileMutation(id) {
13
+ const mutations = Array.isArray(packageMetadata?.mutations?.files) ? packageMetadata.mutations.files : [];
14
+ return mutations.find((entry) => String(entry?.id || "") === id) || null;
15
+ }
16
+
17
+ test("assistant-runtime packageMetadata registers runtime providers and initializes assistant config roots", () => {
18
+ assert.equal(packageMetadata.kind, "runtime");
19
+ assert.equal(packageJson.name, "@jskit-ai/assistant-runtime");
20
+ assert.equal(packageMetadata.capabilities?.requires?.includes("workspaces.core"), false);
21
+ assert.equal(packageMetadata.capabilities?.requires?.includes("workspaces.web"), false);
22
+ assert.equal(packageMetadata.runtime?.server?.providers?.[0]?.entrypoint, "src/server/AssistantProvider.js");
23
+ assert.equal(packageMetadata.runtime?.client?.providers?.[0]?.entrypoint, "src/client/providers/AssistantClientProvider.js");
24
+
25
+ const publicInit = findTextMutation("assistant-runtime-public-surface-registry-init");
26
+ const serverInit = findTextMutation("assistant-runtime-server-surface-registry-init");
27
+
28
+ assert.match(String(publicInit?.value || ""), /config\.assistantSurfaces \|\|= \{\};/);
29
+ assert.match(String(serverInit?.value || ""), /config\.assistantServer \|\|= \{\};/);
30
+ });
31
+
32
+ test("assistant-runtime packageMetadata ships common assistant migrations", () => {
33
+ const configMigration = findFileMutation("assistant-runtime-config-initial-schema");
34
+ const transcriptMigration = findFileMutation("assistant-runtime-transcripts-initial-schema");
35
+
36
+ assert.equal(configMigration?.from, "templates/migrations/assistant_config_initial.cjs");
37
+ assert.equal(transcriptMigration?.from, "templates/migrations/assistant_transcripts_initial.cjs");
38
+ });
@@ -1,155 +0,0 @@
1
- export default Object.freeze({
2
- packageVersion: 1,
3
- packageId: "@jskit-ai/assistant-runtime",
4
- version: "0.1.119",
5
- kind: "runtime",
6
- description: "Shared assistant runtime with per-surface assistant registration.",
7
- dependsOn: [
8
- "@jskit-ai/assistant-core",
9
- "@jskit-ai/database-runtime",
10
- "@jskit-ai/http-runtime",
11
- "@jskit-ai/shell-web",
12
- "@jskit-ai/users-core",
13
- "@jskit-ai/users-web"
14
- ],
15
- capabilities: {
16
- provides: ["assistant.runtime"],
17
- requires: [
18
- "runtime.actions",
19
- "runtime.database",
20
- "auth.policy",
21
- "runtime.http-client",
22
- "users.core",
23
- "users.web"
24
- ]
25
- },
26
- runtime: {
27
- server: {
28
- providers: [
29
- {
30
- entrypoint: "src/server/AssistantProvider.js",
31
- export: "AssistantProvider"
32
- }
33
- ]
34
- },
35
- client: {
36
- providers: [
37
- {
38
- entrypoint: "src/client/providers/AssistantClientProvider.js",
39
- export: "AssistantClientProvider"
40
- }
41
- ]
42
- }
43
- },
44
- metadata: {
45
- jskit: {
46
- tableOwnership: {
47
- tables: [
48
- {
49
- tableName: "assistant_config",
50
- provenance: "runtime-package",
51
- ownerKind: "package-runtime"
52
- },
53
- {
54
- tableName: "assistant_conversations",
55
- provenance: "runtime-package",
56
- ownerKind: "package-runtime"
57
- },
58
- {
59
- tableName: "assistant_messages",
60
- provenance: "runtime-package",
61
- ownerKind: "package-runtime"
62
- }
63
- ]
64
- }
65
- },
66
- apiSummary: {
67
- surfaces: [
68
- {
69
- subpath: "./client",
70
- summary: "Exports assistant runtime client elements and composables."
71
- },
72
- {
73
- subpath: "./shared",
74
- summary: "Exports assistant runtime shared config helpers."
75
- },
76
- {
77
- subpath: "./server/actionIds",
78
- summary: "Exports assistant runtime action identifiers."
79
- }
80
- ],
81
- containerTokens: {
82
- server: [
83
- "assistant.config.repository",
84
- "assistant.conversation.repository",
85
- "assistant.message.repository",
86
- "assistant.ai.client.factory",
87
- "assistant.service.tool-catalog"
88
- ],
89
- client: [
90
- "assistant.web.settings.element"
91
- ]
92
- }
93
- }
94
- },
95
- mutations: {
96
- dependencies: {
97
- runtime: {
98
- "@jskit-ai/assistant-core": "0.1.124",
99
- "@jskit-ai/database-runtime": "0.1.147",
100
- "@jskit-ai/http-runtime": "0.1.146",
101
- "@jskit-ai/kernel": "0.1.147",
102
- "@jskit-ai/shell-web": "0.1.148",
103
- "@jskit-ai/users-core": "0.1.161",
104
- "@jskit-ai/users-web": "0.1.165"
105
- },
106
- dev: {}
107
- },
108
- packageJson: {
109
- scripts: {}
110
- },
111
- procfile: {},
112
- files: [
113
- {
114
- op: "install-migration",
115
- from: "templates/migrations/assistant_config_initial.cjs",
116
- toDir: "migrations",
117
- extension: ".cjs",
118
- reason: "Install assistant configuration schema migration.",
119
- category: "assistant-runtime",
120
- id: "assistant-runtime-config-initial-schema"
121
- },
122
- {
123
- op: "install-migration",
124
- from: "templates/migrations/assistant_transcripts_initial.cjs",
125
- toDir: "migrations",
126
- extension: ".cjs",
127
- reason: "Install assistant transcript schema migration.",
128
- category: "assistant-runtime",
129
- id: "assistant-runtime-transcripts-initial-schema"
130
- }
131
- ],
132
- text: [
133
- {
134
- op: "append-text",
135
- file: "config/public.js",
136
- position: "bottom",
137
- skipIfContains: "config.assistantSurfaces ||= {};",
138
- value: "\nconfig.assistantSurfaces ||= {};\n",
139
- reason: "Initialize the shared assistant surface registry in public app config.",
140
- category: "assistant-runtime",
141
- id: "assistant-runtime-public-surface-registry-init"
142
- },
143
- {
144
- op: "append-text",
145
- file: "config/server.js",
146
- position: "bottom",
147
- skipIfContains: "config.assistantServer ||= {};",
148
- value: "\nconfig.assistantServer ||= {};\n",
149
- reason: "Initialize the shared assistant server config registry.",
150
- category: "assistant-runtime",
151
- id: "assistant-runtime-server-surface-registry-init"
152
- }
153
- ]
154
- }
155
- });
@@ -1,38 +0,0 @@
1
- import assert from "node:assert/strict";
2
- import test from "node:test";
3
- import descriptor from "../package.descriptor.mjs";
4
-
5
- function findTextMutation(id) {
6
- const mutations = Array.isArray(descriptor?.mutations?.text) ? descriptor.mutations.text : [];
7
- return mutations.find((entry) => String(entry?.id || "") === id) || null;
8
- }
9
-
10
- function findFileMutation(id) {
11
- const mutations = Array.isArray(descriptor?.mutations?.files) ? descriptor.mutations.files : [];
12
- return mutations.find((entry) => String(entry?.id || "") === id) || null;
13
- }
14
-
15
- test("assistant-runtime descriptor registers runtime providers and initializes assistant config roots", () => {
16
- assert.equal(descriptor.kind, "runtime");
17
- assert.equal(descriptor.packageId, "@jskit-ai/assistant-runtime");
18
- assert.equal(descriptor.dependsOn.includes("@jskit-ai/workspaces-core"), false);
19
- assert.equal(descriptor.dependsOn.includes("@jskit-ai/workspaces-web"), false);
20
- assert.equal(descriptor.capabilities?.requires?.includes("workspaces.core"), false);
21
- assert.equal(descriptor.capabilities?.requires?.includes("workspaces.web"), false);
22
- assert.equal(descriptor.runtime?.server?.providers?.[0]?.entrypoint, "src/server/AssistantProvider.js");
23
- assert.equal(descriptor.runtime?.client?.providers?.[0]?.entrypoint, "src/client/providers/AssistantClientProvider.js");
24
-
25
- const publicInit = findTextMutation("assistant-runtime-public-surface-registry-init");
26
- const serverInit = findTextMutation("assistant-runtime-server-surface-registry-init");
27
-
28
- assert.match(String(publicInit?.value || ""), /config\.assistantSurfaces \|\|= \{\};/);
29
- assert.match(String(serverInit?.value || ""), /config\.assistantServer \|\|= \{\};/);
30
- });
31
-
32
- test("assistant-runtime descriptor ships common assistant migrations", () => {
33
- const configMigration = findFileMutation("assistant-runtime-config-initial-schema");
34
- const transcriptMigration = findFileMutation("assistant-runtime-transcripts-initial-schema");
35
-
36
- assert.equal(configMigration?.from, "templates/migrations/assistant_config_initial.cjs");
37
- assert.equal(transcriptMigration?.from, "templates/migrations/assistant_transcripts_initial.cjs");
38
- });