@cogenta/agents 0.5.1 → 0.7.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/agents/builtins.d.ts.map +1 -1
- package/dist/agents/builtins.js +34 -6
- package/dist/agents/builtins.js.map +1 -1
- package/dist/agents/store.d.ts.map +1 -1
- package/dist/agents/store.js +148 -95
- package/dist/agents/store.js.map +1 -1
- package/dist/identity/context.d.ts +31 -1
- package/dist/identity/context.d.ts.map +1 -1
- package/dist/identity/context.js +10 -0
- package/dist/identity/context.js.map +1 -1
- package/dist/index.d.ts +9 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/progress/job-store.d.ts.map +1 -1
- package/dist/progress/job-store.js +7 -2
- package/dist/progress/job-store.js.map +1 -1
- package/dist/progress/types.d.ts +20 -1
- package/dist/progress/types.d.ts.map +1 -1
- package/dist/progress/types.js.map +1 -1
- package/dist/providers/image/openai.d.ts +8 -1
- package/dist/providers/image/openai.d.ts.map +1 -1
- package/dist/providers/image/openai.js +60 -6
- package/dist/providers/image/openai.js.map +1 -1
- package/dist/providers/resolve.d.ts +17 -0
- package/dist/providers/resolve.d.ts.map +1 -1
- package/dist/providers/resolve.js +39 -0
- package/dist/providers/resolve.js.map +1 -1
- package/dist/providers/store.d.ts +25 -0
- package/dist/providers/store.d.ts.map +1 -1
- package/dist/providers/store.js +28 -1
- package/dist/providers/store.js.map +1 -1
- package/dist/rag/reference-documents/store.d.ts +21 -0
- package/dist/rag/reference-documents/store.d.ts.map +1 -1
- package/dist/rag/reference-documents/store.js +14 -1
- package/dist/rag/reference-documents/store.js.map +1 -1
- package/dist/runtime/loop.d.ts.map +1 -1
- package/dist/runtime/loop.js +3 -3
- package/dist/runtime/loop.js.map +1 -1
- package/dist/site-plan/approval.d.ts +11 -2
- package/dist/site-plan/approval.d.ts.map +1 -1
- package/dist/site-plan/approval.js +25 -1
- package/dist/site-plan/approval.js.map +1 -1
- package/dist/site-plan/content-model.d.ts +2 -0
- package/dist/site-plan/content-model.d.ts.map +1 -1
- package/dist/site-plan/content-model.js +87 -22
- package/dist/site-plan/content-model.js.map +1 -1
- package/dist/site-plan/enforce.d.ts.map +1 -1
- package/dist/site-plan/enforce.js +26 -1
- package/dist/site-plan/enforce.js.map +1 -1
- package/dist/site-plan/skin-candidates.d.ts +13 -0
- package/dist/site-plan/skin-candidates.d.ts.map +1 -1
- package/dist/site-plan/skin-candidates.js +27 -3
- package/dist/site-plan/skin-candidates.js.map +1 -1
- package/dist/site-plan/types.d.ts +14 -1
- package/dist/site-plan/types.d.ts.map +1 -1
- package/dist/skin/generate.d.ts +14 -0
- package/dist/skin/generate.d.ts.map +1 -1
- package/dist/skin/generate.js +10 -1
- package/dist/skin/generate.js.map +1 -1
- package/dist/theme-creator/attachments.d.ts +37 -0
- package/dist/theme-creator/attachments.d.ts.map +1 -0
- package/dist/theme-creator/attachments.js +57 -0
- package/dist/theme-creator/attachments.js.map +1 -0
- package/dist/theme-creator/layout-classifier.d.ts +66 -0
- package/dist/theme-creator/layout-classifier.d.ts.map +1 -0
- package/dist/theme-creator/layout-classifier.js +151 -0
- package/dist/theme-creator/layout-classifier.js.map +1 -0
- package/dist/theme-creator/propose-theme.d.ts +2 -5
- package/dist/theme-creator/propose-theme.d.ts.map +1 -1
- package/dist/theme-creator/propose-theme.js +9 -58
- package/dist/theme-creator/propose-theme.js.map +1 -1
- package/dist/tools/core/media.d.ts +68 -1
- package/dist/tools/core/media.d.ts.map +1 -1
- package/dist/tools/core/media.js +57 -1
- package/dist/tools/core/media.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-classifier.js","sourceRoot":"","sources":["../../src/theme-creator/layout-classifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ProgressReporter } from '../progress/types.js';
|
|
2
2
|
import type { ProviderClient } from '../providers/types.js';
|
|
3
|
+
import { type ThemeCreatorAttachment } from './attachments.js';
|
|
3
4
|
/**
|
|
4
5
|
* L26 task 5 — "Theme Creator": describe a theme in free text, optionally
|
|
5
6
|
* attach files, get back one to three candidates to preview and activate.
|
|
@@ -31,11 +32,7 @@ import type { ProviderClient } from '../providers/types.js';
|
|
|
31
32
|
* (`theme-router.ts`'s `requireAdmin`), so that text is the asker's own
|
|
32
33
|
* words, not third-party content.
|
|
33
34
|
*/
|
|
34
|
-
export
|
|
35
|
-
readonly filename: string;
|
|
36
|
-
readonly mimeType: string;
|
|
37
|
-
readonly data: Uint8Array;
|
|
38
|
-
}
|
|
35
|
+
export type { ThemeCreatorAttachment };
|
|
39
36
|
export interface ThemeCreatorTargetTheme {
|
|
40
37
|
readonly name: string;
|
|
41
38
|
readonly label: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propose-theme.d.ts","sourceRoot":"","sources":["../../src/theme-creator/propose-theme.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"propose-theme.d.ts","sourceRoot":"","sources":["../../src/theme-creator/propose-theme.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC3E,OAAO,KAAK,EAAkC,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAG3F,OAAO,EAAsB,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAElF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,YAAY,EAAE,sBAAsB,EAAE,CAAA;AAEtC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,8FAA8F;IAC9F,QAAQ,CAAC,eAAe,EAAE,SAAS,uBAAuB,EAAE,CAAA;IAC5D,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAA;IACxD,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;IAC5F,kEAAkE;IAClE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,iJAAiJ;IACjJ,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAA;CACvC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,uBAAuB,CAAA;CAC/C;AAED,MAAM,MAAM,4BAA4B,GACpC;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;IACjB,QAAQ,CAAC,UAAU,EAAE,SAAS,qBAAqB,EAAE,CAAA;IACrD,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CACrC,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AA8JnD,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,4BAA4B,CAAC,CAqEvC"}
|
|
@@ -1,70 +1,15 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { extractDocumentText } from '../documents/extract-text.js';
|
|
3
2
|
import { assembleContext } from '../identity/context.js';
|
|
4
3
|
import { NOOP_PROGRESS } from '../progress/types.js';
|
|
5
4
|
import { extractJsonObject } from '../site-plan/json.js';
|
|
6
5
|
import { generateSkinCandidates } from '../site-plan/skin-candidates.js';
|
|
6
|
+
import { processAttachments } from './attachments.js';
|
|
7
7
|
const ThemeChoiceSchema = z.object({
|
|
8
8
|
themeName: z.string().min(1),
|
|
9
9
|
rationale: z.string().min(1),
|
|
10
10
|
tagline: z.string().min(1).max(140).optional(),
|
|
11
11
|
footerNote: z.string().min(1).max(240).optional(),
|
|
12
12
|
});
|
|
13
|
-
function base64Of(bytes) {
|
|
14
|
-
return Buffer.from(bytes).toString('base64');
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Splits attachments into what `assembleContext`'s `data` channel can carry
|
|
18
|
-
* (document text — R8) and what a multimodal content block carries (images).
|
|
19
|
-
*
|
|
20
|
-
* An attached image is always forwarded — this deliberately does not ask any
|
|
21
|
-
* static "does this provider support vision" declaration first. Which
|
|
22
|
-
* vendors and models accept an inline image changes on their own schedule,
|
|
23
|
-
* outside this codebase's control; hard-coding a per-vendor allow/deny list
|
|
24
|
-
* here would silently go stale the day a vendor adds (or drops) support.
|
|
25
|
-
* Instead, the request is simply sent with the image attached, and if the
|
|
26
|
-
* vendor's own API rejects it, that failure surfaces as a normal job error —
|
|
27
|
-
* shown to the operator, logged, and the run stops there. That is real
|
|
28
|
-
* information about what actually happened, not a guess made ahead of time.
|
|
29
|
-
*/
|
|
30
|
-
function processAttachments(attachments) {
|
|
31
|
-
const documentData = [];
|
|
32
|
-
const imageParts = [];
|
|
33
|
-
const warnings = [];
|
|
34
|
-
const contributedFilenames = [];
|
|
35
|
-
for (const attachment of attachments) {
|
|
36
|
-
let text;
|
|
37
|
-
let documentWarnings = [];
|
|
38
|
-
try {
|
|
39
|
-
const extracted = extractDocumentText({
|
|
40
|
-
filename: attachment.filename,
|
|
41
|
-
bytes: Buffer.from(attachment.data),
|
|
42
|
-
});
|
|
43
|
-
text = extracted.text;
|
|
44
|
-
documentWarnings = extracted.warnings;
|
|
45
|
-
}
|
|
46
|
-
catch {
|
|
47
|
-
text = undefined;
|
|
48
|
-
}
|
|
49
|
-
if (text !== undefined) {
|
|
50
|
-
documentData.push({ source: attachment.filename, content: text });
|
|
51
|
-
contributedFilenames.push(attachment.filename);
|
|
52
|
-
for (const warning of documentWarnings)
|
|
53
|
-
warnings.push(`${attachment.filename}: ${warning}`);
|
|
54
|
-
continue;
|
|
55
|
-
}
|
|
56
|
-
if (attachment.mimeType.startsWith('image/')) {
|
|
57
|
-
imageParts.push({
|
|
58
|
-
type: 'image',
|
|
59
|
-
mediaType: attachment.mimeType,
|
|
60
|
-
data: base64Of(attachment.data),
|
|
61
|
-
});
|
|
62
|
-
continue;
|
|
63
|
-
}
|
|
64
|
-
warnings.push(`${attachment.filename}: could not be read as a document or an image`);
|
|
65
|
-
}
|
|
66
|
-
return { documentData, imageParts, warnings, contributedFilenames };
|
|
67
|
-
}
|
|
68
13
|
function themeListText(themes) {
|
|
69
14
|
return themes.map((theme) => `- ${theme.name} (${theme.label})`).join('\n');
|
|
70
15
|
}
|
|
@@ -191,8 +136,8 @@ export async function proposeThemeCandidates(input) {
|
|
|
191
136
|
const progress = input.onProgress ?? NOOP_PROGRESS;
|
|
192
137
|
const { documentData, imageParts, warnings, contributedFilenames } = processAttachments(input.attachments ?? []);
|
|
193
138
|
for (const warning of warnings)
|
|
194
|
-
progress.report(warning);
|
|
195
|
-
progress.report('Choosing a base theme…');
|
|
139
|
+
progress.report(warning, { kind: 'warning' });
|
|
140
|
+
progress.report('Choosing a base theme…', { kind: 'stage' });
|
|
196
141
|
const themeChoice = await chooseTheme(input, documentData, imageParts, input.client.maxCorrectionAttempts);
|
|
197
142
|
if (!themeChoice.ok)
|
|
198
143
|
return { ok: false, reason: themeChoice.reason };
|
|
@@ -209,6 +154,12 @@ export async function proposeThemeCandidates(input) {
|
|
|
209
154
|
model: input.model,
|
|
210
155
|
description: `${baseDescription}${attachmentNote}`,
|
|
211
156
|
blueprintLabel: input.siteName,
|
|
157
|
+
// The baseline's actual token VALUES, not merely a sentence saying a
|
|
158
|
+
// baseline exists. Until this was passed, "adjust the current theme"
|
|
159
|
+
// only reworded the brief and then re-derived every value from scratch,
|
|
160
|
+
// so each turn of a conversation produced a different theme rather than
|
|
161
|
+
// the same one, adjusted.
|
|
162
|
+
...(input.baseline === undefined ? {} : { baseTokens: input.baseline.tokens }),
|
|
212
163
|
...(input.maxCandidates === undefined ? {} : { count: input.maxCandidates }),
|
|
213
164
|
...(imageParts.length === 0 ? {} : { images: imageParts }),
|
|
214
165
|
onProgress: progress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propose-theme.js","sourceRoot":"","sources":["../../src/theme-creator/propose-theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"propose-theme.js","sourceRoot":"","sources":["../../src/theme-creator/propose-theme.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,8 +15,16 @@ import type { ToolDefinition } from '../types.js';
|
|
|
15
15
|
* wire output is byte-for-byte what it was before this fiche — an agent
|
|
16
16
|
* asking to move a file between folders needs a new, separate tool, not
|
|
17
17
|
* this one grown quietly.
|
|
18
|
+
*
|
|
19
|
+
* `provenance`/`provenanceDetail` are stripped for exactly the same reason,
|
|
20
|
+
* and it was nearly missed: they were added to `MediaAsset` (so that a
|
|
21
|
+
* generated image is never mistaken for a photograph someone took), which
|
|
22
|
+
* would have widened this already-shipped tool's output as a side effect. An
|
|
23
|
+
* agent that needs to know what made a file needs a tool that says so in its
|
|
24
|
+
* own signature — `media.store_generated_image` below reports it for what it
|
|
25
|
+
* writes — not `media.read` grown quietly.
|
|
18
26
|
*/
|
|
19
|
-
type MediaToolAsset = Omit<MediaAsset, 'folderId'>;
|
|
27
|
+
type MediaToolAsset = Omit<MediaAsset, 'folderId' | 'provenance' | 'provenanceDetail'>;
|
|
20
28
|
declare const ReadInputSchema: z.ZodObject<{
|
|
21
29
|
id: z.ZodString;
|
|
22
30
|
}, z.core.$strip>;
|
|
@@ -50,5 +58,64 @@ type WriteInput = z.infer<typeof WriteInputSchema>;
|
|
|
50
58
|
* use case this tool exists for (e.g. an accessibility-review agent).
|
|
51
59
|
*/
|
|
52
60
|
export declare function createMediaWriteTool(store: MediaStore): ToolDefinition<WriteInput, MediaToolAsset>;
|
|
61
|
+
/**
|
|
62
|
+
* `media.store_generated_image` — the step that turns a generated candidate
|
|
63
|
+
* into a real file in the library.
|
|
64
|
+
*
|
|
65
|
+
* `assist.generate_image` deliberately stores nothing: it returns data URLs
|
|
66
|
+
* and says `applied: false`, because generating is cheap to undo and storing
|
|
67
|
+
* is not. Nothing bridged the two, so an image a model produced could be
|
|
68
|
+
* looked at and never kept. This is that bridge, and it is deliberately the
|
|
69
|
+
* *only* one: every file it writes is recorded as `generated`, with the
|
|
70
|
+
* agent and model that made it, because the alternative — a picture nobody
|
|
71
|
+
* can tell apart from a photograph the owner took — is the claim contract A
|
|
72
|
+
* made provenance non-optional to prevent.
|
|
73
|
+
*
|
|
74
|
+
* `sideEffects: true` with `reversible: false` puts it through
|
|
75
|
+
* `withAutonomy`'s forced-approval path whatever the configured level
|
|
76
|
+
* (`autonomy/with-autonomy.ts`): a human confirms every file that lands in
|
|
77
|
+
* the library. That is the design, not a limitation to route around.
|
|
78
|
+
*
|
|
79
|
+
* `alt` is required rather than optional for the same reason the media store
|
|
80
|
+
* refuses an empty one on a non-decorative asset: a model that just described
|
|
81
|
+
* an image well enough to generate it can describe it well enough to be read
|
|
82
|
+
* aloud.
|
|
83
|
+
*/
|
|
84
|
+
export interface MediaStoreImageToolOptions {
|
|
85
|
+
/**
|
|
86
|
+
* Writes the bytes through the host's storage driver and creates the media
|
|
87
|
+
* row. Injected rather than taken as a `MediaStore`, because storing a file
|
|
88
|
+
* needs a `StorageDriver` too and this package has no business choosing
|
|
89
|
+
* where bytes live.
|
|
90
|
+
*/
|
|
91
|
+
readonly save: (input: {
|
|
92
|
+
readonly dataUrl: string;
|
|
93
|
+
readonly filename: string;
|
|
94
|
+
readonly alt: string;
|
|
95
|
+
readonly provenanceDetail: Readonly<Record<string, unknown>>;
|
|
96
|
+
}) => Promise<{
|
|
97
|
+
readonly id: string;
|
|
98
|
+
readonly filename: string;
|
|
99
|
+
readonly byteLength: number;
|
|
100
|
+
}>;
|
|
101
|
+
/** Named in the provenance of everything this writes. */
|
|
102
|
+
readonly agentName: string;
|
|
103
|
+
readonly model?: string;
|
|
104
|
+
readonly now?: () => Date;
|
|
105
|
+
}
|
|
106
|
+
declare const StoreImageInputSchema: z.ZodObject<{
|
|
107
|
+
dataUrl: z.ZodString;
|
|
108
|
+
alt: z.ZodString;
|
|
109
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
110
|
+
}, z.core.$strip>;
|
|
111
|
+
export type StoreImageInput = z.infer<typeof StoreImageInputSchema>;
|
|
112
|
+
declare const StoreImageOutputSchema: z.ZodObject<{
|
|
113
|
+
id: z.ZodString;
|
|
114
|
+
filename: z.ZodString;
|
|
115
|
+
byteLength: z.ZodNumber;
|
|
116
|
+
provenance: z.ZodLiteral<"generated">;
|
|
117
|
+
}, z.core.$strip>;
|
|
118
|
+
export type StoreImageOutput = z.infer<typeof StoreImageOutputSchema>;
|
|
119
|
+
export declare function createMediaStoreImageTool(options: MediaStoreImageToolOptions): ToolDefinition<StoreImageInput, StoreImageOutput>;
|
|
53
120
|
export {};
|
|
54
121
|
//# sourceMappingURL=media.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../src/tools/core/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAoB,MAAM,eAAe,CAAA;AAE7E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAIjD
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../src/tools/core/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAoB,MAAM,eAAe,CAAA;AAE7E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAIjD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,KAAK,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,YAAY,GAAG,kBAAkB,CAAC,CAAA;AA+BtF,QAAA,MAAM,eAAe;;iBAA+B,CAAA;AACpD,KAAK,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEhD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,CAuBhG;AAED,QAAA,MAAM,gBAAgB;;;;;;;;;iBAMpB,CAAA;AACF,KAAK,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAElD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,UAAU,GAChB,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,CAuB5C;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE;QACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;QACpB,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAC7D,KAAK,OAAO,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC9F,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CAC1B;AAED,QAAA,MAAM,qBAAqB;;;;iBAOzB,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE,QAAA,MAAM,sBAAsB;;;;;iBAM1B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAwCnD"}
|
package/dist/tools/core/media.js
CHANGED
|
@@ -3,7 +3,7 @@ import { z } from 'zod';
|
|
|
3
3
|
import { defineTool } from '../define.js';
|
|
4
4
|
const FocalPointSchema = z.object({ x: z.number(), y: z.number() });
|
|
5
5
|
function toToolAsset(asset) {
|
|
6
|
-
const { folderId: _folderId, ...rest } = asset;
|
|
6
|
+
const { folderId: _folderId, provenance: _provenance, provenanceDetail: _provenanceDetail, ...rest } = asset;
|
|
7
7
|
return rest;
|
|
8
8
|
}
|
|
9
9
|
const MediaAssetSchema = z.object({
|
|
@@ -96,4 +96,60 @@ export function createMediaWriteTool(store) {
|
|
|
96
96
|
},
|
|
97
97
|
});
|
|
98
98
|
}
|
|
99
|
+
const StoreImageInputSchema = z.object({
|
|
100
|
+
/** Exactly the `dataUrl` `assist.generate_image` returned — never a URL to fetch. */
|
|
101
|
+
dataUrl: z.string().min(1),
|
|
102
|
+
/** What a screen reader should say. Required: an image nobody can describe is an image nobody should publish. */
|
|
103
|
+
alt: z.string().min(1).max(1000),
|
|
104
|
+
/** Without an extension — the store derives one from the bytes' real type. */
|
|
105
|
+
filename: z.string().min(1).max(200).optional(),
|
|
106
|
+
});
|
|
107
|
+
const StoreImageOutputSchema = z.object({
|
|
108
|
+
id: z.string(),
|
|
109
|
+
filename: z.string(),
|
|
110
|
+
byteLength: z.number().int().nonnegative(),
|
|
111
|
+
/** Always `generated` — this tool has no other honest answer, and says so in its own signature rather than leaving a caller to assume. */
|
|
112
|
+
provenance: z.literal('generated'),
|
|
113
|
+
});
|
|
114
|
+
export function createMediaStoreImageTool(options) {
|
|
115
|
+
const now = options.now ?? (() => new Date());
|
|
116
|
+
return defineTool({
|
|
117
|
+
name: 'media.store_generated_image',
|
|
118
|
+
version: '1.0.0',
|
|
119
|
+
description: `Keeps one generated image in the site's media library, so a page or a theme can point at it. Pass the dataUrl exactly as assist.generate_image returned it, plus the alt text a screen reader should read.
|
|
120
|
+
|
|
121
|
+
The file is recorded as generated, naming the agent and model that made it — a visitor's country may require that, and a reader deserves it either way. Generating costs money and storing costs a decision, which is why they are two steps: generate several, look at them, keep the one that is right.`,
|
|
122
|
+
input: StoreImageInputSchema,
|
|
123
|
+
output: StoreImageOutputSchema,
|
|
124
|
+
permissions: ['media.write'],
|
|
125
|
+
sideEffects: true,
|
|
126
|
+
reversible: false,
|
|
127
|
+
cost: 'low',
|
|
128
|
+
async execute(input) {
|
|
129
|
+
if (!input.dataUrl.startsWith('data:image/')) {
|
|
130
|
+
throw new CogentaError({
|
|
131
|
+
code: 'MEDIA_INVALID',
|
|
132
|
+
message: 'Only an inline image data URL can be stored by this tool.',
|
|
133
|
+
hint: 'Pass the `dataUrl` from assist.generate_image verbatim — this tool never fetches a remote URL.',
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
const saved = await options.save({
|
|
137
|
+
dataUrl: input.dataUrl,
|
|
138
|
+
filename: input.filename ?? 'generated-image',
|
|
139
|
+
alt: input.alt,
|
|
140
|
+
provenanceDetail: {
|
|
141
|
+
agent: options.agentName,
|
|
142
|
+
...(options.model === undefined ? {} : { model: options.model }),
|
|
143
|
+
at: now().toISOString(),
|
|
144
|
+
},
|
|
145
|
+
});
|
|
146
|
+
return {
|
|
147
|
+
id: saved.id,
|
|
148
|
+
filename: saved.filename,
|
|
149
|
+
byteLength: saved.byteLength,
|
|
150
|
+
provenance: 'generated',
|
|
151
|
+
};
|
|
152
|
+
},
|
|
153
|
+
});
|
|
154
|
+
}
|
|
99
155
|
//# sourceMappingURL=media.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/tools/core/media.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/tools/core/media.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogenta/agents",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "The agentic runtime: LLM provider abstraction, tool-calling, execution loop, permissions, memory, budgets, audit.",
|
|
5
5
|
"license": "MPL-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@langchain/langgraph": "^1.4.12",
|
|
31
31
|
"zod": "^4.4.3",
|
|
32
|
-
"@cogenta/
|
|
33
|
-
"@cogenta/render": "0.2.
|
|
34
|
-
"@cogenta/
|
|
35
|
-
"@cogenta/
|
|
32
|
+
"@cogenta/blocks": "1.0.4",
|
|
33
|
+
"@cogenta/render": "0.2.4",
|
|
34
|
+
"@cogenta/core": "0.9.0",
|
|
35
|
+
"@cogenta/schema": "0.5.2"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"typescript": "^7.0.2",
|