@exabugs/dynamodb-client 1.3.44 → 1.3.45

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 (102) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/bin/dynamodb-mcp.js +13 -0
  3. package/dist/integrations/react-admin/components/ReferenceManyToManyInput.d.ts.map +1 -1
  4. package/dist/integrations/react-admin/components/ReferenceManyToManyInput.js +11 -0
  5. package/dist/integrations/react-admin/components/ReferenceManyToManyInput.js.map +1 -1
  6. package/dist/mcp/adapter.d.ts +36 -0
  7. package/dist/mcp/adapter.d.ts.map +1 -0
  8. package/dist/mcp/adapter.js +213 -0
  9. package/dist/mcp/adapter.js.map +1 -0
  10. package/dist/mcp/cli.d.ts +2 -0
  11. package/dist/mcp/cli.d.ts.map +1 -0
  12. package/dist/mcp/cli.js +123 -0
  13. package/dist/mcp/cli.js.map +1 -0
  14. package/dist/mcp/index.d.ts +7 -0
  15. package/dist/mcp/index.d.ts.map +1 -0
  16. package/dist/mcp/index.js +6 -0
  17. package/dist/mcp/index.js.map +1 -0
  18. package/dist/mcp/server.d.ts +18 -0
  19. package/dist/mcp/server.d.ts.map +1 -0
  20. package/dist/mcp/server.js +127 -0
  21. package/dist/mcp/server.js.map +1 -0
  22. package/dist/mcp/tools/deleteMany.d.ts +12 -0
  23. package/dist/mcp/tools/deleteMany.d.ts.map +1 -0
  24. package/dist/mcp/tools/deleteMany.js +26 -0
  25. package/dist/mcp/tools/deleteMany.js.map +1 -0
  26. package/dist/mcp/tools/deleteOne.d.ts +12 -0
  27. package/dist/mcp/tools/deleteOne.d.ts.map +1 -0
  28. package/dist/mcp/tools/deleteOne.js +26 -0
  29. package/dist/mcp/tools/deleteOne.js.map +1 -0
  30. package/dist/mcp/tools/find.d.ts +12 -0
  31. package/dist/mcp/tools/find.d.ts.map +1 -0
  32. package/dist/mcp/tools/find.js +64 -0
  33. package/dist/mcp/tools/find.js.map +1 -0
  34. package/dist/mcp/tools/findMany.d.ts +12 -0
  35. package/dist/mcp/tools/findMany.d.ts.map +1 -0
  36. package/dist/mcp/tools/findMany.js +30 -0
  37. package/dist/mcp/tools/findMany.js.map +1 -0
  38. package/dist/mcp/tools/findManyReference.d.ts +12 -0
  39. package/dist/mcp/tools/findManyReference.d.ts.map +1 -0
  40. package/dist/mcp/tools/findManyReference.js +34 -0
  41. package/dist/mcp/tools/findManyReference.js.map +1 -0
  42. package/dist/mcp/tools/findOne.d.ts +12 -0
  43. package/dist/mcp/tools/findOne.d.ts.map +1 -0
  44. package/dist/mcp/tools/findOne.js +26 -0
  45. package/dist/mcp/tools/findOne.js.map +1 -0
  46. package/dist/mcp/tools/index.d.ts +13 -0
  47. package/dist/mcp/tools/index.d.ts.map +1 -0
  48. package/dist/mcp/tools/index.js +29 -0
  49. package/dist/mcp/tools/index.js.map +1 -0
  50. package/dist/mcp/tools/insertMany.d.ts +12 -0
  51. package/dist/mcp/tools/insertMany.d.ts.map +1 -0
  52. package/dist/mcp/tools/insertMany.js +30 -0
  53. package/dist/mcp/tools/insertMany.js.map +1 -0
  54. package/dist/mcp/tools/insertOne.d.ts +12 -0
  55. package/dist/mcp/tools/insertOne.d.ts.map +1 -0
  56. package/dist/mcp/tools/insertOne.js +26 -0
  57. package/dist/mcp/tools/insertOne.js.map +1 -0
  58. package/dist/mcp/tools/updateMany.d.ts +12 -0
  59. package/dist/mcp/tools/updateMany.d.ts.map +1 -0
  60. package/dist/mcp/tools/updateMany.js +30 -0
  61. package/dist/mcp/tools/updateMany.js.map +1 -0
  62. package/dist/mcp/tools/updateOne.d.ts +12 -0
  63. package/dist/mcp/tools/updateOne.d.ts.map +1 -0
  64. package/dist/mcp/tools/updateOne.js +40 -0
  65. package/dist/mcp/tools/updateOne.js.map +1 -0
  66. package/dist/mcp/types.d.ts +50 -0
  67. package/dist/mcp/types.d.ts.map +1 -0
  68. package/dist/mcp/types.js +49 -0
  69. package/dist/mcp/types.js.map +1 -0
  70. package/dist/scripts/operations/bulkRecordRepair.js +9 -2
  71. package/dist/scripts/operations/bulkRecordRepair.js.map +1 -1
  72. package/dist/scripts/utils/clientFactory.d.ts.map +1 -1
  73. package/dist/scripts/utils/clientFactory.js +7 -0
  74. package/dist/scripts/utils/clientFactory.js.map +1 -1
  75. package/dist/server/handler.cjs +31 -18
  76. package/dist/server/handler.cjs.map +2 -2
  77. package/dist/server/operations/find/idQuery.d.ts.map +1 -1
  78. package/dist/server/operations/find/idQuery.js.map +1 -1
  79. package/dist/server/operations/find/shadowQuery.js.map +1 -1
  80. package/dist/server/operations/find/types.d.ts +2 -2
  81. package/dist/server/operations/find/types.d.ts.map +1 -1
  82. package/dist/server/operations/find/utils.d.ts +3 -2
  83. package/dist/server/operations/find/utils.d.ts.map +1 -1
  84. package/dist/server/operations/find/utils.js +16 -4
  85. package/dist/server/operations/find/utils.js.map +1 -1
  86. package/dist/server/operations/operationDispatcher.js.map +1 -1
  87. package/dist/server/operations/parameterConverter.d.ts +5 -5
  88. package/dist/server/operations/parameterConverter.d.ts.map +1 -1
  89. package/dist/server/operations/parameterConverter.js +30 -14
  90. package/dist/server/operations/parameterConverter.js.map +1 -1
  91. package/dist/server/query/converter.d.ts +54 -4
  92. package/dist/server/query/converter.d.ts.map +1 -1
  93. package/dist/server/query/converter.js +53 -3
  94. package/dist/server/query/converter.js.map +1 -1
  95. package/dist/server/query/nearSearch.js +1 -1
  96. package/dist/server/query/nearSearch.js.map +1 -1
  97. package/dist/server/types.d.ts +0 -3
  98. package/dist/server/types.d.ts.map +1 -1
  99. package/dist/shadows/generator.d.ts +3 -3
  100. package/dist/shadows/generator.d.ts.map +1 -1
  101. package/dist/shadows/generator.js.map +1 -1
  102. package/package.json +15 -2
