Skip to content
Open
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
57 changes: 39 additions & 18 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 12 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ members = [
]

[workspace.package]
version = "0.1.58"
version = "0.1.59"
edition = "2024"
publish = false

Expand All @@ -21,6 +21,17 @@ az-core = { path = "crates/core" }
# Heavy deps are declared per-crate on purpose: only apps/gui pulls in the
# Tauri stack, so agent/proxy builds never trigger a webview toolchain build.

[profile.dev]
# GUI diagnostics come from logs and backtraces. Generating full symbol tables
# for WebKit and Tauri dependencies dominated clean local check time.
debug = 0
incremental = true

[profile.test]
# Tests need assertions and line-bearing panic output, not debugger symbols.
debug = 0
incremental = true

[profile.release]
strip = true
# Release runners retain `target` through rust-cache. Incremental artifacts make
Expand Down
10 changes: 4 additions & 6 deletions apps/gui/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,17 @@ publish.workspace = true

[features]
default = []
experimental = ["dep:agent-experimental", "dep:security-framework"]
experimental = ["dep:agent-experimental"]

[build-dependencies]
tauri-build = { version = "2", features = [] }

[dependencies]
# Carries the store forward when a column changes; see crates/wt-migrate.
wt-migrate = { path = "../../crates/wt-migrate" }
agent-abstraction = "0.4.5"
agent-experimental = { git = "https://gitlab.com/anonymous-28282828282/agent-experimental.git", rev = "df144f229d8ccd510deb17a866c9724337294e42", default-features = false, optional = true }
agent-abstraction = "0.4.6"
agent-experimental = { git = "https://gitlab.com/anonymous-28282828282/agent-experimental.git", rev = "4d7b738c5bf481798313751de5cc507469c9d2c2", default-features = false, optional = true }
promptsyntax = "0.1.0"
az-core.workspace = true
worktable = "0.9"
# The `worktable!` macro emits code that names these by bare path rather than
Expand All @@ -36,9 +37,6 @@ serde = { version = "1", features = ["derive"] }
serde_json = "1"
tauri-plugin-dialog = "2"

[target.'cfg(target_os = "macos")'.dependencies]
security-framework = { version = "3.7", optional = true }

[dev-dependencies]
tokio = { version = "1", features = ["macros", "rt"] }

Expand Down
7 changes: 5 additions & 2 deletions apps/gui/frontend/bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion apps/gui/frontend/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "az-gui-frontend",
"version": "0.1.0",
"description": "AgencyZero \u2014 Tauri GUI frontend",
"description": "AgencyZero Tauri GUI frontend",
"type": "module",
"private": true,
"scripts": {
Expand All @@ -23,6 +23,7 @@
"@tauri-apps/api": "^2.1.1",
"clsx": "^2.1.1",
"popmotion": "^11.0.5",
"promptsyntax": "^0.1.0",
"solid-js": "^1.9.5",
"tailwind-merge": "^3.6.0"
},
Expand Down
11 changes: 3 additions & 8 deletions apps/gui/frontend/src/api/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import type {
AgentStatus,
AvailableUpdate,
BuildInfo,
ClaudeTokenStatus,
ClaudeUsage,
CostSummary,
CreatedProject,
Expand Down Expand Up @@ -81,6 +80,8 @@ export interface AgencyZeroApi {
setItemStatus(id: string, status: ProjectStatus): Promise<ProjectItem>;
/** Rewrite one item's title, for the panel's inline edit. */
updateItem(id: string, title: string): Promise<ProjectItem>;
/** Associate the item with a validated GitHub issue URL. */
setItemIssue(id: string, url: string): Promise<ProjectItem>;
reorderItems(projectId: string, ids: string[]): Promise<ProjectItem[]>;

// — Pull requests ————————————————————————————————————————————
Expand Down Expand Up @@ -109,13 +110,7 @@ export interface AgencyZeroApi {
// — Settings ————————————————————————————————————————————————
getSettings(): Promise<GlobalSettings>;
setSettings(patch: DeepPartial<GlobalSettings>): Promise<GlobalSettings>;
/** Experimental profile only. Reports presence without returning the token. */
claudeTokenStatus(): Promise<ClaudeTokenStatus>;
/** Experimental profile only. Saves the token directly into macOS Keychain. */
setClaudeToken(token: string): Promise<ClaudeTokenStatus>;
/** Experimental profile only. Removes the token from macOS Keychain. */
removeClaudeToken(): Promise<ClaudeTokenStatus>;
/** Experimental profile only. Fetches current Claude subscription usage. */
/** Experimental profile only. Fetches usage through Claude Code's managed login. */
claudeUsage(): Promise<ClaudeUsage>;
/** Probes the installed CLIs. `recheck` forces a fresh probe. */
listAgentStatus(recheck: boolean): Promise<AgentStatus[]>;
Expand Down
4 changes: 1 addition & 3 deletions apps/gui/frontend/src/api/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ const COMMAND_FOR: Partial<Record<keyof AgencyZeroApi, string>> = {
deleteItem: "delete_item",
setItemStatus: "set_item_status",
updateItem: "update_item",
setItemIssue: "set_item_issue",
reorderItems: "reorder_items",
listPullRequests: "list_pull_requests",
dismissPullRequest: "dismiss_pull_request",
Expand All @@ -40,9 +41,6 @@ const COMMAND_FOR: Partial<Record<keyof AgencyZeroApi, string>> = {
resolveModeration: "resolve_moderation",
getSettings: "get_settings",
setSettings: "set_settings",
claudeTokenStatus: "claude_token_status",
setClaudeToken: "set_claude_token",
removeClaudeToken: "remove_claude_token",
claudeUsage: "claude_usage",
listAgentStatus: "list_agent_status",
listModels: "list_models",
Expand Down
20 changes: 7 additions & 13 deletions apps/gui/frontend/src/api/mock.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,6 @@ export function createMockApi(): AgencyZeroApi {
const agentStatus = clone(fixtures.AGENT_STATUS);
const models = clone(fixtures.MODEL_CATALOGUE);
let settings = clone(fixtures.SETTINGS);
let claudeTokenConfigured = false;
const pullRequests = clone(fixtures.PULL_REQUESTS);
/*
* What a project's agent kept across a compaction, per project.
Expand Down Expand Up @@ -328,6 +327,13 @@ export function createMockApi(): AgencyZeroApi {
return settle(item);
},

async setItemIssue(id, url) {
const item = findItem(id);
item.reference = `issue:${url}`;
emit("item:updated", item);
return settle(item);
},

async reorderItems(projectId, ids) {
ids.forEach((id, order) => {
const item = items.find((candidate) => candidate.id === id);
Expand Down Expand Up @@ -392,18 +398,6 @@ export function createMockApi(): AgencyZeroApi {
return settle(settings);
},

claudeTokenStatus: () => settle({ configured: claudeTokenConfigured }),

setClaudeToken: (_token) => {
claudeTokenConfigured = true;
return settle({ configured: true });
},

removeClaudeToken: () => {
claudeTokenConfigured = false;
return settle({ configured: false });
},

claudeUsage: () =>
settle({
fiveHour: {
Expand Down
Loading
Loading