@noodleseed/one 0.89.1 → 0.90.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/dist/commands/billing-enforcement-activation-ops.js +1 -11
  2. package/dist/commands/billing-enforcement-activation-ops.js.map +1 -1
  3. package/dist/commands/billing-enforcement-ops.js +1 -11
  4. package/dist/commands/billing-enforcement-ops.js.map +1 -1
  5. package/dist/commands/billing-metering-ops.js +1 -11
  6. package/dist/commands/billing-metering-ops.js.map +1 -1
  7. package/dist/commands/billing-metering-validation-ops.js +1 -11
  8. package/dist/commands/billing-metering-validation-ops.js.map +1 -1
  9. package/dist/commands/billing-read-ops.js +1 -11
  10. package/dist/commands/billing-read-ops.js.map +1 -1
  11. package/dist/commands/billing-stripe-ops.js +1 -11
  12. package/dist/commands/billing-stripe-ops.js.map +1 -1
  13. package/dist/commands/org-admin.d.ts +6 -0
  14. package/dist/commands/org-admin.d.ts.map +1 -1
  15. package/dist/commands/org-admin.js +1 -29
  16. package/dist/commands/org-admin.js.map +1 -1
  17. package/dist/commands/org-domains.js +1 -22
  18. package/dist/commands/org-domains.js.map +1 -1
  19. package/dist/commands/org-member-args.d.ts +1 -1
  20. package/dist/commands/org-member-args.d.ts.map +1 -1
  21. package/dist/commands/org-member-args.js +1 -10
  22. package/dist/commands/org-member-args.js.map +1 -1
  23. package/dist/commands/org-openai-challenge.js +1 -22
  24. package/dist/commands/org-openai-challenge.js.map +1 -1
  25. package/dist/commands/platform-account-reset-args.d.ts.map +1 -1
  26. package/dist/commands/platform-account-reset-args.js +1 -6
  27. package/dist/commands/platform-account-reset-args.js.map +1 -1
  28. package/dist/commands/platform-account-reset-ops.js +1 -11
  29. package/dist/commands/platform-account-reset-ops.js.map +1 -1
  30. package/dist/commands/platform-auth-migration-args.d.ts +2 -0
  31. package/dist/commands/platform-auth-migration-args.d.ts.map +1 -1
  32. package/dist/commands/platform-auth-migration-args.js +2 -1
  33. package/dist/commands/platform-auth-migration-args.js.map +1 -1
  34. package/dist/commands/platform-auth-migration-ops.js +1 -11
  35. package/dist/commands/platform-auth-migration-ops.js.map +1 -1
  36. package/dist/commands/shared.d.ts +6 -0
  37. package/dist/commands/shared.d.ts.map +1 -1
  38. package/dist/commands/shared.js +34 -0
  39. package/dist/commands/shared.js.map +1 -1
  40. package/dist/deploy.d.ts +2 -0
  41. package/dist/deploy.d.ts.map +1 -1
  42. package/dist/deploy.js +4 -4
  43. package/dist/deploy.js.map +1 -1
  44. package/dist/dev.d.ts.map +1 -1
  45. package/dist/dev.js +1 -7
  46. package/dist/dev.js.map +1 -1
  47. package/dist/devtools-brand.d.ts +14 -0
  48. package/dist/devtools-brand.d.ts.map +1 -0
  49. package/dist/devtools-brand.js +98 -0
  50. package/dist/devtools-brand.js.map +1 -0
  51. package/dist/devtools-chat-anthropic.d.ts +3 -0
  52. package/dist/devtools-chat-anthropic.d.ts.map +1 -0
  53. package/dist/devtools-chat-anthropic.js +75 -0
  54. package/dist/devtools-chat-anthropic.js.map +1 -0
  55. package/dist/devtools-chat-gemini.d.ts +3 -0
  56. package/dist/devtools-chat-gemini.d.ts.map +1 -0
  57. package/dist/devtools-chat-gemini.js +82 -0
  58. package/dist/devtools-chat-gemini.js.map +1 -0
  59. package/dist/devtools-chat-types.d.ts +64 -0
  60. package/dist/devtools-chat-types.d.ts.map +1 -0
  61. package/dist/devtools-chat-types.js +64 -0
  62. package/dist/devtools-chat-types.js.map +1 -0
  63. package/dist/devtools-chat.d.ts +7 -39
  64. package/dist/devtools-chat.d.ts.map +1 -1
  65. package/dist/devtools-chat.js +33 -48
  66. package/dist/devtools-chat.js.map +1 -1
  67. package/dist/devtools-copy-styles.d.ts +3 -0
  68. package/dist/devtools-copy-styles.d.ts.map +1 -0
  69. package/dist/devtools-copy-styles.js +54 -0
  70. package/dist/devtools-copy-styles.js.map +1 -0
  71. package/dist/devtools-design.d.ts +5 -0
  72. package/dist/devtools-design.d.ts.map +1 -0
  73. package/dist/devtools-design.js +62 -0
  74. package/dist/devtools-design.js.map +1 -0
  75. package/dist/devtools-harness.d.ts +2 -2
  76. package/dist/devtools-harness.d.ts.map +1 -1
  77. package/dist/devtools-harness.js +130 -216
  78. package/dist/devtools-harness.js.map +1 -1
  79. package/dist/devtools-json.d.ts +10 -0
  80. package/dist/devtools-json.d.ts.map +1 -0
  81. package/dist/devtools-json.js +23 -0
  82. package/dist/devtools-json.js.map +1 -0
  83. package/dist/devtools-preview-control-styles.d.ts +3 -0
  84. package/dist/devtools-preview-control-styles.d.ts.map +1 -0
  85. package/dist/devtools-preview-control-styles.js +207 -0
  86. package/dist/devtools-preview-control-styles.js.map +1 -0
  87. package/dist/devtools-preview.d.ts +7 -3
  88. package/dist/devtools-preview.d.ts.map +1 -1
  89. package/dist/devtools-preview.js +189 -43
  90. package/dist/devtools-preview.js.map +1 -1
  91. package/dist/devtools-provider-logos.d.ts +5 -0
  92. package/dist/devtools-provider-logos.d.ts.map +1 -0
  93. package/dist/devtools-provider-logos.js +5 -0
  94. package/dist/devtools-provider-logos.js.map +1 -0
  95. package/dist/devtools-responsive-styles.d.ts +3 -0
  96. package/dist/devtools-responsive-styles.d.ts.map +1 -0
  97. package/dist/devtools-responsive-styles.js +75 -0
  98. package/dist/devtools-responsive-styles.js.map +1 -0
  99. package/dist/devtools-styles.d.ts +3 -0
  100. package/dist/devtools-styles.d.ts.map +1 -0
  101. package/dist/devtools-styles.js +694 -0
  102. package/dist/devtools-styles.js.map +1 -0
  103. package/dist/local-target.d.ts.map +1 -1
  104. package/dist/local-target.js +1 -6
  105. package/dist/local-target.js.map +1 -1
  106. package/dist/plugin-mode/build-readiness-server.d.ts +4 -10
  107. package/dist/plugin-mode/build-readiness-server.d.ts.map +1 -1
  108. package/dist/plugin-mode/build-readiness-server.js +68 -67
  109. package/dist/plugin-mode/build-readiness-server.js.map +1 -1
  110. package/dist/plugin-mode/plugin-command-runner.d.ts +41 -0
  111. package/dist/plugin-mode/plugin-command-runner.d.ts.map +1 -0
  112. package/dist/plugin-mode/plugin-command-runner.js +122 -0
  113. package/dist/plugin-mode/plugin-command-runner.js.map +1 -0
  114. package/dist/plugin-mode/plugin-operation-contract.d.ts +237 -0
  115. package/dist/plugin-mode/plugin-operation-contract.d.ts.map +1 -0
  116. package/dist/plugin-mode/plugin-operation-contract.js +164 -0
  117. package/dist/plugin-mode/plugin-operation-contract.js.map +1 -0
  118. package/dist/plugin-mode/plugin-operation-tools.d.ts +20 -0
  119. package/dist/plugin-mode/plugin-operation-tools.d.ts.map +1 -0
  120. package/dist/plugin-mode/plugin-operation-tools.js +289 -0
  121. package/dist/plugin-mode/plugin-operation-tools.js.map +1 -0
  122. package/dist/preview-session.d.ts.map +1 -1
  123. package/dist/preview-session.js +22 -5
  124. package/dist/preview-session.js.map +1 -1
  125. package/dist/project.d.ts.map +1 -1
  126. package/dist/project.js +1 -7
  127. package/dist/project.js.map +1 -1
  128. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +1 -1
  129. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js.map +1 -1
  130. package/node_modules/@noodle-borg/agent-kit/dist/plugin-bundle.d.ts.map +1 -1
  131. package/node_modules/@noodle-borg/agent-kit/dist/plugin-bundle.js +16 -12
  132. package/node_modules/@noodle-borg/agent-kit/dist/plugin-bundle.js.map +1 -1
  133. package/node_modules/@noodle-borg/agent-kit/dist/plugin-marketplace-docs.js +9 -9
  134. package/node_modules/@noodle-borg/agent-kit/dist/skill-feedback-ref.js +4 -4
  135. package/node_modules/@noodle-borg/agent-kit/dist/skill-feedback-ref.js.map +1 -1
  136. package/node_modules/@noodle-borg/agent-kit/dist/skill-router.d.ts.map +1 -1
  137. package/node_modules/@noodle-borg/agent-kit/dist/skill-router.js +6 -3
  138. package/node_modules/@noodle-borg/agent-kit/dist/skill-router.js.map +1 -1
  139. package/node_modules/@noodle-borg/connector-defs/dist/index.d.ts +1 -1
  140. package/node_modules/@noodle-borg/connector-defs/dist/index.d.ts.map +1 -1
  141. package/node_modules/@noodle-borg/connector-defs/dist/index.js.map +1 -1
  142. package/node_modules/@noodle-borg/module-audit/dist/route.d.ts +0 -2
  143. package/node_modules/@noodle-borg/module-audit/dist/route.d.ts.map +1 -1
  144. package/node_modules/@noodle-borg/module-audit/dist/route.js +0 -4
  145. package/node_modules/@noodle-borg/module-audit/dist/route.js.map +1 -1
  146. package/node_modules/@noodle-borg/protocol/dist/input-validation.d.ts +0 -2
  147. package/node_modules/@noodle-borg/protocol/dist/input-validation.d.ts.map +1 -1
  148. package/node_modules/@noodle-borg/protocol/dist/input-validation.js +1 -5
  149. package/node_modules/@noodle-borg/protocol/dist/input-validation.js.map +1 -1
  150. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts +0 -2
  151. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts.map +1 -1
  152. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js +0 -7
  153. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js.map +1 -1
  154. package/node_modules/@noodle-borg/service/dist/credential-binding-index.d.ts +1 -3
  155. package/node_modules/@noodle-borg/service/dist/credential-binding-index.d.ts.map +1 -1
  156. package/node_modules/@noodle-borg/service/dist/credential-binding-index.js +1 -14
  157. package/node_modules/@noodle-borg/service/dist/credential-binding-index.js.map +1 -1
  158. package/node_modules/@noodle-borg/service/dist/index.d.ts +5 -5
  159. package/node_modules/@noodle-borg/service/dist/index.d.ts.map +1 -1
  160. package/node_modules/@noodle-borg/service/dist/index.js +1 -1
  161. package/node_modules/@noodle-borg/service/dist/index.js.map +1 -1
  162. package/node_modules/@noodle-borg/service/dist/mcp-public-routing.d.ts +0 -2
  163. package/node_modules/@noodle-borg/service/dist/mcp-public-routing.d.ts.map +1 -1
  164. package/node_modules/@noodle-borg/service/dist/mcp-public-routing.js +0 -6
  165. package/node_modules/@noodle-borg/service/dist/mcp-public-routing.js.map +1 -1
  166. package/node_modules/@noodle-borg/service/dist/oauth/console-url.d.ts +2 -0
  167. package/node_modules/@noodle-borg/service/dist/oauth/console-url.d.ts.map +1 -0
  168. package/node_modules/@noodle-borg/service/dist/oauth/console-url.js +4 -0
  169. package/node_modules/@noodle-borg/service/dist/oauth/console-url.js.map +1 -0
  170. package/node_modules/@noodle-borg/service/dist/oauth/service-bootstrap.d.ts.map +1 -1
  171. package/node_modules/@noodle-borg/service/dist/oauth/service-bootstrap.js +2 -1
  172. package/node_modules/@noodle-borg/service/dist/oauth/service-bootstrap.js.map +1 -1
  173. package/node_modules/@noodle-borg/service/dist/registry-targets.d.ts +1 -3
  174. package/node_modules/@noodle-borg/service/dist/registry-targets.d.ts.map +1 -1
  175. package/node_modules/@noodle-borg/service/dist/registry-targets.js +0 -17
  176. package/node_modules/@noodle-borg/service/dist/registry-targets.js.map +1 -1
  177. package/node_modules/@noodle-borg/service/package.json +0 -1
  178. package/package.json +1 -1
