@snaptrude/plugin-core 0.2.9 → 0.5.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/AGENTS.md +128 -50
- package/CHANGELOG.md +52 -6
- package/api-manifest.full.json +3999 -0
- package/api-manifest.json +3845 -0
- package/dist/api/core/buildings.d.ts +427 -0
- package/dist/api/core/buildings.d.ts.map +1 -0
- package/dist/api/core/comment/index.d.ts +230 -0
- package/dist/api/core/comment/index.d.ts.map +1 -0
- package/dist/api/core/geom/create/index.d.ts +247 -0
- package/dist/api/core/geom/create/index.d.ts.map +1 -0
- package/dist/api/core/geom/delete/index.d.ts +72 -0
- package/dist/api/core/geom/delete/index.d.ts.map +1 -0
- package/dist/api/core/geom/index.d.ts +24 -23
- package/dist/api/core/geom/index.d.ts.map +1 -1
- package/dist/api/core/geom/query/arc.d.ts +169 -0
- package/dist/api/core/geom/query/arc.d.ts.map +1 -0
- package/dist/api/core/geom/query/brep.d.ts +402 -0
- package/dist/api/core/geom/query/brep.d.ts.map +1 -0
- package/dist/api/core/geom/query/circle.d.ts +378 -0
- package/dist/api/core/geom/query/circle.d.ts.map +1 -0
- package/dist/api/core/geom/query/contour.d.ts +450 -0
- package/dist/api/core/geom/query/contour.d.ts.map +1 -0
- package/dist/api/core/geom/query/curve.d.ts +918 -0
- package/dist/api/core/geom/query/curve.d.ts.map +1 -0
- package/dist/api/core/geom/query/edge.d.ts +128 -0
- package/dist/api/core/geom/query/edge.d.ts.map +1 -0
- package/dist/api/core/geom/query/face.d.ts +363 -0
- package/dist/api/core/geom/query/face.d.ts.map +1 -0
- package/dist/api/core/geom/query/halfedge.d.ts +206 -0
- package/dist/api/core/geom/query/halfedge.d.ts.map +1 -0
- package/dist/api/core/geom/query/index.d.ts +61 -0
- package/dist/api/core/geom/query/index.d.ts.map +1 -0
- package/dist/api/core/geom/query/profile.d.ts +410 -0
- package/dist/api/core/geom/query/profile.d.ts.map +1 -0
- package/dist/api/core/geom/query/vertex.d.ts +187 -0
- package/dist/api/core/geom/query/vertex.d.ts.map +1 -0
- package/dist/api/core/geom/update/contour.d.ts +272 -0
- package/dist/api/core/geom/update/contour.d.ts.map +1 -0
- package/dist/api/core/geom/update/curve.d.ts +180 -0
- package/dist/api/core/geom/update/curve.d.ts.map +1 -0
- package/dist/api/core/geom/update/index.d.ts +27 -0
- package/dist/api/core/geom/update/index.d.ts.map +1 -0
- package/dist/api/core/geom/update/profile.d.ts +329 -0
- package/dist/api/core/geom/update/profile.d.ts.map +1 -0
- package/dist/api/core/groups.d.ts +485 -0
- package/dist/api/core/groups.d.ts.map +1 -0
- package/dist/api/core/history/index.d.ts +78 -0
- package/dist/api/core/history/index.d.ts.map +1 -0
- package/dist/api/core/index.d.ts +46 -1
- package/dist/api/core/index.d.ts.map +1 -1
- package/dist/api/core/layers.d.ts +402 -0
- package/dist/api/core/layers.d.ts.map +1 -0
- package/dist/api/core/math/quat.d.ts +111 -128
- package/dist/api/core/math/quat.d.ts.map +1 -1
- package/dist/api/core/math/vec3.d.ts +120 -102
- package/dist/api/core/math/vec3.d.ts.map +1 -1
- package/dist/api/core/project/index.d.ts +399 -0
- package/dist/api/core/project/index.d.ts.map +1 -0
- package/dist/api/core/tags.d.ts +755 -0
- package/dist/api/core/tags.d.ts.map +1 -0
- package/dist/api/core/units/index.d.ts +175 -0
- package/dist/api/core/units/index.d.ts.map +1 -0
- package/dist/api/core/zoom/index.d.ts +45 -0
- package/dist/api/core/zoom/index.d.ts.map +1 -0
- package/dist/api/design/boolean/index.d.ts +168 -0
- package/dist/api/design/boolean/index.d.ts.map +1 -0
- package/dist/api/design/create/index.d.ts +828 -0
- package/dist/api/design/create/index.d.ts.map +1 -0
- package/dist/api/design/delete/index.d.ts +63 -0
- package/dist/api/design/delete/index.d.ts.map +1 -0
- package/dist/api/design/doors/index.d.ts +268 -0
- package/dist/api/design/doors/index.d.ts.map +1 -0
- package/dist/api/design/edit/index.d.ts +49 -0
- package/dist/api/design/edit/index.d.ts.map +1 -0
- package/dist/api/design/erase/index.d.ts +160 -0
- package/dist/api/design/erase/index.d.ts.map +1 -0
- package/dist/api/design/furniture/index.d.ts +123 -0
- package/dist/api/design/furniture/index.d.ts.map +1 -0
- package/dist/api/design/index.d.ts +153 -0
- package/dist/api/design/index.d.ts.map +1 -0
- package/dist/api/design/lock.d.ts +41 -0
- package/dist/api/design/lock.d.ts.map +1 -0
- package/dist/api/design/materials/index.d.ts +297 -0
- package/dist/api/design/materials/index.d.ts.map +1 -0
- package/dist/api/design/query/geometry/index.d.ts +140 -0
- package/dist/api/design/query/geometry/index.d.ts.map +1 -0
- package/dist/api/design/query/index.d.ts +1011 -0
- package/dist/api/design/query/index.d.ts.map +1 -0
- package/dist/api/design/query/spaces.d.ts +221 -0
- package/dist/api/design/query/spaces.d.ts.map +1 -0
- package/dist/api/design/selection/index.d.ts +138 -0
- package/dist/api/design/selection/index.d.ts.map +1 -0
- package/dist/api/design/shared.d.ts +38 -0
- package/dist/api/design/shared.d.ts.map +1 -0
- package/dist/api/design/transform/index.d.ts +87 -0
- package/dist/api/design/transform/index.d.ts.map +1 -0
- package/dist/api/design/update/index.d.ts +178 -0
- package/dist/api/design/update/index.d.ts.map +1 -0
- package/dist/api/design/windows/index.d.ts +189 -0
- package/dist/api/design/windows/index.d.ts.map +1 -0
- package/dist/api/entity/buildableEnvelope.d.ts +51 -23
- package/dist/api/entity/buildableEnvelope.d.ts.map +1 -1
- package/dist/api/entity/department.d.ts +0 -98
- package/dist/api/entity/department.d.ts.map +1 -1
- package/dist/api/entity/index.d.ts +4 -9
- package/dist/api/entity/index.d.ts.map +1 -1
- package/dist/api/entity/referenceLine.d.ts +49 -106
- package/dist/api/entity/referenceLine.d.ts.map +1 -1
- package/dist/api/entity/space.d.ts +76 -828
- package/dist/api/entity/space.d.ts.map +1 -1
- package/dist/api/entity/story.d.ts +47 -37
- package/dist/api/entity/story.d.ts.map +1 -1
- package/dist/api/index.d.ts +17 -17
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/presentation/aiInspiration.d.ts +440 -0
- package/dist/api/presentation/aiInspiration.d.ts.map +1 -0
- package/dist/api/presentation/diagrams.d.ts +81 -0
- package/dist/api/presentation/diagrams.d.ts.map +1 -0
- package/dist/api/presentation/import.d.ts +113 -0
- package/dist/api/presentation/import.d.ts.map +1 -0
- package/dist/api/presentation/index.d.ts +46 -0
- package/dist/api/presentation/index.d.ts.map +1 -0
- package/dist/api/presentation/sheets.d.ts +176 -0
- package/dist/api/presentation/sheets.d.ts.map +1 -0
- package/dist/api/presentation/views.d.ts +296 -0
- package/dist/api/presentation/views.d.ts.map +1 -0
- package/dist/api/program/adjacency.d.ts +155 -0
- package/dist/api/program/adjacency.d.ts.map +1 -0
- package/dist/api/program/areas.d.ts +360 -0
- package/dist/api/program/areas.d.ts.map +1 -0
- package/dist/api/program/classification.d.ts +135 -0
- package/dist/api/program/classification.d.ts.map +1 -0
- package/dist/api/program/cores.d.ts +174 -0
- package/dist/api/program/cores.d.ts.map +1 -0
- package/dist/api/program/departments.d.ts +431 -0
- package/dist/api/program/departments.d.ts.map +1 -0
- package/dist/api/program/index.d.ts +69 -0
- package/dist/api/program/index.d.ts.map +1 -0
- package/dist/api/program/layout.d.ts +63 -0
- package/dist/api/program/layout.d.ts.map +1 -0
- package/dist/api/program/metrics.d.ts +108 -0
- package/dist/api/program/metrics.d.ts.map +1 -0
- package/dist/api/program/site.d.ts +367 -0
- package/dist/api/program/site.d.ts.map +1 -0
- package/dist/api/program/spreadsheet.d.ts +2041 -0
- package/dist/api/program/spreadsheet.d.ts.map +1 -0
- package/dist/handles.d.ts +138 -0
- package/dist/handles.d.ts.map +1 -0
- package/dist/host-utils.d.ts +7 -5
- package/dist/host-utils.d.ts.map +1 -1
- package/dist/index.cjs +3897 -1542
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3326 -1462
- package/dist/index.js.map +1 -1
- package/package.json +6 -2
- package/scripts/generate-manifest.mjs +193 -0
- package/scripts/generate-manifest.test.mjs +193 -0
- package/src/api/core/buildings.ts +485 -0
- package/src/api/core/comment/index.ts +258 -0
- package/src/api/core/geom/create/index.ts +293 -0
- package/src/api/core/geom/delete/index.ts +78 -0
- package/src/api/core/geom/index.ts +24 -23
- package/src/api/core/geom/query/arc.ts +169 -0
- package/src/api/core/geom/query/brep.ts +444 -0
- package/src/api/core/geom/query/circle.ts +404 -0
- package/src/api/core/geom/query/contour.ts +540 -0
- package/src/api/core/geom/query/curve.ts +1078 -0
- package/src/api/core/geom/query/edge.ts +130 -0
- package/src/api/core/geom/query/face.ts +403 -0
- package/src/api/core/geom/query/halfedge.ts +210 -0
- package/src/api/core/geom/query/index.ts +63 -0
- package/src/api/core/geom/query/profile.ts +473 -0
- package/src/api/core/geom/query/vertex.ts +205 -0
- package/src/api/core/geom/update/contour.ts +315 -0
- package/src/api/core/geom/update/curve.ts +209 -0
- package/src/api/core/geom/update/index.ts +29 -0
- package/src/api/core/geom/update/profile.ts +377 -0
- package/src/api/core/groups.ts +521 -0
- package/src/api/core/history/index.ts +84 -0
- package/src/api/core/index.ts +46 -1
- package/src/api/core/layers.ts +333 -0
- package/src/api/core/math/quat.ts +112 -235
- package/src/api/core/math/vec3.ts +124 -159
- package/src/api/core/project/index.ts +418 -0
- package/src/api/core/tags.ts +808 -0
- package/src/api/core/units/index.ts +164 -0
- package/src/api/core/zoom/index.ts +47 -0
- package/src/api/design/boolean/index.ts +179 -0
- package/src/api/design/create/index.ts +886 -0
- package/src/api/design/delete/index.ts +67 -0
- package/src/api/design/doors/index.ts +285 -0
- package/src/api/design/edit/index.ts +54 -0
- package/src/api/design/erase/index.ts +151 -0
- package/src/api/design/furniture/index.ts +130 -0
- package/src/api/design/index.ts +162 -0
- package/src/api/design/lock.ts +42 -0
- package/src/api/design/materials/index.ts +301 -0
- package/src/api/design/query/geometry/index.ts +166 -0
- package/src/api/design/query/index.ts +937 -0
- package/src/api/design/query/spaces.ts +132 -0
- package/src/api/design/selection/index.ts +144 -0
- package/src/api/design/shared.ts +40 -0
- package/src/api/design/transform/index.ts +93 -0
- package/src/api/design/update/index.ts +117 -0
- package/src/api/design/windows/index.ts +207 -0
- package/src/api/entity/buildableEnvelope.ts +64 -23
- package/src/api/entity/department.ts +0 -113
- package/src/api/entity/index.ts +4 -9
- package/src/api/entity/referenceLine.ts +50 -38
- package/src/api/entity/space.ts +84 -440
- package/src/api/entity/story.ts +53 -42
- package/src/api/index.ts +17 -17
- package/src/api/presentation/aiInspiration.ts +362 -0
- package/src/api/presentation/diagrams.ts +84 -0
- package/src/api/presentation/import.ts +112 -0
- package/src/api/presentation/index.ts +48 -0
- package/src/api/presentation/sheets.ts +198 -0
- package/src/api/presentation/views.ts +303 -0
- package/src/api/program/adjacency.ts +164 -0
- package/src/api/program/areas.ts +335 -0
- package/src/api/program/classification.ts +138 -0
- package/src/api/program/cores.ts +171 -0
- package/src/api/program/departments.ts +465 -0
- package/src/api/program/index.ts +71 -0
- package/src/api/program/layout.ts +68 -0
- package/src/api/program/metrics.ts +120 -0
- package/src/api/program/site.ts +326 -0
- package/src/api/program/spreadsheet.ts +2075 -0
- package/src/handles.ts +148 -0
- package/src/host-utils.ts +10 -6
- package/src/index.ts +1 -0
- package/dist/api/core/geom/arc.d.ts +0 -81
- package/dist/api/core/geom/arc.d.ts.map +0 -1
- package/dist/api/core/geom/curve.d.ts +0 -70
- package/dist/api/core/geom/curve.d.ts.map +0 -1
- package/dist/api/core/geom/line.d.ts +0 -56
- package/dist/api/core/geom/line.d.ts.map +0 -1
- package/dist/api/core/geom/profile.d.ts +0 -121
- package/dist/api/core/geom/profile.d.ts.map +0 -1
- package/dist/api/documentation/aiInspiration.d.ts +0 -2155
- package/dist/api/documentation/aiInspiration.d.ts.map +0 -1
- package/dist/api/documentation/index.d.ts +0 -13
- package/dist/api/documentation/index.d.ts.map +0 -1
- package/dist/api/tools/copy.d.ts +0 -59
- package/dist/api/tools/copy.d.ts.map +0 -1
- package/dist/api/tools/index.d.ts +0 -29
- package/dist/api/tools/index.d.ts.map +0 -1
- package/dist/api/tools/offset.d.ts +0 -43
- package/dist/api/tools/offset.d.ts.map +0 -1
- package/dist/api/tools/selection.d.ts +0 -48
- package/dist/api/tools/selection.d.ts.map +0 -1
- package/dist/api/tools/transform.d.ts +0 -114
- package/dist/api/tools/transform.d.ts.map +0 -1
- package/dist/api/units/index.d.ts +0 -163
- package/dist/api/units/index.d.ts.map +0 -1
- package/src/api/core/geom/arc.ts +0 -70
- package/src/api/core/geom/curve.ts +0 -41
- package/src/api/core/geom/line.ts +0 -53
- package/src/api/core/geom/profile.ts +0 -94
- package/src/api/documentation/aiInspiration.ts +0 -871
- package/src/api/documentation/index.ts +0 -15
- package/src/api/tools/copy.ts +0 -55
- package/src/api/tools/index.ts +0 -35
- package/src/api/tools/offset.ts +0 -43
- package/src/api/tools/selection.ts +0 -51
- package/src/api/tools/transform.ts +0 -117
- package/src/api/units/index.ts +0 -163
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
import { PluginApiReturn } from "../../types";
|
|
3
|
+
/**
|
|
4
|
+
* Program cores — the building's vertical-circulation cores (lift / stair / shaft
|
|
5
|
+
* shells).
|
|
6
|
+
*
|
|
7
|
+
* Read the cores in the scene, test whether a space is a core, and trigger core
|
|
8
|
+
* generation from a layout. `create` is a **thin trigger**: the program hands a
|
|
9
|
+
* core layout to the core-generation engine, which authors the geometry — the
|
|
10
|
+
* core geometry itself is owned by the geometry layer, not here (the exact
|
|
11
|
+
* layout ↔ engine payload is coordinated with the geometry owner).
|
|
12
|
+
*
|
|
13
|
+
* `list`/`isCore` are reads; `create` triggers generation.
|
|
14
|
+
*
|
|
15
|
+
* Accessed via `snaptrude.program.cores`.
|
|
16
|
+
*/
|
|
17
|
+
export declare abstract class PluginProgramCoresApi {
|
|
18
|
+
constructor();
|
|
19
|
+
/**
|
|
20
|
+
* List the cores currently in the building.
|
|
21
|
+
*
|
|
22
|
+
* @returns A {@linkcode PluginProgramCoresListResult} with each core's id,
|
|
23
|
+
* core group, and storey (empty when there are none).
|
|
24
|
+
*
|
|
25
|
+
* @examplePrompt List the cores in the building
|
|
26
|
+
* @examplePrompt How many cores are placed?
|
|
27
|
+
* @examplePrompt Show me the lift and stair cores
|
|
28
|
+
* @examplePrompt Which storeys have cores?
|
|
29
|
+
*
|
|
30
|
+
* # Example
|
|
31
|
+
* ```ts
|
|
32
|
+
* const { cores } = await snaptrude.program.cores.list()
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
abstract list(): PluginApiReturn<PluginProgramCoresListResult>;
|
|
36
|
+
/**
|
|
37
|
+
* Test whether a space is a circulation core element.
|
|
38
|
+
*
|
|
39
|
+
* @param id - The id of the space to test.
|
|
40
|
+
* @returns `true` if the space is a core element.
|
|
41
|
+
*
|
|
42
|
+
* @examplePrompt Is this space a core?
|
|
43
|
+
* @examplePrompt Does this mass belong to the core?
|
|
44
|
+
* @examplePrompt Check if space sp_1 is a circulation core
|
|
45
|
+
*
|
|
46
|
+
* # Example
|
|
47
|
+
* ```ts
|
|
48
|
+
* const isCore = await snaptrude.program.cores.isCore("sp_1")
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
abstract isCore(id: string): PluginApiReturn<boolean>;
|
|
52
|
+
/**
|
|
53
|
+
* Generate core geometry from a layout (thin trigger).
|
|
54
|
+
*
|
|
55
|
+
* Hands the core layout to the core-generation engine and returns how many core
|
|
56
|
+
* elements were created. The geometry is authored by the engine, not here.
|
|
57
|
+
* _(Authored ahead — optional until the host's geometry adapter lands; the
|
|
58
|
+
* reads {@linkcode PluginProgramCoresApi.list}/{@linkcode PluginProgramCoresApi.isCore}
|
|
59
|
+
* are live.)_
|
|
60
|
+
*
|
|
61
|
+
* @param cores - The {@linkcode PluginProgramCoreSpec} layout of cores to
|
|
62
|
+
* generate.
|
|
63
|
+
* @param lengthUnit - Unit of the spec dimensions (default project unit).
|
|
64
|
+
* @returns A {@linkcode PluginProgramCoresCreateResult} with the created count.
|
|
65
|
+
* @throws If the layout could not be realized.
|
|
66
|
+
*
|
|
67
|
+
* @examplePrompt Generate the building cores from this layout
|
|
68
|
+
* @examplePrompt Place the elevator and stair cores
|
|
69
|
+
* @examplePrompt Create the service core shells
|
|
70
|
+
*
|
|
71
|
+
* # Example
|
|
72
|
+
* ```ts
|
|
73
|
+
* await snaptrude.program.cores.create([
|
|
74
|
+
* { type: "lift", position: { x: 0, y: 0, z: 0 }, width: 3, depth: 4 },
|
|
75
|
+
* ])
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
create?: (cores: PluginProgramCoreSpec[], lengthUnit?: "mm" | "m" | "ft") => PluginApiReturn<PluginProgramCoresCreateResult>;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* A circulation core element in the building.
|
|
82
|
+
*
|
|
83
|
+
* | Property | Type | Description |
|
|
84
|
+
* |---|---|---|
|
|
85
|
+
* | `id` | `string` | Component id of the core element |
|
|
86
|
+
* | `groupId` | `string` | Id of the core group this element belongs to |
|
|
87
|
+
* | `storey` | `number` | Storey (floor number) the element sits on |
|
|
88
|
+
*/
|
|
89
|
+
export declare const PluginProgramCore: z.ZodObject<{
|
|
90
|
+
id: z.ZodString;
|
|
91
|
+
groupId: z.ZodString;
|
|
92
|
+
storey: z.ZodNumber;
|
|
93
|
+
}, z.core.$strip>;
|
|
94
|
+
export type PluginProgramCore = z.infer<typeof PluginProgramCore>;
|
|
95
|
+
/** Result of {@linkcode PluginProgramCoresApi.list}. */
|
|
96
|
+
export declare const PluginProgramCoresListResult: z.ZodObject<{
|
|
97
|
+
cores: z.ZodArray<z.ZodObject<{
|
|
98
|
+
id: z.ZodString;
|
|
99
|
+
groupId: z.ZodString;
|
|
100
|
+
storey: z.ZodNumber;
|
|
101
|
+
}, z.core.$strip>>;
|
|
102
|
+
}, z.core.$strip>;
|
|
103
|
+
export type PluginProgramCoresListResult = z.infer<typeof PluginProgramCoresListResult>;
|
|
104
|
+
/** Arguments for {@linkcode PluginProgramCoresApi.isCore}. */
|
|
105
|
+
export declare const PluginProgramCoresIsCoreArgs: z.ZodObject<{
|
|
106
|
+
id: z.ZodString;
|
|
107
|
+
}, z.core.$strip>;
|
|
108
|
+
export type PluginProgramCoresIsCoreArgs = z.infer<typeof PluginProgramCoresIsCoreArgs>;
|
|
109
|
+
/**
|
|
110
|
+
* One core to generate. The geometry layer interprets this layout (the exact
|
|
111
|
+
* fields are coordinated with the geometry owner).
|
|
112
|
+
*
|
|
113
|
+
* | Property | Type | Description |
|
|
114
|
+
* |---|---|---|
|
|
115
|
+
* | `type` | `string \| undefined` | Core kind (e.g. `"lift"`, `"stair"`, `"shaft"`) |
|
|
116
|
+
* | `position` | `{ x; y; z }` | Base position of the core |
|
|
117
|
+
* | `width` | `number` | Core width, in `lengthUnit` |
|
|
118
|
+
* | `depth` | `number` | Core depth, in `lengthUnit` |
|
|
119
|
+
* | `fromStorey` | `number \| undefined` | First storey the core spans |
|
|
120
|
+
* | `toStorey` | `number \| undefined` | Last storey the core spans |
|
|
121
|
+
*/
|
|
122
|
+
export declare const PluginProgramCoreSpec: z.ZodObject<{
|
|
123
|
+
type: z.ZodOptional<z.ZodString>;
|
|
124
|
+
position: z.ZodObject<{
|
|
125
|
+
x: z.ZodNumber;
|
|
126
|
+
y: z.ZodNumber;
|
|
127
|
+
z: z.ZodNumber;
|
|
128
|
+
}, z.core.$strip>;
|
|
129
|
+
width: z.ZodNumber;
|
|
130
|
+
depth: z.ZodNumber;
|
|
131
|
+
fromStorey: z.ZodOptional<z.ZodNumber>;
|
|
132
|
+
toStorey: z.ZodOptional<z.ZodNumber>;
|
|
133
|
+
}, z.core.$strip>;
|
|
134
|
+
export type PluginProgramCoreSpec = z.infer<typeof PluginProgramCoreSpec>;
|
|
135
|
+
/**
|
|
136
|
+
* Arguments for {@linkcode PluginProgramCoresApi.create}.
|
|
137
|
+
*
|
|
138
|
+
* | Property | Type | Description |
|
|
139
|
+
* |---|---|---|
|
|
140
|
+
* | `cores` | {@linkcode PluginProgramCoreSpec}`[]` | The cores to generate |
|
|
141
|
+
* | `lengthUnit` | `"mm" \| "m" \| "ft" \| undefined` | Unit of the spec dimensions (default project unit) |
|
|
142
|
+
*/
|
|
143
|
+
export declare const PluginProgramCoresCreateArgs: z.ZodObject<{
|
|
144
|
+
cores: z.ZodArray<z.ZodObject<{
|
|
145
|
+
type: z.ZodOptional<z.ZodString>;
|
|
146
|
+
position: z.ZodObject<{
|
|
147
|
+
x: z.ZodNumber;
|
|
148
|
+
y: z.ZodNumber;
|
|
149
|
+
z: z.ZodNumber;
|
|
150
|
+
}, z.core.$strip>;
|
|
151
|
+
width: z.ZodNumber;
|
|
152
|
+
depth: z.ZodNumber;
|
|
153
|
+
fromStorey: z.ZodOptional<z.ZodNumber>;
|
|
154
|
+
toStorey: z.ZodOptional<z.ZodNumber>;
|
|
155
|
+
}, z.core.$strip>>;
|
|
156
|
+
lengthUnit: z.ZodOptional<z.ZodEnum<{
|
|
157
|
+
ft: "ft";
|
|
158
|
+
m: "m";
|
|
159
|
+
mm: "mm";
|
|
160
|
+
}>>;
|
|
161
|
+
}, z.core.$strip>;
|
|
162
|
+
export type PluginProgramCoresCreateArgs = z.infer<typeof PluginProgramCoresCreateArgs>;
|
|
163
|
+
/**
|
|
164
|
+
* Result of {@linkcode PluginProgramCoresApi.create}.
|
|
165
|
+
*
|
|
166
|
+
* | Property | Type | Description |
|
|
167
|
+
* |---|---|---|
|
|
168
|
+
* | `createdCount` | `number` | Number of core elements created |
|
|
169
|
+
*/
|
|
170
|
+
export declare const PluginProgramCoresCreateResult: z.ZodObject<{
|
|
171
|
+
createdCount: z.ZodNumber;
|
|
172
|
+
}, z.core.$strip>;
|
|
173
|
+
export type PluginProgramCoresCreateResult = z.infer<typeof PluginProgramCoresCreateResult>;
|
|
174
|
+
//# sourceMappingURL=cores.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cores.d.ts","sourceRoot":"","sources":["../../../src/api/program/cores.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;;;;;;;;GAaG;AACH,8BAAsB,qBAAqB;;IAGzC;;;;;;;;;;;;;;;OAeG;aACa,IAAI,IAAI,eAAe,CAAC,4BAA4B,CAAC;IAErE;;;;;;;;;;;;;;OAcG;aACa,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC;IAE5D;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACI,MAAM,CAAC,EAAE,CACd,KAAK,EAAE,qBAAqB,EAAE,EAC9B,UAAU,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,IAAI,KAC3B,eAAe,CAAC,8BAA8B,CAAC,CAAA;CACrD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB;;;;iBAI5B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE,wDAAwD;AACxD,eAAO,MAAM,4BAA4B;;;;;;iBAEvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,4BAA4B,CACpC,CAAA;AAED,8DAA8D;AAC9D,eAAO,MAAM,4BAA4B;;iBAEvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,4BAA4B,CACpC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;iBAOhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;iBAGvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,4BAA4B,CACpC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B;;iBAEzC,CAAA;AACF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAClD,OAAO,8BAA8B,CACtC,CAAA"}
|
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
import { PluginApiReturn } from "../../types";
|
|
3
|
+
import { PluginAreaUnit } from "./metrics";
|
|
4
|
+
import { ComponentHandle } from "../../handles";
|
|
5
|
+
/**
|
|
6
|
+
* Program departments — read the department groupings of the active program.
|
|
7
|
+
*
|
|
8
|
+
* In program mode a **department** is a named, colored grouping of spaces with an
|
|
9
|
+
* optional area **target**. This is the program-planning view of departments
|
|
10
|
+
* (their identity, color, and target area); the underlying space geometry is read
|
|
11
|
+
* and edited through the geometry namespaces, not here.
|
|
12
|
+
*
|
|
13
|
+
* All methods are reads: they return plain records and never throw for a missing
|
|
14
|
+
* department (`get` returns `null`, `list` returns `[]`).
|
|
15
|
+
*
|
|
16
|
+
* Accessed via `snaptrude.program.departments`.
|
|
17
|
+
*/
|
|
18
|
+
export declare abstract class PluginProgramDepartmentsApi {
|
|
19
|
+
constructor();
|
|
20
|
+
/**
|
|
21
|
+
* List the departments in the active program.
|
|
22
|
+
*
|
|
23
|
+
* Returns every department — well-known (Default, Site, …) and user-created —
|
|
24
|
+
* with its identity, color, and area target (when one has been set).
|
|
25
|
+
*
|
|
26
|
+
* @returns A {@linkcode PluginProgramDepartmentsListResult} with a `departments`
|
|
27
|
+
* array (empty when the project has none).
|
|
28
|
+
*
|
|
29
|
+
* @examplePrompt List all the departments in my program
|
|
30
|
+
* @examplePrompt What program groups do I have and what are their target areas?
|
|
31
|
+
* @examplePrompt Show every department with its colour
|
|
32
|
+
* @examplePrompt Get the area target for each department
|
|
33
|
+
* @examplePrompt How many departments are in this project?
|
|
34
|
+
*
|
|
35
|
+
* # Example
|
|
36
|
+
* ```ts
|
|
37
|
+
* const { units, departments } = await snaptrude.program.departments.list()
|
|
38
|
+
* for (const d of departments) console.log(d.name, d.color, d.targetArea, units)
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
abstract list(): PluginApiReturn<PluginProgramDepartmentsListResult>;
|
|
42
|
+
/**
|
|
43
|
+
* Get a single department by id.
|
|
44
|
+
*
|
|
45
|
+
* @param departmentId - The id of the department to read.
|
|
46
|
+
* @returns The matching {@linkcode PluginProgramDepartment}, or `null` if no
|
|
47
|
+
* department has that id.
|
|
48
|
+
*
|
|
49
|
+
* @examplePrompt Get the department with id dep_123
|
|
50
|
+
* @examplePrompt Look up a single department by its id
|
|
51
|
+
* @examplePrompt What is the target area of this department id?
|
|
52
|
+
*
|
|
53
|
+
* # Example
|
|
54
|
+
* ```ts
|
|
55
|
+
* const dept = await snaptrude.program.departments.get("dep_123")
|
|
56
|
+
* if (dept) console.log(dept.name, dept.targetArea)
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
abstract get(departmentId: string): PluginApiReturn<PluginProgramDepartmentsGetResult>;
|
|
60
|
+
/**
|
|
61
|
+
* Create a new department in the active program.
|
|
62
|
+
*
|
|
63
|
+
* Adds a named, colored program grouping. The new department starts empty —
|
|
64
|
+
* put spaces in it with {@linkcode PluginProgramDepartmentsApi.assign}, and set
|
|
65
|
+
* its area goal with {@linkcode PluginProgramDepartmentsApi.setTargetArea}.
|
|
66
|
+
*
|
|
67
|
+
* @param name - Display name of the new department.
|
|
68
|
+
* @param color - CSS hex color string (e.g. `"#b5e1dc"`).
|
|
69
|
+
* @returns The new department's id (read the full record back with
|
|
70
|
+
* {@linkcode PluginProgramDepartmentsApi.get}).
|
|
71
|
+
* @throws If the department could not be created.
|
|
72
|
+
*
|
|
73
|
+
* @examplePrompt Create a department called Bedrooms in light blue
|
|
74
|
+
* @examplePrompt Add a new program group named Circulation with color #cccccc
|
|
75
|
+
* @examplePrompt Make a Classrooms department
|
|
76
|
+
* @examplePrompt Set up a Lobby department in the program
|
|
77
|
+
*
|
|
78
|
+
* # Example
|
|
79
|
+
* ```ts
|
|
80
|
+
* const { departmentId } = await snaptrude.program.departments.create("Bedrooms", "#b5e1dc")
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
abstract create(name: string, color: string): PluginApiReturn<PluginProgramDepartmentsCreateResult>;
|
|
84
|
+
/**
|
|
85
|
+
* Update a department's name and/or color.
|
|
86
|
+
*
|
|
87
|
+
* A **sparse** update: omitted fields are left unchanged. Use
|
|
88
|
+
* {@linkcode PluginProgramDepartmentsApi.setTargetArea} to change the area
|
|
89
|
+
* target (not this method).
|
|
90
|
+
*
|
|
91
|
+
* @param departmentId - The id of the department to update.
|
|
92
|
+
* @param options - Any of `name`, `color`; omitted fields are left unchanged.
|
|
93
|
+
* @returns The updated {@linkcode PluginProgramDepartment} (with the response
|
|
94
|
+
* `units` for its `targetArea`).
|
|
95
|
+
* @throws If no department has the given id.
|
|
96
|
+
*
|
|
97
|
+
* @examplePrompt Rename the Bedrooms department to Suites
|
|
98
|
+
* @examplePrompt Change the Circulation department colour to #ff8800
|
|
99
|
+
* @examplePrompt Recolour department dep_123
|
|
100
|
+
* @examplePrompt Update the Lobby department's display name
|
|
101
|
+
*
|
|
102
|
+
* # Example
|
|
103
|
+
* ```ts
|
|
104
|
+
* const dept = await snaptrude.program.departments.update("dep_123", { name: "Suites" })
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
abstract update(departmentId: string, options?: {
|
|
108
|
+
name?: string;
|
|
109
|
+
color?: string;
|
|
110
|
+
}): PluginApiReturn<PluginProgramDepartmentsUpdateResult>;
|
|
111
|
+
/**
|
|
112
|
+
* Assign one or more spaces to a department.
|
|
113
|
+
*
|
|
114
|
+
* Moves each space into the given department — an undoable membership change.
|
|
115
|
+
* A space belongs to exactly one department, so assigning re-homes it from any
|
|
116
|
+
* previous one. Paired with {@linkcode PluginProgramDepartmentsApi.unassign}.
|
|
117
|
+
*
|
|
118
|
+
* @param departmentId - The department to assign the spaces to.
|
|
119
|
+
* @param spaceIds - The ids of the spaces to move into the department (at
|
|
120
|
+
* least one).
|
|
121
|
+
* @returns The department and the space ids that were assigned.
|
|
122
|
+
* @throws If the department does not exist or a space id is invalid.
|
|
123
|
+
*
|
|
124
|
+
* @examplePrompt Assign the selected rooms to the Bedrooms department
|
|
125
|
+
* @examplePrompt Put spaces 12 and 13 in the Circulation department
|
|
126
|
+
* @examplePrompt Move this space into the Lobby department
|
|
127
|
+
* @examplePrompt Add the kitchen spaces to the Service department
|
|
128
|
+
*
|
|
129
|
+
* # Example
|
|
130
|
+
* ```ts
|
|
131
|
+
* await snaptrude.program.departments.assign("dep_123", ["sp_1", "sp_2"])
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
abstract assign(departmentId: string, spaceIds: ComponentHandle[]): PluginApiReturn<PluginProgramDepartmentsAssignResult>;
|
|
135
|
+
/**
|
|
136
|
+
* Remove one or more spaces from their department.
|
|
137
|
+
*
|
|
138
|
+
* Returns each space to the **Default** department — there is no "no
|
|
139
|
+
* department" state, so unassigning means reassigning to Default. Paired with
|
|
140
|
+
* {@linkcode PluginProgramDepartmentsApi.assign}.
|
|
141
|
+
*
|
|
142
|
+
* @param spaceIds - The ids of the spaces to remove from their current
|
|
143
|
+
* department (at least one).
|
|
144
|
+
* @returns The space ids that were returned to Default.
|
|
145
|
+
* @throws If a space id is invalid.
|
|
146
|
+
*
|
|
147
|
+
* @examplePrompt Remove the selected rooms from their department
|
|
148
|
+
* @examplePrompt Unassign space sp_1 from any department
|
|
149
|
+
* @examplePrompt Clear the department on these spaces
|
|
150
|
+
* @examplePrompt Take the kitchen out of the Service department
|
|
151
|
+
*
|
|
152
|
+
* # Example
|
|
153
|
+
* ```ts
|
|
154
|
+
* await snaptrude.program.departments.unassign(["sp_1"])
|
|
155
|
+
* ```
|
|
156
|
+
*/
|
|
157
|
+
abstract unassign(spaceIds: ComponentHandle[]): PluginApiReturn<PluginProgramDepartmentsUnassignResult>;
|
|
158
|
+
/**
|
|
159
|
+
* Set a department's target area.
|
|
160
|
+
*
|
|
161
|
+
* The goal the program metrics compare allocated area against (see
|
|
162
|
+
* {@linkcode PluginProgramMetricsApi}). Pass `units` to say what unit
|
|
163
|
+
* `targetArea` is in; it defaults to the project's area units. Read the target
|
|
164
|
+
* back from {@linkcode PluginProgramDepartmentsApi.get} (`targetArea`).
|
|
165
|
+
*
|
|
166
|
+
* @param departmentId - The id of the department whose target to set.
|
|
167
|
+
* @param targetArea - The target area, in `units`.
|
|
168
|
+
* @param units - Unit of `targetArea` (defaults to the project's area units).
|
|
169
|
+
* @returns The updated {@linkcode PluginProgramDepartment} with its `units`.
|
|
170
|
+
* @throws If no department has the given id.
|
|
171
|
+
*
|
|
172
|
+
* @examplePrompt Set the Bedrooms department target area to 2000 sqft
|
|
173
|
+
* @examplePrompt Give the Circulation department a 500 sqm area target
|
|
174
|
+
* @examplePrompt Target 1500 square feet for the Classrooms department
|
|
175
|
+
* @examplePrompt Update the area goal for department dep_123
|
|
176
|
+
*
|
|
177
|
+
* # Example
|
|
178
|
+
* ```ts
|
|
179
|
+
* await snaptrude.program.departments.setTargetArea("dep_123", 2000, "ft2")
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
182
|
+
abstract setTargetArea(departmentId: string, targetArea: number, units?: PluginAreaUnit): PluginApiReturn<PluginProgramDepartmentsSetTargetAreaResult>;
|
|
183
|
+
/**
|
|
184
|
+
* Delete a department.
|
|
185
|
+
*
|
|
186
|
+
* Any spaces still assigned to it are returned to the **Default** department
|
|
187
|
+
* (no space is left orphaned). The reserved departments (Default, Site,
|
|
188
|
+
* Envelope, Core) cannot be deleted.
|
|
189
|
+
*
|
|
190
|
+
* @param departmentId - The id of the department to delete.
|
|
191
|
+
* @returns The id of the deleted department and the spaces that were reassigned
|
|
192
|
+
* to Default.
|
|
193
|
+
* @throws If no department has the given id, or it is a reserved department.
|
|
194
|
+
*
|
|
195
|
+
* @examplePrompt Delete the Bedrooms department
|
|
196
|
+
* @examplePrompt Remove the empty Circulation department
|
|
197
|
+
* @examplePrompt Delete department dep_123 and move its rooms to Default
|
|
198
|
+
*
|
|
199
|
+
* # Example
|
|
200
|
+
* ```ts
|
|
201
|
+
* await snaptrude.program.departments.delete("dep_123")
|
|
202
|
+
* ```
|
|
203
|
+
*/
|
|
204
|
+
delete?: (departmentId: string) => PluginApiReturn<PluginProgramDepartmentsDeleteResult>;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* A department in the active program. Its `targetArea` is in the enclosing
|
|
208
|
+
* response's `units` (see the area-units convention in
|
|
209
|
+
* {@linkcode PluginAreaUnit}).
|
|
210
|
+
*
|
|
211
|
+
* | Property | Type | Description |
|
|
212
|
+
* |---|---|---|
|
|
213
|
+
* | `id` | `string` | Unique department id |
|
|
214
|
+
* | `name` | `string` | Display name |
|
|
215
|
+
* | `color` | `string` | CSS hex color string (e.g. `"#b5e1dc"`) |
|
|
216
|
+
* | `targetArea` | `number \| null` | Target area in the response's `units`, or `null` if no target is set |
|
|
217
|
+
*/
|
|
218
|
+
export declare const PluginProgramDepartment: z.ZodObject<{
|
|
219
|
+
id: z.ZodString;
|
|
220
|
+
name: z.ZodString;
|
|
221
|
+
color: z.ZodString;
|
|
222
|
+
targetArea: z.ZodNullable<z.ZodNumber>;
|
|
223
|
+
}, z.core.$strip>;
|
|
224
|
+
export type PluginProgramDepartment = z.infer<typeof PluginProgramDepartment>;
|
|
225
|
+
/**
|
|
226
|
+
* Result of {@linkcode PluginProgramDepartmentsApi.list}. Per the area-units
|
|
227
|
+
* convention, `units` sits on this response envelope (not on each record).
|
|
228
|
+
*
|
|
229
|
+
* | Property | Type | Description |
|
|
230
|
+
* |---|---|---|
|
|
231
|
+
* | `units` | `"ft2" \| "m2"` | The unit every `targetArea` below is reported in |
|
|
232
|
+
* | `departments` | {@linkcode PluginProgramDepartment}`[]` | All departments in the active program |
|
|
233
|
+
*/
|
|
234
|
+
export declare const PluginProgramDepartmentsListResult: z.ZodObject<{
|
|
235
|
+
units: z.ZodEnum<{
|
|
236
|
+
ft2: "ft2";
|
|
237
|
+
m2: "m2";
|
|
238
|
+
}>;
|
|
239
|
+
departments: z.ZodArray<z.ZodObject<{
|
|
240
|
+
id: z.ZodString;
|
|
241
|
+
name: z.ZodString;
|
|
242
|
+
color: z.ZodString;
|
|
243
|
+
targetArea: z.ZodNullable<z.ZodNumber>;
|
|
244
|
+
}, z.core.$strip>>;
|
|
245
|
+
}, z.core.$strip>;
|
|
246
|
+
export type PluginProgramDepartmentsListResult = z.infer<typeof PluginProgramDepartmentsListResult>;
|
|
247
|
+
/**
|
|
248
|
+
* Arguments for {@linkcode PluginProgramDepartmentsApi.get}.
|
|
249
|
+
*
|
|
250
|
+
* | Property | Type | Description |
|
|
251
|
+
* |---|---|---|
|
|
252
|
+
* | `departmentId` | `string` | The id of the department to read |
|
|
253
|
+
*/
|
|
254
|
+
export declare const PluginProgramDepartmentsGetArgs: z.ZodObject<{
|
|
255
|
+
departmentId: z.ZodString;
|
|
256
|
+
}, z.core.$strip>;
|
|
257
|
+
export type PluginProgramDepartmentsGetArgs = z.infer<typeof PluginProgramDepartmentsGetArgs>;
|
|
258
|
+
/**
|
|
259
|
+
* Result of {@linkcode PluginProgramDepartmentsApi.get} — the department, or
|
|
260
|
+
* `null` when no department has the given id. This is a bare `.get` record, so
|
|
261
|
+
* per the area-units convention `units` is carried on the record itself.
|
|
262
|
+
*/
|
|
263
|
+
export declare const PluginProgramDepartmentsGetResult: z.ZodNullable<z.ZodObject<{
|
|
264
|
+
id: z.ZodString;
|
|
265
|
+
name: z.ZodString;
|
|
266
|
+
color: z.ZodString;
|
|
267
|
+
targetArea: z.ZodNullable<z.ZodNumber>;
|
|
268
|
+
units: z.ZodEnum<{
|
|
269
|
+
ft2: "ft2";
|
|
270
|
+
m2: "m2";
|
|
271
|
+
}>;
|
|
272
|
+
}, z.core.$strip>>;
|
|
273
|
+
export type PluginProgramDepartmentsGetResult = z.infer<typeof PluginProgramDepartmentsGetResult>;
|
|
274
|
+
/**
|
|
275
|
+
* A department record with its area `units` — the shape returned by the
|
|
276
|
+
* single-record department writes (`update`, `setTargetArea`). Per the
|
|
277
|
+
* area-units convention, a bare record carries `units` on itself.
|
|
278
|
+
*/
|
|
279
|
+
export declare const PluginProgramDepartmentRecord: z.ZodObject<{
|
|
280
|
+
id: z.ZodString;
|
|
281
|
+
name: z.ZodString;
|
|
282
|
+
color: z.ZodString;
|
|
283
|
+
targetArea: z.ZodNullable<z.ZodNumber>;
|
|
284
|
+
units: z.ZodEnum<{
|
|
285
|
+
ft2: "ft2";
|
|
286
|
+
m2: "m2";
|
|
287
|
+
}>;
|
|
288
|
+
}, z.core.$strip>;
|
|
289
|
+
export type PluginProgramDepartmentRecord = z.infer<typeof PluginProgramDepartmentRecord>;
|
|
290
|
+
/**
|
|
291
|
+
* Arguments for {@linkcode PluginProgramDepartmentsApi.create}.
|
|
292
|
+
*
|
|
293
|
+
* | Property | Type | Description |
|
|
294
|
+
* |---|---|---|
|
|
295
|
+
* | `name` | `string` | Display name of the new department |
|
|
296
|
+
* | `color` | `string` | CSS hex color string (e.g. `"#b5e1dc"`) |
|
|
297
|
+
*/
|
|
298
|
+
export declare const PluginProgramDepartmentsCreateArgs: z.ZodObject<{
|
|
299
|
+
name: z.ZodString;
|
|
300
|
+
color: z.ZodString;
|
|
301
|
+
}, z.core.$strip>;
|
|
302
|
+
export type PluginProgramDepartmentsCreateArgs = z.infer<typeof PluginProgramDepartmentsCreateArgs>;
|
|
303
|
+
/**
|
|
304
|
+
* Result of {@linkcode PluginProgramDepartmentsApi.create} — the id of the
|
|
305
|
+
* newly created department.
|
|
306
|
+
*/
|
|
307
|
+
export declare const PluginProgramDepartmentsCreateResult: z.ZodObject<{
|
|
308
|
+
departmentId: z.ZodString;
|
|
309
|
+
}, z.core.$strip>;
|
|
310
|
+
export type PluginProgramDepartmentsCreateResult = z.infer<typeof PluginProgramDepartmentsCreateResult>;
|
|
311
|
+
/**
|
|
312
|
+
* Arguments for {@linkcode PluginProgramDepartmentsApi.update}. Sparse — only
|
|
313
|
+
* the provided fields are changed.
|
|
314
|
+
*
|
|
315
|
+
* | Property | Type | Description |
|
|
316
|
+
* |---|---|---|
|
|
317
|
+
* | `departmentId` | `string` | The id of the department to update |
|
|
318
|
+
* | `name` | `string \| undefined` | New display name (unchanged if omitted) |
|
|
319
|
+
* | `color` | `string \| undefined` | New CSS hex color (unchanged if omitted) |
|
|
320
|
+
*/
|
|
321
|
+
export declare const PluginProgramDepartmentsUpdateArgs: z.ZodObject<{
|
|
322
|
+
departmentId: z.ZodString;
|
|
323
|
+
name: z.ZodOptional<z.ZodString>;
|
|
324
|
+
color: z.ZodOptional<z.ZodString>;
|
|
325
|
+
}, z.core.$strip>;
|
|
326
|
+
export type PluginProgramDepartmentsUpdateArgs = z.infer<typeof PluginProgramDepartmentsUpdateArgs>;
|
|
327
|
+
/** Result of {@linkcode PluginProgramDepartmentsApi.update} — the updated record. */
|
|
328
|
+
export declare const PluginProgramDepartmentsUpdateResult: z.ZodObject<{
|
|
329
|
+
id: z.ZodString;
|
|
330
|
+
name: z.ZodString;
|
|
331
|
+
color: z.ZodString;
|
|
332
|
+
targetArea: z.ZodNullable<z.ZodNumber>;
|
|
333
|
+
units: z.ZodEnum<{
|
|
334
|
+
ft2: "ft2";
|
|
335
|
+
m2: "m2";
|
|
336
|
+
}>;
|
|
337
|
+
}, z.core.$strip>;
|
|
338
|
+
export type PluginProgramDepartmentsUpdateResult = z.infer<typeof PluginProgramDepartmentsUpdateResult>;
|
|
339
|
+
/**
|
|
340
|
+
* Arguments for {@linkcode PluginProgramDepartmentsApi.assign}.
|
|
341
|
+
*
|
|
342
|
+
* | Property | Type | Description |
|
|
343
|
+
* |---|---|---|
|
|
344
|
+
* | `departmentId` | `string` | The department to assign the spaces to |
|
|
345
|
+
* | `spaceIds` | `ComponentHandle[]` | The ids of the spaces to move into the department |
|
|
346
|
+
*/
|
|
347
|
+
export declare const PluginProgramDepartmentsAssignArgs: z.ZodObject<{
|
|
348
|
+
departmentId: z.ZodString;
|
|
349
|
+
spaceIds: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
|
|
350
|
+
}, z.core.$strip>;
|
|
351
|
+
export type PluginProgramDepartmentsAssignArgs = z.infer<typeof PluginProgramDepartmentsAssignArgs>;
|
|
352
|
+
/** Result of {@linkcode PluginProgramDepartmentsApi.assign}. */
|
|
353
|
+
export declare const PluginProgramDepartmentsAssignResult: z.ZodObject<{
|
|
354
|
+
departmentId: z.ZodString;
|
|
355
|
+
spaceIds: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
|
|
356
|
+
}, z.core.$strip>;
|
|
357
|
+
export type PluginProgramDepartmentsAssignResult = z.infer<typeof PluginProgramDepartmentsAssignResult>;
|
|
358
|
+
/**
|
|
359
|
+
* Arguments for {@linkcode PluginProgramDepartmentsApi.unassign}.
|
|
360
|
+
*
|
|
361
|
+
* | Property | Type | Description |
|
|
362
|
+
* |---|---|---|
|
|
363
|
+
* | `spaceIds` | `ComponentHandle[]` | The ids of the spaces to return to the Default department |
|
|
364
|
+
*/
|
|
365
|
+
export declare const PluginProgramDepartmentsUnassignArgs: z.ZodObject<{
|
|
366
|
+
spaceIds: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
|
|
367
|
+
}, z.core.$strip>;
|
|
368
|
+
export type PluginProgramDepartmentsUnassignArgs = z.infer<typeof PluginProgramDepartmentsUnassignArgs>;
|
|
369
|
+
/** Result of {@linkcode PluginProgramDepartmentsApi.unassign}. */
|
|
370
|
+
export declare const PluginProgramDepartmentsUnassignResult: z.ZodObject<{
|
|
371
|
+
spaceIds: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
|
|
372
|
+
}, z.core.$strip>;
|
|
373
|
+
export type PluginProgramDepartmentsUnassignResult = z.infer<typeof PluginProgramDepartmentsUnassignResult>;
|
|
374
|
+
/**
|
|
375
|
+
* Arguments for {@linkcode PluginProgramDepartmentsApi.setTargetArea}.
|
|
376
|
+
*
|
|
377
|
+
* | Property | Type | Description |
|
|
378
|
+
* |---|---|---|
|
|
379
|
+
* | `departmentId` | `string` | The id of the department whose target to set |
|
|
380
|
+
* | `targetArea` | `number` | The target area, in `units` |
|
|
381
|
+
* | `units` | `"ft2" \| "m2" \| undefined` | Unit of `targetArea` (defaults to the project's area units) |
|
|
382
|
+
*/
|
|
383
|
+
export declare const PluginProgramDepartmentsSetTargetAreaArgs: z.ZodObject<{
|
|
384
|
+
departmentId: z.ZodString;
|
|
385
|
+
targetArea: z.ZodNumber;
|
|
386
|
+
units: z.ZodOptional<z.ZodEnum<{
|
|
387
|
+
ft2: "ft2";
|
|
388
|
+
m2: "m2";
|
|
389
|
+
}>>;
|
|
390
|
+
}, z.core.$strip>;
|
|
391
|
+
export type PluginProgramDepartmentsSetTargetAreaArgs = z.infer<typeof PluginProgramDepartmentsSetTargetAreaArgs>;
|
|
392
|
+
/**
|
|
393
|
+
* Result of {@linkcode PluginProgramDepartmentsApi.setTargetArea} — the updated
|
|
394
|
+
* department record with its `units`.
|
|
395
|
+
*/
|
|
396
|
+
export declare const PluginProgramDepartmentsSetTargetAreaResult: z.ZodObject<{
|
|
397
|
+
id: z.ZodString;
|
|
398
|
+
name: z.ZodString;
|
|
399
|
+
color: z.ZodString;
|
|
400
|
+
targetArea: z.ZodNullable<z.ZodNumber>;
|
|
401
|
+
units: z.ZodEnum<{
|
|
402
|
+
ft2: "ft2";
|
|
403
|
+
m2: "m2";
|
|
404
|
+
}>;
|
|
405
|
+
}, z.core.$strip>;
|
|
406
|
+
export type PluginProgramDepartmentsSetTargetAreaResult = z.infer<typeof PluginProgramDepartmentsSetTargetAreaResult>;
|
|
407
|
+
/**
|
|
408
|
+
* Arguments for {@linkcode PluginProgramDepartmentsApi.delete}.
|
|
409
|
+
*
|
|
410
|
+
* | Property | Type | Description |
|
|
411
|
+
* |---|---|---|
|
|
412
|
+
* | `departmentId` | `string` | The id of the department to delete |
|
|
413
|
+
*/
|
|
414
|
+
export declare const PluginProgramDepartmentsDeleteArgs: z.ZodObject<{
|
|
415
|
+
departmentId: z.ZodString;
|
|
416
|
+
}, z.core.$strip>;
|
|
417
|
+
export type PluginProgramDepartmentsDeleteArgs = z.infer<typeof PluginProgramDepartmentsDeleteArgs>;
|
|
418
|
+
/**
|
|
419
|
+
* Result of {@linkcode PluginProgramDepartmentsApi.delete}.
|
|
420
|
+
*
|
|
421
|
+
* | Property | Type | Description |
|
|
422
|
+
* |---|---|---|
|
|
423
|
+
* | `departmentId` | `string` | The id of the deleted department |
|
|
424
|
+
* | `reassignedSpaceIds` | `ComponentHandle[]` | Spaces that were returned to the Default department |
|
|
425
|
+
*/
|
|
426
|
+
export declare const PluginProgramDepartmentsDeleteResult: z.ZodObject<{
|
|
427
|
+
departmentId: z.ZodString;
|
|
428
|
+
reassignedSpaceIds: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
|
|
429
|
+
}, z.core.$strip>;
|
|
430
|
+
export type PluginProgramDepartmentsDeleteResult = z.infer<typeof PluginProgramDepartmentsDeleteResult>;
|
|
431
|
+
//# sourceMappingURL=departments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"departments.d.ts","sourceRoot":"","sources":["../../../src/api/program/departments.ts"],"names":[],"mappings":"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"}
|