agentopology 0.2.0 → 0.2.3
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 +7 -5
- package/dist/analyzer/__tests__/observability-gap.test.d.ts +8 -0
- package/dist/analyzer/__tests__/observability-gap.test.d.ts.map +1 -0
- package/dist/analyzer/__tests__/observability-gap.test.js +132 -0
- package/dist/analyzer/__tests__/observability-gap.test.js.map +1 -0
- package/dist/analyzer/index.d.ts +1 -1
- package/dist/analyzer/index.d.ts.map +1 -1
- package/dist/analyzer/index.js +26 -0
- package/dist/analyzer/index.js.map +1 -1
- package/dist/bindings/__tests__/bindings.test.js +288 -11
- package/dist/bindings/__tests__/bindings.test.js.map +1 -1
- package/dist/bindings/__tests__/observability.test.d.ts +9 -0
- package/dist/bindings/__tests__/observability.test.d.ts.map +1 -0
- package/dist/bindings/__tests__/observability.test.js +136 -0
- package/dist/bindings/__tests__/observability.test.js.map +1 -0
- package/dist/bindings/__tests__/stub-generation.test.d.ts +16 -0
- package/dist/bindings/__tests__/stub-generation.test.d.ts.map +1 -0
- package/dist/bindings/__tests__/stub-generation.test.js +117 -0
- package/dist/bindings/__tests__/stub-generation.test.js.map +1 -0
- package/dist/bindings/claude-code.d.ts.map +1 -1
- package/dist/bindings/claude-code.js +159 -110
- package/dist/bindings/claude-code.js.map +1 -1
- package/dist/bindings/codex.d.ts.map +1 -1
- package/dist/bindings/codex.js +1 -12
- package/dist/bindings/codex.js.map +1 -1
- package/dist/bindings/cursor.d.ts.map +1 -1
- package/dist/bindings/cursor.js +0 -12
- package/dist/bindings/cursor.js.map +1 -1
- package/dist/bindings/gemini-cli.d.ts.map +1 -1
- package/dist/bindings/gemini-cli.js +1 -12
- package/dist/bindings/gemini-cli.js.map +1 -1
- package/dist/bindings/kiro.d.ts.map +1 -1
- package/dist/bindings/kiro.js +1 -12
- package/dist/bindings/kiro.js.map +1 -1
- package/dist/bindings/lib/__tests__/stub.test.d.ts +8 -0
- package/dist/bindings/lib/__tests__/stub.test.d.ts.map +1 -0
- package/dist/bindings/lib/__tests__/stub.test.js +66 -0
- package/dist/bindings/lib/__tests__/stub.test.js.map +1 -0
- package/dist/bindings/lib/stub.d.ts +56 -0
- package/dist/bindings/lib/stub.d.ts.map +1 -0
- package/dist/bindings/lib/stub.js +69 -0
- package/dist/bindings/lib/stub.js.map +1 -0
- package/dist/bindings/openclaw.d.ts.map +1 -1
- package/dist/bindings/openclaw.js +1 -12
- package/dist/bindings/openclaw.js.map +1 -1
- package/dist/bindings/types.d.ts +5 -0
- package/dist/bindings/types.d.ts.map +1 -1
- package/dist/bindings/types.js.map +1 -1
- package/dist/cli/index.js +89 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/docs/content.d.ts.map +1 -1
- package/dist/docs/content.js +9 -5
- package/dist/docs/content.js.map +1 -1
- package/dist/import/__tests__/import.test.js +2 -2
- package/dist/import/__tests__/import.test.js.map +1 -1
- package/dist/parser/__tests__/parser.test.js +31 -3
- package/dist/parser/__tests__/parser.test.js.map +1 -1
- package/dist/parser/validator.d.ts.map +1 -1
- package/dist/parser/validator.js +28 -8
- package/dist/parser/validator.js.map +1 -1
- package/dist/scaffold/__tests__/scaffold.test.js +20 -0
- package/dist/scaffold/__tests__/scaffold.test.js.map +1 -1
- package/dist/scaffold/__tests__/settings-merge.test.d.ts +15 -0
- package/dist/scaffold/__tests__/settings-merge.test.d.ts.map +1 -0
- package/dist/scaffold/__tests__/settings-merge.test.js +127 -0
- package/dist/scaffold/__tests__/settings-merge.test.js.map +1 -0
- package/dist/scaffold/incremental.d.ts.map +1 -1
- package/dist/scaffold/incremental.js +11 -2
- package/dist/scaffold/incremental.js.map +1 -1
- package/dist/scaffold/merge.d.ts +16 -0
- package/dist/scaffold/merge.d.ts.map +1 -1
- package/dist/scaffold/merge.js +77 -0
- package/dist/scaffold/merge.js.map +1 -1
- package/dist/scaffold/types.d.ts +2 -0
- package/dist/scaffold/types.d.ts.map +1 -1
- package/examples/simple-pipeline-topology.html +5700 -0
- package/package.json +2 -1
- package/skill/SKILL.md +7 -7
|
@@ -1957,27 +1957,55 @@ describe("Line number tracking", () => {
|
|
|
1957
1957
|
expect(v7[0].line).toBe(7);
|
|
1958
1958
|
expect(v7[0].node).toBe("no-model");
|
|
1959
1959
|
});
|
|
1960
|
-
it("V25: on-fail bounce-back produces warning", () => {
|
|
1960
|
+
it("V25: on-fail bounce-back with non-agent after produces warning", () => {
|
|
1961
|
+
// Gate after: a human node — cannot be wired as a SubagentStop hook
|
|
1962
|
+
// because human nodes do not register as subagent_types.
|
|
1961
1963
|
const ast = parse(`topology t : [pipeline] {
|
|
1962
1964
|
orchestrator { model: opus handles: [a] }
|
|
1963
1965
|
action a { kind: inline }
|
|
1964
1966
|
agent b { model: opus }
|
|
1967
|
+
human review-step {
|
|
1968
|
+
description: "Review before c"
|
|
1969
|
+
}
|
|
1965
1970
|
agent c { model: opus }
|
|
1966
1971
|
gates {
|
|
1967
1972
|
gate bb {
|
|
1968
|
-
after:
|
|
1973
|
+
after: review-step
|
|
1969
1974
|
before: c
|
|
1970
1975
|
run: "check.sh"
|
|
1971
1976
|
on-fail: bounce-back
|
|
1972
1977
|
}
|
|
1973
1978
|
}
|
|
1974
|
-
flow { a -> b -> c }
|
|
1979
|
+
flow { a -> b -> review-step -> c }
|
|
1975
1980
|
}`);
|
|
1976
1981
|
const issues = validate(ast);
|
|
1977
1982
|
const v25 = issues.filter(i => i.rule === "V25");
|
|
1978
1983
|
expect(v25).toHaveLength(1);
|
|
1979
1984
|
expect(v25[0].level).toBe("warning");
|
|
1980
1985
|
expect(v25[0].message).toContain("bounce-back");
|
|
1986
|
+
expect(v25[0].message).toContain("non-agent");
|
|
1987
|
+
});
|
|
1988
|
+
it("V25: on-fail bounce-back with agent after produces no warning (enforceable)", () => {
|
|
1989
|
+
// Gate after: an agent node — compiles to a SubagentStop hook that
|
|
1990
|
+
// blocks (exit 2 prevents subagent from stopping). No warning needed.
|
|
1991
|
+
const ast = parse(`topology t : [pipeline] {
|
|
1992
|
+
orchestrator { model: opus handles: [a] }
|
|
1993
|
+
action a { kind: inline }
|
|
1994
|
+
agent b { model: opus }
|
|
1995
|
+
agent c { model: opus }
|
|
1996
|
+
gates {
|
|
1997
|
+
gate bb {
|
|
1998
|
+
after: b
|
|
1999
|
+
before: c
|
|
2000
|
+
run: "check.sh"
|
|
2001
|
+
on-fail: bounce-back
|
|
2002
|
+
}
|
|
2003
|
+
}
|
|
2004
|
+
flow { a -> b -> c }
|
|
2005
|
+
}`);
|
|
2006
|
+
const issues = validate(ast);
|
|
2007
|
+
const v25 = issues.filter(i => i.rule === "V25");
|
|
2008
|
+
expect(v25).toHaveLength(0);
|
|
1981
2009
|
});
|
|
1982
2010
|
});
|
|
1983
2011
|
// =========================================================================
|