Skip to content

Commit 67b5556

Browse files
committed
Merge branch 'main' into feature/initial-trpc-ipc
2 parents 458d831 + bd8721a commit 67b5556

File tree

69 files changed

+2244
-2064
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+2244
-2064
lines changed

CLAUDE.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,16 @@
4242
- TypeScript strict mode enabled
4343
- Tailwind CSS classes should be sorted (biome `useSortedClasses` rule)
4444

45+
### Avoid Barrel Files
46+
47+
Barrel files:
48+
- Break tree-shaking
49+
- Create circular dependency risks
50+
- Hide the true source of imports
51+
- Make refactoring harder
52+
53+
Import directly from source files instead.
54+
4555
## Architecture
4656

4757
### Electron App (apps/array)

apps/array/knip.json

Lines changed: 0 additions & 19 deletions
This file was deleted.

apps/array/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
"build-icons": "bash scripts/generate-icns.sh",
2121
"typecheck": "tsc -p tsconfig.node.json --noEmit && tsc -p tsconfig.web.json --noEmit",
2222
"generate-client": "tsx scripts/update-openapi-client.ts",
23-
"knip": "knip",
2423
"test": "vitest run",
2524
"postinstall": "cd ../.. && npx @electron/rebuild -f -m node_modules/node-pty || true"
2625
},
@@ -54,7 +53,6 @@
5453
"electron": "^30.0.0",
5554
"husky": "^9.1.7",
5655
"jsdom": "^26.0.0",
57-
"knip": "^5.66.3",
5856
"lint-staged": "^15.5.2",
5957
"postcss": "^8.4.33",
6058
"tailwindcss": "^3.4.1",
@@ -67,6 +65,8 @@
6765
"yaml": "^2.8.1"
6866
},
6967
"dependencies": {
68+
"@agentclientprotocol/sdk": "^0.9.0",
69+
"@ai-sdk/openai": "^2.0.52",
7070
"@codemirror/lang-angular": "^0.1.4",
7171
"@codemirror/lang-cpp": "^6.0.3",
7272
"@codemirror/lang-css": "^6.3.1",
@@ -128,6 +128,7 @@
128128
"electron-store": "^11.0.0",
129129
"file-icon": "^6.0.0",
130130
"idb-keyval": "^6.2.2",
131+
"immer": "^11.0.1",
131132
"is-glob": "^4.0.3",
132133
"micromatch": "^4.0.5",
133134
"node-addon-api": "^8.5.0",

apps/array/src/api/posthogClient.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import type { StoredLogEntry } from "@features/sessions/utils/parseSessionLogs";
21
import type { AgentEvent } from "@posthog/agent";
32
import { logger } from "@renderer/lib/logger";
43
import type { Task, TaskRun } from "@shared/types";
4+
import type { StoredLogEntry } from "@shared/types/session-events";
55
import { buildApiFetcher } from "./fetcher";
66
import { createApiClient, type Schemas } from "./generated";
77

apps/array/src/main/index.ts

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
1+
declare const __BUILD_COMMIT__: string | undefined;
2+
declare const __BUILD_DATE__: string | undefined;
3+
14
import dns from "node:dns";
25
import { mkdirSync } from "node:fs";
6+
import os from "node:os";
37
import path from "node:path";
48
import { fileURLToPath } from "node:url";
59
import {
610
app,
711
BrowserWindow,
12+
clipboard,
13+
dialog,
814
ipcMain,
915
Menu,
1016
type MenuItemConstructorOptions,
@@ -119,7 +125,38 @@ function createWindow(): void {
119125
{
120126
label: "Array",
121127
submenu: [
122-
{ role: "about" },
128+
{
129+
label: "About Array",
130+
click: () => {
131+
const commit = __BUILD_COMMIT__ ?? "dev";
132+
const buildDate = __BUILD_DATE__ ?? "dev";
133+
const info = [
134+
`Version: ${app.getVersion()}`,
135+
`Commit: ${commit}`,
136+
`Date: ${buildDate}`,
137+
`Electron: ${process.versions.electron}`,
138+
`Chromium: ${process.versions.chrome}`,
139+
`Node.js: ${process.versions.node}`,
140+
`V8: ${process.versions.v8}`,
141+
`OS: ${process.platform} ${process.arch} ${os.release()}`,
142+
].join("\n");
143+
144+
dialog
145+
.showMessageBox({
146+
type: "info",
147+
title: "About Array",
148+
message: "Array",
149+
detail: info,
150+
buttons: ["Copy", "OK"],
151+
defaultId: 1,
152+
})
153+
.then((result) => {
154+
if (result.response === 0) {
155+
clipboard.writeText(info);
156+
}
157+
});
158+
},
159+
},
123160
{ type: "separator" },
124161
{
125162
label: "Check for Updates...",

0 commit comments

Comments
 (0)