@treeseed/core 0.10.21 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/README.md +69 -125
  2. package/dist/content.js +1 -0
  3. package/dist/dev-watch.js +2 -1
  4. package/dist/dev.d.ts +1 -1
  5. package/dist/dev.js +51 -35
  6. package/dist/pages/404.astro +1 -1
  7. package/dist/pages/[slug].astro +4 -4
  8. package/dist/pages/agents/[slug].astro +3 -3
  9. package/dist/pages/agents/index.astro +3 -3
  10. package/dist/pages/books/[slug].astro +3 -3
  11. package/dist/pages/books/index.astro +3 -3
  12. package/dist/pages/contact.astro +2 -2
  13. package/dist/pages/decisions/[slug].astro +3 -3
  14. package/dist/pages/decisions/index.astro +3 -3
  15. package/dist/pages/docs-runtime/[...slug].astro +3 -3
  16. package/dist/pages/docs-runtime/index.astro +3 -3
  17. package/dist/pages/index.astro +11 -11
  18. package/dist/pages/notes/[slug].astro +3 -3
  19. package/dist/pages/notes/index.astro +3 -3
  20. package/dist/pages/objectives/[slug].astro +3 -3
  21. package/dist/pages/objectives/index.astro +3 -3
  22. package/dist/pages/people/[slug].astro +3 -3
  23. package/dist/pages/people/index.astro +3 -3
  24. package/dist/pages/proposals/[slug].astro +3 -3
  25. package/dist/pages/proposals/index.astro +3 -3
  26. package/dist/pages/questions/[slug].astro +3 -3
  27. package/dist/pages/questions/index.astro +3 -3
  28. package/dist/pages/ui/index.astro +23 -23
  29. package/dist/platform-resources.js +5 -1
  30. package/dist/scripts/build-dist.js +2 -0
  31. package/dist/scripts/release-verify.js +24 -2
  32. package/dist/scripts/workspace-bootstrap.js +3 -0
  33. package/dist/site.js +49 -11
  34. package/dist/styles/global.css +5 -5
  35. package/dist/templates.d.ts +2 -0
  36. package/dist/templates.js +8 -6
  37. package/package.json +3 -45
  38. package/templates/github/deploy-web.workflow.yml +36 -2
  39. package/dist/components/DevWatchReload.astro +0 -45
  40. package/dist/components/SiteTitle.astro +0 -51
  41. package/dist/components/content/ContentStatusLegend.astro +0 -18
  42. package/dist/components/content/StatusBadge.astro +0 -11
  43. package/dist/components/docs/BookFontControls.astro +0 -180
  44. package/dist/components/docs/DesktopSidebarToggle.astro +0 -88
  45. package/dist/components/docs/DownloadBook.astro +0 -34
  46. package/dist/components/docs/Footer.astro +0 -112
  47. package/dist/components/docs/Header.astro +0 -157
  48. package/dist/components/docs/PageFrame.astro +0 -260
  49. package/dist/components/docs/PageSidebar.astro +0 -63
  50. package/dist/components/docs/PageTitle.astro +0 -39
  51. package/dist/components/docs/Sidebar.astro +0 -41
  52. package/dist/components/docs/ThemeSelect.astro +0 -5
  53. package/dist/components/forms/ContactForm.astro +0 -233
  54. package/dist/components/forms/FooterSubscribeForm.astro +0 -188
  55. package/dist/components/site/BookList.astro +0 -27
  56. package/dist/components/site/CTASection.astro +0 -24
  57. package/dist/components/site/ChronicleList.astro +0 -33
  58. package/dist/components/site/Hero.astro +0 -18
  59. package/dist/components/site/NotesList.astro +0 -29
  60. package/dist/components/site/PathCard.astro +0 -16
  61. package/dist/components/site/ProfileList.astro +0 -30
  62. package/dist/components/site/PublishedContentBody.astro +0 -5
  63. package/dist/components/site/RouteNotFound.astro +0 -25
  64. package/dist/components/site/SectionIntro.astro +0 -9
  65. package/dist/components/site/StageBanner.astro +0 -8
  66. package/dist/components/site/TrustCallout.astro +0 -9
  67. package/dist/components/starlight.js +0 -6
  68. package/dist/components/ui/data/ActionList.astro +0 -51
  69. package/dist/components/ui/data/Badge.astro +0 -19
  70. package/dist/components/ui/data/DataTable.astro +0 -51
  71. package/dist/components/ui/data/KeyValueList.astro +0 -28
  72. package/dist/components/ui/data/MetricCard.astro +0 -25
  73. package/dist/components/ui/data/MetricGrid.astro +0 -27
  74. package/dist/components/ui/data/StatusPill.astro +0 -20
  75. package/dist/components/ui/forms/Button.astro +0 -59
  76. package/dist/components/ui/forms/Field.astro +0 -39
  77. package/dist/components/ui/forms/FormActions.astro +0 -12
  78. package/dist/components/ui/forms/PasswordMeter.astro +0 -80
  79. package/dist/components/ui/forms/RadioGroup.astro +0 -55
  80. package/dist/components/ui/forms/Select.astro +0 -47
  81. package/dist/components/ui/forms/TextInput.astro +0 -58
  82. package/dist/components/ui/forms/Textarea.astro +0 -45
  83. package/dist/components/ui/layout/PageHeader.astro +0 -45
  84. package/dist/components/ui/shell/AppShell.astro +0 -130
  85. package/dist/components/ui/shell/BottomNav.astro +0 -42
  86. package/dist/components/ui/shell/ProjectHeader.astro +0 -66
  87. package/dist/components/ui/shell/PublicFooter.astro +0 -39
  88. package/dist/components/ui/shell/PublicShell.astro +0 -184
  89. package/dist/components/ui/shell/RailNav.astro +0 -42
  90. package/dist/components/ui/shell/ShellIconLink.astro +0 -30
  91. package/dist/components/ui/shell/TopBar.astro +0 -52
  92. package/dist/components/ui/surface/Card.astro +0 -46
  93. package/dist/components/ui/surface/EmptyState.astro +0 -45
  94. package/dist/components/ui/surface/Panel.astro +0 -54
  95. package/dist/components/ui/theme/ThemeMenu.astro +0 -58
  96. package/dist/components/ui/theme/ThemePreviewSwatch.astro +0 -18
  97. package/dist/components/ui/theme/ThemeScript.astro +0 -112
  98. package/dist/components/ui/theme/ThemeSelector.astro +0 -202
  99. package/dist/components/ui/types.js +0 -0
  100. package/dist/layouts/AuthoredEntryLayout.astro +0 -195
  101. package/dist/layouts/BookLayout.astro +0 -35
  102. package/dist/layouts/BridgeLayout.astro +0 -11
  103. package/dist/layouts/ContentLayout.astro +0 -24
  104. package/dist/layouts/MainLayout.astro +0 -76
  105. package/dist/layouts/NoteLayout.astro +0 -26
  106. package/dist/layouts/ProfileLayout.astro +0 -85
  107. package/dist/styles/app-shell.css +0 -626
  108. package/dist/styles/forms.css +0 -274
  109. package/dist/styles/theme.css +0 -198
  110. package/dist/styles/tokens.css +0 -65
  111. package/dist/styles/ui.css +0 -551
