@leanandmean/coding-agent 0.74.1-scramjet.35 → 0.74.1-scramjet.40

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 (48) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -1
  3. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  4. package/dist/core/agent-session-runtime.js +1 -0
  5. package/dist/core/agent-session-runtime.js.map +1 -1
  6. package/dist/core/agent-session-services.d.ts +1 -0
  7. package/dist/core/agent-session-services.d.ts.map +1 -1
  8. package/dist/core/agent-session-services.js +2 -0
  9. package/dist/core/agent-session-services.js.map +1 -1
  10. package/dist/core/agent-session.d.ts +15 -0
  11. package/dist/core/agent-session.d.ts.map +1 -1
  12. package/dist/core/agent-session.js +90 -0
  13. package/dist/core/agent-session.js.map +1 -1
  14. package/dist/core/output-throughput-history.d.ts +25 -0
  15. package/dist/core/output-throughput-history.d.ts.map +1 -0
  16. package/dist/core/output-throughput-history.js +240 -0
  17. package/dist/core/output-throughput-history.js.map +1 -0
  18. package/dist/core/output-throughput.d.ts +43 -0
  19. package/dist/core/output-throughput.d.ts.map +1 -0
  20. package/dist/core/output-throughput.js +161 -0
  21. package/dist/core/output-throughput.js.map +1 -0
  22. package/dist/core/sdk.d.ts +2 -0
  23. package/dist/core/sdk.d.ts.map +1 -1
  24. package/dist/core/sdk.js +3 -0
  25. package/dist/core/sdk.js.map +1 -1
  26. package/dist/core/skills.d.ts.map +1 -1
  27. package/dist/core/skills.js +6 -2
  28. package/dist/core/skills.js.map +1 -1
  29. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  30. package/dist/modes/interactive/components/footer.js +6 -2
  31. package/dist/modes/interactive/components/footer.js.map +1 -1
  32. package/dist/modes/interactive/components/model-selector.d.ts +3 -1
  33. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  34. package/dist/modes/interactive/components/model-selector.js +9 -3
  35. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  36. package/dist/modes/interactive/components/scoped-models-selector.d.ts +3 -1
  37. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  38. package/dist/modes/interactive/components/scoped-models-selector.js +8 -2
  39. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  40. package/dist/modes/interactive/interactive-mode.d.ts +3 -0
  41. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  42. package/dist/modes/interactive/interactive-mode.js +45 -7
  43. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  44. package/docs/models.md +2 -0
  45. package/docs/prompt-templates.md +2 -0
  46. package/docs/skills.md +7 -5
  47. package/docs/usage.md +3 -1
  48. package/package.json +8 -4
package/docs/models.md CHANGED
@@ -91,6 +91,8 @@ Override defaults when you need specific values:
91
91
 
92
92
  The file reloads each time you open `/model`. Edit during session; no restart needed.
93
93
 
94
+ When valid history exists, `/model` and `/scoped-models` append a recent median output-rate estimate to the requested provider/model row. The estimate uses normalized final output usage over first-to-last generated output, excluding time to first token and trailing completion latency; no placeholder is shown for models without history.
95
+
94
96
  ## Google AI Studio Example
95
97
 
96
98
  Use `google-generative-ai` with a `baseUrl` to add models from Google AI Studio, including custom Gemma 4 entries:
@@ -4,6 +4,8 @@
4
4
 
5
5
  Prompt templates are Markdown snippets that expand into full prompts. Type `/name` in the editor to invoke a template, where `name` is the filename without `.md`.
6
6
 
7
+ A template expansion is an ordinary user prompt, not a Scramjet command. It does not receive `<scramjet-command>` framing, command lifecycle association, declared next-step behavior, or a guarantee that the agent must execute it as an active command. Skills are on-demand capability packages rather than ordinary prompt expansions, but they likewise do not carry the Scramjet command guarantee. When template-derived information supports an active command, that command's explicit Goals (or inferred outcomes for a legacy command), user decisions, trust boundaries, consumer contracts, and required side effects remain controlling. See the [Scramjet command authoring guide](../../scramjet/docs/command-authoring.md) for the command contract.
8
+
7
9
  ## Locations
8
10
 
9
11
  Scramjet loads prompt templates from:
package/docs/skills.md CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  Skills are self-contained capability packages that the agent loads on-demand. A skill provides specialized workflows, setup instructions, helper scripts, and reference documentation for specific tasks.
6
6
 
