@te-river/opencode-team-mode 1.5.1 → 1.5.2
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/README.md +109 -14
- package/README.zh-CN.md +92 -13
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +128 -26
- package/dist/agents.js.map +1 -1
- package/dist/approval-gate.d.ts +147 -0
- package/dist/approval-gate.d.ts.map +1 -0
- package/dist/approval-gate.js +471 -0
- package/dist/approval-gate.js.map +1 -0
- package/dist/commands.js +3 -3
- package/dist/commands.js.map +1 -1
- package/dist/envprotect.d.ts +115 -4
- package/dist/envprotect.d.ts.map +1 -1
- package/dist/envprotect.js +364 -11
- package/dist/envprotect.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +85 -2
- package/dist/index.js.map +1 -1
- package/dist/tm/config.d.ts +34 -0
- package/dist/tm/config.d.ts.map +1 -1
- package/dist/tm/config.js +21 -0
- package/dist/tm/config.js.map +1 -1
- package/dist/tm/guard.js +4 -4
- package/dist/tm/guard.js.map +1 -1
- package/dist/tm/index.d.ts +4 -2
- package/dist/tm/index.d.ts.map +1 -1
- package/dist/tm/index.js +32 -2
- package/dist/tm/index.js.map +1 -1
- package/dist/tm/ptc.d.ts +279 -0
- package/dist/tm/ptc.d.ts.map +1 -0
- package/dist/tm/ptc.js +839 -0
- package/dist/tm/ptc.js.map +1 -0
- package/dist/tm/tools.d.ts +16 -0
- package/dist/tm/tools.d.ts.map +1 -1
- package/dist/tm/tools.js +5 -1
- package/dist/tm/tools.js.map +1 -1
- package/dist/types.d.ts +104 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/tm/ptc.d.ts
ADDED
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tm_ptc_run — M1 contract + aggregation skeleton (NO sandbox).
|
|
3
|
+
*
|
|
4
|
+
* Design: .git/opencode-team/.../ptc-run/02-architect-ptc-run-design.md §2/§3/§4/§6.
|
|
5
|
+
* Milestone split (design §10): this is **M1 only** — args schema, the engine
|
|
6
|
+
* RPC seam frozen for M2, the StepGate failure governance (error / call /
|
|
7
|
+
* time budgets, ≤1 retry on idempotent phases, produced-output preservation),
|
|
8
|
+
* the five-state status enum, the char-pinned aggregation summary, composite
|
|
9
|
+
* step numbers (`sXXXX.kNN`) and the trajectory event shapes.
|
|
10
|
+
*
|
|
11
|
+
* Deliberately NOT here in M1 (deferred):
|
|
12
|
+
* - the worker/RPC engine + inline-VM sandbox (M2 — the `PtcEngine` seam
|
|
13
|
+
* below is frozen so M2 adds an engine without touching this contract);
|
|
14
|
+
* - the program-source static pre-scan is WRITTEN but NOT wired into the run
|
|
15
|
+
* path (M2 attaches it) — `staticPscan`, marked unused here;
|
|
16
|
+
* - registering `tm_ptc_run` into the tm_* tool set (M3 role/whitelist
|
|
17
|
+
* wiring) — `buildPtcRunTool` exists and is fully exercised by tests, but
|
|
18
|
+
* index.ts does NOT merge it into `tools` yet.
|
|
19
|
+
*
|
|
20
|
+
* Governance is REUSED, never forked (D6 lock): the inline bridge calls the
|
|
21
|
+
* exact four exported pipelines (`buildPipelines`), so threshold offload,
|
|
22
|
+
* P2/P3, R6 and handle/TTL semantics apply to every bridged call verbatim.
|
|
23
|
+
* PTC is NOT a bypass layer.
|
|
24
|
+
*/
|
|
25
|
+
import type { ToolDefinition } from "../types.js";
|
|
26
|
+
import { type TmConfig } from "./config.js";
|
|
27
|
+
import type { RunStore } from "./store.js";
|
|
28
|
+
import { tmError, type TmPipelines, type TmPhase } from "./tools.js";
|
|
29
|
+
/** The five PTC run statuses (design §2). */
|
|
30
|
+
export declare const PTC_STATUS_VALUES: readonly ["ok", "stopped-error-budget", "stopped-call-budget", "timeout", "engine-error"];
|
|
31
|
+
export type PtcStatus = (typeof PTC_STATUS_VALUES)[number];
|
|
32
|
+
export type BridgeTool = "tm_read" | "tm_grep" | "tm_bash" | "tm_fetch";
|
|
33
|
+
/** Bridge allow set — read-only; tm_ptc_run itself is excluded (no nesting). */
|
|
34
|
+
export declare const BRIDGE_ALLOW: readonly BridgeTool[];
|
|
35
|
+
/** Phases safe to retry once (idempotent read-only bridges; design §4.2). */
|
|
36
|
+
export declare const RETRYABLE_PHASES: readonly TmPhase[];
|
|
37
|
+
/** Error body the bridge surfaces (T1.4 shape: tool/phase/message/line?). */
|
|
38
|
+
export interface PtcErrorBody {
|
|
39
|
+
tool: string;
|
|
40
|
+
phase: TmPhase;
|
|
41
|
+
message: string;
|
|
42
|
+
line?: number;
|
|
43
|
+
}
|
|
44
|
+
/** A single bridged-call outcome (design §2 program protocol). */
|
|
45
|
+
export type PtcCallResult = {
|
|
46
|
+
ok: true;
|
|
47
|
+
data: unknown;
|
|
48
|
+
} | {
|
|
49
|
+
ok: false;
|
|
50
|
+
error: PtcErrorBody;
|
|
51
|
+
};
|
|
52
|
+
/** The bridge the engine drives — in M1 it wraps the four pipelines. */
|
|
53
|
+
export interface PtcBridge {
|
|
54
|
+
call(tool: BridgeTool, args: Record<string, unknown>): Promise<PtcCallResult>;
|
|
55
|
+
}
|
|
56
|
+
/** Parent → engine: run the program. */
|
|
57
|
+
export interface PtcRunRequest {
|
|
58
|
+
program: string;
|
|
59
|
+
/** monotonic token so a caller can correlate a call with its response. */
|
|
60
|
+
startDeadlineMs: number;
|
|
61
|
+
}
|
|
62
|
+
/** Engine → driver: a single bridged call to execute under the gate. */
|
|
63
|
+
export interface PtcRpcRequest {
|
|
64
|
+
t: "call";
|
|
65
|
+
id: number;
|
|
66
|
+
tool: BridgeTool;
|
|
67
|
+
args: Record<string, unknown>;
|
|
68
|
+
}
|
|
69
|
+
/** Driver → engine: the gated result of a call. */
|
|
70
|
+
export interface PtcRpcResponse {
|
|
71
|
+
t: "result";
|
|
72
|
+
id: number;
|
|
73
|
+
r: PtcCallResult;
|
|
74
|
+
}
|
|
75
|
+
/** Driver → engine: stop the run (budget / time hit); engine must unwind. */
|
|
76
|
+
export interface PtcRpcAbort {
|
|
77
|
+
t: "abort";
|
|
78
|
+
id: number;
|
|
79
|
+
reason: "timeout" | "error-budget" | "call-budget";
|
|
80
|
+
}
|
|
81
|
+
export type PtcEngineMessage = PtcRpcRequest | PtcRpcResponse | PtcRpcAbort;
|
|
82
|
+
export type PtcEngineName = "worker" | "inline";
|
|
83
|
+
/** The engine seam. M1 ships `InlineSequentialEngine`; M2 adds `WorkerEngine`
|
|
84
|
+
* (over MessagePort) with the SAME shape, so neither the driver nor the
|
|
85
|
+
* contract changes across milestones. */
|
|
86
|
+
export interface PtcEngine {
|
|
87
|
+
readonly name: PtcEngineName;
|
|
88
|
+
/**
|
|
89
|
+
* Run `program`, driving every bridge call through `bridge` (already
|
|
90
|
+
* gate-wrapped by the driver). Resolve with the program's return value;
|
|
91
|
+
* reject with a `PtcStopSignal` for a budget/time stop, or any other Error
|
|
92
|
+
* for an engine/program fault. `signal` lets the driver race a timeout.
|
|
93
|
+
*/
|
|
94
|
+
run(program: string, bridge: PtcBridge, signal: AbortSignal): Promise<unknown>;
|
|
95
|
+
}
|
|
96
|
+
export interface PtcBudgets {
|
|
97
|
+
maxCalls: number;
|
|
98
|
+
maxErrors: number;
|
|
99
|
+
timeoutMs: number;
|
|
100
|
+
}
|
|
101
|
+
export interface PtcCallerBudgets {
|
|
102
|
+
max_calls?: unknown;
|
|
103
|
+
max_errors?: unknown;
|
|
104
|
+
timeout_ms?: unknown;
|
|
105
|
+
}
|
|
106
|
+
export declare function resolvePtcBudgets(cfg: TmConfig, budgets: PtcCallerBudgets | undefined | null): PtcBudgets;
|
|
107
|
+
export declare const PTC_LABEL_MAX = 80;
|
|
108
|
+
export interface PtcValidArgs {
|
|
109
|
+
program: string;
|
|
110
|
+
label: string;
|
|
111
|
+
budgets: PtcBudgets;
|
|
112
|
+
}
|
|
113
|
+
export type PtcArgsResult = {
|
|
114
|
+
ok: true;
|
|
115
|
+
args: PtcValidArgs;
|
|
116
|
+
} | {
|
|
117
|
+
ok: false;
|
|
118
|
+
error: ReturnType<typeof tmError>;
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* Validate + normalize tm_ptc_run args. `program` over the length cap is a
|
|
122
|
+
* hard args error (a program cannot be meaningfully truncated); `label` over
|
|
123
|
+
* 80 is truncated; `budgets` are clamped toward the env ceilings.
|
|
124
|
+
*/
|
|
125
|
+
export declare function parsePtcArgs(raw: Record<string, unknown> | undefined, cfg: TmConfig): PtcArgsResult;
|
|
126
|
+
/** Static scan of a program string. M1 EXPOSES + tests this but does NOT call
|
|
127
|
+
* it in the run path (the sandbox that needs it lands in M2). */
|
|
128
|
+
export declare function staticPscan(program: string): {
|
|
129
|
+
rejected: boolean;
|
|
130
|
+
tokens: string[];
|
|
131
|
+
};
|
|
132
|
+
export interface PtcStepRecord {
|
|
133
|
+
n: number;
|
|
134
|
+
tool: BridgeTool;
|
|
135
|
+
ok: boolean;
|
|
136
|
+
ms: number;
|
|
137
|
+
/** ok rows: estimated tokens (inline text) or the offload handle's tokens. */
|
|
138
|
+
tokens: number;
|
|
139
|
+
/** ok rows: "inline" or a short ref code for an offloaded payload. */
|
|
140
|
+
dest: string;
|
|
141
|
+
/** ok rows: the offload ref (when the data was a handle), else null. */
|
|
142
|
+
ref?: string | null;
|
|
143
|
+
/** err rows only. */
|
|
144
|
+
phase?: TmPhase;
|
|
145
|
+
line?: number;
|
|
146
|
+
retry?: boolean;
|
|
147
|
+
message?: string;
|
|
148
|
+
errorRef?: string;
|
|
149
|
+
}
|
|
150
|
+
export interface PtcRunOutcome {
|
|
151
|
+
label: string;
|
|
152
|
+
status: PtcStatus;
|
|
153
|
+
steps: PtcStepRecord[];
|
|
154
|
+
okCount: number;
|
|
155
|
+
errCount: number;
|
|
156
|
+
retries: number;
|
|
157
|
+
calls: number;
|
|
158
|
+
ms: number;
|
|
159
|
+
engine: PtcEngineName;
|
|
160
|
+
degraded: boolean;
|
|
161
|
+
returnValue: unknown;
|
|
162
|
+
returned: boolean;
|
|
163
|
+
/** set when the program threw (status=engine-error). */
|
|
164
|
+
engineError?: PtcErrorBody;
|
|
165
|
+
parentStepId: string;
|
|
166
|
+
}
|
|
167
|
+
export declare class InlineSequentialEngine implements PtcEngine {
|
|
168
|
+
readonly name: PtcEngineName;
|
|
169
|
+
run(program: string, bridge: PtcBridge, signal: AbortSignal): Promise<unknown>;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Worker engine — runs the program in a dedicated `worker_threads.Worker`
|
|
173
|
+
* with `env:{}` (process.env emptied), `resourceLimits`, and `terminate()`
|
|
174
|
+
* for hard timeout kills. The bootstrap source is a build-time template
|
|
175
|
+
* string constant (zero runtime file IO, zero new deps, passes tsc).
|
|
176
|
+
*
|
|
177
|
+
* Probe result (P1, %TEMP%): ALL-GREEN on Node 24 / win32 — eval bootstrap,
|
|
178
|
+
* postMessage bidirectional, terminate (9 ms), resourceLimits, env:{} all
|
|
179
|
+
* verified. Auto chain = worker-first, inline fallback.
|
|
180
|
+
*/
|
|
181
|
+
export declare class WorkerEngine implements PtcEngine {
|
|
182
|
+
readonly name: PtcEngineName;
|
|
183
|
+
run(program: string, bridge: PtcBridge, signal: AbortSignal): Promise<unknown>;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Inline-vm engine — runs the program inside `node:vm` with a compile
|
|
187
|
+
* timeout for synchronous busy-loops. Same `PtcEngine` seam as
|
|
188
|
+
* `InlineSequentialEngine` (M1) and `WorkerEngine` (M2).
|
|
189
|
+
*
|
|
190
|
+
* KNOWN RESIDUAL RISK (design §3, declared): `vm.compileFunction`'s
|
|
191
|
+
* `timeout` only kills synchronous CPU-bound loops. An `await` yields
|
|
192
|
+
* back to the event loop, so a pure-JS busy-wait between awaits can only
|
|
193
|
+
* be caught by the next bridge call's step-budget pre-check. This is the
|
|
194
|
+
* accepted trade-off for the inline fallback; the primary worker engine
|
|
195
|
+
* does not share this limitation (`worker.terminate()` is wall-clock).
|
|
196
|
+
*/
|
|
197
|
+
export declare class InlineVmEngine implements PtcEngine {
|
|
198
|
+
readonly name: PtcEngineName;
|
|
199
|
+
run(program: string, bridge: PtcBridge, signal: AbortSignal): Promise<unknown>;
|
|
200
|
+
}
|
|
201
|
+
interface GateState {
|
|
202
|
+
calls: number;
|
|
203
|
+
errors: number;
|
|
204
|
+
retries: number;
|
|
205
|
+
steps: PtcStepRecord[];
|
|
206
|
+
stopReason?: "timeout" | "error-budget" | "call-budget";
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Wrap a raw bridge with the StepGate. Every call: enforce time/call budget
|
|
210
|
+
* (throw a stop that unwinds the program), assign a composite step id
|
|
211
|
+
* `parent.kNN`, retry ≤1 on idempotent phases, record + persist errors, and
|
|
212
|
+
* trip the error budget. The gate lives ONLY here (outside the engine), per
|
|
213
|
+
* design §3 ("决策进代码").
|
|
214
|
+
*/
|
|
215
|
+
export declare function createGateBridge(raw: PtcBridge, parent: string, budgets: PtcBudgets, state: GateState, opts: {
|
|
216
|
+
now: () => number;
|
|
217
|
+
deadlineAt: number;
|
|
218
|
+
store?: RunStore;
|
|
219
|
+
trajectoryParent?: string;
|
|
220
|
+
}): PtcBridge;
|
|
221
|
+
export interface EngineSelection {
|
|
222
|
+
engine: PtcEngine;
|
|
223
|
+
/** true when the auto chain degraded from worker to inline. */
|
|
224
|
+
degraded: boolean;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Select the PTC engine based on the TM_PTC_ENGINE mode.
|
|
228
|
+
* - "worker": WorkerEngine only (throws on failure → engine-error status).
|
|
229
|
+
* - "inline": InlineVmEngine only (vm timeout for sync busy-loops).
|
|
230
|
+
* - "auto" (default): try WorkerEngine first; on failure → InlineVmEngine
|
|
231
|
+
* with `degraded=true` (marked `degraded-engine` in the summary).
|
|
232
|
+
*
|
|
233
|
+
* Probe result (P1, %TEMP%): ALL-GREEN on Node 24/win32 — auto chain =
|
|
234
|
+
* worker-first, inline fallback. Design §3 table.
|
|
235
|
+
*/
|
|
236
|
+
export declare function selectEngine(mode: "auto" | "worker" | "inline", bridge: PtcBridge): EngineSelection;
|
|
237
|
+
export interface RunPtcOptions {
|
|
238
|
+
program: string;
|
|
239
|
+
label: string;
|
|
240
|
+
budgets: PtcBudgets;
|
|
241
|
+
parentStepId: string;
|
|
242
|
+
cfg: TmConfig;
|
|
243
|
+
store?: RunStore;
|
|
244
|
+
bridge: PtcBridge;
|
|
245
|
+
engine?: PtcEngine;
|
|
246
|
+
now?: () => number;
|
|
247
|
+
}
|
|
248
|
+
export declare function runPtc(o: RunPtcOptions): Promise<PtcRunOutcome>;
|
|
249
|
+
export declare const PTC_SUMMARY_HEADER = "PTC \u6458\u8981";
|
|
250
|
+
export declare const PTC_OK_SECTION = "-- \u6210\u529F\u5206\u90E8\uFF08\u22648 \u884C\uFF0C\u8D85\u51FA\u6574\u8868\u5378\u8F7D\uFF09";
|
|
251
|
+
export declare const PTC_OK_HEADER = " # tool ms tokens \u843D\u70B9(inline|ref \u77ED\u7801)";
|
|
252
|
+
export declare const PTC_ERR_SECTION = "-- \u9519\u8BEF\u5206\u90E8\uFF08\u5168\u91CF\u9519\u8BEF\u5DF2\u843D run store\uFF09";
|
|
253
|
+
export declare const PTC_ERR_HEADER = " # tool phase line retry message(\u622A\u65AD)";
|
|
254
|
+
export declare const PTC_RETURN_PREFIX = "\u8FD4\u56DE\u503C: ";
|
|
255
|
+
export declare const PTC_ERRORFULL_PREFIX = "\u9519\u8BEF\u5168\u6587: ";
|
|
256
|
+
/** Render the fixed-shape aggregation summary. `offload` is used to route an
|
|
257
|
+
* oversized success/error table (or return value) to a run-store handle. */
|
|
258
|
+
export declare function renderPtcSummary(o: PtcRunOutcome, offload?: (content: string, kind: string) => string): string;
|
|
259
|
+
/**
|
|
260
|
+
* Real M1 bridge: delegate each call to the corresponding exported pipeline,
|
|
261
|
+
* `ctx` passed through untouched, and normalize the pipeline's `unknown`
|
|
262
|
+
* result into `PtcCallResult` (TmErrorBody -> ok:false; anything else -> the
|
|
263
|
+
* already-governed data). Governance is entirely the pipelines'.
|
|
264
|
+
*/
|
|
265
|
+
export declare function pipelineBridge(pipelines: TmPipelines, ctx: unknown): PtcBridge;
|
|
266
|
+
/** Build the tm_ptc_run ToolDefinition. Registered in the tool segment
|
|
267
|
+
* when the agent's whitelist grants tm_ptc_run (M3). */
|
|
268
|
+
export declare function buildPtcRunTool(deps: {
|
|
269
|
+
cfg: TmConfig;
|
|
270
|
+
store: RunStore;
|
|
271
|
+
nextStepId: () => string;
|
|
272
|
+
ctx: unknown;
|
|
273
|
+
accessToken: string;
|
|
274
|
+
engine?: PtcEngine;
|
|
275
|
+
pipelines?: TmPipelines;
|
|
276
|
+
bridge?: PtcBridge;
|
|
277
|
+
}): ToolDefinition;
|
|
278
|
+
export {};
|
|
279
|
+
//# sourceMappingURL=ptc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ptc.d.ts","sourceRoot":"","sources":["../../src/tm/ptc.ts"],"names":[],"mappings":"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"}
|