agentmb 0.1.0 → 0.1.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.
Files changed (36) hide show
  1. package/README.md +82 -1
  2. package/dist/browser/actions.d.ts +272 -0
  3. package/dist/browser/actions.d.ts.map +1 -1
  4. package/dist/browser/actions.js +797 -0
  5. package/dist/browser/actions.js.map +1 -1
  6. package/dist/browser/manager.d.ts +88 -0
  7. package/dist/browser/manager.d.ts.map +1 -1
  8. package/dist/browser/manager.js +231 -0
  9. package/dist/browser/manager.js.map +1 -1
  10. package/dist/cli/client.d.ts +1 -0
  11. package/dist/cli/client.d.ts.map +1 -1
  12. package/dist/cli/client.js +21 -0
  13. package/dist/cli/client.js.map +1 -1
  14. package/dist/cli/commands/actions.d.ts.map +1 -1
  15. package/dist/cli/commands/actions.js +762 -10
  16. package/dist/cli/commands/actions.js.map +1 -1
  17. package/dist/cli/index.js +1 -1
  18. package/dist/daemon/routes/actions.d.ts.map +1 -1
  19. package/dist/daemon/routes/actions.js +529 -6
  20. package/dist/daemon/routes/actions.js.map +1 -1
  21. package/dist/daemon/routes/browser_control.d.ts +12 -0
  22. package/dist/daemon/routes/browser_control.d.ts.map +1 -0
  23. package/dist/daemon/routes/browser_control.js +172 -0
  24. package/dist/daemon/routes/browser_control.js.map +1 -0
  25. package/dist/daemon/routes/interaction.d.ts +11 -0
  26. package/dist/daemon/routes/interaction.d.ts.map +1 -0
  27. package/dist/daemon/routes/interaction.js +176 -0
  28. package/dist/daemon/routes/interaction.js.map +1 -0
  29. package/dist/daemon/routes/state.d.ts +11 -0
  30. package/dist/daemon/routes/state.d.ts.map +1 -0
  31. package/dist/daemon/routes/state.js +190 -0
  32. package/dist/daemon/routes/state.js.map +1 -0
  33. package/dist/daemon/server.d.ts.map +1 -1
  34. package/dist/daemon/server.js +7 -1
  35. package/dist/daemon/server.js.map +1 -1
  36. package/package.json +1 -1
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.registerStateRoutes = registerStateRoutes;
37
+ const Actions = __importStar(require("../../browser/actions"));
38
+ const actions_1 = require("../../browser/actions");
39
+ require("../types");
40
+ function resolve(registry, id, reply) {
41
+ const result = registry.getLive(id);
42
+ if ('notFound' in result) {
43
+ reply.code(404).send({ error: `Session ${id} not found` });
44
+ return null;
45
+ }
46
+ if ('zombie' in result) {
47
+ reply.code(410).send({ error: `Session ${id} is in zombie state — relaunch first` });
48
+ return null;
49
+ }
50
+ return result;
51
+ }
52
+ function registerStateRoutes(server, registry) {
53
+ function bm() {
54
+ return server.browserManager;
55
+ }
56
+ // ---------------------------------------------------------------------------
57
+ // R07-T05: Cookie management
58
+ // ---------------------------------------------------------------------------
59
+ /** GET /api/v1/sessions/:id/cookies — list all cookies (optionally filtered by URLs) */
60
+ server.get('/api/v1/sessions/:id/cookies', async (req, reply) => {
61
+ const s = resolve(registry, req.params.id, reply);
62
+ if (!s)
63
+ return;
64
+ const urls = req.query.urls ? req.query.urls.split(',') : undefined;
65
+ const cookies = await bm().getCookies(s.id, urls);
66
+ return { session_id: s.id, cookies, count: cookies.length };
67
+ });
68
+ /** POST /api/v1/sessions/:id/cookies — add cookies */
69
+ server.post('/api/v1/sessions/:id/cookies', async (req, reply) => {
70
+ const s = resolve(registry, req.params.id, reply);
71
+ if (!s)
72
+ return;
73
+ const { cookies } = req.body;
74
+ if (!Array.isArray(cookies) || cookies.length === 0) {
75
+ return reply.code(400).send({ error: 'cookies must be a non-empty array' });
76
+ }
77
+ await bm().addCookies(s.id, cookies);
78
+ return { status: 'ok', added: cookies.length };
79
+ });
80
+ /** DELETE /api/v1/sessions/:id/cookies — clear all cookies */
81
+ server.delete('/api/v1/sessions/:id/cookies', async (req, reply) => {
82
+ const s = resolve(registry, req.params.id, reply);
83
+ if (!s)
84
+ return;
85
+ await bm().clearCookies(s.id);
86
+ return { status: 'ok' };
87
+ });
88
+ // ---------------------------------------------------------------------------
89
+ // R07-T05: Storage state (Playwright storageState format)
90
+ // ---------------------------------------------------------------------------
91
+ /** GET /api/v1/sessions/:id/storage_state — export full storage state */
92
+ server.get('/api/v1/sessions/:id/storage_state', async (req, reply) => {
93
+ const s = resolve(registry, req.params.id, reply);
94
+ if (!s)
95
+ return;
96
+ const state = await bm().getStorageState(s.id);
97
+ return { session_id: s.id, storage_state: state };
98
+ });
99
+ /**
100
+ * POST /api/v1/sessions/:id/storage_state — restore cookies from a
101
+ * previously exported storage_state object. Merges into the current context.
102
+ *
103
+ * **Limitation:** Only `cookies` are restored. The `origins` array
104
+ * (localStorage / sessionStorage) cannot be injected into a Playwright
105
+ * context after launch — use `addInitScript` or navigate to the target
106
+ * origin and write storage via `eval` instead. `origins_skipped` in the
107
+ * response reports how many origin entries were silently ignored.
108
+ */
109
+ server.post('/api/v1/sessions/:id/storage_state', async (req, reply) => {
110
+ const s = resolve(registry, req.params.id, reply);
111
+ if (!s)
112
+ return;
113
+ const { storage_state } = req.body;
114
+ if (!storage_state)
115
+ return reply.code(400).send({ error: 'storage_state is required' });
116
+ const cookies = (storage_state.cookies ?? []);
117
+ const originsCount = (storage_state.origins ?? []).length;
118
+ if (cookies.length > 0) {
119
+ await bm().addCookies(s.id, cookies);
120
+ }
121
+ const response = { status: 'ok', cookies_restored: cookies.length, origins_skipped: originsCount };
122
+ if (originsCount > 0) {
123
+ response.note = 'localStorage/sessionStorage (origins) cannot be restored via this endpoint; navigate to the target origin and write storage via eval instead';
124
+ }
125
+ return response;
126
+ });
127
+ // ---------------------------------------------------------------------------
128
+ // R07-T16: Console log collection
129
+ // ---------------------------------------------------------------------------
130
+ /** GET /api/v1/sessions/:id/console?tail=50 — last N console entries */
131
+ server.get('/api/v1/sessions/:id/console', async (req, reply) => {
132
+ const s = resolve(registry, req.params.id, reply);
133
+ if (!s)
134
+ return;
135
+ const tail = req.query.tail ? parseInt(req.query.tail) : undefined;
136
+ const entries = bm().getConsoleLog(s.id, tail);
137
+ if (req.query.clear === '1')
138
+ bm().clearConsoleLog(s.id);
139
+ return { session_id: s.id, entries, count: entries.length };
140
+ });
141
+ /** DELETE /api/v1/sessions/:id/console — clear console log */
142
+ server.delete('/api/v1/sessions/:id/console', async (req, reply) => {
143
+ const s = resolve(registry, req.params.id, reply);
144
+ if (!s)
145
+ return;
146
+ bm().clearConsoleLog(s.id);
147
+ return { status: 'ok' };
148
+ });
149
+ // ---------------------------------------------------------------------------
150
+ // R07-T17: Page error collection
151
+ // ---------------------------------------------------------------------------
152
+ /** GET /api/v1/sessions/:id/page_errors?tail=20 — last N page errors */
153
+ server.get('/api/v1/sessions/:id/page_errors', async (req, reply) => {
154
+ const s = resolve(registry, req.params.id, reply);
155
+ if (!s)
156
+ return;
157
+ const tail = req.query.tail ? parseInt(req.query.tail) : undefined;
158
+ const entries = bm().getPageErrors(s.id, tail);
159
+ if (req.query.clear === '1')
160
+ bm().clearPageErrors(s.id);
161
+ return { session_id: s.id, entries, count: entries.length };
162
+ });
163
+ /** DELETE /api/v1/sessions/:id/page_errors — clear page errors */
164
+ server.delete('/api/v1/sessions/:id/page_errors', async (req, reply) => {
165
+ const s = resolve(registry, req.params.id, reply);
166
+ if (!s)
167
+ return;
168
+ bm().clearPageErrors(s.id);
169
+ return { status: 'ok' };
170
+ });
171
+ // ---------------------------------------------------------------------------
172
+ // R07-T15: Annotated screenshot
173
+ // ---------------------------------------------------------------------------
174
+ server.post('/api/v1/sessions/:id/annotated_screenshot', async (req, reply) => {
175
+ const s = resolve(registry, req.params.id, reply);
176
+ if (!s)
177
+ return;
178
+ const { highlights = [], format = 'png', full_page = false, purpose, operator } = req.body ?? {};
179
+ const logger = server.auditLogger;
180
+ try {
181
+ return await Actions.annotatedScreenshot(s.page, highlights, format, full_page, logger, s.id, purpose, operator);
182
+ }
183
+ catch (e) {
184
+ if (e instanceof actions_1.ActionDiagnosticsError)
185
+ return reply.code(422).send(e.diagnostics);
186
+ throw e;
187
+ }
188
+ });
189
+ }
190
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/daemon/routes/state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAA;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAG3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,OAAO,SAAS,CAAA;AAEhB,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,GAAG,eAAe,CA2D5F"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAA;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAM3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,OAAO,SAAS,CAAA;AAEhB,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,GAAG,eAAe,CA8D5F"}
@@ -7,6 +7,9 @@ exports.buildServer = buildServer;
7
7
  const fastify_1 = __importDefault(require("fastify"));