7
+ A skill is supporting material, not a Scramjet command. Loading a skill—including through `/skill:name`—does not wrap it in `<scramjet-command>`, associate it with Scramjet's command lifecycle, give it declared next-step behavior, or guarantee that it is an actively invoked executable task. When an active command uses a skill, the command's explicit Goals (or inferred outcomes for a legacy command), user decisions, trust boundaries, consumer contracts, and required side effects remain controlling; the skill supplies capabilities or guidance in support of them. Prompt templates are different again: they expand into ordinary user prompts. See the [Scramjet command authoring guide](../../scramjet/docs/command-authoring.md) for the command contract.
8
+
7
9
  Scramjet implements the [Agent Skills standard](https://agentskills.io/specification), warning about most violations but remaining lenient. Scramjet allows skill names to differ from their parent directory even though the standard disallows it; that rule is suboptimal for shared skill directories used across multiple agent harnesses.
8
10
 
9
11
  ## Table of Contents
@@ -75,11 +77,11 @@ This is progressive disclosure: only descriptions are always in context, full in
75
77
  Skills register as `/skill:name` commands:
76
78
 
77
79
  ```bash
78
- /skill:brave-search # Load and execute the skill
79
- /skill:pdf-tools extract # Load skill with arguments
80
+ /skill:brave-search # Load the skill instructions
81
+ /skill:pdf-tools extract # Load skill instructions with arguments
80
82
  ```
81
83
 
82
- Arguments after the command are appended to the skill content as `User: <args>`.
84
+ Arguments after the command are appended to the expanded skill instructions in the same ordinary user prompt.
83
85
 
84
86
  Toggle skill commands via `/settings` in interactive mode or in `settings.json`:
85
87
 
@@ -141,7 +143,7 @@ Per the [Agent Skills specification](https://agentskills.io/specification#frontm
141
143
  | Field | Required | Description |
142
144
  |-------|----------|-------------|
143
145
  | `name` | Yes | Max 64 chars. Lowercase a-z, 0-9, hyphens. Unlike the standard, Scramjet does not require this to match the parent directory because that standard requirement is suboptimal for shared skill directories. |
144
- | `description` | Yes | Max 1024 chars. What the skill does and when to use it. |
146
+ | `description` | Yes | The Agent Skills specification maximum is 1024 chars. Scramjet warns above this limit but retains the complete description in the generated model-visible skills list unless model invocation is disabled. |
145
147
  | `license` | No | License name or reference to bundled file. |
146
148
  | `compatibility` | No | Max 500 chars. Environment requirements. |
147
149
  | `metadata` | No | Arbitrary key-value mapping. |
@@ -179,7 +181,7 @@ Scramjet validates skills against the Agent Skills standard. Most issues produce
179
181
 
180
182
  - Name exceeds 64 characters or contains invalid characters
181
183
  - Name starts/ends with hyphen or has consecutive hyphens
182
- - Description exceeds 1024 characters
184
+ - Description exceeds the Agent Skills specification maximum of 1024 characters. This warning is advisory: Scramjet retains the complete description in the generated model-visible skills list unless `disable-model-invocation` is `true`.
183
185
 
184
186
  Unknown frontmatter fields are ignored.
185
187
 
package/docs/usage.md CHANGED
@@ -11,7 +11,9 @@ The interface has four main areas:
11
11
  - **Startup header** - shortcuts, loaded context files, prompt templates, skills, and extensions
12
12
  - **Messages** - user messages, assistant responses, tool calls, tool results, notifications, errors, and extension UI
13
13
  - **Editor** - where you type; border color indicates the current thinking level
14
- - **Footer** - working directory, session name, token/cache usage, cost, context usage, and current model
14
+ - **Footer** - working directory, session name, token/cache usage, cost, context usage, current model, and output speed when valid data exists
15
+
16
+ The footer shows the current model's recent median output-rate estimate beside a nonzero session output total when valid history exists. The `/model` and `/scoped-models` selectors annotate every model row that has valid history. Completed and historical estimates use normalized final output usage over the interval from the first to last generated output; they exclude time to first token and trailing completion latency.
15
17
 
16
18
  The editor can be replaced temporarily by built-in UI such as `/settings` or by custom extension UI.
17
19
 
package/package.json CHANGED
@@ -1,11 +1,15 @@
1
1
  {
2
2
  "name": "@leanandmean/coding-agent",
3
- "version": "0.74.1-scramjet.35",
3
+ "version": "0.74.1-scramjet.40",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
7
  "description": "Coding agent CLI with read, bash, edit, write tools and session management",
8
8
  "license": "Apache-2.0",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/LeanAndMean/scramjet.git"
12
+ },
9
13
  "type": "module",
10
14
  "piConfig": {
11
15
  "name": "scramjet",
@@ -33,9 +37,9 @@
33
37
  "test": "vitest --run --passWithNoTests"
34
38
  },
35
39
  "dependencies": {
36
- "@leanandmean/agent": "0.74.1-scramjet.16",
37
- "@leanandmean/ai": "0.74.1-scramjet.12",
38
- "@leanandmean/tui": "0.74.1-scramjet.10",
40
+ "@leanandmean/agent": "0.74.1-scramjet.19",
41
+ "@leanandmean/ai": "0.74.1-scramjet.15",
42
+ "@leanandmean/tui": "0.74.1-scramjet.12",
39
43
  "@silvia-odwyer/photon-node": "^0.3.4",
40
44
  "chalk": "^5.5.0",
41
45
  "dictionary-en": "^4.0.0",