@malloydata/malloy 0.0.403 → 0.0.405

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 (295) hide show
  1. package/LICENSE +77 -0
  2. package/dist/api/asynchronous.js +2 -4
  3. package/dist/api/connection.js +2 -4
  4. package/dist/api/core.js +5 -6
  5. package/dist/api/foundation/annotation.js +3 -11
  6. package/dist/api/foundation/compile.js +15 -8
  7. package/dist/api/foundation/core.d.ts +44 -6
  8. package/dist/api/foundation/core.js +112 -37
  9. package/dist/api/foundation/result.js +1 -2
  10. package/dist/api/foundation/runtime.js +9 -19
  11. package/dist/api/foundation/taggable.d.ts +5 -0
  12. package/dist/api/foundation/types.d.ts +15 -0
  13. package/dist/api/index.js +4 -6
  14. package/dist/api/sessioned.js +2 -4
  15. package/dist/api/stateless.js +2 -4
  16. package/dist/api/util.js +2 -4
  17. package/dist/connection/base_connection.js +2 -4
  18. package/dist/connection/types.d.ts +1 -3
  19. package/dist/connection_utils.js +2 -20
  20. package/dist/dialect/dialect.d.ts +9 -4
  21. package/dist/dialect/dialect.js +37 -31
  22. package/dist/dialect/dialect_map.js +2 -20
  23. package/dist/dialect/duckdb/dialect_functions.js +2 -4
  24. package/dist/dialect/duckdb/duckdb.js +2 -20
  25. package/dist/dialect/duckdb/function_overrides.js +2 -4
  26. package/dist/dialect/duckdb/index.js +2 -20
  27. package/dist/dialect/duckdb/table-path-parser.js +4 -4
  28. package/dist/dialect/functions/index.js +2 -20
  29. package/dist/dialect/functions/malloy_standard_functions.js +2 -4
  30. package/dist/dialect/functions/util.js +2 -21
  31. package/dist/dialect/index.js +2 -20
  32. package/dist/dialect/mysql/dialect_functions.js +2 -4
  33. package/dist/dialect/mysql/function_overrides.js +2 -4
  34. package/dist/dialect/mysql/index.js +2 -4
  35. package/dist/dialect/mysql/mysql.js +2 -20
  36. package/dist/dialect/pg_impl.d.ts +1 -0
  37. package/dist/dialect/pg_impl.js +10 -4
  38. package/dist/dialect/postgres/dialect_functions.js +2 -4
  39. package/dist/dialect/postgres/function_overrides.js +2 -4
  40. package/dist/dialect/postgres/index.js +2 -20
  41. package/dist/dialect/postgres/postgres.js +2 -20
  42. package/dist/dialect/snowflake/dialect_functions.js +2 -4
  43. package/dist/dialect/snowflake/function_overrides.js +2 -4
  44. package/dist/dialect/snowflake/index.js +2 -20
  45. package/dist/dialect/snowflake/snowflake.js +6 -25
  46. package/dist/dialect/standardsql/dialect_functions.js +2 -4
  47. package/dist/dialect/standardsql/function_overrides.js +2 -4
  48. package/dist/dialect/standardsql/index.js +2 -20
  49. package/dist/dialect/standardsql/standardsql.js +2 -20
  50. package/dist/dialect/tiny_parser.js +2 -4
  51. package/dist/dialect/trino/dialect_functions.js +2 -4
  52. package/dist/dialect/trino/function_overrides.js +2 -4
  53. package/dist/dialect/trino/index.js +2 -20
  54. package/dist/dialect/trino/trino.d.ts +1 -0
  55. package/dist/dialect/trino/trino.js +29 -26
  56. package/dist/index.js +4 -22
  57. package/dist/lang/ast/ast-utils.js +2 -20
  58. package/dist/lang/ast/error-factory.js +2 -20
  59. package/dist/lang/ast/expressions/apply.js +2 -20
  60. package/dist/lang/ast/expressions/binary-boolean.js +2 -20
  61. package/dist/lang/ast/expressions/binary-numeric.js +2 -20
  62. package/dist/lang/ast/expressions/boolean.js +2 -20
  63. package/dist/lang/ast/expressions/case.js +2 -4
  64. package/dist/lang/ast/expressions/constant-expression.js +2 -20
  65. package/dist/lang/ast/expressions/expr-add-sub.js +2 -20
  66. package/dist/lang/ast/expressions/expr-aggregate-function.js +2 -20
  67. package/dist/lang/ast/expressions/expr-alternation-tree.js +2 -20
  68. package/dist/lang/ast/expressions/expr-array-literal.js +2 -4
  69. package/dist/lang/ast/expressions/expr-asymmetric.js +2 -20
  70. package/dist/lang/ast/expressions/expr-avg.js +2 -20
  71. package/dist/lang/ast/expressions/expr-cast.js +2 -20
  72. package/dist/lang/ast/expressions/expr-coalesce.js +2 -20
  73. package/dist/lang/ast/expressions/expr-compare.js +2 -20
  74. package/dist/lang/ast/expressions/expr-count-distinct.js +2 -20
  75. package/dist/lang/ast/expressions/expr-count.js +2 -20
  76. package/dist/lang/ast/expressions/expr-filter-expr.js +2 -4
  77. package/dist/lang/ast/expressions/expr-func.js +6 -24
  78. package/dist/lang/ast/expressions/expr-granular-time.js +2 -20
  79. package/dist/lang/ast/expressions/expr-id-reference.js +2 -20
  80. package/dist/lang/ast/expressions/expr-logical-op.js +2 -20
  81. package/dist/lang/ast/expressions/expr-max.js +2 -20
  82. package/dist/lang/ast/expressions/expr-min.js +2 -20
  83. package/dist/lang/ast/expressions/expr-minus.js +2 -20
  84. package/dist/lang/ast/expressions/expr-mul-div.js +2 -20
  85. package/dist/lang/ast/expressions/expr-not.js +2 -20
  86. package/dist/lang/ast/expressions/expr-now.js +2 -20
  87. package/dist/lang/ast/expressions/expr-null.js +2 -20
  88. package/dist/lang/ast/expressions/expr-number.js +2 -20
  89. package/dist/lang/ast/expressions/expr-parens.js +2 -20
  90. package/dist/lang/ast/expressions/expr-props.js +2 -20
  91. package/dist/lang/ast/expressions/expr-record-literal.js +2 -4
  92. package/dist/lang/ast/expressions/expr-regex.js +2 -20
  93. package/dist/lang/ast/expressions/expr-string.js +4 -0
  94. package/dist/lang/ast/expressions/expr-sum.js +2 -20
  95. package/dist/lang/ast/expressions/expr-time-extract.js +2 -20
  96. package/dist/lang/ast/expressions/expr-time.js +2 -20
  97. package/dist/lang/ast/expressions/expr-ungroup.js +2 -20
  98. package/dist/lang/ast/expressions/for-range.js +2 -20
  99. package/dist/lang/ast/expressions/function-ordering.js +2 -20
  100. package/dist/lang/ast/expressions/grouped_by.js +2 -4
  101. package/dist/lang/ast/expressions/partial-compare.js +2 -20
  102. package/dist/lang/ast/expressions/partition_by.js +2 -20
  103. package/dist/lang/ast/expressions/pick-when.js +2 -20
  104. package/dist/lang/ast/expressions/range.js +2 -20
  105. package/dist/lang/ast/expressions/time-frame.js +2 -20
  106. package/dist/lang/ast/expressions/time-literal.js +2 -20
  107. package/dist/lang/ast/expressions/unary.js +2 -20
  108. package/dist/lang/ast/field-space/ast-view-field.js +2 -20
  109. package/dist/lang/ast/field-space/column-space-field.js +2 -20
  110. package/dist/lang/ast/field-space/def-space.js +2 -4
  111. package/dist/lang/ast/field-space/dynamic-space.js +4 -22
  112. package/dist/lang/ast/field-space/include-utils.js +6 -8
  113. package/dist/lang/ast/field-space/index-field-space.js +2 -20
  114. package/dist/lang/ast/field-space/ir-view-field.js +2 -20
  115. package/dist/lang/ast/field-space/join-space-field.js +2 -20
  116. package/dist/lang/ast/field-space/parameter-space.js +2 -4
  117. package/dist/lang/ast/field-space/passthrough-space.js +2 -4
  118. package/dist/lang/ast/field-space/permissive-space.js +2 -4
  119. package/dist/lang/ast/field-space/project-field-space.js +2 -20
  120. package/dist/lang/ast/field-space/query-input-space.js +2 -20
  121. package/dist/lang/ast/field-space/query-spaces.js +8 -28
  122. package/dist/lang/ast/field-space/reference-field.js +5 -21
  123. package/dist/lang/ast/field-space/refine-from-space-field.js +2 -4
  124. package/dist/lang/ast/field-space/refined-space.js +8 -26
  125. package/dist/lang/ast/field-space/rename-space-field.js +8 -29
  126. package/dist/lang/ast/field-space/static-space.js +3 -21
  127. package/dist/lang/ast/field-space/struct-space-field-base.js +3 -21
  128. package/dist/lang/ast/field-space/view-field.js +2 -20
  129. package/dist/lang/ast/index.js +2 -20
  130. package/dist/lang/ast/parameters/argument.js +2 -4
  131. package/dist/lang/ast/parameters/has-parameter.js +2 -20
  132. package/dist/lang/ast/query-builders/index-builder.js +2 -20
  133. package/dist/lang/ast/query-builders/partial-builder.js +4 -0
  134. package/dist/lang/ast/query-builders/project-builder.js +2 -20
  135. package/dist/lang/ast/query-builders/reduce-builder.js +2 -20
  136. package/dist/lang/ast/query-elements/anonymous-query.js +3 -21
  137. package/dist/lang/ast/query-elements/query-arrow.js +2 -20
  138. package/dist/lang/ast/query-elements/query-base.js +2 -20
  139. package/dist/lang/ast/query-elements/query-head-struct.js +2 -20
  140. package/dist/lang/ast/query-elements/query-raw.js +2 -20
  141. package/dist/lang/ast/query-elements/query-reference.js +2 -20
  142. package/dist/lang/ast/query-elements/query-refine.js +2 -20
  143. package/dist/lang/ast/query-items/field-declaration.js +3 -21
  144. package/dist/lang/ast/query-items/field-references.js +2 -20
  145. package/dist/lang/ast/query-items/typecheck_utils.js +2 -20
  146. package/dist/lang/ast/query-properties/aggregate.js +2 -20
  147. package/dist/lang/ast/query-properties/calculate.js +2 -20
  148. package/dist/lang/ast/query-properties/declare-fields.js +2 -20
  149. package/dist/lang/ast/query-properties/drill.js +5 -10
  150. package/dist/lang/ast/query-properties/extend.js +2 -20
  151. package/dist/lang/ast/query-properties/filters.js +2 -20
  152. package/dist/lang/ast/query-properties/group-by.js +2 -20
  153. package/dist/lang/ast/query-properties/indexing.js +2 -20
  154. package/dist/lang/ast/query-properties/limit.js +2 -20
  155. package/dist/lang/ast/query-properties/nest.js +6 -21
  156. package/dist/lang/ast/query-properties/nests.js +2 -20
  157. package/dist/lang/ast/query-properties/ordering.js +2 -20
  158. package/dist/lang/ast/query-properties/project-statement.js +2 -20
  159. package/dist/lang/ast/query-properties/qop-desc.js +2 -20
  160. package/dist/lang/ast/query-properties/sampling.js +2 -20
  161. package/dist/lang/ast/query-utils.js +2 -20
  162. package/dist/lang/ast/source-elements/composite-source.js +3 -6
  163. package/dist/lang/ast/source-elements/named-source.js +2 -23
  164. package/dist/lang/ast/source-elements/query-source.js +2 -22
  165. package/dist/lang/ast/source-elements/refined-source.js +2 -22
  166. package/dist/lang/ast/source-elements/source.js +2 -20
  167. package/dist/lang/ast/source-elements/sql-source.js +8 -33
  168. package/dist/lang/ast/source-elements/table-source.js +11 -32
  169. package/dist/lang/ast/source-elements/typed-source.js +2 -3
  170. package/dist/lang/ast/source-elements/virtual-source.js +1 -2
  171. package/dist/lang/ast/source-properties/dimensions.js +2 -20
  172. package/dist/lang/ast/source-properties/field-list-edit.js +2 -20
  173. package/dist/lang/ast/source-properties/join.js +7 -31
  174. package/dist/lang/ast/source-properties/measures.js +2 -20
  175. package/dist/lang/ast/source-properties/primary-key.js +2 -20
  176. package/dist/lang/ast/source-properties/renames.js +3 -21
  177. package/dist/lang/ast/source-properties/timezone-statement.js +2 -20
  178. package/dist/lang/ast/source-properties/user-type-shape.js +9 -4
  179. package/dist/lang/ast/source-properties/view-field-declaration.js +6 -21
  180. package/dist/lang/ast/source-properties/views.js +2 -20
  181. package/dist/lang/ast/source-query-elements/include-item.js +2 -4
  182. package/dist/lang/ast/source-query-elements/source-query-element.js +2 -20
  183. package/dist/lang/ast/source-query-elements/sq-arrow.js +2 -20
  184. package/dist/lang/ast/source-query-elements/sq-compose.js +2 -4
  185. package/dist/lang/ast/source-query-elements/sq-extend.js +2 -20
  186. package/dist/lang/ast/source-query-elements/sq-reference.js +3 -21
  187. package/dist/lang/ast/source-query-elements/sq-refine.js +2 -20
  188. package/dist/lang/ast/source-query-elements/sq-source.js +2 -20
  189. package/dist/lang/ast/sql-elements/sql-string.js +2 -20
  190. package/dist/lang/ast/statements/define-given.js +2 -2
  191. package/dist/lang/ast/statements/define-query.js +3 -21
  192. package/dist/lang/ast/statements/define-source.js +8 -23
  193. package/dist/lang/ast/statements/define-user-type.js +1 -1
  194. package/dist/lang/ast/statements/import-statement.js +7 -20
  195. package/dist/lang/ast/time-utils.js +2 -20
  196. package/dist/lang/ast/typedesc-utils.js +2 -20
  197. package/dist/lang/ast/types/annotation-elements.js +2 -20
  198. package/dist/lang/ast/types/binary_operators.js +2 -4
  199. package/dist/lang/ast/types/definition-list.js +2 -20
  200. package/dist/lang/ast/types/dialect-name-space.js +2 -4
  201. package/dist/lang/ast/types/document-compile-result.js +2 -20
  202. package/dist/lang/ast/types/expr-result.js +2 -20
  203. package/dist/lang/ast/types/expr-value.js +2 -20
  204. package/dist/lang/ast/types/expression-def.js +2 -20
  205. package/dist/lang/ast/types/field-collection-member.js +2 -20
  206. package/dist/lang/ast/types/field-prop-statement.js +2 -20
  207. package/dist/lang/ast/types/field-space.js +2 -20
  208. package/dist/lang/ast/types/global-name-space.js +2 -20
  209. package/dist/lang/ast/types/granular-result.js +2 -20
  210. package/dist/lang/ast/types/literal.d.ts +1 -1
  211. package/dist/lang/ast/types/literal.js +2 -4
  212. package/dist/lang/ast/types/lookup-result.js +2 -20
  213. package/dist/lang/ast/types/malloy-element.d.ts +28 -4
  214. package/dist/lang/ast/types/malloy-element.js +63 -77
  215. package/dist/lang/ast/types/model-entry.js +2 -20
  216. package/dist/lang/ast/types/name-space.js +2 -20
  217. package/dist/lang/ast/types/noteable.js +2 -20
  218. package/dist/lang/ast/types/op-desc.js +2 -20
  219. package/dist/lang/ast/types/pipeline-comp.js +2 -20
  220. package/dist/lang/ast/types/query-builder.js +2 -20
  221. package/dist/lang/ast/types/query-comp.js +2 -20
  222. package/dist/lang/ast/types/query-element.js +2 -20
  223. package/dist/lang/ast/types/query-extend-property.js +2 -20
  224. package/dist/lang/ast/types/query-item.js +2 -20
  225. package/dist/lang/ast/types/query-property-interface.js +2 -20
  226. package/dist/lang/ast/types/query-property.js +2 -20
  227. package/dist/lang/ast/types/source-desc.js +2 -20
  228. package/dist/lang/ast/types/source-property.js +2 -20
  229. package/dist/lang/ast/types/space-entry.js +2 -20
  230. package/dist/lang/ast/types/space-field.js +2 -20
  231. package/dist/lang/ast/types/space-param.js +2 -20
  232. package/dist/lang/ast/types/time-result.js +2 -20
  233. package/dist/lang/ast/view-elements/qop-desc-view.js +2 -20
  234. package/dist/lang/ast/view-elements/reference-view.js +2 -20
  235. package/dist/lang/ast/view-elements/refine-utils.js +2 -20
  236. package/dist/lang/ast/view-elements/view-arrow.js +2 -20
  237. package/dist/lang/ast/view-elements/view-refine.js +2 -20
  238. package/dist/lang/ast/view-elements/view.js +2 -20
  239. package/dist/lang/composite-source-utils.js +15 -21
  240. package/dist/lang/field-utils.js +4 -22
  241. package/dist/lang/index.js +2 -20
  242. package/dist/lang/malloy-parse-info.js +2 -20
  243. package/dist/lang/malloy-to-ast.d.ts +1 -1
  244. package/dist/lang/malloy-to-ast.js +2 -21
  245. package/dist/lang/malloy-to-stable-query.js +2 -4
  246. package/dist/lang/parse-log.js +2 -20
  247. package/dist/lang/parse-malloy.d.ts +1 -9
  248. package/dist/lang/parse-malloy.js +8 -50
  249. package/dist/lang/parse-tree-walkers/document-completion-walker.js +2 -20
  250. package/dist/lang/parse-tree-walkers/document-help-context-walker.js +2 -20
  251. package/dist/lang/parse-tree-walkers/document-symbol-walker.js +2 -20
  252. package/dist/lang/parse-tree-walkers/explore-query-walker.js +2 -20
  253. package/dist/lang/parse-tree-walkers/find-external-references.js +2 -20
  254. package/dist/lang/parse-tree-walkers/find-table-path-walker.js +2 -20
  255. package/dist/lang/parse-utils.js +2 -20
  256. package/dist/lang/reference-list.js +2 -20
  257. package/dist/lang/run-malloy-parser.js +2 -4
  258. package/dist/lang/syntax-errors/custom-error-messages.js +2 -4
  259. package/dist/lang/syntax-errors/malloy-error-strategy.js +2 -4
  260. package/dist/lang/syntax-errors/malloy-parser-error-listener.js +2 -4
  261. package/dist/lang/test/expr-to-str.js +2 -4
  262. package/dist/lang/test/parse-expects.js +2 -20
  263. package/dist/lang/test/test-translator.js +6 -29
  264. package/dist/lang/translate-response.d.ts +1 -5
  265. package/dist/lang/translate-response.js +2 -20
  266. package/dist/lang/utils.js +2 -20
  267. package/dist/lang/zone.js +2 -20
  268. package/dist/model/annotation_utils.d.ts +37 -0
  269. package/dist/model/annotation_utils.js +85 -0
  270. package/dist/model/field_instance.js +1 -1
  271. package/dist/model/filter_compilers.js +2 -4
  272. package/dist/model/index.d.ts +2 -1
  273. package/dist/model/index.js +6 -21
  274. package/dist/model/malloy_types.d.ts +43 -9
  275. package/dist/model/malloy_types.js +13 -29
  276. package/dist/model/query_model_impl.d.ts +0 -1
  277. package/dist/model/query_model_impl.js +9 -28
  278. package/dist/model/query_node.d.ts +1 -13
  279. package/dist/model/query_node.js +8 -52
  280. package/dist/model/query_query.js +4 -18
  281. package/dist/model/source_def_utils.js +0 -2
  282. package/dist/model/sql_block.js +2 -20
  283. package/dist/model/utils.d.ts +9 -2
  284. package/dist/model/utils.js +18 -24
  285. package/dist/run_sql_options.d.ts +0 -5
  286. package/dist/run_sql_options.js +2 -20
  287. package/dist/runtime_types.js +2 -20
  288. package/dist/test/cellsToObject.js +2 -4
  289. package/dist/timing.js +2 -4
  290. package/dist/to_stable.js +9 -13
  291. package/dist/version.d.ts +1 -1
  292. package/dist/version.js +1 -1
  293. package/package.json +4 -4
  294. package/dist/lang/parse-tree-walkers/model-annotation-walker.d.ts +0 -5
  295. package/dist/lang/parse-tree-walkers/model-annotation-walker.js +0 -50
