Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion packages/hub-client/test/seed.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ describe("seedTenant", () => {
expect(definition.stepOrder).toEqual(["assistant"]);

const output = lines.join("\n");
expect(output).toContain("created workflow asset assistant");
expect(output).toContain("created workflow asset assistant (Myra)");
expect(output).toContain("deployed workflow assistant as dep_2");
expect(output).toContain("confirmed workflow assistant: run run_1 started");
expect(output).toContain("seed complete: 1 workflow(s)");
Expand Down Expand Up @@ -439,6 +439,18 @@ describe("seedTenant", () => {
expect(DEFAULT_WORKFLOWS.map((w) => w.assetName)).toContain("assistant");
});

test("the seeded assistant is productized under the Myra display name", () => {
// Every personal bench provisioning deploys DEFAULT_WORKFLOWS, which
// includes the assistant. Its display name is the productized label
// Myra — seed stamps it onto the asset at create time, so the seeded
// assistant surfaces as Myra rather than the generic "Assistant".
const assistant = DEFAULT_WORKFLOWS.find(
(w) => w.assetName === "assistant",
);
expect(assistant).toBeDefined();
expect(assistant?.displayName).toBe("Myra");
});

test("NOOP_MODEL_SOURCE resolves to the hub's own noop-inference endpoint", () => {
const resolved = NOOP_MODEL_SOURCE("http://localhost:3000");
expect(resolved.baseURL).toBe(
Expand Down
2 changes: 1 addition & 1 deletion packages/workflow-catalog/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ export const WORKFLOW_CATALOG: readonly WorkflowCatalogEntry[] = [
},
{
assetName: "assistant",
displayName: "Assistant",
displayName: "Myra",
automatable: false,
},
{
Expand Down
10 changes: 10 additions & 0 deletions packages/workflow-catalog/test/catalog.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,16 @@ describe("workflow catalog", () => {
expect(workflowDisplayName("echo")).toBe("Echo");
});

test("productizes the seeded assistant under the Myra display name", () => {
// The assistant workflow ships in DEFAULT_WORKFLOWS for every personal
// bench. Its catalog display name is the productized label Myra, not
// the generic "Assistant" — the routines picker and seeded asset both
// read it from here.
expect(workflowDisplayName("assistant")).toBe("Myra");
const entry = WORKFLOW_CATALOG.find((e) => e.assetName === "assistant");
expect(entry?.displayName).toBe("Myra");
});

test("falls back to description, then humanized name — never blank", () => {
expect(workflowDisplayName("unknown-flow", " Weekly brief ")).toBe(
"Weekly brief",
Expand Down
2 changes: 1 addition & 1 deletion workflows/assistant/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"corbits": {
"workflow": {
"assetName": "assistant",
"displayName": "Assistant",
"displayName": "Myra",
"automatable": false
}
},
Expand Down
Loading