@profoundlogic/coderflow-server 0.6.8 → 0.7.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 (182) hide show
  1. package/dist/base-image/Dockerfile +3 -0
  2. package/dist/base-image/entrypoint.sh +13 -0
  3. package/dist/base-image/standard-instructions/ibmi-database-sql.md +11 -0
  4. package/dist/base-image/standard-instructions/ibmi-exploratory-verification.md +38 -0
  5. package/dist/base-image/standard-instructions/ibmi-output-requirements.md +6 -0
  6. package/dist/base-image/standard-instructions/output-requirements.md +18 -0
  7. package/dist/base-image/standard-instructions/screenshot-guidelines.md +17 -0
  8. package/dist/coder-server.js +1 -1
  9. package/dist/config.js +1 -1
  10. package/dist/lib/agent-keepalive.js +1 -1
  11. package/dist/lib/agent-models.js +1 -1
  12. package/dist/lib/api-keys.js +1 -1
  13. package/dist/lib/apiKeys.js +1 -1
  14. package/dist/lib/app-server-ports.js +1 -1
  15. package/dist/lib/auto-judge.js +1 -1
  16. package/dist/lib/automation-service.js +1 -1
  17. package/dist/lib/basic-auth.js +1 -1
  18. package/dist/lib/bindings.js +1 -1
  19. package/dist/lib/build-history.js +1 -1
  20. package/dist/lib/build-output-service.js +1 -1
  21. package/dist/lib/build-scheduler.js +1 -1
  22. package/dist/lib/build-service.js +1 -1
  23. package/dist/lib/ca-certificates.js +1 -1
  24. package/dist/lib/claude-oauth-refresh.js +1 -1
  25. package/dist/lib/cli/build.js +1 -1
  26. package/dist/lib/cli/cleanup-users.js +1 -1
  27. package/dist/lib/cli/config-command.js +1 -1
  28. package/dist/lib/cli/config.js +1 -1
  29. package/dist/lib/cli/create-user.js +1 -1
  30. package/dist/lib/cli/grant-admin.js +1 -1
  31. package/dist/lib/cli/init.js +1 -1
  32. package/dist/lib/cli/jira.js +1 -1
  33. package/dist/lib/cli/license.js +1 -1
  34. package/dist/lib/cli/list-roles.js +1 -1
  35. package/dist/lib/cli/list-users.js +1 -1
  36. package/dist/lib/cli/server-manager.js +1 -1
  37. package/dist/lib/cli/set-password.js +1 -1
  38. package/dist/lib/config-migration.js +1 -1
  39. package/dist/lib/container-credential-sync.js +1 -1
  40. package/dist/lib/container-tokens.js +1 -1
  41. package/dist/lib/data-dir.js +1 -1
  42. package/dist/lib/deployment-history.js +1 -1
  43. package/dist/lib/deployment-service.js +1 -1
  44. package/dist/lib/docker-utils.js +1 -1
  45. package/dist/lib/email.js +1 -1
  46. package/dist/lib/emailTemplates.js +1 -1
  47. package/dist/lib/entitlement.js +1 -1
  48. package/dist/lib/external-connections.js +1 -1
  49. package/dist/lib/fetch-utils.js +1 -1
  50. package/dist/lib/git-commit-details-route.js +1 -1
  51. package/dist/lib/git-history-diff-guardrails.js +1 -1
  52. package/dist/lib/git-provider-service.js +1 -1
  53. package/dist/lib/git-provider-setup/github-setup-handler.js +1 -1
  54. package/dist/lib/git-provider-setup/index.js +1 -1
  55. package/dist/lib/git-provider-setup/setup-factory.js +1 -1
  56. package/dist/lib/git-provider-setup/setup-interface.js +1 -1
  57. package/dist/lib/git-providers/azure-devops-provider.js +1 -1
  58. package/dist/lib/git-providers/github-app-provider.js +1 -1
  59. package/dist/lib/git-providers/index.js +1 -1
  60. package/dist/lib/git-providers/provider-factory.js +1 -1
  61. package/dist/lib/git-providers/provider-interface.js +1 -1
  62. package/dist/lib/github-urls.js +1 -1
  63. package/dist/lib/group-objective-linking.js +1 -1
  64. package/dist/lib/ibmi-sync.js +1 -1
  65. package/dist/lib/jira-client.js +1 -1
  66. package/dist/lib/judge-blinding.js +1 -1
  67. package/dist/lib/logger.js +1 -1
  68. package/dist/lib/migration-to-scoped-rbac.js +1 -1
  69. package/dist/lib/model-fetcher.js +1 -1
  70. package/dist/lib/notifications.js +1 -1
  71. package/dist/lib/objective-context.js +1 -1
  72. package/dist/lib/oidc-auth.js +1 -1
  73. package/dist/lib/oidc-device-flow.js +1 -1
  74. package/dist/lib/passwordTokens.js +1 -1
  75. package/dist/lib/permission-resolver.js +1 -1
  76. package/dist/lib/pin-cascade.js +1 -1
  77. package/dist/lib/provider-accounts.js +1 -1
  78. package/dist/lib/provider-oauth.js +1 -1
  79. package/dist/lib/provider-profile.js +1 -1
  80. package/dist/lib/provider-token-refresh.js +1 -1
  81. package/dist/lib/rbac-user-state.js +1 -1
  82. package/dist/lib/request-url.js +1 -1
  83. package/dist/lib/rewind.js +1 -1
  84. package/dist/lib/role-definitions.js +1 -1
  85. package/dist/lib/roles.js +1 -1
  86. package/dist/lib/secrets.js +1 -1
  87. package/dist/lib/setup-repo-git-auth.js +1 -1
  88. package/dist/lib/state-capture.js +1 -1
  89. package/dist/lib/static-files.js +1 -1
  90. package/dist/lib/task-aliases.js +1 -1
  91. package/dist/lib/task-name-format.js +1 -1
  92. package/dist/lib/task-name-generator.js +1 -1
  93. package/dist/lib/task-source-metadata.js +1 -1
  94. package/dist/lib/teams.js +1 -1
  95. package/dist/lib/user-git-oauth.js +1 -1
  96. package/dist/lib/user-git-tokens.js +1 -1
  97. package/dist/lib/users.js +1 -1
  98. package/dist/middleware/requireAuth.js +1 -1
  99. package/dist/middleware/requireInit.js +1 -1
  100. package/dist/middleware/requirePermission.js +1 -1
  101. package/dist/package.json +1 -1
  102. package/dist/playwright.config.js +1 -1
  103. package/dist/playwright.task-terminal.config.js +1 -1
  104. package/dist/routes/apiKeys.js +1 -1
  105. package/dist/routes/auth-oidc.js +1 -1
  106. package/dist/routes/auth.js +1 -1
  107. package/dist/routes/automations.js +1 -1
  108. package/dist/routes/bindings.js +1 -1
  109. package/dist/routes/build.js +1 -1
  110. package/dist/routes/containers.js +1 -1
  111. package/dist/routes/deploy-task.js +1 -1
  112. package/dist/routes/environment-management.js +1 -1
  113. package/dist/routes/environments.js +1 -1
  114. package/dist/routes/external-skills.js +1 -1
  115. package/dist/routes/git-credentials.js +1 -1
  116. package/dist/routes/git-oauth.js +1 -1
  117. package/dist/routes/git-provider-setup.js +1 -1
  118. package/dist/routes/health.js +1 -1
  119. package/dist/routes/jira.js +1 -1
  120. package/dist/routes/objective-management.js +1 -1
  121. package/dist/routes/password.js +1 -1
  122. package/dist/routes/prompt.js +1 -1
  123. package/dist/routes/provider-auth.js +1 -1
  124. package/dist/routes/qa.js +1 -1
  125. package/dist/routes/roles.js +1 -1
  126. package/dist/routes/settings.js +1 -1
  127. package/dist/routes/skill-management.js +1 -1
  128. package/dist/routes/skills.js +1 -1
  129. package/dist/routes/tasks.js +1 -1
  130. package/dist/routes/teams.js +1 -1
  131. package/dist/routes/templates.js +1 -1
  132. package/dist/routes/test-task.js +1 -1
  133. package/dist/routes/test.js +1 -1
  134. package/dist/routes/users.js +1 -1
  135. package/dist/routes/visualizations.js +1 -1
  136. package/dist/scripts/create-user.js +1 -1
  137. package/dist/scripts/migrate-config-to-data-dir.js +1 -1
  138. package/dist/start.js +1 -1
  139. package/dist/web-ui/public/activity-detail-modal.js +1 -1
  140. package/dist/web-ui/public/activity-feed.js +1 -1
  141. package/dist/web-ui/public/activity-formatters.js +1 -1
  142. package/dist/web-ui/public/agent-event-parser.js +1 -1
  143. package/dist/web-ui/public/app.js +1 -1
  144. package/dist/web-ui/public/approve-dialog.js +1 -1
  145. package/dist/web-ui/public/automation-links.js +1 -1
  146. package/dist/web-ui/public/automation-schedule.js +1 -1
  147. package/dist/web-ui/public/comments-widget.js +1 -1
  148. package/dist/web-ui/public/diff-utils.js +1 -1
  149. package/dist/web-ui/public/environments.css +21 -0
  150. package/dist/web-ui/public/environments.html +79 -9
  151. package/dist/web-ui/public/environments.js +1 -1
  152. package/dist/web-ui/public/feedback-widget.js +1 -1
  153. package/dist/web-ui/public/file-selection-tree.js +1 -1
  154. package/dist/web-ui/public/git-history-lazy-utils.js +1 -1
  155. package/dist/web-ui/public/git-history.js +1 -1
  156. package/dist/web-ui/public/git-status.js +1 -1
  157. package/dist/web-ui/public/ibmi-file-filter.js +1 -1
  158. package/dist/web-ui/public/index.js +1 -1
  159. package/dist/web-ui/public/login.js +1 -1
  160. package/dist/web-ui/public/markdown-editor.js +1 -1
  161. package/dist/web-ui/public/markdown-file-editor.js +1 -1
  162. package/dist/web-ui/public/modal-maximize.js +1 -1
  163. package/dist/web-ui/public/notifications.js +1 -1
  164. package/dist/web-ui/public/permissions.js +1 -1
  165. package/dist/web-ui/public/pr-dialog.js +1 -1
  166. package/dist/web-ui/public/roles.js +1 -1
  167. package/dist/web-ui/public/server-health.js +1 -1
  168. package/dist/web-ui/public/settings.js +1 -1
  169. package/dist/web-ui/public/setup-password.js +1 -1
  170. package/dist/web-ui/public/skills.js +1 -1
  171. package/dist/web-ui/public/sse-client.js +1 -1
  172. package/dist/web-ui/public/sse-shared-worker.js +1 -1
  173. package/dist/web-ui/public/styles.css +52 -1
  174. package/dist/web-ui/public/task-judging-helpers.js +1 -1
  175. package/dist/web-ui/public/task.html +43 -5
  176. package/dist/web-ui/public/task.js +1 -1
  177. package/dist/web-ui/public/teams.js +1 -1
  178. package/dist/web-ui/public/terminal.js +1 -1
  179. package/dist/web-ui/public/theme.js +1 -1
  180. package/dist/web-ui/public/users.js +1 -1
  181. package/dist/web-ui/public/variant-grouping.js +1 -1
  182. package/package.json +1 -1
