@microi.net/cli 6.0.9 → 6.1.1
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/.codebuddy-plugin/marketplace.json +2 -2
- package/.codebuddy-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.workbuddy-plugin/marketplace.json +2 -2
- package/.workbuddy-plugin/plugin.json +1 -1
- package/assets/build-meta.json +5 -5
- package/cordis.patch.yml +1 -1
- package/package.json +1 -1
- package/scripts/mcp-server.js +116 -116
- package/scripts/microi-cli.js +1 -1
- package/scripts/microi-skills.meta.json +312 -312
- package/skills/.microi-skills-version.json +2 -2
- package/skills/.progressive-disclosure-manifest.json +45 -45
- package/skills/README.md +1 -1
- package/skills/ai-engine/SKILL.md +2 -2
- package/skills/ai-engine/references/ai-employees.md +48 -48
- package/skills/ai-engine/references/self-hosted-digital-human.md +59 -59
- package/skills/ai-platform-governance/references/progressive-01-/345/212/237/350/203/275/345/274/200/345/205/263.md +2 -2
- package/skills/app-store/SKILL.md +531 -531
- package/skills/business-blueprint/SKILL.md +193 -193
- package/skills/datasource-engine/SKILL.md +93 -93
- package/skills/dos-orm/SKILL.md +105 -105
- package/skills/dos-orm/references/api-reference.md +229 -229
- package/skills/email-engine/SKILL.md +81 -81
- package/skills/email-engine/references/v8-email.md +34 -34
- package/skills/job-engine/SKILL.md +176 -176
- package/skills/message-notification/SKILL.md +156 -156
- package/skills/message-notification/references/contracts.md +102 -102
- package/skills/microi/SKILL.md +14 -14
- package/skills/microi-ai-app-auth.js +1 -1
- package/skills/microi-ai-application/SKILL.md +115 -115
- package/skills/microi-ai-application/references/frontend-baseline.md +164 -164
- package/skills/microi-client-frontend/references/progressive-01-3-/345/212/250/346/200/201/346/214/211/351/222/256/347/263/273/347/273/237.md +10 -10
- package/skills/microi-client-frontend/references/progressive-02-8-/350/277/220/350/241/214/346/227/266/351/253/230/351/242/221/345/235/221/345/244/215/347/233/230.md +10 -10
- package/skills/microi-client-frontend/references/progressive-03-vue3-/345/211/215/347/253/257/345/276/256/346/234/215/345/212/241/345/256/277/344/270/273/350/247/204/345/210/231.md +10 -10
- package/skills/microi-codex/SKILL.md +130 -130
- package/skills/microi-codex-installer/SKILL.md +1 -1
- package/skills/microi-datasource-mapping/SKILL.md +131 -122
- package/skills/microi-db-schema/SKILL.md +175 -175
- package/skills/microi-db-schema/references/core-tables.md +695 -695
- package/skills/microi-db-schema/references/form-component-options.md +256 -256
- package/skills/microi-db-schema/references/schema-overview.md +202 -202
- package/skills/microi-db-schema/references/schema.md +646 -646
- package/skills/microi-db-schema/references/table-catalog.md +1599 -1599
- package/skills/microi-deployment/SKILL.md +260 -260
- package/skills/microi-deployment/references/deployment-matrix.md +109 -109
- package/skills/microi-docs-coverage/SKILL.md +133 -133
- package/skills/microi-docs-coverage/references/capability-map.md +91 -91
- package/skills/microi-form-engine/SKILL.md +338 -338
- package/skills/microi-form-engine/references/component-catalog.md +218 -218
- package/skills/microi-form-engine/references/data-source-events.md +124 -124
- package/skills/microi-left-right-layout/SKILL.md +141 -141
- package/skills/microi-microservice/SKILL.md +6 -1
- package/skills/microi-microservice/references/runtime-delivery.md +282 -282
- package/skills/microi-solution-quotation/SKILL.md +78 -78
- package/skills/microi-sso/SKILL.md +102 -102
- package/skills/microi-sso/references/acceptance.md +1 -1
- package/skills/microi-sso/references/configuration-and-security.md +53 -53
- package/skills/microi-sso/references/inbound.md +53 -53
- package/skills/microi-sso/references/outbound.md +43 -43
- package/skills/microi-system-delivery/SKILL.md +102 -100
- package/skills/microi-system-delivery/references/context-quality.md +56 -56
- package/skills/microi-system-delivery/references/progressive-01-/346/240/207/345/207/206/345/267/245/344/275/234/346/265/201.md +11 -11
- package/skills/microi-system-delivery/references/progressive-02-/350/207/252/345/212/250/345/214/226/346/265/213/350/257/225/345/277/205/351/241/273/350/246/206/347/233/226/347/232/204/345/235/221.md +12 -12
- package/skills/microi-system-delivery/references/progressive-03-/345/256/211/345/205/250/344/270/216/350/267/250/347/253/257/351/252/214/346/224/266.md +71 -71
- package/skills/module-engine/SKILL.md +297 -297
- package/skills/module-engine/references/module-config.md +204 -204
- package/skills/ocr-engine/SKILL.md +113 -113
- package/skills/page-engine/references/progressive-01-/346/211/200/346/234/211/347/273/204/344/273/266/347/261/273/345/236/213.md +10 -10
- package/skills/page-engine/references/progressive-02-/347/211/210/346/234/254/345/216/206/345/217/262-/345/271/266/345/217/221/344/277/235/345/255/230/344/270/216/345/233/236/346/273/232.md +12 -12
- package/skills/performance-testing/SKILL.md +227 -227
- package/skills/playwright-e2e/SKILL.md +2 -0
- package/skills/print-engine/SKILL.md +259 -259
- package/skills/production-readonly-audit/SKILL.md +41 -41
- package/skills/report-engine/SKILL.md +83 -83
- package/skills/search-engine/SKILL.md +75 -75
- package/skills/spider-engine/SKILL.md +190 -190
- package/skills/system-observability/SKILL.md +264 -264
- package/skills/system-observability/references/memory-incident-triage.md +77 -77
- package/skills/translate-engine/SKILL.md +140 -140
- package/skills/ui-design/assets/templates/MCI-DESIGN.md +206 -206
- package/skills/ui-design/references/design-pattern-library.md +184 -184
- package/skills/ui-design/references/mci-design-contract.md +163 -163
- package/skills/ui-design/references/motion-and-media.md +78 -78
- package/skills/ui-design/references/product-flow-recipes.md +94 -94
- package/skills/uniapp-mall-assets/SKILL.md +176 -176
- package/skills/unity-integration/SKILL.md +178 -178
- package/skills/unity-integration/references/ai-app-delivery.md +1 -1
- package/skills/unity-integration/references/sdk-api.md +82 -82
- package/skills/unity-integration/references/toolbox-migration.md +66 -66
- package/skills/unity-integration/references/webgl-hosting.md +57 -57
- package/skills/v8-api-config/SKILL.md +400 -400
- package/skills/v8-cache-pattern/SKILL.md +320 -320
- package/skills/v8-debugging/SKILL.md +284 -284
- package/skills/v8-explorer-tree/SKILL.md +228 -228
- package/skills/v8-file-upload/SKILL.md +1 -1
- package/skills/v8-file-upload/references/cdn-alias-repair.md +13 -13
- package/skills/v8-formengine-http/SKILL.md +1 -1
- package/skills/v8-frontend-events/references/bluetooth-print-api.md +135 -135
- package/skills/v8-frontend-events/references/bluetooth-print.md +258 -258
- package/skills/v8-image-processing/SKILL.md +190 -190
- package/skills/v8-image-processing/references/api-reference.md +623 -623
- package/skills/v8-mongodb/SKILL.md +201 -201
- package/skills/v8-mq-mqtt/references/mqtt-production.md +352 -352
- package/skills/v8-saas-multi-tenant/SKILL.md +4 -0
- package/skills/v8-security/SKILL.md +2 -0
- package/skills/v8-security/references/progressive-01-2-/346/235/203/351/231/220/346/240/241/351/252/214.md +9 -3
- package/skills/v8-sql-query/SKILL.md +302 -302
- package/skills/v8-tcp-integration/SKILL.md +69 -2
- package/skills/v8-template-engine/SKILL.md +167 -167
- package/skills/v8-utilities/SKILL.md +1 -0
- package/skills/v8-utilities/references/client-api-index.md +143 -143
- package/skills/v8-utilities/references/platform-http-routes.md +83 -83
- package/skills/v8-utilities/references/server-api-index.md +2 -1
- package/skills/v8-workflow/references/workflow-configuration.md +49 -49
- package/skills/vision-engine/SKILL.md +160 -160
- package/skills/vision-engine/references/architecture-and-acceptance.md +194 -194
- package/skills/workspace-conventions/SKILL.md +168 -162
- package/skills/workspace-conventions/references/progressive-01-/347/211/210/346/234/254/346/233/264/346/226/260/346/227/245/345/277/227/344/277/235/346/212/244/350/247/204/345/210/231-/345/274/272/345/210/266.md +2 -2
- package/skills/workspace-conventions/references/progressive-02-microi-net-api-/346/234/254/345/234/260/345/220/257/345/212/250/347/272/246/345/256/232.md +34 -34
- package/skills/workspace-conventions/references/progressive-03-cli-/344/270/216-ide-/346/217/222/344/273/266/351/224/231/347/211/210/345/205/261/345/255/230/347/272/246/345/256/232.md +6 -6
- package/skills/workspace-conventions/references/progressive-04-/345/267/245/344/275/234/345/214/272/344/270/216/345/271/263/345/217/260/344/270/223/351/241/271/344/277/235/351/232/234.md +188 -188
|
@@ -300,6 +300,10 @@ SELECT * FROM Contact WHERE OwnerId = $CurrentUser.Id$ AND Spouse = $CurrentUser
|
|
|
300
300
|
|
|
301
301
|
### 旧结构空库制作验收
|
|
302
302
|
|
|
303
|
+
业务根清理必须兼容空 ParentId 与全零 GUID,固定识别 AI 应用、OA 办公系统等明确业务树,并收集后代菜单的 DiyTableName 或经 DiyTableId 解析的真实表名;统一扣除平台公共表及保留平台包拥有的表后,才生成元数据与物理表清理 SQL。只清根菜单会留下子菜单和孤立表,不能作为成功。执行范围始终为隔离副本;验证旧版失败、新版通过及线上菜单、表单、字段、物理表零残留。
|
|
304
|
+
|
|
305
|
+
平台结构与平台种子数据分开处理:定义、字典及可移植模板采用明确保留清单,其余运行表默认清空。所有历史清理完成后,再清理孤立菜单以及 `diy_field.TableId` 为空或无所属表的字段;外键关联运行表须成组清空并恢复约束。不能只依赖制作任务已有的残留计数,必须下载最终 ZIP,在隔离数据库独立检查元数据、运行记录和平台源码保留情况。
|
|
306
|
+
|
|
303
307
|
空库脱敏生成器应只读实际物理列;组织机构旧表缺少可选父级名称列时,只写已有父级 Id,不为制作模板修改主库结构。物理字段发现失败应在输出清理 SQL 前失败关闭。验收同时覆盖有该列、缺少该列及读取失败,最终检查隔离副本和官方空库下载包。
|
|
304
308
|
|
|
305
309
|
应用文件与版本清理不得在 MySQL 5.7 的 DELETE 外连接中用 `Id = AppId OR AppKey = AppId`。先在隔离副本内物化带主键的 Id/AppKey 保留集合,分别覆盖当前商城 Id、历史 AppKey、业务应用、孤立记录与 NULL;验证新旧结果一致,源主库只读。真实 SQL 耗时与 Node 生成器测试需分别记录。
|
|
@@ -50,6 +50,8 @@ Preview 和确认均重验当前客户端、回调及 Scope;账号变化通过
|
|
|
50
50
|
|
|
51
51
|
官方升级资源属于独立控制面。`get-microi-upgrade-resource` 可以匿名读取固定白名单,但 `Publish/PublishBatch` 必须调用仅绑定该 Managed ApiEngineKey 的 `V8.Method.AuthorizeOfficialResourcePublish()`:固定 `iTdos` 官方租户、拒绝访问密钥会话,并从主库复核当前用户、状态和平台管理员角色。禁止只相信 `V8.CurrentUser.Level`,也禁止把这个可信原子复用于普通接口、租户 Hook 或表单事件;资源校验、SHA 乐观锁、事务行锁、写入及回读仍由 Managed V8 编排。
|
|
52
52
|
|
|
53
|
+
同一 Managed 会话接口包含本人初始化与敏感管理动作时,精确 `ApiRole` 不能代替动作级鉴权。SaaS v8.4.26 / `platform-sys-user-session` v1.0.5 对已归一化的 `GetSysUserPassword`,先拒绝匿名和访问密钥,再以可信 `V8.CurrentUser`、`V8.Db` 主库的本人活动状态/等级及有效管理员角色核验后调用原可信原子;不读取密码字段做授权,不使用 `DbRead`、客户端身份字段或角色名判断。标准角色授权可用于只读账号的本人会话初始化,不能把整引擎授权解释成敏感动作许可。负例使用预先确认不存在的固定用户 Id:普通账号必须先被管理员门拒绝,管理员仅验证合法路径返回不存在,禁止为验收读取任何真实密码。
|
|
54
|
+
|
|
53
55
|
<!-- microi-progressive:begin -->
|
|
54
56
|
<!-- microi-progressive:chunk id=v8-security-000 sha256=a6a4311b1a799ea4ed005b22c01cb8230509aaf09aeead5a17c8c46da74772c8 -->
|
|
55
57
|
## 0. 租户动态系统设置与密钥边界
|
|
@@ -2,9 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
> 按需读取;本文件由 SKILL.md 的原章节无损拆分。
|
|
4
4
|
|
|
5
|
-
<!-- microi-progressive:chunk id=v8-security-005 sha256=
|
|
5
|
+
<!-- microi-progressive:chunk id=v8-security-005 sha256=e0f600f6c4d6b654e358f6da229ad60d6814f198f1566c8009948072b1e6e9c2 -->
|
|
6
6
|
## 2. 权限校验
|
|
7
7
|
|
|
8
|
+
### 历史管理员等级兼容
|
|
9
|
+
|
|
10
|
+
`admin` 内置账号和名称精确为“超级管理员”的有效角色必须分别为 `9999`;还要核对账号 `RoleIds` 的权威绑定与等级快照。普通角色名称包含“管理员”不构成升级依据。数据库兼容步骤 `7.6.17.0` 独立于商城恢复门槛,按共享租约、事务、回读、授权 epoch 失效和登录投影刷新执行,失败不推进该步骤版本。
|
|
11
|
+
|
|
12
|
+
只有旧版本(早于 `7.6.15.0` 或无版本)且用户、角色均未出现 `Level>=9999` 时,才转换其它旧 `999/998` 为 `9999/9998`。新版可能把 `999/998` 用于普通业务权限,禁止无条件提升。生产专项修复先读取账号、角色、绑定用户和版本,再按明确授权精确处理;主租户可通过受控接口引擎的 `FormEngine` 显式指定子租户,必须固定目标、复核管理员身份、记录审计并回读,不能把主租户能力开放为任意跨租户参数。
|
|
13
|
+
|
|
8
14
|
### DiyToken 是平台会话与权限入口,不替换为 ASP.NET Identity
|
|
9
15
|
|
|
10
16
|
DiyToken 与 `sys_user`、`OsClient`、终端 `did`、共享 Redis 登录态、角色/部门、菜单动作、表权限、数据范围和接口引擎共同构成吾码认证授权体系。它不是“只有一个 Token 字符串”的简化登录:
|
|
@@ -37,7 +43,7 @@ DiyToken 与 `sys_user`、`OsClient`、终端 `did`、共享 Redis 登录态、
|
|
|
37
43
|
- 菜单 `SqlWhere`、`SqlJoin` / `JoinTables` 数据范围必须在服务端形成的**真实列表、计数和导出查询**中执行,不能只用于界面展示或查询后过滤。单行详情只校验同表菜单访问权,不应用这些模块列表过滤;它们也不是行级写权限。
|
|
38
44
|
- 主表新增、修改、删除分别由当前角色的 `Add`、`Edit`、`Del` 权限控制;不得把查询 SqlWhere 追加到写入 SQL,也不得因为查询包含跨表 Join 拒绝已获授权的写入。需要“仅可修改本人数据”等业务限制时,在 `SubmitBeforeServerV8` 或专用接口引擎中以可信服务器代码校验,并统一写入 `TenantId`、负责人、创建人等归属字段。
|
|
39
45
|
- 导入、导出必须携带真实菜单上下文,并分别拥有 `Import`、`Export`;不能用 Table 级直接授权绕过。
|
|
40
|
-
- 平台表必须按后端 `PlatformResourceSecurity` 分级:角色/权限、SaaS
|
|
46
|
+
- 平台表必须按后端 `PlatformResourceSecurity` 分级:角色/权限、SaaS 配置、任务、数据源、密钥和基础设施等管理员专用表,对 `Level < 9999` 的通用客户端 FormEngine 全操作硬拒绝;`diy_table/diy_field`、工作流、微服务/商店、蓝图和微应用运行元数据只允许显式授权后的 `Read/List`,增删改及导入导出仍硬拒绝;`sys_apiengine/mic_page/mic_print/sys_user` 按真实菜单或 Table 的各项操作权限管理,账号管理另外执行层级校验和密码脱敏。接口引擎菜单授权必须在服务端生效,不能要求给已授权开发角色提级到 9999;只读不等于代码写权限。
|
|
41
47
|
- 需要角色查询表/字段目录时,在 `/#/system/role` 的【表直连权限】选择 `diy_table/diy_field` 并仅授予【查】,不必强制改用接口引擎。授权包含配置与事件源码,仅授予可信角色;选列参数不构成字段权限,需限制返回字段时仍用固定投影的接口引擎。此策略由后端发布,前端读取 `GetDirectTableGrantPolicies`,不维护第二份表名白名单;不得自动给存量角色补授权。
|
|
42
48
|
- 匿名读取/新增仅适用于 `diy_table` 明确开启匿名能力的普通业务表;上述三类平台表必须先于匿名开关拒绝。
|
|
43
49
|
- 角色增删改接口不能只相信 Token 缓存或前端禁用状态,必须覆盖请求中的 `_CurrentUser/OsClient`,并从租户主库复核活动用户、数据库 Level 与有效角色 Level。角色降级要先同步受影响用户 Level,再提升共享授权 `epoch`,避免旧令牌窗口;Postman 伪造 `_IsAdmin/Level/RoleIds` 必须失败。
|
|
@@ -47,7 +53,7 @@ DiyToken 与 `sys_user`、`OsClient`、终端 `did`、共享 Redis 登录态、
|
|
|
47
53
|
|
|
48
54
|
跨租户公共发现接口可以匿名,但返回值必须采用严格字段白名单,只返回公开标识和展示信息,禁止返回 `ApiKey`、上游 Endpoint、连接串或内部配置。例如官方 AI 中转模型清单应保持 `IsEnable=1`、`StopHttp=0`、`AllowAnonymous=1`,且只返回模型 Id、展示名等公开字段;将这类被其它租户服务器调用的发现接口误改为非匿名,会让所有消费者得到空模型列表或 `NoAuth`,属于破坏性配置变更。发布和升级后必须用无 Token 的真实 HTTP 请求验证返回字段与匿名状态。
|
|
49
55
|
|
|
50
|
-
> 后端接口引擎、后端表单 V8 和平台内部调用由服务端在构造参数时设置不可由 HTTP JSON 注入的 `_TrustedServerInvocation`,因此调用 `V8.FormEngine` 不要求 `_SysMenuId`。`_InvokeType:'Server'`
|
|
56
|
+
> 后端接口引擎、后端表单 V8 和平台内部调用由服务端在构造参数时设置不可由 HTTP JSON 注入的 `_TrustedServerInvocation`,因此调用 `V8.FormEngine` 不要求 `_SysMenuId`。`_InvokeType:'Server'` 只是事件语义,伪造它不能获得信任。接口引擎标准 FormEngine 管理允许精确菜单/表操作权限委托;代码写权限意味着可信服务端执行能力,仅授予可信开发角色。其它控制面管理员门禁、接口运行权限不因此放宽。MCP 仍须独立验证 Full 范围及创建/修改、删除等专用开发授权,不能从菜单权限推导 MCP 授权。
|
|
51
57
|
|
|
52
58
|
> 外层 `AddFormData` 的客户端菜单/`Add` 权限校验与事件内部执行权是两件事:前者防止无新增权限的用户进入事件,后者允许已经进入的 `SubmitBeforeServerV8` / `SubmitAfterServerV8` 像接口引擎一样在当前租户内执行复杂 SQL、跨表事务和其它表 CRUD。不要把客户端菜单范围再次套到服务器 V8 的嵌套调用。
|
|
53
59
|
|