ggaction 0.0.10 → 0.0.12

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 (224) hide show
  1. package/CHANGELOG.md +97 -0
  2. package/README.md +5 -3
  3. package/knowledge/action-card.schema.json +1 -0
  4. package/knowledge/action-cards.json +1 -10941
  5. package/knowledge/action-cards.schema.json +1 -0
  6. package/knowledge/intent-taxonomy.json +1 -183
  7. package/knowledge/intent-taxonomy.schema.json +1 -0
  8. package/knowledge/mcp-resources.json +1 -95
  9. package/knowledge/mcp-resources.schema.json +1 -0
  10. package/knowledge/task-packet.schema.json +1 -159
  11. package/knowledge/task-resolver.js +1 -1230
  12. package/package.json +18 -2
  13. package/src/actions/boxPlots/edit.js +45 -298
  14. package/src/actions/boxPlots/options.js +46 -77
  15. package/src/actions/boxPlots/resolve.js +1 -1
  16. package/src/actions/charts/bar.js +3 -0
  17. package/src/actions/charts/heatmap.js +73 -83
  18. package/src/actions/charts/index.js +1 -1
  19. package/src/actions/charts/parallel.js +35 -1
  20. package/src/actions/charts/shared.js +20 -0
  21. package/src/actions/composition/actions.js +46 -49
  22. package/src/actions/data/bin2d.js +105 -2
  23. package/src/actions/data/box.js +17 -17
  24. package/src/actions/data/density.js +42 -78
  25. package/src/actions/data/gradientProfile.js +22 -52
  26. package/src/actions/data/horizon.js +16 -41
  27. package/src/actions/data/index.js +10 -10
  28. package/src/actions/data/interval.js +16 -38
  29. package/src/actions/data/intervalEdit.js +55 -0
  30. package/src/actions/data/regression.js +7 -17
  31. package/src/actions/data/shared.js +47 -0
  32. package/src/actions/data/timeUnit.js +14 -38
  33. package/src/actions/data/window.js +14 -38
  34. package/src/actions/distributions/revision.js +154 -34
  35. package/src/actions/encodings/angle.js +9 -10
  36. package/src/actions/encodings/appearance.js +17 -51
  37. package/src/actions/encodings/density/resolve.js +3 -1
  38. package/src/actions/encodings/density.js +1 -15
  39. package/src/actions/encodings/horizon/resolve.js +13 -3
  40. package/src/actions/encodings/horizon.js +8 -7
  41. package/src/actions/encodings/index.js +9 -9
  42. package/src/actions/encodings/offset.js +41 -45
  43. package/src/actions/encodings/parallel.js +9 -10
  44. package/src/actions/encodings/pathOrder.js +6 -13
  45. package/src/actions/encodings/position/apply.js +30 -0
  46. package/src/actions/encodings/position/policies/arc.js +23 -2
  47. package/src/actions/encodings/position/policies/index.js +4 -4
  48. package/src/actions/encodings/position/policies/line.js +47 -17
  49. package/src/actions/encodings/position/resolve.js +36 -7
  50. package/src/actions/encodings/ranged.js +18 -23
  51. package/src/actions/encodings/remove.js +15 -25
  52. package/src/actions/encodings/ruleAppearance.js +9 -24
  53. package/src/actions/encodings/shared.js +37 -0
  54. package/src/actions/encodings/strokeDash.js +8 -23
  55. package/src/actions/encodings/text.js +9 -10
  56. package/src/actions/errorBands/create.js +105 -39
  57. package/src/actions/errorBands/edit.js +89 -93
  58. package/src/actions/errorBands/index.js +1 -2
  59. package/src/actions/errorBars/create.js +212 -30
  60. package/src/actions/errorBars/edit.js +91 -48
  61. package/src/actions/errorBars/index.js +1 -2
  62. package/src/actions/facets/actions.js +45 -69
  63. package/src/actions/facets/derive.js +38 -53
  64. package/src/actions/facets/replay.js +0 -1
  65. package/src/actions/gradientPlots/components.js +59 -48
  66. package/src/actions/gradientPlots/edit.js +35 -216
  67. package/src/actions/gradientPlots/index.js +11 -10
  68. package/src/actions/gradientPlots/materialize.js +21 -35
  69. package/src/actions/gradientPlots/options.js +5 -7
  70. package/src/actions/gradientPlots/paint.js +9 -6
  71. package/src/actions/gradientPlots/resolve.js +1 -1
  72. package/src/actions/guides/axes/index.js +3 -3
  73. package/src/actions/guides/axes/labels.js +68 -26
  74. package/src/actions/guides/axes/lines.js +22 -2
  75. package/src/actions/guides/axes/policy.js +28 -8
  76. package/src/actions/guides/axes/ticks.js +27 -9
  77. package/src/actions/guides/axes/titles.js +113 -65
  78. package/src/actions/guides/grids/resolve.js +14 -0
  79. package/src/actions/guides/guides.js +2 -4
  80. package/src/actions/guides/index.js +2 -2
  81. package/src/actions/guides/legends/categorical/actions.js +44 -68
  82. package/src/actions/guides/legends/categorical/components.js +6 -1
  83. package/src/actions/guides/legends/categorical/index.js +2 -2
  84. package/src/actions/guides/legends/categorical/layout.js +148 -175
  85. package/src/actions/guides/legends/categorical/recipes.js +5 -0
  86. package/src/actions/guides/legends/categorical/resolve.js +8 -1
  87. package/src/actions/guides/legends/continuous/common.js +117 -66
  88. package/src/actions/guides/legends/continuous/gradient.js +38 -37
  89. package/src/actions/guides/legends/continuous/interval.js +97 -76
  90. package/src/actions/guides/legends/continuous/opacity.js +28 -38
  91. package/src/actions/guides/legends/edit.js +14 -1
  92. package/src/actions/guides/legends/index.js +1 -1
  93. package/src/actions/guides/legends/lane.js +2 -1
  94. package/src/actions/guides/legends/remove.js +8 -0
  95. package/src/actions/guides/legends/size.js +36 -43
  96. package/src/actions/guides/legends/strokeWidth.js +20 -26
  97. package/src/actions/guides/polar/axes/labels.js +17 -1
  98. package/src/actions/guides/polar/axes/shared.js +7 -1
  99. package/src/actions/guides/polar/axes/titles.js +19 -2
  100. package/src/actions/guides/polar/grids.js +4 -0
  101. package/src/actions/guides/polar/resolve.js +6 -0
  102. package/src/actions/index.js +13 -13
  103. package/src/actions/intervals/resolve.js +87 -117
  104. package/src/actions/marks/arc/actions.js +31 -36
  105. package/src/actions/marks/area/actions.js +23 -31
  106. package/src/actions/marks/index.js +6 -6
  107. package/src/actions/marks/line/actions.js +33 -52
  108. package/src/actions/marks/line/materialize.js +7 -5
  109. package/src/actions/marks/point/materialize.js +38 -16
  110. package/src/actions/marks/remove.js +21 -0
  111. package/src/actions/marks/rule/actions.js +79 -54
  112. package/src/actions/marks/shared.js +8 -4
  113. package/src/actions/marks/text/actions.js +14 -6
  114. package/src/actions/marks/text/layout.js +21 -45
  115. package/src/actions/marks/tick/actions.js +22 -21
  116. package/src/actions/primitives/createGraphics.js +4 -0
  117. package/src/actions/primitives/editGraphics.js +4 -0
  118. package/src/actions/primitives/index.js +3 -3
  119. package/src/actions/primitives/semantic.js +1 -1
  120. package/src/actions/primitives/semanticValidation/index.js +2 -2
  121. package/src/actions/primitives/semanticValidation/layer.js +1 -1
  122. package/src/actions/regression/edit.js +3 -43
  123. package/src/actions/scales/consumers/families.js +24 -4
  124. package/src/actions/scales/consumers/index.js +1 -1
  125. package/src/actions/scales/consumers/seriesLayout.js +17 -0
  126. package/src/actions/scales/definitions.js +100 -103
  127. package/src/actions/scales/materialize.js +5 -0
  128. package/src/actions/selection/actions.js +79 -121
  129. package/src/actions/titles/actions.js +48 -94
  130. package/src/actions/titles/resolve.js +14 -27
  131. package/src/actions/violinPlots/create.js +37 -44
  132. package/src/core/textMetrics.js +74 -37
  133. package/src/core/validation.js +18 -0
  134. package/src/core/vocabulary.js +2 -2
  135. package/src/grammar/aggregate.js +48 -28
  136. package/src/grammar/arcs.js +170 -32
  137. package/src/grammar/areaSeries.js +14 -16
  138. package/src/grammar/bin2d.js +37 -23
  139. package/src/grammar/boxPlot.js +14 -13
  140. package/src/grammar/categoricalDensity.js +14 -14
  141. package/src/grammar/categoryOrder.js +8 -14
  142. package/src/grammar/curveCommands.js +87 -20
  143. package/src/grammar/density.js +162 -141
  144. package/src/grammar/facets/index.js +14 -0
  145. package/src/grammar/facets/scales.js +7 -4
  146. package/src/grammar/gradientProfile.js +12 -15
  147. package/src/grammar/histogram.js +145 -83
  148. package/src/grammar/horizon.js +60 -23
  149. package/src/grammar/interval.js +14 -13
  150. package/src/grammar/lineSeries.js +91 -61
  151. package/src/grammar/numeric.js +290 -0
  152. package/src/grammar/paint.js +3 -4
  153. package/src/grammar/palettes.js +21 -32
  154. package/src/grammar/pathCommands.js +6 -0
  155. package/src/grammar/polarPaths.js +5 -5
  156. package/src/grammar/positionCompatibility.js +1 -1
  157. package/src/grammar/regression/derive.js +48 -9
  158. package/src/grammar/regression/models.js +248 -69
  159. package/src/grammar/regression/parameters.js +8 -0
  160. package/src/grammar/rules.js +2 -0
  161. package/src/grammar/scales/color.js +35 -26
  162. package/src/grammar/scales/continuous.js +71 -24
  163. package/src/grammar/scales/definition.js +1 -1
  164. package/src/grammar/scales/discretized.js +42 -12
  165. package/src/grammar/scales/fields.js +21 -4
  166. package/src/grammar/scales/ordinal.js +139 -60
  167. package/src/grammar/scales/temporal.js +40 -11
  168. package/src/grammar/scales/transformed.js +199 -52
  169. package/src/grammar/schemas/graphicBounds.js +270 -79
  170. package/src/grammar/seriesLayout.js +50 -18
  171. package/src/grammar/ticks.js +123 -53
  172. package/src/grammar/timeUnit.js +18 -8
  173. package/src/grammar/transforms.js +4 -1
  174. package/src/grammar/window.js +70 -57
  175. package/src/index.js +1 -1
  176. package/src/layout/canvas.js +4 -8
  177. package/src/layout/composition.js +39 -40
  178. package/src/layout/facets.js +55 -30
  179. package/src/layout/labels.js +91 -15
  180. package/src/layout/legend.js +22 -20
  181. package/src/layout/legendLane.js +54 -40
  182. package/src/layout/title.js +7 -7
  183. package/src/materialization/bars/aggregate.js +14 -40
  184. package/src/materialization/bars/grouped.js +7 -18
  185. package/src/materialization/bars/histogram.js +2 -19
  186. package/src/materialization/bars/ranged.js +20 -15
  187. package/src/materialization/bars/resolve.js +21 -0
  188. package/src/materialization/facetGuides/legacyCategorical.js +9 -2
  189. package/src/materialization/facetGuides/placement.js +49 -19
  190. package/src/materialization/facetGuides/preparation.js +35 -6
  191. package/src/materialization/facets.js +42 -28
  192. package/src/materialization/guides/resources.js +2 -1
  193. package/src/materialization/marks/capabilities.js +15 -4
  194. package/src/materialization/marks/index.js +29 -6
  195. package/src/materialization/rowEncoding.js +57 -1
  196. package/src/materialization/scales/policies/bar.js +61 -102
  197. package/src/materialization/scales/policies/binnedPosition.js +34 -0
  198. package/src/materialization/scales/policies/offset.js +54 -0
  199. package/src/materialization/scales/policies/series.js +13 -7
  200. package/src/materialization/scales/resolve.js +6 -9
  201. package/src/materialization/selection/items/arc.js +16 -2
  202. package/src/materialization/selection/items/bar.js +4 -2
  203. package/src/materialization/selection/items/common.js +21 -1
  204. package/src/materialization/selection/items/path.js +19 -2
  205. package/src/materialization/selection/items/point.js +4 -16
  206. package/src/materialization/selection/items/tick.js +13 -21
  207. package/src/materialization/selection/point.js +11 -4
  208. package/src/materialization/selection/styles.js +19 -27
  209. package/src/materialization/text.js +4 -1
  210. package/src/mcp/adapter.js +8 -3
  211. package/src/renderers/canvas/fill.js +2 -2
  212. package/src/renderers/canvas/index.js +35 -2
  213. package/src/renderers/canvas/native.js +160 -0
  214. package/src/renderers/pdf.js +14 -0
  215. package/src/renderers/svg.js +37 -4
  216. package/types/index.d.ts +3 -0
  217. package/types/program.d.ts +523 -131
  218. package/types/svg.d.ts +1 -0
  219. package/src/actions/errorBands/components.js +0 -81
  220. package/src/actions/errorBands/options.js +0 -39
  221. package/src/actions/errorBands/resolve.js +0 -28
  222. package/src/actions/errorBars/components.js +0 -62
  223. package/src/actions/errorBars/options.js +0 -58
  224. package/src/actions/errorBars/resolve.js +0 -25
