@vertesia/tools-sdk 1.5.0-dev.20260714.072725Z → 1.5.0-dev.20260722.120446Z
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/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/server/app-package.d.ts +8 -0
- package/lib/server/app-package.d.ts.map +1 -1
- package/lib/server/app-package.js +72 -30
- package/lib/server/app-package.js.map +1 -1
- package/lib/server/content-types.d.ts.map +1 -1
- package/lib/server/content-types.js +40 -10
- package/lib/server/content-types.js.map +1 -1
- package/lib/server/dashboards.d.ts +4 -0
- package/lib/server/dashboards.d.ts.map +1 -0
- package/lib/server/dashboards.js +25 -0
- package/lib/server/dashboards.js.map +1 -0
- package/lib/server/types.d.ts +9 -1
- package/lib/server/types.d.ts.map +1 -1
- package/lib/server/views.d.ts +4 -0
- package/lib/server/views.d.ts.map +1 -0
- package/lib/server/views.js +25 -0
- package/lib/server/views.js.map +1 -0
- package/lib/server.d.ts.map +1 -1
- package/lib/server.js +7 -1
- package/lib/server.js.map +1 -1
- package/package.json +8 -7
- package/src/index.ts +2 -0
- package/src/server/app-package.test.ts +140 -0
- package/src/server/app-package.ts +89 -34
- package/src/server/content-types.test.ts +64 -0
- package/src/server/content-types.ts +43 -10
- package/src/server/dashboards.ts +31 -0
- package/src/server/types.ts +15 -1
- package/src/server/views.test.ts +45 -0
- package/src/server/views.ts +31 -0
- package/src/server.ts +7 -0
package/lib/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export { copyRuntimeAssets } from './copy-assets.js';
|
|
|
5
5
|
export * from './InteractionCollection.js';
|
|
6
6
|
export * from './RenderingTemplateCollection.js';
|
|
7
7
|
export * from './SkillCollection.js';
|
|
8
|
+
export type { BuildAppPackageOptions } from './server/app-package.js';
|
|
9
|
+
export { buildAppPackage } from './server/app-package.js';
|
|
8
10
|
export * from './server/types.js';
|
|
9
11
|
export * from './server.js';
|
|
10
12
|
export * from './site/templates.js';
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -5,6 +5,7 @@ export { copyRuntimeAssets } from './copy-assets.js';
|
|
|
5
5
|
export * from './InteractionCollection.js';
|
|
6
6
|
export * from './RenderingTemplateCollection.js';
|
|
7
7
|
export * from './SkillCollection.js';
|
|
8
|
+
export { buildAppPackage } from './server/app-package.js';
|
|
8
9
|
export * from './server/types.js';
|
|
9
10
|
export * from './server.js';
|
|
10
11
|
export * from './site/templates.js';
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
+
import type { AppPackage, AppPackageScope } from '@vertesia/common';
|
|
1
2
|
import type { Hono } from 'hono';
|
|
3
|
+
import type { ToolUseContext } from '../types.js';
|
|
2
4
|
import type { ToolServerConfig } from './types.js';
|
|
5
|
+
export interface BuildAppPackageOptions {
|
|
6
|
+
scope?: AppPackageScope | AppPackageScope[] | string;
|
|
7
|
+
origin?: string;
|
|
8
|
+
toolUseContext?: ToolUseContext;
|
|
9
|
+
}
|
|
10
|
+
export declare function buildAppPackage(config: ToolServerConfig, options?: BuildAppPackageOptions): Promise<AppPackage>;
|
|
3
11
|
export declare function createPackageRoute(app: Hono, basePath: string, config: ToolServerConfig): void;
|
|
4
12
|
//# sourceMappingURL=app-package.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-package.d.ts","sourceRoot":"","sources":["../../src/server/app-package.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app-package.d.ts","sourceRoot":"","sources":["../../src/server/app-package.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAER,UAAU,EACV,eAAe,EAMlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAMnD,MAAM,WAAW,sBAAsB;IACnC,KAAK,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC;CACnC;AAiJD,wBAAsB,eAAe,CACjC,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,sBAA2B,GACrC,OAAO,CAAC,UAAU,CAAC,CAqDrB;AAWD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,QAQvF"}
|
|
@@ -2,9 +2,9 @@ function getRequestPayload(c) {
|
|
|
2
2
|
return c.req.method === 'POST' ? c.req.json() : Promise.resolve(undefined);
|
|
3
3
|
}
|
|
4
4
|
const builders = {
|
|
5
|
-
async tools(pkg, config,
|
|
5
|
+
async tools(pkg, config, options) {
|
|
6
6
|
const { tools: toolCollections = [], skills: skillCollections = [] } = config;
|
|
7
|
-
const filterContext =
|
|
7
|
+
const filterContext = options.toolUseContext;
|
|
8
8
|
// Aggregate all tools from all collections
|
|
9
9
|
const allTools = toolCollections.flatMap((collection) => collection.getToolDefinitions(filterContext));
|
|
10
10
|
// same for skills
|
|
@@ -38,13 +38,21 @@ const builders = {
|
|
|
38
38
|
pkg.interactions = allInteractions;
|
|
39
39
|
},
|
|
40
40
|
async types(pkg, config) {
|
|
41
|
+
// A type's public id is its BARE name: stored objects reference it as the portable
|
|
42
|
+
// `app:<app>:<type>` string, so the in-code collection (a code-organization grouping,
|
|
43
|
+
// unlike tool/skill collections which are semantic) must NOT leak into the id.
|
|
44
|
+
// Names must therefore be unique across collections — fail the package build otherwise.
|
|
41
45
|
const allTypes = [];
|
|
46
|
+
const seen = new Map();
|
|
42
47
|
for (const coll of config.types || []) {
|
|
43
48
|
for (const type of coll.types) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
49
|
+
const existing = seen.get(type.name);
|
|
50
|
+
if (existing) {
|
|
51
|
+
throw new Error(`Duplicate content type name '${type.name}' (collections '${existing}' and '${coll.name}'). ` +
|
|
52
|
+
`Type names must be unique across collections so the portable 'app:<app>:${type.name}' ref resolves.`);
|
|
53
|
+
}
|
|
54
|
+
seen.set(type.name, coll.name);
|
|
55
|
+
allTypes.push({ ...type, id: type.name });
|
|
48
56
|
}
|
|
49
57
|
}
|
|
50
58
|
pkg.types = allTypes;
|
|
@@ -56,6 +64,9 @@ const builders = {
|
|
|
56
64
|
}
|
|
57
65
|
pkg.processes = allProcesses;
|
|
58
66
|
},
|
|
67
|
+
async views(pkg, config) {
|
|
68
|
+
pkg.views = [...(config.views ?? [])];
|
|
69
|
+
},
|
|
59
70
|
async templates(pkg, config) {
|
|
60
71
|
const basePath = `${config.prefix || '/api'}/templates`;
|
|
61
72
|
pkg.templates = (config.templates || []).flatMap((coll) => coll.templates.map(({ instructions: _, ...ref }) => ({
|
|
@@ -63,6 +74,19 @@ const builders = {
|
|
|
63
74
|
path: `${basePath}/${coll.name}/${ref.name}`,
|
|
64
75
|
})));
|
|
65
76
|
},
|
|
77
|
+
async dashboards(pkg, config) {
|
|
78
|
+
const seen = new Set();
|
|
79
|
+
const dashboards = [];
|
|
80
|
+
for (const dashboard of config.dashboards || []) {
|
|
81
|
+
if (seen.has(dashboard.id)) {
|
|
82
|
+
console.warn(`[app-package] Duplicate dashboard id "${dashboard.id}", skipping`);
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
seen.add(dashboard.id);
|
|
86
|
+
dashboards.push(dashboard);
|
|
87
|
+
}
|
|
88
|
+
pkg.dashboards = dashboards;
|
|
89
|
+
},
|
|
66
90
|
async widgets(pkg, config) {
|
|
67
91
|
const { skills: skillCollections = [] } = config;
|
|
68
92
|
const widgets = {};
|
|
@@ -79,10 +103,10 @@ const builders = {
|
|
|
79
103
|
}
|
|
80
104
|
pkg.widgets = widgets;
|
|
81
105
|
},
|
|
82
|
-
async ui(pkg, config,
|
|
106
|
+
async ui(pkg, config, options) {
|
|
83
107
|
if (config.uiConfig) {
|
|
84
108
|
pkg.ui = { ...config.uiConfig };
|
|
85
|
-
const origin =
|
|
109
|
+
const origin = options.origin || 'http://localhost';
|
|
86
110
|
pkg.ui.src = new URL(pkg.ui.src, origin).toString();
|
|
87
111
|
if (!pkg.ui.isolation) {
|
|
88
112
|
pkg.ui.isolation = 'shadow';
|
|
@@ -104,51 +128,69 @@ const builders = {
|
|
|
104
128
|
pkg.activities = allActivities;
|
|
105
129
|
},
|
|
106
130
|
};
|
|
107
|
-
|
|
108
|
-
const
|
|
131
|
+
function normalizeScopes(scope) {
|
|
132
|
+
const values = Array.isArray(scope) ? scope : typeof scope === 'string' ? scope.split(',') : [scope || 'all'];
|
|
133
|
+
return new Set(values.filter(Boolean));
|
|
134
|
+
}
|
|
135
|
+
export async function buildAppPackage(config, options = {}) {
|
|
109
136
|
const pkg = {};
|
|
110
|
-
const scopes =
|
|
111
|
-
// TODO build pkg based on the query param scope
|
|
137
|
+
const scopes = normalizeScopes(options.scope);
|
|
112
138
|
if (scopes.has('all')) {
|
|
113
|
-
await builders.tools(pkg, config,
|
|
114
|
-
await builders.interactions(pkg, config,
|
|
115
|
-
await builders.types(pkg, config,
|
|
116
|
-
await builders.processes(pkg, config,
|
|
117
|
-
await builders.
|
|
118
|
-
await builders.
|
|
119
|
-
await builders.
|
|
120
|
-
await builders.
|
|
121
|
-
await builders.
|
|
139
|
+
await builders.tools(pkg, config, options);
|
|
140
|
+
await builders.interactions(pkg, config, options);
|
|
141
|
+
await builders.types(pkg, config, options);
|
|
142
|
+
await builders.processes(pkg, config, options);
|
|
143
|
+
await builders.views(pkg, config, options);
|
|
144
|
+
await builders.templates(pkg, config, options);
|
|
145
|
+
await builders.dashboards(pkg, config, options);
|
|
146
|
+
await builders.widgets(pkg, config, options);
|
|
147
|
+
await builders.ui(pkg, config, options);
|
|
148
|
+
await builders.settings(pkg, config, options);
|
|
149
|
+
await builders.activities(pkg, config, options);
|
|
122
150
|
}
|
|
123
151
|
else {
|
|
124
152
|
if (scopes.has('tools')) {
|
|
125
|
-
await builders.tools(pkg, config,
|
|
153
|
+
await builders.tools(pkg, config, options);
|
|
126
154
|
}
|
|
127
155
|
if (scopes.has('interactions')) {
|
|
128
|
-
await builders.interactions(pkg, config,
|
|
156
|
+
await builders.interactions(pkg, config, options);
|
|
129
157
|
}
|
|
130
158
|
if (scopes.has('types')) {
|
|
131
|
-
await builders.types(pkg, config,
|
|
159
|
+
await builders.types(pkg, config, options);
|
|
132
160
|
}
|
|
133
161
|
if (scopes.has('processes')) {
|
|
134
|
-
await builders.processes(pkg, config,
|
|
162
|
+
await builders.processes(pkg, config, options);
|
|
163
|
+
}
|
|
164
|
+
if (scopes.has('views')) {
|
|
165
|
+
await builders.views(pkg, config, options);
|
|
135
166
|
}
|
|
136
167
|
if (scopes.has('templates')) {
|
|
137
|
-
await builders.templates(pkg, config,
|
|
168
|
+
await builders.templates(pkg, config, options);
|
|
169
|
+
}
|
|
170
|
+
if (scopes.has('dashboards')) {
|
|
171
|
+
await builders.dashboards(pkg, config, options);
|
|
138
172
|
}
|
|
139
173
|
if (scopes.has('widgets')) {
|
|
140
|
-
await builders.widgets(pkg, config,
|
|
174
|
+
await builders.widgets(pkg, config, options);
|
|
141
175
|
}
|
|
142
176
|
if (scopes.has('ui')) {
|
|
143
|
-
await builders.ui(pkg, config,
|
|
177
|
+
await builders.ui(pkg, config, options);
|
|
144
178
|
}
|
|
145
179
|
if (scopes.has('settings')) {
|
|
146
|
-
await builders.settings(pkg, config,
|
|
180
|
+
await builders.settings(pkg, config, options);
|
|
147
181
|
}
|
|
148
182
|
if (scopes.has('activities')) {
|
|
149
|
-
await builders.activities(pkg, config,
|
|
183
|
+
await builders.activities(pkg, config, options);
|
|
150
184
|
}
|
|
151
185
|
}
|
|
186
|
+
return pkg;
|
|
187
|
+
}
|
|
188
|
+
async function handlePackageRequest(c, config) {
|
|
189
|
+
const pkg = await buildAppPackage(config, {
|
|
190
|
+
scope: c.req.query('scope') || 'all',
|
|
191
|
+
origin: new URL(c.req.url).origin,
|
|
192
|
+
toolUseContext: await getRequestPayload(c),
|
|
193
|
+
});
|
|
152
194
|
return c.json(pkg);
|
|
153
195
|
}
|
|
154
196
|
export function createPackageRoute(app, basePath, config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-package.js","sourceRoot":"","sources":["../../src/server/app-package.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app-package.js","sourceRoot":"","sources":["../../src/server/app-package.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-types.d.ts","sourceRoot":"","sources":["../../src/server/content-types.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAC;AAI1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"content-types.d.ts","sourceRoot":"","sources":["../../src/server/content-types.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAC;AAI1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,QAmF5F"}
|
|
@@ -4,12 +4,14 @@ import { HTTPException } from 'hono/http-exception';
|
|
|
4
4
|
import { toPathName } from '../utils.js';
|
|
5
5
|
export function createContentTypesRoute(app, basePath, config) {
|
|
6
6
|
const { types = [] } = config;
|
|
7
|
-
// GET /api/types - Returns all
|
|
7
|
+
// GET /api/types - Returns all content types from all collections.
|
|
8
|
+
// A type's public id is its declared BARE name, verbatim (`app:<app>:<type>` once
|
|
9
|
+
// app-prefixed): collections organize code, they are not part of the type identity.
|
|
8
10
|
app.get(basePath, (c) => {
|
|
9
11
|
const allTypes = [];
|
|
10
12
|
for (const coll of types) {
|
|
11
13
|
for (const type of coll.types) {
|
|
12
|
-
allTypes.push({ ...type, id:
|
|
14
|
+
allTypes.push({ ...type, id: type.name });
|
|
13
15
|
}
|
|
14
16
|
}
|
|
15
17
|
return c.json({
|
|
@@ -27,20 +29,48 @@ export function createContentTypesRoute(app, basePath, config) {
|
|
|
27
29
|
for (const coll of types) {
|
|
28
30
|
app.route(`${basePath}/${coll.name}`, createContentTypeEndpoints(coll));
|
|
29
31
|
}
|
|
30
|
-
// GET /api/types/:name - Direct access to content type
|
|
32
|
+
// GET /api/types/:name - Direct access to content type.
|
|
33
|
+
// Canonical form is the BARE type name (`<type>`), matching the portable
|
|
34
|
+
// `app:<app>:<type>` ref convention used by objects.create/search — the
|
|
35
|
+
// collection is an in-code grouping, not part of the type's public id.
|
|
36
|
+
// `<collection>:<type>` is also accepted as a backward-compatible alias.
|
|
31
37
|
app.get(`${basePath}/:name`, async (c) => {
|
|
32
38
|
const name = c.req.param('name');
|
|
33
39
|
const parts = name.split(':');
|
|
40
|
+
if (parts.length === 1) {
|
|
41
|
+
// Match the declared name verbatim; fall back to the toPathName variant for
|
|
42
|
+
// leniency with legacy refs that used the path-mangled form.
|
|
43
|
+
const matches = types.flatMap((coll) => coll.types
|
|
44
|
+
.filter((t) => t.name === name || toPathName(t.name) === name)
|
|
45
|
+
.map((t) => ({ coll, type: t })));
|
|
46
|
+
if (matches.length === 1) {
|
|
47
|
+
return c.json({ ...matches[0].type, id: matches[0].type.name });
|
|
48
|
+
}
|
|
49
|
+
if (matches.length > 1) {
|
|
50
|
+
const colls = matches.map((m) => m.coll.name).join(', ');
|
|
51
|
+
throw new HTTPException(409, {
|
|
52
|
+
message: `Ambiguous content type name '${name}': defined in collections ${colls}. ` +
|
|
53
|
+
'Type names must be unique across collections so the portable ' +
|
|
54
|
+
`'app:<app>:${name}' ref resolves; rename one of them, or address it as '<collection>:<type>'.`,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
throw new HTTPException(404, {
|
|
58
|
+
message: `No content type found with name: ${name}`,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
34
61
|
if (parts.length !== 2) {
|
|
35
62
|
throw new HTTPException(400, {
|
|
36
|
-
message: "Invalid content type name. Expected
|
|
63
|
+
message: "Invalid content type name. Expected '<type>' or 'collection:type'",
|
|
37
64
|
});
|
|
38
65
|
}
|
|
39
66
|
const collName = parts[0];
|
|
40
|
-
const typeName =
|
|
41
|
-
const ctype = types
|
|
67
|
+
const typeName = parts[1];
|
|
68
|
+
const ctype = types
|
|
69
|
+
.find((t) => t.name === collName)
|
|
70
|
+
?.types.find((t) => t.name === typeName || toPathName(t.name) === toPathName(typeName));
|
|
42
71
|
if (ctype) {
|
|
43
|
-
|
|
72
|
+
// Alias lookup still returns the canonical bare id.
|
|
73
|
+
return c.json({ ...ctype, id: ctype.name });
|
|
44
74
|
}
|
|
45
75
|
throw new HTTPException(404, {
|
|
46
76
|
message: `No content type found with name: ${name}`,
|
|
@@ -50,11 +80,11 @@ export function createContentTypesRoute(app, basePath, config) {
|
|
|
50
80
|
function createContentTypeEndpoints(coll) {
|
|
51
81
|
const endpoint = new Hono();
|
|
52
82
|
endpoint.get('/', (c) => {
|
|
53
|
-
return c.json(coll.types.map((t) => ({ ...t, id:
|
|
83
|
+
return c.json(coll.types.map((t) => ({ ...t, id: t.name })));
|
|
54
84
|
});
|
|
55
85
|
endpoint.get('/:name', (c) => {
|
|
56
86
|
const name = c.req.param('name');
|
|
57
|
-
const ctype = coll.types.find((t) => toPathName(t.name) === name);
|
|
87
|
+
const ctype = coll.types.find((t) => t.name === name || toPathName(t.name) === name);
|
|
58
88
|
if (!ctype) {
|
|
59
89
|
throw new HTTPException(404, {
|
|
60
90
|
message: `No content type found with name: ${name}`,
|
|
@@ -62,7 +92,7 @@ function createContentTypeEndpoints(coll) {
|
|
|
62
92
|
}
|
|
63
93
|
return c.json({
|
|
64
94
|
...ctype,
|
|
65
|
-
id:
|
|
95
|
+
id: ctype.name,
|
|
66
96
|
});
|
|
67
97
|
});
|
|
68
98
|
return endpoint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-types.js","sourceRoot":"","sources":["../../src/server/content-types.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAG/D,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,UAAU,uBAAuB,CAAC,GAAS,EAAE,QAAgB,EAAE,MAAwB;IACzF,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;IAE9B,
|
|
1
|
+
{"version":3,"file":"content-types.js","sourceRoot":"","sources":["../../src/server/content-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboards.d.ts","sourceRoot":"","sources":["../../src/server/dashboards.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,QAqB1F"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { HTTPException } from 'hono/http-exception';
|
|
2
|
+
export function createDashboardsRoute(app, basePath, config) {
|
|
3
|
+
const { dashboards = [] } = config;
|
|
4
|
+
app.get(basePath, (c) => {
|
|
5
|
+
return c.json({
|
|
6
|
+
title: 'All Dashboards',
|
|
7
|
+
description: 'All available dashboard definitions',
|
|
8
|
+
dashboards,
|
|
9
|
+
});
|
|
10
|
+
});
|
|
11
|
+
app.get(`${basePath}/:id`, (c) => {
|
|
12
|
+
const id = c.req.param('id');
|
|
13
|
+
const dashboard = findDashboard(dashboards, id);
|
|
14
|
+
if (!dashboard) {
|
|
15
|
+
throw new HTTPException(404, {
|
|
16
|
+
message: `No dashboard found with id: ${id}`,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
return c.json(dashboard);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function findDashboard(dashboards, id) {
|
|
23
|
+
return dashboards.find((dashboard) => dashboard.id === id || dashboard.name === id || dashboard.title === id);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=dashboards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboards.js","sourceRoot":"","sources":["../../src/server/dashboards.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,MAAM,UAAU,qBAAqB,CAAC,GAAS,EAAE,QAAgB,EAAE,MAAwB;IACvF,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;IAEnC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACpB,OAAO,CAAC,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,qCAAqC;YAClD,UAAU;SACb,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;QAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE;gBACzB,OAAO,EAAE,+BAA+B,EAAE,EAAE;aAC/C,CAAC,CAAC;QACP,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,aAAa,CAAC,UAAoC,EAAE,EAAU;IACnE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,SAAS,CAAC,IAAI,KAAK,EAAE,IAAI,SAAS,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;AAClH,CAAC"}
|
package/lib/server/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { JSONSchema } from '@llumiverse/common';
|
|
2
|
-
import type { AppUIConfig, InCodeProcessDefinition, ProjectConfiguration } from '@vertesia/common';
|
|
2
|
+
import type { AppDashboardDefinition, AppUIConfig, InCodeProcessDefinition, InCodeViewDefinition, ProjectConfiguration } from '@vertesia/common';
|
|
3
3
|
import type { Context } from 'hono';
|
|
4
4
|
import type { ActivityCollection } from '../ActivityCollection.js';
|
|
5
5
|
import type { AuthSession } from '../auth.js';
|
|
@@ -60,6 +60,14 @@ export interface ToolServerConfig {
|
|
|
60
60
|
* Process definitions to expose as app-contributed processes.
|
|
61
61
|
*/
|
|
62
62
|
processes?: InCodeProcessDefinition[];
|
|
63
|
+
/**
|
|
64
|
+
* Dashboard definitions to expose as app-contributed dashboards.
|
|
65
|
+
*/
|
|
66
|
+
dashboards?: AppDashboardDefinition[];
|
|
67
|
+
/**
|
|
68
|
+
* View Experiences to expose as app-contributed in-code definitions.
|
|
69
|
+
*/
|
|
70
|
+
views?: InCodeViewDefinition[];
|
|
63
71
|
/**
|
|
64
72
|
* Skill collections to expose
|
|
65
73
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EACR,sBAAsB,EACtB,WAAW,EACX,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,OAAO;IACxC,iCAAiC;IACjC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACjH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB;;OAEG;IACH,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC;;OAEG;IACH,YAAY,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACvC;;OAEG;IACH,KAAK,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACjC;;OAEG;IACH,SAAS,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACtC;;OAEG;IACH,UAAU,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACtC;;OAEG;IACH,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC/B;;OAEG;IACH,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B;;OAEG;IACH,SAAS,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAC1C;;OAEG;IACH,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC;IAEvB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,aAAa,EAAE,oBAAoB,KAAK,OAAO,CAAC;CACjE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/server/views.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,QAqBrF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { HTTPException } from 'hono/http-exception';
|
|
2
|
+
export function createViewsRoute(app, basePath, config) {
|
|
3
|
+
const { views = [] } = config;
|
|
4
|
+
app.get(basePath, (c) => {
|
|
5
|
+
return c.json({
|
|
6
|
+
title: 'All Views',
|
|
7
|
+
description: 'All available View Experience definitions',
|
|
8
|
+
views,
|
|
9
|
+
});
|
|
10
|
+
});
|
|
11
|
+
app.get(`${basePath}/:name`, (c) => {
|
|
12
|
+
const name = c.req.param('name');
|
|
13
|
+
const view = findView(views, name);
|
|
14
|
+
if (!view) {
|
|
15
|
+
throw new HTTPException(404, {
|
|
16
|
+
message: `No View found with name: ${name}`,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
return c.json(view);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function findView(views, name) {
|
|
23
|
+
return views.find((view) => view.id === name || view.name === name);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=views.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"views.js","sourceRoot":"","sources":["../../src/server/views.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,MAAM,UAAU,gBAAgB,CAAC,GAAS,EAAE,QAAgB,EAAE,MAAwB;IAClF,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;IAE9B,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACpB,OAAO,CAAC,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,2CAA2C;YACxD,KAAK;SACR,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE;gBACzB,OAAO,EAAE,4BAA4B,IAAI,EAAE;aAC9C,CAAC,CAAC;QACP,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,QAAQ,CAAC,KAA6B,EAAE,IAAY;IACzD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACxE,CAAC"}
|
package/lib/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAe1C,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAevE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAqH/D;AAID;;;;GAIG;AACH,wBAAgB,eAAe,CAC3B,MAAM,EAAE,gBAAgB,GAAG;IACvB,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;CAC5F,GACF,IAAI,CAQN"}
|
package/lib/server.js
CHANGED
|
@@ -5,6 +5,7 @@ import { z } from 'zod';
|
|
|
5
5
|
import { createActivitiesRoute } from './server/activities.js';
|
|
6
6
|
import { createPackageRoute } from './server/app-package.js';
|
|
7
7
|
import { createContentTypesRoute } from './server/content-types.js';
|
|
8
|
+
import { createDashboardsRoute } from './server/dashboards.js';
|
|
8
9
|
import { createInteractionsRoute } from './server/interactions.js';
|
|
9
10
|
import { createMcpRoute } from './server/mcp.js';
|
|
10
11
|
import { createProcessesRoute } from './server/processes.js';
|
|
@@ -12,6 +13,7 @@ import { createSiteRoute } from './server/site.js';
|
|
|
12
13
|
import { createSkillsRoute } from './server/skills.js';
|
|
13
14
|
import { createTemplatesRoute } from './server/templates.js';
|
|
14
15
|
import { createToolsRoute } from './server/tools.js';
|
|
16
|
+
import { createViewsRoute } from './server/views.js';
|
|
15
17
|
import { createWidgetsRoute } from './server/widgets.js';
|
|
16
18
|
// Schema for tool execution payload
|
|
17
19
|
const ToolExecutionPayloadSchema = z.object({
|
|
@@ -38,7 +40,7 @@ const ToolExecutionPayloadSchema = z.object({
|
|
|
38
40
|
* ```
|
|
39
41
|
*/
|
|
40
42
|
export function createToolServer(config) {
|
|
41
|
-
const { prefix = '/api', tools = [], interactions = [], skills = [], templates = [], activities = [], mcpProviders = [], disableHtml = false, } = config;
|
|
43
|
+
const { prefix = '/api', tools = [], interactions = [], skills = [], templates = [], activities = [], dashboards = [], mcpProviders = [], disableHtml = false, } = config;
|
|
42
44
|
const app = new Hono();
|
|
43
45
|
// Add CORS middleware globally
|
|
44
46
|
app.use('*', cors({ origin: '*', allowMethods: ['GET', 'POST', 'OPTIONS'] }));
|
|
@@ -83,6 +85,8 @@ export function createToolServer(config) {
|
|
|
83
85
|
interactions: interactions.map((col) => `${prefix}/interactions/${col.name}`),
|
|
84
86
|
templates: templates.map((col) => `${prefix}/templates/${col.name}`),
|
|
85
87
|
processes: `${prefix}/processes`,
|
|
88
|
+
dashboards: dashboards.length > 0 ? `${prefix}/dashboards` : undefined,
|
|
89
|
+
views: `${prefix}/views`,
|
|
86
90
|
activities: activities.map((col) => `${prefix}/activities/${col.name}`),
|
|
87
91
|
mcp: mcpProviders.map((p) => `${prefix}/mcp/${p.name}`),
|
|
88
92
|
},
|
|
@@ -97,6 +101,8 @@ export function createToolServer(config) {
|
|
|
97
101
|
createTemplatesRoute(app, `${prefix}/templates`, config);
|
|
98
102
|
createContentTypesRoute(app, `${prefix}/types`, config);
|
|
99
103
|
createProcessesRoute(app, `${prefix}/processes`, config);
|
|
104
|
+
createDashboardsRoute(app, `${prefix}/dashboards`, config);
|
|
105
|
+
createViewsRoute(app, `${prefix}/views`, config);
|
|
100
106
|
createMcpRoute(app, `${prefix}/mcp`, config);
|
|
101
107
|
// Global error handler - returns ToolExecutionResponseError format
|
|
102
108
|
app.onError((err, c) => {
|
package/lib/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vertesia/tools-sdk",
|
|
3
|
-
"version": "1.5.0-dev.
|
|
3
|
+
"version": "1.5.0-dev.20260722.120446Z",
|
|
4
4
|
"description": "Tools SDK - utilities for building remote tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -17,20 +17,20 @@
|
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
|
-
"@types/node": "^24.13.
|
|
20
|
+
"@types/node": "^24.13.3",
|
|
21
21
|
"typescript": "^6.0.3",
|
|
22
|
-
"vitest": "^4.1.
|
|
22
|
+
"vitest": "^4.1.10",
|
|
23
23
|
"@vertesia/tsconfig": "0.1.0"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
|
-
"hono": "^4.12.
|
|
26
|
+
"hono": "^4.12.30"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"jose": "^6.2.3",
|
|
30
30
|
"zod": "^4.4.3",
|
|
31
|
-
"@llumiverse/common": "1.5.0-dev.
|
|
32
|
-
"@vertesia/
|
|
33
|
-
"@vertesia/
|
|
31
|
+
"@llumiverse/common": "1.5.0-dev.20260722.112223Z",
|
|
32
|
+
"@vertesia/client": "1.5.0-dev.20260722.120446Z",
|
|
33
|
+
"@vertesia/common": "1.5.0-dev.20260722.120446Z"
|
|
34
34
|
},
|
|
35
35
|
"repository": {
|
|
36
36
|
"type": "git",
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"agents",
|
|
47
47
|
"typescript"
|
|
48
48
|
],
|
|
49
|
+
"gitHead": "203c30e5a8ddc583ac9f1acce0f5445eb38a9551",
|
|
49
50
|
"scripts": {
|
|
50
51
|
"lint": "biome lint src",
|
|
51
52
|
"test": "vitest run",
|