@firedrill-tools/notion 0.1.1

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 (65) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +402 -0
  3. package/firedrill/agent.target.json +17 -0
  4. package/firedrill/baseline.scenario.json +5 -0
  5. package/firedrill/bounded.scenario.json +19 -0
  6. package/firedrill/conformance.suite.json +23 -0
  7. package/firedrill/notion-bounded.drill.json +318 -0
  8. package/firedrill/notion-byte-budget.drill.json +116 -0
  9. package/firedrill/notion-mcp-aliases.drill.json +150 -0
  10. package/firedrill/notion-page-authoring.drill.json +254 -0
  11. package/firedrill/notion-rate-limited.drill.json +118 -0
  12. package/firedrill/notion-schema-growth.drill.json +88 -0
  13. package/firedrill/notion-scope-agent-only.drill.json +131 -0
  14. package/firedrill/notion-scope-auditor.drill.json +86 -0
  15. package/firedrill/notion-scope-board-bot.drill.json +128 -0
  16. package/firedrill/notion-scope-notes-bot.drill.json +303 -0
  17. package/firedrill/notion-scope-stranger.drill.json +773 -0
  18. package/firedrill/notion-task-triage.drill.json +277 -0
  19. package/firedrill/notion-trash-and-restore.drill.json +186 -0
  20. package/firedrill/notion-update-lost.drill.json +88 -0
  21. package/firedrill/notion-workspace-read.drill.json +258 -0
  22. package/firedrill/notion-write-unavailable.drill.json +161 -0
  23. package/firedrill/rate-limited.scenario.json +11 -0
  24. package/firedrill/tools/notion/app/assets/ATTRIBUTION.md +35 -0
  25. package/firedrill/tools/notion/app/assets/fonts/OFL.txt +93 -0
  26. package/firedrill/tools/notion/app/assets/fonts/inter-latin.woff2 +0 -0
  27. package/firedrill/tools/notion/app/assets/notion-wordmark.svg +1 -0
  28. package/firedrill/tools/notion/app/assets/notion.svg +1 -0
  29. package/firedrill/tools/notion/app/site/app.js +797 -0
  30. package/firedrill/tools/notion/app/site/assets/fonts/inter-latin.woff2 +0 -0
  31. package/firedrill/tools/notion/app/site/assets/notion-wordmark.svg +1 -0
  32. package/firedrill/tools/notion/app/site/assets/notion.svg +1 -0
  33. package/firedrill/tools/notion/app/site/chrome.js +104 -0
  34. package/firedrill/tools/notion/app/site/cover-picker.js +83 -0
  35. package/firedrill/tools/notion/app/site/database.js +648 -0
  36. package/firedrill/tools/notion/app/site/editors.js +320 -0
  37. package/firedrill/tools/notion/app/site/format-bar.js +97 -0
  38. package/firedrill/tools/notion/app/site/icons.js +131 -0
  39. package/firedrill/tools/notion/app/site/index.html +125 -0
  40. package/firedrill/tools/notion/app/site/page.js +826 -0
  41. package/firedrill/tools/notion/app/site/rich.js +159 -0
  42. package/firedrill/tools/notion/app/site/state.js +170 -0
  43. package/firedrill/tools/notion/app/site/styles.css +826 -0
  44. package/firedrill/tools/notion/app/site/ui.js +418 -0
  45. package/firedrill/tools/notion/behavior.mjs +1123 -0
  46. package/firedrill/tools/notion/lib/blocks.mjs +371 -0
  47. package/firedrill/tools/notion/lib/identity.mjs +123 -0
  48. package/firedrill/tools/notion/lib/ids.mjs +63 -0
  49. package/firedrill/tools/notion/lib/json-depth.mjs +26 -0
  50. package/firedrill/tools/notion/lib/markdown.mjs +381 -0
  51. package/firedrill/tools/notion/lib/properties.mjs +513 -0
  52. package/firedrill/tools/notion/lib/query.mjs +272 -0
  53. package/firedrill/tools/notion/lib/render.mjs +137 -0
  54. package/firedrill/tools/notion/lib/rich-text.mjs +134 -0
  55. package/firedrill/tools/notion/lib/size.mjs +44 -0
  56. package/firedrill/tools/notion/lib/state.mjs +192 -0
  57. package/firedrill/tools/notion/lib/wire.mjs +89 -0
  58. package/firedrill/tools/notion/notion.tool.json +9837 -0
  59. package/firedrill/update-lost.scenario.json +11 -0
  60. package/firedrill/world.json +7039 -0
  61. package/firedrill/write-unavailable.scenario.json +11 -0
  62. package/firedrill.json +5 -0
  63. package/package.json +63 -0
  64. package/starter.json +6482 -0
  65. package/test/conformance.mjs +1186 -0
