@vaudience/aigentflow-flow-validator 0.18.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -224,6 +224,10 @@ interface OrchestratorDefinition {
224
224
  exons?: string;
225
225
  agentic?: boolean;
226
226
  mode?: string;
227
+ /** Provider region the orchestrator's model calls are pinned to (e.g. `eu`). */
228
+ region?: string;
229
+ /** Makes the provider refuse a call carrying no region. Requires `region`. */
230
+ enforce_region?: boolean;
227
231
  triggers?: OrchestratorTrigger[];
228
232
  tools?: string[];
229
233
  max_turns?: number;
package/dist/index.d.ts CHANGED
@@ -224,6 +224,10 @@ interface OrchestratorDefinition {
224
224
  exons?: string;
225
225
  agentic?: boolean;
226
226
  mode?: string;
227
+ /** Provider region the orchestrator's model calls are pinned to (e.g. `eu`). */
228
+ region?: string;
229
+ /** Makes the provider refuse a call carrying no region. Requires `region`. */
230
+ enforce_region?: boolean;
227
231
  triggers?: OrchestratorTrigger[];
228
232
  tools?: string[];
229
233
  max_turns?: number;
package/dist/index.js CHANGED
@@ -430,7 +430,7 @@ function validateBasicStructure(flow, issues) {
430
430
 
431
431
  // src/spec/aigentflow-spec.json
432
432
  var aigentflow_spec_default = {
433
- specVersion: "2.819.0",
433
+ specVersion: "2.820.0",
434
434
  inputSchemaVersion: 1,
435
435
  executorSchemes: [
436
436
  "a2a",
@@ -1642,6 +1642,7 @@ var aigentflow_spec_default = {
1642
1642
  deny_tools: "list<scalar>",
1643
1643
  discoverable_tools: "list<scalar>",
1644
1644
  enable_signals: "scalar",
1645
+ enforce_region: "scalar",
1645
1646
  engram_scope: "scalar",
1646
1647
  exons: "scalar",
1647
1648
  human_question_timeout: "scalar",
@@ -1650,6 +1651,7 @@ var aigentflow_spec_default = {
1650
1651
  max_tool_turns: "scalar",
1651
1652
  max_turns: "scalar",
1652
1653
  mode: "scalar",
1654
+ region: "scalar",
1653
1655
  require_approval_for: "list<scalar>",
1654
1656
  timeout_seconds: "scalar",
1655
1657
  tool_discovery: "scalar",
@@ -3062,6 +3064,17 @@ function validateOrchestratorCampaign(flow, issues, opts) {
3062
3064
  code: "orchestrator_owner_needs_yield"
3063
3065
  });
3064
3066
  }
3067
+ if (orch.enforce_region === true) {
3068
+ const region = issues.stringOf(orch, "region", "orchestrator");
3069
+ if (region === null || region.trim() === "") {
3070
+ issues.error({
3071
+ field: "orchestrator.enforce_region",
3072
+ message: "orchestrator: enforce_region requires region (name the region the model must run in, e.g. region: eu)",
3073
+ code: "orchestrator_enforce_region_needs_region",
3074
+ suggestion: "Add `region: eu` (or the region the model must run in), or drop enforce_region"
3075
+ });
3076
+ }
3077
+ }
3065
3078
  if (Array.isArray(orch.triggers)) {
3066
3079
  orch.triggers.forEach((rawTrigger, i) => {
3067
3080
  if (!isRecord(rawTrigger)) return;