@appliqation/agent-core 0.1.4 → 0.1.5

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.
@@ -1,2 +1,2 @@
1
- export { type AuditRecord, type AuditSink, type AuditEnv, noopAuditSink, createJsonlAuditSink, createMongoAuditSink, resolveAuditSink, safeRecord, createUsageAccumulator, } from './sink.js';
1
+ export { type AuditRecord, type AuditSink, type AuditEnv, noopAuditSink, createJsonlAuditSink, createMongoAuditSink, resolveAuditSink, safeRecord, safeClose, createUsageAccumulator, } from './sink.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,sBAAsB,GACvB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,sBAAsB,GACvB,MAAM,WAAW,CAAC"}
@@ -1,2 +1,2 @@
1
- export { noopAuditSink, createJsonlAuditSink, createMongoAuditSink, resolveAuditSink, safeRecord, createUsageAccumulator, } from './sink.js';
1
+ export { noopAuditSink, createJsonlAuditSink, createMongoAuditSink, resolveAuditSink, safeRecord, safeClose, createUsageAccumulator, } from './sink.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,sBAAsB,GACvB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,sBAAsB,GACvB,MAAM,WAAW,CAAC"}
@@ -22,6 +22,17 @@ export interface AuditRecord {
22
22
  }
23
23
  export interface AuditSink {
24
24
  record(entry: AuditRecord): Promise<void>;
25
+ /**
26
+ * Releases whatever resource this sink holds open (a Mongo connection
27
+ * pool/topology monitor) — a no-op for sinks that hold nothing. Every CLI
28
+ * calls this once via safeClose() after its one record() call, since none
29
+ * of these CLIs call process.exit() (see cli/index.ts's top-level
30
+ * .catch()) — they set process.exitCode and let the event loop drain,
31
+ * which is correct, but means anything still holding the loop open (an
32
+ * unclosed Mongo client's background timers/sockets) hangs the process
33
+ * indefinitely instead of exiting.
34
+ */
35
+ close(): Promise<void>;
25
36
  }
26
37
  export declare const noopAuditSink: AuditSink;
