@almadar/core 8.4.0 → 8.5.1

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.
@@ -70,6 +70,41 @@ interface OwnershipOverlayEntry {
70
70
  ownerField: string;
71
71
  }
72
72
 
73
+ /**
74
+ * Recursive JSON value — the shape any JSON document can hold. Used by
75
+ * `JsonSchema.default` (which carries an arbitrary JSON literal) and
76
+ * `JsonSchema.enum` (closed set of leaf values). Recursive structural
77
+ * type with no `unknown` anywhere: every nested value is itself a
78
+ * `JsonValue`.
79
+ */
80
+ type JsonValue = string | number | boolean | null | ReadonlyArray<JsonValue> | Readonly<{
81
+ [key: string]: JsonValue;
82
+ }>;
83
+ /**
84
+ * Recursive JSON Schema. Intentionally narrow — only the keywords V2's
85
+ * signature → schema generator emits. Custom `x-*` extensions carry
86
+ * descriptive metadata (synonyms, label) that doesn't shape validation
87
+ * but stays in the schema for prompt rendering / studio UIs.
88
+ */
89
+ interface JsonSchema {
90
+ type?: JsonSchemaType | ReadonlyArray<JsonSchemaType>;
91
+ description?: string;
92
+ properties?: Readonly<{
93
+ [key: string]: JsonSchema;
94
+ }>;
95
+ required?: ReadonlyArray<string>;
96
+ additionalProperties?: boolean | JsonSchema;
97
+ items?: JsonSchema;
98
+ enum?: ReadonlyArray<string | number | boolean>;
99
+ oneOf?: ReadonlyArray<JsonSchema>;
100
+ anyOf?: ReadonlyArray<JsonSchema>;
101
+ default?: JsonValue;
102
+ /** Knob's `@synonyms` from the source `.lolo`. */
103
+ 'x-synonyms'?: string;
104
+ /** Knob's `@label` from the source `.lolo`. */
105
+ 'x-label'?: string;
106
+ }
107
+ type JsonSchemaType = 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'object' | 'null';
73
108
  /**
74
109
  * OrbitalSchema field type tags. The factory-signature extractor lifts
75
110
  * these directly from the resolved `.orb`; consumers narrow further at
@@ -201,6 +236,27 @@ interface FactorySignature {
201
236
  emittedEvents: ReadonlyArray<string>;
202
237
  /** Union of all `traits[].listenedEvents`. */
203
238
  listenedEvents: ReadonlyArray<string>;
239
+ /**
240
+ * JSON Schema for the orbital's `AnalysisOrbitalParams` shape. Walks
241
+ * `traitOverrides.<TraitName>.config.<knob>` with the exact type
242
+ * (string/number/boolean/array/object) lifted from each knob's
243
+ * declaration, `enum` from `enumValues`, recursive `items` for array
244
+ * slots, recursive `properties` for struct slots. Every level carries
245
+ * `additionalProperties: false` so the LLM cannot emit unknown trait
246
+ * names, invented knob keys, or out-of-set enum values.
247
+ *
248
+ * Pre-computed at signature extraction time by
249
+ * `tools/almadar-pattern-sync/src/std-ts/signatures/`. V2 tool-calling
250
+ * (`@almadar-io/agent`'s coordinator + per-orbital subagent) feeds this
251
+ * directly to OpenAI's `tool.parameters` with `strict: true` — the
252
+ * LLM is physically constrained by the schema instead of relying on
253
+ * post-hoc validation.
254
+ *
255
+ * Optional for backward compatibility: signatures emitted by older
256
+ * pattern-sync versions don't carry it, in which case V2 tools fall
257
+ * back to a loose schema + post-hoc validation.
258
+ */
259
+ paramsSchema?: JsonSchema;
204
260
  }
205
261
  /**
206
262
  * Aggregate catalog written to
@@ -406,4 +462,4 @@ interface FactoryCallPlanState {
406
462
  */
407
463
  declare function applyFactoryCallPlanMutation(state: FactoryCallPlanState, m: FactoryCallPlanMutation): FactoryCallPlanState;
408
464
 
