@assemblyline-agents/mirror 2.0.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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 OpenEve contributors
3
+ Copyright (c) 2026 Assembly Line contributors
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -32,34 +32,59 @@ assembly-line add mirror agent
32
32
 
33
33
  For least-privilege setup, create an agent binding in Mirror's Agents UI,
34
34
  choose the exact provider accounts it may reach, and paste the generated
35
- binding packet into the agent's chat. Assembly Line advertises a host-side
36
- `mirror__pair` connection tool while Mirror is unauthorized. The tool sends
37
- the packet's one-time claim secret only to the configured Mirror deployment,
38
- stores the returned access and refresh tokens in the connection grant store,
39
- and keeps the durable credentials out of the model and sandbox.
35
+ binding packet into the agent's chat. The core `pair` tool is exposed by
36
+ default whenever the agent has a live connection, and Assembly Line also
37
+ advertises a host-side `mirror__pair` connection tool through discovery while
38
+ Mirror is unauthorized. Either tool sends the packet's one-time claim secret
39
+ only to the configured Mirror deployment, stores the returned access and
40
+ refresh tokens in the connection grant store, and keeps the durable
41
+ credentials out of the model and sandbox. If the Mirror definition cannot
42
+ resolve on the runtime host (for example a missing package or unset env),
43
+ `pair` reports that cause instead of disappearing.
40
44
 
41
45
  The packet's API origin must match `MIRROR_OAUTH_ISSUER`, `MIRROR_MCP_URL`, or
42
46
  the connection's configured URL. Credential exchange requires HTTPS, except
43
47
  for loopback development. OAuth remains available as an alternative account
44
48
  authorization path.
45
49
 
46
- The generated connection exposes Mirror reads and hides all write-like tools.
47
- To permit approval creation, syncs, connection links, registration, or other
48
- mutations, opt in with an Assembly Line approval policy:
50
+ The generated connection exposes every reviewed Mirror tool without requiring
51
+ an Assembly Line approval surface. Set `access: "approval-required"` if
52
+ approval creation, syncs, connection links, registration, and other mutations
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
+ ```
60
+
61
+ Mirror still enforces its own account grants and exact-action approval system.
62
+ When configured, Assembly Line approval is an additional outer gate.
63
+
64
+ The connection includes Mirror's read-only `mirror.get_skill` discovery tool.
65
+ This returns Mirror's live, versioned action contract; it is not a local
66
+ Assembly Line skill. Before requesting a provider mutation, pass its returned
67
+ version and content hash to `mirror.request_action`. This keeps the agent's
68
+ request shape synchronized with Mirror's reviewed action contract.
69
+
70
+ ## Connection events
71
+
72
+ Mirror event delivery uses the connection's existing binding grant. No separate
73
+ automation token or signing-secret environment variable is required. Assembly
74
+ Line registers and verifies the callback endpoint for its own Mirror binding:
49
75
 
50
76
  ```ts
51
77
  import { defineMirrorConnection } from "@assemblyline-agents/mirror";
52
78
 
53
79
  export default defineMirrorConnection({
54
- access: {
55
- read: true,
56
- write: { approval: "always" }
57
- }
80
+ events: {}
58
81
  });
59
82
  ```
60
83
 
61
- Mirror still enforces its own account grants and exact-action approval system;
62
- Assembly Line's approval is an additional outer gate.
84
+ Connection-level event scope stays in Mirror. From the binding's Events section,
85
+ the user chooses exactly which granted, event-capable provider connections may
86
+ send source changes to the agent. The Assembly Line plugin never enables or
87
+ disables those subscriptions.
63
88
 
64
89
  ## Optional Mirror CLI
65
90
 
@@ -70,10 +95,13 @@ profile:
70
95
  ```ts
71
96
  export default defineMirrorConnection({
72
97
  materializeCli: true,
73
- access: { read: true, write: false }
98
+ access: "read-only"
74
99
  });
