@compilr-dev/sdk 0.36.0 → 0.37.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.
@@ -8,7 +8,7 @@
8
8
  * - Optional tool filtering
9
9
  */
10
10
  import type { Agent, AgentConfig, ContextManager } from '@compilr-dev/agents';
11
- import type { TeamAgentConfig, SerializedTeamAgent, MascotExpression, AgentRole, ToolProfile } from './types.js';
11
+ import type { TeamAgentConfig, SerializedTeamAgent, AgentRole, ToolProfile } from './types.js';
12
12
  import type { ModelTier } from '../models/index.js';
13
13
  import type { ProviderType } from '../config.js';
14
14
  import type { SharedContextManager } from './shared-context.js';
@@ -60,7 +60,8 @@ export interface TeamAgentUpdate {
60
60
  * model change), so `applyUpdate` delegates rather than reimplementing it.
61
61
  */
62
62
  modelTier?: ModelTier;
63
- mascot?: MascotExpression;
63
+ /** See `TeamAgentConfig.mascot`: custom mascots are not in `MascotExpression`. */
64
+ mascot?: string;
64
65
  description?: string;
65
66
  systemPromptAddition?: string;
66
67
  /** Tone only. Composed into the prompt at build time — see `TeamAgent.personality`. */
@@ -150,10 +151,8 @@ export declare class TeamAgent {
150
151
  * Display name shown in UI
151
152
  */
152
153
  displayName: string;
153
- /**
154
- * Mascot expression for visual differentiation
155
- */
156
- mascot: MascotExpression;
154
+ /** See `TeamAgentConfig.mascot`: custom mascots are not in `MascotExpression`. */
155
+ mascot: string;
157
156
  /**
158
157
  * Role type
159
158
  */
@@ -165,9 +165,7 @@ export class TeamAgent {
165
165
  * Display name shown in UI
166
166
  */
167
167
  displayName;
168
- /**
169
- * Mascot expression for visual differentiation
170
- */
168
+ /** See `TeamAgentConfig.mascot`: custom mascots are not in `MascotExpression`. */
171
169
  mascot;
172
170
  /**
173
171
  * Role type
@@ -96,9 +96,17 @@ export interface TeamAgentConfig {
96
96
  */
97
97
  displayName: string;
98
98
  /**
99
- * Mascot expression for visual differentiation
99
+ * The agent's mascot face, e.g. "[◈_◈]".
100
+ *
101
+ * ⚠️ `string`, NOT `MascotExpression`. That union lists only the BUILT-IN role faces
102
+ * (`ROLE_METADATA`), while a custom agent's mascot comes from `CUSTOM_MASCOTS` — a disjoint
103
+ * pool (`[⊡_⊡]`, `[⊞_⊞]`, …) whose `assignMascot()` falls back to a random pick, and which
104
+ * the CLI's editor lets the user type freely. So every custom agent carried a mascot that was
105
+ * not a legal value of its own declared type; the mismatch was papered over by two `as`
106
+ * casts and only surfaced when the tests were first typechecked. `MascotExpression` keeps its
107
+ * real job on `RoleMetadata`, where the set genuinely is closed.
100
108
  */
101
- mascot: MascotExpression;
109
+ mascot: string;
102
110
  /**
103
111
  * Role type (for presets)
104
112
  */
@@ -179,7 +187,8 @@ export interface TeamAgentConfig {
179
187
  export interface SerializedTeamAgent {
180
188
  id: string;
181
189
  displayName: string;
182
- mascot: MascotExpression;
190
+ /** See `TeamAgentConfig.mascot` — a custom agent's face is not in `MascotExpression`. */
191
+ mascot: string;
183
192
  role: AgentRole;
184
193
  description?: string;
185
194
  systemPromptAddition?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@compilr-dev/sdk",
3
- "version": "0.36.0",
3
+ "version": "0.37.0",
4
4
  "description": "Universal agent runtime for building AI-powered applications",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -45,15 +45,16 @@
45
45
  "scripts": {
46
46
  "build": "tsc",
47
47
  "clean": "rm -rf dist",
48
- "lint": "eslint src/",
49
- "lint:fix": "eslint src/ --fix",
48
+ "lint": "eslint src/ tests/",
49
+ "lint:fix": "eslint src/ tests/ --fix",
50
50
  "format": "prettier --write \"src/**/*.ts\"",
51
51
  "format:check": "prettier --check \"src/**/*.ts\"",
52
52
  "test": "vitest run",
53
53
  "test:watch": "vitest",
54
54
  "test:coverage": "vitest run --coverage",
55
55
  "prepublishOnly": "npm run clean && npm run lint && npm run test && npm run build",
56
- "typecheck": "tsc --noEmit"
56
+ "typecheck": "tsc --noEmit && npm run typecheck:tests",
57
+ "typecheck:tests": "tsc --noEmit -p tsconfig.test.json"
57
58
  },
58
59
  "repository": {
59
60
  "type": "git",