nolo-cli 0.1.45 → 0.1.46
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 +272 -118
- package/index.js +73433 -0
- package/package.json +10 -635
- package/LICENSE +0 -21
- package/agent-runtime/agentConfigOptions.ts +0 -12
- package/agent-runtime/agentRecordConfig.ts +0 -101
- package/agent-runtime/agentRecordKeys.ts +0 -14
- package/agent-runtime/agentThread.ts +0 -222
- package/agent-runtime/agentThreadAdmission.ts +0 -74
- package/agent-runtime/dialogMessageRecord.ts +0 -16
- package/agent-runtime/dialogWritePlan.ts +0 -211
- package/agent-runtime/hostAdapter.ts +0 -81
- package/agent-runtime/hybridRecordStore.ts +0 -170
- package/agent-runtime/index.ts +0 -184
- package/agent-runtime/localDialogRead.ts +0 -23
- package/agent-runtime/localLoop.ts +0 -334
- package/agent-runtime/localToolPolicy.ts +0 -179
- package/agent-runtime/localWorkspaceTools.ts +0 -2310
- package/agent-runtime/noloWorkspaceTools.ts +0 -390
- package/agent-runtime/openAiCompatibleProvider.ts +0 -74
- package/agent-runtime/openAiCompatibleProviderConfig.ts +0 -27
- package/agent-runtime/platformChatProvider.ts +0 -229
- package/agent-runtime/providerResolution.ts +0 -302
- package/agent-runtime/runtimeDecision.ts +0 -70
- package/agent-runtime/runtimeFacts.ts +0 -40
- package/agent-runtime/runtimeToolPolicy.ts +0 -191
- package/agent-runtime/runtimeToolSurface.ts +0 -199
- package/agent-runtime/shellCommandPolicy.ts +0 -120
- package/agent-runtime/types.ts +0 -137
- package/agentAliases.ts +0 -40
- package/agentCommandSupport.ts +0 -81
- package/agentInternalCommandEntries.ts +0 -44
- package/agentListCommands.ts +0 -185
- package/agentListHelpers.ts +0 -242
- package/agentMachineCommands.ts +0 -426
- package/agentNameResolver.ts +0 -164
- package/agentPullCommand.ts +0 -142
- package/agentRecordCommands.ts +0 -224
- package/agentRecordHelpers.ts +0 -592
- package/agentRunCommand.ts +0 -568
- package/agentRuntimeCommands.ts +0 -7
- package/agentRuntimeLocal.ts +0 -45
- package/ai/agent/_executeModel.ts +0 -146
- package/ai/agent/agentSlice.ts +0 -557
- package/ai/agent/appWorkingMemory.ts +0 -126
- package/ai/agent/buildEditingContext.ts +0 -378
- package/ai/agent/buildSystemPrompt.ts +0 -599
- package/ai/agent/canvasEditingContext.ts +0 -49
- package/ai/agent/cleanAgentMessages.ts +0 -140
- package/ai/agent/cliChatClient.ts +0 -153
- package/ai/agent/cliExecutor.ts +0 -1465
- package/ai/agent/cliPrompt.ts +0 -10
- package/ai/agent/contextCompiler.ts +0 -107
- package/ai/agent/contextLayerContract.ts +0 -44
- package/ai/agent/createAgentSchema.ts +0 -272
- package/ai/agent/currentTimeContext.ts +0 -65
- package/ai/agent/executeToolCall.ts +0 -58
- package/ai/agent/fetchAgentContexts.ts +0 -42
- package/ai/agent/generatePrompt.ts +0 -3
- package/ai/agent/getFullChatContextKeys.ts +0 -168
- package/ai/agent/guidedCreation/capabilities.ts +0 -84
- package/ai/agent/guidedCreation/types.ts +0 -38
- package/ai/agent/isLiveAudioOnlyAgent.ts +0 -26
- package/ai/agent/liveAudioModel.ts +0 -2
- package/ai/agent/machineRunPermissions.ts +0 -113
- package/ai/agent/pageBuilderHandoffRules.ts +0 -75
- package/ai/agent/persistMessageWithFixedId.ts +0 -37
- package/ai/agent/planSlice.ts +0 -259
- package/ai/agent/referenceUtils.ts +0 -229
- package/ai/agent/runAgentBackground.ts +0 -310
- package/ai/agent/runAgentClientLoop.ts +0 -164
- package/ai/agent/runtimeGuidance.ts +0 -116
- package/ai/agent/serverOrigin.ts +0 -7
- package/ai/agent/startParallelAgentStreams.ts +0 -424
- package/ai/agent/startupProtocol.ts +0 -53
- package/ai/agent/streamAgentChatTurn.ts +0 -2135
- package/ai/agent/streamAgentChatTurnUtils.ts +0 -923
- package/ai/agent/toolFailureGuard.ts +0 -99
- package/ai/agent/types.ts +0 -73
- package/ai/agent/utils/imageOutput.ts +0 -37
- package/ai/agent/utils/publicImageAgentMode.ts +0 -26
- package/ai/agent.ts +0 -2
- package/ai/ai.locale.ts +0 -1165
- package/ai/chat/accumulateToolCallChunks.ts +0 -126
- package/ai/chat/fetchUtils.ts +0 -143
- package/ai/chat/inlineImageUrlsForCustomProvider.ts +0 -122
- package/ai/chat/parseApiError.ts +0 -67
- package/ai/chat/parseMultilineSSE.ts +0 -95
- package/ai/chat/sendOpenAICompletionsRequest.ts +0 -921
- package/ai/chat/sendOpenAIResponseRequest.ts +0 -720
- package/ai/chat/serverProxyRetry.ts +0 -102
- package/ai/chat/shouldUseServerProxy.ts +0 -18
- package/ai/chat/streamRetry.ts +0 -46
- package/ai/chat/updateTotalUsage.ts +0 -89
- package/ai/context/buildReferenceContext.ts +0 -437
- package/ai/context/retention.ts +0 -165
- package/ai/context/tokenUtils.ts +0 -78
- package/ai/index.ts +0 -1
- package/ai/llm/agentCapabilities.ts +0 -74
- package/ai/llm/deepinfra.ts +0 -79
- package/ai/llm/fireworks.ts +0 -68
- package/ai/llm/generateRequestBody.ts +0 -165
- package/ai/llm/getModelContextWindow.ts +0 -93
- package/ai/llm/getPricing.ts +0 -252
- package/ai/llm/imagePricing.ts +0 -66
- package/ai/llm/isResponseAPIModel.ts +0 -13
- package/ai/llm/kimi.ts +0 -22
- package/ai/llm/mimo.ts +0 -99
- package/ai/llm/mistral.ts +0 -21
- package/ai/llm/models.ts +0 -45
- package/ai/llm/openrouterModels.ts +0 -31
- package/ai/llm/providers.ts +0 -313
- package/ai/llm/reasoningModels.ts +0 -27
- package/ai/llm/types.ts +0 -82
- package/ai/llm/usageRequestOptions.ts +0 -59
- package/ai/memory/policy.ts +0 -49
- package/ai/memory/queryShared.ts +0 -167
- package/ai/memory/recentRelationshipRecap.ts +0 -251
- package/ai/memory/remember.ts +0 -111
- package/ai/memory/scope.ts +0 -74
- package/ai/memory/store.ts +0 -20
- package/ai/memory/storeShared.ts +0 -76
- package/ai/memory/types.ts +0 -52
- package/ai/memory/understanding.ts +0 -341
- package/ai/memory/understandingGreeting.ts +0 -264
- package/ai/policy/personalizationDialog.ts +0 -333
- package/ai/policy/runtimePolicy.ts +0 -526
- package/ai/policy/selfUpdateFields.ts +0 -48
- package/ai/policy/types.ts +0 -64
- package/ai/skills/referenceRuntime.ts +0 -274
- package/ai/skills/skillDiagnostics.ts +0 -251
- package/ai/skills/skillDocBuilder.ts +0 -139
- package/ai/skills/skillDocProtocol.ts +0 -526
- package/ai/skills/skillSummaryMarker.ts +0 -26
- package/ai/token/calculatePrice.ts +0 -576
- package/ai/token/missingUsageEstimate.ts +0 -42
- package/ai/token/normalizeUsage.ts +0 -124
- package/ai/token/openaiImageGenerationUsage.ts +0 -56
- package/ai/token/prepareTokenUsageData.ts +0 -93
- package/ai/token/resolveBillingTarget.ts +0 -52
- package/ai/token/saveTokenRecord.ts +0 -53
- package/ai/token/types.ts +0 -103
- package/ai/tools/agent/agentTools.ts +0 -214
- package/ai/tools/agent/agentUpdateShared.ts +0 -311
- package/ai/tools/agent/callAgentTool.ts +0 -139
- package/ai/tools/agent/createAgentTool.ts +0 -512
- package/ai/tools/agent/createDialogTool.ts +0 -69
- package/ai/tools/agent/createSkillAgentTool.ts +0 -62
- package/ai/tools/agent/parallelBudget.ts +0 -221
- package/ai/tools/agent/prepareAgentDraftTool.ts +0 -159
- package/ai/tools/agent/presets/appBuilderPreset.ts +0 -154
- package/ai/tools/agent/runLlmTool.ts +0 -96
- package/ai/tools/agent/runStreamingAgentTool.ts +0 -73
- package/ai/tools/agent/skillAgentArgs.ts +0 -106
- package/ai/tools/agent/startAgentDialogTool.ts +0 -54
- package/ai/tools/agent/streamParallelAgentsTool.ts +0 -123
- package/ai/tools/agent/updateAgentTool.ts +0 -96
- package/ai/tools/agent/updateSelfTool.ts +0 -113
- package/ai/tools/amazonProductScraperTool.ts +0 -86
- package/ai/tools/apifyActorClient.ts +0 -45
- package/ai/tools/appEditGuard.ts +0 -372
- package/ai/tools/appReadSnapshot.ts +0 -153
- package/ai/tools/appTools.ts +0 -1549
- package/ai/tools/applyEditTool.ts +0 -259
- package/ai/tools/applyLineEditsTool.ts +0 -315
- package/ai/tools/browserTools/click.ts +0 -33
- package/ai/tools/browserTools/closeSession.ts +0 -29
- package/ai/tools/browserTools/common.ts +0 -27
- package/ai/tools/browserTools/openSession.ts +0 -48
- package/ai/tools/browserTools/readContent.ts +0 -38
- package/ai/tools/browserTools/selectOption.ts +0 -46
- package/ai/tools/browserTools/typeText.ts +0 -42
- package/ai/tools/category/createCategoryTool.ts +0 -66
- package/ai/tools/category/queryContentsByCategoryTool.ts +0 -69
- package/ai/tools/category/updateContentCategoryTool.ts +0 -75
- package/ai/tools/cfBrowserTools.ts +0 -319
- package/ai/tools/cfSpeechToTextTool.ts +0 -49
- package/ai/tools/checkEnvTool.ts +0 -102
- package/ai/tools/cloudflareCrawlTool.ts +0 -289
- package/ai/tools/codeSearchTool.ts +0 -123
- package/ai/tools/codeTools.ts +0 -101
- package/ai/tools/convertMarxistsBookTool.ts +0 -103
- package/ai/tools/createDocTool.ts +0 -132
- package/ai/tools/createSkillDocTool.ts +0 -155
- package/ai/tools/createWorkflowTool.ts +0 -154
- package/ai/tools/delayTool.ts +0 -31
- package/ai/tools/deleteSpacesTool.ts +0 -325
- package/ai/tools/deleteSpacesToolModel.ts +0 -159
- package/ai/tools/devReloadUtils.ts +0 -29
- package/ai/tools/dialogMessageSearch.ts +0 -137
- package/ai/tools/doctorSkillTool.ts +0 -72
- package/ai/tools/ecommerceScraperTool.ts +0 -86
- package/ai/tools/emailTools.ts +0 -549
- package/ai/tools/evalSkillTool.ts +0 -92
- package/ai/tools/exaSearchTool.ts +0 -63
- package/ai/tools/execShellTool.ts +0 -266
- package/ai/tools/executeSqlTool.ts +0 -192
- package/ai/tools/fetchWebpageSupport.ts +0 -333
- package/ai/tools/fetchWebpageTool.ts +0 -97
- package/ai/tools/geminiImagePreviewTool.ts +0 -386
- package/ai/tools/generateDocxTool.ts +0 -215
- package/ai/tools/googleSearchScraperTool.ts +0 -106
- package/ai/tools/importDataTool.ts +0 -133
- package/ai/tools/importSkillTool.ts +0 -162
- package/ai/tools/index.ts +0 -2290
- package/ai/tools/jdProductScraperTool.ts +0 -821
- package/ai/tools/listUserSpacesTool.ts +0 -113
- package/ai/tools/localFilesTool.ts +0 -276
- package/ai/tools/marxistsOfflineBook.ts +0 -253
- package/ai/tools/modelUsageTools.ts +0 -206
- package/ai/tools/noloWorkspaceReadTools.ts +0 -467
- package/ai/tools/olmOcrTool.ts +0 -33
- package/ai/tools/openaiImageTool.ts +0 -267
- package/ai/tools/prepareTools.ts +0 -193
- package/ai/tools/readDocTool.ts +0 -88
- package/ai/tools/readFileTool.ts +0 -214
- package/ai/tools/readTool.ts +0 -194
- package/ai/tools/readXPostTool.ts +0 -229
- package/ai/tools/readXhsProfileTool.ts +0 -638
- package/ai/tools/rememberMemoryTool.ts +0 -84
- package/ai/tools/remotionVideoTool.ts +0 -151
- package/ai/tools/searchDialogMessagesTool.ts +0 -222
- package/ai/tools/searchWorkspaceTool.ts +0 -259
- package/ai/tools/skillFollowup.ts +0 -86
- package/ai/tools/surfWeatherTool.ts +0 -169
- package/ai/tools/table/addTableRowTool.ts +0 -217
- package/ai/tools/table/createTableTool.ts +0 -326
- package/ai/tools/table/rowTools.ts +0 -386
- package/ai/tools/table/schemaTools.ts +0 -244
- package/ai/tools/table/shareTableTool.ts +0 -148
- package/ai/tools/table/toolShared.ts +0 -129
- package/ai/tools/taobaoTmallProductScraperTool.ts +0 -49
- package/ai/tools/toolApiClient.ts +0 -279
- package/ai/tools/toolNameAliases.ts +0 -70
- package/ai/tools/toolPacks.ts +0 -19
- package/ai/tools/toolResultError.ts +0 -42
- package/ai/tools/toolRunSlice.ts +0 -303
- package/ai/tools/toolSchemaCompatibility.ts +0 -53
- package/ai/tools/uiAskChoiceTool.ts +0 -104
- package/ai/tools/updateContentTitleTool.ts +0 -84
- package/ai/tools/updateDocTool.ts +0 -105
- package/ai/tools/updateUserPreferenceProfileTool.ts +0 -153
- package/ai/tools/wereadGatewayTool.ts +0 -152
- package/ai/tools/whisperTool.ts +0 -76
- package/ai/tools/writeFileTool.ts +0 -213
- package/ai/tools/youtubeScraperTool.ts +0 -116
- package/ai/tools/ziweiChartTool.ts +0 -678
- package/ai/types.ts +0 -58
- package/ai/workflow/workflowExecutor.ts +0 -323
- package/ai/workflow/workflowSlice.ts +0 -73
- package/ai/workflow/workflowTypes.ts +0 -106
- package/app/actions/syncAppRecord.ts +0 -73
- package/app/constants/animationSets.ts +0 -21
- package/app/constants/appEditor.ts +0 -99
- package/app/favorite/deletedFavoriteProjection.ts +0 -31
- package/app/favorite/favoriteSlice.ts +0 -690
- package/app/favorite/type.ts +0 -43
- package/app/hooks/deleteDbKey.ts +0 -254
- package/app/i18n/client.ts +0 -13
- package/app/i18n/i18n.base.ts +0 -14
- package/app/i18n/i18n.config.ts +0 -77
- package/app/i18n/index.ts +0 -15
- package/app/i18n/mapLanguage.ts +0 -11
- package/app/i18n/translations/appBuilder.locale.ts +0 -453
- package/app/i18n/translations/error.locale.ts +0 -246
- package/app/i18n/translations/interface.locale.ts +0 -2206
- package/app/i18n/translations/pricing.locale.ts +0 -397
- package/app/i18n/translations/privacy.locale.ts +0 -168
- package/app/i18n/translations/seo.locale.ts +0 -129
- package/app/i18n/translations/terms.locale.ts +0 -124
- package/app/i18n/types.ts +0 -6
- package/app/notifications/model.ts +0 -77
- package/app/notifications/notificationSlice.ts +0 -141
- package/app/reducer.ts +0 -36
- package/app/settings/dbActionThunks.ts +0 -34
- package/app/settings/defaultSpacePreference.ts +0 -87
- package/app/settings/settingSlice.tsx +0 -1212
- package/app/settings/settingsRecord.ts +0 -8
- package/app/stateViews/runtime.ts +0 -90
- package/app/store.ts +0 -55
- package/app/theme/colors.ts +0 -280
- package/app/theme/fontPreference.ts +0 -77
- package/app/theme/theme.config.ts +0 -120
- package/app/theme/themeModeBootstrap.ts +0 -123
- package/app/types/appSummary.ts +0 -118
- package/app/types.ts +0 -358
- package/app/utils/appKeys.ts +0 -55
- package/app/utils/async.ts +0 -28
- package/app/utils/desktopAgentRuntimeTurnClient.ts +0 -75
- package/app/utils/env.ts +0 -17
- package/app/utils/fileUtils.ts +0 -229
- package/app/utils/imageUtils.ts +0 -274
- package/app/utils/myContentItems.ts +0 -317
- package/app/utils/retryAfter.ts +0 -36
- package/app/utils/retryFetch.ts +0 -61
- package/app/utils/toast.ts +0 -3
- package/auth/action/signUpAction.ts +0 -227
- package/auth/adminPermissions.ts +0 -78
- package/auth/authSlice.ts +0 -531
- package/auth/client/loginRequest.ts +0 -14
- package/auth/resetAuthScopedClientState.ts +0 -27
- package/auth/routes.ts +0 -183
- package/auth/token.ts +0 -63
- package/auth/types.ts +0 -40
- package/authCommands.ts +0 -230
- package/chat/chat.locale.ts +0 -817
- package/chat/dialog/actions/addCybotAction.ts +0 -52
- package/chat/dialog/actions/addReferenceKeysAction.ts +0 -62
- package/chat/dialog/actions/builtinDialogLlm.ts +0 -35
- package/chat/dialog/actions/cleanupCliSession.ts +0 -40
- package/chat/dialog/actions/createDialogAction.ts +0 -379
- package/chat/dialog/actions/createScheduledTaskAction.ts +0 -78
- package/chat/dialog/actions/handleSendMessageAction.ts +0 -202
- package/chat/dialog/actions/handleSendMessageResolver.ts +0 -27
- package/chat/dialog/actions/removeCybotAction.ts +0 -6
- package/chat/dialog/actions/removeDialogAgentAction.ts +0 -44
- package/chat/dialog/actions/replacePrimaryCybotAction.ts +0 -6
- package/chat/dialog/actions/setPrimaryDialogAgentAction.ts +0 -52
- package/chat/dialog/actions/updateDialogSummaryAction.ts +0 -430
- package/chat/dialog/actions/updateDialogTitleAction.ts +0 -151
- package/chat/dialog/actions/updateDialogTitlePolicy.ts +0 -30
- package/chat/dialog/actions/updateTokensAction.ts +0 -233
- package/chat/dialog/dialogAgents.ts +0 -72
- package/chat/dialog/dialogAttachmentCleanup.ts +0 -135
- package/chat/dialog/dialogSlice.ts +0 -985
- package/chat/dialog/dialogTitle.ts +0 -81
- package/chat/dialog/dialogTokenStats.ts +0 -12
- package/chat/dialog/dialogUrl.ts +0 -6
- package/chat/dialog/goal.ts +0 -108
- package/chat/dialog/objectAssistantRegistry.ts +0 -286
- package/chat/dialog/schedule.ts +0 -17
- package/chat/messages/activityCompletion.ts +0 -97
- package/chat/messages/fetchAndCacheMessages.ts +0 -119
- package/chat/messages/fetchConvMsgs.ts +0 -51
- package/chat/messages/fetchMessages.ts +0 -84
- package/chat/messages/fileUrl.ts +0 -13
- package/chat/messages/imagePayloadPersistence.ts +0 -22
- package/chat/messages/messageAgent.ts +0 -8
- package/chat/messages/messageContent.ts +0 -203
- package/chat/messages/messageContract.ts +0 -88
- package/chat/messages/messageSlice.ts +0 -1386
- package/chat/messages/toolThunks.ts +0 -646
- package/chat/messages/types.ts +0 -192
- package/chat/messages/web/toolDisplayName.ts +0 -686
- package/cli/agentAliases.ts +0 -40
- package/cli/agentCommandSupport.ts +0 -81
- package/cli/agentInternalCommandEntries.ts +0 -44
- package/cli/agentListCommands.ts +0 -185
- package/cli/agentListHelpers.ts +0 -242
- package/cli/agentMachineCommands.ts +0 -426
- package/cli/agentNameResolver.ts +0 -164
- package/cli/agentPullCommand.ts +0 -142
- package/cli/agentRecordCommands.ts +0 -224
- package/cli/agentRecordHelpers.ts +0 -592
- package/cli/agentRunCommand.ts +0 -568
- package/cli/agentRuntimeLocal.ts +0 -45
- package/cli/authCommands.ts +0 -230
- package/cli/cliCommandAdapters.ts +0 -28
- package/cli/cliCommandDispatch.ts +0 -66
- package/cli/cliCommandFactories.ts +0 -66
- package/cli/cliCommandTypes.ts +0 -49
- package/cli/cliEnvHelpers.ts +0 -116
- package/cli/cliSpaceHelpers.ts +0 -39
- package/cli/client/agentConfigResolver.ts +0 -1
- package/cli/client/agentRun.ts +0 -735
- package/cli/client/compactDialog.ts +0 -222
- package/cli/client/hybridRecordStore.ts +0 -52
- package/cli/client/localAgentRecords.ts +0 -7
- package/cli/client/localDialogRecords.ts +0 -30
- package/cli/client/localProviderResolver.ts +0 -1
- package/cli/client/localRuntimeAdapter.ts +0 -1098
- package/cli/client/localToolPolicy.ts +0 -8
- package/cli/client/profileConfig.ts +0 -101
- package/cli/client/streamingOutput.ts +0 -38
- package/cli/commandRegistry.ts +0 -98
- package/cli/connectorRunArtifact.ts +0 -120
- package/cli/connectorWebSocketTarget.ts +0 -112
- package/cli/defaultServer.ts +0 -1
- package/cli/dialogAttachmentCleanup.ts +0 -151
- package/cli/dialogCommands.ts +0 -1120
- package/cli/dialogInternalCommandEntries.ts +0 -17
- package/cli/docCreateCommands.ts +0 -345
- package/cli/docInternalCommandEntries.ts +0 -11
- package/cli/docPageHelpers.ts +0 -80
- package/cli/docSkillHelpers.ts +0 -67
- package/cli/docSpaceHelpers.ts +0 -46
- package/cli/globalRecordOperations.ts +0 -258
- package/cli/internalCommandEntries.ts +0 -18
- package/cli/localRuntimeAuthority.ts +0 -182
- package/cli/localRuntimeDb.ts +0 -26
- package/cli/machineCommands.ts +0 -312
- package/cli/machineDaemonCommands.ts +0 -185
- package/cli/machineHeartbeatCommands.ts +0 -30
- package/cli/machineStatusCommands.ts +0 -95
- package/cli/machineWatchCommands.ts +0 -41
- package/cli/machineWsPromptMaterialization.ts +0 -89
- package/cli/machineWsRunDispatch.ts +0 -695
- package/cli/machineWsSession.ts +0 -213
- package/cli/memoryCommands.ts +0 -253
- package/cli/memoryInternalCommandEntries.ts +0 -9
- package/cli/offlineMarxistsAgentCommand.ts +0 -315
- package/cli/qoderUsageProbe.ts +0 -252
- package/cli/runtimeDoctorCommands.ts +0 -174
- package/cli/runtimeModeArgs.ts +0 -33
- package/cli/scriptCommandEntries.ts +0 -66
- package/cli/secretScan.ts +0 -31
- package/cli/systemInternalCommandEntries.ts +0 -65
- package/cli/tableCommands.ts +0 -453
- package/cli/tui/readlineWorkspace.ts +0 -210
- package/cli/tui/session.ts +0 -554
- package/cli/updateCommands.ts +0 -134
- package/cli/workflowInternalCommandEntries.ts +0 -10
- package/cliCommandAdapters.ts +0 -28
- package/cliCommandDispatch.ts +0 -66
- package/cliCommandFactories.ts +0 -66
- package/cliCommandTypes.ts +0 -49
- package/cliEnvHelpers.ts +0 -116
- package/cliSpaceHelpers.ts +0 -39
- package/client/agentConfigResolver.test.ts +0 -69
- package/client/agentConfigResolver.ts +0 -1
- package/client/agentRun.test.ts +0 -1346
- package/client/agentRun.ts +0 -735
- package/client/compactDialog.test.ts +0 -238
- package/client/compactDialog.ts +0 -222
- package/client/hybridRecordStore.test.ts +0 -157
- package/client/hybridRecordStore.ts +0 -52
- package/client/localAgentRecords.test.ts +0 -27
- package/client/localAgentRecords.ts +0 -7
- package/client/localDialogRecords.test.ts +0 -124
- package/client/localDialogRecords.ts +0 -30
- package/client/localProviderResolver.test.ts +0 -102
- package/client/localProviderResolver.ts +0 -1
- package/client/localRuntimeAdapter.test.ts +0 -2809
- package/client/localRuntimeAdapter.ts +0 -1098
- package/client/localRuntimeDryRun.test.ts +0 -135
- package/client/localToolPolicy.test.ts +0 -48
- package/client/localToolPolicy.ts +0 -8
- package/client/profileConfig.test.ts +0 -106
- package/client/profileConfig.ts +0 -101
- package/client/streamingOutput.test.ts +0 -22
- package/client/streamingOutput.ts +0 -38
- package/commandRegistry.ts +0 -98
- package/connector-experimental/capabilities.ts +0 -75
- package/connector-experimental/codexBinary.ts +0 -41
- package/connector-experimental/heartbeatLoop.ts +0 -22
- package/connector-experimental/machineInfo.ts +0 -46
- package/connector-experimental/protocol.ts +0 -54
- package/connectorRunArtifact.ts +0 -120
- package/connectorWebSocketTarget.ts +0 -112
- package/core/builtinAgents.ts +0 -209
- package/core/config.ts +0 -15
- package/core/crypto.ts +0 -51
- package/core/generateKeyPairFromSeedV1.ts +0 -15
- package/core/generateMainKey.ts +0 -22
- package/core/init.ts +0 -41
- package/core/localOrigins.ts +0 -8
- package/core/password.ts +0 -13
- package/core/prefix.ts +0 -23
- package/create/editor/transforms/fromMarkdown/index.ts +0 -260
- package/create/editor/transforms/fromMarkdown/inline.ts +0 -285
- package/create/editor/transforms/fromMarkdown/table.ts +0 -130
- package/create/editor/transforms/markdownToSlate.ts +0 -24
- package/create/editor/transforms/slateToRenderMarkdown.ts +0 -218
- package/create/editor/transforms/slateToSimplifiedMarkdown.ts +0 -224
- package/create/editor/transforms/slateToText.ts +0 -33
- package/create/editor/utils/slateUtils.ts +0 -233
- package/create/space/addSpaceAction.ts +0 -193
- package/create/space/category/categoryActions.ts +0 -427
- package/create/space/changeSpaceAction.ts +0 -36
- package/create/space/constants.ts +0 -8
- package/create/space/content/addContentAction.ts +0 -116
- package/create/space/content/contentThunks.ts +0 -90
- package/create/space/content/deleteContentFromSpaceAction.ts +0 -187
- package/create/space/content/deleteMultipleContentAction.ts +0 -112
- package/create/space/content/moveContentAction.ts +0 -285
- package/create/space/content/updateContentCategoryAction.ts +0 -154
- package/create/space/content/updateContentTitleAction.ts +0 -151
- package/create/space/content/uploadAndAddFileToSpaceAction.ts +0 -98
- package/create/space/contentKeyUtils.ts +0 -117
- package/create/space/deleteSpaceAction.ts +0 -276
- package/create/space/fetchSpaceAction.ts +0 -70
- package/create/space/fetchSpaceSidebarStateAction.ts +0 -26
- package/create/space/loadDefaultSpaceAction.ts +0 -57
- package/create/space/member/addMemberAction.ts +0 -79
- package/create/space/member/fetchUserSpaceMembershipsAction.ts +0 -386
- package/create/space/member/memberThunks.ts +0 -47
- package/create/space/member/removeMemberAction.ts +0 -67
- package/create/space/resolvePreferredSpaceId.ts +0 -113
- package/create/space/sidebarVisibleTypes.ts +0 -260
- package/create/space/space.locale.ts +0 -1087
- package/create/space/spaceAccess.ts +0 -182
- package/create/space/spaceCollapsedState.ts +0 -54
- package/create/space/spaceKeys.ts +0 -65
- package/create/space/spaceSlice.ts +0 -328
- package/create/space/spaceThunks.ts +0 -410
- package/create/space/types.ts +0 -27
- package/create/space/updateSpaceAction.ts +0 -107
- package/create/space/utils/permissions.ts +0 -47
- package/create/types.ts +0 -21
- package/database/actions/agentReadResolution.ts +0 -33
- package/database/actions/common.ts +0 -243
- package/database/actions/deleteFile.ts +0 -40
- package/database/actions/fileContent.ts +0 -125
- package/database/actions/patch.ts +0 -155
- package/database/actions/read.ts +0 -358
- package/database/actions/readAndWait.ts +0 -260
- package/database/actions/readRequestManager.ts +0 -120
- package/database/actions/readResolution.ts +0 -125
- package/database/actions/remove.ts +0 -94
- package/database/actions/replication.ts +0 -477
- package/database/actions/upload.ts +0 -186
- package/database/actions/upsert.ts +0 -56
- package/database/actions/write.ts +0 -146
- package/database/authority/ownerKey.ts +0 -80
- package/database/authority/recordAuthority.ts +0 -67
- package/database/authority/userAuthorityRegistry.ts +0 -54
- package/database/client/fetchUserData.ts +0 -61
- package/database/config.ts +0 -40
- package/database/dbActionThunks.ts +0 -1
- package/database/dbSlice.ts +0 -149
- package/database/fileRing.ts +0 -51
- package/database/fileStorage.ts +0 -232
- package/database/fileUrl.ts +0 -34
- package/database/keys.ts +0 -767
- package/database/queryPrefixes.ts +0 -14
- package/database/requests.ts +0 -443
- package/database/runtimeServerContext.ts +0 -54
- package/database/server/authorityStoreTypes.ts +0 -31
- package/database/server/cliAuthorityBrokerClient.ts +0 -227
- package/database/server/cliAuthorityBrokerServer.ts +0 -283
- package/database/server/cliAuthorityBrokerTypes.ts +0 -43
- package/database/server/cliAuthorityStoreDriver.ts +0 -98
- package/database/server/db.ts +0 -99
- package/database/server/dbPath.ts +0 -20
- package/database/server/ensureDbOpen.ts +0 -12
- package/database/server/legacyServerDb.ts +0 -58
- package/database/server/levelAuthorityStore.ts +0 -114
- package/database/server/memoryAuthorityStore.ts +0 -133
- package/database/server/serverStoreFactory.ts +0 -118
- package/database/tenantPlacement.ts +0 -57
- package/database/tombstones.ts +0 -52
- package/database/userDataMerge.ts +0 -95
- package/database/userPreferenceRegister.ts +0 -131
- package/database/utils/ulid.ts +0 -1
- package/defaultServer.ts +0 -1
- package/dialogAttachmentCleanup.ts +0 -151
- package/dialogCommands.ts +0 -1120
- package/dialogInternalCommandEntries.ts +0 -17
- package/docCreateCommands.ts +0 -345
- package/docInternalCommandEntries.ts +0 -11
- package/docPageHelpers.ts +0 -80
- package/docSkillHelpers.ts +0 -67
- package/docSpaceHelpers.ts +0 -46
- package/globalRecordOperations.ts +0 -258
- package/index.ts +0 -78
- package/integrations/anthropic/anthropicModels.ts +0 -47
- package/integrations/deepseek/models.ts +0 -37
- package/integrations/google/models.ts +0 -341
- package/integrations/openai/chatCompletionStreamMode.ts +0 -10
- package/integrations/openai/filterAndCleanMessages.ts +0 -284
- package/integrations/openai/flexTier.ts +0 -102
- package/integrations/openai/generateOpenAIRequestBody.ts +0 -271
- package/integrations/openai/generateResponseRequestBody.ts +0 -77
- package/integrations/openai/models.ts +0 -271
- package/integrations/openai/providerBodyCompatibility.ts +0 -23
- package/integrations/openai/responsesHelpers.ts +0 -297
- package/integrations/x-reader/types.ts +0 -109
- package/integrations/xai/models.ts +0 -13
- package/integrations/xhs-reader/redaction.ts +0 -68
- package/integrations/xhs-reader/types.ts +0 -277
- package/integrations/xhs-reader/url.ts +0 -80
- package/internalCommandEntries.ts +0 -18
- package/localRuntimeAuthority.ts +0 -182
- package/localRuntimeDb.ts +0 -26
- package/machineCommands.ts +0 -312
- package/machineDaemonCommands.ts +0 -185
- package/machineHeartbeatCommands.ts +0 -30
- package/machineStatusCommands.ts +0 -95
- package/machineWatchCommands.ts +0 -41
- package/machineWsPromptMaterialization.ts +0 -89
- package/machineWsRunDispatch.ts +0 -695
- package/machineWsSession.ts +0 -213
- package/memoryCommands.ts +0 -253
- package/memoryInternalCommandEntries.ts +0 -9
- package/offlineMarxistsAgentCommand.ts +0 -315
- package/qoderUsageProbe.ts +0 -252
- package/render/contentIcon/types.ts +0 -167
- package/render/page/createPageAction.ts +0 -183
- package/render/page/docSlice.ts +0 -495
- package/render/page/types.ts +0 -19
- package/render/table/activityColumns.ts +0 -6
- package/render/table/createTableAction.ts +0 -274
- package/render/table/deleteTableAction.ts +0 -193
- package/render/table/fetchAndCacheTableRows.ts +0 -174
- package/render/table/tableSlice.ts +0 -1167
- package/render/table/toolValueUtils.ts +0 -363
- package/render/table/types.ts +0 -262
- package/render/table/utils/tableSerialization.ts +0 -50
- package/runtimeDoctorCommands.ts +0 -174
- package/runtimeModeArgs.ts +0 -33
- package/scriptCommandEntries.ts +0 -66
- package/secretScan.ts +0 -31
- package/server/handlers/agentRun/types.ts +0 -105
- package/share/action.ts +0 -225
- package/share/helpers.ts +0 -302
- package/share/keys.ts +0 -243
- package/share/publicSharePolicy.ts +0 -27
- package/share/shareSlice.ts +0 -53
- package/share/types.ts +0 -100
- package/systemInternalCommandEntries.ts +0 -65
- package/tableCommands.ts +0 -453
- package/tui/readlineWorkspace.ts +0 -210
- package/tui/session.ts +0 -554
- package/updateCommands.ts +0 -134
- package/workflowInternalCommandEntries.ts +0 -10
package/README.md
CHANGED
|
@@ -1,145 +1,299 @@
|
|
|
1
|
-
# nolo
|
|
1
|
+
# @nolo/cli
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Agent-first terminal client for Nolo.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
[](./LICENSE)
|
|
5
|
+
`nolo` should be understood as the terminal workspace for Nolo agents. The
|
|
6
|
+
existing command mode still wraps repo scripts, but the product direction is a
|
|
7
|
+
TUI-first experience similar to Claude Code / Codex CLI:
|
|
9
8
|
|
|
10
|
-
`nolo
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
commands.
|
|
9
|
+
- open `nolo` and work inside a persistent Agent session;
|
|
10
|
+
- chat with an Agent;
|
|
11
|
+
- inspect and manage that Agent's dialogs, docs, tables, skills, and spaces;
|
|
12
|
+
- run internal ops/doctor agents with the same mental model;
|
|
13
|
+
- use non-interactive commands and `--json` for automation.
|
|
15
14
|
|
|
16
|
-
The
|
|
15
|
+
The current MVP uses a dependency-free readline workspace. It is intentionally
|
|
16
|
+
small: status line, text input, lightweight slash commands, and script-backed
|
|
17
|
+
Agent chat. A richer Ink UI can replace the rendering layer later without
|
|
18
|
+
changing the session model.
|
|
17
19
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
docs, tables, and machine-bound automation.
|
|
22
|
-
- The desktop direction is local-first by default: users should be able to run
|
|
23
|
-
with their own OpenAI, Anthropic, OpenRouter, Codex CLI, Qoder, or other
|
|
24
|
-
provider credentials without depending on hosted Nolo infrastructure.
|
|
20
|
+
Inside `nolo`, normal text continues the current dialog after the first agent
|
|
21
|
+
reply. Use `/new` when you want a clean dialog. Response token details stay
|
|
22
|
+
hidden by default; set `NOLO_SHOW_USAGE=1` when debugging usage.
|
|
25
23
|
|
|
26
|
-
|
|
24
|
+
Nolo is intentionally not trying to copy coding-only CLIs one-for-one. Claude
|
|
25
|
+
Code, Codex CLI, and Copilot CLI are strongest when a developer is already
|
|
26
|
+
inside a codebase. Nolo's CLI should sit between ordinary users and developers:
|
|
27
|
+
one assistant by default, with specialist agents, docs, tables, dialogs, and
|
|
28
|
+
synced workspace data one slash command away.
|
|
29
|
+
|
|
30
|
+
## Usage
|
|
27
31
|
|
|
28
32
|
```bash
|
|
29
33
|
npm install -g nolo-cli
|
|
30
34
|
nolo
|
|
35
|
+
|
|
36
|
+
# see which install you are running
|
|
31
37
|
nolo doctor
|
|
32
38
|
nolo --version
|
|
39
|
+
|
|
40
|
+
# no Nolo login required: runs the local Codex CLI in the current directory
|
|
33
41
|
nolo run "review this repository"
|
|
42
|
+
|
|
43
|
+
# update later from your shell
|
|
44
|
+
nolo update
|
|
34
45
|
```
|
|
35
46
|
|
|
36
|
-
|
|
47
|
+
Inside the TUI, run:
|
|
37
48
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
entry points, local runtime checks, scoped shell permissions, structured
|
|
42
|
-
task/dialog history, release smoke checks, and automation-friendly output.
|
|
49
|
+
```text
|
|
50
|
+
/update
|
|
51
|
+
```
|
|
43
52
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
clear.
|
|
53
|
+
The published npm package runs on plain Node.js (no Bun required). The
|
|
54
|
+
shipped entry is a bundled `index.js` with a `#!/usr/bin/env node` shebang.
|
|
47
55
|
|
|
48
|
-
|
|
56
|
+
For local maintainer workflows, `nolo run "..."` does not require a Nolo
|
|
57
|
+
account. It resolves to the built-in `local-codex` agent, runs in the current
|
|
58
|
+
working directory, and uses the local Codex CLI installation. This is intended
|
|
59
|
+
for repository-local review, triage, and release-check tasks.
|
|
49
60
|
|
|
50
|
-
|
|
51
|
-
tested, and improved in public:
|
|
61
|
+
Remote Nolo records and synced workflows still require a token:
|
|
52
62
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
provider issues, and docs gaps into actionable labels.
|
|
57
|
-
- **Release management:** run doctor checks, smoke checks, changelog review,
|
|
58
|
-
and package verification before publishing.
|
|
59
|
-
- **Security review:** keep shell, machine connector, BYOK provider, and token
|
|
60
|
-
boundaries explicit so contributors can reason about local access.
|
|
63
|
+
```bash
|
|
64
|
+
NOLO_SERVER=https://nolo.chat AUTH_TOKEN=<token> nolo
|
|
65
|
+
```
|
|
61
66
|
|
|
62
|
-
|
|
63
|
-
patterns and [OPEN_SOURCE_BOUNDARY.md](./OPEN_SOURCE_BOUNDARY.md) for what is
|
|
64
|
-
being opened versus intentionally kept private.
|
|
67
|
+
Or save a local profile once:
|
|
65
68
|
|
|
66
|
-
|
|
69
|
+
```bash
|
|
70
|
+
nolo login --server https://nolo.chat
|
|
71
|
+
nolo whoami
|
|
72
|
+
nolo
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
By default, `nolo login` opens the Nolo website and waits for browser
|
|
76
|
+
authorization. In SSH or browserless environments, use:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
nolo login --no-browser
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Then open the printed URL on a logged-in browser. Automation can still save a
|
|
83
|
+
token directly:
|
|
67
84
|
|
|
68
|
-
|
|
85
|
+
```bash
|
|
86
|
+
nolo login --server https://nolo.chat --token <token>
|
|
87
|
+
```
|
|
69
88
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
- [`src/providerConfig.ts`](./src/providerConfig.ts) documents the BYOK
|
|
73
|
-
provider credential boundary: public config stores environment variable
|
|
74
|
-
references, not raw API keys.
|
|
75
|
-
- [`src/runtimeBoundary.ts`](./src/runtimeBoundary.ts) documents the local
|
|
76
|
-
runtime boundary for no-login CLI and desktop flows: local provider
|
|
77
|
-
credentials, workspace-scoped shell policy, local persistence, and no remote
|
|
78
|
-
sync by default.
|
|
79
|
-
- [`src/localRun.test.ts`](./src/localRun.test.ts) verifies that shorthand runs
|
|
80
|
-
use local Codex without requiring Nolo auth, while explicit agent runs remain
|
|
81
|
-
distinct.
|
|
89
|
+
Local repo development should use `nolo login` or an explicit `AUTH_TOKEN` for
|
|
90
|
+
agent runs.
|
|
82
91
|
|
|
83
|
-
|
|
92
|
+
Inside the TUI, `/update` is the shortcut for the same global `nolo update`
|
|
93
|
+
command.
|
|
84
94
|
|
|
85
95
|
```bash
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
96
|
+
nolo --help
|
|
97
|
+
nolo doctor
|
|
98
|
+
nolo update
|
|
99
|
+
nolo
|
|
100
|
+
nolo run "review this repository"
|
|
101
|
+
nolo chat "triage the failing tests"
|
|
102
|
+
nolo chat
|
|
103
|
+
nolo connect
|
|
104
|
+
nolo connect --watch
|
|
105
|
+
nolo connect --daemon
|
|
106
|
+
nolo daemon --server-url https://api.nolo.chat --machine-key sk_machine_xxx
|
|
107
|
+
nolo machine status
|
|
108
|
+
nolo run "summarize my latest agent dialogs"
|
|
109
|
+
nolo doc create --title "Trip Notes" --body "hello" --sync local,us --dry-run
|
|
110
|
+
nolo doc create --title "Proxy Notes" --description "Windows setup" --body-file ./proxy.md --sync local,main,us --allow-secrets
|
|
111
|
+
nolo skill-doc create --title "Agent Query Skill" --description "Inspect recent agent dialogs" --body-file ./skill.md --sync local,main,us
|
|
112
|
+
nolo space read 01KKY77TT0DA9NY7TNW3R7255N --content-key page-user-id --brief
|
|
113
|
+
nolo agent list --json
|
|
114
|
+
nolo agent bind-current agent-user-1-agent-1
|
|
115
|
+
nolo agent runtime-doctor agent-user-1-agent-1
|
|
116
|
+
nolo agent smoke-current agent-user-1-agent-1 --msg "ping"
|
|
117
|
+
nolo chat --agent agent-pub-01APPBUILDER00000001YAII3I --msg "你好"
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
For document creation, prefer the CLI over direct scripts. Use `nolo doc create`
|
|
121
|
+
for ordinary pages and `nolo skill-doc create` for skill-backed pages. Both
|
|
122
|
+
support `--sync`, `--dry-run`, `--json`, and `--allow-secrets`, and both write
|
|
123
|
+
for the current auth token user rather than a demo bootstrap user.
|
|
124
|
+
|
|
125
|
+
Experimental machine connector commands:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
nolo connect # send one machine heartbeat
|
|
129
|
+
nolo connect --watch # keep this terminal process online with periodic heartbeats
|
|
130
|
+
nolo connect --ws # keep a live connector websocket for bound agent runs
|
|
131
|
+
nolo connect --daemon # start connect --ws silently in the background
|
|
132
|
+
nolo daemon --server-url https://api.nolo.chat --machine-key sk_machine_xxx
|
|
133
|
+
nolo machine status # list machines registered to the current profile
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
These commands only register machine presence and runtime capabilities today.
|
|
137
|
+
They do not expose shell, file-write, or raw local LLM endpoints.
|
|
138
|
+
|
|
139
|
+
Run a Slock-style connector command:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
nolo daemon --server-url https://api.nolo.chat --machine-key sk_machine_xxx
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Future published package shape:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
npx @nolo/daemon@latest --server-url https://api.nolo.chat --machine-key sk_machine_xxx
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
The daemon registers this computer, reports local CLI capabilities, keeps a live
|
|
152
|
+
websocket open, and executes bound CLI agents on this computer. Agents bind to a
|
|
153
|
+
machine, not to a workspace or project folder.
|
|
154
|
+
|
|
155
|
+
Bind an agent to the current machine:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
nolo agent bind-current <agentKey>
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
The agent keeps its own CLI settings. The binding only records which connected
|
|
162
|
+
machine must be online when that agent runs.
|
|
163
|
+
|
|
164
|
+
Run a one-command connector smoke test:
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
nolo agent runtime-doctor <agentKey>
|
|
168
|
+
nolo agent smoke-current <agentKey> --msg "ping"
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
`runtime-doctor` checks whether the agent is a CLI agent and whether the current
|
|
172
|
+
machine has the required CLI capability. `smoke-current` heartbeats the current
|
|
173
|
+
machine, binds the agent to it, opens a temporary connector websocket, calls
|
|
174
|
+
`/api/agent/run`, and prints the returned dialog id/content.
|
|
175
|
+
|
|
176
|
+
## Product Shape
|
|
177
|
+
|
|
178
|
+
The preferred command model is Agent-first:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
nolo agent list
|
|
182
|
+
nolo agent switch <agent>
|
|
183
|
+
nolo agent read <agent>
|
|
184
|
+
nolo agent update <agent> --model gpt-5.4 --cli-provider codex --api-source cli
|
|
185
|
+
nolo agent run <agent> "检查最近失败任务"
|
|
186
|
+
nolo agent run frontend-implementer --msg "修一个小的通知弹窗 CSS 问题"
|
|
187
|
+
nolo agent list --space <space>
|
|
188
|
+
nolo dialog list
|
|
189
|
+
nolo dialog list --space <space>
|
|
190
|
+
nolo dialog read <dialog>
|
|
191
|
+
nolo dialog delete <dialog...> --yes
|
|
192
|
+
nolo doc list --agent <agent>
|
|
193
|
+
nolo table query --table meta-0e95801d90-NOLOTASKBOARD --limit 20
|
|
194
|
+
nolo table query --table meta-0e95801d90-NOLOTASKBOARD --columns '["title","status","owner","priority","codeStatus"]' --no-base-fields --output items
|
|
195
|
+
nolo table update-row --table meta-0e95801d90-NOLOTASKBOARD --row 01ROWID --changes '{"status":"已完成"}'
|
|
196
|
+
nolo table add-column --table meta-0e95801d90-NOLOTASKBOARD --schema-write-ok --name "blockedBy" --label "Blocked By"
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
`agent list` and `dialog list` use global server candidates for the current CLI
|
|
200
|
+
profile: the selected `--server` / `NOLO_SERVER` plus known Nolo cluster peers.
|
|
201
|
+
List commands merge tombstones so a newer delete on one server hides older live
|
|
202
|
+
records from another.
|
|
203
|
+
|
|
204
|
+
Delete commands fan out wider by default: the selected server, cluster peers,
|
|
205
|
+
`READ_DIALOG_BASE`, and the local dev API origin. That means `nolo dialog delete`
|
|
206
|
+
and script helpers such as `deleteRecord()` / `deleteAgentRecords()` delete on
|
|
207
|
+
`nolo.chat`, `us.nolo.chat`, and local dev when present—not just the current
|
|
208
|
+
`BASE_URL`. Dialog, doc, skill-doc, space, and agent public-record deletes all
|
|
209
|
+
use this multi-server path; each server applies the normal tombstone/cascade
|
|
210
|
+
behavior for that record type.
|
|
211
|
+
|
|
212
|
+
`nolo table add-column` mutates table schema metadata, so it requires
|
|
213
|
+
`--schema-write-ok` and should be run serially per table. Row-level table writes
|
|
214
|
+
do not require this flag.
|
|
215
|
+
|
|
216
|
+
For agent config inspection and small config mutations, prefer the CLI-native
|
|
217
|
+
commands instead of ad hoc scripts:
|
|
218
|
+
|
|
219
|
+
- `nolo agent list` is CLI-native and prefers the local cache, then degrades to
|
|
220
|
+
remote query when the local LevelDB cache is unavailable or locked.
|
|
221
|
+
- `nolo agent read <agent>` reads local cached agent records first, then falls
|
|
222
|
+
back to remote fetch + local cache refresh across known server candidates.
|
|
223
|
+
- if the local LevelDB cache is unavailable or locked, `nolo agent read`
|
|
224
|
+
degrades to remote-only lookup instead of hard-failing on the local DB.
|
|
225
|
+
- `nolo agent update <agent> ...` is CLI-native and supports small targeted
|
|
226
|
+
updates such as `--model`, `--cli-provider`, `--api-source`, and repeated
|
|
227
|
+
`--field key=value`.
|
|
228
|
+
|
|
229
|
+
Account ownership matters for private agent maintenance. Default new tests,
|
|
230
|
+
validation dialogs, task-board writes, machine-bound agent runs, and
|
|
231
|
+
user-visible results should write to the current operator account
|
|
232
|
+
`0e95801d90`. The legacy
|
|
233
|
+
`b2e06f801f` / platform-demo account still owns older public/shared records, but
|
|
234
|
+
it is being retired as the default write target. Use `nolo agent read`,
|
|
235
|
+
`nolo agent update`, and repo-native helpers as the normal entrypoints; only
|
|
236
|
+
owner-only operations that explicitly target legacy records should use the
|
|
237
|
+
maintained platform-demo token from `scripts/testUtils.ts` or a regenerated
|
|
238
|
+
token from `scripts/generateToken.ts`. Do not copy token strings into docs,
|
|
239
|
+
logs, or prompts.
|
|
240
|
+
|
|
241
|
+
Inside the current TUI, examples of supported slash commands include:
|
|
242
|
+
`/agent`, `/agents`, `/switch`, `/context` (alias `/ctx`), `/dialog`, `/doc`,
|
|
243
|
+
`/help`, `/new`, `/customize`, `/login`, `/profile`, `/version`, `/quit`
|
|
244
|
+
(alias `/exit`), and `/update` (which maps to `nolo update`).
|
|
245
|
+
|
|
246
|
+
Future product-direction examples for the broader TUI command model:
|
|
247
|
+
|
|
248
|
+
```text
|
|
249
|
+
/agent list
|
|
250
|
+
/agent switch ops
|
|
251
|
+
/dialog open latest
|
|
252
|
+
/doc list
|
|
253
|
+
/table query builtin-dialog-probe-runs
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
See [`docs/nolo-cli-tui.md`](../../docs/nolo-cli-tui.md) for the product and
|
|
257
|
+
technical direction.
|
|
258
|
+
|
|
259
|
+
## Building for Publish
|
|
260
|
+
|
|
261
|
+
The CLI is developed in a monorepo with workspace dependencies (`ai` and
|
|
262
|
+
`connector-experimental`). To generate a publish-safe package that can be
|
|
263
|
+
installed via npm outside the monorepo:
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
bun run build:publish
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
This creates a `dist/` directory with:
|
|
270
|
+
- A single bundled `index.js` (esbuild, `platform: node`, ESM) with a
|
|
271
|
+
`#!/usr/bin/env node` shebang, runnable on plain Node.js without Bun
|
|
272
|
+
- Workspace dependencies inlined into the bundle
|
|
273
|
+
- A modified package.json with workspace dependencies stripped, `bin.nolo`
|
|
274
|
+
pointing at `index.js`, and only `index.js` + `README.md` in `files`
|
|
275
|
+
|
|
276
|
+
The `dist/` directory is the publish-safe artifact consumed by the CI npm
|
|
277
|
+
publish workflow:
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
bun ./scripts/release/prepareCliPublishPackage.ts --out-dir .tmp/nolo-cli-publish
|
|
281
|
+
cd .tmp/nolo-cli-publish
|
|
282
|
+
npm pack
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
For this repository, the default release path for `nolo-cli` is the GitHub
|
|
286
|
+
Actions workflow [`.github/workflows/cli-npm-publish.yml`](../../.github/workflows/cli-npm-publish.yml).
|
|
287
|
+
Use local `npm pack` or tarball-based `npm install -g` as preflight verification.
|
|
288
|
+
Do not treat manual local `npm publish` as the normal release route unless you
|
|
289
|
+
are intentionally debugging the CI publish lane.
|
|
290
|
+
|
|
291
|
+
Key differences between repo-local and published versions:
|
|
292
|
+
- **Repo-local**: Runs from source (`packages/cli/index.ts`) under Bun
|
|
293
|
+
(`bun ./packages/cli/index.ts`, `bun test`) with workspace dependencies
|
|
294
|
+
resolved by the monorepo
|
|
295
|
+
- **Published**: Runs from the bundled `dist/index.js` under plain Node.js with
|
|
296
|
+
workspace dependencies inlined and npm packages declared as `dependencies`
|
|
297
|
+
|
|
298
|
+
Repo-local development still uses Bun (`bun test`, `bun ./packages/cli/index.ts`);
|
|
299
|
+
only the shipped/published runtime is Bun-free.
|