@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,195 @@
1
+ import { createAnthropic } from "@ai-sdk/anthropic";
2
+ import { createDeepSeek } from "@ai-sdk/deepseek";
3
+ import { createGoogle } from "@ai-sdk/google";
4
+ import { createOpenAI } from "@ai-sdk/openai";
5
+ import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
6
+ import { AgentVError, } from "../../core/index.js";
7
+ import { AiSdkStructuredModelEngine, AiSdkToolAgentEngine, } from "../ai-sdk/index.js";
8
+ export const providerEngineIds = {
9
+ toolAgent: "hosted-provider-agent",
10
+ structuredModel: "hosted-provider-structured",
11
+ };
12
+ export const builtInModelProviders = [
13
+ { id: "openai", name: "OpenAI", protocol: "openai", defaultModel: "gpt-5-mini", credential: "required", defaultBaseURL: undefined, adapterStrategy: "ai-sdk-openai-v4" },
14
+ { id: "anthropic", name: "Anthropic", protocol: "anthropic", defaultModel: "claude-sonnet-4-5", credential: "required", defaultBaseURL: undefined, adapterStrategy: "ai-sdk-anthropic-v4" },
15
+ { id: "google", name: "Google Gemini", protocol: "google", defaultModel: "gemini-2.5-flash", credential: "required", defaultBaseURL: undefined, adapterStrategy: "ai-sdk-google-v4" },
16
+ { id: "deepseek", name: "DeepSeek", protocol: "deepseek", defaultModel: "deepseek-chat", credential: "required", defaultBaseURL: "https://api.deepseek.com", adapterStrategy: "ai-sdk-deepseek-v3" },
17
+ { id: "openrouter", name: "OpenRouter", protocol: "openai-compatible", defaultModel: "openai/gpt-5-mini", credential: "required", defaultBaseURL: "https://openrouter.ai/api/v1", adapterStrategy: "ai-sdk-openai-compatible-v3" },
18
+ { id: "groq", name: "Groq", protocol: "openai-compatible", defaultModel: "openai/gpt-oss-20b", credential: "required", defaultBaseURL: "https://api.groq.com/openai/v1", adapterStrategy: "ai-sdk-openai-compatible-v3" },
19
+ { id: "openai-compatible", name: "OpenAI-compatible endpoint", protocol: "openai-compatible", defaultModel: undefined, credential: "optional", defaultBaseURL: undefined, adapterStrategy: "ai-sdk-openai-compatible-v3" },
20
+ ];
21
+ const missingCredentials = { async resolve() { return undefined; } };
22
+ function definitionFor(value) {
23
+ const definition = builtInModelProviders.find((item) => item.id === value);
24
+ if (!definition)
25
+ throw new AgentVError("configuration-invalid", "Choose a supported hosted model provider.");
26
+ return definition;
27
+ }
28
+ function providerOptions(value) {
29
+ const definition = definitionFor(value?.provider);
30
+ const baseURL = typeof value?.baseURL === "string" ? validBaseURL(value.baseURL) : definition.defaultBaseURL;
31
+ if (definition.protocol === "openai-compatible" && !baseURL) {
32
+ throw new AgentVError("configuration-invalid", `${definition.name} requires an endpoint URL.`);
33
+ }
34
+ return { provider: definition.id, ...(baseURL ? { baseURL } : {}) };
35
+ }
36
+ function validBaseURL(value) {
37
+ const candidate = value.trim();
38
+ let url;
39
+ try {
40
+ url = new URL(candidate);
41
+ }
42
+ catch {
43
+ throw new AgentVError("configuration-invalid", "The provider endpoint must be a valid HTTP or HTTPS URL.");
44
+ }
45
+ if (url.protocol !== "https:" && url.protocol !== "http:") {
46
+ throw new AgentVError("configuration-invalid", "The provider endpoint must use HTTP or HTTPS.");
47
+ }
48
+ const loopback = url.hostname === "127.0.0.1" || url.hostname === "localhost" || url.hostname === "[::1]";
49
+ if (url.protocol === "http:" && !loopback) {
50
+ throw new AgentVError("configuration-invalid", "Remote provider endpoints must use HTTPS.");
51
+ }
52
+ return candidate.replace(/\/$/, "");
53
+ }
54
+ function selectionFor(selection) {
55
+ const options = providerOptions(selection.options);
56
+ const definition = definitionFor(options.provider);
57
+ const model = selection.modelId?.trim() || definition.defaultModel;
58
+ if (!model)
59
+ throw new AgentVError("configuration-invalid", `${definition.name} requires a model name.`);
60
+ return { definition, model, ...(options.baseURL ? { baseURL: options.baseURL } : {}) };
61
+ }
62
+ async function credentialFor(selection, chosen, credentials) {
63
+ const localCompatible = chosen.definition.protocol === "openai-compatible"
64
+ && chosen.baseURL !== undefined
65
+ && /^http:\/\/(127\.0\.0\.1|localhost|\[::1\])(?::|\/|$)/i.test(chosen.baseURL);
66
+ if (!selection.credentialRef) {
67
+ if (chosen.definition.credential === "required" && !localCompatible) {
68
+ throw new AgentVError("authentication-required", `${chosen.definition.name} requires a credential reference.`);
69
+ }
70
+ return undefined;
71
+ }
72
+ let credential;
73
+ try {
74
+ credential = await credentials.resolve(selection.credentialRef);
75
+ }
76
+ catch {
77
+ throw new AgentVError("authentication-required", `${chosen.definition.name} credentials could not be resolved.`);
78
+ }
79
+ if (!credential && chosen.definition.credential === "required" && !localCompatible) {
80
+ throw new AgentVError("authentication-required", `${chosen.definition.name} credentials are not available.`);
81
+ }
82
+ return credential;
83
+ }
84
+ function languageModel(chosen, credential) {
85
+ const { definition, model, baseURL } = chosen;
86
+ if (definition.protocol === "openai")
87
+ return createOpenAI({ ...(credential ? { apiKey: credential } : {}), ...(baseURL ? { baseURL } : {}) })(model);
88
+ if (definition.protocol === "anthropic")
89
+ return createAnthropic({ ...(credential ? { apiKey: credential } : {}), ...(baseURL ? { baseURL } : {}) })(model);
90
+ if (definition.protocol === "google")
91
+ return createGoogle({ ...(credential ? { apiKey: credential } : {}), ...(baseURL ? { baseURL } : {}) })(model);
92
+ if (definition.protocol === "deepseek")
93
+ return createDeepSeek({ ...(credential ? { apiKey: credential } : {}), ...(baseURL ? { baseURL } : {}) })(model);
94
+ return createOpenAICompatible({
95
+ name: `agent-v-${definition.id}`,
96
+ baseURL: baseURL,
97
+ ...(credential ? { apiKey: credential } : {}),
98
+ })(model);
99
+ }
100
+ export function createProviderModelResolver(options = {}) {
101
+ const credentials = options.credentials ?? missingCredentials;
102
+ return async (selection) => {
103
+ const chosen = selectionFor(selection);
104
+ const credential = await credentialFor(selection, chosen, credentials);
105
+ return {
106
+ model: languageModel(chosen, credential),
107
+ provenance: {
108
+ provider: chosen.definition.id,
109
+ model: chosen.model,
110
+ adapterStrategy: chosen.definition.adapterStrategy,
111
+ },
112
+ };
113
+ };
114
+ }
115
+ export function defineProviderProfile(input) {
116
+ const definition = definitionFor(input.provider);
117
+ const kind = input.kind ?? "tool-agent";
118
+ const model = input.model?.trim() || definition.defaultModel;
119
+ if (!input.id.trim() || !input.name.trim())
120
+ throw new TypeError("Provider profile id and name must be non-empty strings.");
121
+ if (!model)
122
+ throw new AgentVError("configuration-invalid", `${definition.name} requires a model name.`);
123
+ const baseURL = input.baseURL ? validBaseURL(input.baseURL) : definition.defaultBaseURL;
124
+ if (definition.protocol === "openai-compatible" && !baseURL) {
125
+ throw new AgentVError("configuration-invalid", `${definition.name} requires an endpoint URL.`);
126
+ }
127
+ const options = { provider: definition.id, ...(baseURL ? { baseURL } : {}) };
128
+ return {
129
+ id: input.id.trim(),
130
+ name: input.name.trim(),
131
+ kind,
132
+ engineId: input.engineId ?? (kind === "tool-agent" ? providerEngineIds.toolAgent : providerEngineIds.structuredModel),
133
+ model,
134
+ ...(input.credentialRef?.trim() ? { credentialRef: input.credentialRef.trim() } : {}),
135
+ options,
136
+ };
137
+ }
138
+ export class ProviderRuntime {
139
+ agent;
140
+ structured;
141
+ credentials;
142
+ constructor(options = {}) {
143
+ this.credentials = options.credentials ?? missingCredentials;
144
+ const resolver = createProviderModelResolver({ credentials: this.credentials });
145
+ this.agent = new AiSdkToolAgentEngine({
146
+ id: options.toolAgentId ?? providerEngineIds.toolAgent,
147
+ name: "Hosted provider agent",
148
+ provider: "profile-resolved",
149
+ adapterStrategy: "agent-v-provider-resolver-v1",
150
+ resolveModel: resolver,
151
+ });
152
+ this.structured = new AiSdkStructuredModelEngine({
153
+ id: options.structuredModelId ?? providerEngineIds.structuredModel,
154
+ name: "Hosted provider structured model",
155
+ provider: "profile-resolved",
156
+ adapterStrategy: "agent-v-provider-resolver-v1",
157
+ resolveModel: resolver,
158
+ });
159
+ }
160
+ async inspect(profile) {
161
+ try {
162
+ const chosen = selectionFor({
163
+ modelId: profile.model,
164
+ runId: "inspection",
165
+ scope: { tenantId: "inspection", projectId: "inspection", principalId: "inspection", roles: [], permissions: [], dataClassification: "internal" },
166
+ credentialRef: profile.credentialRef,
167
+ options: profile.options,
168
+ });
169
+ const credential = await credentialFor({
170
+ modelId: chosen.model,
171
+ runId: "inspection",
172
+ scope: { tenantId: "inspection", projectId: "inspection", principalId: "inspection", roles: [], permissions: [], dataClassification: "internal" },
173
+ credentialRef: profile.credentialRef,
174
+ options: profile.options,
175
+ }, chosen, this.credentials);
176
+ const credentialState = credential ? "resolved" : "not-required";
177
+ return { provider: chosen.definition.id, model: chosen.model, availability: "ready", credential: credentialState, detail: `${chosen.definition.name} is configured for ${chosen.model}.` };
178
+ }
179
+ catch (error) {
180
+ let provider = "openai-compatible";
181
+ try {
182
+ provider = definitionFor(profile.options?.provider).id;
183
+ }
184
+ catch { /* safe fallback for malformed profiles */ }
185
+ return {
186
+ provider,
187
+ ...(profile.model ? { model: profile.model } : {}),
188
+ availability: "setup-required",
189
+ credential: error instanceof AgentVError && error.code === "authentication-required" ? "missing" : "not-required",
190
+ detail: error instanceof Error ? error.message : "Provider setup is incomplete.",
191
+ };
192
+ }
193
+ }
194
+ }
195
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/providers/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-v.d.ts","sourceRoot":"","sources":["../../src/core/agent-v.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAgB,aAAa,EAAE,YAAY,EAAmB,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACpJ,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAUD,qBAAa,MAAM;IACjB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;gBAEvB,OAAO,GAAE,aAAkB;YASzB,OAAO;IAkErB,OAAO,CAAC,SAAS;YAKH,WAAW;IAqBnB,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAehJ,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;CAqBzJ"}
1
+ {"version":3,"file":"agent-v.d.ts","sourceRoot":"","sources":["../../src/core/agent-v.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAgB,aAAa,EAAE,YAAY,EAAmB,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACpJ,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAUD,qBAAa,MAAM;IACjB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;gBAEvB,OAAO,GAAE,aAAkB;YASzB,OAAO;IAwErB,OAAO,CAAC,SAAS;YAKH,WAAW;IAqBnB,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAehJ,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;CAqBzJ"}
@@ -44,6 +44,12 @@ export class AgentV {
44
44
  }
45
45
  }
