@kmlckj/licos-ai-cli 1.8.5 → 1.8.6

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.
Files changed (43) hide show
  1. package/lib/__templates__/agent/AGENTS.md +1 -1
  2. package/lib/__templates__/agent/DATABASE.md +1 -1
  3. package/lib/__templates__/agent/README.md +2 -3
  4. package/lib/__templates__/agent/UPGRADING.md +1 -1
  5. package/lib/__templates__/agent/examples/README.md +2 -2
  6. package/lib/__templates__/agent/pyproject.toml +3 -3
  7. package/lib/__templates__/agent/requirements.txt +3 -3
  8. package/lib/__templates__/agent/template.config.js +0 -2
  9. package/lib/__templates__/expo/client/entry.js +24 -24
  10. package/lib/__templates__/expo/client/package.json +100 -100
  11. package/lib/__templates__/expo/package.json +34 -34
  12. package/lib/__templates__/expo/pnpm-lock.yaml +10 -10
  13. package/lib/__templates__/expo/server/package.json +2 -2
  14. package/lib/__templates__/expo/template.config.js +109 -109
  15. package/lib/__templates__/nextjs/AGENTS.md +1 -1
  16. package/lib/__templates__/nextjs/package.json +2 -2
  17. package/lib/__templates__/nextjs/pnpm-lock.yaml +10 -10
  18. package/lib/__templates__/nextjs/template.config.js +123 -123
  19. package/lib/__templates__/nuxt-vue/AGENTS.md +1 -1
  20. package/lib/__templates__/nuxt-vue/package.json +2 -2
  21. package/lib/__templates__/nuxt-vue/pnpm-lock.yaml +10 -10
  22. package/lib/__templates__/taro/package.json +120 -120
  23. package/lib/__templates__/taro/pnpm-lock.yaml +10 -10
  24. package/lib/__templates__/taro/server/package.json +2 -2
  25. package/lib/__templates__/templates.json +2 -2
  26. package/lib/__templates__/vite/AGENTS.md +1 -1
  27. package/lib/__templates__/vite/package.json +2 -2
  28. package/lib/__templates__/vite/pnpm-lock.yaml +10 -10
  29. package/lib/__templates__/vite/template.config.js +130 -130
  30. package/lib/__templates__/workflow/AGENTS.md +1 -1
  31. package/lib/__templates__/workflow/DATABASE.md +1 -1
  32. package/lib/__templates__/workflow/README.md +1 -2
  33. package/lib/__templates__/workflow/UPGRADING.md +1 -1
  34. package/lib/__templates__/workflow/examples/wait_signal.md +1 -1
  35. package/lib/__templates__/workflow/pyproject.toml +3 -3
  36. package/lib/__templates__/workflow/requirements.txt +3 -3
  37. package/lib/__templates__/workflow/template.config.js +0 -2
  38. package/package.json +1 -1
  39. package/lib/__templates__/agent/SDK.md +0 -43
  40. package/lib/__templates__/nextjs/SDK.md +0 -19
  41. package/lib/__templates__/nuxt-vue/SDK.md +0 -19
  42. package/lib/__templates__/vite/SDK.md +0 -19
  43. package/lib/__templates__/workflow/SDK.md +0 -43
@@ -1,6 +1,6 @@
1
1
  # 项目上下文
2
2
 
3
- 本文件记录本项目的事实和用户选择。功能用法从 [SDK.md](SDK.md) 查当前安装版本的 SDK 文档,目录与开发步骤见 [README.md](README.md)。
3
+ 本文件记录本项目的事实和用户选择。功能用法从 项目实际安装版本的 SDK 文档 查当前安装版本的 SDK 文档,目录与开发步骤见 [README.md](README.md)。
4
4
 
5
5
  ## 业务目标
6
6
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  默认沿用内存。先记录用户希望保存的内容和是否需要重启保留;只有选择持久化时才准备数据库,已有数据库不自动改变决定。
4
4
 
