kibela-api-client 0.1.8 → 0.2.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.
Files changed (111) hide show
  1. package/README.md +134 -142
  2. package/dist/cli/_error-handler.d.ts.map +1 -1
  3. package/dist/cli/_error-handler.js +5 -8
  4. package/dist/cli/_error-handler.js.map +1 -1
  5. package/dist/cli/_validators.d.ts +15 -38
  6. package/dist/cli/_validators.d.ts.map +1 -1
  7. package/dist/cli/_validators.js +148 -49
  8. package/dist/cli/_validators.js.map +1 -1
  9. package/dist/cli/commands/all.d.ts +3 -0
  10. package/dist/cli/commands/all.d.ts.map +1 -0
  11. package/dist/cli/commands/all.js +59 -0
  12. package/dist/cli/commands/all.js.map +1 -0
  13. package/dist/cli/commands/config.d.ts +6 -2
  14. package/dist/cli/commands/config.d.ts.map +1 -1
  15. package/dist/cli/commands/config.js +67 -62
  16. package/dist/cli/commands/config.js.map +1 -1
  17. package/dist/cli/commands/get.d.ts +3 -0
  18. package/dist/cli/commands/get.d.ts.map +1 -0
  19. package/dist/cli/commands/get.js +152 -0
  20. package/dist/cli/commands/get.js.map +1 -0
  21. package/dist/cli/commands/groups-simple.d.ts +3 -0
  22. package/dist/cli/commands/groups-simple.d.ts.map +1 -0
  23. package/dist/cli/commands/groups-simple.js +39 -0
  24. package/dist/cli/commands/groups-simple.js.map +1 -0
  25. package/dist/cli/commands/new.d.ts +3 -0
  26. package/dist/cli/commands/new.d.ts.map +1 -0
  27. package/dist/cli/commands/new.js +168 -0
  28. package/dist/cli/commands/new.js.map +1 -0
  29. package/dist/cli/commands/set.d.ts +3 -0
  30. package/dist/cli/commands/set.d.ts.map +1 -0
  31. package/dist/cli/commands/set.js +96 -0
  32. package/dist/cli/commands/set.js.map +1 -0
  33. package/dist/cli/commands/sync.d.ts +3 -0
  34. package/dist/cli/commands/sync.d.ts.map +1 -0
  35. package/dist/cli/commands/sync.js +143 -0
  36. package/dist/cli/commands/sync.js.map +1 -0
  37. package/dist/cli/commands/users-simple.d.ts +3 -0
  38. package/dist/cli/commands/users-simple.d.ts.map +1 -0
  39. package/dist/cli/commands/users-simple.js +61 -0
  40. package/dist/cli/commands/users-simple.js.map +1 -0
  41. package/dist/cli/commands/users.d.ts +2 -2
  42. package/dist/cli/commands/users.d.ts.map +1 -1
  43. package/dist/cli/commands/users.js +50 -65
  44. package/dist/cli/commands/users.js.map +1 -1
  45. package/dist/cli/config.js +7 -7
  46. package/dist/cli/config.js.map +1 -1
  47. package/dist/cli/index.js +29 -13
  48. package/dist/cli/index.js.map +1 -1
  49. package/dist/cli/utils/frontmatter.d.ts +3 -0
  50. package/dist/cli/utils/frontmatter.d.ts.map +1 -0
  51. package/dist/cli/utils/frontmatter.js +89 -0
  52. package/dist/cli/utils/frontmatter.js.map +1 -0
  53. package/dist/cli/utils.d.ts +2 -2
  54. package/dist/cli/utils.d.ts.map +1 -1
  55. package/dist/cli/utils.js +7 -13
  56. package/dist/cli/utils.js.map +1 -1
  57. package/dist/client/index.js +2 -2
  58. package/dist/client/index.js.map +1 -1
  59. package/dist/core/cli/command.d.ts +45 -0
  60. package/dist/core/cli/command.d.ts.map +1 -0
  61. package/dist/core/cli/command.js +237 -0
  62. package/dist/core/cli/command.js.map +1 -0
  63. package/dist/core/env.d.ts +9 -0
  64. package/dist/core/env.d.ts.map +1 -0
  65. package/dist/core/env.js +96 -0
  66. package/dist/core/env.js.map +1 -0
  67. package/dist/core/graphql/client.d.ts +29 -0
  68. package/dist/core/graphql/client.d.ts.map +1 -0
  69. package/dist/core/graphql/client.js +41 -0
  70. package/dist/core/graphql/client.js.map +1 -0
  71. package/dist/core/http/client.d.ts +16 -0
  72. package/dist/core/http/client.d.ts.map +1 -0
  73. package/dist/core/http/client.js +87 -0
  74. package/dist/core/http/client.js.map +1 -0
  75. package/dist/core/index.d.ts +9 -0
  76. package/dist/core/index.d.ts.map +1 -0
  77. package/dist/core/index.js +25 -0
  78. package/dist/core/index.js.map +1 -0
  79. package/dist/core/terminal/colors.d.ts +29 -0
  80. package/dist/core/terminal/colors.d.ts.map +1 -0
  81. package/dist/core/terminal/colors.js +66 -0
  82. package/dist/core/terminal/colors.js.map +1 -0
  83. package/dist/core/terminal/prompt.d.ts +22 -0
  84. package/dist/core/terminal/prompt.d.ts.map +1 -0
  85. package/dist/core/terminal/prompt.js +189 -0
  86. package/dist/core/terminal/prompt.js.map +1 -0
  87. package/dist/core/terminal/spinner.d.ts +17 -0
  88. package/dist/core/terminal/spinner.d.ts.map +1 -0
  89. package/dist/core/terminal/spinner.js +79 -0
  90. package/dist/core/terminal/spinner.js.map +1 -0
  91. package/dist/core/validation/validator.d.ts +26 -0
  92. package/dist/core/validation/validator.d.ts.map +1 -0
  93. package/dist/core/validation/validator.js +100 -0
  94. package/dist/core/validation/validator.js.map +1 -0
  95. package/dist/queries/notes.d.ts +10 -1
  96. package/dist/queries/notes.d.ts.map +1 -1
  97. package/dist/queries/notes.js +13 -13
  98. package/dist/queries/notes.js.map +1 -1
  99. package/dist/sync/frontmatter.d.ts +30 -0
  100. package/dist/sync/frontmatter.d.ts.map +1 -0
  101. package/dist/sync/frontmatter.js +123 -0
  102. package/dist/sync/frontmatter.js.map +1 -0
  103. package/dist/sync/index.d.ts +3 -0
  104. package/dist/sync/index.d.ts.map +1 -0
  105. package/dist/sync/index.js +19 -0
  106. package/dist/sync/index.js.map +1 -0
  107. package/dist/sync/sync-client.d.ts +17 -0
  108. package/dist/sync/sync-client.d.ts.map +1 -0
  109. package/dist/sync/sync-client.js +158 -0
  110. package/dist/sync/sync-client.js.map +1 -0
  111. package/package.json +2 -12
