@xnetjs/plugins 2.5.0 → 3.0.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/README.md +5 -0
- package/dist/index.d.ts +7 -7
- package/dist/index.js +14 -13
- package/package.json +11 -11
package/README.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Plugin system for xNet -- registry, sandboxed script execution, AI-powered script generation, and service integrations.
|
|
4
4
|
|
|
5
|
+
> **Alpha software.** xNet is released but early: this package is on npm and
|
|
6
|
+
> usable today, but its API can change between releases, sometimes without a
|
|
7
|
+
> migration path. Pin your version. See the
|
|
8
|
+
> [project README](https://github.com/crs48/xNet#readme) for what alpha means here.
|
|
9
|
+
|
|
5
10
|
## Installation
|
|
6
11
|
|
|
7
12
|
```bash
|
package/dist/index.d.ts
CHANGED
|
@@ -1722,7 +1722,7 @@ declare function warnOnEditorSchemaRisks(pluginId: string, contributions: readon
|
|
|
1722
1722
|
*
|
|
1723
1723
|
* A Connector is xNet's answer to the agent-native CLI (Printing Press / OpenClaw):
|
|
1724
1724
|
* instead of giving the agent a credentialed shell, it syncs an external service
|
|
1725
|
-
* into governed
|
|
1725
|
+
* into governed xNet nodes and exposes agent-callable tools over them. It is a
|
|
1726
1726
|
* `FeatureModule` subtype that bundles three things:
|
|
1727
1727
|
*
|
|
1728
1728
|
* 1. a `capabilities` manifest — `secrets` (held by the hub broker, never the
|
|
@@ -3000,16 +3000,16 @@ declare function wrapCliConnector(options: WrapCliConnectorOptions): DefinedConn
|
|
|
3000
3000
|
/**
|
|
3001
3001
|
* @xnetjs/plugins — the Slack migration connector (exploration 0198).
|
|
3002
3002
|
*
|
|
3003
|
-
* "Switch from Slack to
|
|
3003
|
+
* "Switch from Slack to xNet and bring my data with me." This is the Half-1
|
|
3004
3004
|
* answer from exploration 0198: a {@link defineConnector} that pulls a Slack
|
|
3005
|
-
* workspace's channels and message history into
|
|
3005
|
+
* workspace's channels and message history into xNet's native `Channel` and
|
|
3006
3006
|
* `ChatMessage` nodes, through the guarded connector store (egress-contained to
|
|
3007
3007
|
* `slack.com`, space-stamped, budget-charged). The Slack token lives in the hub
|
|
3008
3008
|
* broker and never reaches the agent — it only ever sees the synced nodes.
|
|
3009
3009
|
*
|
|
3010
3010
|
* Message bodies are translated to GitHub-flavored markdown via
|
|
3011
3011
|
* `@xnetjs/slack-compat` (Block Kit first, then `mrkdwn`), so they render
|
|
3012
|
-
* natively in
|
|
3012
|
+
* natively in xNet chat. Pagination, DMs, files and reactions are deferred (see
|
|
3013
3013
|
* the exploration's checklist).
|
|
3014
3014
|
*/
|
|
3015
3015
|
|
|
@@ -5070,7 +5070,7 @@ type ManagedProviderOptions = AIProviderOptions & {
|
|
|
5070
5070
|
onBudget?: (snapshot: ManagedBudgetSnapshot) => void;
|
|
5071
5071
|
};
|
|
5072
5072
|
/**
|
|
5073
|
-
*
|
|
5073
|
+
* xNet Cloud **managed** AI provider (exploration 0208).
|
|
5074
5074
|
*
|
|
5075
5075
|
* Posts to the hub's `/ai/chat`, which forwards to the metered control-plane
|
|
5076
5076
|
* gateway (OpenRouter behind a per-tenant budgeted key). Unlike every other cloud
|
|
@@ -5084,7 +5084,7 @@ type ManagedProviderOptions = AIProviderOptions & {
|
|
|
5084
5084
|
* No `stream` method, so the runtime uses the request/response path.
|
|
5085
5085
|
*/
|
|
5086
5086
|
declare class ManagedProvider implements AIProvider {
|
|
5087
|
-
readonly name = "
|
|
5087
|
+
readonly name = "xNet Cloud";
|
|
5088
5088
|
private readonly baseUrl;
|
|
5089
5089
|
private readonly model?;
|
|
5090
5090
|
private readonly fetchImpl;
|
|
@@ -5544,7 +5544,7 @@ type WriteMode = 'agentic' | 'propose-only';
|
|
|
5544
5544
|
*/
|
|
5545
5545
|
interface ConnectorEnv {
|
|
5546
5546
|
/**
|
|
5547
|
-
* Probe
|
|
5547
|
+
* Probe xNet Cloud managed AI: GET `${managedUrl}/ai/health` is `ok` and the
|
|
5548
5548
|
* tenant has AI enabled. Default: a same-origin fetch (returns false off-cloud).
|
|
5549
5549
|
*/
|
|
5550
5550
|
probeManaged?: (baseUrl: string) => Promise<boolean>;
|
package/dist/index.js
CHANGED
|
@@ -623,7 +623,7 @@ function createPresetTree(preset) {
|
|
|
623
623
|
chrome: "pinned"
|
|
624
624
|
};
|
|
625
625
|
case "bench":
|
|
626
|
-
regions.rail = [
|
|
626
|
+
regions.rail = [];
|
|
627
627
|
regions.status = [place("status", "pinned", 0)];
|
|
628
628
|
regions["dock.left"] = [
|
|
629
629
|
place("explorer", "pinned", 0),
|
|
@@ -653,15 +653,16 @@ function createPresetTree(preset) {
|
|
|
653
653
|
var DEFAULT_WORKSPACE_ID = "workspace-default";
|
|
654
654
|
function createDefaultTree() {
|
|
655
655
|
const regions = emptyRegions();
|
|
656
|
-
regions.rail = [
|
|
656
|
+
regions.rail = [];
|
|
657
657
|
regions.status = [place("status", "pinned", 0)];
|
|
658
658
|
regions["dock.left"] = [
|
|
659
|
-
place("
|
|
660
|
-
place("
|
|
661
|
-
place("
|
|
662
|
-
place("
|
|
663
|
-
place("
|
|
664
|
-
place("
|
|
659
|
+
place("tree", "pinned", 0),
|
|
660
|
+
place("explorer", "summoned", 1),
|
|
661
|
+
place("chats", "summoned", 2),
|
|
662
|
+
place("tasks", "summoned", 3),
|
|
663
|
+
place("today", "summoned", 4),
|
|
664
|
+
place("data", "summoned", 5),
|
|
665
|
+
place("ai-chat", "summoned", 6)
|
|
665
666
|
];
|
|
666
667
|
regions["dock.right"] = [place("context", "summoned", 0)];
|
|
667
668
|
regions["dock.bottom"] = [
|
|
@@ -2528,7 +2529,7 @@ function searchTool(id, search) {
|
|
|
2528
2529
|
return {
|
|
2529
2530
|
id: `${id}.search`,
|
|
2530
2531
|
name: "slack_search_messages",
|
|
2531
|
-
description: "Search messages imported from Slack into
|
|
2532
|
+
description: "Search messages imported from Slack into xNet channels.",
|
|
2532
2533
|
inputSchema: {
|
|
2533
2534
|
type: "object",
|
|
2534
2535
|
properties: { query: { type: "string", description: "Full-text query." } },
|
|
@@ -2543,7 +2544,7 @@ function buildSlackConnector(options = {}) {
|
|
|
2543
2544
|
return defineConnector({
|
|
2544
2545
|
id,
|
|
2545
2546
|
name: "Slack",
|
|
2546
|
-
description: "Import Slack channels and message history into
|
|
2547
|
+
description: "Import Slack channels and message history into xNet.",
|
|
2547
2548
|
capabilities: {
|
|
2548
2549
|
secrets: ["SLACK_USER_TOKEN"],
|
|
2549
2550
|
schemaWrite: [CHANNEL_SCHEMA, CHAT_MESSAGE_SCHEMA],
|
|
@@ -11899,7 +11900,7 @@ var AiBudgetError = class extends Error {
|
|
|
11899
11900
|
}
|
|
11900
11901
|
};
|
|
11901
11902
|
var ManagedProvider = class {
|
|
11902
|
-
name = "
|
|
11903
|
+
name = "xNet Cloud";
|
|
11903
11904
|
baseUrl;
|
|
11904
11905
|
model;
|
|
11905
11906
|
fetchImpl;
|
|
@@ -13012,7 +13013,7 @@ var CONNECTOR_META = {
|
|
|
13012
13013
|
// Preferred when available: no key to paste, metered + budget-capped, switchable
|
|
13013
13014
|
// models — the managed path the rest of this exploration (0208) wires up.
|
|
13014
13015
|
managed: {
|
|
13015
|
-
label: "
|
|
13016
|
+
label: "xNet Cloud (managed, metered)",
|
|
13016
13017
|
toolCalling: "reliable",
|
|
13017
13018
|
preference: 0
|
|
13018
13019
|
},
|
|
@@ -13112,7 +13113,7 @@ async function detectConnectors(env = {}) {
|
|
|
13112
13113
|
{
|
|
13113
13114
|
tier: "managed",
|
|
13114
13115
|
available: managed,
|
|
13115
|
-
...managed ? {} : { setupHint: "Managed AI is available on
|
|
13116
|
+
...managed ? {} : { setupHint: "Managed AI is available on xNet Cloud plans with AI enabled." }
|
|
13116
13117
|
},
|
|
13117
13118
|
{
|
|
13118
13119
|
tier: "bridge",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xnetjs/plugins",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
"types": "./dist/index.d.ts",
|
|
12
12
|
"exports": {
|
|
13
13
|
".": {
|
|
14
|
-
"
|
|
15
|
-
"
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"import": "./dist/index.js"
|
|
16
16
|
},
|
|
17
17
|
"./node": {
|
|
18
|
-
"
|
|
19
|
-
"
|
|
18
|
+
"types": "./dist/services/node.d.ts",
|
|
19
|
+
"import": "./dist/services/node.js"
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
"files": [
|
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"acorn": "^8.15.0",
|
|
33
33
|
"yjs": "^13.6.24",
|
|
34
|
-
"@xnetjs/abuse": "
|
|
35
|
-
"@xnetjs/core": "
|
|
36
|
-
"@xnetjs/
|
|
37
|
-
"@xnetjs/
|
|
38
|
-
"@xnetjs/
|
|
34
|
+
"@xnetjs/abuse": "3.0.0",
|
|
35
|
+
"@xnetjs/core": "3.0.0",
|
|
36
|
+
"@xnetjs/trust": "0.0.3",
|
|
37
|
+
"@xnetjs/data": "3.0.0",
|
|
38
|
+
"@xnetjs/slack-compat": "0.0.3"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"react": "^18.0.0"
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"tsup": "^8.0.0",
|
|
48
48
|
"typescript": "^5.4.0",
|
|
49
49
|
"vitest": "^4.0.0",
|
|
50
|
-
"@xnetjs/licenses": "0.0.
|
|
50
|
+
"@xnetjs/licenses": "0.0.25"
|
|
51
51
|
},
|
|
52
52
|
"scripts": {
|
|
53
53
|
"build": "tsup",
|