@kmlckj/licos-ai-cli 1.1.29 → 1.1.30

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.
@@ -5,7 +5,7 @@ description = "LICOS LangGraph agent project"
5
5
  requires-python = ">=3.12"
6
6
  dependencies = [
7
7
  "licos-agent-runtime>=0.2.28",
8
- "licos-dev-sdk>=0.2.18",
8
+ "licos-dev-sdk>=0.2.19",
9
9
  ]
10
10
 
11
11
  [tool.uv]
@@ -266,8 +266,8 @@ importers:
266
266
  server:
267
267
  dependencies:
268
268
  '@kmlckj/licos-dev-sdk':
269
- specifier: 0.2.15
270
- version: 0.2.15
269
+ specifier: 0.2.16
270
+ version: 0.2.16
271
271
  '@kmlckj/licos-platform-sdk':
272
272
  specifier: 0.10.3
273
273
  version: 0.10.3
@@ -1324,8 +1324,8 @@ packages:
1324
1324
  '@jridgewell/trace-mapping@0.3.31':
1325
1325
  resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
1326
1326
 
1327
- '@kmlckj/licos-dev-sdk@0.2.15':
1328
- resolution: {integrity: sha512-lrIa+onEVMDkXiMhtYgK01n5nrkKNC1gokABcuHvuurgu8CHmaAD9aZdoKTf/qSSYbhg0EYWIQ0ldO996kKlPw==}
1327
+ '@kmlckj/licos-dev-sdk@0.2.16':
1328
+ resolution: {integrity: sha512-F2nJH0ODLaNCyujaDflFm5iBL4YxJxnnWKC6Rvy6MXF8Z01yhvq1q0EUveF1LYzeaQH3yl6j1W50Gp8nBdSoRQ==}
1329
1329
  engines: {node: '>=18'}
1330
1330
 
1331
1331
  '@kmlckj/licos-platform-sdk@0.10.3':
@@ -7493,7 +7493,7 @@ snapshots:
7493
7493
  '@jridgewell/resolve-uri': 3.1.2
7494
7494
  '@jridgewell/sourcemap-codec': 1.5.5
7495
7495
 
7496
- '@kmlckj/licos-dev-sdk@0.2.15': {}
7496
+ '@kmlckj/licos-dev-sdk@0.2.16': {}
7497
7497
 
7498
7498
  '@kmlckj/licos-platform-sdk@0.10.3':
7499
7499
  dependencies:
@@ -10,7 +10,7 @@
10
10
  "lint": "tsc --noEmit"
11
11
  },
12
12
  "dependencies": {
13
- "@kmlckj/licos-dev-sdk": "0.2.15",
13
+ "@kmlckj/licos-dev-sdk": "0.2.16",
14
14
  "@kmlckj/licos-platform-sdk": "0.10.3",
15
15
  "cors": "^2.8.5",
16
16
  "dayjs": "^1.11.19",
@@ -14,7 +14,7 @@
14
14
  "ts-check": "tsc -p tsconfig.json"
15
15
  },
