@dssp/dcsp 1.0.2 → 1.0.6

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.
Files changed (161) hide show
  1. package/dist-client/bootstrap.js +13 -10
  2. package/dist-client/bootstrap.js.map +1 -1
  3. package/dist-client/components/kpi-2d-lookup-chart.d.ts +50 -0
  4. package/dist-client/components/kpi-2d-lookup-chart.js +263 -0
  5. package/dist-client/components/kpi-2d-lookup-chart.js.map +1 -0
  6. package/dist-client/components/kpi-boxplot-chart.d.ts +31 -0
  7. package/dist-client/components/kpi-boxplot-chart.js +306 -0
  8. package/dist-client/components/kpi-boxplot-chart.js.map +1 -0
  9. package/dist-client/components/kpi-lookup-chart.d.ts +58 -0
  10. package/dist-client/components/kpi-lookup-chart.js +464 -0
  11. package/dist-client/components/kpi-lookup-chart.js.map +1 -0
  12. package/dist-client/components/kpi-mini-trend-chart.d.ts +14 -0
  13. package/dist-client/components/kpi-mini-trend-chart.js +180 -0
  14. package/dist-client/components/kpi-mini-trend-chart.js.map +1 -0
  15. package/dist-client/components/kpi-radar-chart.d.ts +17 -0
  16. package/dist-client/components/kpi-radar-chart.js +259 -0
  17. package/dist-client/components/kpi-radar-chart.js.map +1 -0
  18. package/dist-client/components/kpi-single-boxplot-chart.d.ts +36 -0
  19. package/dist-client/components/kpi-single-boxplot-chart.js +417 -0
  20. package/dist-client/components/kpi-single-boxplot-chart.js.map +1 -0
  21. package/dist-client/components/kpi-step-lookup-chart.d.ts +33 -0
  22. package/dist-client/components/kpi-step-lookup-chart.js +181 -0
  23. package/dist-client/components/kpi-step-lookup-chart.js.map +1 -0
  24. package/dist-client/components/kpi-trend-chart.d.ts +25 -0
  25. package/dist-client/components/kpi-trend-chart.js +241 -0
  26. package/dist-client/components/kpi-trend-chart.js.map +1 -0
  27. package/dist-client/google-map/common-google-map.d.ts +35 -0
  28. package/dist-client/google-map/common-google-map.js +349 -0
  29. package/dist-client/google-map/common-google-map.js.map +1 -0
  30. package/dist-client/google-map/google-map-loader.d.ts +6 -0
  31. package/dist-client/google-map/google-map-loader.js +23 -0
  32. package/dist-client/google-map/google-map-loader.js.map +1 -0
  33. package/dist-client/pages/kpi-admin/dssp-kpi-overview.d.ts +47 -0
  34. package/dist-client/pages/kpi-admin/dssp-kpi-overview.js +393 -0
  35. package/dist-client/pages/kpi-admin/dssp-kpi-overview.js.map +1 -0
  36. package/dist-client/pages/kpi-admin/kpi-system-guide.d.ts +18 -0
  37. package/dist-client/pages/kpi-admin/kpi-system-guide.js +696 -0
  38. package/dist-client/pages/kpi-admin/kpi-system-guide.js.map +1 -0
  39. package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.d.ts +46 -0
  40. package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.js +945 -0
  41. package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.js.map +1 -0
  42. package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.d.ts +34 -0
  43. package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.js +238 -0
  44. package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.js.map +1 -0
  45. package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.d.ts +37 -0
  46. package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.js +689 -0
  47. package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.js.map +1 -0
  48. package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.d.ts +57 -0
  49. package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.js +866 -0
  50. package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.js.map +1 -0
  51. package/dist-client/pages/project-complete-tabs/pc-tab1-plan.d.ts +69 -0
  52. package/dist-client/pages/project-complete-tabs/pc-tab1-plan.js +790 -0
  53. package/dist-client/pages/project-complete-tabs/pc-tab1-plan.js.map +1 -0
  54. package/dist-client/pages/project-complete-tabs/pc-tab2-rating.d.ts +22 -0
  55. package/dist-client/pages/project-complete-tabs/pc-tab2-rating.js +344 -0
  56. package/dist-client/pages/project-complete-tabs/pc-tab2-rating.js.map +1 -0
  57. package/dist-client/pages/project-complete-tabs/pc-tab3-upload.d.ts +21 -0
  58. package/dist-client/pages/project-complete-tabs/pc-tab3-upload.js +335 -0
  59. package/dist-client/pages/project-complete-tabs/pc-tab3-upload.js.map +1 -0
  60. package/dist-client/pages/project-complete-tabs/pc-tab4-monthly.d.ts +51 -0
  61. package/dist-client/pages/project-complete-tabs/pc-tab4-monthly.js +693 -0
  62. package/dist-client/pages/project-complete-tabs/pc-tab4-monthly.js.map +1 -0
  63. package/dist-client/pages/sv-project-complete.d.ts +31 -0
  64. package/dist-client/pages/sv-project-complete.js +364 -0
  65. package/dist-client/pages/sv-project-complete.js.map +1 -0
  66. package/dist-client/pages/sv-project-detail.d.ts +73 -0
  67. package/dist-client/pages/sv-project-detail.js +1387 -0
  68. package/dist-client/pages/sv-project-detail.js.map +1 -0
  69. package/dist-client/route.d.ts +1 -1
  70. package/dist-client/route.js +15 -0
  71. package/dist-client/route.js.map +1 -1
  72. package/dist-client/shared/complete-api.d.ts +45 -0
  73. package/dist-client/shared/complete-api.js +274 -0
  74. package/dist-client/shared/complete-api.js.map +1 -0
  75. package/dist-client/shared/func.d.ts +2 -0
  76. package/dist-client/shared/func.js +22 -0
  77. package/dist-client/shared/func.js.map +1 -0
  78. package/dist-client/shared/integration-fetch.d.ts +35 -0
  79. package/dist-client/shared/integration-fetch.js +53 -0
  80. package/dist-client/shared/integration-fetch.js.map +1 -0
  81. package/dist-client/shared/kpi-project-sync.d.ts +16 -0
  82. package/dist-client/shared/kpi-project-sync.js +129 -0
  83. package/dist-client/shared/kpi-project-sync.js.map +1 -0
  84. package/dist-client/tsconfig.tsbuildinfo +1 -1
  85. package/dist-client/viewparts/menu-tools.d.ts +7 -0
  86. package/dist-client/viewparts/menu-tools.js +168 -21
  87. package/dist-client/viewparts/menu-tools.js.map +1 -1
  88. package/dist-server/index.d.ts +2 -0
  89. package/dist-server/index.js +5 -0
  90. package/dist-server/index.js.map +1 -1
  91. package/dist-server/middlewares/index.d.ts +7 -0
  92. package/dist-server/middlewares/index.js +100 -0
  93. package/dist-server/middlewares/index.js.map +1 -0
  94. package/dist-server/service/index.d.ts +4 -0
  95. package/dist-server/service/index.js +19 -0
  96. package/dist-server/service/index.js.map +1 -0
  97. package/dist-server/service/kpi-metric-value/index.d.ts +4 -0
  98. package/dist-server/service/kpi-metric-value/index.js +8 -0
  99. package/dist-server/service/kpi-metric-value/index.js.map +1 -0
  100. package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.d.ts +198 -0
  101. package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.js +1067 -0
  102. package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.js.map +1 -0
  103. package/dist-server/service/kpi-metric-value/kpi-metric-value-query.d.ts +15 -0
  104. package/dist-server/service/kpi-metric-value/kpi-metric-value-query.js +72 -0
  105. package/dist-server/service/kpi-metric-value/kpi-metric-value-query.js.map +1 -0
  106. package/dist-server/service/kpi-stat/index.d.ts +4 -0
  107. package/dist-server/service/kpi-stat/index.js +8 -0
  108. package/dist-server/service/kpi-stat/index.js.map +1 -0
  109. package/dist-server/service/kpi-stat/kpi-stat-query.d.ts +13 -0
  110. package/dist-server/service/kpi-stat/kpi-stat-query.js +751 -0
  111. package/dist-server/service/kpi-stat/kpi-stat-query.js.map +1 -0
  112. package/dist-server/service/kpi-stat/kpi-stat-types.d.ts +32 -0
  113. package/dist-server/service/kpi-stat/kpi-stat-types.js +126 -0
  114. package/dist-server/service/kpi-stat/kpi-stat-types.js.map +1 -0
  115. package/dist-server/service/kpi-value/index.d.ts +3 -0
  116. package/dist-server/service/kpi-value/index.js +7 -0
  117. package/dist-server/service/kpi-value/index.js.map +1 -0
  118. package/dist-server/service/kpi-value/kpi-value-query.d.ts +8 -0
  119. package/dist-server/service/kpi-value/kpi-value-query.js +90 -0
  120. package/dist-server/service/kpi-value/kpi-value-query.js.map +1 -0
  121. package/dist-server/tsconfig.tsbuildinfo +1 -1
  122. package/package.json +8 -7
  123. package/python/RUNNER_CONVERSION_GUIDE.md +81 -0
  124. package/python/doc_summary_engine_handoff/.env.example +21 -0
  125. package/python/doc_summary_engine_handoff/HANDOFF.md +266 -0
  126. package/python/doc_summary_engine_handoff/README.md +71 -0
  127. package/python/doc_summary_engine_handoff/__main__.py +159 -0
  128. package/python/doc_summary_engine_handoff/api.py +165 -0
  129. package/python/doc_summary_engine_handoff/extract.py +290 -0
  130. package/python/doc_summary_engine_handoff/requirements.txt +15 -0
  131. package/python/doc_summary_engine_handoff/summarize.py +247 -0
  132. package/python/inspection_ai_engine_handoff/.env.example +22 -0
  133. package/python/inspection_ai_engine_handoff/HANDOFF.md +541 -0
  134. package/python/inspection_ai_engine_handoff/README.md +83 -0
  135. package/python/inspection_ai_engine_handoff/__main__.py +169 -0
  136. package/python/inspection_ai_engine_handoff/activities.py +147 -0
  137. package/python/inspection_ai_engine_handoff/api.py +273 -0
  138. package/python/inspection_ai_engine_handoff/checklist.py +53 -0
  139. package/python/inspection_ai_engine_handoff/cv_handlers.py +46 -0
  140. package/python/inspection_ai_engine_handoff/cv_model_registry.py +252 -0
  141. package/python/inspection_ai_engine_handoff/cv_models/README.md +58 -0
  142. package/python/inspection_ai_engine_handoff/cv_models/_example_frame_alignment/handler.py +39 -0
  143. package/python/inspection_ai_engine_handoff/cv_models/_example_frame_alignment/model.json +22 -0
  144. package/python/inspection_ai_engine_handoff/engine.py +333 -0
  145. package/python/inspection_ai_engine_handoff/requirements.txt +12 -0
  146. package/python/inspection_ai_engine_handoff/router.py +200 -0
  147. package/python/inspection_ai_engine_handoff/shot_catalog.py +79 -0
  148. package/python/inspection_ai_engine_handoff/shot_planner.py +278 -0
  149. package/python/inspection_ai_engine_handoff/vlm.py +335 -0
  150. package/python/spec-matching-0.5.5/README.md +113 -0
  151. package/python/spec-matching-0.5.5/__main__.py +331 -0
  152. package/python/spec-matching-0.5.5/kcs.csv +6028 -0
  153. package/python/spec-matching-0.5.5/kcs_embeddings.meta.json +1 -0
  154. package/python/spec-matching-0.5.5/kcs_embeddings.npy +0 -0
  155. package/python/spec-matching-0.5.5/requirements.txt +3 -0
  156. package/python/spec-matching-0.5.5//342/230/2057 SF-TD4 /341/204/221/341/205/263/341/204/205/341/205/251/341/204/200/341/205/263/341/204/205/341/205/242/341/206/267/341/204/211/341/205/245/341/206/257/341/204/200/341/205/250/341/204/211/341/205/245 /341/204/213/341/205/243/341/206/274/341/204/211/341/205/265/341/206/250_V1.0.hwp +0 -0
  157. package/schema.graphql +1274 -22
  158. package/things-factory.config.js +7 -1
  159. package/translations/en.json +2 -0
  160. package/translations/ja.json +2 -0
  161. package/translations/ko.json +2 -0
package/schema.graphql CHANGED
@@ -1182,6 +1182,11 @@ type Board {
1182
1182
  }
1183
1183
 
