kiokuko-dsh 0.1.34 → 0.1.35
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/PERMISSIONS.md +10 -0
- package/README.ja.md +6 -1
- package/README.ko.md +1 -1
- package/README.md +6 -1
- package/README.zh-CN.md +1 -1
- package/dist/client.cjs +108 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/deep-thinker/abortable-stream.d.ts +4 -0
- package/dist/deep-thinker/abortable-stream.d.ts.map +1 -0
- package/dist/deep-thinker/abortable-stream.js +35 -0
- package/dist/deep-thinker/abortable-stream.js.map +1 -0
- package/dist/deep-thinker/commands.d.ts +9 -0
- package/dist/deep-thinker/commands.d.ts.map +1 -0
- package/dist/deep-thinker/commands.js +19 -0
- package/dist/deep-thinker/commands.js.map +1 -0
- package/dist/deep-thinker/configuration.d.ts +25 -0
- package/dist/deep-thinker/configuration.d.ts.map +1 -0
- package/dist/deep-thinker/configuration.js +156 -0
- package/dist/deep-thinker/configuration.js.map +1 -0
- package/dist/deep-thinker/controller.d.ts +55 -0
- package/dist/deep-thinker/controller.d.ts.map +1 -0
- package/dist/deep-thinker/controller.js +473 -0
- package/dist/deep-thinker/controller.js.map +1 -0
- package/dist/deep-thinker/core/budget.d.ts +7 -0
- package/dist/deep-thinker/core/budget.d.ts.map +1 -0
- package/dist/deep-thinker/core/budget.js +23 -0
- package/dist/deep-thinker/core/budget.js.map +1 -0
- package/dist/deep-thinker/core/contracts.d.ts +517 -0
- package/dist/deep-thinker/core/contracts.d.ts.map +1 -0
- package/dist/deep-thinker/core/contracts.js +83 -0
- package/dist/deep-thinker/core/contracts.js.map +1 -0
- package/dist/deep-thinker/core/graph.d.ts +15 -0
- package/dist/deep-thinker/core/graph.d.ts.map +1 -0
- package/dist/deep-thinker/core/graph.js +208 -0
- package/dist/deep-thinker/core/graph.js.map +1 -0
- package/dist/deep-thinker/current-model.d.ts +5 -0
- package/dist/deep-thinker/current-model.d.ts.map +1 -0
- package/dist/deep-thinker/current-model.js +24 -0
- package/dist/deep-thinker/current-model.js.map +1 -0
- package/dist/deep-thinker/evidence.d.ts +7 -0
- package/dist/deep-thinker/evidence.d.ts.map +1 -0
- package/dist/deep-thinker/evidence.js +44 -0
- package/dist/deep-thinker/evidence.js.map +1 -0
- package/dist/deep-thinker/failures.d.ts +3 -0
- package/dist/deep-thinker/failures.d.ts.map +1 -0
- package/dist/deep-thinker/failures.js +3 -0
- package/dist/deep-thinker/failures.js.map +1 -0
- package/dist/deep-thinker/initial-state.d.ts +4 -0
- package/dist/deep-thinker/initial-state.d.ts.map +1 -0
- package/dist/deep-thinker/initial-state.js +11 -0
- package/dist/deep-thinker/initial-state.js.map +1 -0
- package/dist/deep-thinker/memory-finalizer.d.ts +111 -0
- package/dist/deep-thinker/memory-finalizer.d.ts.map +1 -0
- package/dist/deep-thinker/memory-finalizer.js +132 -0
- package/dist/deep-thinker/memory-finalizer.js.map +1 -0
- package/dist/deep-thinker/memory-request.d.ts +10 -0
- package/dist/deep-thinker/memory-request.d.ts.map +1 -0
- package/dist/deep-thinker/memory-request.js +3 -0
- package/dist/deep-thinker/memory-request.js.map +1 -0
- package/dist/deep-thinker/native-executor.d.ts +50 -0
- package/dist/deep-thinker/native-executor.d.ts.map +1 -0
- package/dist/deep-thinker/native-executor.js +179 -0
- package/dist/deep-thinker/native-executor.js.map +1 -0
- package/dist/deep-thinker/prompts.d.ts +41 -0
- package/dist/deep-thinker/prompts.d.ts.map +1 -0
- package/dist/deep-thinker/prompts.js +41 -0
- package/dist/deep-thinker/prompts.js.map +1 -0
- package/dist/deep-thinker/read-port.d.ts +57 -0
- package/dist/deep-thinker/read-port.d.ts.map +1 -0
- package/dist/deep-thinker/read-port.js +141 -0
- package/dist/deep-thinker/read-port.js.map +1 -0
- package/dist/deep-thinker/report-port.d.ts +35 -0
- package/dist/deep-thinker/report-port.d.ts.map +1 -0
- package/dist/deep-thinker/report-port.js +68 -0
- package/dist/deep-thinker/report-port.js.map +1 -0
- package/dist/deep-thinker/report-surface.d.ts +6 -0
- package/dist/deep-thinker/report-surface.d.ts.map +1 -0
- package/dist/deep-thinker/report-surface.js +46 -0
- package/dist/deep-thinker/report-surface.js.map +1 -0
- package/dist/deep-thinker/report.d.ts +23 -0
- package/dist/deep-thinker/report.d.ts.map +1 -0
- package/dist/deep-thinker/report.js +27 -0
- package/dist/deep-thinker/report.js.map +1 -0
- package/dist/deep-thinker/scheduler.d.ts +24 -0
- package/dist/deep-thinker/scheduler.d.ts.map +1 -0
- package/dist/deep-thinker/scheduler.js +313 -0
- package/dist/deep-thinker/scheduler.js.map +1 -0
- package/dist/deep-thinker/slots.d.ts +7 -0
- package/dist/deep-thinker/slots.d.ts.map +1 -0
- package/dist/deep-thinker/slots.js +58 -0
- package/dist/deep-thinker/slots.js.map +1 -0
- package/dist/deep-thinker/store.d.ts +155 -0
- package/dist/deep-thinker/store.d.ts.map +1 -0
- package/dist/deep-thinker/store.js +231 -0
- package/dist/deep-thinker/store.js.map +1 -0
- package/dist/dsh/commands.d.ts +4 -0
- package/dist/dsh/commands.d.ts.map +1 -1
- package/dist/dsh/commands.js.map +1 -1
- package/dist/dsh/composition.d.ts +1 -0
- package/dist/dsh/composition.d.ts.map +1 -1
- package/dist/dsh/composition.js +13 -2
- package/dist/dsh/composition.js.map +1 -1
- package/dist/dsh/config.d.ts +16 -0
- package/dist/dsh/config.d.ts.map +1 -1
- package/dist/dsh/config.js +2 -0
- package/dist/dsh/config.js.map +1 -1
- package/dist/dsh/enno-delegation.d.ts +2 -24
- package/dist/dsh/enno-delegation.d.ts.map +1 -1
- package/dist/dsh/enno-delegation.js +27 -35
- package/dist/dsh/enno-delegation.js.map +1 -1
- package/dist/dsh/execution-selection.d.ts +60 -0
- package/dist/dsh/execution-selection.d.ts.map +1 -1
- package/dist/dsh/execution-selection.js +9 -1
- package/dist/dsh/execution-selection.js.map +1 -1
- package/dist/dsh/host-adapter.d.ts +1 -0
- package/dist/dsh/host-adapter.d.ts.map +1 -1
- package/dist/dsh/host-adapter.js +23 -3
- package/dist/dsh/host-adapter.js.map +1 -1
- package/dist/dsh/index.js +1 -1
- package/dist/dsh/index.js.map +1 -1
- package/dist/dsh/intake-gate.d.ts.map +1 -1
- package/dist/dsh/intake-gate.js +1 -0
- package/dist/dsh/intake-gate.js.map +1 -1
- package/dist/dsh/japanese-output-skill.d.ts +22 -0
- package/dist/dsh/japanese-output-skill.d.ts.map +1 -0
- package/dist/dsh/japanese-output-skill.js +47 -0
- package/dist/dsh/japanese-output-skill.js.map +1 -0
- package/dist/dsh/model-configuration.d.ts +4 -0
- package/dist/dsh/model-configuration.d.ts.map +1 -1
- package/dist/dsh/model-configuration.js +5 -4
- package/dist/dsh/model-configuration.js.map +1 -1
- package/dist/dsh/model-routing.d.ts.map +1 -1
- package/dist/dsh/model-routing.js +2 -1
- package/dist/dsh/model-routing.js.map +1 -1
- package/dist/dsh/orca-host.d.ts +5 -0
- package/dist/dsh/orca-host.d.ts.map +1 -1
- package/dist/dsh/orca-host.js +11 -4
- package/dist/dsh/orca-host.js.map +1 -1
- package/dist/dsh/orchestration/execution-owner.d.ts +18 -0
- package/dist/dsh/orchestration/execution-owner.d.ts.map +1 -0
- package/dist/dsh/orchestration/execution-owner.js +18 -0
- package/dist/dsh/orchestration/execution-owner.js.map +1 -0
- package/dist/dsh/orchestration/managed-agent-executor.d.ts +37 -0
- package/dist/dsh/orchestration/managed-agent-executor.d.ts.map +1 -0
- package/dist/dsh/orchestration/managed-agent-executor.js +38 -0
- package/dist/dsh/orchestration/managed-agent-executor.js.map +1 -0
- package/dist/dsh/session-log-surface.d.ts.map +1 -1
- package/dist/dsh/session-log-surface.js +1 -0
- package/dist/dsh/session-log-surface.js.map +1 -1
- package/dist/dsh/session-memory-finalizer.d.ts +1 -0
- package/dist/dsh/session-memory-finalizer.d.ts.map +1 -1
- package/dist/dsh/session-memory-finalizer.js +9 -1
- package/dist/dsh/session-memory-finalizer.js.map +1 -1
- package/dist/dsh/standard-skill-provider.d.ts.map +1 -1
- package/dist/dsh/standard-skill-provider.js +9 -5
- package/dist/dsh/standard-skill-provider.js.map +1 -1
- package/dist/dsh/task-intake.d.ts +5 -0
- package/dist/dsh/task-intake.d.ts.map +1 -1
- package/dist/dsh/task-intake.js +11 -1
- package/dist/dsh/task-intake.js.map +1 -1
- package/dist/enno-oduno/schemas.d.ts +7 -7
- package/dist/memory/checkpoint-contract.d.ts +6 -6
- package/dist/model-tools/contracts.d.ts +4 -4
- package/docs/deep-planning-verification.md +65 -0
- package/docs/deep-planning.md +143 -0
- package/docs/japanese-output.md +48 -0
- package/migrations/013_dsh_deep_thinker.sql +90 -0
- package/package.json +8 -6
- package/skills/japanese-translation-for-oss-models/SKILL.md +663 -0
package/PERMISSIONS.md
CHANGED
|
@@ -51,6 +51,16 @@ with pnpm `allowBuilds`; the npm tarball already contains `dist/`.
|
|
|
51
51
|
|
|
52
52
|
## Failure boundaries
|
|
53
53
|
|
|
54
|
+
`/deep-planning` creates native read-only child agents using explicitly selected
|
|
55
|
+
DSH model connections. It stores input, configuration snapshots, bounded source
|
|
56
|
+
excerpts, attempts, estimated usage and answers in the configured database.
|
|
57
|
+
Source excerpts and the problem are sent to those configured model providers.
|
|
58
|
+
It offers no shell, mutation, arbitrary MCP or further child-spawn capability.
|
|
59
|
+
Deep memory extraction shares the request budget. Unknown Deep calls and memory
|
|
60
|
+
extractions are not automatically resent after a crash. Deep children inherit
|
|
61
|
+
only their exact parent's existing Orca recording choice. See
|
|
62
|
+
[Deep planning](docs/deep-planning.md) for limits and recovery behavior.
|
|
63
|
+
|
|
54
64
|
Missing optional dependencies, unavailable external services, stale or
|
|
55
65
|
ambiguous run state, failed verifier processes, and integrity or ownership
|
|
56
66
|
conflicts are reported as failures or unavailable states. They are never
|
package/README.ja.md
CHANGED
|
@@ -7,9 +7,14 @@ OrcaReplay でモデル・ツールの動作を記録し、内容の確認と HT
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
新しい変更作業では、通常実行か役小角(enno-oduno)を選べます。役小角ではおすすめテンプレート、またはDSH設定済みモデルから役割ごとの構成を選択します。[モデル選択と接続上の制約](docs/model-selection.ja.md)
|
|
10
|
+
|
|
11
|
+
`/deep-planning <問題>` は、四つの役割による読み取り専用の調査・分析・計画作成です。入力を保持し、一時停止・復旧に対応します。推定予算に達した場合も部分回答を返します。[操作・予算・復旧の仕様](docs/deep-planning.md)
|
|
12
|
+
|
|
13
|
+
DeepSeek・Kimi・GLM・Qwen・HY/Hunyuan・MiMo・MiniMaxのAgentには、日本語を自然に整える同梱Skillを自動で渡します。[適用条件とモデル判定](docs/japanese-output.md)
|
|
14
|
+
|
|
10
15
|
## 導入と使い方
|
|
11
16
|
|
|
12
|
-
対応 DSH:
|
|
17
|
+
対応 DSH: [0.1.5-rc.1](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.5-rc.1) / [0.1.3-alpha.1](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.3-alpha.1) / [v0.1.3-alpha.2](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.3-alpha.2)。
|
|
13
18
|
Node.js **24.16.0 以上**と pnpm が必要です。
|
|
14
19
|
DSH のソースディレクトリで、公開済み npm パッケージを導入して起動します。
|
|
15
20
|
|
package/README.ko.md
CHANGED
|
@@ -9,7 +9,7 @@ OrcaReplay로 모델과 도구의 동작을 기록하고, 기록을 확인하거
|
|
|
9
9
|
새 변경 작업에서는 일반 실행 또는 役小角(enno-oduno)를 선택할 수 있습니다. 역할별 모델은 추천 템플릿이나 DSH에 설정된 모델에서 선택합니다. [모델 선택과 연결 제한](docs/model-selection.md).
|
|
10
10
|
## 설치 및 사용
|
|
11
11
|
|
|
12
|
-
DSH
|
|
12
|
+
DSH [0.1.5-rc.1](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.5-rc.1), [0.1.3-alpha.1](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.3-alpha.1), [v0.1.3-alpha.2](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.3-alpha.2)를 지원합니다.
|
|
13
13
|
Node.js **24.16.0 이상**과 pnpm이 필요합니다.
|
|
14
14
|
DSH 소스 디렉터리에서 다음 명령으로 공개된 npm 패키지를 설치하고 시작합니다.
|
|
15
15
|
|
package/README.md
CHANGED
|
@@ -8,9 +8,14 @@ OrcaReplay records model/tool activity for inspection and HTML export.
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
For new coding tasks, choose normal execution or 役小角(enno-oduno). Enno offers model templates and role assignments from configured DSH models. [Model selection and connection limits](docs/model-selection.md).
|
|
11
|
+
|
|
12
|
+
Use `/deep-planning <problem>` for bounded, read-only investigation and planning with four agent roles. It preserves inputs, supports pause/recovery, and returns partial answers when its estimated budget is exhausted. [Commands, budgets and recovery](docs/deep-planning.md).
|
|
13
|
+
|
|
14
|
+
DeepSeek, Kimi, GLM, Qwen, HY/Hunyuan, MiMo and MiniMax agents automatically receive the bundled Japanese writing Skill. [Application rules and model identification](docs/japanese-output.md).
|
|
15
|
+
|
|
11
16
|
## Install and use
|
|
12
17
|
|
|
13
|
-
Supports DSH
|
|
18
|
+
Supports DSH [0.1.5-rc.1](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.5-rc.1), [0.1.3-alpha.1](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.3-alpha.1), and [v0.1.3-alpha.2](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.3-alpha.2).
|
|
14
19
|
Requires Node.js **24.16.0+** and pnpm.
|
|
15
20
|
Run these commands from the DSH source directory to install the published npm package and start:
|
|
16
21
|
|
package/README.zh-CN.md
CHANGED
|
@@ -9,7 +9,7 @@ OrcaReplay 可记录模型和工具活动,查看记录并导出 HTML。
|
|
|
9
9
|
新的修改任务可以选择普通执行或役小角(enno-oduno)。役小角支持推荐模板,也可从DSH已配置的模型中为各角色选择模型。[模型选择与连接限制](docs/model-selection.md)。
|
|
10
10
|
## 安装与使用
|
|
11
11
|
|
|
12
|
-
支持 DSH
|
|
12
|
+
支持 DSH [0.1.5-rc.1](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.5-rc.1)、[0.1.3-alpha.1](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.3-alpha.1) 和 [v0.1.3-alpha.2](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.3-alpha.2)。
|
|
13
13
|
需要 Node.js **24.16.0 以上**和 pnpm。
|
|
14
14
|
在 DSH 源码目录中运行以下命令,安装已发布的 npm 包并启动:
|
|
15
15
|
|
package/dist/client.cjs
CHANGED
|
@@ -203,20 +203,120 @@ window.__ModuleLoader__.load({
|
|
|
203
203
|
/** A plugin-owned result in chat, never forged as a model assistant message. */
|
|
204
204
|
const completionReportDefinition = {
|
|
205
205
|
kind: 'kiokuko-completion-report', target: 'chat',
|
|
206
|
-
match: (event) =>
|
|
206
|
+
match: (event) => ['kiokuko/completion-report', 'kiokuko/execution-status', 'kiokuko/deep-report', 'kiokuko/deep-status'].includes(event.type) && typeof event.data.reportId === 'string' && typeof event.data.text === 'string'
|
|
207
207
|
? { id: event.data.reportId, role: 'start' } : null,
|
|
208
|
-
start: (_context, match) => ({ seq: match.event.seq, text: match.event.data.text }),
|
|
208
|
+
start: (_context, match) => ({ seq: match.event.seq, text: match.event.data.text, status: match.event.type.endsWith('status') }),
|
|
209
209
|
update: (context) => context.state,
|
|
210
210
|
buildViewNode: (context) => context.state === undefined ? null : {
|
|
211
211
|
key: context.key, id: context.id, kind: 'kiokuko-completion-report', target: 'chat',
|
|
212
212
|
anchorSeq: context.state.seq, location: context.start?.location ?? { kind: 'session' },
|
|
213
|
-
visibility: 'visible', data: { text: context.state.text },
|
|
213
|
+
visibility: 'visible', data: { text: context.state.text, status: context.state.status },
|
|
214
214
|
},
|
|
215
215
|
};
|
|
216
216
|
function CompletionReport(props) {
|
|
217
217
|
const node = props.node;
|
|
218
|
-
return jsx('section', { role: 'status', 'aria-live': 'polite',
|
|
219
|
-
style: { whiteSpace: 'pre-wrap', overflowWrap: 'anywhere', padding: '12px 0' }, children: node.data.text });
|
|
218
|
+
return jsx('section', { ...(node.data.status ? { role: 'status', 'aria-live': 'polite', 'aria-atomic': true } : { 'aria-label': '保存済みの回答', tabIndex: 0 }),
|
|
219
|
+
style: { whiteSpace: 'pre-wrap', overflowWrap: 'anywhere', maxWidth: '100%', minWidth: 0, padding: '12px 0', lineHeight: 1.65 }, children: node.data.text });
|
|
220
|
+
}
|
|
221
|
+
/** Read-only, Session-bound display with explicit delivery acknowledgement after render. */
|
|
222
|
+
function DeepSessionReports(props) {
|
|
223
|
+
const sessionId = String(props.sessionId);
|
|
224
|
+
const [items, setItems] = useState([]);
|
|
225
|
+
const [open, setOpen] = useState(false);
|
|
226
|
+
const [error, setError] = useState('');
|
|
227
|
+
const seen = useRef(new Set());
|
|
228
|
+
const dialog = useRef(null);
|
|
229
|
+
const trigger = useRef(null);
|
|
230
|
+
useEffect(() => {
|
|
231
|
+
if (open && dialog.current && !dialog.current.open)
|
|
232
|
+
dialog.current.showModal();
|
|
233
|
+
else if (!open && dialog.current?.open) {
|
|
234
|
+
dialog.current.close();
|
|
235
|
+
trigger.current?.focus();
|
|
236
|
+
}
|
|
237
|
+
}, [open]);
|
|
238
|
+
useEffect(() => {
|
|
239
|
+
const controller = new AbortController();
|
|
240
|
+
let timer;
|
|
241
|
+
let etag = '';
|
|
242
|
+
setItems([]);
|
|
243
|
+
setOpen(false);
|
|
244
|
+
seen.current = new Set();
|
|
245
|
+
const refresh = async () => {
|
|
246
|
+
try {
|
|
247
|
+
const url = new URL('/api/kiokuko.deep', hostBase());
|
|
248
|
+
url.searchParams.set('sessionId', sessionId);
|
|
249
|
+
const response = await fetch(url, { signal: controller.signal, headers: etag ? { 'if-none-match': etag } : {} });
|
|
250
|
+
if (response.status === 304) {
|
|
251
|
+
setError('');
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
if (!response.ok)
|
|
255
|
+
throw new Error('Deepの状態を再確認できません。接続を確認してください。');
|
|
256
|
+
etag = response.headers.get('etag') ?? '';
|
|
257
|
+
const data = await response.json();
|
|
258
|
+
if (!Array.isArray(data.items) || data.items.some(item => typeof item.id !== 'string' || typeof item.text !== 'string'))
|
|
259
|
+
throw new Error('Deepの応答を読み取れません。');
|
|
260
|
+
if (controller.signal.aborted)
|
|
261
|
+
return;
|
|
262
|
+
setItems(data.items);
|
|
263
|
+
setError('');
|
|
264
|
+
for (const item of data.items)
|
|
265
|
+
if (item.kind === 'report' && !item.delivered && !seen.current.has(item.id)) {
|
|
266
|
+
seen.current.add(item.id);
|
|
267
|
+
setOpen(true);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
catch (failure) {
|
|
271
|
+
if (!controller.signal.aborted)
|
|
272
|
+
setError(messageOf(failure));
|
|
273
|
+
}
|
|
274
|
+
finally {
|
|
275
|
+
if (!controller.signal.aborted)
|
|
276
|
+
timer = setTimeout(() => void refresh(), document.hidden ? 10_000 : 2_000);
|
|
277
|
+
}
|
|
278
|
+
};
|
|
279
|
+
void refresh();
|
|
280
|
+
return () => { controller.abort(); clearTimeout(timer); };
|
|
281
|
+
}, [sessionId]);
|
|
282
|
+
useEffect(() => {
|
|
283
|
+
const unread = items.filter(item => !item.delivered && (item.kind === 'status' || open));
|
|
284
|
+
if (!unread.length)
|
|
285
|
+
return;
|
|
286
|
+
const controller = new AbortController();
|
|
287
|
+
const url = new URL('/api/kiokuko.deep', hostBase());
|
|
288
|
+
url.searchParams.set('sessionId', sessionId);
|
|
289
|
+
for (const item of unread)
|
|
290
|
+
url.searchParams.append('id', item.id);
|
|
291
|
+
let timer;
|
|
292
|
+
const acknowledge = async () => {
|
|
293
|
+
try {
|
|
294
|
+
const response = await fetch(url, { method: 'POST', signal: controller.signal });
|
|
295
|
+
if (!response.ok)
|
|
296
|
+
throw new Error('Deepの受領確認を再試行しています。回答は保持されています。');
|
|
297
|
+
}
|
|
298
|
+
catch (failure) {
|
|
299
|
+
if (!controller.signal.aborted) {
|
|
300
|
+
setError(messageOf(failure));
|
|
301
|
+
timer = setTimeout(() => void acknowledge(), 5_000);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
};
|
|
305
|
+
void acknowledge();
|
|
306
|
+
return () => { controller.abort(); clearTimeout(timer); };
|
|
307
|
+
}, [sessionId, items, open]);
|
|
308
|
+
if (!items.length && !error)
|
|
309
|
+
return null;
|
|
310
|
+
const status = items.find(item => item.kind === 'status')?.text ?? 'Deepの保存済み回答';
|
|
311
|
+
return jsxs(Fragment, { children: [
|
|
312
|
+
jsx('button', { ref: trigger, type: 'button', className: 'kiokuko-session-log-button', onClick: () => setOpen(true), 'aria-label': `Deep planning: ${status}`, children: items.some(item => item.kind === 'report') ? 'Deepの回答' : 'Deepの状態' }),
|
|
313
|
+
jsx('span', { role: 'status', 'aria-live': 'polite', style: { position: 'absolute', width: 1, height: 1, overflow: 'hidden', clipPath: 'inset(50%)' }, children: error || status.slice(0, 200) }),
|
|
314
|
+
jsxs('dialog', { ref: dialog, 'aria-label': 'Deep planning', onCancel: () => setOpen(false), onClose: () => { setOpen(false); trigger.current?.focus(); },
|
|
315
|
+
style: { width: 'min(48rem, calc(100vw - 2rem))', maxHeight: 'calc(100dvh - 2rem)', boxSizing: 'border-box', margin: 'auto', padding: '20px', border: '1px solid var(--dsw-alias-border-l4, #ddd)', borderRadius: '16px', background: 'var(--dsw-alias-background-primary, Canvas)', color: 'var(--dsw-alias-label-primary, CanvasText)', overflow: 'auto' },
|
|
316
|
+
children: [jsxs('div', { style: { display: 'flex', justifyContent: 'space-between', gap: '16px', alignItems: 'center' }, children: [jsx('h2', { style: { fontSize: '20px', margin: 0 }, children: 'Deep planning' }), jsx('button', { type: 'button', className: 'kiokuko-session-log-button', onClick: () => setOpen(false), children: '閉じる' })] }),
|
|
317
|
+
jsx('p', { style: { whiteSpace: 'pre-wrap', overflowWrap: 'anywhere' }, children: error || status }),
|
|
318
|
+
...items.filter(item => item.kind === 'report').map(item => jsx('section', { key: item.id, 'aria-label': '保存済みの回答', tabIndex: 0, style: { whiteSpace: 'pre-wrap', overflowWrap: 'anywhere', maxWidth: '100%', padding: '12px 0', lineHeight: 1.65 }, children: item.text }))] }),
|
|
319
|
+
] });
|
|
220
320
|
}
|
|
221
321
|
const intakeDrafts = new WeakMap();
|
|
222
322
|
function intakePending(props) {
|
|
@@ -374,6 +474,9 @@ window.__ModuleLoader__.load({
|
|
|
374
474
|
name: 'conversation.composer', priority: -10, select: intakePending, locale: LOCALE_NAMESPACE,
|
|
375
475
|
}, IntakeQuestion));
|
|
376
476
|
ctx.effect(installIntakeStyle, 'kiokuko-dsh: intake style');
|
|
477
|
+
ctx.slots.inject('conversation.session.header.utilities', () => ctx.slots.register({
|
|
478
|
+
name: 'conversation.session.header.utilities', id: 'kiokuko-deep-reports', locale: LOCALE_NAMESPACE,
|
|
479
|
+
}, DeepSessionReports));
|
|
377
480
|
ctx.uiConversation.events.register(completionReportDefinition);
|
|
378
481
|
ctx.slots.inject('conversation.chat.node', () => ctx.slots.register({
|
|
379
482
|
name: 'conversation.chat.node', key: 'kiokuko-completion-report', locale: LOCALE_NAMESPACE,
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAKA,UAAU,wBAAwB;IAChC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;QAAE,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAA;KAAE,CAAC,CAAA;IAC7G,QAAQ,EAAE;QAAE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;CACxC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAAA;CAC3C;AAYD,UAAU,gBAAgB;IACxB,QAAQ,CAAC,cAAc,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAA;SAAE,CAAA;KAAE,CAAA;IACxF,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAA;KAC3F,CAAA;IACD,QAAQ,CAAC,KAAK,EAAE;QACd,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,GAAG,OAAO,CAAA;QACtD,QAAQ,CACN,UAAU,EAAE;YACV,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;YACrB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;YACpB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;YACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;YAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;YAC7D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;YACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAChD,EACD,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,GACrD,OAAO,CAAA;KACX,CAAA;IACD,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;IAChF,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAA;CACtI;AA0ED,+EAA+E;AAC/E,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,GAAG,WAAW,CAAC,CAqBjH;AAuHD,eAAO,MAAM,MAAM,gDAAiD,CAAA;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAKA,UAAU,wBAAwB;IAChC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;QAAE,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAA;KAAE,CAAC,CAAA;IAC7G,QAAQ,EAAE;QAAE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;CACxC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAAA;CAC3C;AAYD,UAAU,gBAAgB;IACxB,QAAQ,CAAC,cAAc,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAA;SAAE,CAAA;KAAE,CAAA;IACxF,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAA;KAC3F,CAAA;IACD,QAAQ,CAAC,KAAK,EAAE;QACd,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,GAAG,OAAO,CAAA;QACtD,QAAQ,CACN,UAAU,EAAE;YACV,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;YACrB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;YACpB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;YACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;YAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;YAC7D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;YACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAChD,EACD,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,GACrD,OAAO,CAAA;KACX,CAAA;IACD,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;IAChF,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAA;CACtI;AA0ED,+EAA+E;AAC/E,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,GAAG,WAAW,CAAC,CAqBjH;AAuHD,eAAO,MAAM,MAAM,gDAAiD,CAAA;AAwPpE,mEAAmE;AACnE,wBAAgB,KAAK,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CA6BjD"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function withDeepAbort<T>(promise: PromiseLike<T>, signal: AbortSignal): Promise<T>;
|
|
2
|
+
/** Stop consuming even if an upstream provider fails to observe AbortSignal. */
|
|
3
|
+
export declare function abortableStream<T>(source: AsyncIterable<T>, signal?: AbortSignal): AsyncIterable<T>;
|
|
4
|
+
//# sourceMappingURL=abortable-stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abortable-stream.d.ts","sourceRoot":"","sources":["../../src/deep-thinker/abortable-stream.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAQzF;AAED,gFAAgF;AAChF,wBAAuB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAgB1G"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export function withDeepAbort(promise, signal) {
|
|
2
|
+
signal.throwIfAborted();
|
|
3
|
+
return new Promise((resolve, reject) => {
|
|
4
|
+
const cleanup = () => signal.removeEventListener('abort', abort);
|
|
5
|
+
const abort = () => { cleanup(); reject(signal.reason ?? new Error('Aborted')); };
|
|
6
|
+
signal.addEventListener('abort', abort, { once: true });
|
|
7
|
+
Promise.resolve(promise).then(value => { cleanup(); resolve(value); }, error => { cleanup(); reject(error); });
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
/** Stop consuming even if an upstream provider fails to observe AbortSignal. */
|
|
11
|
+
export async function* abortableStream(source, signal) {
|
|
12
|
+
const iterator = source[Symbol.asyncIterator]();
|
|
13
|
+
let finished = false;
|
|
14
|
+
try {
|
|
15
|
+
while (true) {
|
|
16
|
+
signal?.throwIfAborted();
|
|
17
|
+
const item = await new Promise((resolve, reject) => {
|
|
18
|
+
const cleanup = () => signal?.removeEventListener('abort', abort);
|
|
19
|
+
const abort = () => { cleanup(); reject(signal?.reason ?? new Error('Aborted')); };
|
|
20
|
+
signal?.addEventListener('abort', abort, { once: true });
|
|
21
|
+
Promise.resolve().then(() => iterator.next()).then(value => { cleanup(); resolve(value); }, error => { cleanup(); reject(error); });
|
|
22
|
+
});
|
|
23
|
+
if (item.done) {
|
|
24
|
+
finished = true;
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
yield item.value;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
finally {
|
|
31
|
+
if (!finished)
|
|
32
|
+
void iterator.return?.().catch(() => { });
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=abortable-stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abortable-stream.js","sourceRoot":"","sources":["../../src/deep-thinker/abortable-stream.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAI,OAAuB,EAAE,MAAmB;IAC3E,MAAM,CAAC,cAAc,EAAE,CAAA;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAChE,MAAM,KAAK,GAAG,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA,CAAC,CAAC,CAAA;QAChF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,CAAA;QACpD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAE,OAAO,EAAE,CAAC,CAAA,OAAO,CAAC,KAAK,CAAC,CAAA,CAAA,CAAC,EAAE,KAAK,CAAC,EAAE,GAAE,OAAO,EAAE,CAAC,CAAA,MAAM,CAAC,KAAK,CAAC,CAAA,CAAA,CAAC,CAAC,CAAA;IACxG,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,eAAe,CAAI,MAAwB,EAAE,MAAoB;IACtF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAA;IAC/C,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,cAAc,EAAE,CAAA;YACxB,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACpE,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;gBACjE,MAAM,KAAK,GAAG,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA,CAAC,CAAC,CAAA;gBACjF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;gBACxD,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;YACnI,CAAC,CAAC,CAAA;YACF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAAC,QAAQ,GAAG,IAAI,CAAC;gBAAC,OAAM;YAAC,CAAC;YAC1C,MAAM,IAAI,CAAC,KAAK,CAAA;QAClB,CAAC;IACH,CAAC;YAAS,CAAC;QAAC,IAAI,CAAC,QAAQ;YAAE,KAAK,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAAC,CAAC;AACvE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type DeepCommand = {
|
|
2
|
+
kind: 'start';
|
|
3
|
+
task: string;
|
|
4
|
+
} | {
|
|
5
|
+
kind: 'arm' | 'status' | 'cancel' | 'resume' | 'configure' | 'help';
|
|
6
|
+
};
|
|
7
|
+
export declare function parseDeepCommand(raw: string): DeepCommand;
|
|
8
|
+
export declare const DEEP_HELP = "/deep-planning <\u672C\u6587> \u2014 \u30C6\u30AD\u30B9\u30C8\u3068workspace\u5185\u8CC7\u6599\u3092\u4F7F\u3046\u8ABF\u67FB\u30FB\u5206\u6790\u30FB\u8A2D\u8A08\u30FB\u8A08\u753B\n/deep-planning \u2014 \u6B21\u306E\u4EBA\u9593\u306B\u3088\u308B\u901A\u5E38\u5165\u529B\u3092\u4E00\u5EA6\u3060\u3051\u4E88\u7D04\n--status \u72B6\u614B\u30FB\u672A\u914D\u9001\u56DE\u7B54\u3092\u78BA\u8A8D\n--cancel \u53D6\u6D88\u3057\n--resume \u540C\u3058Session\u306E\u4FDD\u5B58\u6E08\u307F\u4F5C\u696D\u3092\u518D\u958B\u30FB\u5FA9\u65E7\n--configure \u56DB\u5F79\u306E\u30E2\u30C7\u30EB\u3068\u4E88\u7B97\u3092\u8A2D\u5B9A\n--help \u3053\u306E\u8AAC\u660E\n-- <\u672C\u6587> \u30AA\u30D7\u30B7\u30E7\u30F3\u3068\u3057\u3066\u89E3\u91C8\u305B\u305A\u958B\u59CB\n\u6DFB\u4ED8\u3001\u30D5\u30A1\u30A4\u30EB\u5909\u66F4\u3001shell\u3001\u5B9F\u88C5\u3078\u306E\u81EA\u52D5\u79FB\u884C\u306B\u306F\u5BFE\u5FDC\u3057\u3066\u3044\u307E\u305B\u3093\u3002\u30C8\u30FC\u30AF\u30F3\u4E88\u7B97\u306F\u63A8\u5B9A\u3092\u542B\u307F\u307E\u3059\u3002";
|
|
9
|
+
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/deep-thinker/commands.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAA;CAAE,CAAA;AACnI,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAUzD;AACD,eAAO,MAAM,SAAS,qgCAAuR,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export function parseDeepCommand(raw) {
|
|
2
|
+
raw = raw.replace(/^(?:[ \t]|\r?\n)/u, '');
|
|
3
|
+
if (!raw.trim())
|
|
4
|
+
return { kind: 'arm' };
|
|
5
|
+
// Only the delimiter is removed. Embedded newlines, indentation and code remain literal.
|
|
6
|
+
if (raw === '--')
|
|
7
|
+
return { kind: 'arm' };
|
|
8
|
+
if (/^--\s/u.test(raw))
|
|
9
|
+
return { kind: 'start', task: raw.replace(/^--(?:\r?\n|[ \t])/u, '') };
|
|
10
|
+
const flag = raw.trim();
|
|
11
|
+
for (const kind of ['status', 'cancel', 'resume', 'configure', 'help'])
|
|
12
|
+
if (flag === `--${kind}`)
|
|
13
|
+
return { kind };
|
|
14
|
+
if (/^--/u.test(raw))
|
|
15
|
+
throw new Error('不明なオプションです。本文を -- で区切るか、--help を参照してください。');
|
|
16
|
+
return { kind: 'start', task: raw };
|
|
17
|
+
}
|
|
18
|
+
export const DEEP_HELP = `/deep-planning <本文> — テキストとworkspace内資料を使う調査・分析・設計・計画\n/deep-planning — 次の人間による通常入力を一度だけ予約\n--status 状態・未配送回答を確認\n--cancel 取消し\n--resume 同じSessionの保存済み作業を再開・復旧\n--configure 四役のモデルと予算を設定\n--help この説明\n-- <本文> オプションとして解釈せず開始\n添付、ファイル変更、shell、実装への自動移行には対応していません。トークン予算は推定を含みます。`;
|
|
19
|
+
//# sourceMappingURL=commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/deep-thinker/commands.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAA;IAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IACvC,yFAAyF;IACzF,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IACxC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,EAAE,CAAA;IAC9F,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IACvB,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,MAAM,CAAU;QAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE;YAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACtH,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAClF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;AACrC,CAAC;AACD,MAAM,CAAC,MAAM,SAAS,GAAG,oRAAoR,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type DshModelCatalog, type DshModelCompatibility, type ModelRoute } from '../dsh/model-configuration.js';
|
|
2
|
+
import type { DshUserQuestions } from '../dsh/user-interaction.js';
|
|
3
|
+
import { type DeepConfiguration, type DeepBudget } from './core/contracts.js';
|
|
4
|
+
import type { DeepStore } from './store.js';
|
|
5
|
+
import type { DeepNativeAgent } from './native-executor.js';
|
|
6
|
+
export declare class DeepConfigurationPending extends Error {
|
|
7
|
+
constructor(message?: string);
|
|
8
|
+
}
|
|
9
|
+
export declare class DeepInteractionDismissed extends DeepConfigurationPending {
|
|
10
|
+
}
|
|
11
|
+
export declare function deepQuestion(questions: DshUserQuestions | undefined, agent: DeepNativeAgent, signal: AbortSignal, id: string, question: string, choices: readonly string[], detail?: string): Promise<string>;
|
|
12
|
+
export declare class DeepConfigurationUI {
|
|
13
|
+
#private;
|
|
14
|
+
readonly store: DeepStore;
|
|
15
|
+
readonly catalog: DshModelCatalog | undefined;
|
|
16
|
+
readonly questions: DshUserQuestions | undefined;
|
|
17
|
+
readonly routes: readonly ModelRoute[];
|
|
18
|
+
readonly compatibility: DshModelCompatibility | undefined;
|
|
19
|
+
readonly budget: DeepBudget;
|
|
20
|
+
constructor(store: DeepStore, catalog: DshModelCatalog | undefined, questions: DshUserQuestions | undefined, routes: readonly ModelRoute[], compatibility: DshModelCompatibility | undefined, budget: DeepBudget);
|
|
21
|
+
problems(configuration: DeepConfiguration): Promise<string[]>;
|
|
22
|
+
resolve(workspace: string, agent: DeepNativeAgent): Promise<DeepConfiguration | null>;
|
|
23
|
+
configure(workspace: string, agent: DeepNativeAgent, signal: AbortSignal): Promise<DeepConfiguration>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=configuration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/deep-thinker/configuration.ts"],"names":[],"mappings":"AACA,OAAO,EAA0C,KAAK,eAAe,EAAE,KAAK,qBAAqB,EAA6B,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAA;AACpL,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAyD,KAAK,iBAAiB,EAAkB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEpJ,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAK3D,qBAAa,wBAAyB,SAAQ,KAAK;gBAAe,OAAO,SAA8B;CAAsB;AAC7H,qBAAa,wBAAyB,SAAQ,wBAAwB;CAAG;AACzE,wBAAsB,YAAY,CAAC,SAAS,EAAE,gBAAgB,GAAG,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,SAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAW/M;AAKD,qBAAa,mBAAmB;;IAClB,QAAQ,CAAC,KAAK,EAAE,SAAS;IAAE,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS;IAAE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,GAAG,SAAS;IACpI,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE;IAAE,QAAQ,CAAC,aAAa,EAAE,qBAAqB,GAAG,SAAS;IAAE,QAAQ,CAAC,MAAM,EAAE,UAAU;gBAD3G,KAAK,EAAE,SAAS,EAAW,OAAO,EAAE,eAAe,GAAG,SAAS,EAAW,SAAS,EAAE,gBAAgB,GAAG,SAAS,EAC3H,MAAM,EAAE,SAAS,UAAU,EAAE,EAAW,aAAa,EAAE,qBAAqB,GAAG,SAAS,EAAW,MAAM,EAAE,UAAU;IAC1H,QAAQ,CAAC,aAAa,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAK7D,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAkBrF,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;CA8D5G"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { modelBindingProblems, readModelCatalog } from '../dsh/model-configuration.js';
|
|
2
|
+
import { DeepBudgetSchema, DeepConfigurationSchema, DEEP_ROLES } from './core/contracts.js';
|
|
3
|
+
import { currentDeepModel } from './current-model.js';
|
|
4
|
+
const labels = { planner: '分解', solver: '解決', critic: '検証', synthesizer: '集約' };
|
|
5
|
+
const CLOSED = '閉じる・下書きを保持';
|
|
6
|
+
const budgetLabels = { maxConcurrentAgents: '同時Agent数', maxDepth: '分解の深さ', maxNodes: '累積問題数', maxChildrenPerNode: '一度の分解数', maxReplansPerNode: '問題ごとの再分解回数', maxAgentJobs: 'Agentジョブ数', maxModelRequests: 'モデル要求数', maxTotalTokens: '総トークン数(推定)', maxOutputTokensPerRequest: '要求ごとの最大出力', maxActiveSeconds: '稼働時間(秒)' };
|
|
7
|
+
export class DeepConfigurationPending extends Error {
|
|
8
|
+
constructor(message = '設定待ちです。入力と設定の下書きは保持しています。') { super(message); }
|
|
9
|
+
}
|
|
10
|
+
export class DeepInteractionDismissed extends DeepConfigurationPending {
|
|
11
|
+
}
|
|
12
|
+
export async function deepQuestion(questions, agent, signal, id, question, choices, detail = '') {
|
|
13
|
+
if (!questions)
|
|
14
|
+
throw new DeepConfigurationPending('設定・復旧カードを表示するDSH機能がありません。入力は保持しています。');
|
|
15
|
+
const response = await questions.ask({ agent, signal, questions: [{ id, header: 'Deep planning', question, detail, options: [...choices, CLOSED].map(label => ({ label })) }] });
|
|
16
|
+
signal.throwIfAborted();
|
|
17
|
+
const answer = response.answers[0];
|
|
18
|
+
if (!answer)
|
|
19
|
+
throw new DeepInteractionDismissed();
|
|
20
|
+
if (answer.id !== id)
|
|
21
|
+
throw new DeepConfigurationPending();
|
|
22
|
+
const value = answer.custom?.trim() || answer.selected[0];
|
|
23
|
+
const resolved = value && !answer.custom?.trim() && /^\d+$/u.test(value) ? [...choices, CLOSED][Number(value) - 1] : value;
|
|
24
|
+
if (!resolved || resolved === CLOSED)
|
|
25
|
+
throw new DeepInteractionDismissed();
|
|
26
|
+
return resolved;
|
|
27
|
+
}
|
|
28
|
+
const DraftSchema = DeepConfigurationSchema.extend({ roles: DeepConfigurationSchema.shape.roles.partial() });
|
|
29
|
+
export class DeepConfigurationUI {
|
|
30
|
+
store;
|
|
31
|
+
catalog;
|
|
32
|
+
questions;
|
|
33
|
+
routes;
|
|
34
|
+
compatibility;
|
|
35
|
+
budget;
|
|
36
|
+
constructor(store, catalog, questions, routes, compatibility, budget) {
|
|
37
|
+
this.store = store;
|
|
38
|
+
this.catalog = catalog;
|
|
39
|
+
this.questions = questions;
|
|
40
|
+
this.routes = routes;
|
|
41
|
+
this.compatibility = compatibility;
|
|
42
|
+
this.budget = budget;
|
|
43
|
+
}
|
|
44
|
+
async problems(configuration) {
|
|
45
|
+
if (!this.catalog)
|
|
46
|
+
return ['DSHのモデル一覧がありません'];
|
|
47
|
+
return modelBindingProblems(DEEP_ROLES.map(role => ({ label: labels[role], binding: configuration.roles[role] })), await readModelCatalog(this.catalog), [...this.routes, ...configuration.routeBindings.filter(r => !this.routes.some(known => known.provider === r.provider))], this.compatibility);
|
|
48
|
+
}
|
|
49
|
+
async resolve(workspace, agent) {
|
|
50
|
+
const saved = await this.store.database(db => db.prepare('SELECT configuration_json FROM dsh_deep_preferences WHERE workspace=?').get(workspace));
|
|
51
|
+
if (saved?.configuration_json)
|
|
52
|
+
return DeepConfigurationSchema.parse(JSON.parse(saved.configuration_json));
|
|
53
|
+
const binding = currentDeepModel(agent);
|
|
54
|
+
if (!binding)
|
|
55
|
+
return null;
|
|
56
|
+
const configuration = DeepConfigurationSchema.parse({ roles: Object.fromEntries(DEEP_ROLES.map(role => [role, binding])), budget: this.budget,
|
|
57
|
+
routeBindings: this.routes, localProviders: this.routes.filter(route => route.connection === 'local').map(route => route.provider) });
|
|
58
|
+
return (await this.problems(configuration)).length ? null : configuration;
|
|
59
|
+
}
|
|
60
|
+
async #save(workspace, revision, draft, apply) {
|
|
61
|
+
return this.store.transaction(db => {
|
|
62
|
+
db.prepare('INSERT OR IGNORE INTO dsh_deep_preferences(workspace) VALUES(?)').run(workspace);
|
|
63
|
+
db.prepare('UPDATE dsh_deep_preferences SET draft_json=?,configuration_json=CASE WHEN ? THEN ? ELSE configuration_json END,revision=revision+1 WHERE workspace=? AND revision=?')
|
|
64
|
+
.run(JSON.stringify(draft), apply ? 1 : 0, apply ? JSON.stringify(DeepConfigurationSchema.parse(draft)) : null, workspace, revision);
|
|
65
|
+
if (db.prepare('SELECT changes() AS count').get()?.count !== 1)
|
|
66
|
+
throw new DeepConfigurationPending('別の画面でDeep設定が変わりました。再度設定を開いてください。');
|
|
67
|
+
return revision + 1;
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
async configure(workspace, agent, signal) {
|
|
71
|
+
if (!this.catalog)
|
|
72
|
+
throw new DeepConfigurationPending('モデル一覧の機能がありません');
|
|
73
|
+
const saved = await this.store.database(db => db.prepare('SELECT * FROM dsh_deep_preferences WHERE workspace=?').get(workspace));
|
|
74
|
+
let revision = saved?.revision ?? 0;
|
|
75
|
+
let draft = DraftSchema.parse(saved?.draft_json ? JSON.parse(saved.draft_json) : saved?.configuration_json ? JSON.parse(saved.configuration_json) : await this.resolve(workspace, agent) ?? { roles: {}, budget: this.budget });
|
|
76
|
+
while (true) {
|
|
77
|
+
const catalog = await readModelCatalog(this.catalog);
|
|
78
|
+
const complete = DeepConfigurationSchema.safeParse(draft);
|
|
79
|
+
const problems = complete.success ? await this.problems(complete.data) : ['四つの役割にモデルを設定してください'];
|
|
80
|
+
const roleChoices = DEEP_ROLES.map(role => `${labels[role]}: ${draft.roles[role] ? `${draft.roles[role].provider} / ${draft.roles[role].model}` : '未設定'}`);
|
|
81
|
+
const choice = await deepQuestion(this.questions, agent, signal, 'deep-configuration', 'Deepのモデルと予算', [...roleChoices, '予算を編集', ...(complete.success && !problems.length ? ['保存'] : [])], `同じworkspaceの今後の開始に適用します。予約・実行中の構成は自動変更しません。\n${problems.join('\n')}\n${Object.keys(budgetLabels).map(key => `${budgetLabels[key]}: ${draft.budget[key]}`).join('\n')}\nトークン数は推定を含みます。provider内部の再送や料金の厳密な上限は保証しません。`);
|
|
82
|
+
if (choice === '保存' && complete.success && !(await this.problems(complete.data)).length) {
|
|
83
|
+
const routes = [...this.routes, ...complete.data.routeBindings];
|
|
84
|
+
draft = { ...complete.data, localProviders: routes.filter(r => r.connection === 'local').map(r => r.provider) };
|
|
85
|
+
revision = await this.#save(workspace, revision, draft, true);
|
|
86
|
+
return DeepConfigurationSchema.parse(draft);
|
|
87
|
+
}
|
|
88
|
+
if (choice === '予算を編集') {
|
|
89
|
+
const limits = budgetLabels;
|
|
90
|
+
const keys = Object.keys(limits), choices = keys.map(key => `${limits[key]}: ${draft.budget[key]}`);
|
|
91
|
+
const selected = await deepQuestion(this.questions, agent, signal, 'deep-budget-field', '変更する上限を選択', [...choices, '戻る']);
|
|
92
|
+
const key = keys[choices.indexOf(selected)];
|
|
93
|
+
if (!key)
|
|
94
|
+
continue;
|
|
95
|
+
const raw = await deepQuestion(this.questions, agent, signal, 'deep-budget-value', `${limits[key]}の上限`, [String(draft.budget[key])], '自由入力で整数を指定できます。上限を増やすと処理時間・費用が増える可能性があります。');
|
|
96
|
+
try {
|
|
97
|
+
if (!/^\d+$/u.test(raw))
|
|
98
|
+
continue;
|
|
99
|
+
draft = { ...draft, budget: DeepBudgetSchema.parse({ ...draft.budget, [key]: Number(raw) }) };
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
const role = DEEP_ROLES[roleChoices.indexOf(choice)];
|
|
107
|
+
if (!role)
|
|
108
|
+
continue;
|
|
109
|
+
const selected = await this.#pickModel(agent, signal, catalog, labels[role], Object.values(draft.roles)[0]);
|
|
110
|
+
if (!selected)
|
|
111
|
+
continue;
|
|
112
|
+
if (![...this.routes, ...draft.routeBindings].some(r => r.provider === selected.provider)) {
|
|
113
|
+
const families = ['openai', 'opencode-go', 'opencode-zen', 'openrouter', 'ollama', 'other'];
|
|
114
|
+
const family = await deepQuestion(this.questions, agent, signal, 'deep-route-family', `${selected.provider}の実際の接続先`, families);
|
|
115
|
+
if (!families.includes(family))
|
|
116
|
+
continue;
|
|
117
|
+
const protocols = ['responses', 'chat-completions', 'messages', 'unknown'];
|
|
118
|
+
const protocol = await deepQuestion(this.questions, agent, signal, 'deep-route-protocol', 'DSH設定の通信方式', protocols);
|
|
119
|
+
if (!protocols.includes(protocol))
|
|
120
|
+
continue;
|
|
121
|
+
const connection = await deepQuestion(this.questions, agent, signal, 'deep-route-connection', 'DSH設定の接続方式', ['api', 'codex', 'local']);
|
|
122
|
+
const route = { provider: selected.provider, family, protocol, connection };
|
|
123
|
+
draft = DraftSchema.parse({ ...draft, routeBindings: [...draft.routeBindings, route] });
|
|
124
|
+
}
|
|
125
|
+
draft = { ...draft, roles: { ...draft.roles, [role]: selected } };
|
|
126
|
+
}
|
|
127
|
+
revision = await this.#save(workspace, revision, draft, false);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
async #pickModel(agent, signal, catalog, role, copy) {
|
|
131
|
+
let query = '', page = 0;
|
|
132
|
+
while (true) {
|
|
133
|
+
const matches = catalog.models.filter(m => `${m.provider} ${m.id} ${m.name}`.toLowerCase().includes(query));
|
|
134
|
+
const models = matches.slice(page * 20, (page + 1) * 20), labels = models.map(m => `${m.provider} / ${m.name} [${m.id}]`);
|
|
135
|
+
const choice = await deepQuestion(this.questions, agent, signal, 'deep-role-model', `${role}のモデル`, [...labels, ...(copy ? ['設定済みの役割からコピー'] : []), ...(page ? ['前のページ'] : []), ...(matches.length > (page + 1) * 20 ? ['次のページ'] : []), '戻る'], '自由入力で接続ID・モデルID・名前を検索できます。');
|
|
136
|
+
if (choice === '戻る')
|
|
137
|
+
return undefined;
|
|
138
|
+
if (choice === '前のページ') {
|
|
139
|
+
page--;
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
if (choice === '次のページ') {
|
|
143
|
+
page++;
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
if (choice === '設定済みの役割からコピー' && copy)
|
|
147
|
+
return { ...copy };
|
|
148
|
+
const model = models[labels.indexOf(choice)];
|
|
149
|
+
if (model)
|
|
150
|
+
return { provider: model.provider, model: model.id };
|
|
151
|
+
query = choice.toLowerCase();
|
|
152
|
+
page = 0;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=configuration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/deep-thinker/configuration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAgG,MAAM,+BAA+B,CAAA;AAEpL,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,UAAU,EAA2D,MAAM,qBAAqB,CAAA;AACpJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAIrD,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;AAC/E,MAAM,MAAM,GAAG,YAAY,CAAA;AAC3B,MAAM,YAAY,GAAqC,EAAE,mBAAmB,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,yBAAyB,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAA;AACzV,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAAG,YAAY,OAAO,GAAG,2BAA2B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;CAAE;AAC7H,MAAM,OAAO,wBAAyB,SAAQ,wBAAwB;CAAG;AACzE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,SAAuC,EAAE,KAAsB,EAAE,MAAmB,EAAE,EAAU,EAAE,QAAgB,EAAE,OAA0B,EAAE,MAAM,GAAG,EAAE;IAC5L,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,wBAAwB,CAAC,sCAAsC,CAAC,CAAA;IAC1F,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAChL,MAAM,CAAC,cAAc,EAAE,CAAA;IACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAClC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,wBAAwB,EAAE,CAAA;IACjD,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE;QAAE,MAAM,IAAI,wBAAwB,EAAE,CAAA;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC1H,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,MAAM;QAAE,MAAM,IAAI,wBAAwB,EAAE,CAAA;IAC1E,OAAO,QAAQ,CAAA;AACjB,CAAC;AACD,MAAM,WAAW,GAAG,uBAAuB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;AAI5G,MAAM,OAAO,mBAAmB;IACT;IAA2B;IAA+C;IACpF;IAAwC;IAA2D;IAD9G,YAAqB,KAAgB,EAAW,OAAoC,EAAW,SAAuC,EAC3H,MAA6B,EAAW,aAAgD,EAAW,MAAkB;QAD3G,UAAK,GAAL,KAAK,CAAW;QAAW,YAAO,GAAP,OAAO,CAA6B;QAAW,cAAS,GAAT,SAAS,CAA8B;QAC3H,WAAM,GAAN,MAAM,CAAuB;QAAW,kBAAa,GAAb,aAAa,CAAmC;QAAW,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IACpI,KAAK,CAAC,QAAQ,CAAC,aAAgC;QAC7C,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAC7C,OAAO,oBAAoB,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EACrJ,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;IAChJ,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,KAAsB;QACrD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,uEAAuE,CAAC,CAAC,GAAG,CAAmC,SAAS,CAAC,CAAC,CAAA;QACnL,IAAI,KAAK,EAAE,kBAAkB;YAAE,OAAO,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAA;QACzG,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;QACvC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QACzB,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM;YAC3I,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACvI,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAA;IAC3E,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,SAAiB,EAAE,QAAgB,EAAE,KAAY,EAAE,KAAc;QAC3E,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;YACjC,EAAE,CAAC,OAAO,CAAC,iEAAiE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAC5F,EAAE,CAAC,OAAO,CAAC,qKAAqK,CAAC;iBAC9K,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;YACtI,IAAI,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,GAAG,EAAkB,EAAE,KAAK,KAAK,CAAC;gBAAE,MAAM,IAAI,wBAAwB,CAAC,kCAAkC,CAAC,CAAA;YACtJ,OAAO,QAAQ,GAAG,CAAC,CAAA;QACrB,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,KAAsB,EAAE,MAAmB;QAC5E,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,wBAAwB,CAAC,gBAAgB,CAAC,CAAA;QACvE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC,GAAG,CAAwC,SAAS,CAAC,CAAC,CAAA;QACvK,IAAI,QAAQ,GAAG,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAA;QACnC,IAAI,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QAC/N,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACpD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YACzD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAA;YAC/F,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,QAAQ,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YAC5J,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,aAAa,EAAE,CAAC,GAAG,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EACtL,gDAAgD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAM,MAAM,CAAC,IAAI,CAAC,YAAY,CAA0B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;YAClP,IAAI,MAAM,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACxF,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;gBAC/D,KAAK,GAAG,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAA;gBAC/G,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;gBAC7D,OAAO,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC7C,CAAC;YACD,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,YAAY,CAAA;gBAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAyB,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC3H,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;gBACxH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAC,IAAI,CAAC,GAAG;oBAAE,SAAQ;gBAC/D,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,4CAA4C,CAAC,CAAA;gBAClL,IAAI,CAAC;oBAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;wBAAE,SAAS;oBAAC,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAA;gBAAC,CAAC;gBACxI,MAAM,CAAC;oBAAC,SAAQ;gBAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;gBACpD,IAAI,CAAC,IAAI;oBAAE,SAAQ;gBACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC3G,IAAI,CAAC,QAAQ;oBAAE,SAAQ;gBACvB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1F,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAC,aAAa,EAAC,cAAc,EAAC,YAAY,EAAC,QAAQ,EAAC,OAAO,CAAU,CAAA;oBAC/F,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,QAAQ,CAAC,QAAQ,SAAS,EAAE,QAAQ,CAAC,CAAA;oBAC9H,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAiC,CAAC;wBAAE,SAAQ;oBACnE,MAAM,SAAS,GAAG,CAAC,WAAW,EAAC,kBAAkB,EAAC,UAAU,EAAC,SAAS,CAAU,CAAA;oBAChF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;oBAClH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAoC,CAAC;wBAAE,SAAQ;oBACvE,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,YAAY,EAAE,CAAC,KAAK,EAAC,OAAO,EAAC,OAAO,CAAC,CAAC,CAAA;oBACpI,MAAM,KAAK,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;oBAC3E,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,CAAC,GAAG,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;gBACzF,CAAC;gBACD,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAA;YACnE,CAAC;YACD,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,KAAsB,EAAE,MAAmB,EAAE,OAA6B,EAAE,IAAY,EAAE,IAAgB;QACzH,IAAI,KAAK,GAAG,EAAE,EAAE,IAAI,GAAG,CAAC,CAAA;QACxB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;YAC3G,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACzH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,4BAA4B,CAAC,CAAA;YAC1Q,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,SAAS,CAAA;YACrC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBAAC,IAAI,EAAE,CAAC;gBAAC,SAAQ;YAAC,CAAC;YAC5C,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBAAC,IAAI,EAAE,CAAC;gBAAC,SAAQ;YAAC,CAAC;YAC5C,IAAI,MAAM,KAAK,cAAc,IAAI,IAAI;gBAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAA;YACzD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;YAC5C,IAAI,KAAK;gBAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAA;YAC/D,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAAC,IAAI,GAAG,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { DshNativeCommandDefinition } from '../dsh/commands.js';
|
|
2
|
+
import type { DshNativePreStepPayload } from '../dsh/composition.js';
|
|
3
|
+
import type { DshRuntime } from '../dsh/runtime.js';
|
|
4
|
+
import type { DshSpawnBackend } from '../dsh/enno-delegation.js';
|
|
5
|
+
import type { DshModelCatalog, DshModelCompatibility, ModelRoute } from '../dsh/model-configuration.js';
|
|
6
|
+
import type { DshUserQuestions } from '../dsh/user-interaction.js';
|
|
7
|
+
import type { DshSessionQuery } from '../dsh/session-memory-finalizer.js';
|
|
8
|
+
import { DeepThinkerConfigSchema, type DeepModel } from './core/contracts.js';
|
|
9
|
+
import { DeepStore } from './store.js';
|
|
10
|
+
import { DeepNativeExecutor, type DeepNativeAgent, type DeepNativeContext } from './native-executor.js';
|
|
11
|
+
import { DeepScheduler } from './scheduler.js';
|
|
12
|
+
import { DeepConfigurationUI } from './configuration.js';
|
|
13
|
+
import { DeepReportPort, type DeepSessions } from './report-port.js';
|
|
14
|
+
export interface DeepControllerOptions {
|
|
15
|
+
runtime: DshRuntime;
|
|
16
|
+
ctx: DeepNativeContext;
|
|
17
|
+
backend?: DshSpawnBackend | undefined;
|
|
18
|
+
sessions?: DeepSessions | undefined;
|
|
19
|
+
agents?: {
|
|
20
|
+
get(id: string): object | undefined;
|
|
21
|
+
} | undefined;
|
|
22
|
+
catalog?: DshModelCatalog | undefined;
|
|
23
|
+
questions?: DshUserQuestions | undefined;
|
|
24
|
+
routes: readonly ModelRoute[];
|
|
25
|
+
compatibility?: DshModelCompatibility | undefined;
|
|
26
|
+
sessionQuery?: DshSessionQuery | undefined;
|
|
27
|
+
config?: unknown;
|
|
28
|
+
capabilities?: (agent: DeepNativeAgent, signal: AbortSignal) => Promise<unknown>;
|
|
29
|
+
}
|
|
30
|
+
export declare class DeepPlanningController {
|
|
31
|
+
#private;
|
|
32
|
+
readonly options: DeepControllerOptions;
|
|
33
|
+
readonly store: DeepStore;
|
|
34
|
+
readonly executor: DeepNativeExecutor;
|
|
35
|
+
readonly scheduler: DeepScheduler;
|
|
36
|
+
readonly reports: DeepReportPort;
|
|
37
|
+
readonly configuration: DeepConfigurationUI;
|
|
38
|
+
readonly config: ReturnType<typeof DeepThinkerConfigSchema.parse>;
|
|
39
|
+
attachFinalizer(kick: () => void): void;
|
|
40
|
+
deliver(sessionId: string): Promise<void>;
|
|
41
|
+
constructor(options: DeepControllerOptions);
|
|
42
|
+
command(): DshNativeCommandDefinition;
|
|
43
|
+
/** Called before ordinary intake at system-prompt assembly. Any failure stays Deep-owned. */
|
|
44
|
+
beforeAssembly(agent: DeepNativeAgent, signal: AbortSignal): Promise<{
|
|
45
|
+
owned: boolean;
|
|
46
|
+
model?: DeepModel;
|
|
47
|
+
}>;
|
|
48
|
+
preStep(payload: DshNativePreStepPayload): Promise<boolean>;
|
|
49
|
+
kick(agent: DeepNativeAgent): Promise<void>;
|
|
50
|
+
reconcile(runId: string): Promise<void>;
|
|
51
|
+
previousReport(sessionId: string): Promise<import('../dsh/context-injection.js').DshModelMessage[]>;
|
|
52
|
+
stop(): Promise<void>;
|
|
53
|
+
dispose(): Promise<void>;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/deep-thinker/controller.ts"],"names":[],"mappings":"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"}
|