comisai 1.0.24 → 1.0.26

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 (192) hide show
  1. package/node_modules/@comis/agent/dist/bootstrap/sections/tool-descriptions.js +130 -10
  2. package/node_modules/@comis/agent/dist/bootstrap/sections/tooling-sections.d.ts +1 -1
  3. package/node_modules/@comis/agent/dist/bootstrap/sections/tooling-sections.js +9 -2
  4. package/node_modules/@comis/agent/dist/bridge/bridge-metrics.d.ts +8 -0
  5. package/node_modules/@comis/agent/dist/bridge/bridge-metrics.js +2 -0
  6. package/node_modules/@comis/agent/dist/bridge/pi-event-bridge.d.ts +29 -0
  7. package/node_modules/@comis/agent/dist/bridge/pi-event-bridge.js +242 -2
  8. package/node_modules/@comis/agent/dist/bridge/thinking-block-hash-invariant.d.ts +210 -0
  9. package/node_modules/@comis/agent/dist/bridge/thinking-block-hash-invariant.js +566 -0
  10. package/node_modules/@comis/agent/dist/context-engine/context-engine.js +8 -6
  11. package/node_modules/@comis/agent/dist/context-engine/signature-replay-scrubber.d.ts +51 -30
  12. package/node_modules/@comis/agent/dist/context-engine/signature-replay-scrubber.js +109 -36
  13. package/node_modules/@comis/agent/dist/executor/executor-context-engine-setup.js +5 -1
  14. package/node_modules/@comis/agent/dist/executor/executor-post-execution.js +22 -20
  15. package/node_modules/@comis/agent/dist/executor/executor-prompt-runner.d.ts +2 -0
  16. package/node_modules/@comis/agent/dist/executor/executor-prompt-runner.js +111 -15
  17. package/node_modules/@comis/agent/dist/executor/executor-response-filter.d.ts +20 -17
  18. package/node_modules/@comis/agent/dist/executor/executor-response-filter.js +132 -52
  19. package/node_modules/@comis/agent/dist/executor/executor-tool-assembly.js +16 -3
  20. package/node_modules/@comis/agent/dist/executor/model-retry.d.ts +14 -0
  21. package/node_modules/@comis/agent/dist/executor/model-retry.js +72 -1
  22. package/node_modules/@comis/agent/dist/executor/pi-executor.d.ts +3 -0
  23. package/node_modules/@comis/agent/dist/executor/pi-executor.js +68 -9
  24. package/node_modules/@comis/agent/dist/executor/post-batch-continuation.d.ts +82 -0
  25. package/node_modules/@comis/agent/dist/executor/post-batch-continuation.js +200 -0
  26. package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body-injector.js +1 -9
  27. package/node_modules/@comis/agent/dist/executor/tool-deferral.d.ts +37 -2
  28. package/node_modules/@comis/agent/dist/executor/tool-deferral.js +45 -3
  29. package/node_modules/@comis/agent/dist/executor/tool-parallelism.js +0 -1
  30. package/node_modules/@comis/agent/dist/executor/types.d.ts +11 -2
  31. package/node_modules/@comis/agent/dist/index.d.ts +3 -1
  32. package/node_modules/@comis/agent/dist/index.js +2 -0
  33. package/node_modules/@comis/agent/dist/model/last-known-model.d.ts +36 -0
  34. package/node_modules/@comis/agent/dist/model/last-known-model.js +49 -0
  35. package/node_modules/@comis/agent/dist/model/model-registry-adapter.d.ts +16 -4
  36. package/node_modules/@comis/agent/dist/model/model-registry-adapter.js +65 -21
  37. package/node_modules/@comis/agent/dist/planner/types.d.ts +0 -2
  38. package/node_modules/@comis/agent/dist/session/comis-session-manager.d.ts +10 -0
  39. package/node_modules/@comis/agent/dist/session/comis-session-manager.js +5 -0
  40. package/node_modules/@comis/agent/dist/spawn/pi-mono-adapters.js +7 -0
  41. package/node_modules/@comis/agent/package.json +1 -1
  42. package/node_modules/@comis/channels/package.json +1 -1
  43. package/node_modules/@comis/cli/dist/client/rpc-client.js +6 -1
  44. package/node_modules/@comis/cli/dist/commands/doctor.js +5 -3
  45. package/node_modules/@comis/cli/dist/commands/health.js +5 -2
  46. package/node_modules/@comis/cli/dist/wizard/json-output.js +7 -3
  47. package/node_modules/@comis/cli/dist/wizard/steps/11-daemon-start.js +130 -0
  48. package/node_modules/@comis/cli/package.json +1 -1
  49. package/node_modules/@comis/core/dist/bootstrap.js +5 -0
  50. package/node_modules/@comis/core/dist/config/env-layer.d.ts +31 -0
  51. package/node_modules/@comis/core/dist/config/env-layer.js +41 -0
  52. package/node_modules/@comis/core/dist/config/immutable-keys.d.ts +2 -2
  53. package/node_modules/@comis/core/dist/config/immutable-keys.js +8 -3
  54. package/node_modules/@comis/core/dist/config/layered.d.ts +9 -0
  55. package/node_modules/@comis/core/dist/config/layered.js +11 -0
  56. package/node_modules/@comis/core/dist/config/managed-sections.d.ts +43 -4
  57. package/node_modules/@comis/core/dist/config/managed-sections.js +100 -6
  58. package/node_modules/@comis/core/dist/config/schema-agent.d.ts +39 -0
  59. package/node_modules/@comis/core/dist/config/schema-agent.js +14 -0
  60. package/node_modules/@comis/core/dist/config/schema.d.ts +4 -0
  61. package/node_modules/@comis/core/dist/config/schema.js +14 -0
  62. package/node_modules/@comis/core/dist/domain/execution-graph.d.ts +1 -1
  63. package/node_modules/@comis/core/dist/event-bus/events-agent.d.ts +17 -2
  64. package/node_modules/@comis/core/dist/exports/config.d.ts +2 -2
  65. package/node_modules/@comis/core/dist/exports/config.js +1 -1
  66. package/node_modules/@comis/core/package.json +1 -1
  67. package/node_modules/@comis/daemon/dist/daemon.d.ts +22 -0
  68. package/node_modules/@comis/daemon/dist/daemon.js +45 -0
  69. package/node_modules/@comis/daemon/dist/rpc/agent-handlers.d.ts +5 -2
  70. package/node_modules/@comis/daemon/dist/rpc/agent-handlers.js +80 -1
  71. package/node_modules/@comis/daemon/dist/rpc/agent-inline-workspace.d.ts +67 -0
  72. package/node_modules/@comis/daemon/dist/rpc/agent-inline-workspace.js +139 -0
  73. package/node_modules/@comis/daemon/dist/rpc/model-handlers.d.ts +3 -0
  74. package/node_modules/@comis/daemon/dist/rpc/model-handlers.js +29 -5
  75. package/node_modules/@comis/daemon/dist/rpc/probe-provider-auth.d.ts +30 -0
  76. package/node_modules/@comis/daemon/dist/rpc/probe-provider-auth.js +59 -0
  77. package/node_modules/@comis/daemon/dist/rpc/provider-handlers.d.ts +37 -0
  78. package/node_modules/@comis/daemon/dist/rpc/provider-handlers.js +330 -0
  79. package/node_modules/@comis/daemon/dist/rpc/rpc-dispatch.js +18 -1
  80. package/node_modules/@comis/daemon/dist/setup-docker-restart-warn.d.ts +4 -0
  81. package/node_modules/@comis/daemon/dist/setup-docker-restart-warn.js +30 -0
  82. package/node_modules/@comis/daemon/dist/wiring/setup-agents.d.ts +3 -1
  83. package/node_modules/@comis/daemon/dist/wiring/setup-agents.js +28 -2
  84. package/node_modules/@comis/daemon/dist/wiring/setup-cross-session.js +1 -0
  85. package/node_modules/@comis/daemon/dist/wiring/setup-tools.js +7 -4
  86. package/node_modules/@comis/daemon/package.json +1 -1
  87. package/node_modules/@comis/gateway/package.json +1 -1
  88. package/node_modules/@comis/infra/dist/index.d.ts +1 -0
  89. package/node_modules/@comis/infra/dist/index.js +2 -0
  90. package/node_modules/@comis/infra/dist/runtime/is-docker.d.ts +1 -0
  91. package/node_modules/@comis/infra/dist/runtime/is-docker.js +25 -0
  92. package/node_modules/@comis/infra/package.json +1 -1
  93. package/node_modules/@comis/memory/package.json +1 -1
  94. package/node_modules/@comis/scheduler/package.json +1 -1
  95. package/node_modules/@comis/shared/package.json +1 -1
  96. package/node_modules/@comis/skills/dist/bridge/tool-metadata-registry.js +1 -3
  97. package/node_modules/@comis/skills/dist/builtin/platform/admin-manage-factory.js +24 -1
  98. package/node_modules/@comis/skills/dist/builtin/platform/agents-manage-tool.d.ts +53 -7
  99. package/node_modules/@comis/skills/dist/builtin/platform/agents-manage-tool.js +218 -24
  100. package/node_modules/@comis/skills/dist/builtin/platform/gateway-tool.d.ts +4 -1
  101. package/node_modules/@comis/skills/dist/builtin/platform/gateway-tool.js +16 -1
  102. package/node_modules/@comis/skills/dist/builtin/platform/index.d.ts +1 -1
  103. package/node_modules/@comis/skills/dist/builtin/platform/index.js +1 -1
  104. package/node_modules/@comis/skills/dist/builtin/platform/providers-manage-tool.d.ts +56 -0
  105. package/node_modules/@comis/skills/dist/builtin/platform/providers-manage-tool.js +203 -0
  106. package/node_modules/@comis/skills/dist/index.d.ts +1 -1
  107. package/node_modules/@comis/skills/dist/index.js +2 -2
  108. package/node_modules/@comis/skills/dist/policy/tool-policy.js +0 -1
  109. package/node_modules/@comis/skills/package.json +1 -1
  110. package/node_modules/@comis/web/dist/assets/{agent-detail-BG9MGWWj.js → agent-detail-DqL6Artv.js} +270 -270
  111. package/node_modules/@comis/web/dist/assets/agent-editor-CNM_h94Y.js +2173 -0
  112. package/node_modules/@comis/web/dist/assets/{agent-list-LHCJ4rw2.js → agent-list-Dbh-xD_F.js} +170 -170
  113. package/node_modules/@comis/web/dist/assets/{approvals-q9VH_IKr.js → approvals-C-K6hN2U.js} +13 -13
  114. package/node_modules/@comis/web/dist/assets/billing-view-C1DmtyzK.js +375 -0
  115. package/node_modules/@comis/web/dist/assets/{channel-detail-CaInesJM.js → channel-detail-CtCH22N1.js} +265 -265
  116. package/node_modules/@comis/web/dist/assets/channel-list-C7xXn-60.js +323 -0
  117. package/node_modules/@comis/web/dist/assets/{chat-console-CNmzl0JW.js → chat-console-C51pjFwk.js} +243 -246
  118. package/node_modules/@comis/web/dist/assets/{config-editor-DX4ITw6y.js → config-editor-BLArYRB7.js} +477 -477
  119. package/node_modules/@comis/web/dist/assets/{context-dag-browser-BwiaF5tf.js → context-dag-browser-fuyMinNI.js} +105 -105
  120. package/node_modules/@comis/web/dist/assets/{context-engine-BZ5Am6hA.js → context-engine-Bngf2bH0.js} +136 -136
  121. package/node_modules/@comis/web/dist/assets/decorate-BvWYovGE.js +38 -0
  122. package/node_modules/@comis/web/dist/assets/{delivery-view-OfBZof-m.js → delivery-view-C80hucxX.js} +134 -134
  123. package/node_modules/@comis/web/dist/assets/{diagnostics-view-YFwCxgr2.js → diagnostics-view-Cl4VbHZ6.js} +82 -82
  124. package/node_modules/@comis/web/dist/assets/directive-BOYXJ-K-.js +1 -0
  125. package/node_modules/@comis/web/dist/assets/{extract-variables-BM5qyK-s.js → extract-variables-B7-Doo7l.js} +39 -39
  126. package/node_modules/@comis/web/dist/assets/{ic-array-editor-B7m6x7-S.js → ic-array-editor-BLoEyeLS.js} +29 -29
  127. package/node_modules/@comis/web/dist/assets/{ic-breadcrumb-CUMpp3BL.js → ic-breadcrumb-DqN6G3gc.js} +16 -16
  128. package/node_modules/@comis/web/dist/assets/{ic-budget-segment-bar-BtJ6x5mN.js → ic-budget-segment-bar-zLsMzjDO.js} +20 -20
  129. package/node_modules/@comis/web/dist/assets/ic-chat-message-ByFUoMm6.js +352 -0
  130. package/node_modules/@comis/web/dist/assets/{ic-confirm-dialog-CCDbB04e.js → ic-confirm-dialog-DGlPbV1T.js} +26 -26
  131. package/node_modules/@comis/web/dist/assets/{ic-connection-dot-CnT1b8xr.js → ic-connection-dot-C4nDHgY2.js} +13 -13
  132. package/node_modules/@comis/web/dist/assets/ic-data-table-CKIvr-ag.js +277 -0
  133. package/node_modules/@comis/web/dist/assets/ic-delivery-row-B3YwjjuM.js +67 -0
  134. package/node_modules/@comis/web/dist/assets/{ic-detail-panel-BF83r-if.js → ic-detail-panel-DiCe4hLr.js} +27 -27
  135. package/node_modules/@comis/web/dist/assets/{ic-empty-state-60l2ePhd.js → ic-empty-state-CM3Wbj2f.js} +19 -19
  136. package/node_modules/@comis/web/dist/assets/ic-graph-canvas-ByRjij68.js +359 -0
  137. package/node_modules/@comis/web/dist/assets/ic-icon-BGNCCPpZ.js +33 -0
  138. package/node_modules/@comis/web/dist/assets/{ic-layer-waterfall-COvEYMg5.js → ic-layer-waterfall-WkaFyu-l.js} +18 -18
  139. package/node_modules/@comis/web/dist/assets/ic-relative-time-B3UAnTqg.js +12 -0
  140. package/node_modules/@comis/web/dist/assets/{ic-search-input-CSOxY9g7.js → ic-search-input-B02AGw1i.js} +22 -22
  141. package/node_modules/@comis/web/dist/assets/{ic-select-Ce-Raudx.js → ic-select-BqfZISjw.js} +29 -29
  142. package/node_modules/@comis/web/dist/assets/ic-tabs-yBjkWKJH.js +95 -0
  143. package/node_modules/@comis/web/dist/assets/ic-tag-CvMVQFRR.js +33 -0
  144. package/node_modules/@comis/web/dist/assets/{ic-time-range-picker-CypCT68y.js → ic-time-range-picker-DXbYeBmY.js} +31 -31
  145. package/node_modules/@comis/web/dist/assets/{ic-tool-call-7MaXSsCW.js → ic-tool-call-Bh5kq-yY.js} +51 -51
  146. package/node_modules/@comis/web/dist/assets/index-BBkuC-EU.js +2792 -0
  147. package/node_modules/@comis/web/dist/assets/index-CVEaS9aY.css +2 -0
  148. package/node_modules/@comis/web/dist/assets/{mcp-management-BNZPnpDn.js → mcp-management-DB-phOo7.js} +209 -209
  149. package/node_modules/@comis/web/dist/assets/{media-config-BBvTYxOX.js → media-config-CRqZ1ZUH.js} +154 -154
  150. package/node_modules/@comis/web/dist/assets/{media-test-BkK3RCRK.js → media-test-C9vE20Oy.js} +259 -259
  151. package/node_modules/@comis/web/dist/assets/{memory-inspector-1hDGCGat.js → memory-inspector-CeqfnxMZ.js} +450 -450
  152. package/node_modules/@comis/web/dist/assets/{message-center-CXefwsUu.js → message-center-Daup7Mof.js} +290 -290
  153. package/node_modules/@comis/web/dist/assets/{models-C1qcU_j3.js → models-DLYnEU8E.js} +371 -371
  154. package/node_modules/@comis/web/dist/assets/observability-types-D0tkwElU.js +1 -0
  155. package/node_modules/@comis/web/dist/assets/{observe-view-C0VBhX4C.js → observe-view-BTSt_PO5.js} +399 -399
  156. package/node_modules/@comis/web/dist/assets/pipeline-builder-DknfzyLt.js +1495 -0
  157. package/node_modules/@comis/web/dist/assets/{pipeline-history-DkfOQ6SW.js → pipeline-history-JnHZdeU_.js} +124 -124
  158. package/node_modules/@comis/web/dist/assets/{pipeline-history-detail-hyHgD0ai.js → pipeline-history-detail-Dg4knsEb.js} +65 -65
  159. package/node_modules/@comis/web/dist/assets/{pipeline-list-BPW8hV-q.js → pipeline-list-AEnibjsp.js} +227 -227
  160. package/node_modules/@comis/web/dist/assets/{pipeline-monitor-Bip16T7e.js → pipeline-monitor-DG7RbIOO.js} +298 -298
  161. package/node_modules/@comis/web/dist/assets/{scheduler-BGgwKd06.js → scheduler-uL1fYKAT.js} +486 -486
  162. package/node_modules/@comis/web/dist/assets/{security-D15st4xx.js → security-C3DywRLH.js} +389 -389
  163. package/node_modules/@comis/web/dist/assets/{session-detail-SGEYNJ0M.js → session-detail-BtqCNWXV.js} +294 -294
  164. package/node_modules/@comis/web/dist/assets/session-key-parser-Dkqcj2Ss.js +1 -0
  165. package/node_modules/@comis/web/dist/assets/session-list-CJXWa2XT.js +231 -0
  166. package/node_modules/@comis/web/dist/assets/{setup-wizard-nT0tz9QP.js → setup-wizard-ywn7oJvu.js} +486 -494
  167. package/node_modules/@comis/web/dist/assets/{skills-D8yVfSUy.js → skills-DX0KYnWD.js} +329 -329
  168. package/node_modules/@comis/web/dist/assets/{subagents-HHXMeHYo.js → subagents-B8p5YJEB.js} +74 -74
  169. package/node_modules/@comis/web/dist/assets/{workspace-manager-BQlr10iH.js → workspace-manager-CgzNIrw1.js} +236 -236
  170. package/node_modules/@comis/web/dist/index.html +3 -2
  171. package/node_modules/@comis/web/package.json +1 -1
  172. package/package.json +15 -15
  173. package/node_modules/@comis/skills/dist/builtin/platform/agents-list-tool.d.ts +0 -19
  174. package/node_modules/@comis/skills/dist/builtin/platform/agents-list-tool.js +0 -39
  175. package/node_modules/@comis/web/dist/assets/agent-editor-C26Q_xCs.js +0 -2173
  176. package/node_modules/@comis/web/dist/assets/billing-view-CtYvBqTE.js +0 -375
  177. package/node_modules/@comis/web/dist/assets/channel-list-B8dj3O9a.js +0 -323
  178. package/node_modules/@comis/web/dist/assets/directive-DoeGSK_T.js +0 -1
  179. package/node_modules/@comis/web/dist/assets/ic-chat-message-CFyDJd0z.js +0 -352
  180. package/node_modules/@comis/web/dist/assets/ic-data-table-CKUNTxHw.js +0 -277
  181. package/node_modules/@comis/web/dist/assets/ic-delivery-row-GP5Fkygs.js +0 -67
  182. package/node_modules/@comis/web/dist/assets/ic-graph-canvas-C8FuSMe1.js +0 -359
  183. package/node_modules/@comis/web/dist/assets/ic-icon-xeGTVhVG.js +0 -33
  184. package/node_modules/@comis/web/dist/assets/ic-relative-time-3FqpjeAI.js +0 -12
  185. package/node_modules/@comis/web/dist/assets/ic-tabs-B7QtM_v8.js +0 -95
  186. package/node_modules/@comis/web/dist/assets/ic-tag-CPPUnDLF.js +0 -33
  187. package/node_modules/@comis/web/dist/assets/index-CEcM1R_C.js +0 -2830
  188. package/node_modules/@comis/web/dist/assets/index-CIJFuItj.css +0 -1
  189. package/node_modules/@comis/web/dist/assets/observability-types-D7jUtSde.js +0 -1
  190. package/node_modules/@comis/web/dist/assets/pipeline-builder-DcUUIrm0.js +0 -1496
  191. package/node_modules/@comis/web/dist/assets/session-key-parser-DPORMVyU.js +0 -1
  192. package/node_modules/@comis/web/dist/assets/session-list-6ybUTxbY.js +0 -231
