@profoundlogic/coderflow-server 0.2.1 → 0.2.3

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 (143) hide show
  1. package/dist/base-image/Dockerfile +3 -0
  2. package/dist/base-image/agent-wrapper.sh +27 -7
  3. package/dist/coder-server.js +1 -1
  4. package/dist/config/cli-models.json +11 -3
  5. package/dist/config.js +1 -1
  6. package/dist/lib/agent-keepalive.js +1 -1
  7. package/dist/lib/api-keys.js +1 -1
  8. package/dist/lib/apiKeys.js +1 -1
  9. package/dist/lib/app-server-ports.js +1 -0
  10. package/dist/lib/auto-judge.js +1 -1
  11. package/dist/lib/basic-auth.js +1 -1
  12. package/dist/lib/build-history.js +1 -1
  13. package/dist/lib/build-output-service.js +1 -1
  14. package/dist/lib/build-scheduler.js +1 -1
  15. package/dist/lib/build-service.js +1 -1
  16. package/dist/lib/ca-certificates.js +1 -0
  17. package/dist/lib/claude-oauth-refresh.js +1 -1
  18. package/dist/lib/cli/build.js +1 -1
  19. package/dist/lib/cli/config-command.js +1 -1
  20. package/dist/lib/cli/config.js +1 -1
  21. package/dist/lib/cli/create-user.js +1 -1
  22. package/dist/lib/cli/init.js +1 -1
  23. package/dist/lib/cli/jira.js +1 -1
  24. package/dist/lib/cli/license.js +1 -1
  25. package/dist/lib/cli/server-manager.js +1 -1
  26. package/dist/lib/container-tokens.js +1 -1
  27. package/dist/lib/data-dir.js +1 -1
  28. package/dist/lib/deployment-history.js +1 -1
  29. package/dist/lib/deployment-service.js +1 -1
  30. package/dist/lib/docker-utils.js +1 -1
  31. package/dist/lib/email.js +1 -1
  32. package/dist/lib/emailTemplates.js +1 -1
  33. package/dist/lib/entitlement.js +1 -1
  34. package/dist/lib/fetch-utils.js +1 -1
  35. package/dist/lib/git-provider-service.js +1 -1
  36. package/dist/lib/git-provider-setup/github-setup-handler.js +1 -1
  37. package/dist/lib/git-provider-setup/index.js +1 -1
  38. package/dist/lib/git-provider-setup/setup-factory.js +1 -1
  39. package/dist/lib/git-provider-setup/setup-interface.js +1 -1
  40. package/dist/lib/git-providers/azure-devops-provider.js +1 -1
  41. package/dist/lib/git-providers/github-app-provider.js +1 -1
  42. package/dist/lib/git-providers/index.js +1 -1
  43. package/dist/lib/git-providers/provider-factory.js +1 -1
  44. package/dist/lib/git-providers/provider-interface.js +1 -1
  45. package/dist/lib/github-urls.js +1 -0
  46. package/dist/lib/jira-client.js +1 -1
  47. package/dist/lib/logger.js +1 -1
  48. package/dist/lib/model-fetcher.js +1 -1
  49. package/dist/lib/notifications.js +1 -1
  50. package/dist/lib/oidc-auth.js +1 -1
  51. package/dist/lib/oidc-device-flow.js +1 -1
  52. package/dist/lib/passwordTokens.js +1 -1
  53. package/dist/lib/pin-cascade.js +1 -1
  54. package/dist/lib/provider-accounts.js +1 -1
  55. package/dist/lib/provider-oauth.js +1 -1
  56. package/dist/lib/provider-profile.js +1 -1
  57. package/dist/lib/provider-token-refresh.js +1 -1
  58. package/dist/lib/request-url.js +1 -0
  59. package/dist/lib/rewind.js +1 -0
  60. package/dist/lib/roles.js +1 -1
  61. package/dist/lib/secrets.js +1 -1
  62. package/dist/lib/state-capture.js +1 -1
  63. package/dist/lib/static-files.js +1 -1
  64. package/dist/lib/task-name-generator.js +1 -1
  65. package/dist/lib/user-git-oauth.js +1 -0
  66. package/dist/lib/user-git-tokens.js +1 -0
  67. package/dist/lib/users.js +1 -1
  68. package/dist/middleware/requireAuth.js +1 -1
  69. package/dist/middleware/requireInit.js +1 -1
  70. package/dist/middleware/requirePermission.js +1 -1
  71. package/dist/package.json +1 -1
  72. package/dist/routes/apiKeys.js +1 -1
  73. package/dist/routes/auth-oidc.js +1 -1
  74. package/dist/routes/auth.js +1 -1
  75. package/dist/routes/build.js +1 -1
  76. package/dist/routes/containers.js +1 -1
  77. package/dist/routes/deploy-task.js +1 -1
  78. package/dist/routes/environment-management.js +1 -1
  79. package/dist/routes/environments.js +1 -1
  80. package/dist/routes/external-skills.js +1 -1
  81. package/dist/routes/git-credentials.js +1 -1
  82. package/dist/routes/git-oauth.js +1 -0
  83. package/dist/routes/git-provider-setup.js +1 -1
  84. package/dist/routes/health.js +1 -1
  85. package/dist/routes/jira.js +1 -1
  86. package/dist/routes/objective-management.js +1 -1
  87. package/dist/routes/password.js +1 -1
  88. package/dist/routes/prompt.js +1 -1
  89. package/dist/routes/provider-auth.js +1 -1
  90. package/dist/routes/qa.js +1 -1
  91. package/dist/routes/settings.js +1 -1
  92. package/dist/routes/skill-management.js +1 -1
  93. package/dist/routes/skills.js +1 -1
  94. package/dist/routes/tasks.js +1 -1
  95. package/dist/routes/templates.js +1 -1
  96. package/dist/routes/test-task.js +1 -1
  97. package/dist/routes/test.js +1 -1
  98. package/dist/routes/users.js +1 -1
  99. package/dist/routes/visualizations.js +1 -1
  100. package/dist/scripts/create-user.js +1 -1
  101. package/dist/start.js +1 -1
  102. package/dist/web-ui/public/activity-detail-modal.js +1 -1
  103. package/dist/web-ui/public/activity-feed.js +1 -1
  104. package/dist/web-ui/public/activity-formatters.js +1 -1
  105. package/dist/web-ui/public/agent-event-parser.js +1 -1
  106. package/dist/web-ui/public/app.js +1 -1
  107. package/dist/web-ui/public/approve-dialog.js +1 -1
  108. package/dist/web-ui/public/comments-widget.js +1 -1
  109. package/dist/web-ui/public/diff-utils.js +1 -0
  110. package/dist/web-ui/public/docs/_sidebar.md +1 -0
  111. package/dist/web-ui/public/docs/admin/ca-certificates.md +33 -0
  112. package/dist/web-ui/public/docs/admin/environments.md +3 -0
  113. package/dist/web-ui/public/docs/admin/git-providers.md +49 -1
  114. package/dist/web-ui/public/environments.css +150 -3
  115. package/dist/web-ui/public/environments.html +29 -9
  116. package/dist/web-ui/public/environments.js +1 -1
  117. package/dist/web-ui/public/feedback-widget.css +7 -0
  118. package/dist/web-ui/public/feedback-widget.js +1 -1
  119. package/dist/web-ui/public/git-history.js +1 -1
  120. package/dist/web-ui/public/git-status.js +1 -1
  121. package/dist/web-ui/public/index.html +62 -0
  122. package/dist/web-ui/public/index.js +1 -1
  123. package/dist/web-ui/public/login.js +1 -1
  124. package/dist/web-ui/public/markdown-editor.js +1 -1
  125. package/dist/web-ui/public/markdown-file-editor.js +1 -1
  126. package/dist/web-ui/public/modal-maximize.js +1 -1
  127. package/dist/web-ui/public/notifications.js +1 -1
  128. package/dist/web-ui/public/server-health.js +1 -1
  129. package/dist/web-ui/public/settings.css +172 -7
  130. package/dist/web-ui/public/settings.html +184 -8
  131. package/dist/web-ui/public/settings.js +1 -1
  132. package/dist/web-ui/public/setup-password.js +1 -1
  133. package/dist/web-ui/public/skills.js +1 -1
  134. package/dist/web-ui/public/sse-client.js +1 -1
  135. package/dist/web-ui/public/sse-shared-worker.js +1 -1
  136. package/dist/web-ui/public/styles.css +352 -3
  137. package/dist/web-ui/public/task.html +7 -0
  138. package/dist/web-ui/public/task.js +1 -1
  139. package/dist/web-ui/public/terminal.js +1 -1
  140. package/dist/web-ui/public/theme.js +1 -1
  141. package/dist/web-ui/public/users.js +1 -1
  142. package/dist/web-ui/public/variant-grouping.js +1 -1
  143. package/package.json +1 -1
