@vraxis/agent-v 0.5.2 → 0.7.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.
Files changed (88) hide show
  1. package/AGENTS.md +14 -2
  2. package/ARCHITECTURE.md +29 -0
  3. package/CHANGELOG.md +17 -0
  4. package/README.md +114 -16
  5. package/compatibility.json +37 -1
  6. package/dist/adapters/ai-sdk/index.d.ts.map +1 -1
  7. package/dist/adapters/ai-sdk/index.js +2 -1
  8. package/dist/adapters/ai-sdk/index.js.map +1 -1
  9. package/dist/adapters/providers/index.d.ts +100 -0
  10. package/dist/adapters/providers/index.d.ts.map +1 -0
  11. package/dist/adapters/providers/index.js +195 -0
  12. package/dist/adapters/providers/index.js.map +1 -0
  13. package/dist/core/agent-v.d.ts.map +1 -1
  14. package/dist/core/agent-v.js +6 -0
  15. package/dist/core/agent-v.js.map +1 -1
  16. package/dist/core/contracts.d.ts +11 -0
  17. package/dist/core/contracts.d.ts.map +1 -1
  18. package/dist/core/extensions.d.ts +4 -0
  19. package/dist/core/extensions.d.ts.map +1 -1
  20. package/dist/core/extensions.js +2 -0
  21. package/dist/core/extensions.js.map +1 -1
  22. package/dist/core/memory.d.ts +9 -1
  23. package/dist/core/memory.d.ts.map +1 -1
  24. package/dist/core/memory.js +17 -0
  25. package/dist/core/memory.js.map +1 -1
  26. package/dist/core/version.d.ts +1 -1
  27. package/dist/core/version.js +1 -1
  28. package/dist/node/credentials.d.ts +30 -0
  29. package/dist/node/credentials.d.ts.map +1 -0
  30. package/dist/node/credentials.js +104 -0
  31. package/dist/node/credentials.js.map +1 -0
  32. package/dist/node/doctor.js +6 -6
  33. package/dist/node/doctor.js.map +1 -1
  34. package/dist/node/index.d.ts +3 -0
  35. package/dist/node/index.d.ts.map +1 -1
  36. package/dist/node/index.js +3 -0
  37. package/dist/node/index.js.map +1 -1
  38. package/dist/node/skill-inventory.d.ts +63 -0
  39. package/dist/node/skill-inventory.d.ts.map +1 -0
  40. package/dist/node/skill-inventory.js +328 -0
  41. package/dist/node/skill-inventory.js.map +1 -0
  42. package/dist/node/skills.d.ts.map +1 -1
  43. package/dist/node/skills.js +10 -0
  44. package/dist/node/skills.js.map +1 -1
  45. package/dist/runtime/index.d.ts +55 -0
  46. package/dist/runtime/index.d.ts.map +1 -0
  47. package/dist/runtime/index.js +94 -0
  48. package/dist/runtime/index.js.map +1 -0
  49. package/dist/skills/index.d.ts +37 -0
  50. package/dist/skills/index.d.ts.map +1 -0
  51. package/dist/skills/index.js +128 -0
  52. package/dist/skills/index.js.map +1 -0
  53. package/dist/tools/approval.d.ts +26 -0
  54. package/dist/tools/approval.d.ts.map +1 -0
  55. package/dist/tools/approval.js +23 -0
  56. package/dist/tools/approval.js.map +1 -0
  57. package/dist/tools/browser.d.ts +25 -0
  58. package/dist/tools/browser.d.ts.map +1 -0
  59. package/dist/tools/browser.js +118 -0
  60. package/dist/tools/browser.js.map +1 -0
  61. package/dist/tools/http.d.ts +9 -0
  62. package/dist/tools/http.d.ts.map +1 -0
  63. package/dist/tools/http.js +123 -0
  64. package/dist/tools/http.js.map +1 -0
  65. package/dist/tools/index.d.ts +6 -0
  66. package/dist/tools/index.d.ts.map +1 -0
  67. package/dist/tools/index.js +6 -0
  68. package/dist/tools/index.js.map +1 -0
  69. package/dist/tools/names.d.ts +19 -0
  70. package/dist/tools/names.d.ts.map +1 -0
  71. package/dist/tools/names.js +19 -0
  72. package/dist/tools/names.js.map +1 -0
  73. package/dist/tools/node/index.d.ts +20 -0
  74. package/dist/tools/node/index.d.ts.map +1 -0
  75. package/dist/tools/node/index.js +406 -0
  76. package/dist/tools/node/index.js.map +1 -0
  77. package/dist/tools/pure.d.ts +13 -0
  78. package/dist/tools/pure.d.ts.map +1 -0
  79. package/dist/tools/pure.js +170 -0
  80. package/dist/tools/pure.js.map +1 -0
  81. package/examples/providers.ts +35 -0
  82. package/examples/runtime-kit.ts +25 -0
  83. package/examples/skill-inventory.ts +6 -0
  84. package/examples/smoke.ts +8 -0
  85. package/llms.txt +1 -1
  86. package/package.json +32 -15
  87. package/skills/agent-v/SKILL.md +8 -2
  88. package/skills/agent-v/references/integration-patterns.md +11 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/node/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type AgentTool, type OutputContract } from "../core/index.js";
