@rse/ase 0.9.54 → 0.9.56

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 (86) hide show
  1. package/dst/ase-log.js +5 -0
  2. package/dst/ase-service.js +45 -6
  3. package/dst/ase-setup.js +4 -2
  4. package/dst/ase-statusline.js +6 -8
  5. package/dst/ase-task.js +152 -28
  6. package/package.json +5 -5
  7. package/plugin/.claude-plugin/plugin.json +1 -1
  8. package/plugin/.codex-plugin/plugin.json +1 -1
  9. package/plugin/.github/plugin/plugin.json +1 -1
  10. package/plugin/agents/ase-code-analyze.md +1 -1
  11. package/plugin/agents/ase-code-lint.md +4 -4
  12. package/plugin/agents/ase-meta-chat.md +1 -1
  13. package/plugin/agents/ase-meta-proximity.md +1 -1
  14. package/plugin/meta/ase-common-code.md +165 -2
  15. package/plugin/meta/ase-common-task.md +17 -15
  16. package/plugin/meta/ase-constitution.md +3 -3
  17. package/plugin/meta/ase-control.md +7 -7
  18. package/plugin/meta/ase-dialog.md +5 -4
  19. package/plugin/meta/ase-format-arch.md +7 -8
  20. package/plugin/meta/ase-format-spec.md +10 -11
  21. package/plugin/meta/ase-format-task.md +90 -20
  22. package/plugin/meta/ase-getopt.md +1 -1
  23. package/plugin/meta/ase-persona.md +3 -3
  24. package/plugin/meta/ase-skill.md +14 -24
  25. package/plugin/meta/ase-tenets.md +5 -5
  26. package/plugin/package.json +2 -2
  27. package/plugin/skills/ase-arch-analyze/SKILL.md +1 -1
  28. package/plugin/skills/ase-arch-analyze/help.md +1 -1
  29. package/plugin/skills/ase-arch-discover/SKILL.md +8 -6
  30. package/plugin/skills/ase-code-analyze/SKILL.md +1 -1
  31. package/plugin/skills/ase-code-analyze/help.md +1 -1
  32. package/plugin/skills/ase-code-craft/SKILL.md +2 -153
  33. package/plugin/skills/ase-code-craft/help.md +1 -1
  34. package/plugin/skills/ase-code-explain/SKILL.md +3 -3
  35. package/plugin/skills/ase-code-insight/SKILL.md +9 -7
  36. package/plugin/skills/ase-code-lint/SKILL.md +7 -5
  37. package/plugin/skills/ase-code-lint/help.md +2 -2
  38. package/plugin/skills/ase-code-refactor/SKILL.md +4 -155
  39. package/plugin/skills/ase-code-resolve/SKILL.md +8 -159
  40. package/plugin/skills/ase-docs-distill/SKILL.md +2 -2
  41. package/plugin/skills/ase-docs-distill/help.md +1 -1
  42. package/plugin/skills/ase-docs-proofread/SKILL.md +7 -3
  43. package/plugin/skills/ase-help-intent/SKILL.md +33 -9
  44. package/plugin/skills/ase-help-skill/SKILL.md +1 -1
  45. package/plugin/skills/ase-meta-brainstorm/SKILL.md +11 -2
  46. package/plugin/skills/ase-meta-changelog/SKILL.md +12 -8
  47. package/plugin/skills/ase-meta-commit/SKILL.md +11 -1
  48. package/plugin/skills/ase-meta-compat/SKILL.md +2 -2
  49. package/plugin/skills/ase-meta-config/help.md +4 -4
  50. package/plugin/skills/ase-meta-diaboli/SKILL.md +12 -3
  51. package/plugin/skills/ase-meta-diff/SKILL.md +11 -13
  52. package/plugin/skills/ase-meta-eli5/SKILL.md +3 -3
  53. package/plugin/skills/ase-meta-eli5/help.md +1 -1
  54. package/plugin/skills/ase-meta-evaluate/SKILL.md +3 -3
  55. package/plugin/skills/ase-meta-quorum/SKILL.md +17 -17
  56. package/plugin/skills/ase-meta-quotes/SKILL.md +1 -1
  57. package/plugin/skills/ase-meta-quotes/help.md +4 -3
  58. package/plugin/skills/ase-meta-review/SKILL.md +7 -5
  59. package/plugin/skills/ase-meta-review/help.md +2 -2
  60. package/plugin/skills/ase-meta-search/SKILL.md +18 -0
  61. package/plugin/skills/ase-meta-steelman/SKILL.md +11 -2
  62. package/plugin/skills/ase-meta-why/SKILL.md +15 -6
  63. package/plugin/skills/ase-meta-why/help.md +3 -3
  64. package/plugin/skills/ase-sync-export/SKILL.md +2 -1
  65. package/plugin/skills/ase-sync-export/help.md +1 -1
  66. package/plugin/skills/ase-sync-reconcile/SKILL.md +16 -2
  67. package/plugin/skills/ase-task-condense/SKILL.md +19 -72
  68. package/plugin/skills/ase-task-condense/help.md +1 -1
  69. package/plugin/skills/ase-task-delete/SKILL.md +1 -1
  70. package/plugin/skills/ase-task-dissect/SKILL.md +5 -18
  71. package/plugin/skills/ase-task-edit/SKILL.md +74 -26
  72. package/plugin/skills/ase-task-grill/SKILL.md +30 -124
  73. package/plugin/skills/ase-task-grill/help.md +2 -1
  74. package/plugin/skills/ase-task-id/SKILL.md +12 -2
  75. package/plugin/skills/ase-task-implement/SKILL.md +37 -4
  76. package/plugin/skills/ase-task-implement/help.md +9 -5
  77. package/plugin/skills/ase-task-list/SKILL.md +60 -15
  78. package/plugin/skills/ase-task-list/help.md +49 -6
  79. package/plugin/skills/ase-task-preflight/SKILL.md +20 -8
  80. package/plugin/skills/ase-task-preflight/help.md +4 -3
  81. package/plugin/skills/ase-task-reboot/SKILL.md +19 -62
  82. package/plugin/skills/ase-task-reboot/help.md +1 -1
  83. package/plugin/skills/ase-task-view/SKILL.md +27 -4
  84. package/dst/ase-guidance.js +0 -89
  85. package/dst/ase-persona.js +0 -87
  86. package/dst/ase-stdout.js +0 -18