5
- 1. 按 [SDK.md](SDK.md) 定位项目实际安装包,阅读 docs/agent-capabilities.md 和 docs/database-setup.md。模块约束、数据库类型、脚本与命令以该版本文档为准。
5
+ 1. 按 项目实际安装版本的 SDK 文档 定位项目实际安装包,阅读 docs/agent-capabilities.md 和 docs/database-setup.md。模块约束、数据库类型、脚本与命令以该版本文档为准。
6
6
  2. 核对当前项目、环境、数据库模式、Schema 及迁移历史,确定本次需要执行的独立脚本或增量迁移。
7
7
  3. 依 SDK 文档完成检查、dry-run、已授权的显式执行及业务状态核验。已存在对象不重复安装,不删业务数据。
8
8
  4. Schema 就绪后配置用户选择的模块和介质,验证真实读写、隔离及需求中的重启行为。
@@ -2,11 +2,10 @@
2
2
 
3
3
  LICOS 智能体项目,基于 Python、LangGraph/LangChain 和 licos-agent-runtime。
4
4
 
5
- 此模板显式启用自适应上下文、连续执行和内存检查点,普通历史为最近三轮问答。无需数据库;需要跨重启恢复时再按用户选择配置持久化。具体行为和扩展要求从 SDK.md 定位 `docs/continuous-execution.md`。
5
+ 此模板显式启用自适应上下文、连续执行和内存检查点,普通历史为最近三轮问答。无需数据库;需要跨重启恢复时再按用户选择配置持久化。具体行为和扩展要求查项目实际安装版本的 `docs/continuous-execution.md`。
6
6
 
7
7
  ## 文档入口
8
8
 
9
- - [SDK.md](SDK.md):定位当前安装版本的 SDK 文档,查询功能、API、配置及限制。
10
9
  - [AGENTS.md](AGENTS.md):本项目的业务目标、实际实现、保存方式和验收记录。
11
10
  - [examples/README.md](examples/README.md):示例选择、合并与运行。
12
11
  - [DATABASE.md](DATABASE.md):用户选择持久化后的接入步骤。
@@ -37,7 +36,7 @@ pyproject.toml
37
36
  ## 接入与开发
38
37
 
39
38
  1. 读取 AGENTS.md、配置、业务入口及依赖。首次开发先确定业务目标、工具、输入输出和成功标准。
40
- 2. 按 SDK.md 查对应版本功能文档,选配置或代码扩展;沿用当前业务配置和身份。
39
+ 2. 查对应版本功能文档,选配置或代码扩展;沿用当前业务配置和身份。
41
40
  3. 业务工具放 src/tools/,同步导入注册与配置中的工具清单。技能连同附属资源放 skills/ 并维护简介和引用路径。
42
41
  4. 修改入口时保留业务工具、提示词和登录机制。合并示例前阅读 examples/README.md,区分完整入口与工具模块。
43
42
  5. 同步 AGENTS.md 和本项目测试用例,按实际启用能力验收。
@@ -5,7 +5,7 @@
5
5
  ## 1. 记录基线与实际版本
6
6
 
7
7
  - 读取项目 `AGENTS.md`、入口、业务工具、模型配置、认证配置、事件订阅、依赖及锁文件,记录当前可用接口和真实业务用例。
8
- - 使用 `scripts/runtime.sh` 所选的项目解释器检查安装包版本,不能用其他全局 Python 环境的版本代替。当前模板依赖为 Runtime >=0.6.32、Platform SDK >=0.9.8、Dev SDK >=0.6.15,Python >=3.11;以项目的依赖声明、锁文件和实际安装结果为准。
8
+ - 使用 `scripts/runtime.sh` 所选的项目解释器检查安装包版本,不能用其他全局 Python 环境的版本代替。版本以本项目 requirements.txt、pyproject.toml 和锁文件为准;以项目的依赖声明、锁文件和实际安装结果为准。
9
9
  - 更新 `requirements.txt`、`pyproject.toml` 及项目实际使用的锁文件,保留原有业务依赖。在项目环境安装并检查依赖;不要把“修改了版本声明”当成“预览或部署已升级”。
