@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.
Files changed (248) hide show
  1. package/LICENSE +21 -0
  2. package/LICENSE-CODEX +203 -0
  3. package/LICENSE-GROK-BUILD +204 -0
  4. package/LICENSE-HAPPY +21 -0
  5. package/README.md +60 -0
  6. package/THIRD-PARTY-NOTICES.md +34 -0
  7. package/dist/HappyTerminalUserError.d.ts +12 -0
  8. package/dist/app/AppTranscriptEntry.d.ts +33 -0
  9. package/dist/app/AppendOnlyStreamingRender.d.ts +12 -0
  10. package/dist/app/CodexFileDiff.d.ts +20 -0
  11. package/dist/app/CodexMcpToolCall.d.ts +25 -0
  12. package/dist/app/CodingAssistantAgentBackend.d.ts +81 -0
  13. package/dist/app/CodingAssistantApp.d.ts +128 -0
  14. package/dist/app/CompletedTurn.d.ts +11 -0
  15. package/dist/app/FileMentionAutocomplete.d.ts +30 -0
  16. package/dist/app/HappyTerminalProcessTerminal.d.ts +7 -0
  17. package/dist/app/NoticeChild.d.ts +4 -0
  18. package/dist/app/SecretMenuController.d.ts +31 -0
  19. package/dist/app/SelectionList.d.ts +24 -0
  20. package/dist/app/SessionDraftSync.d.ts +51 -0
  21. package/dist/app/StartupStatusApp.d.ts +34 -0
  22. package/dist/app/StartupStatusCardModel.d.ts +22 -0
  23. package/dist/app/TemporaryFullscreenController.d.ts +9 -0
  24. package/dist/app/TerminalColorLevel.d.ts +1 -0
  25. package/dist/app/TerminalOutputTrace.d.ts +12 -0
  26. package/dist/app/TerminalTheme.d.ts +11 -0
  27. package/dist/app/TranscriptEntryRenderCache.d.ts +10 -0
  28. package/dist/app/applyWorkflowRunUpdate.d.ts +2 -0
  29. package/dist/app/blendComposerBackground.d.ts +2 -0
  30. package/dist/app/boundedJsonStringify.d.ts +1 -0
  31. package/dist/app/calculateCacheHitPercent.d.ts +2 -0
  32. package/dist/app/codexDiffAnsi.d.ts +17 -0
  33. package/dist/app/compactCompletedTurnEntries.d.ts +2 -0
  34. package/dist/app/containsMarkdownTable.d.ts +1 -0
  35. package/dist/app/createAgentMarkdownTheme.d.ts +3 -0
  36. package/dist/app/createBackgroundTerminalViewer.d.ts +16 -0
  37. package/dist/app/createCompletedTurn.d.ts +6 -0
  38. package/dist/app/createEditorTheme.d.ts +3 -0
  39. package/dist/app/createFileMentionAutocompleteItems.d.ts +3 -0
  40. package/dist/app/createSecretInputPanel.d.ts +12 -0
  41. package/dist/app/createSelectionPanel.d.ts +14 -0
  42. package/dist/app/createSerialTaskQueue.d.ts +1 -0
  43. package/dist/app/createSessionPicker.d.ts +17 -0
  44. package/dist/app/createSlashCommands.d.ts +7 -0
  45. package/dist/app/createStopOnceHandler.d.ts +1 -0
  46. package/dist/app/createSubagentMonitor.d.ts +17 -0
  47. package/dist/app/createTerminalInputBurstHandler.d.ts +5 -0
  48. package/dist/app/createWorkflowMonitor.d.ts +15 -0
  49. package/dist/app/defaultTerminalTheme.d.ts +1 -0
  50. package/dist/app/describeModelChoice.d.ts +4 -0
  51. package/dist/app/describeProviderSignIn.d.ts +2 -0
  52. package/dist/app/describeReasoningLevel.d.ts +4 -0
  53. package/dist/app/detectCodexDiffLanguage.d.ts +1 -0
  54. package/dist/app/encodeModelChoice.d.ts +1 -0
  55. package/dist/app/endsAfterOpeningCodeFence.d.ts +1 -0
  56. package/dist/app/findFileMentionContext.d.ts +9 -0
  57. package/dist/app/findFileMentionPrefix.d.ts +5 -0
  58. package/dist/app/formatActivityElapsedTime.d.ts +1 -0
  59. package/dist/app/formatCodexMcpToolResult.d.ts +3 -0
  60. package/dist/app/formatCompactTokens.d.ts +1 -0
  61. package/dist/app/formatFileMention.d.ts +1 -0
  62. package/dist/app/formatProviderError.d.ts +6 -0
  63. package/dist/app/formatRelativeTime.d.ts +2 -0
  64. package/dist/app/formatResetDuration.d.ts +1 -0
  65. package/dist/app/formatSessionPickerEntry.d.ts +14 -0
  66. package/dist/app/formatSessionTokenStatus.d.ts +6 -0
  67. package/dist/app/formatSessionUsageSummary.d.ts +3 -0
  68. package/dist/app/formatStartupStatusUsageRemaining.d.ts +2 -0
  69. package/dist/app/formatStartupStatusUsageRows.d.ts +2 -0
  70. package/dist/app/formatSubagentToolCall.d.ts +10 -0
  71. package/dist/app/formatToolPermissionNotice.d.ts +3 -0
  72. package/dist/app/formatToolResultForDisplay.d.ts +2 -0
  73. package/dist/app/formatTurnUsageSummary.d.ts +2 -0
  74. package/dist/app/formatWorkUsageSummary.d.ts +14 -0
  75. package/dist/app/highlightAgentCode.d.ts +1 -0
  76. package/dist/app/highlightCodexDiffLine.d.ts +2 -0
  77. package/dist/app/highlightShellCommand.d.ts +1 -0
  78. package/dist/app/humanizeGoalStatus.d.ts +2 -0
  79. package/dist/app/humanizeMcpName.d.ts +1 -0
  80. package/dist/app/humanizePermissionMode.d.ts +2 -0
  81. package/dist/app/humanizePermissionReviewLevel.d.ts +2 -0
  82. package/dist/app/humanizeProviderId.d.ts +1 -0
  83. package/dist/app/humanizeReasoningLevel.d.ts +1 -0
  84. package/dist/app/humanizeSubagentStatus.d.ts +2 -0
  85. package/dist/app/humanizeToolName.d.ts +1 -0
  86. package/dist/app/humanizeWorkflowStatus.d.ts +2 -0
  87. package/dist/app/installResumeInstructions.d.ts +26 -0
  88. package/dist/app/installTerminalCrashCleanup.d.ts +26 -0
  89. package/dist/app/isLightTerminalBackground.d.ts +2 -0
  90. package/dist/app/layoutCodexFileDiff.d.ts +13 -0
  91. package/dist/app/looksLikeAuthenticationFailure.d.ts +5 -0
  92. package/dist/app/nearestXtermColorIndex.d.ts +2 -0
  93. package/dist/app/parseCodexMcpToolInvocation.d.ts +2 -0
  94. package/dist/app/parseSessionCommand.d.ts +6 -0
  95. package/dist/app/providerErrorResetAt.d.ts +2 -0
  96. package/dist/app/providerQuotaToStartupStatusUsage.d.ts +3 -0
  97. package/dist/app/readClipboardImage.d.ts +9 -0
  98. package/dist/app/renderActivityWave.d.ts +3 -0
  99. package/dist/app/renderAgentMarkdown.d.ts +8 -0
  100. package/dist/app/renderBackgroundTerminalCompletion.d.ts +1 -0
  101. package/dist/app/renderBackgroundTerminalInteraction.d.ts +2 -0
  102. package/dist/app/renderBackgroundTerminalSummary.d.ts +1 -0
  103. package/dist/app/renderChildRows.d.ts +13 -0
  104. package/dist/app/renderCodexDiffLine.d.ts +3 -0
  105. package/dist/app/renderCodexFileDiff.d.ts +7 -0
  106. package/dist/app/renderCodexMcpToolCall.d.ts +2 -0
  107. package/dist/app/renderCompletedTurnStats.d.ts +2 -0
  108. package/dist/app/renderExecCommand.d.ts +11 -0
  109. package/dist/app/renderExploration.d.ts +9 -0
  110. package/dist/app/renderFullscreenComponent.d.ts +8 -0
  111. package/dist/app/renderHappyTerminalBanner.d.ts +6 -0
  112. package/dist/app/renderHappyTerminalVersion.d.ts +1 -0
  113. package/dist/app/renderNoticeWithChildren.d.ts +7 -0
  114. package/dist/app/renderPendingSteeringMessages.d.ts +1 -0
  115. package/dist/app/renderStartupStatusCard.d.ts +7 -0
  116. package/dist/app/renderSubagentSummary.d.ts +6 -0
  117. package/dist/app/renderTurnCompletionSeparator.d.ts +1 -0
  118. package/dist/app/renderWorkflowSummary.d.ts +1 -0
  119. package/dist/app/resolveInputBackground.d.ts +3 -0
  120. package/dist/app/resolveStartupProviderQuota.d.ts +3 -0
  121. package/dist/app/resolveStartupSessionId.d.ts +18 -0
  122. package/dist/app/resolveTerminalColorLevel.d.ts +2 -0
  123. package/dist/app/resolveTerminalStyle.d.ts +1 -0
  124. package/dist/app/resolveTerminalTheme.d.ts +5 -0
  125. package/dist/app/runApp.d.ts +27 -0
  126. package/dist/app/runClipboardCommand.d.ts +8 -0
  127. package/dist/app/sanitizeTerminalText.d.ts +1 -0
  128. package/dist/app/shortenHomePath.d.ts +2 -0
  129. package/dist/app/sortSubagentsForDisplay.d.ts +2 -0
  130. package/dist/app/subagentElapsedMs.d.ts +2 -0
  131. package/dist/app/subagentLogMessageText.d.ts +2 -0
  132. package/dist/app/surfaceThemedLine.d.ts +3 -0
  133. package/dist/app/truncatePathToWidth.d.ts +1 -0
  134. package/dist/app/truncateTextForDisplay.d.ts +5 -0
  135. package/dist/app/truncateUtf8BytesForDisplay.d.ts +1 -0
  136. package/dist/app/upsertSubagentSummary.d.ts +2 -0
  137. package/dist/app/workflowDisplay.d.ts +2 -0
  138. package/dist/client/HappyAgentEventHub.d.ts +25 -0
  139. package/dist/client/RemoteAgent.d.ts +74 -0
  140. package/dist/client/RemoteAgentRunError.d.ts +4 -0
  141. package/dist/client/RemoteTerminalAttachment.d.ts +19 -0
  142. package/dist/client/RemoteTerminalClientReplica.d.ts +14 -0
  143. package/dist/client/ensureLocalProtocolServer.d.ts +10 -0
  144. package/dist/client/fetchProviderQuotas.d.ts +10 -0
  145. package/dist/client/index.d.ts +8 -0
  146. package/dist/client/loadAgentCatalog.d.ts +32 -0
  147. package/dist/config/createProjectConfigSecurityNotice.d.ts +10 -0
  148. package/dist/config/defaultConfig.d.ts +2 -0
  149. package/dist/config/getDefaultGlobalConfigPath.d.ts +1 -0
  150. package/dist/config/getDefaultLocalConfigPath.d.ts +1 -0
  151. package/dist/config/getDefaultRuntimeConfigPath.d.ts +1 -0
  152. package/dist/config/getHappyConfigDirectory.d.ts +1 -0
  153. package/dist/config/getHappyTerminalHome.d.ts +1 -0
  154. package/dist/config/index.d.ts +15 -0
  155. package/dist/config/loadConfig.d.ts +2 -0
  156. package/dist/config/mergeConfigValues.d.ts +2 -0
  157. package/dist/config/parseConfigToml.d.ts +7 -0
  158. package/dist/config/readConfigFile.d.ts +2 -0
  159. package/dist/config/readProjectConfigFile.d.ts +2 -0
  160. package/dist/config/resolveConfigPaths.d.ts +2 -0
  161. package/dist/config/runtimeConfigLock.d.ts +1 -0
  162. package/dist/config/types.d.ts +74 -0
  163. package/dist/config/updateRuntimeConfig.d.ts +2 -0
  164. package/dist/config/updateRuntimePreferences.d.ts +2 -0
  165. package/dist/config/withoutProjectMachineSettings.d.ts +7 -0
  166. package/dist/config/writeRuntimeConfig.d.ts +3 -0
  167. package/dist/config/writeRuntimeConfigDefaults.d.ts +2 -0
  168. package/dist/daemon/createUnixSocketFetch.d.ts +2 -0
  169. package/dist/daemon/daemonPid.d.ts +11 -0
  170. package/dist/daemon/ensureHappyAgentBinary.d.ts +15 -0
  171. package/dist/daemon/ensureLocalProtocolServer.d.ts +24 -0
  172. package/dist/daemon/getHappyDaemonPaths.d.ts +16 -0
  173. package/dist/daemon/happyAgentBinaryConfig.d.ts +15 -0
  174. package/dist/daemon/index.d.ts +5 -0
  175. package/dist/daemon/runDaemonCommand.d.ts +4 -0
  176. package/dist/debug/DebugLog.d.ts +11 -0
  177. package/dist/debug/closeNodeInspector.d.ts +1 -0
  178. package/dist/debug/createDebugJsonReplacer.d.ts +1 -0
  179. package/dist/debug/createRequestDebugDirectory.d.ts +1 -0
  180. package/dist/debug/getDebugRootDirectory.d.ts +1 -0
  181. package/dist/debug/getNodeInspectorUrl.d.ts +1 -0
  182. package/dist/debug/index.d.ts +8 -0
  183. package/dist/debug/openNodeInspector.d.ts +1 -0
  184. package/dist/debug/registerHappyTerminalDebugRoot.d.ts +5 -0
  185. package/dist/docs/DESIGN.md +2191 -0
  186. package/dist/docs/README.md +93 -0
  187. package/dist/docs/agents-and-collaboration.md +365 -0
  188. package/dist/docs/architecture.md +468 -0
  189. package/dist/docs/extending.md +561 -0
  190. package/dist/docs/happy.md +386 -0
  191. package/dist/docs/permissions-and-sandbox.md +342 -0
  192. package/dist/docs/workspaces.md +281 -0
  193. package/dist/errorToMessage.d.ts +1 -0
  194. package/dist/formatCliFailure.d.ts +10 -0
  195. package/dist/index.d.ts +3 -0
  196. package/dist/index.js +17151 -0
  197. package/dist/main.js +18946 -0
  198. package/dist/observability/daemonContext.d.ts +16 -0
  199. package/dist/observability/index.d.ts +1 -0
  200. package/dist/processes/BoundedOutputBuffer.d.ts +20 -0
  201. package/dist/processes/NativeProcessManager.d.ts +66 -0
  202. package/dist/processes/ProcessGroupReaper.d.ts +32 -0
  203. package/dist/processes/index.d.ts +7 -0
  204. package/dist/processes/isProcessRunning.d.ts +1 -0
  205. package/dist/processes/isTargetProcessAlive.d.ts +1 -0
  206. package/dist/processes/killProcessTree.d.ts +2 -0
  207. package/dist/processes/resolveSystemShell.d.ts +1 -0
  208. package/dist/processes/startProcessTransport.d.ts +33 -0
  209. package/dist/processes/types.d.ts +41 -0
  210. package/dist/processes/waitForProcessExit.d.ts +2 -0
  211. package/dist/protocol/AppletProtocol.d.ts +101 -0
  212. package/dist/protocol/Attachment.d.ts +96 -0
  213. package/dist/protocol/ClientProtocolTypes.d.ts +481 -0
  214. package/dist/protocol/DocumentProtocol.d.ts +109 -0
  215. package/dist/protocol/EventId.d.ts +1 -0
  216. package/dist/protocol/FolderProtocol.d.ts +236 -0
  217. package/dist/protocol/FolderSharingProtocol.d.ts +97 -0
  218. package/dist/protocol/GitHubPluginProtocol.d.ts +43 -0
  219. package/dist/protocol/GlobalSecurityProtocol.d.ts +7 -0
  220. package/dist/protocol/HappyCloudProtocol.d.ts +178 -0
  221. package/dist/protocol/InstallationProtocol.d.ts +80 -0
  222. package/dist/protocol/OnboardingProtocol.d.ts +47 -0
  223. package/dist/protocol/P2pCredentialProtocol.d.ts +273 -0
  224. package/dist/protocol/P2pIdentityProtocol.d.ts +8 -0
  225. package/dist/protocol/P2pPairingProtocol.d.ts +68 -0
  226. package/dist/protocol/P2pProtocol.d.ts +185 -0
  227. package/dist/protocol/PluginWireTypes.d.ts +81 -0
  228. package/dist/protocol/ProfileProtocol.d.ts +127 -0
  229. package/dist/protocol/ProjectFileProtocol.d.ts +63 -0
  230. package/dist/protocol/ProjectProtocol.d.ts +646 -0
  231. package/dist/protocol/ProtocolVersion.d.ts +8 -0
  232. package/dist/protocol/ServiceNotice.d.ts +175 -0
  233. package/dist/protocol/SessionProtocol.d.ts +1156 -0
  234. package/dist/protocol/SharingProtocol.d.ts +159 -0
  235. package/dist/protocol/SlotProtocol.d.ts +270 -0
  236. package/dist/protocol/TimelineProtocol.d.ts +88 -0
  237. package/dist/protocol/WorkletProtocol.d.ts +159 -0
  238. package/dist/protocol/createEventIdFactory.d.ts +7 -0
  239. package/dist/protocol/index.d.ts +34 -0
  240. package/dist/readPackageVersion.d.ts +1 -0
  241. package/dist/readPackageVersion.js +16 -0
  242. package/dist/reportCliFailure.d.ts +2 -0
  243. package/dist/runHappyTerminal.d.ts +6 -0
  244. package/dist/terminal/index.d.ts +2 -0
  245. package/dist/terminal/types.d.ts +39 -0
  246. package/dist/types.d.ts +6 -0
  247. package/dist/writeStderrSync.d.ts +5 -0
  248. package/package.json +97 -0
