@agent-native/core 0.92.5 → 0.92.7

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 (148) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +19 -0
  3. package/corpus/core/docs/content/template-assets.mdx +139 -0
  4. package/corpus/core/package.json +1 -1
  5. package/corpus/core/src/agent/production-agent.ts +96 -6
  6. package/corpus/core/src/cli/sync-builder-starter-manifest.ts +1 -1
  7. package/corpus/core/src/client/AssistantChat.tsx +127 -15
  8. package/corpus/core/src/client/chat/tool-call-display.tsx +9 -3
  9. package/corpus/core/src/client/org/TeamPage.tsx +274 -177
  10. package/corpus/core/src/client/settings/DemoModeSection.tsx +6 -6
  11. package/corpus/core/src/client/settings/SettingsPanel.tsx +1 -1
  12. package/corpus/core/src/client/settings/SettingsTabsPage.tsx +49 -1
  13. package/corpus/core/src/demo/actions/toggle-demo-mode.ts +2 -2
  14. package/corpus/core/src/demo/config.ts +3 -3
  15. package/corpus/core/src/demo/redact.ts +720 -0
  16. package/corpus/core/src/extensions/url-safety.ts +13 -1
  17. package/corpus/core/src/localization/default-messages.ts +7 -0
  18. package/corpus/core/src/templates/default/app/i18n/ar-SA.ts +7 -0
  19. package/corpus/core/src/templates/default/app/i18n/de-DE.ts +7 -0
  20. package/corpus/core/src/templates/default/app/i18n/en-US.ts +7 -0
  21. package/corpus/core/src/templates/default/app/i18n/es-ES.ts +7 -0
  22. package/corpus/core/src/templates/default/app/i18n/fr-FR.ts +7 -0
  23. package/corpus/core/src/templates/default/app/i18n/hi-IN.ts +7 -0
  24. package/corpus/core/src/templates/default/app/i18n/ja-JP.ts +7 -0
  25. package/corpus/core/src/templates/default/app/i18n/ko-KR.ts +7 -0
  26. package/corpus/core/src/templates/default/app/i18n/pt-BR.ts +7 -0
  27. package/corpus/core/src/templates/default/app/i18n/zh-CN.ts +7 -0
  28. package/corpus/core/src/templates/default/app/i18n/zh-TW.ts +7 -0
  29. package/corpus/templates/analytics/AGENTS.md +6 -3
  30. package/corpus/templates/analytics/changelog/2026-07-09-uptime-monitors-use-scheduled-workers-in-production-serverless.md +6 -0
  31. package/corpus/templates/analytics/docs/uptime-monitoring.md +5 -0
  32. package/corpus/templates/analytics/server/plugins/uptime-monitor-jobs.ts +14 -2
  33. package/corpus/templates/assets/.agents/skills/image-generation/SKILL.md +35 -0
  34. package/corpus/templates/assets/.agents/skills/library-management/SKILL.md +19 -0
  35. package/corpus/templates/assets/AGENTS.md +13 -0
  36. package/corpus/templates/assets/actions/_generation-preset-settings.ts +73 -0
  37. package/corpus/templates/assets/actions/_preset-skeleton-validation.ts +63 -0
  38. package/corpus/templates/assets/actions/create-generation-preset.ts +22 -8
  39. package/corpus/templates/assets/actions/duplicate-library.ts +49 -1
  40. package/corpus/templates/assets/actions/generate-image-batch.ts +14 -1
  41. package/corpus/templates/assets/actions/generate-image.ts +195 -26
  42. package/corpus/templates/assets/actions/import-asset-from-url.ts +323 -0
  43. package/corpus/templates/assets/actions/list-generation-presets.ts +1 -1
  44. package/corpus/templates/assets/actions/rerun-generation-run.ts +37 -0
  45. package/corpus/templates/assets/actions/update-generation-preset.ts +19 -1
  46. package/corpus/templates/assets/app/i18n/ar-SA.ts +1 -0
  47. package/corpus/templates/assets/app/i18n/de-DE.ts +1 -0
  48. package/corpus/templates/assets/app/i18n/es-ES.ts +1 -0
  49. package/corpus/templates/assets/app/i18n/fr-FR.ts +1 -0
  50. package/corpus/templates/assets/app/i18n/hi-IN.ts +1 -0
  51. package/corpus/templates/assets/app/i18n/ja-JP.ts +1 -0
  52. package/corpus/templates/assets/app/i18n/ko-KR.ts +1 -0
  53. package/corpus/templates/assets/app/i18n/pt-BR.ts +1 -0
  54. package/corpus/templates/assets/app/i18n/zh-CN.ts +1 -0
  55. package/corpus/templates/assets/app/i18n/zh-TW.ts +41 -0
  56. package/corpus/templates/assets/app/i18n-data.ts +93 -0
  57. package/corpus/templates/assets/app/routes/brand-kits.$id.tsx +66 -11
  58. package/corpus/templates/assets/app/routes/brand-kits.$id_.presets.$presetId.tsx +959 -24
  59. package/corpus/templates/assets/changelog/2026-07-07-preset-skeleton-controls-fit-correctly-on-narrower-edit-page.md +6 -0
  60. package/corpus/templates/assets/changelog/2026-07-09-import-reference-images-from-url.md +6 -0
  61. package/corpus/templates/assets/changelog/2026-07-09-preset-reference-board.md +6 -0
  62. package/corpus/templates/assets/server/handlers/assets.ts +7 -27
  63. package/corpus/templates/assets/server/lib/generation.ts +83 -2
  64. package/corpus/templates/assets/server/lib/preset-chat-context.ts +17 -4
  65. package/corpus/templates/assets/server/lib/preset-references.ts +182 -0
  66. package/corpus/templates/assets/server/lib/upload-validation.ts +38 -0
  67. package/corpus/templates/assets/shared/api.ts +20 -0
  68. package/corpus/templates/calendar/.agents/skills/event-management/SKILL.md +6 -0
  69. package/corpus/templates/calendar/actions/create-event.ts +8 -2
  70. package/corpus/templates/calendar/app/components/calendar/CreateEventDialog.tsx +22 -7
  71. package/corpus/templates/calendar/changelog/2026-07-09-calendar-events-with-guests-now-automatically-get-a-google-m.md +6 -0
  72. package/corpus/templates/calendar/changelog/2026-07-09-new-events-now-mark-the-creator-rsvp-as-yes.md +6 -0
  73. package/corpus/templates/calendar/server/handlers/events.ts +9 -2
  74. package/corpus/templates/calendar/server/lib/event-video-conferencing.ts +58 -0
  75. package/corpus/templates/calendar/server/lib/google-calendar.ts +1 -0
  76. package/corpus/templates/clips/changelog/2026-07-09-meeting-reminder-popovers-can-now-be-dismissed-with-a-top-le.md +6 -0
  77. package/corpus/templates/clips/desktop/src/overlays/meeting-notification.tsx +3 -1
  78. package/corpus/templates/clips/desktop/src/styles.css +13 -9
  79. package/corpus/templates/clips/desktop/src-tauri/src/notifications.rs +5 -2
  80. package/dist/agent/production-agent.d.ts +34 -1
  81. package/dist/agent/production-agent.d.ts.map +1 -1
  82. package/dist/agent/production-agent.js +58 -5
  83. package/dist/agent/production-agent.js.map +1 -1
  84. package/dist/cli/sync-builder-starter-manifest.js +1 -1
  85. package/dist/cli/sync-builder-starter-manifest.js.map +1 -1
  86. package/dist/client/AssistantChat.d.ts +3 -1
  87. package/dist/client/AssistantChat.d.ts.map +1 -1
  88. package/dist/client/AssistantChat.js +96 -15
  89. package/dist/client/AssistantChat.js.map +1 -1
  90. package/dist/client/chat/tool-call-display.d.ts.map +1 -1
  91. package/dist/client/chat/tool-call-display.js +5 -1
  92. package/dist/client/chat/tool-call-display.js.map +1 -1
  93. package/dist/client/org/TeamPage.d.ts.map +1 -1
  94. package/dist/client/org/TeamPage.js +32 -13
  95. package/dist/client/org/TeamPage.js.map +1 -1
  96. package/dist/client/settings/DemoModeSection.d.ts +3 -3
  97. package/dist/client/settings/DemoModeSection.js +4 -4
  98. package/dist/client/settings/DemoModeSection.js.map +1 -1
  99. package/dist/client/settings/SettingsPanel.js +1 -1
  100. package/dist/client/settings/SettingsPanel.js.map +1 -1
  101. package/dist/client/settings/SettingsTabsPage.d.ts.map +1 -1
  102. package/dist/client/settings/SettingsTabsPage.js +38 -2
  103. package/dist/client/settings/SettingsTabsPage.js.map +1 -1
  104. package/dist/collab/routes.d.ts +1 -1
  105. package/dist/collab/struct-routes.d.ts +1 -1
  106. package/dist/demo/actions/toggle-demo-mode.js +2 -2
  107. package/dist/demo/actions/toggle-demo-mode.js.map +1 -1
  108. package/dist/demo/config.js +3 -3
  109. package/dist/demo/config.js.map +1 -1
  110. package/dist/demo/redact.d.ts +1 -1
  111. package/dist/demo/redact.d.ts.map +1 -1
  112. package/dist/demo/redact.js +0 -0
  113. package/dist/demo/redact.js.map +1 -1
  114. package/dist/extensions/url-safety.d.ts +5 -0
  115. package/dist/extensions/url-safety.d.ts.map +1 -1
  116. package/dist/extensions/url-safety.js +10 -0
  117. package/dist/extensions/url-safety.js.map +1 -1
  118. package/dist/localization/default-messages.d.ts +7 -0
  119. package/dist/localization/default-messages.d.ts.map +1 -1
  120. package/dist/localization/default-messages.js +7 -0
  121. package/dist/localization/default-messages.js.map +1 -1
  122. package/dist/notifications/routes.d.ts +2 -2
  123. package/dist/provider-api/corpus-jobs.d.ts +2 -2
  124. package/dist/resources/handlers.d.ts +2 -2
  125. package/dist/templates/default/app/i18n/ar-SA.ts +7 -0
  126. package/dist/templates/default/app/i18n/de-DE.ts +7 -0
  127. package/dist/templates/default/app/i18n/en-US.ts +7 -0
  128. package/dist/templates/default/app/i18n/es-ES.ts +7 -0
  129. package/dist/templates/default/app/i18n/fr-FR.ts +7 -0
  130. package/dist/templates/default/app/i18n/hi-IN.ts +7 -0
  131. package/dist/templates/default/app/i18n/ja-JP.ts +7 -0
  132. package/dist/templates/default/app/i18n/ko-KR.ts +7 -0
  133. package/dist/templates/default/app/i18n/pt-BR.ts +7 -0
  134. package/dist/templates/default/app/i18n/zh-CN.ts +7 -0
  135. package/dist/templates/default/app/i18n/zh-TW.ts +7 -0
  136. package/docs/content/template-assets.mdx +139 -0
  137. package/package.json +1 -1
  138. package/src/templates/default/app/i18n/ar-SA.ts +7 -0
  139. package/src/templates/default/app/i18n/de-DE.ts +7 -0
  140. package/src/templates/default/app/i18n/en-US.ts +7 -0
  141. package/src/templates/default/app/i18n/es-ES.ts +7 -0
  142. package/src/templates/default/app/i18n/fr-FR.ts +7 -0
  143. package/src/templates/default/app/i18n/hi-IN.ts +7 -0
  144. package/src/templates/default/app/i18n/ja-JP.ts +7 -0
  145. package/src/templates/default/app/i18n/ko-KR.ts +7 -0
  146. package/src/templates/default/app/i18n/pt-BR.ts +7 -0
  147. package/src/templates/default/app/i18n/zh-CN.ts +7 -0
  148. package/src/templates/default/app/i18n/zh-TW.ts +7 -0
