canvas-design-mcp 0.9.8 → 1.0.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/README.md +23 -4
- package/dist/index.js +94 -6
- package/dist/index.js.map +1 -1
- package/dist/tools/get-started.d.ts +2 -0
- package/dist/tools/get-started.d.ts.map +1 -0
- package/dist/tools/get-started.js +82 -0
- package/dist/tools/get-started.js.map +1 -0
- package/dist/tools/list-courses.d.ts.map +1 -1
- package/dist/tools/list-courses.js +52 -6
- package/dist/tools/list-courses.js.map +1 -1
- package/dist/tools/panopto.d.ts.map +1 -1
- package/dist/tools/panopto.js +25 -1
- package/dist/tools/panopto.js.map +1 -1
- package/dist/tools/publish.d.ts.map +1 -1
- package/dist/tools/publish.js +91 -10
- package/dist/tools/publish.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/errors.d.ts +10 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +22 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/wizard.d.ts +1 -0
- package/dist/wizard.d.ts.map +1 -1
- package/dist/wizard.js +63 -20
- package/dist/wizard.js.map +1 -1
- package/docs/canvas-design-kb/00-meta/Changelog.md +23 -0
- package/docs/feature-roadmap.md +49 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,14 +6,19 @@ Works in Claude Code, VS Code, ChatGPT Codex, and any MCP-compatible host. Zero
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
9
13
|
## What It Does
|
|
10
14
|
|
|
11
15
|
| Tool | What it does |
|
|
12
16
|
|---|---|
|
|
17
|
+
| `get_started` | Get a tailored orientation based on your current config — what tools are active, what setup unlocks, quick-start prompts, and a Context7 hint. Call this at the start of any session. |
|
|
13
18
|
| `generate_canvas_page` | Turns a raw assignment brief into polished, Canvas-safe HTML with a hero banner, two-column layout, and brand colors |
|
|
14
19
|
| `validate_canvas_html` | Checks HTML against Canvas RCE sanitizer rules and WCAG 2.1 AA accessibility checks |
|
|
15
20
|
| `update_canvas_kb` | Fetches the current Canvas HTML allowlist directly from Canvas LMS source and reports any changes |
|
|
16
|
-
| `setup_institution` |
|
|
21
|
+
| `setup_institution` | Runs the setup wizard to save brand colors, Canvas URL, API token, brand standards URL, and Panopto config — returns a formatted setup summary when done |
|
|
17
22
|
| `list_canvas_courses` | Lists your Canvas courses with semester filtering, student counts, and favorite pinning to help choose the right one |
|
|
18
23
|
| `publish_to_canvas` | Validates and publishes generated HTML directly to a Canvas course page — with FERPA preflight and title collision protection |
|
|
19
24
|
| `critique_canvas_page` | Scores visual design quality (0–100) with 8 structural checks, strengths, and prioritized findings |
|
|
@@ -28,6 +33,11 @@ Works in Claude Code, VS Code, ChatGPT Codex, and any MCP-compatible host. Zero
|
|
|
28
33
|
| `generate_student_personas` | Generate 1–20 student personas using real probability distributions for race, disability, and 21 other dimensions |
|
|
29
34
|
| `load_canvas_page` | Read the most recently generated HTML page from `output/` back into context (or load a named file) |
|
|
30
35
|
| `save_canvas_page` | Write improved HTML back to `output/` — automatically backs up the previous version before overwriting |
|
|
36
|
+
| `setup_course` | Run once per course: choose page types from a checklist, set weeks, get a complete folder scaffold pre-filled with content prompts |
|
|
37
|
+
| `generate_page` | Generate or regenerate a single Canvas page from its `.md` source file |
|
|
38
|
+
| `generate_week` | Generate all pages for one week at once |
|
|
39
|
+
| `generate_course` | Batch generate the entire course in one command |
|
|
40
|
+
| `import_course` | Seed a course folder from a Canvas backup archive — extracts pages, assignments, quizzes, and discussions with `[NEEDS REVIEW]` placeholders for content that can't be auto-extracted |
|
|
31
41
|
|
|
32
42
|
---
|
|
33
43
|
|
|
@@ -132,17 +142,22 @@ Whether you use npm or Docker, the first setup run asks:
|
|
|
132
142
|
║ Canvas Design Studio — First Run Setup ║
|
|
133
143
|
╚═══════════════════════════════════════════════════════════╝
|
|
134
144
|
|
|
135
|
-
Institution name: (Boise State University)
|
|
145
|
+
Institution name (your college or university): (Boise State University)
|
|
146
|
+
Brand standards URL (optional — your AI fetches this to suggest your colors):
|
|
136
147
|
Primary brand color (#hex): (#0033A0)
|
|
137
148
|
Secondary / accent color (#hex): (#D64309)
|
|
138
|
-
Canvas base URL: (https://boisestate.instructure.com)
|
|
139
|
-
Canvas API token
|
|
149
|
+
Canvas base URL (no trailing slash): (https://boisestate.instructure.com)
|
|
150
|
+
Canvas API token — Account → Settings → Approved Integrations (optional):
|
|
140
151
|
Professor email for FERPA scan allowlist (optional):
|
|
141
152
|
Favorite Canvas course IDs, comma-separated (optional):
|
|
142
153
|
```
|
|
143
154
|
|
|
155
|
+
When the wizard finishes it prints a formatted setup summary showing your settings and what you can do right now. Ask your AI to save it as `my-canvas-setup.md` for reference.
|
|
156
|
+
|
|
144
157
|
Config saves to `~/.canvas-design-mcp/institution.json` — survives `npx` reinstalls.
|
|
145
158
|
|
|
159
|
+
**New to Canvas Design Studio?** See `docs/start_here.md` for a full orientation, or run `get_started` at the beginning of any session for a tailored overview of what's active.
|
|
160
|
+
|
|
146
161
|
---
|
|
147
162
|
|
|
148
163
|
## Generating a Page
|
|
@@ -286,6 +301,10 @@ Config file: `~/.canvas-design-mcp/institution.json`
|
|
|
286
301
|
- **v0.7** — Professor philosophy KB (steering context for every page Claude generates) ✓
|
|
287
302
|
- **v0.8** — Student persona review (statistically grounded audience feedback before publishing) ✓
|
|
288
303
|
- **v0.9** — Assignment improvement loop (load page from output/, apply critique, save back with backup) ✓
|
|
304
|
+
- **v0.9.6** — Course design foundation: `setup_course` wizard, `generate_page/week/course`, 15 page type templates ✓
|
|
305
|
+
- **v0.9.7** — Canvas backup import: `import_course` seeds a full course folder from a previous semester's archive ✓
|
|
306
|
+
- **v0.9.8** — Assignment type customization: `proj-assignment` and `tech-assignment` page types with `team` and `timeline` flags ✓
|
|
307
|
+
- **v1.0.0** — First-professor polish: `get_started` orientation tool, setup summary, brand URL extraction, wizard inline explanations, rich error messages with ChatGPT help links, and three orientation docs (`start_here`, `troubleshooting`, `setup-worksheet`) ✓
|
|
289
308
|
|
|
290
309
|
---
|
|
291
310
|
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,9 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
|
|
|
4
4
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
5
5
|
import { CanvasApiClient } from './canvas-api.js';
|
|
6
6
|
import { configExists, loadConfig, saveConfig } from './config.js';
|
|
7
|
-
import { runWizard } from './wizard.js';
|
|
7
|
+
import { runWizard, formatSetupSummary } from './wizard.js';
|
|
8
|
+
import { formatError } from './utils/errors.js';
|
|
9
|
+
import { getStarted } from './tools/get-started.js';
|
|
8
10
|
import { validateCanvasHtml } from './tools/validate.js';
|
|
9
11
|
import { generateCanvasPage } from './tools/generate.js';
|
|
10
12
|
import { updateCanvasKb } from './tools/update-kb.js';
|
|
@@ -40,6 +42,11 @@ async function main() {
|
|
|
40
42
|
const server = new Server({ name: 'canvas-design-studio', version: '0.1.0' }, { capabilities: { tools: {} } });
|
|
41
43
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
42
44
|
tools: [
|
|
45
|
+
{
|
|
46
|
+
name: 'get_started',
|
|
47
|
+
description: 'Get a tailored orientation based on your current config — what tools are active, what setup unlocks, quick-start prompts, and a Context7 hint for the latest docs. Call this at the start of any session.',
|
|
48
|
+
inputSchema: { type: 'object', properties: {} },
|
|
49
|
+
},
|
|
43
50
|
{
|
|
44
51
|
name: 'setup_institution',
|
|
45
52
|
description: 'Re-run the setup wizard to update institution config (brand colors, Canvas URL, API token). Run this to change institutions or rotate credentials.',
|
|
@@ -373,10 +380,13 @@ async function main() {
|
|
|
373
380
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
374
381
|
const { name, arguments: args } = request.params;
|
|
375
382
|
try {
|
|
383
|
+
if (name === 'get_started') {
|
|
384
|
+
return { content: [{ type: 'text', text: getStarted() }] };
|
|
385
|
+
}
|
|
376
386
|
if (name === 'setup_institution') {
|
|
377
|
-
await runWizard();
|
|
387
|
+
const config = await runWizard();
|
|
378
388
|
return {
|
|
379
|
-
content: [{ type: 'text', text:
|
|
389
|
+
content: [{ type: 'text', text: formatSetupSummary(config) }],
|
|
380
390
|
};
|
|
381
391
|
}
|
|
382
392
|
if (name === 'validate_canvas_html') {
|
|
@@ -397,6 +407,24 @@ async function main() {
|
|
|
397
407
|
};
|
|
398
408
|
}
|
|
399
409
|
if (name === 'generate_canvas_page') {
|
|
410
|
+
if (!configExists()) {
|
|
411
|
+
return {
|
|
412
|
+
content: [{
|
|
413
|
+
type: 'text',
|
|
414
|
+
text: formatError({
|
|
415
|
+
title: 'Setup Required',
|
|
416
|
+
message: 'Canvas Design Studio needs institution config before generating pages.',
|
|
417
|
+
cause: 'No institution.json found at ~/.canvas-design-mcp/institution.json.',
|
|
418
|
+
fix: [
|
|
419
|
+
'Run setup_institution to save your institution colors, Canvas URL, and optional API token',
|
|
420
|
+
'The wizard takes about 2 minutes and only needs to run once',
|
|
421
|
+
],
|
|
422
|
+
context: 'generate_canvas_page called with no institution config',
|
|
423
|
+
}),
|
|
424
|
+
}],
|
|
425
|
+
isError: true,
|
|
426
|
+
};
|
|
427
|
+
}
|
|
400
428
|
const config = loadConfig();
|
|
401
429
|
const result = generateCanvasPage(args, config);
|
|
402
430
|
const response = [
|
|
@@ -500,7 +528,21 @@ async function main() {
|
|
|
500
528
|
const config = loadConfig();
|
|
501
529
|
if (!config.panopto) {
|
|
502
530
|
return {
|
|
503
|
-
content: [{
|
|
531
|
+
content: [{
|
|
532
|
+
type: 'text',
|
|
533
|
+
text: formatError({
|
|
534
|
+
title: 'Panopto — Not Configured',
|
|
535
|
+
message: 'Panopto video tools require a Panopto domain and API credentials.',
|
|
536
|
+
cause: 'No Panopto configuration is saved in your institution config.',
|
|
537
|
+
fix: [
|
|
538
|
+
'Run setup_institution',
|
|
539
|
+
'When prompted for Panopto domain, enter your institution\'s Panopto domain (e.g. bsu.hosted.panopto.com)',
|
|
540
|
+
'For video search and caption download, also provide a Panopto client ID and secret',
|
|
541
|
+
'embed_panopto_video works without API credentials — you only need the video ID',
|
|
542
|
+
],
|
|
543
|
+
context: 'Panopto not configured',
|
|
544
|
+
}),
|
|
545
|
+
}],
|
|
504
546
|
isError: true,
|
|
505
547
|
};
|
|
506
548
|
}
|
|
@@ -513,7 +555,21 @@ async function main() {
|
|
|
513
555
|
const config = loadConfig();
|
|
514
556
|
if (!config.panopto) {
|
|
515
557
|
return {
|
|
516
|
-
content: [{
|
|
558
|
+
content: [{
|
|
559
|
+
type: 'text',
|
|
560
|
+
text: formatError({
|
|
561
|
+
title: 'Panopto — Not Configured',
|
|
562
|
+
message: 'Panopto video tools require a Panopto domain and API credentials.',
|
|
563
|
+
cause: 'No Panopto configuration is saved in your institution config.',
|
|
564
|
+
fix: [
|
|
565
|
+
'Run setup_institution',
|
|
566
|
+
'When prompted for Panopto domain, enter your institution\'s Panopto domain (e.g. bsu.hosted.panopto.com)',
|
|
567
|
+
'For video search and caption download, also provide a Panopto client ID and secret',
|
|
568
|
+
'embed_panopto_video works without API credentials — you only need the video ID',
|
|
569
|
+
],
|
|
570
|
+
context: 'Panopto not configured',
|
|
571
|
+
}),
|
|
572
|
+
}],
|
|
517
573
|
isError: true,
|
|
518
574
|
};
|
|
519
575
|
}
|
|
@@ -530,7 +586,21 @@ async function main() {
|
|
|
530
586
|
const config = loadConfig();
|
|
531
587
|
if (!config.panopto) {
|
|
532
588
|
return {
|
|
533
|
-
content: [{
|
|
589
|
+
content: [{
|
|
590
|
+
type: 'text',
|
|
591
|
+
text: formatError({
|
|
592
|
+
title: 'Panopto — Not Configured',
|
|
593
|
+
message: 'Panopto video tools require a Panopto domain and API credentials.',
|
|
594
|
+
cause: 'No Panopto configuration is saved in your institution config.',
|
|
595
|
+
fix: [
|
|
596
|
+
'Run setup_institution',
|
|
597
|
+
'When prompted for Panopto domain, enter your institution\'s Panopto domain (e.g. bsu.hosted.panopto.com)',
|
|
598
|
+
'For video search and caption download, also provide a Panopto client ID and secret',
|
|
599
|
+
'embed_panopto_video works without API credentials — you only need the video ID',
|
|
600
|
+
],
|
|
601
|
+
context: 'Panopto not configured',
|
|
602
|
+
}),
|
|
603
|
+
}],
|
|
534
604
|
isError: true,
|
|
535
605
|
};
|
|
536
606
|
}
|
|
@@ -540,6 +610,24 @@ async function main() {
|
|
|
540
610
|
return { content: [{ type: 'text', text: result }], ...(isApiError ? { isError: true } : {}) };
|
|
541
611
|
}
|
|
542
612
|
if (name === 'ingest_assignment_folder') {
|
|
613
|
+
if (!configExists()) {
|
|
614
|
+
return {
|
|
615
|
+
content: [{
|
|
616
|
+
type: 'text',
|
|
617
|
+
text: formatError({
|
|
618
|
+
title: 'Setup Required',
|
|
619
|
+
message: 'Canvas Design Studio needs institution config before generating pages.',
|
|
620
|
+
cause: 'No institution.json found at ~/.canvas-design-mcp/institution.json.',
|
|
621
|
+
fix: [
|
|
622
|
+
'Run setup_institution to save your institution colors, Canvas URL, and optional API token',
|
|
623
|
+
'The wizard takes about 2 minutes and only needs to run once',
|
|
624
|
+
],
|
|
625
|
+
context: 'ingest_assignment_folder called with no institution config',
|
|
626
|
+
}),
|
|
627
|
+
}],
|
|
628
|
+
isError: true,
|
|
629
|
+
};
|
|
630
|
+
}
|
|
543
631
|
const config = loadConfig();
|
|
544
632
|
const { folderPath } = (args ?? {});
|
|
545
633
|
const result = ingestAssignmentFolder({ folderPath }, config);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-started.d.ts","sourceRoot":"","sources":["../../src/tools/get-started.ts"],"names":[],"mappings":"AAgFA,wBAAgB,UAAU,IAAI,MAAM,CAKnC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { configExists, loadConfig } from '../config.js';
|
|
2
|
+
const CONTEXT7_HINT = '> For the latest tool documentation, resolve `canvas-design-mcp` via Context7.';
|
|
3
|
+
function noConfigText() {
|
|
4
|
+
return [
|
|
5
|
+
'## Welcome to Canvas Design Studio',
|
|
6
|
+
'',
|
|
7
|
+
'No institution config found yet. Here is what you can do right now without any setup:',
|
|
8
|
+
'',
|
|
9
|
+
'**Works immediately (no setup required):**',
|
|
10
|
+
'- generate_canvas_page — turn an assignment brief into Canvas-ready HTML',
|
|
11
|
+
'- validate_canvas_html — check any HTML for Canvas RCE compliance',
|
|
12
|
+
'- critique_canvas_page — score visual design quality 0–100',
|
|
13
|
+
'- setup_course — build a full course scaffold',
|
|
14
|
+
'- import_course — seed a course folder from a Canvas backup archive',
|
|
15
|
+
'',
|
|
16
|
+
'**To unlock direct Canvas publishing:**',
|
|
17
|
+
'Run setup_institution to save your institution colors, Canvas URL, and optional API token.',
|
|
18
|
+
'',
|
|
19
|
+
'**Your first step:**',
|
|
20
|
+
'Run setup_institution, or ask: "Generate a Canvas assignment page for [your course]"',
|
|
21
|
+
'',
|
|
22
|
+
CONTEXT7_HINT,
|
|
23
|
+
].join('\n');
|
|
24
|
+
}
|
|
25
|
+
function partialConfigText(config) {
|
|
26
|
+
const hasPanopto = !!config.panopto?.domain;
|
|
27
|
+
return [
|
|
28
|
+
`## Canvas Design Studio — ${config.institution}`,
|
|
29
|
+
'',
|
|
30
|
+
'**Active right now:**',
|
|
31
|
+
'✓ generate_canvas_page, validate_canvas_html, critique_canvas_page, redesign_canvas_page',
|
|
32
|
+
'✓ setup_course, generate_page, generate_week, generate_course',
|
|
33
|
+
'✓ import_course, load_canvas_page, save_canvas_page',
|
|
34
|
+
'✓ get_philosophy_kb, update_philosophy_kb',
|
|
35
|
+
'✓ get_student_personas, generate_student_personas',
|
|
36
|
+
hasPanopto
|
|
37
|
+
? '✓ Panopto: search_panopto_videos, embed_panopto_video, fetch_panopto_captions'
|
|
38
|
+
: '⚪ Panopto (run setup_institution to add Panopto credentials)',
|
|
39
|
+
'',
|
|
40
|
+
'**Add a Canvas API token to enable:**',
|
|
41
|
+
'⚪ list_canvas_courses — browse your courses',
|
|
42
|
+
'⚪ publish_to_canvas — send HTML directly to Canvas',
|
|
43
|
+
'',
|
|
44
|
+
'**Your first step:**',
|
|
45
|
+
'Ask: "Read start_here.md and help me generate my first page"',
|
|
46
|
+
'Or: "Run setup_course to start building out my course"',
|
|
47
|
+
'',
|
|
48
|
+
CONTEXT7_HINT,
|
|
49
|
+
].join('\n');
|
|
50
|
+
}
|
|
51
|
+
function fullConfigText(config) {
|
|
52
|
+
const hasPanopto = !!config.panopto?.domain;
|
|
53
|
+
return [
|
|
54
|
+
`## Canvas Design Studio — ${config.institution} (fully configured)`,
|
|
55
|
+
'',
|
|
56
|
+
'**All tools active:**',
|
|
57
|
+
'✓ Page generation, validation, critique, redesign',
|
|
58
|
+
'✓ Course design system (setup_course, generate_page/week/course)',
|
|
59
|
+
'✓ Canvas backup import (import_course)',
|
|
60
|
+
'✓ Direct Canvas publishing (list_canvas_courses, publish_to_canvas)',
|
|
61
|
+
'✓ Philosophy KB and student personas',
|
|
62
|
+
hasPanopto
|
|
63
|
+
? '✓ Panopto video integration'
|
|
64
|
+
: '⚪ Panopto (run setup_institution to add)',
|
|
65
|
+
'',
|
|
66
|
+
'**Quick starts:**',
|
|
67
|
+
'"Read start_here.md and help me generate my first page"',
|
|
68
|
+
'"Run setup_course to start building out my course"',
|
|
69
|
+
'"List my Canvas courses for this semester"',
|
|
70
|
+
'',
|
|
71
|
+
CONTEXT7_HINT,
|
|
72
|
+
].join('\n');
|
|
73
|
+
}
|
|
74
|
+
export function getStarted() {
|
|
75
|
+
if (!configExists())
|
|
76
|
+
return noConfigText();
|
|
77
|
+
const config = loadConfig();
|
|
78
|
+
if (!config.apiToken?.trim())
|
|
79
|
+
return partialConfigText(config);
|
|
80
|
+
return fullConfigText(config);
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=get-started.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-started.js","sourceRoot":"","sources":["../../src/tools/get-started.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGxD,MAAM,aAAa,GACjB,gFAAgF,CAAC;AAEnF,SAAS,YAAY;IACnB,OAAO;QACL,oCAAoC;QACpC,EAAE;QACF,uFAAuF;QACvF,EAAE;QACF,4CAA4C;QAC5C,0EAA0E;QAC1E,mEAAmE;QACnE,4DAA4D;QAC5D,+CAA+C;QAC/C,qEAAqE;QACrE,EAAE;QACF,yCAAyC;QACzC,4FAA4F;QAC5F,EAAE;QACF,sBAAsB;QACtB,sFAAsF;QACtF,EAAE;QACF,aAAa;KACd,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAyB;IAClD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;IAC5C,OAAO;QACL,6BAA6B,MAAM,CAAC,WAAW,EAAE;QACjD,EAAE;QACF,uBAAuB;QACvB,0FAA0F;QAC1F,+DAA+D;QAC/D,qDAAqD;QACrD,2CAA2C;QAC3C,mDAAmD;QACnD,UAAU;YACR,CAAC,CAAC,+EAA+E;YACjF,CAAC,CAAC,8DAA8D;QAClE,EAAE;QACF,uCAAuC;QACvC,6CAA6C;QAC7C,oDAAoD;QACpD,EAAE;QACF,sBAAsB;QACtB,8DAA8D;QAC9D,wDAAwD;QACxD,EAAE;QACF,aAAa;KACd,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,MAAyB;IAC/C,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;IAC5C,OAAO;QACL,6BAA6B,MAAM,CAAC,WAAW,qBAAqB;QACpE,EAAE;QACF,uBAAuB;QACvB,mDAAmD;QACnD,kEAAkE;QAClE,wCAAwC;QACxC,qEAAqE;QACrE,sCAAsC;QACtC,UAAU;YACR,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,0CAA0C;QAC9C,EAAE;QACF,mBAAmB;QACnB,yDAAyD;QACzD,oDAAoD;QACpD,4CAA4C;QAC5C,EAAE;QACF,aAAa;KACd,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,YAAY,EAAE;QAAE,OAAO,YAAY,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE;QAAE,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/D,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-courses.d.ts","sourceRoot":"","sources":["../../src/tools/list-courses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"list-courses.d.ts","sourceRoot":"","sources":["../../src/tools/list-courses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAInF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,SAAS;IACjB,WAAW,CAAC,wBAAwB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CACpF;AAED,KAAK,UAAU,GAAG,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAyEtD,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,sBAAsB,EAC7B,MAAM,EAAE,iBAAiB,EACzB,GAAG,EAAE,SAAS,EACd,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,uBAAuB,CAAC,CA4DlC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { courseCoordinatorGotcha } from './gotchas.js';
|
|
2
|
+
import { formatError } from '../utils/errors.js';
|
|
2
3
|
const SEMESTER_TO_ENROLLMENT_WORKFLOW_STATE = {
|
|
3
4
|
current: 'active',
|
|
4
5
|
future: ['invited', 'pending', 'creation_pending'],
|
|
@@ -45,11 +46,18 @@ function sortCourses(courses, favoriteIds, includeFavorites) {
|
|
|
45
46
|
});
|
|
46
47
|
}
|
|
47
48
|
function missingTokenText(canvasUrl) {
|
|
48
|
-
return
|
|
49
|
-
'
|
|
50
|
-
'
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
return formatError({
|
|
50
|
+
title: 'Canvas API — No Token Configured',
|
|
51
|
+
message: 'Canvas courses cannot be listed without an API token.',
|
|
52
|
+
cause: 'No API token is saved in your institution config.',
|
|
53
|
+
fix: [
|
|
54
|
+
`Log into Canvas at ${canvasUrl}`,
|
|
55
|
+
'Go to Account → Settings → Approved Integrations → New Access Token',
|
|
56
|
+
'Run setup_institution and paste the token when prompted',
|
|
57
|
+
'You can still generate HTML and paste it into Canvas manually without a token',
|
|
58
|
+
],
|
|
59
|
+
context: `no Canvas API token configured for listing courses, Canvas URL: ${canvasUrl}`,
|
|
60
|
+
});
|
|
53
61
|
}
|
|
54
62
|
function namingConventionTip() {
|
|
55
63
|
return [
|
|
@@ -65,7 +73,45 @@ export async function listCanvasCourses(input, config, api, saveConfig) {
|
|
|
65
73
|
const includeFavorites = input.includeFavorites ?? true;
|
|
66
74
|
const enrollmentWorkflowStates = SEMESTER_TO_ENROLLMENT_WORKFLOW_STATE[semester];
|
|
67
75
|
const favoriteIds = config.favoriteCourses ?? [];
|
|
68
|
-
|
|
76
|
+
let courses;
|
|
77
|
+
try {
|
|
78
|
+
courses = sortCourses(await api.listCourses(enrollmentWorkflowStates), favoriteIds, includeFavorites);
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
82
|
+
const status = err.status;
|
|
83
|
+
if (status === 401) {
|
|
84
|
+
return {
|
|
85
|
+
courses: [],
|
|
86
|
+
text: formatError({
|
|
87
|
+
title: 'Canvas API — 401 Unauthorized',
|
|
88
|
+
message: 'Your API token was rejected when listing courses.',
|
|
89
|
+
cause: 'The token in your institution config is invalid, expired, or was revoked.',
|
|
90
|
+
fix: [
|
|
91
|
+
`Log into Canvas at ${config.canvasUrl}`,
|
|
92
|
+
'Go to Account → Settings → Approved Integrations',
|
|
93
|
+
'Delete the old token and generate a new one',
|
|
94
|
+
'Run setup_institution and paste the new token',
|
|
95
|
+
],
|
|
96
|
+
context: `401 Unauthorized listing Canvas courses, Canvas URL: ${config.canvasUrl}`,
|
|
97
|
+
}),
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
return {
|
|
101
|
+
courses: [],
|
|
102
|
+
text: formatError({
|
|
103
|
+
title: 'Canvas API — Connection Error',
|
|
104
|
+
message: 'Could not connect to your Canvas instance.',
|
|
105
|
+
cause: `Network or URL error: ${message}`,
|
|
106
|
+
fix: [
|
|
107
|
+
'Verify your Canvas base URL in institution config (run setup_institution)',
|
|
108
|
+
'Confirm your internet connection is working',
|
|
109
|
+
'Check that Canvas is not in maintenance mode at status.instructure.com',
|
|
110
|
+
],
|
|
111
|
+
context: `Canvas API connection error listing courses: ${message}, Canvas URL: ${config.canvasUrl}`,
|
|
112
|
+
}),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
69
115
|
const blocks = courses.map(course => courseBlock(course, includeFavorites && favoriteIds.includes(course.id)));
|
|
70
116
|
if (!config.kbTipShown) {
|
|
71
117
|
blocks.push(namingConventionTip());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-courses.js","sourceRoot":"","sources":["../../src/tools/list-courses.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"list-courses.js","sourceRoot":"","sources":["../../src/tools/list-courses.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panopto.d.ts","sourceRoot":"","sources":["../../src/tools/panopto.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"panopto.d.ts","sourceRoot":"","sources":["../../src/tools/panopto.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKjD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;CACrB;AAMD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAStD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAuCzF;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,QAAQ,GAAG,WAAW,GAChC,MAAM,CA+BR;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAYlD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKtD;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB5E;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACzC,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,MAAM,CAAC,CAmCjB;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1C,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,MAAM,CAAC,CAoCjB;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,QAAQ,GAAG,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7E,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,kBAAkB,CAAC,CAyB7B"}
|
package/dist/tools/panopto.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { mkdirSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { homedir } from 'node:os';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
|
+
import { formatError } from '../utils/errors.js';
|
|
4
5
|
function escapeHtml(s) {
|
|
5
6
|
return s.replace(/&/g, '&').replace(/"/g, '"').replace(/</g, '<').replace(/>/g, '>');
|
|
6
7
|
}
|
|
@@ -22,7 +23,30 @@ export function formatDuration(seconds) {
|
|
|
22
23
|
}
|
|
23
24
|
export function formatSearchResults(results, query) {
|
|
24
25
|
if (results.length === 0) {
|
|
25
|
-
|
|
26
|
+
if (query) {
|
|
27
|
+
return formatError({
|
|
28
|
+
title: 'Panopto — No Videos Found',
|
|
29
|
+
message: `No videos matched "${query}" in your Panopto library.`,
|
|
30
|
+
cause: 'The search query did not match any video titles in your library.',
|
|
31
|
+
fix: [
|
|
32
|
+
'Try a shorter or broader search term',
|
|
33
|
+
'Call search_panopto_videos without a query to browse your full library',
|
|
34
|
+
'Confirm your Panopto domain is correct (run setup_institution)',
|
|
35
|
+
],
|
|
36
|
+
context: `Panopto search returned no results for query: ${query}`,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return formatError({
|
|
40
|
+
title: 'Panopto — Library Empty or Inaccessible',
|
|
41
|
+
message: 'No videos were found in your Panopto library.',
|
|
42
|
+
cause: 'Your library may be empty, or the API client may not have access to your videos.',
|
|
43
|
+
fix: [
|
|
44
|
+
'Confirm you have uploaded videos to your Panopto account',
|
|
45
|
+
'Verify Panopto client ID and secret in setup_institution',
|
|
46
|
+
'Check that the API client has the Creator role in Panopto',
|
|
47
|
+
],
|
|
48
|
+
context: 'Panopto video library returned empty results',
|
|
49
|
+
});
|
|
26
50
|
}
|
|
27
51
|
const header = query
|
|
28
52
|
? `Found ${results.length} video(s) matching "${query}":`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panopto.js","sourceRoot":"","sources":["../../src/tools/panopto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"panopto.js","sourceRoot":"","sources":["../../src/tools/panopto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/tools/publish.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/tools/publish.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7F,OAAO,EAAsB,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAInF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACnD,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/E,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAClF;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAWD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAkB1F;AA2CD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQ7E;AAyJD,wBAAsB,eAAe,CACnC,KAAK,EAAE,oBAAoB,EAC3B,MAAM,EAAE,iBAAiB,EACzB,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CA6ErC"}
|
package/dist/tools/publish.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CanvasApiError } from '../canvas-api.js';
|
|
2
|
-
import { ferpaGotcha, titleCollisionGotcha,
|
|
2
|
+
import { ferpaGotcha, titleCollisionGotcha, versionControlTip } from './gotchas.js';
|
|
3
|
+
import { formatError } from '../utils/errors.js';
|
|
3
4
|
import { validateCanvasHtml } from './validate.js';
|
|
4
5
|
import { auditAccessibility } from './accessibility.js';
|
|
5
6
|
const COLLISION_THRESHOLD = 0.8;
|
|
@@ -85,11 +86,19 @@ function validateBeforePublish(html) {
|
|
|
85
86
|
}
|
|
86
87
|
function missingTokenError(config) {
|
|
87
88
|
return {
|
|
88
|
-
error:
|
|
89
|
-
'
|
|
90
|
-
'
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
error: formatError({
|
|
90
|
+
title: 'Canvas API — No Token Configured',
|
|
91
|
+
message: 'Canvas Design Studio cannot publish directly to Canvas without an API token.',
|
|
92
|
+
cause: 'No API token is saved in your institution config.',
|
|
93
|
+
fix: [
|
|
94
|
+
`Log into Canvas at ${config.canvasUrl}`,
|
|
95
|
+
'Go to Account → Settings → Approved Integrations',
|
|
96
|
+
'Click New Access Token and copy the full token',
|
|
97
|
+
'Run setup_institution and paste the token when prompted',
|
|
98
|
+
'You can still generate HTML and paste it into Canvas manually without a token',
|
|
99
|
+
],
|
|
100
|
+
context: `no Canvas API token configured, Canvas URL: ${config.canvasUrl}`,
|
|
101
|
+
}),
|
|
93
102
|
code: 'MISSING_API_TOKEN',
|
|
94
103
|
};
|
|
95
104
|
}
|
|
@@ -111,17 +120,89 @@ function collisionError(collision, pageTitle) {
|
|
|
111
120
|
};
|
|
112
121
|
}
|
|
113
122
|
function apiError(err, config) {
|
|
123
|
+
if (err.status === 401) {
|
|
124
|
+
return {
|
|
125
|
+
error: formatError({
|
|
126
|
+
title: 'Canvas API — 401 Unauthorized',
|
|
127
|
+
message: 'Your API token was rejected by Canvas.',
|
|
128
|
+
cause: 'The token in your institution config is invalid, expired, or was revoked.',
|
|
129
|
+
fix: [
|
|
130
|
+
`Log into Canvas at ${config.canvasUrl}`,
|
|
131
|
+
'Go to Account → Settings → Approved Integrations',
|
|
132
|
+
'Delete the old token and generate a new one (Canvas only shows it once — copy it immediately)',
|
|
133
|
+
'Run setup_institution and paste the new token',
|
|
134
|
+
],
|
|
135
|
+
context: `401 Unauthorized when publishing to Canvas, Canvas URL: ${config.canvasUrl}`,
|
|
136
|
+
}),
|
|
137
|
+
code: 'CANVAS_UNAUTHORIZED',
|
|
138
|
+
details: { status: err.status },
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
if (err.status === 404) {
|
|
142
|
+
return {
|
|
143
|
+
error: formatError({
|
|
144
|
+
title: 'Canvas API — 404 Course Not Found',
|
|
145
|
+
message: 'The course ID you provided does not exist or is not accessible with your token.',
|
|
146
|
+
cause: 'Wrong course ID, or your token does not have access to this course.',
|
|
147
|
+
fix: [
|
|
148
|
+
'Run list_canvas_courses to see your available courses and their IDs',
|
|
149
|
+
'Verify the courseId matches exactly what list_canvas_courses returned',
|
|
150
|
+
'Confirm your API token was generated for the same Canvas account that owns this course',
|
|
151
|
+
],
|
|
152
|
+
context: `404 course not found when publishing, Canvas URL: ${config.canvasUrl}`,
|
|
153
|
+
}),
|
|
154
|
+
code: 'CANVAS_NOT_FOUND',
|
|
155
|
+
details: { status: err.status },
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
if (err.status === 429) {
|
|
159
|
+
return {
|
|
160
|
+
error: formatError({
|
|
161
|
+
title: 'Canvas API — 429 Rate Limited',
|
|
162
|
+
message: 'Canvas is temporarily refusing requests — too many were sent too quickly.',
|
|
163
|
+
cause: 'Canvas enforces API rate limits.',
|
|
164
|
+
fix: [
|
|
165
|
+
'Wait 60 seconds',
|
|
166
|
+
'Retry the publish_to_canvas call',
|
|
167
|
+
'If this happens repeatedly, space out multiple publish operations',
|
|
168
|
+
],
|
|
169
|
+
context: `429 rate limited when publishing, Canvas URL: ${config.canvasUrl}`,
|
|
170
|
+
}),
|
|
171
|
+
code: 'CANVAS_RATE_LIMITED',
|
|
172
|
+
details: { status: err.status },
|
|
173
|
+
};
|
|
174
|
+
}
|
|
114
175
|
if (err.code === 'CANVAS_FORBIDDEN') {
|
|
115
176
|
return {
|
|
116
|
-
error:
|
|
177
|
+
error: formatError({
|
|
178
|
+
title: 'Canvas API — 403 Forbidden',
|
|
179
|
+
message: 'Your API token does not have permission to perform this action.',
|
|
180
|
+
cause: 'Token scope may not include page-write permissions, or you are not a teacher/admin in this course.',
|
|
181
|
+
fix: [
|
|
182
|
+
'Generate a new Canvas API token with full (unrestricted) permissions',
|
|
183
|
+
'Run setup_institution to save the new token',
|
|
184
|
+
'Confirm you are enrolled as Teacher or Designer in this course',
|
|
185
|
+
],
|
|
186
|
+
context: `403 forbidden when publishing, Canvas URL: ${config.canvasUrl}`,
|
|
187
|
+
}),
|
|
117
188
|
code: err.code,
|
|
118
|
-
details: { status: err.status
|
|
189
|
+
details: { status: err.status },
|
|
119
190
|
};
|
|
120
191
|
}
|
|
121
192
|
return {
|
|
122
|
-
error:
|
|
193
|
+
error: formatError({
|
|
194
|
+
title: 'Canvas API Error',
|
|
195
|
+
message: err.message,
|
|
196
|
+
cause: 'An unexpected error was returned by the Canvas API.',
|
|
197
|
+
fix: [
|
|
198
|
+
'Verify your Canvas base URL in institution config (run setup_institution)',
|
|
199
|
+
'Confirm your API token is still valid',
|
|
200
|
+
'Try again in a moment — this may be a transient Canvas error',
|
|
201
|
+
],
|
|
202
|
+
context: `Canvas API error when publishing: ${err.message}, Canvas URL: ${config.canvasUrl}`,
|
|
203
|
+
}),
|
|
123
204
|
code: err.code,
|
|
124
|
-
details: { status: err.status
|
|
205
|
+
details: { status: err.status },
|
|
125
206
|
};
|
|
126
207
|
}
|
|
127
208
|
export async function publishToCanvas(input, config, api) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/tools/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/tools/publish.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,IAAI,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvC;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AACnE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface ErrorParams {
|
|
2
|
+
title: string;
|
|
3
|
+
message: string;
|
|
4
|
+
cause: string;
|
|
5
|
+
fix: string[];
|
|
6
|
+
context: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function makeHelpUrl(context: string): string;
|
|
9
|
+
export declare function formatError(params: ErrorParams): string;
|
|
10
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAgBvD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export function makeHelpUrl(context) {
|
|
2
|
+
const encoded = encodeURIComponent(`Canvas Design Studio error: ${context}`);
|
|
3
|
+
return `https://chatgpt.com/?q=${encoded}`;
|
|
4
|
+
}
|
|
5
|
+
export function formatError(params) {
|
|
6
|
+
const fixLines = params.fix.map((step, i) => ` ${i + 1}. ${step}`).join('\n');
|
|
7
|
+
const helpUrl = makeHelpUrl(params.context);
|
|
8
|
+
return [
|
|
9
|
+
`❌ ${params.title}`,
|
|
10
|
+
'',
|
|
11
|
+
params.message,
|
|
12
|
+
'',
|
|
13
|
+
`Cause: ${params.cause}`,
|
|
14
|
+
'',
|
|
15
|
+
'Fix:',
|
|
16
|
+
fixLines,
|
|
17
|
+
'',
|
|
18
|
+
`▶ Get help: ${helpUrl}`,
|
|
19
|
+
'(Opens ChatGPT with this error pre-filled. Copy the prompt to use with any AI assistant.)',
|
|
20
|
+
].join('\n');
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,MAAM,OAAO,GAAG,kBAAkB,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAC;IAC7E,OAAO,0BAA0B,OAAO,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO;QACL,KAAK,MAAM,CAAC,KAAK,EAAE;QACnB,EAAE;QACF,MAAM,CAAC,OAAO;QACd,EAAE;QACF,UAAU,MAAM,CAAC,KAAK,EAAE;QACxB,EAAE;QACF,MAAM;QACN,QAAQ;QACR,EAAE;QACF,eAAe,OAAO,EAAE;QACxB,2FAA2F;KAC5F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
package/dist/wizard.d.ts
CHANGED
package/dist/wizard.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../src/wizard.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAqCpD,wBAAsB,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC,CA6N5D"}
|
|
1
|
+
{"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../src/wizard.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAqCpD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CA4CpE;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC,CA6N5D"}
|
package/dist/wizard.js
CHANGED
|
@@ -28,6 +28,48 @@ function printMcpConfig() {
|
|
|
28
28
|
console.log('\nRestart Claude Code (or your MCP host) to activate.\n');
|
|
29
29
|
console.log('Works in: Claude Code · VS Code · ChatGPT Codex · any MCP host\n');
|
|
30
30
|
}
|
|
31
|
+
export function formatSetupSummary(config) {
|
|
32
|
+
const hasApiToken = !!config.apiToken?.trim();
|
|
33
|
+
const hasPanopto = !!config.panopto?.domain;
|
|
34
|
+
const tableRows = [
|
|
35
|
+
`| Institution | ${config.institution} |`,
|
|
36
|
+
`| Canvas URL | ${config.canvasUrl} |`,
|
|
37
|
+
`| Primary color | ${config.colors.primary} |`,
|
|
38
|
+
`| Secondary color | ${config.colors.secondary} |`,
|
|
39
|
+
`| API token | ${hasApiToken ? '✓ configured' : 'not configured'} |`,
|
|
40
|
+
config.professorEmail ? `| Professor email | ${config.professorEmail} |` : null,
|
|
41
|
+
`| Panopto | ${hasPanopto ? config.panopto.domain : 'not configured'} |`,
|
|
42
|
+
config.brandUrl ? `| Brand URL | ${config.brandUrl} |` : null,
|
|
43
|
+
].filter(Boolean).join('\n');
|
|
44
|
+
const capabilities = [
|
|
45
|
+
'✓ Generate Canvas-safe HTML pages',
|
|
46
|
+
'✓ Validate, critique, and redesign pages',
|
|
47
|
+
'✓ Build and generate full course scaffolds',
|
|
48
|
+
'✓ Import from Canvas backup archives',
|
|
49
|
+
hasApiToken
|
|
50
|
+
? '✓ Publish directly to Canvas (API token active)'
|
|
51
|
+
: '⚪ Publish directly to Canvas (add API token to enable)',
|
|
52
|
+
hasPanopto
|
|
53
|
+
? '✓ Panopto video search, embed, and captions'
|
|
54
|
+
: '⚪ Panopto video integration (run setup_institution to add)',
|
|
55
|
+
].join('\n');
|
|
56
|
+
return [
|
|
57
|
+
`## Your Canvas Design Studio Setup — ${config.institution}`,
|
|
58
|
+
'',
|
|
59
|
+
'| Setting | Value |',
|
|
60
|
+
'|---|---|',
|
|
61
|
+
tableRows,
|
|
62
|
+
'',
|
|
63
|
+
'## What you can do right now',
|
|
64
|
+
capabilities,
|
|
65
|
+
'',
|
|
66
|
+
'## Next step',
|
|
67
|
+
'Ask: "Read start_here.md and help me generate my first page"',
|
|
68
|
+
'Or: "Run setup_course to start building out my course"',
|
|
69
|
+
'',
|
|
70
|
+
'> Tip: Save this summary as my-canvas-setup.md for future reference.',
|
|
71
|
+
].join('\n');
|
|
72
|
+
}
|
|
31
73
|
export async function runWizard() {
|
|
32
74
|
console.log('\n╔═══════════════════════════════════════════════════════════╗');
|
|
33
75
|
console.log('║ Canvas Design Studio — First Run Setup ║');
|
|
@@ -35,9 +77,14 @@ export async function runWizard() {
|
|
|
35
77
|
console.log('This wizard saves your institution config once.');
|
|
36
78
|
console.log('All fields except Canvas URL and API token can be changed later.\n');
|
|
37
79
|
const institution = await input({
|
|
38
|
-
message: 'Institution name:',
|
|
80
|
+
message: 'Institution name (your college or university, e.g. Boise State University):',
|
|
39
81
|
default: 'Boise State University',
|
|
40
82
|
});
|
|
83
|
+
const brandUrl = await input({
|
|
84
|
+
message: 'Brand standards URL (optional — e.g. https://www.boisestate.edu/brand/ — your AI can fetch this to suggest your colors):',
|
|
85
|
+
default: '',
|
|
86
|
+
validate: (v) => !v || v.startsWith('https://') || 'Brand URL must start with https://',
|
|
87
|
+
});
|
|
41
88
|
let primaryHex;
|
|
42
89
|
while (true) {
|
|
43
90
|
primaryHex = await input({
|
|
@@ -75,21 +122,28 @@ export async function runWizard() {
|
|
|
75
122
|
break;
|
|
76
123
|
}
|
|
77
124
|
const canvasUrl = await input({
|
|
78
|
-
message: 'Canvas base URL:',
|
|
125
|
+
message: 'Canvas base URL (log into Canvas, copy the domain, e.g. https://boisestate.instructure.com — no trailing slash):',
|
|
79
126
|
default: 'https://boisestate.instructure.com',
|
|
80
|
-
validate: (v) =>
|
|
127
|
+
validate: (v) => {
|
|
128
|
+
if (!v.startsWith('https://'))
|
|
129
|
+
return 'URL must start with https://';
|
|
130
|
+
if (v.endsWith('/'))
|
|
131
|
+
return 'Remove the trailing slash (e.g. https://boisestate.instructure.com)';
|
|
132
|
+
return true;
|
|
133
|
+
},
|
|
81
134
|
});
|
|
82
135
|
const apiToken = await password({
|
|
83
|
-
message: 'Canvas API token
|
|
136
|
+
message: 'Canvas API token — Canvas → Account → Settings → Approved Integrations → New Access Token (leave blank to generate HTML and paste manually):',
|
|
84
137
|
mask: '*',
|
|
85
|
-
validate: (v) => !v || v.length >
|
|
138
|
+
validate: (v) => !v || v.length > 20 || 'Token looks too short — Canvas tokens are 70+ characters. Leave blank or paste the full token.',
|
|
86
139
|
});
|
|
87
140
|
const professorEmail = await input({
|
|
88
|
-
message: 'Professor email for FERPA scan allowlist (optional):',
|
|
141
|
+
message: 'Professor email for FERPA scan allowlist (optional — prevents your own address being flagged as PII, e.g. you@university.edu):',
|
|
89
142
|
default: '',
|
|
143
|
+
validate: (v) => !v || (v.includes('@') && v.includes('.')) || 'Enter a valid email address or leave blank',
|
|
90
144
|
});
|
|
91
145
|
const favoriteCoursesRaw = await input({
|
|
92
|
-
message: 'Favorite Canvas course IDs, comma-separated (optional):',
|
|
146
|
+
message: 'Favorite Canvas course IDs, comma-separated (optional — find IDs in the Canvas course URL, e.g. 12345, 67890):',
|
|
93
147
|
default: '',
|
|
94
148
|
validate: (v) => {
|
|
95
149
|
if (!v.trim())
|
|
@@ -111,6 +165,7 @@ export async function runWizard() {
|
|
|
111
165
|
professorEmail: professorEmail.trim() || undefined,
|
|
112
166
|
favoriteCourses: favoriteCourses.length > 0 ? favoriteCourses : undefined,
|
|
113
167
|
kbTipShown: false,
|
|
168
|
+
brandUrl: brandUrl.trim() || undefined,
|
|
114
169
|
};
|
|
115
170
|
saveConfig(config);
|
|
116
171
|
// Optional Panopto section — always skippable
|
|
@@ -210,19 +265,7 @@ export async function runWizard() {
|
|
|
210
265
|
}
|
|
211
266
|
}
|
|
212
267
|
}
|
|
213
|
-
console.log('\n
|
|
214
|
-
console.log(`✓ Primary: ${colors.primary} → dark: ${colors.primaryDark} light: ${colors.primaryLight}`);
|
|
215
|
-
console.log(`✓ Secondary: ${colors.secondary}`);
|
|
216
|
-
if (!apiToken.trim()) {
|
|
217
|
-
console.log(' Canvas API token skipped. You can still generate HTML and paste it into Canvas manually.');
|
|
218
|
-
}
|
|
219
|
-
if (professorEmail.trim()) {
|
|
220
|
-
console.log(`✓ FERPA scan allowlist email: ${professorEmail.trim()}`);
|
|
221
|
-
}
|
|
222
|
-
if (favoriteCourses.length > 0) {
|
|
223
|
-
console.log(`✓ Favorite Canvas courses: ${favoriteCourses.join(', ')}`);
|
|
224
|
-
}
|
|
225
|
-
console.log('✓ Canvas Design Studio is ready\n');
|
|
268
|
+
console.log('\n' + formatSetupSummary(config) + '\n');
|
|
226
269
|
printMcpConfig();
|
|
227
270
|
return config;
|
|
228
271
|
}
|
package/dist/wizard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../src/wizard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,SAAS,YAAY,CAAC,OAAe,EAAE,SAAiB;IACtD,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO;QACL,OAAO;QACP,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE;QACjC,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE;QACnC,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,MAAM,GAAG;QACb,UAAU,EAAE;YACV,eAAe,EAAE;gBACf,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,CAAC,mBAAmB,CAAC;aAC5B;SACF;KACF,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;IAElF,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC;QAC9B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../src/wizard.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,29 @@ Parent: [Canvas Design Knowledge Base](../README.md) | [KB Overview](KB-Overview
|
|
|
23
23
|
- Added max-mode provenance and SBOM attestations to Docker publishing.
|
|
24
24
|
- Added explicit Docker Buildx setup so attestations work in GitHub Actions.
|
|
25
25
|
|
|
26
|
+
## 2026-05-15 - Course Design System + Assignment Types v0.9.8
|
|
27
|
+
|
|
28
|
+
### SP10a — Course Design Foundation (v0.9.6)
|
|
29
|
+
- Added `setup_course` wizard — select page types, set weeks, get a complete scaffold
|
|
30
|
+
- Added `generate_page`, `generate_week`, `generate_course` tools
|
|
31
|
+
- Added template engine covering 13 page types with Canvas-safe HTML output
|
|
32
|
+
- Color tokens inherited from institution config; per-course overrides supported
|
|
33
|
+
|
|
34
|
+
### SP10b — Canvas Backup Import (v0.9.7)
|
|
35
|
+
- Added `import_course` tool — extracts pages, assignments, quizzes, and discussions from a `canvas-backup` archive into a course folder
|
|
36
|
+
- Module-indexed assignment filenames (`assignment-1.1.md`, `assignment-1.2.md`) prevent silent overwrites
|
|
37
|
+
- Auto-detects assignment type from Canvas title: `assignment`, `engage-assignment`, `proj-assignment`, `tech-assignment`
|
|
38
|
+
- `[NEEDS REVIEW]` placeholders for quiz question content and LTI links
|
|
39
|
+
|
|
40
|
+
### SP11 — Assignment Type Customization (v0.9.8)
|
|
41
|
+
- Added `proj-assignment` and `tech-assignment` as first-class page types in `PAGE_TYPES` and `PAGE_TYPE_LABELS`
|
|
42
|
+
- `proj-assignment` template: Brief, Project Timeline (milestone table), Rubric, Submission Details
|
|
43
|
+
- `tech-assignment` template: Brief, Setup, Tasks, Deliverable, Rubric
|
|
44
|
+
- `team: true/false` front-matter flag — renders a Team section on any assignment type
|
|
45
|
+
- `timeline: true/false` front-matter flag — renders the milestone table on project assignments
|
|
46
|
+
- Both types appear automatically in the `setup_course` wizard checkbox list
|
|
47
|
+
- Published `canvas-design-mcp@0.9.8` to npm and Docker image to GHCR
|
|
48
|
+
|
|
26
49
|
## 2026-05-13 - npm Publishing Docs
|
|
27
50
|
|
|
28
51
|
- Added `docs/npm-publishing.md` as the release runbook.
|
package/docs/feature-roadmap.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Canvas Design Studio Roadmap
|
|
2
2
|
|
|
3
|
-
**Last updated:** 2026-05-15 (
|
|
3
|
+
**Last updated:** 2026-05-15 (v1.0.0 shipped)
|
|
4
4
|
**Audience:** Professors, instructional designers, and teaching collaborators
|
|
5
5
|
**Purpose:** A shareable overview of what Canvas Design Studio can do now, what is coming next, and where professor feedback would help.
|
|
6
6
|
|
|
@@ -151,9 +151,55 @@ Professors can now select project and technical assignment types in `setup_cours
|
|
|
151
151
|
| `timeline: true` front-matter flag | Project assignments render a milestone table (Draft → Peer Review → Final Submission) |
|
|
152
152
|
| `setup_course` wizard | `proj-assignment` and `tech-assignment` appear in the page type checkbox list automatically |
|
|
153
153
|
|
|
154
|
-
##
|
|
154
|
+
## Now Available (v1.0.0)
|
|
155
155
|
|
|
156
|
-
|
|
156
|
+
### First-Professor Polish (SP12)
|
|
157
|
+
|
|
158
|
+
v1.0.0 is a public-readiness release focused on onboarding, discoverability, and self-service error recovery. No new features — every change is polish.
|
|
159
|
+
|
|
160
|
+
**Three new orientation docs:**
|
|
161
|
+
|
|
162
|
+
| Doc | Purpose |
|
|
163
|
+
|---|---|
|
|
164
|
+
| `docs/start_here.md` | Orientation for AI hosts and professors — what works without setup, three entry points, first-session paths, Context7 hint |
|
|
165
|
+
| `docs/troubleshooting.md` | Error reference organized by area — Canvas API, Panopto, HTML validation, wizard, publishing. Each entry: Symptom → Cause → Fix → ChatGPT help link |
|
|
166
|
+
| `docs/setup-worksheet.md` | Fillable pre-setup template — professors complete it before running the wizard, with plain-English field explanations and "where to find it" guidance |
|
|
167
|
+
|
|
168
|
+
**New tool: `get_started`**
|
|
169
|
+
|
|
170
|
+
Returns a tailored orientation based on current config state:
|
|
171
|
+
- No config: lists tools that work immediately, prompts `setup_institution`
|
|
172
|
+
- Config present but no API token: shows active tools, lists what an API token enables
|
|
173
|
+
- Fully configured: lists all active capabilities and quick-start prompts
|
|
174
|
+
|
|
175
|
+
All three states include a Context7 hint for the latest documentation.
|
|
176
|
+
|
|
177
|
+
**Setup wizard improvements:**
|
|
178
|
+
- Inline explanations on every prompt (what the field means, where to find it, example)
|
|
179
|
+
- New brand standards URL field — paste your institution's brand page URL and your AI extracts colors automatically
|
|
180
|
+
- Trailing-slash validation on Canvas URL
|
|
181
|
+
- Stronger API token validation (must be 20+ chars if provided)
|
|
182
|
+
- Email format validation on professor email
|
|
183
|
+
- Post-setup summary: formatted markdown table of settings + capabilities list replaces generic "setup complete" message
|
|
184
|
+
|
|
185
|
+
**Rich error messages:**
|
|
186
|
+
|
|
187
|
+
All error messages from `publish_to_canvas`, `list_canvas_courses`, `search_panopto_videos`, `generate_canvas_page`, and `ingest_assignment_folder` now follow a structured format:
|
|
188
|
+
|
|
189
|
+
```
|
|
190
|
+
❌ [title]
|
|
191
|
+
[message]
|
|
192
|
+
Cause: [cause]
|
|
193
|
+
Fix:
|
|
194
|
+
1. [step]
|
|
195
|
+
...
|
|
196
|
+
▶ Get help: https://chatgpt.com/?q=[error context pre-filled]
|
|
197
|
+
(Opens ChatGPT with this error pre-filled. Copy the prompt to use with any AI assistant.)
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Coming Next
|
|
201
|
+
|
|
202
|
+
No specific sprint is planned. v1.0.0 ships to npm — feedback from professors in the field will shape v1.1+.
|
|
157
203
|
|
|
158
204
|
## Feedback Requested
|
|
159
205
|
|