@@ -1,25 +1,7 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright 2023 Google LLC
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining
6
- * a copy of this software and associated documentation files
7
- * (the "Software"), to deal in the Software without restriction,
8
- * including without limitation the rights to use, copy, modify, merge,
9
- * publish, distribute, sublicense, and/or sell copies of the Software,
10
- * and to permit persons to whom the Software is furnished to do so,
11
- * subject to the following conditions:
12
- *
13
- * The above copyright notice and this permission notice shall be
14
- * included in all copies or substantial portions of the Software.
15
- *
16
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
23
5
  */
24
6
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
25
7
  if (k2 === undefined) k2 = k;
@@ -57,6 +39,7 @@ var __importStar = (this && this.__importStar) || (function () {
57
39
  Object.defineProperty(exports, "__esModule", { value: true });
58
40
  exports.MalloyTranslator = exports.MalloyChildTranslator = exports.MalloyTranslation = void 0;
59
41
  const utils_1 = require("../model/utils");
42
+ const annotation_utils_1 = require("../model/annotation_utils");
60
43
  const ast = __importStar(require("./ast"));
61
44
  const malloy_to_ast_1 = require("./malloy-to-ast");
62
45
  const parse_log_1 = require("./parse-log");
@@ -70,7 +53,6 @@ const reference_list_1 = require("./reference-list");
70
53
  const translate_response_1 = require("./translate-response");
71
54
  const utils_2 = require("./utils");
72
55
  const malloy_tag_1 = require("@malloydata/malloy-tag");
73
- const model_annotation_walker_1 = require("./parse-tree-walkers/model-annotation-walker");
74
56
  const find_table_path_walker_1 = require("./parse-tree-walkers/find-table-path-walker");
75
57
  const annotation_1 = require("../api/foundation/annotation");
76
58
  const run_malloy_parser_1 = require("./run-malloy-parser");
@@ -409,29 +391,6 @@ class HelpContextStep {
409
391
  }
410
392
  }
411
393
  }