@@ -1,159 +1 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://ggaction.github.io/ggaction/schemas/task-packet.schema.json",
4
- "title": "ggaction compact task packet",
5
- "type": "object",
6
- "additionalProperties": false,
7
- "required": [
8
- "schemaVersion",
9
- "query",
10
- "matchedConstraints",
11
- "actionPlan",
12
- "exactCalls",
13
- "authoring",
14
- "unsupported",
15
- "unresolved",
16
- "candidates"
17
- ],
18
- "properties": {
19
- "schemaVersion": { "const": 3 },
20
- "query": { "type": "string", "minLength": 1, "maxLength": 500 },
21
- "matchedConstraints": {
22
- "type": "array",
23
- "maxItems": 30,
24
- "uniqueItems": true,
25
- "items": { "type": "string", "minLength": 3, "maxLength": 100 }
26
- },
27
- "actionPlan": {
28
- "type": "array",
29
- "maxItems": 20,
30
- "items": {
31
- "type": "object",
32
- "additionalProperties": false,
33
- "required": [
34
- "step",
35
- "id",
36
- "kind",
37
- "name",
38
- "constraints",
39
- "requiredOptions",
40
- "signature",
41
- "route"
42
- ],
43
- "properties": {
44
- "step": { "type": "integer", "minimum": 1 },
45
- "id": { "type": "string", "minLength": 3 },
46
- "kind": { "enum": ["action", "runtime"] },
47
- "name": { "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9]*$" },
48
- "constraints": {
49
- "type": "array",
50
- "minItems": 1,
51
- "uniqueItems": true,
52
- "items": { "type": "string", "minLength": 3 }
53
- },
54
- "requiredOptions": {
55
- "type": "array",
56
- "uniqueItems": true,
57
- "items": { "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9]*$" }
58
- },
59
- "signature": { "type": "string", "minLength": 8 },
60
- "route": { "type": "string", "pattern": "^/reference/" }
61
- }
62
- }
63
- },
64
- "exactCalls": {
65
- "type": "array",
66
- "maxItems": 20,
67
- "items": { "type": "string", "minLength": 3, "maxLength": 700 }
68
- },
69
- "authoring": {
70
- "type": "object",
71
- "additionalProperties": false,
72
- "required": ["imports", "initialize", "prerequisites", "steps"],
73
- "properties": {
74
- "imports": {
75
- "type": "array",
76
- "minItems": 1,
77
- "maxItems": 4,
78
- "uniqueItems": true,
79
- "items": { "type": "string", "minLength": 30, "maxLength": 90 }
80
- },
81
- "initialize": { "const": "let program = chart()" },
82
- "prerequisites": {
83
- "type": "array",
84
- "minItems": 2,
85
- "maxItems": 2,
86
- "items": {
87
- "type": "object",
88
- "additionalProperties": false,
89
- "required": ["id", "signature", "call", "bindings"],
90
- "properties": {
91
- "id": { "enum": ["action.createCanvas", "action.createData"] },
92
- "signature": { "type": "string", "minLength": 8, "maxLength": 180 },
93
- "call": { "type": "string", "minLength": 12, "maxLength": 180 },
94
- "bindings": {
95
- "type": "array",
96
- "maxItems": 4,
97
- "uniqueItems": true,
98
- "items": { "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9]*$" }
99
- }
100
- }
101
- }
102
- },
103
- "steps": {
104
- "type": "array",
105
- "maxItems": 20,
106
- "items": { "type": "string", "minLength": 3, "maxLength": 760 }
107
- }
108
- }
109
- },
110
- "unsupported": {
111
- "type": "array",
112
- "maxItems": 10,
113
- "items": {
114
- "type": "object",
115
- "additionalProperties": false,
116
- "required": ["constraint", "reason"],
117
- "properties": {
118
- "constraint": { "type": "string", "pattern": "^unsupported\\." },
119
- "reason": { "type": "string", "minLength": 10, "maxLength": 240 }
120
- }
121
- }
122
- },
123
- "unresolved": {
124
- "type": "array",
125
- "maxItems": 30,
126
- "items": {
127
- "type": "object",
128
- "additionalProperties": false,
129
- "required": ["constraint", "reason", "resources"],
130
- "properties": {
131
- "constraint": { "type": "string", "minLength": 3 },
132
- "reason": { "type": "string", "minLength": 10, "maxLength": 240 },
133
- "resources": {
134
- "type": "array",
135
- "minItems": 1,
136
- "maxItems": 2,
137
- "uniqueItems": true,
138
- "items": { "type": "string", "pattern": "^ggaction://docs/[a-z0-9-]+$" }
139
- }
140
- }
141
- }
142
- },
143
- "candidates": {
144
- "type": "array",
145
- "maxItems": 3,
146
- "items": {
147
- "type": "object",
148
- "additionalProperties": false,
149
- "required": ["id", "kind", "name", "route"],
150
- "properties": {
151
- "id": { "type": "string", "minLength": 3 },
152
- "kind": { "enum": ["action", "runtime"] },
153
- "name": { "type": "string", "minLength": 2 },
154
- "route": { "type": "string", "pattern": "^/reference/" }
155
- }
156
- }
157
- }
158
- }
159
- }
1
+ {"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://ggaction.github.io/ggaction/schemas/task-packet.schema.json","title":"ggaction compact task packet","type":"object","additionalProperties":false,"required":["schemaVersion","packageVersion","query","matchedConstraints","actionPlan","exactCalls","appliedOptions","placeholderBindings","unmatchedRequirements","authoring","unsupported","unresolved","candidates"],"properties":{"schemaVersion":{"const":4},"packageVersion":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+(?:-[0-9A-Za-z.-]+)?(?:\\+[0-9A-Za-z.-]+)?$"},"query":{"type":"string","minLength":1,"maxLength":500},"matchedConstraints":{"type":"array","maxItems":30,"uniqueItems":true,"items":{"type":"string","minLength":3,"maxLength":100}},"actionPlan":{"type":"array","maxItems":20,"items":{"type":"object","additionalProperties":false,"required":["step","id","kind","name","constraints","requiredOptions","signature","route"],"properties":{"step":{"type":"integer","minimum":1},"id":{"type":"string","minLength":3},"kind":{"enum":["action","runtime"]},"name":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9]*$"},"constraints":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":3}},"requiredOptions":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9]*$"}},"signature":{"type":"string","minLength":8},"route":{"type":"string","pattern":"^/reference/"}}}},"exactCalls":{"type":"array","maxItems":20,"items":{"type":"string","minLength":3,"maxLength":700}},"appliedOptions":{"type":"array","maxItems":30,"items":{"type":"object","additionalProperties":false,"required":["owner","option","value","source"],"properties":{"owner":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9]*$"},"option":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9]*$"},"value":{"type":"string","minLength":1,"maxLength":300},"source":{"type":"string","minLength":1,"maxLength":180}}}},"placeholderBindings":{"type":"array","maxItems":30,"items":{"type":"object","additionalProperties":false,"required":["name","kind","required","usedBy","reason"],"properties":{"name":{"type":"string","minLength":1,"maxLength":80},"kind":{"enum":["binding","field","program","resource","runtime","text"]},"required":{"type":"boolean"},"usedBy":{"type":"array","minItems":1,"maxItems":20,"uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":80}},"reason":{"type":"string","minLength":20,"maxLength":240}}}},"unmatchedRequirements":{"type":"array","maxItems":30,"uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":180}},"authoring":{"type":"object","additionalProperties":false,"required":["imports","initialize","prerequisites","steps"],"properties":{"imports":{"type":"array","minItems":1,"maxItems":4,"uniqueItems":true,"items":{"type":"string","minLength":30,"maxLength":90}},"initialize":{"const":"let program = chart()"},"prerequisites":{"type":"array","minItems":0,"maxItems":2,"items":{"type":"object","additionalProperties":false,"required":["id","signature","call","bindings"],"properties":{"id":{"enum":["action.createCanvas","action.createData"]},"signature":{"type":"string","minLength":8,"maxLength":180},"call":{"type":"string","minLength":12,"maxLength":180},"bindings":{"type":"array","maxItems":4,"uniqueItems":true,"items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9]*$"}}}}},"steps":{"type":"array","maxItems":20,"items":{"type":"string","minLength":3,"maxLength":760}}}},"unsupported":{"type":"array","maxItems":10,"items":{"type":"object","additionalProperties":false,"required":["constraint","reason"],"properties":{"constraint":{"type":"string","pattern":"^unsupported\\."},"reason":{"type":"string","minLength":10,"maxLength":240}}}},"unresolved":{"type":"array","maxItems":30,"items":{"type":"object","additionalProperties":false,"required":["constraint","reason","resources"],"properties":{"constraint":{"type":"string","minLength":3},"reason":{"type":"string","minLength":10,"maxLength":240},"resources":{"type":"array","minItems":1,"maxItems":2,"uniqueItems":true,"items":{"type":"string","pattern":"^ggaction://docs/[a-z0-9-]+$"}}}}},"candidates":{"type":"array","maxItems":3,"items":{"type":"object","additionalProperties":false,"required":["id","kind","name","route"],"properties":{"id":{"type":"string","minLength":3},"kind":{"enum":["action","runtime"]},"name":{"type":"string","minLength":2},"route":{"type":"string","pattern":"^/reference/"}}}}}}