@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
@@ -23,9 +23,9 @@
23
23
  })();
24
24
  </script>
25
25
  <link rel="stylesheet" href="styles.css?v=84">
26
- <link rel="stylesheet" href="settings.css?v=1">
26
+ <link rel="stylesheet" href="settings.css?v=2">
27
27
  <script type="module" src="app.js?v=67"></script>
28
- <script type="module" src="settings.js?v=1"></script>
28
+ <script type="module" src="settings.js?v=3"></script>
29
29
  </head>
30
30
  <body>
31
31
  <main class="task-detail">
@@ -180,6 +180,13 @@
180
180
  </svg>
181
181
  Single Sign-On
182
182
  </button>
183
+ <button class="settings-nav-item" data-section="ca-certificates" role="tab">
184
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
185
+ <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path>
186
+ <path d="M9 12l2 2 4-4"></path>
187
+ </svg>
188
+ CA Certificates
189
+ </button>
183
190
  </nav>
184
191
  </aside>
185
192
 
@@ -211,6 +218,14 @@
211
218
  <input type="number" id="settings-max-concurrent-agents" class="form-input" min="1" max="100" value="8" style="max-width: 120px;">
212
219
  <span class="form-hint">Limit how many agents can run simultaneously (tasks exceeding this limit will be queued)</span>
213
220
  </div>
221
+ <div class="form-row">
222
+ <label for="settings-coderflow-attribution">CoderFlow Commit Attribution</label>
223
+ <label class="toggle-switch">
224
+ <input type="checkbox" id="settings-coderflow-attribution" checked>
225
+ <span class="toggle-slider"></span>
226
+ </label>
227
+ <span class="form-hint">Appends "Co-Authored-By: CoderFlow" to commit messages</span>
228
+ </div>
214
229
  </div>
215
230
  </div>
216
231
  <div class="card-actions">
@@ -478,6 +493,10 @@
478
493
  <label for="model-claude">Claude Model</label>
479
494
  <div id="model-claude-container"></div>
480
495
  </div>
496
+ <div class="form-row" id="claude-effort-row" hidden>
497
+ <label for="model-claude-effort">Claude Effort Level</label>
498
+ <div id="model-claude-effort-container"></div>
499
+ </div>
481
500
  <div class="form-row">
482
501
  <label for="model-codex">Codex Model</label>
483
502
  <div id="model-codex-container"></div>
@@ -592,11 +611,11 @@
592
611
  <div id="section-git-providers" class="settings-panel" role="tabpanel" hidden>
593
612
  <div class="content-card">
594
613
  <div class="card-header">
595
- <h3>Global Git Providers</h3>
614
+ <h3>Git Providers</h3>
596
615
  </div>
597
616
  <div class="card-body">
598
617
  <div id="git-providers-inline-message" class="inline-message" hidden></div>
599
- <p class="text-muted" style="margin-bottom: 16px;">Configure global git providers that can be used by any environment. Environment-specific providers can be configured in each environment's settings.</p>
618
+ <p class="text-muted" style="margin-bottom: 16px;">Configure Git providers for repository authentication. Environments can reference these providers to access private repositories.</p>
600
619
 
601
620
  <!-- Token Expiration Setting -->
602
621
  <div class="form-single-column" style="margin-bottom: 20px;">
@@ -611,12 +630,12 @@
611
630
  </div>
612
631
  </div>
613
632
 
614
- <div class="git-providers-list" id="global-git-providers-list">
633
+ <div class="git-providers-list" id="git-providers-list">
615
634
  <!-- Git providers will be populated here -->
616
635
  </div>
617
636
 
618
637
  <div class="git-provider-add-section" style="margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--color-border);">
619
- <button type="button" class="btn-secondary" id="add-global-git-provider-btn">
638
+ <button type="button" class="btn-secondary" id="add-git-provider-btn">
620
639
  <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 4px;">
621
640
  <line x1="12" y1="5" x2="12" y2="19"></line>
622
641
  <line x1="5" y1="12" x2="19" y2="12"></line>
@@ -628,6 +647,31 @@
628
647
  </div>
629
648
  </div>
630
649
 
