kiokuko-dsh 0.1.79 → 0.1.81
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 +6 -0
- package/README.ja.md +3 -1
- package/README.ko.md +3 -1
- package/README.md +3 -1
- package/README.zh-CN.md +3 -1
- package/dist/client.cjs +94 -40
- package/dist/client.d.ts.map +1 -1
- package/dist/diff-review/controller.d.ts +1 -0
- package/dist/diff-review/controller.d.ts.map +1 -1
- package/dist/diff-review/controller.js +9 -4
- package/dist/diff-review/controller.js.map +1 -1
- package/dist/dsh/answer-review/evidence.d.ts.map +1 -1
- package/dist/dsh/answer-review/evidence.js +8 -3
- package/dist/dsh/answer-review/evidence.js.map +1 -1
- package/dist/dsh/composition.d.ts +4 -0
- package/dist/dsh/composition.d.ts.map +1 -1
- package/dist/dsh/composition.js +19 -2
- package/dist/dsh/composition.js.map +1 -1
- package/dist/dsh/config.d.ts +22 -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/core/host.d.ts +22 -0
- package/dist/dsh/core/host.d.ts.map +1 -1
- package/dist/dsh/core/host.js +221 -68
- package/dist/dsh/core/host.js.map +1 -1
- package/dist/dsh/core/index.d.ts +44 -0
- package/dist/dsh/core/index.d.ts.map +1 -1
- package/dist/dsh/decisions/contracts.d.ts +1 -0
- package/dist/dsh/decisions/contracts.d.ts.map +1 -1
- package/dist/dsh/decisions/contracts.js +1 -1
- package/dist/dsh/decisions/contracts.js.map +1 -1
- package/dist/dsh/decisions/host.d.ts +1 -1
- package/dist/dsh/decisions/host.d.ts.map +1 -1
- package/dist/dsh/decisions/host.js +3 -2
- package/dist/dsh/decisions/host.js.map +1 -1
- package/dist/dsh/decisions/service.d.ts +3 -0
- package/dist/dsh/decisions/service.d.ts.map +1 -1
- package/dist/dsh/decisions/service.js +16 -5
- package/dist/dsh/decisions/service.js.map +1 -1
- package/dist/dsh/evolution-observation.d.ts.map +1 -1
- package/dist/dsh/evolution-observation.js +4 -0
- package/dist/dsh/evolution-observation.js.map +1 -1
- package/dist/dsh/execution-support.d.ts.map +1 -1
- package/dist/dsh/execution-support.js +8 -2
- package/dist/dsh/execution-support.js.map +1 -1
- package/dist/dsh/host-adapter.d.ts +2 -0
- package/dist/dsh/host-adapter.d.ts.map +1 -1
- package/dist/dsh/host-adapter.js +69 -3
- package/dist/dsh/host-adapter.js.map +1 -1
- package/dist/dsh/index.d.ts.map +1 -1
- package/dist/dsh/index.js +3 -1
- package/dist/dsh/index.js.map +1 -1
- package/dist/dsh/japanese-output-skill.d.ts +3 -2
- package/dist/dsh/japanese-output-skill.d.ts.map +1 -1
- package/dist/dsh/japanese-output-skill.js.map +1 -1
- package/dist/dsh/lisp/coding-choice.d.ts +2 -1
- package/dist/dsh/lisp/coding-choice.d.ts.map +1 -1
- package/dist/dsh/lisp/coding-choice.js +2 -1
- package/dist/dsh/lisp/coding-choice.js.map +1 -1
- package/dist/dsh/lisp-service-key.d.ts +3 -0
- package/dist/dsh/lisp-service-key.d.ts.map +1 -0
- package/dist/dsh/lisp-service-key.js +3 -0
- package/dist/dsh/lisp-service-key.js.map +1 -0
- package/dist/dsh/model-auto/candidates.d.ts +13 -0
- package/dist/dsh/model-auto/candidates.d.ts.map +1 -0
- package/dist/dsh/model-auto/candidates.js +48 -0
- package/dist/dsh/model-auto/candidates.js.map +1 -0
- package/dist/dsh/model-auto/command.d.ts +6 -0
- package/dist/dsh/model-auto/command.d.ts.map +1 -0
- package/dist/dsh/model-auto/command.js +28 -0
- package/dist/dsh/model-auto/command.js.map +1 -0
- package/dist/dsh/model-auto/contracts.d.ts +60 -0
- package/dist/dsh/model-auto/contracts.d.ts.map +1 -0
- package/dist/dsh/model-auto/contracts.js +18 -0
- package/dist/dsh/model-auto/contracts.js.map +1 -0
- package/dist/dsh/model-auto/coordinator.d.ts +45 -0
- package/dist/dsh/model-auto/coordinator.d.ts.map +1 -0
- package/dist/dsh/model-auto/coordinator.js +169 -0
- package/dist/dsh/model-auto/coordinator.js.map +1 -0
- package/dist/dsh/model-auto/policy.d.ts +8 -0
- package/dist/dsh/model-auto/policy.d.ts.map +1 -0
- package/dist/dsh/model-auto/policy.js +45 -0
- package/dist/dsh/model-auto/policy.js.map +1 -0
- package/dist/dsh/model-auto/store.d.ts +53 -0
- package/dist/dsh/model-auto/store.d.ts.map +1 -0
- package/dist/dsh/model-auto/store.js +87 -0
- package/dist/dsh/model-auto/store.js.map +1 -0
- package/dist/dsh/model-configuration.d.ts +13 -1
- package/dist/dsh/model-configuration.d.ts.map +1 -1
- package/dist/dsh/model-configuration.js.map +1 -1
- package/dist/dsh/model-handoff.d.ts.map +1 -1
- package/dist/dsh/model-handoff.js +9 -4
- package/dist/dsh/model-handoff.js.map +1 -1
- package/dist/dsh/model-routing.d.ts +9 -3
- package/dist/dsh/model-routing.d.ts.map +1 -1
- package/dist/dsh/model-routing.js +17 -6
- package/dist/dsh/model-routing.js.map +1 -1
- package/dist/dsh/native-model-catalog.d.ts +6 -1
- package/dist/dsh/native-model-catalog.d.ts.map +1 -1
- package/dist/dsh/native-model-catalog.js +12 -4
- package/dist/dsh/native-model-catalog.js.map +1 -1
- package/dist/dsh/observation-pack/policy.d.ts.map +1 -1
- package/dist/dsh/observation-pack/policy.js +11 -2
- package/dist/dsh/observation-pack/policy.js.map +1 -1
- package/dist/dsh/observation-pack/service.d.ts.map +1 -1
- package/dist/dsh/observation-pack/service.js +6 -3
- package/dist/dsh/observation-pack/service.js.map +1 -1
- package/dist/dsh/semantic-compaction/coordinator.d.ts.map +1 -1
- package/dist/dsh/semantic-compaction/coordinator.js +3 -2
- package/dist/dsh/semantic-compaction/coordinator.js.map +1 -1
- package/dist/dsh/semantic-compaction/policy.d.ts.map +1 -1
- package/dist/dsh/semantic-compaction/policy.js +36 -21
- package/dist/dsh/semantic-compaction/policy.js.map +1 -1
- package/dist/dsh/session-history-compatibility.d.ts +14 -0
- package/dist/dsh/session-history-compatibility.d.ts.map +1 -1
- package/dist/dsh/session-history-compatibility.js +49 -22
- package/dist/dsh/session-history-compatibility.js.map +1 -1
- package/dist/dsh/session-history-lookup.js +2 -2
- package/dist/dsh/session-history-lookup.js.map +1 -1
- package/dist/dsh/session-mismatch-cleanup.d.ts +27 -0
- package/dist/dsh/session-mismatch-cleanup.d.ts.map +1 -0
- package/dist/dsh/session-mismatch-cleanup.js +126 -0
- package/dist/dsh/session-mismatch-cleanup.js.map +1 -0
- package/dist/enno-oduno/schemas.d.ts +2 -2
- package/docs/dsh-plugin.md +2 -2
- package/docs/model-selection.ja.md +26 -0
- package/docs/model-selection.md +26 -0
- package/docs/session-history-repair.md +11 -1
- package/migrations/028_model_auto.sql +14 -0
- package/package.json +5 -4
package/PERMISSIONS.md
CHANGED
|
@@ -53,6 +53,10 @@ Skill collisions before mounting its runtime; it does not rewrite `AGENTS.md`.
|
|
|
53
53
|
isolation, and publishes a new v3 generation under the same native lease.
|
|
54
54
|
Retains the original v0 file and an identical `.bak`; never overwrites an
|
|
55
55
|
existing successor or reconstructs missing turn-ending events.
|
|
56
|
+
- After startup validation, automatically deletes a native history file only
|
|
57
|
+
when the compatibility check confirmed `Legacy session identity mismatch`.
|
|
58
|
+
It rechecks the ID and exact path under DSH's write lease. Other failures,
|
|
59
|
+
healthy histories, and session working-directory files are left untouched.
|
|
56
60
|
- Does not rewrite host configuration or repository instruction files.
|
|
57
61
|
Repository identity, run identity, lease, revision, and integrity mismatches
|
|
58
62
|
fail closed.
|
|
@@ -211,6 +215,8 @@ See [Common Lisp setup and recovery](docs/lisp.md) for commands and limits.
|
|
|
211
215
|
|
|
212
216
|
# Configured typed decisions
|
|
213
217
|
|
|
218
|
+
`modelAutoMode.mode` defaults to `off`. When enabled for an admitted normal task, it sends only that task's text, task type, attachment kinds and configured route descriptions to the selected ready Jev or Laya backend. It requires the registered `openai-codex` provider, live model capability checks and the native token meter. It stores route identities, digests, binding, status and timing in Kiokuko SQLite; it does not duplicate task text or credentials there. `observe` performs the classifier call without changing the DSH request model. A manual picker selection takes priority. No provider substitution, automatic implementation retry or global Web model change occurs. `/kioku-model-auto off` disables the current session; setting `modelAutoMode.mode: off` and restarting disables saved session overrides.
|
|
219
|
+
|
|
214
220
|
With `typedDecisions.mode: auto` (default), the host may send the current request,
|
|
215
221
|
installed Skill descriptions, sanitized candidate plan or explicitly selected Lisp
|
|
216
222
|
evidence to the configured adapter. TypeSafe uses its fixed HTTPS endpoint and
|
package/README.ja.md
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
## 導入と使い方
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
実行環境の対応対象は **DSH 0.1.7-rc.2** です。ネイティブ要求経路、旧セッション履歴の移行、パッケージ化した Web の起動試験はローカルで通過しました([検証範囲](docs/dsh-plugin.md#compatibility))。
|
|
23
23
|
|
|
24
24
|
Node.js **24.16.0 以上**と pnpm が必要です。
|
|
25
25
|
DSH のソースディレクトリで、公開済み npm パッケージを導入して起動します。
|
|
@@ -105,6 +105,8 @@ Lisp を選ぶと、Lisp 用ツールで通常実行します。役小角を使
|
|
|
105
105
|
|
|
106
106
|
## 型付き判定(Jev / Laya / Nimble)
|
|
107
107
|
|
|
108
|
+
任意の[モデル自動選択](docs/model-selection.ja.md#通常実行のモデル自動選択)は、新しい通常タスクで検証済みの `openai-codex` モデルと推論強度を選びます。既定値は `modelAutoMode.mode: off` です。`/kioku-model-auto on | observe | off | status` は現在のセッションだけを変更します。`observe` は候補を計測し、実モデルは変えません。利用にはJevかLayaの準備完了、dsh-codex、DSHのモデル情報とtoken meterが必要です。判定不能なら現在のモデルを維持し、手動選択を優先します。
|
|
109
|
+
|
|
108
110
|
[回答の再検討](docs/answer-review.md)は、表示済みの通常回答を評価し、指摘があれば同じ主モデルに一度だけ見直させる機能です。通常版・modular coreで既定で有効です。既定値は次のとおりです。
|
|
109
111
|
|
|
110
112
|
```yaml
|
package/README.ko.md
CHANGED
|
@@ -8,11 +8,13 @@ OrcaReplay로 모델과 도구의 동작을 기록하고, 기록을 확인하거
|
|
|
8
8
|
|
|
9
9
|
새 변경 작업에서는 일반 실행 또는 役小角(enno-oduno)를 선택할 수 있습니다. 역할별 모델은 추천 템플릿이나 DSH에 설정된 모델에서 선택합니다. [모델 선택과 연결 제한](docs/model-selection.md).
|
|
10
10
|
|
|
11
|
+
선택 기능인 [자동 모델 선택](docs/model-selection.md#automatic-model-selection)은 기본적으로 꺼져 있습니다(`modelAutoMode.mode: off`). `/kioku-model-auto on | observe | off | status`는 현재 세션만 바꿉니다. `observe`는 제안만 기록하고 실제 모델은 유지합니다. 일반 작업에서 준비된 Jev 또는 Laya, dsh-codex, DSH 모델 메타데이터와 token meter가 필요합니다. 판정에 실패하면 현재 모델을 유지하고 수동 선택을 우선합니다.
|
|
12
|
+
|
|
11
13
|
자동 메모리 검토는 기본으로 활성화되며, 사람의 입력을 처리한 여덟 턴마다 대화 모델로 유용한 프로젝트 기억 후보를 저장하거나 갱신합니다. 대화를 닫을 필요가 없습니다. `/kioku-memory-review status`로 상태를 확인하거나 `/kioku-memory-review exclude session`으로 대화 전체를 제외할 수 있습니다. [설정, 비용과 복구](docs/auto-memory-review.md).
|
|
12
14
|
|
|
13
15
|
## 설치 및 사용
|
|
14
16
|
|
|
15
|
-
**DSH 0.1.
|
|
17
|
+
런타임 호환 대상은 **DSH 0.1.7-rc.2**입니다. 네이티브 요청 경로, 이전 세션 기록 마이그레이션, 패키징된 Web 시작 검사가 로컬에서 통과했습니다 ([검증 범위](docs/dsh-plugin.md#compatibility)).
|
|
16
18
|
|
|
17
19
|
Node.js **24.16.0 이상**과 pnpm이 필요합니다.
|
|
18
20
|
DSH 소스 디렉터리에서 다음 명령으로 공개된 npm 패키지를 설치하고 시작합니다.
|
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ Automatic memory review saves or updates useful project candidates after eight c
|
|
|
19
19
|
|
|
20
20
|
## Install and use
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Runtime compatibility target: **DSH 0.1.7-rc.2**. Native request paths, legacy session migration, and a packed Web lifecycle pass locally ([verification scope](docs/dsh-plugin.md#compatibility)).
|
|
23
23
|
|
|
24
24
|
Requires Node.js **24.16.0+** and pnpm.
|
|
25
25
|
Run these commands from the DSH source directory to install the published npm package and start:
|
|
@@ -106,6 +106,8 @@ See [setup, APIs, limits and recovery](docs/lisp.md).
|
|
|
106
106
|
|
|
107
107
|
## Typed decisions (Jev / Laya / Nimble)
|
|
108
108
|
|
|
109
|
+
Optional [automatic model selection](docs/model-selection.md#automatic-model-selection) chooses a validated `openai-codex` model and reasoning effort for a new normal task. It defaults to `modelAutoMode.mode: off`; `/kioku-model-auto on | observe | off | status` changes only the current session. `observe` measures a proposal without changing the model. It requires a ready Jev or Laya backend, dsh-codex, native model metadata and a token meter. Failed or unavailable classification keeps the current model; manual model selection takes priority.
|
|
110
|
+
|
|
109
111
|
[Answer review](docs/answer-review.md) is enabled by default on the full plugin and modular core. It evaluates an already displayed normal answer using the configured Jev, Laya or Nimble provider and may ask the same main model to reconsider once. The defaults are:
|
|
110
112
|
|
|
111
113
|
```yaml
|
package/README.zh-CN.md
CHANGED
|
@@ -8,11 +8,13 @@ OrcaReplay 可记录模型和工具活动,查看记录并导出 HTML。
|
|
|
8
8
|
|
|
9
9
|
新的修改任务可以选择普通执行或役小角(enno-oduno)。役小角支持推荐模板,也可从DSH已配置的模型中为各角色选择模型。[模型选择与连接限制](docs/model-selection.md)。
|
|
10
10
|
|
|
11
|
+
可选的[自动模型选择](docs/model-selection.md#automatic-model-selection)默认关闭(`modelAutoMode.mode: off`)。`/kioku-model-auto on | observe | off | status` 仅更改当前会话;`observe` 只记录建议,不更换模型。普通任务需要已就绪的 Jev 或 Laya、dsh-codex,以及 DSH 的模型元数据和 token meter。判定失败时保留当前模型,手动选择优先。
|
|
12
|
+
|
|
11
13
|
自动记忆审查默认启用:每完成八个人类输入回合,使用会话模型保存或更新有用的项目记忆候选,无需关闭会话。使用 `/kioku-memory-review status` 查看状态,或用 `/kioku-memory-review exclude session` 排除整个会话。[设置、费用和恢复](docs/auto-memory-review.md)。
|
|
12
14
|
|
|
13
15
|
## 安装与使用
|
|
14
16
|
|
|
15
|
-
|
|
17
|
+
运行时兼容目标为 **DSH 0.1.7-rc.2**。原生请求路径、旧会话历史迁移和打包后的 Web 启动检查均已在本地通过([验证范围](docs/dsh-plugin.md#compatibility))。
|
|
16
18
|
|
|
17
19
|
需要 Node.js **24.16.0 以上**和 pnpm。
|
|
18
20
|
在 DSH 源码目录中运行以下命令,安装已发布的 npm 包并启动:
|
package/dist/client.cjs
CHANGED
|
@@ -758,9 +758,12 @@ window.__ModuleLoader__.load({
|
|
|
758
758
|
const REVIEW_MEMORY_STATES = { available: '取得済み', empty: '該当なし', unavailable: '取得不可', withheld: '保留', mismatch: '不一致' };
|
|
759
759
|
const REVIEW_FRESHNESS = { current: '現在と一致', stale: '取得後に変更あり', unknown: '現在との一致は未確認' };
|
|
760
760
|
function initialReviewSession() {
|
|
761
|
-
return { loading: false, busy: false, error: '', availability: 'unknown', models: [], untracked: [], turns: [], mode: 'current',
|
|
761
|
+
return { loading: false, busy: false, cancelling: false, error: '', availability: 'unknown', modelAvailability: 'unknown', models: [], untracked: [], turns: [], mode: 'current',
|
|
762
762
|
selected: [], selectedUntracked: [], modelKey: '', purpose: '', runId: '', activeFileId: '', fileListOpen: true };
|
|
763
763
|
}
|
|
764
|
+
function matchesReviewMode(review, mode, turnSeq) {
|
|
765
|
+
return review?.snapshot.mode === mode && (mode !== 'turn' || review.snapshot.turnSeq === turnSeq);
|
|
766
|
+
}
|
|
764
767
|
class DiffReviewClientController {
|
|
765
768
|
store = createSnapshotStore({ bySession: {} });
|
|
766
769
|
timers = new Map();
|
|
@@ -786,8 +789,20 @@ window.__ModuleLoader__.load({
|
|
|
786
789
|
return url;
|
|
787
790
|
}
|
|
788
791
|
async json(url, body) {
|
|
789
|
-
|
|
790
|
-
|
|
792
|
+
let response;
|
|
793
|
+
try {
|
|
794
|
+
response = await fetch(url, body ? { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify(body) } : {});
|
|
795
|
+
}
|
|
796
|
+
catch {
|
|
797
|
+
throw new Error('DSH に接続できません。接続を確認して再試行してください。');
|
|
798
|
+
}
|
|
799
|
+
let value;
|
|
800
|
+
try {
|
|
801
|
+
value = await response.json();
|
|
802
|
+
}
|
|
803
|
+
catch {
|
|
804
|
+
throw new Error('DSH の応答を読み取れません。再試行してください。');
|
|
805
|
+
}
|
|
791
806
|
if (!response.ok)
|
|
792
807
|
throw new Error(typeof value.code === 'string' ? reviewErrorMessage(value.code) : `HTTP ${response.status}`);
|
|
793
808
|
return value;
|
|
@@ -801,24 +816,27 @@ window.__ModuleLoader__.load({
|
|
|
801
816
|
return;
|
|
802
817
|
const review = response.review;
|
|
803
818
|
const models = response.models ?? [];
|
|
819
|
+
const modelKeys = models.map(item => JSON.stringify([item.provider, item.model]));
|
|
804
820
|
const current = this.current(sessionId);
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
821
|
+
const untracked = response.untracked ?? [];
|
|
822
|
+
this.change(sessionId, { loading: false, busy: review?.state === 'analyzing', cancelling: false,
|
|
823
|
+
availability: String(response.availability), modelAvailability: String(response.modelAvailability ?? 'unknown'), models, review,
|
|
824
|
+
untracked, selectedUntracked: current.selectedUntracked.filter(path => untracked.includes(path)), turns: response.turns ?? [],
|
|
825
|
+
...(review ? { selected: current.review?.reviewId === review.reviewId ? current.selected.filter(id => review.snapshot.files.some(file => file.fileId === id && file.kind === 'text')) : review.snapshot.files.filter(file => file.kind === 'text').map(file => file.fileId),
|
|
826
|
+
activeFileId: current.review?.reviewId === review.reviewId && review.snapshot.files.some(file => file.fileId === current.activeFileId) ? current.activeFileId : review.snapshot.files[0]?.fileId || '' } : {}),
|
|
827
|
+
modelKey: modelKeys.includes(current.modelKey) ? current.modelKey : '',
|
|
810
828
|
error: !review && current.review ? '保存期間が過ぎました。差分を取得し直してください。' : '' });
|
|
811
829
|
if (review?.state === 'analyzing')
|
|
812
830
|
this.poll(sessionId, review.reviewId);
|
|
813
831
|
}
|
|
814
832
|
catch (error) {
|
|
815
833
|
if (this.generations.get(sessionId) === generation)
|
|
816
|
-
this.change(sessionId, { loading: false, error: messageOf(error) });
|
|
834
|
+
this.change(sessionId, { loading: false, busy: false, error: messageOf(error) });
|
|
817
835
|
}
|
|
818
836
|
}
|
|
819
837
|
async capture(sessionId) {
|
|
820
838
|
const current = this.current(sessionId);
|
|
821
|
-
if (current.busy)
|
|
839
|
+
if (current.busy || current.loading || current.cancelling || current.review?.state === 'analyzing')
|
|
822
840
|
return;
|
|
823
841
|
const generation = this.nextGeneration(sessionId);
|
|
824
842
|
this.change(sessionId, { busy: true, error: '' });
|
|
@@ -829,6 +847,7 @@ window.__ModuleLoader__.load({
|
|
|
829
847
|
return;
|
|
830
848
|
this.change(sessionId, { loading: false, busy: false, review, selected: review.snapshot.files.filter(file => file.kind === 'text').map(file => file.fileId),
|
|
831
849
|
activeFileId: review.snapshot.files[0]?.fileId ?? '', fileListOpen: false });
|
|
850
|
+
await this.load(sessionId);
|
|
832
851
|
}
|
|
833
852
|
catch (error) {
|
|
834
853
|
if (this.generations.get(sessionId) === generation)
|
|
@@ -837,7 +856,7 @@ window.__ModuleLoader__.load({
|
|
|
837
856
|
}
|
|
838
857
|
async analyze(sessionId) {
|
|
839
858
|
const current = this.current(sessionId);
|
|
840
|
-
if (current.busy || !current.review || !current.modelKey)
|
|
859
|
+
if (current.busy || current.loading || current.cancelling || !current.review || !matchesReviewMode(current.review, current.mode, current.turnSeq) || current.review.state === 'analyzing' || !current.selected.length || !current.modelKey)
|
|
841
860
|
return;
|
|
842
861
|
let provider, model;
|
|
843
862
|
try {
|
|
@@ -866,40 +885,55 @@ window.__ModuleLoader__.load({
|
|
|
866
885
|
}
|
|
867
886
|
poll(sessionId, reviewId) {
|
|
868
887
|
clearTimeout(this.timers.get(sessionId));
|
|
888
|
+
const generation = this.generations.get(sessionId);
|
|
869
889
|
const tick = async () => {
|
|
870
890
|
try {
|
|
871
891
|
const review = await this.json(this.url(sessionId, reviewId));
|
|
872
|
-
if (this.current(sessionId).review?.reviewId !== reviewId)
|
|
892
|
+
if (this.generations.get(sessionId) !== generation || this.current(sessionId).review?.reviewId !== reviewId || this.current(sessionId).cancelling)
|
|
873
893
|
return;
|
|
874
894
|
this.change(sessionId, { review, busy: review.state === 'analyzing', error: '' });
|
|
875
895
|
if (review.state === 'analyzing')
|
|
876
896
|
this.timers.set(sessionId, setTimeout(() => void tick(), document.hidden ? 5000 : 1000));
|
|
877
897
|
}
|
|
878
898
|
catch (error) {
|
|
879
|
-
this.
|
|
899
|
+
if (this.generations.get(sessionId) === generation && this.current(sessionId).review?.reviewId === reviewId && !this.current(sessionId).cancelling) {
|
|
900
|
+
this.change(sessionId, { busy: false, error: messageOf(error) });
|
|
901
|
+
}
|
|
880
902
|
}
|
|
881
903
|
};
|
|
882
904
|
this.timers.set(sessionId, setTimeout(() => void tick(), 500));
|
|
883
905
|
}
|
|
884
906
|
async refreshReview(sessionId, reviewId) {
|
|
885
|
-
const generation = this.
|
|
907
|
+
const generation = this.nextGeneration(sessionId);
|
|
908
|
+
clearTimeout(this.timers.get(sessionId));
|
|
909
|
+
this.change(sessionId, { loading: true, error: '' });
|
|
886
910
|
try {
|
|
887
911
|
const review = await this.json(this.url(sessionId, reviewId));
|
|
888
|
-
if (this.generations.get(sessionId) === generation && this.current(sessionId).review?.reviewId === reviewId)
|
|
889
|
-
this.change(sessionId, { review });
|
|
912
|
+
if (this.generations.get(sessionId) === generation && this.current(sessionId).review?.reviewId === reviewId) {
|
|
913
|
+
this.change(sessionId, { loading: false, busy: review.state === 'analyzing', review, error: '' });
|
|
914
|
+
if (review.state === 'analyzing')
|
|
915
|
+
this.poll(sessionId, reviewId);
|
|
916
|
+
}
|
|
890
917
|
}
|
|
891
918
|
catch (error) {
|
|
892
919
|
if (this.generations.get(sessionId) === generation && this.current(sessionId).review?.reviewId === reviewId)
|
|
893
|
-
this.change(sessionId, { error: messageOf(error) });
|
|
920
|
+
this.change(sessionId, { loading: false, busy: false, error: messageOf(error) });
|
|
894
921
|
}
|
|
895
922
|
}
|
|
896
923
|
async cancel(sessionId, reviewId) {
|
|
924
|
+
if (this.current(sessionId).cancelling || this.current(sessionId).review?.reviewId !== reviewId)
|
|
925
|
+
return;
|
|
926
|
+
const generation = this.nextGeneration(sessionId);
|
|
927
|
+
clearTimeout(this.timers.get(sessionId));
|
|
928
|
+
this.change(sessionId, { loading: false, cancelling: true, error: '' });
|
|
897
929
|
try {
|
|
898
930
|
const review = await this.json(this.url(sessionId), { action: 'cancel', sessionId, reviewId });
|
|
899
|
-
this.
|
|
931
|
+
if (this.generations.get(sessionId) === generation && this.current(sessionId).review?.reviewId === reviewId)
|
|
932
|
+
this.change(sessionId, { review, busy: false, cancelling: false, error: '' });
|
|
900
933
|
}
|
|
901
934
|
catch (error) {
|
|
902
|
-
this.
|
|
935
|
+
if (this.generations.get(sessionId) === generation && this.current(sessionId).review?.reviewId === reviewId)
|
|
936
|
+
this.change(sessionId, { busy: false, cancelling: false, error: messageOf(error) });
|
|
903
937
|
}
|
|
904
938
|
}
|
|
905
939
|
exportUrl(sessionId, reviewId, format) {
|
|
@@ -931,13 +965,13 @@ window.__ModuleLoader__.load({
|
|
|
931
965
|
function SnapshotDiff(props) {
|
|
932
966
|
return jsxs('div', { className: 'kiokuko-review-diff', children: props.file.hunks.map(hunk => {
|
|
933
967
|
let oldLine = hunk.oldStart, newLine = hunk.newStart;
|
|
934
|
-
return jsxs('section', { id: `kiokuko-review-${props.file.fileId}-${hunk.id}`, children: [
|
|
968
|
+
return jsxs('section', { id: `kiokuko-review-${props.file.fileId}-${hunk.id}`, tabIndex: -1, children: [
|
|
935
969
|
jsx('h4', { children: `@@ -${hunk.oldStart} +${hunk.newStart} @@` }),
|
|
936
970
|
jsx('pre', { children: hunk.lines.map((line, index) => {
|
|
937
971
|
const prefix = line[0];
|
|
938
972
|
const old = prefix === '+' || prefix === '\\' ? '' : String(oldLine++);
|
|
939
973
|
const next = prefix === '-' || prefix === '\\' ? '' : String(newLine++);
|
|
940
|
-
return jsx('div', { className: prefix === '+' ? 'added' : prefix === '-' ? 'removed' : '',
|
|
974
|
+
return jsx('div', { className: prefix === '+' ? 'added' : prefix === '-' ? 'removed' : '', tabIndex: -1,
|
|
941
975
|
'data-snapshot-id': props.snapshotId, 'data-file-id': props.file.fileId, 'data-hunk-id': hunk.id,
|
|
942
976
|
...(old ? { 'data-old-line': old } : {}), ...(next ? { 'data-new-line': next } : {}),
|
|
943
977
|
children: `${old.padStart(5)} ${next.padStart(5)} ${line}` }, index);
|
|
@@ -953,16 +987,21 @@ window.__ModuleLoader__.load({
|
|
|
953
987
|
const useTabInfo = props.useTabInfo;
|
|
954
988
|
const { tab } = useTabInfo();
|
|
955
989
|
const state = useReview(value => value.bySession[sessionId]) ?? initialReviewSession();
|
|
990
|
+
const wasVisible = useRef(tab.visible);
|
|
956
991
|
useEffect(() => { void controller.load(sessionId); }, [sessionId]);
|
|
957
|
-
useEffect(() => { if (tab.visible && state.review)
|
|
958
|
-
void controller.refreshReview(sessionId, state.review.reviewId); }, [sessionId, tab.visible, state.review?.reviewId]);
|
|
959
992
|
useEffect(() => {
|
|
960
|
-
|
|
961
|
-
void controller.
|
|
993
|
+
if (tab.visible && !wasVisible.current && state.review)
|
|
994
|
+
void controller.refreshReview(sessionId, state.review.reviewId);
|
|
995
|
+
wasVisible.current = tab.visible;
|
|
996
|
+
}, [sessionId, tab.visible, state.review?.reviewId]);
|
|
997
|
+
useEffect(() => {
|
|
998
|
+
const onClose = () => { const review = controller.store.getSnapshot().bySession[sessionId]?.review; if (review?.state === 'analyzing')
|
|
999
|
+
void controller.cancel(sessionId, review.reviewId); };
|
|
962
1000
|
tab.signal.addEventListener('abort', onClose, { once: true });
|
|
963
1001
|
return () => tab.signal.removeEventListener('abort', onClose);
|
|
964
1002
|
}, [sessionId, tab.signal]);
|
|
965
1003
|
const review = state.review;
|
|
1004
|
+
const reviewMatchesSelection = matchesReviewMode(review, state.mode, state.turnSeq);
|
|
966
1005
|
const active = review?.snapshot.files.find(file => file.fileId === state.activeFileId) ?? review?.snapshot.files[0];
|
|
967
1006
|
const selectFile = (fileId) => controller.change(sessionId, { selected: state.selected.includes(fileId)
|
|
968
1007
|
? state.selected.filter(id => id !== fileId) : [...state.selected, fileId] });
|
|
@@ -971,13 +1010,18 @@ window.__ModuleLoader__.load({
|
|
|
971
1010
|
if (!fileId || !review?.snapshot.files.some(file => file.fileId === fileId))
|
|
972
1011
|
return;
|
|
973
1012
|
controller.change(sessionId, { activeFileId: fileId, fileListOpen: false });
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
1013
|
+
requestAnimationFrame(() => {
|
|
1014
|
+
if (!hunkId) {
|
|
1015
|
+
document.getElementById(`kiokuko-review-${review.reviewId}-detail`)?.focus();
|
|
1016
|
+
return;
|
|
1017
|
+
}
|
|
1018
|
+
const section = document.getElementById(`kiokuko-review-${fileId}-${hunkId}`);
|
|
1019
|
+
const line = anchor?.fileId === fileId && anchor.hunkId === hunkId
|
|
1020
|
+
? [...(section?.querySelectorAll('[data-old-line],[data-new-line]') ?? [])].find(element => element.dataset[anchor.side === 'old' ? 'oldLine' : 'newLine'] === String(anchor.startLine)) : undefined;
|
|
1021
|
+
const target = line ?? section;
|
|
1022
|
+
target?.focus({ preventScroll: true });
|
|
1023
|
+
target?.scrollIntoView({ block: 'center' });
|
|
1024
|
+
});
|
|
981
1025
|
};
|
|
982
1026
|
const analysisGroups = review?.analysis ? [
|
|
983
1027
|
{ label: '影響', items: review.analysis.impact },
|
|
@@ -995,11 +1039,11 @@ window.__ModuleLoader__.load({
|
|
|
995
1039
|
] })] }),
|
|
996
1040
|
...(state.mode === 'turn' ? [jsxs('label', { children: ['ターン差分', jsx('select', { value: String(state.turnSeq ?? ''), onChange: (event) => controller.change(sessionId, { turnSeq: event.target.value === '' ? undefined : Number(event.target.value) }),
|
|
997
1041
|
children: [jsx('option', { value: '', children: '選択' }), ...state.turns.map(seq => jsx('option', { value: String(seq), children: `seq ${seq}` }, seq))] })] }, 'turn')] : []),
|
|
998
|
-
jsx('button', { type: 'button', disabled: state.busy || state.loading || state.mode === 'turn' && state.turnSeq === undefined, onClick: () => void controller.capture(sessionId), children: review ? '取得し直す' : '差分を取得' }),
|
|
999
|
-
review ? jsx('button', { type: 'button', disabled: state.busy, onClick: () => void controller.refreshReview(sessionId, review.reviewId), children: '
|
|
1042
|
+
jsx('button', { type: 'button', disabled: state.busy || state.loading || state.cancelling || review?.state === 'analyzing' || state.mode === 'turn' && state.turnSeq === undefined, onClick: () => void controller.capture(sessionId), children: review ? '取得し直す' : '差分を取得' }),
|
|
1043
|
+
review ? jsx('button', { type: 'button', disabled: state.loading || state.cancelling || state.busy && review.state !== 'analyzing', onClick: () => void controller.refreshReview(sessionId, review.reviewId), children: '状態を確認' }) : null,
|
|
1000
1044
|
] }),
|
|
1001
1045
|
state.untracked.length ? jsxs('fieldset', { children: [jsx('legend', { children: '未追跡ファイル(明示選択)' }), ...state.untracked.map(path => jsxs('label', { children: [jsx('input', { type: 'checkbox', checked: state.selectedUntracked.includes(path), onChange: () => controller.change(sessionId, { selectedUntracked: state.selectedUntracked.includes(path) ? state.selectedUntracked.filter(item => item !== path) : [...state.selectedUntracked, path] }) }), path] }, path))] }) : null,
|
|
1002
|
-
jsx('p', { role: 'status', 'aria-live': 'polite', children: state.loading ? '確認中' : state.busy ? '処理中' : state.error || (state.availability === 'repo_unavailable' ? 'Git リポジトリを確認できません' : '') }),
|
|
1046
|
+
jsx('p', { role: 'status', 'aria-live': 'polite', children: state.cancelling ? '分析を停止中' : state.loading ? '確認中' : state.busy ? '処理中' : state.error || (state.availability === 'repo_unavailable' ? 'Git リポジトリを確認できません' : '') }),
|
|
1003
1047
|
review ? jsxs(Fragment, { children: [
|
|
1004
1048
|
jsx('p', { children: `${review.snapshot.capturedAt} / ${review.snapshot.mode} / ${REVIEW_STATES[review.state] ?? review.state} / 鮮度: ${REVIEW_FRESHNESS[review.freshness] ?? review.freshness}` }),
|
|
1005
1049
|
jsx('p', { children: `文脈: ${REVIEW_CONTEXT_SOURCES[review.context.source] ?? review.context.source} / メモリ: ${REVIEW_MEMORY_STATES[review.context.memory] ?? review.context.memory}${review.context.reason ? ` (${review.context.reason})` : ''}` }),
|
|
@@ -1009,13 +1053,23 @@ window.__ModuleLoader__.load({
|
|
|
1009
1053
|
jsx('p', { children: `変更ファイル: ${review.snapshot.files.length} / ${review.snapshot.totalFiles}` }),
|
|
1010
1054
|
review.snapshot.totalFiles > review.snapshot.files.length ? jsx('p', { role: 'status', children: `${review.snapshot.totalFiles - review.snapshot.files.length} 件は取得上限で未収集です。全体リスクは未確定です。` }) : null,
|
|
1011
1055
|
jsx('p', { children: `送信対象: ${state.selected.length} ファイル / ${review.snapshot.files.filter(file => file.kind !== 'text').length} ファイルはテキスト分析対象外` }),
|
|
1056
|
+
!reviewMatchesSelection ? jsx('p', { role: 'status', children: '比較対象を変更しました。「取得し直す」で新しい差分を確認してください。' }) : null,
|
|
1057
|
+
!state.selected.length ? jsx('p', { role: 'status', children: review.snapshot.files.some(file => file.kind === 'text')
|
|
1058
|
+
? '分析するテキストファイルを変更ファイル一覧で選択してください。' : '分析できるテキストファイルがありません。差分は引き続き確認できます。' }) : null,
|
|
1012
1059
|
jsxs('div', { className: 'kiokuko-review-analysis-controls', children: [
|
|
1013
|
-
jsxs('label', { children: ['モデル', jsx('select', { value: state.modelKey, onChange: (event) => controller.change(sessionId, { modelKey: event.target.value }),
|
|
1060
|
+
jsxs('label', { children: ['モデル', jsx('select', { value: state.modelKey, disabled: state.busy || state.loading || state.cancelling, onChange: (event) => controller.change(sessionId, { modelKey: event.target.value }),
|
|
1014
1061
|
children: [jsx('option', { value: '', children: '選択' }), ...state.models.map(item => jsx('option', { value: JSON.stringify([item.provider, item.model]), children: `${item.provider}/${item.model}` }, `${item.provider}:${item.model}`))] })] }),
|
|
1015
|
-
jsxs('label', { children: ['レビューの目的(任意)', jsx('textarea', { value: state.purpose, maxLength: 4000, onChange: (event) => controller.change(sessionId, { purpose: event.target.value }) })] }),
|
|
1016
|
-
jsx('button', { type: 'button', disabled: state.busy || !state.selected.length || !state.modelKey, onClick: () => void controller.analyze(sessionId), children: '分析する' }),
|
|
1017
|
-
review.state === 'analyzing' ? jsx('button', { type: 'button', onClick: () => void controller.cancel(sessionId, review.reviewId), children: '停止' }) : null,
|
|
1062
|
+
jsxs('label', { children: ['レビューの目的(任意)', jsx('textarea', { value: state.purpose, disabled: state.busy || state.loading || state.cancelling, maxLength: 4000, onChange: (event) => controller.change(sessionId, { purpose: event.target.value }) })] }),
|
|
1063
|
+
jsx('button', { type: 'button', disabled: state.busy || state.loading || state.cancelling || review.state === 'analyzing' || !reviewMatchesSelection || !state.selected.length || !state.modelKey, onClick: () => void controller.analyze(sessionId), children: '分析する' }),
|
|
1064
|
+
review.state === 'analyzing' ? jsx('button', { type: 'button', disabled: state.cancelling, onClick: () => void controller.cancel(sessionId, review.reviewId), children: state.cancelling ? '停止中' : '停止' }) : null,
|
|
1018
1065
|
] }),
|
|
1066
|
+
!state.models.length && !state.loading ? jsxs('p', { role: 'status', children: [
|
|
1067
|
+
state.modelAvailability === 'no_models' ? '登録済みモデルがありません。DSH のモデル設定を確認してください。'
|
|
1068
|
+
: state.modelAvailability === 'catalog_error' ? 'モデル一覧を取得できませんでした。'
|
|
1069
|
+
: state.modelAvailability === 'service_unavailable' ? 'モデルサービスを利用できません。DSH の接続を確認してください。'
|
|
1070
|
+
: 'モデル一覧を確認できません。DSH の接続とモデル設定を確認してください。',
|
|
1071
|
+
' ', jsx('button', { type: 'button', disabled: state.busy || state.cancelling, onClick: () => void controller.load(sessionId), children: 'モデルを再取得' }),
|
|
1072
|
+
] }) : null,
|
|
1019
1073
|
jsx('button', { type: 'button', className: 'kiokuko-review-list-toggle', onClick: () => {
|
|
1020
1074
|
controller.change(sessionId, { fileListOpen: !state.fileListOpen });
|
|
1021
1075
|
requestAnimationFrame(() => document.getElementById(`kiokuko-review-${review.reviewId}-${state.fileListOpen ? 'detail' : 'files'}`)?.focus());
|
|
@@ -1082,7 +1136,7 @@ window.__ModuleLoader__.load({
|
|
|
1082
1136
|
const style = document.createElement('style');
|
|
1083
1137
|
style.dataset.pluginCss = 'kiokuko-diff-review';
|
|
1084
1138
|
style.textContent = `.kiokuko-review-fallback{width:min(1000px,95vw);height:min(85vh,900px);padding:8px;box-sizing:border-box}.kiokuko-review{box-sizing:border-box;height:100%;overflow:auto;padding:12px;color:var(--dsw-alias-label-primary,CanvasText);background:var(--dsw-alias-background-primary,Canvas);font:13px/1.5 var(--dsw-font-family,system-ui)}.kiokuko-review h2{margin:0 0 12px;font-size:17px}.kiokuko-review h3{font-size:14px}.kiokuko-review button,.kiokuko-review select,.kiokuko-review textarea{font:inherit;color:inherit;background:transparent;border:1px solid var(--dsw-alias-border-l4,#888);border-radius:6px;padding:6px;min-height:36px}.kiokuko-review button{cursor:pointer}.kiokuko-review button:disabled{opacity:.55;cursor:default}.kiokuko-review :focus-visible{outline:2px solid Highlight;outline-offset:2px}.kiokuko-review-controls,.kiokuko-review-analysis-controls,.kiokuko-review-exports{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin:8px 0}.kiokuko-review label{display:flex;flex-direction:column;gap:3px}.kiokuko-review fieldset label{display:inline-flex;flex-direction:row;align-items:center;margin:4px 8px}.kiokuko-review-main{display:grid;grid-template-columns:minmax(130px,32%) minmax(0,1fr);gap:10px;min-width:0}.kiokuko-review-main nav{overflow:auto;min-width:0;max-height:55vh}.kiokuko-review-main article{overflow:auto;min-width:0}.kiokuko-review-file-row{display:flex;align-items:center;overflow-wrap:anywhere}.kiokuko-review-file-row button{text-align:left;border:0;overflow-wrap:anywhere}.kiokuko-review-file-row button[aria-current=true]{font-weight:700;text-decoration:underline}.kiokuko-review-diff pre{font:12px/1.4 ui-monospace,monospace;overflow:auto;white-space:pre}.kiokuko-review-diff .added{background:color-mix(in srgb,green 15%,transparent)}.kiokuko-review-diff .removed{background:color-mix(in srgb,red 15%,transparent)}.kiokuko-review-exports a{color:inherit;text-decoration:underline}@media(max-width:600px){.kiokuko-review-main{grid-template-columns:1fr}.kiokuko-review-main nav{max-height:180px}}`;
|
|
1085
|
-
style.textContent += '.kiokuko-review{container-type:inline-size}.kiokuko-review-list-toggle{display:none}@container (max-width:
|
|
1139
|
+
style.textContent += '.kiokuko-review{container-type:inline-size}.kiokuko-review-list-toggle{display:none}.kiokuko-review-analysis-controls label:first-child{flex:1 1 160px;min-width:0;max-width:100%}.kiokuko-review-analysis-controls label:nth-child(2){flex:2 1 220px;min-width:0;max-width:100%}.kiokuko-review-analysis-controls select,.kiokuko-review-analysis-controls textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.kiokuko-review-diff [tabindex="-1"]:focus{outline:2px solid Highlight;outline-offset:2px}@container (max-width:800px){.kiokuko-review-main{grid-template-columns:minmax(0,1fr)}.kiokuko-review-list-toggle{display:block}.kiokuko-review-main[data-list-open=false] nav{display:none}.kiokuko-review-main[data-list-open=true] article{display:none}}';
|
|
1086
1140
|
document.head.appendChild(style);
|
|
1087
1141
|
return () => style.remove();
|
|
1088
1142
|
}
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@ export declare class DiffReviewController {
|
|
|
31
31
|
binding(sessionId: string): Promise<ReviewSessionBinding>;
|
|
32
32
|
availability(sessionId: string): Promise<{
|
|
33
33
|
availability: 'available' | 'repo_unavailable';
|
|
34
|
+
modelAvailability: 'available' | 'no_models' | 'service_unavailable' | 'catalog_error';
|
|
34
35
|
models: {
|
|
35
36
|
provider: string;
|
|
36
37
|
model: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/diff-review/controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAA;AACtF,OAAO,EAAkD,KAAK,uBAAuB,EAAE,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACpL,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAClE,OAAO,EAAa,KAAK,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3F,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE/E,OAAO,EAAkE,KAAK,UAAU,EAAqB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AAEjJ,MAAM,WAAW,YAAa,SAAQ,SAAS,EAAE,cAAc;IAAG,aAAa,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACxG,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;IAC7C,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,WAAW,CAAC,EAAE,uBAAuB,CAAA;IACrC,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,gBAAgB,CAAC,EAAE,aAAa,CAAA;IAChC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,eAAe,CAAA;CAC1B;AAID,qBAAa,oBAAoB;IAKnB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAc,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAgB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAJ1G,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6I;IACtK,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0D;IACnF,OAAO,CAAC,MAAM,CAAQ;gBACO,IAAI,EAAE,UAAU,EAAmB,MAAM,EAAE,YAAY,EAAmB,GAAG,GAAE,MAAM,MAAiB;IAE7H,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAKzD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,WAAW,GAAG,kBAAkB,CAAC;QAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/diff-review/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ export class DiffReviewController {
|
|
|
31
31
|
}
|
|
32
32
|
catch (error) {
|
|
33
33
|
if (error instanceof DiffReviewError && error.code === 'repo_unavailable')
|
|
34
|
-
return { availability: 'repo_unavailable', models: [], untracked: [], turns: [] };
|
|
34
|
+
return { availability: 'repo_unavailable', modelAvailability: 'service_unavailable', models: [], untracked: [], turns: [] };
|
|
35
35
|
throw error;
|
|
36
36
|
}
|
|
37
37
|
const git = this.host.subprocess ? new GitReader(this.host.subprocess, binding.repositoryRoot, this.limits) : undefined;
|
|
@@ -40,15 +40,20 @@ export class DiffReviewController {
|
|
|
40
40
|
const live = this.host.sessions?.get(sessionId);
|
|
41
41
|
const turns = live?.snapshotEvents?.().filter(event => event.type === 'workspace/changes').map(event => event.seq).slice(-20).reverse() ?? [];
|
|
42
42
|
let models = [];
|
|
43
|
+
let modelAvailability = 'service_unavailable';
|
|
43
44
|
if (this.host.catalog && this.host.llm) {
|
|
44
45
|
try {
|
|
45
|
-
|
|
46
|
+
const catalog = await readModelCatalog(this.host.catalog);
|
|
47
|
+
models = catalog.models.map(item => ({ provider: item.provider, model: item.id }));
|
|
48
|
+
modelAvailability = models.length ? 'available' : catalog.failures.length ? 'catalog_error' : 'no_models';
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
modelAvailability = 'catalog_error';
|
|
46
52
|
}
|
|
47
|
-
catch { /* facts remain available without the model catalog */ }
|
|
48
53
|
}
|
|
49
54
|
this.prune();
|
|
50
55
|
const latest = [...this.reviews.values()].reverse().find(item => item.binding.sessionId === sessionId && item.binding.workspace === binding.workspace && item.binding.repositoryRoot === binding.repositoryRoot);
|
|
51
|
-
return { availability: available ? 'available' : 'repo_unavailable', models, untracked, turns, ...(latest ? { review: structuredClone(latest.review) } : {}) };
|
|
56
|
+
return { availability: available ? 'available' : 'repo_unavailable', modelAvailability, models, untracked, turns, ...(latest ? { review: structuredClone(latest.review) } : {}) };
|
|
52
57
|
}
|
|
53
58
|
prune() {
|
|
54
59
|
for (const [id, item] of this.reviews)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/diff-review/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,OAAO,EAAE,gBAAgB,EAAwB,MAAM,+BAA+B,CAAA;AACtF,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAqF,MAAM,kCAAkC,CAAA;AACpL,OAAO,EAAE,aAAa,EAAuB,MAAM,eAAe,CAAA;AAClE,OAAO,EAAE,SAAS,EAA0C,MAAM,yBAAyB,CAAA;AAC3F,OAAO,EAAE,iBAAiB,EAAsB,MAAM,yBAAyB,CAAA;AAC/E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,EAAE,cAAc,EAAuD,MAAM,aAAa,CAAA;AAejJ,MAAM,OAAO,oBAAoB;IAKF;IAAmC;IAAuC;IAJtF,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAA;IACzC,QAAQ,GAAG,IAAI,GAAG,EAAmI,CAAA;IACrJ,QAAQ,GAAG,IAAI,GAAG,EAAgD,CAAA;IAC3E,MAAM,GAAG,KAAK,CAAA;IACtB,YAA6B,IAAgB,EAAmB,MAAoB,EAAmB,MAAoB,IAAI,CAAC,GAAG;QAAtG,SAAI,GAAJ,IAAI,CAAY;QAAmB,WAAM,GAAN,MAAM,CAAc;QAAmB,QAAG,GAAH,GAAG,CAAyB;IAAG,CAAC;IAEvI,KAAK,CAAC,OAAO,CAAC,SAAiB;QAC7B,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAA;QACtE,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IACtG,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB;QAClC,IAAI,OAA6B,CAAA;QACjC,IAAI,CAAC;YAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAAC,CAAC;QAC/C,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,eAAe,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB;gBAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;YAC5J,MAAM,KAAK,CAAA;QACb,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACvH,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACjF,MAAM,SAAS,GAAG,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/K,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAA2E,CAAA;QACzH,MAAM,KAAK,GAAG,IAAI,EAAE,cAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAA;QAC7I,IAAI,MAAM,GAA0C,EAAE,CAAA;QACtD,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACvC,IAAI,CAAC;gBAAC,MAAM,GAAG,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;YAAC,CAAC;YAC9H,MAAM,CAAC,CAAC,sDAAsD,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,OAAO,CAAC,cAAc,CAAC,CAAA;QAChN,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IAChK,CAAC;IAEO,KAAK;QACX,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC9G,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACrH,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa;gBAAE,MAAK;YAC7C,IAAI,IAAI,CAAC,IAAI;gBAAE,SAAQ;YACvB,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;YACvD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACzB,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAClI,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAClH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB,EAAE,QAAgB;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACvC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,eAAe,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;QAC3D,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS;YAAE,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;QAC9M,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1E,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;gBACvF,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC,CAAA;gBAC1E,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,WAAW,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;YACjK,CAAC;YAAC,MAAM,CAAC;gBAAC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;YAAC,CAAC;QAC/C,CAAC;QACD,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,QAAgB,EAAE,MAAc;QACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;QACvE,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1K,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAA;QACzD,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC/F,IAAI,CAAC,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;QACpH,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC7E,OAAO,+BAA+B,kBAAkB,CAAC,SAAS,CAAC,IAAI,WAAW,EAAE,CAAA;IACtF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAoH;QAChI,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACnD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QACpG,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,EAAE,CAAA;QACnD,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;gBAAE,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAA;YACnF,OAAO,eAAe,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;QAC3C,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAA;QACzJ,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrG,MAAM,IAAI,eAAe,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;QACxD,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAA;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1D,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,SAA+B,EAAE,CAAA;QAC5G,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC7B,IAAI,CAAC;YAAC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;YAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAAC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAA;QAAC,CAAC;QACnG,OAAO,KAAK,EAAE,CAAC;YAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAAC,MAAM,KAAK,CAAA;QAAC,CAAC;IAC1D,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,OAA6B,EAAE,KAAiG,EAAE,MAAmB;QAC5K,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;QACrD,IAAI,MAA8B,EAAE,KAA4B,EAAE,UAAkB,CAAA;QACpF,IAAI,OAA2B,EAAE,WAA+B,EAAE,UAA8B,EAAE,SAA6B,CAAA;QAC/H,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;gBAAE,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAA;YACpF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACjJ,MAAM,GAAG,aAAa,CAAC;YAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;YAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;QACvI,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;YAC5E,MAAM,MAAM,GAAG,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;YAC1I,MAAM,GAAG,aAAa,CAAC;YAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;YAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;QACrI,CAAC;QACD,MAAM,IAAI,GAAqC,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI;YAC7G,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,UAAU;YACpH,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5I,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK;YAC7F,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAA;QAC9F,MAAM,QAAQ,GAAiB,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAA;QAC5E,IAAI,OAAO,CAAA;QACX,IAAI,CAAC;YAAC,OAAO,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAAC,CAAC;QAC5E,MAAM,CAAC;YAAC,OAAO,GAAG,EAAE,MAAM,EAAE,aAAsB,EAAE,MAAM,EAAE,aAAsB,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAA;QAAC,CAAC;QACnI,MAAM,MAAM,GAAe,EAAE,aAAa,EAAE,qBAAqB,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS;YACrH,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE;YACpI,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;QACnF,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;QAC9E,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;YACxH,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA;QAC/C,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAuL;QACnM,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAE,CAAA;QAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAC5C,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,EAAE,CAAA;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;gBAAE,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAA;YAC7H,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACrC,CAAC;QACD,IAAI,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,eAAe,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;QACrE,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1H,MAAM,IAAI,eAAe,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;QACxD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM;YAAE,MAAM,IAAI,eAAe,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;QACzF,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,eAAe,CAAC,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC;YAC/L,MAAM,IAAI,eAAe,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAA;QACtH,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAA;QAC3G,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAA;QAC7F,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAA;QACrJ,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;YAClG,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;gBAAE,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAA;QACrI,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;YAC5F,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU;gBAAE,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAA;YAC9H,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;QAC/B,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YAAE,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;gBACvE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAA;QACnI,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAA;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;QAC9E,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;YACjI,MAAM,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAA;QACxI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC5D,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,eAAe,EAC3H,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;;YAAM,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA,CAAC,CAAC,CAAC;aAClK,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAA,CAAC,CAAC,CAAC;aACnL,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA,CAAC,CAAC,CAAC,CAAA;QACnE,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,QAAgB;QAC9C,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAA;QACxC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAA;QACnB,IAAI,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,CAAC,IAAI,CAAA;QAC9B,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QACvC,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QAC5C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QACzC,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC9F,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACpE,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/diff-review/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../../src/dsh/answer-review/evidence.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+C,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE9F,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../../src/dsh/answer-review/evidence.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+C,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE9F,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyB7G"}
|
|
@@ -16,10 +16,15 @@ export function answerReviewInput(task, events, turn, startSeq) {
|
|
|
16
16
|
return { skipped: 'no_text_answer' };
|
|
17
17
|
const calls = new Set(owned.filter(event => event.type === 'tool/call' && event.seq < candidate.seq).map(event => event.data?.callId));
|
|
18
18
|
const evidence = owned.filter(event => event.type === 'tool/result' && event.seq < candidate.seq).map(event => {
|
|
19
|
-
const
|
|
20
|
-
|
|
19
|
+
const message = event.data?.message, blocks = message?.content;
|
|
20
|
+
const legacy = Array.isArray(blocks) && blocks.length > 0 && blocks.every(block => block.type === 'tool-result'
|
|
21
|
+
&& calls.has(block.toolCallId) && (message.source?.callId === undefined || message.source?.callId === block.toolCallId));
|
|
22
|
+
const current = message?.role === 'tool' && message?.source?.kind === 'tool'
|
|
23
|
+
&& message.toolCallId === message.source.callId && calls.has(message.toolCallId)
|
|
24
|
+
&& Array.isArray(blocks) && blocks.length > 0 && blocks.every(block => block.type === 'text' && typeof block.text === 'string');
|
|
25
|
+
if (!legacy && !current)
|
|
21
26
|
throw new Error('Unbound tool evidence');
|
|
22
|
-
return { seq: event.seq, result:
|
|
27
|
+
return { seq: event.seq, result: message };
|
|
23
28
|
});
|
|
24
29
|
const unassessed = evidence.length === 0 ? ['grounding', 'verification'] : [];
|
|
25
30
|
const questions = answerReviewQuestions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../../src/dsh/answer-review/evidence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAoB,MAAM,gBAAgB,CAAA;AAE9F,8FAA8F;AAC9F,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,MAA8B,EAAE,IAAY,EAAE,QAAgB;IAC5G,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,CAAA;IAC3H,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;IACzE,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,KAAK,WAAW;QAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAW,CAAA;IAChG,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;IAC/G,MAAM,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAA;IACjD,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAW,CAAA;IACtK,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAW,CAAA;IACjE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IACtI,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC5G,MAAM,
|
|
1
|
+
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../../src/dsh/answer-review/evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,10 @@ export interface DshNativeTurnStoppingPayload {
|
|
|
48
48
|
export interface DshCompositionHost {
|
|
49
49
|
readonly diffReview?: DiffReviewController;
|
|
50
50
|
readonly decisions?: DecisionService;
|
|
51
|
+
readonly modelAuto?: {
|
|
52
|
+
readonly coordinator: import('./model-auto/coordinator.js').ModelAutoCoordinator;
|
|
53
|
+
readonly validSession: (agentId: string, sessionId: string) => boolean;
|
|
54
|
+
};
|
|
51
55
|
readonly semanticCompaction?: SemanticCompactionCoordinator;
|
|
52
56
|
readonly skillPrompts?: DshSkillPrompts;
|
|
53
57
|
readonly configureSkillPrompts?: (prompts: DshSkillPrompts) => void;
|