@thenewlabs/entangle-serve 2.1.0 → 2.2.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.
- package/dist/capability.d.ts +32 -0
- package/dist/capability.d.ts.map +1 -1
- package/dist/capability.js +46 -0
- package/dist/capability.js.map +1 -1
- package/dist/index.js +31 -10
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/capability.d.ts
CHANGED
|
@@ -18,4 +18,36 @@ export declare function createCapability(options: {
|
|
|
18
18
|
export declare function parseCapabilityUrl(input: string): Promise<CapabilityInfo & {
|
|
19
19
|
relayOrigin?: string;
|
|
20
20
|
}>;
|
|
21
|
+
/**
|
|
22
|
+
* A full capability URL carries a `/cap/<id>` path and/or an `#S=<secret>`
|
|
23
|
+
* fragment (or the compact `<capId>#S=<secret>` form). A bare relay origin
|
|
24
|
+
* (`https://relay`) has neither and selects only the relay to mint on.
|
|
25
|
+
*/
|
|
26
|
+
export declare function looksLikeCapabilityUrl(input: string): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Decide the relay to register with and whether to pin a specific capability,
|
|
29
|
+
* from the (optional) positional URL and flags that `serve` accepts:
|
|
30
|
+
*
|
|
31
|
+
* serve https://relay -> mint fresh cap, relay = origin
|
|
32
|
+
* serve https://relay/cap/<capId>#S=<secret> -> pin that cap, relay = origin
|
|
33
|
+
* serve --capability <full-url> -> pin that cap (positional ignored for the cap)
|
|
34
|
+
* serve --server <url> -> force the relay regardless of the above
|
|
35
|
+
* serve -> mint fresh cap on the configured/default relay
|
|
36
|
+
*
|
|
37
|
+
* A full positional URL and a bare relay origin are disambiguated by
|
|
38
|
+
* {@link looksLikeCapabilityUrl}; a malformed cap URL surfaces the parse error
|
|
39
|
+
* rather than being silently treated as a bare relay.
|
|
40
|
+
*/
|
|
41
|
+
export declare function resolveServeTarget(opts: {
|
|
42
|
+
positionalUrl?: string | undefined;
|
|
43
|
+
capabilityFlag?: string | undefined;
|
|
44
|
+
serverFlag?: string | undefined;
|
|
45
|
+
envCapability?: string | undefined;
|
|
46
|
+
configRelayUrl?: string | undefined;
|
|
47
|
+
}): Promise<{
|
|
48
|
+
serverUrl: string;
|
|
49
|
+
pinnedCapability?: CapabilityInfo & {
|
|
50
|
+
relayOrigin?: string;
|
|
51
|
+
};
|
|
52
|
+
}>;
|
|
21
53
|
//# sourceMappingURL=capability.d.ts.map
|
package/dist/capability.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../src/capability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,cAAc,CAAC,CAgB1B;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,cAAc,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAwDpD"}
|
|
1
|
+
{"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../src/capability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,cAAc,CAAC,CAgB1B;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,cAAc,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAwDpD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7D;AAWD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,cAAc,GAAG;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,CAoB/F"}
|
package/dist/capability.js
CHANGED
|
@@ -72,4 +72,50 @@ export async function parseCapabilityUrl(input) {
|
|
|
72
72
|
...(relayOrigin !== undefined && { relayOrigin }),
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* A full capability URL carries a `/cap/<id>` path and/or an `#S=<secret>`
|
|
77
|
+
* fragment (or the compact `<capId>#S=<secret>` form). A bare relay origin
|
|
78
|
+
* (`https://relay`) has neither and selects only the relay to mint on.
|
|
79
|
+
*/
|
|
80
|
+
export function looksLikeCapabilityUrl(input) {
|
|
81
|
+
return input.includes('/cap/') || input.includes('#');
|
|
82
|
+
}
|
|
83
|
+
/** Reduce a URL to its origin (`https://host[:port]`), tolerating trailing paths. */
|
|
84
|
+
function normalizeOrigin(input) {
|
|
85
|
+
try {
|
|
86
|
+
return new URL(input).origin;
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return input;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Decide the relay to register with and whether to pin a specific capability,
|
|
94
|
+
* from the (optional) positional URL and flags that `serve` accepts:
|
|
95
|
+
*
|
|
96
|
+
* serve https://relay -> mint fresh cap, relay = origin
|
|
97
|
+
* serve https://relay/cap/<capId>#S=<secret> -> pin that cap, relay = origin
|
|
98
|
+
* serve --capability <full-url> -> pin that cap (positional ignored for the cap)
|
|
99
|
+
* serve --server <url> -> force the relay regardless of the above
|
|
100
|
+
* serve -> mint fresh cap on the configured/default relay
|
|
101
|
+
*
|
|
102
|
+
* A full positional URL and a bare relay origin are disambiguated by
|
|
103
|
+
* {@link looksLikeCapabilityUrl}; a malformed cap URL surfaces the parse error
|
|
104
|
+
* rather than being silently treated as a bare relay.
|
|
105
|
+
*/
|
|
106
|
+
export async function resolveServeTarget(opts) {
|
|
107
|
+
const { positionalUrl, capabilityFlag, serverFlag, envCapability, configRelayUrl } = opts;
|
|
108
|
+
const positionalIsCap = !!positionalUrl && looksLikeCapabilityUrl(positionalUrl);
|
|
109
|
+
const capUrl = capabilityFlag || (positionalIsCap ? positionalUrl : undefined) || envCapability;
|
|
110
|
+
const pinned = capUrl ? await parseCapabilityUrl(capUrl) : undefined;
|
|
111
|
+
// A bare positional origin (not a cap URL) selects only the relay; a fresh
|
|
112
|
+
// capability gets minted downstream.
|
|
113
|
+
const relayFromPositional = !positionalIsCap && positionalUrl ? normalizeOrigin(positionalUrl) : undefined;
|
|
114
|
+
const serverUrl = serverFlag ||
|
|
115
|
+
pinned?.relayOrigin ||
|
|
116
|
+
relayFromPositional ||
|
|
117
|
+
configRelayUrl ||
|
|
118
|
+
'http://localhost:8080';
|
|
119
|
+
return pinned ? { serverUrl, pinnedCapability: pinned } : { serverUrl };
|
|
120
|
+
}
|
|
75
121
|
//# sourceMappingURL=capability.js.map
|
package/dist/capability.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../src/capability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAS9G,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAGtC;IACC,MAAM,UAAU,EAAE,CAAC;IAEnB,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,CAAC;IAClC,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC;IAE3B,MAAM,MAAM,GAAW;QACrB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;QACrC,UAAU,EAAE,CAAC,EAAE,sDAAsD;KACtE,CAAC;IAEF,OAAO;QACL,KAAK;QACL,CAAC;QACD,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAa;IAEb,MAAM,UAAU,EAAE,CAAC;IAEnB,IAAI,KAAyB,CAAC;IAC9B,IAAI,QAA4B,CAAC;IACjC,IAAI,WAA+B,CAAC;IAEpC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,QAAQ,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnE,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,iBAAiB;QACjB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3B,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YACzB,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACpD,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kDAAkD;QACpD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,wDAAwD;QACxD,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,GAAG,UAAU,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IAAI,MAA0B,CAAC;IAC/B,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,CAAC;QACH,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED,OAAO;QACL,KAAK;QACL,CAAC,EAAE,MAAM;QACT,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;QAC3C,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;KAClD,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../src/capability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAS9G,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAGtC;IACC,MAAM,UAAU,EAAE,CAAC;IAEnB,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,CAAC;IAClC,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC;IAE3B,MAAM,MAAM,GAAW;QACrB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;QACrC,UAAU,EAAE,CAAC,EAAE,sDAAsD;KACtE,CAAC;IAEF,OAAO;QACL,KAAK;QACL,CAAC;QACD,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAa;IAEb,MAAM,UAAU,EAAE,CAAC;IAEnB,IAAI,KAAyB,CAAC;IAC9B,IAAI,QAA4B,CAAC;IACjC,IAAI,WAA+B,CAAC;IAEpC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,QAAQ,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnE,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,iBAAiB;QACjB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3B,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YACzB,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACpD,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kDAAkD;QACpD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,wDAAwD;QACxD,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,GAAG,UAAU,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IAAI,MAA0B,CAAC;IAC/B,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,CAAC;QACH,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED,OAAO;QACL,KAAK;QACL,CAAC,EAAE,MAAM;QACT,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;QAC3C,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;KAClD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,qFAAqF;AACrF,SAAS,eAAe,CAAC,KAAa;IACpC,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAMxC;IACC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAE1F,MAAM,eAAe,GAAG,CAAC,CAAC,aAAa,IAAI,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,cAAc,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC;IAChG,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAErE,2EAA2E;IAC3E,qCAAqC;IACrC,MAAM,mBAAmB,GACvB,CAAC,eAAe,IAAI,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjF,MAAM,SAAS,GACb,UAAU;QACV,MAAM,EAAE,WAAW;QACnB,mBAAmB;QACnB,cAAc;QACd,uBAAuB,CAAC;IAE1B,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;AAC1E,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { Command } from 'commander';
|
|
3
3
|
import { getConfig, getVersionInfo, OutputHandler, parseOutputMode } from '@thenewlabs/entangle-utils';
|
|
4
4
|
import { startAgent } from './agent.js';
|
|
5
|
-
import { createCapability,
|
|
5
|
+
import { createCapability, resolveServeTarget } from './capability.js';
|
|
6
6
|
const program = new Command();
|
|
7
7
|
program
|
|
8
8
|
.name('entangle-serve')
|
|
@@ -10,12 +10,17 @@ program
|
|
|
10
10
|
.version(getVersionInfo())
|
|
11
11
|
.option('--output-mode <mode>', 'Output mode: text or stream-json', 'text');
|
|
12
12
|
program
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
// Default command: `entangle serve [url]` runs the agent without needing an
|
|
14
|
+
// explicit `start`. The positional URL is either a bare relay origin
|
|
15
|
+
// (mint a fresh capability there) or a full capability URL (serve that exact
|
|
16
|
+
// capability); flags still work and take precedence over the positional.
|
|
17
|
+
.command('start', { isDefault: true })
|
|
18
|
+
.description('Start the agent (mint a fresh capability or serve a pinned one) and register with the relay')
|
|
19
|
+
.argument('[url]', 'Relay origin (https://relay) to mint a fresh capability on, or a full capability URL (https://relay/cap/<capId>#S=<secret>) to serve that exact capability')
|
|
20
|
+
.option('--server <url>', 'Relay server URL (overrides the origin of the positional URL)')
|
|
16
21
|
.option('--password <password>', 'Optional password for agent authentication')
|
|
17
22
|
.option('--capability <url>', 'Serve a specific capability URL (https://relay/cap/<capId>#S=<secret>) instead of minting a fresh ephemeral one; its host is also used as the relay server')
|
|
18
|
-
.action(async (options) => {
|
|
23
|
+
.action(async (url, options) => {
|
|
19
24
|
try {
|
|
20
25
|
// Propagate output mode to all loggers in this process
|
|
21
26
|
process.env.OUTPUT_MODE = program.opts().outputMode;
|
|
@@ -23,15 +28,18 @@ program
|
|
|
23
28
|
const output = new OutputHandler({ mode: outputMode });
|
|
24
29
|
output.version('Entangle Agent', getVersionInfo());
|
|
25
30
|
const config = getConfig();
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
31
|
+
const { serverUrl, pinnedCapability } = await resolveServeTarget({
|
|
32
|
+
positionalUrl: url,
|
|
33
|
+
capabilityFlag: options.capability,
|
|
34
|
+
serverFlag: options.server,
|
|
35
|
+
envCapability: process.env.ENTANGLE_CAPABILITY,
|
|
36
|
+
configRelayUrl: config.relayUrl,
|
|
37
|
+
});
|
|
30
38
|
await startAgent({
|
|
31
39
|
serverUrl,
|
|
32
40
|
outputMode: program.opts().outputMode,
|
|
33
41
|
password: options.password || process.env.AGENT_PASSWORD,
|
|
34
|
-
...(
|
|
42
|
+
...(pinnedCapability && { pinnedCapability }),
|
|
35
43
|
});
|
|
36
44
|
}
|
|
37
45
|
catch (error) {
|
|
@@ -69,5 +77,18 @@ program
|
|
|
69
77
|
process.exit(1);
|
|
70
78
|
}
|
|
71
79
|
});
|
|
80
|
+
program.addHelpText('after', `
|
|
81
|
+
Examples:
|
|
82
|
+
# Mint a fresh capability and serve it on a relay
|
|
83
|
+
entangle serve https://entangle.thenewlabs.com
|
|
84
|
+
|
|
85
|
+
# Serve a specific capability (its origin is used as the relay)
|
|
86
|
+
entangle serve https://entangle.thenewlabs.com/cap/<capId>#S=<secret>
|
|
87
|
+
|
|
88
|
+
# Mint on the configured/default relay
|
|
89
|
+
entangle serve
|
|
90
|
+
|
|
91
|
+
# Just create a capability without starting the agent
|
|
92
|
+
entangle serve create-cap`);
|
|
72
93
|
program.parse();
|
|
73
94
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACvG,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,gBAAgB,CAAC;KACtB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,OAAO,CAAC,cAAc,EAAE,CAAC;KACzB,MAAM,CAAC,sBAAsB,EAAE,kCAAkC,EAAE,MAAM,CAAC,CAAC;AAE9E,OAAO;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thenewlabs/entangle-serve",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@homebridge/node-pty-prebuilt-multiarch": "^0.13.1",
|
|
20
|
-
"@thenewlabs/entangle-crypto": "^2.
|
|
21
|
-
"@thenewlabs/entangle-protocol": "^2.
|
|
22
|
-
"@thenewlabs/entangle-utils": "^2.
|
|
20
|
+
"@thenewlabs/entangle-crypto": "^2.2.0",
|
|
21
|
+
"@thenewlabs/entangle-protocol": "^2.2.0",
|
|
22
|
+
"@thenewlabs/entangle-utils": "^2.2.0",
|
|
23
23
|
"cborg": "^4.5.8",
|
|
24
24
|
"commander": "^15.0.0",
|
|
25
25
|
"ws": "^8.21.0"
|