16
16
  "dependencies": {
17
- "@kmlckj/licos-dev-sdk": "0.2.15",
17
+ "@kmlckj/licos-dev-sdk": "0.2.16",
18
18
  "@kmlckj/licos-platform-sdk": "0.10.3",
19
19
  "@aws-sdk/client-s3": "^3.958.0",
20
20
  "@aws-sdk/lib-storage": "^3.958.0",
@@ -18,8 +18,8 @@ importers:
18
18
  specifier: ^5.2.2
19
19
  version: 5.4.0(react-hook-form@7.77.0(react@19.2.3))
20
20
  '@kmlckj/licos-dev-sdk':
21
- specifier: 0.2.15
22
- version: 0.2.15
21
+ specifier: 0.2.16
22
+ version: 0.2.16
23
23
  '@kmlckj/licos-platform-sdk':
24
24
  specifier: 0.10.3
25
25
  version: 0.10.3
@@ -1380,8 +1380,8 @@ packages:
1380
1380
  '@jridgewell/trace-mapping@0.3.31':
1381
1381
  resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
1382
1382
 
1383
- '@kmlckj/licos-dev-sdk@0.2.15':
1384
- resolution: {integrity: sha512-lrIa+onEVMDkXiMhtYgK01n5nrkKNC1gokABcuHvuurgu8CHmaAD9aZdoKTf/qSSYbhg0EYWIQ0ldO996kKlPw==}
1383
+ '@kmlckj/licos-dev-sdk@0.2.16':
1384
+ resolution: {integrity: sha512-F2nJH0ODLaNCyujaDflFm5iBL4YxJxnnWKC6Rvy6MXF8Z01yhvq1q0EUveF1LYzeaQH3yl6j1W50Gp8nBdSoRQ==}
1385
1385
  engines: {node: '>=18'}
1386
1386
 
1387
1387
  '@kmlckj/licos-platform-sdk@0.10.3':
@@ -6707,7 +6707,7 @@ snapshots:
6707
6707
  '@jridgewell/resolve-uri': 3.1.2
6708
6708
  '@jridgewell/sourcemap-codec': 1.5.5
6709
6709
 
6710
- '@kmlckj/licos-dev-sdk@0.2.15': {}
6710
+ '@kmlckj/licos-dev-sdk@0.2.16': {}
6711
6711
 
6712
6712
  '@kmlckj/licos-platform-sdk@0.10.3':
6713
6713
  dependencies:
@@ -1,181 +1,181 @@
1
- // https://nuxt.com/docs/api/configuration/nuxt-config
2
- import { fileURLToPath } from 'url';
3
- import { dirname, resolve } from 'path';
4
-
5
- const __filename = fileURLToPath(import.meta.url);
6
- const __dirname = dirname(__filename);
7
-
8
- function normalizeBaseURL(value?: string): string {
9
- const trimmed = value?.trim();
10
- if (!trimmed || trimmed === '/') return '/';
11
- return `/${trimmed.replace(/^\/+|\/+$/g, '')}/`;
12
- }
13
-
14
- function parsePort(value?: string): number | undefined {
15
- const port = Number.parseInt(value || '', 10);
16
- return Number.isInteger(port) && port > 0 ? port : undefined;
17
- }
18
-
19
- function createPreviewHmrConfig() {
20
- if (!process.env.LICOS_PREVIEW_BASE_PATH) {
21
- return undefined;
22
- }
23
- const hmr: Record<string, unknown> = {
24
- overlay: true,
25
- path: process.env.LICOS_PREVIEW_HMR_PATH || '/hot/vite-hmr',
26
- timeout: 30000,
27
- };
28
- if (process.env.LICOS_PREVIEW_HMR_HOST) {
29
- hmr.host = process.env.LICOS_PREVIEW_HMR_HOST;
30
- }
31
- if (process.env.LICOS_PREVIEW_HMR_PROTOCOL) {
32
- hmr.protocol = process.env.LICOS_PREVIEW_HMR_PROTOCOL;
33
- }
34
- const clientPort = parsePort(process.env.LICOS_PREVIEW_HMR_CLIENT_PORT);
35
- if (clientPort) {
36
- hmr.clientPort = clientPort;
37
- }
38
- return hmr;
39
- }
40
-
41
- function isProdProjectEnv(value?: string): boolean {
42
- const normalized = value?.trim().toLowerCase();
43
- return normalized === 'prod' || normalized === 'production' || normalized === 'release';
44
- }
45
-
46
- const isProd = isProdProjectEnv(process.env.LICOS_PROJECT_ENV);
47
- const deployBaseURL = process.env.NUXT_PUBLIC_BASE_URL || process.env.BASE_PATH;
48
- const shouldUseBaseURL = Boolean(deployBaseURL) || isProd;
49
-
50
- const publicBaseURL = shouldUseBaseURL ? normalizeBaseURL(deployBaseURL) : '/';
51
- const publicAssetCdnURL = publicBaseURL === '/' ? '' : publicBaseURL.replace(/\/$/, '');
52
- const previewHmrConfig = createPreviewHmrConfig();
53
-
54
- export default defineNuxtConfig({
55
- compatibilityDate: '2025-07-15',
56
- // Disable devtools in CI/test environments (prevents hanging in headless mode)
57
- devtools: {
58
- enabled: process.env.CI !== 'true' && !isProd,
59
- },
60
- telemetry: false,
61
-
62
- // App head configuration
63
- app: {
64
- // The cluster ingress rewrites /p/{projectId}/... to backend /...
65
- // Keep Nuxt's server asset route at /_nuxt and prefix browser URLs via cdnURL.
66
- baseURL: '/',
67
- buildAssetsDir: '/_nuxt/',
68
- cdnURL: publicAssetCdnURL,
69
- head: {
70
- title: '新应用 | LICOS AI',
71
- titleTemplate: '%s | LICOS AI',
72
- meta: [
73
- { charset: 'utf-8' },
74
- { name: 'viewport', content: 'width=device-width, initial-scale=1' },
75
- {
76
- name: 'description',
77
- content:
78
- 'LICOS AI是一款一站式云端 Vibe Coding 开发平台。通过对话轻松构建智能体、工作流和网站,实现从创意到上线的无缝衔接。',
79
- },
80
- {
81
- name: 'keywords',
82
- content:
83
- 'LICOS AI,LICOS AI,Vibe Coding,AI 编程,智能体搭建,工作流搭建,网站搭建,网站部署,全栈开发,AI 工程师',
84
- },
85
- { name: 'author', content: 'LICOS Team' },
86
- { name: 'generator', content: 'LICOS AI' },
87
- // Open Graph
88
- { property: 'og:title', content: 'LICOS AI | 你的 AI 工程师已就位' },
89
- {
90
- property: 'og:description',
91
- content:
92
- '我正在使用LICOS AI Vibe Coding,让创意瞬间上线。告别拖拽,拥抱心流。',
93
- },
94
- { property: 'og:url', content: 'https://licos.ai' },
95
- { property: 'og:site_name', content: 'LICOS AI' },
96
- { property: 'og:locale', content: 'zh_CN' },
97
- { property: 'og:type', content: 'website' },
98
- // Robots
99
- { name: 'robots', content: 'index, follow' },
100
- ],
101
- link: [{ rel: 'canonical', href: 'https://licos.ai' }],
102
- htmlAttrs: {
103
- lang: 'zh-CN',
104
- },
105
- },
106
- },
107
-
108
- // Nuxt modules
109
- modules: ['@nuxt/image', '@nuxtjs/tailwindcss'],
110
-
111
- // Global CSS
112
- css: [resolve(__dirname, 'assets/css/main.css')],
113
-
114
- runtimeConfig: {
115
- public: {
116
- baseURL: publicBaseURL,
117
- },
118
- },
119
-
120
- // Development server configuration
121
- devServer: {
122
- port: parseInt(process.env.PORT || '<%= port %>', 10),
123
- host: process.env.HOST || '0.0.0.0',
124
- },
125
-
126
- // TypeScript configuration
127
- typescript: {
128
- strict: false,
129
- typeCheck: false,
130
- },
131
-
132
- // Vite configuration (similar to Next.js allowedDevOrigins)
1
+ // https://nuxt.com/docs/api/configuration/nuxt-config
2
+ import { fileURLToPath } from 'url';
3
+ import { dirname, resolve } from 'path';
4
+
5
+ const __filename = fileURLToPath(import.meta.url);
6
+ const __dirname = dirname(__filename);
7
+
8
+ function normalizeBaseURL(value?: string): string {
9
+ const trimmed = value?.trim();
10
+ if (!trimmed || trimmed === '/') return '/';
11
+ return `/${trimmed.replace(/^\/+|\/+$/g, '')}/`;
12
+ }
13
+
14
+ function parsePort(value?: string): number | undefined {
15
+ const port = Number.parseInt(value || '', 10);
16
+ return Number.isInteger(port) && port > 0 ? port : undefined;
17
+ }
18
+
19
+ function createPreviewHmrConfig() {
20
+ if (!process.env.LICOS_PREVIEW_BASE_PATH) {
21
+ return undefined;
22
+ }
23
+ const hmr: Record<string, unknown> = {
24
+ overlay: true,
25
+ path: process.env.LICOS_PREVIEW_HMR_PATH || '/hot/vite-hmr',
26
+ timeout: 30000,
27
+ };
28
+ if (process.env.LICOS_PREVIEW_HMR_HOST) {
29
+ hmr.host = process.env.LICOS_PREVIEW_HMR_HOST;
30
+ }
31
+ if (process.env.LICOS_PREVIEW_HMR_PROTOCOL) {
32
+ hmr.protocol = process.env.LICOS_PREVIEW_HMR_PROTOCOL;
33
+ }
34
+ const clientPort = parsePort(process.env.LICOS_PREVIEW_HMR_CLIENT_PORT);
35
+ if (clientPort) {
36
+ hmr.clientPort = clientPort;
37
+ }
38
+ return hmr;
39
+ }
40
+
41
+ function isProdProjectEnv(value?: string): boolean {
42
+ const normalized = value?.trim().toLowerCase();
43
+ return normalized === 'prod' || normalized === 'production' || normalized === 'release';
44
+ }
45
+
46
+ const isProd = isProdProjectEnv(process.env.LICOS_PROJECT_ENV);
47
+ const deployBaseURL = process.env.NUXT_PUBLIC_BASE_URL || process.env.BASE_PATH;
48
+ const shouldUseBaseURL = Boolean(deployBaseURL) || isProd;
49
+
50
+ const publicBaseURL = shouldUseBaseURL ? normalizeBaseURL(deployBaseURL) : '/';
51
+ const publicAssetCdnURL = publicBaseURL === '/' ? '' : publicBaseURL.replace(/\/$/, '');
52
+ const previewHmrConfig = createPreviewHmrConfig();
53
+
54
+ export default defineNuxtConfig({
55
+ compatibilityDate: '2025-07-15',
56
+ // Disable devtools in CI/test environments (prevents hanging in headless mode)
57
+ devtools: {
58
+ enabled: process.env.CI !== 'true' && !isProd,
59
+ },
60
+ telemetry: false,
61
+
62
+ // App head configuration
63
+ app: {
64
+ // The cluster ingress rewrites /p/{projectId}/... to backend /...
65
+ // Keep Nuxt's server asset route at /_nuxt and prefix browser URLs via cdnURL.
66
+ baseURL: '/',
67
+ buildAssetsDir: '/_nuxt/',
68
+ cdnURL: publicAssetCdnURL,
69
+ head: {
70
+ title: '新应用 | LICOS AI',
71
+ titleTemplate: '%s | LICOS AI',
72
+ meta: [
73
+ { charset: 'utf-8' },
74
+ { name: 'viewport', content: 'width=device-width, initial-scale=1' },
75
+ {
76
+ name: 'description',
77
+ content:
78
+ 'LICOS AI是一款一站式云端 Vibe Coding 开发平台。通过对话轻松构建智能体、工作流和网站,实现从创意到上线的无缝衔接。',
79
+ },
80
+ {
81
+ name: 'keywords',
82
+ content:
83
+ 'LICOS AI,LICOS AI,Vibe Coding,AI 编程,智能体搭建,工作流搭建,网站搭建,网站部署,全栈开发,AI 工程师',
84
+ },
85
+ { name: 'author', content: 'LICOS Team' },
86
+ { name: 'generator', content: 'LICOS AI' },
87
+ // Open Graph
88
+ { property: 'og:title', content: 'LICOS AI | 你的 AI 工程师已就位' },
89
+ {
90
+ property: 'og:description',
91
+ content:
92
+ '我正在使用LICOS AI Vibe Coding,让创意瞬间上线。告别拖拽,拥抱心流。',
93
+ },
94
+ { property: 'og:url', content: 'https://licos.ai' },
95
+ { property: 'og:site_name', content: 'LICOS AI' },
96
+ { property: 'og:locale', content: 'zh_CN' },
97
+ { property: 'og:type', content: 'website' },
98
+ // Robots
99
+ { name: 'robots', content: 'index, follow' },
100
+ ],
101
+ link: [{ rel: 'canonical', href: 'https://licos.ai' }],
102
+ htmlAttrs: {
103
+ lang: 'zh-CN',
104
+ },
105
+ },
106
+ },
107
+
108
+ // Nuxt modules
109
+ modules: ['@nuxt/image', '@nuxtjs/tailwindcss'],
110
+
111
+ // Global CSS
112
+ css: [resolve(__dirname, 'assets/css/main.css')],
113
+
114
+ runtimeConfig: {
115
+ public: {
116
+ baseURL: publicBaseURL,
117
+ },
118
+ },
119
+
120
+ // Development server configuration
121
+ devServer: {
122
+ port: parseInt(process.env.PORT || '<%= port %>', 10),
123
+ host: process.env.HOST || '0.0.0.0',
124
+ },
125
+
126
+ // TypeScript configuration
127
+ typescript: {
128
+ strict: false,
129
+ typeCheck: false,
130
+ },
131
+
132
+ // Vite configuration (similar to Next.js allowedDevOrigins)
133
133
  vite: {
134
134
  server: {
135
135
  host: '0.0.0.0',
136
136
  strictPort: true,
137
137
  cors: {
138
- origin: ['*.dev.licos.local'],
139
- credentials: true,
140
- },
141
- hmr: previewHmrConfig || {
142
- overlay: true,
143
- path: '/hot/vite-hmr',
144
- port: parseInt(process.env.HMR_PORT || '<%= hmrPort %>', 10),
145
- clientPort: 443,
146
- timeout: 30000,
147
- },
148
- // Fix EMFILE: too many open files error
149
- // Exclude large directories from file watching to avoid exceeding system limits
150
- watch: {
151
- ignored: [
152
- '**/node_modules/**',
153
- '**/.nuxt/**',
154
- '**/.output/**',
155
- '**/dist/**',
156
- '**/.git/**',
157
- '**/coverage/**',
158
- '**/.cache/**',
159
- ],
160
- },
161
- },
162
- },
163
-
164
- // Security headers (Content Security Policy)
165
- nitro: {
166
- publicAssets: [
167
- {
168
- baseURL: '/assets',
169
- dir: resolve(__dirname, 'assets'),
170
- },
171
- ],
172
- routeRules: {
173
- '/**': {
174
- headers: {
175
- 'Content-Security-Policy':
176
- "img-src 'self' data:;",
177
- },
178
- },
179
- },
180
- },
181
- });
138
+ origin: ['*.dev.licos.local'],
139
+ credentials: true,
140
+ },
141
+ hmr: previewHmrConfig || {
142
+ overlay: true,
143
+ path: '/hot/vite-hmr',
144
+ port: parseInt(process.env.HMR_PORT || '<%= hmrPort %>', 10),
145
+ clientPort: 443,
146
+ timeout: 30000,
147
+ },
148
+ // Fix EMFILE: too many open files error
149
+ // Exclude large directories from file watching to avoid exceeding system limits
150
+ watch: {
151
+ ignored: [
152
+ '**/node_modules/**',
153
+ '**/.nuxt/**',
154
+ '**/.output/**',
155
+ '**/dist/**',
156
+ '**/.git/**',
157
+ '**/coverage/**',
158
+ '**/.cache/**',
159
+ ],
160
+ },
161
+ },
162
+ },
163
+
164
+ // Security headers (Content Security Policy)
165
+ nitro: {
166
+ publicAssets: [
167
+ {
168
+ baseURL: '/assets',
169
+ dir: resolve(__dirname, 'assets'),
170
+ },
171
+ ],
172
+ routeRules: {
173
+ '/**': {
174
+ headers: {
175
+ 'Content-Security-Policy':
176
+ "img-src 'self' data:;",
177
+ },
178
+ },
179
+ },
180
+ },
181
+ });
@@ -17,7 +17,7 @@
17
17
  "start": "bash ./scripts/start.sh"
