@exabugs/dynamodb-client 1.22.0 → 1.23.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 (96) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +1 -0
  3. package/bin/dynamodb-admins.js +6 -0
  4. package/dist/admins/add.d.ts +60 -0
  5. package/dist/admins/add.d.ts.map +1 -0
  6. package/dist/admins/add.js +37 -0
  7. package/dist/admins/add.js.map +1 -0
  8. package/dist/admins/index.d.ts +12 -0
  9. package/dist/admins/index.d.ts.map +1 -0
  10. package/dist/admins/index.js +10 -0
  11. package/dist/admins/index.js.map +1 -0
  12. package/dist/admins/record.d.ts +44 -0
  13. package/dist/admins/record.d.ts.map +1 -0
  14. package/dist/admins/record.js +44 -0
  15. package/dist/admins/record.js.map +1 -0
  16. package/dist/integrations/react-admin/components/Admins/AdminDeleteButton.d.ts +12 -0
  17. package/dist/integrations/react-admin/components/Admins/AdminDeleteButton.d.ts.map +1 -0
  18. package/dist/integrations/react-admin/components/Admins/AdminDeleteButton.js +32 -0
  19. package/dist/integrations/react-admin/components/Admins/AdminDeleteButton.js.map +1 -0
  20. package/dist/integrations/react-admin/components/Admins/AdminsCreate.d.ts +12 -0
  21. package/dist/integrations/react-admin/components/Admins/AdminsCreate.d.ts.map +1 -0
  22. package/dist/integrations/react-admin/components/Admins/AdminsCreate.js +55 -0
  23. package/dist/integrations/react-admin/components/Admins/AdminsCreate.js.map +1 -0
  24. package/dist/integrations/react-admin/components/Admins/AdminsList.d.ts +19 -0
  25. package/dist/integrations/react-admin/components/Admins/AdminsList.d.ts.map +1 -0
  26. package/dist/integrations/react-admin/components/Admins/AdminsList.js +14 -0
  27. package/dist/integrations/react-admin/components/Admins/AdminsList.js.map +1 -0
  28. package/dist/integrations/react-admin/components/Admins/AdminsShow.d.ts +4 -0
  29. package/dist/integrations/react-admin/components/Admins/AdminsShow.d.ts.map +1 -0
  30. package/dist/integrations/react-admin/components/Admins/AdminsShow.js +11 -0
  31. package/dist/integrations/react-admin/components/Admins/AdminsShow.js.map +1 -0
  32. package/dist/integrations/react-admin/components/Admins/adminsResource.d.ts +21 -0
  33. package/dist/integrations/react-admin/components/Admins/adminsResource.d.ts.map +1 -0
  34. package/dist/integrations/react-admin/components/Admins/adminsResource.js +21 -0
  35. package/dist/integrations/react-admin/components/Admins/adminsResource.js.map +1 -0
  36. package/dist/integrations/react-admin/components/Admins/adminsView.d.ts +30 -0
  37. package/dist/integrations/react-admin/components/Admins/adminsView.d.ts.map +1 -0
  38. package/dist/integrations/react-admin/components/Admins/adminsView.js +38 -0
  39. package/dist/integrations/react-admin/components/Admins/adminsView.js.map +1 -0
  40. package/dist/integrations/react-admin/components/Admins/index.d.ts +13 -0
  41. package/dist/integrations/react-admin/components/Admins/index.d.ts.map +1 -0
  42. package/dist/integrations/react-admin/components/Admins/index.js +8 -0
  43. package/dist/integrations/react-admin/components/Admins/index.js.map +1 -0
  44. package/dist/integrations/react-admin/components/Admins/useAdminsMessages.d.ts +7 -0
  45. package/dist/integrations/react-admin/components/Admins/useAdminsMessages.d.ts.map +1 -0
  46. package/dist/integrations/react-admin/components/Admins/useAdminsMessages.js +20 -0
  47. package/dist/integrations/react-admin/components/Admins/useAdminsMessages.js.map +1 -0
  48. package/dist/integrations/react-admin/components/index.d.ts +2 -1
  49. package/dist/integrations/react-admin/components/index.d.ts.map +1 -1
  50. package/dist/integrations/react-admin/components/index.js +2 -1
  51. package/dist/integrations/react-admin/components/index.js.map +1 -1
  52. package/dist/integrations/react-admin/i18n/createI18nProvider.d.ts +27 -0
  53. package/dist/integrations/react-admin/i18n/createI18nProvider.d.ts.map +1 -0
  54. package/dist/integrations/react-admin/i18n/createI18nProvider.js +42 -0
  55. package/dist/integrations/react-admin/i18n/createI18nProvider.js.map +1 -0
  56. package/dist/integrations/react-admin/i18n/index.d.ts +11 -0
  57. package/dist/integrations/react-admin/i18n/index.d.ts.map +1 -0
  58. package/dist/integrations/react-admin/i18n/index.js +9 -0
  59. package/dist/integrations/react-admin/i18n/index.js.map +1 -0
  60. package/dist/integrations/react-admin/i18n/merge.d.ts +15 -0
  61. package/dist/integrations/react-admin/i18n/merge.d.ts.map +1 -0
  62. package/dist/integrations/react-admin/i18n/merge.js +31 -0
  63. package/dist/integrations/react-admin/i18n/merge.js.map +1 -0
  64. package/dist/integrations/react-admin/i18n/raJapaneseMessages.d.ts +194 -0
  65. package/dist/integrations/react-admin/i18n/raJapaneseMessages.d.ts.map +1 -0
  66. package/dist/integrations/react-admin/i18n/raJapaneseMessages.js +202 -0
  67. package/dist/integrations/react-admin/i18n/raJapaneseMessages.js.map +1 -0
  68. package/dist/integrations/react-admin/i18n/resources.d.ts +55 -0
  69. package/dist/integrations/react-admin/i18n/resources.d.ts.map +1 -0
  70. package/dist/integrations/react-admin/i18n/resources.js +49 -0
  71. package/dist/integrations/react-admin/i18n/resources.js.map +1 -0
  72. package/dist/integrations/react-admin/index.d.ts +1 -0
  73. package/dist/integrations/react-admin/index.d.ts.map +1 -1
  74. package/dist/integrations/react-admin/index.js +2 -0
  75. package/dist/integrations/react-admin/index.js.map +1 -1
  76. package/dist/notify/admins.d.ts.map +1 -1
  77. package/dist/notify/admins.js +3 -3
  78. package/dist/notify/admins.js.map +1 -1
  79. package/dist/server/handler.cjs +3 -3
  80. package/dist/server/media-handler.cjs +2 -2
  81. package/dist/server/media-process-handler-dlq.cjs +2 -2
  82. package/dist/server/media-process-handler.cjs +2 -2
  83. package/dist/tools/dynamodb-admins/cli.d.ts +39 -0
  84. package/dist/tools/dynamodb-admins/cli.d.ts.map +1 -0
  85. package/dist/tools/dynamodb-admins/cli.js +174 -0
  86. package/dist/tools/dynamodb-admins/cli.js.map +1 -0
  87. package/dist/tools/dynamodb-admins/index.d.ts +6 -0
  88. package/dist/tools/dynamodb-admins/index.d.ts.map +1 -0
  89. package/dist/tools/dynamodb-admins/index.js +5 -0
  90. package/dist/tools/dynamodb-admins/index.js.map +1 -0
  91. package/dist/tools/dynamodb-admins/run.d.ts +2 -0
  92. package/dist/tools/dynamodb-admins/run.d.ts.map +1 -0
  93. package/dist/tools/dynamodb-admins/run.js +11 -0
  94. package/dist/tools/dynamodb-admins/run.js.map +1 -0
  95. package/docs/ADMINS.md +57 -0
  96. package/package.json +23 -3
