@ory/continue 0.12.0 → 0.12.1
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 +15 -15
- package/dist/cli/assets.js +1 -1
- package/dist/cli/main.d.ts +6 -6
- package/dist/cli/main.js +18 -18
- package/dist/cli/setup.d.ts +4 -4
- package/dist/cli/setup.js +8 -8
- package/dist/handlers.js +2 -2
- package/dist/settings.js +1 -1
- package/package.json +6 -5
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ This targets the **`cn` CLI** (not the Continue IDE extension), verified against
|
|
|
20
20
|
Run one command. It installs the plugin and walks you through connecting:
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
npx -y -p @ory/continue ory-
|
|
23
|
+
npx -y -p @ory/continue ory-cn install
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Continue has no native install command, so this writes the Ory hooks into your project settings and drops the Ory skills into your project — Continue turns each skill into a slash command automatically (so the local Ory commands show up as `/ory-local-up`, `/ory-local-down`, and `/ory-temporal-up`).
|
|
@@ -34,7 +34,7 @@ You'll be asked how you want to connect — **press Enter for the default**:
|
|
|
34
34
|
That's it. Confirm everything landed with:
|
|
35
35
|
|
|
36
36
|
```bash
|
|
37
|
-
npx -y -p @ory/continue ory-
|
|
37
|
+
npx -y -p @ory/continue ory-cn status
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
`status` is your one-stop check: what's configured, who's signed in, which tools are covered by permissions, and recent activity. Anything not set up yet shows as `(unset)`.
|
|
@@ -57,11 +57,11 @@ Under the hood, Continue runs the plugin the same way [Claude Code](https://gith
|
|
|
57
57
|
|
|
58
58
|
Everything the plugin does is observable out of the box — no configuration required:
|
|
59
59
|
|
|
60
|
-
- **Status at a glance.** `npx -y -p @ory/continue ory-
|
|
60
|
+
- **Status at a glance.** `npx -y -p @ory/continue ory-cn status` shows what's configured, who's signed in, how many built-in tools your permissions cover, and the most recent tool-call activity.
|
|
61
61
|
- **Live traces.** Every tool call is recorded as an OpenTelemetry-style span. Watch them stream as the agent works:
|
|
62
62
|
|
|
63
63
|
```bash
|
|
64
|
-
npx -y -p @ory/continue ory-
|
|
64
|
+
npx -y -p @ory/continue ory-cn watch
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
Spans are also written to `~/.config/ory-agent-plugins/continue/ory-agent-trace.ndjson` (NDJSON, one span per line) — tail that file, or point `OTEL_EXPORTER_OTLP_ENDPOINT` at a collector to ship them straight to Jaeger, Honeycomb, or Grafana.
|
|
@@ -72,7 +72,7 @@ Everything the plugin does is observable out of the box — no configuration req
|
|
|
72
72
|
When the watch-mode logs look right, turn on blocking with one command (setup already granted you the built-in tools):
|
|
73
73
|
|
|
74
74
|
```bash
|
|
75
|
-
npx -y -p @ory/continue ory-
|
|
75
|
+
npx -y -p @ory/continue ory-cn permissions enforce
|
|
76
76
|
```
|
|
77
77
|
|
|
78
78
|
Now a denied tool is actually blocked. Go back to watch mode anytime with `permissions observe`. Use `permissions status` to see what's covered and `permissions bootstrap` to (re-)grant the built-in tools.
|
|
@@ -88,7 +88,7 @@ Bundled **skills** (just ask in plain language, and Continue surfaces each as a
|
|
|
88
88
|
The guided setup covers most people. For scripted or CI setups, or to point at an existing Ory Network project, configure directly. Settings are saved to `~/.config/ory-agent-plugins/config.json` and shared across all your Ory agent plugins; environment variables win when both are set.
|
|
89
89
|
|
|
90
90
|
```bash
|
|
91
|
-
npx -y -p @ory/continue ory-
|
|
91
|
+
npx -y -p @ory/continue ory-cn configure \
|
|
92
92
|
--project-url https://<slug>.projects.oryapis.com \
|
|
93
93
|
--oauth2-client-id <login client id> \
|
|
94
94
|
--user-login
|
|
@@ -123,12 +123,12 @@ With nothing configured, the plugin still loads and runs in **pass-through mode*
|
|
|
123
123
|
## Commands
|
|
124
124
|
|
|
125
125
|
```
|
|
126
|
-
ory-
|
|
127
|
-
ory-
|
|
128
|
-
ory-
|
|
129
|
-
ory-
|
|
130
|
-
ory-
|
|
131
|
-
ory-
|
|
126
|
+
ory-cn install | uninstall Install/remove; --reconfigure re-runs setup, --no-configure skips it
|
|
127
|
+
ory-cn status Show configuration, identities, permission coverage, recent activity
|
|
128
|
+
ory-cn watch Tail the live trace stream (OTel spans)
|
|
129
|
+
ory-cn permissions <cmd> status | bootstrap | observe (watch) | enforce (block)
|
|
130
|
+
ory-cn configure <flags> Point at a project by hand (--project-url, --oauth2-client-id, --user-login, --audit-only)
|
|
131
|
+
ory-cn agent <status|unregister> Manage Continue's own auto-created identity
|
|
132
132
|
```
|
|
133
133
|
|
|
134
134
|
All prefixed with `npx -y -p @ory/continue`.
|
|
@@ -136,10 +136,10 @@ All prefixed with `npx -y -p @ory/continue`.
|
|
|
136
136
|
## Troubleshooting
|
|
137
137
|
|
|
138
138
|
- **`/ory-local-up` fails** — make sure Docker is running and ports `4000`, `4100`, `4455`, and `16686` are free.
|
|
139
|
-
- **Browser sign-in loops** — reset with `ory-
|
|
140
|
-
- **`npx` grabbed an old version** — force the latest: `npx -y -p @ory/continue@latest ory-
|
|
139
|
+
- **Browser sign-in loops** — reset with `ory-cn agent unregister` and try again.
|
|
140
|
+
- **`npx` grabbed an old version** — force the latest: `npx -y -p @ory/continue@latest ory-cn …`.
|
|
141
141
|
- **Hooks stuck on an old version** — re-run the installer.
|
|
142
|
-
- **Want to see what's happening** — `npx -y -p @ory/continue ory-
|
|
142
|
+
- **Want to see what's happening** — `npx -y -p @ory/continue ory-cn status` for a snapshot, `npx -y -p @ory/continue ory-cn watch` for the live trace stream, or set `ORY_AGENT_DEBUG=true` for a verbose log. Traces and logs live under `~/.config/ory-agent-plugins/continue/` (see [See what's happening](#see-whats-happening)).
|
|
143
143
|
|
|
144
144
|
## Learn more
|
|
145
145
|
|
package/dist/cli/assets.js
CHANGED
package/dist/cli/main.d.ts
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
* Main CLI for @ory/continue.
|
|
4
4
|
*
|
|
5
5
|
* Usage:
|
|
6
|
-
* npx ory-
|
|
7
|
-
* npx ory-
|
|
8
|
-
* npx ory-
|
|
9
|
-
* npx ory-
|
|
10
|
-
* npx ory-
|
|
11
|
-
* npx ory-
|
|
6
|
+
* npx ory-cn install Write hooks to settings.json + assets
|
|
7
|
+
* npx ory-cn uninstall Remove hooks and assets
|
|
8
|
+
* npx ory-cn configure Set or view Ory credentials
|
|
9
|
+
* npx ory-cn setup [--project-dir] Write hooks to settings.json directly
|
|
10
|
+
* npx ory-cn status Show plugin status
|
|
11
|
+
* npx ory-cn local <cmd> Manage local Ory dev environment
|
|
12
12
|
*
|
|
13
13
|
* Continue (the `cn` CLI) has no extension-install command, so `install` is a
|
|
14
14
|
* thin wrapper over the same settings.json setup path the README documents.
|
package/dist/cli/main.js
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
* Main CLI for @ory/continue.
|
|
5
5
|
*
|
|
6
6
|
* Usage:
|
|
7
|
-
* npx ory-
|
|
8
|
-
* npx ory-
|
|
9
|
-
* npx ory-
|
|
10
|
-
* npx ory-
|
|
11
|
-
* npx ory-
|
|
12
|
-
* npx ory-
|
|
7
|
+
* npx ory-cn install Write hooks to settings.json + assets
|
|
8
|
+
* npx ory-cn uninstall Remove hooks and assets
|
|
9
|
+
* npx ory-cn configure Set or view Ory credentials
|
|
10
|
+
* npx ory-cn setup [--project-dir] Write hooks to settings.json directly
|
|
11
|
+
* npx ory-cn status Show plugin status
|
|
12
|
+
* npx ory-cn local <cmd> Manage local Ory dev environment
|
|
13
13
|
*
|
|
14
14
|
* Continue (the `cn` CLI) has no extension-install command, so `install` is a
|
|
15
15
|
* thin wrapper over the same settings.json setup path the README documents.
|
|
@@ -58,7 +58,7 @@ function main() {
|
|
|
58
58
|
case "install":
|
|
59
59
|
(0, argus_1.beginDeferNextSteps)();
|
|
60
60
|
install(args);
|
|
61
|
-
(0, argus_1.runPostInstall)("ory-
|
|
61
|
+
(0, argus_1.runPostInstall)("ory-cn", "continue", args).then(() => process.exit(0), (err) => {
|
|
62
62
|
console.error(err.message ?? err);
|
|
63
63
|
process.exit(1);
|
|
64
64
|
});
|
|
@@ -71,16 +71,16 @@ function main() {
|
|
|
71
71
|
});
|
|
72
72
|
break;
|
|
73
73
|
case "configure":
|
|
74
|
-
(0, argus_1.runConfigureCommand)("ory-
|
|
74
|
+
(0, argus_1.runConfigureCommand)("ory-cn", args);
|
|
75
75
|
break;
|
|
76
76
|
case "agent":
|
|
77
|
-
(0, argus_1.runAgentCommand)("ory-
|
|
77
|
+
(0, argus_1.runAgentCommand)("ory-cn", args).then((code) => process.exit(code), (err) => {
|
|
78
78
|
console.error(err.message ?? err);
|
|
79
79
|
process.exit(1);
|
|
80
80
|
});
|
|
81
81
|
break;
|
|
82
82
|
case "permissions":
|
|
83
|
-
(0, argus_1.runPermissionsCommand)("ory-
|
|
83
|
+
(0, argus_1.runPermissionsCommand)("ory-cn", "continue", args).then((code) => process.exit(code), (err) => {
|
|
84
84
|
console.error(err.message ?? err);
|
|
85
85
|
process.exit(1);
|
|
86
86
|
});
|
|
@@ -95,7 +95,7 @@ function main() {
|
|
|
95
95
|
});
|
|
96
96
|
break;
|
|
97
97
|
case "local":
|
|
98
|
-
(0, argus_1.runLocalCommand)("ory-
|
|
98
|
+
(0, argus_1.runLocalCommand)("ory-cn", args).catch((err) => {
|
|
99
99
|
console.error(err.message ?? err);
|
|
100
100
|
process.exit(1);
|
|
101
101
|
});
|
|
@@ -125,7 +125,7 @@ function install(args) {
|
|
|
125
125
|
process.argv = ["node", "setup.js", ...args];
|
|
126
126
|
require("./setup.js");
|
|
127
127
|
printQuickstart();
|
|
128
|
-
(0, argus_1.printEnvHelp)("ory-
|
|
128
|
+
(0, argus_1.printEnvHelp)("ory-cn");
|
|
129
129
|
}
|
|
130
130
|
function uninstall(args) {
|
|
131
131
|
const setupArgs = ["--uninstall", ...args];
|
|
@@ -144,7 +144,7 @@ function printQuickstart() {
|
|
|
144
144
|
console.log(" 3. Set ORY_USER_LOGIN=true to enable the interactive PKCE browser login.");
|
|
145
145
|
}
|
|
146
146
|
async function status() {
|
|
147
|
-
await (0, argus_1.runStatusCommand)("ory-
|
|
147
|
+
await (0, argus_1.runStatusCommand)("ory-cn", "continue", {
|
|
148
148
|
title: "Continue CLI",
|
|
149
149
|
printPluginSection: () => {
|
|
150
150
|
console.log("Hooks & plugin:");
|
|
@@ -155,10 +155,10 @@ async function status() {
|
|
|
155
155
|
}
|
|
156
156
|
function help() {
|
|
157
157
|
console.log(`
|
|
158
|
-
ory-
|
|
158
|
+
ory-cn — Ory plugin for Continue CLI (cn)
|
|
159
159
|
|
|
160
160
|
Usage:
|
|
161
|
-
npx -y -p @ory/continue ory-
|
|
161
|
+
npx -y -p @ory/continue ory-cn <command> [options]
|
|
162
162
|
|
|
163
163
|
Commands:
|
|
164
164
|
install Write Ory hooks and skills into .continue/
|
|
@@ -177,9 +177,9 @@ After installing, the plugin hooks into these Continue CLI lifecycle events:
|
|
|
177
177
|
PostToolUse Audit log tool executions
|
|
178
178
|
|
|
179
179
|
Examples:
|
|
180
|
-
npx -y -p @ory/continue ory-
|
|
181
|
-
npx -y -p @ory/continue ory-
|
|
182
|
-
npx -y -p @ory/continue ory-
|
|
180
|
+
npx -y -p @ory/continue ory-cn install # Install hooks + assets
|
|
181
|
+
npx -y -p @ory/continue ory-cn status # Check configuration
|
|
182
|
+
npx -y -p @ory/continue ory-cn uninstall # Remove hooks + assets
|
|
183
183
|
`);
|
|
184
184
|
}
|
|
185
185
|
main();
|
package/dist/cli/setup.d.ts
CHANGED
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
* directly into the harness's settings.json.
|
|
7
7
|
*
|
|
8
8
|
* Usage:
|
|
9
|
-
* npx ory-
|
|
10
|
-
* npx ory-
|
|
11
|
-
* npx ory-
|
|
12
|
-
* npx ory-
|
|
9
|
+
* npx ory-cn-setup # Auto-detect and configure
|
|
10
|
+
* npx ory-cn-setup --project-dir /path/to/repo
|
|
11
|
+
* npx ory-cn-setup --print # Print config to stdout without writing
|
|
12
|
+
* npx ory-cn-setup --uninstall # Remove Ory hooks from settings
|
|
13
13
|
*
|
|
14
14
|
* Verified against @continuedev/cli: Continue reads a top-level `hooks` object
|
|
15
15
|
* from `.continue/settings.json` (also `.claude/settings.json` and home
|
package/dist/cli/setup.js
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
* directly into the harness's settings.json.
|
|
8
8
|
*
|
|
9
9
|
* Usage:
|
|
10
|
-
* npx ory-
|
|
11
|
-
* npx ory-
|
|
12
|
-
* npx ory-
|
|
13
|
-
* npx ory-
|
|
10
|
+
* npx ory-cn-setup # Auto-detect and configure
|
|
11
|
+
* npx ory-cn-setup --project-dir /path/to/repo
|
|
12
|
+
* npx ory-cn-setup --print # Print config to stdout without writing
|
|
13
|
+
* npx ory-cn-setup --uninstall # Remove Ory hooks from settings
|
|
14
14
|
*
|
|
15
15
|
* Verified against @continuedev/cli: Continue reads a top-level `hooks` object
|
|
16
16
|
* from `.continue/settings.json` (also `.claude/settings.json` and home
|
|
@@ -54,7 +54,7 @@ const fs = __importStar(require("node:fs"));
|
|
|
54
54
|
const path = __importStar(require("node:path"));
|
|
55
55
|
const argus_1 = require("@ory/argus");
|
|
56
56
|
const assets_js_1 = require("./assets.js");
|
|
57
|
-
const BIN_NAME = "ory-
|
|
57
|
+
const BIN_NAME = "ory-cn-hook";
|
|
58
58
|
const PACKAGE_NAME = "@ory/continue";
|
|
59
59
|
function getSettingsPath(args) {
|
|
60
60
|
return path.join(args.projectDir, ".continue", "settings.json");
|
|
@@ -77,7 +77,7 @@ function generateHooksConfig() {
|
|
|
77
77
|
}
|
|
78
78
|
function main() {
|
|
79
79
|
if (process.argv.includes("--help") || process.argv.includes("-h")) {
|
|
80
|
-
(0, argus_1.printSetupHelp)("ory-
|
|
80
|
+
(0, argus_1.printSetupHelp)("ory-cn-setup", "Continue CLI");
|
|
81
81
|
process.exit(0);
|
|
82
82
|
}
|
|
83
83
|
const args = (0, argus_1.parseSetupArgs)();
|
|
@@ -109,8 +109,8 @@ function main() {
|
|
|
109
109
|
(0, assets_js_1.installContinueOryAssets)(continueDir);
|
|
110
110
|
console.log(`Ory hooks and MCP server installed to ${settingsPath}`);
|
|
111
111
|
console.log(`Ory skills installed to ${continueDir}`);
|
|
112
|
-
(0, argus_1.printNextSteps)("Continue CLI", "npx -y -p @ory/continue ory-
|
|
113
|
-
binName: "ory-
|
|
112
|
+
(0, argus_1.printNextSteps)("Continue CLI", "npx -y -p @ory/continue ory-cn-setup --uninstall", {
|
|
113
|
+
binName: "ory-cn",
|
|
114
114
|
harness: "continue",
|
|
115
115
|
});
|
|
116
116
|
}
|
package/dist/handlers.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.handleHookEvent = handleHookEvent;
|
|
4
4
|
const argus_1 = require("@ory/argus");
|
|
5
5
|
const HARNESS = "continue";
|
|
6
|
-
const BIN_NAME = "ory-
|
|
6
|
+
const BIN_NAME = "ory-cn";
|
|
7
7
|
/**
|
|
8
8
|
* Route a Continue CLI hook event to the appropriate Ory integration.
|
|
9
9
|
*
|
|
@@ -102,7 +102,7 @@ async function handleSessionStart(input, client, deps) {
|
|
|
102
102
|
if (!resolved.projectUrl) {
|
|
103
103
|
client.logger.warn("config.not_configured", {
|
|
104
104
|
message: "Ory plugin is not configured. Auth and permission checks are disabled. " +
|
|
105
|
-
"Run 'npx ory-
|
|
105
|
+
"Run 'npx ory-cn configure' to connect to an Ory project.",
|
|
106
106
|
});
|
|
107
107
|
return {};
|
|
108
108
|
}
|
package/dist/settings.js
CHANGED
|
@@ -67,7 +67,7 @@ function generateSettings(hookScriptPath) {
|
|
|
67
67
|
* Generate settings assuming the plugin is installed via npm/pnpm.
|
|
68
68
|
*/
|
|
69
69
|
function generateInstalledSettings() {
|
|
70
|
-
return generateSettings("ory-
|
|
70
|
+
return generateSettings("ory-cn-hook");
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
73
73
|
* Generate settings pointing to a local dev build.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ory/continue",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.1",
|
|
4
4
|
"description": "Ory plugin for Continue CLI (cn): scaffolding skills, a local Ory instance, and authentication, authorization, and audit for every tool call",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://ory.com",
|
|
@@ -57,9 +57,9 @@
|
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
59
|
"bin": {
|
|
60
|
-
"ory-
|
|
61
|
-
"ory-
|
|
62
|
-
"ory-
|
|
60
|
+
"ory-cn": "dist/cli/main.js",
|
|
61
|
+
"ory-cn-hook": "dist/hook.js",
|
|
62
|
+
"ory-cn-setup": "dist/cli/setup.js"
|
|
63
63
|
},
|
|
64
64
|
"files": [
|
|
65
65
|
"dist",
|
|
@@ -67,7 +67,8 @@
|
|
|
67
67
|
"!dist/**/*.tsbuildinfo"
|
|
68
68
|
],
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"
|
|
70
|
+
"reo-census": "^1.2.8",
|
|
71
|
+
"@ory/argus": "0.12.1"
|
|
71
72
|
},
|
|
72
73
|
"engines": {
|
|
73
74
|
"node": ">=22"
|