-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathobjectstack.config.ts
More file actions
61 lines (54 loc) · 2.02 KB
/
Copy pathobjectstack.config.ts
File metadata and controls
61 lines (54 loc) · 2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.
import { defineStack } from '@objectstack/spec';
// ─── Barrel Imports (one per metadata type) ─────────────────────────
import * as objects from './src/objects';
import * as apis from './src/apis';
import * as actions from './src/actions';
import * as dashboards from './src/dashboards';
import * as reports from './src/reports';
import * as flows from './src/flows';
import * as agents from './src/agents';
import * as ragPipelines from './src/rag';
import * as profiles from './src/profiles';
import * as apps from './src/apps';
import { CrmSeedData } from './src/data';
// ─── Sharing & Security (special: mixed single/array values) ───────
import {
OrganizationDefaults,
AccountTeamSharingRule, TerritorySharingRules,
OpportunitySalesSharingRule,
CaseEscalationSharingRule,
RoleHierarchy,
} from './src/sharing';
export default defineStack({
manifest: {
id: 'com.example.crm',
namespace: 'crm',
version: '3.0.0',
type: 'app',
name: 'Enterprise CRM',
description: 'Comprehensive enterprise CRM demonstrating all ObjectStack Protocol features including AI, security, and automation',
},
// Auto-collected from barrel index files via Object.values()
objects: Object.values(objects),
apis: Object.values(apis),
actions: Object.values(actions),
dashboards: Object.values(dashboards),
reports: Object.values(reports),
flows: Object.values(flows) as any,
agents: Object.values(agents) as any,
ragPipelines: Object.values(ragPipelines),
profiles: Object.values(profiles),
apps: Object.values(apps),
// Seed Data (top-level, registered as metadata)
data: CrmSeedData,
// Sharing & security (requires explicit wiring)
sharingRules: [
AccountTeamSharingRule,
OpportunitySalesSharingRule,
CaseEscalationSharingRule,
...TerritorySharingRules,
],
roleHierarchy: RoleHierarchy,
organizationDefaults: OrganizationDefaults,
} as any);