@abraca/mcp 1.0.25 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
package/src/converters/types.ts
CHANGED
|
@@ -98,15 +98,69 @@ export interface PageMeta extends Record<string, unknown> {
|
|
|
98
98
|
spModelUploadId?: string
|
|
99
99
|
spModelDocId?: string
|
|
100
100
|
|
|
101
|
+
// Slides
|
|
102
|
+
slidesTransition?: string
|
|
103
|
+
slidesTheme?: string
|
|
104
|
+
|
|
105
|
+
// Media metadata (extracted on import)
|
|
106
|
+
mediaDuration?: number
|
|
107
|
+
mediaWidth?: number
|
|
108
|
+
mediaHeight?: number
|
|
109
|
+
mediaCamera?: string
|
|
110
|
+
mediaLens?: string
|
|
111
|
+
mediaIso?: number
|
|
112
|
+
mediaFocalLength?: number
|
|
113
|
+
mediaAperture?: number
|
|
114
|
+
mediaShutterSpeed?: string
|
|
115
|
+
mediaArtist?: string
|
|
116
|
+
mediaAlbum?: string
|
|
117
|
+
mediaGenre?: string
|
|
118
|
+
mediaYear?: number
|
|
119
|
+
dateTaken?: string
|
|
120
|
+
|
|
121
|
+
// Sheets cell formatting
|
|
122
|
+
bold?: boolean
|
|
123
|
+
italic?: boolean
|
|
124
|
+
textColor?: string
|
|
125
|
+
bgColor?: string
|
|
126
|
+
align?: string
|
|
127
|
+
formula?: string
|
|
128
|
+
|
|
101
129
|
// Renderer config (set on the page doc itself, not children)
|
|
102
130
|
kanbanColumnWidth?: string
|
|
103
131
|
galleryColumns?: number
|
|
104
132
|
galleryAspect?: string
|
|
133
|
+
galleryCardStyle?: string
|
|
134
|
+
galleryShowLabels?: boolean
|
|
135
|
+
gallerySortBy?: string
|
|
105
136
|
calendarView?: string
|
|
106
137
|
calendarWeekStart?: string
|
|
107
138
|
calendarShowWeekNumbers?: boolean
|
|
108
139
|
tableMode?: string
|
|
140
|
+
tableSortDir?: string
|
|
141
|
+
tableColumns?: any[]
|
|
142
|
+
tableColumnWidths?: Record<string, number>
|
|
143
|
+
tableColumnOrder?: string[]
|
|
109
144
|
timelineZoom?: string
|
|
145
|
+
checklistFilter?: string
|
|
146
|
+
checklistSort?: string
|
|
147
|
+
mapShowLabels?: boolean
|
|
148
|
+
spatialGridVisible?: boolean
|
|
149
|
+
chartType?: string
|
|
150
|
+
chartMetric?: string
|
|
151
|
+
chartColorScheme?: string
|
|
152
|
+
chartLimit?: number
|
|
153
|
+
chartShowLegend?: boolean
|
|
154
|
+
chartShowValues?: boolean
|
|
155
|
+
mediaRepeat?: string
|
|
156
|
+
mediaShuffle?: boolean
|
|
157
|
+
sheetsDefaultColWidth?: number
|
|
158
|
+
sheetsDefaultRowHeight?: number
|
|
159
|
+
sheetsShowGridlines?: boolean
|
|
160
|
+
sheetsColumnWidths?: Record<string, number>
|
|
161
|
+
sheetsRowHeights?: Record<string, number>
|
|
162
|
+
sheetsFreezeRows?: number
|
|
163
|
+
sheetsFreezeCols?: number
|
|
110
164
|
|
|
111
165
|
// Internal
|
|
112
166
|
_metaFields?: UserMetaField[]
|
package/src/tools/meta.ts
CHANGED
|
@@ -47,7 +47,7 @@ export function registerMetaTools(mcp: McpServer, server: AbracadabraMCPServer)
|
|
|
47
47
|
'Update metadata fields on a document. Merges the provided fields into existing metadata.',
|
|
48
48
|
{
|
|
49
49
|
docId: z.string().describe('Document ID.'),
|
|
50
|
-
meta: z.record(z.unknown()).describe('Metadata fields to update (merged with existing). Universal keys: color (hex), icon (Lucide kebab-case — NEVER emoji), dateStart/dateEnd, datetimeStart/datetimeEnd, allDay, tags (string[]), checked (bool), priority (0=none,1=low,2=med,3=high,4=urgent), status, rating (0-5), url, email, phone, number, unit, subtitle, note, taskProgress (0-100), members ({id,label}[]), coverUploadId. Geo/Map: geoType ("marker"|"line"|"measure"), geoLat, geoLng, geoDescription. Spatial 3D: spShape ("box"|"sphere"|"cylinder"|"cone"|"plane"|"torus"|"glb"), spX/spY/spZ, spRX/spRY/spRZ, spSX/spSY/spSZ, spColor, spOpacity (0-100). Dashboard: deskX, deskY, deskZ, deskMode ("icon"|"widget-sm"|"widget-lg"). Renderer config (on the page doc itself): kanbanColumnWidth, galleryColumns, galleryAspect, calendarView, calendarWeekStart, tableMode, showRefEdges. Set a key to null to clear it.'),
|
|
50
|
+
meta: z.record(z.unknown()).describe('Metadata fields to update (merged with existing). Universal keys: color (hex), icon (Lucide kebab-case — NEVER emoji), dateStart/dateEnd, datetimeStart/datetimeEnd, allDay, tags (string[]), checked (bool), priority (0=none,1=low,2=med,3=high,4=urgent), status, rating (0-5), url, email, phone, number, unit, subtitle, note, taskProgress (0-100), members ({id,label}[]), coverUploadId. Geo/Map: geoType ("marker"|"line"|"measure"), geoLat, geoLng, geoDescription. Spatial 3D: spShape ("box"|"sphere"|"cylinder"|"cone"|"plane"|"torus"|"glb"), spX/spY/spZ, spRX/spRY/spRZ, spSX/spSY/spSZ, spColor, spOpacity (0-100). Dashboard: deskX, deskY, deskZ, deskMode ("icon"|"widget-sm"|"widget-lg"). Slides: slidesTransition ("none"|"fade"|"slide"), slidesTheme ("dark"|"light"). Chart: chartType ("bar"|"stacked bar"|"line"|"donut"|"treemap"), chartMetric, chartColorScheme, chartLimit, chartShowLegend, chartShowValues. Sheets: sheetsDefaultColWidth, sheetsDefaultRowHeight, sheetsShowGridlines, sheetsFreezeRows, sheetsFreezeCols. Cell formatting: bold, italic, textColor, bgColor, align, formula. Renderer config (on the page doc itself): kanbanColumnWidth, galleryColumns, galleryAspect, galleryCardStyle, galleryShowLabels, gallerySortBy, calendarView, calendarWeekStart, calendarShowWeekNumbers, tableMode, tableSortDir, checklistFilter, checklistSort, mapShowLabels, spatialGridVisible, showRefEdges, mediaRepeat, mediaShuffle. Set a key to null to clear it.'),
|
|
51
51
|
},
|
|
52
52
|
async ({ docId, meta }) => {
|
|
53
53
|
server.setAutoStatus('writing', docId)
|
package/src/tools/tree.ts
CHANGED
|
@@ -200,7 +200,7 @@ export function registerTreeTools(mcp: McpServer, server: AbracadabraMCPServer)
|
|
|
200
200
|
{
|
|
201
201
|
parentId: z.string().optional().describe('Parent document ID. Omit for top-level pages. Use a document ID for nested/child pages.'),
|
|
202
202
|
label: z.string().describe('Display name / title for the document.'),
|
|
203
|
-
type: z.string().optional().describe('Page type — sets how this document renders. "doc" (rich text), "kanban" (columns → cards), "table" (columns →
|
|
203
|
+
type: z.string().optional().describe('Page type — sets how this document renders. "doc" (rich text), "kanban" (columns → cards), "table" (columns → rows with custom fields), "calendar" (events with datetimeStart/End), "timeline" (epics → tasks with dateStart/End + taskProgress), "checklist" (tasks with checked/priority, unlimited nesting), "outline" (nested items, unlimited depth), "gallery" (visual grid with covers/ratings), "map" (markers/lines with geoLat/geoLng), "graph" (force-directed knowledge graph), "dashboard" (positioned widgets with deskX/deskY/deskMode), "spatial" (3D scene with spShape/spX/spY/spZ), "media" (audio/video player with playlists), "slides" (presentation with transitions), "chart" (bar/line/donut/treemap from data points or aggregation), "sheets" (spreadsheet with formulas and formatting), "overview" (space home — activity and stats), "call" (video call room, no children). Omit to inherit parent view. Only set on the parent page, NEVER on child items.'),
|
|
204
204
|
meta: z.record(z.unknown()).optional().describe('Initial metadata (PageMeta fields: color as hex string, icon as Lucide kebab-case name like "star"/"code-2"/"users" — never emoji, dateStart, dateEnd, priority 0-4, tags array, etc). Omit icon entirely to use page type default.'),
|
|
205
205
|
},
|
|
206
206
|
async ({ parentId, label, type, meta }) => {
|
|
@@ -350,7 +350,7 @@ export function registerTreeTools(mcp: McpServer, server: AbracadabraMCPServer)
|
|
|
350
350
|
'Change the page type view of a document (data is preserved).',
|
|
351
351
|
{
|
|
352
352
|
id: z.string().describe('Document ID.'),
|
|
353
|
-
type: z.string().describe('New page type
|
|
353
|
+
type: z.string().describe('New page type: "doc", "kanban", "table", "calendar", "timeline", "checklist", "outline", "gallery", "map", "graph", "dashboard", "spatial", "media", "slides", "chart", "sheets", "overview", "call".'),
|
|
354
354
|
},
|
|
355
355
|
async ({ id, type }) => {
|
|
356
356
|
server.setAutoStatus('writing')
|