@exabugs/dynamodb-client 1.9.0 → 1.11.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 (101) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +1 -0
  3. package/dist/integrations/react-admin/dataProvider.d.ts.map +1 -1
  4. package/dist/integrations/react-admin/dataProvider.js +3 -26
  5. package/dist/integrations/react-admin/dataProvider.js.map +1 -1
  6. package/dist/notify/channels/email.d.ts +32 -0
  7. package/dist/notify/channels/email.d.ts.map +1 -0
  8. package/dist/notify/channels/email.js +67 -0
  9. package/dist/notify/channels/email.js.map +1 -0
  10. package/dist/notify/channels/slack.d.ts +12 -0
  11. package/dist/notify/channels/slack.d.ts.map +1 -0
  12. package/dist/notify/channels/slack.js +46 -0
  13. package/dist/notify/channels/slack.js.map +1 -0
  14. package/dist/notify/format.d.ts +7 -0
  15. package/dist/notify/format.d.ts.map +1 -0
  16. package/dist/notify/format.js +29 -0
  17. package/dist/notify/format.js.map +1 -0
  18. package/dist/notify/handler.d.ts +42 -0
  19. package/dist/notify/handler.d.ts.map +1 -0
  20. package/dist/notify/handler.js +175 -0
  21. package/dist/notify/handler.js.map +1 -0
  22. package/dist/notify/index.d.ts +18 -0
  23. package/dist/notify/index.d.ts.map +1 -0
  24. package/dist/notify/index.js +14 -0
  25. package/dist/notify/index.js.map +1 -0
  26. package/dist/notify/logger.d.ts +6 -0
  27. package/dist/notify/logger.d.ts.map +1 -0
  28. package/dist/notify/logger.js +11 -0
  29. package/dist/notify/logger.js.map +1 -0
  30. package/dist/notify/normalize.d.ts +11 -0
  31. package/dist/notify/normalize.d.ts.map +1 -0
  32. package/dist/notify/normalize.js +245 -0
  33. package/dist/notify/normalize.js.map +1 -0
  34. package/dist/notify/policy.d.ts +15 -0
  35. package/dist/notify/policy.d.ts.map +1 -0
  36. package/dist/notify/policy.js +36 -0
  37. package/dist/notify/policy.js.map +1 -0
  38. package/dist/notify/store.d.ts +22 -0
  39. package/dist/notify/store.d.ts.map +1 -0
  40. package/dist/notify/store.js +119 -0
  41. package/dist/notify/store.js.map +1 -0
  42. package/dist/notify/types.d.ts +63 -0
  43. package/dist/notify/types.d.ts.map +1 -0
  44. package/dist/notify/types.js +8 -0
  45. package/dist/notify/types.js.map +1 -0
  46. package/dist/server/handler.cjs +577 -495
  47. package/dist/server/handler.cjs.map +4 -4
  48. package/dist/server/media-handler.cjs +2 -2
  49. package/dist/server/media-process-handler-dlq.cjs +438 -340
  50. package/dist/server/media-process-handler-dlq.cjs.map +4 -4
  51. package/dist/server/media-process-handler.cjs +437 -339
  52. package/dist/server/media-process-handler.cjs.map +4 -4
  53. package/dist/server/operations/deleteMany.d.ts.map +1 -1
  54. package/dist/server/operations/deleteMany.js +15 -30
  55. package/dist/server/operations/deleteMany.js.map +1 -1
  56. package/dist/server/operations/deleteOne.d.ts.map +1 -1
  57. package/dist/server/operations/deleteOne.js +7 -4
  58. package/dist/server/operations/deleteOne.js.map +1 -1
  59. package/dist/server/operations/find/nearQuery.d.ts.map +1 -1
  60. package/dist/server/operations/find/nearQuery.js +41 -40
  61. package/dist/server/operations/find/nearQuery.js.map +1 -1
  62. package/dist/server/operations/find/shadowQuery.d.ts +7 -0
  63. package/dist/server/operations/find/shadowQuery.d.ts.map +1 -1
  64. package/dist/server/operations/find/shadowQuery.js +10 -34
  65. package/dist/server/operations/find/shadowQuery.js.map +1 -1
  66. package/dist/server/operations/findAll.d.ts +8 -0
  67. package/dist/server/operations/findAll.d.ts.map +1 -0
  68. package/dist/server/operations/findAll.js +46 -0
  69. package/dist/server/operations/findAll.js.map +1 -0
  70. package/dist/server/operations/findMany.d.ts.map +1 -1
  71. package/dist/server/operations/findMany.js +9 -26
  72. package/dist/server/operations/findMany.js.map +1 -1
  73. package/dist/server/operations/findManyReference.d.ts.map +1 -1
  74. package/dist/server/operations/findManyReference.js +4 -14
  75. package/dist/server/operations/findManyReference.js.map +1 -1
  76. package/dist/server/operations/parameterConverter.d.ts.map +1 -1
  77. package/dist/server/operations/parameterConverter.js +16 -8
  78. package/dist/server/operations/parameterConverter.js.map +1 -1
  79. package/dist/server/operations/updateMany.d.ts.map +1 -1
  80. package/dist/server/operations/updateMany.js +15 -30
  81. package/dist/server/operations/updateMany.js.map +1 -1
  82. package/dist/server/operations/updateOne.d.ts.map +1 -1
  83. package/dist/server/operations/updateOne.js +8 -6
  84. package/dist/server/operations/updateOne.js.map +1 -1
  85. package/dist/server/utils/batchGet.d.ts +21 -0
  86. package/dist/server/utils/batchGet.d.ts.map +1 -0
  87. package/dist/server/utils/batchGet.js +73 -0
  88. package/dist/server/utils/batchGet.js.map +1 -0
  89. package/dist/server/utils/scanWarning.d.ts +1 -1
  90. package/dist/server/utils/scanWarning.d.ts.map +1 -1
  91. package/dist/shared/utils/index.d.ts +1 -0
  92. package/dist/shared/utils/index.d.ts.map +1 -1
  93. package/dist/shared/utils/index.js +1 -0
  94. package/dist/shared/utils/index.js.map +1 -1
  95. package/dist/shared/utils/scanSort.d.ts +16 -0
  96. package/dist/shared/utils/scanSort.d.ts.map +1 -0
  97. package/dist/shared/utils/scanSort.js +33 -0
  98. package/dist/shared/utils/scanSort.js.map +1 -0
  99. package/dist/sharp-layer.zip +0 -0
  100. package/docs/NOTIFY.md +103 -0
  101. package/package.json +8 -3
