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
16 changes: 16 additions & 0 deletions .diagram/auth.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
flowchart TD
Request["Authentication request"]
Boundary{"Auth Boundary"}
Request --> Boundary
worker_configuration_d_5b64e8b5["worker-configuration.d"]
Boundary --> worker_configuration_d_5b64e8b5
token_validator_test_146cbf6c["token-validator.test"]
Boundary --> token_validator_test_146cbf6c
token_validation_test_742b9f6a["token-validation.test"]
Boundary --> token_validation_test_742b9f6a
validate_tokens_7b611756["validate-tokens"]
Boundary --> validate_tokens_7b611756
my_main_module_ac300685[("my-main-module")]
vitest_a9127f3d[("vitest")]
node_fs_df6b52af[("node:fs")]
classDef authNode fill:#7c3aed,color:#fff
26 changes: 26 additions & 0 deletions .diagram/database.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
flowchart TD
UserRequest["User request"]
Decision{Record exists?}
generate_coverage_matrix_1bd9ebaf["generate-coverage-matrix"]
UserRequest --> generate_coverage_matrix_1bd9ebaf
generate_coverage_matrix_1bd9ebaf --> generate_coverage_matrix_1bd9ebaf_result["result"]
migrate_package_refs_b4c4a036["migrate-package-refs"]
UserRequest --> migrate_package_refs_b4c4a036
migrate_package_refs_b4c4a036 --> migrate_package_refs_b4c4a036_result["result"]
migrate_imports_aec4410b["migrate-imports"]
UserRequest --> migrate_imports_aec4410b
migrate_imports_aec4410b --> migrate_imports_aec4410b_result["result"]
vite_config_2_24e3337d["vite.config"]
UserRequest --> vite_config_2_24e3337d
vite_config_2_24e3337d --> vite_config_2_24e3337d_result["result"]
worker_configuration_d_5b64e8b5["worker-configuration.d"]
UserRequest --> worker_configuration_d_5b64e8b5
worker_configuration_d_5b64e8b5 --> worker_configuration_d_5b64e8b5_result["result"]
generator_9123dcbb["generator"]
UserRequest --> generator_9123dcbb
generator_9123dcbb --> generator_9123dcbb_result["result"]
validate_tokens_7b611756["validate-tokens"]
UserRequest --> validate_tokens_7b611756
validate_tokens_7b611756 --> validate_tokens_7b611756_result["result"]
classDef dbNode fill:#0ea5e9,color:#fff
classDef decisionNode fill:#0284c7,color:#fff
7 changes: 7 additions & 0 deletions .diagram/events.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
flowchart TD
subgraph Channels["Event channels / queues"]
worker_configuration_d_5b64e8b5{{"worker-configuration.d"}}
vite_config_5_81aa1742{{"vite.config"}}
index_d_3_80f852c0{{"index.d"}}
end
classDef eventNode fill:#db2777,color:#fff
87 changes: 87 additions & 0 deletions .diagram/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
{
"generatedAt": "2026-03-15T19:02:06.733Z",
"rootPath": "/Users/jamiecraik/dev/Design-System",
"diagramDir": ".diagram",
"diagrams": [
{
"type": "architecture",
"file": "architecture.mmd",
"outputPath": ".diagram/architecture.mmd",
"lines": 147,
"bytes": 5807,
"isPlaceholder": false
},
{
"type": "sequence",
"file": "sequence.mmd",
"outputPath": ".diagram/sequence.mmd",
"lines": 2,
"bytes": 53,
"isPlaceholder": false
},
{
"type": "dependency",
"file": "dependency.mmd",
"outputPath": ".diagram/dependency.mmd",
"lines": 141,
"bytes": 8795,
"isPlaceholder": false
},
{
"type": "class",
"file": "class.mmd",
"outputPath": ".diagram/class.mmd",
"lines": 7,
"bytes": 201,
"isPlaceholder": false
},
{
"type": "flow",
"file": "flow.mmd",
"outputPath": ".diagram/flow.mmd",
"lines": 20,
"bytes": 952,
"isPlaceholder": false
},
{
"type": "database",
"file": "database.mmd",
"outputPath": ".diagram/database.mmd",
"lines": 26,
"bytes": 1356,
"isPlaceholder": false
},
{
"type": "user",
"file": "user.mmd",
"outputPath": ".diagram/user.mmd",
"lines": 36,
"bytes": 1330,
"isPlaceholder": false
},
{
"type": "events",
"file": "events.mmd",
"outputPath": ".diagram/events.mmd",
"lines": 7,
"bytes": 254,
"isPlaceholder": false
},
{
"type": "auth",
"file": "auth.mmd",
"outputPath": ".diagram/auth.mmd",
"lines": 16,
"bytes": 649,
"isPlaceholder": false
},
{
"type": "security",
"file": "security.mmd",
"outputPath": ".diagram/security.mmd",
"lines": 43,
"bytes": 1631,
"isPlaceholder": false
}
]
}
43 changes: 43 additions & 0 deletions .diagram/security.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
flowchart TD
Untrusted["Untrusted input"]
worker_configuration_d_5b64e8b5["worker-configuration.d"]
Untrusted --> worker_configuration_d_5b64e8b5
scan_59ad1b2f["scan"]
Untrusted --> scan_59ad1b2f
publisher_4f03a060["publisher"]
Untrusted --> publisher_4f03a060
installer_9c0d294c["installer"]
Untrusted --> installer_9c0d294c
index_2_10143590["index"]
Untrusted --> index_2_10143590
index_d_1_0f747669["index.d"]
Untrusted --> index_d_1_0f747669
hash_d04b98f4["hash"]
Untrusted --> hash_d04b98f4
hash_test_ff708b1d["hash.test"]
Untrusted --> hash_test_ff708b1d
hash_d_a9a3aaf1["hash.d"]
Untrusted --> hash_d_a9a3aaf1
index_d_2_58711ee2["index.d"]
Untrusted --> index_d_2_58711ee2
hash_test_d_4d786b24["hash.test.d"]
Untrusted --> hash_test_d_4d786b24
hash_d_1_93510d18["hash.d"]
Untrusted --> hash_d_1_93510d18
token_validator_test_146cbf6c["token-validator.test"]
Untrusted --> token_validator_test_146cbf6c
token_validation_test_742b9f6a["token-validation.test"]
Untrusted --> token_validation_test_742b9f6a
validate_tokens_7b611756["validate-tokens"]
Untrusted --> validate_tokens_7b611756
index_1bc04b52["index"]
Untrusted --> index_1bc04b52
theme_d_bef39a49["theme.d"]
Untrusted --> theme_d_bef39a49
index_d_ec1aab9d["index.d"]
Untrusted --> index_d_ec1aab9d
publisher_integration_test_c7648ed5["publisher.integration.test"]
Untrusted --> publisher_integration_test_c7648ed5
publisher_integration_test_d_b773c16f["publisher.integration.test.d"]
Untrusted --> publisher_integration_test_d_b773c16f
classDef securityNode fill:#dc2626,color:#fff
36 changes: 36 additions & 0 deletions .diagram/user.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
flowchart LR
User(("User"))
tailwind_config_base_114ae127["tailwind.config.base"]
User --> tailwind_config_base_114ae127
generate_coverage_matrix_1bd9ebaf["generate-coverage-matrix"]
User --> generate_coverage_matrix_1bd9ebaf
migrate_imports_aec4410b["migrate-imports"]
User --> migrate_imports_aec4410b
tailwind_config_f3bfbed8["tailwind.config"]
User --> tailwind_config_f3bfbed8
vitest_config_1_39affbd6["vitest.config"]
User --> vitest_config_1_39affbd6
vite_config_2_24e3337d["vite.config"]
User --> vite_config_2_24e3337d
worker_configuration_d_5b64e8b5["worker-configuration.d"]
User --> worker_configuration_d_5b64e8b5
generator_test_1183c7b9["generator.test"]
User --> generator_test_1183c7b9
generator_9123dcbb["generator"]
User --> generator_9123dcbb
alias_map_2f9c2d35["alias-map"]
User --> alias_map_2f9c2d35
sync_dtcg_e75f004e["sync-dtcg"]
User --> sync_dtcg_e75f004e
styles_90a7578c["styles"]
User --> styles_90a7578c
index_1_faebc14e["index"]
User --> index_1_faebc14e
experimental_748be63c["experimental"]
User --> experimental_748be63c
dev_ef260e9a["dev"]
User --> dev_ef260e9a
remoteClient_11373476["remoteClient"]
User --> remoteClient_11373476
tailwind_config_f3bfbed8 --> tailwind_preset_e0cc07c1
classDef userNode fill:#16a34a,color:#fff
18 changes: 18 additions & 0 deletions .harness/memory/LEARNINGS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
schema_version: 1
purpose: Per-project agent knowledge base — repo-specific gotchas and hard-won fixes.
scope: This repo only.
update_policy: |
Append after any bug, tool failure, or extra-effort fix specific to this repo.
Universal gotchas go in ~/.codex/instructions/Learnings.md instead.
Do NOT delete entries. Append only.
Format: **YYYY-MM-DD [Agent]:** <problem> → <fix>
---