650
+ <!-- CA Certificates Settings -->
651
+ <div id="section-ca-certificates" class="settings-panel" role="tabpanel" hidden>
652
+ <div class="content-card">
653
+ <div class="card-header">
654
+ <h3>CA Certificates</h3>
655
+ </div>
656
+ <div class="card-body">
657
+ <div id="ca-certificates-inline-message" class="inline-message" hidden></div>
658
+ <p class="text-muted" style="margin-bottom: 16px;">Add custom CA certificates for containers to trust internal/corporate certificate authorities.</p>
659
+
660
+ <div id="ca-certificates-list" class="ca-certificates-list"></div>
661
+
662
+ <div style="margin-top: 16px;">
663
+ <button type="button" class="btn-secondary" id="add-ca-cert-btn">
664
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 4px;">
665
+ <line x1="12" y1="5" x2="12" y2="19"></line>
666
+ <line x1="5" y1="12" x2="19" y2="12"></line>
667
+ </svg>
668
+ Add Certificate
669
+ </button>
670
+ </div>
671
+ </div>
672
+ </div>
673
+ </div>
674
+
631
675
  <!-- Single Sign-On Settings -->
632
676
  <div id="section-sso" class="settings-panel" role="tabpanel" hidden>
633
677
  <div class="content-card">
@@ -877,7 +921,7 @@
877
921
  <div id="github-setup-step-1" class="wizard-step">
878
922
  <p class="modal-description">Create a GitHub App for repository access. When you click Next, you'll be redirected to GitHub to approve and install the app.</p>
879
923
  <p class="modal-description text-muted" style="font-size: 0.9em;">
880
- Note: You must be <a href="https://github.com/login" target="_blank">logged into GitHub</a> before proceeding.
924
+ Note: You must be <a id="github-setup-login-link" href="https://github.com/login" target="_blank">logged into GitHub</a><span id="github-setup-login-text" hidden>logged into GitHub</span> before proceeding.
881
925
  </p>
882
926
  <div class="form-single-column">
883
927
  <div class="form-row">
@@ -895,7 +939,19 @@
895
939
  <input type="text" id="github-setup-description" class="form-input" placeholder="e.g., CoderFlow integration for repository access">
896
940
  </div>
897
941
  <div class="form-row">
898
- <label for="github-setup-account-type">Account Type <span class="required">*</span></label>
942
+ <label for="github-setup-host-type">GitHub Host <span class="required">*</span></label>
943
+ <div id="github-setup-host-type-container"></div>
944
+ </div>
945
+ <div class="form-row" id="github-setup-host-row" hidden>
946
+ <label for="github-setup-host">
947
+ <span id="github-setup-host-label">Hostname</span>
948
+ <span class="required">*</span>
949
+ </label>
950
+ <input type="text" id="github-setup-host" class="form-input code-font" placeholder="github.mycompany.com">
951
+ <span class="form-hint" id="github-setup-host-hint">Your GitHub Enterprise Server hostname</span>
952
+ </div>
953
+ <div class="form-row">
954
+ <label for="github-setup-account-type">Owner <span class="required">*</span></label>
899
955
  <div id="github-setup-account-type-container"></div>
900
956
  </div>
901
957
  <div class="form-row" id="github-setup-org-row">
@@ -1040,5 +1096,125 @@
1040
1096
  </div>
1041
1097
  </div>
1042
1098
  </div>