18
18
  },
19
19
  "dependencies": {
20
- "@kmlckj/licos-dev-sdk": "0.2.15",
20
+ "@kmlckj/licos-dev-sdk": "0.2.16",
21
21
  "@kmlckj/licos-platform-sdk": "0.10.3",
22
22
  "@nuxt/image": "2.0.0",
23
23
  "nuxt": "4.3.1",
@@ -13,8 +13,8 @@ importers:
13
13
  .:
14
14
  dependencies:
15
15
  '@kmlckj/licos-dev-sdk':
16
- specifier: 0.2.15
17
- version: 0.2.15
16
+ specifier: 0.2.16
17
+ version: 0.2.16
18
18
  '@kmlckj/licos-platform-sdk':
19
19
  specifier: 0.10.3
20
20
  version: 0.10.3
@@ -731,8 +731,8 @@ packages:
731
731
  '@jridgewell/trace-mapping@0.3.31':
732
732
  resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
733
733
 
734
- '@kmlckj/licos-dev-sdk@0.2.15':
735
- resolution: {integrity: sha512-lrIa+onEVMDkXiMhtYgK01n5nrkKNC1gokABcuHvuurgu8CHmaAD9aZdoKTf/qSSYbhg0EYWIQ0ldO996kKlPw==}
734
+ '@kmlckj/licos-dev-sdk@0.2.16':
735
+ resolution: {integrity: sha512-F2nJH0ODLaNCyujaDflFm5iBL4YxJxnnWKC6Rvy6MXF8Z01yhvq1q0EUveF1LYzeaQH3yl6j1W50Gp8nBdSoRQ==}
736
736
  engines: {node: '>=18'}
737
737
 
738
738
  '@kmlckj/licos-platform-sdk@0.10.3':
@@ -4741,7 +4741,7 @@ snapshots:
4741
4741
  '@jridgewell/resolve-uri': 3.1.2
4742
4742
  '@jridgewell/sourcemap-codec': 1.5.5
4743
4743
 
4744
- '@kmlckj/licos-dev-sdk@0.2.15': {}
4744
+ '@kmlckj/licos-dev-sdk@0.2.16': {}
4745
4745
 
4746
4746
  '@kmlckj/licos-platform-sdk@0.10.3':
4747
4747
  dependencies:
@@ -186,8 +186,8 @@ importers:
186
186
  server:
187
187
  dependencies:
188
188
  '@kmlckj/licos-dev-sdk':
189
- specifier: 0.2.15
190
- version: 0.2.15
189
+ specifier: 0.2.16
190
+ version: 0.2.16
191
191
  '@kmlckj/licos-platform-sdk':
192
192
  specifier: 0.10.3
193
193
  version: 0.10.3
@@ -2595,8 +2595,8 @@ packages:
2595
2595
  '@keyv/serialize@1.1.1':
2596
2596
  resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==}
