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
2 changes: 1 addition & 1 deletion Cargo.lock

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

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "operator"
version = "0.1.18"
version = "0.1.19"
edition = "2021"
description = "Multi-agent orchestration dashboard for gbqr.us"
authors = ["gbqr.us"]
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.18
0.1.19
16 changes: 11 additions & 5 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@ trigger: none
parameters:
- name: blobName
type: string
default: ''
- name: signedBlobName
type: string
default: ''

variables:
- group: signing-secrets
Expand All @@ -26,15 +28,19 @@ steps:
--name "${{ parameters.blobName }}" `
--file "$(Build.StagingDirectory)\unsigned.exe"

- task: AzureCodeSigning@0
- task: ArtifactSigning@0
displayName: Sign with Trusted Signing
inputs:
ConnectedServiceName: trusted-signing-service-connection
AccountEndpoint: $(TrustedSigningEndpoint)
CertificateProfileName: $(TrustedSigningProfile)
AzureTenantID: $(AzureTenantID)
AzureClientID: $(AzureClientID)
AzureClientSecret: $(AzureClientSecret)
Endpoint: https://ncus.codesigning.azure.net
ArtifactSigningAccountName: $(TrustedSigningAccountName)
CertificateProfileName: Operator
FilesFolder: $(Build.StagingDirectory)
FilesFolderFilter: unsigned.exe
FilesFolderFilter: exe
FileDigest: SHA256
TimestampRfc3161: http://timestamp.acs.microsoft.com
TimestampDigest: SHA256

- task: AzureCLI@2
Expand Down
2 changes: 1 addition & 1 deletion backstage-server/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "operator-backstage",
"version": "0.1.18",
"version": "0.1.19",
"author": {
"name": "Samuel Volin",
"email": "untra.sam@gmail.com",
Expand Down
7 changes: 6 additions & 1 deletion bindings/Config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import type { AgentsConfig } from "./AgentsConfig";
import type { ApiConfig } from "./ApiConfig";
import type { BackstageConfig } from "./BackstageConfig";
import type { Delegator } from "./Delegator";
import type { GitConfig } from "./GitConfig";
import type { KanbanConfig } from "./KanbanConfig";
import type { LaunchConfig } from "./LaunchConfig";
Expand Down Expand Up @@ -33,4 +34,8 @@ kanban: KanbanConfig,
/**
* Version check configuration for automatic update notifications
*/
version_check: VersionCheckConfig, };
version_check: VersionCheckConfig,
/**
* Agent delegator configurations for autonomous ticket launching
*/
delegators: Array<Delegator>, };
31 changes: 31 additions & 0 deletions bindings/CreateDelegatorRequest.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { DelegatorLaunchConfigDto } from "./DelegatorLaunchConfigDto";

/**
* Request to create a new delegator
*/
export type CreateDelegatorRequest = {
/**
* Unique name for the delegator
*/
name: string,
/**
* LLM tool name (must match a detected tool)
*/
llm_tool: string,
/**
* Model alias
*/
model: string,
/**
* Optional display name
*/
display_name: string | null,
/**
* Arbitrary model properties
*/
model_properties: { [key in string]?: string },
/**
* Optional launch configuration
*/
launch_config: DelegatorLaunchConfigDto | null, };
34 changes: 34 additions & 0 deletions bindings/Delegator.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { DelegatorLaunchConfig } from "./DelegatorLaunchConfig";

/**
* Agent delegator configuration for autonomous ticket launching
*
* A delegator is a named {tool, model} pairing with optional launch configuration
* that can be used to launch agents for tickets.
*/
export type Delegator = {
/**
* Unique name for this delegator (e.g., "claude-opus-auto")
*/
name: string,
/**
* LLM tool name (must match a detected tool, e.g., "claude", "codex")
*/
llm_tool: string,
/**
* Model alias (e.g., "opus", "sonnet", "gpt-4o")
*/
model: string,
/**
* Optional display name for UI
*/
display_name: string | null,
/**
* Arbitrary model properties (e.g., reasoning_effort, sandbox)
*/
model_properties: { [key in string]?: string },
/**
* Optional launch configuration
*/
launch_config: DelegatorLaunchConfig | null, };
18 changes: 18 additions & 0 deletions bindings/DelegatorLaunchConfig.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.

/**
* Launch configuration for a delegator
*/
export type DelegatorLaunchConfig = {
/**
* Run in YOLO (auto-accept) mode
*/
yolo: boolean,
/**
* Permission mode override
*/
permission_mode: string | null,
/**
* Additional CLI flags
*/
flags: Array<string>, };
18 changes: 18 additions & 0 deletions bindings/DelegatorLaunchConfigDto.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.

/**
* Launch configuration DTO for delegators
*/
export type DelegatorLaunchConfigDto = {
/**
* Run in YOLO mode
*/
yolo: boolean,
/**
* Permission mode override
*/
permission_mode: string | null,
/**
* Additional CLI flags
*/
flags: Array<string>, };
31 changes: 31 additions & 0 deletions bindings/DelegatorResponse.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { DelegatorLaunchConfigDto } from "./DelegatorLaunchConfigDto";

/**
* Response for a single delegator
*/
export type DelegatorResponse = {
/**
* Unique name
*/
name: string,
/**
* LLM tool name (e.g., "claude")
*/
llm_tool: string,
/**
* Model alias (e.g., "opus")
*/
model: string,
/**
* Optional display name
*/
display_name: string | null,
/**
* Arbitrary model properties
*/
model_properties: { [key in string]?: string },
/**
* Optional launch configuration
*/
launch_config: DelegatorLaunchConfigDto | null, };
15 changes: 15 additions & 0 deletions bindings/DelegatorsResponse.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { DelegatorResponse } from "./DelegatorResponse";

/**
* Response listing all delegators
*/
export type DelegatorsResponse = {
/**
* List of delegators
*/
delegators: Array<DelegatorResponse>,
/**
* Total count
*/
total: number, };
7 changes: 6 additions & 1 deletion bindings/LlmToolsConfig.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { DetectedTool } from "./DetectedTool";
import type { LlmProvider } from "./LlmProvider";
import type { SkillDirectoriesOverride } from "./SkillDirectoriesOverride";

/**
* LLM CLI tools configuration
Expand All @@ -18,4 +19,8 @@ providers: Array<LlmProvider>,
/**
* Whether detection has been completed
*/
detection_complete: boolean, };
detection_complete: boolean,
/**
* Per-tool overrides for skill directories (keyed by tool_name)
*/
skill_directory_overrides: { [key in string]?: SkillDirectoriesOverride }, };
14 changes: 14 additions & 0 deletions bindings/SkillDirectoriesOverride.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.

/**
* Per-tool skill directory overrides
*/
export type SkillDirectoriesOverride = {
/**
* Additional global skill directories
*/
global: Array<string>,
/**
* Additional project-relative skill directories
*/
project: Array<string>, };
22 changes: 22 additions & 0 deletions bindings/SkillEntry.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.

/**
* A single discovered skill file
*/
export type SkillEntry = {
/**
* Tool this skill belongs to (e.g., "claude", "codex")
*/
tool_name: string,
/**
* Filename of the skill (e.g., "commit.md")
*/
filename: string,
/**
* Full path to the skill file
*/
file_path: string,
/**
* Scope: "global" or "project"
*/
scope: string, };
15 changes: 15 additions & 0 deletions bindings/SkillsResponse.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { SkillEntry } from "./SkillEntry";

/**
* Response for skills listing
*/
export type SkillsResponse = {
/**
* List of discovered skills
*/
skills: Array<SkillEntry>,
/**
* Total count
*/
total: number, };
12 changes: 12 additions & 0 deletions config/default.toml
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,18 @@ webhook_port = 7009
# Connection timeout in milliseconds
connect_timeout_ms = 5000

# Agent delegator configurations
# Delegators are named {tool, model} pairings for autonomous ticket launching
# [[delegators]]
# name = "claude-opus-auto"
# llm_tool = "claude"
# model = "opus"
# display_name = "Claude Opus (Auto)"
# [delegators.launch_config]
# yolo = true
# permission_mode = "delegate"
# flags = []

[version_check]
# Enable automatic version checking on startup
enabled = true
Expand Down
2 changes: 1 addition & 1 deletion docs/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ collections_dir: .

# Permalink structure
permalink: pretty
version: 0.1.18
version: 0.1.19

# Google Analytics
ga_tag: G-5JZPJWWT7S # Replace with actual GA4 measurement ID from analytics.google.com
2 changes: 1 addition & 1 deletion opr8r/Cargo.lock

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

2 changes: 1 addition & 1 deletion opr8r/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "opr8r"
version = "0.1.18"
version = "0.1.19"
edition = "2021"
description = "Minimal CLI wrapper for LLM commands in multi-step ticket workflows"
license = "MIT"
Expand Down
1 change: 1 addition & 0 deletions src/agents/launcher/llm_command.rs
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,7 @@ mod tests {
..Default::default()
}],
detection_complete: true,
skill_directory_overrides: std::collections::HashMap::new(),
},
..Default::default()
}
Expand Down
1 change: 1 addition & 0 deletions src/agents/launcher/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ fn make_test_config(temp_dir: &TempDir) -> Config {
..Default::default()
}],
detection_complete: true,
skill_directory_overrides: std::collections::HashMap::new(),
},
// Disable notifications in tests to avoid DBus requirement on Linux CI
notifications: crate::config::NotificationsConfig {
Expand Down
1 change: 1 addition & 0 deletions src/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2389,6 +2389,7 @@ mod tests {
..Default::default()
}],
detection_complete: true,
skill_directory_overrides: std::collections::HashMap::new(),
},
// Disable notifications in tests
notifications: crate::config::NotificationsConfig {
Expand Down
Loading