@willwade/aac-processors 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 (57) hide show
  1. package/dist/cli/index.js +7 -0
  2. package/dist/core/analyze.js +1 -0
  3. package/dist/core/baseProcessor.d.ts +3 -0
  4. package/dist/core/treeStructure.d.ts +14 -2
  5. package/dist/core/treeStructure.js +8 -2
  6. package/dist/index.d.ts +2 -1
  7. package/dist/index.js +20 -3
  8. package/dist/{analytics → optional/analytics}/history.d.ts +3 -3
  9. package/dist/{analytics → optional/analytics}/history.js +3 -3
  10. package/dist/optional/analytics/index.d.ts +28 -0
  11. package/dist/optional/analytics/index.js +73 -0
  12. package/dist/optional/analytics/metrics/comparison.d.ts +36 -0
  13. package/dist/optional/analytics/metrics/comparison.js +330 -0
  14. package/dist/optional/analytics/metrics/core.d.ts +36 -0
  15. package/dist/optional/analytics/metrics/core.js +422 -0
  16. package/dist/optional/analytics/metrics/effort.d.ts +137 -0
  17. package/dist/optional/analytics/metrics/effort.js +198 -0
  18. package/dist/optional/analytics/metrics/index.d.ts +15 -0
  19. package/dist/optional/analytics/metrics/index.js +36 -0
  20. package/dist/optional/analytics/metrics/sentence.d.ts +49 -0
  21. package/dist/optional/analytics/metrics/sentence.js +112 -0
  22. package/dist/optional/analytics/metrics/types.d.ts +157 -0
  23. package/dist/optional/analytics/metrics/types.js +7 -0
  24. package/dist/optional/analytics/metrics/vocabulary.d.ts +65 -0
  25. package/dist/optional/analytics/metrics/vocabulary.js +140 -0
  26. package/dist/optional/analytics/reference/index.d.ts +51 -0
  27. package/dist/optional/analytics/reference/index.js +102 -0
  28. package/dist/optional/analytics/utils/idGenerator.d.ts +59 -0
  29. package/dist/optional/analytics/utils/idGenerator.js +96 -0
  30. package/dist/processors/gridset/colorUtils.d.ts +18 -0
  31. package/dist/processors/gridset/colorUtils.js +36 -0
  32. package/dist/processors/gridset/commands.d.ts +103 -0
  33. package/dist/processors/gridset/commands.js +958 -0
  34. package/dist/processors/gridset/index.d.ts +45 -0
  35. package/dist/processors/gridset/index.js +153 -0
  36. package/dist/processors/gridset/pluginTypes.d.ts +109 -0
  37. package/dist/processors/gridset/pluginTypes.js +285 -0
  38. package/dist/processors/gridset/resolver.d.ts +13 -0
  39. package/dist/processors/gridset/resolver.js +39 -1
  40. package/dist/processors/gridset/styleHelpers.d.ts +22 -0
  41. package/dist/processors/gridset/styleHelpers.js +35 -1
  42. package/dist/processors/gridset/symbolExtractor.d.ts +121 -0
  43. package/dist/processors/gridset/symbolExtractor.js +362 -0
  44. package/dist/processors/gridset/symbolSearch.d.ts +117 -0
  45. package/dist/processors/gridset/symbolSearch.js +280 -0
  46. package/dist/processors/gridset/symbols.d.ts +199 -0
  47. package/dist/processors/gridset/symbols.js +468 -0
  48. package/dist/processors/gridsetProcessor.js +59 -0
  49. package/dist/processors/index.d.ts +10 -1
  50. package/dist/processors/index.js +93 -2
  51. package/dist/processors/obfProcessor.js +25 -2
  52. package/dist/processors/obfsetProcessor.d.ts +26 -0
  53. package/dist/processors/obfsetProcessor.js +179 -0
  54. package/dist/processors/snapProcessor.js +29 -1
  55. package/dist/processors/touchchatProcessor.js +27 -0
  56. package/dist/types/aac.d.ts +21 -0
  57. package/package.json +1 -1
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Grid 3 Enhanced Support Module
3
+ *
4
+ * This module exports all enhanced Grid 3 functionality including:
5
+ * - Cell shape detection and support
6
+ * - Plugin cell type detection (Workspace, LiveCell, AutoContent)
7
+ * - Comprehensive command definitions and detection
8
+ * - Color utilities and style helpers
9
+ * - Image resolution helpers
10
+ */
11
+ export { CellBackgroundShape, SHAPE_NAMES, type Grid3Style, DEFAULT_GRID3_STYLES, CATEGORY_STYLES, createDefaultStylesXml, createCategoryStyle, } from './styleHelpers';
12
+ export { detectPluginCellType, type Grid3PluginMetadata, Grid3CellType, WORKSPACE_TYPES, LIVECELL_TYPES, AUTOCONTENT_TYPES, getCellTypeDisplayName, isWorkspaceCell, isLiveCell, isAutoContentCell, isRegularCell, } from './pluginTypes';
13
+ export { detectCommand, getCommandDefinition, getCommandsByPlugin, getCommandsByCategory, getAllCommandIds, getAllPluginIds, extractCommandParameters, GRID3_COMMANDS, type Grid3CommandDefinition, type CommandParameter, type ExtractedParameters, Grid3CommandCategory, } from './commands';
14
+ import { CellBackgroundShape } from './styleHelpers';
15
+ import { Grid3CellType } from './pluginTypes';
16
+ import { Grid3CommandCategory } from './commands';
17
+ export { ensureAlphaChannel, darkenColor, lightenColor, hexToRgba, rgbaToHex } from './colorUtils';
18
+ export { resolveGridsetPassword, getZipEntriesWithPassword, resolveGridsetPasswordFromEnv, } from './password';
19
+ export { getPageTokenImageMap, getAllowedImageEntries, openImage, generateGrid3Guid, createSettingsXml, createFileMapXml, getCommonDocumentsPath, findGrid3UserPaths, findGrid3HistoryDatabases, findGrid3Vocabularies, findGrid3UserHistory, findGrid3Users, isGrid3Installed, readGrid3History, readGrid3HistoryForUser, readAllGrid3History, type Grid3UserPath, type Grid3VocabularyPath, type Grid3HistoryEntry, } from './helpers';
20
+ export { parseSymbolReference, isSymbolReference, resolveSymbolReference, getAvailableSymbolLibraries, getSymbolLibraryInfo, extractSymbolReferences, analyzeSymbolUsage, createSymbolReference, getSymbolLibraryName, getSymbolPath, isKnownSymbolLibrary, getSymbolLibraryDisplayName, getDefaultGrid3Path, getSymbolLibrariesDir, getSymbolSearchIndexesDir, symbolReferenceToFilename, SYMBOL_LIBRARIES, type SymbolReference, type SymbolLibraryInfo, type SymbolResolutionOptions, type SymbolResolutionResult, type SymbolUsageStats, type SymbolLibraryName, } from './symbols';
21
+ export { getSymbolsDir, getSymbolSearchDir } from './symbols';
22
+ export { resolveGrid3CellImage, isSymbolLibraryReference, parseImageSymbolReference, } from './resolver';
23
+ export { extractButtonImage, extractSymbolLibraryImage, convertToAstericsImage, analyzeSymbolExtraction, suggestExtractionStrategy, exportSymbolReferencesToCsv, createSymbolManifest, type ExtractedImage, type SymbolExtractionOptions, type SymbolReport, type SymbolManifest, } from './symbolExtractor';
24
+ export { parsePixFile, loadSearchIndexes, searchSymbols, searchSymbolsWithReferences, getSymbolFilename, getSymbolDisplayName, getAllSearchTerms, getSearchSuggestions, countLibrarySymbols, getSymbolSearchStats, type SymbolSearchResult, type SymbolSearchOptions, type LibrarySearchIndex, type SymbolSearchStats, } from './symbolSearch';
25
+ /**
26
+ * Get all Grid 3 command IDs as a readonly array
27
+ * Useful for validation and autocomplete
28
+ */
29
+ export declare const GRID3_COMMAND_IDS: readonly string[];
30
+ /**
31
+ * Get all Grid 3 plugin IDs as a readonly array
32
+ */
33
+ export declare const GRID3_PLUGIN_IDS: readonly string[];
34
+ /**
35
+ * Grid 3 cell shapes enum values
36
+ */
37
+ export declare const GRID3_CELL_SHAPES: readonly (string | CellBackgroundShape)[];
38
+ /**
39
+ * Grid 3 cell types enum values
40
+ */
41
+ export declare const GRID3_CELL_TYPES: readonly Grid3CellType[];
42
+ /**
43
+ * Grid 3 command categories enum values
44
+ */
45
+ export declare const GRID3_COMMAND_CATEGORIES: readonly Grid3CommandCategory[];
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ /**
3
+ * Grid 3 Enhanced Support Module
4
+ *
5
+ * This module exports all enhanced Grid 3 functionality including:
6
+ * - Cell shape detection and support
7
+ * - Plugin cell type detection (Workspace, LiveCell, AutoContent)
8
+ * - Comprehensive command definitions and detection
9
+ * - Color utilities and style helpers
10
+ * - Image resolution helpers
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.parseSymbolReference = exports.readAllGrid3History = exports.readGrid3HistoryForUser = exports.readGrid3History = exports.isGrid3Installed = exports.findGrid3Users = exports.findGrid3UserHistory = exports.findGrid3Vocabularies = exports.findGrid3HistoryDatabases = exports.findGrid3UserPaths = exports.getCommonDocumentsPath = exports.createFileMapXml = exports.createSettingsXml = exports.generateGrid3Guid = exports.openImage = exports.getAllowedImageEntries = exports.getPageTokenImageMap = exports.resolveGridsetPasswordFromEnv = exports.getZipEntriesWithPassword = exports.resolveGridsetPassword = exports.rgbaToHex = exports.hexToRgba = exports.lightenColor = exports.darkenColor = exports.ensureAlphaChannel = exports.Grid3CommandCategory = exports.GRID3_COMMANDS = exports.extractCommandParameters = exports.getAllPluginIds = exports.getAllCommandIds = exports.getCommandsByCategory = exports.getCommandsByPlugin = exports.getCommandDefinition = exports.detectCommand = exports.isRegularCell = exports.isAutoContentCell = exports.isLiveCell = exports.isWorkspaceCell = exports.getCellTypeDisplayName = exports.AUTOCONTENT_TYPES = exports.LIVECELL_TYPES = exports.WORKSPACE_TYPES = exports.Grid3CellType = exports.detectPluginCellType = exports.createCategoryStyle = exports.createDefaultStylesXml = exports.CATEGORY_STYLES = exports.DEFAULT_GRID3_STYLES = exports.SHAPE_NAMES = exports.CellBackgroundShape = void 0;
14
+ exports.GRID3_COMMAND_CATEGORIES = exports.GRID3_CELL_TYPES = exports.GRID3_CELL_SHAPES = exports.GRID3_PLUGIN_IDS = exports.GRID3_COMMAND_IDS = exports.getSymbolSearchStats = exports.countLibrarySymbols = exports.getSearchSuggestions = exports.getAllSearchTerms = exports.getSymbolDisplayName = exports.getSymbolFilename = exports.searchSymbolsWithReferences = exports.searchSymbols = exports.loadSearchIndexes = exports.parsePixFile = exports.createSymbolManifest = exports.exportSymbolReferencesToCsv = exports.suggestExtractionStrategy = exports.analyzeSymbolExtraction = exports.convertToAstericsImage = exports.extractSymbolLibraryImage = exports.extractButtonImage = exports.parseImageSymbolReference = exports.isSymbolLibraryReference = exports.resolveGrid3CellImage = exports.getSymbolSearchDir = exports.getSymbolsDir = exports.SYMBOL_LIBRARIES = exports.symbolReferenceToFilename = exports.getSymbolSearchIndexesDir = exports.getSymbolLibrariesDir = exports.getDefaultGrid3Path = exports.getSymbolLibraryDisplayName = exports.isKnownSymbolLibrary = exports.getSymbolPath = exports.getSymbolLibraryName = exports.createSymbolReference = exports.analyzeSymbolUsage = exports.extractSymbolReferences = exports.getSymbolLibraryInfo = exports.getAvailableSymbolLibraries = exports.resolveSymbolReference = exports.isSymbolReference = void 0;
15
+ // Style helpers
16
+ var styleHelpers_1 = require("./styleHelpers");
17
+ Object.defineProperty(exports, "CellBackgroundShape", { enumerable: true, get: function () { return styleHelpers_1.CellBackgroundShape; } });
18
+ Object.defineProperty(exports, "SHAPE_NAMES", { enumerable: true, get: function () { return styleHelpers_1.SHAPE_NAMES; } });
19
+ Object.defineProperty(exports, "DEFAULT_GRID3_STYLES", { enumerable: true, get: function () { return styleHelpers_1.DEFAULT_GRID3_STYLES; } });
20
+ Object.defineProperty(exports, "CATEGORY_STYLES", { enumerable: true, get: function () { return styleHelpers_1.CATEGORY_STYLES; } });
21
+ Object.defineProperty(exports, "createDefaultStylesXml", { enumerable: true, get: function () { return styleHelpers_1.createDefaultStylesXml; } });
22
+ Object.defineProperty(exports, "createCategoryStyle", { enumerable: true, get: function () { return styleHelpers_1.createCategoryStyle; } });
23
+ // Plugin cell type detection
24
+ var pluginTypes_1 = require("./pluginTypes");
25
+ Object.defineProperty(exports, "detectPluginCellType", { enumerable: true, get: function () { return pluginTypes_1.detectPluginCellType; } });
26
+ Object.defineProperty(exports, "Grid3CellType", { enumerable: true, get: function () { return pluginTypes_1.Grid3CellType; } });
27
+ Object.defineProperty(exports, "WORKSPACE_TYPES", { enumerable: true, get: function () { return pluginTypes_1.WORKSPACE_TYPES; } });
28
+ Object.defineProperty(exports, "LIVECELL_TYPES", { enumerable: true, get: function () { return pluginTypes_1.LIVECELL_TYPES; } });
29
+ Object.defineProperty(exports, "AUTOCONTENT_TYPES", { enumerable: true, get: function () { return pluginTypes_1.AUTOCONTENT_TYPES; } });
30
+ Object.defineProperty(exports, "getCellTypeDisplayName", { enumerable: true, get: function () { return pluginTypes_1.getCellTypeDisplayName; } });
31
+ Object.defineProperty(exports, "isWorkspaceCell", { enumerable: true, get: function () { return pluginTypes_1.isWorkspaceCell; } });
32
+ Object.defineProperty(exports, "isLiveCell", { enumerable: true, get: function () { return pluginTypes_1.isLiveCell; } });
33
+ Object.defineProperty(exports, "isAutoContentCell", { enumerable: true, get: function () { return pluginTypes_1.isAutoContentCell; } });
34
+ Object.defineProperty(exports, "isRegularCell", { enumerable: true, get: function () { return pluginTypes_1.isRegularCell; } });
35
+ // Command definitions and detection
36
+ var commands_1 = require("./commands");
37
+ Object.defineProperty(exports, "detectCommand", { enumerable: true, get: function () { return commands_1.detectCommand; } });
38
+ Object.defineProperty(exports, "getCommandDefinition", { enumerable: true, get: function () { return commands_1.getCommandDefinition; } });
39
+ Object.defineProperty(exports, "getCommandsByPlugin", { enumerable: true, get: function () { return commands_1.getCommandsByPlugin; } });
40
+ Object.defineProperty(exports, "getCommandsByCategory", { enumerable: true, get: function () { return commands_1.getCommandsByCategory; } });
41
+ Object.defineProperty(exports, "getAllCommandIds", { enumerable: true, get: function () { return commands_1.getAllCommandIds; } });
42
+ Object.defineProperty(exports, "getAllPluginIds", { enumerable: true, get: function () { return commands_1.getAllPluginIds; } });
43
+ Object.defineProperty(exports, "extractCommandParameters", { enumerable: true, get: function () { return commands_1.extractCommandParameters; } });
44
+ Object.defineProperty(exports, "GRID3_COMMANDS", { enumerable: true, get: function () { return commands_1.GRID3_COMMANDS; } });
45
+ Object.defineProperty(exports, "Grid3CommandCategory", { enumerable: true, get: function () { return commands_1.Grid3CommandCategory; } });
46
+ // Import for local use in constant definitions
47
+ const commands_2 = require("./commands");
48
+ const styleHelpers_2 = require("./styleHelpers");
49
+ const pluginTypes_2 = require("./pluginTypes");
50
+ const commands_3 = require("./commands");
51
+ // Color utilities
52
+ var colorUtils_1 = require("./colorUtils");
53
+ Object.defineProperty(exports, "ensureAlphaChannel", { enumerable: true, get: function () { return colorUtils_1.ensureAlphaChannel; } });
54
+ Object.defineProperty(exports, "darkenColor", { enumerable: true, get: function () { return colorUtils_1.darkenColor; } });
55
+ Object.defineProperty(exports, "lightenColor", { enumerable: true, get: function () { return colorUtils_1.lightenColor; } });
56
+ Object.defineProperty(exports, "hexToRgba", { enumerable: true, get: function () { return colorUtils_1.hexToRgba; } });
57
+ Object.defineProperty(exports, "rgbaToHex", { enumerable: true, get: function () { return colorUtils_1.rgbaToHex; } });
58
+ // Password handling
59
+ var password_1 = require("./password");
60
+ Object.defineProperty(exports, "resolveGridsetPassword", { enumerable: true, get: function () { return password_1.resolveGridsetPassword; } });
61
+ Object.defineProperty(exports, "getZipEntriesWithPassword", { enumerable: true, get: function () { return password_1.getZipEntriesWithPassword; } });
62
+ Object.defineProperty(exports, "resolveGridsetPasswordFromEnv", { enumerable: true, get: function () { return password_1.resolveGridsetPasswordFromEnv; } });
63
+ // Helper functions
64
+ var helpers_1 = require("./helpers");
65
+ Object.defineProperty(exports, "getPageTokenImageMap", { enumerable: true, get: function () { return helpers_1.getPageTokenImageMap; } });
66
+ Object.defineProperty(exports, "getAllowedImageEntries", { enumerable: true, get: function () { return helpers_1.getAllowedImageEntries; } });
67
+ Object.defineProperty(exports, "openImage", { enumerable: true, get: function () { return helpers_1.openImage; } });
68
+ Object.defineProperty(exports, "generateGrid3Guid", { enumerable: true, get: function () { return helpers_1.generateGrid3Guid; } });
69
+ Object.defineProperty(exports, "createSettingsXml", { enumerable: true, get: function () { return helpers_1.createSettingsXml; } });
70
+ Object.defineProperty(exports, "createFileMapXml", { enumerable: true, get: function () { return helpers_1.createFileMapXml; } });
71
+ Object.defineProperty(exports, "getCommonDocumentsPath", { enumerable: true, get: function () { return helpers_1.getCommonDocumentsPath; } });
72
+ Object.defineProperty(exports, "findGrid3UserPaths", { enumerable: true, get: function () { return helpers_1.findGrid3UserPaths; } });
73
+ Object.defineProperty(exports, "findGrid3HistoryDatabases", { enumerable: true, get: function () { return helpers_1.findGrid3HistoryDatabases; } });
74
+ Object.defineProperty(exports, "findGrid3Vocabularies", { enumerable: true, get: function () { return helpers_1.findGrid3Vocabularies; } });
75
+ Object.defineProperty(exports, "findGrid3UserHistory", { enumerable: true, get: function () { return helpers_1.findGrid3UserHistory; } });
76
+ Object.defineProperty(exports, "findGrid3Users", { enumerable: true, get: function () { return helpers_1.findGrid3Users; } });
77
+ Object.defineProperty(exports, "isGrid3Installed", { enumerable: true, get: function () { return helpers_1.isGrid3Installed; } });
78
+ Object.defineProperty(exports, "readGrid3History", { enumerable: true, get: function () { return helpers_1.readGrid3History; } });
79
+ Object.defineProperty(exports, "readGrid3HistoryForUser", { enumerable: true, get: function () { return helpers_1.readGrid3HistoryForUser; } });
80
+ Object.defineProperty(exports, "readAllGrid3History", { enumerable: true, get: function () { return helpers_1.readAllGrid3History; } });
81
+ // Symbol library handling
82
+ var symbols_1 = require("./symbols");
83
+ Object.defineProperty(exports, "parseSymbolReference", { enumerable: true, get: function () { return symbols_1.parseSymbolReference; } });
84
+ Object.defineProperty(exports, "isSymbolReference", { enumerable: true, get: function () { return symbols_1.isSymbolReference; } });
85
+ Object.defineProperty(exports, "resolveSymbolReference", { enumerable: true, get: function () { return symbols_1.resolveSymbolReference; } });
86
+ Object.defineProperty(exports, "getAvailableSymbolLibraries", { enumerable: true, get: function () { return symbols_1.getAvailableSymbolLibraries; } });
87
+ Object.defineProperty(exports, "getSymbolLibraryInfo", { enumerable: true, get: function () { return symbols_1.getSymbolLibraryInfo; } });
88
+ Object.defineProperty(exports, "extractSymbolReferences", { enumerable: true, get: function () { return symbols_1.extractSymbolReferences; } });
89
+ Object.defineProperty(exports, "analyzeSymbolUsage", { enumerable: true, get: function () { return symbols_1.analyzeSymbolUsage; } });
90
+ Object.defineProperty(exports, "createSymbolReference", { enumerable: true, get: function () { return symbols_1.createSymbolReference; } });
91
+ Object.defineProperty(exports, "getSymbolLibraryName", { enumerable: true, get: function () { return symbols_1.getSymbolLibraryName; } });
92
+ Object.defineProperty(exports, "getSymbolPath", { enumerable: true, get: function () { return symbols_1.getSymbolPath; } });
93
+ Object.defineProperty(exports, "isKnownSymbolLibrary", { enumerable: true, get: function () { return symbols_1.isKnownSymbolLibrary; } });
94
+ Object.defineProperty(exports, "getSymbolLibraryDisplayName", { enumerable: true, get: function () { return symbols_1.getSymbolLibraryDisplayName; } });
95
+ Object.defineProperty(exports, "getDefaultGrid3Path", { enumerable: true, get: function () { return symbols_1.getDefaultGrid3Path; } });
96
+ Object.defineProperty(exports, "getSymbolLibrariesDir", { enumerable: true, get: function () { return symbols_1.getSymbolLibrariesDir; } });
97
+ Object.defineProperty(exports, "getSymbolSearchIndexesDir", { enumerable: true, get: function () { return symbols_1.getSymbolSearchIndexesDir; } });
98
+ Object.defineProperty(exports, "symbolReferenceToFilename", { enumerable: true, get: function () { return symbols_1.symbolReferenceToFilename; } });
99
+ Object.defineProperty(exports, "SYMBOL_LIBRARIES", { enumerable: true, get: function () { return symbols_1.SYMBOL_LIBRARIES; } });
100
+ // Backward compatibility aliases for old function names
101
+ var symbols_2 = require("./symbols");
102
+ Object.defineProperty(exports, "getSymbolsDir", { enumerable: true, get: function () { return symbols_2.getSymbolsDir; } });
103
+ Object.defineProperty(exports, "getSymbolSearchDir", { enumerable: true, get: function () { return symbols_2.getSymbolSearchDir; } });
104
+ // Image resolution
105
+ var resolver_1 = require("./resolver");
106
+ Object.defineProperty(exports, "resolveGrid3CellImage", { enumerable: true, get: function () { return resolver_1.resolveGrid3CellImage; } });
107
+ Object.defineProperty(exports, "isSymbolLibraryReference", { enumerable: true, get: function () { return resolver_1.isSymbolLibraryReference; } });
108
+ Object.defineProperty(exports, "parseImageSymbolReference", { enumerable: true, get: function () { return resolver_1.parseImageSymbolReference; } });
109
+ // Symbol extraction and conversion
110
+ var symbolExtractor_1 = require("./symbolExtractor");
111
+ Object.defineProperty(exports, "extractButtonImage", { enumerable: true, get: function () { return symbolExtractor_1.extractButtonImage; } });
112
+ Object.defineProperty(exports, "extractSymbolLibraryImage", { enumerable: true, get: function () { return symbolExtractor_1.extractSymbolLibraryImage; } });
113
+ Object.defineProperty(exports, "convertToAstericsImage", { enumerable: true, get: function () { return symbolExtractor_1.convertToAstericsImage; } });
114
+ Object.defineProperty(exports, "analyzeSymbolExtraction", { enumerable: true, get: function () { return symbolExtractor_1.analyzeSymbolExtraction; } });
115
+ Object.defineProperty(exports, "suggestExtractionStrategy", { enumerable: true, get: function () { return symbolExtractor_1.suggestExtractionStrategy; } });
116
+ Object.defineProperty(exports, "exportSymbolReferencesToCsv", { enumerable: true, get: function () { return symbolExtractor_1.exportSymbolReferencesToCsv; } });
117
+ Object.defineProperty(exports, "createSymbolManifest", { enumerable: true, get: function () { return symbolExtractor_1.createSymbolManifest; } });
118
+ // Symbol search functionality
119
+ var symbolSearch_1 = require("./symbolSearch");
120
+ Object.defineProperty(exports, "parsePixFile", { enumerable: true, get: function () { return symbolSearch_1.parsePixFile; } });
121
+ Object.defineProperty(exports, "loadSearchIndexes", { enumerable: true, get: function () { return symbolSearch_1.loadSearchIndexes; } });
122
+ Object.defineProperty(exports, "searchSymbols", { enumerable: true, get: function () { return symbolSearch_1.searchSymbols; } });
123
+ Object.defineProperty(exports, "searchSymbolsWithReferences", { enumerable: true, get: function () { return symbolSearch_1.searchSymbolsWithReferences; } });
124
+ Object.defineProperty(exports, "getSymbolFilename", { enumerable: true, get: function () { return symbolSearch_1.getSymbolFilename; } });
125
+ Object.defineProperty(exports, "getSymbolDisplayName", { enumerable: true, get: function () { return symbolSearch_1.getSymbolDisplayName; } });
126
+ Object.defineProperty(exports, "getAllSearchTerms", { enumerable: true, get: function () { return symbolSearch_1.getAllSearchTerms; } });
127
+ Object.defineProperty(exports, "getSearchSuggestions", { enumerable: true, get: function () { return symbolSearch_1.getSearchSuggestions; } });
128
+ Object.defineProperty(exports, "countLibrarySymbols", { enumerable: true, get: function () { return symbolSearch_1.countLibrarySymbols; } });
129
+ Object.defineProperty(exports, "getSymbolSearchStats", { enumerable: true, get: function () { return symbolSearch_1.getSymbolSearchStats; } });
130
+ /**
131
+ * Get all Grid 3 command IDs as a readonly array
132
+ * Useful for validation and autocomplete
133
+ */
134
+ exports.GRID3_COMMAND_IDS = Object.freeze((0, commands_2.getAllCommandIds)());
135
+ /**
136
+ * Get all Grid 3 plugin IDs as a readonly array
137
+ */
138
+ exports.GRID3_PLUGIN_IDS = Object.freeze((0, commands_2.getAllPluginIds)());
139
+ /**
140
+ * Grid 3 cell shapes enum values
141
+ */
142
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
143
+ exports.GRID3_CELL_SHAPES = Object.freeze(Object.values(styleHelpers_2.CellBackgroundShape));
144
+ /**
145
+ * Grid 3 cell types enum values
146
+ */
147
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
148
+ exports.GRID3_CELL_TYPES = Object.freeze(Object.values(pluginTypes_2.Grid3CellType));
149
+ /**
150
+ * Grid 3 command categories enum values
151
+ */
152
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
153
+ exports.GRID3_COMMAND_CATEGORIES = Object.freeze(Object.values(commands_3.Grid3CommandCategory));
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Grid 3 Plugin Cell Type Detection
3
+ *
4
+ * Grid 3 uses three special cell types for different plugin functionalities:
5
+ * - Workspace: Full editing workspaces (Email, Chat, WordProcessor, etc.)
6
+ * - LiveCell: Dynamic content displays (Clock, Volume indicators, etc.)
7
+ * - AutoContent: Dynamic word/content suggestions
8
+ *
9
+ * This module provides detection and metadata extraction for these cell types.
10
+ */
11
+ /**
12
+ * Cell types in Grid 3
13
+ */
14
+ export declare enum Grid3CellType {
15
+ Regular = "regular",
16
+ Workspace = "workspace",
17
+ LiveCell = "livecell",
18
+ AutoContent = "autocontent"
19
+ }
20
+ /**
21
+ * Plugin metadata extracted from Grid 3 cells
22
+ */
23
+ export interface Grid3PluginMetadata {
24
+ cellType: Grid3CellType;
25
+ pluginId?: string;
26
+ subType?: string;
27
+ autoContentType?: string;
28
+ liveCellType?: string;
29
+ displayName?: string;
30
+ }
31
+ /**
32
+ * Known workspace types in Grid 3
33
+ */
34
+ export declare const WORKSPACE_TYPES: {
35
+ readonly CHAT: "Chat";
36
+ readonly EMAIL: "Email";
37
+ readonly WORD_PROCESSOR: "WordProcessor";
38
+ readonly PHONE: "Phone";
39
+ readonly SMS: "Sms";
40
+ readonly WEB_BROWSER: "WebBrowser";
41
+ readonly COMPUTER_CONTROL: "ComputerControl";
42
+ readonly CALCULATOR: "Calculator";
43
+ readonly TIMER: "Timer";
44
+ readonly MUSIC_VIDEO: "MusicVideo";
45
+ readonly PHOTOS: "Photos";
46
+ readonly CONTACTS: "Contacts";
47
+ readonly INTERACTIVE_LEARNING: "InteractiveLearning";
48
+ readonly MESSAGE_BANKING: "MessageBanking";
49
+ readonly ENVIRONMENT_CONTROL: "EnvironmentControl";
50
+ readonly SETTINGS: "Settings";
51
+ };
52
+ /**
53
+ * Known live cell types in Grid 3
54
+ */
55
+ export declare const LIVECELL_TYPES: {
56
+ readonly DIGITAL_CLOCK: "DigitalClock";
57
+ readonly ANALOG_CLOCK: "AnalogClock";
58
+ readonly DATE_DISPLAY: "DateDisplay";
59
+ readonly PUBLIC_VOLUME: "PublicVolume";
60
+ readonly PUBLIC_SPEED: "PublicSpeed";
61
+ readonly PUBLIC_VOICE: "PublicVoice";
62
+ readonly MESSAGES: "Messages";
63
+ readonly BATTERY: "Battery";
64
+ readonly WIFI_STRENGTH: "WifiStrength";
65
+ readonly BLUETOOTH_STATUS: "BluetoothStatus";
66
+ };
67
+ /**
68
+ * Known auto content types in Grid 3
69
+ */
70
+ export declare const AUTOCONTENT_TYPES: {
71
+ readonly CHANGE_PUBLIC_VOICE: "ChangePublicVoice";
72
+ readonly CHANGE_PUBLIC_SPEED: "ChangePublicSpeed";
73
+ readonly EMAIL_CONTACTS: "EmailContacts";
74
+ readonly EMAIL_RECIPIENTS: "EmailRecipients";
75
+ readonly PHONE_CONTACTS: "PhoneContacts";
76
+ readonly SMS_CONTACTS: "SmsContacts";
77
+ readonly WEB_FAVORITES: "WebFavorites";
78
+ readonly WEB_HISTORY: "WebHistory";
79
+ readonly PREDICTION: "Prediction";
80
+ readonly GRAMMAR: "Grammar";
81
+ readonly CONTEXTUAL: "Contextual";
82
+ };
83
+ /**
84
+ * Human-readable names for cell types
85
+ */
86
+ export declare function getCellTypeDisplayName(cellType: Grid3CellType): string;
87
+ /**
88
+ * Detect plugin cell type from Grid 3 cell content
89
+ *
90
+ * @param content - Grid 3 cell content object
91
+ * @returns Plugin metadata with detected type
92
+ */
93
+ export declare function detectPluginCellType(content: any): Grid3PluginMetadata;
94
+ /**
95
+ * Check if a cell is a workspace cell
96
+ */
97
+ export declare function isWorkspaceCell(metadata: Grid3PluginMetadata): boolean;
98
+ /**
99
+ * Check if a cell is a live cell
100
+ */
101
+ export declare function isLiveCell(metadata: Grid3PluginMetadata): boolean;
102
+ /**
103
+ * Check if a cell is an auto content cell
104
+ */
105
+ export declare function isAutoContentCell(metadata: Grid3PluginMetadata): boolean;
106
+ /**
107
+ * Check if a cell is a regular (non-plugin) cell
108
+ */
109
+ export declare function isRegularCell(metadata: Grid3PluginMetadata): boolean;
@@ -0,0 +1,285 @@
1
+ "use strict";
2
+ /**
3
+ * Grid 3 Plugin Cell Type Detection
4
+ *
5
+ * Grid 3 uses three special cell types for different plugin functionalities:
6
+ * - Workspace: Full editing workspaces (Email, Chat, WordProcessor, etc.)
7
+ * - LiveCell: Dynamic content displays (Clock, Volume indicators, etc.)
8
+ * - AutoContent: Dynamic word/content suggestions
9
+ *
10
+ * This module provides detection and metadata extraction for these cell types.
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.AUTOCONTENT_TYPES = exports.LIVECELL_TYPES = exports.WORKSPACE_TYPES = exports.Grid3CellType = void 0;
14
+ exports.getCellTypeDisplayName = getCellTypeDisplayName;
15
+ exports.detectPluginCellType = detectPluginCellType;
16
+ exports.isWorkspaceCell = isWorkspaceCell;
17
+ exports.isLiveCell = isLiveCell;
18
+ exports.isAutoContentCell = isAutoContentCell;
19
+ exports.isRegularCell = isRegularCell;
20
+ /**
21
+ * Cell types in Grid 3
22
+ */
23
+ var Grid3CellType;
24
+ (function (Grid3CellType) {
25
+ Grid3CellType["Regular"] = "regular";
26
+ Grid3CellType["Workspace"] = "workspace";
27
+ Grid3CellType["LiveCell"] = "livecell";
28
+ Grid3CellType["AutoContent"] = "autocontent";
29
+ })(Grid3CellType || (exports.Grid3CellType = Grid3CellType = {}));
30
+ /**
31
+ * Known workspace types in Grid 3
32
+ */
33
+ exports.WORKSPACE_TYPES = {
34
+ CHAT: 'Chat',
35
+ EMAIL: 'Email',
36
+ WORD_PROCESSOR: 'WordProcessor',
37
+ PHONE: 'Phone',
38
+ SMS: 'Sms',
39
+ WEB_BROWSER: 'WebBrowser',
40
+ COMPUTER_CONTROL: 'ComputerControl',
41
+ CALCULATOR: 'Calculator',
42
+ TIMER: 'Timer',
43
+ MUSIC_VIDEO: 'MusicVideo',
44
+ PHOTOS: 'Photos',
45
+ CONTACTS: 'Contacts',
46
+ INTERACTIVE_LEARNING: 'InteractiveLearning',
47
+ MESSAGE_BANKING: 'MessageBanking',
48
+ ENVIRONMENT_CONTROL: 'EnvironmentControl',
49
+ SETTINGS: 'Settings',
50
+ };
51
+ /**
52
+ * Known live cell types in Grid 3
53
+ */
54
+ exports.LIVECELL_TYPES = {
55
+ DIGITAL_CLOCK: 'DigitalClock',
56
+ ANALOG_CLOCK: 'AnalogClock',
57
+ DATE_DISPLAY: 'DateDisplay',
58
+ PUBLIC_VOLUME: 'PublicVolume',
59
+ PUBLIC_SPEED: 'PublicSpeed',
60
+ PUBLIC_VOICE: 'PublicVoice',
61
+ MESSAGES: 'Messages',
62
+ BATTERY: 'Battery',
63
+ WIFI_STRENGTH: 'WifiStrength',
64
+ BLUETOOTH_STATUS: 'BluetoothStatus',
65
+ };
66
+ /**
67
+ * Known auto content types in Grid 3
68
+ */
69
+ exports.AUTOCONTENT_TYPES = {
70
+ CHANGE_PUBLIC_VOICE: 'ChangePublicVoice',
71
+ CHANGE_PUBLIC_SPEED: 'ChangePublicSpeed',
72
+ EMAIL_CONTACTS: 'EmailContacts',
73
+ EMAIL_RECIPIENTS: 'EmailRecipients',
74
+ PHONE_CONTACTS: 'PhoneContacts',
75
+ SMS_CONTACTS: 'SmsContacts',
76
+ WEB_FAVORITES: 'WebFavorites',
77
+ WEB_HISTORY: 'WebHistory',
78
+ PREDICTION: 'Prediction',
79
+ GRAMMAR: 'Grammar',
80
+ CONTEXTUAL: 'Contextual',
81
+ };
82
+ /**
83
+ * Human-readable names for cell types
84
+ */
85
+ function getCellTypeDisplayName(cellType) {
86
+ switch (cellType) {
87
+ case Grid3CellType.Workspace:
88
+ return 'Workspace';
89
+ case Grid3CellType.LiveCell:
90
+ return 'Live Cell';
91
+ case Grid3CellType.AutoContent:
92
+ return 'Auto Content';
93
+ case Grid3CellType.Regular:
94
+ return 'Regular';
95
+ default:
96
+ return 'Unknown';
97
+ }
98
+ }
99
+ /**
100
+ * Detect plugin cell type from Grid 3 cell content
101
+ *
102
+ * @param content - Grid 3 cell content object
103
+ * @returns Plugin metadata with detected type
104
+ */
105
+ function detectPluginCellType(content) {
106
+ if (!content) {
107
+ return { cellType: Grid3CellType.Regular };
108
+ }
109
+ const contentType = content.ContentType || content.contenttype || content.ContentType;
110
+ const contentSubType = content.ContentSubType || content.contentsubtype || content.ContentSubType;
111
+ // Workspace cells - full editing workspaces
112
+ if (contentType === 'Workspace') {
113
+ return {
114
+ cellType: Grid3CellType.Workspace,
115
+ subType: contentSubType || undefined,
116
+ pluginId: inferWorkspacePlugin(String(contentSubType || '')),
117
+ displayName: contentSubType ? `${contentSubType} Workspace` : 'Workspace',
118
+ };
119
+ }
120
+ // LiveCell detection - dynamic content displays
121
+ if (contentType === 'LiveCell') {
122
+ return {
123
+ cellType: Grid3CellType.LiveCell,
124
+ liveCellType: contentSubType || undefined,
125
+ pluginId: inferLiveCellPlugin(String(contentSubType || '')),
126
+ displayName: contentSubType || 'Live Cell',
127
+ };
128
+ }
129
+ // AutoContent detection - dynamic word/content suggestions
130
+ if (contentType === 'AutoContent') {
131
+ const autoContentType = extractAutoContentType(content);
132
+ return {
133
+ cellType: Grid3CellType.AutoContent,
134
+ autoContentType: autoContentType || undefined,
135
+ pluginId: inferAutoContentPlugin(autoContentType),
136
+ displayName: autoContentType || 'Auto Content',
137
+ };
138
+ }
139
+ // Regular cell
140
+ return {
141
+ cellType: Grid3CellType.Regular,
142
+ };
143
+ }
144
+ /**
145
+ * Extract auto content type from AutoContent.Activate command
146
+ */
147
+ function extractAutoContentType(content) {
148
+ const commands = content.Commands?.Command || content.commands?.command;
149
+ if (!commands)
150
+ return undefined;
151
+ const commandArr = Array.isArray(commands) ? commands : [commands];
152
+ for (const command of commandArr) {
153
+ const commandId = command['@_ID'] || command.ID || command.id;
154
+ if (commandId === 'AutoContent.Activate') {
155
+ const parameters = command.Parameter || command.parameter;
156
+ const paramArr = Array.isArray(parameters) ? parameters : parameters ? [parameters] : [];
157
+ for (const param of paramArr) {
158
+ const key = param['@_Key'] || param.Key || param.key;
159
+ if (key === 'autocontenttype') {
160
+ return String(param['#text'] || param.text || param.value || '');
161
+ }
162
+ }
163
+ }
164
+ }
165
+ return undefined;
166
+ }
167
+ /**
168
+ * Infer plugin ID from workspace subtype
169
+ */
170
+ function inferWorkspacePlugin(subType) {
171
+ if (!subType)
172
+ return undefined;
173
+ const normalized = subType.toLowerCase();
174
+ if (normalized.includes('chat'))
175
+ return 'chat';
176
+ if (normalized.includes('email') || normalized.includes('mail'))
177
+ return 'email';
178
+ if (normalized.includes('word') || normalized.includes('processor'))
179
+ return 'wordprocessor';
180
+ if (normalized.includes('phone'))
181
+ return 'phone';
182
+ if (normalized.includes('sms') || normalized.includes('text'))
183
+ return 'sms';
184
+ if (normalized.includes('web') || normalized.includes('browser'))
185
+ return 'webbrowser';
186
+ if (normalized.includes('computer') || normalized.includes('control'))
187
+ return 'computercontrol';
188
+ if (normalized.includes('calculator') || normalized.includes('calc'))
189
+ return 'calculator';
190
+ if (normalized.includes('timer') || normalized.includes('stopwatch'))
191
+ return 'timer';
192
+ if (normalized.includes('music') || normalized.includes('video'))
193
+ return 'musicvideo';
194
+ if (normalized.includes('photo') || normalized.includes('image'))
195
+ return 'photos';
196
+ if (normalized.includes('contact'))
197
+ return 'contacts';
198
+ if (normalized.includes('learning'))
199
+ return 'interactivelearning';
200
+ if (normalized.includes('message') && normalized.includes('bank'))
201
+ return 'messagebanking';
202
+ if (normalized.includes('env') || normalized.includes('ir'))
203
+ return 'environmentcontrol';
204
+ if (normalized.includes('setting'))
205
+ return 'settings';
206
+ return undefined;
207
+ }
208
+ /**
209
+ * Infer plugin ID from live cell type
210
+ */
211
+ function inferLiveCellPlugin(liveCellType) {
212
+ if (!liveCellType)
213
+ return undefined;
214
+ const normalized = liveCellType.toLowerCase();
215
+ if (normalized.includes('clock') || normalized.includes('time') || normalized.includes('date')) {
216
+ return 'clock';
217
+ }
218
+ if (normalized.includes('volume'))
219
+ return 'speech';
220
+ if (normalized.includes('speed'))
221
+ return 'speech';
222
+ if (normalized.includes('voice'))
223
+ return 'speech';
224
+ if (normalized.includes('message'))
225
+ return 'chat';
226
+ if (normalized.includes('battery'))
227
+ return 'settings';
228
+ if (normalized.includes('wifi') || normalized.includes('network'))
229
+ return 'settings';
230
+ if (normalized.includes('bluetooth'))
231
+ return 'settings';
232
+ return undefined;
233
+ }
234
+ /**
235
+ * Infer plugin ID from auto content type
236
+ */
237
+ function inferAutoContentPlugin(autoContentType) {
238
+ if (!autoContentType)
239
+ return undefined;
240
+ const normalized = autoContentType.toLowerCase();
241
+ if (normalized.includes('voice') || normalized.includes('speed'))
242
+ return 'speech';
243
+ if (normalized.includes('email') || normalized.includes('mail'))
244
+ return 'email';
245
+ if (normalized.includes('phone'))
246
+ return 'phone';
247
+ if (normalized.includes('sms') || normalized.includes('text'))
248
+ return 'sms';
249
+ if (normalized.includes('web') ||
250
+ normalized.includes('favorite') ||
251
+ normalized.includes('history')) {
252
+ return 'webbrowser';
253
+ }
254
+ if (normalized.includes('prediction'))
255
+ return 'prediction';
256
+ if (normalized.includes('grammar'))
257
+ return 'grammar';
258
+ if (normalized.includes('context'))
259
+ return 'autocontent';
260
+ return undefined;
261
+ }
262
+ /**
263
+ * Check if a cell is a workspace cell
264
+ */
265
+ function isWorkspaceCell(metadata) {
266
+ return metadata.cellType === Grid3CellType.Workspace;
267
+ }
268
+ /**
269
+ * Check if a cell is a live cell
270
+ */
271
+ function isLiveCell(metadata) {
272
+ return metadata.cellType === Grid3CellType.LiveCell;
273
+ }
274
+ /**
275
+ * Check if a cell is an auto content cell
276
+ */
277
+ function isAutoContentCell(metadata) {
278
+ return metadata.cellType === Grid3CellType.AutoContent;
279
+ }
280
+ /**
281
+ * Check if a cell is a regular (non-plugin) cell
282
+ */
283
+ function isRegularCell(metadata) {
284
+ return metadata.cellType === Grid3CellType.Regular;
285
+ }
@@ -1,3 +1,4 @@
1
+ import { parseSymbolReference } from './symbols';
1
2
  export declare function resolveGrid3CellImage(zip: any, args: {
2
3
  baseDir: string;
3
4
  imageName?: string;
@@ -6,3 +7,15 @@ export declare function resolveGrid3CellImage(zip: any, args: {
6
7
  dynamicFiles?: string[];
7
8
  builtinHandler?: (name: string) => string | null;
8
9
  }, zipEntries?: any[]): string | null;
10
+ /**
11
+ * Check if an image reference is a symbol library reference
12
+ * @param imageName - Image reference from Grid 3
13
+ * @returns True if it's a symbol library reference
14
+ */
15
+ export declare function isSymbolLibraryReference(imageName?: string): boolean;
16
+ /**
17
+ * Parse a symbol library reference from an image name
18
+ * @param imageName - Image reference from Grid 3
19
+ * @returns Parsed reference or null if not a symbol reference
20
+ */
21
+ export declare function parseImageSymbolReference(imageName: string): ReturnType<typeof parseSymbolReference> | null;