@@ -0,0 +1,30 @@
1
+ /**
2
+ * dynamodb_updateMany ツール
3
+ *
4
+ * DynamoDBの複数レコードを一括更新します。
5
+ */
6
+ export const updateManyTool = {
7
+ "name": "dynamodb_updateMany",
8
+ "description": "DynamoDBの複数レコードを一括更新します。",
9
+ "inputSchema": {
10
+ "type": "object",
11
+ "properties": {
12
+ "collection": {
13
+ "type": "string",
14
+ "description": "コレクション名(例: venues, users)"
15
+ },
16
+ "filter": {
17
+ "type": "object",
18
+ "description": "フィルター条件(MongoDB形式)。例: { status: \"active\", age: { $gte: 18 } }"
19
+ },
20
+ "data": {
21
+ "type": "object",
22
+ "description": "作成または更新するデータ"
23
+ }
24
+ },
25
+ "required": [
26
+ "collection"
27
+ ]
28
+ }
29
+ };
30
+ //# sourceMappingURL=updateMany.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateMany.js","sourceRoot":"","sources":["../../../src/mcp/tools/updateMany.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAS;IAClC,MAAM,EAAE,qBAAqB;IAC7B,aAAa,EAAE,0BAA0B;IACzC,aAAa,EAAE;QACb,MAAM,EAAE,QAAQ;QAChB,YAAY,EAAE;YACZ,YAAY,EAAE;gBACZ,MAAM,EAAE,QAAQ;gBAChB,aAAa,EAAE,2BAA2B;aAC3C;YACD,QAAQ,EAAE;gBACR,MAAM,EAAE,QAAQ;gBAChB,aAAa,EAAE,iEAAiE;aACjF;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,QAAQ;gBAChB,aAAa,EAAE,cAAc;aAC9B;SACF;QACD,UAAU,EAAE;YACV,YAAY;SACb;KACF;CACF,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * dynamodb_updateOne ツール定義
3
+ * DynamoDBの単一レコードを更新します。
4
+ */
5
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
6
+ /**
7
+ * dynamodb_updateOne ツール
8
+ *
9
+ * DynamoDBの単一レコードを更新します。
10
+ */
11
+ export declare const updateOneTool: Tool;
12
+ //# sourceMappingURL=updateOne.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateOne.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/updateOne.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,IAiC3B,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * dynamodb_updateOne ツール
3
+ *
4
+ * DynamoDBの単一レコードを更新します。
5
+ */
6
+ export const updateOneTool = {
7
+ "name": "dynamodb_updateOne",
8
+ "description": "DynamoDBの単一レコードを更新します。",
9
+ "inputSchema": {
10
+ "type": "object",
11
+ "properties": {
12
+ "collection": {
13
+ "type": "string",
14
+ "description": "コレクション名(例: venues, users)"
15
+ },
16
+ "id": {
17
+ "type": "string",
18
+ "description": "レコードID"
19
+ },
20
+ "data": {
21
+ "type": "object",
22
+ "description": "作成または更新するデータ"
23
+ },
24
+ "options": {
25
+ "type": "object",
26
+ "description": "操作オプション",
27
+ "properties": {
28
+ "upsert": {
29
+ "type": "boolean",
30
+ "description": "レコードが存在しない場合に新規作成するか(デフォルト: false)"
31
+ }
32
+ }
33
+ }
34
+ },
35
+ "required": [
36
+ "collection"
37
+ ]
38
+ }
39
+ };
40
+ //# sourceMappingURL=updateOne.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateOne.js","sourceRoot":"","sources":["../../../src/mcp/tools/updateOne.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAS;IACjC,MAAM,EAAE,oBAAoB;IAC5B,aAAa,EAAE,wBAAwB;IACvC,aAAa,EAAE;QACb,MAAM,EAAE,QAAQ;QAChB,YAAY,EAAE;YACZ,YAAY,EAAE;gBACZ,MAAM,EAAE,QAAQ;gBAChB,aAAa,EAAE,2BAA2B;aAC3C;YACD,IAAI,EAAE;gBACJ,MAAM,EAAE,QAAQ;gBAChB,aAAa,EAAE,QAAQ;aACxB;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,QAAQ;gBAChB,aAAa,EAAE,cAAc;aAC9B;YACD,SAAS,EAAE;gBACT,MAAM,EAAE,QAAQ;gBAChB,aAAa,EAAE,SAAS;gBACxB,YAAY,EAAE;oBACZ,QAAQ,EAAE;wBACR,MAAM,EAAE,SAAS;wBACjB,aAAa,EAAE,oCAAoC;qBACpD;iBACF;aACF;SACF;QACD,UAAU,EAAE;YACV,YAAY;SACb;KACF;CACF,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * MCP固有型定義
3
+ */
4
+ /**
5
+ * MCPサーバー設定
6
+ */
7
+ export interface MCPServerConfig {
8
+ /** DynamoDBテーブル名 */
9
+ tableName: string;
10
+ /** AWSリージョン */
11
+ region?: string;
12
+ /** AWSプロファイル */
13
+ profile?: string;
14
+ /** AWSアクセスキーID */
15
+ accessKeyId?: string;
16
+ /** AWSシークレットアクセスキー */
17
+ secretAccessKey?: string;
18
+ }
19
+ /**
20
+ * MCPエラーコード
21
+ */
22
+ export declare enum MCPErrorCode {
23
+ /** 無効なツール名 */
24
+ INVALID_TOOL_NAME = "INVALID_TOOL_NAME",
25
+ /** 無効な操作 */
26
+ INVALID_OPERATION = "INVALID_OPERATION",
27
+ /** 必須パラメータ不足 */
28
+ MISSING_REQUIRED_PARAMETER = "MISSING_REQUIRED_PARAMETER",
29
+ /** 無効なパラメータ */
30
+ INVALID_PARAMETER = "INVALID_PARAMETER",
31
+ /** DynamoDB操作エラー */
32
+ DYNAMODB_ERROR = "DYNAMODB_ERROR",
33
+ /** 認証エラー */
34
+ AUTHENTICATION_ERROR = "AUTHENTICATION_ERROR",
35
+ /** 内部エラー */
36
+ INTERNAL_ERROR = "INTERNAL_ERROR"
37
+ }
38
+ /**
39
+ * MCPエラー
40
+ */
41
+ export declare class MCPError extends Error {
42
+ code: MCPErrorCode;
43
+ details?: Record<string, unknown> | undefined;
44
+ constructor(code: MCPErrorCode, message: string, details?: Record<string, unknown> | undefined);
45
+ /**
46
+ * エラーをJSON形式に変換
47
+ */
48
+ toJSON(): Record<string, unknown>;
49
+ }
50
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,cAAc;IACd,iBAAiB,sBAAsB;IACvC,YAAY;IACZ,iBAAiB,sBAAsB;IACvC,gBAAgB;IAChB,0BAA0B,+BAA+B;IACzD,eAAe;IACf,iBAAiB,sBAAsB;IACvC,oBAAoB;IACpB,cAAc,mBAAmB;IACjC,YAAY;IACZ,oBAAoB,yBAAyB;IAC7C,YAAY;IACZ,cAAc,mBAAmB;CAClC;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;IAExB,IAAI,EAAE,YAAY;IAElB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,YAAY,EACzB,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;IAM1C;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CASlC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * MCP固有型定義
3
+ */
4
+ /**
5
+ * MCPエラーコード
6
+ */
7
+ export var MCPErrorCode;
8
+ (function (MCPErrorCode) {
9
+ /** 無効なツール名 */
10
+ MCPErrorCode["INVALID_TOOL_NAME"] = "INVALID_TOOL_NAME";
11
+ /** 無効な操作 */
12
+ MCPErrorCode["INVALID_OPERATION"] = "INVALID_OPERATION";
13
+ /** 必須パラメータ不足 */
14
+ MCPErrorCode["MISSING_REQUIRED_PARAMETER"] = "MISSING_REQUIRED_PARAMETER";
15
+ /** 無効なパラメータ */
16
+ MCPErrorCode["INVALID_PARAMETER"] = "INVALID_PARAMETER";
17
+ /** DynamoDB操作エラー */
18
+ MCPErrorCode["DYNAMODB_ERROR"] = "DYNAMODB_ERROR";
19
+ /** 認証エラー */
20
+ MCPErrorCode["AUTHENTICATION_ERROR"] = "AUTHENTICATION_ERROR";
21
+ /** 内部エラー */
22
+ MCPErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
23
+ })(MCPErrorCode || (MCPErrorCode = {}));
24
+ /**
25
+ * MCPエラー
26
+ */
27
+ export class MCPError extends Error {
28
+ code;
29
+ details;
30
+ constructor(code, message, details) {
31
+ super(message);
32
+ this.code = code;
33
+ this.details = details;
34
+ this.name = 'MCPError';
35
+ }
36
+ /**
37
+ * エラーをJSON形式に変換
38
+ */
39
+ toJSON() {
40
+ return {
41
+ error: {
42
+ code: this.code,
43
+ message: this.message,
44
+ details: this.details,
45
+ },
46
+ };
47
+ }
48
+ }
49
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkBH;;GAEG;AACH,MAAM,CAAN,IAAY,YAeX;AAfD,WAAY,YAAY;IACtB,cAAc;IACd,uDAAuC,CAAA;IACvC,YAAY;IACZ,uDAAuC,CAAA;IACvC,gBAAgB;IAChB,yEAAyD,CAAA;IACzD,eAAe;IACf,uDAAuC,CAAA;IACvC,oBAAoB;IACpB,iDAAiC,CAAA;IACjC,YAAY;IACZ,6DAA6C,CAAA;IAC7C,YAAY;IACZ,iDAAiC,CAAA;AACnC,CAAC,EAfW,YAAY,KAAZ,YAAY,QAevB;AAED;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IAExB;IAEA;IAHT,YACS,IAAkB,EACzB,OAAe,EACR,OAAiC;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAc;QAElB,YAAO,GAAP,OAAO,CAA0B;QAGxC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -61,9 +61,16 @@ async function processRecord(mainRecord, stats, dryRun, collection) {
61
61
  }