46
46
  const skills = (blueprint.skills ?? []).map((id) => this.extensions.skills.require(id));
47
+ const grantedPermissions = new Set(request.scope.permissions);
48
+ const missingSkillPermissions = [...new Set(skills.flatMap((skill) => skill.requiredPermissions ?? []))]
49
+ .filter((permission) => !grantedPermissions.has("*") && !grantedPermissions.has(permission));
50
+ if (missingSkillPermissions.length) {
51
+ throw new AgentVError("permission-denied", `Agent ${blueprint.id} selects skills requiring permissions: ${missingSkillPermissions.join(", ")}.`);
52
+ }
47
53
  const hasToolRestrictions = skills.length > 0;
48
54
  const allowedBySkills = new Set(skills.flatMap((skill) => skill.tools));
49
55
  const requestedTools = blueprint.tools;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-v.js","sourceRoot":"","sources":["../../src/core/agent-v.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-v.js","sourceRoot":"","sources":["../../src/core/agent-v.ts"],"names":[],"mappings":"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"}
@@ -33,12 +33,17 @@ export interface AgentTool<I = unknown, O = JsonValue> {
33
33
  input: OutputContract<I>;
34
34
  output: OutputContract<O>;
35
35
  requiresApproval: boolean;
36
+ /** Stable category a host can use to render and decide approval requests. */
37
+ approvalCategory?: ApprovalCategory;
38
+ /** User-facing explanation of the authority requested by this tool. */
39
+ approvalReason?: string;
36
40
  risk: ToolRisk;
37
41
  sideEffect: ToolSideEffect;
38
42
  requiredPermissions: readonly string[];
39
43
  timeoutMs: number;
40
44
  execute(input: I, context: ToolExecutionContext): Promise<O> | O;
41
45
  }
