charness 3.9.0 → 3.9.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.
- package/CHANGELOG.md +6 -0
- package/dist/connectors/jira/inbound.d.ts +25 -1
- package/dist/connectors/jira/inbound.d.ts.map +1 -1
- package/dist/connectors/jira/inbound.js +74 -2
- package/dist/connectors/jira/inbound.js.map +1 -1
- package/dist/connectors/jira/issueContext.d.ts +11 -2
- package/dist/connectors/jira/issueContext.d.ts.map +1 -1
- package/dist/connectors/jira/issueContext.js +22 -2
- package/dist/connectors/jira/issueContext.js.map +1 -1
- package/dist/connectors/jira/prompt.d.ts +12 -2
- package/dist/connectors/jira/prompt.d.ts.map +1 -1
- package/dist/connectors/jira/prompt.js +59 -5
- package/dist/connectors/jira/prompt.js.map +1 -1
- package/dist/requests/requestHeader.d.ts +2 -1
- package/dist/requests/requestHeader.d.ts.map +1 -1
- package/dist/requests/requestHeader.js +6 -2
- package/dist/requests/requestHeader.js.map +1 -1
- package/dist/requests/storedPromptRefresh.d.ts +16 -0
- package/dist/requests/storedPromptRefresh.d.ts.map +1 -0
- package/dist/requests/storedPromptRefresh.js +36 -0
- package/dist/requests/storedPromptRefresh.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 3.9.1 — 2026-11-04
|
|
6
|
+
|
|
7
|
+
**An @-mention of the AI account in a Jira issue it is already working on no longer makes it believe the issue is not handed to it, and no longer stops its build.**
|
|
8
|
+
Before, the prompt for every @-mention said «The issue is not handed to you (assignee: nobody, …) — answer only, change nothing», because the bot never read the issue's assignee for that prompt. On an issue assigned to the AI account in a work status, with its hand-over request still open, a mention by another trusted person landed in the same session: the agent took the note for the state of the issue, dropped its build, and the bot's normal hand-back then reassigned the issue to the requester.
|
|
9
|
+
Now the assignee is read, and the note tells the cases apart. An issue assigned to the AI account in one of the project's trigger statuses with a hand-over request open is «handed to you»: the read-only limit applies only to that one answer, the open request is named and goes on unchanged, and a request for work in the comment is not taken on — a change has to come from that hand-over's requester or a new hand-over. The note is checked again right before it reaches the agent — also when the prompt waited behind a running turn or a usage limit, or is resent — and drops a hand-over that got its final answer meanwhile; it says the request was open when the comment came in, so a finished one is never resumed. With no hand-over request open, the same issue gets the answer-only note. An issue held by someone else, or assigned to the AI account in a status it does not work in, still gets the answer-only note, now naming the real assignee — and, while a hand-over request is open, saying that the request is not affected.
|
|
10
|
+
|
|
5
11
|
## 3.9.0 — 2026-11-03
|
|
6
12
|
|
|
7
13
|
**Pairing a runner from an admin account is now one paste: the pairing offers a `sudo` line that checks the account, pairs it and keeps it running — the line for the runner account itself stays as the second option.**
|
|
@@ -100,7 +100,7 @@ export interface JiraInboundDeps {
|
|
|
100
100
|
/** An @-mention of the AI account wakes it (`config.isMentionWakeOn`); never without {@link trust} — nobody could be judged. */
|
|
101
101
|
isMentionWakeOn: boolean;
|
|
102
102
|
/** The open requests of an issue's conversation — a hand-over's requester who mentions the AI is already served (D9). */
|
|
103
|
-
listOpenRequests: (key: SessionKey) => ReadonlyArray<Pick<OpenRequestState, 'origin'>>;
|
|
103
|
+
listOpenRequests: (key: SessionKey) => ReadonlyArray<Pick<OpenRequestState, 'id' | 'origin'>>;
|
|
104
104
|
now: () => number;
|
|
105
105
|
/** Bind the issue's conversation to its project's folder. */
|
|
106
106
|
bindConversation: (key: SessionKey, folder: string) => Promise<void>;
|
|
@@ -153,6 +153,12 @@ export declare class JiraInbound {
|
|
|
153
153
|
private readonly postingIssueKeys;
|
|
154
154
|
/** Per issue, its `updated` as of the last mention scan that decided every comment — in memory only: a restart scans once more. */
|
|
155
155
|
private readonly lastUpdatedByIssue;
|
|
156
|
+
/**
|
|
157
|
+
* The mention requests whose stored prompt can be rebuilt with the hand-over requests that are open NOW, by request id —
|
|
158
|
+
* in memory only (a restart leaves the stored text, whose wording holds on its own) and bounded: an entry of a request
|
|
159
|
+
* that is no longer open is dropped whenever another is added.
|
|
160
|
+
*/
|
|
161
|
+
private readonly promptRebuilders;
|
|
156
162
|
constructor(deps: JiraInboundDeps);
|
|
157
163
|
/** @description Poll now, then every `pollIntervalMs` after each poll ENDS (never two at once). */
|
|
158
164
|
start(): void;
|
|
@@ -191,6 +197,24 @@ export declare class JiraInbound {
|
|
|
191
197
|
/** One comment failing (the issue could not be read for its prompt, say) leaves the others' decisions standing; the next poll retries it. */
|
|
192
198
|
private getMentionDecisionSafely;
|
|
193
199
|
private getMentionDecision;
|
|
200
|
+
/**
|
|
201
|
+
* The hand-over requests (`trackerEvent`) the conversation has open, each with its requester named as the issue's own
|
|
202
|
+
* data names them — what a mention note says goes on. A mention request itself is not one: it hands nothing over.
|
|
203
|
+
*/
|
|
204
|
+
private getOpenHandOvers;
|
|
205
|
+
/**
|
|
206
|
+
* `handOvers` — the ones the note named when the prompt was built — without those that have finished since. Never more:
|
|
207
|
+
* the rest of the note (who holds the issue, in which status) is as of that moment, and a hand-over that opened later
|
|
208
|
+
* would be «open when this comment came in» next to an issue state it does not fit.
|
|
209
|
+
*/
|
|
210
|
+
private getStillOpenHandOvers;
|
|
211
|
+
private rememberPromptRebuilder;
|
|
212
|
+
/**
|
|
213
|
+
* @description The `StoredPromptRefresher` of this poller: a stored mention prompt (a wake-up's resend, the resume of a
|
|
214
|
+
* usage-limit wait) without the hand-over requests that have finished since it was built. Any other text — or a prompt
|
|
215
|
+
* of a request that is no longer open, or one built before a restart — comes back as it is.
|
|
216
|
+
*/
|
|
217
|
+
readonly refreshPromptText: (promptText: string) => string;
|
|
194
218
|
private openRequest;
|
|
195
219
|
/**
|
|
196
220
|
* @description Post the request, then record its trigger — also when the post
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbound.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/inbound.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EAAwC,KAAK,WAAW,EAA6B,KAAK,UAAU,EAAoC,MAAM,UAAU,CAAC;AAIhK,OAAO,KAAK,EAAE,cAAc,EAAqB,MAAM,cAAc,CAAC;AACtE,OAAO,EAAsF,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAIxI,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"inbound.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/inbound.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ const issueBlocks_1 = require("./issueBlocks");
|
|
|
13
13
|
const issueContext_1 = require("./issueContext");
|
|
14
14
|
const prompt_1 = require("./prompt");
|
|
15
15
|
const issueDelta_1 = require("./issueDelta");
|
|
16
|
+
const storedPromptRefresh_1 = require("../../requests/storedPromptRefresh");
|
|
16
17
|
const promptSpill_1 = require("./promptSpill");
|
|
17
18
|
const trustedGroup_1 = require("./trustedGroup");
|
|
18
19
|
/**
|
|
@@ -97,6 +98,10 @@ function buildJiraTriggerJql(projects, mentionWindowMs) {
|
|
|
97
98
|
const windowMinutes = Math.ceil(mentionWindowMs / msPerMinute);
|
|
98
99
|
return `project in (${projectKeys}) AND ((${assignedBranch}) OR (comment ~ currentUser() AND updated >= -${windowMinutes}m)) ORDER BY created ASC`;
|
|
99
100
|
}
|
|
101
|
+
/** The first line of a stored request prompt names its request: `[Request req_… · from: …]`. */
|
|
102
|
+
const storedPromptRequestIdPattern = /^\[Request (req_[A-Za-z0-9_-]+) · /;
|
|
103
|
+
/** How many mention prompts can be rebuilt at delivery at once (each keeps its issue in memory). */
|
|
104
|
+
const promptRebuildersMax = 32;
|
|
100
105
|
class JiraInbound {
|
|
101
106
|
deps;
|
|
102
107
|
timer = null;
|
|
@@ -112,6 +117,12 @@ class JiraInbound {
|
|
|
112
117
|
postingIssueKeys = new Set();
|
|
113
118
|
/** Per issue, its `updated` as of the last mention scan that decided every comment — in memory only: a restart scans once more. */
|
|
114
119
|
lastUpdatedByIssue = new Map();
|
|
120
|
+
/**
|
|
121
|
+
* The mention requests whose stored prompt can be rebuilt with the hand-over requests that are open NOW, by request id —
|
|
122
|
+
* in memory only (a restart leaves the stored text, whose wording holds on its own) and bounded: an entry of a request
|
|
123
|
+
* that is no longer open is dropped whenever another is added.
|
|
124
|
+
*/
|
|
125
|
+
promptRebuilders = new Map();
|
|
115
126
|
constructor(deps) {
|
|
116
127
|
this.deps = deps;
|
|
117
128
|
}
|
|
@@ -120,11 +131,13 @@ class JiraInbound {
|
|
|
120
131
|
if (this.isRunning)
|
|
121
132
|
return;
|
|
122
133
|
this.isRunning = true;
|
|
134
|
+
(0, storedPromptRefresh_1.setStoredPromptRefresher)(this.refreshPromptText);
|
|
123
135
|
this.stopListeningForSlots = this.deps.slots.onSlotFreed(() => this.pollSoon());
|
|
124
136
|
this.scheduleNext(0);
|
|
125
137
|
}
|
|
126
138
|
stop() {
|
|
127
139
|
this.isRunning = false;
|
|
140
|
+
(0, storedPromptRefresh_1.clearStoredPromptRefresher)(this.refreshPromptText);
|
|
128
141
|
if (this.timer)
|
|
129
142
|
clearTimeout(this.timer);
|
|
130
143
|
this.timer = null;
|
|
@@ -396,6 +409,52 @@ class JiraInbound {
|
|
|
396
409
|
}
|
|
397
410
|
return this.openRequest(issue, project, trigger, comment.author ?? null, at);
|
|
398
411
|
}
|
|
412
|
+
/**
|
|
413
|
+
* The hand-over requests (`trackerEvent`) the conversation has open, each with its requester named as the issue's own
|
|
414
|
+
* data names them — what a mention note says goes on. A mention request itself is not one: it hands nothing over.
|
|
415
|
+
*/
|
|
416
|
+
getOpenHandOvers(key, context) {
|
|
417
|
+
return this.deps.listOpenRequests(key)
|
|
418
|
+
.filter((request) => request.origin.kind === 'trackerEvent')
|
|
419
|
+
.map((request) => ({ requestId: request.id, requester: (0, issueContext_1.findAccountInContext)(context, (0, requestGroup_1.getRequestRequester)(request.origin)) }));
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* `handOvers` — the ones the note named when the prompt was built — without those that have finished since. Never more:
|
|
423
|
+
* the rest of the note (who holds the issue, in which status) is as of that moment, and a hand-over that opened later
|
|
424
|
+
* would be «open when this comment came in» next to an issue state it does not fit.
|
|
425
|
+
*/
|
|
426
|
+
getStillOpenHandOvers(key, handOvers) {
|
|
427
|
+
const openIds = new Set(this.deps.listOpenRequests(key).map((request) => request.id));
|
|
428
|
+
return handOvers.filter((handOver) => openIds.has(handOver.requestId));
|
|
429
|
+
}
|
|
430
|
+
rememberPromptRebuilder(key, requestId, rebuild) {
|
|
431
|
+
for (const [id, entry] of this.promptRebuilders) {
|
|
432
|
+
if (!this.deps.listOpenRequests(entry.key).some((request) => request.id === id))
|
|
433
|
+
this.promptRebuilders.delete(id);
|
|
434
|
+
}
|
|
435
|
+
this.promptRebuilders.set(requestId, { key, rebuild });
|
|
436
|
+
for (const id of this.promptRebuilders.keys()) {
|
|
437
|
+
if (this.promptRebuilders.size <= promptRebuildersMax)
|
|
438
|
+
break;
|
|
439
|
+
this.promptRebuilders.delete(id);
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* @description The `StoredPromptRefresher` of this poller: a stored mention prompt (a wake-up's resend, the resume of a
|
|
444
|
+
* usage-limit wait) without the hand-over requests that have finished since it was built. Any other text — or a prompt
|
|
445
|
+
* of a request that is no longer open, or one built before a restart — comes back as it is.
|
|
446
|
+
*/
|
|
447
|
+
refreshPromptText = (promptText) => {
|
|
448
|
+
const requestId = storedPromptRequestIdPattern.exec(promptText)?.[1];
|
|
449
|
+
const entry = requestId === undefined ? undefined : this.promptRebuilders.get(requestId);
|
|
450
|
+
if (requestId === undefined || !entry)
|
|
451
|
+
return promptText;
|
|
452
|
+
if (!this.deps.listOpenRequests(entry.key).some((request) => request.id === requestId)) {
|
|
453
|
+
this.promptRebuilders.delete(requestId);
|
|
454
|
+
return promptText;
|
|
455
|
+
}
|
|
456
|
+
return entry.rebuild();
|
|
457
|
+
};
|
|
399
458
|
async openRequest(issue, project, trigger, requester, at) {
|
|
400
459
|
const { deps } = this;
|
|
401
460
|
const { trust } = deps;
|
|
@@ -409,6 +468,8 @@ class JiraInbound {
|
|
|
409
468
|
const blocks = (0, issueBlocks_1.buildIssueBlocks)(context, project.extraFields, deps.aiAccountId, blockTrust);
|
|
410
469
|
deps.noteShownSummary?.(issue.key, (0, issueBlocks_1.getShownIssueSummary)(context, blockTrust));
|
|
411
470
|
const key = (0, sessionKeyCodec_1.makeJiraKey)(issue.key);
|
|
471
|
+
const statusId = context.issue.fields.status?.id;
|
|
472
|
+
const isMention = trigger.kind === 'mentioned';
|
|
412
473
|
const promptInput = {
|
|
413
474
|
issueKey: issue.key,
|
|
414
475
|
statusName: context.issue.fields.status?.name,
|
|
@@ -417,6 +478,10 @@ class JiraInbound {
|
|
|
417
478
|
requester,
|
|
418
479
|
assignee: context.issue.fields.assignee ?? null,
|
|
419
480
|
isAssignedToYou: context.issue.fields.assignee?.accountId === deps.aiAccountId,
|
|
481
|
+
isInWorkStatus: statusId !== undefined && project.triggerStatusIds.has(statusId),
|
|
482
|
+
// As of building the prompt only: the text is rebuilt right before it is forwarded (`buildText`) and when a stored copy
|
|
483
|
+
// is read for a resend (`refreshPromptText`), and the note's wording holds where neither happens (a restart in between).
|
|
484
|
+
openHandOvers: isMention ? this.getOpenHandOvers(key, context) : [],
|
|
420
485
|
triggerStatusNames: project.triggerStatusNames,
|
|
421
486
|
isTextFiltered: trust !== null,
|
|
422
487
|
};
|
|
@@ -427,8 +492,9 @@ class JiraInbound {
|
|
|
427
492
|
measure: (candidate) => (0, prompt_1.buildJiraRequestPrompt)({ ...promptInput, requestId: promptSpill_1.standInRequestId, ...candidate }).length,
|
|
428
493
|
});
|
|
429
494
|
await deps.bindConversation(key, project.folder);
|
|
430
|
-
const createPrompt = (requestId, supersededRequestIds) => (0, prompt_1.buildJiraRequestPrompt)({
|
|
495
|
+
const createPrompt = (requestId, supersededRequestIds, openHandOvers = promptInput.openHandOvers) => (0, prompt_1.buildJiraRequestPrompt)({
|
|
431
496
|
...promptInput,
|
|
497
|
+
openHandOvers,
|
|
432
498
|
requestId,
|
|
433
499
|
...fitted,
|
|
434
500
|
supersededRequestIds,
|
|
@@ -442,6 +508,8 @@ class JiraInbound {
|
|
|
442
508
|
}, createPrompt);
|
|
443
509
|
const supersededRequestIds = request.supersededRequestIds ?? [];
|
|
444
510
|
const fullText = createPrompt(request.id, supersededRequestIds);
|
|
511
|
+
if (isMention)
|
|
512
|
+
this.rememberPromptRebuilder(key, request.id, () => createPrompt(request.id, supersededRequestIds, this.getStillOpenHandOvers(key, promptInput.openHandOvers)));
|
|
445
513
|
const prompt = {
|
|
446
514
|
fullText,
|
|
447
515
|
// C5: built only once the post knows whether the session is fresh — right before the forward.
|
|
@@ -451,7 +519,11 @@ class JiraInbound {
|
|
|
451
519
|
const delta = (0, issueDelta_1.getIssueDelta)(fitted.blocks, isWhole ? {} : snapshot.sent);
|
|
452
520
|
// Counted as sent only once the agent takes it in (C4): the connector commits it then.
|
|
453
521
|
deps.contextLedger.recordBuild(issue.key, request.id, snapshot.generation, delta.sent);
|
|
454
|
-
|
|
522
|
+
// The hand-over requests the mention note names are checked again here: the post may have waited behind a running turn.
|
|
523
|
+
const openHandOvers = this.getStillOpenHandOvers(key, promptInput.openHandOvers);
|
|
524
|
+
return isWhole
|
|
525
|
+
? createPrompt(request.id, supersededRequestIds, openHandOvers)
|
|
526
|
+
: (0, prompt_1.buildJiraDeltaPrompt)({ ...promptInput, openHandOvers, requestId: request.id, supersededRequestIds, delta });
|
|
455
527
|
},
|
|
456
528
|
};
|
|
457
529
|
// Not awaited: a busy session may take minutes to take the prompt, and the rest of
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbound.js","sourceRoot":"","sources":["../../../src/connectors/jira/inbound.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inbound.js","sourceRoot":"","sources":["../../../src/connectors/jira/inbound.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type JiraChangelogHistory, type JiraClient, type JiraComment, type JiraIssue, type JiraRemoteLink } from './client';
|
|
1
|
+
import { type JiraAccount, type JiraChangelogHistory, type JiraClient, type JiraComment, type JiraIssue, type JiraRemoteLink } from './client';
|
|
2
2
|
/**
|
|
3
3
|
* @description Everything one request's prompt says about an issue (plan C1,
|
|
4
4
|
* C2): the issue's own fields, ALL its comments (the issue field holds at most
|
|
@@ -7,7 +7,10 @@ import { type JiraChangelogHistory, type JiraClient, type JiraComment, type Jira
|
|
|
7
7
|
* a request is never left without its prompt. With a trusted group the issue's
|
|
8
8
|
* WHOLE changelog is read too: it names who wrote what every field says now.
|
|
9
9
|
*/
|
|
10
|
-
/**
|
|
10
|
+
/**
|
|
11
|
+
* The fields every prompt reads; a project's `extraFields` ids are added to them. `assignee` is not rendered in the
|
|
12
|
+
* issue's blocks: the mention note reads it (who has the issue, and whether it is handed to the AI account).
|
|
13
|
+
*/
|
|
11
14
|
export declare const jiraPromptIssueFields: string[];
|
|
12
15
|
export declare const jiraChildSearchPageSize = 100;
|
|
13
16
|
/** An issue type at this level or above holds child issues (an epic); level 0 holds sub-tasks, below 0 is a sub-task. */
|
|
@@ -23,6 +26,12 @@ export interface JiraIssueContext {
|
|
|
23
26
|
/** The whole changelog, oldest first — read only when the caller asked for it (`isChangelogNeeded`), else empty. */
|
|
24
27
|
changelog: JiraChangelogHistory[];
|
|
25
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* @description The account `accountId` as the issue's own data names it — reporter, creator, assignee, the authors of
|
|
31
|
+
* the comments and of the changelog entries — or null when none of them does (or none carries a display name): a
|
|
32
|
+
* request's ledger record holds an account id only.
|
|
33
|
+
*/
|
|
34
|
+
export declare function findAccountInContext(context: JiraIssueContext, accountId: string): JiraAccount | null;
|
|
26
35
|
/**
|
|
27
36
|
* @description Read the issue, its comments, its remote links and, when it can have them, its children —
|
|
28
37
|
* and, when `isChangelogNeeded`, its whole changelog.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issueContext.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/issueContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgD,KAAK,oBAAoB,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"issueContext.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/issueContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgD,KAAK,WAAW,EAAE,KAAK,oBAAoB,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAE7L;;;;;;;GAOG;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,UAGjC,CAAC;AAIF,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,yHAAyH;AACzH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,GAAG,gBAAgB,GAAG,cAAc,GAAG,kBAAkB,CAAC,CAAC;AAE3I,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,oBAAoB;IACpB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,4GAA4G;IAC5G,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,oHAAoH;IACpH,SAAS,EAAE,oBAAoB,EAAE,CAAC;CACnC;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CASrG;AAoCD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,SAAS,MAAM,EAAE,EAChC,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAS3B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.jiraParentHierarchyLevel = exports.jiraChildSearchPageSize = exports.jiraPromptIssueFields = void 0;
|
|
4
|
+
exports.findAccountInContext = findAccountInContext;
|
|
4
5
|
exports.fetchJiraIssueContext = fetchJiraIssueContext;
|
|
5
6
|
const client_1 = require("./client");
|
|
6
7
|
/**
|
|
@@ -11,9 +12,12 @@ const client_1 = require("./client");
|
|
|
11
12
|
* a request is never left without its prompt. With a trusted group the issue's
|
|
12
13
|
* WHOLE changelog is read too: it names who wrote what every field says now.
|
|
13
14
|
*/
|
|
14
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* The fields every prompt reads; a project's `extraFields` ids are added to them. `assignee` is not rendered in the
|
|
17
|
+
* issue's blocks: the mention note reads it (who has the issue, and whether it is handed to the AI account).
|
|
18
|
+
*/
|
|
15
19
|
exports.jiraPromptIssueFields = [
|
|
16
|
-
'summary', 'status', 'issuetype', 'priority', 'parent', 'subtasks', 'issuelinks', 'fixVersions', 'labels',
|
|
20
|
+
'summary', 'status', 'assignee', 'issuetype', 'priority', 'parent', 'subtasks', 'issuelinks', 'fixVersions', 'labels',
|
|
17
21
|
'components', 'attachment', 'description', 'reporter', 'creator',
|
|
18
22
|
];
|
|
19
23
|
/** Only the description's HTML is asked for: it names the attachment behind an inline file (C9). */
|
|
@@ -22,6 +26,22 @@ const childIssueFields = ['summary', 'status', 'issuetype'];
|
|
|
22
26
|
exports.jiraChildSearchPageSize = 100;
|
|
23
27
|
/** An issue type at this level or above holds child issues (an epic); level 0 holds sub-tasks, below 0 is a sub-task. */
|
|
24
28
|
exports.jiraParentHierarchyLevel = 1;
|
|
29
|
+
/**
|
|
30
|
+
* @description The account `accountId` as the issue's own data names it — reporter, creator, assignee, the authors of
|
|
31
|
+
* the comments and of the changelog entries — or null when none of them does (or none carries a display name): a
|
|
32
|
+
* request's ledger record holds an account id only.
|
|
33
|
+
*/
|
|
34
|
+
function findAccountInContext(context, accountId) {
|
|
35
|
+
if (!accountId)
|
|
36
|
+
return null;
|
|
37
|
+
const { reporter, creator, assignee } = context.issue.fields;
|
|
38
|
+
const candidates = [
|
|
39
|
+
reporter, creator, assignee,
|
|
40
|
+
...context.comments.flatMap((comment) => [comment.author, comment.updateAuthor]),
|
|
41
|
+
...context.changelog.map((history) => history.author),
|
|
42
|
+
];
|
|
43
|
+
return candidates.find((account) => account?.accountId === accountId && account.displayName) ?? null;
|
|
44
|
+
}
|
|
25
45
|
/** A JQL string literal: the key is Jira's own, but a quote or backslash in it must never end the literal. */
|
|
26
46
|
function getJqlQuoted(text) {
|
|
27
47
|
return `"${text.replace(/["\\]/g, '\\$&')}"`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issueContext.js","sourceRoot":"","sources":["../../../src/connectors/jira/issueContext.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"issueContext.js","sourceRoot":"","sources":["../../../src/connectors/jira/issueContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,12 @@ import type { IssueDelta } from './issueDelta';
|
|
|
5
5
|
import type { JiraIssueTrigger } from './trigger';
|
|
6
6
|
/** How the issue reached the agent, in a few words — the header's `from:`. */
|
|
7
7
|
export declare function getJiraOriginDescription(issueKey: string, trigger: JiraIssueTrigger, statusName: string | undefined): string;
|
|
8
|
+
/** An open hand-over request (`trackerEvent`) of the conversation, as a mention note names it. */
|
|
9
|
+
export interface JiraOpenHandOver {
|
|
10
|
+
requestId: string;
|
|
11
|
+
/** Who handed the issue over, as the issue's own data names them; null when the request has no requester or no data names them. */
|
|
12
|
+
requester: JiraAccount | null;
|
|
13
|
+
}
|
|
8
14
|
/** What every prompt of a request says before the issue itself: who, which issue, where answers go. */
|
|
9
15
|
export interface JiraRequestPromptBase {
|
|
10
16
|
requestId: string;
|
|
@@ -15,10 +21,14 @@ export interface JiraRequestPromptBase {
|
|
|
15
21
|
issueUrl: string;
|
|
16
22
|
trigger: JiraIssueTrigger;
|
|
17
23
|
requester: JiraAccount | null;
|
|
18
|
-
/** The issue's assignee when the request is a mention (the
|
|
24
|
+
/** The issue's assignee when the request is a mention (the note names who has it). */
|
|
19
25
|
assignee?: JiraAccount | null;
|
|
20
|
-
/** A mention request: the issue is assigned to the AI account (its status is what keeps it from being handed over). */
|
|
26
|
+
/** A mention request: the issue is assigned to the AI account (with `isInWorkStatus` it is handed to it, else its status is what keeps it from being handed over). */
|
|
21
27
|
isAssignedToYou?: boolean;
|
|
28
|
+
/** A mention request: the issue's status is one the project hands work over in (`triggerStatusIds`, matched by id). */
|
|
29
|
+
isInWorkStatus?: boolean;
|
|
30
|
+
/** A mention request: the hand-over requests of the conversation that were open when the prompt was built — the work a mention must not stop. */
|
|
31
|
+
openHandOvers?: readonly JiraOpenHandOver[];
|
|
22
32
|
/** A mention request: the statuses the issue's project hands work over in (`jira.json` `triggerStatuses`), as configured. */
|
|
23
33
|
triggerStatusNames?: readonly string[];
|
|
24
34
|
/** The same requester's earlier requests of the issue this one replaced (R34); the header names them. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/prompt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AA+BlD,8EAA8E;AAC9E,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAY5H;
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/prompt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AA+BlD,8EAA8E;AAC9E,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAY5H;AA8ED,kGAAkG;AAClG,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,mIAAmI;IACnI,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;CAC/B;AAED,uGAAuG;AACvG,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,sFAAsF;IACtF,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,sKAAsK;IACtK,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uHAAuH;IACvH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iJAAiJ;IACjJ,aAAa,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC5C,6HAA6H;IAC7H,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,yGAAyG;IACzG,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,kIAAkI;IAClI,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,oGAAoG;IACpG,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IAC9B,qHAAqH;IACrH,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACpC;AAsBD,uHAAuH;AACvH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CAa5E;AAQD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,GAAG;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,GAAG,MAAM,CAWjG"}
|
|
@@ -45,12 +45,62 @@ function getJiraOriginDescription(issueKey, trigger, statusName) {
|
|
|
45
45
|
return `${issueKey}: you were mentioned by ${by} in comment ${(0, promptText_1.getSingleLineText)(trigger.commentId ?? '')}`;
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
/**
|
|
48
|
+
/** `request req_1 of Ann`, `requests req_1 of Ann and req_2` — the open hand-over requests the way the mention notes name them. */
|
|
49
|
+
function getOpenHandOverText(openHandOvers) {
|
|
50
|
+
const names = openHandOvers.map((handOver) => `${handOver.requestId}${handOver.requester ? ` of ${(0, promptText_1.getAccountName)(handOver.requester)}` : ''}`);
|
|
51
|
+
const list = names.length > 1 ? `${names.slice(0, -1).join(', ')} and ${names[names.length - 1]}` : names[0];
|
|
52
|
+
return `${names.length > 1 ? 'requests' : 'request'} ${list}`;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* What a mention request adds after the requester line. Four cases, from the issue as it stands and from the
|
|
56
|
+
* conversation's open hand-over requests: not handed over (assigned to someone else or nobody); assigned to the AI
|
|
57
|
+
* account in a status it does not work in (not handed over either); assigned AND in a work status with no hand-over
|
|
58
|
+
* request open (nothing is running, so answer only); handed to it — assigned AND in a work status with a hand-over
|
|
59
|
+
* request open: the read-only limit is for this one answer, and that request, the work the conversation already has,
|
|
60
|
+
* goes on. Whenever a hand-over request is open, every note says the limit is about this answer only. The open
|
|
61
|
+
* requests are those of the moment the note was built (the prompt is rebuilt right before it is forwarded, but a
|
|
62
|
+
* stored copy may be read later still), so every note says they WERE open when the comment came in, and that one
|
|
63
|
+
* whose final answer the agent has already given is finished.
|
|
64
|
+
*/
|
|
49
65
|
function getMentionNote(input, commentId) {
|
|
50
66
|
const assigneeName = input.assignee ? (0, promptText_1.getAccountName)(input.assignee) : 'nobody';
|
|
51
67
|
const statusName = (0, promptText_1.getSingleLineText)(input.statusName ?? '') || 'unknown';
|
|
52
68
|
const workStatuses = (input.triggerStatusNames ?? []).map((name) => `"${(0, promptText_1.getSingleLineText)(name)}"`).join(', ');
|
|
53
69
|
const workStatusText = workStatuses ? ` (in this project: ${workStatuses})` : '';
|
|
70
|
+
const openHandOvers = input.openHandOvers ?? [];
|
|
71
|
+
const openText = openHandOvers.length > 0 ? getOpenHandOverText(openHandOvers) : '';
|
|
72
|
+
const isPlural = openHandOvers.length > 1;
|
|
73
|
+
const wasOpenText = `${isPlural ? 'were' : 'was'} open when this comment came in`;
|
|
74
|
+
const finishedText = isPlural
|
|
75
|
+
? 'if you have already given the final answer of one of them, that one is finished — do not resume it'
|
|
76
|
+
: 'if you have already given its final answer, it is finished — do not resume it';
|
|
77
|
+
const mentionedText = `You were mentioned in comment ${(0, promptText_1.getSingleLineText)(commentId)} by ${(0, promptText_1.getAccountName)(input.trigger.author)}. `;
|
|
78
|
+
const limitText = 'you may read the issue and the code and run read-only checks, but change nothing — no code changes, no commits or pushes, no edits in Jira. ';
|
|
79
|
+
const answerText = 'Your answer becomes a comment on the issue; it does not reassign the issue.';
|
|
80
|
+
if (input.isAssignedToYou && input.isInWorkStatus) {
|
|
81
|
+
if (openHandOvers.length === 0) {
|
|
82
|
+
return mentionedText +
|
|
83
|
+
`The issue is assigned to you and its status (${statusName}) is one you work in${workStatusText}, ` +
|
|
84
|
+
'but no hand-over request is open in this conversation, so no work is handed to you now. ' +
|
|
85
|
+
`Answer only: ${limitText}` +
|
|
86
|
+
'If the comment asks you to do work, answer that it does not start work: a hand-over does — the issue assigned to you, or moved into a status you work in, as a new change. ' +
|
|
87
|
+
answerText;
|
|
88
|
+
}
|
|
89
|
+
const handOver = isPlural ? 'its hand-overs' : 'its hand-over';
|
|
90
|
+
const thatHandOver = isPlural ? 'those hand-overs' : 'that hand-over';
|
|
91
|
+
const requesterText = isPlural ? 'the requesters of those hand-overs' : "that hand-over's requester";
|
|
92
|
+
return mentionedText +
|
|
93
|
+
`The issue is handed to you: it is assigned to you, its status (${statusName}) is one you work in${workStatusText}, ` +
|
|
94
|
+
`and the hand-over ${openText} ${wasOpenText}; ${finishedText}. ` +
|
|
95
|
+
`Answer this comment between steps of your work, not in the middle of one: ${limitText}` +
|
|
96
|
+
'That limit applies only to this answer to the mention, not to the work: ' +
|
|
97
|
+
`${isPlural ? `any of ${openText} that is not finished` : `if ${openText} is not finished, it`} goes on unchanged — ` +
|
|
98
|
+
'carry on with it after you have answered, and do not stop, drop or end it because of this mention. ' +
|
|
99
|
+
'If the comment asks you to do work, do not take it on because of this comment: ' +
|
|
100
|
+
`answer that the work on this issue is what ${handOver} asked for, and that a change to it must come from ${requesterText} (or a new hand-over). ` +
|
|
101
|
+
`Do only what ${thatHandOver} already ${isPlural ? 'cover' : 'covers'}. ` +
|
|
102
|
+
answerText;
|
|
103
|
+
}
|
|
54
104
|
// Assigned to the AI account in a status it does not work in: "assign it to me" would be wrong — the status is what is missing.
|
|
55
105
|
const notHandedText = input.isAssignedToYou
|
|
56
106
|
? `The issue is assigned to you, but its status (${statusName}) is not one you work in${workStatusText}, so it is not handed to you. `
|
|
@@ -58,12 +108,16 @@ function getMentionNote(input, commentId) {
|
|
|
58
108
|
const handOverText = input.isAssignedToYou
|
|
59
109
|
? `answer that the issue has to be moved to a status you work in${workStatusText} for that — it is already assigned to you. `
|
|
60
110
|
: `answer that the issue has to be assigned to you in a status you work in${workStatusText} for that. `;
|
|
61
|
-
|
|
111
|
+
// A hand-over request can be open on an issue that is no longer handed to the AI (it moved the issue on): the note must not end that work.
|
|
112
|
+
const openRequestText = openText
|
|
113
|
+
? `This is about this answer only; the hand-over ${openText} ${wasOpenText} and ${isPlural ? 'are' : 'is'} not affected by it; ${finishedText}. `
|
|
114
|
+
: '';
|
|
115
|
+
return mentionedText +
|
|
62
116
|
notHandedText +
|
|
63
|
-
|
|
64
|
-
|
|
117
|
+
`Answer only: ${limitText}` +
|
|
118
|
+
openRequestText +
|
|
65
119
|
`If the comment asks you to do work, ${handOverText}` +
|
|
66
|
-
|
|
120
|
+
answerText;
|
|
67
121
|
}
|
|
68
122
|
/** The request header, the issue-text note and the issue's per-request lines; `title` names the issue. */
|
|
69
123
|
function getPromptStart(input, title) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/connectors/jira/prompt.ts"],"names":[],"mappings":";;AAsCA,4DAYC;
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/connectors/jira/prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,7 +43,8 @@ export interface WakeUpMessage {
|
|
|
43
43
|
/**
|
|
44
44
|
* @description The request's own prompt while the session never took it in — its
|
|
45
45
|
* post failed, a restart came first, a usage-limit wait held it (R21); `undefined`
|
|
46
|
-
* once it was taken in, or when the request keeps no prompt.
|
|
46
|
+
* once it was taken in, or when the request keeps no prompt. Brought up to date as it is read
|
|
47
|
+
* (`refreshStoredPrompt`): it may have waited hours.
|
|
47
48
|
*/
|
|
48
49
|
export declare function getPromptNotTakenIn(request: OpenRequestState | null | undefined): string | undefined;
|
|
49
50
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestHeader.d.ts","sourceRoot":"","sources":["../../src/requests/requestHeader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requestHeader.d.ts","sourceRoot":"","sources":["../../src/requests/requestHeader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAErE;;;;;;;GAOG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,yGAAyG;AACzG,wBAAgB,2BAA2B,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAM3F;AAED,6FAA6F;AAC7F,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAaxE;AAUD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGpG;AAKD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GAAG,MAAM,GAAG,SAAS,CAG/F;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,mBAAmB,GAAG,aAAa,CAItG;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,GAAG,MAAM,CAQvG"}
|
|
@@ -7,6 +7,7 @@ exports.joinPromptsNotTakenIn = joinPromptsNotTakenIn;
|
|
|
7
7
|
exports.getWakeUpMessage = getWakeUpMessage;
|
|
8
8
|
exports.buildWakeUpReminder = buildWakeUpReminder;
|
|
9
9
|
const answerStyle_1 = require("./answerStyle");
|
|
10
|
+
const storedPromptRefresh_1 = require("./storedPromptRefresh");
|
|
10
11
|
/** @description The header's line naming the requests this one replaced; empty when it replaced none. */
|
|
11
12
|
function buildSupersededRequestsLine(supersededRequestIds) {
|
|
12
13
|
if (supersededRequestIds.length === 0)
|
|
@@ -42,10 +43,13 @@ const wakeUpReasonLines = {
|
|
|
42
43
|
/**
|
|
43
44
|
* @description The request's own prompt while the session never took it in — its
|
|
44
45
|
* post failed, a restart came first, a usage-limit wait held it (R21); `undefined`
|
|
45
|
-
* once it was taken in, or when the request keeps no prompt.
|
|
46
|
+
* once it was taken in, or when the request keeps no prompt. Brought up to date as it is read
|
|
47
|
+
* (`refreshStoredPrompt`): it may have waited hours.
|
|
46
48
|
*/
|
|
47
49
|
function getPromptNotTakenIn(request) {
|
|
48
|
-
|
|
50
|
+
if (request?.isPromptTakenIn === true || request?.prompt === undefined)
|
|
51
|
+
return undefined;
|
|
52
|
+
return (0, storedPromptRefresh_1.refreshStoredPrompt)(request.prompt);
|
|
49
53
|
}
|
|
50
54
|
/** Between two requests' prompts re-posted in one message (each prompt ends with its own text, not a blank line). */
|
|
51
55
|
const joinedPromptsSeparator = '\n\n';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestHeader.js","sourceRoot":"","sources":["../../src/requests/requestHeader.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"requestHeader.js","sourceRoot":"","sources":["../../src/requests/requestHeader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description A request's prompt is stored when the request opens (R21), and may be delivered hours later — behind a
|
|
3
|
+
* running turn, through a usage-limit wait, in a wake-up's resend. A connector whose prompt says something that can
|
|
4
|
+
* change in the meantime (the Jira mention note names the hand-over requests that are open) registers ONE refresher: it
|
|
5
|
+
* gets a stored prompt as it is about to be delivered and returns the text to deliver instead — the same text when it
|
|
6
|
+
* knows nothing better, which is every prompt it did not build itself. Every place that turns a stored prompt into
|
|
7
|
+
* delivered text goes through {@link refreshStoredPrompt}.
|
|
8
|
+
*/
|
|
9
|
+
export type StoredPromptRefresher = (promptText: string) => string;
|
|
10
|
+
/** @description Register `refresher`, replacing the previous one (a process has one connector that needs it). */
|
|
11
|
+
export declare function setStoredPromptRefresher(refresher: StoredPromptRefresher): void;
|
|
12
|
+
/** @description Drop `refresher` — only when it is still the registered one, so a stopped older connector never removes a newer one's. */
|
|
13
|
+
export declare function clearStoredPromptRefresher(refresher: StoredPromptRefresher): void;
|
|
14
|
+
/** @description `promptText` as it should be delivered now. Never throws: a refresher that fails leaves the stored text. */
|
|
15
|
+
export declare function refreshStoredPrompt(promptText: string): string;
|
|
16
|
+
//# sourceMappingURL=storedPromptRefresh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storedPromptRefresh.d.ts","sourceRoot":"","sources":["../../src/requests/storedPromptRefresh.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;AAInE,iHAAiH;AACjH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAE/E;AAED,0IAA0I;AAC1I,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAEjF;AAED,4HAA4H;AAC5H,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAQ9D"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description A request's prompt is stored when the request opens (R21), and may be delivered hours later — behind a
|
|
4
|
+
* running turn, through a usage-limit wait, in a wake-up's resend. A connector whose prompt says something that can
|
|
5
|
+
* change in the meantime (the Jira mention note names the hand-over requests that are open) registers ONE refresher: it
|
|
6
|
+
* gets a stored prompt as it is about to be delivered and returns the text to deliver instead — the same text when it
|
|
7
|
+
* knows nothing better, which is every prompt it did not build itself. Every place that turns a stored prompt into
|
|
8
|
+
* delivered text goes through {@link refreshStoredPrompt}.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.setStoredPromptRefresher = setStoredPromptRefresher;
|
|
12
|
+
exports.clearStoredPromptRefresher = clearStoredPromptRefresher;
|
|
13
|
+
exports.refreshStoredPrompt = refreshStoredPrompt;
|
|
14
|
+
let currentRefresher = null;
|
|
15
|
+
/** @description Register `refresher`, replacing the previous one (a process has one connector that needs it). */
|
|
16
|
+
function setStoredPromptRefresher(refresher) {
|
|
17
|
+
currentRefresher = refresher;
|
|
18
|
+
}
|
|
19
|
+
/** @description Drop `refresher` — only when it is still the registered one, so a stopped older connector never removes a newer one's. */
|
|
20
|
+
function clearStoredPromptRefresher(refresher) {
|
|
21
|
+
if (currentRefresher === refresher)
|
|
22
|
+
currentRefresher = null;
|
|
23
|
+
}
|
|
24
|
+
/** @description `promptText` as it should be delivered now. Never throws: a refresher that fails leaves the stored text. */
|
|
25
|
+
function refreshStoredPrompt(promptText) {
|
|
26
|
+
if (!currentRefresher)
|
|
27
|
+
return promptText;
|
|
28
|
+
try {
|
|
29
|
+
return currentRefresher(promptText);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.warn(`[storedPromptRefresh] kept the stored prompt: ${error instanceof Error ? error.message : String(error)}`);
|
|
33
|
+
return promptText;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=storedPromptRefresh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storedPromptRefresh.js","sourceRoot":"","sources":["../../src/requests/storedPromptRefresh.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAOH,4DAEC;AAGD,gEAEC;AAGD,kDAQC;AArBD,IAAI,gBAAgB,GAAiC,IAAI,CAAC;AAE1D,iHAAiH;AACjH,SAAgB,wBAAwB,CAAC,SAAgC;IACvE,gBAAgB,GAAG,SAAS,CAAC;AAC/B,CAAC;AAED,0IAA0I;AAC1I,SAAgB,0BAA0B,CAAC,SAAgC;IACzE,IAAI,gBAAgB,KAAK,SAAS;QAAE,gBAAgB,GAAG,IAAI,CAAC;AAC9D,CAAC;AAED,4HAA4H;AAC5H,SAAgB,mBAAmB,CAAC,UAAkB;IACpD,IAAI,CAAC,gBAAgB;QAAE,OAAO,UAAU,CAAC;IACzC,IAAI,CAAC;QACH,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,iDAAiD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxH,OAAO,UAAU,CAAC;IACpB,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED