@treeseed/sdk 0.13.0-rc.34 → 0.13.0-rc.35

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.
@@ -172,15 +172,15 @@ export declare const discussionTopicContentSchema: z.ZodObject<{
172
172
  status: "active" | "archived";
173
173
  id: string;
174
174
  description: string;
175
- title: string;
176
175
  slug: string;
176
+ title: string;
177
177
  groupIds: string[];
178
178
  parentTopicId?: string | undefined;
179
179
  }, {
180
180
  id: string;
181
181
  description: string;
182
- title: string;
183
182
  slug: string;
183
+ title: string;
184
184
  groupIds: string[];
185
185
  status?: "active" | "archived" | undefined;
186
186
  parentTopicId?: string | undefined;
@@ -842,15 +842,15 @@ export declare const agentOperationalContentSchemas: {
842
842
  status: "active" | "archived";
843
843
  id: string;
844
844
  description: string;
845
- title: string;
846
845
  slug: string;
846
+ title: string;
847
847
  groupIds: string[];
848
848
  parentTopicId?: string | undefined;
849
849
  }, {
850
850
  id: string;
851
851
  description: string;
852
- title: string;
853
852
  slug: string;
853
+ title: string;
854
854
  groupIds: string[];
855
855
  status?: "active" | "archived" | undefined;
856
856
  parentTopicId?: string | undefined;
@@ -37,8 +37,8 @@ export declare const workdayContentSchema: z.ZodObject<{
37
37
  priority: number;
38
38
  status?: string | undefined;
39
39
  reason?: string | undefined;
40
- title?: string | undefined;
41
40
  slug?: string | undefined;
41
+ title?: string | undefined;
42
42
  estimatedCredits?: number | undefined;
43
43
  }, {
44
44
  id: string;
@@ -46,8 +46,8 @@ export declare const workdayContentSchema: z.ZodObject<{
46
46
  priority: number;
47
47
  status?: string | undefined;
48
48
  reason?: string | undefined;
49
- title?: string | undefined;
50
49
  slug?: string | undefined;
50
+ title?: string | undefined;
51
51
  estimatedCredits?: number | undefined;
52
52
  }>, "many">>;
53
53
  totalTasks: z.ZodDefault<z.ZodNumber>;
@@ -138,14 +138,14 @@ export declare const workdayContentSchema: z.ZodObject<{
138
138
  metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
139
139
  }, "strip", z.ZodTypeAny, {
140
140
  status: string;
141
+ environment: string;
141
142
  visibility: "private" | "team" | "public" | "authenticated";
142
143
  summary: string;
143
144
  projectId: string;
144
- title: string;
145
- startedAt: Date;
146
145
  slug: string;
147
146
  metadata: Record<string, unknown>;
148
- environment: string;
147
+ title: string;
148
+ startedAt: Date;
149
149
  changedFiles: string[];
150
150
  workDayId: string;
151
151
  reportVersion: string;
@@ -163,8 +163,8 @@ export declare const workdayContentSchema: z.ZodObject<{
163
163
  priority: number;
164
164
  status?: string | undefined;
165
165
  reason?: string | undefined;
166
- title?: string | undefined;
167
166
  slug?: string | undefined;
167
+ title?: string | undefined;
168
168
  estimatedCredits?: number | undefined;
169
169
  }[];
170
170
  totalTasks: number;
@@ -206,12 +206,12 @@ export declare const workdayContentSchema: z.ZodObject<{
206
206
  endedAt?: Date | null | undefined;
207
207
  prioritySnapshotId?: string | null | undefined;
208
208
  }, {
209
+ environment: string;
209
210
  summary: string;
210
211
  projectId: string;
212
+ slug: string;
211
213
  title: string;
212
214
  startedAt: Date;
213
- slug: string;
214
- environment: string;
215
215
  workDayId: string;
216
216
  reportVersion: string;
217
217
  workdayState: string;
@@ -236,8 +236,8 @@ export declare const workdayContentSchema: z.ZodObject<{
236
236
  priority: number;
237
237
  status?: string | undefined;
238
238
  reason?: string | undefined;
239
- title?: string | undefined;
240
239
  slug?: string | undefined;
240
+ title?: string | undefined;
241
241
  estimatedCredits?: number | undefined;
242
242
  }[] | undefined;
243
243
  totalTasks?: number | undefined;
@@ -316,15 +316,15 @@ export declare const templateProductContentSchema: z.ZodObject<{
316
316
  integrity: z.ZodOptional<z.ZodString>;
317
317
  }, "strip", z.ZodTypeAny, {
318
318
  kind: "git";
319
+ ref: string;
319
320
  repoUrl: string;
320
321
  directory: string;
321
- ref: string;
322
322
  integrity?: string | undefined;
323
323
  }, {
324
324
  kind: "git";
325
+ ref: string;
325
326
  repoUrl: string;
326
327
  directory: string;
327
- ref: string;
328
328
  integrity?: string | undefined;
329
329
  }>, z.ZodObject<{
330
330
  kind: z.ZodLiteral<"r2">;
@@ -354,9 +354,9 @@ export declare const templateProductContentSchema: z.ZodObject<{
354
354
  mode: "packaged" | "git" | "r2";
355
355
  source: {
356
356
  kind: "git";
357
+ ref: string;
357
358
  repoUrl: string;
358
359
  directory: string;
359
- ref: string;
360
360
  integrity?: string | undefined;
361
361
  } | {
362
362
  kind: "r2";
@@ -371,9 +371,9 @@ export declare const templateProductContentSchema: z.ZodObject<{
371
371
  }, {
372
372
  source: {
373
373
  kind: "git";
374
+ ref: string;
374
375
  repoUrl: string;
375
376
  directory: string;
376
- ref: string;
377
377
  integrity?: string | undefined;
378
378
  } | {
379
379
  kind: "r2";
@@ -408,8 +408,8 @@ export declare const templateProductContentSchema: z.ZodObject<{
408
408
  audience: string[];
409
409
  description: string;
410
410
  summary: string;
411
- title: string;
412
411
  slug: string;
412
+ title: string;
413
413
  groupIds: string[];
414
414
  featured: boolean;
415
415
  listingEnabled: boolean;
@@ -428,9 +428,9 @@ export declare const templateProductContentSchema: z.ZodObject<{
428
428
  mode: "packaged" | "git" | "r2";
429
429
  source: {
430
430
  kind: "git";
431
+ ref: string;
431
432
  repoUrl: string;
432
433
  directory: string;
433
- ref: string;
434
434
  integrity?: string | undefined;
435
435
  } | {
436
436
  kind: "r2";
@@ -457,8 +457,8 @@ export declare const templateProductContentSchema: z.ZodObject<{
457
457
  status: "archived" | "draft" | "live";
458
458
  description: string;
459
459
  summary: string;
460
- title: string;
461
460
  slug: string;
461
+ title: string;
462
462
  category: string;
463
463
  publisher: {
464
464
  id: string;
@@ -472,9 +472,9 @@ export declare const templateProductContentSchema: z.ZodObject<{
472
472
  fulfillment: {
473
473
  source: {
474
474
  kind: "git";
475
+ ref: string;
475
476
  repoUrl: string;
476
477
  directory: string;
477
- ref: string;
478
478
  integrity?: string | undefined;
479
479
  } | {
480
480
  kind: "r2";
@@ -1245,8 +1245,8 @@ export declare const auxiliaryContentSchemas: {
1245
1245
  priority: number;
1246
1246
  status?: string | undefined;
1247
1247
  reason?: string | undefined;
1248
- title?: string | undefined;
1249
1248
  slug?: string | undefined;
1249
+ title?: string | undefined;
1250
1250
  estimatedCredits?: number | undefined;
1251
1251
  }, {
1252
1252
  id: string;
@@ -1254,8 +1254,8 @@ export declare const auxiliaryContentSchemas: {
1254
1254
  priority: number;
1255
1255
  status?: string | undefined;
1256
1256
  reason?: string | undefined;
1257
- title?: string | undefined;
1258
1257
  slug?: string | undefined;
1258
+ title?: string | undefined;
1259
1259
  estimatedCredits?: number | undefined;
1260
1260
  }>, "many">>;
1261
1261
  totalTasks: z.ZodDefault<z.ZodNumber>;
@@ -1346,14 +1346,14 @@ export declare const auxiliaryContentSchemas: {
1346
1346
  metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1347
1347
  }, "strip", z.ZodTypeAny, {
1348
1348
  status: string;
1349
+ environment: string;
1349
1350
  visibility: "private" | "team" | "public" | "authenticated";
1350
1351
  summary: string;
1351
1352
  projectId: string;
1352
- title: string;
1353
- startedAt: Date;
1354
1353
  slug: string;
1355
1354
  metadata: Record<string, unknown>;
1356
- environment: string;
1355
+ title: string;
1356
+ startedAt: Date;
1357
1357
  changedFiles: string[];
1358
1358
  workDayId: string;
1359
1359
  reportVersion: string;
@@ -1371,8 +1371,8 @@ export declare const auxiliaryContentSchemas: {
1371
1371
  priority: number;
1372
1372
  status?: string | undefined;
1373
1373
  reason?: string | undefined;
1374
- title?: string | undefined;
1375
1374
  slug?: string | undefined;
1375
+ title?: string | undefined;
1376
1376
  estimatedCredits?: number | undefined;
1377
1377
  }[];
1378
1378
  totalTasks: number;
@@ -1414,12 +1414,12 @@ export declare const auxiliaryContentSchemas: {
1414
1414
  endedAt?: Date | null | undefined;
1415
1415
  prioritySnapshotId?: string | null | undefined;
1416
1416
  }, {
1417
+ environment: string;
1417
1418
  summary: string;
1418
1419
  projectId: string;
1420
+ slug: string;
1419
1421
  title: string;
1420
1422
  startedAt: Date;
1421
- slug: string;
1422
- environment: string;
1423
1423
  workDayId: string;
1424
1424
  reportVersion: string;
1425
1425
  workdayState: string;
@@ -1444,8 +1444,8 @@ export declare const auxiliaryContentSchemas: {
1444
1444
  priority: number;
1445
1445
  status?: string | undefined;
1446
1446
  reason?: string | undefined;
1447
- title?: string | undefined;
1448
1447
  slug?: string | undefined;
1448
+ title?: string | undefined;
1449
1449
  estimatedCredits?: number | undefined;
1450
1450
  }[] | undefined;
1451
1451
  totalTasks?: number | undefined;
@@ -1524,15 +1524,15 @@ export declare const auxiliaryContentSchemas: {
1524
1524
  integrity: z.ZodOptional<z.ZodString>;
1525
1525
  }, "strip", z.ZodTypeAny, {
1526
1526
  kind: "git";
1527
+ ref: string;
1527
1528
  repoUrl: string;
1528
1529
  directory: string;
1529
- ref: string;
1530
1530
  integrity?: string | undefined;
1531
1531
  }, {
1532
1532
  kind: "git";
1533
+ ref: string;
1533
1534
  repoUrl: string;
1534
1535
  directory: string;
1535
- ref: string;
1536
1536
  integrity?: string | undefined;
1537
1537
  }>, z.ZodObject<{
1538
1538
  kind: z.ZodLiteral<"r2">;
@@ -1562,9 +1562,9 @@ export declare const auxiliaryContentSchemas: {
1562
1562
  mode: "packaged" | "git" | "r2";
1563
1563
  source: {
1564
1564
  kind: "git";
1565
+ ref: string;
1565
1566
  repoUrl: string;
1566
1567
  directory: string;
1567
- ref: string;
1568
1568
  integrity?: string | undefined;
1569
1569
  } | {
1570
1570
  kind: "r2";
@@ -1579,9 +1579,9 @@ export declare const auxiliaryContentSchemas: {
1579
1579
  }, {
1580
1580
  source: {
1581
1581
  kind: "git";
1582
+ ref: string;
1582
1583
  repoUrl: string;
1583
1584
  directory: string;
1584
- ref: string;
1585
1585
  integrity?: string | undefined;
1586
1586
  } | {
1587
1587
  kind: "r2";
@@ -1616,8 +1616,8 @@ export declare const auxiliaryContentSchemas: {
1616
1616
  audience: string[];
1617
1617
  description: string;
1618
1618
  summary: string;
1619
- title: string;
1620
1619
  slug: string;
1620
+ title: string;
1621
1621
  groupIds: string[];
1622
1622
  featured: boolean;
1623
1623
  listingEnabled: boolean;
@@ -1636,9 +1636,9 @@ export declare const auxiliaryContentSchemas: {
1636
1636
  mode: "packaged" | "git" | "r2";
1637
1637
  source: {
1638
1638
  kind: "git";
1639
+ ref: string;
1639
1640
  repoUrl: string;
1640
1641
  directory: string;
1641
- ref: string;
1642
1642
  integrity?: string | undefined;
1643
1643
  } | {
1644
1644
  kind: "r2";
@@ -1665,8 +1665,8 @@ export declare const auxiliaryContentSchemas: {
1665
1665
  status: "archived" | "draft" | "live";
1666
1666
  description: string;
1667
1667
  summary: string;
1668
- title: string;
1669
1668
  slug: string;
1669
+ title: string;
1670
1670
  category: string;
1671
1671
  publisher: {
1672
1672
  id: string;
@@ -1680,9 +1680,9 @@ export declare const auxiliaryContentSchemas: {
1680
1680
  fulfillment: {
1681
1681
  source: {
1682
1682
  kind: "git";
1683
+ ref: string;
1683
1684
  repoUrl: string;
1684
1685
  directory: string;
1685
- ref: string;
1686
1686
  integrity?: string | undefined;
1687
1687
  } | {
1688
1688
  kind: "r2";
@@ -175,15 +175,15 @@ declare const schemas: {
175
175
  status: "active" | "archived";
176
176
  id: string;
177
177
  description: string;
178
- title: string;
179
178
  slug: string;
179
+ title: string;
180
180
  groupIds: string[];
181
181
  parentTopicId?: string | undefined;
182
182
  }, {
183
183
  id: string;
184
184
  description: string;
185
- title: string;
186
185
  slug: string;
186
+ title: string;
187
187
  groupIds: string[];
188
188
  status?: "active" | "archived" | undefined;
189
189
  parentTopicId?: string | undefined;
@@ -1060,8 +1060,8 @@ declare const schemas: {
1060
1060
  priority: number;
1061
1061
  status?: string | undefined;
1062
1062
  reason?: string | undefined;
1063
- title?: string | undefined;
1064
1063
  slug?: string | undefined;
1064
+ title?: string | undefined;
1065
1065
  estimatedCredits?: number | undefined;
1066
1066
  }, {
1067
1067
  id: string;
@@ -1069,8 +1069,8 @@ declare const schemas: {
1069
1069
  priority: number;
1070
1070
  status?: string | undefined;
1071
1071
  reason?: string | undefined;
1072
- title?: string | undefined;
1073
1072
  slug?: string | undefined;
1073
+ title?: string | undefined;
1074
1074
  estimatedCredits?: number | undefined;
1075
1075
  }>, "many">>;
1076
1076
  totalTasks: z.ZodDefault<z.ZodNumber>;
@@ -1161,14 +1161,14 @@ declare const schemas: {
1161
1161
  metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1162
1162
  }, "strip", z.ZodTypeAny, {
1163
1163
  status: string;
1164
+ environment: string;
1164
1165
  visibility: "private" | "team" | "public" | "authenticated";
1165
1166
  summary: string;
1166
1167
  projectId: string;
1167
- title: string;
1168
- startedAt: Date;
1169
1168
  slug: string;
1170
1169
  metadata: Record<string, unknown>;
1171
- environment: string;
1170
+ title: string;
1171
+ startedAt: Date;
1172
1172
  changedFiles: string[];
1173
1173
  workDayId: string;
1174
1174
  reportVersion: string;
@@ -1186,8 +1186,8 @@ declare const schemas: {
1186
1186
  priority: number;
1187
1187
  status?: string | undefined;
1188
1188
  reason?: string | undefined;
1189
- title?: string | undefined;
1190
1189
  slug?: string | undefined;
1190
+ title?: string | undefined;
1191
1191
  estimatedCredits?: number | undefined;
1192
1192
  }[];
1193
1193
  totalTasks: number;
@@ -1229,12 +1229,12 @@ declare const schemas: {
1229
1229
  endedAt?: Date | null | undefined;
1230
1230
  prioritySnapshotId?: string | null | undefined;
1231
1231
  }, {
1232
+ environment: string;
1232
1233
  summary: string;
1233
1234
  projectId: string;
1235
+ slug: string;
1234
1236
  title: string;
1235
1237
  startedAt: Date;
1236
- slug: string;
1237
- environment: string;
1238
1238
  workDayId: string;
1239
1239
  reportVersion: string;
1240
1240
  workdayState: string;
@@ -1259,8 +1259,8 @@ declare const schemas: {
1259
1259
  priority: number;
1260
1260
  status?: string | undefined;
1261
1261
  reason?: string | undefined;
1262
- title?: string | undefined;
1263
1262
  slug?: string | undefined;
1263
+ title?: string | undefined;
1264
1264
  estimatedCredits?: number | undefined;
1265
1265
  }[] | undefined;
1266
1266
  totalTasks?: number | undefined;
@@ -1339,15 +1339,15 @@ declare const schemas: {
1339
1339
  integrity: z.ZodOptional<z.ZodString>;
1340
1340
  }, "strip", z.ZodTypeAny, {
1341
1341
  kind: "git";
1342
+ ref: string;
1342
1343
  repoUrl: string;
1343
1344
  directory: string;
1344
- ref: string;
1345
1345
  integrity?: string | undefined;
1346
1346
  }, {
1347
1347
  kind: "git";
1348
+ ref: string;
1348
1349
  repoUrl: string;
1349
1350
  directory: string;
1350
- ref: string;
1351
1351
  integrity?: string | undefined;
1352
1352
  }>, z.ZodObject<{
1353
1353
  kind: z.ZodLiteral<"r2">;
@@ -1377,9 +1377,9 @@ declare const schemas: {
1377
1377
  mode: "packaged" | "git" | "r2";
1378
1378
  source: {
1379
1379
  kind: "git";
1380
+ ref: string;
1380
1381
  repoUrl: string;
1381
1382
  directory: string;
1382
- ref: string;
1383
1383
  integrity?: string | undefined;
1384
1384
  } | {
1385
1385
  kind: "r2";
@@ -1394,9 +1394,9 @@ declare const schemas: {
1394
1394
  }, {
1395
1395
  source: {
1396
1396
  kind: "git";
1397
+ ref: string;
1397
1398
  repoUrl: string;
1398
1399
  directory: string;
1399
- ref: string;
1400
1400
  integrity?: string | undefined;
1401
1401
  } | {
1402
1402
  kind: "r2";
@@ -1431,8 +1431,8 @@ declare const schemas: {
1431
1431
  audience: string[];
1432
1432
  description: string;
1433
1433
  summary: string;
1434
- title: string;
1435
1434
  slug: string;
1435
+ title: string;
1436
1436
  groupIds: string[];
1437
1437
  featured: boolean;
1438
1438
  listingEnabled: boolean;
@@ -1451,9 +1451,9 @@ declare const schemas: {
1451
1451
  mode: "packaged" | "git" | "r2";
1452
1452
  source: {
1453
1453
  kind: "git";
1454
+ ref: string;
1454
1455
  repoUrl: string;
1455
1456
  directory: string;
1456
- ref: string;
1457
1457
  integrity?: string | undefined;
1458
1458
  } | {
1459
1459
  kind: "r2";
@@ -1480,8 +1480,8 @@ declare const schemas: {
1480
1480
  status: "archived" | "draft" | "live";
1481
1481
  description: string;
1482
1482
  summary: string;
1483
- title: string;
1484
1483
  slug: string;
1484
+ title: string;
1485
1485
  category: string;
1486
1486
  publisher: {
1487
1487
  id: string;
@@ -1495,9 +1495,9 @@ declare const schemas: {
1495
1495
  fulfillment: {
1496
1496
  source: {
1497
1497
  kind: "git";
1498
+ ref: string;
1498
1499
  repoUrl: string;
1499
1500
  directory: string;
1500
- ref: string;
1501
1501
  integrity?: string | undefined;
1502
1502
  } | {
1503
1503
  kind: "r2";
@@ -1544,8 +1544,8 @@ declare const schemas: {
1544
1544
  description?: string | undefined;
1545
1545
  summary?: string | undefined;
1546
1546
  stage?: string | undefined;
1547
- updated_at?: Date | undefined;
1548
1547
  slug?: string | undefined;
1548
+ updated_at?: Date | undefined;
1549
1549
  page_layout?: "article" | "bridge" | undefined;
1550
1550
  }, {
1551
1551
  title: string;
@@ -1554,8 +1554,8 @@ declare const schemas: {
1554
1554
  description?: string | undefined;
1555
1555
  summary?: string | undefined;
1556
1556
  stage?: string | undefined;
1557
- updated_at?: Date | undefined;
1558
1557
  slug?: string | undefined;
1558
+ updated_at?: Date | undefined;
1559
1559
  page_layout?: "article" | "bridge" | undefined;
1560
1560
  }>;
1561
1561
  note: z.ZodObject<{
@@ -1964,27 +1964,27 @@ declare const schemas: {
1964
1964
  audience: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1965
1965
  relatedBookIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1966
1966
  }, "strip", z.ZodTypeAny, {
1967
- status: "archived" | "review" | "draft" | "published";
1967
+ status: "review" | "archived" | "draft" | "published";
1968
1968
  schemaVersion: "treeseed.book/v2";
1969
1969
  id: string;
1970
1970
  visibility: "team" | "project" | "public" | "authenticated" | "admin";
1971
1971
  order: number;
1972
1972
  summary: string;
1973
- title: string;
1974
1973
  slug: string;
1974
+ title: string;
1975
1975
  audience?: string[] | undefined;
1976
1976
  description?: string | undefined;
1977
1977
  groupIds?: string[] | undefined;
1978
1978
  relatedBookIds?: string[] | undefined;
1979
1979
  }, {
1980
- status: "archived" | "review" | "draft" | "published";
1980
+ status: "review" | "archived" | "draft" | "published";
1981
1981
  schemaVersion: "treeseed.book/v2";
1982
1982
  id: string;
1983
1983
  visibility: "team" | "project" | "public" | "authenticated" | "admin";
1984
1984
  order: number;
1985
1985
  summary: string;
1986
- title: string;
1987
1986
  slug: string;
1987
+ title: string;
1988
1988
  audience?: string[] | undefined;
1989
1989
  description?: string | undefined;
1990
1990
  groupIds?: string[] | undefined;
@@ -2003,25 +2003,25 @@ declare const schemas: {
2003
2003
  order: z.ZodOptional<z.ZodNumber>;
2004
2004
  groupIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2005
2005
  }, "strip", z.ZodTypeAny, {
2006
- status: "archived" | "review" | "draft" | "published";
2006
+ status: "review" | "archived" | "draft" | "published";
2007
2007
  schemaVersion: "treeseed.knowledge-page/v1";
2008
2008
  id: string;
2009
2009
  visibility: "team" | "project" | "public" | "authenticated" | "admin";
2010
2010
  summary: string;
2011
- title: string;
2012
2011
  slug: string;
2012
+ title: string;
2013
2013
  bookId: string;
2014
2014
  order?: number | undefined;
2015
2015
  description?: string | undefined;
2016
2016
  groupIds?: string[] | undefined;
2017
2017
  }, {
2018
- status: "archived" | "review" | "draft" | "published";
2018
+ status: "review" | "archived" | "draft" | "published";
2019
2019
  schemaVersion: "treeseed.knowledge-page/v1";
2020
2020
  id: string;
2021
2021
  visibility: "team" | "project" | "public" | "authenticated" | "admin";
2022
2022
  summary: string;
2023
- title: string;
2024
2023
  slug: string;
2024
+ title: string;
2025
2025
  bookId: string;
2026
2026
  order?: number | undefined;
2027
2027
  description?: string | undefined;
@@ -11362,14 +11362,14 @@ export declare function validateContentFrontmatter(model: PortableContentModel,
11362
11362
  }>>;
11363
11363
  }, z.ZodTypeAny, "passthrough"> | {
11364
11364
  status: string;
11365
+ environment: string;
11365
11366
  visibility: "private" | "team" | "public" | "authenticated";
11366
11367
  summary: string;
11367
11368
  projectId: string;
11368
- title: string;
11369
- startedAt: Date;
11370
11369
  slug: string;
11371
11370
  metadata: Record<string, unknown>;
11372
- environment: string;
11371
+ title: string;
11372
+ startedAt: Date;
11373
11373
  changedFiles: string[];
11374
11374
  workDayId: string;
11375
11375
  reportVersion: string;
@@ -11387,8 +11387,8 @@ export declare function validateContentFrontmatter(model: PortableContentModel,
11387
11387
  priority: number;
11388
11388
  status?: string | undefined;
11389
11389
  reason?: string | undefined;
11390
- title?: string | undefined;
11391
11390
  slug?: string | undefined;
11391
+ title?: string | undefined;
11392
11392
  estimatedCredits?: number | undefined;
11393
11393
  }[];
11394
11394
  totalTasks: number;
@@ -11434,8 +11434,8 @@ export declare function validateContentFrontmatter(model: PortableContentModel,
11434
11434
  audience: string[];
11435
11435
  description: string;
11436
11436
  summary: string;
11437
- title: string;
11438
11437
  slug: string;
11438
+ title: string;
11439
11439
  groupIds: string[];
11440
11440
  featured: boolean;
11441
11441
  listingEnabled: boolean;
@@ -11454,9 +11454,9 @@ export declare function validateContentFrontmatter(model: PortableContentModel,
11454
11454
  mode: "packaged" | "git" | "r2";
11455
11455
  source: {
11456
11456
  kind: "git";
11457
+ ref: string;
11457
11458
  repoUrl: string;
11458
11459
  directory: string;
11459
- ref: string;
11460
11460
  integrity?: string | undefined;
11461
11461
  } | {
11462
11462
  kind: "r2";
@@ -11573,8 +11573,8 @@ export declare function validateContentFrontmatter(model: PortableContentModel,
11573
11573
  status: "active" | "archived";
11574
11574
  id: string;
11575
11575
  description: string;
11576
- title: string;
11577
11576
  slug: string;
11577
+ title: string;
11578
11578
  groupIds: string[];
11579
11579
  parentTopicId?: string | undefined;
11580
11580
  } | {
@@ -11701,8 +11701,8 @@ export declare function validateContentFrontmatter(model: PortableContentModel,
11701
11701
  description?: string | undefined;
11702
11702
  summary?: string | undefined;
11703
11703
  stage?: string | undefined;
11704
- updated_at?: Date | undefined;
11705
11704
  slug?: string | undefined;
11705
+ updated_at?: Date | undefined;
11706
11706
  page_layout?: "article" | "bridge" | undefined;
11707
11707
  } | {
11708
11708
  title: string;
@@ -11818,26 +11818,26 @@ export declare function validateContentFrontmatter(model: PortableContentModel,
11818
11818
  decision_type?: "approved" | "rejected" | "deferred" | "superseded" | "request_changes" | undefined;
11819
11819
  rationale?: string | undefined;
11820
11820
  } | {
11821
- status: "archived" | "review" | "draft" | "published";
11821
+ status: "review" | "archived" | "draft" | "published";
11822
11822
  schemaVersion: "treeseed.book/v2";
11823
11823
  id: string;
11824
11824
  visibility: "team" | "project" | "public" | "authenticated" | "admin";
11825
11825
  order: number;
11826
11826
  summary: string;
11827
- title: string;
11828
11827
  slug: string;
11828
+ title: string;
11829
11829
  audience?: string[] | undefined;
11830
11830
  description?: string | undefined;
11831
11831
  groupIds?: string[] | undefined;
11832
11832
  relatedBookIds?: string[] | undefined;
11833
11833
  } | {
11834
- status: "archived" | "review" | "draft" | "published";
11834
+ status: "review" | "archived" | "draft" | "published";
11835
11835
  schemaVersion: "treeseed.knowledge-page/v1";
11836
11836
  id: string;
11837
11837
  visibility: "team" | "project" | "public" | "authenticated" | "admin";
11838
11838
  summary: string;
11839
- title: string;
11840
11839
  slug: string;
11840
+ title: string;
11841
11841
  bookId: string;
11842
11842
  order?: number | undefined;
11843
11843
  description?: string | undefined;
@@ -19561,8 +19561,8 @@ export declare function describeContentFrontmatterSchema(model: PortableContentM
19561
19561
  priority: number;
19562
19562
  status?: string | undefined;
19563
19563
  reason?: string | undefined;
19564
- title?: string | undefined;
19565
19564
  slug?: string | undefined;
19565
+ title?: string | undefined;
19566
19566
  estimatedCredits?: number | undefined;
19567
19567
  }, {
19568
19568
  id: string;
@@ -19570,8 +19570,8 @@ export declare function describeContentFrontmatterSchema(model: PortableContentM
19570
19570
  priority: number;
19571
19571
  status?: string | undefined;
19572
19572
  reason?: string | undefined;
19573
- title?: string | undefined;
19574
19573
  slug?: string | undefined;
19574
+ title?: string | undefined;
19575
19575
  estimatedCredits?: number | undefined;
19576
19576
  }>, "many">>;
19577
19577
  totalTasks: z.ZodDefault<z.ZodNumber>;
@@ -19662,14 +19662,14 @@ export declare function describeContentFrontmatterSchema(model: PortableContentM
19662
19662
  metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
19663
19663
  }, "strip", z.ZodTypeAny, {
19664
19664
  status: string;
19665
+ environment: string;
19665
19666
  visibility: "private" | "team" | "public" | "authenticated";
19666
19667
  summary: string;
19667
19668
  projectId: string;
19668
- title: string;
19669
- startedAt: Date;
19670
19669
  slug: string;
19671
19670
  metadata: Record<string, unknown>;
19672
- environment: string;
19671
+ title: string;
19672
+ startedAt: Date;
19673
19673
  changedFiles: string[];
19674
19674
  workDayId: string;
19675
19675
  reportVersion: string;
@@ -19687,8 +19687,8 @@ export declare function describeContentFrontmatterSchema(model: PortableContentM
19687
19687
  priority: number;
19688
19688
  status?: string | undefined;
19689
19689
  reason?: string | undefined;
19690
- title?: string | undefined;
19691
19690
  slug?: string | undefined;
19691
+ title?: string | undefined;
19692
19692
  estimatedCredits?: number | undefined;
19693
19693
  }[];
19694
19694
  totalTasks: number;
@@ -19730,12 +19730,12 @@ export declare function describeContentFrontmatterSchema(model: PortableContentM
19730
19730
  endedAt?: Date | null | undefined;
19731
19731
  prioritySnapshotId?: string | null | undefined;
19732
19732
  }, {
19733
+ environment: string;
19733
19734
  summary: string;
19734
19735
  projectId: string;
19736
+ slug: string;
19735
19737
  title: string;
19736
19738
  startedAt: Date;
19737
- slug: string;
19738
- environment: string;
19739
19739
  workDayId: string;
19740
19740
  reportVersion: string;
19741
19741
  workdayState: string;
@@ -19760,8 +19760,8 @@ export declare function describeContentFrontmatterSchema(model: PortableContentM
19760
19760
  priority: number;
19761
19761
  status?: string | undefined;
19762
19762
  reason?: string | undefined;
19763
- title?: string | undefined;
19764
19763
  slug?: string | undefined;
19764
+ title?: string | undefined;
19765
19765
  estimatedCredits?: number | undefined;
19766
19766
  }[] | undefined;
19767
19767
  totalTasks?: number | undefined;
@@ -19839,15 +19839,15 @@ export declare function describeContentFrontmatterSchema(model: PortableContentM
19839
19839
  integrity: z.ZodOptional<z.ZodString>;
19840
19840
  }, "strip", z.ZodTypeAny, {
19841
19841
  kind: "git";
19842
+ ref: string;
19842
19843
  repoUrl: string;
19843
19844
  directory: string;
19844
- ref: string;
19845
19845
  integrity?: string | undefined;
19846
19846
  }, {
19847
19847
  kind: "git";
19848
+ ref: string;
19848
19849
  repoUrl: string;
19849
19850
  directory: string;
19850
- ref: string;
19851
19851
  integrity?: string | undefined;
19852
19852
  }>, z.ZodObject<{
19853
19853
  kind: z.ZodLiteral<"r2">;
@@ -19877,9 +19877,9 @@ export declare function describeContentFrontmatterSchema(model: PortableContentM
19877
19877
  mode: "packaged" | "git" | "r2";
19878
19878
  source: {
19879
19879
  kind: "git";
19880
+ ref: string;
19880
19881
  repoUrl: string;
19881
19882
  directory: string;
19882
- ref: string;
19883
19883
  integrity?: string | undefined;
19884
19884
  } | {
19885
19885
  kind: "r2";
@@ -19894,9 +19894,9 @@ export declare function describeContentFrontmatterSchema(model: PortableContentM
19894
19894
  }, {
19895
19895
  source: {
19896
19896
  kind: "git";
19897
+ ref: string;
19897
19898
  repoUrl: string;
19898
19899
  directory: string;
19899
- ref: string;
19900
19900
  integrity?: string | undefined;
19901
19901
  } | {
19902
19902
  kind: "r2";
@@ -19931,8 +19931,8 @@ export declare function describeContentFrontmatterSchema(model: PortableContentM
19931
19931
  audience: string[];
19932
19932
  description: string;
19933
19933
  summary: string;
19934
- title: string;
19935
19934
  slug: string;
19935
+ title: string;
19936
19936
  groupIds: string[];
19937
19937
  featured: boolean;
19938
19938
  listingEnabled: boolean;
@@ -19951,9 +19951,9 @@ export declare function describeContentFrontmatterSchema(model: PortableContentM
19951
19951
  mode: "packaged" | "git" | "r2";
19952
19952
  source: {
19953
19953
  kind: "git";
19954
+ ref: string;
19954
19955
  repoUrl: string;
19955
19956
  directory: string;
19956
- ref: string;
19957
19957
  integrity?: string | undefined;
19958
19958
  } | {
19959
19959
  kind: "r2";
@@ -19980,8 +19980,8 @@ export declare function describeContentFrontmatterSchema(model: PortableContentM
19980
19980
  status: "archived" | "draft" | "live";
19981
19981
  description: string;
19982
19982
  summary: string;
19983
- title: string;
19984
19983
  slug: string;
19984
+ title: string;
19985
19985
  category: string;
19986
19986
  publisher: {
19987
19987
  id: string;
@@ -19995,9 +19995,9 @@ export declare function describeContentFrontmatterSchema(model: PortableContentM
19995
19995
  fulfillment: {
19996
19996
  source: {
19997
19997
  kind: "git";
19998
+ ref: string;
19998
19999
  repoUrl: string;
19999
20000
  directory: string;
20000
- ref: string;
20001
20001
  integrity?: string | undefined;
20002
20002
  } | {
20003
20003
  kind: "r2";
@@ -20546,15 +20546,15 @@ export declare function describeContentFrontmatterSchema(model: PortableContentM
20546
20546
  status: "active" | "archived";
20547
20547
  id: string;
20548
20548
  description: string;
20549
- title: string;
20550
20549
  slug: string;
20550
+ title: string;
20551
20551
  groupIds: string[];
20552
20552
  parentTopicId?: string | undefined;
20553
20553
  }, {
20554
20554
  id: string;
20555
20555
  description: string;
20556
- title: string;
20557
20556
  slug: string;
20557
+ title: string;
20558
20558
  groupIds: string[];
20559
20559
  status?: "active" | "archived" | undefined;
20560
20560
  parentTopicId?: string | undefined;
@@ -21054,8 +21054,8 @@ export declare function describeContentFrontmatterSchema(model: PortableContentM
21054
21054
  description?: string | undefined;
21055
21055
  summary?: string | undefined;
21056
21056
  stage?: string | undefined;
21057
- updated_at?: Date | undefined;
21058
21057
  slug?: string | undefined;
21058
+ updated_at?: Date | undefined;
21059
21059
  page_layout?: "article" | "bridge" | undefined;
21060
21060
  }, {
21061
21061
  title: string;
@@ -21064,8 +21064,8 @@ export declare function describeContentFrontmatterSchema(model: PortableContentM
21064
21064
  description?: string | undefined;
21065
21065
  summary?: string | undefined;
21066
21066
  stage?: string | undefined;
21067
- updated_at?: Date | undefined;
21068
21067
  slug?: string | undefined;
21068
+ updated_at?: Date | undefined;
21069
21069
  page_layout?: "article" | "bridge" | undefined;
21070
21070
  }> | z.ZodObject<{
21071
21071
  group_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -21468,27 +21468,27 @@ export declare function describeContentFrontmatterSchema(model: PortableContentM
21468
21468
  audience: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
21469
21469
  relatedBookIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
21470
21470
  }, "strip", z.ZodTypeAny, {
21471
- status: "archived" | "review" | "draft" | "published";
21471
+ status: "review" | "archived" | "draft" | "published";
21472
21472
  schemaVersion: "treeseed.book/v2";
21473
21473
  id: string;
21474
21474
  visibility: "team" | "project" | "public" | "authenticated" | "admin";
21475
21475
  order: number;
21476
21476
  summary: string;
21477
- title: string;
21478
21477
  slug: string;
21478
+ title: string;
21479
21479
  audience?: string[] | undefined;
21480
21480
  description?: string | undefined;
21481
21481
  groupIds?: string[] | undefined;
21482
21482
  relatedBookIds?: string[] | undefined;
21483
21483
  }, {
21484
- status: "archived" | "review" | "draft" | "published";
21484
+ status: "review" | "archived" | "draft" | "published";
21485
21485
  schemaVersion: "treeseed.book/v2";
21486
21486
  id: string;
21487
21487
  visibility: "team" | "project" | "public" | "authenticated" | "admin";
21488
21488
  order: number;
21489
21489
  summary: string;
21490
- title: string;
21491
21490
  slug: string;
21491
+ title: string;
21492
21492
  audience?: string[] | undefined;
21493
21493
  description?: string | undefined;
21494
21494
  groupIds?: string[] | undefined;
@@ -21506,25 +21506,25 @@ export declare function describeContentFrontmatterSchema(model: PortableContentM
21506
21506
  order: z.ZodOptional<z.ZodNumber>;
21507
21507
  groupIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
21508
21508
  }, "strip", z.ZodTypeAny, {
21509
- status: "archived" | "review" | "draft" | "published";
21509
+ status: "review" | "archived" | "draft" | "published";
21510
21510
  schemaVersion: "treeseed.knowledge-page/v1";
21511
21511
  id: string;
21512
21512
  visibility: "team" | "project" | "public" | "authenticated" | "admin";
21513
21513
  summary: string;
21514
- title: string;
21515
21514
  slug: string;
21515
+ title: string;
21516
21516
  bookId: string;
21517
21517
  order?: number | undefined;
21518
21518
  description?: string | undefined;
21519
21519
  groupIds?: string[] | undefined;
21520
21520
  }, {
21521
- status: "archived" | "review" | "draft" | "published";
21521
+ status: "review" | "archived" | "draft" | "published";
21522
21522
  schemaVersion: "treeseed.knowledge-page/v1";
21523
21523
  id: string;
21524
21524
  visibility: "team" | "project" | "public" | "authenticated" | "admin";
21525
21525
  summary: string;
21526
- title: string;
21527
21526
  slug: string;
21527
+ title: string;
21528
21528
  bookId: string;
21529
21529
  order?: number | undefined;
21530
21530
  description?: string | undefined;
@@ -1544,14 +1544,14 @@ export declare function validatePortableContentData(model: string, value: unknow
1544
1544
  }>>;
1545
1545
  }, import("zod").ZodTypeAny, "passthrough"> | {
1546
1546
  status: string;
1547
+ environment: string;
1547
1548
  visibility: "private" | "team" | "public" | "authenticated";
1548
1549
  summary: string;
1549
1550
  projectId: string;
1550
- title: string;
1551
- startedAt: Date;
1552
1551
  slug: string;
1553
1552
  metadata: Record<string, unknown>;
1554
- environment: string;
1553
+ title: string;
1554
+ startedAt: Date;
1555
1555
  changedFiles: string[];
1556
1556
  workDayId: string;
1557
1557
  reportVersion: string;
@@ -1569,8 +1569,8 @@ export declare function validatePortableContentData(model: string, value: unknow
1569
1569
  priority: number;
1570
1570
  status?: string | undefined;
1571
1571
  reason?: string | undefined;
1572
- title?: string | undefined;
1573
1572
  slug?: string | undefined;
1573
+ title?: string | undefined;
1574
1574
  estimatedCredits?: number | undefined;
1575
1575
  }[];
1576
1576
  totalTasks: number;
@@ -1616,8 +1616,8 @@ export declare function validatePortableContentData(model: string, value: unknow
1616
1616
  audience: string[];
1617
1617
  description: string;
1618
1618
  summary: string;
1619
- title: string;
1620
1619
  slug: string;
1620
+ title: string;
1621
1621
  groupIds: string[];
1622
1622
  featured: boolean;
1623
1623
  listingEnabled: boolean;
@@ -1636,9 +1636,9 @@ export declare function validatePortableContentData(model: string, value: unknow
1636
1636
  mode: "packaged" | "git" | "r2";
1637
1637
  source: {
1638
1638
  kind: "git";
1639
+ ref: string;
1639
1640
  repoUrl: string;
1640
1641
  directory: string;
1641
- ref: string;
1642
1642
  integrity?: string | undefined;
1643
1643
  } | {
1644
1644
  kind: "r2";
@@ -1755,8 +1755,8 @@ export declare function validatePortableContentData(model: string, value: unknow
1755
1755
  status: "active" | "archived";
1756
1756
  id: string;
1757
1757
  description: string;
1758
- title: string;
1759
1758
  slug: string;
1759
+ title: string;
1760
1760
  groupIds: string[];
1761
1761
  parentTopicId?: string | undefined;
1762
1762
  } | {
@@ -1883,8 +1883,8 @@ export declare function validatePortableContentData(model: string, value: unknow
1883
1883
  description?: string | undefined;
1884
1884
  summary?: string | undefined;
1885
1885
  stage?: string | undefined;
1886
- updated_at?: Date | undefined;
1887
1886
  slug?: string | undefined;
1887
+ updated_at?: Date | undefined;
1888
1888
  page_layout?: "article" | "bridge" | undefined;
1889
1889
  } | {
1890
1890
  title: string;
@@ -2000,26 +2000,26 @@ export declare function validatePortableContentData(model: string, value: unknow
2000
2000
  decision_type?: "approved" | "rejected" | "deferred" | "superseded" | "request_changes" | undefined;
2001
2001
  rationale?: string | undefined;
2002
2002
  } | {
2003
- status: "archived" | "review" | "draft" | "published";
2003
+ status: "review" | "archived" | "draft" | "published";
2004
2004
  schemaVersion: "treeseed.book/v2";
2005
2005
  id: string;
2006
2006
  visibility: "team" | "project" | "public" | "authenticated" | "admin";
2007
2007
  order: number;
2008
2008
  summary: string;
2009
- title: string;
2010
2009
  slug: string;
2010
+ title: string;
2011
2011
  audience?: string[] | undefined;
2012
2012
  description?: string | undefined;
2013
2013
  groupIds?: string[] | undefined;
2014
2014
  relatedBookIds?: string[] | undefined;
2015
2015
  } | {
2016
- status: "archived" | "review" | "draft" | "published";
2016
+ status: "review" | "archived" | "draft" | "published";
2017
2017
  schemaVersion: "treeseed.knowledge-page/v1";
2018
2018
  id: string;
2019
2019
  visibility: "team" | "project" | "public" | "authenticated" | "admin";
2020
2020
  summary: string;
2021
- title: string;
2022
2021
  slug: string;
2022
+ title: string;
2023
2023
  bookId: string;
2024
2024
  order?: number | undefined;
2025
2025
  description?: string | undefined;
@@ -425,12 +425,26 @@ export declare const hostConfigurationSchema: z.ZodObject<{
425
425
  role: string;
426
426
  architecture: "amd64";
427
427
  }>;
428
- runtime: z.ZodObject<{
428
+ runtime: z.ZodEffects<z.ZodObject<{
429
429
  management: z.ZodEnum<["managed", "external"]>;
430
+ environment: z.ZodDefault<z.ZodEnum<["production", "development"]>>;
431
+ dataRoot: z.ZodOptional<z.ZodString>;
430
432
  }, "strict", z.ZodTypeAny, {
431
433
  management: "managed" | "external";
434
+ environment: "development" | "production";
435
+ dataRoot?: string | undefined;
436
+ }, {
437
+ management: "managed" | "external";
438
+ environment?: "development" | "production" | undefined;
439
+ dataRoot?: string | undefined;
440
+ }>, {
441
+ management: "managed" | "external";
442
+ environment: "development" | "production";
443
+ dataRoot?: string | undefined;
432
444
  }, {
433
445
  management: "managed" | "external";
446
+ environment?: "development" | "production" | undefined;
447
+ dataRoot?: string | undefined;
434
448
  }>;
435
449
  updates: z.ZodObject<{
436
450
  defaultTrack: z.ZodEnum<["stable", "development"]>;
@@ -1145,6 +1159,8 @@ export declare const hostConfigurationSchema: z.ZodObject<{
1145
1159
  };
1146
1160
  runtime: {
1147
1161
  management: "managed" | "external";
1162
+ environment: "development" | "production";
1163
+ dataRoot?: string | undefined;
1148
1164
  };
1149
1165
  updates: {
1150
1166
  stable: {
@@ -1253,6 +1269,8 @@ export declare const hostConfigurationSchema: z.ZodObject<{
1253
1269
  };
1254
1270
  runtime: {
1255
1271
  management: "managed" | "external";
1272
+ environment?: "development" | "production" | undefined;
1273
+ dataRoot?: string | undefined;
1256
1274
  };
1257
1275
  updates: {
1258
1276
  stable: {
@@ -69,7 +69,14 @@ const hostConfigurationSchema = z.object({
69
69
  role: hostRoleSchema,
70
70
  architecture: z.literal("amd64")
71
71
  }).strict(),
72
- runtime: z.object({ management: z.enum(["managed", "external"]) }).strict(),
72
+ runtime: z.object({
73
+ management: z.enum(["managed", "external"]),
74
+ environment: z.enum(["production", "development"]).default("production"),
75
+ dataRoot: z.string().startsWith("/").regex(/\/\.treeseed\/data$/u, "Development dataRoot must end with /.treeseed/data.").optional()
76
+ }).strict().superRefine((runtime, context) => {
77
+ if (runtime.environment === "development" && !runtime.dataRoot) context.addIssue({ code: z.ZodIssueCode.custom, path: ["dataRoot"], message: "Development hosts require an explicit workspace-visible dataRoot." });
78
+ if (runtime.environment === "production" && runtime.dataRoot) context.addIssue({ code: z.ZodIssueCode.custom, path: ["dataRoot"], message: "Production hosts use manager-owned /var/lib state and cannot override dataRoot." });
79
+ }),
73
80
  updates: z.object({
74
81
  defaultTrack: deploymentTrackSchema,
75
82
  stable: z.object({
@@ -98,6 +98,23 @@ const operationBindings = {
98
98
  "projects treedx workspaces list": operation("treedx.workspaces.list", [field("path", "projectId", "argument", "project", true), ...page()]),
99
99
  "projects treedx workspaces show": operation("treedx.workspaces.show", [field("path", "projectId", "context", "project", true), field("path", "workspaceId", "argument", "workspace", true)]),
100
100
  "projects treedx workspaces abandon": operation("treedx.workspaces.abandon", [field("path", "projectId", "context", "project", true), field("path", "workspaceId", "argument", "workspace", true)]),
101
+ "library show": local("local.library.show"),
102
+ "library status": local("local.library.status"),
103
+ "library paths": local("local.library.paths"),
104
+ "library read": local("local.library.read"),
105
+ "library search": local("local.library.search"),
106
+ "library query": local("local.library.query"),
107
+ "library context": local("local.library.context"),
108
+ "library workspace create": operation("knowledge.workspaces.create", [field("path", "projectId", "argument", "project", true), field("body", "requestId", "option", "request")]),
109
+ "library workspace show": operation("knowledge.workspaces.show", [field("path", "workspaceId", "argument", "workspace", true)]),
110
+ "library workspace read": operation("knowledge.workspaces.content.show", [field("path", "workspaceId", "argument", "workspace", true), field("query", "path", "argument", "path", true)]),
111
+ "library workspace diff": operation("knowledge.workspaces.diff", [field("path", "workspaceId", "argument", "workspace", true)]),
112
+ "library workspace write": operation("knowledge.workspaces.content.update", [field("path", "workspaceId", "argument", "workspace", true), field("body", "file", "option", "input", true)]),
113
+ "library workspace submit": operation("knowledge.workspaces.submit", [field("path", "workspaceId", "argument", "workspace", true), field("body", "version", "option", "version", true, "integer"), field("body", "message", "option"), field("body", "notes", "option"), field("body", "contextDigest", "option", "contextDigest")]),
114
+ "library workspace abandon": operation("knowledge.workspaces.abandon", [field("path", "workspaceId", "argument", "workspace", true), field("body", "version", "option", "version", true, "integer")]),
115
+ "library reviews list": operation("knowledge.reviews.list", [field("path", "teamId", "context", "team", true), ...page()]),
116
+ "library reviews decide": operation("knowledge.reviews.decide", [field("path", "reviewId", "argument", "review", true), field("body", "file", "option", "input", true)]),
117
+ "library reviews publish": operation("knowledge.reviews.publish", [field("path", "reviewId", "argument", "review", true), field("body", "file", "option", "input")]),
101
118
  "status": operation("status.show"),
102
119
  "save": unavailable("Unified GitHub-backed save is intentionally fail-closed during this cutover."),
103
120
  "stage": unavailable("Unified GitHub-backed stage is intentionally fail-closed during this cutover."),
@@ -145,6 +162,22 @@ function userCreate() {
145
162
  ];
146
163
  return value;
147
164
  }
165
+ function libraryRead(segment, extraArguments = [], extraOptions = []) {
166
+ return {
167
+ nodeType: "leaf",
168
+ segment,
169
+ description: `${segment[0].toUpperCase()}${segment.slice(1)} project library knowledge.`,
170
+ kind: "read",
171
+ arguments: ["project", ...extraArguments].map((name) => ({ name, description: `${name} value.`, required: true })),
172
+ options: [{ name: "--ref", description: "Exact commit or protected library ref.", type: "string" }, ...extraOptions],
173
+ resultSchemaId: `treeseed.command.library.${segment}/v1`,
174
+ execution: local(`local.library.${segment}`)
175
+ };
176
+ }
177
+ function addOptions(node, options) {
178
+ if (node.nodeType === "leaf") node.options = [...node.options ?? [], ...options];
179
+ return node;
180
+ }
148
181
  const commandTree = {
149
182
  schemaVersion: "treeseed.command-tree/v1",
150
183
  executable: "trsd",
@@ -217,6 +250,25 @@ const commandTree = {
217
250
  leaf("capabilities", "read", "project"),
218
251
  branch("workspaces", [leaf("list", "read", "project"), leaf("show", "read", "workspace"), leaf("abandon", "mutation", "workspace", "destructive")])
219
252
  ])]),
253
+ branch("library", [
254
+ libraryRead("show"),
255
+ libraryRead("status"),
256
+ libraryRead("paths", [], [{ name: "--prefix", description: "Repository-relative path prefix.", type: "string" }, { name: "--limit", description: "Page size.", type: "number" }, { name: "--cursor", description: "Opaque page cursor.", type: "string" }]),
257
+ libraryRead("read", ["path"]),
258
+ libraryRead("search", ["query"], [{ name: "--path", description: "Restrict search to a repository-relative path.", type: "string" }, { name: "--limit", description: "Page size.", type: "number" }, { name: "--cursor", description: "Opaque page cursor.", type: "string" }]),
259
+ libraryRead("query", ["query"], [{ name: "--model", description: "TreeDX content model.", type: "string" }, { name: "--input", description: "YAML or JSON query body.", type: "string" }]),
260
+ libraryRead("context", ["query"], [{ name: "--max-items", description: "Maximum context items.", type: "number" }, { name: "--max-tokens", description: "Maximum context tokens.", type: "number" }]),
261
+ branch("workspace", [
262
+ addOptions(leaf("create", "mutation", "project"), [{ name: "--request", description: "Replay-safe UUID request identity.", type: "string" }]),
263
+ leaf("show", "read", "workspace"),
264
+ { nodeType: "leaf", segment: "read", description: "Read a file from a governed library workspace.", kind: "read", arguments: [{ name: "workspace", description: "Workspace identity.", required: true }, { name: "path", description: "Repository-relative path.", required: true }], resultSchemaId: "treeseed.command.library.workspace.read/v1", execution: unavailable() },
265
+ leaf("diff", "read", "workspace"),
266
+ addOptions(leaf("write", "mutation", "workspace"), [{ name: "--input", description: "YAML or JSON draft body.", type: "string", required: true }]),
267
+ addOptions(leaf("submit", "mutation", "workspace"), [{ name: "--version", description: "Expected workspace version.", type: "number", required: true }, { name: "--message", description: "Commit message.", type: "string" }, { name: "--notes", description: "Review notes.", type: "string" }, { name: "--context-digest", description: "Verified editorial context digest.", type: "string" }]),
268
+ addOptions(leaf("abandon", "mutation", "workspace", "destructive"), [{ name: "--version", description: "Expected workspace version.", type: "number", required: true }])
269
+ ]),
270
+ branch("reviews", [leaf("list"), addOptions(leaf("decide", "mutation", "review"), [{ name: "--input", description: "YAML or JSON review decision.", type: "string", required: true }]), addOptions(leaf("publish", "mutation", "review"), [{ name: "--input", description: "Optional YAML or JSON publication body.", type: "string" }])])
271
+ ]),
220
272
  leaf("save", "mutation"),
221
273
  leaf("stage", "mutation", void 0, "authority"),
222
274
  leaf("release", "mutation", void 0, "production"),
@@ -184,17 +184,17 @@ const CONTROL_PLANE_OPERATIONS = {
184
184
  search: resource("knowledge.search", "GET", "/v1/knowledge/search", {}, { capability: "knowledge.read", surfaces: ["rest", "mcp_tool"], pagination: "cursor" }),
185
185
  teamCatalog: resource("knowledge.catalog.team", "GET", "/v1/teams/{teamId}/knowledge/catalog", { teamId: z.string().min(1) }, { capability: "knowledge.read", pagination: "cursor" }),
186
186
  projectCatalog: resource("knowledge.catalog.project", "GET", "/v1/projects/{projectId}/knowledge/catalog", { projectId: z.string().min(1) }, { capability: "knowledge.read", pagination: "cursor" }),
187
- createWorkspace: resource("knowledge.workspaces.create", "POST", "/v1/projects/{projectId}/knowledge/workspaces", { projectId: z.string().min(1) }, { capability: "knowledge.write", scopes: ["treeseed:knowledge:write"] }),
188
- workspace: resource("knowledge.workspaces.show", "GET", "/v1/knowledge/workspaces/{workspaceId}", { workspaceId: z.string().min(1) }, { capability: "knowledge.read" }),
189
- workspaceContent: resource("knowledge.workspaces.content.show", "GET", "/v1/knowledge/workspaces/{workspaceId}/content", { workspaceId: z.string().min(1) }, { capability: "knowledge.read" }),
190
- updateWorkspaceContent: resource("knowledge.workspaces.content.update", "PUT", "/v1/knowledge/workspaces/{workspaceId}/content", { workspaceId: z.string().min(1) }, { capability: "knowledge.write", scopes: ["treeseed:knowledge:write"], concurrency: true }),
191
- workspaceDiff: resource("knowledge.workspaces.diff", "GET", "/v1/knowledge/workspaces/{workspaceId}/diff", { workspaceId: z.string().min(1) }, { capability: "knowledge.read" }),
192
- abandonWorkspace: resource("knowledge.workspaces.abandon", "POST", "/v1/knowledge/workspaces/{workspaceId}/abandon", { workspaceId: z.string().min(1) }, { capability: "knowledge.write", scopes: ["treeseed:knowledge:write"], risk: "destructive", concurrency: true }),
193
- submitWorkspace: resource("knowledge.workspaces.submit", "POST", "/v1/knowledge/workspaces/{workspaceId}/submit", { workspaceId: z.string().min(1) }, { capability: "knowledge.write", scopes: ["treeseed:knowledge:write"], concurrency: true }),
194
- reviews: resource("knowledge.reviews.list", "GET", "/v1/teams/{teamId}/knowledge/reviews", { teamId: z.string().min(1) }, { capability: "knowledge.review", pagination: "cursor" }),
187
+ createWorkspace: resource("knowledge.workspaces.create", "POST", "/v1/projects/{projectId}/knowledge/workspaces", { projectId: z.string().min(1) }, { capability: "knowledge.write", scopes: ["treeseed:knowledge:write"], surfaces: ["rest", "cli"] }),
188
+ workspace: resource("knowledge.workspaces.show", "GET", "/v1/knowledge/workspaces/{workspaceId}", { workspaceId: z.string().min(1) }, { capability: "knowledge.read", surfaces: ["rest", "cli"] }),
189
+ workspaceContent: resource("knowledge.workspaces.content.show", "GET", "/v1/knowledge/workspaces/{workspaceId}/content", { workspaceId: z.string().min(1) }, { capability: "knowledge.read", surfaces: ["rest", "cli"] }),
190
+ updateWorkspaceContent: resource("knowledge.workspaces.content.update", "PUT", "/v1/knowledge/workspaces/{workspaceId}/content", { workspaceId: z.string().min(1) }, { capability: "knowledge.write", scopes: ["treeseed:knowledge:write"], surfaces: ["rest", "cli"], concurrency: true }),
191
+ workspaceDiff: resource("knowledge.workspaces.diff", "GET", "/v1/knowledge/workspaces/{workspaceId}/diff", { workspaceId: z.string().min(1) }, { capability: "knowledge.read", surfaces: ["rest", "cli"] }),
192
+ abandonWorkspace: resource("knowledge.workspaces.abandon", "POST", "/v1/knowledge/workspaces/{workspaceId}/abandon", { workspaceId: z.string().min(1) }, { capability: "knowledge.write", scopes: ["treeseed:knowledge:write"], surfaces: ["rest", "cli"], risk: "destructive", concurrency: true }),
193
+ submitWorkspace: resource("knowledge.workspaces.submit", "POST", "/v1/knowledge/workspaces/{workspaceId}/submit", { workspaceId: z.string().min(1) }, { capability: "knowledge.write", scopes: ["treeseed:knowledge:write"], surfaces: ["rest", "cli"], concurrency: true }),
194
+ reviews: resource("knowledge.reviews.list", "GET", "/v1/teams/{teamId}/knowledge/reviews", { teamId: z.string().min(1) }, { capability: "knowledge.review", surfaces: ["rest", "cli"], pagination: "cursor" }),
195
195
  commentReview: resource("knowledge.reviews.comments.create", "POST", "/v1/knowledge/reviews/{reviewId}/comments", { reviewId: z.string().min(1) }, { capability: "knowledge.review", scopes: ["treeseed:knowledge:write"] }),
196
- decideReview: resource("knowledge.reviews.decide", "POST", "/v1/knowledge/reviews/{reviewId}/decision", { reviewId: z.string().min(1) }, { capability: "knowledge.review", scopes: ["treeseed:knowledge:write"], concurrency: true }),
197
- publishReview: resource("knowledge.reviews.publish", "POST", "/v1/knowledge/reviews/{reviewId}/publish", { reviewId: z.string().min(1) }, { capability: "knowledge.publish", scopes: ["treeseed:knowledge:write"], concurrency: true })
196
+ decideReview: resource("knowledge.reviews.decide", "POST", "/v1/knowledge/reviews/{reviewId}/decision", { reviewId: z.string().min(1) }, { capability: "knowledge.review", scopes: ["treeseed:knowledge:write"], surfaces: ["rest", "cli"], concurrency: true }),
197
+ publishReview: resource("knowledge.reviews.publish", "POST", "/v1/knowledge/reviews/{reviewId}/publish", { reviewId: z.string().min(1) }, { capability: "knowledge.publish", scopes: ["treeseed:knowledge:write"], surfaces: ["rest", "cli"], concurrency: true })
198
198
  },
199
199
  governance: {
200
200
  proposals: resource("governance.proposals.list", "GET", "/v1/projects/{projectId}/proposals", { projectId: z.string().min(1) }, { capability: "governance.read", surfaces: ["rest", "mcp_tool", "mcp_resource"], pagination: "cursor" }),
@@ -1,5 +1,6 @@
1
1
  import type { ProviderLanePurpose } from '../../agent-capacity/contracts/capacity/communication/communication-records.js';
2
- export declare const SEED_BUNDLE_SCHEMA_VERSION: "treeseed.seed-bundle/v2";
2
+ export declare const SEED_BUNDLE_SCHEMA_VERSION: "treeseed.seed-bundle/v3";
3
+ export declare const HISTORICAL_SEED_BUNDLE_SCHEMA_VERSION: "treeseed.seed-bundle/v2";
3
4
  export type SeedEnvironment = 'local' | 'staging' | 'prod' | string;
4
5
  export interface SeedTeamResource {
5
6
  key: string;
@@ -43,7 +44,7 @@ export interface SeedRepositoryPolicy {
43
44
  export interface SeedRepositoryResource {
44
45
  key: string;
45
46
  project: string;
46
- role: 'primary' | 'fixture' | 'support' | 'template';
47
+ role: 'primary' | 'library' | 'fixture' | 'support' | 'template';
47
48
  provider: 'github';
48
49
  owner: string;
49
50
  name: string;
@@ -62,6 +63,7 @@ export interface SeedProjectResource {
62
63
  description: string;
63
64
  kind: string;
64
65
  primaryRepository?: string;
66
+ libraryRepository: string;
65
67
  metadata?: Record<string, unknown>;
66
68
  }
67
69
  export interface SeedCapacityProviderPrerequisite {
@@ -75,8 +77,7 @@ export interface SeedCapacityProviderPrerequisite {
75
77
  allowedModes: Array<'planning' | 'acting'>;
76
78
  requiredLanePurposes: ProviderLanePurpose[];
77
79
  }
78
- export interface SeedBundleV2 {
79
- schemaVersion: typeof SEED_BUNDLE_SCHEMA_VERSION;
80
+ interface SeedBundleBody {
80
81
  name: string;
81
82
  version: number;
82
83
  description: string;
@@ -92,6 +93,19 @@ export interface SeedBundleV2 {
92
93
  capacityProviders: SeedCapacityProviderPrerequisite[];
93
94
  };
94
95
  }
96
+ export interface SeedBundleV3 extends SeedBundleBody {
97
+ schemaVersion: typeof SEED_BUNDLE_SCHEMA_VERSION;
98
+ }
99
+ /** Historical receipt shape. It is decodable, but cannot be planned or applied. */
100
+ export interface SeedBundleV2 extends Omit<SeedBundleBody, 'resources'> {
101
+ schemaVersion: typeof HISTORICAL_SEED_BUNDLE_SCHEMA_VERSION;
102
+ resources: Omit<SeedBundleBody['resources'], 'projects'> & {
103
+ projects: Array<Omit<SeedProjectResource, 'libraryRepository'> & {
104
+ libraryRepository?: string;
105
+ }>;
106
+ };
107
+ }
108
+ export type SeedBundle = SeedBundleV3 | SeedBundleV2;
95
109
  export interface SeedResourceReceipt {
96
110
  resourceKey: string;
97
111
  action: 'create' | 'adopt' | 'update' | 'noop' | 'blocked';
@@ -118,6 +132,7 @@ export interface SeedBundleDiagnostic {
118
132
  path: string;
119
133
  message: string;
120
134
  }
121
- export declare function canonicalSeedBundlePayload(bundle: Omit<SeedBundleV2, 'digest'> | SeedBundleV2): string;
122
- export declare function digestSeedBundle(bundle: Omit<SeedBundleV2, 'digest'> | SeedBundleV2): Promise<`sha256:${string}`>;
123
- export declare function validateSeedBundle(bundle: SeedBundleV2): SeedBundleDiagnostic[];
135
+ export declare function canonicalSeedBundlePayload(bundle: Omit<SeedBundle, 'digest'> | SeedBundle): string;
136
+ export declare function digestSeedBundle(bundle: Omit<SeedBundle, 'digest'> | SeedBundle): Promise<`sha256:${string}`>;
137
+ export declare function validateSeedBundle(bundle: SeedBundle): SeedBundleDiagnostic[];
138
+ export {};
@@ -1,4 +1,5 @@
1
- const SEED_BUNDLE_SCHEMA_VERSION = "treeseed.seed-bundle/v2";
1
+ const SEED_BUNDLE_SCHEMA_VERSION = "treeseed.seed-bundle/v3";
2
+ const HISTORICAL_SEED_BUNDLE_SCHEMA_VERSION = "treeseed.seed-bundle/v2";
2
3
  function text(value) {
3
4
  return typeof value === "string" && value.trim().length > 0;
4
5
  }
@@ -19,7 +20,11 @@ async function digestSeedBundle(bundle) {
19
20
  function validateSeedBundle(bundle) {
20
21
  const diagnostics = [];
21
22
  const add = (code, path, message) => diagnostics.push({ code, path, message });
22
- if (bundle?.schemaVersion !== SEED_BUNDLE_SCHEMA_VERSION) add("seed_bundle_schema_invalid", "schemaVersion", `schemaVersion must be ${SEED_BUNDLE_SCHEMA_VERSION}.`);
23
+ if (bundle?.schemaVersion === HISTORICAL_SEED_BUNDLE_SCHEMA_VERSION) {
24
+ add("seed_bundle_v2_migration_required", "schemaVersion", `Historical v2 bundles remain readable but must be migrated to ${SEED_BUNDLE_SCHEMA_VERSION} before planning or apply.`);
25
+ } else if (bundle?.schemaVersion !== SEED_BUNDLE_SCHEMA_VERSION) {
26
+ add("seed_bundle_schema_invalid", "schemaVersion", `schemaVersion must be ${SEED_BUNDLE_SCHEMA_VERSION}.`);
27
+ }
23
28
  if (!text(bundle?.name) || !Number.isInteger(bundle?.version) || bundle.version < 1) add("seed_bundle_identity_invalid", "name", "Seed name and positive version are required.");
24
29
  if (!/^sha256:[a-f0-9]{64}$/u.test(bundle?.digest ?? "")) add("seed_bundle_digest_invalid", "digest", "Seed digest must be an exact SHA-256 digest.");
25
30
  const teams = new Set((bundle?.resources?.teams ?? []).map((entry) => entry.key));
@@ -35,9 +40,17 @@ function validateSeedBundle(bundle) {
35
40
  if (!teams.has(project.team)) add("seed_bundle_project_team_unknown", `resources.projects[${index}].team`, "Project references an unknown team.");
36
41
  if (!project.primaryRepository && project.kind !== "content") add("seed_bundle_primary_repository_required", `resources.projects[${index}].primaryRepository`, "Non-content projects require a primary source repository.");
37
42
  if (project.primaryRepository && !repositories.has(project.primaryRepository)) add("seed_bundle_primary_repository_unknown", `resources.projects[${index}].primaryRepository`, "Project primary repository is missing.");
43
+ if (!project.libraryRepository) add("seed_bundle_library_repository_required", `resources.projects[${index}].libraryRepository`, "Every project requires one library repository.");
44
+ if (project.libraryRepository && !repositories.has(project.libraryRepository)) add("seed_bundle_library_repository_unknown", `resources.projects[${index}].libraryRepository`, "Project library repository is missing.");
38
45
  }
39
46
  for (const [index, repository] of (bundle?.resources?.repositories ?? []).entries()) {
40
- if (repository.role === "content") add("seed_bundle_content_repository_forbidden", `resources.repositories[${index}].role`, "Virtual knowledge repositories are derived by TreeDX and must not be declared as Git repositories.");
47
+ if (repository.role === "content") add("seed_bundle_content_repository_renamed", `resources.repositories[${index}].role`, "Repository-backed knowledge uses role library.");
48
+ }
49
+ for (const [index, project] of (bundle?.resources?.projects ?? []).entries()) {
50
+ const library = (bundle?.resources?.repositories ?? []).find((entry) => entry.key === project.libraryRepository);
51
+ if (library && (library.role !== "library" || library.project !== project.key)) add("seed_bundle_library_repository_mismatch", `resources.projects[${index}].libraryRepository`, "libraryRepository must reference a library-role repository owned by this project.");
52
+ const projectLibraries = (bundle?.resources?.repositories ?? []).filter((entry) => entry.project === project.key && entry.role === "library");
53
+ if (projectLibraries.length !== 1) add("seed_bundle_library_repository_count_invalid", `resources.projects[${index}].libraryRepository`, "Every project must declare exactly one library-role repository.");
41
54
  }
42
55
  for (const [index, provider] of (bundle?.runtime?.capacityProviders ?? []).entries()) {
43
56
  if (!teams.has(provider.team)) add("seed_bundle_provider_team_unknown", `runtime.capacityProviders[${index}].team`, "Provider references an unknown team.");
@@ -47,6 +60,7 @@ function validateSeedBundle(bundle) {
47
60
  return diagnostics;
48
61
  }
49
62
  export {
63
+ HISTORICAL_SEED_BUNDLE_SCHEMA_VERSION,
50
64
  SEED_BUNDLE_SCHEMA_VERSION,
51
65
  canonicalSeedBundlePayload,
52
66
  digestSeedBundle,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@treeseed/sdk",
3
- "version": "0.13.0-rc.34",
3
+ "version": "0.13.0-rc.35",
4
4
  "description": "Portable TreeSeed contracts, standards, and typed remote control-plane clients.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {