@tangle-network/agent-app 0.7.1 → 0.8.0
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/assets/index.d.ts +463 -0
- package/dist/assets/index.js +23 -0
- package/dist/assets/index.js.map +1 -0
- package/dist/chunk-5PTGEJZL.js +236 -0
- package/dist/chunk-5PTGEJZL.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +20 -0
- package/dist/web-react/index.d.ts +16 -1
- package/dist/web-react/index.js +133 -92
- package/dist/web-react/index.js.map +1 -1
- package/package.json +21 -15
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
// src/assets/schema.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
var BrandTokensSchema = z.object({
|
|
4
|
+
primaryColor: z.string(),
|
|
5
|
+
accentColor: z.string(),
|
|
6
|
+
textColor: z.string(),
|
|
7
|
+
fontFamily: z.string(),
|
|
8
|
+
logoUrl: z.string().optional(),
|
|
9
|
+
businessName: z.string(),
|
|
10
|
+
voice: z.string()
|
|
11
|
+
});
|
|
12
|
+
var EmailHeroSectionSchema = z.object({
|
|
13
|
+
type: z.literal("hero"),
|
|
14
|
+
headline: z.string(),
|
|
15
|
+
subheadline: z.string().optional(),
|
|
16
|
+
imageUrl: z.string().optional(),
|
|
17
|
+
ctaLabel: z.string().optional(),
|
|
18
|
+
ctaUrl: z.string().optional()
|
|
19
|
+
});
|
|
20
|
+
var EmailBodySectionSchema = z.object({
|
|
21
|
+
type: z.literal("body"),
|
|
22
|
+
text: z.string()
|
|
23
|
+
});
|
|
24
|
+
var EmailFeatureSectionSchema = z.object({
|
|
25
|
+
type: z.literal("feature"),
|
|
26
|
+
headline: z.string(),
|
|
27
|
+
description: z.string(),
|
|
28
|
+
imageUrl: z.string().optional()
|
|
29
|
+
});
|
|
30
|
+
var EmailTestimonialSectionSchema = z.object({
|
|
31
|
+
type: z.literal("testimonial"),
|
|
32
|
+
quote: z.string(),
|
|
33
|
+
author: z.string(),
|
|
34
|
+
role: z.string().optional(),
|
|
35
|
+
avatarUrl: z.string().optional()
|
|
36
|
+
});
|
|
37
|
+
var EmailCtaSectionSchema = z.object({
|
|
38
|
+
type: z.literal("cta"),
|
|
39
|
+
label: z.string(),
|
|
40
|
+
url: z.string(),
|
|
41
|
+
subtext: z.string().optional()
|
|
42
|
+
});
|
|
43
|
+
var EmailDividerSectionSchema = z.object({
|
|
44
|
+
type: z.literal("divider")
|
|
45
|
+
});
|
|
46
|
+
var EmailSectionSchema = z.discriminatedUnion("type", [
|
|
47
|
+
EmailHeroSectionSchema,
|
|
48
|
+
EmailBodySectionSchema,
|
|
49
|
+
EmailFeatureSectionSchema,
|
|
50
|
+
EmailTestimonialSectionSchema,
|
|
51
|
+
EmailCtaSectionSchema,
|
|
52
|
+
EmailDividerSectionSchema
|
|
53
|
+
]);
|
|
54
|
+
var EmailContentSchema = z.object({
|
|
55
|
+
subject: z.string(),
|
|
56
|
+
preheader: z.string().optional(),
|
|
57
|
+
sections: z.array(EmailSectionSchema)
|
|
58
|
+
});
|
|
59
|
+
var ImageBackgroundSchema = z.discriminatedUnion("type", [
|
|
60
|
+
z.object({ type: z.literal("color"), value: z.string() }),
|
|
61
|
+
z.object({ type: z.literal("gradient"), from: z.string(), to: z.string(), direction: z.string().optional() }),
|
|
62
|
+
z.object({ type: z.literal("image"), url: z.string(), overlay: z.string().optional(), overlayOpacity: z.number().optional() })
|
|
63
|
+
]);
|
|
64
|
+
var ImageTextLayerSchema = z.object({
|
|
65
|
+
type: z.literal("text"),
|
|
66
|
+
text: z.string(),
|
|
67
|
+
fontSize: z.number().optional(),
|
|
68
|
+
fontWeight: z.enum(["normal", "bold"]).optional(),
|
|
69
|
+
color: z.string().optional(),
|
|
70
|
+
x: z.number(),
|
|
71
|
+
y: z.number(),
|
|
72
|
+
width: z.number().optional(),
|
|
73
|
+
align: z.enum(["left", "center", "right"]).optional()
|
|
74
|
+
});
|
|
75
|
+
var ImageImageLayerSchema = z.object({
|
|
76
|
+
type: z.literal("image"),
|
|
77
|
+
url: z.string(),
|
|
78
|
+
x: z.number(),
|
|
79
|
+
y: z.number(),
|
|
80
|
+
width: z.number(),
|
|
81
|
+
height: z.number(),
|
|
82
|
+
opacity: z.number().optional()
|
|
83
|
+
});
|
|
84
|
+
var ImageShapeLayerSchema = z.object({
|
|
85
|
+
type: z.literal("shape"),
|
|
86
|
+
shape: z.enum(["rect", "circle", "rounded-rect"]),
|
|
87
|
+
x: z.number(),
|
|
88
|
+
y: z.number(),
|
|
89
|
+
width: z.number(),
|
|
90
|
+
height: z.number(),
|
|
91
|
+
fill: z.string().optional(),
|
|
92
|
+
opacity: z.number().optional()
|
|
93
|
+
});
|
|
94
|
+
var ImageLogoLayerSchema = z.object({
|
|
95
|
+
type: z.literal("logo"),
|
|
96
|
+
x: z.number(),
|
|
97
|
+
y: z.number(),
|
|
98
|
+
width: z.number().optional()
|
|
99
|
+
});
|
|
100
|
+
var ImageLayerSchema = z.discriminatedUnion("type", [
|
|
101
|
+
ImageTextLayerSchema,
|
|
102
|
+
ImageImageLayerSchema,
|
|
103
|
+
ImageShapeLayerSchema,
|
|
104
|
+
ImageLogoLayerSchema
|
|
105
|
+
]);
|
|
106
|
+
var ImageSlideSchema = z.object({
|
|
107
|
+
background: ImageBackgroundSchema,
|
|
108
|
+
layers: z.array(ImageLayerSchema)
|
|
109
|
+
});
|
|
110
|
+
var ImageContentSchema = z.object({
|
|
111
|
+
slides: z.array(ImageSlideSchema).min(1)
|
|
112
|
+
});
|
|
113
|
+
var VideoTextAnimationSceneSchema = z.object({
|
|
114
|
+
type: z.literal("text-animation"),
|
|
115
|
+
durationSeconds: z.number().positive(),
|
|
116
|
+
headline: z.string(),
|
|
117
|
+
subtext: z.string().optional(),
|
|
118
|
+
animation: z.enum(["fade", "slide-up", "typewriter"]).optional(),
|
|
119
|
+
background: ImageBackgroundSchema.optional()
|
|
120
|
+
});
|
|
121
|
+
var VideoImageRevealSceneSchema = z.object({
|
|
122
|
+
type: z.literal("image-reveal"),
|
|
123
|
+
durationSeconds: z.number().positive(),
|
|
124
|
+
imageUrl: z.string(),
|
|
125
|
+
caption: z.string().optional()
|
|
126
|
+
});
|
|
127
|
+
var VideoSlideSceneSchema = z.object({
|
|
128
|
+
type: z.literal("slide"),
|
|
129
|
+
durationSeconds: z.number().positive(),
|
|
130
|
+
slide: ImageSlideSchema
|
|
131
|
+
});
|
|
132
|
+
var VideoCountdownSceneSchema = z.object({
|
|
133
|
+
type: z.literal("countdown"),
|
|
134
|
+
durationSeconds: z.number().positive(),
|
|
135
|
+
from: z.number().int().positive(),
|
|
136
|
+
label: z.string().optional()
|
|
137
|
+
});
|
|
138
|
+
var VideoSceneSchema = z.discriminatedUnion("type", [
|
|
139
|
+
VideoTextAnimationSceneSchema,
|
|
140
|
+
VideoImageRevealSceneSchema,
|
|
141
|
+
VideoSlideSceneSchema,
|
|
142
|
+
VideoCountdownSceneSchema
|
|
143
|
+
]);
|
|
144
|
+
var VideoCaptionSchema = z.object({
|
|
145
|
+
startSeconds: z.number().nonnegative(),
|
|
146
|
+
endSeconds: z.number().positive(),
|
|
147
|
+
text: z.string()
|
|
148
|
+
});
|
|
149
|
+
var VideoContentSchema = z.object({
|
|
150
|
+
durationSeconds: z.number().positive(),
|
|
151
|
+
scenes: z.array(VideoSceneSchema).min(1),
|
|
152
|
+
audioUrl: z.string().optional(),
|
|
153
|
+
captions: z.array(VideoCaptionSchema).optional(),
|
|
154
|
+
renderedUrl: z.string().optional()
|
|
155
|
+
});
|
|
156
|
+
var CopyContentSchema = z.object({
|
|
157
|
+
headline: z.string(),
|
|
158
|
+
body: z.string(),
|
|
159
|
+
hashtags: z.array(z.string()).optional(),
|
|
160
|
+
platform: z.enum(["instagram", "tiktok", "x", "linkedin", "sms", "email-subject"]),
|
|
161
|
+
characterCount: z.number().optional()
|
|
162
|
+
});
|
|
163
|
+
var ApprovalEventSchema = z.object({
|
|
164
|
+
assetId: z.string(),
|
|
165
|
+
variantId: z.string().optional(),
|
|
166
|
+
action: z.enum(["approved", "rejected", "edited", "scheduled"]),
|
|
167
|
+
editedFields: z.array(z.string()).optional(),
|
|
168
|
+
userId: z.string(),
|
|
169
|
+
timestamp: z.string()
|
|
170
|
+
});
|
|
171
|
+
var ConversionMetricsSchema = z.object({
|
|
172
|
+
impressions: z.number().nonnegative(),
|
|
173
|
+
clicks: z.number().nonnegative(),
|
|
174
|
+
conversions: z.number().nonnegative(),
|
|
175
|
+
ctr: z.number().nonnegative(),
|
|
176
|
+
cvr: z.number().nonnegative()
|
|
177
|
+
});
|
|
178
|
+
var AssetFormatValues = [
|
|
179
|
+
"email",
|
|
180
|
+
"image:feed",
|
|
181
|
+
"image:story",
|
|
182
|
+
"image:carousel",
|
|
183
|
+
"video:reel",
|
|
184
|
+
"video:feed",
|
|
185
|
+
"copy:caption",
|
|
186
|
+
"copy:headline",
|
|
187
|
+
"copy:sms"
|
|
188
|
+
];
|
|
189
|
+
var ContentSchemaByFormat = {
|
|
190
|
+
email: EmailContentSchema,
|
|
191
|
+
"image:feed": ImageContentSchema,
|
|
192
|
+
"image:story": ImageContentSchema,
|
|
193
|
+
"image:carousel": ImageContentSchema,
|
|
194
|
+
"video:reel": VideoContentSchema,
|
|
195
|
+
"video:feed": VideoContentSchema,
|
|
196
|
+
"copy:caption": CopyContentSchema,
|
|
197
|
+
"copy:headline": CopyContentSchema,
|
|
198
|
+
"copy:sms": CopyContentSchema
|
|
199
|
+
};
|
|
200
|
+
var AssetSpecBaseSchema = z.object({
|
|
201
|
+
id: z.string(),
|
|
202
|
+
workspaceId: z.string(),
|
|
203
|
+
campaignId: z.string().optional(),
|
|
204
|
+
format: z.enum(AssetFormatValues),
|
|
205
|
+
brand: BrandTokensSchema,
|
|
206
|
+
status: z.enum(["draft", "pending_review", "approved", "rejected", "scheduled", "published"]),
|
|
207
|
+
scheduledAt: z.string().optional(),
|
|
208
|
+
createdAt: z.string(),
|
|
209
|
+
updatedAt: z.string()
|
|
210
|
+
});
|
|
211
|
+
function parseAssetSpec(raw) {
|
|
212
|
+
const base = AssetSpecBaseSchema.parse(raw);
|
|
213
|
+
const contentSchema = ContentSchemaByFormat[base.format];
|
|
214
|
+
const content = contentSchema.parse(raw.content);
|
|
215
|
+
return { ...base, content };
|
|
216
|
+
}
|
|
217
|
+
function safeParseAssetSpec(raw) {
|
|
218
|
+
try {
|
|
219
|
+
return parseAssetSpec(raw);
|
|
220
|
+
} catch {
|
|
221
|
+
return null;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
export {
|
|
226
|
+
BrandTokensSchema,
|
|
227
|
+
EmailContentSchema,
|
|
228
|
+
ImageContentSchema,
|
|
229
|
+
VideoContentSchema,
|
|
230
|
+
CopyContentSchema,
|
|
231
|
+
ApprovalEventSchema,
|
|
232
|
+
ConversionMetricsSchema,
|
|
233
|
+
parseAssetSpec,
|
|
234
|
+
safeParseAssetSpec
|
|
235
|
+
};
|
|
236
|
+
//# sourceMappingURL=chunk-5PTGEJZL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/assets/schema.ts"],"sourcesContent":["import { z } from 'zod'\nimport type { AssetSpec, AssetFormat } from './types'\n\n// --- Brand ---\n\nexport const BrandTokensSchema = z.object({\n primaryColor: z.string(),\n accentColor: z.string(),\n textColor: z.string(),\n fontFamily: z.string(),\n logoUrl: z.string().optional(),\n businessName: z.string(),\n voice: z.string(),\n})\n\n// --- Email ---\n\nconst EmailHeroSectionSchema = z.object({\n type: z.literal('hero'),\n headline: z.string(),\n subheadline: z.string().optional(),\n imageUrl: z.string().optional(),\n ctaLabel: z.string().optional(),\n ctaUrl: z.string().optional(),\n})\n\nconst EmailBodySectionSchema = z.object({\n type: z.literal('body'),\n text: z.string(),\n})\n\nconst EmailFeatureSectionSchema = z.object({\n type: z.literal('feature'),\n headline: z.string(),\n description: z.string(),\n imageUrl: z.string().optional(),\n})\n\nconst EmailTestimonialSectionSchema = z.object({\n type: z.literal('testimonial'),\n quote: z.string(),\n author: z.string(),\n role: z.string().optional(),\n avatarUrl: z.string().optional(),\n})\n\nconst EmailCtaSectionSchema = z.object({\n type: z.literal('cta'),\n label: z.string(),\n url: z.string(),\n subtext: z.string().optional(),\n})\n\nconst EmailDividerSectionSchema = z.object({\n type: z.literal('divider'),\n})\n\nconst EmailSectionSchema = z.discriminatedUnion('type', [\n EmailHeroSectionSchema,\n EmailBodySectionSchema,\n EmailFeatureSectionSchema,\n EmailTestimonialSectionSchema,\n EmailCtaSectionSchema,\n EmailDividerSectionSchema,\n])\n\nexport const EmailContentSchema = z.object({\n subject: z.string(),\n preheader: z.string().optional(),\n sections: z.array(EmailSectionSchema),\n})\n\n// --- Image ---\n\nconst ImageBackgroundSchema = z.discriminatedUnion('type', [\n z.object({ type: z.literal('color'), value: z.string() }),\n z.object({ type: z.literal('gradient'), from: z.string(), to: z.string(), direction: z.string().optional() }),\n z.object({ type: z.literal('image'), url: z.string(), overlay: z.string().optional(), overlayOpacity: z.number().optional() }),\n])\n\nconst ImageTextLayerSchema = z.object({\n type: z.literal('text'),\n text: z.string(),\n fontSize: z.number().optional(),\n fontWeight: z.enum(['normal', 'bold']).optional(),\n color: z.string().optional(),\n x: z.number(),\n y: z.number(),\n width: z.number().optional(),\n align: z.enum(['left', 'center', 'right']).optional(),\n})\n\nconst ImageImageLayerSchema = z.object({\n type: z.literal('image'),\n url: z.string(),\n x: z.number(),\n y: z.number(),\n width: z.number(),\n height: z.number(),\n opacity: z.number().optional(),\n})\n\nconst ImageShapeLayerSchema = z.object({\n type: z.literal('shape'),\n shape: z.enum(['rect', 'circle', 'rounded-rect']),\n x: z.number(),\n y: z.number(),\n width: z.number(),\n height: z.number(),\n fill: z.string().optional(),\n opacity: z.number().optional(),\n})\n\nconst ImageLogoLayerSchema = z.object({\n type: z.literal('logo'),\n x: z.number(),\n y: z.number(),\n width: z.number().optional(),\n})\n\nconst ImageLayerSchema = z.discriminatedUnion('type', [\n ImageTextLayerSchema,\n ImageImageLayerSchema,\n ImageShapeLayerSchema,\n ImageLogoLayerSchema,\n])\n\nconst ImageSlideSchema = z.object({\n background: ImageBackgroundSchema,\n layers: z.array(ImageLayerSchema),\n})\n\nexport const ImageContentSchema = z.object({\n slides: z.array(ImageSlideSchema).min(1),\n})\n\n// --- Video ---\n\nconst VideoTextAnimationSceneSchema = z.object({\n type: z.literal('text-animation'),\n durationSeconds: z.number().positive(),\n headline: z.string(),\n subtext: z.string().optional(),\n animation: z.enum(['fade', 'slide-up', 'typewriter']).optional(),\n background: ImageBackgroundSchema.optional(),\n})\n\nconst VideoImageRevealSceneSchema = z.object({\n type: z.literal('image-reveal'),\n durationSeconds: z.number().positive(),\n imageUrl: z.string(),\n caption: z.string().optional(),\n})\n\nconst VideoSlideSceneSchema = z.object({\n type: z.literal('slide'),\n durationSeconds: z.number().positive(),\n slide: ImageSlideSchema,\n})\n\nconst VideoCountdownSceneSchema = z.object({\n type: z.literal('countdown'),\n durationSeconds: z.number().positive(),\n from: z.number().int().positive(),\n label: z.string().optional(),\n})\n\nconst VideoSceneSchema = z.discriminatedUnion('type', [\n VideoTextAnimationSceneSchema,\n VideoImageRevealSceneSchema,\n VideoSlideSceneSchema,\n VideoCountdownSceneSchema,\n])\n\nconst VideoCaptionSchema = z.object({\n startSeconds: z.number().nonnegative(),\n endSeconds: z.number().positive(),\n text: z.string(),\n})\n\nexport const VideoContentSchema = z.object({\n durationSeconds: z.number().positive(),\n scenes: z.array(VideoSceneSchema).min(1),\n audioUrl: z.string().optional(),\n captions: z.array(VideoCaptionSchema).optional(),\n renderedUrl: z.string().optional(),\n})\n\n// --- Copy ---\n\nexport const CopyContentSchema = z.object({\n headline: z.string(),\n body: z.string(),\n hashtags: z.array(z.string()).optional(),\n platform: z.enum(['instagram', 'tiktok', 'x', 'linkedin', 'sms', 'email-subject']),\n characterCount: z.number().optional(),\n})\n\n// --- Approval ---\n\nexport const ApprovalEventSchema = z.object({\n assetId: z.string(),\n variantId: z.string().optional(),\n action: z.enum(['approved', 'rejected', 'edited', 'scheduled']),\n editedFields: z.array(z.string()).optional(),\n userId: z.string(),\n timestamp: z.string(),\n})\n\nexport const ConversionMetricsSchema = z.object({\n impressions: z.number().nonnegative(),\n clicks: z.number().nonnegative(),\n conversions: z.number().nonnegative(),\n ctr: z.number().nonnegative(),\n cvr: z.number().nonnegative(),\n})\n\n// --- Content map for discriminated parse ---\n\nconst AssetFormatValues = [\n 'email',\n 'image:feed',\n 'image:story',\n 'image:carousel',\n 'video:reel',\n 'video:feed',\n 'copy:caption',\n 'copy:headline',\n 'copy:sms',\n] as const\n\nconst ContentSchemaByFormat = {\n email: EmailContentSchema,\n 'image:feed': ImageContentSchema,\n 'image:story': ImageContentSchema,\n 'image:carousel': ImageContentSchema,\n 'video:reel': VideoContentSchema,\n 'video:feed': VideoContentSchema,\n 'copy:caption': CopyContentSchema,\n 'copy:headline': CopyContentSchema,\n 'copy:sms': CopyContentSchema,\n} as const\n\nconst AssetSpecBaseSchema = z.object({\n id: z.string(),\n workspaceId: z.string(),\n campaignId: z.string().optional(),\n format: z.enum(AssetFormatValues),\n brand: BrandTokensSchema,\n status: z.enum(['draft', 'pending_review', 'approved', 'rejected', 'scheduled', 'published']),\n scheduledAt: z.string().optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n})\n\n/**\n * Validates an unknown value as an AssetSpec, including format-specific\n * content validation. Throws ZodError on invalid input.\n */\nexport function parseAssetSpec(raw: unknown): AssetSpec {\n const base = AssetSpecBaseSchema.parse(raw)\n const contentSchema = ContentSchemaByFormat[base.format]\n const content = contentSchema.parse((raw as Record<string, unknown>).content)\n return { ...base, content } as AssetSpec\n}\n\n/**\n * Safe parse — returns null instead of throwing.\n */\nexport function safeParseAssetSpec(raw: unknown): AssetSpec | null {\n try {\n return parseAssetSpec(raw)\n } catch {\n return null\n }\n}\n"],"mappings":"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","names":[]}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,7 +16,9 @@ export { HubExecClient, HubExecClientOptions, HubExecErrorCode, HubExecResult, H
|
|
|
16
16
|
export { CompleteMissionInput, CreateMissionInput, DEFAULT_MISSION_STEP_KINDS, InMemoryMissionStore, MISSION_CONTROL_CHANNEL_ID, MissionApprovalsPort, MissionAuditEvent, MissionConcurrencyError, MissionCostLedger, MissionEngine, MissionEngineOptions, MissionEventSink, MissionGateKind, MissionGateOptions, MissionGateProposal, MissionOutcome, MissionPlanRunOptions, MissionProposalResolution, MissionRecord, MissionService, MissionServiceOptions, MissionState, MissionStatus, MissionStep, MissionStepState, MissionStepStatus, MissionStorePort, MissionStreamEvent, MissionStreamStatus, MissionStreamStep, MissionStreamStepStatus, MissionUpdateGuard, MissionUpdatePatch, ParseMissionBlocksOptions, ParsedMission, ParsedMissionStep, PlanOutcome, RetryableStepError, SandboxDispatch, SandboxDispatchDoneResult, SandboxDispatchInProgressResult, SandboxDispatchInput, SandboxDispatchResult, SetStepStatusPatch, StepGateClassification, StepOutcome, applyMissionEvent, asMissionStreamEvent, budgetGateProposalId, buildAgentMissionPlan, createInMemoryMissionStore, createMissionEngine, createMissionService, isMissionStopRequested, isMissionTerminal, mergeMissionState, noopEventSink, parseMissionBlocks, parseSessionStreamEnvelope, reduceMissionEvents, stepGateProposalId, volumeGateProposalId } from './missions/index.js';
|
|
17
17
|
export { CookieOptions, JsonObject, KvLike, RateLimitResult, RequestContext, SecurityHeaderOptions, addSecurityHeaders, checkRateLimit, clearCookieHeader, extractRequestContext, parseJsonObjectBody, readCookieValue, requireString, serializeCookie } from './web/index.js';
|
|
18
18
|
export { BuildRedactedDocumentOptions, DEFAULT_REDACTION_PATTERNS, RedactForIngestionOptions, RedactedDocSegment, RedactedDocument, RedactionPattern, RedactionSpan, RevealResult, RevealSpanOptions, buildRedactedDocument, detectSpans, maskSpans, redactForIngestion, revealSpan } from './redact/index.js';
|
|
19
|
+
export { ApprovalEvent, ApprovalEventSchema, AssetContentMap, AssetFormat, AssetSpec, AssetStatus, AssetVariant, BrandTokens, BrandTokensSchema, ConversionMetrics, ConversionMetricsSchema, CopyContent, CopyContentSchema, CopyPlatform, EmailBodySection, EmailContent, EmailContentSchema, EmailCtaSection, EmailDividerSection, EmailFeatureSection, EmailHeroSection, EmailSection, EmailTestimonialSection, ImageBackground, ImageContent, ImageContentSchema, ImageImageLayer, ImageLayer, ImageLayerType, ImageLogoLayer, ImageShapeLayer, ImageSlide, ImageTextLayer, VideoCaption, VideoContent, VideoContentSchema, VideoCountdownScene, VideoImageRevealScene, VideoScene, VideoSlideScene, VideoTextAnimationScene, parseAssetSpec, safeParseAssetSpec } from './assets/index.js';
|
|
19
20
|
export { C as CatalogModel, M as ModelCatalog, R as RouterModel, _ as __resetCatalogCache, b as buildCatalog, f as fetchModelCatalog, n as normalizeModelId } from './model-catalog-BEAEVDaa.js';
|
|
20
21
|
export { CompletionRequirement, CompletionVerdict, CorrectnessChecker, ProducedState, RuntimeEventLike, SatisfiedBy, TaskGold, createLlmCorrectnessChecker, extractProducedState, verifyCompletion, weightedComposite } from '@tangle-network/agent-eval';
|
|
21
22
|
export { C as CreateTangleRouterModelConfigOptions, D as DEFAULT_TANGLE_BILLING_ENFORCEMENT_ENV_VAR, a as DEFAULT_TANGLE_ROUTER_BASE_URL, R as ResolveModelOptions, b as ResolveUserTangleExecutionKeyForUserOptions, c as ResolveUserTangleExecutionKeyOptions, d as ResolvedTangleExecutionKey, T as TangleBillingEnforcementOptions, e as TangleExecutionEnvironment, f as TangleExecutionKeyError, g as TangleExecutionKeyErrorCode, h as TangleExecutionKeyHttpError, i as TangleExecutionKeySource, j as TangleModelConfig, k as createTangleRouterModelConfig, l as isTangleBillingEnforcementDisabled, m as isTangleExecutionKeyError, r as resolveTangleExecutionEnvironment, n as resolveTangleModelConfig, o as resolveUserTangleExecutionKey, p as resolveUserTangleExecutionKeyForUser, t as tangleExecutionKeyHttpError } from './model-CKzniMMr.js';
|
|
22
23
|
import '@tangle-network/agent-knowledge';
|
|
24
|
+
import 'zod';
|
package/dist/index.js
CHANGED
|
@@ -38,6 +38,17 @@ import {
|
|
|
38
38
|
redactForIngestion,
|
|
39
39
|
revealSpan
|
|
40
40
|
} from "./chunk-5RMIUJDI.js";
|
|
41
|
+
import {
|
|
42
|
+
ApprovalEventSchema,
|
|
43
|
+
BrandTokensSchema,
|
|
44
|
+
ConversionMetricsSchema,
|
|
45
|
+
CopyContentSchema,
|
|
46
|
+
EmailContentSchema,
|
|
47
|
+
ImageContentSchema,
|
|
48
|
+
VideoContentSchema,
|
|
49
|
+
parseAssetSpec,
|
|
50
|
+
safeParseAssetSpec
|
|
51
|
+
} from "./chunk-5PTGEJZL.js";
|
|
41
52
|
import {
|
|
42
53
|
createKnowledgeLoop,
|
|
43
54
|
createReviewerDecider,
|
|
@@ -176,6 +187,10 @@ import {
|
|
|
176
187
|
} from "./chunk-ZXNXAQAH.js";
|
|
177
188
|
export {
|
|
178
189
|
APP_TOOL_NAMES,
|
|
190
|
+
ApprovalEventSchema,
|
|
191
|
+
BrandTokensSchema,
|
|
192
|
+
ConversionMetricsSchema,
|
|
193
|
+
CopyContentSchema,
|
|
179
194
|
DEFAULT_APP_TOOL_PATHS,
|
|
180
195
|
DEFAULT_HARNESS,
|
|
181
196
|
DEFAULT_HEADER_NAMES,
|
|
@@ -185,7 +200,9 @@ export {
|
|
|
185
200
|
DEFAULT_TANGLE_ROUTER_BASE_URL,
|
|
186
201
|
DELEGATION_MCP_SERVER_KEY,
|
|
187
202
|
DELEGATION_TOOLS,
|
|
203
|
+
EmailContentSchema,
|
|
188
204
|
HubExecClient,
|
|
205
|
+
ImageContentSchema,
|
|
189
206
|
KNOWN_HARNESSES,
|
|
190
207
|
MISSION_CONTROL_CHANNEL_ID,
|
|
191
208
|
MissionConcurrencyError,
|
|
@@ -195,6 +212,7 @@ export {
|
|
|
195
212
|
TURN_EVENTS_MIGRATION_SQL,
|
|
196
213
|
TangleExecutionKeyError,
|
|
197
214
|
ToolInputError,
|
|
215
|
+
VideoContentSchema,
|
|
198
216
|
__resetCatalogCache,
|
|
199
217
|
addSecurityHeaders,
|
|
200
218
|
agentAppConfigJsonSchema,
|
|
@@ -281,6 +299,7 @@ export {
|
|
|
281
299
|
normalizeTime,
|
|
282
300
|
normalizeToolEvent,
|
|
283
301
|
outcomeStatus,
|
|
302
|
+
parseAssetSpec,
|
|
284
303
|
parseJsonObjectBody,
|
|
285
304
|
parseMissionBlocks,
|
|
286
305
|
parseSessionStreamEnvelope,
|
|
@@ -304,6 +323,7 @@ export {
|
|
|
304
323
|
revealSpan,
|
|
305
324
|
reviewCandidate,
|
|
306
325
|
runAppToolLoop,
|
|
326
|
+
safeParseAssetSpec,
|
|
307
327
|
serializeCookie,
|
|
308
328
|
stepGateProposalId,
|
|
309
329
|
streamAppToolLoop,
|
|
@@ -75,6 +75,21 @@ interface StreamChatOptions {
|
|
|
75
75
|
*/
|
|
76
76
|
declare function streamChatTurn(opts: StreamChatOptions): Promise<ConsumeChatStreamResult>;
|
|
77
77
|
|
|
78
|
+
/**
|
|
79
|
+
* Provider brand marks — real logo path data (simple-icons / SVG Logos, both
|
|
80
|
+
* CC0) inlined so the picker shows actual provider identity instead of
|
|
81
|
+
* colored-initial monograms. Providers without a usable mark fall back to a
|
|
82
|
+
* tinted monogram chip. Aliases (z-ai/zai, moonshot/moonshotai, deepseek_ai)
|
|
83
|
+
* normalize to one entry.
|
|
84
|
+
*/
|
|
85
|
+
|
|
86
|
+
interface ProviderLogoProps {
|
|
87
|
+
provider?: string;
|
|
88
|
+
size?: number;
|
|
89
|
+
}
|
|
90
|
+
/** Real brand mark when we have one; tinted monogram otherwise. */
|
|
91
|
+
declare function ProviderLogo({ provider, size }: ProviderLogoProps): ReactNode;
|
|
92
|
+
|
|
78
93
|
interface ChatMessageMetrics {
|
|
79
94
|
modelUsed?: string;
|
|
80
95
|
promptTokens?: number;
|
|
@@ -187,4 +202,4 @@ interface ProposalApprovalHandlers {
|
|
|
187
202
|
*/
|
|
188
203
|
declare function ChatMessages({ messages, models, renderMarkdown, renderExtras, userLabel, agentLabel, loading, approval, onToolCallClick, }: ChatMessagesProps): react.JSX.Element;
|
|
189
204
|
|
|
190
|
-
export { type ChatMessageMetrics, ChatMessages, type ChatMessagesProps, type ChatStreamCallbacks, type ChatStreamToolCall, type ChatStreamToolResult, type ChatToolCallInfo, type ChatUiMessage, type ConsumeChatStreamResult, EffortPicker, type EffortPickerProps, ModelPicker, type ModelPickerProps, type ProposalApprovalHandlers, RunDrillIn, type RunDrillInProps, type StreamChatOptions, type ToolRunRecord, type ToolRunStep, consumeChatStream, dispatchChatStreamLine, formatModelCost, formatTokensPerSecond, pendingApprovalOf, streamChatTurn };
|
|
205
|
+
export { type ChatMessageMetrics, ChatMessages, type ChatMessagesProps, type ChatStreamCallbacks, type ChatStreamToolCall, type ChatStreamToolResult, type ChatToolCallInfo, type ChatUiMessage, type ConsumeChatStreamResult, EffortPicker, type EffortPickerProps, ModelPicker, type ModelPickerProps, type ProposalApprovalHandlers, ProviderLogo, type ProviderLogoProps, RunDrillIn, type RunDrillInProps, type StreamChatOptions, type ToolRunRecord, type ToolRunStep, consumeChatStream, dispatchChatStreamLine, formatModelCost, formatTokensPerSecond, pendingApprovalOf, streamChatTurn };
|