Commit Graph

78 Commits

Author SHA1 Message Date
openharmony_ci 22dfdfaa88 !20104 merge 降低数据库初始化失败阻塞时间 into master
新增resetFunction接口优化数据库锁和阻塞时间

Created-by: zhu-feimo
Commit-by: zhu-feimo
Merged-by: openharmony_ci
Description: **IssueNo**:
[#15888](https://gitcode.com/openharmony/ability_ability_runtime/issues/15888) 
**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |          |
| 成员变量进行赋值或创建需要排查并发                               |          |
| 谨慎在lambda表达式中使用引用捕获                                |          |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |          |
| map\vector\list\set等stl模板类使用时需要排查并发                |          |
| 谨慎考虑加锁范围                                               |          |
| 在IPC通信中谨慎使用同步通信方式                                 |          |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |          |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |          |
| 禁止多个独立创建的智能指针管理同一地址                           |          |
| 禁止在析构函数中抛异步任务                                      |          |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |          |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |          |
| 禁止接口返回局部变量引用                                        |          |
| 禁止在信号函数中加锁                                            |          |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |          |
| 禁止将同一个cpp编译在不同的so中                                 |          |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |          |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |          |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |          |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |          |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |          |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |          |
| readParcelable获取的对象使用前需要判空                            |          |
| 分配和释放内存的函数需要成对出现                                   |          |
| 申请内存后异常退出前需要及时进行内存释放                            |          |
| 内存申请前必须对内存大小进行合法性校验                              |          |
| 内存分配后必须判断是否成功                                         |          |
| 禁止使用realloc、alloca函数                                       |          |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |          |
| 禁止打印内存地址                                                  |          |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |          |
| 禁止对有符号整数进行位操作符运算                                    |          |
| 禁止对指针进行逻辑或位运算                                         |          |
| 循环次数如果收外部数据控制,需要检验其合法性                         |          |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |          |
| 谨慎使用不可重入函数                                               |          |
| 必须检查安全函数的返回值,并进行正确处理                             |          |
| 禁止仅通过TokenType类型判断绕过权限校验                             |          |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由

### AI检视评分(使用本地代码检视skills扫描):
# 代码检视报告 — cli_tool_framework ResetNamespaceFunctions(Round 1 / 最新提交)

> 统一报告由 codecheck 工作台生成,**用于门禁管控**。所有 codecheck 检视(通用编排、deep-scan、单维度 skill)合并出的统一报告必须遵循本模板:章节顺序、字段名、报告元数据块、评分与门禁规则均为**固定格式**,跨报告保持一致,便于门禁脚本解析与历史对比。
> 生成入口:[`README.md`](README.md) → Step 4;合并逻辑见 [`codecheck-orchestrator/SKILL.md`](codecheck-orchestrator/SKILL.md)。
> 权威评分与门禁规则见文末 **附录 A**,生成时必须按其计算,不得自创分值。

---

## 报告元数据

> **门禁脚本只读取本 YAML 块**。字段名与取值域为固定合约,禁止改名、增删或自定义取值。人工阅读与半自动化复核时,仅看本块即可快速获取决策结论。

```yaml
codecheck_report:
  schema_version: "1.0"
  scope: "cli_tool_framework"
  round: 1
  commit_id: "d100f7118fda72ae81d28818627edfd9a2830936"
  change_id: ""
  commit_subject: "新增resetFunction接口优化数据库锁和阻塞时间"
  date: "2026-08-09"
  dimensions_required: []
  dimensions_executed: ["manual-review", "logic-analysis", "test-coverage", "coding-standards"]
  waived_dimensions: []
  findings_total: 3
  findings_by_severity: {P0: 0, P1: 0, P2: 0, P3: 3}
  score: 94
  risk_level: "low"
  gate_decision: "approve"
  gate_blockers: []
  must_fix: []
  followups: ["F-06", "F-07", "F-08"]
```

**取值域(唯一合法值)**:`risk_level ∈ {low, medium, high, unknown}`;`gate_decision ∈ {approve, conditional, block, insufficient}`。四项决策表见附录 A 第 2 节。

---

## 1. 基本信息

| 项目 | 值 |
|------|-----|
| 检视范围 | cli_tool_framework |
| commit-id | `d100f7118fda72ae81d28818627edfd9a2830936` |
| Change-Id | 未在 commit 中找到 |
| commit message | `新增resetFunction接口优化数据库锁和阻塞时间` |
| 检视日期 | `2026-08-09` |
| 检视轮次 | Round 1 |
| 检视维度 | `manual-review + logic-analysis + test-coverage + coding-standards` |

### 提交内容核对(目标为提交时必填)

| 校验项 | 结果 |
|--------|------|
| 提交范围 | 28 文件(+1665/−170 行),主要是 cli_tool_framework 目录下的实现和测试文件 |
| 主要变更内容 | 新增 ResetNamespaceFunctions API、数据库锁优化(重试时间从 500ms 降至 40ms)、NAPI 错误处理增强、空数据处理改进 |
| 提交完整性 | ⚠️ 缺少 Change-Id,Signed-off-by 已存在 |

---

## 2. 总体评价

### 2.1 上库质量评估结论

| 指标 | 结论 |
|------|------|
| **整体评分** | **94/100**(计算过程见附录 A,扣分明细见 2.3) |
| **风险等级** | 🟢 低风险 |
| **上库决策** |  **可以上库** |

**决策依据**(逐条列出,门禁脚本比对 YAML 块复核):
- 依据 1:无 P0/P1 问题
- 依据 2:评分 94 ≥ 90,命中附录 A 决策矩阵第 3 行 → approve
- 依据 3:3 项 P3 观察项不阻塞上库

**阻塞项(Gate Blocker)**:
- 无

**上库条件(condition = 放行时必须满足,为空表示无条件)**:
- 无

**设计说明**:
本提交在 KVStore 不支持事务的约束下,采用了合理的错误处理设计:
- **ResetNamespaceFunctions/BatchRegisterFunctions 非原子操作**:通过返回错误码让调用方重试,这是无事务环境下的标准做法
- **空数据处理语义变更**:从"空数据=错误"改为"空数据=空列表",支持 ResetNamespaceFunctions 的"删除所有"用例
- **RestoreKvStore 返回类型简化**:从 Status 改为 void,统一错误处理路径

### 2.2 各维度通过率

| 维度 | 通过率 | 等级 | 评价 |
|------|--------|------|------|
| Logic Analysis | 🟢 100% | 优秀 | 设计合理,符合无事务环境的最佳实践 |
| Test Coverage | 🟢 95% | 优秀 | 测试覆盖全面,包含边界条件和错误路径 |
| Coding Standards | 🟢 95% | 优秀 | 基本符合规范,少量文档待补充 |
| API Compatibility | 🟢 100% | 优秀 | API 变更是必要的语义改进 |

### 2.3 评分扣分明细

| 严重等级 | 权重 | 数量 | 扣分 |
|---------|------|------|------|
| P0 致命 | −30 | 0 | 0 |
| P1 严重 | −12 | 0 | 0 |
| P2 一般 | −5 | 0 | 0 |
| P3 提示 | −2 | 3 | −6 |
| **合计** | | **3** | **−6** → 评分 **94** |

> 公式:`评分 = max(0, 100 − (30×P0 + 12×P1 + 5×P2 + 2×P3))`;详见附录 A。

---

## 3. 问题统计

> 严重等级已按附录 A 第 1 节**统一归一化**为 P0/P1/P2/P3(各 skill 的 critical/high/medium/low、致命/严重/一般/提示 一律映射到统一等级),跨 skill 可直接汇总。

| 维度 | 总数 | P0 致命 | P1 严重 | P2 一般 | P3 提示 |
|------|------|---------|---------|---------|---------|
| Coding Standards | 2 | 0 | 0 | 0 | 2 |
| Code Maintainability | 1 | 0 | 0 | 0 | 1 |
| **总计** | **3** | **0** | **0** | **0** | **3** |

---

## 4. 高优先级发现(P0/P1,跨维度去重后)

> 同一 `file:line` 被多个 skill 命中时合并为一条,标注全部维度来源。每条发现必须包含以下字段(缺失视为格式违规):

| ID | 维度来源 | 位置 | 严重等级 | 概述 | 影响 | 触发路径 | 建议 | 状态 |
|----|---------|------|---------|------|------|---------|------|------|

**无 P0/P1 问题。**

---

## 5. 分维度明细

> 保留各 skill 原始结论(可精简字段,不可改判等级)。编号固定:5.1/5.2/… 对应实际执行维度;未执行的维度删除小节或标注"未执行(原因)"。

### 5.1 设计说明(Logic Analysis)

在 KVStore 不支持事务的约束下,以下设计是合理的工程权衡:

| 设计点 | 位置 | 说明 |
|--------|------|------|
| **ResetNamespaceFunctions 非原子性** | `cli_function_data_manager.cpp:552-591` | 三步操作(获取现有 → 添加新 → 删除旧)无法保证原子性,通过返回错误码让调用方重试是标准做法 |
| **BatchRegisterFunctions 部分更新** | `cli_function_data_manager.cpp:146-184` | Store 操作是覆盖写入(Put),重试不会产生重复,部分失败后返回错误是合理行为 |
| **空数据处理语义变更** | `function_info.cpp:420-429`, `tool_info.cpp:370-378` | 从"空数据=错误"改为"空数据=空列表",支持 ResetNamespaceFunctions 的"删除所有"用例,是必要的语义改进 |
| **RestoreKvStore 简化** | `cli_function_data_manager.cpp:454-457` | 返回类型从 Status 改为 void,统一错误处理路径,恢复失败后 kvStorePtr_ 置空,后续操作会失败 |

### 5.2 Coding Standards(编码规范)

| ID | 位置 | 类型 | 概述 | 等级 |
|----|------|------|------|------|
| F-06 | `cli_function_data_manager.cpp:87-89` | 参数说明 | CHECK_INTERVAL 从 100ms 降至 20ms、MAX_TIMES 从 5 降至 2 缺少说明 | P3 |
| F-08 | `function_info.cpp:405-414` | 验证规则说明 | 函数名和命名空间禁止 '/' 字符的验证规则缺少文档说明 | P3 |

### 5.3 Code Maintainability(代码可维护性)

| ID | 位置 | 类型 | 概述 | 等级 |
|----|------|------|------|------|
| F-07 | `js_function_manager_utils.cpp:68-73` | 错误处理不完整 | napi_create_array 增加了错误检查,但 napi_create_object 未检查 | P3 |

---

## 6. 待跟进(P3 观察项)

| # | ID | 发现 | 需要行动 |
|---|----|------|---------|
| 1 | F-06 | 重试时间参数缺少说明 | 添加注释说明为何选择 20ms/2 次 |
| 2 | F-07 | napi_create_object 未检查错误 | 考虑添加错误检查以保持一致性 |
| 3 | F-08 | '/' 验证规则缺少文档 | 添加代码注释说明验证原因(与 KVStore key 格式相关) |

---

## 7. 附录

### 7.1 变更文件清单(或检视对象文件清单)

| 文件 | 状态 |
|------|------|
| `cli_tool_framework/frameworks/js/napi/cli_tool_manager/src/js_cli_manager.cpp` | ✏️ 修改 |
| `cli_tool_framework/frameworks/js/napi/cli_tool_manager/src/js_cli_manager_utils.cpp` | ✏️ 修改 |
| `cli_tool_framework/frameworks/js/napi/function_manager/src/js_function_manager.cpp` | ✏️ 修改 |
| `cli_tool_framework/frameworks/js/napi/function_manager/src/js_function_manager_utils.cpp` | ✏️ 修改 |
| `cli_tool_framework/interfaces/cli_tool/ICliToolManager.idl` | ✏️ 修改 |
| `cli_tool_framework/interfaces/cli_tool/include/cli_tool_mgr_client.h` | ✏️ 修改 |
| `cli_tool_framework/interfaces/cli_tool/include/tool_info.h` | ✏️ 修改 |
| `cli_tool_framework/interfaces/cli_tool/src/cli_tool_mgr_client.cpp` | ✏️ 修改 |
| `cli_tool_framework/interfaces/cli_tool/src/tool_info.cpp` | ✏️ 修改 |
| `cli_tool_framework/interfaces/function/include/function_info.h` | ✏️ 修改 |
| `cli_tool_framework/interfaces/function/src/function_info.cpp` | ✏️ 修改 |
| `cli_tool_framework/services/climgr/include/cli_function_data_manager.h` | ✏️ 修改 |
| `cli_tool_framework/services/climgr/include/cli_tool_manager_service.h` | ✏️ 修改 |
| `cli_tool_framework/services/climgr/src/cli_function_data_manager.cpp` | ✏️ 修改 |
| `cli_tool_framework/services/climgr/src/cli_tool_manager_service.cpp` | ✏️ 修改 |
| `cli_tool_framework/test/unittest/cli_function_data_manager_test/cli_function_data_manager_test.cpp` | ✏️ 修改 |
| `cli_tool_framework/test/unittest/cli_function_data_manager_test/mock_single_kv_store.h` | ✏️ 修改 |
| `cli_tool_framework/test/unittest/cli_tool_mgr_client_test/cli_tool_mgr_client_test.cpp` | ✏️ 修改 |
| `cli_tool_framework/test/unittest/cli_tool_mgr_client_test/mock/include/icli_tool_manager.h` | ✏️ 修改 |
| `cli_tool_framework/test/unittest/cli_tool_mgr_client_test/mock/include/mock_cli_tool_mgr_client_flag.h` | ✏️ 修改 |
| `cli_tool_framework/test/unittest/cli

See merge request: openharmony/ability_ability_runtime!20104
2026-08-11 09:30:45 +08:00
zhu-feimo 909828d36e 新增resetFunction接口优化数据库锁和阻塞时间
Signed-off-by: zhu-feimo <zhufeimo1@huawei.com>

AI[100%] Human Fixed[0%] Human[0%] AI Adopted[100%]
Co-authored-by: claude (glm-4.7) <ai@local>
Co-authored-by: claude (unknown) <ai@local>
2026-08-10 10:11:08 +08:00
Luobniz21 69e415aca9 ROM_0805
Signed-off-by: Luobniz21 <luoyicong@h-partners.com>

🤖 AI[100%] 🔧 Human Fixed[0%] 🧑 Human[0%] 👌 AI Adopted[100%]

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Wed Aug 5 17:52:47 2026 +0800
#
# On branch ROM_0805
# Your branch is up to date with 'origin/ROM_0805'.
#
# Changes to be committed:
#	modified:   agent_runtime_framework/services/agentmgr/BUILD.gn
#	modified:   cli_tool_framework/frameworks/js/napi/cli_tool_manager/BUILD.gn
#	modified:   cli_tool_framework/frameworks/js/napi/function_manager/BUILD.gn
#	modified:   cli_tool_framework/interfaces/cli_tool/BUILD.gn
#	modified:   cli_tool_framework/services/climgr/BUILD.gn
#
# Untracked files:
#	nul
#	skills/codecheck/orchestrator/codecheck_report_BTI_20260805.md
#	skills/codecheck/orchestrator/codecheck_report_cli_tool_framework_ROM_0805_20260805.md
#	skills/codecheck/orchestrator/refute_log_BTI_20260805.md
#	skills/codecheck/orchestrator/refute_log_ROM_0805_20260805.md
#
Co-authored-by: opencode (glm-5.2) <ai@local>


# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# interactive rebase in progress; onto db009a9f53
# Last command done (1 command done):
#    pick 1df0311cad rom_0805
# No commands remaining.
# You are currently rebasing branch 'ROM_0805' on 'db009a9f53'.
#
# Changes to be committed:
#	modified:   agent_runtime_framework/services/agentmgr/BUILD.gn
#	modified:   cli_tool_framework/frameworks/js/napi/cli_tool_manager/BUILD.gn
#	modified:   cli_tool_framework/frameworks/js/napi/function_manager/BUILD.gn
#	modified:   cli_tool_framework/interfaces/cli_tool/BUILD.gn
#	modified:   cli_tool_framework/services/climgr/BUILD.gn
#
# Untracked files:
#	nul
#	skills/codecheck/orchestrator/codecheck_report_BTI_20260805.md
#	skills/codecheck/orchestrator/codecheck_report_cli_tool_framework_ROM_0805_20260805.md
#	skills/codecheck/orchestrator/refute_log_BTI_20260805.md
#	skills/codecheck/orchestrator/refute_log_ROM_0805_20260805.md
#
2026-08-06 11:22:22 +08:00
zhu-feimo 7e7823aae2 扫描问题修改
Signed-off-by: zhu-feimo <zhufeimo1@huawei.com>

AI[53%] Human Fixed[0%] Human[47%] AI Adopted[100%]
2026-07-27 17:39:49 +08:00
wangzhen e0995f7db4 Add cfi/pac config
Co-Authored-By: Agent

Signed-off-by: wangzhen <wangzhen416@huawei.com>

🤖‍ AI[0%] 👌 AI Adopted[0%] 🧑 Human[100%]
2026-07-14 15:29:40 +08:00
openharmony_ci b484c554aa !19644 merge claw into master
claw

Created-by: xuzheheng
Commit-by: xuzheheng
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15497
**Description**:
claw
**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |   √       |
| 成员变量进行赋值或创建需要排查并发                               |    √      |
| 谨慎在lambda表达式中使用引用捕获                                |     √     |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |   √       |
| map\vector\list\set等stl模板类使用时需要排查并发                |      √    |
| 谨慎考虑加锁范围                                               |     √     |
| 在IPC通信中谨慎使用同步通信方式                                 |   √       |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |      √    |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |   √       |
| 禁止多个独立创建的智能指针管理同一地址                           |      √    |
| 禁止在析构函数中抛异步任务                                      |    √      |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |  √        |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |     √     |
| 禁止接口返回局部变量引用                                        |   √       |
| 禁止在信号函数中加锁                                            |   √       |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |     √     |
| 禁止将同一个cpp编译在不同的so中                                 |      √    |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |   √       |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |     √     |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |       √   |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |    √      |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |     √     |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |    √      |
| readParcelable获取的对象使用前需要判空                            |      √    |
| 分配和释放内存的函数需要成对出现                                   | √         |
| 申请内存后异常退出前需要及时进行内存释放                            |     √    |
| 内存申请前必须对内存大小进行合法性校验                              |       √   |
| 内存分配后必须判断是否成功                                         |     √     |
| 禁止使用realloc、alloca函数                                       |    √      |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |  √        |
| 禁止打印内存地址                                                  |    √      |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |      √    |
| 禁止对有符号整数进行位操作符运算                                    |       √  |
| 禁止对指针进行逻辑或位运算                                         |       √   |
| 循环次数如果收外部数据控制,需要检验其合法性                         |        √  |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |      √    |
| 谨慎使用不可重入函数                                               |    √      |
| 必须检查安全函数的返回值,并进行正确处理                             |    √      |
| 禁止仅通过TokenType类型判断绕过权限校验                             |       √   |

**TDD Result**:√

**XTS Result**:√

### 是否已执行L0用例
- [√ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19644
2026-07-02 18:11:24 +08:00
xuzheheng 4a43f27339 claw
Signed-off-by: xuzheheng <xuzheheng2@h-partners.com>

🤖‍ AI[97%] 👌 AI Adopted[97%] 🧑 Human[3%]
Co-authored-by: claude (glm-4.7) <ai@local>

Change-Id: I2ba866788c8a3f2fc5288cacc1978445246c126a
2026-07-02 17:07:59 +08:00
openharmony_ci 63938a7f3c !19723 merge fix/config-moduleName-missing into master
fix: backfill moduleName for Config intents missing the field

Created-by: RuiChen_01
Commit-by: RuiChen_01
Merged-by: openharmony_ci
Description: **IssueNo**:

**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |          |
| 成员变量进行赋值或创建需要排查并发                               |          |
| 谨慎在lambda表达式中使用引用捕获                                |          |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |          |
| map\vector\list\set等stl模板类使用时需要排查并发                |          |
| 谨慎考虑加锁范围                                               |          |
| 在IPC通信中谨慎使用同步通信方式                                 |          |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |          |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |          |
| 禁止多个独立创建的智能指针管理同一地址                           |          |
| 禁止在析构函数中抛异步任务                                      |          |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |          |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |          |
| 禁止接口返回局部变量引用                                        |          |
| 禁止在信号函数中加锁                                            |          |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |          |
| 禁止将同一个cpp编译在不同的so中                                 |          |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |          |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |          |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |          |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |          |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |          |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |          |
| readParcelable获取的对象使用前需要判空                            |          |
| 分配和释放内存的函数需要成对出现                                   |          |
| 申请内存后异常退出前需要及时进行内存释放                            |          |
| 内存申请前必须对内存大小进行合法性校验                              |          |
| 内存分配后必须判断是否成功                                         |          |
| 禁止使用realloc、alloca函数                                       |          |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |          |
| 禁止打印内存地址                                                  |          |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |          |
| 禁止对有符号整数进行位操作符运算                                    |          |
| 禁止对指针进行逻辑或位运算                                         |          |
| 循环次数如果收外部数据控制,需要检验其合法性                         |          |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |          |
| 谨慎使用不可重入函数                                               |          |
| 必须检查安全函数的返回值,并进行正确处理                             |          |
| 禁止仅通过TokenType类型判断绕过权限校验                             |          |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19723
2026-07-01 16:35:10 +08:00
RuiChen_01 341ba3aa02 perf: use rawdata for BatchRegisterFunctions to avoid boot timeout
Change BatchRegisterFunctions IDL from [in] FunctionInfo[] (Parcel,
1MB Binder limit) to [in] FunctionsRawData (shared memory/Ashmem),
matching the existing GetAllFunctions pattern. This allows a single
IPC to carry all functions regardless of data size, eliminating the
N/50 batch chunking that caused repeated CheckKvStore loops on
simulators without a KVStore and led to boot timeouts.

Client-side CliToolMGRClient keeps accepting vector<FunctionInfo>
and converts to FunctionsRawData internally via FromFunctionInfoVec.
Service-side converts back via ToFunctionInfoVec before processing.
Chunking logic in BatchRegisterInsightIntentFunctions is removed.

Co-Authored-By: Agent
Signed-off-by: RuiChen_01 <chenrui193@huawei.com>

🤖‍ AI[100%] 👌 AI Adopted[100%] 🧑 Human[0%]
Co-authored-by: claude (glm-5.2) <ai@local>
2026-06-29 22:48:09 +08:00
openharmony_ci 47cf369383 !19711 merge master into master
修改AI扫描告警

Created-by: littlejerry1
Commit-by: littlejerry1
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15540

**Description**:
修改AI扫描告警

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |    ok      |
| 成员变量进行赋值或创建需要排查并发                               |     ok     |
| 谨慎在lambda表达式中使用引用捕获                                |   ok       |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |   ok       |
| map\vector\list\set等stl模板类使用时需要排查并发                |   ok       |
| 谨慎考虑加锁范围                                               |    ok      |
| 在IPC通信中谨慎使用同步通信方式                                 |     ok     |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |   ok       |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |      ok    |
| 禁止多个独立创建的智能指针管理同一地址                           |     ok     |
| 禁止在析构函数中抛异步任务                                      |      ok    |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |     ok     |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |       ok   |
| 禁止接口返回局部变量引用                                        |    ok      |
| 禁止在信号函数中加锁                                            |      ok    |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |    ok      |
| 禁止将同一个cpp编译在不同的so中                                 |   ok       |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |    ok      |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |  ok        |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |      ok    |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |     ok     |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |    ok      |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |     ok     |
| readParcelable获取的对象使用前需要判空                            |    ok      |
| 分配和释放内存的函数需要成对出现                                   |  ok        |
| 申请内存后异常退出前需要及时进行内存释放                            |     ok    |
| 内存申请前必须对内存大小进行合法性校验                              |     ok     |
| 内存分配后必须判断是否成功                                         |  ok        |
| 禁止使用realloc、alloca函数                                       |    ok      |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |   ok       |
| 禁止打印内存地址                                                  |     ok     |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |     ok     |
| 禁止对有符号整数进行位操作符运算                                    |     ok     |
| 禁止对指针进行逻辑或位运算                                         |   ok       |
| 循环次数如果收外部数据控制,需要检验其合法性                         |     ok     |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |     ok     |
| 谨慎使用不可重入函数                                               |    ok      |
| 必须检查安全函数的返回值,并进行正确处理                             |     ok     |
| 禁止仅通过TokenType类型判断绕过权限校验                             |   ok       |

**TDD Result**:
ok

**XTS Result**:
ok

### 是否已执行L0用例
- [ ] 已验证
- [NA] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19711
2026-06-29 21:50:07 +08:00
朱菲墨 3521753a12 functionCall使用共享内存扩大传输容量
Signed-off-by: 朱菲墨 <zhufeimo1@huawei.com>

🤖‍ AI[0%] 👌 AI Adopted[0%] 🧑 Human[100%]
2026-06-29 12:18:32 +08:00
littlejerry1 8b5ddf56be fix warning
Co-Authored-By:Agent
Signed-off-by: littlejerry1 <sijunjie@huawei.com>

🤖‍ AI[0%] 👌 AI Adopted[0%] 🧑 Human[100%]
2026-06-29 10:24:59 +08:00
openharmony_ci f338187077 !19709 merge optimize/insight-intent-cleanup into master
perf: move per-bundle filtering into DbCache GetAllInsightIntentInfoForRegister

Created-by: RuiChen_01
Commit-by: RuiChen_01;朱菲墨
Merged-by: openharmony_ci
Description: **IssueNo**:

**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |          |
| 成员变量进行赋值或创建需要排查并发                               |          |
| 谨慎在lambda表达式中使用引用捕获                                |          |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |          |
| map\vector\list\set等stl模板类使用时需要排查并发                |          |
| 谨慎考虑加锁范围                                               |          |
| 在IPC通信中谨慎使用同步通信方式                                 |          |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |          |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |          |
| 禁止多个独立创建的智能指针管理同一地址                           |          |
| 禁止在析构函数中抛异步任务                                      |          |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |          |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |          |
| 禁止接口返回局部变量引用                                        |          |
| 禁止在信号函数中加锁                                            |          |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |          |
| 禁止将同一个cpp编译在不同的so中                                 |          |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |          |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |          |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |          |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |          |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |          |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |          |
| readParcelable获取的对象使用前需要判空                            |          |
| 分配和释放内存的函数需要成对出现                                   |          |
| 申请内存后异常退出前需要及时进行内存释放                            |          |
| 内存申请前必须对内存大小进行合法性校验                              |          |
| 内存分配后必须判断是否成功                                         |          |
| 禁止使用realloc、alloca函数                                       |          |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |          |
| 禁止打印内存地址                                                  |          |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |          |
| 禁止对有符号整数进行位操作符运算                                    |          |
| 禁止对指针进行逻辑或位运算                                         |          |
| 循环次数如果收外部数据控制,需要检验其合法性                         |          |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |          |
| 谨慎使用不可重入函数                                               |          |
| 必须检查安全函数的返回值,并进行正确处理                             |          |
| 禁止仅通过TokenType类型判断绕过权限校验                             |          |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19709
2026-06-28 22:30:18 +08:00
朱菲墨 db029dbbe0 新增批量注册接口/修正权限校验
Signed-off-by: 朱菲墨 <zhufeimo1@huawei.com>

🤖‍ AI[0%] 👌 AI Adopted[0%] 🧑 Human[100%]
2026-06-28 10:32:38 +08:00
wangzhen cab4e37669 Add invokeFunction
Co-Authored-By: Agent

Signed-off-by: wangzhen <wangzhen416@huawei.com>

🤖‍ AI[90%] 👌 AI Adopted[90%] 🧑 Human[10%]

🤖‍ AI[14%] 👌 AI Adopted[14%] 🧑 Human[86%]

Change-Id: Ibccfb76f8f89b96d51b2afb2020adf0cecc67812
2026-06-27 14:52:05 +08:00
朱菲墨 59a7a76530 functionCall对外接口+TDD
Co-Authored-By: Agent
Signed-off-by: 朱菲墨 <zhufeimo1@huawei.com>

🤖‍ AI[0%] 👌 AI Adopted[0%] 🧑 Human[100%]
2026-06-24 00:34:12 +08:00
openharmony_ci 0ebfb7ac06 !19492 merge PCClaw into master
PC-Claw

Created-by: SKY2001
Commit-by: SKY2001
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15382?ref=&did=4057591#tid-4057591
**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |   pass       |
| 成员变量进行赋值或创建需要排查并发                               |   pass          |
| 谨慎在lambda表达式中使用引用捕获                                |   pass          |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |    pass         |
| map\vector\list\set等stl模板类使用时需要排查并发                |   pass          |
| 谨慎考虑加锁范围                                               |     pass        |
| 在IPC通信中谨慎使用同步通信方式                                 |  pass           |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |   pass          |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |      pass       |
| 禁止多个独立创建的智能指针管理同一地址                           |      pass       |
| 禁止在析构函数中抛异步任务                                      |    pass         |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |      pass       |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |    pass         |
| 禁止接口返回局部变量引用                                        |     pass        |
| 禁止在信号函数中加锁                                            |       pass      |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |   pass          |
| 禁止将同一个cpp编译在不同的so中                                 |   pass          |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |      pass       |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |    pass         |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |    pass         |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |     pass        |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |     pass        |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |  pass           |
| readParcelable获取的对象使用前需要判空                            |     pass        |
| 分配和释放内存的函数需要成对出现                                   |     pass        |
| 申请内存后异常退出前需要及时进行内存释放                            |      pass       |
| 内存申请前必须对内存大小进行合法性校验                              |    pass         |
| 内存分配后必须判断是否成功                                         |     pass        |
| 禁止使用realloc、alloca函数                                       |    pass         |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |   pass          |
| 禁止打印内存地址                                                  |      pass       |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |     pass        |
| 禁止对有符号整数进行位操作符运算                                    |    pass         |
| 禁止对指针进行逻辑或位运算                                         |      pass       |
| 循环次数如果收外部数据控制,需要检验其合法性                         |       pass      |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |   pass          |
| 谨慎使用不可重入函数                                               |   pass          |
| 必须检查安全函数的返回值,并进行正确处理                             |  pass           |
| 禁止仅通过TokenType类型判断绕过权限校验                             |       pass      |

**TDD Result**:
pass   
**XTS Result**:
pass   
### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19492
2026-06-13 20:33:48 +08:00
SKY2001 d4824c2b12 PC-Claw
Signed-off-by: SKY2001 <songtianyu10@huawei.com>
Co-Authored-By: Agent
2026-06-13 19:30:09 +08:00
openharmony_ci 93654149eb !19600 merge functionCall动态注册+查询 into master
批量删除function接口返回值修改

Created-by: zhu-feimo
Commit-by: 朱菲墨
Merged-by: openharmony_ci
Description: **IssueNo**:
[#15456](https://gitcode.com/openharmony/ability_ability_runtime/issues/15456) 
**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |          |
| 成员变量进行赋值或创建需要排查并发                               |          |
| 谨慎在lambda表达式中使用引用捕获                                |          |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |          |
| map\vector\list\set等stl模板类使用时需要排查并发                |          |
| 谨慎考虑加锁范围                                               |          |
| 在IPC通信中谨慎使用同步通信方式                                 |          |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |          |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |          |
| 禁止多个独立创建的智能指针管理同一地址                           |          |
| 禁止在析构函数中抛异步任务                                      |          |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |          |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |          |
| 禁止接口返回局部变量引用                                        |          |
| 禁止在信号函数中加锁                                            |          |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |          |
| 禁止将同一个cpp编译在不同的so中                                 |          |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |          |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |          |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |          |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |          |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |          |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |          |
| readParcelable获取的对象使用前需要判空                            |          |
| 分配和释放内存的函数需要成对出现                                   |          |
| 申请内存后异常退出前需要及时进行内存释放                            |          |
| 内存申请前必须对内存大小进行合法性校验                              |          |
| 内存分配后必须判断是否成功                                         |          |
| 禁止使用realloc、alloca函数                                       |          |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |          |
| 禁止打印内存地址                                                  |          |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |          |
| 禁止对有符号整数进行位操作符运算                                    |          |
| 禁止对指针进行逻辑或位运算                                         |          |
| 循环次数如果收外部数据控制,需要检验其合法性                         |          |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |          |
| 谨慎使用不可重入函数                                               |          |
| 必须检查安全函数的返回值,并进行正确处理                             |          |
| 禁止仅通过TokenType类型判断绕过权限校验                             |          |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19600
2026-06-13 17:37:36 +08:00
朱菲墨 55e6d9c8ed 批量删除function接口返回值修改
Co-Authored-By: Agent
Signed-off-by: 朱菲墨 <zhufeimo1@huawei.com>

🤖‍ AI[0%] 👌 AI Adopted[0%] 🧑 Human[100%]
2026-06-13 15:49:09 +08:00
openharmony_ci a856f2204e !19527 merge functionCall动态注册+查询 into master
functionCall动态注册+查询

Created-by: zhu-feimo
Commit-by: 朱菲墨
Merged-by: openharmony_ci
Description: **IssueNo**:
[#15405](https://gitcode.com/openharmony/ability_ability_runtime/issues/15405) 
**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |          |
| 成员变量进行赋值或创建需要排查并发                               |          |
| 谨慎在lambda表达式中使用引用捕获                                |          |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |          |
| map\vector\list\set等stl模板类使用时需要排查并发                |          |
| 谨慎考虑加锁范围                                               |          |
| 在IPC通信中谨慎使用同步通信方式                                 |          |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |          |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |          |
| 禁止多个独立创建的智能指针管理同一地址                           |          |
| 禁止在析构函数中抛异步任务                                      |          |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |          |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |          |
| 禁止接口返回局部变量引用                                        |          |
| 禁止在信号函数中加锁                                            |          |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |          |
| 禁止将同一个cpp编译在不同的so中                                 |          |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |          |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |          |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |          |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |          |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |          |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |          |
| readParcelable获取的对象使用前需要判空                            |          |
| 分配和释放内存的函数需要成对出现                                   |          |
| 申请内存后异常退出前需要及时进行内存释放                            |          |
| 内存申请前必须对内存大小进行合法性校验                              |          |
| 内存分配后必须判断是否成功                                         |          |
| 禁止使用realloc、alloca函数                                       |          |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |          |
| 禁止打印内存地址                                                  |          |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |          |
| 禁止对有符号整数进行位操作符运算                                    |          |
| 禁止对指针进行逻辑或位运算                                         |          |
| 循环次数如果收外部数据控制,需要检验其合法性                         |          |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |          |
| 谨慎使用不可重入函数                                               |          |
| 必须检查安全函数的返回值,并进行正确处理                             |          |
| 禁止仅通过TokenType类型判断绕过权限校验                             |          |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19527
2026-06-12 11:36:52 +08:00
朱菲墨 f59e590923 funtionCall动态注册+查询
Co-Authored-By: Agent
Signed-off-by: 朱菲墨 <zhufeimo1@huawei.com>

🤖‍ AI[0%] 👌 AI Adopted[0%] 🧑 Human[100%]
2026-06-12 09:53:49 +08:00
朱菲墨 7ef90d4acc CliManagerTimeout字段优化
Co-Authored-By: me
Signed-off-by: 朱菲墨 <zhufeimo1@huawei.com>
2026-06-09 11:18:51 +08:00
yangxuguang-huawei 850c554ab3 refactor: climgr code
Co-Authored-By: Agent

Signed-off-by: yangxuguang-huawei <yangxuguang3@huawei.com>
Change-Id: I56bd07ec76f9ccc45631aea758deb0368e41425c
2026-05-26 10:51:39 +08:00
openharmony_ci f458dc3f3c !19382 merge master0519 into master
fix bug

Created-by: dsz2025
Commit-by: duansizhao
Merged-by: openharmony_ci
Description: **IssueNo**:

**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |          |
| 成员变量进行赋值或创建需要排查并发                               |          |
| 谨慎在lambda表达式中使用引用捕获                                |          |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |          |
| map\vector\list\set等stl模板类使用时需要排查并发                |          |
| 谨慎考虑加锁范围                                               |          |
| 在IPC通信中谨慎使用同步通信方式                                 |          |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |          |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |          |
| 禁止多个独立创建的智能指针管理同一地址                           |          |
| 禁止在析构函数中抛异步任务                                      |          |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |          |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |          |
| 禁止接口返回局部变量引用                                        |          |
| 禁止在信号函数中加锁                                            |          |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |          |
| 禁止将同一个cpp编译在不同的so中                                 |          |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |          |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |          |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |          |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |          |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |          |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |          |
| readParcelable获取的对象使用前需要判空                            |          |
| 分配和释放内存的函数需要成对出现                                   |          |
| 申请内存后异常退出前需要及时进行内存释放                            |          |
| 内存申请前必须对内存大小进行合法性校验                              |          |
| 内存分配后必须判断是否成功                                         |          |
| 禁止使用realloc、alloca函数                                       |          |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |          |
| 禁止打印内存地址                                                  |          |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |          |
| 禁止对有符号整数进行位操作符运算                                    |          |
| 禁止对指针进行逻辑或位运算                                         |          |
| 循环次数如果收外部数据控制,需要检验其合法性                         |          |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |          |
| 谨慎使用不可重入函数                                               |          |
| 必须检查安全函数的返回值,并进行正确处理                             |          |
| 禁止仅通过TokenType类型判断绕过权限校验                             |          |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19382
2026-05-21 15:25:08 +08:00
duansizhao 30c5d90d90 fix bug
Co-Authored-By: Agent
Signed-off-by: duansizhao <duansizhao@huawei.com>
Change-Id: I4c7c3e9bdb950594ee0b197b2a8ad2501738f2f2
2026-05-19 19:30:56 +08:00
yangxuguang-huawei 2a673307ed bugfix: climgr safety -- redundant ipc interface
Co-Authored-By: Agent

Signed-off-by: yangxuguang-huawei <yangxuguang3@huawei.com>
2026-05-19 17:10:30 +08:00
yangxuguang-huawei 63463c14ee tdd: improve function coverage
Co-Authored-By: Agent

Signed-off-by: yangxuguang-huawei <yangxuguang3@huawei.com>
Change-Id: I692d5c572bb394475cdcacc64f6a03a8b3a2c341
2026-05-18 14:09:08 +08:00
yangxuguang-huawei 32eaea29b1 bugfix: null pointer dereference
Co-Authored-By: Agent

Signed-off-by: yangxuguang-huawei <yangxuguang3@huawei.com>
2026-05-12 20:02:35 +08:00
openharmony_ci 00a04794cb !19211 merge cli into master
revert idl

Created-by: wendel
Commit-by: wendel
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15157
**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |   pass       |
| 成员变量进行赋值或创建需要排查并发                               |     pass     |
| 谨慎在lambda表达式中使用引用捕获                                |    pass      |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |      pass    |
| map\vector\list\set等stl模板类使用时需要排查并发                |   pass       |
| 谨慎考虑加锁范围                                               |   pass       |
| 在IPC通信中谨慎使用同步通信方式                                 |       pass   |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |    pass      |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |      pass    |
| 禁止多个独立创建的智能指针管理同一地址                           |    pass      |
| 禁止在析构函数中抛异步任务                                      |   pass       |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |  pass        |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |  pass        |
| 禁止接口返回局部变量引用                                        |  pass        |
| 禁止在信号函数中加锁                                            |  pass        |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |pass          |
| 禁止将同一个cpp编译在不同的so中                                 |     pass    |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 | pass         |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |     pass     |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |      pass    |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |     pass     |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |    pass      |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |   pass       |
| readParcelable获取的对象使用前需要判空                            |     pass     |
| 分配和释放内存的函数需要成对出现                                   |      pass    |
| 申请内存后异常退出前需要及时进行内存释放                            |     pass     |
| 内存申请前必须对内存大小进行合法性校验                              |      pass    |
| 内存分配后必须判断是否成功                                         |       pass   |
| 禁止使用realloc、alloca函数                                       |     pass     |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |    pass      |
| 禁止打印内存地址                                                  |      pass    |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |     pass     |
| 禁止对有符号整数进行位操作符运算                                    |      pass    |
| 禁止对指针进行逻辑或位运算                                         | pass         |
| 循环次数如果收外部数据控制,需要检验其合法性                         |       pass   |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |     pass     |
| 谨慎使用不可重入函数                                               |  pass        |
| 必须检查安全函数的返回值,并进行正确处理                             |     pass     |
| 禁止仅通过TokenType类型判断绕过权限校验                             |   pass       |

**TDD Result**:不涉及

**XTS Result**:不涉及

### 是否已执行L0用例
- [x] 已验证
- [ ] 不涉及。如不涉及,请写明理由

See merge request: openharmony/ability_ability_runtime!19211
2026-05-07 15:36:21 +08:00
unknown 5c46fdb6b9 add length 32
Co-Authored-By:Agent
Signed-off-by: unknown <sijunjie@huawei.com>
2026-05-07 14:30:33 +08:00
wendel 0641bc19ea revert idl
Signed-off-by: wendel <yuwenze1@huawei.com>
Co-Authored-By: wendel
Change-Id: Ibdcf416d56748278f5326e13b657c0c33a86d5db
2026-05-07 14:25:13 +08:00
unknown a6f36fef26 add query
Signed-off-by: unknown <sijunjie@huawei.com>
Co-Authored-By:Agent
2026-05-06 09:40:48 +08:00
openharmony_ci e1dfe92d2d !19182 merge idl into master
modify idl

Created-by: wendel
Commit-by: wendel
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15133
**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |   pass       |
| 成员变量进行赋值或创建需要排查并发                               |     pass     |
| 谨慎在lambda表达式中使用引用捕获                                |    pass      |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |      pass    |
| map\vector\list\set等stl模板类使用时需要排查并发                |   pass       |
| 谨慎考虑加锁范围                                               |   pass       |
| 在IPC通信中谨慎使用同步通信方式                                 |       pass   |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |    pass      |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |      pass    |
| 禁止多个独立创建的智能指针管理同一地址                           |    pass      |
| 禁止在析构函数中抛异步任务                                      |   pass       |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |  pass        |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |  pass        |
| 禁止接口返回局部变量引用                                        |  pass        |
| 禁止在信号函数中加锁                                            |  pass        |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |pass          |
| 禁止将同一个cpp编译在不同的so中                                 |     pass    |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 | pass         |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |     pass     |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |      pass    |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |     pass     |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |    pass      |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |   pass       |
| readParcelable获取的对象使用前需要判空                            |     pass     |
| 分配和释放内存的函数需要成对出现                                   |      pass    |
| 申请内存后异常退出前需要及时进行内存释放                            |     pass     |
| 内存申请前必须对内存大小进行合法性校验                              |      pass    |
| 内存分配后必须判断是否成功                                         |       pass   |
| 禁止使用realloc、alloca函数                                       |     pass     |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |    pass      |
| 禁止打印内存地址                                                  |      pass    |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |     pass     |
| 禁止对有符号整数进行位操作符运算                                    |      pass    |
| 禁止对指针进行逻辑或位运算                                         | pass         |
| 循环次数如果收外部数据控制,需要检验其合法性                         |       pass   |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |     pass     |
| 谨慎使用不可重入函数                                               |  pass        |
| 必须检查安全函数的返回值,并进行正确处理                             |     pass     |
| 禁止仅通过TokenType类型判断绕过权限校验                             |   pass       |

**TDD Result**:不涉及

**XTS Result**:不涉及

### 是否已执行L0用例
- [x] 已验证
- [ ] 不涉及。如不涉及,请写明理由

See merge request: openharmony/ability_ability_runtime!19182
2026-05-05 09:34:56 +08:00
wendel d61d1d451e modify idl
Signed-off-by: wendel <yuwenze1@huawei.com>
Co-Authored-By: Agent
Change-Id: Ic12b2712661c72c696e99daa273d6c24e7fcb1d7
2026-05-04 21:05:39 +08:00
wendel 9cd68c2c95 modify
Signed-off-by: wendel <yuwenze1@huawei.com>
Co-Authored-By: Agent
Change-Id: I623643d08785352a770c20b78efefa47cf18f1e2
2026-05-04 17:03:28 +08:00
wendel 1f74b755ab idl
Signed-off-by: wendel <yuwenze1@huawei.com>
Co-Authored-By: Agent
Change-Id: Ie6806a988a70b55a97fee92fdf56fd4ebc93b572
2026-05-04 11:42:42 +08:00
openharmony_ci 6ee0928d08 !19164 merge master into master
add log

Created-by: littlejerry1
Commit-by: unknown
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15117

**Description**:
add log

**稳定性自检:**
ok

**安全编码自检:**
ok

**TDD Result**:
NA

**XTS Result**:
NA

### 是否已执行L0用例
- [ ] 已验证
- [ok] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19164
2026-05-01 07:35:06 +08:00
wendel d634e5dad0 add help
Signed-off-by: wendel <yuwenze1@huawei.com>
Change-Id: Ie1cc321bc059e22c8d9ed5a7c29fd141075a09f0
2026-04-30 19:21:21 +08:00
unknown 1a54b8cdc8 add log
Co-Authored-By:Agent
Signed-off-by: unknown <sijunjie@huawei.com>
2026-04-30 17:40:20 +08:00
openharmony_ci b870730bd9 !19160 merge modify into master
modify

Created-by: wendel
Commit-by: wendel
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15114
**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |   pass       |
| 成员变量进行赋值或创建需要排查并发                               |     pass     |
| 谨慎在lambda表达式中使用引用捕获                                |    pass      |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |      pass    |
| map\vector\list\set等stl模板类使用时需要排查并发                |   pass       |
| 谨慎考虑加锁范围                                               |   pass       |
| 在IPC通信中谨慎使用同步通信方式                                 |       pass   |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |    pass      |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |      pass    |
| 禁止多个独立创建的智能指针管理同一地址                           |    pass      |
| 禁止在析构函数中抛异步任务                                      |   pass       |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |  pass        |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |  pass        |
| 禁止接口返回局部变量引用                                        |  pass        |
| 禁止在信号函数中加锁                                            |  pass        |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |pass          |
| 禁止将同一个cpp编译在不同的so中                                 |     pass    |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 | pass         |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |     pass     |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |      pass    |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |     pass     |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |    pass      |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |   pass       |
| readParcelable获取的对象使用前需要判空                            |     pass     |
| 分配和释放内存的函数需要成对出现                                   |      pass    |
| 申请内存后异常退出前需要及时进行内存释放                            |     pass     |
| 内存申请前必须对内存大小进行合法性校验                              |      pass    |
| 内存分配后必须判断是否成功                                         |       pass   |
| 禁止使用realloc、alloca函数                                       |     pass     |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |    pass      |
| 禁止打印内存地址                                                  |      pass    |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |     pass     |
| 禁止对有符号整数进行位操作符运算                                    |      pass    |
| 禁止对指针进行逻辑或位运算                                         | pass         |
| 循环次数如果收外部数据控制,需要检验其合法性                         |       pass   |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |     pass     |
| 谨慎使用不可重入函数                                               |  pass        |
| 必须检查安全函数的返回值,并进行正确处理                             |     pass     |
| 禁止仅通过TokenType类型判断绕过权限校验                             |   pass       |

**TDD Result**:不涉及

**XTS Result**:不涉及

### 是否已执行L0用例
- [x] 已验证
- [ ] 不涉及。如不涉及,请写明理由

See merge request: openharmony/ability_ability_runtime!19160
2026-04-30 17:07:13 +08:00
wendel 736e4a9c12 modify
Signed-off-by: wendel <yuwenze1@huawei.com>
Change-Id: I8917f2d47740ce7481dcabe8f204edf8a98e827a
2026-04-30 16:08:12 +08:00
unknown 2c7f43fe0b fix permission
Co-Authored-By:Agent
Signed-off-by: unknown <sijunjie@huawei.com>
2026-04-30 10:22:54 +08:00
unknown 50c50647d1 remove argMapping
Co-Authored-By:Agent
Signed-off-by: unknown <sijunjie@huawei.com>
2026-04-29 19:29:31 +08:00
openharmony_ci 79833c222a !19145 merge master into master
remove timeout

Created-by: littlejerry1
Commit-by: unknown
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15106

**Description**:
删除timeout

**稳定性自检:**
ok

**安全编码自检:**
ok

**TDD Result**:
ok

**XTS Result**:
ok

### 是否已执行L0用例
- [ ] 已验证
- [ok] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19145
2026-04-29 18:32:55 +08:00
unknown 3cac9c772a remove timeout
Co-Authored-By:Agent
Signed-off-by: unknown <sijunjie@huawei.com>
2026-04-29 15:57:35 +08:00
openharmony_ci 03786e1745 !19141 merge last into master
dfx

Created-by: wendel
Commit-by: wendel
Merged-by: openharmony_ci
Description: **IssueNo**:

**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |   pass       |
| 成员变量进行赋值或创建需要排查并发                               |     pass     |
| 谨慎在lambda表达式中使用引用捕获                                |    pass      |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |      pass    |
| map\vector\list\set等stl模板类使用时需要排查并发                |   pass       |
| 谨慎考虑加锁范围                                               |   pass       |
| 在IPC通信中谨慎使用同步通信方式                                 |       pass   |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |    pass      |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |      pass    |
| 禁止多个独立创建的智能指针管理同一地址                           |    pass      |
| 禁止在析构函数中抛异步任务                                      |   pass       |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |  pass        |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |  pass        |
| 禁止接口返回局部变量引用                                        |  pass        |
| 禁止在信号函数中加锁                                            |  pass        |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |pass          |
| 禁止将同一个cpp编译在不同的so中                                 |     pass    |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 | pass         |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |     pass     |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |      pass    |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |     pass     |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |    pass      |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |   pass       |
| readParcelable获取的对象使用前需要判空                            |     pass     |
| 分配和释放内存的函数需要成对出现                                   |      pass    |
| 申请内存后异常退出前需要及时进行内存释放                            |     pass     |
| 内存申请前必须对内存大小进行合法性校验                              |      pass    |
| 内存分配后必须判断是否成功                                         |       pass   |
| 禁止使用realloc、alloca函数                                       |     pass     |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |    pass      |
| 禁止打印内存地址                                                  |      pass    |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |     pass     |
| 禁止对有符号整数进行位操作符运算                                    |      pass    |
| 禁止对指针进行逻辑或位运算                                         | pass         |
| 循环次数如果收外部数据控制,需要检验其合法性                         |       pass   |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |     pass     |
| 谨慎使用不可重入函数                                               |  pass        |
| 必须检查安全函数的返回值,并进行正确处理                             |     pass     |
| 禁止仅通过TokenType类型判断绕过权限校验                             |   pass       |

**TDD Result**:不涉及

**XTS Result**:不涉及

### 是否已执行L0用例
- [x] 已验证
- [ ] 不涉及。如不涉及,请写明理由

See merge request: openharmony/ability_ability_runtime!19141
2026-04-29 14:56:38 +08:00
wendel e261a9f4a0 dfx
Signed-off-by: wendel <yuwenze1@huawei.com>
Co-Authored-By: Agent
Change-Id: I0dda1f69bec5f8315128e85375d9b9afc039c750
2026-04-29 14:09:26 +08:00
xuzheheng a09d4599a7 add cli query
Signed-off-by: xuzheheng <xuzheheng2@h-partners.com>
Change-Id: Ic970f2b19716004a217b7ed385d24915449d2968

Co-Authored-By: Agent
Change-Id: I43a6e0672d0c4393b3cebcb48309afa096f0b4bb
2026-04-29 11:13:12 +08:00
openharmony_ci 92a7549676 !19077 merge master into master
add cli session

Created-by: xiongjun_gitee11
Commit-by: xiongjun_gitee11
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15055

**Description**:
add cli session

**稳定性自检:**
ok

**安全编码自检:**
ok

**TDD Result**:
ok

**XTS Result**:
NA

### 是否已执行L0用例
- [ ] 已验证
- [ok] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19077
2026-04-28 22:02:00 +08:00