@objectstack/service-ai 4.0.3 → 4.0.4
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/.turbo/turbo-build.log +8 -8
- package/CHANGELOG.md +8 -0
- package/README.md +293 -0
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/ai-service.test.ts +17 -0
- package/src/plugin.ts +2 -2
- package/vitest.config.ts +23 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@objectstack/service-ai",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.4",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "AI Service for ObjectStack — implements IAIService with LLM adapter layer, conversation management, tool registry, and REST/SSE routes",
|
|
6
6
|
"type": "module",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@ai-sdk/provider": "^3.0.8",
|
|
18
18
|
"ai": "^6.0.158",
|
|
19
|
-
"@objectstack/core": "4.0.
|
|
20
|
-
"@objectstack/spec": "4.0.
|
|
19
|
+
"@objectstack/core": "4.0.4",
|
|
20
|
+
"@objectstack/spec": "4.0.4"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
23
|
"@ai-sdk/anthropic": "^3.0.0",
|
|
@@ -818,6 +818,23 @@ describe('AIServicePlugin', () => {
|
|
|
818
818
|
expect(ctx.replaceService).toHaveBeenCalledWith('ai', expect.any(Object));
|
|
819
819
|
});
|
|
820
820
|
|
|
821
|
+
it('should contribute Setup navigation labels as plain strings', async () => {
|
|
822
|
+
const plugin = new AIServicePlugin();
|
|
823
|
+
const ctx = createMockContext();
|
|
824
|
+
const contribute = vi.fn();
|
|
825
|
+
ctx.registerService('setupNav', { contribute });
|
|
826
|
+
|
|
827
|
+
await plugin.init(ctx);
|
|
828
|
+
|
|
829
|
+
expect(contribute).toHaveBeenCalledWith({
|
|
830
|
+
areaId: 'area_ai',
|
|
831
|
+
items: [
|
|
832
|
+
expect.objectContaining({ id: 'nav_ai_conversations', label: 'Conversations' }),
|
|
833
|
+
expect.objectContaining({ id: 'nav_ai_messages', label: 'Messages' }),
|
|
834
|
+
],
|
|
835
|
+
});
|
|
836
|
+
});
|
|
837
|
+
|
|
821
838
|
it('should clean up on destroy', async () => {
|
|
822
839
|
const plugin = new AIServicePlugin();
|
|
823
840
|
const ctx = createMockContext();
|
package/src/plugin.ts
CHANGED
|
@@ -231,8 +231,8 @@ export class AIServicePlugin implements Plugin {
|
|
|
231
231
|
setupNav.contribute({
|
|
232
232
|
areaId: 'area_ai',
|
|
233
233
|
items: [
|
|
234
|
-
{ id: 'nav_ai_conversations', type: 'object', label:
|
|
235
|
-
{ id: 'nav_ai_messages', type: 'object', label:
|
|
234
|
+
{ id: 'nav_ai_conversations', type: 'object', label: 'Conversations', objectName: 'conversations', icon: 'message-square', order: 10 },
|
|
235
|
+
{ id: 'nav_ai_messages', type: 'object', label: 'Messages', objectName: 'messages', icon: 'messages-square', order: 20 },
|
|
236
236
|
],
|
|
237
237
|
});
|
|
238
238
|
ctx.logger.info('[AI] Navigation items contributed to Setup App');
|
package/vitest.config.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.
|
|
2
|
+
|
|
3
|
+
import { defineConfig } from 'vitest/config';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
|
|
6
|
+
export default defineConfig({
|
|
7
|
+
test: {
|
|
8
|
+
globals: true,
|
|
9
|
+
environment: 'node',
|
|
10
|
+
},
|
|
11
|
+
resolve: {
|
|
12
|
+
alias: {
|
|
13
|
+
'@objectstack/core': path.resolve(__dirname, '../../core/src/index.ts'),
|
|
14
|
+
'@objectstack/spec/ai': path.resolve(__dirname, '../../spec/src/ai/index.ts'),
|
|
15
|
+
'@objectstack/spec/api': path.resolve(__dirname, '../../spec/src/api/index.ts'),
|
|
16
|
+
'@objectstack/spec/contracts': path.resolve(__dirname, '../../spec/src/contracts/index.ts'),
|
|
17
|
+
'@objectstack/spec/data': path.resolve(__dirname, '../../spec/src/data/index.ts'),
|
|
18
|
+
'@objectstack/spec/kernel': path.resolve(__dirname, '../../spec/src/kernel/index.ts'),
|
|
19
|
+
'@objectstack/spec/system': path.resolve(__dirname, '../../spec/src/system/index.ts'),
|
|
20
|
+
'@objectstack/spec': path.resolve(__dirname, '../../spec/src/index.ts'),
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
});
|