markform 0.1.12 → 0.1.14

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/ai-sdk.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- import { At as PatchSchema, Dt as ParsedForm, Ot as Patch, Q as Id, V as FieldResponse, dr as ValidatorRegistry, q as FormSchema, r as ApplyResult, rt as InspectResult } from "./coreTypes-Cw_cJsa5.mjs";
2
+ import { At as PatchSchema, Dt as ParsedForm, Ot as Patch, Q as Id, V as FieldResponse, dr as ValidatorRegistry, q as FormSchema, r as ApplyResult, rt as InspectResult } from "./coreTypes-CnKsB1H3.mjs";
3
3
  import { z } from "zod";
4
4
 
5
5
  //#region src/integrations/toolTypes.d.ts
package/dist/ai-sdk.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
- import { L as PatchSchema } from "./coreTypes-Z8SvQyoL.mjs";
3
- import { d as serializeForm, i as inspect, t as applyPatches } from "./apply-WeeBXwXg.mjs";
2
+ import { L as PatchSchema } from "./coreTypes-DiCddBKu.mjs";
3
+ import { d as serializeForm, i as inspect, t as applyPatches } from "./apply-CUH_16RD.mjs";
4
4
  import { z } from "zod";
5
5
 
6
6
  //#region src/integrations/vercelAiSdkTools.ts
@@ -116,15 +116,17 @@ function createMarkformTools(options) {
116
116
  }
117
117
  },
