ConusAI vendor v0.1.0-beta.114
ci / gate (push) Waiting to run

This commit is contained in:
ConusAI vendor v0.1.0-beta.114
2026-11-14 09:56:45 +00:00
commit 1ce8d23c35
867 changed files with 122104 additions and 0 deletions
+77
View File
@@ -0,0 +1,77 @@
// Shared, runtime-neutral documents manifest data. The normal app binds its worker implementation
// of documents.ocr; the Convex profile binds the same payload contract to its dedicated Node action.
import { contribute, type ModuleManifest } from "@conusai-kit/core"
import { repositoryBindings } from "@conusai-kit/data"
import { filesProcessors } from "@conusai-kit/files"
import { proposalTargets } from "@conusai-kit/proposals"
import { DOCUMENT_PROCEDURES } from "./adapters/procedures.js"
import {
DOCUMENTS_COLLECTIONS,
DOCUMENTS_ENTITIES,
DOCUMENTS_FLAG_DEFAULTS,
EXPORT_CREATED,
LINE_EDITED,
OCR_JOB,
PROCESSOR_KEY,
READABLE_CONTENT_TYPES,
} from "./contract/index.js"
import { lineTarget } from "./core/target.js"
import { en, lt } from "./i18n/index.js"
const tables = repositoryBindings(...DOCUMENTS_ENTITIES)
export const DOCUMENTS_MODULE_BASE: ModuleManifest = {
id: "documents",
version: "0.1.0",
kit: "^0.1.0",
requires: ["tenancy", "files", "proposals", "notifications"],
serviceRequirements: [
{
transport: "platform",
service: "ocr",
apiRange: "=1.0.0-preview.20261103",
profiles: ["postgres"],
operations: { [OCR_JOB]: ["ocr:use"] },
configuration: ["ocr_processing"],
dependencies: ["blob"],
dataClasses: ["document", "personal"],
partitionRequired: false,
remediation: "/settings/services/ocr",
},
{
transport: "platform",
service: "ai",
apiRange: "=1.0.0-preview.20261103",
profiles: ["postgres"],
operations: { [OCR_JOB]: ["ai:execute"] },
configuration: ["ai_processing"],
dependencies: ["ocr"],
dataClasses: ["document", "personal", "ai-input"],
partitionRequired: false,
remediation: "/settings/services/ai",
},
],
permissions: {
"documents.document.read": "viewer",
"documents.line.edit": "editor",
"documents.line.approve": "editor",
"documents.export.create": "editor",
},
procedures: DOCUMENT_PROCEDURES,
// The pipeline is live (TS6.1): the job's change of a documents_document row reaches every member's open page.
collections: [...DOCUMENTS_COLLECTIONS],
repositories: { postgres: tables, mariadb: tables, mongodb: tables, convex: tables },
migrations: {
postgres: "migrations",
mariadb: "adapters/kysely/mysql/migrations",
mongodb: "adapters/mongo/migrations",
},
i18n: { en, lt },
flags: Object.fromEntries(Object.entries(DOCUMENTS_FLAG_DEFAULTS).map(([flag, value]) => [flag, { default: value }])),
audit: [EXPORT_CREATED, LINE_EDITED],
extends: [
contribute(filesProcessors, [{ key: PROCESSOR_KEY, contentTypes: [...READABLE_CONTENT_TYPES], job: OCR_JOB }]),
contribute(proposalTargets, [lineTarget]),
],
}