@falai/agent 4.0.0-alpha.12 → 4.0.0-alpha.13

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.
Files changed (55) hide show
  1. package/dist/cjs/core/FlowSpec.d.ts +2 -0
  2. package/dist/cjs/core/FlowSpec.d.ts.map +1 -1
  3. package/dist/cjs/core/FlowSpec.js +25 -2
  4. package/dist/cjs/core/FlowSpec.js.map +1 -1
  5. package/dist/cjs/core/Runner.d.ts +6 -0
  6. package/dist/cjs/core/Runner.d.ts.map +1 -1
  7. package/dist/cjs/core/Runner.js +63 -12
  8. package/dist/cjs/core/Runner.js.map +1 -1
  9. package/dist/cjs/types/flow.d.ts +14 -0
  10. package/dist/cjs/types/flow.d.ts.map +1 -1
  11. package/dist/cjs/types/session.d.ts +1 -1
  12. package/dist/cjs/types/session.d.ts.map +1 -1
  13. package/dist/cjs/utils/outcomes.d.ts +1 -0
  14. package/dist/cjs/utils/outcomes.d.ts.map +1 -1
  15. package/dist/cjs/utils/outcomes.js +1 -0
  16. package/dist/cjs/utils/outcomes.js.map +1 -1
  17. package/dist/cjs/utils/schema.d.ts +3 -3
  18. package/dist/cjs/utils/schema.d.ts.map +1 -1
  19. package/dist/cjs/utils/schema.js +4 -3
  20. package/dist/cjs/utils/schema.js.map +1 -1
  21. package/dist/core/FlowSpec.d.ts +2 -0
  22. package/dist/core/FlowSpec.d.ts.map +1 -1
  23. package/dist/core/FlowSpec.js +26 -3
  24. package/dist/core/FlowSpec.js.map +1 -1
  25. package/dist/core/Runner.d.ts +6 -0
  26. package/dist/core/Runner.d.ts.map +1 -1
  27. package/dist/core/Runner.js +63 -12
  28. package/dist/core/Runner.js.map +1 -1
  29. package/dist/types/flow.d.ts +14 -0
  30. package/dist/types/flow.d.ts.map +1 -1
  31. package/dist/types/session.d.ts +1 -1
  32. package/dist/types/session.d.ts.map +1 -1
  33. package/dist/utils/outcomes.d.ts +1 -0
  34. package/dist/utils/outcomes.d.ts.map +1 -1
  35. package/dist/utils/outcomes.js +1 -0
  36. package/dist/utils/outcomes.js.map +1 -1
  37. package/dist/utils/schema.d.ts +3 -3
  38. package/dist/utils/schema.d.ts.map +1 -1
  39. package/dist/utils/schema.js +4 -3
  40. package/dist/utils/schema.js.map +1 -1
  41. package/docs/concepts/collection.md +40 -5
  42. package/docs/concepts/pipeline.md +3 -2
  43. package/docs/reference/fields.md +5 -3
  44. package/docs/reference/flow-spec.md +6 -3
  45. package/docs/reference/flow.md +7 -2
  46. package/docs/reference/outcomes.md +2 -1
  47. package/docs/reference/step.md +5 -2
  48. package/docs/rfc/v4-one-flow.md +2 -0
  49. package/package.json +1 -1
  50. package/src/core/FlowSpec.ts +32 -4
  51. package/src/core/Runner.ts +56 -10
  52. package/src/types/flow.ts +14 -0
  53. package/src/types/session.ts +1 -0
  54. package/src/utils/outcomes.ts +1 -0
  55. package/src/utils/schema.ts +4 -3
@@ -76,7 +76,7 @@ export interface WireOptions {
76
76
 
77
77
  /**
78
78
  * The JSON schema a provider sees: an allow-list of JSON-schema keys, with
79
- * `ask`, `extract` and `optional` stripped. Closed (`additionalProperties:
79
+ * `label`, `ask`, `extract` and `optional` stripped. Closed (`additionalProperties:
80
80
  * false`); every property required unless a parameter says `optional`.
81
81
  */
82
82
  export function toWireSchema(defs: FieldDefs | ParamDefs, options: WireOptions = {}): StructuredSchema {
@@ -102,8 +102,8 @@ function wireProperty(def: FieldDef | ParamDef, nullable: boolean): StructuredSc
102
102
 
103
103
  /**
104
104
  * Merge field rows authored per flow into the agent's one field set. Two
105
- * rows for one slug must agree on type and enum; the first non-empty `ask`
106
- * and `description` win.
105
+ * rows for one slug must agree on type and enum; the first non-empty `label`,
106
+ * `ask` and `description` win.
107
107
  */
108
108
  export function buildSchema(groups: Array<{ id: string; fields: FieldDefs }>): FieldDefs {
109
109
  const merged: FieldDefs = {};
@@ -131,6 +131,7 @@ export function buildSchema(groups: Array<{ id: string; fields: FieldDefs }>): F
131
131
  merged[slug] = {
132
132
  ...seen,
133
133
  enum: seen.enum ?? def.enum,
134
+ label: seen.label ?? def.label,
134
135
  ask: seen.ask ?? def.ask,
135
136
  description: seen.description ?? def.description,
136
137
  extract: seen.extract ?? def.extract,