@mandaitor/taxonomy-construction 0.2.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.
@@ -0,0 +1,7 @@
1
+ import type { TaxonomyAction } from "@mandaitor/taxonomy-core";
2
+ /**
3
+ * Construction-specific actions covering the full lifecycle:
4
+ * plan validation → scheduling → procurement → cost management → handover
5
+ */
6
+ export declare const CONSTRUCTION_ACTIONS: TaxonomyAction[];
7
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAAc,EA4GhD,CAAC"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Construction-specific actions covering the full lifecycle:
3
+ * plan validation → scheduling → procurement → cost management → handover
4
+ */
5
+ export const CONSTRUCTION_ACTIONS = [
6
+ // ── Plan Validation ────────────────────────────────────
7
+ {
8
+ id: "construction.validation.approve",
9
+ label: "Approve Plan Validation",
10
+ description: "Authorize AI agent to approve construction plan validations against BIM models and regulatory requirements",
11
+ riskLevel: "HIGH",
12
+ requiresHumanApproval: true,
13
+ tags: ["validation", "bim", "compliance"],
14
+ },
15
+ {
16
+ id: "construction.validation.flag",
17
+ label: "Flag Validation Issue",
18
+ description: "Authorize AI agent to flag discrepancies between as-built state and approved plans",
19
+ riskLevel: "LOW",
20
+ requiresHumanApproval: false,
21
+ tags: ["validation", "quality", "flagging"],
22
+ },
23
+ {
24
+ id: "construction.validation.request_recheck",
25
+ label: "Request Re-Check",
26
+ description: "Authorize AI agent to request a re-check of previously flagged validation issues",
27
+ riskLevel: "MEDIUM",
28
+ requiresHumanApproval: false,
29
+ tags: ["validation", "recheck"],
30
+ },
31
+ // ── Scheduling ─────────────────────────────────────────
32
+ {
33
+ id: "construction.scheduling.update",
34
+ label: "Update Project Schedule",
35
+ description: "Authorize AI agent to update project schedules based on progress reports and weather data",
36
+ riskLevel: "MEDIUM",
37
+ requiresHumanApproval: false,
38
+ tags: ["scheduling", "planning", "automation"],
39
+ },
40
+ {
41
+ id: "construction.scheduling.notify",
42
+ label: "Send Schedule Notification",
43
+ description: "Authorize AI agent to send schedule change notifications to affected trades and subcontractors",
44
+ riskLevel: "LOW",
45
+ requiresHumanApproval: false,
46
+ tags: ["scheduling", "notification", "communication"],
47
+ },
48
+ // ── Procurement ────────────────────────────────────────
49
+ {
50
+ id: "construction.procurement.create_order",
51
+ label: "Create Material Order",
52
+ description: "Authorize AI agent to create material procurement orders within approved budget limits",
53
+ riskLevel: "HIGH",
54
+ requiresHumanApproval: true,
55
+ tags: ["procurement", "materials", "finance"],
56
+ },
57
+ {
58
+ id: "construction.procurement.compare_quotes",
59
+ label: "Compare Supplier Quotes",
60
+ description: "Authorize AI agent to compare and rank supplier quotes based on price, delivery time, and quality ratings",
61
+ riskLevel: "LOW",
62
+ requiresHumanApproval: false,
63
+ tags: ["procurement", "comparison", "analysis"],
64
+ },
65
+ // ── Cost Management ────────────────────────────────────
66
+ {
67
+ id: "construction.cost.approve_invoice",
68
+ label: "Approve Invoice",
69
+ description: "Authorize AI agent to approve invoices up to a defined threshold after matching with delivery notes",
70
+ riskLevel: "CRITICAL",
71
+ requiresHumanApproval: true,
72
+ tags: ["cost", "invoice", "finance", "approval"],
73
+ },
74
+ {
75
+ id: "construction.cost.flag_deviation",
76
+ label: "Flag Cost Deviation",
77
+ description: "Authorize AI agent to flag cost deviations exceeding defined thresholds against the project budget",
78
+ riskLevel: "MEDIUM",
79
+ requiresHumanApproval: false,
80
+ tags: ["cost", "monitoring", "budget"],
81
+ },
82
+ // ── Documentation & Handover ───────────────────────────
83
+ {
84
+ id: "construction.documentation.generate",
85
+ label: "Generate Documentation",
86
+ description: "Authorize AI agent to generate construction documentation (protocols, reports, checklists)",
87
+ riskLevel: "LOW",
88
+ requiresHumanApproval: false,
89
+ tags: ["documentation", "reporting", "automation"],
90
+ },
91
+ {
92
+ id: "construction.handover.prepare",
93
+ label: "Prepare Handover Package",
94
+ description: "Authorize AI agent to compile handover documentation package for project completion",
95
+ riskLevel: "MEDIUM",
96
+ requiresHumanApproval: false,
97
+ tags: ["handover", "documentation", "completion"],
98
+ },
99
+ ];
100
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { TaxonomyConstraintTemplate } from "@mandaitor/taxonomy-core";
2
+ /**
3
+ * Constraint templates define reusable boundary conditions for construction mandates.
4
+ * They are referenced by mandate templates and can be overridden per-mandate.
5
+ */
6
+ export declare const CONSTRUCTION_CONSTRAINTS: TaxonomyConstraintTemplate[];
7
+ //# sourceMappingURL=constraints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraints.d.ts","sourceRoot":"","sources":["../src/constraints.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAE3E;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,0BAA0B,EA8GhE,CAAC"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Constraint templates define reusable boundary conditions for construction mandates.
3
+ * They are referenced by mandate templates and can be overridden per-mandate.
4
+ */
5
+ export const CONSTRUCTION_CONSTRAINTS = [
6
+ {
7
+ id: "construction.time.project-duration",
8
+ name: "Project Duration Constraint",
9
+ description: "Limits mandate validity to the project's active construction phase",
10
+ type: "TIME",
11
+ schema: {
12
+ not_before: {
13
+ type: "string",
14
+ format: "date-time",
15
+ description: "Mandate becomes active at this timestamp (ISO 8601)",
16
+ },
17
+ expires_at: {
18
+ type: "string",
19
+ format: "date-time",
20
+ description: "Mandate expires at this timestamp (ISO 8601)",
21
+ },
22
+ defaultDuration: {
23
+ type: "string",
24
+ format: "duration",
25
+ description: "ISO 8601 duration (e.g., P180D for 180 days)",
26
+ default: "P180D",
27
+ },
28
+ },
29
+ defaults: {
30
+ defaultDuration: "P180D",
31
+ },
32
+ },
33
+ {
34
+ id: "construction.limits.invoice-approval",
35
+ name: "Invoice Approval Limits",
36
+ description: "Financial limits for automated invoice approval",
37
+ type: "TRANSACTION",
38
+ schema: {
39
+ max_single_invoice: {
40
+ type: "object",
41
+ properties: {
42
+ currency: { type: "string", default: "EUR" },
43
+ value: { type: "number", description: "Maximum single invoice amount" },
44
+ },
45
+ default: { currency: "EUR", value: 5000 },
46
+ },
47
+ max_daily_total: {
48
+ type: "object",
49
+ properties: {
50
+ currency: { type: "string", default: "EUR" },
51
+ value: { type: "number", description: "Maximum daily approval total" },
52
+ },
53
+ default: { currency: "EUR", value: 25000 },
54
+ },
55
+ max_approvals_per_day: {
56
+ type: "number",
57
+ description: "Maximum number of invoice approvals per day",
58
+ default: 50,
59
+ },
60
+ },
61
+ defaults: {
62
+ max_single_invoice: { currency: "EUR", value: 5000 },
63
+ max_daily_total: { currency: "EUR", value: 25000 },
64
+ max_approvals_per_day: 50,
65
+ },
66
+ },
67
+ {
68
+ id: "construction.escalation.cost-deviation",
69
+ name: "Cost Deviation Escalation",
70
+ description: "Escalation rules when costs deviate from budget",
71
+ type: "ESCALATION",
72
+ schema: {
73
+ deviation_threshold_percent: {
74
+ type: "number",
75
+ description: "Percentage deviation that triggers escalation",
76
+ default: 10,
77
+ },
78
+ escalate_to: {
79
+ type: "string",
80
+ description: "Subject ID of the escalation target (e.g., project manager)",
81
+ },
82
+ escalation_method: {
83
+ type: "string",
84
+ enum: ["APPROVAL_REQUIRED", "IMMEDIATE_NOTIFICATION"],
85
+ default: "APPROVAL_REQUIRED",
86
+ },
87
+ },
88
+ defaults: {
89
+ deviation_threshold_percent: 10,
90
+ escalation_method: "APPROVAL_REQUIRED",
91
+ },
92
+ },
93
+ {
94
+ id: "construction.rate.validation-checks",
95
+ name: "Validation Check Rate Limit",
96
+ description: "Rate limits for automated validation checks to prevent runaway agents",
97
+ type: "RATE_LIMIT",
98
+ schema: {
99
+ max_validations_per_hour: {
100
+ type: "number",
101
+ description: "Maximum validation checks per hour",
102
+ default: 100,
103
+ },
104
+ max_validations_per_day: {
105
+ type: "number",
106
+ description: "Maximum validation checks per day",
107
+ default: 1000,
108
+ },
109
+ },
110
+ defaults: {
111
+ max_validations_per_hour: 100,
112
+ max_validations_per_day: 1000,
113
+ },
114
+ },
115
+ ];
116
+ //# sourceMappingURL=constraints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraints.js","sourceRoot":"","sources":["../src/constraints.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { IndustryTaxonomy, TaxonomyAction, TaxonomyResourcePattern, TaxonomyMandateTemplate } from "@mandaitor/taxonomy-core";
2
+ export declare const CONSTRUCTION_ACTIONS: TaxonomyAction[];
3
+ export declare const CONSTRUCTION_RESOURCES: TaxonomyResourcePattern[];
4
+ export declare const CONSTRUCTION_TEMPLATES: TaxonomyMandateTemplate[];
5
+ export declare const constructionTaxonomy: IndustryTaxonomy;
6
+ export default constructionTaxonomy;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAElC,eAAO,MAAM,oBAAoB,EAAE,cAAc,EA6ChD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,uBAAuB,EAsC3D,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,uBAAuB,EAyD3D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,gBA2BlC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,169 @@
1
+ export const CONSTRUCTION_ACTIONS = [
2
+ {
3
+ id: "construction.validation.approve",
4
+ label: "Approve Validation",
5
+ description: "Authorize AI agent to approve installation validations based on photo evidence and BIM comparison",
6
+ riskLevel: "MEDIUM",
7
+ requiresHumanApproval: false,
8
+ tags: ["validation", "quality", "automation"],
9
+ },
10
+ {
11
+ id: "construction.validation.reject",
12
+ label: "Reject Validation",
13
+ description: "Authorize AI agent to reject non-conforming installations with documented reasons",
14
+ riskLevel: "MEDIUM",
15
+ requiresHumanApproval: false,
16
+ tags: ["validation", "quality", "automation"],
17
+ },
18
+ {
19
+ id: "construction.invoice.generate",
20
+ label: "Generate Invoice",
21
+ description: "Authorize AI agent to generate invoices from validated BoQ positions",
22
+ riskLevel: "HIGH",
23
+ requiresHumanApproval: true,
24
+ tags: ["finance", "invoice", "erp"],
25
+ },
26
+ {
27
+ id: "construction.defect.create",
28
+ label: "Create Defect Report",
29
+ description: "Authorize AI agent to create defect reports from 360° scan anomaly detection",
30
+ riskLevel: "LOW",
31
+ requiresHumanApproval: false,
32
+ tags: ["defect", "quality", "detection"],
33
+ },
34
+ {
35
+ id: "construction.safety.halt",
36
+ label: "Halt Work on Zone",
37
+ description: "Emergency authority to halt all work in a construction zone due to safety concerns",
38
+ riskLevel: "CRITICAL",
39
+ requiresHumanApproval: true,
40
+ tags: ["safety", "emergency", "critical"],
41
+ },
42
+ // ... additional actions defined in full package
43
+ ];
44
+ export const CONSTRUCTION_RESOURCES = [
45
+ {
46
+ name: "project-zone-trade",
47
+ pattern: "monco:project:{projectId}/zone:{zoneId}/trade:{tradeId}/*",
48
+ description: "Resources scoped to a specific trade within a project zone",
49
+ parameters: [
50
+ { name: "projectId", type: "string", description: "monco.ai project ID", required: true },
51
+ {
52
+ name: "zoneId",
53
+ type: "string",
54
+ description: "Building zone (e.g., EG, OG1)",
55
+ required: true,
56
+ },
57
+ {
58
+ name: "tradeId",
59
+ type: "enum",
60
+ description: "Trade category",
61
+ required: true,
62
+ enumValues: ["elektro", "sanitaer", "heizung", "lueftung", "trockenbau", "rohbau"],
63
+ },
64
+ ],
65
+ },
66
+ {
67
+ name: "project-invoice",
68
+ pattern: "monco:project:{projectId}/invoice:*",
69
+ description: "All invoices within a project",
70
+ parameters: [
71
+ { name: "projectId", type: "string", description: "monco.ai project ID", required: true },
72
+ ],
73
+ },
74
+ {
75
+ name: "project-defect",
76
+ pattern: "monco:project:{projectId}/defect:*",
77
+ description: "All defect reports within a project",
78
+ parameters: [
79
+ { name: "projectId", type: "string", description: "monco.ai project ID", required: true },
80
+ ],
81
+ },
82
+ ];
83
+ export const CONSTRUCTION_TEMPLATES = [
84
+ {
85
+ id: "construction.automated-validation",
86
+ name: "Automated Installation Validation",
87
+ description: "Delegate validation of specific trade installations to monco.ai's Validation Agent",
88
+ vertical: "construction",
89
+ scope: {
90
+ actions: [
91
+ "construction.validation.approve",
92
+ "construction.validation.reject",
93
+ "construction.validation.flag_review",
94
+ ],
95
+ resourcePatterns: ["project-zone-trade"],
96
+ effect: "ALLOW",
97
+ conditions: {
98
+ require_photo_evidence: true,
99
+ max_deviation_percent: 5,
100
+ },
101
+ },
102
+ constraints: {
103
+ time: { defaultDuration: "P90D" }, // 90 days
104
+ transactionLimits: { max_auto_approvals_per_day: 200 },
105
+ escalationRules: {
106
+ deviation_above_percent: 10,
107
+ escalation_method: "APPROVAL_REQUIRED",
108
+ },
109
+ },
110
+ delegateType: "AGENT",
111
+ },
112
+ {
113
+ id: "construction.invoice-generation",
114
+ name: "Automated Invoice Generation",
115
+ description: "Delegate invoice creation and ERP submission to monco.ai's Invoice Agent",
116
+ vertical: "construction",
117
+ scope: {
118
+ actions: ["construction.invoice.generate", "construction.invoice.submit"],
119
+ resourcePatterns: ["project-invoice"],
120
+ effect: "ALLOW",
121
+ conditions: {
122
+ require_validated_boq: true,
123
+ require_all_positions_validated: true,
124
+ },
125
+ },
126
+ constraints: {
127
+ time: { defaultDuration: "P180D" },
128
+ transactionLimits: {
129
+ max_invoice_amount: { currency: "EUR", value: 50000 },
130
+ max_invoices_per_week: 5,
131
+ },
132
+ escalationRules: {
133
+ amount_above: { currency: "EUR", value: 25000 },
134
+ escalation_method: "APPROVAL_REQUIRED",
135
+ },
136
+ },
137
+ delegateType: "AGENT",
138
+ },
139
+ ];
140
+ export const constructionTaxonomy = {
141
+ id: "construction",
142
+ version: "1.0.0",
143
+ name: "Construction & Baumanagement",
144
+ actions: CONSTRUCTION_ACTIONS,
145
+ resourcePatterns: CONSTRUCTION_RESOURCES,
146
+ constraintTemplates: [], // Defined in full package
147
+ mandateTemplates: CONSTRUCTION_TEMPLATES,
148
+ validateScope(scope) {
149
+ const errors = [];
150
+ const validActions = new Set(CONSTRUCTION_ACTIONS.map((a) => a.id));
151
+ const scopeWithActions = scope;
152
+ for (const action of scopeWithActions.actions || []) {
153
+ if (!validActions.has(action)) {
154
+ errors.push({
155
+ path: `scope.actions[${action}]`,
156
+ message: `Unknown action: ${action}`,
157
+ code: "UNKNOWN_ACTION",
158
+ });
159
+ }
160
+ }
161
+ return { valid: errors.length === 0, errors };
162
+ },
163
+ validateConstraints(_constraints) {
164
+ // Validate constraint values against taxonomy rules
165
+ return { valid: true, errors: [] };
166
+ },
167
+ };
168
+ export default constructionTaxonomy;
169
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { TaxonomyResourcePattern } from "@mandaitor/taxonomy-core";
2
+ /**
3
+ * Resource patterns follow the monco.ai project hierarchy:
4
+ * project → zone → trade → document
5
+ *
6
+ * Pattern syntax: monco:project:{projectId}/zone:{zoneId}/trade:{tradeId}/*
7
+ * Wildcard (*) at any level grants access to all sub-resources.
8
+ */
9
+ export declare const CONSTRUCTION_RESOURCES: TaxonomyResourcePattern[];
10
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,EAAE,uBAAuB,EAmE3D,CAAC"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Resource patterns follow the monco.ai project hierarchy:
3
+ * project → zone → trade → document
4
+ *
5
+ * Pattern syntax: monco:project:{projectId}/zone:{zoneId}/trade:{tradeId}/*
6
+ * Wildcard (*) at any level grants access to all sub-resources.
7
+ */
8
+ export const CONSTRUCTION_RESOURCES = [
9
+ {
10
+ name: "project-zone-trade",
11
+ pattern: "monco:project:{projectId}/zone:{zoneId}/trade:{tradeId}/*",
12
+ description: "Resources scoped to a specific trade within a project zone (e.g., electrical work in ground floor)",
13
+ parameters: [
14
+ {
15
+ name: "projectId",
16
+ type: "string",
17
+ description: "Project identifier (e.g., proj_ABC123)",
18
+ required: true,
19
+ },
20
+ {
21
+ name: "zoneId",
22
+ type: "string",
23
+ description: "Building zone (e.g., EG, OG1, UG)",
24
+ required: true,
25
+ },
26
+ {
27
+ name: "tradeId",
28
+ type: "string",
29
+ description: "Construction trade (e.g., elektro, sanitaer, rohbau)",
30
+ required: true,
31
+ },
32
+ ],
33
+ },
34
+ {
35
+ name: "project-zone",
36
+ pattern: "monco:project:{projectId}/zone:{zoneId}/*",
37
+ description: "Resources scoped to an entire building zone across all trades",
38
+ parameters: [
39
+ { name: "projectId", type: "string", description: "Project identifier", required: true },
40
+ { name: "zoneId", type: "string", description: "Building zone identifier", required: true },
41
+ ],
42
+ },
43
+ {
44
+ name: "project-wide",
45
+ pattern: "monco:project:{projectId}/*",
46
+ description: "Resources scoped to an entire project — use with caution, grants broad access",
47
+ parameters: [
48
+ { name: "projectId", type: "string", description: "Project identifier", required: true },
49
+ ],
50
+ },
51
+ {
52
+ name: "project-schedule",
53
+ pattern: "monco:project:{projectId}/schedule:{scheduleId}",
54
+ description: "A specific project schedule document",
55
+ parameters: [
56
+ { name: "projectId", type: "string", description: "Project identifier", required: true },
57
+ {
58
+ name: "scheduleId",
59
+ type: "string",
60
+ description: "Schedule version identifier",
61
+ required: true,
62
+ },
63
+ ],
64
+ },
65
+ {
66
+ name: "project-procurement",
67
+ pattern: "monco:project:{projectId}/procurement:{orderId}",
68
+ description: "A specific procurement order within a project",
69
+ parameters: [
70
+ { name: "projectId", type: "string", description: "Project identifier", required: true },
71
+ { name: "orderId", type: "string", description: "Procurement order ID", required: true },
72
+ ],
73
+ },
74
+ ];
75
+ //# sourceMappingURL=resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA8B;IAC/D;QACE,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,2DAA2D;QACpE,WAAW,EACT,oGAAoG;QACtG,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wCAAwC;gBACrD,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mCAAmC;gBAChD,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sDAAsD;gBACnE,QAAQ,EAAE,IAAI;aACf;SACF;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,2CAA2C;QACpD,WAAW,EAAE,+DAA+D;QAC5E,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE;YACxF,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC5F;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,6BAA6B;QACtC,WAAW,EAAE,+EAA+E;QAC5F,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE;SACzF;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,iDAAiD;QAC1D,WAAW,EAAE,sCAAsC;QACnD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE;YACxF;gBACE,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6BAA6B;gBAC1C,QAAQ,EAAE,IAAI;aACf;SACF;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,iDAAiD;QAC1D,WAAW,EAAE,+CAA+C;QAC5D,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE;YACxF,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;SACzF;KACF;CACF,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { TaxonomyMandateTemplate } from "@mandaitor/taxonomy-core";
2
+ /**
3
+ * Mandate templates provide ready-to-use delegation blueprints.
4
+ * Each template defines:
5
+ * - Which actions are delegated
6
+ * - Which resource patterns are accessible
7
+ * - Default constraints (time, limits, escalation)
8
+ * - Whether the delegate is an AGENT or NATURAL_PERSON
9
+ */
10
+ export declare const CONSTRUCTION_TEMPLATES: TaxonomyMandateTemplate[];
11
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,uBAAuB,EA8G3D,CAAC"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Mandate templates provide ready-to-use delegation blueprints.
3
+ * Each template defines:
4
+ * - Which actions are delegated
5
+ * - Which resource patterns are accessible
6
+ * - Default constraints (time, limits, escalation)
7
+ * - Whether the delegate is an AGENT or NATURAL_PERSON
8
+ */
9
+ export const CONSTRUCTION_TEMPLATES = [
10
+ {
11
+ id: "construction.automated-validation",
12
+ name: "Automated Plan Validation",
13
+ description: "Delegate BIM plan validation, issue flagging, and re-check requests to monco.ai's Validation Agent",
14
+ vertical: "construction",
15
+ scope: {
16
+ actions: [
17
+ "construction.validation.approve",
18
+ "construction.validation.flag",
19
+ "construction.validation.request_recheck",
20
+ ],
21
+ resourcePatterns: ["project-zone-trade"],
22
+ effect: "ALLOW",
23
+ },
24
+ constraints: {
25
+ time: { defaultDuration: "P180D" },
26
+ rateLimits: { max_validations_per_hour: 100, max_auto_approvals_per_day: 50 },
27
+ escalationRules: {
28
+ deviation_above_percent: 15,
29
+ escalate_to: "project_manager",
30
+ escalation_method: "APPROVAL_REQUIRED",
31
+ },
32
+ },
33
+ delegateType: "AGENT",
34
+ },
35
+ {
36
+ id: "construction.schedule-management",
37
+ name: "AI Schedule Management",
38
+ description: "Delegate schedule updates and notifications to monco.ai's Scheduling Agent based on progress and weather data",
39
+ vertical: "construction",
40
+ scope: {
41
+ actions: ["construction.scheduling.update", "construction.scheduling.notify"],
42
+ resourcePatterns: ["project-zone", "project-schedule"],
43
+ effect: "ALLOW",
44
+ },
45
+ constraints: {
46
+ time: { defaultDuration: "P365D" },
47
+ rateLimits: { max_schedule_updates_per_day: 10, max_notifications_per_day: 100 },
48
+ },
49
+ delegateType: "AGENT",
50
+ },
51
+ {
52
+ id: "construction.procurement-automation",
53
+ name: "Automated Procurement",
54
+ description: "Delegate material ordering and quote comparison to monco.ai's Procurement Agent within budget limits",
55
+ vertical: "construction",
56
+ scope: {
57
+ actions: ["construction.procurement.create_order", "construction.procurement.compare_quotes"],
58
+ resourcePatterns: ["project-procurement"],
59
+ effect: "ALLOW",
60
+ },
61
+ constraints: {
62
+ time: { defaultDuration: "P90D" },
63
+ transactionLimits: {
64
+ max_order_value: { currency: "EUR", value: 10000 },
65
+ max_orders_per_week: 20,
66
+ },
67
+ escalationRules: {
68
+ amount_above: { currency: "EUR", value: 5000 },
69
+ escalation_method: "APPROVAL_REQUIRED",
70
+ },
71
+ },
72
+ delegateType: "AGENT",
73
+ },
74
+ {
75
+ id: "construction.cost-management",
76
+ name: "AI Cost Management",
77
+ description: "Delegate invoice approval and cost deviation monitoring to monco.ai's Finance Agent",
78
+ vertical: "construction",
79
+ scope: {
80
+ actions: ["construction.cost.approve_invoice", "construction.cost.flag_deviation"],
81
+ resourcePatterns: ["project-wide"],
82
+ effect: "ALLOW",
83
+ },
84
+ constraints: {
85
+ time: { defaultDuration: "P365D" },
86
+ transactionLimits: {
87
+ max_single_invoice: { currency: "EUR", value: 5000 },
88
+ max_daily_total: { currency: "EUR", value: 25000 },
89
+ },
90
+ escalationRules: {
91
+ deviation_above_percent: 10,
92
+ escalate_to: "finance_controller",
93
+ escalation_method: "APPROVAL_REQUIRED",
94
+ },
95
+ },
96
+ delegateType: "AGENT",
97
+ },
98
+ {
99
+ id: "construction.documentation-handover",
100
+ name: "Documentation & Handover",
101
+ description: "Delegate documentation generation and handover preparation to monco.ai's Documentation Agent",
102
+ vertical: "construction",
103
+ scope: {
104
+ actions: ["construction.documentation.generate", "construction.handover.prepare"],
105
+ resourcePatterns: ["project-wide"],
106
+ effect: "ALLOW",
107
+ },
108
+ constraints: {
109
+ time: { defaultDuration: "P90D" },
110
+ rateLimits: { max_documents_per_day: 50 },
111
+ },
112
+ delegateType: "AGENT",
113
+ },
114
+ ];
115
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@mandaitor/taxonomy-construction",
3
+ "version": "0.2.0",
4
+ "description": "Mandaitor — Construction industry taxonomy (monco.ai)",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "dependencies": {
18
+ "@mandaitor/taxonomy-core": "0.2.0"
19
+ },
20
+ "devDependencies": {
21
+ "typescript": "^5.6.0",
22
+ "vitest": "^2.0.0"
23
+ },
24
+ "publishConfig": {
25
+ "registry": "https://registry.npmjs.org",
26
+ "access": "public"
27
+ },
28
+ "license": "MIT",
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "https://github.com/C4RR13P0TT3R/mandaitor.git",
32
+ "directory": "packages/taxonomy-construction"
33
+ },
34
+ "scripts": {
35
+ "build": "tsc",
36
+ "test": "vitest run",
37
+ "test:unit": "vitest run",
38
+ "typecheck": "tsc -p tsconfig.typecheck.json",
39
+ "lint": "eslint src/",
40
+ "lint:fix": "eslint src/ --fix",
41
+ "clean": "rm -rf dist tsconfig.tsbuildinfo"
42
+ }
43
+ }