@interactive-inc/docs-client 0.0.9 → 0.0.11

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/build/models.js CHANGED
@@ -1,81 +1,74 @@
1
1
  // lib/models.ts
2
- import { z } from "zod/v4";
2
+ import { z } from "zod";
3
3
  var zDocFilePath = z.object({
4
4
  name: z.string(),
5
5
  path: z.string(),
6
6
  fullPath: z.string(),
7
7
  nameWithExtension: z.string()
8
8
  });
9
- var zDocSchemaFieldTypeText = z.literal("text");
10
- var zDocSchemaFieldTypeNumber = z.literal("number");
11
- var zDocSchemaFieldTypeBoolean = z.literal("boolean");
12
- var zDocSchemaFieldTypeMultiText = z.literal("multi-text");
13
- var zDocSchemaFieldTypeMultiNumber = z.literal("multi-number");
14
- var zDocSchemaFieldTypeMultiBoolean = z.literal("multi-boolean");
15
- var zDocSchemaFieldTypeRelation = z.literal("relation");
16
- var zDocSchemaFieldTypeMultiRelation = z.literal("multi-relation");
17
- var zDocSchemaFieldTypeSelectText = z.literal("select-text");
18
- var zDocSchemaFieldTypeSelectNumber = z.literal("select-number");
19
- var zDocSchemaFieldTypeMultiSelectText = z.literal("multi-select-text");
20
- var zDocSchemaFieldTypeMultiSelectNumber = z.literal("multi-select-number");
21
- var zDocSchemaFieldType = z.union([
22
- zDocSchemaFieldTypeText,
23
- zDocSchemaFieldTypeNumber,
24
- zDocSchemaFieldTypeBoolean,
25
- zDocSchemaFieldTypeMultiText,
26
- zDocSchemaFieldTypeMultiNumber,
27
- zDocSchemaFieldTypeMultiBoolean,
28
- zDocSchemaFieldTypeRelation,
29
- zDocSchemaFieldTypeMultiRelation,
30
- zDocSchemaFieldTypeSelectText,
31
- zDocSchemaFieldTypeSelectNumber,
32
- zDocSchemaFieldTypeMultiSelectText,
33
- zDocSchemaFieldTypeMultiSelectNumber
9
+ var zDocMetaFieldTypeText = z.literal("text");
10
+ var zDocMetaFieldTypeNumber = z.literal("number");
11
+ var zDocMetaFieldTypeBoolean = z.literal("boolean");
12
+ var zDocMetaFieldTypeSelectText = z.literal("select-text");
13
+ var zDocMetaFieldTypeSelectNumber = z.literal("select-number");
14
+ var zDocMetaFieldTypeRelation = z.literal("relation");
15
+ var zDocMetaFieldTypeMultiText = z.literal("multi-text");
16
+ var zDocMetaFieldTypeMultiNumber = z.literal("multi-number");
17
+ var zDocMetaFieldTypeMultiRelation = z.literal("multi-relation");
18
+ var zDocMetaFieldTypeMultiSelectText = z.literal("multi-select-text");
19
+ var zDocMetaFieldTypeMultiSelectNumber = z.literal(
20
+ "multi-select-number"
21
+ );
22
+ var zDocMetaFieldType = z.union([
23
+ zDocMetaFieldTypeText,
24
+ zDocMetaFieldTypeNumber,
25
+ zDocMetaFieldTypeBoolean,
26
+ zDocMetaFieldTypeMultiText,
27
+ zDocMetaFieldTypeMultiNumber,
28
+ zDocMetaFieldTypeRelation,
29
+ zDocMetaFieldTypeMultiRelation,
30
+ zDocMetaFieldTypeSelectText,
31
+ zDocMetaFieldTypeSelectNumber,
32
+ zDocMetaFieldTypeMultiSelectText,
33
+ zDocMetaFieldTypeMultiSelectNumber
34
34
  ]);
35
35
  var zDocSchemaFieldText = z.object({
36
- type: zDocSchemaFieldTypeText,
36
+ type: zDocMetaFieldTypeText,
37
37
  required: z.boolean(),
38
38
  title: z.string().nullable(),
39
39
  description: z.string().nullable(),
40
40
  default: z.string().nullable()
41
41
  });
42
42
  var zDocSchemaFieldNumber = z.object({
43
- type: zDocSchemaFieldTypeNumber,
43
+ type: zDocMetaFieldTypeNumber,
44
44
  required: z.boolean(),
45
45
  title: z.string().nullable(),
46
46
  description: z.string().nullable(),
47
47
  default: z.number().nullable()
48
48
  });
49
49
  var zDocSchemaFieldBoolean = z.object({
50
- type: zDocSchemaFieldTypeBoolean,
50
+ type: zDocMetaFieldTypeBoolean,
51
51
  required: z.boolean(),
52
52
  title: z.string().nullable(),
53
53
  description: z.string().nullable(),
54
54
  default: z.boolean().nullable()
55
55
  });
56
56
  var zDocSchemaFieldMultiText = z.object({
57
- type: zDocSchemaFieldTypeMultiText,
57
+ type: zDocMetaFieldTypeMultiText,
58
58
  required: z.boolean(),
59
59
  title: z.string().nullable(),
60
60
  description: z.string().nullable(),
61
61
  default: z.array(z.string()).nullable()
62
62
  });
63
63
  var zDocSchemaFieldMultiNumber = z.object({
64
- type: zDocSchemaFieldTypeMultiNumber,
64
+ type: zDocMetaFieldTypeMultiNumber,
65
65
  required: z.boolean(),
66
66
  title: z.string().nullable(),
67
67
  description: z.string().nullable(),
68
68
  default: z.array(z.number()).nullable()
69
69
  });
70
- var zDocSchemaFieldMultiBoolean = z.object({
71
- type: zDocSchemaFieldTypeMultiBoolean,
72
- required: z.boolean(),
73
- title: z.string().nullable(),
74
- description: z.string().nullable(),
75
- default: z.array(z.boolean()).nullable()
76
- });
77
70
  var zDocSchemaFieldRelation = z.object({
78
- type: zDocSchemaFieldTypeRelation,
71
+ type: zDocMetaFieldTypeRelation,
79
72
  required: z.boolean(),
80
73
  title: z.string().nullable(),
81
74
  description: z.string().nullable(),
@@ -83,7 +76,7 @@ var zDocSchemaFieldRelation = z.object({
83
76
  default: z.string().nullable()
84
77
  });
85
78
  var zDocSchemaFieldMultiRelation = z.object({
86
- type: zDocSchemaFieldTypeMultiRelation,
79
+ type: zDocMetaFieldTypeMultiRelation,
87
80
  required: z.boolean(),
88
81
  title: z.string().nullable(),
89
82
  description: z.string().nullable(),
@@ -91,7 +84,7 @@ var zDocSchemaFieldMultiRelation = z.object({
91
84
  default: z.array(z.string()).nullable()
92
85
  });
93
86
  var zDocSchemaFieldSelectText = z.object({
94
- type: zDocSchemaFieldTypeSelectText,
87
+ type: zDocMetaFieldTypeSelectText,
95
88
  required: z.boolean(),
96
89
  title: z.string().nullable(),
97
90
  description: z.string().nullable(),
@@ -99,7 +92,7 @@ var zDocSchemaFieldSelectText = z.object({
99
92
  default: z.string().nullable()
100
93
  });
101
94
  var zDocSchemaFieldSelectNumber = z.object({
102
- type: zDocSchemaFieldTypeSelectNumber,
95
+ type: zDocMetaFieldTypeSelectNumber,
103
96
  required: z.boolean(),
104
97
  title: z.string().nullable(),
105
98
  description: z.string().nullable(),
@@ -107,7 +100,7 @@ var zDocSchemaFieldSelectNumber = z.object({
107
100
  default: z.number().nullable()
108
101
  });
109
102
  var zDocSchemaFieldMultiSelectText = z.object({
110
- type: zDocSchemaFieldTypeMultiSelectText,
103
+ type: zDocMetaFieldTypeMultiSelectText,
111
104
  required: z.boolean(),
112
105
  title: z.string().nullable(),
113
106
  description: z.string().nullable(),
@@ -115,20 +108,19 @@ var zDocSchemaFieldMultiSelectText = z.object({
115
108
  default: z.array(z.string()).nullable()
116
109
  });
117
110
  var zDocSchemaFieldMultiSelectNumber = z.object({
118
- type: zDocSchemaFieldTypeMultiSelectNumber,
111
+ type: zDocMetaFieldTypeMultiSelectNumber,
119
112
  required: z.boolean(),
120
113
  title: z.string().nullable(),
121
114
  description: z.string().nullable(),
122
115
  options: z.array(z.number()),
123
116
  default: z.array(z.number()).nullable()
124
117
  });
125
- var zDocSchemaField = z.union([
118
+ var zDocFileIndexSchemaField = z.union([
126
119
  zDocSchemaFieldText,
127
120
  zDocSchemaFieldNumber,
128
121
  zDocSchemaFieldBoolean,
129
122
  zDocSchemaFieldMultiText,
130
123
  zDocSchemaFieldMultiNumber,
131
- zDocSchemaFieldMultiBoolean,
132
124
  zDocSchemaFieldRelation,
133
125
  zDocSchemaFieldMultiRelation,
134
126
  zDocSchemaFieldSelectText,
@@ -136,24 +128,99 @@ var zDocSchemaField = z.union([
136
128
  zDocSchemaFieldMultiSelectText,
137
129
  zDocSchemaFieldMultiSelectNumber
138
130
  ]);
139
- var zDocFileMdFrontMatter = z.record(
131
+ var zDocMetaFieldText = z.string().nullable();
132
+ var zDocMetaFieldBoolean = z.boolean().nullable();
133
+ var zDocMetaFieldNumber = z.number().nullable();
134
+ var zDocMetaFieldSelectText = z.string().nullable();
135
+ var zDocMetaFieldSelectNumber = z.number().nullable();
136
+ var zDocMetaFieldRelation = z.string().nullable();
137
+ var zDocMetaFieldMultiText = z.string().array();
138
+ var zDocMetaFieldMultiNumber = z.number().array();
139
+ var zDocMetaFieldMultiBoolean = z.boolean().array();
140
+ var zDocMetaFieldMultiSelectText = z.string().array();
141
+ var zDocMetaFieldMultiSelectNumber = z.number().array();
142
+ var zDocMetaFieldMultiRelation = z.string().array();
143
+ var zDocMetaField = z.union([
144
+ zDocMetaFieldText,
145
+ zDocMetaFieldBoolean,
146
+ zDocMetaFieldNumber,
147
+ zDocMetaFieldSelectText,
148
+ zDocMetaFieldSelectNumber,
149
+ zDocMetaFieldRelation,
150
+ zDocMetaFieldMultiText,
151
+ zDocMetaFieldMultiNumber,
152
+ zDocMetaFieldMultiBoolean,
153
+ zDocMetaFieldMultiSelectText,
154
+ zDocMetaFieldMultiSelectNumber,
155
+ zDocMetaFieldMultiRelation
156
+ ]);
157
+ var zDocFileMdMeta = z.record(z.string(), zDocMetaField);
158
+ var zDocFileIndexSchema = z.record(
140
159
  z.string(),
141
- z.union([
142
- z.string(),
143
- z.boolean(),
144
- z.number(),
145
- z.array(z.string()),
146
- z.array(z.number()),
147
- z.array(z.boolean()),
148
- z.record(z.string(), z.unknown()),
149
- z.null()
150
- ])
160
+ zDocFileIndexSchemaField
151
161
  );
152
- var zDocSchema = z.record(z.string(), zDocSchemaField);
153
- var zDocFileIndexFrontMatter = z.object({
154
- type: z.literal("index-frontmatter"),
155
- icon: z.string(),
156
- schema: zDocSchema
162
+ var zDocCustomSchemaFieldText = z.object({
163
+ type: zDocMetaFieldTypeText,
164
+ required: z.boolean()
165
+ });
166
+ var zDocCustomSchemaFieldNumber = z.object({
167
+ type: zDocMetaFieldTypeNumber,
168
+ required: z.boolean()
169
+ });
170
+ var zDocCustomSchemaFieldBoolean = z.object({
171
+ type: zDocMetaFieldTypeBoolean,
172
+ required: z.boolean()
173
+ });
174
+ var zDocCustomSchemaFieldRelation = z.object({
175
+ type: zDocMetaFieldTypeRelation,
176
+ required: z.boolean()
177
+ });
178
+ var zDocCustomSchemaFieldSelectText = z.object({
179
+ type: zDocMetaFieldTypeSelectText,
180
+ required: z.boolean()
181
+ });
182
+ var zDocCustomSchemaFieldSelectNumber = z.object({
183
+ type: zDocMetaFieldTypeSelectNumber,
184
+ required: z.boolean()
185
+ });
186
+ var zDocCustomSchemaFieldMultiText = z.object({
187
+ type: zDocMetaFieldTypeMultiText,
188
+ required: z.boolean()
189
+ });
190
+ var zDocCustomSchemaFieldMultiNumber = z.object({
191
+ type: zDocMetaFieldTypeMultiNumber,
192
+ required: z.boolean()
193
+ });
194
+ var zDocCustomSchemaFieldMultiRelation = z.object({
195
+ type: zDocMetaFieldTypeMultiRelation,
196
+ required: z.boolean()
197
+ });
198
+ var zDocCustomSchemaFieldMultiSelectText = z.object({
199
+ type: zDocMetaFieldTypeMultiSelectText,
200
+ required: z.boolean()
201
+ });
202
+ var zDocCustomSchemaFieldMultiSelectNumber = z.object({
203
+ type: zDocMetaFieldTypeMultiSelectNumber,
204
+ required: z.boolean()
205
+ });
206
+ var zDocCustomSchemaField = z.union([
207
+ zDocCustomSchemaFieldText,
208
+ zDocCustomSchemaFieldNumber,
209
+ zDocCustomSchemaFieldBoolean,
210
+ zDocCustomSchemaFieldRelation,
211
+ zDocCustomSchemaFieldSelectText,
212
+ zDocCustomSchemaFieldSelectNumber,
213
+ zDocCustomSchemaFieldMultiText,
214
+ zDocCustomSchemaFieldMultiNumber,
215
+ zDocCustomSchemaFieldMultiRelation,
216
+ zDocCustomSchemaFieldMultiSelectText,
217
+ zDocCustomSchemaFieldMultiSelectNumber
218
+ ]);
219
+ var zDocCustomSchema = z.record(z.string(), zDocCustomSchemaField);
220
+ var zDocFileIndexMeta = z.object({
221
+ type: z.literal("index-meta"),
222
+ icon: z.string().nullable(),
223
+ schema: zDocFileIndexSchema
157
224
  });
158
225
  var zDocRelationField = z.object({
159
226
  fieldName: z.string(),
@@ -170,24 +237,24 @@ var zDocRelation = z.object({
170
237
  path: z.string(),
171
238
  files: z.array(zDocRelationFile)
172
239
  });
173
- var zDocFileContentMd = z.object({
240
+ var zDocFileMdContent = z.object({
174
241
  type: z.literal("markdown-content"),
175
242
  body: z.string(),
176
243
  title: z.string(),
177
244
  description: z.string(),
178
- frontMatter: zDocFileMdFrontMatter
245
+ meta: zDocFileMdMeta
179
246
  });
180
- var zDocFileContentIndex = z.object({
247
+ var zDocFileIndexContent = z.object({
181
248
  type: z.literal("markdown-index"),
182
249
  body: z.string(),
183
250
  title: z.string(),
184
251
  description: z.string(),
185
- frontMatter: zDocFileIndexFrontMatter
252
+ meta: zDocFileIndexMeta
186
253
  });
187
254
  var zDocFileIndex = z.object({
188
255
  type: z.literal("index"),
189
256
  path: zDocFilePath,
190
- content: zDocFileContentIndex,
257
+ content: zDocFileIndexContent,
191
258
  isArchived: z.boolean()
192
259
  });
193
260
  var zDocFileUnknown = z.object({
@@ -200,7 +267,7 @@ var zDocFileUnknown = z.object({
200
267
  var zDocFileMd = z.object({
201
268
  type: z.literal("markdown"),
202
269
  path: zDocFilePath,
203
- content: zDocFileContentMd,
270
+ content: zDocFileMdContent,
204
271
  isArchived: z.boolean()
205
272
  });
206
273
  var zDocFile = z.union([zDocFileIndex, zDocFileMd, zDocFileUnknown]);
@@ -222,23 +289,76 @@ var zDocTreeDirectoryNode = z.lazy(() => {
222
289
  });
223
290
  });
224
291
  var zDocTreeNode = z.union([zDocTreeFileNode, zDocTreeDirectoryNode]);
292
+ var zDocClientConfig = z.object({
293
+ defaultIndexIcon: z.string().optional(),
294
+ indexFileName: z.string().optional(),
295
+ archiveDirectoryName: z.string().optional(),
296
+ defaultDirectoryName: z.string().optional(),
297
+ indexMetaIncludes: z.array(z.string()).optional(),
298
+ directoryExcludes: z.array(z.string()).optional()
299
+ }).transform((data) => ({
300
+ defaultIndexIcon: data.defaultIndexIcon ?? "\u{1F4C3}",
301
+ indexFileName: data.indexFileName ?? "index.md",
302
+ archiveDirectoryName: data.archiveDirectoryName ?? "_",
303
+ defaultDirectoryName: data.defaultDirectoryName ?? "Directory",
304
+ indexMetaIncludes: data.indexMetaIncludes ?? [],
305
+ directoryExcludes: data.directoryExcludes ?? [".vitepress"]
306
+ }));
225
307
  export {
308
+ zDocClientConfig,
309
+ zDocCustomSchema,
310
+ zDocCustomSchemaField,
311
+ zDocCustomSchemaFieldBoolean,
312
+ zDocCustomSchemaFieldMultiNumber,
313
+ zDocCustomSchemaFieldMultiRelation,
314
+ zDocCustomSchemaFieldMultiSelectNumber,
315
+ zDocCustomSchemaFieldMultiSelectText,
316
+ zDocCustomSchemaFieldMultiText,
317
+ zDocCustomSchemaFieldNumber,
318
+ zDocCustomSchemaFieldRelation,
319
+ zDocCustomSchemaFieldSelectNumber,
320
+ zDocCustomSchemaFieldSelectText,
321
+ zDocCustomSchemaFieldText,
226
322
  zDocFile,
227
- zDocFileContentIndex,
228
- zDocFileContentMd,
229
323
  zDocFileIndex,
230
- zDocFileIndexFrontMatter,
324
+ zDocFileIndexContent,
325
+ zDocFileIndexMeta,
326
+ zDocFileIndexSchema,
327
+ zDocFileIndexSchemaField,
231
328
  zDocFileMd,
232
- zDocFileMdFrontMatter,
329
+ zDocFileMdContent,
330
+ zDocFileMdMeta,
233
331
  zDocFilePath,
234
332
  zDocFileUnknown,
333
+ zDocMetaField,
334
+ zDocMetaFieldBoolean,
335
+ zDocMetaFieldMultiBoolean,
336
+ zDocMetaFieldMultiNumber,
337
+ zDocMetaFieldMultiRelation,
338
+ zDocMetaFieldMultiSelectNumber,
339
+ zDocMetaFieldMultiSelectText,
340
+ zDocMetaFieldMultiText,
341
+ zDocMetaFieldNumber,
342
+ zDocMetaFieldRelation,
343
+ zDocMetaFieldSelectNumber,
344
+ zDocMetaFieldSelectText,
345
+ zDocMetaFieldText,
346
+ zDocMetaFieldType,
347
+ zDocMetaFieldTypeBoolean,
348
+ zDocMetaFieldTypeMultiNumber,
349
+ zDocMetaFieldTypeMultiRelation,
350
+ zDocMetaFieldTypeMultiSelectNumber,
351
+ zDocMetaFieldTypeMultiSelectText,
352
+ zDocMetaFieldTypeMultiText,
353
+ zDocMetaFieldTypeNumber,
354
+ zDocMetaFieldTypeRelation,
355
+ zDocMetaFieldTypeSelectNumber,
356
+ zDocMetaFieldTypeSelectText,
357
+ zDocMetaFieldTypeText,
235
358
  zDocRelation,
236
359
  zDocRelationField,
237
360
  zDocRelationFile,
238
- zDocSchema,
239
- zDocSchemaField,
240
361
  zDocSchemaFieldBoolean,
241
- zDocSchemaFieldMultiBoolean,
242
362
  zDocSchemaFieldMultiNumber,
243
363
  zDocSchemaFieldMultiRelation,
244
364
  zDocSchemaFieldMultiSelectNumber,
@@ -249,7 +369,6 @@ export {
249
369
  zDocSchemaFieldSelectNumber,
250
370
  zDocSchemaFieldSelectText,
251
371
  zDocSchemaFieldText,
252
- zDocSchemaFieldType,
253
372
  zDocTreeDirectoryNode,
254
373
  zDocTreeFileNode,
255
374
  zDocTreeNode
package/debug/debug.ts ADDED
@@ -0,0 +1,40 @@
1
+ import { DocClient } from "@/doc-client"
2
+ import { DocFileSystem } from "@/doc-file-system"
3
+
4
+ const client = new DocClient({
5
+ fileSystem: new DocFileSystem({ basePath: "../../docs" }),
6
+ })
7
+
8
+ const pagesRef = client.directory("docs-studio/pages", {
9
+ features: {
10
+ type: "multi-relation",
11
+ required: true,
12
+ },
13
+ })
14
+
15
+ const mdFileRef = await pagesRef.mdFile("document-editor")
16
+
17
+ const mdFile = await mdFileRef.read()
18
+
19
+ if (mdFile instanceof Error) {
20
+ throw mdFile
21
+ }
22
+
23
+ mdFile.withContent(
24
+ mdFile.content.withMetaProperty("features", [
25
+ "edit-document-content",
26
+ "delete-document",
27
+ "foo",
28
+ ]),
29
+ )
30
+
31
+ const relations = await mdFileRef.relations("features", {
32
+ "is-done": {
33
+ required: true,
34
+ type: "boolean",
35
+ },
36
+ })
37
+
38
+ const file = await relations[0].read()
39
+
40
+ console.log("relations", file)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@interactive-inc/docs-client",
3
- "version": "0.0.9",
3
+ "version": "0.0.11",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "check": "tsgo --noEmit",
@@ -9,7 +9,7 @@
9
9
  },
10
10
  "dependencies": {
11
11
  "yaml": "^2.8.0",
12
- "zod": "^3.25.74"
12
+ "zod": "^4.0.5"
13
13
  },
14
14
  "publishConfig": {
15
15
  "access": "public"