@bendyline/gilde 0.2.4 → 0.2.5
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 +11 -0
- package/authoring/knowledge-keywords/README.md +100 -0
- package/authoring/knowledge-keywords/rules.json +850 -0
- package/data/craftbook-templates/a1/a11y-audit/art.json +13 -8
- package/data/craftbook-templates/a1/a11y-audit/logo.webp +0 -0
- package/data/craftbook-templates/ab/ab-test-readout/art.json +13 -9
- package/data/craftbook-templates/ab/ab-test-readout/logo.webp +0 -0
- package/data/craftbook-templates/ac/accessibility-retrofit/art.json +14 -9
- package/data/craftbook-templates/ac/accessibility-retrofit/logo.webp +0 -0
- package/data/craftbook-templates/ad/ad-variations/art.json +14 -10
- package/data/craftbook-templates/ad/ad-variations/logo.webp +0 -0
- package/data/craftbook-templates/al/album-curate/art.json +13 -9
- package/data/craftbook-templates/al/album-curate/logo.webp +0 -0
- package/data/craftbook-templates/al/alert-rules/art.json +13 -8
- package/data/craftbook-templates/al/alert-rules/logo.webp +0 -0
- package/data/craftbook-templates/al/alt-text-pass/art.json +13 -8
- package/data/craftbook-templates/al/alt-text-pass/logo.webp +0 -0
- package/data/craftbook-templates/an/anniversary-cut/art.json +13 -9
- package/data/craftbook-templates/an/anniversary-cut/logo.webp +0 -0
- package/data/craftbook-templates/an/annotated-bibliography/art.json +14 -10
- package/data/craftbook-templates/an/annotated-bibliography/logo.webp +0 -0
- package/data/craftbook-templates/an/annual-document-review/art.json +13 -9
- package/data/craftbook-templates/an/annual-document-review/logo.webp +0 -0
- package/data/craftbook-templates/an/anomaly-scan/art.json +13 -8
- package/data/craftbook-templates/an/anomaly-scan/logo.webp +0 -0
- package/data/craftbook-templates/ap/api-contract-review/art.json +13 -9
- package/data/craftbook-templates/ap/api-contract-review/logo.webp +0 -0
- package/data/craftbook-templates/ap/apply-review-findings/art.json +14 -9
- package/data/craftbook-templates/ap/apply-review-findings/logo.webp +0 -0
- package/data/craftbook-templates/ar/artifact-integrity-review/art.json +13 -9
- package/data/craftbook-templates/ar/artifact-integrity-review/logo.webp +0 -0
- package/data/craftbook-templates/au/audio-ad-spot/art.json +13 -9
- package/data/craftbook-templates/au/audio-ad-spot/logo.webp +0 -0
- package/data/craftbook-templates/au/audio-highlight-reel/art.json +13 -9
- package/data/craftbook-templates/au/audio-highlight-reel/logo.webp +0 -0
- package/data/craftbook-templates/au/audiobook-master-pack/art.json +14 -10
- package/data/craftbook-templates/au/audiobook-master-pack/logo.webp +0 -0
- package/data/craftbook-templates/au/auth-flow/art.json +13 -8
- package/data/craftbook-templates/au/auth-flow/logo.webp +0 -0
- package/data/craftbook-templates/au/automation-recipe/art.json +13 -9
- package/data/craftbook-templates/au/automation-recipe/logo.webp +0 -0
- package/data/craftbook-templates/ba/backup-routine/art.json +13 -9
- package/data/craftbook-templates/ba/backup-routine/logo.webp +0 -0
- package/data/craftbook-templates/bl/blog-post/art.json +14 -10
- package/data/craftbook-templates/bl/blog-post/logo.webp +0 -0
- package/data/craftbook-templates/bo/board-deck/art.json +13 -9
- package/data/craftbook-templates/bo/board-deck/logo.webp +0 -0
- package/data/craftbook-templates/bo/board-game-web/art.json +13 -9
- package/data/craftbook-templates/bo/board-game-web/logo.webp +0 -0
- package/data/craftbook-templates/bo/booking-automation/art.json +13 -8
- package/data/craftbook-templates/bo/booking-automation/logo.webp +0 -0
- package/data/craftbook-templates/br/branding-website/art.json +13 -9
- package/data/craftbook-templates/br/branding-website/logo.webp +0 -0
- package/data/craftbook-templates/br/broadcast-announcement/art.json +13 -9
- package/data/craftbook-templates/br/broadcast-announcement/logo.webp +0 -0
- package/data/craftbook-templates/br/browser-qa-audit/art.json +13 -8
- package/data/craftbook-templates/br/browser-qa-audit/logo.webp +0 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/art.json +14 -9
- package/data/craftbook-templates/bu/bug-fix-tdd/logo.webp +0 -0
- package/data/craftbook-templates/bu/build-loop/art.json +13 -9
- package/data/craftbook-templates/bu/build-loop/logo.webp +0 -0
- package/data/craftbook-templates/ca/calendar-brief/art.json +13 -9
- package/data/craftbook-templates/ca/calendar-brief/logo.webp +0 -0
- package/data/craftbook-templates/ca/canvas-generative-art/art.json +13 -9
- package/data/craftbook-templates/ca/canvas-generative-art/logo.webp +0 -0
- package/data/craftbook-templates/ca/careful-mode/art.json +14 -10
- package/data/craftbook-templates/ca/careful-mode/logo.webp +0 -0
- package/data/craftbook-templates/ca/case-study/art.json +14 -10
- package/data/craftbook-templates/ca/case-study/logo.webp +0 -0
- package/data/craftbook-templates/ca/case-study-writeup/art.json +13 -9
- package/data/craftbook-templates/ca/case-study-writeup/logo.webp +0 -0
- package/data/craftbook-templates/ch/changelog-cut/art.json +13 -8
- package/data/craftbook-templates/ch/changelog-cut/logo.webp +0 -0
- package/data/craftbook-templates/ch/changelog-writeup/art.json +14 -10
- package/data/craftbook-templates/ch/changelog-writeup/logo.webp +0 -0
- package/data/craftbook-templates/ch/chapter-narration-run/art.json +13 -9
- package/data/craftbook-templates/ch/chapter-narration-run/logo.webp +0 -0
- package/data/craftbook-templates/ch/chapter-weave/art.json +13 -9
- package/data/craftbook-templates/ch/chapter-weave/logo.webp +0 -0
- package/data/craftbook-templates/ch/character-sheet/art.json +13 -9
- package/data/craftbook-templates/ch/character-sheet/logo.webp +0 -0
- package/data/craftbook-templates/ch/character-turnaround/art.json +13 -9
- package/data/craftbook-templates/ch/character-turnaround/logo.webp +0 -0
- package/data/craftbook-templates/ch/chart-pack/art.json +13 -9
- package/data/craftbook-templates/ch/chart-pack/logo.webp +0 -0
- package/data/craftbook-templates/ch/chrome-extension/art.json +13 -9
- package/data/craftbook-templates/ch/chrome-extension/logo.webp +0 -0
- package/data/craftbook-templates/ci/ci-pipeline/art.json +14 -9
- package/data/craftbook-templates/ci/ci-pipeline/logo.webp +0 -0
- package/data/craftbook-templates/ci/citation-audit/art.json +14 -9
- package/data/craftbook-templates/ci/citation-audit/logo.webp +0 -0
- package/data/craftbook-templates/cl/cli-tool/art.json +13 -9
- package/data/craftbook-templates/cl/cli-tool/logo.webp +0 -0
- package/data/craftbook-templates/co/code-review/art.json +14 -9
- package/data/craftbook-templates/co/code-review/logo.webp +0 -0
- package/data/craftbook-templates/co/codebase-refactoring-review/art.json +13 -8
- package/data/craftbook-templates/co/codebase-refactoring-review/logo.webp +0 -0
- package/data/craftbook-templates/co/codebase-ux-review/art.json +13 -9
- package/data/craftbook-templates/co/codebase-ux-review/logo.webp +0 -0
- package/data/craftbook-templates/co/codemod-sweep/art.json +14 -9
- package/data/craftbook-templates/co/codemod-sweep/logo.webp +0 -0
- package/data/craftbook-templates/co/cohort-analysis/art.json +13 -9
- package/data/craftbook-templates/co/cohort-analysis/logo.webp +0 -0
- package/data/craftbook-templates/co/company-research-brief/art.json +13 -9
- package/data/craftbook-templates/co/company-research-brief/logo.webp +0 -0
- package/data/craftbook-templates/co/comparison-matrix/art.json +14 -10
- package/data/craftbook-templates/co/comparison-matrix/logo.webp +0 -0
- package/data/craftbook-templates/co/compat-check/art.json +13 -9
- package/data/craftbook-templates/co/compat-check/logo.webp +0 -0
- package/data/craftbook-templates/co/competitive-analysis/art.json +14 -10
- package/data/craftbook-templates/co/competitive-analysis/logo.webp +0 -0
- package/data/craftbook-templates/co/comprehensive-codebase-review/art.json +14 -9
- package/data/craftbook-templates/co/comprehensive-codebase-review/logo.webp +0 -0
- package/data/craftbook-templates/co/config-scaffold/art.json +13 -9
- package/data/craftbook-templates/co/config-scaffold/logo.webp +0 -0
- package/data/craftbook-templates/co/content-accuracy-review/art.json +13 -8
- package/data/craftbook-templates/co/content-accuracy-review/logo.webp +0 -0
- package/data/craftbook-templates/co/content-deck/art.json +13 -9
- package/data/craftbook-templates/co/content-deck/logo.webp +0 -0
- package/data/craftbook-templates/co/contract-template/art.json +13 -8
- package/data/craftbook-templates/co/contract-template/logo.webp +0 -0
- package/data/craftbook-templates/co/cookbook-layout/art.json +13 -9
- package/data/craftbook-templates/co/cookbook-layout/logo.webp +0 -0
- package/data/craftbook-templates/co/copy-review/art.json +13 -9
- package/data/craftbook-templates/co/copy-review/logo.webp +0 -0
- package/data/craftbook-templates/co/corpus-email-digest/art.json +13 -9
- package/data/craftbook-templates/co/corpus-email-digest/logo.webp +0 -0
- package/data/craftbook-templates/co/corpus-synthesis/art.json +14 -10
- package/data/craftbook-templates/co/corpus-synthesis/logo.webp +0 -0
- package/data/craftbook-templates/co/cover-letter/art.json +14 -10
- package/data/craftbook-templates/co/cover-letter/logo.webp +0 -0
- package/data/craftbook-templates/cr/crm-update-batch/art.json +13 -8
- package/data/craftbook-templates/cr/crm-update-batch/logo.webp +0 -0
- package/data/craftbook-templates/cr/cron-job/art.json +13 -9
- package/data/craftbook-templates/cr/cron-job/logo.webp +0 -0
- package/data/craftbook-templates/cr/crossword-forge/art.json +13 -9
- package/data/craftbook-templates/cr/crossword-forge/logo.webp +0 -0
- package/data/craftbook-templates/cs/csv-transformer/art.json +13 -9
- package/data/craftbook-templates/cs/csv-transformer/logo.webp +0 -0
- package/data/craftbook-templates/da/dashboard-spec/art.json +13 -9
- package/data/craftbook-templates/da/dashboard-spec/logo.webp +0 -0
- package/data/craftbook-templates/da/data-dictionary/art.json +13 -9
- package/data/craftbook-templates/da/data-dictionary/logo.webp +0 -0
- package/data/craftbook-templates/da/data-export-migrate/art.json +13 -9
- package/data/craftbook-templates/da/data-export-migrate/logo.webp +0 -0
- package/data/craftbook-templates/da/data-join-merge/art.json +13 -9
- package/data/craftbook-templates/da/data-join-merge/logo.webp +0 -0
- package/data/craftbook-templates/da/data-pipeline-etl/art.json +13 -8
- package/data/craftbook-templates/da/data-pipeline-etl/logo.webp +0 -0
- package/data/craftbook-templates/da/data-quality-audit/art.json +13 -8
- package/data/craftbook-templates/da/data-quality-audit/logo.webp +0 -0
- package/data/craftbook-templates/da/data-to-report/art.json +13 -9
- package/data/craftbook-templates/da/data-to-report/logo.webp +0 -0
- package/data/craftbook-templates/da/data-viz-page/art.json +13 -9
- package/data/craftbook-templates/da/data-viz-page/logo.webp +0 -0
- package/data/craftbook-templates/da/dataset-clean/art.json +13 -9
- package/data/craftbook-templates/da/dataset-clean/logo.webp +0 -0
- package/data/craftbook-templates/db/db-index-tuning/art.json +13 -9
- package/data/craftbook-templates/db/db-index-tuning/logo.webp +0 -0
- package/data/craftbook-templates/de/deep-security-review/art.json +13 -8
- package/data/craftbook-templates/de/deep-security-review/logo.webp +0 -0
- package/data/craftbook-templates/de/dependency-audit/art.json +13 -8
- package/data/craftbook-templates/de/dependency-audit/logo.webp +0 -0
- package/data/craftbook-templates/de/dependency-upgrade/art.json +14 -9
- package/data/craftbook-templates/de/dependency-upgrade/logo.webp +0 -0
- package/data/craftbook-templates/de/deploy-checklist/art.json +14 -10
- package/data/craftbook-templates/de/deploy-checklist/logo.webp +0 -0
- package/data/craftbook-templates/de/design-review/art.json +13 -9
- package/data/craftbook-templates/de/design-review/logo.webp +0 -0
- package/data/craftbook-templates/de/design-system-consultation/art.json +13 -9
- package/data/craftbook-templates/de/design-system-consultation/logo.webp +0 -0
- package/data/craftbook-templates/di/diagram-from-text/art.json +13 -9
- package/data/craftbook-templates/di/diagram-from-text/logo.webp +0 -0
- package/data/craftbook-templates/di/digest-from-feeds/art.json +13 -9
- package/data/craftbook-templates/di/digest-from-feeds/logo.webp +0 -0
- package/data/craftbook-templates/do/doc-intake-pipeline/art.json +13 -9
- package/data/craftbook-templates/do/doc-intake-pipeline/logo.webp +0 -0
- package/data/craftbook-templates/do/doc-rewrite/art.json +14 -10
- package/data/craftbook-templates/do/doc-rewrite/logo.webp +0 -0
- package/data/craftbook-templates/do/dockerize-app/art.json +13 -8
- package/data/craftbook-templates/do/dockerize-app/logo.webp +0 -0
- package/data/craftbook-templates/do/docs-site/art.json +13 -9
- package/data/craftbook-templates/do/docs-site/logo.webp +0 -0
- package/data/craftbook-templates/do/documentation-drift-review/art.json +13 -9
- package/data/craftbook-templates/do/documentation-drift-review/logo.webp +0 -0
- package/data/craftbook-templates/dr/draft-social-post/art.json +17 -0
- package/data/craftbook-templates/dr/draft-social-post/logo.webp +0 -0
- package/data/craftbook-templates/dr/drive-wrap-up/art.json +13 -9
- package/data/craftbook-templates/dr/drive-wrap-up/logo.webp +0 -0
- package/data/craftbook-templates/du/due-diligence-brief/art.json +14 -10
- package/data/craftbook-templates/du/due-diligence-brief/logo.webp +0 -0
- package/data/craftbook-templates/eb/ebook-compile/art.json +13 -9
- package/data/craftbook-templates/eb/ebook-compile/logo.webp +0 -0
- package/data/craftbook-templates/ed/edit-notes/art.json +13 -9
- package/data/craftbook-templates/ed/edit-notes/logo.webp +0 -0
- package/data/craftbook-templates/em/email-sequence/art.json +14 -10
- package/data/craftbook-templates/em/email-sequence/logo.webp +0 -0
- package/data/craftbook-templates/em/email-template/art.json +13 -9
- package/data/craftbook-templates/em/email-template/logo.webp +0 -0
- package/data/craftbook-templates/en/engineering-retrospective/art.json +13 -8
- package/data/craftbook-templates/en/engineering-retrospective/logo.webp +0 -0
- package/data/craftbook-templates/ep/episode-plan/art.json +13 -9
- package/data/craftbook-templates/ep/episode-plan/logo.webp +0 -0
- package/data/craftbook-templates/es/escalation-playbook/art.json +13 -8
- package/data/craftbook-templates/es/escalation-playbook/logo.webp +0 -0
- package/data/craftbook-templates/ev/evidence-brief/art.json +14 -10
- package/data/craftbook-templates/ev/evidence-brief/logo.webp +0 -0
- package/data/craftbook-templates/ex/executive-level-review/art.json +13 -9
- package/data/craftbook-templates/ex/executive-level-review/logo.webp +0 -0
- package/data/craftbook-templates/ex/expense-categorize/art.json +13 -8
- package/data/craftbook-templates/ex/expense-categorize/logo.webp +0 -0
- package/data/craftbook-templates/ex/explain-code-folder/art.json +17 -0
- package/data/craftbook-templates/ex/explain-code-folder/logo.webp +0 -0
- package/data/craftbook-templates/ex/explain-code-folder/manifest.json +1 -0
- package/data/craftbook-templates/fa/fact-check/art.json +13 -8
- package/data/craftbook-templates/fa/fact-check/logo.webp +0 -0
- package/data/craftbook-templates/fa/family-story-chapter/art.json +13 -9
- package/data/craftbook-templates/fa/family-story-chapter/logo.webp +0 -0
- package/data/craftbook-templates/fa/faq-from-docs/art.json +14 -10
- package/data/craftbook-templates/fa/faq-from-docs/logo.webp +0 -0
- package/data/craftbook-templates/fa/favicon-set/art.json +13 -9
- package/data/craftbook-templates/fa/favicon-set/logo.webp +0 -0
- package/data/craftbook-templates/fe/feature-flag-release/art.json +14 -10
- package/data/craftbook-templates/fe/feature-flag-release/logo.webp +0 -0
- package/data/craftbook-templates/fe/feature-flag-rollout/art.json +13 -9
- package/data/craftbook-templates/fe/feature-flag-rollout/logo.webp +0 -0
- package/data/craftbook-templates/fe/feedback-widget/art.json +13 -9
- package/data/craftbook-templates/fe/feedback-widget/logo.webp +0 -0
- package/data/craftbook-templates/fl/flaky-test-fix/art.json +14 -9
- package/data/craftbook-templates/fl/flaky-test-fix/logo.webp +0 -0
- package/data/craftbook-templates/fo/folder-to-audio/art.json +13 -9
- package/data/craftbook-templates/fo/folder-to-audio/logo.webp +0 -0
- package/data/craftbook-templates/fo/forecast-model/art.json +13 -9
- package/data/craftbook-templates/fo/forecast-model/logo.webp +0 -0
- package/data/craftbook-templates/fo/form-fill-batch/art.json +13 -9
- package/data/craftbook-templates/fo/form-fill-batch/logo.webp +0 -0
- package/data/craftbook-templates/fo/form-wizard/art.json +13 -9
- package/data/craftbook-templates/fo/form-wizard/logo.webp +0 -0
- package/data/craftbook-templates/fr/freeze-scope/art.json +14 -10
- package/data/craftbook-templates/fr/freeze-scope/logo.webp +0 -0
- package/data/craftbook-templates/ga/game-with-screens/art.json +13 -9
- package/data/craftbook-templates/ga/game-with-screens/logo.webp +0 -0
- package/data/craftbook-templates/gl/glossary-build/art.json +13 -9
- package/data/craftbook-templates/gl/glossary-build/logo.webp +0 -0
- package/data/craftbook-templates/gr/graphql-api/art.json +13 -9
- package/data/craftbook-templates/gr/graphql-api/logo.webp +0 -0
- package/data/craftbook-templates/gr/grpc-service/art.json +13 -9
- package/data/craftbook-templates/gr/grpc-service/logo.webp +0 -0
- package/data/craftbook-templates/ha/handbook-section/art.json +13 -9
- package/data/craftbook-templates/ha/handbook-section/logo.webp +0 -0
- package/data/craftbook-templates/he/hero-image/art.json +13 -9
- package/data/craftbook-templates/he/hero-image/logo.webp +0 -0
- package/data/craftbook-templates/ho/holiday-card-run/art.json +13 -9
- package/data/craftbook-templates/ho/holiday-card-run/logo.webp +0 -0
- package/data/craftbook-templates/ho/hotfix-flow/art.json +14 -10
- package/data/craftbook-templates/ho/hotfix-flow/logo.webp +0 -0
- package/data/craftbook-templates/ht/html-arcade-game/art.json +13 -9
- package/data/craftbook-templates/ht/html-arcade-game/logo.webp +0 -0
- package/data/craftbook-templates/ht/html-puzzle-game/art.json +13 -9
- package/data/craftbook-templates/ht/html-puzzle-game/logo.webp +0 -0
- package/data/craftbook-templates/ic/icon-pack/art.json +13 -9
- package/data/craftbook-templates/ic/icon-pack/logo.webp +0 -0
- package/data/craftbook-templates/id/idea-office-hours/art.json +13 -8
- package/data/craftbook-templates/id/idea-office-hours/logo.webp +0 -0
- package/data/craftbook-templates/id/idle-clicker-game/art.json +13 -9
- package/data/craftbook-templates/id/idle-clicker-game/logo.webp +0 -0
- package/data/craftbook-templates/im/image-batch-edit/art.json +13 -8
- package/data/craftbook-templates/im/image-batch-edit/logo.webp +0 -0
- package/data/craftbook-templates/im/image-dedup-cluster/art.json +13 -9
- package/data/craftbook-templates/im/image-dedup-cluster/logo.webp +0 -0
- package/data/craftbook-templates/im/image-palette-extract/art.json +13 -9
- package/data/craftbook-templates/im/image-palette-extract/logo.webp +0 -0
- package/data/craftbook-templates/im/image-seo-rename/art.json +13 -9
- package/data/craftbook-templates/im/image-seo-rename/logo.webp +0 -0
- package/data/craftbook-templates/im/image-set-index/art.json +13 -9
- package/data/craftbook-templates/im/image-set-index/logo.webp +0 -0
- package/data/craftbook-templates/in/inbox-triage/art.json +13 -9
- package/data/craftbook-templates/in/inbox-triage/logo.webp +0 -0
- package/data/craftbook-templates/in/incident-comms-templates/art.json +13 -8
- package/data/craftbook-templates/in/incident-comms-templates/logo.webp +0 -0
- package/data/craftbook-templates/in/incident-postmortem/art.json +14 -9
- package/data/craftbook-templates/in/incident-postmortem/logo.webp +0 -0
- package/data/craftbook-templates/in/insurance-inventory/art.json +13 -9
- package/data/craftbook-templates/in/insurance-inventory/logo.webp +0 -0
- package/data/craftbook-templates/in/interactive-quiz/art.json +13 -9
- package/data/craftbook-templates/in/interactive-quiz/logo.webp +0 -0
- package/data/craftbook-templates/in/investigate/art.json +13 -8
- package/data/craftbook-templates/in/investigate/logo.webp +0 -0
- package/data/craftbook-templates/in/investigate-root-cause/art.json +13 -8
- package/data/craftbook-templates/in/investigate-root-cause/logo.webp +0 -0
- package/data/craftbook-templates/in/invitation-design/art.json +13 -9
- package/data/craftbook-templates/in/invitation-design/logo.webp +0 -0
- package/data/craftbook-templates/in/invoice-generator/art.json +13 -9
- package/data/craftbook-templates/in/invoice-generator/logo.webp +0 -0
- package/data/craftbook-templates/in/invoice-run/art.json +13 -9
- package/data/craftbook-templates/in/invoice-run/logo.webp +0 -0
- package/data/craftbook-templates/index.json +1 -1
- package/data/craftbook-templates/it/item-intake/art.json +13 -9
- package/data/craftbook-templates/it/item-intake/logo.webp +0 -0
- package/data/craftbook-templates/ju/juice-pass/art.json +13 -9
- package/data/craftbook-templates/ju/juice-pass/logo.webp +0 -0
- package/data/craftbook-templates/kn/knowledge-base-article/art.json +14 -10
- package/data/craftbook-templates/kn/knowledge-base-article/logo.webp +0 -0
- package/data/craftbook-templates/kp/kpi-scorecard/art.json +13 -9
- package/data/craftbook-templates/kp/kpi-scorecard/logo.webp +0 -0
- package/data/craftbook-templates/la/landing-copy/art.json +14 -10
- package/data/craftbook-templates/la/landing-copy/logo.webp +0 -0
- package/data/craftbook-templates/la/landing-page/art.json +13 -9
- package/data/craftbook-templates/la/landing-page/logo.webp +0 -0
- package/data/craftbook-templates/le/lead-enrichment/art.json +13 -8
- package/data/craftbook-templates/le/lead-enrichment/logo.webp +0 -0
- package/data/craftbook-templates/li/library-package/art.json +13 -9
- package/data/craftbook-templates/li/library-package/logo.webp +0 -0
- package/data/craftbook-templates/li/literature-review/art.json +14 -10
- package/data/craftbook-templates/li/literature-review/logo.webp +0 -0
- package/data/craftbook-templates/li/live-browser-qa/art.json +13 -8
- package/data/craftbook-templates/li/live-browser-qa/logo.webp +0 -0
- package/data/craftbook-templates/lo/localize-content/art.json +14 -9
- package/data/craftbook-templates/lo/localize-content/logo.webp +0 -0
- package/data/craftbook-templates/lo/logo-set/art.json +13 -9
- package/data/craftbook-templates/lo/logo-set/logo.webp +0 -0
- package/data/craftbook-templates/ma/market-scan/art.json +14 -10
- package/data/craftbook-templates/ma/market-scan/logo.webp +0 -0
- package/data/craftbook-templates/me/meeting-minutes/art.json +13 -9
- package/data/craftbook-templates/me/meeting-minutes/logo.webp +0 -0
- package/data/craftbook-templates/me/meeting-notes-to-actions/art.json +13 -9
- package/data/craftbook-templates/me/meeting-notes-to-actions/logo.webp +0 -0
- package/data/craftbook-templates/me/meeting-prep-brief/art.json +13 -9
- package/data/craftbook-templates/me/meeting-prep-brief/logo.webp +0 -0
- package/data/craftbook-templates/me/meeting-summary-audio/art.json +13 -9
- package/data/craftbook-templates/me/meeting-summary-audio/logo.webp +0 -0
- package/data/craftbook-templates/me/memory-prompt-session/art.json +13 -9
- package/data/craftbook-templates/me/memory-prompt-session/logo.webp +0 -0
- package/data/craftbook-templates/me/message-queue-consumer/art.json +13 -9
- package/data/craftbook-templates/me/message-queue-consumer/logo.webp +0 -0
- package/data/craftbook-templates/mi/micro-game-jam/art.json +13 -9
- package/data/craftbook-templates/mi/micro-game-jam/logo.webp +0 -0
- package/data/craftbook-templates/mo/mock-interview/art.json +13 -9
- package/data/craftbook-templates/mo/mock-interview/logo.webp +0 -0
- package/data/craftbook-templates/mo/mod-scaffold/art.json +13 -9
- package/data/craftbook-templates/mo/mod-scaffold/logo.webp +0 -0
- package/data/craftbook-templates/mo/monitor-and-alert/art.json +13 -9
- package/data/craftbook-templates/mo/monitor-and-alert/logo.webp +0 -0
- package/data/craftbook-templates/mo/month-close/art.json +13 -9
- package/data/craftbook-templates/mo/month-close/logo.webp +0 -0
- package/data/craftbook-templates/mo/monthly-recording-review/art.json +13 -8
- package/data/craftbook-templates/mo/monthly-recording-review/logo.webp +0 -0
- package/data/craftbook-templates/mo/moodboard/art.json +13 -9
- package/data/craftbook-templates/mo/moodboard/logo.webp +0 -0
- package/data/craftbook-templates/mo/morning-brief/art.json +13 -9
- package/data/craftbook-templates/mo/morning-brief/logo.webp +0 -0
- package/data/craftbook-templates/mo/morning-report/art.json +13 -9
- package/data/craftbook-templates/mo/morning-report/logo.webp +0 -0
- package/data/craftbook-templates/mu/music-metadata-tag/art.json +13 -9
- package/data/craftbook-templates/mu/music-metadata-tag/logo.webp +0 -0
- package/data/craftbook-templates/na/narrated-slideshow/art.json +14 -10
- package/data/craftbook-templates/na/narrated-slideshow/logo.webp +0 -0
- package/data/craftbook-templates/ne/newsletter-issue/art.json +13 -9
- package/data/craftbook-templates/ne/newsletter-issue/logo.webp +0 -0
- package/data/craftbook-templates/ni/nightly-fix-sweep/art.json +14 -9
- package/data/craftbook-templates/ni/nightly-fix-sweep/logo.webp +0 -0
- package/data/craftbook-templates/no/notification-router/art.json +13 -9
- package/data/craftbook-templates/no/notification-router/logo.webp +0 -0
- package/data/craftbook-templates/oc/ocr-extract/art.json +13 -9
- package/data/craftbook-templates/oc/ocr-extract/logo.webp +0 -0
- package/data/craftbook-templates/of/offer-compare/art.json +14 -10
- package/data/craftbook-templates/of/offer-compare/logo.webp +0 -0
- package/data/craftbook-templates/of/office-hours/art.json +13 -8
- package/data/craftbook-templates/of/office-hours/logo.webp +0 -0
- package/data/craftbook-templates/on/onboarding-checklist/art.json +13 -9
- package/data/craftbook-templates/on/onboarding-checklist/logo.webp +0 -0
- package/data/craftbook-templates/on/onboarding-flow/art.json +13 -9
- package/data/craftbook-templates/on/onboarding-flow/logo.webp +0 -0
- package/data/craftbook-templates/on/oncall-handoff/art.json +13 -8
- package/data/craftbook-templates/on/oncall-handoff/logo.webp +0 -0
- package/data/craftbook-templates/on/one-pager/art.json +13 -9
- package/data/craftbook-templates/on/one-pager/logo.webp +0 -0
- package/data/craftbook-templates/op/ops-runbook/art.json +13 -9
- package/data/craftbook-templates/op/ops-runbook/logo.webp +0 -0
- package/data/craftbook-templates/pa/page-spread/art.json +13 -9
- package/data/craftbook-templates/pa/page-spread/logo.webp +0 -0
- package/data/craftbook-templates/pa/parser-grammar/art.json +13 -9
- package/data/craftbook-templates/pa/parser-grammar/logo.webp +0 -0
- package/data/craftbook-templates/pe/perf-audit/art.json +13 -8
- package/data/craftbook-templates/pe/perf-audit/logo.webp +0 -0
- package/data/craftbook-templates/pe/perf-optimization/art.json +14 -9
- package/data/craftbook-templates/pe/perf-optimization/logo.webp +0 -0
- package/data/craftbook-templates/pe/pest-diagnosis/art.json +13 -9
- package/data/craftbook-templates/pe/pest-diagnosis/logo.webp +0 -0
- package/data/craftbook-templates/ph/photo-cull/art.json +13 -9
- package/data/craftbook-templates/ph/photo-cull/logo.webp +0 -0
- package/data/craftbook-templates/ph/photo-library-nightly/art.json +17 -0
- package/data/craftbook-templates/ph/photo-library-nightly/logo.webp +0 -0
- package/data/craftbook-templates/ph/photo-library-nightly/manifest.json +1 -0
- package/data/craftbook-templates/ph/physics-toy/art.json +13 -9
- package/data/craftbook-templates/ph/physics-toy/logo.webp +0 -0
- package/data/craftbook-templates/pi/pitch-deck/art.json +13 -9
- package/data/craftbook-templates/pi/pitch-deck/logo.webp +0 -0
- package/data/craftbook-templates/pl/plan/art.json +13 -8
- package/data/craftbook-templates/pl/plan/logo.webp +0 -0
- package/data/craftbook-templates/pl/playtest-report/art.json +13 -8
- package/data/craftbook-templates/pl/playtest-report/logo.webp +0 -0
- package/data/craftbook-templates/po/podcast-chaptering/art.json +13 -9
- package/data/craftbook-templates/po/podcast-chaptering/logo.webp +0 -0
- package/data/craftbook-templates/po/portfolio-site/art.json +13 -9
- package/data/craftbook-templates/po/portfolio-site/logo.webp +0 -0
- package/data/craftbook-templates/po/powerpoint-deck/art.json +14 -10
- package/data/craftbook-templates/po/powerpoint-deck/logo.webp +0 -0
- package/data/craftbook-templates/pr/pr-security-review/art.json +13 -8
- package/data/craftbook-templates/pr/pr-security-review/logo.webp +0 -0
- package/data/craftbook-templates/pr/practice-exam/art.json +13 -8
- package/data/craftbook-templates/pr/practice-exam/logo.webp +0 -0
- package/data/craftbook-templates/pr/practice-session/art.json +13 -9
- package/data/craftbook-templates/pr/practice-session/logo.webp +0 -0
- package/data/craftbook-templates/pr/pre-departure-countdown/art.json +13 -9
- package/data/craftbook-templates/pr/pre-departure-countdown/logo.webp +0 -0
- package/data/craftbook-templates/pr/press-release/art.json +14 -10
- package/data/craftbook-templates/pr/press-release/logo.webp +0 -0
- package/data/craftbook-templates/pr/price-tracker/art.json +13 -9
- package/data/craftbook-templates/pr/price-tracker/logo.webp +0 -0
- package/data/craftbook-templates/pr/pricing-page/art.json +13 -9
- package/data/craftbook-templates/pr/pricing-page/logo.webp +0 -0
- package/data/craftbook-templates/pr/product-descriptions/art.json +14 -10
- package/data/craftbook-templates/pr/product-descriptions/logo.webp +0 -0
- package/data/craftbook-templates/pr/proposal-sow/art.json +13 -9
- package/data/craftbook-templates/pr/proposal-sow/logo.webp +0 -0
- package/data/craftbook-templates/pu/pull-request-review/art.json +14 -9
- package/data/craftbook-templates/pu/pull-request-review/logo.webp +0 -0
- package/data/craftbook-templates/pu/puzzle-pack-layout/art.json +13 -9
- package/data/craftbook-templates/pu/puzzle-pack-layout/logo.webp +0 -0
- package/data/craftbook-templates/pw/pwa-offline/art.json +13 -9
- package/data/craftbook-templates/pw/pwa-offline/logo.webp +0 -0
- package/data/craftbook-templates/qa/qa/art.json +13 -8
- package/data/craftbook-templates/qa/qa/logo.webp +0 -0
- package/data/craftbook-templates/qu/quarterly-summary/art.json +13 -9
- package/data/craftbook-templates/qu/quarterly-summary/logo.webp +0 -0
- package/data/craftbook-templates/raw-index.json +1 -1
- package/data/craftbook-templates/re/reading-list/art.json +13 -9
- package/data/craftbook-templates/re/reading-list/logo.webp +0 -0
- package/data/craftbook-templates/re/receipt-intake/art.json +13 -9
- package/data/craftbook-templates/re/receipt-intake/logo.webp +0 -0
- package/data/craftbook-templates/re/receipt-ocr-ledger/art.json +13 -9
- package/data/craftbook-templates/re/receipt-ocr-ledger/logo.webp +0 -0
- package/data/craftbook-templates/re/reception-report/art.json +17 -0
- package/data/craftbook-templates/re/reception-report/logo.webp +0 -0
- package/data/craftbook-templates/re/recipe-capture/art.json +13 -8
- package/data/craftbook-templates/re/recipe-capture/logo.webp +0 -0
- package/data/craftbook-templates/re/record-a-relative/art.json +13 -9
- package/data/craftbook-templates/re/record-a-relative/logo.webp +0 -0
- package/data/craftbook-templates/re/recurring-invoice-run/art.json +13 -9
- package/data/craftbook-templates/re/recurring-invoice-run/logo.webp +0 -0
- package/data/craftbook-templates/re/refactor-module/art.json +14 -9
- package/data/craftbook-templates/re/refactor-module/logo.webp +0 -0
- package/data/craftbook-templates/re/regex-builder/art.json +13 -8
- package/data/craftbook-templates/re/regex-builder/logo.webp +0 -0
- package/data/craftbook-templates/re/release-announcement/art.json +14 -10
- package/data/craftbook-templates/re/release-announcement/logo.webp +0 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/art.json +14 -10
- package/data/craftbook-templates/re/release-artifact-sanity-check/logo.webp +0 -0
- package/data/craftbook-templates/re/release-notes/art.json +13 -9
- package/data/craftbook-templates/re/release-notes/logo.webp +0 -0
- package/data/craftbook-templates/re/release-pipeline-ci/art.json +14 -10
- package/data/craftbook-templates/re/release-pipeline-ci/logo.webp +0 -0
- package/data/craftbook-templates/re/release-readiness-review/art.json +13 -9
- package/data/craftbook-templates/re/release-readiness-review/logo.webp +0 -0
- package/data/craftbook-templates/re/reliability-review/art.json +13 -8
- package/data/craftbook-templates/re/reliability-review/logo.webp +0 -0
- package/data/craftbook-templates/re/report-pdf/art.json +14 -10
- package/data/craftbook-templates/re/report-pdf/logo.webp +0 -0
- package/data/craftbook-templates/re/research-report/art.json +14 -10
- package/data/craftbook-templates/re/research-report/logo.webp +0 -0
- package/data/craftbook-templates/re/research-to-document/art.json +14 -10
- package/data/craftbook-templates/re/research-to-document/logo.webp +0 -0
- package/data/craftbook-templates/re/rest-api/art.json +13 -9
- package/data/craftbook-templates/re/rest-api/logo.webp +0 -0
- package/data/craftbook-templates/re/resume-cv/art.json +13 -9
- package/data/craftbook-templates/re/resume-cv/logo.webp +0 -0
- package/data/craftbook-templates/re/review-code-folder/art.json +17 -0
- package/data/craftbook-templates/re/review-code-folder/logo.webp +0 -0
- package/data/craftbook-templates/re/review-code-folder/manifest.json +1 -0
- package/data/craftbook-templates/re/reviewer-loop/art.json +13 -8
- package/data/craftbook-templates/re/reviewer-loop/logo.webp +0 -0
- package/data/craftbook-templates/ro/rollback-plan/art.json +14 -10
- package/data/craftbook-templates/ro/rollback-plan/logo.webp +0 -0
- package/data/craftbook-templates/ro/root-cause-investigation/art.json +13 -8
- package/data/craftbook-templates/ro/root-cause-investigation/logo.webp +0 -0
- package/data/craftbook-templates/ro/rough-cut-assembly/art.json +13 -9
- package/data/craftbook-templates/ro/rough-cut-assembly/logo.webp +0 -0
- package/data/craftbook-templates/ru/runbook/art.json +13 -8
- package/data/craftbook-templates/ru/runbook/logo.webp +0 -0
- package/data/craftbook-templates/sc/schema-migration/art.json +14 -10
- package/data/craftbook-templates/sc/schema-migration/logo.webp +0 -0
- package/data/craftbook-templates/sc/scrape-to-structured/art.json +13 -9
- package/data/craftbook-templates/sc/scrape-to-structured/logo.webp +0 -0
- package/data/craftbook-templates/sc/script-automation/art.json +13 -8
- package/data/craftbook-templates/sc/script-automation/logo.webp +0 -0
- package/data/craftbook-templates/sd/sdk-wrapper/art.json +13 -9
- package/data/craftbook-templates/sd/sdk-wrapper/logo.webp +0 -0
- package/data/craftbook-templates/se/seasonal-maintenance-sweep/art.json +13 -9
- package/data/craftbook-templates/se/seasonal-maintenance-sweep/logo.webp +0 -0
- package/data/craftbook-templates/se/security-architecture-review/art.json +13 -8
- package/data/craftbook-templates/se/security-architecture-review/logo.webp +0 -0
- package/data/craftbook-templates/se/seo-meta-pack/art.json +14 -10
- package/data/craftbook-templates/se/seo-meta-pack/logo.webp +0 -0
- package/data/craftbook-templates/sh/ship/art.json +13 -8
- package/data/craftbook-templates/sh/ship/logo.webp +0 -0
- package/data/craftbook-templates/so/social-digest/art.json +17 -0
- package/data/craftbook-templates/so/social-digest/logo.webp +0 -0
- package/data/craftbook-templates/so/social-thread/art.json +13 -9
- package/data/craftbook-templates/so/social-thread/logo.webp +0 -0
- package/data/craftbook-templates/so/source-quality-audit/art.json +13 -8
- package/data/craftbook-templates/so/source-quality-audit/logo.webp +0 -0
- package/data/craftbook-templates/sp/spa-dashboard/art.json +13 -9
- package/data/craftbook-templates/sp/spa-dashboard/logo.webp +0 -0
- package/data/craftbook-templates/sp/spec-authoring/art.json +13 -9
- package/data/craftbook-templates/sp/spec-authoring/logo.webp +0 -0
- package/data/craftbook-templates/sp/spec-doc/art.json +13 -9
- package/data/craftbook-templates/sp/spec-doc/logo.webp +0 -0
- package/data/craftbook-templates/sp/spreadsheet-findings/art.json +17 -0
- package/data/craftbook-templates/sp/spreadsheet-findings/logo.webp +0 -0
- package/data/craftbook-templates/sp/spreadsheet-findings/manifest.json +1 -0
- package/data/craftbook-templates/sp/spreadsheet-model/art.json +13 -9
- package/data/craftbook-templates/sp/spreadsheet-model/logo.webp +0 -0
- package/data/craftbook-templates/sp/sprite-sheet/art.json +13 -9
- package/data/craftbook-templates/sp/sprite-sheet/logo.webp +0 -0
- package/data/craftbook-templates/sq/sql-analysis/art.json +13 -9
- package/data/craftbook-templates/sq/sql-analysis/logo.webp +0 -0
- package/data/craftbook-templates/st/standup-summary/art.json +13 -9
- package/data/craftbook-templates/st/standup-summary/logo.webp +0 -0
- package/data/craftbook-templates/st/state-machine/art.json +13 -8
- package/data/craftbook-templates/st/state-machine/logo.webp +0 -0
- package/data/craftbook-templates/st/status-report/art.json +13 -9
- package/data/craftbook-templates/st/status-report/logo.webp +0 -0
- package/data/craftbook-templates/su/subscription-audit/art.json +13 -8
- package/data/craftbook-templates/su/subscription-audit/logo.webp +0 -0
- package/data/craftbook-templates/su/subtitle-generator/art.json +13 -9
- package/data/craftbook-templates/su/subtitle-generator/logo.webp +0 -0
- package/data/craftbook-templates/su/summarize-long/art.json +14 -10
- package/data/craftbook-templates/su/summarize-long/logo.webp +0 -0
- package/data/craftbook-templates/su/survey-analysis/art.json +13 -9
- package/data/craftbook-templates/su/survey-analysis/logo.webp +0 -0
- package/data/craftbook-templates/sv/svg-animation/art.json +13 -9
- package/data/craftbook-templates/sv/svg-animation/logo.webp +0 -0
- package/data/craftbook-templates/ta/tailor-resume/art.json +13 -9
- package/data/craftbook-templates/ta/tailor-resume/logo.webp +0 -0
- package/data/craftbook-templates/te/technical-documentation/art.json +13 -9
- package/data/craftbook-templates/te/technical-documentation/logo.webp +0 -0
- package/data/craftbook-templates/te/test-coverage-review/art.json +13 -8
- package/data/craftbook-templates/te/test-coverage-review/logo.webp +0 -0
- package/data/craftbook-templates/te/test-suite-backfill/art.json +14 -9
- package/data/craftbook-templates/te/test-suite-backfill/logo.webp +0 -0
- package/data/craftbook-templates/th/thank-you-batch/art.json +13 -9
- package/data/craftbook-templates/th/thank-you-batch/logo.webp +0 -0
- package/data/craftbook-templates/th/thank-you-sweep/art.json +13 -9
- package/data/craftbook-templates/th/thank-you-sweep/logo.webp +0 -0
- package/data/craftbook-templates/th/threat-model/art.json +13 -9
- package/data/craftbook-templates/th/threat-model/logo.webp +0 -0
- package/data/craftbook-templates/th/thumbnail-generator/art.json +13 -9
- package/data/craftbook-templates/th/thumbnail-generator/logo.webp +0 -0
- package/data/craftbook-templates/ti/tidy-spreadsheet/art.json +17 -0
- package/data/craftbook-templates/ti/tidy-spreadsheet/logo.webp +0 -0
- package/data/craftbook-templates/ti/tidy-spreadsheet/manifest.json +1 -0
- package/data/craftbook-templates/ti/tileset-batch/art.json +13 -9
- package/data/craftbook-templates/ti/tileset-batch/logo.webp +0 -0
- package/data/craftbook-templates/to/tone-rewrite/art.json +14 -10
- package/data/craftbook-templates/to/tone-rewrite/logo.webp +0 -0
- package/data/craftbook-templates/to/topic-explainer/art.json +14 -10
- package/data/craftbook-templates/to/topic-explainer/logo.webp +0 -0
- package/data/craftbook-templates/tr/transcribe-and-shownotes/art.json +13 -9
- package/data/craftbook-templates/tr/transcribe-and-shownotes/logo.webp +0 -0
- package/data/craftbook-templates/tr/transcribe-audio/art.json +13 -9
- package/data/craftbook-templates/tr/transcribe-audio/logo.webp +0 -0
- package/data/craftbook-templates/tr/transcribe-index/art.json +13 -9
- package/data/craftbook-templates/tr/transcribe-index/logo.webp +0 -0
- package/data/craftbook-templates/tr/translate-content/art.json +17 -0
- package/data/craftbook-templates/tr/translate-content/logo.webp +0 -0
- package/data/craftbook-templates/ty/type-safety-pass/art.json +14 -9
- package/data/craftbook-templates/ty/type-safety-pass/logo.webp +0 -0
- package/data/craftbook-templates/ux/ux-update/art.json +14 -9
- package/data/craftbook-templates/ux/ux-update/logo.webp +0 -0
- package/data/craftbook-templates/ve/version-bump/art.json +13 -9
- package/data/craftbook-templates/ve/version-bump/logo.webp +0 -0
- package/data/craftbook-templates/vi/video-storyboard/art.json +13 -9
- package/data/craftbook-templates/vi/video-storyboard/logo.webp +0 -0
- package/data/craftbook-templates/vi/visit-prep/art.json +13 -9
- package/data/craftbook-templates/vi/visit-prep/logo.webp +0 -0
- package/data/craftbook-templates/vo/voiceover-script/art.json +13 -9
- package/data/craftbook-templates/vo/voiceover-script/logo.webp +0 -0
- package/data/craftbook-templates/we/weak-spot-drill/art.json +13 -9
- package/data/craftbook-templates/we/weak-spot-drill/logo.webp +0 -0
- package/data/craftbook-templates/we/web-app-crud/art.json +13 -9
- package/data/craftbook-templates/we/web-app-crud/logo.webp +0 -0
- package/data/craftbook-templates/we/web-component/art.json +13 -9
- package/data/craftbook-templates/we/web-component/logo.webp +0 -0
- package/data/craftbook-templates/we/webhook-handler/art.json +13 -9
- package/data/craftbook-templates/we/webhook-handler/logo.webp +0 -0
- package/data/craftbook-templates/we/week-plan/art.json +13 -9
- package/data/craftbook-templates/we/week-plan/logo.webp +0 -0
- package/data/craftbook-templates/we/weekly-menu-plan/art.json +13 -9
- package/data/craftbook-templates/we/weekly-menu-plan/logo.webp +0 -0
- package/data/craftbook-templates/we/weekly-pipeline-review/art.json +13 -9
- package/data/craftbook-templates/we/weekly-pipeline-review/logo.webp +0 -0
- package/data/craftbook-templates/we/weekly-review/art.json +13 -9
- package/data/craftbook-templates/we/weekly-review/logo.webp +0 -0
- package/data/craftbook-templates/we/weekly-walkthrough/art.json +13 -9
- package/data/craftbook-templates/we/weekly-walkthrough/logo.webp +0 -0
- package/data/craftbook-templates/wh/whitepaper/art.json +13 -9
- package/data/craftbook-templates/wh/whitepaper/logo.webp +0 -0
- package/data/craftbook-templates/ye/year-in-review/art.json +13 -9
- package/data/craftbook-templates/ye/year-in-review/logo.webp +0 -0
- package/data/craftbook-templates/yo/youtube-chapters-seo/art.json +13 -9
- package/data/craftbook-templates/yo/youtube-chapters-seo/logo.webp +0 -0
- package/data/image-models/index.json +1 -1
- package/data/image-models/mo/moss-image-sft-q4/manifest.json +38 -0
- package/data/image-models/mo/moss-image-sft-q4/versions/1.0.0/manifest.json +37 -0
- package/data/image-models/raw-index.json +1 -1
- package/data/knowledge-catalogs/be/bendyline-how-to-books/keywords.json +56 -0
- package/data/knowledge-catalogs/ca/caselaw-alaska-part-0001/keywords.json +12 -0
- package/data/knowledge-catalogs/ca/caselaw-nevada-part-0001/keywords.json +13 -0
- package/data/knowledge-catalogs/ca/caselaw-us-300-399-part-0001/keywords.json +14 -0
- package/data/knowledge-catalogs/ca/caselaw-us-347-349/keywords.json +17 -0
- package/data/knowledge-catalogs/ca/caselaw-utah-part-0001/keywords.json +12 -0
- package/data/knowledge-catalogs/ca/caselaw-utah-part-0002/keywords.json +12 -0
- package/data/knowledge-catalogs/ca/caselaw-washington-part-0001/keywords.json +12 -0
- package/data/knowledge-catalogs/ca/caselaw-washington-part-0002/keywords.json +12 -0
- package/data/knowledge-catalogs/ca/caselaw-washington-part-0003/keywords.json +12 -0
- package/data/knowledge-catalogs/ca/caselaw-washington-part-0004/keywords.json +12 -0
- package/data/knowledge-catalogs/ca/caselaw-washington-part-0005/keywords.json +12 -0
- package/data/knowledge-catalogs/ca/caselaw-wyoming-part-0001/keywords.json +12 -0
- package/data/knowledge-catalogs/mi/microsoftdocs-aspnet-core-en/keywords.json +21 -0
- package/data/knowledge-catalogs/mi/microsoftdocs-azure-ai-platform-en/keywords.json +27 -0
- package/data/knowledge-catalogs/mi/microsoftdocs-azure-apps-compute-en/keywords.json +23 -0
- package/data/knowledge-catalogs/mi/microsoftdocs-azure-data-aiot-en/keywords.json +26 -0
- package/data/knowledge-catalogs/mi/microsoftdocs-azure-management-hybrid-en/keywords.json +28 -0
- package/data/knowledge-catalogs/mi/microsoftdocs-azure-network-security-en/keywords.json +29 -0
- package/data/knowledge-catalogs/mi/microsoftdocs-dotnet-en/keywords.json +21 -0
- package/data/knowledge-catalogs/mi/microsoftdocs-entity-framework-en/keywords.json +14 -0
- package/data/knowledge-catalogs/mi/microsoftdocs-microsoft-365-en/keywords.json +20 -0
- package/data/knowledge-catalogs/mi/microsoftdocs-powershell-en/keywords.json +24 -0
- package/data/knowledge-catalogs/mi/microsoftdocs-sql-server-en/keywords.json +27 -0
- package/data/knowledge-catalogs/mi/microsoftdocs-windows-apps-en/keywords.json +18 -0
- package/data/knowledge-catalogs/mi/microsoftdocs-windows-server-en/keywords.json +28 -0
- package/data/knowledge-catalogs/re/regional-american-south/keywords.json +1700 -0
- package/data/knowledge-catalogs/re/regional-andes-amazon/keywords.json +750 -0
- package/data/knowledge-catalogs/re/regional-australia-nz/keywords.json +1281 -0
- package/data/knowledge-catalogs/re/regional-brazil/keywords.json +1125 -0
- package/data/knowledge-catalogs/re/regional-britain-ireland/keywords.json +3287 -0
- package/data/knowledge-catalogs/re/regional-california-southwest/keywords.json +1835 -0
- package/data/knowledge-catalogs/re/regional-canada-alaska/keywords.json +1184 -0
- package/data/knowledge-catalogs/re/regional-central-eastern-europe/keywords.json +1503 -0
- package/data/knowledge-catalogs/re/regional-east-asia/keywords.json +2836 -0
- package/data/knowledge-catalogs/re/regional-east-southern-africa/keywords.json +813 -0
- package/data/knowledge-catalogs/re/regional-mediterranean/keywords.json +2082 -0
- package/data/knowledge-catalogs/re/regional-mexico-central-america/keywords.json +1481 -0
- package/data/knowledge-catalogs/re/regional-middle-east/keywords.json +1272 -0
- package/data/knowledge-catalogs/re/regional-midwest/keywords.json +758 -0
- package/data/knowledge-catalogs/re/regional-north-africa/keywords.json +896 -0
- package/data/knowledge-catalogs/re/regional-northeast/keywords.json +1281 -0
- package/data/knowledge-catalogs/re/regional-northern-eurasia/keywords.json +346 -0
- package/data/knowledge-catalogs/re/regional-northern-europe/keywords.json +2688 -0
- package/data/knowledge-catalogs/re/regional-pacific-islands/keywords.json +973 -0
- package/data/knowledge-catalogs/re/regional-pacific-northwest/keywords.json +937 -0
- package/data/knowledge-catalogs/re/regional-rockies-plains/keywords.json +608 -0
- package/data/knowledge-catalogs/re/regional-south-asia/keywords.json +633 -0
- package/data/knowledge-catalogs/re/regional-southeast-asia/keywords.json +2697 -0
- package/data/knowledge-catalogs/re/regional-southern-cone/keywords.json +606 -0
- package/data/knowledge-catalogs/re/regional-west-central-africa/keywords.json +564 -0
- package/data/knowledge-catalogs/re/regional-western-europe/keywords.json +3247 -0
- package/data/knowledge-catalogs/wi/wikipedia-arts/keywords.json +5437 -0
- package/data/knowledge-catalogs/wi/wikipedia-astronomy/keywords.json +4009 -0
- package/data/knowledge-catalogs/wi/wikipedia-biology/keywords.json +4009 -0
- package/data/knowledge-catalogs/wi/wikipedia-business/keywords.json +5583 -0
- package/data/knowledge-catalogs/wi/wikipedia-film-tv/keywords.json +6386 -0
- package/data/knowledge-catalogs/wi/wikipedia-food-drink/keywords.json +4009 -0
- package/data/knowledge-catalogs/wi/wikipedia-games/keywords.json +5672 -0
- package/data/knowledge-catalogs/wi/wikipedia-language/keywords.json +4009 -0
- package/data/knowledge-catalogs/wi/wikipedia-law/keywords.json +4009 -0
- package/data/knowledge-catalogs/wi/wikipedia-literature/keywords.json +5719 -0
- package/data/knowledge-catalogs/wi/wikipedia-mathematics/keywords.json +4009 -0
- package/data/knowledge-catalogs/wi/wikipedia-medicine/keywords.json +16009 -0
- package/data/knowledge-catalogs/wi/wikipedia-military/keywords.json +5843 -0
- package/data/knowledge-catalogs/wi/wikipedia-music/keywords.json +6264 -0
- package/data/knowledge-catalogs/wi/wikipedia-politics/keywords.json +5447 -0
- package/data/knowledge-catalogs/wi/wikipedia-religion-philosophy/keywords.json +4009 -0
- package/data/knowledge-catalogs/wi/wikipedia-science/keywords.json +4009 -0
- package/data/knowledge-catalogs/wi/wikipedia-sports/keywords.json +5209 -0
- package/data/knowledge-catalogs/wi/wikipedia-technology/keywords.json +6537 -0
- package/data/knowledge-catalogs/wi/wikipedia-transportation/keywords.json +5989 -0
- package/data/project-types/ca/caregiving-binder/art.json +17 -0
- package/data/project-types/ca/caregiving-binder/logo.webp +0 -0
- package/data/project-types/ca/caregiving-binder/manifest.json +1 -0
- package/data/project-types/ch/checkers/art.json +17 -0
- package/data/project-types/ch/checkers/logo.webp +0 -0
- package/data/project-types/ch/checkers/manifest.json +1 -0
- package/data/project-types/ch/chess/art.json +17 -0
- package/data/project-types/ch/chess/logo.webp +0 -0
- package/data/project-types/ch/chess/manifest.json +1 -0
- package/data/project-types/da/data-analysis/art.json +17 -0
- package/data/project-types/da/data-analysis/logo.webp +0 -0
- package/data/project-types/da/data-analysis/manifest.json +22 -0
- package/data/project-types/da/data-analysis/versions/1.0.0/about.md +18 -0
- package/data/project-types/da/data-analysis/versions/1.0.0/manifest.json +26 -0
- package/data/project-types/da/data-analysis/versions/1.0.0/mission.md +4 -0
- package/data/project-types/da/data-analysis/versions/1.0.0/pages/analytics.js +63 -0
- package/data/project-types/da/data-analysis/versions/1.0.0/pages/dashboard.css +89 -0
- package/data/project-types/da/data-analysis/versions/1.0.0/pages/dashboard.js +180 -0
- package/data/project-types/da/data-analysis/versions/1.0.0/pages/datasets.js +44 -0
- package/data/project-types/da/data-analysis/versions/1.0.0/pages/index.html +199 -0
- package/data/project-types/da/data-analysis/versions/1.0.0/pages/insights.js +129 -0
- package/data/project-types/de/design-scheme/art.json +17 -0
- package/data/project-types/de/design-scheme/logo.webp +0 -0
- package/data/project-types/de/design-scheme/manifest.json +1 -0
- package/data/project-types/em/email/art.json +17 -0
- package/data/project-types/em/email/logo.webp +0 -0
- package/data/project-types/em/email/manifest.json +1 -0
- package/data/project-types/ev/event-planner/art.json +17 -0
- package/data/project-types/ev/event-planner/logo.webp +0 -0
- package/data/project-types/ev/event-planner/manifest.json +1 -0
- package/data/project-types/fi/fitness-coach/art.json +17 -0
- package/data/project-types/fi/fitness-coach/logo.webp +0 -0
- package/data/project-types/fi/fitness-coach/manifest.json +1 -0
- package/data/project-types/fl/flashcards/art.json +17 -0
- package/data/project-types/fl/flashcards/logo.webp +0 -0
- package/data/project-types/fl/flashcards/manifest.json +1 -0
- package/data/project-types/fr/freelance-office/art.json +17 -0
- package/data/project-types/fr/freelance-office/logo.webp +0 -0
- package/data/project-types/fr/freelance-office/manifest.json +1 -0
- package/data/project-types/fu/fundraiser-hq/art.json +17 -0
- package/data/project-types/fu/fundraiser-hq/logo.webp +0 -0
- package/data/project-types/fu/fundraiser-hq/manifest.json +1 -0
- package/data/project-types/go/go/art.json +17 -0
- package/data/project-types/go/go/logo.webp +0 -0
- package/data/project-types/go/go/manifest.json +1 -0
- package/data/project-types/ho/household-budget/art.json +17 -0
- package/data/project-types/ho/household-budget/logo.webp +0 -0
- package/data/project-types/ho/household-budget/manifest.json +1 -0
- package/data/project-types/ho/household-manual/art.json +17 -0
- package/data/project-types/ho/household-manual/logo.webp +0 -0
- package/data/project-types/ho/household-manual/manifest.json +1 -0
- package/data/project-types/im/image-feed/art.json +17 -0
- package/data/project-types/im/image-feed/logo.webp +0 -0
- package/data/project-types/im/image-feed/manifest.json +1 -0
- package/data/project-types/index.json +1 -1
- package/data/project-types/jo/job-hunt/art.json +17 -0
- package/data/project-types/jo/job-hunt/logo.webp +0 -0
- package/data/project-types/jo/job-hunt/manifest.json +1 -0
- package/data/project-types/ju/just-chat/art.json +17 -0
- package/data/project-types/ju/just-chat/logo.webp +0 -0
- package/data/project-types/ju/just-chat/manifest.json +1 -0
- package/data/project-types/la/language-trainer/art.json +17 -0
- package/data/project-types/la/language-trainer/logo.webp +0 -0
- package/data/project-types/la/language-trainer/manifest.json +1 -0
- package/data/project-types/li/life-binder/art.json +17 -0
- package/data/project-types/li/life-binder/logo.webp +0 -0
- package/data/project-types/li/life-binder/manifest.json +1 -0
- package/data/project-types/me/meal-planner/art.json +17 -0
- package/data/project-types/me/meal-planner/logo.webp +0 -0
- package/data/project-types/me/meal-planner/manifest.json +1 -0
- package/data/project-types/me/media-library/art.json +17 -0
- package/data/project-types/me/media-library/logo.webp +0 -0
- package/data/project-types/me/media-library/manifest.json +23 -0
- package/data/project-types/me/media-library/versions/1.0.0/about.md +17 -0
- package/data/project-types/me/media-library/versions/1.0.0/manifest.json +20 -0
- package/data/project-types/me/media-library/versions/1.0.0/mission.md +6 -0
- package/data/project-types/me/media-library/versions/1.0.0/pages/assets/alpine.svg +1 -0
- package/data/project-types/me/media-library/versions/1.0.0/pages/assets/coast.svg +1 -0
- package/data/project-types/me/media-library/versions/1.0.0/pages/assets/evening.svg +1 -0
- package/data/project-types/me/media-library/versions/1.0.0/pages/assets/forest.svg +1 -0
- package/data/project-types/me/media-library/versions/1.0.0/pages/assets/light.webm +0 -0
- package/data/project-types/me/media-library/versions/1.0.0/pages/assets/notes.wav +0 -0
- package/data/project-types/me/media-library/versions/1.0.0/pages/assets/study.svg +1 -0
- package/data/project-types/me/media-library/versions/1.0.0/pages/gallery.css +85 -0
- package/data/project-types/me/media-library/versions/1.0.0/pages/gallery.js +165 -0
- package/data/project-types/me/media-library/versions/1.0.0/pages/index.html +128 -0
- package/data/project-types/me/media-library/versions/1.0.0/pages/media-files.js +41 -0
- package/data/project-types/no/novel-writing-room/art.json +17 -0
- package/data/project-types/no/novel-writing-room/logo.webp +0 -0
- package/data/project-types/no/novel-writing-room/manifest.json +1 -0
- package/data/project-types/raw-index.json +1 -1
- package/data/project-types/so/social-feed/art.json +17 -0
- package/data/project-types/so/social-feed/logo.webp +0 -0
- package/data/project-types/so/social-feed/manifest.json +1 -0
- package/data/project-types/so/software-project/art.json +17 -0
- package/data/project-types/so/software-project/logo.webp +0 -0
- package/data/project-types/so/software-project/manifest.json +1 -0
- package/data/project-types/tr/trip-planner/art.json +17 -0
- package/data/project-types/tr/trip-planner/logo.webp +0 -0
- package/data/project-types/tr/trip-planner/manifest.json +1 -0
- package/data/project-types/wo/word-clues/art.json +17 -0
- package/data/project-types/wo/word-clues/logo.webp +0 -0
- package/data/project-types/wo/word-clues/manifest.json +1 -0
- package/package.json +2 -1
- package/schemas/knowledge-catalog-keywords.schema.json +50 -0
|
@@ -0,0 +1,199 @@
|
|
|
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
|
+
<meta name="gezel-demo" content="standalone" />
|
|
7
|
+
<title>Data Analysis</title>
|
|
8
|
+
<link rel="stylesheet" href="dashboard.css" />
|
|
9
|
+
<style>
|
|
10
|
+
:root { color-scheme: light dark; }
|
|
11
|
+
@media (prefers-color-scheme: dark) { :root { color-scheme: dark; } }
|
|
12
|
+
</style>
|
|
13
|
+
<script>
|
|
14
|
+
/* gezel-page-demo-stub v1 */
|
|
15
|
+
/*
|
|
16
|
+
* The canonical demo stub for Gezel type pages. MIT License.
|
|
17
|
+
*
|
|
18
|
+
* Paste this file's bytes verbatim into a <script> block ahead of the
|
|
19
|
+
* page's own code, then call makeDemoGezel({ page, tools, data }) with the
|
|
20
|
+
* page's demo handlers. Served by Gezel, the real window.gezel is already
|
|
21
|
+
* injected and the stub steps aside; opened as a raw file (the live demos
|
|
22
|
+
* on gezelgilde.com), it installs a window.gezel whose tools and data are
|
|
23
|
+
* the page-supplied handler maps — one code path in every mode. `tools`
|
|
24
|
+
* and `data` map a tool name / declared read path to a function; data
|
|
25
|
+
* handlers back read() and list(), and url() returns the handler's value
|
|
26
|
+
* or passes a data: URI through. See docs/page-authoring.md.
|
|
27
|
+
*/
|
|
28
|
+
(function () {
|
|
29
|
+
'use strict';
|
|
30
|
+
window.makeDemoGezel = function (opts) {
|
|
31
|
+
if (window.gezel) return window.gezel;
|
|
32
|
+
var page = (opts && opts.page) || {};
|
|
33
|
+
var tools = (opts && opts.tools) || {};
|
|
34
|
+
var data = (opts && opts.data) || {};
|
|
35
|
+
var themeListeners = [];
|
|
36
|
+
var media = window.matchMedia ? window.matchMedia('(prefers-color-scheme: dark)') : null;
|
|
37
|
+
var ui = {
|
|
38
|
+
theme: { mode: media && media.matches ? 'dark' : 'light' },
|
|
39
|
+
onTheme: function (cb) {
|
|
40
|
+
themeListeners.push(cb);
|
|
41
|
+
return function () {
|
|
42
|
+
var at = themeListeners.indexOf(cb);
|
|
43
|
+
if (at >= 0) themeListeners.splice(at, 1);
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
if (media && media.addEventListener) {
|
|
48
|
+
media.addEventListener('change', function (ev) {
|
|
49
|
+
ui.theme = { mode: ev.matches ? 'dark' : 'light' };
|
|
50
|
+
themeListeners.slice().forEach(function (cb) { cb(ui.theme); });
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function fail(code, message) {
|
|
54
|
+
var err = new Error(message);
|
|
55
|
+
err.code = code;
|
|
56
|
+
return Promise.reject(err);
|
|
57
|
+
}
|
|
58
|
+
function run(map, key, arg) {
|
|
59
|
+
if (!Object.prototype.hasOwnProperty.call(map, key)) return null;
|
|
60
|
+
return Promise.resolve().then(function () { return map[key](arg); });
|
|
61
|
+
}
|
|
62
|
+
window.gezel = {
|
|
63
|
+
page: {
|
|
64
|
+
api: 1,
|
|
65
|
+
projectId: 'demo',
|
|
66
|
+
source: 'type',
|
|
67
|
+
entry: page.entry || 'index.html',
|
|
68
|
+
typeName: page.typeName || 'demo',
|
|
69
|
+
params: page.params || {},
|
|
70
|
+
mode: 'demo',
|
|
71
|
+
},
|
|
72
|
+
tools: {
|
|
73
|
+
list: function () { return Promise.resolve(Object.keys(tools)); },
|
|
74
|
+
invoke: function (name, input) {
|
|
75
|
+
var call = run(tools, name, input || {});
|
|
76
|
+
if (!call) return fail('not-allowed', "The demo does not handle the tool '" + name + "'.");
|
|
77
|
+
return call.then(function (output) { return { output: output }; });
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
data: {
|
|
81
|
+
read: function (path, o) {
|
|
82
|
+
return run(data, path, o || {}) || fail('not-allowed', "The demo has no data for '" + path + "'.");
|
|
83
|
+
},
|
|
84
|
+
list: function (path, o) {
|
|
85
|
+
return run(data, path, o || {}) || Promise.resolve([]);
|
|
86
|
+
},
|
|
87
|
+
watch: function () { return function () {}; },
|
|
88
|
+
url: function (path) {
|
|
89
|
+
if (Object.prototype.hasOwnProperty.call(data, path)) return String(data[path]({}));
|
|
90
|
+
return typeof path === 'string' && path.indexOf('data:') === 0 ? path : '';
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
ui: ui,
|
|
94
|
+
refresh: function () {},
|
|
95
|
+
};
|
|
96
|
+
return window.gezel;
|
|
97
|
+
};
|
|
98
|
+
})();
|
|
99
|
+
</script>
|
|
100
|
+
<script>
|
|
101
|
+
const demoMode = window.makeDemoGezel({ page: { typeName: 'Data Analysis' } }).page.mode === 'demo';
|
|
102
|
+
</script>
|
|
103
|
+
<script src="datasets.js" defer></script>
|
|
104
|
+
<script src="analytics.js" defer></script>
|
|
105
|
+
<script src="insights.js" defer></script>
|
|
106
|
+
<script src="dashboard.js" defer></script>
|
|
107
|
+
</head>
|
|
108
|
+
<body>
|
|
109
|
+
<main>
|
|
110
|
+
<aside data-gezel-demo-banner hidden>
|
|
111
|
+
<span>Sample project. These files stay in this page.</span>
|
|
112
|
+
<button id="reset-demo" type="button">Reset demo</button>
|
|
113
|
+
</aside>
|
|
114
|
+
<header>
|
|
115
|
+
<div>
|
|
116
|
+
<p class="eyebrow">Your project folder</p>
|
|
117
|
+
<h1>Data Analysis</h1>
|
|
118
|
+
<p class="intro">A place to explore your data.</p>
|
|
119
|
+
</div>
|
|
120
|
+
<button id="refresh" type="button">Refresh</button>
|
|
121
|
+
</header>
|
|
122
|
+
<dl class="summary" aria-label="Folder summary">
|
|
123
|
+
<div><dt>Datasets</dt><dd id="dataset-count">—</dd></div>
|
|
124
|
+
<div><dt>Formats</dt><dd id="format-count">—</dd></div>
|
|
125
|
+
<div><dt>Total size</dt><dd id="total-size">—</dd></div>
|
|
126
|
+
</dl>
|
|
127
|
+
<section id="insights" aria-labelledby="insights-heading">
|
|
128
|
+
<h2 id="insights-heading">Explore a table</h2>
|
|
129
|
+
<p id="insights-status" class="hint" role="status" aria-live="polite">Looking for indexed tables…</p>
|
|
130
|
+
<p id="insights-error" role="alert" hidden></p>
|
|
131
|
+
<div id="table-picker-wrap" class="filters" hidden>
|
|
132
|
+
<label>Dataset and table<select id="table-picker"></select></label>
|
|
133
|
+
</div>
|
|
134
|
+
<div id="insights-content" hidden>
|
|
135
|
+
<div class="source-line"><span id="table-source"></span><button id="open-table-source" type="button">Open source file</button></div>
|
|
136
|
+
<dl class="summary table-summary" aria-label="Table summary">
|
|
137
|
+
<div><dt>Records</dt><dd id="table-rows">—</dd></div>
|
|
138
|
+
<div><dt>Columns</dt><dd id="table-columns">—</dd></div>
|
|
139
|
+
<div><dt>Data freshness</dt><dd id="table-stamp">—</dd></div>
|
|
140
|
+
</dl>
|
|
141
|
+
<div id="chart-controls" class="filters">
|
|
142
|
+
<label>Group by<select id="chart-group"></select></label>
|
|
143
|
+
<label>Show<select id="chart-measure"></select></label>
|
|
144
|
+
</div>
|
|
145
|
+
<figure class="chart-figure">
|
|
146
|
+
<figcaption id="chart-caption"></figcaption>
|
|
147
|
+
<ul id="chart" aria-label="Chart values"></ul>
|
|
148
|
+
</figure>
|
|
149
|
+
<details id="numeric-summary" open>
|
|
150
|
+
<summary>Numeric summary</summary>
|
|
151
|
+
<p id="numeric-note" class="hint"></p>
|
|
152
|
+
<div class="table-scroll" tabindex="0" role="region" aria-label="Numeric summary">
|
|
153
|
+
<table><thead><tr><th scope="col">Field</th><th scope="col">Present</th><th scope="col">Missing</th><th scope="col">Minimum</th><th scope="col">Maximum</th><th scope="col">Average</th></tr></thead><tbody id="numeric-body"></tbody></table>
|
|
154
|
+
</div>
|
|
155
|
+
</details>
|
|
156
|
+
<details>
|
|
157
|
+
<summary>Columns & types</summary>
|
|
158
|
+
<p id="schema-note" class="hint"></p>
|
|
159
|
+
<div class="table-scroll" tabindex="0" role="region" aria-label="Table schema">
|
|
160
|
+
<table><thead><tr><th scope="col">Column</th><th scope="col">Type</th><th scope="col">Role</th><th scope="col">Description</th></tr></thead><tbody id="schema-body"></tbody></table>
|
|
161
|
+
</div>
|
|
162
|
+
</details>
|
|
163
|
+
</div>
|
|
164
|
+
</section>
|
|
165
|
+
<section aria-labelledby="datasets-heading">
|
|
166
|
+
<div class="section-heading">
|
|
167
|
+
<h2 id="datasets-heading">Datasets</h2>
|
|
168
|
+
<p id="updated" class="muted"></p>
|
|
169
|
+
</div>
|
|
170
|
+
<p class="hint">Files appear automatically from this folder and its subfolders. Open one to explore it in Gezel.</p>
|
|
171
|
+
<div class="filters">
|
|
172
|
+
<label>Find a file<input id="search" type="search" placeholder="Search names and folders…" /></label>
|
|
173
|
+
<label>Format<select id="format"><option value="">All formats</option></select></label>
|
|
174
|
+
<label>Sort by<select id="sort"><option value="name">Name</option><option value="modified">Recently changed</option><option value="size">Largest first</option></select></label>
|
|
175
|
+
</div>
|
|
176
|
+
<p id="status" role="status" aria-live="polite">Looking for datasets…</p>
|
|
177
|
+
<p id="error" role="alert" hidden></p>
|
|
178
|
+
<p id="notice" class="notice" hidden></p>
|
|
179
|
+
<ul id="datasets" class="file-list" aria-label="Datasets"></ul>
|
|
180
|
+
<div id="empty" class="empty" hidden>
|
|
181
|
+
<h3>No datasets yet</h3>
|
|
182
|
+
<p>Add a CSV, spreadsheet, JSON, Parquet, or another data file to your project folder. It will appear here automatically.</p>
|
|
183
|
+
</div>
|
|
184
|
+
<p id="no-matches" class="empty" hidden>No files match these filters. Try another name or format.</p>
|
|
185
|
+
</section>
|
|
186
|
+
<section id="reports-section" aria-labelledby="reports-heading" hidden>
|
|
187
|
+
<h2 id="reports-heading">Reports & notes</h2>
|
|
188
|
+
<ul id="reports" class="file-list" aria-label="Reports and notes"></ul>
|
|
189
|
+
</section>
|
|
190
|
+
<footer>Source files stay in your folder. Summaries and charts read the indexed tables without changing your data.</footer>
|
|
191
|
+
</main>
|
|
192
|
+
<dialog id="demo-preview" aria-labelledby="demo-title">
|
|
193
|
+
<h2 id="demo-title">Sample file</h2>
|
|
194
|
+
<p>In Gezel, this opens the file's existing viewer. This is a sample table.</p>
|
|
195
|
+
<table><thead><tr><th>Month</th><th>Revenue</th><th>Orders</th></tr></thead><tbody><tr><td>July</td><td>12,480</td><td>156</td></tr><tr><td>August</td><td>14,560</td><td>182</td></tr><tr><td>September</td><td>16,240</td><td>203</td></tr></tbody></table>
|
|
196
|
+
<form method="dialog"><button>Close preview</button></form>
|
|
197
|
+
</dialog>
|
|
198
|
+
</body>
|
|
199
|
+
</html>
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
(() => {
|
|
2
|
+
'use strict';
|
|
3
|
+
const $ = (id) => document.getElementById(id);
|
|
4
|
+
const queries = window.dataAnalysisQueries;
|
|
5
|
+
const api = window.gezel;
|
|
6
|
+
const sampleRows = [
|
|
7
|
+
{ month: '2026-07-01', region: 'North', revenue: 7480, orders: 94 },
|
|
8
|
+
{ month: '2026-07-01', region: 'South', revenue: 5000, orders: 62 },
|
|
9
|
+
{ month: '2026-08-01', region: 'North', revenue: 8360, orders: 105 },
|
|
10
|
+
{ month: '2026-08-01', region: 'South', revenue: 6200, orders: 77 },
|
|
11
|
+
{ month: '2026-09-01', region: 'North', revenue: 9240, orders: 116 },
|
|
12
|
+
{ month: '2026-09-01', region: 'South', revenue: 7000, orders: 87 },
|
|
13
|
+
];
|
|
14
|
+
const sampleTable = { name: 'sample_sales', title: 'Quarterly sales', source: 'workspace', path: 'sales/quarterly-sales.csv', rows: 6, columnCount: 4 };
|
|
15
|
+
const sampleColumns = [
|
|
16
|
+
{ name: 'month', type: 'DATE', role: 'time' }, { name: 'region', type: 'VARCHAR', role: 'dimension' },
|
|
17
|
+
{ name: 'revenue', type: 'DOUBLE', role: 'measure', unit: 'USD' }, { name: 'orders', type: 'BIGINT', role: 'measure' },
|
|
18
|
+
];
|
|
19
|
+
let selected, schema, pending = 0, running = false, revision = 0, stopped = false;
|
|
20
|
+
const fmt = (value) => value == null || !Number.isFinite(Number(value)) ? '—' : new Intl.NumberFormat(undefined, { maximumFractionDigits: 2 }).format(Number(value));
|
|
21
|
+
const node = (tag, text) => { const el = document.createElement(tag); el.textContent = text; return el; };
|
|
22
|
+
function options(id, items, previous) {
|
|
23
|
+
$(id).replaceChildren(...items.map(([value, text]) => { const el = node('option', text); el.value = value; return el; }));
|
|
24
|
+
if (items.some(([value]) => value === previous)) $(id).value = previous;
|
|
25
|
+
}
|
|
26
|
+
async function run(plan) {
|
|
27
|
+
if (demoMode) return plan.sample(sampleRows);
|
|
28
|
+
return (await api.tables.query(plan.sql, { tables: [selected.name], limit: 100 })).rows;
|
|
29
|
+
}
|
|
30
|
+
function tableBody(id, rows) {
|
|
31
|
+
$(id).replaceChildren(...rows.map((cells) => {
|
|
32
|
+
const tr = document.createElement('tr');
|
|
33
|
+
cells.forEach((cell, i) => { const el = node(i === 0 ? 'th' : 'td', cell); if (i === 0) el.scope = 'row'; tr.append(el); });
|
|
34
|
+
return tr;
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
async function load(rev, full) {
|
|
38
|
+
const current = () => !stopped && rev === revision;
|
|
39
|
+
if (full) {
|
|
40
|
+
if (!demoMode && !api.tables) throw new Error('Open this project in an updated Gezel app to see data summaries.');
|
|
41
|
+
const tables = demoMode ? [sampleTable] : await api.tables.list();
|
|
42
|
+
if (!current()) return;
|
|
43
|
+
options('table-picker', tables.map((t) => [t.name, `${t.path} · ${t.title}`]), $('table-picker').value);
|
|
44
|
+
$('table-picker-wrap').hidden = tables.length === 0;
|
|
45
|
+
selected = tables.find((t) => t.name === $('table-picker').value);
|
|
46
|
+
if (!selected) {
|
|
47
|
+
$('insights-status').textContent = 'No tables are ready yet. Summaries appear after Gezel indexes a supported spreadsheet or large CSV/TSV. You can still open any dataset below.';
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
schema = demoMode ? { columns: sampleColumns } : await api.tables.describe(selected.name);
|
|
51
|
+
if (!current()) return;
|
|
52
|
+
const plan = queries.summary(selected.name, schema.columns);
|
|
53
|
+
const [totals] = await run(plan);
|
|
54
|
+
if (!current()) return;
|
|
55
|
+
$('table-rows').textContent = fmt(totals.row_count);
|
|
56
|
+
$('table-columns').textContent = fmt(schema.columns.length);
|
|
57
|
+
$('table-source').textContent = selected.path;
|
|
58
|
+
$('open-table-source').hidden = selected.source !== 'workspace' || (!demoMode && api.page.mode !== 'embedded');
|
|
59
|
+
$('table-stamp').textContent = demoMode ? 'Sample data' : selected.updatedAt ? `Indexed ${new Date(selected.updatedAt).toLocaleString()}` : 'Indexed data';
|
|
60
|
+
tableBody('numeric-body', plan.measures.map((c, i) => [c.name + (c.unit ? ` (${c.unit})` : ''), fmt(totals[`count_${i}`]), fmt(Number(totals.row_count) - Number(totals[`count_${i}`])), fmt(totals[`min_${i}`]), fmt(totals[`max_${i}`]), fmt(totals[`avg_${i}`])]));
|
|
61
|
+
$('numeric-summary').hidden = plan.measures.length === 0;
|
|
62
|
+
$('numeric-note').textContent = queries.numeric(schema.columns).length > 6 ? 'Showing the first six numeric fields. Averages exclude missing values.' : 'Averages exclude missing values.';
|
|
63
|
+
tableBody('schema-body', schema.columns.map((c) => [c.name, c.type, c.role, c.description || '—']));
|
|
64
|
+
$('schema-note').textContent = schema.description || (selected.schemaInferred ? 'Column types were inferred during indexing.' : 'Column types from the indexed table.');
|
|
65
|
+
options('chart-group', queries.groups(schema.columns).map((c) => [c.name, c.name + (['DATE', 'TIMESTAMP'].includes(c.type) ? ' (by month)' : '')]), $('chart-group').value);
|
|
66
|
+
options('chart-measure', [['', 'Number of records'], ...queries.numeric(schema.columns).map((c) => [c.name, `Average ${c.name}${c.unit ? ` (${c.unit})` : ''}`])], $('chart-measure').value);
|
|
67
|
+
$('insights-content').hidden = false;
|
|
68
|
+
}
|
|
69
|
+
const group = schema.columns.find((c) => c.name === $('chart-group').value);
|
|
70
|
+
const measure = schema.columns.find((c) => c.name === $('chart-measure').value);
|
|
71
|
+
$('chart-controls').hidden = !group;
|
|
72
|
+
$('chart').replaceChildren();
|
|
73
|
+
if (!group) { $('chart-caption').textContent = 'This table has no fields that can be grouped into a chart.'; $('insights-status').textContent = 'Table summary and schema are ready.'; return; }
|
|
74
|
+
const plan = queries.chart(selected.name, group, measure);
|
|
75
|
+
const rows = await run(plan);
|
|
76
|
+
if (!current()) return;
|
|
77
|
+
if (plan.time) rows.reverse();
|
|
78
|
+
const geometry = queries.bars(rows);
|
|
79
|
+
$('chart').style.setProperty('--zero', `${geometry.zero}%`);
|
|
80
|
+
for (const row of geometry.rows) {
|
|
81
|
+
const li = document.createElement('li');
|
|
82
|
+
const label = plan.time ? String(row.label).slice(0, 7) : String(row.label);
|
|
83
|
+
li.append(node('span', label));
|
|
84
|
+
const track = document.createElement('span'); track.className = 'bar-track'; track.setAttribute('aria-hidden', 'true');
|
|
85
|
+
const bar = document.createElement('span'); bar.className = 'bar';
|
|
86
|
+
if (row.value != null && Number.isFinite(Number(row.value))) { bar.style.left = `${row.left}%`; bar.style.width = `${row.width}%`; }
|
|
87
|
+
track.append(bar); li.append(track, node('span', fmt(row.value))); $('chart').append(li);
|
|
88
|
+
}
|
|
89
|
+
const metric = measure ? `Average ${measure.name}${measure.unit ? ` (${measure.unit})` : ''}` : 'Number of records';
|
|
90
|
+
$('chart-caption').textContent = rows.length ? `${metric} by ${group.name}. ${plan.time ? 'Up to 12 most recent months' : 'Up to 12 highest groups'}. Missing groups${measure ? ' and missing measure values' : ''} excluded.` : 'No non-empty groups to chart.';
|
|
91
|
+
$('insights-status').textContent = demoMode ? 'Exploring sample data.' : 'Summaries use the indexed data. They refresh as the index updates.';
|
|
92
|
+
}
|
|
93
|
+
async function drain() {
|
|
94
|
+
if (running) return;
|
|
95
|
+
running = true;
|
|
96
|
+
while (pending && !stopped) {
|
|
97
|
+
const full = pending === 2, rev = revision; pending = 0;
|
|
98
|
+
$('insights').setAttribute('aria-busy', 'true');
|
|
99
|
+
$('insights-status').textContent = 'Reading table data…';
|
|
100
|
+
$('insights-error').hidden = true;
|
|
101
|
+
try { await load(rev, full); }
|
|
102
|
+
catch (error) {
|
|
103
|
+
if (rev === revision && !stopped) {
|
|
104
|
+
$('insights-content').hidden = true;
|
|
105
|
+
$('insights-status').textContent = 'Data summaries are unavailable. You can still browse the files below.';
|
|
106
|
+
$('insights-error').textContent = error.message || 'Refresh to try again.';
|
|
107
|
+
$('insights-error').hidden = false;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
running = false;
|
|
112
|
+
$('insights').removeAttribute('aria-busy');
|
|
113
|
+
}
|
|
114
|
+
function schedule(full = true) {
|
|
115
|
+
if (stopped) return;
|
|
116
|
+
pending = Math.max(pending, full || !schema || running ? 2 : 1); revision++;
|
|
117
|
+
if (full) $('insights-content').hidden = true;
|
|
118
|
+
void drain();
|
|
119
|
+
}
|
|
120
|
+
$('table-picker').addEventListener('change', () => schedule());
|
|
121
|
+
for (const id of ['chart-group', 'chart-measure']) $(id).addEventListener('change', () => schedule(false));
|
|
122
|
+
$('open-table-source').addEventListener('click', async () => {
|
|
123
|
+
if (demoMode) { $('demo-title').textContent = selected.path; $('demo-preview').showModal(); return; }
|
|
124
|
+
try { await api.data.open(selected.path); }
|
|
125
|
+
catch (error) { $('insights-error').textContent = error.message; $('insights-error').hidden = false; }
|
|
126
|
+
});
|
|
127
|
+
window.dataAnalysisInsights = { refresh: schedule, reset() { $('table-picker').value = ''; $('chart-group').value = ''; $('chart-measure').value = ''; schedule(); } };
|
|
128
|
+
window.addEventListener('pagehide', () => { stopped = true; revision++; }, { once: true });
|
|
129
|
+
})();
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"promptVersion": "workshop-mark-cutout-v3",
|
|
4
|
+
"subject": "an artist's palette with five round paint dabs and a brush resting across it",
|
|
5
|
+
"sourceSummary": "Explore color schemes and design directions with a designer.",
|
|
6
|
+
"styleReference": "wikipedia-astronomy",
|
|
7
|
+
"setReference": "data-dictionary-cutout-v3",
|
|
8
|
+
"sheet": "s01",
|
|
9
|
+
"cell": 3,
|
|
10
|
+
"fill": 0.88,
|
|
11
|
+
"shadow": {
|
|
12
|
+
"color": "#1c120a",
|
|
13
|
+
"opacity": 0.38,
|
|
14
|
+
"blur": 0.035,
|
|
15
|
+
"offsetY": 0.025
|
|
16
|
+
}
|
|
17
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"promptVersion": "workshop-mark-cutout-v3",
|
|
4
|
+
"subject": "an open envelope with a folded letter rising out of it",
|
|
5
|
+
"sourceSummary": "Sync an email account into a project as canonical markdown, then triage, draft, and summarize correspondence with a gezel.",
|
|
6
|
+
"styleReference": "wikipedia-astronomy",
|
|
7
|
+
"setReference": "data-dictionary-cutout-v3",
|
|
8
|
+
"sheet": "s01",
|
|
9
|
+
"cell": 1,
|
|
10
|
+
"fill": 0.88,
|
|
11
|
+
"shadow": {
|
|
12
|
+
"color": "#1c120a",
|
|
13
|
+
"opacity": 0.38,
|
|
14
|
+
"blur": 0.035,
|
|
15
|
+
"offsetY": 0.025
|
|
16
|
+
}
|
|
17
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"promptVersion": "workshop-mark-cutout-v3",
|
|
4
|
+
"subject": "a two-tier celebration cake with a single candle on top",
|
|
5
|
+
"sourceSummary": "Plan the wedding, the milestone birthday, the reunion.",
|
|
6
|
+
"styleReference": "wikipedia-astronomy",
|
|
7
|
+
"setReference": "data-dictionary-cutout-v3",
|
|
8
|
+
"sheet": "s01",
|
|
9
|
+
"cell": 7,
|
|
10
|
+
"fill": 0.88,
|
|
11
|
+
"shadow": {
|
|
12
|
+
"color": "#1c120a",
|
|
13
|
+
"opacity": 0.38,
|
|
14
|
+
"blur": 0.035,
|
|
15
|
+
"offsetY": 0.025
|
|
16
|
+
}
|
|
17
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"promptVersion": "workshop-mark-cutout-v3",
|
|
4
|
+
"subject": "a kettlebell beside a coiled jump rope",
|
|
5
|
+
"sourceSummary": "A training habit that survives real life.",
|
|
6
|
+
"styleReference": "wikipedia-astronomy",
|
|
7
|
+
"setReference": "data-dictionary-cutout-v3",
|
|
8
|
+
"sheet": "s02",
|
|
9
|
+
"cell": 5,
|
|
10
|
+
"fill": 0.88,
|
|
11
|
+
"shadow": {
|
|
12
|
+
"color": "#1c120a",
|
|
13
|
+
"opacity": 0.38,
|
|
14
|
+
"blur": 0.035,
|
|
15
|
+
"offsetY": 0.025
|
|
16
|
+
}
|
|
17
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"promptVersion": "workshop-mark-cutout-v3",
|
|
4
|
+
"subject": "a fanned stack of blank index cards with the front card flipped up",
|
|
5
|
+
"sourceSummary": "Learn anything with spaced-repetition flashcards.",
|
|
6
|
+
"styleReference": "wikipedia-astronomy",
|
|
7
|
+
"setReference": "data-dictionary-cutout-v3",
|
|
8
|
+
"sheet": "s02",
|
|
9
|
+
"cell": 6,
|
|
10
|
+
"fill": 0.88,
|
|
11
|
+
"shadow": {
|
|
12
|
+
"color": "#1c120a",
|
|
13
|
+
"opacity": 0.38,
|
|
14
|
+
"blur": 0.035,
|
|
15
|
+
"offsetY": 0.025
|
|
16
|
+
}
|
|
17
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"promptVersion": "workshop-mark-cutout-v3",
|
|
4
|
+
"subject": "a desk lamp bending over a small open laptop",
|
|
5
|
+
"sourceSummary": "Run a one-person business without dropping anything.",
|
|
6
|
+
"styleReference": "wikipedia-astronomy",
|
|
7
|
+
"setReference": "data-dictionary-cutout-v3",
|
|
8
|
+
"sheet": "s03",
|
|
9
|
+
"cell": 1,
|
|
10
|
+
"fill": 0.88,
|
|
11
|
+
"shadow": {
|
|
12
|
+
"color": "#1c120a",
|
|
13
|
+
"opacity": 0.38,
|
|
14
|
+
"blur": 0.035,
|
|
15
|
+
"offsetY": 0.025
|
|
16
|
+
}
|
|
17
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"promptVersion": "workshop-mark-cutout-v3",
|
|
4
|
+
"subject": "a glass donation jar half full of coins, with a heart on its lid",
|
|
5
|
+
"sourceSummary": "Rally a community drive.",
|
|
6
|
+
"styleReference": "wikipedia-astronomy",
|
|
7
|
+
"setReference": "data-dictionary-cutout-v3",
|
|
8
|
+
"sheet": "s01",
|
|
9
|
+
"cell": 8,
|
|
10
|
+
"fill": 0.88,
|
|
11
|
+
"shadow": {
|
|
12
|
+
"color": "#1c120a",
|
|
13
|
+
"opacity": 0.38,
|
|
14
|
+
"blur": 0.035,
|
|
15
|
+
"offsetY": 0.025
|
|
16
|
+
}
|
|
17
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"promptVersion": "workshop-mark-cutout-v3",
|
|
4
|
+
"subject": "a round wooden bowl of black and white go stones, with two stones beside it",
|
|
5
|
+
"sourceSummary": "Play Go against a gezel opponent on a live 9×9, 13×13, or 19×19 board.",
|
|
6
|
+
"styleReference": "wikipedia-astronomy",
|
|
7
|
+
"setReference": "data-dictionary-cutout-v3",
|
|
8
|
+
"sheet": "s02",
|
|
9
|
+
"cell": 2,
|
|
10
|
+
"fill": 0.88,
|
|
11
|
+
"shadow": {
|
|
12
|
+
"color": "#1c120a",
|
|
13
|
+
"opacity": 0.38,
|
|
14
|
+
"blur": 0.035,
|
|
15
|
+
"offsetY": 0.025
|
|
16
|
+
}
|
|
17
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"promptVersion": "workshop-mark-cutout-v3",
|
|
4
|
+
"subject": "a piggy bank with one coin dropping into its slot",
|
|
5
|
+
"sourceSummary": "Know where the money actually goes.",
|
|
6
|
+
"styleReference": "wikipedia-astronomy",
|
|
7
|
+
"setReference": "data-dictionary-cutout-v3",
|
|
8
|
+
"sheet": "round3-projects",
|
|
9
|
+
"cell": 7,
|
|
10
|
+
"fill": 0.88,
|
|
11
|
+
"shadow": {
|
|
12
|
+
"color": "#1c120a",
|
|
13
|
+
"opacity": 0.38,
|
|
14
|
+
"blur": 0.035,
|
|
15
|
+
"offsetY": 0.025
|
|
16
|
+
}
|
|
17
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"promptVersion": "workshop-mark-cutout-v3",
|
|
4
|
+
"subject": "a ring binder with a small house shape on its cover",
|
|
5
|
+
"sourceSummary": "The living manual for your home.",
|
|
6
|
+
"styleReference": "wikipedia-astronomy",
|
|
7
|
+
"setReference": "data-dictionary-cutout-v3",
|
|
8
|
+
"sheet": "s02",
|
|
9
|
+
"cell": 8,
|
|
10
|
+
"fill": 0.88,
|
|
11
|
+
"shadow": {
|
|
12
|
+
"color": "#1c120a",
|
|
13
|
+
"opacity": 0.38,
|
|
14
|
+
"blur": 0.035,
|
|
15
|
+
"offsetY": 0.025
|
|
16
|
+
}
|
|
17
|
+
}
|
|
Binary file
|