@assemblyline-agents/mirror 5.0.10 → 6.0.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 +10 -29
- package/ai.assemblyline/connections/mirror.json +87 -0
- package/ai.assemblyline/index.cjs +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/package.json +5 -3
- package/plugin.json +11 -0
package/README.md
CHANGED
|
@@ -47,16 +47,9 @@ the connection's configured URL. Credential exchange requires HTTPS, except
|
|
|
47
47
|
for loopback development. OAuth remains available as an alternative account
|
|
48
48
|
authorization path.
|
|
49
49
|
|
|
50
|
-
The
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
should pause for Assembly Line approval:
|
|
54
|
-
|
|
55
|
-
```ts
|
|
56
|
-
import { defineMirrorConnection } from "@assemblyline-agents/mirror";
|
|
57
|
-
|
|
58
|
-
export default defineMirrorConnection({ access: "approval-required" });
|
|
59
|
-
```
|
|
50
|
+
The selected plugin exposes every reviewed Mirror tool. Gate or remove named
|
|
51
|
+
actions through `plugins.mirror.connections.mirror.approval` or `disable` in
|
|
52
|
+
`agent.md`.
|
|
60
53
|
|
|
61
54
|
Mirror still enforces its own account grants and exact-action approval system.
|
|
62
55
|
When configured, Assembly Line approval is an additional outer gate.
|
|
@@ -71,15 +64,9 @@ request shape synchronized with Mirror's reviewed action contract.
|
|
|
71
64
|
|
|
72
65
|
Mirror event delivery uses the connection's existing binding grant. No separate
|
|
73
66
|
automation token or signing-secret environment variable is required. Assembly
|
|
74
|
-
Line registers and verifies the callback endpoint for its own Mirror binding
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
import { defineMirrorConnection } from "@assemblyline-agents/mirror";
|
|
78
|
-
|
|
79
|
-
export default defineMirrorConnection({
|
|
80
|
-
events: {}
|
|
81
|
-
});
|
|
82
|
-
```
|
|
67
|
+
Line registers and verifies the callback endpoint for its own Mirror binding.
|
|
68
|
+
Set `plugins.mirror.connections.mirror.events: false` only when the agent must
|
|
69
|
+
not receive Mirror events.
|
|
83
70
|
|
|
84
71
|
Connection-level event scope stays in Mirror. From the binding's Events section,
|
|
85
72
|
the user chooses exactly which granted, event-capable provider connections may
|
|
@@ -88,16 +75,10 @@ disables those subscriptions.
|
|
|
88
75
|
|
|
89
76
|
## Optional Mirror CLI
|
|
90
77
|
|
|
91
|
-
The MCP connection is the default and works without a CLI.
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
```ts
|
|
96
|
-
export default defineMirrorConnection({
|
|
97
|
-
materializeCli: true,
|
|
98
|
-
access: "read-only"
|
|
99
|
-
});
|
|
100
|
-
```
|
|
78
|
+
The MCP connection is the default and works without a CLI. CLI credential
|
|
79
|
+
projection is executable plugin policy, not an `agent.md` option. A developer
|
|
80
|
+
who needs it must implement a reviewed local plugin around this package's
|
|
81
|
+
TypeScript API.
|
|
101
82
|
|
|
102
83
|
Assembly Line writes
|
|
103
84
|
`/workspace/.assembly-line/credentials/mirror/config.json` with mode `0600`.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{
|
|
2
|
+
"kind": "mirror",
|
|
3
|
+
"role": "connection",
|
|
4
|
+
"packageName": "@assemblyline-agents/mirror",
|
|
5
|
+
"helper": "defineMirrorConnection",
|
|
6
|
+
"protocol": "mcp",
|
|
7
|
+
"transport": "http",
|
|
8
|
+
"provider": "mirror",
|
|
9
|
+
"description": "User-scoped connected accounts, mirrored source records, live reads, and approval-gated actions through Mirror.",
|
|
10
|
+
"defaultUrl": "https://mirror.artificialillumination.co/mcp",
|
|
11
|
+
"urlEnv": "MIRROR_MCP_URL",
|
|
12
|
+
"capabilities": [
|
|
13
|
+
"mcp",
|
|
14
|
+
"oauth",
|
|
15
|
+
"pkce",
|
|
16
|
+
"live-tools",
|
|
17
|
+
"streamable-http",
|
|
18
|
+
"connected-accounts",
|
|
19
|
+
"approval-gated-writes"
|
|
20
|
+
],
|
|
21
|
+
"scopes": [],
|
|
22
|
+
"subject": "user",
|
|
23
|
+
"tools": {
|
|
24
|
+
"allow": [
|
|
25
|
+
"mirror.connected_providers",
|
|
26
|
+
"mirror.connected_provider_call",
|
|
27
|
+
"mirror.create_connections_link",
|
|
28
|
+
"mirror.query_records",
|
|
29
|
+
"mirror.list_changes",
|
|
30
|
+
"mirror.get_source",
|
|
31
|
+
"mirror.live_read",
|
|
32
|
+
"mirror.sync_now",
|
|
33
|
+
"mirror.request_action",
|
|
34
|
+
"mirror.get_pending_approvals",
|
|
35
|
+
"mirror.get_skill",
|
|
36
|
+
"mirror.approve_code",
|
|
37
|
+
"mirror.agentcash_wallet_export",
|
|
38
|
+
"mirror.register_agent",
|
|
39
|
+
"mirror.whoami"
|
|
40
|
+
]
|
|
41
|
+
},
|
|
42
|
+
"readToolPatterns": [
|
|
43
|
+
"mirror.connected_providers",
|
|
44
|
+
"mirror.query_records",
|
|
45
|
+
"mirror.list_changes",
|
|
46
|
+
"mirror.get_source",
|
|
47
|
+
"mirror.live_read",
|
|
48
|
+
"mirror.get_pending_approvals",
|
|
49
|
+
"mirror.get_skill",
|
|
50
|
+
"mirror.whoami"
|
|
51
|
+
],
|
|
52
|
+
"writeToolPatterns": [
|
|
53
|
+
"mirror.connected_provider_call",
|
|
54
|
+
"mirror.create_connections_link",
|
|
55
|
+
"mirror.sync_now",
|
|
56
|
+
"mirror.request_action",
|
|
57
|
+
"mirror.approve_code",
|
|
58
|
+
"mirror.agentcash_wallet_export",
|
|
59
|
+
"mirror.register_agent"
|
|
60
|
+
],
|
|
61
|
+
"eventCatalog": [
|
|
62
|
+
"source.changed"
|
|
63
|
+
],
|
|
64
|
+
"defaultEvents": [
|
|
65
|
+
"source.changed"
|
|
66
|
+
],
|
|
67
|
+
"eventMode": "api",
|
|
68
|
+
"eventScope": "principal",
|
|
69
|
+
"setup": [
|
|
70
|
+
{
|
|
71
|
+
"kind": "connection",
|
|
72
|
+
"name": "mirror-oauth-configuration",
|
|
73
|
+
"required": true,
|
|
74
|
+
"message": "Choose a stable public client id for this agent, set MIRROR_OAUTH_CLIENT_ID, and deploy with a reachable Assembly Line connection callback URL. Mirror uses OAuth Authorization Code + PKCE and stores provider credentials behind the user's Mirror account."
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"requiredConfig": [
|
|
78
|
+
"MIRROR_OAUTH_CLIENT_ID"
|
|
79
|
+
],
|
|
80
|
+
"optionalConfig": [
|
|
81
|
+
"MIRROR_MCP_URL",
|
|
82
|
+
"MIRROR_OAUTH_ISSUER",
|
|
83
|
+
"MIRROR_OAUTH_REDIRECT_URI"
|
|
84
|
+
],
|
|
85
|
+
"requiredCredentials": [],
|
|
86
|
+
"optionalCredentials": []
|
|
87
|
+
}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAChC,MAAM,2BAA2B,CAAC;AAMnC,MAAM,WAAW,+BAA+B;IAC9C,gGAAgG;IAChG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CAAC,0BAA0B,EAAE,MAAM,CAAC;IACvF,IAAI,CAAC,EAAE,wBAAwB,GAAG,KAAK,CAAC;IACxC,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,+BAA+B,CAAC;CAC5D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB;sBA2B3C,wBAAwB;;EAyCnD;AAED,eAAO,MAAM,kBAAkB,kDAA0C,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import connectionContract_mirror from "../ai.assemblyline/connections/mirror.json" with { type: "json" };
|
|
2
|
+
import { defineConnectionPluginEvents, defineMcpPluginConnection, defineOAuthAuthorization, definePlugin } from "@assemblyline-agents/core";
|
|
2
3
|
import { createMirrorPairingRedeemer } from "./pairing.js";
|
|
3
4
|
import { createMirrorEvents } from "./events.js";
|
|
4
|
-
const PLUGIN =
|
|
5
|
+
const PLUGIN = connectionContract_mirror;
|
|
5
6
|
export function defineMirrorConnection(options) {
|
|
6
7
|
const { auth, clientId, issuer, redirectUri, materializeCli, ...connection } = options;
|
|
7
8
|
const factory = defineMcpPluginConnection(PLUGIN, {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
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": "@assemblyline-agents/mirror",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -9,11 +9,13 @@
|
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@assemblyline-agents/core": "
|
|
12
|
+
"@assemblyline-agents/core": "6.0.1"
|
|
13
13
|
},
|
|
14
14
|
"description": "Official Assembly Line connection plugin for user-scoped Mirror accounts.",
|
|
15
15
|
"files": [
|
|
16
|
-
"dist"
|
|
16
|
+
"dist",
|
|
17
|
+
"plugin.json",
|
|
18
|
+
"ai.assemblyline"
|
|
17
19
|
],
|
|
18
20
|
"engines": {
|
|
19
21
|
"node": ">=22.19.0"
|
package/plugin.json
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
|
+
"name": "mirror",
|
|
4
|
+
"version": "6.0.1",
|
|
5
|
+
"description": "User-scoped connected accounts and mirrored source records.",
|
|
6
|
+
"extensions": {
|
|
7
|
+
"ai.assemblyline": {
|
|
8
|
+
"entry": "./ai.assemblyline/index.cjs"
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|