@@ -0,0 +1,63 @@
1
+ /**
2
+ * 運用通知の型
3
+ *
4
+ * 通知は `Notice` に正規化してから、重複抑制 → チャネルへ配信する。
5
+ * `Notice` には許可したフィールドだけを入れる(ログ全体を転送しない)。
6
+ */
7
+ /** 通知するレベル。`ok` はアラームの復旧 */
8
+ export type NoticeLevel = 'warn' | 'error' | 'fatal' | 'ok';
9
+ export interface Notice {
10
+ level: NoticeLevel;
11
+ /** 機械可読の種別(例: SPARSE_SCAN、ALARM:astro-dev-xxx) */
12
+ event: string;
13
+ message: string;
14
+ app: string;
15
+ env: string;
16
+ /** 対象(コレクション名など)。重複抑制の指紋に使う */
17
+ target?: string;
18
+ /** 対策の案内 */
19
+ action?: string;
20
+ /** ISO 8601 */
21
+ occurredAt: string;
22
+ /** 抑制していた同種の通知の件数(今回を含まない) */
23
+ suppressed: number;
24
+ }
25
+ /** 配信先 */
26
+ export interface Channel {
27
+ name: string;
28
+ /** メールなど、宛先(管理者)が必要なチャネルか */
29
+ needsRecipients: boolean;
30
+ send(notices: Notice[], recipients: string[]): Promise<void>;
31
+ }
32
+ /** 宛先(管理者のメールアドレス)の取得。スキーマは強制しない */
33
+ export interface AdminDirectory {
34
+ listEmails(): Promise<string[]>;
35
+ }
36
+ export interface ClaimResult {
37
+ granted: boolean;
38
+ /** granted のとき、前回の窓の間に抑制した件数 */
39
+ suppressed: number;
40
+ /** granted のとき、確保の印(release に渡す。別の実行が取り直した確保を壊さないため) */
41
+ token: number;
42
+ }
43
+ /** 重複抑制・流量制限の記録 */
44
+ export interface NoticeStore {
45
+ /**
46
+ * 指紋の窓を確保する。窓の中なら granted: false にして、抑制の件数を count 増やす。
47
+ * count は、この呼び出しが代表する発生の件数(同じバッチの重複をまとめたもの)
48
+ */
49
+ claim(fingerprint: string, windowSec: number, nowSec: number, count: number): Promise<ClaimResult>;
50
+ /**
51
+ * 送れなかった確保を解放する(次の発生で、窓を待たずに通知できる)。自分の確保(token)のときだけ。
52
+ * restore 件を抑制の件数に戻す(前回ぶん + 今回の発生)
53
+ */
54
+ release(fingerprint: string, token: number, restore: number): Promise<void>;
55
+ /** 流量の計数を n 増やし、窓の中の件数(増やした後)を返す */
56
+ consume(bucket: string, windowSec: number, nowSec: number, n: number): Promise<number>;
57
+ }
58
+ export interface NotifyLogger {
59
+ info(message: string, meta?: Record<string, unknown>): void;
60
+ warn(message: string, meta?: Record<string, unknown>): void;
61
+ error(message: string, meta?: Record<string, unknown>): void;
62
+ }
63
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/notify/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4BAA4B;AAC5B,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;AAE5D,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,WAAW,CAAC;IACnB,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU;AACV,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,eAAe,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED,oCAAoC;AACpC,MAAM,WAAW,cAAc;IAC7B,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,mBAAmB;AACnB,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,KAAK,CACH,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,CAAC,CAAC;IACxB;;;OAGG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,oCAAoC;IACpC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACxF;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC9D"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 運用通知の型
3
+ *
4
+ * 通知は `Notice` に正規化してから、重複抑制 → チャネルへ配信する。
5
+ * `Notice` には許可したフィールドだけを入れる(ログ全体を転送しない)。
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/notify/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}