@@ -0,0 +1,202 @@
1
+ /**
2
+ * react-admin の文言(`ra.*`)の日本語(ADR 0007 の A4)
3
+ *
4
+ * asanowa・asaichi の管理画面の `i18n/ja.ts` の `ra.*`(両アプリで同じ)を移したもの。
5
+ * 訳の無いキー(react-admin の新しい版で増えたものなど)は、`createI18nProvider` が英語(ra-language-english)で補う。
6
+ * 依存を持たない純粋な値(ra-i18n-polyglot・ra-language-english を読まない)
7
+ */
8
+ import { deepFreeze } from './merge.js';
9
+ export const raJapaneseMessages = deepFreeze({
10
+ ra: {
11
+ action: {
12
+ add_filter: 'フィルターを追加',
13
+ add: '追加',
14
+ back: '戻る',
15
+ bulk_actions: '%{smart_count}件選択中',
16
+ cancel: 'キャンセル',
17
+ clear_array_input: 'リストをクリア',
18
+ clear_input_value: '値をクリア',
19
+ clone: 'コピー',
20
+ confirm: '確認',
21
+ create: '作成',
22
+ create_item: '%{item}を作成',
23
+ delete: '削除',
24
+ edit: '編集',
25
+ export: 'エクスポート',
26
+ list: '一覧',
27
+ refresh: '更新',
28
+ remove_all_filters: 'フィルターをすべて削除',
29
+ remove_filter: 'このフィルターを削除',
30
+ remove: '削除',
31
+ save: '保存',
32
+ search: '検索',
33
+ select_all: 'すべて選択',
34
+ select_row: 'この行を選択',
35
+ show: '詳細',
36
+ sort: '並べ替え',
37
+ undo: '元に戻す',
38
+ unselect: '選択解除',
39
+ expand: '展開',
40
+ close: '閉じる',
41
+ open_menu: 'メニューを開く',
42
+ close_menu: 'メニューを閉じる',
43
+ update: '更新',
44
+ move_up: '上に移動',
45
+ move_down: '下に移動',
46
+ open: '開く',
47
+ toggle_theme: 'テーマ切替',
48
+ select_columns: 'カラム',
49
+ },
50
+ boolean: {
51
+ true: 'はい',
52
+ false: 'いいえ',
53
+ null: ' ',
54
+ },
55
+ page: {
56
+ create: '%{name}を作成',
57
+ dashboard: 'ダッシュボード',
58
+ edit: '%{name} #%{id}',
59
+ error: 'エラーが発生しました',
60
+ list: '%{name}',
61
+ loading: '読み込み中...',
62
+ not_found: '見つかりません',
63
+ empty: '%{name}はまだありません。',
64
+ invite: '新しく追加しますか?',
65
+ access_denied: 'アクセス拒否',
66
+ authentication_error: '認証エラー',
67
+ },
68
+ input: {
69
+ file: {
70
+ upload_several: 'ファイルをドロップするか、クリックして選択してください。',
71
+ upload_single: 'ファイルをドロップするか、クリックして選択してください。',
72
+ },
73
+ image: {
74
+ upload_several: '画像をドロップするか、クリックして選択してください。',
75
+ upload_single: '画像をドロップするか、クリックして選択してください。',
76
+ },
77
+ references: {
78
+ all_missing: '参照データが見つかりません。',
79
+ many_missing: '一部の参照データが見つかりません。',
80
+ single_missing: '参照データが見つかりません。',
81
+ },
82
+ password: {
83
+ toggle_visible: 'パスワードを隠す',
84
+ toggle_hidden: 'パスワードを表示',
85
+ },
86
+ },
87
+ message: {
88
+ about: 'アバウト',
89
+ are_you_sure: '本当によろしいですか?',
90
+ auth_error: '認証トークンの検証中にエラーが発生しました。',
91
+ bulk_delete_content: 'この%{name}を削除してもよいですか? |||| %{smart_count}件を削除してもよいですか?',
92
+ bulk_delete_title: '%{name}を削除 |||| %{smart_count}件の%{name}を削除',
93
+ bulk_update_content: 'この%{name}を更新してもよいですか? |||| %{smart_count}件を更新してもよいですか?',
94
+ bulk_update_title: '%{name}を更新 |||| %{smart_count}件の%{name}を更新',
95
+ clear_array_input: 'リスト全体をクリアしてもよいですか?',
96
+ delete_content: 'このアイテムを削除してもよいですか?',
97
+ delete_title: '%{name} #%{id}を削除',
98
+ details: '詳細',
99
+ error: 'クライアントエラーが発生しました。',
100
+ invalid_form: 'フォームが無効です。エラーを確認してください。',
101
+ loading: 'ページを読み込み中です。しばらくお待ちください。',
102
+ no: 'いいえ',
103
+ not_found: 'URLが間違っているか、リンクが無効です。',
104
+ yes: 'はい',
105
+ unsaved_changes: '変更が保存されていません。このまま移動しますか?',
106
+ access_denied: 'アクセス権限がありません。',
107
+ authentication_error: '認証エラーが発生しました。',
108
+ },
109
+ navigation: {
110
+ first: '最初',
111
+ last: '最後',
112
+ next: '次',
113
+ no_results: '結果なし',
114
+ page_out_from_begin: 'ページ1より前には移動できません',
115
+ page_out_from_end: '最後のページより後には移動できません',
116
+ page_out_of_boundaries: 'ページ%{page}は範囲外です',
117
+ page_range_info: '%{total}件中%{offsetBegin}-%{offsetEnd}',
118
+ partial_page_range_info: '%{offsetEnd}件以上中%{offsetBegin}-%{offsetEnd}',
119
+ current_page: '%{page}ページ',
120
+ page: '%{page}ページへ',
121
+ previous: '前',
122
+ skip_nav: 'コンテンツへスキップ',
123
+ },
124
+ sort: {
125
+ sort_by: '%{field}で%{order}',
126
+ ASC: '昇順',
127
+ DESC: '降順',
128
+ },
129
+ auth: {
130
+ auth_check_error: 'ログインが必要です',
131
+ user_menu: 'プロフィール',
132
+ username: 'ユーザー名',
133
+ password: 'パスワード',
134
+ email: 'メールアドレス',
135
+ sign_in: 'ログイン',
136
+ sign_in_error: '認証に失敗しました。再試行してください。',
137
+ logout: 'ログアウト',
138
+ },
139
+ notification: {
140
+ updated: '更新しました',
141
+ created: '作成しました',
142
+ deleted: '削除しました',
143
+ bad_item: '不正なアイテムです',
144
+ item_doesnt_exist: 'このアイテムは存在しません',
145
+ http_error: 'サーバーとの通信エラーが発生しました',
146
+ data_provider_error: 'dataProvider エラーが発生しました。コンソールを確認してください。',
147
+ i18n_error: '指定された言語の翻訳を読み込めません',
148
+ canceled: 'アクションがキャンセルされました',
149
+ logged_out: 'セッションが終了しました。再度ログインしてください。',
150
+ not_authorized: 'このリソースへのアクセス権限がありません。',
151
+ application_update_available: '新しいバージョンが利用可能です。',
152
+ },
153
+ validation: {
154
+ required: '必須項目です',
155
+ minLength: '%{min}文字以上入力してください',
156
+ maxLength: '%{max}文字以下で入力してください',
157
+ minValue: '%{min}以上の値を入力してください',
158
+ maxValue: '%{max}以下の値を入力してください',
159
+ number: '数値を入力してください',
160
+ email: '有効なメールアドレスを入力してください',
161
+ oneOf: '次のいずれかを選択してください: %{options}',
162
+ regex: '指定された形式(正規表現)に一致する必要があります: %{pattern}',
163
+ },
164
+ saved_queries: {
165
+ label: '保存済みクエリ',
166
+ query_name: 'クエリ名',
167
+ new_label: '現在のクエリを保存...',
168
+ new_dialog_title: '現在のクエリを名前を付けて保存',
169
+ remove_label: '保存済みクエリを削除',
170
+ remove_label_with_name: 'クエリ"%{name}"を削除',
171
+ remove_dialog_title: '保存済みクエリを削除しますか?',
172
+ remove_message: '保存済みクエリリストからこのアイテムを削除してもよいですか?',
173
+ help: 'リストをフィルタリングしてクエリを保存',
174
+ },
175
+ configurable: {
176
+ customize: 'カスタマイズ',
177
+ configureMode: 'このページを設定',
178
+ inspector: {
179
+ title: 'インスペクター',
180
+ content: 'アプリケーションの UI 要素にカーソルを合わせて設定してください',
181
+ reset: '設定をリセット',
182
+ hideAll: 'すべて非表示',
183
+ showAll: 'すべて表示',
184
+ },
185
+ Datagrid: {
186
+ title: 'データグリッド',
187
+ unlabeled: 'ラベルなしカラム #%{column}',
188
+ },
189
+ SimpleForm: {
190
+ title: 'フォーム',
191
+ unlabeled: 'ラベルなし入力 #%{input}',
192
+ },
193
+ SimpleList: {
194
+ title: 'リスト',
195
+ primaryText: 'プライマリテキスト',
196
+ secondaryText: 'セカンダリテキスト',
197
+ tertiaryText: '補助テキスト',
198
+ },
199
+ },
200
+ },
201
+ });
202
+ //# sourceMappingURL=raJapaneseMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raJapaneseMessages.js","sourceRoot":"","sources":["../../../../src/integrations/react-admin/i18n/raJapaneseMessages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ export declare const LIBRARY_RESOURCE_MESSAGES_JA: Readonly<{
2
+ resources: {
3
+ admins: {
4
+ name: string;
5
+ fields: {
6
+ id: string;
7
+ email: string;
8
+ name: string;
9
+ createdAt: string;
10
+ updatedAt: string;
11
+ };
12
+ messages: {
13
+ emailHelper: string;
14
+ duplicate: string;
15
+ invalidEmail: string;
16
+ nameRequired: string;
17
+ emailMismatch: string;
18
+ };
19
+ };
20
+ alerts: {
21
+ name: string;
22
+ };
23
+ systemChanges: {
24
+ name: string;
25
+ };
26
+ };
27
+ }>;
28
+ export declare const LIBRARY_RESOURCE_MESSAGES_EN: Readonly<{
29
+ resources: {
30
+ admins: {
31
+ name: string;
32
+ fields: {
33
+ id: string;
34
+ email: string;
35
+ name: string;
36
+ createdAt: string;
37
+ updatedAt: string;
38
+ };
39
+ messages: {
40
+ emailHelper: string;
41
+ duplicate: string;
42
+ invalidEmail: string;
43
+ nameRequired: string;
44
+ emailMismatch: string;
45
+ };
46
+ };
47
+ alerts: {
48
+ name: string;
49
+ };
50
+ systemChanges: {
51
+ name: string;
52
+ };
53
+ };
54
+ }>;
55
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../../src/integrations/react-admin/i18n/resources.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBhB,CAAC;AAE1B,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBhB,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * このライブラリの画面(alerts・systemChanges・admins)のリソース名と項目名の訳(`resources.*`)。
3
+ * 既定のリソース名で登録したときに、メニュー・見出しに使われる(名前を変えたら、アプリが自分の名前で訳を足す)
4
+ */
5
+ import { ADMINS_MESSAGES_JA } from '../components/Admins/adminsView.js';
6
+ import { deepFreeze } from './merge.js';
7
+ const { emailHelper, duplicate, invalidEmail, nameRequired, emailMismatch } = ADMINS_MESSAGES_JA;
8
+ export const LIBRARY_RESOURCE_MESSAGES_JA = deepFreeze({
9
+ resources: {
10
+ admins: {
11
+ name: '管理者 |||| 管理者',
12
+ fields: {
13
+ id: 'メールアドレス',
14
+ email: 'メールアドレス',
15
+ name: '名前',
16
+ createdAt: '作成日時',
17
+ updatedAt: '更新日時',
18
+ },
19
+ // 画面の見出し以外の文言(adminsResource の messages と同じキー。既定は ADMINS_MESSAGES_JA)
20
+ messages: { emailHelper, duplicate, invalidEmail, nameRequired, emailMismatch },
21
+ },
22
+ alerts: { name: '運用通知 |||| 運用通知' },
23
+ systemChanges: { name: 'システム変更履歴 |||| システム変更履歴' },
24
+ },
25
+ });
26
+ export const LIBRARY_RESOURCE_MESSAGES_EN = deepFreeze({
27
+ resources: {
28
+ admins: {
29
+ name: 'Admin |||| Admins',
30
+ fields: {
31
+ id: 'Email',
32
+ email: 'Email',
33
+ name: 'Name',
34
+ createdAt: 'Created At',
35
+ updatedAt: 'Updated At',
36
+ },
37
+ messages: {
38
+ emailHelper: 'This address will be able to sign in to the admin console (cannot be changed later)',
39
+ duplicate: 'An admin with this email address is already registered',
40
+ invalidEmail: 'Must be a valid email',
41
+ nameRequired: 'Please enter a name',
42
+ emailMismatch: 'email (recorded value that differs from the id; not used for sign-in)',
43
+ },
44
+ },
45
+ alerts: { name: 'Alert |||| Alerts' },
46
+ systemChanges: { name: 'System change |||| System changes' },
47
+ },
48
+ });
49
+ //# sourceMappingURL=resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../../src/integrations/react-admin/i18n/resources.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAqB,UAAU,EAAE,MAAM,YAAY,CAAC;AAE3D,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAAC;AAEjG,MAAM,CAAC,MAAM,4BAA4B,GAAG,UAAU,CAAC;IACrD,SAAS,EAAE;QACT,MAAM,EAAE;YACN,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE;gBACN,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,MAAM;gBACjB,SAAS,EAAE,MAAM;aAClB;YACD,sEAAsE;YACtE,QAAQ,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE;SAChF;QACD,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;QAClC,aAAa,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE;KAClD;CACqB,CAAC,CAAC;AAE1B,MAAM,CAAC,MAAM,4BAA4B,GAAG,UAAU,CAAC;IACrD,SAAS,EAAE;QACT,MAAM,EAAE;YACN,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE;gBACN,EAAE,EAAE,OAAO;gBACX,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,YAAY;gBACvB,SAAS,EAAE,YAAY;aACxB;YACD,QAAQ,EAAE;gBACR,WAAW,EACT,qFAAqF;gBACvF,SAAS,EAAE,wDAAwD;gBACnE,YAAY,EAAE,uBAAuB;gBACrC,YAAY,EAAE,qBAAqB;gBACnC,aAAa,EAAE,uEAAuE;aACvF;SACF;QACD,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;QACrC,aAAa,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE;KAC7D;CACqB,CAAC,CAAC"}
@@ -29,4 +29,5 @@ export { LabeledIf } from './components/index.js';
29
29
  export type { LabeledIfProps } from './components/index.js';