412
- class ModelAnnotationStep {
413
- constructor(parseStep) {
414
- this.parseStep = parseStep;
415
- }
416
- step(that, extendingModel) {
417
- if (!this.response) {
418
- const tryParse = this.parseStep.step(that);
419
- if (!tryParse.parse || tryParse.final) {
420
- return tryParse;
421
- }
422
- else {
423
- const modelAnnotations = (0, model_annotation_walker_1.walkForModelAnnotation)(that, tryParse.parse.tokenStream, tryParse.parse);
424
- this.response = {
425
- modelAnnotations: {
426
- ...modelAnnotations,
427
- inherits: extendingModel === null || extendingModel === void 0 ? void 0 : extendingModel.annotations,
428
- },
429
- };
430
- }
431
- }
432
- return this.response;
433
- }
434
- }
435
394
  class TablePathInfoStep {
436
395
  constructor(parseStep) {
437
396
  this.parseStep = parseStep;
@@ -478,7 +437,10 @@ class TranslateStep {
478
437
  // seeding (e.g. TestTranslator's compilerFlags option) survive.
479
438
  if (extendingModel && !this.importedAnnotations) {
480
439
  const parseCompilerFlagsTimer = new timing_1.Timer('parse_compiler_flags');
481
- that.compilerFlagSrc.push(...new annotation_1.Annotations(extendingModel.annotations).texts('!'));
440
+ // Compiler flags from the extending base's `##` annotations. NOTE: `##!`
441
+ // flag semantics are still to be settled; this keeps the existing
442
+ // behavior (flags from the base model) green and is not the final design.
443
+ that.compilerFlagSrc.push(...new annotation_1.Annotations((0, annotation_utils_1.getModelAnnotations)(extendingModel)).texts('!'));
482
444
  stepTimer.contribute([parseCompilerFlagsTimer.stop()]);
483
445
  this.importedAnnotations = true;
484
446
  }
@@ -563,7 +525,7 @@ class MalloyTranslation {
563
525
  this.dialectAlreadyChecked = {};
564
526
  this.allDialectsEnabled = false;
565
527
  this.childTranslators = new Map();
566
- this.modelDef = (0, utils_1.mkModelDef)(sourceURL);
528
+ this.modelDef = (0, utils_1.mkModelDef)(sourceURL, (0, utils_1.mkModelID)(sourceURL));
567
529
  /**
568
530
  * This is sort of the makefile for the translation, all the steps
569
531
  * and the dependencies of the steps are declared here. Then when
@@ -572,7 +534,6 @@ class MalloyTranslation {
572
534
  * things will happen automatically.
573
535
  */
574
536
  this.parseStep = new ParseStep();
575
- this.modelAnnotationStep = new ModelAnnotationStep(this.parseStep);
576
537
  this.metadataStep = new MetadataStep(this.parseStep);
577
538
  this.completionsStep = new CompletionsStep(this.parseStep);
578
539
  this.helpContextStep = new HelpContextStep(this.parseStep);
@@ -771,9 +732,6 @@ class MalloyTranslation {
771
732
  metadata() {
772
733
  return this.metadataStep.step(this);
773
734
  }
774
- modelAnnotation(extendingModel) {
775
- return this.modelAnnotationStep.step(this, extendingModel);
776
- }
777
735
  tablePathInfo() {
778
736
  return this.tablePathInfoStep.step(this);
779
737
  }
@@ -1,25 +1,7 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright 2023 Google LLC
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining
6
- * a copy of this software and associated documentation files
7
- * (the "Software"), to deal in the Software without restriction,
8
- * including without limitation the rights to use, copy, modify, merge,
9
- * publish, distribute, sublicense, and/or sell copies of the Software,
10
- * and to permit persons to whom the Software is furnished to do so,
11
- * subject to the following conditions:
12
- *
13
- * The above copyright notice and this permission notice shall be
14
- * included in all copies or substantial portions of the Software.
15
- *
16
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
23
5
  */
24
6
  Object.defineProperty(exports, "__esModule", { value: true });
25
7
  exports.walkForDocumentCompletions = walkForDocumentCompletions;
@@ -1,25 +1,7 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright 2023 Google LLC
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining
6
- * a copy of this software and associated documentation files
7
- * (the "Software"), to deal in the Software without restriction,
8
- * including without limitation the rights to use, copy, modify, merge,
9
- * publish, distribute, sublicense, and/or sell copies of the Software,
10
- * and to permit persons to whom the Software is furnished to do so,
11
- * subject to the following conditions:
12
- *
13
- * The above copyright notice and this permission notice shall be
14
- * included in all copies or substantial portions of the Software.
15
- *
16
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
23
5
  */
24
6
  Object.defineProperty(exports, "__esModule", { value: true });
25
7
  exports.walkForDocumentHelpContext = walkForDocumentHelpContext;
@@ -1,25 +1,7 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright 2023 Google LLC
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining
6
- * a copy of this software and associated documentation files
7
- * (the "Software"), to deal in the Software without restriction,
8
- * including without limitation the rights to use, copy, modify, merge,
9
- * publish, distribute, sublicense, and/or sell copies of the Software,
10
- * and to permit persons to whom the Software is furnished to do so,
11
- * subject to the following conditions:
12
- *
13
- * The above copyright notice and this permission notice shall be
14
- * included in all copies or substantial portions of the Software.
15
- *
16
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
23
5
  */
24
6
  Object.defineProperty(exports, "__esModule", { value: true });
25
7
  exports.walkForDocumentSymbols = walkForDocumentSymbols;
@@ -1,25 +1,7 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright 2023 Google LLC
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining
6
- * a copy of this software and associated documentation files
7
- * (the "Software"), to deal in the Software without restriction,
8
- * including without limitation the rights to use, copy, modify, merge,
9
- * publish, distribute, sublicense, and/or sell copies of the Software,
10
- * and to permit persons to whom the Software is furnished to do so,
11
- * subject to the following conditions:
12
- *
13
- * The above copyright notice and this permission notice shall be
14
- * included in all copies or substantial portions of the Software.
15
- *
16
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
23
5
  */
24
6
  Object.defineProperty(exports, "__esModule", { value: true });
25
7
  exports.ExploreQueryWalker = void 0;
@@ -1,25 +1,7 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright 2023 Google LLC
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining
6
- * a copy of this software and associated documentation files
7
- * (the "Software"), to deal in the Software without restriction,
8
- * including without limitation the rights to use, copy, modify, merge,
9
- * publish, distribute, sublicense, and/or sell copies of the Software,
10
- * and to permit persons to whom the Software is furnished to do so,
11
- * subject to the following conditions:
12
- *
13
- * The above copyright notice and this permission notice shall be
14
- * included in all copies or substantial portions of the Software.
15
- *
16
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
23
5
  */
24
6
  Object.defineProperty(exports, "__esModule", { value: true });
25
7
  exports.constructTableKey = constructTableKey;
@@ -1,25 +1,7 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright 2023 Google LLC
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining
6
- * a copy of this software and associated documentation files
7
- * (the "Software"), to deal in the Software without restriction,
8
- * including without limitation the rights to use, copy, modify, merge,
9
- * publish, distribute, sublicense, and/or sell copies of the Software,
10
- * and to permit persons to whom the Software is furnished to do so,
11
- * subject to the following conditions:
12
- *
13
- * The above copyright notice and this permission notice shall be
14
- * included in all copies or substantial portions of the Software.
15
- *
16
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
23
5
  */
24
6
  Object.defineProperty(exports, "__esModule", { value: true });
25
7
  exports.walkForTablePath = walkForTablePath;
@@ -1,25 +1,7 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright 2023 Google LLC
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining
6
- * a copy of this software and associated documentation files
7
- * (the "Software"), to deal in the Software without restriction,
8
- * including without limitation the rights to use, copy, modify, merge,
9
- * publish, distribute, sublicense, and/or sell copies of the Software,
10
- * and to permit persons to whom the Software is furnished to do so,
11
- * subject to the following conditions:
12
- *
13
- * The above copyright notice and this permission notice shall be
14
- * included in all copies or substantial portions of the Software.
15
- *
16
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
23
5
  */
24
6
  Object.defineProperty(exports, "__esModule", { value: true });
25
7
  exports.getShortString = getShortString;
@@ -1,25 +1,7 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright 2023 Google LLC
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining
6
- * a copy of this software and associated documentation files
7
- * (the "Software"), to deal in the Software without restriction,
8
- * including without limitation the rights to use, copy, modify, merge,
9
- * publish, distribute, sublicense, and/or sell copies of the Software,
10
- * and to permit persons to whom the Software is furnished to do so,
11
- * subject to the following conditions:
12
- *
13
- * The above copyright notice and this permission notice shall be
14
- * included in all copies or substantial portions of the Software.
15
- *
16
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
23
5
  */
24
6
  Object.defineProperty(exports, "__esModule", { value: true });
25
7
  exports.ReferenceList = void 0;
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright (c) Meta Platforms, Inc. and affiliates.
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
7
5
  */
8
6
  Object.defineProperty(exports, "__esModule", { value: true });
9
7
  exports.makeMalloyParser = makeMalloyParser;
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright (c) Meta Platforms, Inc. and affiliates.
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
7
5
  */
8
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
9
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright (c) Meta Platforms, Inc. and affiliates.
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
7
5
  */
8
6
  Object.defineProperty(exports, "__esModule", { value: true });
9
7
  exports.MalloyErrorStrategy = void 0;
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright (c) Meta Platforms, Inc. and affiliates.
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
7
5
  */
8
6
  Object.defineProperty(exports, "__esModule", { value: true });
9
7
  exports.MalloyParserErrorListener = exports.malloyCustomErrorCases = void 0;
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright (c) Meta Platforms, Inc. and affiliates.
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
7
5
  */
8
6
  Object.defineProperty(exports, "__esModule", { value: true });
9
7
  exports.exprToStr = exprToStr;
@@ -1,25 +1,7 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright 2023 Google LLC
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining
6
- * a copy of this software and associated documentation files
7
- * (the "Software"), to deal in the Software without restriction,
8
- * including without limitation the rights to use, copy, modify, merge,
9
- * publish, distribute, sublicense, and/or sell copies of the Software,
10
- * and to permit persons to whom the Software is furnished to do so,
11
- * subject to the following conditions:
12
- *
13
- * The above copyright notice and this permission notice shall be
14
- * included in all copies or substantial portions of the Software.
15
- *
16
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
23
5
  */
24
6
  Object.defineProperty(exports, "__esModule", { value: true });
25
7
  const model_1 = require("../../model");
@@ -1,26 +1,8 @@
1
1
  "use strict";
2
2
  /* eslint-disable no-console */
3
3
  /*
4
- * Copyright 2023 Google LLC
5
- *
6
- * Permission is hereby granted, free of charge, to any person obtaining
7
- * a copy of this software and associated documentation files
8
- * (the "Software"), to deal in the Software without restriction,
9
- * including without limitation the rights to use, copy, modify, merge,
10
- * publish, distribute, sublicense, and/or sell copies of the Software,
11
- * and to permit persons to whom the Software is furnished to do so,
12
- * subject to the following conditions:
13
- *
14
- * The above copyright notice and this permission notice shall be
15
- * included in all copies or substantial portions of the Software.
16
- *
17
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
4
+ * Copyright Contributors to the Malloy project
5
+ * SPDX-License-Identifier: MIT
24
6
  */
25
7
  Object.defineProperty(exports, "__esModule", { value: true });
26
8
  exports.BetaExpression = exports.TestTranslator = exports.TestChildTranslator = exports.mockSchema = exports.bqTableDef = exports.aTableDef = exports.TEST_DIALECT = void 0;
@@ -49,6 +31,7 @@ const parse_malloy_1 = require("../parse-malloy");
49
31
  const static_space_1 = require("../ast/field-space/static-space");
50
32
  const global_name_space_1 = require("../ast/types/global-name-space");
51
33
  const sql_block_1 = require("../../model/sql_block");
34
+ const utils_1 = require("../../model/utils");
52
35
  function pretty(thing) {
53
36
  return (0, util_1.inspect)(thing, { breakLength: 100, depth: Infinity });
54
37
  }
@@ -363,11 +346,7 @@ class TestTranslator extends parse_malloy_1.MalloyTranslator {
363
346
  *
364
347
  */
365
348
  this.internalModel = {
366
- name: testURI,
367
- exports: [],
368
- queryList: [],
369
- sourceRegistry: {},
370
- dependencies: {},
349
+ ...(0, utils_1.mkModelDef)(testURI, testURI),
371
350
  contents: {
372
351
  _db_: { type: 'connection', name: '_db_' },
373
352
  _bq_: { type: 'connection', name: '_bq_' },
@@ -583,16 +562,14 @@ function getModelQuery(modelDef, name) {
583
562
  return modelDef.contents[name];
584
563
  }
585
564
  function getFieldDef(source, name) {
586
- var _a;
587
565
  for (const f of source.fields) {
588
- if ((_a = f.as) !== null && _a !== void 0 ? _a : f.name === name) {
566
+ if ((0, malloy_types_1.activeName)(f) === name) {
589
567
  return f;
590
568
  }
591
569
  }
592
570
  throw new Error(`Compiled source did not contain expected field '${name}'`);
593
571
  }
594
572
  function getQueryFieldDef(query, name) {
595
- var _a;
596
573
  if ((0, malloy_types_1.isQuerySegment)(query)) {
597
574
  for (const f of query.queryFields) {
598
575
  if (f.type === 'fieldref') {
@@ -600,7 +577,7 @@ function getQueryFieldDef(query, name) {
600
577
  return f;
601
578
  }
602
579
  }
603
- else if ((_a = f.as) !== null && _a !== void 0 ? _a : f.name === name) {
580
+ else if ((0, malloy_types_1.activeName)(f) === name) {
604
581
  return f;
605
582
  }
606
583
  }
@@ -1,5 +1,5 @@
1
1
  import type * as Malloy from '@malloydata/malloy-interfaces';
2
- import type { AnnotationsDef, ModelDef } from '../model/malloy_types';
2
+ import type { ModelDef } from '../model/malloy_types';
3
3
  import type { MalloyElement } from './ast';
4
4
  import type { LogMessage } from './parse-log';
5
5
  import type { DocumentSymbol } from './parse-tree-walkers/document-symbol-walker';
@@ -54,10 +54,6 @@ interface Metadata extends ResponseBase, NeededData, ProblemResponse, FinalRespo
54
54
  symbols: DocumentSymbol[];
55
55
  }
56
56
  export type MetadataResponse = Partial<Metadata>;
57
- interface ModelAnnotationData extends ResponseBase, NeededData, ProblemResponse, FinalResponse {
58
- modelAnnotations: AnnotationsDef;
59
- }
60
- export type ModelAnnotationResponse = Partial<ModelAnnotationData>;
61
57
  interface Completions extends ResponseBase, NeededData, ProblemResponse, FinalResponse {
62
58
  completions: DocumentCompletion[];
63
59
  }
@@ -1,25 +1,7 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright 2023 Google LLC
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining
6
- * a copy of this software and associated documentation files
7
- * (the "Software"), to deal in the Software without restriction,
8
- * including without limitation the rights to use, copy, modify, merge,
9
- * publish, distribute, sublicense, and/or sell copies of the Software,
10
- * and to permit persons to whom the Software is furnished to do so,
11
- * subject to the following conditions:
12
- *
13
- * The above copyright notice and this permission notice shall be
14
- * included in all copies or substantial portions of the Software.
15
- *
16
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
23
5
  */
24
6
  Object.defineProperty(exports, "__esModule", { value: true });
25
7
  exports.isNeedResponse = isNeedResponse;
@@ -1,25 +1,7 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright 2023 Google LLC
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining
6
- * a copy of this software and associated documentation files
7
- * (the "Software"), to deal in the Software without restriction,
8
- * including without limitation the rights to use, copy, modify, merge,
9
- * publish, distribute, sublicense, and/or sell copies of the Software,
10
- * and to permit persons to whom the Software is furnished to do so,
11
- * subject to the following conditions:
12
- *
13
- * The above copyright notice and this permission notice shall be
14
- * included in all copies or substantial portions of the Software.
15
- *
16
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
23
5
  */
24
6
  Object.defineProperty(exports, "__esModule", { value: true });
25
7
  exports.locationContainsPosition = locationContainsPosition;
package/dist/lang/zone.js CHANGED
@@ -1,25 +1,7 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright 2023 Google LLC
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining
6
- * a copy of this software and associated documentation files
7
- * (the "Software"), to deal in the Software without restriction,
8
- * including without limitation the rights to use, copy, modify, merge,
9
- * publish, distribute, sublicense, and/or sell copies of the Software,
10
- * and to permit persons to whom the Software is furnished to do so,
11
- * subject to the following conditions:
12
- *
13
- * The above copyright notice and this permission notice shall be
14
- * included in all copies or substantial portions of the Software.
15
- *
16
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
23
5
  */
24
6
  Object.defineProperty(exports, "__esModule", { value: true });
25
7
  exports.Zone = void 0;
@@ -0,0 +1,37 @@
1
+ import type { AnnotationsDef, ModelDef, ModelID, Note } from './malloy_types';
2
+ /**
3
+ * Every Note of an annotation bundle, inherited first, in document order
4
+ * (`inherits` → `blockNotes` → `notes`). Later notes win when re-parsed.
5
+ *
6
+ * Internal helper — not part of the public `model` barrel. The public way to
7
+ * read notes is the `Annotations` view (`api/foundation/annotation.ts`), which
8
+ * uses this; the model-annotation fold below uses it too.
9
+ */
10
+ export declare function notesInOrder(annote: AnnotationsDef): Generator<Note>;
11
+ /**
12
+ * The model (`##`) annotations for one model, compiled by walking the
13
+ * annotation-provenance tree: a model's own `##` together with everything it
14
+ * imports/extends, folded down the lineage into a single ordered bundle.
15
+ *
16
+ * `modelID` defaults to `model.modelID` — the common case, "the annotations
17
+ * this model presents." `##` is model-level, so every object resolved in the
18
+ * model reports this same one bundle (resolution takes no object). Pass an
19
+ * explicit `modelID` to compile the bundle for any other model in the closure.
20
+ *
21
+ * Mechanism: a post-order DFS over each model's `inheritsFrom` edges
22
+ * (extend-base is `import₀`, sitting first) emits a model only after its
23
+ * predecessors and only once (its most-ancestral slot); back-edges are skipped,
24
+ * so the walk terminates on a cycle. The result is ordered imports-first /
25
+ * local-last — a consumer that takes "last wins" sees the target model's own
26
+ * `##` win — and is returned as an {@link AnnotationsDef} whose `inherits` chain
27
+ * *is* that order (target at the top, most-ancestral import deepest), so the
28
+ * `Annotations` view / {@link notesInOrder} consume it with no new code.
29
+ *
30
+ * A target with no entry contributes nothing (empty) — the honest answer for a
31
+ * synthetic or detached `ModelDef` (built via `mkModelDef`, a `pseudoModelFor`
32
+ * struct, a model with no `##` anywhere) that never recorded a self-entry. But
33
+ * a recorded `inheritsFrom` *edge* to a model with no entry is corruption —
34
+ * population kept the edge but lost the target — and throws a compiler-bug-class
35
+ * error: the one place that needs the entry is the one place that detects it.
36
+ */
37
+ export declare function getModelAnnotations(model: ModelDef, modelID?: ModelID): AnnotationsDef;