@agentdock/wire 0.0.47 → 0.0.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -146,7 +146,7 @@ pnpm --filter @agentdock/wire typecheck
146
146
 
147
147
  ## 设计决策
148
148
 
149
- - **字段名对齐 Happy**:`call`/`name`/`args`(非 `toolId`/`toolName`/`params`),确保协议兼容
149
+ - **字段命名规范**:`call`/`name`/`args`(非 `toolId`/`toolName`/`params`),确保协议兼容
150
150
  - **cuid2 作为 ID**:`subagent` 字段用 cuid2 验证,`id` 用 `createId()` 生成
151
151
  - **Unix number 时间戳**:`time`/`createdAt`/`updatedAt` 都是 Unix 毫秒数,非 ISO string
152
152
  - **discriminated union**:`SessionEventSchema` 用 `t` 字段做类型判别,而非 `type`
@@ -13,6 +13,8 @@ export interface AgentModelOption {
13
13
  readonly value: string;
14
14
  readonly label: string;
15
15
  }
16
+ /** 模型来源标签 */
17
+ export type ModelSource = 'builtin' | 'acp' | 'env' | 'custom';
16
18
  export interface AgentCapability {
17
19
  readonly controlLevel: ControlLevelType;
18
20
  readonly supportsModel: boolean;
@@ -1 +1 @@
1
- "use strict";const p=[{value:"default",labelKey:"permissionDefault"},{value:"acceptEdits",labelKey:"permissionAutoEdit"},{value:"auto",labelKey:"permissionAuto"},{value:"plan",labelKey:"permissionPlan"},{value:"bypassPermissions",labelKey:"permissionFullAuto"}],r=[{value:"sonnet",label:"Sonnet"},{value:"opus",label:"Opus"},{value:"haiku",label:"Haiku"}];export const AGENT_CAPABILITIES={claude:{controlLevel:3,supportsModel:!0,supportsSystemPrompt:!0,supportsToolConfig:!0,supportsMcpConfig:!0,supportsPermissionMode:!0,supportsResume:!0,supportsMaxTurns:!0,supportsSlashClear:!0,supportsSlashCompact:!0,supportsInSessionModelSwitch:!0,supportsInSessionModeSwitch:!0,usesAcpConfig:!1,staticModels:r,permissionModes:p,defaultPermissionMode:"default"},copilot:{controlLevel:3,supportsModel:!0,supportsSystemPrompt:!1,supportsToolConfig:!0,supportsMcpConfig:!0,supportsPermissionMode:!0,supportsResume:!0,supportsMaxTurns:!1,supportsSlashClear:!0,supportsSlashCompact:!1,supportsInSessionModelSwitch:!0,supportsInSessionModeSwitch:!0,usesAcpConfig:!0,staticModels:[],permissionModes:[],defaultPermissionMode:""},opencode:{controlLevel:3,supportsModel:!0,supportsSystemPrompt:!0,supportsToolConfig:!0,supportsMcpConfig:!0,supportsPermissionMode:!1,supportsResume:!0,supportsMaxTurns:!1,supportsSlashClear:!0,supportsSlashCompact:!1,supportsInSessionModelSwitch:!0,supportsInSessionModeSwitch:!0,usesAcpConfig:!0,staticModels:[],permissionModes:[],defaultPermissionMode:""},codex:{controlLevel:2,supportsModel:!0,supportsSystemPrompt:!0,supportsToolConfig:!1,supportsMcpConfig:!1,supportsPermissionMode:!0,supportsResume:!0,supportsMaxTurns:!1,supportsSlashClear:!0,supportsSlashCompact:!0,supportsInSessionModelSwitch:!0,supportsInSessionModeSwitch:!0,usesAcpConfig:!0,staticModels:[],permissionModes:[],defaultPermissionMode:""},gemini:{controlLevel:3,supportsModel:!0,supportsSystemPrompt:!1,supportsToolConfig:!1,supportsMcpConfig:!0,supportsPermissionMode:!1,supportsResume:!1,supportsMaxTurns:!1,supportsSlashClear:!0,supportsSlashCompact:!1,supportsInSessionModelSwitch:!1,supportsInSessionModeSwitch:!1,usesAcpConfig:!0,staticModels:[],permissionModes:[],defaultPermissionMode:"bypassPermissions"},hermes:{controlLevel:3,supportsModel:!0,supportsSystemPrompt:!1,supportsToolConfig:!1,supportsMcpConfig:!1,supportsPermissionMode:!1,supportsResume:!0,supportsMaxTurns:!1,supportsSlashClear:!0,supportsSlashCompact:!1,supportsInSessionModelSwitch:!1,supportsInSessionModeSwitch:!1,usesAcpConfig:!0,staticModels:[],permissionModes:[],defaultPermissionMode:""},openclaw:{controlLevel:3,supportsModel:!0,supportsSystemPrompt:!1,supportsToolConfig:!1,supportsMcpConfig:!1,supportsPermissionMode:!1,supportsResume:!1,supportsMaxTurns:!1,supportsSlashClear:!0,supportsSlashCompact:!1,supportsInSessionModelSwitch:!1,supportsInSessionModeSwitch:!1,usesAcpConfig:!0,staticModels:[],permissionModes:[],defaultPermissionMode:""}};let e={};export function updateDynamicModes(s,o){o.length!==0&&(e={...e,[s]:o.map(t=>({value:t.id,labelKey:t.label}))})}export function getDynamicModes(s){return e[s]??null}export function getAgentCapability(s){return AGENT_CAPABILITIES[s]??{controlLevel:0,supportsModel:!1,supportsSystemPrompt:!1,supportsToolConfig:!1,supportsMcpConfig:!1,supportsPermissionMode:!1,supportsResume:!1,supportsMaxTurns:!1,supportsSlashClear:!1,supportsSlashCompact:!1,supportsInSessionModelSwitch:!1,supportsInSessionModeSwitch:!1,usesAcpConfig:!1,staticModels:[],permissionModes:[],defaultPermissionMode:"default"}}export function normalizeModelId(s){return s.replace(/(\d+)\.(\d+)/g,"$1-$2")}
1
+ "use strict";const p=[{value:"default",labelKey:"permissionDefault"},{value:"acceptEdits",labelKey:"permissionAutoEdit"},{value:"auto",labelKey:"permissionAuto"},{value:"plan",labelKey:"permissionPlan"},{value:"bypassPermissions",labelKey:"permissionFullAuto"}],r=[{value:"sonnet",label:"Sonnet"},{value:"opus",label:"Opus"},{value:"haiku",label:"Haiku"}];export const AGENT_CAPABILITIES={claude:{controlLevel:3,supportsModel:!0,supportsSystemPrompt:!0,supportsToolConfig:!0,supportsMcpConfig:!0,supportsPermissionMode:!0,supportsResume:!0,supportsMaxTurns:!0,supportsSlashClear:!0,supportsSlashCompact:!0,supportsInSessionModelSwitch:!0,supportsInSessionModeSwitch:!0,usesAcpConfig:!1,staticModels:r,permissionModes:p,defaultPermissionMode:"default"},copilot:{controlLevel:3,supportsModel:!0,supportsSystemPrompt:!1,supportsToolConfig:!0,supportsMcpConfig:!0,supportsPermissionMode:!0,supportsResume:!0,supportsMaxTurns:!1,supportsSlashClear:!0,supportsSlashCompact:!1,supportsInSessionModelSwitch:!1,supportsInSessionModeSwitch:!0,usesAcpConfig:!0,staticModels:[],permissionModes:[],defaultPermissionMode:""},opencode:{controlLevel:3,supportsModel:!0,supportsSystemPrompt:!0,supportsToolConfig:!0,supportsMcpConfig:!0,supportsPermissionMode:!1,supportsResume:!0,supportsMaxTurns:!1,supportsSlashClear:!0,supportsSlashCompact:!1,supportsInSessionModelSwitch:!1,supportsInSessionModeSwitch:!0,usesAcpConfig:!0,staticModels:[],permissionModes:[],defaultPermissionMode:""},codex:{controlLevel:2,supportsModel:!0,supportsSystemPrompt:!0,supportsToolConfig:!1,supportsMcpConfig:!1,supportsPermissionMode:!0,supportsResume:!0,supportsMaxTurns:!1,supportsSlashClear:!0,supportsSlashCompact:!0,supportsInSessionModelSwitch:!1,supportsInSessionModeSwitch:!0,usesAcpConfig:!0,staticModels:[],permissionModes:[],defaultPermissionMode:""},gemini:{controlLevel:3,supportsModel:!0,supportsSystemPrompt:!1,supportsToolConfig:!1,supportsMcpConfig:!0,supportsPermissionMode:!1,supportsResume:!1,supportsMaxTurns:!1,supportsSlashClear:!0,supportsSlashCompact:!1,supportsInSessionModelSwitch:!1,supportsInSessionModeSwitch:!1,usesAcpConfig:!0,staticModels:[],permissionModes:[],defaultPermissionMode:"bypassPermissions"},hermes:{controlLevel:3,supportsModel:!0,supportsSystemPrompt:!1,supportsToolConfig:!1,supportsMcpConfig:!0,supportsPermissionMode:!0,supportsResume:!0,supportsMaxTurns:!1,supportsSlashClear:!0,supportsSlashCompact:!1,supportsInSessionModelSwitch:!1,supportsInSessionModeSwitch:!0,usesAcpConfig:!0,staticModels:[],permissionModes:[{value:"default",labelKey:"permissionDefault"},{value:"acceptEdits",labelKey:"permissionAutoEdit"},{value:"bypassPermissions",labelKey:"permissionFullAuto"}],defaultPermissionMode:"default"},openclaw:{controlLevel:3,supportsModel:!0,supportsSystemPrompt:!1,supportsToolConfig:!1,supportsMcpConfig:!1,supportsPermissionMode:!1,supportsResume:!1,supportsMaxTurns:!1,supportsSlashClear:!0,supportsSlashCompact:!1,supportsInSessionModelSwitch:!1,supportsInSessionModeSwitch:!1,usesAcpConfig:!0,staticModels:[],permissionModes:[],defaultPermissionMode:""}};let e={};export function updateDynamicModes(s,o){o.length!==0&&(e={...e,[s]:o.map(t=>({value:t.id,labelKey:t.label}))})}export function getDynamicModes(s){return e[s]??null}export function getAgentCapability(s){return AGENT_CAPABILITIES[s]??{controlLevel:0,supportsModel:!1,supportsSystemPrompt:!1,supportsToolConfig:!1,supportsMcpConfig:!1,supportsPermissionMode:!1,supportsResume:!1,supportsMaxTurns:!1,supportsSlashClear:!1,supportsSlashCompact:!1,supportsInSessionModelSwitch:!1,supportsInSessionModeSwitch:!1,usesAcpConfig:!1,staticModels:[],permissionModes:[],defaultPermissionMode:"default"}}export function normalizeModelId(s){return s.replace(/(\d+)\.(\d+)/g,"$1-$2")}
@@ -1 +1 @@
1
- "use strict";export const AGENT_INSTALL_GUIDE={claude:{minVersion:"1.0.0",install:{darwin:"curl -fsSL https://claude.ai/install.sh | bash",linux:"curl -fsSL https://claude.ai/install.sh | bash",win32:"irm https://claude.ai/install.ps1 | iex"},upgradeUrl:"https://code.claude.com/docs/en/overview"},copilot:{minVersion:"0.1.0",install:{darwin:"curl -fsSL https://claude.ai/install.sh | bash # then: see https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli",linux:"curl -fsSL https://claude.ai/install.sh | bash # then: see https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli",win32:"irm https://claude.ai/install.ps1 | iex # then: see https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli"},upgradeUrl:"https://docs.github.com/en/copilot/concepts/agents/about-copilot-cli"},codex:{minVersion:"0.43.0",install:{darwin:"npm install -g @openai/codex",linux:"npm install -g @openai/codex",win32:"npm install -g @openai/codex"},upgradeUrl:"https://github.com/openai/codex"},gemini:{minVersion:"0.1.0",install:{darwin:"npm install -g @google/gemini-cli",linux:"npm install -g @google/gemini-cli",win32:"npm install -g @google/gemini-cli"},upgradeUrl:"https://github.com/google-gemini/gemini-cli"},opencode:{minVersion:"0.1.0",install:{darwin:"curl -fsSL https://opencode.ai/install | bash",linux:"curl -fsSL https://opencode.ai/install | bash",win32:"npm install -g opencode-ai"},upgradeUrl:"https://opencode.ai"},hermes:{minVersion:"0.1.0",install:{darwin:"npm install -g hermes-agent",linux:"npm install -g hermes-agent",win32:"npm install -g hermes-agent"},upgradeUrl:""},openclaw:{minVersion:"2026.4.0",install:{darwin:"npm install -g openclaw",linux:"npm install -g openclaw",win32:"npm install -g openclaw"},upgradeUrl:"https://docs.openclaw.ai"},custom:{minVersion:"0.0.0",install:{darwin:"Install the custom agent CLI per its documentation",linux:"Install the custom agent CLI per its documentation",win32:"Install the custom agent CLI per its documentation"},upgradeUrl:""}};
1
+ "use strict";export const AGENT_INSTALL_GUIDE={claude:{minVersion:"2.1.0",install:{darwin:"curl -fsSL https://claude.ai/install.sh | bash",linux:"curl -fsSL https://claude.ai/install.sh | bash",win32:"irm https://claude.ai/install.ps1 | iex"},upgradeUrl:"https://code.claude.com/docs/en/overview"},copilot:{minVersion:"1.0.5",install:{darwin:"See https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli",linux:"See https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli",win32:"See https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli"},upgradeUrl:"https://docs.github.com/en/copilot/concepts/agents/about-copilot-cli"},codex:{minVersion:"0.100.0",install:{darwin:"npm install -g @openai/codex",linux:"npm install -g @openai/codex",win32:"npm install -g @openai/codex"},upgradeUrl:"https://github.com/openai/codex"},gemini:{minVersion:"0.38.0",install:{darwin:"npm install -g @google/gemini-cli",linux:"npm install -g @google/gemini-cli",win32:"npm install -g @google/gemini-cli"},upgradeUrl:"https://github.com/google-gemini/gemini-cli"},opencode:{minVersion:"0.1.0",install:{darwin:"curl -fsSL https://opencode.ai/install | bash",linux:"curl -fsSL https://opencode.ai/install | bash",win32:"npm install -g opencode-ai"},upgradeUrl:"https://opencode.ai"},hermes:{minVersion:"0.10.0",install:{darwin:"curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash",linux:"curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash",win32:"Install WSL2, then inside WSL: curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash"},upgradeUrl:"https://github.com/NousResearch/hermes-agent"},openclaw:{minVersion:"2026.4.0",install:{darwin:"npm install -g openclaw",linux:"npm install -g openclaw",win32:"Install WSL2, then inside WSL: npm install -g openclaw"},upgradeUrl:"https://docs.openclaw.ai"},custom:{minVersion:"0.0.0",install:{darwin:"Install the custom agent CLI per its documentation",linux:"Install the custom agent CLI per its documentation",win32:"Install the custom agent CLI per its documentation"},upgradeUrl:""}};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Session envelope schema — aligned with Happy sessionProtocol.
2
+ * Session envelope schema.
3
3
  *
4
4
  * Wraps a SessionEvent with metadata (id, time, role, turn, subagent).
5
5
  */
package/dist/events.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Session event schemas — aligned with Happy sessionProtocol.
2
+ * Session event schemas.
3
3
  *
4
4
  * Event types: text, service, tool-call-start, tool-call-end,
5
5
  * file, turn-start, turn-end, start, stop.
package/dist/index.d.ts CHANGED
@@ -16,12 +16,12 @@ export type { VersionedEncryptedValue, VersionedNullableEncryptedValue, Versione
16
16
  export { RpcMethod, type RpcMethodType, SESSION_RPC_METHODS, MACHINE_RPC_METHODS, DAEMON_REQUIRED_RPC_METHODS, RpcCallSchema, RpcResultSchema, SpawnSessionParamsSchema, GetMessagesParamsSchema, GetMessagesResponseSchema, MachineInfoResponseSchema, CheckPathParamsSchema, AGENT_ENV_NONE, AgentEnvConfigSchema, AgentSettingsSchema, LabsSettingsSchema, CustomModelSchema, SkillDefinitionSchema, } from './rpc.js';
17
17
  export type { RpcCall, RpcResult, SpawnSessionParams, CheckPathParams, GetMessagesParams, GetMessagesResponse, MachineInfoResponse, AgentEnvConfig, AgentSettings, LabsSettings, CustomModel, SkillDefinition, } from './rpc.js';
18
18
  export { AGENT_CAPABILITIES, getAgentCapability, updateDynamicModes, getDynamicModes, normalizeModelId, } from './agentCapabilities.js';
19
- export type { AgentCapability, AgentPermissionMode, AgentModelOption, } from './agentCapabilities.js';
19
+ export type { AgentCapability, AgentPermissionMode, AgentModelOption, ModelSource, } from './agentCapabilities.js';
20
20
  export { ModelUsageEntrySchema, DailyActivitySchema, DailyModelTokensSchema, LongestSessionSchema, ClaudeStatsDataSchema, ProjectSummarySchema, StatsOverviewSchema, AgentTypeUsageSchema, ActivityUploadSchema, UsageReportSchema, TokenTrendPointSchema, ModelBreakdownEntrySchema, QuotaConfigSchema, } from './stats.js';
21
21
  export type { StatsOverview, ClaudeStatsData, ProjectSummary, ModelUsageEntry as WireModelUsageEntry, DailyActivity as WireDailyActivity, LongestSession as WireLongestSession, AgentTypeUsage, ActivityUpload, UsageReport, TokenTrendPoint, ModelBreakdownEntry, QuotaConfig, QuotaStatusSchema, QuotaStatus, } from './stats.js';
22
22
  export { ControlLevel } from './controlLevel.js';
23
23
  export type { ControlLevelType } from './controlLevel.js';
24
- export { PairingState, PairingRequestSchema, PairingResponseSchema, PairingExchangeSchema, PairingDeliverSchema, PairingStatusSchema, } from './pairing.js';
24
+ export { PairingState, PairingRequestSchema, PairingResponseSchema, PairingExchangeSchema, PairingDeliverSchema, PairingStatusSchema, parseVersionByte, } from './pairing.js';
25
25
  export type { PairingRequest, PairingResponse, PairingExchange, PairingDeliver, PairingStatus, } from './pairing.js';
26
26
  export { PlatformSchema, SessionStatusSchema, MachineSummarySchema, MachineRegisterResultSchema, } from './machine.js';
27
27
  export type { Platform, SessionStatus, MachineSummary, MachineRegisterResult } from './machine.js';
@@ -48,8 +48,8 @@ export type { TelemetryEventType, TelemetryEvent, TelemetryReportPayload } from
48
48
  export * from './checkpointSchemas.js';
49
49
  export { OpsRpcMessageSchema, OpsMethodSchema, OpsRpcTypeSchema, FileEntrySchema, FileStatSchema, StorageUsageSchema, SyncUserSchema, SyncFullPayloadSchema, SyncUserCreatedPayloadSchema, SyncContainerStatusPayloadSchema, SyncUserPairedPayloadSchema, type OpsRpcMessage, type OpsMethod, type OpsRpcType, type OpsTunnelMetrics, type FileEntry, type FileStat, type StorageUsage, type SyncUser, type SyncFullPayload, type SyncUserCreatedPayload, type SyncContainerStatusPayload, type SyncUserPairedPayload, } from './ops.js';
50
50
  export * from './edition.js';
51
- export { LicensePayloadSchema, LicenseFileSchema } from './license.js';
52
- export type { LicensePayload, LicenseFile } from './license.js';
51
+ export { LicensePayloadSchema, LicenseFileSchema, EnterpriseLicenseSchema, PrivateLicenseSchema, } from './license.js';
52
+ export type { LicensePayload, LicenseFile, EnterpriseLicensePayload, PrivateLicensePayload, } from './license.js';
53
53
  export { FeedbackTypeSchema, FeedbackStatusSchema, DeviceInfoSchema, MachineSnapshotSchema, CreateFeedbackSchema, UpdateFeedbackSchema, } from './feedback.js';
54
54
  export type { FeedbackType, FeedbackStatus, DeviceInfo, MachineSnapshot, CreateFeedback, UpdateFeedback, } from './feedback.js';
55
55
  export interface SetupProgress {
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";export{SessionTextEventSchema,SessionServiceEventSchema,SessionToolCallStartEventSchema,SessionToolCallEndEventSchema,SessionFileEventSchema,SessionTurnStartEventSchema,SessionTurnEndEventSchema,SessionTurnEndStatusSchema,TurnUsageSchema,SessionStartEventSchema,SessionStopEventSchema,SessionEventSchema,SessionPermissionResolvedEventSchema,PermissionActionSchema,SessionImageEventSchema,ImageAttachmentSchema}from"./events.js";export{QuestionOptionSchema,SessionQuestionEventSchema,SessionPermissionRequestEventSchema,SessionAnswerEventSchema,AnswerQuestionParamsSchema,ApprovePermissionParamsSchema,DenyPermissionParamsSchema,PermissionModeSchema}from"./interactionEvents.js";export{SessionRoleSchema,SessionEnvelopeSchema,createEnvelope}from"./envelope.js";export{AgentTypeSchema,MessageMetaSchema,AGENT_TYPES,SPAWNABLE_AGENTS,CLI_AGENT_TYPES}from"./messageMeta.js";export{AGENT_SUPPORTS_IMAGES}from"./messageMeta.js";export{SessionMessageContentSchema,SessionMessageSchema,SessionProtocolMessageSchema,MessageContentSchema}from"./messages.js";export{UserMessageSchema,AgentMessageSchema,LegacyMessageContentSchema}from"./legacyProtocol.js";export{VersionedEncryptedValueSchema,VersionedNullableEncryptedValueSchema,VersionedMachineEncryptedValueSchema,UpdateNewMessageBodySchema,UpdateSessionBodySchema,UpdateMachineBodySchema,UpdateSessionResetBodySchema,CoreUpdateBodySchema,CoreUpdateContainerSchema}from"./sync.js";export{RpcMethod,SESSION_RPC_METHODS,MACHINE_RPC_METHODS,DAEMON_REQUIRED_RPC_METHODS,RpcCallSchema,RpcResultSchema,SpawnSessionParamsSchema,GetMessagesParamsSchema,GetMessagesResponseSchema,MachineInfoResponseSchema,CheckPathParamsSchema,AGENT_ENV_NONE,AgentEnvConfigSchema,AgentSettingsSchema,LabsSettingsSchema,CustomModelSchema,SkillDefinitionSchema}from"./rpc.js";export{AGENT_CAPABILITIES,getAgentCapability,updateDynamicModes,getDynamicModes,normalizeModelId}from"./agentCapabilities.js";export{ModelUsageEntrySchema,DailyActivitySchema,DailyModelTokensSchema,LongestSessionSchema,ClaudeStatsDataSchema,ProjectSummarySchema,StatsOverviewSchema,AgentTypeUsageSchema,ActivityUploadSchema,UsageReportSchema,TokenTrendPointSchema,ModelBreakdownEntrySchema,QuotaConfigSchema}from"./stats.js";export{ControlLevel}from"./controlLevel.js";export{PairingState,PairingRequestSchema,PairingResponseSchema,PairingExchangeSchema,PairingDeliverSchema,PairingStatusSchema}from"./pairing.js";export{PlatformSchema,SessionStatusSchema,MachineSummarySchema,MachineRegisterResultSchema}from"./machine.js";export{FEATURE_REGISTRY,isFeatureAvailable,getUnavailableFeatures,isSubFeatureAvailable,getSubFeatureMinVersion}from"./features.js";export{SessionResultSchema}from"./sessionResult.js";export{SpawnErrorCodeSchema,SpawnErrorSchema,createSpawnError}from"./spawnError.js";export{AGENT_INSTALL_GUIDE}from"./agentInstallGuide.js";export{AGENT_COMMON_ENV_VARS}from"./agentCommonEnv.js";export{RetryPolicySchema,MissedRunPolicySchema,ScheduledSpawnParamsSchema,TaskExecutionStatusSchema,TaskExecutionTriggerSchema,CreateScheduledTaskSchema,UpdateScheduledTaskSchema,ScheduledTaskSummarySchema,TaskExecutionSchema,CRON_RE}from"./scheduledTasks.js";export{PROTOCOL_VERSION}from"./protocol.js";export{parseSemver,compareVersions,satisfiesMin}from"./semver.js";export{createId}from"./utils.js";export{errorMessage}from"./errorMessage.js";export{SOCKET_EVENTS}from"./socketEvents.js";export{TelemetryEventTypeSchema,TelemetryEventSchema,TelemetryReportPayloadSchema,sanitizeContext}from"./telemetry.js";export*from"./checkpointSchemas.js";export{OpsRpcMessageSchema,OpsMethodSchema,OpsRpcTypeSchema,FileEntrySchema,FileStatSchema,StorageUsageSchema,SyncUserSchema,SyncFullPayloadSchema,SyncUserCreatedPayloadSchema,SyncContainerStatusPayloadSchema,SyncUserPairedPayloadSchema}from"./ops.js";export*from"./edition.js";export{LicensePayloadSchema,LicenseFileSchema}from"./license.js";export{FeedbackTypeSchema,FeedbackStatusSchema,DeviceInfoSchema,MachineSnapshotSchema,CreateFeedbackSchema,UpdateFeedbackSchema}from"./feedback.js";
1
+ "use strict";export{SessionTextEventSchema,SessionServiceEventSchema,SessionToolCallStartEventSchema,SessionToolCallEndEventSchema,SessionFileEventSchema,SessionTurnStartEventSchema,SessionTurnEndEventSchema,SessionTurnEndStatusSchema,TurnUsageSchema,SessionStartEventSchema,SessionStopEventSchema,SessionEventSchema,SessionPermissionResolvedEventSchema,PermissionActionSchema,SessionImageEventSchema,ImageAttachmentSchema}from"./events.js";export{QuestionOptionSchema,SessionQuestionEventSchema,SessionPermissionRequestEventSchema,SessionAnswerEventSchema,AnswerQuestionParamsSchema,ApprovePermissionParamsSchema,DenyPermissionParamsSchema,PermissionModeSchema}from"./interactionEvents.js";export{SessionRoleSchema,SessionEnvelopeSchema,createEnvelope}from"./envelope.js";export{AgentTypeSchema,MessageMetaSchema,AGENT_TYPES,SPAWNABLE_AGENTS,CLI_AGENT_TYPES}from"./messageMeta.js";export{AGENT_SUPPORTS_IMAGES}from"./messageMeta.js";export{SessionMessageContentSchema,SessionMessageSchema,SessionProtocolMessageSchema,MessageContentSchema}from"./messages.js";export{UserMessageSchema,AgentMessageSchema,LegacyMessageContentSchema}from"./legacyProtocol.js";export{VersionedEncryptedValueSchema,VersionedNullableEncryptedValueSchema,VersionedMachineEncryptedValueSchema,UpdateNewMessageBodySchema,UpdateSessionBodySchema,UpdateMachineBodySchema,UpdateSessionResetBodySchema,CoreUpdateBodySchema,CoreUpdateContainerSchema}from"./sync.js";export{RpcMethod,SESSION_RPC_METHODS,MACHINE_RPC_METHODS,DAEMON_REQUIRED_RPC_METHODS,RpcCallSchema,RpcResultSchema,SpawnSessionParamsSchema,GetMessagesParamsSchema,GetMessagesResponseSchema,MachineInfoResponseSchema,CheckPathParamsSchema,AGENT_ENV_NONE,AgentEnvConfigSchema,AgentSettingsSchema,LabsSettingsSchema,CustomModelSchema,SkillDefinitionSchema}from"./rpc.js";export{AGENT_CAPABILITIES,getAgentCapability,updateDynamicModes,getDynamicModes,normalizeModelId}from"./agentCapabilities.js";export{ModelUsageEntrySchema,DailyActivitySchema,DailyModelTokensSchema,LongestSessionSchema,ClaudeStatsDataSchema,ProjectSummarySchema,StatsOverviewSchema,AgentTypeUsageSchema,ActivityUploadSchema,UsageReportSchema,TokenTrendPointSchema,ModelBreakdownEntrySchema,QuotaConfigSchema}from"./stats.js";export{ControlLevel}from"./controlLevel.js";export{PairingState,PairingRequestSchema,PairingResponseSchema,PairingExchangeSchema,PairingDeliverSchema,PairingStatusSchema,parseVersionByte}from"./pairing.js";export{PlatformSchema,SessionStatusSchema,MachineSummarySchema,MachineRegisterResultSchema}from"./machine.js";export{FEATURE_REGISTRY,isFeatureAvailable,getUnavailableFeatures,isSubFeatureAvailable,getSubFeatureMinVersion}from"./features.js";export{SessionResultSchema}from"./sessionResult.js";export{SpawnErrorCodeSchema,SpawnErrorSchema,createSpawnError}from"./spawnError.js";export{AGENT_INSTALL_GUIDE}from"./agentInstallGuide.js";export{AGENT_COMMON_ENV_VARS}from"./agentCommonEnv.js";export{RetryPolicySchema,MissedRunPolicySchema,ScheduledSpawnParamsSchema,TaskExecutionStatusSchema,TaskExecutionTriggerSchema,CreateScheduledTaskSchema,UpdateScheduledTaskSchema,ScheduledTaskSummarySchema,TaskExecutionSchema,CRON_RE}from"./scheduledTasks.js";export{PROTOCOL_VERSION}from"./protocol.js";export{parseSemver,compareVersions,satisfiesMin}from"./semver.js";export{createId}from"./utils.js";export{errorMessage}from"./errorMessage.js";export{SOCKET_EVENTS}from"./socketEvents.js";export{TelemetryEventTypeSchema,TelemetryEventSchema,TelemetryReportPayloadSchema,sanitizeContext}from"./telemetry.js";export*from"./checkpointSchemas.js";export{OpsRpcMessageSchema,OpsMethodSchema,OpsRpcTypeSchema,FileEntrySchema,FileStatSchema,StorageUsageSchema,SyncUserSchema,SyncFullPayloadSchema,SyncUserCreatedPayloadSchema,SyncContainerStatusPayloadSchema,SyncUserPairedPayloadSchema}from"./ops.js";export*from"./edition.js";export{LicensePayloadSchema,LicenseFileSchema,EnterpriseLicenseSchema,PrivateLicenseSchema}from"./license.js";export{FeedbackTypeSchema,FeedbackStatusSchema,DeviceInfoSchema,MachineSnapshotSchema,CreateFeedbackSchema,UpdateFeedbackSchema}from"./feedback.js";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Legacy protocol — aligned with Happy legacyProtocol.ts.
2
+ * Legacy protocol.
3
3
  *
4
4
  * Defines UserMessage and AgentMessage for backward compatibility.
5
5
  */
package/dist/license.d.ts CHANGED
@@ -1,52 +1,141 @@
1
1
  import { z } from 'zod';
2
- export declare const LicensePayloadSchema: z.ZodObject<{
2
+ export declare const EnterpriseLicenseSchema: z.ZodObject<{
3
3
  licensee: z.ZodString;
4
- edition: z.ZodLiteral<"enterprise">;
5
- maxUsers: z.ZodNumber;
6
4
  expiresAt: z.ZodString;
7
5
  issuedAt: z.ZodString;
6
+ } & {
7
+ edition: z.ZodLiteral<"enterprise">;
8
+ maxUsers: z.ZodNumber;
8
9
  suffix: z.ZodString;
9
10
  }, "strip", z.ZodTypeAny, {
10
11
  licensee: string;
12
+ expiresAt: string;
13
+ issuedAt: string;
11
14
  edition: "enterprise";
12
15
  maxUsers: number;
16
+ suffix: string;
17
+ }, {
18
+ licensee: string;
13
19
  expiresAt: string;
14
20
  issuedAt: string;
21
+ edition: "enterprise";
22
+ maxUsers: number;
15
23
  suffix: string;
24
+ }>;
25
+ export declare const PrivateLicenseSchema: z.ZodObject<{
26
+ licensee: z.ZodString;
27
+ expiresAt: z.ZodString;
28
+ issuedAt: z.ZodString;
29
+ } & {
30
+ edition: z.ZodLiteral<"personal">;
31
+ domain: z.ZodString;
32
+ }, "strip", z.ZodTypeAny, {
33
+ licensee: string;
34
+ expiresAt: string;
35
+ issuedAt: string;
36
+ edition: "personal";
37
+ domain: string;
16
38
  }, {
17
39
  licensee: string;
40
+ expiresAt: string;
41
+ issuedAt: string;
42
+ edition: "personal";
43
+ domain: string;
44
+ }>;
45
+ export declare const LicensePayloadSchema: z.ZodDiscriminatedUnion<"edition", [z.ZodObject<{
46
+ licensee: z.ZodString;
47
+ expiresAt: z.ZodString;
48
+ issuedAt: z.ZodString;
49
+ } & {
50
+ edition: z.ZodLiteral<"enterprise">;
51
+ maxUsers: z.ZodNumber;
52
+ suffix: z.ZodString;
53
+ }, "strip", z.ZodTypeAny, {
54
+ licensee: string;
55
+ expiresAt: string;
56
+ issuedAt: string;
18
57
  edition: "enterprise";
19
58
  maxUsers: number;
59
+ suffix: string;
60
+ }, {
61
+ licensee: string;
20
62
  expiresAt: string;
21
63
  issuedAt: string;
64
+ edition: "enterprise";
65
+ maxUsers: number;
22
66
  suffix: string;
23
- }>;
67
+ }>, z.ZodObject<{
68
+ licensee: z.ZodString;
69
+ expiresAt: z.ZodString;
70
+ issuedAt: z.ZodString;
71
+ } & {
72
+ edition: z.ZodLiteral<"personal">;
73
+ domain: z.ZodString;
74
+ }, "strip", z.ZodTypeAny, {
75
+ licensee: string;
76
+ expiresAt: string;
77
+ issuedAt: string;
78
+ edition: "personal";
79
+ domain: string;
80
+ }, {
81
+ licensee: string;
82
+ expiresAt: string;
83
+ issuedAt: string;
84
+ edition: "personal";
85
+ domain: string;
86
+ }>]>;
24
87
  export type LicensePayload = z.infer<typeof LicensePayloadSchema>;
25
- export declare const LicenseFileSchema: z.ZodObject<{
88
+ export type EnterpriseLicensePayload = z.infer<typeof EnterpriseLicenseSchema>;
89
+ export type PrivateLicensePayload = z.infer<typeof PrivateLicenseSchema>;
90
+ export declare const LicenseFileSchema: z.ZodDiscriminatedUnion<"edition", [z.ZodObject<{
26
91
  licensee: z.ZodString;
27
- edition: z.ZodLiteral<"enterprise">;
28
- maxUsers: z.ZodNumber;
29
92
  expiresAt: z.ZodString;
30
93
  issuedAt: z.ZodString;
94
+ } & {
95
+ edition: z.ZodLiteral<"enterprise">;
96
+ maxUsers: z.ZodNumber;
31
97
  suffix: z.ZodString;
32
98
  } & {
33
99
  signature: z.ZodString;
34
100
  }, "strip", z.ZodTypeAny, {
35
101
  licensee: string;
36
- edition: "enterprise";
37
- maxUsers: number;
38
102
  expiresAt: string;
39
103
  issuedAt: string;
104
+ edition: "enterprise";
105
+ maxUsers: number;
40
106
  suffix: string;
41
107
  signature: string;
42
108
  }, {
43
109
  licensee: string;
110
+ expiresAt: string;
111
+ issuedAt: string;
44
112
  edition: "enterprise";
45
113
  maxUsers: number;
114
+ suffix: string;
115
+ signature: string;
116
+ }>, z.ZodObject<{
117
+ licensee: z.ZodString;
118
+ expiresAt: z.ZodString;
119
+ issuedAt: z.ZodString;
120
+ } & {
121
+ edition: z.ZodLiteral<"personal">;
122
+ domain: z.ZodString;
123
+ } & {
124
+ signature: z.ZodString;
125
+ }, "strip", z.ZodTypeAny, {
126
+ licensee: string;
46
127
  expiresAt: string;
47
128
  issuedAt: string;
48
- suffix: string;
129
+ edition: "personal";
130
+ domain: string;
49
131
  signature: string;
50
- }>;
132
+ }, {
133
+ licensee: string;
134
+ expiresAt: string;
135
+ issuedAt: string;
136
+ edition: "personal";
137
+ domain: string;
138
+ signature: string;
139
+ }>]>;
51
140
  export type LicenseFile = z.infer<typeof LicenseFileSchema>;
52
141
  //# sourceMappingURL=license.d.ts.map
package/dist/license.js CHANGED
@@ -1 +1 @@
1
- "use strict";import{z as e}from"zod";export const LicensePayloadSchema=e.object({licensee:e.string().min(1),edition:e.literal("enterprise"),maxUsers:e.number().int().positive(),expiresAt:e.string().regex(/^\d{4}-\d{2}-\d{2}$/),issuedAt:e.string().regex(/^\d{4}-\d{2}-\d{2}$/),suffix:e.string().min(1).max(32).regex(/^[a-z0-9_-]+$/)}),LicenseFileSchema=LicensePayloadSchema.extend({signature:e.string().min(1)});
1
+ "use strict";import{z as e}from"zod";const i=e.object({licensee:e.string().min(1),expiresAt:e.string().regex(/^\d{4}-\d{2}-\d{2}$/),issuedAt:e.string().regex(/^\d{4}-\d{2}-\d{2}$/)});export const EnterpriseLicenseSchema=i.extend({edition:e.literal("enterprise"),maxUsers:e.number().int().positive(),suffix:e.string().min(1).max(32).regex(/^[a-z0-9_-]+$/)}),PrivateLicenseSchema=i.extend({edition:e.literal("personal"),domain:e.string().min(1)}),LicensePayloadSchema=e.discriminatedUnion("edition",[EnterpriseLicenseSchema,PrivateLicenseSchema]),LicenseFileSchema=e.discriminatedUnion("edition",[EnterpriseLicenseSchema.extend({signature:e.string().min(1)}),PrivateLicenseSchema.extend({signature:e.string().min(1)})]);
package/dist/machine.d.ts CHANGED
@@ -40,6 +40,10 @@ export declare const MachineSummarySchema: z.ZodObject<{
40
40
  upgradeError: z.ZodOptional<z.ZodString>;
41
41
  /** True when this machine has been replaced by a new one (container rebuild). */
42
42
  superseded: z.ZodOptional<z.ZodBoolean>;
43
+ /** Content derivation version: 0=Happy EnCoder (legacy), 1=CCPark EnCoder. */
44
+ derivationVersion: z.ZodOptional<z.ZodNumber>;
45
+ /** Last daemon heartbeat timestamp (epoch ms). Updated every 30s while connected. */
46
+ lastHeartbeat: z.ZodOptional<z.ZodNumber>;
43
47
  }, "strip", z.ZodTypeAny, {
44
48
  id: string;
45
49
  createdAt: number;
@@ -60,6 +64,8 @@ export declare const MachineSummarySchema: z.ZodObject<{
60
64
  upgradeStatus?: "idle" | "failed" | "preflight" | "downloading" | "switching" | undefined;
61
65
  upgradeError?: string | undefined;
62
66
  superseded?: boolean | undefined;
67
+ derivationVersion?: number | undefined;
68
+ lastHeartbeat?: number | undefined;
63
69
  }, {
64
70
  id: string;
65
71
  createdAt: number;
@@ -80,6 +86,8 @@ export declare const MachineSummarySchema: z.ZodObject<{
80
86
  upgradeStatus?: "idle" | "failed" | "preflight" | "downloading" | "switching" | undefined;
81
87
  upgradeError?: string | undefined;
82
88
  superseded?: boolean | undefined;
89
+ derivationVersion?: number | undefined;
90
+ lastHeartbeat?: number | undefined;
83
91
  }>;
84
92
  export type MachineSummary = z.infer<typeof MachineSummarySchema>;
85
93
  export declare const MachineRegisterResultSchema: z.ZodObject<{
package/dist/machine.js CHANGED
@@ -1 +1 @@
1
- "use strict";import{z as o}from"zod";import{LabsSettingsSchema as n}from"./rpc.js";export const PlatformSchema=o.enum(["darwin","linux","win32"]),SessionStatusSchema=o.enum(["idle","thinking","tool_running","permission_required","disconnected"]),MachineSummarySchema=o.object({id:o.string(),hostname:o.string(),platform:PlatformSchema,arch:o.string().optional(),displayName:o.string().optional(),daemonVersion:o.string().optional(),active:o.boolean(),activeAt:o.number(),createdAt:o.number(),hasTerminal:o.boolean().optional(),activeSessions:o.number().optional(),totalSessions:o.number().optional(),availableAgents:o.array(o.string()).optional(),agentVersions:o.record(o.string()).optional(),supportedMethods:o.array(o.string()).optional(),disconnectReason:o.enum(["normal","upgrade-required"]).optional(),upgradeStatus:o.enum(["idle","preflight","downloading","switching","failed"]).optional(),upgradeError:o.string().optional(),superseded:o.boolean().optional()}),MachineRegisterResultSchema=o.object({ok:o.boolean(),error:o.string().optional(),latestVersion:o.string().optional(),labsSettings:n.optional()}),SetDefaultMachineBodySchema=o.object({machineId:o.string().nullable()});
1
+ "use strict";import{z as o}from"zod";import{LabsSettingsSchema as n}from"./rpc.js";export const PlatformSchema=o.enum(["darwin","linux","win32"]),SessionStatusSchema=o.enum(["idle","thinking","tool_running","permission_required","disconnected"]),MachineSummarySchema=o.object({id:o.string(),hostname:o.string(),platform:PlatformSchema,arch:o.string().optional(),displayName:o.string().optional(),daemonVersion:o.string().optional(),active:o.boolean(),activeAt:o.number(),createdAt:o.number(),hasTerminal:o.boolean().optional(),activeSessions:o.number().optional(),totalSessions:o.number().optional(),availableAgents:o.array(o.string()).optional(),agentVersions:o.record(o.string()).optional(),supportedMethods:o.array(o.string()).optional(),disconnectReason:o.enum(["normal","upgrade-required"]).optional(),upgradeStatus:o.enum(["idle","preflight","downloading","switching","failed"]).optional(),upgradeError:o.string().optional(),superseded:o.boolean().optional(),derivationVersion:o.number().int().min(0).optional(),lastHeartbeat:o.number().optional()}),MachineRegisterResultSchema=o.object({ok:o.boolean(),error:o.string().optional(),latestVersion:o.string().optional(),labsSettings:n.optional()}),SetDefaultMachineBodySchema=o.object({machineId:o.string().nullable()});
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Message schemas — aligned with Happy messages.ts.
2
+ * Message schemas.
3
3
  *
4
4
  * SessionMessage: encrypted content container.
5
5
  * Timestamps are Unix numbers (milliseconds).
package/dist/pairing.d.ts CHANGED
@@ -130,4 +130,14 @@ export type PairingResponse = z.infer<typeof PairingResponseSchema>;
130
130
  export type PairingExchange = z.infer<typeof PairingExchangeSchema>;
131
131
  export type PairingDeliver = z.infer<typeof PairingDeliverSchema>;
132
132
  export type PairingStatus = z.infer<typeof PairingStatusSchema>;
133
+ /**
134
+ * Parse derivation version from decrypted pairing payload.
135
+ * Version 1+: payload = [version_byte, ...masterSecret] (33 bytes)
136
+ * Version 0 (legacy): payload = masterSecret (32 bytes, no prefix)
137
+ * Returns null for unknown versions or unexpected lengths.
138
+ */
139
+ export declare function parseVersionByte(rawPayload: Uint8Array): {
140
+ masterSecret: Uint8Array;
141
+ derivationVersion: number;
142
+ } | null;
133
143
  //# sourceMappingURL=pairing.d.ts.map
package/dist/pairing.js CHANGED
@@ -1 +1 @@
1
- "use strict";import{z as e}from"zod";const o=e.string().regex(/^\d{6}$/,"PIN must be exactly 6 digits");export const PairingState=e.enum(["pending","exchange","authorized","expired"]);function s(i,c){if(!/^[A-Za-z0-9+/\-_]+=*$/.test(i))return!1;const n=i.replace(/-/g,"+").replace(/_/g,"/"),a=n.padEnd(n.length+(4-n.length%4)%4,"="),r=(a.match(/=+$/)??[""])[0].length;return a.length/4*3-r===c}const t=e.string().min(1).refine(i=>s(i,32),{message:"publicKey must be a base64-encoded 32-byte Curve25519 key"});export const PairingRequestSchema=e.object({publicKey:t,pin:o.optional(),label:e.string().max(100).optional(),type:e.enum(["join","invite"]).optional()}),PairingResponseSchema=e.object({publicKey:t,encryptedPayload:e.string().min(1)}),PairingExchangeSchema=e.object({daemonPublicKey:t,devicePublicKey:t}),PairingDeliverSchema=e.object({publicKey:t,encryptedPayload:e.string().min(1)});const g=e.object({state:e.literal("pending"),publicKey:e.string().min(1)}),l=e.object({state:e.literal("exchange"),publicKey:e.string().min(1),devicePublicKey:e.string().min(1)}),p=e.object({state:e.literal("authorized"),publicKey:e.string().min(1),encryptedPayload:e.string().min(1),token:e.string().min(1)}),d=e.object({state:e.literal("expired"),publicKey:e.string().min(1)});export const PairingStatusSchema=e.discriminatedUnion("state",[g,l,p,d]);
1
+ "use strict";import{z as e}from"zod";const o=e.string().regex(/^\d{6}$/,"PIN must be exactly 6 digits");export const PairingState=e.enum(["pending","exchange","authorized","expired"]);function a(t,c){if(!/^[A-Za-z0-9+/\-_]+=*$/.test(t))return!1;const i=t.replace(/-/g,"+").replace(/_/g,"/"),r=i.padEnd(i.length+(4-i.length%4)%4,"="),s=(r.match(/=+$/)??[""])[0].length;return r.length/4*3-s===c}const n=e.string().min(1).refine(t=>a(t,32),{message:"publicKey must be a base64-encoded 32-byte Curve25519 key"});export const PairingRequestSchema=e.object({publicKey:n,pin:o.optional(),label:e.string().max(100).optional(),type:e.enum(["join","invite"]).optional()}),PairingResponseSchema=e.object({publicKey:n,encryptedPayload:e.string().min(1)}),PairingExchangeSchema=e.object({daemonPublicKey:n,devicePublicKey:n}),PairingDeliverSchema=e.object({publicKey:n,encryptedPayload:e.string().min(1)});const g=e.object({state:e.literal("pending"),publicKey:e.string().min(1)}),l=e.object({state:e.literal("exchange"),publicKey:e.string().min(1),devicePublicKey:e.string().min(1)}),u=e.object({state:e.literal("authorized"),publicKey:e.string().min(1),encryptedPayload:e.string().min(1),token:e.string().min(1)}),p=e.object({state:e.literal("expired"),publicKey:e.string().min(1)});export const PairingStatusSchema=e.discriminatedUnion("state",[g,l,u,p]);const m=new Set([0,1]);export function parseVersionByte(t){return t.length===33&&t[0]!==void 0?m.has(t[0])?{masterSecret:t.slice(1),derivationVersion:t[0]}:null:t.length===32?{masterSecret:t,derivationVersion:0}:null}
package/dist/rpc.d.ts CHANGED
@@ -74,6 +74,14 @@ export declare const SpawnSessionParamsSchema: z.ZodObject<{
74
74
  maxTurns: z.ZodOptional<z.ZodNumber>;
75
75
  /** Target machine for multi-host routing. Omit for single-machine (auto-select). */
76
76
  machineId: z.ZodOptional<z.ZodString>;
77
+ /**
78
+ * Client-generated correlation id for matching the spawned session back to
79
+ * the originating spawn call. Written into session metadata and echoed in the
80
+ * update-session broadcast so the web client can identify which new session is
81
+ * its own (instead of guessing by cwd+machineId, which collides). New-session
82
+ * flow only — resume passes serverSessionId instead.
83
+ */
84
+ spawnToken: z.ZodOptional<z.ZodString>;
77
85
  /** Replace the default system prompt entirely (Claude CLI --system-prompt). */
78
86
  systemPrompt: z.ZodOptional<z.ZodString>;
79
87
  /** Load system prompt from a file path (Claude CLI --system-prompt-file). */
@@ -136,12 +144,15 @@ export declare const SpawnSessionParamsSchema: z.ZodObject<{
136
144
  source: z.ZodDefault<z.ZodEnum<["managed", "history", "scheduled"]>>;
137
145
  /** Run in background without a terminal window. Used by scheduled tasks. */
138
146
  background: z.ZodDefault<z.ZodBoolean>;
147
+ /** Use Windows Terminal new-tab instead of cmd /c start (Windows only). */
148
+ useWindowsTerminal: z.ZodOptional<z.ZodBoolean>;
139
149
  }, "strip", z.ZodTypeAny, {
140
150
  permissionMode: "default" | "acceptEdits" | "plan" | "bypassPermissions" | "autoEdit" | "read-only" | "safe-yolo" | "yolo" | "suggest" | "auto-edit" | "full-auto";
141
151
  agentType: "claude" | "copilot" | "opencode" | "codex" | "gemini" | "hermes" | "openclaw";
142
152
  cwd: string;
143
153
  source: "managed" | "history" | "scheduled";
144
154
  background: boolean;
155
+ env?: Record<string, string> | undefined;
145
156
  sessionId?: string | undefined;
146
157
  model?: string | undefined;
147
158
  fallbackModel?: string | undefined;
@@ -150,13 +161,13 @@ export declare const SpawnSessionParamsSchema: z.ZodObject<{
150
161
  disallowedTools?: string[] | undefined;
151
162
  agent?: string | undefined;
152
163
  prompt?: string | undefined;
153
- env?: Record<string, string> | undefined;
154
164
  baseUrl?: string | undefined;
155
165
  mcpConfig?: string | undefined;
156
166
  resumeSessionId?: string | undefined;
157
167
  serverSessionId?: string | undefined;
158
168
  maxTurns?: number | undefined;
159
169
  machineId?: string | undefined;
170
+ spawnToken?: string | undefined;
160
171
  systemPrompt?: string | undefined;
161
172
  systemPromptFile?: string | undefined;
162
173
  appendSystemPromptFile?: string | undefined;
@@ -183,9 +194,11 @@ export declare const SpawnSessionParamsSchema: z.ZodObject<{
183
194
  dangerouslySkipPermissions?: boolean | undefined;
184
195
  allowDangerouslySkipPermissions?: boolean | undefined;
185
196
  startupScripts?: string[] | undefined;
197
+ useWindowsTerminal?: boolean | undefined;
186
198
  }, {
187
199
  agentType: "claude" | "copilot" | "opencode" | "codex" | "gemini" | "hermes" | "openclaw";
188
200
  cwd: string;
201
+ env?: Record<string, string> | undefined;
189
202
  sessionId?: string | undefined;
190
203
  permissionMode?: "default" | "acceptEdits" | "plan" | "bypassPermissions" | "autoEdit" | "read-only" | "safe-yolo" | "yolo" | "suggest" | "auto-edit" | "full-auto" | undefined;
191
204
  model?: string | undefined;
@@ -195,13 +208,13 @@ export declare const SpawnSessionParamsSchema: z.ZodObject<{
195
208
  disallowedTools?: string[] | undefined;
196
209
  agent?: string | undefined;
197
210
  prompt?: string | undefined;
198
- env?: Record<string, string> | undefined;
199
211
  baseUrl?: string | undefined;
200
212
  mcpConfig?: string | undefined;
201
213
  resumeSessionId?: string | undefined;
202
214
  serverSessionId?: string | undefined;
203
215
  maxTurns?: number | undefined;
204
216
  machineId?: string | undefined;
217
+ spawnToken?: string | undefined;
205
218
  systemPrompt?: string | undefined;
206
219
  systemPromptFile?: string | undefined;
207
220
  appendSystemPromptFile?: string | undefined;
@@ -230,6 +243,7 @@ export declare const SpawnSessionParamsSchema: z.ZodObject<{
230
243
  startupScripts?: string[] | undefined;
231
244
  source?: "managed" | "history" | "scheduled" | undefined;
232
245
  background?: boolean | undefined;
246
+ useWindowsTerminal?: boolean | undefined;
233
247
  }>;
234
248
  export declare const GetMessagesParamsSchema: z.ZodObject<{
235
249
  sessionId: z.ZodString;
@@ -794,8 +808,10 @@ export declare const MachineInfoResponseSchema: z.ZodObject<{
794
808
  displayName: z.ZodString;
795
809
  isDefault: z.ZodBoolean;
796
810
  hidden: z.ZodBoolean;
811
+ source: z.ZodDefault<z.ZodOptional<z.ZodEnum<["builtin", "acp", "env", "custom"]>>>;
797
812
  }, "strip", z.ZodTypeAny, {
798
813
  id: string;
814
+ source: "custom" | "builtin" | "acp" | "env";
799
815
  displayName: string;
800
816
  isDefault: boolean;
801
817
  hidden: boolean;
@@ -804,6 +820,7 @@ export declare const MachineInfoResponseSchema: z.ZodObject<{
804
820
  displayName: string;
805
821
  isDefault: boolean;
806
822
  hidden: boolean;
823
+ source?: "custom" | "builtin" | "acp" | "env" | undefined;
807
824
  }>, "many">>>;
808
825
  agentModes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
809
826
  id: z.ZodString;
@@ -1250,6 +1267,7 @@ export declare const MachineInfoResponseSchema: z.ZodObject<{
1250
1267
  defaultCwd?: string | undefined;
1251
1268
  agentModels?: Record<string, {
1252
1269
  id: string;
1270
+ source: "custom" | "builtin" | "acp" | "env";
1253
1271
  displayName: string;
1254
1272
  isDefault: boolean;
1255
1273
  hidden: boolean;
@@ -1352,6 +1370,7 @@ export declare const MachineInfoResponseSchema: z.ZodObject<{
1352
1370
  displayName: string;
1353
1371
  isDefault: boolean;
1354
1372
  hidden: boolean;
1373
+ source?: "custom" | "builtin" | "acp" | "env" | undefined;
1355
1374
  }[]> | undefined;
1356
1375
  agentModes?: Record<string, {
1357
1376
  label: string;
package/dist/rpc.js CHANGED
@@ -1 +1 @@
1
- "use strict";import{z as o}from"zod";import{SessionMessageSchema as e}from"./messages.js";import{CLI_AGENT_TYPES as n,SPAWNABLE_AGENTS as s}from"./messageMeta.js";import{PermissionModeSchema as i}from"./interactionEvents.js";export const RpcMethod=o.enum(["spawn-session","stop-session","list-sessions","abort","switch-mode","approve-permission","deny-permission","answer-question","shutdown-daemon","get-messages","get-stats","get-team-stats","start-invite","get-machine-info","get-agent-settings","set-agent-settings","get-labs-settings","set-labs-settings","check-path","backfill-history-session","trigger-upgrade","checkpoint-list","checkpoint-diff","checkpoint-rollback","refresh-enterprise-models"]),SESSION_RPC_METHODS=["answer-question","approve-permission","deny-permission","abort","stop-session"],MACHINE_RPC_METHODS=["start-invite","get-machine-info","get-agent-settings","set-agent-settings","get-labs-settings","set-labs-settings","check-path","backfill-history-session","trigger-upgrade","checkpoint-list","checkpoint-diff","checkpoint-rollback","refresh-enterprise-models"],DAEMON_REQUIRED_RPC_METHODS=[...SESSION_RPC_METHODS,...MACHINE_RPC_METHODS],RpcCallSchema=o.object({method:o.string().min(1),params:o.unknown(),timeout:o.number().int().positive().default(3e4)}),RpcResultSchema=o.discriminatedUnion("ok",[o.object({ok:o.literal(!0),result:o.unknown()}),o.object({ok:o.literal(!1),error:o.string()})]),SpawnSessionParamsSchema=o.object({agentType:o.enum(n),cwd:o.string().min(1),prompt:o.string().optional(),permissionMode:i.default("default"),env:o.record(o.string()).optional(),model:o.string().optional(),baseUrl:o.string().url().optional(),appendSystemPrompt:o.string().optional(),allowedTools:o.array(o.string()).optional(),disallowedTools:o.array(o.string()).optional(),mcpConfig:o.string().optional(),resumeSessionId:o.string().optional(),serverSessionId:o.string().optional(),maxTurns:o.number().int().positive().optional(),machineId:o.string().min(1).optional(),systemPrompt:o.string().optional(),systemPromptFile:o.string().optional(),appendSystemPromptFile:o.string().optional(),fallbackModel:o.string().optional(),maxBudgetUsd:o.number().positive().optional(),tools:o.array(o.string()).optional(),effort:o.enum(["low","medium","high","xhigh","max"]).optional(),addDirs:o.array(o.string()).optional(),agent:o.string().optional(),agents:o.string().optional(),jsonSchema:o.string().optional(),strictMcpConfig:o.boolean().optional(),chrome:o.boolean().optional(),worktree:o.union([o.boolean(),o.string()]).optional(),forkSession:o.boolean().optional(),sessionId:o.string().uuid().optional(),settings:o.string().optional(),betas:o.array(o.string()).optional(),brief:o.boolean().optional(),noSessionPersistence:o.boolean().optional(),includePartialMessages:o.boolean().optional(),replayUserMessages:o.boolean().optional(),settingSources:o.string().optional(),disableSlashCommands:o.boolean().optional(),files:o.array(o.string()).optional(),pluginDirs:o.array(o.string()).optional(),dangerouslySkipPermissions:o.boolean().optional(),allowDangerouslySkipPermissions:o.boolean().optional(),startupScripts:o.array(o.string()).optional(),source:o.enum(["managed","history","scheduled"]).default("managed"),background:o.boolean().default(!1)}),GetMessagesParamsSchema=o.object({sessionId:o.string().min(1),fromSeq:o.number().int().nonnegative().optional(),limit:o.number().int().positive().default(100)}),GetMessagesResponseSchema=o.object({messages:o.array(e),total:o.number(),hasMore:o.boolean()}),CustomModelSchema=o.object({id:o.string().min(1),label:o.string().min(1)}),SkillDefinitionSchema=o.object({name:o.string().min(1),description:o.string(),userInvocable:o.boolean().default(!0),source:o.enum(["project","user"]).default("project"),projectPath:o.string().optional()}),AGENT_ENV_NONE="none",AgentEnvConfigSchema=o.object({httpProxy:o.string().optional(),httpsProxy:o.string().optional(),customEnv:o.record(o.string()).optional(),customModels:o.array(CustomModelSchema).optional()}),AgentSettingsSchema=o.object({defaults:AgentEnvConfigSchema.optional(),startupScripts:o.array(o.string()).optional(),telemetryEnabled:o.boolean().optional()}).merge(o.object(Object.fromEntries(s.map(t=>[t,AgentEnvConfigSchema.optional()])))),MachineInfoResponseSchema=o.object({homedir:o.string(),defaultCwd:o.string().optional(),recentCwds:o.array(o.string()),projectPaths:o.array(o.string()).optional().default([]),availableAgents:o.array(o.string()),agentModels:o.record(o.string(),o.array(o.object({id:o.string(),displayName:o.string(),isDefault:o.boolean(),hidden:o.boolean()}))).optional(),agentModes:o.record(o.string(),o.array(o.object({id:o.string(),label:o.string()}))).optional(),agentSettings:AgentSettingsSchema.optional(),agentSkills:o.record(o.string(),o.array(SkillDefinitionSchema)).optional()}),CheckPathParamsSchema=o.object({cwd:o.string().min(1),machineId:o.string().min(1).optional()}),LabsSettingsSchema=o.object({historySessionSync:o.boolean().default(!1)});
1
+ "use strict";import{z as o}from"zod";import{SessionMessageSchema as e}from"./messages.js";import{CLI_AGENT_TYPES as n,SPAWNABLE_AGENTS as s}from"./messageMeta.js";import{PermissionModeSchema as i}from"./interactionEvents.js";export const RpcMethod=o.enum(["spawn-session","stop-session","list-sessions","abort","switch-mode","approve-permission","deny-permission","answer-question","shutdown-daemon","get-messages","get-stats","get-team-stats","start-invite","get-machine-info","get-agent-settings","set-agent-settings","get-labs-settings","set-labs-settings","check-path","backfill-history-session","trigger-upgrade","checkpoint-list","checkpoint-diff","checkpoint-rollback","refresh-enterprise-models"]),SESSION_RPC_METHODS=["answer-question","approve-permission","deny-permission","abort","stop-session"],MACHINE_RPC_METHODS=["start-invite","get-machine-info","get-agent-settings","set-agent-settings","get-labs-settings","set-labs-settings","check-path","backfill-history-session","trigger-upgrade","checkpoint-list","checkpoint-diff","checkpoint-rollback","refresh-enterprise-models"],DAEMON_REQUIRED_RPC_METHODS=[...SESSION_RPC_METHODS,...MACHINE_RPC_METHODS],RpcCallSchema=o.object({method:o.string().min(1),params:o.unknown(),timeout:o.number().int().positive().default(3e4)}),RpcResultSchema=o.discriminatedUnion("ok",[o.object({ok:o.literal(!0),result:o.unknown()}),o.object({ok:o.literal(!1),error:o.string()})]),SpawnSessionParamsSchema=o.object({agentType:o.enum(n),cwd:o.string().min(1),prompt:o.string().optional(),permissionMode:i.default("default"),env:o.record(o.string()).optional(),model:o.string().optional(),baseUrl:o.string().url().optional(),appendSystemPrompt:o.string().optional(),allowedTools:o.array(o.string()).optional(),disallowedTools:o.array(o.string()).optional(),mcpConfig:o.string().optional(),resumeSessionId:o.string().optional(),serverSessionId:o.string().optional(),maxTurns:o.number().int().positive().optional(),machineId:o.string().min(1).optional(),spawnToken:o.string().optional(),systemPrompt:o.string().optional(),systemPromptFile:o.string().optional(),appendSystemPromptFile:o.string().optional(),fallbackModel:o.string().optional(),maxBudgetUsd:o.number().positive().optional(),tools:o.array(o.string()).optional(),effort:o.enum(["low","medium","high","xhigh","max"]).optional(),addDirs:o.array(o.string()).optional(),agent:o.string().optional(),agents:o.string().optional(),jsonSchema:o.string().optional(),strictMcpConfig:o.boolean().optional(),chrome:o.boolean().optional(),worktree:o.union([o.boolean(),o.string()]).optional(),forkSession:o.boolean().optional(),sessionId:o.string().uuid().optional(),settings:o.string().optional(),betas:o.array(o.string()).optional(),brief:o.boolean().optional(),noSessionPersistence:o.boolean().optional(),includePartialMessages:o.boolean().optional(),replayUserMessages:o.boolean().optional(),settingSources:o.string().optional(),disableSlashCommands:o.boolean().optional(),files:o.array(o.string()).optional(),pluginDirs:o.array(o.string()).optional(),dangerouslySkipPermissions:o.boolean().optional(),allowDangerouslySkipPermissions:o.boolean().optional(),startupScripts:o.array(o.string()).optional(),source:o.enum(["managed","history","scheduled"]).default("managed"),background:o.boolean().default(!1),useWindowsTerminal:o.boolean().optional()}),GetMessagesParamsSchema=o.object({sessionId:o.string().min(1),fromSeq:o.number().int().nonnegative().optional(),limit:o.number().int().positive().default(100)}),GetMessagesResponseSchema=o.object({messages:o.array(e),total:o.number(),hasMore:o.boolean()}),CustomModelSchema=o.object({id:o.string().min(1),label:o.string().min(1)}),SkillDefinitionSchema=o.object({name:o.string().min(1),description:o.string(),userInvocable:o.boolean().default(!0),source:o.enum(["project","user"]).default("project"),projectPath:o.string().optional()}),AGENT_ENV_NONE="none",AgentEnvConfigSchema=o.object({httpProxy:o.string().optional(),httpsProxy:o.string().optional(),customEnv:o.record(o.string()).optional(),customModels:o.array(CustomModelSchema).optional()}),AgentSettingsSchema=o.object({defaults:AgentEnvConfigSchema.optional(),startupScripts:o.array(o.string()).optional(),telemetryEnabled:o.boolean().optional()}).merge(o.object(Object.fromEntries(s.map(t=>[t,AgentEnvConfigSchema.optional()])))),MachineInfoResponseSchema=o.object({homedir:o.string(),defaultCwd:o.string().optional(),recentCwds:o.array(o.string()),projectPaths:o.array(o.string()).optional().default([]),availableAgents:o.array(o.string()),agentModels:o.record(o.string(),o.array(o.object({id:o.string(),displayName:o.string(),isDefault:o.boolean(),hidden:o.boolean(),source:o.enum(["builtin","acp","env","custom"]).optional().default("acp")}))).optional(),agentModes:o.record(o.string(),o.array(o.object({id:o.string(),label:o.string()}))).optional(),agentSettings:AgentSettingsSchema.optional(),agentSkills:o.record(o.string(),o.array(SkillDefinitionSchema)).optional()}),CheckPathParamsSchema=o.object({cwd:o.string().min(1),machineId:o.string().min(1).optional()}),LabsSettingsSchema=o.object({historySessionSync:o.boolean().default(!1)});
@@ -7,12 +7,12 @@ export declare const SOCKET_EVENTS: Readonly<{
7
7
  readonly HISTORY_SYNC_RESULT: "history-sync-result";
8
8
  readonly BACKFILL_PROGRESS: "backfill-progress";
9
9
  readonly MACHINE_STATUS_UPDATE: "machine-status-update";
10
- readonly DYNAMIC_MODES_UPDATED: "dynamic-modes-updated";
11
10
  readonly TELEMETRY_REPORT: "telemetry-report";
12
11
  readonly UPDATE: "update";
13
12
  readonly EPHEMERAL: "ephemeral";
14
13
  readonly ENTERPRISE_ALERT: "enterprise-alert";
15
14
  readonly ACTIVITY_PREFERENCES_CHANGED: "activity-preferences-changed";
15
+ readonly IMPROVEMENT_PREFERENCES_CHANGED: "improvement-preferences-changed";
16
16
  readonly SESSION_CREATE: "session-create";
17
17
  readonly LIST_SESSIONS: "list-sessions";
18
18
  readonly UPDATE_METADATA: "update-metadata";
@@ -21,6 +21,7 @@ export declare const SOCKET_EVENTS: Readonly<{
21
21
  readonly PROVISION_SESSION_DEK: "provision-session-dek";
22
22
  readonly RENAME_SESSION: "rename-session";
23
23
  readonly SESSION_END: "session-end";
24
+ readonly SESSION_DELETE: "delete-session";
24
25
  readonly SESSION_SUMMARY: "session-summary";
25
26
  readonly GET_MESSAGES: "get-messages";
26
27
  readonly MESSAGE: "message";
@@ -31,6 +32,7 @@ export declare const SOCKET_EVENTS: Readonly<{
31
32
  readonly CLIENT_VISIBILITY: "client-visibility";
32
33
  readonly MACHINE_REGISTER: "machine-register";
33
34
  readonly MACHINE_HEARTBEAT: "machine-heartbeat";
35
+ readonly AGENT_CACHE_UPDATED: "agent-cache-updated";
34
36
  readonly GET_KNOWN_CLAUDE_SESSIONS: "get-known-claude-sessions";
35
37
  readonly REGISTER_HISTORY_SESSIONS: "register-history-sessions";
36
38
  readonly UPDATE_SYNC_STATUS: "update-sync-status";
@@ -1 +1 @@
1
- "use strict";export const SOCKET_EVENTS=Object.freeze({SESSION_STATUS:"session-status",PERMISSION_RESOLVED:"permission-resolved",CORE_UPDATE:"core-update",USAGE_REPORT:"usage-report",RPC_REQUEST:"rpc-request",HISTORY_SYNC_RESULT:"history-sync-result",BACKFILL_PROGRESS:"backfill-progress",MACHINE_STATUS_UPDATE:"machine-status-update",DYNAMIC_MODES_UPDATED:"dynamic-modes-updated",TELEMETRY_REPORT:"telemetry-report",UPDATE:"update",EPHEMERAL:"ephemeral",ENTERPRISE_ALERT:"enterprise-alert",ACTIVITY_PREFERENCES_CHANGED:"activity-preferences-changed",SESSION_CREATE:"session-create",LIST_SESSIONS:"list-sessions",UPDATE_METADATA:"update-metadata",UPDATE_STATE:"update-state",SESSION_ALIVE:"session-alive",PROVISION_SESSION_DEK:"provision-session-dek",RENAME_SESSION:"rename-session",SESSION_END:"session-end",SESSION_SUMMARY:"session-summary",GET_MESSAGES:"get-messages",MESSAGE:"message",BATCH_MESSAGE:"batch-message",RPC_REGISTER:"rpc-register",RPC_UNREGISTER:"rpc-unregister",RPC_CALL:"rpc-call",CLIENT_VISIBILITY:"client-visibility",MACHINE_REGISTER:"machine-register",MACHINE_HEARTBEAT:"machine-heartbeat",GET_KNOWN_CLAUDE_SESSIONS:"get-known-claude-sessions",REGISTER_HISTORY_SESSIONS:"register-history-sessions",UPDATE_SYNC_STATUS:"update-sync-status"});
1
+ "use strict";export const SOCKET_EVENTS=Object.freeze({SESSION_STATUS:"session-status",PERMISSION_RESOLVED:"permission-resolved",CORE_UPDATE:"core-update",USAGE_REPORT:"usage-report",RPC_REQUEST:"rpc-request",HISTORY_SYNC_RESULT:"history-sync-result",BACKFILL_PROGRESS:"backfill-progress",MACHINE_STATUS_UPDATE:"machine-status-update",TELEMETRY_REPORT:"telemetry-report",UPDATE:"update",EPHEMERAL:"ephemeral",ENTERPRISE_ALERT:"enterprise-alert",ACTIVITY_PREFERENCES_CHANGED:"activity-preferences-changed",IMPROVEMENT_PREFERENCES_CHANGED:"improvement-preferences-changed",SESSION_CREATE:"session-create",LIST_SESSIONS:"list-sessions",UPDATE_METADATA:"update-metadata",UPDATE_STATE:"update-state",SESSION_ALIVE:"session-alive",PROVISION_SESSION_DEK:"provision-session-dek",RENAME_SESSION:"rename-session",SESSION_END:"session-end",SESSION_DELETE:"delete-session",SESSION_SUMMARY:"session-summary",GET_MESSAGES:"get-messages",MESSAGE:"message",BATCH_MESSAGE:"batch-message",RPC_REGISTER:"rpc-register",RPC_UNREGISTER:"rpc-unregister",RPC_CALL:"rpc-call",CLIENT_VISIBILITY:"client-visibility",MACHINE_REGISTER:"machine-register",MACHINE_HEARTBEAT:"machine-heartbeat",AGENT_CACHE_UPDATED:"agent-cache-updated",GET_KNOWN_CLAUDE_SESSIONS:"get-known-claude-sessions",REGISTER_HISTORY_SESSIONS:"register-history-sessions",UPDATE_SYNC_STATUS:"update-sync-status"});
package/dist/sync.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Sync update protocol — aligned with Happy messages.ts.
2
+ * Sync update protocol.
3
3
  *
4
4
  * Defines CoreUpdateContainer and its body types for real-time state sync.
5
5
  */
@@ -210,11 +210,52 @@ export declare const UpdateMachineBodySchema: z.ZodObject<{
210
210
  upgradeStatus: z.ZodOptional<z.ZodEnum<["idle", "preflight", "downloading", "switching", "failed"]>>;
211
211
  upgradeError: z.ZodOptional<z.ZodString>;
212
212
  superseded: z.ZodOptional<z.ZodBoolean>;
213
+ derivationVersion: z.ZodOptional<z.ZodNumber>;
214
+ agentModels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
215
+ id: z.ZodString;
216
+ displayName: z.ZodString;
217
+ isDefault: z.ZodBoolean;
218
+ hidden: z.ZodBoolean;
219
+ source: z.ZodDefault<z.ZodOptional<z.ZodEnum<["builtin", "acp", "env", "custom"]>>>;
220
+ }, "strip", z.ZodTypeAny, {
221
+ id: string;
222
+ source: "custom" | "builtin" | "acp" | "env";
223
+ displayName: string;
224
+ isDefault: boolean;
225
+ hidden: boolean;
226
+ }, {
227
+ id: string;
228
+ displayName: string;
229
+ isDefault: boolean;
230
+ hidden: boolean;
231
+ source?: "custom" | "builtin" | "acp" | "env" | undefined;
232
+ }>, "many">>>;
233
+ agentModes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
234
+ id: z.ZodString;
235
+ label: z.ZodString;
236
+ }, "strip", z.ZodTypeAny, {
237
+ label: string;
238
+ id: string;
239
+ }, {
240
+ label: string;
241
+ id: string;
242
+ }>, "many">>>;
213
243
  }, "strip", z.ZodTypeAny, {
214
244
  t: "update-machine";
215
245
  machineId: string;
216
246
  availableAgents?: string[] | undefined;
217
247
  displayName?: string | undefined;
248
+ agentModels?: Record<string, {
249
+ id: string;
250
+ source: "custom" | "builtin" | "acp" | "env";
251
+ displayName: string;
252
+ isDefault: boolean;
253
+ hidden: boolean;
254
+ }[]> | undefined;
255
+ agentModes?: Record<string, {
256
+ label: string;
257
+ id: string;
258
+ }[]> | undefined;
218
259
  hostname?: string | undefined;
219
260
  platform?: "darwin" | "linux" | "win32" | undefined;
220
261
  arch?: string | undefined;
@@ -226,6 +267,7 @@ export declare const UpdateMachineBodySchema: z.ZodObject<{
226
267
  upgradeStatus?: "idle" | "failed" | "preflight" | "downloading" | "switching" | undefined;
227
268
  upgradeError?: string | undefined;
228
269
  superseded?: boolean | undefined;
270
+ derivationVersion?: number | undefined;
229
271
  metadata?: {
230
272
  value: string;
231
273
  version: number;
@@ -239,6 +281,17 @@ export declare const UpdateMachineBodySchema: z.ZodObject<{
239
281
  machineId: string;
240
282
  availableAgents?: string[] | undefined;
241
283
  displayName?: string | undefined;
284
+ agentModels?: Record<string, {
285
+ id: string;
286
+ displayName: string;
287
+ isDefault: boolean;
288
+ hidden: boolean;
289
+ source?: "custom" | "builtin" | "acp" | "env" | undefined;
290
+ }[]> | undefined;
291
+ agentModes?: Record<string, {
292
+ label: string;
293
+ id: string;
294
+ }[]> | undefined;
242
295
  hostname?: string | undefined;
243
296
  platform?: "darwin" | "linux" | "win32" | undefined;
244
297
  arch?: string | undefined;
@@ -250,6 +303,7 @@ export declare const UpdateMachineBodySchema: z.ZodObject<{
250
303
  upgradeStatus?: "idle" | "failed" | "preflight" | "downloading" | "switching" | undefined;
251
304
  upgradeError?: string | undefined;
252
305
  superseded?: boolean | undefined;
306
+ derivationVersion?: number | undefined;
253
307
  metadata?: {
254
308
  value: string;
255
309
  version: number;
@@ -271,6 +325,17 @@ export declare const UpdateSessionResetBodySchema: z.ZodObject<{
271
325
  sessionId: string;
272
326
  }>;
273
327
  export type UpdateSessionResetBody = z.infer<typeof UpdateSessionResetBodySchema>;
328
+ export declare const UpdateDeleteSessionBodySchema: z.ZodObject<{
329
+ t: z.ZodLiteral<"delete-session">;
330
+ id: z.ZodString;
331
+ }, "strip", z.ZodTypeAny, {
332
+ t: "delete-session";
333
+ id: string;
334
+ }, {
335
+ t: "delete-session";
336
+ id: string;
337
+ }>;
338
+ export type UpdateDeleteSessionBody = z.infer<typeof UpdateDeleteSessionBodySchema>;
274
339
  export declare const CoreUpdateBodySchema: z.ZodDiscriminatedUnion<"t", [z.ZodObject<{
275
340
  t: z.ZodLiteral<"new-message">;
276
341
  sid: z.ZodString;
@@ -440,11 +505,52 @@ export declare const CoreUpdateBodySchema: z.ZodDiscriminatedUnion<"t", [z.ZodOb
440
505
  upgradeStatus: z.ZodOptional<z.ZodEnum<["idle", "preflight", "downloading", "switching", "failed"]>>;
441
506
  upgradeError: z.ZodOptional<z.ZodString>;
442
507
  superseded: z.ZodOptional<z.ZodBoolean>;
508
+ derivationVersion: z.ZodOptional<z.ZodNumber>;
509
+ agentModels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
510
+ id: z.ZodString;
511
+ displayName: z.ZodString;
512
+ isDefault: z.ZodBoolean;
513
+ hidden: z.ZodBoolean;
514
+ source: z.ZodDefault<z.ZodOptional<z.ZodEnum<["builtin", "acp", "env", "custom"]>>>;
515
+ }, "strip", z.ZodTypeAny, {
516
+ id: string;
517
+ source: "custom" | "builtin" | "acp" | "env";
518
+ displayName: string;
519
+ isDefault: boolean;
520
+ hidden: boolean;
521
+ }, {
522
+ id: string;
523
+ displayName: string;
524
+ isDefault: boolean;
525
+ hidden: boolean;
526
+ source?: "custom" | "builtin" | "acp" | "env" | undefined;
527
+ }>, "many">>>;
528
+ agentModes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
529
+ id: z.ZodString;
530
+ label: z.ZodString;
531
+ }, "strip", z.ZodTypeAny, {
532
+ label: string;
533
+ id: string;
534
+ }, {
535
+ label: string;
536
+ id: string;
537
+ }>, "many">>>;
443
538
  }, "strip", z.ZodTypeAny, {
444
539
  t: "update-machine";
445
540
  machineId: string;
446
541
  availableAgents?: string[] | undefined;
447
542
  displayName?: string | undefined;
543
+ agentModels?: Record<string, {
544
+ id: string;
545
+ source: "custom" | "builtin" | "acp" | "env";
546
+ displayName: string;
547
+ isDefault: boolean;
548
+ hidden: boolean;
549
+ }[]> | undefined;
550
+ agentModes?: Record<string, {
551
+ label: string;
552
+ id: string;
553
+ }[]> | undefined;
448
554
  hostname?: string | undefined;
449
555
  platform?: "darwin" | "linux" | "win32" | undefined;
450
556
  arch?: string | undefined;
@@ -456,6 +562,7 @@ export declare const CoreUpdateBodySchema: z.ZodDiscriminatedUnion<"t", [z.ZodOb
456
562
  upgradeStatus?: "idle" | "failed" | "preflight" | "downloading" | "switching" | undefined;
457
563
  upgradeError?: string | undefined;
458
564
  superseded?: boolean | undefined;
565
+ derivationVersion?: number | undefined;
459
566
  metadata?: {
460
567
  value: string;
461
568
  version: number;
@@ -469,6 +576,17 @@ export declare const CoreUpdateBodySchema: z.ZodDiscriminatedUnion<"t", [z.ZodOb
469
576
  machineId: string;
470
577
  availableAgents?: string[] | undefined;
471
578
  displayName?: string | undefined;
579
+ agentModels?: Record<string, {
580
+ id: string;
581
+ displayName: string;
582
+ isDefault: boolean;
583
+ hidden: boolean;
584
+ source?: "custom" | "builtin" | "acp" | "env" | undefined;
585
+ }[]> | undefined;
586
+ agentModes?: Record<string, {
587
+ label: string;
588
+ id: string;
589
+ }[]> | undefined;
472
590
  hostname?: string | undefined;
473
591
  platform?: "darwin" | "linux" | "win32" | undefined;
474
592
  arch?: string | undefined;
@@ -480,6 +598,7 @@ export declare const CoreUpdateBodySchema: z.ZodDiscriminatedUnion<"t", [z.ZodOb
480
598
  upgradeStatus?: "idle" | "failed" | "preflight" | "downloading" | "switching" | undefined;
481
599
  upgradeError?: string | undefined;
482
600
  superseded?: boolean | undefined;
601
+ derivationVersion?: number | undefined;
483
602
  metadata?: {
484
603
  value: string;
485
604
  version: number;
@@ -497,6 +616,15 @@ export declare const CoreUpdateBodySchema: z.ZodDiscriminatedUnion<"t", [z.ZodOb
497
616
  }, {
498
617
  t: "session-reset";
499
618
  sessionId: string;
619
+ }>, z.ZodObject<{
620
+ t: z.ZodLiteral<"delete-session">;
621
+ id: z.ZodString;
622
+ }, "strip", z.ZodTypeAny, {
623
+ t: "delete-session";
624
+ id: string;
625
+ }, {
626
+ t: "delete-session";
627
+ id: string;
500
628
  }>]>;
501
629
  export type CoreUpdateBody = z.infer<typeof CoreUpdateBodySchema>;
502
630
  export declare const CoreUpdateContainerSchema: z.ZodObject<{
@@ -671,11 +799,52 @@ export declare const CoreUpdateContainerSchema: z.ZodObject<{
671
799
  upgradeStatus: z.ZodOptional<z.ZodEnum<["idle", "preflight", "downloading", "switching", "failed"]>>;
672
800
  upgradeError: z.ZodOptional<z.ZodString>;
673
801
  superseded: z.ZodOptional<z.ZodBoolean>;
802
+ derivationVersion: z.ZodOptional<z.ZodNumber>;
803
+ agentModels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
804
+ id: z.ZodString;
805
+ displayName: z.ZodString;
806
+ isDefault: z.ZodBoolean;
807
+ hidden: z.ZodBoolean;
808
+ source: z.ZodDefault<z.ZodOptional<z.ZodEnum<["builtin", "acp", "env", "custom"]>>>;
809
+ }, "strip", z.ZodTypeAny, {
810
+ id: string;
811
+ source: "custom" | "builtin" | "acp" | "env";
812
+ displayName: string;
813
+ isDefault: boolean;
814
+ hidden: boolean;
815
+ }, {
816
+ id: string;
817
+ displayName: string;
818
+ isDefault: boolean;
819
+ hidden: boolean;
820
+ source?: "custom" | "builtin" | "acp" | "env" | undefined;
821
+ }>, "many">>>;
822
+ agentModes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
823
+ id: z.ZodString;
824
+ label: z.ZodString;
825
+ }, "strip", z.ZodTypeAny, {
826
+ label: string;
827
+ id: string;
828
+ }, {
829
+ label: string;
830
+ id: string;
831
+ }>, "many">>>;
674
832
  }, "strip", z.ZodTypeAny, {
675
833
  t: "update-machine";
676
834
  machineId: string;
677
835
  availableAgents?: string[] | undefined;
678
836
  displayName?: string | undefined;
837
+ agentModels?: Record<string, {
838
+ id: string;
839
+ source: "custom" | "builtin" | "acp" | "env";
840
+ displayName: string;
841
+ isDefault: boolean;
842
+ hidden: boolean;
843
+ }[]> | undefined;
844
+ agentModes?: Record<string, {
845
+ label: string;
846
+ id: string;
847
+ }[]> | undefined;
679
848
  hostname?: string | undefined;
680
849
  platform?: "darwin" | "linux" | "win32" | undefined;
681
850
  arch?: string | undefined;
@@ -687,6 +856,7 @@ export declare const CoreUpdateContainerSchema: z.ZodObject<{
687
856
  upgradeStatus?: "idle" | "failed" | "preflight" | "downloading" | "switching" | undefined;
688
857
  upgradeError?: string | undefined;
689
858
  superseded?: boolean | undefined;
859
+ derivationVersion?: number | undefined;
690
860
  metadata?: {
691
861
  value: string;
692
862
  version: number;
@@ -700,6 +870,17 @@ export declare const CoreUpdateContainerSchema: z.ZodObject<{
700
870
  machineId: string;
701
871
  availableAgents?: string[] | undefined;
702
872
  displayName?: string | undefined;
873
+ agentModels?: Record<string, {
874
+ id: string;
875
+ displayName: string;
876
+ isDefault: boolean;
877
+ hidden: boolean;
878
+ source?: "custom" | "builtin" | "acp" | "env" | undefined;
879
+ }[]> | undefined;
880
+ agentModes?: Record<string, {
881
+ label: string;
882
+ id: string;
883
+ }[]> | undefined;
703
884
  hostname?: string | undefined;
704
885
  platform?: "darwin" | "linux" | "win32" | undefined;
705
886
  arch?: string | undefined;
@@ -711,6 +892,7 @@ export declare const CoreUpdateContainerSchema: z.ZodObject<{
711
892
  upgradeStatus?: "idle" | "failed" | "preflight" | "downloading" | "switching" | undefined;
712
893
  upgradeError?: string | undefined;
713
894
  superseded?: boolean | undefined;
895
+ derivationVersion?: number | undefined;
714
896
  metadata?: {
715
897
  value: string;
716
898
  version: number;
@@ -728,6 +910,15 @@ export declare const CoreUpdateContainerSchema: z.ZodObject<{
728
910
  }, {
729
911
  t: "session-reset";
730
912
  sessionId: string;
913
+ }>, z.ZodObject<{
914
+ t: z.ZodLiteral<"delete-session">;
915
+ id: z.ZodString;
916
+ }, "strip", z.ZodTypeAny, {
917
+ t: "delete-session";
918
+ id: string;
919
+ }, {
920
+ t: "delete-session";
921
+ id: string;
731
922
  }>]>;
732
923
  createdAt: z.ZodNumber;
733
924
  }, "strip", z.ZodTypeAny, {
@@ -770,6 +961,17 @@ export declare const CoreUpdateContainerSchema: z.ZodObject<{
770
961
  machineId: string;
771
962
  availableAgents?: string[] | undefined;
772
963
  displayName?: string | undefined;
964
+ agentModels?: Record<string, {
965
+ id: string;
966
+ source: "custom" | "builtin" | "acp" | "env";
967
+ displayName: string;
968
+ isDefault: boolean;
969
+ hidden: boolean;
970
+ }[]> | undefined;
971
+ agentModes?: Record<string, {
972
+ label: string;
973
+ id: string;
974
+ }[]> | undefined;
773
975
  hostname?: string | undefined;
774
976
  platform?: "darwin" | "linux" | "win32" | undefined;
775
977
  arch?: string | undefined;
@@ -781,6 +983,7 @@ export declare const CoreUpdateContainerSchema: z.ZodObject<{
781
983
  upgradeStatus?: "idle" | "failed" | "preflight" | "downloading" | "switching" | undefined;
782
984
  upgradeError?: string | undefined;
783
985
  superseded?: boolean | undefined;
986
+ derivationVersion?: number | undefined;
784
987
  metadata?: {
785
988
  value: string;
786
989
  version: number;
@@ -792,6 +995,9 @@ export declare const CoreUpdateContainerSchema: z.ZodObject<{
792
995
  } | {
793
996
  t: "session-reset";
794
997
  sessionId: string;
998
+ } | {
999
+ t: "delete-session";
1000
+ id: string;
795
1001
  };
796
1002
  }, {
797
1003
  id: string;
@@ -833,6 +1039,17 @@ export declare const CoreUpdateContainerSchema: z.ZodObject<{
833
1039
  machineId: string;
834
1040
  availableAgents?: string[] | undefined;
835
1041
  displayName?: string | undefined;
1042
+ agentModels?: Record<string, {
1043
+ id: string;
1044
+ displayName: string;
1045
+ isDefault: boolean;
1046
+ hidden: boolean;
1047
+ source?: "custom" | "builtin" | "acp" | "env" | undefined;
1048
+ }[]> | undefined;
1049
+ agentModes?: Record<string, {
1050
+ label: string;
1051
+ id: string;
1052
+ }[]> | undefined;
836
1053
  hostname?: string | undefined;
837
1054
  platform?: "darwin" | "linux" | "win32" | undefined;
838
1055
  arch?: string | undefined;
@@ -844,6 +1061,7 @@ export declare const CoreUpdateContainerSchema: z.ZodObject<{
844
1061
  upgradeStatus?: "idle" | "failed" | "preflight" | "downloading" | "switching" | undefined;
845
1062
  upgradeError?: string | undefined;
846
1063
  superseded?: boolean | undefined;
1064
+ derivationVersion?: number | undefined;
847
1065
  metadata?: {
848
1066
  value: string;
849
1067
  version: number;
@@ -855,6 +1073,9 @@ export declare const CoreUpdateContainerSchema: z.ZodObject<{
855
1073
  } | {
856
1074
  t: "session-reset";
857
1075
  sessionId: string;
1076
+ } | {
1077
+ t: "delete-session";
1078
+ id: string;
858
1079
  };
859
1080
  }>;
860
1081
  export type CoreUpdateContainer = z.infer<typeof CoreUpdateContainerSchema>;
package/dist/sync.js CHANGED
@@ -1 +1 @@
1
- "use strict";import{z as e}from"zod";import{SessionMessageSchema as t}from"./messages.js";import{PlatformSchema as o}from"./machine.js";export const VersionedEncryptedValueSchema=e.object({version:e.number(),value:e.string()}),VersionedNullableEncryptedValueSchema=e.object({version:e.number(),value:e.string().nullable()}),VersionedMachineEncryptedValueSchema=e.object({version:e.number(),value:e.string()}),UpdateNewMessageBodySchema=e.object({t:e.literal("new-message"),sid:e.string(),message:t}),UpdateSessionBodySchema=e.object({t:e.literal("update-session"),id:e.string(),tag:e.string().optional(),displayName:e.string().nullish(),machineId:e.string().optional(),metadata:VersionedEncryptedValueSchema.nullish(),agentState:VersionedNullableEncryptedValueSchema.nullish(),active:e.boolean().optional(),source:e.enum(["managed","history","scheduled"]).optional(),dataEncryptionKey:e.string().nullish()}),UpdateMachineBodySchema=e.object({t:e.literal("update-machine"),machineId:e.string(),metadata:VersionedMachineEncryptedValueSchema.nullish(),daemonState:VersionedMachineEncryptedValueSchema.nullish(),active:e.boolean().optional(),activeAt:e.number().optional(),hostname:e.string().optional(),platform:o.optional(),arch:e.string().optional(),daemonVersion:e.string().optional(),displayName:e.string().optional(),availableAgents:e.array(e.string()).optional(),supportedMethods:e.array(e.string()).optional(),disconnectReason:e.enum(["normal","upgrade-required"]).optional(),upgradeStatus:e.enum(["idle","preflight","downloading","switching","failed"]).optional(),upgradeError:e.string().optional(),superseded:e.boolean().optional()}),UpdateSessionResetBodySchema=e.object({t:e.literal("session-reset"),sessionId:e.string()}),CoreUpdateBodySchema=e.discriminatedUnion("t",[UpdateNewMessageBodySchema,UpdateSessionBodySchema,UpdateMachineBodySchema,UpdateSessionResetBodySchema]),CoreUpdateContainerSchema=e.object({id:e.string(),seq:e.number(),body:CoreUpdateBodySchema,createdAt:e.number()});
1
+ "use strict";import{z as e}from"zod";import{SessionMessageSchema as t}from"./messages.js";import{PlatformSchema as o}from"./machine.js";export const VersionedEncryptedValueSchema=e.object({version:e.number(),value:e.string()}),VersionedNullableEncryptedValueSchema=e.object({version:e.number(),value:e.string().nullable()}),VersionedMachineEncryptedValueSchema=e.object({version:e.number(),value:e.string()}),UpdateNewMessageBodySchema=e.object({t:e.literal("new-message"),sid:e.string(),message:t}),UpdateSessionBodySchema=e.object({t:e.literal("update-session"),id:e.string(),tag:e.string().optional(),displayName:e.string().nullish(),machineId:e.string().optional(),metadata:VersionedEncryptedValueSchema.nullish(),agentState:VersionedNullableEncryptedValueSchema.nullish(),active:e.boolean().optional(),source:e.enum(["managed","history","scheduled"]).optional(),dataEncryptionKey:e.string().nullish()}),UpdateMachineBodySchema=e.object({t:e.literal("update-machine"),machineId:e.string(),metadata:VersionedMachineEncryptedValueSchema.nullish(),daemonState:VersionedMachineEncryptedValueSchema.nullish(),active:e.boolean().optional(),activeAt:e.number().optional(),hostname:e.string().optional(),platform:o.optional(),arch:e.string().optional(),daemonVersion:e.string().optional(),displayName:e.string().optional(),availableAgents:e.array(e.string()).optional(),supportedMethods:e.array(e.string()).optional(),disconnectReason:e.enum(["normal","upgrade-required"]).optional(),upgradeStatus:e.enum(["idle","preflight","downloading","switching","failed"]).optional(),upgradeError:e.string().optional(),superseded:e.boolean().optional(),derivationVersion:e.number().int().min(0).optional(),agentModels:e.record(e.string(),e.array(e.object({id:e.string(),displayName:e.string(),isDefault:e.boolean(),hidden:e.boolean(),source:e.enum(["builtin","acp","env","custom"]).optional().default("acp")}))).optional(),agentModes:e.record(e.string(),e.array(e.object({id:e.string(),label:e.string()}))).optional()}),UpdateSessionResetBodySchema=e.object({t:e.literal("session-reset"),sessionId:e.string()}),UpdateDeleteSessionBodySchema=e.object({t:e.literal("delete-session"),id:e.string()}),CoreUpdateBodySchema=e.discriminatedUnion("t",[UpdateNewMessageBodySchema,UpdateSessionBodySchema,UpdateMachineBodySchema,UpdateSessionResetBodySchema,UpdateDeleteSessionBodySchema]),CoreUpdateContainerSchema=e.object({id:e.string(),seq:e.number(),body:CoreUpdateBodySchema,createdAt:e.number()});
@@ -1,9 +1,9 @@
1
1
  import { z } from 'zod';
2
- export declare const TelemetryEventTypeSchema: z.ZodEnum<["scanner.format_mismatch", "scanner.parse_error", "scanner.version_unknown", "session.start_failed", "session.crash", "rpc.call_failed", "upgrade.failed", "protocol.incompatible"]>;
2
+ export declare const TelemetryEventTypeSchema: z.ZodEnum<["scanner.format_mismatch", "scanner.parse_error", "scanner.version_unknown", "session.start_failed", "session.crash", "rpc.call_failed", "upgrade.failed", "protocol.incompatible", "daemon.log", "daemon.crash"]>;
3
3
  export type TelemetryEventType = z.infer<typeof TelemetryEventTypeSchema>;
4
4
  export declare function sanitizeContext(type: TelemetryEventType, ctx: Record<string, unknown> | undefined): Record<string, unknown> | undefined;
5
5
  export declare const TelemetryEventSchema: z.ZodObject<{
6
- type: z.ZodEnum<["scanner.format_mismatch", "scanner.parse_error", "scanner.version_unknown", "session.start_failed", "session.crash", "rpc.call_failed", "upgrade.failed", "protocol.incompatible"]>;
6
+ type: z.ZodEnum<["scanner.format_mismatch", "scanner.parse_error", "scanner.version_unknown", "session.start_failed", "session.crash", "rpc.call_failed", "upgrade.failed", "protocol.incompatible", "daemon.log", "daemon.crash"]>;
7
7
  timestamp: z.ZodString;
8
8
  agentType: z.ZodOptional<z.ZodString>;
9
9
  agentVersion: z.ZodOptional<z.ZodString>;
@@ -14,7 +14,7 @@ export declare const TelemetryEventSchema: z.ZodObject<{
14
14
  }, "strip", z.ZodTypeAny, {
15
15
  code: string;
16
16
  message: string;
17
- type: "scanner.format_mismatch" | "scanner.parse_error" | "scanner.version_unknown" | "session.start_failed" | "session.crash" | "rpc.call_failed" | "upgrade.failed" | "protocol.incompatible";
17
+ type: "scanner.format_mismatch" | "scanner.parse_error" | "scanner.version_unknown" | "session.start_failed" | "session.crash" | "rpc.call_failed" | "upgrade.failed" | "protocol.incompatible" | "daemon.log" | "daemon.crash";
18
18
  daemonVersion: string;
19
19
  timestamp: string;
20
20
  agentType?: string | undefined;
@@ -23,7 +23,7 @@ export declare const TelemetryEventSchema: z.ZodObject<{
23
23
  }, {
24
24
  code: string;
25
25
  message: string;
26
- type: "scanner.format_mismatch" | "scanner.parse_error" | "scanner.version_unknown" | "session.start_failed" | "session.crash" | "rpc.call_failed" | "upgrade.failed" | "protocol.incompatible";
26
+ type: "scanner.format_mismatch" | "scanner.parse_error" | "scanner.version_unknown" | "session.start_failed" | "session.crash" | "rpc.call_failed" | "upgrade.failed" | "protocol.incompatible" | "daemon.log" | "daemon.crash";
27
27
  daemonVersion: string;
28
28
  timestamp: string;
29
29
  agentType?: string | undefined;
@@ -34,7 +34,7 @@ export type TelemetryEvent = z.infer<typeof TelemetryEventSchema>;
34
34
  export declare const TelemetryReportPayloadSchema: z.ZodObject<{
35
35
  machineId: z.ZodString;
36
36
  events: z.ZodArray<z.ZodObject<{
37
- type: z.ZodEnum<["scanner.format_mismatch", "scanner.parse_error", "scanner.version_unknown", "session.start_failed", "session.crash", "rpc.call_failed", "upgrade.failed", "protocol.incompatible"]>;
37
+ type: z.ZodEnum<["scanner.format_mismatch", "scanner.parse_error", "scanner.version_unknown", "session.start_failed", "session.crash", "rpc.call_failed", "upgrade.failed", "protocol.incompatible", "daemon.log", "daemon.crash"]>;
38
38
  timestamp: z.ZodString;
39
39
  agentType: z.ZodOptional<z.ZodString>;
40
40
  agentVersion: z.ZodOptional<z.ZodString>;
@@ -45,7 +45,7 @@ export declare const TelemetryReportPayloadSchema: z.ZodObject<{
45
45
  }, "strip", z.ZodTypeAny, {
46
46
  code: string;
47
47
  message: string;
48
- type: "scanner.format_mismatch" | "scanner.parse_error" | "scanner.version_unknown" | "session.start_failed" | "session.crash" | "rpc.call_failed" | "upgrade.failed" | "protocol.incompatible";
48
+ type: "scanner.format_mismatch" | "scanner.parse_error" | "scanner.version_unknown" | "session.start_failed" | "session.crash" | "rpc.call_failed" | "upgrade.failed" | "protocol.incompatible" | "daemon.log" | "daemon.crash";
49
49
  daemonVersion: string;
50
50
  timestamp: string;
51
51
  agentType?: string | undefined;
@@ -54,7 +54,7 @@ export declare const TelemetryReportPayloadSchema: z.ZodObject<{
54
54
  }, {
55
55
  code: string;
56
56
  message: string;
57
- type: "scanner.format_mismatch" | "scanner.parse_error" | "scanner.version_unknown" | "session.start_failed" | "session.crash" | "rpc.call_failed" | "upgrade.failed" | "protocol.incompatible";
57
+ type: "scanner.format_mismatch" | "scanner.parse_error" | "scanner.version_unknown" | "session.start_failed" | "session.crash" | "rpc.call_failed" | "upgrade.failed" | "protocol.incompatible" | "daemon.log" | "daemon.crash";
58
58
  daemonVersion: string;
59
59
  timestamp: string;
60
60
  agentType?: string | undefined;
@@ -66,7 +66,7 @@ export declare const TelemetryReportPayloadSchema: z.ZodObject<{
66
66
  events: {
67
67
  code: string;
68
68
  message: string;
69
- type: "scanner.format_mismatch" | "scanner.parse_error" | "scanner.version_unknown" | "session.start_failed" | "session.crash" | "rpc.call_failed" | "upgrade.failed" | "protocol.incompatible";
69
+ type: "scanner.format_mismatch" | "scanner.parse_error" | "scanner.version_unknown" | "session.start_failed" | "session.crash" | "rpc.call_failed" | "upgrade.failed" | "protocol.incompatible" | "daemon.log" | "daemon.crash";
70
70
  daemonVersion: string;
71
71
  timestamp: string;
72
72
  agentType?: string | undefined;
@@ -78,7 +78,7 @@ export declare const TelemetryReportPayloadSchema: z.ZodObject<{
78
78
  events: {
79
79
  code: string;
80
80
  message: string;
81
- type: "scanner.format_mismatch" | "scanner.parse_error" | "scanner.version_unknown" | "session.start_failed" | "session.crash" | "rpc.call_failed" | "upgrade.failed" | "protocol.incompatible";
81
+ type: "scanner.format_mismatch" | "scanner.parse_error" | "scanner.version_unknown" | "session.start_failed" | "session.crash" | "rpc.call_failed" | "upgrade.failed" | "protocol.incompatible" | "daemon.log" | "daemon.crash";
82
82
  daemonVersion: string;
83
83
  timestamp: string;
84
84
  agentType?: string | undefined;
package/dist/telemetry.js CHANGED
@@ -1 +1 @@
1
- "use strict";import{z as e}from"zod";export const TelemetryEventTypeSchema=e.enum(["scanner.format_mismatch","scanner.parse_error","scanner.version_unknown","session.start_failed","session.crash","rpc.call_failed","upgrade.failed","protocol.incompatible"]);const c={"scanner.format_mismatch":["filePath","totalLines","parsedLines","errorCount","unknownLines","samples"],"scanner.parse_error":["filePath","totalLines","errorCount","error","lineNumber"],"scanner.version_unknown":["detectedVersion","supportedRange"],"session.start_failed":["cwd","agentBinary","exitCode","stderr"],"session.crash":["exitCode","signal","stderr","agentType"],"rpc.call_failed":["method","error"],"upgrade.failed":["fromVersion","toVersion","stage","error"],"protocol.incompatible":["clientVersion","serverVersion","minRequired"]},d=/\b(?:\d{1,3}\.){3}\d{1,3}\b|[\w.+-]+@[\w.-]+\.\w+|\b(?:Bearer|token|sk-|api[_-]?key)\s*[:=]?\s*\S+/gi;function a(r){if(typeof r=="string")return r.replace(d,"[REDACTED]");if(Array.isArray(r))return r.map(a);if(typeof r=="number"||typeof r=="boolean"||r===null)return r}export function sanitizeContext(r,t){if(!t)return;const s=c[r];if(!s)return;const n={};for(const o of s)if(o in t){const i=a(t[o]);i!==void 0&&(n[o]=i)}return typeof n.stderr=="string"&&n.stderr.length>500&&(n.stderr=n.stderr.slice(0,500)),Object.keys(n).length>0?n:void 0}export const TelemetryEventSchema=e.object({type:TelemetryEventTypeSchema,timestamp:e.string(),agentType:e.string().optional(),agentVersion:e.string().optional(),daemonVersion:e.string(),code:e.string(),message:e.string(),context:e.record(e.unknown()).optional()}),TelemetryReportPayloadSchema=e.object({machineId:e.string(),events:e.array(TelemetryEventSchema).max(100)});
1
+ "use strict";import{z as e}from"zod";export const TelemetryEventTypeSchema=e.enum(["scanner.format_mismatch","scanner.parse_error","scanner.version_unknown","session.start_failed","session.crash","rpc.call_failed","upgrade.failed","protocol.incompatible","daemon.log","daemon.crash"]);const d={"scanner.format_mismatch":["filePath","totalLines","parsedLines","errorCount","unknownLines","samples"],"scanner.parse_error":["filePath","totalLines","errorCount","error","lineNumber"],"scanner.version_unknown":["detectedVersion","supportedRange"],"session.start_failed":["cwd","agentBinary","exitCode","stderr"],"session.crash":["exitCode","signal","stderr","agentType","sessionId","pid","durationMs"],"rpc.call_failed":["method","error"],"upgrade.failed":["fromVersion","toVersion","stage","error"],"protocol.incompatible":["clientVersion","serverVersion","minRequired"],"daemon.log":["module","hostname","platform","arch","stack"],"daemon.crash":["crashType","hostname","platform","arch","stack"]},c=/\b(?:\d{1,3}\.){3}\d{1,3}\b|[\w.+-]+@[\w.-]+\.\w+|\b(?:Bearer|token|sk-|api[_-]?key)\s*[:=]?\s*\S+/gi;function a(r){if(typeof r=="string")return r.replace(c,"[REDACTED]");if(Array.isArray(r))return r.map(a);if(typeof r=="number"||typeof r=="boolean"||r===null)return r}export function sanitizeContext(r,t){if(!t)return;const s=d[r];if(!s)return;const n={};for(const o of s)if(o in t){const i=a(t[o]);i!==void 0&&(n[o]=i)}return typeof n.stderr=="string"&&n.stderr.length>500&&(n.stderr=n.stderr.slice(0,500)),Object.keys(n).length>0?n:void 0}export const TelemetryEventSchema=e.object({type:TelemetryEventTypeSchema,timestamp:e.string(),agentType:e.string().optional(),agentVersion:e.string().optional(),daemonVersion:e.string(),code:e.string(),message:e.string(),context:e.record(e.unknown()).optional()}),TelemetryReportPayloadSchema=e.object({machineId:e.string(),events:e.array(TelemetryEventSchema).max(100)});
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@agentdock/wire",
3
- "version": "0.0.47",
3
+ "version": "0.0.49",
4
4
  "description": "Protocol definitions for AgentDock — Zod schemas, message formats, RPC types",
5
5
  "license": "UNLICENSED",
6
- "author": "kevin8536945",
6
+ "author": "CCPark",
7
7
  "type": "module",
8
8
  "main": "dist/index.js",
9
9
  "types": "dist/index.d.ts",