@sema-agent/server 7.23.0 → 7.24.0
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/dist/adoption/plan.js +18 -0
- package/dist/boot/leader.d.ts +16 -0
- package/dist/boot/leader.js +46 -2
- package/dist/boot/reapers.js +13 -0
- package/dist/config-types.d.ts +6 -1
- package/dist/config.js +31 -1
- package/dist/http/routes/leader.js +6 -3
- package/dist/leader/endpoint.d.ts +27 -6
- package/dist/leader/endpoint.js +146 -38
- package/dist/leader/fanout.d.ts +17 -10
- package/dist/leader/fanout.js +0 -4
- package/dist/leader/grader-env-factory.d.ts +7 -48
- package/dist/leader/grader-env-factory.js +19 -15
- package/dist/main.js +1 -1
- package/dist/plugins/leader-run-store-sql.d.ts +118 -0
- package/dist/plugins/leader-run-store-sql.js +246 -0
- package/dist/plugins/pg-pool.js +3 -0
- package/dist/plugins/store-backend.d.ts +12 -0
- package/dist/plugins/store-backend.js +3 -0
- package/dist/plugins/tidb-pool.js +6 -0
- package/package.json +2 -2
|
@@ -33,6 +33,7 @@ import { TiDBCheckpointStore, PgCheckpointStore } from "./checkpoint-store-sql.j
|
|
|
33
33
|
import { TiDBToolResultStore, PgToolResultStore } from "./tool-result-store-sql.js";
|
|
34
34
|
import { TiDBImageIndex, PgImageIndex } from "./image-index-sql.js";
|
|
35
35
|
import { TiDBImageBake, PgImageBake } from "./image-bake-store-sql.js";
|
|
36
|
+
import { TiDBLeaderRunStore, PgLeaderRunStore } from "./leader-run-store-sql.js";
|
|
36
37
|
import { TiDBBreakerState, PgBreakerState } from "./breaker-state-sql.js";
|
|
37
38
|
import { TiDBCostQuota } from "./tidb-cost-quota.js";
|
|
38
39
|
import { PgCostQuota } from "./pg-cost-quota.js";
|
|
@@ -118,6 +119,7 @@ class TiDBBackend {
|
|
|
118
119
|
toolResult() { return new TiDBToolResultStore(this.pool); }
|
|
119
120
|
imageIndex() { return new TiDBImageIndex(this.pool); }
|
|
120
121
|
imageBake() { return new TiDBImageBake(this.pool); }
|
|
122
|
+
leaderRun() { return new TiDBLeaderRunStore(this.pool); } // #193 车4 件1(无状态 store,每次新建同兄弟)
|
|
121
123
|
breaker(onWriteFail) { return new TiDBBreakerState(this.pool, onWriteFail); }
|
|
122
124
|
costQuota(limitMicroUsd, windowMs, onDegraded) { return new TiDBCostQuota(this.pool, limitMicroUsd, windowMs, undefined, onDegraded, this.config.dbQueryTimeoutMs); }
|
|
123
125
|
rateLimiter(limit, onDegraded) { return new TiDBRateLimiter(this.pool, limit, undefined, undefined, onDegraded, this.config.dbQueryTimeoutMs); }
|
|
@@ -155,6 +157,7 @@ class PgBackend {
|
|
|
155
157
|
toolResult() { return new PgToolResultStore(this.pool); }
|
|
156
158
|
imageIndex() { return new PgImageIndex(this.pool); }
|
|
157
159
|
imageBake() { return new PgImageBake(this.pool); }
|
|
160
|
+
leaderRun() { return new PgLeaderRunStore(this.pool); } // #193 车4 件1(SQL twin)
|
|
158
161
|
breaker(onWriteFail) { return new PgBreakerState(this.pool, onWriteFail); }
|
|
159
162
|
costQuota(limitMicroUsd, windowMs, onDegraded) { return new PgCostQuota(this.pool, limitMicroUsd, windowMs, undefined, onDegraded, this.config.dbQueryTimeoutMs); }
|
|
160
163
|
rateLimiter(limit, onDegraded) { return new PgRateLimiter(this.pool, limit, undefined, undefined, onDegraded, this.config.dbQueryTimeoutMs); }
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import mysql from "mysql2/promise";
|
|
2
2
|
import { TIDB_APPROVAL_ASK_STATEMENTS } from "./approval-ask-store-sql.js";
|
|
3
|
+
import { TIDB_LEADER_RUN_STATEMENTS } from "./leader-run-store-sql.js";
|
|
3
4
|
import { TIDB_ADOPTION_LOG_STATEMENTS } from "./adoption-log-sql.js";
|
|
4
5
|
import { TIDB_PERMISSION_RULE_STATEMENTS } from "./permission-rule-store-sql.js";
|
|
5
6
|
/**
|
|
@@ -664,6 +665,11 @@ export const SCHEMA_STATEMENTS = [
|
|
|
664
665
|
// 跟着中央 `ensureSchema` 在 **named-lock 的那条 conn** 上建 —— 把 pool 级 ensure 函数塞进执行循环
|
|
665
666
|
// 会绕开 DDL 串行化。挂进来同时也是「这张表算生产 schema」的声明(基线导出按定义只收录被执行的语句)。
|
|
666
667
|
...TIDB_APPROVAL_ASK_STATEMENTS,
|
|
668
|
+
// #193 车4 件1(台账 P1-9):durable leader-run 登记表。真源 = leader-run-store-sql.ts 的
|
|
669
|
+
// `TIDB_LEADER_RUN_STATEMENTS`(那里与 PG twin 并排)。展开进这里的理由与上面 approval-ask 一条不差:
|
|
670
|
+
// 跟着中央 `ensureSchema` 在 named-lock 的那条 conn 上建,并声明「这张表算生产 schema」(基线导出按
|
|
671
|
+
// 定义只收录被执行的语句)。
|
|
672
|
+
...TIDB_LEADER_RUN_STATEMENTS,
|
|
667
673
|
// design/177 shared-memory store(#192 单数纪律)—— org 盘的三张表。消费面 = shared-memory-store-sql.ts。
|
|
668
674
|
// 🔴 与 `agent_memory_engine_*`(design/138 本地记忆链)**零关系**:不 join、不共享 scope 登记、不互写
|
|
669
675
|
// (设计 182 §13)。两族同库不同面,合表/建视图会让 harvest 的私人笔记漏进团队库。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sema-agent/server",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.24.0",
|
|
4
4
|
"description": "Sema Server — the server/API implementation layer for Sema, wiring core, registry, model providers, and cloud agent execution. Built on @sema-agent/core.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "BUSL-1.1",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"sharp": "^0.35.3"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
|
-
"@sema-agent/sdk": "7.1.0
|
|
72
|
+
"@sema-agent/sdk": "7.1.0",
|
|
73
73
|
"@types/libsodium-wrappers": "^0.7.14",
|
|
74
74
|
"@types/node": "22.10.2",
|
|
75
75
|
"@types/pg": "^8.20.0",
|