@revealui/contracts 1.0.0
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/LICENSE +22 -0
- package/README.md +160 -0
- package/dist/a2a/index.d.ts +383 -0
- package/dist/a2a/index.d.ts.map +1 -0
- package/dist/a2a/index.js +276 -0
- package/dist/a2a/index.js.map +1 -0
- package/dist/actions/action-validator.d.ts +48 -0
- package/dist/actions/action-validator.d.ts.map +1 -0
- package/dist/actions/action-validator.js +288 -0
- package/dist/actions/action-validator.js.map +1 -0
- package/dist/actions/index.d.ts +7 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/index.js +7 -0
- package/dist/actions/index.js.map +1 -0
- package/dist/agents/index.d.ts +628 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +511 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/types.d.ts +22 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +2 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/api/auth.d.ts +60 -0
- package/dist/api/auth.d.ts.map +1 -0
- package/dist/api/auth.js +84 -0
- package/dist/api/auth.js.map +1 -0
- package/dist/api/chat.d.ts +45 -0
- package/dist/api/chat.d.ts.map +1 -0
- package/dist/api/chat.js +55 -0
- package/dist/api/chat.js.map +1 -0
- package/dist/api/gdpr.d.ts +39 -0
- package/dist/api/gdpr.d.ts.map +1 -0
- package/dist/api/gdpr.js +53 -0
- package/dist/api/gdpr.js.map +1 -0
- package/dist/cms/collection.d.ts +108 -0
- package/dist/cms/collection.d.ts.map +1 -0
- package/dist/cms/collection.js +144 -0
- package/dist/cms/collection.js.map +1 -0
- package/dist/cms/compat.d.ts +128 -0
- package/dist/cms/compat.d.ts.map +1 -0
- package/dist/cms/compat.js +141 -0
- package/dist/cms/compat.js.map +1 -0
- package/dist/cms/config-contract.d.ts +278 -0
- package/dist/cms/config-contract.d.ts.map +1 -0
- package/dist/cms/config-contract.js +220 -0
- package/dist/cms/config-contract.js.map +1 -0
- package/dist/cms/config.d.ts +351 -0
- package/dist/cms/config.d.ts.map +1 -0
- package/dist/cms/config.js +50 -0
- package/dist/cms/config.js.map +1 -0
- package/dist/cms/errors.d.ts +122 -0
- package/dist/cms/errors.d.ts.map +1 -0
- package/dist/cms/errors.js +163 -0
- package/dist/cms/errors.js.map +1 -0
- package/dist/cms/extensibility.d.ts +211 -0
- package/dist/cms/extensibility.d.ts.map +1 -0
- package/dist/cms/extensibility.js +313 -0
- package/dist/cms/extensibility.js.map +1 -0
- package/dist/cms/field.d.ts +69 -0
- package/dist/cms/field.d.ts.map +1 -0
- package/dist/cms/field.js +94 -0
- package/dist/cms/field.js.map +1 -0
- package/dist/cms/functions.d.ts +466 -0
- package/dist/cms/functions.d.ts.map +1 -0
- package/dist/cms/functions.js +19 -0
- package/dist/cms/functions.js.map +1 -0
- package/dist/cms/global.d.ts +45 -0
- package/dist/cms/global.d.ts.map +1 -0
- package/dist/cms/global.js +62 -0
- package/dist/cms/global.js.map +1 -0
- package/dist/cms/index.d.ts +23 -0
- package/dist/cms/index.d.ts.map +1 -0
- package/dist/cms/index.js +42 -0
- package/dist/cms/index.js.map +1 -0
- package/dist/cms/structure.d.ts +1601 -0
- package/dist/cms/structure.d.ts.map +1 -0
- package/dist/cms/structure.js +757 -0
- package/dist/cms/structure.js.map +1 -0
- package/dist/content/index.d.ts +1542 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +522 -0
- package/dist/content/index.js.map +1 -0
- package/dist/database/bridge.d.ts +177 -0
- package/dist/database/bridge.d.ts.map +1 -0
- package/dist/database/bridge.js +139 -0
- package/dist/database/bridge.js.map +1 -0
- package/dist/database/index.d.ts +8 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +9 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/type-bridge.d.ts +178 -0
- package/dist/database/type-bridge.d.ts.map +1 -0
- package/dist/database/type-bridge.js +154 -0
- package/dist/database/type-bridge.js.map +1 -0
- package/dist/entities/agent-context.d.ts +280 -0
- package/dist/entities/agent-context.d.ts.map +1 -0
- package/dist/entities/agent-context.js +390 -0
- package/dist/entities/agent-context.js.map +1 -0
- package/dist/entities/agent-memory.d.ts +661 -0
- package/dist/entities/agent-memory.d.ts.map +1 -0
- package/dist/entities/agent-memory.js +544 -0
- package/dist/entities/agent-memory.js.map +1 -0
- package/dist/entities/board.d.ts +95 -0
- package/dist/entities/board.d.ts.map +1 -0
- package/dist/entities/board.js +99 -0
- package/dist/entities/board.js.map +1 -0
- package/dist/entities/code-provenance.d.ts +270 -0
- package/dist/entities/code-provenance.d.ts.map +1 -0
- package/dist/entities/code-provenance.js +339 -0
- package/dist/entities/code-provenance.js.map +1 -0
- package/dist/entities/index.d.ts +22 -0
- package/dist/entities/index.d.ts.map +1 -0
- package/dist/entities/index.js +22 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/entities/media.d.ts +485 -0
- package/dist/entities/media.d.ts.map +1 -0
- package/dist/entities/media.js +606 -0
- package/dist/entities/media.js.map +1 -0
- package/dist/entities/page-revision.d.ts +390 -0
- package/dist/entities/page-revision.d.ts.map +1 -0
- package/dist/entities/page-revision.js +406 -0
- package/dist/entities/page-revision.js.map +1 -0
- package/dist/entities/page.d.ts +2349 -0
- package/dist/entities/page.d.ts.map +1 -0
- package/dist/entities/page.js +377 -0
- package/dist/entities/page.js.map +1 -0
- package/dist/entities/post.d.ts +619 -0
- package/dist/entities/post.d.ts.map +1 -0
- package/dist/entities/post.js +555 -0
- package/dist/entities/post.js.map +1 -0
- package/dist/entities/price.d.ts +772 -0
- package/dist/entities/price.d.ts.map +1 -0
- package/dist/entities/price.js +308 -0
- package/dist/entities/price.js.map +1 -0
- package/dist/entities/product.d.ts +753 -0
- package/dist/entities/product.d.ts.map +1 -0
- package/dist/entities/product.js +307 -0
- package/dist/entities/product.js.map +1 -0
- package/dist/entities/session.d.ts +222 -0
- package/dist/entities/session.d.ts.map +1 -0
- package/dist/entities/session.js +253 -0
- package/dist/entities/session.js.map +1 -0
- package/dist/entities/site.d.ts +387 -0
- package/dist/entities/site.d.ts.map +1 -0
- package/dist/entities/site.js +348 -0
- package/dist/entities/site.js.map +1 -0
- package/dist/entities/ticket-comment.d.ts +49 -0
- package/dist/entities/ticket-comment.d.ts.map +1 -0
- package/dist/entities/ticket-comment.js +58 -0
- package/dist/entities/ticket-comment.js.map +1 -0
- package/dist/entities/ticket-label.d.ts +64 -0
- package/dist/entities/ticket-label.d.ts.map +1 -0
- package/dist/entities/ticket-label.js +77 -0
- package/dist/entities/ticket-label.js.map +1 -0
- package/dist/entities/ticket.d.ts +204 -0
- package/dist/entities/ticket.d.ts.map +1 -0
- package/dist/entities/ticket.js +205 -0
- package/dist/entities/ticket.js.map +1 -0
- package/dist/entities/user.d.ts +336 -0
- package/dist/entities/user.d.ts.map +1 -0
- package/dist/entities/user.js +255 -0
- package/dist/entities/user.js.map +1 -0
- package/dist/foundation/contract.d.ts +221 -0
- package/dist/foundation/contract.d.ts.map +1 -0
- package/dist/foundation/contract.js +133 -0
- package/dist/foundation/contract.js.map +1 -0
- package/dist/foundation/index.d.ts +7 -0
- package/dist/foundation/index.d.ts.map +1 -0
- package/dist/foundation/index.js +7 -0
- package/dist/foundation/index.js.map +1 -0
- package/dist/generated/contracts.d.ts +1514 -0
- package/dist/generated/contracts.d.ts.map +1 -0
- package/dist/generated/contracts.js +959 -0
- package/dist/generated/contracts.js.map +1 -0
- package/dist/generated/database.d.ts +48 -0
- package/dist/generated/database.d.ts.map +1 -0
- package/dist/generated/database.js +17 -0
- package/dist/generated/database.js.map +1 -0
- package/dist/generated/zod-schemas.d.ts +14793 -0
- package/dist/generated/zod-schemas.d.ts.map +1 -0
- package/dist/generated/zod-schemas.js +547 -0
- package/dist/generated/zod-schemas.js.map +1 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +81 -0
- package/dist/index.js.map +1 -0
- package/dist/representation/index.d.ts +304 -0
- package/dist/representation/index.d.ts.map +1 -0
- package/dist/representation/index.js +280 -0
- package/dist/representation/index.js.map +1 -0
- package/package.json +117 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Board Entity Contract
|
|
3
|
+
*
|
|
4
|
+
* Kanban board that contains tickets organized into columns.
|
|
5
|
+
*
|
|
6
|
+
* Business Rules:
|
|
7
|
+
* - Board slug must be unique per tenant
|
|
8
|
+
* - One board per tenant may be marked isDefault
|
|
9
|
+
* - Creating a board auto-creates default columns (Backlog, To Do, In Progress, Review, Done)
|
|
10
|
+
* - Deleting a board cascades to columns and tickets
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod/v4';
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// Constants
|
|
15
|
+
// =============================================================================
|
|
16
|
+
export const BOARD_SCHEMA_VERSION = 1;
|
|
17
|
+
export const DEFAULT_COLUMN_SLUGS = ['backlog', 'todo', 'in-progress', 'review', 'done'];
|
|
18
|
+
export const BOARD_LIMITS = {
|
|
19
|
+
MIN_NAME_LENGTH: 1,
|
|
20
|
+
MAX_NAME_LENGTH: 200,
|
|
21
|
+
MIN_SLUG_LENGTH: 1,
|
|
22
|
+
MAX_SLUG_LENGTH: 200,
|
|
23
|
+
MAX_DESCRIPTION_LENGTH: 1000,
|
|
24
|
+
MAX_COLUMNS: 20,
|
|
25
|
+
};
|
|
26
|
+
// =============================================================================
|
|
27
|
+
// Board Schema
|
|
28
|
+
// =============================================================================
|
|
29
|
+
export const BoardObjectSchema = z.object({
|
|
30
|
+
id: z.string().min(1),
|
|
31
|
+
schemaVersion: z.string().default(String(BOARD_SCHEMA_VERSION)),
|
|
32
|
+
name: z.string().min(BOARD_LIMITS.MIN_NAME_LENGTH).max(BOARD_LIMITS.MAX_NAME_LENGTH),
|
|
33
|
+
slug: z
|
|
34
|
+
.string()
|
|
35
|
+
.min(BOARD_LIMITS.MIN_SLUG_LENGTH)
|
|
36
|
+
.max(BOARD_LIMITS.MAX_SLUG_LENGTH)
|
|
37
|
+
.regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, 'Slug must be lowercase with hyphens'),
|
|
38
|
+
description: z.string().max(BOARD_LIMITS.MAX_DESCRIPTION_LENGTH).nullable().optional(),
|
|
39
|
+
ownerId: z.string().nullable().optional(),
|
|
40
|
+
tenantId: z.string().nullable().optional(),
|
|
41
|
+
isDefault: z.boolean().default(false),
|
|
42
|
+
createdAt: z.date(),
|
|
43
|
+
updatedAt: z.date(),
|
|
44
|
+
});
|
|
45
|
+
export const BoardSchema = BoardObjectSchema;
|
|
46
|
+
export const BoardInsertSchema = BoardObjectSchema.omit({
|
|
47
|
+
createdAt: true,
|
|
48
|
+
updatedAt: true,
|
|
49
|
+
}).extend({
|
|
50
|
+
createdAt: z.date().optional(),
|
|
51
|
+
updatedAt: z.date().optional(),
|
|
52
|
+
});
|
|
53
|
+
// =============================================================================
|
|
54
|
+
// Board Column Schema
|
|
55
|
+
// =============================================================================
|
|
56
|
+
export const BoardColumnObjectSchema = z.object({
|
|
57
|
+
id: z.string().min(1),
|
|
58
|
+
boardId: z.string().min(1),
|
|
59
|
+
name: z.string().min(1).max(100),
|
|
60
|
+
slug: z.string().min(1).max(100),
|
|
61
|
+
position: z.number().int().min(0),
|
|
62
|
+
wipLimit: z.number().int().min(1).nullable().optional(),
|
|
63
|
+
color: z.string().max(20).nullable().optional(),
|
|
64
|
+
isDefault: z.boolean().default(false),
|
|
65
|
+
createdAt: z.date(),
|
|
66
|
+
updatedAt: z.date(),
|
|
67
|
+
});
|
|
68
|
+
export const BoardColumnSchema = BoardColumnObjectSchema;
|
|
69
|
+
// =============================================================================
|
|
70
|
+
// Helpers
|
|
71
|
+
// =============================================================================
|
|
72
|
+
export function generateSlug(name) {
|
|
73
|
+
return name
|
|
74
|
+
.toLowerCase()
|
|
75
|
+
.trim()
|
|
76
|
+
.replace(/[^\w\s-]/g, '')
|
|
77
|
+
.replace(/[\s_-]+/g, '-')
|
|
78
|
+
.replace(/^-+|-+$/g, '')
|
|
79
|
+
.slice(0, BOARD_LIMITS.MAX_SLUG_LENGTH);
|
|
80
|
+
}
|
|
81
|
+
export function isValidSlug(slug) {
|
|
82
|
+
return /^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(slug);
|
|
83
|
+
}
|
|
84
|
+
export function createBoardInsert(name, slug, options) {
|
|
85
|
+
const now = new Date();
|
|
86
|
+
return {
|
|
87
|
+
id: options?.id ?? crypto.randomUUID(),
|
|
88
|
+
schemaVersion: String(BOARD_SCHEMA_VERSION),
|
|
89
|
+
name,
|
|
90
|
+
slug,
|
|
91
|
+
description: options?.description ?? null,
|
|
92
|
+
ownerId: options?.ownerId ?? null,
|
|
93
|
+
tenantId: options?.tenantId ?? null,
|
|
94
|
+
isDefault: options?.isDefault ?? false,
|
|
95
|
+
createdAt: now,
|
|
96
|
+
updatedAt: now,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=board.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"board.js","sourceRoot":"","sources":["../../src/entities/board.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Provenance Entity Contract
|
|
3
|
+
*
|
|
4
|
+
* Tracks authorship (AI-generated, human-written, AI-assisted, mixed) and
|
|
5
|
+
* review status of code at file/function granularity.
|
|
6
|
+
*
|
|
7
|
+
* Design: Value functions — pure functions that take data in and return
|
|
8
|
+
* computed results. No side effects, easy to test, composable.
|
|
9
|
+
*
|
|
10
|
+
* Business Rules:
|
|
11
|
+
* - authorType classifies who wrote the code
|
|
12
|
+
* - reviewStatus tracks audit state
|
|
13
|
+
* - codeReviews is an append-only log (immutable history)
|
|
14
|
+
* - confidence is a 0-1 score for automated classification
|
|
15
|
+
* - Stale = created > 90 days ago and never reviewed
|
|
16
|
+
* - AI involvement = ai_generated || ai_assisted || mixed
|
|
17
|
+
*/
|
|
18
|
+
import { z } from 'zod/v4';
|
|
19
|
+
export declare const PROVENANCE_SCHEMA_VERSION = 1;
|
|
20
|
+
export declare const AUTHOR_TYPES: readonly ["ai_generated", "human_written", "ai_assisted", "mixed"];
|
|
21
|
+
export type AuthorType = (typeof AUTHOR_TYPES)[number];
|
|
22
|
+
export declare const REVIEW_STATUSES: readonly ["unreviewed", "human_reviewed", "ai_reviewed", "human_and_ai_reviewed"];
|
|
23
|
+
export type ReviewStatus = (typeof REVIEW_STATUSES)[number];
|
|
24
|
+
export declare const REVIEW_TYPES: readonly ["human_review", "ai_review", "human_approval", "ai_suggestion"];
|
|
25
|
+
export type ReviewType = (typeof REVIEW_TYPES)[number];
|
|
26
|
+
export declare const REVIEW_DECISIONS: readonly ["approved", "rejected", "needs_changes", "informational"];
|
|
27
|
+
export type ReviewDecision = (typeof REVIEW_DECISIONS)[number];
|
|
28
|
+
export declare const PROVENANCE_LIMITS: {
|
|
29
|
+
readonly MAX_FILE_PATH_LENGTH: 1000;
|
|
30
|
+
readonly MAX_FUNCTION_NAME_LENGTH: 200;
|
|
31
|
+
};
|
|
32
|
+
export declare const ProvenanceObjectSchema: z.ZodObject<{
|
|
33
|
+
id: z.ZodString;
|
|
34
|
+
schemaVersion: z.ZodDefault<z.ZodString>;
|
|
35
|
+
filePath: z.ZodString;
|
|
36
|
+
functionName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
37
|
+
lineStart: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
38
|
+
lineEnd: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
39
|
+
authorType: z.ZodEnum<{
|
|
40
|
+
ai_generated: "ai_generated";
|
|
41
|
+
human_written: "human_written";
|
|
42
|
+
ai_assisted: "ai_assisted";
|
|
43
|
+
mixed: "mixed";
|
|
44
|
+
}>;
|
|
45
|
+
aiModel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
46
|
+
aiSessionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
47
|
+
gitCommitHash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
48
|
+
gitAuthor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
49
|
+
confidence: z.ZodDefault<z.ZodNumber>;
|
|
50
|
+
reviewStatus: z.ZodDefault<z.ZodEnum<{
|
|
51
|
+
unreviewed: "unreviewed";
|
|
52
|
+
human_reviewed: "human_reviewed";
|
|
53
|
+
ai_reviewed: "ai_reviewed";
|
|
54
|
+
human_and_ai_reviewed: "human_and_ai_reviewed";
|
|
55
|
+
}>>;
|
|
56
|
+
reviewedBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
57
|
+
reviewedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
58
|
+
linesOfCode: z.ZodDefault<z.ZodNumber>;
|
|
59
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
|
|
60
|
+
createdAt: z.ZodDate;
|
|
61
|
+
updatedAt: z.ZodDate;
|
|
62
|
+
}, z.core.$strip>;
|
|
63
|
+
export declare const ProvenanceSchema: z.ZodObject<{
|
|
64
|
+
id: z.ZodString;
|
|
65
|
+
schemaVersion: z.ZodDefault<z.ZodString>;
|
|
66
|
+
filePath: z.ZodString;
|
|
67
|
+
functionName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
68
|
+
lineStart: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
69
|
+
lineEnd: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
70
|
+
authorType: z.ZodEnum<{
|
|
71
|
+
ai_generated: "ai_generated";
|
|
72
|
+
human_written: "human_written";
|
|
73
|
+
ai_assisted: "ai_assisted";
|
|
74
|
+
mixed: "mixed";
|
|
75
|
+
}>;
|
|
76
|
+
aiModel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
77
|
+
aiSessionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
78
|
+
gitCommitHash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
79
|
+
gitAuthor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
80
|
+
confidence: z.ZodDefault<z.ZodNumber>;
|
|
81
|
+
reviewStatus: z.ZodDefault<z.ZodEnum<{
|
|
82
|
+
unreviewed: "unreviewed";
|
|
83
|
+
human_reviewed: "human_reviewed";
|
|
84
|
+
ai_reviewed: "ai_reviewed";
|
|
85
|
+
human_and_ai_reviewed: "human_and_ai_reviewed";
|
|
86
|
+
}>>;
|
|
87
|
+
reviewedBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
88
|
+
reviewedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
89
|
+
linesOfCode: z.ZodDefault<z.ZodNumber>;
|
|
90
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
|
|
91
|
+
createdAt: z.ZodDate;
|
|
92
|
+
updatedAt: z.ZodDate;
|
|
93
|
+
}, z.core.$strip>;
|
|
94
|
+
export type Provenance = z.infer<typeof ProvenanceSchema>;
|
|
95
|
+
export declare const ProvenanceInsertSchema: z.ZodObject<{
|
|
96
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
|
|
97
|
+
id: z.ZodString;
|
|
98
|
+
schemaVersion: z.ZodDefault<z.ZodString>;
|
|
99
|
+
confidence: z.ZodDefault<z.ZodNumber>;
|
|
100
|
+
filePath: z.ZodString;
|
|
101
|
+
functionName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
102
|
+
lineStart: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
103
|
+
lineEnd: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
104
|
+
authorType: z.ZodEnum<{
|
|
105
|
+
ai_generated: "ai_generated";
|
|
106
|
+
human_written: "human_written";
|
|
107
|
+
ai_assisted: "ai_assisted";
|
|
108
|
+
mixed: "mixed";
|
|
109
|
+
}>;
|
|
110
|
+
aiModel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
111
|
+
aiSessionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
112
|
+
gitCommitHash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
113
|
+
gitAuthor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
114
|
+
reviewStatus: z.ZodDefault<z.ZodEnum<{
|
|
115
|
+
unreviewed: "unreviewed";
|
|
116
|
+
human_reviewed: "human_reviewed";
|
|
117
|
+
ai_reviewed: "ai_reviewed";
|
|
118
|
+
human_and_ai_reviewed: "human_and_ai_reviewed";
|
|
119
|
+
}>>;
|
|
120
|
+
reviewedBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
121
|
+
reviewedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
122
|
+
linesOfCode: z.ZodDefault<z.ZodNumber>;
|
|
123
|
+
createdAt: z.ZodOptional<z.ZodDate>;
|
|
124
|
+
updatedAt: z.ZodOptional<z.ZodDate>;
|
|
125
|
+
}, z.core.$strip>;
|
|
126
|
+
export type ProvenanceInsert = z.infer<typeof ProvenanceInsertSchema>;
|
|
127
|
+
export declare const CodeReviewObjectSchema: z.ZodObject<{
|
|
128
|
+
id: z.ZodString;
|
|
129
|
+
provenanceId: z.ZodString;
|
|
130
|
+
reviewerId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
131
|
+
reviewType: z.ZodEnum<{
|
|
132
|
+
human_review: "human_review";
|
|
133
|
+
ai_review: "ai_review";
|
|
134
|
+
human_approval: "human_approval";
|
|
135
|
+
ai_suggestion: "ai_suggestion";
|
|
136
|
+
}>;
|
|
137
|
+
status: z.ZodEnum<{
|
|
138
|
+
approved: "approved";
|
|
139
|
+
rejected: "rejected";
|
|
140
|
+
needs_changes: "needs_changes";
|
|
141
|
+
informational: "informational";
|
|
142
|
+
}>;
|
|
143
|
+
comment: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
144
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
|
|
145
|
+
createdAt: z.ZodDate;
|
|
146
|
+
}, z.core.$strip>;
|
|
147
|
+
export declare const CodeReviewSchema: z.ZodObject<{
|
|
148
|
+
id: z.ZodString;
|
|
149
|
+
provenanceId: z.ZodString;
|
|
150
|
+
reviewerId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
151
|
+
reviewType: z.ZodEnum<{
|
|
152
|
+
human_review: "human_review";
|
|
153
|
+
ai_review: "ai_review";
|
|
154
|
+
human_approval: "human_approval";
|
|
155
|
+
ai_suggestion: "ai_suggestion";
|
|
156
|
+
}>;
|
|
157
|
+
status: z.ZodEnum<{
|
|
158
|
+
approved: "approved";
|
|
159
|
+
rejected: "rejected";
|
|
160
|
+
needs_changes: "needs_changes";
|
|
161
|
+
informational: "informational";
|
|
162
|
+
}>;
|
|
163
|
+
comment: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
164
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
|
|
165
|
+
createdAt: z.ZodDate;
|
|
166
|
+
}, z.core.$strip>;
|
|
167
|
+
export type CodeReview = z.infer<typeof CodeReviewSchema>;
|
|
168
|
+
export declare const CodeReviewInsertSchema: z.ZodObject<{
|
|
169
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
|
|
170
|
+
id: z.ZodString;
|
|
171
|
+
status: z.ZodEnum<{
|
|
172
|
+
approved: "approved";
|
|
173
|
+
rejected: "rejected";
|
|
174
|
+
needs_changes: "needs_changes";
|
|
175
|
+
informational: "informational";
|
|
176
|
+
}>;
|
|
177
|
+
provenanceId: z.ZodString;
|
|
178
|
+
reviewerId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
179
|
+
reviewType: z.ZodEnum<{
|
|
180
|
+
human_review: "human_review";
|
|
181
|
+
ai_review: "ai_review";
|
|
182
|
+
human_approval: "human_approval";
|
|
183
|
+
ai_suggestion: "ai_suggestion";
|
|
184
|
+
}>;
|
|
185
|
+
comment: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
186
|
+
createdAt: z.ZodOptional<z.ZodDate>;
|
|
187
|
+
}, z.core.$strip>;
|
|
188
|
+
export type CodeReviewInsert = z.infer<typeof CodeReviewInsertSchema>;
|
|
189
|
+
export declare function isAiGenerated(entry: Provenance): boolean;
|
|
190
|
+
export declare function isHumanWritten(entry: Provenance): boolean;
|
|
191
|
+
export declare function isAiAssisted(entry: Provenance): boolean;
|
|
192
|
+
export declare function isMixedAuthorship(entry: Provenance): boolean;
|
|
193
|
+
export declare function hasAiInvolvement(entry: Provenance): boolean;
|
|
194
|
+
export declare function getAuthorTypeLabel(type: AuthorType): string;
|
|
195
|
+
export declare function isUnreviewed(entry: Provenance): boolean;
|
|
196
|
+
export declare function isHumanReviewed(entry: Provenance): boolean;
|
|
197
|
+
export declare function isAiReviewed(entry: Provenance): boolean;
|
|
198
|
+
export declare function isFullyReviewed(entry: Provenance): boolean;
|
|
199
|
+
export declare function needsReview(entry: Provenance): boolean;
|
|
200
|
+
export declare function needsHumanReview(entry: Provenance): boolean;
|
|
201
|
+
export declare function getReviewStatusLabel(status: ReviewStatus): string;
|
|
202
|
+
export declare function isHighConfidence(entry: Provenance): boolean;
|
|
203
|
+
export declare function isLowConfidence(entry: Provenance): boolean;
|
|
204
|
+
export declare function getConfidenceLabel(entry: Provenance): string;
|
|
205
|
+
export declare function getProvenanceAge(entry: Provenance): number;
|
|
206
|
+
export declare function getProvenanceAgeInDays(entry: Provenance): number;
|
|
207
|
+
export declare function getTimeSinceReview(entry: Provenance): number | null;
|
|
208
|
+
export declare function isStale(entry: Provenance): boolean;
|
|
209
|
+
export declare function isRecentlyReviewed(entry: Provenance): boolean;
|
|
210
|
+
export declare function isFileLevel(entry: Provenance): boolean;
|
|
211
|
+
export declare function isFunctionLevel(entry: Provenance): boolean;
|
|
212
|
+
export declare function hasLineRange(entry: Provenance): boolean;
|
|
213
|
+
export declare function hasGitInfo(entry: Provenance): boolean;
|
|
214
|
+
export declare function hasAiModel(entry: Provenance): boolean;
|
|
215
|
+
export declare function calculateAiPercentage(entries: Provenance[]): number;
|
|
216
|
+
export declare function calculateReviewCoverage(entries: Provenance[]): number;
|
|
217
|
+
export declare function calculateHumanReviewCoverage(entries: Provenance[]): number;
|
|
218
|
+
export declare function getEntriesByAuthorType(entries: Provenance[], type: AuthorType): Provenance[];
|
|
219
|
+
export declare function getUnreviewedEntries(entries: Provenance[]): Provenance[];
|
|
220
|
+
export declare function getEntriesNeedingHumanReview(entries: Provenance[]): Provenance[];
|
|
221
|
+
interface PackageSummary {
|
|
222
|
+
packageName: string;
|
|
223
|
+
totalEntries: number;
|
|
224
|
+
totalLines: number;
|
|
225
|
+
aiPercentage: number;
|
|
226
|
+
reviewCoverage: number;
|
|
227
|
+
humanReviewCoverage: number;
|
|
228
|
+
}
|
|
229
|
+
export declare function summarizeByPackage(entries: Provenance[]): Map<string, PackageSummary>;
|
|
230
|
+
export interface ProvenanceWithComputed extends Provenance {
|
|
231
|
+
_computed: {
|
|
232
|
+
isAiGenerated: boolean;
|
|
233
|
+
isHumanWritten: boolean;
|
|
234
|
+
isAiAssisted: boolean;
|
|
235
|
+
hasAiInvolvement: boolean;
|
|
236
|
+
isUnreviewed: boolean;
|
|
237
|
+
isHumanReviewed: boolean;
|
|
238
|
+
needsReview: boolean;
|
|
239
|
+
needsHumanReview: boolean;
|
|
240
|
+
isHighConfidence: boolean;
|
|
241
|
+
isStale: boolean;
|
|
242
|
+
ageInDays: number;
|
|
243
|
+
timeSinceReview: number | null;
|
|
244
|
+
authorTypeLabel: string;
|
|
245
|
+
reviewStatusLabel: string;
|
|
246
|
+
confidenceLabel: string;
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
export declare function provenanceToHuman(entry: Provenance): ProvenanceWithComputed;
|
|
250
|
+
export declare function createProvenanceInsert(filePath: string, authorType: AuthorType, options?: {
|
|
251
|
+
id?: string;
|
|
252
|
+
functionName?: string;
|
|
253
|
+
lineStart?: number;
|
|
254
|
+
lineEnd?: number;
|
|
255
|
+
aiModel?: string;
|
|
256
|
+
aiSessionId?: string;
|
|
257
|
+
gitCommitHash?: string;
|
|
258
|
+
gitAuthor?: string;
|
|
259
|
+
confidence?: number;
|
|
260
|
+
linesOfCode?: number;
|
|
261
|
+
metadata?: unknown;
|
|
262
|
+
}): ProvenanceInsert;
|
|
263
|
+
export declare function createCodeReviewInsert(provenanceId: string, reviewType: ReviewType, status: ReviewDecision, options?: {
|
|
264
|
+
id?: string;
|
|
265
|
+
reviewerId?: string;
|
|
266
|
+
comment?: string;
|
|
267
|
+
metadata?: unknown;
|
|
268
|
+
}): CodeReviewInsert;
|
|
269
|
+
export {};
|
|
270
|
+
//# sourceMappingURL=code-provenance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-provenance.d.ts","sourceRoot":"","sources":["../../src/entities/code-provenance.ts"],"names":[],"mappings":"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"}
|