@@ -1,11 +0,0 @@
1
- ---
2
- import MainLayout from './MainLayout.astro';
3
-
4
- const { entry, currentPath } = Astro.props;
5
- ---
6
-
7
- <MainLayout title={entry.title} description={entry.description} currentPath={currentPath}>
8
- <div class="space-y-10">
9
- <slot />
10
- </div>
11
- </MainLayout>
@@ -1,24 +0,0 @@
1
- ---
2
- import MainLayout from './MainLayout.astro';
3
- import StatusBadge from '../components/content/StatusBadge.astro';
4
- import StageBanner from '../components/site/StageBanner.astro';
5
-
6
- const { entry, currentPath } = Astro.props;
7
- ---
8
-
9
- <MainLayout title={entry.title} description={entry.description} currentPath={currentPath}>
10
- <div class="space-y-8">
11
- <StageBanner />
12
- <section class="max-w-5xl space-y-5 border-b border-[color:var(--ts-color-border)] pb-8">
13
- <div class="flex flex-wrap items-center gap-3">
14
- <StatusBadge status={entry.status} />
15
- <p class="text-sm font-medium text-[color:var(--ts-color-text-subtle)]">Updated {entry.updated.toISOString().slice(0, 10)}</p>
16
- </div>
17
- <h1 class="max-w-4xl font-serif text-5xl font-bold tracking-tight text-[color:var(--ts-color-text)] md:text-7xl">{entry.title}</h1>
18
- <p class="max-w-4xl text-xl leading-10 text-[color:var(--ts-color-text-muted)]">{entry.summary}</p>
19
- </section>
20
- <article class="prose max-w-4xl">
21
- <slot />
22
- </article>
23
- </div>
24
- </MainLayout>
@@ -1,76 +0,0 @@
1
- ---
2
- import '../styles/global.css';
3
- import PublicShell from '../components/ui/shell/PublicShell.astro';
4
- import ShellIconLink from '../components/ui/shell/ShellIconLink.astro';
5
- import { SITE_NAV_GROUPS } from '../utils/routes';
6
- import { SITE } from '../utils/seo';
7
- import { SITE_THEME_CSS } from '../utils/site-config';
8
- import { normalizeThemePreference } from '../utils/theme.js';
9
-
10
- const { title, description, currentPath = '/' } = Astro.props;
11
- const appearance = normalizeThemePreference({
12
- scheme: SITE.theme?.defaultScheme,
13
- mode: SITE.theme?.defaultMode,
14
- });
15
- const navItems = SITE_NAV_GROUPS.flatMap((group) => group.items);
16
- ---
17
-
18
- <PublicShell
19
- title={title ? `${title} | ${SITE.name}` : SITE.name}
20
- description={description ?? SITE.description}
21
- currentPath={currentPath}
22
- appearance={appearance}
23
- brand={{
24
- name: SITE.name,
25
- tag: SITE.statement,
26
- href: '/',
27
- logoSrc: SITE.logo.src,
28
- logoAlt: SITE.logo.alt,
29
- }}
30
- navItems={navItems}
31
- navGroups={SITE_NAV_GROUPS}
32
- contentWidth="content"
33
- >
34
- <Fragment slot="head">
35
- {SITE_THEME_CSS && <style is:global>{SITE_THEME_CSS}</style>}
36
- </Fragment>
37
- <Fragment slot="actions">
38
- <ShellIconLink href="/app/" label="Manager" icon="manager" />
39
- <a
40
- href={SITE.githubRepository}
41
- target="_blank"
42
- rel="noreferrer"
43
- aria-label={`${SITE.name} GitHub repository`}
44
- title={`${SITE.name} GitHub repository`}
45
- class="ts-public-shell__icon-link"
46
- >
47
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" focusable="false">
48
- <path d="M8 0C3.58 0 0 3.67 0 8.2c0 3.63 2.29 6.7 5.47 7.78.4.08.55-.18.55-.39 0-.2-.01-.85-.01-1.54-2.01.38-2.53-.5-2.69-.95-.09-.24-.48-.95-.82-1.15-.28-.15-.68-.54-.01-.55.63-.01 1.08.59 1.23.84.72 1.24 1.87.89 2.33.68.07-.54.28-.89.5-1.09-1.78-.21-3.64-.92-3.64-4.08 0-.9.31-1.64.82-2.22-.08-.21-.36-1.06.08-2.2 0 0 .67-.22 2.2.85A7.34 7.34 0 0 1 8 4.83c.68 0 1.37.09 2.01.27 1.53-1.07 2.2-.85 2.2-.85.44 1.14.16 1.99.08 2.2.51.58.82 1.31.82 2.22 0 3.17-1.87 3.87-3.65 4.08.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.19 0 .21.15.48.55.39A8.22 8.22 0 0 0 16 8.2C16 3.67 12.42 0 8 0Z" />
49
- </svg>
50
- </a>
51
- <a
52
- href={SITE.discordLink}
53
- target="_blank"
54
- rel="noreferrer"
55
- aria-label={`${SITE.name} Discord`}
56
- title={`${SITE.name} Discord`}
57
- class="ts-public-shell__icon-link"
58
- >
59
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false">
60
- <path d="M20.317 4.369A19.791 19.791 0 0 0 15.885 3c-.191.328-.403.762-.554 1.104a18.27 18.27 0 0 0-5.314 0A11.64 11.64 0 0 0 9.463 3a19.736 19.736 0 0 0-4.433 1.369C2.227 8.617 1.468 12.759 1.848 16.845a19.9 19.9 0 0 0 5.437 2.755c.438-.6.825-1.236 1.157-1.902-.637-.241-1.246-.545-1.818-.9.152-.111.3-.229.444-.347 3.507 1.648 7.316 1.648 10.782 0 .145.118.293.236.444.347-.573.355-1.183.659-1.82.9.332.666.719 1.302 1.158 1.902a19.87 19.87 0 0 0 5.438-2.755c.446-4.737-.762-8.842-3.753-12.476ZM9.954 14.379c-1.053 0-1.918-.966-1.918-2.153 0-1.188.845-2.153 1.918-2.153 1.082 0 1.938.975 1.918 2.153 0 1.187-.846 2.153-1.918 2.153Zm4.092 0c-1.053 0-1.918-.966-1.918-2.153 0-1.188.845-2.153 1.918-2.153 1.082 0 1.938.975 1.918 2.153 0 1.187-.836 2.153-1.918 2.153Z" />
61
- </svg>
62
- </a>
63
- <a
64
- href="/contact/"
65
- aria-label={`Contact ${SITE.name}`}
66
- title={`Contact ${SITE.name}`}
67
- class="ts-public-shell__icon-link ts-public-shell__icon-link--stroke"
68
- >
69
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false">
70
- <path d="M3.75 6.75h16.5v10.5H3.75z" />
71
- <path d="m4.5 7.5 7.5 6 7.5-6" />
72
- </svg>
73
- </a>
74
- </Fragment>
75
- <slot />
76
- </PublicShell>
@@ -1,26 +0,0 @@
1
- ---
2
- import MainLayout from './MainLayout.astro';
3
- import StatusBadge from '../components/content/StatusBadge.astro';
4
-
5
- const { note } = Astro.props;
6
- ---
7
-
8
- <MainLayout title={note.title} description={note.description} currentPath="/notes/">
9
- <article class="max-w-4xl space-y-8">
10
- <div class="space-y-4 border-b border-[color:var(--ts-color-border)] pb-8">
11
- <div class="flex flex-wrap items-center gap-3">
12
- <StatusBadge status={note.status} />
13
- <p class="text-sm font-medium text-[color:var(--ts-color-text-subtle)]">{note.date.toISOString().slice(0, 10)}</p>
14
- <p class="text-sm text-[color:var(--ts-color-text-subtle)]">{note.author}</p>
15
- </div>
16
- <h1 class="max-w-4xl font-serif text-5xl font-bold tracking-tight text-[color:var(--ts-color-text)] md:text-6xl">{note.title}</h1>
17
- <p class="max-w-3xl text-xl leading-10 text-[color:var(--ts-color-text-muted)]">{note.summary}</p>
18
- {note.tags.length > 0 && (
19
- <p class="text-sm uppercase tracking-[0.14em] text-[color:var(--ts-color-accent-strong)]">{note.tags.join(' / ')}</p>
20
- )}
21
- </div>
22
- <div class="prose">
23
- <slot />
24
- </div>
25
- </article>
26
- </MainLayout>
@@ -1,85 +0,0 @@
1
- ---
2
- import MainLayout from './MainLayout.astro';
3
- import StatusBadge from '../components/content/StatusBadge.astro';
4
- import type { RuntimeReferenceEntry } from '../utils/site-content-runtime';
5
-
6
- function entryTitle(entry: RuntimeReferenceEntry) {
7
- return entry.data.title ?? entry.data.name ?? entry.id;
8
- }
9
-
10
- const {
11
- entry,
12
- currentPath,
13
- metaLabel,
14
- metaValue,
15
- relatedQuestions = [],
16
- relatedObjectives = [],
17
- } = Astro.props as {
18
- entry: {
19
- name: string;
20
- description: string;
21
- summary: string;
22
- status?: 'live' | 'in progress' | 'exploratory' | 'planned' | 'speculative';
23
- tags: string[];
24
- links: { label: string; href: string }[];
25
- };
26
- currentPath: string;
27
- metaLabel: string;
28
- metaValue: string;
29
- relatedQuestions?: RuntimeReferenceEntry[];
30
- relatedObjectives?: RuntimeReferenceEntry[];
31
- };
32
- ---
33
-
34
- <MainLayout title={entry.name} description={entry.description} currentPath={currentPath}>
35
- <article class="max-w-4xl space-y-8">
36
- <div class="space-y-4 border-b border-[color:var(--ts-color-border)] pb-8">
37
- <div class="flex flex-wrap items-center gap-3">
38
- {'status' in entry && entry.status && <StatusBadge status={entry.status} />}
39
- <p class="text-sm font-medium text-[color:var(--ts-color-text-subtle)]">{metaLabel}: {metaValue}</p>
40
- </div>
41
- <h1 class="max-w-4xl font-serif text-5xl font-bold tracking-tight text-[color:var(--ts-color-text)] md:text-6xl">{entry.name}</h1>
42
- <p class="max-w-3xl text-xl leading-10 text-[color:var(--ts-color-text-muted)]">{entry.summary}</p>
43
- {entry.tags.length > 0 && (
44
- <p class="text-sm uppercase tracking-[0.14em] text-[color:var(--ts-color-accent-strong)]">{entry.tags.join(' / ')}</p>
45
- )}
46
- </div>
47
- <div class="grid gap-6 md:grid-cols-[1.3fr_0.7fr]">
48
- <div class="prose">
49
- <slot />
50
- </div>
51
- <div class="space-y-6">
52
- {entry.links.length > 0 && (
53
- <div class="border border-[color:var(--ts-color-border)] bg-[color:var(--ts-color-surface)] p-5">
54
- <p class="text-sm font-semibold uppercase tracking-[0.14em] text-[color:var(--ts-color-info-text)]">Links</p>
55
- <ul class="mt-3 space-y-2 text-[color:var(--ts-color-text-muted)]">
56
- {entry.links.map((link) => (
57
- <li><a href={link.href} class="hover:text-[color:var(--ts-color-text)]">{link.label}</a></li>
58
- ))}
59
- </ul>
60
- </div>
61
- )}
62
- {relatedQuestions.length > 0 && (
63
- <div class="border border-[color:var(--ts-color-border)] bg-[color:var(--ts-color-surface)] p-5">
64
- <p class="text-sm font-semibold uppercase tracking-[0.14em] text-[color:var(--ts-color-info-text)]">Questions</p>
65
- <ul class="mt-3 space-y-2 text-[color:var(--ts-color-text-muted)]">
66
- {relatedQuestions.map((question) => (
67
- <li><a href={`/questions/${question.id}/`} class="hover:text-[color:var(--ts-color-text)]">{entryTitle(question)}</a></li>
68
- ))}
69
- </ul>
70
- </div>
71
- )}
72
- {relatedObjectives.length > 0 && (
73
- <div class="border border-[color:var(--ts-color-border)] bg-[color:var(--ts-color-surface)] p-5">
74
- <p class="text-sm font-semibold uppercase tracking-[0.14em] text-[color:var(--ts-color-info-text)]">Objectives</p>
75
- <ul class="mt-3 space-y-2 text-[color:var(--ts-color-text-muted)]">
76
- {relatedObjectives.map((objective) => (
77
- <li><a href={`/objectives/${objective.id}/`} class="hover:text-[color:var(--ts-color-text)]">{entryTitle(objective)}</a></li>
78
- ))}
79
- </ul>
80
- </div>
81
- )}
82
- </div>
83
- </div>
84
- </article>
85
- </MainLayout>