@@ -0,0 +1,694 @@
1
+ import { DEVTOOLS_COPY_STYLES } from './devtools-copy-styles.js';
2
+ import { DEVTOOLS_DESIGN_STYLES } from './devtools-design.js';
3
+ import { DEVTOOLS_PREVIEW_CONTROL_STYLES } from './devtools-preview-control-styles.js';
4
+ import { DEVTOOLS_RESPONSIVE_STYLES } from './devtools-responsive-styles.js';
5
+ /** Core browser stylesheet for the local `noodle devtools` shell. */
6
+ const DEVTOOLS_BASE_STYLES = String.raw `
7
+ :root{
8
+ color-scheme:dark;
9
+ --nd-bg:#000;
10
+ --nd-panel:#0d0d0f;
11
+ --nd-panel-solid:#101012;
12
+ --nd-raised:rgba(255,255,255,.055);
13
+ --nd-raised-strong:rgba(255,255,255,.09);
14
+ --nd-border:rgba(255,255,255,.09);
15
+ --nd-border-strong:rgba(255,255,255,.16);
16
+ --nd-text:#f7f7f8;
17
+ --nd-muted:#a1a1aa;
18
+ --nd-faint:#71717a;
19
+ --nd-accent:#f97316;
20
+ --nd-amber:#f59e0b;
21
+ --nd-rose:#f43f5e;
22
+ --nd-success:#5CF59B;
23
+ --nd-warning:#FBBF24;
24
+ --nd-error:#FB7185;
25
+ --nd-code:#07120B;
26
+ --nd-code-muted:#82A990;
27
+ --nd-radius:28px;
28
+ --nd-radius-inner:16px;
29
+ --nd-font:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
30
+ --nd-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
31
+ }
32
+ *{box-sizing:border-box}
33
+ html,body{width:100%;height:100%;overflow:hidden}
34
+ body{
35
+ margin:0;
36
+ background:var(--nd-bg);
37
+ color:var(--nd-text);
38
+ font-family:var(--nd-font);
39
+ font-feature-settings:"rlig" 1,"calt" 1;
40
+ -webkit-font-smoothing:antialiased;
41
+ text-rendering:optimizeLegibility;
42
+ }
43
+ button,input,select,textarea{font:inherit}
44
+ button{color:inherit}
45
+ button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
46
+ outline:0;
47
+ background-color:var(--nd-raised-strong);
48
+ box-shadow:0 0 0 2px rgba(249,115,22,.3) inset;
49
+ }
50
+ ::selection{background:rgba(249,115,22,.28);color:#fff}
51
+ #ns-canvas,.ambient-fallback,.ambient-scrim{
52
+ position:fixed;
53
+ inset:0;
54
+ width:100%;
55
+ height:100%;
56
+ pointer-events:none;
57
+ }
58
+ #ns-canvas{
59
+ z-index:1;
60
+ opacity:.42;
61
+ contain:strict;
62
+ transform:translateZ(0);
63
+ }
64
+ .ambient-fallback{
65
+ z-index:0;
66
+ background:
67
+ radial-gradient(54% 64% at 68% 56%,rgba(249,115,22,.11),transparent 70%),
68
+ radial-gradient(40% 46% at 58% 66%,rgba(244,63,94,.07),transparent 74%),
69
+ #000;
70
+ }
71
+ .ambient-scrim{
72
+ z-index:2;
73
+ background:
74
+ radial-gradient(90% 110% at 85% 100%,transparent 0%,rgba(0,0,0,.42) 58%,#000 100%),
75
+ linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.52));
76
+ }
77
+ .workspace{
78
+ position:relative;
79
+ display:grid;
80
+ grid-template-columns:minmax(248px,280px) minmax(0,1fr) minmax(288px,320px);
81
+ grid-template-rows:minmax(0,1fr);
82
+ gap:14px;
83
+ width:100%;
84
+ height:100dvh;
85
+ min-height:0;
86
+ padding:14px;
87
+ }
88
+ .pane{
89
+ position:relative;
90
+ z-index:3;
91
+ min-width:0;
92
+ min-height:0;
93
+ overflow:hidden;
94
+ border:0;
95
+ border-radius:28px;
96
+ background:rgba(13,13,15,.94);
97
+ box-shadow:0 24px 80px rgba(0,0,0,.34);
98
+ }
99
+ .pane--tools,.pane--log{display:flex;flex-direction:column}
100
+ .pane--stage{background:rgba(8,8,10,.82)}
101
+ .pane--tools{padding:18px 12px 12px}
102
+ .brand{
103
+ display:flex;
104
+ align-items:center;
105
+ gap:9px;
106
+ min-height:44px;
107
+ padding:2px 8px 18px;
108
+ }
109
+ .brand__logo{display:flex;min-width:0}
110
+ .brand__wordmark{display:block;width:128px;height:auto;flex:none}
111
+ .rail-heading{
112
+ display:flex;
113
+ align-items:center;
114
+ justify-content:space-between;
115
+ gap:10px;
116
+ padding:10px 10px 8px;
117
+ }
118
+ .rail-heading h2{margin:0}
119
+ .rail-heading__hint,.rail-eyebrow{
120
+ color:var(--nd-faint);
121
+ font-size:9px;
122
+ font-weight:600;
123
+ letter-spacing:.11em;
124
+ text-transform:uppercase;
125
+ }
126
+ .rail-heading--activity{
127
+ min-height:73px;
128
+ padding:16px 16px 12px;
129
+ }
130
+ .rail-heading--activity>div{display:flex;flex-direction:column;gap:4px}
131
+ .rail-heading--activity h2{
132
+ color:var(--nd-text);
133
+ font-size:15px;
134
+ letter-spacing:-.015em;
135
+ text-transform:none;
136
+ }
137
+ h2{
138
+ color:var(--nd-faint);
139
+ font-size:10px;
140
+ font-weight:650;
141
+ letter-spacing:.12em;
142
+ text-transform:uppercase;
143
+ }
144
+ .activity-state{
145
+ display:inline-flex;
146
+ align-items:center;
147
+ color:var(--nd-success);
148
+ }
149
+ .status-dot{
150
+ display:inline-block;
151
+ width:7px;
152
+ height:7px;
153
+ flex:none;
154
+ border-radius:50%;
155
+ background:var(--nd-success);
156
+ box-shadow:0 0 14px rgba(92,245,155,.75);
157
+ }
158
+ #tool-list,#log-list{
159
+ min-height:0;
160
+ overflow:auto;
161
+ scrollbar-width:thin;
162
+ scrollbar-color:rgba(255,255,255,.13) transparent;
163
+ }
164
+ #tool-list{list-style:none;margin:0;padding:2px 0 12px}
165
+ .tool{
166
+ position:relative;
167
+ margin:2px 0;
168
+ overflow:hidden;
169
+ border:0;
170
+ border-radius:14px;
171
+ background:transparent;
172
+ transition:background .18s ease;
173
+ }
174
+ .tool.open{background:rgba(255,255,255,.04)}
175
+ .tool__head{
176
+ display:flex;
177
+ align-items:center;
178
+ width:100%;
179
+ gap:8px;
180
+ min-height:42px;
181
+ padding:10px 11px;
182
+ border:0;
183
+ border-radius:14px;
184
+ background:transparent;
185
+ text-align:left;
186
+ cursor:pointer;
187
+ transition:background .18s ease,color .18s ease;
188
+ }
189
+ .tool__head:hover{background:var(--nd-raised)}
190
+ .tool.open .tool__head{background:rgba(255,255,255,.035)}
191
+ .tool__name{
192
+ overflow:hidden;
193
+ color:#e4e4e7;
194
+ font-family:var(--nd-mono);
195
+ font-size:12px;
196
+ font-weight:560;
197
+ text-overflow:ellipsis;
198
+ white-space:nowrap;
199
+ }
200
+ .tag{
201
+ padding:2px 6px;
202
+ border:1px solid currentColor;
203
+ border-radius:999px;
204
+ background:transparent;
205
+ color:#fdba74;
206
+ font-size:8.5px;
207
+ font-weight:650;
208
+ letter-spacing:.05em;
209
+ text-transform:uppercase;
210
+ }
211
+ .chev{color:var(--nd-faint);font-size:10px}
212
+ .tool__head .chev{margin-left:auto}
213
+ .tool__detail{display:none;padding:2px 11px 13px}
214
+ .tool.open .tool__detail{display:block}
215
+ .tool__desc{
216
+ margin:5px 0 13px;
217
+ color:var(--nd-muted);
218
+ font-size:12px;
219
+ line-height:1.5;
220
+ }
221
+ .field{margin-bottom:11px}
222
+ .field label{
223
+ display:block;
224
+ margin-bottom:5px;
225
+ color:#d4d4d8;
226
+ font-family:var(--nd-mono);
227
+ font-size:10.5px;
228
+ }
229
+ .field__hint{margin-top:4px;color:var(--nd-faint);font-size:10.5px;line-height:1.45}
230
+ .field input[type=text],.field input[type=number],.field select{
231
+ width:100%;
232
+ min-height:34px;
233
+ padding:7px 9px;
234
+ border:0;
235
+ border-radius:10px;
236
+ background:rgba(0,0,0,.5);
237
+ color:var(--nd-text);
238
+ font-family:var(--nd-mono);
239
+ font-size:11.5px;
240
+ }
241
+ .tool__actions{display:flex;justify-content:flex-end;margin-top:13px}
242
+ .btn{
243
+ min-height:36px;
244
+ padding:8px 15px;
245
+ border:0;
246
+ border-radius:999px;
247
+ background:var(--nd-raised);
248
+ color:var(--nd-text);
249
+ font-size:12px;
250
+ font-weight:620;
251
+ cursor:pointer;
252
+ transition:transform .2s ease,filter .2s ease,opacity .2s ease;
253
+ }
254
+ .btn:hover{filter:brightness(1.12)}
255
+ .primary-action{
256
+ position:relative;
257
+ isolation:isolate;
258
+ overflow:hidden;
259
+ border:1px solid transparent;
260
+ border-radius:999px;
261
+ background:
262
+ linear-gradient(#0c0a09,#0c0a09) padding-box,
263
+ linear-gradient(110deg,#F97316 0%,#F59E0B 36%,#F43F5E 68%,#F97316 100%) border-box;
264
+ background-size:100% 100%,220% 220%;
265
+ color:#fff;
266
+ box-shadow:
267
+ 0 0 0 1px rgba(255,255,255,.08) inset,
268
+ 0 8px 28px rgba(249,115,22,.18),
269
+ 0 0 18px rgba(244,63,94,.08);
270
+ animation:glow-shift 4s ease-in-out infinite;
271
+ }
272
+ .primary-action::after{
273
+ content:"";
274
+ position:absolute;
275
+ inset:0 0 48%;
276
+ z-index:-1;
277
+ border-radius:999px 999px 45% 45%;
278
+ background:linear-gradient(rgba(255,255,255,.11),transparent);
279
+ pointer-events:none;
280
+ }
281
+ .primary-action:hover{transform:translateY(-1px) scale(1.012);filter:brightness(1.06)}
282
+ .btn:disabled{opacity:.48;cursor:default;transform:none;filter:none;animation:none}
283
+ @keyframes glow-shift{
284
+ 0%,100%{background-position:0 0,0% 50%}
285
+ 50%{background-position:0 0,100% 50%}
286
+ }
287
+ .pane--stage{display:flex;flex-direction:column}
288
+ .bar{
289
+ display:flex;
290
+ align-items:center;
291
+ gap:12px;
292
+ min-height:64px;
293
+ flex:none;
294
+ padding:10px 14px;
295
+ }
296
+ .modes{
297
+ display:flex;
298
+ gap:2px;
299
+ padding:3px;
300
+ border:0;
301
+ border-radius:999px;
302
+ background:rgba(255,255,255,.035);
303
+ }
304
+ .mode{
305
+ min-width:78px;
306
+ padding:7px 15px;
307
+ border:0;
308
+ border-radius:999px;
309
+ background:transparent;
310
+ color:var(--nd-muted);
311
+ font-size:12px;
312
+ font-weight:620;
313
+ cursor:pointer;
314
+ transition:background .18s ease,color .18s ease,box-shadow .18s ease;
315
+ }
316
+ .mode:hover{color:var(--nd-text)}
317
+ .mode.is-active{
318
+ background:rgba(255,255,255,.1);
319
+ color:#fff;
320
+ box-shadow:inset 0 1px rgba(255,255,255,.07);
321
+ }
322
+ .brand__url{
323
+ min-width:0;
324
+ margin-left:auto;
325
+ overflow:hidden;
326
+ color:var(--nd-faint);
327
+ font-family:var(--nd-mono);
328
+ font-size:10px;
329
+ text-overflow:ellipsis;
330
+ white-space:nowrap;
331
+ }
332
+ .muted{color:var(--nd-muted)}
333
+ .rail-toggle,.rail-close{
334
+ display:none;
335
+ align-items:center;
336
+ justify-content:center;
337
+ gap:7px;
338
+ min-height:34px;
339
+ padding:7px 10px;
340
+ border:0;
341
+ border-radius:999px;
342
+ background:rgba(255,255,255,.045);
343
+ color:var(--nd-muted);
344
+ font-size:11px;
345
+ font-weight:600;
346
+ cursor:pointer;
347
+ }
348
+ .rail-close{
349
+ width:30px;
350
+ min-height:30px;
351
+ padding:0;
352
+ border-radius:50%;
353
+ font-size:18px;
354
+ line-height:1;
355
+ }
356
+ .pane--stage>div{padding:16px 18px 18px}
357
+ #preview-view,#chat-view{display:flex;flex:1;min-height:0;flex-direction:column}
358
+ .hidden{display:none}
359
+ #frame.hidden,#chat-view.hidden,#chat-body.hidden,#design-view.hidden{display:none}
360
+ #frame{
361
+ display:block;
362
+ width:820px;
363
+ max-width:100%;
364
+ height:300px;
365
+ flex:none;
366
+ margin:0 auto;
367
+ border:0;
368
+ border-radius:18px;
369
+ background:#000;
370
+ box-shadow:0 18px 60px rgba(0,0,0,.28);
371
+ }
372
+ .nd-frame-full{
373
+ display:block!important;
374
+ position:fixed!important;
375
+ inset:0!important;
376
+ z-index:60!important;
377
+ width:100vw!important;
378
+ height:100dvh!important;
379
+ max-width:none!important;
380
+ margin:0!important;
381
+ border-radius:0!important;
382
+ background:#000!important;
383
+ }
384
+ #fs-exit{
385
+ position:fixed;
386
+ top:16px;
387
+ right:16px;
388
+ z-index:61;
389
+ padding:9px 14px;
390
+ border:0;
391
+ border-radius:999px;
392
+ background:var(--nd-panel-solid);
393
+ color:var(--nd-text);
394
+ font-size:12px;
395
+ cursor:pointer;
396
+ box-shadow:0 12px 40px rgba(0,0,0,.55);
397
+ }
398
+ .empty-state{
399
+ display:flex;
400
+ align-items:center;
401
+ justify-content:center;
402
+ flex:1;
403
+ flex-direction:column;
404
+ gap:11px;
405
+ padding:28px;
406
+ color:var(--nd-muted);
407
+ text-align:center;
408
+ }
409
+ .empty-state svg{width:40px;height:40px;color:#d4d4d8;opacity:.34}
410
+ .empty-state p{margin:0;color:#e4e4e7;font-size:14px;font-weight:610}
411
+ .empty-state span{max-width:330px;color:var(--nd-faint);font-size:11.5px;line-height:1.55}
412
+ #result{flex:1;min-height:0;overflow:auto}
413
+ .result__label,.log__label{
414
+ color:var(--nd-faint);
415
+ font-size:9px;
416
+ font-weight:650;
417
+ letter-spacing:.11em;
418
+ text-transform:uppercase;
419
+ }
420
+ .result__label{margin:0}
421
+ #result pre{
422
+ margin:0;
423
+ padding:15px;
424
+ border:0;
425
+ border-radius:var(--nd-radius-inner);
426
+ background:rgba(0,0,0,.55);
427
+ color:var(--nd-text);
428
+ font-family:var(--nd-mono);
429
+ font-size:12px;
430
+ line-height:1.65;
431
+ white-space:pre-wrap;
432
+ word-break:break-word;
433
+ }
434
+ #log-list{list-style:none;margin:0;padding:6px 10px 16px;font-size:11px}
435
+ .log{
436
+ margin:4px 0;
437
+ overflow:hidden;
438
+ border:0;
439
+ border-radius:12px;
440
+ background:rgba(0,0,0,.16);
441
+ }
442
+ .log--ok{background:rgba(92,245,155,.055)}
443
+ .log--ok.open{background:rgba(7,24,14,.9)}
444
+ .log--error{background:rgba(251,113,133,.075)}
445
+ .log--error.open{background:rgba(35,7,12,.92)}
446
+ .log__head{
447
+ display:grid;
448
+ width:100%;
449
+ grid-template-columns:10px minmax(72px,auto) minmax(0,1fr) auto;
450
+ align-items:center;
451
+ gap:7px;
452
+ min-height:38px;
453
+ padding:8px 9px;
454
+ border:0;
455
+ background:transparent;
456
+ text-align:left;
457
+ cursor:pointer;
458
+ }
459
+ .log__head:hover{background:rgba(255,255,255,.035)}
460
+ .log .m{font-family:var(--nd-mono);font-size:10px;font-weight:650}
461
+ .log .ok{color:var(--nd-success)}
462
+ .log .error{color:var(--nd-error)}
463
+ .log__sum{overflow:hidden;color:#c4c4c8;text-overflow:ellipsis;white-space:nowrap}
464
+ .log .d{color:var(--nd-code-muted);font-family:var(--nd-mono);font-size:9.5px}
465
+ .log__detail{display:none;padding:0 9px 10px}
466
+ .log.open .log__detail{display:block}
467
+ .log__label{margin:7px 0 4px;color:var(--nd-code-muted)}
468
+ .log__detail pre,.toolcall__detail pre{
469
+ margin:0;
470
+ overflow:auto;
471
+ border:0;
472
+ border-radius:10px;
473
+ background:var(--nd-code);
474
+ color:#e4e4e7;
475
+ font-family:var(--nd-mono);
476
+ font-size:10.5px;
477
+ line-height:1.6;
478
+ white-space:pre-wrap;
479
+ word-break:break-word;
480
+ }
481
+ .log__detail pre{background:#09090b}
482
+ .log__detail pre{max-height:280px;padding:9px}
483
+ #chat-body{display:flex;flex:1;min-height:0;flex-direction:column;gap:12px}
484
+ .chat-gate{
485
+ display:flex;
486
+ align-items:center;
487
+ justify-content:center;
488
+ flex:1;
489
+ min-height:0;
490
+ padding:28px;
491
+ }
492
+ .chat-gate__card{
493
+ display:flex;
494
+ align-items:center;
495
+ width:100%;
496
+ max-width:560px;
497
+ flex-direction:column;
498
+ gap:12px;
499
+ text-align:center;
500
+ }
501
+ .chat-gate__card h3{margin:4px 0 0;font-size:23px;font-weight:590;letter-spacing:-.035em}
502
+ .chat-gate__card p{max-width:480px;margin:0;color:var(--nd-muted);font-size:12.5px;line-height:1.62}
503
+ .model-compatibility{
504
+ display:flex;
505
+ align-items:center;
506
+ justify-content:center;
507
+ flex-wrap:wrap;
508
+ gap:10px;
509
+ }
510
+ .compatibility-logos{display:inline-flex;align-items:center;gap:8px}
511
+ .compatibility-logo{
512
+ display:inline-flex;
513
+ width:24px;
514
+ height:24px;
515
+ align-items:center;
516
+ justify-content:center;
517
+ }
518
+ .compatibility-logo svg{display:block;width:17px;height:17px;overflow:visible}
519
+ .compatibility-logo--openai{color:#f4f4f5}
520
+ .compatibility-logo--openai svg{fill:currentColor}
521
+ .compatibility-logo--anthropic{color:#D97757}
522
+ .compatibility-logo--anthropic svg{fill:currentColor}
523
+ .compatibility-logo--gemini{color:#8AB4F8}
524
+ .compatibility-logo--gemini svg{fill:currentColor}
525
+ #chat-key-form{
526
+ display:grid;
527
+ width:100%;
528
+ grid-template-columns:minmax(0,1fr) auto;
529
+ align-items:end;
530
+ gap:8px;
531
+ margin-top:18px;
532
+ border:0;
533
+ background:transparent;
534
+ }
535
+ .chat-config-field{
536
+ display:flex;
537
+ min-width:0;
538
+ flex-direction:column;
539
+ align-items:flex-start;
540
+ gap:6px;
541
+ color:var(--nd-faint);
542
+ font-size:9px;
543
+ font-weight:650;
544
+ letter-spacing:.08em;
545
+ text-transform:uppercase;
546
+ }
547
+ #chat-key-input{
548
+ width:100%;
549
+ min-width:0;
550
+ height:40px;
551
+ padding:0 12px;
552
+ border:0;
553
+ border-radius:12px;
554
+ background:var(--nd-raised);
555
+ color:var(--nd-text);
556
+ font-family:var(--nd-mono);
557
+ font-size:11.5px;
558
+ outline:0;
559
+ }
560
+ #chat-connect{height:40px;padding:0 16px;white-space:nowrap}
561
+ .chat-gate__hint{max-width:470px;color:var(--nd-faint);font-size:10.5px;line-height:1.5}
562
+ .chat-gate__hint code{color:var(--nd-muted);font-family:var(--nd-mono)}
563
+ .chat-gate__hint.err{color:var(--nd-error)}
564
+ #chat-keybar{display:none;align-items:center;justify-content:flex-end;gap:10px;flex:none}
565
+ #chat-keybar.on{display:flex}
566
+ #chat-model-label{color:var(--nd-faint);font-family:var(--nd-mono);font-size:10px}
567
+ #chat-reset{
568
+ padding:5px 8px;
569
+ border:0;
570
+ background:transparent;
571
+ color:var(--nd-faint);
572
+ font-size:10.5px;
573
+ cursor:pointer;
574
+ }
575
+ #chat-reset:hover{color:var(--nd-text)}
576
+ #chat-log{
577
+ display:flex;
578
+ min-height:0;
579
+ flex:1;
580
+ flex-direction:column;
581
+ gap:14px;
582
+ overflow-y:auto;
583
+ padding:4px 2px;
584
+ }
585
+ #chat-log>*{flex:0 0 auto}
586
+ .msg{max-width:84%;line-height:1.58;white-space:pre-wrap;word-break:break-word}
587
+ .msg--user{
588
+ align-self:flex-end;
589
+ padding:10px 14px;
590
+ border:0;
591
+ border-radius:18px 18px 5px 18px;
592
+ background:var(--nd-raised-strong);
593
+ color:#f4f4f5;
594
+ font-size:13px;
595
+ }
596
+ .msg--assistant{align-self:stretch;max-width:100%;padding:3px 1px;color:var(--nd-text);font-size:13.5px}
597
+ .msg--error{
598
+ align-self:flex-start;
599
+ padding:10px 13px;
600
+ border:0;
601
+ border-radius:14px;
602
+ background:rgba(251,113,133,.09);
603
+ color:#fecdd3;
604
+ font-size:12.5px;
605
+ }
606
+ .msg--pending{align-self:flex-start;padding:2px 1px;color:var(--nd-muted);font-size:12.5px;font-style:italic}
607
+ .toolcall{
608
+ align-self:stretch;
609
+ overflow:hidden;
610
+ border:0;
611
+ border-radius:14px;
612
+ background:rgba(0,0,0,.2);
613
+ }
614
+ .toolcall__head{
615
+ display:flex;
616
+ align-items:center;
617
+ width:100%;
618
+ gap:8px;
619
+ padding:9px 11px;
620
+ border:0;
621
+ background:transparent;
622
+ text-align:left;
623
+ cursor:pointer;
624
+ font-size:11.5px;
625
+ }
626
+ .toolcall__head:hover{background:var(--nd-raised)}
627
+ .toolcall__ico{display:flex;align-items:center;color:var(--nd-success)}
628
+ .toolcall__ico svg{width:13px;height:13px}
629
+ .toolcall__name{color:#e4e4e7;font-family:var(--nd-mono);font-size:11.5px;font-weight:600}
630
+ .toolcall__name.error{color:var(--nd-error)}
631
+ .toolcall__chev{margin-left:auto;color:var(--nd-faint);font-size:10px}
632
+ .toolcall__detail{display:none;padding:0 11px 11px}
633
+ .toolcall.open .toolcall__detail{display:block}
634
+ .toolcall__detail .log__label{margin:9px 0 4px}
635
+ .toolcall__detail pre{padding:8px;overflow-x:auto}
636
+ .chat-widget{position:relative;align-self:stretch;min-height:160px;margin:2px 0}
637
+ .chat-widget iframe{
638
+ display:block;
639
+ width:100%;
640
+ min-height:120px;
641
+ border:0;
642
+ border-radius:16px;
643
+ background:#000;
644
+ }
645
+ .chat-skeleton{
646
+ position:absolute;
647
+ inset:0;
648
+ overflow:hidden;
649
+ border:0;
650
+ border-radius:16px;
651
+ background:var(--nd-raised);
652
+ }
653
+ .chat-skeleton::after{
654
+ content:"";
655
+ position:absolute;
656
+ inset:0;
657
+ transform:translateX(-100%);
658
+ background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);
659
+ animation:nd-shimmer 1.4s ease-in-out infinite;
660
+ }
661
+ @keyframes nd-shimmer{100%{transform:translateX(100%)}}
662
+ .chat-form{
663
+ display:flex;
664
+ align-items:flex-end;
665
+ gap:8px;
666
+ flex:none;
667
+ padding:7px;
668
+ border:0;
669
+ border-radius:22px;
670
+ background:rgba(255,255,255,.045);
671
+ box-shadow:0 16px 50px rgba(0,0,0,.24);
672
+ }
673
+ #chat-input{
674
+ min-width:0;
675
+ max-height:160px;
676
+ flex:1;
677
+ resize:none;
678
+ padding:8px 10px;
679
+ border:0;
680
+ background:transparent;
681
+ color:var(--nd-text);
682
+ font-size:13px;
683
+ line-height:1.5;
684
+ outline:0;
685
+ }
686
+ #chat-send:disabled{opacity:.48;cursor:default;animation:none}
687
+ `;
688
+ /** Complete composed stylesheet, kept as one `<style>` element in the self-contained harness. */
689
+ export const DEVTOOLS_STYLES = DEVTOOLS_BASE_STYLES +
690
+ DEVTOOLS_COPY_STYLES +
691
+ DEVTOOLS_PREVIEW_CONTROL_STYLES +
692
+ DEVTOOLS_DESIGN_STYLES +
693
+ DEVTOOLS_RESPONSIVE_STYLES;
694
+ //# sourceMappingURL=devtools-styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools-styles.js","sourceRoot":"","sources":["../src/devtools-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,qEAAqE;AACrE,MAAM,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyqBtC,CAAC;AAEF,iGAAiG;AACjG,MAAM,CAAC,MAAM,eAAe,GAC1B,oBAAoB;IACpB,oBAAoB;IACpB,+BAA+B;IAC/B,sBAAsB;IACtB,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"local-target.d.ts","sourceRoot":"","sources":["../src/local-target.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAc,MAAM,aAAa,CAAC;AAG9D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;CAChC;AAED,wFAAwF;AACxF,wBAAgB,2BAA2B,CACzC,OAAO,GAAE,2BAAgC,GACxC,oBAAoB,CActB"}
1
+ {"version":3,"file":"local-target.d.ts","sourceRoot":"","sources":["../src/local-target.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAc,MAAM,aAAa,CAAC;AAI9D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;CAChC;AAED,wFAAwF;AACxF,wBAAgB,2BAA2B,CACzC,OAAO,GAAE,2BAAgC,GACxC,oBAAoB,CActB"}
@@ -1,6 +1,7 @@
1
1
  import { homedir } from 'node:os';
2
2
  import { basename, dirname, extname, resolve } from 'node:path';
3
3
  import { readConfig } from './config.js';
4
+ import { slug } from './deploy.js';
4
5
  import { readProjectLink } from './project.js';
5
6
  /** Resolve one tenant identity for every local authoring and managed-config command. */
6
7
  export function resolveEffectiveLocalTarget(options = {}) {
@@ -26,10 +27,4 @@ function defaultLocalApp(manifestPath, cwd) {
26
27
  }
27
28
  return base;
28
29
  }
29
- function slug(value) {
30
- return (value
31
- .toLowerCase()
32
- .replace(/[^a-z0-9]+/g, '-')
33
- .replace(/^-+|-+$/g, '') || 'app');
34
- }
35
30
  //# sourceMappingURL=local-target.js.map