8
8
  const sessions_1 = require("./routes/sessions");
9
9
  const actions_1 = require("./routes/actions");
10
+ const state_1 = require("./routes/state");
11
+ const interaction_1 = require("./routes/interaction");
12
+ const browser_control_1 = require("./routes/browser_control");
10
13
  // T11: Fastify instance type augmentation — makes auditLogger/browserManager type-safe
11
14
  require("./types");
12
15
  function buildServer(config, registry) {
@@ -42,7 +45,7 @@ function buildServer(config, registry) {
42
45
  server.get('/health', async () => {
43
46
  return {
44
47
  status: 'ok',
45
- version: '0.1.0',
48
+ version: '0.1.1',
46
49
  uptime_s: Math.floor(process.uptime()),
47
50
  sessions_active: registry.count(),
48
51
  };
@@ -61,6 +64,9 @@ function buildServer(config, registry) {
61
64
  });
62
65
  (0, sessions_1.registerSessionRoutes)(server, registry);
63
66
  (0, actions_1.registerActionRoutes)(server, registry);
67
+ (0, state_1.registerStateRoutes)(server, registry);
68
+ (0, interaction_1.registerInteractionRoutes)(server, registry);
69
+ (0, browser_control_1.registerBrowserControlRoutes)(server, registry);
64
70
  return server;
65
71
  }
66
72
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":";;;;;AAQA,kCA2DC;AAnED,sDAAgF;AAEhF,gDAAyD;AACzD,8CAAuD;AAEvD,uFAAuF;AACvF,mBAAgB;AAEhB,SAAgB,WAAW,CAAC,MAAoB,EAAE,QAAyB;IACzE,MAAM,MAAM,GAAG,IAAA,iBAAO,EAAC;QACrB,MAAM,EAAE;YACN,KAAK,EAAE,MAAM,CAAC,QAAQ;YACtB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;gBACtB,CAAC,CAAC;oBACE,SAAS,EAAE;wBACT,MAAM,EAAE,aAAa;wBACrB,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE;qBAC3D;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC,CAAA;IAEF,oFAAoF;IACpF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,GAAmB,EAAE,KAAmB,EAAE,EAAE;YAC9E,6BAA6B;YAC7B,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS;gBAAE,OAAM;YAEjC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAuB,CAAA;YAC/D,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAuB,CAAA;YACrE,MAAM,WAAW,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACvF,MAAM,QAAQ,GAAG,MAAM,IAAI,WAAW,CAAA;YAEtC,IAAI,QAAQ,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qEAAqE,EAAE,CAAC,CAAA;YACxG,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,iDAAiD;IACjD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/B,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACtC,eAAe,EAAE,QAAQ,CAAC,KAAK,EAAE;SAClC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QACtC,OAAO;YACL,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACtC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,UAAU,EAAE,CAAC,CAAC,SAAS;aACxB,CAAC,CAAC;SACJ,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAA,gCAAqB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACvC,IAAA,8BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAEtC,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":";;;;;AAWA,kCA8DC;AAzED,sDAAgF;AAEhF,gDAAyD;AACzD,8CAAuD;AACvD,0CAAoD;AACpD,sDAAgE;AAChE,8DAAuE;AAEvE,uFAAuF;AACvF,mBAAgB;AAEhB,SAAgB,WAAW,CAAC,MAAoB,EAAE,QAAyB;IACzE,MAAM,MAAM,GAAG,IAAA,iBAAO,EAAC;QACrB,MAAM,EAAE;YACN,KAAK,EAAE,MAAM,CAAC,QAAQ;YACtB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;gBACtB,CAAC,CAAC;oBACE,SAAS,EAAE;wBACT,MAAM,EAAE,aAAa;wBACrB,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE;qBAC3D;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC,CAAA;IAEF,oFAAoF;IACpF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,GAAmB,EAAE,KAAmB,EAAE,EAAE;YAC9E,6BAA6B;YAC7B,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS;gBAAE,OAAM;YAEjC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAuB,CAAA;YAC/D,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAuB,CAAA;YACrE,MAAM,WAAW,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACvF,MAAM,QAAQ,GAAG,MAAM,IAAI,WAAW,CAAA;YAEtC,IAAI,QAAQ,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qEAAqE,EAAE,CAAC,CAAA;YACxG,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,iDAAiD;IACjD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/B,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACtC,eAAe,EAAE,QAAQ,CAAC,KAAK,EAAE;SAClC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QACtC,OAAO;YACL,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACtC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,UAAU,EAAE,CAAC,CAAC,SAAS;aACxB,CAAC,CAAC;SACJ,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAA,gCAAqB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACvC,IAAA,8BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACtC,IAAA,2BAAmB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACrC,IAAA,uCAAyB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC3C,IAAA,8CAA4B,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAE9C,OAAO,MAAM,CAAA;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentmb",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Local Chromium runtime daemon for AI agents — headless automation, visual takeover, profile persistence, audit logs",
5
5
  "main": "dist/daemon/index.js",
6
6
  "repository": {