@@ -188,6 +188,9 @@ COPY apply-local-state.sh /usr/local/bin/apply-local-state.sh
188
188
  COPY coder-git-credential-helper /usr/local/bin/coder-git-credential-helper
189
189
  RUN chmod +x /usr/local/bin/entrypoint.sh /usr/local/bin/sync-repos.sh /usr/local/bin/rewind-files.sh /usr/local/bin/agent-wrapper.sh /usr/local/bin/start-code-server.sh /usr/local/bin/apply-local-state.sh /usr/local/bin/coder-git-credential-helper
190
190
 
191
+ # Standard instruction templates
192
+ COPY standard-instructions/ /usr/local/share/standard-instructions/
193
+
191
194
  # Expose code-server port
192
195
  EXPOSE 8080
193
196
 
@@ -899,6 +899,19 @@ main() {
899
899
  log "Copying AGENTS.md from /coder-setup/$ENVIRONMENT/" >&2
900
900
  cp "/coder-setup/$ENVIRONMENT/AGENTS.md" /workspace/AGENTS.md
901
901
 
902
+ # Append standard instruction blocks to AGENTS.md if configured
903
+ # STANDARD_INSTRUCTIONS env var contains space-separated block names (e.g. "output-requirements screenshot-guidelines")
904
+ STANDARD_INSTRUCTIONS_DIR="/usr/local/share/standard-instructions"
905
+ if [ -n "$STANDARD_INSTRUCTIONS" ] && [ -d "$STANDARD_INSTRUCTIONS_DIR" ]; then
906
+ for block in $STANDARD_INSTRUCTIONS; do
907
+ if [ -f "$STANDARD_INSTRUCTIONS_DIR/$block.md" ]; then
908
+ printf '\n' >> /workspace/AGENTS.md
909
+ cat "$STANDARD_INSTRUCTIONS_DIR/$block.md" >> /workspace/AGENTS.md
910
+ log "Standard instructions appended: $block" >&2
911
+ fi
912
+ done
913
+ fi
914
+
902
915
  # Create agent-specific symlink based on CODER_AGENT or default_agent
903
916
  AGENT="${CODER_AGENT:-${default_agent:-claude}}"
904
917
  if [ "$AGENT" = "claude" ]; then
@@ -0,0 +1,11 @@
1
+ ## Database and SQL
2
+
3
+ Use your skills to explore the database using SQL, as appropriate. Keep in mind:
4
+
5
+ - You are working in a typical IBM i development environment. A data library is included on your library list.
6
+ - It's normal that data files are not present in your build/task library.
7
+ - Don't try to query SYSTABLES to discover what tables are available. Rather, look at the physical (.pf) and logical (.lf) file sources and SQL sources in the repo to determine what tables are available.
8
+ - Table layouts can be discovered by interpreting the source code. You can also query the table with your SQL skill to return the table layout metadata along with query results.
9
+ - It's not necessary to qualify table names with a schema/library in queries. Just refer to the known table names in the project and they will be found on your library list.
10
+ - Do not attempt to use any tables that are not present in the source repo.
11
+ - Do not attempt to alter existing tables unless specifically asked to.
@@ -0,0 +1,38 @@
1
+ ## Exploratory Verification
2
+
3
+ For any task involving interactive IBM i display file screens, you must perform some ad-hoc exploratory verifications before the task can be considered complete. This applies both to coding and non-coding tasks that involve interactive screens.
4
+
5
+ The goal is to produce a coherent summary of your explorations, including screen renderings.
6
+
7
+ 1. Come up with a list of ad-hoc tests that verify your task is complete and working. The list should cover all affected screens. Keep a "mental note" (and/or temp file) of this list.
8
+ 2. For coding tasks, finish the coding work and verify all changes build successfully.
9
+ 3. Use your `ibmi-interactive-session` skill to start a new session.
10
+ 4. For each test case:
11
+
12
+ - Use the `ibmi-interactive-session` skill to operate the application. Interpret the screen buffer and fields information to understand what is on screen and navigate to the screen you want to test and perform any required operations.
13
+ - Keep "mental notes" (and/or temp files) of what you are doing and make sure that specific screen history file names can be correlated to each step.
14
+ - In your notes, create a text summary that explains how your exploration passed or failed the test. Use the `ibmi-interactive-session` skill to produce an HTML rendering and correlate the generated `<iframe>` tag text with your summary. Do not use basic renderings unless HTML rendering fails, or unless you are specifically asked to.
15
+
16
+ 5. Review the results of your test cases.
17
+
18
+ - If all pass, proceed to step 6.
19
+ - If there are failures:
20
+ - If you think you can solve them, sign off and end your IBM i session. Restart at step 2.
21
+ - If the problems don't seem solvable, you can proceed to step 6.
22
+
23
+ 6. Sign off and end your session.
24
+ 7. Using your notes, prepare a final summary of all explorations, including corresponding renderings, as a temporary Markdown file. This content will be embedded directly in your final summary file. Use this format:
25
+
26
+ ## Exploratory Verification Results
27
+
28
+ ### Test Case 1: Title
29
+ Summary text to describe the exploration and results
30
+
31
+ <screen rendering>
32
+
33
+ ### Test Case 2: Title
34
+ Summary text to describe the exploration and results
35
+
36
+ <screen rendering>
37
+
38
+ **Important** Make sure that screen rendering content is placed at the root of the Markdown document (i.e. not in lists, etc.) as shown above.
@@ -0,0 +1,6 @@
1
+ ## IBM i Output Requirements
2
+
3
+ In addition to the standard output requirements, your task summary must also include:
4
+
5
+ - The IBM i task library name. Use the value from environment variable `IBMI_BUILD_LIBRARY`.
6
+ - Exploratory verification results, if applicable. **Important**: Embed at the root of the `summary.md` file, i.e. not inside a list or any other element.
@@ -0,0 +1,18 @@
1
+ ## Output Requirements
2
+
3
+ After completing any task, you MUST create the following output files:
4
+
5
+ **Important: The `/task-output` directory is located at the SYSTEM ROOT, NOT inside `/workspace`. Ensure you write to `/task-output/...` and NOT `/workspace/task-output/...`.**
6
+
7
+ ### 1. Summary File: `/task-output/summary.md`
8
+
9
+ Write a detailed summary explaining:
10
+
11
+ - What you did and why
12
+ - What issues you encountered and how you resolved them
13
+ - Test results (if applicable)
14
+ - Any recommendations or next steps
15
+
16
+ ### 2. Commit Message: `/task-output/commit-message.txt`
17
+
18
+ Write a concise git commit message covering **all uncommitted changes** made during this session, not just the last thing you worked on. This message will be used to commit everything at once when changes are approved. Before writing, review all pending changes (e.g. via `git diff --stat`) in any repositories you modified to ensure nothing is missed.
@@ -0,0 +1,17 @@
1
+ ## Screenshot Guidelines
2
+
3
+ When using Playwright or other tools to capture screenshots that demonstrate final results:
4
+
5
+ - **Save screenshots to `/task-output/attachments/`** with descriptive filenames (e.g., `result-login-page.png`, `result-feature-complete.png`)
6
+
7
+ - **Include in `summary.md`** using **markdown image syntax** (not HTML) with the `attachment://` URL scheme:
8
+
9
+ ```markdown
10
+ ![Description of the result](attachment://result-screenshot.png)
11
+ ```
12
+
13
+ - **Important**: You MUST use markdown syntax `![alt](attachment://file.png)`. Do NOT use HTML `<img>` tags - they will not work.
14
+
15
+ - The `attachment://` scheme is automatically resolved to the correct URL by the web interface
16
+
17
+ - Only include screenshots that demonstrate the completed work or important outcomes