@appliqation/agent-core 0.1.4 → 0.1.6
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/dist/appq/scenarioResolvers.d.ts +1 -0
- package/dist/appq/scenarioResolvers.d.ts.map +1 -1
- package/dist/appq/scenarioResolvers.js +7 -3
- package/dist/appq/scenarioResolvers.js.map +1 -1
- package/dist/audit/index.d.ts +1 -1
- package/dist/audit/index.d.ts.map +1 -1
- package/dist/audit/index.js +1 -1
- package/dist/audit/index.js.map +1 -1
- package/dist/audit/sink.d.ts +17 -0
- package/dist/audit/sink.d.ts.map +1 -1
- package/dist/audit/sink.js +26 -2
- package/dist/audit/sink.js.map +1 -1
- package/package.json +13 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenarioResolvers.d.ts","sourceRoot":"","sources":["../../src/appq/scenarioResolvers.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAGxD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"scenarioResolvers.d.ts","sourceRoot":"","sources":["../../src/appq/scenarioResolvers.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAGxD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED,oHAAoH;AACpH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAO3D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAI9F;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAO5H;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAO1H;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAW3G"}
|
|
@@ -11,12 +11,16 @@ import { parseScenarioTcList, parseTestSetTcList } from '../tools/roleInference.
|
|
|
11
11
|
export async function resolveRun(client, opts) {
|
|
12
12
|
if (opts.runId)
|
|
13
13
|
return opts.runId;
|
|
14
|
-
if (!opts.
|
|
15
|
-
throw new Error('--
|
|
14
|
+
if (!opts.projectId || (!opts.scenarioId && !opts.testSetId)) {
|
|
15
|
+
throw new Error('--project-id plus exactly one of --scenario-id/--test-set-id are required to create a run ' +
|
|
16
|
+
'(or pass --run-id to reuse one).');
|
|
17
|
+
}
|
|
18
|
+
if (opts.scenarioId && opts.testSetId) {
|
|
19
|
+
throw new Error('--scenario-id and --test-set-id are mutually exclusive when creating a run.');
|
|
16
20
|
}
|
|
17
21
|
const created = await client.callTool('update_run_results', {
|
|
18
22
|
action: 'create_run',
|
|
19
|
-
scenario_id: Number(opts.scenarioId),
|
|
23
|
+
...(opts.scenarioId ? { scenario_id: Number(opts.scenarioId) } : { test_set_id: Number(opts.testSetId) }),
|
|
20
24
|
project_id: Number(opts.projectId),
|
|
21
25
|
...(opts.environment ? { environment: opts.environment } : {}),
|
|
22
26
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenarioResolvers.js","sourceRoot":"","sources":["../../src/appq/scenarioResolvers.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,2EAA2E;AAC3E,2EAA2E;AAC3E,uEAAuE;AACvE,uEAAuE;AACvE,wEAAwE;AACxE,6EAA6E;AAC7E,uEAAuE;AACvE,+CAA+C;AAI/C,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpF,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"scenarioResolvers.js","sourceRoot":"","sources":["../../src/appq/scenarioResolvers.ts"],"names":[],"mappings":"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"}
|
package/dist/audit/index.d.ts
CHANGED
|
@@ -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"}
|
package/dist/audit/index.js
CHANGED
|
@@ -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
|
package/dist/audit/index.js.map
CHANGED
|
@@ -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"}
|
package/dist/audit/sink.d.ts
CHANGED
|
@@ -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;
|
package/dist/audit/sink.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/audit/sink.js
CHANGED
|
@@ -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
|
-
|
|
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
|
package/dist/audit/sink.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sink.js","sourceRoot":"","sources":["../../src/audit/sink.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,8EAA8E;AAC9E,8EAA8E;AAC9E,oEAAoE;AACpE,mFAAmF;AACnF,6EAA6E;AAC7E,uEAAuE;AAEvE,OAAO,EAAE,WAAW,EAAmB,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
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,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appliqation/agent-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
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": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/appliqation/agent-core.git"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/appliqation/agent-core#readme",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/appliqation/agent-core/issues"
|
|
13
|
+
},
|
|
5
14
|
"type": "module",
|
|
6
15
|
"main": "dist/index.js",
|
|
7
16
|
"types": "dist/index.d.ts",
|
|
@@ -65,10 +74,13 @@
|
|
|
65
74
|
},
|
|
66
75
|
"devDependencies": {
|
|
67
76
|
"@appliqation/automation-sdk": "^2.7.0",
|
|
77
|
+
"@eslint/js": "^9.39.5",
|
|
68
78
|
"@types/node": "^22.13.10",
|
|
79
|
+
"eslint": "^9.39.5",
|
|
69
80
|
"playwright": "^1.51.0",
|
|
70
81
|
"tsx": "^4.19.3",
|
|
71
82
|
"typescript": "^5.8.2",
|
|
83
|
+
"typescript-eslint": "^8.67.0",
|
|
72
84
|
"vitest": "^3.2.7"
|
|
73
85
|
}
|
|
74
86
|
}
|