@@ -381,9 +381,16 @@ const messages = {
381
381
  join: "Join",
382
382
  invitedByLabel: "由 {{name}} 邀請",
383
383
  you: "You",
384
+ owner: "擁有者",
384
385
  admin: "管理員",
385
386
  member: "Member",
386
387
  members: "Members",
388
+ inviteMembers: "邀請成員",
389
+ invited: "已邀請",
390
+ role: "角色",
391
+ status: "狀態",
392
+ actions: "操作",
393
+ noMembers: "尚無成員。",
387
394
  memberCount_other: "{{count}} 位成員",
388
395
  youAreRole: "你的角色是 {{role}}",
389
396
  changeRole: "改變角色",
@@ -102,6 +102,145 @@ Live demo: [assets.agent-native.com](https://assets.agent-native.com).
102
102
  4. **Use the asset elsewhere.** Copy the export, embed the picker in another
103
103
  app, or let another agent call Assets over A2A.
104
104
 
105
+ ## The preset-driven workflow
106
+
107
+ Assets produces its best, most repeatable results when work is split into two
108
+ jobs that need very different skills:
109
+
110
+ 1. **Designing the recipe** — slow, craft-heavy, done once per use case. A
111
+ designer works with the agent to build a **generation preset**: the rules,
112
+ references, locked-in model, and a prompt template that has been QA'd until
113
+ it reliably produces on-brand output.
114
+ 2. **Running the recipe** — fast and repeatable. A marketer pastes a campaign
115
+ brief, tags the preset, and gets a finished, brand-safe asset without
116
+ touching model settings, aspect ratios, masks, or prompt wording.
117
+
118
+ A preset is the contract between these two people. The designer encodes taste
119
+ and technical judgment once; everyone else inherits it on every generation.
120
+ Think of presets as the design system for AI-generated assets: a raw prompt is
121
+ a throwaway that drifts every time it is retyped, while a preset is durable,
122
+ shared, and carries the decisions (model, aspect ratio, text and reference
123
+ rules, logo handling, fixed layout) that actually determine whether the output
124
+ is usable.
125
+
126
+ ### Designers: build one preset per use case
127
+
128
+ Create a separate preset for each repeatable format rather than one generic
129
+ "social post" preset that tries to do everything. Specific presets give the
130
+ model clearer rules and produce better output. Good examples:
131
+
132
+ - LinkedIn ad
133
+ - Webinar announcement
134
+ - Event speaker card
135
+ - Podcast guest card
136
+ - Customer story quote card
137
+ - Blog hero
138
+ - Blog body diagram
139
+
140
+ The primary way to build one is **conversationally**: describe the use case to
141
+ the agent and let it create the preset and fill in sensible defaults — model,
142
+ aspect ratio and size, a first prompt template, and text/reference/logo
143
+ policies — then refine in the same conversation ("make it darker", "tighten the
144
+ text policy", "try a square variant"). Because that reasoning shows up directly
145
+ in the defaults the agent picks, run this design conversation on the strongest
146
+ available model.
147
+
148
+ Each preset locks down:
149
+
150
+ | Setting | What it controls |
151
+ | ------------------- | -------------------------------------------------------------------------------------------------------------------- |
152
+ | Prompt template | The QA'd creative recipe, with slots for the campaign brief |
153
+ | Model | The right image engine for this job (see below) |
154
+ | Aspect ratio + size | Output format for the target channel |
155
+ | Text policy | Whether and how literal copy is rendered vs suppressed |
156
+ | Reference policy | Which brand references anchor the look |
157
+ | Reference board | Named fixed or per-run visual references, such as a usual host, guest speaker, product, backdrop, or composition cue |
158
+ | Logo | Composites the library's canonical logo pixel-perfect after generation, so the model never redraws it |
159
+ | Skeleton / mask | A fixed brand plate the subject is composited or inpainted into, for locked layouts |
160
+
161
+ ### Choosing the model per preset
162
+
163
+ Pick the model in the preset so downstream users never have to:
164
+
165
+ - **A general high-quality image model** for hero images, rich scenes, and
166
+ complex compositions, when you need broad aspect-ratio flexibility.
167
+ - **A fast image model** for high-volume social where turnaround matters more
168
+ than maximum polish.
169
+ - **gpt-image-2** for customer-facing, text-heavy, and identity-sensitive work.
170
+ It renders crisp literal copy inside the image, and it is the engine used for
171
+ **mask inpainting** into a fixed layout.
172
+ - **gpt-image-1** for transparent **cutout** subjects that are composited onto a
173
+ brand plate afterward.
174
+
175
+ When a use case has a **fixed brand frame** that must survive every generation
176
+ (a webinar template with a locked header and logo, an ad plate with a reserved
177
+ product area), build a preset skeleton: upload the background plate, choose
178
+ gpt-image-2, and optionally add a same-size mask. **Opaque areas are preserved,
179
+ transparent areas are editable**, so the logo, framing, and existing copy come
180
+ back untouched while only the art region changes. Note that gpt-image edits are
181
+ guided semantic rewrites, not pixel-only patches, so the prompt should still
182
+ describe the whole intended image and restate what must not change.
183
+
184
+ Use the **reference board** when a preset needs annotated visual inputs that
185
+ ride along with each run. Each board entry names one thing — a person, product,
186
+ style, background, or composition example — and can pin up to four images plus a
187
+ plain-language description. Fixed entries attach automatically. Variable
188
+ entries can be replaced per run with `presetReferenceFills`, and required
189
+ variable entries block generation until the agent supplies images from user
190
+ attachments or the library.
191
+
192
+ For example, a Webinar Announcement preset might use a skeleton plate and mask
193
+ for the locked event chrome, a fixed "Steve" subject entry for the usual host,
194
+ and a required variable "Guest speaker" entry for each event. Use a
195
+ `background` entry for setting context. Use a `composition` entry for layout
196
+ inspiration from a past poster; exact placement belongs in the skeleton plate,
197
+ not a reference image.
198
+
199
+ ### QA the prompt until it is reliable
200
+
201
+ The model, references, and skeleton set the stage, but the prompt template is
202
+ what turns a brief into a consistently good asset. Have the agent generate
203
+ several candidates against realistic briefs and tighten the template until it
204
+ holds. Techniques worth baking in:
205
+
206
+ - **Structure the prompt in a fixed order**: scene, subject, key details,
207
+ constraints. Name the intended use so the model picks the right polish level.
208
+ - **For literal copy, be surgical**: put exact text in quotes or ALL CAPS,
209
+ specify font, size, color, and placement, and for tricky brand names spell
210
+ them out. Ask for the text exactly once with no extra characters.
211
+ - **For skeleton or inpainting presets, restate the invariants every run**:
212
+ "change only the center region, preserve the header, logo, and framing."
213
+
214
+ Before handing a preset to the wider team, run realistic QA generations
215
+ (including briefs you did not write) and confirm it: follows the use case,
216
+ respects the mask, preserves fixed text and logos, avoids inventing extra
217
+ headlines or badges, uses references correctly, places the subject in the right
218
+ region, handles short and long briefs, and still holds up after a refinement.
219
+
220
+ ### Everyone else: paste the brief, tag the preset, generate
221
+
222
+ Once a preset exists, running it is three moves: paste the campaign brief, tag
223
+ the preset with `@`, and generate. The tagged preset injects its full aesthetic
224
+ brief into the agent, and the saved model, format, tier, logo, and skeleton all
225
+ apply automatically.
226
+
227
+ ```text
228
+ Create a LinkedIn ad for our webinar on AI landing pages.
229
+ Audience: B2B marketing teams.
230
+ Message: launch campaign pages faster while staying on brand.
231
+ CTA: Register now.
232
+
233
+ @Webinar Announcement
234
+ ```
235
+
236
+ No model picking, no aspect-ratio math, no mask files, no prompt engineering.
237
+ Rule of thumb: designers own the preset, everyone else owns the brief. If a
238
+ user finds themselves choosing models, masks, or layout rules during normal
239
+ use, the preset is not specific enough yet.
240
+
241
+ For deeper prompting guidance on the underlying models, see OpenAI's
242
+ [GPT Image prompting guide](https://developers.openai.com/cookbook/examples/multimodal/image-gen-models-prompting-guide).
243
+
105
244
  ## Useful prompts
106
245
 
107
246
  - "Generate three blog hero options using the Acme product references."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.92.5",
3
+ "version": "0.92.7",
4
4
  "description": "Framework for agent-native application development — where AI agents and UI share SQL state, actions, and context",
5
5
  "homepage": "https://github.com/BuilderIO/agent-native#readme",
6
6
  "bugs": {
@@ -423,9 +423,16 @@ const messages = {
423
423
  join: "Join",
424
424
  invitedByLabel: "Invited by {{name}}",
425
425
  you: "You",
426
+ owner: "المالك",
426
427
  admin: "مسؤول",
427
428
  member: "Member",
428
429
  members: "Members",
430
+ inviteMembers: "دعوة أعضاء",
431
+ invited: "تمت الدعوة",
432
+ role: "الدور",
433
+ status: "الحالة",
434
+ actions: "الإجراءات",
435
+ noMembers: "لا يوجد أعضاء بعد.",
429
436
  memberCount_one: "{{count}} member",
430
437
  memberCount_other: "{{count}} members",
431
438
  memberCount_zero: "{{count}} members",
@@ -410,9 +410,16 @@ const messages = {
410
410
  join: "Join",
411
411
  invitedByLabel: "Invited by {{name}}",
412
412
  you: "You",
413
+ owner: "Eigentümer",
413
414
  admin: "Admin",
414
415
  member: "Member",
415
416
  members: "Members",
417
+ inviteMembers: "Mitglieder einladen",
418
+ invited: "Eingeladen",
419
+ role: "Rolle",
420
+ status: "Status",
421
+ actions: "Aktionen",
422
+ noMembers: "Noch keine Mitglieder.",
416
423
  memberCount_one: "{{count}} member",
417
424
  memberCount_other: "{{count}} members",
418
425
  youAreRole: "You are {{role}}",
@@ -401,9 +401,16 @@ const messages = {
401
401
  join: "Join",
402
402
  invitedByLabel: "Invited by {{name}}",
403
403
  you: "You",
404
+ owner: "Owner",
404
405
  admin: "Admin",
405
406
  member: "Member",
406
407
  members: "Members",
408
+ inviteMembers: "Invite members",
409
+ invited: "Invited",
410
+ role: "Role",
411
+ status: "Status",
412
+ actions: "Actions",
413
+ noMembers: "No members yet.",
407
414
  memberCount_one: "{{count}} member",
408
415
  memberCount_other: "{{count}} members",
409
416
  youAreRole: "You are {{role}}",
@@ -417,9 +417,16 @@ const messages = {
417
417
  join: "Join",
418
418
  invitedByLabel: "Invited by {{name}}",
419
419
  you: "You",
420
+ owner: "Propietario",
420
421
  admin: "Administrador",
421
422
  member: "Member",
422
423
  members: "Members",
424
+ inviteMembers: "Invitar miembros",
425
+ invited: "Invitado",
426
+ role: "Rol",
427
+ status: "Estado",
428
+ actions: "Acciones",
429
+ noMembers: "Aún no hay miembros.",
423
430
  memberCount_one: "{{count}} member",
424
431
  memberCount_other: "{{count}} members",
425
432
  memberCount_many: "{{count}} members",
@@ -415,9 +415,16 @@ const messages = {
415
415
  join: "Join",
416
416
  invitedByLabel: "Invited by {{name}}",
417
417
  you: "You",
418
+ owner: "Propriétaire",
418
419
  admin: "Admin",
419
420
  member: "Member",
420
421
  members: "Members",
422
+ inviteMembers: "Inviter des membres",
423
+ invited: "Invité",
424
+ role: "Rôle",
425
+ status: "Statut",
426
+ actions: "Actions",
427
+ noMembers: "Aucun membre pour le moment.",
421
428
  memberCount_one: "{{count}} member",
422
429
  memberCount_other: "{{count}} members",
423
430
  memberCount_many: "{{count}} members",
@@ -397,9 +397,16 @@ const messages = {
397
397
  join: "Join",
398
398
  invitedByLabel: "Invited by {{name}}",
399
399
  you: "You",
400
+ owner: "स्वामी",
400
401
  admin: "व्यवस्थापक",
401
402
  member: "Member",
402
403
  members: "Members",
404
+ inviteMembers: "सदस्यों को आमंत्रित करें",
405
+ invited: "आमंत्रित",
406
+ role: "भूमिका",
407
+ status: "स्थिति",
408
+ actions: "कार्रवाइयां",
409
+ noMembers: "अभी कोई सदस्य नहीं है.",
403
410
  memberCount_one: "{{count}} member",
404
411
  memberCount_other: "{{count}} members",
405
412
  youAreRole: "You are {{role}}",
@@ -402,9 +402,16 @@ const messages = {
402
402
  join: "Join",
403
403
  invitedByLabel: "Invited by {{name}}",
404
404
  you: "You",
405
+ owner: "オーナー",
405
406
  admin: "管理者",
406
407
  member: "Member",
407
408
  members: "Members",
409
+ inviteMembers: "メンバーを招待",
410
+ invited: "招待済み",
411
+ role: "ロール",
412
+ status: "ステータス",
413
+ actions: "操作",
414
+ noMembers: "メンバーはまだいません。",
408
415
  memberCount_other: "{{count}} members",
409
416
  youAreRole: "You are {{role}}",
410
417
  changeRole: "役割を変更する",
@@ -395,9 +395,16 @@ const messages = {
395
395
  join: "Join",
396
396
  invitedByLabel: "Invited by {{name}}",
397
397
  you: "You",
398
+ owner: "소유자",
398
399
  admin: "관리자",
399
400
  member: "Member",
400
401
  members: "Members",
402
+ inviteMembers: "구성원 초대",
403
+ invited: "초대됨",
404
+ role: "역할",
405
+ status: "상태",
406
+ actions: "작업",
407
+ noMembers: "아직 구성원이 없습니다.",
401
408
  memberCount_other: "{{count}} members",
402
409
  youAreRole: "You are {{role}}",
403
410
  changeRole: "역할 변경",
@@ -414,9 +414,16 @@ const messages = {
414
414
  join: "Join",
415
415
  invitedByLabel: "Invited by {{name}}",
416
416
  you: "You",
417
+ owner: "Proprietário",
417
418
  admin: "Admin",
418
419
  member: "Member",
419
420
  members: "Members",
421
+ inviteMembers: "Convidar membros",
422
+ invited: "Convidado",
423
+ role: "Função",
424
+ status: "Status",
425
+ actions: "Ações",
426
+ noMembers: "Ainda não há membros.",
420
427
  memberCount_one: "{{count}} member",
421
428
  memberCount_other: "{{count}} members",
422
429
  memberCount_many: "{{count}} members",
@@ -383,9 +383,16 @@ const messages = {
383
383
  join: "Join",
384
384
  invitedByLabel: "Invited by {{name}}",
385
385
  you: "You",
386
+ owner: "所有者",
386
387
  admin: "管理员",
387
388
  member: "Member",
388
389
  members: "Members",
390
+ inviteMembers: "邀请成员",
391
+ invited: "已邀请",
392
+ role: "角色",
393
+ status: "状态",
394
+ actions: "操作",
395
+ noMembers: "暂无成员。",
389
396
  memberCount_other: "{{count}} members",
390
397
  youAreRole: "You are {{role}}",
391
398
  changeRole: "改变角色",
@@ -381,9 +381,16 @@ const messages = {
381
381
  join: "Join",
382
382
  invitedByLabel: "由 {{name}} 邀請",
383
383
  you: "You",
384
+ owner: "擁有者",
384
385
  admin: "管理員",
385
386
  member: "Member",
386
387
  members: "Members",
388
+ inviteMembers: "邀請成員",
389
+ invited: "已邀請",
390
+ role: "角色",
391
+ status: "狀態",
392
+ actions: "操作",
393
+ noMembers: "尚無成員。",
387
394
  memberCount_other: "{{count}} 位成員",
388
395
  youAreRole: "你的角色是 {{role}}",
389
396
  changeRole: "改變角色",