@514labs/moose-lib 0.6.263-ci-10-gc7213e03 → 0.6.263-ci-11-g40393f0d

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.
@@ -1049,7 +1049,15 @@ var transformNewMooseResource = (node, checker) => {
1049
1049
  }
1050
1050
  const allowIndexSignatures = ["IngestApi", "Stream"].includes(typeName) || typeName === "IngestPipeline" && !ingestPipelineHasTable;
1051
1051
  const typeAtLocation = checker.getTypeAtLocation(typeNode);
1052
- const hasIndexSignature = allowIndexSignatures && checker.getIndexInfosOfType(typeAtLocation).length > 0;
1052
+ const indexSignatures = checker.getIndexInfosOfType(typeAtLocation);
1053
+ const hasIndexSignature = allowIndexSignatures && indexSignatures.length > 0;
1054
+ if (typeName === "IngestPipeline" && ingestPipelineHasTable && indexSignatures.length > 0) {
1055
+ throw new Error(
1056
+ `IngestPipeline cannot use a type with index signatures when 'table' is configured. Extra fields would be silently dropped when writing to the ClickHouse table. Either:
1057
+ 1. Remove the index signature from your type to use a fixed schema, or
1058
+ 2. Set 'table: false' in your IngestPipeline config if you only need the API and stream`
1059
+ );
1060
+ }
1053
1061
  const internalArguments = typeName === "DeadLetterQueue" ? [typiaTypeGuard(node)] : [
1054
1062
  typiaJsonSchemas(typeNode),
1055
1063
  parseAsAny(