@treeseed/sdk 0.4.8 → 0.4.10
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 +1 -1
- package/dist/control-plane-client.d.ts +45 -0
- package/dist/control-plane-client.js +229 -0
- package/dist/control-plane.d.ts +94 -0
- package/dist/control-plane.js +125 -0
- package/dist/d1-store.d.ts +56 -1
- package/dist/d1-store.js +132 -0
- package/dist/dispatch.d.ts +4 -0
- package/dist/dispatch.js +180 -0
- package/dist/index.d.ts +14 -2
- package/dist/index.js +94 -4
- package/dist/operations/services/config-runtime.d.ts +10 -0
- package/dist/operations/services/config-runtime.js +62 -4
- package/dist/operations/services/deploy.d.ts +95 -3
- package/dist/operations/services/deploy.js +351 -10
- package/dist/operations/services/github-automation.d.ts +37 -1
- package/dist/operations/services/github-automation.js +71 -14
- package/dist/operations/services/project-platform.d.ts +835 -0
- package/dist/operations/services/project-platform.js +782 -0
- package/dist/operations/services/railway-deploy.d.ts +113 -18
- package/dist/operations/services/railway-deploy.js +357 -8
- package/dist/operations/services/runtime-tools.d.ts +25 -1
- package/dist/operations/services/runtime-tools.js +66 -5
- package/dist/operations/services/template-registry.d.ts +1 -1
- package/dist/operations/services/template-registry.js +17 -3
- package/dist/platform/books-data.d.ts +3 -4
- package/dist/platform/books-data.js +30 -4
- package/dist/platform/contracts.d.ts +56 -4
- package/dist/platform/deploy-config.js +109 -4
- package/dist/platform/deploy-runtime.d.ts +2 -0
- package/dist/platform/deploy-runtime.js +9 -1
- package/dist/platform/env.yaml +677 -0
- package/dist/platform/environment.js +57 -2
- package/dist/platform/plugin.d.ts +8 -0
- package/dist/platform/plugins/constants.d.ts +2 -0
- package/dist/platform/plugins/constants.js +2 -0
- package/dist/platform/plugins/runtime.d.ts +2 -0
- package/dist/platform/plugins/runtime.js +9 -1
- package/dist/platform/plugins.d.ts +1 -1
- package/dist/platform/plugins.js +4 -0
- package/dist/platform/published-content-pipeline.d.ts +84 -0
- package/dist/platform/published-content-pipeline.js +543 -0
- package/dist/platform/published-content.d.ts +223 -0
- package/dist/platform/published-content.js +588 -0
- package/dist/platform/tenant/runtime-config.d.ts +1 -1
- package/dist/platform/tenant/runtime-config.js +34 -1
- package/dist/platform/tenant-config.d.ts +2 -1
- package/dist/platform/tenant-config.js +17 -1
- package/dist/platform/utils/site-config-schema.js +104 -0
- package/dist/plugin-default.d.ts +2 -0
- package/dist/plugin-default.js +2 -0
- package/dist/remote.d.ts +65 -9
- package/dist/remote.js +104 -28
- package/dist/scripts/check-build-warnings.js +50 -0
- package/dist/scripts/config-treeseed.js +7 -0
- package/dist/scripts/tenant-workflow-action.js +71 -0
- package/dist/sdk-dispatch.d.ts +12 -0
- package/dist/sdk-dispatch.js +142 -0
- package/dist/sdk-types.d.ts +579 -7
- package/dist/sdk-types.js +53 -1
- package/dist/sdk.d.ts +17 -1
- package/dist/sdk.js +109 -0
- package/dist/stores/operational-store.d.ts +22 -2
- package/dist/stores/operational-store.js +235 -0
- package/dist/template-catalog.js +8 -1
- package/dist/treeseed/template-catalog/templates/starter-basic/template/treeseed.site.yaml +20 -0
- package/dist/types/cloudflare.d.ts +23 -0
- package/dist/workflow/operations.d.ts +12 -3
- package/dist/workflow/policy.d.ts +1 -1
- package/dist/workflow-state.js +2 -1
- package/package.json +7 -2
- package/templates/github/deploy.workflow.yml +442 -0
- package/templates/github/hosted-project.workflow.yml +77 -0
package/dist/platform/env.yaml
CHANGED
|
@@ -124,6 +124,683 @@ entries:
|
|
|
124
124
|
- machine-config
|
|
125
125
|
- process-env
|
|
126
126
|
- treeseed.site.yaml
|
|
127
|
+
TREESEED_CLOUDFLARE_PAGES_PROJECT_NAME:
|
|
128
|
+
label: Cloudflare Pages project name
|
|
129
|
+
group: cloudflare
|
|
130
|
+
description: Production Pages project used for the Treeseed web deployment.
|
|
131
|
+
howToGet: Treeseed can default this from the site slug. Override it if the Cloudflare Pages project should use a different name.
|
|
132
|
+
sensitivity: plain
|
|
133
|
+
targets:
|
|
134
|
+
- local-file
|
|
135
|
+
- github-variable
|
|
136
|
+
scopes:
|
|
137
|
+
- staging
|
|
138
|
+
- prod
|
|
139
|
+
storage: shared
|
|
140
|
+
requirement: required
|
|
141
|
+
purposes:
|
|
142
|
+
- deploy
|
|
143
|
+
- config
|
|
144
|
+
validation:
|
|
145
|
+
kind: nonempty
|
|
146
|
+
sourcePriority:
|
|
147
|
+
- machine-config
|
|
148
|
+
- process-env
|
|
149
|
+
- treeseed.site.yaml
|
|
150
|
+
defaultValueRef: pagesProjectNameDefault
|
|
151
|
+
TREESEED_CLOUDFLARE_PAGES_PREVIEW_PROJECT_NAME:
|
|
152
|
+
label: Cloudflare staging Pages project
|
|
153
|
+
group: cloudflare
|
|
154
|
+
description: Staging Pages project used for non-production Treeseed web deployments.
|
|
155
|
+
howToGet: Treeseed can default this from the production Pages project name with a -staging suffix.
|
|
156
|
+
sensitivity: plain
|
|
157
|
+
targets:
|
|
158
|
+
- local-file
|
|
159
|
+
- github-variable
|
|
160
|
+
scopes:
|
|
161
|
+
- staging
|
|
162
|
+
- prod
|
|
163
|
+
storage: shared
|
|
164
|
+
requirement: required
|
|
165
|
+
purposes:
|
|
166
|
+
- deploy
|
|
167
|
+
- config
|
|
168
|
+
validation:
|
|
169
|
+
kind: nonempty
|
|
170
|
+
sourcePriority:
|
|
171
|
+
- machine-config
|
|
172
|
+
- process-env
|
|
173
|
+
- treeseed.site.yaml
|
|
174
|
+
defaultValueRef: pagesPreviewProjectNameDefault
|
|
175
|
+
TREESEED_CONTENT_BUCKET_NAME:
|
|
176
|
+
label: Cloudflare R2 content bucket
|
|
177
|
+
group: cloudflare
|
|
178
|
+
description: Shared R2 bucket name that stores team-scoped published content, artifacts, and editorial overlays.
|
|
179
|
+
howToGet: Treeseed can default this from the site slug with a -content suffix. Override it if the shared bucket should use a different name.
|
|
180
|
+
sensitivity: plain
|
|
181
|
+
targets:
|
|
182
|
+
- local-file
|
|
183
|
+
- github-variable
|
|
184
|
+
scopes:
|
|
185
|
+
- staging
|
|
186
|
+
- prod
|
|
187
|
+
storage: shared
|
|
188
|
+
requirement: required
|
|
189
|
+
purposes:
|
|
190
|
+
- deploy
|
|
191
|
+
- config
|
|
192
|
+
validation:
|
|
193
|
+
kind: nonempty
|
|
194
|
+
sourcePriority:
|
|
195
|
+
- machine-config
|
|
196
|
+
- process-env
|
|
197
|
+
- treeseed.site.yaml
|
|
198
|
+
defaultValueRef: contentBucketNameDefault
|
|
199
|
+
TREESEED_CONTENT_BUCKET_BINDING:
|
|
200
|
+
label: Cloudflare R2 binding name
|
|
201
|
+
group: cloudflare
|
|
202
|
+
description: Worker binding name used to mount the shared Treeseed content bucket.
|
|
203
|
+
howToGet: Treeseed defaults this to TREESEED_CONTENT_BUCKET unless you need a different binding name.
|
|
204
|
+
sensitivity: plain
|
|
205
|
+
targets:
|
|
206
|
+
- local-file
|
|
207
|
+
- github-variable
|
|
208
|
+
scopes:
|
|
209
|
+
- staging
|
|
210
|
+
- prod
|
|
211
|
+
storage: shared
|
|
212
|
+
requirement: required
|
|
213
|
+
purposes:
|
|
214
|
+
- deploy
|
|
215
|
+
- config
|
|
216
|
+
validation:
|
|
217
|
+
kind: nonempty
|
|
218
|
+
sourcePriority:
|
|
219
|
+
- machine-config
|
|
220
|
+
- process-env
|
|
221
|
+
- treeseed.site.yaml
|
|
222
|
+
defaultValueRef: contentBucketBindingDefault
|
|
223
|
+
TREESEED_EDITORIAL_PREVIEW_SECRET:
|
|
224
|
+
label: Editorial preview signing secret
|
|
225
|
+
group: cloudflare
|
|
226
|
+
description: Shared HMAC secret used to sign and verify temporary editorial preview links and cookies.
|
|
227
|
+
howToGet: Treeseed can generate a strong random secret for you. Reuse the same value across hosted environments so preview links remain valid during staging-to-production promotion.
|
|
228
|
+
sensitivity: secret
|
|
229
|
+
targets:
|
|
230
|
+
- local-file
|
|
231
|
+
- github-secret
|
|
232
|
+
- cloudflare-secret
|
|
233
|
+
scopes:
|
|
234
|
+
- staging
|
|
235
|
+
- prod
|
|
236
|
+
storage: shared
|
|
237
|
+
requirement: required
|
|
238
|
+
purposes:
|
|
239
|
+
- deploy
|
|
240
|
+
- config
|
|
241
|
+
validation:
|
|
242
|
+
kind: nonempty
|
|
243
|
+
sourcePriority:
|
|
244
|
+
- machine-config
|
|
245
|
+
- process-env
|
|
246
|
+
defaultValueRef: generatedSecret
|
|
247
|
+
TREESEED_HOSTING_KIND:
|
|
248
|
+
label: Treeseed hosting kind
|
|
249
|
+
group: hosting
|
|
250
|
+
description: Declares whether this repository is the central market control plane, a Treeseed-hosted project platform, or a self-hosted project platform.
|
|
251
|
+
howToGet: Treeseed can derive this from the hosting block in treeseed.site.yaml. Override it only when the runtime environment must force a different deployment profile.
|
|
252
|
+
sensitivity: plain
|
|
253
|
+
targets:
|
|
254
|
+
- local-file
|
|
255
|
+
- github-variable
|
|
256
|
+
- railway-var
|
|
257
|
+
- config-file
|
|
258
|
+
scopes:
|
|
259
|
+
- local
|
|
260
|
+
- staging
|
|
261
|
+
- prod
|
|
262
|
+
storage: shared
|
|
263
|
+
requirement: required
|
|
264
|
+
purposes:
|
|
265
|
+
- deploy
|
|
266
|
+
- config
|
|
267
|
+
validation:
|
|
268
|
+
kind: enum
|
|
269
|
+
values:
|
|
270
|
+
- market_control_plane
|
|
271
|
+
- hosted_project
|
|
272
|
+
- self_hosted_project
|
|
273
|
+
sourcePriority:
|
|
274
|
+
- machine-config
|
|
275
|
+
- process-env
|
|
276
|
+
- treeseed.site.yaml
|
|
277
|
+
defaultValueRef: hostingKindDefault
|
|
278
|
+
TREESEED_HOSTING_REGISTRATION:
|
|
279
|
+
label: Treeseed hosting registration mode
|
|
280
|
+
group: hosting
|
|
281
|
+
description: Controls whether a self-hosted project should register itself with the market control plane or remain completely standalone.
|
|
282
|
+
howToGet: Treeseed can derive this from the hosting block in treeseed.site.yaml.
|
|
283
|
+
sensitivity: plain
|
|
284
|
+
targets:
|
|
285
|
+
- local-file
|
|
286
|
+
- github-variable
|
|
287
|
+
- railway-var
|
|
288
|
+
- config-file
|
|
289
|
+
scopes:
|
|
290
|
+
- local
|
|
291
|
+
- staging
|
|
292
|
+
- prod
|
|
293
|
+
storage: shared
|
|
294
|
+
requirement: required
|
|
295
|
+
purposes:
|
|
296
|
+
- deploy
|
|
297
|
+
- config
|
|
298
|
+
validation:
|
|
299
|
+
kind: enum
|
|
300
|
+
values:
|
|
301
|
+
- optional
|
|
302
|
+
- none
|
|
303
|
+
sourcePriority:
|
|
304
|
+
- machine-config
|
|
305
|
+
- process-env
|
|
306
|
+
- treeseed.site.yaml
|
|
307
|
+
defaultValueRef: hostingRegistrationDefault
|
|
308
|
+
TREESEED_MARKET_API_BASE_URL:
|
|
309
|
+
label: Treeseed market API base URL
|
|
310
|
+
group: hosting
|
|
311
|
+
description: Base URL for the market control-plane API used by hosted and optionally registered self-hosted project platforms.
|
|
312
|
+
howToGet: Use the hosted market API URL if Treeseed manages the project for you. Self-hosted deployments should only set this when registration with the market control plane is enabled.
|
|
313
|
+
sensitivity: plain
|
|
314
|
+
targets:
|
|
315
|
+
- local-file
|
|
316
|
+
- github-variable
|
|
317
|
+
- railway-var
|
|
318
|
+
scopes:
|
|
319
|
+
- local
|
|
320
|
+
- staging
|
|
321
|
+
- prod
|
|
322
|
+
storage: shared
|
|
323
|
+
requirement: conditional
|
|
324
|
+
purposes:
|
|
325
|
+
- dev
|
|
326
|
+
- deploy
|
|
327
|
+
- config
|
|
328
|
+
validation:
|
|
329
|
+
kind: url
|
|
330
|
+
sourcePriority:
|
|
331
|
+
- machine-config
|
|
332
|
+
- process-env
|
|
333
|
+
- treeseed.site.yaml
|
|
334
|
+
relevanceRef: projectRegistrationEnabled
|
|
335
|
+
requiredWhenRef: projectRegistrationEnabled
|
|
336
|
+
defaultValueRef: marketBaseUrlDefault
|
|
337
|
+
TREESEED_HOSTING_TEAM_ID:
|
|
338
|
+
label: Hosted team ID
|
|
339
|
+
group: hosting
|
|
340
|
+
description: Team identifier used by hosted or registered project platforms when they publish infra metadata, register agent pools, or resolve team-scoped content.
|
|
341
|
+
howToGet: Treeseed can default this from the hosting.teamId value in treeseed.site.yaml or fall back to the site slug.
|
|
342
|
+
sensitivity: plain
|
|
343
|
+
targets:
|
|
344
|
+
- local-file
|
|
345
|
+
- github-variable
|
|
346
|
+
- railway-var
|
|
347
|
+
scopes:
|
|
348
|
+
- local
|
|
349
|
+
- staging
|
|
350
|
+
- prod
|
|
351
|
+
storage: shared
|
|
352
|
+
requirement: conditional
|
|
353
|
+
purposes:
|
|
354
|
+
- dev
|
|
355
|
+
- deploy
|
|
356
|
+
- config
|
|
357
|
+
validation:
|
|
358
|
+
kind: nonempty
|
|
359
|
+
sourcePriority:
|
|
360
|
+
- machine-config
|
|
361
|
+
- process-env
|
|
362
|
+
- treeseed.site.yaml
|
|
363
|
+
relevanceRef: projectRegistrationEnabled
|
|
364
|
+
requiredWhenRef: projectRegistrationEnabled
|
|
365
|
+
defaultValueRef: hostingTeamIdDefault
|
|
366
|
+
TREESEED_PROJECT_ID:
|
|
367
|
+
label: Hosted project ID
|
|
368
|
+
group: hosting
|
|
369
|
+
description: Stable project identifier used by hosted or registered self-hosted project platforms for dispatch, deploy reporting, and agent-pool registration.
|
|
370
|
+
howToGet: Treeseed can default this from hosting.projectId in treeseed.site.yaml or fall back to the site slug.
|
|
371
|
+
sensitivity: plain
|
|
372
|
+
targets:
|
|
373
|
+
- local-file
|
|
374
|
+
- github-variable
|
|
375
|
+
- railway-var
|
|
376
|
+
scopes:
|
|
377
|
+
- local
|
|
378
|
+
- staging
|
|
379
|
+
- prod
|
|
380
|
+
storage: shared
|
|
381
|
+
requirement: conditional
|
|
382
|
+
purposes:
|
|
383
|
+
- dev
|
|
384
|
+
- deploy
|
|
385
|
+
- config
|
|
386
|
+
validation:
|
|
387
|
+
kind: nonempty
|
|
388
|
+
sourcePriority:
|
|
389
|
+
- machine-config
|
|
390
|
+
- process-env
|
|
391
|
+
- treeseed.site.yaml
|
|
392
|
+
relevanceRef: projectRegistrationEnabled
|
|
393
|
+
requiredWhenRef: projectRegistrationEnabled
|
|
394
|
+
defaultValueRef: hostingProjectIdDefault
|
|
395
|
+
TREESEED_PROJECT_RUNNER_TOKEN:
|
|
396
|
+
label: Project runner registration token
|
|
397
|
+
group: hosting
|
|
398
|
+
description: Shared bearer token used by manager, worker, and agents services to authenticate against the market control plane for remote jobs and agent-pool registration.
|
|
399
|
+
howToGet: Generate or rotate this token from the market control plane after connecting a project environment.
|
|
400
|
+
sensitivity: secret
|
|
401
|
+
targets:
|
|
402
|
+
- local-file
|
|
403
|
+
- github-secret
|
|
404
|
+
- railway-secret
|
|
405
|
+
scopes:
|
|
406
|
+
- local
|
|
407
|
+
- staging
|
|
408
|
+
- prod
|
|
409
|
+
storage: scoped
|
|
410
|
+
requirement: conditional
|
|
411
|
+
purposes:
|
|
412
|
+
- dev
|
|
413
|
+
- deploy
|
|
414
|
+
- config
|
|
415
|
+
validation:
|
|
416
|
+
kind: nonempty
|
|
417
|
+
sourcePriority:
|
|
418
|
+
- machine-config
|
|
419
|
+
- process-env
|
|
420
|
+
relevanceRef: projectRegistrationEnabled
|
|
421
|
+
TREESEED_AGENT_POOL_MIN_WORKERS:
|
|
422
|
+
label: Agent pool minimum workers
|
|
423
|
+
group: hosting
|
|
424
|
+
description: Lower autoscaling bound for the Railway worker service for one project environment.
|
|
425
|
+
howToGet: Set this to 0 for scale-to-zero by default unless the project requires warm workers.
|
|
426
|
+
sensitivity: plain
|
|
427
|
+
targets:
|
|
428
|
+
- local-file
|
|
429
|
+
- github-variable
|
|
430
|
+
- railway-var
|
|
431
|
+
scopes:
|
|
432
|
+
- local
|
|
433
|
+
- staging
|
|
434
|
+
- prod
|
|
435
|
+
storage: scoped
|
|
436
|
+
requirement: conditional
|
|
437
|
+
purposes:
|
|
438
|
+
- dev
|
|
439
|
+
- deploy
|
|
440
|
+
- config
|
|
441
|
+
validation:
|
|
442
|
+
kind: number
|
|
443
|
+
sourcePriority:
|
|
444
|
+
- machine-config
|
|
445
|
+
- process-env
|
|
446
|
+
relevanceRef: railwayManagedEnabled
|
|
447
|
+
TREESEED_AGENT_POOL_MAX_WORKERS:
|
|
448
|
+
label: Agent pool maximum workers
|
|
449
|
+
group: hosting
|
|
450
|
+
description: Upper autoscaling bound for the Railway worker service for one project environment.
|
|
451
|
+
howToGet: Choose a value that reflects your budget and expected concurrency ceiling.
|
|
452
|
+
sensitivity: plain
|
|
453
|
+
targets:
|
|
454
|
+
- local-file
|
|
455
|
+
- github-variable
|
|
456
|
+
- railway-var
|
|
457
|
+
scopes:
|
|
458
|
+
- local
|
|
459
|
+
- staging
|
|
460
|
+
- prod
|
|
461
|
+
storage: scoped
|
|
462
|
+
requirement: conditional
|
|
463
|
+
purposes:
|
|
464
|
+
- dev
|
|
465
|
+
- deploy
|
|
466
|
+
- config
|
|
467
|
+
validation:
|
|
468
|
+
kind: number
|
|
469
|
+
sourcePriority:
|
|
470
|
+
- machine-config
|
|
471
|
+
- process-env
|
|
472
|
+
relevanceRef: railwayManagedEnabled
|
|
473
|
+
TREESEED_AGENT_POOL_TARGET_QUEUE_DEPTH:
|
|
474
|
+
label: Agent pool target queue depth
|
|
475
|
+
group: hosting
|
|
476
|
+
description: Desired queue depth per worker instance that the manager uses when computing worker scale.
|
|
477
|
+
howToGet: Start with 1 for conservative scaling, then raise it only after observing stable worker latency.
|
|
478
|
+
sensitivity: plain
|
|
479
|
+
targets:
|
|
480
|
+
- local-file
|
|
481
|
+
- github-variable
|
|
482
|
+
- railway-var
|
|
483
|
+
scopes:
|
|
484
|
+
- local
|
|
485
|
+
- staging
|
|
486
|
+
- prod
|
|
487
|
+
storage: scoped
|
|
488
|
+
requirement: conditional
|
|
489
|
+
purposes:
|
|
490
|
+
- dev
|
|
491
|
+
- deploy
|
|
492
|
+
- config
|
|
493
|
+
validation:
|
|
494
|
+
kind: number
|
|
495
|
+
sourcePriority:
|
|
496
|
+
- machine-config
|
|
497
|
+
- process-env
|
|
498
|
+
relevanceRef: railwayManagedEnabled
|
|
499
|
+
TREESEED_AGENT_POOL_COOLDOWN_SECONDS:
|
|
500
|
+
label: Agent pool cooldown seconds
|
|
501
|
+
group: hosting
|
|
502
|
+
description: Cooldown window the manager uses before scaling the worker pool down after queue activity drops.
|
|
503
|
+
howToGet: Start with 60 seconds to prevent worker thrash in lightly bursty environments.
|
|
504
|
+
sensitivity: plain
|
|
505
|
+
targets:
|
|
506
|
+
- local-file
|
|
507
|
+
- github-variable
|
|
508
|
+
- railway-var
|
|
509
|
+
scopes:
|
|
510
|
+
- local
|
|
511
|
+
- staging
|
|
512
|
+
- prod
|
|
513
|
+
storage: scoped
|
|
514
|
+
requirement: conditional
|
|
515
|
+
purposes:
|
|
516
|
+
- dev
|
|
517
|
+
- deploy
|
|
518
|
+
- config
|
|
519
|
+
validation:
|
|
520
|
+
kind: number
|
|
521
|
+
sourcePriority:
|
|
522
|
+
- machine-config
|
|
523
|
+
- process-env
|
|
524
|
+
relevanceRef: railwayManagedEnabled
|
|
525
|
+
TREESEED_WORKDAY_TIMEZONE:
|
|
526
|
+
label: Workday timezone
|
|
527
|
+
group: hosting
|
|
528
|
+
description: IANA timezone used when evaluating active work windows for the manager.
|
|
529
|
+
howToGet: Use the project team's operating timezone, such as America/New_York.
|
|
530
|
+
sensitivity: plain
|
|
531
|
+
targets:
|
|
532
|
+
- local-file
|
|
533
|
+
- github-variable
|
|
534
|
+
- railway-var
|
|
535
|
+
scopes:
|
|
536
|
+
- local
|
|
537
|
+
- staging
|
|
538
|
+
- prod
|
|
539
|
+
storage: scoped
|
|
540
|
+
requirement: optional
|
|
541
|
+
purposes:
|
|
542
|
+
- dev
|
|
543
|
+
- deploy
|
|
544
|
+
- config
|
|
545
|
+
validation:
|
|
546
|
+
kind: nonempty
|
|
547
|
+
sourcePriority:
|
|
548
|
+
- machine-config
|
|
549
|
+
- process-env
|
|
550
|
+
TREESEED_WORKDAY_WINDOWS_JSON:
|
|
551
|
+
label: Workday schedule JSON
|
|
552
|
+
group: hosting
|
|
553
|
+
description: JSON array of recurring work windows used by the manager to decide when to open or close a workday.
|
|
554
|
+
howToGet: Provide a JSON value like [{"days":[1,2,3,4,5],"startTime":"09:00","endTime":"17:00"}].
|
|
555
|
+
sensitivity: plain
|
|
556
|
+
targets:
|
|
557
|
+
- local-file
|
|
558
|
+
- github-variable
|
|
559
|
+
- railway-var
|
|
560
|
+
scopes:
|
|
561
|
+
- local
|
|
562
|
+
- staging
|
|
563
|
+
- prod
|
|
564
|
+
storage: scoped
|
|
565
|
+
requirement: optional
|
|
566
|
+
purposes:
|
|
567
|
+
- dev
|
|
568
|
+
- deploy
|
|
569
|
+
- config
|
|
570
|
+
validation:
|
|
571
|
+
kind: nonempty
|
|
572
|
+
sourcePriority:
|
|
573
|
+
- machine-config
|
|
574
|
+
- process-env
|
|
575
|
+
TREESEED_WORKDAY_TASK_CREDIT_BUDGET:
|
|
576
|
+
label: Daily task-credit budget
|
|
577
|
+
group: hosting
|
|
578
|
+
description: Maximum task credits the manager may allocate during one workday before it stops seeding new work.
|
|
579
|
+
howToGet: Choose the daily throughput ceiling that matches the team's Copilot and infrastructure budget.
|
|
580
|
+
sensitivity: plain
|
|
581
|
+
targets:
|
|
582
|
+
- local-file
|
|
583
|
+
- github-variable
|
|
584
|
+
- railway-var
|
|
585
|
+
scopes:
|
|
586
|
+
- local
|
|
587
|
+
- staging
|
|
588
|
+
- prod
|
|
589
|
+
storage: scoped
|
|
590
|
+
requirement: optional
|
|
591
|
+
purposes:
|
|
592
|
+
- dev
|
|
593
|
+
- deploy
|
|
594
|
+
- config
|
|
595
|
+
validation:
|
|
596
|
+
kind: number
|
|
597
|
+
sourcePriority:
|
|
598
|
+
- machine-config
|
|
599
|
+
- process-env
|
|
600
|
+
TREESEED_MANAGER_MAX_QUEUED_TASKS:
|
|
601
|
+
label: Manager max queued tasks
|
|
602
|
+
group: hosting
|
|
603
|
+
description: Upper bound on how many runnable tasks the manager will keep queued at one time.
|
|
604
|
+
howToGet: Start small so queue top-ups stay budget-aware and incremental.
|
|
605
|
+
sensitivity: plain
|
|
606
|
+
targets:
|
|
607
|
+
- local-file
|
|
608
|
+
- github-variable
|
|
609
|
+
- railway-var
|
|
610
|
+
scopes:
|
|
611
|
+
- local
|
|
612
|
+
- staging
|
|
613
|
+
- prod
|
|
614
|
+
storage: scoped
|
|
615
|
+
requirement: optional
|
|
616
|
+
purposes:
|
|
617
|
+
- dev
|
|
618
|
+
- deploy
|
|
619
|
+
- config
|
|
620
|
+
validation:
|
|
621
|
+
kind: number
|
|
622
|
+
sourcePriority:
|
|
623
|
+
- machine-config
|
|
624
|
+
- process-env
|
|
625
|
+
TREESEED_MANAGER_MAX_QUEUED_CREDITS:
|
|
626
|
+
label: Manager max queued credits
|
|
627
|
+
group: hosting
|
|
628
|
+
description: Credit ceiling for runnable queued work so the manager never seeds the entire day’s budget at once.
|
|
629
|
+
howToGet: Set this lower than or equal to the daily task-credit budget.
|
|
630
|
+
sensitivity: plain
|
|
631
|
+
targets:
|
|
632
|
+
- local-file
|
|
633
|
+
- github-variable
|
|
634
|
+
- railway-var
|
|
635
|
+
scopes:
|
|
636
|
+
- local
|
|
637
|
+
- staging
|
|
638
|
+
- prod
|
|
639
|
+
storage: scoped
|
|
640
|
+
requirement: optional
|
|
641
|
+
purposes:
|
|
642
|
+
- dev
|
|
643
|
+
- deploy
|
|
644
|
+
- config
|
|
645
|
+
validation:
|
|
646
|
+
kind: number
|
|
647
|
+
sourcePriority:
|
|
648
|
+
- machine-config
|
|
649
|
+
- process-env
|
|
650
|
+
TREESEED_MANAGER_PRIORITY_MODELS:
|
|
651
|
+
label: Manager priority models
|
|
652
|
+
group: hosting
|
|
653
|
+
description: Comma-separated content models the manager should evaluate when building priority snapshots.
|
|
654
|
+
howToGet: Leave unset to use the default objective/question/note/page/book/knowledge set.
|
|
655
|
+
sensitivity: plain
|
|
656
|
+
targets:
|
|
657
|
+
- local-file
|
|
658
|
+
- github-variable
|
|
659
|
+
- railway-var
|
|
660
|
+
scopes:
|
|
661
|
+
- local
|
|
662
|
+
- staging
|
|
663
|
+
- prod
|
|
664
|
+
storage: scoped
|
|
665
|
+
requirement: optional
|
|
666
|
+
purposes:
|
|
667
|
+
- dev
|
|
668
|
+
- deploy
|
|
669
|
+
- config
|
|
670
|
+
validation:
|
|
671
|
+
kind: nonempty
|
|
672
|
+
sourcePriority:
|
|
673
|
+
- machine-config
|
|
674
|
+
- process-env
|
|
675
|
+
TREESEED_TASK_CREDIT_WEIGHTS_JSON:
|
|
676
|
+
label: Task credit weights JSON
|
|
677
|
+
group: hosting
|
|
678
|
+
description: JSON array of task-type or model-specific credit weights used when estimating daily budget consumption.
|
|
679
|
+
howToGet: Provide a JSON value such as [{"type":"question","credits":3}].
|
|
680
|
+
sensitivity: plain
|
|
681
|
+
targets:
|
|
682
|
+
- local-file
|
|
683
|
+
- github-variable
|
|
684
|
+
- railway-var
|
|
685
|
+
scopes:
|
|
686
|
+
- local
|
|
687
|
+
- staging
|
|
688
|
+
- prod
|
|
689
|
+
storage: scoped
|
|
690
|
+
requirement: optional
|
|
691
|
+
purposes:
|
|
692
|
+
- dev
|
|
693
|
+
- deploy
|
|
694
|
+
- config
|
|
695
|
+
validation:
|
|
696
|
+
kind: nonempty
|
|
697
|
+
sourcePriority:
|
|
698
|
+
- machine-config
|
|
699
|
+
- process-env
|
|
700
|
+
TREESEED_WORKER_POOL_SCALER:
|
|
701
|
+
label: Worker pool scaler kind
|
|
702
|
+
group: hosting
|
|
703
|
+
description: Selects the runtime worker scaler adapter. Hosted Railway projects should normally use railway.
|
|
704
|
+
howToGet: Set this to railway for hosted projects or noop/manual for self-hosted environments without automatic scale control.
|
|
705
|
+
sensitivity: plain
|
|
706
|
+
targets:
|
|
707
|
+
- local-file
|
|
708
|
+
- github-variable
|
|
709
|
+
- railway-var
|
|
710
|
+
scopes:
|
|
711
|
+
- local
|
|
712
|
+
- staging
|
|
713
|
+
- prod
|
|
714
|
+
storage: scoped
|
|
715
|
+
requirement: optional
|
|
716
|
+
purposes:
|
|
717
|
+
- dev
|
|
718
|
+
- deploy
|
|
719
|
+
- config
|
|
720
|
+
validation:
|
|
721
|
+
kind: enum
|
|
722
|
+
values:
|
|
723
|
+
- railway
|
|
724
|
+
- noop
|
|
725
|
+
- manual
|
|
726
|
+
sourcePriority:
|
|
727
|
+
- machine-config
|
|
728
|
+
- process-env
|
|
729
|
+
TREESEED_RAILWAY_PROJECT_ID:
|
|
730
|
+
label: Railway project ID
|
|
731
|
+
group: hosting
|
|
732
|
+
description: Railway project identifier used by runtime scaling and reconciliation helpers for the active environment.
|
|
733
|
+
howToGet: Copy the project ID from Railway when automatic worker scaling is enabled.
|
|
734
|
+
sensitivity: plain
|
|
735
|
+
targets:
|
|
736
|
+
- local-file
|
|
737
|
+
- github-variable
|
|
738
|
+
- railway-var
|
|
739
|
+
scopes:
|
|
740
|
+
- local
|
|
741
|
+
- staging
|
|
742
|
+
- prod
|
|
743
|
+
storage: scoped
|
|
744
|
+
requirement: optional
|
|
745
|
+
purposes:
|
|
746
|
+
- dev
|
|
747
|
+
- deploy
|
|
748
|
+
- config
|
|
749
|
+
validation:
|
|
750
|
+
kind: nonempty
|
|
751
|
+
sourcePriority:
|
|
752
|
+
- machine-config
|
|
753
|
+
- process-env
|
|
754
|
+
TREESEED_RAILWAY_ENVIRONMENT_ID:
|
|
755
|
+
label: Railway environment ID
|
|
756
|
+
group: hosting
|
|
757
|
+
description: Railway environment identifier used by the runtime scaler when adjusting worker replicas.
|
|
758
|
+
howToGet: Copy the environment ID from Railway for the matching staging or production environment.
|
|
759
|
+
sensitivity: plain
|
|
760
|
+
targets:
|
|
761
|
+
- local-file
|
|
762
|
+
- github-variable
|
|
763
|
+
- railway-var
|
|
764
|
+
scopes:
|
|
765
|
+
- local
|
|
766
|
+
- staging
|
|
767
|
+
- prod
|
|
768
|
+
storage: scoped
|
|
769
|
+
requirement: optional
|
|
770
|
+
purposes:
|
|
771
|
+
- dev
|
|
772
|
+
- deploy
|
|
773
|
+
- config
|
|
774
|
+
validation:
|
|
775
|
+
kind: nonempty
|
|
776
|
+
sourcePriority:
|
|
777
|
+
- machine-config
|
|
778
|
+
- process-env
|
|
779
|
+
TREESEED_RAILWAY_WORKER_SERVICE_ID:
|
|
780
|
+
label: Railway worker service ID
|
|
781
|
+
group: hosting
|
|
782
|
+
description: Railway service identifier for the scalable worker pool that the manager adjusts at runtime.
|
|
783
|
+
howToGet: Copy the worker service ID from Railway after the hosted project environment is provisioned.
|
|
784
|
+
sensitivity: plain
|
|
785
|
+
targets:
|
|
786
|
+
- local-file
|
|
787
|
+
- github-variable
|
|
788
|
+
- railway-var
|
|
789
|
+
scopes:
|
|
790
|
+
- local
|
|
791
|
+
- staging
|
|
792
|
+
- prod
|
|
793
|
+
storage: scoped
|
|
794
|
+
requirement: optional
|
|
795
|
+
purposes:
|
|
796
|
+
- dev
|
|
797
|
+
- deploy
|
|
798
|
+
- config
|
|
799
|
+
validation:
|
|
800
|
+
kind: nonempty
|
|
801
|
+
sourcePriority:
|
|
802
|
+
- machine-config
|
|
803
|
+
- process-env
|
|
127
804
|
TREESEED_FORM_TOKEN_SECRET:
|
|
128
805
|
label: Forms token secret
|
|
129
806
|
group: forms
|