@agentdock/wire 0.0.91 → 0.0.93
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/dist/features.d.ts +3 -1
- package/dist/features.js +1 -1
- package/dist/notification.d.ts +1 -1
- package/dist/notification.js +1 -1
- package/dist/rpc.d.ts +1 -6
- package/dist/rpc.js +1 -1
- package/package.json +2 -3
package/dist/features.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ export interface FeatureDefinition {
|
|
|
12
12
|
readonly requiredMethods: readonly string[];
|
|
13
13
|
/** Version where this feature was first introduced. */
|
|
14
14
|
readonly sinceVersion: string;
|
|
15
|
+
/** How a machine's availability should be determined. Defaults to registered RPC methods. */
|
|
16
|
+
readonly availability?: 'methods' | 'daemon-version';
|
|
15
17
|
/** Edition(s) this feature applies to. Undefined = both editions. */
|
|
16
18
|
readonly edition?: 'personal' | 'enterprise';
|
|
17
19
|
/** Sub-features gated by daemon version within this parent feature. */
|
|
@@ -26,7 +28,7 @@ export declare const FEATURE_REGISTRY: readonly FeatureDefinition[];
|
|
|
26
28
|
* Check whether a specific feature is available given the set of supported methods.
|
|
27
29
|
* A feature is available when ALL its required methods are present.
|
|
28
30
|
*/
|
|
29
|
-
export declare function isFeatureAvailable(featureId: string, supportedMethods: readonly string[]): boolean;
|
|
31
|
+
export declare function isFeatureAvailable(featureId: string, supportedMethods: readonly string[], daemonVersion?: string): boolean;
|
|
30
32
|
/**
|
|
31
33
|
* Check whether a sub-feature is available given supported methods and daemon version.
|
|
32
34
|
* Requires the parent feature to be available AND the daemon version to satisfy the sub-feature minimum.
|
package/dist/features.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{satisfiesMin as
|
|
1
|
+
"use strict";import{satisfiesMin as a}from"./semver.js";export const FEATURE_REGISTRY=[{id:"agent-settings",requiredMethods:["get-agent-settings","set-agent-settings"],sinceVersion:"0.0.4",subFeatures:[{id:"startup-scripts",sinceVersion:"0.0.30"}]},{id:"labs-settings",requiredMethods:["get-labs-settings","set-labs-settings"],sinceVersion:"0.0.12"},{id:"history-sync",requiredMethods:["backfill-history-session"],sinceVersion:"0.0.12"},{id:"check-path",requiredMethods:["check-path"],sinceVersion:"0.0.7"},{id:"remote-upgrade",requiredMethods:["trigger-upgrade"],sinceVersion:"0.0.30"},{id:"checkpoint",requiredMethods:["checkpoint-list","checkpoint-diff","checkpoint-rollback"],sinceVersion:"0.0.30",subFeatures:[{id:"conversation-rollback",sinceVersion:"0.0.32"}]},{id:"scheduled-tasks",requiredMethods:["spawn-session"],sinceVersion:"0.0.35"},{id:"auto-upgrade-daemon",requiredMethods:["set-auto-upgrade-daemon"],sinceVersion:"0.0.31"},{id:"file-upload",requiredMethods:["file-relay-receive"],sinceVersion:"0.0.36",edition:"personal"},{id:"context-usage",requiredMethods:["get-context-usage"],sinceVersion:"0.0.91",availability:"daemon-version"}];export function isFeatureAvailable(o,t,r){const e=FEATURE_REGISTRY.find(n=>n.id===o);if(!e)return!1;if(e.availability==="daemon-version")return r!=null&&a(r,e.sinceVersion);const i=new Set(t);return e.requiredMethods.every(n=>i.has(n))}export function isSubFeatureAvailable(o,t,r,e){const i=FEATURE_REGISTRY.find(s=>s.id===o);if(!i||!isFeatureAvailable(o,r))return!1;const n=i.subFeatures?.find(s=>s.id===t);if(!n||!e||!a(e,n.sinceVersion))return!1;if(n.requiredMethods){const s=new Set(r);return n.requiredMethods.every(d=>s.has(d))}return!0}export function getSubFeatureMinVersion(o,t){return FEATURE_REGISTRY.find(e=>e.id===o)?.subFeatures?.find(e=>e.id===t)?.sinceVersion}export function getUnavailableFeatures(o,t){const r=[],e=new Set(o);for(const i of FEATURE_REGISTRY)if(!(i.availability==="daemon-version"?t!=null&&a(t,i.sinceVersion):i.requiredMethods.every(s=>e.has(s))))r.push({id:i.id,sinceVersion:i.sinceVersion});else if(i.subFeatures&&t)for(const s of i.subFeatures){const d=!a(t,s.sinceVersion),u=s.requiredMethods!=null&&!s.requiredMethods.every(c=>e.has(c));(d||u)&&r.push({id:`${i.id}/${s.id}`,sinceVersion:s.sinceVersion})}return r}
|
package/dist/notification.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export declare const DispatchNotificationParamsSchema: z.ZodObject<{
|
|
|
12
12
|
sessionId: z.ZodOptional<z.ZodString>;
|
|
13
13
|
taskId: z.ZodOptional<z.ZodString>;
|
|
14
14
|
data: z.ZodOptional<z.ZodObject<{
|
|
15
|
-
url: z.ZodOptional<z.ZodString
|
|
15
|
+
url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
16
16
|
}, "strict", z.ZodTypeAny, {
|
|
17
17
|
url?: string | undefined;
|
|
18
18
|
}, {
|
package/dist/notification.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{z as t}from"zod";export const NotificationEventTypeSchema=t.enum(["completed","error","task_completed","task_failed","budget_warning","daemon_disconnected"]),DispatchNotificationParamsSchema=t.object({type:NotificationEventTypeSchema,title:t.string(),body:t.string(),machineId:t.string(),machineHostname:t.string().default(""),sessionId:t.string().optional(),taskId:t.string().optional(),data:t.object({url:
|
|
1
|
+
"use strict";import{z as t}from"zod";const i=t.string().url().refine(e=>/^https?:\/\//i.test(e),{message:"URL must use http or https"});export const NotificationEventTypeSchema=t.enum(["completed","error","task_completed","task_failed","budget_warning","daemon_disconnected"]),DispatchNotificationParamsSchema=t.object({type:NotificationEventTypeSchema,title:t.string(),body:t.string(),machineId:t.string(),machineHostname:t.string().default(""),sessionId:t.string().optional(),taskId:t.string().optional(),data:t.object({url:i.optional()}).strict().optional(),timestamp:t.number()}).strict();
|
package/dist/rpc.d.ts
CHANGED
|
@@ -953,8 +953,7 @@ export declare const AgentSettingsSchema: z.ZodObject<{
|
|
|
953
953
|
* Sensitive fields managed via separate channels (per RFC-067):
|
|
954
954
|
* - customEnv: credentials never leave daemon (not in schema)
|
|
955
955
|
* - notification: webhook URL managed via dedicated pushPreferences route (not in schema)
|
|
956
|
-
* - startupScripts:
|
|
957
|
-
* server strips it before forwarding to prevent injection (defense-in-depth)
|
|
956
|
+
* - startupScripts: managed only by the local daemon configuration file (not in schema)
|
|
958
957
|
* - machineId: routing key for multi-machine setups, always sent by web client
|
|
959
958
|
*/
|
|
960
959
|
export declare const SetAgentSettingsSchema: z.ZodObject<{
|
|
@@ -988,8 +987,6 @@ export declare const SetAgentSettingsSchema: z.ZodObject<{
|
|
|
988
987
|
}>>;
|
|
989
988
|
/** Routing key — web always sends this, server uses it for daemon targeting. */
|
|
990
989
|
machineId: z.ZodOptional<z.ZodString>;
|
|
991
|
-
/** User-defined startup scripts (string array). Daemon merge preserves local state. */
|
|
992
|
-
startupScripts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
993
990
|
} & {
|
|
994
991
|
claude: z.ZodOptional<z.ZodObject<{
|
|
995
992
|
httpProxy: z.ZodOptional<z.ZodString>;
|
|
@@ -1245,7 +1242,6 @@ export declare const SetAgentSettingsSchema: z.ZodObject<{
|
|
|
1245
1242
|
}[] | undefined;
|
|
1246
1243
|
} | undefined;
|
|
1247
1244
|
machineId?: string | undefined;
|
|
1248
|
-
startupScripts?: string[] | undefined;
|
|
1249
1245
|
defaults?: {
|
|
1250
1246
|
httpProxy?: string | undefined;
|
|
1251
1247
|
httpsProxy?: string | undefined;
|
|
@@ -1312,7 +1308,6 @@ export declare const SetAgentSettingsSchema: z.ZodObject<{
|
|
|
1312
1308
|
}[] | undefined;
|
|
1313
1309
|
} | undefined;
|
|
1314
1310
|
machineId?: string | undefined;
|
|
1315
|
-
startupScripts?: string[] | undefined;
|
|
1316
1311
|
defaults?: {
|
|
1317
1312
|
httpProxy?: string | undefined;
|
|
1318
1313
|
httpsProxy?: string | undefined;
|
package/dist/rpc.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{z as t}from"zod";import{SessionMessageSchema as n}from"./messages.js";import{CLI_AGENT_TYPES as s,SPAWNABLE_AGENTS as e}from"./messageMeta.js";import{PermissionModeSchema as i}from"./interactionEvents.js";export const RpcMethod=t.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","set-auto-upgrade-daemon","check-path","backfill-history-session","trigger-upgrade","checkpoint-list","checkpoint-diff","checkpoint-rollback","refresh-enterprise-models","cancel-task","file-relay-receive","set-debug","get-debug","record-usage","update-agent-models","update-agent-modes","dispatch-notification","get-context-usage"]),SESSION_RPC_METHODS=["answer-question","approve-permission","deny-permission","abort","stop-session","cancel-task","get-context-usage"],MACHINE_RPC_METHODS=["start-invite","get-machine-info","get-agent-settings","set-agent-settings","get-labs-settings","set-labs-settings","set-auto-upgrade-daemon","check-path","backfill-history-session","trigger-upgrade","checkpoint-list","checkpoint-diff","checkpoint-rollback","refresh-enterprise-models","dispatch-notification"],DAEMON_REQUIRED_RPC_METHODS=[...SESSION_RPC_METHODS,...MACHINE_RPC_METHODS],RpcCallSchema=t.object({method:t.string().min(1),params:t.unknown(),timeout:t.number().int().positive().default(3e4)}),RpcResultSchema=t.discriminatedUnion("ok",[t.object({ok:t.literal(!0),result:t.unknown()}),t.object({ok:t.literal(!1),error:t.string()})]),SpawnSessionParamsSchema=t.object({agentType:t.enum(s),cwd:t.string().min(1),prompt:t.string().optional(),permissionMode:i.default("default"),env:t.record(t.string()).optional(),model:t.string().optional(),baseUrl:t.string().url().optional(),appendSystemPrompt:t.string().optional(),allowedTools:t.array(t.string()).optional(),disallowedTools:t.array(t.string()).optional(),mcpConfig:t.string().optional(),resumeSessionId:t.string().optional(),serverSessionId:t.string().optional(),maxTurns:t.number().int().positive().optional(),machineId:t.string().min(1).optional(),spawnToken:t.string().optional(),systemPrompt:t.string().optional(),systemPromptFile:t.string().optional(),appendSystemPromptFile:t.string().optional(),fallbackModel:t.string().optional(),maxBudgetUsd:t.number().positive().optional(),tools:t.array(t.string()).optional(),effort:t.enum(["low","medium","high","xhigh","max"]).optional(),addDirs:t.array(t.string()).optional(),agent:t.string().optional(),agents:t.string().optional(),jsonSchema:t.string().optional(),strictMcpConfig:t.boolean().optional(),chrome:t.boolean().optional(),worktree:t.union([t.boolean(),t.string()]).optional(),forkSession:t.boolean().optional(),sessionId:t.string().uuid().optional(),settings:t.string().optional(),betas:t.array(t.string()).optional(),brief:t.boolean().optional(),noSessionPersistence:t.boolean().optional(),includePartialMessages:t.boolean().optional(),replayUserMessages:t.boolean().optional(),settingSources:t.string().optional(),disableSlashCommands:t.boolean().optional(),files:t.array(t.string()).optional(),pluginDirs:t.array(t.string()).optional(),dangerouslySkipPermissions:t.boolean().optional(),allowDangerouslySkipPermissions:t.boolean().optional(),startupScripts:t.array(t.string()).optional(),source:t.enum(["managed","history","scheduled"]).default("managed"),background:t.boolean().default(!1),useWindowsTerminal:t.boolean().optional()}).strict(),GetMessagesParamsSchema=t.object({sessionId:t.string().min(1),fromSeq:t.number().int().nonnegative().optional(),limit:t.number().int().positive().default(100)}).strict(),GetMessagesResponseSchema=t.object({messages:t.array(n),total:t.number(),hasMore:t.boolean()}).passthrough(),CustomModelSchema=t.object({id:t.string().min(1),label:t.string().min(1)}),SkillDefinitionSchema=t.object({name:t.string().min(1),description:t.string(),userInvocable:t.boolean().default(!0),source:t.enum(["project","user"]).default("project"),projectPath:t.string().optional()}).passthrough(),AGENT_ENV_NONE="none",AgentEnvConfigSchema=t.object({httpProxy:t.string().optional(),httpsProxy:t.string().optional(),customEnv:t.record(t.string()).optional(),customModels:t.array(CustomModelSchema).optional()}).strict(),AgentEnvConfigSetSchema=t.object({httpProxy:t.string().optional(),httpsProxy:t.string().optional(),customModels:t.array(CustomModelSchema).optional()}).strict(),AgentSettingsSchema=t.object({defaults:AgentEnvConfigSchema.optional(),startupScripts:t.array(t.string()).optional(),notification:t.object({feishu:t.string().optional(),dingtalk:t.string().optional()}).optional()}).merge(t.object(Object.fromEntries(e.map(o=>[o,AgentEnvConfigSchema.optional()])))),SetAgentSettingsSchema=t.object({defaults:AgentEnvConfigSetSchema.optional(),machineId:t.string().optional()
|
|
1
|
+
"use strict";import{z as t}from"zod";import{SessionMessageSchema as n}from"./messages.js";import{CLI_AGENT_TYPES as s,SPAWNABLE_AGENTS as e}from"./messageMeta.js";import{PermissionModeSchema as i}from"./interactionEvents.js";export const RpcMethod=t.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","set-auto-upgrade-daemon","check-path","backfill-history-session","trigger-upgrade","checkpoint-list","checkpoint-diff","checkpoint-rollback","refresh-enterprise-models","cancel-task","file-relay-receive","set-debug","get-debug","record-usage","update-agent-models","update-agent-modes","dispatch-notification","get-context-usage"]),SESSION_RPC_METHODS=["answer-question","approve-permission","deny-permission","abort","stop-session","cancel-task","get-context-usage"],MACHINE_RPC_METHODS=["start-invite","get-machine-info","get-agent-settings","set-agent-settings","get-labs-settings","set-labs-settings","set-auto-upgrade-daemon","check-path","backfill-history-session","trigger-upgrade","checkpoint-list","checkpoint-diff","checkpoint-rollback","refresh-enterprise-models","dispatch-notification"],DAEMON_REQUIRED_RPC_METHODS=[...SESSION_RPC_METHODS,...MACHINE_RPC_METHODS],RpcCallSchema=t.object({method:t.string().min(1),params:t.unknown(),timeout:t.number().int().positive().default(3e4)}),RpcResultSchema=t.discriminatedUnion("ok",[t.object({ok:t.literal(!0),result:t.unknown()}),t.object({ok:t.literal(!1),error:t.string()})]),SpawnSessionParamsSchema=t.object({agentType:t.enum(s),cwd:t.string().min(1),prompt:t.string().optional(),permissionMode:i.default("default"),env:t.record(t.string()).optional(),model:t.string().optional(),baseUrl:t.string().url().optional(),appendSystemPrompt:t.string().optional(),allowedTools:t.array(t.string()).optional(),disallowedTools:t.array(t.string()).optional(),mcpConfig:t.string().optional(),resumeSessionId:t.string().optional(),serverSessionId:t.string().optional(),maxTurns:t.number().int().positive().optional(),machineId:t.string().min(1).optional(),spawnToken:t.string().optional(),systemPrompt:t.string().optional(),systemPromptFile:t.string().optional(),appendSystemPromptFile:t.string().optional(),fallbackModel:t.string().optional(),maxBudgetUsd:t.number().positive().optional(),tools:t.array(t.string()).optional(),effort:t.enum(["low","medium","high","xhigh","max"]).optional(),addDirs:t.array(t.string()).optional(),agent:t.string().optional(),agents:t.string().optional(),jsonSchema:t.string().optional(),strictMcpConfig:t.boolean().optional(),chrome:t.boolean().optional(),worktree:t.union([t.boolean(),t.string()]).optional(),forkSession:t.boolean().optional(),sessionId:t.string().uuid().optional(),settings:t.string().optional(),betas:t.array(t.string()).optional(),brief:t.boolean().optional(),noSessionPersistence:t.boolean().optional(),includePartialMessages:t.boolean().optional(),replayUserMessages:t.boolean().optional(),settingSources:t.string().optional(),disableSlashCommands:t.boolean().optional(),files:t.array(t.string()).optional(),pluginDirs:t.array(t.string()).optional(),dangerouslySkipPermissions:t.boolean().optional(),allowDangerouslySkipPermissions:t.boolean().optional(),startupScripts:t.array(t.string()).optional(),source:t.enum(["managed","history","scheduled"]).default("managed"),background:t.boolean().default(!1),useWindowsTerminal:t.boolean().optional()}).strict(),GetMessagesParamsSchema=t.object({sessionId:t.string().min(1),fromSeq:t.number().int().nonnegative().optional(),limit:t.number().int().positive().default(100)}).strict(),GetMessagesResponseSchema=t.object({messages:t.array(n),total:t.number(),hasMore:t.boolean()}).passthrough(),CustomModelSchema=t.object({id:t.string().min(1),label:t.string().min(1)}),SkillDefinitionSchema=t.object({name:t.string().min(1),description:t.string(),userInvocable:t.boolean().default(!0),source:t.enum(["project","user"]).default("project"),projectPath:t.string().optional()}).passthrough(),AGENT_ENV_NONE="none",AgentEnvConfigSchema=t.object({httpProxy:t.string().optional(),httpsProxy:t.string().optional(),customEnv:t.record(t.string()).optional(),customModels:t.array(CustomModelSchema).optional()}).strict(),AgentEnvConfigSetSchema=t.object({httpProxy:t.string().optional(),httpsProxy:t.string().optional(),customModels:t.array(CustomModelSchema).optional()}).strict(),AgentSettingsSchema=t.object({defaults:AgentEnvConfigSchema.optional(),startupScripts:t.array(t.string()).optional(),notification:t.object({feishu:t.string().optional(),dingtalk:t.string().optional()}).optional()}).merge(t.object(Object.fromEntries(e.map(o=>[o,AgentEnvConfigSchema.optional()])))),SetAgentSettingsSchema=t.object({defaults:AgentEnvConfigSetSchema.optional(),machineId:t.string().optional()}).merge(t.object(Object.fromEntries(e.map(o=>[o,AgentEnvConfigSetSchema.optional()])))).strict(),MachineInfoResponseSchema=t.object({homedir:t.string(),defaultCwd:t.string().optional(),recentCwds:t.array(t.string()),projectPaths:t.array(t.string()).optional().default([]),availableAgents:t.array(t.string()),agentModels:t.record(t.string(),t.array(t.object({id:t.string(),displayName:t.string(),isDefault:t.boolean(),hidden:t.boolean(),source:t.enum(["builtin","acp","env","custom"]).optional().default("acp")}))).optional(),agentModes:t.record(t.string(),t.array(t.object({id:t.string(),label:t.string()}))).optional(),agentCliPaths:t.record(t.string(),t.string()).optional(),agentSettings:AgentSettingsSchema.optional(),agentSkills:t.record(t.string(),t.array(SkillDefinitionSchema)).optional()}),CheckPathParamsSchema=t.object({cwd:t.string().min(1),machineId:t.string().min(1).optional()}).strict(),LabsSettingsSchema=t.object({historySessionSync:t.boolean().default(!1)}).strict();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentdock/wire",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.93",
|
|
4
4
|
"description": "Protocol definitions for AgentDock — Zod schemas, message formats, RPC types",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"author": "CCPark",
|
|
@@ -18,8 +18,7 @@
|
|
|
18
18
|
"dist"
|
|
19
19
|
],
|
|
20
20
|
"publishConfig": {
|
|
21
|
-
"access": "public"
|
|
22
|
-
"registry": "https://registry.npmjs.org"
|
|
21
|
+
"access": "public"
|
|
23
22
|
},
|
|
24
23
|
"dependencies": {
|
|
25
24
|
"@paralleldrive/cuid2": "^3.3.0",
|