kiokuko-dsh 0.1.31 → 0.1.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ja.md CHANGED
@@ -11,14 +11,14 @@ OrcaReplay でモデル・ツールの動作を記録し、内容の確認と HT
11
11
 
12
12
  対応 DSH: `0.1.2-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
- インストール済みの `dsh` CLI で、公開済み npm パッケージを導入して起動します。
14
+ DSH のソースディレクトリで、公開済み npm パッケージを導入して起動します。
15
15
 
16
16
  ```bash
17
- dsh plugin --profile web add kiokuko-dsh
18
- dsh web
17
+ pnpm dsh plugin --profile web add kiokuko-dsh
18
+ pnpm dsh web
19
19
  ```
20
20
 
21
- DSH の checkout から使う場合は、各 `dsh` コマンドの先頭に `pnpm` を付けます。
21
+ グローバルにインストールした `dsh` CLI を使う場合は、各コマンドから `pnpm` を外してください。
22
22
  起動後は普通に依頼を入力します。Kiokuko 専用の setup 操作は不要です。
23
23
  GitHub・ローカルからの導入は [プラグインガイド](docs/dsh-plugin.md) を参照してください。
24
24
 
@@ -26,7 +26,7 @@ OrcaReplay の機能設定は自動導入され、**手動設定は不要**で
26
26
  「記録する」を選ぶと、その後のモデル応答やツール実行結果を作業プロジェクトの `.orca/runs/` に保存します。選択はセッションごとに保持され、スキップ・取消時は記録せず続行します。
27
27
 
28
28
  - `/kioku-orca start`: 手動で記録を開始、または停止後に再開します。最初に「記録する」を選んだ場合は実行不要です。過去の動作は記録されません。
29
- - `/kioku-orca status`: 機能の有効・無効、セッションの記録選択、記録状態・エラーを確認します。
29
+ - `/kioku-orca status`: 記録状態・保存先・次の操作を短く表示します。診断用の詳細情報は `/kioku-orca status --json` で確認できます。
30
30
 
31
31
  `/kioku-orca stop` でログを確定後、`list` で run ID を確認し、`show <run ID>` で内容を表示、`export <run ID>` で HTML を出力できます(いずれも `/kioku-orca` に続けて入力)。
32
32
  無効にする場合は `orca.enabled: false` を設定して再読み込みします。詳細は [記録設定とコマンド](docs/orca-recording.md) を参照してください。
@@ -36,15 +36,15 @@ OrcaReplay の機能設定は自動導入され、**手動設定は不要**で
36
36
  作業中のタスクを終えて DSH を停止してから更新します。npm 版の Kiokuko 本体の更新:
37
37
 
38
38
  ```bash
39
- dsh plugin --profile web update kiokuko-dsh --latest
39
+ pnpm dsh plugin --profile web update kiokuko-dsh --latest
40
40
  ```
41
41
 
42
42
  Orca の 0.3.0 などが公開された後、Orca 関連の依存を更新する場合:
43
43
 
44
44
  ```bash
45
- dsh plugin --profile web update --depth Infinity '@orcareplay/*'
46
- dsh plugin --profile web why @orcareplay/core
47
- dsh web
45
+ pnpm dsh plugin --profile web update --depth Infinity '@orcareplay/*'
46
+ pnpm dsh plugin --profile web why @orcareplay/core
47
+ pnpm dsh web
48
48
  ```
49
49
 
50
50
  導入済みの Kiokuko に `>=0.2.1` の依存指定が含まれていることが前提です。
package/README.ko.md CHANGED
@@ -11,14 +11,14 @@ OrcaReplay로 모델과 도구의 동작을 기록하고, 기록을 확인하거
11
11
 
12
12
  DSH `0.1.2-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
- 설치된 `dsh` CLI로 공개된 npm 패키지를 설치하고 시작합니다.
14
+ DSH 소스 디렉터리에서 다음 명령으로 공개된 npm 패키지를 설치하고 시작합니다.
15
15
 