2
+ export declare function createCalculatorTool(): AgentTool;
3
+ export declare function createDateTimeTool(options?: {
4
+ now?: () => Date;
5
+ }): AgentTool;
6
+ export declare function createJsonValidationTool(options: {
7
+ contracts: Readonly<Record<string, OutputContract<unknown>>>;
8
+ }): AgentTool;
9
+ export declare function createPureTools(options?: {
10
+ now?: () => Date;
11
+ contracts?: Readonly<Record<string, OutputContract<unknown>>>;
12
+ }): readonly AgentTool[];
13
+ //# sourceMappingURL=pure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pure.d.ts","sourceRoot":"","sources":["../../src/tools/pure.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,SAAS,EAAmC,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAmClI,wBAAgB,oBAAoB,IAAI,SAAS,CAiChD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CAAO,GAAG,SAAS,CAsChF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,GAAG,SAAS,CAyC7H;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;CAAO,GAAG,SAAS,SAAS,EAAE,CAMvJ"}
@@ -0,0 +1,170 @@
1
+ import { defineOutput, defineTool } from "../core/index.js";
2
+ import { standardToolNames } from "./names.js";
3
+ function record(value, label) {
4
+ if (!value || typeof value !== "object" || Array.isArray(value))
5
+ throw new TypeError(`${label} must be an object.`);
6
+ return value;
7
+ }
8
+ function text(value, label) {
9
+ if (typeof value !== "string" || !value.trim())
10
+ throw new TypeError(`${label} must be a non-empty string.`);
11
+ return value;
12
+ }
13
+ const calculatorInput = defineOutput({
14
+ name: "calculator-input",
15
+ jsonSchema: {
16
+ type: "object",
17
+ properties: {
18
+ operation: { enum: ["add", "subtract", "multiply", "divide", "power", "modulo"] },
19
+ values: { type: "array", items: { type: "number" }, minItems: 2, maxItems: 100 },
20
+ },
21
+ required: ["operation", "values"],
22
+ additionalProperties: false,
23
+ },
24
+ parse(value) {
25
+ const input = record(value, "Calculator input");
26
+ const operation = text(input.operation, "operation");
27
+ if (!["add", "subtract", "multiply", "divide", "power", "modulo"].includes(operation))
28
+ throw new TypeError("operation is not supported.");
29
+ if (!Array.isArray(input.values) || input.values.length < 2 || input.values.length > 100 || input.values.some((item) => typeof item !== "number" || !Number.isFinite(item))) {
30
+ throw new TypeError("values must contain between 2 and 100 finite numbers.");
31
+ }
32
+ return { operation: operation, values: input.values };
33
+ },
34
+ });
35
+ export function createCalculatorTool() {
36
+ return defineTool({
37
+ name: standardToolNames.calculate,
38
+ version: "1.0.0",
39
+ description: "Perform bounded arithmetic without evaluating code.",
40
+ input: calculatorInput,
41
+ output: defineOutput({
42
+ name: "calculator-output",
43
+ jsonSchema: { type: "object", properties: { result: { type: "number" } }, required: ["result"], additionalProperties: false },
44
+ parse(value) {
45
+ const output = record(value, "Calculator output");
46
+ if (typeof output.result !== "number" || !Number.isFinite(output.result))
47
+ throw new TypeError("Calculator result must be finite.");
48
+ return { result: output.result };
49
+ },
50
+ }),
51
+ risk: "read",
52
+ sideEffect: "none",
53
+ requiredPermissions: [],
54
+ requiresApproval: false,
55
+ timeoutMs: 1_000,
56
+ execute({ operation, values }) {
57
+ const [first, ...rest] = values;
58
+ let result = first;
59
+ if (operation === "add")
60
+ result = values.reduce((sum, item) => sum + item, 0);
61
+ if (operation === "subtract")
62
+ result = rest.reduce((total, item) => total - item, result);
63
+ if (operation === "multiply")
64
+ result = values.reduce((total, item) => total * item, 1);
65
+ if (operation === "divide")
66
+ result = rest.reduce((total, item) => total / item, result);
67
+ if (operation === "power")
68
+ result = rest.reduce((total, item) => total ** item, result);
69
+ if (operation === "modulo")
70
+ result = rest.reduce((total, item) => total % item, result);
71
+ if (!Number.isFinite(result))
72
+ throw new RangeError("The calculation did not produce a finite result.");
73
+ return { result };
74
+ },
75
+ });
76
+ }
77
+ export function createDateTimeTool(options = {}) {
78
+ return defineTool({
79
+ name: standardToolNames.dateTime,
80
+ version: "1.0.0",
81
+ description: "Read the current date and time in an IANA time zone.",
82
+ input: defineOutput({
83
+ name: "date-time-input",
84
+ jsonSchema: { type: "object", properties: { timeZone: { type: "string" } }, additionalProperties: false },
85
+ parse(value) {
86
+ const input = record(value, "Date/time input");
87
+ if (input.timeZone !== undefined && typeof input.timeZone !== "string")
88
+ throw new TypeError("timeZone must be a string.");
89
+ return { timeZone: input.timeZone ?? "UTC" };
90
+ },
91
+ }),
92
+ output: defineOutput({
93
+ name: "date-time-output",
94
+ jsonSchema: { type: "object" },
95
+ parse(value) {
96
+ const output = record(value, "Date/time output");
97
+ return output;
98
+ },
99
+ }),
100
+ risk: "read",
101
+ sideEffect: "none",
102
+ requiredPermissions: [],
103
+ requiresApproval: false,
104
+ timeoutMs: 1_000,
105
+ execute({ timeZone }) {
106
+ const now = options.now?.() ?? new Date();
107
+ let local;
108
+ try {
109
+ local = new Intl.DateTimeFormat("en-CA", { dateStyle: "full", timeStyle: "long", timeZone }).format(now);
110
+ }
111
+ catch {
112
+ throw new TypeError(`Unknown IANA time zone: ${timeZone}.`);
113
+ }
114
+ return { iso: now.toISOString(), timeZone, local };
115
+ },
116
+ });
117
+ }
118
+ export function createJsonValidationTool(options) {
119
+ const names = Object.keys(options.contracts);
120
+ if (!names.length)
121
+ throw new TypeError("At least one named output contract is required.");
122
+ return defineTool({
123
+ name: standardToolNames.validateJson,
124
+ version: "1.0.0",
125
+ description: "Validate a JSON value with a host-registered output contract.",
126
+ input: defineOutput({
127
+ name: "validate-json-input",
128
+ jsonSchema: {
129
+ type: "object",
130
+ properties: { contract: { type: "string" }, value: {} },
131
+ required: ["contract", "value"],
132
+ additionalProperties: false,
133
+ },
134
+ parse(value) {
135
+ const input = record(value, "JSON validation input");
136
+ return { contract: text(input.contract, "contract"), value: input.value };
137
+ },
138
+ }),
139
+ output: defineOutput({
140
+ name: "validate-json-output",
141
+ jsonSchema: { type: "object" },
142
+ parse(value) { return record(value, "JSON validation output"); },
143
+ }),
144
+ risk: "read",
145
+ sideEffect: "none",
146
+ requiredPermissions: [],
147
+ requiresApproval: false,
148
+ timeoutMs: 1_000,
149
+ execute({ contract, value }) {
150
+ const selected = options.contracts[contract];
151
+ if (!selected)
152
+ return { valid: false, error: `Unknown contract: ${contract}.` };
153
+ try {
154
+ selected.parse(value);
155
+ return { valid: true, error: "" };
156
+ }
157
+ catch (error) {
158
+ return { valid: false, error: error instanceof Error ? error.message : "Validation failed." };
159
+ }
160
+ },
161
+ });
162
+ }
163
+ export function createPureTools(options = {}) {
164
+ return [
165
+ createCalculatorTool(),
166
+ createDateTimeTool({ now: options.now }),
167
+ ...(options.contracts && Object.keys(options.contracts).length ? [createJsonValidationTool({ contracts: options.contracts })] : []),
168
+ ];
169
+ }
170
+ //# sourceMappingURL=pure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pure.js","sourceRoot":"","sources":["../../src/tools/pure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import {
2
+ AgentV,
3
+ EngineRegistry,
4
+ MemoryConfigStore,
5
+ defineAgent,
6
+ defaultConfig,
7
+ type CredentialResolver,
8
+ } from "@vraxis/agent-v";
9
+ import { ProviderRuntime, defineProviderProfile } from "@vraxis/agent-v/providers";
10
+
11
+ export function createHostedProviderAgent(credentials: CredentialResolver) {
12
+ const providers = new ProviderRuntime({ credentials });
13
+ const profile = defineProviderProfile({
14
+ id: "primary-provider",
15
+ name: "Primary hosted model",
16
+ provider: "openai",
17
+ credentialRef: "keychain://providers/openai",
18
+ });
19
+ const config = new MemoryConfigStore({ ...defaultConfig(), profiles: [profile] });
20
+ const runtime = new AgentV({
21
+ config,
22
+ engines: new EngineRegistry().register(providers.agent).register(providers.structured),
23
+ });
24
+ const agent = defineAgent({
25
+ id: "hosted-assistant",
26
+ name: "Hosted assistant",
27
+ profileId: profile.id,
28
+ instructions: "Answer clearly using only context supplied by the host.",
29
+ skills: [],
30
+ tools: [],
31
+ requiredCapabilities: ["streaming"],
32
+ maxSteps: 8,
33
+ });
34
+ return { runtime, agent, profile, providers };
35
+ }
@@ -0,0 +1,25 @@
1
+ import { createAgentRuntime } from "@vraxis/agent-v/runtime";
2
+ import { createStandardApprovalPolicy } from "@vraxis/agent-v/tools";
3
+ import { createWorkspaceTools } from "@vraxis/agent-v/tools/node";
4
+ import { FakeToolAgentEngine } from "@vraxis/agent-v/testing";
5
+
6
+ export async function createReviewRuntime(projectRoot: string) {
7
+ const tools = await createWorkspaceTools({
8
+ rootPath: projectRoot,
9
+ allowedCommands: [process.execPath],
10
+ });
11
+ return createAgentRuntime({
12
+ execution: { type: "engine", engine: new FakeToolAgentEngine() },
13
+ agent: {
14
+ id: "project-reviewer",
15
+ name: "Project reviewer",
16
+ instructions: "Review the project against the product's supplied requirements.",
17
+ recipe: "review",
18
+ requiredCapabilities: ["tools"],
19
+ },
20
+ tools,
21
+ approvalPolicy: createStandardApprovalPolicy({
22
+ categories: { write: "denied", command: "denied", network: "denied", browser: "denied", credentials: "denied", destructive: "denied" },
23
+ }),
24
+ });
25
+ }
@@ -0,0 +1,6 @@
1
+ import { discoverAgentSkillInventory, type AgentSkillInventory } from "@vraxis/agent-v/node";
2
+
3
+ /** Discover local filesystem skills without invoking an agent or downloading remote catalogs. */
4
+ export function inventoryLocalSkills(cwd: string): Promise<AgentSkillInventory> {
5
+ return discoverAgentSkillInventory({ cwd });
6
+ }
package/examples/smoke.ts CHANGED
@@ -8,6 +8,8 @@ import { createRepositorySummaryRequest } from "./local-cli.ts";
8
8
  import { createStatefulRuntime } from "./sessions-and-events.ts";
