@profoundlogic/coderflow-server 0.2.3 → 0.2.5

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 (148) hide show
  1. package/README.md +24 -0
  2. package/dist/README.md +24 -0
  3. package/dist/base-image/agent-wrapper.sh +4 -2
  4. package/dist/coder-server.js +1 -1
  5. package/dist/config/skill-catalog.json +27 -0
  6. package/dist/config.js +1 -1
  7. package/dist/lib/agent-keepalive.js +1 -1
  8. package/dist/lib/api-keys.js +1 -1
  9. package/dist/lib/apiKeys.js +1 -1
  10. package/dist/lib/app-server-ports.js +1 -1
  11. package/dist/lib/auto-judge.js +1 -1
  12. package/dist/lib/basic-auth.js +1 -1
  13. package/dist/lib/build-history.js +1 -1
  14. package/dist/lib/build-output-service.js +1 -1
  15. package/dist/lib/build-scheduler.js +1 -1
  16. package/dist/lib/build-service.js +1 -1
  17. package/dist/lib/ca-certificates.js +1 -1
  18. package/dist/lib/claude-oauth-refresh.js +1 -1
  19. package/dist/lib/cli/build.js +1 -1
  20. package/dist/lib/cli/config-command.js +1 -1
  21. package/dist/lib/cli/config.js +1 -1
  22. package/dist/lib/cli/create-user.js +1 -1
  23. package/dist/lib/cli/init.js +1 -1
  24. package/dist/lib/cli/jira.js +1 -1
  25. package/dist/lib/cli/license.js +1 -1
  26. package/dist/lib/cli/server-manager.js +1 -1
  27. package/dist/lib/container-tokens.js +1 -1
  28. package/dist/lib/data-dir.js +1 -1
  29. package/dist/lib/deployment-history.js +1 -1
  30. package/dist/lib/deployment-service.js +1 -1
  31. package/dist/lib/docker-utils.js +1 -1
  32. package/dist/lib/email.js +1 -1
  33. package/dist/lib/emailTemplates.js +1 -1
  34. package/dist/lib/entitlement.js +1 -1
  35. package/dist/lib/fetch-utils.js +1 -1
  36. package/dist/lib/git-commit-details-route.js +1 -0
  37. package/dist/lib/git-history-diff-guardrails.js +1 -0
  38. package/dist/lib/git-provider-service.js +1 -1
  39. package/dist/lib/git-provider-setup/github-setup-handler.js +1 -1
  40. package/dist/lib/git-provider-setup/index.js +1 -1
  41. package/dist/lib/git-provider-setup/setup-factory.js +1 -1
  42. package/dist/lib/git-provider-setup/setup-interface.js +1 -1
  43. package/dist/lib/git-providers/azure-devops-provider.js +1 -1
  44. package/dist/lib/git-providers/github-app-provider.js +1 -1
  45. package/dist/lib/git-providers/index.js +1 -1
  46. package/dist/lib/git-providers/provider-factory.js +1 -1
  47. package/dist/lib/git-providers/provider-interface.js +1 -1
  48. package/dist/lib/github-urls.js +1 -1
  49. package/dist/lib/jira-client.js +1 -1
  50. package/dist/lib/logger.js +1 -1
  51. package/dist/lib/model-fetcher.js +1 -1
  52. package/dist/lib/notifications.js +1 -1
  53. package/dist/lib/oidc-auth.js +1 -1
  54. package/dist/lib/oidc-device-flow.js +1 -1
  55. package/dist/lib/passwordTokens.js +1 -1
  56. package/dist/lib/pin-cascade.js +1 -1
  57. package/dist/lib/provider-accounts.js +1 -1
  58. package/dist/lib/provider-oauth.js +1 -1
  59. package/dist/lib/provider-profile.js +1 -1
  60. package/dist/lib/provider-token-refresh.js +1 -1
  61. package/dist/lib/request-url.js +1 -1
  62. package/dist/lib/rewind.js +1 -1
  63. package/dist/lib/roles.js +1 -1
  64. package/dist/lib/secrets.js +1 -1
  65. package/dist/lib/setup-repo-git-auth.js +1 -0
  66. package/dist/lib/state-capture.js +1 -1
  67. package/dist/lib/static-files.js +1 -1
  68. package/dist/lib/task-name-generator.js +1 -1
  69. package/dist/lib/user-git-oauth.js +1 -1
  70. package/dist/lib/user-git-tokens.js +1 -1
  71. package/dist/lib/users.js +1 -1
  72. package/dist/middleware/requireAuth.js +1 -1
  73. package/dist/middleware/requireInit.js +1 -1
  74. package/dist/middleware/requirePermission.js +1 -1
  75. package/dist/package.json +1 -1
  76. package/dist/routes/apiKeys.js +1 -1
  77. package/dist/routes/auth-oidc.js +1 -1
  78. package/dist/routes/auth.js +1 -1
  79. package/dist/routes/build.js +1 -1
  80. package/dist/routes/containers.js +1 -1
  81. package/dist/routes/deploy-task.js +1 -1
  82. package/dist/routes/environment-management.js +1 -1
  83. package/dist/routes/environments.js +1 -1
  84. package/dist/routes/external-skills.js +1 -1
  85. package/dist/routes/git-credentials.js +1 -1
  86. package/dist/routes/git-oauth.js +1 -1
  87. package/dist/routes/git-provider-setup.js +1 -1
  88. package/dist/routes/health.js +1 -1
  89. package/dist/routes/jira.js +1 -1
  90. package/dist/routes/objective-management.js +1 -1
  91. package/dist/routes/password.js +1 -1
  92. package/dist/routes/prompt.js +1 -1
  93. package/dist/routes/provider-auth.js +1 -1
  94. package/dist/routes/qa.js +1 -1
  95. package/dist/routes/settings.js +1 -1
  96. package/dist/routes/skill-management.js +1 -1
  97. package/dist/routes/skills.js +1 -1
  98. package/dist/routes/tasks.js +1 -1
  99. package/dist/routes/templates.js +1 -1
  100. package/dist/routes/test-task.js +1 -1
  101. package/dist/routes/test.js +1 -1
  102. package/dist/routes/users.js +1 -1
  103. package/dist/routes/visualizations.js +1 -1
  104. package/dist/scripts/create-user.js +1 -1
  105. package/dist/start.js +1 -1
  106. package/dist/web-ui/public/activity-detail-modal.js +1 -1
  107. package/dist/web-ui/public/activity-feed.js +1 -1
  108. package/dist/web-ui/public/activity-formatters.js +1 -1
  109. package/dist/web-ui/public/agent-event-parser.js +1 -1
  110. package/dist/web-ui/public/app.js +1 -1
  111. package/dist/web-ui/public/approve-dialog.js +1 -1
  112. package/dist/web-ui/public/comments-widget.js +1 -1
  113. package/dist/web-ui/public/diff-utils.js +1 -1
  114. package/dist/web-ui/public/docs/tasks/providing-feedback.md +1 -1
  115. package/dist/web-ui/public/environments.css +23 -0
  116. package/dist/web-ui/public/environments.html +3 -2
  117. package/dist/web-ui/public/environments.js +1 -1
  118. package/dist/web-ui/public/feedback-widget.js +1 -1
  119. package/dist/web-ui/public/git-history-lazy-utils.js +1 -0
  120. package/dist/web-ui/public/git-history.css +56 -0
  121. package/dist/web-ui/public/git-history.html +2 -2
  122. package/dist/web-ui/public/git-history.js +1 -1
  123. package/dist/web-ui/public/git-status.js +1 -1
  124. package/dist/web-ui/public/index.html +38 -2
  125. package/dist/web-ui/public/index.js +1 -1
  126. package/dist/web-ui/public/login.js +1 -1
  127. package/dist/web-ui/public/markdown-editor.js +1 -1
  128. package/dist/web-ui/public/markdown-file-editor.js +1 -1
  129. package/dist/web-ui/public/modal-maximize.js +1 -1
  130. package/dist/web-ui/public/notifications.js +1 -1
  131. package/dist/web-ui/public/server-health.js +1 -1
  132. package/dist/web-ui/public/settings.css +92 -0
  133. package/dist/web-ui/public/settings.html +31 -2
  134. package/dist/web-ui/public/settings.js +1 -1
  135. package/dist/web-ui/public/setup-password.js +1 -1
  136. package/dist/web-ui/public/skills.css +23 -0
  137. package/dist/web-ui/public/skills.html +3 -2
  138. package/dist/web-ui/public/skills.js +1 -1
  139. package/dist/web-ui/public/sse-client.js +1 -1
  140. package/dist/web-ui/public/sse-shared-worker.js +1 -1
  141. package/dist/web-ui/public/styles.css +373 -7
  142. package/dist/web-ui/public/task.html +102 -0
  143. package/dist/web-ui/public/task.js +1 -1
  144. package/dist/web-ui/public/terminal.js +1 -1
  145. package/dist/web-ui/public/theme.js +1 -1
  146. package/dist/web-ui/public/users.js +1 -1
  147. package/dist/web-ui/public/variant-grouping.js +1 -1
  148. package/package.json +1 -1
