@slopus/happy-terminal 0.3.0-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/LICENSE-CODEX +203 -0
- package/LICENSE-GROK-BUILD +204 -0
- package/LICENSE-HAPPY +21 -0
- package/README.md +60 -0
- package/THIRD-PARTY-NOTICES.md +34 -0
- package/dist/HappyTerminalUserError.d.ts +12 -0
- package/dist/app/AppTranscriptEntry.d.ts +33 -0
- package/dist/app/AppendOnlyStreamingRender.d.ts +12 -0
- package/dist/app/CodexFileDiff.d.ts +20 -0
- package/dist/app/CodexMcpToolCall.d.ts +25 -0
- package/dist/app/CodingAssistantAgentBackend.d.ts +81 -0
- package/dist/app/CodingAssistantApp.d.ts +128 -0
- package/dist/app/CompletedTurn.d.ts +11 -0
- package/dist/app/FileMentionAutocomplete.d.ts +30 -0
- package/dist/app/HappyTerminalProcessTerminal.d.ts +7 -0
- package/dist/app/NoticeChild.d.ts +4 -0
- package/dist/app/SecretMenuController.d.ts +31 -0
- package/dist/app/SelectionList.d.ts +24 -0
- package/dist/app/SessionDraftSync.d.ts +51 -0
- package/dist/app/StartupStatusApp.d.ts +34 -0
- package/dist/app/StartupStatusCardModel.d.ts +22 -0
- package/dist/app/TemporaryFullscreenController.d.ts +9 -0
- package/dist/app/TerminalColorLevel.d.ts +1 -0
- package/dist/app/TerminalOutputTrace.d.ts +12 -0
- package/dist/app/TerminalTheme.d.ts +11 -0
- package/dist/app/TranscriptEntryRenderCache.d.ts +10 -0
- package/dist/app/applyWorkflowRunUpdate.d.ts +2 -0
- package/dist/app/blendComposerBackground.d.ts +2 -0
- package/dist/app/boundedJsonStringify.d.ts +1 -0
- package/dist/app/calculateCacheHitPercent.d.ts +2 -0
- package/dist/app/codexDiffAnsi.d.ts +17 -0
- package/dist/app/compactCompletedTurnEntries.d.ts +2 -0
- package/dist/app/containsMarkdownTable.d.ts +1 -0
- package/dist/app/createAgentMarkdownTheme.d.ts +3 -0
- package/dist/app/createBackgroundTerminalViewer.d.ts +16 -0
- package/dist/app/createCompletedTurn.d.ts +6 -0
- package/dist/app/createEditorTheme.d.ts +3 -0
- package/dist/app/createFileMentionAutocompleteItems.d.ts +3 -0
- package/dist/app/createSecretInputPanel.d.ts +12 -0
- package/dist/app/createSelectionPanel.d.ts +14 -0
- package/dist/app/createSerialTaskQueue.d.ts +1 -0
- package/dist/app/createSessionPicker.d.ts +17 -0
- package/dist/app/createSlashCommands.d.ts +7 -0
- package/dist/app/createStopOnceHandler.d.ts +1 -0
- package/dist/app/createSubagentMonitor.d.ts +17 -0
- package/dist/app/createTerminalInputBurstHandler.d.ts +5 -0
- package/dist/app/createWorkflowMonitor.d.ts +15 -0
- package/dist/app/defaultTerminalTheme.d.ts +1 -0
- package/dist/app/describeModelChoice.d.ts +4 -0
- package/dist/app/describeProviderSignIn.d.ts +2 -0
- package/dist/app/describeReasoningLevel.d.ts +4 -0
- package/dist/app/detectCodexDiffLanguage.d.ts +1 -0
- package/dist/app/encodeModelChoice.d.ts +1 -0
- package/dist/app/endsAfterOpeningCodeFence.d.ts +1 -0
- package/dist/app/findFileMentionContext.d.ts +9 -0
- package/dist/app/findFileMentionPrefix.d.ts +5 -0
- package/dist/app/formatActivityElapsedTime.d.ts +1 -0
- package/dist/app/formatCodexMcpToolResult.d.ts +3 -0
- package/dist/app/formatCompactTokens.d.ts +1 -0
- package/dist/app/formatFileMention.d.ts +1 -0
- package/dist/app/formatProviderError.d.ts +6 -0
- package/dist/app/formatRelativeTime.d.ts +2 -0
- package/dist/app/formatResetDuration.d.ts +1 -0
- package/dist/app/formatSessionPickerEntry.d.ts +14 -0
- package/dist/app/formatSessionTokenStatus.d.ts +6 -0
- package/dist/app/formatSessionUsageSummary.d.ts +3 -0
- package/dist/app/formatStartupStatusUsageRemaining.d.ts +2 -0
- package/dist/app/formatStartupStatusUsageRows.d.ts +2 -0
- package/dist/app/formatSubagentToolCall.d.ts +10 -0
- package/dist/app/formatToolPermissionNotice.d.ts +3 -0
- package/dist/app/formatToolResultForDisplay.d.ts +2 -0
- package/dist/app/formatTurnUsageSummary.d.ts +2 -0
- package/dist/app/formatWorkUsageSummary.d.ts +14 -0
- package/dist/app/highlightAgentCode.d.ts +1 -0
- package/dist/app/highlightCodexDiffLine.d.ts +2 -0
- package/dist/app/highlightShellCommand.d.ts +1 -0
- package/dist/app/humanizeGoalStatus.d.ts +2 -0
- package/dist/app/humanizeMcpName.d.ts +1 -0
- package/dist/app/humanizePermissionMode.d.ts +2 -0
- package/dist/app/humanizePermissionReviewLevel.d.ts +2 -0
- package/dist/app/humanizeProviderId.d.ts +1 -0
- package/dist/app/humanizeReasoningLevel.d.ts +1 -0
- package/dist/app/humanizeSubagentStatus.d.ts +2 -0
- package/dist/app/humanizeToolName.d.ts +1 -0
- package/dist/app/humanizeWorkflowStatus.d.ts +2 -0
- package/dist/app/installResumeInstructions.d.ts +26 -0
- package/dist/app/installTerminalCrashCleanup.d.ts +26 -0
- package/dist/app/isLightTerminalBackground.d.ts +2 -0
- package/dist/app/layoutCodexFileDiff.d.ts +13 -0
- package/dist/app/looksLikeAuthenticationFailure.d.ts +5 -0
- package/dist/app/nearestXtermColorIndex.d.ts +2 -0
- package/dist/app/parseCodexMcpToolInvocation.d.ts +2 -0
- package/dist/app/parseSessionCommand.d.ts +6 -0
- package/dist/app/providerErrorResetAt.d.ts +2 -0
- package/dist/app/providerQuotaToStartupStatusUsage.d.ts +3 -0
- package/dist/app/readClipboardImage.d.ts +9 -0
- package/dist/app/renderActivityWave.d.ts +3 -0
- package/dist/app/renderAgentMarkdown.d.ts +8 -0
- package/dist/app/renderBackgroundTerminalCompletion.d.ts +1 -0
- package/dist/app/renderBackgroundTerminalInteraction.d.ts +2 -0
- package/dist/app/renderBackgroundTerminalSummary.d.ts +1 -0
- package/dist/app/renderChildRows.d.ts +13 -0
- package/dist/app/renderCodexDiffLine.d.ts +3 -0
- package/dist/app/renderCodexFileDiff.d.ts +7 -0
- package/dist/app/renderCodexMcpToolCall.d.ts +2 -0
- package/dist/app/renderCompletedTurnStats.d.ts +2 -0
- package/dist/app/renderExecCommand.d.ts +11 -0
- package/dist/app/renderExploration.d.ts +9 -0
- package/dist/app/renderFullscreenComponent.d.ts +8 -0
- package/dist/app/renderHappyTerminalBanner.d.ts +6 -0
- package/dist/app/renderHappyTerminalVersion.d.ts +1 -0
- package/dist/app/renderNoticeWithChildren.d.ts +7 -0
- package/dist/app/renderPendingSteeringMessages.d.ts +1 -0
- package/dist/app/renderStartupStatusCard.d.ts +7 -0
- package/dist/app/renderSubagentSummary.d.ts +6 -0
- package/dist/app/renderTurnCompletionSeparator.d.ts +1 -0
- package/dist/app/renderWorkflowSummary.d.ts +1 -0
- package/dist/app/resolveInputBackground.d.ts +3 -0
- package/dist/app/resolveStartupProviderQuota.d.ts +3 -0
- package/dist/app/resolveStartupSessionId.d.ts +18 -0
- package/dist/app/resolveTerminalColorLevel.d.ts +2 -0
- package/dist/app/resolveTerminalStyle.d.ts +1 -0
- package/dist/app/resolveTerminalTheme.d.ts +5 -0
- package/dist/app/runApp.d.ts +27 -0
- package/dist/app/runClipboardCommand.d.ts +8 -0
- package/dist/app/sanitizeTerminalText.d.ts +1 -0
- package/dist/app/shortenHomePath.d.ts +2 -0
- package/dist/app/sortSubagentsForDisplay.d.ts +2 -0
- package/dist/app/subagentElapsedMs.d.ts +2 -0
- package/dist/app/subagentLogMessageText.d.ts +2 -0
- package/dist/app/surfaceThemedLine.d.ts +3 -0
- package/dist/app/truncatePathToWidth.d.ts +1 -0
- package/dist/app/truncateTextForDisplay.d.ts +5 -0
- package/dist/app/truncateUtf8BytesForDisplay.d.ts +1 -0
- package/dist/app/upsertSubagentSummary.d.ts +2 -0
- package/dist/app/workflowDisplay.d.ts +2 -0
- package/dist/client/HappyAgentEventHub.d.ts +25 -0
- package/dist/client/RemoteAgent.d.ts +74 -0
- package/dist/client/RemoteAgentRunError.d.ts +4 -0
- package/dist/client/RemoteTerminalAttachment.d.ts +19 -0
- package/dist/client/RemoteTerminalClientReplica.d.ts +14 -0
- package/dist/client/ensureLocalProtocolServer.d.ts +10 -0
- package/dist/client/fetchProviderQuotas.d.ts +10 -0
- package/dist/client/index.d.ts +8 -0
- package/dist/client/loadAgentCatalog.d.ts +32 -0
- package/dist/config/createProjectConfigSecurityNotice.d.ts +10 -0
- package/dist/config/defaultConfig.d.ts +2 -0
- package/dist/config/getDefaultGlobalConfigPath.d.ts +1 -0
- package/dist/config/getDefaultLocalConfigPath.d.ts +1 -0
- package/dist/config/getDefaultRuntimeConfigPath.d.ts +1 -0
- package/dist/config/getHappyConfigDirectory.d.ts +1 -0
- package/dist/config/getHappyTerminalHome.d.ts +1 -0
- package/dist/config/index.d.ts +15 -0
- package/dist/config/loadConfig.d.ts +2 -0
- package/dist/config/mergeConfigValues.d.ts +2 -0
- package/dist/config/parseConfigToml.d.ts +7 -0
- package/dist/config/readConfigFile.d.ts +2 -0
- package/dist/config/readProjectConfigFile.d.ts +2 -0
- package/dist/config/resolveConfigPaths.d.ts +2 -0
- package/dist/config/runtimeConfigLock.d.ts +1 -0
- package/dist/config/types.d.ts +74 -0
- package/dist/config/updateRuntimeConfig.d.ts +2 -0
- package/dist/config/updateRuntimePreferences.d.ts +2 -0
- package/dist/config/withoutProjectMachineSettings.d.ts +7 -0
- package/dist/config/writeRuntimeConfig.d.ts +3 -0
- package/dist/config/writeRuntimeConfigDefaults.d.ts +2 -0
- package/dist/daemon/createUnixSocketFetch.d.ts +2 -0
- package/dist/daemon/daemonPid.d.ts +11 -0
- package/dist/daemon/ensureHappyAgentBinary.d.ts +15 -0
- package/dist/daemon/ensureLocalProtocolServer.d.ts +24 -0
- package/dist/daemon/getHappyDaemonPaths.d.ts +16 -0
- package/dist/daemon/happyAgentBinaryConfig.d.ts +15 -0
- package/dist/daemon/index.d.ts +5 -0
- package/dist/daemon/runDaemonCommand.d.ts +4 -0
- package/dist/debug/DebugLog.d.ts +11 -0
- package/dist/debug/closeNodeInspector.d.ts +1 -0
- package/dist/debug/createDebugJsonReplacer.d.ts +1 -0
- package/dist/debug/createRequestDebugDirectory.d.ts +1 -0
- package/dist/debug/getDebugRootDirectory.d.ts +1 -0
- package/dist/debug/getNodeInspectorUrl.d.ts +1 -0
- package/dist/debug/index.d.ts +8 -0
- package/dist/debug/openNodeInspector.d.ts +1 -0
- package/dist/debug/registerHappyTerminalDebugRoot.d.ts +5 -0
- package/dist/docs/DESIGN.md +2191 -0
- package/dist/docs/README.md +93 -0
- package/dist/docs/agents-and-collaboration.md +365 -0
- package/dist/docs/architecture.md +468 -0
- package/dist/docs/extending.md +561 -0
- package/dist/docs/happy.md +386 -0
- package/dist/docs/permissions-and-sandbox.md +342 -0
- package/dist/docs/workspaces.md +281 -0
- package/dist/errorToMessage.d.ts +1 -0
- package/dist/formatCliFailure.d.ts +10 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +17151 -0
- package/dist/main.js +18946 -0
- package/dist/observability/daemonContext.d.ts +16 -0
- package/dist/observability/index.d.ts +1 -0
- package/dist/processes/BoundedOutputBuffer.d.ts +20 -0
- package/dist/processes/NativeProcessManager.d.ts +66 -0
- package/dist/processes/ProcessGroupReaper.d.ts +32 -0
- package/dist/processes/index.d.ts +7 -0
- package/dist/processes/isProcessRunning.d.ts +1 -0
- package/dist/processes/isTargetProcessAlive.d.ts +1 -0
- package/dist/processes/killProcessTree.d.ts +2 -0
- package/dist/processes/resolveSystemShell.d.ts +1 -0
- package/dist/processes/startProcessTransport.d.ts +33 -0
- package/dist/processes/types.d.ts +41 -0
- package/dist/processes/waitForProcessExit.d.ts +2 -0
- package/dist/protocol/AppletProtocol.d.ts +101 -0
- package/dist/protocol/Attachment.d.ts +96 -0
- package/dist/protocol/ClientProtocolTypes.d.ts +481 -0
- package/dist/protocol/DocumentProtocol.d.ts +109 -0
- package/dist/protocol/EventId.d.ts +1 -0
- package/dist/protocol/FolderProtocol.d.ts +236 -0
- package/dist/protocol/FolderSharingProtocol.d.ts +97 -0
- package/dist/protocol/GitHubPluginProtocol.d.ts +43 -0
- package/dist/protocol/GlobalSecurityProtocol.d.ts +7 -0
- package/dist/protocol/HappyCloudProtocol.d.ts +178 -0
- package/dist/protocol/InstallationProtocol.d.ts +80 -0
- package/dist/protocol/OnboardingProtocol.d.ts +47 -0
- package/dist/protocol/P2pCredentialProtocol.d.ts +273 -0
- package/dist/protocol/P2pIdentityProtocol.d.ts +8 -0
- package/dist/protocol/P2pPairingProtocol.d.ts +68 -0
- package/dist/protocol/P2pProtocol.d.ts +185 -0
- package/dist/protocol/PluginWireTypes.d.ts +81 -0
- package/dist/protocol/ProfileProtocol.d.ts +127 -0
- package/dist/protocol/ProjectFileProtocol.d.ts +63 -0
- package/dist/protocol/ProjectProtocol.d.ts +646 -0
- package/dist/protocol/ProtocolVersion.d.ts +8 -0
- package/dist/protocol/ServiceNotice.d.ts +175 -0
- package/dist/protocol/SessionProtocol.d.ts +1156 -0
- package/dist/protocol/SharingProtocol.d.ts +159 -0
- package/dist/protocol/SlotProtocol.d.ts +270 -0
- package/dist/protocol/TimelineProtocol.d.ts +88 -0
- package/dist/protocol/WorkletProtocol.d.ts +159 -0
- package/dist/protocol/createEventIdFactory.d.ts +7 -0
- package/dist/protocol/index.d.ts +34 -0
- package/dist/readPackageVersion.d.ts +1 -0
- package/dist/readPackageVersion.js +16 -0
- package/dist/reportCliFailure.d.ts +2 -0
- package/dist/runHappyTerminal.d.ts +6 -0
- package/dist/terminal/index.d.ts +2 -0
- package/dist/terminal/types.d.ts +39 -0
- package/dist/types.d.ts +6 -0
- package/dist/writeStderrSync.d.ts +5 -0
- package/package.json +97 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { type Static } from "@sinclair/typebox";
|
|
2
|
+
export declare const sharingIdentitySchema: import("@sinclair/typebox").TString;
|
|
3
|
+
export type SharingIdentity = Static<typeof sharingIdentitySchema>;
|
|
4
|
+
export declare const sharingConnectionSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"connecting">, import("@sinclair/typebox").TLiteral<"connected">, import("@sinclair/typebox").TLiteral<"disconnected">]>;
|
|
5
|
+
export type SharingConnection = Static<typeof sharingConnectionSchema>;
|
|
6
|
+
export declare const sharingContactSchema: import("@sinclair/typebox").TObject<{
|
|
7
|
+
identity: import("@sinclair/typebox").TString;
|
|
8
|
+
profile: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
9
|
+
createdAt: import("@sinclair/typebox").TInteger;
|
|
10
|
+
email: import("@sinclair/typebox").TString;
|
|
11
|
+
id: import("@sinclair/typebox").TString;
|
|
12
|
+
name: import("@sinclair/typebox").TString;
|
|
13
|
+
parentInstanceId: import("@sinclair/typebox").TString;
|
|
14
|
+
photo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
15
|
+
bytes: import("@sinclair/typebox").TInteger;
|
|
16
|
+
data: import("@sinclair/typebox").TString;
|
|
17
|
+
height: import("@sinclair/typebox").TInteger;
|
|
18
|
+
mediaType: import("@sinclair/typebox").TLiteral<"image/webp">;
|
|
19
|
+
thumbhash: import("@sinclair/typebox").TString;
|
|
20
|
+
width: import("@sinclair/typebox").TInteger;
|
|
21
|
+
}>>;
|
|
22
|
+
updatedAt: import("@sinclair/typebox").TInteger;
|
|
23
|
+
version: import("@sinclair/typebox").TInteger;
|
|
24
|
+
}>, import("@sinclair/typebox").TNull]>;
|
|
25
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"active">, import("@sinclair/typebox").TLiteral<"removing">]>;
|
|
26
|
+
}>;
|
|
27
|
+
export type SharingContact = Static<typeof sharingContactSchema>;
|
|
28
|
+
export declare const sharingContactRequestSchema: import("@sinclair/typebox").TObject<{
|
|
29
|
+
id: import("@sinclair/typebox").TString;
|
|
30
|
+
identity: import("@sinclair/typebox").TString;
|
|
31
|
+
profile: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
32
|
+
createdAt: import("@sinclair/typebox").TInteger;
|
|
33
|
+
email: import("@sinclair/typebox").TString;
|
|
34
|
+
id: import("@sinclair/typebox").TString;
|
|
35
|
+
name: import("@sinclair/typebox").TString;
|
|
36
|
+
parentInstanceId: import("@sinclair/typebox").TString;
|
|
37
|
+
photo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
38
|
+
bytes: import("@sinclair/typebox").TInteger;
|
|
39
|
+
data: import("@sinclair/typebox").TString;
|
|
40
|
+
height: import("@sinclair/typebox").TInteger;
|
|
41
|
+
mediaType: import("@sinclair/typebox").TLiteral<"image/webp">;
|
|
42
|
+
thumbhash: import("@sinclair/typebox").TString;
|
|
43
|
+
width: import("@sinclair/typebox").TInteger;
|
|
44
|
+
}>>;
|
|
45
|
+
updatedAt: import("@sinclair/typebox").TInteger;
|
|
46
|
+
version: import("@sinclair/typebox").TInteger;
|
|
47
|
+
}>, import("@sinclair/typebox").TNull]>;
|
|
48
|
+
sessionId: import("@sinclair/typebox").TString;
|
|
49
|
+
}>;
|
|
50
|
+
export type SharingContactRequest = Static<typeof sharingContactRequestSchema>;
|
|
51
|
+
export declare const sharingOutgoingContactRequestSchema: import("@sinclair/typebox").TObject<{
|
|
52
|
+
id: import("@sinclair/typebox").TString;
|
|
53
|
+
identity: import("@sinclair/typebox").TString;
|
|
54
|
+
sessionId: import("@sinclair/typebox").TString;
|
|
55
|
+
}>;
|
|
56
|
+
export type SharingOutgoingContactRequest = Static<typeof sharingOutgoingContactRequestSchema>;
|
|
57
|
+
export declare const folderShareStatusSchema: import("@sinclair/typebox").TObject<{
|
|
58
|
+
error: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
59
|
+
groupId: import("@sinclair/typebox").TString;
|
|
60
|
+
lastSyncedAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
61
|
+
members: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
62
|
+
rootFolderId: import("@sinclair/typebox").TString;
|
|
63
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"syncing">, import("@sinclair/typebox").TLiteral<"synced">, import("@sinclair/typebox").TLiteral<"error">]>;
|
|
64
|
+
}>;
|
|
65
|
+
export type FolderShareStatus = Static<typeof folderShareStatusSchema>;
|
|
66
|
+
export declare const createFolderShareRequestSchema: import("@sinclair/typebox").TObject<{
|
|
67
|
+
contacts: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
68
|
+
folderId: import("@sinclair/typebox").TString;
|
|
69
|
+
}>;
|
|
70
|
+
export type CreateFolderShareRequest = Static<typeof createFolderShareRequestSchema>;
|
|
71
|
+
export declare const sharingSnapshotSchema: import("@sinclair/typebox").TObject<{
|
|
72
|
+
connection: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"connecting">, import("@sinclair/typebox").TLiteral<"connected">, import("@sinclair/typebox").TLiteral<"disconnected">]>;
|
|
73
|
+
contacts: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
74
|
+
identity: import("@sinclair/typebox").TString;
|
|
75
|
+
profile: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
76
|
+
createdAt: import("@sinclair/typebox").TInteger;
|
|
77
|
+
email: import("@sinclair/typebox").TString;
|
|
78
|
+
id: import("@sinclair/typebox").TString;
|
|
79
|
+
name: import("@sinclair/typebox").TString;
|
|
80
|
+
parentInstanceId: import("@sinclair/typebox").TString;
|
|
81
|
+
photo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
82
|
+
bytes: import("@sinclair/typebox").TInteger;
|
|
83
|
+
data: import("@sinclair/typebox").TString;
|
|
84
|
+
height: import("@sinclair/typebox").TInteger;
|
|
85
|
+
mediaType: import("@sinclair/typebox").TLiteral<"image/webp">;
|
|
86
|
+
thumbhash: import("@sinclair/typebox").TString;
|
|
87
|
+
width: import("@sinclair/typebox").TInteger;
|
|
88
|
+
}>>;
|
|
89
|
+
updatedAt: import("@sinclair/typebox").TInteger;
|
|
90
|
+
version: import("@sinclair/typebox").TInteger;
|
|
91
|
+
}>, import("@sinclair/typebox").TNull]>;
|
|
92
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"active">, import("@sinclair/typebox").TLiteral<"removing">]>;
|
|
93
|
+
}>>;
|
|
94
|
+
folderShares: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
95
|
+
error: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
96
|
+
groupId: import("@sinclair/typebox").TString;
|
|
97
|
+
lastSyncedAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
98
|
+
members: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
99
|
+
rootFolderId: import("@sinclair/typebox").TString;
|
|
100
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"syncing">, import("@sinclair/typebox").TLiteral<"synced">, import("@sinclair/typebox").TLiteral<"error">]>;
|
|
101
|
+
}>>;
|
|
102
|
+
identity: import("@sinclair/typebox").TString;
|
|
103
|
+
incomingRequests: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
104
|
+
id: import("@sinclair/typebox").TString;
|
|
105
|
+
identity: import("@sinclair/typebox").TString;
|
|
106
|
+
profile: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
107
|
+
createdAt: import("@sinclair/typebox").TInteger;
|
|
108
|
+
email: import("@sinclair/typebox").TString;
|
|
109
|
+
id: import("@sinclair/typebox").TString;
|
|
110
|
+
name: import("@sinclair/typebox").TString;
|
|
111
|
+
parentInstanceId: import("@sinclair/typebox").TString;
|
|
112
|
+
photo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
113
|
+
bytes: import("@sinclair/typebox").TInteger;
|
|
114
|
+
data: import("@sinclair/typebox").TString;
|
|
115
|
+
height: import("@sinclair/typebox").TInteger;
|
|
116
|
+
mediaType: import("@sinclair/typebox").TLiteral<"image/webp">;
|
|
117
|
+
thumbhash: import("@sinclair/typebox").TString;
|
|
118
|
+
width: import("@sinclair/typebox").TInteger;
|
|
119
|
+
}>>;
|
|
120
|
+
updatedAt: import("@sinclair/typebox").TInteger;
|
|
121
|
+
version: import("@sinclair/typebox").TInteger;
|
|
122
|
+
}>, import("@sinclair/typebox").TNull]>;
|
|
123
|
+
sessionId: import("@sinclair/typebox").TString;
|
|
124
|
+
}>>;
|
|
125
|
+
outgoingRequests: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
126
|
+
id: import("@sinclair/typebox").TString;
|
|
127
|
+
identity: import("@sinclair/typebox").TString;
|
|
128
|
+
sessionId: import("@sinclair/typebox").TString;
|
|
129
|
+
}>>;
|
|
130
|
+
profileId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
131
|
+
version: import("@sinclair/typebox").TString;
|
|
132
|
+
}>;
|
|
133
|
+
export type SharingSnapshot = Static<typeof sharingSnapshotSchema>;
|
|
134
|
+
export declare const createSharingInvitationResponseSchema: import("@sinclair/typebox").TObject<{
|
|
135
|
+
expiresAt: import("@sinclair/typebox").TInteger;
|
|
136
|
+
invitation: import("@sinclair/typebox").TString;
|
|
137
|
+
}>;
|
|
138
|
+
export type CreateSharingInvitationResponse = Static<typeof createSharingInvitationResponseSchema>;
|
|
139
|
+
export declare const requestSharingContactRequestSchema: import("@sinclair/typebox").TObject<{
|
|
140
|
+
invitation: import("@sinclair/typebox").TString;
|
|
141
|
+
}>;
|
|
142
|
+
export type RequestSharingContactRequest = Static<typeof requestSharingContactRequestSchema>;
|
|
143
|
+
export declare const sharingOutgoingContactRequestResponseSchema: import("@sinclair/typebox").TObject<{
|
|
144
|
+
request: import("@sinclair/typebox").TObject<{
|
|
145
|
+
id: import("@sinclair/typebox").TString;
|
|
146
|
+
identity: import("@sinclair/typebox").TString;
|
|
147
|
+
sessionId: import("@sinclair/typebox").TString;
|
|
148
|
+
}>;
|
|
149
|
+
}>;
|
|
150
|
+
export type SharingOutgoingContactRequestResponse = Static<typeof sharingOutgoingContactRequestResponseSchema>;
|
|
151
|
+
export declare const sharingChangedEventSchema: import("@sinclair/typebox").TObject<{
|
|
152
|
+
createdAt: import("@sinclair/typebox").TInteger;
|
|
153
|
+
data: import("@sinclair/typebox").TObject<{
|
|
154
|
+
version: import("@sinclair/typebox").TString;
|
|
155
|
+
}>;
|
|
156
|
+
id: import("@sinclair/typebox").TString;
|
|
157
|
+
type: import("@sinclair/typebox").TLiteral<"sharing_changed">;
|
|
158
|
+
}>;
|
|
159
|
+
export type SharingChangedEvent = Static<typeof sharingChangedEventSchema>;
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { type Static } from "@sinclair/typebox";
|
|
2
|
+
import type { EventId } from "./EventId.js";
|
|
3
|
+
/**
|
|
4
|
+
* The fixed Happy UI locations an agent can plug content into. Happy Terminal stores the entries and
|
|
5
|
+
* verifies their types; it never interprets or filters the content itself.
|
|
6
|
+
*/
|
|
7
|
+
export declare const slotNameSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"status-line">, import("@sinclair/typebox").TLiteral<"above-composer">, import("@sinclair/typebox").TLiteral<"title">, import("@sinclair/typebox").TLiteral<"sidebar">]>;
|
|
8
|
+
export type SlotName = Static<typeof slotNameSchema>;
|
|
9
|
+
export declare const slotScopeSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"everywhere">, import("@sinclair/typebox").TLiteral<"project">, import("@sinclair/typebox").TLiteral<"workspace">, import("@sinclair/typebox").TLiteral<"session">]>;
|
|
10
|
+
export type SlotScope = Static<typeof slotScopeSchema>;
|
|
11
|
+
export declare const slotActionSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
12
|
+
type: import("@sinclair/typebox").TLiteral<"send-current-chat">;
|
|
13
|
+
message: import("@sinclair/typebox").TString;
|
|
14
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
15
|
+
type: import("@sinclair/typebox").TLiteral<"open-applet">;
|
|
16
|
+
applet: import("@sinclair/typebox").TString;
|
|
17
|
+
path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
18
|
+
query: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
|
|
19
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
20
|
+
type: import("@sinclair/typebox").TLiteral<"send-chat">;
|
|
21
|
+
sessionId: import("@sinclair/typebox").TString;
|
|
22
|
+
message: import("@sinclair/typebox").TString;
|
|
23
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
24
|
+
type: import("@sinclair/typebox").TLiteral<"draft-chat">;
|
|
25
|
+
sessionId: import("@sinclair/typebox").TString;
|
|
26
|
+
message: import("@sinclair/typebox").TString;
|
|
27
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
28
|
+
type: import("@sinclair/typebox").TLiteral<"new-chat">;
|
|
29
|
+
projectId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
30
|
+
workspaceId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
31
|
+
model: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
32
|
+
provider: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
33
|
+
effort: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
34
|
+
serviceTier: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<"fast">>;
|
|
35
|
+
readOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
36
|
+
title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
37
|
+
prompt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
38
|
+
}>]>;
|
|
39
|
+
export type SlotAction = Static<typeof slotActionSchema>;
|
|
40
|
+
export declare const slotContentSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
41
|
+
type: import("@sinclair/typebox").TLiteral<"text">;
|
|
42
|
+
markdown: import("@sinclair/typebox").TString;
|
|
43
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
44
|
+
type: import("@sinclair/typebox").TLiteral<"button">;
|
|
45
|
+
label: import("@sinclair/typebox").TString;
|
|
46
|
+
action: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
47
|
+
type: import("@sinclair/typebox").TLiteral<"send-current-chat">;
|
|
48
|
+
message: import("@sinclair/typebox").TString;
|
|
49
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
50
|
+
type: import("@sinclair/typebox").TLiteral<"open-applet">;
|
|
51
|
+
applet: import("@sinclair/typebox").TString;
|
|
52
|
+
path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
53
|
+
query: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
|
|
54
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
55
|
+
type: import("@sinclair/typebox").TLiteral<"send-chat">;
|
|
56
|
+
sessionId: import("@sinclair/typebox").TString;
|
|
57
|
+
message: import("@sinclair/typebox").TString;
|
|
58
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
59
|
+
type: import("@sinclair/typebox").TLiteral<"draft-chat">;
|
|
60
|
+
sessionId: import("@sinclair/typebox").TString;
|
|
61
|
+
message: import("@sinclair/typebox").TString;
|
|
62
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
63
|
+
type: import("@sinclair/typebox").TLiteral<"new-chat">;
|
|
64
|
+
projectId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
65
|
+
workspaceId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
66
|
+
model: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
67
|
+
provider: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
68
|
+
effort: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
69
|
+
serviceTier: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<"fast">>;
|
|
70
|
+
readOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
71
|
+
title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
72
|
+
prompt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
73
|
+
}>]>;
|
|
74
|
+
}>]>;
|
|
75
|
+
export type SlotContent = Static<typeof slotContentSchema>;
|
|
76
|
+
export declare const slotEntryAuthorSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
77
|
+
type: import("@sinclair/typebox").TLiteral<"agent">;
|
|
78
|
+
sessionId: import("@sinclair/typebox").TString;
|
|
79
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
80
|
+
type: import("@sinclair/typebox").TLiteral<"plugin">;
|
|
81
|
+
folder: import("@sinclair/typebox").TString;
|
|
82
|
+
name: import("@sinclair/typebox").TString;
|
|
83
|
+
}>]>;
|
|
84
|
+
export type SlotEntryAuthor = Static<typeof slotEntryAuthorSchema>;
|
|
85
|
+
export declare const slotEntrySchema: import("@sinclair/typebox").TObject<{
|
|
86
|
+
id: import("@sinclair/typebox").TString;
|
|
87
|
+
slot: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"status-line">, import("@sinclair/typebox").TLiteral<"above-composer">, import("@sinclair/typebox").TLiteral<"title">, import("@sinclair/typebox").TLiteral<"sidebar">]>;
|
|
88
|
+
scope: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"everywhere">, import("@sinclair/typebox").TLiteral<"project">, import("@sinclair/typebox").TLiteral<"workspace">, import("@sinclair/typebox").TLiteral<"session">]>;
|
|
89
|
+
projectId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
90
|
+
workspaceId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
91
|
+
sessionId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
92
|
+
content: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
93
|
+
type: import("@sinclair/typebox").TLiteral<"text">;
|
|
94
|
+
markdown: import("@sinclair/typebox").TString;
|
|
95
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
96
|
+
type: import("@sinclair/typebox").TLiteral<"button">;
|
|
97
|
+
label: import("@sinclair/typebox").TString;
|
|
98
|
+
action: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
99
|
+
type: import("@sinclair/typebox").TLiteral<"send-current-chat">;
|
|
100
|
+
message: import("@sinclair/typebox").TString;
|
|
101
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
102
|
+
type: import("@sinclair/typebox").TLiteral<"open-applet">;
|
|
103
|
+
applet: import("@sinclair/typebox").TString;
|
|
104
|
+
path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
105
|
+
query: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
|
|
106
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
107
|
+
type: import("@sinclair/typebox").TLiteral<"send-chat">;
|
|
108
|
+
sessionId: import("@sinclair/typebox").TString;
|
|
109
|
+
message: import("@sinclair/typebox").TString;
|
|
110
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
111
|
+
type: import("@sinclair/typebox").TLiteral<"draft-chat">;
|
|
112
|
+
sessionId: import("@sinclair/typebox").TString;
|
|
113
|
+
message: import("@sinclair/typebox").TString;
|
|
114
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
115
|
+
type: import("@sinclair/typebox").TLiteral<"new-chat">;
|
|
116
|
+
projectId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
117
|
+
workspaceId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
118
|
+
model: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
119
|
+
provider: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
120
|
+
effort: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
121
|
+
serviceTier: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<"fast">>;
|
|
122
|
+
readOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
123
|
+
title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
124
|
+
prompt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
125
|
+
}>]>;
|
|
126
|
+
}>]>;
|
|
127
|
+
author: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
128
|
+
type: import("@sinclair/typebox").TLiteral<"agent">;
|
|
129
|
+
sessionId: import("@sinclair/typebox").TString;
|
|
130
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
131
|
+
type: import("@sinclair/typebox").TLiteral<"plugin">;
|
|
132
|
+
folder: import("@sinclair/typebox").TString;
|
|
133
|
+
name: import("@sinclair/typebox").TString;
|
|
134
|
+
}>]>;
|
|
135
|
+
description: import("@sinclair/typebox").TString;
|
|
136
|
+
purpose: import("@sinclair/typebox").TString;
|
|
137
|
+
createdAt: import("@sinclair/typebox").TNumber;
|
|
138
|
+
updatedAt: import("@sinclair/typebox").TNumber;
|
|
139
|
+
}>;
|
|
140
|
+
export type SlotEntry = Static<typeof slotEntrySchema>;
|
|
141
|
+
export declare const createSlotEntryRequestSchema: import("@sinclair/typebox").TObject<{
|
|
142
|
+
slot: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"status-line">, import("@sinclair/typebox").TLiteral<"above-composer">, import("@sinclair/typebox").TLiteral<"title">, import("@sinclair/typebox").TLiteral<"sidebar">]>;
|
|
143
|
+
scope: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"everywhere">, import("@sinclair/typebox").TLiteral<"project">, import("@sinclair/typebox").TLiteral<"workspace">, import("@sinclair/typebox").TLiteral<"session">]>;
|
|
144
|
+
projectId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
145
|
+
workspaceId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
146
|
+
sessionId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
147
|
+
content: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
148
|
+
type: import("@sinclair/typebox").TLiteral<"text">;
|
|
149
|
+
markdown: import("@sinclair/typebox").TString;
|
|
150
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
151
|
+
type: import("@sinclair/typebox").TLiteral<"button">;
|
|
152
|
+
label: import("@sinclair/typebox").TString;
|
|
153
|
+
action: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
154
|
+
type: import("@sinclair/typebox").TLiteral<"send-current-chat">;
|
|
155
|
+
message: import("@sinclair/typebox").TString;
|
|
156
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
157
|
+
type: import("@sinclair/typebox").TLiteral<"open-applet">;
|
|
158
|
+
applet: import("@sinclair/typebox").TString;
|
|
159
|
+
path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
160
|
+
query: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
|
|
161
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
162
|
+
type: import("@sinclair/typebox").TLiteral<"send-chat">;
|
|
163
|
+
sessionId: import("@sinclair/typebox").TString;
|
|
164
|
+
message: import("@sinclair/typebox").TString;
|
|
165
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
166
|
+
type: import("@sinclair/typebox").TLiteral<"draft-chat">;
|
|
167
|
+
sessionId: import("@sinclair/typebox").TString;
|
|
168
|
+
message: import("@sinclair/typebox").TString;
|
|
169
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
170
|
+
type: import("@sinclair/typebox").TLiteral<"new-chat">;
|
|
171
|
+
projectId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
172
|
+
workspaceId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
173
|
+
model: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
174
|
+
provider: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
175
|
+
effort: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
176
|
+
serviceTier: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<"fast">>;
|
|
177
|
+
readOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
178
|
+
title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
179
|
+
prompt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
180
|
+
}>]>;
|
|
181
|
+
}>]>;
|
|
182
|
+
author: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
183
|
+
type: import("@sinclair/typebox").TLiteral<"agent">;
|
|
184
|
+
sessionId: import("@sinclair/typebox").TString;
|
|
185
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
186
|
+
type: import("@sinclair/typebox").TLiteral<"plugin">;
|
|
187
|
+
folder: import("@sinclair/typebox").TString;
|
|
188
|
+
name: import("@sinclair/typebox").TString;
|
|
189
|
+
}>]>;
|
|
190
|
+
description: import("@sinclair/typebox").TString;
|
|
191
|
+
purpose: import("@sinclair/typebox").TString;
|
|
192
|
+
}>;
|
|
193
|
+
export type CreateSlotEntryRequest = Static<typeof createSlotEntryRequestSchema>;
|
|
194
|
+
/**
|
|
195
|
+
* The scope and its target are fixed at creation; an entry that should move is removed and
|
|
196
|
+
* recreated where it belongs.
|
|
197
|
+
*/
|
|
198
|
+
export declare const updateSlotEntryRequestSchema: import("@sinclair/typebox").TObject<{
|
|
199
|
+
slot: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"status-line">, import("@sinclair/typebox").TLiteral<"above-composer">, import("@sinclair/typebox").TLiteral<"title">, import("@sinclair/typebox").TLiteral<"sidebar">]>>;
|
|
200
|
+
content: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
201
|
+
type: import("@sinclair/typebox").TLiteral<"text">;
|
|
202
|
+
markdown: import("@sinclair/typebox").TString;
|
|
203
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
204
|
+
type: import("@sinclair/typebox").TLiteral<"button">;
|
|
205
|
+
label: import("@sinclair/typebox").TString;
|
|
206
|
+
action: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
207
|
+
type: import("@sinclair/typebox").TLiteral<"send-current-chat">;
|
|
208
|
+
message: import("@sinclair/typebox").TString;
|
|
209
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
210
|
+
type: import("@sinclair/typebox").TLiteral<"open-applet">;
|
|
211
|
+
applet: import("@sinclair/typebox").TString;
|
|
212
|
+
path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
213
|
+
query: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
|
|
214
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
215
|
+
type: import("@sinclair/typebox").TLiteral<"send-chat">;
|
|
216
|
+
sessionId: import("@sinclair/typebox").TString;
|
|
217
|
+
message: import("@sinclair/typebox").TString;
|
|
218
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
219
|
+
type: import("@sinclair/typebox").TLiteral<"draft-chat">;
|
|
220
|
+
sessionId: import("@sinclair/typebox").TString;
|
|
221
|
+
message: import("@sinclair/typebox").TString;
|
|
222
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
223
|
+
type: import("@sinclair/typebox").TLiteral<"new-chat">;
|
|
224
|
+
projectId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
225
|
+
workspaceId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
226
|
+
model: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
227
|
+
provider: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
228
|
+
effort: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
229
|
+
serviceTier: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<"fast">>;
|
|
230
|
+
readOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
231
|
+
title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
232
|
+
prompt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
233
|
+
}>]>;
|
|
234
|
+
}>]>>;
|
|
235
|
+
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
236
|
+
purpose: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
237
|
+
}>;
|
|
238
|
+
export type UpdateSlotEntryRequest = Static<typeof updateSlotEntryRequestSchema>;
|
|
239
|
+
/** Scope context for listing: a session context also matches everywhere, project, and workspace. */
|
|
240
|
+
export interface SlotEntryFilter {
|
|
241
|
+
projectId?: string;
|
|
242
|
+
sessionId?: string;
|
|
243
|
+
slot?: SlotName;
|
|
244
|
+
workspaceId?: string;
|
|
245
|
+
}
|
|
246
|
+
export interface ListSlotEntriesResponse {
|
|
247
|
+
entries: readonly SlotEntry[];
|
|
248
|
+
}
|
|
249
|
+
export interface SlotEntryResponse {
|
|
250
|
+
entry: SlotEntry;
|
|
251
|
+
}
|
|
252
|
+
export type SlotManagementErrorCode = "entry_not_found" | "invalid_entry" | "invalid_request";
|
|
253
|
+
export interface SlotManagementErrorResponse {
|
|
254
|
+
error: {
|
|
255
|
+
code: SlotManagementErrorCode;
|
|
256
|
+
message: string;
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Slot entries changed. Live-only, carrying the whole current set so a reconnecting client reads
|
|
261
|
+
* the current entries instead of replaying every past change.
|
|
262
|
+
*/
|
|
263
|
+
export interface SlotsChangedEvent {
|
|
264
|
+
createdAt: number;
|
|
265
|
+
data: {
|
|
266
|
+
entries: readonly SlotEntry[];
|
|
267
|
+
};
|
|
268
|
+
id: EventId;
|
|
269
|
+
type: "slots_changed";
|
|
270
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { SessionAgentType, SessionScope } from "./SessionProtocol.js";
|
|
2
|
+
/**
|
|
3
|
+
* How much of Happy Terminal one timeline covers.
|
|
4
|
+
*
|
|
5
|
+
* A global timeline covers every agent Happy Terminal knows about. A project timeline
|
|
6
|
+
* reaches every workspace inside it and every chat inside those, a workspace
|
|
7
|
+
* timeline stops at that worktree, and a session timeline covers one chat
|
|
8
|
+
* together with the subagents it started.
|
|
9
|
+
*
|
|
10
|
+
* A global timeline grows with everything Happy Terminal has ever run, so pair it with
|
|
11
|
+
* `since` when only recent work is wanted.
|
|
12
|
+
*/
|
|
13
|
+
export type TimelineScope = {
|
|
14
|
+
kind: "global";
|
|
15
|
+
} | {
|
|
16
|
+
kind: "project";
|
|
17
|
+
projectId: string;
|
|
18
|
+
} | {
|
|
19
|
+
kind: "session";
|
|
20
|
+
sessionId: string;
|
|
21
|
+
} | {
|
|
22
|
+
kind: "workspace";
|
|
23
|
+
projectId: string;
|
|
24
|
+
workspaceId: string;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* What an agent was doing across one stretch of wall-clock time.
|
|
28
|
+
*
|
|
29
|
+
* `working` is a run from the moment it started until it stopped. `waiting` is
|
|
30
|
+
* the gap after a run in which the agent had nothing to do but wait for the
|
|
31
|
+
* person. `asking` is an open question the agent put to the person, which
|
|
32
|
+
* overlaps the run that asked it.
|
|
33
|
+
*/
|
|
34
|
+
export type TimelineSpanKind = "asking" | "waiting" | "working";
|
|
35
|
+
/**
|
|
36
|
+
* How a span of work came to an end.
|
|
37
|
+
*
|
|
38
|
+
* `interrupted` means no ending was ever recorded — the daemon stopped before
|
|
39
|
+
* the run did — which is the truth rather than a guess about what happened.
|
|
40
|
+
*/
|
|
41
|
+
export type TimelineSpanOutcome = "aborted" | "answered" | "cancelled" | "completed" | "error" | "interrupted";
|
|
42
|
+
export interface TimelineSpan {
|
|
43
|
+
/** Milliseconds since the epoch, even though a chart of these reads in minutes. */
|
|
44
|
+
startedAt: number;
|
|
45
|
+
/** Absent while the span is still open. */
|
|
46
|
+
endedAt?: number;
|
|
47
|
+
kind: TimelineSpanKind;
|
|
48
|
+
/** Absent while the span is still open. */
|
|
49
|
+
outcome?: TimelineSpanOutcome;
|
|
50
|
+
/** The question this span is about, for an `asking` span. */
|
|
51
|
+
requestId?: string;
|
|
52
|
+
/** The run this span belongs to, for a `working` span. */
|
|
53
|
+
runId?: string;
|
|
54
|
+
}
|
|
55
|
+
/** One agent's row in the chart, with the spans that make up its bar. */
|
|
56
|
+
export interface TimelineAgent {
|
|
57
|
+
agentId: string;
|
|
58
|
+
/** When the agent came into being, which may precede its first span. */
|
|
59
|
+
createdAt: number;
|
|
60
|
+
depth: number;
|
|
61
|
+
/** The human-readable label to draw on the row. */
|
|
62
|
+
label: string;
|
|
63
|
+
modelId: string;
|
|
64
|
+
parentSessionId?: string;
|
|
65
|
+
parentToolCallId?: string;
|
|
66
|
+
scope: SessionScope;
|
|
67
|
+
providerId: string;
|
|
68
|
+
sessionId: string;
|
|
69
|
+
spans: readonly TimelineSpan[];
|
|
70
|
+
type: SessionAgentType;
|
|
71
|
+
}
|
|
72
|
+
export interface GetTimelineRequest {
|
|
73
|
+
/** Include archived chats, which are left out by default. */
|
|
74
|
+
includeArchived?: boolean;
|
|
75
|
+
scope: TimelineScope;
|
|
76
|
+
/** Drop spans that ended before this moment, in milliseconds. */
|
|
77
|
+
since?: number;
|
|
78
|
+
}
|
|
79
|
+
export interface GetTimelineResponse {
|
|
80
|
+
/**
|
|
81
|
+
* Flat, so the client joins the tree once rather than the daemon shaping it.
|
|
82
|
+
* Ordered by when each agent was created.
|
|
83
|
+
*/
|
|
84
|
+
agents: readonly TimelineAgent[];
|
|
85
|
+
/** The live-stream position this timeline reflects. */
|
|
86
|
+
cursor: string;
|
|
87
|
+
scope: TimelineScope;
|
|
88
|
+
}
|