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
+48
View File
@@ -0,0 +1,48 @@
// The crm module's manifest: a client of the platform's CRM business service (B-wave contract §3.14,
// docs/business-services.md). It keeps no table of its own -- the parties and their contact points are
// the service's, in the deployment's organization -- so it has procedures, permissions, pages and
// messages, and no repository, migration, job or event.
//
// The template ships it off: `kit module:on crm` adds it to the list in modules/index.ts and asks the
// deployment token for the service scopes it needs (`crm.parties:read|write`, `crm.contacts:write`)
// in conusai.json.
import { defineModule } from "@conusai-kit/core"
import { CRM_PROCEDURES } from "./adapters/procedures.js"
import { en, lt } from "./i18n/index.js"
export const crmModule = defineModule({
id: "crm",
// A business module is its service, which this app reaches on these profiles (test/module-profiles.test.ts).
profiles: ["postgres", "mariadb", "mongodb"],
version: "0.1.0",
kit: "^0.1.0",
requires: ["tenancy"],
permissions: {
"crm.party.read": "viewer",
"crm.party.write": "editor",
},
procedures: CRM_PROCEDURES,
serviceRequirements: [
{
transport: "business",
service: "crm",
apiRange: "^1.1.0",
profiles: ["postgres", "mariadb", "mongodb"],
operations: {
"crm.party.list": ["crm.parties:read"],
"crm.party.get": ["crm.parties:read"],
"crm.party.create": ["crm.parties:write"],
"crm.contact.add": ["crm.contacts:write"],
},
configuration: [],
dependencies: [],
dataClasses: ["personal"],
partitionRequired: true,
remediation: "/docs/business-services.md",
},
],
// `crm` is the segment the web shell's module mount routes to `crmPage` (ui/pages.tsx).
ui: { nav: [{ scope: "project", label: "crm.title", href: "crm", permission: "crm.party.read" }] },
i18n: { en, lt },
})