@snaptrude/plugin-core 0.9.8 → 0.9.9
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 +4 -0
- package/CHANGELOG.md +7 -6
- package/api-manifest.json +217 -0
- package/dist/api/core/tags.d.ts +81 -0
- package/dist/api/core/tags.d.ts.map +1 -1
- package/dist/api/program/departments.d.ts +58 -2
- package/dist/api/program/departments.d.ts.map +1 -1
- package/dist/api/program/index.d.ts +16 -6
- package/dist/api/program/index.d.ts.map +1 -1
- package/dist/api/program/labels.d.ts +355 -0
- package/dist/api/program/labels.d.ts.map +1 -0
- package/dist/api/program/metadata.d.ts +328 -0
- package/dist/api/program/metadata.d.ts.map +1 -0
- package/dist/api/program/spreadsheet.d.ts +263 -0
- package/dist/api/program/spreadsheet.d.ts.map +1 -1
- package/dist/index.cjs +1079 -831
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1034 -831
- package/dist/index.js.map +1 -1
- package/package.json +13 -13
- package/src/api/core/tags.ts +76 -0
- package/src/api/program/departments.ts +54 -2
- package/src/api/program/index.ts +16 -6
- package/src/api/program/labels.ts +332 -0
- package/src/api/program/metadata.ts +364 -0
- package/src/api/program/spreadsheet.ts +282 -0
- package/api-manifest.full.json +0 -8443
package/AGENTS.md
CHANGED
|
@@ -180,6 +180,10 @@ These are in-browser integration tests that exercise the plugin API end-to-end.
|
|
|
180
180
|
| `entity/referenceLine.ts` | `tests/referenceLines.ts` |
|
|
181
181
|
| `entity/department.ts` | `tests/departments.ts` |
|
|
182
182
|
| `entity/buildableEnvelope.ts` | `tests/buildableEnvelope.ts` |
|
|
183
|
+
| `program/metadata.ts` | `tests/programMetadata.ts` |
|
|
184
|
+
| `program/labels.ts` | `tests/programLabels.ts` |
|
|
185
|
+
| `program/spreadsheet.ts` (custom sheets) | `tests/spreadsheetCustomSheets.ts` |
|
|
186
|
+
| `core/tags.ts` (`listForComponents`) | `tests/tagsBulk.ts` |
|
|
183
187
|
| `tools/selection.ts` | `tests/selection.ts` |
|
|
184
188
|
| `tools/transform.ts` | `tests/transform.ts` |
|
|
185
189
|
| `tools/copy.ts` | `tests/copy.ts` |
|
package/CHANGELOG.md
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
# @snaptrude/plugin-core
|
|
2
2
|
|
|
3
|
-
## 0.9.
|
|
3
|
+
## 0.9.9
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
`
|
|
7
|
+
- Program-mode additions requested by the healthcare programming pilot (all additive; no signature changes):
|
|
8
|
+
- `program.metadata` — the Program Data sheet's custom columns and per-space values: `listHeaders`, `createHeader` (reuse-by-name), `get`, `list`, `update`, `updateMany`. Writes are undoable and work with the Program tab closed.
|
|
9
|
+
- `program.labels` — the program rows (space types) with targets: `list`, `get`, `create` (optionally `createSpaces`), `setTargetArea`, `setTargetCount`. Covers "target area of non-departments": a space inherits its label's target; departments keep `program.departments.setTargetArea`.
|
|
10
|
+
- `program.spreadsheet` — custom program sheets with a group-by hierarchy: `createCustomSheet`, `updateCustomSheet`, `getCustomSheet`, `listCustomSheets`, `listCustomSheetProperties`.
|
|
11
|
+
- `core.tags.listForComponents(componentIds?)` — every space's tags + colors in one round-trip.
|
|
12
|
+
- `program.departments` — `targetCount` on the department record and `setTargetCount(departmentId, targetCount)`, the count twin of `setTargetArea` (the engine stores both on the department, like on labels).
|
|
12
13
|
|
|
13
14
|
## 0.9.7
|
|
14
15
|
|
package/api-manifest.json
CHANGED
|
@@ -4038,6 +4038,19 @@
|
|
|
4038
4038
|
"argsType": "ComponentHandle",
|
|
4039
4039
|
"resultType": "PluginCoreTagsGetTagsForComponentResult"
|
|
4040
4040
|
},
|
|
4041
|
+
{
|
|
4042
|
+
"path": "core.tags.listForComponents",
|
|
4043
|
+
"namespace": "core.tags",
|
|
4044
|
+
"summary": "List the tags carried by many components in one call.",
|
|
4045
|
+
"examplePrompts": [
|
|
4046
|
+
"Get the tags of every space with their colors",
|
|
4047
|
+
"List the tags on all rooms so I can color them by Occupancy",
|
|
4048
|
+
"Which tag does each selected space carry?\n\n# Example\n```ts\nconst { components } = await snaptrude.core.tags.listForComponents()\nfor (const c of components) {\nconst occupancy = c.tags.find((t) => t.categoryName === \"Occupancy\")\nif (occupancy) paint(c.componentId, occupancy.color)\n}\n```"
|
|
4049
|
+
],
|
|
4050
|
+
"argsType": "ComponentHandle[]",
|
|
4051
|
+
"resultType": "PluginCoreTagsListForComponentsResult",
|
|
4052
|
+
"performance": "One round-trip for any number of components — use this instead of a `listForComponent` loop."
|
|
4053
|
+
},
|
|
4041
4054
|
{
|
|
4042
4055
|
"path": "core.tags.unassign",
|
|
4043
4056
|
"namespace": "core.tags",
|
|
@@ -7662,6 +7675,18 @@
|
|
|
7662
7675
|
"argsType": "string",
|
|
7663
7676
|
"resultType": "PluginProgramDepartmentsSetTargetAreaResult"
|
|
7664
7677
|
},
|
|
7678
|
+
{
|
|
7679
|
+
"path": "program.departments.setTargetCount",
|
|
7680
|
+
"namespace": "program.departments",
|
|
7681
|
+
"summary": "Set a department's target unit count.",
|
|
7682
|
+
"examplePrompts": [
|
|
7683
|
+
"Set the Bedrooms department unit count to 12",
|
|
7684
|
+
"The program needs 4 clinic blocks — update the department count",
|
|
7685
|
+
"Update the target count for department dep_123\n\n# Example\n```ts\nawait snaptrude.program.departments.setTargetCount(\"dep_123\", 12)\n```"
|
|
7686
|
+
],
|
|
7687
|
+
"argsType": "string",
|
|
7688
|
+
"resultType": "PluginProgramDepartmentsSetTargetCountResult"
|
|
7689
|
+
},
|
|
7665
7690
|
{
|
|
7666
7691
|
"path": "program.departments.unassign",
|
|
7667
7692
|
"namespace": "program.departments",
|
|
@@ -7688,6 +7713,65 @@
|
|
|
7688
7713
|
"argsType": "string",
|
|
7689
7714
|
"resultType": "PluginProgramDepartmentsUpdateResult"
|
|
7690
7715
|
},
|
|
7716
|
+
{
|
|
7717
|
+
"path": "program.labels.create",
|
|
7718
|
+
"namespace": "program.labels",
|
|
7719
|
+
"summary": "Create labels (program rows), optionally creating their spaces too.",
|
|
7720
|
+
"examplePrompts": [
|
|
7721
|
+
"Add program rows for 4 exam rooms of 120 sqft each",
|
|
7722
|
+
"Create the labels from this interpreted program",
|
|
7723
|
+
"Add an Office label with a 2000 sqft target to the Admin department",
|
|
7724
|
+
"Create program rows and their spaces on the canvas\n\n# Example\n```ts\nconst { labelIds } = await snaptrude.program.labels.create(\n[{ name: \"Exam Room\", targetArea: 480, targetCount: 4, departmentName: \"Clinic\" }],\n{ units: \"ft2\" },\n)\n```"
|
|
7725
|
+
],
|
|
7726
|
+
"argsType": "PluginProgramLabelCreateItem[]",
|
|
7727
|
+
"resultType": "PluginProgramLabelsCreateResult"
|
|
7728
|
+
},
|
|
7729
|
+
{
|
|
7730
|
+
"path": "program.labels.get",
|
|
7731
|
+
"namespace": "program.labels",
|
|
7732
|
+
"summary": "Get a single label by id.",
|
|
7733
|
+
"examplePrompts": [
|
|
7734
|
+
"Get the label with id lbl_12",
|
|
7735
|
+
"What is the target area of this program row?\n\n# Example\n```ts\nconst label = await snaptrude.program.labels.get(\"lbl_12\")\nif (label) console.log(label.name, label.targetArea, label.units)\n```"
|
|
7736
|
+
],
|
|
7737
|
+
"argsType": "string",
|
|
7738
|
+
"resultType": "PluginProgramLabelsGetResult"
|
|
7739
|
+
},
|
|
7740
|
+
{
|
|
7741
|
+
"path": "program.labels.list",
|
|
7742
|
+
"namespace": "program.labels",
|
|
7743
|
+
"summary": "List the labels (program rows) of the active program.",
|
|
7744
|
+
"examplePrompts": [
|
|
7745
|
+
"List all the program rows with their target areas",
|
|
7746
|
+
"What space labels are in the program and how many of each?",
|
|
7747
|
+
"Show every label with its department and target\n\n# Example\n```ts\nconst { units, labels } = await snaptrude.program.labels.list()\nfor (const l of labels) console.log(l.name, l.targetArea, units, l.targetCount)\n```"
|
|
7748
|
+
],
|
|
7749
|
+
"argsType": null,
|
|
7750
|
+
"resultType": "PluginProgramLabelsListResult"
|
|
7751
|
+
},
|
|
7752
|
+
{
|
|
7753
|
+
"path": "program.labels.setTargetArea",
|
|
7754
|
+
"namespace": "program.labels",
|
|
7755
|
+
"summary": "Set a label's total target area.",
|
|
7756
|
+
"examplePrompts": [
|
|
7757
|
+
"Set the Exam Room target area to 480 sqft",
|
|
7758
|
+
"Give the Corridor program row a 150 sqm target",
|
|
7759
|
+
"Update the area target for label lbl_12\n\n# Example\n```ts\nawait snaptrude.program.labels.setTargetArea(\"lbl_12\", 480, \"ft2\")\n```"
|
|
7760
|
+
],
|
|
7761
|
+
"argsType": "string",
|
|
7762
|
+
"resultType": "PluginProgramLabelsSetTargetAreaResult"
|
|
7763
|
+
},
|
|
7764
|
+
{
|
|
7765
|
+
"path": "program.labels.setTargetCount",
|
|
7766
|
+
"namespace": "program.labels",
|
|
7767
|
+
"summary": "Set a label's target unit count (how many of this space the program calls for).",
|
|
7768
|
+
"examplePrompts": [
|
|
7769
|
+
"Set the Exam Room count to 6",
|
|
7770
|
+
"The program needs 12 patient rooms — update the count\n\n# Example\n```ts\nawait snaptrude.program.labels.setTargetCount(\"lbl_12\", 6)\n```"
|
|
7771
|
+
],
|
|
7772
|
+
"argsType": "string",
|
|
7773
|
+
"resultType": "PluginProgramLabelsSetTargetCountResult"
|
|
7774
|
+
},
|
|
7691
7775
|
{
|
|
7692
7776
|
"path": "program.layout.applySolution",
|
|
7693
7777
|
"namespace": "program.layout",
|
|
@@ -7761,6 +7845,81 @@
|
|
|
7761
7845
|
"argsType": null,
|
|
7762
7846
|
"resultType": "PluginProgramLayoutStackResult"
|
|
7763
7847
|
},
|
|
7848
|
+
{
|
|
7849
|
+
"path": "program.metadata.createHeader",
|
|
7850
|
+
"namespace": "program.metadata",
|
|
7851
|
+
"summary": "Create a metadata header (a custom column on the Program Data sheet).",
|
|
7852
|
+
"examplePrompts": [
|
|
7853
|
+
"Add a custom column called Occupancy to the program sheet",
|
|
7854
|
+
"Create a metadata header named Department Code",
|
|
7855
|
+
"Make a new program-mode column for Finish Level\n\n# Example\n```ts\nconst header = await snaptrude.program.metadata.createHeader(\"Occupancy\", {\ndescription: \"People per room\",\n})\n```"
|
|
7856
|
+
],
|
|
7857
|
+
"argsType": "string",
|
|
7858
|
+
"resultType": "PluginProgramMetadataCreateHeaderResult"
|
|
7859
|
+
},
|
|
7860
|
+
{
|
|
7861
|
+
"path": "program.metadata.get",
|
|
7862
|
+
"namespace": "program.metadata",
|
|
7863
|
+
"summary": "Get one space's metadata values, keyed by header id.",
|
|
7864
|
+
"examplePrompts": [
|
|
7865
|
+
"Get the metadata on this space",
|
|
7866
|
+
"Read the custom column values for space sp_12",
|
|
7867
|
+
"What is this room's Occupancy metadata?\n\n# Example\n```ts\nconst record = await snaptrude.program.metadata.get(\"sp_12\")\nif (record) console.log(record.values)\n```"
|
|
7868
|
+
],
|
|
7869
|
+
"argsType": "ComponentHandle",
|
|
7870
|
+
"resultType": "PluginProgramMetadataGetResult"
|
|
7871
|
+
},
|
|
7872
|
+
{
|
|
7873
|
+
"path": "program.metadata.list",
|
|
7874
|
+
"namespace": "program.metadata",
|
|
7875
|
+
"summary": "List metadata values for many spaces at once.",
|
|
7876
|
+
"examplePrompts": [
|
|
7877
|
+
"List the metadata of every space",
|
|
7878
|
+
"Read the custom column values for all rooms",
|
|
7879
|
+
"Get the metadata for these three spaces in one call\n\n# Example\n```ts\nconst { records } = await snaptrude.program.metadata.list()\nconst byId = Object.fromEntries(records.map((r) => [r.spaceId, r.values]))\n```"
|
|
7880
|
+
],
|
|
7881
|
+
"argsType": "ComponentHandle[]",
|
|
7882
|
+
"resultType": "PluginProgramMetadataListResult",
|
|
7883
|
+
"performance": "One round-trip for any number of spaces — use this instead of a `get` loop."
|
|
7884
|
+
},
|
|
7885
|
+
{
|
|
7886
|
+
"path": "program.metadata.listHeaders",
|
|
7887
|
+
"namespace": "program.metadata",
|
|
7888
|
+
"summary": "List the metadata headers (custom columns) of the Program Data sheet.",
|
|
7889
|
+
"examplePrompts": [
|
|
7890
|
+
"List the custom metadata columns in program mode",
|
|
7891
|
+
"What metadata headers does the program sheet have?",
|
|
7892
|
+
"Show every custom column with its id\n\n# Example\n```ts\nconst { headers } = await snaptrude.program.metadata.listHeaders()\nfor (const h of headers) console.log(h.headerId, h.name)\n```"
|
|
7893
|
+
],
|
|
7894
|
+
"argsType": null,
|
|
7895
|
+
"resultType": "PluginProgramMetadataListHeadersResult"
|
|
7896
|
+
},
|
|
7897
|
+
{
|
|
7898
|
+
"path": "program.metadata.update",
|
|
7899
|
+
"namespace": "program.metadata",
|
|
7900
|
+
"summary": "Update a space's metadata values (sparse).",
|
|
7901
|
+
"examplePrompts": [
|
|
7902
|
+
"Set the Occupancy metadata of this space to 4",
|
|
7903
|
+
"Store a department code on the selected rooms",
|
|
7904
|
+
"Write custom column values onto space sp_12",
|
|
7905
|
+
"Clear the Finish Level metadata on this space\n\n# Example\n```ts\nconst header = await snaptrude.program.metadata.createHeader(\"Occupancy\")\nawait snaptrude.program.metadata.update(\"sp_12\", { [header.headerId]: 4 })\n```"
|
|
7906
|
+
],
|
|
7907
|
+
"argsType": "ComponentHandle",
|
|
7908
|
+
"resultType": "PluginProgramMetadataUpdateResult"
|
|
7909
|
+
},
|
|
7910
|
+
{
|
|
7911
|
+
"path": "program.metadata.updateMany",
|
|
7912
|
+
"namespace": "program.metadata",
|
|
7913
|
+
"summary": "Update metadata values on many spaces in one undoable step.",
|
|
7914
|
+
"examplePrompts": [
|
|
7915
|
+
"Fill the Occupancy column for all bedrooms",
|
|
7916
|
+
"Write metadata onto every selected space at once",
|
|
7917
|
+
"Bulk-update custom column values\n\n# Example\n```ts\nawait snaptrude.program.metadata.updateMany([\n{ spaceId: \"sp_12\", values: { [headerId]: 4 } },\n{ spaceId: \"sp_13\", values: { [headerId]: 2 } },\n])\n```"
|
|
7918
|
+
],
|
|
7919
|
+
"argsType": "PluginProgramMetadataUpdateItem[]",
|
|
7920
|
+
"resultType": "PluginProgramMetadataUpdateManyResult",
|
|
7921
|
+
"performance": "One round-trip and one undo step for up to 1000 spaces — use this instead of an `update` loop."
|
|
7922
|
+
},
|
|
7764
7923
|
{
|
|
7765
7924
|
"path": "program.metrics.get",
|
|
7766
7925
|
"namespace": "program.metrics",
|
|
@@ -7999,6 +8158,19 @@
|
|
|
7999
8158
|
"argsType": "{\n name?: string\n }",
|
|
8000
8159
|
"resultType": "PluginProgramSpreadsheetBindingsRefreshResult"
|
|
8001
8160
|
},
|
|
8161
|
+
{
|
|
8162
|
+
"path": "program.spreadsheet.createCustomSheet",
|
|
8163
|
+
"namespace": "program.spreadsheet",
|
|
8164
|
+
"summary": "Create a **custom program sheet** — a live view of the program grouped by a configurable hierarchy (the Program tab's \"Custom\" sheet with *Organize → Group by*).",
|
|
8165
|
+
"examplePrompts": [
|
|
8166
|
+
"Create a custom sheet grouped by department then sub-department",
|
|
8167
|
+
"Make a program view grouped by storey and label",
|
|
8168
|
+
"Build a grouped program sheet for the healthcare hierarchy",
|
|
8169
|
+
"Add a custom sheet with a department → room type group-by\n\n# Example\n```ts\nconst { headers } = await snaptrude.program.metadata.listHeaders()\nconst subDept = headers.find((h) => h.name === \"Sub-department\")\nawait snaptrude.program.spreadsheet.createCustomSheet(\"Clinical Program\", {\ngroupBy: [\"departmentName\", subDept.headerId, \"label\"],\nproperties: [\"label\", \"count\", \"areas\", \"netAreaAchieved\"],\n})\n```"
|
|
8170
|
+
],
|
|
8171
|
+
"argsType": "string",
|
|
8172
|
+
"resultType": "PluginProgramSpreadsheetCustomSheetResult"
|
|
8173
|
+
},
|
|
8002
8174
|
{
|
|
8003
8175
|
"path": "program.spreadsheet.createSheet",
|
|
8004
8176
|
"namespace": "program.spreadsheet",
|
|
@@ -8064,6 +8236,17 @@
|
|
|
8064
8236
|
"argsType": "{\n limit?: number\n }",
|
|
8065
8237
|
"resultType": "PluginProgramSpreadsheetGetAuditLogResult"
|
|
8066
8238
|
},
|
|
8239
|
+
{
|
|
8240
|
+
"path": "program.spreadsheet.getCustomSheet",
|
|
8241
|
+
"namespace": "program.spreadsheet",
|
|
8242
|
+
"summary": "Get a custom program sheet's configuration.",
|
|
8243
|
+
"examplePrompts": [
|
|
8244
|
+
"How is the Clinical Program sheet grouped?",
|
|
8245
|
+
"Get the group-by configuration of this custom sheet\n\n# Example\n```ts\nconst cfg = await snaptrude.program.spreadsheet.getCustomSheet(\"Clinical Program\")\nif (cfg) console.log(cfg.groupBy, cfg.properties)\n```"
|
|
8246
|
+
],
|
|
8247
|
+
"argsType": "string",
|
|
8248
|
+
"resultType": "PluginProgramSpreadsheetGetCustomSheetResult"
|
|
8249
|
+
},
|
|
8067
8250
|
{
|
|
8068
8251
|
"path": "program.spreadsheet.getMaterialTakeoff",
|
|
8069
8252
|
"namespace": "program.spreadsheet",
|
|
@@ -8130,6 +8313,28 @@
|
|
|
8130
8313
|
"argsType": "string",
|
|
8131
8314
|
"resultType": "PluginProgramSpreadsheetHighlightCellsResult"
|
|
8132
8315
|
},
|
|
8316
|
+
{
|
|
8317
|
+
"path": "program.spreadsheet.listCustomSheetProperties",
|
|
8318
|
+
"namespace": "program.spreadsheet",
|
|
8319
|
+
"summary": "List the property ids a custom program sheet can show as columns or group by.",
|
|
8320
|
+
"examplePrompts": [
|
|
8321
|
+
"What can I group a custom program sheet by?",
|
|
8322
|
+
"List the columns available for a custom sheet\n\n# Example\n```ts\nconst { properties } = await snaptrude.program.spreadsheet.listCustomSheetProperties()\nconst groupable = properties.filter((p) => p.groupable).map((p) => p.id)\n```"
|
|
8323
|
+
],
|
|
8324
|
+
"argsType": null,
|
|
8325
|
+
"resultType": "PluginProgramSpreadsheetListCustomSheetPropertiesResult"
|
|
8326
|
+
},
|
|
8327
|
+
{
|
|
8328
|
+
"path": "program.spreadsheet.listCustomSheets",
|
|
8329
|
+
"namespace": "program.spreadsheet",
|
|
8330
|
+
"summary": "List the custom program sheets in the workbook with their configurations.",
|
|
8331
|
+
"examplePrompts": [
|
|
8332
|
+
"List the custom program sheets",
|
|
8333
|
+
"Which sheets are grouped program views?\n\n# Example\n```ts\nconst { sheets } = await snaptrude.program.spreadsheet.listCustomSheets()\n```"
|
|
8334
|
+
],
|
|
8335
|
+
"argsType": null,
|
|
8336
|
+
"resultType": "PluginProgramSpreadsheetListCustomSheetsResult"
|
|
8337
|
+
},
|
|
8133
8338
|
{
|
|
8134
8339
|
"path": "program.spreadsheet.listSheets",
|
|
8135
8340
|
"namespace": "program.spreadsheet",
|
|
@@ -8306,6 +8511,18 @@
|
|
|
8306
8511
|
"argsType": "PluginSpreadsheetTransactionOp[]",
|
|
8307
8512
|
"resultType": "PluginProgramSpreadsheetTransactionResult"
|
|
8308
8513
|
},
|
|
8514
|
+
{
|
|
8515
|
+
"path": "program.spreadsheet.updateCustomSheet",
|
|
8516
|
+
"namespace": "program.spreadsheet",
|
|
8517
|
+
"summary": "Update a custom program sheet's group-by hierarchy, columns, or group colors.",
|
|
8518
|
+
"examplePrompts": [
|
|
8519
|
+
"Change the custom sheet to group by storey first",
|
|
8520
|
+
"Add the Occupancy column to my grouped program sheet",
|
|
8521
|
+
"Regroup the Clinical Program sheet by department only\n\n# Example\n```ts\nawait snaptrude.program.spreadsheet.updateCustomSheet(\"Clinical Program\", {\ngroupBy: [\"storey\", \"departmentName\"],\n})\n```"
|
|
8522
|
+
],
|
|
8523
|
+
"argsType": "string",
|
|
8524
|
+
"resultType": "PluginProgramSpreadsheetCustomSheetResult"
|
|
8525
|
+
},
|
|
8309
8526
|
{
|
|
8310
8527
|
"path": "workspace.closePresentMode",
|
|
8311
8528
|
"namespace": "workspace",
|
package/dist/api/core/tags.d.ts
CHANGED
|
@@ -145,6 +145,37 @@ export declare abstract class PluginCoreTagsApi {
|
|
|
145
145
|
* ```
|
|
146
146
|
*/
|
|
147
147
|
abstract listForComponent(componentId: ComponentHandle): PluginApiReturn<PluginCoreTagsGetTagsForComponentResult>;
|
|
148
|
+
/**
|
|
149
|
+
* List the tags carried by many components in one call.
|
|
150
|
+
*
|
|
151
|
+
* The plural of {@linkcode PluginCoreTagsApi.listForComponent}: pass
|
|
152
|
+
* `componentIds` to read specific components (unknown ids are skipped), or
|
|
153
|
+
* omit it to read **every** taggable component (Mass/Floor space) in the
|
|
154
|
+
* project. Each entry carries the component id and its tags — one per tagged
|
|
155
|
+
* category, with the tag's `color` — so a plugin can color every space by a
|
|
156
|
+
* chosen category's tag in a single round-trip.
|
|
157
|
+
*
|
|
158
|
+
* @param componentIds - Optional `Component.id`s to read; omit for all spaces.
|
|
159
|
+
* @returns A {@linkcode PluginCoreTagsListForComponentsResult} with a
|
|
160
|
+
* `components` array, one entry per component (in input order when
|
|
161
|
+
* `componentIds` is given).
|
|
162
|
+
*
|
|
163
|
+
* @performance One round-trip for any number of components — use this instead of a `listForComponent` loop.
|
|
164
|
+
*
|
|
165
|
+
* @examplePrompt Get the tags of every space with their colors
|
|
166
|
+
* @examplePrompt List the tags on all rooms so I can color them by Occupancy
|
|
167
|
+
* @examplePrompt Which tag does each selected space carry?
|
|
168
|
+
*
|
|
169
|
+
* # Example
|
|
170
|
+
* ```ts
|
|
171
|
+
* const { components } = await snaptrude.core.tags.listForComponents()
|
|
172
|
+
* for (const c of components) {
|
|
173
|
+
* const occupancy = c.tags.find((t) => t.categoryName === "Occupancy")
|
|
174
|
+
* if (occupancy) paint(c.componentId, occupancy.color)
|
|
175
|
+
* }
|
|
176
|
+
* ```
|
|
177
|
+
*/
|
|
178
|
+
abstract listForComponents(componentIds?: ComponentHandle[]): PluginApiReturn<PluginCoreTagsListForComponentsResult>;
|
|
148
179
|
/**
|
|
149
180
|
* List the components carrying a given tag or category.
|
|
150
181
|
*
|
|
@@ -546,6 +577,56 @@ export declare const PluginCoreTagsGetTagsForComponentResult: z.ZodObject<{
|
|
|
546
577
|
}, z.core.$strip>>;
|
|
547
578
|
}, z.core.$strip>;
|
|
548
579
|
export type PluginCoreTagsGetTagsForComponentResult = z.infer<typeof PluginCoreTagsGetTagsForComponentResult>;
|
|
580
|
+
/**
|
|
581
|
+
* Arguments for {@linkcode PluginCoreTagsApi.listForComponents}.
|
|
582
|
+
*
|
|
583
|
+
* | Property | Type | Description |
|
|
584
|
+
* |---|---|---|
|
|
585
|
+
* | `componentIds` | `ComponentHandle[]?` | Components to read; omit for every taggable component |
|
|
586
|
+
*/
|
|
587
|
+
export declare const PluginCoreTagsListForComponentsArgs: z.ZodObject<{
|
|
588
|
+
componentIds: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>>;
|
|
589
|
+
}, z.core.$strip>;
|
|
590
|
+
export type PluginCoreTagsListForComponentsArgs = z.infer<typeof PluginCoreTagsListForComponentsArgs>;
|
|
591
|
+
/**
|
|
592
|
+
* One component's tags, for {@linkcode PluginCoreTagsApi.listForComponents}.
|
|
593
|
+
*
|
|
594
|
+
* | Property | Type | Description |
|
|
595
|
+
* |---|---|---|
|
|
596
|
+
* | `componentId` | `ComponentHandle` | The component's id |
|
|
597
|
+
* | `tags` | {@linkcode PluginCoreComponentTag}`[]` | Its tags, one per tagged category (empty when none) |
|
|
598
|
+
*/
|
|
599
|
+
export declare const PluginCoreComponentTags: z.ZodObject<{
|
|
600
|
+
componentId: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
|
|
601
|
+
tags: z.ZodArray<z.ZodObject<{
|
|
602
|
+
categoryId: z.ZodString;
|
|
603
|
+
categoryName: z.ZodString;
|
|
604
|
+
tagId: z.ZodString;
|
|
605
|
+
tagName: z.ZodString;
|
|
606
|
+
color: z.ZodString;
|
|
607
|
+
}, z.core.$strip>>;
|
|
608
|
+
}, z.core.$strip>;
|
|
609
|
+
export type PluginCoreComponentTags = z.infer<typeof PluginCoreComponentTags>;
|
|
610
|
+
/**
|
|
611
|
+
* Result of {@linkcode PluginCoreTagsApi.listForComponents}.
|
|
612
|
+
*
|
|
613
|
+
* | Property | Type | Description |
|
|
614
|
+
* |---|---|---|
|
|
615
|
+
* | `components` | {@linkcode PluginCoreComponentTags}`[]` | One entry per component |
|
|
616
|
+
*/
|
|
617
|
+
export declare const PluginCoreTagsListForComponentsResult: z.ZodObject<{
|
|
618
|
+
components: z.ZodArray<z.ZodObject<{
|
|
619
|
+
componentId: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
|
|
620
|
+
tags: z.ZodArray<z.ZodObject<{
|
|
621
|
+
categoryId: z.ZodString;
|
|
622
|
+
categoryName: z.ZodString;
|
|
623
|
+
tagId: z.ZodString;
|
|
624
|
+
tagName: z.ZodString;
|
|
625
|
+
color: z.ZodString;
|
|
626
|
+
}, z.core.$strip>>;
|
|
627
|
+
}, z.core.$strip>>;
|
|
628
|
+
}, z.core.$strip>;
|
|
629
|
+
export type PluginCoreTagsListForComponentsResult = z.infer<typeof PluginCoreTagsListForComponentsResult>;
|
|
549
630
|
/**
|
|
550
631
|
* Arguments for {@linkcode PluginCoreTagsApi.listComponents}. Provide exactly one
|
|
551
632
|
* of `tagId`, `categoryId`. `untagged` is valid only with `categoryId`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/api/core/tags.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/api/core/tags.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { ComponentHandle } from "../../handles";
|
|
|
6
6
|
* Program departments — read the department groupings of the active program.
|
|
7
7
|
*
|
|
8
8
|
* In program mode a **department** is a named, colored grouping of spaces with an
|
|
9
|
-
* optional area **target
|
|
9
|
+
* optional gross area **target** and a unit **count** target. This is the program-planning view of departments
|
|
10
10
|
* (their identity, color, and target area); the underlying space geometry is read
|
|
11
11
|
* and edited through the geometry namespaces, not here.
|
|
12
12
|
*
|
|
@@ -180,6 +180,29 @@ export declare abstract class PluginProgramDepartmentsApi {
|
|
|
180
180
|
* ```
|
|
181
181
|
*/
|
|
182
182
|
abstract setTargetArea(departmentId: string, targetArea: number, units?: PluginAreaUnit): PluginApiReturn<PluginProgramDepartmentsSetTargetAreaResult>;
|
|
183
|
+
/**
|
|
184
|
+
* Set a department's target unit count.
|
|
185
|
+
*
|
|
186
|
+
* The number of units (program blocks) the department is planned for — the
|
|
187
|
+
* count twin of {@linkcode PluginProgramDepartmentsApi.setTargetArea}, stored
|
|
188
|
+
* beside the gross area target on the department. Read it back from
|
|
189
|
+
* {@linkcode PluginProgramDepartmentsApi.get} (`targetCount`).
|
|
190
|
+
*
|
|
191
|
+
* @param departmentId - The id of the department whose count to set.
|
|
192
|
+
* @param targetCount - The target number of units (a non-negative integer).
|
|
193
|
+
* @returns The updated {@linkcode PluginProgramDepartment} with its `units`.
|
|
194
|
+
* @throws If no department has the given id.
|
|
195
|
+
*
|
|
196
|
+
* @examplePrompt Set the Bedrooms department unit count to 12
|
|
197
|
+
* @examplePrompt The program needs 4 clinic blocks — update the department count
|
|
198
|
+
* @examplePrompt Update the target count for department dep_123
|
|
199
|
+
*
|
|
200
|
+
* # Example
|
|
201
|
+
* ```ts
|
|
202
|
+
* await snaptrude.program.departments.setTargetCount("dep_123", 12)
|
|
203
|
+
* ```
|
|
204
|
+
*/
|
|
205
|
+
abstract setTargetCount(departmentId: string, targetCount: number): PluginApiReturn<PluginProgramDepartmentsSetTargetCountResult>;
|
|
183
206
|
/**
|
|
184
207
|
* Delete a department.
|
|
185
208
|
*
|
|
@@ -213,13 +236,15 @@ export declare abstract class PluginProgramDepartmentsApi {
|
|
|
213
236
|
* | `id` | `string` | Unique department id |
|
|
214
237
|
* | `name` | `string` | Display name |
|
|
215
238
|
* | `color` | `string` | CSS hex color string (e.g. `"#b5e1dc"`) |
|
|
216
|
-
* | `targetArea` | `number \| null` |
|
|
239
|
+
* | `targetArea` | `number \| null` | Gross target area in the response's `units`, or `null` if no target is set |
|
|
240
|
+
* | `targetCount` | `number` | Target number of units / program blocks (`0` when unset) |
|
|
217
241
|
*/
|
|
218
242
|
export declare const PluginProgramDepartment: z.ZodObject<{
|
|
219
243
|
id: z.ZodString;
|
|
220
244
|
name: z.ZodString;
|
|
221
245
|
color: z.ZodString;
|
|
222
246
|
targetArea: z.ZodNullable<z.ZodNumber>;
|
|
247
|
+
targetCount: z.ZodNumber;
|
|
223
248
|
}, z.core.$strip>;
|
|
224
249
|
export type PluginProgramDepartment = z.infer<typeof PluginProgramDepartment>;
|
|
225
250
|
/**
|
|
@@ -241,6 +266,7 @@ export declare const PluginProgramDepartmentsListResult: z.ZodObject<{
|
|
|
241
266
|
name: z.ZodString;
|
|
242
267
|
color: z.ZodString;
|
|
243
268
|
targetArea: z.ZodNullable<z.ZodNumber>;
|
|
269
|
+
targetCount: z.ZodNumber;
|
|
244
270
|
}, z.core.$strip>>;
|
|
245
271
|
}, z.core.$strip>;
|
|
246
272
|
export type PluginProgramDepartmentsListResult = z.infer<typeof PluginProgramDepartmentsListResult>;
|
|
@@ -265,6 +291,7 @@ export declare const PluginProgramDepartmentsGetResult: z.ZodNullable<z.ZodObjec
|
|
|
265
291
|
name: z.ZodString;
|
|
266
292
|
color: z.ZodString;
|
|
267
293
|
targetArea: z.ZodNullable<z.ZodNumber>;
|
|
294
|
+
targetCount: z.ZodNumber;
|
|
268
295
|
units: z.ZodEnum<{
|
|
269
296
|
ft2: "ft2";
|
|
270
297
|
m2: "m2";
|
|
@@ -281,6 +308,7 @@ export declare const PluginProgramDepartmentRecord: z.ZodObject<{
|
|
|
281
308
|
name: z.ZodString;
|
|
282
309
|
color: z.ZodString;
|
|
283
310
|
targetArea: z.ZodNullable<z.ZodNumber>;
|
|
311
|
+
targetCount: z.ZodNumber;
|
|
284
312
|
units: z.ZodEnum<{
|
|
285
313
|
ft2: "ft2";
|
|
286
314
|
m2: "m2";
|
|
@@ -330,6 +358,7 @@ export declare const PluginProgramDepartmentsUpdateResult: z.ZodObject<{
|
|
|
330
358
|
name: z.ZodString;
|
|
331
359
|
color: z.ZodString;
|
|
332
360
|
targetArea: z.ZodNullable<z.ZodNumber>;
|
|
361
|
+
targetCount: z.ZodNumber;
|
|
333
362
|
units: z.ZodEnum<{
|
|
334
363
|
ft2: "ft2";
|
|
335
364
|
m2: "m2";
|
|
@@ -398,12 +427,39 @@ export declare const PluginProgramDepartmentsSetTargetAreaResult: z.ZodObject<{
|
|
|
398
427
|
name: z.ZodString;
|
|
399
428
|
color: z.ZodString;
|
|
400
429
|
targetArea: z.ZodNullable<z.ZodNumber>;
|
|
430
|
+
targetCount: z.ZodNumber;
|
|
401
431
|
units: z.ZodEnum<{
|
|
402
432
|
ft2: "ft2";
|
|
403
433
|
m2: "m2";
|
|
404
434
|
}>;
|
|
405
435
|
}, z.core.$strip>;
|
|
406
436
|
export type PluginProgramDepartmentsSetTargetAreaResult = z.infer<typeof PluginProgramDepartmentsSetTargetAreaResult>;
|
|
437
|
+
/**
|
|
438
|
+
* Arguments for {@linkcode PluginProgramDepartmentsApi.setTargetCount}.
|
|
439
|
+
*
|
|
440
|
+
* | Property | Type | Description |
|
|
441
|
+
* |---|---|---|
|
|
442
|
+
* | `departmentId` | `string` | The id of the department whose count to set |
|
|
443
|
+
* | `targetCount` | `number` | Target number of units (non-negative integer) |
|
|
444
|
+
*/
|
|
445
|
+
export declare const PluginProgramDepartmentsSetTargetCountArgs: z.ZodObject<{
|
|
446
|
+
departmentId: z.ZodString;
|
|
447
|
+
targetCount: z.ZodNumber;
|
|
448
|
+
}, z.core.$strip>;
|
|
449
|
+
export type PluginProgramDepartmentsSetTargetCountArgs = z.infer<typeof PluginProgramDepartmentsSetTargetCountArgs>;
|
|
450
|
+
/** Result of {@linkcode PluginProgramDepartmentsApi.setTargetCount} — the updated record with `units`. */
|
|
451
|
+
export declare const PluginProgramDepartmentsSetTargetCountResult: z.ZodObject<{
|
|
452
|
+
id: z.ZodString;
|
|
453
|
+
name: z.ZodString;
|
|
454
|
+
color: z.ZodString;
|
|
455
|
+
targetArea: z.ZodNullable<z.ZodNumber>;
|
|
456
|
+
targetCount: z.ZodNumber;
|
|
457
|
+
units: z.ZodEnum<{
|
|
458
|
+
ft2: "ft2";
|
|
459
|
+
m2: "m2";
|
|
460
|
+
}>;
|
|
461
|
+
}, z.core.$strip>;
|
|
462
|
+
export type PluginProgramDepartmentsSetTargetCountResult = z.infer<typeof PluginProgramDepartmentsSetTargetCountResult>;
|
|
407
463
|
/**
|
|
408
464
|
* Arguments for {@linkcode PluginProgramDepartmentsApi.delete}.
|
|
409
465
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"departments.d.ts","sourceRoot":"","sources":["../../../src/api/program/departments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,8BAAsB,2BAA2B;;IAG/C;;;;;;;;;;;;;;;;;;;;OAoBG;aACa,IAAI,IAAI,eAAe,CAAC,kCAAkC,CAAC;IAE3E;;;;;;;;;;;;;;;;OAgBG;aACa,GAAG,CACjB,YAAY,EAAE,MAAM,GACnB,eAAe,CAAC,iCAAiC,CAAC;IAErD;;;;;;;;;;;;;;;;;;;;;;OAsBG;aACa,MAAM,CACpB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,eAAe,CAAC,oCAAoC,CAAC;IAExD;;;;;;;;;;;;;;;;;;;;;;OAsBG;aACa,MAAM,CACpB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1C,eAAe,CAAC,oCAAoC,CAAC;IAExD;;;;;;;;;;;;;;;;;;;;;;OAsBG;aACa,MAAM,CACpB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,eAAe,EAAE,GAC1B,eAAe,CAAC,oCAAoC,CAAC;IAExD;;;;;;;;;;;;;;;;;;;;;OAqBG;aACa,QAAQ,CACtB,QAAQ,EAAE,eAAe,EAAE,GAC1B,eAAe,CAAC,sCAAsC,CAAC;IAE1D;;;;;;;;;;;;;;;;;;;;;;;OAuBG;aACa,aAAa,CAC3B,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,cAAc,GACrB,eAAe,CAAC,2CAA2C,CAAC;IAE/D;;;;;;;;;;;;;;;;;;;;OAoBG;IACI,MAAM,CAAC,EAAE,CACd,YAAY,EAAE,MAAM,KACjB,eAAe,CAAC,oCAAoC,CAAC,CAAA;CAC3D;AAED
|
|
1
|
+
{"version":3,"file":"departments.d.ts","sourceRoot":"","sources":["../../../src/api/program/departments.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,21 +7,25 @@ import { PluginProgramSiteApi } from "./site";
|
|
|
7
7
|
import { PluginProgramCoresApi } from "./cores";
|
|
8
8
|
import { PluginProgramClassificationApi } from "./classification";
|
|
9
9
|
import { PluginProgramAreasApi } from "./areas";
|
|
10
|
+
import { PluginProgramMetadataApi } from "./metadata";
|
|
11
|
+
import { PluginProgramLabelsApi } from "./labels";
|
|
10
12
|
/**
|
|
11
13
|
* Program-mode planning APIs.
|
|
12
14
|
*
|
|
13
15
|
* The program is the space-planning layer: department groupings with area targets,
|
|
14
|
-
* the
|
|
15
|
-
* that render program/takeoff data to
|
|
16
|
-
* *plan* (intent + targets); the geometry
|
|
17
|
-
* through the geometry namespaces.
|
|
16
|
+
* the labels (program rows) inside them, the metrics that track allocated area
|
|
17
|
+
* against those targets, and the reports that render program/takeoff data to
|
|
18
|
+
* spreadsheet sheets. Reads describe the *plan* (intent + targets); the geometry
|
|
19
|
+
* that realizes the plan is authored through the geometry namespaces.
|
|
18
20
|
*
|
|
19
21
|
* - {@linkcode PluginProgramApi.departments} — Read & edit program departments (groupings + targets)
|
|
22
|
+
* - {@linkcode PluginProgramApi.labels} — Read & edit program labels (program rows: per-type area/count targets)
|
|
23
|
+
* - {@linkcode PluginProgramApi.metadata} — Read & edit program metadata (custom columns) on spaces
|
|
20
24
|
* - {@linkcode PluginProgramApi.adjacency} — Read & compute the department/space adjacency matrix
|
|
21
25
|
* - {@linkcode PluginProgramApi.layout} — Arrange/pack spaces in the envelope
|
|
22
26
|
* - {@linkcode PluginProgramApi.metrics} — Read the area-program summary
|
|
23
27
|
* - {@linkcode PluginProgramApi.areas} — FAR / built-up-area rollup and groupings
|
|
24
|
-
* - {@linkcode PluginProgramApi.spreadsheet} — Render program data to sheets
|
|
28
|
+
* - {@linkcode PluginProgramApi.spreadsheet} — Render program data to sheets, custom grouped sheets, read back
|
|
25
29
|
* - {@linkcode PluginProgramApi.site} — Read site/plot context and read/update Site Analysis
|
|
26
30
|
* - {@linkcode PluginProgramApi.cores} — Read & predicate vertical-circulation cores (reads only)
|
|
27
31
|
* - {@linkcode PluginProgramApi.classification} — Classification catalog + display tags
|
|
@@ -31,6 +35,10 @@ import { PluginProgramAreasApi } from "./areas";
|
|
|
31
35
|
export declare abstract class PluginProgramApi {
|
|
32
36
|
/** Program departments — groupings, area targets, and space assignment. See {@linkcode PluginProgramDepartmentsApi}. */
|
|
33
37
|
abstract departments: PluginProgramDepartmentsApi;
|
|
38
|
+
/** Program labels — the program rows with per-type area/count targets. See {@linkcode PluginProgramLabelsApi}. */
|
|
39
|
+
abstract labels: PluginProgramLabelsApi;
|
|
40
|
+
/** Program metadata — custom columns and their per-space values. See {@linkcode PluginProgramMetadataApi}. */
|
|
41
|
+
abstract metadata: PluginProgramMetadataApi;
|
|
34
42
|
/** Adjacency matrix — read & compute proximity relationships. See {@linkcode PluginProgramAdjacencyApi}. */
|
|
35
43
|
abstract adjacency: PluginProgramAdjacencyApi;
|
|
36
44
|
/** Arrange/pack spaces in the envelope (async job family). See {@linkcode PluginProgramLayoutApi}. */
|
|
@@ -39,7 +47,7 @@ export declare abstract class PluginProgramApi {
|
|
|
39
47
|
abstract metrics: PluginProgramMetricsApi;
|
|
40
48
|
/** FAR / built-up-area rollup and groupings. See {@linkcode PluginProgramAreasApi}. */
|
|
41
49
|
abstract areas: PluginProgramAreasApi;
|
|
42
|
-
/** Spreadsheet reports — render tables to sheets,
|
|
50
|
+
/** Spreadsheet reports — render tables to sheets, custom grouped sheets, export, read back. See {@linkcode PluginProgramSpreadsheetApi}. */
|
|
43
51
|
abstract spreadsheet: PluginProgramSpreadsheetApi;
|
|
44
52
|
/** Site/plot context and persisted Site Analysis. See {@linkcode PluginProgramSiteApi}. */
|
|
45
53
|
abstract site: PluginProgramSiteApi;
|
|
@@ -58,4 +66,6 @@ export * from "./site";
|
|
|
58
66
|
export * from "./cores";
|
|
59
67
|
export * from "./classification";
|
|
60
68
|
export * from "./areas";
|
|
69
|
+
export * from "./metadata";
|
|
70
|
+
export * from "./labels";
|
|
61
71
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/program/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/program/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAEjD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,8BAAsB,gBAAgB;IACpC,wHAAwH;IACxH,SAAgB,WAAW,EAAE,2BAA2B,CAAA;IACxD,kHAAkH;IAClH,SAAgB,MAAM,EAAE,sBAAsB,CAAA;IAC9C,8GAA8G;IAC9G,SAAgB,QAAQ,EAAE,wBAAwB,CAAA;IAClD,4GAA4G;IAC5G,SAAgB,SAAS,EAAE,yBAAyB,CAAA;IACpD,sGAAsG;IACtG,SAAgB,MAAM,EAAE,sBAAsB,CAAA;IAC9C,iGAAiG;IACjG,SAAgB,OAAO,EAAE,uBAAuB,CAAA;IAChD,uFAAuF;IACvF,SAAgB,KAAK,EAAE,qBAAqB,CAAA;IAC5C,4IAA4I;IAC5I,SAAgB,WAAW,EAAE,2BAA2B,CAAA;IACxD,2FAA2F;IAC3F,SAAgB,IAAI,EAAE,oBAAoB,CAAA;IAC1C,yGAAyG;IACzG,SAAgB,KAAK,EAAE,qBAAqB,CAAA;IAC5C,qHAAqH;IACrH,SAAgB,cAAc,EAAE,8BAA8B,CAAA;;CAG/D;AAED,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA"}
|