@exabugs/dynamodb-client 0.1.0 → 0.1.2

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 (37) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +205 -197
  3. package/dist/client/Collection.d.ts +13 -6
  4. package/dist/client/Collection.d.ts.map +1 -1
  5. package/dist/client/Collection.js +1 -1
  6. package/dist/client/Collection.js.map +1 -1
  7. package/dist/client/index.iam.d.ts +1 -1
  8. package/dist/client/index.iam.d.ts.map +1 -1
  9. package/dist/client/index.iam.js.map +1 -1
  10. package/dist/scripts/generate-shadow-config.d.ts +16 -0
  11. package/dist/scripts/generate-shadow-config.d.ts.map +1 -0
  12. package/dist/scripts/generate-shadow-config.js +161 -0
  13. package/dist/scripts/generate-shadow-config.js.map +1 -0
  14. package/dist/server/handler.cjs +2 -2
  15. package/dist/shadows/generator.d.ts +14 -3
  16. package/dist/shadows/generator.d.ts.map +1 -1
  17. package/dist/shadows/generator.js +19 -0
  18. package/dist/shadows/generator.js.map +1 -1
  19. package/dist/shadows/index.d.ts +3 -2
  20. package/dist/shadows/index.d.ts.map +1 -1
  21. package/dist/shadows/index.js +1 -1
  22. package/dist/shadows/index.js.map +1 -1
  23. package/dist/shadows/schema.d.ts +62 -0
  24. package/dist/shadows/schema.d.ts.map +1 -0
  25. package/dist/shadows/schema.js +8 -0
  26. package/dist/shadows/schema.js.map +1 -0
  27. package/dist/shadows/types.d.ts +1 -5
  28. package/dist/shadows/types.d.ts.map +1 -1
  29. package/package.json +7 -4
  30. package/dist/server/handler.zip +0 -0
  31. package/terraform/examples/advanced/README.md +0 -129
  32. package/terraform/examples/advanced/main.tf +0 -158
  33. package/terraform/examples/advanced/shadow.config.json +0 -35
  34. package/terraform/examples/advanced/variables.tf +0 -28
  35. package/terraform/examples/basic/README.md +0 -53
  36. package/terraform/examples/basic/main.tf +0 -99
  37. package/terraform/examples/basic/variables.tf +0 -17
package/CHANGELOG.md CHANGED
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.1.2] - 2024-11-30
11
+
12
+ ### Added
13
+
14
+ - Boolean type support for shadow fields
15
+ - Added `'boolean'` to `ShadowFieldType`
16
+ - Added `formatBoolean()` function for boolean value formatting
17
+ - Boolean values are formatted as `'true'` or `'false'` strings
18
+ - Full test coverage for boolean shadow records
19
+
20
+ ### Changed
21
+
22
+ - Updated `formatFieldValue()` to handle boolean type
23
+ - Updated `generateShadowSK()` to support boolean values
24
+ - Exported `formatBoolean` from shadows module
25
+
10
26
  ## [0.1.0] - 2024-11-29
11
27
 
12
28
  ### Added
package/README.md CHANGED
@@ -1,283 +1,291 @@
1
- # DynamoDB Client SDK
1
+ <div align="center">
2
+
3
+ # 🚀 DynamoDB Client SDK
4
+
5
+ **MongoDB-like API for DynamoDB with Single-Table Design**
2
6
 