16
16
  ```bash
17
- dsh plugin --profile web add kiokuko-dsh
18
- dsh web
17
+ pnpm dsh plugin --profile web add kiokuko-dsh
18
+ pnpm dsh web
19
19
  ```
20
20
 
21
- DSH 소스 디렉터리에서 실행한다면 각 `dsh` 명령 앞에 `pnpm`을 붙입니다.
21
+ 전역으로 설치한 `dsh` CLI를 사용한다면 각 명령에서 `pnpm`을 생략하세요.
22
22
  시작 후 평소처럼 작업을 입력하면 됩니다. Kiokuko 전용 setup 작업은 필요하지 않습니다.
23
23
  GitHub 및 로컬 설치 방법은 [플러그인 안내](docs/dsh-plugin.md)를 참고하세요.
24
24
 
@@ -26,7 +26,7 @@ OrcaReplay 기능은 자동으로 설정되며 **수동 설정이 필요 없습
26
26
  기록을 선택하면 이후 모델 응답과 도구 실행 결과가 세션 작업 공간의 `.orca/runs/`에 저장됩니다. 선택은 세션별로 유지되며, 건너뛰거나 취소하면 기록 없이 채팅을 계속합니다.
27
27
 
28
28
  - `/kioku-orca start`: 기록을 수동으로 시작하거나 중지 후 다시 시작합니다. 시작 시 기록을 선택했다면 실행할 필요가 없습니다. 과거 동작은 기록되지 않습니다.
29
- - `/kioku-orca status`: 기능 활성화 여부, 세션의 기록 선택, 기록 상태와 오류를 확인합니다.
29
+ - `/kioku-orca status`: 기록 상태, 저장 위치와 다음 동작을 간단히 표시합니다. 진단용 상세 정보는 `/kioku-orca status --json`으로 확인할 수 있습니다.
30
30
 
31
31
  `/kioku-orca stop`으로 로그를 확정한 뒤 `list`로 run ID를 확인하고, `show <run ID>`로 내용을 보거나 `export <run ID>`로 HTML을 내보낼 수 있습니다(모두 `/kioku-orca` 뒤에 입력).
32
32
  기록을 끄려면 `orca.enabled: false`를 설정하고 다시 로드하세요. 자세한 내용은 [기록 설정과 명령](docs/orca-recording.md)을 참고하세요.
@@ -36,15 +36,15 @@ OrcaReplay 기능은 자동으로 설정되며 **수동 설정이 필요 없습
36
36
  진행 중인 작업을 마치고 DSH를 종료한 뒤 업데이트합니다. npm으로 설치한 Kiokuko 업데이트:
37
37
 
38
38
  ```bash
39
- dsh plugin --profile web update kiokuko-dsh --latest
39
+ pnpm dsh plugin --profile web update kiokuko-dsh --latest
40
40
  ```
41
41
 
42
42
  Orca 0.3.0 등 새 버전이 공개된 후 Orca 관련 의존 패키지를 업데이트하려면:
43
43
 
44
44
  ```bash
45
- dsh plugin --profile web update --depth Infinity '@orcareplay/*'
46
- dsh plugin --profile web why @orcareplay/core
47
- dsh web
45
+ pnpm dsh plugin --profile web update --depth Infinity '@orcareplay/*'
46
+ pnpm dsh plugin --profile web why @orcareplay/core
47
+ pnpm dsh web
48
48
  ```
49
49
 
50
50
  설치된 Kiokuko에 `>=0.2.1` 의존 범위가 포함되어 있어야 합니다. 이 범위는 정식 0.3.0 이후 버전을
package/README.md CHANGED
@@ -12,14 +12,14 @@ For new coding tasks, choose normal execution or 役小角(enno-oduno). Enno off
12
12
 
13
13
  Supports DSH `0.1.2-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
14
  Requires Node.js **24.16.0+** and pnpm.
15
- With an installed `dsh` CLI, install the published npm package and start:
15
+ Run these commands from the DSH source directory to install the published npm package and start:
16
16
 
17
17
  ```bash
