@tutti-os/workspace-app-center 0.0.12 → 0.0.13

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.
@@ -41,6 +41,8 @@ var appCenterEn = {
41
41
  uninstallAppDescriptionLocal: "This uninstalls the app from this workspace and deletes this workspace's app data. The app stays in My apps.",
42
42
  uninstallAppDescriptionRecommended: "This uninstalls the app from this workspace and deletes this workspace's app data.",
43
43
  uninstallAppTitle: 'Uninstall "{{name}}"?',
44
+ updateAppTitle: 'Update "{{name}}"?',
45
+ updateRunningAppDescription: "Updating will restart the app to apply changes.",
44
46
  uninstallAndDeleteAppDescription: "This uninstalls the app, deletes its app data, and removes it from your local apps.",
45
47
  uninstallAndDeleteAppTitle: 'Uninstall and delete "{{name}}"?'
46
48
  },
@@ -57,7 +59,7 @@ var appCenterEn = {
57
59
  agent: "Agent",
58
60
  appName: "App name",
59
61
  create: "Create app",
60
- jobs: "Creation queue",
62
+ jobs: "In progress",
61
63
  model: "Model",
62
64
  modelReasoning: "Model and thinking depth",
63
65
  prompt: "Prompt",
@@ -67,8 +69,8 @@ var appCenterEn = {
67
69
  templates: "Start from"
68
70
  },
69
71
  messages: {
70
- factoryJobFailed: "App creation failed. Open the agent session to view details.",
71
- factoryJobFailedWithFix: "App creation failed. Open the agent session or try Fix to view details.",
72
+ factoryJobFailed: "Creation failed. Open the agent session for details.",
73
+ factoryJobFailedWithFix: "Creation failed. Open the agent session or use Fix for details.",
72
74
  loadingConfiguration: "Loading configuration...",
73
75
  loadingProviders: "Loading agent providers...",
74
76
  noAgentProviders: "No available agent providers.",
@@ -147,110 +149,85 @@ var appCenterEn = {
147
149
  validating: "Validating"
148
150
  }
149
151
  },
152
+ catalogApps: {
153
+ aiMediaCanvas: {
154
+ description: "Generate and organize AI images and videos on a canvas.",
155
+ name: "AI Canvas"
156
+ },
157
+ automation: {
158
+ description: "Create and schedule automation tasks.",
159
+ name: "Automation"
160
+ },
161
+ dailyProductRadar: {
162
+ description: "Summarize daily new products and trending open-source projects.",
163
+ name: "Daily Product Radar"
164
+ },
165
+ groupChat: {
166
+ description: "Collaborate with multiple agents in a group chat.",
167
+ name: "Group Chat"
168
+ },
169
+ vibeDesign: {
170
+ description: "Create and iterate on design prototypes.",
171
+ name: "Prototype Design"
172
+ }
173
+ },
150
174
  comingSoonApps: {
151
175
  productCompetition: {
152
- category: "Product and design",
153
- description: "Compare competing products, extract positioning, and review product and design decisions.",
154
- name: "Competitive Analysis"
176
+ category: "Product design",
177
+ description: "Compare competitor positioning, features, and experience to support product decisions.",
178
+ name: "Competitor Analysis"
155
179
  },
156
180
  designReview: {
157
- category: "Product and design",
158
- description: "Review product flows, interface details, and design quality before release.",
181
+ category: "Product design",
182
+ description: "Review flows, interfaces, and experience issues before release.",
159
183
  name: "Design Review"
160
184
  },
161
185
  groupChat: {
162
- category: "Productivity",
163
- description: "Get work done with your agents in group chat.",
186
+ category: "Other tools",
187
+ description: "Collaborate with multiple agents in a group chat.",
164
188
  name: "Group Chat"
165
189
  },
166
190
  aiPpt: {
167
- category: "Office",
168
- description: "Create presentation outlines, slide structure, and polished decks with AI assistance.",
191
+ category: "Daily office",
192
+ description: "Generate presentation outlines, slide structure, and first-draft content.",
169
193
  name: "AI PPT"
170
194
  },
171
195
  aiDocument: {
172
- category: "Office",
173
- description: "Draft, rewrite, and organize workspace documents with AI assistance.",
174
- name: "AI Docs"
196
+ category: "Daily office",
197
+ description: "Draft, rewrite, and organize documents.",
198
+ name: "AI Document"
175
199
  },
176
200
  aiSheet: {
177
- category: "Office",
178
- description: "Build spreadsheet structures, analyze tables, and generate formulas with AI assistance.",
179
- name: "AI Sheets"
201
+ category: "Daily office",
202
+ description: "Build spreadsheets and analyze data with AI assistance.",
203
+ name: "AI Spreadsheet"
180
204
  },
181
205
  openCut: {
182
206
  category: "Content creation",
183
- description: "Edit videos on an open-source timeline with clips, cuts, and media tracks.",
207
+ description: "Open-source video editor with media arrangement and timeline editing.",
184
208
  name: "Open Cut"
185
209
  },
186
210
  calendar: {
187
- category: "Productivity",
188
- description: "Track meetings, milestones, follow-ups, and shared workspace schedules.",
211
+ category: "Other tools",
212
+ description: "Manage schedules, meetings, and to-dos.",
189
213
  name: "Calendar"
190
214
  },
191
215
  documentSummarizer: {
192
- category: "Productivity",
193
- description: "Summarize long documents into key points, action items, and concise briefs.",
216
+ category: "Other tools",
217
+ description: "Extract conclusions, key points, and action items from long documents.",
194
218
  name: "Document Summarizer"
195
219
  }
196
220
  },
197
- comingSoonTags: {
198
- productCompetition: {
199
- primary: "Market",
200
- secondary: "Benchmark",
201
- tertiary: "Insights"
202
- },
203
- designReview: {
204
- primary: "UX",
205
- secondary: "Heuristics",
206
- tertiary: "Review"
207
- },
208
- groupChat: {
209
- primary: "Chat",
210
- secondary: "Team",
211
- tertiary: "Sync"
212
- },
213
- aiPpt: {
214
- primary: "Slides",
215
- secondary: "Outline",
216
- tertiary: "Deck"
217
- },
218
- aiDocument: {
219
- primary: "Writing",
220
- secondary: "Rewrite",
221
- tertiary: "Docs"
222
- },
223
- aiSheet: {
224
- primary: "Data",
225
- secondary: "Formula",
226
- tertiary: "Tables"
227
- },
228
- openCut: {
229
- primary: "Video",
230
- secondary: "Timeline",
231
- tertiary: "Editing"
232
- },
233
- calendar: {
234
- primary: "Schedule",
235
- secondary: "Meetings",
236
- tertiary: "Tasks"
237
- },
238
- documentSummarizer: {
239
- primary: "Summary",
240
- secondary: "Key points",
241
- tertiary: "Actions"
242
- }
243
- },
244
221
  categories: {
245
222
  contentCreation: "Content creation",
246
- office: "Office",
247
- productDesign: "Product and design",
248
- tools: "Productivity"
223
+ office: "Daily office",
224
+ productDesign: "Product design",
225
+ tools: "Other tools"
249
226
  },
250
227
  labels: {
251
228
  allApps: "All",
252
229
  appCategories: "App categories",
253
- appList: "Apps",
230
+ appList: "App Center",
254
231
  appPlural: "Apps",
255
232
  appSingular: "App",
256
233
  failedCount: "{{count}} failed",
@@ -273,6 +250,13 @@ var appCenterEn = {
273
250
  status: {
274
251
  comingSoon: "Coming soon",
275
252
  failed: "Failed",
253
+ installProgress: {
254
+ downloadedOfTotal: "{{downloaded}} / {{total}}",
255
+ downloading: "Downloading\u2026",
256
+ installing: "Installing\u2026",
257
+ progressAria: "App install progress",
258
+ starting: "Starting\u2026"
259
+ },
276
260
  installing: "Installing",
277
261
  preparing: "Preparing",
278
262
  running: "Running",
@@ -280,7 +264,7 @@ var appCenterEn = {
280
264
  stopping: "Stopping",
281
265
  unavailable: "Unavailable"
282
266
  },
283
- title: "Applications"
267
+ title: "App Center"
284
268
  };
285
269
  var appCenterZhCN = {
286
270
  actions: {
@@ -309,6 +293,8 @@ var appCenterZhCN = {
309
293
  uninstallAppDescriptionLocal: "\u8FD9\u4F1A\u4ECE\u5F53\u524D\u5DE5\u4F5C\u533A\u5378\u8F7D\u8BE5\u5E94\u7528\uFF0C\u5E76\u5220\u9664\u6B64\u5DE5\u4F5C\u533A\u4E2D\u7684\u5E94\u7528\u6570\u636E\u3002\u5E94\u7528\u672C\u4F53\u4ECD\u4FDD\u7559\u5728\u6211\u7684\u5E94\u7528\u4E2D\u3002",
310
294
  uninstallAppDescriptionRecommended: "\u8FD9\u4F1A\u4ECE\u5F53\u524D\u5DE5\u4F5C\u533A\u5378\u8F7D\u8BE5\u5E94\u7528\uFF0C\u5E76\u5220\u9664\u6B64\u5DE5\u4F5C\u533A\u4E2D\u7684\u5E94\u7528\u6570\u636E\u3002",
311
295
  uninstallAppTitle: "\u5378\u8F7D\u201C{{name}}\u201D\uFF1F",
296
+ updateAppTitle: "\u66F4\u65B0\u201C{{name}}\u201D\uFF1F",
297
+ updateRunningAppDescription: "\u66F4\u65B0\u5C06\u91CD\u542F\u5E94\u7528\u540E\u751F\u6548\u3002",
312
298
  uninstallAndDeleteAppDescription: "\u8FD9\u4F1A\u5378\u8F7D\u8BE5\u5E94\u7528\u3001\u5220\u9664\u5E94\u7528\u6570\u636E\uFF0C\u5E76\u4ECE\u672C\u5730\u5E94\u7528\u5217\u8868\u79FB\u9664\u3002",
313
299
  uninstallAndDeleteAppTitle: "\u5378\u8F7D\u5E76\u5220\u9664\u201C{{name}}\u201D\uFF1F"
314
300
  },
@@ -325,7 +311,7 @@ var appCenterZhCN = {
325
311
  agent: "Agent",
326
312
  appName: "\u5E94\u7528\u540D\u79F0",
327
313
  create: "\u521B\u5EFA\u5E94\u7528",
328
- jobs: "\u521B\u5EFA\u961F\u5217",
314
+ jobs: "\u8FDB\u884C\u4E2D",
329
315
  model: "\u6A21\u578B",
330
316
  modelReasoning: "\u6A21\u578B\u4E0E\u601D\u8003\u6DF1\u5EA6",
331
317
  prompt: "\u63D0\u793A\u8BCD",
@@ -335,8 +321,8 @@ var appCenterZhCN = {
335
321
  templates: "\u9009\u62E9\u8D77\u70B9"
336
322
  },
337
323
  messages: {
338
- factoryJobFailed: "\u5E94\u7528\u521B\u5EFA\u5931\u8D25\u3002\u6253\u5F00 Agent \u4F1A\u8BDD\u67E5\u770B\u8BE6\u60C5\u3002",
339
- factoryJobFailedWithFix: "\u5E94\u7528\u521B\u5EFA\u5931\u8D25\u3002\u6253\u5F00 Agent \u4F1A\u8BDD\u6216\u4F7F\u7528\u4FEE\u590D\u64CD\u4F5C\u67E5\u770B\u8BE6\u60C5\u3002",
324
+ factoryJobFailed: "\u521B\u5EFA\u5931\u8D25\uFF0C\u6253\u5F00 Agent \u4F1A\u8BDD\u67E5\u770B\u8BE6\u60C5\u3002",
325
+ factoryJobFailedWithFix: "\u521B\u5EFA\u5931\u8D25\uFF0C\u6253\u5F00 Agent \u4F1A\u8BDD\u6216\u4F7F\u7528\u4FEE\u590D\u67E5\u770B\u8BE6\u60C5\u3002",
340
326
  loadingConfiguration: "\u6B63\u5728\u52A0\u8F7D\u914D\u7F6E...",
341
327
  loadingProviders: "\u6B63\u5728\u52A0\u8F7D Agent Provider...",
342
328
  noAgentProviders: "\u6682\u65E0\u53EF\u7528\u7684 Agent Provider\u3002",
@@ -415,110 +401,85 @@ var appCenterZhCN = {
415
401
  validating: "\u9A8C\u8BC1\u4E2D"
416
402
  }
417
403
  },
404
+ catalogApps: {
405
+ aiMediaCanvas: {
406
+ description: "\u5728\u753B\u5E03\u4E0A\u751F\u6210\u548C\u6574\u7406 AI \u56FE\u7247\u3001\u89C6\u9891",
407
+ name: "AI Canvas"
408
+ },
409
+ automation: {
410
+ description: "\u521B\u5EFA\u5E76\u5B9A\u65F6\u8FD0\u884C\u81EA\u52A8\u5316\u4EFB\u52A1",
411
+ name: "\u81EA\u52A8\u5316"
412
+ },
413
+ dailyProductRadar: {
414
+ description: "\u6C47\u603B\u6BCF\u65E5\u65B0\u4EA7\u54C1\u548C\u70ED\u95E8\u5F00\u6E90\u9879\u76EE",
415
+ name: "\u6BCF\u65E5\u4EA7\u54C1\u96F7\u8FBE"
416
+ },
417
+ groupChat: {
418
+ description: "\u5728\u7FA4\u91CC\u548C\u591A\u4E2A Agent \u4E00\u8D77\u534F\u4F5C",
419
+ name: "\u7FA4\u804A"
420
+ },
421
+ vibeDesign: {
422
+ description: "\u521B\u5EFA\u5E76\u8FED\u4EE3\u4EA7\u54C1\u539F\u578B\u8BBE\u8BA1",
423
+ name: "\u4EA7\u54C1\u539F\u578B\u8BBE\u8BA1"
424
+ }
425
+ },
418
426
  comingSoonApps: {
419
427
  productCompetition: {
420
- category: "\u4EA7\u54C1\u4E0E\u8BBE\u8BA1",
421
- description: "\u5BF9\u6BD4\u7ADE\u54C1\u5B9A\u4F4D\u3001\u529F\u80FD\u8DEF\u5F84\u4E0E\u8BBE\u8BA1\u8868\u8FBE\uFF0C\u6C89\u6DC0\u4EA7\u54C1\u548C\u8BBE\u8BA1\u51B3\u7B56\u4F9D\u636E\u3002",
428
+ category: "\u4EA7\u54C1\u8BBE\u8BA1",
429
+ description: "\u5BF9\u6BD4\u7ADE\u54C1\u5B9A\u4F4D\u3001\u529F\u80FD\u548C\u4F53\u9A8C\uFF0C\u8F85\u52A9\u4EA7\u54C1\u51B3\u7B56",
422
430
  name: "\u7ADE\u54C1\u5206\u6790"
423
431
  },
424
432
  designReview: {
425
- category: "\u4EA7\u54C1\u4E0E\u8BBE\u8BA1",
426
- description: "\u8BC4\u5BA1\u4EA7\u54C1\u6D41\u7A0B\u3001\u754C\u9762\u7EC6\u8282\u548C\u8BBE\u8BA1\u8D28\u91CF\uFF0C\u5E2E\u52A9\u53D1\u5E03\u524D\u53D1\u73B0\u95EE\u9898\u3002",
433
+ category: "\u4EA7\u54C1\u8BBE\u8BA1",
434
+ description: "\u68C0\u67E5\u6D41\u7A0B\u3001\u754C\u9762\u548C\u4F53\u9A8C\u95EE\u9898",
427
435
  name: "\u8BBE\u8BA1\u8BC4\u5BA1"
428
436
  },
429
437
  groupChat: {
430
- category: "\u5DE5\u5177",
431
- description: "\u5728\u7FA4\u91CC\u8DDF\u4F60\u7684 Agents \u4E00\u8D77\u5E72\u6D3B",
438
+ category: "\u5176\u4ED6\u5DE5\u5177",
439
+ description: "\u5728\u7FA4\u91CC\u548C\u591A\u4E2A Agent \u4E00\u8D77\u534F\u4F5C",
432
440
  name: "\u7FA4\u804A"
433
441
  },
434
442
  aiPpt: {
435
- category: "\u529E\u516C",
436
- description: "\u7528 AI \u8F85\u52A9\u751F\u6210\u6F14\u793A\u5927\u7EB2\u3001\u9875\u9762\u7ED3\u6784\u548C\u6210\u7A3F\u5185\u5BB9\u3002",
443
+ category: "\u65E5\u5E38\u529E\u516C",
444
+ description: "\u751F\u6210\u6F14\u793A\u5927\u7EB2\u3001\u9875\u9762\u7ED3\u6784\u548C\u521D\u7A3F\u5185\u5BB9",
437
445
  name: "AI PPT"
438
446
  },
439
447
  aiDocument: {
440
- category: "\u529E\u516C",
441
- description: "\u7528 AI \u8F85\u52A9\u8D77\u8349\u3001\u6539\u5199\u548C\u6574\u7406\u5DE5\u4F5C\u533A\u6587\u6863\u3002",
448
+ category: "\u65E5\u5E38\u529E\u516C",
449
+ description: "\u8D77\u8349\u3001\u6539\u5199\u548C\u6574\u7406\u6587\u6863",
442
450
  name: "AI \u6587\u6863"
443
451
  },
444
452
  aiSheet: {
445
- category: "\u529E\u516C",
446
- description: "\u7528 AI \u8F85\u52A9\u642D\u5EFA\u8868\u683C\u7ED3\u6784\u3001\u5206\u6790\u6570\u636E\u5E76\u751F\u6210\u516C\u5F0F\u3002",
453
+ category: "\u65E5\u5E38\u529E\u516C",
454
+ description: "\u7528 AI \u8F85\u52A9\u642D\u5EFA\u8868\u683C\u3001\u5206\u6790\u6570\u636E",
447
455
  name: "AI \u8868\u683C"
448
456
  },
449
457
  openCut: {
450
458
  category: "\u5185\u5BB9\u521B\u4F5C",
451
- description: "\u5F00\u6E90\u65F6\u95F4\u7EBF\u526A\u8F91\u5DE5\u5177\uFF0C\u7528\u4E8E\u7F16\u6392\u7D20\u6750\u3001\u88C1\u5207\u7247\u6BB5\u548C\u7F16\u8F91\u89C6\u9891\u8F68\u9053\u3002",
459
+ description: "\u5F00\u6E90\u89C6\u9891\u526A\u8F91\u5DE5\u5177\uFF0C\u652F\u6301\u7D20\u6750\u7F16\u6392\u548C\u65F6\u95F4\u7EBF\u7F16\u8F91",
452
460
  name: "Open Cut"
453
461
  },
454
462
  calendar: {
455
- category: "\u5DE5\u5177",
456
- description: "\u7BA1\u7406\u4F1A\u8BAE\u3001\u91CC\u7A0B\u7891\u3001\u8DDF\u8FDB\u4E8B\u9879\u548C\u5171\u4EAB\u65E5\u7A0B\u3002",
463
+ category: "\u5176\u4ED6\u5DE5\u5177",
464
+ description: "\u7BA1\u7406\u65E5\u7A0B\u3001\u4F1A\u8BAE\u548C\u5F85\u529E\u4E8B\u9879",
457
465
  name: "Calendar"
458
466
  },
459
467
  documentSummarizer: {
460
- category: "\u5DE5\u5177",
461
- description: "\u5C06\u957F\u6587\u6863\u63D0\u70BC\u4E3A\u5173\u952E\u7ED3\u8BBA\u3001\u884C\u52A8\u9879\u548C\u7B80\u660E\u6458\u8981\u3002",
468
+ category: "\u5176\u4ED6\u5DE5\u5177",
469
+ description: "\u63D0\u70BC\u957F\u6587\u6863\u7684\u7ED3\u8BBA\u3001\u8981\u70B9\u548C\u884C\u52A8\u9879",
462
470
  name: "\u6587\u6863\u603B\u7ED3\u5668"
463
471
  }
464
472
  },
465
- comingSoonTags: {
466
- productCompetition: {
467
- primary: "\u5E02\u573A",
468
- secondary: "\u5BF9\u6807",
469
- tertiary: "\u6D1E\u5BDF"
470
- },
471
- designReview: {
472
- primary: "\u4F53\u9A8C",
473
- secondary: "\u51C6\u5219",
474
- tertiary: "\u8BC4\u5BA1"
475
- },
476
- groupChat: {
477
- primary: "\u56E2\u961F",
478
- secondary: "\u534F\u540C",
479
- tertiary: "\u5DE5\u4F5C"
480
- },
481
- aiPpt: {
482
- primary: "\u5E7B\u706F\u7247",
483
- secondary: "\u5927\u7EB2",
484
- tertiary: "\u6210\u7A3F"
485
- },
486
- aiDocument: {
487
- primary: "\u5199\u4F5C",
488
- secondary: "\u6539\u5199",
489
- tertiary: "\u6587\u6863"
490
- },
491
- aiSheet: {
492
- primary: "\u6570\u636E",
493
- secondary: "\u516C\u5F0F",
494
- tertiary: "\u8868\u683C"
495
- },
496
- openCut: {
497
- primary: "\u89C6\u9891",
498
- secondary: "\u65F6\u95F4\u7EBF",
499
- tertiary: "\u526A\u8F91"
500
- },
501
- calendar: {
502
- primary: "\u65E5\u7A0B",
503
- secondary: "\u4F1A\u8BAE",
504
- tertiary: "\u4EFB\u52A1"
505
- },
506
- documentSummarizer: {
507
- primary: "\u6458\u8981",
508
- secondary: "\u8981\u70B9",
509
- tertiary: "\u884C\u52A8\u9879"
510
- }
511
- },
512
473
  categories: {
513
474
  contentCreation: "\u5185\u5BB9\u521B\u4F5C",
514
- office: "\u529E\u516C",
515
- productDesign: "\u4EA7\u54C1\u4E0E\u8BBE\u8BA1",
516
- tools: "\u5DE5\u5177"
475
+ office: "\u65E5\u5E38\u529E\u516C",
476
+ productDesign: "\u4EA7\u54C1\u8BBE\u8BA1",
477
+ tools: "\u5176\u4ED6\u5DE5\u5177"
517
478
  },
518
479
  labels: {
519
480
  allApps: "\u5168\u90E8",
520
481
  appCategories: "\u5E94\u7528\u5206\u7C7B",
521
- appList: "\u5E94\u7528",
482
+ appList: "\u5E94\u7528\u4E2D\u5FC3",
522
483
  appPlural: "App",
523
484
  appSingular: "App",
524
485
  failedCount: "{{count}} \u4E2A\u5931\u8D25",
@@ -541,6 +502,13 @@ var appCenterZhCN = {
541
502
  status: {
542
503
  comingSoon: "\u656C\u8BF7\u671F\u5F85",
543
504
  failed: "\u5931\u8D25",
505
+ installProgress: {
506
+ downloadedOfTotal: "{{downloaded}} / {{total}}",
507
+ downloading: "\u6B63\u5728\u4E0B\u8F7D\u2026",
508
+ installing: "\u6B63\u5728\u5B89\u88C5\u2026",
509
+ progressAria: "\u5E94\u7528\u5B89\u88C5\u8FDB\u5EA6",
510
+ starting: "\u6B63\u5728\u542F\u52A8\u2026"
511
+ },
544
512
  installing: "\u5B89\u88C5\u4E2D",
545
513
  preparing: "\u51C6\u5907\u4E2D",
546
514
  running: "\u8FD0\u884C\u4E2D",
@@ -548,7 +516,7 @@ var appCenterZhCN = {
548
516
  stopping: "\u505C\u6B62\u4E2D",
549
517
  unavailable: "\u4E0D\u53EF\u7528"
550
518
  },
551
- title: "\u5E94\u7528"
519
+ title: "\u5E94\u7528\u4E2D\u5FC3"
552
520
  };
553
521
  var appCenterDefaults = {
554
522
  en: appCenterEn,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/i18n/appCenterI18n.ts"],"sourcesContent":["import {\n createI18nRuntime,\n createScopedI18nRuntime,\n createScopedLocaleObjectsI18nModuleManifest,\n type I18nDictionary,\n type I18nRuntime\n} from \"@tutti-os/ui-i18n-runtime\";\n\ntype AppCenterI18nLocale = \"en\" | \"zh-CN\";\n\nexport const appCenterI18nNamespace = \"appCenter\";\nexport const tuttiI18nModule = createScopedLocaleObjectsI18nModuleManifest({\n localeObjectByLocale: {\n en: \"appCenterEn\",\n \"zh-CN\": \"appCenterZhCN\"\n },\n name: \"workspace-app-center\",\n namespace: \"appCenter\",\n sourceRoot: \"packages/workspace/app-center/src/ui\"\n});\n\nexport const appCenterEn = {\n actions: {\n cancel: \"Cancel\",\n deleteApp: \"Delete app\",\n exportApp: \"Export\",\n importApp: \"Import\",\n importAppTooltip:\n \"Only valid Tutti app .zip packages are supported. You can export an app and import it here.\",\n installApp: \"Install\",\n moreActions: \"More actions\",\n openApp: \"Open\",\n openAppFolder: \"Open data folder\",\n openAppPackageFolder: \"Open app folder\",\n modifyAppWithAgent: \"Edit with agent\",\n publishAppUpdate: \"Republish\",\n refreshCatalog: \"Refresh catalog\",\n replaceIcon: \"Replace icon\",\n retryApp: \"Retry\",\n updateApp: \"Update\",\n uninstallAndDeleteApp: \"Uninstall and delete\",\n uninstallApp: \"Uninstall\"\n },\n confirmations: {\n deleteAppDescription:\n \"This removes the app from your local apps and deletes its app data.\",\n deleteAppTitle: 'Delete \"{{name}}\"?',\n uninstallAppDescriptionLocal:\n \"This uninstalls the app from this workspace and deletes this workspace's app data. The app stays in My apps.\",\n uninstallAppDescriptionRecommended:\n \"This uninstalls the app from this workspace and deletes this workspace's app data.\",\n uninstallAppTitle: 'Uninstall \"{{name}}\"?',\n uninstallAndDeleteAppDescription:\n \"This uninstalls the app, deletes its app data, and removes it from your local apps.\",\n uninstallAndDeleteAppTitle: 'Uninstall and delete \"{{name}}\"?'\n },\n factory: {\n actions: {\n cancel: \"Cancel\",\n create: \"Create app\",\n delete: \"Delete\",\n fix: \"Fix\",\n publish: \"Add to my apps\",\n validate: \"Validate\"\n },\n labels: {\n agent: \"Agent\",\n appName: \"App name\",\n create: \"Create app\",\n jobs: \"Creation queue\",\n model: \"Model\",\n modelReasoning: \"Model and thinking depth\",\n prompt: \"Prompt\",\n reasoningEffort: \"Thinking depth\",\n review: \"Review\",\n templateInspirationPrefix: \"Try these inspirations:\",\n templates: \"Start from\"\n },\n messages: {\n factoryJobFailed:\n \"App creation failed. Open the agent session to view details.\",\n factoryJobFailedWithFix:\n \"App creation failed. Open the agent session or try Fix to view details.\",\n loadingConfiguration: \"Loading configuration...\",\n loadingProviders: \"Loading agent providers...\",\n noAgentProviders: \"No available agent providers.\",\n noConfigurationOptions: \"No configuration options available.\",\n noModelOptions: \"No models available.\",\n noPermissionOptions: \"No review options available.\",\n noReasoningEffortOptions: \"No thinking depth options available.\"\n },\n placeholders: {\n appName: \"Name your app\",\n prompt: \"Describe the app to create\"\n },\n prompts: {\n fixDefault: \"Fix the draft so it passes validation.\"\n },\n permissionSemantics: {\n \"accept-edits\": {\n label: \"Accept edits\"\n },\n \"ask-before-write\": {\n label: \"Ask for approval\"\n },\n auto: {\n label: \"Approve for me\"\n },\n \"full-access\": {\n label: \"Full access\"\n },\n \"locked-down\": {\n label: \"Don't ask\"\n },\n unconfigurable: {\n label: \"Fixed mode\"\n }\n },\n templates: {\n lookup: {\n defaultName: \"Answer Book\",\n prompt:\n \"Create an offline answer-book app for playful quick guidance. Let the user type a question, draw one random short answer from a built-in answer deck, show the answer prominently with a redraw action, and keep recent questions and draws in app data. Do not use external network or factual lookup APIs.\",\n summary: \"Offline random answers for user-entered questions.\",\n title: \"Answer book\"\n },\n news: {\n defaultName: \"News Brief\",\n prompt:\n \"Create a news reader app backed by user-configurable RSS or Atom feeds that can be fetched without API keys. On refresh, fetch all saved feeds once, parse and deduplicate items by link or title, and show a concise feed with source names, timestamps, saved topics, and a short brief view. Keep feed and topic preferences in app data, and make feed fetch failures visible and retryable.\",\n summary: \"RSS and Atom feeds, brief views, and saved topics.\",\n title: \"News\"\n },\n gomoku: {\n defaultName: \"Gomoku\",\n prompt:\n \"Create a local Gomoku game app. Render a 15 by 15 board, let two local players alternate black and white stones, detect five in a row horizontally, vertically, or diagonally, show the winner or draw state, and provide restart and undo controls. Keep recent match results and settings in app data, and do not depend on external network services.\",\n summary: \"Local two-player Gomoku with win detection.\",\n title: \"Gomoku\"\n },\n system: {\n defaultName: \"System Monitor\",\n prompt:\n \"Create a local system dashboard inspired by btop. Show CPU, memory, process, network, and disk usage in a dense readable layout. Refresh automatically, keep settings in app data, and avoid external network dependencies.\",\n summary: \"CPU, memory, network, process, and disk usage.\",\n title: \"System dashboard\"\n },\n weather: {\n defaultName: \"Weather Watch\",\n prompt:\n \"Create a weather lookup app backed by Open-Meteo APIs that can be fetched without API keys. Use Open-Meteo geocoding to search locations and Open-Meteo forecast data for current conditions, hourly forecasts, and daily forecasts. Let the user enter and save locations, keep saved locations in app data, refresh selected locations on demand, and clearly surface retryable refresh errors.\",\n summary: \"Current conditions and forecasts for saved locations.\",\n title: \"Weather\"\n }\n },\n status: {\n canceled: \"Canceled\",\n failed: \"Failed\",\n generating: \"Generating\",\n preparing: \"Preparing\",\n published: \"Published\",\n queued: \"Queued\",\n ready: \"Completed\",\n validating: \"Validating\"\n }\n },\n comingSoonApps: {\n productCompetition: {\n category: \"Product and design\",\n description:\n \"Compare competing products, extract positioning, and review product and design decisions.\",\n name: \"Competitive Analysis\"\n },\n designReview: {\n category: \"Product and design\",\n description:\n \"Review product flows, interface details, and design quality before release.\",\n name: \"Design Review\"\n },\n groupChat: {\n category: \"Productivity\",\n description: \"Get work done with your agents in group chat.\",\n name: \"Group Chat\"\n },\n aiPpt: {\n category: \"Office\",\n description:\n \"Create presentation outlines, slide structure, and polished decks with AI assistance.\",\n name: \"AI PPT\"\n },\n aiDocument: {\n category: \"Office\",\n description:\n \"Draft, rewrite, and organize workspace documents with AI assistance.\",\n name: \"AI Docs\"\n },\n aiSheet: {\n category: \"Office\",\n description:\n \"Build spreadsheet structures, analyze tables, and generate formulas with AI assistance.\",\n name: \"AI Sheets\"\n },\n openCut: {\n category: \"Content creation\",\n description:\n \"Edit videos on an open-source timeline with clips, cuts, and media tracks.\",\n name: \"Open Cut\"\n },\n calendar: {\n category: \"Productivity\",\n description:\n \"Track meetings, milestones, follow-ups, and shared workspace schedules.\",\n name: \"Calendar\"\n },\n documentSummarizer: {\n category: \"Productivity\",\n description:\n \"Summarize long documents into key points, action items, and concise briefs.\",\n name: \"Document Summarizer\"\n }\n },\n comingSoonTags: {\n productCompetition: {\n primary: \"Market\",\n secondary: \"Benchmark\",\n tertiary: \"Insights\"\n },\n designReview: {\n primary: \"UX\",\n secondary: \"Heuristics\",\n tertiary: \"Review\"\n },\n groupChat: {\n primary: \"Chat\",\n secondary: \"Team\",\n tertiary: \"Sync\"\n },\n aiPpt: {\n primary: \"Slides\",\n secondary: \"Outline\",\n tertiary: \"Deck\"\n },\n aiDocument: {\n primary: \"Writing\",\n secondary: \"Rewrite\",\n tertiary: \"Docs\"\n },\n aiSheet: {\n primary: \"Data\",\n secondary: \"Formula\",\n tertiary: \"Tables\"\n },\n openCut: {\n primary: \"Video\",\n secondary: \"Timeline\",\n tertiary: \"Editing\"\n },\n calendar: {\n primary: \"Schedule\",\n secondary: \"Meetings\",\n tertiary: \"Tasks\"\n },\n documentSummarizer: {\n primary: \"Summary\",\n secondary: \"Key points\",\n tertiary: \"Actions\"\n }\n },\n categories: {\n contentCreation: \"Content creation\",\n office: \"Office\",\n productDesign: \"Product and design\",\n tools: \"Productivity\"\n },\n labels: {\n allApps: \"All\",\n appCategories: \"App categories\",\n appList: \"Apps\",\n appPlural: \"Apps\",\n appSingular: \"App\",\n failedCount: \"{{count}} failed\",\n installedAppsTitle: \"{{count}} installed {{appLabel}}\",\n installedCount: \"{{count}} installed\",\n myApps: \"My apps\",\n recommendedApps: \"Recommended apps\",\n runningCount: \"{{count}} running\",\n updateAvailable: \"Update {{version}} available\",\n version: \"Version {{version}}\"\n },\n messages: {\n appRuntimeFailed:\n \"The app failed to start. Open its session or logs for details.\",\n catalogFailed:\n \"Remote app catalog is unavailable. Local apps are still available.\",\n catalogLoading: \"Loading remote app catalog...\",\n empty: \"No apps installed yet\",\n myAppsEmpty: \"Imported and created apps will appear here.\",\n recommendedAppsEmpty: \"No recommended apps available.\"\n },\n status: {\n comingSoon: \"Coming soon\",\n failed: \"Failed\",\n installing: \"Installing\",\n preparing: \"Preparing\",\n running: \"Running\",\n starting: \"Starting\",\n stopping: \"Stopping\",\n unavailable: \"Unavailable\"\n },\n title: \"Applications\"\n} as const satisfies I18nDictionary;\n\nexport const appCenterZhCN = {\n actions: {\n cancel: \"取消\",\n deleteApp: \"删除应用\",\n exportApp: \"导出\",\n importApp: \"导入\",\n importAppTooltip:\n \"仅支持符合规范的 Tutti 应用 .zip 包。你可以先导出应用,再在这里导入。\",\n installApp: \"安装\",\n moreActions: \"更多操作\",\n openApp: \"打开\",\n openAppFolder: \"打开数据目录\",\n openAppPackageFolder: \"打开应用目录\",\n modifyAppWithAgent: \"用智能体编辑\",\n publishAppUpdate: \"重新发布\",\n refreshCatalog: \"刷新目录\",\n replaceIcon: \"替换图标\",\n retryApp: \"重试\",\n updateApp: \"更新\",\n uninstallAndDeleteApp: \"卸载并删除\",\n uninstallApp: \"卸载\"\n },\n confirmations: {\n deleteAppDescription: \"这会从本地应用列表删除该应用,并删除它的应用数据。\",\n deleteAppTitle: \"删除“{{name}}”?\",\n uninstallAppDescriptionLocal:\n \"这会从当前工作区卸载该应用,并删除此工作区中的应用数据。应用本体仍保留在我的应用中。\",\n uninstallAppDescriptionRecommended:\n \"这会从当前工作区卸载该应用,并删除此工作区中的应用数据。\",\n uninstallAppTitle: \"卸载“{{name}}”?\",\n uninstallAndDeleteAppDescription:\n \"这会卸载该应用、删除应用数据,并从本地应用列表移除。\",\n uninstallAndDeleteAppTitle: \"卸载并删除“{{name}}”?\"\n },\n factory: {\n actions: {\n cancel: \"取消\",\n create: \"创建应用\",\n delete: \"删除\",\n fix: \"修复\",\n publish: \"添加至我的应用\",\n validate: \"验证\"\n },\n labels: {\n agent: \"Agent\",\n appName: \"应用名称\",\n create: \"创建应用\",\n jobs: \"创建队列\",\n model: \"模型\",\n modelReasoning: \"模型与思考深度\",\n prompt: \"提示词\",\n reasoningEffort: \"思考深度\",\n review: \"审查\",\n templateInspirationPrefix: \"试试这些灵感:\",\n templates: \"选择起点\"\n },\n messages: {\n factoryJobFailed: \"应用创建失败。打开 Agent 会话查看详情。\",\n factoryJobFailedWithFix:\n \"应用创建失败。打开 Agent 会话或使用修复操作查看详情。\",\n loadingConfiguration: \"正在加载配置...\",\n loadingProviders: \"正在加载 Agent Provider...\",\n noAgentProviders: \"暂无可用的 Agent Provider。\",\n noConfigurationOptions: \"暂无可用配置项。\",\n noModelOptions: \"暂无可用模型。\",\n noPermissionOptions: \"暂无可用的审查选项。\",\n noReasoningEffortOptions: \"暂无可用的思考深度选项。\"\n },\n placeholders: {\n appName: \"输入应用名称\",\n prompt: \"描述要创建的应用\"\n },\n prompts: {\n fixDefault: \"修复当前草稿,让它通过验证。\"\n },\n permissionSemantics: {\n \"accept-edits\": {\n label: \"接受编辑\"\n },\n \"ask-before-write\": {\n label: \"请求批准\"\n },\n auto: {\n label: \"代我批准\"\n },\n \"full-access\": {\n label: \"完全访问\"\n },\n \"locked-down\": {\n label: \"不再询问\"\n },\n unconfigurable: {\n label: \"固定模式\"\n }\n },\n templates: {\n lookup: {\n defaultName: \"答案之书\",\n prompt:\n \"创建一个离线的答案之书应用,用于给用户输入的问题提供轻量随机指引。允许用户输入问题,从内置答案卡组里随机抽取一句短答案,突出展示答案,并提供重新抽取操作;把最近问题和抽取记录保存在应用数据目录。不要依赖外部网络或事实查询 API。\",\n summary: \"面向用户输入问题的离线随机答案。\",\n title: \"答案之书\"\n },\n news: {\n defaultName: \"新闻简报\",\n prompt:\n \"创建一个新闻阅读应用,使用用户可配置且无需 API Key 的 RSS 或 Atom feed 作为数据源。刷新时一次性抓取所有已保存 feed,解析并按链接或标题去重,展示简洁信息流、来源名称、时间、已保存主题和简报视图;把 feed 和主题偏好保存在应用数据目录,并让 feed 抓取失败状态可见且可重试。\",\n summary: \"RSS 和 Atom 信息流、简报视图和关注主题。\",\n title: \"新闻\"\n },\n gomoku: {\n defaultName: \"五子棋\",\n prompt:\n \"创建一个本地五子棋小游戏应用。渲染 15 x 15 棋盘,支持两名本地玩家轮流落黑白棋,检测横向、纵向和斜向五子连珠,展示胜负或平局状态,并提供重新开始和悔棋控制。把最近对局结果和设置保存在应用数据目录,不依赖外部网络服务。\",\n summary: \"带胜负检测的本地双人五子棋。\",\n title: \"五子棋\"\n },\n system: {\n defaultName: \"系统监控\",\n prompt:\n \"创建一个类似 btop 的本地系统看板。用紧凑清晰的布局展示 CPU、内存、进程、网络和磁盘占用;自动刷新,把设置保存在应用数据目录,并避免依赖外部网络。\",\n summary: \"CPU、内存、网络、进程和磁盘占用。\",\n title: \"系统看板\"\n },\n weather: {\n defaultName: \"天气查询\",\n prompt:\n \"创建一个天气查询应用,使用无需 API Key 的 Open-Meteo 数据源。用 Open-Meteo geocoding 搜索地点,用 Open-Meteo forecast 获取当前天气、小时预报和每日预报;允许用户输入并保存地点,把保存的地点放在应用数据目录,支持按需刷新选中地点,并清楚展示可重试的刷新失败状态。\",\n summary: \"保存地点的当前天气和预报。\",\n title: \"天气\"\n }\n },\n status: {\n canceled: \"已取消\",\n failed: \"失败\",\n generating: \"生成中\",\n preparing: \"准备中\",\n published: \"已发布\",\n queued: \"排队中\",\n ready: \"已完成\",\n validating: \"验证中\"\n }\n },\n comingSoonApps: {\n productCompetition: {\n category: \"产品与设计\",\n description: \"对比竞品定位、功能路径与设计表达,沉淀产品和设计决策依据。\",\n name: \"竞品分析\"\n },\n designReview: {\n category: \"产品与设计\",\n description: \"评审产品流程、界面细节和设计质量,帮助发布前发现问题。\",\n name: \"设计评审\"\n },\n groupChat: {\n category: \"工具\",\n description: \"在群里跟你的 Agents 一起干活\",\n name: \"群聊\"\n },\n aiPpt: {\n category: \"办公\",\n description: \"用 AI 辅助生成演示大纲、页面结构和成稿内容。\",\n name: \"AI PPT\"\n },\n aiDocument: {\n category: \"办公\",\n description: \"用 AI 辅助起草、改写和整理工作区文档。\",\n name: \"AI 文档\"\n },\n aiSheet: {\n category: \"办公\",\n description: \"用 AI 辅助搭建表格结构、分析数据并生成公式。\",\n name: \"AI 表格\"\n },\n openCut: {\n category: \"内容创作\",\n description: \"开源时间线剪辑工具,用于编排素材、裁切片段和编辑视频轨道。\",\n name: \"Open Cut\"\n },\n calendar: {\n category: \"工具\",\n description: \"管理会议、里程碑、跟进事项和共享日程。\",\n name: \"Calendar\"\n },\n documentSummarizer: {\n category: \"工具\",\n description: \"将长文档提炼为关键结论、行动项和简明摘要。\",\n name: \"文档总结器\"\n }\n },\n comingSoonTags: {\n productCompetition: {\n primary: \"市场\",\n secondary: \"对标\",\n tertiary: \"洞察\"\n },\n designReview: {\n primary: \"体验\",\n secondary: \"准则\",\n tertiary: \"评审\"\n },\n groupChat: {\n primary: \"团队\",\n secondary: \"协同\",\n tertiary: \"工作\"\n },\n aiPpt: {\n primary: \"幻灯片\",\n secondary: \"大纲\",\n tertiary: \"成稿\"\n },\n aiDocument: {\n primary: \"写作\",\n secondary: \"改写\",\n tertiary: \"文档\"\n },\n aiSheet: {\n primary: \"数据\",\n secondary: \"公式\",\n tertiary: \"表格\"\n },\n openCut: {\n primary: \"视频\",\n secondary: \"时间线\",\n tertiary: \"剪辑\"\n },\n calendar: {\n primary: \"日程\",\n secondary: \"会议\",\n tertiary: \"任务\"\n },\n documentSummarizer: {\n primary: \"摘要\",\n secondary: \"要点\",\n tertiary: \"行动项\"\n }\n },\n categories: {\n contentCreation: \"内容创作\",\n office: \"办公\",\n productDesign: \"产品与设计\",\n tools: \"工具\"\n },\n labels: {\n allApps: \"全部\",\n appCategories: \"应用分类\",\n appList: \"应用\",\n appPlural: \"App\",\n appSingular: \"App\",\n failedCount: \"{{count}} 个失败\",\n installedAppsTitle: \"已安装 {{count}} 个 {{appLabel}}\",\n installedCount: \"已安装 {{count}} 个\",\n myApps: \"我的应用\",\n recommendedApps: \"推荐应用\",\n runningCount: \"{{count}} 个运行中\",\n updateAvailable: \"可更新到 {{version}}\",\n version: \"版本 {{version}}\"\n },\n messages: {\n appRuntimeFailed: \"应用启动失败。请打开会话或日志查看详情。\",\n catalogFailed: \"无法加载远程应用目录,本地应用仍可用。\",\n catalogLoading: \"正在加载远程应用目录...\",\n empty: \"还没有安装应用\",\n myAppsEmpty: \"导入或创建的应用会显示在这里\",\n recommendedAppsEmpty: \"暂无推荐应用\"\n },\n status: {\n comingSoon: \"敬请期待\",\n failed: \"失败\",\n installing: \"安装中\",\n preparing: \"准备中\",\n running: \"运行中\",\n starting: \"启动中\",\n stopping: \"停止中\",\n unavailable: \"不可用\"\n },\n title: \"应用\"\n} as const satisfies I18nDictionary;\n\nexport type AppCenterI18nKey = string;\n\nexport type AppCenterI18nRuntime = I18nRuntime<AppCenterI18nKey>;\n\nconst appCenterDefaults: Record<AppCenterI18nLocale, I18nDictionary> = {\n en: appCenterEn,\n \"zh-CN\": appCenterZhCN\n};\n\nexport const appCenterI18nResources = {\n en: {\n [appCenterI18nNamespace]: appCenterDefaults.en\n },\n \"zh-CN\": {\n [appCenterI18nNamespace]: appCenterDefaults[\"zh-CN\"]\n }\n} as const satisfies Record<AppCenterI18nLocale, I18nDictionary>;\n\nconst defaultAppCenterI18n = createI18nRuntime({\n dictionaries: [appCenterI18nResources.en]\n});\n\nexport function createAppCenterI18nRuntime(\n runtime: I18nRuntime<string> | undefined\n): AppCenterI18nRuntime {\n return createScopedI18nRuntime<AppCenterI18nKey>(\n runtime ?? defaultAppCenterI18n,\n appCenterI18nNamespace\n );\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/i18n/appCenterI18n.ts"],"sourcesContent":["import {\n createI18nRuntime,\n createScopedI18nRuntime,\n createScopedLocaleObjectsI18nModuleManifest,\n type I18nDictionary,\n type I18nRuntime\n} from \"@tutti-os/ui-i18n-runtime\";\n\ntype AppCenterI18nLocale = \"en\" | \"zh-CN\";\n\nexport const appCenterI18nNamespace = \"appCenter\";\nexport const tuttiI18nModule = createScopedLocaleObjectsI18nModuleManifest({\n localeObjectByLocale: {\n en: \"appCenterEn\",\n \"zh-CN\": \"appCenterZhCN\"\n },\n name: \"workspace-app-center\",\n namespace: \"appCenter\",\n sourceRoot: \"packages/workspace/app-center/src/ui\"\n});\n\nexport const appCenterEn = {\n actions: {\n cancel: \"Cancel\",\n deleteApp: \"Delete app\",\n exportApp: \"Export\",\n importApp: \"Import\",\n importAppTooltip:\n \"Only valid Tutti app .zip packages are supported. You can export an app and import it here.\",\n installApp: \"Install\",\n moreActions: \"More actions\",\n openApp: \"Open\",\n openAppFolder: \"Open data folder\",\n openAppPackageFolder: \"Open app folder\",\n modifyAppWithAgent: \"Edit with agent\",\n publishAppUpdate: \"Republish\",\n refreshCatalog: \"Refresh catalog\",\n replaceIcon: \"Replace icon\",\n retryApp: \"Retry\",\n updateApp: \"Update\",\n uninstallAndDeleteApp: \"Uninstall and delete\",\n uninstallApp: \"Uninstall\"\n },\n confirmations: {\n deleteAppDescription:\n \"This removes the app from your local apps and deletes its app data.\",\n deleteAppTitle: 'Delete \"{{name}}\"?',\n uninstallAppDescriptionLocal:\n \"This uninstalls the app from this workspace and deletes this workspace's app data. The app stays in My apps.\",\n uninstallAppDescriptionRecommended:\n \"This uninstalls the app from this workspace and deletes this workspace's app data.\",\n uninstallAppTitle: 'Uninstall \"{{name}}\"?',\n updateAppTitle: 'Update \"{{name}}\"?',\n updateRunningAppDescription:\n \"Updating will restart the app to apply changes.\",\n uninstallAndDeleteAppDescription:\n \"This uninstalls the app, deletes its app data, and removes it from your local apps.\",\n uninstallAndDeleteAppTitle: 'Uninstall and delete \"{{name}}\"?'\n },\n factory: {\n actions: {\n cancel: \"Cancel\",\n create: \"Create app\",\n delete: \"Delete\",\n fix: \"Fix\",\n publish: \"Add to my apps\",\n validate: \"Validate\"\n },\n labels: {\n agent: \"Agent\",\n appName: \"App name\",\n create: \"Create app\",\n jobs: \"In progress\",\n model: \"Model\",\n modelReasoning: \"Model and thinking depth\",\n prompt: \"Prompt\",\n reasoningEffort: \"Thinking depth\",\n review: \"Review\",\n templateInspirationPrefix: \"Try these inspirations:\",\n templates: \"Start from\"\n },\n messages: {\n factoryJobFailed: \"Creation failed. Open the agent session for details.\",\n factoryJobFailedWithFix:\n \"Creation failed. Open the agent session or use Fix for details.\",\n loadingConfiguration: \"Loading configuration...\",\n loadingProviders: \"Loading agent providers...\",\n noAgentProviders: \"No available agent providers.\",\n noConfigurationOptions: \"No configuration options available.\",\n noModelOptions: \"No models available.\",\n noPermissionOptions: \"No review options available.\",\n noReasoningEffortOptions: \"No thinking depth options available.\"\n },\n placeholders: {\n appName: \"Name your app\",\n prompt: \"Describe the app to create\"\n },\n prompts: {\n fixDefault: \"Fix the draft so it passes validation.\"\n },\n permissionSemantics: {\n \"accept-edits\": {\n label: \"Accept edits\"\n },\n \"ask-before-write\": {\n label: \"Ask for approval\"\n },\n auto: {\n label: \"Approve for me\"\n },\n \"full-access\": {\n label: \"Full access\"\n },\n \"locked-down\": {\n label: \"Don't ask\"\n },\n unconfigurable: {\n label: \"Fixed mode\"\n }\n },\n templates: {\n lookup: {\n defaultName: \"Answer Book\",\n prompt:\n \"Create an offline answer-book app for playful quick guidance. Let the user type a question, draw one random short answer from a built-in answer deck, show the answer prominently with a redraw action, and keep recent questions and draws in app data. Do not use external network or factual lookup APIs.\",\n summary: \"Offline random answers for user-entered questions.\",\n title: \"Answer book\"\n },\n news: {\n defaultName: \"News Brief\",\n prompt:\n \"Create a news reader app backed by user-configurable RSS or Atom feeds that can be fetched without API keys. On refresh, fetch all saved feeds once, parse and deduplicate items by link or title, and show a concise feed with source names, timestamps, saved topics, and a short brief view. Keep feed and topic preferences in app data, and make feed fetch failures visible and retryable.\",\n summary: \"RSS and Atom feeds, brief views, and saved topics.\",\n title: \"News\"\n },\n gomoku: {\n defaultName: \"Gomoku\",\n prompt:\n \"Create a local Gomoku game app. Render a 15 by 15 board, let two local players alternate black and white stones, detect five in a row horizontally, vertically, or diagonally, show the winner or draw state, and provide restart and undo controls. Keep recent match results and settings in app data, and do not depend on external network services.\",\n summary: \"Local two-player Gomoku with win detection.\",\n title: \"Gomoku\"\n },\n system: {\n defaultName: \"System Monitor\",\n prompt:\n \"Create a local system dashboard inspired by btop. Show CPU, memory, process, network, and disk usage in a dense readable layout. Refresh automatically, keep settings in app data, and avoid external network dependencies.\",\n summary: \"CPU, memory, network, process, and disk usage.\",\n title: \"System dashboard\"\n },\n weather: {\n defaultName: \"Weather Watch\",\n prompt:\n \"Create a weather lookup app backed by Open-Meteo APIs that can be fetched without API keys. Use Open-Meteo geocoding to search locations and Open-Meteo forecast data for current conditions, hourly forecasts, and daily forecasts. Let the user enter and save locations, keep saved locations in app data, refresh selected locations on demand, and clearly surface retryable refresh errors.\",\n summary: \"Current conditions and forecasts for saved locations.\",\n title: \"Weather\"\n }\n },\n status: {\n canceled: \"Canceled\",\n failed: \"Failed\",\n generating: \"Generating\",\n preparing: \"Preparing\",\n published: \"Published\",\n queued: \"Queued\",\n ready: \"Completed\",\n validating: \"Validating\"\n }\n },\n catalogApps: {\n aiMediaCanvas: {\n description: \"Generate and organize AI images and videos on a canvas.\",\n name: \"AI Canvas\"\n },\n automation: {\n description: \"Create and schedule automation tasks.\",\n name: \"Automation\"\n },\n dailyProductRadar: {\n description:\n \"Summarize daily new products and trending open-source projects.\",\n name: \"Daily Product Radar\"\n },\n groupChat: {\n description: \"Collaborate with multiple agents in a group chat.\",\n name: \"Group Chat\"\n },\n vibeDesign: {\n description: \"Create and iterate on design prototypes.\",\n name: \"Prototype Design\"\n }\n },\n comingSoonApps: {\n productCompetition: {\n category: \"Product design\",\n description:\n \"Compare competitor positioning, features, and experience to support product decisions.\",\n name: \"Competitor Analysis\"\n },\n designReview: {\n category: \"Product design\",\n description:\n \"Review flows, interfaces, and experience issues before release.\",\n name: \"Design Review\"\n },\n groupChat: {\n category: \"Other tools\",\n description: \"Collaborate with multiple agents in a group chat.\",\n name: \"Group Chat\"\n },\n aiPpt: {\n category: \"Daily office\",\n description:\n \"Generate presentation outlines, slide structure, and first-draft content.\",\n name: \"AI PPT\"\n },\n aiDocument: {\n category: \"Daily office\",\n description: \"Draft, rewrite, and organize documents.\",\n name: \"AI Document\"\n },\n aiSheet: {\n category: \"Daily office\",\n description: \"Build spreadsheets and analyze data with AI assistance.\",\n name: \"AI Spreadsheet\"\n },\n openCut: {\n category: \"Content creation\",\n description:\n \"Open-source video editor with media arrangement and timeline editing.\",\n name: \"Open Cut\"\n },\n calendar: {\n category: \"Other tools\",\n description: \"Manage schedules, meetings, and to-dos.\",\n name: \"Calendar\"\n },\n documentSummarizer: {\n category: \"Other tools\",\n description:\n \"Extract conclusions, key points, and action items from long documents.\",\n name: \"Document Summarizer\"\n }\n },\n categories: {\n contentCreation: \"Content creation\",\n office: \"Daily office\",\n productDesign: \"Product design\",\n tools: \"Other tools\"\n },\n labels: {\n allApps: \"All\",\n appCategories: \"App categories\",\n appList: \"App Center\",\n appPlural: \"Apps\",\n appSingular: \"App\",\n failedCount: \"{{count}} failed\",\n installedAppsTitle: \"{{count}} installed {{appLabel}}\",\n installedCount: \"{{count}} installed\",\n myApps: \"My apps\",\n recommendedApps: \"Recommended apps\",\n runningCount: \"{{count}} running\",\n updateAvailable: \"Update {{version}} available\",\n version: \"Version {{version}}\"\n },\n messages: {\n appRuntimeFailed:\n \"The app failed to start. Open its session or logs for details.\",\n catalogFailed:\n \"Remote app catalog is unavailable. Local apps are still available.\",\n catalogLoading: \"Loading remote app catalog...\",\n empty: \"No apps installed yet\",\n myAppsEmpty: \"Imported and created apps will appear here.\",\n recommendedAppsEmpty: \"No recommended apps available.\"\n },\n status: {\n comingSoon: \"Coming soon\",\n failed: \"Failed\",\n installProgress: {\n downloadedOfTotal: \"{{downloaded}} / {{total}}\",\n downloading: \"Downloading…\",\n installing: \"Installing…\",\n progressAria: \"App install progress\",\n starting: \"Starting…\"\n },\n installing: \"Installing\",\n preparing: \"Preparing\",\n running: \"Running\",\n starting: \"Starting\",\n stopping: \"Stopping\",\n unavailable: \"Unavailable\"\n },\n title: \"App Center\"\n} as const satisfies I18nDictionary;\n\nexport const appCenterZhCN = {\n actions: {\n cancel: \"取消\",\n deleteApp: \"删除应用\",\n exportApp: \"导出\",\n importApp: \"导入\",\n importAppTooltip:\n \"仅支持符合规范的 Tutti 应用 .zip 包。你可以先导出应用,再在这里导入。\",\n installApp: \"安装\",\n moreActions: \"更多操作\",\n openApp: \"打开\",\n openAppFolder: \"打开数据目录\",\n openAppPackageFolder: \"打开应用目录\",\n modifyAppWithAgent: \"用智能体编辑\",\n publishAppUpdate: \"重新发布\",\n refreshCatalog: \"刷新目录\",\n replaceIcon: \"替换图标\",\n retryApp: \"重试\",\n updateApp: \"更新\",\n uninstallAndDeleteApp: \"卸载并删除\",\n uninstallApp: \"卸载\"\n },\n confirmations: {\n deleteAppDescription: \"这会从本地应用列表删除该应用,并删除它的应用数据。\",\n deleteAppTitle: \"删除“{{name}}”?\",\n uninstallAppDescriptionLocal:\n \"这会从当前工作区卸载该应用,并删除此工作区中的应用数据。应用本体仍保留在我的应用中。\",\n uninstallAppDescriptionRecommended:\n \"这会从当前工作区卸载该应用,并删除此工作区中的应用数据。\",\n uninstallAppTitle: \"卸载“{{name}}”?\",\n updateAppTitle: \"更新“{{name}}”?\",\n updateRunningAppDescription: \"更新将重启应用后生效。\",\n uninstallAndDeleteAppDescription:\n \"这会卸载该应用、删除应用数据,并从本地应用列表移除。\",\n uninstallAndDeleteAppTitle: \"卸载并删除“{{name}}”?\"\n },\n factory: {\n actions: {\n cancel: \"取消\",\n create: \"创建应用\",\n delete: \"删除\",\n fix: \"修复\",\n publish: \"添加至我的应用\",\n validate: \"验证\"\n },\n labels: {\n agent: \"Agent\",\n appName: \"应用名称\",\n create: \"创建应用\",\n jobs: \"进行中\",\n model: \"模型\",\n modelReasoning: \"模型与思考深度\",\n prompt: \"提示词\",\n reasoningEffort: \"思考深度\",\n review: \"审查\",\n templateInspirationPrefix: \"试试这些灵感:\",\n templates: \"选择起点\"\n },\n messages: {\n factoryJobFailed: \"创建失败,打开 Agent 会话查看详情。\",\n factoryJobFailedWithFix: \"创建失败,打开 Agent 会话或使用修复查看详情。\",\n loadingConfiguration: \"正在加载配置...\",\n loadingProviders: \"正在加载 Agent Provider...\",\n noAgentProviders: \"暂无可用的 Agent Provider。\",\n noConfigurationOptions: \"暂无可用配置项。\",\n noModelOptions: \"暂无可用模型。\",\n noPermissionOptions: \"暂无可用的审查选项。\",\n noReasoningEffortOptions: \"暂无可用的思考深度选项。\"\n },\n placeholders: {\n appName: \"输入应用名称\",\n prompt: \"描述要创建的应用\"\n },\n prompts: {\n fixDefault: \"修复当前草稿,让它通过验证。\"\n },\n permissionSemantics: {\n \"accept-edits\": {\n label: \"接受编辑\"\n },\n \"ask-before-write\": {\n label: \"请求批准\"\n },\n auto: {\n label: \"代我批准\"\n },\n \"full-access\": {\n label: \"完全访问\"\n },\n \"locked-down\": {\n label: \"不再询问\"\n },\n unconfigurable: {\n label: \"固定模式\"\n }\n },\n templates: {\n lookup: {\n defaultName: \"答案之书\",\n prompt:\n \"创建一个离线的答案之书应用,用于给用户输入的问题提供轻量随机指引。允许用户输入问题,从内置答案卡组里随机抽取一句短答案,突出展示答案,并提供重新抽取操作;把最近问题和抽取记录保存在应用数据目录。不要依赖外部网络或事实查询 API。\",\n summary: \"面向用户输入问题的离线随机答案。\",\n title: \"答案之书\"\n },\n news: {\n defaultName: \"新闻简报\",\n prompt:\n \"创建一个新闻阅读应用,使用用户可配置且无需 API Key 的 RSS 或 Atom feed 作为数据源。刷新时一次性抓取所有已保存 feed,解析并按链接或标题去重,展示简洁信息流、来源名称、时间、已保存主题和简报视图;把 feed 和主题偏好保存在应用数据目录,并让 feed 抓取失败状态可见且可重试。\",\n summary: \"RSS 和 Atom 信息流、简报视图和关注主题。\",\n title: \"新闻\"\n },\n gomoku: {\n defaultName: \"五子棋\",\n prompt:\n \"创建一个本地五子棋小游戏应用。渲染 15 x 15 棋盘,支持两名本地玩家轮流落黑白棋,检测横向、纵向和斜向五子连珠,展示胜负或平局状态,并提供重新开始和悔棋控制。把最近对局结果和设置保存在应用数据目录,不依赖外部网络服务。\",\n summary: \"带胜负检测的本地双人五子棋。\",\n title: \"五子棋\"\n },\n system: {\n defaultName: \"系统监控\",\n prompt:\n \"创建一个类似 btop 的本地系统看板。用紧凑清晰的布局展示 CPU、内存、进程、网络和磁盘占用;自动刷新,把设置保存在应用数据目录,并避免依赖外部网络。\",\n summary: \"CPU、内存、网络、进程和磁盘占用。\",\n title: \"系统看板\"\n },\n weather: {\n defaultName: \"天气查询\",\n prompt:\n \"创建一个天气查询应用,使用无需 API Key 的 Open-Meteo 数据源。用 Open-Meteo geocoding 搜索地点,用 Open-Meteo forecast 获取当前天气、小时预报和每日预报;允许用户输入并保存地点,把保存的地点放在应用数据目录,支持按需刷新选中地点,并清楚展示可重试的刷新失败状态。\",\n summary: \"保存地点的当前天气和预报。\",\n title: \"天气\"\n }\n },\n status: {\n canceled: \"已取消\",\n failed: \"失败\",\n generating: \"生成中\",\n preparing: \"准备中\",\n published: \"已发布\",\n queued: \"排队中\",\n ready: \"已完成\",\n validating: \"验证中\"\n }\n },\n catalogApps: {\n aiMediaCanvas: {\n description: \"在画布上生成和整理 AI 图片、视频\",\n name: \"AI Canvas\"\n },\n automation: {\n description: \"创建并定时运行自动化任务\",\n name: \"自动化\"\n },\n dailyProductRadar: {\n description: \"汇总每日新产品和热门开源项目\",\n name: \"每日产品雷达\"\n },\n groupChat: {\n description: \"在群里和多个 Agent 一起协作\",\n name: \"群聊\"\n },\n vibeDesign: {\n description: \"创建并迭代产品原型设计\",\n name: \"产品原型设计\"\n }\n },\n comingSoonApps: {\n productCompetition: {\n category: \"产品设计\",\n description: \"对比竞品定位、功能和体验,辅助产品决策\",\n name: \"竞品分析\"\n },\n designReview: {\n category: \"产品设计\",\n description: \"检查流程、界面和体验问题\",\n name: \"设计评审\"\n },\n groupChat: {\n category: \"其他工具\",\n description: \"在群里和多个 Agent 一起协作\",\n name: \"群聊\"\n },\n aiPpt: {\n category: \"日常办公\",\n description: \"生成演示大纲、页面结构和初稿内容\",\n name: \"AI PPT\"\n },\n aiDocument: {\n category: \"日常办公\",\n description: \"起草、改写和整理文档\",\n name: \"AI 文档\"\n },\n aiSheet: {\n category: \"日常办公\",\n description: \"用 AI 辅助搭建表格、分析数据\",\n name: \"AI 表格\"\n },\n openCut: {\n category: \"内容创作\",\n description: \"开源视频剪辑工具,支持素材编排和时间线编辑\",\n name: \"Open Cut\"\n },\n calendar: {\n category: \"其他工具\",\n description: \"管理日程、会议和待办事项\",\n name: \"Calendar\"\n },\n documentSummarizer: {\n category: \"其他工具\",\n description: \"提炼长文档的结论、要点和行动项\",\n name: \"文档总结器\"\n }\n },\n categories: {\n contentCreation: \"内容创作\",\n office: \"日常办公\",\n productDesign: \"产品设计\",\n tools: \"其他工具\"\n },\n labels: {\n allApps: \"全部\",\n appCategories: \"应用分类\",\n appList: \"应用中心\",\n appPlural: \"App\",\n appSingular: \"App\",\n failedCount: \"{{count}} 个失败\",\n installedAppsTitle: \"已安装 {{count}} 个 {{appLabel}}\",\n installedCount: \"已安装 {{count}} 个\",\n myApps: \"我的应用\",\n recommendedApps: \"推荐应用\",\n runningCount: \"{{count}} 个运行中\",\n updateAvailable: \"可更新到 {{version}}\",\n version: \"版本 {{version}}\"\n },\n messages: {\n appRuntimeFailed: \"应用启动失败。请打开会话或日志查看详情。\",\n catalogFailed: \"无法加载远程应用目录,本地应用仍可用。\",\n catalogLoading: \"正在加载远程应用目录...\",\n empty: \"还没有安装应用\",\n myAppsEmpty: \"导入或创建的应用会显示在这里\",\n recommendedAppsEmpty: \"暂无推荐应用\"\n },\n status: {\n comingSoon: \"敬请期待\",\n failed: \"失败\",\n installProgress: {\n downloadedOfTotal: \"{{downloaded}} / {{total}}\",\n downloading: \"正在下载…\",\n installing: \"正在安装…\",\n progressAria: \"应用安装进度\",\n starting: \"正在启动…\"\n },\n installing: \"安装中\",\n preparing: \"准备中\",\n running: \"运行中\",\n starting: \"启动中\",\n stopping: \"停止中\",\n unavailable: \"不可用\"\n },\n title: \"应用中心\"\n} as const satisfies I18nDictionary;\n\nexport type AppCenterI18nKey = string;\n\nexport type AppCenterI18nRuntime = I18nRuntime<AppCenterI18nKey>;\n\nconst appCenterDefaults: Record<AppCenterI18nLocale, I18nDictionary> = {\n en: appCenterEn,\n \"zh-CN\": appCenterZhCN\n};\n\nexport const appCenterI18nResources = {\n en: {\n [appCenterI18nNamespace]: appCenterDefaults.en\n },\n \"zh-CN\": {\n [appCenterI18nNamespace]: appCenterDefaults[\"zh-CN\"]\n }\n} as const satisfies Record<AppCenterI18nLocale, I18nDictionary>;\n\nconst defaultAppCenterI18n = createI18nRuntime({\n dictionaries: [appCenterI18nResources.en]\n});\n\nexport function createAppCenterI18nRuntime(\n runtime: I18nRuntime<string> | undefined\n): AppCenterI18nRuntime {\n return createScopedI18nRuntime<AppCenterI18nKey>(\n runtime ?? defaultAppCenterI18n,\n appCenterI18nNamespace\n );\n}\n"],"mappings":"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","names":[]}
@@ -1,5 +1,5 @@
1
1
  import './contracts/index.js';
2
- import { i as WorkspaceAppManifest, x as WorkspaceAppStatusTone, w as WorkspaceAppRuntimeStatus, v as WorkspaceAppRuntimeState, t as WorkspaceAppRecord, f as WorkspaceAppFactoryJobStatus, A as AppCenterViewModel, b as WorkspaceAppCatalogEntry, h as WorkspaceAppInstallRecord } from './viewModel-BpgU7_M1.js';
2
+ import { k as WorkspaceAppManifest, z as WorkspaceAppStatusTone, y as WorkspaceAppRuntimeStatus, x as WorkspaceAppRuntimeState, v as WorkspaceAppRecord, g as WorkspaceAppFactoryJobStatus, A as AppCenterViewModel, b as WorkspaceAppCatalogEntry, j as WorkspaceAppInstallRecord } from './viewModel-D_kMlhKv.js';
3
3
 
4
4
  declare const workspaceAppIdPattern: RegExp;
5
5
  declare function isWorkspaceAppId(value: string): boolean;
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { WorkspaceAppCenterApp, WorkspaceAppCenterAppTab, WorkspaceAppCenterCatalogStatus, WorkspaceAppCenterCliIssue, WorkspaceAppCenterCliState, WorkspaceAppCenterCliStatus, WorkspaceAppCenterGateway, WorkspaceAppCenterLoadStatus, WorkspaceAppCenterLocalization, WorkspaceAppCenterReadableStoreState, WorkspaceAppCenterReferencesState, WorkspaceAppCenterRuntimeStatus, WorkspaceAppCenterSnapshot, WorkspaceAppCenterSource, WorkspaceAppCenterStoreState, WorkspaceAppCenterViewState, WorkspaceAppFactoryJob, WorkspaceAppFactoryModelOption, WorkspaceAppFactoryPermissionOption, WorkspaceAppFactoryProviderConfiguration, WorkspaceAppFactoryReasoningOption, WorkspaceAppFactorySnapshot, WorkspaceAppMinimizeBehavior } from './contracts/index.js';
2
- export { A as AppCenterViewModel, W as WorkspaceAppActionContext, a as WorkspaceAppCardViewModel, b as WorkspaceAppCatalogEntry, c as WorkspaceAppCatalogLocalization, d as WorkspaceAppCatalogSource, e as WorkspaceAppCatalogSourceKind, f as WorkspaceAppFactoryJobStatus, g as WorkspaceAppFactoryJobViewModel, h as WorkspaceAppInstallRecord, i as WorkspaceAppManifest, j as WorkspaceAppManifestAuthor, k as WorkspaceAppManifestIcon, l as WorkspaceAppManifestLocalizationFile, m as WorkspaceAppManifestLocalizationInfo, n as WorkspaceAppManifestReferences, o as WorkspaceAppManifestRuntime, p as WorkspaceAppManifestSchemaVersion, q as WorkspaceAppManifestWindow, r as WorkspaceAppManifestWindowMinimizeBehavior, s as WorkspaceAppPrimaryAction, t as WorkspaceAppRecord, u as WorkspaceAppRuntimeError, v as WorkspaceAppRuntimeState, w as WorkspaceAppRuntimeStatus, x as WorkspaceAppStatusTone, y as workspaceAppManifestSchemaVersion, z as workspaceAppRuntimeStatuses } from './viewModel-BpgU7_M1.js';
3
- export { C as CreateAppCenterViewModelInput, W as WorkspaceAppFactoryJobInput, a as WorkspaceAppManifestValidationIssue, b as WorkspaceAppManifestValidationIssueCode, c as WorkspaceAppManifestValidationResult, d as WorkspaceAppStatusPresentation, e as createAppCenterViewModel, f as createWorkspaceAppIdentity, g as createWorkspaceAppRecord, i as isWorkspaceAppId, m as mapWorkspaceAppRuntimeStatus, n as normalizeWorkspaceAppId, h as normalizeWorkspaceAppRuntimeState, j as resolveWorkspaceAppStatusPresentation, v as validateWorkspaceAppManifest, w as workspaceAppIdPattern } from './index-DT5o9P2u.js';
2
+ export { A as AppCenterViewModel, W as WorkspaceAppActionContext, a as WorkspaceAppCardViewModel, b as WorkspaceAppCatalogEntry, c as WorkspaceAppCatalogLocalization, d as WorkspaceAppCatalogSource, e as WorkspaceAppCatalogSourceKind, f as WorkspaceAppFactoryEditAction, g as WorkspaceAppFactoryJobStatus, h as WorkspaceAppFactoryJobViewModel, j as WorkspaceAppInstallRecord, k as WorkspaceAppManifest, l as WorkspaceAppManifestAuthor, m as WorkspaceAppManifestIcon, n as WorkspaceAppManifestLocalizationFile, o as WorkspaceAppManifestLocalizationInfo, p as WorkspaceAppManifestReferences, q as WorkspaceAppManifestRuntime, r as WorkspaceAppManifestSchemaVersion, s as WorkspaceAppManifestWindow, t as WorkspaceAppManifestWindowMinimizeBehavior, u as WorkspaceAppPrimaryAction, v as WorkspaceAppRecord, w as WorkspaceAppRuntimeError, x as WorkspaceAppRuntimeState, y as WorkspaceAppRuntimeStatus, z as WorkspaceAppStatusTone, B as workspaceAppManifestSchemaVersion, C as workspaceAppRuntimeStatuses } from './viewModel-D_kMlhKv.js';
3
+ export { C as CreateAppCenterViewModelInput, W as WorkspaceAppFactoryJobInput, a as WorkspaceAppManifestValidationIssue, b as WorkspaceAppManifestValidationIssueCode, c as WorkspaceAppManifestValidationResult, d as WorkspaceAppStatusPresentation, e as createAppCenterViewModel, f as createWorkspaceAppIdentity, g as createWorkspaceAppRecord, i as isWorkspaceAppId, m as mapWorkspaceAppRuntimeStatus, n as normalizeWorkspaceAppId, h as normalizeWorkspaceAppRuntimeState, j as resolveWorkspaceAppStatusPresentation, v as validateWorkspaceAppManifest, w as workspaceAppIdPattern } from './index-Clfpl59g.js';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  workspaceAppRuntimeStatuses
3
- } from "./chunk-PD2WLRHE.js";
3
+ } from "./chunk-7BJAJ7F3.js";
4
4
  import {
5
5
  createAppCenterViewModel,
6
6
  createWorkspaceAppIdentity,
@@ -12,7 +12,7 @@ import {
12
12
  resolveWorkspaceAppStatusPresentation,
13
13
  validateWorkspaceAppManifest,
14
14
  workspaceAppIdPattern
15
- } from "./chunk-O3XCZVHE.js";
15
+ } from "./chunk-DPJRK63W.js";
16
16
  import {
17
17
  workspaceAppManifestSchemaVersion
18
18
  } from "./chunk-Y63TZ5JT.js";
@@ -1,5 +1,6 @@
1
+ import * as react from 'react';
1
2
  import { ReactElement } from 'react';
2
- import { W as WorkspaceAppActionContext, a as WorkspaceAppCardViewModel, A as AppCenterViewModel } from '../viewModel-BpgU7_M1.js';
3
+ import { W as WorkspaceAppActionContext, a as WorkspaceAppCardViewModel, A as AppCenterViewModel } from '../viewModel-D_kMlhKv.js';
3
4
  import { AppCenterI18nRuntime } from '../i18n/index.js';
4
5
  import '@tutti-os/ui-i18n-runtime';
5
6
 
@@ -66,7 +67,7 @@ interface AppCardProps {
66
67
  readonly className?: string;
67
68
  readonly copy: AppCenterI18nRuntime;
68
69
  }
69
- declare function AppCard({ actions, app, className, copy }: AppCardProps): ReactElement;
70
+ declare const AppCard: react.NamedExoticComponent<AppCardProps>;
70
71
 
71
72
  type AppCenterAppTab = "recommended" | "my";
72
73
  interface AppCenterPanelProps {