@@ -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-save-as-objective" data-action="save-as-objective">
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
+ <circle cx="12" cy="12" r="10"></circle>
183
+ <circle cx="12" cy="12" r="3"></circle>
184
+ </svg>
185
+ <span class="option-text">Save as Objective...</span>
186
+ </button>
180
187
  <button class="dropdown-item" id="more-pull-changes" data-action="pull-changes">
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
  <path d="M12 5v14"></path>
@@ -1128,6 +1135,101 @@
1128
1135
  </div>
1129
1136
  </div>
1130
1137
 
1138
+ <!-- Save as Objective Modal -->
1139
+ <div id="save-as-objective-modal" class="modal" hidden>
1140
+ <div class="modal-overlay"></div>
1141
+ <div class="modal-content">
1142
+ <div class="modal-header">
1143
+ <h2>Save as Objective</h2>
1144
+ <button class="modal-close" id="close-save-as-objective-modal">&times;</button>
1145
+ </div>
1146
+ <div class="modal-body">
1147
+ <div class="modal-section">
1148
+ <p class="field-hint">Create a reusable objective from this task's configuration.</p>
1149
+ </div>
1150
+
1151
+ <!-- Name Field -->
1152
+ <div class="modal-section">
1153
+ <label for="save-objective-name" class="field-label" style="display: block; margin-bottom: 6px; font-size: 13px; color: var(--color-text-secondary);">Name</label>
1154
+ <input type="text" id="save-objective-name" class="text-input" placeholder="Objective name" style="width: 100%; padding: 8px 12px; border: 1px solid var(--color-border); border-radius: var(--radius-small); background: var(--color-bg-secondary); color: var(--color-text); font-size: 14px;">
1155
+ </div>
1156
+
1157
+ <!-- Environment (read-only display) -->
1158
+ <div class="modal-section" id="save-objective-env-section">
1159
+ <label class="field-label" style="display: block; margin-bottom: 6px; font-size: 13px; color: var(--color-text-secondary);">Environment</label>
1160
+ <div id="save-objective-environment" style="padding: 8px 12px; background: var(--color-bg-tertiary); border-radius: var(--radius-small); font-size: 14px; color: var(--color-text-secondary);"></div>
1161
+ </div>
1162
+
1163
+ <!-- Agent Selection -->
1164
+ <div class="modal-section">
1165
+ <label class="field-label" style="display: block; margin-bottom: 6px; font-size: 13px; color: var(--color-text-secondary);">Agents</label>
1166
+ <div style="display: flex; align-items: center; gap: 8px;">
1167
+ <div class="agent-selector" role="group" aria-label="Agent selection" id="save-objective-agent-selector">
1168
+ <div class="agent-card" data-agent="claude" data-count="0">
1169
+ <button type="button" class="agent-btn-decrement" data-counter="down" aria-label="Decrease Claude count" title="Remove Claude">&#8722;</button>
1170
+ <div class="agent-icon" role="button" tabindex="0" aria-label="Claude" title="Claude (click to add, right-click to remove)">
1171
+ <svg viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
1172
+ <path d="m3.127 10.604 3.135-1.76.053-.153-.053-.085H6.11l-.525-.032-1.791-.048-1.554-.065-1.505-.08-.38-.081L0 7.832l.036-.234.32-.214.455.04 1.009.069 1.513.105 1.097.064 1.626.17h.259l.036-.105-.089-.065-.068-.064-1.566-1.062-1.695-1.121-.887-.646-.48-.327-.243-.306-.104-.67.435-.48.585.04.15.04.593.456 1.267.981 1.654 1.218.242.202.097-.068.012-.049-.109-.181-.9-1.626-.96-1.655-.428-.686-.113-.411a2 2 0 0 1-.068-.484l.496-.674L4.446 0l.662.089.279.242.411.94.666 1.48 1.033 2.014.302.597.162.553.06.17h.105v-.097l.085-1.134.157-1.392.154-1.792.052-.504.25-.605.497-.327.387.186.319.456-.045.294-.19 1.23-.37 1.93-.243 1.29h.142l.161-.16.654-.868 1.097-1.372.484-.545.565-.601.363-.287h.686l.505.751-.226.775-.707.895-.585.759-.839 1.13-.524.904.048.072.125-.012 1.897-.403 1.024-.186 1.223-.21.553.258.06.263-.218.536-1.307.323-1.533.307-2.284.54-.028.02.032.04 1.029.098.44.024h1.077l2.005.15.525.346.315.424-.053.323-.807.411-3.631-.863-.872-.218h-.12v.073l.726.71 1.331 1.202 1.667 1.55.084.383-.214.302-.226-.032-1.464-1.101-.565-.497-1.28-1.077h-.084v.113l.295.432 1.557 2.34.08.718-.112.234-.404.141-.444-.08-.911-1.28-.94-1.44-.759-1.291-.093.053-.448 4.821-.21.246-.484.186-.403-.307-.214-.496.214-.98.258-1.28.21-1.016.19-1.263.112-.42-.008-.028-.092.012-.953 1.307-1.448 1.957-1.146 1.227-.274.109-.477-.247.045-.44.266-.39 1.586-2.018.956-1.25.617-.723-.004-.105h-.036l-4.212 4.212z"/>
1173
+ </svg>
1174
+ </div>
1175
+ <button type="button" class="agent-btn-increment" data-counter="up" aria-label="Increase Claude count" title="Add Claude">+</button>
1176
+ <div class="agent-count-badge" id="save-objective-claude-count-display">0</div>
1177
+ <input type="number" min="0" max="5" step="1" id="save-objective-claude-count" value="0" hidden readonly aria-label="Number of Claude agents">
1178
+ </div>
1179
+ <div class="agent-card" data-agent="codex" data-count="0">
1180
+ <button type="button" class="agent-btn-decrement" data-counter="down" aria-label="Decrease Codex count" title="Remove Codex">&#8722;</button>
1181
+ <div class="agent-icon" role="button" tabindex="0" aria-label="Codex" title="Codex (click to add, right-click to remove)">
1182
+ <svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
1183
+ <path d="M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"/>
1184
+ </svg>
1185
+ </div>
1186
+ <button type="button" class="agent-btn-increment" data-counter="up" aria-label="Increase Codex count" title="Add Codex">+</button>
1187
+ <div class="agent-count-badge" id="save-objective-codex-count-display">0</div>
1188
+ <input type="number" min="0" max="5" step="1" id="save-objective-codex-count" value="0" hidden readonly aria-label="Number of Codex agents">
1189
+ </div>
1190
+ <div class="agent-card" data-agent="gemini" data-count="0">
1191
+ <button type="button" class="agent-btn-decrement" data-counter="down" aria-label="Decrease Gemini count" title="Remove Gemini">&#8722;</button>
1192
+ <div class="agent-icon" role="button" tabindex="0" aria-label="Gemini" title="Gemini (click to add, right-click to remove)">
1193
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1194
+ <path d="M12 2L9.09 9.09 2 12l7.09 2.91L12 22l2.91-7.09L22 12l-7.09-2.91z"></path>
1195
+ </svg>
1196
+ </div>
1197
+ <button type="button" class="agent-btn-increment" data-counter="up" aria-label="Increase Gemini count" title="Add Gemini">+</button>
1198
+ <div class="agent-count-badge" id="save-objective-gemini-count-display">0</div>
1199
+ <input type="number" min="0" max="5" step="1" id="save-objective-gemini-count" value="0" hidden readonly aria-label="Number of Gemini agents">
1200
+ </div>
1201
+ </div>
1202
+ <div class="agent-hint" id="save-objective-agent-hint" data-visible="true">
1203
+ <span class="agent-hint-arrow">&larr;</span>
1204
+ <span class="agent-hint-text">Select Agents</span>
1205
+ </div>
1206
+ </div>
1207
+ </div>
1208
+
1209
+ <!-- Instructions Section -->
1210
+ <div class="modal-section">
1211
+ <label for="save-objective-instructions" class="field-label" style="display: block; margin-bottom: 6px; font-size: 13px; color: var(--color-text-secondary);">Instructions</label>
1212
+ <div class="resubmit-markdown-editor-container">
1213
+ <textarea
1214
+ id="save-objective-instructions"
1215
+ class="resubmit-instructions-textarea"
1216
+ placeholder="Enter instructions for this objective..."
1217
+ rows="3"></textarea>
1218
+ </div>
1219
+ </div>
1220
+
1221
+ <!-- Error Message Container -->
1222
+ <div class="modal-section" id="save-objective-error-section" hidden>
1223
+ <div id="save-objective-error-message" style="color: var(--color-danger); font-size: 13px; padding: 8px 12px; background: rgba(229,83,104,0.08); border-radius: 4px; border-left: 3px solid var(--color-danger);"></div>
1224
+ </div>
1225
+ </div>
1226
+ <div class="modal-footer">
1227
+ <button class="btn-ghost" id="cancel-save-as-objective">Cancel</button>
1228
+ <button class="btn-primary" id="confirm-save-as-objective">Save Objective</button>
1229
+ </div>
1230
+ </div>
1231
+ </div>
1232
+
1131
1233
  <!-- Follow-Up History Modal (Read-Only) -->
1132
1234
  <div id="follow-up-history-modal" class="modal" hidden>
1133
1235
  <div class="modal-overlay"></div>