agent-toolbelt 0.1.0 → 0.2.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/index.d.mts +68 -1
- package/dist/index.d.ts +68 -1
- package/dist/index.js +4 -0
- package/dist/index.mjs +4 -0
- package/dist/langchain.js +16 -0
- package/dist/langchain.mjs +16 -0
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -126,6 +126,65 @@ interface ColorPaletteResult {
|
|
|
126
126
|
css: string;
|
|
127
127
|
swatches: string;
|
|
128
128
|
}
|
|
129
|
+
interface BrandKitColor {
|
|
130
|
+
name: string;
|
|
131
|
+
hex: string;
|
|
132
|
+
hsl: string;
|
|
133
|
+
rgb: string;
|
|
134
|
+
values: {
|
|
135
|
+
h: number;
|
|
136
|
+
s: number;
|
|
137
|
+
l: number;
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
interface BrandKitAccessibilityCheck {
|
|
141
|
+
ratio: number;
|
|
142
|
+
rating: string;
|
|
143
|
+
}
|
|
144
|
+
interface BrandKitResult {
|
|
145
|
+
brand: string;
|
|
146
|
+
industry?: string;
|
|
147
|
+
vibes?: string[];
|
|
148
|
+
palette?: {
|
|
149
|
+
primary: BrandKitColor;
|
|
150
|
+
secondary: BrandKitColor;
|
|
151
|
+
accent: BrandKitColor;
|
|
152
|
+
background: BrandKitColor;
|
|
153
|
+
surface: BrandKitColor;
|
|
154
|
+
text: BrandKitColor;
|
|
155
|
+
textMuted: BrandKitColor;
|
|
156
|
+
success: BrandKitColor;
|
|
157
|
+
warning: BrandKitColor;
|
|
158
|
+
error: BrandKitColor;
|
|
159
|
+
};
|
|
160
|
+
typography?: {
|
|
161
|
+
display: {
|
|
162
|
+
family: string;
|
|
163
|
+
weights: string[];
|
|
164
|
+
usage: string;
|
|
165
|
+
};
|
|
166
|
+
body: {
|
|
167
|
+
family: string;
|
|
168
|
+
weights: string[];
|
|
169
|
+
usage: string;
|
|
170
|
+
};
|
|
171
|
+
scale: Record<string, string>;
|
|
172
|
+
googleFontsUrl: string;
|
|
173
|
+
};
|
|
174
|
+
accessibility?: {
|
|
175
|
+
primaryOnBackground: BrandKitAccessibilityCheck;
|
|
176
|
+
textOnBackground: BrandKitAccessibilityCheck;
|
|
177
|
+
primaryOnWhite: BrandKitAccessibilityCheck;
|
|
178
|
+
};
|
|
179
|
+
tokens?: Record<string, unknown>;
|
|
180
|
+
css?: string;
|
|
181
|
+
tailwindConfig?: string;
|
|
182
|
+
fonts?: {
|
|
183
|
+
display: string;
|
|
184
|
+
body: string;
|
|
185
|
+
googleFontsUrl?: string;
|
|
186
|
+
};
|
|
187
|
+
}
|
|
129
188
|
declare class AgentToolbelt {
|
|
130
189
|
private apiKey;
|
|
131
190
|
private baseUrl;
|
|
@@ -196,6 +255,14 @@ declare class AgentToolbelt {
|
|
|
196
255
|
format?: "hex" | "rgb" | "hsl" | "all";
|
|
197
256
|
includeShades?: boolean;
|
|
198
257
|
}): Promise<ColorPaletteResult>;
|
|
258
|
+
/** Generate a full brand kit — color palette, typography, CSS/Tailwind tokens */
|
|
259
|
+
brandKit(input: {
|
|
260
|
+
name: string;
|
|
261
|
+
industry?: string;
|
|
262
|
+
vibe?: string[];
|
|
263
|
+
targetAudience?: string;
|
|
264
|
+
format?: "full" | "tokens" | "css" | "tailwind";
|
|
265
|
+
}): Promise<BrandKitResult>;
|
|
199
266
|
}
|
|
200
267
|
|
|
201
|
-
export { type AddressNormalizerResult, AgentToolbelt, type AgentToolbeltOptions, type ColorPaletteResult, type CronBuilderResult, type CsvToJsonResult, type MarkdownConverterResult, type RegexBuilderResult, type SchemaGeneratorResult, type TextExtractorResult, type TokenCountResult, type UrlMetadataResult };
|
|
268
|
+
export { type AddressNormalizerResult, AgentToolbelt, type AgentToolbeltOptions, type BrandKitResult, type ColorPaletteResult, type CronBuilderResult, type CsvToJsonResult, type MarkdownConverterResult, type RegexBuilderResult, type SchemaGeneratorResult, type TextExtractorResult, type TokenCountResult, type UrlMetadataResult };
|
package/dist/index.d.ts
CHANGED
|
@@ -126,6 +126,65 @@ interface ColorPaletteResult {
|
|
|
126
126
|
css: string;
|
|
127
127
|
swatches: string;
|
|
128
128
|
}
|
|
129
|
+
interface BrandKitColor {
|
|
130
|
+
name: string;
|
|
131
|
+
hex: string;
|
|
132
|
+
hsl: string;
|
|
133
|
+
rgb: string;
|
|
134
|
+
values: {
|
|
135
|
+
h: number;
|
|
136
|
+
s: number;
|
|
137
|
+
l: number;
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
interface BrandKitAccessibilityCheck {
|
|
141
|
+
ratio: number;
|
|
142
|
+
rating: string;
|
|
143
|
+
}
|
|
144
|
+
interface BrandKitResult {
|
|
145
|
+
brand: string;
|
|
146
|
+
industry?: string;
|
|
147
|
+
vibes?: string[];
|
|
148
|
+
palette?: {
|
|
149
|
+
primary: BrandKitColor;
|
|
150
|
+
secondary: BrandKitColor;
|
|
151
|
+
accent: BrandKitColor;
|
|
152
|
+
background: BrandKitColor;
|
|
153
|
+
surface: BrandKitColor;
|
|
154
|
+
text: BrandKitColor;
|
|
155
|
+
textMuted: BrandKitColor;
|
|
156
|
+
success: BrandKitColor;
|
|
157
|
+
warning: BrandKitColor;
|
|
158
|
+
error: BrandKitColor;
|
|
159
|
+
};
|
|
160
|
+
typography?: {
|
|
161
|
+
display: {
|
|
162
|
+
family: string;
|
|
163
|
+
weights: string[];
|
|
164
|
+
usage: string;
|
|
165
|
+
};
|
|
166
|
+
body: {
|
|
167
|
+
family: string;
|
|
168
|
+
weights: string[];
|
|
169
|
+
usage: string;
|
|
170
|
+
};
|
|
171
|
+
scale: Record<string, string>;
|
|
172
|
+
googleFontsUrl: string;
|
|
173
|
+
};
|
|
174
|
+
accessibility?: {
|
|
175
|
+
primaryOnBackground: BrandKitAccessibilityCheck;
|
|
176
|
+
textOnBackground: BrandKitAccessibilityCheck;
|
|
177
|
+
primaryOnWhite: BrandKitAccessibilityCheck;
|
|
178
|
+
};
|
|
179
|
+
tokens?: Record<string, unknown>;
|
|
180
|
+
css?: string;
|
|
181
|
+
tailwindConfig?: string;
|
|
182
|
+
fonts?: {
|
|
183
|
+
display: string;
|
|
184
|
+
body: string;
|
|
185
|
+
googleFontsUrl?: string;
|
|
186
|
+
};
|
|
187
|
+
}
|
|
129
188
|
declare class AgentToolbelt {
|
|
130
189
|
private apiKey;
|
|
131
190
|
private baseUrl;
|
|
@@ -196,6 +255,14 @@ declare class AgentToolbelt {
|
|
|
196
255
|
format?: "hex" | "rgb" | "hsl" | "all";
|
|
197
256
|
includeShades?: boolean;
|
|
198
257
|
}): Promise<ColorPaletteResult>;
|
|
258
|
+
/** Generate a full brand kit — color palette, typography, CSS/Tailwind tokens */
|
|
259
|
+
brandKit(input: {
|
|
260
|
+
name: string;
|
|
261
|
+
industry?: string;
|
|
262
|
+
vibe?: string[];
|
|
263
|
+
targetAudience?: string;
|
|
264
|
+
format?: "full" | "tokens" | "css" | "tailwind";
|
|
265
|
+
}): Promise<BrandKitResult>;
|
|
199
266
|
}
|
|
200
267
|
|
|
201
|
-
export { type AddressNormalizerResult, AgentToolbelt, type AgentToolbeltOptions, type ColorPaletteResult, type CronBuilderResult, type CsvToJsonResult, type MarkdownConverterResult, type RegexBuilderResult, type SchemaGeneratorResult, type TextExtractorResult, type TokenCountResult, type UrlMetadataResult };
|
|
268
|
+
export { type AddressNormalizerResult, AgentToolbelt, type AgentToolbeltOptions, type BrandKitResult, type ColorPaletteResult, type CronBuilderResult, type CsvToJsonResult, type MarkdownConverterResult, type RegexBuilderResult, type SchemaGeneratorResult, type TextExtractorResult, type TokenCountResult, type UrlMetadataResult };
|
package/dist/index.js
CHANGED
|
@@ -90,6 +90,10 @@ var AgentToolbelt = class {
|
|
|
90
90
|
colorPalette(input) {
|
|
91
91
|
return this.call("color-palette", input);
|
|
92
92
|
}
|
|
93
|
+
/** Generate a full brand kit — color palette, typography, CSS/Tailwind tokens */
|
|
94
|
+
brandKit(input) {
|
|
95
|
+
return this.call("brand-kit", input);
|
|
96
|
+
}
|
|
93
97
|
};
|
|
94
98
|
// Annotate the CommonJS export names for ESM import in node:
|
|
95
99
|
0 && (module.exports = {
|
package/dist/index.mjs
CHANGED
|
@@ -64,6 +64,10 @@ var AgentToolbelt = class {
|
|
|
64
64
|
colorPalette(input) {
|
|
65
65
|
return this.call("color-palette", input);
|
|
66
66
|
}
|
|
67
|
+
/** Generate a full brand kit — color palette, typography, CSS/Tailwind tokens */
|
|
68
|
+
brandKit(input) {
|
|
69
|
+
return this.call("brand-kit", input);
|
|
70
|
+
}
|
|
67
71
|
};
|
|
68
72
|
export {
|
|
69
73
|
AgentToolbelt
|
package/dist/langchain.js
CHANGED
|
@@ -164,6 +164,22 @@ function createLangChainTools(client) {
|
|
|
164
164
|
const result = await client.colorPalette({ description, count, format });
|
|
165
165
|
return JSON.stringify(result);
|
|
166
166
|
}
|
|
167
|
+
}),
|
|
168
|
+
// ---- Brand Kit ----
|
|
169
|
+
new import_tools.DynamicStructuredTool({
|
|
170
|
+
name: "generate_brand_kit",
|
|
171
|
+
description: "Generate a complete brand kit from a company name, industry, and aesthetic keywords. Use this when a user needs a full visual identity: color palette, typography pairings, and design tokens. Powered by color psychology \u2014 maps industries to appropriate hues (fintech\u2192blues, healthcare\u2192greens, etc.) and vibes to color adjustments (luxurious\u2192desaturated darks, playful\u2192saturated brights). Returns Google Fonts pairings, WCAG accessibility scores, and ready-to-paste CSS custom properties or Tailwind config.",
|
|
172
|
+
schema: import_zod.z.object({
|
|
173
|
+
name: import_zod.z.string().describe("Company or brand name (e.g. 'Solaris Health', 'Bolt Finance')"),
|
|
174
|
+
industry: import_zod.z.string().optional().describe("Industry or sector (e.g. 'fintech', 'healthcare', 'fashion', 'saas', 'food & beverage')"),
|
|
175
|
+
vibe: import_zod.z.array(import_zod.z.string()).optional().describe("Aesthetic keywords (e.g. ['modern', 'minimal'], ['bold', 'playful'], ['luxurious', 'elegant'])"),
|
|
176
|
+
targetAudience: import_zod.z.string().optional().describe("Who the brand is for (e.g. 'enterprise B2B', 'gen-z consumers')"),
|
|
177
|
+
format: import_zod.z.enum(["full", "tokens", "css", "tailwind"]).default("full").describe("Output format: full (everything), tokens (JSON), css (custom properties), tailwind (config)")
|
|
178
|
+
}),
|
|
179
|
+
func: async ({ name, industry, vibe, targetAudience, format }) => {
|
|
180
|
+
const result = await client.brandKit({ name, industry, vibe, targetAudience, format });
|
|
181
|
+
return JSON.stringify(result);
|
|
182
|
+
}
|
|
167
183
|
})
|
|
168
184
|
];
|
|
169
185
|
}
|
package/dist/langchain.mjs
CHANGED
|
@@ -140,6 +140,22 @@ function createLangChainTools(client) {
|
|
|
140
140
|
const result = await client.colorPalette({ description, count, format });
|
|
141
141
|
return JSON.stringify(result);
|
|
142
142
|
}
|
|
143
|
+
}),
|
|
144
|
+
// ---- Brand Kit ----
|
|
145
|
+
new DynamicStructuredTool({
|
|
146
|
+
name: "generate_brand_kit",
|
|
147
|
+
description: "Generate a complete brand kit from a company name, industry, and aesthetic keywords. Use this when a user needs a full visual identity: color palette, typography pairings, and design tokens. Powered by color psychology \u2014 maps industries to appropriate hues (fintech\u2192blues, healthcare\u2192greens, etc.) and vibes to color adjustments (luxurious\u2192desaturated darks, playful\u2192saturated brights). Returns Google Fonts pairings, WCAG accessibility scores, and ready-to-paste CSS custom properties or Tailwind config.",
|
|
148
|
+
schema: z.object({
|
|
149
|
+
name: z.string().describe("Company or brand name (e.g. 'Solaris Health', 'Bolt Finance')"),
|
|
150
|
+
industry: z.string().optional().describe("Industry or sector (e.g. 'fintech', 'healthcare', 'fashion', 'saas', 'food & beverage')"),
|
|
151
|
+
vibe: z.array(z.string()).optional().describe("Aesthetic keywords (e.g. ['modern', 'minimal'], ['bold', 'playful'], ['luxurious', 'elegant'])"),
|
|
152
|
+
targetAudience: z.string().optional().describe("Who the brand is for (e.g. 'enterprise B2B', 'gen-z consumers')"),
|
|
153
|
+
format: z.enum(["full", "tokens", "css", "tailwind"]).default("full").describe("Output format: full (everything), tokens (JSON), css (custom properties), tailwind (config)")
|
|
154
|
+
}),
|
|
155
|
+
func: async ({ name, industry, vibe, targetAudience, format }) => {
|
|
156
|
+
const result = await client.brandKit({ name, industry, vibe, targetAudience, format });
|
|
157
|
+
return JSON.stringify(result);
|
|
158
|
+
}
|
|
143
159
|
})
|
|
144
160
|
];
|
|
145
161
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-toolbelt",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Official SDK for Agent Toolbelt — typed API client and LangChain tool wrappers for schema generation, text extraction, token counting, CSV conversion, and more.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|