package/README.md CHANGED
@@ -3,170 +3,132 @@
3
3
  [![npm version](https://img.shields.io/npm/v/kibela-api-client.svg)](https://www.npmjs.com/package/kibela-api-client)
4
4
  [![npm downloads](https://img.shields.io/npm/dm/kibela-api-client.svg)](https://www.npmjs.com/package/kibela-api-client)
5
5
  [![npm downloads total](https://img.shields.io/npm/dt/kibela-api-client.svg)](https://www.npmjs.com/package/kibela-api-client)
6
- [![Bundle Size](https://img.shields.io/bundlephobia/minzip/kibela-api-client)](https://bundlephobia.com/package/kibela-api-client)
6
+ [![Zero Dependencies](https://img.shields.io/badge/dependencies-0-brightgreen.svg)](https://www.npmjs.com/package/kibela-api-client?activeTab=dependencies)
7
7
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
8
  [![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue.svg)](https://www.typescriptlang.org/)
9
9
  [![Node version](https://img.shields.io/node/v/kibela-api-client.svg)](https://nodejs.org)
10
10
 
11
- A modern TypeScript client for the Kibela API with CLI support.
11
+ Kibela API用の非公式TypeScriptクライアントライブラリ - ゼロ依存、フル機能CLI付き
12
12
 
13
- ## Features
13
+ **注意**: これはKibelaの非公式クライアントライブラリです。Kibelaのサービス提供者による公式サポートはありません。
14
14
 
15
- - 🚀 **Type-safe**: Full TypeScript support with complete type definitions
16
- - 🔧 **CLI Tool**: Powerful command-line interface for common operations
17
- - 🔐 **Secure**: API key management with environment variable support
18
- - 📝 **Complete API Coverage**: Notes, users, groups, and more
19
- - ⚡ **Lightweight**: Minimal dependencies, optimized bundle size
20
- - 🌐 **GraphQL**: Direct GraphQL API integration
15
+ [English Version](./README_EN.md)
21
16
 
22
- ## Installation
17
+ ## 特徴
18
+
19
+ - 🚀 **型安全**: 完全なTypeScriptサポートと型定義
20
+ - 🔧 **CLIツール**: 一般的な操作のための強力なコマンドラインインターフェース
21
+ - 🔐 **セキュア**: 環境変数対応のAPIキー管理
22
+ - 📝 **完全なAPIカバレッジ**: ノート、ユーザー、グループなど
23
+ - ⚡ **外部依存ゼロ**: Node.js標準モジュールのみを使用
24
+ - 🌐 **GraphQL**: 直接的なGraphQL API統合
25
+ - 🔄 **ローカル管理**: ローカルファイルとKibelaの効率的な同期
26
+ - 📄 **Frontmatter対応**: YAMLメタデータ付きMarkdownファイルの完全サポート
27
+
28
+ ## インストール
23
29
 
24
30
  ```bash
25
31
  # npm
26
- npm install kibela-api-client
32
+ npm install -g kibela-api-client
27
33
 
28
34
  # yarn
29
- yarn add kibela-api-client
35
+ yarn global add kibela-api-client
30
36
 
31
37
  # pnpm
32
- pnpm add kibela-api-client
38
+ pnpm add -g kibela-api-client
33
39
 
34
- # Global CLI installation
35
- npm install -g kibela-api-client
40
+ # ローカルプロジェクト
41
+ npm install kibela-api-client
36
42
  ```
37
43
 
38
- ## Quick Start
44
+ ## クイックスタート
39
45
 
40
- ### As a Library
46
+ ### ライブラリとして使用
41
47
 
42
48
  ```typescript
43
49
  import { createClient } from 'kibela-api-client';
44
50
 
45
- // Create client instance
51
+ // クライアントインスタンスの作成
46
52
  const kibela = createClient({
47
53
  team: 'your-team-name',
48
- token: process.env.KIBELA_API_KEY
54
+ token: process.env.KIBELA_TOKEN
49
55
  });
50
56
 
51
- // Create a note
57
+ // ノートの作成
52
58
  const note = await kibela.notes.create({
53
- title: 'Meeting Notes',
54
- content: '# Today\'s Topics\n\n- Project updates\n- Next steps',
59
+ title: 'ミーティングノート',
60
+ content: '# 今日のトピック\n\n- プロジェクトの更新\n- 次のステップ',
55
61
  coediting: true,
56
- groupIds: ['group-id']
62
+ groupIds: ['<グループID>']
57
63
  });
58
64
 
59
- // Search notes
60
- const results = await kibela.notes.search('project update');
65
+ // ノートの検索
66
+ const results = await kibela.notes.search('プロジェクト更新');
61
67
 
62
- // Get current user
68
+ // 現在のユーザー情報の取得
63
69
  const user = await kibela.users.getCurrentUser();
64
70
  ```
65
71
 
66
- ### CLI Usage
67
-
68
- #### Configuration
69
-
70
- The CLI supports multiple configuration methods with the following priority:
72
+ ### CLI使用方法
71
73
 
72
- 1. Config file (`~/.kibela/config.json`)
73
- 2. Environment variables
74
- 3. `.env` file in current directory
74
+ #### 設定
75
75
 
76
76
  ```bash
77
- # Interactive setup
77
+ # 対話的セットアップ
78
78
  kibela config
79
79
 
80
- # Set credentials directly
80
+ # 直接設定
81
81
  kibela config --team your-team --token your-api-token
82
82
 
83
- # Using environment variables
83
+ # 環境変数で設定
84
84
  export KIBELA_TEAM=your-team
85
- export KIBELA_API_KEY=your-api-token
86
-
87
- # Or use .env file
88
- echo "KIBELA_TEAM=your-team" >> .env
89
- echo "KIBELA_API_KEY=your-api-token" >> .env
85
+ export KIBELA_TOKEN=your-api-token
90
86
  ```
91
87
 
92
- #### Commands
93
-
94
- ##### Notes Management
88
+ #### 基本コマンド
95
89
 
96
90
  ```bash
97
- # List recent notes
98
- kibela notes list
99
-
100
- # List notes in a specific group
101
- kibela notes list --group GROUP_ID
102
-
103
- # List notes in a specific folder within a group
104
- kibela notes list --group GROUP_ID --folder "specs"
105
-
106
- # Search notes
107
- kibela notes list --search "keyword" --limit 20
108
-
109
- # List all folders in a group
110
- kibela notes folders --group GROUP_ID
111
-
112
- # Create a new note
113
- kibela notes create --title "Title" --content "Content" --groups GROUP_ID
114
-
115
- # Create a note from markdown file
116
- kibela notes create --markdown note.md --groups GROUP_ID
117
-
118
- # Create a note in a specific folder
119
- kibela notes create --markdown note.md --groups GROUP_ID --folder "specs"
120
-
121
- # Get a specific note
122
- kibela notes get <note-id>
123
-
124
- # Save note content to file
125
- kibela notes get <note-id> --output output.md
126
-
127
- # Show HTML content instead of markdown
128
- kibela notes get <note-id> --html
129
-
130
- # Update a note
131
- kibela notes update <note-id> --title "New Title" --content "New Content"
132
-
133
- # Update a note from markdown file
134
- kibela notes update <note-id> --markdown updated.md
135
-
136
- # Delete a note
137
- kibela notes delete <note-id>
91
+ # 全ノートの取得
92
+ kibela all # ローカルにダウンロード
93
+ kibela all --list # 一覧表示のみ
94
+ kibela all -l 20 # 20件のみ
95
+
96
+ # 特定ノートの取得
97
+ kibela get <ノートID> # ID指定(タイトルがファイル名に)
98
+ kibela get <ID> --frontmatter # フロントマター付きで保存
99
+ kibela get --group <ID> # グループ指定
100
+
101
+ # ノートの更新
102
+ kibela set notes/123.md # ファイルから更新
103
+ kibela set --id <ID> --title "新タイトル"
104
+
105
+ # ノートの新規作成
106
+ kibela new # 対話的に作成
107
+ kibela new --file note.md # ファイルから作成
108
+ kibela new --title "タイトル" --content "内容"
138
109
  ```
139
110
 
140
- ##### Workspace Information
141
-
142
- ```bash
143
- # List all groups
144
- kibela groups
145
- kibela groups --all # Show all groups without pagination
146
-
147
- # List users
148
- kibela users list
149
- kibela users list --all # Show all users
150
-
151
- # Get current user info
152
- kibela users me
153
- ```
111
+ # シンプルなコマンド体系
112
+ kibela all # 全ノートをローカルにダウンロード
113
+ kibela get --search "検索" # ノートを検索・取得
114
+ kibela set notes/123.md # 既存ノートを更新
115
+ kibela new --file note.md # 新規ノートを作成
154
116
 
155
- ## API Reference
117
+ ## APIリファレンス
156
118
 
157
- ### Client Creation
119
+ ### クライアント作成
158
120
 
159
121
  ```typescript
160
122
  const kibela = createClient({
161
- team: string, // Your Kibela team name
162
- token: string // Your API token
123
+ team: string, // あなたのKibelaチーム名
124
+ token: string // あなたのAPIトークン
163
125
  });
164
126
  ```
165
127
 
166
128
  ### Notes API
167
129
 
168
130
  ```typescript
169
- // Create a note
131
+ // ノートの作成
170
132
  kibela.notes.create({
171
133
  title: string,
172
134
  content: string,
@@ -179,7 +141,7 @@ kibela.notes.create({
179
141
  }>
180
142
  })
181
143
 
182
- // Update a note
144
+ // ノートの更新
183
145
  kibela.notes.update(id: string, {
184
146
  title?: string,
185
147
  content?: string,
@@ -188,13 +150,13 @@ kibela.notes.update(id: string, {
188
150
  draft?: boolean
189
151
  })
190
152
 
191
- // Delete a note
153
+ // ノートの削除
192
154
  kibela.notes.delete(id: string)
193
155
 
194
- // Get a note by ID
156
+ // IDでノートを取得
195
157
  kibela.notes.get(id: string)
196
158
 
197
- // List notes with pagination
159
+ // ページネーション付きノート一覧
198
160
  kibela.notes.list({
199
161
  first?: number,
200
162
  after?: string,
@@ -204,7 +166,7 @@ kibela.notes.list({
204
166
  }
205
167
  })
206
168
 
207
- // Search notes
169
+ // ノートの検索
208
170
  kibela.notes.search(query: string, {
209
171
  first?: number,
210
172
  after?: string
@@ -214,89 +176,119 @@ kibela.notes.search(query: string, {
214
176
  ### Groups API
215
177
 
216
178
  ```typescript
217
- // List groups
179
+ // グループ一覧
218
180
  kibela.groups.list({
219
181
  first?: number,
220
182
  after?: string
221
183
  })
222
184
 
223
- // Get a group by ID
185
+ // IDでグループを取得
224
186
  kibela.groups.get(id: string)
225
187
 
226
- // Get all groups (no pagination)
188
+ // 全グループを取得(ページネーションなし)
227
189
  kibela.groups.getAll()
228
190
  ```
229
191
 
230
192
  ### Users API
231
193
 
232
194
  ```typescript
233
- // List users
195
+ // ユーザー一覧
234
196
  kibela.users.list({
235
197
  first?: number,
236
198
  after?: string
237
199
  })
238
200
 
239
- // Get current user
201
+ // 現在のユーザーを取得
240
202
  kibela.users.getCurrentUser()
241
203
 
242
- // Get all users (no pagination)
204
+ // 全ユーザーを取得(ページネーションなし)
243
205
  kibela.users.getAll()
244
206
  ```
245
207
 
246
- ## Environment Variables
208
+ ## 環境変数
247
209
 
248
- - `KIBELA_TEAM`: Your Kibela team name
249
- - `KIBELA_API_KEY` or `KIBELA_TOKEN`: Your API token
210
+ - `KIBELA_TEAM`: あなたのKibelaチーム名
211
+ - `KIBELA_TOKEN`: あなたのAPIトークン
250
212
 
251
- ## Security
213
+ ## セキュリティ
252
214
 
253
- - API tokens are never logged or displayed in full
254
- - Tokens are masked in CLI output (shows only first 4 and last 4 characters)
255
- - Support for `.env` files for local development
256
- - Secure storage in user home directory for CLI configuration
215
+ - APIトークンはログに記録されたり、完全に表示されることはありません
216
+ - トークンはCLI出力でマスクされます(最初の4文字と最後の4文字のみ表示)
217
+ - ローカル開発用の`.env`ファイルをサポート
218
+ - CLI設定用にユーザーホームディレクトリに安全に保存
257
219
 
258
- ## Error Handling
220
+ ## エラーハンドリング
259
221
 
260
- The library provides detailed error messages with specific error codes:
222
+ ライブラリは特定のエラーコードと共に詳細なエラーメッセージを提供します:
261
223
 
262
224
  ```typescript
263
225
  try {
264
226
  await kibela.notes.create({ title: '', content: '' });
265
227
  } catch (error) {
266
228
  if (error.code === 'AUTH_ERROR') {
267
- // Handle authentication error
229
+ // 認証エラーの処理
268
230
  } else if (error.code === 'VALIDATION_ERROR') {
269
- // Handle validation error
231
+ // バリデーションエラーの処理
270
232
  }
271
233
  }
272
234
  ```
273
235
 
274
- ## Development
236
+ ## 開発
275
237
 
276
238
  ```bash
277
- # Install dependencies
239
+ # 依存関係のインストール
278
240
  npm install
279
241
 
280
- # Build the project
242
+ # プロジェクトのビルド
281
243
  npm run build
282
244
 
283
- # Run CLI in development
245
+ # 開発モードでCLIを実行
284
246
  npm run dev
285
247
 
286
- # Run tests
248
+ # テストの実行
287
249
  npm test
288
250
  ```
289
251
 
290
- ## Contributing
252
+ ## 制限事項
253
+
254
+ - **検索機能**: Kibela APIの制限により、検索機能(`--search`)は現在利用できません
255
+ - 代替方法: `kibela all --list | grep "検索語"` または グループ指定での取得
256
+
257
+ ## 外部依存ゼロの実装
258
+
259
+ このライブラリは外部依存を一切使用せず、Node.js標準モジュールのみで実装されています:
260
+
261
+ - HTTPクライアント: Node.js標準の`https`モジュール
262
+ - CLIフレームワーク: 自前実装
263
+ - ターミナル装飾: ANSIエスケープコード直接使用
264
+ - バリデーション: 軽量な自前実装
265
+ - 環境変数: `process.env`直接使用
266
+
267
+ これにより、セキュリティリスクを最小化し、バンドルサイズを削減しています。
268
+
269
+ ## シンプルなコマンド体系
270
+
271
+ 直感的な4つのコマンドでKibelaを操作:
272
+
273
+ - **all**: 全ノートの一括取得・ダウンロード
274
+ - **get**: 特定ノートの取得・検索
275
+ - **set**: 既存ノートの更新
276
+ - **new**: 新規ノートの作成
277
+
278
+ 各コマンドは`--dir`オプションでローカルファイル管理もサポートします。
279
+
280
+ 詳細な使用方法は[USAGE.md](./USAGE.md)をご覧ください。
281
+
282
+ ## コントリビュート
291
283
 
292
- Contributions are welcome! Please feel free to submit a Pull Request.
284
+ コントリビューションを歓迎します!お気軽にプルリクエストを送信してください。
293
285
 
294
- 1. Fork the repository
295
- 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
296
- 3. Commit your changes (`git commit -m 'Add some amazing feature'`)
297
- 4. Push to the branch (`git push origin feature/amazing-feature`)
298
- 5. Open a Pull Request
286
+ 1. リポジトリをフォーク
287
+ 2. フィーチャーブランチを作成(`git checkout -b feature/amazing-feature`)
288
+ 3. 変更をコミット(`git commit -m 'Add some amazing feature'`)
289
+ 4. ブランチにプッシュ(`git push origin feature/amazing-feature`)
290
+ 5. プルリクエストを開く
299
291
 
300
- ## License
292
+ ## ライセンス
301
293
 
302
- MIT
294
+ MIT © [Se1ya0hara](https://github.com/Se1ya0hara)
@@ -1 +1 @@
1
- {"version":3,"file":"_error-handler.d.ts","sourceRoot":"","sources":["../../src/cli/_error-handler.ts"],"names":[],"mappings":"AAGA,qBAAa,WAAY,SAAQ,KAAK;IAG3B,IAAI,CAAC,EAAE,MAAM;IACb,OAAO,CAAC,EAAE,GAAG;gBAFpB,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,OAAO,CAAC,EAAE,GAAG,YAAA;CAKvB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAsDpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,GAAG,IAAI,CAiB7D;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,IAC7B,GAAG,MAAM,GAAG,EAAE,mBAW7B"}
1
+ {"version":3,"file":"_error-handler.d.ts","sourceRoot":"","sources":["../../src/cli/_error-handler.ts"],"names":[],"mappings":"AAYA,qBAAa,WAAY,SAAQ,KAAK;IAG3B,IAAI,CAAC,EAAE,MAAM;IACb,OAAO,CAAC,EAAE,GAAG;gBAFpB,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,OAAO,CAAC,EAAE,GAAG,YAAA;CAKvB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAsDpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,GAAG,IAAI,CAiB7D;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,IAC7B,GAAG,MAAM,GAAG,EAAE,mBAW7B"}
@@ -1,13 +1,10 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.KibelaError = void 0;
7
4
  exports.handleGraphQLError = handleGraphQLError;
8
5
  exports.displayError = displayError;
9
6
  exports.wrapAsyncCommand = wrapAsyncCommand;
10
- const chalk_1 = __importDefault(require("chalk"));
7
+ const colors_1 = require("../core/terminal/colors");
11
8
  class KibelaError extends Error {
12
9
  constructor(message, code, details) {
13
10
  super(message);
@@ -44,16 +41,16 @@ function handleGraphQLError(error) {
44
41
  throw new KibelaError(error.message || 'An unexpected error occurred', 'UNKNOWN_ERROR', error);
45
42
  }
46
43
  function displayError(error) {
47
- console.error(chalk_1.default.red('✖'), chalk_1.default.bold('Error:'), error.message);
44
+ console.error(colors_1.colors.red('✖'), colors_1.colors.bold('Error:'), error.message);
48
45
  if (error instanceof KibelaError) {
49
46
  if (error.code === 'AUTH_ERROR') {
50
- console.error(chalk_1.default.dim('\nPlease run "kibela config" to update your credentials.'));
47
+ console.error(colors_1.colors.dim('\nPlease run "kibela config" to update your credentials.'));
51
48
  }
52
49
  else if (error.code === 'NETWORK_ERROR') {
53
- console.error(chalk_1.default.dim('\nCheck your internet connection and team name.'));
50
+ console.error(colors_1.colors.dim('\nCheck your internet connection and team name.'));
54
51
  }
55
52
  if (process.env.DEBUG && error.details) {
56
- console.error(chalk_1.default.dim('\nDebug details:'));
53
+ console.error(colors_1.colors.dim('\nDebug details:'));
57
54
  console.error(error.details);
58
55
  }
59
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"_error-handler.js","sourceRoot":"","sources":["../../src/cli/_error-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_error-handler.js","sourceRoot":"","sources":["../../src/cli/_error-handler.ts"],"names":[],"mappings":"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"}
@@ -1,44 +1,21 @@
1
- import { z } from 'zod';
2
- export declare const ConfigSchema: z.ZodObject<{
3
- team: z.ZodString;
4
- token: z.ZodString;
5
- }, z.core.$strip>;
6
- export declare const CreateNoteInputSchema: z.ZodObject<{
7
- title: z.ZodString;
8
- content: z.ZodString;
9
- coediting: z.ZodOptional<z.ZodBoolean>;
10
- groupIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
11
- draft: z.ZodOptional<z.ZodBoolean>;
12
- }, z.core.$strip>;
13
- export declare const UpdateNoteInputSchema: z.ZodObject<{
14
- title: z.ZodOptional<z.ZodString>;
15
- content: z.ZodOptional<z.ZodString>;
16
- coediting: z.ZodOptional<z.ZodBoolean>;
17
- groupIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
18
- draft: z.ZodOptional<z.ZodBoolean>;
19
- }, z.core.$strip>;
20
- export declare const EnvSchema: z.ZodObject<{
21
- KIBELA_TEAM: z.ZodOptional<z.ZodString>;
22
- KIBELA_TOKEN: z.ZodOptional<z.ZodString>;
23
- KIBELA_API_KEY: z.ZodOptional<z.ZodString>;
24
- }, z.core.$strip>;
25
- export declare const NoteResponseSchema: z.ZodObject<{
26
- id: z.ZodString;
27
- title: z.ZodString;
28
- content: z.ZodString;
29
- url: z.ZodString;
30
- }, z.core.$strip>;
31
- export declare const ErrorResponseSchema: z.ZodObject<{
32
- errors: z.ZodArray<z.ZodObject<{
33
- message: z.ZodString;
34
- extensions: z.ZodOptional<z.ZodObject<{
35
- code: z.ZodOptional<z.ZodString>;
36
- }, z.core.$strip>>;
37
- }, z.core.$strip>>;
38
- }, z.core.$strip>;
1
+ import { Schema } from '../core/validation/validator';
2
+ export declare const ConfigSchema: Schema;
3
+ export declare const CreateNoteInputSchema: Schema;
4
+ export declare const UpdateNoteInputSchema: Schema;
5
+ export declare const EnvSchema: Schema;
6
+ export declare const NoteResponseSchema: Schema;
7
+ export declare const ErrorResponseSchema: Schema;
39
8
  export declare function validateConfig(team?: string, token?: string): {
40
9
  isValid: boolean;
41
10
  error?: string;
42
11
  };
12
+ export declare function validateUpdateNoteInput(data: any): {
13
+ isValid: boolean;
14
+ error?: string;
15
+ };
16
+ export declare function validateEnv(env: any): {
17
+ isValid: boolean;
18
+ error?: string;
19
+ };
43
20
  export declare function sanitizeToken(token: string): string;
44
21
  //# sourceMappingURL=_validators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"_validators.d.ts","sourceRoot":"","sources":["../../src/cli/_validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,YAAY;;;iBAGvB,CAAC;AAGH,eAAO,MAAM,qBAAqB;;;;;;iBAMhC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;iBAQhC,CAAC;AAGH,eAAO,MAAM,SAAS;;;;iBAMpB,CAAC;AAGH,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;iBAO9B,CAAC;AAGH,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAYlG;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKnD"}
1
+ {"version":3,"file":"_validators.d.ts","sourceRoot":"","sources":["../../src/cli/_validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAGjE,eAAO,MAAM,YAAY,EAAE,MAa1B,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,MA0BnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAwBnC,CAAC;AAGF,eAAO,MAAM,SAAS,EAAE,MASvB,CAAC;AAGF,eAAO,MAAM,kBAAkB,EAAE,MAiBhC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAwBjC,CAAC;AAGF,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAYlG;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAevF;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAW1E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKnD"}