1099
+
1100
+ <!-- Add CA Certificate Modal -->
1101
+ <div id="add-ca-cert-modal" class="modal" hidden>
1102
+ <div class="modal-overlay"></div>
1103
+ <div class="modal-content">
1104
+ <div class="modal-header">
1105
+ <h2>Add CA Certificate</h2>
1106
+ <button type="button" class="modal-close" aria-label="Close">&times;</button>
1107
+ </div>
1108
+ <div class="modal-body">
1109
+ <div id="add-ca-cert-modal-error" class="modal-error" hidden></div>
1110
+ <div class="form-single-column">
1111
+ <div class="form-row">
1112
+ <label for="ca-cert-name">Name <span class="required">*</span></label>
1113
+ <input type="text" id="ca-cert-name" class="form-input" placeholder="e.g., Corporate Root CA">
1114
+ </div>
1115
+ <div class="form-row">
1116
+ <label for="ca-cert-content">Certificate (PEM) <span class="required">*</span></label>
1117
+ <textarea id="ca-cert-content" class="form-input code-font" rows="10"
1118
+ placeholder="-----BEGIN CERTIFICATE-----&#10;...&#10;-----END CERTIFICATE-----"></textarea>
1119
+ <div style="margin-top: 8px;">
1120
+ <button type="button" class="btn-secondary btn-small" id="ca-cert-import-btn">
1121
+ <span>📁</span> Import from file...
1122
+ </button>
1123
+ <input type="file" id="ca-cert-file-input" hidden accept=".pem,.crt,.cer">
1124
+ </div>
1125
+ </div>
1126
+ </div>
1127
+ </div>
1128
+ <div class="modal-actions">
1129
+ <button type="button" class="btn-secondary" id="ca-cert-cancel-btn">Cancel</button>
1130
+ <button type="button" class="btn-primary" id="ca-cert-save-btn">Add Certificate</button>
1131
+ </div>
1132
+ </div>
1133
+ </div>
1134
+
1135
+ <!-- View CA Certificate Modal -->
1136
+ <div id="view-ca-cert-modal" class="modal" hidden>
1137
+ <div class="modal-overlay"></div>
1138
+ <div class="modal-content modal-medium">
1139
+ <div class="modal-header">
1140
+ <h2>Certificate Viewer: <span id="view-ca-cert-name"></span></h2>
1141
+ <button type="button" class="modal-close" aria-label="Close">&times;</button>
1142
+ </div>
1143
+ <div class="modal-body">
1144
+ <div class="cert-viewer">
1145
+ <!-- Issued To -->
1146
+ <div class="cert-section">
1147
+ <h4>Issued To</h4>
1148
+ <dl class="cert-fields">
1149
+ <div class="cert-field" id="cert-issued-to-cn-row">
1150
+ <dt>Common Name (CN)</dt>
1151
+ <dd id="cert-issued-to-cn"></dd>
1152
+ </div>
1153
+ <div class="cert-field" id="cert-issued-to-o-row">
1154
+ <dt>Organization (O)</dt>
1155
+ <dd id="cert-issued-to-o"></dd>
1156
+ </div>
1157
+ <div class="cert-field" id="cert-issued-to-ou-row">
1158
+ <dt>Organizational Unit (OU)</dt>
1159
+ <dd id="cert-issued-to-ou"></dd>
1160
+ </div>
1161
+ </dl>
1162
+ </div>
1163
+
1164
+ <!-- Issued By -->
1165
+ <div class="cert-section">
1166
+ <h4>Issued By</h4>
1167
+ <dl class="cert-fields">
1168
+ <div class="cert-field" id="cert-issued-by-cn-row">
1169
+ <dt>Common Name (CN)</dt>
1170
+ <dd id="cert-issued-by-cn"></dd>
1171
+ </div>
1172
+ <div class="cert-field" id="cert-issued-by-o-row">
1173
+ <dt>Organization (O)</dt>
1174
+ <dd id="cert-issued-by-o"></dd>
1175
+ </div>
1176
+ <div class="cert-field" id="cert-issued-by-ou-row">
1177
+ <dt>Organizational Unit (OU)</dt>
1178
+ <dd id="cert-issued-by-ou"></dd>
1179
+ </div>
1180
+ </dl>
1181
+ </div>
1182
+
1183
+ <!-- Validity Period -->
1184
+ <div class="cert-section">
1185
+ <h4>Validity Period</h4>
1186
+ <dl class="cert-fields">
1187
+ <div class="cert-field">
1188
+ <dt>Issued On</dt>
1189
+ <dd id="cert-issued-on"></dd>
1190
+ </div>
1191
+ <div class="cert-field">
1192
+ <dt>Expires On</dt>
1193
+ <dd id="cert-expires-on"></dd>
1194
+ </div>
1195
+ </dl>
1196
+ </div>
1197
+
1198
+ <!-- SHA-256 Fingerprints -->
1199
+ <div class="cert-section">
1200
+ <h4>SHA-256 Fingerprints</h4>
1201
+ <dl class="cert-fields">
1202
+ <div class="cert-field">
1203
+ <dt>Certificate</dt>
1204
+ <dd id="cert-fingerprint-cert" class="fingerprint"></dd>
1205
+ </div>
1206
+ <div class="cert-field">
1207
+ <dt>Public Key</dt>
1208
+ <dd id="cert-fingerprint-pubkey" class="fingerprint"></dd>
1209
+ </div>
1210
+ </dl>
1211
+ </div>
1212
+ </div>
1213
+ </div>
1214
+ <div class="modal-actions">
1215
+ <button type="button" class="btn-secondary" id="view-ca-cert-close-btn">Close</button>
1216
+ </div>
1217
+ </div>
1218
+ </div>
1043
1219
  </body>
1044
1220
  </html>