@ours.network/codex 1.2.0-nightly.5 → 1.2.0-nightly.7

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ours",
3
- "version": "1.2.0-nightly.5",
3
+ "version": "1.2.0-nightly.7",
4
4
  "description": "Secure agent-to-agent messaging and explicitly armed live mail wake for Codex CLI.",
5
5
  "author": {
6
6
  "name": "Adapt Toolkit",
@@ -58,6 +58,7 @@ import { assertDaemonStateDir, attachOursClient as attachOursClient2, resolveDae
58
58
  import { existsSync, lstatSync, readFileSync } from "node:fs";
59
59
  import { homedir } from "node:os";
60
60
  import { resolve } from "node:path";
61
+ import { normalizeDaemonEndpoint } from "@ours.network/sdk/client";
61
62
  var PROFILE_KEYS = ["endpoint", "expectedInstanceId", "credentialPath"];
62
63
  var LEGACY_SELECTION_KEYS = ["port", "stateDir", "apiToken", "apiVisibility"];
63
64
  var UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
@@ -80,7 +81,7 @@ function validateHostProfile(value) {
80
81
  const expectedInstanceId = record.expectedInstanceId;
81
82
  const credentialPath = record.credentialPath;
82
83
  if (typeof endpoint !== "string" || endpoint.trim() !== endpoint || endpoint === "") {
83
- throw profileError("endpoint must be a non-empty HTTP or HTTPS origin.");
84
+ throw profileError("endpoint must be a non-empty HTTP or HTTPS base URL.");
84
85
  }
85
86
  if (typeof expectedInstanceId !== "string" || !UUID.test(expectedInstanceId)) {
86
87
  throw profileError("expectedInstanceId must be a lowercase UUID.");
@@ -92,12 +93,12 @@ function validateHostProfile(value) {
92
93
  try {
93
94
  url = new URL(endpoint);
94
95
  } catch {
95
- throw profileError("endpoint must be an HTTP or HTTPS origin.");
96
+ throw profileError("endpoint must be an HTTP or HTTPS base URL.");
96
97
  }
97
- if (url.protocol !== "http:" && url.protocol !== "https:" || url.username || url.password || url.pathname !== "/" || url.search || url.hash) {
98
- throw profileError("endpoint must be an HTTP or HTTPS origin without credentials, path, query, or fragment.");
98
+ if (url.protocol !== "http:" && url.protocol !== "https:" || url.username || url.password || /[\s\\?#]/.test(endpoint) || url.search || url.hash) {
99
+ throw profileError("endpoint must be an HTTP or HTTPS base URL without credentials, query, or fragment.");
99
100
  }
100
- return { endpoint: url.origin, expectedInstanceId, credentialPath };
101
+ return { endpoint: normalizeDaemonEndpoint(endpoint), expectedInstanceId, credentialPath };
101
102
  }
102
103
  function readProfileObject(configPath) {
103
104
  let text;
@@ -128,6 +128,7 @@ var ApplicationIdentityStore = class {
128
128
 
129
129
  // ../core/src/host-profile.ts
130
130
  import { resolve as resolve2 } from "node:path";
131
+ import { normalizeDaemonEndpoint } from "@ours.network/sdk/client";
131
132
  var PROFILE_KEYS = ["endpoint", "expectedInstanceId", "credentialPath"];
132
133
  var LEGACY_SELECTION_KEYS = ["port", "stateDir", "apiToken", "apiVisibility"];
133
134
  var UUID2 = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
@@ -149,7 +150,7 @@ function validateHostProfile(value) {
149
150
  const expectedInstanceId = record.expectedInstanceId;
150
151
  const credentialPath = record.credentialPath;
151
152
  if (typeof endpoint !== "string" || endpoint.trim() !== endpoint || endpoint === "") {
152
- throw profileError("endpoint must be a non-empty HTTP or HTTPS origin.");
153
+ throw profileError("endpoint must be a non-empty HTTP or HTTPS base URL.");
153
154
  }
154
155
  if (typeof expectedInstanceId !== "string" || !UUID2.test(expectedInstanceId)) {
155
156
  throw profileError("expectedInstanceId must be a lowercase UUID.");
@@ -161,12 +162,12 @@ function validateHostProfile(value) {
161
162
  try {
162
163
  url = new URL(endpoint);
163
164
  } catch {
164
- throw profileError("endpoint must be an HTTP or HTTPS origin.");
165
+ throw profileError("endpoint must be an HTTP or HTTPS base URL.");
165
166
  }
166
- if (url.protocol !== "http:" && url.protocol !== "https:" || url.username || url.password || url.pathname !== "/" || url.search || url.hash) {
167
- throw profileError("endpoint must be an HTTP or HTTPS origin without credentials, path, query, or fragment.");
167
+ if (url.protocol !== "http:" && url.protocol !== "https:" || url.username || url.password || /[\s\\?#]/.test(endpoint) || url.search || url.hash) {
168
+ throw profileError("endpoint must be an HTTP or HTTPS base URL without credentials, query, or fragment.");
168
169
  }
169
- return { endpoint: url.origin, expectedInstanceId, credentialPath };
170
+ return { endpoint: normalizeDaemonEndpoint(endpoint), expectedInstanceId, credentialPath };
170
171
  }
171
172
 
172
173
  // ../core/src/native-session.ts
@@ -21404,6 +21404,7 @@ import { fileURLToPath } from "node:url";
21404
21404
  import { existsSync, lstatSync, readFileSync } from "node:fs";
21405
21405
  import { homedir } from "node:os";
21406
21406
  import { resolve } from "node:path";
21407
+ import { normalizeDaemonEndpoint } from "@ours.network/sdk/client";
21407
21408
  var PROFILE_KEYS = ["endpoint", "expectedInstanceId", "credentialPath"];
21408
21409
  var LEGACY_SELECTION_KEYS = ["port", "stateDir", "apiToken", "apiVisibility"];
21409
21410
  var UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
@@ -21426,7 +21427,7 @@ function validateHostProfile(value) {
21426
21427
  const expectedInstanceId = record2.expectedInstanceId;
21427
21428
  const credentialPath = record2.credentialPath;
21428
21429
  if (typeof endpoint !== "string" || endpoint.trim() !== endpoint || endpoint === "") {
21429
- throw profileError("endpoint must be a non-empty HTTP or HTTPS origin.");
21430
+ throw profileError("endpoint must be a non-empty HTTP or HTTPS base URL.");
21430
21431
  }
21431
21432
  if (typeof expectedInstanceId !== "string" || !UUID.test(expectedInstanceId)) {
21432
21433
  throw profileError("expectedInstanceId must be a lowercase UUID.");
@@ -21438,12 +21439,12 @@ function validateHostProfile(value) {
21438
21439
  try {
21439
21440
  url = new URL(endpoint);
21440
21441
  } catch {
21441
- throw profileError("endpoint must be an HTTP or HTTPS origin.");
21442
+ throw profileError("endpoint must be an HTTP or HTTPS base URL.");
21442
21443
  }
21443
- if (url.protocol !== "http:" && url.protocol !== "https:" || url.username || url.password || url.pathname !== "/" || url.search || url.hash) {
21444
- throw profileError("endpoint must be an HTTP or HTTPS origin without credentials, path, query, or fragment.");
21444
+ if (url.protocol !== "http:" && url.protocol !== "https:" || url.username || url.password || /[\s\\?#]/.test(endpoint) || url.search || url.hash) {
21445
+ throw profileError("endpoint must be an HTTP or HTTPS base URL without credentials, query, or fragment.");
21445
21446
  }
21446
- return { endpoint: url.origin, expectedInstanceId, credentialPath };
21447
+ return { endpoint: normalizeDaemonEndpoint(endpoint), expectedInstanceId, credentialPath };
21447
21448
  }
21448
21449
  function readProfileObject(configPath) {
21449
21450
  let text;
@@ -6,6 +6,7 @@ import { dirname as dirname2, join as join3 } from "node:path";
6
6
  import { existsSync, lstatSync, readFileSync } from "node:fs";
7
7
  import { homedir } from "node:os";
8
8
  import { resolve } from "node:path";
9
+ import { normalizeDaemonEndpoint } from "@ours.network/sdk/client";
9
10
  var PROFILE_KEYS = ["endpoint", "expectedInstanceId", "credentialPath"];
10
11
  var LEGACY_SELECTION_KEYS = ["port", "stateDir", "apiToken", "apiVisibility"];
11
12
  var UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
@@ -28,7 +29,7 @@ function validateHostProfile(value) {
28
29
  const expectedInstanceId = record.expectedInstanceId;
29
30
  const credentialPath = record.credentialPath;
30
31
  if (typeof endpoint !== "string" || endpoint.trim() !== endpoint || endpoint === "") {
31
- throw profileError("endpoint must be a non-empty HTTP or HTTPS origin.");
32
+ throw profileError("endpoint must be a non-empty HTTP or HTTPS base URL.");
32
33
  }
33
34
  if (typeof expectedInstanceId !== "string" || !UUID.test(expectedInstanceId)) {
34
35
  throw profileError("expectedInstanceId must be a lowercase UUID.");
@@ -40,12 +41,12 @@ function validateHostProfile(value) {
40
41
  try {
41
42
  url = new URL(endpoint);
42
43
  } catch {
43
- throw profileError("endpoint must be an HTTP or HTTPS origin.");
44
+ throw profileError("endpoint must be an HTTP or HTTPS base URL.");
44
45
  }
45
- if (url.protocol !== "http:" && url.protocol !== "https:" || url.username || url.password || url.pathname !== "/" || url.search || url.hash) {
46
- throw profileError("endpoint must be an HTTP or HTTPS origin without credentials, path, query, or fragment.");
46
+ if (url.protocol !== "http:" && url.protocol !== "https:" || url.username || url.password || /[\s\\?#]/.test(endpoint) || url.search || url.hash) {
47
+ throw profileError("endpoint must be an HTTP or HTTPS base URL without credentials, query, or fragment.");
47
48
  }
48
- return { endpoint: url.origin, expectedInstanceId, credentialPath };
49
+ return { endpoint: normalizeDaemonEndpoint(endpoint), expectedInstanceId, credentialPath };
49
50
  }
50
51
  function readProfileObject(configPath) {
51
52
  let text;
package/dist/profile.mjs CHANGED
@@ -8,6 +8,7 @@ import { assertDaemonStateDir, attachOursClient as attachOursClient2, resolveDae
8
8
  import { existsSync, lstatSync, readFileSync } from "node:fs";
9
9
  import { homedir } from "node:os";
10
10
  import { resolve } from "node:path";
11
+ import { normalizeDaemonEndpoint } from "@ours.network/sdk/client";
11
12
  var PROFILE_KEYS = ["endpoint", "expectedInstanceId", "credentialPath"];
12
13
  var LEGACY_SELECTION_KEYS = ["port", "stateDir", "apiToken", "apiVisibility"];
13
14
  var UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
@@ -30,7 +31,7 @@ function validateHostProfile(value) {
30
31
  const expectedInstanceId = record.expectedInstanceId;
31
32
  const credentialPath = record.credentialPath;
32
33
  if (typeof endpoint !== "string" || endpoint.trim() !== endpoint || endpoint === "") {
33
- throw profileError("endpoint must be a non-empty HTTP or HTTPS origin.");
34
+ throw profileError("endpoint must be a non-empty HTTP or HTTPS base URL.");
34
35
  }
35
36
  if (typeof expectedInstanceId !== "string" || !UUID.test(expectedInstanceId)) {
36
37
  throw profileError("expectedInstanceId must be a lowercase UUID.");
@@ -42,12 +43,12 @@ function validateHostProfile(value) {
42
43
  try {
43
44
  url = new URL(endpoint);
44
45
  } catch {
45
- throw profileError("endpoint must be an HTTP or HTTPS origin.");
46
+ throw profileError("endpoint must be an HTTP or HTTPS base URL.");
46
47
  }
47
- if (url.protocol !== "http:" && url.protocol !== "https:" || url.username || url.password || url.pathname !== "/" || url.search || url.hash) {
48
- throw profileError("endpoint must be an HTTP or HTTPS origin without credentials, path, query, or fragment.");
48
+ if (url.protocol !== "http:" && url.protocol !== "https:" || url.username || url.password || /[\s\\?#]/.test(endpoint) || url.search || url.hash) {
49
+ throw profileError("endpoint must be an HTTP or HTTPS base URL without credentials, query, or fragment.");
49
50
  }
50
- return { endpoint: url.origin, expectedInstanceId, credentialPath };
51
+ return { endpoint: normalizeDaemonEndpoint(endpoint), expectedInstanceId, credentialPath };
51
52
  }
52
53
  function readProfileObject(configPath) {
53
54
  let text;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ours.network/codex",
3
- "version": "1.2.0-nightly.5",
3
+ "version": "1.2.0-nightly.7",
4
4
  "description": "Native Codex plugin for secure ours.network messaging and explicitly armed, session-scoped live mail wake.",
5
5
  "type": "module",
6
6
  "license": "FSL-1.1-Apache-2.0",
@@ -46,10 +46,10 @@
46
46
  },
47
47
  "dependencies": {
48
48
  "@modelcontextprotocol/sdk": "^1.29.0",
49
- "@ours.network/sdk": "3.8.1-nightly.9",
49
+ "@ours.network/sdk": "3.8.1-nightly.11",
50
50
  "ws": "^8.21.0",
51
51
  "zod": "^3.25.76",
52
- "@ours.network/mcp": "1.2.0-nightly.5"
52
+ "@ours.network/mcp": "1.2.0-nightly.7"
53
53
  },
54
54
  "devDependencies": {
55
55
  "esbuild": "^0.24.2"