@tutti-os/workspace-app-center 0.0.8 → 0.0.9

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.
@@ -0,0 +1,7 @@
1
+ // src/contracts/manifest.ts
2
+ var workspaceAppManifestSchemaVersion = "tutti.app.manifest.v1";
3
+
4
+ export {
5
+ workspaceAppManifestSchemaVersion
6
+ };
7
+ //# sourceMappingURL=chunk-QSAEUGFC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/contracts/manifest.ts"],"sourcesContent":["export const workspaceAppManifestSchemaVersion = \"tutti.app.manifest.v1\";\n\nexport type WorkspaceAppManifestSchemaVersion =\n typeof workspaceAppManifestSchemaVersion;\n\nexport interface WorkspaceAppManifestIcon {\n readonly type: \"asset\";\n readonly src: string;\n}\n\nexport interface WorkspaceAppManifestRuntime {\n readonly bootstrap: string;\n readonly healthcheckPath: string;\n}\n\nexport type WorkspaceAppManifestWindowMinimizeBehavior =\n | \"hibernate\"\n | \"keep-mounted\";\n\nexport interface WorkspaceAppManifestWindow {\n readonly minimizeBehavior?: WorkspaceAppManifestWindowMinimizeBehavior;\n readonly minHeight?: number;\n readonly minWidth?: number;\n}\n\nexport interface WorkspaceAppManifestAuthor {\n readonly name: string;\n readonly url?: string;\n}\n\nexport interface WorkspaceAppManifestLocalizationInfo {\n readonly defaultLocale: string;\n readonly additionalLocales?: readonly WorkspaceAppManifestLocalizationFile[];\n}\n\nexport interface WorkspaceAppManifestLocalizationFile {\n readonly locale: string;\n readonly file: string;\n}\n\nexport interface WorkspaceAppManifest {\n readonly schemaVersion: WorkspaceAppManifestSchemaVersion;\n readonly appId: string;\n readonly name: string;\n readonly version: string;\n readonly description: string;\n readonly icon?: WorkspaceAppManifestIcon;\n readonly runtime: WorkspaceAppManifestRuntime;\n readonly window?: WorkspaceAppManifestWindow;\n readonly author?: WorkspaceAppManifestAuthor;\n readonly tags?: readonly string[];\n readonly localizationInfo?: WorkspaceAppManifestLocalizationInfo;\n}\n"],"mappings":";AAAO,IAAM,oCAAoC;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  workspaceAppManifestSchemaVersion
3
- } from "./chunk-3Z2WIHMP.js";
3
+ } from "./chunk-QSAEUGFC.js";
4
4
 
5
5
  // src/core/appIdentity.ts
6
6
  var workspaceAppIdPattern = /^[a-z0-9]+(?:[._-][a-z0-9]+)*$/;
@@ -688,4 +688,4 @@ export {
688
688
  resolveWorkspaceAppCatalogMetadata,
689
689
  createWorkspaceAppRecord
690
690
  };
691
- //# sourceMappingURL=chunk-VTIZG5AH.js.map
691
+ //# sourceMappingURL=chunk-XDDBJJGP.js.map
@@ -1,4 +1,4 @@
1
- declare const workspaceAppManifestSchemaVersion = "nextop.app.manifest.v1";
1
+ declare const workspaceAppManifestSchemaVersion = "tutti.app.manifest.v1";
2
2
  type WorkspaceAppManifestSchemaVersion = typeof workspaceAppManifestSchemaVersion;
