diff --git a/api/openapi.yaml b/api/openapi.yaml
index 4f4499d..3a07f8b 100644
--- a/api/openapi.yaml
+++ b/api/openapi.yaml
@@ -61,6 +61,24 @@ paths:
schema: { $ref: "#/components/schemas/User" }
"400": { $ref: "#/components/responses/Error" }
+ /api/me/quick-run:
+ put:
+ operationId: updateQuickRun
+ description: Sets the workflow, and the project it runs in, that the calling user's iPhone starts from its Action button; both empty turns it off.
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema: { $ref: "#/components/schemas/QuickRun" }
+ responses:
+ "200":
+ description: The updated user.
+ content:
+ application/json:
+ schema: { $ref: "#/components/schemas/User" }
+ "400": { $ref: "#/components/responses/Error" }
+ "404": { $ref: "#/components/responses/Error" }
+
/api/me/away:
put:
operationId: updateAway
@@ -1476,7 +1494,7 @@ components:
User:
type: object
- required: [login, display_name, git_name, git_email, notification_prefs, default_model, away]
+ required: [login, display_name, git_name, git_email, notification_prefs, default_model, away, quick_run]
properties:
login: { type: string }
display_name: { type: string }
@@ -1485,6 +1503,15 @@ components:
notification_prefs: { $ref: "#/components/schemas/NotificationPrefs" }
default_model: { type: string, description: The model the app starts new tasks on. }
away: { type: boolean, description: "While true, byre answers the questions agents ask in this user's tasks at once." }
+ quick_run: { $ref: "#/components/schemas/QuickRun" }
+
+ QuickRun:
+ type: object
+ description: The workflow the iPhone's Action button starts with a typed prompt, and the project it runs in; both empty when none is set.
+ required: [project_id, workflow]
+ properties:
+ project_id: { type: string }
+ workflow: { type: string }
Away:
type: object
@@ -1658,11 +1685,11 @@ components:
title:
type: string
description: >
- The task's title. Without it the task starts untitled, and its agent names it with set_titles.
- Required with workflow.
+ The task's title. Without it the task starts untitled, and its agent names it with set_titles, or with
+ workflow, the run is titled with the workflow's name.
prompt:
type: string
- description: Starts the task's agent with this as its first message, in the same request. Not with workflow.
+ description: Starts the task's agent with this as its first message, in the same request. With workflow, the run's brief in place of the title.
images:
type: array
items: { type: string }
@@ -1673,7 +1700,7 @@ components:
description: >
The name of a saved workflow to run instead of creating one task with no agent: the run gets a task of its
own, titled with the title, and each stage that starts it becomes its subtask, titled "
: ",
- with the title as the run's brief. The response is the run's task.
+ with the prompt, or else the title, as the run's brief. The response is the run's task.
WorkflowSummary:
type: object
diff --git a/docs/iphone.md b/docs/iphone.md
index 0596a00..3a98d7b 100644
--- a/docs/iphone.md
+++ b/docs/iphone.md
@@ -10,6 +10,8 @@ Left out on the phone: the Server tab and running byre locally, the shell, file,
`mac/phone.sh` builds the app with `xcodebuild` (a Swift package can't be built for iOS by `swift build`) in the same shared directory and under the same lock as `mac/bundle.sh`, assembles `Byre.app` itself (icon through `actool`, fonts, `Info.plist` from `mac/phone/Info.plist` plus the version, commit and `DT*` keys App Store Connect checks), signs it ad hoc with `mac/phone/byre.entitlements`, and wraps it in `mac/.build/phone/iphoneos/Byre.xcarchive`. Release only, like the Mac app. `xcodebuild -exportArchive -archivePath -exportOptionsPlist mac/phone/export.plist -exportPath -allowProvisioningUpdates` re-signs it for the App Store and uploads it to TestFlight, using the Apple account Xcode is signed into: Xcode makes the distribution certificate and profile itself, so none are kept in the repo. Uploading needs the App ID `run.fc.byre.ios` (iCloud with the container `iCloud.run.fc.byre.mac`, and Push Notifications) and its app record in App Store Connect; neither can be made through Apple's API. The version is the last release tag's (App Store Connect takes only numbers) and the build number is the Mac app's (`docs/operations.md`, "Releases"). App Store Connect refuses a build number that isn't higher than every earlier upload, so a second upload of the same commit fails; a commit count wouldn't do, since it can go down when a branch with many commits uploads before its squash merge lands on main.
+iOS finds the app's App Intents (the Run workflow shortcut the Action button can run) only through `Byre.app/Metadata.appintents`. Xcode makes that bundle for app targets but not for a Swift package's executable, so `mac/phone.sh` runs `appintentsmetadataprocessor` itself, inside the build lock, on the source list and `.swiftconstvalues` the compiler leaves in the derived data. It has to read the sources from the shared copy the build compiled, which the next build of another worktree replaces. The simulator has no Shortcuts app, so an intent can only be tried on a phone.
+
`mac/phone.sh --simulator` builds an ad-hoc-signed app for the iOS simulator instead, at `mac/.build/phone/iphonesimulator/Byre.app`; install it with `xcrun simctl install ` and start it with `xcrun simctl launch run.fc.byre.ios`. The simulator ignores entitlements given to `codesign` and refuses to launch an ad-hoc app signed with restricted ones, so the script links `mac/phone/byre.entitlements` into the binary's `__TEXT,__entitlements` section, as Xcode does; without the iCloud entitlement CloudKit raises at launch. Its node signs in to Tailscale like any other: `xcrun simctl launch --console-pty` prints libtailscale's sign-in URL, which changes on every launch.
The simulator's window (Xcode's Device Hub) lists the app's own accessibility elements, so hands' `ax_tree` and `act` `press` drive the app without a mouse. Hands' mouse steps (`click`, `drag`, `scroll`) refuse that window, because Device Hub reports no process id; a gesture such as dragging the keyboard away needs mouse events posted with `CGEvent` instead. `xcrun simctl io booted screenshot --display LCD ` captures the app at full resolution.
diff --git a/internal/api/api.gen.go b/internal/api/api.gen.go
index 626833e..267766d 100644
--- a/internal/api/api.gen.go
+++ b/internal/api/api.gen.go
@@ -1273,6 +1273,12 @@ type ProtocolErrors struct {
Recent []ProtocolError `json:"recent"`
}
+// QuickRun The workflow the iPhone's Action button starts with a typed prompt, and the project it runs in; both empty when none is set.
+type QuickRun struct {
+ ProjectId string `json:"project_id"`
+ Workflow string `json:"workflow"`
+}
+
// Review One stage of the project's review workflow, an agent session reviewing one snapshot's change.
type Review struct {
// AgentSessionId The reviewer's session; empty when skipped.
@@ -1601,13 +1607,13 @@ type TaskCreate struct {
// Model The agent's model when prompt or images are given.
Model *string `json:"model,omitempty"`
- // Prompt Starts the task's agent with this as its first message, in the same request. Not with workflow.
+ // Prompt Starts the task's agent with this as its first message, in the same request. With workflow, the run's brief in place of the title.
Prompt *string `json:"prompt,omitempty"`
- // Title The task's title. Without it the task starts untitled, and its agent names it with set_titles. Required with workflow.
+ // Title The task's title. Without it the task starts untitled, and its agent names it with set_titles, or with workflow, the run is titled with the workflow's name.
Title *string `json:"title,omitempty"`
- // Workflow The name of a saved workflow to run instead of creating one task with no agent: the run gets a task of its own, titled with the title, and each stage that starts it becomes its subtask, titled ": ", with the title as the run's brief. The response is the run's task.
+ // Workflow The name of a saved workflow to run instead of creating one task with no agent: the run gets a task of its own, titled with the title, and each stage that starts it becomes its subtask, titled ": ", with the prompt, or else the title, as the run's brief. The response is the run's task.
Workflow *string `json:"workflow,omitempty"`
}
@@ -1747,6 +1753,9 @@ type User struct {
// NotificationPrefs Which task events notify this user in the macOS app.
NotificationPrefs NotificationPrefs `json:"notification_prefs"`
+
+ // QuickRun The workflow the iPhone's Action button starts with a typed prompt, and the project it runs in; both empty when none is set.
+ QuickRun QuickRun `json:"quick_run"`
}
// UserUpdate defines model for UserUpdate.
@@ -1984,6 +1993,9 @@ type UpdateNotificationPrefsJSONRequestBody = NotificationPrefs
// SetPaneFocusJSONRequestBody defines body for SetPaneFocus for application/json ContentType.
type SetPaneFocusJSONRequestBody = PaneFocus
+// UpdateQuickRunJSONRequestBody defines body for UpdateQuickRun for application/json ContentType.
+type UpdateQuickRunJSONRequestBody = QuickRun
+
// CreateProjectJSONRequestBody defines body for CreateProject for application/json ContentType.
type CreateProjectJSONRequestBody = ProjectCreate
@@ -2140,6 +2152,9 @@ type ServerInterface interface {
// (PUT /api/me/pane-focus)
SetPaneFocus(w http.ResponseWriter, r *http.Request)
+ // (PUT /api/me/quick-run)
+ UpdateQuickRun(w http.ResponseWriter, r *http.Request)
+
// (GET /api/me/summary-reads)
GetSummaryReads(w http.ResponseWriter, r *http.Request)
@@ -3024,6 +3039,20 @@ func (siw *ServerInterfaceWrapper) SetPaneFocus(w http.ResponseWriter, r *http.R
handler.ServeHTTP(w, r)
}
+// UpdateQuickRun operation middleware
+func (siw *ServerInterfaceWrapper) UpdateQuickRun(w http.ResponseWriter, r *http.Request) {
+
+ handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+ siw.Handler.UpdateQuickRun(w, r)
+ }))
+
+ for _, middleware := range siw.HandlerMiddlewares {
+ handler = middleware(handler)
+ }
+
+ handler.ServeHTTP(w, r)
+}
+
// GetSummaryReads operation middleware
func (siw *ServerInterfaceWrapper) GetSummaryReads(w http.ResponseWriter, r *http.Request) {
@@ -4734,6 +4763,7 @@ func HandlerWithOptions(si ServerInterface, options StdHTTPServerOptions) http.H
m.HandleFunc(http.MethodPut+" "+options.BaseURL+"/api/me", wrapper.UpdateMe)
m.HandleFunc(http.MethodPut+" "+options.BaseURL+"/api/me/notifications", wrapper.UpdateNotificationPrefs)
m.HandleFunc(http.MethodPut+" "+options.BaseURL+"/api/me/default-model", wrapper.UpdateDefaultModel)
+ m.HandleFunc(http.MethodPut+" "+options.BaseURL+"/api/me/quick-run", wrapper.UpdateQuickRun)
m.HandleFunc(http.MethodPut+" "+options.BaseURL+"/api/me/away", wrapper.UpdateAway)
m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/me/lead/sessions", wrapper.ListLeadSessions)
m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/me/lead/events", wrapper.ListLeadEvents)
@@ -4826,360 +4856,363 @@ func HandlerWithOptions(si ServerInterface, options StdHTTPServerOptions) http.H
// const string: with thousands of chunks the chained `+` fold is several
// times slower for the Go compiler than parsing a slice literal.
var swaggerSpec = []string{
- "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",
- "CasRiZswEQUM8B0wk9+Mkvrjx/9/AA==",
+ "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",
}
// decodeSpec returns the embedded OpenAPI spec as raw JSON bytes,
diff --git a/internal/server/notifications.go b/internal/server/notifications.go
index bac01b6..e41d3cf 100644
--- a/internal/server/notifications.go
+++ b/internal/server/notifications.go
@@ -41,6 +41,37 @@ func (s *Server) UpdateDefaultModel(w http.ResponseWriter, r *http.Request) {
writeJSON(w, http.StatusOK, u)
}
+func (s *Server) UpdateQuickRun(w http.ResponseWriter, r *http.Request) {
+ req := api.QuickRun{}
+ if !readJSON(w, r, &req) {
+ return
+ }
+
+ if (req.ProjectId == "") != (req.Workflow == "") {
+ writeError(w, http.StatusBadRequest, errors.New("project_id and workflow are set together"))
+ return
+ }
+ if req.ProjectId != "" {
+ _, err := s.store.GetProject(r.Context(), req.ProjectId)
+ if err != nil {
+ writeStoreError(w, err)
+ return
+ }
+ _, err = s.store.GetWorkflow(r.Context(), req.Workflow)
+ if err != nil {
+ writeStoreError(w, err)
+ return
+ }
+ }
+
+ u, err := s.store.UpdateQuickRun(r.Context(), actor(r), req)
+ if err != nil {
+ writeStoreError(w, err)
+ return
+ }
+ writeJSON(w, http.StatusOK, u)
+}
+
func (s *Server) UpdateAway(w http.ResponseWriter, r *http.Request) {
req := api.Away{}
if !readJSON(w, r, &req) {
diff --git a/internal/server/server.go b/internal/server/server.go
index 6287c0c..5cfea39 100644
--- a/internal/server/server.go
+++ b/internal/server/server.go
@@ -378,20 +378,23 @@ func (s *Server) CreateTask(w http.ResponseWriter, r *http.Request, projectID st
}
if req.Workflow != nil {
- if req.Prompt != nil || req.Images != nil {
- writeError(w, http.StatusBadRequest, errors.New("prompt and images can't be given with workflow"))
+ if req.Images != nil {
+ writeError(w, http.StatusBadRequest, errors.New("images can't be given with workflow"))
return
}
if title == "" {
- writeError(w, http.StatusBadRequest, errors.New("title is required with workflow"))
- return
+ title = *req.Workflow
+ }
+ brief := title
+ if req.Prompt != nil && strings.TrimSpace(*req.Prompt) != "" {
+ brief = *req.Prompt
}
u, err := s.store.GetUser(r.Context(), actor(r))
if err != nil {
writeStoreError(w, err)
return
}
- tasks, err := s.agents.StartWorkflow(r.Context(), p, u, title, p.DefaultBranch, u.Login, *req.Workflow, title, nil, "")
+ tasks, err := s.agents.StartWorkflow(r.Context(), p, u, title, p.DefaultBranch, u.Login, *req.Workflow, brief, nil, "")
if err != nil {
writeAgentError(w, err)
return
diff --git a/internal/store/migrations/102-add-user-quick-run.sql b/internal/store/migrations/102-add-user-quick-run.sql
new file mode 100644
index 0000000..c23166d
--- /dev/null
+++ b/internal/store/migrations/102-add-user-quick-run.sql
@@ -0,0 +1,2 @@
+ALTER TABLE users ADD COLUMN quick_run_project TEXT REFERENCES projects(id);
+ALTER TABLE users ADD COLUMN quick_run_workflow TEXT NOT NULL DEFAULT '';
diff --git a/internal/store/notifications.go b/internal/store/notifications.go
index 220c0c3..7ba8e21 100644
--- a/internal/store/notifications.go
+++ b/internal/store/notifications.go
@@ -15,6 +15,10 @@ func (s *Store) UpdateDefaultModel(ctx context.Context, login, model string) (ap
return s.updateUser(ctx, login, `default_model = ?`, model)
}
+func (s *Store) UpdateQuickRun(ctx context.Context, login string, q api.QuickRun) (api.User, error) {
+ return s.updateUser(ctx, login, `quick_run_project = nullif(?, ''), quick_run_workflow = ?`, q.ProjectId, q.Workflow)
+}
+
func (s *Store) UpdateAway(ctx context.Context, login string, away bool) (api.User, error) {
return s.updateUser(ctx, login, `away = ?`, away)
}
diff --git a/internal/store/store.go b/internal/store/store.go
index deae1f6..004a0db 100644
--- a/internal/store/store.go
+++ b/internal/store/store.go
@@ -229,8 +229,8 @@ func (s *Store) EnsureUser(ctx context.Context, login, displayName string) (api.
func (s *Store) GetUser(ctx context.Context, login string) (api.User, error) {
u := api.User{}
p := &u.NotificationPrefs
- err := s.db.QueryRowContext(ctx, `SELECT login, display_name, git_name, git_email, notify_questions, notify_reports, notify_errors, notify_rate_limits, notify_ready, notify_discard, notify_merge_problems, notify_workflows, default_model, away FROM users WHERE login = ?`, login).
- Scan(&u.Login, &u.DisplayName, &u.GitName, &u.GitEmail, &p.Questions, &p.Reports, &p.Errors, &p.RateLimits, &p.Ready, &p.Discard, &p.MergeProblems, &p.Workflows, &u.DefaultModel, &u.Away)
+ err := s.db.QueryRowContext(ctx, `SELECT login, display_name, git_name, git_email, notify_questions, notify_reports, notify_errors, notify_rate_limits, notify_ready, notify_discard, notify_merge_problems, notify_workflows, default_model, away, coalesce(quick_run_project, ''), quick_run_workflow FROM users WHERE login = ?`, login).
+ Scan(&u.Login, &u.DisplayName, &u.GitName, &u.GitEmail, &p.Questions, &p.Reports, &p.Errors, &p.RateLimits, &p.Ready, &p.Discard, &p.MergeProblems, &p.Workflows, &u.DefaultModel, &u.Away, &u.QuickRun.ProjectId, &u.QuickRun.Workflow)
if errors.Is(err, sql.ErrNoRows) {
return u, ErrNotFound
}
diff --git a/internal/store/workflow.go b/internal/store/workflow.go
index 8bf0dca..eb570db 100644
--- a/internal/store/workflow.go
+++ b/internal/store/workflow.go
@@ -134,6 +134,39 @@ func repointProjects(ctx context.Context, tx *sql.Tx, emit emitFunc, from, to, a
return err
}
}
+ return repointUsers(ctx, tx, emit, from, to, actor)
+}
+
+func repointUsers(ctx context.Context, tx *sql.Tx, emit emitFunc, from, to, actor string) error {
+ rows, err := tx.QueryContext(ctx, `
+ UPDATE users SET
+ quick_run_workflow = ?2,
+ quick_run_project = CASE WHEN ?2 = '' THEN NULL ELSE quick_run_project END
+ WHERE quick_run_workflow = ?1
+ RETURNING login`, from, to)
+ if err != nil {
+ return err
+ }
+ logins := []string{}
+ for rows.Next() {
+ login := ""
+ err = rows.Scan(&login)
+ if err != nil {
+ rows.Close()
+ return err
+ }
+ logins = append(logins, login)
+ }
+ err = errors.Join(rows.Err(), rows.Close())
+ if err != nil {
+ return err
+ }
+ for _, login := range logins {
+ err = emit(api.Event{Kind: "user.updated", Actor: actor, Payload: map[string]any{"login": login}})
+ if err != nil {
+ return err
+ }
+ }
return nil
}
diff --git a/mac/Sources/Byre/Phone.swift b/mac/Sources/Byre/Phone.swift
index 0e74d86..eac1c5d 100644
--- a/mac/Sources/Byre/Phone.swift
+++ b/mac/Sources/Byre/Phone.swift
@@ -140,6 +140,10 @@ struct PhoneView: View {
.environment(overlays)
}
}
+ .fullScreenCover(isPresented: Binding(get: { QuickRunRequest.shared.shown }, set: { QuickRunRequest.shared.shown = $0 })) {
+ QuickRunPage()
+ .environment(store)
+ }
.onAppear {
store.paneFocus.attach()
}
diff --git a/mac/Sources/Byre/QuickRun.swift b/mac/Sources/Byre/QuickRun.swift
new file mode 100644
index 0000000..ccd698b
--- /dev/null
+++ b/mac/Sources/Byre/QuickRun.swift
@@ -0,0 +1,205 @@
+import ByreAPI
+import SwiftUI
+
+struct QuickRunSetting: View {
+ @Environment(Store.self) private var store
+ @Environment(Overlays.self) private var overlays
+ @ViewState private var workflows: [WorkflowSummary] = []
+ @ViewState private var off: (() -> Void)?
+
+ var body: some View {
+ let current = store.me?.quickRun ?? .init(projectId: "", workflow: "")
+ HStack(spacing: 6) {
+ menu(current.workflow.isEmpty ? "None" : current.workflow, help: "Workflow the Action button starts") {
+ Button("None") {
+ save(.init(projectId: "", workflow: ""))
+ }
+ ForEach(workflows, id: \.name) { w in
+ Button(w.name) {
+ save(.init(projectId: current.projectId.isEmpty ? store.projects.first?.id ?? "" : current.projectId, workflow: w.name))
+ }
+ }
+ }
+ if !current.workflow.isEmpty {
+ Text("in")
+ .foregroundStyle(Palette.muted)
+ menu(store.projects.first { $0.id == current.projectId }?.name ?? current.projectId, help: "Project the workflow runs in") {
+ ForEach(store.projects, id: \.id) { p in
+ Button(p.name) {
+ save(.init(projectId: p.id, workflow: current.workflow))
+ }
+ }
+ }
+ }
+ }
+ .padding(.top, 8)
+ .onAppear {
+ off = store.events.add { ev in
+ if ev.kind == "workflow.updated" || ev.kind == "workflow.deleted" {
+ load()
+ }
+ }
+ load()
+ }
+ .onDisappear {
+ off?()
+ off = nil
+ }
+ }
+
+ private func menu(_ label: String, help: String, @ViewBuilder _ items: () -> some View) -> some View {
+ Menu {
+ items()
+ } label: {
+ HStack(spacing: 8) {
+ Text(label)
+ Image(systemName: "chevron.up.chevron.down")
+ .font(Fonts.font(9, weight: 600))
+ }
+ .foregroundStyle(Palette.text)
+ .modifier(FieldStyle())
+ .contentShape(Rectangle())
+ }
+ .menuStyle(.button)
+ .buttonStyle(.plain)
+ .menuIndicator(.hidden)
+ .fixedSize()
+ .help(help)
+ }
+
+ private func load() {
+ Task {
+ do {
+ workflows = try await store.api.client.listWorkflows().ok.body.json
+ } catch {
+ overlays.showAlert(errorText(error))
+ }
+ }
+ }
+
+ private func save(_ q: Components.Schemas.QuickRun) {
+ Task {
+ do {
+ store.me = try await store.api.client.updateQuickRun(body: .json(q)).ok.body.json
+ } catch {
+ overlays.showAlert(errorText(error))
+ }
+ }
+ }
+}
+
+#if os(iOS)
+import AppIntents
+
+@MainActor
+@Observable
+final class QuickRunRequest {
+ static let shared = QuickRunRequest()
+ var shown = false
+}
+
+struct QuickRunIntent: AppIntent {
+ static let title: LocalizedStringResource = "Run byre workflow"
+ static let description = IntentDescription("Opens byre to type a prompt and start your Action button workflow with it.")
+ static let supportedModes: IntentModes = .foreground
+
+ @MainActor
+ func perform() async throws -> some IntentResult {
+ QuickRunRequest.shared.shown = true
+ return .result()
+ }
+}
+
+struct ByreShortcuts: AppShortcutsProvider {
+ static var appShortcuts: [AppShortcut] {
+ AppShortcut(intent: QuickRunIntent(), phrases: ["Run a workflow in \(.applicationName)"], shortTitle: "Run workflow", systemImageName: "bolt")
+ }
+}
+
+struct QuickRunPage: View {
+ @Environment(Store.self) private var store
+ @ViewState private var text = ""
+ @ViewState private var starting = false
+ @ViewState private var failure: String?
+ @FocusState private var focused: Bool
+
+ var body: some View {
+ let q = store.me?.quickRun ?? .init(projectId: "", workflow: "")
+ let project = store.projects.first { $0.id == q.projectId }
+ let prompt = text.trimmingCharacters(in: .whitespacesAndNewlines)
+ VStack(alignment: .leading, spacing: 12) {
+ HStack {
+ Button("Cancel") {
+ close()
+ }
+ .disabled(starting)
+ Spacer()
+ if !q.workflow.isEmpty {
+ Button("Start") {
+ start(q, prompt)
+ }
+ .buttonStyle(WebButtonStyle(primary: true))
+ .disabled(prompt.isEmpty || starting)
+ }
+ }
+ .font(Fonts.font(15, weight: 700))
+ if q.workflow.isEmpty {
+ Text("Choose the workflow the Action button starts in More → Settings.")
+ .foregroundStyle(Palette.muted)
+ .fixedSize(horizontal: false, vertical: true)
+ } else {
+ VStack(alignment: .leading, spacing: 2) {
+ Text(q.workflow)
+ .font(Fonts.font(17, weight: 700))
+ Text(project?.name ?? q.projectId)
+ .foregroundStyle(Palette.muted)
+ }
+ AgentEditor(text: $text, placeholder: "What should it do?", key: "quick-run", height: 220, focus: $focused, border: focused ? Palette.accent : Palette.border) {
+ start(q, prompt)
+ }
+ }
+ if let failure {
+ Text(failure)
+ .foregroundStyle(Palette.danger)
+ .textSelection(.enabled)
+ .fixedSize(horizontal: false, vertical: true)
+ }
+ Spacer(minLength: 0)
+ }
+ .padding(16)
+ .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading)
+ .foregroundStyle(Palette.text)
+ .tint(Palette.accent)
+ .background(Palette.bg)
+ .font(Fonts.font(13))
+ .onAppear {
+ focused = true
+ }
+ }
+
+ private func start(_ q: Components.Schemas.QuickRun, _ prompt: String) {
+ if prompt.isEmpty || starting {
+ return
+ }
+ starting = true
+ failure = nil
+ Task {
+ do {
+ let task = try await store.api.client.createTask(path: .init(projectId: q.projectId), body: .json(.init(prompt: prompt, workflow: q.workflow))).created.body.json
+ close()
+ store.focusTask(task.id)
+ } catch {
+ starting = false
+ failure = errorText(error)
+ }
+ }
+ }
+
+ private func close() {
+ text = ""
+ starting = false
+ failure = nil
+ QuickRunRequest.shared.shown = false
+ }
+}
+#endif
diff --git a/mac/Sources/Byre/Settings.swift b/mac/Sources/Byre/Settings.swift
index 834df85..4587378 100644
--- a/mac/Sources/Byre/Settings.swift
+++ b/mac/Sources/Byre/Settings.swift
@@ -54,6 +54,11 @@ struct SettingsView: View {
ModelMenu(current: store.defaultModel, help: "Model for new tasks") { m in
try await store.api.client.updateDefaultModel(body: .json(.init(model: m))).ok.body.json
}
+ heading("Action button workflow")
+ Text("The iPhone's Action button, set to byre's Run workflow shortcut, opens a page to type a prompt and start this workflow with it.")
+ .foregroundStyle(Palette.muted)
+ .fixedSize(horizontal: false, vertical: true)
+ QuickRunSetting()
heading("Saved commands")
Text("Each is a button in the Terminal tab of every task on this server. It opens a new shell in the task's worktree and runs the command there.")
.foregroundStyle(Palette.muted)
diff --git a/mac/phone.sh b/mac/phone.sh
index e209231..effb61e 100755
--- a/mac/phone.sh
+++ b/mac/phone.sh
@@ -5,10 +5,12 @@ root=$(dirname "$mac")
shared=$HOME/Library/Caches/byre/build
sdk=iphoneos
destination="generic/platform=iOS"
+triple=arm64-apple-ios27.0
link=
if [ "${1:-}" = --simulator ]; then
sdk=iphonesimulator
destination="generic/platform=iOS Simulator"
+ triple=arm64-apple-ios27.0-simulator
link="-Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker $shared/mac/phone/byre.entitlements"
fi
build=$mac/.build/phone/$sdk
@@ -25,7 +27,10 @@ rm -rf "$5"
mkdir -p "$5/Frameworks"
cp "$products/Byre" "$5/Byre"
ditto "$products/TailscaleKit.framework" "$5/Frameworks/TailscaleKit.framework"
-' sh "$root" "$shared" "$sdk" "$destination" "$app" "$link"
+objects=$2/phone/Build/Intermediates.noindex/Byre.build/Release-$3/Byre-p.build
+echo "$objects/Objects-normal/arm64/Byre-primary.swiftconstvalues" > "$objects/Byre.SwiftConstValuesFileList"
+xcrun appintentsmetadataprocessor --output "$5" --toolchain-dir "$(dirname "$(dirname "$(dirname "$(xcrun --find swiftc)")")")" --module-name Byre --sdk-root "$(xcrun --sdk "$3" --show-sdk-path)" --xcode-version "$(xcodebuild -version | awk "NR == 2 { print \$3 }")" --platform-family iOS --deployment-target 27.0 --target-triple "$7" --source-file-list "$objects/Objects-normal/arm64/Byre.SwiftFileList" --swift-const-vals-list "$objects/Byre.SwiftConstValuesFileList" --metadata-file-list "$objects/Byre.DependencyMetadataFileList" --static-metadata-file-list "$objects/Byre.DependencyStaticMetadataFileList" --binary-file "$5/Byre" --no-app-shortcuts-localization
+' sh "$root" "$shared" "$sdk" "$destination" "$app" "$link" "$triple"
assets=$build/Assets.xcassets/AppIcon.appiconset
rm -rf "$build/Assets.xcassets"
mkdir -p "$assets"