@renseiai/agentfactory 0.8.27 → 0.8.28
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/src/orchestrator/api-activity-emitter.d.ts +13 -2
- package/dist/src/orchestrator/api-activity-emitter.d.ts.map +1 -1
- package/dist/src/orchestrator/api-activity-emitter.js +21 -2
- package/dist/src/orchestrator/session-backstop.d.ts.map +1 -1
- package/dist/src/orchestrator/session-backstop.js +22 -5
- package/dist/src/orchestrator/session-backstop.test.js +2 -0
- package/package.json +2 -2
|
@@ -93,11 +93,22 @@ export declare class ApiActivityEmitter {
|
|
|
93
93
|
/**
|
|
94
94
|
* Emit a tool use activity (ephemeral by default)
|
|
95
95
|
*/
|
|
96
|
-
emitToolUse(tool: string, input: Record<string, unknown>, ephemeral?: boolean
|
|
96
|
+
emitToolUse(tool: string, input: Record<string, unknown>, ephemeral?: boolean, context?: {
|
|
97
|
+
key: string;
|
|
98
|
+
value: unknown;
|
|
99
|
+
}): Promise<void>;
|
|
97
100
|
/**
|
|
98
101
|
* Emit a response activity (persisted)
|
|
99
102
|
*/
|
|
100
|
-
emitResponse(content: string
|
|
103
|
+
emitResponse(content: string, context?: {
|
|
104
|
+
key: string;
|
|
105
|
+
value: unknown;
|
|
106
|
+
}): Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* Emit a context entry (persisted, not forwarded to Linear).
|
|
109
|
+
* Used by ContextManager to emit artifact summaries, structured state, etc.
|
|
110
|
+
*/
|
|
111
|
+
emitContext(key: string, value: unknown): Promise<void>;
|
|
101
112
|
/**
|
|
102
113
|
* Emit an error activity (persisted)
|
|
103
114
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-activity-emitter.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/api-activity-emitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAGjE,iDAAiD;AACjD,MAAM,WAAW,wBAAwB;IACvC,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAA;IAClB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3D,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7D,4CAA4C;IAC5C,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACtD,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/D,oFAAoF;IACpF,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AAED,+BAA+B;AAC/B,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,UAAU,GACV,SAAS,GACT,SAAS,GACT,OAAO,GACP,IAAI,GACJ,WAAW,GACX,QAAQ,GACR,SAAS,GACT,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"api-activity-emitter.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/api-activity-emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,7 +92,7 @@ export class ApiActivityEmitter {
|
|
|
92
92
|
/**
|
|
93
93
|
* Emit a tool use activity (ephemeral by default)
|
|
94
94
|
*/
|
|
95
|
-
async emitToolUse(tool, input, ephemeral = true) {
|
|
95
|
+
async emitToolUse(tool, input, ephemeral = true, context) {
|
|
96
96
|
const inputSummary = this.summarizeToolInput(tool, input);
|
|
97
97
|
const category = classifyTool(tool);
|
|
98
98
|
await this.queueActivity({
|
|
@@ -102,16 +102,33 @@ export class ApiActivityEmitter {
|
|
|
102
102
|
toolName: tool,
|
|
103
103
|
toolInput: input,
|
|
104
104
|
toolCategory: category,
|
|
105
|
+
contextKey: context?.key,
|
|
106
|
+
contextValue: context?.value,
|
|
105
107
|
});
|
|
106
108
|
}
|
|
107
109
|
/**
|
|
108
110
|
* Emit a response activity (persisted)
|
|
109
111
|
*/
|
|
110
|
-
async emitResponse(content) {
|
|
112
|
+
async emitResponse(content, context) {
|
|
111
113
|
await this.queueActivity({
|
|
112
114
|
type: 'response',
|
|
113
115
|
content,
|
|
114
116
|
ephemeral: false,
|
|
117
|
+
contextKey: context?.key,
|
|
118
|
+
contextValue: context?.value,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Emit a context entry (persisted, not forwarded to Linear).
|
|
123
|
+
* Used by ContextManager to emit artifact summaries, structured state, etc.
|
|
124
|
+
*/
|
|
125
|
+
async emitContext(key, value) {
|
|
126
|
+
await this.queueActivity({
|
|
127
|
+
type: 'context',
|
|
128
|
+
content: `context:${key}`,
|
|
129
|
+
ephemeral: false,
|
|
130
|
+
contextKey: key,
|
|
131
|
+
contextValue: value,
|
|
115
132
|
});
|
|
116
133
|
}
|
|
117
134
|
/**
|
|
@@ -359,6 +376,8 @@ export class ApiActivityEmitter {
|
|
|
359
376
|
toolName: activity.toolName,
|
|
360
377
|
toolInput: activity.toolInput,
|
|
361
378
|
toolCategory: activity.toolCategory,
|
|
379
|
+
contextKey: activity.contextKey,
|
|
380
|
+
contextValue: activity.contextValue,
|
|
362
381
|
},
|
|
363
382
|
}),
|
|
364
383
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-backstop.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/session-backstop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,OAAO,KAAK,EAEV,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,cAAc,EACf,MAAM,2BAA2B,CAAA;AAWlC,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,CAAA;IACnB,iEAAiE;IACjE,aAAa,EAAE,OAAO,CAAA;IACtB,sDAAsD;IACtD,YAAY,EAAE,OAAO,CAAA;IACrB,2CAA2C;IAC3C,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,cAAc,GAAG,cAAc,CA8BzE;AAMD,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,cAAc,EACnB,OAAO,CAAC,EAAE,eAAe,GACxB,iBAAiB,CA2InB;AAED,oCAAoC;AACpC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACnC,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,EAAE,0BAA0B,GAAG,IAAI,CAAA;IAC7C,QAAQ,EAAE,cAAc,CAAA;IACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC;
|
|
1
|
+
{"version":3,"file":"session-backstop.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/session-backstop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,OAAO,KAAK,EAEV,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,cAAc,EACf,MAAM,2BAA2B,CAAA;AAWlC,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,CAAA;IACnB,iEAAiE;IACjE,aAAa,EAAE,OAAO,CAAA;IACtB,sDAAsD;IACtD,YAAY,EAAE,OAAO,CAAA;IACrB,2CAA2C;IAC3C,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,cAAc,GAAG,cAAc,CA8BzE;AAMD,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,cAAc,EACnB,OAAO,CAAC,EAAE,eAAe,GACxB,iBAAiB,CA2InB;AAED,oCAAoC;AACpC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACnC,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,EAAE,0BAA0B,GAAG,IAAI,CAAA;IAC7C,QAAQ,EAAE,cAAc,CAAA;IACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC;AA2VD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CA8C9E"}
|
|
@@ -350,6 +350,17 @@ function backstopPushBranch(worktreePath) {
|
|
|
350
350
|
};
|
|
351
351
|
}
|
|
352
352
|
}
|
|
353
|
+
/**
|
|
354
|
+
* Read a git config value, returning undefined if not set.
|
|
355
|
+
*/
|
|
356
|
+
function getGitConfig(key, cwd) {
|
|
357
|
+
try {
|
|
358
|
+
return execSync(`git config ${key}`, { cwd, encoding: 'utf-8', timeout: 5000 }).trim() || undefined;
|
|
359
|
+
}
|
|
360
|
+
catch {
|
|
361
|
+
return undefined;
|
|
362
|
+
}
|
|
363
|
+
}
|
|
353
364
|
function backstopCommitChanges(worktreePath, identifier) {
|
|
354
365
|
try {
|
|
355
366
|
// Check if there are actually uncommitted changes
|
|
@@ -366,6 +377,13 @@ function backstopCommitChanges(worktreePath, identifier) {
|
|
|
366
377
|
detail: 'Worktree is clean',
|
|
367
378
|
};
|
|
368
379
|
}
|
|
380
|
+
// Resolve git identity: env vars → git config → fallback defaults
|
|
381
|
+
const authorName = process.env.GIT_AUTHOR_NAME
|
|
382
|
+
?? getGitConfig('user.name', worktreePath)
|
|
383
|
+
?? 'AgentFactory';
|
|
384
|
+
const authorEmail = process.env.GIT_AUTHOR_EMAIL
|
|
385
|
+
?? getGitConfig('user.email', worktreePath)
|
|
386
|
+
?? 'agent@rensei.ai';
|
|
369
387
|
// Stage all changes and commit
|
|
370
388
|
execSync('git add -A', {
|
|
371
389
|
cwd: worktreePath,
|
|
@@ -378,11 +396,10 @@ function backstopCommitChanges(worktreePath, identifier) {
|
|
|
378
396
|
timeout: 30000,
|
|
379
397
|
env: {
|
|
380
398
|
...process.env,
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
GIT_COMMITTER_EMAIL: process.env.GIT_COMMITTER_EMAIL ?? 'backstop@agentfactory.dev',
|
|
399
|
+
GIT_AUTHOR_NAME: authorName,
|
|
400
|
+
GIT_AUTHOR_EMAIL: authorEmail,
|
|
401
|
+
GIT_COMMITTER_NAME: process.env.GIT_COMMITTER_NAME ?? authorName,
|
|
402
|
+
GIT_COMMITTER_EMAIL: process.env.GIT_COMMITTER_EMAIL ?? authorEmail,
|
|
386
403
|
},
|
|
387
404
|
});
|
|
388
405
|
const changedFiles = status.split('\n').length;
|
|
@@ -198,6 +198,8 @@ describe('runBackstop', () => {
|
|
|
198
198
|
.mockReturnValueOnce('') // isBranchPushed: ls-remote (not pushed)
|
|
199
199
|
// --- backstopCommitChanges ---
|
|
200
200
|
.mockReturnValueOnce(' M src/foo.ts\n?? src/bar.ts\n') // git status --porcelain
|
|
201
|
+
.mockReturnValueOnce('Test User\n') // git config user.name
|
|
202
|
+
.mockReturnValueOnce('test@example.com\n') // git config user.email
|
|
201
203
|
.mockReturnValueOnce('') // git add -A
|
|
202
204
|
.mockReturnValueOnce('') // git commit
|
|
203
205
|
// --- backstopPushBranch ---
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@renseiai/agentfactory",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.28",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Multi-agent fleet management for coding agents — orchestrator, providers, crash recovery",
|
|
6
6
|
"author": "Rensei AI (https://rensei.ai)",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"@types/node": "^22.5.4",
|
|
58
58
|
"typescript": "^5.7.3",
|
|
59
59
|
"vitest": "^3.2.3",
|
|
60
|
-
"@renseiai/create-agentfactory-app": "0.8.
|
|
60
|
+
"@renseiai/create-agentfactory-app": "0.8.28"
|
|
61
61
|
},
|
|
62
62
|
"scripts": {
|
|
63
63
|
"build": "tsc",
|