409
- export { type CallSiteDiff, type FactoryCallPlanMutation, type FactoryCallPlanState, type FactoryCallSite, type FactoryCallSiteParams, type FactoryConfigParam, type FactoryEntitySignature, type FactoryPageSignature, type FactoryParamValue, type FactorySignature, type FactorySignatureCatalog, type FactorySignatureEntityField, type FactoryTraitSignature, type OrbitalCallInput, type OwnershipOverlayEntry, type PresentationNavItem, type PresentationOverlay, type RuleOverlay, type RuleOverlayEntry, type SchemaFieldType, type TraitOverlay, type TraitOverlayEntry, type TraitOverlayListener, type TranslationBinding, type TranslationResult, type TranslationWarning, applyFactoryCallPlanMutation, diffFactoryCalls, translateOverlaysToParams };
465
+ export { type CallSiteDiff, type FactoryCallPlanMutation, type FactoryCallPlanState, type FactoryCallSite, type FactoryCallSiteParams, type FactoryConfigParam, type FactoryEntitySignature, type FactoryPageSignature, type FactoryParamValue, type FactorySignature, type FactorySignatureCatalog, type FactorySignatureEntityField, type FactoryTraitSignature, type JsonSchema, type JsonSchemaType, type JsonValue, type OrbitalCallInput, type OwnershipOverlayEntry, type PresentationNavItem, type PresentationOverlay, type RuleOverlay, type RuleOverlayEntry, type SchemaFieldType, type TraitOverlay, type TraitOverlayEntry, type TraitOverlayListener, type TranslationBinding, type TranslationResult, type TranslationWarning, applyFactoryCallPlanMutation, diffFactoryCalls, translateOverlaysToParams };
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export { A as AgentEffect, a as AnimationDef, b as AnimationDefInput, c as Anima
5
5
  export { C as CORE_BINDINGS, a as CoreBinding, E as EvalContext, b as EventPayload, c as EventPayloadValue, d as Expression, e as ExpressionInput, f as ExpressionSchema, L as LogMeta, P as ParsedBinding, S as SExpr, g as SExprAtom, h as SExprAtomSchema, i as SExprInput, j as SExprSchema, k as collectBindings, l as getArgs, m as getOperator, n as isBinding, o as isSExpr, p as isSExprAtom, q as isSExprCall, r as isValidBinding, s as parseBinding, t as sexpr, w as walkSExpr } from './expression-BVRFm0sV.js';
6
6
  import { ResolvedIR, ResolvedEntity, ResolvedPage, ResolvedTrait, ChangesetValue, SchemaChange, CategorizedRemovals, PageContentReduction, SemanticSchemaChange } from './types/index.js';
7
7
  export { AgentCodeSearchResult, AgentCompactResult, AgentCompactStrategy, AgentContext, AgentGenerateOptions, AgentMemoryCategory, AgentMemoryRecord, AppSummary, AssetLoadStatus, BINDING_CONTEXT_RULES, BINDING_DOCS, BINDING_ROOTS, BindingContext, BindingRoot, BindingSchema, BridgeHealth, BusEvent, BusEventListener, BusEventSource, ChangeAuthor, ChangeSetDocument, ChangeSummary, CheckStatus, ContextExtensions, CreateFlow, DEFAULT_INTERACTION_MODELS, DeleteFlow, EditFlow, EffectTrace, EventEmit, EventKey, EventListen, EventLogEntry, GitHubLink, HistoryMeta, InteractionModel, InteractionModelInput, InteractionModelSchema, LazyService, ListInteraction, OrbitalVerificationAPI, PatternTypeSchema, PersistActionName, ResolvedEntityBinding, ResolvedField, ResolvedNavigation, ResolvedPattern, ResolvedSection, ResolvedSectionEvent, ResolvedTraitBinding, ResolvedTraitDataEntity, ResolvedTraitEvent, ResolvedTraitGuard, ResolvedTraitListener, ResolvedTraitState, ResolvedTraitTick, ResolvedTraitTransition, ResolvedTraitUIBinding, SaveOptions, SaveResult, SemanticChangeKind, ServerResponseTrace, ServiceAction, ServiceActionName, ServiceContract, ServiceEvents, SnapshotDocument, StatsView, StoreContract, StoreFilter, StoreFilterOp, TraitFieldRef, TraitFieldRefSchema, TraitStateSnapshot, TransitionFrom, TransitionTrace, Unsubscribe, ValidationDocument, ValidationIssue, ValidationMeta, ValidationResults, VerificationCheck, VerificationSnapshot, VerificationSummary, ViewFlow, createEmptyResolvedPage, createEmptyResolvedTrait, createLazyService, createResolvedField, createTypedEventBus, getAllPatternTypes, getBindingExamples, getInteractionModelForDomain, inferTsType, isResolvedIR, isTraitFieldRef, toBindingRoot, validateBindingInContext } from './types/index.js';
8
- export { CallSiteDiff, FactoryCallPlanMutation, FactoryCallPlanState, FactoryCallSite, FactoryCallSiteParams, FactoryConfigParam, FactoryEntitySignature, FactoryPageSignature, FactoryParamValue, FactorySignature, FactorySignatureCatalog, FactorySignatureEntityField, FactoryTraitSignature, OrbitalCallInput, OwnershipOverlayEntry, PresentationNavItem, PresentationOverlay, RuleOverlay, RuleOverlayEntry, SchemaFieldType, TraitOverlay, TraitOverlayEntry, TraitOverlayListener, TranslationBinding, TranslationResult, TranslationWarning, applyFactoryCallPlanMutation, diffFactoryCalls, translateOverlaysToParams } from './factory/index.js';
8
+ export { CallSiteDiff, FactoryCallPlanMutation, FactoryCallPlanState, FactoryCallSite, FactoryCallSiteParams, FactoryConfigParam, FactoryEntitySignature, FactoryPageSignature, FactoryParamValue, FactorySignature, FactorySignatureCatalog, FactorySignatureEntityField, FactoryTraitSignature, JsonSchema, JsonSchemaType, JsonValue, OrbitalCallInput, OwnershipOverlayEntry, PresentationNavItem, PresentationOverlay, RuleOverlay, RuleOverlayEntry, SchemaFieldType, TraitOverlay, TraitOverlayEntry, TraitOverlayListener, TranslationBinding, TranslationResult, TranslationWarning, applyFactoryCallPlanMutation, diffFactoryCalls, translateOverlaysToParams } from './factory/index.js';
9
9
  export { C as ComposeBehaviorsInput, a as ComposeBehaviorsResult, E as EventWiringEntry, L as LayoutStrategy, b as applyEventWiring, c as composeBehaviors, d as detectLayoutStrategy } from './compose-behaviors-TSp2c_dn.js';
10
10
  export { PATTERN_TYPES, PatternConfig, PatternType, isValidPatternType } from '@almadar/patterns';
11
11
  export { BFSNode, BFSPathNode, EdgeWalkTransition, GraphTransition, GuardPayload, ReplayStep, ReplayTransition, StateEdge, WalkStep, buildEdgeCoveringWalk, buildGuardPayloads, buildReplayPaths, buildStateGraph, collectReachableStates, extractPayloadFieldRef, walkStatePairs } from './state-machine/index.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almadar/core",
3
- "version": "8.4.0",
3
+ "version": "8.5.1",
4
4
  "description": "Core schema types and definitions for Almadar",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",