9
9
  import { createResolvedModelEngine } from "./custom-model-resolver.ts";
10
10
  import { registerFilesystemSkill } from "./filesystem-skill.ts";
11
+ import { createHostedProviderAgent } from "./providers.ts";
12
+ import { createReviewRuntime } from "./runtime-kit.ts";
11
13
 
12
14
  const usage = {
13
15
  inputTokens: { total: 1, noCache: 1, cacheRead: undefined, cacheWrite: undefined },
@@ -34,3 +36,9 @@ assert.equal(createStatefulRuntime(basic.runtime.engines.require("primary-agent"
34
36
  assert.equal(createResolvedModelEngine(() => model).descriptor.id, "profiled-agent");
35
37
  assert.equal((await registerFilesystemSkill("skills/agent-v")).loaded.skill.id, "agent-v");
36
38
  assert.equal(new EngineRegistry().list().length, 0);
39
+ const hosted = createHostedProviderAgent({ resolve: async () => crypto.randomUUID() });
40
+ assert.equal(hosted.profile.options?.provider, "openai");
41
+ assert.equal((await hosted.providers.inspect(hosted.profile)).availability, "ready");
42
+ const review = await createReviewRuntime(process.cwd());
43
+ assert.equal(review.agent.id, "project-reviewer");
44
+ assert.equal(review.approvalPolicy.constructor.name, "StandardApprovalPolicy");
package/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # agent-v
2
2
 
3
- > Provider-neutral TypeScript execution contracts for scoped agents, validated tools, approvals, AI SDK models, local coding runtimes, Ollama, sessions, events, and portable skills.
3
+ > Provider-neutral TypeScript execution contracts for scoped agents, validated standard tools, categorized approvals, built-in hosted providers, local coding runtimes, Ollama, secure credential references, sessions, events, portable skills, and starter recipes.
4
4
 
5
5
  ## Canonical guidance
6
6
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vraxis/agent-v",
3
- "version": "0.5.2",
3
+ "version": "0.7.0",
4
4
  "description": "A provider-neutral engine for building inspectable, extensible agentic products.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -46,6 +46,26 @@
46
46
  "types": "./dist/adapters/ai-sdk/index.d.ts",
47
47
  "import": "./dist/adapters/ai-sdk/index.js"
48
48
  },
49
+ "./providers": {
50
+ "types": "./dist/adapters/providers/index.d.ts",
51
+ "import": "./dist/adapters/providers/index.js"
52
+ },
53
+ "./runtime": {
54
+ "types": "./dist/runtime/index.d.ts",
55
+ "import": "./dist/runtime/index.js"
56
+ },
57
+ "./skills": {
58
+ "types": "./dist/skills/index.d.ts",
59
+ "import": "./dist/skills/index.js"
60
+ },
61
+ "./tools": {
62
+ "types": "./dist/tools/index.d.ts",
63
+ "import": "./dist/tools/index.js"
64
+ },
65
+ "./tools/node": {
66
+ "types": "./dist/tools/node/index.d.ts",
67
+ "import": "./dist/tools/node/index.js"
68
+ },
49
69
  "./local-cli": {
50
70
  "types": "./dist/adapters/local-cli/index.d.ts",
51
71
  "import": "./dist/adapters/local-cli/index.js"
@@ -72,26 +92,23 @@
72
92
  "test:package": "node test/package-smoke.mjs",
73
93
  "check": "npm run typecheck && npm test && npm run build && npm run test:examples && npm run test:package && npm pack --dry-run --cache .npm-cache"
74
94
  },
75
- "peerDependencies": {
76
- "ai": ">=7.0.0 <8",
77
- "ai-sdk-ollama": ">=4.2.0 <5"
78
- },
79
- "peerDependenciesMeta": {
80
- "ai": {
81
- "optional": true
82
- },
83
- "ai-sdk-ollama": {
84
- "optional": true
85
- }
86
- },
87
95
  "devDependencies": {
88
96
  "@types/node": "^24.10.0",
89
- "ai": "^7.0.79",
90
- "ai-sdk-ollama": "^4.2.0",
91
97
  "tsx": "^4.23.12",
92
98
  "typescript": "^5.9.3"
93
99
  },
94
100
  "dependencies": {
101
+ "@ai-sdk/anthropic": "^4.0.46",
102
+ "@ai-sdk/deepseek": "^3.0.37",
103
+ "@ai-sdk/google": "^4.0.58",
104
+ "@ai-sdk/openai": "^4.0.52",
105
+ "@ai-sdk/openai-compatible": "^3.0.41",
106
+ "ai": "^7.0.85",
107
+ "ai-sdk-ollama": "^4.2.0",
108
+ "jsonc-parser": "^3.3.1",
95
109
  "yaml": "^2.9.0"
110
+ },
111
+ "optionalDependencies": {
112
+ "@napi-rs/keyring": "^1.3.0"
96
113
  }
97
114
  }
@@ -2,7 +2,7 @@
2
2
  name: agent-v
3
3
  description: Integrate or extend the agent-v TypeScript library for scoped agents, tools, approvals, AI SDK models, local coding runtimes, Ollama, sessions, events, or Agent Skills.
4
4
  metadata:
5
- version: "0.5.2"
5
+ version: "0.7.0"
6
6
  ---
7
7
 
8
8
  # Use agent-v accurately
@@ -13,9 +13,14 @@ Read the installed package's `README.md` and type declarations before coding. Do
13
13
 
14
14
  - Use `@vraxis/agent-v` for contracts, scopes, agent blueprints, tool/skill definitions, registries, and policies.
15
15
  - Use `@vraxis/agent-v/ai-sdk` for structured model calls and tool-loop agents backed by AI SDK 7.
16
+ - Use `@vraxis/agent-v/providers` for built-in hosted-provider profiles and model resolution. Keep only credential references in profiles.
17
+ - Use `@vraxis/agent-v/runtime` for the high-level, deny-by-default model/tool-loop factory.
18
+ - Use `@vraxis/agent-v/tools` for pure utilities, allowlisted HTTP, browser-controller contracts, and standard approval policies.
19
+ - Use `@vraxis/agent-v/tools/node` for canonical-root filesystem, Git-read, and allowlisted argument-array command tools.
20
+ - Use `@vraxis/agent-v/skills` for opt-in operational skills and starter recipes. Supply product-owned instructions.
16
21
  - Use `@vraxis/agent-v/ollama` only for an Ollama model server. Inspect readiness before registration.
17
22
  - Use `@vraxis/agent-v/local-cli` when Codex, OpenCode, Claude Code, or another coding CLI must operate on a workspace.
18
- - Use `@vraxis/agent-v/node` for local sessions, run ledgers, diagnostics, and filesystem Agent Skills.
23
+ - Use `@vraxis/agent-v/node` for local sessions, run ledgers, diagnostics, filesystem Agent Skills, cross-runtime skill inventory, environment credential resolution, and system-keyring storage.
19
24
  - Use `@vraxis/agent-v/testing` for deterministic tests without provider calls.
20
25
 
21
26
  Do not substitute a coding CLI adapter for an ordinary model provider or treat Ollama as a coding-workspace runtime.
@@ -26,6 +31,7 @@ Do not substitute a coding CLI adapter for an ordinary model provider or treat O
26
31
  - Declare every agent's skills, tools, and required capabilities explicitly.
27
32
  - Give each tool stable input and output contracts, version, risk, side-effect classification, permissions, approval behavior, and timeout.
28
33
  - Use an agent `toolPolicy` when evidence reads must occur in an exact order. Require `tool-sequencing` and `tool-audit`, and inspect `result.toolAudit.sequenceSatisfied`.
34
+ - Treat every standard host tool as opt-in. Supply explicit roots, command/host/origin allowlists, scope permissions, and approval decisions.
29
35
  - Require approval for external side effects and privileged actions. Never weaken policy after a denial or adapter failure.
30
36
  - Treat artifacts as host-supplied evidence. Keep product-specific evidence judgment, retrieval, prompts, and UX in the consuming product.
31
37
  - Persist returned normalized events and provenance when runs must be auditable.
@@ -16,6 +16,11 @@ Choose from required behavior, not provider preference:
16
16
  | --- | --- | --- |
17
17
  | One schema-bound model operation | `@vraxis/agent-v/ai-sdk` | `StructuredModelEngine` |
18
18
  | Bounded model/tool loop | `@vraxis/agent-v/ai-sdk` | `ToolAgentEngine` |
19
+ | Built-in hosted model provider | `@vraxis/agent-v/providers` | AI SDK engines through `ProviderRuntime` |
20
+ | High-level model/tool runtime | `@vraxis/agent-v/runtime` | `createAgentRuntime()` with provider or custom engine selection |
21
+ | Portable standard tools | `@vraxis/agent-v/tools` | Pure tools, HTTP/browser contracts, approval policy |
22
+ | Bounded Node host tools | `@vraxis/agent-v/tools/node` | Filesystem, Git, and allowlisted commands |
23
+ | Operational starter recipes | `@vraxis/agent-v/skills` | Coding, research, review, and document composition |
19
24
  | Local or remote Ollama model | `@vraxis/agent-v/ollama` | AI SDK engines through `OllamaRuntime` |
20
25
  | Coding agent against a workspace | `@vraxis/agent-v/local-cli` | `CodingRuntimeEngine` |
21
26
  | Local persistence or diagnostics | `@vraxis/agent-v/node` | Store and doctor ports |
@@ -30,6 +35,8 @@ Validate the tool's returned value with `output`. Tool implementation bugs must
30
35
 
31
36
  Keep product-specific tools with their product until their contract and safety semantics are demonstrably reusable.
32
37
 
38
+ Standard tools grant no ambient authority. Node workspace tools require a canonical root; command tools require an allowlist; HTTP requires allowed hosts; browser tools require allowed origins and a host controller. Guarded tools carry an approval category, and the standard policy denies categories the host has not decided explicitly.
39
+
33
40
  ## Composing an agent
34
41
 
35
42
  Use `defineAgent()` with either `engineId` or `profileId`, never both. Profiles select deploy-time engine, model, credential reference, and provider options without changing the blueprint.
@@ -38,6 +45,8 @@ When skills are selected, their combined tool allowlist constrains the blueprint
38
45
 
39
46
  Declare only capabilities the workflow actually needs. Selection should fail if the engine cannot enforce one.
40
47
 
48
+ Starter recipes provide operational tool/skill composition, not product meaning. The product must supply the agent id, name, instructions, scope, persistence, and approval UX.
49
+
41
50
  For governed evidence-first loops, declare `toolPolicy.requiredSequence` on the blueprint and use `afterRequired: "disable"` when final synthesis must not invoke more tools. Include `tool-sequencing` and `tool-audit` in `requiredCapabilities`. Vraxis validates tool availability and step budget before inference and returns redacted execution evidence in `result.toolAudit`.
42
51
 
43
52
  ## Persistence and provenance
@@ -48,6 +57,8 @@ Every `RunProvenance` has an `adapterStrategy`. Local CLI and Ollama runs also i
48
57
 
49
58
  Configuration contains credential references. Resolve credential values inside the host's model resolver; never write values to config, events, sessions, examples, or fixtures.
50
59
 
60
+ For built-in hosted providers, use `defineProviderProfile()` and `ProviderRuntime` instead of importing provider SDKs into a product. Use `SystemCredentialStore` or another host-owned `CredentialResolver`; persist only the `keychain://` or `env://` reference. Provider inspection is configuration-only and makes no inference request.
61
+
51
62
  ## Common mistakes
52
63
 
53
64
  - Importing provider SDK types into product domain code instead of registering an adapter.