helloloop 0.3.1 → 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 (57) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +4 -4
  3. package/README.md +194 -81
  4. package/hosts/claude/marketplace/plugins/helloloop/.claude-plugin/plugin.json +1 -1
  5. package/hosts/claude/marketplace/plugins/helloloop/commands/helloloop.md +17 -13
  6. package/hosts/claude/marketplace/plugins/helloloop/skills/helloloop/SKILL.md +12 -5
  7. package/hosts/gemini/extension/GEMINI.md +14 -7
  8. package/hosts/gemini/extension/commands/helloloop.toml +17 -12
  9. package/hosts/gemini/extension/gemini-extension.json +1 -1
  10. package/package.json +2 -2
  11. package/skills/helloloop/SKILL.md +18 -7
  12. package/src/analyze_confirmation.mjs +29 -5
  13. package/src/analyze_prompt.mjs +5 -1
  14. package/src/analyze_user_input.mjs +20 -2
  15. package/src/analyzer.mjs +130 -43
  16. package/src/cli.mjs +32 -492
  17. package/src/cli_analyze_command.mjs +248 -0
  18. package/src/cli_args.mjs +106 -0
  19. package/src/cli_command_handlers.mjs +120 -0
  20. package/src/cli_context.mjs +31 -0
  21. package/src/cli_render.mjs +70 -0
  22. package/src/cli_support.mjs +11 -14
  23. package/src/completion_review.mjs +243 -0
  24. package/src/config.mjs +51 -0
  25. package/src/discovery.mjs +21 -2
  26. package/src/discovery_prompt.mjs +2 -27
  27. package/src/email_notification.mjs +343 -0
  28. package/src/engine_metadata.mjs +79 -0
  29. package/src/engine_process_support.mjs +294 -0
  30. package/src/engine_selection.mjs +335 -0
  31. package/src/engine_selection_failure.mjs +51 -0
  32. package/src/engine_selection_messages.mjs +119 -0
  33. package/src/engine_selection_probe.mjs +78 -0
  34. package/src/engine_selection_prompt.mjs +48 -0
  35. package/src/engine_selection_settings.mjs +104 -0
  36. package/src/global_config.mjs +21 -0
  37. package/src/guardrails.mjs +15 -4
  38. package/src/install.mjs +6 -405
  39. package/src/install_claude.mjs +189 -0
  40. package/src/install_codex.mjs +114 -0
  41. package/src/install_gemini.mjs +43 -0
  42. package/src/install_shared.mjs +138 -0
  43. package/src/process.mjs +567 -100
  44. package/src/prompt.mjs +9 -5
  45. package/src/prompt_session.mjs +40 -0
  46. package/src/runner.mjs +3 -341
  47. package/src/runner_execute_task.mjs +255 -0
  48. package/src/runner_execution_support.mjs +146 -0
  49. package/src/runner_loop.mjs +106 -0
  50. package/src/runner_once.mjs +29 -0
  51. package/src/runner_status.mjs +104 -0
  52. package/src/runtime_recovery.mjs +302 -0
  53. package/src/shell_invocation.mjs +16 -0
  54. package/templates/analysis-output.schema.json +0 -1
  55. package/templates/policy.template.json +25 -0
  56. package/templates/project.template.json +2 -0
  57. package/templates/task-review-output.schema.json +70 -0
@@ -110,7 +110,6 @@
110
110
  },
111
111
  "tasks": {
112
112
  "type": "array",
113
- "minItems": 1,
114
113
  "items": {
115
114
  "type": "object",
116
115
  "additionalProperties": false,
@@ -4,13 +4,38 @@
4
4
  "maxLoopTasks": 4,
5
5
  "maxTaskAttempts": 2,
6
6
  "maxTaskStrategies": 4,
7
+ "maxReanalysisPasses": 3,
7
8
  "stopOnFailure": false,
8
9
  "stopOnHighRisk": true,
10
+ "runtimeRecovery": {
11
+ "enabled": true,
12
+ "heartbeatIntervalSeconds": 60,
13
+ "stallWarningSeconds": 900,
14
+ "maxIdleSeconds": 2700,
15
+ "killGraceSeconds": 10,
16
+ "healthProbeTimeoutSeconds": 120,
17
+ "hardRetryDelaysSeconds": [900, 900, 900, 900, 900],
18
+ "softRetryDelaysSeconds": [900, 900, 900, 900, 900, 1800, 1800, 3600, 5400, 7200, 9000, 10800]
19
+ },
9
20
  "codex": {
10
21
  "model": "",
11
22
  "executable": "",
12
23
  "sandbox": "workspace-write",
13
24
  "dangerouslyBypassSandbox": false,
14
25
  "jsonOutput": true
26
+ },
27
+ "claude": {
28
+ "model": "",
29
+ "executable": "",
30
+ "permissionMode": "bypassPermissions",
31
+ "analysisPermissionMode": "plan",
32
+ "outputFormat": "text"
33
+ },
34
+ "gemini": {
35
+ "model": "",
36
+ "executable": "",
37
+ "approvalMode": "yolo",
38
+ "analysisApprovalMode": "plan",
39
+ "outputFormat": "text"
15
40
  }
16
41
  }
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "requiredDocs": [],
3
3
  "constraints": [],
4
+ "defaultEngine": "",
5
+ "lastSelectedEngine": "",
4
6
  "planner": {
5
7
  "minTasks": 3,
6
8
  "maxTasks": 8,
@@ -0,0 +1,70 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "additionalProperties": false,
5
+ "required": [
6
+ "verdict",
7
+ "summary",
8
+ "acceptanceChecks",
9
+ "missing",
10
+ "nextAction"
11
+ ],
12
+ "properties": {
13
+ "verdict": {
14
+ "type": "string",
15
+ "enum": [
16
+ "complete",
17
+ "incomplete",
18
+ "blocked"
19
+ ]
20
+ },
21
+ "summary": {
22
+ "type": "string",
23
+ "minLength": 1
24
+ },
25
+ "acceptanceChecks": {
26
+ "type": "array",
27
+ "minItems": 1,
28
+ "items": {
29
+ "type": "object",
30
+ "additionalProperties": false,
31
+ "required": [
32
+ "item",
33
+ "status",
34
+ "evidence"
35
+ ],
36
+ "properties": {
37
+ "item": {
38
+ "type": "string",
39
+ "minLength": 1
40
+ },
41
+ "status": {
42
+ "type": "string",
43
+ "enum": [
44
+ "met",
45
+ "not_met",
46
+ "uncertain"
47
+ ]
48
+ },
49
+ "evidence": {
50
+ "type": "string",
51
+ "minLength": 1
52
+ }
53
+ }
54
+ }
55
+ },
56
+ "missing": {
57
+ "type": "array",
58
+ "items": {
59
+ "type": "string"
60
+ }
61
+ },
62
+ "blockerReason": {
63
+ "type": "string"
64
+ },
65
+ "nextAction": {
66
+ "type": "string",
67
+ "minLength": 1
68
+ }
69
+ }
70
+ }