@treeseed/sdk 0.10.26 → 0.10.28

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 (28) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.js +8 -1
  3. package/dist/operations/services/mailpit-runtime.js +7 -4
  4. package/dist/operations/services/template-registry.js +14 -7
  5. package/dist/scripts/ensure-mailpit.js +23 -4
  6. package/dist/scripts/template-catalog.test.js +7 -7
  7. package/dist/sdk-types.d.ts +3 -1
  8. package/dist/sdk-types.js +8 -1
  9. package/dist/treeseed/template-catalog/catalog.fixture.json +489 -130
  10. package/package.json +1 -1
  11. package/dist/treeseed/template-catalog/templates/starter-basic/template/astro.config.d.ts +0 -3
  12. package/dist/treeseed/template-catalog/templates/starter-basic/template/astro.config.ts +0 -6
  13. package/dist/treeseed/template-catalog/templates/starter-basic/template/package.json +0 -35
  14. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/api/server.js +0 -4
  15. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/config.yaml +0 -65
  16. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/content/decisions/adopt-initial-proposal-loop.mdx +0 -22
  17. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/content/empty/.gitkeep +0 -1
  18. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/content/knowledge/handbook/index.mdx +0 -11
  19. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/content/pages/welcome.mdx +0 -11
  20. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/content/people/starter-steward.mdx +0 -11
  21. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/content/proposals/establish-initial-proposal-loop.mdx +0 -17
  22. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/content.config.d.ts +0 -1
  23. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/content.config.ts +0 -3
  24. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/env.yaml +0 -1
  25. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/manifest.yaml +0 -26
  26. package/dist/treeseed/template-catalog/templates/starter-basic/template/treeseed.site.yaml +0 -74
  27. package/dist/treeseed/template-catalog/templates/starter-basic/template/tsconfig.json +0 -9
  28. package/dist/treeseed/template-catalog/templates/starter-basic/template.config.json +0 -103
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@treeseed/sdk",
3
- "version": "0.10.26",
3
+ "version": "0.10.28",
4
4
  "description": "Shared Treeseed SDK for content-backed and D1-backed object models.",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
