agentopology 0.7.0 → 0.9.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 +5 -5
- package/dist/__tests__/e2e/compile.test.js +68 -0
- package/dist/__tests__/e2e/compile.test.js.map +1 -1
- package/dist/__tests__/e2e/import-project.test.d.ts +10 -0
- package/dist/__tests__/e2e/import-project.test.d.ts.map +1 -0
- package/dist/__tests__/e2e/import-project.test.js +260 -0
- package/dist/__tests__/e2e/import-project.test.js.map +1 -0
- package/dist/__tests__/e2e/roundtrip.test.js +2 -4
- package/dist/__tests__/e2e/roundtrip.test.js.map +1 -1
- package/dist/__tests__/e2e/unknown-names.test.d.ts +12 -0
- package/dist/__tests__/e2e/unknown-names.test.d.ts.map +1 -0
- package/dist/__tests__/e2e/unknown-names.test.js +268 -0
- package/dist/__tests__/e2e/unknown-names.test.js.map +1 -0
- package/dist/__tests__/live/claude-code.live.test.js +7 -0
- package/dist/__tests__/live/claude-code.live.test.js.map +1 -1
- package/dist/__tests__/open-findings.test.js +7 -3
- package/dist/__tests__/open-findings.test.js.map +1 -1
- package/dist/bindings/claude-code.d.ts.map +1 -1
- package/dist/bindings/claude-code.js +140 -11
- package/dist/bindings/claude-code.js.map +1 -1
- package/dist/cli/index.js +42 -27
- package/dist/cli/index.js.map +1 -1
- package/dist/docs/content.js +19 -19
- package/dist/import/claude-code.d.ts +2 -1
- package/dist/import/claude-code.d.ts.map +1 -1
- package/dist/import/claude-code.js +36 -12
- package/dist/import/claude-code.js.map +1 -1
- package/dist/import/flow.d.ts +64 -0
- package/dist/import/flow.d.ts.map +1 -0
- package/dist/import/flow.js +176 -0
- package/dist/import/flow.js.map +1 -0
- package/dist/import/index.d.ts +11 -0
- package/dist/import/index.d.ts.map +1 -1
- package/dist/import/index.js +15 -4
- package/dist/import/index.js.map +1 -1
- package/dist/import/serializer.d.ts.map +1 -1
- package/dist/import/serializer.js +44 -3
- package/dist/import/serializer.js.map +1 -1
- package/dist/import/walk.d.ts +56 -0
- package/dist/import/walk.d.ts.map +1 -0
- package/dist/import/walk.js +163 -0
- package/dist/import/walk.js.map +1 -0
- package/dist/parser/__tests__/mod-hooks.test.js +1 -1
- package/dist/parser/__tests__/mod-hooks.test.js.map +1 -1
- package/dist/parser/ast.d.ts +46 -3
- package/dist/parser/ast.d.ts.map +1 -1
- package/dist/parser/ast.js.map +1 -1
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js +42 -0
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/known-fields.d.ts +82 -0
- package/dist/parser/known-fields.d.ts.map +1 -0
- package/dist/parser/known-fields.js +263 -0
- package/dist/parser/known-fields.js.map +1 -0
- package/dist/parser/validator.d.ts +1 -1
- package/dist/parser/validator.d.ts.map +1 -1
- package/dist/parser/validator.js +114 -3
- package/dist/parser/validator.js.map +1 -1
- package/examples/matchmat-ship.at +2 -8
- package/examples/memory-system.at +0 -1
- package/package.json +1 -1
- package/spec/grammar.md +24 -1
- package/spec/testing.md +19 -4
- package/spec/validation.md +6 -2
package/spec/validation.md
CHANGED
|
@@ -665,8 +665,8 @@ agent researcher {
|
|
|
665
665
|
|
|
666
666
|
## Summary Table
|
|
667
667
|
|
|
668
|
-
All
|
|
669
|
-
from the implementation. Rules V8, V12, V23, V24, V89 and
|
|
668
|
+
All 103 rules, generated from `src/parser/validator.ts` so the spec cannot drift
|
|
669
|
+
from the implementation. Rules V8, V12, V23, V24, V89, V90, V98 and V102 are collected at
|
|
670
670
|
**parse time** — the misuse they catch leaves no trace in the AST — and surfaced
|
|
671
671
|
through the validator like any other rule.
|
|
672
672
|
|
|
@@ -773,6 +773,10 @@ through the validator like any other rule.
|
|
|
773
773
|
| V97 | error | A node, skill or command `file:` must be a project-relative path (no `..`, not absolute, safe names) — it marks hand-written internals scaffold never writes, so it must be a path scaffold can honour |
|
|
774
774
|
| V98 | error | A `gate`, `hook`, `tool`, `job`, `command` or `level` block must sit inside its container (`gates`, `hooks`, `tools`, `schedule`, `triggers`, `depth`) — written beside it, it was dropped with no message and validate passed |
|
|
775
775
|
| V99 | warning | An agent's `skills:` and `mcp-servers:`, and a skill's `agent:`, should name something the topology declares (or a built-in agent) — a misspelled name compiled to a reference Claude Code could not resolve, with no message |
|
|
776
|
+
| V100 | error | A hook has what its type needs (command/prompt/agent: `run`; http: `url`; mcp_tool: `server` and `tool`; `async` only on a command), and a prompt or agent judge sits on an event Claude Code runs judges for |
|
|
777
|
+
| V101 | error | An agent's `runs:` is `subagent`, `inline` or `fork`, and an `independent` node does not run `inline` (it would read the author's reasoning) |
|
|
778
|
+
| V102 | error | Every field and block name in a node, `meta`, a hook, job, artifact, tool or skill, and every topology section, is one the parser reads — a typo, a field of another node type or an unknown block vanished from the AST while validate passed. Contents of free-form blocks (`prompt`, `extensions`, `settings`, `env`, `memory`, ...) are not checked yet |
|
|
779
|
+
| V103 | error | An agent's or gate's `behavior:` is `advisory` or `blocking` — any other value was kept and emitted into the scaffold unchecked |
|
|
776
780
|
|
|
777
781
|
> Sections above document the first 35 rules with worked examples. The rest are
|
|
778
782
|
> single-line entries here plus their doc comment in the source. Adding an
|