75
100
  ```
76
101
 
77
- Assembly Line writes `/root/.mirror/config.json` with mode `0600`. Only the current
78
- access token is projected. The rotating refresh token stays in the host-side
79
- grant store and is never written into the sandbox.
102
+ Assembly Line writes
103
+ `/workspace/.assembly-line/credentials/mirror/config.json` with mode `0600`.
104
+ Set `MIRROR_HOME=/workspace/.assembly-line/credentials/mirror` for Mirror CLI
105
+ commands. The reserved directory is excluded from workspace versions. Only the
106
+ current access token is projected; the rotating refresh token stays in the
107
+ host-side grant store.
@@ -0,0 +1,3 @@
1
+ import { type ConnectionPluginEventAdapter } from "@assemblyline-agents/core";
2
+ export declare function createMirrorEvents(configuredOrigin?: string): ConnectionPluginEventAdapter;
3
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,4BAA4B,EAElC,MAAM,2BAA2B,CAAC;AAcnC,wBAAgB,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,4BAA4B,CAsG1F"}
package/dist/events.js ADDED
@@ -0,0 +1,156 @@
1
+ import { ConnectionEventError, headerValue, parseConnectionEventJson, stringField, verifyHmacSha256 } from "@assemblyline-agents/core";
2
+ const DEFAULT_ORIGIN = "https://mirror.artificialillumination.co";
3
+ const SOURCE_EVENTS = new Set([
4
+ "mirror.source.created",
5
+ "mirror.source.updated",
6
+ "mirror.source.deleted"
7
+ ]);
8
+ export function createMirrorEvents(configuredOrigin) {
9
+ return {
10
+ async reconcile(context) {
11
+ const grant = await context.getToken();
12
+ const identity = mirrorIdentity(grant.credential);
13
+ const baseUrl = mirrorOrigin(configuredOrigin, context.env);
14
+ const endpointUrl = bindingEventUrl(baseUrl, identity, "event-endpoint");
15
+ let state = currentEndpointState(context.state, context.callbackUrl, identity, baseUrl);
16
+ if (!state) {
17
+ const value = await request(context.fetch, endpointUrl, grant.token, {
18
+ method: "PUT",
19
+ body: JSON.stringify({ endpointUrl: context.callbackUrl })
20
+ });
21
+ const signingSecret = stringField(value, "signingSecret");
22
+ if (!signingSecret)
23
+ throw new Error("Mirror event endpoint response omitted signingSecret.");
24
+ state = {
25
+ ...identity,
26
+ baseUrl,
27
+ callbackUrl: context.callbackUrl,
28
+ signingSecret,
29
+ verified: false
30
+ };
31
+ await context.checkpoint(state);
32
+ }
33
+ await request(context.fetch, `${endpointUrl}/verify`, grant.token, {
34
+ method: "POST",
35
+ body: "{}"
36
+ });
37
+ const activeState = { ...state, verified: true };
38
+ return {
39
+ status: "active",
40
+ externalId: identity.bindingId,
41
+ state: activeState,
42
+ detail: "Mirror event endpoint is verified. Connection-level event scope is managed in Mirror."
43
+ };
44
+ },
45
+ async remove(context) {
46
+ const grant = await context.getToken();
47
+ const identity = mirrorIdentity(grant.credential);
48
+ const baseUrl = stateOrigin(context.state) ?? mirrorOrigin(configuredOrigin, context.env);
49
+ await request(context.fetch, bindingEventUrl(baseUrl, identity, "event-endpoint"), grant.token, { method: "DELETE" }, [200, 204, 404]);
50
+ },
51
+ ingress(request, context) {
52
+ const timestamp = headerValue(request.headers, "x-mirror-timestamp");
53
+ const deliveryId = headerValue(request.headers, "x-mirror-delivery-id");
54
+ const signature = headerValue(request.headers, "x-mirror-signature");
55
+ const timestampSeconds = Number(timestamp);
56
+ if (!timestamp ||
57
+ !deliveryId ||
58
+ !Number.isFinite(timestampSeconds) ||
59
+ Math.abs(Date.now() / 1_000 - timestampSeconds) > 300) {
60
+ throw new ConnectionEventError("Mirror event timestamp is invalid.", 401);
61
+ }
62
+ const secret = stringField(context.state ?? {}, "signingSecret");
63
+ if (!secret || !verifyHmacSha256({
64
+ secret,
65
+ body: `${timestamp}.${deliveryId}.${request.body}`,
66
+ signature,
67
+ prefix: "v1="
68
+ })) {
69
+ throw new ConnectionEventError("Mirror event signature is invalid.", 401);
70
+ }
71
+ const payload = parseConnectionEventJson(request.body);
72
+ const mirrorEvent = stringField(payload, "type");
73
+ if (mirrorEvent === "mirror.event.verify") {
74
+ const challenge = stringField(payload, "challenge");
75
+ if (!challenge)
76
+ throw new ConnectionEventError("Mirror event challenge is missing.");
77
+ return {
78
+ events: [],
79
+ response: { status: 200, body: { challenge } },
80
+ audit: { challenge: true }
81
+ };
82
+ }
83
+ if (!mirrorEvent || !SOURCE_EVENTS.has(mirrorEvent)) {
84
+ throw new ConnectionEventError("Mirror event type is unsupported.");
85
+ }
86
+ const occurredAt = stringField(payload, "occurredAt");
87
+ return {
88
+ events: [{
89
+ event: "source.changed",
90
+ eventId: deliveryId,
91
+ payload: payload,
92
+ ...(occurredAt ? { occurredAt } : {})
93
+ }],
94
+ response: { status: 200, body: { ok: true } },
95
+ audit: { event: "source.changed", mirrorEvent }
96
+ };
97
+ }
98
+ };
99
+ }
100
+ function mirrorIdentity(value) {
101
+ const userId = value && stringField(value, "mirror_user_id");
102
+ const bindingId = value && stringField(value, "mirror_binding_id");
103
+ if (!userId || !bindingId) {
104
+ throw new Error("Mirror event setup requires mirror_user_id and mirror_binding_id in the connection grant.");
105
+ }
106
+ return { userId, bindingId };
107
+ }
108
+ function mirrorOrigin(configuredOrigin, env) {
109
+ const value = configuredOrigin?.trim()
110
+ || env.MIRROR_OAUTH_ISSUER?.trim()
111
+ || env.MIRROR_MCP_URL?.trim()
112
+ || DEFAULT_ORIGIN;
113
+ return new URL(value).origin;
114
+ }
115
+ function stateOrigin(state) {
116
+ const value = stringField(state ?? {}, "baseUrl");
117
+ return value ? new URL(value).origin : undefined;
118
+ }
119
+ function currentEndpointState(state, callbackUrl, identity, baseUrl) {
120
+ if (stringField(state ?? {}, "callbackUrl") !== callbackUrl ||
121
+ stringField(state ?? {}, "userId") !== identity.userId ||
122
+ stringField(state ?? {}, "bindingId") !== identity.bindingId ||
123
+ stateOrigin(state) !== baseUrl ||
124
+ !stringField(state ?? {}, "signingSecret")) {
125
+ return undefined;
126
+ }
127
+ return state;
128
+ }
129
+ function bindingEventUrl(baseUrl, identity, route) {
130
+ return `${baseUrl}/api/users/${encodeURIComponent(identity.userId)}/agent-bindings/${encodeURIComponent(identity.bindingId)}/${route}`;
131
+ }
132
+ async function request(fetchImpl, url, token, init, accepted = [200, 201, 202, 204]) {
133
+ const response = await fetchImpl(url, {
134
+ ...init,
135
+ headers: {
136
+ accept: "application/json",
137
+ authorization: `Bearer ${token}`,
138
+ "content-type": "application/json"
139
+ }
140
+ });
141
+ const text = await response.text();
142
+ let value = {};
143
+ try {
144
+ value = text ? JSON.parse(text) : {};
145
+ }
146
+ catch {
147
+ value = {};
148
+ }
149
+ if (!accepted.includes(response.status)) {
150
+ throw new Error(`Mirror event API returned HTTP ${response.status}${text ? `: ${text}` : ""}.`);
151
+ }
152
+ return value && typeof value === "object" && !Array.isArray(value)
153
+ ? value
154
+ : {};
155
+ }
156
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,wBAAwB,EACxB,WAAW,EACX,gBAAgB,EAGjB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,cAAc,GAAG,0CAA0C,CAAC;AAClE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,uBAAuB;IACvB,uBAAuB;IACvB,uBAAuB;CACxB,CAAC,CAAC;AAOH,MAAM,UAAU,kBAAkB,CAAC,gBAAyB;IAC1D,OAAO;QACL,KAAK,CAAC,SAAS,CAAC,OAAO;YACrB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YACzE,IAAI,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAExF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE;oBACnE,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;iBAC3D,CAAC,CAAC;gBACH,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;gBAC1D,IAAI,CAAC,aAAa;oBAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;gBAC7F,KAAK,GAAG;oBACN,GAAG,QAAQ;oBACX,OAAO;oBACP,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,aAAa;oBACb,QAAQ,EAAE,KAAK;iBAChB,CAAC;gBACF,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,WAAW,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE;gBACjE,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;YACH,MAAM,WAAW,GAAe,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC7D,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE,QAAQ,CAAC,SAAS;gBAC9B,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,uFAAuF;aAChG,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,OAAO;YAClB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1F,MAAM,OAAO,CACX,OAAO,CAAC,KAAK,EACb,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,CAAC,EACpD,KAAK,CAAC,KAAK,EACX,EAAE,MAAM,EAAE,QAAQ,EAAE,EACpB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAChB,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,OAAO,EAAE,OAAO;YACtB,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YACrE,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;YACxE,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YACrE,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3C,IACE,CAAC,SAAS;gBACV,CAAC,UAAU;gBACX,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,gBAAgB,CAAC,GAAG,GAAG,EACrD,CAAC;gBACD,MAAM,IAAI,oBAAoB,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;YAC5E,CAAC;YACD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,eAAe,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC;gBAC/B,MAAM;gBACN,IAAI,EAAE,GAAG,SAAS,IAAI,UAAU,IAAI,OAAO,CAAC,IAAI,EAAE;gBAClD,SAAS;gBACT,MAAM,EAAE,KAAK;aACd,CAAC,EAAE,CAAC;gBACH,MAAM,IAAI,oBAAoB,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,OAAO,GAAG,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACjD,IAAI,WAAW,KAAK,qBAAqB,EAAE,CAAC;gBAC1C,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBACpD,IAAI,CAAC,SAAS;oBAAE,MAAM,IAAI,oBAAoB,CAAC,oCAAoC,CAAC,CAAC;gBACrF,OAAO;oBACL,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE;oBAC9C,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;iBAC3B,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,oBAAoB,CAAC,mCAAmC,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACtD,OAAO;gBACL,MAAM,EAAE,CAAC;wBACP,KAAK,EAAE,gBAAgB;wBACvB,OAAO,EAAE,UAAU;wBACnB,OAAO,EAAE,OAAqB;wBAC9B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACtC,CAAC;gBACF,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;gBAC7C,KAAK,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE;aAChD,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAA6B;IACnD,MAAM,MAAM,GAAG,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IACnE,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;IAC/G,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,YAAY,CAAC,gBAAoC,EAAE,GAAuC;IACjG,MAAM,KAAK,GAAG,gBAAgB,EAAE,IAAI,EAAE;WACjC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE;WAC/B,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE;WAC1B,cAAc,CAAC;IACpB,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;AAC/B,CAAC;AAED,SAAS,WAAW,CAAC,KAA6B;IAChD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAA6B,EAC7B,WAAmB,EACnB,QAAwB,EACxB,OAAe;IAEf,IACE,WAAW,CAAC,KAAK,IAAI,EAAE,EAAE,aAAa,CAAC,KAAK,WAAW;QACvD,WAAW,CAAC,KAAK,IAAI,EAAE,EAAE,QAAQ,CAAC,KAAK,QAAQ,CAAC,MAAM;QACtD,WAAW,CAAC,KAAK,IAAI,EAAE,EAAE,WAAW,CAAC,KAAK,QAAQ,CAAC,SAAS;QAC5D,WAAW,CAAC,KAAK,CAAC,KAAK,OAAO;QAC9B,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,EAAE,eAAe,CAAC,EAC1C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,OAAe,EAAE,QAAwB,EAAE,KAAa;IAC/E,OAAO,GAAG,OAAO,cAAc,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,mBAAmB,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC;AACzI,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,SAAuB,EACvB,GAAW,EACX,KAAa,EACb,IAAiB,EACjB,WAA8B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAElD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;QACpC,GAAG,IAAI;QACP,OAAO,EAAE;YACP,MAAM,EAAE,kBAAkB;YAC1B,aAAa,EAAE,UAAU,KAAK,EAAE;YAChC,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,KAAK,GAAY,EAAE,CAAC;IACxB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,GAAG,EAAE,CAAC;IACb,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,EAAE,CAAC;AACT,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { type ConnectionAuthDefinition, type McpPluginConnectionOptions } from "@assemblyline-agents/core";
2
2
  export interface MirrorCliMaterializationOptions {
3
- /** Sandbox path for the projected CLI profile. Defaults to /root/.mirror/config.json. */
3
+ /** Sandbox path for the projected CLI profile. Must stay under the reserved credential root. */
4
4
  path?: string;
5
- /** Mirror CLI profile name. Defaults to openeve. */
5
+ /** Mirror CLI profile name. Defaults to assembly-line. */
6
6
  profile?: string;
7
- /** Runtime recorded in the projected profile. Defaults to openeve. */
7
+ /** Runtime recorded in the projected profile. Defaults to assembly-line. */
8
8
  runtime?: string;
9
9
  /** Mirror API origin. Defaults to the configured MCP endpoint's origin. */
10
10
  apiUrl?: string;
@@ -20,7 +20,7 @@ export interface MirrorConnectionOptions extends Omit<McpPluginConnectionOptions
20
20
  /**
21
21
  * Project the short-lived access token into a Mirror CLI profile.
22
22
  * The sandbox image must already contain the `mirror` CLI. Refresh tokens
23
- * always remain in OpenEve's host-side grant store.
23
+ * always remain in Assembly Line's host-side grant store.
24
24
  */
25
25
  materializeCli?: boolean | MirrorCliMaterializationOptions;
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAChC,MAAM,2BAA2B,CAAC;AAKnC,MAAM,WAAW,+BAA+B;IAC9C,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,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,yEAwDtE;AAED,eAAO,MAAM,kBAAkB,kDAA0C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,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,yEA8DtE;AAED,eAAO,MAAM,kBAAkB,kDAA0C,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
- import { connectionPluginMetadata, defineMcpPluginConnection, defineOAuthAuthorization, definePlugin } from "@assemblyline-agents/core";
1
+ import { connectionPluginMetadata, defineConnectionPluginEvents, defineMcpPluginConnection, defineOAuthAuthorization, definePlugin } from "@assemblyline-agents/core";
2
2
  import { createMirrorPairingRedeemer } from "./pairing.js";
3
+ import { createMirrorEvents } from "./events.js";
3
4
  const PLUGIN = connectionPluginMetadata("mirror");
4
5
  export function defineMirrorConnection(options) {
5
6
  const { auth, clientId, issuer, redirectUri, materializeCli, ...connection } = options;
@@ -14,6 +15,9 @@ export function defineMirrorConnection(options) {
14
15
  ...(connection.url ? { mcpUrl: connection.url } : {})
15
16
  })
16
17
  });
18
+ const events = defineConnectionPluginEvents(PLUGIN, options.events, createMirrorEvents(issuer ?? connection.url));
19
+ if (events)
20
+ definition.events = events;
17
21
  definition.redeemPairingCode = createMirrorPairingRedeemer(({ env }) => normalizeIssuer(issuer
18
22
  ?? env.MIRROR_OAUTH_ISSUER
19
23
  ?? connection.url
@@ -21,12 +25,12 @@ export function defineMirrorConnection(options) {
21
25
  ?? definition.url));
22
26
  if (materializeCli) {
23
27
  const settings = materializeCli === true ? {} : materializeCli;
24
- const profile = settings.profile?.trim() || "openeve";
25
- const runtime = settings.runtime?.trim() || "openeve";
28
+ const profile = settings.profile?.trim() || "assembly-line";
29
+ const runtime = settings.runtime?.trim() || "assembly-line";
26
30
  const apiUrl = normalizeIssuer(settings.apiUrl ?? issuer ?? definition.url);
27
31
  definition.materialize = {
28
32
  files: [{
29
- path: settings.path?.trim() || "/root/.mirror/config.json",
33
+ path: settings.path?.trim() || "/workspace/.assembly-line/credentials/mirror/config.json",
30
34
  content: `${JSON.stringify({
31
35
  version: 1,
32
36
  currentProfile: profile,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/pairing.d.ts CHANGED
@@ -10,7 +10,7 @@ type MirrorOriginResolver = (context: ConnectionResolverContext) => string;
10
10
  /**
11
11
  * Builds the host-side redeemer for a Mirror UI binding packet. The packet
12
12
  * carries only a one-time claim secret. Mirror releases the durable access and
13
- * refresh tokens directly to the OpenEve host after the claim is consumed.
13
+ * refresh tokens directly to the Assembly Line host after the claim is consumed.
14
14
  */
15
15
  export declare function createMirrorPairingRedeemer(resolveExpectedOrigin: MirrorOriginResolver): ConnectionPairingRedeemer;
16
16
  export declare function parseMirrorBindingPacket(packet: string): MirrorBindingClaim;
package/dist/pairing.js CHANGED
@@ -6,7 +6,7 @@ const POLL_INTERVAL_MS = 250;
6
6
  /**
7
7
  * Builds the host-side redeemer for a Mirror UI binding packet. The packet
8
8
  * carries only a one-time claim secret. Mirror releases the durable access and
9
- * refresh tokens directly to the OpenEve host after the claim is consumed.
9
+ * refresh tokens directly to the Assembly Line host after the claim is consumed.
10
10
  */
11
11
  export function createMirrorPairingRedeemer(resolveExpectedOrigin) {
12
12
  return async ({ code }, context) => {
@@ -24,8 +24,8 @@ export function createMirrorPairingRedeemer(resolveExpectedOrigin) {
24
24
  },
25
25
  body: JSON.stringify({
26
26
  bindingId: claim.bindingId,
27
- runtime: claim.runtime ?? "openeve",
28
- harness: "openeve",
27
+ runtime: claim.runtime ?? "assembly-line",
28
+ harness: "assembly-line",
29
29
  claimToken: claim.claimToken
30
30
  })
31
31
  }, "Mirror rejected the binding packet");
@@ -1 +1 @@
1
- {"version":3,"file":"pairing.js","sourceRoot":"","sources":["../src/pairing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pairing.js","sourceRoot":"","sources":["../src/pairing.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": "2.0.0",
3
+ "version": "3.0.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -9,12 +9,11 @@
9
9
  }
10
10
  },
11
11
  "dependencies": {
12
- "@assemblyline-agents/core": "2.0.0"
12
+ "@assemblyline-agents/core": "3.0.0"
13
13
  },
14
14
  "description": "Official Assembly Line connection plugin for user-scoped Mirror accounts.",
15
15
  "files": [
16
- "dist",
17
- "skills"
16
+ "dist"
18
17
  ],
19
18
  "engines": {
20
19
  "node": ">=22.19.0"
@@ -1,40 +0,0 @@
1
- ---
2
- name: mirror
3
- description: Use a connected Mirror account to inspect the user's allowed connected providers, query mirrored records, perform bounded live reads, and stage approval-gated actions.
4
- ---
5
-
6
- # Mirror
7
-
8
- Mirror is the user's connected-context layer. It holds downstream provider
9
- credentials and exposes only the providers and accounts granted to this agent.
10
- Never ask for, print, or store raw provider credentials.
11
-
12
- If the user pastes a Mirror binding packet, use connection discovery to find
13
- `mirror__pair` and pass the full packet through its `secret` field. Do not run
14
- the packet's shell command inside the model sandbox and do not repeat its
15
- one-time claim token. After pairing succeeds, call `mirror.whoami` to verify
16
- the binding's resolved scope.
17
-
18
- Start with `mirror.whoami`, then `mirror.connected_providers`. Inspect each
19
- lane's access and mirror policy before choosing a tool:
20
-
21
- - Use `mirror.query_records` for normal recall from a mirrored lane.
22
- - Use `mirror.get_source` for one exact raw record.
23
- - Use `mirror.live_read` only for current state or detail absent from the
24
- mirror.
25
- - Use `mirror.get_pending_approvals` to inspect unresolved action requests.
26
-
27
- Keep reads bounded by provider, account, identifiers, dates, and explicit
28
- limits. Check message authorship metadata rather than inferring who wrote a
29
- message from its prose.
30
-
31
- Write-like provider operations, syncs, setup links, agent registration,
32
- approval creation/redemption, and credential export are classified as writes
33
- by Assembly Line. Use them only when the connection exposes write authority and its
34
- approval gate permits the call. Mirror may apply an additional exact-action
35
- approval before executing a downstream mutation.
36
-
37
- The MCP tools are the normal Assembly Line connection surface. If the deployment
38
- owner installed the optional `mirror` CLI and enabled `materializeCli`, the CLI
39
- may be used inside the sandbox; its profile contains only a short-lived access
40
- token. Refresh credentials remain on the Assembly Line host.