2597
2597
 
2598
- '@kmlckj/licos-dev-sdk@0.2.15':
2599
- resolution: {integrity: sha512-lrIa+onEVMDkXiMhtYgK01n5nrkKNC1gokABcuHvuurgu8CHmaAD9aZdoKTf/qSSYbhg0EYWIQ0ldO996kKlPw==}
2598
+ '@kmlckj/licos-dev-sdk@0.2.16':
2599
+ resolution: {integrity: sha512-F2nJH0ODLaNCyujaDflFm5iBL4YxJxnnWKC6Rvy6MXF8Z01yhvq1q0EUveF1LYzeaQH3yl6j1W50Gp8nBdSoRQ==}
2600
2600
  engines: {node: '>=18'}
2601
2601
 
2602
2602
  '@kmlckj/licos-platform-sdk@0.10.3':
@@ -12400,7 +12400,7 @@ snapshots:
12400
12400
 
12401
12401
  '@keyv/serialize@1.1.1': {}
12402
12402
 
12403
- '@kmlckj/licos-dev-sdk@0.2.15': {}
12403
+ '@kmlckj/licos-dev-sdk@0.2.16': {}
12404
12404
 
12405
12405
  '@kmlckj/licos-platform-sdk@0.10.3':
12406
12406
  dependencies:
