@te-river/opencode-team-mode 1.6.0 → 1.6.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 +80 -15
- package/README.zh-CN.md +67 -18
- package/dist/host/note.d.ts +7 -0
- package/dist/host/note.d.ts.map +1 -0
- package/dist/host/note.js +31 -0
- package/dist/host/note.js.map +1 -0
- package/dist/host/v1.d.ts +14 -0
- package/dist/host/v1.d.ts.map +1 -0
- package/dist/host/v1.js +340 -0
- package/dist/host/v1.js.map +1 -0
- package/dist/host/v2-browser-gate.d.ts +45 -0
- package/dist/host/v2-browser-gate.d.ts.map +1 -0
- package/dist/host/v2-browser-gate.js +319 -0
- package/dist/host/v2-browser-gate.js.map +1 -0
- package/dist/host/v2-capabilities.d.ts +78 -0
- package/dist/host/v2-capabilities.d.ts.map +1 -0
- package/dist/host/v2-capabilities.js +173 -0
- package/dist/host/v2-capabilities.js.map +1 -0
- package/dist/host/v2-client.d.ts +53 -0
- package/dist/host/v2-client.d.ts.map +1 -0
- package/dist/host/v2-client.js +193 -0
- package/dist/host/v2-client.js.map +1 -0
- package/dist/host/v2-events.d.ts +56 -0
- package/dist/host/v2-events.d.ts.map +1 -0
- package/dist/host/v2-events.js +158 -0
- package/dist/host/v2-events.js.map +1 -0
- package/dist/host/v2-guard.d.ts +101 -0
- package/dist/host/v2-guard.d.ts.map +1 -0
- package/dist/host/v2-guard.js +199 -0
- package/dist/host/v2-guard.js.map +1 -0
- package/dist/host/v2-offload.d.ts +148 -0
- package/dist/host/v2-offload.d.ts.map +1 -0
- package/dist/host/v2-offload.js +288 -0
- package/dist/host/v2-offload.js.map +1 -0
- package/dist/host/v2-permissions.d.ts +123 -0
- package/dist/host/v2-permissions.d.ts.map +1 -0
- package/dist/host/v2-permissions.js +190 -0
- package/dist/host/v2-permissions.js.map +1 -0
- package/dist/host/v2-probe.d.ts +85 -0
- package/dist/host/v2-probe.d.ts.map +1 -0
- package/dist/host/v2-probe.js +268 -0
- package/dist/host/v2-probe.js.map +1 -0
- package/dist/host/v2-scope.d.ts +51 -0
- package/dist/host/v2-scope.d.ts.map +1 -0
- package/dist/host/v2-scope.js +58 -0
- package/dist/host/v2-scope.js.map +1 -0
- package/dist/host/v2-session-client.d.ts +105 -0
- package/dist/host/v2-session-client.d.ts.map +1 -0
- package/dist/host/v2-session-client.js +390 -0
- package/dist/host/v2-session-client.js.map +1 -0
- package/dist/host/v2-session.d.ts +85 -0
- package/dist/host/v2-session.d.ts.map +1 -0
- package/dist/host/v2-session.js +171 -0
- package/dist/host/v2-session.js.map +1 -0
- package/dist/host/v2-subagent.d.ts +157 -0
- package/dist/host/v2-subagent.d.ts.map +1 -0
- package/dist/host/v2-subagent.js +286 -0
- package/dist/host/v2-subagent.js.map +1 -0
- package/dist/host/v2-tool.d.ts +67 -0
- package/dist/host/v2-tool.d.ts.map +1 -0
- package/dist/host/v2-tool.js +209 -0
- package/dist/host/v2-tool.js.map +1 -0
- package/dist/host/v2-transcript.d.ts +73 -0
- package/dist/host/v2-transcript.d.ts.map +1 -0
- package/dist/host/v2-transcript.js +151 -0
- package/dist/host/v2-transcript.js.map +1 -0
- package/dist/host/v2-types.d.ts +229 -0
- package/dist/host/v2-types.d.ts.map +1 -0
- package/dist/host/v2-types.js +17 -0
- package/dist/host/v2-types.js.map +1 -0
- package/dist/host/v2.d.ts +42 -0
- package/dist/host/v2.d.ts.map +1 -0
- package/dist/host/v2.js +853 -0
- package/dist/host/v2.js.map +1 -0
- package/dist/index.d.ts +23 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -366
- package/dist/index.js.map +1 -1
- package/dist/prompts/lead.d.ts +1 -1
- package/dist/prompts/lead.d.ts.map +1 -1
- package/dist/prompts/lead.js +456 -426
- package/dist/prompts/lead.js.map +1 -1
- package/dist/prompts/shared.d.ts +2 -2
- package/dist/prompts/shared.d.ts.map +1 -1
- package/dist/prompts/shared.js +38 -11
- package/dist/prompts/shared.js.map +1 -1
- package/dist/prompts/specialists.d.ts +2 -2
- package/dist/prompts/specialists.d.ts.map +1 -1
- package/dist/prompts/specialists.js +7 -6
- package/dist/prompts/specialists.js.map +1 -1
- package/dist/task-offload.d.ts +16 -0
- package/dist/task-offload.d.ts.map +1 -1
- package/dist/task-offload.js +51 -0
- package/dist/task-offload.js.map +1 -1
- package/dist/tm/browser.d.ts.map +1 -1
- package/dist/tm/browser.js +41 -10
- package/dist/tm/browser.js.map +1 -1
- package/dist/tm/dispatch.d.ts +86 -1
- package/dist/tm/dispatch.d.ts.map +1 -1
- package/dist/tm/dispatch.js +360 -39
- package/dist/tm/dispatch.js.map +1 -1
- package/dist/tm/dupe-guard.d.ts +16 -3
- package/dist/tm/dupe-guard.d.ts.map +1 -1
- package/dist/tm/dupe-guard.js +27 -7
- package/dist/tm/dupe-guard.js.map +1 -1
- package/dist/tm/index.d.ts +40 -1
- package/dist/tm/index.d.ts.map +1 -1
- package/dist/tm/index.js +40 -11
- package/dist/tm/index.js.map +1 -1
- package/dist/tm/ledger.d.ts +114 -0
- package/dist/tm/ledger.d.ts.map +1 -0
- package/dist/tm/ledger.js +308 -0
- package/dist/tm/ledger.js.map +1 -0
- package/dist/tm/perm-ask.d.ts +1 -3
- package/dist/tm/perm-ask.d.ts.map +1 -1
- package/dist/tm/perm-ask.js +10 -1
- package/dist/tm/perm-ask.js.map +1 -1
- package/dist/tm/preview.d.ts +55 -0
- package/dist/tm/preview.d.ts.map +1 -1
- package/dist/tm/preview.js +225 -0
- package/dist/tm/preview.js.map +1 -1
- package/dist/tm/search.d.ts.map +1 -1
- package/dist/tm/search.js +40 -10
- package/dist/tm/search.js.map +1 -1
- package/dist/tm/serp-loop.d.ts +45 -0
- package/dist/tm/serp-loop.d.ts.map +1 -0
- package/dist/tm/serp-loop.js +80 -0
- package/dist/tm/serp-loop.js.map +1 -0
- package/dist/tm/stats.d.ts +29 -0
- package/dist/tm/stats.d.ts.map +1 -1
- package/dist/tm/stats.js +278 -4
- package/dist/tm/stats.js.map +1 -1
- package/dist/tm/webfetch.d.ts +4 -0
- package/dist/tm/webfetch.d.ts.map +1 -1
- package/dist/tm/webfetch.js +75 -8
- package/dist/tm/webfetch.js.map +1 -1
- package/docs/installation-v2.md +445 -0
- package/docs/installation.md +12 -0
- package/docs/research/agent-data-exchange.md +117 -0
- package/docs/research/browser-pane.md +89 -0
- package/docs/research/host-http-api.md +132 -0
- package/docs/research/host-subagent-injection.md +187 -0
- package/docs/research/plugin-loader-contract.md +261 -0
- package/docs/research/v2-builtin-tools.md +447 -0
- package/docs/v2-port-notes.md +413 -0
- package/index.js +7 -0
- package/package.json +64 -61
- package/scripts/gen-v2-config.mjs +304 -0
- package/scripts/lib/config-surgery.cjs +239 -0
- package/scripts/lib/fake-ctx.mjs +169 -0
package/dist/tm/dispatch.d.ts
CHANGED
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
*/
|
|
32
32
|
import type { HostEvent, ToolDefinition } from "../types.js";
|
|
33
33
|
import type { TmPipelines } from "./pipelines.js";
|
|
34
|
+
import { type LedgerStore } from "./ledger.js";
|
|
34
35
|
/** The five dispatchable specialists — "team" is deliberately NOT in the
|
|
35
36
|
* list: a lead spawning a lead is the nesting T3 closed. */
|
|
36
37
|
export declare const DISPATCH_TARGETS: readonly ["architect", "implementer", "reviewer", "tester", "researcher"];
|
|
@@ -51,7 +52,33 @@ export interface ChildRecord {
|
|
|
51
52
|
* wall-clock elapsed and the settle verdict come from the host, so the
|
|
52
53
|
* lead must know this row was rebuilt. */
|
|
53
54
|
adopted?: boolean;
|
|
55
|
+
/** This child was dispatched by the HOST's own `subagent` tool, which we observed
|
|
56
|
+
* being called (v2). Its reply reaches the parent as an injected message, not
|
|
57
|
+
* through this tool — so the row reports state and the settle moment and must never
|
|
58
|
+
* be rendered as if we held the text. */
|
|
59
|
+
via?: "host-injection";
|
|
60
|
+
/** How this row reached its settled state. `event` is the host naming the child
|
|
61
|
+
* session in a `session.idle`; `parent-idle` is the inference that a still-running
|
|
62
|
+
* host child of a session that just went idle has been collected by the host — the
|
|
63
|
+
* v2 plugin ctx gives no way to read a child's state directly, and a row that stayed
|
|
64
|
+
* 运行中 forever would be the same overstated claim in the opposite direction. A
|
|
65
|
+
* presumption is printed as one. */
|
|
66
|
+
settleSource?: "event" | "parent-idle" | "injection";
|
|
67
|
+
/** #33: the verdict of a stop attempt on THIS row, in the tool's own words. Printed by
|
|
68
|
+
* `renderChildLine` so a lead skimming the table cannot read five different outcomes as
|
|
69
|
+
* one "已取消". Absent = no stop was attempted on this child. */
|
|
70
|
+
cancelNote?: string;
|
|
54
71
|
}
|
|
72
|
+
/** A child seen being dispatched by the host's own tool, turned into a registry row.
|
|
73
|
+
* Null when the ids are unusable: a child whose id equals the caller's would make
|
|
74
|
+
* tm_join wait on the session it is running in, and an anonymous child cannot be
|
|
75
|
+
* settled by an event we match on session id. */
|
|
76
|
+
export declare function hostChildRecord(child: {
|
|
77
|
+
sessionID: string;
|
|
78
|
+
parentSessionID: string;
|
|
79
|
+
agent: string;
|
|
80
|
+
label: string;
|
|
81
|
+
}, now?: () => number): ChildRecord | null;
|
|
55
82
|
export interface DispatchDeps {
|
|
56
83
|
client: unknown;
|
|
57
84
|
pipelines: TmPipelines;
|
|
@@ -74,12 +101,28 @@ export interface DispatchDeps {
|
|
|
74
101
|
}[];
|
|
75
102
|
/** Ceiling on how long tm_join will wait on a round of children. */
|
|
76
103
|
maxWaitMs?: number;
|
|
104
|
+
/** What the v2 `ctx.session` bridge saw on its last attempt — reported so a failed
|
|
105
|
+
* claim can name the shapes it tried instead of printing "no pending dispatch". */
|
|
106
|
+
sessionReaderReport?: () => {
|
|
107
|
+
attempted: number;
|
|
108
|
+
resolved: number;
|
|
109
|
+
usedShape?: string;
|
|
110
|
+
failedShapes: string[];
|
|
111
|
+
lastError?: string;
|
|
112
|
+
};
|
|
113
|
+
/** The plugin's own LEDGER (v2 has no host `session.todo` to read). Present =
|
|
114
|
+
* the goal tripwire has a second thing it can actually check; absent = the
|
|
115
|
+
* tripwire says it could not check, which is a different answer from "clean". */
|
|
116
|
+
ledgerStore?: LedgerStore;
|
|
77
117
|
}
|
|
78
118
|
interface SessionApi {
|
|
79
119
|
messages?: (opts: unknown) => Promise<unknown>;
|
|
80
120
|
get?: (opts: unknown) => Promise<unknown>;
|
|
81
121
|
status?: (opts: unknown) => Promise<unknown>;
|
|
82
122
|
abort?: (opts: unknown) => Promise<unknown>;
|
|
123
|
+
/** #33 — v2's stop seam, wrapped by `v2-session-client.ts` around the host's own
|
|
124
|
+
* `ctx.session.interrupt`. Present on this personality, absent on the v1 client. */
|
|
125
|
+
interrupt?: (opts: unknown) => Promise<unknown>;
|
|
83
126
|
/** GET /session/{id}/children -> Session[] — the host's own session tree,
|
|
84
127
|
* i.e. the recovery source when this process never saw the dispatch. */
|
|
85
128
|
children?: (opts: unknown) => Promise<unknown>;
|
|
@@ -161,9 +204,17 @@ export declare function parseDispatchTitle(title: unknown, targets: readonly str
|
|
|
161
204
|
* bare Part[] — the LAST assistant message is the answer, everything earlier
|
|
162
205
|
* is that agent's own working transcript.
|
|
163
206
|
*
|
|
207
|
+
* This function deliberately does NOT learn about the host's message shapes:
|
|
208
|
+
* `ctx.session.context` answers with `{id, role, metadata, content:[…]}` on
|
|
209
|
+
* 2.0.20 and with flat `{id, time, text, type}` on 2.0.18, and BOTH are
|
|
210
|
+
* normalised at that seam (`normaliseContextMessages`, src/host/v2-session-client.ts)
|
|
211
|
+
* before they reach here. Recognising `content` here as well would mean two
|
|
212
|
+
* places guess at a shape nobody measured, which is exactly how A1 shipped: the
|
|
213
|
+
* seam answered, the body was dropped, and the sentence blamed the host.
|
|
214
|
+
*
|
|
164
215
|
* `completedAt` is what lets a rebuilt registry tell "still running" from
|
|
165
216
|
* "finished while we were not listening": AssistantMessage.time.completed is
|
|
166
|
-
* only set once the message is done.
|
|
217
|
+
* only set once the message is done, and it is copied, never invented.
|
|
167
218
|
*/
|
|
168
219
|
export declare function lastAssistantMessage(messages: unknown): {
|
|
169
220
|
text: string;
|
|
@@ -198,6 +249,29 @@ export declare function summarizeStates(children: readonly ChildRecord[]): {
|
|
|
198
249
|
* one, which is the same class of bug as the old `Boolean("false")` headless
|
|
199
250
|
* trap: the arg is trusted because it "looks" like the declared type. */
|
|
200
251
|
export declare function parseIdList(raw: unknown): string[] | null;
|
|
252
|
+
/** #33 — the FIVE outcomes a stop attempt can produce, kept as data because the reply
|
|
253
|
+
* must not collapse them into one success word. The host's own contract for
|
|
254
|
+
* `POST /api/session/{id}/interrupt` is "interrupted=true when an active execution was
|
|
255
|
+
* interrupted and FALSE for the idle no-op", so `idle` is a real answer meaning
|
|
256
|
+
* "nothing was running" — calling it 已停止 is goal #6's overstated claim, and calling it
|
|
257
|
+
* 失败 is the same claim in the other direction. `unknown` is the honest third: the call
|
|
258
|
+
* worked and the host gave no boolean. */
|
|
259
|
+
export type CancelOutcome = "stopped" | "idle" | "unknown" | "no-seam" | "threw";
|
|
260
|
+
/** Read the stop verdict out of the v2 adapter's `{data:{outcome,message}}`. Anything
|
|
261
|
+
* unrecognisable is `unknown`, never `stopped` — a shape we cannot read is not evidence
|
|
262
|
+
* a child died. */
|
|
263
|
+
export declare function cancelOutcomeOf(res: unknown): {
|
|
264
|
+
outcome: CancelOutcome;
|
|
265
|
+
note?: string;
|
|
266
|
+
};
|
|
267
|
+
/** The line the lead reads, per outcome. Terse and falsifiable: each names what was
|
|
268
|
+
* OBSERVED, and the escape hatch for the cases where nothing was observed. */
|
|
269
|
+
export declare function cancelVerdictLine(outcome: CancelOutcome, note?: string): string;
|
|
270
|
+
/** Short name for one outcome, used in the count line. */
|
|
271
|
+
export declare function cancelOutcomeLabel(o: CancelOutcome): string;
|
|
272
|
+
/** The summary counts, spelled the way the lead has to quote them. Fixed order so a
|
|
273
|
+
* rerun prints the same line, and an absent outcome prints nothing rather than "0". */
|
|
274
|
+
export declare function cancelOutcomeParts(tally: Partial<Record<CancelOutcome, number>>): string[];
|
|
201
275
|
export declare function buildDispatchTools(deps: DispatchDeps): {
|
|
202
276
|
tm_join: ToolDefinition;
|
|
203
277
|
/** Feed the host event bus: `session.idle` / `session.error` /
|
|
@@ -205,6 +279,17 @@ export declare function buildDispatchTools(deps: DispatchDeps): {
|
|
|
205
279
|
observeEvent: (event: HostEvent) => void;
|
|
206
280
|
/** Test/observability seam. */
|
|
207
281
|
children: () => ChildRecord[];
|
|
282
|
+
/** v2 seam: open a row for a child the host's own `subagent` tool created. */
|
|
283
|
+
register: (child: {
|
|
284
|
+
sessionID: string;
|
|
285
|
+
parentSessionID: string;
|
|
286
|
+
agent: string;
|
|
287
|
+
label: string;
|
|
288
|
+
}) => boolean;
|
|
289
|
+
/** v2 seam: settle a known child from the host's completion envelope. */
|
|
290
|
+
settle: (sessionID: string, state: string) => boolean;
|
|
291
|
+
/** v2 seam: is any child still open? Gates the per-request completion scan. */
|
|
292
|
+
hasOpen: () => boolean;
|
|
208
293
|
};
|
|
209
294
|
export {};
|
|
210
295
|
//# sourceMappingURL=dispatch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/tm/dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAc,MAAM,aAAa,CAAA;AAKxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/tm/dispatch.ts"],"names":[],"mappings":"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"}
|