@dssp/dcsp 1.0.0-y.0 → 1.0.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/_index.html +0 -5
- package/config/config.development.js +2 -1
- package/config/config.production.js +2 -1
- package/package.json +56 -54
- package/schema.graphql +1054 -57
- package/translations/en.json +5 -1
- package/translations/ko.json +5 -1
- package/views/auth-page.html +0 -1
- package/views/public/home.html +0 -1
- package/dist-client/bootstrap.d.ts +0 -9
- package/dist-client/bootstrap.js +0 -255
- package/dist-client/bootstrap.js.map +0 -1
- package/dist-client/entries/public/home.d.ts +0 -8
- package/dist-client/entries/public/home.js +0 -97
- package/dist-client/entries/public/home.js.map +0 -1
- package/dist-client/icons/menu-icons.d.ts +0 -5
- package/dist-client/icons/menu-icons.js +0 -84
- package/dist-client/icons/menu-icons.js.map +0 -1
- package/dist-client/index.d.ts +0 -0
- package/dist-client/index.js +0 -2
- package/dist-client/index.js.map +0 -1
- package/dist-client/menu.d.ts +0 -1
- package/dist-client/menu.js +0 -4
- package/dist-client/menu.js.map +0 -1
- package/dist-client/pages/sv-user-management.d.ts +0 -5
- package/dist-client/pages/sv-user-management.js +0 -219
- package/dist-client/pages/sv-user-management.js.map +0 -1
- package/dist-client/route.d.ts +0 -1
- package/dist-client/route.js +0 -10
- package/dist-client/route.js.map +0 -1
- package/dist-client/themes/dark.css +0 -51
- package/dist-client/themes/light.css +0 -51
- package/dist-client/tsconfig.tsbuildinfo +0 -1
- package/dist-client/viewparts/menu-tools.d.ts +0 -17
- package/dist-client/viewparts/menu-tools.js +0 -172
- package/dist-client/viewparts/menu-tools.js.map +0 -1
- package/dist-client/viewparts/user-circle.d.ts +0 -5
- package/dist-client/viewparts/user-circle.js +0 -26
- package/dist-client/viewparts/user-circle.js.map +0 -1
- package/dist-server/index.d.ts +0 -0
- package/dist-server/index.js +0 -1
- package/dist-server/index.js.map +0 -1
- package/dist-server/tsconfig.tsbuildinfo +0 -1
package/schema.graphql
CHANGED
|
@@ -3,15 +3,6 @@
|
|
|
3
3
|
# !!! DO NOT MODIFY THIS FILE BY YOURSELF !!!
|
|
4
4
|
# -----------------------------------------------
|
|
5
5
|
|
|
6
|
-
input APIDocCompletionInput {
|
|
7
|
-
code: String!
|
|
8
|
-
language: String
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
type APIDocCompletionOutput {
|
|
12
|
-
message: String
|
|
13
|
-
}
|
|
14
|
-
|
|
15
6
|
"""Represents a pair of access and refresh tokens."""
|
|
16
7
|
type AccessToken {
|
|
17
8
|
"""The access token for API authentication."""
|
|
@@ -847,6 +838,7 @@ type Attachment {
|
|
|
847
838
|
refType: String
|
|
848
839
|
size: String!
|
|
849
840
|
tags: Object
|
|
841
|
+
thumbnail: String
|
|
850
842
|
updatedAt: DateTimeISO!
|
|
851
843
|
updater: User
|
|
852
844
|
}
|
|
@@ -1155,12 +1147,27 @@ type Board {
|
|
|
1155
1147
|
"""A list of play groups that this board is a part of."""
|
|
1156
1148
|
playGroups: [PlayGroup!]
|
|
1157
1149
|
|
|
1150
|
+
"""
|
|
1151
|
+
Sort order for display. Lower values appear first. Supports fractional values for insertion.
|
|
1152
|
+
"""
|
|
1153
|
+
sortOrder: Float
|
|
1154
|
+
|
|
1155
|
+
"""
|
|
1156
|
+
Source ImportSession id (board-import) when this board was generated from a drawing/image import.
|
|
1157
|
+
"""
|
|
1158
|
+
sourceImportSessionId: String
|
|
1159
|
+
|
|
1158
1160
|
"""The state of the board, can be 'draft' or 'released'."""
|
|
1159
1161
|
state: String
|
|
1160
1162
|
|
|
1161
1163
|
"""A base64 encoded thumbnail image of the board."""
|
|
1162
1164
|
thumbnail: String
|
|
1163
1165
|
|
|
1166
|
+
"""
|
|
1167
|
+
Timestamp of the last thumbnail generation. Separate lifecycle from updatedAt; only changes when the thumbnail image itself is regenerated.
|
|
1168
|
+
"""
|
|
1169
|
+
thumbnailUpdatedAt: DateTimeISO
|
|
1170
|
+
|
|
1164
1171
|
"""The type of the board, can be 'main', 'sub', or 'popup'."""
|
|
1165
1172
|
type: String
|
|
1166
1173
|
|
|
@@ -1174,6 +1181,120 @@ type Board {
|
|
|
1174
1181
|
version: Float
|
|
1175
1182
|
}
|
|
1176
1183
|
|
|
1184
|
+
input BoardAIChatInput {
|
|
1185
|
+
"""
|
|
1186
|
+
Component categories to surface (e.g. ["3D", "form"]). Subset filter for groupings exposed in component-schemas.
|
|
1187
|
+
"""
|
|
1188
|
+
categories: [String!]
|
|
1189
|
+
|
|
1190
|
+
"""
|
|
1191
|
+
Component schemas — array of { type, description?, group?, properties? } so the LLM knows valid props per type.
|
|
1192
|
+
"""
|
|
1193
|
+
componentSchemas: JSON
|
|
1194
|
+
|
|
1195
|
+
"""Current BoardModel JSON."""
|
|
1196
|
+
currentBoard: JSON
|
|
1197
|
+
|
|
1198
|
+
"""
|
|
1199
|
+
Component types the LLM is allowed to emit (e.g. ["rect", "label"]). Constrains generation to the current solution.
|
|
1200
|
+
"""
|
|
1201
|
+
knownTypes: [String!]
|
|
1202
|
+
|
|
1203
|
+
"""
|
|
1204
|
+
Max output tokens override per LLM call. Falls back to assistant default when omitted.
|
|
1205
|
+
"""
|
|
1206
|
+
maxTokens: Float
|
|
1207
|
+
|
|
1208
|
+
"""
|
|
1209
|
+
Explicit #mention picks from popup — {token, refid}. User text stays clean (#token only); these picks let server resolve deterministically without exposing refid in the user-visible message. Tokens not in this list fall back to free name/id/type matching.
|
|
1210
|
+
"""
|
|
1211
|
+
mentions: [BoardAIMentionPickInput!]
|
|
1212
|
+
|
|
1213
|
+
"""
|
|
1214
|
+
Conversation history (latest user message at the end). For persisted sessions, only the last user message is appended; older are loaded from DB.
|
|
1215
|
+
"""
|
|
1216
|
+
messages: [BoardAILLMMessageInput!]!
|
|
1217
|
+
|
|
1218
|
+
"""
|
|
1219
|
+
AI model identifier override (e.g. "claude-opus-4-7"). Falls back to the configured default when omitted.
|
|
1220
|
+
"""
|
|
1221
|
+
model: String
|
|
1222
|
+
|
|
1223
|
+
"""
|
|
1224
|
+
Capability scopes the AI is allowed to use (e.g. 'create', 'edit', 'style'). Filters which tools are exposed to the LLM.
|
|
1225
|
+
"""
|
|
1226
|
+
scopes: [String!]
|
|
1227
|
+
|
|
1228
|
+
"""
|
|
1229
|
+
Refids of components currently selected in the modeller (universal numeric handle, things-scene auto-assigned). For "selected" / "선택한" intent. Note: distinct from `id` which is a data-binding name.
|
|
1230
|
+
"""
|
|
1231
|
+
selectedRefids: [Int!]
|
|
1232
|
+
|
|
1233
|
+
"""
|
|
1234
|
+
ChatSession id. Omit for ad-hoc (no persistence). When given, messages/patches are persisted.
|
|
1235
|
+
"""
|
|
1236
|
+
sessionId: String
|
|
1237
|
+
|
|
1238
|
+
"""
|
|
1239
|
+
Sampling temperature override. Falls back to assistant default when omitted.
|
|
1240
|
+
"""
|
|
1241
|
+
temperature: Float
|
|
1242
|
+
}
|
|
1243
|
+
|
|
1244
|
+
type BoardAIChatOutput {
|
|
1245
|
+
"""
|
|
1246
|
+
Ephemeral scene actions (selection/view/mode) — sequence of BoardActionOp. Applied via board-action-execute event on the host. Distinct from `patch` which carries persistent model changes.
|
|
1247
|
+
"""
|
|
1248
|
+
actions: JSON
|
|
1249
|
+
|
|
1250
|
+
"""Persisted ChatMessage id of the AI reply."""
|
|
1251
|
+
assistantMessageId: String
|
|
1252
|
+
|
|
1253
|
+
"""AI client identifier (provider:model)."""
|
|
1254
|
+
clientId: String!
|
|
1255
|
+
|
|
1256
|
+
"""Clarifying question when input is ambiguous."""
|
|
1257
|
+
followUp: String
|
|
1258
|
+
|
|
1259
|
+
"""BoardEditPatch."""
|
|
1260
|
+
patch: JSON
|
|
1261
|
+
|
|
1262
|
+
"""Persisted PatchEntry id (when patch was generated)."""
|
|
1263
|
+
patchId: String
|
|
1264
|
+
|
|
1265
|
+
"""Conversational reply."""
|
|
1266
|
+
reply: String!
|
|
1267
|
+
|
|
1268
|
+
"""Echo of session id (when persisted)."""
|
|
1269
|
+
sessionId: String
|
|
1270
|
+
|
|
1271
|
+
"""
|
|
1272
|
+
Tool usages collected during agentic loop — sequence of {name, arguments, result, kind}. UI fold-able box for transparency / debug.
|
|
1273
|
+
"""
|
|
1274
|
+
toolUsages: JSON
|
|
1275
|
+
|
|
1276
|
+
"""Persisted ChatMessage id of the user input."""
|
|
1277
|
+
userMessageId: String
|
|
1278
|
+
}
|
|
1279
|
+
|
|
1280
|
+
input BoardAILLMMessageInput {
|
|
1281
|
+
"""Message content"""
|
|
1282
|
+
content: String!
|
|
1283
|
+
|
|
1284
|
+
"""Role: 'user' or 'assistant'"""
|
|
1285
|
+
role: String!
|
|
1286
|
+
}
|
|
1287
|
+
|
|
1288
|
+
input BoardAIMentionPickInput {
|
|
1289
|
+
"""
|
|
1290
|
+
Refid explicitly picked from popup. Server uses this for deterministic resolution — bypasses fallback name/id/type matching for this token.
|
|
1291
|
+
"""
|
|
1292
|
+
refid: Int!
|
|
1293
|
+
|
|
1294
|
+
"""Token used by user (e.g. "경광등1" — the part after #)."""
|
|
1295
|
+
token: String!
|
|
1296
|
+
}
|
|
1297
|
+
|
|
1177
1298
|
"""Represents a board that a user has marked as a favorite."""
|
|
1178
1299
|
type BoardFavorite {
|
|
1179
1300
|
"""The timestamp when the board was created."""
|
|
@@ -1209,12 +1330,27 @@ type BoardFavorite {
|
|
|
1209
1330
|
"""A list of play groups that this board is a part of."""
|
|
1210
1331
|
playGroups: [PlayGroup!]
|
|
1211
1332
|
|
|
1333
|
+
"""
|
|
1334
|
+
Sort order for display. Lower values appear first. Supports fractional values for insertion.
|
|
1335
|
+
"""
|
|
1336
|
+
sortOrder: Float
|
|
1337
|
+
|
|
1338
|
+
"""
|
|
1339
|
+
Source ImportSession id (board-import) when this board was generated from a drawing/image import.
|
|
1340
|
+
"""
|
|
1341
|
+
sourceImportSessionId: String
|
|
1342
|
+
|
|
1212
1343
|
"""The state of the board, can be 'draft' or 'released'."""
|
|
1213
1344
|
state: String
|
|
1214
1345
|
|
|
1215
1346
|
"""A base64 encoded thumbnail image of the board."""
|
|
1216
1347
|
thumbnail: String
|
|
1217
1348
|
|
|
1349
|
+
"""
|
|
1350
|
+
Timestamp of the last thumbnail generation. Separate lifecycle from updatedAt; only changes when the thumbnail image itself is regenerated.
|
|
1351
|
+
"""
|
|
1352
|
+
thumbnailUpdatedAt: DateTimeISO
|
|
1353
|
+
|
|
1218
1354
|
"""The type of the board, can be 'main', 'sub', or 'popup'."""
|
|
1219
1355
|
type: String
|
|
1220
1356
|
|
|
@@ -1306,6 +1442,16 @@ type BoardList {
|
|
|
1306
1442
|
total: Int!
|
|
1307
1443
|
}
|
|
1308
1444
|
|
|
1445
|
+
type BoardMetaSuggestion {
|
|
1446
|
+
"""
|
|
1447
|
+
Suggested detailed description — combines user prompt, AI importStrategy narrative, and category distribution stats.
|
|
1448
|
+
"""
|
|
1449
|
+
description: String!
|
|
1450
|
+
|
|
1451
|
+
"""Suggested short board name (collision-free with current domain)."""
|
|
1452
|
+
name: String!
|
|
1453
|
+
}
|
|
1454
|
+
|
|
1309
1455
|
"""Input for updating (patching) an existing board."""
|
|
1310
1456
|
input BoardPatch {
|
|
1311
1457
|
"""The new description for the board."""
|
|
@@ -1514,6 +1660,7 @@ type BuildingInspection {
|
|
|
1514
1660
|
creator: User
|
|
1515
1661
|
deletedAt: DateTimeISO
|
|
1516
1662
|
drawingMarker: String
|
|
1663
|
+
failCount: Float
|
|
1517
1664
|
id: ID!
|
|
1518
1665
|
manager: ProjectManagerOutput
|
|
1519
1666
|
memo: String
|
|
@@ -1582,6 +1729,7 @@ type BuildingInspectionHistory {
|
|
|
1582
1729
|
createdAt: DateTimeISO
|
|
1583
1730
|
creator: User
|
|
1584
1731
|
drawingMarker: String
|
|
1732
|
+
failCount: Float
|
|
1585
1733
|
id: ID!
|
|
1586
1734
|
loggedAt: DateTimeISO
|
|
1587
1735
|
manager: ProjectManagerOutput
|
|
@@ -1611,6 +1759,9 @@ type BuildingInspectionSummary {
|
|
|
1611
1759
|
"""검측 통과 수"""
|
|
1612
1760
|
pass: Int!
|
|
1613
1761
|
|
|
1762
|
+
"""재검측 대기 수 (failCount > 0 인 WAIT/OVERALL_WAIT)"""
|
|
1763
|
+
reWait: Int
|
|
1764
|
+
|
|
1614
1765
|
"""검측 요청 수"""
|
|
1615
1766
|
request: Int!
|
|
1616
1767
|
|
|
@@ -1635,6 +1786,11 @@ type BuildingInspectionSummaryOfLevel {
|
|
|
1635
1786
|
wait: Int!
|
|
1636
1787
|
}
|
|
1637
1788
|
|
|
1789
|
+
input BuildingInspectionsOfBuilding {
|
|
1790
|
+
buildingId: String!
|
|
1791
|
+
limit: Float
|
|
1792
|
+
}
|
|
1793
|
+
|
|
1638
1794
|
input BuildingInspectionsOfBuildingLevel {
|
|
1639
1795
|
buildingLevelId: String!
|
|
1640
1796
|
endDate: String
|
|
@@ -1645,6 +1801,9 @@ input BuildingInspectionsOfBuildingLevel {
|
|
|
1645
1801
|
input BuildingInspectionsOfProject {
|
|
1646
1802
|
limit: Float
|
|
1647
1803
|
projectId: String!
|
|
1804
|
+
|
|
1805
|
+
"""상태 필터 (WAIT, REQUEST, FAIL, RE_WAIT, PASS)"""
|
|
1806
|
+
statusFilter: String
|
|
1648
1807
|
}
|
|
1649
1808
|
|
|
1650
1809
|
"""층 정보"""
|
|
@@ -1692,12 +1851,111 @@ input BuildingPatch {
|
|
|
1692
1851
|
name: String
|
|
1693
1852
|
}
|
|
1694
1853
|
|
|
1695
|
-
|
|
1854
|
+
"""A single chat message in a ChatSession."""
|
|
1855
|
+
type ChatMessage {
|
|
1856
|
+
"""Message content"""
|
|
1696
1857
|
content: String!
|
|
1858
|
+
|
|
1859
|
+
"""Creation timestamp."""
|
|
1860
|
+
createdAt: DateTimeISO
|
|
1861
|
+
|
|
1862
|
+
"""User who triggered this message."""
|
|
1863
|
+
creator: User
|
|
1864
|
+
|
|
1865
|
+
"""Soft delete timestamp."""
|
|
1866
|
+
deletedAt: DateTimeISO
|
|
1867
|
+
id: ID
|
|
1868
|
+
|
|
1869
|
+
"""
|
|
1870
|
+
Id of the message this one is in-response-to / continues. Enables linear / branching / tree structures.
|
|
1871
|
+
"""
|
|
1872
|
+
parentMessageId: String
|
|
1873
|
+
|
|
1874
|
+
"""ImportSession.id this message triggered (if any)."""
|
|
1875
|
+
relatedImportSessionId: String
|
|
1876
|
+
|
|
1877
|
+
"""PatchEntry.id this message triggered (if any)."""
|
|
1878
|
+
relatedPatchId: String
|
|
1879
|
+
|
|
1880
|
+
"""'user' | 'assistant' | 'system'"""
|
|
1881
|
+
role: String!
|
|
1882
|
+
|
|
1883
|
+
"""
|
|
1884
|
+
Tool usage trace — array of {name, arguments, result, kind}. Only on assistant messages.
|
|
1885
|
+
"""
|
|
1886
|
+
toolUsagesJson: JSON
|
|
1887
|
+
|
|
1888
|
+
"""Last update timestamp (relevant once message editing is supported)."""
|
|
1889
|
+
updatedAt: DateTimeISO
|
|
1890
|
+
|
|
1891
|
+
"""Last user to update this message (for future edit support)."""
|
|
1892
|
+
updater: User
|
|
1697
1893
|
}
|
|
1698
1894
|
|
|
1699
|
-
|
|
1700
|
-
|
|
1895
|
+
"""AI 협력 세션 — Board 와 결합. 한 보드에 여러 세션 가능 (thread / 사용자별 / 컨텍스트별 등 미래 확장)."""
|
|
1896
|
+
type ChatSession {
|
|
1897
|
+
aiClientId: String
|
|
1898
|
+
|
|
1899
|
+
"""
|
|
1900
|
+
Connected Board id. Multiple sessions per board allowed (future: threads / per-user / contexts).
|
|
1901
|
+
"""
|
|
1902
|
+
boardId: String
|
|
1903
|
+
createdAt: DateTimeISO
|
|
1904
|
+
|
|
1905
|
+
"""User who created this session."""
|
|
1906
|
+
creator: User
|
|
1907
|
+
domain: Domain
|
|
1908
|
+
id: ID
|
|
1909
|
+
|
|
1910
|
+
"""Compressed summary of older messages (for token saving)."""
|
|
1911
|
+
lastSummary: String
|
|
1912
|
+
|
|
1913
|
+
"""User-given name of this session (tab label / identification)."""
|
|
1914
|
+
name: String
|
|
1915
|
+
updatedAt: DateTimeISO
|
|
1916
|
+
|
|
1917
|
+
"""User who last updated this session."""
|
|
1918
|
+
updater: User
|
|
1919
|
+
}
|
|
1920
|
+
|
|
1921
|
+
"""
|
|
1922
|
+
Participant of a ChatSession — links a User to a session with a role. Foundation for multi-user chat / per-user filtering / member display.
|
|
1923
|
+
"""
|
|
1924
|
+
type ChatSessionParticipant {
|
|
1925
|
+
"""Joined-at timestamp."""
|
|
1926
|
+
createdAt: DateTimeISO
|
|
1927
|
+
|
|
1928
|
+
"""
|
|
1929
|
+
User who created this participant record (typically session owner who invited).
|
|
1930
|
+
"""
|
|
1931
|
+
creator: User
|
|
1932
|
+
|
|
1933
|
+
"""Soft delete (= left session) timestamp."""
|
|
1934
|
+
deletedAt: DateTimeISO
|
|
1935
|
+
|
|
1936
|
+
"""Domain to which this participant belongs."""
|
|
1937
|
+
domain: Domain
|
|
1938
|
+
|
|
1939
|
+
"""Unique participant id."""
|
|
1940
|
+
id: ID!
|
|
1941
|
+
|
|
1942
|
+
"""Last seen / activity timestamp (presence indicator)."""
|
|
1943
|
+
lastSeenAt: DateTimeISO
|
|
1944
|
+
|
|
1945
|
+
"""Role of this participant: owner | member | viewer."""
|
|
1946
|
+
role: String!
|
|
1947
|
+
|
|
1948
|
+
"""The ChatSession this participation belongs to."""
|
|
1949
|
+
session: ChatSession
|
|
1950
|
+
|
|
1951
|
+
"""Last update timestamp (role change / lastSeenAt bump)."""
|
|
1952
|
+
updatedAt: DateTimeISO
|
|
1953
|
+
|
|
1954
|
+
"""Last user to update this participant record (e.g., role change)."""
|
|
1955
|
+
updater: User
|
|
1956
|
+
|
|
1957
|
+
"""The user participating in the session."""
|
|
1958
|
+
user: User
|
|
1701
1959
|
}
|
|
1702
1960
|
|
|
1703
1961
|
type Checklist {
|
|
@@ -1822,14 +2080,23 @@ type ChecklistItem {
|
|
|
1822
2080
|
detailType: String!
|
|
1823
2081
|
id: ID!
|
|
1824
2082
|
inspctionCriteria: String
|
|
2083
|
+
kcsCriteria: String
|
|
1825
2084
|
mainType: String!
|
|
1826
2085
|
name: String
|
|
1827
2086
|
sequence: Int
|
|
2087
|
+
siteSpecCriteria: String
|
|
1828
2088
|
supervisoryConfirmStatus: String
|
|
1829
2089
|
updatedAt: DateTimeISO
|
|
1830
2090
|
updater: User
|
|
1831
2091
|
}
|
|
1832
2092
|
|
|
2093
|
+
input ChecklistItemAiJudgment {
|
|
2094
|
+
id: ID!
|
|
2095
|
+
|
|
2096
|
+
"""AI 판정 결과 (T: 적합, F: 부적합, null: 미판정)"""
|
|
2097
|
+
supervisoryConfirmStatus: ChecklistItemConfirmStatus
|
|
2098
|
+
}
|
|
2099
|
+
|
|
1833
2100
|
"""Entity for ChecklistItemComment"""
|
|
1834
2101
|
type ChecklistItemComment {
|
|
1835
2102
|
checklistItem: ChecklistItem
|
|
@@ -1846,6 +2113,12 @@ input ChecklistItemCommentPatch {
|
|
|
1846
2113
|
id: ID
|
|
1847
2114
|
}
|
|
1848
2115
|
|
|
2116
|
+
"""적합 상태"""
|
|
2117
|
+
enum ChecklistItemConfirmStatus {
|
|
2118
|
+
F
|
|
2119
|
+
T
|
|
2120
|
+
}
|
|
2121
|
+
|
|
1849
2122
|
"""History Entity of ChecklistItem"""
|
|
1850
2123
|
type ChecklistItemHistory {
|
|
1851
2124
|
checklistHistory: ChecklistHistory
|
|
@@ -1860,10 +2133,12 @@ type ChecklistItemHistory {
|
|
|
1860
2133
|
detailType: String!
|
|
1861
2134
|
id: ID!
|
|
1862
2135
|
inspctionCriteria: String
|
|
2136
|
+
kcsCriteria: String
|
|
1863
2137
|
loggedAt: DateTimeISO
|
|
1864
2138
|
mainType: String!
|
|
1865
2139
|
name: String
|
|
1866
2140
|
sequence: Float
|
|
2141
|
+
siteSpecCriteria: String
|
|
1867
2142
|
supervisoryConfirmStatus: String
|
|
1868
2143
|
updater: User
|
|
1869
2144
|
}
|
|
@@ -1876,8 +2151,10 @@ type ChecklistItemHistoryList {
|
|
|
1876
2151
|
input ChecklistItemInputType {
|
|
1877
2152
|
detailType: String!
|
|
1878
2153
|
inspctionCriteria: String
|
|
2154
|
+
kcsCriteria: String
|
|
1879
2155
|
mainType: String!
|
|
1880
2156
|
name: String!
|
|
2157
|
+
siteSpecCriteria: String
|
|
1881
2158
|
}
|
|
1882
2159
|
|
|
1883
2160
|
type ChecklistItemList {
|
|
@@ -1929,6 +2206,7 @@ type ChecklistTemplateItem {
|
|
|
1929
2206
|
detailTypeName: String!
|
|
1930
2207
|
id: ID!
|
|
1931
2208
|
inspctionCriteria: String
|
|
2209
|
+
inspctionCriteriaText: String
|
|
1932
2210
|
mainType: String!
|
|
1933
2211
|
name: String!
|
|
1934
2212
|
sequence: Int
|
|
@@ -1948,6 +2226,7 @@ input ChecklistTemplateItemPatch {
|
|
|
1948
2226
|
detailType: String
|
|
1949
2227
|
id: ID
|
|
1950
2228
|
inspctionCriteria: String
|
|
2229
|
+
inspctionCriteriaText: String
|
|
1951
2230
|
mainType: String
|
|
1952
2231
|
name: String
|
|
1953
2232
|
sequence: Int
|
|
@@ -1987,16 +2266,6 @@ input ChecklistTypePatch {
|
|
|
1987
2266
|
mainType: String
|
|
1988
2267
|
}
|
|
1989
2268
|
|
|
1990
|
-
input CodeDecipherInput {
|
|
1991
|
-
code: String!
|
|
1992
|
-
language: String
|
|
1993
|
-
system: String
|
|
1994
|
-
}
|
|
1995
|
-
|
|
1996
|
-
type CodeDecipherOutput {
|
|
1997
|
-
message: String
|
|
1998
|
-
}
|
|
1999
|
-
|
|
2000
2269
|
"""Entity for CommonCode"""
|
|
2001
2270
|
type CommonCode {
|
|
2002
2271
|
createdAt: DateTimeISO
|
|
@@ -2079,6 +2348,11 @@ type Connection {
|
|
|
2079
2348
|
"""Unique identifier for the connection."""
|
|
2080
2349
|
id: ID!
|
|
2081
2350
|
|
|
2351
|
+
"""
|
|
2352
|
+
Inheritance mode for child domains. ISOLATE = per-child instance with isolated session. SHARE = shared parent instance. null = use Connector default (falls back to ISOLATE).
|
|
2353
|
+
"""
|
|
2354
|
+
inheritanceMode: ConnectionInheritanceMode
|
|
2355
|
+
|
|
2082
2356
|
"""The name of the connection."""
|
|
2083
2357
|
name: String!
|
|
2084
2358
|
|
|
@@ -2103,6 +2377,14 @@ type Connection {
|
|
|
2103
2377
|
updater: User
|
|
2104
2378
|
}
|
|
2105
2379
|
|
|
2380
|
+
"""
|
|
2381
|
+
Child domain inheritance mode — ISOLATE: per-child instance with isolated session/credentials. SHARE: single parent instance reused by all children.
|
|
2382
|
+
"""
|
|
2383
|
+
enum ConnectionInheritanceMode {
|
|
2384
|
+
ISOLATE
|
|
2385
|
+
SHARE
|
|
2386
|
+
}
|
|
2387
|
+
|
|
2106
2388
|
"""A paginated list of connections."""
|
|
2107
2389
|
type ConnectionList {
|
|
2108
2390
|
"""The list of connection items."""
|
|
@@ -2134,6 +2416,11 @@ input ConnectionPatch {
|
|
|
2134
2416
|
"""The unique identifier of the connection to update."""
|
|
2135
2417
|
id: ID
|
|
2136
2418
|
|
|
2419
|
+
"""
|
|
2420
|
+
Inheritance mode for child domains. ISOLATE = per-child instance. SHARE = shared parent instance. null = use connector default.
|
|
2421
|
+
"""
|
|
2422
|
+
inheritanceMode: ConnectionInheritanceMode
|
|
2423
|
+
|
|
2137
2424
|
"""The new name for the connection."""
|
|
2138
2425
|
name: String
|
|
2139
2426
|
|
|
@@ -2163,6 +2450,11 @@ type ConnectionState {
|
|
|
2163
2450
|
"""The unique identifier of the connection."""
|
|
2164
2451
|
id: String
|
|
2165
2452
|
|
|
2453
|
+
"""
|
|
2454
|
+
Inheritance mode for child domains. ISOLATE = per-child instance. SHARE = shared parent instance. null = use connector default (falls back to ISOLATE).
|
|
2455
|
+
"""
|
|
2456
|
+
inheritanceMode: ConnectionInheritanceMode
|
|
2457
|
+
|
|
2166
2458
|
"""The name of the connection."""
|
|
2167
2459
|
name: String
|
|
2168
2460
|
|
|
@@ -2210,6 +2502,68 @@ type ConnectorType {
|
|
|
2210
2502
|
taskPrefixes: [String!]
|
|
2211
2503
|
}
|
|
2212
2504
|
|
|
2505
|
+
type ConstructionChecklistTemplate {
|
|
2506
|
+
constructionChecklistTemplateItems: [ConstructionChecklistTemplateItem!]
|
|
2507
|
+
constructionDetailTypeId: String!
|
|
2508
|
+
constructionTypeId: String!
|
|
2509
|
+
createdAt: DateTimeISO
|
|
2510
|
+
creator: User
|
|
2511
|
+
deletedAt: DateTimeISO
|
|
2512
|
+
domain: Domain
|
|
2513
|
+
id: ID!
|
|
2514
|
+
updatedAt: DateTimeISO
|
|
2515
|
+
updater: User
|
|
2516
|
+
}
|
|
2517
|
+
|
|
2518
|
+
type ConstructionChecklistTemplateItem {
|
|
2519
|
+
constructionChecklistTemplate: ConstructionChecklistTemplate
|
|
2520
|
+
createdAt: DateTimeISO
|
|
2521
|
+
creator: User
|
|
2522
|
+
criteriaRequestStatus: CriteriaRequestStatus
|
|
2523
|
+
id: ID!
|
|
2524
|
+
inspctionCriteria: String
|
|
2525
|
+
mainType: String
|
|
2526
|
+
name: String!
|
|
2527
|
+
recommendation1: String
|
|
2528
|
+
recommendation2: String
|
|
2529
|
+
recommendation3: String
|
|
2530
|
+
recommendation4: String
|
|
2531
|
+
recommendation5: String
|
|
2532
|
+
sequence: Int
|
|
2533
|
+
updatedAt: DateTimeISO
|
|
2534
|
+
updater: User
|
|
2535
|
+
}
|
|
2536
|
+
|
|
2537
|
+
type ConstructionChecklistTemplateItemList {
|
|
2538
|
+
items: [ConstructionChecklistTemplateItem!]!
|
|
2539
|
+
total: Int!
|
|
2540
|
+
}
|
|
2541
|
+
|
|
2542
|
+
input ConstructionChecklistTemplateItemPatch {
|
|
2543
|
+
id: ID
|
|
2544
|
+
inspctionCriteria: String
|
|
2545
|
+
mainType: String
|
|
2546
|
+
name: String
|
|
2547
|
+
recommendation1: String
|
|
2548
|
+
recommendation2: String
|
|
2549
|
+
recommendation3: String
|
|
2550
|
+
recommendation4: String
|
|
2551
|
+
recommendation5: String
|
|
2552
|
+
sequence: Int
|
|
2553
|
+
}
|
|
2554
|
+
|
|
2555
|
+
type ConstructionChecklistTemplateList {
|
|
2556
|
+
items: [ConstructionChecklistTemplate!]!
|
|
2557
|
+
total: Int!
|
|
2558
|
+
}
|
|
2559
|
+
|
|
2560
|
+
input ConstructionChecklistTemplatePatch {
|
|
2561
|
+
constructionDetailTypeId: String
|
|
2562
|
+
constructionTypeId: String
|
|
2563
|
+
cuFlag: String
|
|
2564
|
+
id: ID
|
|
2565
|
+
}
|
|
2566
|
+
|
|
2213
2567
|
"""세부 공종 타입"""
|
|
2214
2568
|
type ConstructionDetailType {
|
|
2215
2569
|
constructionType: ConstructionType
|
|
@@ -2244,6 +2598,7 @@ type ConstructionType {
|
|
|
2244
2598
|
domain: Domain
|
|
2245
2599
|
id: ID!
|
|
2246
2600
|
name: String
|
|
2601
|
+
projectType: String
|
|
2247
2602
|
updatedAt: DateTimeISO
|
|
2248
2603
|
updater: User
|
|
2249
2604
|
}
|
|
@@ -2258,6 +2613,7 @@ input ConstructionTypePatch {
|
|
|
2258
2613
|
description: String
|
|
2259
2614
|
id: ID
|
|
2260
2615
|
name: String
|
|
2616
|
+
projectType: String
|
|
2261
2617
|
}
|
|
2262
2618
|
|
|
2263
2619
|
"""Entity for Contact"""
|
|
@@ -2332,6 +2688,11 @@ type Data {
|
|
|
2332
2688
|
The tag name attached to the data, used for filtering and identification.
|
|
2333
2689
|
"""
|
|
2334
2690
|
tag: String!
|
|
2691
|
+
|
|
2692
|
+
"""
|
|
2693
|
+
Server publish timestamp in epoch milliseconds, stamped at delivery. Used by clients to monitor data delivery lag.
|
|
2694
|
+
"""
|
|
2695
|
+
ts: Float
|
|
2335
2696
|
}
|
|
2336
2697
|
|
|
2337
2698
|
"""
|
|
@@ -2500,15 +2861,18 @@ input DataItemPatch {
|
|
|
2500
2861
|
|
|
2501
2862
|
"""type enumeration of a data-item"""
|
|
2502
2863
|
enum DataItemType {
|
|
2864
|
+
audio
|
|
2503
2865
|
boolean
|
|
2504
2866
|
date
|
|
2505
2867
|
datetime
|
|
2506
2868
|
file
|
|
2869
|
+
image
|
|
2507
2870
|
number
|
|
2508
2871
|
radio
|
|
2509
2872
|
select
|
|
2510
2873
|
signature
|
|
2511
2874
|
text
|
|
2875
|
+
video
|
|
2512
2876
|
}
|
|
2513
2877
|
|
|
2514
2878
|
"""
|
|
@@ -3539,6 +3903,27 @@ type DomainList {
|
|
|
3539
3903
|
total: Int
|
|
3540
3904
|
}
|
|
3541
3905
|
|
|
3906
|
+
"""An ownership record binding a User to a Domain (multi-owner support)."""
|
|
3907
|
+
type DomainOwner {
|
|
3908
|
+
"""Domain that the user owns."""
|
|
3909
|
+
domain: Domain!
|
|
3910
|
+
|
|
3911
|
+
"""When the ownership was granted."""
|
|
3912
|
+
grantedAt: DateTimeISO!
|
|
3913
|
+
|
|
3914
|
+
"""User who granted this ownership (audit)."""
|
|
3915
|
+
grantedBy: User
|
|
3916
|
+
|
|
3917
|
+
"""Unique identifier."""
|
|
3918
|
+
id: ID!
|
|
3919
|
+
|
|
3920
|
+
"""Optional reason/memo for granting ownership."""
|
|
3921
|
+
reason: String
|
|
3922
|
+
|
|
3923
|
+
"""User who owns the domain."""
|
|
3924
|
+
user: User!
|
|
3925
|
+
}
|
|
3926
|
+
|
|
3542
3927
|
"""Input type for updating an existing domain entity."""
|
|
3543
3928
|
input DomainPatch {
|
|
3544
3929
|
"""Additional attributes for the domain in key-value pairs."""
|
|
@@ -3976,6 +4361,22 @@ input EnvVarPatch {
|
|
|
3976
4361
|
value: String
|
|
3977
4362
|
}
|
|
3978
4363
|
|
|
4364
|
+
"""Resolved state of an EnvVar key with ancestor closest-wins lookup."""
|
|
4365
|
+
type EnvVarResolution {
|
|
4366
|
+
"""EnvVar id (only when found in any domain)."""
|
|
4367
|
+
envVarId: String
|
|
4368
|
+
hasValue: Boolean!
|
|
4369
|
+
key: String!
|
|
4370
|
+
sourceDomainId: String
|
|
4371
|
+
sourceDomainName: String
|
|
4372
|
+
status: String!
|
|
4373
|
+
|
|
4374
|
+
"""
|
|
4375
|
+
Resolved value when found. Client decides masking based on propertySpec type.
|
|
4376
|
+
"""
|
|
4377
|
+
value: String
|
|
4378
|
+
}
|
|
4379
|
+
|
|
3979
4380
|
"""Entity for Favorite"""
|
|
3980
4381
|
type Favorite {
|
|
3981
4382
|
createdAt: DateTimeISO
|
|
@@ -3993,6 +4394,48 @@ type FavoriteList {
|
|
|
3993
4394
|
total: Int!
|
|
3994
4395
|
}
|
|
3995
4396
|
|
|
4397
|
+
"""Entity for FieldDocument"""
|
|
4398
|
+
type FieldDocument {
|
|
4399
|
+
aiSummary: String
|
|
4400
|
+
aiSummaryStatus: FieldDocumentSummaryStatus
|
|
4401
|
+
code: String!
|
|
4402
|
+
createdAt: DateTimeISO
|
|
4403
|
+
creator: User
|
|
4404
|
+
deletedAt: DateTimeISO
|
|
4405
|
+
domain: Domain
|
|
4406
|
+
|
|
4407
|
+
"""파일 크기"""
|
|
4408
|
+
fileSize: String
|
|
4409
|
+
|
|
4410
|
+
"""첨부파일 fullpath"""
|
|
4411
|
+
fullpath: String
|
|
4412
|
+
id: ID
|
|
4413
|
+
isFavorite: Boolean
|
|
4414
|
+
name: String!
|
|
4415
|
+
projectId: String!
|
|
4416
|
+
sourceRefId: String
|
|
4417
|
+
sourceType: String
|
|
4418
|
+
updatedAt: DateTimeISO
|
|
4419
|
+
updater: User
|
|
4420
|
+
}
|
|
4421
|
+
|
|
4422
|
+
type FieldDocumentCodeCount {
|
|
4423
|
+
code: String!
|
|
4424
|
+
count: Int!
|
|
4425
|
+
}
|
|
4426
|
+
|
|
4427
|
+
type FieldDocumentList {
|
|
4428
|
+
items: [FieldDocument!]!
|
|
4429
|
+
total: Int!
|
|
4430
|
+
}
|
|
4431
|
+
|
|
4432
|
+
"""AI 문서 요약 요청 상태"""
|
|
4433
|
+
enum FieldDocumentSummaryStatus {
|
|
4434
|
+
FAIL
|
|
4435
|
+
REQUEST
|
|
4436
|
+
SUCCESS
|
|
4437
|
+
}
|
|
4438
|
+
|
|
3996
4439
|
"""Input type for specifying a filter condition in a list query."""
|
|
3997
4440
|
input Filter {
|
|
3998
4441
|
"""The field name to apply the filter on."""
|
|
@@ -4098,14 +4541,68 @@ input GroupPatch {
|
|
|
4098
4541
|
name: String
|
|
4099
4542
|
}
|
|
4100
4543
|
|
|
4101
|
-
input
|
|
4102
|
-
|
|
4103
|
-
|
|
4104
|
-
|
|
4544
|
+
input ImportBoardAsyncInput {
|
|
4545
|
+
"""Apply Stage 4 (data binding)."""
|
|
4546
|
+
applyBinding: Boolean
|
|
4547
|
+
|
|
4548
|
+
"""
|
|
4549
|
+
Attachment id of the source drawing file (uploaded via attachment-base).
|
|
4550
|
+
"""
|
|
4551
|
+
attachmentId: String!
|
|
4552
|
+
|
|
4553
|
+
"""ChatSession id when triggered from board-ai chat."""
|
|
4554
|
+
chatSessionId: String
|
|
4555
|
+
|
|
4556
|
+
"""Flip Y axis (CAD Y-up → scene Y-down)."""
|
|
4557
|
+
flipY: Boolean
|
|
4558
|
+
|
|
4559
|
+
"""Normalize coordinates so minX,minY=0"""
|
|
4560
|
+
normalizeOrigin: Boolean
|
|
4561
|
+
|
|
4562
|
+
"""Adapter parse options (excludeLayers, maxEntities, ...)."""
|
|
4563
|
+
parseOptions: JSON
|
|
4564
|
+
|
|
4565
|
+
"""Scale factor (e.g. 1 for mm:1unit)."""
|
|
4566
|
+
scale: Float
|
|
4567
|
+
|
|
4568
|
+
"""Registry scopes to use (board-import)."""
|
|
4569
|
+
scopes: [String!]
|
|
4570
|
+
|
|
4571
|
+
"""
|
|
4572
|
+
User-provided context / hints about the drawing — passed to VLM as additional guidance. e.g. "fab lithography zone, central rectangles are stockers, thin lines are OHT rails."
|
|
4573
|
+
"""
|
|
4574
|
+
userPrompt: String
|
|
4105
4575
|
}
|
|
4106
4576
|
|
|
4107
|
-
|
|
4108
|
-
|
|
4577
|
+
"""도면 → 보드 변환 작업의 영속 단위 (비동기 진행상태 추적)."""
|
|
4578
|
+
type ImportSession {
|
|
4579
|
+
"""Attachment id (the source drawing file)"""
|
|
4580
|
+
attachmentId: String!
|
|
4581
|
+
|
|
4582
|
+
"""ChatSession id when triggered from chat (board-ai)."""
|
|
4583
|
+
chatSessionId: String
|
|
4584
|
+
completedAt: DateTimeISO
|
|
4585
|
+
createdAt: DateTimeISO
|
|
4586
|
+
creator: User
|
|
4587
|
+
domain: Domain
|
|
4588
|
+
id: ID
|
|
4589
|
+
message: String
|
|
4590
|
+
|
|
4591
|
+
"""Options used (parsed JSON)."""
|
|
4592
|
+
options: JSON
|
|
4593
|
+
|
|
4594
|
+
"""Progress percentage 0..100"""
|
|
4595
|
+
progress: Float!
|
|
4596
|
+
|
|
4597
|
+
"""Result (parsed JSON): { boardModel, stats, warnings }."""
|
|
4598
|
+
result: JSON
|
|
4599
|
+
|
|
4600
|
+
"""queued | parsing | mapping | assembling | binding | completed | failed"""
|
|
4601
|
+
status: String!
|
|
4602
|
+
|
|
4603
|
+
"""Total entities counted (when known)."""
|
|
4604
|
+
totalEntities: Int
|
|
4605
|
+
updatedAt: DateTimeISO
|
|
4109
4606
|
}
|
|
4110
4607
|
|
|
4111
4608
|
"""
|
|
@@ -4281,6 +4778,11 @@ enum IssueStatus {
|
|
|
4281
4778
|
STATUS_B
|
|
4282
4779
|
}
|
|
4283
4780
|
|
|
4781
|
+
"""
|
|
4782
|
+
The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
|
|
4783
|
+
"""
|
|
4784
|
+
scalar JSON @specifiedBy(url: "http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf")
|
|
4785
|
+
|
|
4284
4786
|
"""
|
|
4285
4787
|
A field whose value is a JSON Web Token (JWT): https://jwt.io/introduction.
|
|
4286
4788
|
"""
|
|
@@ -4361,6 +4863,11 @@ type Kpi {
|
|
|
4361
4863
|
"""
|
|
4362
4864
|
scoreFormula: String
|
|
4363
4865
|
|
|
4866
|
+
"""
|
|
4867
|
+
value → score 변환 방식. NONE: 미설정, DIRECT: value=score(변환 없음), FORMULA: scoreFormula 수식, LOOKUP: grade table(1D), CUSTOM: 2D 룩업 등 특수 변환.
|
|
4868
|
+
"""
|
|
4869
|
+
scoreType: KpiScoreType
|
|
4870
|
+
|
|
4364
4871
|
"""Current state of the KPI (DRAFT, RELEASED, ARCHIVED)."""
|
|
4365
4872
|
state: String
|
|
4366
4873
|
targetValue: Float
|
|
@@ -4385,6 +4892,11 @@ type Kpi {
|
|
|
4385
4892
|
orgScope: String
|
|
4386
4893
|
): KpiValue
|
|
4387
4894
|
|
|
4895
|
+
"""
|
|
4896
|
+
value 획득 방식. MEASURED: 외부 시스템 수집 측정값, ASSESSED: 감리자 직접 평가(1~5), CALCULATED: formula 자동 계산, COMPOSITE: 다차원 룩업 결과.
|
|
4897
|
+
"""
|
|
4898
|
+
valueType: KpiValueType
|
|
4899
|
+
|
|
4388
4900
|
"""
|
|
4389
4901
|
Version number of the KPI. Increments on each modification. When the KPI is released, a snapshot is saved in kpi-history and the status becomes RELEASED. Editing after release increases the version and sets status to DRAFT.
|
|
4390
4902
|
"""
|
|
@@ -4504,6 +5016,9 @@ type KpiMetric {
|
|
|
4504
5016
|
"""Aggregation period type for this metric."""
|
|
4505
5017
|
periodType: KpiPeriodType!
|
|
4506
5018
|
|
|
5019
|
+
"""목록 표시 순서(오름차순). 미지정(null)은 뒤로 정렬."""
|
|
5020
|
+
rank: Int
|
|
5021
|
+
|
|
4507
5022
|
"""
|
|
4508
5023
|
Cron schedule string for periodic KPI value aggregation (e.g., "0 0 * * *" for daily).
|
|
4509
5024
|
"""
|
|
@@ -4553,7 +5068,7 @@ input KpiMetricPatch {
|
|
|
4553
5068
|
"""데이터 수집 방식"""
|
|
4554
5069
|
collectType: KpiMetricCollectType
|
|
4555
5070
|
cuFlag: String
|
|
4556
|
-
|
|
5071
|
+
dataSet: ObjectRef
|
|
4557
5072
|
description: String
|
|
4558
5073
|
fieldName: String
|
|
4559
5074
|
id: ID
|
|
@@ -4562,6 +5077,9 @@ input KpiMetricPatch {
|
|
|
4562
5077
|
"""Aggregation period type for this metric."""
|
|
4563
5078
|
periodType: KpiPeriodType
|
|
4564
5079
|
|
|
5080
|
+
"""목록 표시 순서(오름차순). 미지정(null)은 뒤로 정렬."""
|
|
5081
|
+
rank: Int
|
|
5082
|
+
|
|
4565
5083
|
"""
|
|
4566
5084
|
Cron schedule string for periodic KPI value aggregation (e.g., "0 0 * * *" for daily).
|
|
4567
5085
|
"""
|
|
@@ -4796,6 +5314,9 @@ input KpiPatch {
|
|
|
4796
5314
|
"""
|
|
4797
5315
|
scoreFormula: String
|
|
4798
5316
|
|
|
5317
|
+
"""value → score 변환 방식."""
|
|
5318
|
+
scoreType: KpiScoreType
|
|
5319
|
+
|
|
4799
5320
|
"""Current state of the KPI (DRAFT, RELEASED, ARCHIVED)."""
|
|
4800
5321
|
state: KpiStatus
|
|
4801
5322
|
|
|
@@ -4805,6 +5326,9 @@ input KpiPatch {
|
|
|
4805
5326
|
"""Timezone for the KPI schedule."""
|
|
4806
5327
|
timezone: String
|
|
4807
5328
|
|
|
5329
|
+
"""value 획득 방식."""
|
|
5330
|
+
valueType: KpiValueType
|
|
5331
|
+
|
|
4808
5332
|
"""
|
|
4809
5333
|
Visualization options and metadata for this KPI, such as color, icon, thresholds, unit, decimal places, etc.
|
|
4810
5334
|
"""
|
|
@@ -4928,6 +5452,16 @@ input KpiScopePatch {
|
|
|
4928
5452
|
validationPattern: String
|
|
4929
5453
|
}
|
|
4930
5454
|
|
|
5455
|
+
"""
|
|
5456
|
+
value → score 변환 방식. DIRECT: value=score(변환 없음), FORMULA: scoreFormula 수식 적용, LOOKUP: grade table(1D) 매핑, CUSTOM: 2D 룩업 등 특수 변환.
|
|
5457
|
+
"""
|
|
5458
|
+
enum KpiScoreType {
|
|
5459
|
+
CUSTOM
|
|
5460
|
+
DIRECT
|
|
5461
|
+
FORMULA
|
|
5462
|
+
LOOKUP
|
|
5463
|
+
}
|
|
5464
|
+
|
|
4931
5465
|
"""
|
|
4932
5466
|
KPI Statistics Entity - Stores comprehensive statistical information for KPIs and Categories including central tendency measures (mean, median), dispersion metrics (standard deviation, variance), range indicators (min, max), and percentile distributions (25th, 75th percentiles, IQR). Supports both KPI and Category targets with flexible period-based aggregation (daily, weekly, monthly, yearly). Includes extensible JSON fields for additional metrics and metadata for calculation tracking.
|
|
4933
5467
|
"""
|
|
@@ -5107,7 +5641,7 @@ type KpiValue {
|
|
|
5107
5641
|
periodType: KpiPeriodType!
|
|
5108
5642
|
|
|
5109
5643
|
"""
|
|
5110
|
-
Performance score calculated from KPI value using scoreFormula or grades lookup table.
|
|
5644
|
+
Performance score calculated from KPI value using scoreFormula or grades lookup table.
|
|
5111
5645
|
"""
|
|
5112
5646
|
score: Float
|
|
5113
5647
|
|
|
@@ -5198,6 +5732,21 @@ input KpiValuePatch {
|
|
|
5198
5732
|
version: Int
|
|
5199
5733
|
}
|
|
5200
5734
|
|
|
5735
|
+
"""
|
|
5736
|
+
value 획득 방식. MEASURED: 외부 시스템 수집 측정값, ASSESSED: 감리자 직접 평가(1~5), CALCULATED: formula 자동 계산, COMPOSITE: 다차원 복합 입력 결과.
|
|
5737
|
+
"""
|
|
5738
|
+
enum KpiValueType {
|
|
5739
|
+
ASSESSED
|
|
5740
|
+
CALCULATED
|
|
5741
|
+
COMPOSITE
|
|
5742
|
+
MEASURED
|
|
5743
|
+
}
|
|
5744
|
+
|
|
5745
|
+
type KpiValuesObject {
|
|
5746
|
+
kpiName: String!
|
|
5747
|
+
value: Float!
|
|
5748
|
+
}
|
|
5749
|
+
|
|
5201
5750
|
"""Visualization type for KPI display (CARD, GAUGE, PROGRESS, etc.)"""
|
|
5202
5751
|
enum KpiVizType {
|
|
5203
5752
|
BADGE
|
|
@@ -5326,12 +5875,39 @@ type ManagerOutput {
|
|
|
5326
5875
|
userId: ID!
|
|
5327
5876
|
}
|
|
5328
5877
|
|
|
5329
|
-
input ManagerPatch {
|
|
5330
|
-
id: ID
|
|
5331
|
-
name: String
|
|
5332
|
-
phone: String
|
|
5333
|
-
position: String
|
|
5334
|
-
userId: ID
|
|
5878
|
+
input ManagerPatch {
|
|
5879
|
+
id: ID
|
|
5880
|
+
name: String
|
|
5881
|
+
phone: String
|
|
5882
|
+
position: String
|
|
5883
|
+
userId: ID
|
|
5884
|
+
}
|
|
5885
|
+
|
|
5886
|
+
input MaterializeImportSessionInput {
|
|
5887
|
+
"""Optional Board description."""
|
|
5888
|
+
description: String
|
|
5889
|
+
|
|
5890
|
+
"""Optional Group id to attach the Board to."""
|
|
5891
|
+
groupId: ID
|
|
5892
|
+
|
|
5893
|
+
"""New Board name."""
|
|
5894
|
+
name: String!
|
|
5895
|
+
|
|
5896
|
+
"""ImportSession id (must be in completed state)."""
|
|
5897
|
+
sessionId: ID!
|
|
5898
|
+
|
|
5899
|
+
"""
|
|
5900
|
+
Base64 thumbnail. If omitted, board-service default empty thumbnail is used.
|
|
5901
|
+
"""
|
|
5902
|
+
thumbnail: String
|
|
5903
|
+
|
|
5904
|
+
"""Board type — 'main' | 'sub' | 'popup'. Default 'main'."""
|
|
5905
|
+
type: String
|
|
5906
|
+
|
|
5907
|
+
"""
|
|
5908
|
+
ImportSession 의 결과 시안 중 하나의 id. 'as-is' / 'scene' / 'auto-fit'. 미지정 시 default variant (보통 'scene') 사용.
|
|
5909
|
+
"""
|
|
5910
|
+
variantId: String
|
|
5335
5911
|
}
|
|
5336
5912
|
|
|
5337
5913
|
"""Entity for Menu"""
|
|
@@ -5712,6 +6288,9 @@ type Mutation {
|
|
|
5712
6288
|
username: String!
|
|
5713
6289
|
): Boolean!
|
|
5714
6290
|
|
|
6291
|
+
"""Add a user as owner of the current domain."""
|
|
6292
|
+
addDomainOwner(reason: String, username: String!): DomainOwner!
|
|
6293
|
+
|
|
5715
6294
|
"""To apply to all building inspection"""
|
|
5716
6295
|
applyToAllBuildingInspection(buildingInspectionId: String!): Boolean!
|
|
5717
6296
|
|
|
@@ -5732,6 +6311,14 @@ type Mutation {
|
|
|
5732
6311
|
"""
|
|
5733
6312
|
attachContact(contactId: String!, id: String!): Employee!
|
|
5734
6313
|
|
|
6314
|
+
"""
|
|
6315
|
+
썸네일이 없는 기존 첨부파일들에 대해 서버에서 썸네일을 일괄 생성한다. 한 호출당 limit 개까지만 처리하며, remaining > 0 이면 반복 호출 필요.
|
|
6316
|
+
"""
|
|
6317
|
+
backfillAttachmentThumbnails(limit: Int = 20): ThumbnailBackfillResult!
|
|
6318
|
+
|
|
6319
|
+
"""AI 주도 보드 모델링 — 자연어 채팅으로 보드 생성·구조편집·스타일링. sessionId 로 영속 컨텍스트."""
|
|
6320
|
+
boardAIChat(input: BoardAIChatInput!): BoardAIChatOutput!
|
|
6321
|
+
|
|
5735
6322
|
"""Bulk create or update KPI org-scope mappings."""
|
|
5736
6323
|
bulkUpsertKpiOrgScopes(
|
|
5737
6324
|
"""Array of org-scope mapping data for bulk upsert."""
|
|
@@ -5820,6 +6407,16 @@ type Mutation {
|
|
|
5820
6407
|
"""Create Daily Worklog by projectId+date"""
|
|
5821
6408
|
createBuildingInspectionDailyWorklog(patch: BuildingInspectionDailyWorklogNew!): BuildingInspectionDailyWorklog!
|
|
5822
6409
|
|
|
6410
|
+
"""
|
|
6411
|
+
Always create a new AI chat session for a board (no idempotent reuse). For multi-session UX — 새 탭 열기.
|
|
6412
|
+
"""
|
|
6413
|
+
createChatSession(
|
|
6414
|
+
boardId: String!
|
|
6415
|
+
|
|
6416
|
+
"""Optional name (defaults to auto-generated `세션 N`)."""
|
|
6417
|
+
name: String
|
|
6418
|
+
): ChatSession!
|
|
6419
|
+
|
|
5823
6420
|
"""To create new ChecklistItemComment"""
|
|
5824
6421
|
createChecklistItemComment(checklistItemComment: NewChecklistItemComment!): ChecklistItemComment!
|
|
5825
6422
|
|
|
@@ -5896,6 +6493,12 @@ type Mutation {
|
|
|
5896
6493
|
"""To create new Favorite"""
|
|
5897
6494
|
createFavorite(favorite: NewFavorite!): Favorite!
|
|
5898
6495
|
|
|
6496
|
+
"""현장 문서 생성"""
|
|
6497
|
+
createFieldDocument(patch: NewFieldDocument!): FieldDocument!
|
|
6498
|
+
|
|
6499
|
+
"""현장 문서 다건 생성"""
|
|
6500
|
+
createFieldDocuments(patches: [NewFieldDocument!]!): [FieldDocument!]!
|
|
6501
|
+
|
|
5899
6502
|
"""To create new Font"""
|
|
5900
6503
|
createFont(font: NewFont!): Font!
|
|
5901
6504
|
|
|
@@ -6001,6 +6604,9 @@ type Mutation {
|
|
|
6001
6604
|
"""프로젝트 생성"""
|
|
6002
6605
|
createProject(project: NewProject!): Project!
|
|
6003
6606
|
|
|
6607
|
+
"""프로젝트 체크리스트 생성"""
|
|
6608
|
+
createProjectChecklist(constructionDetailTypeId: String!, constructionTypeId: String!, items: [ProjectChecklistItemInput!]!, name: String!, projectId: String!, siteSpecPdfUrl: String): ProjectChecklist!
|
|
6609
|
+
|
|
6004
6610
|
"""To create new ProjectReport"""
|
|
6005
6611
|
createProjectReport(projectReport: NewProjectReport!): ProjectReport!
|
|
6006
6612
|
|
|
@@ -6167,6 +6773,12 @@ type Mutation {
|
|
|
6167
6773
|
"""Deletes multiple connections by their names."""
|
|
6168
6774
|
deleteConnections(names: [String!]!): Boolean!
|
|
6169
6775
|
|
|
6776
|
+
"""공종 체크리스트 템플릿 아이템 삭제"""
|
|
6777
|
+
deleteConstructionChecklistTemplateItems(ids: [String!]!): Boolean!
|
|
6778
|
+
|
|
6779
|
+
"""공종 기반 체크리스트 템플릿 삭제"""
|
|
6780
|
+
deleteConstructionChecklistTemplates(ids: [String!]!): Boolean!
|
|
6781
|
+
|
|
6170
6782
|
"""To delete multiple ConstructionDetailTypes"""
|
|
6171
6783
|
deleteConstructionDetailTypes(ids: [String!]!): Boolean!
|
|
6172
6784
|
|
|
@@ -6292,6 +6904,9 @@ type Mutation {
|
|
|
6292
6904
|
"""To delete Favorite"""
|
|
6293
6905
|
deleteFavorite(routing: String!): Boolean!
|
|
6294
6906
|
|
|
6907
|
+
"""현장 문서 삭제"""
|
|
6908
|
+
deleteFieldDocuments(ids: [String!]!): Boolean!
|
|
6909
|
+
|
|
6295
6910
|
"""To delete Font"""
|
|
6296
6911
|
deleteFont(id: String!): Boolean!
|
|
6297
6912
|
|
|
@@ -6454,6 +7069,9 @@ type Mutation {
|
|
|
6454
7069
|
"""To delete Project"""
|
|
6455
7070
|
deleteProject(id: String!): Boolean!
|
|
6456
7071
|
|
|
7072
|
+
"""프로젝트 체크리스트 삭제"""
|
|
7073
|
+
deleteProjectChecklists(ids: [String!]!): Boolean!
|
|
7074
|
+
|
|
6457
7075
|
"""To delete ProjectReport"""
|
|
6458
7076
|
deleteProjectReport(id: String!): Boolean!
|
|
6459
7077
|
|
|
@@ -6551,6 +7169,9 @@ type Mutation {
|
|
|
6551
7169
|
"""To delete multiple WorkerTypes"""
|
|
6552
7170
|
deleteWorkerTypes(ids: [String!]!): Boolean!
|
|
6553
7171
|
|
|
7172
|
+
"""프로젝트 테넌트 강등 (Domain soft-delete, Project.code 보존)"""
|
|
7173
|
+
demoteProjectTenant(projectId: String!): Boolean!
|
|
7174
|
+
|
|
6554
7175
|
"""
|
|
6555
7176
|
Detaches an existing contact from an employee. The employee is identified by their ID.
|
|
6556
7177
|
"""
|
|
@@ -6624,6 +7245,9 @@ type Mutation {
|
|
|
6624
7245
|
attributes: [AttributeSetPatch!]!
|
|
6625
7246
|
): Boolean!
|
|
6626
7247
|
|
|
7248
|
+
"""도면 → 보드 변환을 비동기로 시작. 즉시 ImportSession 반환, 백그라운드에서 처리."""
|
|
7249
|
+
importBoardAsync(input: ImportBoardAsyncInput!): ImportSession!
|
|
7250
|
+
|
|
6627
7251
|
"""Imports multiple boards from JSON files."""
|
|
6628
7252
|
importBoards(files: [Upload!]!, groupId: String!, overwrite: Boolean!): [Board!]!
|
|
6629
7253
|
|
|
@@ -6767,6 +7391,14 @@ type Mutation {
|
|
|
6767
7391
|
|
|
6768
7392
|
"""Removes one or more boards from a play group."""
|
|
6769
7393
|
leavePlayGroup(boardIds: [String!]!, id: String!): PlayGroup!
|
|
7394
|
+
|
|
7395
|
+
"""
|
|
7396
|
+
완료된 ImportSession 의 결과 boardModel 을 새 Board entity 로 영속화한다. 검수 단계 (사용자/AI 가 import 결과를 확인 후 명시적으로 호출) 에서 사용. Board.state="draft" 로 생성되므로 release mutation 으로 별도 발행 필요.
|
|
7397
|
+
"""
|
|
7398
|
+
materializeImportSession(input: MaterializeImportSessionInput!): Board!
|
|
7399
|
+
|
|
7400
|
+
"""문서 폴더 이동"""
|
|
7401
|
+
moveFieldDocuments(ids: [String!]!, targetCode: String!): Boolean!
|
|
6770
7402
|
multipleUpload(files: [Upload!]!): [Attachment!]!
|
|
6771
7403
|
|
|
6772
7404
|
"""
|
|
@@ -6774,12 +7406,20 @@ type Mutation {
|
|
|
6774
7406
|
"""
|
|
6775
7407
|
pickActivityInstance(id: String!): ActivityThread
|
|
6776
7408
|
|
|
7409
|
+
"""프로젝트를 테넌트로 승격 (관리번호 발번 + project 카테고리 Domain 생성)"""
|
|
7410
|
+
promoteProjectToTenant(projectId: String!): Project!
|
|
7411
|
+
|
|
6777
7412
|
"""기존 KPI Value 인스턴스를 현재 formula/metric 값으로 재계산"""
|
|
6778
7413
|
recalculateKpiValue(id: String!): KpiValue!
|
|
6779
7414
|
|
|
6780
7415
|
"""Recalculate scores for all KpiValues of a specific KPI"""
|
|
6781
7416
|
recalculateScoresForKpi(kpiId: String!): Boolean!
|
|
6782
7417
|
|
|
7418
|
+
"""
|
|
7419
|
+
Record a patch from user direct edit. Adds a system message so AI sees the change next turn.
|
|
7420
|
+
"""
|
|
7421
|
+
recordDirectPatch(ops: JSON!, sessionId: String!, summary: String): PatchEntry!
|
|
7422
|
+
|
|
6783
7423
|
"""Record a metric value by metric name, value, meta, and org."""
|
|
6784
7424
|
recordKpiMetricValue(
|
|
6785
7425
|
"""Extended or non-numeric information (JSON)."""
|
|
@@ -6831,8 +7471,17 @@ type Mutation {
|
|
|
6831
7471
|
|
|
6832
7472
|
"""Release a KPI and create a version history."""
|
|
6833
7473
|
releaseKpi(id: String!): Kpi!
|
|
7474
|
+
|
|
7475
|
+
"""Remove a user from the owners of the current domain."""
|
|
7476
|
+
removeDomainOwner(reason: String, username: String!): Boolean!
|
|
7477
|
+
|
|
7478
|
+
"""Rename a ChatSession (tab label)."""
|
|
7479
|
+
renameChatSession(name: String!, sessionId: String!): Boolean!
|
|
6834
7480
|
renewApplicationAccessToken(id: String!, scope: String!): AccessToken!
|
|
6835
7481
|
|
|
7482
|
+
"""Reorders a board between two adjacent boards by ID."""
|
|
7483
|
+
reorderBoard(id: String!, nextId: String, prevId: String): Boolean!
|
|
7484
|
+
|
|
6836
7485
|
"""Sets the custom playback order for boards in a play group."""
|
|
6837
7486
|
reorderPlayGroup(boardIds: [String!]!, id: String!): PlayGroup!
|
|
6838
7487
|
|
|
@@ -6853,6 +7502,9 @@ type Mutation {
|
|
|
6853
7502
|
"""Revert a KPI to a specific historical version."""
|
|
6854
7503
|
revertKpiVersion(id: String!, version: Float!): Kpi!
|
|
6855
7504
|
|
|
7505
|
+
"""Mark a patch as reverted (does not undo, only flags)."""
|
|
7506
|
+
revertPatch(patchId: String!): Boolean!
|
|
7507
|
+
|
|
6856
7508
|
"""
|
|
6857
7509
|
Runs a new scenario instance once and returns the result after it finishes.
|
|
6858
7510
|
"""
|
|
@@ -6872,6 +7524,11 @@ type Mutation {
|
|
|
6872
7524
|
"""To start ActivityThread"""
|
|
6873
7525
|
startActivityThread(id: String!, output: Object, reason: String): ActivityThread
|
|
6874
7526
|
|
|
7527
|
+
"""
|
|
7528
|
+
Start (or get existing) AI chat session for a board. Idempotent — returns first existing or creates one.
|
|
7529
|
+
"""
|
|
7530
|
+
startBoardAISession(boardId: String!): ChatSession!
|
|
7531
|
+
|
|
6875
7532
|
"""
|
|
6876
7533
|
Starts automated data collection scheduling for the specified dataset. This mutation registers a cron-based schedule that automatically triggers data collection tasks according to the dataset configuration.
|
|
6877
7534
|
"""
|
|
@@ -6917,6 +7574,14 @@ type Mutation {
|
|
|
6917
7574
|
synchronizePrivilegeMaster(privilege: NewPrivilege!): Boolean!
|
|
6918
7575
|
terminateContract(partnerName: String!): Boolean!
|
|
6919
7576
|
|
|
7577
|
+
"""즐겨찾기 토글"""
|
|
7578
|
+
toggleFieldDocumentFavorite(id: String!): FieldDocument!
|
|
7579
|
+
|
|
7580
|
+
"""
|
|
7581
|
+
Presence heartbeat — bump current user's lastSeenAt in the session (online indicator).
|
|
7582
|
+
"""
|
|
7583
|
+
touchPresence(sessionId: String!): Boolean!
|
|
7584
|
+
|
|
6920
7585
|
"""
|
|
6921
7586
|
Transfers domain ownership to another user. Use this mutation to assign the owner role to a different user within the domain.
|
|
6922
7587
|
"""
|
|
@@ -6983,6 +7648,9 @@ type Mutation {
|
|
|
6983
7648
|
"""To modify ChecklistItemComment information"""
|
|
6984
7649
|
updateChecklistItemComment(id: String!, patch: ChecklistItemCommentPatch!): ChecklistItemComment!
|
|
6985
7650
|
|
|
7651
|
+
"""To update checklist items with AI inspection judgments"""
|
|
7652
|
+
updateChecklistItemsAiJudgment(items: [ChecklistItemAiJudgment!]!): Boolean!
|
|
7653
|
+
|
|
6986
7654
|
"""To modify CommonCode information"""
|
|
6987
7655
|
updateCommonCode(name: String!, patch: CommonCodePatch!): CommonCode!
|
|
6988
7656
|
|
|
@@ -7136,6 +7804,12 @@ type Mutation {
|
|
|
7136
7804
|
"""Updates multiple connections at once."""
|
|
7137
7805
|
updateMultipleConnection(patches: [ConnectionPatch!]!): [Connection!]!
|
|
7138
7806
|
|
|
7807
|
+
"""공종 기반 체크리스트 템플릿 생성/수정"""
|
|
7808
|
+
updateMultipleConstructionChecklistTemplate(patches: [ConstructionChecklistTemplatePatch!]!): [ConstructionChecklistTemplate!]!
|
|
7809
|
+
|
|
7810
|
+
"""공종 체크리스트 템플릿 아이템 일괄 저장"""
|
|
7811
|
+
updateMultipleConstructionChecklistTemplateItems(constructionChecklistTemplateId: String!, patches: [ConstructionChecklistTemplateItemPatch!]!): [ConstructionChecklistTemplateItem!]!
|
|
7812
|
+
|
|
7139
7813
|
"""To modify multiple ConstructionDetailTypes' information"""
|
|
7140
7814
|
updateMultipleConstructionDetailType(constructionTypeId: String!, patches: [ConstructionDetailTypePatch!]!): [ConstructionDetailType!]!
|
|
7141
7815
|
|
|
@@ -7331,6 +8005,9 @@ type Mutation {
|
|
|
7331
8005
|
"""프로젝트 업데이트 (중복 사용 금지)"""
|
|
7332
8006
|
updateProject(project: ProjectPatch!): Project!
|
|
7333
8007
|
|
|
8008
|
+
"""프로젝트 체크리스트 수정"""
|
|
8009
|
+
updateProjectChecklist(id: String!, items: [ProjectChecklistItemInput!]!, name: String!, siteSpecPdfUrl: String): ProjectChecklist!
|
|
8010
|
+
|
|
7334
8011
|
"""프로젝트 도면 업데이트"""
|
|
7335
8012
|
updateProjectPlan(project: ProjectPatch!): Project!
|
|
7336
8013
|
|
|
@@ -7414,6 +8091,9 @@ type Mutation {
|
|
|
7414
8091
|
|
|
7415
8092
|
"""프로젝트 공정표 업로드"""
|
|
7416
8093
|
uploadProjectScheduleTable(param: UploadProjectScheduleTable!): Boolean!
|
|
8094
|
+
|
|
8095
|
+
"""공종+세부공종 조합으로 find-or-create"""
|
|
8096
|
+
upsertConstructionChecklistTemplate(constructionDetailTypeId: String!, constructionTypeId: String!): ConstructionChecklistTemplate!
|
|
7417
8097
|
}
|
|
7418
8098
|
|
|
7419
8099
|
input NewActionPlan {
|
|
@@ -7659,6 +8339,11 @@ input NewConnection {
|
|
|
7659
8339
|
"""The endpoint URL or address for the new connection."""
|
|
7660
8340
|
endpoint: String
|
|
7661
8341
|
|
|
8342
|
+
"""
|
|
8343
|
+
Inheritance mode for child domains. ISOLATE = per-child instance. SHARE = shared parent instance. null = use connector default.
|
|
8344
|
+
"""
|
|
8345
|
+
inheritanceMode: ConnectionInheritanceMode
|
|
8346
|
+
|
|
7662
8347
|
"""The name for the new connection."""
|
|
7663
8348
|
name: String!
|
|
7664
8349
|
|
|
@@ -7969,6 +8654,17 @@ input NewFavorite {
|
|
|
7969
8654
|
routing: String!
|
|
7970
8655
|
}
|
|
7971
8656
|
|
|
8657
|
+
input NewFieldDocument {
|
|
8658
|
+
"""AI 브리핑 힌트용 분류 문자열 (대 · 중 · 소분류)"""
|
|
8659
|
+
category: String
|
|
8660
|
+
code: String!
|
|
8661
|
+
file: Upload
|
|
8662
|
+
name: String!
|
|
8663
|
+
projectId: String!
|
|
8664
|
+
sourceRefId: String
|
|
8665
|
+
sourceType: String
|
|
8666
|
+
}
|
|
8667
|
+
|
|
7972
8668
|
input NewFont {
|
|
7973
8669
|
active: Boolean
|
|
7974
8670
|
files: [Upload!]
|
|
@@ -8033,6 +8729,9 @@ input NewKpi {
|
|
|
8033
8729
|
"""
|
|
8034
8730
|
scoreFormula: String
|
|
8035
8731
|
|
|
8732
|
+
"""value → score 변환 방식."""
|
|
8733
|
+
scoreType: KpiScoreType
|
|
8734
|
+
|
|
8036
8735
|
"""Current state of the KPI (DRAFT, RELEASED, ARCHIVED)."""
|
|
8037
8736
|
state: KpiStatus
|
|
8038
8737
|
|
|
@@ -8042,6 +8741,9 @@ input NewKpi {
|
|
|
8042
8741
|
"""Timezone for the KPI schedule."""
|
|
8043
8742
|
timezone: String
|
|
8044
8743
|
|
|
8744
|
+
"""value 획득 방식."""
|
|
8745
|
+
valueType: KpiValueType
|
|
8746
|
+
|
|
8045
8747
|
"""
|
|
8046
8748
|
Visualization options and metadata for this KPI, such as color, icon, thresholds, unit, decimal places, etc.
|
|
8047
8749
|
"""
|
|
@@ -8066,8 +8768,8 @@ input NewKpiMetric {
|
|
|
8066
8768
|
"""데이터 수집 방식"""
|
|
8067
8769
|
collectType: KpiMetricCollectType
|
|
8068
8770
|
|
|
8069
|
-
"""
|
|
8070
|
-
|
|
8771
|
+
"""Source dataset for this metric."""
|
|
8772
|
+
dataSet: ObjectRef
|
|
8071
8773
|
|
|
8072
8774
|
"""User-friendly name or description of the metric."""
|
|
8073
8775
|
description: String
|
|
@@ -8081,6 +8783,9 @@ input NewKpiMetric {
|
|
|
8081
8783
|
"""Aggregation period type for this metric."""
|
|
8082
8784
|
periodType: KpiPeriodType
|
|
8083
8785
|
|
|
8786
|
+
"""목록 표시 순서(오름차순). 미지정(null)은 뒤로 정렬."""
|
|
8787
|
+
rank: Int
|
|
8788
|
+
|
|
8084
8789
|
"""
|
|
8085
8790
|
Cron schedule string for periodic KPI value aggregation (e.g., "0 0 * * *" for daily).
|
|
8086
8791
|
"""
|
|
@@ -9216,6 +9921,26 @@ type PasswordRule {
|
|
|
9216
9921
|
useTightPattern: Boolean
|
|
9217
9922
|
}
|
|
9218
9923
|
|
|
9924
|
+
"""One board edit operation history (cascade-deleted with ChatSession)."""
|
|
9925
|
+
type PatchEntry {
|
|
9926
|
+
"""AI confidence 0..1 (null for user-direct)."""
|
|
9927
|
+
confidence: Float
|
|
9928
|
+
createdAt: DateTimeISO
|
|
9929
|
+
id: ID
|
|
9930
|
+
|
|
9931
|
+
"""BoardEditOp[] (parsed JSON array)."""
|
|
9932
|
+
opsJson: JSON!
|
|
9933
|
+
|
|
9934
|
+
"""Whether this patch was reverted."""
|
|
9935
|
+
reverted: Boolean!
|
|
9936
|
+
|
|
9937
|
+
"""'ai' | 'user-direct' | 'import'"""
|
|
9938
|
+
source: String!
|
|
9939
|
+
|
|
9940
|
+
"""Short human summary of this patch."""
|
|
9941
|
+
summary: String
|
|
9942
|
+
}
|
|
9943
|
+
|
|
9219
9944
|
"""Logs the request and response payloads for API interactions."""
|
|
9220
9945
|
type PayloadLog {
|
|
9221
9946
|
"""The timestamp when the log entry was created."""
|
|
@@ -9480,7 +10205,9 @@ input ProfileInput {
|
|
|
9480
10205
|
"""프로젝트"""
|
|
9481
10206
|
type Project {
|
|
9482
10207
|
buildingComplex: BuildingComplex
|
|
9483
|
-
|
|
10208
|
+
buildingUsage: String
|
|
10209
|
+
code: String
|
|
10210
|
+
completeReport: Attachment
|
|
9484
10211
|
createdAt: DateTimeISO
|
|
9485
10212
|
creator: User
|
|
9486
10213
|
deletedAt: DateTimeISO
|
|
@@ -9492,6 +10219,7 @@ type Project {
|
|
|
9492
10219
|
inputType: String
|
|
9493
10220
|
inspPassRate: Float
|
|
9494
10221
|
kpi: Float
|
|
10222
|
+
kpiValues: [KpiValuesObject!]!
|
|
9495
10223
|
mainPhoto: Attachment
|
|
9496
10224
|
name: String!
|
|
9497
10225
|
postalCode: String
|
|
@@ -9500,16 +10228,68 @@ type Project {
|
|
|
9500
10228
|
robotProgressRate: Float
|
|
9501
10229
|
rootTasks: [Task!]
|
|
9502
10230
|
scheduleTable: Attachment
|
|
10231
|
+
sectorType: String
|
|
10232
|
+
siteSpecPdfUrl: String
|
|
9503
10233
|
startDate: String
|
|
9504
10234
|
state: String!
|
|
9505
10235
|
structuralSafetyRate: Float
|
|
9506
10236
|
tasks: [Task!]
|
|
10237
|
+
|
|
10238
|
+
"""활성 테넌트 Domain (extType=project). 미승격 또는 강등 상태이면 null"""
|
|
10239
|
+
tenantDomain: Domain
|
|
9507
10240
|
totalProgress: Float
|
|
9508
10241
|
updatedAt: DateTimeISO
|
|
9509
10242
|
updater: User
|
|
9510
10243
|
weeklyProgress: Float
|
|
9511
10244
|
}
|
|
9512
10245
|
|
|
10246
|
+
type ProjectChecklist {
|
|
10247
|
+
constructionDetailTypeId: String!
|
|
10248
|
+
constructionTypeId: String!
|
|
10249
|
+
createdAt: DateTimeISO
|
|
10250
|
+
creator: User
|
|
10251
|
+
deletedAt: DateTimeISO
|
|
10252
|
+
domain: Domain
|
|
10253
|
+
id: ID!
|
|
10254
|
+
name: String!
|
|
10255
|
+
projectChecklistItems: [ProjectChecklistItem!]
|
|
10256
|
+
projectId: String!
|
|
10257
|
+
updatedAt: DateTimeISO
|
|
10258
|
+
updater: User
|
|
10259
|
+
}
|
|
10260
|
+
|
|
10261
|
+
type ProjectChecklistItem {
|
|
10262
|
+
createdAt: DateTimeISO
|
|
10263
|
+
creator: User
|
|
10264
|
+
id: ID!
|
|
10265
|
+
inspctionCriteria: String
|
|
10266
|
+
kcsCriteria: String
|
|
10267
|
+
mainType: String
|
|
10268
|
+
name: String!
|
|
10269
|
+
projectChecklist: ProjectChecklist
|
|
10270
|
+
sequence: Int
|
|
10271
|
+
siteSpecCriteria: String
|
|
10272
|
+
updatedAt: DateTimeISO
|
|
10273
|
+
updater: User
|
|
10274
|
+
}
|
|
10275
|
+
|
|
10276
|
+
input ProjectChecklistItemInput {
|
|
10277
|
+
inspctionCriteria: String
|
|
10278
|
+
mainType: String
|
|
10279
|
+
name: String!
|
|
10280
|
+
sequence: Int
|
|
10281
|
+
}
|
|
10282
|
+
|
|
10283
|
+
type ProjectChecklistItemList {
|
|
10284
|
+
items: [ProjectChecklistItem!]!
|
|
10285
|
+
total: Int!
|
|
10286
|
+
}
|
|
10287
|
+
|
|
10288
|
+
type ProjectChecklistList {
|
|
10289
|
+
items: [ProjectChecklist!]!
|
|
10290
|
+
total: Int!
|
|
10291
|
+
}
|
|
10292
|
+
|
|
9513
10293
|
type ProjectList {
|
|
9514
10294
|
"""프로젝트 리스트 항목들"""
|
|
9515
10295
|
items: [Project!]!
|
|
@@ -9531,12 +10311,18 @@ input ProjectPatch {
|
|
|
9531
10311
|
"""연관된 건물 복합체 정보 (선택 사항)"""
|
|
9532
10312
|
buildingComplex: BuildingComplexPatch
|
|
9533
10313
|
|
|
10314
|
+
"""건물 용도 (RESIDENTIAL: 주거, NON_RESIDENTIAL: 비주거)"""
|
|
10315
|
+
buildingUsage: String
|
|
10316
|
+
|
|
9534
10317
|
"""프로젝트 문서 네이밍"""
|
|
9535
10318
|
documentNaming: String
|
|
9536
10319
|
|
|
9537
10320
|
"""프로젝트 준공일정"""
|
|
9538
10321
|
endDate: String
|
|
9539
10322
|
|
|
10323
|
+
"""지역 구분 코드 (시군구 식별, 통계 그룹핑용)"""
|
|
10324
|
+
geoGroup: String
|
|
10325
|
+
|
|
9540
10326
|
"""수정할 프로젝트의 ID"""
|
|
9541
10327
|
id: String!
|
|
9542
10328
|
|
|
@@ -9550,7 +10336,10 @@ input ProjectPatch {
|
|
|
9550
10336
|
mainPhotoUpload: Upload
|
|
9551
10337
|
|
|
9552
10338
|
"""프로젝트 이름"""
|
|
9553
|
-
name: String
|
|
10339
|
+
name: String
|
|
10340
|
+
|
|
10341
|
+
"""우편 코드 (5자리)"""
|
|
10342
|
+
postalCode: String
|
|
9554
10343
|
|
|
9555
10344
|
"""로봇 작업 대수"""
|
|
9556
10345
|
robotCount: Int
|
|
@@ -9558,9 +10347,18 @@ input ProjectPatch {
|
|
|
9558
10347
|
"""로봇 작업 진행율 (%)"""
|
|
9559
10348
|
robotProgressRate: Float
|
|
9560
10349
|
|
|
10350
|
+
"""발주 유형 (PUBLIC: 공공, PRIVATE: 민간)"""
|
|
10351
|
+
sectorType: String
|
|
10352
|
+
|
|
10353
|
+
"""현장 시방서 PDF URL (https 전체 URL)"""
|
|
10354
|
+
siteSpecPdfUrl: String
|
|
10355
|
+
|
|
9561
10356
|
"""프로젝트 착공일정"""
|
|
9562
10357
|
startDate: String
|
|
9563
10358
|
|
|
10359
|
+
"""프로젝트 상태 (ONGOING/COMPLETED)"""
|
|
10360
|
+
state: ProjectState
|
|
10361
|
+
|
|
9564
10362
|
"""구조 안전도 (%)"""
|
|
9565
10363
|
structuralSafetyRate: Float
|
|
9566
10364
|
|
|
@@ -9612,6 +10410,12 @@ enum ProjectReportStatus {
|
|
|
9612
10410
|
STATUS_B
|
|
9613
10411
|
}
|
|
9614
10412
|
|
|
10413
|
+
"""프로젝트 상태 (ONGOING=10 진행중, COMPLETED=20 완료)"""
|
|
10414
|
+
enum ProjectState {
|
|
10415
|
+
COMPLETED
|
|
10416
|
+
ONGOING
|
|
10417
|
+
}
|
|
10418
|
+
|
|
9615
10419
|
"""
|
|
9616
10420
|
Describes a single property for a component or a step, used for UI rendering and configuration.
|
|
9617
10421
|
"""
|
|
@@ -9645,8 +10449,6 @@ type PropertySpec {
|
|
|
9645
10449
|
}
|
|
9646
10450
|
|
|
9647
10451
|
type Query {
|
|
9648
|
-
APIDocCompletion(input: APIDocCompletionInput!): APIDocCompletionOutput!
|
|
9649
|
-
|
|
9650
10452
|
"""To fetch a ActionPlan"""
|
|
9651
10453
|
actionPlan(id: String!): ActionPlan
|
|
9652
10454
|
|
|
@@ -9995,8 +10797,14 @@ type Query {
|
|
|
9995
10797
|
sortings: [Sorting!]
|
|
9996
10798
|
): AuthProviderList!
|
|
9997
10799
|
|
|
9998
|
-
"""
|
|
9999
|
-
board
|
|
10800
|
+
"""
|
|
10801
|
+
Finds a single board by its ID. If cachedUpdatedAt matches, model is omitted.
|
|
10802
|
+
"""
|
|
10803
|
+
board(
|
|
10804
|
+
"""Client cache timestamp — if matches, model field is omitted"""
|
|
10805
|
+
cachedUpdatedAt: String
|
|
10806
|
+
id: String!
|
|
10807
|
+
): Board!
|
|
10000
10808
|
|
|
10001
10809
|
"""Finds a single board by its name."""
|
|
10002
10810
|
boardByName(name: String!): Board
|
|
@@ -10073,6 +10881,11 @@ type Query {
|
|
|
10073
10881
|
sortings: [Sorting!]
|
|
10074
10882
|
): BoardList!
|
|
10075
10883
|
|
|
10884
|
+
"""
|
|
10885
|
+
Retrieves boards that have been updated or soft-deleted since the given timestamp.
|
|
10886
|
+
"""
|
|
10887
|
+
boardsUpdatedSince(since: DateTimeISO!): [Board!]!
|
|
10888
|
+
|
|
10076
10889
|
"""To fetch a building"""
|
|
10077
10890
|
building(id: String!): Building
|
|
10078
10891
|
|
|
@@ -10083,9 +10896,15 @@ type Query {
|
|
|
10083
10896
|
buildingInspection(id: String!): BuildingInspection
|
|
10084
10897
|
buildingInspectionDailyWorklogByProjectIdAndDate(date: String!, projectId: String!): BuildingInspectionDailyWorklog
|
|
10085
10898
|
|
|
10899
|
+
"""To fetch BuildingInspection Date Summary of Building"""
|
|
10900
|
+
buildingInspectionDateSummaryOfBuilding(buildingId: String!, endDate: String!, startDate: String!): [BuildingInspectionSummary!]
|
|
10901
|
+
|
|
10086
10902
|
"""To fetch a BuildingInspection Summary"""
|
|
10087
10903
|
buildingInspectionDateSummaryOfLevelAndPeriod(buildingLevelId: String!, endDate: String!, startDate: String!): [BuildingInspectionSummary!]
|
|
10088
10904
|
|
|
10905
|
+
"""To fetch BuildingInspection Date Summary of Project"""
|
|
10906
|
+
buildingInspectionDateSummaryOfProject(endDate: String!, projectId: String!, startDate: String!): [BuildingInspectionSummary!]
|
|
10907
|
+
|
|
10089
10908
|
"""To fetch multiple BuildingInspections"""
|
|
10090
10909
|
buildingInspectionHistories(
|
|
10091
10910
|
"""An array of filter conditions to apply to the list query."""
|
|
@@ -10104,6 +10923,9 @@ type Query {
|
|
|
10104
10923
|
"""To fetch a BuildingInspectionHistory"""
|
|
10105
10924
|
buildingInspectionHistory(id: String!): BuildingInspectionHistory
|
|
10106
10925
|
|
|
10926
|
+
"""To fetch BuildingInspection Summary of Building"""
|
|
10927
|
+
buildingInspectionSummaryOfBuilding(buildingId: String!): BuildingInspectionSummary
|
|
10928
|
+
|
|
10107
10929
|
"""To fetch a BuildingInspection Summary"""
|
|
10108
10930
|
buildingInspectionSummaryOfBuildingLevel(buildingLevelId: String!): BuildingInspectionSummary
|
|
10109
10931
|
|
|
@@ -10125,6 +10947,9 @@ type Query {
|
|
|
10125
10947
|
sortings: [Sorting!]
|
|
10126
10948
|
): BuildingInspectionList!
|
|
10127
10949
|
|
|
10950
|
+
"""To fetch BuildingInspections of Building"""
|
|
10951
|
+
buildingInspectionsOfBuilding(params: BuildingInspectionsOfBuilding!): BuildingInspectionList!
|
|
10952
|
+
|
|
10128
10953
|
"""To fetch multiple BuildingInspections"""
|
|
10129
10954
|
buildingInspectionsOfBuildingLevel(params: BuildingInspectionsOfBuildingLevel!): BuildingInspectionList!
|
|
10130
10955
|
|
|
@@ -10133,7 +10958,28 @@ type Query {
|
|
|
10133
10958
|
|
|
10134
10959
|
"""To fetch a building level"""
|
|
10135
10960
|
buildingLevel(id: String!): BuildingLevel
|
|
10136
|
-
|
|
10961
|
+
|
|
10962
|
+
"""List chat messages of a session, oldest first."""
|
|
10963
|
+
chatMessages(limit: Int = 100, offset: Int = 0, sessionId: String!): [ChatMessage!]!
|
|
10964
|
+
|
|
10965
|
+
"""List patch entries of a session, newest first."""
|
|
10966
|
+
chatPatches(limit: Int = 100, sessionId: String!): [PatchEntry!]!
|
|
10967
|
+
|
|
10968
|
+
"""Get AI chat session by id."""
|
|
10969
|
+
chatSession(id: String!): ChatSession
|
|
10970
|
+
|
|
10971
|
+
"""
|
|
10972
|
+
Get AI chat session by board id (returns first match — backward compat single-session lookup).
|
|
10973
|
+
"""
|
|
10974
|
+
chatSessionByBoard(boardId: String!): ChatSession
|
|
10975
|
+
|
|
10976
|
+
"""List participants of a ChatSession (members / owner)."""
|
|
10977
|
+
chatSessionParticipants(sessionId: String!): [ChatSessionParticipant!]!
|
|
10978
|
+
|
|
10979
|
+
"""
|
|
10980
|
+
List all AI chat sessions for a board (oldest first). Multi-session support — UI 탭으로 표시.
|
|
10981
|
+
"""
|
|
10982
|
+
chatSessionsByBoard(boardId: String!): [ChatSession!]!
|
|
10137
10983
|
|
|
10138
10984
|
"""
|
|
10139
10985
|
Checks if the system is configured to provide a default password for new users.
|
|
@@ -10362,6 +11208,36 @@ type Query {
|
|
|
10362
11208
|
"""Fetches a list of all available connector types."""
|
|
10363
11209
|
connectors: ConnectorList!
|
|
10364
11210
|
|
|
11211
|
+
"""공종 체크리스트 템플릿 아이템 목록"""
|
|
11212
|
+
constructionChecklistTemplateItems(
|
|
11213
|
+
"""An array of filter conditions to apply to the list query."""
|
|
11214
|
+
filters: [Filter!]
|
|
11215
|
+
|
|
11216
|
+
"""Inherited value type for the list query."""
|
|
11217
|
+
inherited: InheritedValueType
|
|
11218
|
+
|
|
11219
|
+
"""Pagination options for the list query."""
|
|
11220
|
+
pagination: Pagination
|
|
11221
|
+
|
|
11222
|
+
"""Sorting options for the list query."""
|
|
11223
|
+
sortings: [Sorting!]
|
|
11224
|
+
): ConstructionChecklistTemplateItemList!
|
|
11225
|
+
|
|
11226
|
+
"""공종 기반 체크리스트 템플릿 목록"""
|
|
11227
|
+
constructionChecklistTemplates(
|
|
11228
|
+
"""An array of filter conditions to apply to the list query."""
|
|
11229
|
+
filters: [Filter!]
|
|
11230
|
+
|
|
11231
|
+
"""Inherited value type for the list query."""
|
|
11232
|
+
inherited: InheritedValueType
|
|
11233
|
+
|
|
11234
|
+
"""Pagination options for the list query."""
|
|
11235
|
+
pagination: Pagination
|
|
11236
|
+
|
|
11237
|
+
"""Sorting options for the list query."""
|
|
11238
|
+
sortings: [Sorting!]
|
|
11239
|
+
): ConstructionChecklistTemplateList!
|
|
11240
|
+
|
|
10365
11241
|
"""To fetch multiple ConstructionDetailTypes"""
|
|
10366
11242
|
constructionDetailTypes(
|
|
10367
11243
|
"""An array of filter conditions to apply to the list query."""
|
|
@@ -10412,6 +11288,12 @@ type Query {
|
|
|
10412
11288
|
"""Sorting options for the list query."""
|
|
10413
11289
|
sortings: [Sorting!]
|
|
10414
11290
|
): ContactList!
|
|
11291
|
+
|
|
11292
|
+
"""현재 테넌트 컨텍스트(extType=project)의 프로젝트. subdomain(=Project.code) 으로 조회."""
|
|
11293
|
+
currentProject: Project
|
|
11294
|
+
|
|
11295
|
+
"""프로젝트 타입 조회"""
|
|
11296
|
+
currentProjectType: String!
|
|
10415
11297
|
customers: [Domain!]!
|
|
10416
11298
|
dailyWorklogDatesOfProject(endDate: String!, projectId: String!, startDate: String!): [BuildingInspectionDailyWorklog!]!
|
|
10417
11299
|
|
|
@@ -10770,8 +11652,6 @@ type Query {
|
|
|
10770
11652
|
"""Sorting options for the list query."""
|
|
10771
11653
|
sortings: [Sorting!]
|
|
10772
11654
|
): [DynamicDataSummary!]!
|
|
10773
|
-
decipherCode(input: CodeDecipherInput!): CodeDecipherOutput!
|
|
10774
|
-
decipherErrorCode(input: CodeDecipherInput!): CodeDecipherOutput!
|
|
10775
11655
|
|
|
10776
11656
|
"""To fetch a Department"""
|
|
10777
11657
|
department(id: String!): Department
|
|
@@ -10829,11 +11709,24 @@ type Query {
|
|
|
10829
11709
|
sortings: [Sorting!]
|
|
10830
11710
|
): DomainLinkList!
|
|
10831
11711
|
|
|
11712
|
+
"""List owners of the current domain."""
|
|
11713
|
+
domainOwners: [DomainOwner!]!
|
|
11714
|
+
|
|
10832
11715
|
"""
|
|
10833
11716
|
Fetches the list of available domain types from configuration. Only superusers are granted this privilege.
|
|
10834
11717
|
"""
|
|
10835
11718
|
domainTypes: [String!]!
|
|
10836
11719
|
|
|
11720
|
+
"""
|
|
11721
|
+
List users in the current domain for `@` mention popup. board-ai 권한이면 누구나 멘션용 검색 가능 (관리자 전용 users() 와 별도).
|
|
11722
|
+
"""
|
|
11723
|
+
domainUsersForMention(
|
|
11724
|
+
limit: Int = 50
|
|
11725
|
+
|
|
11726
|
+
"""Substring to match against name/email (case-insensitive). Empty → all."""
|
|
11727
|
+
query: String
|
|
11728
|
+
): [User!]!
|
|
11729
|
+
|
|
10837
11730
|
"""
|
|
10838
11731
|
Fetches all domain entities with pagination and filtering options. Only superusers are granted this privilege.
|
|
10839
11732
|
"""
|
|
@@ -10960,6 +11853,11 @@ type Query {
|
|
|
10960
11853
|
"""To fetch a EntityMetadata"""
|
|
10961
11854
|
entityMetadata(name: String!): EntityMetadata!
|
|
10962
11855
|
envVar(id: String!): EnvVar
|
|
11856
|
+
|
|
11857
|
+
"""
|
|
11858
|
+
Resolves a batch of EnvVar keys with ancestor closest-wins inheritance.
|
|
11859
|
+
"""
|
|
11860
|
+
envVarResolutions(keys: [String!]!): [EnvVarResolution!]!
|
|
10963
11861
|
envVars(
|
|
10964
11862
|
"""An array of filter conditions to apply to the list query."""
|
|
10965
11863
|
filters: [Filter!]
|
|
@@ -11010,6 +11908,15 @@ type Query {
|
|
|
11010
11908
|
"""Fetches the current state of a single connection by its name."""
|
|
11011
11909
|
fetchConnectionState(name: String!): ConnectionState!
|
|
11012
11910
|
|
|
11911
|
+
"""단건 문서 상세 조회"""
|
|
11912
|
+
fieldDocument(id: String!): FieldDocument
|
|
11913
|
+
|
|
11914
|
+
"""프로젝트별 분류 코드당 문서 수"""
|
|
11915
|
+
fieldDocumentCountsByProject(projectId: String!): [FieldDocumentCodeCount!]!
|
|
11916
|
+
|
|
11917
|
+
"""소분류 코드별 문서 목록 조회"""
|
|
11918
|
+
fieldDocumentsByCode(code: String!, projectId: String!): FieldDocumentList!
|
|
11919
|
+
|
|
11013
11920
|
"""To fetch a Font"""
|
|
11014
11921
|
font(id: String!): Font!
|
|
11015
11922
|
|
|
@@ -11053,8 +11960,12 @@ type Query {
|
|
|
11053
11960
|
|
|
11054
11961
|
"""To query whether I have the given permission"""
|
|
11055
11962
|
hasPrivilege(category: String!, privilege: String!): Boolean!
|
|
11056
|
-
|
|
11057
|
-
|
|
11963
|
+
|
|
11964
|
+
"""Get import session progress."""
|
|
11965
|
+
importSession(id: String!): ImportSession
|
|
11966
|
+
|
|
11967
|
+
"""List recent import sessions for a chat session."""
|
|
11968
|
+
importSessionsByChatSession(chatSessionId: String!): [ImportSession!]!
|
|
11058
11969
|
|
|
11059
11970
|
"""BuildingInspection By ChecklistItemId"""
|
|
11060
11971
|
inspectionByChecklistItemId: BuildingInspection!
|
|
@@ -11118,6 +12029,9 @@ type Query {
|
|
|
11118
12029
|
invitation(email: EmailAddress!, reference: String!, type: String!): Invitation!
|
|
11119
12030
|
invitations(reference: String!, type: String!): InvitationList!
|
|
11120
12031
|
|
|
12032
|
+
"""Check if a user is an owner of the current domain."""
|
|
12033
|
+
isDomainOwner(username: String!): Boolean!
|
|
12034
|
+
|
|
11121
12035
|
"""To fetch a Issue"""
|
|
11122
12036
|
issue(id: String!): Issue
|
|
11123
12037
|
|
|
@@ -11323,6 +12237,23 @@ type Query {
|
|
|
11323
12237
|
rootId: String
|
|
11324
12238
|
): [Kpi!]!
|
|
11325
12239
|
|
|
12240
|
+
"""
|
|
12241
|
+
Fetch latest-version KpiValues only — one row per (domain, kpi, valueDate, kpiOrgScope).
|
|
12242
|
+
"""
|
|
12243
|
+
latestKpiValues(
|
|
12244
|
+
"""An array of filter conditions to apply to the list query."""
|
|
12245
|
+
filters: [Filter!]
|
|
12246
|
+
|
|
12247
|
+
"""Inherited value type for the list query."""
|
|
12248
|
+
inherited: InheritedValueType
|
|
12249
|
+
|
|
12250
|
+
"""Pagination options for the list query."""
|
|
12251
|
+
pagination: Pagination
|
|
12252
|
+
|
|
12253
|
+
"""Sorting options for the list query."""
|
|
12254
|
+
sortings: [Sorting!]
|
|
12255
|
+
): KpiValueList!
|
|
12256
|
+
|
|
11326
12257
|
"""To fetch a LiteMenu"""
|
|
11327
12258
|
liteMenu(id: String!): LiteMenu!
|
|
11328
12259
|
|
|
@@ -11771,6 +12702,36 @@ type Query {
|
|
|
11771
12702
|
"""To fetch Project"""
|
|
11772
12703
|
projectByBuildingLevelId(buildingLevelId: String!): Project!
|
|
11773
12704
|
|
|
12705
|
+
"""프로젝트 체크리스트 아이템 목록"""
|
|
12706
|
+
projectChecklistItems(
|
|
12707
|
+
"""An array of filter conditions to apply to the list query."""
|
|
12708
|
+
filters: [Filter!]
|
|
12709
|
+
|
|
12710
|
+
"""Inherited value type for the list query."""
|
|
12711
|
+
inherited: InheritedValueType
|
|
12712
|
+
|
|
12713
|
+
"""Pagination options for the list query."""
|
|
12714
|
+
pagination: Pagination
|
|
12715
|
+
|
|
12716
|
+
"""Sorting options for the list query."""
|
|
12717
|
+
sortings: [Sorting!]
|
|
12718
|
+
): ProjectChecklistItemList!
|
|
12719
|
+
|
|
12720
|
+
"""프로젝트 체크리스트 목록"""
|
|
12721
|
+
projectChecklists(
|
|
12722
|
+
"""An array of filter conditions to apply to the list query."""
|
|
12723
|
+
filters: [Filter!]
|
|
12724
|
+
|
|
12725
|
+
"""Inherited value type for the list query."""
|
|
12726
|
+
inherited: InheritedValueType
|
|
12727
|
+
|
|
12728
|
+
"""Pagination options for the list query."""
|
|
12729
|
+
pagination: Pagination
|
|
12730
|
+
|
|
12731
|
+
"""Sorting options for the list query."""
|
|
12732
|
+
sortings: [Sorting!]
|
|
12733
|
+
): ProjectChecklistList!
|
|
12734
|
+
|
|
11774
12735
|
"""To fetch a ProjectReport"""
|
|
11775
12736
|
projectReport(id: String!): ProjectReport
|
|
11776
12737
|
|
|
@@ -11978,6 +12939,14 @@ type Query {
|
|
|
11978
12939
|
sortings: [Sorting!]
|
|
11979
12940
|
): StepList!
|
|
11980
12941
|
|
|
12942
|
+
"""
|
|
12943
|
+
도메인 안에서 충돌하지 않는 Board name + 상세 description 제안. name 은 짧고 심플 (30자 이내, 충돌 회피 (n) suffix), description 은 자세히 (사용자 prompt + AI importStrategy + 카테고리 분포 통계 합성).
|
|
12944
|
+
"""
|
|
12945
|
+
suggestBoardMeta(input: SuggestBoardNameInput!): BoardMetaSuggestion!
|
|
12946
|
+
|
|
12947
|
+
"""@deprecated suggestBoardMeta 사용 권장. 단순 string name 만 반환하는 구버전 query."""
|
|
12948
|
+
suggestBoardName(input: SuggestBoardNameInput!): String!
|
|
12949
|
+
|
|
11981
12950
|
"""To fetch the list of activities that I can report on"""
|
|
11982
12951
|
supervisableActivities(
|
|
11983
12952
|
"""An array of filter conditions to apply to the list query."""
|
|
@@ -12892,6 +13861,16 @@ type Subscription {
|
|
|
12892
13861
|
"""Subscribes to real-time updates for a specific board."""
|
|
12893
13862
|
board(id: String!): Board!
|
|
12894
13863
|
|
|
13864
|
+
"""
|
|
13865
|
+
Subscribes to board edit patches (AI or user-direct) for real-time collaboration on a board.
|
|
13866
|
+
"""
|
|
13867
|
+
boardPatchActivity(boardId: String!): PatchEntry!
|
|
13868
|
+
|
|
13869
|
+
"""
|
|
13870
|
+
Subscribes to chat messages (user / assistant / system) of a session for real-time group chat.
|
|
13871
|
+
"""
|
|
13872
|
+
chatMessageActivity(sessionId: String!): ChatMessage!
|
|
13873
|
+
|
|
12895
13874
|
"""Subscribes to log messages from connections."""
|
|
12896
13875
|
connectionLog(level: String): Log!
|
|
12897
13876
|
|
|
@@ -12918,6 +13897,16 @@ type Subscription {
|
|
|
12918
13897
|
scenarioQueueState: ScenarioQueueState!
|
|
12919
13898
|
}
|
|
12920
13899
|
|
|
13900
|
+
input SuggestBoardNameInput {
|
|
13901
|
+
"""명시 hint. session 정보보다 우선. 사용자가 직접 적은 메모를 기반으로 추천받고 싶을 때."""
|
|
13902
|
+
hint: String
|
|
13903
|
+
|
|
13904
|
+
"""
|
|
13905
|
+
ImportSession id — 있으면 거기서 userPrompt / VLM reasoning / attachment.name 추출.
|
|
13906
|
+
"""
|
|
13907
|
+
sessionId: ID
|
|
13908
|
+
}
|
|
13909
|
+
|
|
12921
13910
|
"""Entity for Supervisor"""
|
|
12922
13911
|
type Supervisor {
|
|
12923
13912
|
active: Boolean
|
|
@@ -13219,6 +14208,21 @@ input ThemePatch {
|
|
|
13219
14208
|
value: Object
|
|
13220
14209
|
}
|
|
13221
14210
|
|
|
14211
|
+
"""썸네일 백필 결과"""
|
|
14212
|
+
type ThumbnailBackfillResult {
|
|
14213
|
+
"""이번 호출에서 처리 시도한 첨부 개수"""
|
|
14214
|
+
attempted: Int!
|
|
14215
|
+
|
|
14216
|
+
"""실패(생성 실패/콘텐츠 없음 등) 개수"""
|
|
14217
|
+
failed: Int!
|
|
14218
|
+
|
|
14219
|
+
"""이번 처리 후에도 남아있는 썸네일 미생성 후보 개수 (대략치). 0 이면 완료"""
|
|
14220
|
+
remaining: Int!
|
|
14221
|
+
|
|
14222
|
+
"""썸네일 생성·저장 성공 개수"""
|
|
14223
|
+
succeeded: Int!
|
|
14224
|
+
}
|
|
14225
|
+
|
|
13222
14226
|
input UpdateBuildingInspection {
|
|
13223
14227
|
drawingMarker: String
|
|
13224
14228
|
id: String!
|
|
@@ -13230,6 +14234,7 @@ input UpdateBuildingInspectionSubmitType {
|
|
|
13230
14234
|
checklistItem: [ChecklistItemSubmitInputType!]!
|
|
13231
14235
|
id: String!
|
|
13232
14236
|
memo: String
|
|
14237
|
+
requestDate: String
|
|
13233
14238
|
}
|
|
13234
14239
|
|
|
13235
14240
|
input UpdateTaskChecklistSubmitType {
|
|
@@ -13486,12 +14491,4 @@ input WorkerTypePatch {
|
|
|
13486
14491
|
description: String
|
|
13487
14492
|
id: ID
|
|
13488
14493
|
name: String
|
|
13489
|
-
}
|
|
13490
|
-
|
|
13491
|
-
input i18nCompletionInput {
|
|
13492
|
-
json: String!
|
|
13493
|
-
}
|
|
13494
|
-
|
|
13495
|
-
type i18nCompletionOutput {
|
|
13496
|
-
message: String
|
|
13497
14494
|
}
|