1184
1184
  input BoardAIChatInput {
1185
+ """
1186
+ Whether core board editing tools (addComponent / styling / scene actions) are available. Defaults to true. Set false for surfaces that must not modify the board — e.g. an operations chat where irreversible commands live, so reversible edits and irreversible actions never share one conversation.
1187
+ """
1188
+ boardTools: Boolean
1189
+
1185
1190
  """
1186
1191
  Component categories to surface (e.g. ["3D", "form"]). Subset filter for groupings exposed in component-schemas.
1187
1192
  """
@@ -1195,6 +1200,11 @@ input BoardAIChatInput {
1195
1200
  """Current BoardModel JSON."""
1196
1201
  currentBoard: JSON
1197
1202
 
1203
+ """
1204
+ Host context describing what this surface is looking at (e.g. { spaceId } for a space deliberation, { boardId } for board authoring). Tools read it as ctx.state.host so the model never has to ask the user for identifiers. Client-supplied — never used for authorization; tools verify the scope belongs to the caller tenant.
1205
+ """
1206
+ hostContext: JSON
1207
+
1198
1208
  """
1199
1209
  Component types the LLM is allowed to emit (e.g. ["rect", "label"]). Constrains generation to the current solution.
1200
1210
  """
@@ -1220,6 +1230,11 @@ input BoardAIChatInput {
1220
1230
  """
1221
1231
  model: String
1222
1232
 
1233
+ """
1234
+ Force a tool call on the first turn (toolChoice: required). Turn this on for surfaces that discuss live state: the grounding guard catches invented identifiers but not an invented situation stated without any, which only happens when the model answers without querying at all. Concept / how-to questions are unaffected — they are answered through a documentation tool.
1235
+ """
1236
+ requireGroundingTools: Boolean
1237
+
1223
1238
  """
1224
1239
  Capability scopes the AI is allowed to use (e.g. 'create', 'edit', 'style'). Filters which tools are exposed to the LLM.
1225
1240
  """
@@ -1239,6 +1254,16 @@ input BoardAIChatInput {
1239
1254
  Sampling temperature override. Falls back to assistant default when omitted.
1240
1255
  """
1241
1256
  temperature: Float
1257
+
1258
+ """
1259
+ Registered external tool categories this conversation may use (registerToolCategory names, e.g. ["twin", "board-import"]). Omit to allow every registered category. Applies to tool definitions AND execution, so a surface cannot call a category it was not granted.
1260
+ """
1261
+ toolCategories: [String!]
1262
+
1263
+ """
1264
+ Id of the last message to keep from the stored history. The client keeps its own truncation when a user edits a message (the server history is intentionally preserved), so pass the last kept message id to hide the retracted span from the agent. Omit to use the whole stored history.
1265
+ """
1266
+ truncateAfterMessageId: String
1242
1267
  }
1243
1268
 
1244
1269
  type BoardAIChatOutput {
@@ -1256,12 +1281,27 @@ type BoardAIChatOutput {
1256
1281
  """Clarifying question when input is ambiguous."""
1257
1282
  followUp: String
1258
1283
 
1284
+ """
1285
+ Ungrounded identifiers mentioned by the reply — present in the answer but absent from everything the model received (prompt, board context, history, tool results). Hallucination candidates surfaced to the user; the reply itself is not altered. Null when the answer is grounded.
1286
+ """
1287
+ groundingWarnings: JSON
1288
+
1289
+ """
1290
+ Reported when the stored history exceeded the prompt cap for this turn: { omitted, summarized }. The surface uses it to tell the user the conversation grew long — a new conversation is better for a different topic. Objective fact only; no topic-change detection.
1291
+ """
1292
+ historyFolded: JSON
1293
+
1259
1294
  """BoardEditPatch."""
1260
1295
  patch: JSON
1261
1296
 
1262
1297
  """Persisted PatchEntry id (when patch was generated)."""
1263
1298
  patchId: String
1264
1299
 
1300
+ """
1301
+ Action proposals the AI recorded without executing — each carries what a tool returned alongside `proposed: true`. The surface renders a confirm button; execution is the user's act, never the assistant's. Null when nothing was proposed.
1302
+ """
1303
+ proposals: JSON
1304
+
1265
1305
  """Conversational reply."""
1266
1306
  reply: String!
1267
1307
 
@@ -1295,6 +1335,21 @@ input BoardAIMentionPickInput {
1295
1335
  token: String!
1296
1336
  }
1297
1337
 
1338
+ """A single component difference between two board versions."""
1339
+ type BoardComponentDiff {
1340
+ """The kind of change: 'added', 'removed', or 'modified'."""
1341
+ changeType: String!
1342
+
1343
+ """Names of the properties that changed (for modified components)."""
1344
+ changedProps: [String!]
1345
+
1346
+ """The refid of the component (identity used for diffing)."""
1347
+ refid: Int
1348
+
1349
+ """The component type (e.g. rect, text, table)."""
1350
+ type: String
1351
+ }
1352
+
1298
1353
  """Represents a board that a user has marked as a favorite."""
1299
1354
  type BoardFavorite {
1300
1355
  """The timestamp when the board was created."""
@@ -1380,6 +1435,9 @@ type BoardHistory {
1380
1435
  """
1381
1436
  action: String!
1382
1437
 
1438
+ """The release note/comment left when this version was published."""
1439
+ comment: String
1440
+
1383
1441
  """The creation timestamp of the original board."""
1384
1442
  createdAt: DateTimeISO
1385
1443
 
@@ -1555,6 +1613,31 @@ input BoardTemplatePatch {
1555
1613
  visibility: String
1556
1614
  }
1557
1615
 
1616
+ """
1617
+ The difference between two board versions (or a version and the current draft).
1618
+ """
1619
+ type BoardVersionDiff {
1620
+ """Number of components added."""
1621
+ addedCount: Int!
1622
+
1623
+ """Component-level changes."""
1624
+ componentDiffs: [BoardComponentDiff!]!
1625
+
1626
+ """The base version number being compared from."""
1627
+ fromVersion: Int!
1628
+
1629
+ """Number of components modified."""
1630
+ modifiedCount: Int!
1631
+
1632
+ """Number of components removed."""
1633
+ removedCount: Int!
1634
+
1635
+ """
1636
+ The target version number being compared to. Null means the current draft.
1637
+ """
1638
+ toVersion: Int
1639
+ }
1640
+
1558
1641
  """동 정보"""
1559
1642
  type Building {
1560
1643
  basementFloorCount: Float
@@ -1864,6 +1947,11 @@ type ChatMessage {
1864
1947
 
1865
1948
  """Soft delete timestamp."""
1866
1949
  deletedAt: DateTimeISO
1950
+
1951
+ """
1952
+ Ungrounded identifiers mentioned by this reply (hallucination candidates). Null when grounded.
1953
+ """
1954
+ groundingWarningsJson: JSON
1867
1955
  id: ID
1868
1956
 
1869
1957
  """
@@ -1896,8 +1984,16 @@ type ChatMessage {
1896
1984
  type ChatSession {
1897
1985
  aiClientId: String
1898
1986
 
1987
+ """Id of the anchored target (board id / space id / instance id)."""
1988
+ anchorId: String
1989
+
1990
+ """
1991
+ What this conversation is anchored to: 'board' (authoring a board) | 'space' (a site and the twins running there) | 'instance' | 'none'. Absent on legacy rows — treated as 'board' when boardId is present.
1992
+ """
1993
+ anchorType: String
1994
+
1899
1995
  """
1900
- Connected Board id. Multiple sessions per board allowed (future: threads / per-user / contexts).
1996
+ Connected Board id. Multiple sessions per board allowed (future: threads / per-user / contexts). Kept for backward compatibility — board-anchored sessions dual-write this alongside anchorId.
1901
1997
  """
1902
1998
  boardId: String
1903
1999
  createdAt: DateTimeISO
@@ -1907,17 +2003,81 @@ type ChatSession {
1907
2003
  domain: Domain
1908
2004
  id: ID
1909
2005
 
2006
+ """
2007
+ Timestamp of the last message in this session (denormalized for list ordering and unread comparison — avoids per-session aggregation across the supported DB drivers).
2008
+ """
2009
+ lastMessageAt: DateTimeISO
2010
+
2011
+ """
2012
+ Short preview of the last message, stored so the session list does not need to query messages.
2013
+ """
2014
+ lastMessagePreview: String
2015
+
1910
2016
  """Compressed summary of older messages (for token saving)."""
1911
2017
  lastSummary: String
1912
2018
 
1913
2019
  """User-given name of this session (tab label / identification)."""
1914
2020
  name: String
2021
+
2022
+ """
2023
+ Id of the last message folded into lastSummary — enables incremental summarization instead of re-reading the whole history.
2024
+ """
2025
+ summaryUpToMessageId: String
1915
2026
  updatedAt: DateTimeISO
1916
2027
 
1917
2028
  """User who last updated this session."""
1918
2029
  updater: User
1919
2030
  }
1920
2031
 
2032
+ """
2033
+ Session list entry for the inbox — a session plus this viewer's unread state. Ordered by recent activity so a user can find where to go back to.
2034
+ """
2035
+ type ChatSessionInboxEntry {
2036
+ """Id of the anchored target."""
2037
+ anchorId: String
2038
+
2039
+ """
2040
+ What the session is anchored to: 'board' | 'space' | 'instance' | 'none'.
2041
+ """
2042
+ anchorType: String
2043
+
2044
+ """Connected board id (board-anchored sessions)."""
2045
+ boardId: String
2046
+
2047
+ """Session creation timestamp."""
2048
+ createdAt: DateTimeISO
2049
+
2050
+ """
2051
+ Whether this viewer hid the session from their own list (only returned when showHidden is on).
2052
+ """
2053
+ hidden: Boolean
2054
+
2055
+ """Session id."""
2056
+ id: ID
2057
+
2058
+ """Timestamp of the last message (list ordering / unread comparison)."""
2059
+ lastMessageAt: DateTimeISO
2060
+
2061
+ """Short preview of the last message."""
2062
+ lastMessagePreview: String
2063
+
2064
+ """
2065
+ Whether this viewer created the session — only the creator may delete it.
2066
+ """
2067
+ mine: Boolean!
2068
+
2069
+ """User-given session name (tab label)."""
2070
+ name: String
2071
+
2072
+ """
2073
+ Whether this viewer is a participant of the session (non-participants get no unread state).
2074
+ """
2075
+ participant: Boolean!
2076
+
2077
+ """Whether this viewer has unread activity in the session."""
2078
+ unread: Boolean!
2079
+ }
2080
+
1921
2081
  """
1922
2082
  Participant of a ChatSession — links a User to a session with a role. Foundation for multi-user chat / per-user filtering / member display.
1923
2083
  """
@@ -1936,9 +2096,19 @@ type ChatSessionParticipant {
1936
2096
  """Domain to which this participant belongs."""
1937
2097
  domain: Domain
1938
2098
 
2099
+ """
2100
+ When this user hid the session from their own list. Per-user only; the session and other participants are unaffected. Activity newer than this timestamp makes it reappear.
2101
+ """
2102
+ hiddenAt: DateTimeISO
2103
+
1939
2104
  """Unique participant id."""
1940
2105
  id: ID!
1941
2106
 
2107
+ """
2108
+ Point up to which this participant has read the session. Distinct from lastSeenAt (presence): a window can be open without being read, and the read point survives disconnection. Null means nothing read yet.
2109
+ """
2110
+ lastReadAt: DateTimeISO
2111
+
1942
2112
  """Last seen / activity timestamp (presence indicator)."""
1943
2113
  lastSeenAt: DateTimeISO
1944
2114
 
@@ -3702,6 +3872,11 @@ type Department {
3702
3872
  """Pagination options for the list query."""
3703
3873
  pagination: Pagination
3704
3874
 
3875
+ """
3876
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
3877
+ """
3878
+ search: String
3879
+
3705
3880
  """Sorting options for the list query."""
3706
3881
  sortings: [Sorting!]
3707
3882
  ): [Department!]!
@@ -4377,6 +4552,26 @@ type EnvVarResolution {
4377
4552
  value: String
4378
4553
  }
4379
4554
 
4555
+ """외부 시스템(세움터/올바로/키스콘) 데이터 수집 시나리오 호출 결과"""
4556
+ type ExternalDataCollectionResult {
4557
+ """
4558
+ 시나리오 result 객체 — projectKey: value 맵. 세움터={area, floorAreaRatio, upperFloorCount, lowerFloorCount, structureType, siteType}, 올바로={totalConstructionWasteAmount}, 키스콘={constructionPeriod, constructionCost}. siteType (건축물 용도, 예 APARTMENT_COMPLEX) / structureType (구조형태) 는 BuildingComplex 의 시설유형/구조유형 속성 후보. KISCON 의 "공사유형(신설/증축)" 은 DSSP SiteType (용도분류) 와 다른 도메인이라 매핑 대상 아님.
4559
+ """
4560
+ data: Object
4561
+
4562
+ """표시 라벨 (세움터/올바로/키스콘)"""
4563
+ label: String!
4564
+
4565
+ """성공 시 "완료", 실패 시 에러 메시지"""
4566
+ message: String!
4567
+
4568
+ """시나리오 실행 성공 여부"""
4569
+ ok: Boolean!
4570
+
4571
+ """소스 키: saeumteo | allbaro | kiscon"""
4572
+ source: String!
4573
+ }
4574
+
4380
4575
  """Entity for Favorite"""
4381
4576
  type Favorite {
4382
4577
  createdAt: DateTimeISO
@@ -4932,6 +5127,30 @@ type KpiAlert {
4932
5127
  message: String!
4933
5128
  }
4934
5129
 
5130
+ type KpiComprehensiveStats {
5131
+ avgVal: Float!
5132
+ kpiName: String
5133
+ maxVal: Float!
5134
+ medVal: Float!
5135
+ minVal: Float!
5136
+ projectCount: Int!
5137
+ q1Val: Float!
5138
+ q3Val: Float!
5139
+ }
5140
+
5141
+ type KpiComprehensiveStatsByGeoGroup {
5142
+ address: String
5143
+ avgVal: Float!
5144
+ geoGroup: String
5145
+ kpiName: String
5146
+ maxVal: Float!
5147
+ medVal: Float!
5148
+ minVal: Float!
5149
+ projectCount: Int!
5150
+ q1Val: Float!
5151
+ q3Val: Float!
5152
+ }
5153
+
4935
5154
  """History Entity of Kpi"""
4936
5155
  type KpiHistory {
4937
5156
  """Whether this KPI is active (usable) or not."""
@@ -5010,6 +5229,9 @@ type KpiMetric {
5010
5229
  """Unique identifier for this KPI metric."""
5011
5230
  id: ID!
5012
5231
 
5232
+ """metric 확장 설정(input/kind/source 등). 입력 UI·소스 바인딩 등을 담는 네임스페이스."""
5233
+ meta: Object
5234
+
5013
5235
  """Metric code, unique within the domain, used in KPI formulas."""
5014
5236
  name: String!
5015
5237
 
@@ -5072,6 +5294,9 @@ input KpiMetricPatch {
5072
5294
  description: String
5073
5295
  fieldName: String
5074
5296
  id: ID
5297
+
5298
+ """확장 메타(JSON). 입력 위젯 힌트(meta.input) 등. 스키마 변경 없이 확장."""
5299
+ meta: Object
5075
5300
  name: String
5076
5301
 
5077
5302
  """Aggregation period type for this metric."""
@@ -5114,6 +5339,7 @@ type KpiMetricValue {
5114
5339
  """
5115
5340
  org: String
5116
5341
  periodType: KpiPeriodType!
5342
+ project: Project
5117
5343
  unit: String
5118
5344
  updatedAt: DateTimeISO
5119
5345
  updater: User
@@ -5169,6 +5395,13 @@ input KpiMetricValuePatch {
5169
5395
  valueDate: String
5170
5396
  }
5171
5397
 
5398
+ type KpiMonthlyTrend {
5399
+ avgVal: Float!
5400
+ geoGroup: String
5401
+ projectCount: Int!
5402
+ yearMonth: String!
5403
+ }
5404
+
5172
5405
  """
5173
5406
  KPI organization scope mapping entity. Maps business entities to various scope dimensions for KPI analysis using generic reference pattern.
5174
5407
  """
@@ -5356,6 +5589,19 @@ enum KpiPeriodType {
5356
5589
  YEAR
5357
5590
  }
5358
5591
 
5592
+ type KpiProjectStat {
5593
+ avgVal: Float!
5594
+ categoryName: String
5595
+ kpiName: String!
5596
+ maxVal: Float!
5597
+ medVal: Float!
5598
+ minVal: Float!
5599
+ projectCount: Int!
5600
+ q1Val: Float!
5601
+ q3Val: Float!
5602
+ stddevVal: Float!
5603
+ }
5604
+
5359
5605
  """
5360
5606
  Defines the meaning and metadata for each scope level (scope01~05) in KpiOrgScope
5361
5607
  """
@@ -5639,6 +5885,7 @@ type KpiValue {
5639
5885
 
5640
5886
  """Aggregation period type for this KPI value."""
5641
5887
  periodType: KpiPeriodType!
5888
+ project: Project!
5642
5889
 
5643
5890
  """
5644
5891
  Performance score calculated from KPI value using scoreFormula or grades lookup table.
@@ -6291,6 +6538,16 @@ type Mutation {
6291
6538
  """Add a user as owner of the current domain."""
6292
6539
  addDomainOwner(reason: String, username: String!): DomainOwner!
6293
6540
 
6541
+ """
6542
+ Append a system note to a session — context that did not come from a participant typing (e.g. a conversation carried over from another surface, an external state change). The AI sees it as part of the shared history.
6543
+ """
6544
+ appendSessionNote(content: String!, sessionId: String!): Boolean!
6545
+
6546
+ """
6547
+ Carry a conversation from another surface into this session as its own turns (user / assistant), preserving order. Use when a lightweight exchange is promoted into a persistent discussion — the participants should read it as the conversation continuing, not as a machine dump.
6548
+ """
6549
+ appendSessionTurns(sessionId: String!, turns: JSON!): Boolean!
6550
+
6294
6551
  """To apply to all building inspection"""
6295
6552
  applyToAllBuildingInspection(buildingInspectionId: String!): Boolean!
6296
6553
 
@@ -6350,6 +6607,14 @@ type Mutation {
6350
6607
  """
6351
6608
  cloneBoard(id: String!, patch: BoardPatch!, targetGroupId: String, targetSubdomain: String!): Board!
6352
6609
 
6610
+ """Collect project basic info from 세움터 (건축물대장 → 주택인허가 fallback)."""
6611
+ collectProjectBasicInfo(address: String, projectId: String!): ExternalDataCollectionResult!
6612
+
6613
+ """
6614
+ Run external data collection scenarios per system, returning per-system result.
6615
+ """
6616
+ collectProjectExternalData(projectId: String!): [ExternalDataCollectionResult!]!
6617
+
6353
6618
  """Establishes a live connection to a configured endpoint."""
6354
6619
  connectConnection(name: String!): Connection!
6355
6620
 
@@ -6364,6 +6629,17 @@ type Mutation {
6364
6629
  """
6365
6630
  copyScenarios(ids: [String!]!): [Scenario!]!
6366
6631
 
6632
+ """
6633
+ Always create a new AI chat session anchored to a target (no idempotent reuse). For multi-session UX — 새 탭 열기.
6634
+ """
6635
+ createAISession(
6636
+ anchorId: String!
6637
+ anchorType: String!
6638
+
6639
+ """Optional name (defaults to auto-generated `세션 N`)."""
6640
+ name: String
6641
+ ): ChatSession!
6642
+
6367
6643
  """To create new ActionPlan"""
6368
6644
  createActionPlan(actionPlan: NewActionPlan!): ActionPlan!
6369
6645
 
@@ -6407,16 +6683,6 @@ type Mutation {
6407
6683
  """Create Daily Worklog by projectId+date"""
6408
6684
  createBuildingInspectionDailyWorklog(patch: BuildingInspectionDailyWorklogNew!): BuildingInspectionDailyWorklog!
6409
6685
 
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
-
6420
6686
  """To create new ChecklistItemComment"""
6421
6687
  createChecklistItemComment(checklistItemComment: NewChecklistItemComment!): ChecklistItemComment!
6422
6688
 
@@ -6663,6 +6929,11 @@ type Mutation {
6663
6929
  """To delegate a ActivityThread"""
6664
6930
  delegateActivityThread(assignee: ObjectRef, dueAt: DateTimeISO, id: String!, reason: String): ActivityThread!
6665
6931
 
6932
+ """
6933
+ Delete a chat session — creator only, since a shared deliberation cannot be un-deleted from the UI. Participants who are not the creator can hide it from their own list instead (hideAISession). Soft delete; broadcast as meta activity so every list drops it.
6934
+ """
6935
+ deleteAISession(sessionId: String!): Boolean!
6936
+
6666
6937
  """To delete ActionPlan"""
6667
6938
  deleteActionPlan(id: String!): Boolean!
6668
6939
 
@@ -7078,6 +7349,9 @@ type Mutation {
7078
7349
  """To delete multiple ProjectReports"""
7079
7350
  deleteProjectReports(ids: [String!]!): Boolean!
7080
7351
 
7352
+ """비밀번호 확인 후 프로젝트 삭제 (수퍼유저 전용, 테넌트 강등 상태에서만)"""
7353
+ deleteProjectWithPassword(password: String!, projectId: String!): Boolean!
7354
+
7081
7355
  """To delete Resource"""
7082
7356
  deleteResource(id: String!): Boolean!
7083
7357
 
@@ -7203,6 +7477,9 @@ type Mutation {
7203
7477
  Finalizes and generates the latest data summaries for the specified dataset. This operation aggregates collected data into summary records for reporting and analysis.
7204
7478
  """
7205
7479
  finalizeLatestDataCollection(dataSetId: String!): Boolean!
7480
+
7481
+ """To finalize project with KPI recalculation"""
7482
+ finalizeProjectWithKpiRecalculation(projectId: String!): Boolean!
7206
7483
  generateApplianceSecret(id: String!): Appliance!
7207
7484
  generateApplicationSecret(id: String!): Application!
7208
7485
 
@@ -7222,6 +7499,11 @@ type Mutation {
7222
7499
  getOauth2AuthUrl(id: String!): String!
7223
7500
  grantRoles(customerId: String!, roles: [RolePatch!]!): Boolean!
7224
7501
 
7502
+ """
7503
+ Hide (or unhide) a session from the calling user's own list. Per-user and reversible — the session and other participants are unaffected. Activity newer than the hide makes it reappear; the inbox filter (showHidden) reveals hidden ones.
7504
+ """
7505
+ hideAISession(hidden: Boolean, sessionId: String!): Boolean!
7506
+
7225
7507
  """To import multiple ActionPlans"""
7226
7508
  importActionPlans(actionPlans: [ActionPlanPatch!]!): Boolean!
7227
7509
 
@@ -7392,6 +7674,11 @@ type Mutation {
7392
7674
  """Removes one or more boards from a play group."""
7393
7675
  leavePlayGroup(boardIds: [String!]!, id: String!): PlayGroup!
7394
7676
 
7677
+ """
7678
+ Mark a session as read up to now for the current user. Idempotent. Distinct from presence (lastSeenAt) — a window can be open without being read.
7679
+ """
7680
+ markSessionRead(sessionId: String!): Boolean!
7681
+
7395
7682
  """
7396
7683
  완료된 ImportSession 의 결과 boardModel 을 새 Board entity 로 영속화한다. 검수 단계 (사용자/AI 가 import 결과를 확인 후 명시적으로 호출) 에서 사용. Board.state="draft" 로 생성되므로 release mutation 으로 별도 발행 필요.
7397
7684
  """
@@ -7412,6 +7699,9 @@ type Mutation {
7412
7699
  """기존 KPI Value 인스턴스를 현재 formula/metric 값으로 재계산"""
7413
7700
  recalculateKpiValue(id: String!): KpiValue!
7414
7701
 
7702
+ """Recalculate project KPI without finalizing (interim)."""
7703
+ recalculateProjectKpi(projectId: String!): Boolean!
7704
+
7415
7705
  """Recalculate scores for all KpiValues of a specific KPI"""
7416
7706
  recalculateScoresForKpi(kpiId: String!): Boolean!
7417
7707
 
@@ -7467,14 +7757,24 @@ type Mutation {
7467
7757
  rejectActivityApproval(comment: String, id: String!): ActivityApproval
7468
7758
 
7469
7759
  """Releases a board, making it public and creating a version history."""
7470
- releaseBoard(id: String!): Board!
7760
+ releaseBoard(comment: String, id: String!): Board!
7471
7761
 
7472
7762
  """Release a KPI and create a version history."""
7473
7763
  releaseKpi(id: String!): Kpi!
7474
7764
 
7765
+ """
7766
+ Releases (publishes) a scenario, creating an immutable version snapshot. Operational execution (schedule/auto-start) runs the latest released version.
7767
+ """
7768
+ releaseScenario(comment: String, id: String!): Scenario!
7769
+
7475
7770
  """Remove a user from the owners of the current domain."""
7476
7771
  removeDomainOwner(reason: String, username: String!): Boolean!
7477
7772
 
7773
+ """
7774
+ Rename a chat session. Any participant may rename it — the name is the topic label of a shared deliberation and the change is reversible. Broadcast as meta activity so every participant sees it without raising unread badges.
7775
+ """
7776
+ renameAISession(name: String!, sessionId: String!): Boolean!
7777
+
7478
7778
  """Rename a ChatSession (tab label)."""
7479
7779
  renameChatSession(name: String!, sessionId: String!): Boolean!
7480
7780
  renewApplicationAccessToken(id: String!, scope: String!): AccessToken!
@@ -7505,10 +7805,22 @@ type Mutation {
7505
7805
  """Mark a patch as reverted (does not undo, only flags)."""
7506
7806
  revertPatch(patchId: String!): Boolean!
7507
7807
 
7808
+ """
7809
+ Reverts a scenario to a released version by copying that version into the current draft. The past version remains as an archive; this does not create a new version.
7810
+ """
7811
+ revertScenarioVersion(id: String!, version: Int!): Scenario!
7812
+
7508
7813
  """
7509
7814
  Runs a new scenario instance once and returns the result after it finishes.
7510
7815
  """
7511
- runScenario(instanceName: String, scenarioName: String!, variables: Object): ScenarioInstanceRunResult!
7816
+ runScenario(
7817
+ instanceName: String
7818
+
7819
+ """Version to run: 'released' (default) or 'draft' (debugging)."""
7820
+ mode: String
7821
+ scenarioName: String!
7822
+ variables: Object
7823
+ ): ScenarioInstanceRunResult!
7512
7824
 
7513
7825
  """To approve ActivityApproval"""
7514
7826
  saveActivityApproval(comment: String, id: String!): ActivityApproval
@@ -7518,6 +7830,11 @@ type Mutation {
7518
7830
  sendInvitation(email: EmailAddress!, reference: String!, type: String!): Invitation!
7519
7831
  singleUpload(file: Upload!): Attachment!
7520
7832
 
7833
+ """
7834
+ Start (or get existing) AI chat session anchored to a target. Idempotent — returns first existing or creates one. Use anchorType board for board authoring, space for a site (its co-located twins).
7835
+ """
7836
+ startAISession(anchorId: String!, anchorType: String!): ChatSession!
7837
+
7521
7838
  """To start posting activity based on the schedule of the given activity"""
7522
7839
  startActivitySchedule(activityId: String!): Activity!
7523
7840
 
@@ -7525,7 +7842,7 @@ type Mutation {
7525
7842
  startActivityThread(id: String!, output: Object, reason: String): ActivityThread
7526
7843
 
7527
7844
  """
7528
- Start (or get existing) AI chat session for a board. Idempotent returns first existing or creates one.
7845
+ Start (or get existing) AI chat session for a board. Thin wrapper over startAISession(board).
7529
7846
  """
7530
7847
  startBoardAISession(boardId: String!): ChatSession!
7531
7848
 
@@ -7540,7 +7857,14 @@ type Mutation {
7540
7857
  startDataSummarySchedule(dataSetId: String!): DataSet!
7541
7858
 
7542
7859
  """Starts a new scenario instance, which will run in the background."""
7543
- startScenario(instanceName: String, scenarioName: String!, variables: Object): ScenarioInstanceStartResult!
7860
+ startScenario(
7861
+ instanceName: String
7862
+
7863
+ """Version to run: 'released' (default) or 'draft' (debugging)."""
7864
+ mode: String
7865
+ scenarioName: String!
7866
+ variables: Object
7867
+ ): ScenarioInstanceStartResult!
7544
7868
 
7545
7869
  """Starts the schedule for a specific scenario, if one is defined."""
7546
7870
  startScenarioSchedule(scenarioId: String!): Scenario!
@@ -7732,6 +8056,15 @@ type Mutation {
7732
8056
  """To modify KpiMetricValue information"""
7733
8057
  updateKpiMetricValue(id: String!, patch: KpiMetricValuePatch!): KpiMetricValue!
7734
8058
 
8059
+ """To modify multiple assessment KpiMetricValues' value"""
8060
+ updateKpiMetricValuesAssessment(patches: [KpiMetricValuePatch!]!): [KpiMetricValue!]!
8061
+
8062
+ """To modify multiple cumulative KpiMetricValues' value"""
8063
+ updateKpiMetricValuesCumulative(patches: [KpiMetricValuePatch!]!): [KpiMetricValue!]!
8064
+
8065
+ """To modify multiple sentiment KpiMetricValues' value"""
8066
+ updateKpiMetricValuesSentiment(attachment: NewAttachment!): Attachment
8067
+
7735
8068
  """Update a scope dimension definition"""
7736
8069
  updateKpiScope(id: String!, patch: KpiScopePatch!): KpiScope!
7737
8070
 
@@ -8777,6 +9110,9 @@ input NewKpiMetric {
8777
9110
  """Name of the field in the dataset this metric maps to."""
8778
9111
  fieldName: String
8779
9112
 
9113
+ """확장 메타(JSON). 입력 위젯 힌트(meta.input) 등. 스키마 변경 없이 확장."""
9114
+ meta: Object
9115
+
8780
9116
  """Metric code, unique within the domain, used in KPI formulas."""
8781
9117
  name: String!
8782
9118
 
@@ -9818,6 +10154,11 @@ type PagePreferenceList {
9818
10154
 
9819
10155
  """Input type for specifying pagination options in a list query."""
9820
10156
  input Pagination {
10157
+ """
10158
+ Keyset cursor: return rows positioned after this one, per the current sorting. Prefer this over page for feeds that grow at the head (event journals, logs, newest-first lists) where offset paging silently duplicates or skips rows as new rows arrive. Opaque — pass back the nextCursor the previous response returned. Wins over page when both are given.
10159
+ """
10160
+ after: String
10161
+
9821
10162
  """The maximum number of items per page."""
9822
10163
  limit: Int
9823
10164
 
@@ -10137,6 +10478,11 @@ type Privilege {
10137
10478
  """The user who created the privilege."""
10138
10479
  creator: User
10139
10480
 
10481
+ """
10482
+ True when no module in this deployment declares this privilege anymore (@privilege directive). The bootstrap sync only adds rows, so a removed directive leaves a grantable row that does nothing. Computed per request — it answers for the asking deployment, not for all time.
10483
+ """
10484
+ deprecated: Boolean!
10485
+
10140
10486
  """A detailed description of what the privilege allows."""
10141
10487
  description: String
10142
10488
 
@@ -10463,6 +10809,11 @@ type Query {
10463
10809
  """Pagination options for the list query."""
10464
10810
  pagination: Pagination
10465
10811
 
10812
+ """
10813
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
10814
+ """
10815
+ search: String
10816
+
10466
10817
  """Sorting options for the list query."""
10467
10818
  sortings: [Sorting!]
10468
10819
  ): ActionPlanList!
@@ -10478,6 +10829,11 @@ type Query {
10478
10829
  """Pagination options for the list query."""
10479
10830
  pagination: Pagination
10480
10831
 
10832
+ """
10833
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
10834
+ """
10835
+ search: String
10836
+
10481
10837
  """Sorting options for the list query."""
10482
10838
  sortings: [Sorting!]
10483
10839
  ): ActivityList!
@@ -10499,6 +10855,11 @@ type Query {
10499
10855
  """Pagination options for the list query."""
10500
10856
  pagination: Pagination
10501
10857
 
10858
+ """
10859
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
10860
+ """
10861
+ search: String
10862
+
10502
10863
  """Sorting options for the list query."""
10503
10864
  sortings: [Sorting!]
10504
10865
  ): ActivityApprovalList!
@@ -10523,6 +10884,11 @@ type Query {
10523
10884
  """Pagination options for the list query."""
10524
10885
  pagination: Pagination
10525
10886
 
10887
+ """
10888
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
10889
+ """
10890
+ search: String
10891
+
10526
10892
  """Sorting options for the list query."""
10527
10893
  sortings: [Sorting!]
10528
10894
  ): ActivityInstanceHistoryList!
@@ -10541,6 +10907,11 @@ type Query {
10541
10907
  """Pagination options for the list query."""
10542
10908
  pagination: Pagination
10543
10909
 
10910
+ """
10911
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
10912
+ """
10913
+ search: String
10914
+
10544
10915
  """Sorting options for the list query."""
10545
10916
  sortings: [Sorting!]
10546
10917
  ): ActivityInstanceList!
@@ -10558,6 +10929,11 @@ type Query {
10558
10929
  """Pagination options for the list query."""
10559
10930
  pagination: Pagination
10560
10931
 
10932
+ """
10933
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
10934
+ """
10935
+ search: String
10936
+
10561
10937
  """Sorting options for the list query."""
10562
10938
  sortings: [Sorting!]
10563
10939
  ): ActivityInstanceList!
@@ -10573,6 +10949,11 @@ type Query {
10573
10949
  """Pagination options for the list query."""
10574
10950
  pagination: Pagination
10575
10951
 
10952
+ """
10953
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
10954
+ """
10955
+ search: String
10956
+
10576
10957
  """Sorting options for the list query."""
10577
10958
  sortings: [Sorting!]
10578
10959
  ): ActivityInstanceList!
@@ -10594,6 +10975,11 @@ type Query {
10594
10975
  """Pagination options for the list query."""
10595
10976
  pagination: Pagination
10596
10977
 
10978
+ """
10979
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
10980
+ """
10981
+ search: String
10982
+
10597
10983
  """Sorting options for the list query."""
10598
10984
  sortings: [Sorting!]
10599
10985
  ): ActivityTemplateList!
@@ -10612,6 +10998,11 @@ type Query {
10612
10998
  """Pagination options for the list query."""
10613
10999
  pagination: Pagination
10614
11000
 
11001
+ """
11002
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11003
+ """
11004
+ search: String
11005
+
10615
11006
  """Sorting options for the list query."""
10616
11007
  sortings: [Sorting!]
10617
11008
  ): ActivityThreadList!
@@ -10626,6 +11017,11 @@ type Query {
10626
11017
  """Pagination options for the list query."""
10627
11018
  pagination: Pagination
10628
11019
 
11020
+ """
11021
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11022
+ """
11023
+ search: String
11024
+
10629
11025
  """Sorting options for the list query."""
10630
11026
  sortings: [Sorting!]
10631
11027
  ): AppBindingList!
@@ -10644,6 +11040,11 @@ type Query {
10644
11040
  """Pagination options for the list query."""
10645
11041
  pagination: Pagination
10646
11042
 
11043
+ """
11044
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11045
+ """
11046
+ search: String
11047
+
10647
11048
  """Sorting options for the list query."""
10648
11049
  sortings: [Sorting!]
10649
11050
  ): ApplianceList!
@@ -10662,6 +11063,11 @@ type Query {
10662
11063
  """Pagination options for the list query."""
10663
11064
  pagination: Pagination
10664
11065
 
11066
+ """
11067
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11068
+ """
11069
+ search: String
11070
+
10665
11071
  """Sorting options for the list query."""
10666
11072
  sortings: [Sorting!]
10667
11073
  ): ApplicationList!
@@ -10677,6 +11083,11 @@ type Query {
10677
11083
  """Pagination options for the list query."""
10678
11084
  pagination: Pagination
10679
11085
 
11086
+ """
11087
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11088
+ """
11089
+ search: String
11090
+
10680
11091
  """Sorting options for the list query."""
10681
11092
  sortings: [Sorting!]
10682
11093
  ): ActivityApprovalList!
@@ -10695,6 +11106,11 @@ type Query {
10695
11106
  """Pagination options for the list query."""
10696
11107
  pagination: Pagination
10697
11108
 
11109
+ """
11110
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11111
+ """
11112
+ search: String
11113
+
10698
11114
  """Sorting options for the list query."""
10699
11115
  sortings: [Sorting!]
10700
11116
  ): ApprovalLineList!
@@ -10710,6 +11126,11 @@ type Query {
10710
11126
  """Pagination options for the list query."""
10711
11127
  pagination: Pagination
10712
11128
 
11129
+ """
11130
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11131
+ """
11132
+ search: String
11133
+
10713
11134
  """Sorting options for the list query."""
10714
11135
  sortings: [Sorting!]
10715
11136
  ): ApprovalLineList!
@@ -10725,6 +11146,11 @@ type Query {
10725
11146
  """Pagination options for the list query."""
10726
11147
  pagination: Pagination
10727
11148
 
11149
+ """
11150
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11151
+ """
11152
+ search: String
11153
+
10728
11154
  """Sorting options for the list query."""
10729
11155
  sortings: [Sorting!]
10730
11156
  ): ActivityApprovalList!
@@ -10739,6 +11165,11 @@ type Query {
10739
11165
  """Pagination options for the list query."""
10740
11166
  pagination: Pagination
10741
11167
 
11168
+ """
11169
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11170
+ """
11171
+ search: String
11172
+
10742
11173
  """Sorting options for the list query."""
10743
11174
  sortings: [Sorting!]
10744
11175
  ): AttachmentList!
@@ -10772,6 +11203,11 @@ type Query {
10772
11203
  """Pagination options for the list query."""
10773
11204
  pagination: Pagination
10774
11205
 
11206
+ """
11207
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11208
+ """
11209
+ search: String
11210
+
10775
11211
  """Sorting options for the list query."""
10776
11212
  sortings: [Sorting!]
10777
11213
  ): AttributeSetList!
@@ -10793,6 +11229,11 @@ type Query {
10793
11229
  """Pagination options for the list query."""
10794
11230
  pagination: Pagination
10795
11231
 
11232
+ """
11233
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11234
+ """
11235
+ search: String
11236
+
10796
11237
  """Sorting options for the list query."""
10797
11238
  sortings: [Sorting!]
10798
11239
  ): AuthProviderList!
@@ -10829,6 +11270,11 @@ type Query {
10829
11270
  """Pagination options for the list query."""
10830
11271
  pagination: Pagination
10831
11272
 
11273
+ """
11274
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11275
+ """
11276
+ search: String
11277
+
10832
11278
  """Sorting options for the list query."""
10833
11279
  sortings: [Sorting!]
10834
11280
  ): BoardTemplateList!
@@ -10844,10 +11290,20 @@ type Query {
10844
11290
  """Pagination options for the list query."""
10845
11291
  pagination: Pagination
10846
11292
 
11293
+ """
11294
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11295
+ """
11296
+ search: String
11297
+
10847
11298
  """Sorting options for the list query."""
10848
11299
  sortings: [Sorting!]
10849
11300
  ): BoardTemplateList!
10850
11301
 
11302
+ """
11303
+ Computes the component-level difference between a board version and another version or the current draft. Omit toVersion to diff the base version against the current draft.
11304
+ """
11305
+ boardVersionDiff(id: String!, toVersion: Int, version: Int!): BoardVersionDiff!
11306
+
10851
11307
  """Retrieves up to 10 historical versions of a specific board."""
10852
11308
  boardVersions(id: String!): [BoardHistory!]!
10853
11309
 
@@ -10862,8 +11318,13 @@ type Query {
10862
11318
  """Pagination options for the list query."""
10863
11319
  pagination: Pagination
10864
11320
 
10865
- """Sorting options for the list query."""
10866
- sortings: [Sorting!]
11321
+ """
11322
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11323
+ """
11324
+ search: String
11325
+
11326
+ """Sorting options for the list query."""
11327
+ sortings: [Sorting!]
10867
11328
  ): BoardList!
10868
11329
 
10869
11330
  """Retrieves a paginated list of boards created by the current user."""
@@ -10877,6 +11338,11 @@ type Query {
10877
11338
  """Pagination options for the list query."""
10878
11339
  pagination: Pagination
10879
11340
 
11341
+ """
11342
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11343
+ """
11344
+ search: String
11345
+
10880
11346
  """Sorting options for the list query."""
10881
11347
  sortings: [Sorting!]
10882
11348
  ): BoardList!
@@ -10916,6 +11382,11 @@ type Query {
10916
11382
  """Pagination options for the list query."""
10917
11383
  pagination: Pagination
10918
11384
 
11385
+ """
11386
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11387
+ """
11388
+ search: String
11389
+
10919
11390
  """Sorting options for the list query."""
10920
11391
  sortings: [Sorting!]
10921
11392
  ): BuildingInspectionHistoryList!
@@ -10943,6 +11414,11 @@ type Query {
10943
11414
  """Pagination options for the list query."""
10944
11415
  pagination: Pagination
10945
11416
 
11417
+ """
11418
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11419
+ """
11420
+ search: String
11421
+
10946
11422
  """Sorting options for the list query."""
10947
11423
  sortings: [Sorting!]
10948
11424
  ): BuildingInspectionList!
@@ -10973,11 +11449,26 @@ type Query {
10973
11449
  """
10974
11450
  chatSessionByBoard(boardId: String!): ChatSession
10975
11451
 
11452
+ """
11453
+ List sessions anchored to a target with this viewer's unread state, most recent activity first. Supports free-text search over name and last preview, a mine-only filter, hidden inclusion, and paging. Uses the denormalized last-activity timestamp compared against the viewer's read point — no per-session aggregation.
11454
+ """
11455
+ chatSessionInbox(anchorId: String!, anchorType: String!, limit: Int, mineOnly: Boolean, offset: Int, search: String, showHidden: Boolean): [ChatSessionInboxEntry!]!
11456
+
11457
+ """
11458
+ Total number of sessions matching the same filters as chatSessionInbox (before paging). Request it alongside the list so the UI can tell "end of page" from "end of data".
11459
+ """
11460
+ chatSessionInboxTotal(anchorId: String!, anchorType: String!, mineOnly: Boolean, search: String, showHidden: Boolean): Int!
11461
+
10976
11462
  """List participants of a ChatSession (members / owner)."""
10977
11463
  chatSessionParticipants(sessionId: String!): [ChatSessionParticipant!]!
10978
11464
 
10979
11465
  """
10980
- List all AI chat sessions for a board (oldest first). Multi-session support UI 탭으로 표시.
11466
+ List AI chat sessions anchored to a target (oldest first). Anchor decides the nature and the history boundary of the conversation: board = authoring, space = the site and the twins running there. Board anchor also matches legacy rows that only have boardId.
11467
+ """
11468
+ chatSessionsByAnchor(anchorId: String!, anchorType: String!): [ChatSession!]!
11469
+
11470
+ """
11471
+ List all AI chat sessions for a board (oldest first). Thin wrapper over chatSessionsByAnchor(board).
10981
11472
  """
10982
11473
  chatSessionsByBoard(boardId: String!): [ChatSession!]!
10983
11474
 
@@ -11019,6 +11510,11 @@ type Query {
11019
11510
  """Pagination options for the list query."""
11020
11511
  pagination: Pagination
11021
11512
 
11513
+ """
11514
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11515
+ """
11516
+ search: String
11517
+
11022
11518
  """Sorting options for the list query."""
11023
11519
  sortings: [Sorting!]
11024
11520
  ): ChecklistHistoryList!
@@ -11043,6 +11539,11 @@ type Query {
11043
11539
  """Pagination options for the list query."""
11044
11540
  pagination: Pagination
11045
11541
 
11542
+ """
11543
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11544
+ """
11545
+ search: String
11546
+
11046
11547
  """Sorting options for the list query."""
11047
11548
  sortings: [Sorting!]
11048
11549
  ): ChecklistItemHistoryList!
@@ -11061,6 +11562,11 @@ type Query {
11061
11562
  """Pagination options for the list query."""
11062
11563
  pagination: Pagination
11063
11564
 
11565
+ """
11566
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11567
+ """
11568
+ search: String
11569
+
11064
11570
  """Sorting options for the list query."""
11065
11571
  sortings: [Sorting!]
11066
11572
  ): ChecklistItemList!
@@ -11079,6 +11585,11 @@ type Query {
11079
11585
  """Pagination options for the list query."""
11080
11586
  pagination: Pagination
11081
11587
 
11588
+ """
11589
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11590
+ """
11591
+ search: String
11592
+
11082
11593
  """Sorting options for the list query."""
11083
11594
  sortings: [Sorting!]
11084
11595
  ): ChecklistTemplateItemList!
@@ -11094,6 +11605,11 @@ type Query {
11094
11605
  """Pagination options for the list query."""
11095
11606
  pagination: Pagination
11096
11607
 
11608
+ """
11609
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11610
+ """
11611
+ search: String
11612
+
11097
11613
  """Sorting options for the list query."""
11098
11614
  sortings: [Sorting!]
11099
11615
  ): ChecklistTemplateList!
@@ -11109,6 +11625,11 @@ type Query {
11109
11625
  """Pagination options for the list query."""
11110
11626
  pagination: Pagination
11111
11627
 
11628
+ """
11629
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11630
+ """
11631
+ search: String
11632
+
11112
11633
  """Sorting options for the list query."""
11113
11634
  sortings: [Sorting!]
11114
11635
  ): ChecklistTypeList!
@@ -11124,6 +11645,11 @@ type Query {
11124
11645
  """Pagination options for the list query."""
11125
11646
  pagination: Pagination
11126
11647
 
11648
+ """
11649
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11650
+ """
11651
+ search: String
11652
+
11127
11653
  """Sorting options for the list query."""
11128
11654
  sortings: [Sorting!]
11129
11655
  ): ChecklistList!
@@ -11139,6 +11665,11 @@ type Query {
11139
11665
  """Pagination options for the list query."""
11140
11666
  pagination: Pagination
11141
11667
 
11668
+ """
11669
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11670
+ """
11671
+ search: String
11672
+
11142
11673
  """Sorting options for the list query."""
11143
11674
  sortings: [Sorting!]
11144
11675
  ): ApprovalLineList!
@@ -11160,6 +11691,11 @@ type Query {
11160
11691
  """Pagination options for the list query."""
11161
11692
  pagination: Pagination
11162
11693
 
11694
+ """
11695
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11696
+ """
11697
+ search: String
11698
+
11163
11699
  """Sorting options for the list query."""
11164
11700
  sortings: [Sorting!]
11165
11701
  ): CommonCodeDetailList!
@@ -11175,6 +11711,11 @@ type Query {
11175
11711
  """Pagination options for the list query."""
11176
11712
  pagination: Pagination
11177
11713
 
11714
+ """
11715
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11716
+ """
11717
+ search: String
11718
+
11178
11719
  """Sorting options for the list query."""
11179
11720
  sortings: [Sorting!]
11180
11721
  ): CommonCodeList!
@@ -11195,6 +11736,11 @@ type Query {
11195
11736
  """Pagination options for the list query."""
11196
11737
  pagination: Pagination
11197
11738
 
11739
+ """
11740
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11741
+ """
11742
+ search: String
11743
+
11198
11744
  """Sorting options for the list query."""
11199
11745
  sortings: [Sorting!]
11200
11746
  ): ConnectionList!
@@ -11219,6 +11765,11 @@ type Query {
11219
11765
  """Pagination options for the list query."""
11220
11766
  pagination: Pagination
11221
11767
 
11768
+ """
11769
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11770
+ """
11771
+ search: String
11772
+
11222
11773
  """Sorting options for the list query."""
11223
11774
  sortings: [Sorting!]
11224
11775
  ): ConstructionChecklistTemplateItemList!
@@ -11234,6 +11785,11 @@ type Query {
11234
11785
  """Pagination options for the list query."""
11235
11786
  pagination: Pagination
11236
11787
 
11788
+ """
11789
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11790
+ """
11791
+ search: String
11792
+
11237
11793
  """Sorting options for the list query."""
11238
11794
  sortings: [Sorting!]
11239
11795
  ): ConstructionChecklistTemplateList!
@@ -11249,6 +11805,11 @@ type Query {
11249
11805
  """Pagination options for the list query."""
11250
11806
  pagination: Pagination
11251
11807
 
11808
+ """
11809
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11810
+ """
11811
+ search: String
11812
+
11252
11813
  """Sorting options for the list query."""
11253
11814
  sortings: [Sorting!]
11254
11815
  ): ConstructionDetailTypeList!
@@ -11267,6 +11828,11 @@ type Query {
11267
11828
  """Pagination options for the list query."""
11268
11829
  pagination: Pagination
11269
11830
 
11831
+ """
11832
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11833
+ """
11834
+ search: String
11835
+
11270
11836
  """Sorting options for the list query."""
11271
11837
  sortings: [Sorting!]
11272
11838
  ): ConstructionTypeList!
@@ -11285,6 +11851,11 @@ type Query {
11285
11851
  """Pagination options for the list query."""
11286
11852
  pagination: Pagination
11287
11853
 
11854
+ """
11855
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11856
+ """
11857
+ search: String
11858
+
11288
11859
  """Sorting options for the list query."""
11289
11860
  sortings: [Sorting!]
11290
11861
  ): ContactList!
@@ -11318,6 +11889,11 @@ type Query {
11318
11889
  """Pagination options for the list query."""
11319
11890
  pagination: Pagination
11320
11891
 
11892
+ """
11893
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11894
+ """
11895
+ search: String
11896
+
11321
11897
  """Sorting options for the list query."""
11322
11898
  sortings: [Sorting!]
11323
11899
  ): DataArchiveList!
@@ -11340,6 +11916,11 @@ type Query {
11340
11916
  """Pagination options for the list query."""
11341
11917
  pagination: Pagination
11342
11918
 
11919
+ """
11920
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11921
+ """
11922
+ search: String
11923
+
11343
11924
  """Sorting options for the list query."""
11344
11925
  sortings: [Sorting!]
11345
11926
  ): DataKeySetList!
@@ -11362,6 +11943,11 @@ type Query {
11362
11943
  """Pagination options for the list query."""
11363
11944
  pagination: Pagination
11364
11945
 
11946
+ """
11947
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11948
+ """
11949
+ search: String
11950
+
11365
11951
  """Sorting options for the list query."""
11366
11952
  sortings: [Sorting!]
11367
11953
  ): DataOocList!
@@ -11384,6 +11970,11 @@ type Query {
11384
11970
  """Pagination options for the list query."""
11385
11971
  pagination: Pagination
11386
11972
 
11973
+ """
11974
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11975
+ """
11976
+ search: String
11977
+
11387
11978
  """Sorting options for the list query."""
11388
11979
  sortings: [Sorting!]
11389
11980
  ): DataSampleList!
@@ -11403,6 +11994,11 @@ type Query {
11403
11994
  """Pagination options for the list query."""
11404
11995
  pagination: Pagination
11405
11996
 
11997
+ """
11998
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
11999
+ """
12000
+ search: String
12001
+
11406
12002
  """Sorting options for the list query."""
11407
12003
  sortings: [Sorting!]
11408
12004
  ): DataSampleList!
@@ -11422,6 +12018,11 @@ type Query {
11422
12018
  """Pagination options for the list query."""
11423
12019
  pagination: Pagination
11424
12020
 
12021
+ """
12022
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12023
+ """
12024
+ search: String
12025
+
11425
12026
  """Sorting options for the list query."""
11426
12027
  sortings: [Sorting!]
11427
12028
  ): DataSampleList!
@@ -11442,6 +12043,11 @@ type Query {
11442
12043
  pagination: Pagination
11443
12044
  period: String!
11444
12045
 
12046
+ """
12047
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12048
+ """
12049
+ search: String
12050
+
11445
12051
  """Sorting options for the list query."""
11446
12052
  sortings: [Sorting!]
11447
12053
  ): DataSampleList!
@@ -11464,6 +12070,11 @@ type Query {
11464
12070
  """Pagination options for the list query."""
11465
12071
  pagination: Pagination
11466
12072
 
12073
+ """
12074
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12075
+ """
12076
+ search: String
12077
+
11467
12078
  """Sorting options for the list query."""
11468
12079
  sortings: [Sorting!]
11469
12080
  ): DataSensorList!
@@ -11489,6 +12100,11 @@ type Query {
11489
12100
  """Pagination options for the list query."""
11490
12101
  pagination: Pagination
11491
12102
 
12103
+ """
12104
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12105
+ """
12106
+ search: String
12107
+
11492
12108
  """Sorting options for the list query."""
11493
12109
  sortings: [Sorting!]
11494
12110
  ): DataSetHistoryList!
@@ -11509,6 +12125,11 @@ type Query {
11509
12125
  """Pagination options for the list query."""
11510
12126
  pagination: Pagination
11511
12127
 
12128
+ """
12129
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12130
+ """
12131
+ search: String
12132
+
11512
12133
  """Sorting options for the list query."""
11513
12134
  sortings: [Sorting!]
11514
12135
  ): DataSetList!
@@ -11526,6 +12147,11 @@ type Query {
11526
12147
  """Pagination options for the list query."""
11527
12148
  pagination: Pagination
11528
12149
 
12150
+ """
12151
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12152
+ """
12153
+ search: String
12154
+
11529
12155
  """Sorting options for the list query."""
11530
12156
  sortings: [Sorting!]
11531
12157
  ): DataSetList!
@@ -11543,6 +12169,11 @@ type Query {
11543
12169
  """Pagination options for the list query."""
11544
12170
  pagination: Pagination
11545
12171
 
12172
+ """
12173
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12174
+ """
12175
+ search: String
12176
+
11546
12177
  """Sorting options for the list query."""
11547
12178
  sortings: [Sorting!]
11548
12179
  ): DataSetList!
@@ -11566,6 +12197,11 @@ type Query {
11566
12197
  """Pagination options for the list query."""
11567
12198
  pagination: Pagination
11568
12199
 
12200
+ """
12201
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12202
+ """
12203
+ search: String
12204
+
11569
12205
  """Sorting options for the list query."""
11570
12206
  sortings: [Sorting!]
11571
12207
  ): DataSummaryList!
@@ -11585,6 +12221,11 @@ type Query {
11585
12221
  """Pagination options for the list query."""
11586
12222
  pagination: Pagination
11587
12223
 
12224
+ """
12225
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12226
+ """
12227
+ search: String
12228
+
11588
12229
  """Sorting options for the list query."""
11589
12230
  sortings: [Sorting!]
11590
12231
  ): DataSummaryList!
@@ -11604,6 +12245,11 @@ type Query {
11604
12245
  """Pagination options for the list query."""
11605
12246
  pagination: Pagination
11606
12247
 
12248
+ """
12249
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12250
+ """
12251
+ search: String
12252
+
11607
12253
  """Sorting options for the list query."""
11608
12254
  sortings: [Sorting!]
11609
12255
  ): DataSummaryList!
@@ -11623,6 +12269,11 @@ type Query {
11623
12269
  """Pagination options for the list query."""
11624
12270
  pagination: Pagination
11625
12271
 
12272
+ """
12273
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12274
+ """
12275
+ search: String
12276
+
11626
12277
  """Sorting options for the list query."""
11627
12278
  sortings: [Sorting!]
11628
12279
  ): DataSummaryList!
@@ -11649,6 +12300,11 @@ type Query {
11649
12300
  pagination: Pagination
11650
12301
  period: String!
11651
12302
 
12303
+ """
12304
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12305
+ """
12306
+ search: String
12307
+
11652
12308
  """Sorting options for the list query."""
11653
12309
  sortings: [Sorting!]
11654
12310
  ): [DynamicDataSummary!]!
@@ -11667,6 +12323,11 @@ type Query {
11667
12323
  """Pagination options for the list query."""
11668
12324
  pagination: Pagination
11669
12325
 
12326
+ """
12327
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12328
+ """
12329
+ search: String
12330
+
11670
12331
  """Sorting options for the list query."""
11671
12332
  sortings: [Sorting!]
11672
12333
  ): DepartmentList
@@ -11682,6 +12343,11 @@ type Query {
11682
12343
  """Pagination options for the list query."""
11683
12344
  pagination: Pagination
11684
12345
 
12346
+ """
12347
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12348
+ """
12349
+ search: String
12350
+
11685
12351
  """Sorting options for the list query."""
11686
12352
  sortings: [Sorting!]
11687
12353
  ): DepartmentList!
@@ -11705,6 +12371,11 @@ type Query {
11705
12371
  """Pagination options for the list query."""
11706
12372
  pagination: Pagination
11707
12373
 
12374
+ """
12375
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12376
+ """
12377
+ search: String
12378
+
11708
12379
  """Sorting options for the list query."""
11709
12380
  sortings: [Sorting!]
11710
12381
  ): DomainLinkList!
@@ -11740,6 +12411,11 @@ type Query {
11740
12411
  """Pagination options for the list query."""
11741
12412
  pagination: Pagination
11742
12413
 
12414
+ """
12415
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12416
+ """
12417
+ search: String
12418
+
11743
12419
  """Sorting options for the list query."""
11744
12420
  sortings: [Sorting!]
11745
12421
  ): DomainList!
@@ -11758,6 +12434,11 @@ type Query {
11758
12434
  """Pagination options for the list query."""
11759
12435
  pagination: Pagination
11760
12436
 
12437
+ """
12438
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12439
+ """
12440
+ search: String
12441
+
11761
12442
  """Sorting options for the list query."""
11762
12443
  sortings: [Sorting!]
11763
12444
  ): ActivityThreadList!
@@ -11773,6 +12454,11 @@ type Query {
11773
12454
  """Pagination options for the list query."""
11774
12455
  pagination: Pagination
11775
12456
 
12457
+ """
12458
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12459
+ """
12460
+ search: String
12461
+
11776
12462
  """Sorting options for the list query."""
11777
12463
  sortings: [Sorting!]
11778
12464
  ): ActivityInstanceList!
@@ -11788,6 +12474,11 @@ type Query {
11788
12474
  """Pagination options for the list query."""
11789
12475
  pagination: Pagination
11790
12476
 
12477
+ """
12478
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12479
+ """
12480
+ search: String
12481
+
11791
12482
  """Sorting options for the list query."""
11792
12483
  sortings: [Sorting!]
11793
12484
  ): ApplianceList!
@@ -11810,6 +12501,11 @@ type Query {
11810
12501
  """Pagination options for the list query."""
11811
12502
  pagination: Pagination
11812
12503
 
12504
+ """
12505
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12506
+ """
12507
+ search: String
12508
+
11813
12509
  """Sorting options for the list query."""
11814
12510
  sortings: [Sorting!]
11815
12511
  ): EmployeeList!
@@ -11825,6 +12521,11 @@ type Query {
11825
12521
  """Pagination options for the list query."""
11826
12522
  pagination: Pagination
11827
12523
 
12524
+ """
12525
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12526
+ """
12527
+ search: String
12528
+
11828
12529
  """Sorting options for the list query."""
11829
12530
  sortings: [Sorting!]
11830
12531
  ): EntityList!
@@ -11846,6 +12547,11 @@ type Query {
11846
12547
  """Pagination options for the list query."""
11847
12548
  pagination: Pagination
11848
12549
 
12550
+ """
12551
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12552
+ """
12553
+ search: String
12554
+
11849
12555
  """Sorting options for the list query."""
11850
12556
  sortings: [Sorting!]
11851
12557
  ): EntityColumnList!
@@ -11868,6 +12574,11 @@ type Query {
11868
12574
  """Pagination options for the list query."""
11869
12575
  pagination: Pagination
11870
12576
 
12577
+ """
12578
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12579
+ """
12580
+ search: String
12581
+
11871
12582
  """Sorting options for the list query."""
11872
12583
  sortings: [Sorting!]
11873
12584
  ): EnvVarList!
@@ -11886,6 +12597,11 @@ type Query {
11886
12597
  """Pagination options for the list query."""
11887
12598
  pagination: Pagination
11888
12599
 
12600
+ """
12601
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12602
+ """
12603
+ search: String
12604
+
11889
12605
  """Sorting options for the list query."""
11890
12606
  sortings: [Sorting!]
11891
12607
  ): BoardFavoriteList!
@@ -11901,6 +12617,11 @@ type Query {
11901
12617
  """Pagination options for the list query."""
11902
12618
  pagination: Pagination
11903
12619
 
12620
+ """
12621
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12622
+ """
12623
+ search: String
12624
+
11904
12625
  """Sorting options for the list query."""
11905
12626
  sortings: [Sorting!]
11906
12627
  ): FavoriteList!
@@ -11931,6 +12652,11 @@ type Query {
11931
12652
  """Pagination options for the list query."""
11932
12653
  pagination: Pagination
11933
12654
 
12655
+ """
12656
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12657
+ """
12658
+ search: String
12659
+
11934
12660
  """Sorting options for the list query."""
11935
12661
  sortings: [Sorting!]
11936
12662
  ): FontList!
@@ -11954,6 +12680,11 @@ type Query {
11954
12680
  """Pagination options for the list query."""
11955
12681
  pagination: Pagination
11956
12682
 
12683
+ """
12684
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12685
+ """
12686
+ search: String
12687
+
11957
12688
  """Sorting options for the list query."""
11958
12689
  sortings: [Sorting!]
11959
12690
  ): GroupList!
@@ -11961,6 +12692,11 @@ type Query {
11961
12692
  """To query whether I have the given permission"""
11962
12693
  hasPrivilege(category: String!, privilege: String!): Boolean!
11963
12694
 
12695
+ """
12696
+ Number of sessions on this anchor that the caller has hidden and that have had no activity since. Meant to be requested alongside chatSessionInbox in the same operation so the filter can say how many are folded away.
12697
+ """
12698
+ hiddenSessionCount(anchorId: String!, anchorType: String!): Int!
12699
+
11964
12700
  """Get import session progress."""
11965
12701
  importSession(id: String!): ImportSession
11966
12702
 
@@ -11984,6 +12720,11 @@ type Query {
11984
12720
  """Pagination options for the list query."""
11985
12721
  pagination: Pagination
11986
12722
 
12723
+ """
12724
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12725
+ """
12726
+ search: String
12727
+
11987
12728
  """Sorting options for the list query."""
11988
12729
  sortings: [Sorting!]
11989
12730
  ): InspectionDrawingTypeList!
@@ -12002,6 +12743,11 @@ type Query {
12002
12743
  """Pagination options for the list query."""
12003
12744
  pagination: Pagination
12004
12745
 
12746
+ """
12747
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12748
+ """
12749
+ search: String
12750
+
12005
12751
  """Sorting options for the list query."""
12006
12752
  sortings: [Sorting!]
12007
12753
  ): InspectionPartList!
@@ -12017,6 +12763,11 @@ type Query {
12017
12763
  """Pagination options for the list query."""
12018
12764
  pagination: Pagination
12019
12765
 
12766
+ """
12767
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12768
+ """
12769
+ search: String
12770
+
12020
12771
  """Sorting options for the list query."""
12021
12772
  sortings: [Sorting!]
12022
12773
  ): InstallableActivityList!
@@ -12046,6 +12797,11 @@ type Query {
12046
12797
  """Pagination options for the list query."""
12047
12798
  pagination: Pagination
12048
12799
 
12800
+ """
12801
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12802
+ """
12803
+ search: String
12804
+
12049
12805
  """Sorting options for the list query."""
12050
12806
  sortings: [Sorting!]
12051
12807
  ): IssueList!
@@ -12077,7 +12833,9 @@ type Query {
12077
12833
  id: String!
12078
12834
  ): KpiMetricValue
12079
12835
 
12080
- """To fetch multiple KpiMetricValues"""
12836
+ """
12837
+ To fetch multiple KpiMetricValues (project-scoped or cross-domain admin view)
12838
+ """
12081
12839
  kpiMetricValues(
12082
12840
  """An array of filter conditions to apply to the list query."""
12083
12841
  filters: [Filter!]
@@ -12087,6 +12845,12 @@ type Query {
12087
12845
 
12088
12846
  """Pagination options for the list query."""
12089
12847
  pagination: Pagination
12848
+ projectId: String
12849
+
12850
+ """
12851
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12852
+ """
12853
+ search: String
12090
12854
 
12091
12855
  """Sorting options for the list query."""
12092
12856
  sortings: [Sorting!]
@@ -12103,6 +12867,11 @@ type Query {
12103
12867
  """Pagination options for the list query."""
12104
12868
  pagination: Pagination
12105
12869
 
12870
+ """
12871
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12872
+ """
12873
+ search: String
12874
+
12106
12875
  """Sorting options for the list query."""
12107
12876
  sortings: [Sorting!]
12108
12877
  ): KpiMetricList!
@@ -12139,6 +12908,11 @@ type Query {
12139
12908
  """Pagination options for the list query."""
12140
12909
  pagination: Pagination
12141
12910
 
12911
+ """
12912
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12913
+ """
12914
+ search: String
12915
+
12142
12916
  """Sorting options for the list query."""
12143
12917
  sortings: [Sorting!]
12144
12918
  ): KpiOrgScopeList!
@@ -12149,6 +12923,11 @@ type Query {
12149
12923
  searchTerm: String
12150
12924
  ): [String!]!
12151
12925
 
12926
+ """
12927
+ Get KPI stats aggregated from project data with optional sectorType/buildingUsage filters
12928
+ """
12929
+ kpiProjectStats(buildingUsage: String, endYearMonth: String, kpiNamePattern: String, sectorType: String, startYearMonth: String): [KpiProjectStat!]!
12930
+
12152
12931
  """Fetch a scope dimension definition by ID"""
12153
12932
  kpiScope(id: String!): KpiScope
12154
12933
 
@@ -12163,6 +12942,11 @@ type Query {
12163
12942
  """Pagination options for the list query."""
12164
12943
  pagination: Pagination
12165
12944
 
12945
+ """
12946
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12947
+ """
12948
+ search: String
12949
+
12166
12950
  """Sorting options for the list query."""
12167
12951
  sortings: [Sorting!]
12168
12952
  ): KpiScopeList!
@@ -12181,6 +12965,11 @@ type Query {
12181
12965
  """Pagination options for the list query."""
12182
12966
  pagination: Pagination
12183
12967
 
12968
+ """
12969
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12970
+ """
12971
+ search: String
12972
+
12184
12973
  """Sorting options for the list query."""
12185
12974
  sortings: [Sorting!]
12186
12975
  ): KpiStatisticList!
@@ -12205,10 +12994,38 @@ type Query {
12205
12994
  """Pagination options for the list query."""
12206
12995
  pagination: Pagination
12207
12996
 
12997
+ """
12998
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
12999
+ """
13000
+ search: String
13001
+
12208
13002
  """Sorting options for the list query."""
12209
13003
  sortings: [Sorting!]
12210
13004
  ): KpiValueList!
12211
13005
 
13006
+ """Get KPI box plot statistics for Y-category KPIs by geo group"""
13007
+ kpiYValueComprehensiveStatsByGeoGroup(geoGroup: String): [KpiComprehensiveStatsByGeoGroup!]!
13008
+
13009
+ """Get Y-level KPI statistics by geo_group code (sigungu)"""
13010
+ kpiYValueStatsByGeoGroup(buildingUsage: String, endYearMonth: String, geoGroup: String!, sectorType: String, startYearMonth: String): [KpiComprehensiveStats!]!
13011
+
13012
+ """Get KPI statistics for Y-category KPIs by specific metro area"""
13013
+ kpiYValueStatsByMetroArea(buildingUsage: String, endYearMonth: String, metroArea: String!, sectorType: String, startYearMonth: String): [KpiComprehensiveStats!]!
13014
+
13015
+ """Get KPI box plot statistics for Z-category KPIs by metro area"""
13016
+ kpiZValueComprehensiveStatsByGeoGroup(buildingUsage: String, endYearMonth: String, geoGroup: String, kpiName: String, sectorType: String, startYearMonth: String): [KpiComprehensiveStatsByGeoGroup!]!
13017
+
13018
+ """Get monthly KPI trend for Z-category KPIs by metro area"""
13019
+ kpiZValueMonthlyTrendByGeoGroup(buildingUsage: String, endYearMonth: String, kpiName: String, sectorType: String, startYearMonth: String): [KpiMonthlyTrend!]!
13020
+
13021
+ """
13022
+ Get monthly KPI trend for Z-category KPIs for a specific sigungu (geo_group code)
13023
+ """
13024
+ kpiZValueMonthlyTrendBySigungu(buildingUsage: String, endYearMonth: String, geoGroup: String!, kpiName: String, sectorType: String, startYearMonth: String): [KpiMonthlyTrend!]!
13025
+
13026
+ """Get KPI statistics by sigungu (geo_group code) level"""
13027
+ kpiZValueStatsBySigungu(buildingUsage: String, endYearMonth: String, kpiName: String, sectorType: String, startYearMonth: String): [KpiComprehensiveStatsByGeoGroup!]!
13028
+
12212
13029
  """To fetch multiple Kpis"""
12213
13030
  kpis(
12214
13031
  """An array of filter conditions to apply to the list query."""
@@ -12220,6 +13037,11 @@ type Query {
12220
13037
  """Pagination options for the list query."""
12221
13038
  pagination: Pagination
12222
13039
 
13040
+ """
13041
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13042
+ """
13043
+ search: String
13044
+
12223
13045
  """Sorting options for the list query."""
12224
13046
  sortings: [Sorting!]
12225
13047
  ): KpiList!
@@ -12250,6 +13072,11 @@ type Query {
12250
13072
  """Pagination options for the list query."""
12251
13073
  pagination: Pagination
12252
13074
 
13075
+ """
13076
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13077
+ """
13078
+ search: String
13079
+
12253
13080
  """Sorting options for the list query."""
12254
13081
  sortings: [Sorting!]
12255
13082
  ): KpiValueList!
@@ -12268,6 +13095,11 @@ type Query {
12268
13095
  """Pagination options for the list query."""
12269
13096
  pagination: Pagination
12270
13097
 
13098
+ """
13099
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13100
+ """
13101
+ search: String
13102
+
12271
13103
  """Sorting options for the list query."""
12272
13104
  sortings: [Sorting!]
12273
13105
  ): LiteMenuList!
@@ -12283,6 +13115,11 @@ type Query {
12283
13115
  """Pagination options for the list query."""
12284
13116
  pagination: Pagination
12285
13117
 
13118
+ """
13119
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13120
+ """
13121
+ search: String
13122
+
12286
13123
  """Sorting options for the list query."""
12287
13124
  sortings: [Sorting!]
12288
13125
  ): LoginHistoryList!
@@ -12307,6 +13144,11 @@ type Query {
12307
13144
  """Pagination options for the list query."""
12308
13145
  pagination: Pagination
12309
13146
 
13147
+ """
13148
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13149
+ """
13150
+ search: String
13151
+
12310
13152
  """Sorting options for the list query."""
12311
13153
  sortings: [Sorting!]
12312
13154
  ): MenuButtonList!
@@ -12328,6 +13170,11 @@ type Query {
12328
13170
  """Pagination options for the list query."""
12329
13171
  pagination: Pagination
12330
13172
 
13173
+ """
13174
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13175
+ """
13176
+ search: String
13177
+
12331
13178
  """Sorting options for the list query."""
12332
13179
  sortings: [Sorting!]
12333
13180
  ): MenuColumnList!
@@ -12349,6 +13196,11 @@ type Query {
12349
13196
  """Pagination options for the list query."""
12350
13197
  pagination: Pagination
12351
13198
 
13199
+ """
13200
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13201
+ """
13202
+ search: String
13203
+
12352
13204
  """Sorting options for the list query."""
12353
13205
  sortings: [Sorting!]
12354
13206
  ): MenuDetailButtonList!
@@ -12367,6 +13219,11 @@ type Query {
12367
13219
  """Pagination options for the list query."""
12368
13220
  pagination: Pagination
12369
13221
 
13222
+ """
13223
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13224
+ """
13225
+ search: String
13226
+
12370
13227
  """Sorting options for the list query."""
12371
13228
  sortings: [Sorting!]
12372
13229
  ): MenuDetailColumnList!
@@ -12382,6 +13239,11 @@ type Query {
12382
13239
  """Pagination options for the list query."""
12383
13240
  pagination: Pagination
12384
13241
 
13242
+ """
13243
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13244
+ """
13245
+ search: String
13246
+
12385
13247
  """Sorting options for the list query."""
12386
13248
  sortings: [Sorting!]
12387
13249
  ): MenuDetailList!
@@ -12397,6 +13259,11 @@ type Query {
12397
13259
  """Pagination options for the list query."""
12398
13260
  pagination: Pagination
12399
13261
 
13262
+ """
13263
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13264
+ """
13265
+ search: String
13266
+
12400
13267
  """Sorting options for the list query."""
12401
13268
  sortings: [Sorting!]
12402
13269
  ): MenuList!
@@ -12412,6 +13279,11 @@ type Query {
12412
13279
  """Pagination options for the list query."""
12413
13280
  pagination: Pagination
12414
13281
 
13282
+ """
13283
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13284
+ """
13285
+ search: String
13286
+
12415
13287
  """Sorting options for the list query."""
12416
13288
  sortings: [Sorting!]
12417
13289
  ): ApprovalLineList!
@@ -12430,6 +13302,11 @@ type Query {
12430
13302
  """Pagination options for the list query."""
12431
13303
  pagination: Pagination
12432
13304
 
13305
+ """
13306
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13307
+ """
13308
+ search: String
13309
+
12433
13310
  """Sorting options for the list query."""
12434
13311
  sortings: [Sorting!]
12435
13312
  ): LiteMenuList!
@@ -12446,6 +13323,11 @@ type Query {
12446
13323
  """Pagination options for the list query."""
12447
13324
  pagination: Pagination
12448
13325
 
13326
+ """
13327
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13328
+ """
13329
+ search: String
13330
+
12449
13331
  """Sorting options for the list query."""
12450
13332
  sortings: [Sorting!]
12451
13333
  ): MenuList!
@@ -12461,6 +13343,11 @@ type Query {
12461
13343
  """Pagination options for the list query."""
12462
13344
  pagination: Pagination
12463
13345
 
13346
+ """
13347
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13348
+ """
13349
+ search: String
13350
+
12464
13351
  """Sorting options for the list query."""
12465
13352
  sortings: [Sorting!]
12466
13353
  ): NotificationList!
@@ -12482,6 +13369,11 @@ type Query {
12482
13369
  """Pagination options for the list query."""
12483
13370
  pagination: Pagination
12484
13371
 
13372
+ """
13373
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13374
+ """
13375
+ search: String
13376
+
12485
13377
  """Sorting options for the list query."""
12486
13378
  sortings: [Sorting!]
12487
13379
  ): PagePreferenceList!
@@ -12503,6 +13395,11 @@ type Query {
12503
13395
  """Pagination options for the list query."""
12504
13396
  pagination: Pagination
12505
13397
 
13398
+ """
13399
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13400
+ """
13401
+ search: String
13402
+
12506
13403
  """Sorting options for the list query."""
12507
13404
  sortings: [Sorting!]
12508
13405
  ): UserPreferenceList!
@@ -12527,6 +13424,11 @@ type Query {
12527
13424
  """Pagination options for the list query."""
12528
13425
  pagination: Pagination
12529
13426
 
13427
+ """
13428
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13429
+ """
13430
+ search: String
13431
+
12530
13432
  """Sorting options for the list query."""
12531
13433
  sortings: [Sorting!]
12532
13434
  ): NotificationRuleList!
@@ -12542,6 +13444,11 @@ type Query {
12542
13444
  """Pagination options for the list query."""
12543
13445
  pagination: Pagination
12544
13446
 
13447
+ """
13448
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13449
+ """
13450
+ search: String
13451
+
12545
13452
  """Sorting options for the list query."""
12546
13453
  sortings: [Sorting!]
12547
13454
  ): NotificationList!
@@ -12560,6 +13467,11 @@ type Query {
12560
13467
  """Pagination options for the list query."""
12561
13468
  pagination: Pagination
12562
13469
 
13470
+ """
13471
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13472
+ """
13473
+ search: String
13474
+
12563
13475
  """Sorting options for the list query."""
12564
13476
  sortings: [Sorting!]
12565
13477
  ): Oauth2ClientList!
@@ -12585,6 +13497,11 @@ type Query {
12585
13497
  """Pagination options for the list query."""
12586
13498
  pagination: Pagination
12587
13499
 
13500
+ """
13501
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13502
+ """
13503
+ search: String
13504
+
12588
13505
  """Sorting options for the list query."""
12589
13506
  sortings: [Sorting!]
12590
13507
  ): PartnerList!
@@ -12608,6 +13525,11 @@ type Query {
12608
13525
  """Pagination options for the list query."""
12609
13526
  pagination: Pagination
12610
13527
 
13528
+ """
13529
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13530
+ """
13531
+ search: String
13532
+
12611
13533
  """Sorting options for the list query."""
12612
13534
  sortings: [Sorting!]
12613
13535
  ): PayloadLogList!
@@ -12632,6 +13554,11 @@ type Query {
12632
13554
  """Pagination options for the list query."""
12633
13555
  pagination: Pagination
12634
13556
 
13557
+ """
13558
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13559
+ """
13560
+ search: String
13561
+
12635
13562
  """Sorting options for the list query."""
12636
13563
  sortings: [Sorting!]
12637
13564
  ): ActivityInstanceList!
@@ -12653,6 +13580,11 @@ type Query {
12653
13580
  """Pagination options for the list query."""
12654
13581
  pagination: Pagination
12655
13582
 
13583
+ """
13584
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13585
+ """
13586
+ search: String
13587
+
12656
13588
  """Sorting options for the list query."""
12657
13589
  sortings: [Sorting!]
12658
13590
  ): PlayGroupList!
@@ -12674,6 +13606,11 @@ type Query {
12674
13606
  """Pagination options for the list query."""
12675
13607
  pagination: Pagination
12676
13608
 
13609
+ """
13610
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13611
+ """
13612
+ search: String
13613
+
12677
13614
  """Sorting options for the list query."""
12678
13615
  sortings: [Sorting!]
12679
13616
  ): PrinterDeviceList!
@@ -12689,6 +13626,11 @@ type Query {
12689
13626
  """Pagination options for the list query."""
12690
13627
  pagination: Pagination
12691
13628
 
13629
+ """
13630
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13631
+ """
13632
+ search: String
13633
+
12692
13634
  """Sorting options for the list query."""
12693
13635
  sortings: [Sorting!]
12694
13636
  ): PrivilegeList!
@@ -12713,6 +13655,11 @@ type Query {
12713
13655
  """Pagination options for the list query."""
12714
13656
  pagination: Pagination
12715
13657
 
13658
+ """
13659
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13660
+ """
13661
+ search: String
13662
+
12716
13663
  """Sorting options for the list query."""
12717
13664
  sortings: [Sorting!]
12718
13665
  ): ProjectChecklistItemList!
@@ -12728,6 +13675,11 @@ type Query {
12728
13675
  """Pagination options for the list query."""
12729
13676
  pagination: Pagination
12730
13677
 
13678
+ """
13679
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13680
+ """
13681
+ search: String
13682
+
12731
13683
  """Sorting options for the list query."""
12732
13684
  sortings: [Sorting!]
12733
13685
  ): ProjectChecklistList!
@@ -12746,10 +13698,20 @@ type Query {
12746
13698
  """Pagination options for the list query."""
12747
13699
  pagination: Pagination
12748
13700
 
13701
+ """
13702
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13703
+ """
13704
+ search: String
13705
+
12749
13706
  """Sorting options for the list query."""
12750
13707
  sortings: [Sorting!]
12751
13708
  ): ProjectReportList!
12752
13709
 
13710
+ """
13711
+ To fetch KpiValues by project group with X prefix kpi names (latest valueDate only)
13712
+ """
13713
+ projectXKpiValues(projectId: String!): [KpiValue!]!
13714
+
12753
13715
  """프로젝트 리스트"""
12754
13716
  projects(
12755
13717
  """An array of filter conditions to apply to the list query."""
@@ -12761,6 +13723,11 @@ type Query {
12761
13723
  """Pagination options for the list query."""
12762
13724
  pagination: Pagination
12763
13725
 
13726
+ """
13727
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13728
+ """
13729
+ search: String
13730
+
12764
13731
  """Sorting options for the list query."""
12765
13732
  sortings: [Sorting!]
12766
13733
  ): ProjectList!
@@ -12785,6 +13752,11 @@ type Query {
12785
13752
  """Pagination options for the list query."""
12786
13753
  pagination: Pagination
12787
13754
 
13755
+ """
13756
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13757
+ """
13758
+ search: String
13759
+
12788
13760
  """Sorting options for the list query."""
12789
13761
  sortings: [Sorting!]
12790
13762
  ): ResourceList!
@@ -12809,6 +13781,11 @@ type Query {
12809
13781
  """Pagination options for the list query."""
12810
13782
  pagination: Pagination
12811
13783
 
13784
+ """
13785
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13786
+ """
13787
+ search: String
13788
+
12812
13789
  """Sorting options for the list query."""
12813
13790
  sortings: [Sorting!]
12814
13791
  ): RoleList!
@@ -12830,10 +13807,33 @@ type Query {
12830
13807
  """Pagination options for the list query."""
12831
13808
  pagination: Pagination
12832
13809
 
13810
+ """
13811
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13812
+ """
13813
+ search: String
13814
+
12833
13815
  """Sorting options for the list query."""
12834
13816
  sortings: [Sorting!]
12835
13817
  ): ScenarioInstanceList!
12836
13818
 
13819
+ """Fetches the most recently released version (snapshot) of a scenario."""
13820
+ scenarioPublished(id: String!): ScenarioHistory
13821
+
13822
+ """
13823
+ Fetches a specific released version (snapshot) of a scenario by version number.
13824
+ """
13825
+ scenarioVersion(id: String!, version: Int!): ScenarioHistory
13826
+
13827
+ """
13828
+ Computes the difference between a released version and either another released version or the current draft. Omit toVersion to diff the base version against the current draft.
13829
+ """
13830
+ scenarioVersionDiff(id: String!, toVersion: Int, version: Int!): ScenarioVersionDiff!
13831
+
13832
+ """
13833
+ Fetches recent released versions (snapshots) of a scenario, newest first.
13834
+ """
13835
+ scenarioVersions(id: String!): [ScenarioHistory!]!
13836
+
12837
13837
  """Fetches a paginated list of scenarios."""
12838
13838
  scenarios(
12839
13839
  """An array of filter conditions to apply to the list query."""
@@ -12845,6 +13845,11 @@ type Query {
12845
13845
  """Pagination options for the list query."""
12846
13846
  pagination: Pagination
12847
13847
 
13848
+ """
13849
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13850
+ """
13851
+ search: String
13852
+
12848
13853
  """Sorting options for the list query."""
12849
13854
  sortings: [Sorting!]
12850
13855
  ): ScenarioList!
@@ -12858,6 +13863,11 @@ type Query {
12858
13863
  """Pagination options for the list query."""
12859
13864
  pagination: Pagination
12860
13865
 
13866
+ """
13867
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13868
+ """
13869
+ search: String
13870
+
12861
13871
  """Sorting options for the list query."""
12862
13872
  sortings: [Sorting!]
12863
13873
  ): DomainList!
@@ -12881,6 +13891,11 @@ type Query {
12881
13891
  """Pagination options for the list query."""
12882
13892
  pagination: Pagination
12883
13893
 
13894
+ """
13895
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13896
+ """
13897
+ search: String
13898
+
12884
13899
  """Sorting options for the list query."""
12885
13900
  sortings: [Sorting!]
12886
13901
  ): SettingList!
@@ -12896,6 +13911,11 @@ type Query {
12896
13911
  """Pagination options for the list query."""
12897
13912
  pagination: Pagination
12898
13913
 
13914
+ """
13915
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13916
+ """
13917
+ search: String
13918
+
12899
13919
  """Sorting options for the list query."""
12900
13920
  sortings: [Sorting!]
12901
13921
  ): ActivityList!
@@ -12917,6 +13937,11 @@ type Query {
12917
13937
  """Pagination options for the list query."""
12918
13938
  pagination: Pagination
12919
13939
 
13940
+ """
13941
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13942
+ """
13943
+ search: String
13944
+
12920
13945
  """Sorting options for the list query."""
12921
13946
  sortings: [Sorting!]
12922
13947
  ): StateRegisterList!
@@ -12935,6 +13960,11 @@ type Query {
12935
13960
  """Pagination options for the list query."""
12936
13961
  pagination: Pagination
12937
13962
 
13963
+ """
13964
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13965
+ """
13966
+ search: String
13967
+
12938
13968
  """Sorting options for the list query."""
12939
13969
  sortings: [Sorting!]
12940
13970
  ): StepList!
@@ -12958,6 +13988,11 @@ type Query {
12958
13988
  """Pagination options for the list query."""
12959
13989
  pagination: Pagination
12960
13990
 
13991
+ """
13992
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
13993
+ """
13994
+ search: String
13995
+
12961
13996
  """Sorting options for the list query."""
12962
13997
  sortings: [Sorting!]
12963
13998
  ): ActivityList!
@@ -12976,6 +14011,11 @@ type Query {
12976
14011
  """Pagination options for the list query."""
12977
14012
  pagination: Pagination
12978
14013
 
14014
+ """
14015
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
14016
+ """
14017
+ search: String
14018
+
12979
14019
  """Sorting options for the list query."""
12980
14020
  sortings: [Sorting!]
12981
14021
  ): SupervisorList!
@@ -13000,6 +14040,11 @@ type Query {
13000
14040
  """Pagination options for the list query."""
13001
14041
  pagination: Pagination
13002
14042
 
14043
+ """
14044
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
14045
+ """
14046
+ search: String
14047
+
13003
14048
  """Sorting options for the list query."""
13004
14049
  sortings: [Sorting!]
13005
14050
  ): TaskResourceList!
@@ -13026,6 +14071,11 @@ type Query {
13026
14071
  """Pagination options for the list query."""
13027
14072
  pagination: Pagination
13028
14073
 
14074
+ """
14075
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
14076
+ """
14077
+ search: String
14078
+
13029
14079
  """Sorting options for the list query."""
13030
14080
  sortings: [Sorting!]
13031
14081
  ): TaskList!
@@ -13041,6 +14091,11 @@ type Query {
13041
14091
  """Pagination options for the list query."""
13042
14092
  pagination: Pagination
13043
14093
 
14094
+ """
14095
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
14096
+ """
14097
+ search: String
14098
+
13044
14099
  """Sorting options for the list query."""
13045
14100
  sortings: [Sorting!]
13046
14101
  ): TerminologyList!
@@ -13062,6 +14117,11 @@ type Query {
13062
14117
  """Pagination options for the list query."""
13063
14118
  pagination: Pagination
13064
14119
 
14120
+ """
14121
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
14122
+ """
14123
+ search: String
14124
+
13065
14125
  """Sorting options for the list query."""
13066
14126
  sortings: [Sorting!]
13067
14127
  ): ThemeList!
@@ -13077,10 +14137,21 @@ type Query {
13077
14137
  """Pagination options for the list query."""
13078
14138
  pagination: Pagination
13079
14139
 
14140
+ """
14141
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
14142
+ """
14143
+ search: String
14144
+
13080
14145
  """Sorting options for the list query."""
13081
14146
  sortings: [Sorting!]
13082
14147
  ): ActivityThreadList!
13083
14148
 
14149
+ """Get KPI box plot statistics for Y-category KPIs for all projects"""
14150
+ totalKpiYValueComprehensiveStats(buildingUsage: String, endYearMonth: String, sectorType: String, startYearMonth: String): [KpiComprehensiveStats!]!
14151
+
14152
+ """Get KPI box plot statistics for Z-category KPIs for all projects"""
14153
+ totalKpiZValueComprehensiveStats(buildingUsage: String, endYearMonth: String, sectorType: String, startYearMonth: String): [KpiComprehensiveStats!]!
14154
+
13084
14155
  """Fetches a user by their email address within the current domain."""
13085
14156
  user(
13086
14157
  """The email address of the user to fetch."""
@@ -13106,6 +14177,11 @@ type Query {
13106
14177
  """Pagination options for the list query."""
13107
14178
  pagination: Pagination
13108
14179
 
14180
+ """
14181
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
14182
+ """
14183
+ search: String
14184
+
13109
14185
  """Sorting options for the list query."""
13110
14186
  sortings: [Sorting!]
13111
14187
  ): UserList!
@@ -13122,6 +14198,11 @@ type Query {
13122
14198
  """Pagination options for the list query."""
13123
14199
  pagination: Pagination
13124
14200
 
14201
+ """
14202
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
14203
+ """
14204
+ search: String
14205
+
13125
14206
  """Sorting options for the list query."""
13126
14207
  sortings: [Sorting!]
13127
14208
  ): WorkShiftList!
@@ -13140,6 +14221,11 @@ type Query {
13140
14221
  """Pagination options for the list query."""
13141
14222
  pagination: Pagination
13142
14223
 
14224
+ """
14225
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
14226
+ """
14227
+ search: String
14228
+
13143
14229
  """Sorting options for the list query."""
13144
14230
  sortings: [Sorting!]
13145
14231
  ): WorkerTypeList!
@@ -13321,6 +14407,11 @@ type Scenario {
13321
14407
 
13322
14408
  """Indicates if the scenario is accessible and executable system-wide."""
13323
14409
  public: Boolean
14410
+
14411
+ """
14412
+ The publish state of the scenario: 'draft' (has unreleased edits) or 'released'.
14413
+ """
14414
+ publishState: String
13324
14415
  publishTags: [Connection!]!
13325
14416
 
13326
14417
  """Role required to execute the scenario."""
@@ -13332,9 +14423,7 @@ type Scenario {
13332
14423
  """The ID of the scheduled job, if any."""
13333
14424
  scheduleId: String
13334
14425
  state: String
13335
-
13336
- """The sequence of steps that make up the scenario."""
13337
- steps: [Step!]
14426
+ steps: [Step!]!
13338
14427
 
13339
14428
  """The timezone for the schedule."""
13340
14429
  timezone: String
@@ -13350,6 +14439,88 @@ type Scenario {
13350
14439
 
13351
14440
  """The user who last updated the scenario."""
13352
14441
  updater: User
14442
+
14443
+ """
14444
+ The latest released version number of the scenario (0 if never released).
14445
+ """
14446
+ version: Int
14447
+ }
14448
+
14449
+ """A single scenario field difference between two versions."""
14450
+ type ScenarioFieldDiff {
14451
+ """The value after (in the target version/draft)."""
14452
+ after: Object
14453
+
14454
+ """The value before (in the base version)."""
14455
+ before: Object
14456
+
14457
+ """
14458
+ The name of the field that changed (e.g. description, schedule, steps).
14459
+ """
14460
+ field: String!
14461
+ }
14462
+
14463
+ """Stores released (published) version snapshots of scenarios."""
14464
+ type ScenarioHistory {
14465
+ """The action that created this history record."""
14466
+ action: String!
14467
+
14468
+ """The release note/comment left when this version was published."""
14469
+ comment: String
14470
+
14471
+ """The creation timestamp of the original scenario."""
14472
+ createdAt: DateTimeISO
14473
+
14474
+ """The user who created the original scenario."""
14475
+ creator: User
14476
+
14477
+ """The description of the scenario at this point in history."""
14478
+ description: String
14479
+
14480
+ """The domain this scenario belonged to."""
14481
+ domain: Domain
14482
+
14483
+ """Unique identifier for the scenario history record."""
14484
+ id: ID!
14485
+
14486
+ """The iteration mode of the scenario at this point in history."""
14487
+ iteration: String
14488
+
14489
+ """The name of the scenario at this point in history."""
14490
+ name: String
14491
+
14492
+ """The ID of the original scenario this history record belongs to."""
14493
+ originalId: String!
14494
+
14495
+ """Privilege required to execute the scenario."""
14496
+ privilege: PrivilegeObject
14497
+
14498
+ """Role required to execute the scenario at this point."""
14499
+ role: Role
14500
+
14501
+ """The schedule of the scenario at this point in history."""
14502
+ schedule: String
14503
+
14504
+ """The steps of the scenario captured in this version."""
14505
+ steps: [Step!]
14506
+
14507
+ """The timezone of the scenario at this point in history."""
14508
+ timezone: String
14509
+
14510
+ """The time-to-live of scenario instances at this point."""
14511
+ ttl: Int
14512
+
14513
+ """The type of the scenario at this point in history."""
14514
+ type: String
14515
+
14516
+ """The update timestamp of the scenario at this point in history."""
14517
+ updatedAt: DateTimeISO
14518
+
14519
+ """The user who published this version."""
14520
+ updater: User
14521
+
14522
+ """The released version number of this snapshot."""
14523
+ version: Int
13353
14524
  }
13354
14525
 
13355
14526
  """Represents a running or completed instance of a scenario."""
@@ -13558,6 +14729,47 @@ type ScenarioQueueState {
13558
14729
  queue: [PendingObject!]!
13559
14730
  }
13560
14731
 
14732
+ """
14733
+ A single step difference between two scenario versions, keyed by step name.
14734
+ """
14735
+ type ScenarioStepDiff {
14736
+ """The step as it is in the target version/draft."""
14737
+ after: Object
14738
+
14739
+ """The step as it was in the base version."""
14740
+ before: Object
14741
+
14742
+ """The kind of change: 'added', 'removed', or 'modified'."""
14743
+ changeType: String!
14744
+
14745
+ """
14746
+ Field-level changes within a modified step (task, connection, params, ...).
14747
+ """
14748
+ fieldDiffs: [ScenarioFieldDiff!]
14749
+
14750
+ """The step name (identity used for diffing)."""
14751
+ name: String
14752
+ }
14753
+
14754
+ """
14755
+ The difference between two scenario versions (or a version and the current draft).
14756
+ """
14757
+ type ScenarioVersionDiff {
14758
+ """Scenario-level field changes."""
14759
+ fieldDiffs: [ScenarioFieldDiff!]!
14760
+
14761
+ """The base version number being compared from."""
14762
+ fromVersion: Int!
14763
+
14764
+ """Step-level changes keyed by step name."""
14765
+ stepDiffs: [ScenarioStepDiff!]!
14766
+
14767
+ """
14768
+ The target version number being compared to. Null means the current draft.
14769
+ """
14770
+ toVersion: Int
14771
+ }
14772
+
13561
14773
  """Types of organizational scope dimensions"""
13562
14774
  enum ScopeType {
13563
14775
  BUSINESS
@@ -13568,6 +14780,36 @@ enum ScopeType {
13568
14780
  TEMPORAL
13569
14781
  }
13570
14782
 
14783
+ """
14784
+ Activity notice for a session the current user participates in — badge/list refresh only, no message body.
14785
+ """
14786
+ type SessionActivity {
14787
+ """User who caused the activity — clients skip badging their own."""
14788
+ actorId: String
14789
+
14790
+ """Id of the anchored target."""
14791
+ anchorId: String
14792
+
14793
+ """
14794
+ What the session is anchored to: 'board' | 'space' | 'instance' | 'none'.
14795
+ """
14796
+ anchorType: String
14797
+
14798
+ """Activity timestamp (ISO)."""
14799
+ at: String!
14800
+
14801
+ """
14802
+ Kind of activity: 'message' (new message — raise the unread badge) or 'meta' (session itself changed, e.g. renamed — refresh the list but do not badge).
14803
+ """
14804
+ kind: String!
14805
+
14806
+ """One-line preview (not the full body)."""
14807
+ preview: String
14808
+
14809
+ """Session that had activity."""
14810
+ sessionId: String!
14811
+ }
14812
+
13571
14813
  """Entity for Setting"""
13572
14814
  type Setting {
13573
14815
  category: String!
@@ -13882,6 +15124,11 @@ type Subscription {
13882
15124
  Real-time subscription for out-of-control (OOC) events. Users with supervisory roles receive immediate notifications when OOC events occur in their domain.
13883
15125
  """
13884
15126
  dataOoc: DataOoc!
15127
+
15128
+ """
15129
+ Subscribes to activity in every session the current user participates in, so a closed chat surface can still show unread badges and refresh its list.
15130
+ """
15131
+ mySessionActivity: SessionActivity!
13885
15132
  notification(subjects: [String!]): Notification!
13886
15133
 
13887
15134
  """Subscribes to real-time updates for a specific play group."""
@@ -13960,6 +15207,11 @@ type Task {
13960
15207
  """Pagination options for the list query."""
13961
15208
  pagination: Pagination
13962
15209
 
15210
+ """
15211
+ A single free-text term matched across the fields the resolver declares as searchable (OR). Additive to filters: both are applied together. Prefer this over hand-assembling one search filter per field.
15212
+ """
15213
+ search: String
15214
+
13963
15215
  """Sorting options for the list query."""
13964
15216
  sortings: [Sorting!]
13965
15217
  ): [Task!]