norn-cli 3.0.0 → 3.1.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/NOW.md +70 -20
- package/README.md +74 -2
- package/demos/agent-workbench/norn.config.json +1 -0
- package/demos/mcp-ticket-testing/README.md +114 -0
- package/demos/mcp-ticket-testing/agents.nornagent +77 -0
- package/demos/mcp-ticket-testing/contracts/test-run.schema.json +31 -0
- package/demos/mcp-ticket-testing/expectations/proj-142.md +12 -0
- package/demos/mcp-ticket-testing/fixtures/proj-142.json +13 -0
- package/demos/mcp-ticket-testing/prompts/backend-tester.md +12 -0
- package/demos/mcp-ticket-testing/prompts/frontend-tester.md +14 -0
- package/demos/mcp-ticket-testing/prompts/reporter.md +10 -0
- package/demos/mcp-ticket-testing/servers/browser-server.js +133 -0
- package/demos/mcp-ticket-testing/servers/house-server.js +125 -0
- package/demos/mcp-ticket-testing/tickets.norn +32 -0
- package/dist/cli.js +1324 -459
- package/package.json +3 -3
- package/playground/ai.norn +8 -2
- package/playground/ai_orchastration.nornagent +20 -1
- package/playground/knowedge_base/nexus_system_prompt.md +1 -1
- package/schemas/norn.config.schema.json +12 -0
- package/CHANGELOG.md +0 -1529
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "norn-cli",
|
|
3
3
|
"displayName": "Norn",
|
|
4
4
|
"description": "Version-controlled API and database tests. Author in VS Code, then run the same files from the CLI and CI.",
|
|
5
|
-
"version": "3.
|
|
5
|
+
"version": "3.1.0",
|
|
6
6
|
"publisher": "Norn-PeterKrustanov",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "Peter Krastanov"
|
|
@@ -627,8 +627,8 @@
|
|
|
627
627
|
"@types/pg": "^8.18.0",
|
|
628
628
|
"@types/tough-cookie": "^4.0.5",
|
|
629
629
|
"@types/vscode": "^1.108.1",
|
|
630
|
-
"@vscode/test-cli": "^0.0.
|
|
631
|
-
"@vscode/test-electron": "^
|
|
630
|
+
"@vscode/test-cli": "^0.0.15",
|
|
631
|
+
"@vscode/test-electron": "^3.1.0",
|
|
632
632
|
"@xterm/addon-fit": "^0.11.0",
|
|
633
633
|
"@xterm/xterm": "^6.0.0",
|
|
634
634
|
"esbuild": "^0.27.2",
|
package/playground/ai.norn
CHANGED
|
@@ -2,8 +2,14 @@ import "./ai_orchastration.nornagent"
|
|
|
2
2
|
|
|
3
3
|
sequence SimpleNexusRun
|
|
4
4
|
|
|
5
|
-
var nexusReply = run Nexus "
|
|
5
|
+
var nexusReply = run Nexus "Open any website for me need to see if the mcp connection is working"
|
|
6
6
|
|
|
7
|
-
print nexusReply
|
|
7
|
+
print "Result" | nexusReply
|
|
8
|
+
|
|
9
|
+
end sequence
|
|
10
|
+
|
|
11
|
+
sequence Test
|
|
12
|
+
run mcp list Time
|
|
13
|
+
run TimeTeller "what is the time"
|
|
8
14
|
|
|
9
15
|
end sequence
|
|
@@ -4,7 +4,26 @@ model gpt4o
|
|
|
4
4
|
apiKey {{OPENAI_API}}
|
|
5
5
|
end model
|
|
6
6
|
|
|
7
|
+
mcp Playwright
|
|
8
|
+
transport stdio
|
|
9
|
+
command npx --yes @playwright/mcp@0.0.79 --headless --isolated --browser chrome
|
|
10
|
+
end mcp
|
|
11
|
+
|
|
12
|
+
mcp Time
|
|
13
|
+
transport http
|
|
14
|
+
url http://localhost:8811/mcp
|
|
15
|
+
header Authorization: Bearer {{$env.TIME_MCP_TOKEN}}
|
|
16
|
+
end mcp
|
|
17
|
+
|
|
7
18
|
agent Nexus
|
|
8
19
|
model gpt4o
|
|
9
20
|
system file "./knowedge_base/nexus_system_prompt.md"
|
|
10
|
-
|
|
21
|
+
mcp Playwright
|
|
22
|
+
end agent
|
|
23
|
+
|
|
24
|
+
agent TimeTeller
|
|
25
|
+
model gpt4o
|
|
26
|
+
mcp Time
|
|
27
|
+
system "When asked for the time you check the MCP server you have access to and check what the time is now."
|
|
28
|
+
end agent
|
|
29
|
+
|
|
@@ -1 +1 @@
|
|
|
1
|
-
You are Nexus you
|
|
1
|
+
You are Nexus you open a webpage when asked using the playwright mcp. They will ussualy provide you with a URL to open in the webpage, if you are not just try to open www.google.com and see if it works if you managed to open it this is success report back and wrap up.
|
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
"max_tokens": 16000,
|
|
87
87
|
"max_depth": 5,
|
|
88
88
|
"max_invocations": 25,
|
|
89
|
+
"max_turns": 100,
|
|
89
90
|
"contract_retries": 2,
|
|
90
91
|
"recording": {
|
|
91
92
|
"enabled": true
|
|
@@ -216,6 +217,7 @@
|
|
|
216
217
|
"max_tokens": 16000,
|
|
217
218
|
"max_depth": 5,
|
|
218
219
|
"max_invocations": 25,
|
|
220
|
+
"max_turns": 100,
|
|
219
221
|
"contract_retries": 2,
|
|
220
222
|
"recording": {
|
|
221
223
|
"enabled": true
|
|
@@ -382,6 +384,11 @@
|
|
|
382
384
|
"minimum": 1,
|
|
383
385
|
"description": "Provider-specific maximum total invocations in one top-level agent run."
|
|
384
386
|
},
|
|
387
|
+
"max_turns": {
|
|
388
|
+
"type": "integer",
|
|
389
|
+
"minimum": 1,
|
|
390
|
+
"description": "Provider-specific maximum model turns in one hop's tool loop. Each turn is a paid model call."
|
|
391
|
+
},
|
|
385
392
|
"contract_retries": {
|
|
386
393
|
"type": "integer",
|
|
387
394
|
"minimum": 0,
|
|
@@ -429,6 +436,11 @@
|
|
|
429
436
|
"minimum": 1,
|
|
430
437
|
"description": "Maximum total agent invocations, including the root, within one top-level agent run."
|
|
431
438
|
},
|
|
439
|
+
"max_turns": {
|
|
440
|
+
"type": "integer",
|
|
441
|
+
"minimum": 1,
|
|
442
|
+
"description": "Maximum model turns in one hop's tool loop before the hop stops as truncated. Each turn is a paid model call; defaults to 100."
|
|
443
|
+
},
|
|
432
444
|
"contract_retries": {
|
|
433
445
|
"type": "integer",
|
|
434
446
|
"minimum": 0,
|