@@ -0,0 +1,277 @@
1
+ import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";var u=class extends r{constructor(...e){super(...e),this.columns=[],this.rows=[],this.pageSize=25,this.selectable=!1,this.emptyMessage=`No data`,this.resizable=!1,this.expandable=!1,this.expandRenderer=null,this._sortKey=``,this._sortDir=`asc`,this._page=0,this._selectedIds=new Set,this._columnWidths=new Map,this._expandedIds=new Set,this._resizing=null,this._boundPointerMove=this._handlePointerMove.bind(this),this._boundPointerUp=this._handlePointerUp.bind(this)}static{this.styles=[o,i,n`
2
+ :host {
3
+ display: block;
4
+ }
5
+
6
+ .table-container {
7
+ background: var(--ic-surface);
8
+ border: 1px solid var(--ic-border);
9
+ border-radius: var(--ic-radius-lg);
10
+ overflow: hidden;
11
+ }
12
+
13
+ .table-wrapper {
14
+ overflow-x: auto;
15
+ overflow-y: auto;
16
+ max-height: var(--table-max-height, none);
17
+ }
18
+
19
+ .grid-header {
20
+ display: flex;
21
+ background: var(--ic-bg);
22
+ position: sticky;
23
+ top: 0;
24
+ z-index: 1;
25
+ }
26
+
27
+ .header-cell {
28
+ padding: var(--ic-space-sm) var(--ic-space-md);
29
+ text-transform: uppercase;
30
+ font-size: var(--ic-text-xs);
31
+ color: var(--ic-text-muted);
32
+ letter-spacing: 0.05em;
33
+ font-weight: 600;
34
+ text-align: left;
35
+ white-space: nowrap;
36
+ user-select: none;
37
+ flex: 1;
38
+ min-width: 0;
39
+ position: relative;
40
+ }
41
+
42
+ .header-cell.sortable {
43
+ cursor: pointer;
44
+ }
45
+
46
+ .header-cell.sortable:hover {
47
+ color: var(--ic-text);
48
+ }
49
+
50
+ .header-cell.sorted {
51
+ color: var(--ic-accent);
52
+ }
53
+
54
+ .sort-indicator {
55
+ display: inline-block;
56
+ margin-left: 4px;
57
+ font-size: 10px;
58
+ }
59
+
60
+ .grid-row {
61
+ display: flex;
62
+ border-top: 1px solid var(--ic-border);
63
+ cursor: pointer;
64
+ transition: background var(--ic-transition);
65
+ }
66
+
67
+ .grid-row:hover {
68
+ background: var(--ic-surface-2);
69
+ }
70
+
71
+ .cell {
72
+ padding: var(--ic-space-sm) var(--ic-space-md);
73
+ color: var(--ic-text);
74
+ font-size: var(--ic-text-sm);
75
+ flex: 1;
76
+ min-width: 0;
77
+ overflow: hidden;
78
+ text-overflow: ellipsis;
79
+ }
80
+
81
+ .checkbox-cell {
82
+ width: 40px;
83
+ flex: none;
84
+ text-align: center;
85
+ display: flex;
86
+ align-items: center;
87
+ justify-content: center;
88
+ }
89
+
90
+ .expand-cell {
91
+ width: 36px;
92
+ flex: none;
93
+ display: flex;
94
+ align-items: center;
95
+ justify-content: center;
96
+ }
97
+
98
+ .expand-btn {
99
+ background: none;
100
+ border: none;
101
+ color: var(--ic-text-dim);
102
+ cursor: pointer;
103
+ padding: 4px;
104
+ font-size: 12px;
105
+ transition: transform 0.15s;
106
+ line-height: 1;
107
+ }
108
+
109
+ .expand-btn:hover {
110
+ color: var(--ic-text);
111
+ }
112
+
113
+ .expand-btn--open {
114
+ transform: rotate(90deg);
115
+ }
116
+
117
+ .expanded-content {
118
+ border-top: 1px solid var(--ic-border);
119
+ padding: var(--ic-space-md);
120
+ background: var(--ic-bg);
121
+ font-size: var(--ic-text-sm);
122
+ }
123
+
124
+ input[type="checkbox"] {
125
+ accent-color: var(--ic-accent);
126
+ cursor: pointer;
127
+ }
128
+
129
+ /* Resize handle */
130
+ .resize-handle {
131
+ position: absolute;
132
+ right: 0;
133
+ top: 0;
134
+ bottom: 0;
135
+ width: 4px;
136
+ cursor: col-resize;
137
+ background: transparent;
138
+ z-index: 2;
139
+ }
140
+
141
+ .resize-handle:hover {
142
+ background: var(--ic-border);
143
+ }
144
+
145
+ .pagination {
146
+ display: flex;
147
+ align-items: center;
148
+ justify-content: space-between;
149
+ padding: var(--ic-space-sm) var(--ic-space-md);
150
+ border-top: 1px solid var(--ic-border);
151
+ font-size: var(--ic-text-sm);
152
+ color: var(--ic-text-muted);
153
+ }
154
+
155
+ .pagination-info {
156
+ font-size: var(--ic-text-xs);
157
+ }
158
+
159
+ .pagination-controls {
160
+ display: flex;
161
+ gap: var(--ic-space-sm);
162
+ }
163
+
164
+ .page-btn {
165
+ background: transparent;
166
+ border: none;
167
+ color: var(--ic-text-muted);
168
+ cursor: pointer;
169
+ padding: var(--ic-space-xs) var(--ic-space-sm);
170
+ border-radius: var(--ic-radius-sm);
171
+ font-family: inherit;
172
+ font-size: var(--ic-text-sm);
173
+ transition: color var(--ic-transition);
174
+ }
175
+
176
+ .page-btn:hover:not(:disabled) {
177
+ color: var(--ic-text);
178
+ }
179
+
180
+ .page-btn:disabled {
181
+ opacity: 0.4;
182
+ cursor: not-allowed;
183
+ }
184
+
185
+ .empty-message {
186
+ padding: var(--ic-space-xl);
187
+ text-align: center;
188
+ color: var(--ic-text-muted);
189
+ font-size: var(--ic-text-sm);
190
+ }
191
+ `]}_getRowId(e){if(this.columns.length===0)return``;let t=this.columns[0].key;return String(e[t]??``)}_getCellValue(e,t){return e[t]}_getSortedRows(){let e=[...this.rows];return this._sortKey?e.sort((e,t)=>{let n=this._getCellValue(e,this._sortKey),r=this._getCellValue(t,this._sortKey),i;return i=typeof n==`number`&&typeof r==`number`?n-r:String(n??``).localeCompare(String(r??``)),this._sortDir===`asc`?i:-i}):e}_getPagedRows(){let e=this._getSortedRows(),t=this._page*this.pageSize;return e.slice(t,t+this.pageSize)}_getTotalPages(){return Math.max(1,Math.ceil(this.rows.length/this.pageSize))}_handleSort(e){e.sortable&&(this._sortKey===e.key?this._sortDir=this._sortDir===`asc`?`desc`:`asc`:(this._sortKey=e.key,this._sortDir=`asc`))}_handleRowClick(e,t){let n=t.target.tagName;n===`INPUT`||n===`BUTTON`||this.dispatchEvent(new CustomEvent(`row-click`,{detail:e,bubbles:!0}))}_handleRowKeydown(e,t){if(t.key===`Enter`||t.key===` `)t.preventDefault(),this.dispatchEvent(new CustomEvent(`row-click`,{detail:e,bubbles:!0}));else if(t.key===`ArrowDown`||t.key===`ArrowUp`){t.preventDefault();let e=t.currentTarget,n=t.key===`ArrowDown`?e.nextElementSibling:e.previousElementSibling;n?.classList.contains(`grid-row`)&&n.focus()}}_handleCheckboxChange(e,t){t.stopPropagation();let n=this._getRowId(e),r=new Set(this._selectedIds);r.has(n)?r.delete(n):r.add(n),this._selectedIds=r,this.dispatchEvent(new CustomEvent(`selection-change`,{detail:[...this._selectedIds],bubbles:!0}))}_handleSelectAll(e){e.stopPropagation();let t=this._getPagedRows(),n=t.every(e=>this._selectedIds.has(this._getRowId(e))),r=new Set(this._selectedIds);if(n)for(let e of t)r.delete(this._getRowId(e));else for(let e of t)r.add(this._getRowId(e));this._selectedIds=r,this.dispatchEvent(new CustomEvent(`selection-change`,{detail:[...this._selectedIds],bubbles:!0}))}_handlePrev(){this._page>0&&this._page--}_handleNext(){this._page<this._getTotalPages()-1&&this._page++}_sortArrowClass(e){return this._sortKey===e.key?`sort-indicator sorted`:`sort-indicator`}_sortArrow(e){return this._sortKey===e.key?this._sortDir===`asc`?`▲`:`▼`:``}_handleResizeStart(e,t){t.preventDefault(),t.stopPropagation();let n=t.target.parentElement,r=this._columnWidths.get(e.key)??n.offsetWidth;this._resizing={key:e.key,startX:t.clientX,startWidth:r},document.addEventListener(`pointermove`,this._boundPointerMove),document.addEventListener(`pointerup`,this._boundPointerUp)}_handlePointerMove(e){if(!this._resizing)return;let t=e.clientX-this._resizing.startX,n=Math.max(50,this._resizing.startWidth+t),r=new Map(this._columnWidths);r.set(this._resizing.key,n),this._columnWidths=r}_handlePointerUp(){this._resizing=null,document.removeEventListener(`pointermove`,this._boundPointerMove),document.removeEventListener(`pointerup`,this._boundPointerUp)}_toggleExpand(e,t){t.stopPropagation();let n=this._getRowId(e),r=new Set(this._expandedIds);r.has(n)?r.delete(n):r.add(n),this._expandedIds=r}_getColumnStyle(e){let t=this._columnWidths.get(e.key);return t?`width: ${t}px; flex: none;`:``}render(){if(this.rows.length===0)return t`
192
+ <div class="table-container">
193
+ <div class="empty-message">${this.emptyMessage}</div>
194
+ </div>
195
+ `;let e=this._getPagedRows(),n=this._getTotalPages(),r=this._page*this.pageSize+1,i=Math.min(r+this.pageSize-1,this.rows.length),a=e.length>0&&e.every(e=>this._selectedIds.has(this._getRowId(e)));return t`
196
+ <div class="table-container">
197
+ <div class="table-wrapper">
198
+ <div role="grid">
199
+ <div class="grid-header" role="row">
200
+ ${this.expandable?t`<div class="expand-cell header-cell" role="columnheader"></div>`:l}
201
+ ${this.selectable?t`
202
+ <div class="checkbox-cell header-cell" role="columnheader">
203
+ <input
204
+ type="checkbox"
205
+ .checked=${a}
206
+ @change=${this._handleSelectAll}
207
+ aria-label="Select all rows"
208
+ />
209
+ </div>
210
+ `:l}
211
+ ${this.columns.map(e=>t`
212
+ <div
213
+ class="header-cell ${e.sortable?`sortable`:``} ${this._sortKey===e.key?`sorted`:``}"
214
+ role="columnheader"
215
+ aria-sort=${this._sortKey===e.key?this._sortDir===`asc`?`ascending`:`descending`:`none`}
216
+ style=${this._getColumnStyle(e)}
217
+ @click=${()=>this._handleSort(e)}
218
+ >
219
+ ${e.label}
220
+ <span class=${this._sortArrowClass(e)}>${this._sortArrow(e)}</span>
221
+ ${this.resizable?t`<div class="resize-handle" @pointerdown=${t=>this._handleResizeStart(e,t)}></div>`:l}
222
+ </div>
223
+ `)}
224
+ </div>
225
+ ${e.map(e=>{let n=this._getRowId(e),r=this._expandedIds.has(n);return t`
226
+ <div class="grid-row focusable" role="row" tabindex="0"
227
+ @click=${t=>this._handleRowClick(e,t)}
228
+ @keydown=${t=>this._handleRowKeydown(e,t)}>
229
+ ${this.expandable?t`
230
+ <div class="expand-cell cell" role="cell">
231
+ <button
232
+ class="expand-btn ${r?`expand-btn--open`:``}"
233
+ aria-expanded=${r?`true`:`false`}
234
+ aria-label=${r?`Collapse row`:`Expand row`}
235
+ @click=${t=>this._toggleExpand(e,t)}
236
+ >\u25B6</button>
237
+ </div>
238
+ `:l}
239
+ ${this.selectable?t`
240
+ <div class="checkbox-cell cell" role="cell">
241
+ <input
242
+ type="checkbox"
243
+ .checked=${this._selectedIds.has(this._getRowId(e))}
244
+ @change=${t=>this._handleCheckboxChange(e,t)}
245
+ aria-label="Select row"
246
+ />
247
+ </div>
248
+ `:l}
249
+ ${this.columns.map(n=>{let r=this._getCellValue(e,n.key),i=n.render?n.render(r,e):r;return t`<div class="cell" role="cell" style=${this._getColumnStyle(n)}>${i}</div>`})}
250
+ </div>
251
+ ${r&&this.expandRenderer?t`<div class="expanded-content" role="region" aria-label="Row details">${this.expandRenderer(e)}</div>`:l}
252
+ `})}
253
+ </div>
254
+ </div>
255
+ <div class="pagination">
256
+ <span class="pagination-info">${r}-${i} of ${this.rows.length}</span>
257
+ <div class="pagination-controls">
258
+ <button
259
+ class="page-btn"
260
+ ?disabled=${this._page===0}
261
+ @click=${this._handlePrev}
262
+ aria-label="Previous page"
263
+ >
264
+ Prev
265
+ </button>
266
+ <button
267
+ class="page-btn"
268
+ ?disabled=${this._page>=n-1}
269
+ @click=${this._handleNext}
270
+ aria-label="Next page"
271
+ >
272
+ Next
273
+ </button>
274
+ </div>
275
+ </div>
276
+ </div>
277
+ `}};c([s({type:Array})],u.prototype,`columns`,void 0),c([s({type:Array})],u.prototype,`rows`,void 0),c([s({type:Number})],u.prototype,`pageSize`,void 0),c([s({type:Boolean})],u.prototype,`selectable`,void 0),c([s()],u.prototype,`emptyMessage`,void 0),c([s({type:Boolean})],u.prototype,`resizable`,void 0),c([s({type:Boolean})],u.prototype,`expandable`,void 0),c([s({attribute:!1})],u.prototype,`expandRenderer`,void 0),c([a()],u.prototype,`_sortKey`,void 0),c([a()],u.prototype,`_sortDir`,void 0),c([a()],u.prototype,`_page`,void 0),c([a()],u.prototype,`_selectedIds`,void 0),c([a()],u.prototype,`_columnWidths`,void 0),c([a()],u.prototype,`_expandedIds`,void 0),u=c([e(`ic-data-table`)],u);
@@ -0,0 +1,67 @@
1
+ import{c as e,f as t,h as n,l as r,m as i,n as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import"./ic-tag-CvMVQFRR.js";import"./ic-relative-time-B3UAnTqg.js";var u=i`<path d="M20 6L9 17l-5-5" stroke="var(--ic-success)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"/>`,d=i`<path d="M18 6L6 18M6 6l12 12" stroke="var(--ic-error)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"/>`,f=i`<circle cx="12" cy="12" r="10" stroke="var(--ic-warning)" stroke-width="2" fill="none"/><path d="M12 6v6l4 2" stroke="var(--ic-warning)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"/>`,p=class extends r{constructor(...e){super(...e),this.trace=null}static{this.styles=[o,a,n`
2
+ :host {
3
+ display: contents;
4
+ }
5
+
6
+ .row {
7
+ display: contents;
8
+ cursor: pointer;
9
+ }
10
+
11
+ .row:hover .cell {
12
+ background: var(--ic-surface-2, #1f2937);
13
+ }
14
+
15
+ .cell {
16
+ padding: var(--ic-space-xs) var(--ic-space-sm);
17
+ display: flex;
18
+ align-items: center;
19
+ font-size: var(--ic-text-sm);
20
+ border-bottom: 1px solid var(--ic-border);
21
+ transition: background var(--ic-transition);
22
+ }
23
+
24
+ .cell-message {
25
+ color: var(--ic-text-dim);
26
+ overflow: hidden;
27
+ text-overflow: ellipsis;
28
+ white-space: nowrap;
29
+ max-width: 20rem;
30
+ }
31
+
32
+ .cell-latency {
33
+ font-family: var(--ic-font-mono, ui-monospace, monospace);
34
+ }
35
+
36
+ .status-icon {
37
+ width: 20px;
38
+ height: 20px;
39
+ flex-shrink: 0;
40
+ }
41
+ `]}_handleClick(){this.trace&&this.dispatchEvent(new CustomEvent(`trace-click`,{detail:this.trace.traceId,bubbles:!0,composed:!0}))}_handleKeyDown(e){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),this._handleClick())}_renderStatusIcon(){if(!this.trace)return l;let e={success:{icon:u,label:`Success`},failed:{icon:d,label:`Failed`},timeout:{icon:f,label:`Timeout`}}[this.trace.status];return e?t`
42
+ <svg
43
+ class="status-icon"
44
+ viewBox="0 0 24 24"
45
+ aria-label=${e.label}
46
+ role="img"
47
+ >${e.icon}</svg>
48
+ `:l}render(){if(!this.trace)return l;let e=this.trace,n=e.messagePreview.length>40?e.messagePreview.slice(0,40)+`...`:e.messagePreview,r=e.latencyMs==null?`--`:`${e.latencyMs}ms`;return t`
49
+ <div
50
+ class="row"
51
+ role="row"
52
+ tabindex="0"
53
+ @click=${this._handleClick}
54
+ @keydown=${this._handleKeyDown}
55
+ >
56
+ <div class="cell" role="cell">
57
+ <ic-relative-time .timestamp=${e.timestamp}></ic-relative-time>
58
+ </div>
59
+ <div class="cell" role="cell">
60
+ <ic-tag variant=${e.channelType}>${e.channelType}</ic-tag>
61
+ </div>
62
+ <div class="cell cell-message" role="cell">${n}</div>
63
+ <div class="cell" role="cell">${this._renderStatusIcon()}</div>
64
+ <div class="cell cell-latency" role="cell">${r}</div>
65
+ <div class="cell" role="cell">${e.stepCount}</div>
66
+ </div>
67
+ `}};c([s({attribute:!1})],p.prototype,`trace`,void 0),p=c([e(`ic-delivery-row`)],p);
@@ -1,29 +1,4 @@
1
- import{s as c,f as p,i as h,n as d,a as v,A as f,b as u,t as b}from"./index-CEcM1R_C.js";var y=Object.defineProperty,m=Object.getOwnPropertyDescriptor,a=(e,t,r,i)=>{for(var n=i>1?void 0:i?m(t,r):t,l=e.length-1,s;l>=0;l--)(s=e[l])&&(n=(i?s(t,r,n):s(n))||n);return i&&n&&y(t,r,n),n};let o=class extends v{constructor(){super(...arguments),this.open=!1,this.panelTitle="Detail",this.width="min(32rem, 90vw)",this._boundKeyHandler=null}updated(e){e.has("open")&&(this.open?(this._boundKeyHandler=t=>this._handleKeyDown(t),document.addEventListener("keydown",this._boundKeyHandler),this.updateComplete.then(()=>{this.shadowRoot?.querySelector(".close-btn")?.focus()})):this._boundKeyHandler&&(document.removeEventListener("keydown",this._boundKeyHandler),this._boundKeyHandler=null))}disconnectedCallback(){super.disconnectedCallback(),this._boundKeyHandler&&(document.removeEventListener("keydown",this._boundKeyHandler),this._boundKeyHandler=null)}_handleKeyDown(e){e.key==="Escape"&&(e.preventDefault(),this._fireClose())}_handleOverlayClick(){this._fireClose()}_fireClose(){this.dispatchEvent(new CustomEvent("close",{bubbles:!0}))}render(){return this.open?u`
2
- <div class="overlay" @click=${this._handleOverlayClick}></div>
3
- <div
4
- class="panel"
5
- role="complementary"
6
- aria-label=${this.panelTitle}
7
- style="width: ${this.width}"
8
- >
9
- <div class="panel-header">
10
- <h2 class="panel-title">${this.panelTitle}</h2>
11
- <button
12
- class="close-btn"
13
- @click=${this._fireClose}
14
- aria-label="Close panel"
15
- >
16
- &#x2715;
17
- </button>
18
- </div>
19
- <div class="panel-body">
20
- <slot></slot>
21
- </div>
22
- <div class="panel-footer">
23
- <slot name="footer"></slot>
24
- </div>
25
- </div>
26
- `:f}};o.styles=[c,p,h`
1
+ import{c as e,f as t,h as n,l as r,n as i,r as a,s as o,t as s,u as c}from"./decorate-BvWYovGE.js";var l=class extends r{constructor(...e){super(...e),this.open=!1,this.panelTitle=`Detail`,this.width=`min(32rem, 90vw)`,this._boundKeyHandler=null}static{this.styles=[a,i,n`
27
2
  :host {
28
3
  display: contents;
29
4
  }
@@ -113,4 +88,29 @@ import{s as c,f as p,i as h,n as d,a as v,A as f,b as u,t as b}from"./index-CEcM
113
88
  .panel-footer:empty {
114
89
  display: none;
115
90
  }
116
- `];a([d({type:Boolean,reflect:!0})],o.prototype,"open",2);a([d()],o.prototype,"panelTitle",2);a([d()],o.prototype,"width",2);o=a([b("ic-detail-panel")],o);
91
+ `]}updated(e){e.has(`open`)&&(this.open?(this._boundKeyHandler=e=>this._handleKeyDown(e),document.addEventListener(`keydown`,this._boundKeyHandler),this.updateComplete.then(()=>{(this.shadowRoot?.querySelector(`.close-btn`))?.focus()})):this._boundKeyHandler&&=(document.removeEventListener(`keydown`,this._boundKeyHandler),null))}disconnectedCallback(){super.disconnectedCallback(),this._boundKeyHandler&&=(document.removeEventListener(`keydown`,this._boundKeyHandler),null)}_handleKeyDown(e){e.key===`Escape`&&(e.preventDefault(),this._fireClose())}_handleOverlayClick(){this._fireClose()}_fireClose(){this.dispatchEvent(new CustomEvent(`close`,{bubbles:!0}))}render(){return this.open?t`
92
+ <div class="overlay" @click=${this._handleOverlayClick}></div>
93
+ <div
94
+ class="panel"
95
+ role="complementary"
96
+ aria-label=${this.panelTitle}
97
+ style="width: ${this.width}"
98
+ >
99
+ <div class="panel-header">
100
+ <h2 class="panel-title">${this.panelTitle}</h2>
101
+ <button
102
+ class="close-btn"
103
+ @click=${this._fireClose}
104
+ aria-label="Close panel"
105
+ >
106
+ &#x2715;
107
+ </button>
108
+ </div>
109
+ <div class="panel-body">
110
+ <slot></slot>
111
+ </div>
112
+ <div class="panel-footer">
113
+ <slot name="footer"></slot>
114
+ </div>
115
+ </div>
116
+ `:c}};s([o({type:Boolean,reflect:!0})],l.prototype,`open`,void 0),s([o()],l.prototype,`panelTitle`,void 0),s([o()],l.prototype,`width`,void 0),l=s([e(`ic-detail-panel`)],l);
@@ -1,21 +1,4 @@
1
- import{s as d,f as v,i as g,n as p,a as f,A as m,b as n,t as x}from"./index-CEcM1R_C.js";import"./ic-icon-xeGTVhVG.js";var y=Object.defineProperty,h=Object.getOwnPropertyDescriptor,a=(l,i,c,t)=>{for(var e=t>1?void 0:t?h(i,c):i,r=l.length-1,o;r>=0;r--)(o=l[r])&&(e=(t?o(i,c,e):o(e))||e);return t&&e&&y(i,c,e),e};let s=class extends f{constructor(){super(...arguments),this.message="No items to display",this.description="",this.icon=""}render(){return n`
2
- <div class="container">
3
- ${this.icon?n`
4
- <div class="icon-area">
5
- <ic-icon
6
- name=${this.icon}
7
- size="48px"
8
- color="var(--ic-text-dim)"
9
- ></ic-icon>
10
- </div>
11
- `:m}
12
- <p class="message">${this.message}</p>
13
- ${this.description?n`<p class="description">${this.description}</p>`:m}
14
- <div class="action-area">
15
- <slot></slot>
16
- </div>
17
- </div>
18
- `}};s.styles=[d,v,g`
1
+ import{c as e,f as t,h as n,l as r,n as i,r as a,s as o,t as s,u as c}from"./decorate-BvWYovGE.js";import"./ic-icon-BGNCCPpZ.js";var l=class extends r{constructor(...e){super(...e),this.message=`No items to display`,this.description=``,this.icon=``}static{this.styles=[a,i,n`
19
2
  :host {
20
3
  display: block;
21
4
  }
@@ -49,4 +32,21 @@ import{s as d,f as v,i as g,n as p,a as f,A as m,b as n,t as x}from"./index-CEcM
49
32
  .action-area {
50
33
  margin-top: var(--ic-space-sm);
51
34
  }
52
- `];a([p()],s.prototype,"message",2);a([p()],s.prototype,"description",2);a([p()],s.prototype,"icon",2);s=a([x("ic-empty-state")],s);
35
+ `]}render(){return t`
36
+ <div class="container">
37
+ ${this.icon?t`
38
+ <div class="icon-area">
39
+ <ic-icon
40
+ name=${this.icon}
41
+ size="48px"
42
+ color="var(--ic-text-dim)"
43
+ ></ic-icon>
44
+ </div>
45
+ `:c}
46
+ <p class="message">${this.message}</p>
47
+ ${this.description?t`<p class="description">${this.description}</p>`:c}
48
+ <div class="action-area">
49
+ <slot></slot>
50
+ </div>
51
+ </div>
52
+ `}};s([o()],l.prototype,`message`,void 0),s([o()],l.prototype,`description`,void 0),s([o()],l.prototype,`icon`,void 0),l=s([e(`ic-empty-state`)],l);