watashi-db 0.0.10 → 0.0.12

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.
Files changed (132) hide show
  1. package/.claude-docs/CODEX_INTEGRATION.md +116 -116
  2. package/.github/workflows/ci.yml +23 -0
  3. package/.github/workflows/publish.yml +36 -0
  4. package/LICENSE +21 -21
  5. package/README.md +319 -297
  6. package/cowork-plugin/.claude-plugin/plugin.json +12 -12
  7. package/cowork-plugin/.mcp.json +8 -8
  8. package/cowork-plugin/agents/memory-keeper.md +48 -48
  9. package/cowork-plugin/hooks/hooks.json +18 -18
  10. package/cowork-plugin/skills/recall/SKILL.md +36 -36
  11. package/cowork-plugin/skills/reflect/SKILL.md +58 -58
  12. package/cowork-plugin/skills/remember/SKILL.md +54 -54
  13. package/cowork-plugin/skills/session-start/SKILL.md +38 -38
  14. package/dist/config/schema.d.ts +21 -18
  15. package/dist/config/schema.js +5 -1
  16. package/dist/config/schema.js.map +1 -1
  17. package/dist/config/validator.js +1 -1
  18. package/dist/config/validator.js.map +1 -1
  19. package/dist/context-pack.js +2 -2
  20. package/dist/context-pack.js.map +1 -1
  21. package/dist/database/archive.js +42 -42
  22. package/dist/database/groom.js +72 -71
  23. package/dist/database/groom.js.map +1 -1
  24. package/dist/database/queries-core.d.ts +54 -0
  25. package/dist/database/queries-core.js +671 -505
  26. package/dist/database/queries-core.js.map +1 -1
  27. package/dist/database/queries.d.ts +18 -0
  28. package/dist/database/queries.js +6 -0
  29. package/dist/database/queries.js.map +1 -1
  30. package/dist/database/schema.d.ts +5 -0
  31. package/dist/database/schema.js +3620 -3348
  32. package/dist/database/schema.js.map +1 -1
  33. package/dist/embedding/embed-on-write.d.ts +3 -0
  34. package/dist/embedding/embed-on-write.js.map +1 -1
  35. package/dist/embedding/provider.d.ts +3 -0
  36. package/dist/embedding/provider.js +38 -1
  37. package/dist/embedding/provider.js.map +1 -1
  38. package/dist/hook.js +38 -6
  39. package/dist/hook.js.map +1 -1
  40. package/dist/index.js +3 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/init.d.ts +19 -0
  43. package/dist/init.js +336 -0
  44. package/dist/init.js.map +1 -0
  45. package/dist/prompts/bootstrap-prompts.js +62 -62
  46. package/dist/resources/config-guide-content.d.ts +1 -1
  47. package/dist/resources/config-guide-content.js +175 -173
  48. package/dist/resources/config-guide-content.js.map +1 -1
  49. package/dist/resources/context-resources.js +3 -2
  50. package/dist/resources/context-resources.js.map +1 -1
  51. package/dist/server-instructions.js +18 -1
  52. package/dist/server-instructions.js.map +1 -1
  53. package/dist/server.js +10 -1
  54. package/dist/server.js.map +1 -1
  55. package/dist/setup.js +44 -36
  56. package/dist/setup.js.map +1 -1
  57. package/dist/store/merge.d.ts +2 -0
  58. package/dist/store/merge.js +52 -0
  59. package/dist/store/merge.js.map +1 -1
  60. package/dist/store/sync-manager.d.ts +8 -2
  61. package/dist/store/sync-manager.js +72 -26
  62. package/dist/store/sync-manager.js.map +1 -1
  63. package/dist/tools/claim-tools.js +15 -13
  64. package/dist/tools/claim-tools.js.map +1 -1
  65. package/dist/tools/decision-tools.d.ts +1 -0
  66. package/dist/tools/decision-tools.js +112 -18
  67. package/dist/tools/decision-tools.js.map +1 -1
  68. package/dist/tools/episode-tools.d.ts +1 -0
  69. package/dist/tools/episode-tools.js +136 -25
  70. package/dist/tools/episode-tools.js.map +1 -1
  71. package/dist/tools/get-tools.js +2 -1
  72. package/dist/tools/get-tools.js.map +1 -1
  73. package/dist/tools/helpers.d.ts +7 -0
  74. package/dist/tools/helpers.js +14 -0
  75. package/dist/tools/helpers.js.map +1 -1
  76. package/dist/tools/maintenance-tools.d.ts +1 -1
  77. package/dist/tools/maintenance-tools.js +84 -46
  78. package/dist/tools/maintenance-tools.js.map +1 -1
  79. package/dist/tools/memo-tools.js +13 -10
  80. package/dist/tools/memo-tools.js.map +1 -1
  81. package/dist/tools/query-tools.js +6 -4
  82. package/dist/tools/query-tools.js.map +1 -1
  83. package/dist/types.d.ts +110 -94
  84. package/dist/types.js +48 -35
  85. package/dist/types.js.map +1 -1
  86. package/package.json +58 -58
  87. package/scripts/backfill-search-summary.mjs +219 -219
  88. package/scripts/migrate-theories.mjs +231 -231
  89. package/Usersj.miyamoto.watashi-dbdefault.db +0 -0
  90. package/dist/tools/export-tools.d.ts +0 -12
  91. package/dist/tools/export-tools.js +0 -124
  92. package/dist/tools/export-tools.js.map +0 -1
  93. package/dist/tools/groom-tools.d.ts +0 -13
  94. package/dist/tools/groom-tools.js +0 -197
  95. package/dist/tools/groom-tools.js.map +0 -1
  96. package/dist/tools/insight-tools.d.ts +0 -11
  97. package/dist/tools/insight-tools.js +0 -167
  98. package/dist/tools/insight-tools.js.map +0 -1
  99. package/dist/tools/model-tools.d.ts +0 -11
  100. package/dist/tools/model-tools.js +0 -175
  101. package/dist/tools/model-tools.js.map +0 -1
  102. package/dist/tools/profile-tools.d.ts +0 -18
  103. package/dist/tools/profile-tools.js +0 -106
  104. package/dist/tools/profile-tools.js.map +0 -1
  105. package/dist/tools/promote-tools.d.ts +0 -10
  106. package/dist/tools/promote-tools.js +0 -376
  107. package/dist/tools/promote-tools.js.map +0 -1
  108. package/dist/tools/store-tools.d.ts +0 -12
  109. package/dist/tools/store-tools.js +0 -102
  110. package/dist/tools/store-tools.js.map +0 -1
  111. package/dist/tools/sync-tools.d.ts +0 -9
  112. package/dist/tools/sync-tools.js +0 -55
  113. package/dist/tools/sync-tools.js.map +0 -1
  114. package/dist/tools/theory-tools.d.ts +0 -7
  115. package/dist/tools/theory-tools.js +0 -179
  116. package/dist/tools/theory-tools.js.map +0 -1
  117. package/misc/work-notes/main 20260224.txt +0 -98
  118. package/misc/work-notes/plans/20260220084456_UNKNOWN_Issue-#24-Episode/343/202/277/343/202/244/343/203/210/343/203/253/343/201/256-Qiita/346/226/271/345/274/217/343/202/254/343/202/244.md +0 -52
  119. package/misc/work-notes/plans/20260220095602_UNKNOWN_Issue-#10-/346/233/270/343/201/215/350/276/274/343/201/277/346/231/202/343/201/256/343/202/263/343/203/263/343/203/206/343/203/263/343/203/204Lint/346/251/237.md +0 -120
  120. package/misc/work-notes/plans/20260220100439_UNKNOWN_Issue-#10-/346/233/270/343/201/215/350/276/274/343/201/277/346/231/202/343/201/256/343/202/263/343/203/263/343/203/206/343/203/263/343/203/204Lint/346/251/237.md +0 -156
  121. package/misc/work-notes/plans/20260220110445_UNKNOWN_Issue-#11-/343/203/227/343/203/255/343/203/225/343/202/241/343/202/244/343/203/253/350/246/201/347/264/204/343/201/256/343/202/271/343/202/263/343/202/242/343/203/252/303/243.md +0 -154
  122. package/misc/work-notes/plans/20260220114035_UNKNOWN_Issue-#15-/343/202/263/343/203/263/343/203/206/343/202/255/343/202/271/343/203/210/344/272/210/347/256/227API/357/274/210token-budg.md +0 -178
  123. package/misc/work-notes/plans/20260220133902_UNKNOWN_Issue-#16-/343/202/257/343/203/251/343/202/244/343/202/242/343/203/263/343/203/210/345/210/245/343/203/235/343/203/252/343/202/267/343/203/274/345/261/244/357/274/210r.md +0 -284
  124. package/misc/work-notes/plans/20260220151356_UNKNOWN_Issue-#28-V9/343/203/236/343/202/244/343/202/260/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/347/265/261/345/220/210/357/274/210#23-+.md +0 -178
  125. package/misc/work-notes/plans/20260227042805_UNKNOWN_config.json-/343/202/254/343/202/244/343/203/211/346/225/264/345/202/231-+-MCP-resourceprompt-/303/250.md +0 -90
  126. package/misc/work-notes/plans/20260302113135_UNKNOWN_MCP/343/203/204/343/203/274/343/203/253/343/203/210/343/203/274/343/202/257/343/203/263/343/203/200/343/202/244/343/202/250/343/203/203/343/203/210-(~17,370-/303/242.md +0 -152
  127. package/misc/work-notes/plans/20260302151940_UNKNOWN_README.md-/347/217/276/350/241/214API/345/217/215/346/230/240/343/202/242/343/203/203/343/203/227/343/203/207/343/203/274/343/203/210.md +0 -87
  128. package/misc/work-notes/plans/20260302173113_UNKNOWN_watashi-manage-claim-/343/202/250/343/203/251/343/203/274/346/224/271/345/226/204-+-search-summ.md +0 -70
  129. package/misc/work-notes/plans/20260303091511_UNKNOWN_Issue-#60-entity-type-/347/234/201/347/225/245/345/257/276/345/277/234-/342/200/224-ID/345/206/205/351/203/250/350/247/243.md +0 -205
  130. package/misc/work-notes/plans/20260304152700_UNKNOWN_Issue-#61-setup-/343/202/263/343/203/236/343/203/263/343/203/211/343/201/247-MCP-/343/202/265/343/203/274/343/203/220/343/203/274/303/247/302/231.md +0 -67
  131. package/misc/work-notes/plans/20260304170153_UNKNOWN_Issue-#54-user-memoplanissue-/343/201/256-content-/342/206/222-l1-co.md +0 -76
  132. package/watashi-db-plugin.zip +0 -0
@@ -1,116 +1,116 @@
1
- # Codex CLI 連携ガイド
2
-
3
- > codex-cli v0.98.0 / config.toml 設定済み前提
4
-
5
- ## 概要
6
-
7
- OpenAI Codex CLI を Claude Code セッション内からレビュー・製造に利用する。
8
- モデルは `gpt-5.3-codex`(config.toml で設定済み)。
9
-
10
- ---
11
-
12
- ## サブコマンド体系
13
-
14
- | サブコマンド | 用途 | 対話性 |
15
- |---|---|---|
16
- | `codex` (引数なし) | 対話セッション | 対話 |
17
- | `codex exec` | 非対話実行(製造・調査) | 非対話 |
18
- | `codex review` | コードレビュー | 非対話 |
19
-
20
- ---
21
-
22
- ## レビュー依頼
23
-
24
- ### `codex review`(推奨)
25
-
26
- ステージング済み差分をレビューする場合:
27
-
28
- ```bash
29
- codex review --uncommitted --title "レビュータイトル" \
30
- -c 'model="gpt-5.3-codex"' \
31
- > .codex_outputs/YYYYMMDD_HHMMSS_output.txt 2>&1
32
- ```
33
-
34
- **重要な制約**:
35
- - `--uncommitted` と `[PROMPT]` 引数は **排他的** — 同時指定するとエラーになる
36
- - カスタムプロンプトを渡したい場合は `--uncommitted` を外して `[PROMPT]` を使う
37
- - `-m` フラグは `review` サブコマンドには存在しない — `-c 'model="..."'` で指定
38
-
39
- #### オプション一覧
40
-
41
- | オプション | 説明 |
42
- |---|---|
43
- | `--uncommitted` | staged + unstaged + untracked 全変更をレビュー |
44
- | `--base <BRANCH>` | 指定ブランチとの差分をレビュー |
45
- | `--commit <SHA>` | 特定コミットの差分をレビュー |
46
- | `--title <TITLE>` | レビューサマリに表示するタイトル |
47
- | `-c 'model="..."'` | モデル指定(config.toml のデフォルトを上書き) |
48
-
49
- ### プロンプト付きレビュー(`codex exec`経由)
50
-
51
- レビュー観点を指定したい場合は `exec` を使う:
52
-
53
- ```bash
54
- codex exec -m gpt-5.3-codex -p automation -s read-only \
55
- "この差分をレビューしてください。観点: ... : .codex_inputs/review_input.md" \
56
- > .codex_outputs/YYYYMMDD_HHMMSS_output.txt 2>&1
57
- ```
58
-
59
- ---
60
-
61
- ## 製造依頼
62
-
63
- ```bash
64
- codex exec -m gpt-5.3-codex -p automation -s workspace-write \
65
- "指示内容: .codex_inputs/task_input.md" \
66
- -o .codex_outputs/YYYYMMDD_HHMMSS_last_message.txt \
67
- > .codex_outputs/YYYYMMDD_HHMMSS_output.txt 2>&1
68
- ```
69
-
70
- ---
71
-
72
- ## ファイル規約
73
-
74
- | ディレクトリ | 用途 |
75
- |---|---|
76
- | `.codex_inputs/` | Codex への入力ファイル |
77
- | `.codex_outputs/` | Codex からの出力ファイル |
78
-
79
- ファイル名形式: `YYYYMMDD_HHMMSS_<目的>.md` / `_output.txt`
80
-
81
- ---
82
-
83
- ## config.toml プロファイル
84
-
85
- | プロファイル | 用途 | approval_policy | sandbox_mode |
86
- |---|---|---|---|
87
- | `human` | ユーザー直接利用 | on-request | workspace-write |
88
- | `automation` | Claude Code / スクリプトから呼び出し | never | workspace-write |
89
-
90
- Claude Code から呼ぶ場合は `-p automation` を指定。
91
-
92
- ---
93
-
94
- ## タイムアウト目安
95
-
96
- | 依頼種別 | 目安 |
97
- |---|---|
98
- | レビュー | 15分(timeout: 600000) |
99
- | 製造 | 60分(timeout: 600000、必要に応じて分割) |
100
-
101
- ---
102
-
103
- ## エンコーディング注意
104
-
105
- - 入力ファイルは **UTF-8(BOM無し)** で作成
106
- - Windows 環境のコンソール出力は文字化けする場合があるが、ファイルリダイレクト先は正常
107
-
108
- ---
109
-
110
- ## よくあるエラー
111
-
112
- | エラー | 原因 | 対処 |
113
- |---|---|---|
114
- | `unexpected argument '--approval-mode'` | v0.98.0 で廃止 | `-p automation` または `-c 'approval_policy="never"'` |
115
- | `unexpected argument '-m'` (review時) | `review` に `-m` なし | `-c 'model="..."'` を使う |
116
- | `'--uncommitted' cannot be used with '[PROMPT]'` | 排他的オプション | プロンプトを外すか `exec` を使う |
1
+ # Codex CLI 連携ガイド
2
+
3
+ > codex-cli v0.98.0 / config.toml 設定済み前提
4
+
5
+ ## 概要
6
+
7
+ OpenAI Codex CLI を Claude Code セッション内からレビュー・製造に利用する。
8
+ モデルは `gpt-5.3-codex`(config.toml で設定済み)。
9
+
10
+ ---
11
+
12
+ ## サブコマンド体系
13
+
14
+ | サブコマンド | 用途 | 対話性 |
15
+ |---|---|---|
16
+ | `codex` (引数なし) | 対話セッション | 対話 |
17
+ | `codex exec` | 非対話実行(製造・調査) | 非対話 |
18
+ | `codex review` | コードレビュー | 非対話 |
19
+
20
+ ---
21
+
22
+ ## レビュー依頼
23
+
24
+ ### `codex review`(推奨)
25
+
26
+ ステージング済み差分をレビューする場合:
27
+
28
+ ```bash
29
+ codex review --uncommitted --title "レビュータイトル" \
30
+ -c 'model="gpt-5.3-codex"' \
31
+ > .codex_outputs/YYYYMMDD_HHMMSS_output.txt 2>&1
32
+ ```
33
+
34
+ **重要な制約**:
35
+ - `--uncommitted` と `[PROMPT]` 引数は **排他的** — 同時指定するとエラーになる
36
+ - カスタムプロンプトを渡したい場合は `--uncommitted` を外して `[PROMPT]` を使う
37
+ - `-m` フラグは `review` サブコマンドには存在しない — `-c 'model="..."'` で指定
38
+
39
+ #### オプション一覧
40
+
41
+ | オプション | 説明 |
42
+ |---|---|
43
+ | `--uncommitted` | staged + unstaged + untracked 全変更をレビュー |
44
+ | `--base <BRANCH>` | 指定ブランチとの差分をレビュー |
45
+ | `--commit <SHA>` | 特定コミットの差分をレビュー |
46
+ | `--title <TITLE>` | レビューサマリに表示するタイトル |
47
+ | `-c 'model="..."'` | モデル指定(config.toml のデフォルトを上書き) |
48
+
49
+ ### プロンプト付きレビュー(`codex exec`経由)
50
+
51
+ レビュー観点を指定したい場合は `exec` を使う:
52
+
53
+ ```bash
54
+ codex exec -m gpt-5.3-codex -p automation -s read-only \
55
+ "この差分をレビューしてください。観点: ... : .codex_inputs/review_input.md" \
56
+ > .codex_outputs/YYYYMMDD_HHMMSS_output.txt 2>&1
57
+ ```
58
+
59
+ ---
60
+
61
+ ## 製造依頼
62
+
63
+ ```bash
64
+ codex exec -m gpt-5.3-codex -p automation -s workspace-write \
65
+ "指示内容: .codex_inputs/task_input.md" \
66
+ -o .codex_outputs/YYYYMMDD_HHMMSS_last_message.txt \
67
+ > .codex_outputs/YYYYMMDD_HHMMSS_output.txt 2>&1
68
+ ```
69
+
70
+ ---
71
+
72
+ ## ファイル規約
73
+
74
+ | ディレクトリ | 用途 |
75
+ |---|---|
76
+ | `.codex_inputs/` | Codex への入力ファイル |
77
+ | `.codex_outputs/` | Codex からの出力ファイル |
78
+
79
+ ファイル名形式: `YYYYMMDD_HHMMSS_<目的>.md` / `_output.txt`
80
+
81
+ ---
82
+
83
+ ## config.toml プロファイル
84
+
85
+ | プロファイル | 用途 | approval_policy | sandbox_mode |
86
+ |---|---|---|---|
87
+ | `human` | ユーザー直接利用 | on-request | workspace-write |
88
+ | `automation` | Claude Code / スクリプトから呼び出し | never | workspace-write |
89
+
90
+ Claude Code から呼ぶ場合は `-p automation` を指定。
91
+
92
+ ---
93
+
94
+ ## タイムアウト目安
95
+
96
+ | 依頼種別 | 目安 |
97
+ |---|---|
98
+ | レビュー | 15分(timeout: 600000) |
99
+ | 製造 | 60分(timeout: 600000、必要に応じて分割) |
100
+
101
+ ---
102
+
103
+ ## エンコーディング注意
104
+
105
+ - 入力ファイルは **UTF-8(BOM無し)** で作成
106
+ - Windows 環境のコンソール出力は文字化けする場合があるが、ファイルリダイレクト先は正常
107
+
108
+ ---
109
+
110
+ ## よくあるエラー
111
+
112
+ | エラー | 原因 | 対処 |
113
+ |---|---|---|
114
+ | `unexpected argument '--approval-mode'` | v0.98.0 で廃止 | `-p automation` または `-c 'approval_policy="never"'` |
115
+ | `unexpected argument '-m'` (review時) | `review` に `-m` なし | `-c 'model="..."'` を使う |
116
+ | `'--uncommitted' cannot be used with '[PROMPT]'` | 排他的オプション | プロンプトを外すか `exec` を使う |
@@ -0,0 +1,23 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ permissions:
13
+ contents: read
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+
17
+ - uses: actions/setup-node@v4
18
+ with:
19
+ node-version: '22'
20
+
21
+ - run: npm ci
22
+
23
+ - run: npm test
@@ -0,0 +1,36 @@
1
+ name: Publish to npm
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+
8
+ jobs:
9
+ publish:
10
+ runs-on: ubuntu-latest
11
+ permissions:
12
+ contents: read
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+
16
+ - uses: actions/setup-node@v4
17
+ with:
18
+ node-version: '22'
19
+ registry-url: 'https://registry.npmjs.org'
20
+
21
+ - run: npm ci
22
+
23
+ - name: Verify tag matches package.json version
24
+ run: |
25
+ TAG_VERSION="${GITHUB_REF_NAME#v}"
26
+ PKG_VERSION="$(node -p 'require("./package.json").version')"
27
+ if [ "$TAG_VERSION" != "$PKG_VERSION" ]; then
28
+ echo "::error::Tag version ($TAG_VERSION) does not match package.json version ($PKG_VERSION)"
29
+ exit 1
30
+ fi
31
+
32
+ - run: npm test
33
+
34
+ - run: npm publish --access public
35
+ env:
36
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 watashi-db contributors
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 watashi-db contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.