@agentdock/wire 0.0.45 → 0.0.46
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/agentCapabilities.d.ts.map +1 -0
- package/dist/agentCapabilities.js +195 -1
- package/dist/agentCapabilities.js.map +1 -0
- package/dist/agentCommonEnv.d.ts.map +1 -0
- package/dist/agentCommonEnv.js +20 -1
- package/dist/agentCommonEnv.js.map +1 -0
- package/dist/agentInstallGuide.d.ts.map +1 -0
- package/dist/agentInstallGuide.js +81 -1
- package/dist/agentInstallGuide.js.map +1 -0
- package/dist/checkpointSchemas.d.ts.map +1 -0
- package/dist/checkpointSchemas.js +46 -1
- package/dist/checkpointSchemas.js.map +1 -0
- package/dist/controlLevel.d.ts.map +1 -0
- package/dist/controlLevel.js +11 -1
- package/dist/controlLevel.js.map +1 -0
- package/dist/edition.d.ts.map +1 -0
- package/dist/edition.js +13 -1
- package/dist/edition.js.map +1 -0
- package/dist/envelope.d.ts.map +1 -0
- package/dist/envelope.js +78 -1
- package/dist/envelope.js.map +1 -0
- package/dist/errorMessage.d.ts.map +1 -0
- package/dist/errorMessage.js +6 -1
- package/dist/errorMessage.js.map +1 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +97 -1
- package/dist/events.js.map +1 -0
- package/dist/features.d.ts.map +1 -0
- package/dist/features.js +112 -1
- package/dist/features.js.map +1 -0
- package/dist/feedback.d.ts.map +1 -0
- package/dist/feedback.js +26 -1
- package/dist/feedback.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +64 -1
- package/dist/index.js.map +1 -0
- package/dist/interactionEvents.d.ts.map +1 -0
- package/dist/interactionEvents.js +108 -1
- package/dist/interactionEvents.js.map +1 -0
- package/dist/legacyProtocol.d.ts.map +1 -0
- package/dist/legacyProtocol.js +30 -1
- package/dist/legacyProtocol.js.map +1 -0
- package/dist/license.d.ts.map +1 -0
- package/dist/license.js +17 -1
- package/dist/license.js.map +1 -0
- package/dist/machine.d.ts.map +1 -0
- package/dist/machine.js +56 -1
- package/dist/machine.js.map +1 -0
- package/dist/messageMeta.d.ts.map +1 -0
- package/dist/messageMeta.js +60 -1
- package/dist/messageMeta.js.map +1 -0
- package/dist/messages.d.ts.map +1 -0
- package/dist/messages.js +35 -1
- package/dist/messages.js.map +1 -0
- package/dist/ops.d.ts.map +1 -0
- package/dist/ops.js +74 -1
- package/dist/ops.js.map +1 -0
- package/dist/pairing.d.ts.map +1 -0
- package/dist/pairing.js +115 -1
- package/dist/pairing.js.map +1 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +7 -1
- package/dist/protocol.js.map +1 -0
- package/dist/rpc.d.ts.map +1 -0
- package/dist/rpc.js +246 -1
- package/dist/rpc.js.map +1 -0
- package/dist/scheduledTasks.d.ts.map +1 -0
- package/dist/scheduledTasks.js +81 -1
- package/dist/scheduledTasks.js.map +1 -0
- package/dist/semver.d.ts.map +1 -0
- package/dist/semver.js +60 -1
- package/dist/semver.js.map +1 -0
- package/dist/sessionResult.d.ts.map +1 -0
- package/dist/sessionResult.js +23 -1
- package/dist/sessionResult.js.map +1 -0
- package/dist/socketEvents.d.ts.map +1 -0
- package/dist/socketEvents.js +44 -1
- package/dist/socketEvents.js.map +1 -0
- package/dist/spawnError.d.ts.map +1 -0
- package/dist/spawnError.js +31 -1
- package/dist/spawnError.js.map +1 -0
- package/dist/stats.d.ts.map +1 -0
- package/dist/stats.js +126 -1
- package/dist/stats.js.map +1 -0
- package/dist/sync.d.ts.map +1 -0
- package/dist/sync.js +78 -1
- package/dist/sync.js.map +1 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +80 -1
- package/dist/telemetry.js.map +1 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +2 -1
- package/dist/utils.js.map +1 -0
- package/package.json +1 -1
package/dist/events.js
CHANGED
|
@@ -1 +1,97 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Session event schemas — aligned with Happy sessionProtocol.
|
|
3
|
+
*
|
|
4
|
+
* Event types: text, service, tool-call-start, tool-call-end,
|
|
5
|
+
* file, turn-start, turn-end, start, stop.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
import { SessionQuestionEventSchema, SessionPermissionRequestEventSchema, SessionAnswerEventSchema, SessionPermissionResolvedEventSchema, } from './interactionEvents.js';
|
|
9
|
+
export const SessionTextEventSchema = z.object({
|
|
10
|
+
t: z.literal('text'),
|
|
11
|
+
text: z.string(),
|
|
12
|
+
thinking: z.boolean().optional(),
|
|
13
|
+
});
|
|
14
|
+
export const SessionServiceEventSchema = z.object({
|
|
15
|
+
t: z.literal('service'),
|
|
16
|
+
text: z.string(),
|
|
17
|
+
});
|
|
18
|
+
export const SessionToolCallStartEventSchema = z.object({
|
|
19
|
+
t: z.literal('tool-call-start'),
|
|
20
|
+
call: z.string(),
|
|
21
|
+
name: z.string(),
|
|
22
|
+
title: z.string(),
|
|
23
|
+
description: z.string(),
|
|
24
|
+
args: z.record(z.string(), z.unknown()),
|
|
25
|
+
});
|
|
26
|
+
export const SessionToolCallEndEventSchema = z.object({
|
|
27
|
+
t: z.literal('tool-call-end'),
|
|
28
|
+
call: z.string(),
|
|
29
|
+
/** Tool output text (may be truncated at source). */
|
|
30
|
+
result: z.string().optional(),
|
|
31
|
+
/** True when the tool returned an error result. */
|
|
32
|
+
error: z.boolean().optional(),
|
|
33
|
+
});
|
|
34
|
+
export const SessionFileEventSchema = z.object({
|
|
35
|
+
t: z.literal('file'),
|
|
36
|
+
ref: z.string(),
|
|
37
|
+
name: z.string(),
|
|
38
|
+
size: z.number(),
|
|
39
|
+
image: z
|
|
40
|
+
.object({
|
|
41
|
+
width: z.number(),
|
|
42
|
+
height: z.number(),
|
|
43
|
+
thumbhash: z.string(),
|
|
44
|
+
})
|
|
45
|
+
.optional(),
|
|
46
|
+
});
|
|
47
|
+
export const SessionTurnStartEventSchema = z.object({
|
|
48
|
+
t: z.literal('turn-start'),
|
|
49
|
+
});
|
|
50
|
+
export const SessionTurnEndStatusSchema = z.enum(['completed', 'failed', 'cancelled']);
|
|
51
|
+
/** Token usage stats reported at turn end. */
|
|
52
|
+
export const TurnUsageSchema = z.object({
|
|
53
|
+
inputTokens: z.number().int().nonnegative(),
|
|
54
|
+
outputTokens: z.number().int().nonnegative(),
|
|
55
|
+
cacheReadTokens: z.number().int().nonnegative().optional(),
|
|
56
|
+
cacheWriteTokens: z.number().int().nonnegative().optional(),
|
|
57
|
+
});
|
|
58
|
+
export const SessionTurnEndEventSchema = z.object({
|
|
59
|
+
t: z.literal('turn-end'),
|
|
60
|
+
status: SessionTurnEndStatusSchema,
|
|
61
|
+
usage: TurnUsageSchema.optional(),
|
|
62
|
+
model: z.string().optional(),
|
|
63
|
+
});
|
|
64
|
+
export const SessionStartEventSchema = z.object({
|
|
65
|
+
t: z.literal('start'),
|
|
66
|
+
title: z.string().optional(),
|
|
67
|
+
});
|
|
68
|
+
export const SessionStopEventSchema = z.object({
|
|
69
|
+
t: z.literal('stop'),
|
|
70
|
+
});
|
|
71
|
+
/** User-sent image stored inline in envelope (base64). */
|
|
72
|
+
export const SessionImageEventSchema = z.object({
|
|
73
|
+
t: z.literal('image'),
|
|
74
|
+
/** Base64-encoded image data. */
|
|
75
|
+
data: z.string(),
|
|
76
|
+
/** MIME type: image/jpeg, image/png, image/gif, image/webp. */
|
|
77
|
+
mediaType: z.string(),
|
|
78
|
+
});
|
|
79
|
+
export const SessionEventSchema = z.discriminatedUnion('t', [
|
|
80
|
+
SessionTextEventSchema,
|
|
81
|
+
SessionServiceEventSchema,
|
|
82
|
+
SessionToolCallStartEventSchema,
|
|
83
|
+
SessionToolCallEndEventSchema,
|
|
84
|
+
SessionFileEventSchema,
|
|
85
|
+
SessionTurnStartEventSchema,
|
|
86
|
+
SessionTurnEndEventSchema,
|
|
87
|
+
SessionStartEventSchema,
|
|
88
|
+
SessionStopEventSchema,
|
|
89
|
+
SessionQuestionEventSchema,
|
|
90
|
+
SessionPermissionRequestEventSchema,
|
|
91
|
+
SessionAnswerEventSchema,
|
|
92
|
+
SessionPermissionResolvedEventSchema,
|
|
93
|
+
SessionImageEventSchema,
|
|
94
|
+
]);
|
|
95
|
+
// Re-export interaction event schemas for convenience
|
|
96
|
+
export { SessionQuestionEventSchema, SessionPermissionRequestEventSchema, SessionAnswerEventSchema, SessionPermissionResolvedEventSchema, PermissionActionSchema, ImageAttachmentSchema, } from './interactionEvents.js';
|
|
97
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"AASA,sFAAsF;AACtF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAED,sFAAsF;AACtF,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,uDAAuD;IACvD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,qEAAqE;IACrE,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAC7C,uEAAuE;IACvE,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACxD;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,iBAAiB,EAsC/C,CAAC;AAEX;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,SAAS,MAAM,EAAE,GAClC,OAAO,CAKT;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,SAAS,MAAM,EAAE,EACnC,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC,OAAO,CAYT;AAED,8DAA8D;AAC9D,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,SAAS,CAGpB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,SAAS,MAAM,EAAE,EACnC,aAAa,CAAC,EAAE,MAAM,GACrB,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EAAE,CAkBjD"}
|
package/dist/features.js
CHANGED
|
@@ -1 +1,112 @@
|
|
|
1
|
-
|
|
1
|
+
/* Feature availability layer (RFC-035).
|
|
2
|
+
*
|
|
3
|
+
* Maps high-level features to the RPC methods they require.
|
|
4
|
+
* Used by web to determine which features a daemon supports
|
|
5
|
+
* based on the methods it has registered.
|
|
6
|
+
*/
|
|
7
|
+
import { satisfiesMin } from './semver.js';
|
|
8
|
+
/**
|
|
9
|
+
* Registry of all known features and their RPC dependencies.
|
|
10
|
+
* Add new entries here when introducing features that require new daemon RPC methods.
|
|
11
|
+
*/
|
|
12
|
+
export const FEATURE_REGISTRY = [
|
|
13
|
+
{
|
|
14
|
+
id: 'agent-settings',
|
|
15
|
+
requiredMethods: ['get-agent-settings', 'set-agent-settings'],
|
|
16
|
+
sinceVersion: '0.0.4',
|
|
17
|
+
subFeatures: [{ id: 'startup-scripts', sinceVersion: '0.0.30' }],
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
id: 'labs-settings',
|
|
21
|
+
requiredMethods: ['get-labs-settings', 'set-labs-settings'],
|
|
22
|
+
sinceVersion: '0.0.12',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: 'history-sync',
|
|
26
|
+
requiredMethods: ['backfill-history-session'],
|
|
27
|
+
sinceVersion: '0.0.12',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
id: 'check-path',
|
|
31
|
+
requiredMethods: ['check-path'],
|
|
32
|
+
sinceVersion: '0.0.7',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: 'remote-upgrade',
|
|
36
|
+
requiredMethods: ['trigger-upgrade'],
|
|
37
|
+
sinceVersion: '0.0.30',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: 'checkpoint',
|
|
41
|
+
requiredMethods: ['checkpoint-list', 'checkpoint-diff', 'checkpoint-rollback'],
|
|
42
|
+
sinceVersion: '0.0.30',
|
|
43
|
+
subFeatures: [{ id: 'conversation-rollback', sinceVersion: '0.0.32' }],
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: 'scheduled-tasks',
|
|
47
|
+
requiredMethods: ['spawn-session'],
|
|
48
|
+
sinceVersion: '0.0.35',
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
/**
|
|
52
|
+
* Check whether a specific feature is available given the set of supported methods.
|
|
53
|
+
* A feature is available when ALL its required methods are present.
|
|
54
|
+
*/
|
|
55
|
+
export function isFeatureAvailable(featureId, supportedMethods) {
|
|
56
|
+
const feature = FEATURE_REGISTRY.find((f) => f.id === featureId);
|
|
57
|
+
if (!feature)
|
|
58
|
+
return false;
|
|
59
|
+
const methodSet = new Set(supportedMethods);
|
|
60
|
+
return feature.requiredMethods.every((m) => methodSet.has(m));
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Check whether a sub-feature is available given supported methods and daemon version.
|
|
64
|
+
* Requires the parent feature to be available AND the daemon version to satisfy the sub-feature minimum.
|
|
65
|
+
*/
|
|
66
|
+
export function isSubFeatureAvailable(featureId, subFeatureId, supportedMethods, daemonVersion) {
|
|
67
|
+
const feature = FEATURE_REGISTRY.find((f) => f.id === featureId);
|
|
68
|
+
if (!feature)
|
|
69
|
+
return false;
|
|
70
|
+
if (!isFeatureAvailable(featureId, supportedMethods))
|
|
71
|
+
return false;
|
|
72
|
+
const sub = feature.subFeatures?.find((s) => s.id === subFeatureId);
|
|
73
|
+
if (!sub)
|
|
74
|
+
return false;
|
|
75
|
+
if (!daemonVersion || !satisfiesMin(daemonVersion, sub.sinceVersion))
|
|
76
|
+
return false;
|
|
77
|
+
if (sub.requiredMethods) {
|
|
78
|
+
const methodSet = new Set(supportedMethods);
|
|
79
|
+
return sub.requiredMethods.every((m) => methodSet.has(m));
|
|
80
|
+
}
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
/** Look up the minimum version required for a sub-feature. */
|
|
84
|
+
export function getSubFeatureMinVersion(featureId, subFeatureId) {
|
|
85
|
+
const feature = FEATURE_REGISTRY.find((f) => f.id === featureId);
|
|
86
|
+
return feature?.subFeatures?.find((s) => s.id === subFeatureId)?.sinceVersion;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Return all features (and sub-features) that are NOT available.
|
|
90
|
+
* Sub-features are returned as "parentId/subId" when the parent is available
|
|
91
|
+
* but the daemon version is too low for the sub-feature.
|
|
92
|
+
*/
|
|
93
|
+
export function getUnavailableFeatures(supportedMethods, daemonVersion) {
|
|
94
|
+
const results = [];
|
|
95
|
+
const methodSet = new Set(supportedMethods);
|
|
96
|
+
for (const f of FEATURE_REGISTRY) {
|
|
97
|
+
if (!f.requiredMethods.every((m) => methodSet.has(m))) {
|
|
98
|
+
results.push({ id: f.id, sinceVersion: f.sinceVersion });
|
|
99
|
+
}
|
|
100
|
+
else if (f.subFeatures && daemonVersion) {
|
|
101
|
+
for (const sub of f.subFeatures) {
|
|
102
|
+
const versionLocked = !satisfiesMin(daemonVersion, sub.sinceVersion);
|
|
103
|
+
const methodsLocked = sub.requiredMethods != null && !sub.requiredMethods.every((m) => methodSet.has(m));
|
|
104
|
+
if (versionLocked || methodsLocked) {
|
|
105
|
+
results.push({ id: `${f.id}/${sub.id}`, sinceVersion: sub.sinceVersion });
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return results;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=features.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features.js","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../src/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB,wCAAsC,CAAC;AACtE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,oBAAoB,2CAAyC,CAAC;AAC3E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;EAQhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,0BAA0B;;;;;;EAErC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
|
package/dist/feedback.js
CHANGED
|
@@ -1 +1,26 @@
|
|
|
1
|
-
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const FeedbackTypeSchema = z.enum(['BUG', 'FEATURE', 'OTHER']);
|
|
3
|
+
export const FeedbackStatusSchema = z.enum(['UNREAD', 'READ', 'ARCHIVED']);
|
|
4
|
+
export const MachineSnapshotSchema = z.object({
|
|
5
|
+
machineId: z.string(),
|
|
6
|
+
platform: z.string().optional(),
|
|
7
|
+
arch: z.string().optional(),
|
|
8
|
+
hostname: z.string().optional(),
|
|
9
|
+
daemonVersion: z.string().optional(),
|
|
10
|
+
availableAgents: z.array(z.string()).optional(),
|
|
11
|
+
nodeVersion: z.string().optional(),
|
|
12
|
+
});
|
|
13
|
+
export const DeviceInfoSchema = z.object({
|
|
14
|
+
machines: z.array(MachineSnapshotSchema).optional(),
|
|
15
|
+
appVersion: z.string().optional(),
|
|
16
|
+
});
|
|
17
|
+
export const CreateFeedbackSchema = z.object({
|
|
18
|
+
type: FeedbackTypeSchema,
|
|
19
|
+
description: z.string().min(1).max(5000),
|
|
20
|
+
screenshots: z.array(z.string().max(700_000)).max(3).optional(),
|
|
21
|
+
deviceInfo: DeviceInfoSchema,
|
|
22
|
+
});
|
|
23
|
+
export const UpdateFeedbackStatusSchema = z.object({
|
|
24
|
+
status: z.enum(['READ', 'ARCHIVED']),
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=feedback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../src/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAGtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAG3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE;IACnD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACxC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/D,UAAU,EAAE,gBAAgB;CAC7B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACrC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1 +1,64 @@
|
|
|
1
|
-
|
|
1
|
+
// @agentdock/wire — Protocol definitions
|
|
2
|
+
// This is the "constitution" of the system.
|
|
3
|
+
// All components communicate through formats defined here.
|
|
4
|
+
// Session events
|
|
5
|
+
export { SessionTextEventSchema, SessionServiceEventSchema, SessionToolCallStartEventSchema, SessionToolCallEndEventSchema, SessionFileEventSchema, SessionTurnStartEventSchema, SessionTurnEndEventSchema, SessionTurnEndStatusSchema, TurnUsageSchema, SessionStartEventSchema, SessionStopEventSchema, SessionEventSchema, SessionPermissionResolvedEventSchema, PermissionActionSchema, SessionImageEventSchema, ImageAttachmentSchema, } from './events.js';
|
|
6
|
+
// Interaction events
|
|
7
|
+
export { QuestionOptionSchema, SessionQuestionEventSchema, SessionPermissionRequestEventSchema, SessionAnswerEventSchema, AnswerQuestionParamsSchema, ApprovePermissionParamsSchema, DenyPermissionParamsSchema, PermissionModeSchema, } from './interactionEvents.js';
|
|
8
|
+
// Session envelope
|
|
9
|
+
export { SessionRoleSchema, SessionEnvelopeSchema, createEnvelope } from './envelope.js';
|
|
10
|
+
// Message meta
|
|
11
|
+
export { AgentTypeSchema, MessageMetaSchema, AGENT_TYPES, SPAWNABLE_AGENTS, CLI_AGENT_TYPES, } from './messageMeta.js';
|
|
12
|
+
export { AGENT_SUPPORTS_IMAGES } from './messageMeta.js';
|
|
13
|
+
// Messages
|
|
14
|
+
export { SessionMessageContentSchema, SessionMessageSchema, SessionProtocolMessageSchema, MessageContentSchema, } from './messages.js';
|
|
15
|
+
// Legacy protocol
|
|
16
|
+
export { UserMessageSchema, AgentMessageSchema, LegacyMessageContentSchema, } from './legacyProtocol.js';
|
|
17
|
+
// Sync update protocol
|
|
18
|
+
export { VersionedEncryptedValueSchema, VersionedNullableEncryptedValueSchema, VersionedMachineEncryptedValueSchema, UpdateNewMessageBodySchema, UpdateSessionBodySchema, UpdateMachineBodySchema, UpdateSessionResetBodySchema, CoreUpdateBodySchema, CoreUpdateContainerSchema, } from './sync.js';
|
|
19
|
+
// RPC
|
|
20
|
+
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';
|
|
21
|
+
// Agent capabilities
|
|
22
|
+
export { AGENT_CAPABILITIES, getAgentCapability, updateDynamicModes, getDynamicModes, normalizeModelId, } from './agentCapabilities.js';
|
|
23
|
+
// Stats (OBS-2)
|
|
24
|
+
export { ModelUsageEntrySchema, DailyActivitySchema, DailyModelTokensSchema, LongestSessionSchema, SessionTokenSummarySchema, ClaudeStatsDataSchema, ProjectSummarySchema, StatsOverviewSchema, AgentTypeUsageSchema, ActivityUploadSchema, UsageReportSchema, TokenTrendPointSchema, ModelBreakdownEntrySchema, QuotaConfigSchema, } from './stats.js';
|
|
25
|
+
// Control level
|
|
26
|
+
export { ControlLevel } from './controlLevel.js';
|
|
27
|
+
// Pairing protocol
|
|
28
|
+
export { PairingState, PairingRequestSchema, PairingResponseSchema, PairingExchangeSchema, PairingDeliverSchema, PairingStatusSchema, } from './pairing.js';
|
|
29
|
+
// Machine & session status (DASH-2)
|
|
30
|
+
export { PlatformSchema, SessionStatusSchema, MachineSummarySchema, MachineRegisterResultSchema, } from './machine.js';
|
|
31
|
+
// Feature availability (RFC-035)
|
|
32
|
+
export { FEATURE_REGISTRY, isFeatureAvailable, getUnavailableFeatures, isSubFeatureAvailable, getSubFeatureMinVersion, } from './features.js';
|
|
33
|
+
// Session result (PROTO-2)
|
|
34
|
+
export { SessionResultSchema } from './sessionResult.js';
|
|
35
|
+
// Spawn errors
|
|
36
|
+
export { SpawnErrorCodeSchema, SpawnErrorSchema, createSpawnError } from './spawnError.js';
|
|
37
|
+
// Agent install guide
|
|
38
|
+
export { AGENT_INSTALL_GUIDE } from './agentInstallGuide.js';
|
|
39
|
+
// Agent common env vars
|
|
40
|
+
export { AGENT_COMMON_ENV_VARS } from './agentCommonEnv.js';
|
|
41
|
+
// Scheduled tasks (RFC-044)
|
|
42
|
+
export { RetryPolicySchema, MissedRunPolicySchema, ScheduledSpawnParamsSchema, TaskExecutionStatusSchema, TaskExecutionTriggerSchema, CreateScheduledTaskSchema, UpdateScheduledTaskSchema, ScheduledTaskSummarySchema, TaskExecutionSchema, CRON_RE, } from './scheduledTasks.js';
|
|
43
|
+
// Protocol version (RFC-021)
|
|
44
|
+
export { PROTOCOL_VERSION } from './protocol.js';
|
|
45
|
+
// Semver
|
|
46
|
+
export { parseSemver, compareVersions, satisfiesMin } from './semver.js';
|
|
47
|
+
// Utils
|
|
48
|
+
export { createId } from './utils.js';
|
|
49
|
+
export { errorMessage } from './errorMessage.js';
|
|
50
|
+
// Socket.IO event name constants
|
|
51
|
+
export { SOCKET_EVENTS } from './socketEvents.js';
|
|
52
|
+
// Telemetry (RFC-043)
|
|
53
|
+
export { TelemetryEventTypeSchema, TelemetryEventSchema, TelemetryReportPayloadSchema, sanitizeContext, } from './telemetry.js';
|
|
54
|
+
// Checkpoint RPC (RFC-044)
|
|
55
|
+
export * from './checkpointSchemas.js';
|
|
56
|
+
// Ops RPC (RFC-034)
|
|
57
|
+
export { OpsRpcMessageSchema, OpsMethodSchema, OpsRpcTypeSchema, FileEntrySchema, FileStatSchema, StorageUsageSchema, SyncUserSchema, SyncFullPayloadSchema, SyncUserCreatedPayloadSchema, SyncContainerStatusPayloadSchema, SyncUserPairedPayloadSchema, } from './ops.js';
|
|
58
|
+
// Edition (RFC-053)
|
|
59
|
+
export * from './edition.js';
|
|
60
|
+
// License
|
|
61
|
+
export { LicensePayloadSchema, LicenseFileSchema } from './license.js';
|
|
62
|
+
// Feedback
|
|
63
|
+
export { FeedbackTypeSchema, FeedbackStatusSchema, DeviceInfoSchema, CreateFeedbackSchema, UpdateFeedbackStatusSchema, } from './feedback.js';
|
|
64
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactionEvents.d.ts","sourceRoot":"","sources":["../src/interactionEvents.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,yDAAyD;AACzD,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,sCAAsC;AACtC,eAAO,MAAM,0BAA0B;;;;;IAOrC,qDAAqD;;IAErD,0DAA0D;;;;;;;;;;;IAE1D,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;EAEhD,CAAC;AAEH,8CAA8C;AAC9C,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;EAO9C,CAAC;AAEH,sDAAsD;AACtD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAC;AAEH,uFAAuF;AACvF,eAAO,MAAM,sBAAsB,qEAKjC,CAAC;AAEH,+FAA+F;AAC/F,eAAO,MAAM,oCAAoC;;;;IAI/C,wEAAwE;;;;;;;;;;;;EAExE,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAChG,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAIlG,uEAAuE;AACvE,eAAO,MAAM,qBAAqB;IAChC,sDAAsD;;IAEtD,+DAA+D;;;;;;;;EAE/D,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,iDAAiD;AACjD,eAAO,MAAM,0BAA0B;;;;IAIrC,gFAAgF;;QAfhF,sDAAsD;;QAEtD,+DAA+D;;;;;;;;;;;;;;;;;;;;;;;;;EAe/D,CAAC;AAEH,2CAA2C;AAC3C,eAAO,MAAM,oBAAoB,uJAY/B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE,sDAAsD;AACtD,eAAO,MAAM,6BAA6B;;;;IAIxC,oFAAoF;;IAEpF,6FAA6F;;;;;;;;;;;;;;EAE7F,CAAC;AAEH,oDAAoD;AACpD,eAAO,MAAM,0BAA0B;;;;IAIrC,wEAAwE;;;;;;;;;;;;EAExE,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
|
|
@@ -1 +1,108 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Interaction event schemas for bidirectional communication.
|
|
3
|
+
*
|
|
4
|
+
* Event types: question, permission-request, answer.
|
|
5
|
+
* RPC params: answer-question, approve-permission, deny-permission.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
// ── Session Events ──
|
|
9
|
+
/** Option for structured (multiple-choice) questions. */
|
|
10
|
+
export const QuestionOptionSchema = z.object({
|
|
11
|
+
label: z.string(),
|
|
12
|
+
description: z.string().default(''),
|
|
13
|
+
});
|
|
14
|
+
/** Agent asks the user a question. */
|
|
15
|
+
export const SessionQuestionEventSchema = z.object({
|
|
16
|
+
t: z.literal('question'),
|
|
17
|
+
requestId: z.string(),
|
|
18
|
+
text: z.string(),
|
|
19
|
+
questionType: z
|
|
20
|
+
.enum(['free-text', 'yes-no', 'single-select', 'multi-select'])
|
|
21
|
+
.default('free-text'),
|
|
22
|
+
/** Header/category chip for structured questions. */
|
|
23
|
+
header: z.string().optional(),
|
|
24
|
+
/** Options for single-select / multi-select questions. */
|
|
25
|
+
options: z.array(QuestionOptionSchema).optional(),
|
|
26
|
+
/** Whether multiple options can be selected. */
|
|
27
|
+
multiSelect: z.boolean().optional(),
|
|
28
|
+
});
|
|
29
|
+
/** Agent requests tool execution approval. */
|
|
30
|
+
export const SessionPermissionRequestEventSchema = z.object({
|
|
31
|
+
t: z.literal('permission-request'),
|
|
32
|
+
requestId: z.string(),
|
|
33
|
+
toolName: z.string(),
|
|
34
|
+
toolCallId: z.string(),
|
|
35
|
+
args: z.record(z.unknown()),
|
|
36
|
+
description: z.string().default(''),
|
|
37
|
+
});
|
|
38
|
+
/** User's answer to a question or acknowledgement. */
|
|
39
|
+
export const SessionAnswerEventSchema = z.object({
|
|
40
|
+
t: z.literal('answer'),
|
|
41
|
+
requestId: z.string(),
|
|
42
|
+
text: z.string(),
|
|
43
|
+
});
|
|
44
|
+
/** How a permission was resolved — persisted in envelope stream for history replay. */
|
|
45
|
+
export const PermissionActionSchema = z.enum([
|
|
46
|
+
'approve',
|
|
47
|
+
'approve-all-edits',
|
|
48
|
+
'approve-tool',
|
|
49
|
+
'deny',
|
|
50
|
+
]);
|
|
51
|
+
/** Records the user's decision on a permission request (sent immediately after resolution). */
|
|
52
|
+
export const SessionPermissionResolvedEventSchema = z.object({
|
|
53
|
+
t: z.literal('permission-resolved'),
|
|
54
|
+
requestId: z.string(),
|
|
55
|
+
action: PermissionActionSchema,
|
|
56
|
+
/** Optional feedback from user explaining why permission was denied. */
|
|
57
|
+
reason: z.string().optional(),
|
|
58
|
+
});
|
|
59
|
+
// ── Image Attachment ──
|
|
60
|
+
/** A single image attachment (base64-encoded, frontend-compressed). */
|
|
61
|
+
export const ImageAttachmentSchema = z.object({
|
|
62
|
+
/** Base64-encoded image data (no data URI prefix). */
|
|
63
|
+
data: z.string(),
|
|
64
|
+
/** MIME type: image/jpeg, image/png, image/gif, image/webp. */
|
|
65
|
+
mediaType: z.string(),
|
|
66
|
+
});
|
|
67
|
+
// ── RPC Params ──
|
|
68
|
+
/** Params for answering a free-text question. */
|
|
69
|
+
export const AnswerQuestionParamsSchema = z.object({
|
|
70
|
+
sessionId: z.string(),
|
|
71
|
+
requestId: z.string(),
|
|
72
|
+
text: z.string(),
|
|
73
|
+
/** Optional image attachments (max 5, each ≤200KB base64 after compression). */
|
|
74
|
+
images: z.array(ImageAttachmentSchema).max(5).optional(),
|
|
75
|
+
});
|
|
76
|
+
/** Permission mode for Claude sessions. */
|
|
77
|
+
export const PermissionModeSchema = z.enum([
|
|
78
|
+
'default',
|
|
79
|
+
'acceptEdits',
|
|
80
|
+
'autoEdit',
|
|
81
|
+
'bypassPermissions',
|
|
82
|
+
'plan',
|
|
83
|
+
'read-only',
|
|
84
|
+
'safe-yolo',
|
|
85
|
+
'yolo',
|
|
86
|
+
'suggest',
|
|
87
|
+
'auto-edit',
|
|
88
|
+
'full-auto',
|
|
89
|
+
]);
|
|
90
|
+
/** Params for approving a tool permission request. */
|
|
91
|
+
export const ApprovePermissionParamsSchema = z.object({
|
|
92
|
+
sessionId: z.string(),
|
|
93
|
+
requestId: z.string(),
|
|
94
|
+
toolCallId: z.string(),
|
|
95
|
+
/** Optional mode change (e.g. 'acceptEdits' for "allow all edits this session"). */
|
|
96
|
+
mode: PermissionModeSchema.optional(),
|
|
97
|
+
/** Optional tool whitelist (e.g. ['Bash(npm test)'] for "don't ask again for this tool"). */
|
|
98
|
+
allowTools: z.array(z.string()).optional(),
|
|
99
|
+
});
|
|
100
|
+
/** Params for denying a tool permission request. */
|
|
101
|
+
export const DenyPermissionParamsSchema = z.object({
|
|
102
|
+
sessionId: z.string(),
|
|
103
|
+
requestId: z.string(),
|
|
104
|
+
toolCallId: z.string(),
|
|
105
|
+
/** Optional feedback from user explaining why permission was denied. */
|
|
106
|
+
reason: z.string().optional(),
|
|
107
|
+
});
|
|
108
|
+
//# sourceMappingURL=interactionEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactionEvents.js","sourceRoot":"","sources":["../src/interactionEvents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacyProtocol.d.ts","sourceRoot":"","sources":["../src/legacyProtocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
|
package/dist/legacyProtocol.js
CHANGED
|
@@ -1 +1,30 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Legacy protocol — aligned with Happy legacyProtocol.ts.
|
|
3
|
+
*
|
|
4
|
+
* Defines UserMessage and AgentMessage for backward compatibility.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import { MessageMetaSchema } from './messageMeta.js';
|
|
8
|
+
export const UserMessageSchema = z.object({
|
|
9
|
+
role: z.literal('user'),
|
|
10
|
+
content: z.object({
|
|
11
|
+
type: z.literal('text'),
|
|
12
|
+
text: z.string(),
|
|
13
|
+
}),
|
|
14
|
+
localKey: z.string().optional(),
|
|
15
|
+
meta: MessageMetaSchema.optional(),
|
|
16
|
+
});
|
|
17
|
+
export const AgentMessageSchema = z.object({
|
|
18
|
+
role: z.literal('agent'),
|
|
19
|
+
content: z
|
|
20
|
+
.object({
|
|
21
|
+
type: z.string(),
|
|
22
|
+
})
|
|
23
|
+
.passthrough(),
|
|
24
|
+
meta: MessageMetaSchema.optional(),
|
|
25
|
+
});
|
|
26
|
+
export const LegacyMessageContentSchema = z.discriminatedUnion('role', [
|
|
27
|
+
UserMessageSchema,
|
|
28
|
+
AgentMessageSchema,
|
|
29
|
+
]);
|
|
30
|
+
//# sourceMappingURL=legacyProtocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacyProtocol.js","sourceRoot":"","sources":["../src/legacyProtocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC;SACD,WAAW,EAAE;IAChB,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACrE,iBAAiB;IACjB,kBAAkB;CACnB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../src/license.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAW/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;EAE5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
package/dist/license.js
CHANGED
|
@@ -1 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const LicensePayloadSchema = z.object({
|
|
3
|
+
licensee: z.string().min(1),
|
|
4
|
+
edition: z.literal('enterprise'),
|
|
5
|
+
maxUsers: z.number().int().positive(),
|
|
6
|
+
expiresAt: z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
|
|
7
|
+
issuedAt: z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
|
|
8
|
+
suffix: z
|
|
9
|
+
.string()
|
|
10
|
+
.min(1)
|
|
11
|
+
.max(32)
|
|
12
|
+
.regex(/^[a-z0-9_-]+$/),
|
|
13
|
+
});
|
|
14
|
+
export const LicenseFileSchema = LicensePayloadSchema.extend({
|
|
15
|
+
signature: z.string().min(1),
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=license.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license.js","sourceRoot":"","sources":["../src/license.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC;IAClD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC;IACjD,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,KAAK,CAAC,eAAe,CAAC;CAC1B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAC3D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7B,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../src/machine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,cAAc,yCAAuC,CAAC;AACnE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,mBAAmB,wFAM9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,oBAAoB;;;;;;;;;;IAU/B,iEAAiE;;IAEjE,iDAAiD;;IAEjD,gDAAgD;;IAEhD,gFAAgF;;IAEhF,kEAAkE;;IAElE,+FAA+F;;IAE/F,8DAA8D;;IAE9D,8DAA8D;;IAE9D,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEjF,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;EAKtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,2BAA2B;;;;;;EAEtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
|