10
10
  - 修改前保留可回退的源码版本,核对部署配置和数据库 Schema。不要将用户凭证保存进备份、源码或日志。
11
11
 
@@ -29,13 +29,13 @@ TOOLS += [save_preference, search_preferences]
29
29
 
30
30
  同时在配置 `tools` 中追加 `save_preference`、`search_preferences`,开启 `agent_runtime.store.enabled`。语义搜索必须配置接收 `ctx` 的真实 embedding 工厂、实际维度和 `index_version`,具体字段见运行时能力文档;仅需保存偏好时只注册 `save_preference`,不必开启语义索引。按业务需要更新 `sp/up`,不能仅注册工具就宣称能搜索。
31
31
 
32
- 示例未替项目决定持久化。按用户选择准备运行配置;数据库接入见 [DATABASE.md](../DATABASE.md),模块约束见 [SDK 文档](../SDK.md)。
32
+ 示例未替项目决定持久化。按用户选择准备运行配置;数据库接入见 [DATABASE.md](../DATABASE.md),模块约束见 项目实际安装版本的 SDK 文档。
33
33
 
34
34
  交接示例保留共享 `sp/up`,校验业务工具清单,并将业务 `TOOLS` 分配给 `support`,`reception` 只负责接待和交接。实际项目应按角色重新分配工具;不要把每个参与者都自动赋予所有工具。专家和交接示例保留 `config.extra_body`,按 `harness.thinking.forward_to_frontend` 传递思考内容开关。配置协作中,各子智能体使用自己声明的 `system_prompt`;交接模式还会合并入口公共提示词,其他模式需要把共同业务约束明确写入各角色配置。
35
35
 
36
36
  ## 功能说明
37
37
 
38
- 配置字段、审批/恢复接口、Loop/Graph 扩展及后台任务的语义统一查 [SDK 文档](../SDK.md)。本文件只说明这些示例的接入与验收,不另维护一套 API 手册。
38
+ 配置字段、审批/恢复接口、Loop/Graph 扩展及后台任务的语义统一查 项目实际安装版本的 SDK 文档。本文件只说明这些示例的接入与验收,不另维护一套 API 手册。
39
39
 
40
40
  ## 按图类型验收
41
41
 
@@ -4,9 +4,9 @@ version = "0.1.0"
4
4
  description = "LICOS LangGraph agent project"
5
5
  requires-python = ">=3.11"
6
6
  dependencies = [
7
- "licos-agent-runtime>=0.6.37",
8
- "licos-platform-sdk>=0.9.8",
9
- "licos-dev-sdk>=0.7.3",
7
+ "licos-agent-runtime>=0.6.38",
8
+ "licos-platform-sdk>=0.9.9",
9
+ "licos-dev-sdk>=0.7.4",
10
10
  ]
11
11
 
12
12
  [tool.uv]
@@ -1,3 +1,3 @@
1
- licos-agent-runtime>=0.6.37
2
- licos-platform-sdk>=0.9.8
3
- licos-dev-sdk>=0.7.3
1
+ licos-agent-runtime>=0.6.38
2
+ licos-platform-sdk>=0.9.9
3
+ licos-dev-sdk>=0.7.4
@@ -1,7 +1,6 @@
1
1
  const description = `Agent(智能体项目):\`licos init \${LICOS_PROJECT_PATH} --template agent --skip-install --skip-dev --skip-commit\`
2
2
  - 适用:Python + LangGraph/LangChain 智能体项目
3
3
  - README.md 介绍项目结构与开发步骤,AGENTS.md 记录项目实际实现和用户选择
4
- - 功能、API、配置字段及限制从 SDK.md 定位实际安装版本的 SDK 文档,按需查阅
5
4
  - examples/README.md 说明示例接入;DATABASE.md、UPGRADING.md 分别说明持久化准备和已有项目升级
6
5
  - 项目源码位于 /workspace/projects,平台数据位于 /workspace/.licos`;
7
6
 