27
38
  export declare function createJsonlAuditSink(opts: {
@@ -41,6 +52,12 @@ export declare function createMongoAuditSink(opts: {
41
52
  * already being non-fatal.
42
53
  */
43
54
  export declare function safeRecord(sink: AuditSink, entry: AuditRecord): Promise<void>;
55
+ /**
56
+ * Every CLI should call this once, after its one safeRecord() call — see
57
+ * AuditSink.close() above for why. Same non-fatal reasoning as safeRecord():
58
+ * a failure to close cleanly must never affect the real run's exit code.
59
+ */
60
+ export declare function safeClose(sink: AuditSink): Promise<void>;
44
61
  export interface AuditEnv {
45
62
  auditMongoUri?: string;
46
63
  auditMongoDb?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"sink.d.ts","sourceRoot":"","sources":["../../src/audit/sink.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,kGAAkG;IAClG,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAED,eAAO,MAAM,aAAa,EAAE,SAI3B,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAM1E;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAqBzG;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnF;AAED,MAAM,WAAW,QAAQ;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,SAAS,CASzD;AAED,UAAU,UAAU;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,4GAA4G;AAC5G,wBAAgB,sBAAsB;eAOvB,UAAU,GAAG,IAAI;cAMlB,WAAW,CAAC,OAAO,CAAC;EAIjC"}
1
+ {"version":3,"file":"sink.d.ts","sourceRoot":"","sources":["../../src/audit/sink.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,kGAAkG;IAClG,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C;;;;;;;;;OASG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,EAAE,SAO3B,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAS1E;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAyBzG;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnF;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9D;AAED,MAAM,WAAW,QAAQ;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,SAAS,CASzD;AAED,UAAU,UAAU;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,4GAA4G;AAC5G,wBAAgB,sBAAsB;eAOvB,UAAU,GAAG,IAAI;cAMlB,WAAW,CAAC,OAAO,CAAC;EAIjC"}
@@ -11,23 +11,30 @@ export const noopAuditSink = {
11
11
  async record() {
12
12
  // Intentionally does nothing — the default when no sink is configured.
13
13
  },
14
+ async close() {
15
+ // Nothing was ever opened.
16
+ },
14
17
  };
15
18
  export function createJsonlAuditSink(opts) {
16
19
  return {
17
20
  async record(entry) {
18
21
  await appendFile(opts.filePath, JSON.stringify(entry) + '\n', 'utf8');
19
22
  },
23
+ async close() {
24
+ // appendFile holds no persistent handle open — nothing to release.
25
+ },
20
26
  };
21
27
  }
22
28
  export function createMongoAuditSink(opts) {
29
+ let client;
23
30
  let collectionPromise;
24
31
  function getCollection() {
25
32
  // Lazy-connect-once: the client is created and connected on the first
26
33
  // record() call, then reused — a CLI invocation that never calls
27
34
  // record() (e.g. audit unconfigured elsewhere in the same process)
28
- // never opens a connection at all.
35
+ // never opens a connection at all, and close() below has nothing to do.
29
36
  if (!collectionPromise) {
30
- const client = new MongoClient(opts.uri);
37
+ client = new MongoClient(opts.uri);
31
38
  collectionPromise = client.connect().then(() => client.db(opts.dbName).collection(opts.collection));
32
39
  }
33
40
  return collectionPromise;
@@ -37,6 +44,10 @@ export function createMongoAuditSink(opts) {
37
44
  const collection = await getCollection();
38
45
  await collection.insertOne(entry);
39
46
  },
47
+ async close() {
48
+ if (client)
49
+ await client.close();
50
+ },
40
51
  };
41
52
  }
42
53
  /**
@@ -55,6 +66,19 @@ export async function safeRecord(sink, entry) {
55
66
  console.error(`[audit] failed to record: ${err.message}`);
56
67
  }
57
68
  }
69
+ /**
70
+ * Every CLI should call this once, after its one safeRecord() call — see
71
+ * AuditSink.close() above for why. Same non-fatal reasoning as safeRecord():
72
+ * a failure to close cleanly must never affect the real run's exit code.
73
+ */
74
+ export async function safeClose(sink) {
75
+ try {
76
+ await sink.close();
77
+ }
78
+ catch (err) {
79
+ console.error(`[audit] failed to close cleanly: ${err.message}`);
80
+ }
81
+ }
58
82
  /**
59
83
  * Precedence mirrors resolveProvider()'s own shape: Mongo (if fully
60
84
  * configured) > JSONL > noop. Nothing writes anywhere unless explicitly
@@ -1 +1 @@
1
- {"version":3,"file":"sink.js","sourceRoot":"","sources":["../../src/audit/sink.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sink.js","sourceRoot":"","sources":["../../src/audit/sink.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,11 @@
1
1
  {
2
2
  "name": "@appliqation/agent-core",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Shared engine (think->act->observe loop, budget tracking, appq MCP client, gated tool dispatch, Playwright browser tools, evidence capture) for Appliqation's family of standalone agents.",
5
+ "license": "MIT",
6
+ "repository": { "type": "git", "url": "git+https://github.com/appliqation/agent-core.git" },
7
+ "homepage": "https://github.com/appliqation/agent-core#readme",
8
+ "bugs": { "url": "https://github.com/appliqation/agent-core/issues" },
5
9
  "type": "module",
6
10
  "main": "dist/index.js",
7
11
  "types": "dist/index.d.ts",
@@ -65,10 +69,13 @@
65
69
  },
66
70
  "devDependencies": {
67
71
  "@appliqation/automation-sdk": "^2.7.0",
72
+ "@eslint/js": "^9.39.5",
68
73
  "@types/node": "^22.13.10",
74
+ "eslint": "^9.39.5",
69
75
  "playwright": "^1.51.0",
70
76
  "tsx": "^4.19.3",
71
77
  "typescript": "^5.8.2",
78
+ "typescript-eslint": "^8.67.0",
72
79
  "vitest": "^3.2.7"
73
80
  }
74
81
  }