Directories
¶
| Path | Synopsis |
|---|---|
|
Package bots exposes the productised bot recipes shipped with iterion (the named team — Featurly, Billy, Willy, …) as an embed.FS so the binary can run them by basename from any working directory.
|
Package bots exposes the productised bot recipes shipped with iterion (the named team — Featurly, Billy, Willy, …) as an embed.FS so the binary can run them by basename from any working directory. |
|
cmd
|
|
|
iterion
command
Command iterion is the CLI for the iterion workflow engine.
|
Command iterion is the CLI for the iterion workflow engine. |
|
iterion-desktop
command
Package main is the Iterion Desktop binary.
|
Package main is the Iterion Desktop binary. |
|
contrib
|
|
|
mattermost-clarify
command
Command mattermost-clarify is a chat channel adapter that wires a Mattermost bot ("@clarify-bot") to iterion's run-completion webhook (pkg/notify), letting iterion facilitate a thread without iterion itself knowing anything about Mattermost.
|
Command mattermost-clarify is a chat channel adapter that wires a Mattermost bot ("@clarify-bot") to iterion's run-completion webhook (pkg/notify), letting iterion facilitate a thread without iterion itself knowing anything about Mattermost. |
|
examples
|
|
|
mcp_test_server
command
Tiny MCP stdio server used by the live tests.
|
Tiny MCP stdio server used by the live tests. |
|
internal
|
|
|
httpx
Package httpx provides the shared JSON request/response helpers used by iterion's HTTP handlers.
|
Package httpx provides the shared JSON request/response helpers used by iterion's HTTP handlers. |
|
pkg
|
|
|
alert
Package alert implements run-health alerting for the iterion studio / server.
|
Package alert implements run-health alerting for the iterion studio / server. |
|
artifactlabels
Package artifactlabels derives semantic labels for a published artifact from the SHAPE of its output data — so an artifact groups under "Plans", "Verdicts", etc.
|
Package artifactlabels derives semantic labels for a published artifact from the SHAPE of its output data — so an artifact groups under "Plans", "Verdicts", etc. |
|
askusermcp
Package askusermcp holds the ask-user MCP tool surface shared by the two transports that expose it to a claude_code session:
|
Package askusermcp holds the ask-user MCP tool surface shared by the two transports that expose it to a claude_code session: |
|
audit
Package audit persists control-plane mutations into a queryable, tenant-scoped log.
|
Package audit persists control-plane mutations into a queryable, tenant-scoped log. |
|
auth
Package auth implements the multitenant authentication core: password hashing, JWT issuance/verification, refresh token rotation, and the per-request Identity carried through ctx.
|
Package auth implements the multitenant authentication core: password hashing, JWT issuance/verification, refresh token rotation, and the per-request Identity carried through ctx. |
|
auth/desktopsso
Package desktopsso holds the single-use, TTL-bounded ticket store that carries a login result between the OIDC callback (which MINTS a ticket for a desktop SSO flow) and the desktop exchange endpoint (which REDEEMS it).
|
Package desktopsso holds the single-use, TTL-bounded ticket store that carries a login result between the OIDC callback (which MINTS a ticket for a desktop SSO flow) and the desktop exchange endpoint (which REDEEMS it). |
|
auth/oidc
Package oidc owns the SSO connectors: Google, GitHub, and a generic OIDC discovery-based provider.
|
Package oidc owns the SSO connectors: Google, GitHub, and a generic OIDC discovery-based provider. |
|
auth/orgsso
Package orgsso owns the per-tenant (per-org) SSO provider configuration: the rows an iterion org admin self-serves to enable login via their own Keycloak (a discovery-based OIDC provider) or to gate the deployment-level GitHub login on specific GitHub teams.
|
Package orgsso owns the per-tenant (per-org) SSO provider configuration: the rows an iterion org admin self-serves to enable login via their own Keycloak (a discovery-based OIDC provider) or to gate the deployment-level GitHub login on specific GitHub teams. |
|
auth/wsticket
Package wsticket holds the single-use, short-TTL ticket store that lets a client open an authenticated WebSocket without carrying a long-lived access JWT in the URL (query strings leak to access logs, proxies, and Referer).
|
Package wsticket holds the single-use, short-TTL ticket store that lets a client open an authenticated WebSocket without carrying a long-lived access JWT in the URL (query strings leak to access logs, proxies, and Referer). |
|
backend/cost
Package cost holds the per-model token-pricing table used to annotate generation outputs with `_tokens` / `_model` / `_cost_usd`.
|
Package cost holds the per-model token-pricing table used to annotate generation outputs with `_tokens` / `_model` / `_cost_usd`. |
|
backend/delegate
Package delegate provides the Backend interface and types for executing agent/judge nodes via pluggable backends (CLI agents like claude-code/codex, or API-based backends like claw).
|
Package delegate provides the Backend interface and types for executing agent/judge nodes via pluggable backends (CLI agents like claude-code/codex, or API-based backends like claw). |
|
backend/delegate/claudesdk
Package claudesdk provides a Go SDK for the Claude Code CLI.
|
Package claudesdk provides a Go SDK for the Claude Code CLI. |
|
backend/detect
Package detect probes the host environment for available LLM credentials and CLI binaries, producing a Report consumed by the studio (UI hints) and the runtime resolver (auto backend selection).
|
Package detect probes the host environment for available LLM credentials and CLI binaries, producing a Report consumed by the studio (UI hints) and the runtime resolver (auto backend selection). |
|
backend/forfait
Package forfait implements a best-effort Anthropic "forfait" (Claude Code OAuth subscription) usage-cap check used by the LAYER-2 run-level auto-resume loop.
|
Package forfait implements a best-effort Anthropic "forfait" (Claude Code OAuth subscription) usage-cap check used by the LAYER-2 run-level auto-resume loop. |
|
backend/llmtypes
Package llmtypes defines iterion-owned types for the LLM generation layer.
|
Package llmtypes defines iterion-owned types for the LLM generation layer. |
|
backend/model
Package model provides the ModelRegistry and claw-based NodeExecutor for resolving "provider/model-id" specs and executing LLM nodes.
|
Package model provides the ModelRegistry and claw-based NodeExecutor for resolving "provider/model-id" specs and executing LLM nodes. |
|
backend/permission
Package permission implements iterion's tool-permission gate — the anti-hypnosis / anti-prompt-injection boundary that mirrors Claude Code's default "ask" posture for BOTH execution backends (claude_code and claw).
|
Package permission implements iterion's tool-permission gate — the anti-hypnosis / anti-prompt-injection boundary that mirrors Claude Code's default "ask" posture for BOTH execution backends (claude_code and claw). |
|
backend/recipe
Package recipe defines the RecipeSpec model and loading/application logic.
|
Package recipe defines the RecipeSpec model and loading/application logic. |
|
backend/rewrite
Package rewrite is iterion's command-output-rewriter extension point: the generalization of what used to be the hardcoded rtk integration.
|
Package rewrite is iterion's command-output-rewriter extension point: the generalization of what used to be the hardcoded rtk integration. |
|
backend/secretguard
Package secretguard protects secret values from leaking through an agent run.
|
Package secretguard protects secret values from leaking through an agent run. |
|
backend/thinktokens
Package thinktokens provides an approximate token count for extended-thinking (reasoning) text.
|
Package thinktokens provides an approximate token count for extended-thinking (reasoning) text. |
|
backend/tool
Package tool provides a unified ToolRegistry that normalizes built-in tools and MCP server tools under a single namespace and resolution scheme.
|
Package tool provides a unified ToolRegistry that normalizes built-in tools and MCP server tools under a single namespace and resolution scheme. |
|
backend/tool/privacy
Package privacy implements two iterion built-in tools that detect and redact personally identifiable information (PII):
|
Package privacy implements two iterion built-in tools that detect and redact personally identifiable information (PII): |
|
backend/tool/privacy/detector
Package detector implements the pure-Go PII detection backend used by the privacy_filter / privacy_unfilter built-in tools.
|
Package detector implements the pure-Go PII detection backend used by the privacy_filter / privacy_unfilter built-in tools. |
|
backend/tooldisplay
Package tooldisplay turns a tool call (name + raw JSON input) into the strings the engine renders in console logs and the per-node Tools tab.
|
Package tooldisplay turns a tool call (name + raw JSON input) into the strings the engine renders in console logs and the per-node Tools tab. |
|
benchmark
Package benchmark implements a multi-recipe benchmark runner with isolated workspaces and comparable metrics collection.
|
Package benchmark implements a multi-recipe benchmark runner with isolated workspaces and comparable metrics collection. |
|
benchmark/asymptote
Package asymptote computes per-iteration quality scores from persisted runs and compares groups of runs (e.g.
|
Package asymptote computes per-iteration quality scores from persisted runs and compares groups of runs (e.g. |
|
benchmark/quality
Package quality is the subjective quality + value-for-money assessment layer for iterion's live e2e tests.
|
Package quality is the subjective quality + value-for-money assessment layer for iterion's live e2e tests. |
|
botimport
Package botimport converts Claude-Code workflow scripts (.claude/workflows/*.js — the `export const meta` + `agent()` / `phase()` / `log()` shape) into DRAFT .bot workflows.
|
Package botimport converts Claude-Code workflow scripts (.claude/workflows/*.js — the `export const meta` + `agent()` / `phase()` / `log()` shape) into DRAFT .bot workflows. |
|
botinstall
Package botinstall imports a bot bundle from a git URL or local path into a workspace so `iterion bots list`, the dispatcher, and the studio discover it.
|
Package botinstall imports a bot bundle from a git URL or local path into a workspace so `iterion bots list`, the dispatcher, and the studio discover it. |
|
botregistry
Package botregistry discovers bots on disk: single .bot files and .botz bundle directories.
|
Package botregistry discovers bots on disk: single .bot files and .botz bundle directories. |
|
botreplay
Package botreplay implements a record/replay golden-test framework for iterion bots.
|
Package botreplay implements a record/replay golden-test framework for iterion bots. |
|
botscaffold
Package botscaffold renders a new bot bundle (main.bot + manifest.yaml + README.md + the bundle layout directories) from a builder Spec.
|
Package botscaffold renders a new bot bundle (main.bot + manifest.yaml + README.md + the bundle layout directories) from a builder Spec. |
|
bundle
Package bundle implements the `.botz` archive format: a ZIP archive that packages an iterion workflow (`main.bot`) with adjacent resources (skills, prompts, presets, default attachments, manifest).
|
Package bundle implements the `.botz` archive format: a ZIP archive that packages an iterion workflow (`main.bot`) with adjacent resources (skills, prompts, presets, default attachments, manifest). |
|
bundlelint
Package bundlelint cross-checks a bot bundle's manifest.yaml against its compiled main.bot workflow, surfacing structural inconsistencies that neither the manifest parser (pkg/bundle) nor the DSL compiler (pkg/dsl/ir) can see on their own — because each validates only one side.
|
Package bundlelint cross-checks a bot bundle's manifest.yaml against its compiled main.bot workflow, surfacing structural inconsistencies that neither the manifest parser (pkg/bundle) nor the DSL compiler (pkg/dsl/ir) can see on their own — because each validates only one side. |
|
cli
Package cli implements the iterion command-line interface.
|
Package cli implements the iterion command-line interface. |
|
clock
Package clock provides a small Clock abstraction so time-dependent logic (notably the per-day spend-cap reset) can be driven by a fake clock in tests.
|
Package clock provides a small Clock abstraction so time-dependent logic (notably the per-day spend-cap reset) can be driven by a fake clock in tests. |
|
cloud/metrics
Package metrics centralises the Prometheus metrics exposed by the cloud-mode iterion server and runner pods.
|
Package metrics centralises the Prometheus metrics exposed by the cloud-mode iterion server and runner pods. |
|
cloud/orgsweep
Package orgsweep nightly-purges organizations that were soft-deleted (Status == pending_deletion) once their grace window (Org.PurgeAfter) has elapsed.
|
Package orgsweep nightly-purges organizations that were soft-deleted (Status == pending_deletion) once their grace window (Org.PurgeAfter) has elapsed. |
|
cloud/tracing
Package tracing wires the OpenTelemetry trace SDK so the spans emitted by pkg/runtime, pkg/runner, and pkg/server are actually exported.
|
Package tracing wires the OpenTelemetry trace SDK so the spans emitted by pkg/runtime, pkg/runner, and pkg/server are actually exported. |
|
cloudsched
Package cloudsched is the cloud-mode recurring-bot scheduler: a per-org store of cron-scheduled bots and a multi-replica-safe ticker that fires each due schedule exactly once (CAS on the next-fire time, no leader election needed).
|
Package cloudsched is the cloud-mode recurring-bot scheduler: a per-org store of cron-scheduled bots and a multi-replica-safe ticker that fires each due schedule exactly once (CAS on the next-fire time, no leader election needed). |
|
config
Package config loads iterion runtime configuration from environment variables and an optional YAML file.
|
Package config loads iterion runtime configuration from environment variables and an optional YAML file. |
|
configshare
Package configshare is the scoped, self-service config-file editor: a per-(bot × repo × config-file × category) grant, addressed by a dynamic URL and authenticated by its own token, that lets a non-operator edit ONLY a declared allow-list of fields (the veille's feeds[] + editorial) in one file of one repo — and nothing else in iterion.
|
Package configshare is the scoped, self-service config-file editor: a per-(bot × repo × config-file × category) grant, addressed by a dynamic URL and authenticated by its own token, that lets a non-operator edit ONLY a declared allow-list of fields (the veille's feeds[] + editorial) in one file of one repo — and nothing else in iterion. |
|
dispatcher
Package dispatcher implements iterion's long-running dispatcher.
|
Package dispatcher implements iterion's long-running dispatcher. |
|
dispatcher/boardmongo
Package boardmongo is the Mongo-backed implementation of native.BoardStore — the cloud counterpart of the filesystem pkg/dispatcher/native.Store.
|
Package boardmongo is the Mongo-backed implementation of native.BoardStore — the cloud counterpart of the filesystem pkg/dispatcher/native.Store. |
|
dispatcher/native
Package native implements iterion's first-class issue/kanban tracker.
|
Package native implements iterion's first-class issue/kanban tracker. |
|
dispatcher/native/boardops
Package boardops contains the capability-gated operations that the __mcp-board MCP server and the /api/v1/mcp/board HTTP handler share.
|
Package boardops contains the capability-gated operations that the __mcp-board MCP server and the /api/v1/mcp/board HTTP handler share. |
|
dispatcher/tracker
Package tracker defines the issue-tracker abstraction used by the dispatcher (`iterion dispatch`).
|
Package tracker defines the issue-tracker abstraction used by the dispatcher (`iterion dispatch`). |
|
dsl/ast
MarshalFile / UnmarshalFile provide JSON serialization and deserialization for File types, converting Go iota-based enums to human-readable string representations.
|
MarshalFile / UnmarshalFile provide JSON serialization and deserialization for File types, converting Go iota-based enums to human-readable string representations. |
|
dsl/expr
Package expr implements a small expression language used by iterion's `compute` nodes and `when` edge clauses.
|
Package expr implements a small expression language used by iterion's `compute` nodes and `when` edge clauses. |
|
dsl/ir
Package ir defines the canonical Intermediate Representation (IR) produced by compiling an AST.
|
Package ir defines the canonical Intermediate Representation (IR) produced by compiling an AST. |
|
dsl/types
Package types defines shared enum types used by both the AST and IR packages.
|
Package types defines shared enum types used by both the AST and IR packages. |
|
dsl/unparse
Package unparse converts an ast.File back into .bot DSL text.
|
Package unparse converts an ast.File back into .bot DSL text. |
|
dsl/workflowfile
Package workflowfile is the single source of truth for which file extensions iterion recognises as workflow source files.
|
Package workflowfile is the single source of truth for which file extensions iterion recognises as workflow source files. |
|
eventbus
Package eventbus is the internal publish/subscribe spine that carries trigger.Event values from producers (native board, run completion, forge webhooks, schedule ticks, custom ingress) to consumers (the trigger Evaluator).
|
Package eventbus is the internal publish/subscribe spine that carries trigger.Event values from producers (native board, run completion, forge webhooks, schedule ticks, custom ingress) to consumers (the trigger Evaluator). |
|
forge
Package forge is iterion's OUTBOUND forge-integration layer: it connects a team to a GitLab / GitHub / Forgejo account (OAuth or PAT), lists that account's repos, and AUTO-PROVISIONS the forge-side webhook + the bot-secret binding when an operator enables a bot on a repo — replacing the manual PAT→secret→binding→webhook→forge-hook chain.
|
Package forge is iterion's OUTBOUND forge-integration layer: it connects a team to a GitLab / GitHub / Forgejo account (OAuth or PAT), lists that account's repos, and AUTO-PROVISIONS the forge-side webhook + the bot-secret binding when an operator enables a bot on a repo — replacing the manual PAT→secret→binding→webhook→forge-hook chain. |
|
forge/forgejo
Package forgejo is the Forgejo/Gitea implementation of forge.Admin.
|
Package forgejo is the Forgejo/Gitea implementation of forge.Admin. |
|
forge/github
Package github is the GitHub implementation of forge.Admin: the outbound write-side client the orchestrator uses to list repos and create/update/delete the iterion webhook on them.
|
Package github is the GitHub implementation of forge.Admin: the outbound write-side client the orchestrator uses to list repos and create/update/delete the iterion webhook on them. |
|
forge/gitlab
Package gitlab is the GitLab implementation of forge.Admin: the OUTBOUND write-side client the orchestrator uses to list a connection's projects and create/update/delete the iterion webhook on them.
|
Package gitlab is the GitLab implementation of forge.Admin: the OUTBOUND write-side client the orchestrator uses to list a connection's projects and create/update/delete the iterion webhook on them. |
|
git
Package git is a minimal wrapper around the `git` CLI for the studio's modified-files panel.
|
Package git is a minimal wrapper around the `git` CLI for the studio's modified-files panel. |
|
identity
Package identity owns the multitenant user/team/membership domain.
|
Package identity owns the multitenant user/team/membership domain. |
|
internal/clilocate
Package clilocate centralises the host-side probe used by backends that shell out to a CLI binary (claude, codex, …).
|
Package clilocate centralises the host-side probe used by backends that shell out to a CLI binary (claude, codex, …). |
|
internal/jsonl
Package jsonl provides a crash-safe append-only JSONL file writer.
|
Package jsonl provides a crash-safe append-only JSONL file writer. |
|
internal/mongoutil
Package mongoutil holds tiny helpers for the Mongo driver shared across iterion's storage packages (pkg/store/mongo, pkg/identity, pkg/secrets, pkg/auth).
|
Package mongoutil holds tiny helpers for the Mongo driver shared across iterion's storage packages (pkg/store/mongo, pkg/identity, pkg/secrets, pkg/auth). |
|
internal/proc
Package proc holds tiny process-management primitives shared across iterion's shell-out wrappers (gitCmd, dockerCmd, kubectlCmd).
|
Package proc holds tiny process-management primitives shared across iterion's shell-out wrappers (gitCmd, dockerCmd, kubectlCmd). |
|
internal/shellquote
Package shellquote produces POSIX-shell-safe single-quoted tokens for use in `sh -c` command strings.
|
Package shellquote produces POSIX-shell-safe single-quoted tokens for use in `sh -c` command strings. |
|
internal/storekit
Package storekit holds the generic skeletons behind iterion's paired Mongo+memory store backends (pkg/audit, pkg/pat, pkg/cloudsched, pkg/webhooks, pkg/auth/desktopsso, pkg/auth/wsticket): a mutex-guarded keyed map (Memory), a typed Mongo collection wrapper composing on pkg/internal/mongoutil (Mongo), and a single-use TTL ticket pair (TicketMemory / TicketMongo).
|
Package storekit holds the generic skeletons behind iterion's paired Mongo+memory store backends (pkg/audit, pkg/pat, pkg/cloudsched, pkg/webhooks, pkg/auth/desktopsso, pkg/auth/wsticket): a mutex-guarded keyed map (Memory), a typed Mongo collection wrapper composing on pkg/internal/mongoutil (Mongo), and a single-use TTL ticket pair (TicketMemory / TicketMongo). |
|
internal/strutil
Package strutil holds tiny string helpers that have no direct stdlib equivalent and were otherwise copy-pasted across packages.
|
Package strutil holds tiny string helpers that have no direct stdlib equivalent and were otherwise copy-pasted across packages. |
|
knowledge
Package knowledge defines the backend-agnostic contract for iterion's shared memory / knowledge system: the MemoryStore interface, the SpaceRef identity model (the sharing axes), and the document/index value types both adapters return.
|
Package knowledge defines the backend-agnostic contract for iterion's shared memory / knowledge system: the MemoryStore interface, the SpaceRef identity model (the sharing axes), and the document/index value types both adapters return. |
|
log
Package log provides a leveled logger with emoji-rich console output for the iterion workflow engine.
|
Package log provides a leveled logger with emoji-rich console output for the iterion workflow engine. |
|
mail
Package mail is iterion's minimal transactional mailer: stdlib SMTP (explicit STARTTLS) + embedded templates for the two flows that need email — invitations and password resets.
|
Package mail is iterion's minimal transactional mailer: stdlib SMTP (explicit STARTTLS) + embedded templates for the two flows that need email — invitations and password resets. |
|
marketplace
Package marketplace is the hosted bot registry that sits on top of pkg/botinstall.
|
Package marketplace is the hosted bot registry that sits on top of pkg/botinstall. |
|
memory
Package memory provides the per-workspace iterion memory tree at ~/.iterion/projects/<encoded-workdir>/memory/<scope>/.
|
Package memory provides the per-workspace iterion memory tree at ~/.iterion/projects/<encoded-workdir>/memory/<scope>/. |
|
notify
Package notify delivers run-completion webhooks — a generic "this run reached a terminal state, here is its final answer" callback POSTed to a URL supplied at launch time.
|
Package notify delivers run-completion webhooks — a generic "this run reached a terminal state, here is its final answer" callback POSTed to a URL supplied at launch time. |
|
orgusage
Package orgusage meters per-org (tenant) monthly run launches and LLM spend, and enforces the launch-time caps.
|
Package orgusage meters per-org (tenant) monthly run launches and LLM spend, and enforces the launch-time caps. |
|
pat
Package pat implements personal access tokens — long-lived bearer credentials for programmatic API access (CI jobs, SDKs, curl) where the 15-minute JWT + refresh-cookie dance is impractical.
|
Package pat implements personal access tokens — long-lived bearer credentials for programmatic API access (CI jobs, SDKs, curl) where the 15-minute JWT + refresh-cookie dance is impractical. |
|
plugin
Package plugin implements iterion's plugin ecosystem: declarative, out-of-process extensions described by a `plugin.yaml` manifest with typed contribution points.
|
Package plugin implements iterion's plugin ecosystem: declarative, out-of-process extensions described by a `plugin.yaml` manifest with typed contribution points. |
|
pluginsource
Package pluginsource persists ORG-PRIVATE plugin bindings: "this team's runs get the plugin living in this git repository".
|
Package pluginsource persists ORG-PRIVATE plugin bindings: "this team's runs get the plugin living in this git repository". |
|
queue
Package queue defines the message contract exchanged between the iterion server (publisher) and the iterion runner (consumer).
|
Package queue defines the message contract exchanged between the iterion server (publisher) and the iterion runner (consumer). |
|
queue/nats
Package nats wraps the NATS / JetStream / KV layer for iterion's cloud queue.
|
Package nats wraps the NATS / JetStream / KV layer for iterion's cloud queue. |
|
reviewtopology
Package reviewtopology resolves the mono/dual review topology for bi-model review-loop bots (whole-improve-loop, branch-improve-loop, feature-dev, docs-refresh, secured-renovacy) from detected credentials (provider keys AND usable backends — e.g.
|
Package reviewtopology resolves the mono/dual review topology for bi-model review-loop bots (whole-improve-loop, branch-improve-loop, feature-dev, docs-refresh, secured-renovacy) from detected credentials (provider keys AND usable backends — e.g. |
|
runner
Package runner implements the cloud-mode iterion runner pod.
|
Package runner implements the cloud-mode iterion runner pod. |
|
runshell
Package runshell spawns interactive post-mortem shells in preserved run worktrees (the studio's "Open shell" on a failed run).
|
Package runshell spawns interactive post-mortem shells in preserved run worktrees (the studio's "Open shell" on a failed run). |
|
runtime
Package runtime — conflict handling for the deferred squash merge.
|
Package runtime — conflict handling for the deferred squash merge. |
|
runtime/recovery
Package recovery defines typed recovery recipes that decide what to do when a node fails.
|
Package recovery defines typed recovery recipes that decide what to do when a node fails. |
|
runview
Package runview — agent-driven merge-conflict resolution.
|
Package runview — agent-driven merge-conflict resolution. |
|
runview/runstream
Package runstream is the store-agnostic run-streaming seam (ADR-053): one Source per store delivers BOTH the structured event timeline and the raw log bytes of any run — persisted replay first, then live tail, gap-free — so the run-console WS layer never branches on how a run was produced (in-process launch, detached subprocess, external daemon, cross-store, cloud runner pod).
|
Package runstream is the store-agnostic run-streaming seam (ADR-053): one Source per store delivers BOTH the structured event timeline and the raw log bytes of any run — persisted replay first, then live tail, gap-free — so the run-console WS layer never branches on how a run was produced (in-process launch, detached subprocess, external daemon, cross-store, cloud runner pod). |
|
sandbox
Package sandbox defines the iterion sandboxing abstraction.
|
Package sandbox defines the iterion sandboxing abstraction. |
|
sandbox/devcontainer
Package devcontainer parses the subset of devcontainer.json fields iterion's sandbox driver consumes.
|
Package devcontainer parses the subset of devcontainer.json fields iterion's sandbox driver consumes. |
|
sandbox/docker
Package docker implements the Docker/Podman sandbox driver.
|
Package docker implements the Docker/Podman sandbox driver. |
|
sandbox/kubernetes
Package kubernetes implements iterion's sandbox driver for cloud (in-cluster) deployments.
|
Package kubernetes implements iterion's sandbox driver for cloud (in-cluster) deployments. |
|
sandbox/netproxy
Package netproxy implements iterion's HTTP CONNECT proxy that enforces the workflow's sandbox network policy.
|
Package netproxy implements iterion's HTTP CONNECT proxy that enforces the workflow's sandbox network policy. |
|
sandbox/noop
Package noop provides the always-available passthrough sandbox driver.
|
Package noop provides the always-available passthrough sandbox driver. |
|
sandbox/registry
Package registry centralises the iterion-shipped sandbox-driver constructor list.
|
Package registry centralises the iterion-shipped sandbox-driver constructor list. |
|
schedgate
Package schedgate is the shared "should this scheduled bot fire now?" gate used by all three scheduled-launch paths: pkg/cli/schedule (host crontab), pkg/trigger.Scheduler (in-process spine), and pkg/cloudsched (multi-replica cloud ticker).
|
Package schedgate is the shared "should this scheduled bot fire now?" gate used by all three scheduled-launch paths: pkg/cli/schedule (host crontab), pkg/trigger.Scheduler (in-process spine), and pkg/cloudsched (multi-replica cloud ticker). |
|
secrets
Package secrets seals and unseals sensitive values (BYOK API keys, OAuth credentials, OIDC client secrets) at rest.
|
Package secrets seals and unseals sensitive values (BYOK API keys, OAuth credentials, OIDC client secrets) at rest. |
|
secure/httpdial
Package httpdial is the single source of truth for iterion's SSRF guard: resolving an operator/admin-supplied host to a safe IP and dialing only that pinned IP (DNS-rebinding-proof).
|
Package httpdial is the single source of truth for iterion's SSRF guard: resolving an operator/admin-supplied host to a safe IP and dialing only that pinned IP (DNS-rebinding-proof). |
|
server
Package server provides an HTTP API for the iterion studio.
|
Package server provides an HTTP API for the iterion studio. |
|
server/cloudpublisher
Package cloudpublisher wires runview.LaunchPublisher on top of NATS + Mongo so the cloud-mode `iterion server` can hand work off to the runner pool instead of executing in-process.
|
Package cloudpublisher wires runview.LaunchPublisher on top of NATS + Mongo so the cloud-mode `iterion server` can hand work off to the runner pool instead of executing in-process. |
|
server/projects
Package projects manages the studio's per-user project registry.
|
Package projects manages the studio's per-user project registry. |
|
sessionboard
Package sessionboard models the per-run "Session board": a small, declarative dashboard the studio renders on a run's Tasks tab.
|
Package sessionboard models the per-run "Session board": a small, declarative dashboard the studio renders on a run's Tasks tab. |
|
skilllib
Package skilllib implements iterion's first-class skill library: a standalone, operator-curated store of Claude-Code-style SKILL.md skills, stored globally (~/.iterion/skills/) with an optional per-project override, and referenced from workflows via the DSL `skills:` field.
|
Package skilllib implements iterion's first-class skill library: a standalone, operator-curated store of Claude-Code-style SKILL.md skills, stored globally (~/.iterion/skills/) with an optional per-project override, and referenced from workflows via the DSL `skills:` field. |
|
store
Package store implements the file-backed persistence layer for iterion runs.
|
Package store implements the file-backed persistence layer for iterion runs. |
|
store/blob
Package blob defines the artifact-blob interface implemented by S3 (cloud) and (potentially) a local filesystem variant for testing.
|
Package blob defines the artifact-blob interface implemented by S3 (cloud) and (potentially) a local filesystem variant for testing. |
|
store/mongo
Package mongo implements the cloud-mode RunStore on top of MongoDB for run metadata + events + interactions, paired with an external blob.Client (S3) for artifact bodies.
|
Package mongo implements the cloud-mode RunStore on top of MongoDB for run metadata + events + interactions, paired with an external blob.Client (S3) for artifact bodies. |
|
store/storetest
Package storetest exposes the conformance suite that every store.RunStore backend must satisfy.
|
Package storetest exposes the conformance suite that every store.RunStore backend must satisfy. |
|
supervise
Package supervise implements LLM-driven supervisor agents that watch a running iterion workflow from a separate goroutine/process and enqueue steering messages the supervised run picks up at its next turn — like a human watching a Claude Code session and typing.
|
Package supervise implements LLM-driven supervisor agents that watch a running iterion workflow from a separate goroutine/process and enqueue steering messages the supervised run picks up at its next turn — like a human watching a Claude Code session and typing. |
|
trigger
Package trigger is the unifying spine for event-driven runs.
|
Package trigger is the unifying spine for event-driven runs. |
|
usernotify
Package usernotify delivers user-addressed notifications for run lifecycle moments — a run pausing on a human form, finishing, failing — to per-user channels (web push first; OS notifications for the desktop app and email are future sinks).
|
Package usernotify delivers user-addressed notifications for run lifecycle moments — a run pausing on a human form, finishing, failing — to per-user channels (web push first; OS notifications for the desktop app and email are future sinks). |
|
usernotify/webpush
Package webpush is the Web Push (RFC 8030 + VAPID) usernotify.Sink: it delivers a Notification to every browser PushSubscription registered by each recipient, via the browsers' push services.
|
Package webpush is the Web Push (RFC 8030 + VAPID) usernotify.Sink: it delivers a Notification to every browser PushSubscription registered by each recipient, via the browsers' push services. |
|
valkey
Package valkey wraps a go-redis client used to share ephemeral server state across replicas (forge OAuth/CSRF state, board-MCP run tokens, auth rate-limit buckets).
|
Package valkey wraps a go-redis client used to share ephemeral server state across replicas (forge OAuth/CSRF state, board-MCP run tokens, auth rate-limit buckets). |
|
webhooks
Package webhooks is iterion's inbound-webhook spine: long-lived, per-org webhook tokens that authenticate an external caller (a forge, CI, a script) and authorize it to launch a configured set of bots.
|
Package webhooks is iterion's inbound-webhook spine: long-lived, per-org webhook tokens that authenticate an external caller (a forge, CI, a script) and authorize it to launch a configured set of bots. |
|
webhooks/generic
Package generic decodes the bot-agnostic JSON shape iterion accepts on /api/webhooks/generic/{id}.
|
Package generic decodes the bot-agnostic JSON shape iterion accepts on /api/webhooks/generic/{id}. |
|
webhooks/gitlab
Package gitlab decodes GitLab webhook payloads into the narrow, normalized shape iterion's inbound handler consumes.
|
Package gitlab decodes GitLab webhook payloads into the narrow, normalized shape iterion's inbound handler consumes. |
|
webhooks/prforge
Package prforge decodes pull_request webhook payloads from PR-over-forge providers — GitHub and Forgejo/Gitea — which share the same wire shape for the pull_request event.
|
Package prforge decodes pull_request webhook payloads from PR-over-forge providers — GitHub and Forgejo/Gitea — which share the same wire shape for the pull_request event. |
Click to show internal directories.
Click to hide internal directories.