62
62
  }
63
63
  catch (error) {
64
+ /**
65
+ * NOTE: スクリプトでのエラーハンドリング
66
+ *
67
+ * このスクリプトはメンテナンス用のツールであり、本番コードではありません。
68
+ * エラーメッセージの取得のために unknown 型から Error 型への変換を行っています。
69
+ */
64
70
  stats.failed++;
65
- stats.errors.push({ id: recordId, error: error.message });
66
- console.error(` ✗ Failed: ${error.message}`);
71
+ const errorMessage = error instanceof Error ? error.message : String(error);
72
+ stats.errors.push({ id: recordId, error: errorMessage });
73
+ console.error(` ✗ Failed: ${errorMessage}`);
67
74
  }
68
75
  }
69
76
  //# sourceMappingURL=bulkRecordRepair.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bulkRecordRepair.js","sourceRoot":"","sources":["../../../src/scripts/operations/bulkRecordRepair.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,gBAAgB,GAEjB,MAAM,yBAAyB,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAA4E,EAC5E,MAAe;IAEf,MAAM,KAAK,GAAgB;QACzB,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEtD,WAAW;IACX,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;IAE/C,WAAW;IACX,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;QACjC,MAAM,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU;IACV,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAC5B,UAA4E;IAE5E,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,aAAa,CAC1B,UAAkD,EAClD,KAAkB,EAClB,MAAe,EACf,UAA4E;IAE5E,KAAK,CAAC,OAAO,EAAE,CAAC;IAChB,MAAM,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC;IAE/B,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAEnF,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,CAAC,WAAW,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CACT,MAAM,KAAK,CAAC,OAAO,YAAY,QAAQ,aAAa,cAAc,WAAW,YAAY,EAAE,CAC5F,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,2BAA2B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACxD,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAE5B,kBAAkB;gBAClB,MAAM,gBAAgB,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"bulkRecordRepair.js","sourceRoot":"","sources":["../../../src/scripts/operations/bulkRecordRepair.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,gBAAgB,GAEjB,MAAM,yBAAyB,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAA4E,EAC5E,MAAe;IAEf,MAAM,KAAK,GAAgB;QACzB,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEtD,WAAW;IACX,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;IAE/C,WAAW;IACX,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;QACjC,MAAM,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU;IACV,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAC5B,UAA4E;IAE5E,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,aAAa,CAC1B,UAAkD,EAClD,KAAkB,EAClB,MAAe,EACf,UAA4E;IAE5E,KAAK,CAAC,OAAO,EAAE,CAAC;IAChB,MAAM,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC;IAE/B,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAEnF,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,CAAC,WAAW,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CACT,MAAM,KAAK,CAAC,OAAO,YAAY,QAAQ,aAAa,cAAc,WAAW,YAAY,EAAE,CAC5F,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,2BAA2B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACxD,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAE5B,kBAAkB;gBAClB,MAAM,gBAAgB,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB;;;;;WAKG;QACH,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,eAAe,YAAY,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"clientFactory.d.ts","sourceRoot":"","sources":["../../../src/scripts/utils/clientFactory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE1E;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IACT,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAAC;CAChE,CAAC,CAmBD"}