@@ -0,0 +1,125 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>Notion (synthetic)</title>
7
+ <link rel="icon" type="image/svg+xml" href="./assets/notion.svg" />
8
+ <link rel="stylesheet" href="./styles.css" />
9
+ <script type="module" src="./app.js"></script>
10
+ </head>
11
+ <body>
12
+ <div class="notion-app" id="app">
13
+ <div class="sidebar-scrim" id="sidebar-scrim" hidden></div>
14
+ <nav class="sidebar" id="sidebar" aria-label="Workspace">
15
+ <div class="sidebar-top">
16
+ <button type="button" class="switcher" id="switcher" aria-expanded="false" aria-label="Workspace">
17
+ <span class="switcher-icon" id="switcher-icon" aria-hidden="true"></span>
18
+ <span class="switcher-name" id="switcher-name">Loading…</span>
19
+ <span class="switcher-chevron" data-icon="chevron_down"></span>
20
+ </button>
21
+ <button type="button" class="icon-btn sidebar-collapse" id="sidebar-collapse" aria-label="Close sidebar" title="Close sidebar"><span data-icon="double_chevron_left"></span></button>
22
+ <button type="button" class="icon-btn sidebar-new" id="new-page-top" aria-label="Create a new page" title="Create a new page"><span data-icon="compose"></span></button>
23
+ </div>
24
+ <ul class="sidebar-list sidebar-main" id="sidebar-main">
25
+ <li><button type="button" class="side-item" id="nav-search"><span class="side-icon" data-icon="search"></span><span class="side-label">Search</span></button></li>
26
+ <li><a class="side-item" href="#/home" data-route="home"><span class="side-icon" data-icon="home"></span><span class="side-label">Home</span></a></li>
27
+ <li><button type="button" class="side-item" id="nav-meetings" title="Meetings"><span class="side-icon" data-icon="calendar"></span><span class="side-label">Meetings</span></button></li>
28
+ <li><button type="button" class="side-item sidebar-ai" id="nav-ai" title="Notion AI"><span class="side-icon" data-icon="ai"></span><span class="side-label">Notion AI</span></button></li>
29
+ <li><button type="button" class="side-item" id="nav-inbox" aria-expanded="false"><span class="side-icon" data-icon="inbox"></span><span class="side-label">Inbox</span><span class="side-badge" id="inbox-badge" hidden></span></button></li>
30
+ </ul>
31
+ <div class="sidebar-stub" id="section-teamspaces">
32
+ <div class="section-head">
33
+ <button type="button" class="section-title section-toggle" id="nav-teamspaces" title="Teamspaces are not simulated by this Tool">Teamspaces</button>
34
+ <span class="section-actions">
35
+ <button type="button" class="icon-btn tiny" id="teamspaces-more" aria-label="Teamspace settings" title="Teamspace settings"><span data-icon="more"></span></button>
36
+ <button type="button" class="icon-btn tiny" id="teamspaces-add" aria-label="Create a teamspace" title="Create a teamspace"><span data-icon="plus"></span></button>
37
+ </span>
38
+ </div>
39
+ <button type="button" class="side-item stub-item" id="teamspaces-browse"><span class="side-icon" data-icon="teamspace"></span><span class="side-label">Browse teamspaces</span></button>
40
+ </div>
41
+ <div class="sidebar-stub" id="section-shared">
42
+ <div class="section-head">
43
+ <button type="button" class="section-title section-toggle" id="nav-shared" title="Shared pages are not simulated by this Tool">Shared</button>
44
+ <span class="section-actions">
45
+ <button type="button" class="icon-btn tiny" id="shared-add" aria-label="Start collaborating" title="Start collaborating"><span data-icon="plus"></span></button>
46
+ </span>
47
+ </div>
48
+ <button type="button" class="side-item stub-item" id="shared-start"><span class="side-icon" data-icon="invite"></span><span class="side-label">Start collaborating</span></button>
49
+ </div>
50
+ <div class="sidebar-section">
51
+ <div class="section-head">
52
+ <span class="section-title">Private</span>
53
+ <button type="button" class="icon-btn tiny" id="new-page-section" aria-label="Add a page" title="Add a page"><span data-icon="plus"></span></button>
54
+ </div>
55
+ <div class="tree" id="tree" role="tree" aria-label="Pages"><div class="tree-loading">Loading pages…</div></div>
56
+ </div>
57
+ <ul class="sidebar-list sidebar-bottom">
58
+ <li><button type="button" class="side-item" id="nav-marketplace" title="Marketplace"><span class="side-icon" data-icon="gallery"></span><span class="side-label">Marketplace</span></button></li>
59
+ <li><button type="button" class="side-item" id="nav-settings"><span class="side-icon" data-icon="settings"></span><span class="side-label">Settings</span></button></li>
60
+ <li><button type="button" class="side-item" id="nav-templates"><span class="side-icon" data-icon="templates"></span><span class="side-label">Templates</span></button></li>
61
+ <li><button type="button" class="side-item" id="nav-trash" aria-expanded="false"><span class="side-icon" data-icon="trash"></span><span class="side-label">Trash</span></button></li>
62
+ </ul>
63
+ <div class="sidebar-footer">
64
+ <button type="button" class="side-item" id="nav-invite"><span class="side-icon" data-icon="invite"></span><span class="side-label">Invite members</span></button>
65
+ </div>
66
+ </nav>
67
+
68
+ <div class="workspace" id="workspace">
69
+ <header class="topbar" id="topbar">
70
+ <div class="topbar-start">
71
+ <button type="button" class="icon-btn topbar-menu" id="sidebar-open" aria-label="Open sidebar" title="Open sidebar"><span data-icon="menu"></span></button>
72
+ <nav class="breadcrumb" id="breadcrumb" aria-label="Breadcrumb"></nav>
73
+ </div>
74
+ <div class="topbar-end" id="topbar-actions"></div>
75
+ </header>
76
+ <main class="main" id="main" tabindex="-1">
77
+ <div class="page-loading" id="boot" role="status">Loading…</div>
78
+ </main>
79
+ <aside class="side-panel" id="side-panel" hidden aria-label="Side panel"></aside>
80
+ <aside class="peek" id="peek" hidden aria-label="Page peek"></aside>
81
+ <button type="button" class="help-btn" id="help" aria-label="Help" aria-expanded="false" title="Help"><span data-icon="help"></span></button>
82
+ </div>
83
+
84
+ <div class="popover-host" id="popover-host"></div>
85
+ <div class="snackbar" id="snackbar" role="status" aria-live="polite" hidden>
86
+ <span class="snackbar-text" id="snackbar-text"></span>
87
+ <button type="button" class="snackbar-action" id="snackbar-action" hidden></button>
88
+ <button type="button" class="icon-btn small snackbar-close" id="snackbar-close" aria-label="Dismiss"><span data-icon="close"></span></button>
89
+ </div>
90
+ </div>
91
+
92
+ <dialog class="confirm" id="confirm-dialog">
93
+ <form method="dialog">
94
+ <p class="confirm-title" id="confirm-title"></p>
95
+ <p class="confirm-text" id="confirm-text"></p>
96
+ <div class="confirm-actions">
97
+ <button type="submit" class="btn confirm-ok" id="confirm-ok" value="ok">Delete</button>
98
+ <button type="submit" class="btn" value="cancel">Cancel</button>
99
+ </div>
100
+ </form>
101
+ </dialog>
102
+
103
+ <dialog class="search-dialog" id="search-dialog" aria-label="Search">
104
+ <div class="search-box">
105
+ <div class="search-input-row">
106
+ <span class="search-glyph" data-icon="search"></span>
107
+ <input id="search-input" type="text" placeholder="Search in workspace…" autocomplete="off" spellcheck="false" aria-label="Search" />
108
+ <button type="button" class="icon-btn small" id="search-close" aria-label="Close search"><span data-icon="close"></span></button>
109
+ </div>
110
+ <div class="search-filters" id="search-filters">
111
+ <button type="button" class="chip" data-filter="all" aria-pressed="true">All</button>
112
+ <button type="button" class="chip" data-filter="page" aria-pressed="false">Pages</button>
113
+ <button type="button" class="chip" data-filter="data_source" aria-pressed="false">Databases</button>
114
+ <button type="button" class="chip" id="search-sort" aria-pressed="false">Sort: Last edited</button>
115
+ </div>
116
+ <div class="search-results" id="search-results" role="listbox" aria-label="Search results"></div>
117
+ <div class="search-footer">
118
+ <span><kbd>↑</kbd><kbd>↓</kbd> Select</span>
119
+ <span><kbd>↵</kbd> Open</span>
120
+ <span><kbd>esc</kbd> Close</span>
121
+ </div>
122
+ </div>
123
+ </dialog>
124
+ </body>
125
+ </html>