@thincoder/core 0.10.13 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -0
- package/advisor/messages.mjs +4 -2
- package/advisor/notice.mjs +1 -1
- package/advisor/project-context.mjs +121 -11
- package/agent/completion.mjs +13 -1
- package/agent/digest-account.mjs +73 -46
- package/agent/dispatch-run.mjs +1 -1
- package/agent/dispatch.mjs +29 -21
- package/agent/family-tools.mjs +9 -5
- package/agent/helpers.mjs +1 -94
- package/agent/offload.mjs +88 -0
- package/agent/record-results.mjs +1 -6
- package/agent/run-stages.mjs +69 -48
- package/agent/run-start.mjs +8 -8
- package/agent/setup.mjs +3 -11
- package/agent/suspension.mjs +1 -1
- package/agent/turn-loop.mjs +32 -3
- package/agent/write-face.mjs +99 -0
- package/agent/write-gate.mjs +354 -5
- package/agent-tools/advisor.mjs +127 -11
- package/agent-tools/async-settle.mjs +2 -2
- package/agent-tools/bash-async.mjs +8 -2
- package/agent-tools/batch-closeout.mjs +206 -0
- package/agent-tools/batch-gate.mjs +287 -73
- package/agent-tools/batch-ledger-bind.mjs +183 -0
- package/agent-tools/batch-ledger-link.mjs +73 -0
- package/agent-tools/batch-lifecycle.mjs +113 -367
- package/agent-tools/batch-paths.mjs +45 -40
- package/agent-tools/batch-read.mjs +1 -1
- package/agent-tools/batch-reopen.mjs +142 -0
- package/agent-tools/batch-skeleton.mjs +275 -80
- package/agent-tools/batch.mjs +243 -50
- package/agent-tools/context.mjs +6 -3
- package/agent-tools/design-slots.mjs +24 -24
- package/agent-tools/design-token.mjs +96 -15
- package/agent-tools/doc-check.mjs +18 -2
- package/agent-tools/eng.mjs +1 -1
- package/agent-tools/escalate-async.mjs +3 -3
- package/agent-tools/manifest.mjs +8 -5
- package/agent-tools/read-history.mjs +5 -5
- package/agent-tools/review-facts.mjs +31 -13
- package/agent-tools/spawn-gates.mjs +10 -14
- package/agent-tools/ssh-session.mjs +120 -111
- package/agent-tools/ssh-transfer.mjs +210 -0
- package/agent-tools/ssh-transport.mjs +277 -46
- package/agent-tools/subagent-actions-query.mjs +1 -1
- package/agent-tools/subagent-actions.mjs +1 -1
- package/agent-tools/subagent-async.mjs +3 -2
- package/agent-tools/subagent-scheduler.mjs +43 -9
- package/agent-tools/subagent-spawn.mjs +68 -9
- package/agent-tools/subagent.mjs +16 -14
- package/client-identity.mjs +22 -6
- package/config-presets.mjs +5 -3
- package/context.mjs +34 -3
- package/declaration.mjs +2 -2
- package/doc-check/anchors.mjs +128 -28
- package/doc-check/index.mjs +68 -15
- package/doc-check/line-refs.mjs +112 -0
- package/doc-check/paragraph.mjs +18 -5
- package/explore-distill.mjs +1 -1
- package/i18n.mjs +1 -1
- package/index-discover.mjs +4 -1
- package/ledger-close-proof.mjs +19 -37
- package/ledger-cmd.mjs +71 -195
- package/ledger-db.mjs +29 -28
- package/ledger-migrate.mjs +4 -4
- package/ledger-read.mjs +10 -8
- package/ledger-surface.mjs +1 -1
- package/ledger-tools.mjs +6 -6
- package/ledger-variant-notice.mjs +1 -1
- package/ledger-write-ops.mjs +373 -0
- package/ledger.mjs +2 -2
- package/manifest-discovery.mjs +2 -2
- package/manifest-schema.mjs +4 -0
- package/memory/memory-tool.mjs +5 -2
- package/memory/schema.mjs +5 -26
- package/package.json +1 -1
- package/path-resolve.mjs +217 -0
- package/permission.mjs +4 -0
- package/prompt-overlays.mjs +5 -0
- package/prompts/advisor-design.md +9 -6
- package/prompts/advisor-round1.md +4 -3
- package/prompts/advisor-round2.md +6 -5
- package/prompts/advisor-round3.md +6 -5
- package/prompts/common.md +23 -10
- package/prompts/consult-base.md +2 -1
- package/prompts/discipline-engineering.md +29 -48
- package/prompts/discipline-normal.md +10 -5
- package/prompts/persona-eng-coder.md +8 -0
- package/prompts/persona-eng-designer.md +22 -12
- package/prompts/persona-engineering.md +81 -68
- package/prompts/persona-plan.md +2 -1
- package/prompts/persona-tester.md +55 -0
- package/provider/core.mjs +2 -2
- package/provider/google.mjs +15 -5
- package/provider/rate.mjs +11 -3
- package/provider/sse.mjs +15 -4
- package/session-identity.mjs +21 -0
- package/session-lifecycle.mjs +9 -4
- package/session-slots.mjs +9 -14
- package/session.mjs +5 -0
- package/skip-dirs.mjs +48 -0
- package/team-ledger.mjs +4 -4
- package/text-budget.mjs +4 -0
- package/token-window.mjs +90 -14
- package/tool-docs/advisor.md +2 -2
- package/tool-docs/apply_patch.md +2 -0
- package/tool-docs/bash.md +4 -0
- package/tool-docs/batch.md +85 -1
- package/tool-docs/browser.md +3 -1
- package/tool-docs/code_search.md +3 -1
- package/tool-docs/consult_start.md +6 -2
- package/tool-docs/consult_stop.md +3 -1
- package/tool-docs/delete.md +3 -0
- package/tool-docs/doc_check.md +43 -8
- package/tool-docs/doc_search.md +5 -1
- package/tool-docs/edit.md +22 -1
- package/tool-docs/execute.md +7 -1
- package/tool-docs/fetch.md +3 -1
- package/tool-docs/file_ops.md +3 -1
- package/tool-docs/git.md +9 -1
- package/tool-docs/goal.md +2 -0
- package/tool-docs/grep.md +1 -1
- package/tool-docs/hashline_edit.md +2 -0
- package/tool-docs/insert_after.md +3 -1
- package/tool-docs/ledger.md +5 -5
- package/tool-docs/lint.md +1 -0
- package/tool-docs/manifest-read.md +2 -1
- package/tool-docs/manifest.md +9 -2
- package/tool-docs/memory.md +11 -1
- package/tool-docs/notify_parent.md +1 -1
- package/tool-docs/plan.md +2 -0
- package/tool-docs/question.md +1 -1
- package/tool-docs/read_history.md +15 -3
- package/tool-docs/read_image.md +3 -1
- package/tool-docs/recent_changes.md +3 -1
- package/tool-docs/repo_outline.md +3 -1
- package/tool-docs/settings.md +10 -2
- package/tool-docs/skill.md +2 -0
- package/tool-docs/ssh.md +30 -17
- package/tool-docs/subagent.md +50 -13
- package/tool-docs/task.md +2 -0
- package/tool-docs/team_ledger.md +1 -1
- package/tool-docs/timer.md +7 -0
- package/tool-docs/verify.md +13 -1
- package/tool-docs/websearch.md +3 -1
- package/tool-docs/write.md +2 -0
- package/tools/bash.mjs +12 -2
- package/tools/edit-batch.mjs +40 -33
- package/tools/edit-diff.mjs +69 -1
- package/tools/execute.mjs +10 -4
- package/tools/file.mjs +17 -27
- package/tools/git.mjs +27 -1
- package/tools/ops.mjs +2 -1
- package/tools/patch.mjs +12 -3
- package/tools/process-doc-mark.mjs +139 -0
- package/tools/search.mjs +15 -6
- package/tools/shared.mjs +24 -1
- package/tools/ssh.mjs +48 -7
- package/tools/tree.mjs +4 -1
- package/tools/write-path.mjs +64 -3
- package/traces/trace-store.mjs +4 -3
- package/agent/light-round.mjs +0 -63
- package/agent/unbooked-pen.mjs +0 -62
package/agent/unbooked-pen.mjs
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* unbooked-pen.mjs — 无账之笔提醒叶(批 unbooked-pen · 台账 #1753)。
|
|
3
|
-
* 设计权威 = `docs/core/design/LIGHT-CHANNEL.md` §2.9(F-LC6);需求 = `docs/core/requirements/LIGHT-CHANNEL.md` §2.6。
|
|
4
|
-
*
|
|
5
|
-
* 机制:每会话**首次**由主 agent 落下**产品源文件**笔时,在工具回执末尾追加一行通道确认提醒。
|
|
6
|
-
* 只提示——不拦、不放行、不改任何判据;文案为条件句(轻通道笔须先挂轮,全链笔交 eng-coder)。
|
|
7
|
-
* 承载形对齐先例 `agent-tools/zero-write-watch.mjs`(谓词叶 + 文案函数 + 闩 + 非阻塞)。
|
|
8
|
-
* 零环:只 import 既有单源(`FILE_MUTATORS` ∥ `toolTouchPaths` ∥ `isCodePath` ∥ `declarationForTarget`),
|
|
9
|
-
* 只被 `agent/record-results.mjs` import(不反向引)。
|
|
10
|
-
*/
|
|
11
|
-
import { resolve } from "node:path"
|
|
12
|
-
import { FILE_MUTATORS, toolTouchPaths } from "./helpers.mjs"
|
|
13
|
-
import { declarationForTarget } from "../declaration.mjs"
|
|
14
|
-
import { isCodePath } from "../conventions.mjs"
|
|
15
|
-
|
|
16
|
-
/** 笔集(§2.9 ②):`FILE_MUTATORS` **减** `delete`——减式派生,不另抄第二份工具名清单
|
|
17
|
-
* (`FILE_MUTATORS` 增删成员时本集自动跟上)。`delete` 不入集:删产品源文件须 `force`、
|
|
18
|
-
* 是显式动作,本批无场景(K20)。 */
|
|
19
|
-
export const PEN_TOOLS = new Set([...FILE_MUTATORS].filter((name) => name !== "delete"))
|
|
20
|
-
|
|
21
|
-
/** 文案单源(§2.9 文案块逐字——条件句 + 后果句;改文案只改这一处)。 */
|
|
22
|
-
export function unbookedPenText() {
|
|
23
|
-
return "[pen check] first product-source write this session — confirm the channel before it lands: a light-channel pen needs its round booked first (batch record + an in-flight ledger row pointing at the record); a full-chain pen goes to eng-coder. A pen with no account is invisible at closeout, so the ledger settlement misses it."
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* 四合取 + 一闩判定(§2.9 触发面)——命中:置闩并返回回执后缀(`\n` + 文案行);未中:空串。
|
|
28
|
-
* ① 身份 = 主 agent(`_role == null`——主会话装配不传 role,子代理 spawn 面统一传角色)
|
|
29
|
-
* ② 工具 ∈ `PEN_TOOLS` ③ `ok === true` ④ 任一目标分类为产品源文件
|
|
30
|
-
* (逐目标 `resolve(cwd, p)` → `declarationForTarget(abs)` → `isCodePath(abs, conv)`——与父侧门
|
|
31
|
-
* `agent/dispatch.mjs:111-118` 同式;出辖目标不判,任一命中即触发)
|
|
32
|
-
* 闩 = `agent._unbookedPenNotified`(每会话一次——不按轮、不按文件)。
|
|
33
|
-
* @param {object} agent 主 agent(读 `cwd` ∥ `_role` ∥ 闩位)
|
|
34
|
-
* @param {{name: string, arguments?: string}} toolCall
|
|
35
|
-
* @param {boolean} ok 工具结果成功位(被拒的笔没有落盘,提醒无对象)
|
|
36
|
-
* @param {object} [tool] 工具对象——只用于 `toolTouchPaths` 的可选钩子 `touchedPaths`
|
|
37
|
-
* (`apply_patch` ∥ 多目标 `edit` 的目标解析靠它;缺省按单参 `path`)
|
|
38
|
-
* @returns {string} 命中 = 回执后缀;未中 = ""
|
|
39
|
-
*/
|
|
40
|
-
export function unbookedPenNotice(agent, toolCall, ok, tool) {
|
|
41
|
-
if (!agent || agent._role != null) return ""
|
|
42
|
-
if (!tool) return ""
|
|
43
|
-
if (ok !== true) return ""
|
|
44
|
-
if (agent._unbookedPenNotified) return ""
|
|
45
|
-
if (!PEN_TOOLS.has(toolCall?.name)) return ""
|
|
46
|
-
try {
|
|
47
|
-
const args = JSON.parse(toolCall.arguments || "{}")
|
|
48
|
-
const hit = toolTouchPaths(tool, args).some((p) => {
|
|
49
|
-
if (typeof p !== "string" || !p.trim()) return false
|
|
50
|
-
const abs = resolve(agent.cwd, p)
|
|
51
|
-
const conv = declarationForTarget(abs)
|
|
52
|
-
return !!conv && isCodePath(abs, conv)
|
|
53
|
-
})
|
|
54
|
-
if (!hit) return ""
|
|
55
|
-
} catch {
|
|
56
|
-
// 恒零抛(先例 zero-write-watch.mjs 同款):提醒是兜底面——判定失败不得中断回执提交
|
|
57
|
-
// (畸形 args ∥ 非标准装配的 cwd)。退回空串 = 本笔不提示,判据面零变。
|
|
58
|
-
return ""
|
|
59
|
-
}
|
|
60
|
-
agent._unbookedPenNotified = true
|
|
61
|
-
return `\n${unbookedPenText()}`
|
|
62
|
-
}
|