charness 3.0.0 → 3.1.0
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/README.md +188 -16
- package/dist/adapters/claudeCliAdapter.d.ts +15 -0
- package/dist/adapters/claudeCliAdapter.d.ts.map +1 -1
- package/dist/adapters/claudeCliAdapter.js +36 -1
- package/dist/adapters/claudeCliAdapter.js.map +1 -1
- package/dist/adapters/claudeConfigDir.d.ts +40 -0
- package/dist/adapters/claudeConfigDir.d.ts.map +1 -0
- package/dist/adapters/claudeConfigDir.js +3 -0
- package/dist/adapters/claudeConfigDir.js.map +1 -0
- package/dist/adapters/claudeJsonStreamAdapter.d.ts +32 -0
- package/dist/adapters/claudeJsonStreamAdapter.d.ts.map +1 -1
- package/dist/adapters/claudeJsonStreamAdapter.js +89 -8
- package/dist/adapters/claudeJsonStreamAdapter.js.map +1 -1
- package/dist/adapters/claudePlatformFlags.d.ts +4 -4
- package/dist/adapters/claudePlatformFlags.js +4 -4
- package/dist/adapters/createAdapter.d.ts +8 -0
- package/dist/adapters/createAdapter.d.ts.map +1 -1
- package/dist/adapters/createAdapter.js +37 -0
- package/dist/adapters/createAdapter.js.map +1 -1
- package/dist/adapters/openCodeAdapter.d.ts +23 -0
- package/dist/adapters/openCodeAdapter.d.ts.map +1 -1
- package/dist/adapters/openCodeAdapter.js +84 -1
- package/dist/adapters/openCodeAdapter.js.map +1 -1
- package/dist/agentLogin/agentLogin.d.ts +15 -2
- package/dist/agentLogin/agentLogin.d.ts.map +1 -1
- package/dist/agentLogin/agentLogin.js +53 -16
- package/dist/agentLogin/agentLogin.js.map +1 -1
- package/dist/apiErrorRetry.d.ts +8 -3
- package/dist/apiErrorRetry.d.ts.map +1 -1
- package/dist/apiErrorRetry.js +36 -5
- package/dist/apiErrorRetry.js.map +1 -1
- package/dist/apiRetryKick.d.ts +9 -0
- package/dist/apiRetryKick.d.ts.map +1 -1
- package/dist/apiRetryKick.js +16 -0
- package/dist/apiRetryKick.js.map +1 -1
- package/dist/bot.d.ts.map +1 -1
- package/dist/bot.js +639 -24
- package/dist/bot.js.map +1 -1
- package/dist/cli/claudeProfiles.d.ts +42 -0
- package/dist/cli/claudeProfiles.d.ts.map +1 -0
- package/dist/cli/claudeProfiles.js +106 -0
- package/dist/cli/claudeProfiles.js.map +1 -0
- package/dist/cli.js +10 -0
- package/dist/cli.js.map +1 -1
- package/dist/connectors/jira/adf.d.ts +2 -0
- package/dist/connectors/jira/adf.d.ts.map +1 -1
- package/dist/connectors/jira/adf.js +5 -0
- package/dist/connectors/jira/adf.js.map +1 -1
- package/dist/connectors/jira/answerSink.d.ts +7 -0
- package/dist/connectors/jira/answerSink.d.ts.map +1 -1
- package/dist/connectors/jira/answerSink.js +24 -10
- package/dist/connectors/jira/answerSink.js.map +1 -1
- package/dist/connectors/jira/attachmentTool.d.ts +7 -0
- package/dist/connectors/jira/attachmentTool.d.ts.map +1 -1
- package/dist/connectors/jira/attachmentTool.js +16 -0
- package/dist/connectors/jira/attachmentTool.js.map +1 -1
- package/dist/connectors/jira/client.d.ts +32 -0
- package/dist/connectors/jira/client.d.ts.map +1 -1
- package/dist/connectors/jira/client.js +43 -5
- package/dist/connectors/jira/client.js.map +1 -1
- package/dist/connectors/jira/config.d.ts +3 -16
- package/dist/connectors/jira/config.d.ts.map +1 -1
- package/dist/connectors/jira/config.js +5 -32
- package/dist/connectors/jira/config.js.map +1 -1
- package/dist/connectors/jira/connector.d.ts +3 -0
- package/dist/connectors/jira/connector.d.ts.map +1 -1
- package/dist/connectors/jira/connector.js +70 -15
- package/dist/connectors/jira/connector.js.map +1 -1
- package/dist/connectors/jira/contextLedger.d.ts +1 -0
- package/dist/connectors/jira/contextLedger.d.ts.map +1 -1
- package/dist/connectors/jira/contextLedger.js +2 -0
- package/dist/connectors/jira/contextLedger.js.map +1 -1
- package/dist/connectors/jira/inbound.d.ts +15 -6
- package/dist/connectors/jira/inbound.d.ts.map +1 -1
- package/dist/connectors/jira/inbound.js +37 -22
- package/dist/connectors/jira/inbound.js.map +1 -1
- package/dist/connectors/jira/issueBlocks.d.ts +26 -3
- package/dist/connectors/jira/issueBlocks.d.ts.map +1 -1
- package/dist/connectors/jira/issueBlocks.js +104 -29
- package/dist/connectors/jira/issueBlocks.js.map +1 -1
- package/dist/connectors/jira/issueContext.d.ts +11 -5
- package/dist/connectors/jira/issueContext.d.ts.map +1 -1
- package/dist/connectors/jira/issueContext.js +23 -6
- package/dist/connectors/jira/issueContext.js.map +1 -1
- package/dist/connectors/jira/issueDelta.d.ts +3 -0
- package/dist/connectors/jira/issueDelta.d.ts.map +1 -1
- package/dist/connectors/jira/issueDelta.js +15 -6
- package/dist/connectors/jira/issueDelta.js.map +1 -1
- package/dist/connectors/jira/mediaPlaceholders.d.ts +2 -0
- package/dist/connectors/jira/mediaPlaceholders.d.ts.map +1 -1
- package/dist/connectors/jira/mediaPlaceholders.js +16 -3
- package/dist/connectors/jira/mediaPlaceholders.js.map +1 -1
- package/dist/connectors/jira/prompt.d.ts +2 -0
- package/dist/connectors/jira/prompt.d.ts.map +1 -1
- package/dist/connectors/jira/prompt.js +4 -1
- package/dist/connectors/jira/prompt.js.map +1 -1
- package/dist/connectors/jira/sessionKeyCodec.d.ts +2 -0
- package/dist/connectors/jira/sessionKeyCodec.d.ts.map +1 -1
- package/dist/connectors/jira/sessionKeyCodec.js +5 -0
- package/dist/connectors/jira/sessionKeyCodec.js.map +1 -1
- package/dist/connectors/jira/trigger.d.ts +4 -0
- package/dist/connectors/jira/trigger.d.ts.map +1 -1
- package/dist/connectors/jira/trigger.js +9 -1
- package/dist/connectors/jira/trigger.js.map +1 -1
- package/dist/connectors/jira/triggerLog.d.ts +4 -2
- package/dist/connectors/jira/triggerLog.d.ts.map +1 -1
- package/dist/connectors/jira/triggerLog.js +1 -1
- package/dist/connectors/jira/triggerLog.js.map +1 -1
- package/dist/connectors/jira/trustedGroup.d.ts +54 -0
- package/dist/connectors/jira/trustedGroup.d.ts.map +1 -0
- package/dist/connectors/jira/trustedGroup.js +98 -0
- package/dist/connectors/jira/trustedGroup.js.map +1 -0
- package/dist/connectors/telegram/commands/autoContinueLimits.d.ts +3 -0
- package/dist/connectors/telegram/commands/autoContinueLimits.d.ts.map +1 -1
- package/dist/connectors/telegram/commands/autoContinueLimits.js +15 -45
- package/dist/connectors/telegram/commands/autoContinueLimits.js.map +1 -1
- package/dist/connectors/telegram/commands/claudeAccounts.d.ts +58 -0
- package/dist/connectors/telegram/commands/claudeAccounts.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/claudeAccounts.js +591 -0
- package/dist/connectors/telegram/commands/claudeAccounts.js.map +1 -0
- package/dist/connectors/telegram/commands/fallbackChain.d.ts +49 -0
- package/dist/connectors/telegram/commands/fallbackChain.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/fallbackChain.js +624 -0
- package/dist/connectors/telegram/commands/fallbackChain.js.map +1 -0
- package/dist/connectors/telegram/commands/modelProviders.d.ts +23 -1
- package/dist/connectors/telegram/commands/modelProviders.d.ts.map +1 -1
- package/dist/connectors/telegram/commands/modelProviders.js +131 -6
- package/dist/connectors/telegram/commands/modelProviders.js.map +1 -1
- package/dist/i18n/de.d.ts.map +1 -1
- package/dist/i18n/de.js +137 -9
- package/dist/i18n/de.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +137 -9
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/es.d.ts.map +1 -1
- package/dist/i18n/es.js +137 -9
- package/dist/i18n/es.js.map +1 -1
- package/dist/i18n/fr.d.ts.map +1 -1
- package/dist/i18n/fr.js +137 -9
- package/dist/i18n/fr.js.map +1 -1
- package/dist/i18n/hi.d.ts.map +1 -1
- package/dist/i18n/hi.js +137 -9
- package/dist/i18n/hi.js.map +1 -1
- package/dist/i18n/ja.d.ts.map +1 -1
- package/dist/i18n/ja.js +137 -9
- package/dist/i18n/ja.js.map +1 -1
- package/dist/i18n/ka.d.ts.map +1 -1
- package/dist/i18n/ka.js +137 -9
- package/dist/i18n/ka.js.map +1 -1
- package/dist/i18n/pt.d.ts.map +1 -1
- package/dist/i18n/pt.js +137 -9
- package/dist/i18n/pt.js.map +1 -1
- package/dist/i18n/ru.d.ts.map +1 -1
- package/dist/i18n/ru.js +137 -9
- package/dist/i18n/ru.js.map +1 -1
- package/dist/i18n/uk.d.ts.map +1 -1
- package/dist/i18n/uk.js +137 -9
- package/dist/i18n/uk.js.map +1 -1
- package/dist/i18n/uz.d.ts.map +1 -1
- package/dist/i18n/uz.js +137 -9
- package/dist/i18n/uz.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +137 -9
- package/dist/i18n/zh.js.map +1 -1
- package/dist/scheduler/mcpSurface.d.ts +8 -0
- package/dist/scheduler/mcpSurface.d.ts.map +1 -1
- package/dist/scheduler/mcpSurface.js +42 -2
- package/dist/scheduler/mcpSurface.js.map +1 -1
- package/dist/state.d.ts +172 -1
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +298 -0
- package/dist/state.js.map +1 -1
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/autoContinueOnLimit.d.ts +7 -0
- package/dist/utils/autoContinueOnLimit.d.ts.map +1 -1
- package/dist/utils/autoContinueOnLimit.js +10 -0
- package/dist/utils/autoContinueOnLimit.js.map +1 -1
- package/dist/utils/claudeAccountPickerPlan.d.ts +85 -0
- package/dist/utils/claudeAccountPickerPlan.d.ts.map +1 -0
- package/dist/utils/claudeAccountPickerPlan.js +123 -0
- package/dist/utils/claudeAccountPickerPlan.js.map +1 -0
- package/dist/utils/claudeLimitSwitch.d.ts +40 -0
- package/dist/utils/claudeLimitSwitch.d.ts.map +1 -0
- package/dist/utils/claudeLimitSwitch.js +54 -0
- package/dist/utils/claudeLimitSwitch.js.map +1 -0
- package/dist/utils/claudeProfileUsageLines.d.ts +15 -0
- package/dist/utils/claudeProfileUsageLines.d.ts.map +1 -0
- package/dist/utils/claudeProfileUsageLines.js +42 -0
- package/dist/utils/claudeProfileUsageLines.js.map +1 -0
- package/dist/utils/claudeProfiles.d.ts +117 -0
- package/dist/utils/claudeProfiles.d.ts.map +1 -0
- package/dist/utils/claudeProfiles.js +285 -0
- package/dist/utils/claudeProfiles.js.map +1 -0
- package/dist/utils/claudeStreamJson.d.ts +13 -1
- package/dist/utils/claudeStreamJson.d.ts.map +1 -1
- package/dist/utils/claudeStreamJson.js +13 -0
- package/dist/utils/claudeStreamJson.js.map +1 -1
- package/dist/utils/claudeUsage.d.ts +209 -0
- package/dist/utils/claudeUsage.d.ts.map +1 -0
- package/dist/utils/claudeUsage.js +413 -0
- package/dist/utils/claudeUsage.js.map +1 -0
- package/dist/utils/claudeUsageRefresher.d.ts +44 -0
- package/dist/utils/claudeUsageRefresher.d.ts.map +1 -0
- package/dist/utils/claudeUsageRefresher.js +95 -0
- package/dist/utils/claudeUsageRefresher.js.map +1 -0
- package/dist/utils/fallbackBridge.d.ts +32 -0
- package/dist/utils/fallbackBridge.d.ts.map +1 -0
- package/dist/utils/fallbackBridge.js +62 -0
- package/dist/utils/fallbackBridge.js.map +1 -0
- package/dist/utils/fallbackChain.d.ts +299 -0
- package/dist/utils/fallbackChain.d.ts.map +1 -0
- package/dist/utils/fallbackChain.js +542 -0
- package/dist/utils/fallbackChain.js.map +1 -0
- package/dist/utils/jsonStreamHost.d.ts +14 -3
- package/dist/utils/jsonStreamHost.d.ts.map +1 -1
- package/dist/utils/jsonStreamHost.js +26 -5
- package/dist/utils/jsonStreamHost.js.map +1 -1
- package/dist/utils/modelRecentPlan.d.ts +56 -0
- package/dist/utils/modelRecentPlan.d.ts.map +1 -0
- package/dist/utils/modelRecentPlan.js +107 -0
- package/dist/utils/modelRecentPlan.js.map +1 -0
- package/dist/utils/threadStatusReport.d.ts +25 -1
- package/dist/utils/threadStatusReport.d.ts.map +1 -1
- package/dist/utils/threadStatusReport.js +24 -1
- package/dist/utils/threadStatusReport.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,15 +7,26 @@ const adf_1 = require("./adf");
|
|
|
7
7
|
const issueContext_1 = require("./issueContext");
|
|
8
8
|
const mediaPlaceholders_1 = require("./mediaPlaceholders");
|
|
9
9
|
const promptText_1 = require("./promptText");
|
|
10
|
+
const sessionKeyCodec_1 = require("./sessionKeyCodec");
|
|
11
|
+
const trigger_1 = require("./trigger");
|
|
12
|
+
const withheldWrittenMarker = '[withheld: written or edited by someone outside the trusted group]';
|
|
13
|
+
const withheldUploadedMarker = '[withheld: uploaded by someone outside the trusted group]';
|
|
14
|
+
/** The ids Jira's changelog names the free-text system fields by. */
|
|
15
|
+
const summaryFieldId = 'summary';
|
|
16
|
+
const descriptionFieldId = 'description';
|
|
17
|
+
const labelsFieldId = 'labels';
|
|
10
18
|
const emptyBodyText = '(empty)';
|
|
11
19
|
const noneBodyText = '(none)';
|
|
12
20
|
const notReferencedText = 'not referenced in the text';
|
|
13
21
|
const descriptionLocation = 'description';
|
|
14
22
|
/** Properties of a field value that name it, in the order they are tried: a user, an option, a version or component. */
|
|
15
23
|
const namedValueProperties = ['displayName', 'value', 'name'];
|
|
16
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* @description The block as the prompt prints it; `stateNote` (`new`, `changed since your last prompt`, …) follows
|
|
26
|
+
* the heading. A withheld block is one line: its marker follows the heading's colon.
|
|
27
|
+
*/
|
|
17
28
|
function getIssueBlockText(block, stateNote) {
|
|
18
|
-
return `${block.heading}${stateNote ? ` (${stateNote})` : ''}
|
|
29
|
+
return `${block.heading}${stateNote ? ` (${stateNote})` : ''}:${block.isWithheld ? ' ' : '\n'}${block.body}`;
|
|
19
30
|
}
|
|
20
31
|
function getHash(text) {
|
|
21
32
|
return (0, crypto_1.createHash)('sha256').update(text).digest('hex');
|
|
@@ -23,9 +34,30 @@ function getHash(text) {
|
|
|
23
34
|
function createBlock(key, kind, heading, body, fullText = body) {
|
|
24
35
|
return { key, kind, heading, body, fullText, hash: getHash(`${heading}\n${body}`) };
|
|
25
36
|
}
|
|
26
|
-
/**
|
|
27
|
-
function
|
|
28
|
-
|
|
37
|
+
/** A marker standing for text nobody trusted wrote: the block's whole text. Its key and hash follow the marker. */
|
|
38
|
+
function createWithheldBlock(key, kind, heading, marker) {
|
|
39
|
+
return { ...createBlock(key, kind, heading, marker), isWithheld: true };
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Did only trusted accounts write what `field` says now? The issue's creator wrote its first value and every
|
|
43
|
+
* changelog entry that touched the field wrote a later one; an entry Jira names no author for is untrusted.
|
|
44
|
+
* `name` also matches an old entry that carries only the field's display name.
|
|
45
|
+
*/
|
|
46
|
+
function checkIsFieldTrusted(context, trust, field) {
|
|
47
|
+
if (!trust.checkIsTrusted(context.issue.fields.creator))
|
|
48
|
+
return false;
|
|
49
|
+
return context.changelog
|
|
50
|
+
.filter((history) => history.items.some((item) => (0, trigger_1.getItemField)(item) === field.id || (field.name !== undefined && item.field === field.name)))
|
|
51
|
+
.every((history) => trust.checkIsTrusted(history.author));
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* `PROJ-5 "summary" (Status)`: what another issue is called. With a trusted group the summary is kept only for an
|
|
55
|
+
* issue of a listed project — who wrote any other's is unknown, so its key and status say all.
|
|
56
|
+
*/
|
|
57
|
+
function getIssueReferenceText(reference, trust) {
|
|
58
|
+
const projectKey = (0, sessionKeyCodec_1.getJiraIssueProjectKey)(reference.key);
|
|
59
|
+
const isSummaryShown = trust === null || (projectKey !== null && trust.allowlistedProjectKeys.has(projectKey));
|
|
60
|
+
const summary = isSummaryShown ? (0, promptText_1.getSingleLineText)(reference.fields?.summary ?? '') : '';
|
|
29
61
|
const statusName = (0, promptText_1.getSingleLineText)(reference.fields?.status?.name ?? '');
|
|
30
62
|
return [(0, promptText_1.getSingleLineText)(reference.key), summary ? `"${summary}"` : '', statusName ? `(${statusName})` : ''].filter((part) => part !== '').join(' ');
|
|
31
63
|
}
|
|
@@ -55,46 +87,55 @@ function getFieldLine(label, value) {
|
|
|
55
87
|
function getNamesText(items) {
|
|
56
88
|
return (items ?? []).map((item) => (0, promptText_1.getSingleLineText)(item.name)).filter((name) => name !== '').join(', ');
|
|
57
89
|
}
|
|
58
|
-
function getFieldsBlock(context, extraFields) {
|
|
90
|
+
function getFieldsBlock(context, extraFields, trust) {
|
|
59
91
|
const { fields, rawFields } = context.issue;
|
|
92
|
+
/** A free-text field's value, or its marker when someone outside the trusted group wrote any of it; an empty value stays empty. */
|
|
93
|
+
const getWrittenValue = (value, field) => value !== '' && trust !== null && !checkIsFieldTrusted(context, trust, field) ? withheldWrittenMarker : value;
|
|
60
94
|
const lines = [
|
|
61
|
-
...getFieldLine('Summary', (0, promptText_1.getSingleLineText)(fields.summary ?? '') || '(no summary)'),
|
|
95
|
+
...getFieldLine('Summary', getWrittenValue((0, promptText_1.getSingleLineText)(fields.summary ?? '') || '(no summary)', { id: summaryFieldId })),
|
|
62
96
|
...getFieldLine('Type', (0, promptText_1.getSingleLineText)(fields.issuetype?.name ?? '')),
|
|
63
97
|
...getFieldLine('Priority', (0, promptText_1.getSingleLineText)(fields.priority?.name ?? '')),
|
|
64
98
|
...getFieldLine('Status', (0, promptText_1.getSingleLineText)(fields.status?.name ?? '') || 'unknown'),
|
|
65
99
|
...getFieldLine('Reporter', fields.reporter ? (0, promptText_1.getAccountName)(fields.reporter) : ''),
|
|
66
|
-
...getFieldLine('Parent', fields.parent ? getIssueReferenceText(fields.parent) : ''),
|
|
100
|
+
...getFieldLine('Parent', fields.parent ? getIssueReferenceText(fields.parent, trust) : ''),
|
|
67
101
|
...getFieldLine('Fix versions', getNamesText(fields.fixVersions)),
|
|
68
|
-
...getFieldLine('Labels', (fields.labels ?? []).map(promptText_1.getSingleLineText).filter((label) => label !== '').join(', ')),
|
|
102
|
+
...getFieldLine('Labels', getWrittenValue((fields.labels ?? []).map(promptText_1.getSingleLineText).filter((label) => label !== '').join(', '), { id: labelsFieldId })),
|
|
69
103
|
...getFieldLine('Components', getNamesText(fields.components)),
|
|
70
|
-
...extraFields.flatMap((extraField) => getFieldLine((0, promptText_1.getSingleLineText)(extraField.name), getExtraFieldValueText(rawFields?.[extraField.id]))),
|
|
104
|
+
...extraFields.flatMap((extraField) => getFieldLine((0, promptText_1.getSingleLineText)(extraField.name), getWrittenValue(getExtraFieldValueText(rawFields?.[extraField.id]), extraField))),
|
|
71
105
|
];
|
|
72
106
|
return createBlock('fields', 'fields', 'Fields', lines.join('\n'));
|
|
73
107
|
}
|
|
74
|
-
function getHierarchyBlock(context) {
|
|
108
|
+
function getHierarchyBlock(context, trust) {
|
|
75
109
|
const isParent = (context.issue.fields.issuetype?.hierarchyLevel ?? 0) >= issueContext_1.jiraParentHierarchyLevel;
|
|
76
110
|
const items = isParent ? context.children : (context.issue.fields.subtasks ?? []);
|
|
77
111
|
const heading = `${isParent ? 'Child issues' : 'Sub-tasks'} (${items.length})`;
|
|
78
|
-
return createBlock('hierarchy', 'hierarchy', heading, items.length === 0 ? noneBodyText : items.map((item) => `- ${getIssueReferenceText(item)}`).join('\n'));
|
|
112
|
+
return createBlock('hierarchy', 'hierarchy', heading, items.length === 0 ? noneBodyText : items.map((item) => `- ${getIssueReferenceText(item, trust)}`).join('\n'));
|
|
79
113
|
}
|
|
80
|
-
function getIssueLinkText(link) {
|
|
114
|
+
function getIssueLinkText(link, trust) {
|
|
81
115
|
const farIssue = link.outwardIssue ?? link.inwardIssue;
|
|
82
116
|
if (!farIssue)
|
|
83
117
|
return [];
|
|
84
118
|
const phrase = (0, promptText_1.getSingleLineText)(link.outwardIssue ? link.type.outward : link.type.inward);
|
|
85
|
-
return [`- ${phrase} ${getIssueReferenceText(farIssue)}`];
|
|
119
|
+
return [`- ${phrase} ${getIssueReferenceText(farIssue, trust)}`];
|
|
86
120
|
}
|
|
87
|
-
|
|
121
|
+
/**
|
|
122
|
+
* With a trusted group a remote link shows its URL only: the title is written by whoever added the link, and the
|
|
123
|
+
* issue's changelog does not say who that was.
|
|
124
|
+
*/
|
|
125
|
+
function getLinksBlock(context, trust) {
|
|
88
126
|
const lines = [
|
|
89
|
-
...(context.issue.fields.issuelinks ?? []).flatMap(getIssueLinkText),
|
|
127
|
+
...(context.issue.fields.issuelinks ?? []).flatMap((link) => getIssueLinkText(link, trust)),
|
|
90
128
|
...context.remoteLinks.map((link) => {
|
|
91
|
-
const title = (0, promptText_1.getSingleLineText)(link.object.title ?? '');
|
|
129
|
+
const title = trust === null ? (0, promptText_1.getSingleLineText)(link.object.title ?? '') : '';
|
|
92
130
|
return `- web link: ${title ? `"${title}" ` : ''}${(0, promptText_1.getSingleLineText)(link.object.url)}`;
|
|
93
131
|
}),
|
|
94
132
|
];
|
|
95
133
|
return createBlock('links', 'links', 'Links', lines.length === 0 ? noneBodyText : lines.join('\n'));
|
|
96
134
|
}
|
|
97
|
-
function getAttachmentLine(attachment, locations) {
|
|
135
|
+
function getAttachmentLine(attachment, locations, isWithheld) {
|
|
136
|
+
// The file name is the uploader's text too: a withheld file is its id and the marker, nothing more.
|
|
137
|
+
if (isWithheld)
|
|
138
|
+
return `- ${attachment.id} ${withheldUploadedMarker}`;
|
|
98
139
|
const details = [
|
|
99
140
|
(0, promptText_1.getSingleLineText)(attachment.mimeType ?? ''),
|
|
100
141
|
attachment.size === undefined ? '' : `${attachment.size} bytes`,
|
|
@@ -105,8 +146,8 @@ function getAttachmentLine(attachment, locations) {
|
|
|
105
146
|
const referencedText = locations.length > 0 ? `referenced in ${locations.join(', ')}` : notReferencedText;
|
|
106
147
|
return `- ${attachment.id} ${(0, promptText_1.getSingleLineText)(attachment.filename)}${detailsText} — ${referencedText}`;
|
|
107
148
|
}
|
|
108
|
-
function getAttachmentsBlock(attachments, locationsByAttachmentId) {
|
|
109
|
-
const lines = attachments.map((attachment) => getAttachmentLine(attachment, locationsByAttachmentId.get(attachment.id) ?? []));
|
|
149
|
+
function getAttachmentsBlock(attachments, locationsByAttachmentId, withheldAttachmentIds) {
|
|
150
|
+
const lines = attachments.map((attachment) => getAttachmentLine(attachment, locationsByAttachmentId.get(attachment.id) ?? [], withheldAttachmentIds.has(attachment.id)));
|
|
110
151
|
return createBlock('attachments', 'attachments', `Attachments (${attachments.length})`, lines.length === 0 ? noneBodyText : lines.join('\n'));
|
|
111
152
|
}
|
|
112
153
|
/** `[restricted to <role or group>]` and `[internal]` (a Service Management internal note): who may NOT be told what this says. */
|
|
@@ -117,6 +158,23 @@ function getCommentVisibilityMarker(comment) {
|
|
|
117
158
|
];
|
|
118
159
|
return markers.join(' ');
|
|
119
160
|
}
|
|
161
|
+
/** Written AND last edited by trusted accounts; an author Jira does not name is not one. */
|
|
162
|
+
function checkIsCommentTrusted(comment, trust) {
|
|
163
|
+
return trust.checkIsTrusted(comment.author) && (comment.updateAuthor === undefined || trust.checkIsTrusted(comment.updateAuthor));
|
|
164
|
+
}
|
|
165
|
+
/** A comment the agent may not read: no name, no text — its id and date say there is one to ask the requester about. */
|
|
166
|
+
function getWithheldCommentBlock(comment) {
|
|
167
|
+
const id = (0, promptText_1.getSingleLineText)(comment.id);
|
|
168
|
+
const created = (0, promptText_1.getSingleLineText)(comment.created);
|
|
169
|
+
return {
|
|
170
|
+
...createWithheldBlock(`comment:${comment.id}`, 'comment', `Comment ${id}, ${created}`, withheldWrittenMarker),
|
|
171
|
+
comment: {
|
|
172
|
+
label: `comment ${id} from ${created}`,
|
|
173
|
+
editNote: `edited ${(0, promptText_1.getSingleLineText)(comment.updated ?? '') || 'at an unknown time'}`,
|
|
174
|
+
isOwn: false,
|
|
175
|
+
},
|
|
176
|
+
};
|
|
177
|
+
}
|
|
120
178
|
function getCommentBlock(comment, text, aiAccountId) {
|
|
121
179
|
const marker = getCommentVisibilityMarker(comment);
|
|
122
180
|
const id = (0, promptText_1.getSingleLineText)(comment.id);
|
|
@@ -146,10 +204,13 @@ function getCommentsOldestFirst(comments) {
|
|
|
146
204
|
/**
|
|
147
205
|
* @description The issue as blocks, in prompt order. Media in the description
|
|
148
206
|
* and the comments become placeholders naming their attachment (C9); the
|
|
149
|
-
* attachments block then says where each file is referenced.
|
|
207
|
+
* attachments block then says where each file is referenced. With `trust` set,
|
|
208
|
+
* text outside the trusted group is replaced by markers (see the file header);
|
|
209
|
+
* `null` is the unfiltered issue, as it always was.
|
|
150
210
|
*/
|
|
151
|
-
function buildIssueBlocks(context, extraFields, aiAccountId) {
|
|
211
|
+
function buildIssueBlocks(context, extraFields, aiAccountId, trust = null) {
|
|
152
212
|
const attachments = [...(context.issue.fields.attachment ?? [])].sort((left, right) => Number(left.id) - Number(right.id));
|
|
213
|
+
const withheldAttachmentIds = new Set(trust === null ? [] : attachments.filter((attachment) => !trust.checkIsTrusted(attachment.author)).map((attachment) => attachment.id));
|
|
153
214
|
const comments = getCommentsOldestFirst(context.comments);
|
|
154
215
|
const attachmentIdByMediaId = new Map([
|
|
155
216
|
...(0, mediaPlaceholders_1.getAttachmentIdsByMediaId)(context.issue.renderedFields?.description),
|
|
@@ -159,6 +220,7 @@ function buildIssueBlocks(context, extraFields, aiAccountId) {
|
|
|
159
220
|
const getResolver = (location) => (0, mediaPlaceholders_1.createMediaResolver)({
|
|
160
221
|
attachments,
|
|
161
222
|
attachmentIdByMediaId,
|
|
223
|
+
withheldAttachmentIds,
|
|
162
224
|
onResolved: (attachmentIds) => {
|
|
163
225
|
for (const attachmentId of attachmentIds) {
|
|
164
226
|
const locations = locationsByAttachmentId.get(attachmentId) ?? [];
|
|
@@ -167,15 +229,28 @@ function buildIssueBlocks(context, extraFields, aiAccountId) {
|
|
|
167
229
|
}
|
|
168
230
|
},
|
|
169
231
|
});
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
const
|
|
232
|
+
// A withheld description or comment never meets the media resolver: its media are not locations of anything.
|
|
233
|
+
// No description has nothing to withhold: a marker would send the agent asking for text that is not there.
|
|
234
|
+
const isDescriptionWithheld = trust !== null
|
|
235
|
+
&& Boolean(context.issue.fields.description)
|
|
236
|
+
&& !checkIsFieldTrusted(context, trust, { id: descriptionFieldId });
|
|
237
|
+
let descriptionBlock;
|
|
238
|
+
if (isDescriptionWithheld) {
|
|
239
|
+
descriptionBlock = createWithheldBlock('description', 'description', 'Description', withheldWrittenMarker);
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
const descriptionText = (0, adf_1.getAdfText)(context.issue.fields.description, getResolver(descriptionLocation));
|
|
243
|
+
descriptionBlock = createBlock('description', 'description', 'Description', (0, promptText_1.getQuotedText)(descriptionText || emptyBodyText), descriptionText);
|
|
244
|
+
}
|
|
245
|
+
const commentBlocks = comments.map((comment) => (trust !== null && !checkIsCommentTrusted(comment, trust)
|
|
246
|
+
? getWithheldCommentBlock(comment)
|
|
247
|
+
: getCommentBlock(comment, (0, adf_1.getAdfText)(comment.body, getResolver(`comment ${comment.id}`)), aiAccountId)));
|
|
173
248
|
return [
|
|
174
|
-
getFieldsBlock(context, extraFields),
|
|
249
|
+
getFieldsBlock(context, extraFields, trust),
|
|
175
250
|
descriptionBlock,
|
|
176
|
-
getHierarchyBlock(context),
|
|
177
|
-
getLinksBlock(context),
|
|
178
|
-
getAttachmentsBlock(attachments, locationsByAttachmentId),
|
|
251
|
+
getHierarchyBlock(context, trust),
|
|
252
|
+
getLinksBlock(context, trust),
|
|
253
|
+
getAttachmentsBlock(attachments, locationsByAttachmentId, withheldAttachmentIds),
|
|
179
254
|
...commentBlocks,
|
|
180
255
|
];
|
|
181
256
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issueBlocks.js","sourceRoot":"","sources":["../../../src/connectors/jira/issueBlocks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"issueBlocks.js","sourceRoot":"","sources":["../../../src/connectors/jira/issueBlocks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { 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
|
|
5
5
|
* 100), its remote links, and — for an issue that can hold children, such as an
|
|
6
6
|
* epic — ALL its children, read page by page. Fetched before the request opens:
|
|
7
|
-
* a request is never left without its prompt.
|
|
7
|
+
* a request is never left without its prompt. With a trusted group the issue's
|
|
8
|
+
* WHOLE changelog is read too: it names who wrote what every field says now.
|
|
8
9
|
*/
|
|
9
10
|
/** The fields every prompt reads; a project's `extraFields` ids are added to them. */
|
|
10
11
|
export declare const jiraPromptIssueFields: string[];
|
|
11
12
|
export declare const jiraChildSearchPageSize = 100;
|
|
12
13
|
/** An issue type at this level or above holds child issues (an epic); level 0 holds sub-tasks, below 0 is a sub-task. */
|
|
13
14
|
export declare const jiraParentHierarchyLevel = 1;
|
|
14
|
-
export type JiraIssueContextClient = Pick<JiraClient, 'getIssue' | 'getComments' | 'getRemoteLinks' | 'searchIssues'>;
|
|
15
|
+
export type JiraIssueContextClient = Pick<JiraClient, 'getIssue' | 'getComments' | 'getRemoteLinks' | 'searchIssues' | 'getChangelogPage'>;
|
|
15
16
|
export interface JiraIssueContext {
|
|
16
17
|
issue: JiraIssue;
|
|
17
18
|
/** Oldest first. */
|
|
@@ -19,7 +20,12 @@ export interface JiraIssueContext {
|
|
|
19
20
|
remoteLinks: JiraRemoteLink[];
|
|
20
21
|
/** The issue's children when its type can hold them, else empty (its sub-tasks are on the issue itself). */
|
|
21
22
|
children: JiraIssue[];
|
|
23
|
+
/** The whole changelog, oldest first — read only when the caller asked for it (`isChangelogNeeded`), else empty. */
|
|
24
|
+
changelog: JiraChangelogHistory[];
|
|
22
25
|
}
|
|
23
|
-
/**
|
|
24
|
-
|
|
26
|
+
/**
|
|
27
|
+
* @description Read the issue, its comments, its remote links and, when it can have them, its children —
|
|
28
|
+
* and, when `isChangelogNeeded`, its whole changelog.
|
|
29
|
+
*/
|
|
30
|
+
export declare function fetchJiraIssueContext(client: JiraIssueContextClient, issueKey: string, extraFieldIds: readonly string[], isChangelogNeeded: boolean): Promise<JiraIssueContext>;
|
|
25
31
|
//# sourceMappingURL=issueContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issueContext.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/issueContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,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,oBAAoB,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAE3K;;;;;;;GAOG;AAEH,sFAAsF;AACtF,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;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"}
|
|
@@ -2,17 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.jiraParentHierarchyLevel = exports.jiraChildSearchPageSize = exports.jiraPromptIssueFields = void 0;
|
|
4
4
|
exports.fetchJiraIssueContext = fetchJiraIssueContext;
|
|
5
|
+
const client_1 = require("./client");
|
|
5
6
|
/**
|
|
6
7
|
* @description Everything one request's prompt says about an issue (plan C1,
|
|
7
8
|
* C2): the issue's own fields, ALL its comments (the issue field holds at most
|
|
8
9
|
* 100), its remote links, and — for an issue that can hold children, such as an
|
|
9
10
|
* epic — ALL its children, read page by page. Fetched before the request opens:
|
|
10
|
-
* a request is never left without its prompt.
|
|
11
|
+
* a request is never left without its prompt. With a trusted group the issue's
|
|
12
|
+
* WHOLE changelog is read too: it names who wrote what every field says now.
|
|
11
13
|
*/
|
|
12
14
|
/** The fields every prompt reads; a project's `extraFields` ids are added to them. */
|
|
13
15
|
exports.jiraPromptIssueFields = [
|
|
14
16
|
'summary', 'status', 'issuetype', 'priority', 'parent', 'subtasks', 'issuelinks', 'fixVersions', 'labels',
|
|
15
|
-
'components', 'attachment', 'description', 'reporter',
|
|
17
|
+
'components', 'attachment', 'description', 'reporter', 'creator',
|
|
16
18
|
];
|
|
17
19
|
/** Only the description's HTML is asked for: it names the attachment behind an inline file (C9). */
|
|
18
20
|
const renderedFieldsExpand = 'renderedFields';
|
|
@@ -40,14 +42,29 @@ async function getChildIssues(client, issueKey) {
|
|
|
40
42
|
} while (nextPageToken);
|
|
41
43
|
return children;
|
|
42
44
|
}
|
|
43
|
-
/**
|
|
44
|
-
async function
|
|
45
|
-
const
|
|
45
|
+
/** EVERY entry of the issue's changelog, oldest first, page after page (the page actually returned decides where the next starts). */
|
|
46
|
+
async function getWholeChangelog(client, issueKey) {
|
|
47
|
+
const histories = [];
|
|
48
|
+
for (;;) {
|
|
49
|
+
const page = await client.getChangelogPage(issueKey, histories.length, client_1.jiraChangelogPageSize);
|
|
50
|
+
histories.push(...page.values);
|
|
51
|
+
if ((0, client_1.checkIsLastOffsetPage)({ isLast: page.isLast, total: page.total, pageItemCount: page.values.length, readItemCount: histories.length, pageSize: client_1.jiraChangelogPageSize })) {
|
|
52
|
+
return histories;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* @description Read the issue, its comments, its remote links and, when it can have them, its children —
|
|
58
|
+
* and, when `isChangelogNeeded`, its whole changelog.
|
|
59
|
+
*/
|
|
60
|
+
async function fetchJiraIssueContext(client, issueKey, extraFieldIds, isChangelogNeeded) {
|
|
61
|
+
const [issue, comments, remoteLinks, changelog] = await Promise.all([
|
|
46
62
|
client.getIssue(issueKey, [...exports.jiraPromptIssueFields, ...extraFieldIds], renderedFieldsExpand),
|
|
47
63
|
client.getComments(issueKey),
|
|
48
64
|
client.getRemoteLinks(issueKey),
|
|
65
|
+
isChangelogNeeded ? getWholeChangelog(client, issueKey) : [],
|
|
49
66
|
]);
|
|
50
67
|
const isParent = (issue.fields.issuetype?.hierarchyLevel ?? 0) >= exports.jiraParentHierarchyLevel;
|
|
51
|
-
return { issue, comments, remoteLinks, children: isParent ? await getChildIssues(client, issueKey) : [] };
|
|
68
|
+
return { issue, comments, remoteLinks, children: isParent ? await getChildIssues(client, issueKey) : [], changelog };
|
|
52
69
|
}
|
|
53
70
|
//# sourceMappingURL=issueContext.js.map
|
|
@@ -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,7 @@ import type { IssueBlock, IssueBlockKind } from './issueBlocks';
|
|
|
5
5
|
* carries (prompt context C3, C7): only the blocks it has not seen.
|
|
6
6
|
*
|
|
7
7
|
* key not sent before → `new`
|
|
8
|
+
* sent, withheld↔readable flipped → `trust changed since your last prompt` (an author joined or left the group)
|
|
8
9
|
* sent, hash differs → comment: `edited <date> by <name>`, other: `changed since your last prompt`
|
|
9
10
|
* sent, same hash → left out, counted in the "unchanged" line
|
|
10
11
|
* the AI account's own comment → left out (it wrote it), unless a person edited it
|
|
@@ -15,6 +16,8 @@ import type { IssueBlock, IssueBlockKind } from './issueBlocks';
|
|
|
15
16
|
*/
|
|
16
17
|
export declare const newBlockNote = "new";
|
|
17
18
|
export declare const changedBlockNote = "changed since your last prompt";
|
|
19
|
+
/** A block's author joined the trusted group (it is readable now) or left it (it is withheld now): never "edited". */
|
|
20
|
+
export declare const trustChangedBlockNote = "trust changed since your last prompt";
|
|
18
21
|
export interface IssueDeltaEntry {
|
|
19
22
|
block: IssueBlock;
|
|
20
23
|
stateNote: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issueDelta.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/issueDelta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"issueDelta.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/issueDelta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEhE;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,YAAY,QAAQ,CAAC;AAClC,eAAO,MAAM,gBAAgB,mCAAmC,CAAC;AACjE,sHAAsH;AACtH,eAAO,MAAM,qBAAqB,yCAAyC,CAAC;AAG5E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,qEAAqE;IACrE,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qFAAqF;IACrF,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,iDAAiD;IACjD,IAAI,EAAE,cAAc,CAAC;CACtB;AAUD,gGAAgG;AAChG,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,UAAU,CAkBvG"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.changedBlockNote = exports.newBlockNote = void 0;
|
|
3
|
+
exports.trustChangedBlockNote = exports.changedBlockNote = exports.newBlockNote = void 0;
|
|
4
4
|
exports.getIssueDelta = getIssueDelta;
|
|
5
5
|
/**
|
|
6
6
|
* @description What a prompt to a conversation that already knows the issue
|
|
7
7
|
* carries (prompt context C3, C7): only the blocks it has not seen.
|
|
8
8
|
*
|
|
9
9
|
* key not sent before → `new`
|
|
10
|
+
* sent, withheld↔readable flipped → `trust changed since your last prompt` (an author joined or left the group)
|
|
10
11
|
* sent, hash differs → comment: `edited <date> by <name>`, other: `changed since your last prompt`
|
|
11
12
|
* sent, same hash → left out, counted in the "unchanged" line
|
|
12
13
|
* the AI account's own comment → left out (it wrote it), unless a person edited it
|
|
@@ -17,13 +18,17 @@ exports.getIssueDelta = getIssueDelta;
|
|
|
17
18
|
*/
|
|
18
19
|
exports.newBlockNote = 'new';
|
|
19
20
|
exports.changedBlockNote = 'changed since your last prompt';
|
|
21
|
+
/** A block's author joined the trusted group (it is readable now) or left it (it is withheld now): never "edited". */
|
|
22
|
+
exports.trustChangedBlockNote = 'trust changed since your last prompt';
|
|
20
23
|
const commentKeyPrefix = 'comment:';
|
|
21
|
-
function getStateNote(block,
|
|
24
|
+
function getStateNote(block, sent) {
|
|
22
25
|
if (block.comment?.isOwn)
|
|
23
26
|
return null;
|
|
24
|
-
if (
|
|
27
|
+
if (sent === undefined)
|
|
25
28
|
return exports.newBlockNote;
|
|
26
|
-
if (
|
|
29
|
+
if (Boolean(sent.isWithheld) !== Boolean(block.isWithheld))
|
|
30
|
+
return exports.trustChangedBlockNote;
|
|
31
|
+
if (sent.hash === block.hash)
|
|
27
32
|
return null;
|
|
28
33
|
return block.comment ? block.comment.editNote : exports.changedBlockNote;
|
|
29
34
|
}
|
|
@@ -31,8 +36,12 @@ function getStateNote(block, sentHash) {
|
|
|
31
36
|
function getIssueDelta(blocks, sent) {
|
|
32
37
|
const delta = { entries: [], unchangedKinds: [], unchangedCommentCount: 0, deletedCommentLabels: [], sent: {} };
|
|
33
38
|
for (const block of blocks) {
|
|
34
|
-
delta.sent[block.key] =
|
|
35
|
-
|
|
39
|
+
delta.sent[block.key] = {
|
|
40
|
+
hash: block.hash,
|
|
41
|
+
...(block.comment ? { label: block.comment.label } : {}),
|
|
42
|
+
...(block.isWithheld ? { isWithheld: true } : {}),
|
|
43
|
+
};
|
|
44
|
+
const stateNote = getStateNote(block, sent[block.key]);
|
|
36
45
|
if (stateNote !== null)
|
|
37
46
|
delta.entries.push({ block, stateNote });
|
|
38
47
|
else if (block.kind === 'comment')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issueDelta.js","sourceRoot":"","sources":["../../../src/connectors/jira/issueDelta.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"issueDelta.js","sourceRoot":"","sources":["../../../src/connectors/jira/issueDelta.ts"],"names":[],"mappings":";;;AAkDA,sCAkBC;AAjED;;;;;;;;;;;;;GAaG;AAEU,QAAA,YAAY,GAAG,KAAK,CAAC;AACrB,QAAA,gBAAgB,GAAG,gCAAgC,CAAC;AACjE,sHAAsH;AACzG,QAAA,qBAAqB,GAAG,sCAAsC,CAAC;AAC5E,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAmBpC,SAAS,YAAY,CAAC,KAAiB,EAAE,IAA+B;IACtE,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,oBAAY,CAAC;IAC5C,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;QAAE,OAAO,6BAAqB,CAAC;IACzF,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAgB,CAAC;AACnE,CAAC;AAED,gGAAgG;AAChG,SAAgB,aAAa,CAAC,MAA6B,EAAE,IAA8B;IACzF,MAAM,KAAK,GAAe,EAAE,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC5H,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;QACF,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,IAAI,SAAS,KAAK,IAAI;YAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;aAC5D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,qBAAqB,IAAI,CAAC,CAAC;;YAC/D,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;IACzH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -14,6 +14,8 @@ export interface MediaResolverContext {
|
|
|
14
14
|
attachmentIdByMediaId: ReadonlyMap<string, string>;
|
|
15
15
|
/** Told, for each media node resolved, which attachments it stands for — the attachments block's "referenced in". */
|
|
16
16
|
onResolved?: (attachmentIds: readonly string[]) => void;
|
|
17
|
+
/** Ids of the attachments the agent must not see by name or content; a node standing for one carries no file name. */
|
|
18
|
+
withheldAttachmentIds?: ReadonlySet<string>;
|
|
17
19
|
}
|
|
18
20
|
/** @description The resolver `getAdfText` takes for one issue's text. Pure apart from `onResolved`. */
|
|
19
21
|
export declare function createMediaResolver(context: MediaResolverContext): AdfMediaResolver;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaPlaceholders.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/mediaPlaceholders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,gBAAgB,EAAgB,MAAM,OAAO,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"mediaPlaceholders.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/mediaPlaceholders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,gBAAgB,EAAgB,MAAM,OAAO,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAiC/C;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAUtG;AAED,MAAM,WAAW,oBAAoB;IACnC,qCAAqC;IACrC,WAAW,EAAE,SAAS,cAAc,EAAE,CAAC;IACvC,mFAAmF;IACnF,qBAAqB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,qHAAqH;IACrH,UAAU,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;IACxD,sHAAsH;IACtH,qBAAqB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC7C;AA6BD,uGAAuG;AACvG,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,gBAAgB,CAkBnF"}
|
|
@@ -20,6 +20,9 @@ const promptText_1 = require("./promptText");
|
|
|
20
20
|
* (`<a href=".../attachment/content/<id>" data-media-services-id="<media id>">`):
|
|
21
21
|
* {@link getAttachmentIdsByMediaId} reads that — exact, so nothing is guessed;
|
|
22
22
|
* 4. nothing found → `attachment unknown`.
|
|
23
|
+
*
|
|
24
|
+
* An attachment the trusted group does not back is WITHHELD (`issueBlocks.ts`): its placeholder names no
|
|
25
|
+
* file — `[image — attachment 10234, withheld]` — since the file name is the uploader's text.
|
|
23
26
|
*/
|
|
24
27
|
const attachmentContentPathRe = /\/attachment\/content\/(\d+)/;
|
|
25
28
|
const htmlAnchorTagRe = /<a\b[^>]*>/gi;
|
|
@@ -28,6 +31,7 @@ const mediaServicesIdAttribute = 'data-media-services-id';
|
|
|
28
31
|
const unknownAttachmentText = 'attachment unknown';
|
|
29
32
|
const inlineFileLabel = 'inline file';
|
|
30
33
|
const externalMediaType = 'external';
|
|
34
|
+
const noAttachmentIds = new Set();
|
|
31
35
|
/**
|
|
32
36
|
* @description The media id → attachment id pairs a rendered body (a comment's
|
|
33
37
|
* `renderedBody`, an issue's `renderedFields.description`) states: every `<a>`
|
|
@@ -55,10 +59,14 @@ function getMediaKind(mimeType) {
|
|
|
55
59
|
return 'video';
|
|
56
60
|
return 'file';
|
|
57
61
|
}
|
|
58
|
-
function getAttachmentTarget(attachmentIds) {
|
|
62
|
+
function getAttachmentTarget(attachmentIds, withheldAttachmentIds) {
|
|
59
63
|
if (attachmentIds.length === 0)
|
|
60
64
|
return unknownAttachmentText;
|
|
61
|
-
|
|
65
|
+
const noun = attachmentIds.length === 1 ? 'attachment' : 'attachments';
|
|
66
|
+
// All of them withheld: one word for the whole placeholder; a mix names which ones.
|
|
67
|
+
if (attachmentIds.every((attachmentId) => withheldAttachmentIds.has(attachmentId)))
|
|
68
|
+
return `${noun} ${attachmentIds.join(', ')}, withheld`;
|
|
69
|
+
return `${noun} ${attachmentIds.map((attachmentId) => (withheldAttachmentIds.has(attachmentId) ? `${attachmentId} (withheld)` : attachmentId)).join(', ')}`;
|
|
62
70
|
}
|
|
63
71
|
/** The ids of the attachments a `file` media node stands for (rules 1–3 above); empty when none is found. */
|
|
64
72
|
function getAttachmentIds(node, context) {
|
|
@@ -81,9 +89,14 @@ function createMediaResolver(context) {
|
|
|
81
89
|
}
|
|
82
90
|
const attachmentIds = getAttachmentIds(node, context);
|
|
83
91
|
context.onResolved?.(attachmentIds);
|
|
92
|
+
const withheldAttachmentIds = context.withheldAttachmentIds ?? noAttachmentIds;
|
|
84
93
|
const firstAttachment = context.attachments.find((attachment) => attachment.id === attachmentIds[0]);
|
|
94
|
+
const target = getAttachmentTarget(attachmentIds, withheldAttachmentIds);
|
|
95
|
+
// The node's `alt` and the stored file name both come from whoever uploaded the file.
|
|
96
|
+
if (attachmentIds.some((attachmentId) => withheldAttachmentIds.has(attachmentId))) {
|
|
97
|
+
return `[${getMediaKind(firstAttachment?.mimeType)} — ${target}]`;
|
|
98
|
+
}
|
|
85
99
|
const name = (0, promptText_1.getSingleLineText)((0, adf_1.getStringAttribute)(node, 'alt') ?? firstAttachment?.filename ?? '');
|
|
86
|
-
const target = getAttachmentTarget(attachmentIds);
|
|
87
100
|
if (!name)
|
|
88
101
|
return `[${inlineFileLabel} — ${target}]`;
|
|
89
102
|
return `[${getMediaKind(firstAttachment?.mimeType)}: ${name} — ${target}]`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaPlaceholders.js","sourceRoot":"","sources":["../../../src/connectors/jira/mediaPlaceholders.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"mediaPlaceholders.js","sourceRoot":"","sources":["../../../src/connectors/jira/mediaPlaceholders.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,8 @@ export interface JiraRequestPromptBase {
|
|
|
17
17
|
requester: JiraAccount | null;
|
|
18
18
|
/** The same requester's earlier requests of the issue this one replaced (R34); the header names them. */
|
|
19
19
|
supersededRequestIds?: readonly string[];
|
|
20
|
+
/** A trusted group filters the issue's text (`jira.json` `trustedGroup`): the note then says what a `[withheld: …]` marker is. */
|
|
21
|
+
isTextFiltered?: boolean;
|
|
20
22
|
}
|
|
21
23
|
export interface JiraRequestPromptInput extends JiraRequestPromptBase {
|
|
22
24
|
/** The issue as its blocks, in prompt order (`buildIssueBlocks`, fitted by `fitBlocksToPrompt`). */
|
|
@@ -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;
|
|
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,CAU5H;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,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;AAmBD,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"}
|