@@ -41,7 +40,6 @@ const config = {
41
40
  console.log(' - Runtime: licos-agent-runtime');
42
41
  console.log(' - Framework: LangGraph + LangChain');
43
42
  console.log(' - State storage: memory; enable database only when requested');
44
- console.log(' - SDK documentation for the installed version: SDK.md');
45
43
  console.log(' - Example integration: examples/README.md');
46
44
  console.log(' - Existing project upgrade checklist: UPGRADING.md');
47
45
  console.log(' - Optional persistence and migrations: DATABASE.md');
@@ -7,27 +7,27 @@ const rawReplaceState =
7
7
  typeof window.history?.replaceState === 'function'
8
8
  ? window.history.replaceState
9
9
  : undefined;
10
-
11
- const replaceStateWithoutPreviewRewrite = (url) => {
12
- if (!rawReplaceState || typeof window === 'undefined') return;
13
- rawReplaceState.call(window.history, window.history.state, document.title, url);
14
- };
15
-
16
- if (
17
- typeof window !== 'undefined' &&
18
- previewBase &&
19
- window.location.pathname.startsWith(previewBase)
20
- ) {
21
- const rest = window.location.pathname.slice(previewBase.length) || '/';
22
- const appPath = rest.startsWith('/') ? rest : `/${rest}`;
23
- originalUrl = `${window.location.pathname}${window.location.search}${window.location.hash}`;
24
- replaceStateWithoutPreviewRewrite(`${appPath}${window.location.search}${window.location.hash}`);
25
- }
26
-
27
- require('expo-router/entry');
28
-
29
- if (typeof window !== 'undefined' && originalUrl) {
30
- window.addEventListener('load', () => {
31
- replaceStateWithoutPreviewRewrite(originalUrl);
32
- }, { once: true });
33
- }
10
+
11
+ const replaceStateWithoutPreviewRewrite = (url) => {
12
+ if (!rawReplaceState || typeof window === 'undefined') return;
13
+ rawReplaceState.call(window.history, window.history.state, document.title, url);
14
+ };
15
+
16
+ if (
17
+ typeof window !== 'undefined' &&
18
+ previewBase &&
19
+ window.location.pathname.startsWith(previewBase)
20
+ ) {
21
+ const rest = window.location.pathname.slice(previewBase.length) || '/';
22
+ const appPath = rest.startsWith('/') ? rest : `/${rest}`;
23
+ originalUrl = `${window.location.pathname}${window.location.search}${window.location.hash}`;
24
+ replaceStateWithoutPreviewRewrite(`${appPath}${window.location.search}${window.location.hash}`);
25
+ }
26
+
27
+ require('expo-router/entry');
28
+
29
+ if (typeof window !== 'undefined' && originalUrl) {
30
+ window.addEventListener('load', () => {
31
+ replaceStateWithoutPreviewRewrite(originalUrl);
32
+ }, { once: true });
33
+ }
@@ -1,100 +1,100 @@
1
- {
2
- "name": "expo-app",
3
- "description": "<%= appName %>",
4
- "main": "./entry.js",
5
- "private": true,
6
- "scripts": {
7
- "check-deps": "pnpm exec depcheck",
8
- "install-missing": "node ./scripts/install-missing-deps.js",
9
- "lint": "tsc --noEmit; eslint ./ -f ./scripts/formatter.mjs --quiet",
10
- "start": "expo start --web --clear",
11
- "test": "jest --watchAll"
12
- },
13
- "jest": {
14
- "preset": "jest-expo"
15
- },
16
- "dependencies": {
17
- "@expo/metro-runtime": "~6.1.2",
18
- "@expo/vector-icons": "^15.0.3",
19
- "@react-native-async-storage/async-storage": "2.2.0",
20
- "@react-native-community/datetimepicker": "8.4.4",
21
- "@react-native-community/slider": "5.0.1",
22
- "@react-native-masked-view/masked-view": "0.3.2",
23
- "@react-native-picker/picker": "2.11.1",
24
- "@react-navigation/bottom-tabs": "^7.2.0",
25
- "@react-navigation/native": "^7.0.14",
26
- "dayjs": "^1.11.19",
27
- "expo": "54.0.33",
28
- "expo-auth-session": "~7.0.10",
29
- "expo-av": "~16.0.8",
30
- "expo-blur": "~15.0.8",
31
- "expo-camera": "~17.0.10",
32
- "expo-constants": "~18.0.13",
33
- "expo-crypto": "~15.0.8",
34
- "expo-file-system": "~19.0.21",
35
- "expo-font": "~14.0.11",
36
- "expo-haptics": "~15.0.8",
37
- "expo-image": "~3.0.11",
38
- "expo-image-picker": "~17.0.10",
39
- "expo-linear-gradient": "~15.0.8",
40
- "expo-linking": "~8.0.11",
41
- "expo-location": "~19.0.8",
42
- "expo-router": "~6.0.23",
43
- "expo-splash-screen": "~31.0.13",
44
- "expo-status-bar": "~3.0.9",
45
- "expo-symbols": "~1.0.8",
46
- "expo-system-ui": "~6.0.9",
47
- "expo-web-browser": "~15.0.10",
48
- "js-base64": "^3.7.7",
49
- "react": "19.1.0",
50
- "react-dom": "19.1.0",
51
- "react-native": "0.81.5",
52
- "react-native-chart-kit": "^6.12.0",
53
- "react-native-gesture-handler": "~2.28.0",
54
- "react-native-keyboard-aware-scroll-view": "^0.9.5",
55
- "react-native-modal-datetime-picker": "18.0.0",
56
- "react-native-reanimated": "~4.1.1",
57
- "react-native-safe-area-context": "~5.6.0",
58
- "react-native-screens": "~4.16.0",
59
- "react-native-svg": "15.12.1",
60
- "react-native-toast-message": "^2.3.3",
61
- "react-native-web": "~0.21.0",
62
- "react-native-webview": "13.15.0",
63
- "react-native-worklets": "0.5.1",
64
- "zod": "^4.2.1",
65
- "@gorhom/bottom-sheet": "^5.2.8",
66
- "tailwind-merge": "^3.4.0",
67
- "tailwind-variants": "^3.2.2"
68
- },
69
- "devDependencies": {
70
- "@babel/core": "^7.25.2",
71
- "@eslint/js": "^9.27.0",
72
- "@types/jest": "^29.5.12",
73
- "@types/react": "~19.1.0",
74
- "@types/react-test-renderer": "19.1.0",
75
- "babel-plugin-module-resolver": "^5.0.2",
76
- "babel-preset-expo": "^54.0.9",
77
- "chalk": "^4.1.2",
78
- "connect": "^3.7.0",
79
- "depcheck": "^1.4.7",
80
- "esbuild": "0.27.2",
81
- "eslint": "^9.39.2",
82
- "eslint-formatter-compact": "^9.0.1",
83
- "eslint-import-resolver-typescript": "^4.4.4",
84
- "eslint-plugin-import": "^2.32.0",
85
- "eslint-plugin-react": "^7.37.5",
86
- "eslint-plugin-react-hooks": "^7.0.1",
87
- "eslint-plugin-regexp": "^2.10.0",
88
- "globals": "^16.1.0",
89
- "http-proxy-middleware": "^3.0.5",
90
- "jest": "^29.2.1",
91
- "jest-expo": "~54.0.17",
92
- "react-test-renderer": "19.1.0",
93
- "tsx": "^4.21.0",
94
- "typescript": "^5.8.3",
95
- "typescript-eslint": "^8.32.1",
96
- "axios": "^1.13.6",
97
- "tailwindcss": "^4.1.18",
98
- "uniwind": "^1.2.7"
99
- }
100
- }
1
+ {
2
+ "name": "expo-app",
3
+ "description": "<%= appName %>",
4
+ "main": "./entry.js",
5
+ "private": true,
6
+ "scripts": {
7
+ "check-deps": "pnpm exec depcheck",
8
+ "install-missing": "node ./scripts/install-missing-deps.js",
9
+ "lint": "tsc --noEmit; eslint ./ -f ./scripts/formatter.mjs --quiet",
10
+ "start": "expo start --web --clear",
11
+ "test": "jest --watchAll"
12
+ },
13
+ "jest": {
14
+ "preset": "jest-expo"
15
+ },
16
+ "dependencies": {
17
+ "@expo/metro-runtime": "~6.1.2",
18
+ "@expo/vector-icons": "^15.0.3",
19
+ "@react-native-async-storage/async-storage": "2.2.0",
20
+ "@react-native-community/datetimepicker": "8.4.4",
21
+ "@react-native-community/slider": "5.0.1",
22
+ "@react-native-masked-view/masked-view": "0.3.2",
23
+ "@react-native-picker/picker": "2.11.1",
24
+ "@react-navigation/bottom-tabs": "^7.2.0",
25
+ "@react-navigation/native": "^7.0.14",
26
+ "dayjs": "^1.11.19",
27
+ "expo": "54.0.33",
28
+ "expo-auth-session": "~7.0.10",
29
+ "expo-av": "~16.0.8",
30
+ "expo-blur": "~15.0.8",
31
+ "expo-camera": "~17.0.10",
32
+ "expo-constants": "~18.0.13",
33
+ "expo-crypto": "~15.0.8",
34
+ "expo-file-system": "~19.0.21",
35
+ "expo-font": "~14.0.11",
36
+ "expo-haptics": "~15.0.8",
37
+ "expo-image": "~3.0.11",
38
+ "expo-image-picker": "~17.0.10",
39
+ "expo-linear-gradient": "~15.0.8",
40
+ "expo-linking": "~8.0.11",
41
+ "expo-location": "~19.0.8",
42
+ "expo-router": "~6.0.23",
43
+ "expo-splash-screen": "~31.0.13",
44
+ "expo-status-bar": "~3.0.9",
45
+ "expo-symbols": "~1.0.8",
46
+ "expo-system-ui": "~6.0.9",
47
+ "expo-web-browser": "~15.0.10",
48
+ "js-base64": "^3.7.7",
49
+ "react": "19.1.0",
50
+ "react-dom": "19.1.0",
51
+ "react-native": "0.81.5",
52
+ "react-native-chart-kit": "^6.12.0",
53
+ "react-native-gesture-handler": "~2.28.0",
54
+ "react-native-keyboard-aware-scroll-view": "^0.9.5",
55
+ "react-native-modal-datetime-picker": "18.0.0",
56
+ "react-native-reanimated": "~4.1.1",
57
+ "react-native-safe-area-context": "~5.6.0",
58
+ "react-native-screens": "~4.16.0",
59
+ "react-native-svg": "15.12.1",
60
+ "react-native-toast-message": "^2.3.3",
61
+ "react-native-web": "~0.21.0",
62
+ "react-native-webview": "13.15.0",
63
+ "react-native-worklets": "0.5.1",
64
+ "zod": "^4.2.1",
65
+ "@gorhom/bottom-sheet": "^5.2.8",
66
+ "tailwind-merge": "^3.4.0",
67
+ "tailwind-variants": "^3.2.2"
68
+ },
69
+ "devDependencies": {
70
+ "@babel/core": "^7.25.2",
71
+ "@eslint/js": "^9.27.0",
72
+ "@types/jest": "^29.5.12",
73
+ "@types/react": "~19.1.0",
74
+ "@types/react-test-renderer": "19.1.0",
75
+ "babel-plugin-module-resolver": "^5.0.2",
76
+ "babel-preset-expo": "^54.0.9",
77
+ "chalk": "^4.1.2",
78
+ "connect": "^3.7.0",
79
+ "depcheck": "^1.4.7",
80
+ "esbuild": "0.27.2",
81
+ "eslint": "^9.39.2",
82
+ "eslint-formatter-compact": "^9.0.1",
83
+ "eslint-import-resolver-typescript": "^4.4.4",
84
+ "eslint-plugin-import": "^2.32.0",
85
+ "eslint-plugin-react": "^7.37.5",
86
+ "eslint-plugin-react-hooks": "^7.0.1",
87
+ "eslint-plugin-regexp": "^2.10.0",
88
+ "globals": "^16.1.0",
89
+ "http-proxy-middleware": "^3.0.5",
90
+ "jest": "^29.2.1",
91
+ "jest-expo": "~54.0.17",
92
+ "react-test-renderer": "19.1.0",
93
+ "tsx": "^4.21.0",
94
+ "typescript": "^5.8.3",
95
+ "typescript-eslint": "^8.32.1",
96
+ "axios": "^1.13.6",
97
+ "tailwindcss": "^4.1.18",
98
+ "uniwind": "^1.2.7"
99
+ }
100
+ }
@@ -1,34 +1,34 @@
1
- {
2
- "name": "expo-express-monorepo",
3
- "private": true,
4
- "version": "0.0.0",
5
- "scripts": {
6
- "dev": "bash .licosproj/scripts/dev_run.sh",
7
- "build": "bash .licosproj/scripts/prod_build.sh",
8
- "start": "bash .licosproj/scripts/prod_run.sh",
9
- "ensure:deps": "node -e \"const fs=require('fs'); const bins=['client/node_modules/.bin/expo','server/node_modules/.bin/tsx','server/node_modules/.bin/tsc']; process.exit(bins.every((p)=>fs.existsSync(p)||fs.existsSync(p+'.cmd'))?0:1)\" || pnpm install --registry=https://registry.npmmirror.com --prefer-frozen-lockfile --prefer-offline --reporter=append-only || pnpm install --registry=https://registry.npmjs.org --no-frozen-lockfile --reporter=append-only",
10
- "prebuild": "pnpm run ensure:deps",
11
- "predev": "pnpm run ensure:deps",
12
- "preinstall": "node -e \"const ua=process.env.npm_config_user_agent||''; if(!ua.includes('pnpm')){console.error('Use pnpm to install dependencies.'); process.exit(1)}\"",
13
- "lint:client": "pnpm --dir ./client lint",
14
- "lint:server": "pnpm --dir ./server lint",
15
- "lint:all": "pnpm --dir ./client lint && pnpm --dir ./server lint"
16
- },
17
- "dependencies": {},
18
- "devDependencies": {},
19
- "packageManager": "pnpm@9.0.0",
20
- "engines": {
21
- "pnpm": ">=9.0.0"
22
- },
23
- "pnpm": {
24
- "overrides": {
25
- "decode-uri-component": "0.2.2",
26
- "esbuild": "0.27.2",
27
- "regenerate-unicode-properties": "10.2.2",
28
- "requireg": "0.2.2"
29
- },
30
- "patchedDependencies": {
31
- "expo@54.0.33": "patches/expo@54.0.33.patch"
32
- }
33
- }
34
- }
1
+ {
2
+ "name": "expo-express-monorepo",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "scripts": {
6
+ "dev": "bash .licosproj/scripts/dev_run.sh",
7
+ "build": "bash .licosproj/scripts/prod_build.sh",
8
+ "start": "bash .licosproj/scripts/prod_run.sh",
9
+ "ensure:deps": "node -e \"const fs=require('fs'); const bins=['client/node_modules/.bin/expo','server/node_modules/.bin/tsx','server/node_modules/.bin/tsc']; process.exit(bins.every((p)=>fs.existsSync(p)||fs.existsSync(p+'.cmd'))?0:1)\" || pnpm install --registry=https://registry.npmmirror.com --prefer-frozen-lockfile --prefer-offline --reporter=append-only || pnpm install --registry=https://registry.npmjs.org --no-frozen-lockfile --reporter=append-only",
10
+ "prebuild": "pnpm run ensure:deps",
11
+ "predev": "pnpm run ensure:deps",
12
+ "preinstall": "node -e \"const ua=process.env.npm_config_user_agent||''; if(!ua.includes('pnpm')){console.error('Use pnpm to install dependencies.'); process.exit(1)}\"",
13
+ "lint:client": "pnpm --dir ./client lint",
14
+ "lint:server": "pnpm --dir ./server lint",
15
+ "lint:all": "pnpm --dir ./client lint && pnpm --dir ./server lint"
16
+ },
17
+ "dependencies": {},
18
+ "devDependencies": {},
19
+ "packageManager": "pnpm@9.0.0",
20
+ "engines": {
21
+ "pnpm": ">=9.0.0"
22
+ },
23
+ "pnpm": {
24
+ "overrides": {
25
+ "decode-uri-component": "0.2.2",
26
+ "esbuild": "0.27.2",
27
+ "regenerate-unicode-properties": "10.2.2",
28
+ "requireg": "0.2.2"
29
+ },
30
+ "patchedDependencies": {
31
+ "expo@54.0.33": "patches/expo@54.0.33.patch"
32
+ }
33
+ }
34
+ }
@@ -266,11 +266,11 @@ importers:
266
266
  server:
267
267
  dependencies:
268
268
  '@kmlckj/licos-dev-sdk':
269
- specifier: 0.5.0
270
- version: 0.5.0
269
+ specifier: 0.5.1
270
+ version: 0.5.1
271
271
  '@kmlckj/licos-platform-sdk':
272
- specifier: 0.15.5
273
- version: 0.15.5
272
+ specifier: 0.15.6
273
+ version: 0.15.6
274
274
  cors:
275
275
  specifier: ^2.8.5
276
276
  version: 2.8.6
@@ -1324,12 +1324,12 @@ packages:
1324
1324
  '@jridgewell/trace-mapping@0.3.31':
1325
1325
  resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
1326
1326
 
1327
- '@kmlckj/licos-dev-sdk@0.5.0':
1328
- resolution: {tarball: https://registry.npmmirror.com/@kmlckj/licos-dev-sdk/-/licos-dev-sdk-0.5.0.tgz}
1327
+ '@kmlckj/licos-dev-sdk@0.5.1':
1328
+ resolution: {tarball: https://registry.npmmirror.com/@kmlckj/licos-dev-sdk/-/licos-dev-sdk-0.5.1.tgz}
1329
1329
  engines: {node: '>=18.17'}
1330
1330
 
1331
- '@kmlckj/licos-platform-sdk@0.15.5':
1332
- resolution: {integrity: sha512-Ywzi3ktucJtpI3BM4G5TjT4G6I4iMLBAKlF4fXcNPcUZ2cRUlzRSPwqQsD5eQDUMLycqwniYP4W7mteNZG0K1Q==}
1331
+ '@kmlckj/licos-platform-sdk@0.15.6':
1332
+ resolution: {tarball: https://registry.npmmirror.com/@kmlckj/licos-platform-sdk/-/licos-platform-sdk-0.15.6.tgz}
1333
1333
 
1334
1334
  '@napi-rs/wasm-runtime@0.2.12':
1335
1335
  resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
@@ -7510,9 +7510,9 @@ snapshots:
7510
7510
  '@jridgewell/resolve-uri': 3.1.2
7511
7511
  '@jridgewell/sourcemap-codec': 1.5.5
7512
7512
 
7513
- '@kmlckj/licos-dev-sdk@0.5.0': {}
7513
+ '@kmlckj/licos-dev-sdk@0.5.1': {}
7514
7514
 
7515
- '@kmlckj/licos-platform-sdk@0.15.5':
7515
+ '@kmlckj/licos-platform-sdk@0.15.6':
7516
7516
  dependencies:
7517
7517
  ajv: 8.17.1
7518
7518
  ajv-formats: 3.0.1(ajv@8.17.1)
@@ -10,8 +10,8 @@
10
10
  "lint": "tsc --noEmit"
11
11
  },
12
12
  "dependencies": {
13
- "@kmlckj/licos-dev-sdk": "0.5.0",
14
- "@kmlckj/licos-platform-sdk": "0.15.5",
13
+ "@kmlckj/licos-dev-sdk": "0.5.1",
14
+ "@kmlckj/licos-platform-sdk": "0.15.6",
15
15
  "cors": "^2.8.5",
16
16
  "dayjs": "^1.11.19",
17
17
  "dotenv": "^17.2.3",