3
3
  interface WorkspaceAppManifestIcon {
4
4
  readonly type: "asset";
@@ -3,7 +3,7 @@ import {
3
3
  } from "../chunk-VLUZD2IT.js";
4
4
  import {
5
5
  workspaceAppManifestSchemaVersion
6
- } from "../chunk-3Z2WIHMP.js";
6
+ } from "../chunk-QSAEUGFC.js";
7
7
  export {
8
8
  workspaceAppManifestSchemaVersion,
9
9
  workspaceAppRuntimeStatuses
@@ -10,8 +10,8 @@ import {
10
10
  resolveWorkspaceAppStatusPresentation,
11
11
  validateWorkspaceAppManifest,
12
12
  workspaceAppIdPattern
13
- } from "../chunk-VTIZG5AH.js";
14
- import "../chunk-3Z2WIHMP.js";
13
+ } from "../chunk-XDDBJJGP.js";
14
+ import "../chunk-QSAEUGFC.js";
15
15
  import {
16
16
  DEFAULT_APP_FACTORY_PROVIDER,
17
17
  resolveDefaultAppFactoryProvider,
@@ -2,7 +2,7 @@ import * as _tutti_os_ui_i18n_runtime from '@tutti-os/ui-i18n-runtime';
2
2
  import { I18nRuntime, I18nDictionary } from '@tutti-os/ui-i18n-runtime';
3
3
 
4
4
  declare const appCenterI18nNamespace = "appCenter";
5
- declare const nextopI18nModule: _tutti_os_ui_i18n_runtime.ScopedLocaleObjectsI18nModuleManifest;
5
+ declare const tuttiI18nModule: _tutti_os_ui_i18n_runtime.ScopedLocaleObjectsI18nModuleManifest;
6
6
  type AppCenterI18nKey = string;
7
7
  type AppCenterI18nRuntime = I18nRuntime<AppCenterI18nKey>;
8
8
  declare const appCenterI18nResources: {
@@ -15,4 +15,4 @@ declare const appCenterI18nResources: {
15
15
  };
16
16
  declare function createAppCenterI18nRuntime(runtime: I18nRuntime<string> | undefined): AppCenterI18nRuntime;
17
17
 
18
- export { type AppCenterI18nKey, type AppCenterI18nRuntime, appCenterI18nNamespace, appCenterI18nResources, createAppCenterI18nRuntime, nextopI18nModule };
18
+ export { type AppCenterI18nKey, type AppCenterI18nRuntime, appCenterI18nNamespace, appCenterI18nResources, createAppCenterI18nRuntime, tuttiI18nModule };
@@ -5,7 +5,7 @@ import {
5
5
  createScopedLocaleObjectsI18nModuleManifest
6
6
  } from "@tutti-os/ui-i18n-runtime";
7
7
  var appCenterI18nNamespace = "appCenter";
8
- var nextopI18nModule = createScopedLocaleObjectsI18nModuleManifest({
8
+ var tuttiI18nModule = createScopedLocaleObjectsI18nModuleManifest({
9
9
  localeObjectByLocale: {
10
10
  en: "appCenterEn",
11
11
  "zh-CN": "appCenterZhCN"
@@ -20,7 +20,7 @@ var appCenterEn = {
20
20
  deleteApp: "Delete app",
21
21
  exportApp: "Export",
22
22
  importApp: "Import",
23
- importAppTooltip: "Only valid Nextop app .zip packages are supported. You can export an app and import it here.",
23
+ importAppTooltip: "Only valid Tutti app .zip packages are supported. You can export an app and import it here.",
24
24
  installApp: "Install",
25
25
  moreActions: "More actions",
26
26
  openApp: "Open",
@@ -286,7 +286,7 @@ var appCenterZhCN = {
286
286
  deleteApp: "\u5220\u9664\u5E94\u7528",
287
287
  exportApp: "\u5BFC\u51FA",
288
288
  importApp: "\u5BFC\u5165",
289
- importAppTooltip: "\u4EC5\u652F\u6301\u7B26\u5408\u89C4\u8303\u7684 Nextop \u5E94\u7528 .zip \u5305\u3002\u4F60\u53EF\u4EE5\u5148\u5BFC\u51FA\u5E94\u7528\uFF0C\u518D\u5728\u8FD9\u91CC\u5BFC\u5165\u3002",
289
+ importAppTooltip: "\u4EC5\u652F\u6301\u7B26\u5408\u89C4\u8303\u7684 Tutti \u5E94\u7528 .zip \u5305\u3002\u4F60\u53EF\u4EE5\u5148\u5BFC\u51FA\u5E94\u7528\uFF0C\u518D\u5728\u8FD9\u91CC\u5BFC\u5165\u3002",
290
290
  installApp: "\u5B89\u88C5",
291
291
  moreActions: "\u66F4\u591A\u64CD\u4F5C",
292
292
  openApp: "\u6253\u5F00",
@@ -571,6 +571,6 @@ export {
571
571
  appCenterI18nNamespace,
572
572
  appCenterI18nResources,
573
573
  createAppCenterI18nRuntime,
574
- nextopI18nModule
574
+ tuttiI18nModule
575
575
  };
576
576
  //# sourceMappingURL=index.js.map
@@ -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 nextopI18nModule = 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 Nextop 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 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 },\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 \"仅支持符合规范的 Nextop 应用 .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 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 },\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 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 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 },\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 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 },\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":[]}
package/dist/index.js CHANGED
@@ -12,10 +12,10 @@ import {
12
12
  resolveWorkspaceAppStatusPresentation,
13
13
  validateWorkspaceAppManifest,
14
14
  workspaceAppIdPattern
15
- } from "./chunk-VTIZG5AH.js";
15
+ } from "./chunk-XDDBJJGP.js";
16
16
  import {
17
17
  workspaceAppManifestSchemaVersion
18
- } from "./chunk-3Z2WIHMP.js";
18
+ } from "./chunk-QSAEUGFC.js";
19
19
  import "./chunk-LBSZLLZK.js";
20
20
  export {
21
21
  createAppCenterViewModel,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tutti-os/workspace-app-center",
3
- "version": "0.0.8",
3
+ "version": "0.0.9",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -36,8 +36,8 @@
36
36
  "directory": "packages/workspace/app-center"
37
37
  },
38
38
  "dependencies": {
39
- "@tutti-os/ui-i18n-runtime": "0.0.8",
40
- "@tutti-os/ui-system": "0.0.8"
39
+ "@tutti-os/ui-i18n-runtime": "0.0.9",
40
+ "@tutti-os/ui-system": "0.0.9"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/node": "^24.0.1",
@@ -52,7 +52,7 @@
52
52
  "react": "^19.1.0",
53
53
  "react-dom": "^19.1.0"
54
54
  },
55
- "nextop": {
55
+ "tutti": {
56
56
  "tailwindSourceRoot": "src"
57
57
  },
58
58
  "publishConfig": {
@@ -1,7 +0,0 @@
1
- // src/contracts/manifest.ts
2
- var workspaceAppManifestSchemaVersion = "nextop.app.manifest.v1";
3
-
4
- export {
5
- workspaceAppManifestSchemaVersion
6
- };
7
- //# sourceMappingURL=chunk-3Z2WIHMP.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/contracts/manifest.ts"],"sourcesContent":["export const workspaceAppManifestSchemaVersion = \"nextop.app.manifest.v1\";\n\nexport type WorkspaceAppManifestSchemaVersion =\n typeof workspaceAppManifestSchemaVersion;\n\nexport interface WorkspaceAppManifestIcon {\n readonly type: \"asset\";\n readonly src: string;\n}\n\nexport interface WorkspaceAppManifestRuntime {\n readonly bootstrap: string;\n readonly healthcheckPath: string;\n}\n\nexport type WorkspaceAppManifestWindowMinimizeBehavior =\n | \"hibernate\"\n | \"keep-mounted\";\n\nexport interface WorkspaceAppManifestWindow {\n readonly minimizeBehavior?: WorkspaceAppManifestWindowMinimizeBehavior;\n readonly minHeight?: number;\n readonly minWidth?: number;\n}\n\nexport interface WorkspaceAppManifestAuthor {\n readonly name: string;\n readonly url?: string;\n}\n\nexport interface WorkspaceAppManifestLocalizationInfo {\n readonly defaultLocale: string;\n readonly additionalLocales?: readonly WorkspaceAppManifestLocalizationFile[];\n}\n\nexport interface WorkspaceAppManifestLocalizationFile {\n readonly locale: string;\n readonly file: string;\n}\n\nexport interface WorkspaceAppManifest {\n readonly schemaVersion: WorkspaceAppManifestSchemaVersion;\n readonly appId: string;\n readonly name: string;\n readonly version: string;\n readonly description: string;\n readonly icon?: WorkspaceAppManifestIcon;\n readonly runtime: WorkspaceAppManifestRuntime;\n readonly window?: WorkspaceAppManifestWindow;\n readonly author?: WorkspaceAppManifestAuthor;\n readonly tags?: readonly string[];\n readonly localizationInfo?: WorkspaceAppManifestLocalizationInfo;\n}\n"],"mappings":";AAAO,IAAM,oCAAoC;","names":[]}