@compilr-dev/sdk 0.17.14 → 0.17.15
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.
|
@@ -31,8 +31,10 @@ export const ROLE_NAME_ALIASES = {
|
|
|
31
31
|
developer: 'dev',
|
|
32
32
|
architect: 'arch',
|
|
33
33
|
'technical-writer': 'docs',
|
|
34
|
-
|
|
35
|
-
designer: '
|
|
34
|
+
// 'security' is now a canonical role (Security Auditor) — passthrough handles it.
|
|
35
|
+
designer: 'visual',
|
|
36
|
+
'art-director': 'visual',
|
|
37
|
+
'visual-director': 'visual',
|
|
36
38
|
'character-dev': 'writer',
|
|
37
39
|
'content-designer': 'writer',
|
|
38
40
|
plotter: 'writer',
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Tool names are defined as string constants below. These cover all tools
|
|
8
8
|
* from @compilr-dev/agents, @compilr-dev/agents-coding, and platform tools.
|
|
9
9
|
*/
|
|
10
|
-
export type ToolProfile = 'full' | 'read-only' | 'developer' | 'security' | 'docs' | 'devops' | 'qa' | 'architect' | 'planner' | 'analyst' | 'custom';
|
|
10
|
+
export type ToolProfile = 'full' | 'read-only' | 'developer' | 'security' | 'docs' | 'devops' | 'qa' | 'architect' | 'planner' | 'analyst' | 'designer' | 'custom';
|
|
11
11
|
export interface ToolConfig {
|
|
12
12
|
/** Tool profile (predefined set) */
|
|
13
13
|
profile: ToolProfile;
|
package/dist/team/tool-config.js
CHANGED
|
@@ -670,6 +670,25 @@ export const TOOL_PROFILES = {
|
|
|
670
670
|
'web',
|
|
671
671
|
'factory_models',
|
|
672
672
|
],
|
|
673
|
+
// Designer - visual canvas authoring (canvas/artifacts/documents), reads code
|
|
674
|
+
// but does not edit source files.
|
|
675
|
+
designer: [
|
|
676
|
+
'file_read',
|
|
677
|
+
'interaction',
|
|
678
|
+
'handoff',
|
|
679
|
+
'consult',
|
|
680
|
+
'guide',
|
|
681
|
+
'subagents',
|
|
682
|
+
'meta',
|
|
683
|
+
'project',
|
|
684
|
+
'search',
|
|
685
|
+
'documents',
|
|
686
|
+
'canvas',
|
|
687
|
+
'artifacts',
|
|
688
|
+
'anchors',
|
|
689
|
+
'web',
|
|
690
|
+
'factory_models',
|
|
691
|
+
],
|
|
673
692
|
// Custom - user selected (groups specified in customGroups)
|
|
674
693
|
custom: [],
|
|
675
694
|
};
|
|
@@ -724,6 +743,11 @@ export const PROFILE_INFO = {
|
|
|
724
743
|
description: 'Requirements gathering - user stories, documents, business analysis',
|
|
725
744
|
isReadOnly: true,
|
|
726
745
|
},
|
|
746
|
+
designer: {
|
|
747
|
+
label: 'Visual Designer',
|
|
748
|
+
description: 'Create visual canvases, infographics, and decks - reads code, no source edits',
|
|
749
|
+
isReadOnly: true,
|
|
750
|
+
},
|
|
727
751
|
custom: {
|
|
728
752
|
label: 'Custom',
|
|
729
753
|
description: 'Select tool groups manually',
|
package/dist/team/types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { AgentConfig, AgentState } from '@compilr-dev/agents';
|
|
7
7
|
import type { ModelTier } from '../models/index.js';
|
|
8
|
-
export type ToolProfile = 'full' | 'read-only' | 'developer' | 'security' | 'docs' | 'devops' | 'qa' | 'architect' | 'planner' | 'analyst' | 'custom';
|
|
8
|
+
export type ToolProfile = 'full' | 'read-only' | 'developer' | 'security' | 'docs' | 'devops' | 'qa' | 'architect' | 'planner' | 'analyst' | 'designer' | 'custom';
|
|
9
9
|
/**
|
|
10
10
|
* Information about a background agent session.
|
|
11
11
|
* Used by /bg overlay to display status.
|
|
@@ -29,11 +29,11 @@ export interface BackgroundSessionInfo {
|
|
|
29
29
|
/**
|
|
30
30
|
* Mascot expressions for visual differentiation of agents
|
|
31
31
|
*/
|
|
32
|
-
export type MascotExpression = '[•_•]' | '[◈_◈]' | '[▣_▣]' | '[◉_◉]' | '[▲_▲]' | '[◆_◆]' | '[○_○]' | '[◇_◇]' | '[◎_◎]' | '[⊘_⊘]' | '[✎_✎]' | '[◒_◒]' | '[◔_◔]' | '[◓_◓]' | '[◕_◕]' | '[□_□]';
|
|
32
|
+
export type MascotExpression = '[•_•]' | '[◈_◈]' | '[▣_▣]' | '[◉_◉]' | '[▲_▲]' | '[◆_◆]' | '[○_○]' | '[◇_◇]' | '[◎_◎]' | '[⊘_⊘]' | '[✎_✎]' | '[◒_◒]' | '[◔_◔]' | '[◓_◓]' | '[◕_◕]' | '[◐_◐]' | '[⊗_⊗]' | '[□_□]';
|
|
33
33
|
/**
|
|
34
34
|
* Predefined agent roles with default configurations
|
|
35
35
|
*/
|
|
36
|
-
export type AgentRole = 'default' | 'pm' | 'arch' | 'qa' | 'dev' | 'ops' | 'docs' | 'ba' | 'researcher' | 'reviewer' | 'editor' | 'writer' | 'analyst' | 'strategist' | 'instructor' | 'custom';
|
|
36
|
+
export type AgentRole = 'default' | 'pm' | 'arch' | 'qa' | 'dev' | 'ops' | 'docs' | 'ba' | 'researcher' | 'reviewer' | 'editor' | 'writer' | 'analyst' | 'strategist' | 'instructor' | 'visual' | 'security' | 'custom';
|
|
37
37
|
/**
|
|
38
38
|
* Role groups for UI display (Workshop, team overlay).
|
|
39
39
|
* Groups roles by domain — used for visual categorization.
|
|
@@ -42,7 +42,7 @@ export declare const ROLE_GROUPS: Record<string, AgentRole[]>;
|
|
|
42
42
|
/**
|
|
43
43
|
* List of predefined role IDs (for validation against custom agent IDs)
|
|
44
44
|
*/
|
|
45
|
-
export declare const PREDEFINED_ROLE_IDS: readonly ["default", "pm", "arch", "qa", "dev", "ops", "docs", "ba", "researcher", "reviewer", "editor", "writer", "analyst", "strategist", "instructor"];
|
|
45
|
+
export declare const PREDEFINED_ROLE_IDS: readonly ["default", "pm", "arch", "qa", "dev", "ops", "docs", "ba", "researcher", "reviewer", "editor", "writer", "analyst", "strategist", "instructor", "visual", "security"];
|
|
46
46
|
/**
|
|
47
47
|
* Role metadata for predefined roles
|
|
48
48
|
*/
|
package/dist/team/types.js
CHANGED
|
@@ -8,8 +8,9 @@
|
|
|
8
8
|
* Groups roles by domain — used for visual categorization.
|
|
9
9
|
*/
|
|
10
10
|
export const ROLE_GROUPS = {
|
|
11
|
-
Software: ['dev', 'arch', 'qa', 'pm', 'ops'],
|
|
11
|
+
Software: ['dev', 'arch', 'qa', 'pm', 'ops', 'security'],
|
|
12
12
|
'Writing & Analysis': ['writer', 'editor', 'reviewer', 'researcher', 'analyst', 'docs', 'ba'],
|
|
13
|
+
Design: ['visual'],
|
|
13
14
|
'Business & Education': ['strategist', 'instructor'],
|
|
14
15
|
};
|
|
15
16
|
/**
|
|
@@ -31,6 +32,8 @@ export const PREDEFINED_ROLE_IDS = [
|
|
|
31
32
|
'analyst',
|
|
32
33
|
'strategist',
|
|
33
34
|
'instructor',
|
|
35
|
+
'visual',
|
|
36
|
+
'security',
|
|
34
37
|
];
|
|
35
38
|
/**
|
|
36
39
|
* Role expertise keywords for team awareness
|
|
@@ -70,6 +73,8 @@ export const ROLE_EXPERTISE = {
|
|
|
70
73
|
analyst: ['market research', 'data analysis', 'competitive intelligence', 'trends'],
|
|
71
74
|
strategist: ['business strategy', 'vision', 'go-to-market', 'planning'],
|
|
72
75
|
instructor: ['curriculum design', 'lesson planning', 'assessment', 'pedagogy'],
|
|
76
|
+
visual: ['infographics', 'carousels', 'boards', 'data-viz', 'visual hierarchy'],
|
|
77
|
+
security: ['security review', 'OWASP', 'vulnerabilities', 'dependency risk', 'threat modeling'],
|
|
73
78
|
custom: [], // User-defined
|
|
74
79
|
};
|
|
75
80
|
/**
|
|
@@ -901,6 +906,51 @@ You are the **Instructor** in this multi-agent team. You specialize in education
|
|
|
901
906
|
defaultToolProfile: 'docs', // Read + write educational content
|
|
902
907
|
defaultModelTier: 'balanced',
|
|
903
908
|
},
|
|
909
|
+
visual: {
|
|
910
|
+
displayName: 'Visual Director',
|
|
911
|
+
mascot: '[◐_◐]',
|
|
912
|
+
description: 'Visual canvases — infographics, carousels, boards',
|
|
913
|
+
defaultToolProfile: 'designer',
|
|
914
|
+
defaultModelTier: 'balanced',
|
|
915
|
+
defaultSystemPromptAddition: `# ROLE: VISUAL DIRECTOR
|
|
916
|
+
|
|
917
|
+
You are the **Visual Director**. Your PRIMARY deliverable is a **visual canvas**, not prose.
|
|
918
|
+
|
|
919
|
+
## How you work
|
|
920
|
+
- When a request can be answered visually — a stat, a comparison, a process, an announcement, a summary, a pitch, a layout — you produce a CANVAS, not a text reply.
|
|
921
|
+
- Pick the type deliberately: **infographic** (one composition), **carousel** (a sequence / deck), **board** (spatial mind-map / UI sketch). Then follow the matching craft skill (infographic / carousel / board) for the design rules.
|
|
922
|
+
- Author with \`canvas_write\` / \`canvas_edit\` incrementally (small calls). Theme with \`var(--canvas-*)\`; set an explicit \`var(--canvas-bg)\` (except boards — keep those transparent); add 2–4 bound Tweaks.
|
|
923
|
+
- You MAY add a one-line framing note, but the ARTIFACT is the canvas.
|
|
924
|
+
|
|
925
|
+
## Collaboration
|
|
926
|
+
- Take copy, data, and structure from the writer / strategist / researcher and turn it into visuals. You are the team's eyes: turn text into something worth looking at.
|
|
927
|
+
|
|
928
|
+
## Guardrail
|
|
929
|
+
- Canvas is your DEFAULT, not your cage. If the user explicitly asks for text, a document, or prose, honor that — don't force a canvas where words are wanted.`,
|
|
930
|
+
},
|
|
931
|
+
security: {
|
|
932
|
+
displayName: 'Security Auditor',
|
|
933
|
+
mascot: '[⊗_⊗]',
|
|
934
|
+
description: 'Security review — vulnerabilities, dependencies, unsafe patterns',
|
|
935
|
+
defaultToolProfile: 'security',
|
|
936
|
+
defaultModelTier: 'balanced',
|
|
937
|
+
defaultSystemPromptAddition: `# ROLE: SECURITY AUDITOR
|
|
938
|
+
|
|
939
|
+
You are the **Security Auditor**. You review code, config, and dependencies for vulnerabilities and unsafe patterns — you do NOT ship features or edit code.
|
|
940
|
+
|
|
941
|
+
## Focus
|
|
942
|
+
- OWASP Top 10: injection, broken authn/authz, secrets in code, SSRF, path traversal, unsafe deserialization, insecure defaults.
|
|
943
|
+
- Dependencies: known-vuln packages, supply-chain risk, over-broad permissions.
|
|
944
|
+
- Input validation, output encoding, least privilege, safe defaults.
|
|
945
|
+
|
|
946
|
+
## How you work
|
|
947
|
+
- READ code / config / dependencies (you have read + search + dependency tools; you have NO edit tools — that is intentional).
|
|
948
|
+
- Use the \`security-review\` / \`code-review\` skills for structured passes.
|
|
949
|
+
- Report findings with **SEVERITY**, \`file:line\`, and a concrete fix. Rank by exploitability × impact; surface the top risks first. Hand off remediation to the developer.
|
|
950
|
+
|
|
951
|
+
## Boundary
|
|
952
|
+
- Advisory only — you flag and recommend; you do not apply the fix.`,
|
|
953
|
+
},
|
|
904
954
|
custom: {
|
|
905
955
|
displayName: 'Custom Agent',
|
|
906
956
|
mascot: '[□_□]',
|
|
@@ -986,4 +1036,14 @@ export const ROLE_COPY = {
|
|
|
986
1036
|
bestFor: "you're teaching something and need it structured for learners.",
|
|
987
1037
|
pairsWith: ['reviewer', 'writer'],
|
|
988
1038
|
},
|
|
1039
|
+
visual: {
|
|
1040
|
+
tagline: 'Turns ideas and copy into visual canvases — infographics, decks, boards.',
|
|
1041
|
+
bestFor: 'you want something SHOWN, not written — a one-pager, a carousel, a mind-map.',
|
|
1042
|
+
pairsWith: ['writer', 'strategist'],
|
|
1043
|
+
},
|
|
1044
|
+
security: {
|
|
1045
|
+
tagline: 'Audits code and dependencies for vulnerabilities — advisory, no edits.',
|
|
1046
|
+
bestFor: 'you want a security pass — OWASP risks, dependency vulns, unsafe patterns.',
|
|
1047
|
+
pairsWith: ['dev', 'arch'],
|
|
1048
|
+
},
|
|
989
1049
|
};
|