30
30
  export * from './components/Alerts/index.js';
31
31
  export * from './components/SystemChanges/index.js';
32
+ export * from './components/Admins/index.js';
32
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/react-admin/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EACV,mBAAmB,EACnB,6BAA6B,EAC7B,6BAA6B,EAC7B,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,wBAAwB,EACxB,4BAA4B,EAC5B,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/react-admin/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EACV,mBAAmB,EACnB,6BAA6B,EAC7B,6BAA6B,EAC7B,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,wBAAwB,EACxB,4BAA4B,EAC5B,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AAEpD,cAAc,8BAA8B,CAAC"}
@@ -26,4 +26,6 @@ export { CloudWatchLogButton, cloudWatchLogGroupUrl, cloudWatchLogUrl, consoleDo
26
26
  export { LabeledIf } from './components/index.js';
27
27
  export * from './components/Alerts/index.js';
28
28
  export * from './components/SystemChanges/index.js';
29
+ // 管理者の画面(admins の List / Create / Show / Delete。ADR 0007 §7)。日本語化は ./i18n のサブパス
30
+ export * from './components/Admins/index.js';
29
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/react-admin/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAQvD,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAO/B,yEAAyE;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/react-admin/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAQvD,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAO/B,yEAAyE;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,gFAAgF;AAChF,cAAc,8BAA8B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"admins.d.ts","sourceRoot":"","sources":["../../src/notify/admins.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAKjD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;QAAC,GAAG,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAC9E,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,6CAA6C;AAC7C,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAI5D;AAED,mDAAmD;AACnD,wBAAgB,QAAQ,CACtB,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,MAAM,GAAE,SAAS,MAAM,EAAW,GACjC,MAAM,EAAE,CAQV;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,qBAA0B,GAAG,cAAc,CAsCxF"}
1
+ {"version":3,"file":"admins.d.ts","sourceRoot":"","sources":["../../src/notify/admins.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIjD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;QAAC,GAAG,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAC9E,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,6CAA6C;AAC7C,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAI5D;AAED,mDAAmD;AACnD,wBAAgB,QAAQ,CACtB,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,MAAM,GAAE,SAAS,MAAM,EAAW,GACjC,MAAM,EAAE,CAQV;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,qBAA0B,GAAG,cAAc,CAsCxF"}
@@ -4,15 +4,15 @@
4
4
  * 管理者は `admins` レコード(管理画面で増減)が正本。レコードの id が小文字のメールアドレス。
5
5
  * Records の IAM 版 Function URL 経由で全件を読み、正規化したメールアドレスを返す。
6
6
  */
7
+ import { isAdminEmail, normalizeAdminEmail } from '../admins/record.js';
7
8
  import { withCollection } from '../client/recordsClient.js';
8
- const EMAIL_PATTERN = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
9
9
  const PAGE_SIZE = 50;
10
10
  /** メールアドレスの形式なら小文字・前後空白除去で返す。そうでなければ null */
11
11
  export function normalizeEmail(value) {
12
12
  if (typeof value !== 'string')
13
13
  return null;
14
- const email = value.trim().toLowerCase();
15
- return EMAIL_PATTERN.test(email) ? email : null;
14
+ const email = normalizeAdminEmail(value);
15
+ return isAdminEmail(email) ? email : null;
16
16
  }
17
17
  /** 管理者のレコード → 宛先(小文字・重複なし・不正な形式は除く)。id がメールアドレス */
18
18
  export function emailsOf(admins, fields = ['id']) {
@@ -1 +1 @@
1
- {"version":3,"file":"admins.js","sourceRoot":"","sources":["../../src/notify/admins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admins.js","sourceRoot":"","sources":["../../src/notify/admins.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- // @exabugs/dynamodb-client v1.22.0
2
- // Built: 2026-10-25T05:38:01.970Z
1
+ // @exabugs/dynamodb-client v1.23.0
2
+ // Built: 2026-10-25T07:47:29.081Z
3
3
  "use strict";
4
4
  var __create = Object.create;
5
5
  var __defProp = Object.defineProperty;
@@ -38980,7 +38980,7 @@ async function handler(event) {
38980
38980
  return createCorsResponse(HTTP_STATUS.OK);
38981
38981
  }
38982
38982
  if (event.requestContext.http.method === "GET" && event.requestContext.http.path === "/version") {
38983
- const version = "1.22.0";
38983
+ const version = "1.23.0";
38984
38984
  return createSuccessResponse({ version, timestamp: (/* @__PURE__ */ new Date()).toISOString() }, requestId);
38985
38985
  }
38986
38986
  if (event.requestContext.http.method !== "POST") {
@@ -1,5 +1,5 @@
1
- // @exabugs/dynamodb-client v1.22.0
2
- // Built: 2026-10-25T05:38:01.970Z
1
+ // @exabugs/dynamodb-client v1.23.0
2
+ // Built: 2026-10-25T07:47:29.081Z
3
3
  "use strict";
4
4
  var __create = Object.create;
5
5
  var __defProp = Object.defineProperty;
@@ -1,5 +1,5 @@
1
- // @exabugs/dynamodb-client v1.22.0
2
- // Built: 2026-10-25T05:38:01.970Z
1
+ // @exabugs/dynamodb-client v1.23.0
2
+ // Built: 2026-10-25T07:47:29.081Z
3
3
  "use strict";
4
4
  var __create = Object.create;
5
5
  var __defProp = Object.defineProperty;
@@ -1,5 +1,5 @@
1
- // @exabugs/dynamodb-client v1.22.0
2
- // Built: 2026-10-25T05:38:01.970Z
1
+ // @exabugs/dynamodb-client v1.23.0
2
+ // Built: 2026-10-25T07:47:29.081Z
3
3
  "use strict";
4
4
  var __create = Object.create;
5
5
  var __defProp = Object.defineProperty;
@@ -0,0 +1,39 @@
1
+ export interface CliIo {
2
+ out: (s: string) => void;
3
+ err: (s: string) => void;
4
+ }
5
+ export interface CliDeps {
6
+ env?: NodeJS.ProcessEnv;
7
+ /** SSM のパラメータの値を読む(テストで差し替える)。既定は SSM の GetParameter(復号つき) */
8
+ getParameter?: (name: string, region: string) => Promise<string>;
9
+ }
10
+ export declare const EXIT_OK = 0;
11
+ export declare const EXIT_ERROR = 1;
12
+ export declare const EXIT_USAGE = 2;
13
+ /** 既に登録されている(何も書いていない) */
14
+ export declare const EXIT_EXISTS = 3;
15
+ export declare const USAGE = "\u4F7F\u3044\u65B9:\n dynamodb-admins add <email> --app <app> --env <env> --name <name> [\u30AA\u30D7\u30B7\u30E7\u30F3]\n \u2192 admins \u306B\u7BA1\u7406\u8005\u3092\u767B\u9332\u3059\u308B\uFF08id \u3068 email \u306F\u5C0F\u6587\u5B57\u306E\u30E1\u30FC\u30EB\uFF09\u3002\u65E2\u306B\u3042\u308C\u3070\u4F55\u3082\u66F8\u304B\u306A\u3044\n\n <email> \u7BA1\u7406\u8005\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\uFF08\u524D\u5F8C\u306E\u7A7A\u767D\u3092\u9664\u304D\u3001\u5C0F\u6587\u5B57\u306B\u3059\u308B\uFF09\n --app <app> \u30A2\u30D7\u30EA\u540D\uFF08SSM \u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u540D\u306B\u4F7F\u3046\uFF09\n --env <env> \u74B0\u5883\uFF08dev / prd \u306A\u3069\uFF09\n --name <name> \u8868\u793A\u540D\uFF08\u5FC5\u9808\uFF09\n\u30AA\u30D7\u30B7\u30E7\u30F3:\n --region <region> \u65E2\u5B9A: AWS_REGION\u3001\u7121\u3051\u308C\u3070 ap-northeast-1\n --url <url> Records \u306E IAM \u7248 Function URL\uFF08\u6307\u5B9A\u3059\u308B\u3068 SSM \u3092\u8AAD\u307E\u306A\u3044\uFF09\n --collection <name> \u65E2\u5B9A: admins\n --dry-run \u5B58\u5728\u78BA\u8A8D\u3060\u3051\u3057\u3066\u66F8\u304D\u8FBC\u307E\u306A\u3044\uFF08\u767B\u9332\u3059\u308B\u5185\u5BB9\u3092\u51FA\u3059\uFF09\n --confirm <env> \u66F8\u304D\u8FBC\u3080\u74B0\u5883\u306E\u540D\u524D\u306E\u78BA\u8A8D\u3002--env prd \u3067\u66F8\u304D\u8FBC\u3080\u3068\u304D\u306F --confirm prd \u304C\u8981\u308B\n\n\u8A8D\u8A3C: AWS \u306E\u8A8D\u8A3C\u60C5\u5831\uFF08AWS_PROFILE \u306A\u3069\uFF09\u3002SSM \u306E\u8AAD\u307F\u53D6\u308A\u3068\u3001Records \u306E Function URL \u306E\u547C\u3073\u51FA\u3057\u306E\u6A29\u9650\u304C\u8981\u308B\n\u7D42\u4E86\u30B3\u30FC\u30C9: 0 = \u767B\u9332\u3057\u305F\uFF08--dry-run \u3067\u306F\u767B\u9332\u3067\u304D\u308B\uFF09\u30013 = \u65E2\u306B\u767B\u9332\u3055\u308C\u3066\u3044\u308B\u30012 = \u5F15\u6570\u306E\u8AA4\u308A\u30FB\u78BA\u8A8D\u306E\u4E0D\u8DB3\u30011 = \u305D\u306E\u307B\u304B\u306E\u5931\u6557";
16
+ export interface AddArgs {
17
+ email: string;
18
+ app: string;
19
+ env: string;
20
+ name: string;
21
+ region?: string;
22
+ url?: string;
23
+ collection: string;
24
+ dryRun: boolean;
25
+ confirm?: string;
26
+ }
27
+ /** 書き込みに `--confirm <env>` が要る環境 */
28
+ export declare const CONFIRM_REQUIRED_ENVS: readonly string[];
29
+ /** `add` の引数を解釈する(誤りは Error) */
30
+ export declare function parseAddArgs(argv: string[]): AddArgs;
31
+ /** Records の IAM 版 Function URL の SSM のパラメータ名(terraform/modules/parameter-store と同じ) */
32
+ export declare const recordsIamUrlParameterName: (app: string, env: string) => string;
33
+ /** SSM のパラメータを読む(復号つき) */
34
+ export declare function ssmGetParameter(name: string, region: string): Promise<string>;
35
+ /** 確認が要るのに無い・違うなら、その理由(要らない・合っていれば null) */
36
+ export declare function missingConfirmation(args: AddArgs): string | null;
37
+ /** CLI 本体。終了コードを返す(process.exitCode は run.ts が設定する) */
38
+ export declare function main(argv: string[], io: CliIo, deps?: CliDeps): Promise<number>;
39
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/tools/dynamodb-admins/cli.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAClE;AAED,eAAO,MAAM,OAAO,IAAI,CAAC;AACzB,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,0BAA0B;AAC1B,eAAO,MAAM,WAAW,IAAI,CAAC;AAE7B,eAAO,MAAM,KAAK,y/DAgB2D,CAAC;AAE9E,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,oCAAoC;AACpC,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAA2B,CAAC;AAa/E,gCAAgC;AAChC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAmCpD;AAED,wFAAwF;AACxF,eAAO,MAAM,0BAA0B,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAClB,CAAC;AAErD,0BAA0B;AAC1B,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUnF;AAID,4CAA4C;AAC5C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAIhE;AA0DD,uDAAuD;AACvD,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,GAAE,OAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CASzF"}