@@ -2683,6 +2683,26 @@ button:disabled,
2683
2683
  background: var(--color-text-muted);
2684
2684
  }
2685
2685
 
2686
+ .btn-primary.btn-approved:disabled {
2687
+ background: transparent;
2688
+ color: var(--color-success);
2689
+ border: none;
2690
+ font-weight: 600;
2691
+ box-shadow: none;
2692
+ opacity: 1;
2693
+ cursor: default;
2694
+ pointer-events: auto;
2695
+ }
2696
+
2697
+ .btn-primary.btn-approved:disabled:hover {
2698
+ transform: none;
2699
+ background: transparent;
2700
+ }
2701
+
2702
+ .btn-primary.btn-approved:disabled svg {
2703
+ color: #1e8a55;
2704
+ }
2705
+
2686
2706
  .btn-secondary:disabled {
2687
2707
  background: rgba(31, 42, 68, 0.06);
2688
2708
  color: var(--color-text-muted);
@@ -2735,6 +2755,17 @@ button:disabled,
2735
2755
  background: rgba(63, 114, 255, 0.16);
2736
2756
  }
2737
2757
 
2758
+ .dropdown-item:disabled {
2759
+ opacity: 0.5;
2760
+ cursor: not-allowed;
2761
+ color: var(--color-text-secondary);
2762
+ }
2763
+
2764
+ .dropdown-item:disabled:hover {
2765
+ background: none;
2766
+ color: var(--color-text-secondary);
2767
+ }
2768
+
2738
2769
  .btn-ghost:disabled {
2739
2770
  color: rgba(31, 42, 68, 0.3);
2740
2771
  }