@@ -0,0 +1,185 @@
1
+ import { type Static } from "@sinclair/typebox";
2
+ export declare const p2pPeerConnectionStatusSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"connecting">, import("@sinclair/typebox").TLiteral<"connected">, import("@sinclair/typebox").TLiteral<"unreachable">]>;
3
+ export type P2pPeerConnectionStatus = Static<typeof p2pPeerConnectionStatusSchema>;
4
+ export declare const p2pPeerStatusSchema: import("@sinclair/typebox").TObject<{
5
+ address: import("@sinclair/typebox").TString;
6
+ error: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
7
+ lastSeenAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
8
+ name: import("@sinclair/typebox").TString;
9
+ peerId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
10
+ publicKey: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
11
+ rttMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
12
+ status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"connecting">, import("@sinclair/typebox").TLiteral<"connected">, import("@sinclair/typebox").TLiteral<"unreachable">]>;
13
+ }>;
14
+ export type P2pPeerStatus = Static<typeof p2pPeerStatusSchema>;
15
+ export declare const p2pTransportKindSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"direct">, import("@sinclair/typebox").TLiteral<"iroh">, import("@sinclair/typebox").TLiteral<"ssh">]>;
16
+ export declare const p2pTransportStatusSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
17
+ error: import("@sinclair/typebox").TString;
18
+ state: import("@sinclair/typebox").TLiteral<"unavailable">;
19
+ transport: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"direct">, import("@sinclair/typebox").TLiteral<"iroh">, import("@sinclair/typebox").TLiteral<"ssh">]>;
20
+ }>, import("@sinclair/typebox").TObject<{
21
+ apiExposed: import("@sinclair/typebox").TBoolean;
22
+ localAddress: import("@sinclair/typebox").TString;
23
+ peers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
24
+ address: import("@sinclair/typebox").TString;
25
+ error: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
26
+ lastSeenAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
27
+ name: import("@sinclair/typebox").TString;
28
+ peerId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
29
+ publicKey: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
30
+ rttMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
31
+ status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"connecting">, import("@sinclair/typebox").TLiteral<"connected">, import("@sinclair/typebox").TLiteral<"unreachable">]>;
32
+ }>>;
33
+ relayUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
34
+ state: import("@sinclair/typebox").TLiteral<"ready">;
35
+ transport: import("@sinclair/typebox").TLiteral<"iroh">;
36
+ }>, import("@sinclair/typebox").TObject<{
37
+ apiExposed: import("@sinclair/typebox").TBoolean;
38
+ localAddress: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
39
+ peers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
40
+ address: import("@sinclair/typebox").TString;
41
+ error: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
42
+ lastSeenAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
43
+ name: import("@sinclair/typebox").TString;
44
+ peerId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
45
+ publicKey: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
46
+ rttMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
47
+ status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"connecting">, import("@sinclair/typebox").TLiteral<"connected">, import("@sinclair/typebox").TLiteral<"unreachable">]>;
48
+ }>>;
49
+ state: import("@sinclair/typebox").TLiteral<"ready">;
50
+ transport: import("@sinclair/typebox").TLiteral<"direct">;
51
+ }>, import("@sinclair/typebox").TObject<{
52
+ direction: import("@sinclair/typebox").TLiteral<"outbound">;
53
+ peers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
54
+ address: import("@sinclair/typebox").TString;
55
+ error: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
56
+ lastSeenAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
57
+ name: import("@sinclair/typebox").TString;
58
+ peerId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
59
+ publicKey: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
60
+ rttMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
61
+ status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"connecting">, import("@sinclair/typebox").TLiteral<"connected">, import("@sinclair/typebox").TLiteral<"unreachable">]>;
62
+ }>>;
63
+ state: import("@sinclair/typebox").TLiteral<"ready">;
64
+ transport: import("@sinclair/typebox").TLiteral<"ssh">;
65
+ }>]>;
66
+ export type P2pTransportStatus = Static<typeof p2pTransportStatusSchema>;
67
+ export declare const p2pStatusSchema: import("@sinclair/typebox").TObject<{
68
+ instanceId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
69
+ name: import("@sinclair/typebox").TString;
70
+ publicKey: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
71
+ transports: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
72
+ error: import("@sinclair/typebox").TString;
73
+ state: import("@sinclair/typebox").TLiteral<"unavailable">;
74
+ transport: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"direct">, import("@sinclair/typebox").TLiteral<"iroh">, import("@sinclair/typebox").TLiteral<"ssh">]>;
75
+ }>, import("@sinclair/typebox").TObject<{
76
+ apiExposed: import("@sinclair/typebox").TBoolean;
77
+ localAddress: import("@sinclair/typebox").TString;
78
+ peers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
79
+ address: import("@sinclair/typebox").TString;
80
+ error: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
81
+ lastSeenAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
82
+ name: import("@sinclair/typebox").TString;
83
+ peerId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
84
+ publicKey: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
85
+ rttMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
86
+ status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"connecting">, import("@sinclair/typebox").TLiteral<"connected">, import("@sinclair/typebox").TLiteral<"unreachable">]>;
87
+ }>>;
88
+ relayUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
89
+ state: import("@sinclair/typebox").TLiteral<"ready">;
90
+ transport: import("@sinclair/typebox").TLiteral<"iroh">;
91
+ }>, import("@sinclair/typebox").TObject<{
92
+ apiExposed: import("@sinclair/typebox").TBoolean;
93
+ localAddress: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
94
+ peers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
95
+ address: import("@sinclair/typebox").TString;
96
+ error: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
97
+ lastSeenAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
98
+ name: import("@sinclair/typebox").TString;
99
+ peerId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
100
+ publicKey: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
101
+ rttMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
102
+ status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"connecting">, import("@sinclair/typebox").TLiteral<"connected">, import("@sinclair/typebox").TLiteral<"unreachable">]>;
103
+ }>>;
104
+ state: import("@sinclair/typebox").TLiteral<"ready">;
105
+ transport: import("@sinclair/typebox").TLiteral<"direct">;
106
+ }>, import("@sinclair/typebox").TObject<{
107
+ direction: import("@sinclair/typebox").TLiteral<"outbound">;
108
+ peers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
109
+ address: import("@sinclair/typebox").TString;
110
+ error: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
111
+ lastSeenAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
112
+ name: import("@sinclair/typebox").TString;
113
+ peerId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
114
+ publicKey: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
115
+ rttMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
116
+ status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"connecting">, import("@sinclair/typebox").TLiteral<"connected">, import("@sinclair/typebox").TLiteral<"unreachable">]>;
117
+ }>>;
118
+ state: import("@sinclair/typebox").TLiteral<"ready">;
119
+ transport: import("@sinclair/typebox").TLiteral<"ssh">;
120
+ }>]>>;
121
+ }>;
122
+ export type P2pStatus = Static<typeof p2pStatusSchema>;
123
+ export declare const p2pStatusChangedEventSchema: import("@sinclair/typebox").TObject<{
124
+ createdAt: import("@sinclair/typebox").TNumber;
125
+ data: import("@sinclair/typebox").TObject<{
126
+ status: import("@sinclair/typebox").TObject<{
127
+ instanceId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
128
+ name: import("@sinclair/typebox").TString;
129
+ publicKey: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
130
+ transports: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
131
+ error: import("@sinclair/typebox").TString;
132
+ state: import("@sinclair/typebox").TLiteral<"unavailable">;
133
+ transport: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"direct">, import("@sinclair/typebox").TLiteral<"iroh">, import("@sinclair/typebox").TLiteral<"ssh">]>;
134
+ }>, import("@sinclair/typebox").TObject<{
135
+ apiExposed: import("@sinclair/typebox").TBoolean;
136
+ localAddress: import("@sinclair/typebox").TString;
137
+ peers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
138
+ address: import("@sinclair/typebox").TString;
139
+ error: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
140
+ lastSeenAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
141
+ name: import("@sinclair/typebox").TString;
142
+ peerId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
143
+ publicKey: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
144
+ rttMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
145
+ status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"connecting">, import("@sinclair/typebox").TLiteral<"connected">, import("@sinclair/typebox").TLiteral<"unreachable">]>;
146
+ }>>;
147
+ relayUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
148
+ state: import("@sinclair/typebox").TLiteral<"ready">;
149
+ transport: import("@sinclair/typebox").TLiteral<"iroh">;
150
+ }>, import("@sinclair/typebox").TObject<{
151
+ apiExposed: import("@sinclair/typebox").TBoolean;
152
+ localAddress: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
153
+ peers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
154
+ address: import("@sinclair/typebox").TString;
155
+ error: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
156
+ lastSeenAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
157
+ name: import("@sinclair/typebox").TString;
158
+ peerId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
159
+ publicKey: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
160
+ rttMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
161
+ status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"connecting">, import("@sinclair/typebox").TLiteral<"connected">, import("@sinclair/typebox").TLiteral<"unreachable">]>;
162
+ }>>;
163
+ state: import("@sinclair/typebox").TLiteral<"ready">;
164
+ transport: import("@sinclair/typebox").TLiteral<"direct">;
165
+ }>, import("@sinclair/typebox").TObject<{
166
+ direction: import("@sinclair/typebox").TLiteral<"outbound">;
167
+ peers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
168
+ address: import("@sinclair/typebox").TString;
169
+ error: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
170
+ lastSeenAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
171
+ name: import("@sinclair/typebox").TString;
172
+ peerId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
173
+ publicKey: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
174
+ rttMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
175
+ status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"connecting">, import("@sinclair/typebox").TLiteral<"connected">, import("@sinclair/typebox").TLiteral<"unreachable">]>;
176
+ }>>;
177
+ state: import("@sinclair/typebox").TLiteral<"ready">;
178
+ transport: import("@sinclair/typebox").TLiteral<"ssh">;
179
+ }>]>>;
180
+ }>;
181
+ }>;
182
+ id: import("@sinclair/typebox").TString;
183
+ type: import("@sinclair/typebox").TLiteral<"p2p_status_changed">;
184
+ }>;
185
+ export type P2pStatusChangedEvent = Static<typeof p2pStatusChangedEventSchema>;
@@ -0,0 +1,81 @@
1
+ import { type Static } from "@sinclair/typebox";
2
+ export type HappyPluginCategory = "automation" | "collaboration" | "data" | "developer-tools" | "media" | "productivity" | "utilities" | "other";
3
+ export interface HappyPluginAppContribution {
4
+ appId: string;
5
+ generation: string;
6
+ id: string;
7
+ page: string;
8
+ pluginFolder: string;
9
+ resourceUri: string;
10
+ resources: readonly {
11
+ mimeType: string;
12
+ path: string;
13
+ size: number;
14
+ uri: string;
15
+ }[];
16
+ sidebar: {
17
+ icon?: string;
18
+ label: string;
19
+ order: number;
20
+ };
21
+ title: string;
22
+ tools: readonly {
23
+ _meta: {
24
+ ui: {
25
+ resourceUri: string;
26
+ visibility: readonly ("model" | "app")[];
27
+ };
28
+ };
29
+ description: string;
30
+ name: string;
31
+ server: string;
32
+ }[];
33
+ }
34
+ export interface HappyComputeProviderContribution {
35
+ health: "healthy" | "degraded" | "failed";
36
+ name: string;
37
+ provisioningTimeoutMs: number;
38
+ }
39
+ export type HappyComputePreparationPhase = string;
40
+ export declare const happyComputeInstanceStateSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"unprovisioned">, import("@sinclair/typebox").TLiteral<"provisioning">, import("@sinclair/typebox").TLiteral<"ready">, import("@sinclair/typebox").TLiteral<"unavailable">, import("@sinclair/typebox").TLiteral<"failed">, import("@sinclair/typebox").TLiteral<"stopped">]>;
41
+ export declare const happyComputeErrorSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
42
+ code: import("@sinclair/typebox").TLiteral<"capacity_exhausted">;
43
+ message: import("@sinclair/typebox").TString;
44
+ retryable: import("@sinclair/typebox").TLiteral<true>;
45
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"unprovisioned">, import("@sinclair/typebox").TLiteral<"provisioning">, import("@sinclair/typebox").TLiteral<"ready">, import("@sinclair/typebox").TLiteral<"unavailable">, import("@sinclair/typebox").TLiteral<"failed">, import("@sinclair/typebox").TLiteral<"stopped">]>>;
46
+ }>, import("@sinclair/typebox").TObject<{
47
+ code: import("@sinclair/typebox").TLiteral<"deadline_exceeded">;
48
+ message: import("@sinclair/typebox").TString;
49
+ retryable: import("@sinclair/typebox").TLiteral<true>;
50
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"unprovisioned">, import("@sinclair/typebox").TLiteral<"provisioning">, import("@sinclair/typebox").TLiteral<"ready">, import("@sinclair/typebox").TLiteral<"unavailable">, import("@sinclair/typebox").TLiteral<"failed">, import("@sinclair/typebox").TLiteral<"stopped">]>>;
51
+ }>, import("@sinclair/typebox").TObject<{
52
+ code: import("@sinclair/typebox").TLiteral<"preparing_compute">;
53
+ message: import("@sinclair/typebox").TString;
54
+ retryable: import("@sinclair/typebox").TLiteral<true>;
55
+ state: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"unprovisioned">, import("@sinclair/typebox").TLiteral<"provisioning">, import("@sinclair/typebox").TLiteral<"unavailable">]>;
56
+ elapsedMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
57
+ lastProgressAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
58
+ percent: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
59
+ phase: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
60
+ startedAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
61
+ }>, import("@sinclair/typebox").TObject<{
62
+ code: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"invalid_request">, import("@sinclair/typebox").TLiteral<"invalid_response">, import("@sinclair/typebox").TLiteral<"instance_failed">, import("@sinclair/typebox").TLiteral<"instance_not_found">, import("@sinclair/typebox").TLiteral<"provider_lost">, import("@sinclair/typebox").TLiteral<"provider_not_found">, import("@sinclair/typebox").TLiteral<"provider_unhealthy">]>;
63
+ message: import("@sinclair/typebox").TString;
64
+ retryable: import("@sinclair/typebox").TLiteral<false>;
65
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"unprovisioned">, import("@sinclair/typebox").TLiteral<"provisioning">, import("@sinclair/typebox").TLiteral<"ready">, import("@sinclair/typebox").TLiteral<"unavailable">, import("@sinclair/typebox").TLiteral<"failed">, import("@sinclair/typebox").TLiteral<"stopped">]>>;
66
+ }>]>;
67
+ export type HappyComputeError = Static<typeof happyComputeErrorSchema>;
68
+ export interface HappyComputePreparationEvent {
69
+ createdAt: number;
70
+ elapsedMs?: number;
71
+ error?: HappyComputeError;
72
+ instanceId: string;
73
+ lastProgressAt?: number;
74
+ message: string;
75
+ percent?: number;
76
+ phase: HappyComputePreparationPhase;
77
+ provider: string;
78
+ startedAt?: number;
79
+ state: "provisioning" | "ready" | "unprovisioned" | "unavailable" | "failed" | "stopped";
80
+ type: "compute_preparation";
81
+ }
@@ -0,0 +1,127 @@
1
+ import { type Static } from "@sinclair/typebox";
2
+ export declare const happyAgentProfileIdSchema: import("@sinclair/typebox").TString;
3
+ export type HappyAgentProfileId = Static<typeof happyAgentProfileIdSchema>;
4
+ export declare const happyAgentProfileIdentitySchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
5
+ export type HappyAgentProfileIdentity = Static<typeof happyAgentProfileIdentitySchema>;
6
+ export declare const happyAgentProfileNameSchema: import("@sinclair/typebox").TString;
7
+ export declare const happyAgentProfileEmailSchema: import("@sinclair/typebox").TString;
8
+ export declare const happyAgentProfilePhotoInputSchema: import("@sinclair/typebox").TObject<{
9
+ data: import("@sinclair/typebox").TString;
10
+ mediaType: import("@sinclair/typebox").TString;
11
+ }>;
12
+ export type HappyAgentProfilePhotoInput = Static<typeof happyAgentProfilePhotoInputSchema>;
13
+ export declare const happyAgentProfilePhotoSchema: import("@sinclair/typebox").TObject<{
14
+ bytes: import("@sinclair/typebox").TInteger;
15
+ data: import("@sinclair/typebox").TString;
16
+ height: import("@sinclair/typebox").TInteger;
17
+ mediaType: import("@sinclair/typebox").TLiteral<"image/webp">;
18
+ thumbhash: import("@sinclair/typebox").TString;
19
+ width: import("@sinclair/typebox").TInteger;
20
+ }>;
21
+ export type HappyAgentProfilePhoto = Static<typeof happyAgentProfilePhotoSchema>;
22
+ export declare const happyAgentProfileSchema: import("@sinclair/typebox").TObject<{
23
+ createdAt: import("@sinclair/typebox").TInteger;
24
+ email: import("@sinclair/typebox").TString;
25
+ id: import("@sinclair/typebox").TString;
26
+ name: import("@sinclair/typebox").TString;
27
+ parentInstanceId: import("@sinclair/typebox").TString;
28
+ photo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
29
+ bytes: import("@sinclair/typebox").TInteger;
30
+ data: import("@sinclair/typebox").TString;
31
+ height: import("@sinclair/typebox").TInteger;
32
+ mediaType: import("@sinclair/typebox").TLiteral<"image/webp">;
33
+ thumbhash: import("@sinclair/typebox").TString;
34
+ width: import("@sinclair/typebox").TInteger;
35
+ }>>;
36
+ updatedAt: import("@sinclair/typebox").TInteger;
37
+ version: import("@sinclair/typebox").TInteger;
38
+ }>;
39
+ export type HappyAgentProfile = Static<typeof happyAgentProfileSchema>;
40
+ export declare const createHappyAgentProfileRequestSchema: import("@sinclair/typebox").TObject<{
41
+ email: import("@sinclair/typebox").TString;
42
+ name: import("@sinclair/typebox").TString;
43
+ photo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
44
+ data: import("@sinclair/typebox").TString;
45
+ mediaType: import("@sinclair/typebox").TString;
46
+ }>>;
47
+ }>;
48
+ export type CreateHappyAgentProfileRequest = Static<typeof createHappyAgentProfileRequestSchema>;
49
+ export declare const updateHappyAgentProfileRequestSchema: import("@sinclair/typebox").TObject<{
50
+ email: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
51
+ name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
52
+ photo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
53
+ data: import("@sinclair/typebox").TString;
54
+ mediaType: import("@sinclair/typebox").TString;
55
+ }>, import("@sinclair/typebox").TNull]>>;
56
+ }>;
57
+ export type UpdateHappyAgentProfileRequest = Static<typeof updateHappyAgentProfileRequestSchema>;
58
+ export declare const replicateHappyAgentProfileRequestSchema: import("@sinclair/typebox").TObject<{
59
+ profile: import("@sinclair/typebox").TObject<{
60
+ createdAt: import("@sinclair/typebox").TInteger;
61
+ email: import("@sinclair/typebox").TString;
62
+ id: import("@sinclair/typebox").TString;
63
+ name: import("@sinclair/typebox").TString;
64
+ parentInstanceId: import("@sinclair/typebox").TString;
65
+ photo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
66
+ bytes: import("@sinclair/typebox").TInteger;
67
+ data: import("@sinclair/typebox").TString;
68
+ height: import("@sinclair/typebox").TInteger;
69
+ mediaType: import("@sinclair/typebox").TLiteral<"image/webp">;
70
+ thumbhash: import("@sinclair/typebox").TString;
71
+ width: import("@sinclair/typebox").TInteger;
72
+ }>>;
73
+ updatedAt: import("@sinclair/typebox").TInteger;
74
+ version: import("@sinclair/typebox").TInteger;
75
+ }>;
76
+ }>;
77
+ export type ReplicateHappyAgentProfileRequest = Static<typeof replicateHappyAgentProfileRequestSchema>;
78
+ export declare const listHappyAgentProfilesResponseSchema: import("@sinclair/typebox").TObject<{
79
+ profiles: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
80
+ createdAt: import("@sinclair/typebox").TInteger;
81
+ email: import("@sinclair/typebox").TString;
82
+ id: import("@sinclair/typebox").TString;
83
+ name: import("@sinclair/typebox").TString;
84
+ parentInstanceId: import("@sinclair/typebox").TString;
85
+ photo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
86
+ bytes: import("@sinclair/typebox").TInteger;
87
+ data: import("@sinclair/typebox").TString;
88
+ height: import("@sinclair/typebox").TInteger;
89
+ mediaType: import("@sinclair/typebox").TLiteral<"image/webp">;
90
+ thumbhash: import("@sinclair/typebox").TString;
91
+ width: import("@sinclair/typebox").TInteger;
92
+ }>>;
93
+ updatedAt: import("@sinclair/typebox").TInteger;
94
+ version: import("@sinclair/typebox").TInteger;
95
+ }>>;
96
+ }>;
97
+ export type ListHappyAgentProfilesResponse = Static<typeof listHappyAgentProfilesResponseSchema>;
98
+ export declare const happyAgentProfileResponseSchema: import("@sinclair/typebox").TObject<{
99
+ profile: import("@sinclair/typebox").TObject<{
100
+ createdAt: import("@sinclair/typebox").TInteger;
101
+ email: import("@sinclair/typebox").TString;
102
+ id: import("@sinclair/typebox").TString;
103
+ name: import("@sinclair/typebox").TString;
104
+ parentInstanceId: import("@sinclair/typebox").TString;
105
+ photo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
106
+ bytes: import("@sinclair/typebox").TInteger;
107
+ data: import("@sinclair/typebox").TString;
108
+ height: import("@sinclair/typebox").TInteger;
109
+ mediaType: import("@sinclair/typebox").TLiteral<"image/webp">;
110
+ thumbhash: import("@sinclair/typebox").TString;
111
+ width: import("@sinclair/typebox").TInteger;
112
+ }>>;
113
+ updatedAt: import("@sinclair/typebox").TInteger;
114
+ version: import("@sinclair/typebox").TInteger;
115
+ }>;
116
+ }>;
117
+ export type HappyAgentProfileResponse = Static<typeof happyAgentProfileResponseSchema>;
118
+ export declare const happyAgentProfileChangedEventSchema: import("@sinclair/typebox").TObject<{
119
+ createdAt: import("@sinclair/typebox").TInteger;
120
+ data: import("@sinclair/typebox").TObject<{
121
+ profileId: import("@sinclair/typebox").TString;
122
+ version: import("@sinclair/typebox").TInteger;
123
+ }>;
124
+ id: import("@sinclair/typebox").TString;
125
+ type: import("@sinclair/typebox").TLiteral<"profile_changed">;
126
+ }>;
127
+ export type HappyAgentProfileChangedEvent = Static<typeof happyAgentProfileChangedEventSchema>;
@@ -0,0 +1,63 @@
1
+ import { type Static } from "@sinclair/typebox";
2
+ export interface FileSearchResult {
3
+ fileName: string;
4
+ path: string;
5
+ }
6
+ export interface SearchFilesResponse {
7
+ files: readonly FileSearchResult[];
8
+ }
9
+ export interface ListProjectFilePathsResponse {
10
+ /** Every file in the checkout, relative to it, with POSIX separators, sorted. */
11
+ paths: readonly string[];
12
+ /** True when the checkout holds more files than `paths` carries, so a client can say so. */
13
+ truncated: boolean;
14
+ }
15
+ export interface ReadProjectFileResponse {
16
+ /** Base64-encoded file bytes. */
17
+ content: string;
18
+ /** SHA-256 of the returned bytes, used to guard a later write. */
19
+ hash: string;
20
+ }
21
+ export interface ReadProjectFileRevisionResponse {
22
+ /** Base64-encoded file bytes at that revision, or `null` when the revision has no such file. */
23
+ content: string | null;
24
+ /** SHA-256 of the returned bytes, or `null` when the revision has no such file. */
25
+ hash: string | null;
26
+ }
27
+ export declare const listFileTreeRequestSchema: import("@sinclair/typebox").TObject<{
28
+ cursor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
29
+ limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
30
+ path: import("@sinclair/typebox").TString;
31
+ }>;
32
+ export type ListFileTreeRequest = Static<typeof listFileTreeRequestSchema>;
33
+ export declare const fileTreeEntrySchema: import("@sinclair/typebox").TObject<{
34
+ modified: import("@sinclair/typebox").TNumber;
35
+ name: import("@sinclair/typebox").TString;
36
+ path: import("@sinclair/typebox").TString;
37
+ size: import("@sinclair/typebox").TInteger;
38
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"directory">, import("@sinclair/typebox").TLiteral<"file">, import("@sinclair/typebox").TLiteral<"symlink">, import("@sinclair/typebox").TLiteral<"other">]>;
39
+ }>;
40
+ export type FileTreeEntry = Static<typeof fileTreeEntrySchema>;
41
+ export declare const listFileTreeResponseSchema: import("@sinclair/typebox").TObject<{
42
+ entries: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
43
+ modified: import("@sinclair/typebox").TNumber;
44
+ name: import("@sinclair/typebox").TString;
45
+ path: import("@sinclair/typebox").TString;
46
+ size: import("@sinclair/typebox").TInteger;
47
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"directory">, import("@sinclair/typebox").TLiteral<"file">, import("@sinclair/typebox").TLiteral<"symlink">, import("@sinclair/typebox").TLiteral<"other">]>;
48
+ }>>;
49
+ nextCursor: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
50
+ path: import("@sinclair/typebox").TString;
51
+ }>;
52
+ export type ListFileTreeResponse = Static<typeof listFileTreeResponseSchema>;
53
+ export declare const writeProjectFileRequestSchema: import("@sinclair/typebox").TObject<{
54
+ /** Base64-encoded replacement bytes. */
55
+ content: import("@sinclair/typebox").TString;
56
+ /** `null` creates a new file; a hash replaces exactly the version that was read. */
57
+ expectedHash: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
58
+ path: import("@sinclair/typebox").TString;
59
+ }>;
60
+ export type WriteProjectFileRequest = Static<typeof writeProjectFileRequestSchema>;
61
+ export interface WriteProjectFileResponse {
62
+ hash: string;
63
+ }