Directories
¶
| Path | Synopsis |
|---|---|
|
api
|
|
|
cmd/services/auth
command
|
|
|
cmd/services/auth/build/all
Package all binds all the routes into the specified app.
|
Package all binds all the routes into the specified app. |
|
cmd/services/ichor
command
|
|
|
cmd/services/ichor/build/all
Package all binds all the routes into the specified app.
|
Package all binds all the routes into the specified app. |
|
cmd/services/ichor/build/crud
Package crud binds the crud domain set of routes into the specified app.
|
Package crud binds the crud domain set of routes into the specified app. |
|
cmd/services/ichor/build/reporting
Package reporting binds the reporting domain set of routes into the specified app.
|
Package reporting binds the reporting domain set of routes into the specified app. |
|
cmd/services/metrics
command
|
|
|
cmd/services/metrics/collector
Package collector is a simple collector for
|
Package collector is a simple collector for |
|
cmd/services/metrics/publisher
Package publisher manages the publishing of metrics.
|
Package publisher manages the publishing of metrics. |
|
cmd/services/metrics/publisher/datadog
Package datadog provides support for publishing metrics to DD.
|
Package datadog provides support for publishing metrics to DD. |
|
cmd/services/metrics/publisher/expvar
Package expvar manages the publishing of metrics to stdout.
|
Package expvar manages the publishing of metrics to stdout. |
|
cmd/services/metrics/publisher/prometheus
Package prometheus provides suppoert for sending metrics to prometheus.
|
Package prometheus provides suppoert for sending metrics to prometheus. |
|
cmd/services/workflow-worker
command
Package main is the entry point for the workflow-worker service.
|
Package main is the entry point for the workflow-worker service. |
|
cmd/tooling/admin
command
This program performs administrative tasks for the garage sale service.
|
This program performs administrative tasks for the garage sale service. |
|
cmd/tooling/admin/commands
Package commands contains the functionality for the set of commands currently supported by the CLI tooling.
|
Package commands contains the functionality for the set of commands currently supported by the CLI tooling. |
|
cmd/tooling/logfmt
command
This program takes the structured log output and makes it readable.
|
This program takes the structured log output and makes it readable. |
|
domain/http/agentapi/catalogapi
Package catalogapi provides a single discovery endpoint that tells agents what configuration surfaces are available in the system, with links to CRUD endpoints, discovery endpoints, and constraint summaries.
|
Package catalogapi provides a single discovery endpoint that tells agents what configuration surfaces are available in the system, with links to CRUD endpoints, discovery endpoints, and constraint summaries. |
|
domain/http/agentapi/chatapi
Package chatapi provides the POST /v1/agent/chat SSE endpoint that lets an LLM agent interact with the Ichor workflow system on behalf of an authenticated user.
|
Package chatapi provides the POST /v1/agent/chat SSE endpoint that lets an LLM agent interact with the Ichor workflow system on behalf of an authenticated user. |
|
domain/http/authapi
Package authapi maintains the web based api for auth access.
|
Package authapi maintains the web based api for auth access. |
|
domain/http/checkapi
Package checkapi maintains the web based api for system access.
|
Package checkapi maintains the web based api for system access. |
|
domain/http/config/configschemaapi
Package configschemaapi provides HTTP endpoints for config JSONB schema discovery.
|
Package configschemaapi provides HTTP endpoints for config JSONB schema discovery. |
|
domain/http/config/formfieldschemaapi
Package formfieldschemaapi provides HTTP endpoints for form field type discovery.
|
Package formfieldschemaapi provides HTTP endpoints for form field type discovery. |
|
domain/http/core/userapi
Package userapi maintains the web based api for user access.
|
Package userapi maintains the web based api for user access. |
|
domain/http/hr/homeapi
Package homeapi maintains the web based api for home access.
|
Package homeapi maintains the web based api for home access. |
|
domain/http/labels/labelapi
Package labelapi exposes HTTP routes for the label subsystem: CRUD on the catalog, catalog print, transaction-label render+print, and a type-filtered list query.
|
Package labelapi exposes HTTP routes for the label subsystem: CRUD on the catalog, catalog print, transaction-label render+print, and a type-filtered list query. |
|
domain/http/oauthapi
Package oauthapi maintains the web based api for oauth support.
|
Package oauthapi maintains the web based api for oauth support. |
|
domain/http/paperwork/paperworkapi
Package paperworkapi maintains the web-based API for paperwork.
|
Package paperworkapi maintains the web-based API for paperwork. |
|
domain/http/rawapi
Package rawapi provides an example of using a raw handler.
|
Package rawapi provides an example of using a raw handler. |
|
domain/http/scenarios/scenarioapi
Package scenarioapi exposes HTTP routes for the scenario subsystem: CRUD on scenarios, active scenario query, Load (swap), and Reset.
|
Package scenarioapi exposes HTTP routes for the scenario subsystem: CRUD on scenarios, active scenario query, Load (swap), and Reset. |
|
domain/http/workflow/actionapi
Package actionapi provides HTTP handlers for manual workflow action execution.
|
Package actionapi provides HTTP handlers for manual workflow action execution. |
|
domain/http/workflow/alertapi
Package alertapi provides HTTP handlers for workflow alerts.
|
Package alertapi provides HTTP handlers for workflow alerts. |
|
domain/http/workflow/alertws
Package alertws provides WebSocket endpoints for real-time alert delivery.
|
Package alertws provides WebSocket endpoints for real-time alert delivery. |
|
domain/http/workflow/approvalapi
Package approvalapi provides HTTP handlers for workflow approval requests.
|
Package approvalapi provides HTTP handlers for workflow approval requests. |
|
domain/http/workflow/edgeapi
Package edgeapi provides HTTP handlers for workflow action edge CRUD operations.
|
Package edgeapi provides HTTP handlers for workflow action edge CRUD operations. |
|
domain/http/workflow/executionapi
Package executionapi provides HTTP handlers for workflow execution history endpoints.
|
Package executionapi provides HTTP handlers for workflow execution history endpoints. |
|
domain/http/workflow/notificationsapi
Package notificationsapi provides the HTTP handler for the notifications summary endpoint.
|
Package notificationsapi provides the HTTP handler for the notifications summary endpoint. |
|
domain/http/workflow/referenceapi
Package referenceapi provides HTTP layer endpoints for workflow reference data.
|
Package referenceapi provides HTTP layer endpoints for workflow reference data. |
|
domain/http/workflow/ruleapi
Package ruleapi provides HTTP layer models and utilities for workflow automation rule CRUD operations.
|
Package ruleapi provides HTTP layer models and utilities for workflow automation rule CRUD operations. |
|
domain/http/workflow/workflowsaveapi
Package workflowsaveapi provides HTTP handlers for transactional workflow save operations.
|
Package workflowsaveapi provides HTTP handlers for transactional workflow save operations. |
|
sdk/http/apitest
Package apitest provides support for excuting api test logic.
|
Package apitest provides support for excuting api test logic. |
|
sdk/http/debug
Package debug provides handler support for the debugging endpoints.
|
Package debug provides handler support for the debugging endpoints. |
|
sdk/http/mid
Package mid contains the set of values the middleware handlers for using the http protocol.
|
Package mid contains the set of values the middleware handlers for using the http protocol. |
|
sdk/http/mux
Package mux provides support to bind domain level routes to the application mux.
|
Package mux provides support to bind domain level routes to the application mux. |
|
app
|
|
|
domain/checkapp
Package checkapp maintains the app layer api for the check domain.
|
Package checkapp maintains the app layer api for the check domain. |
|
domain/core/userapp
Package userapp maintains the app layer api for the user domain.
|
Package userapp maintains the app layer api for the user domain. |
|
domain/dataapp
Package data maintains the app layer api for the tablebuilder domain.
|
Package data maintains the app layer api for the tablebuilder domain. |
|
domain/floor/directedworkapp
Package directedworkapp provides the application logic for the floor directed-work feature.
|
Package directedworkapp provides the application logic for the floor directed-work feature. |
|
domain/formdata/formdataapp
Package formdataapp provides the app layer for dynamic form data operations.
|
Package formdataapp provides the app layer for dynamic form data operations. |
|
domain/hr/homeapp
Package homeapp maintains the app layer api for the home domain.
|
Package homeapp maintains the app layer api for the home domain. |
|
domain/inventory/scanapp
Package scanapp provides a scan resolver that maps a barcode to its inventory context.
|
Package scanapp provides a scan resolver that maps a barcode to its inventory context. |
|
domain/labels/labelapp
Package labelapp provides the app-layer orchestration for label catalog lookups, catalog printing (POST /v1/labels/print), and on-the-fly transaction-label printing (POST /v1/labels/render-print).
|
Package labelapp provides the app-layer orchestration for label catalog lookups, catalog printing (POST /v1/labels/print), and on-the-fly transaction-label printing (POST /v1/labels/render-print). |
|
domain/paperwork/paperworkapp
Package paperworkapp orchestrates cross-domain reads for paperwork rendering.
|
Package paperworkapp orchestrates cross-domain reads for paperwork rendering. |
|
domain/sales/pickingapp
Package pickingapp provides the application layer for warehouse picking operations.
|
Package pickingapp provides the application layer for warehouse picking operations. |
|
domain/scenarios/scenarioapp
Package scenarioapp provides the app-layer orchestration for scenario management: CRUD, active-scenario query, Load (swap scenario data), and Reset (re-apply current scenario).
|
Package scenarioapp provides the app-layer orchestration for scenario management: CRUD, active-scenario query, Load (swap scenario data), and Reset (re-apply current scenario). |
|
domain/workflow/actionapp
Package actionapp provides the application layer for manual action execution.
|
Package actionapp provides the application layer for manual action execution. |
|
domain/workflow/actionpermissionsapp
Package actionpermissionsapp provides the application layer for managing action permissions that control which roles can execute workflow actions manually.
|
Package actionpermissionsapp provides the application layer for managing action permissions that control which roles can execute workflow actions manually. |
|
domain/workflow/executionapp
Package executionapp provides the application layer for workflow execution operations.
|
Package executionapp provides the application layer for workflow execution operations. |
|
domain/workflow/ruleapp
Package ruleapp provides the application layer for automation-rule lifecycle operations whose business invariants must hold regardless of transport — today, the cascade-loop guard enforced when a rule is activated.
|
Package ruleapp provides the application layer for automation-rule lifecycle operations whose business invariants must hold regardless of transport — today, the cascade-loop guard enforced when a rule is activated. |
|
domain/workflow/workflowsaveapp
Package workflowsaveapp provides the application layer for transactional workflow save operations.
|
Package workflowsaveapp provides the application layer for transactional workflow save operations. |
|
sdk/apiconvention
Package apiconvention holds static, source-scanning guards that enforce cross-cutting API conventions documented in docs/layer-patterns.md.
|
Package apiconvention holds static, source-scanning guards that enforce cross-cutting API conventions documented in docs/layer-patterns.md. |
|
sdk/auth
Package auth provides authentication and authorization support.
|
Package auth provides authentication and authorization support. |
|
sdk/authclient
Package authclient provides support to access the auth service.
|
Package authclient provides support to access the auth service. |
|
sdk/errs
Package errs provides types and support related to web error functionality.
|
Package errs provides types and support related to web error functionality. |
|
sdk/formdataregistry
Package formdataregistry provides a registry for mapping entities to their CRUD operations.
|
Package formdataregistry provides a registry for mapping entities to their CRUD operations. |
|
sdk/metrics
Package metrics constructs the metrics the application will track.
|
Package metrics constructs the metrics the application will track. |
|
sdk/mid
Package mid provides app level middleware support.
|
Package mid provides app level middleware support. |
|
sdk/query
Package query provides support for query paging.
|
Package query provides support for query paging. |
|
business
|
|
|
domain/config/formbus
Package formbus provides business logic for form configuration management.
|
Package formbus provides business logic for form configuration management. |
|
domain/config/formfieldbus
Package formfieldbus provides business logic for form field configuration management.
|
Package formfieldbus provides business logic for form field configuration management. |
|
domain/config/pageactionbus
Package pageactionbus provides business logic for page action configuration management.
|
Package pageactionbus provides business logic for page action configuration management. |
|
domain/config/settingsbus/levers
Package levers owns the canonical list of scan-discipline lever keys and their SMB defaults.
|
Package levers owns the canonical list of scan-discipline lever keys and their SMB defaults. |
|
domain/config/settingsbus/stores/settingscache
Package settingscache wraps a settingsbus.Storer with an in-process snapshot cache.
|
Package settingscache wraps a settingsbus.Storer with an in-process snapshot cache. |
|
domain/core/userbus
Package userbus provides business access to user domain.
|
Package userbus provides business access to user domain. |
|
domain/core/userbus/stores/usercache
Package usercache contains user related CRUD functionality with caching.
|
Package usercache contains user related CRUD functionality with caching. |
|
domain/core/userbus/stores/userdb
Package userdb contains user related CRUD functionality.
|
Package userdb contains user related CRUD functionality. |
|
domain/hr/homebus
Package homebus provides business access to home domain.
|
Package homebus provides business access to home domain. |
|
domain/hr/homebus/stores/homedb
Package homedb contains home related CRUD functionality.
|
Package homedb contains home related CRUD functionality. |
|
domain/labels/labelbus
Package labelbus provides business access to label catalog and printing.
|
Package labelbus provides business access to label catalog and printing. |
|
domain/labels/labelbus/stores/labeldb
Package labeldb provides the Postgres implementation of labelbus.Storer.
|
Package labeldb provides the Postgres implementation of labelbus.Storer. |
|
domain/labels/labelbus/tcpprint
Package tcpprint writes ZPL bytes directly to a Zebra-compatible TCP printer on port 9100 (PDL-datastream).
|
Package tcpprint writes ZPL bytes directly to a Zebra-compatible TCP printer on port 9100 (PDL-datastream). |
|
domain/labels/labelbus/zpl
Package zpl contains ZPL template functions for printable labels.
|
Package zpl contains ZPL template functions for printable labels. |
|
domain/paperwork/pdf
Package pdf renders paperwork PDFs (pick sheets, receive covers, transfer sheets) for floor-worker workflows.
|
Package pdf renders paperwork PDFs (pick sheets, receive covers, transfer sheets) for floor-worker workflows. |
|
domain/sales/ordersbus/types
Package types provides value objects for the orders domain.
|
Package types provides value objects for the orders domain. |
|
domain/scenarios/scenariobus
Package scenariobus owns three tables — scenarios, scenario_fixtures, scenarios_active — as one aggregate.
|
Package scenariobus owns three tables — scenarios, scenario_fixtures, scenarios_active — as one aggregate. |
|
domain/scenarios/scenariobus/stores/scenariodb
Package scenariodb provides the Postgres implementation of scenariobus.Storer.
|
Package scenariodb provides the Postgres implementation of scenariobus.Storer. |
|
domain/scenarios/scenariobus/yamlload
Package yamlload parses and validates scenario fixture YAML files.
|
Package yamlload parses and validates scenario fixture YAML files. |
|
domain/workflow/actionpermissionsbus
Package actionpermissionsbus provides business logic for managing action permissions that control which roles can execute workflow actions manually.
|
Package actionpermissionsbus provides business logic for managing action permissions that control which roles can execute workflow actions manually. |
|
domain/workflow/actionpermissionsbus/stores/actionpermissionsdb
Package actionpermissionsdb provides database operations for workflow action permissions.
|
Package actionpermissionsdb provides database operations for workflow action permissions. |
|
domain/workflow/alertbus
Package alertbus provides the core business logic for workflow alerts.
|
Package alertbus provides the core business logic for workflow alerts. |
|
domain/workflow/alertbus/stores/alertdb
Package alertdb provides database operations for workflow alerts.
|
Package alertdb provides database operations for workflow alerts. |
|
domain/workflow/approvalrequestbus
Package approvalrequestbus provides business logic for workflow approval requests.
|
Package approvalrequestbus provides business logic for workflow approval requests. |
|
domain/workflow/approvalrequestbus/stores/approvalrequestdb
Package approvalrequestdb provides database operations for workflow approval requests.
|
Package approvalrequestdb provides database operations for workflow approval requests. |
|
sdk/agenttools
Package agenttools defines the tool catalog and executor that lets an LLM agent interact with the Ichor REST API.
|
Package agenttools defines the tool catalog and executor that lets an LLM agent interact with the Ichor REST API. |
|
sdk/calculations
Package calculations provides financial calculation utilities for order processing.
|
Package calculations provides financial calculation utilities for order processing. |
|
sdk/dbtest
Package dbtest contains supporting code for running tests that hit the DB.
|
Package dbtest contains supporting code for running tests that hit the DB. |
|
sdk/delegate
Package delegate provides the ability to make function calls between different domain packages when an import is not possible.
|
Package delegate provides the ability to make function calls between different domain packages when an import is not possible. |
|
sdk/llm
Package llm defines a vendor-neutral interface for large language model providers.
|
Package llm defines a vendor-neutral interface for large language model providers. |
|
sdk/llm/claude
Package claude implements the llm.Provider interface using the Anthropic SDK.
|
Package claude implements the llm.Provider interface using the Anthropic SDK. |
|
sdk/llm/gemini
Package gemini implements the llm.Provider interface using Google Gemini's OpenAI-compatible chat completions endpoint.
|
Package gemini implements the llm.Provider interface using Google Gemini's OpenAI-compatible chat completions endpoint. |
|
sdk/llm/ollama
Package ollama implements the llm.Provider interface using Ollama's OpenAI-compatible chat completions API.
|
Package ollama implements the llm.Provider interface using Ollama's OpenAI-compatible chat completions API. |
|
sdk/llm/openaicompat
Package openaicompat provides shared types and helpers for LLM providers that use the OpenAI-compatible chat completions API (e.g.
|
Package openaicompat provides shared types and helpers for LLM providers that use the OpenAI-compatible chat completions API (e.g. |
|
sdk/migrate
Package migrate contains the database schema, migrations and seeding data.
|
Package migrate contains the database schema, migrations and seeding data. |
|
sdk/order
Package order provides support for describing the ordering of data.
|
Package order provides support for describing the ordering of data. |
|
sdk/outbox
Package outbox implements the transactional outbox for cascade delegate events (F2).
|
Package outbox implements the transactional outbox for cascade delegate events (F2). |
|
sdk/page
Package page provides support for query paging.
|
Package page provides support for query paging. |
|
sdk/seedid
Package seedid provides deterministic UUID v5 derivation for test seed data.
|
Package seedid provides deterministic UUID v5 derivation for test seed data. |
|
sdk/sqldb
Package sqldb provides support for access the database.
|
Package sqldb provides support for access the database. |
|
sdk/sqldb/dbarray
Package dbarray provides support for database array types.
|
Package dbarray provides support for database array types. |
|
sdk/tablebuilder
Package tablebuilder provides chart data transformation logic
|
Package tablebuilder provides chart data transformation logic |
|
sdk/toolcatalog
Package toolcatalog provides a single source of truth for tool names and their group membership.
|
Package toolcatalog provides a single source of truth for tool names and their group membership. |
|
sdk/toolindex
Package toolindex provides embedding-based tool retrieval (Tool RAG) for the agent chat system.
|
Package toolindex provides embedding-based tool retrieval (Tool RAG) for the agent chat system. |
|
sdk/unitest
Package unitest provides support for excuting unit test logic.
|
Package unitest provides support for excuting unit test logic. |
|
sdk/workflow
Package workflow provides workflow automation capabilities.
|
Package workflow provides workflow automation capabilities. |
|
sdk/workflow/fieldschema
Package fieldschema provides a static registry of known enum field schemas for workflow entity fields.
|
Package fieldschema provides a static registry of known enum field schemas for workflow entity fields. |
|
sdk/workflow/protected
Package protected holds the registry of (entity, field) pairs that the generic raw-SQL workflow actions (update_field, create_entity, transition_status) must NOT write directly.
|
Package protected holds the registry of (entity, field) pairs that the generic raw-SQL workflow actions (update_field, create_entity, transition_status) must NOT write directly. |
|
sdk/workflow/temporal/stores/edgedb
Package edgedb implements the EdgeStore interface for loading graph definitions from PostgreSQL.
|
Package edgedb implements the EdgeStore interface for loading graph definitions from PostgreSQL. |
|
sdk/workflow/workflowactions
business/sdk/workflow/workflowactions/register.go
|
business/sdk/workflow/workflowactions/register.go |
|
sdk/workflow/workflowactions/control
Package control provides control flow actions for workflow execution.
|
Package control provides control flow actions for workflow execution. |
|
sdk/workflowdomains
Package workflowdomains is the single source of truth mapping domain buses to the workflow delegate subscriber.
|
Package workflowdomains is the single source of truth mapping domain buses to the workflow delegate subscriber. |
|
foundation
|
|
|
docker
Package docker provides support for starting and stopping docker containers for running tests.
|
Package docker provides support for starting and stopping docker containers for running tests. |
|
keystore
Package keystore implements the auth.KeyLookup interface.
|
Package keystore implements the auth.KeyLookup interface. |
|
logger
Package logger provides support for initializing the log system.
|
Package logger provides support for initializing the log system. |
|
otel
Package otel provides otel support.
|
Package otel provides otel support. |
|
rabbitmq
foundation/rabbitmq/client.go
|
foundation/rabbitmq/client.go |
|
temporal
Package temporal provides support for starting and stopping Temporal containers for running tests.
|
Package temporal provides support for starting and stopping Temporal containers for running tests. |
|
web
Package web contains a small web framework extension.
|
Package web contains a small web framework extension. |
|
websocket
Package websocket provides a generic WebSocket connection registry (Hub) and client wrapper for real-time communication.
|
Package websocket provides a generic WebSocket connection registry (Hub) and client wrapper for real-time communication. |
|
worker
Package worker manages a set of registered jobs that execute on demand.
|
Package worker manages a set of registered jobs that execute on demand. |
|
mcp
|
|
|
cmd/ichor-mcp
command
Command ichor-mcp runs an MCP (Model Context Protocol) server that wraps the Ichor REST API, providing discovery, read, and search tools for LLM agents.
|
Command ichor-mcp runs an MCP (Model Context Protocol) server that wraps the Ichor REST API, providing discovery, read, and search tools for LLM agents. |
|
internal/client
Package client provides an HTTP client for the Ichor REST API.
|
Package client provides an HTTP client for the Ichor REST API. |
|
internal/prompts
Package prompts provides MCP prompts for guided workflow, page, and form building.
|
Package prompts provides MCP prompts for guided workflow, page, and form building. |
|
internal/resources
Package resources provides MCP resource handlers that expose Ichor configuration data as addressable resources.
|
Package resources provides MCP resource handlers that expose Ichor configuration data as addressable resources. |
|
internal/tools
Package tools provides MCP tool handlers that wrap the Ichor REST API.
|
Package tools provides MCP tool handlers that wrap the Ichor REST API. |
Click to show internal directories.
Click to hide internal directories.