46
+ export type ApprovalCategory = "write" | "command" | "network" | "browser" | "credentials" | "destructive" | "other";
42
47
  export type ToolRisk = "read" | "write" | "external-side-effect" | "privileged";
43
48
  export type ToolSideEffect = "none" | "idempotent" | "non-idempotent";
44
49
  export interface ApprovalRequest {
@@ -47,6 +52,7 @@ export interface ApprovalRequest {
47
52
  toolName: string;
48
53
  input: unknown;
49
54
  reason: string;
55
+ category?: ApprovalCategory;
50
56
  metadata?: JsonObject;
51
57
  toolVersion?: string;
52
58
  risk: ToolRisk;
@@ -157,6 +163,11 @@ export interface RunEventStore {
157
163
  export interface CredentialResolver {
158
164
  resolve(reference: string): Promise<string | undefined>;
159
165
  }
166
+ /** Host-owned credential persistence. Agent configuration stores references only. */
167
+ export interface CredentialStore extends CredentialResolver {
168
+ set(reference: string, value: string): Promise<void>;
169
+ delete(reference: string): Promise<boolean>;
170
+ }
160
171
  export interface SessionSaveOptions {
161
172
  expectedUpdatedAt?: string;
162
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/core/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/core/contracts.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,10 @@ export interface AgentSkill {
8
8
  description: string;
9
9
  instructions: string;
10
10
  tools: readonly string[];
11
+ /** Scope permissions that must be present before this skill may be used. */
12
+ requiredPermissions?: readonly string[];
13
+ /** Trust assigned by the host or loader; it never grants execution authority. */
14
+ trust?: "bundled" | "local" | "external";
11
15
  preapprovedTools?: readonly string[];
12
16
  license?: string;
13
17
  compatibility?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/core/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/E,uEAAuE;AACvE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,cAAc,GAAG,QAAQ,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,SAAS,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AAED,UAAU,kBAAkB;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,oBAAoB,EAAE,SAAS,eAAe,EAAE,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AAED,wFAAwF;AACxF,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG,CAC9C;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,KAAK,CAAA;CAAE,GACvC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,CAC1C,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAChG,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxC,OAAO,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAChD;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAC1C,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAC5C;AAED,cAAM,aAAa,CAAC,CAAC,SAAS;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAE/C,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAO7C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAI9B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC;IAMtB,IAAI,IAAI,SAAS,CAAC,EAAE;CAGrB;AAED,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,KAAK,oEAAkC;IAChD,QAAQ,CAAC,MAAM,4BAAmC;IAClD,QAAQ,CAAC,UAAU,oCAA2C;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqC;IAEhE,GAAG,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IASpC,IAAI,IAAI,SAAS,cAAc,EAAE;CAGlC;AAED,oDAAoD;AACpD,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAIzD;AAED,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAO9G;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,cAAc,GAAG,cAAc,CAEzE;AAED,kEAAkE;AAClE,wBAAgB,WAAW,CAAC,SAAS,EAAE,cAAc,GAAG,cAAc,CAWrE"}
1
+ {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/core/extensions.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,8 @@ export function defineSkill(skill) {
48
48
  throw new Error("Skills require a stable id, name, and version.");
49
49
  if (new Set(skill.tools).size !== skill.tools.length)
50
50
  throw new Error(`Skill ${skill.id} declares duplicate tools.`);
51
+ if (new Set(skill.requiredPermissions ?? []).size !== (skill.requiredPermissions ?? []).length)
52
+ throw new Error(`Skill ${skill.id} declares duplicate permissions.`);
51
53
  return Object.freeze({ ...skill });
52
54
  }
53
55
  /** Defines a validated tool and enforces approval for high-risk classifications. */
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../src/core/extensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../src/core/extensions.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { AgentEvent } from "./events.js";
2
- import type { AgentSession, RunEventStore, SessionStore } from "./contracts.js";
2
+ import type { AgentSession, CredentialStore, RunEventStore, SessionStore } from "./contracts.js";
3
3
  import type { ExecutionScope } from "./types.js";
4
4
  export declare class MemorySessionStore implements SessionStore {
5
5
  private readonly sessions;
@@ -12,4 +12,12 @@ export declare class MemoryRunEventStore implements RunEventStore {
12
12
  append(event: AgentEvent): Promise<void>;
13
13
  list(scope: ExecutionScope, runId: string): Promise<readonly AgentEvent[]>;
14
14
  }
15
+ /** Volatile credential store for tests and explicitly ephemeral applications. */
16
+ export declare class MemoryCredentialStore implements CredentialStore {
17
+ private readonly credentials;
18
+ constructor(initial?: Readonly<Record<string, string>>);
19
+ resolve(reference: string): Promise<string | undefined>;
20
+ set(reference: string, value: string): Promise<void>;
21
+ delete(reference: string): Promise<boolean>;
22
+ }
15
23
  //# sourceMappingURL=memory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/core/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAQjD,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IACtD,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAIzE,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1C,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAC/D;AAED,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IACrC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IACxC,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC;CAGjF"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/core/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACjG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAQjD,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IACtD,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAIzE,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1C,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAC/D;AAED,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IACrC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IACxC,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC;CAGjF;AAED,iFAAiF;AACjF,qBAAa,qBAAsB,YAAW,eAAe;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;gBAE7C,OAAO,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAIpD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IACvD,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpD,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAClD"}
@@ -18,4 +18,21 @@ export class MemoryRunEventStore {
18
18
  return this.events.filter((event) => event.runId === runId && sameScope(event.scope, scope));
19
19
  }
20
20
  }
21
+ /** Volatile credential store for tests and explicitly ephemeral applications. */
22
+ export class MemoryCredentialStore {
23
+ credentials = new Map();
24
+ constructor(initial = {}) {
25
+ for (const [reference, value] of Object.entries(initial))
26
+ this.credentials.set(reference, value);
27
+ }
28
+ async resolve(reference) { return this.credentials.get(reference); }
29
+ async set(reference, value) {
30
+ if (!reference.trim())
31
+ throw new TypeError("Credential reference must be a non-empty string.");
32
+ if (!value)
33
+ throw new TypeError("Credential value must not be empty.");
34
+ this.credentials.set(reference, value);
35
+ }
36
+ async delete(reference) { return this.credentials.delete(reference); }
37
+ }
21
38
  //# sourceMappingURL=memory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/core/memory.ts"],"names":[],"mappings":"AAIA,SAAS,SAAS,CAAC,KAAqB,EAAE,EAAU,IAAY,OAAO,GAAG,KAAK,CAAC,QAAQ,SAAS,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,WAAW,SAAS,KAAK,CAAC,YAAY,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;AAE3L,SAAS,SAAS,CAAC,IAAoB,EAAE,KAAqB;IAC5D,OAAO,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,CAAC;AACtK,CAAC;AAED,MAAM,OAAO,kBAAkB;IACZ,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC5D,KAAK,CAAC,GAAG,CAAC,KAAqB,EAAE,EAAU;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QACxD,OAAO,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAqB,IAAmB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACvI,KAAK,CAAC,MAAM,CAAC,KAAqB,EAAE,EAAU,IAAmB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/G;AAED,MAAM,OAAO,mBAAmB;IACb,MAAM,GAAiB,EAAE,CAAC;IAC3C,KAAK,CAAC,MAAM,CAAC,KAAiB,IAAmB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,KAAK,CAAC,IAAI,CAAC,KAAqB,EAAE,KAAa;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/F,CAAC;CACF"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/core/memory.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  /** The agent-v package version used by diagnostics and compatibility checks. */
2
- export declare const AGENT_V_VERSION = "0.5.2";
2
+ export declare const AGENT_V_VERSION = "0.7.0";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  /** The agent-v package version used by diagnostics and compatibility checks. */
2
- export const AGENT_V_VERSION = "0.5.2";
2
+ export const AGENT_V_VERSION = "0.7.0";
3
3
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,30 @@
1
+ import { type CredentialResolver, type CredentialStore } from "../core/index.js";
2
+ export declare class EnvironmentCredentialResolver implements CredentialResolver {
3
+ private readonly environment;
4
+ constructor(environment?: Readonly<Record<string, string | undefined>>);
5
+ resolve(reference: string): Promise<string | undefined>;
6
+ }
7
+ export declare class CompositeCredentialResolver implements CredentialResolver {
8
+ private readonly resolvers;
9
+ constructor(resolvers: readonly CredentialResolver[]);
10
+ resolve(reference: string): Promise<string | undefined>;
11
+ }
12
+ export interface SystemCredentialStoreOptions {
13
+ /** Stable application identifier shown by the operating-system credential manager. */
14
+ service: string;
15
+ }
16
+ export interface SystemCredentialStoreReadiness {
17
+ availability: "ready" | "unavailable";
18
+ backend: "system-keyring";
19
+ detail: string;
20
+ }
21
+ /** Native macOS Keychain, Windows Credential Manager, or Linux Secret Service storage. */
22
+ export declare class SystemCredentialStore implements CredentialStore {
23
+ private readonly service;
24
+ constructor(options: SystemCredentialStoreOptions);
25
+ inspect(): Promise<SystemCredentialStoreReadiness>;
26
+ resolve(reference: string): Promise<string | undefined>;
27
+ set(reference: string, value: string): Promise<void>;
28
+ delete(reference: string): Promise<boolean>;
29
+ }
30
+ //# sourceMappingURL=credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/node/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE9F,qBAAa,6BAA8B,YAAW,kBAAkB;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAe;IAE9F,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAM9D;AAED,qBAAa,2BAA4B,YAAW,kBAAkB;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS,kBAAkB,EAAE;IAE/D,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAO9D;AAED,MAAM,WAAW,4BAA4B;IAC3C,sFAAsF;IACtF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,8BAA8B;IAC7C,YAAY,EAAE,OAAO,GAAG,aAAa,CAAC;IACtC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAkBD,0FAA0F;AAC1F,qBAAa,qBAAsB,YAAW,eAAe;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,4BAA4B;IAO3C,OAAO,IAAI,OAAO,CAAC,8BAA8B,CAAC;IASlD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAQvD,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASpD,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAOlD"}
@@ -0,0 +1,104 @@
1
+ import { AgentVError } from "../core/index.js";
2
+ export class EnvironmentCredentialResolver {
3
+ environment;
4
+ constructor(environment = process.env) {
5
+ this.environment = environment;
6
+ }
7
+ async resolve(reference) {
8
+ if (!reference.startsWith("env://"))
9
+ return undefined;
10
+ const name = reference.slice("env://".length);
11
+ if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(name))
12
+ throw new AgentVError("configuration-invalid", "Environment credential references must name one variable.");
13
+ return this.environment[name]?.trim() || undefined;
14
+ }
15
+ }
16
+ export class CompositeCredentialResolver {
17
+ resolvers;
18
+ constructor(resolvers) {
19
+ this.resolvers = resolvers;
20
+ }
21
+ async resolve(reference) {
22
+ for (const resolver of this.resolvers) {
23
+ const value = await resolver.resolve(reference);
24
+ if (value)
25
+ return value;
26
+ }
27
+ return undefined;
28
+ }
29
+ }
30
+ function accountFor(reference) {
31
+ if (!reference.startsWith("keychain://"))
32
+ return undefined;
33
+ const account = reference.slice("keychain://".length);
34
+ if (!account || account.length > 200 || !/^[A-Za-z0-9._:@/-]+$/.test(account)) {
35
+ throw new AgentVError("configuration-invalid", "Keychain credential references contain an invalid account name.");
36
+ }
37
+ return account;
38
+ }
39
+ async function loadKeyring() {
40
+ try {
41
+ return await import("@napi-rs/keyring");
42
+ }
43
+ catch {
44
+ throw new AgentVError("engine-unavailable", "The operating-system credential store is unavailable on this device.");
45
+ }
46
+ }
47
+ /** Native macOS Keychain, Windows Credential Manager, or Linux Secret Service storage. */
48
+ export class SystemCredentialStore {
49
+ service;
50
+ constructor(options) {
51
+ this.service = options.service.trim();
52
+ if (!this.service || this.service.length > 200 || /[\u0000-\u001f\u007f]/.test(this.service)) {
53
+ throw new TypeError("Credential service must be a non-empty printable string up to 200 characters.");
54
+ }
55
+ }
56
+ async inspect() {
57
+ try {
58
+ await loadKeyring();
59
+ return { availability: "ready", backend: "system-keyring", detail: "The native credential-store binding is installed. Access is verified when a credential is used." };
60
+ }
61
+ catch {
62
+ return { availability: "unavailable", backend: "system-keyring", detail: "The operating-system credential store is unavailable. No plaintext fallback is enabled." };
63
+ }
64
+ }
65
+ async resolve(reference) {
66
+ const account = accountFor(reference);
67
+ if (!account)
68
+ return undefined;
69
+ const { AsyncEntry } = await loadKeyring();
70
+ try {
71
+ return await new AsyncEntry(this.service, account).getPassword() ?? undefined;
72
+ }
73
+ catch {
74
+ throw new AgentVError("engine-unavailable", "The operating-system credential store could not read this credential.");
75
+ }
76
+ }
77
+ async set(reference, value) {
78
+ const account = accountFor(reference);
79
+ if (!account)
80
+ throw new AgentVError("configuration-invalid", "System credentials require a keychain:// reference.");
81
+ if (!value)
82
+ throw new TypeError("Credential value must not be empty.");
83
+ const { AsyncEntry } = await loadKeyring();
84
+ try {
85
+ await new AsyncEntry(this.service, account).setPassword(value);
86
+ }
87
+ catch {
88
+ throw new AgentVError("engine-unavailable", "The operating-system credential store rejected the credential update.");
89
+ }
90
+ }
91
+ async delete(reference) {
92
+ const account = accountFor(reference);
93
+ if (!account)
94
+ throw new AgentVError("configuration-invalid", "System credentials require a keychain:// reference.");
95
+ const { AsyncEntry } = await loadKeyring();
96
+ try {
97
+ return await new AsyncEntry(this.service, account).deleteCredential();
98
+ }
99
+ catch {
100
+ throw new AgentVError("engine-unavailable", "The operating-system credential store could not delete this credential.");
101
+ }
102
+ }
103
+ }
104
+ //# sourceMappingURL=credentials.js.map