@agentdock/wire 0.0.64 → 0.0.65

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.
@@ -0,0 +1,5 @@
1
+ /** Activity tracking preferences — shared type used by server, web, and daemon. */
2
+ export interface ActivityPreferences {
3
+ enabled: boolean;
4
+ }
5
+ //# sourceMappingURL=activityPreferences.d.ts.map
@@ -0,0 +1 @@
1
+ "use strict";export{};
package/dist/bgTask.js CHANGED
@@ -1 +1 @@
1
- "use strict";export const BG_TASK_PREFIX="bg-task:";export function encodeBgTask(s){const e=encodeURIComponent(s.taskId);if(s.action==="started")return`${BG_TASK_PREFIX}started:${e}:${s.desc??""}`;if(s.action==="progress")return`${BG_TASK_PREFIX}progress:${e}:${s.summary??""}`;const t=g(s.totalTokens??0,s.durationMs??0,s.toolUses??0),r=s.summary?`:${s.summary}`:"";return`${BG_TASK_PREFIX}${s.action}:${e}:${t}${r}`}function g(s,e,t){return e===0&&t===0?String(s):`${s},${e},${t}`}function k(s){const e=s.split(","),t=r=>{const n=Number(r);return Number.isFinite(n)&&n>0?n:0};return{totalTokens:t(e[0]),durationMs:t(e[1]),toolUses:t(e[2])}}function y(s){try{return decodeURIComponent(s)}catch{return s}}export function parseBgTask(s){if(!s.startsWith(BG_TASK_PREFIX))return null;const e=s.slice(BG_TASK_PREFIX.length),t=e.indexOf(":");if(t<0)return null;const r=e.slice(0,t),n=e.slice(t+1),c=n.indexOf(":"),u=c<0?n:n.slice(0,c);if(!u)return null;const i=y(u),o=c<0?"":n.slice(c+1);switch(r){case"started":return{action:r,taskId:i,desc:o};case"progress":return{action:r,taskId:i,summary:o};case"completed":case"failed":case"stopped":{const a=o.indexOf(":"),d=a<0?o:o.slice(0,a),l=a<0?"":o.slice(a+1),{totalTokens:f,durationMs:m,toolUses:$}=k(d);return{action:r,taskId:i,totalTokens:f,durationMs:m,toolUses:$,summary:l}}default:return null}}export function isBgTaskLifecycleLine(s){return s.startsWith(`${BG_TASK_PREFIX}started:`)||s.startsWith(`${BG_TASK_PREFIX}progress:`)}
1
+ "use strict";export const BG_TASK_PREFIX="bg-task:";const k=new Set(["started","progress","completed","failed","stopped"]);function T(s){return k.has(s)}export function encodeBgTask(s){const e=encodeURIComponent(s.taskId);if(s.action==="started")return`${BG_TASK_PREFIX}started:${e}:${s.desc??""}`;if(s.action==="progress")return`${BG_TASK_PREFIX}progress:${e}:${s.summary??""}`;const t=p(s.totalTokens??0,s.durationMs??0,s.toolUses??0),n=s.summary?`:${s.summary}`:"";return`${BG_TASK_PREFIX}${s.action}:${e}:${t}${n}`}function p(s,e,t){return e===0&&t===0?String(s):`${s},${e},${t}`}function y(s){const e=s.split(","),t=n=>{const r=Number(n);return Number.isFinite(r)&&r>0?r:0};return{totalTokens:t(e[0]),durationMs:t(e[1]),toolUses:t(e[2])}}function I(s){try{return decodeURIComponent(s)}catch{return s}}export function parseBgTask(s){if(!s.startsWith(BG_TASK_PREFIX))return null;const e=s.slice(BG_TASK_PREFIX.length),t=e.indexOf(":");if(t<0)return null;const n=e.slice(0,t);if(!T(n))return null;const r=n,c=e.slice(t+1),a=c.indexOf(":"),d=a<0?c:c.slice(0,a);if(!d)return null;const u=I(d),o=a<0?"":c.slice(a+1);switch(r){case"started":return{action:r,taskId:u,desc:o};case"progress":return{action:r,taskId:u,summary:o};case"completed":case"failed":case"stopped":{const i=o.indexOf(":"),l=i<0?o:o.slice(0,i),f=i<0?"":o.slice(i+1),{totalTokens:m,durationMs:$,toolUses:g}=y(l);return{action:r,taskId:u,totalTokens:m,durationMs:$,toolUses:g,summary:f}}default:return null}}export function isBgTaskLifecycleLine(s){return s.startsWith(`${BG_TASK_PREFIX}started:`)||s.startsWith(`${BG_TASK_PREFIX}progress:`)}
package/dist/envelope.js CHANGED
@@ -1 +1 @@
1
- "use strict";import{z as s}from"zod";import{isCuid as a}from"@paralleldrive/cuid2";import{createId as u}from"./utils.js";import{SessionEventSchema as i}from"./events.js";export const SessionRoleSchema=s.enum(["user","agent"]),SessionEnvelopeSchema=s.object({id:s.string(),time:s.number(),role:SessionRoleSchema,turn:s.string().optional(),subagent:s.string().refine(e=>a(e),{message:"subagent must be a cuid2 value"}).optional(),messageUuid:s.string().optional(),toolCallId:s.string().optional(),ev:i}).superRefine((e,o)=>{e.ev.t==="service"&&e.role!=="agent"&&o.addIssue({code:s.ZodIssueCode.custom,message:'service events must use role "agent"',path:["role"]}),(e.ev.t==="start"||e.ev.t==="stop")&&e.role!=="agent"&&o.addIssue({code:s.ZodIssueCode.custom,message:`${e.ev.t} events must use role "agent"`,path:["role"]}),(e.ev.t==="question"||e.ev.t==="permission-request")&&e.role!=="agent"&&o.addIssue({code:s.ZodIssueCode.custom,message:`${e.ev.t} events must use role "agent"`,path:["role"]}),e.ev.t==="answer"&&e.role!=="user"&&o.addIssue({code:s.ZodIssueCode.custom,message:'answer events must use role "user"',path:["role"]})});export function createEnvelope(e,o,t={}){const r={id:t.id??u(),time:t.time??Date.now(),role:e,ev:o};return t.turn&&(r.turn=t.turn),t.subagent&&(r.subagent=t.subagent),t.messageUuid&&(r.messageUuid=t.messageUuid),t.toolCallId&&(r.toolCallId=t.toolCallId),r}
1
+ "use strict";import{z as s}from"zod";import{isCuid as r}from"@paralleldrive/cuid2";import{createId as a}from"./utils.js";import{SessionEventSchema as u}from"./events.js";export const SessionRoleSchema=s.enum(["user","agent"]),SessionEnvelopeSchema=s.object({id:s.string(),time:s.number(),role:SessionRoleSchema,turn:s.string().optional(),subagent:s.string().refine(e=>r(e),{message:"subagent must be a cuid2 value"}).optional(),messageUuid:s.string().optional(),toolCallId:s.string().optional(),ev:u}).superRefine((e,o)=>{e.ev.t==="service"&&e.role!=="agent"&&o.addIssue({code:s.ZodIssueCode.custom,message:'service events must use role "agent"',path:["role"]}),(e.ev.t==="start"||e.ev.t==="stop")&&e.role!=="agent"&&o.addIssue({code:s.ZodIssueCode.custom,message:`${e.ev.t} events must use role "agent"`,path:["role"]}),(e.ev.t==="question"||e.ev.t==="permission-request")&&e.role!=="agent"&&o.addIssue({code:s.ZodIssueCode.custom,message:`${e.ev.t} events must use role "agent"`,path:["role"]}),e.ev.t==="answer"&&e.role!=="user"&&o.addIssue({code:s.ZodIssueCode.custom,message:'answer events must use role "user"',path:["role"]})});export function createEnvelope(e,o,t={}){return{id:t.id??a(),time:t.time??Date.now(),role:e,ev:o,...t.turn?{turn:t.turn}:{},...t.subagent?{subagent:t.subagent}:{},...t.messageUuid?{messageUuid:t.messageUuid}:{},...t.toolCallId?{toolCallId:t.toolCallId}:{}}}
@@ -1 +1 @@
1
- "use strict";export const TEXT_EXTS=[".txt",".md",".log",".csv",".json",".xml",".yaml",".yml",".toml",".env"],CODE_EXTS=[".ts",".tsx",".js",".jsx",".py",".rs",".go",".java",".c",".cpp",".h",".css",".html",".sql",".sh"],DOC_EXTS=[".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx"],IMG_EXTS=[".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp"],FILE_CATEGORY_MAX_SIZE={text:1048576,document:2097152,code:1048576,image:1048576},BLOCKED_EXTS=new Set([".exe",".bat",".cmd",".msi",".dmg",".app",".com",".scr"]),ALLOWED_EXTENSIONS=new Set([...TEXT_EXTS,...CODE_EXTS,...DOC_EXTS,...IMG_EXTS]);const r={text:TEXT_EXTS,code:CODE_EXTS,document:DOC_EXTS,image:IMG_EXTS};export const FILE_SIGNATURES={".pdf":{sig:[37,80,68,70,45]},".doc":{sig:[208,207,17,224,161,177,26,225]},".xls":{sig:[208,207,17,224,161,177,26,225]},".ppt":{sig:[208,207,17,224,161,177,26,225]},".docx":{sig:[80,75,3,4]},".xlsx":{sig:[80,75,3,4]},".pptx":{sig:[80,75,3,4]},".png":{sig:[137,80,78,71,13,10,26,10]},".jpg":{sig:[255,216,255]},".jpeg":{sig:[255,216,255]},".gif":{sig:[71,73,70,56]},".webp":{sig:[82,73,70,70],subSigAt:8,subSig:[87,69,66,80]},".bmp":{sig:[66,77]}};export function getFileExt(t){const x=t.lastIndexOf(".");return x>=0?t.substring(x).toLowerCase():""}export function resolveFileCategory(t){if(t===""||BLOCKED_EXTS.has(t))return null;for(const x of Object.keys(r))if(r[x].includes(t))return x;return null}function i(t){try{return new TextDecoder("utf-8",{fatal:!0}).decode(t)}catch{return null}}function o(t){const x=i(t.subarray(0,Math.min(t.length,512)));if(x===null)return!1;const e=(x.charCodeAt(0)===65279?x.slice(1):x).trimStart();return e.startsWith("<?xml")||e.startsWith("<svg")||e.startsWith("<!DOCTYPE svg")}export function verifyMagicBytes(t,x){if(TEXT_EXTS.includes(x)||CODE_EXTS.includes(x))return i(t)!==null;if(x===".svg")return o(t);const e=FILE_SIGNATURES[x];if(!e||t.length<e.sig.length)return!1;for(let s=0;s<e.sig.length;s++)if(t[s]!==e.sig[s])return!1;if(e.subSig){const s=e.subSigAt??e.sig.length;if(t.length<s+e.subSig.length)return!1;for(let n=0;n<e.subSig.length;n++)if(t[s+n]!==e.subSig[n])return!1}return!0}
1
+ "use strict";const i=["text","document","code","image"];export const TEXT_EXTS=[".txt",".md",".log",".csv",".json",".xml",".yaml",".yml",".toml",".env"],CODE_EXTS=[".ts",".tsx",".js",".jsx",".py",".rs",".go",".java",".c",".cpp",".h",".css",".html",".sql",".sh"],DOC_EXTS=[".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx"],IMG_EXTS=[".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp"],FILE_CATEGORY_MAX_SIZE={text:1048576,document:2097152,code:1048576,image:1048576},BLOCKED_EXTS=new Set([".exe",".bat",".cmd",".msi",".dmg",".app",".com",".scr"]),ALLOWED_EXTENSIONS=new Set([...TEXT_EXTS,...CODE_EXTS,...DOC_EXTS,...IMG_EXTS]);const o={text:TEXT_EXTS,code:CODE_EXTS,document:DOC_EXTS,image:IMG_EXTS};export const FILE_SIGNATURES={".pdf":{sig:[37,80,68,70,45]},".doc":{sig:[208,207,17,224,161,177,26,225]},".xls":{sig:[208,207,17,224,161,177,26,225]},".ppt":{sig:[208,207,17,224,161,177,26,225]},".docx":{sig:[80,75,3,4]},".xlsx":{sig:[80,75,3,4]},".pptx":{sig:[80,75,3,4]},".png":{sig:[137,80,78,71,13,10,26,10]},".jpg":{sig:[255,216,255]},".jpeg":{sig:[255,216,255]},".gif":{sig:[71,73,70,56]},".webp":{sig:[82,73,70,70],subSigAt:8,subSig:[87,69,66,80]},".bmp":{sig:[66,77]}};export function getFileExt(t){const x=t.lastIndexOf(".");return x>=0?t.substring(x).toLowerCase():""}export function resolveFileCategory(t){if(t===""||BLOCKED_EXTS.has(t))return null;for(const x of i)if(o[x].includes(t))return x;return null}function r(t){try{return new TextDecoder("utf-8",{fatal:!0}).decode(t)}catch{return null}}function g(t){const x=r(t.subarray(0,Math.min(t.length,512)));if(x===null)return!1;const e=(x.charCodeAt(0)===65279?x.slice(1):x).trimStart();return e.startsWith("<?xml")||e.startsWith("<svg")||e.startsWith("<!DOCTYPE svg")}export function verifyMagicBytes(t,x){if(TEXT_EXTS.includes(x)||CODE_EXTS.includes(x))return r(t)!==null;if(x===".svg")return g(t);const e=FILE_SIGNATURES[x];if(!e||t.length<e.sig.length)return!1;for(let s=0;s<e.sig.length;s++)if(t[s]!==e.sig[s])return!1;if(e.subSig){const s=e.subSigAt??e.sig.length;if(t.length<s+e.subSig.length)return!1;for(let n=0;n<e.subSig.length;n++)if(t[s+n]!==e.subSig[n])return!1}return!0}
package/dist/index.d.ts CHANGED
@@ -18,7 +18,10 @@ export type { RpcCall, RpcResult, SpawnSessionParams, CheckPathParams, GetMessag
18
18
  export { AGENT_CAPABILITIES, getAgentCapability, updateDynamicModes, getDynamicModes, normalizeModelId, } from './agentCapabilities.js';
19
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
- 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';
21
+ export type { StatsOverview, ClaudeStatsData, ProjectSummary, ModelUsageEntry as WireModelUsageEntry, // AS-CAST-OK: export alias renames type, not a type assertion
22
+ DailyActivity as WireDailyActivity, // AS-CAST-OK: export alias renames type, not a type assertion
23
+ LongestSession as WireLongestSession, // AS-CAST-OK: export alias renames type, not a type assertion
24
+ AgentTypeUsage, ActivityUpload, UsageReport, TokenTrendPoint, ModelBreakdownEntry, QuotaConfig, QuotaStatusSchema, QuotaStatus, } from './stats.js';
22
25
  export { ControlLevel } from './controlLevel.js';
23
26
  export type { ControlLevelType } from './controlLevel.js';
24
27
  export { TEXT_EXTS, CODE_EXTS, DOC_EXTS, IMG_EXTS, FILE_CATEGORY_MAX_SIZE, BLOCKED_EXTS, ALLOWED_EXTENSIONS, FILE_SIGNATURES, getFileExt, resolveFileCategory, verifyMagicBytes, } from './fileWhitelist.js';
@@ -37,8 +40,9 @@ export { AGENT_INSTALL_GUIDE } from './agentInstallGuide.js';
37
40
  export type { AgentInstallInfo } from './agentInstallGuide.js';
38
41
  export { AGENT_COMMON_ENV_VARS } from './agentCommonEnv.js';
39
42
  export type { AgentEnvVarHint } from './agentCommonEnv.js';
40
- export { RetryPolicySchema, MissedRunPolicySchema, ScheduledSpawnParamsSchema, TaskExecutionStatusSchema, TaskExecutionTriggerSchema, CreateScheduledTaskSchema, UpdateScheduledTaskSchema, ScheduledTaskSummarySchema, TaskExecutionSchema, CRON_RE, } from './scheduledTasks.js';
41
- export type { RetryPolicy, MissedRunPolicy, ScheduledSpawnParams, TaskExecutionStatus, TaskExecutionTrigger, CreateScheduledTask, UpdateScheduledTask, ScheduledTaskSummary, TaskExecution, } from './scheduledTasks.js';
43
+ export { RetryPolicySchema, MissedRunPolicySchema, ScheduledSpawnParamsSchema, TaskExecutionStatusSchema, TaskExecutionTriggerSchema, TaskTriggerTypeSchema, TaskResultSchema, TaskStatsSchema, TaskExecutionBarSchema, TaskCardStatsSchema, CreateScheduledTaskSchema, UpdateScheduledTaskSchema, ScheduledTaskSummarySchema, TaskExecutionSchema, TriggerCallSchema, TriggerExecutionSchema, RegenerateTokenResponseSchema, CRON_RE, } from './scheduledTasks.js';
44
+ export type { RetryPolicy, MissedRunPolicy, ScheduledSpawnParams, TaskExecutionStatus, TaskExecutionTrigger, TaskTriggerType, TaskResult, TaskStats, TaskExecutionBar, TaskCardStats, CreateScheduledTask, UpdateScheduledTask, ScheduledTaskSummary, TaskExecution, TriggerCall, TriggerExecution, RegenerateTokenResponse, } from './scheduledTasks.js';
45
+ export { TASK_RESULT_PREFIX, serializeTaskResult, parseTaskResultPayload, extractTaskResultFromText, } from './taskResult.js';
42
46
  export { PROTOCOL_VERSION } from './protocol.js';
43
47
  export { parseSemver, compareVersions, satisfiesMin } from './semver.js';
44
48
  export type { SemverParts } from './semver.js';
@@ -63,4 +67,5 @@ export interface SetupProgress {
63
67
  readonly group: boolean;
64
68
  readonly user: boolean;
65
69
  }
70
+ export type { ActivityPreferences } from './activityPreferences.js';
66
71
  //# sourceMappingURL=index.d.ts.map
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{TEXT_EXTS,CODE_EXTS,DOC_EXTS,IMG_EXTS,FILE_CATEGORY_MAX_SIZE,BLOCKED_EXTS,ALLOWED_EXTENSIONS,FILE_SIGNATURES,getFileExt,resolveFileCategory,verifyMagicBytes}from"./fileWhitelist.js";export{PairingState,PairingRequestSchema,PairingResponseSchema,PairingExchangeSchema,PairingDeliverSchema,PairingStatusSchema,parseVersionByte,encodeVersionByte,KNOWN_DERIVATION_VERSIONS,CURRENT_DERIVATION_VERSION}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{BG_TASK_PREFIX,encodeBgTask,parseBgTask,isBgTaskLifecycleLine}from"./bgTask.js";export{BASH_TOOL_NAMES,isBashToolName,extractCommandSubject,MIN_SUBJECT_LENGTH}from"./permissionSubject.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,RunModeSchema,RunModesSchema,BugFieldsSchema,SettingsSnapshotSchema}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{TEXT_EXTS,CODE_EXTS,DOC_EXTS,IMG_EXTS,FILE_CATEGORY_MAX_SIZE,BLOCKED_EXTS,ALLOWED_EXTENSIONS,FILE_SIGNATURES,getFileExt,resolveFileCategory,verifyMagicBytes}from"./fileWhitelist.js";export{PairingState,PairingRequestSchema,PairingResponseSchema,PairingExchangeSchema,PairingDeliverSchema,PairingStatusSchema,parseVersionByte,encodeVersionByte,KNOWN_DERIVATION_VERSIONS,CURRENT_DERIVATION_VERSION}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,TaskTriggerTypeSchema,TaskResultSchema,TaskStatsSchema,TaskExecutionBarSchema,TaskCardStatsSchema,CreateScheduledTaskSchema,UpdateScheduledTaskSchema,ScheduledTaskSummarySchema,TaskExecutionSchema,TriggerCallSchema,TriggerExecutionSchema,RegenerateTokenResponseSchema,CRON_RE}from"./scheduledTasks.js";export{TASK_RESULT_PREFIX,serializeTaskResult,parseTaskResultPayload,extractTaskResultFromText}from"./taskResult.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{BG_TASK_PREFIX,encodeBgTask,parseBgTask,isBgTaskLifecycleLine}from"./bgTask.js";export{BASH_TOOL_NAMES,isBashToolName,extractCommandSubject,MIN_SUBJECT_LENGTH}from"./permissionSubject.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,RunModeSchema,RunModesSchema,BugFieldsSchema,SettingsSnapshotSchema}from"./feedback.js";
package/dist/ops.d.ts CHANGED
@@ -40,19 +40,19 @@ export declare const FileEntrySchema: z.ZodObject<{
40
40
  name: z.ZodString;
41
41
  type: z.ZodEnum<["file", "directory"]>;
42
42
  size: z.ZodNumber;
43
- modifiedAt: z.ZodString;
43
+ modifiedAt: z.ZodNumber;
44
44
  mimeType: z.ZodOptional<z.ZodString>;
45
45
  }, "strip", z.ZodTypeAny, {
46
46
  type: "file" | "directory";
47
47
  name: string;
48
48
  size: number;
49
- modifiedAt: string;
49
+ modifiedAt: number;
50
50
  mimeType?: string | undefined;
51
51
  }, {
52
52
  type: "file" | "directory";
53
53
  name: string;
54
54
  size: number;
55
- modifiedAt: string;
55
+ modifiedAt: number;
56
56
  mimeType?: string | undefined;
57
57
  }>;
58
58
  export type FileEntry = z.infer<typeof FileEntrySchema>;
package/dist/ops.js CHANGED
@@ -1 +1 @@
1
- "use strict";import{z as e}from"zod";export const OpsMethodSchema=e.string().min(1).regex(/^[a-z]+\.[a-z][a-z0-9-]*$/),OpsRpcTypeSchema=e.enum(["request","response","event"]),OpsRpcMessageSchema=e.object({id:e.string().min(1),type:OpsRpcTypeSchema,method:OpsMethodSchema,payload:e.unknown()}),FileEntrySchema=e.object({name:e.string(),type:e.enum(["file","directory"]),size:e.number().int().nonnegative(),modifiedAt:e.string(),mimeType:e.string().optional()}),FileStatSchema=e.object({name:e.string(),path:e.string(),type:e.enum(["file","directory"]),size:e.number().int().nonnegative(),modifiedAt:e.string(),createdAt:e.string(),mimeType:e.string().optional()}),StorageUsageSchema=e.object({used:e.number().int().nonnegative(),limit:e.number().int().nonnegative(),fileCount:e.number().int().nonnegative()}),SyncUserSchema=e.object({username:e.string().min(1),displayName:e.string(),machineId:e.string().nullable(),containerStatus:e.string(),healthStatus:e.string().nullable(),enabled:e.boolean()}),SyncFullPayloadSchema=e.object({users:e.array(SyncUserSchema)}),SyncUserCreatedPayloadSchema=e.object({username:e.string().min(1),displayName:e.string()}),SyncContainerStatusPayloadSchema=e.object({username:e.string().min(1),containerStatus:e.string(),healthStatus:e.string().nullable().optional()}),SyncUserPairedPayloadSchema=e.object({username:e.string().min(1),machineId:e.string().min(1)});
1
+ "use strict";import{z as e}from"zod";export const OpsMethodSchema=e.string().min(1).regex(/^[a-z]+\.[a-z][a-z0-9-]*$/),OpsRpcTypeSchema=e.enum(["request","response","event"]),OpsRpcMessageSchema=e.object({id:e.string().min(1),type:OpsRpcTypeSchema,method:OpsMethodSchema,payload:e.unknown()}),FileEntrySchema=e.object({name:e.string(),type:e.enum(["file","directory"]),size:e.number().int().nonnegative(),modifiedAt:e.number(),mimeType:e.string().optional()}),FileStatSchema=e.object({name:e.string(),path:e.string(),type:e.enum(["file","directory"]),size:e.number().int().nonnegative(),modifiedAt:e.string(),createdAt:e.string(),mimeType:e.string().optional()}),StorageUsageSchema=e.object({used:e.number().int().nonnegative(),limit:e.number().int().nonnegative(),fileCount:e.number().int().nonnegative()}),SyncUserSchema=e.object({username:e.string().min(1),displayName:e.string(),machineId:e.string().nullable(),containerStatus:e.string(),healthStatus:e.string().nullable(),enabled:e.boolean()}),SyncFullPayloadSchema=e.object({users:e.array(SyncUserSchema)}),SyncUserCreatedPayloadSchema=e.object({username:e.string().min(1),displayName:e.string()}),SyncContainerStatusPayloadSchema=e.object({username:e.string().min(1),containerStatus:e.string(),healthStatus:e.string().nullable().optional()}),SyncUserPairedPayloadSchema=e.object({username:e.string().min(1),machineId:e.string().min(1)});
@@ -65,14 +65,118 @@ export declare const ScheduledSpawnParamsSchema: z.ZodObject<{
65
65
  export type ScheduledSpawnParams = z.infer<typeof ScheduledSpawnParamsSchema>;
66
66
  export declare const TaskExecutionStatusSchema: z.ZodEnum<["pending", "running", "completed", "failed", "lost", "skipped", "cancelled"]>;
67
67
  export type TaskExecutionStatus = z.infer<typeof TaskExecutionStatusSchema>;
68
- export declare const TaskExecutionTriggerSchema: z.ZodEnum<["scheduled", "manual"]>;
68
+ export declare const TaskExecutionTriggerSchema: z.ZodEnum<["scheduled", "manual", "token", "chain"]>;
69
69
  export type TaskExecutionTrigger = z.infer<typeof TaskExecutionTriggerSchema>;
70
+ export declare const TaskTriggerTypeSchema: z.ZodEnum<["cron", "token", "continuous"]>;
71
+ export type TaskTriggerType = z.infer<typeof TaskTriggerTypeSchema>;
72
+ export declare const TaskResultSchema: z.ZodObject<{
73
+ status: z.ZodEnum<["done", "failed"]>;
74
+ headline: z.ZodOptional<z.ZodString>;
75
+ summary: z.ZodOptional<z.ZodString>;
76
+ outcome: z.ZodOptional<z.ZodString>;
77
+ reason: z.ZodOptional<z.ZodString>;
78
+ suggestion: z.ZodOptional<z.ZodString>;
79
+ unstructured: z.ZodOptional<z.ZodBoolean>;
80
+ }, "strip", z.ZodTypeAny, {
81
+ status: "failed" | "done";
82
+ reason?: string | undefined;
83
+ summary?: string | undefined;
84
+ headline?: string | undefined;
85
+ outcome?: string | undefined;
86
+ suggestion?: string | undefined;
87
+ unstructured?: boolean | undefined;
88
+ }, {
89
+ status: "failed" | "done";
90
+ reason?: string | undefined;
91
+ summary?: string | undefined;
92
+ headline?: string | undefined;
93
+ outcome?: string | undefined;
94
+ suggestion?: string | undefined;
95
+ unstructured?: boolean | undefined;
96
+ }>;
97
+ export type TaskResult = z.infer<typeof TaskResultSchema>;
98
+ export declare const TaskExecutionBarSchema: z.ZodObject<{
99
+ durationMs: z.ZodNullable<z.ZodNumber>;
100
+ status: z.ZodEnum<["pending", "running", "completed", "failed", "lost", "skipped", "cancelled"]>;
101
+ }, "strip", z.ZodTypeAny, {
102
+ status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
103
+ durationMs: number | null;
104
+ }, {
105
+ status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
106
+ durationMs: number | null;
107
+ }>;
108
+ export type TaskExecutionBar = z.infer<typeof TaskExecutionBarSchema>;
109
+ export declare const TaskStatsSchema: z.ZodObject<{
110
+ successRate: z.ZodNumber;
111
+ totalExecutions: z.ZodNumber;
112
+ avgDurationMs: z.ZodNullable<z.ZodNumber>;
113
+ maxDurationMs: z.ZodNullable<z.ZodNumber>;
114
+ executions: z.ZodArray<z.ZodObject<{
115
+ durationMs: z.ZodNullable<z.ZodNumber>;
116
+ status: z.ZodEnum<["pending", "running", "completed", "failed", "lost", "skipped", "cancelled"]>;
117
+ }, "strip", z.ZodTypeAny, {
118
+ status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
119
+ durationMs: number | null;
120
+ }, {
121
+ status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
122
+ durationMs: number | null;
123
+ }>, "many">;
124
+ }, "strip", z.ZodTypeAny, {
125
+ successRate: number;
126
+ totalExecutions: number;
127
+ avgDurationMs: number | null;
128
+ maxDurationMs: number | null;
129
+ executions: {
130
+ status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
131
+ durationMs: number | null;
132
+ }[];
133
+ }, {
134
+ successRate: number;
135
+ totalExecutions: number;
136
+ avgDurationMs: number | null;
137
+ maxDurationMs: number | null;
138
+ executions: {
139
+ status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
140
+ durationMs: number | null;
141
+ }[];
142
+ }>;
143
+ export type TaskStats = z.infer<typeof TaskStatsSchema>;
144
+ export declare const TaskCardStatsSchema: z.ZodObject<{
145
+ totalExecutions: z.ZodNumber;
146
+ successRate: z.ZodNumber;
147
+ avgDurationMs: z.ZodNullable<z.ZodNumber>;
148
+ executions: z.ZodArray<z.ZodObject<{
149
+ durationMs: z.ZodNullable<z.ZodNumber>;
150
+ status: z.ZodEnum<["pending", "running", "completed", "failed", "lost", "skipped", "cancelled"]>;
151
+ }, "strip", z.ZodTypeAny, {
152
+ status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
153
+ durationMs: number | null;
154
+ }, {
155
+ status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
156
+ durationMs: number | null;
157
+ }>, "many">;
158
+ }, "strip", z.ZodTypeAny, {
159
+ successRate: number;
160
+ totalExecutions: number;
161
+ avgDurationMs: number | null;
162
+ executions: {
163
+ status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
164
+ durationMs: number | null;
165
+ }[];
166
+ }, {
167
+ successRate: number;
168
+ totalExecutions: number;
169
+ avgDurationMs: number | null;
170
+ executions: {
171
+ status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
172
+ durationMs: number | null;
173
+ }[];
174
+ }>;
175
+ export type TaskCardStats = z.infer<typeof TaskCardStatsSchema>;
70
176
  export declare const CRON_RE: RegExp;
71
- export declare const CreateScheduledTaskSchema: z.ZodObject<{
72
- name: z.ZodString;
73
- schedule: z.ZodString;
177
+ export declare const CreateScheduledTaskSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
178
+ triggerType: z.ZodDefault<z.ZodEnum<["cron", "token", "continuous"]>>;
74
179
  enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
75
- machineId: z.ZodOptional<z.ZodString>;
76
180
  spawnParams: z.ZodObject<{
77
181
  model: z.ZodOptional<z.ZodOptional<z.ZodString>>;
78
182
  agentType: z.ZodOptional<z.ZodEnum<["claude", "copilot", "opencode", "codex", "gemini", "hermes", "openclaw"]>>;
@@ -123,9 +227,60 @@ export declare const CreateScheduledTaskSchema: z.ZodObject<{
123
227
  missedRunPolicy?: "skip" | "run-once" | undefined;
124
228
  circuitBreakerThreshold?: number | undefined;
125
229
  }>;
230
+ maxConcurrent: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
231
+ name: z.ZodString;
232
+ schedule: z.ZodOptional<z.ZodString>;
233
+ machineId: z.ZodOptional<z.ZodString>;
234
+ totalRuns: z.ZodOptional<z.ZodNumber>;
126
235
  }, "strip", z.ZodTypeAny, {
127
236
  name: string;
128
- schedule: string;
237
+ triggerType: "token" | "cron" | "continuous";
238
+ enabled: boolean;
239
+ spawnParams: {
240
+ prompt: string;
241
+ model?: string | undefined;
242
+ agentType?: "claude" | "copilot" | "opencode" | "codex" | "gemini" | "hermes" | "openclaw" | undefined;
243
+ agent?: string | undefined;
244
+ cwd?: string | undefined;
245
+ startupScripts?: string[] | undefined;
246
+ maxExecutionMs?: number | undefined;
247
+ retryPolicy?: {
248
+ maxRetries: number;
249
+ retryDelayMs: number;
250
+ } | undefined;
251
+ missedRunPolicy?: "skip" | "run-once" | undefined;
252
+ circuitBreakerThreshold?: number | undefined;
253
+ };
254
+ maxConcurrent: number;
255
+ machineId?: string | undefined;
256
+ schedule?: string | undefined;
257
+ totalRuns?: number | undefined;
258
+ }, {
259
+ name: string;
260
+ spawnParams: {
261
+ prompt: string;
262
+ model?: string | undefined;
263
+ agentType?: "claude" | "copilot" | "opencode" | "codex" | "gemini" | "hermes" | "openclaw" | undefined;
264
+ agent?: string | undefined;
265
+ cwd?: string | undefined;
266
+ startupScripts?: string[] | undefined;
267
+ maxExecutionMs?: number | undefined;
268
+ retryPolicy?: {
269
+ maxRetries?: number | undefined;
270
+ retryDelayMs?: number | undefined;
271
+ } | undefined;
272
+ missedRunPolicy?: "skip" | "run-once" | undefined;
273
+ circuitBreakerThreshold?: number | undefined;
274
+ };
275
+ machineId?: string | undefined;
276
+ triggerType?: "token" | "cron" | "continuous" | undefined;
277
+ enabled?: boolean | undefined;
278
+ maxConcurrent?: number | undefined;
279
+ schedule?: string | undefined;
280
+ totalRuns?: number | undefined;
281
+ }>, {
282
+ name: string;
283
+ triggerType: "token" | "cron" | "continuous";
129
284
  enabled: boolean;
130
285
  spawnParams: {
131
286
  prompt: string;
@@ -142,10 +297,12 @@ export declare const CreateScheduledTaskSchema: z.ZodObject<{
142
297
  missedRunPolicy?: "skip" | "run-once" | undefined;
143
298
  circuitBreakerThreshold?: number | undefined;
144
299
  };
300
+ maxConcurrent: number;
145
301
  machineId?: string | undefined;
302
+ schedule?: string | undefined;
303
+ totalRuns?: number | undefined;
146
304
  }, {
147
305
  name: string;
148
- schedule: string;
149
306
  spawnParams: {
150
307
  prompt: string;
151
308
  model?: string | undefined;
@@ -162,14 +319,64 @@ export declare const CreateScheduledTaskSchema: z.ZodObject<{
162
319
  circuitBreakerThreshold?: number | undefined;
163
320
  };
164
321
  machineId?: string | undefined;
322
+ triggerType?: "token" | "cron" | "continuous" | undefined;
165
323
  enabled?: boolean | undefined;
324
+ maxConcurrent?: number | undefined;
325
+ schedule?: string | undefined;
326
+ totalRuns?: number | undefined;
327
+ }>, {
328
+ name: string;
329
+ triggerType: "token" | "cron" | "continuous";
330
+ enabled: boolean;
331
+ spawnParams: {
332
+ prompt: string;
333
+ model?: string | undefined;
334
+ agentType?: "claude" | "copilot" | "opencode" | "codex" | "gemini" | "hermes" | "openclaw" | undefined;
335
+ agent?: string | undefined;
336
+ cwd?: string | undefined;
337
+ startupScripts?: string[] | undefined;
338
+ maxExecutionMs?: number | undefined;
339
+ retryPolicy?: {
340
+ maxRetries: number;
341
+ retryDelayMs: number;
342
+ } | undefined;
343
+ missedRunPolicy?: "skip" | "run-once" | undefined;
344
+ circuitBreakerThreshold?: number | undefined;
345
+ };
346
+ maxConcurrent: number;
347
+ machineId?: string | undefined;
348
+ schedule?: string | undefined;
349
+ totalRuns?: number | undefined;
350
+ }, {
351
+ name: string;
352
+ spawnParams: {
353
+ prompt: string;
354
+ model?: string | undefined;
355
+ agentType?: "claude" | "copilot" | "opencode" | "codex" | "gemini" | "hermes" | "openclaw" | undefined;
356
+ agent?: string | undefined;
357
+ cwd?: string | undefined;
358
+ startupScripts?: string[] | undefined;
359
+ maxExecutionMs?: number | undefined;
360
+ retryPolicy?: {
361
+ maxRetries?: number | undefined;
362
+ retryDelayMs?: number | undefined;
363
+ } | undefined;
364
+ missedRunPolicy?: "skip" | "run-once" | undefined;
365
+ circuitBreakerThreshold?: number | undefined;
366
+ };
367
+ machineId?: string | undefined;
368
+ triggerType?: "token" | "cron" | "continuous" | undefined;
369
+ enabled?: boolean | undefined;
370
+ maxConcurrent?: number | undefined;
371
+ schedule?: string | undefined;
372
+ totalRuns?: number | undefined;
166
373
  }>;
167
374
  export type CreateScheduledTask = z.infer<typeof CreateScheduledTaskSchema>;
168
375
  export declare const UpdateScheduledTaskSchema: z.ZodObject<{
169
376
  name: z.ZodOptional<z.ZodString>;
170
377
  schedule: z.ZodOptional<z.ZodString>;
171
- enabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
172
- machineId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
378
+ enabled: z.ZodOptional<z.ZodBoolean>;
379
+ machineId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
173
380
  spawnParams: z.ZodOptional<z.ZodObject<{
174
381
  model: z.ZodOptional<z.ZodOptional<z.ZodString>>;
175
382
  agentType: z.ZodOptional<z.ZodEnum<["claude", "copilot", "opencode", "codex", "gemini", "hermes", "openclaw"]>>;
@@ -220,10 +427,11 @@ export declare const UpdateScheduledTaskSchema: z.ZodObject<{
220
427
  missedRunPolicy?: "skip" | "run-once" | undefined;
221
428
  circuitBreakerThreshold?: number | undefined;
222
429
  }>>;
430
+ maxConcurrent: z.ZodOptional<z.ZodNumber>;
431
+ totalRuns: z.ZodOptional<z.ZodNumber>;
223
432
  }, "strip", z.ZodTypeAny, {
224
433
  name?: string | undefined;
225
- machineId?: string | undefined;
226
- schedule?: string | undefined;
434
+ machineId?: string | null | undefined;
227
435
  enabled?: boolean | undefined;
228
436
  spawnParams?: {
229
437
  prompt: string;
@@ -240,10 +448,12 @@ export declare const UpdateScheduledTaskSchema: z.ZodObject<{
240
448
  missedRunPolicy?: "skip" | "run-once" | undefined;
241
449
  circuitBreakerThreshold?: number | undefined;
242
450
  } | undefined;
451
+ maxConcurrent?: number | undefined;
452
+ schedule?: string | undefined;
453
+ totalRuns?: number | undefined;
243
454
  }, {
244
455
  name?: string | undefined;
245
- machineId?: string | undefined;
246
- schedule?: string | undefined;
456
+ machineId?: string | null | undefined;
247
457
  enabled?: boolean | undefined;
248
458
  spawnParams?: {
249
459
  prompt: string;
@@ -260,62 +470,190 @@ export declare const UpdateScheduledTaskSchema: z.ZodObject<{
260
470
  missedRunPolicy?: "skip" | "run-once" | undefined;
261
471
  circuitBreakerThreshold?: number | undefined;
262
472
  } | undefined;
473
+ maxConcurrent?: number | undefined;
474
+ schedule?: string | undefined;
475
+ totalRuns?: number | undefined;
263
476
  }>;
264
477
  export type UpdateScheduledTask = z.infer<typeof UpdateScheduledTaskSchema>;
265
478
  export declare const ScheduledTaskSummarySchema: z.ZodObject<{
266
479
  id: z.ZodString;
267
480
  name: z.ZodString;
268
- schedule: z.ZodString;
481
+ schedule: z.ZodNullable<z.ZodString>;
482
+ triggerType: z.ZodEnum<["cron", "token", "continuous"]>;
269
483
  enabled: z.ZodBoolean;
270
484
  machineId: z.ZodNullable<z.ZodString>;
485
+ triggerToken: z.ZodNullable<z.ZodString>;
486
+ maxConcurrent: z.ZodOptional<z.ZodNumber>;
487
+ totalRuns: z.ZodNullable<z.ZodNumber>;
488
+ completedRuns: z.ZodNullable<z.ZodNumber>;
271
489
  nextRunAt: z.ZodNullable<z.ZodString>;
272
490
  lastRunAt: z.ZodNullable<z.ZodString>;
273
491
  lastExecution: z.ZodNullable<z.ZodObject<{
274
492
  status: z.ZodEnum<["pending", "running", "completed", "failed", "lost", "skipped", "cancelled"]>;
275
493
  summary: z.ZodNullable<z.ZodString>;
494
+ resultData: z.ZodNullable<z.ZodObject<{
495
+ status: z.ZodEnum<["done", "failed"]>;
496
+ headline: z.ZodOptional<z.ZodString>;
497
+ summary: z.ZodOptional<z.ZodString>;
498
+ outcome: z.ZodOptional<z.ZodString>;
499
+ reason: z.ZodOptional<z.ZodString>;
500
+ suggestion: z.ZodOptional<z.ZodString>;
501
+ unstructured: z.ZodOptional<z.ZodBoolean>;
502
+ }, "strip", z.ZodTypeAny, {
503
+ status: "failed" | "done";
504
+ reason?: string | undefined;
505
+ summary?: string | undefined;
506
+ headline?: string | undefined;
507
+ outcome?: string | undefined;
508
+ suggestion?: string | undefined;
509
+ unstructured?: boolean | undefined;
510
+ }, {
511
+ status: "failed" | "done";
512
+ reason?: string | undefined;
513
+ summary?: string | undefined;
514
+ headline?: string | undefined;
515
+ outcome?: string | undefined;
516
+ suggestion?: string | undefined;
517
+ unstructured?: boolean | undefined;
518
+ }>>;
276
519
  }, "strip", z.ZodTypeAny, {
277
520
  status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
278
521
  summary: string | null;
522
+ resultData: {
523
+ status: "failed" | "done";
524
+ reason?: string | undefined;
525
+ summary?: string | undefined;
526
+ headline?: string | undefined;
527
+ outcome?: string | undefined;
528
+ suggestion?: string | undefined;
529
+ unstructured?: boolean | undefined;
530
+ } | null;
279
531
  }, {
280
532
  status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
281
533
  summary: string | null;
534
+ resultData: {
535
+ status: "failed" | "done";
536
+ reason?: string | undefined;
537
+ summary?: string | undefined;
538
+ headline?: string | undefined;
539
+ outcome?: string | undefined;
540
+ suggestion?: string | undefined;
541
+ unstructured?: boolean | undefined;
542
+ } | null;
282
543
  }>>;
283
544
  createdAt: z.ZodString;
284
545
  updatedAt: z.ZodString;
285
546
  consecutiveFailures: z.ZodNumber;
286
547
  disabledReason: z.ZodNullable<z.ZodString>;
548
+ stats: z.ZodNullable<z.ZodObject<{
549
+ totalExecutions: z.ZodNumber;
550
+ successRate: z.ZodNumber;
551
+ avgDurationMs: z.ZodNullable<z.ZodNumber>;
552
+ executions: z.ZodArray<z.ZodObject<{
553
+ durationMs: z.ZodNullable<z.ZodNumber>;
554
+ status: z.ZodEnum<["pending", "running", "completed", "failed", "lost", "skipped", "cancelled"]>;
555
+ }, "strip", z.ZodTypeAny, {
556
+ status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
557
+ durationMs: number | null;
558
+ }, {
559
+ status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
560
+ durationMs: number | null;
561
+ }>, "many">;
562
+ }, "strip", z.ZodTypeAny, {
563
+ successRate: number;
564
+ totalExecutions: number;
565
+ avgDurationMs: number | null;
566
+ executions: {
567
+ status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
568
+ durationMs: number | null;
569
+ }[];
570
+ }, {
571
+ successRate: number;
572
+ totalExecutions: number;
573
+ avgDurationMs: number | null;
574
+ executions: {
575
+ status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
576
+ durationMs: number | null;
577
+ }[];
578
+ }>>;
287
579
  }, "strip", z.ZodTypeAny, {
288
580
  name: string;
289
581
  id: string;
290
582
  createdAt: string;
291
583
  updatedAt: string;
292
584
  machineId: string | null;
293
- schedule: string;
585
+ stats: {
586
+ successRate: number;
587
+ totalExecutions: number;
588
+ avgDurationMs: number | null;
589
+ executions: {
590
+ status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
591
+ durationMs: number | null;
592
+ }[];
593
+ } | null;
594
+ triggerType: "token" | "cron" | "continuous";
294
595
  enabled: boolean;
596
+ schedule: string | null;
597
+ totalRuns: number | null;
598
+ triggerToken: string | null;
599
+ completedRuns: number | null;
295
600
  nextRunAt: string | null;
296
601
  lastRunAt: string | null;
297
602
  lastExecution: {
298
603
  status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
299
604
  summary: string | null;
605
+ resultData: {
606
+ status: "failed" | "done";
607
+ reason?: string | undefined;
608
+ summary?: string | undefined;
609
+ headline?: string | undefined;
610
+ outcome?: string | undefined;
611
+ suggestion?: string | undefined;
612
+ unstructured?: boolean | undefined;
613
+ } | null;
300
614
  } | null;
301
615
  consecutiveFailures: number;
302
616
  disabledReason: string | null;
617
+ maxConcurrent?: number | undefined;
303
618
  }, {
304
619
  name: string;
305
620
  id: string;
306
621
  createdAt: string;
307
622
  updatedAt: string;
308
623
  machineId: string | null;
309
- schedule: string;
624
+ stats: {
625
+ successRate: number;
626
+ totalExecutions: number;
627
+ avgDurationMs: number | null;
628
+ executions: {
629
+ status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
630
+ durationMs: number | null;
631
+ }[];
632
+ } | null;
633
+ triggerType: "token" | "cron" | "continuous";
310
634
  enabled: boolean;
635
+ schedule: string | null;
636
+ totalRuns: number | null;
637
+ triggerToken: string | null;
638
+ completedRuns: number | null;
311
639
  nextRunAt: string | null;
312
640
  lastRunAt: string | null;
313
641
  lastExecution: {
314
642
  status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
315
643
  summary: string | null;
644
+ resultData: {
645
+ status: "failed" | "done";
646
+ reason?: string | undefined;
647
+ summary?: string | undefined;
648
+ headline?: string | undefined;
649
+ outcome?: string | undefined;
650
+ suggestion?: string | undefined;
651
+ unstructured?: boolean | undefined;
652
+ } | null;
316
653
  } | null;
317
654
  consecutiveFailures: number;
318
655
  disabledReason: string | null;
656
+ maxConcurrent?: number | undefined;
319
657
  }>;
320
658
  export type ScheduledTaskSummary = z.infer<typeof ScheduledTaskSummarySchema>;
321
659
  export declare const TaskExecutionSchema: z.ZodObject<{
@@ -323,13 +661,38 @@ export declare const TaskExecutionSchema: z.ZodObject<{
323
661
  taskId: z.ZodString;
324
662
  sessionId: z.ZodNullable<z.ZodString>;
325
663
  status: z.ZodEnum<["pending", "running", "completed", "failed", "lost", "skipped", "cancelled"]>;
326
- trigger: z.ZodEnum<["scheduled", "manual"]>;
664
+ trigger: z.ZodEnum<["scheduled", "manual", "token", "chain"]>;
327
665
  scheduledAt: z.ZodString;
328
666
  startedAt: z.ZodNullable<z.ZodString>;
329
667
  completedAt: z.ZodNullable<z.ZodString>;
330
668
  error: z.ZodNullable<z.ZodString>;
331
669
  retryCount: z.ZodNumber;
332
670
  summary: z.ZodNullable<z.ZodString>;
671
+ resultData: z.ZodNullable<z.ZodObject<{
672
+ status: z.ZodEnum<["done", "failed"]>;
673
+ headline: z.ZodOptional<z.ZodString>;
674
+ summary: z.ZodOptional<z.ZodString>;
675
+ outcome: z.ZodOptional<z.ZodString>;
676
+ reason: z.ZodOptional<z.ZodString>;
677
+ suggestion: z.ZodOptional<z.ZodString>;
678
+ unstructured: z.ZodOptional<z.ZodBoolean>;
679
+ }, "strip", z.ZodTypeAny, {
680
+ status: "failed" | "done";
681
+ reason?: string | undefined;
682
+ summary?: string | undefined;
683
+ headline?: string | undefined;
684
+ outcome?: string | undefined;
685
+ suggestion?: string | undefined;
686
+ unstructured?: boolean | undefined;
687
+ }, {
688
+ status: "failed" | "done";
689
+ reason?: string | undefined;
690
+ summary?: string | undefined;
691
+ headline?: string | undefined;
692
+ outcome?: string | undefined;
693
+ suggestion?: string | undefined;
694
+ unstructured?: boolean | undefined;
695
+ }>>;
333
696
  createdAt: z.ZodString;
334
697
  }, "strip", z.ZodTypeAny, {
335
698
  status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
@@ -340,7 +703,16 @@ export declare const TaskExecutionSchema: z.ZodObject<{
340
703
  id: string;
341
704
  createdAt: string;
342
705
  summary: string | null;
343
- trigger: "scheduled" | "manual";
706
+ resultData: {
707
+ status: "failed" | "done";
708
+ reason?: string | undefined;
709
+ summary?: string | undefined;
710
+ headline?: string | undefined;
711
+ outcome?: string | undefined;
712
+ suggestion?: string | undefined;
713
+ unstructured?: boolean | undefined;
714
+ } | null;
715
+ trigger: "scheduled" | "token" | "manual" | "chain";
344
716
  scheduledAt: string;
345
717
  completedAt: string | null;
346
718
  retryCount: number;
@@ -353,10 +725,61 @@ export declare const TaskExecutionSchema: z.ZodObject<{
353
725
  id: string;
354
726
  createdAt: string;
355
727
  summary: string | null;
356
- trigger: "scheduled" | "manual";
728
+ resultData: {
729
+ status: "failed" | "done";
730
+ reason?: string | undefined;
731
+ summary?: string | undefined;
732
+ headline?: string | undefined;
733
+ outcome?: string | undefined;
734
+ suggestion?: string | undefined;
735
+ unstructured?: boolean | undefined;
736
+ } | null;
737
+ trigger: "scheduled" | "token" | "manual" | "chain";
357
738
  scheduledAt: string;
358
739
  completedAt: string | null;
359
740
  retryCount: number;
360
741
  }>;
361
742
  export type TaskExecution = z.infer<typeof TaskExecutionSchema>;
743
+ /** POST /v1/triggers/:token request body */
744
+ export declare const TriggerCallSchema: z.ZodObject<{
745
+ context: z.ZodOptional<z.ZodString>;
746
+ }, "strip", z.ZodTypeAny, {
747
+ context?: string | undefined;
748
+ }, {
749
+ context?: string | undefined;
750
+ }>;
751
+ export type TriggerCall = z.infer<typeof TriggerCallSchema>;
752
+ /** GET /v1/triggers/:token/execution response */
753
+ export declare const TriggerExecutionSchema: z.ZodObject<{
754
+ executionId: z.ZodString;
755
+ status: z.ZodEnum<["pending", "running", "completed", "failed", "lost", "skipped", "cancelled"]>;
756
+ startedAt: z.ZodNullable<z.ZodString>;
757
+ completedAt: z.ZodNullable<z.ZodString>;
758
+ summary: z.ZodNullable<z.ZodString>;
759
+ error: z.ZodNullable<z.ZodString>;
760
+ }, "strip", z.ZodTypeAny, {
761
+ status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
762
+ startedAt: string | null;
763
+ error: string | null;
764
+ summary: string | null;
765
+ completedAt: string | null;
766
+ executionId: string;
767
+ }, {
768
+ status: "running" | "completed" | "failed" | "cancelled" | "pending" | "lost" | "skipped";
769
+ startedAt: string | null;
770
+ error: string | null;
771
+ summary: string | null;
772
+ completedAt: string | null;
773
+ executionId: string;
774
+ }>;
775
+ export type TriggerExecution = z.infer<typeof TriggerExecutionSchema>;
776
+ /** POST /v1/scheduled-tasks/:id/regenerate-token response */
777
+ export declare const RegenerateTokenResponseSchema: z.ZodObject<{
778
+ triggerToken: z.ZodString;
779
+ }, "strip", z.ZodTypeAny, {
780
+ triggerToken: string;
781
+ }, {
782
+ triggerToken: string;
783
+ }>;
784
+ export type RegenerateTokenResponse = z.infer<typeof RegenerateTokenResponseSchema>;
362
785
  //# sourceMappingURL=scheduledTasks.d.ts.map
@@ -1 +1 @@
1
- "use strict";import{z as e}from"zod";import{SpawnSessionParamsSchema as t}from"./rpc.js";export const RetryPolicySchema=e.object({maxRetries:e.number().int().min(0).max(10).default(0),retryDelayMs:e.number().int().min(1e3).max(3e5).default(6e4)}),MissedRunPolicySchema=e.enum(["skip","run-once"]),ScheduledSpawnParamsSchema=t.pick({agentType:!0,cwd:!0,prompt:!0,model:!0,agent:!0,startupScripts:!0}).partial().required({prompt:!0}).extend({maxExecutionMs:e.number().int().positive().max(216e5).optional(),retryPolicy:RetryPolicySchema.optional(),missedRunPolicy:MissedRunPolicySchema.optional(),circuitBreakerThreshold:e.number().int().min(1).max(20).optional()}),TaskExecutionStatusSchema=e.enum(["pending","running","completed","failed","lost","skipped","cancelled"]),TaskExecutionTriggerSchema=e.enum(["scheduled","manual"]),CRON_RE=/^[0-9*/, -]+ [0-9*/, -]+ [0-9*/, -]+ [0-9*/, -]+ [0-9*/, -]+$/,CreateScheduledTaskSchema=e.object({name:e.string().min(1).max(100),schedule:e.string().min(1).max(100).regex(CRON_RE,"Invalid 5-field cron expression"),enabled:e.boolean().optional().default(!0),machineId:e.string().min(1).optional(),spawnParams:ScheduledSpawnParamsSchema}),UpdateScheduledTaskSchema=CreateScheduledTaskSchema.partial(),ScheduledTaskSummarySchema=e.object({id:e.string(),name:e.string(),schedule:e.string(),enabled:e.boolean(),machineId:e.string().nullable(),nextRunAt:e.string().nullable(),lastRunAt:e.string().nullable(),lastExecution:e.object({status:TaskExecutionStatusSchema,summary:e.string().nullable()}).nullable(),createdAt:e.string(),updatedAt:e.string(),consecutiveFailures:e.number().int(),disabledReason:e.string().nullable()}),TaskExecutionSchema=e.object({id:e.string(),taskId:e.string(),sessionId:e.string().nullable(),status:TaskExecutionStatusSchema,trigger:TaskExecutionTriggerSchema,scheduledAt:e.string(),startedAt:e.string().nullable(),completedAt:e.string().nullable(),error:e.string().nullable(),retryCount:e.number(),summary:e.string().nullable(),createdAt:e.string()});
1
+ "use strict";import{z as e}from"zod";import{SpawnSessionParamsSchema as n}from"./rpc.js";export const RetryPolicySchema=e.object({maxRetries:e.number().int().min(0).max(10).default(0),retryDelayMs:e.number().int().min(1e3).max(3e5).default(6e4)}),MissedRunPolicySchema=e.enum(["skip","run-once"]),ScheduledSpawnParamsSchema=n.pick({agentType:!0,cwd:!0,prompt:!0,model:!0,agent:!0,startupScripts:!0}).partial().required({prompt:!0}).extend({maxExecutionMs:e.number().int().positive().max(216e5).optional(),retryPolicy:RetryPolicySchema.optional(),missedRunPolicy:MissedRunPolicySchema.optional(),circuitBreakerThreshold:e.number().int().min(1).max(20).optional()}),TaskExecutionStatusSchema=e.enum(["pending","running","completed","failed","lost","skipped","cancelled"]),TaskExecutionTriggerSchema=e.enum(["scheduled","manual","token","chain"]),TaskTriggerTypeSchema=e.enum(["cron","token","continuous"]),TaskResultSchema=e.object({status:e.enum(["done","failed"]),headline:e.string().max(200).optional(),summary:e.string().max(4e3).optional(),outcome:e.string().max(8e3).optional(),reason:e.string().max(2e3).optional(),suggestion:e.string().max(2e3).optional(),unstructured:e.boolean().optional()}),TaskExecutionBarSchema=e.object({durationMs:e.number().int().nullable(),status:TaskExecutionStatusSchema}),TaskStatsSchema=e.object({successRate:e.number(),totalExecutions:e.number().int(),avgDurationMs:e.number().int().nullable(),maxDurationMs:e.number().int().nullable(),executions:e.array(TaskExecutionBarSchema)}),TaskCardStatsSchema=e.object({totalExecutions:e.number().int(),successRate:e.number(),avgDurationMs:e.number().int().nullable(),executions:e.array(TaskExecutionBarSchema)}),CRON_RE=/^[0-9*/, -]+ [0-9*/, -]+ [0-9*/, -]+ [0-9*/, -]+ [0-9*/, -]+$/;const a={name:e.string().min(1).max(100),triggerType:TaskTriggerTypeSchema,schedule:e.string().min(1).max(100).optional(),enabled:e.boolean().optional(),machineId:e.string().min(1).optional(),spawnParams:ScheduledSpawnParamsSchema.optional(),maxConcurrent:e.number().int().min(1).max(50).optional(),totalRuns:e.number().int().min(1).max(1e4).optional()};export const CreateScheduledTaskSchema=e.object({...a,triggerType:TaskTriggerTypeSchema.default("cron"),enabled:e.boolean().optional().default(!0),spawnParams:ScheduledSpawnParamsSchema,maxConcurrent:e.number().int().min(1).max(50).optional().default(1)}).refine(t=>t.triggerType!=="cron"?!0:!!(t.schedule&&CRON_RE.test(t.schedule)),{message:"schedule is required for cron trigger type",path:["schedule"]}).refine(t=>t.triggerType!=="continuous"?!0:t.totalRuns!==void 0&&t.totalRuns>=1,{message:"totalRuns is required for continuous trigger type",path:["totalRuns"]}),UpdateScheduledTaskSchema=e.object({name:e.string().min(1).max(100).optional(),schedule:e.string().min(1).max(100).optional(),enabled:e.boolean().optional(),machineId:e.string().min(1).optional().nullable(),spawnParams:ScheduledSpawnParamsSchema.optional(),maxConcurrent:e.number().int().min(1).max(50).optional(),totalRuns:e.number().int().min(1).max(1e4).optional()}),ScheduledTaskSummarySchema=e.object({id:e.string(),name:e.string(),schedule:e.string().nullable(),triggerType:TaskTriggerTypeSchema,enabled:e.boolean(),machineId:e.string().nullable(),triggerToken:e.string().nullable(),maxConcurrent:e.number().int().optional(),totalRuns:e.number().int().nullable(),completedRuns:e.number().int().nullable(),nextRunAt:e.string().nullable(),lastRunAt:e.string().nullable(),lastExecution:e.object({status:TaskExecutionStatusSchema,summary:e.string().nullable(),resultData:TaskResultSchema.nullable()}).nullable(),createdAt:e.string(),updatedAt:e.string(),consecutiveFailures:e.number().int(),disabledReason:e.string().nullable(),stats:TaskCardStatsSchema.nullable()}),TaskExecutionSchema=e.object({id:e.string(),taskId:e.string(),sessionId:e.string().nullable(),status:TaskExecutionStatusSchema,trigger:TaskExecutionTriggerSchema,scheduledAt:e.string(),startedAt:e.string().nullable(),completedAt:e.string().nullable(),error:e.string().nullable(),retryCount:e.number(),summary:e.string().nullable(),resultData:TaskResultSchema.nullable(),createdAt:e.string()}),TriggerCallSchema=e.object({context:e.string().max(5e3).optional()}),TriggerExecutionSchema=e.object({executionId:e.string(),status:TaskExecutionStatusSchema,startedAt:e.string().nullable(),completedAt:e.string().nullable(),summary:e.string().nullable(),error:e.string().nullable()}),RegenerateTokenResponseSchema=e.object({triggerToken:e.string()});
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Task delivery protocol — serialize/parse the structured <task-result>
3
+ * agents emit at the end of a scheduled task.
4
+ *
5
+ * Transport reuses the existing summary string channel (sendSessionSummary),
6
+ * so this module is deliberately string-in/string-out with graceful
7
+ * degradation for legacy daemons and malformed agent output.
8
+ */
9
+ import { type TaskResult } from './scheduledTasks.js';
10
+ export declare const TASK_RESULT_PREFIX = "[TASK_RESULT]";
11
+ /** daemon → server: structured result to a prefixed JSON payload. */
12
+ export declare function serializeTaskResult(result: TaskResult): string;
13
+ /**
14
+ * server ← daemon: parse a summary-channel payload into a TaskResult plus a
15
+ * flag telling the caller whether to treat this as a terminal failure.
16
+ * Never throws — always degrades to an unstructured result.
17
+ */
18
+ export declare function parseTaskResultPayload(payload: string): {
19
+ result: TaskResult;
20
+ terminalFailure: boolean;
21
+ };
22
+ /**
23
+ * daemon: tolerantly extract a <task-result> block from raw agent text.
24
+ * Returns null when no block is present (caller decides how to degrade).
25
+ * Handles: single/double quotes, missing closing tag, surrounding markdown.
26
+ */
27
+ export declare function extractTaskResultFromText(text: string): TaskResult | null;
28
+ //# sourceMappingURL=taskResult.d.ts.map
@@ -0,0 +1 @@
1
+ "use strict";import{TaskResultSchema as i}from"./scheduledTasks.js";export const TASK_RESULT_PREFIX="[TASK_RESULT]";export function serializeTaskResult(t){return TASK_RESULT_PREFIX+JSON.stringify(t)}export function parseTaskResultPayload(t){if(t.startsWith(TASK_RESULT_PREFIX)){const e=t.slice(TASK_RESULT_PREFIX.length);try{const n=i.parse(JSON.parse(e));return{result:n,terminalFailure:n.status==="failed"}}catch{return{result:{status:"failed",reason:"malformed task-result payload",unstructured:!0},terminalFailure:!1}}}return t.startsWith("[FAILED]")?{result:{status:"failed",reason:t.slice(8).trim()},terminalFailure:!0}:t.startsWith("[UNKNOWN]")?{result:{status:"failed",reason:"no completion marker after reminder",unstructured:!0},terminalFailure:!1}:{result:{status:"done",summary:t.slice(0,4e3),unstructured:!0},terminalFailure:!1}}const o=/<task-result\b[^>]*>([\s\S]*?)(?:<\/task-result>|$)/i,l=/status\s*=\s*['"]?(done|failed)['"]?/i,c={headline:200,summary:4e3,outcome:8e3,reason:2e3,suggestion:2e3};function r(t,e){const a=t.match(new RegExp(`<${e}\\b[^>]*>([\\s\\S]*?)</${e}>`,"i"))?.[1]?.trim();if(!a)return;const u=c[e];return u?a.slice(0,u):a}export function extractTaskResultFromText(t){const e=t.match(o);if(!e)return null;const u=e[0].slice(0,e[0].indexOf(">")+1).match(l)?.[1]?.toLowerCase()==="failed"?"failed":"done",s=e[1]??"";return{status:u,headline:r(s,"headline"),summary:r(s,"summary"),outcome:r(s,"outcome"),reason:r(s,"reason"),suggestion:r(s,"suggestion")}}
@@ -18,8 +18,8 @@ export declare const TelemetryEventSchema: z.ZodObject<{
18
18
  daemonVersion: string;
19
19
  timestamp: string;
20
20
  agentType?: string | undefined;
21
- agentVersion?: string | undefined;
22
21
  context?: Record<string, unknown> | undefined;
22
+ agentVersion?: string | undefined;
23
23
  }, {
24
24
  code: string;
25
25
  message: string;
@@ -27,8 +27,8 @@ export declare const TelemetryEventSchema: z.ZodObject<{
27
27
  daemonVersion: string;
28
28
  timestamp: string;
29
29
  agentType?: string | undefined;
30
- agentVersion?: string | undefined;
31
30
  context?: Record<string, unknown> | undefined;
31
+ agentVersion?: string | undefined;
32
32
  }>;
33
33
  export type TelemetryEvent = z.infer<typeof TelemetryEventSchema>;
34
34
  export declare const TelemetryReportPayloadSchema: z.ZodObject<{
@@ -49,8 +49,8 @@ export declare const TelemetryReportPayloadSchema: z.ZodObject<{
49
49
  daemonVersion: string;
50
50
  timestamp: string;
51
51
  agentType?: string | undefined;
52
- agentVersion?: string | undefined;
53
52
  context?: Record<string, unknown> | undefined;
53
+ agentVersion?: string | undefined;
54
54
  }, {
55
55
  code: string;
56
56
  message: string;
@@ -58,8 +58,8 @@ export declare const TelemetryReportPayloadSchema: z.ZodObject<{
58
58
  daemonVersion: string;
59
59
  timestamp: string;
60
60
  agentType?: string | undefined;
61
- agentVersion?: string | undefined;
62
61
  context?: Record<string, unknown> | undefined;
62
+ agentVersion?: string | undefined;
63
63
  }>, "many">;
64
64
  }, "strip", z.ZodTypeAny, {
65
65
  machineId: string;
@@ -70,8 +70,8 @@ export declare const TelemetryReportPayloadSchema: z.ZodObject<{
70
70
  daemonVersion: string;
71
71
  timestamp: string;
72
72
  agentType?: string | undefined;
73
- agentVersion?: string | undefined;
74
73
  context?: Record<string, unknown> | undefined;
74
+ agentVersion?: string | undefined;
75
75
  }[];
76
76
  }, {
77
77
  machineId: string;
@@ -82,8 +82,8 @@ export declare const TelemetryReportPayloadSchema: z.ZodObject<{
82
82
  daemonVersion: string;
83
83
  timestamp: string;
84
84
  agentType?: string | undefined;
85
- agentVersion?: string | undefined;
86
85
  context?: Record<string, unknown> | undefined;
86
+ agentVersion?: string | undefined;
87
87
  }[];
88
88
  }>;
89
89
  export type TelemetryReportPayload = z.infer<typeof TelemetryReportPayloadSchema>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentdock/wire",
3
- "version": "0.0.64",
3
+ "version": "0.0.65",
4
4
  "description": "Protocol definitions for AgentDock — Zod schemas, message formats, RPC types",
5
5
  "license": "UNLICENSED",
6
6
  "author": "CCPark",