# Learnings

Repo-specific agent knowledge base. Append-only.

> **Scope:** This repo only. Universal gotchas → `~/.codex/instructions/Learnings.md`.
> **Format:** `**YYYY-MM-DD [Agent]:** <problem> → <fix>`

2 changes: 1 addition & 1 deletion packages/cli/src/error.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,4 @@ export function requireNetwork(opts: Record<string, unknown>, action: string): v
}

// Re-export constants for convenience
export { ERROR_CODES, EXIT_CODES, TOKEN_GENERATE_WARNING, COMPONENTS_WRITE_WARNING };
export { COMPONENTS_WRITE_WARNING, ERROR_CODES, EXIT_CODES, TOKEN_GENERATE_WARNING };
5 changes: 4 additions & 1 deletion packages/skill-ingestion/src/installer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,10 @@ function assertWithinBase(base: string, candidate: string, label: string): void
// realpathSync needs the path to exist; use resolve for pre-existence checks
candidate,
);
if (!resolvedCandidate.startsWith(resolvedBase + path.sep) && resolvedCandidate !== resolvedBase) {
if (
!resolvedCandidate.startsWith(resolvedBase + path.sep) &&
resolvedCandidate !== resolvedBase
) {
throw new Error(
`Security: ${label} path "${candidate}" escapes allowed base "${resolvedBase}".`,
);
Expand Down
3 changes: 1 addition & 2 deletions packages/skill-ingestion/src/scan.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ function isWithinBase(base: string, candidate: string): boolean {
const resolvedBase = path.resolve(base);
const resolvedCandidate = path.resolve(candidate);
return (
resolvedCandidate === resolvedBase ||
resolvedCandidate.startsWith(resolvedBase + path.sep)
resolvedCandidate === resolvedBase || resolvedCandidate.startsWith(resolvedBase + path.sep)
);
}

Expand Down
2 changes: 1 addition & 1 deletion packages/tokens/src/validation/token-validator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,7 @@ type NonColorAliasValueAllowlist = Readonly<{
[K in keyof typeof NON_COLOR_ALIAS_VALUE_ALLOWLIST]: ReadonlySet<string>;
}>;

export type { ValidationError, NonColorAliasValueAllowlist };
export type { NonColorAliasValueAllowlist, ValidationError };

/**
* Read-only view of the non-color alias value allowlist.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import type { Meta, StoryObj } from "@storybook/react-vite";
import { expect, userEvent, within } from "@storybook/test";
import { useState } from "react";


import { AttachmentMenu } from "./AttachmentMenu";

const meta: Meta<typeof AttachmentMenu> = {
Expand Down Expand Up @@ -164,4 +163,3 @@ export const MenuClosedByDefault: Story = {
});
},
};

2 changes: 0 additions & 2 deletions packages/ui/src/app/chat/ChatInput/ChatInput.stories.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import type { Meta, StoryObj } from "@storybook/react-vite";
import { expect, userEvent, within } from "@storybook/test";


import { ChatInput } from "./ChatInput";

const meta: Meta<typeof ChatInput> = {
Expand Down Expand Up @@ -106,4 +105,3 @@ export const FocusableByKeyboard: Story = {
});
},
};

2 changes: 1 addition & 1 deletion packages/ui/src/app/chat/ChatShell/ChatShell.stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import {
} from "../ChatVariants";

const meta: Meta = {
tags: ['autodocs'],
tags: ["autodocs"],
title: "Components/Chat/Chat Shell",
component: ChatVariantSplitSidebar,
parameters: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import type { Meta, StoryObj } from "@storybook/react-vite";
import { expect, fn, userEvent, within } from "@storybook/test";
import { useState } from "react";


import { type DropdownOption, SettingDropdown } from "./SettingDropdown";

/**
Expand Down Expand Up @@ -221,4 +220,3 @@ export const LabelRendered: Story = {
});
},
};

Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import type { Meta, StoryObj } from "@storybook/react-vite";
import { expect, fn, userEvent, within } from "@storybook/test";
import { useState } from "react";


import { IconMessaging, IconUserLock } from "../../../icons/ChatGPTIcons";

import { SettingToggle } from "./SettingToggle";
Expand Down Expand Up @@ -199,4 +198,3 @@ export const LabelVisible: Story = {
});
},
};

2 changes: 1 addition & 1 deletion packages/ui/src/components/ui/base/InputOTP/InputOTP.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -213,4 +213,4 @@ function InputOTPSeparator({ ...props }: React.ComponentProps<"div">) {
);
}

export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator, InputOTPWrapper, InputOTPError };
export { InputOTP, InputOTPError, InputOTPGroup, InputOTPSeparator, InputOTPSlot, InputOTPWrapper };
Original file line number Diff line number Diff line change
Expand Up @@ -81,4 +81,4 @@ function ShimmerInline({
);
}

export { ShimmerText, ShimmerInline };
export { ShimmerInline, ShimmerText };
Original file line number Diff line number Diff line change
Expand Up @@ -134,4 +134,4 @@ function AccordionContent({
);
}

export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
Original file line number Diff line number Diff line change
Expand Up @@ -103,4 +103,4 @@ function AvatarFallback({
);
}

export { Avatar, AvatarImage, AvatarFallback };
export { Avatar, AvatarFallback, AvatarImage };
2 changes: 1 addition & 1 deletion packages/ui/src/components/ui/base/calendar/calendar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -222,4 +222,4 @@ function Calendar({
);
}

export { Calendar, CalendarWrapper, CalendarError };
export { Calendar, CalendarError, CalendarWrapper };
Original file line number Diff line number Diff line change
Expand Up @@ -81,4 +81,4 @@ function CollapsibleContent({
return <CollapsiblePrimitive.CollapsibleContent data-slot="collapsible-content" {...props} />;
}

export { Collapsible, CollapsibleTrigger, CollapsibleContent };
export { Collapsible, CollapsibleContent, CollapsibleTrigger };
2 changes: 1 addition & 1 deletion packages/ui/src/components/ui/base/input/input.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -149,4 +149,4 @@ function Input({
return inputElement;
}

export { Input, InputWrapper, InputError };
export { Input, InputError, InputWrapper };
Original file line number Diff line number Diff line change
Expand Up @@ -103,4 +103,4 @@ function ResizableHandle({
);
}

export { ResizablePanelGroup, ResizablePanel, ResizableHandle };
export { ResizableHandle, ResizablePanel, ResizablePanelGroup };
Loading
Loading