18
- dsh plugin --profile web add kiokuko-dsh
19
- dsh web
18
+ pnpm dsh plugin --profile web add kiokuko-dsh
19
+ pnpm dsh web
20
20
  ```
21
21
 
22
- From a DSH checkout, prefix each `dsh` command with `pnpm`.
22
+ If you use a globally installed `dsh` CLI, omit `pnpm` from the commands.
23
23
  Enter your task normally; no Kiokuko setup command is needed.
24
24
  For GitHub/local installation, see the [plugin guide](docs/dsh-plugin.md).
25
25
 
@@ -27,7 +27,7 @@ OrcaReplay is configured automatically; **no manual setup is required**. At the
27
27
  Choosing to record saves subsequent model responses and tool results to `.orca/runs/` in the session workspace. The choice is remembered per session; skipped or cancelled questions continue without recording.
28
28
 
29
29
  - `/kioku-orca start`: start recording manually or resume after stopping. Not needed if you chose to record at the start; past activity is not captured.
30
- - `/kioku-orca status`: check feature availability, the session recording choice, recording state, and errors.
30
+ - `/kioku-orca status`: briefly show the recording state, storage location, and next action. Use `/kioku-orca status --json` for diagnostic details.
31
31
 
32
32
  Use `/kioku-orca stop` to finalize the log, `list` to find its run ID, `show <run ID>` to inspect it, and `export <run ID>` to create HTML (all under `/kioku-orca`).
33
33
  To disable recording, set `orca.enabled: false` and reload. See [recording settings and commands](docs/orca-recording.md).
@@ -37,15 +37,15 @@ To disable recording, set `orca.enabled: false` and reload. See [recording setti
37
37
  Finish active tasks and stop DSH before updating. Update the npm-installed plugin:
38
38
 
39
39
  ```bash
40
- dsh plugin --profile web update kiokuko-dsh --latest
40
+ pnpm dsh plugin --profile web update kiokuko-dsh --latest
41
41
  ```
42
42
 
43
43
  To update Orca dependencies after a release such as 0.3.0:
44
44
 
45
45
  ```bash
46
- dsh plugin --profile web update --depth Infinity '@orcareplay/*'
47
- dsh plugin --profile web why @orcareplay/core
48
- dsh web
46
+ pnpm dsh plugin --profile web update --depth Infinity '@orcareplay/*'
47
+ pnpm dsh plugin --profile web why @orcareplay/core
48
+ pnpm dsh web
49
49
  ```
50
50
 
51
51
  The installed Kiokuko must include the `>=0.2.1` dependency range. It permits
package/README.zh-CN.md CHANGED
@@ -11,14 +11,14 @@ OrcaReplay 可记录模型和工具活动,查看记录并导出 HTML。
11
11
 
12
12
  支持 DSH `0.1.2-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
- 使用已安装的 `dsh` CLI 安装已发布的 npm 包并启动:
14
+ DSH 源码目录中运行以下命令,安装已发布的 npm 包并启动:
15
15
 
16
16
  ```bash
17
- dsh plugin --profile web add kiokuko-dsh
18
- dsh web
17
+ pnpm dsh plugin --profile web add kiokuko-dsh
18
+ pnpm dsh web
19
19
  ```
20
20
 
21
- DSH 源码目录运行时,在每条 `dsh` 命令前加上 `pnpm`。
21
+ 如果使用全局安装的 `dsh` CLI,请省略各命令中的 `pnpm`。
22
22
  启动后直接输入任务,无需额外的 Kiokuko setup 操作。
23
23
  GitHub 和本地安装方式见[插件指南](docs/dsh-plugin.md)。
24
24
 
@@ -26,7 +26,7 @@ OrcaReplay 的功能配置会自动安装,**无需手动设置**。聊天开
26
26
  选择记录后,后续模型回复和工具执行结果将保存到会话工作目录的 `.orca/runs/`。选择按会话保存;跳过或取消时,不记录并继续聊天。
