agentic-assistant 0.5.0 → 0.5.2
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/CHANGELOG.md +21 -0
- package/README.md +1 -0
- package/dist/{chunk-KSVH5NNA.js → chunk-4S24ZBA7.js} +2 -2
- package/dist/{chunk-RHGVOR6N.js → chunk-H5SLBFAJ.js} +1 -1
- package/dist/{chunk-XSRGG7SB.js → chunk-PCHOZUAD.js} +1 -1
- package/dist/{chunk-PRQTL5VS.js → chunk-XBTQSYDI.js} +1 -1
- package/dist/{chunk-Q3GGWNW5.js → chunk-Z5HBVB6E.js} +2 -2
- package/dist/cli.js +5 -5
- package/dist/demo.js +8 -7
- package/dist/index.js +4 -4
- package/dist/{mcp-server-U3UQIB7H.js → mcp-server-RPDNDBBJ.js} +4 -4
- package/dist/worker.js +2 -2
- package/package.json +5 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.5.2 - 2026-10-29
|
|
4
|
+
|
|
5
|
+
No breaking changes. This is a patch release.
|
|
6
|
+
|
|
7
|
+
Changed
|
|
8
|
+
|
|
9
|
+
- The demo page sets `color-scheme: light dark`, so its system-color fallbacks follow the user's dark mode.
|
|
10
|
+
- A test fails if a hard-coded hex color returns to the demo page style. This does not change the package.
|
|
11
|
+
- An end-to-end test covers `mcp` with no model key, and the README documents that behavior. This does not change the package.
|
|
12
|
+
|
|
13
|
+
Security
|
|
14
|
+
|
|
15
|
+
- An npm `overrides` entry sets `zod` to `^4.6.7`, for GHSA-mrhx-c7xc-m3w5 (memory exhaustion while validating oversized constrained collections, fixed in 4.6.6 and later). The entry applies only to this repo. An install of `agentic-assistant` gets the zod that each dependency allows. The optional peer `agentic-design` 0.3.x can bring zod 3 into your project, so run `npm audit` after you upgrade.
|
|
16
|
+
|
|
17
|
+
## 0.5.1
|
|
18
|
+
|
|
19
|
+
Changed
|
|
20
|
+
|
|
21
|
+
- The demo page reads its colors from agentic-design tokens, with system-color fallbacks. It has no hard-coded hex colors.
|
|
22
|
+
- `agentic-assistant mcp` without `--tools` exits 2 and names `mcp` and `--tools` in its message.
|
|
23
|
+
|
|
3
24
|
## 0.5.0
|
|
4
25
|
|
|
5
26
|
Added
|
package/README.md
CHANGED
|
@@ -141,6 +141,7 @@ The assistant prints its answer on stdout. The answer starts with `Assistant (ma
|
|
|
141
141
|
- `--scope` is what the assistant may hold. `--tool-scope` is what each tool needs. Both are required, and the CLI guesses neither.
|
|
142
142
|
- `--tool-risk` defaults to `risky`. A risky call needs approval. Approve one exact call ahead of time with `--approve-call '{"tool":"notes_write","input":{"id":"7","text":"hi"}}'`. The call must match the tool and the arguments, and each approval is used once. On a terminal, `--approve ask` asks you.
|
|
143
143
|
- Keys come from the environment: `ANTHROPIC_API_KEY`, or the variable named by `--api-key-env`. There is no flag that takes a key.
|
|
144
|
+
- With `ANTHROPIC_API_KEY`, or the variable named by `--api-key-env`, unset or empty, `mcp` prints one line on stderr that names the variable, writes nothing to stdout, and exits 2.
|
|
144
145
|
- For an EU-hosted model, use `--provider openai-compatible --base-url https://models.example.eu/v1 --model <id> --api-key-env EU_KEY`. Add `--price-in` and `--price-out` to use the cost cap.
|
|
145
146
|
- A message on stdin may be up to 1 MB.
|
|
146
147
|
- Limits: `--max-turns`, `--max-tokens`, `--max-cost`, `--max-tool-calls`.
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
AnthropicProvider,
|
|
6
6
|
checkBaseUrl,
|
|
7
7
|
isLoopback
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-PCHOZUAD.js";
|
|
9
9
|
import {
|
|
10
10
|
PrincipalError,
|
|
11
11
|
ProviderError,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
digestCall,
|
|
18
18
|
printable,
|
|
19
19
|
runAssistant
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-H5SLBFAJ.js";
|
|
21
21
|
import {
|
|
22
22
|
AssistantApiError,
|
|
23
23
|
createClient
|
|
@@ -2,12 +2,12 @@ import {
|
|
|
2
2
|
describeFailure,
|
|
3
3
|
runChat,
|
|
4
4
|
runRemote
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-4S24ZBA7.js";
|
|
6
6
|
import {
|
|
7
7
|
VERSION,
|
|
8
8
|
provenanceLabel,
|
|
9
9
|
provenanceMarker
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-H5SLBFAJ.js";
|
|
11
11
|
|
|
12
12
|
// src/mcp-server.ts
|
|
13
13
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
package/dist/cli.js
CHANGED
|
@@ -7,15 +7,15 @@ import {
|
|
|
7
7
|
readTextFile,
|
|
8
8
|
runChat,
|
|
9
9
|
runRemote
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-4S24ZBA7.js";
|
|
11
11
|
import "./chunk-HYT732TN.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-PCHOZUAD.js";
|
|
13
13
|
import {
|
|
14
14
|
TOOL_RISKS,
|
|
15
15
|
VERSION,
|
|
16
16
|
printable,
|
|
17
17
|
provenanceLabel
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-H5SLBFAJ.js";
|
|
19
19
|
import "./chunk-QTIEDY3V.js";
|
|
20
20
|
|
|
21
21
|
// src/cli.ts
|
|
@@ -148,7 +148,7 @@ function parseCli(argv) {
|
|
|
148
148
|
const remoteCommand = command === "approve" ? { name: "approve", id, digest: values.digest } : command === "deny" ? { name: "deny", id, ...values.reason !== void 0 ? { reason: values.reason } : {} } : { name: command };
|
|
149
149
|
return { command: "remote", remote, remoteCommand, json: values.json ?? false };
|
|
150
150
|
}
|
|
151
|
-
if (!values.tools) throw new UsageError(
|
|
151
|
+
if (!values.tools) throw new UsageError(`--tools is required for ${command}: an https MCP URL, or a command that starts an MCP server on stdio`);
|
|
152
152
|
if (!values["tool-scope"]) throw new UsageError("--tool-scope is required");
|
|
153
153
|
const risk = values["tool-risk"] ?? "risky";
|
|
154
154
|
if (!TOOL_RISKS.includes(risk)) throw new UsageError(`--tool-risk must be one of ${TOOL_RISKS.join(", ")}`);
|
|
@@ -327,7 +327,7 @@ async function runCli(argv, io = defaultIo()) {
|
|
|
327
327
|
for (const skip of setup.skipped.slice(0, MAX_SKIPPED_LINES)) io.err(`skipped tool ${oneLine(skip.name, 100)}: ${oneLine(skip.reason, 200)}`);
|
|
328
328
|
if (setup.skipped.length > MAX_SKIPPED_LINES) io.err(`skipped ${setup.skipped.length - MAX_SKIPPED_LINES} more tools`);
|
|
329
329
|
if (parsed.command === "mcp") {
|
|
330
|
-
const { startAssistantMcp } = await import("./mcp-server-
|
|
330
|
+
const { startAssistantMcp } = await import("./mcp-server-RPDNDBBJ.js");
|
|
331
331
|
await startAssistantMcp(setup, remote, { approve: parsed.allowApprove ?? false });
|
|
332
332
|
return 0;
|
|
333
333
|
}
|
package/dist/demo.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createStaticTokenAuth,
|
|
3
3
|
createWorker
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-XBTQSYDI.js";
|
|
5
5
|
import {
|
|
6
6
|
AnthropicProvider
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-PCHOZUAD.js";
|
|
8
8
|
import {
|
|
9
9
|
ToolRegistry,
|
|
10
10
|
VERSION,
|
|
11
11
|
hasScope
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-H5SLBFAJ.js";
|
|
13
13
|
|
|
14
14
|
// src/demo-page.ts
|
|
15
15
|
var DEMO_CSP = "default-src 'none'; style-src 'unsafe-inline'; script-src 'unsafe-inline'; connect-src 'self'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'";
|
|
@@ -20,13 +20,14 @@ var DEMO_PAGE = `<!doctype html>
|
|
|
20
20
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
21
21
|
<title>agentic-assistant demo</title>
|
|
22
22
|
<style>
|
|
23
|
-
|
|
23
|
+
:root{color-scheme:light dark}
|
|
24
|
+
body{font:16px/1.5 system-ui,sans-serif;max-width:42rem;margin:2rem auto;padding:0 1rem;color:var(--ad-color-text,CanvasText);background:var(--ad-color-surface,Canvas)}
|
|
24
25
|
label{display:block;margin-top:1rem;font-weight:600}
|
|
25
26
|
input,textarea,button{font:inherit;padding:.5rem;width:100%;box-sizing:border-box}
|
|
26
27
|
button{width:auto;min-height:2.5rem;margin-top:1rem;cursor:pointer}
|
|
27
|
-
:focus-visible{outline:3px solid
|
|
28
|
-
#out{white-space:pre-wrap;border:1px solid
|
|
29
|
-
.badge{display:inline-block;border:1px solid
|
|
28
|
+
:focus-visible{outline:3px solid var(--ad-color-focus,LinkText);outline-offset:2px}
|
|
29
|
+
#out{white-space:pre-wrap;border:1px solid var(--ad-color-border-strong,CanvasText);padding:1rem;margin-top:1rem;min-height:4rem}
|
|
30
|
+
.badge{display:inline-block;border:1px solid var(--ad-color-text,CanvasText);padding:0 .5rem;font-size:.875rem}
|
|
30
31
|
</style>
|
|
31
32
|
</head>
|
|
32
33
|
<body>
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createAssistantMcpServer,
|
|
3
3
|
startAssistantMcp
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-Z5HBVB6E.js";
|
|
5
5
|
import {
|
|
6
6
|
ConfigError,
|
|
7
7
|
FallbackProvider,
|
|
@@ -10,13 +10,13 @@ import {
|
|
|
10
10
|
connectMcpTools,
|
|
11
11
|
parseTarget,
|
|
12
12
|
runChat
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-4S24ZBA7.js";
|
|
14
14
|
import "./chunk-HYT732TN.js";
|
|
15
15
|
import {
|
|
16
16
|
AnthropicProvider,
|
|
17
17
|
DEFAULT_ANTHROPIC_MODEL,
|
|
18
18
|
PRICING_CHECKED_ON
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-PCHOZUAD.js";
|
|
20
20
|
import {
|
|
21
21
|
ACTIONS,
|
|
22
22
|
DATA_NOTICE,
|
|
@@ -40,7 +40,7 @@ import {
|
|
|
40
40
|
provenanceMarker,
|
|
41
41
|
runAssistant,
|
|
42
42
|
scopeCovers
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-H5SLBFAJ.js";
|
|
44
44
|
import "./chunk-QTIEDY3V.js";
|
|
45
45
|
export {
|
|
46
46
|
ACTIONS,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createAssistantMcpServer,
|
|
3
3
|
startAssistantMcp
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-Z5HBVB6E.js";
|
|
5
|
+
import "./chunk-4S24ZBA7.js";
|
|
6
6
|
import "./chunk-HYT732TN.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-PCHOZUAD.js";
|
|
8
|
+
import "./chunk-H5SLBFAJ.js";
|
|
9
9
|
import "./chunk-QTIEDY3V.js";
|
|
10
10
|
export {
|
|
11
11
|
createAssistantMcpServer,
|
package/dist/worker.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentic-assistant",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.2",
|
|
4
4
|
"description": "An AI assistant that acts inside your apps with the user's own permissions.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"assistant",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"dependencies": {
|
|
75
75
|
"@anthropic-ai/sdk": "^1.3.0",
|
|
76
76
|
"@modelcontextprotocol/sdk": "^1.32.2",
|
|
77
|
-
"agentic-identity": "^0.
|
|
77
|
+
"agentic-identity": "^0.7.0",
|
|
78
78
|
"ajv": "^8.20.0"
|
|
79
79
|
},
|
|
80
80
|
"devDependencies": {
|
|
@@ -104,5 +104,8 @@
|
|
|
104
104
|
"react": {
|
|
105
105
|
"optional": true
|
|
106
106
|
}
|
|
107
|
+
},
|
|
108
|
+
"overrides": {
|
|
109
|
+
"zod": "^4.6.7"
|
|
107
110
|
}
|
|
108
111
|
}
|