@app-vitals/agent-admin 1.0.0 → 1.1.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.
@@ -239,7 +239,7 @@ test.describe("GET /admin/agents/:id — authenticated", () => {
239
239
  context,
240
240
  }) => {
241
241
  await loadAgentDetailPage(page, context);
242
- await expect(page.locator("body")).toContainText("coding");
242
+ await expect(page.locator("body")).toContainText("specialist");
243
243
  });
244
244
 
245
245
  // CFB-3.1: .data-table .btn must stay at its current ~36px height at mobile
@@ -304,16 +304,16 @@ test.describe("GET /admin/agents/new — type picker", () => {
304
304
  await expect(typeSelect).toHaveAttribute("required", "");
305
305
  });
306
306
 
307
- test('the select lists the configured default type "coding"', async ({
307
+ test('the select lists the configured default type "specialist"', async ({
308
308
  page,
309
309
  context,
310
310
  }) => {
311
311
  await loadNewAgentPage(page, context);
312
- const codingOption = page.locator(
313
- 'select[name="type"] option[value="coding"]',
312
+ const specialistOption = page.locator(
313
+ 'select[name="type"] option[value="specialist"]',
314
314
  );
315
- await expect(codingOption).toBeAttached();
316
- await expect(codingOption).toHaveText("coding");
315
+ await expect(specialistOption).toBeAttached();
316
+ await expect(specialistOption).toHaveText("Specialist Agent");
317
317
  });
318
318
  });
319
319
 
@@ -324,8 +324,8 @@ test.describe("POST /admin/agents — create-with-type journey", () => {
324
324
  }) => {
325
325
  await loadNewAgentPage(page, context);
326
326
 
327
- await page.fill('input[name="name"]', "My New Coding Agent");
328
- await page.selectOption('select[name="type"]', "coding");
327
+ await page.fill('input[name="name"]', "My New Specialist Agent");
328
+ await page.selectOption('select[name="type"]', "specialist");
329
329
  // Scoped to the new-agent form specifically — the page also has a
330
330
  // "Sign out" button[type="submit"] in the toolbar, and an unscoped
331
331
  // selector matches that one first (it's earlier in the DOM), which
@@ -333,6 +333,6 @@ test.describe("POST /admin/agents — create-with-type journey", () => {
333
333
  await page.click('form[action="/admin/agents"] button[type="submit"]');
334
334
 
335
335
  await page.waitForURL(/\/admin\/agents\/[^/]+$/);
336
- await expect(page.locator("body")).toContainText("coding");
336
+ await expect(page.locator("body")).toContainText("specialist");
337
337
  });
338
338
  });
@@ -30,13 +30,13 @@ import type {
30
30
  // ─── Config ───────────────────────────────────────────────────────────────────
31
31
 
32
32
  // The suite runs without a product specialty: point the specialty lookup at the
33
- // minimal "coding" fixture next to this file (values already set win).
33
+ // minimal "specialist" fixture next to this file (values already set win).
34
34
  process.env.SHIPWRIGHT_SPECIALTIES_DIR ||= resolve(
35
35
  import.meta.dir,
36
36
  "fixtures",
37
37
  "specialties",
38
38
  );
39
- process.env.SHIPWRIGHT_DEFAULT_AGENT_TYPE ||= "coding";
39
+ process.env.SHIPWRIGHT_DEFAULT_AGENT_TYPE ||= "specialist";
40
40
 
41
41
  const ADMIN_E2E_PORT = 3490;
42
42
  const ADMIN_E2E_SESSION_SECRET =
@@ -324,7 +324,7 @@ function buildMockDeps(chatClient: ChatClient | undefined): AdminUIDeps {
324
324
  name: ADMIN_E2E_AGENT.name,
325
325
  slackId: ADMIN_E2E_AGENT.slackId,
326
326
  selfHosted: false,
327
- specialty: "coding",
327
+ specialty: "specialist",
328
328
  createdAt: new Date("2024-01-01"),
329
329
  updatedAt: new Date("2024-01-01"),
330
330
  },
@@ -339,7 +339,7 @@ function buildMockDeps(chatClient: ChatClient | undefined): AdminUIDeps {
339
339
  name: input.name ?? ADMIN_E2E_AGENT.name,
340
340
  slackId: ADMIN_E2E_AGENT.slackId,
341
341
  selfHosted: false,
342
- specialty: input.specialty ?? "coding",
342
+ specialty: input.specialty ?? "specialist",
343
343
  createdAt: new Date("2024-01-01"),
344
344
  updatedAt: new Date("2024-01-01"),
345
345
  }),
@@ -349,7 +349,7 @@ function buildMockDeps(chatClient: ChatClient | undefined): AdminUIDeps {
349
349
  name: ADMIN_E2E_AGENT.name,
350
350
  slackId: ADMIN_E2E_AGENT.slackId,
351
351
  selfHosted: false,
352
- specialty: "coding",
352
+ specialty: "specialist",
353
353
  createdAt: new Date("2024-01-01"),
354
354
  updatedAt: new Date("2024-01-01"),
355
355
  repos: [],
@@ -361,7 +361,7 @@ function buildMockDeps(chatClient: ChatClient | undefined): AdminUIDeps {
361
361
  name: ADMIN_E2E_AGENT.name,
362
362
  slackId: ADMIN_E2E_AGENT.slackId,
363
363
  selfHosted: false,
364
- specialty: "coding",
364
+ specialty: "specialist",
365
365
  createdAt: new Date("2024-01-01"),
366
366
  updatedAt: new Date("2024-01-01"),
367
367
  repos: [],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@app-vitals/agent-admin",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/app-vitals/agent.git",
@@ -42,7 +42,7 @@
42
42
  },
43
43
  "dependencies": {
44
44
  "@anthropic-ai/sdk": "0.135.0",
45
- "@app-vitals/agent-lib": "1.0.0",
45
+ "@app-vitals/agent-lib": "1.1.0",
46
46
  "@hono/zod-openapi": "^1.0.0",
47
47
  "@prisma/adapter-pg": "^7.10.0",
48
48
  "@prisma/client": "^7.10.0",
package/src/api.ts CHANGED
@@ -66,7 +66,7 @@ export interface AgentConfigResponse {
66
66
  */
67
67
  accountStatus?: string | null;
68
68
  /**
69
- * ARD-6.1: the agent's Specialty name (e.g. "coding"), read by the agent
69
+ * ARD-6.1: the agent's Specialty name (e.g. "specialist"), read by the agent
70
70
  * runtime to pick its workspace template directory.
71
71
  */
72
72
  specialty: string;