@@ -11,7 +11,7 @@
11
11
  "start:prod": "node dist/main"
12
12
  },
13
13
  "dependencies": {
14
- "@kmlckj/licos-dev-sdk": "0.2.15",
14
+ "@kmlckj/licos-dev-sdk": "0.2.16",
15
15
  "@kmlckj/licos-platform-sdk": "0.10.3",
16
16
  "@nestjs/common": "^10.4.15",
17
17
  "@nestjs/core": "^10.4.15",
@@ -14,7 +14,7 @@
14
14
  "ts-check": "tsc -p tsconfig.json"
15
15
  },
16
16
  "dependencies": {
17
- "@kmlckj/licos-dev-sdk": "0.2.15",
17
+ "@kmlckj/licos-dev-sdk": "0.2.16",
18
18
  "@kmlckj/licos-platform-sdk": "0.10.3",
19
19
  "dotenv": "^17.2.3",
20
20
  "express": "^4.21.2"
@@ -13,8 +13,8 @@ importers:
13
13
  .:
14
14
  dependencies:
15
15
  '@kmlckj/licos-dev-sdk':
16
- specifier: 0.2.15
17
- version: 0.2.15
16
+ specifier: 0.2.16
17
+ version: 0.2.16
18
18
  '@kmlckj/licos-platform-sdk':
19
19
  specifier: 0.10.3
20
20
  version: 0.10.3
@@ -291,8 +291,8 @@ packages:
291
291
  '@jridgewell/trace-mapping@0.3.31':
292
292
  resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
293
293
 
294
- '@kmlckj/licos-dev-sdk@0.2.15':
295
- resolution: {integrity: sha512-lrIa+onEVMDkXiMhtYgK01n5nrkKNC1gokABcuHvuurgu8CHmaAD9aZdoKTf/qSSYbhg0EYWIQ0ldO996kKlPw==}
294
+ '@kmlckj/licos-dev-sdk@0.2.16':
295
+ resolution: {integrity: sha512-F2nJH0ODLaNCyujaDflFm5iBL4YxJxnnWKC6Rvy6MXF8Z01yhvq1q0EUveF1LYzeaQH3yl6j1W50Gp8nBdSoRQ==}
296
296
  engines: {node: '>=18'}
297
297
 
298
298
  '@kmlckj/licos-platform-sdk@0.10.3':
@@ -1723,7 +1723,7 @@ snapshots:
1723
1723
  '@jridgewell/resolve-uri': 3.1.2
1724
1724
  '@jridgewell/sourcemap-codec': 1.5.5
1725
1725
 
1726
- '@kmlckj/licos-dev-sdk@0.2.15': {}
1726
+ '@kmlckj/licos-dev-sdk@0.2.16': {}
1727
1727
 
1728
1728
  '@kmlckj/licos-platform-sdk@0.10.3':
1729
1729
  dependencies:
@@ -1,65 +1,65 @@
1
- import { defineConfig } from 'vite';
2
-
3
- function normalizeBasePath(value?: string): string {
4
- const trimmed = value?.trim();
5
- if (!trimmed || trimmed === '/') return '/';
6
- return `/${trimmed.replace(/^\/+|\/+$/g, '')}/`;
7
- }
8
-
9
- function isProdProjectEnv(value?: string): boolean {
10
- const normalized = value?.trim().toLowerCase();
11
- return normalized === 'prod' || normalized === 'production' || normalized === 'release';
12
- }
13
-
14
- const deployBasePath = process.env.VITE_BASE_PATH || process.env.BASE_PATH;
15
- const shouldUseBasePath = Boolean(deployBasePath) || isProdProjectEnv(process.env.LICOS_PROJECT_ENV);
16
-
17
- function parsePort(value?: string): number | undefined {
18
- const port = Number.parseInt(value || '', 10);
19
- return Number.isInteger(port) && port > 0 ? port : undefined;
20
- }
21
-
22
- function createPreviewHmrConfig() {
23
- if (!process.env.LICOS_PREVIEW_BASE_PATH) {
24
- return undefined;
25
- }
26
- const hmr: Record<string, unknown> = {
27
- overlay: true,
28
- path: process.env.LICOS_PREVIEW_HMR_PATH || '/hot/vite-hmr',
29
- timeout: 30000,
30
- };
31
- if (process.env.LICOS_PREVIEW_HMR_HOST) {
32
- hmr.host = process.env.LICOS_PREVIEW_HMR_HOST;
33
- }
34
- if (process.env.LICOS_PREVIEW_HMR_PROTOCOL) {
35
- hmr.protocol = process.env.LICOS_PREVIEW_HMR_PROTOCOL;
36
- }
37
- const clientPort = parsePort(process.env.LICOS_PREVIEW_HMR_CLIENT_PORT);
38
- if (clientPort) {
39
- hmr.clientPort = clientPort;
40
- }
41
- return hmr;
42
- }
43
-
44
- const previewHmrConfig = createPreviewHmrConfig();
45
-
46
- export default defineConfig({
47
- base: shouldUseBasePath ? normalizeBasePath(deployBasePath) : '/',
1
+ import { defineConfig } from 'vite';
2
+
3
+ function normalizeBasePath(value?: string): string {
4
+ const trimmed = value?.trim();
5
+ if (!trimmed || trimmed === '/') return '/';
6
+ return `/${trimmed.replace(/^\/+|\/+$/g, '')}/`;
7
+ }
8
+
9
+ function isProdProjectEnv(value?: string): boolean {
10
+ const normalized = value?.trim().toLowerCase();
11
+ return normalized === 'prod' || normalized === 'production' || normalized === 'release';
12
+ }
13
+
14
+ const deployBasePath = process.env.VITE_BASE_PATH || process.env.BASE_PATH;
15
+ const shouldUseBasePath = Boolean(deployBasePath) || isProdProjectEnv(process.env.LICOS_PROJECT_ENV);
16
+
17
+ function parsePort(value?: string): number | undefined {
18
+ const port = Number.parseInt(value || '', 10);
19
+ return Number.isInteger(port) && port > 0 ? port : undefined;
20
+ }
21
+
22
+ function createPreviewHmrConfig() {
23
+ if (!process.env.LICOS_PREVIEW_BASE_PATH) {
24
+ return undefined;
25
+ }
26
+ const hmr: Record<string, unknown> = {
27
+ overlay: true,
28
+ path: process.env.LICOS_PREVIEW_HMR_PATH || '/hot/vite-hmr',
29
+ timeout: 30000,
30
+ };
31
+ if (process.env.LICOS_PREVIEW_HMR_HOST) {
32
+ hmr.host = process.env.LICOS_PREVIEW_HMR_HOST;
33
+ }
34
+ if (process.env.LICOS_PREVIEW_HMR_PROTOCOL) {
35
+ hmr.protocol = process.env.LICOS_PREVIEW_HMR_PROTOCOL;
36
+ }
37
+ const clientPort = parsePort(process.env.LICOS_PREVIEW_HMR_CLIENT_PORT);
38
+ if (clientPort) {
39
+ hmr.clientPort = clientPort;
40
+ }
41
+ return hmr;
42
+ }
43
+
44
+ const previewHmrConfig = createPreviewHmrConfig();
45
+
46
+ export default defineConfig({
47
+ base: shouldUseBasePath ? normalizeBasePath(deployBasePath) : '/',
48
48
  server: {
49
49
  port: parsePort(process.env.LICOS_RUN_PORT) || parsePort(process.env.PORT) || <%= port %>,
50
50
  strictPort: true,
51
51
  host: '0.0.0.0',
52
- allowedHosts: true,
53
- hmr: previewHmrConfig || {
54
- overlay: true,
55
- path: '/hot/vite-hmr',
56
- port: <%= hmrPort %>,
57
- clientPort: 443,
58
- timeout: 30000,
59
- },
60
- watch: {
61
- usePolling: true,
62
- interval: 100,
63
- }
64
- },
65
- });
52
+ allowedHosts: true,
53
+ hmr: previewHmrConfig || {
54
+ overlay: true,
55
+ path: '/hot/vite-hmr',
56
+ port: <%= hmrPort %>,
57
+ clientPort: 443,
58
+ timeout: 30000,
59
+ },
60
+ watch: {
61
+ usePolling: true,
62
+ interval: 100,
63
+ }
64
+ },
65
+ });
@@ -5,7 +5,7 @@ description = "LICOS LangGraph workflow project"
5
5
  requires-python = ">=3.12"
6
6
  dependencies = [
7
7
  "licos-agent-runtime>=0.2.28",
8
- "licos-dev-sdk>=0.2.18",
8
+ "licos-dev-sdk>=0.2.19",
9
9
  ]
10
10
 
11
11
  [tool.uv]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kmlckj/licos-ai-cli",
3
- "version": "1.1.29",
3
+ "version": "1.1.30",
4
4
  "description": "LICOS AI coding workspace CLI - project template engine and dev tools",
5
5
  "license": "MIT",
6
6
  "author": "kmlckj",