@@ -1,87 +0,0 @@
1
- /*
2
- ** Agentic Software Engineering (ASE)
3
- ** Copyright (c) 2025-2026 Dr. Ralf S. Engelschall <rse@engelschall.com>
4
- ** Licensed under Apache 2.0 <https://spdx.org/licenses/Apache-2.0>
5
- */
6
- import { isScalar } from "yaml";
7
- import { z } from "zod";
8
- import { Config, configSchema, parseScope, agentClassification } from "./ase-config.js";
9
- /* reusable functionality: ASE agent persona style get/set */
10
- export class Persona {
11
- /* allowed persona style values */
12
- static styles = agentClassification.persona;
13
- /* get the effective persona style for an optional session;
14
- returns the default "engineer" if nothing is configured */
15
- static get(log, session) {
16
- const scope = parseScope(session !== undefined ? `session:${session}` : undefined);
17
- const cfg = new Config("config", configSchema, log, scope);
18
- cfg.read();
19
- const val = cfg.get("agent.persona");
20
- if (val === undefined)
21
- return "engineer";
22
- const style = String(isScalar(val) ? val.value : val);
23
- return Persona.styles.find((s) => s === style) ?? "engineer";
24
- }
25
- /* set the persona style on the strongest scope of an optional session */
26
- static set(log, style, session) {
27
- const scope = parseScope(session !== undefined ? `session:${session}` : undefined);
28
- const cfg = new Config("config", configSchema, log, scope);
29
- cfg.lock(() => {
30
- cfg.read();
31
- cfg.set("agent.persona", style);
32
- cfg.write();
33
- });
34
- }
35
- }
36
- /* MCP registration entry point for persona tools */
37
- export default class PersonaMCP {
38
- log;
39
- constructor(log) {
40
- this.log = log;
41
- }
42
- register(mcp) {
43
- mcp.registerTool("ase_persona", {
44
- title: "ASE persona style get/set",
45
- description: "Get or set the active ASE agent persona `style`. " +
46
- "If `style` is provided, it sets the persona style, " +
47
- "otherwise it returns the current persona `style`. " +
48
- "If `session` is provided, the operation is scoped to that session, " +
49
- "otherwise it operates on the strongest/closest scope (user/project cascade). " +
50
- "Allowed styles: \"writer\" (decorative, eloquent, explaining), " +
51
- "\"engineer\" (concise, factual, accurate), " +
52
- "\"journalist\" (layered, pyramid-structured title/core/detail), " +
53
- "\"telegrapher\" (very brief, factual, abbreviating), " +
54
- "\"caveman\" (ultra brief, rough, stuttering).",
55
- inputSchema: {
56
- style: z.enum(Persona.styles).optional()
57
- .describe("persona style to set; if omitted, the current persona style is returned"),
58
- session: z.string().regex(/^[A-Za-z0-9._-]+$/).optional()
59
- .describe("session identifier (allowed characters: A-Z, a-z, 0-9, '.', '_', '-'); " +
60
- "if omitted, the operation is not scoped to a specific session")
61
- }
62
- }, async (args) => {
63
- try {
64
- if (args.style !== undefined) {
65
- Persona.set(this.log, args.style, args.session);
66
- const where = args.session !== undefined ?
67
- ` for session "${args.session}"` : "";
68
- const msg = `OK: set agent.persona to "${args.style}"${where}`;
69
- return {
70
- content: [{ type: "text", text: msg }]
71
- };
72
- }
73
- const text = Persona.get(this.log, args.session);
74
- return {
75
- content: [{ type: "text", text }]
76
- };
77
- }
78
- catch (err) {
79
- const message = err instanceof Error ? err.message : String(err);
80
- return {
81
- isError: true,
82
- content: [{ type: "text", text: `ERROR: ${message}` }]
83
- };
84
- }
85
- });
86
- }
87
- }
package/dst/ase-stdout.js DELETED
@@ -1,18 +0,0 @@
1
- /*
2
- ** Agentic Software Engineering (ASE)
3
- ** Copyright (c) 2025-2026 Dr. Ralf S. Engelschall <rse@engelschall.com>
4
- ** Licensed under Apache 2.0 <https://spdx.org/licenses/Apache-2.0>
5
- */
6
- /* write a string to stdout, awaiting the write callback which only
7
- fires once the data has been flushed to the underlying pipe, so a
8
- subsequent "process.exit" cannot truncate the output */
9
- export const writeStdout = (text) => {
10
- return new Promise((resolve, reject) => {
11
- process.stdout.write(text, (err) => {
12
- if (err)
13
- reject(err);
14
- else
15
- resolve();
16
- });
17
- });
18
- };