1
+ {"version":3,"file":"clientFactory.d.ts","sourceRoot":"","sources":["../../../src/scripts/utils/clientFactory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE1E;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IACT,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAAC;CAChE,CAAC,CA0BD"}
@@ -26,6 +26,13 @@ export async function createDynamoClientCollection(apiUrl, region, resource) {
26
26
  const collection = client
27
27
  .db()
28
28
  .collection(resource);
29
+ /**
30
+ * NOTE: テストユーティリティでの型アサーション
31
+ *
32
+ * このファイルはテスト・スクリプト用のユーティリティであり、本番コードではありません。
33
+ * Collection型の柔軟性を保つため、型アサーションを使用しています。
34
+ */
35
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
36
  return { client, collection: collection };
30
37
  }
31
38
  //# sourceMappingURL=clientFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clientFactory.js","sourceRoot":"","sources":["../../../src/scripts/utils/clientFactory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAmB,MAAM,2BAA2B,CAAC;AAE1E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,MAAc,EACd,MAAc,EACd,QAAgB;IAKhB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC;IAEnC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE;QACtC,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM;SACf;QACD,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAE3D,MAAM,UAAU,GAAG,MAAM;SACtB,EAAE,EAAE;SACJ,UAAU,CAAyC,QAAQ,CAAC,CAAC;IAEhE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAiB,EAAE,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"clientFactory.js","sourceRoot":"","sources":["../../../src/scripts/utils/clientFactory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAmB,MAAM,2BAA2B,CAAC;AAE1E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,MAAc,EACd,MAAc,EACd,QAAgB;IAKhB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC;IAEnC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE;QACtC,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM;SACf;QACD,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAE3D,MAAM,UAAU,GAAG,MAAM;SACtB,EAAE,EAAE;SACJ,UAAU,CAAyC,QAAQ,CAAC,CAAC;IAEhE;;;;;OAKG;IACH,8DAA8D;IAC9D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAiB,EAAE,CAAC;AACnD,CAAC"}
@@ -1,5 +1,5 @@
1
- // @exabugs/dynamodb-client v1.3.44
2
- // Built: 2026-01-17T08:17:02.209Z
1
+ // @exabugs/dynamodb-client v1.3.45
2
+ // Built: 2026-02-08T02:20:00.306Z
3
3
  "use strict";
4
4
  var __create = Object.create;
5
5
  var __defProp = Object.defineProperty;
@@ -30228,7 +30228,7 @@ async function executeNearSearch(nearQuery, fieldName, limit, searchFunction, co
30228
30228
  __distance: distance,
30229
30229
  __geohash: encodeGeoHash(location.latitude, location.longitude, config.searchPrecision)
30230
30230
  };
30231
- }).filter((doc) => doc !== null).sort((a4, b4) => a4.__distance - b4.__distance).slice(0, limit);
30231
+ }).filter((doc) => doc !== null).sort((a4, b4) => (a4.__distance ?? 0) - (b4.__distance ?? 0)).slice(0, limit);
30232
30232
  return {
30233
30233
  documents: documentsWithDistance,
30234
30234
  metadata: {
@@ -30466,13 +30466,13 @@ function matchesAllFilters(record, parsedFilters) {
30466
30466
  case "$ne":
30467
30467
  return recordValue !== filterValue;
30468
30468
  case "$gt":
30469
- return recordValue != null && recordValue > filterValue;
30469
+ return recordValue != null && typeof recordValue === typeof filterValue && (typeof recordValue === "number" || typeof recordValue === "string") && recordValue > filterValue;
30470
30470
  case "$gte":
30471
- return recordValue != null && recordValue >= filterValue;
30471
+ return recordValue != null && typeof recordValue === typeof filterValue && (typeof recordValue === "number" || typeof recordValue === "string") && recordValue >= filterValue;
30472
30472
  case "$lt":
30473
- return recordValue != null && recordValue < filterValue;
30473
+ return recordValue != null && typeof recordValue === typeof filterValue && (typeof recordValue === "number" || typeof recordValue === "string") && recordValue < filterValue;
30474
30474
  case "$lte":
30475
- return recordValue != null && recordValue <= filterValue;
30475
+ return recordValue != null && typeof recordValue === typeof filterValue && (typeof recordValue === "number" || typeof recordValue === "string") && recordValue <= filterValue;
30476
30476
  case "$in":
30477
30477
  return Array.isArray(filterValue) && filterValue.includes(recordValue);
30478
30478
  case "$nin":
@@ -32694,8 +32694,11 @@ function convertFindOneParams(mongoParams) {
32694
32694
  }
32695
32695
  __name(convertFindOneParams, "convertFindOneParams");
32696
32696
  function convertFindManyParams(mongoParams) {
32697
+ if (mongoParams.ids !== void 0) {
32698
+ return { ids: mongoParams.ids };
32699
+ }
32697
32700
  if (!mongoParams.filter) {
32698
- throw new Error("findMany requires filter");
32701
+ throw new Error("findMany requires either ids or filter");
32699
32702
  }
32700
32703
  const idFilter = mongoParams.filter.id;
32701
32704
  if (typeof idFilter === "object" && idFilter !== null && "$in" in idFilter) {
@@ -32706,18 +32709,15 @@ function convertFindManyParams(mongoParams) {
32706
32709
  }
32707
32710
  __name(convertFindManyParams, "convertFindManyParams");
32708
32711
  function convertInsertOneParams(mongoParams) {
32709
- if (!mongoParams.document) {
32710
- throw new Error("insertOne requires document");
32712
+ if (!mongoParams.data) {
32713
+ throw new Error("insertOne requires data");
32711
32714
  }
32712
32715
  return {
32713
- data: mongoParams.document
32716
+ data: mongoParams.data
32714
32717
  };
32715
32718
  }
32716
32719
  __name(convertInsertOneParams, "convertInsertOneParams");
32717
32720
  function convertUpdateOneParams(mongoParams) {
32718
- if (!mongoParams.filter) {
32719
- throw new Error("updateOne requires filter");
32720
- }
32721
32721
  let updateData;
32722
32722
  if (mongoParams.update && typeof mongoParams.update === "object") {
32723
32723
  if ("$set" in mongoParams.update || "$setOnInsert" in mongoParams.update) {
@@ -32728,6 +32728,16 @@ function convertUpdateOneParams(mongoParams) {
32728
32728
  } else {
32729
32729
  updateData = {};
32730
32730
  }
32731
+ if (typeof mongoParams.id === "string") {
32732
+ return {
32733
+ id: mongoParams.id,
32734
+ data: updateData,
32735
+ options: mongoParams.options
32736
+ };
32737
+ }
32738
+ if (!mongoParams.filter) {
32739
+ throw new Error("updateOne requires filter");
32740
+ }
32731
32741
  const id = typeof mongoParams.filter.id === "string" ? mongoParams.filter.id : void 0;
32732
32742
  if (id) {
32733
32743
  return {
@@ -32755,6 +32765,9 @@ function convertUpdateManyParams(mongoParams) {
32755
32765
  }
32756
32766
  __name(convertUpdateManyParams, "convertUpdateManyParams");
32757
32767
  function convertDeleteOneParams(mongoParams) {
32768
+ if (typeof mongoParams.id === "string") {
32769
+ return { id: mongoParams.id };
32770
+ }
32758
32771
  const id = typeof mongoParams.filter?.id === "string" ? mongoParams.filter.id : void 0;
32759
32772
  if (!id) {
32760
32773
  throw new Error("deleteOne requires filter.id");
@@ -32769,11 +32782,11 @@ function convertDeleteManyParams(mongoParams) {
32769
32782
  }
32770
32783
  __name(convertDeleteManyParams, "convertDeleteManyParams");
32771
32784
  function convertInsertManyParams(mongoParams) {
32772
- if (!mongoParams.documents) {
32773
- throw new Error("insertMany requires documents");
32785
+ if (!mongoParams.data) {
32786
+ throw new Error("insertMany requires data");
32774
32787
  }
32775
32788
  return {
32776
- data: mongoParams.documents
32789
+ data: mongoParams.data
32777
32790
  };
32778
32791
  }
32779
32792
  __name(convertInsertManyParams, "convertInsertManyParams");
@@ -34280,7 +34293,7 @@ async function handler(event) {
34280
34293
  return createCorsResponse(HTTP_STATUS.OK);
34281
34294
  }
34282
34295
  if (event.requestContext.http.method === "GET" && event.requestContext.http.path === "/version") {
34283
- const version = "1.3.44";
34296
+ const version = "1.3.45";
34284
34297
  return createSuccessResponse({ version, timestamp: (/* @__PURE__ */ new Date()).toISOString() }, requestId);
34285
34298
  }
34286
34299
  if (event.requestContext.http.method !== "POST") {