ralphctl 0.5.0 → 0.6.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.
- package/README.md +29 -16
- package/dist/absolute-path-WUTZQ37D.mjs +8 -0
- package/dist/chunk-6RDMCLWU.mjs +108 -0
- package/dist/chunk-HIU74KTO.mjs +1046 -0
- package/dist/chunk-S3PTDH57.mjs +78 -0
- package/dist/chunk-WV4D2CPG.mjs +26 -0
- package/dist/cli.mjs +22413 -717
- package/dist/manifest.json +24 -0
- package/dist/prompt-adapter-JQICGVX7.mjs +7 -0
- package/dist/prompts/ideate.md +3 -1
- package/dist/prompts/plan-auto.md +23 -8
- package/dist/prompts/plan-common-examples.md +3 -3
- package/dist/prompts/plan-common.md +6 -5
- package/dist/prompts/plan-interactive.md +30 -7
- package/dist/prompts/repo-onboard.md +154 -64
- package/dist/prompts/signals-task.md +3 -0
- package/dist/prompts/sprint-feedback.md +3 -0
- package/dist/prompts/task-evaluation.md +74 -53
- package/dist/prompts/task-execution.md +65 -21
- package/dist/prompts/ticket-refine.md +11 -8
- package/dist/prompts/validation-checklist.md +3 -2
- package/dist/skills/default/abstraction-first/SKILL.md +45 -0
- package/dist/skills/default/alignment/SKILL.md +46 -0
- package/dist/skills/default/iterative-review/SKILL.md +48 -0
- package/dist/skills/exec/.gitkeep +0 -0
- package/dist/skills/plan/.gitkeep +0 -0
- package/dist/skills/refine/.gitkeep +0 -0
- package/dist/storage-paths-IPNZZM5D.mjs +15 -0
- package/dist/validation-error-QT6Q7FYU.mjs +7 -0
- package/package.json +9 -4
- package/dist/add-67UFUI54.mjs +0 -17
- package/dist/add-DVPVHENV.mjs +0 -18
- package/dist/bootstrap-FMHG6DRY.mjs +0 -11
- package/dist/chunk-62HYDA7L.mjs +0 -1128
- package/dist/chunk-747KW2RW.mjs +0 -24
- package/dist/chunk-BSB4EDGR.mjs +0 -260
- package/dist/chunk-BT5FKIZX.mjs +0 -787
- package/dist/chunk-CBMFRQ4Y.mjs +0 -441
- package/dist/chunk-CFUVE2BP.mjs +0 -16
- package/dist/chunk-D6QZNEYN.mjs +0 -5520
- package/dist/chunk-FNAAA32W.mjs +0 -103
- package/dist/chunk-GQ2WFKBN.mjs +0 -269
- package/dist/chunk-IWXBJD2D.mjs +0 -27
- package/dist/chunk-OGEXYSFS.mjs +0 -228
- package/dist/chunk-VAZ3LJBI.mjs +0 -179
- package/dist/chunk-WDMLPXOD.mjs +0 -363
- package/dist/chunk-XN2UIHBY.mjs +0 -589
- package/dist/chunk-ZE2BRQA2.mjs +0 -5542
- package/dist/create-Z635FQKO.mjs +0 -15
- package/dist/handle-23EFF3BE.mjs +0 -22
- package/dist/mount-NCYR22SN.mjs +0 -7434
- package/dist/project-DQHF4ISP.mjs +0 -34
- package/dist/prompts/check-script-discover.md +0 -69
- package/dist/prompts/ideate-auto.md +0 -195
- package/dist/prompts/task-evaluation-resume.md +0 -41
- package/dist/resolver-OVPYVW6Q.mjs +0 -163
- package/dist/sprint-4E26AB5F.mjs +0 -38
- package/dist/start-T34NI3LF.mjs +0 -19
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
ValidationError
|
|
4
|
+
} from "./chunk-WV4D2CPG.mjs";
|
|
5
|
+
|
|
6
|
+
// src/domain/values/absolute-path.ts
|
|
7
|
+
import { isAbsolute } from "path";
|
|
8
|
+
import { Result } from "typescript-result";
|
|
9
|
+
var ENV_VAR_REGEX = /\$\{[^}]*\}|\$[A-Za-z_][A-Za-z0-9_]*/;
|
|
10
|
+
function validate(input) {
|
|
11
|
+
if (typeof input !== "string") {
|
|
12
|
+
return Result.error(
|
|
13
|
+
new ValidationError({
|
|
14
|
+
field: "absolute-path",
|
|
15
|
+
value: input,
|
|
16
|
+
message: "absolute path must be a string"
|
|
17
|
+
})
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
if (input.trim().length === 0) {
|
|
21
|
+
return Result.error(
|
|
22
|
+
new ValidationError({
|
|
23
|
+
field: "absolute-path",
|
|
24
|
+
value: input,
|
|
25
|
+
message: "absolute path must not be empty or whitespace-only"
|
|
26
|
+
})
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
if (input.includes("~")) {
|
|
30
|
+
return Result.error(
|
|
31
|
+
new ValidationError({
|
|
32
|
+
field: "absolute-path",
|
|
33
|
+
value: input,
|
|
34
|
+
message: 'absolute path must not contain "~"',
|
|
35
|
+
hint: "expand the home directory before constructing an AbsolutePath"
|
|
36
|
+
})
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
if (ENV_VAR_REGEX.test(input)) {
|
|
40
|
+
return Result.error(
|
|
41
|
+
new ValidationError({
|
|
42
|
+
field: "absolute-path",
|
|
43
|
+
value: input,
|
|
44
|
+
message: "absolute path must not contain environment variable references",
|
|
45
|
+
hint: "expand $VAR / ${VAR} via process.env before constructing an AbsolutePath"
|
|
46
|
+
})
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
if (!isAbsolute(input)) {
|
|
50
|
+
return Result.error(
|
|
51
|
+
new ValidationError({
|
|
52
|
+
field: "absolute-path",
|
|
53
|
+
value: input,
|
|
54
|
+
message: "path must be absolute",
|
|
55
|
+
hint: "use path.resolve() to convert a relative path before construction"
|
|
56
|
+
})
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
return Result.ok(input);
|
|
60
|
+
}
|
|
61
|
+
var AbsolutePath = {
|
|
62
|
+
parse(input) {
|
|
63
|
+
return validate(input);
|
|
64
|
+
},
|
|
65
|
+
/**
|
|
66
|
+
* Internal escape hatch for already-validated strings (e.g. paths read
|
|
67
|
+
* from persisted JSON that has already passed schema validation).
|
|
68
|
+
*
|
|
69
|
+
* **Do not call from business code; persistence layer only.**
|
|
70
|
+
*/
|
|
71
|
+
trustString(s) {
|
|
72
|
+
return s;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
export {
|
|
77
|
+
AbsolutePath
|
|
78
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// src/domain/values/validation-error.ts
|
|
4
|
+
var ValidationError = class extends Error {
|
|
5
|
+
/** Discriminator. `as const` keeps it narrow at the type level. */
|
|
6
|
+
code = "invalid-value";
|
|
7
|
+
/** Logical field — usually the value-object name (e.g. "sprint-id"). */
|
|
8
|
+
field;
|
|
9
|
+
/** The raw input that failed validation. Kept untyped on purpose. */
|
|
10
|
+
value;
|
|
11
|
+
/** Optional human-readable repair hint. */
|
|
12
|
+
hint;
|
|
13
|
+
constructor(opts) {
|
|
14
|
+
super(opts.message);
|
|
15
|
+
this.name = "ValidationError";
|
|
16
|
+
this.field = opts.field;
|
|
17
|
+
this.value = opts.value;
|
|
18
|
+
if (opts.hint !== void 0) {
|
|
19
|
+
this.hint = opts.hint;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export {
|
|
25
|
+
ValidationError
|
|
26
|
+
};
|