@purpleschool/gptbot 0.11.8 → 0.11.9
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/api/controllers/http/writer.ts +6 -0
- package/api/routes.ts +20 -0
- package/build/api/controllers/http/writer.js +5 -0
- package/build/api/routes.js +10 -0
- package/build/commands/tools/writer/collect-writer-document-sources.command.js +15 -0
- package/build/commands/tools/writer/confirm-source-citation-metadata.command.js +19 -0
- package/build/commands/tools/writer/get-writer-document-sources.command.js +14 -0
- package/build/commands/tools/writer/index.js +4 -0
- package/build/commands/tools/writer/upload-writer-source.command.js +17 -0
- package/build/constants/writer/enums/index.js +3 -0
- package/build/constants/writer/enums/writer-document-stage.enum.js +6 -0
- package/build/constants/writer/enums/writer-source-origin.enum.js +8 -0
- package/build/constants/writer/enums/writer-source-status.enum.js +9 -0
- package/build/constants/writer/enums/writer-source-type.enum.js +8 -0
- package/build/models/tools/writer/index.js +2 -0
- package/build/models/tools/writer/writer-document-type.schema.js +2 -0
- package/build/models/tools/writer/writer-document.schema.js +3 -0
- package/build/models/tools/writer/writer-source-bibliographic-metadata.schema.js +27 -0
- package/build/models/tools/writer/writer-source.schema.js +20 -0
- package/commands/tools/writer/collect-writer-document-sources.command.ts +17 -0
- package/commands/tools/writer/confirm-source-citation-metadata.command.ts +21 -0
- package/commands/tools/writer/get-writer-document-sources.command.ts +14 -0
- package/commands/tools/writer/index.ts +4 -0
- package/commands/tools/writer/upload-writer-source.command.ts +19 -0
- package/constants/writer/enums/index.ts +3 -0
- package/constants/writer/enums/writer-document-stage.enum.ts +8 -0
- package/constants/writer/enums/writer-source-origin.enum.ts +4 -0
- package/constants/writer/enums/writer-source-status.enum.ts +5 -0
- package/constants/writer/enums/writer-source-type.enum.ts +4 -0
- package/models/tools/writer/index.ts +2 -0
- package/models/tools/writer/writer-document-type.schema.ts +2 -0
- package/models/tools/writer/writer-document.schema.ts +3 -0
- package/models/tools/writer/writer-source-bibliographic-metadata.schema.ts +31 -0
- package/models/tools/writer/writer-source.schema.ts +20 -0
- package/package.json +1 -1
|
@@ -6,6 +6,11 @@ export const WRITER_ROUTES = {
|
|
|
6
6
|
CREATE: 'documents',
|
|
7
7
|
GET_DOCUMENTS: 'documents',
|
|
8
8
|
GET_DOCUMENT: (uuid: string) => `documents/${uuid}`,
|
|
9
|
+
GET_DOCUMENT_SOURCES: (uuid: string) => `documents/${uuid}/sources`,
|
|
10
|
+
COLLECT_SOURCES: (uuid: string) => `documents/${uuid}/sources/collect`,
|
|
11
|
+
UPLOAD_SOURCE: (uuid: string) => `documents/${uuid}/sources/upload`,
|
|
12
|
+
CONFIRM_SOURCE_CITATION_METADATA: (docId: string, sourceId: string) =>
|
|
13
|
+
`documents/${docId}/sources/${sourceId}/confirm`,
|
|
9
14
|
GENERATE_CONTENTS: (uuid: string) => `documents/${uuid}/generate`,
|
|
10
15
|
UPDATE_OUTLINE: (uuid: string) => `documents/${uuid}/outline`,
|
|
11
16
|
UPDATE_TITLE_PAGE: (uuid: string) => `documents/${uuid}/title-page`,
|
|
@@ -20,4 +25,5 @@ export const WRITER_ROUTES = {
|
|
|
20
25
|
GENERATE_TEXT: (uuid: string) => `documents/${uuid}/actions/generate-text`,
|
|
21
26
|
EXPORT_AS_DOCX: (uuid: string) => `documents/${uuid}/export/docx`,
|
|
22
27
|
SET_REACTION: (uuid: string) => `documents/${uuid}/reaction`,
|
|
28
|
+
DISCARD_SOURCE: (uuid: string) => `sources/${uuid}/discard`,
|
|
23
29
|
} as const;
|
package/api/routes.ts
CHANGED
|
@@ -437,6 +437,14 @@ export const REST_API = {
|
|
|
437
437
|
GET_DOCUMENTS: `${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.GET_DOCUMENTS}`,
|
|
438
438
|
GET_DOCUMENT: (uuid: string) =>
|
|
439
439
|
`${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.GET_DOCUMENT(uuid)}`,
|
|
440
|
+
GET_DOCUMENT_SOURCES: (uuid: string) =>
|
|
441
|
+
`${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.GET_DOCUMENT_SOURCES(uuid)}`,
|
|
442
|
+
COLLECT_SOURCES: (uuid: string) =>
|
|
443
|
+
`${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.COLLECT_SOURCES(uuid)}`,
|
|
444
|
+
UPLOAD_SOURCE: (uuid: string) =>
|
|
445
|
+
`${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.UPLOAD_SOURCE(uuid)}`,
|
|
446
|
+
CONFIRM_SOURCE_CITATION_METADATA: (docId: string, sourceId: string) =>
|
|
447
|
+
`${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.CONFIRM_SOURCE_CITATION_METADATA(docId, sourceId)}`,
|
|
440
448
|
GENERATE_CONTENTS: (uuid: string) =>
|
|
441
449
|
`${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.GENERATE_CONTENTS(uuid)}`,
|
|
442
450
|
UPDATE_OUTLINE: (uuid: string) =>
|
|
@@ -464,6 +472,8 @@ export const REST_API = {
|
|
|
464
472
|
`${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.EXPORT_AS_DOCX(uuid)}`,
|
|
465
473
|
SET_REACTION: (uuid: string) =>
|
|
466
474
|
`${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.SET_REACTION(uuid)}`,
|
|
475
|
+
DISCARD_SOURCE: (uuid: string) =>
|
|
476
|
+
`${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.DISCARD_SOURCE(uuid)}`,
|
|
467
477
|
},
|
|
468
478
|
WRITER_PRIVATE: {
|
|
469
479
|
CONFIG: `${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.CONFIG}`,
|
|
@@ -471,6 +481,14 @@ export const REST_API = {
|
|
|
471
481
|
GET_DOCUMENTS: `${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.GET_DOCUMENTS}`,
|
|
472
482
|
GET_DOCUMENT: (uuid: string) =>
|
|
473
483
|
`${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.GET_DOCUMENT(uuid)}`,
|
|
484
|
+
GET_DOCUMENT_SOURCES: (uuid: string) =>
|
|
485
|
+
`${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.GET_DOCUMENT_SOURCES(uuid)}`,
|
|
486
|
+
COLLECT_SOURCES: (uuid: string) =>
|
|
487
|
+
`${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.COLLECT_SOURCES(uuid)}`,
|
|
488
|
+
UPLOAD_SOURCE: (uuid: string) =>
|
|
489
|
+
`${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.UPLOAD_SOURCE(uuid)}`,
|
|
490
|
+
CONFIRM_SOURCE_CITATION_METADATA: (docId: string, sourceId: string) =>
|
|
491
|
+
`${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.CONFIRM_SOURCE_CITATION_METADATA(docId, sourceId)}`,
|
|
474
492
|
GENERATE_CONTENTS: (uuid: string) =>
|
|
475
493
|
`${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.GENERATE_CONTENTS(uuid)}`,
|
|
476
494
|
UPDATE_OUTLINE: (uuid: string) =>
|
|
@@ -498,6 +516,8 @@ export const REST_API = {
|
|
|
498
516
|
`${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.EXPORT_AS_DOCX(uuid)}`,
|
|
499
517
|
SET_REACTION: (uuid: string) =>
|
|
500
518
|
`${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.SET_REACTION(uuid)}`,
|
|
519
|
+
DISCARD_SOURCE: (uuid: string) =>
|
|
520
|
+
`${ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.DISCARD_SOURCE(uuid)}`,
|
|
501
521
|
},
|
|
502
522
|
VIDEO_PUBLIC: {
|
|
503
523
|
CONFIG: `${ROOT}/${CONTROLLERS.VIDEO_CONTROLLER_PUBLIC}/${CONTROLLERS.VIDEO_ROUTES.CONFIG}`,
|
|
@@ -8,6 +8,10 @@ exports.WRITER_ROUTES = {
|
|
|
8
8
|
CREATE: 'documents',
|
|
9
9
|
GET_DOCUMENTS: 'documents',
|
|
10
10
|
GET_DOCUMENT: (uuid) => `documents/${uuid}`,
|
|
11
|
+
GET_DOCUMENT_SOURCES: (uuid) => `documents/${uuid}/sources`,
|
|
12
|
+
COLLECT_SOURCES: (uuid) => `documents/${uuid}/sources/collect`,
|
|
13
|
+
UPLOAD_SOURCE: (uuid) => `documents/${uuid}/sources/upload`,
|
|
14
|
+
CONFIRM_SOURCE_CITATION_METADATA: (docId, sourceId) => `documents/${docId}/sources/${sourceId}/confirm`,
|
|
11
15
|
GENERATE_CONTENTS: (uuid) => `documents/${uuid}/generate`,
|
|
12
16
|
UPDATE_OUTLINE: (uuid) => `documents/${uuid}/outline`,
|
|
13
17
|
UPDATE_TITLE_PAGE: (uuid) => `documents/${uuid}/title-page`,
|
|
@@ -22,4 +26,5 @@ exports.WRITER_ROUTES = {
|
|
|
22
26
|
GENERATE_TEXT: (uuid) => `documents/${uuid}/actions/generate-text`,
|
|
23
27
|
EXPORT_AS_DOCX: (uuid) => `documents/${uuid}/export/docx`,
|
|
24
28
|
SET_REACTION: (uuid) => `documents/${uuid}/reaction`,
|
|
29
|
+
DISCARD_SOURCE: (uuid) => `sources/${uuid}/discard`,
|
|
25
30
|
};
|
package/build/api/routes.js
CHANGED
|
@@ -381,6 +381,10 @@ exports.REST_API = {
|
|
|
381
381
|
CREATE: `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.CREATE}`,
|
|
382
382
|
GET_DOCUMENTS: `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.GET_DOCUMENTS}`,
|
|
383
383
|
GET_DOCUMENT: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.GET_DOCUMENT(uuid)}`,
|
|
384
|
+
GET_DOCUMENT_SOURCES: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.GET_DOCUMENT_SOURCES(uuid)}`,
|
|
385
|
+
COLLECT_SOURCES: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.COLLECT_SOURCES(uuid)}`,
|
|
386
|
+
UPLOAD_SOURCE: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.UPLOAD_SOURCE(uuid)}`,
|
|
387
|
+
CONFIRM_SOURCE_CITATION_METADATA: (docId, sourceId) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.CONFIRM_SOURCE_CITATION_METADATA(docId, sourceId)}`,
|
|
384
388
|
GENERATE_CONTENTS: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.GENERATE_CONTENTS(uuid)}`,
|
|
385
389
|
UPDATE_OUTLINE: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.UPDATE_OUTLINE(uuid)}`,
|
|
386
390
|
UPDATE_TITLE_PAGE: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.UPDATE_TITLE_PAGE(uuid)}`,
|
|
@@ -395,12 +399,17 @@ exports.REST_API = {
|
|
|
395
399
|
GENERATE_TEXT: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.GENERATE_TEXT(uuid)}`,
|
|
396
400
|
EXPORT_AS_DOCX: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.EXPORT_AS_DOCX(uuid)}`,
|
|
397
401
|
SET_REACTION: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.SET_REACTION(uuid)}`,
|
|
402
|
+
DISCARD_SOURCE: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PUBLIC}/${CONTROLLERS.WRITER_ROUTES.DISCARD_SOURCE(uuid)}`,
|
|
398
403
|
},
|
|
399
404
|
WRITER_PRIVATE: {
|
|
400
405
|
CONFIG: `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.CONFIG}`,
|
|
401
406
|
CREATE: `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.CREATE}`,
|
|
402
407
|
GET_DOCUMENTS: `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.GET_DOCUMENTS}`,
|
|
403
408
|
GET_DOCUMENT: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.GET_DOCUMENT(uuid)}`,
|
|
409
|
+
GET_DOCUMENT_SOURCES: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.GET_DOCUMENT_SOURCES(uuid)}`,
|
|
410
|
+
COLLECT_SOURCES: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.COLLECT_SOURCES(uuid)}`,
|
|
411
|
+
UPLOAD_SOURCE: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.UPLOAD_SOURCE(uuid)}`,
|
|
412
|
+
CONFIRM_SOURCE_CITATION_METADATA: (docId, sourceId) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.CONFIRM_SOURCE_CITATION_METADATA(docId, sourceId)}`,
|
|
404
413
|
GENERATE_CONTENTS: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.GENERATE_CONTENTS(uuid)}`,
|
|
405
414
|
UPDATE_OUTLINE: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.UPDATE_OUTLINE(uuid)}`,
|
|
406
415
|
UPDATE_TITLE_PAGE: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.UPDATE_TITLE_PAGE(uuid)}`,
|
|
@@ -415,6 +424,7 @@ exports.REST_API = {
|
|
|
415
424
|
GENERATE_TEXT: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.GENERATE_TEXT(uuid)}`,
|
|
416
425
|
EXPORT_AS_DOCX: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.EXPORT_AS_DOCX(uuid)}`,
|
|
417
426
|
SET_REACTION: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.SET_REACTION(uuid)}`,
|
|
427
|
+
DISCARD_SOURCE: (uuid) => `${exports.ROOT}/${CONTROLLERS.WRITER_CONTROLLER_PRIVATE}/${CONTROLLERS.WRITER_ROUTES.DISCARD_SOURCE(uuid)}`,
|
|
418
428
|
},
|
|
419
429
|
VIDEO_PUBLIC: {
|
|
420
430
|
CONFIG: `${exports.ROOT}/${CONTROLLERS.VIDEO_CONTROLLER_PUBLIC}/${CONTROLLERS.VIDEO_ROUTES.CONFIG}`,
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CollectWriterDocumentSourcesCommand = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const models_1 = require("../../../models");
|
|
6
|
+
var CollectWriterDocumentSourcesCommand;
|
|
7
|
+
(function (CollectWriterDocumentSourcesCommand) {
|
|
8
|
+
CollectWriterDocumentSourcesCommand.RequestParamsSchema = zod_1.z.object({
|
|
9
|
+
uuid: zod_1.z.string().uuid(),
|
|
10
|
+
});
|
|
11
|
+
CollectWriterDocumentSourcesCommand.RequestBodySchema = zod_1.z.object({});
|
|
12
|
+
CollectWriterDocumentSourcesCommand.ResponseSchema = zod_1.z.object({
|
|
13
|
+
data: models_1.WriterDocumentSchema,
|
|
14
|
+
});
|
|
15
|
+
})(CollectWriterDocumentSourcesCommand || (exports.CollectWriterDocumentSourcesCommand = CollectWriterDocumentSourcesCommand = {}));
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConfirmSourceCitationMetadataCommand = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const models_1 = require("../../../models");
|
|
6
|
+
const models_2 = require("../../../models");
|
|
7
|
+
var ConfirmSourceCitationMetadataCommand;
|
|
8
|
+
(function (ConfirmSourceCitationMetadataCommand) {
|
|
9
|
+
ConfirmSourceCitationMetadataCommand.RequestParamsSchema = zod_1.z.object({
|
|
10
|
+
docId: zod_1.z.string().uuid(),
|
|
11
|
+
sourceId: zod_1.z.string().uuid(),
|
|
12
|
+
});
|
|
13
|
+
ConfirmSourceCitationMetadataCommand.RequestBodySchema = zod_1.z.object({
|
|
14
|
+
bibliographicMetadata: models_2.WriterSourceBibliographicMetadataSchema,
|
|
15
|
+
});
|
|
16
|
+
ConfirmSourceCitationMetadataCommand.ResponseSchema = zod_1.z.object({
|
|
17
|
+
data: models_1.WriterSourceSchema,
|
|
18
|
+
});
|
|
19
|
+
})(ConfirmSourceCitationMetadataCommand || (exports.ConfirmSourceCitationMetadataCommand = ConfirmSourceCitationMetadataCommand = {}));
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GetWriterDocumentSourcesCommand = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const models_1 = require("../../../models");
|
|
6
|
+
var GetWriterDocumentSourcesCommand;
|
|
7
|
+
(function (GetWriterDocumentSourcesCommand) {
|
|
8
|
+
GetWriterDocumentSourcesCommand.RequestParamsSchema = zod_1.z.object({
|
|
9
|
+
uuid: zod_1.z.string().uuid(),
|
|
10
|
+
});
|
|
11
|
+
GetWriterDocumentSourcesCommand.ResponseSchema = zod_1.z.object({
|
|
12
|
+
data: zod_1.z.array(models_1.WriterSourceSchema),
|
|
13
|
+
});
|
|
14
|
+
})(GetWriterDocumentSourcesCommand || (exports.GetWriterDocumentSourcesCommand = GetWriterDocumentSourcesCommand = {}));
|
|
@@ -32,3 +32,7 @@ __exportStar(require("./writer-fix-errors.command"), exports);
|
|
|
32
32
|
__exportStar(require("./writer-generate-text.command"), exports);
|
|
33
33
|
__exportStar(require("./export-writer-document-as-docx.command"), exports);
|
|
34
34
|
__exportStar(require("./set-reaction.writer-document.command"), exports);
|
|
35
|
+
__exportStar(require("./collect-writer-document-sources.command"), exports);
|
|
36
|
+
__exportStar(require("./get-writer-document-sources.command"), exports);
|
|
37
|
+
__exportStar(require("./upload-writer-source.command"), exports);
|
|
38
|
+
__exportStar(require("./confirm-source-citation-metadata.command"), exports);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UploadWriterSourceCommand = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const models_1 = require("../../../models");
|
|
6
|
+
var UploadWriterSourceCommand;
|
|
7
|
+
(function (UploadWriterSourceCommand) {
|
|
8
|
+
UploadWriterSourceCommand.RequestParamsSchema = zod_1.z.object({
|
|
9
|
+
uuid: zod_1.z.string().uuid(),
|
|
10
|
+
});
|
|
11
|
+
UploadWriterSourceCommand.RequestBodySchema = zod_1.z.object({
|
|
12
|
+
fileId: zod_1.z.string().uuid(),
|
|
13
|
+
});
|
|
14
|
+
UploadWriterSourceCommand.ResponseSchema = zod_1.z.object({
|
|
15
|
+
data: models_1.WriterSourceSchema,
|
|
16
|
+
});
|
|
17
|
+
})(UploadWriterSourceCommand || (exports.UploadWriterSourceCommand = UploadWriterSourceCommand = {}));
|
|
@@ -19,3 +19,6 @@ __exportStar(require("./writer-document-stage.enum"), exports);
|
|
|
19
19
|
__exportStar(require("./writer-ai-action-pricing-type.enum"), exports);
|
|
20
20
|
__exportStar(require("./writer-ai-action-type.enum"), exports);
|
|
21
21
|
__exportStar(require("./tool-model-status.enum"), exports);
|
|
22
|
+
__exportStar(require("./writer-source-status.enum"), exports);
|
|
23
|
+
__exportStar(require("./writer-source-origin.enum"), exports);
|
|
24
|
+
__exportStar(require("./writer-source-type.enum"), exports);
|
|
@@ -4,9 +4,15 @@ exports.WRITER_DOCUMENT_STAGE = void 0;
|
|
|
4
4
|
var WRITER_DOCUMENT_STAGE;
|
|
5
5
|
(function (WRITER_DOCUMENT_STAGE) {
|
|
6
6
|
WRITER_DOCUMENT_STAGE["CREATED"] = "CREATED";
|
|
7
|
+
WRITER_DOCUMENT_STAGE["ANALYZING_TOPIC"] = "ANALYZING_TOPIC";
|
|
8
|
+
WRITER_DOCUMENT_STAGE["TOPIC_ANALYZED"] = "TOPIC_ANALYZED";
|
|
9
|
+
WRITER_DOCUMENT_STAGE["TOPIC_ANALYSIS_FAILED"] = "TOPIC_ANALYSIS_FAILED";
|
|
7
10
|
WRITER_DOCUMENT_STAGE["GENERATING_OUTLINE"] = "GENERATING_OUTLINE";
|
|
8
11
|
WRITER_DOCUMENT_STAGE["OUTLINE_GENERATED"] = "OUTLINE_GENERATED";
|
|
9
12
|
WRITER_DOCUMENT_STAGE["OUTLINE_GENERATION_FAILED"] = "OUTLINE_GENERATION_FAILED";
|
|
13
|
+
WRITER_DOCUMENT_STAGE["COLLECTING_SOURCES"] = "COLLECTING_SOURCES";
|
|
14
|
+
WRITER_DOCUMENT_STAGE["SOURCES_COLLECTED"] = "SOURCES_COLLECTED";
|
|
15
|
+
WRITER_DOCUMENT_STAGE["SOURCES_COLLECTION_FAILED"] = "SOURCES_COLLECTION_FAILED";
|
|
10
16
|
WRITER_DOCUMENT_STAGE["GENERATING_CONTENT"] = "GENERATING_CONTENT";
|
|
11
17
|
WRITER_DOCUMENT_STAGE["CONTENT_GENERATED"] = "CONTENT_GENERATED";
|
|
12
18
|
WRITER_DOCUMENT_STAGE["CONTENT_GENERATION_FAILED"] = "CONTENT_GENERATION_FAILED";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WRITER_SOURCE_ORIGIN = void 0;
|
|
4
|
+
var WRITER_SOURCE_ORIGIN;
|
|
5
|
+
(function (WRITER_SOURCE_ORIGIN) {
|
|
6
|
+
WRITER_SOURCE_ORIGIN["WEB_SEARCH"] = "WEB_SEARCH";
|
|
7
|
+
WRITER_SOURCE_ORIGIN["USER_UPLOAD"] = "USER_UPLOAD";
|
|
8
|
+
})(WRITER_SOURCE_ORIGIN || (exports.WRITER_SOURCE_ORIGIN = WRITER_SOURCE_ORIGIN = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WRITER_SOURCE_STATUS = void 0;
|
|
4
|
+
var WRITER_SOURCE_STATUS;
|
|
5
|
+
(function (WRITER_SOURCE_STATUS) {
|
|
6
|
+
WRITER_SOURCE_STATUS["READY"] = "READY";
|
|
7
|
+
WRITER_SOURCE_STATUS["REQUIRES_CITATION_METADATA_CONFIRMATION"] = "REQUIRES_CITATION_METADATA_CONFIRMATION";
|
|
8
|
+
WRITER_SOURCE_STATUS["DISCARDED"] = "DISCARDED";
|
|
9
|
+
})(WRITER_SOURCE_STATUS || (exports.WRITER_SOURCE_STATUS = WRITER_SOURCE_STATUS = {}));
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WRITER_SOURCE_TYPE = void 0;
|
|
4
|
+
var WRITER_SOURCE_TYPE;
|
|
5
|
+
(function (WRITER_SOURCE_TYPE) {
|
|
6
|
+
WRITER_SOURCE_TYPE["JOURNAL_ARTICLE"] = "JOURNAL_ARTICLE";
|
|
7
|
+
WRITER_SOURCE_TYPE["BOOK"] = "BOOK";
|
|
8
|
+
})(WRITER_SOURCE_TYPE || (exports.WRITER_SOURCE_TYPE = WRITER_SOURCE_TYPE = {}));
|
|
@@ -20,3 +20,5 @@ __exportStar(require("./writer-document-outline.schema"), exports);
|
|
|
20
20
|
__exportStar(require("./writer-document.schema"), exports);
|
|
21
21
|
__exportStar(require("./writer-document-type.schema"), exports);
|
|
22
22
|
__exportStar(require("./writer-document-title-page.schema"), exports);
|
|
23
|
+
__exportStar(require("./writer-source.schema"), exports);
|
|
24
|
+
__exportStar(require("./writer-source-bibliographic-metadata.schema"), exports);
|
|
@@ -10,7 +10,9 @@ exports.WriterDocumentTypeSchema = zod_1.z.object({
|
|
|
10
10
|
order: zod_1.z.number(),
|
|
11
11
|
minPages: zod_1.z.number(),
|
|
12
12
|
maxPages: zod_1.z.number(),
|
|
13
|
+
skipSources: zod_1.z.boolean(),
|
|
13
14
|
pageRange: zod_1.z.array(zod_1.z.number()),
|
|
15
|
+
needsTableOfContents: zod_1.z.boolean(),
|
|
14
16
|
createdAt: zod_1.z.date(),
|
|
15
17
|
updatedAt: zod_1.z.date(),
|
|
16
18
|
});
|
|
@@ -20,6 +20,9 @@ exports.WriterDocumentSchema = zod_1.z.object({
|
|
|
20
20
|
unregisteredUserId: zod_1.z.string().nullable(),
|
|
21
21
|
modelId: zod_1.z.string().nullable(),
|
|
22
22
|
reaction: zod_1.z.nativeEnum(constants_1.USER_REACTION).nullable(),
|
|
23
|
+
dislikeReason: zod_1.z.string().nullable(),
|
|
24
|
+
description: zod_1.z.string().nullable(),
|
|
25
|
+
skipSources: zod_1.z.boolean(),
|
|
23
26
|
pages: zod_1.z.number(),
|
|
24
27
|
createdAt: zod_1.z.date(),
|
|
25
28
|
updatedAt: zod_1.z.date(),
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WriterSourceBibliographicMetadataSchema = exports.WriterSourceBibliographicMetadataJournalArticleSchema = exports.WriterSourceBibliographicMetadataBookSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const constants_1 = require("../../../constants");
|
|
6
|
+
exports.WriterSourceBibliographicMetadataBookSchema = zod_1.z.object({
|
|
7
|
+
type: zod_1.z.literal(constants_1.WRITER_SOURCE_TYPE.BOOK),
|
|
8
|
+
title: zod_1.z.string(),
|
|
9
|
+
authors: zod_1.z.string(),
|
|
10
|
+
year: zod_1.z.number(),
|
|
11
|
+
publicationCity: zod_1.z.string(),
|
|
12
|
+
publisher: zod_1.z.string(),
|
|
13
|
+
pageCount: zod_1.z.number().nullable(),
|
|
14
|
+
});
|
|
15
|
+
exports.WriterSourceBibliographicMetadataJournalArticleSchema = zod_1.z.object({
|
|
16
|
+
type: zod_1.z.literal(constants_1.WRITER_SOURCE_TYPE.JOURNAL_ARTICLE),
|
|
17
|
+
title: zod_1.z.string(),
|
|
18
|
+
authors: zod_1.z.string(),
|
|
19
|
+
year: zod_1.z.number(),
|
|
20
|
+
journalName: zod_1.z.string(),
|
|
21
|
+
issueNumber: zod_1.z.string(),
|
|
22
|
+
pageRange: zod_1.z.string(),
|
|
23
|
+
});
|
|
24
|
+
exports.WriterSourceBibliographicMetadataSchema = zod_1.z.discriminatedUnion('type', [
|
|
25
|
+
exports.WriterSourceBibliographicMetadataBookSchema,
|
|
26
|
+
exports.WriterSourceBibliographicMetadataJournalArticleSchema,
|
|
27
|
+
]);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WriterSourceSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const constants_1 = require("../../../constants");
|
|
6
|
+
const writer_source_bibliographic_metadata_schema_1 = require("./writer-source-bibliographic-metadata.schema");
|
|
7
|
+
exports.WriterSourceSchema = zod_1.z.object({
|
|
8
|
+
uuid: zod_1.z.string().uuid(),
|
|
9
|
+
query: zod_1.z.string().nullable(),
|
|
10
|
+
url: zod_1.z.string(),
|
|
11
|
+
snippet: zod_1.z.string().nullable(),
|
|
12
|
+
sourceOrigin: zod_1.z.nativeEnum(constants_1.WRITER_SOURCE_ORIGIN),
|
|
13
|
+
documentId: zod_1.z.string().uuid(),
|
|
14
|
+
fileId: zod_1.z.string().nullable(),
|
|
15
|
+
citation: zod_1.z.string().nullable(),
|
|
16
|
+
status: zod_1.z.nativeEnum(constants_1.WRITER_SOURCE_STATUS),
|
|
17
|
+
bibliographicMetadata: writer_source_bibliographic_metadata_schema_1.WriterSourceBibliographicMetadataSchema.nullable(),
|
|
18
|
+
createdAt: zod_1.z.date(),
|
|
19
|
+
updatedAt: zod_1.z.date(),
|
|
20
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { WriterDocumentSchema } from '../../../models';
|
|
3
|
+
|
|
4
|
+
export namespace CollectWriterDocumentSourcesCommand {
|
|
5
|
+
export const RequestParamsSchema = z.object({
|
|
6
|
+
uuid: z.string().uuid(),
|
|
7
|
+
});
|
|
8
|
+
export type RequestParams = z.infer<typeof RequestParamsSchema>;
|
|
9
|
+
|
|
10
|
+
export const RequestBodySchema = z.object({});
|
|
11
|
+
export type RequestBody = z.infer<typeof RequestBodySchema>;
|
|
12
|
+
|
|
13
|
+
export const ResponseSchema = z.object({
|
|
14
|
+
data: WriterDocumentSchema,
|
|
15
|
+
});
|
|
16
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { WriterSourceSchema } from '../../../models';
|
|
3
|
+
import { WriterSourceBibliographicMetadataSchema } from '../../../models';
|
|
4
|
+
|
|
5
|
+
export namespace ConfirmSourceCitationMetadataCommand {
|
|
6
|
+
export const RequestParamsSchema = z.object({
|
|
7
|
+
docId: z.string().uuid(),
|
|
8
|
+
sourceId: z.string().uuid(),
|
|
9
|
+
});
|
|
10
|
+
export type RequestParams = z.infer<typeof RequestParamsSchema>;
|
|
11
|
+
|
|
12
|
+
export const RequestBodySchema = z.object({
|
|
13
|
+
bibliographicMetadata: WriterSourceBibliographicMetadataSchema,
|
|
14
|
+
});
|
|
15
|
+
export type RequestBody = z.infer<typeof RequestBodySchema>;
|
|
16
|
+
|
|
17
|
+
export const ResponseSchema = z.object({
|
|
18
|
+
data: WriterSourceSchema,
|
|
19
|
+
});
|
|
20
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { WriterSourceSchema } from '../../../models';
|
|
3
|
+
|
|
4
|
+
export namespace GetWriterDocumentSourcesCommand {
|
|
5
|
+
export const RequestParamsSchema = z.object({
|
|
6
|
+
uuid: z.string().uuid(),
|
|
7
|
+
});
|
|
8
|
+
export type RequestParams = z.infer<typeof RequestParamsSchema>;
|
|
9
|
+
|
|
10
|
+
export const ResponseSchema = z.object({
|
|
11
|
+
data: z.array(WriterSourceSchema),
|
|
12
|
+
});
|
|
13
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
14
|
+
}
|
|
@@ -16,3 +16,7 @@ export * from './writer-fix-errors.command';
|
|
|
16
16
|
export * from './writer-generate-text.command';
|
|
17
17
|
export * from './export-writer-document-as-docx.command';
|
|
18
18
|
export * from './set-reaction.writer-document.command';
|
|
19
|
+
export * from './collect-writer-document-sources.command';
|
|
20
|
+
export * from './get-writer-document-sources.command';
|
|
21
|
+
export * from './upload-writer-source.command';
|
|
22
|
+
export * from './confirm-source-citation-metadata.command';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { WriterSourceSchema } from '../../../models';
|
|
3
|
+
|
|
4
|
+
export namespace UploadWriterSourceCommand {
|
|
5
|
+
export const RequestParamsSchema = z.object({
|
|
6
|
+
uuid: z.string().uuid(),
|
|
7
|
+
});
|
|
8
|
+
export type RequestParams = z.infer<typeof RequestParamsSchema>;
|
|
9
|
+
|
|
10
|
+
export const RequestBodySchema = z.object({
|
|
11
|
+
fileId: z.string().uuid(),
|
|
12
|
+
});
|
|
13
|
+
export type RequestBody = z.infer<typeof RequestBodySchema>;
|
|
14
|
+
|
|
15
|
+
export const ResponseSchema = z.object({
|
|
16
|
+
data: WriterSourceSchema,
|
|
17
|
+
});
|
|
18
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
19
|
+
}
|
|
@@ -3,3 +3,6 @@ export * from './writer-document-stage.enum';
|
|
|
3
3
|
export * from './writer-ai-action-pricing-type.enum';
|
|
4
4
|
export * from './writer-ai-action-type.enum';
|
|
5
5
|
export * from './tool-model-status.enum';
|
|
6
|
+
export * from './writer-source-status.enum';
|
|
7
|
+
export * from './writer-source-origin.enum';
|
|
8
|
+
export * from './writer-source-type.enum';
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
export enum WRITER_DOCUMENT_STAGE {
|
|
2
2
|
CREATED = 'CREATED',
|
|
3
3
|
|
|
4
|
+
ANALYZING_TOPIC = 'ANALYZING_TOPIC',
|
|
5
|
+
TOPIC_ANALYZED = 'TOPIC_ANALYZED',
|
|
6
|
+
TOPIC_ANALYSIS_FAILED = 'TOPIC_ANALYSIS_FAILED',
|
|
7
|
+
|
|
4
8
|
GENERATING_OUTLINE = 'GENERATING_OUTLINE',
|
|
5
9
|
OUTLINE_GENERATED = 'OUTLINE_GENERATED',
|
|
6
10
|
OUTLINE_GENERATION_FAILED = 'OUTLINE_GENERATION_FAILED',
|
|
7
11
|
|
|
12
|
+
COLLECTING_SOURCES = 'COLLECTING_SOURCES',
|
|
13
|
+
SOURCES_COLLECTED = 'SOURCES_COLLECTED',
|
|
14
|
+
SOURCES_COLLECTION_FAILED = 'SOURCES_COLLECTION_FAILED',
|
|
15
|
+
|
|
8
16
|
GENERATING_CONTENT = 'GENERATING_CONTENT',
|
|
9
17
|
CONTENT_GENERATED = 'CONTENT_GENERATED',
|
|
10
18
|
CONTENT_GENERATION_FAILED = 'CONTENT_GENERATION_FAILED',
|
|
@@ -4,3 +4,5 @@ export * from './writer-document-outline.schema';
|
|
|
4
4
|
export * from './writer-document.schema';
|
|
5
5
|
export * from './writer-document-type.schema';
|
|
6
6
|
export * from './writer-document-title-page.schema';
|
|
7
|
+
export * from './writer-source.schema';
|
|
8
|
+
export * from './writer-source-bibliographic-metadata.schema';
|
|
@@ -8,7 +8,9 @@ export const WriterDocumentTypeSchema = z.object({
|
|
|
8
8
|
order: z.number(),
|
|
9
9
|
minPages: z.number(),
|
|
10
10
|
maxPages: z.number(),
|
|
11
|
+
skipSources: z.boolean(),
|
|
11
12
|
pageRange: z.array(z.number()),
|
|
13
|
+
needsTableOfContents: z.boolean(),
|
|
12
14
|
createdAt: z.date(),
|
|
13
15
|
updatedAt: z.date(),
|
|
14
16
|
});
|
|
@@ -18,6 +18,9 @@ export const WriterDocumentSchema = z.object({
|
|
|
18
18
|
unregisteredUserId: z.string().nullable(),
|
|
19
19
|
modelId: z.string().nullable(),
|
|
20
20
|
reaction: z.nativeEnum(USER_REACTION).nullable(),
|
|
21
|
+
dislikeReason: z.string().nullable(),
|
|
22
|
+
description: z.string().nullable(),
|
|
23
|
+
skipSources: z.boolean(),
|
|
21
24
|
pages: z.number(),
|
|
22
25
|
createdAt: z.date(),
|
|
23
26
|
updatedAt: z.date(),
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { WRITER_SOURCE_TYPE } from '../../../constants';
|
|
3
|
+
|
|
4
|
+
export const WriterSourceBibliographicMetadataBookSchema = z.object({
|
|
5
|
+
type: z.literal(WRITER_SOURCE_TYPE.BOOK),
|
|
6
|
+
title: z.string(),
|
|
7
|
+
authors: z.string(),
|
|
8
|
+
year: z.number(),
|
|
9
|
+
publicationCity: z.string(),
|
|
10
|
+
publisher: z.string(),
|
|
11
|
+
pageCount: z.number().nullable(),
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export const WriterSourceBibliographicMetadataJournalArticleSchema = z.object({
|
|
15
|
+
type: z.literal(WRITER_SOURCE_TYPE.JOURNAL_ARTICLE),
|
|
16
|
+
title: z.string(),
|
|
17
|
+
authors: z.string(),
|
|
18
|
+
year: z.number(),
|
|
19
|
+
journalName: z.string(),
|
|
20
|
+
issueNumber: z.string(),
|
|
21
|
+
pageRange: z.string(),
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
export const WriterSourceBibliographicMetadataSchema = z.discriminatedUnion('type', [
|
|
25
|
+
WriterSourceBibliographicMetadataBookSchema,
|
|
26
|
+
WriterSourceBibliographicMetadataJournalArticleSchema,
|
|
27
|
+
]);
|
|
28
|
+
|
|
29
|
+
export type WriterSourceBibliographicMetadata = z.infer<
|
|
30
|
+
typeof WriterSourceBibliographicMetadataSchema
|
|
31
|
+
>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { WRITER_SOURCE_STATUS, WRITER_SOURCE_ORIGIN } from '../../../constants';
|
|
3
|
+
import { WriterSourceBibliographicMetadataSchema } from './writer-source-bibliographic-metadata.schema';
|
|
4
|
+
|
|
5
|
+
export const WriterSourceSchema = z.object({
|
|
6
|
+
uuid: z.string().uuid(),
|
|
7
|
+
query: z.string().nullable(),
|
|
8
|
+
url: z.string(),
|
|
9
|
+
snippet: z.string().nullable(),
|
|
10
|
+
sourceOrigin: z.nativeEnum(WRITER_SOURCE_ORIGIN),
|
|
11
|
+
documentId: z.string().uuid(),
|
|
12
|
+
fileId: z.string().nullable(),
|
|
13
|
+
citation: z.string().nullable(),
|
|
14
|
+
status: z.nativeEnum(WRITER_SOURCE_STATUS),
|
|
15
|
+
bibliographicMetadata: WriterSourceBibliographicMetadataSchema.nullable(),
|
|
16
|
+
createdAt: z.date(),
|
|
17
|
+
updatedAt: z.date(),
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
export type WriterSource = z.infer<typeof WriterSourceSchema>;
|