27
27
 
28
28
  - `/kioku-orca start`:手动开始记录,或在停止后重新开始。如果开始时已选择记录,则无需执行。不会补录过去的活动。
29
- - `/kioku-orca status`:查看功能是否启用、会话的记录选择、记录状态和错误。
29
+ - `/kioku-orca status`:简要显示记录状态、保存位置和下一步操作。诊断详情可用 `/kioku-orca status --json` 查看。
30
30
 
31
31
  用 `/kioku-orca stop` 完成日志记录后,用 `list` 查看 run ID、`show <run ID>` 查看内容、`export <run ID>` 导出 HTML(均在 `/kioku-orca` 后输入)。
32
32
  要禁用记录,请设置 `orca.enabled: false` 并重新加载。详见[记录设置与命令](docs/orca-recording.md)。
@@ -36,15 +36,15 @@ OrcaReplay 的功能配置会自动安装,**无需手动设置**。聊天开
36
36
  先完成正在执行的任务并停止 DSH。更新通过 npm 安装的 Kiokuko:
37
37
 
38
38
  ```bash
39
- dsh plugin --profile web update kiokuko-dsh --latest
39
+ pnpm dsh plugin --profile web update kiokuko-dsh --latest
40
40
  ```
41
41
 
42
42
  Orca 发布 0.3.0 等新版本后,更新 Orca 相关依赖:
43
43
 
44
44
  ```bash
45
- dsh plugin --profile web update --depth Infinity '@orcareplay/*'
46
- dsh plugin --profile web why @orcareplay/core
47
- dsh web
45
+ pnpm dsh plugin --profile web update --depth Infinity '@orcareplay/*'
46
+ pnpm dsh plugin --profile web why @orcareplay/core
47
+ pnpm dsh web
48
48
  ```
49
49
 
50
50
  已安装的 Kiokuko 必须包含 `>=0.2.1` 依赖范围。该范围允许正式版 0.3.0 及后续版本,