@@ -1,3 +0,0 @@
1
- import type { AstroUserConfig } from 'astro/config';
2
- declare const config: AstroUserConfig;
3
- export default config;
@@ -1,6 +0,0 @@
1
- import { createTreeseedTenantSite } from '@treeseed/core/config';
2
- import type { AstroUserConfig } from 'astro/config';
3
-
4
- const config: AstroUserConfig = createTreeseedTenantSite();
5
-
6
- export default config;
@@ -1,35 +0,0 @@
1
- {
2
- "name": "__SITE_SLUG__",
3
- "version": "0.1.0",
4
- "private": true,
5
- "type": "module",
6
- "packageManager": "npm@11.7.0",
7
- "engines": {
8
- "node": ">=22"
9
- },
10
- "scripts": {
11
- "setup": "npm install",
12
- "setup:ci": "npm ci",
13
- "config": "treeseed config",
14
- "preflight": "treeseed preflight",
15
- "dev": "treeseed dev",
16
- "capacity": "treeseed capacity",
17
- "check": "treeseed check",
18
- "build:web": "treeseed build",
19
- "build": "npm run build:web",
20
- "deploy": "treeseed release",
21
- "preview": "treeseed preview",
22
- "sync": "treeseed sync",
23
- "verify": "npm run check && npm run build"
24
- },
25
- "dependencies": {
26
- "@treeseed/cli": "__CLI_VERSION__",
27
- "@treeseed/core": "__CORE_VERSION__",
28
- "@treeseed/sdk": "__SDK_VERSION__",
29
- "yaml": "^2.8.1"
30
- },
31
- "devDependencies": {
32
- "@types/node": "^24.6.0",
33
- "typescript": "^5.9.3"
34
- }
35
- }
@@ -1,4 +0,0 @@
1
- import { createRailwayTreeseedApiServer } from '@treeseed/sdk/api';
2
-
3
- const server = await createRailwayTreeseedApiServer();
4
- console.log(`Treeseed project API listening on ${server.url}`);
@@ -1,65 +0,0 @@
1
- site:
2
- name: __SITE_NAME__
3
- statement: A Treeseed site generated from the basic starter template.
4
- siteUrl: __SITE_URL__
5
- githubRepository: __REPOSITORY_URL__
6
- discordLink: __DISCORD_URL__
7
- headerMenu:
8
- - label: Learn
9
- items:
10
- - label: Handbook
11
- href: /knowledge/handbook/
12
- - label: Proposals
13
- href: /proposals/
14
- - label: Decisions
15
- href: /decisions/
16
- - label: Build
17
- items:
18
- - label: Welcome
19
- href: /welcome/
20
- footerMenu:
21
- - label: Project
22
- items:
23
- - label: Repository
24
- href: __REPOSITORY_URL__
25
- forms:
26
- apiBaseUrl: /api/form/submit
27
- emailNotifications:
28
- contactRouting:
29
- default:
30
- - __CONTACT_EMAIL__
31
- subscribeRecipients:
32
- - __CONTACT_EMAIL__
33
- summary: __SITE_NAME__ is a Treeseed site generated from the basic starter.
34
- projectStage: Initial build
35
- projectStageDetail: Generated from the Treeseed basic starter template.
36
- models:
37
- pages:
38
- defaults:
39
- pageLayout: article
40
- stage: starter
41
- audience: []
42
- docs:
43
- defaults:
44
- tags: []
45
- notes:
46
- defaults:
47
- author: __SITE_NAME__
48
- draft: false
49
- tags: []
50
- questions:
51
- defaults:
52
- draft: false
53
- tags: []
54
- objectives:
55
- defaults:
56
- draft: false
57
- tags: []
58
- proposals:
59
- defaults:
60
- draft: false
61
- tags: []
62
- decisions:
63
- defaults:
64
- draft: false
65
- tags: []
@@ -1,22 +0,0 @@
1
- ---
2
- id: decision:adopt-initial-proposal-loop
3
- title: Adopt The Initial Proposal Loop
4
- description: Seed the starter with a decision record alongside the initial proposal.
5
- date: 2026-04-17
6
- summary: The starter demonstrates that decisions are first-class records, not hidden implementation residue.
7
- status: live
8
- decisionType: approved
9
- rationale: Teams benefit from a visible pattern for recording what was chosen and why.
10
- authority: Starter template
11
- primaryContributor: starter-steward
12
- relatedObjectives: []
13
- relatedQuestions: []
14
- relatedNotes: []
15
- relatedProposals:
16
- - establish-initial-proposal-loop
17
- relatedBooks: []
18
- implements:
19
- - starter
20
- ---
21
-
22
- This starter decision exists to make the proposal-to-decision loop visible in a freshly generated TreeSeed site.
@@ -1,11 +0,0 @@
1
- ---
2
- title: Handbook
3
- description: Starter handbook for the generated Treeseed site.
4
- tags:
5
- - handbook
6
- - starter
7
- ---
8
-
9
- `__SITE_NAME__` is connected to the Treeseed runtime through `@treeseed/core`.
10
-
11
- Use this handbook as the first docs collection entry.
@@ -1,11 +0,0 @@
1
- ---
2
- title: Welcome
3
- description: Welcome page for the generated Treeseed starter site.
4
- slug: welcome
5
- summary: A starter page proving the tenant content pipeline is wired correctly.
6
- updated: 2026-04-08
7
- ---
8
-
9
- Welcome to `__SITE_NAME__`.
10
-
11
- This site was generated from the TreeSeed basic starter.
@@ -1,11 +0,0 @@
1
- ---
2
- name: Starter Steward
3
- role: Maintainer
4
- affiliation: Starter template
5
- status: live
6
- tags:
7
- - stewardship
8
- - starter
9
- ---
10
-
11
- This placeholder profile exists so the starter can model contributor-linked content from the first commit.
@@ -1,17 +0,0 @@
1
- ---
2
- id: proposal:establish-initial-proposal-loop
3
- title: Establish The Initial Proposal Loop
4
- description: Seed the starter with a proposal so suggested changes are explicit from day one.
5
- date: 2026-04-17
6
- summary: The starter should show how a team can move from questions and objectives into a concrete proposal.
7
- status: live
8
- proposalType: strategy
9
- motivation: New sites should inherit a visible proposal-to-decision pattern instead of recreating it ad hoc.
10
- primaryContributor: starter-steward
11
- relatedObjectives: []
12
- relatedQuestions: []
13
- relatedNotes: []
14
- relatedBooks: []
15
- ---
16
-
17
- Use this starter proposal as a placeholder for the first concrete change a team wants to make in its site or operating model.
@@ -1 +0,0 @@
1
- export declare const collections: any;
@@ -1,3 +0,0 @@
1
- import { createTreeseedTenantCollections } from '@treeseed/core/content-config';
2
-
3
- export const collections = createTreeseedTenantCollections();
@@ -1,26 +0,0 @@
1
- id: __SITE_SLUG__
2
- siteConfigPath: ./src/config.yaml
3
- content:
4
- docs: ./src/content/knowledge
5
- pages: ./src/content/pages
6
- notes: ./src/content/notes
7
- questions: ./src/content/questions
8
- objectives: ./src/content/objectives
9
- proposals: ./src/content/proposals
10
- decisions: ./src/content/decisions
11
- people: ./src/content/people
12
- agents: ./src/content/agents
13
- books: ./src/content/books
14
- templates: ./src/content/templates
15
- knowledge_packs: ./src/content/knowledge-packs
16
- workdays: ./src/content/workdays
17
- features:
18
- docs: true
19
- books: false
20
- notes: true
21
- questions: true
22
- objectives: true
23
- proposals: true
24
- decisions: true
25
- agents: true
26
- forms: false
@@ -1,74 +0,0 @@
1
- name: __SITE_NAME__
2
- slug: __SITE_SLUG__
3
- siteUrl: __SITE_URL__
4
- contactEmail: __CONTACT_EMAIL__
5
- hosting:
6
- kind: hosted_project
7
- registration: optional
8
- marketBaseUrl: https://knowledge.coop
9
- teamId: __SITE_SLUG__
10
- projectId: __SITE_SLUG__
11
- cloudflare:
12
- accountId: replace-with-cloudflare-account-id
13
- workerName: __SITE_SLUG__
14
- queueName: __SITE_SLUG__-agent-work
15
- dlqName: __SITE_SLUG__-agent-work-dlq
16
- pages:
17
- projectName: __SITE_SLUG__
18
- previewProjectName: __SITE_SLUG__-staging
19
- productionBranch: main
20
- stagingBranch: staging
21
- buildOutputDir: dist
22
- r2:
23
- binding: TREESEED_CONTENT_BUCKET
24
- bucketName: __SITE_SLUG__-content
25
- manifestKeyTemplate: teams/{teamId}/published/common.json
26
- previewRootTemplate: teams/{teamId}/previews
27
- previewTtlHours: 168
28
- surfaces:
29
- web:
30
- enabled: true
31
- provider: cloudflare
32
- rootDir: .
33
- publicBaseUrl: https://__SITE_SLUG__.pages.dev
34
- localBaseUrl: http://127.0.0.1:4321
35
- api:
36
- enabled: true
37
- provider: railway
38
- rootDir: .
39
- localBaseUrl: http://127.0.0.1:3000
40
- services:
41
- api:
42
- enabled: true
43
- provider: railway
44
- rootDir: .
45
- publicBaseUrl: https://__SITE_SLUG__-api.up.railway.app
46
- railway:
47
- serviceName: __SITE_SLUG__-api
48
- buildCommand: npm run build:api
49
- startCommand: node ./src/api/server.js
50
- healthcheckTimeoutSeconds: 120
51
- environments:
52
- local:
53
- baseUrl: http://127.0.0.1:3000
54
- plugins:
55
- - package: '@treeseed/core/plugin-default'
56
- providers:
57
- forms: store_only
58
- agents:
59
- execution: codex
60
- mutation: local_branch
61
- repository: git
62
- verification: local
63
- notification: sdk_message
64
- research: project_graph
65
- deploy: cloudflare
66
- content:
67
- runtime: team_scoped_r2_overlay
68
- publish: team_scoped_r2_overlay
69
- docs: default
70
- site: default
71
- smtp:
72
- enabled: false
73
- turnstile:
74
- enabled: false
@@ -1,9 +0,0 @@
1
- {
2
- "extends": "@treeseed/core/tsconfigs/strict",
3
- "compilerOptions": {
4
- "module": "ESNext",
5
- "moduleResolution": "Bundler",
6
- "types": ["node"]
7
- },
8
- "include": ["src/**/*", "astro.config.ts"]
9
- }
@@ -1,103 +0,0 @@
1
- {
2
- "schemaVersion": 1,
3
- "id": "starter-basic",
4
- "displayName": "TreeSeed Basic",
5
- "description": "Opinionated first-party TreeSeed starter for documentation-first teams.",
6
- "category": "starter",
7
- "tags": [
8
- "starter",
9
- "astro",
10
- "cloudflare",
11
- "docs"
12
- ],
13
- "templateVersion": "1.0.0",
14
- "templateApiVersion": 1,
15
- "minCliVersion": "0.1.1",
16
- "minCoreVersion": "0.1.2",
17
- "variables": [
18
- {
19
- "name": "Site name",
20
- "token": "__SITE_NAME__",
21
- "deriveFrom": "name",
22
- "required": true
23
- },
24
- {
25
- "name": "Site slug",
26
- "token": "__SITE_SLUG__",
27
- "deriveFrom": "slug",
28
- "required": true
29
- },
30
- {
31
- "name": "Site URL",
32
- "token": "__SITE_URL__",
33
- "deriveFrom": "siteUrl",
34
- "default": "https://example.com",
35
- "required": true
36
- },
37
- {
38
- "name": "Contact email",
39
- "token": "__CONTACT_EMAIL__",
40
- "deriveFrom": "contactEmail",
41
- "default": "hello@example.com",
42
- "required": true
43
- },
44
- {
45
- "name": "Repository URL",
46
- "token": "__REPOSITORY_URL__",
47
- "deriveFrom": "repositoryUrl",
48
- "default": "https://github.com/example/site"
49
- },
50
- {
51
- "name": "Discord URL",
52
- "token": "__DISCORD_URL__",
53
- "deriveFrom": "discordUrl",
54
- "default": "https://discord.gg/example"
55
- },
56
- {
57
- "name": "CLI version",
58
- "token": "__CLI_VERSION__",
59
- "deriveFrom": "cliVersion",
60
- "required": true
61
- },
62
- {
63
- "name": "Core version",
64
- "token": "__CORE_VERSION__",
65
- "deriveFrom": "coreVersion",
66
- "required": true
67
- },
68
- {
69
- "name": "Agent version",
70
- "token": "__AGENT_VERSION__",
71
- "deriveFrom": "agentVersion",
72
- "required": true
73
- },
74
- {
75
- "name": "SDK version",
76
- "token": "__SDK_VERSION__",
77
- "deriveFrom": "sdkVersion",
78
- "required": true
79
- }
80
- ],
81
- "managedSurface": {
82
- "coreManaged": [
83
- "package.json",
84
- "astro.config.ts",
85
- "tsconfig.json",
86
- "treeseed.site.yaml",
87
- "src/api/server.js",
88
- "src/content.config.ts",
89
- "src/config.yaml",
90
- "src/manifest.yaml",
91
- "src/env.yaml"
92
- ],
93
- "validatedOnly": [
94
- "treeseed.site.yaml",
95
- "src/config.yaml",
96
- "src/manifest.yaml",
97
- "src/env.yaml"
98
- ]
99
- },
100
- "testing": {
101
- "buildCommand": "npm run build"
102
- }
103
- }