@dsh-cc/bundle-shell 0.8.1-rc.1 → 0.8.2-rc.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/README.i18n.yaml +1 -1
- package/README.zh.md +10 -10
- package/cordis.patch.yml +8 -0
- package/lib/foreign-rules.d.ts +87 -0
- package/lib/foreign-rules.d.ts.map +1 -0
- package/lib/foreign-rules.js +179 -0
- package/lib/foreign-rules.js.map +1 -0
- package/lib/index.d.ts +9 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +18 -9
- package/lib/index.js.map +1 -1
- package/lib/mcpReadyNotice.js +1 -1
- package/lib/mcpReadyNotice.js.map +1 -1
- package/lib/schedule-mount.d.ts +19 -0
- package/lib/schedule-mount.d.ts.map +1 -0
- package/lib/schedule-mount.js +31 -0
- package/lib/schedule-mount.js.map +1 -0
- package/package.json +31 -24
package/README.i18n.yaml
CHANGED
package/README.zh.md
CHANGED
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
[English](README.md) | 中文
|
|
4
4
|
|
|
5
|
-
CC 壳层的 **host-plane infra** 组合包。本包承载真正属于宿主层的部件——带 deferred-name 支持的 tools 注册表替换、settings-migrations 机制——以及 `cc-shell-glue`
|
|
5
|
+
CC 壳层的 **host-plane infra** 组合包。本包承载真正属于宿主层的部件——带 deferred-name 支持的 tools 注册表替换、settings-migrations 机制——以及 `cc-shell-glue` 插件的*代码*(glue 代码仍住在这里,但挂载动作由 CC preset 执行,而非本包的 patch)。所有 agent-face 组合——tool-search、skill loader、memory、coordinator、worktree/sleep/notebook/structured-output 工具、19 个斜杠命令、hook 桥、output-style 渲染——都已迁至 [`@dsh-cc/preset-cc`](../../preset/cc/README.md) 组合包,以便按 preset 隔离,而不是泄漏进每个模式。
|
|
6
6
|
|
|
7
7
|
## 作用
|
|
8
8
|
|
|
9
|
-
- **tools 注册表替换。** 禁用 in-box 的 `tools`
|
|
10
|
-
- **settings 迁移。** 挂载 `@dsh-cc/settings-migrations
|
|
11
|
-
- **glue
|
|
9
|
+
- **tools 注册表替换。** 禁用 in-box 的 `tools` 行,重挂 `@dsh-cc/tools`。`reserve()`/`isAdmitted()` 加入可限制名 universe,权限门可在 deferred 工具加载前按名门控;其余行为与上游一致。基础行的 `DSH_TOOLS_MODE` 开关被延续($DSH_HOME / process.cwd() 语义不变)。
|
|
10
|
+
- **settings 迁移。** 挂载 `@dsh-cc/settings-migrations`,在启动时应用版本门控的 `settings.json` 迁移(等价于 CC 的 `runMigrations`)。当前为空注册表——仅机制。
|
|
11
|
+
- **glue 插件代码(由 CC preset 挂载)。** `cc-shell-glue` 挂载 cordis patch 行无法静态表达的部件:磁盘上的 Claude Code 插件、`.mcp.json` server 接线,以及内置的插件 `mcp` seam(`cc-mcp-seam`,使插件的 `mcpServers` 通过 mcp-client 真正挂载)。默认插件发现是双 home 合并视图:`enabledPlugins`(claude-user → dsh-user → project → local 级联)∩ 两个 home 合并后的 `installed_plugins.json`(精确 `name@marketplace` key,`installPath` 作为插件根)。**写入根是 dsh home**(`$DSH_HOME` / `~/.dsh`);Claude home(`$CLAUDE_CONFIG_DIR` / `~/.claude`)保持可读以兼容,dsh 条目按 key 优先。显式 `pluginDirs` 仍 flatten 这些目录;`[]`/`null` 关闭。发现为尽力而为——缺失路径与无法读取的 JSON 都不挂载。它还暴露 `ccPlugins` 服务,用于对已挂载插件做实时枚举/重扫(`/reload-plugins` 会重读级联),以及绑定两个 home 的 `ccPluginManager` 服务(`/plugin` 变更落在 `~/.dsh`)。glue 以 **惰性 trampoline** 基于 `ccModelRoutes` 服务把派发时的 `resolveModel` 接入 `AgentProvider`:`(model) => ctx.get('ccModelRoutes')?.resolve(model)`——每次派发查询,服务未挂载时降级为继承父路由。
|
|
12
12
|
|
|
13
13
|
### 从 glue 迁出的部分
|
|
14
14
|
|
|
15
|
-
两个原本住在 `cc-shell-glue`
|
|
15
|
+
两个原本住在 `cc-shell-glue` 里的部件迁到了各自的属主包:
|
|
16
16
|
|
|
17
|
-
- **`model-aliases` settings 命名空间注册** → `@dsh-cc/model-aliases` 的 `ccModelRoutes`
|
|
18
|
-
- **基础 CC-agent
|
|
17
|
+
- **`model-aliases` settings 命名空间注册** → `@dsh-cc/model-aliases` 的 `ccModelRoutes` 服务(`packages/compat/cc-model-aliases`)。glue 不再注册该命名空间(重复注册会 throw),只惰性消费服务。glue config 的 `Config.modelAliases` 已删除。
|
|
18
|
+
- **基础 CC-agent 发现**(`~/.claude/agents` + `<cwd>/.claude/agents` → subagent providers)→ `@dsh-cc/subagent-task` 的 Task 工具,它按**会话** cwd(而非宿主进程 cwd)发现。`Config.registerBaseAgents` 已删除。
|
|
19
19
|
|
|
20
20
|
## 已知限制 / 说明
|
|
21
21
|
|
|
22
|
-
- 本包不再全局挂载任何 agent-face 表面。只有 host-plane infra
|
|
23
|
-
- 由于 tool-web executor 行在 rc.6 之前未被 CLI
|
|
24
|
-
- 项目/local `enabledPlugins` 偏向 boot cwd
|
|
22
|
+
- 本包不再全局挂载任何 agent-face 表面。只有 host-plane infra 行(tools 注册表替换 + settings-migrations)由本包的 `cordis.patch.yml` 挂载;glue 插件与所有 agent 表面由 `@dsh-cc/preset-cc` 挂载,从而限定在该 preset 内。
|
|
23
|
+
- 由于 tool-web executor 行在 rc.6 之前未被 CLI 依赖树携带,基于 fetch 的 web 工具由 preset 挂载而非此处;当前 fetch 状态见 preset 的「已知限制」。
|
|
24
|
+
- 项目/local `enabledPlugins` 偏向 boot cwd(glue 是 host-plane 单例,与 `.mcp.json` 相同)。`/reload-plugins` 是热更新出口。插件状态是双 home 的:`$CLAUDE_CONFIG_DIR` 保持可读供发现使用,而插件管理写入落在 `$DSH_HOME`(`~/.dsh`)——设置 `CLAUDE_CONFIG_DIR` 不再决定插件写入位置;`.mcp.json` 仍写死 `~/.claude`。
|
package/cordis.patch.yml
CHANGED
|
@@ -62,3 +62,11 @@
|
|
|
62
62
|
maxInputBytes: 4096
|
|
63
63
|
maxOutputTokens: 64
|
|
64
64
|
timeoutMs: 60000
|
|
65
|
+
|
|
66
|
+
# Harness 0.1.7: schedule became a host-plane service class
|
|
67
|
+
# (TypertRemoteService). Its old per-agent preset row parks the agent
|
|
68
|
+
# mount forever (cordis waits silently on the missing sessionController
|
|
69
|
+
# inject — see @dsh-cc/bundle-shell/schedule-mount); mount at host plane
|
|
70
|
+
# with the stub resolver instead.
|
|
71
|
+
- id: schedule
|
|
72
|
+
name: '@dsh-cc/bundle-shell/schedule-mount'
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Foreign rules/context import beyond the Cursor dialect (plan
|
|
3
|
+
* docs/plans/2026-09-23-small-picks-batch.md §C7): harvest other agents' rule
|
|
4
|
+
* files from the session cwd — cline `.clinerules`, windsurf
|
|
5
|
+
* `.windsurfrules` / `.windsurf/rules/*.md`, copilot
|
|
6
|
+
* `.github/copilot-instructions.md` / `.github/instructions/*.instructions.md`
|
|
7
|
+
* — and render them into a `cc:foreign-rules` system-prompt section
|
|
8
|
+
* (order 107, immediately after `cc:plugin-rules`).
|
|
9
|
+
*
|
|
10
|
+
* Discovery roots: the session cwd only (`process.cwd()`, the same source
|
|
11
|
+
* `CcPluginsService` uses) — no parent walk, no symlink traversal
|
|
12
|
+
* (`lstat`-filtered), vendored directories never matched. Caps mirror the
|
|
13
|
+
* rulesSeam §7 budget idiom: 4000 chars per file (truncate + explicit tail +
|
|
14
|
+
* one-time warn), 8 files per provider, 12000 chars for the whole section.
|
|
15
|
+
* Opt-out via the `cc-foreign-rules` settings namespace (`disabled` provider
|
|
16
|
+
* list), read live at discovery time. Discovery is lazy-once per spawn:
|
|
17
|
+
* computed inside the section's `text()` callback on its first call and
|
|
18
|
+
* memoized for that closure; no file watcher.
|
|
19
|
+
*
|
|
20
|
+
* @module
|
|
21
|
+
*/
|
|
22
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
23
|
+
import z from '@deepseek-ai/schemastery';
|
|
24
|
+
import type { SettingsNamespace } from '@dsh-cc/settings-provider';
|
|
25
|
+
/** Name of the system-prompt section this module owns. */
|
|
26
|
+
export declare const FOREIGN_RULES_SECTION_NAME = "cc:foreign-rules";
|
|
27
|
+
/** Prompt order of the foreign-rules section (after cc:plugin-rules, 106). */
|
|
28
|
+
export declare const FOREIGN_RULES_SECTION_ORDER = 107;
|
|
29
|
+
/** Settings namespace carrying the provider opt-out (branded idiom). */
|
|
30
|
+
export declare const FOREIGN_RULES_SETTINGS_NAMESPACE: SettingsNamespace;
|
|
31
|
+
/** The live opt-out shape (read at discovery time, never cached). */
|
|
32
|
+
export interface ForeignRulesSettings {
|
|
33
|
+
disabled: readonly ('cline' | 'windsurf' | 'copilot')[];
|
|
34
|
+
}
|
|
35
|
+
/** Namespace schema: `{ disabled: [...] }`, empty by default. The vendored
|
|
36
|
+
* schemastery has no `z.enum`, so the three providers are spelled as a union
|
|
37
|
+
* of `z.const` members (same acceptance, same /config shape). */
|
|
38
|
+
export declare const ForeignRulesSettingsSchema: z<ForeignRulesSettings>;
|
|
39
|
+
/** Prompt cap per harvested file (the RULES_BUDGET_CAP_CHARS idiom). */
|
|
40
|
+
export declare const FOREIGN_FILE_CAP_CHARS = 4000;
|
|
41
|
+
/** Maximum files harvested per provider. */
|
|
42
|
+
export declare const FOREIGN_FILES_PER_PROVIDER = 8;
|
|
43
|
+
/** Prompt cap for the whole section. */
|
|
44
|
+
export declare const FOREIGN_SECTION_CAP_CHARS = 12000;
|
|
45
|
+
/** One provider: its id and the cwd-relative globs that carry its rules. */
|
|
46
|
+
interface ProviderSpec {
|
|
47
|
+
id: 'cline' | 'windsurf' | 'copilot';
|
|
48
|
+
globs: readonly string[];
|
|
49
|
+
}
|
|
50
|
+
/** One harvested rule file. */
|
|
51
|
+
export interface ForeignRuleFile {
|
|
52
|
+
/** Provider the file belongs to. */
|
|
53
|
+
provider: ProviderSpec['id'];
|
|
54
|
+
/** Path relative to the discovery root (the cwd). */
|
|
55
|
+
relPath: string;
|
|
56
|
+
/** File body, already truncated to {@link FOREIGN_FILE_CAP_CHARS}. */
|
|
57
|
+
body: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Discover foreign rule files under `root` (the session cwd in production).
|
|
61
|
+
* Returns at most {@link FOREIGN_FILES_PER_PROVIDER} files per provider,
|
|
62
|
+
* each body truncated to {@link FOREIGN_FILE_CAP_CHARS} with an explicit
|
|
63
|
+
* tail plus a one-time warn. Deterministic order (globs → sorted paths).
|
|
64
|
+
*/
|
|
65
|
+
export declare function discoverForeignRules(root: string, ctx: Context): ForeignRuleFile[];
|
|
66
|
+
/**
|
|
67
|
+
* Render the discovered files into section text: one block per file — header
|
|
68
|
+
* `## <provider> rules (<path relative to cwd>)` followed by the verbatim
|
|
69
|
+
* body — capped at {@link FOREIGN_SECTION_CAP_CHARS} chars for the whole
|
|
70
|
+
* section. Returns '' when nothing was discovered (no stray headers).
|
|
71
|
+
*/
|
|
72
|
+
export declare function renderForeignRules(files: readonly ForeignRuleFile[]): string;
|
|
73
|
+
/**
|
|
74
|
+
* Register the settings namespace (idempotent) and return the live reader.
|
|
75
|
+
* Without a settings provider the reader serves ship-on defaults (every
|
|
76
|
+
* provider enabled) — graceful degradation, never throws.
|
|
77
|
+
*/
|
|
78
|
+
export declare function registerForeignRulesSettings(ctx: Context): () => ForeignRulesSettings;
|
|
79
|
+
/**
|
|
80
|
+
* Mount the `cc:foreign-rules` section on the host `systemPrompt` service.
|
|
81
|
+
* The text callback discovers lazily on its first call and memoizes for this
|
|
82
|
+
* spawn; no file watcher. Nothing is logged unless content was found — one
|
|
83
|
+
* consolidated debug line lists the per-provider counts.
|
|
84
|
+
*/
|
|
85
|
+
export declare function mountForeignRulesSection(ctx: Context): void;
|
|
86
|
+
export {};
|
|
87
|
+
//# sourceMappingURL=foreign-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"foreign-rules.d.ts","sourceRoot":"","sources":["../src/foreign-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAExC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAElE,0DAA0D;AAC1D,eAAO,MAAM,0BAA0B,qBAAqB,CAAA;AAE5D,8EAA8E;AAC9E,eAAO,MAAM,2BAA2B,MAAM,CAAA;AAE9C,wEAAwE;AACxE,eAAO,MAAM,gCAAgC,EAAyB,iBAAiB,CAAA;AAEvF,qEAAqE;AACrE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC,EAAE,CAAA;CACxD;AAED;;iEAEiE;AACjE,eAAO,MAAM,0BAA0B,EAAE,CAAC,CAAC,oBAAoB,CAEvB,CAAA;AAExC,wEAAwE;AACxE,eAAO,MAAM,sBAAsB,OAAO,CAAA;AAE1C,4CAA4C;AAC5C,eAAO,MAAM,0BAA0B,IAAI,CAAA;AAE3C,wCAAwC;AACxC,eAAO,MAAM,yBAAyB,QAAS,CAAA;AAQ/C,4EAA4E;AAC5E,UAAU,YAAY;IACpB,EAAE,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;IACpC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CACzB;AASD,+BAA+B;AAC/B,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;IAC5B,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAA;IACf,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAA;CACb;AAUD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,eAAe,EAAE,CA0ClF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,CAa5E;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,oBAAoB,CAOrF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAwB3D"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Foreign rules/context import beyond the Cursor dialect (plan
|
|
3
|
+
* docs/plans/2026-09-23-small-picks-batch.md §C7): harvest other agents' rule
|
|
4
|
+
* files from the session cwd — cline `.clinerules`, windsurf
|
|
5
|
+
* `.windsurfrules` / `.windsurf/rules/*.md`, copilot
|
|
6
|
+
* `.github/copilot-instructions.md` / `.github/instructions/*.instructions.md`
|
|
7
|
+
* — and render them into a `cc:foreign-rules` system-prompt section
|
|
8
|
+
* (order 107, immediately after `cc:plugin-rules`).
|
|
9
|
+
*
|
|
10
|
+
* Discovery roots: the session cwd only (`process.cwd()`, the same source
|
|
11
|
+
* `CcPluginsService` uses) — no parent walk, no symlink traversal
|
|
12
|
+
* (`lstat`-filtered), vendored directories never matched. Caps mirror the
|
|
13
|
+
* rulesSeam §7 budget idiom: 4000 chars per file (truncate + explicit tail +
|
|
14
|
+
* one-time warn), 8 files per provider, 12000 chars for the whole section.
|
|
15
|
+
* Opt-out via the `cc-foreign-rules` settings namespace (`disabled` provider
|
|
16
|
+
* list), read live at discovery time. Discovery is lazy-once per spawn:
|
|
17
|
+
* computed inside the section's `text()` callback on its first call and
|
|
18
|
+
* memoized for that closure; no file watcher.
|
|
19
|
+
*
|
|
20
|
+
* @module
|
|
21
|
+
*/
|
|
22
|
+
import { globSync, lstatSync, readFileSync } from 'node:fs';
|
|
23
|
+
import z from '@deepseek-ai/schemastery';
|
|
24
|
+
import { registerNamespaceSafe } from '@dsh-cc/settings-ns';
|
|
25
|
+
/** Name of the system-prompt section this module owns. */
|
|
26
|
+
export const FOREIGN_RULES_SECTION_NAME = 'cc:foreign-rules';
|
|
27
|
+
/** Prompt order of the foreign-rules section (after cc:plugin-rules, 106). */
|
|
28
|
+
export const FOREIGN_RULES_SECTION_ORDER = 107;
|
|
29
|
+
/** Settings namespace carrying the provider opt-out (branded idiom). */
|
|
30
|
+
export const FOREIGN_RULES_SETTINGS_NAMESPACE = 'cc-foreign-rules';
|
|
31
|
+
/** Namespace schema: `{ disabled: [...] }`, empty by default. The vendored
|
|
32
|
+
* schemastery has no `z.enum`, so the three providers are spelled as a union
|
|
33
|
+
* of `z.const` members (same acceptance, same /config shape). */
|
|
34
|
+
export const ForeignRulesSettingsSchema = z.object({
|
|
35
|
+
disabled: z.array(z.union([z.const('cline'), z.const('windsurf'), z.const('copilot')])).default([]),
|
|
36
|
+
});
|
|
37
|
+
/** Prompt cap per harvested file (the RULES_BUDGET_CAP_CHARS idiom). */
|
|
38
|
+
export const FOREIGN_FILE_CAP_CHARS = 4000;
|
|
39
|
+
/** Maximum files harvested per provider. */
|
|
40
|
+
export const FOREIGN_FILES_PER_PROVIDER = 8;
|
|
41
|
+
/** Prompt cap for the whole section. */
|
|
42
|
+
export const FOREIGN_SECTION_CAP_CHARS = 12_000;
|
|
43
|
+
/** Explicit tail appended to truncated text (rulesSeam idiom). */
|
|
44
|
+
const TRUNCATION_TAIL = '\n... (truncated)';
|
|
45
|
+
/** Directories that are never matched during discovery. */
|
|
46
|
+
const IGNORED_DIRS = ['node_modules', '.git', 'vendor', 'dist', 'build', 'coverage'];
|
|
47
|
+
/** The exactly-3-providers / 5-globs discovery table. */
|
|
48
|
+
const PROVIDERS = [
|
|
49
|
+
{ id: 'cline', globs: ['.clinerules'] },
|
|
50
|
+
{ id: 'windsurf', globs: ['.windsurfrules', '.windsurf/rules/*.md'] },
|
|
51
|
+
{ id: 'copilot', globs: ['.github/copilot-instructions.md', '.github/instructions/*.instructions.md'] },
|
|
52
|
+
];
|
|
53
|
+
/**
|
|
54
|
+
* Whether a cwd-relative path avoids every ignored directory segment.
|
|
55
|
+
* Vendored directories are never matched, wherever they appear in the path.
|
|
56
|
+
*/
|
|
57
|
+
function isAllowed(relPath) {
|
|
58
|
+
return !relPath.split('/').some(seg => IGNORED_DIRS.includes(seg));
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Discover foreign rule files under `root` (the session cwd in production).
|
|
62
|
+
* Returns at most {@link FOREIGN_FILES_PER_PROVIDER} files per provider,
|
|
63
|
+
* each body truncated to {@link FOREIGN_FILE_CAP_CHARS} with an explicit
|
|
64
|
+
* tail plus a one-time warn. Deterministic order (globs → sorted paths).
|
|
65
|
+
*/
|
|
66
|
+
export function discoverForeignRules(root, ctx) {
|
|
67
|
+
const warned = new Set();
|
|
68
|
+
const files = [];
|
|
69
|
+
for (const { id, globs } of PROVIDERS) {
|
|
70
|
+
let taken = 0;
|
|
71
|
+
for (const glob of globs) {
|
|
72
|
+
if (taken >= FOREIGN_FILES_PER_PROVIDER)
|
|
73
|
+
break;
|
|
74
|
+
let matches;
|
|
75
|
+
try {
|
|
76
|
+
matches = globSync(glob, { cwd: root }).filter(isAllowed).sort();
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
continue; // A malformed root or unreadable directory is inert.
|
|
80
|
+
}
|
|
81
|
+
for (const relPath of matches) {
|
|
82
|
+
if (taken >= FOREIGN_FILES_PER_PROVIDER)
|
|
83
|
+
break;
|
|
84
|
+
// lstat: symlinks (and anything that is not a plain file) never match.
|
|
85
|
+
let stat;
|
|
86
|
+
try {
|
|
87
|
+
stat = lstatSync(`${root}/${relPath}`);
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
if (!stat.isFile())
|
|
93
|
+
continue;
|
|
94
|
+
let body;
|
|
95
|
+
try {
|
|
96
|
+
body = readFileSync(`${root}/${relPath}`, 'utf8');
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
continue; // Unreadable file is inert.
|
|
100
|
+
}
|
|
101
|
+
if (body.length > FOREIGN_FILE_CAP_CHARS) {
|
|
102
|
+
body = body.slice(0, Math.max(0, FOREIGN_FILE_CAP_CHARS - TRUNCATION_TAIL.length)) + TRUNCATION_TAIL;
|
|
103
|
+
if (!warned.has(relPath)) {
|
|
104
|
+
warned.add(relPath);
|
|
105
|
+
ctx.logger.warn(`cc-foreign-rules: ${relPath} exceeds the ${FOREIGN_FILE_CAP_CHARS}-character per-file budget; truncated`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
files.push({ provider: id, relPath, body });
|
|
109
|
+
taken += 1;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return files;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Render the discovered files into section text: one block per file — header
|
|
117
|
+
* `## <provider> rules (<path relative to cwd>)` followed by the verbatim
|
|
118
|
+
* body — capped at {@link FOREIGN_SECTION_CAP_CHARS} chars for the whole
|
|
119
|
+
* section. Returns '' when nothing was discovered (no stray headers).
|
|
120
|
+
*/
|
|
121
|
+
export function renderForeignRules(files) {
|
|
122
|
+
let text = '';
|
|
123
|
+
for (const f of files) {
|
|
124
|
+
const block = `## ${f.provider} rules (${f.relPath})\n${f.body}`;
|
|
125
|
+
if (text === '')
|
|
126
|
+
text = block;
|
|
127
|
+
else if (text.length + 2 + block.length <= FOREIGN_SECTION_CAP_CHARS)
|
|
128
|
+
text += `\n\n${block}`;
|
|
129
|
+
else {
|
|
130
|
+
const room = FOREIGN_SECTION_CAP_CHARS - text.length - 2 - TRUNCATION_TAIL.length;
|
|
131
|
+
if (room > 0)
|
|
132
|
+
text += `\n\n${block.slice(0, room)}${TRUNCATION_TAIL}`;
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return text;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Register the settings namespace (idempotent) and return the live reader.
|
|
140
|
+
* Without a settings provider the reader serves ship-on defaults (every
|
|
141
|
+
* provider enabled) — graceful degradation, never throws.
|
|
142
|
+
*/
|
|
143
|
+
export function registerForeignRulesSettings(ctx) {
|
|
144
|
+
const read = registerNamespaceSafe(ctx, FOREIGN_RULES_SETTINGS_NAMESPACE, ForeignRulesSettingsSchema);
|
|
145
|
+
return () => read() ?? { disabled: [] };
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Mount the `cc:foreign-rules` section on the host `systemPrompt` service.
|
|
149
|
+
* The text callback discovers lazily on its first call and memoizes for this
|
|
150
|
+
* spawn; no file watcher. Nothing is logged unless content was found — one
|
|
151
|
+
* consolidated debug line lists the per-provider counts.
|
|
152
|
+
*/
|
|
153
|
+
export function mountForeignRulesSection(ctx) {
|
|
154
|
+
const systemPrompt = ctx.get('systemPrompt');
|
|
155
|
+
if (systemPrompt === undefined)
|
|
156
|
+
return;
|
|
157
|
+
let memoized;
|
|
158
|
+
systemPrompt.section({
|
|
159
|
+
name: FOREIGN_RULES_SECTION_NAME,
|
|
160
|
+
order: FOREIGN_RULES_SECTION_ORDER,
|
|
161
|
+
text: () => {
|
|
162
|
+
if (memoized !== undefined)
|
|
163
|
+
return memoized;
|
|
164
|
+
const settings = registerForeignRulesSettings(ctx);
|
|
165
|
+
const disabled = new Set(settings?.().disabled ?? []);
|
|
166
|
+
const root = process.cwd();
|
|
167
|
+
const picked = discoverForeignRules(root, ctx).filter(f => !disabled.has(f.provider));
|
|
168
|
+
const counts = new Map();
|
|
169
|
+
for (const f of picked)
|
|
170
|
+
counts.set(f.provider, (counts.get(f.provider) ?? 0) + 1);
|
|
171
|
+
if (picked.length > 0) {
|
|
172
|
+
ctx.logger.debug(`cc-foreign-rules: picked up ${[...counts].map(([p, n]) => `${p}=${n}`).join(', ')}`);
|
|
173
|
+
}
|
|
174
|
+
memoized = renderForeignRules(picked);
|
|
175
|
+
return memoized;
|
|
176
|
+
},
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=foreign-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"foreign-rules.js","sourceRoot":"","sources":["../src/foreign-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3D,OAAO,CAAC,MAAM,0BAA0B,CAAA;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAG3D,0DAA0D;AAC1D,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAAA;AAE5D,8EAA8E;AAC9E,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAA;AAE9C,wEAAwE;AACxE,MAAM,CAAC,MAAM,gCAAgC,GAAG,kBAAuC,CAAA;AAOvF;;iEAEiE;AACjE,MAAM,CAAC,MAAM,0BAA0B,GAA4B,CAAC,CAAC,MAAM,CAAC;IAC1E,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACpG,CAAuC,CAAA;AAExC,wEAAwE;AACxE,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAA;AAE1C,4CAA4C;AAC5C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAA;AAE3C,wCAAwC;AACxC,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAA;AAE/C,kEAAkE;AAClE,MAAM,eAAe,GAAG,mBAAmB,CAAA;AAE3C,2DAA2D;AAC3D,MAAM,YAAY,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;AAQpF,yDAAyD;AACzD,MAAM,SAAS,GAA4B;IACzC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE;IACvC,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,EAAE;IACrE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,iCAAiC,EAAE,wCAAwC,CAAC,EAAE;CACxG,CAAA;AAYD;;;GAGG;AACH,SAAS,SAAS,CAAC,OAAe;IAChC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;AACpE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,GAAY;IAC7D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IAChC,MAAM,KAAK,GAAsB,EAAE,CAAA;IACnC,KAAK,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,SAAS,EAAE,CAAC;QACtC,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,KAAK,IAAI,0BAA0B;gBAAE,MAAK;YAC9C,IAAI,OAAiB,CAAA;YACrB,IAAI,CAAC;gBACH,OAAO,GAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAA;YAChF,CAAC;YAAC,MAAM,CAAC;gBACP,SAAQ,CAAC,qDAAqD;YAChE,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;gBAC9B,IAAI,KAAK,IAAI,0BAA0B;oBAAE,MAAK;gBAC9C,uEAAuE;gBACvE,IAAI,IAAI,CAAA;gBACR,IAAI,CAAC;oBACH,IAAI,GAAG,SAAS,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,CAAA;gBACxC,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAQ;gBACV,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBAAE,SAAQ;gBAC5B,IAAI,IAAY,CAAA;gBAChB,IAAI,CAAC;oBACH,IAAI,GAAG,YAAY,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,EAAE,MAAM,CAAC,CAAA;gBACnD,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAQ,CAAC,4BAA4B;gBACvC,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,GAAG,sBAAsB,EAAE,CAAC;oBACzC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,CAAA;oBACpG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;wBACzB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;wBACnB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,OAAO,gBAAgB,sBAAsB,uCAAuC,CAAC,CAAA;oBAC5H,CAAC;gBACH,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC3C,KAAK,IAAI,CAAC,CAAA;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAiC;IAClE,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QAChE,IAAI,IAAI,KAAK,EAAE;YAAE,IAAI,GAAG,KAAK,CAAA;aACxB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,yBAAyB;YAAE,IAAI,IAAI,OAAO,KAAK,EAAE,CAAA;aACvF,CAAC;YACJ,MAAM,IAAI,GAAG,yBAAyB,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,CAAA;YACjF,IAAI,IAAI,GAAG,CAAC;gBAAE,IAAI,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,eAAe,EAAE,CAAA;YACrE,MAAK;QACP,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAY;IACvD,MAAM,IAAI,GAAG,qBAAqB,CAChC,GAAG,EACH,gCAAgC,EAChC,0BAA0B,CAC3B,CAAA;IACD,OAAO,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAY;IACnD,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,CAE9B,CAAA;IACb,IAAI,YAAY,KAAK,SAAS;QAAE,OAAM;IACtC,IAAI,QAA4B,CAAA;IAChC,YAAY,CAAC,OAAO,CAAC;QACnB,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,2BAA2B;QAClC,IAAI,EAAE,GAAG,EAAE;YACT,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,QAAQ,CAAA;YAC3C,MAAM,QAAQ,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAA;YAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;YACrD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;YAC1B,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;YACrF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;YACxC,KAAK,MAAM,CAAC,IAAI,MAAM;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACjF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACxG,CAAC;YACD,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YACrC,OAAO,QAAQ,CAAA;QACjB,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -20,6 +20,15 @@
|
|
|
20
20
|
*/
|
|
21
21
|
import type { Context } from '@deepseek-ai/cordis';
|
|
22
22
|
import z from '@deepseek-ai/schemastery';
|
|
23
|
+
import type { ContextFormed } from '@deepseek-ai/dsh-llm';
|
|
24
|
+
/** Message-source kind for the cc-shell-glue producer (own named kind; no converter same-name entry). */
|
|
25
|
+
declare module '@deepseek-ai/dsh-llm' {
|
|
26
|
+
interface MessageSourceMap {
|
|
27
|
+
'cc-shell-glue': {
|
|
28
|
+
readonly kind: 'cc-shell-glue';
|
|
29
|
+
} & ContextFormed;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
23
32
|
/** Plugin config: which on-disk CC surfaces to mount. */
|
|
24
33
|
export interface Config {
|
|
25
34
|
/**
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,CAAC,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEzD,yGAAyG;AACzG,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,gBAAgB;QACxB,eAAe,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;SAAE,GAAG,aAAa,CAAA;KACpE;CACF;AAmBD,yDAAyD;AACzD,MAAM,WAAW,MAAM;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC5B,2IAA2I;IAC3I,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAChC;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;CACpC;AAED,qFAAqF;AACrF,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,MAAM,CAM3B,CAAA;AAEF,wBAAwB;AACxB,eAAO,MAAM,IAAI,kBAAkB,CAAA;AAEnC;;;;;GAKG;AACH,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6LvE"}
|
package/lib/index.js
CHANGED
|
@@ -22,6 +22,7 @@ import { existsSync, readFileSync } from 'node:fs';
|
|
|
22
22
|
import z from '@deepseek-ai/schemastery';
|
|
23
23
|
import { createUserMessage } from '@deepseek-ai/dsh-llm';
|
|
24
24
|
import { buildRegistrations, claudeOnlyServers, readMcpServerNames, resolveDefaultMcpPaths, } from '@dsh-cc/mcp-config';
|
|
25
|
+
import { mountForeignRulesSection } from "./foreign-rules.js";
|
|
25
26
|
import { mountMcpReadyNotice } from "./mcpReadyNotice.js";
|
|
26
27
|
import * as CcMcpClient from '@dsh-cc/mcp-client';
|
|
27
28
|
import { CcPluginManagerService } from "./ccPluginManager.js";
|
|
@@ -110,6 +111,10 @@ export async function apply(ctx, config) {
|
|
|
110
111
|
},
|
|
111
112
|
});
|
|
112
113
|
}
|
|
114
|
+
// Foreign rules import (plan docs/plans/2026-09-23-small-picks-batch.md
|
|
115
|
+
// §C7): cline/windsurf/copilot rule files from the session cwd render into
|
|
116
|
+
// a `cc:foreign-rules` section (order 107); lazily discovered per spawn.
|
|
117
|
+
mountForeignRulesSection(ctx);
|
|
113
118
|
const plugins = new CcPluginsService(ctx, {
|
|
114
119
|
...config.pluginDirs !== undefined ? { pluginDirs: config.pluginDirs } : {},
|
|
115
120
|
resolveModel,
|
|
@@ -178,8 +183,10 @@ export async function apply(ctx, config) {
|
|
|
178
183
|
}
|
|
179
184
|
// 3. Deferred-connect visibility window: prompts submitted while a deferred
|
|
180
185
|
// server is still handshaking cannot see its `mcp__*` tools. When any
|
|
181
|
-
// deferred server was mounted, register a one-shot `agent/
|
|
182
|
-
//
|
|
186
|
+
// deferred server was mounted, register a one-shot `agent/created` hook
|
|
187
|
+
// (same pattern as the gating notice below; rc.2 folds the old
|
|
188
|
+
// `agent/session-start` into agent creation, `source` on the payload)
|
|
189
|
+
// that lists the servers
|
|
183
190
|
// still `connecting` at that moment, then mounts a settle follow-up: a
|
|
184
191
|
// one-shot `agent/pre-step` listener that appends a "servers ready /
|
|
185
192
|
// unavailable" summary to the first matching enter decision once every
|
|
@@ -189,8 +196,10 @@ export async function apply(ctx, config) {
|
|
|
189
196
|
// first prompt injects nothing.
|
|
190
197
|
if (deferredNames.length > 0) {
|
|
191
198
|
let fired = false;
|
|
192
|
-
ctx.on('agent/
|
|
193
|
-
// One shot per process, consumed even when suppressed.
|
|
199
|
+
ctx.on('agent/created', ({ agent }) => {
|
|
200
|
+
// One shot per process, consumed even when suppressed. The registry
|
|
201
|
+
// announces `agent/created` for every created agent (main + subagent
|
|
202
|
+
// fan-out), so the closure flag still picks the first announcement.
|
|
194
203
|
if (fired)
|
|
195
204
|
return;
|
|
196
205
|
fired = true;
|
|
@@ -203,25 +212,25 @@ export async function apply(ctx, config) {
|
|
|
203
212
|
if (pending.length === 0)
|
|
204
213
|
return;
|
|
205
214
|
const text = `MCP: still connecting — ${pending.join(', ')}. Tools from these servers become available once ready.`;
|
|
206
|
-
agent.inject(createUserMessage({ content: [{ type: 'text', text }], source: { kind: '
|
|
215
|
+
agent.inject(createUserMessage({ content: [{ type: 'text', text }], source: { kind: 'cc-shell-glue', form: 'notice', summary: text } }));
|
|
207
216
|
const sid = agent.session?.id;
|
|
208
217
|
mountMcpReadyNotice(ctx, registry, pending, typeof sid === 'string' ? sid : undefined);
|
|
209
218
|
});
|
|
210
219
|
}
|
|
211
220
|
// 4. Gating notice: warn immediately, then inject once on the first
|
|
212
|
-
// `agent/
|
|
221
|
+
// `agent/created` (the TUI cannot see logger.warn). The closure
|
|
213
222
|
// flag makes it fire exactly once per process even when subagent/resume
|
|
214
|
-
// fan-out
|
|
223
|
+
// fan-out creates further agents, each announced.
|
|
215
224
|
if (gatedPaths !== undefined && noticeSources.length > 0) {
|
|
216
225
|
const skipped = noticeSources.map(source => `${source.path} (${source.names.length} servers)`).join(', ');
|
|
217
226
|
const text = `MCP: dsh config takes precedence — skipped Claude Code MCP config: ${skipped}. Run /mcp migrate to import them into ${gatedPaths.target}, then restart the session.`;
|
|
218
227
|
ctx.logger.warn(`cc-shell-glue: ${text}`);
|
|
219
228
|
let fired = false;
|
|
220
|
-
ctx.on('agent/
|
|
229
|
+
ctx.on('agent/created', ({ agent }) => {
|
|
221
230
|
if (fired)
|
|
222
231
|
return;
|
|
223
232
|
fired = true;
|
|
224
|
-
agent.inject(createUserMessage({ content: [{ type: 'text', text }], source: { kind: '
|
|
233
|
+
agent.inject(createUserMessage({ content: [{ type: 'text', text }], source: { kind: 'cc-shell-glue', form: 'notice', summary: text } }));
|
|
225
234
|
});
|
|
226
235
|
}
|
|
227
236
|
if (results.length > 0)
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAElD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/mcpReadyNotice.js
CHANGED
|
@@ -142,7 +142,7 @@ export function mountMcpReadyNotice(ctx, registry, announced, sid) {
|
|
|
142
142
|
...decision,
|
|
143
143
|
messages: [...decision.messages, createUserMessage({
|
|
144
144
|
content: [{ type: 'text', text }],
|
|
145
|
-
source: { kind: '
|
|
145
|
+
source: { kind: 'cc-shell-glue', form: 'notice', summary: text },
|
|
146
146
|
})],
|
|
147
147
|
};
|
|
148
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpReadyNotice.js","sourceRoot":"","sources":["../src/mcpReadyNotice.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mcpReadyNotice.js","sourceRoot":"","sources":["../src/mcpReadyNotice.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mount the harness ScheduleService into CC profiles. Harness 0.1.7-rc.2
|
|
3
|
+
* turned schedule into a host service (TypertRemoteService) whose inject list
|
|
4
|
+
* includes `sessionController` — a service that exists only behind the
|
|
5
|
+
* api-proxy in app profiles, never in a tui profile. Mounting the raw package
|
|
6
|
+
* row inside the per-agent preset used to work when schedule was a plain
|
|
7
|
+
* function plugin; with the class plugin it parks the agent mount forever
|
|
8
|
+
* (cordis waits on missing injects without throwing).
|
|
9
|
+
*
|
|
10
|
+
* This row mounts it at the HOST plane instead (where upstream bundles it)
|
|
11
|
+
* and pre-provides the same throwing sessionController stub the harness
|
|
12
|
+
* schedule tests use when the service is absent: delivery resolution then
|
|
13
|
+
* reports per-session failures instead of parking the boot.
|
|
14
|
+
*
|
|
15
|
+
* @module @dsh-cc/bundle-shell/schedule-mount
|
|
16
|
+
*/
|
|
17
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
18
|
+
export default function CcScheduleMount(ctx: Context): Promise<void>;
|
|
19
|
+
//# sourceMappingURL=schedule-mount.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule-mount.d.ts","sourceRoot":"","sources":["../src/schedule-mount.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,wBAA8B,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAYzE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mount the harness ScheduleService into CC profiles. Harness 0.1.7-rc.2
|
|
3
|
+
* turned schedule into a host service (TypertRemoteService) whose inject list
|
|
4
|
+
* includes `sessionController` — a service that exists only behind the
|
|
5
|
+
* api-proxy in app profiles, never in a tui profile. Mounting the raw package
|
|
6
|
+
* row inside the per-agent preset used to work when schedule was a plain
|
|
7
|
+
* function plugin; with the class plugin it parks the agent mount forever
|
|
8
|
+
* (cordis waits on missing injects without throwing).
|
|
9
|
+
*
|
|
10
|
+
* This row mounts it at the HOST plane instead (where upstream bundles it)
|
|
11
|
+
* and pre-provides the same throwing sessionController stub the harness
|
|
12
|
+
* schedule tests use when the service is absent: delivery resolution then
|
|
13
|
+
* reports per-session failures instead of parking the boot.
|
|
14
|
+
*
|
|
15
|
+
* @module @dsh-cc/bundle-shell/schedule-mount
|
|
16
|
+
*/
|
|
17
|
+
import ScheduleService from '@deepseek-ai/dsh-schedule';
|
|
18
|
+
export default async function CcScheduleMount(ctx) {
|
|
19
|
+
if (ctx.get('sessionController') === undefined) {
|
|
20
|
+
// Mirrors upstream packages/schedule/schedule/tests/harness.ts: the
|
|
21
|
+
// resolver reports 'missing Session' per call; scheduling itself (catalog
|
|
22
|
+
// writes, tool registration, changed events) never consults it.
|
|
23
|
+
ctx.provide('sessionController', {
|
|
24
|
+
resolveAgent: async () => {
|
|
25
|
+
throw new Error('missing Session');
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
await ctx.plugin(ScheduleService, {});
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=schedule-mount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule-mount.js","sourceRoot":"","sources":["../src/schedule-mount.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,eAAe,MAAM,2BAA2B,CAAA;AAEvD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,eAAe,CAAC,GAAY;IACxD,IAAI,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,SAAS,EAAE,CAAC;QAC/C,oEAAoE;QACpE,0EAA0E;QAC1E,gEAAgE;QAChE,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE;YAC/B,YAAY,EAAE,KAAK,IAAI,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;YACpC,CAAC;SACO,CAAC,CAAA;IACb,CAAC;IACD,MAAM,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;AACvC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dsh-cc/bundle-shell",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.2-rc.1",
|
|
4
4
|
"description": "CC shell host-plane infra: tools registry swap (deferred-name support) + settings migrations; the glue plugin code lives here but is mounted by the CC preset (packages/preset/cc)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -15,6 +15,10 @@
|
|
|
15
15
|
"default": "./lib/index.js"
|
|
16
16
|
},
|
|
17
17
|
"./cordis.patch.yml": "./cordis.patch.yml",
|
|
18
|
+
"./schedule-mount": {
|
|
19
|
+
"types": "./lib/schedule-mount.d.ts",
|
|
20
|
+
"default": "./lib/schedule-mount.js"
|
|
21
|
+
},
|
|
18
22
|
"./src/*": "./src/*",
|
|
19
23
|
"./package.json": "./package.json"
|
|
20
24
|
},
|
|
@@ -30,26 +34,26 @@
|
|
|
30
34
|
},
|
|
31
35
|
"license": "Apache-2.0",
|
|
32
36
|
"peerDependencies": {
|
|
33
|
-
"@deepseek-ai/cordis": ">=0.1.
|
|
34
|
-
"@deepseek-ai/dsh-agent": ">=0.1.
|
|
35
|
-
"@deepseek-ai/dsh-home-paths": ">=0.1.
|
|
36
|
-
"@deepseek-ai/dsh-llm": ">=0.1.
|
|
37
|
-
"@deepseek-ai/dsh-
|
|
37
|
+
"@deepseek-ai/cordis": ">=0.1.7-rc.2",
|
|
38
|
+
"@deepseek-ai/dsh-agent": ">=0.1.7-rc.2",
|
|
39
|
+
"@deepseek-ai/dsh-home-paths": ">=0.1.7-rc.2",
|
|
40
|
+
"@deepseek-ai/dsh-llm": ">=0.1.7-rc.2",
|
|
41
|
+
"@deepseek-ai/dsh-schedule": ">=0.1.7-rc.2"
|
|
38
42
|
},
|
|
39
43
|
"dependencies": {
|
|
40
|
-
"@dsh-cc/claude-code-agents": "^0.8.
|
|
41
|
-
"@dsh-cc/mcp-client": "^0.8.
|
|
42
|
-
"@dsh-cc/
|
|
43
|
-
"@dsh-cc/
|
|
44
|
-
"@dsh-cc/
|
|
45
|
-
"@dsh-cc/
|
|
46
|
-
"@dsh-cc/
|
|
47
|
-
"@dsh-cc/
|
|
48
|
-
"@dsh-cc/
|
|
49
|
-
"@dsh-cc/
|
|
44
|
+
"@dsh-cc/claude-code-agents": "^0.8.2-rc.1",
|
|
45
|
+
"@dsh-cc/mcp-client": "^0.8.2-rc.1",
|
|
46
|
+
"@dsh-cc/mcp-config": "^0.8.2-rc.1",
|
|
47
|
+
"@dsh-cc/hook-protocol": "^0.8.2-rc.1",
|
|
48
|
+
"@dsh-cc/plugin-manager": "^0.8.2-rc.1",
|
|
49
|
+
"@dsh-cc/session-title-provider": "^0.8.2-rc.1",
|
|
50
|
+
"@dsh-cc/plugin-loader": "^0.8.2-rc.1",
|
|
51
|
+
"@dsh-cc/settings-migrations": "^0.8.2-rc.1",
|
|
52
|
+
"@dsh-cc/settings-ns": "^0.8.2-rc.1",
|
|
53
|
+
"@dsh-cc/tools": "^0.8.2-rc.1",
|
|
54
|
+
"@dsh-cc/model-aliases": "^0.8.2-rc.1"
|
|
50
55
|
},
|
|
51
56
|
"devDependencies": {
|
|
52
|
-
"@deepseek-ai/dsh-settings": "link:../../../../deepseek-harness/packages/settings/settings",
|
|
53
57
|
"@deepseek-ai/cordis": "link:../../../../deepseek-harness/vendor/cordis",
|
|
54
58
|
"@deepseek-ai/cordis-plugin-loader": "link:../../../../deepseek-harness/vendor/loader",
|
|
55
59
|
"@deepseek-ai/schemastery": "link:../../../../deepseek-harness/vendor/schemastery",
|
|
@@ -60,6 +64,8 @@
|
|
|
60
64
|
"@deepseek-ai/dsh-home-paths": "link:../../../../deepseek-harness/packages/util/home-paths",
|
|
61
65
|
"@deepseek-ai/dsh-llm": "link:../../../../deepseek-harness/packages/llm/llm",
|
|
62
66
|
"@deepseek-ai/dsh-schedule": "link:../../../../deepseek-harness/packages/schedule/schedule",
|
|
67
|
+
"@deepseek-ai/dsh-storage": "link:../../../../deepseek-harness/packages/storage/storage",
|
|
68
|
+
"@deepseek-ai/dsh-storage-domain": "link:../../../../deepseek-harness/packages/storage/storage-domain",
|
|
63
69
|
"@deepseek-ai/dsh-session": "link:../../../../deepseek-harness/packages/core/session",
|
|
64
70
|
"@deepseek-ai/dsh-session-persistence": "link:../../../../deepseek-harness/packages/session/session-persistence",
|
|
65
71
|
"@deepseek-ai/dsh-session-persistence-jsonl": "link:../../../../deepseek-harness/packages/session/session-persistence-jsonl",
|
|
@@ -80,13 +86,14 @@
|
|
|
80
86
|
"@deepseek-ai/dsh-web-fetch-http": "link:../../../../deepseek-harness/packages/web/web-fetch-http",
|
|
81
87
|
"typescript": "6.0.3",
|
|
82
88
|
"@deepseek-ai/dsh-fs-local": "link:../../../../deepseek-harness/packages/fs/fs-local",
|
|
83
|
-
"@dsh-cc/
|
|
84
|
-
"@dsh-cc/hooks-claude-code": "^0.8.
|
|
85
|
-
"@dsh-cc/tool-notebook-edit": "^0.8.
|
|
86
|
-
"@dsh-cc/tool-
|
|
87
|
-
"@dsh-cc/tool-
|
|
88
|
-
"@dsh-cc/subagent-resume-pins": "^0.8.
|
|
89
|
-
"@dsh-cc/subagent-task": "^0.8.
|
|
89
|
+
"@dsh-cc/settings-provider": "^0.8.2-rc.1",
|
|
90
|
+
"@dsh-cc/hooks-claude-code": "^0.8.2-rc.1",
|
|
91
|
+
"@dsh-cc/tool-notebook-edit": "^0.8.2-rc.1",
|
|
92
|
+
"@dsh-cc/tool-sleep": "^0.8.2-rc.1",
|
|
93
|
+
"@dsh-cc/tool-structured-output": "^0.8.2-rc.1",
|
|
94
|
+
"@dsh-cc/subagent-resume-pins": "^0.8.2-rc.1",
|
|
95
|
+
"@dsh-cc/subagent-task": "^0.8.2-rc.1",
|
|
96
|
+
"@dsh-cc/agent-loop-mock": "^0.1.0"
|
|
90
97
|
},
|
|
91
98
|
"publishConfig": {
|
|
92
99
|
"access": "public"
|