stratumiops/nickel/stratum-base/stratum-base.ncl
Jesús Pérez 9095ea6d8e
Some checks failed
Nickel Type Check / Nickel Type Checking (push) Has been cancelled
Rust CI / Security Audit (push) Has been cancelled
Rust CI / Check + Test + Lint (nightly) (push) Has been cancelled
Rust CI / Check + Test + Lint (stable) (push) Has been cancelled
feat: add stratum-orchestrator with graph, state, NATS, and Nickel action nodes
New crates: stratum-orchestrator (Cedar authz, Vault secrets, Nu/agent executors,
  saga runner), stratum-graph (petgraph DAG + SurrealDB repo), stratum-state
  (SurrealDB tracker), platform-nats (NKey auth client), ncl-import-resolver.

  Updates: stratum-embeddings (SurrealDB store + persistent cache), stratum-llm
  circuit breaker. Adds Nickel action-nodes, schemas, config, Nushell scripts,
  docker-compose dev stack, and ADR-003.
2026-02-22 21:33:26 +00:00

61 lines
1.4 KiB
Plaintext

# stratum-base.ncl — shared Nickel types for stratum action nodes.
# Published as OCI artifact to Zot registry.
# Import: let base = import "nickel/stratum-base/stratum-base.ncl" in
let RetryPolicy = {
max | Number | default = 3,
backoff_secs | Number | default = 10,
strategy | [| 'fixed, 'linear, 'exponential |] | default = 'exponential,
}
in
let default_retry = {
max = 3,
backoff_secs = 10,
strategy = 'exponential,
}
in
let NodeDefinition = {
id | String,
handler | String,
input_schemas | { _ : String } | default = {},
output_schemas | { _ : String } | default = {},
compensate | std.option.Option String | default = std.option.None,
retry | RetryPolicy | default = default_retry,
timeout_secs | Number | default = 300,
atomic | Bool | default = true,
triggers | Array String | default = [],
}
in
let CapabilitySchema = {
name | String,
description | String,
schema | { _ : Dyn },
}
in
let SagaConfig = {
compensation_order | [| 'reverse, 'parallel |] | default = 'reverse,
fail_fast | Bool | default = true,
}
in
let ActionGroup = {
id | String,
nodes | Array NodeDefinition,
trigger | Array String,
saga | SagaConfig | default = {},
}
in
{
NodeDefinition,
RetryPolicy,
CapabilitySchema,
SagaConfig,
ActionGroup,
default_retry,
}