nolo-cli 0.1.39 → 0.1.41
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.
- package/README.md +4 -4
- package/agent-runtime/dialogWritePlan.ts +39 -0
- package/agent-runtime/hostAdapter.ts +4 -0
- package/agent-runtime/hybridRecordStore.ts +5 -3
- package/agent-runtime/index.ts +15 -0
- package/agent-runtime/localLoop.ts +87 -7
- package/agent-runtime/localToolPolicy.ts +2 -13
- package/agent-runtime/localWorkspaceTools.ts +42 -110
- package/agent-runtime/runtimeToolPolicy.ts +2 -11
- package/agent-runtime/runtimeToolSurface.ts +198 -0
- package/agent-runtime/types.ts +1 -0
- package/agentAliases.ts +2 -1
- package/agentRunCommand.ts +10 -32
- package/agentRuntimeLocal.ts +1 -0
- package/ai/agent/_executeModel.ts +146 -0
- package/ai/agent/agentSlice.ts +556 -1
- package/ai/agent/appWorkingMemory.ts +126 -0
- package/ai/agent/buildEditingContext.ts +378 -0
- package/ai/agent/buildSystemPrompt.ts +585 -0
- package/ai/agent/canvasEditingContext.ts +49 -0
- package/ai/agent/cleanAgentMessages.ts +140 -0
- package/ai/agent/cliChatClient.ts +153 -0
- package/ai/agent/cliExecutor.ts +314 -40
- package/ai/agent/contextCompiler.ts +107 -0
- package/ai/agent/contextLayerContract.ts +44 -0
- package/ai/agent/createAgentSchema.ts +272 -0
- package/ai/agent/currentTimeContext.ts +65 -0
- package/ai/agent/executeToolCall.ts +58 -0
- package/ai/agent/fetchAgentContexts.ts +42 -0
- package/ai/agent/generatePrompt.ts +3 -0
- package/ai/agent/getFullChatContextKeys.ts +168 -0
- package/ai/agent/guidedCreation/capabilities.ts +84 -0
- package/ai/agent/guidedCreation/types.ts +38 -0
- package/ai/agent/isLiveAudioOnlyAgent.ts +26 -0
- package/ai/agent/liveAudioModel.ts +2 -0
- package/ai/agent/pageBuilderHandoffRules.ts +75 -0
- package/ai/agent/persistMessageWithFixedId.ts +37 -0
- package/ai/agent/planSlice.ts +259 -0
- package/ai/agent/referenceUtils.ts +229 -0
- package/ai/agent/runAgentBackground.ts +310 -0
- package/ai/agent/runAgentClientLoop.ts +164 -0
- package/ai/agent/runtimeGuidance.ts +116 -0
- package/ai/agent/serverOrigin.ts +7 -0
- package/ai/agent/startParallelAgentStreams.ts +424 -0
- package/ai/agent/startupProtocol.ts +53 -0
- package/ai/agent/streamAgentChatTurn.ts +2001 -0
- package/ai/agent/streamAgentChatTurnUtils.ts +860 -0
- package/ai/agent/toolFailureGuard.ts +99 -0
- package/ai/agent/types.ts +73 -0
- package/ai/agent/utils/imageOutput.ts +37 -0
- package/ai/agent/utils/publicImageAgentMode.ts +26 -0
- package/ai/ai.locale.ts +1095 -0
- package/ai/chat/accumulateToolCallChunks.ts +126 -0
- package/ai/chat/fetchUtils.ts +143 -0
- package/ai/chat/inlineImageUrlsForCustomProvider.ts +117 -0
- package/ai/chat/parseApiError.ts +67 -0
- package/ai/chat/parseMultilineSSE.ts +95 -0
- package/ai/chat/sendOpenAICompletionsRequest.ts +897 -0
- package/ai/chat/sendOpenAIResponseRequest.ts +720 -0
- package/ai/chat/serverProxyRetry.ts +102 -0
- package/ai/chat/shouldUseServerProxy.ts +18 -0
- package/ai/chat/streamRetry.ts +46 -0
- package/ai/chat/updateTotalUsage.ts +89 -0
- package/ai/context/buildReferenceContext.ts +437 -0
- package/ai/context/retention.ts +165 -0
- package/ai/context/tokenUtils.ts +78 -0
- package/ai/llm/agentCapabilities.ts +74 -0
- package/ai/llm/deepinfra.ts +79 -0
- package/ai/llm/fireworks.ts +68 -0
- package/ai/llm/generateRequestBody.ts +165 -0
- package/ai/llm/getModelContextWindow.ts +93 -0
- package/ai/llm/getPricing.ts +252 -0
- package/ai/llm/imagePricing.ts +66 -0
- package/ai/llm/isResponseAPIModel.ts +13 -0
- package/ai/llm/kimi.ts +23 -0
- package/ai/llm/mimo.ts +99 -0
- package/ai/llm/mistral.ts +21 -0
- package/ai/llm/models.ts +45 -0
- package/ai/llm/openrouterModels.ts +6 -0
- package/ai/llm/providers.ts +313 -0
- package/ai/llm/reasoningModels.ts +27 -0
- package/ai/llm/types.ts +82 -0
- package/ai/llm/usageRequestOptions.ts +59 -0
- package/ai/memory/queryShared.ts +161 -0
- package/ai/memory/recentRelationshipRecap.ts +247 -0
- package/ai/memory/remember.ts +167 -0
- package/ai/memory/store.ts +20 -0
- package/ai/memory/storeShared.ts +76 -0
- package/ai/memory/types.ts +46 -0
- package/ai/memory/understanding.ts +349 -0
- package/ai/memory/understandingGreeting.ts +264 -0
- package/ai/policy/personalizationDialog.ts +333 -0
- package/ai/policy/runtimePolicy.ts +454 -0
- package/ai/policy/selfUpdateFields.ts +48 -0
- package/ai/policy/types.ts +64 -0
- package/ai/skills/referenceRuntime.ts +274 -0
- package/ai/skills/skillDiagnostics.ts +251 -0
- package/ai/skills/skillDocBuilder.ts +139 -0
- package/ai/skills/skillSummaryMarker.ts +26 -0
- package/ai/token/calculatePrice.ts +576 -0
- package/ai/token/missingUsageEstimate.ts +42 -0
- package/ai/token/normalizeUsage.ts +124 -0
- package/ai/token/openaiImageGenerationUsage.ts +56 -0
- package/ai/token/prepareTokenUsageData.ts +93 -0
- package/ai/token/resolveBillingTarget.ts +52 -0
- package/ai/token/saveTokenRecord.ts +53 -0
- package/ai/token/types.ts +103 -0
- package/ai/tools/agent/agentTools.ts +235 -0
- package/ai/tools/agent/agentUpdateShared.ts +311 -0
- package/ai/tools/agent/callAgentTool.ts +139 -0
- package/ai/tools/agent/createAgentTool.ts +512 -0
- package/ai/tools/agent/createDialogTool.ts +69 -0
- package/ai/tools/agent/createSkillAgentTool.ts +62 -0
- package/ai/tools/agent/parallelBudget.ts +221 -0
- package/ai/tools/agent/prepareAgentDraftTool.ts +159 -0
- package/ai/tools/agent/presets/appBuilderPreset.ts +154 -0
- package/ai/tools/agent/runLlmTool.ts +96 -0
- package/ai/tools/agent/runStreamingAgentTool.ts +73 -0
- package/ai/tools/agent/skillAgentArgs.ts +106 -0
- package/ai/tools/agent/startAgentDialogTool.ts +53 -0
- package/ai/tools/agent/streamParallelAgentsTool.ts +123 -0
- package/ai/tools/agent/updateAgentTool.ts +96 -0
- package/ai/tools/agent/updateSelfTool.ts +113 -0
- package/ai/tools/amazonProductScraperTool.ts +86 -0
- package/ai/tools/apifyActorClient.ts +45 -0
- package/ai/tools/appEditGuard.ts +372 -0
- package/ai/tools/appReadSnapshot.ts +153 -0
- package/ai/tools/appTools.ts +1549 -0
- package/ai/tools/applyEditTool.ts +259 -0
- package/ai/tools/applyLineEditsTool.ts +315 -0
- package/ai/tools/browserTools/click.ts +33 -0
- package/ai/tools/browserTools/closeSession.ts +29 -0
- package/ai/tools/browserTools/common.ts +27 -0
- package/ai/tools/browserTools/openSession.ts +48 -0
- package/ai/tools/browserTools/readContent.ts +38 -0
- package/ai/tools/browserTools/selectOption.ts +46 -0
- package/ai/tools/browserTools/typeText.ts +42 -0
- package/ai/tools/category/createCategoryTool.ts +66 -0
- package/ai/tools/category/queryContentsByCategoryTool.ts +69 -0
- package/ai/tools/category/updateContentCategoryTool.ts +75 -0
- package/ai/tools/cfBrowserTools.ts +319 -0
- package/ai/tools/cfSpeechToTextTool.ts +49 -0
- package/ai/tools/checkEnvTool.ts +102 -0
- package/ai/tools/cloudflareCrawlTool.ts +289 -0
- package/ai/tools/codeSearchTool.ts +123 -0
- package/ai/tools/codeTools.ts +101 -0
- package/ai/tools/convertMarxistsBookTool.ts +103 -0
- package/ai/tools/createDocTool.ts +132 -0
- package/ai/tools/createSkillDocTool.ts +155 -0
- package/ai/tools/createWorkflowTool.ts +154 -0
- package/ai/tools/delayTool.ts +31 -0
- package/ai/tools/deleteSpacesTool.ts +325 -0
- package/ai/tools/deleteSpacesToolModel.ts +159 -0
- package/ai/tools/devReloadUtils.ts +29 -0
- package/ai/tools/dialogMessageSearch.ts +137 -0
- package/ai/tools/doctorSkillTool.ts +72 -0
- package/ai/tools/ecommerceScraperTool.ts +86 -0
- package/ai/tools/emailTools.ts +549 -0
- package/ai/tools/evalSkillTool.ts +92 -0
- package/ai/tools/exaSearchTool.ts +63 -0
- package/ai/tools/execShellTool.ts +266 -0
- package/ai/tools/executeSqlTool.ts +192 -0
- package/ai/tools/fetchWebpageSupport.ts +333 -0
- package/ai/tools/fetchWebpageTool.ts +97 -0
- package/ai/tools/geminiImagePreviewTool.ts +386 -0
- package/ai/tools/generateDocxTool.ts +215 -0
- package/ai/tools/googleSearchScraperTool.ts +106 -0
- package/ai/tools/importDataTool.ts +133 -0
- package/ai/tools/importSkillTool.ts +162 -0
- package/ai/tools/index.ts +2308 -0
- package/ai/tools/jdProductScraperTool.ts +821 -0
- package/ai/tools/listUserSpacesTool.ts +113 -0
- package/ai/tools/localFilesTool.ts +276 -0
- package/ai/tools/marxistsOfflineBook.ts +253 -0
- package/ai/tools/modelUsageTools.ts +206 -0
- package/ai/tools/noloWorkspaceReadTools.ts +467 -0
- package/ai/tools/olmOcrTool.ts +33 -0
- package/ai/tools/openaiImageTool.ts +267 -0
- package/ai/tools/prepareTools.ts +23 -0
- package/ai/tools/readDocTool.ts +88 -0
- package/ai/tools/readFileTool.ts +214 -0
- package/ai/tools/readTool.ts +194 -0
- package/ai/tools/readXPostTool.ts +229 -0
- package/ai/tools/readXhsProfileTool.ts +627 -0
- package/ai/tools/rememberMemoryTool.ts +84 -0
- package/ai/tools/remotionVideoTool.ts +151 -0
- package/ai/tools/searchDialogMessagesTool.ts +222 -0
- package/ai/tools/searchWorkspaceTool.ts +259 -0
- package/ai/tools/skillFollowup.ts +86 -0
- package/ai/tools/surfWeatherTool.ts +169 -0
- package/ai/tools/table/addTableRowTool.ts +217 -0
- package/ai/tools/table/createTableTool.ts +315 -0
- package/ai/tools/table/rowTools.ts +386 -0
- package/ai/tools/table/schemaTools.ts +244 -0
- package/ai/tools/table/shareTableTool.ts +148 -0
- package/ai/tools/table/toolShared.ts +129 -0
- package/ai/tools/taobaoTmallProductScraperTool.ts +49 -0
- package/ai/tools/toolApiClient.ts +279 -0
- package/ai/tools/toolResultError.ts +42 -0
- package/ai/tools/toolRunSlice.ts +303 -0
- package/ai/tools/toolSchemaCompatibility.ts +53 -0
- package/ai/tools/uiAskChoiceTool.ts +104 -0
- package/ai/tools/updateContentTitleTool.ts +84 -0
- package/ai/tools/updateDocTool.ts +105 -0
- package/ai/tools/updateUserPreferenceProfileTool.ts +153 -0
- package/ai/tools/wereadGatewayTool.ts +152 -0
- package/ai/tools/whisperTool.ts +76 -0
- package/ai/tools/writeFileTool.ts +213 -0
- package/ai/tools/youtubeScraperTool.ts +116 -0
- package/ai/tools/ziweiChartTool.ts +678 -0
- package/ai/types.ts +55 -0
- package/ai/workflow/workflowExecutor.ts +323 -0
- package/ai/workflow/workflowSlice.ts +73 -0
- package/ai/workflow/workflowTypes.ts +106 -0
- package/app/actions/syncAppRecord.ts +73 -0
- package/app/constants/animationSets.ts +21 -0
- package/app/constants/appEditor.ts +99 -0
- package/app/favorite/favoriteSlice.ts +690 -0
- package/app/favorite/type.ts +43 -0
- package/app/hooks/deleteDbKey.ts +233 -0
- package/app/i18n/client.ts +13 -0
- package/app/i18n/i18n.base.ts +14 -0
- package/app/i18n/i18n.config.ts +77 -0
- package/app/i18n/index.ts +15 -0
- package/app/i18n/mapLanguage.ts +11 -0
- package/app/i18n/translations/appBuilder.locale.ts +453 -0
- package/app/i18n/translations/error.locale.ts +246 -0
- package/app/i18n/translations/interface.locale.ts +2174 -0
- package/app/i18n/translations/pricing.locale.ts +397 -0
- package/app/i18n/translations/privacy.locale.ts +168 -0
- package/app/i18n/translations/seo.locale.ts +129 -0
- package/app/i18n/translations/terms.locale.ts +124 -0
- package/app/i18n/types.ts +6 -0
- package/app/notifications/model.ts +77 -0
- package/app/notifications/notificationSlice.ts +141 -0
- package/app/reducer.ts +36 -0
- package/app/settings/dbActionThunks.ts +34 -0
- package/app/settings/defaultSpacePreference.ts +87 -0
- package/app/settings/settingSlice.tsx +1212 -0
- package/app/settings/settingsRecord.ts +8 -0
- package/app/stateViews/runtime.ts +90 -0
- package/app/store.ts +55 -0
- package/app/theme/colors.ts +280 -0
- package/app/theme/fontPreference.ts +77 -0
- package/app/theme/theme.config.ts +120 -0
- package/app/theme/themeModeBootstrap.ts +123 -0
- package/app/types/appSummary.ts +114 -0
- package/app/types.ts +358 -0
- package/app/utils/appKeys.ts +55 -0
- package/app/utils/async.ts +28 -0
- package/app/utils/desktopAgentRuntimeTurnClient.ts +73 -0
- package/app/utils/env.ts +17 -0
- package/app/utils/fileUtils.ts +229 -0
- package/app/utils/imageUtils.ts +274 -0
- package/app/utils/myContentItems.ts +289 -0
- package/app/utils/retryAfter.ts +36 -0
- package/app/utils/retryFetch.ts +61 -0
- package/app/utils/toast.ts +3 -0
- package/auth/action/signUpAction.ts +227 -0
- package/auth/adminPermissions.ts +18 -0
- package/auth/authSlice.ts +531 -0
- package/auth/client/loginRequest.ts +14 -0
- package/auth/resetAuthScopedClientState.ts +27 -0
- package/auth/routes.ts +178 -0
- package/auth/token.ts +63 -0
- package/auth/types.ts +40 -0
- package/chat/chat.locale.ts +813 -0
- package/chat/dialog/actions/addCybotAction.ts +52 -0
- package/chat/dialog/actions/addReferenceKeysAction.ts +62 -0
- package/chat/dialog/actions/builtinDialogLlm.ts +35 -0
- package/chat/dialog/actions/cleanupCliSession.ts +40 -0
- package/chat/dialog/actions/createDialogAction.ts +379 -0
- package/chat/dialog/actions/createScheduledTaskAction.ts +78 -0
- package/chat/dialog/actions/handleSendMessageAction.ts +197 -0
- package/chat/dialog/actions/handleSendMessageResolver.ts +27 -0
- package/chat/dialog/actions/removeCybotAction.ts +6 -0
- package/chat/dialog/actions/removeDialogAgentAction.ts +44 -0
- package/chat/dialog/actions/replacePrimaryCybotAction.ts +6 -0
- package/chat/dialog/actions/setPrimaryDialogAgentAction.ts +52 -0
- package/chat/dialog/actions/updateDialogSummaryAction.ts +430 -0
- package/chat/dialog/actions/updateDialogTitleAction.ts +151 -0
- package/chat/dialog/actions/updateDialogTitlePolicy.ts +30 -0
- package/chat/dialog/actions/updateTokensAction.ts +233 -0
- package/chat/dialog/dialogAgents.ts +72 -0
- package/chat/dialog/dialogSlice.ts +872 -0
- package/chat/dialog/dialogTitle.ts +81 -0
- package/chat/dialog/dialogTokenStats.ts +12 -0
- package/chat/dialog/dialogUrl.ts +6 -0
- package/chat/dialog/goal.ts +108 -0
- package/chat/dialog/objectAssistantRegistry.ts +286 -0
- package/chat/dialog/schedule.ts +17 -0
- package/chat/messages/fetchAndCacheMessages.ts +119 -0
- package/chat/messages/fetchConvMsgs.ts +51 -0
- package/chat/messages/fileUrl.ts +13 -0
- package/chat/messages/messageAgent.ts +8 -0
- package/chat/messages/messageContent.ts +199 -0
- package/chat/messages/messageContract.ts +88 -0
- package/chat/messages/messageSlice.ts +1367 -0
- package/chat/messages/toolThunks.ts +625 -0
- package/cli/agentAliases.ts +2 -1
- package/cli/agentRunCommand.ts +10 -32
- package/cli/agentRuntimeLocal.ts +1 -0
- package/cli/client/agentRun.ts +67 -95
- package/cli/client/localRuntimeAdapter.ts +323 -54
- package/cli/commandRegistry.ts +2 -2
- package/cli/machineWsRunDispatch.ts +51 -6
- package/cli/offlineMarxistsAgentCommand.ts +6 -4
- package/client/agentConfigResolver.test.ts +2 -2
- package/client/agentRun.test.ts +175 -57
- package/client/agentRun.ts +67 -95
- package/client/localRuntimeAdapter.test.ts +682 -37
- package/client/localRuntimeAdapter.ts +323 -54
- package/client/localRuntimeDryRun.test.ts +23 -9
- package/client/localToolPolicy.test.ts +4 -4
- package/commandRegistry.ts +2 -2
- package/core/builtinAgents.ts +209 -0
- package/core/config.ts +15 -0
- package/core/crypto.ts +51 -0
- package/core/generateKeyPairFromSeedV1.ts +15 -0
- package/core/generateMainKey.ts +22 -0
- package/core/init.ts +41 -0
- package/core/localOrigins.ts +8 -0
- package/core/password.ts +13 -0
- package/core/prefix.ts +23 -0
- package/create/editor/transforms/fromMarkdown/index.ts +260 -0
- package/create/editor/transforms/fromMarkdown/inline.ts +285 -0
- package/create/editor/transforms/fromMarkdown/table.ts +130 -0
- package/create/editor/transforms/markdownToSlate.ts +24 -0
- package/create/editor/transforms/slateToRenderMarkdown.ts +218 -0
- package/create/editor/transforms/slateToSimplifiedMarkdown.ts +224 -0
- package/create/editor/transforms/slateToText.ts +33 -0
- package/create/editor/utils/slateUtils.ts +233 -0
- package/create/space/addSpaceAction.ts +193 -0
- package/create/space/category/categoryActions.ts +427 -0
- package/create/space/changeSpaceAction.ts +36 -0
- package/create/space/constants.ts +8 -0
- package/create/space/content/addContentAction.ts +116 -0
- package/create/space/content/contentThunks.ts +90 -0
- package/create/space/content/deleteContentFromSpaceAction.ts +187 -0
- package/create/space/content/deleteMultipleContentAction.ts +112 -0
- package/create/space/content/moveContentAction.ts +285 -0
- package/create/space/content/updateContentCategoryAction.ts +154 -0
- package/create/space/content/updateContentTitleAction.ts +151 -0
- package/create/space/content/uploadAndAddFileToSpaceAction.ts +98 -0
- package/create/space/contentKeyUtils.ts +117 -0
- package/create/space/deleteSpaceAction.ts +276 -0
- package/create/space/fetchSpaceAction.ts +70 -0
- package/create/space/fetchSpaceSidebarStateAction.ts +26 -0
- package/create/space/loadDefaultSpaceAction.ts +57 -0
- package/create/space/member/addMemberAction.ts +79 -0
- package/create/space/member/fetchUserSpaceMembershipsAction.ts +386 -0
- package/create/space/member/memberThunks.ts +47 -0
- package/create/space/member/removeMemberAction.ts +67 -0
- package/create/space/resolvePreferredSpaceId.ts +113 -0
- package/create/space/sidebarVisibleTypes.ts +241 -0
- package/create/space/space.locale.ts +1087 -0
- package/create/space/spaceAccess.ts +182 -0
- package/create/space/spaceCollapsedState.ts +54 -0
- package/create/space/spaceKeys.ts +65 -0
- package/create/space/spaceSlice.ts +328 -0
- package/create/space/spaceThunks.ts +410 -0
- package/create/space/types.ts +27 -0
- package/create/space/updateSpaceAction.ts +107 -0
- package/create/space/utils/permissions.ts +47 -0
- package/create/types.ts +21 -0
- package/database/actions/agentReadResolution.ts +33 -0
- package/database/actions/common.ts +243 -0
- package/database/actions/deleteFile.ts +40 -0
- package/database/actions/fileContent.ts +125 -0
- package/database/actions/patch.ts +155 -0
- package/database/actions/read.ts +358 -0
- package/database/actions/readAndWait.ts +260 -0
- package/database/actions/readRequestManager.ts +120 -0
- package/database/actions/readResolution.ts +125 -0
- package/database/actions/remove.ts +94 -0
- package/database/actions/replication.ts +477 -0
- package/database/actions/upload.ts +186 -0
- package/database/actions/upsert.ts +56 -0
- package/database/actions/write.ts +146 -0
- package/database/authority/ownerKey.ts +80 -0
- package/database/authority/recordAuthority.ts +67 -0
- package/database/authority/userAuthorityRegistry.ts +54 -0
- package/database/client/fetchUserData.ts +61 -0
- package/database/dbActionThunks.ts +1 -0
- package/database/dbSlice.ts +149 -0
- package/database/fileRing.ts +51 -0
- package/database/fileStorage.ts +232 -0
- package/database/fileUrl.ts +34 -0
- package/database/keys.ts +767 -0
- package/database/queryPrefixes.ts +14 -0
- package/database/requests.ts +443 -0
- package/database/runtimeServerContext.ts +54 -0
- package/database/server/levelAuthorityStore.ts +20 -1
- package/database/tenantPlacement.ts +57 -0
- package/database/userPreferenceRegister.ts +131 -0
- package/database/utils/ulid.ts +1 -0
- package/integrations/anthropic/anthropicModels.ts +47 -0
- package/integrations/deepseek/models.ts +37 -0
- package/integrations/google/models.ts +341 -0
- package/integrations/openai/chatCompletionStreamMode.ts +10 -0
- package/integrations/openai/filterAndCleanMessages.ts +284 -0
- package/integrations/openai/flexTier.ts +102 -0
- package/integrations/openai/generateOpenAIRequestBody.ts +274 -0
- package/integrations/openai/generateResponseRequestBody.ts +77 -0
- package/integrations/openai/models.ts +271 -0
- package/integrations/openai/providerBodyCompatibility.ts +23 -0
- package/integrations/openai/responsesHelpers.ts +297 -0
- package/integrations/x-reader/types.ts +109 -0
- package/integrations/xai/models.ts +13 -0
- package/integrations/xhs-reader/analyze/profileAnalyzer.ts +205 -0
- package/integrations/xhs-reader/backends/playwrightProfileCollector.ts +624 -0
- package/integrations/xhs-reader/bridge/readXhsProfileWithBridge.ts +227 -0
- package/integrations/xhs-reader/client/xhsWebApiClient.ts +229 -0
- package/integrations/xhs-reader/normalize.ts +390 -0
- package/integrations/xhs-reader/orchestrator.ts +178 -0
- package/integrations/xhs-reader/redaction.ts +68 -0
- package/integrations/xhs-reader/types.ts +244 -0
- package/integrations/xhs-reader/url.ts +57 -0
- package/machineWsRunDispatch.ts +51 -6
- package/offlineMarxistsAgentCommand.ts +6 -4
- package/package.json +430 -3
- package/render/page/createPageAction.ts +183 -0
- package/render/page/docSlice.ts +468 -0
- package/render/page/types.ts +17 -0
- package/render/table/createTableAction.ts +270 -0
- package/render/table/deleteTableAction.ts +193 -0
- package/render/table/fetchAndCacheTableRows.ts +174 -0
- package/render/table/tableSlice.ts +1106 -0
- package/render/table/toolValueUtils.ts +363 -0
- package/render/table/types.ts +252 -0
- package/render/table/utils/tableSerialization.ts +50 -0
- package/server/handlers/agentRun/types.ts +104 -0
- package/share/action.ts +225 -0
- package/share/helpers.ts +302 -0
- package/share/keys.ts +243 -0
- package/share/publicSharePolicy.ts +27 -0
- package/share/shareSlice.ts +53 -0
- package/share/types.ts +100 -0
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
import { Language } from "../types";
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
[Language.EN]: {
|
|
5
|
+
translation: {
|
|
6
|
+
pricing: {
|
|
7
|
+
title: "Pay-As-You-Go",
|
|
8
|
+
subtitle: "Billed by actual token usage. Points never expire.\nPro unlocks at 19 points. No subscription lock-in.",
|
|
9
|
+
free: "Free",
|
|
10
|
+
points: "{{num}} Points",
|
|
11
|
+
tiers: {
|
|
12
|
+
starter: {
|
|
13
|
+
name: "Starter",
|
|
14
|
+
meta: "Free upon Signup",
|
|
15
|
+
price: "Free",
|
|
16
|
+
features: [
|
|
17
|
+
"Standard LLM models",
|
|
18
|
+
"Multi-agent collaboration",
|
|
19
|
+
"Single file analysis",
|
|
20
|
+
"Permanent chat history"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
pro: {
|
|
24
|
+
name: "Pro",
|
|
25
|
+
meta: "Balance at 19 Points",
|
|
26
|
+
price: "Unlock at 19 Points",
|
|
27
|
+
features: [
|
|
28
|
+
"Batch file analysis",
|
|
29
|
+
"Real-time web search",
|
|
30
|
+
"Priority processing queue"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
advanced: {
|
|
34
|
+
name: "Advanced",
|
|
35
|
+
meta: "Balance ≥ 199 Points",
|
|
36
|
+
price: "Unlock with ≥ 199 Points",
|
|
37
|
+
features: [
|
|
38
|
+
"Advanced reasoning models",
|
|
39
|
+
"Claude Opus access",
|
|
40
|
+
"Overnight Autopilot runs",
|
|
41
|
+
"Flex Pro smart routing"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
dedicated: {
|
|
45
|
+
name: "Dedicated VM",
|
|
46
|
+
meta: "Balance ≥ 999 Points",
|
|
47
|
+
price: "Unlock with ≥ 999 Points",
|
|
48
|
+
features: [
|
|
49
|
+
"Dedicated VM runtime",
|
|
50
|
+
"Isolated compute resources",
|
|
51
|
+
"Long-running workload execution"
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
cta: {
|
|
56
|
+
titleLoggedIn: "Flexible Recharge",
|
|
57
|
+
titleLoggedOut: "Try Free",
|
|
58
|
+
descLoggedIn: "Points are credited instantly. Pro unlocks at 19 points, Advanced at 199 points.",
|
|
59
|
+
descLoggedOut: "Sign up and start with the free tier before recharging.",
|
|
60
|
+
btnRecharge: "Recharge Points",
|
|
61
|
+
btnFreeStart: "Start Free",
|
|
62
|
+
btnDirectRecharge: "Recharge Directly",
|
|
63
|
+
trustLoggedIn: "Refundable anytime • Billed by usage • Never expires",
|
|
64
|
+
trustLoggedOut: "No credit card • Instant access • No subscription lock-in"
|
|
65
|
+
},
|
|
66
|
+
searchPlaceholder: "Search models by name...",
|
|
67
|
+
recommend: "Recommended",
|
|
68
|
+
unknown: "Unknown",
|
|
69
|
+
comparisonTitle: "Model Price Comparison (Points)",
|
|
70
|
+
noModelsFound: "No matching models found",
|
|
71
|
+
visionYes: "Yes",
|
|
72
|
+
visionNo: "No",
|
|
73
|
+
tableHeader: {
|
|
74
|
+
name: "Model Name",
|
|
75
|
+
input: "Input / 1M Points",
|
|
76
|
+
output: "Output / 1M Points",
|
|
77
|
+
vision: "Vision"
|
|
78
|
+
},
|
|
79
|
+
faqTitle: "Frequently Asked Questions",
|
|
80
|
+
faqSubtitle: "Have questions? Check here first",
|
|
81
|
+
faq: [
|
|
82
|
+
{
|
|
83
|
+
q: "What are points?",
|
|
84
|
+
a: "Points are Nolo's usage unit. Every model call deducts points based on actual token consumption, so costs stay tied to real usage."
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
q: "How do I recharge?",
|
|
88
|
+
a: "Choose any amount on the recharge page. Points are credited immediately and are not tied to any subscription package."
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
q: "Do points expire?",
|
|
92
|
+
a: "No. Recharged points stay valid permanently."
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
q: "Is it more cost-effective than subscriptions?",
|
|
96
|
+
a: "Usually yes. Nolo charges at actual API cost with no subscription premium, so you only pay for real usage."
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
[Language.ZH_CN]: {
|
|
103
|
+
translation: {
|
|
104
|
+
pricing: {
|
|
105
|
+
title: "按量付费",
|
|
106
|
+
subtitle: "按实际消耗的 Token 扣费,积分永久有效。\n余额达到 19 自动解锁专业版,无订阅绑定,随时降档。",
|
|
107
|
+
free: "免费",
|
|
108
|
+
points: "{{num}} 积分",
|
|
109
|
+
tiers: {
|
|
110
|
+
starter: {
|
|
111
|
+
name: "基础版",
|
|
112
|
+
meta: "注册即可使用",
|
|
113
|
+
price: "免费",
|
|
114
|
+
features: [
|
|
115
|
+
"标准 LLM 模型",
|
|
116
|
+
"多 Agent 协作",
|
|
117
|
+
"单文件分析",
|
|
118
|
+
"对话历史保存"
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
pro: {
|
|
122
|
+
name: "专业版",
|
|
123
|
+
meta: "余额达到 19 积分",
|
|
124
|
+
price: "余额满 19 积分解锁",
|
|
125
|
+
features: [
|
|
126
|
+
"批量文件分析",
|
|
127
|
+
"实时联网搜索",
|
|
128
|
+
"优先处理队列"
|
|
129
|
+
]
|
|
130
|
+
},
|
|
131
|
+
advanced: {
|
|
132
|
+
name: "高阶版",
|
|
133
|
+
meta: "余额保持 ≥ 199 积分",
|
|
134
|
+
price: "余额 ≥ 199 积分解锁",
|
|
135
|
+
features: [
|
|
136
|
+
"GPT Pro 系列模型",
|
|
137
|
+
"Claude Opus 模型",
|
|
138
|
+
"夜间自主运行 (Autopilot)",
|
|
139
|
+
"Flex Pro 智能路由"
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
dedicated: {
|
|
143
|
+
name: "独享实例",
|
|
144
|
+
meta: "余额保持 ≥ 999 积分",
|
|
145
|
+
price: "余额 ≥ 999 积分解锁",
|
|
146
|
+
features: [
|
|
147
|
+
"独立虚拟机执行环境",
|
|
148
|
+
"隔离的计算资源",
|
|
149
|
+
"支持长时间超重任务"
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
cta: {
|
|
154
|
+
titleLoggedIn: "灵活充值",
|
|
155
|
+
titleLoggedOut: "免费体验",
|
|
156
|
+
descLoggedIn: "充值积分即时到账。余额达到 19 解锁专业版,达到 199 解锁高阶版。",
|
|
157
|
+
descLoggedOut: "注册即可体验免费额度,先试再决定是否充值。",
|
|
158
|
+
btnRecharge: "充值积分",
|
|
159
|
+
btnFreeStart: "免费开始",
|
|
160
|
+
btnDirectRecharge: "直接充值",
|
|
161
|
+
trustLoggedIn: "支持退款 • 按量扣费 • 永久有效",
|
|
162
|
+
trustLoggedOut: "无需信用卡 • 注册即用 • 无订阅绑定"
|
|
163
|
+
},
|
|
164
|
+
searchPlaceholder: "按模型名搜索...",
|
|
165
|
+
recommend: "推荐",
|
|
166
|
+
unknown: "未知",
|
|
167
|
+
comparisonTitle: "模型价格对比(积分)",
|
|
168
|
+
noModelsFound: "未找到匹配的模型",
|
|
169
|
+
visionYes: "支持",
|
|
170
|
+
visionNo: "不支持",
|
|
171
|
+
tableHeader: {
|
|
172
|
+
name: "模型名称",
|
|
173
|
+
input: "输入 / 1M 积分",
|
|
174
|
+
output: "输出 / 1M 积分",
|
|
175
|
+
vision: "视觉识别"
|
|
176
|
+
},
|
|
177
|
+
searchBoxPlaceholder: "按模型名搜索...",
|
|
178
|
+
faqTitle: "常见问题",
|
|
179
|
+
faqSubtitle: "有疑问?先看这里",
|
|
180
|
+
faq: [
|
|
181
|
+
{
|
|
182
|
+
q: "积分是什么?",
|
|
183
|
+
a: "积分是 Nolo 的使用量单位。每次调用 AI 模型时,按实际消耗的 Token 数扣除对应积分。不同模型消耗速率不同,可按需切换,自主掌控支出。"
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
q: "怎么充值?",
|
|
187
|
+
a: "在充值页面选择任意金额即可,积分实时到账,不绑定任何套餐。"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
q: "积分会过期吗?",
|
|
191
|
+
a: "不会。充值的积分长期有效,永不过期。"
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
q: "比包月订阅更划算吗?",
|
|
195
|
+
a: "通常更划算。Nolo 按实际 API 成本透明计费,没有订阅溢价,只为实际消耗付费。"
|
|
196
|
+
}
|
|
197
|
+
]
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
[Language.ZH_HANT]: {
|
|
202
|
+
translation: {
|
|
203
|
+
pricing: {
|
|
204
|
+
title: "按量付費",
|
|
205
|
+
subtitle: "按實際消耗的 Token 扣費,積分永久有效。\n餘額達到 19 自動解鎖專業版,無訂閱綁定,隨時降檔。",
|
|
206
|
+
free: "免費",
|
|
207
|
+
points: "{{num}} 積分",
|
|
208
|
+
tiers: {
|
|
209
|
+
starter: {
|
|
210
|
+
name: "基礎版",
|
|
211
|
+
meta: "註冊即可使用",
|
|
212
|
+
price: "免費",
|
|
213
|
+
features: [
|
|
214
|
+
"標準 LLM 模型",
|
|
215
|
+
"多 Agent 協作",
|
|
216
|
+
"單檔案分析",
|
|
217
|
+
"對話歷史保存"
|
|
218
|
+
]
|
|
219
|
+
},
|
|
220
|
+
pro: {
|
|
221
|
+
name: "專業版",
|
|
222
|
+
meta: "餘額達到 19 積分",
|
|
223
|
+
price: "餘額滿 19 積分解鎖",
|
|
224
|
+
features: [
|
|
225
|
+
"批次檔案分析",
|
|
226
|
+
"即時聯網搜尋",
|
|
227
|
+
"優先處理佇列"
|
|
228
|
+
]
|
|
229
|
+
},
|
|
230
|
+
advanced: {
|
|
231
|
+
name: "高階版",
|
|
232
|
+
meta: "餘額保持 ≥ 199 積分",
|
|
233
|
+
price: "餘額 ≥ 199 積分解鎖",
|
|
234
|
+
features: [
|
|
235
|
+
"GPT Pro 系列模型",
|
|
236
|
+
"Claude Opus 模型",
|
|
237
|
+
"夜間自主運行 (Autopilot)",
|
|
238
|
+
"Flex Pro 智能路由"
|
|
239
|
+
]
|
|
240
|
+
},
|
|
241
|
+
dedicated: {
|
|
242
|
+
name: "獨享實例",
|
|
243
|
+
meta: "餘額保持 ≥ 999 積分",
|
|
244
|
+
price: "餘額 ≥ 999 積分解鎖",
|
|
245
|
+
features: [
|
|
246
|
+
"獨立虛擬機執行環境",
|
|
247
|
+
"隔離的計算資源",
|
|
248
|
+
"支援長時間超重任務"
|
|
249
|
+
]
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
cta: {
|
|
253
|
+
titleLoggedIn: "靈活充值",
|
|
254
|
+
titleLoggedOut: "免費體驗",
|
|
255
|
+
descLoggedIn: "充值積分即時到帳。餘額達到 19 解鎖專業版,達到 199 解鎖高階版。",
|
|
256
|
+
descLoggedOut: "註冊即可體驗免費額度,先試再決定是否充值。",
|
|
257
|
+
btnRecharge: "充值積分",
|
|
258
|
+
btnFreeStart: "免費開始",
|
|
259
|
+
btnDirectRecharge: "直接充值",
|
|
260
|
+
trustLoggedIn: "支援退款 • 按量扣費 • 永久有效",
|
|
261
|
+
trustLoggedOut: "無需信用卡 • 註冊即用 • 無訂閱綁定"
|
|
262
|
+
},
|
|
263
|
+
searchPlaceholder: "按模型名搜尋...",
|
|
264
|
+
recommend: "推薦",
|
|
265
|
+
unknown: "未知",
|
|
266
|
+
comparisonTitle: "模型價格對比(積分)",
|
|
267
|
+
noModelsFound: "未找到匹配的模型",
|
|
268
|
+
visionYes: "支援",
|
|
269
|
+
visionNo: "不支援",
|
|
270
|
+
tableHeader: {
|
|
271
|
+
name: "模型名稱",
|
|
272
|
+
input: "輸入 / 1M 積分",
|
|
273
|
+
output: "輸出 / 1M 積分",
|
|
274
|
+
vision: "視覺識別"
|
|
275
|
+
},
|
|
276
|
+
faqTitle: "常見問題",
|
|
277
|
+
faqSubtitle: "有疑問?先看這裡",
|
|
278
|
+
faq: [
|
|
279
|
+
{
|
|
280
|
+
q: "積分是什麼?",
|
|
281
|
+
a: "積分是 Nolo 的使用量單位。每次調用 AI 模型時,按實際消耗的 Token 數扣除對應積分。不同模型消耗速率不同,可按需切換,自主掌控支出。"
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
q: "怎麼充值?",
|
|
285
|
+
a: "在充值頁面選擇任意金額即可,積分即時到帳,不綁定任何套餐。"
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
q: "積分會過期嗎?",
|
|
289
|
+
a: "不會。充值的積分長期有效,永不過期。"
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
q: "比包月訂閱更划算嗎?",
|
|
293
|
+
a: "通常更划算。Nolo 按實際 API 成本透明計費,沒有訂閱溢價,只為實際消耗付費。"
|
|
294
|
+
}
|
|
295
|
+
]
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
[Language.JA]: {
|
|
300
|
+
translation: {
|
|
301
|
+
pricing: {
|
|
302
|
+
title: "従量課金制",
|
|
303
|
+
subtitle: "実際のトークン消費量に基づいてポイントを減算。ポイントの有効期限はありません。\n残高が19ポイントに達すると自動的にプロ版がアンロックされます。いつでもダウングレード可能で、定期購入の縛りはありません。",
|
|
304
|
+
free: "無料",
|
|
305
|
+
points: "{{num}} ポイント",
|
|
306
|
+
tiers: {
|
|
307
|
+
starter: {
|
|
308
|
+
name: "スターター",
|
|
309
|
+
meta: "登録ですぐに使用可能",
|
|
310
|
+
price: "無料",
|
|
311
|
+
features: [
|
|
312
|
+
"標準的なLLMモデル",
|
|
313
|
+
"マルチエージェント協調",
|
|
314
|
+
"単一ファイル分析",
|
|
315
|
+
"チャット履歴の保存"
|
|
316
|
+
]
|
|
317
|
+
},
|
|
318
|
+
pro: {
|
|
319
|
+
name: "プロ",
|
|
320
|
+
meta: "残高19ポイント到達",
|
|
321
|
+
price: "19ポイントでアンロック",
|
|
322
|
+
features: [
|
|
323
|
+
"複数ファイル分析",
|
|
324
|
+
"リアルタイムWeb検索",
|
|
325
|
+
"優先処理キュー"
|
|
326
|
+
]
|
|
327
|
+
},
|
|
328
|
+
advanced: {
|
|
329
|
+
name: "アドバンスド",
|
|
330
|
+
meta: "残高199ポイント以上を維持",
|
|
331
|
+
price: "199ポイントでアンロック",
|
|
332
|
+
features: [
|
|
333
|
+
"GPT Pro 系列モデル",
|
|
334
|
+
"Claude Opus へのアクセス",
|
|
335
|
+
"夜間 Autopilot 自律実行",
|
|
336
|
+
"Flex Pro スマートルーティング"
|
|
337
|
+
]
|
|
338
|
+
},
|
|
339
|
+
dedicated: {
|
|
340
|
+
name: "専有インスタンス",
|
|
341
|
+
meta: "残高999ポイント以上を維持",
|
|
342
|
+
price: "999ポイントでアンロック",
|
|
343
|
+
features: [
|
|
344
|
+
"独立した仮想マシン実行環境",
|
|
345
|
+
"隔離された計算リソース",
|
|
346
|
+
"長時間・高負荷タスクの実行"
|
|
347
|
+
]
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
cta: {
|
|
351
|
+
titleLoggedIn: "フレキシブルなチャージ",
|
|
352
|
+
titleLoggedOut: "無料体験",
|
|
353
|
+
descLoggedIn: "チャージ後、ポイントは即座に反映されます。19ポイントでプロ版、199ポイントでアドバンスドがアンロックされます。",
|
|
354
|
+
descLoggedOut: "登録後すぐに無料枠を体験できます。",
|
|
355
|
+
btnRecharge: "ポイントをチャージ",
|
|
356
|
+
btnFreeStart: "無料で開始",
|
|
357
|
+
btnDirectRecharge: "直接チャージ",
|
|
358
|
+
trustLoggedIn: "返金可能 • 従量課金 • 有効期限なし",
|
|
359
|
+
trustLoggedOut: "クレジットカード不要 • 登録だけで開始 • 定期購入の縛りなし"
|
|
360
|
+
},
|
|
361
|
+
searchPlaceholder: "モデル名で検索...",
|
|
362
|
+
recommend: "オススメ",
|
|
363
|
+
unknown: "不明",
|
|
364
|
+
comparisonTitle: "モデル価格比較(ポイント)",
|
|
365
|
+
noModelsFound: "該当するモデルが見つかりません",
|
|
366
|
+
visionYes: "対応",
|
|
367
|
+
visionNo: "非対応",
|
|
368
|
+
tableHeader: {
|
|
369
|
+
name: "モデル名",
|
|
370
|
+
input: "入力 / 1M ポイント",
|
|
371
|
+
output: "出力 / 1M ポイント",
|
|
372
|
+
vision: "ビジョン認識"
|
|
373
|
+
},
|
|
374
|
+
faqTitle: "よくある質問",
|
|
375
|
+
faqSubtitle: "ご質問がありますか? まずはこちらをご確認ください",
|
|
376
|
+
faq: [
|
|
377
|
+
{
|
|
378
|
+
q: "ポイントとは何ですか?",
|
|
379
|
+
a: "ポイントは Nolo の使用量単位です。AI モデルを呼び出すたびに、実際に消費されたトークン数に基づいて差し引かれます。"
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
q: "チャージ方法は?",
|
|
383
|
+
a: "チャージページで任意の金額を選択するだけで、ポイントが即座に反映されます。特定のパッケージには縛られません。"
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
q: "ポイントに有効期限はありますか?",
|
|
387
|
+
a: "いいえ。チャージされたポイントは長期的に有効で、期限はありません。"
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
q: "月額サブスクリプションよりお得ですか?",
|
|
391
|
+
a: "通常はお得です。Nolo は実際の API コストに基づいて透明性の高い課金を行い、実際の消費分だけを支払います。"
|
|
392
|
+
}
|
|
393
|
+
]
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
};
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { Language } from "../types";
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
[Language.EN]: {
|
|
5
|
+
translation: {
|
|
6
|
+
privacy: {
|
|
7
|
+
title: "Privacy Policy",
|
|
8
|
+
lastUpdated: "Last updated: May 30, 2026",
|
|
9
|
+
intro: "Welcome to Nolo (hereinafter referred to as \"the App\"). We take your privacy very seriously. This Privacy Policy is intended to explain how we collect, use, and protect your personal information.",
|
|
10
|
+
section1: {
|
|
11
|
+
title: "1. Information We Collect",
|
|
12
|
+
desc: "To provide you with better services, the App may collect the following types of information:",
|
|
13
|
+
device: "Device Information: Such as device model, OS version, and unique identifiers to optimize performance and resolve crashes.",
|
|
14
|
+
location: "Location Information: Since the App integrates map services, we may collect your geographic location with your consent when using related features.",
|
|
15
|
+
network: "Network Information: The App requires internet access to provide online features, generating standard network log data."
|
|
16
|
+
},
|
|
17
|
+
section2: {
|
|
18
|
+
title: "2. Use of Information",
|
|
19
|
+
desc: "The information we collect is mainly used for the following purposes:",
|
|
20
|
+
core: "To provide, maintain, and improve the core features of the App.",
|
|
21
|
+
map: "To provide map display and location services triggered by you.",
|
|
22
|
+
analysis: "To analyze app usage and improve user experience."
|
|
23
|
+
},
|
|
24
|
+
section3: {
|
|
25
|
+
title: "3. Information Sharing and Disclosure",
|
|
26
|
+
desc: "We will not sell your personal information to any third party. We only share information in the following situations:",
|
|
27
|
+
thirdParty: "Third-party Service Providers: The App uses third-party map SDKs, which may collect and process relevant data according to their own privacy policies.",
|
|
28
|
+
legal: "Legal Requirements: We may disclose your information when required by law or to comply with mandatory requests from authorities."
|
|
29
|
+
},
|
|
30
|
+
section4: {
|
|
31
|
+
title: "4. Data Security",
|
|
32
|
+
desc: "We employ reasonable technical and administrative measures to protect your information against data breaches, loss, or unauthorized access. All network communications are encrypted."
|
|
33
|
+
},
|
|
34
|
+
section5: {
|
|
35
|
+
title: "5. User Rights",
|
|
36
|
+
desc: "You have the right to revoke your authorization for location or other sensitive permissions in system settings at any time. This may prevent some location-based features from functioning properly, but will not affect core app functionality."
|
|
37
|
+
},
|
|
38
|
+
section6: {
|
|
39
|
+
title: "6. Contact Us",
|
|
40
|
+
desc: "If you have any questions or suggestions regarding this Privacy Policy, please contact us at support@nolo.chat."
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
[Language.ZH_CN]: {
|
|
46
|
+
translation: {
|
|
47
|
+
privacy: {
|
|
48
|
+
title: "隐私政策 (Privacy Policy)",
|
|
49
|
+
lastUpdated: "最后更新日期:2026年5月30日",
|
|
50
|
+
intro: "欢迎您使用 Nolo(以下简称“本应用”)。我们非常重视您的隐私保护。本隐私政策旨在向您说明本应用如何收集、使用和保护您的个人信息。",
|
|
51
|
+
section1: {
|
|
52
|
+
title: "1. 我们收集的信息",
|
|
53
|
+
desc: "为了向您提供更好的服务,本应用可能会收集以下类型的信息:",
|
|
54
|
+
device: "设备信息:如设备型号、操作系统版本、唯一设备标识符等,用于优化应用性能和解决崩溃问题。",
|
|
55
|
+
location: "位置信息:由于本应用集成了地图服务,在您使用相关功能时,我们在征得您同意的前提下可能会收集您的地理位置信息。",
|
|
56
|
+
network: "网络信息:本应用需要访问互联网以提供在线功能,在此过程中会产生标准的网络日志数据。"
|
|
57
|
+
},
|
|
58
|
+
section2: {
|
|
59
|
+
title: "2. 信息的使用",
|
|
60
|
+
desc: "我们收集的信息将主要用于以下用途:",
|
|
61
|
+
core: "向您提供、维护和改进本应用的核心功能。",
|
|
62
|
+
map: "用于地图显示、位置服务等您主动触发的功能。",
|
|
63
|
+
analysis: "分析应用的使用情况,以提升用户体验。"
|
|
64
|
+
},
|
|
65
|
+
section3: {
|
|
66
|
+
title: "3. 信息的共享与披露",
|
|
67
|
+
desc: "我们不会将您的个人信息出售给任何第三方。我们仅在以下情况共享信息:",
|
|
68
|
+
thirdParty: "第三方服务提供商:本应用使用了第三方地图 SDK,这些第三方可能会根据其自身的隐私政策收集和处理相关数据。",
|
|
69
|
+
legal: "法律要求:在法律法规要求、或者为了配合政府有关部门的强制性要求时,我们可能会披露您的信息。"
|
|
70
|
+
},
|
|
71
|
+
section4: {
|
|
72
|
+
title: "4. 数据安全",
|
|
73
|
+
desc: "我们采取合理的技术和管理措施来保护您的信息安全,防止数据泄露、丢失或被未经授权地访问。所有与服务器的网络通信均通过加密传输。"
|
|
74
|
+
},
|
|
75
|
+
section5: {
|
|
76
|
+
title: "5. 用户权利",
|
|
77
|
+
desc: "您有权随时在系统设置中撤销对本应用的位置权限或其他敏感权限的授权。这可能会导致部分基于位置的功能无法正常使用,但不会影响应用的基础功能。"
|
|
78
|
+
},
|
|
79
|
+
section6: {
|
|
80
|
+
title: "6. 联系我们",
|
|
81
|
+
desc: "如果您对本隐私政策有任何疑问或建议,请联系我们(Email: support@nolo.chat)。"
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
[Language.ZH_HANT]: {
|
|
87
|
+
translation: {
|
|
88
|
+
privacy: {
|
|
89
|
+
title: "隱私權政策 (Privacy Policy)",
|
|
90
|
+
lastUpdated: "最後更新日期:2026年5月30日",
|
|
91
|
+
intro: "歡迎您使用 Nolo(以下簡稱“本應用”)。我們非常重視您的隱私保護。本隱私權政策旨在向您說明本應用如何收集、使用和保護您的個人資訊。",
|
|
92
|
+
section1: {
|
|
93
|
+
title: "1. 我們收集的資訊",
|
|
94
|
+
desc: "為了向您提供更好的服務,本應用可能會收集以下類型的資訊:",
|
|
95
|
+
device: "設備資訊:如設備型號、作業系統版本、唯一設備識別碼等,用於優化應用效能和解決崩潰問題。",
|
|
96
|
+
location: "位置資訊:由於本應用整合了地圖服務,在您使用相關功能時,我們在徵得您同意的前提下可能會收集您的地理位置資訊。",
|
|
97
|
+
network: "網路資訊:本應用需要存取網際網路以提供線上功能,在此過程中會產生標準的網路日誌資料。"
|
|
98
|
+
},
|
|
99
|
+
section2: {
|
|
100
|
+
title: "2. 資訊的使用",
|
|
101
|
+
desc: "我們收集的資訊將主要用於以下用途:",
|
|
102
|
+
core: "向您提供、維護和改進本應用的核心功能。",
|
|
103
|
+
map: "用於地圖顯示、位置服務等您主動觸發的功能。",
|
|
104
|
+
analysis: "分析應用的使用情況,以提升使用者體驗。"
|
|
105
|
+
},
|
|
106
|
+
section3: {
|
|
107
|
+
title: "3. 資訊的分享與揭露",
|
|
108
|
+
desc: "我們不會將您的個人資訊出售給任何第三方。我們僅在以下情況分享資訊:",
|
|
109
|
+
thirdParty: "第三方服務提供者:本應用使用了第三方地圖 SDK,這些第三方可能會根據其自身的隱私權政策收集和處理相關資料。",
|
|
110
|
+
legal: "法律要求:在法律法規要求、或者為了配合政府有關部門的強制性要求時,我們可能會揭露您的資訊。"
|
|
111
|
+
},
|
|
112
|
+
section4: {
|
|
113
|
+
title: "4. 資料安全",
|
|
114
|
+
desc: "我們採取合理的技術和管理措施來保護您的資訊安全,防止資料洩露、遺失或被未經授權地存取。所有與伺服器的網路通訊均透過加密傳輸。"
|
|
115
|
+
},
|
|
116
|
+
section5: {
|
|
117
|
+
title: "5. 使用者權利",
|
|
118
|
+
desc: "您有權隨時在系統設定中撤銷對本應用的位置權限或其他敏感權限的授權。這可能會導致部分基於位置的功能無法正常使用,但不會影響應用的基礎功能。"
|
|
119
|
+
},
|
|
120
|
+
section6: {
|
|
121
|
+
title: "6. 聯絡我們",
|
|
122
|
+
desc: "如果您對本隱私權政策有任何疑問或建議,請聯絡我們(Email: support@nolo.chat)。"
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
[Language.JA]: {
|
|
128
|
+
translation: {
|
|
129
|
+
privacy: {
|
|
130
|
+
title: "プライバシーポリシー",
|
|
131
|
+
lastUpdated: "最終更新日:2026年5月30日",
|
|
132
|
+
intro: "Nolo(以下「本アプリ」)をご利用いただきありがとうございます。当社はユーザーのプライバシー保護を非常に重視しています。本ポリシーは、当社が個人情報をどのように収集、使用、保護するかを説明するものです。",
|
|
133
|
+
section1: {
|
|
134
|
+
title: "1. 収集する情報",
|
|
135
|
+
desc: "より良いサービスを提供するため、本アプリは以下の情報を収集する場合があります:",
|
|
136
|
+
device: "デバイス情報:パフォーマンスの最適化やクラッシュの解決のため、デバイスのモデル、OSバージョン、一意のデバイス識別子などを収集します。",
|
|
137
|
+
location: "位置情報:本アプリには地図サービスが統合されており、関連機能を使用する際、ユーザーの同意のもと位置情報を収集する場合があります。",
|
|
138
|
+
network: "ネットワーク情報:オンライン機能を提供するため、インターネットアクセスが必要であり、その過程で標準的なネットワークログが生成されます。"
|
|
139
|
+
},
|
|
140
|
+
section2: {
|
|
141
|
+
title: "2. 情報の利用目的",
|
|
142
|
+
desc: "収集した情報は、主に以下の目的で使用されます:",
|
|
143
|
+
core: "本アプリのコア機能の提供、維持、改善。",
|
|
144
|
+
map: "地図表示や位置情報サービスなど、ユーザーがトリガーする機能の提供。",
|
|
145
|
+
analysis: "ユーザー体験向上のための利用状況の分析。"
|
|
146
|
+
},
|
|
147
|
+
section3: {
|
|
148
|
+
title: "3. 情報の共有と開示",
|
|
149
|
+
desc: "当社は個人情報を第三者に販売することはありません。以下の状況においてのみ情報を共有します:",
|
|
150
|
+
thirdParty: "第三者サービス提供者:本アプリはサードパーティの地図SDKを使用しており、これらは独自のプライバシーポリシーに従ってデータを収集および処理する場合があります。",
|
|
151
|
+
legal: "法的要請:法律の要求、または政府機関からの強制的な要求に協力するため、情報を開示する場合があります。"
|
|
152
|
+
},
|
|
153
|
+
section4: {
|
|
154
|
+
title: "4. データの安全性",
|
|
155
|
+
desc: "データの漏洩、損失、不正アクセスを防ぐため、当社は合理的な技術的および管理上の措置を講じて情報を保護します。サーバーとの通信はすべて暗号化されています。"
|
|
156
|
+
},
|
|
157
|
+
section5: {
|
|
158
|
+
title: "5. ユーザーの権利",
|
|
159
|
+
desc: "システム設定からいつでも位置情報やその他の権限の許可を取り消すことができます。これにより一部の位置情報機能が正常に機能しなくなる場合がありますが、アプリの基本機能には影響しません。"
|
|
160
|
+
},
|
|
161
|
+
section6: {
|
|
162
|
+
title: "6. お問い合わせ",
|
|
163
|
+
desc: "本プライバシーポリシーに関するご質問やご提案がある場合は、support@nolo.chat までご連絡ください。"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
};
|