Versions in this module Expand all Collapse all v0 v0.4.1 Nov 2, 2026 v0.4.0 Oct 31, 2026 Changes in this version + const BundleExtension + const ChangeCreated + const ChangeModified + const ChangeRemoved + const ChangeRescan + const StoredExample + const StoredSaved + const TrashFlow + const TrashRequest + var ErrInvalidServeOptions = errors.New("invalid serve options") + var ErrNoKeptSpec = errors.New("the collection keeps no spec of that name") + var ErrNotDraft = errors.New("the collection is not a draft") + var ErrNotFromSpec = errors.New("the request was not imported from a spec kept in the collection") + var ErrShutdownTimeout = errors.New("requests or runs were still going at the shutdown timeout and were cancelled") + var ErrStoredKind = errors.New("a stored response is saved or an example") + var ErrWorkspaceName = errors.New("a workspace needs a name") + func ApplyChanges(changes []FileChange) error + func BlocksRewrite(d diag.Diagnostic) bool + func CheckExampleName(name string) error + func FetchImportSource(ctx context.Context, rawURL string) (data []byte, name string, err error) + func IsArazzoRef(ref string) bool + func IsBundleRef(ref string) bool + func IsImportURL(ref string) bool + func NewOverlayText() string + func OverlayUses(ov model.Overlay) []string + func ParseRequest(data []byte, name string) (model.Request, diag.List) + func UserSettings(p settings.Paths, environ []string, flags settings.LayerValues) (settings.Resolved, diag.List, error) + func UserSettingsFile(p settings.Paths) string + type AccessAttempt struct + Identity string + Status int + Verdict AccessVerdict + type AccessOptions struct + Env string + Inputs map[string]string + Others []string + Owner string + Seed uint64 + Steps []string + type AccessReport struct + Flow string + Owner string + Steps []AccessStep + func (r AccessReport) Exposed() bool + type AccessStep struct + Attempts []AccessAttempt + ID string + Owner int + type AccessVerdict string + const AccessAllowed + const AccessDenied + const AccessUnclear + type ApplyOptions struct + Overwrite bool + SkipExisting bool + type ArazzoDoc struct + Diags diag.List + Env string + Flows []FlowTarget + func (d *ArazzoDoc) Close() + type BlueprintTarget struct + Blueprint model.ID + Collection model.ID + type Breakage struct + Consumer analysis.Consumer + Request string + Version string + type BundleManifest = bundle.Manifest + type BundleRun struct + Manifest BundleManifest + Options RunOptions + Original engine.RunResult + Target FlowTarget + func (b *BundleRun) Close() + type Change = store.Change + type Completion struct + Detail string + Text string + type CookieInfo struct + Domain string + Expires time.Time + HTTPOnly bool + Key string + Name string + Path string + Secure bool + Value string + type DriftOptions struct + Env string + Inputs map[string]string + Seed uint64 + type DriftReport struct + Flow string + Requests []RequestDrift + RunStatus engine.Status + func (r DriftReport) Has(kinds ...schemainfer.DriftKind) bool + type ExportNote struct + Request string + What string + Why string + type FileChange = store.FileChange + type FlowTarget struct + Collection model.ID + Flow model.ID + type FlowText struct + File string + Flow string + type GeneratedGRPC struct + Created []RequestTarget + Skipped []string + type ImportKind string + const ImportArazzo + const ImportAsyncAPI + const ImportBruno + const ImportCurl + const ImportHAR + const ImportHTTP + const ImportHoppscotch + const ImportInsomnia + const ImportMermaid + const ImportOpenAPI + const ImportOpenRPC + const ImportPostman + const ImportProto + const ImportThunderClient + type ImportPlan struct + Collection model.ID + Diags diag.List + Files []PlannedFile + Items []importers.Item + type ImportSource struct + Data []byte + Dir string + Kind ImportKind + Name string + Overlays [][]byte + RefDir string + type KeptSpec struct + Edits string + File string + Name string + Overlays []string + Rel string + func (k KeptSpec) FilesDir() string + type NodeParam struct + Doc string + Enum []string + Kind string + Max int64 + Min int64 + Name string + Required bool + type NodeSpec struct + Group string + MapForm bool + Params []NodeParam + Summary string + Type string + Typed []string + func NodeCatalog() []NodeSpec + func (s NodeSpec) Param(name string) (NodeParam, bool) + type OverlayChange struct + Remove bool + Saved bool + Target string + Update any + What string + type OverlayDiff struct + Ops []model.OverlayOp + Unsupported []string + type OverlayExport struct + Documents []SpecOverlayDocument + NotCarried []ExportNote + type OverlayField struct + File string + Key string + Section string + type OverlayNote struct + What string + Why string + type OverlayPlan struct + Changes []OverlayChange + Label string + NotCarried []OverlayNote + Operation string + Request string + Spec KeptSpec + func (p OverlayPlan) YAML(chosen []int) (string, error) + type PlannedFile struct + Exists bool + File string + Rel string + Remove bool + Same bool + Workspace bool + type RequestDrift struct + Differences []schemainfer.Difference + NoSchema bool + Request string + Status int + Version string + type RequestTarget struct + Collection model.ID + Request model.ID + type RunDetail struct + ID string + Outputs map[string]map[string]any + Vars map[string]any + type RunNodeSummary struct + Duration time.Duration + ID string + Name string + Status string + Type string + type RunOptions struct + Env string + Grace time.Duration + Inputs map[string]string + Only []string + Overlay string + PreferVersion string + Prior map[string]map[string]any + PriorVars map[string]any + Secrets map[string]string + Seed uint64 + Skip []string + SkipSchemas bool + Transport http.RoundTripper + type RunSummary struct + Duration time.Duration + Env string + File string + ID string + Nodes []RunNodeSummary + Seed uint64 + Started time.Time + Status string + type SaveOptions struct + DropComments bool + type SaveOverlayInput struct + Base string + Description string + Edited model.RequestVersion + Name string + Shared []int + type SchemaChange struct + Change schemainfer.Change + Part SchemaPart + type SchemaPart struct + Kind string + Status int + type SchemaSource string + const SchemaInferred + const SchemaOpenAPI + const SchemaUser + type Scope struct + Collection model.ID + Folder string + type SecretInfo struct + Environment string + Name string + Override bool + Set bool + type SendOptions struct + Env string + Hooks model.HookControl + Overlay string + OverlayLabel string + PreferVersion string + Save string + Seed uint64 + UseEdit bool + Version string + With map[string]string + type ServeOptions struct + CORS bool + Faults replay.Faults + Latency time.Duration + Logger *slog.Logger + MaxRuns int + NoReplay bool + NoSchedules bool + NoTriggers bool + Now func() time.Time + Record string + RecordHAR string + RecordTo string + ReplayAddr string + Sequence bool + ShutdownTimeout time.Duration + Sleep func(ctx context.Context, d time.Duration) error + TrafficLog int + TriggerAddr string + ValkeyAddr string + ValkeyTLS bool + type Server struct + func (s *Server) Notes() []string + func (s *Server) ReplayAddr() string + func (s *Server) Traffic() *replay.Log + func (s *Server) TriggerAddr() string + func (s *Server) Upcoming() []scheduler.Upcoming + func (s *Server) Wait() error + type SpecImpact struct + Breakages []Breakage + Spec string + func (s SpecImpact) Broken() bool + type SpecOrigin struct + Fields []OverlayField + Name string + Spec string + type SpecOverlayDocument struct + Requests []string + Spec KeptSpec + YAML string + type StoredResponse struct + At time.Time + Kind string + Name string + Size int64 + Status int + Version string + type TrashedItem struct + Files []string + ID string + Kind string + Name string + Path string + TrashedAt time.Time + type Workspace struct + func OpenWorkspace(ctx context.Context, o WorkspaceOptions) (*Workspace, diag.List, error) + func (w *Workspace) AddSchedule(s model.Schedule) error + func (w *Workspace) Announcements(ctx context.Context, refresh bool) (announce.Result, error) + func (w *Workspace) ApplyImport(p ImportPlan, o ApplyOptions) error + func (w *Workspace) ApplyOverlay(t RequestTarget, name string, v model.RequestVersion) (model.RequestVersion, []flowioverlay.Problem, error) + func (w *Workspace) ApplySpecOverlay(p OverlayPlan, chosen []int) error + func (w *Workspace) Blueprint(t BlueprintTarget) (model.Blueprint, error) + func (w *Workspace) CheckAccess(ctx context.Context, t FlowTarget, o AccessOptions) (AccessReport, error) + func (w *Workspace) CheckDrift(ctx context.Context, t FlowTarget, o DriftOptions) (DriftReport, error) + func (w *Workspace) CheckFlowDraft(t FlowTarget, f model.Flow) diag.List + func (w *Workspace) CheckSecret(env, name string) error + func (w *Workspace) CheckSkips(t FlowTarget, skip []string) (diag.List, error) + func (w *Workspace) ClearCookies(collection string) error + func (w *Workspace) CollectionEnvironments(collection model.ID) ([]model.Environment, diag.List, error) + func (w *Workspace) CollectionVariables(collection model.ID) ([]model.KeyValue, error) + func (w *Workspace) Collections() []model.Collection + func (w *Workspace) Completions(t FlowTarget, nodePath string) ([]Completion, error) + func (w *Workspace) CompletionsIn(collection model.ID, f model.Flow, nodePath string) ([]Completion, error) + func (w *Workspace) Cookies(collection string) ([]CookieInfo, error) + func (w *Workspace) Coverage(collection model.ID) (analysis.Coverage, diag.List, error) + func (w *Workspace) CreateBlueprint(flow FlowTarget, path, name string) (BlueprintTarget, error) + func (w *Workspace) CreateHookBlueprint(collection model.ID, path, name, phase string, nodes []model.Node) (BlueprintTarget, error) + func (w *Workspace) DataDir(collection model.ID) string + func (w *Workspace) DeleteBlueprint(t BlueprintTarget) error + func (w *Workspace) DeleteCookie(collection, key string) error + func (w *Workspace) DeleteEnvironment(file string) error + func (w *Workspace) DeleteFlow(t FlowTarget) error + func (w *Workspace) DeleteFolder(collection model.ID, tree, path string) error + func (w *Workspace) DeleteFromTrash(id string) error + func (w *Workspace) DeleteOverlay(collection model.ID, name string) error + func (w *Workspace) DeleteRequest(t RequestTarget) error + func (w *Workspace) DeleteSchema(t RequestTarget, version string, part SchemaPart) error + func (w *Workspace) DeleteStoredResponse(t RequestTarget, kind, version, name string) error + func (w *Workspace) DiffForOverlay(t RequestTarget, base string, edited model.RequestVersion) (OverlayDiff, error) + func (w *Workspace) DiscardDraft(id model.ID) error + func (w *Workspace) DiscardEdit(t RequestTarget, o SaveOptions) error + func (w *Workspace) DiscardSecret(env, name string) error + func (w *Workspace) DuplicateFlow(t FlowTarget, path string) (FlowTarget, error) + func (w *Workspace) DuplicateRequest(t RequestTarget, path string) (RequestTarget, error) + func (w *Workspace) DuplicateRequestTo(t RequestTarget, to model.ID, path string) (RequestTarget, error) + func (w *Workspace) EmptyTrash() error + func (w *Workspace) Environments() []model.Environment + func (w *Workspace) ExportArazzo(t FlowTarget) ([]byte, diag.List, error) + func (w *Workspace) ExportMermaid(t FlowTarget) (string, error) + func (w *Workspace) ExportOverlayAsSpec(collection model.ID, name string) (OverlayExport, error) + func (w *Workspace) FindBlueprint(ref, collection string) (BlueprintTarget, error) + func (w *Workspace) FindCollection(ref string) (model.ID, error) + func (w *Workspace) FindFlow(ref, collection string) (FlowTarget, error) + func (w *Workspace) FindFlowsTagged(tag, collection string) ([]FlowTarget, error) + func (w *Workspace) FindRequest(ref, collection string) (RequestTarget, error) + func (w *Workspace) FlowCompatibility(t FlowTarget) diag.List + func (w *Workspace) FlowLayout(t FlowTarget) (model.Layout, diag.List, error) + func (w *Workspace) FlowRunDetail(t FlowTarget, id string) (RunDetail, error) + func (w *Workspace) FlowRuns(t FlowTarget, limit int) []RunSummary + func (w *Workspace) FlowSource(t FlowTarget, f model.Flow) (FlowText, error) + func (w *Workspace) Folder() string + func (w *Workspace) Format(dir string) (changes []FileChange, blocked diag.List, err error) + func (w *Workspace) GRPCMethods(ctx context.Context, t RequestTarget, v model.RequestVersion, o SendOptions) ([]grpcx.Method, error) + func (w *Workspace) GenerateGRPCRequests(collection model.ID, base model.GRPC, methods []grpcx.Method) (GeneratedGRPC, error) + func (w *Workspace) HasTriggerToken() (bool, error) + func (w *Workspace) Impact(t RequestTarget, version string) (analysis.Report, diag.List, error) + func (w *Workspace) ImpactAgainst(collection model.ID, name string, spec []byte) (SpecImpact, diag.List, error) + func (w *Workspace) InitCollection(dir, name string, mount bool) (model.Manifest, error) + func (w *Workspace) IsDraft(id model.ID) bool + func (w *Workspace) IsReplayCollection(id model.ID) bool + func (w *Workspace) KeepArazzo(ctx context.Context, ref string) (*ArazzoDoc, error) + func (w *Workspace) KeepBundle(data []byte) (*BundleRun, error) + func (w *Workspace) KeepFlowEdits(t FlowTarget, f model.Flow) error + func (w *Workspace) KeptFlowEdits(t FlowTarget) (text string, ok bool, err error) + func (w *Workspace) KeptSpecs(collection model.ID) ([]KeptSpec, error) + func (w *Workspace) LastResponse(t RequestTarget, version string) (rec engine.Record, ok bool) + func (w *Workspace) LearnSchemas(t RequestTarget, version string, rec engine.Record) ([]SchemaChange, error) + func (w *Workspace) ListSchemas(t RequestTarget, version string) []SchemaPart + func (w *Workspace) ListTrash() ([]TrashedItem, error) + func (w *Workspace) Missing() []model.ID + func (w *Workspace) Model() model.Workspace + func (w *Workspace) Mount(dir string) (model.Manifest, error) + func (w *Workspace) MoveFolder(collection model.ID, tree, from, to string) error + func (w *Workspace) MoveRequest(t RequestTarget, to model.ID, path string) (RequestTarget, error) + func (w *Workspace) NewAsyncRequest(collection model.ID, path, protocol string) (RequestTarget, error) + func (w *Workspace) NewDatasetRequest(collection model.ID, path, driver string) (RequestTarget, error) + func (w *Workspace) NewDraft(name string) (model.Manifest, error) + func (w *Workspace) NewEnvironment(name string) (string, error) + func (w *Workspace) NewFlow(collection model.ID, path string) (FlowTarget, error) + func (w *Workspace) NewFlowFromBlueprint(t BlueprintTarget, collection model.ID, path string, values map[string]string) (FlowTarget, error) + func (w *Workspace) NewFolder(collection model.ID, tree, path string) error + func (w *Workspace) NewGRPCRequest(collection model.ID, path string) (RequestTarget, error) + func (w *Workspace) NewRequest(collection model.ID, path string) (RequestTarget, error) + func (w *Workspace) NewScratchRequest() (RequestTarget, error) + func (w *Workspace) NewTriggerToken() (string, error) + func (w *Workspace) NewUntitledFlow(collection model.ID) (FlowTarget, error) + func (w *Workspace) OpenArazzo(ctx context.Context, ref string) (*ArazzoDoc, error) + func (w *Workspace) OpenBundle(data []byte) (*BundleRun, error) + func (w *Workspace) Overlay(collection model.ID, name string) (model.Overlay, error) + func (w *Workspace) OverlayText(collection model.ID, name string) (string, error) + func (w *Workspace) Overlays(collection model.ID) ([]model.Overlay, error) + func (w *Workspace) ParseFlowSource(t FlowTarget, text string) (model.Flow, diag.List, error) + func (w *Workspace) PinExample(rec engine.Record, name string) (string, error) + func (w *Workspace) PreviewImport(kind ImportKind, data []byte, collection model.ID) (ImportPlan, error) + func (w *Workspace) PreviewImportNew(kind ImportKind, data []byte, dir string) (ImportPlan, error) + func (w *Workspace) PreviewImportSource(src ImportSource, collection model.ID) (ImportPlan, error) + func (w *Workspace) PreviewImportSourceNew(src ImportSource, dir string) (ImportPlan, error) + func (w *Workspace) PreviewRequest(t RequestTarget, v model.RequestVersion, o SendOptions, includeSecrets bool) (engine.Preview, error) + func (w *Workspace) PreviewSpecOverlay(t RequestTarget, v model.RequestVersion) (OverlayPlan, error) + func (w *Workspace) PreviewSpecUpdate(collection model.ID, name string, data []byte) (ImportPlan, error) + func (w *Workspace) PromoteEdit(t RequestTarget, asLabel string, o SaveOptions) error + func (w *Workspace) RegenerateDescription(collection model.ID) error + func (w *Workspace) Reload(ch Change) (diag.List, error) + func (w *Workspace) Relocate(id model.ID, dir string) error + func (w *Workspace) RemoveSchedule(name string) error + func (w *Workspace) Rename(name string) error + func (w *Workspace) ReplaceSchema(t RequestTarget, version string, part SchemaPart, s schemainfer.Schema) error + func (w *Workspace) ResetSetting(layer settings.Layer, key string) error + func (w *Workspace) ResolveCollection(name string) (model.Manifest, error) + func (w *Workspace) ResolveSchedule(s model.Schedule) (FlowTarget, error) + func (w *Workspace) ResponseFields(t RequestTarget, version string) ([]Completion, error) + func (w *Workspace) RestoreFromTrash(id string) (string, error) + func (w *Workspace) RevealSecret(env, name string) (string, error) + func (w *Workspace) RunFlow(ctx context.Context, t FlowTarget, o RunOptions) (*engine.Run, error) + func (w *Workspace) SaveAsOverlay(t RequestTarget, in SaveOverlayInput, o SaveOptions) error + func (w *Workspace) SaveDraft(id model.ID, dir string) error + func (w *Workspace) SaveEnvironment(e model.Environment, o SaveOptions) error + func (w *Workspace) SaveFlow(t FlowTarget, f model.Flow, o SaveOptions) error + func (w *Workspace) SaveFlowLayout(t FlowTarget, l model.Layout) error + func (w *Workspace) SaveRequest(t RequestTarget, r model.Request, o SaveOptions) error + func (w *Workspace) SaveSchedule(old string, s model.Schedule) error + func (w *Workspace) Schedules() []model.Schedule + func (w *Workspace) SchemaFor(t RequestTarget, version string, part SchemaPart) (schemainfer.Schema, SchemaSource, bool) + func (w *Workspace) Scratch() (model.Manifest, error) + func (w *Workspace) Secrets() ([]SecretInfo, error) + func (w *Workspace) SeedRequestHooks(t RequestTarget) error + func (w *Workspace) SendRequest(ctx context.Context, t RequestTarget, o SendOptions) (*engine.Send, error) + func (w *Workspace) Serve(ctx context.Context, o ServeOptions) (*Server, error) + func (w *Workspace) ServeDefaults() ServeOptions + func (w *Workspace) SessionDir() string + func (w *Workspace) SetCollectionVariables(collection model.ID, vars []model.KeyValue, o SaveOptions) error + func (w *Workspace) SetFolderOrder(collection model.ID, tree, dir string, order []string, o SaveOptions) error + func (w *Workspace) SetSecret(env, name, value string) error + func (w *Workspace) SetSetting(layer settings.Layer, key, raw string) error + func (w *Workspace) SetValkeyPassword(password string) error + func (w *Workspace) Settings(s Scope) settings.Resolved + func (w *Workspace) SpecOrigin(t RequestTarget, label string) (SpecOrigin, error) + func (w *Workspace) StoreEdit(t RequestTarget, base string, v model.RequestVersion, o SaveOptions) error + func (w *Workspace) StoreEditUnder(t RequestTarget, base, overlay string, v model.RequestVersion, o SaveOptions) error + func (w *Workspace) StoredRecord(t RequestTarget, version, name string) (engine.Record, error) + func (w *Workspace) StoredResponses(t RequestTarget) ([]StoredResponse, error) + func (w *Workspace) TrashStaleDrafts(olderThan time.Duration, open func(kind string, id model.ID) bool) ([]TrashedItem, error) + func (w *Workspace) TriggerToken() (token string, ok bool, err error) + func (w *Workspace) Unmount(id model.ID) error + func (w *Workspace) UnsetSecret(env, name string) error + func (w *Workspace) Validate() diag.List + func (w *Workspace) ValidateDir(dir string) (diag.List, error) + func (w *Workspace) ValkeyPassword() (password string, ok bool, err error) + func (w *Workspace) Watch(ctx context.Context) (<-chan Change, error) + func (w *Workspace) WriteBundle(out io.Writer, t FlowTarget, o RunOptions, res engine.RunResult) error + func (w *Workspace) WriteOverlay(collection model.ID, ov model.Overlay, o SaveOptions) error + func (w *Workspace) WriteOverlayText(collection model.ID, name, text string) error + type WorkspaceOptions struct + Environ []string + Flags settings.LayerValues + Home string + Keys vault.KeyStore + Name string + Observe func(engine.Event) + Passphrase func() (string, error) + Paths settings.Paths + Traceparent func(runID, path string) string + UserAgent string