openshain 0.7.0 → 0.8.0

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/dist/labels.js CHANGED
@@ -27,6 +27,8 @@ export const REJECTION_LABELS = {
27
27
  denied: "権限の表で不許可",
28
28
  rejected_by_person: "承認されなかった",
29
29
  path_changed: "承認したときと書き込み先が変わった",
30
+ base_changed: "承認したときからファイルが変わった",
31
+ not_read: "読まずに置き換えようとした",
30
32
  out_of_range: "範囲の外",
31
33
  };
32
34
  /** A heading for a runtime error, before the original message. */
@@ -312,7 +312,10 @@ export async function createController(options) {
312
312
  case "aborted":
313
313
  return stopped(result.work);
314
314
  case "max_tokens":
315
- return "返答が長さの上限で切れました。";
315
+ // The answer ran into the limit mid-sentence, so a work it opened holds nothing yet.
316
+ return result.work
317
+ ? `返答が長さの上限で切れました。${result.work} は途中のまま残っています。/work resume ${result.work} で続けられるようにします。一度に扱う量を分けて依頼すると、上限に当たらずに終わります。`
318
+ : "返答が長さの上限で切れました。";
316
319
  case "refusal":
317
320
  return "社員エージェントが続けられないと言っています。";
318
321
  case "model_error":
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openshain",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Reference CLI of the openshain agent harness",
5
5
  "keywords": [
6
6
  "openshain",
@@ -49,10 +49,10 @@
49
49
  },
50
50
  "dependencies": {
51
51
  "@modelcontextprotocol/sdk": "1.30.0",
52
- "@openshain/agent": "0.7.0",
53
- "@openshain/core": "0.7.0",
54
- "@openshain/mcp": "0.7.0",
55
- "@openshain/tools": "0.7.0",
52
+ "@openshain/agent": "0.8.0",
53
+ "@openshain/core": "0.8.0",
54
+ "@openshain/mcp": "0.8.0",
55
+ "@openshain/tools": "0.8.0",
56
56
  "ink": "7.1.1",
57
57
  "marked": "18.0.12",
58
58
  "react": "19.2.8"
package/src/labels.ts CHANGED
@@ -31,6 +31,8 @@ export const REJECTION_LABELS: Record<ToolRejectionCode, string> = {
31
31
  denied: "権限の表で不許可",
32
32
  rejected_by_person: "承認されなかった",
33
33
  path_changed: "承認したときと書き込み先が変わった",
34
+ base_changed: "承認したときからファイルが変わった",
35
+ not_read: "読まずに置き換えようとした",
34
36
  out_of_range: "範囲の外",
35
37
  };
36
38
 
@@ -417,7 +417,10 @@ export async function createController(options: ControllerOptions): Promise<Cont
417
417
  case "aborted":
418
418
  return stopped(result.work);
419
419
  case "max_tokens":
420
- return "返答が長さの上限で切れました。";
420
+ // The answer ran into the limit mid-sentence, so a work it opened holds nothing yet.
421
+ return result.work
422
+ ? `返答が長さの上限で切れました。${result.work} は途中のまま残っています。/work resume ${result.work} で続けられるようにします。一度に扱う量を分けて依頼すると、上限に当たらずに終わります。`
423
+ : "返答が長さの上限で切れました。";
421
424
  case "refusal":
422
425
  return "社員エージェントが続けられないと言っています。";
423
426
  case "model_error":