@@ -5638,6 +5669,82 @@ select option[value=""] {
5638
5669
  font-size: 16px;
5639
5670
  }
5640
5671
 
5672
+ /* Model Configuration section in options menu */
5673
+ .options-menu-section {
5674
+ padding: 4px 0;
5675
+ }
5676
+
5677
+ .options-menu-label {
5678
+ padding: 6px 16px 4px;
5679
+ font-size: 11px;
5680
+ font-weight: 600;
5681
+ text-transform: uppercase;
5682
+ letter-spacing: 0.5px;
5683
+ color: var(--color-text-muted);
5684
+ }
5685
+
5686
+ .options-menu-select-row {
5687
+ display: flex;
5688
+ align-items: center;
5689
+ justify-content: space-between;
5690
+ gap: 12px;
5691
+ padding: 6px 16px;
5692
+ }
5693
+
5694
+ .options-menu-select-row label {
5695
+ font-size: 13px;
5696
+ color: var(--color-text-secondary);
5697
+ white-space: nowrap;
5698
+ }
5699
+
5700
+ .options-menu-select-row select {
5701
+ flex: 0 1 auto;
5702
+ min-width: 130px;
5703
+ padding: 4px 8px;
5704
+ font-size: 12px;
5705
+ border: 1px solid var(--color-border);
5706
+ border-radius: var(--radius-small);
5707
+ background: var(--color-bg);
5708
+ color: var(--color-text);
5709
+ cursor: pointer;
5710
+ }
5711
+
5712
+ .options-menu-select-row select:focus {
5713
+ outline: none;
5714
+ border-color: var(--color-accent);
5715
+ }
5716
+
5717
+ .options-menu-actions-row {
5718
+ display: flex;
5719
+ justify-content: flex-end;
5720
+ padding: 4px 16px 8px;
5721
+ }
5722
+
5723
+ .options-menu-link-btn {
5724
+ background: none;
5725
+ border: none;
5726
+ padding: 0;
5727
+ color: var(--color-text-muted);
5728
+ font-size: 12px;
5729
+ cursor: pointer;
5730
+ text-decoration: underline;
5731
+ }
5732
+
5733
+ .options-menu-link-btn:hover {
5734
+ color: var(--color-text);
5735
+ }
5736
+
5737
+ .options-menu-link-btn:focus {
5738
+ outline: none;
5739
+ color: var(--color-text);
5740
+ }
5741
+
5742
+ .options-menu-link-btn:disabled {
5743
+ opacity: 0.45;
5744
+ cursor: default;
5745
+ text-decoration: none;
5746
+ }
5747
+
5641
5748
  .options-menu-item .option-text {
5642
5749
  flex: 1;
5643
5750
  white-space: nowrap;
@@ -8097,6 +8204,10 @@ select option[value=""] {
8097
8204
  animation: pulse-indicator 1s ease-in-out infinite;
8098
8205
  }
8099
8206
 
8207
+ .status-indicator.degraded {
8208
+ background: var(--color-warning);
8209
+ }
8210
+
8100
8211
  @keyframes pulse-indicator {
8101
8212
  0%, 100% {
8102
8213
  opacity: 1;
@@ -12050,6 +12161,183 @@ select option[value=""] {
12050
12161
  display: none;
12051
12162
  }
12052
12163
 
12164
+ .profile-section-desc {
12165
+ font-size: 13px;
12166
+ color: var(--color-text-muted);
12167
+ margin-bottom: 12px;
12168
+ }
12169
+
12170
+ /* Git Connections Section */
12171
+ .git-connections-list {
12172
+ display: flex;
12173
+ flex-direction: column;
12174
+ gap: 8px;
12175
+ }
12176
+
12177
+ .git-connections-loading {
12178
+ font-size: 13px;
12179
+ color: var(--color-text-muted);
12180
+ padding: 8px 0;
12181
+ }
12182
+
12183
+ .git-connection-item {
12184
+ display: flex;
12185
+ align-items: center;
12186
+ justify-content: space-between;
12187
+ padding: 10px 12px;
12188
+ background: var(--color-bg-secondary);
12189
+ border-radius: 8px;
12190
+ border: 1px solid var(--color-border);
12191
+ }
12192
+
12193
+ .git-connection-info {
12194
+ display: flex;
12195
+ align-items: center;
12196
+ gap: 10px;
12197
+ }
12198
+
12199
+ .git-connection-icon {
12200
+ width: 24px;
12201
+ height: 24px;
12202
+ color: var(--color-text-muted);
12203
+ }
12204
+
12205
+ .git-connection-details {
12206
+ display: flex;
12207
+ flex-direction: column;
12208
+ gap: 2px;
12209
+ }
12210
+
12211
+ .git-connection-name {
12212
+ font-size: 14px;
12213
+ font-weight: 500;
12214
+ color: var(--color-text);
12215
+ }
12216
+
12217
+ .git-connection-display-name {
12218
+ font-size: 12px;
12219
+ color: var(--color-text-muted);
12220
+ }
12221
+
12222
+ .git-connection-status {
12223
+ font-size: 12px;
12224
+ color: var(--color-text-muted);
12225
+ }
12226
+
12227
+ .git-connection-status.connected {
12228
+ color: var(--color-success);
12229
+ }
12230
+
12231
+ .git-connection-actions .btn-small {
12232
+ padding: 4px 10px;
12233
+ font-size: 12px;
12234
+ }
12235
+
12236
+ .git-connections-empty {
12237
+ font-size: 13px;
12238
+ color: var(--color-text-muted);
12239
+ padding: 12px 0;
12240
+ text-align: center;
12241
+ }
12242
+
12243
+ /* Git Connections Required Modal */
12244
+ .git-connections-intro {
12245
+ margin-bottom: 16px;
12246
+ color: var(--color-text);
12247
+ }
12248
+
12249
+ .git-connections-required-list {
12250
+ display: flex;
12251
+ flex-direction: column;
12252
+ gap: 12px;
12253
+ margin-bottom: 16px;
12254
+ }
12255
+
12256
+ .git-provider-card {
12257
+ padding: 16px;
12258
+ background: var(--color-bg-secondary);
12259
+ border-radius: 8px;
12260
+ border: 1px solid var(--color-border);
12261
+ }
12262
+
12263
+ .git-provider-card-header {
12264
+ display: flex;
12265
+ align-items: center;
12266
+ justify-content: space-between;
12267
+ margin-bottom: 8px;
12268
+ }
12269
+
12270
+ .git-provider-card-info {
12271
+ display: flex;
12272
+ align-items: center;
12273
+ gap: 10px;
12274
+ }
12275
+
12276
+ .git-provider-card-icon {
12277
+ width: 24px;
12278
+ height: 24px;
12279
+ color: var(--color-text-muted);
12280
+ }
12281
+
12282
+ .git-provider-card-details {
12283
+ display: flex;
12284
+ flex-direction: column;
12285
+ gap: 2px;
12286
+ }
12287
+
12288
+ .git-provider-card-name {
12289
+ font-weight: 500;
12290
+ color: var(--color-text);
12291
+ }
12292
+
12293
+ .git-provider-card-display-name {
12294
+ font-size: 12px;
12295
+ color: var(--color-text-muted);
12296
+ }
12297
+
12298
+ .git-provider-card.connected {
12299
+ border-color: var(--color-success);
12300
+ background: color-mix(in srgb, var(--color-success) 5%, var(--color-bg-secondary));
12301
+ }
12302
+
12303
+ .git-provider-card-connected {
12304
+ font-size: 13px;
12305
+ font-weight: 500;
12306
+ color: var(--color-success);
12307
+ }
12308
+
12309
+ .git-provider-card.unsupported {
12310
+ border-color: var(--color-warning);
12311
+ background: color-mix(in srgb, var(--color-warning) 5%, var(--color-bg-secondary));
12312
+ }
12313
+
12314
+ .git-provider-card-unsupported {
12315
+ font-size: 12px;
12316
+ color: var(--color-warning);
12317
+ font-style: italic;
12318
+ }
12319
+
12320
+ .git-provider-card-repos {
12321
+ font-size: 13px;
12322
+ color: var(--color-text-muted);
12323
+ padding-left: 34px;
12324
+ }
12325
+
12326
+ .git-provider-card-repos ul {
12327
+ margin: 4px 0 0 0;
12328
+ padding-left: 16px;
12329
+ }
12330
+
12331
+ .git-provider-card-repos li {
12332
+ margin-bottom: 2px;
12333
+ }
12334
+
12335
+ .git-connections-hint {
12336
+ font-size: 13px;
12337
+ color: var(--color-text-muted);
12338
+ margin-top: 8px;
12339
+ }
12340
+
12053
12341
  .admin-dropdown {
12054
12342
  min-width: 220px;
12055
12343
  }
@@ -17050,14 +17338,13 @@ body.task-list-open .task-list-side-trigger {
17050
17338
 
17051
17339
  #about-coderflow-modal .about-version-card {
17052
17340
  display: flex;
17053
- justify-content: space-between;
17054
- align-items: center;
17341
+ flex-direction: column;
17055
17342
  padding: 10px 14px;
17056
17343
  background: var(--color-surface-muted);
17057
17344
  border: 1px solid var(--color-border);
17058
17345
  border-radius: var(--radius-small);
17059
17346
  text-align: left;
17060
- gap: 12px;
17347
+ gap: 8px;
17061
17348
  }
17062
17349
 
17063
17350
  #about-coderflow-modal .about-version-label {
@@ -17089,6 +17376,68 @@ body.task-list-open .task-list-side-trigger {
17089
17376
  text-decoration: underline;
17090
17377
  }
17091
17378
 
17379
+ /* About modal - Update check styles */
17380
+ .btn-sm {
17381
+ padding: 0.375rem 0.75rem;
17382
+ font-size: 0.875rem;
17383
+ }
17384
+
17385
+ #about-check-updates-btn:disabled {
17386
+ opacity: 0.6;
17387
+ cursor: not-allowed;
17388
+ }
17389
+
17390
+ .about-update-status {
17391
+ margin-top: 0.5rem;
17392
+ padding: 0.75rem;
17393
+ border-radius: 4px;
17394
+ font-size: 0.9rem;
17395
+ line-height: 1.4;
17396
+ }
17397
+
17398
+ .about-update-status.up-to-date {
17399
+ background-color: rgba(72, 187, 120, 0.1);
17400
+ border: 1px solid rgba(72, 187, 120, 0.3);
17401
+ color: #2f855a;
17402
+ }
17403
+
17404
+ .about-update-status.update-available {
17405
+ background-color: rgba(66, 153, 225, 0.1);
17406
+ border: 1px solid rgba(66, 153, 225, 0.3);
17407
+ color: #2c5282;
17408
+ }
17409
+
17410
+ .about-update-status.update-error {
17411
+ background-color: rgba(245, 101, 101, 0.1);
17412
+ border: 1px solid rgba(245, 101, 101, 0.3);
17413
+ color: #c53030;
17414
+ }
17415
+
17416
+ .about-update-status-icon {
17417
+ display: inline-block;
17418
+ margin-right: 0.5rem;
17419
+ font-weight: bold;
17420
+ }
17421
+
17422
+ .about-update-link {
17423
+ display: inline-block;
17424
+ margin-left: 0.5rem;
17425
+ color: #3182ce;
17426
+ text-decoration: none;
17427
+ font-weight: 500;
17428
+ }
17429
+
17430
+ .about-update-link:hover {
17431
+ text-decoration: underline;
17432
+ }
17433
+
17434
+ .about-update-status code {
17435
+ background-color: rgba(0, 0, 0, 0.1);
17436
+ padding: 0.125rem 0.25rem;
17437
+ border-radius: 3px;
17438
+ font-size: 0.85em;
17439
+ }
17440
+
17092
17441
  .apikeys-list {
17093
17442
  display: flex;
17094
17443
  flex-direction: column;
@@ -177,6 +177,13 @@
177
177
  </svg>
178
178
  <span class="option-text">Resubmit Task...</span>
179
179
  </button>
180
+ <button class="dropdown-item" id="more-pull-changes" data-action="pull-changes">
181
+ <svg class="option-icon" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
182
+ <path d="M12 5v14"></path>
183
+ <path d="m19 12-7 7-7-7"></path>
184
+ </svg>
185
+ <span class="option-text">Pull Latest Changes</span>
186
+ </button>
180
187
  <button class="dropdown-item" id="more-delete-task" data-action="delete-task">
181
188
  <svg class="option-icon" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
182
189
  <polyline points="3 6 5 6 21 6"></polyline>