@@ -1 +1 @@
1
- {"version":3,"file":"orca-command-surface.d.ts","sourceRoot":"","sources":["../../src/dsh/orca-command-surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAE9D,OAAO,EAAa,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErE,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,yBAAyB,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,MAAM,IAAI,CA+BhI"}
1
+ {"version":3,"file":"orca-command-surface.d.ts","sourceRoot":"","sources":["../../src/dsh/orca-command-surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAE9D,OAAO,EAAa,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAGrE,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,yBAAyB,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,MAAM,IAAI,CAuChI"}
@@ -1,10 +1,11 @@
1
1
  import { DshOrcaReadService } from './orca-read-service.js';
2
2
  import { OrcaError } from './orca-types.js';
3
+ import { formatDshOrcaStatus } from './orca-status-presentation.js';
3
4
  /** Human-only native command. No HTTP route or model tool is registered. */
4
5
  export function mountDshOrcaCommand(ctx, enabled, services) {
5
6
  const reader = services ? new DshOrcaReadService(services.config, services.withIndex) : undefined;
6
- return ctx.commands.register({ name: 'kioku-orca', description: 'Session recording: status | list | start | stop | show <run> [cursor] | export <run>',
7
- input: { hint: 'status | list | start | stop | show <run> [cursor] | export <run>' }, recordInput: false,
7
+ return ctx.commands.register({ name: 'kioku-orca', description: 'Session recording: status [--json] | list | start | stop | show <run> [cursor] | export <run>',
8
+ input: { hint: 'status [--json] | list | start | stop | show <run> [cursor] | export <run>' }, recordInput: false,
8
9
  handler: async (invocation) => {
9
10
  try {
10
11
  const agent = invocation.agent, session = agent?.session;
@@ -13,11 +14,15 @@ export function mountDshOrcaCommand(ctx, enabled, services) {
13
14
  const args = invocation.rawInput.trim().split(/\s+/u);
14
15
  const [action, runId, cursor] = args;
15
16
  if (!['status', 'list', 'start', 'stop', 'show', 'export'].includes(action ?? '')
16
- || args.length > (action === 'show' ? 3 : action === 'export' ? 2 : 1)
17
+ || args.length > (action === 'show' ? 3 : action === 'export' || action === 'status' ? 2 : 1)
18
+ || (action === 'status' && runId !== undefined && runId !== '--json')
17
19
  || ((action === 'show' || action === 'export') && !runId))
18
20
  throw new OrcaError('invalid_command');
19
21
  if (!enabled)
20
- return { kind: 'success', text: 'Orca recording: disabled. Enable orca.enabled in plugin configuration and reload.' };
22
+ return { kind: 'success', text: action === 'status'
23
+ ? runId === '--json' ? JSON.stringify({ capability: 'disabled' }, null, 2)
24
+ : 'OrcaReplay: 機能が無効です\n設定で orca.enabled を true にして DSH を再読み込みしてください。'
25
+ : 'Orca recording: disabled. Enable orca.enabled in plugin configuration and reload.' };
21
26
  if (!services || !reader)
22
27
  return { kind: 'error', text: 'Orca recording: unavailable (native session/index/shutdown services required).' };
23
28
  const binding = services.resolveSessionBinding(agent, session);
@@ -26,9 +31,11 @@ export function mountDshOrcaCommand(ctx, enabled, services) {
26
31
  const status = async () => ({ ...services.recorder.status(binding.sessionId), ...await services.sessionRecordingStatus(binding) });
27
32
  let result;
28
33
  switch (action) {
29
- case 'status':
30
- result = await status();
31
- break;
34
+ case 'status': {
35
+ const snapshot = await status();
36
+ return { kind: 'success', text: runId === '--json' ? JSON.stringify(snapshot, null, 2)
37
+ : formatDshOrcaStatus(snapshot, binding.storeRoot) };
38
+ }
32
39
  case 'list':
33
40
  result = await reader.list(binding);
34
41
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"orca-command-surface.js","sourceRoot":"","sources":["../../src/dsh/orca-command-surface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orca-command-surface.js","sourceRoot":"","sources":["../../src/dsh/orca-command-surface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { DshOrcaHostServices } from './orca-types.js';
2
+ type Status = ReturnType<DshOrcaHostServices['recorder']['status']> & Awaited<ReturnType<DshOrcaHostServices['sessionRecordingStatus']>>;
3
+ /** Present the current session first; retain internal diagnostics in status --json. */
4
+ export declare function formatDshOrcaStatus(status: Status, storeRoot: string): string;
5
+ export {};
6
+ //# sourceMappingURL=orca-status-presentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orca-status-presentation.d.ts","sourceRoot":"","sources":["../../src/dsh/orca-status-presentation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAE1D,KAAK,MAAM,GAAG,UAAU,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,GAC/D,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAA;AAEtE,uFAAuF;AACvF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CA2C7E"}
@@ -0,0 +1,56 @@
1
+ import { join } from 'node:path';
2
+ /** Present the current session first; retain internal diagnostics in status --json. */
3
+ export function formatDshOrcaStatus(status, storeRoot) {
4
+ const trace = status.trace;
5
+ const states = { starting: '記録を開始しています', recording: '記録中', finalizing: 'ログを保存しています',
6
+ completed: '記録完了', incomplete: '記録に欠落があります', failed: '記録に失敗しました' };
7
+ let title;
8
+ let next;
9
+ if (status.capability === 'disabled') {
10
+ title = '機能が無効です';
11
+ next = '設定で orca.enabled を true にして DSH を再読み込みしてください。';
12
+ }
13
+ else if (status.capability === 'unavailable') {
14
+ title = '記録機能を利用できません';
15
+ next = 'Kiokuko の導入状態を確認し、DSH を再起動してください。';
16
+ }
17
+ else if (status.persistenceFailed || status.selectionError === 'recording_choice_persistence_failed') {
18
+ title = '保存に失敗しました';
19
+ next = 'Kiokuko のデータ保存先の権限・空き容量を確認してください。';
20
+ }
21
+ else if (trace) {
22
+ title = states[trace.state];
23
+ next = trace.state === 'starting' || trace.state === 'recording'
24
+ ? '停止して保存: /kioku-orca stop'
25
+ : trace.state === 'finalizing' ? '保存完了後に /kioku-orca status で確認できます。'
26
+ : trace.state === 'completed' ? `HTML 出力: /kioku-orca export ${trace.orca_run_id}`
27
+ : '詳細: /kioku-orca status --json';
28
+ }
29
+ else if (status.sessionRecording === 'enabled') {
30
+ title = '記録待機中';
31
+ next = '次のモデル応答・ツール実行から記録します。停止: /kioku-orca stop';
32
+ }
33
+ else {
34
+ title = status.sessionRecording === 'disabled' ? '記録停止中' : '未開始(記録するか未選択)';
35
+ next = '記録を開始: /kioku-orca start';
36
+ }
37
+ const lines = [`OrcaReplay: ${title}`, next];
38
+ if (trace) {
39
+ lines.push(`保存先: ${join(trace.store_root, '.orca', 'runs', trace.orca_run_id)}`);
40
+ // The recorder finalizes event_count on close; zero during capture is not a measured count.
41
+ if (trace.ended_at !== null && trace.state !== 'failed')
42
+ lines.push(`記録済み: ${trace.event_count} イベント`);
43
+ if (trace.missing_event_count || trace.unresolved_call_count) {
44
+ lines.push(`欠落: ${trace.missing_event_count} 件 / 未完了の呼び出し: ${trace.unresolved_call_count} 件`);
45
+ }
46
+ }
47
+ else if (status.capability === 'available') {
48
+ lines.push(`保存先(記録開始後): ${join(storeRoot, '.orca', 'runs')}`);
49
+ }
50
+ if (status.selectionError === 'recording_question_unavailable')
51
+ lines.push('注意: 記録するかの確認を表示できませんでした。');
52
+ if (next !== '詳細: /kioku-orca status --json')
53
+ lines.push('詳細: /kioku-orca status --json');
54
+ return lines.join('\n');
55
+ }
56
+ //# sourceMappingURL=orca-status-presentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orca-status-presentation.js","sourceRoot":"","sources":["../../src/dsh/orca-status-presentation.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,7 @@ Use the native session's human command interface:
52
52
 
53
53
  ```text
54
54
  /kioku-orca status
55
+ /kioku-orca status --json
55
56
  /kioku-orca stop
56
57
  /kioku-orca list
57
58
  /kioku-orca show run_<id>
@@ -67,7 +68,11 @@ generation; it never reopens old events. `show`/`export` accept only
67
68
  completed traces from that native session and workspace. Cursors expire when the
68
69
  plugin reloads. Lists contain the most recent 200 generations.
69
70
 
70
- `status` distinguishes disabled, available and unavailable capability, trace
71
+ `status` shows a compact summary: recording state first, then the next command,
72
+ storage location and any missing observations. Internal diagnostics are omitted
73
+ from the default display. Use `status --json` for the full diagnostic snapshot.
74
+
75
+ The JSON snapshot distinguishes disabled, available and unavailable capability, trace
71
76
  state, missing/unresolved observations and index persistence failure.
72
77
  `sessionRecording` is `awaiting_choice`, `enabled` or `disabled`; `selectionError`
73
78
  reports unavailable questions or failed preference persistence. Feature capability
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kiokuko-dsh",
3
- "version": "0.1.31",
3
+ "version": "0.1.32",
4
4
  "description": "Kiokuko plugin for DeepSeek Harness",
5
5
  "type": "module",
6
6
  "license": "MIT",