118
118
  markform_apply: {
119
- description: "Apply patches to update form field values. Use this after inspecting the form to set values for fields that need to be filled. Patches are applied as a transaction - all succeed or all fail. Returns the updated form state and any remaining issues. Patch operations: set_string, set_number, set_string_list, set_single_select, set_multi_select, set_checkboxes, set_url, set_url_list, set_date, set_year, set_table, clear_field, skip_field, abort_field.",
119
+ description: "Apply patches to update form field values. Valid patches are applied even if some fail. Single values are automatically coerced to arrays for list fields. Returns applied patches, warnings for coerced values, and rejected patches separately. Patch operations: set_string, set_number, set_string_list, set_single_select, set_multi_select, set_checkboxes, set_url, set_url_list, set_date, set_year, set_table, clear_field, skip_field, abort_field.",
120
120
  inputSchema: ApplyInputSchema,
121
121
  execute: ({ patches }) => {
122
122
  const form = sessionStore.getForm();
123
123
  const result = applyPatches(form, patches);
124
124
  sessionStore.updateForm(form);
125
- const message = result.applyStatus === "applied" ? `Applied ${patches.length} patch(es). ${result.isComplete ? "Form is now complete!" : `${result.issues.filter((i) => i.severity === "required").length} required issue(s) remaining.`}` : `Patches rejected. Check field IDs and value types.`;
125
+ const warningNote = result.warnings.length > 0 ? ` (${result.warnings.length} coerced)` : "";
126
+ const remaining = result.issues.filter((i) => i.severity === "required").length;
127
+ const message = result.applyStatus === "applied" ? `Applied ${patches.length} patch(es)${warningNote}. ${result.isComplete ? "Form is now complete!" : `${remaining} required issue(s) remaining.`}` : result.applyStatus === "partial" ? `Applied ${result.appliedPatches.length}/${patches.length} patches${warningNote}. ${result.rejectedPatches.length} rejected.` : `All patches rejected. Check field IDs and value types.`;
126
128
  return Promise.resolve({
127
- success: result.applyStatus === "applied",
129
+ success: result.applyStatus !== "rejected",
128
130
  data: result,
129
131
  message
130
132
  });
@@ -2,7 +2,7 @@
2
2
  import YAML from "yaml";
3
3
 
4
4
  //#region src/errors.ts
5
- const VERSION = "0.1.12";
5
+ const VERSION = "0.1.14";
6
6
  /**
7
7
  * Base error class for all markform errors.
8
8
  * Consumers can catch this to handle any markform error.
@@ -373,6 +373,12 @@ const DEFAULT_MAX_PATCHES_PER_TURN = 20;
373
373
  */
374
374
  const DEFAULT_MAX_ISSUES_PER_TURN = 10;
375
375
  /**
376
+ * Default maximum AI SDK steps (tool call rounds) per harness turn.
377
+ * Matches AI SDK's ToolLoopAgent default of 20.
378
+ * @see https://ai-sdk.dev/docs/agents/loop-control
379
+ */
380
+ const DEFAULT_MAX_STEPS_PER_TURN = 20;
381
+ /**
376
382
  * Default maximum issues to show per turn in research mode.
377
383
  * Lower than general fill to keep research responses focused.
378
384
  */
@@ -2625,29 +2631,96 @@ function coerceBooleanToCheckboxValue(value, mode) {
2625
2631
  return value ? "done" : "todo";
2626
2632
  }
2627
2633
  /**
2628
- * Normalize a patch, coercing boolean checkbox values to strings.
2629
- * Returns a new patch with normalized values, or the original if no normalization needed.
2634
+ * Create a patch warning for coercion.
2630
2635
  */
2631
- function normalizePatch(form, patch) {
2632
- if (patch.op !== "set_checkboxes") return patch;
2633
- const field = findField(form, patch.fieldId);
2634
- if (field?.kind !== "checkboxes") return patch;
2635
- if (!patch.value) return patch;
2636
- let needsNormalization = false;
2637
- for (const value of Object.values(patch.value)) if (typeof value === "boolean") {
2638
- needsNormalization = true;
2639
- break;
2640
- }
2641
- if (!needsNormalization) return patch;
2642
- const normalizedValues = {};
2643
- for (const [optId, value] of Object.entries(patch.value)) if (typeof value === "boolean") normalizedValues[optId] = coerceBooleanToCheckboxValue(value, field.checkboxMode);
2644
- else normalizedValues[optId] = value;
2636
+ function createWarning(index, fieldId, coercion, message) {
2645
2637
  return {
2646
- ...patch,
2647
- value: normalizedValues
2638
+ patchIndex: index,
2639
+ fieldId,
2640
+ message,
2641
+ coercion
2648
2642
  };
2649
2643
  }
2650
2644
  /**
2645
+ * Normalize a patch, coercing common type mismatches with warnings.
2646
+ *
2647
+ * Coercions performed:
2648
+ * - Single string → string_list array
2649
+ * - Single URL string → url_list array
2650
+ * - Single option ID → multi_select array
2651
+ * - Boolean → checkbox string
2652
+ *
2653
+ * Returns the normalized patch and any coercion warning.
2654
+ */
2655
+ function normalizePatch(form, patch, index) {
2656
+ if (patch.op === "add_note" || patch.op === "remove_note") return { patch };
2657
+ const field = findField(form, patch.fieldId);
2658
+ if (!field) return { patch };
2659
+ if (patch.op === "set_string_list" && field.kind === "string_list") {
2660
+ if (typeof patch.value === "string") return {
2661
+ patch: {
2662
+ ...patch,
2663
+ value: [patch.value]
2664
+ },
2665
+ warning: createWarning(index, field.id, "string_to_list", `Coerced single string to string_list`)
2666
+ };
2667
+ }
2668
+ if (patch.op === "set_url_list" && field.kind === "url_list") {
2669
+ if (typeof patch.value === "string") return {
2670
+ patch: {
2671
+ ...patch,
2672
+ value: [patch.value]
2673
+ },
2674
+ warning: createWarning(index, field.id, "url_to_list", `Coerced single URL to url_list`)
2675
+ };
2676
+ }
2677
+ if (patch.op === "set_multi_select" && field.kind === "multi_select") {
2678
+ if (typeof patch.value === "string") return {
2679
+ patch: {
2680
+ ...patch,
2681
+ value: [patch.value]
2682
+ },
2683
+ warning: createWarning(index, field.id, "option_to_array", `Coerced single option ID to multi_select array`)
2684
+ };
2685
+ }
2686
+ if (patch.op === "set_checkboxes" && field.kind === "checkboxes") {
2687
+ if (!patch.value) return { patch };
2688
+ if (Array.isArray(patch.value)) {
2689
+ const defaultState = field.checkboxMode === "explicit" ? "yes" : "done";
2690
+ const values = {};
2691
+ for (const item of patch.value) if (typeof item === "string") values[item] = defaultState;
2692
+ if (patch.value.length === 0) return { patch: {
2693
+ ...patch,
2694
+ value: values
2695
+ } };
2696
+ return {
2697
+ patch: {
2698
+ ...patch,
2699
+ value: values
2700
+ },
2701
+ warning: createWarning(index, field.id, "array_to_checkboxes", `Coerced array to checkboxes object with '${defaultState}' state`)
2702
+ };
2703
+ }
2704
+ let needsNormalization = false;
2705
+ for (const value of Object.values(patch.value)) if (typeof value === "boolean") {
2706
+ needsNormalization = true;
2707
+ break;
2708
+ }
2709
+ if (!needsNormalization) return { patch };
2710
+ const normalizedValues = {};
2711
+ for (const [optId, value] of Object.entries(patch.value)) if (typeof value === "boolean") normalizedValues[optId] = coerceBooleanToCheckboxValue(value, field.checkboxMode);
2712
+ else normalizedValues[optId] = value;
2713
+ return {
2714
+ patch: {
2715
+ ...patch,
2716
+ value: normalizedValues
2717
+ },
2718
+ warning: createWarning(index, field.id, "boolean_to_checkbox", `Coerced boolean values to checkbox state strings`)
2719
+ };
2720
+ }
2721
+ return { patch };
2722
+ }
2723
+ /**
2651
2724
  * Create a type mismatch error with field metadata for LLM guidance.
2652
2725
  */
2653
2726
  function typeMismatchError(index, op, field) {
@@ -2752,20 +2825,6 @@ function validatePatch(form, patch, index) {
2752
2825
  return null;
2753
2826
  }
2754
2827
  /**
2755
- * Validate all patches against the form schema.
2756
- */
2757
- function validatePatches(form, patches) {
2758
- const errors = [];
2759
- for (let i = 0; i < patches.length; i++) {
2760
- const patch = patches[i];
2761
- if (patch) {
2762
- const error = validatePatch(form, patch, i);
2763
- if (error) errors.push(error);
2764
- }
2765
- }
2766
- return errors;
2767
- }
2768
- /**
2769
2828
  * Generate a unique note ID for the form.
2770
2829
  */
2771
2830
  function generateNoteId(form) {
@@ -2962,16 +3021,28 @@ function convertToInspectIssues(form) {
2962
3021
  /**
2963
3022
  * Apply patches to a parsed form.
2964
3023
  *
2965
- * Uses transaction semantics - all patches succeed or none are applied.
3024
+ * Uses best-effort semantics: valid patches are applied even when some fail.
3025
+ * Invalid patches are rejected with detailed error messages.
2966
3026
  *
2967
3027
  * @param form - The parsed form to update
2968
3028
  * @param patches - Array of patches to apply
2969
- * @returns Apply result with new summaries and status
3029
+ * @returns Apply result with new summaries, status, and detailed feedback
2970
3030
  */
2971
3031
  function applyPatches(form, patches) {
2972
- const normalizedPatches = patches.map((p) => normalizePatch(form, p));
2973
- const errors = validatePatches(form, normalizedPatches);
2974
- if (errors.length > 0) {
3032
+ const normalized = patches.map((p, i) => normalizePatch(form, p, i));
3033
+ const warnings = normalized.filter((r) => r.warning).map((r) => r.warning);
3034
+ const normalizedPatches = normalized.map((r) => r.patch);
3035
+ const validPatches = [];
3036
+ const errors = [];
3037
+ for (let i = 0; i < normalizedPatches.length; i++) {
3038
+ const patch = normalizedPatches[i];
3039
+ if (patch) {
3040
+ const error = validatePatch(form, patch, i);
3041
+ if (error) errors.push(error);
3042
+ else validPatches.push(patch);
3043
+ }
3044
+ }
3045
+ if (validPatches.length === 0 && errors.length > 0) {
2975
3046
  const issues$1 = convertToInspectIssues(form);
2976
3047
  const summaries$1 = computeAllSummaries(form.schema, form.responsesByFieldId, form.notes, issues$1);
2977
3048
  return {
@@ -2981,27 +3052,30 @@ function applyPatches(form, patches) {
2981
3052
  issues: issues$1,
2982
3053
  isComplete: summaries$1.isComplete,
2983
3054
  formState: summaries$1.formState,
2984
- rejectedPatches: errors
3055
+ appliedPatches: [],
3056
+ rejectedPatches: errors,
3057
+ warnings: []
2985
3058
  };
2986
3059
  }
2987
3060
  const newResponses = { ...form.responsesByFieldId };
2988
3061
  const newNotes = [...form.notes];
2989
- form.notes;
2990
3062
  form.notes = newNotes;
2991
- for (const patch of normalizedPatches) applyPatch(form, newResponses, patch);
3063
+ for (const patch of validPatches) applyPatch(form, newResponses, patch);
2992
3064
  form.responsesByFieldId = newResponses;
2993
3065
  const issues = convertToInspectIssues(form);
2994
3066
  const summaries = computeAllSummaries(form.schema, newResponses, newNotes, issues);
2995
3067
  return {
2996
- applyStatus: "applied",
3068
+ applyStatus: errors.length > 0 ? "partial" : "applied",
2997
3069
  structureSummary: summaries.structureSummary,
2998
3070
  progressSummary: summaries.progressSummary,
2999
3071
  issues,
3000
3072
  isComplete: isFormComplete(summaries.progressSummary),
3001
3073
  formState: computeFormState(summaries.progressSummary),
3002
- rejectedPatches: []
3074
+ appliedPatches: validPatches,
3075
+ rejectedPatches: errors,
3076
+ warnings
3003
3077
  };
3004
3078
  }
3005
3079
 
3006
3080
  //#endregion
3007
- export { isPatchError as $, deriveReportPath as A, MarkformAbortError as B, DEFAULT_RESEARCH_MAX_PATCHES_PER_TURN as C, REPORT_EXTENSION as D, MAX_FORMS_IN_MENU as E, WEB_SEARCH_CONFIG as F, MarkformPatchError as G, MarkformError as H, formatSuggestedLlms as I, isAbortError as J, MarkformValidationError as K, getWebSearchConfig as L, detectFileType as M, parseRolesFlag as N, USER_ROLE as O, SUGGESTED_LLMS as P, isParseError as Q, hasWebSearchSupport as R, DEFAULT_RESEARCH_MAX_ISSUES_PER_TURN as S, DEFAULT_ROLE_INSTRUCTIONS as T, MarkformLlmError as U, MarkformConfigError as V, MarkformParseError as W, isLlmError as X, isConfigError as Y, isMarkformError as Z, DEFAULT_MAX_ISSUES_PER_TURN as _, validate as a, DEFAULT_PORT as b, computeProgressSummary as c, serializeForm as d, isRetryableError as et, serializeRawMarkdown as f, DEFAULT_FORMS_DIR as g, ALL_EXTENSIONS as h, inspect as i, deriveSchemaPath as j, deriveExportPath as k, computeStructureSummary as l, AGENT_ROLE as m, getAllFields as n, computeAllSummaries as o, serializeReport as p, ParseError as q, getFieldsForRoles as r, computeFormState as s, applyPatches as t, isValidationError as tt, isFormComplete as u, DEFAULT_MAX_PATCHES_PER_TURN as v, DEFAULT_ROLES as w, DEFAULT_PRIORITY as x, DEFAULT_MAX_TURNS as y, parseModelIdForDisplay as z };
3081
+ export { isParseError as $, deriveExportPath as A, parseModelIdForDisplay as B, DEFAULT_RESEARCH_MAX_ISSUES_PER_TURN as C, MAX_FORMS_IN_MENU as D, DEFAULT_ROLE_INSTRUCTIONS as E, SUGGESTED_LLMS as F, MarkformParseError as G, MarkformConfigError as H, WEB_SEARCH_CONFIG as I, ParseError as J, MarkformPatchError as K, formatSuggestedLlms as L, deriveSchemaPath as M, detectFileType as N, REPORT_EXTENSION as O, parseRolesFlag as P, isMarkformError as Q, getWebSearchConfig as R, DEFAULT_PRIORITY as S, DEFAULT_ROLES as T, MarkformError as U, MarkformAbortError as V, MarkformLlmError as W, isConfigError as X, isAbortError as Y, isLlmError as Z, DEFAULT_MAX_ISSUES_PER_TURN as _, validate as a, DEFAULT_MAX_TURNS as b, computeProgressSummary as c, serializeForm as d, isPatchError as et, serializeRawMarkdown as f, DEFAULT_FORMS_DIR as g, ALL_EXTENSIONS as h, inspect as i, deriveReportPath as j, USER_ROLE as k, computeStructureSummary as l, AGENT_ROLE as m, getAllFields as n, isValidationError as nt, computeAllSummaries as o, serializeReport as p, MarkformValidationError as q, getFieldsForRoles as r, computeFormState as s, applyPatches as t, isRetryableError as tt, isFormComplete as u, DEFAULT_MAX_PATCHES_PER_TURN as v, DEFAULT_RESEARCH_MAX_PATCHES_PER_TURN as w, DEFAULT_PORT as x, DEFAULT_MAX_STEPS_PER_TURN as y, hasWebSearchSupport as z };
package/dist/bin.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
 
4
- import { t as runCli } from "./cli-R_mVVf4x.mjs";
4
+ import { t as runCli } from "./cli-ixzNVirs.mjs";
5
5
  import { resolve } from "node:path";
6
6
  import { existsSync } from "node:fs";
7
7
  import { config } from "dotenv";
@@ -1,8 +1,8 @@
1
1
 
2
- import { L as PatchSchema } from "./coreTypes-Z8SvQyoL.mjs";
3
- import { A as deriveReportPath, C as DEFAULT_RESEARCH_MAX_PATCHES_PER_TURN, D as REPORT_EXTENSION, E as MAX_FORMS_IN_MENU, F as WEB_SEARCH_CONFIG, I as formatSuggestedLlms, M as detectFileType, N as parseRolesFlag, O as USER_ROLE, P as SUGGESTED_LLMS, R as hasWebSearchSupport, S as DEFAULT_RESEARCH_MAX_ISSUES_PER_TURN, _ as DEFAULT_MAX_ISSUES_PER_TURN, b as DEFAULT_PORT, d as serializeForm, f as serializeRawMarkdown, g as DEFAULT_FORMS_DIR, h as ALL_EXTENSIONS, i as inspect, j as deriveSchemaPath, k as deriveExportPath, m as AGENT_ROLE, n as getAllFields, p as serializeReport, t as applyPatches, v as DEFAULT_MAX_PATCHES_PER_TURN, y as DEFAULT_MAX_TURNS, z as parseModelIdForDisplay } from "./apply-WeeBXwXg.mjs";
4
- import { D as parseForm, E as formToJsonSchema, a as resolveHarnessConfig, c as getProviderNames, d as createLiveAgent, h as createHarness, i as runResearch, l as resolveModel, n as isResearchForm, o as fillForm, p as createMockAgent, s as getProviderInfo, t as VERSION, u as buildMockWireFormat } from "./src-DMQCFp2l.mjs";
5
- import { n as serializeSession } from "./session-DX-DvjRP.mjs";
2
+ import { L as PatchSchema } from "./coreTypes-DiCddBKu.mjs";
3
+ import { A as deriveExportPath, B as parseModelIdForDisplay, C as DEFAULT_RESEARCH_MAX_ISSUES_PER_TURN, D as MAX_FORMS_IN_MENU, F as SUGGESTED_LLMS, I as WEB_SEARCH_CONFIG, L as formatSuggestedLlms, M as deriveSchemaPath, N as detectFileType, O as REPORT_EXTENSION, P as parseRolesFlag, _ as DEFAULT_MAX_ISSUES_PER_TURN, b as DEFAULT_MAX_TURNS, d as serializeForm, f as serializeRawMarkdown, g as DEFAULT_FORMS_DIR, h as ALL_EXTENSIONS, i as inspect, j as deriveReportPath, k as USER_ROLE, m as AGENT_ROLE, n as getAllFields, p as serializeReport, t as applyPatches, v as DEFAULT_MAX_PATCHES_PER_TURN, w as DEFAULT_RESEARCH_MAX_PATCHES_PER_TURN, x as DEFAULT_PORT, z as hasWebSearchSupport } from "./apply-CUH_16RD.mjs";
4
+ import { D as parseForm, E as formToJsonSchema, a as resolveHarnessConfig, c as getProviderNames, d as createLiveAgent, h as createHarness, i as runResearch, l as resolveModel, n as isResearchForm, o as fillForm, p as createMockAgent, s as getProviderInfo, t as VERSION, u as buildMockWireFormat } from "./src-BKRKMdgR.mjs";
5
+ import { n as serializeSession } from "./session-XDrocA3j.mjs";
6
6
  import { a as formatPath, c as logError, d as logTiming, f as logVerbose, g as writeFile, i as formatOutput, l as logInfo, m as readFile$1, n as createSpinner, o as getCommandContext, p as logWarn, r as ensureFormsDir, s as logDryRun, t as OUTPUT_FORMATS, u as logSuccess } from "./shared-D3dNi-Gn.mjs";
7
7
  import Markdoc from "@markdoc/markdoc";
8
8
  import YAML from "yaml";
@@ -5111,7 +5111,7 @@ function registerResearchCommand(program) {
5111
5111
  console.log(` ${formPath} ${pc.dim("(filled markform source)")}`);
5112
5112
  console.log(` ${schemaPath} ${pc.dim("(JSON Schema)")}`);
5113
5113
  if (options.transcript && result.transcript) {
5114
- const { serializeSession: serializeSession$1 } = await import("./session-BJe-hei3.mjs");
5114
+ const { serializeSession: serializeSession$1 } = await import("./session-B7aR6hno.mjs");
5115
5115
  const transcriptPath = outputPath.replace(/\.form\.md$/, ".session.yaml");
5116
5116
  const { writeFile: writeFile$1 } = await import("./shared-CNqwaxUt.mjs");
5117
5117
  await writeFile$1(transcriptPath, serializeSession$1(result.transcript));
package/dist/cli.mjs CHANGED
@@ -1,4 +1,4 @@
1
1
 
2
- import { t as runCli } from "./cli-R_mVVf4x.mjs";
2
+ import { t as runCli } from "./cli-ixzNVirs.mjs";
3
3
 
4
4
  export { runCli };
@@ -467,16 +467,31 @@ interface PatchRejection {
467
467
  /** Column IDs if available (for table fields) */
468
468
  columnIds?: string[];
469
469
  }
470
+ /** Coercion type for patch warnings */
471
+ type PatchCoercionType = 'string_to_list' | 'url_to_list' | 'option_to_array' | 'boolean_to_checkbox' | 'array_to_checkboxes';
472
+ /** Warning for coerced patches */
473
+ interface PatchWarning {
474
+ patchIndex: number;
475
+ fieldId: string;
476
+ message: string;
477
+ coercion: PatchCoercionType;
478
+ }
479
+ /** Status of patch application */
480
+ type ApplyStatus = 'applied' | 'partial' | 'rejected';
470
481
  /** Result from apply operation */
471
482
  interface ApplyResult {
472
- applyStatus: 'applied' | 'rejected';
483
+ applyStatus: ApplyStatus;
473
484
  structureSummary: StructureSummary;
474
485
  progressSummary: ProgressSummary;
475
486
  issues: InspectIssue[];
476
487
  isComplete: boolean;
477
488
  formState: ProgressState;
489
+ /** Patches that were successfully applied (normalized/coerced) */
490
+ appliedPatches: Patch[];
478
491
  /** Empty on success, contains rejection details on failure */
479
492
  rejectedPatches: PatchRejection[];
493
+ /** Warnings for patches that were coerced */
494
+ warnings: PatchWarning[];
480
495
  }
481
496
  /** Set string field value */
482
497
  interface SetStringPatch {
@@ -721,6 +736,8 @@ interface SessionTurn {
721
736
  patches: Patch[];
722
737
  /** Patches that were rejected (type mismatch, invalid field, etc.) */
723
738
  rejectedPatches?: PatchRejection[];
739
+ /** Warnings for patches that were coerced (e.g., string → array) */
740
+ warnings?: PatchWarning[];
724
741
  };
725
742
  after: {
726
743
  requiredIssueCount: number;
@@ -2487,6 +2504,7 @@ declare const InspectResultSchema: z.ZodObject<{
2487
2504
  declare const ApplyResultSchema: z.ZodObject<{
2488
2505
  applyStatus: z.ZodEnum<{
2489
2506
  applied: "applied";
2507
+ partial: "partial";
2490
2508
  rejected: "rejected";
2491
2509
  }>;
2492
2510
  structureSummary: z.ZodObject<{
@@ -2623,6 +2641,101 @@ declare const ApplyResultSchema: z.ZodObject<{
2623
2641
  invalid: "invalid";
2624
2642
  complete: "complete";
2625
2643
  }>;
2644
+ appliedPatches: z.ZodArray<z.ZodLazy<z.ZodDiscriminatedUnion<[z.ZodObject<{
2645
+ op: z.ZodLiteral<"set_string">;
2646
+ fieldId: z.ZodString;
2647
+ value: z.ZodNullable<z.ZodString>;
2648
+ }, z.core.$strip>, z.ZodObject<{
2649
+ op: z.ZodLiteral<"set_number">;
2650
+ fieldId: z.ZodString;
2651
+ value: z.ZodNullable<z.ZodNumber>;
2652
+ }, z.core.$strip>, z.ZodObject<{
2653
+ op: z.ZodLiteral<"set_string_list">;
2654
+ fieldId: z.ZodString;
2655
+ value: z.ZodArray<z.ZodString>;
2656
+ }, z.core.$strip>, z.ZodObject<{
2657
+ op: z.ZodLiteral<"set_checkboxes">;
2658
+ fieldId: z.ZodString;
2659
+ value: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodEnum<{
2660
+ todo: "todo";
2661
+ done: "done";
2662
+ incomplete: "incomplete";
2663
+ active: "active";
2664
+ na: "na";
2665
+ }>, z.ZodEnum<{
2666
+ unfilled: "unfilled";
2667
+ yes: "yes";
2668
+ no: "no";
2669
+ }>]>>;
2670
+ }, z.core.$strip>, z.ZodObject<{
2671
+ op: z.ZodLiteral<"set_single_select">;
2672
+ fieldId: z.ZodString;
2673
+ value: z.ZodNullable<z.ZodString>;
2674
+ }, z.core.$strip>, z.ZodObject<{
2675
+ op: z.ZodLiteral<"set_multi_select">;
2676
+ fieldId: z.ZodString;
2677
+ value: z.ZodArray<z.ZodString>;
2678
+ }, z.core.$strip>, z.ZodObject<{
2679
+ op: z.ZodLiteral<"set_url">;
2680
+ fieldId: z.ZodString;
2681
+ value: z.ZodNullable<z.ZodString>;
2682
+ }, z.core.$strip>, z.ZodObject<{
2683
+ op: z.ZodLiteral<"set_url_list">;
2684
+ fieldId: z.ZodString;
2685
+ value: z.ZodArray<z.ZodString>;
2686
+ }, z.core.$strip>, z.ZodObject<{
2687
+ op: z.ZodLiteral<"set_date">;
2688
+ fieldId: z.ZodString;
2689
+ value: z.ZodNullable<z.ZodString>;
2690
+ }, z.core.$strip>, z.ZodObject<{
2691
+ op: z.ZodLiteral<"set_year">;
2692
+ fieldId: z.ZodString;
2693
+ value: z.ZodNullable<z.ZodNumber>;
2694
+ }, z.core.$strip>, z.ZodObject<{
2695
+ op: z.ZodLiteral<"set_table">;
2696
+ fieldId: z.ZodString;
2697
+ value: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>, z.ZodNull, z.ZodString]>>>;
2698
+ }, z.core.$strip>, z.ZodObject<{
2699
+ op: z.ZodLiteral<"clear_field">;
2700
+ fieldId: z.ZodString;
2701
+ }, z.core.$strip>, z.ZodObject<{
2702
+ op: z.ZodLiteral<"skip_field">;
2703
+ fieldId: z.ZodString;
2704
+ role: z.ZodString;
2705
+ reason: z.ZodOptional<z.ZodString>;
2706
+ }, z.core.$strip>, z.ZodObject<{
2707
+ op: z.ZodLiteral<"abort_field">;
2708
+ fieldId: z.ZodString;
2709
+ role: z.ZodString;
2710
+ reason: z.ZodOptional<z.ZodString>;
2711
+ }, z.core.$strip>, z.ZodObject<{
2712
+ op: z.ZodLiteral<"add_note">;
2713
+ ref: z.ZodString;
2714
+ role: z.ZodString;
2715
+ text: z.ZodString;
2716
+ }, z.core.$strip>, z.ZodObject<{
2717
+ op: z.ZodLiteral<"remove_note">;
2718
+ noteId: z.ZodString;
2719
+ }, z.core.$strip>], "op">>>;
2720
+ rejectedPatches: z.ZodArray<z.ZodObject<{
2721
+ patchIndex: z.ZodNumber;
2722
+ message: z.ZodString;
2723
+ fieldId: z.ZodOptional<z.ZodString>;
2724
+ fieldKind: z.ZodOptional<z.ZodString>;
2725
+ columnIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
2726
+ }, z.core.$strip>>;
2727
+ warnings: z.ZodArray<z.ZodObject<{
2728
+ patchIndex: z.ZodNumber;
2729
+ fieldId: z.ZodString;
2730
+ message: z.ZodString;
2731
+ coercion: z.ZodEnum<{
2732
+ string_to_list: "string_to_list";
2733
+ url_to_list: "url_to_list";
2734
+ option_to_array: "option_to_array";
2735
+ boolean_to_checkbox: "boolean_to_checkbox";
2736
+ array_to_checkboxes: "array_to_checkboxes";
2737
+ }>;
2738
+ }, z.core.$strip>>;
2626
2739
  }, z.core.$strip>;
2627
2740
  declare const SetStringPatchSchema: z.ZodObject<{
2628
2741
  op: z.ZodLiteral<"set_string">;
@@ -3102,6 +3215,18 @@ declare const SessionTurnSchema: z.ZodObject<{
3102
3215
  fieldKind: z.ZodOptional<z.ZodString>;
3103
3216
  columnIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3104
3217
  }, z.core.$strip>>>;
3218
+ warnings: z.ZodOptional<z.ZodArray<z.ZodObject<{
3219
+ patchIndex: z.ZodNumber;
3220
+ fieldId: z.ZodString;
3221
+ message: z.ZodString;
3222
+ coercion: z.ZodEnum<{
3223
+ string_to_list: "string_to_list";
3224
+ url_to_list: "url_to_list";
3225
+ option_to_array: "option_to_array";
3226
+ boolean_to_checkbox: "boolean_to_checkbox";
3227
+ array_to_checkboxes: "array_to_checkboxes";
3228
+ }>;
3229
+ }, z.core.$strip>>>;
3105
3230
  }, z.core.$strip>;
3106
3231
  after: z.ZodObject<{
3107
3232
  requiredIssueCount: z.ZodNumber;
@@ -3296,6 +3421,18 @@ declare const SessionTranscriptSchema: z.ZodObject<{
3296
3421
  fieldKind: z.ZodOptional<z.ZodString>;
3297
3422
  columnIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3298
3423
  }, z.core.$strip>>>;
3424
+ warnings: z.ZodOptional<z.ZodArray<z.ZodObject<{
3425
+ patchIndex: z.ZodNumber;
3426
+ fieldId: z.ZodString;
3427
+ message: z.ZodString;
3428
+ coercion: z.ZodEnum<{
3429
+ string_to_list: "string_to_list";
3430
+ url_to_list: "url_to_list";
3431
+ option_to_array: "option_to_array";
3432
+ boolean_to_checkbox: "boolean_to_checkbox";
3433
+ array_to_checkboxes: "array_to_checkboxes";
3434
+ }>;
3435
+ }, z.core.$strip>>>;
3299
3436
  }, z.core.$strip>;
3300
3437
  after: z.ZodObject<{
3301
3438
  requiredIssueCount: z.ZodNumber;
@@ -447,14 +447,6 @@ const InspectResultSchema = z.object({
447
447
  isComplete: z.boolean(),
448
448
  formState: ProgressStateSchema
449
449
  });
450
- const ApplyResultSchema = z.object({
451
- applyStatus: z.enum(["applied", "rejected"]),
452
- structureSummary: StructureSummarySchema,
453
- progressSummary: ProgressSummarySchema,
454
- issues: z.array(InspectIssueSchema),
455
- isComplete: z.boolean(),
456
- formState: ProgressStateSchema
457
- });
458
450
  const PatchRejectionSchema = z.object({
459
451
  patchIndex: z.number().int().nonnegative(),
460
452
  message: z.string(),
@@ -462,6 +454,35 @@ const PatchRejectionSchema = z.object({
462
454
  fieldKind: z.string().optional(),
463
455
  columnIds: z.array(z.string()).optional()
464
456
  });
457
+ const PatchCoercionTypeSchema = z.enum([
458
+ "string_to_list",
459
+ "url_to_list",
460
+ "option_to_array",
461
+ "boolean_to_checkbox",
462
+ "array_to_checkboxes"
463
+ ]);
464
+ const PatchWarningSchema = z.object({
465
+ patchIndex: z.number().int().nonnegative(),
466
+ fieldId: z.string(),
467
+ message: z.string(),
468
+ coercion: PatchCoercionTypeSchema
469
+ });
470
+ const ApplyStatusSchema = z.enum([
471
+ "applied",
472
+ "partial",
473
+ "rejected"
474
+ ]);
475
+ const ApplyResultSchema = z.object({
476
+ applyStatus: ApplyStatusSchema,
477
+ structureSummary: StructureSummarySchema,
478
+ progressSummary: ProgressSummarySchema,
479
+ issues: z.array(InspectIssueSchema),
480
+ isComplete: z.boolean(),
481
+ formState: ProgressStateSchema,
482
+ appliedPatches: z.array(z.lazy(() => PatchSchema)),
483
+ rejectedPatches: z.array(PatchRejectionSchema),
484
+ warnings: z.array(PatchWarningSchema)
485
+ });
465
486
  const SetStringPatchSchema = z.object({
466
487
  op: z.literal("set_string"),
467
488
  fieldId: IdSchema,
@@ -629,7 +650,8 @@ const SessionTurnSchema = z.object({
629
650
  context: SessionTurnContextSchema.optional(),
630
651
  apply: z.object({
631
652
  patches: z.array(PatchSchema),
632
- rejectedPatches: z.array(PatchRejectionSchema).optional()
653
+ rejectedPatches: z.array(PatchRejectionSchema).optional(),
654
+ warnings: z.array(PatchWarningSchema).optional()
633
655
  }),
634
656
  after: z.object({
635
657
  requiredIssueCount: z.number().int().nonnegative(),
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- import { $ as IdIndexEntry, $n as UrlListField, $t as SetMultiSelectPatch, A as ExplicitCheckboxValue, An as StepResultSchema, At as PatchSchema, B as FieldProgressSchema, Bn as StructureSummarySchema, Bt as RunModeSchema, C as DateFieldSchema, Cn as SingleSelectValue, Cr as WireToolResultSchema, Ct as Option, D as DocumentationBlockSchema, Dn as SourceRange, Dr as YearValueSchema, Dt as ParsedForm, E as DocumentationBlock, En as SourcePositionSchema, Er as YearValue, Et as OptionSchema, F as FieldGroupSchema, Fn as StringListValue, Ft as ProgressSummary, G as FieldValueSchema, Gn as TableRowPatch, Gt as SessionTurn, H as FieldResponseSchema, Hn as TableColumnSchema, Ht as SessionFinalSchema, I as FieldKind, In as StringListValueSchema, It as ProgressSummarySchema, J as FormSchemaSchema, Jn as TableRowResponseSchema, Jt as SessionTurnStats, K as FillMode, Kn as TableRowPatchSchema, Kt as SessionTurnContext, L as FieldKindSchema, Ln as StringValue, Lt as QualifiedColumnRef, M as Field, Mn as StringFieldSchema, Mt as ProgressCountsSchema, N as FieldBase, Nn as StringListField, Nt as ProgressState, O as DocumentationTag, On as SourceRangeSchema, Ot as Patch, P as FieldGroup, Pn as StringListFieldSchema, Pt as ProgressStateSchema, Q as Id, Qn as UrlFieldSchema, Qt as SetDatePatchSchema, R as FieldPriorityLevel, Rn as StringValueSchema, Rt as QualifiedOptionRef, S as DateField, Sn as SingleSelectFieldSchema, Sr as WireToolResult, St as NumberValueSchema, T as DateValueSchema, Tn as SourcePosition, Tr as YearFieldSchema, Tt as OptionIdSchema, U as FieldSchema, Un as TableField, Ut as SessionTranscript, V as FieldResponse, Vn as TableColumn, Vt as SessionFinal, W as FieldValue, Wn as TableFieldSchema, Wt as SessionTranscriptSchema, X as HarnessConfig, Xn as TableValueSchema, Xt as SetCheckboxesPatchSchema, Y as FrontmatterHarnessConfig, Yn as TableValue, Yt as SetCheckboxesPatch, Z as HarnessConfigSchema, Zn as UrlField, Zt as SetDatePatch, _ as CheckboxesValueSchema, _n as Severity, _r as WireResponseFormatSchema, _t as NodeType, a as ApprovalMode, an as SetStringListPatch, ar as ValidationIssue, at as IssueReason, b as ColumnTypeName, bn as SimpleCheckboxStateSchema, br as WireToolCall, bt as NumberFieldSchema, c as CheckboxMode, cn as SetStringPatchSchema, cr as ValidatorFn, ct as IssueScopeSchema, d as CheckboxProgressCountsSchema, dn as SetUrlListPatch, dr as ValidatorRegistry, dt as MultiCheckboxState, en as SetMultiSelectPatchSchema, er as UrlListFieldSchema, et as IdSchema, f as CheckboxValue, fn as SetUrlListPatchSchema, fr as WireFormat, ft as MultiCheckboxStateSchema, g as CheckboxesValue, gn as SetYearPatchSchema, gr as WireResponseFormat, gt as MultiSelectValueSchema, h as CheckboxesFieldSchema, hn as SetYearPatch, hr as WireRequestFormatSchema, ht as MultiSelectValue, i as ApplyResultSchema, in as SetSingleSelectPatchSchema, ir as UrlValueSchema, it as InspectResultSchema, j as ExplicitCheckboxValueSchema, jn as StringField, jt as ProgressCounts, k as DocumentationTagSchema, kn as StepResult, kt as PatchRejection, l as CheckboxModeSchema, ln as SetTablePatch, lr as ValidatorRef, lt as MarkformFrontmatter, m as CheckboxesField, mn as SetUrlPatchSchema, mr as WireRequestFormat, mt as MultiSelectFieldSchema, n as AnswerStateSchema, nn as SetNumberPatchSchema, nr as UrlListValueSchema, nt as InspectIssueSchema, o as CellResponse, on as SetStringListPatchSchema, or as ValidationIssueSchema, ot as IssueReasonSchema, p as CheckboxValueSchema, pn as SetUrlPatch, pr as WireFormatSchema, pt as MultiSelectField, q as FormSchema, qn as TableRowResponse, qt as SessionTurnSchema, r as ApplyResult, rn as SetSingleSelectPatch, rr as UrlValue, rt as InspectResult, s as CellResponseSchema, sn as SetStringPatch, sr as ValidatorContext, st as IssueScope, t as AnswerState, tn as SetNumberPatch, tr as UrlListValue, tt as InspectIssue, u as CheckboxProgressCounts, un as SetTablePatchSchema, ur as ValidatorRefSchema, ut as MarkformFrontmatterSchema, v as ClearFieldPatch, vn as SeveritySchema, vr as WireResponseStep, vt as Note, w as DateValue, wn as SingleSelectValueSchema, wr as YearField, wt as OptionId, x as ColumnTypeNameSchema, xn as SingleSelectField, xr as WireToolCallSchema, xt as NumberValue, y as ClearFieldPatchSchema, yn as SimpleCheckboxState, yr as WireResponseStepSchema, yt as NumberField, z as FieldProgress, zn as StructureSummary, zt as RunMode } from "./coreTypes-Cw_cJsa5.mjs";
2
+ import { $ as IdIndexEntry, $n as UrlListField, $t as SetMultiSelectPatch, A as ExplicitCheckboxValue, An as StepResultSchema, At as PatchSchema, B as FieldProgressSchema, Bn as StructureSummarySchema, Bt as RunModeSchema, C as DateFieldSchema, Cn as SingleSelectValue, Cr as WireToolResultSchema, Ct as Option, D as DocumentationBlockSchema, Dn as SourceRange, Dr as YearValueSchema, Dt as ParsedForm, E as DocumentationBlock, En as SourcePositionSchema, Er as YearValue, Et as OptionSchema, F as FieldGroupSchema, Fn as StringListValue, Ft as ProgressSummary, G as FieldValueSchema, Gn as TableRowPatch, Gt as SessionTurn, H as FieldResponseSchema, Hn as TableColumnSchema, Ht as SessionFinalSchema, I as FieldKind, In as StringListValueSchema, It as ProgressSummarySchema, J as FormSchemaSchema, Jn as TableRowResponseSchema, Jt as SessionTurnStats, K as FillMode, Kn as TableRowPatchSchema, Kt as SessionTurnContext, L as FieldKindSchema, Ln as StringValue, Lt as QualifiedColumnRef, M as Field, Mn as StringFieldSchema, Mt as ProgressCountsSchema, N as FieldBase, Nn as StringListField, Nt as ProgressState, O as DocumentationTag, On as SourceRangeSchema, Ot as Patch, P as FieldGroup, Pn as StringListFieldSchema, Pt as ProgressStateSchema, Q as Id, Qn as UrlFieldSchema, Qt as SetDatePatchSchema, R as FieldPriorityLevel, Rn as StringValueSchema, Rt as QualifiedOptionRef, S as DateField, Sn as SingleSelectFieldSchema, Sr as WireToolResult, St as NumberValueSchema, T as DateValueSchema, Tn as SourcePosition, Tr as YearFieldSchema, Tt as OptionIdSchema, U as FieldSchema, Un as TableField, Ut as SessionTranscript, V as FieldResponse, Vn as TableColumn, Vt as SessionFinal, W as FieldValue, Wn as TableFieldSchema, Wt as SessionTranscriptSchema, X as HarnessConfig, Xn as TableValueSchema, Xt as SetCheckboxesPatchSchema, Y as FrontmatterHarnessConfig, Yn as TableValue, Yt as SetCheckboxesPatch, Z as HarnessConfigSchema, Zn as UrlField, Zt as SetDatePatch, _ as CheckboxesValueSchema, _n as Severity, _r as WireResponseFormatSchema, _t as NodeType, a as ApprovalMode, an as SetStringListPatch, ar as ValidationIssue, at as IssueReason, b as ColumnTypeName, bn as SimpleCheckboxStateSchema, br as WireToolCall, bt as NumberFieldSchema, c as CheckboxMode, cn as SetStringPatchSchema, cr as ValidatorFn, ct as IssueScopeSchema, d as CheckboxProgressCountsSchema, dn as SetUrlListPatch, dr as ValidatorRegistry, dt as MultiCheckboxState, en as SetMultiSelectPatchSchema, er as UrlListFieldSchema, et as IdSchema, f as CheckboxValue, fn as SetUrlListPatchSchema, fr as WireFormat, ft as MultiCheckboxStateSchema, g as CheckboxesValue, gn as SetYearPatchSchema, gr as WireResponseFormat, gt as MultiSelectValueSchema, h as CheckboxesFieldSchema, hn as SetYearPatch, hr as WireRequestFormatSchema, ht as MultiSelectValue, i as ApplyResultSchema, in as SetSingleSelectPatchSchema, ir as UrlValueSchema, it as InspectResultSchema, j as ExplicitCheckboxValueSchema, jn as StringField, jt as ProgressCounts, k as DocumentationTagSchema, kn as StepResult, kt as PatchRejection, l as CheckboxModeSchema, ln as SetTablePatch, lr as ValidatorRef, lt as MarkformFrontmatter, m as CheckboxesField, mn as SetUrlPatchSchema, mr as WireRequestFormat, mt as MultiSelectFieldSchema, n as AnswerStateSchema, nn as SetNumberPatchSchema, nr as UrlListValueSchema, nt as InspectIssueSchema, o as CellResponse, on as SetStringListPatchSchema, or as ValidationIssueSchema, ot as IssueReasonSchema, p as CheckboxValueSchema, pn as SetUrlPatch, pr as WireFormatSchema, pt as MultiSelectField, q as FormSchema, qn as TableRowResponse, qt as SessionTurnSchema, r as ApplyResult, rn as SetSingleSelectPatch, rr as UrlValue, rt as InspectResult, s as CellResponseSchema, sn as SetStringPatch, sr as ValidatorContext, st as IssueScope, t as AnswerState, tn as SetNumberPatch, tr as UrlListValue, tt as InspectIssue, u as CheckboxProgressCounts, un as SetTablePatchSchema, ur as ValidatorRefSchema, ut as MarkformFrontmatterSchema, v as ClearFieldPatch, vn as SeveritySchema, vr as WireResponseStep, vt as Note, w as DateValue, wn as SingleSelectValueSchema, wr as YearField, wt as OptionId, x as ColumnTypeNameSchema, xn as SingleSelectField, xr as WireToolCallSchema, xt as NumberValue, y as ClearFieldPatchSchema, yn as SimpleCheckboxState, yr as WireResponseStepSchema, yt as NumberField, z as FieldProgress, zn as StructureSummary, zt as RunMode } from "./coreTypes-CnKsB1H3.mjs";
3
3
  import { LanguageModel, Tool } from "ai";
4
4
 
5
5
  //#region src/errors.d.ts
@@ -325,11 +325,12 @@ declare function serializeSession(session: SessionTranscript): string;
325
325
  /**
326
326
  * Apply patches to a parsed form.
327
327
  *
328
- * Uses transaction semantics - all patches succeed or none are applied.
328
+ * Uses best-effort semantics: valid patches are applied even when some fail.
329
+ * Invalid patches are rejected with detailed error messages.
329
330
  *
330
331
  * @param form - The parsed form to update
331
332
  * @param patches - Array of patches to apply
332
- * @returns Apply result with new summaries and status
333
+ * @returns Apply result with new summaries, status, and detailed feedback
333
334
  */
334
335
  declare function applyPatches(form: ParsedForm, patches: Patch[]): ApplyResult;
335
336
  //#endregion
@@ -880,6 +881,8 @@ interface FillOptions {
880
881
  maxPatchesPerTurn?: number;
881
882
  /** Maximum issues to show per turn (default: 10) */
882
883
  maxIssuesPerTurn?: number;
884
+ /** Maximum AI SDK steps (tool call rounds) per turn (default: 20) */
885
+ maxStepsPerTurn?: number;
883
886
  /** Target roles to fill (default: ['agent']) */
884
887
  targetRoles?: string[];
885
888
  /** Fill mode: 'continue' (skip filled) or 'overwrite' (re-fill) */
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
 
2
- import { $ as SetUrlListPatchSchema, A as MultiCheckboxStateSchema, At as WireToolResultSchema, B as ProgressSummarySchema, C as HarnessConfigSchema, Ct as ValidationIssueSchema, D as IssueReasonSchema, Dt as WireResponseFormatSchema, E as InspectResultSchema, Et as WireRequestFormatSchema, F as OptionIdSchema, G as SetCheckboxesPatchSchema, H as SessionFinalSchema, I as OptionSchema, J as SetNumberPatchSchema, K as SetDatePatchSchema, L as PatchSchema, M as MultiSelectValueSchema, Mt as YearValueSchema, N as NumberFieldSchema, O as IssueScopeSchema, Ot as WireResponseStepSchema, P as NumberValueSchema, Q as SetTablePatchSchema, R as ProgressCountsSchema, S as FormSchemaSchema, St as UrlValueSchema, T as InspectIssueSchema, Tt as WireFormatSchema, U as SessionTranscriptSchema, V as RunModeSchema, W as SessionTurnSchema, X as SetStringListPatchSchema, Y as SetSingleSelectPatchSchema, Z as SetStringPatchSchema, _ as FieldKindSchema, _t as TableRowResponseSchema, a as CheckboxProgressCountsSchema, at as SingleSelectValueSchema, b as FieldSchema, bt as UrlListFieldSchema, c as CheckboxesValueSchema, ct as StepResultSchema, d as DateFieldSchema, dt as StringListValueSchema, et as SetUrlPatchSchema, f as DateValueSchema, ft as StringValueSchema, g as FieldGroupSchema, gt as TableRowPatchSchema, h as ExplicitCheckboxValueSchema, ht as TableFieldSchema, i as CheckboxModeSchema, it as SingleSelectFieldSchema, j as MultiSelectFieldSchema, jt as YearFieldSchema, k as MarkformFrontmatterSchema, kt as WireToolCallSchema, l as ClearFieldPatchSchema, lt as StringFieldSchema, m as DocumentationTagSchema, mt as TableColumnSchema, n as ApplyResultSchema, nt as SeveritySchema, o as CheckboxValueSchema, ot as SourcePositionSchema, p as DocumentationBlockSchema, pt as StructureSummarySchema, q as SetMultiSelectPatchSchema, r as CellResponseSchema, rt as SimpleCheckboxStateSchema, s as CheckboxesFieldSchema, st as SourceRangeSchema, t as AnswerStateSchema, tt as SetYearPatchSchema, u as ColumnTypeNameSchema, ut as StringListFieldSchema, v as FieldProgressSchema, vt as TableValueSchema, w as IdSchema, wt as ValidatorRefSchema, x as FieldValueSchema, xt as UrlListValueSchema, y as FieldResponseSchema, yt as UrlFieldSchema, z as ProgressStateSchema } from "./coreTypes-Z8SvQyoL.mjs";
3
- import { $ as isPatchError, B as MarkformAbortError, G as MarkformPatchError, H as MarkformError, J as isAbortError, K as MarkformValidationError, Q as isParseError, U as MarkformLlmError, V as MarkformConfigError, W as MarkformParseError, X as isLlmError, Y as isConfigError, Z as isMarkformError, a as validate, c as computeProgressSummary, d as serializeForm, et as isRetryableError, i as inspect, l as computeStructureSummary, o as computeAllSummaries, p as serializeReport, q as ParseError, s as computeFormState, t as applyPatches, tt as isValidationError, u as isFormComplete } from "./apply-WeeBXwXg.mjs";
4
- import { A as parseRawTable, C as parseScopeRef, D as parseForm, E as formToJsonSchema, O as parseCellValue, S as isQualifiedRef, T as fieldToJsonSchema, _ as coerceToFieldPatch, a as resolveHarnessConfig, b as isCellRef, f as MockAgent, g as coerceInputContext, h as createHarness, i as runResearch, k as parseMarkdownTable, m as FormHarness, n as isResearchForm, o as fillForm, p as createMockAgent, r as validateResearchForm, t as VERSION, v as findFieldById, w as serializeScopeRef, x as isFieldRef, y as getFieldId } from "./src-DMQCFp2l.mjs";
5
- import { n as serializeSession, t as parseSession } from "./session-DX-DvjRP.mjs";
2
+ import { $ as SetUrlListPatchSchema, A as MultiCheckboxStateSchema, At as WireToolResultSchema, B as ProgressSummarySchema, C as HarnessConfigSchema, Ct as ValidationIssueSchema, D as IssueReasonSchema, Dt as WireResponseFormatSchema, E as InspectResultSchema, Et as WireRequestFormatSchema, F as OptionIdSchema, G as SetCheckboxesPatchSchema, H as SessionFinalSchema, I as OptionSchema, J as SetNumberPatchSchema, K as SetDatePatchSchema, L as PatchSchema, M as MultiSelectValueSchema, Mt as YearValueSchema, N as NumberFieldSchema, O as IssueScopeSchema, Ot as WireResponseStepSchema, P as NumberValueSchema, Q as SetTablePatchSchema, R as ProgressCountsSchema, S as FormSchemaSchema, St as UrlValueSchema, T as InspectIssueSchema, Tt as WireFormatSchema, U as SessionTranscriptSchema, V as RunModeSchema, W as SessionTurnSchema, X as SetStringListPatchSchema, Y as SetSingleSelectPatchSchema, Z as SetStringPatchSchema, _ as FieldKindSchema, _t as TableRowResponseSchema, a as CheckboxProgressCountsSchema, at as SingleSelectValueSchema, b as FieldSchema, bt as UrlListFieldSchema, c as CheckboxesValueSchema, ct as StepResultSchema, d as DateFieldSchema, dt as StringListValueSchema, et as SetUrlPatchSchema, f as DateValueSchema, ft as StringValueSchema, g as FieldGroupSchema, gt as TableRowPatchSchema, h as ExplicitCheckboxValueSchema, ht as TableFieldSchema, i as CheckboxModeSchema, it as SingleSelectFieldSchema, j as MultiSelectFieldSchema, jt as YearFieldSchema, k as MarkformFrontmatterSchema, kt as WireToolCallSchema, l as ClearFieldPatchSchema, lt as StringFieldSchema, m as DocumentationTagSchema, mt as TableColumnSchema, n as ApplyResultSchema, nt as SeveritySchema, o as CheckboxValueSchema, ot as SourcePositionSchema, p as DocumentationBlockSchema, pt as StructureSummarySchema, q as SetMultiSelectPatchSchema, r as CellResponseSchema, rt as SimpleCheckboxStateSchema, s as CheckboxesFieldSchema, st as SourceRangeSchema, t as AnswerStateSchema, tt as SetYearPatchSchema, u as ColumnTypeNameSchema, ut as StringListFieldSchema, v as FieldProgressSchema, vt as TableValueSchema, w as IdSchema, wt as ValidatorRefSchema, x as FieldValueSchema, xt as UrlListValueSchema, y as FieldResponseSchema, yt as UrlFieldSchema, z as ProgressStateSchema } from "./coreTypes-DiCddBKu.mjs";
3
+ import { $ as isParseError, G as MarkformParseError, H as MarkformConfigError, J as ParseError, K as MarkformPatchError, Q as isMarkformError, U as MarkformError, V as MarkformAbortError, W as MarkformLlmError, X as isConfigError, Y as isAbortError, Z as isLlmError, a as validate, c as computeProgressSummary, d as serializeForm, et as isPatchError, i as inspect, l as computeStructureSummary, nt as isValidationError, o as computeAllSummaries, p as serializeReport, q as MarkformValidationError, s as computeFormState, t as applyPatches, tt as isRetryableError, u as isFormComplete } from "./apply-CUH_16RD.mjs";
4
+ import { A as parseRawTable, C as parseScopeRef, D as parseForm, E as formToJsonSchema, O as parseCellValue, S as isQualifiedRef, T as fieldToJsonSchema, _ as coerceToFieldPatch, a as resolveHarnessConfig, b as isCellRef, f as MockAgent, g as coerceInputContext, h as createHarness, i as runResearch, k as parseMarkdownTable, m as FormHarness, n as isResearchForm, o as fillForm, p as createMockAgent, r as validateResearchForm, t as VERSION, v as findFieldById, w as serializeScopeRef, x as isFieldRef, y as getFieldId } from "./src-BKRKMdgR.mjs";
5
+ import { n as serializeSession, t as parseSession } from "./session-XDrocA3j.mjs";
6
6
 
7
7
  export { AnswerStateSchema, ApplyResultSchema, CellResponseSchema, CheckboxModeSchema, CheckboxProgressCountsSchema, CheckboxValueSchema, CheckboxesFieldSchema, CheckboxesValueSchema, ClearFieldPatchSchema, ColumnTypeNameSchema, DateFieldSchema, DateValueSchema, DocumentationBlockSchema, DocumentationTagSchema, ExplicitCheckboxValueSchema, FieldGroupSchema, FieldKindSchema, FieldProgressSchema, FieldResponseSchema, FieldSchema, FieldValueSchema, FormHarness, FormSchemaSchema, HarnessConfigSchema, IdSchema, InspectIssueSchema, InspectResultSchema, IssueReasonSchema, IssueScopeSchema, MarkformAbortError, MarkformConfigError, MarkformError, MarkformFrontmatterSchema, MarkformLlmError, MarkformParseError, MarkformPatchError, MarkformValidationError, MockAgent, MultiCheckboxStateSchema, MultiSelectFieldSchema, MultiSelectValueSchema, NumberFieldSchema, NumberValueSchema, OptionIdSchema, OptionSchema, ParseError, PatchSchema, ProgressCountsSchema, ProgressStateSchema, ProgressSummarySchema, RunModeSchema, SessionFinalSchema, SessionTranscriptSchema, SessionTurnSchema, SetCheckboxesPatchSchema, SetDatePatchSchema, SetMultiSelectPatchSchema, SetNumberPatchSchema, SetSingleSelectPatchSchema, SetStringListPatchSchema, SetStringPatchSchema, SetTablePatchSchema, SetUrlListPatchSchema, SetUrlPatchSchema, SetYearPatchSchema, SeveritySchema, SimpleCheckboxStateSchema, SingleSelectFieldSchema, SingleSelectValueSchema, SourcePositionSchema, SourceRangeSchema, StepResultSchema, StringFieldSchema, StringListFieldSchema, StringListValueSchema, StringValueSchema, StructureSummarySchema, TableColumnSchema, TableFieldSchema, TableRowPatchSchema, TableRowResponseSchema, TableValueSchema, UrlFieldSchema, UrlListFieldSchema, UrlListValueSchema, UrlValueSchema, VERSION, ValidationIssueSchema, ValidatorRefSchema, WireFormatSchema, WireRequestFormatSchema, WireResponseFormatSchema, WireResponseStepSchema, WireToolCallSchema, WireToolResultSchema, YearFieldSchema, YearValueSchema, applyPatches, coerceInputContext, coerceToFieldPatch, computeAllSummaries, computeFormState, computeProgressSummary, computeStructureSummary, createHarness, createMockAgent, fieldToJsonSchema, fillForm, findFieldById, formToJsonSchema, getFieldId, inspect, isAbortError, isCellRef, isConfigError, isFieldRef, isFormComplete, isLlmError, isMarkformError, isParseError, isPatchError, isQualifiedRef, isResearchForm, isRetryableError, isValidationError, parseCellValue, parseForm, parseMarkdownTable, parseRawTable, parseScopeRef, parseSession, resolveHarnessConfig, runResearch, serializeForm, serializeReport, serializeScopeRef, serializeSession, validate, validateResearchForm };
@@ -1,4 +1,4 @@
1
1
 
2
- import { n as serializeSession, t as parseSession } from "./session-DX-DvjRP.mjs";
2
+ import { n as serializeSession, t as parseSession } from "./session-XDrocA3j.mjs";
3
3
 
4
4
  export { serializeSession };