@ory/gemini-cli 0.7.1 → 0.7.3

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 CHANGED
@@ -81,6 +81,8 @@ The extension bundles a catalog of skills that Gemini auto-invokes by descriptio
81
81
  - **`ory-build-integration`** — pull the runnable subset of an `ory/integrates` template (webhook / config / http-event) into your own app and wire it to your Ory project — no contribution/registry concerns.
82
82
  - **`ory-contribute-integration`** — author a brand-new integration as a contribution to `ory/integrates`, including `registry.entry.yaml`, the `Maintained by:` footer, DCO sign-off, and registry regeneration.
83
83
  - **`ory-e2b-sandbox`** — scaffold an [E2B](https://e2b.dev) sandbox template that boots with this extension preinstalled and registered, so every sandbox session is gated by Ory auth, permissions, and tracing without any per-sandbox setup.
84
+ - **`ory-build-agent`** — drop `@ory/argus` directly into a custom agent you own (Claude Agent SDK, OpenAI Agents SDK, Mastra, Vercel AI SDK, PydanticAI, LangGraph, Mistral AI, or Salesforce Agentforce) so the user is authenticated, every tool call is authorized against Ory Permissions, and the lifecycle emits trace spans.
85
+ - **`ory-temporal-worker`** — scaffold a [Temporal](https://temporal.io) TypeScript worker per the [official local-dev guide](https://docs.temporal.io/develop/typescript/set-up-your-local-typescript), with every Activity gated by an Ory permission check, the worker's agent identity resolved via DCR, and the full lifecycle emitting trace spans.
84
86
 
85
87
  ### Ory MCP server
86
88
 
@@ -91,6 +93,7 @@ Bundled and registered automatically. Exposes the Ory CLI and the Ory Network RE
91
93
  ```
92
94
  /ory:local-up # start a local Ory instance in Docker
93
95
  /ory:local-down # tear it all down
96
+ /ory:temporal-up # start a local Temporal dev server (for ory-temporal-worker)
94
97
  ```
95
98
 
96
99
  `local-up` brings up Ory Identities, OAuth2, and Permissions, plus a login UI on `:3000` and Jaeger on `:16686`, all reachable through `http://localhost:4000`. A test user identity is seeded and the credentials are printed for you. Use it to:
package/dist/cli/main.js CHANGED
@@ -46,11 +46,17 @@ var __importStar = (this && this.__importStar) || (function () {
46
46
  Object.defineProperty(exports, "__esModule", { value: true });
47
47
  const path = __importStar(require("node:path"));
48
48
  const fs = __importStar(require("node:fs"));
49
+ const os = __importStar(require("node:os"));
49
50
  const node_child_process_1 = require("node:child_process");
50
51
  const argus_1 = require("@ory/argus");
51
52
  const assets_js_1 = require("./assets.js");
52
53
  const EXTENSION_DIR = path.resolve(__dirname, "..", "..", "gemini-extension");
53
54
  const PACKAGE_ROOT = path.resolve(__dirname, "..", "..");
55
+ /**
56
+ * On Windows, npm-installed CLIs are `.cmd` shims that Node's spawn only
57
+ * finds via the shell. POSIX shells resolve the bare name directly.
58
+ */
59
+ const SPAWN_VIA_SHELL = process.platform === "win32";
54
60
  function main() {
55
61
  const [command, ...args] = process.argv.slice(2);
56
62
  switch (command) {
@@ -115,11 +121,12 @@ function install(args) {
115
121
  (0, assets_js_1.installGeminiOryAssets)(EXTENSION_DIR);
116
122
  const geminiAvailable = (0, node_child_process_1.spawnSync)("gemini", ["--version"], {
117
123
  stdio: "pipe",
124
+ shell: SPAWN_VIA_SHELL,
118
125
  }).status === 0;
119
126
  if (geminiAvailable) {
120
127
  if (isLink) {
121
128
  console.log("Linking Ory extension for development...");
122
- const result = (0, node_child_process_1.spawnSync)("gemini", ["extensions", "link", EXTENSION_DIR], { stdio: "inherit" });
129
+ const result = (0, node_child_process_1.spawnSync)("gemini", ["extensions", "link", EXTENSION_DIR], { stdio: "inherit", shell: SPAWN_VIA_SHELL });
123
130
  if (result.status === 0) {
124
131
  console.log("");
125
132
  console.log("Ory extension linked for development.");
@@ -133,7 +140,7 @@ function install(args) {
133
140
  }
134
141
  else {
135
142
  console.log("Installing Ory extension...");
136
- const result = (0, node_child_process_1.spawnSync)("gemini", ["extensions", "install", EXTENSION_DIR], { stdio: "inherit" });
143
+ const result = (0, node_child_process_1.spawnSync)("gemini", ["extensions", "install", EXTENSION_DIR], { stdio: "inherit", shell: SPAWN_VIA_SHELL });
137
144
  if (result.status === 0) {
138
145
  console.log("");
139
146
  console.log("Ory extension installed.");
@@ -155,10 +162,14 @@ function install(args) {
155
162
  function uninstall(args) {
156
163
  const geminiAvailable = (0, node_child_process_1.spawnSync)("gemini", ["--version"], {
157
164
  stdio: "pipe",
165
+ shell: SPAWN_VIA_SHELL,
158
166
  }).status === 0;
159
167
  if (geminiAvailable) {
160
168
  console.log("Uninstalling Ory extension...");
161
- (0, node_child_process_1.spawnSync)("gemini", ["extensions", "uninstall", "ory"], { stdio: "inherit" });
169
+ (0, node_child_process_1.spawnSync)("gemini", ["extensions", "uninstall", "ory"], {
170
+ stdio: "inherit",
171
+ shell: SPAWN_VIA_SHELL,
172
+ });
162
173
  }
163
174
  else {
164
175
  const setupArgs = ["--uninstall", ...args];
@@ -196,8 +207,7 @@ async function status() {
196
207
  console.log(` Directory: ${EXTENSION_DIR}`);
197
208
  console.log(` Manifest: ${fs.existsSync(path.join(EXTENSION_DIR, "gemini-extension.json")) ? "found" : "MISSING"}`);
198
209
  console.log(` Hook script: ${fs.existsSync(path.join(PACKAGE_ROOT, "dist", "hook.js")) ? "built" : "NOT BUILT (run pnpm build)"}`);
199
- const home = process.env.HOME ?? process.env.USERPROFILE ?? "~";
200
- const extensionInstalled = fs.existsSync(path.join(home, ".gemini", "extensions", "ory"));
210
+ const extensionInstalled = fs.existsSync(path.join(os.homedir(), ".gemini", "extensions", "ory"));
201
211
  console.log(` Installed: ${extensionInstalled ? "yes (~/.gemini/extensions/ory)" : "no"}`);
202
212
  },
203
213
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ory/gemini-cli",
3
- "version": "0.7.1",
3
+ "version": "0.7.3",
4
4
  "description": "Ory extension for Gemini CLI: 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",
@@ -68,7 +68,7 @@
68
68
  "gemini-extension"
69
69
  ],
70
70
  "dependencies": {
71
- "@ory/argus": "0.7.1"
71
+ "@ory/argus": "0.7.3"
72
72
  },
73
73
  "engines": {
74
74
  "node": ">=22"