3
7
  [![CI](https://github.com/exabugs/dynamodb-client/actions/workflows/ci.yml/badge.svg)](https://github.com/exabugs/dynamodb-client/actions/workflows/ci.yml)
8
+ [![codecov](https://codecov.io/gh/exabugs/dynamodb-client/branch/main/graph/badge.svg)](https://codecov.io/gh/exabugs/dynamodb-client)
4
9
  [![npm version](https://badge.fury.io/js/@exabugs%2Fdynamodb-client.svg)](https://www.npmjs.com/package/@exabugs/dynamodb-client)
10
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
11
+ [![Node.js Version](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen)](https://nodejs.org/)
5
12
 
6
- DynamoDB Single-Table Client SDK with MongoDB-like API, Shadow Records, and Lambda implementation for serverless applications.
13
+ [Features](#-features)
14
+ [Installation](#-installation) •
15
+ [Quick Start](#-quick-start) •
16
+ [Documentation](#-documentation) •
17
+ [Contributing](#-contributing)
7
18
 
8
- ## Features
19
+ </div>
9
20
 
10
- - 🚀 MongoDB-like API for DynamoDB
11
- - 📦 Single-Table Design with Shadow Records
12
- - 🔐 Multiple authentication methods (IAM, Cognito, Token)
13
- - ⚡ Lambda function implementation included
14
- - 🎨 react-admin integration
15
- - 📝 TypeScript support
16
- - 🏗️ Terraform modules for deployment
21
+ ---
17
22
 
18
- ## Installation
23
+ ## ✨ Features
19
24
 
20
- ### From GitHub Packages (Private Repository)
25
+ <table>
26
+ <tr>
27
+ <td width="50%">
21
28
 
22
- 1. Create a Personal Access Token with `read:packages` scope
23
- 2. Configure `.npmrc`:
29
+ ### 🎯 Developer Experience
24
30
 
25
- ```bash
26
- @exabugs:registry=https://npm.pkg.github.com
27
- //npm.pkg.github.com/:_authToken=YOUR_GITHUB_TOKEN
28
- ```
31
+ - **MongoDB-like API** - Familiar syntax for DynamoDB
32
+ - **TypeScript First** - Full type safety out of the box
33
+ - **Zero Config** - Works with sensible defaults
34
+ - **Terraform Ready** - Infrastructure as Code included
29
35
 
30
- 3. Install the package:
36
+ </td>
37
+ <td width="50%">
31
38
 
32
- ```bash
33
- npm install @exabugs/dynamodb-client
34
- ```
39
+ ### ⚡ Performance & Scale
35
40
 
36
- For detailed instructions, see [Private Package Usage Guide](docs/PRIVATE_PACKAGE_USAGE.md).
41
+ - **Single-Table Design** - Optimized data modeling
42
+ - **Shadow Records** - Efficient sorting without GSIs
43
+ - **Lambda Native** - Serverless-first architecture
44
+ - **ARM64 Support** - Cost-optimized compute
37
45
 
38
- ### From npm (Public - Coming Soon)
46
+ </td>
47
+ </tr>
48
+ <tr>
49
+ <td width="50%">
39
50
 
40
- ```bash
41
- npm install @exabugs/dynamodb-client
42
- ```
51
+ ### 🔐 Authentication
43
52
 
44
- ## Quick Start
53
+ - **IAM Roles** - Native AWS authentication
54
+ - **Cognito** - User pool integration
55
+ - **Custom Tokens** - Flexible auth strategies
56
+ - **OIDC + PKCE** - Secure browser flows
45
57
 
46
- ### Client Usage (IAM Authentication)
58
+ </td>
59
+ <td width="50%">
47
60
 
48
- ```typescript
49
- import { DynamoClient } from '@exabugs/dynamodb-client/client/iam';
61
+ ### 🎨 Integrations
50
62
 
51
- const client = new DynamoClient(FUNCTION_URL, {
52
- region: 'ap-northeast-1',
53
- });
63
+ - **react-admin** - Admin UI out of the box
64
+ - **REST API** - Lambda Function URLs
65
+ - **Terraform** - Complete IaC modules
54
66
 
55
- const db = client.db();
56
- const collection = db.collection('articles');
67
+ </td>
68
+ </tr>
69
+ </table>
57
70
 
58
- // Create
59
- await collection.insertOne({ title: 'Hello World', content: '...' });
71
+ ---
60
72
 
61
- // Read
62
- const article = await collection.findOne({ title: 'Hello World' });
73
+ ## 📦 Installation
63
74
 
64
- // Update
65
- await collection.updateOne({ id: article.id }, { $set: { status: 'published' } });
75
+ ```bash
76
+ # npm
77
+ npm install @exabugs/dynamodb-client
66
78
 
67
- // Delete
68
- await collection.deleteOne({ id: article.id });
79
+ # pnpm (recommended)
80
+ pnpm add @exabugs/dynamodb-client
81
+
82
+ # yarn
83
+ yarn add @exabugs/dynamodb-client
69
84
  ```
70
85
 
71
- ### Server Usage (Lambda Function)
86
+ ---
72
87
 
73
- ```typescript
74
- import { createHandler } from '@exabugs/dynamodb-client/server/handler';
88
+ ## 🏗️ Architecture
75
89
 
76
- export const handler = createHandler({
77
- tableName: process.env.TABLE_NAME!,
78
- region: process.env.AWS_REGION!,
79
- });
80
- ```
90
+ ```mermaid
91
+ graph TB
92
+ subgraph "Client Applications"
93
+ A[React Admin]
94
+ B[Mobile App]
95
+ C[Custom App]
96
+ end
81
97
 
82
- ## Requirements
98
+ subgraph "AWS Lambda"
99
+ D[Lambda Function<br/>Function URL]
100
+ end
83
101
 
84
- - Node.js >= 18.0.0
85
- - AWS Account (for DynamoDB and Lambda)
102
+ subgraph "AWS DynamoDB"
103
+ E[(DynamoDB<br/>Single Table)]
104
+ end
86
105
 
87
- ## Development
106
+ A -->|HTTPS| D
107
+ B -->|HTTPS| D
108
+ C -->|HTTPS| D
109
+ D -->|AWS SDK| E
88
110
 
89
- ```bash
90
- # Install dependencies
91
- npm install
111
+ style A fill:#61dafb,stroke:#333,stroke-width:2px
112
+ style B fill:#61dafb,stroke:#333,stroke-width:2px
113
+ style C fill:#61dafb,stroke:#333,stroke-width:2px
114
+ style D fill:#ff9900,stroke:#333,stroke-width:2px
115
+ style E fill:#527fff,stroke:#333,stroke-width:2px
116
+ ```
92
117
 
93
- # Run tests
94
- npm test
118
+ ---
95
119
 
96
- # Run tests with coverage
97
- npm run test:coverage
120
+ ## 🚀 Quick Start & Examples
98
121
 
99
- # Build
100
- npm run build
122
+ Get started in 3 steps: **Schema Definition → Deploy Infrastructure → Use Client**
101
123
 
102
- # Lint
103
- npm run lint
124
+ ### Complete Examples Available
104
125
 
105
- # Format
106
- npm run format
107
- ```
126
+ We provide complete, working examples for every step:
108
127
 
109
- ### 主要コマンド
128
+ | Example | What You'll Learn | Time |
129
+ | ------------------------------------------ | ---------------------------------------------------- | ------ |
130
+ | **[Schema](./examples/schema/)** | Define TypeScript schemas and generate shadow config | 5 min |
131
+ | **[Terraform](./examples/terraform/)** | Deploy Lambda + DynamoDB + Cognito to AWS | 10 min |
132
+ | **[Client](./examples/client/)** | Node.js CRUD operations with MongoDB-like API | 10 min |
133
+ | **[React Admin](./examples/react-admin/)** | Build complete admin UI with authentication | 15 min |
110
134
 
111
- ```bash
112
- # ヘルプを表示
113
- make help
114
-
115
- # 開発
116
- make install # 依存関係のインストール
117
- make build # 全パッケージとLambda関数のビルド
118
- make test # 全パッケージのテスト実行
119
- make lint # Lint実行
120
- make format # フォーマット実行
121
- make clean # ビルド成果物の削除
122
-
123
- # デプロイ
124
- make deploy-dev # dev環境にデプロイ
125
- make deploy-stg # stg環境にデプロイ
126
- make deploy-prd # prd環境にデプロイ
127
-
128
- # インフラ操作
129
- make infra-plan ENV=dev # Terraformプランを表示
130
- make infra-apply ENV=dev # Terraformを適用
131
- make infra-status # Terraform状態を表示
132
-
133
- # Lambda操作
134
- make invoke-fetch ENV=dev # Fetch Lambdaを実行
135
- make logs-fetch ENV=dev # Fetch Lambdaのログを表示
136
- make logs-records ENV=dev # Records Lambdaのログを表示
137
-
138
- # その他
139
- make shadow-config # shadow.config.jsonを再生成
135
+ ### Quick Example
136
+
137
+ ```typescript
138
+ // 1. Define schema
139
+ export const MySchema: SchemaRegistryConfig = {
140
+ database: { name: 'myapp' },
141
+ resources: {
142
+ articles: {
143
+ resource: 'articles',
144
+ type: {} as Article,
145
+ shadows: { sortableFields: { title: { type: 'string' } } },
146
+ },
147
+ },
148
+ };
149
+
150
+ // 2. Deploy with Terraform (see examples/terraform/)
151
+ // terraform apply
152
+
153
+ // 3. Use the client
154
+ const client = new DynamoClient(FUNCTION_URL);
155
+ const articles = client.db().collection('articles');
156
+
157
+ await articles.insertOne({ title: 'Hello DynamoDB' });
158
+ const article = await articles.findOne({ title: 'Hello DynamoDB' });
140
159
  ```
141
160
 
142
- ### 個別Makefileの使用
161
+ ### 📚 Full Documentation
143
162
 
144
- 各Lambda関数には個別のMakefileも用意されています:
163
+ 👉 **[Complete Examples Guide →](./examples/)** - Step-by-step tutorials with full source code
145
164
 
146
- ```bash
147
- # Fetch Lambda
148
- cd functions/fetch
149
- make help
150
- make build
151
- make deploy ENV=dev
152
- make invoke
153
- make logs
154
-
155
- # Terraform
156
- cd infra
157
- make help
158
- make plan ENV=dev
159
- make apply ENV=dev
160
- make status
161
- ```
165
+ Each example includes:
162
166
 
163
- 詳細は[Makefile運用ガイドライン](.kiro/steering/makefile-operations.md)を参照してください。
167
+ - ✅ Complete source code
168
+ - ✅ Step-by-step instructions
169
+ - ✅ Terraform integration
170
+ - ✅ Configuration templates
164
171
 
165
- ## Records Lambda
172
+ ---
166
173
 
167
- Records Lambdaは`@exabugs/dynamodb-client`ライブラリに統合されています。
174
+ ## 📚 Documentation
168
175
 
169
- 詳細は[packages/core/README.md](packages/core/README.md)を参照してください。
176
+ ### Available Documentation
170
177
 
171
- ## ワークスペース構成
178
+ - **[Architecture](docs/ARCHITECTURE.md)** - System architecture and design
179
+ - **[Client Usage](docs/CLIENT_USAGE.md)** - Client-side API guide
180
+ - **[React Admin Integration](docs/react-admin-integration.md)** - Admin UI setup
181
+ - **[Deployment](docs/DEPLOYMENT.md)** - Production deployment guide
182
+ - **[Terraform Modules](terraform/README.md)** - Infrastructure as Code
172
183
 
173
- ```
174
- .
175
- ├── apps/ # アプリケーション (Admin UI, Mobile App)
176
- ├── functions/ # Lambda関数 (Fetch, Pipeline, Maintenance)
177
- ├── packages/ # 共有ライブラリ (core, shadows, graphql-types)
178
- │ └── core/ # Records Lambda(サーバー実装)を含む
179
- └── infra/ # Terraform設定
180
- ```
181
-
182
- **注**: Records Lambdaは`packages/core/`に統合されています。
184
+ ### GitHub Actions
183
185
 
184
- ## Admin UI 開発・デプロイ
186
+ - **[GitHub Actions Setup](docs/GITHUB_ACTIONS_SETUP.md)** - CI/CD configuration
187
+ - **[Troubleshooting](docs/GITHUB_ACTIONS_TROUBLESHOOTING.md)** - Common issues and solutions
185
188
 
186
- ### ローカル開発
189
+ ---
187
190
 
188
- ```bash
189
- # 開発サーバー起動
190
- pnpm --filter @ainews/admin dev
191
+ ## 🛠️ Development
191
192
 
192
- # ブラウザで http://localhost:3000 にアクセス
193
- ```
193
+ ### Prerequisites
194
194
 
195
- ### 環境変数設定
195
+ - Node.js >= 18.0.0
196
+ - npm, pnpm, or yarn
197
+ - AWS Account (for deployment)
196
198
 
197
- `apps/admin/.env`ファイルを作成:
199
+ ### Setup
198
200
 
199
201
  ```bash
200
- # Records Lambda Function URL
201
- VITE_RECORDS_API_URL=https://xxxxx.lambda-url.us-east-1.on.aws/
202
+ # Clone repository
203
+ git clone https://github.com/exabugs/dynamodb-client.git
204
+ cd dynamodb-client
202
205
 
203
- # Cognito User Pool設定
204
- VITE_COGNITO_USER_POOL_ID=us-east-1_xxxxxxxxx
205
- VITE_COGNITO_USER_POOL_CLIENT_ID=xxxxxxxxxxxxxxxxxxxxxxxxxx
206
- VITE_COGNITO_DOMAIN=ainews-dev-auth.auth.us-east-1.amazoncognito.com
207
- VITE_COGNITO_REGION=us-east-1
206
+ # Install dependencies
207
+ npm install
208
+
209
+ # Run tests
210
+ npm test
208
211
 
209
- # 開発環境で認証を無効化する場合のみ(本番環境では必ずfalse)
210
- VITE_DISABLE_AUTH=false
212
+ # Build
213
+ npm run build
211
214
  ```
212
215
 
213
- ### 重要な設定
216
+ ### Available Commands
214
217
 
215
- **必須**: Admin UIは**BrowserRouter**を使用します。HashRouterは使用しないでください。
218
+ ```bash
219
+ npm test # Run tests
220
+ npm run test:coverage # Run tests with coverage
221
+ npm run lint # Lint code
222
+ npm run format # Format code
223
+ npm run build # Build package
224
+ npm run clean # Clean build artifacts
225
+ ```
216
226
 
217
- 理由:
227
+ ---
218
228
 
219
- - Cognito Hosted UIの認証コールバックがクエリパラメータ(`?code=xxx`)を使用
220
- - HashRouter(`#/`)ではクエリパラメータが正しく処理されない
229
+ ## 🚢 Deployment
221
230
 
222
- ### 本番デプロイ(CloudFront)
231
+ ### Using Terraform
223
232
 
224
- CloudFront経由で配信する場合、以下の設定が必要です:
233
+ ```bash
234
+ cd terraform
235
+ terraform init
236
+ terraform plan -var-file=envs/dev.tfvars
237
+ terraform apply -var-file=envs/dev.tfvars
238
+ ```
225
239
 
226
- 1. **エラーページ設定**: 404/403エラーを`/index.html`にリダイレクト(SPA対応)
227
- 2. **キャッシュ設定**:
228
- - `index.html`: キャッシュしない(TTL=0)
229
- - 静的アセット(JS/CSS/画像): 長期キャッシュ(TTL=7日〜1年)
230
- 3. **Cognitoコールバック URL**: 本番ドメインを追加
240
+ ### Using Make
231
241
 
232
- 詳細は[設計書](.kiro/specs/ainews-pipeline/design.md)の「Admin UI 重要な設定」セクションを参照してください。
242
+ ```bash
243
+ make deploy-dev # Deploy to dev environment
244
+ make deploy-stg # Deploy to staging
245
+ make deploy-prd # Deploy to production
246
+ ```
233
247
 
234
- ### トラブルシューティング
248
+ ---
235
249
 
236
- #### CORSエラーが発生する場合
250
+ ## 🤝 Contributing
237
251
 
238
- 1. **Lambda関数を最新版にデプロイ**:
252
+ We welcome contributions!
239
253
 
240
- ```bash
241
- cd functions/records
242
- pnpm build
243
- cd ../../infra
244
- terraform apply -var-file=envs/dev.tfvars
245
- ```
254
+ ### Development Workflow
246
255
 
247
- 2. **ブラウザのキャッシュをクリア**: Cmd+Shift+R (Mac) または Ctrl+Shift+R (Windows/Linux)
256
+ 1. Fork the repository
257
+ 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
258
+ 3. Commit your changes (`git commit -m 'Add amazing feature'`)
259
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
260
+ 5. Open a Pull Request
248
261
 
249
- 3. **Lambda Function URLのCORS設定を確認**: `infra/modules/api/lambda-records/main.tf`
262
+ ### Guidelines
250
263
 
251
- **重要**: Lambda Function URLのCORS設定を使用するため、Lambda関数のハンドラーではCORSヘッダーを設定しません。
264
+ - Follow the existing code style
265
+ - Add tests for new features
266
+ - Update documentation as needed
267
+ - Ensure all tests pass before submitting
252
268
 
253
- #### Cognito Hosted UIでログインできない場合
269
+ ---
254
270
 
255
- 1. **開発サーバーのポートを確認**: `http://localhost:3000` で起動していることを確認
256
- - Vite設定で `strictPort: true` が設定されているため、ポート3000が使用中の場合はエラーになります
257
- - 他のプロセスがポート3000を使用していないか確認してください
271
+ ## 📄 License
258
272
 
259
- 2. **Cognitoのコールバック/ログアウトURLを確認**: `infra/envs/dev.tfvars`
273
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
260
274
 
261
- ```hcl
262
- admin_callback_urls = [
263
- "http://localhost:3000",
264
- "http://localhost:3000/callback",
265
- ...
266
- ]
267
- ```
275
+ ---
268
276
 
269
- 3. **ブラウザのローカルストレージをクリア**: 古いセッション情報が残っている可能性があります
277
+ ## 🙏 Acknowledgments
270
278
 
271
- ## ドキュメント
279
+ - Built with [AWS SDK for JavaScript](https://aws.amazon.com/sdk-for-javascript/)
280
+ - Inspired by [MongoDB](https://www.mongodb.com/) API design
281
+ - Powered by [TypeScript](https://www.typescriptlang.org/)
272
282
 
273
- 詳細な設計・要件については以下を参照してください:
283
+ ---
274
284
 
275
- - [要件定義書](.kiro/specs/ainews-pipeline/requirements.md)
276
- - [設計書](.kiro/specs/ainews-pipeline/design.md)
277
- - [実装タスクリスト](.kiro/specs/ainews-pipeline/tasks.md)
285
+ <div align="center">
278
286
 
279
- ## ライセンス
287
+ **[⬆ back to top](#-dynamodb-client-sdk)**
280
288
 
281
- MIT License - 詳細は [LICENSE](LICENSE) ファイルを参照してください。
289
+ Made with ❤️ by [exabugs](https://github.com/exabugs)
282
290
 
283
- Copyright (c) 2024 exabugs
291
+ </div>
@@ -11,9 +11,16 @@ import { FindCursor } from './FindCursor.js';
11
11
  */
12
12
  export type AuthHeadersGetter<TAuthOptions = unknown> = (endpoint: string, body: string, authOptions?: TAuthOptions) => Promise<Record<string, string>>;
13
13
  /**
14
- * コレクションのドキュメント型の基本インターフェース
14
+ * ドキュメント入力型の基本インターフェース(id はオプショナル)
15
15
  */
16
- export interface DocumentBase {
16
+ export interface InputBase {
17
+ id?: string;
18
+ [key: string]: unknown;
19
+ }
20
+ /**
21
+ * ドキュメント結果型の基本インターフェース(id は必須)
22
+ */
23
+ export interface ResultBase {
17
24
  id: string;
18
25
  [key: string]: unknown;
19
26
  }
@@ -23,10 +30,10 @@ export interface DocumentBase {
23
30
  * MongoDB風のCRUD操作を提供します。
24
31
  * 型安全なフィルタとクエリAPIでDynamoDBを操作できます。
25
32
  *
26
- * @template TSchema - コレクションのドキュメント型
33
+ * @template TSchema - コレクションのドキュメント型(ResultBase を extends)
27
34
  * @template TAuthOptions - 認証オプションの型
28
35
  */
29
- export declare class Collection<TSchema extends DocumentBase = DocumentBase, TAuthOptions = unknown> {
36
+ export declare class Collection<TSchema extends ResultBase = ResultBase, TAuthOptions = unknown> {
30
37
  private endpoint;
31
38
  private databaseName;
32
39
  private collectionName;
@@ -47,8 +54,8 @@ export declare class Collection<TSchema extends DocumentBase = DocumentBase, TAu
47
54
  find(filter?: Filter<TSchema>, options?: FindOptions): FindCursor<TSchema, TAuthOptions>;
48
55
  findOne(filter: Filter<TSchema>): Promise<TSchema | null>;
49
56
  findMany(ids: string[]): Promise<TSchema[]>;
50
- insertOne(document: TSchema): Promise<InsertOneResult>;
51
- insertMany(documents: TSchema[]): Promise<InsertManyResult>;
57
+ insertOne(document: InputBase & Omit<TSchema, 'id'>): Promise<InsertOneResult>;
58
+ insertMany(documents: (InputBase & Omit<TSchema, 'id'>)[]): Promise<InsertManyResult>;
52
59
  updateOne(filter: Filter<TSchema>, update: UpdateOperators<TSchema>): Promise<UpdateResult>;
53
60
  updateMany(filter: Filter<TSchema>, update: UpdateOperators<TSchema>): Promise<UpdateResult>;
54
61
  deleteOne(filter: Filter<TSchema>): Promise<DeleteResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../src/client/Collection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,YAAY,GAAG,OAAO,IAAI,CACtD,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,YAAY,KACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,UAAU,CAAC,OAAO,SAAS,YAAY,GAAG,YAAY,EAAE,YAAY,GAAG,OAAO;IAEvF,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,cAAc;gBANd,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,WAAW,EAAE,YAAY,GAAG,SAAS,EACrC,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,cAAc,EAAE,iBAAiB,CAAC,YAAY,CAAC;IAGzD,OAAO,IAAI,MAAM;IAIjB,WAAW,IAAI,MAAM;IAIrB,eAAe,IAAI,MAAM;IAIzB,YAAY,IAAI,MAAM,GAAG,SAAS;IAIlC,cAAc,IAAI,YAAY,GAAG,SAAS;IAI1C;;OAEG;YACW,OAAO;IAwDrB,IAAI,CAAC,MAAM,GAAE,MAAM,CAAC,OAAO,CAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC;IActF,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAUzD,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAU3C,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAStD,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmB3D,SAAS,CACb,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EACvB,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,GAC/B,OAAO,CAAC,YAAY,CAAC;IAelB,UAAU,CACd,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EACvB,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,GAC/B,OAAO,CAAC,YAAY,CAAC;IAkBlB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IASzD,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;CAUjE"}
1
+ {"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../src/client/Collection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,YAAY,GAAG,OAAO,IAAI,CACtD,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,YAAY,KACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,UAAU,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,YAAY,GAAG,OAAO;IAEnF,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,cAAc;gBANd,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,WAAW,EAAE,YAAY,GAAG,SAAS,EACrC,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,cAAc,EAAE,iBAAiB,CAAC,YAAY,CAAC;IAGzD,OAAO,IAAI,MAAM;IAIjB,WAAW,IAAI,MAAM;IAIrB,eAAe,IAAI,MAAM;IAIzB,YAAY,IAAI,MAAM,GAAG,SAAS;IAIlC,cAAc,IAAI,YAAY,GAAG,SAAS;IAI1C;;OAEG;YACW,OAAO;IAwDrB,IAAI,CAAC,MAAM,GAAE,MAAM,CAAC,OAAO,CAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC;IActF,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAUzD,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAU3C,SAAS,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAS9E,UAAU,CAAC,SAAS,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmBrF,SAAS,CACb,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EACvB,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,GAC/B,OAAO,CAAC,YAAY,CAAC;IAelB,UAAU,CACd,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EACvB,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,GAC/B,OAAO,CAAC,YAAY,CAAC;IAkBlB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IASzD,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;CAUjE"}
@@ -5,7 +5,7 @@ import { FindCursor } from './FindCursor.js';
5
5
  * MongoDB風のCRUD操作を提供します。
6
6
  * 型安全なフィルタとクエリAPIでDynamoDBを操作できます。
7
7
  *
8
- * @template TSchema - コレクションのドキュメント型
8
+ * @template TSchema - コレクションのドキュメント型(ResultBase を extends)
9
9
  * @template TAuthOptions - 認証オプションの型
10
10
  */
11
11
  export class Collection {
@@ -1 +1 @@
1
- {"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../src/client/Collection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../src/client/Collection.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { type ClientOptions as BaseClientOptions, DynamoClient as BaseDynamoClient } from './DynamoClient.js';
8
8
  export { Database } from './Database.js';
9
- export { Collection } from './Collection.js';
9
+ export { Collection, type InputBase, type ResultBase } from './Collection.js';
10
10
  export { FindCursor } from './FindCursor.js';
11
11
  /**
12
12
  * IAM認証オプション
@@ -1 +1 @@
1
- {"version":3,"file":"index.iam.d.ts","sourceRoot":"","sources":["../../src/client/index.iam.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,KAAK,aAAa,IAAI,iBAAiB,EACvC,YAAY,IAAI,gBAAgB,EACjC,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACpF,kBAAkB;IAClB,IAAI,EAAE,cAAc,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,gBAAgB,CAAC,cAAc,CAAC;gBACpD,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa;CAQrD"}
1
+ {"version":3,"file":"index.iam.d.ts","sourceRoot":"","sources":["../../src/client/index.iam.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,KAAK,aAAa,IAAI,iBAAiB,EACvC,YAAY,IAAI,gBAAgB,EACjC,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACpF,kBAAkB;IAClB,IAAI,EAAE,cAAc,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,gBAAgB,CAAC,cAAc,CAAC;gBACpD,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa;CAQrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.iam.js","sourceRoot":"","sources":["../../src/client/index.iam.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAEL,YAAY,IAAI,gBAAgB,GACjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAkB7C;;;;;GAKG;AACH,MAAM,OAAO,YAAa,SAAQ,gBAAgC;IAChE,YAAY,QAAgB,EAAE,OAAsB;QAClD,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,GAAW,EAAE,IAAY,EAAE,IAAqB,EAAE,EAAE;YAClF,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,MAAM,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"index.iam.js","sourceRoot":"","sources":["../../src/client/index.iam.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAEL,YAAY,IAAI,gBAAgB,GACjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAmC,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAkB7C;;;;;GAKG;AACH,MAAM,OAAO,YAAa,SAAQ,gBAAgC;IAChE,YAAY,QAAgB,EAAE,OAAsB;QAClD,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,GAAW,EAAE,IAAY,EAAE,IAAqB,EAAE,EAAE;YAClF,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,MAAM,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Shadow Config 自動生成スクリプト
4
+ *
5
+ * TypeScript スキーマファイルから shadow.config.json を自動生成する。
6
+ * TypeScript のスキーマ定義が唯一の情報源(Single Source of Truth)となり、
7
+ * 設定ファイルとの不整合を防ぐ。
8
+ *
9
+ * 使用方法:
10
+ * npx generate-shadow-config <schema-file> -o <output-file>
11
+ *
12
+ * 例:
13
+ * npx generate-shadow-config schema.ts -o shadow.config.json
14
+ */
15
+ export {};
16
+ //# sourceMappingURL=generate-shadow-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-shadow-config.d.ts","sourceRoot":"","sources":["../../src/scripts/generate-shadow-config.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG"}