charness 3.0.0 → 3.2.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/.env.example +8 -7
- package/DEVELOPMENT.md +12 -6
- package/MIGRATION_1_TO_2.md +1 -1
- package/MIGRATION_RENAME_TO_CHARNESS.md +133 -0
- package/README.md +221 -555
- package/SETUP.md +539 -0
- package/dist/adapters/claudeCliAdapter.d.ts +16 -1
- package/dist/adapters/claudeCliAdapter.d.ts.map +1 -1
- package/dist/adapters/claudeCliAdapter.js +37 -2
- 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 +90 -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 +85 -2
- 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 +642 -26
- package/dist/bot.js.map +1 -1
- package/dist/cli/bot.d.ts +4 -2
- package/dist/cli/bot.d.ts.map +1 -1
- package/dist/cli/bot.js +11 -3
- package/dist/cli/bot.js.map +1 -1
- package/dist/cli/botEntry.js +3 -1
- package/dist/cli/botEntry.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/envLoader.d.ts +6 -5
- package/dist/cli/envLoader.d.ts.map +1 -1
- package/dist/cli/envLoader.js +8 -27
- package/dist/cli/envLoader.js.map +1 -1
- package/dist/cli/hot.d.ts +2 -2
- package/dist/cli/hot.d.ts.map +1 -1
- package/dist/cli/hot.js +26 -16
- package/dist/cli/hot.js.map +1 -1
- package/dist/cli.js +19 -9
- package/dist/cli.js.map +1 -1
- package/dist/connectors/jira/adf.d.ts +23 -0
- package/dist/connectors/jira/adf.d.ts.map +1 -1
- package/dist/connectors/jira/adf.js +44 -0
- package/dist/connectors/jira/adf.js.map +1 -1
- package/dist/connectors/jira/answerSink.d.ts +27 -3
- package/dist/connectors/jira/answerSink.d.ts.map +1 -1
- package/dist/connectors/jira/answerSink.js +145 -18
- 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 +36 -0
- package/dist/connectors/jira/client.d.ts.map +1 -1
- package/dist/connectors/jira/client.js +46 -5
- package/dist/connectors/jira/client.js.map +1 -1
- package/dist/connectors/jira/config.d.ts +13 -17
- package/dist/connectors/jira/config.d.ts.map +1 -1
- package/dist/connectors/jira/config.js +15 -33
- package/dist/connectors/jira/config.js.map +1 -1
- package/dist/connectors/jira/connector.d.ts +10 -1
- package/dist/connectors/jira/connector.d.ts.map +1 -1
- package/dist/connectors/jira/connector.js +90 -16
- package/dist/connectors/jira/connector.js.map +1 -1
- package/dist/connectors/jira/contextLedger.d.ts +7 -0
- package/dist/connectors/jira/contextLedger.d.ts.map +1 -1
- package/dist/connectors/jira/contextLedger.js +18 -0
- package/dist/connectors/jira/contextLedger.js.map +1 -1
- package/dist/connectors/jira/contextPreamble.d.ts.map +1 -1
- package/dist/connectors/jira/contextPreamble.js +6 -3
- package/dist/connectors/jira/contextPreamble.js.map +1 -1
- package/dist/connectors/jira/inbound.d.ts +72 -10
- package/dist/connectors/jira/inbound.d.ts.map +1 -1
- package/dist/connectors/jira/inbound.js +204 -36
- package/dist/connectors/jira/inbound.js.map +1 -1
- package/dist/connectors/jira/issueBlocks.d.ts +31 -3
- package/dist/connectors/jira/issueBlocks.d.ts.map +1 -1
- package/dist/connectors/jira/issueBlocks.js +108 -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 +4 -0
- package/dist/connectors/jira/prompt.d.ts.map +1 -1
- package/dist/connectors/jira/prompt.js +20 -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 +16 -3
- package/dist/connectors/jira/trigger.d.ts.map +1 -1
- package/dist/connectors/jira/trigger.js +17 -2
- package/dist/connectors/jira/trigger.js.map +1 -1
- package/dist/connectors/jira/triggerLog.d.ts +12 -3
- package/dist/connectors/jira/triggerLog.d.ts.map +1 -1
- package/dist/connectors/jira/triggerLog.js +18 -2
- 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/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/installManager.d.ts +16 -2
- package/dist/installManager.d.ts.map +1 -1
- package/dist/installManager.js +42 -12
- package/dist/installManager.js.map +1 -1
- package/dist/instanceLock.d.ts.map +1 -1
- package/dist/instanceLock.js +10 -8
- package/dist/instanceLock.js.map +1 -1
- package/dist/legacyMigration.d.ts +69 -0
- package/dist/legacyMigration.d.ts.map +1 -0
- package/dist/legacyMigration.js +338 -0
- package/dist/legacyMigration.js.map +1 -0
- package/dist/legacyNames.d.ts +107 -0
- package/dist/legacyNames.d.ts.map +1 -0
- package/dist/legacyNames.js +230 -0
- package/dist/legacyNames.js.map +1 -0
- package/dist/platform/answerSink.d.ts +5 -0
- package/dist/platform/answerSink.d.ts.map +1 -1
- package/dist/platform/answerSink.js.map +1 -1
- package/dist/requests/answerRequest.d.ts +2 -0
- package/dist/requests/answerRequest.d.ts.map +1 -1
- package/dist/requests/answerRequest.js +3 -1
- package/dist/requests/answerRequest.js.map +1 -1
- package/dist/requests/answerStyle.d.ts +11 -0
- package/dist/requests/answerStyle.d.ts.map +1 -0
- package/dist/requests/answerStyle.js +14 -0
- package/dist/requests/answerStyle.js.map +1 -0
- package/dist/requests/answerTail.d.ts.map +1 -1
- package/dist/requests/answerTail.js +2 -0
- package/dist/requests/answerTail.js.map +1 -1
- package/dist/requests/requestHeader.d.ts.map +1 -1
- package/dist/requests/requestHeader.js +3 -0
- package/dist/requests/requestHeader.js.map +1 -1
- package/dist/requests/requestLedger.js +1 -1
- package/dist/requests/requestLedger.js.map +1 -1
- package/dist/requests/types.d.ts +3 -1
- package/dist/requests/types.d.ts.map +1 -1
- package/dist/scheduler/mcpSurface.d.ts +17 -1
- package/dist/scheduler/mcpSurface.d.ts.map +1 -1
- package/dist/scheduler/mcpSurface.js +86 -13
- package/dist/scheduler/mcpSurface.js.map +1 -1
- package/dist/state.d.ts +175 -2
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +303 -2
- 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 +124 -0
- package/dist/utils/claudeProfiles.d.ts.map +1 -0
- package/dist/utils/claudeProfiles.js +304 -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/openCodeCompactPlugin.d.ts +11 -3
- package/dist/utils/openCodeCompactPlugin.d.ts.map +1 -1
- package/dist/utils/openCodeCompactPlugin.js +37 -5
- package/dist/utils/openCodeCompactPlugin.js.map +1 -1
- 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/examples/.env.example +7 -7
- package/examples/docker-compose.yml +15 -14
- package/package.json +3 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { SessionKey } from '../../sessionKey';
|
|
2
2
|
import { type JiraClient } from './client';
|
|
3
|
+
import type { JiraTrust } from './trustedGroup';
|
|
3
4
|
/**
|
|
4
5
|
* @description `jira_get_attachment` (prompt context C10): the agent names an
|
|
5
6
|
* attachment id, the bot downloads the ORIGINAL into the conversation's files
|
|
@@ -10,6 +11,10 @@ import { type JiraClient } from './client';
|
|
|
10
11
|
* scoped session key), never from an argument, and the id must be in that
|
|
11
12
|
* issue's attachment list read NOW. A line planted in an issue ("fetch
|
|
12
13
|
* attachment 12345") therefore cannot pull a file of any other issue.
|
|
14
|
+
*
|
|
15
|
+
* With a trusted group the file's uploader must be trusted too — the same
|
|
16
|
+
* predicate that withheld it from the prompt — judged on the membership list
|
|
17
|
+
* read now: a list that cannot be refreshed refuses.
|
|
13
18
|
*/
|
|
14
19
|
/** A file name over 255 bytes is refused by the filesystem; `<id>-<name>` is cut to this, on a character boundary. */
|
|
15
20
|
export declare const jiraAttachmentFileNameMaxBytes = 200;
|
|
@@ -25,6 +30,8 @@ export interface JiraAttachmentToolDeps {
|
|
|
25
30
|
client: Pick<JiraClient, 'getIssue' | 'downloadAttachment'>;
|
|
26
31
|
/** Where one conversation's downloads go: its files dir, `jira`. */
|
|
27
32
|
getDownloadDir: (key: SessionKey) => string;
|
|
33
|
+
/** The trusted group (`trustedGroup.ts`); `null` without `trustedGroup` in `jira.json`: no uploader is refused. */
|
|
34
|
+
trust: JiraTrust | null;
|
|
28
35
|
}
|
|
29
36
|
/**
|
|
30
37
|
* @description `<id>-<name>` as one safe path segment of at most
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachmentTool.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/attachmentTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"attachmentTool.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/attachmentTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAE/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;;;;;;;;GAcG;AAEH,sHAAsH;AACtH,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAOlD,uFAAuF;AACvF,MAAM,MAAM,wBAAwB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpG,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,oBAAoB,CAAC,CAAC;IAC5D,oEAAoE;IACpE,cAAc,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,MAAM,CAAC;IAC5C,mHAAmH;IACnH,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CACzB;AAcD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CASpF;AAwBD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAsCjJ"}
|
|
@@ -51,6 +51,10 @@ const promptText_1 = require("./promptText");
|
|
|
51
51
|
* scoped session key), never from an argument, and the id must be in that
|
|
52
52
|
* issue's attachment list read NOW. A line planted in an issue ("fetch
|
|
53
53
|
* attachment 12345") therefore cannot pull a file of any other issue.
|
|
54
|
+
*
|
|
55
|
+
* With a trusted group the file's uploader must be trusted too — the same
|
|
56
|
+
* predicate that withheld it from the prompt — judged on the membership list
|
|
57
|
+
* read now: a list that cannot be refreshed refuses.
|
|
54
58
|
*/
|
|
55
59
|
/** A file name over 255 bytes is refused by the filesystem; `<id>-<name>` is cut to this, on a character boundary. */
|
|
56
60
|
exports.jiraAttachmentFileNameMaxBytes = 200;
|
|
@@ -125,6 +129,18 @@ async function fetchIssueAttachment(deps, key, attachmentId) {
|
|
|
125
129
|
const listed = (issue.fields.attachment ?? []).map((candidate) => candidate.id).join(', ') || 'none';
|
|
126
130
|
return { ok: false, error: `Attachment ${attachmentId} is not an attachment of ${issueKey}. Its attachments: ${listed}.` };
|
|
127
131
|
}
|
|
132
|
+
if (deps.trust) {
|
|
133
|
+
try {
|
|
134
|
+
await deps.trust.refreshIfStale();
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
138
|
+
return { ok: false, error: `Attachment ${attachmentId} could not be fetched: the trusted group's members could not be read (${reason})` };
|
|
139
|
+
}
|
|
140
|
+
if (!deps.trust.checkIsTrusted(attachment.author)) {
|
|
141
|
+
return { ok: false, error: `Attachment ${attachmentId} was uploaded by someone outside the trusted group; it is not available to you.` };
|
|
142
|
+
}
|
|
143
|
+
}
|
|
128
144
|
const downloadDir = deps.getDownloadDir(key);
|
|
129
145
|
const filePath = path.join(downloadDir, getAttachmentFileName(attachment.id, attachment.filename));
|
|
130
146
|
if (await checkHasRegularFileOfSize(filePath, attachment.size)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachmentTool.js","sourceRoot":"","sources":["../../../src/connectors/jira/attachmentTool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"attachmentTool.js","sourceRoot":"","sources":["../../../src/connectors/jira/attachmentTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,10 @@ export declare const jiraBackoffMs: readonly [1000, 4000];
|
|
|
28
28
|
export declare const jiraBackoffJitterRatio = 0.5;
|
|
29
29
|
/** Jira's own page size for comments; the page actually returned decides where the next one starts. */
|
|
30
30
|
export declare const jiraCommentPageSize = 100;
|
|
31
|
+
/** Jira's largest changelog page. */
|
|
32
|
+
export declare const jiraChangelogPageSize = 100;
|
|
33
|
+
/** The most members of a group one `group/member` page holds; the page actually returned decides where the next one starts. */
|
|
34
|
+
export declare const jiraGroupMemberPageSize = 50;
|
|
31
35
|
/** The credentials were refused (401) or lack the permission (403). Never retried. */
|
|
32
36
|
export declare class JiraAuthError extends Error {
|
|
33
37
|
readonly status: number;
|
|
@@ -224,6 +228,7 @@ declare const issueSchema: z.ZodObject<{
|
|
|
224
228
|
displayName: z.ZodOptional<z.ZodString>;
|
|
225
229
|
}, z.core.$strip>>>;
|
|
226
230
|
created: z.ZodOptional<z.ZodString>;
|
|
231
|
+
updated: z.ZodOptional<z.ZodString>;
|
|
227
232
|
description: z.ZodOptional<z.ZodNullable<z.ZodType<import("./adf").AdfNode, unknown, z.core.$ZodTypeInternals<import("./adf").AdfNode, unknown>>>>;
|
|
228
233
|
}, z.core.$strip>;
|
|
229
234
|
renderedFields: z.ZodOptional<z.ZodObject<{
|
|
@@ -344,6 +349,7 @@ declare const searchResultSchema: z.ZodObject<{
|
|
|
344
349
|
displayName: z.ZodOptional<z.ZodString>;
|
|
345
350
|
}, z.core.$strip>>>;
|
|
346
351
|
created: z.ZodOptional<z.ZodString>;
|
|
352
|
+
updated: z.ZodOptional<z.ZodString>;
|
|
347
353
|
description: z.ZodOptional<z.ZodNullable<z.ZodType<import("./adf").AdfNode, unknown, z.core.$ZodTypeInternals<import("./adf").AdfNode, unknown>>>>;
|
|
348
354
|
}, z.core.$strip>;
|
|
349
355
|
renderedFields: z.ZodOptional<z.ZodObject<{
|
|
@@ -408,6 +414,13 @@ declare const fieldDefinitionsSchema: z.ZodArray<z.ZodObject<{
|
|
|
408
414
|
id: z.ZodString;
|
|
409
415
|
name: z.ZodString;
|
|
410
416
|
}, z.core.$strip>>;
|
|
417
|
+
/** `GET /group/bulk`: the groups of that name, each with the id that survives a rename. */
|
|
418
|
+
declare const groupPageSchema: z.ZodObject<{
|
|
419
|
+
values: z.ZodArray<z.ZodObject<{
|
|
420
|
+
name: z.ZodString;
|
|
421
|
+
groupId: z.ZodString;
|
|
422
|
+
}, z.core.$strip>>;
|
|
423
|
+
}, z.core.$strip>;
|
|
411
424
|
export type JiraAccount = z.infer<typeof accountSchema>;
|
|
412
425
|
export type JiraChangelogHistory = z.infer<typeof changelogHistorySchema>;
|
|
413
426
|
/** `rawFields` (every returned field's value as Jira sent it, by id) is filled in by `getIssue` only, never by a search. */
|
|
@@ -425,6 +438,8 @@ export type JiraSearchResult = z.infer<typeof searchResultSchema>;
|
|
|
425
438
|
export type JiraChangelogPage = z.infer<typeof changelogPageSchema>;
|
|
426
439
|
/** A status as `GET /project/{key}/statuses` lists it. */
|
|
427
440
|
export type JiraProjectStatus = z.infer<typeof projectStatusSchema>;
|
|
441
|
+
/** A group as `GET /group/bulk` lists it: its name and the id that stays when the name changes. */
|
|
442
|
+
export type JiraGroup = z.infer<typeof groupPageSchema>['values'][number];
|
|
428
443
|
/** @name JiraSearchRequest @description `POST /rest/api/3/search/jql` (D13). */
|
|
429
444
|
export interface JiraSearchRequest {
|
|
430
445
|
jql: string;
|
|
@@ -482,9 +497,30 @@ export interface JiraClient {
|
|
|
482
497
|
addComment(issueKey: string, body: AdfDocument): Promise<JiraCommentPostResult>;
|
|
483
498
|
/** The issue's newest comments, newest first — R18's read-back after a post of unknown outcome. */
|
|
484
499
|
getRecentComments(issueKey: string, maxResults: number): Promise<JiraComment[]>;
|
|
500
|
+
/** One comment of the issue by its id; a comment that is gone is a {@link JiraHttpError} with `status` 404. */
|
|
501
|
+
getComment(issueKey: string, commentId: string): Promise<JiraComment>;
|
|
485
502
|
assignIssue(issueKey: string, accountId: string): Promise<void>;
|
|
486
503
|
getProjectStatuses(projectKey: string): Promise<JiraProjectStatus[]>;
|
|
504
|
+
/** The group named EXACTLY `groupName`, or `null` when the site has none. Needs the Browse users and groups permission. */
|
|
505
|
+
getGroupByName(groupName: string): Promise<JiraGroup | null>;
|
|
506
|
+
/**
|
|
507
|
+
* EVERY active member of the group `groupId`, read page by page. A group that does not exist is a
|
|
508
|
+
* {@link JiraHttpError} with `status` 404; a missing permission is a {@link JiraAuthError}.
|
|
509
|
+
*/
|
|
510
|
+
getGroupMembers(groupId: string): Promise<JiraAccount[]>;
|
|
511
|
+
}
|
|
512
|
+
/** One page of a read paged by `startAt`, as {@link checkIsLastOffsetPage} judges it. */
|
|
513
|
+
export interface JiraOffsetPage {
|
|
514
|
+
isLast?: boolean;
|
|
515
|
+
total?: number;
|
|
516
|
+
pageItemCount: number;
|
|
517
|
+
/** Everything read so far, this page included. */
|
|
518
|
+
readItemCount: number;
|
|
519
|
+
/** The `maxResults` asked for. */
|
|
520
|
+
pageSize: number;
|
|
487
521
|
}
|
|
522
|
+
/** An empty page always ends a `startAt` read; else `isLast` does when Jira sends it, else `total`, else a page shorter than asked. */
|
|
523
|
+
export declare function checkIsLastOffsetPage(page: JiraOffsetPage): boolean;
|
|
488
524
|
export declare function createJiraClient(options: JiraClientOptions): JiraClient;
|
|
489
525
|
export {};
|
|
490
526
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAuC,KAAK,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,OAAO,CAAC;AAEtG;;;;;;;;;;;;;;;;;;GAkBG;AAEH,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAC3C,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAC1C,mFAAmF;AACnF,eAAO,MAAM,aAAa,uBAA0B,CAAC;AACrD,+GAA+G;AAC/G,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,uGAAuG;AACvG,eAAO,MAAM,mBAAmB,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.JiraHttpError = exports.JiraAuthError = exports.jiraCommentPageSize = exports.jiraBackoffJitterRatio = exports.jiraBackoffMs = exports.jiraRetryAfterCapMs = exports.jiraMaxAttempts = exports.jiraRequestTimeoutMs = void 0;
|
|
3
|
+
exports.JiraHttpError = exports.JiraAuthError = exports.jiraGroupMemberPageSize = exports.jiraChangelogPageSize = exports.jiraCommentPageSize = exports.jiraBackoffJitterRatio = exports.jiraBackoffMs = exports.jiraRetryAfterCapMs = exports.jiraMaxAttempts = exports.jiraRequestTimeoutMs = void 0;
|
|
4
|
+
exports.checkIsLastOffsetPage = checkIsLastOffsetPage;
|
|
4
5
|
exports.createJiraClient = createJiraClient;
|
|
5
6
|
const zod_1 = require("zod");
|
|
6
7
|
const utils_1 = require("../../utils");
|
|
@@ -35,6 +36,10 @@ exports.jiraBackoffMs = [1_000, 4_000];
|
|
|
35
36
|
exports.jiraBackoffJitterRatio = 0.5;
|
|
36
37
|
/** Jira's own page size for comments; the page actually returned decides where the next one starts. */
|
|
37
38
|
exports.jiraCommentPageSize = 100;
|
|
39
|
+
/** Jira's largest changelog page. */
|
|
40
|
+
exports.jiraChangelogPageSize = 100;
|
|
41
|
+
/** The most members of a group one `group/member` page holds; the page actually returned decides where the next one starts. */
|
|
42
|
+
exports.jiraGroupMemberPageSize = 50;
|
|
38
43
|
/**
|
|
39
44
|
* Network error codes that mean the request never left this host — no
|
|
40
45
|
* connection, no address, no TLS session — so nothing reached Jira.
|
|
@@ -171,6 +176,8 @@ const issueFieldsSchema = zod_1.z.object({
|
|
|
171
176
|
reporter: accountSchema.nullable().optional(),
|
|
172
177
|
creator: accountSchema.nullable().optional(),
|
|
173
178
|
created: zod_1.z.string().optional(),
|
|
179
|
+
/** Moves on every change of the issue, a comment added or edited included (the mention scan reads it). */
|
|
180
|
+
updated: zod_1.z.string().optional(),
|
|
174
181
|
description: adf_1.adfNodeSchema.nullable().optional(),
|
|
175
182
|
});
|
|
176
183
|
const issueSchema = zod_1.z.object({
|
|
@@ -212,6 +219,15 @@ const remoteLinksSchema = zod_1.z.array(remoteLinkSchema);
|
|
|
212
219
|
/** What `GET /issue/{key}/remotelink` answers when issue linking is switched off on the site. */
|
|
213
220
|
const remoteLinksDisabledStatus = 403;
|
|
214
221
|
const fieldDefinitionsSchema = zod_1.z.array(zod_1.z.object({ id: zod_1.z.string(), name: zod_1.z.string() }));
|
|
222
|
+
/** `GET /group/bulk`: the groups of that name, each with the id that survives a rename. */
|
|
223
|
+
const groupPageSchema = zod_1.z.object({
|
|
224
|
+
values: zod_1.z.array(zod_1.z.object({ name: zod_1.z.string(), groupId: zod_1.z.string() })),
|
|
225
|
+
});
|
|
226
|
+
const groupMemberPageSchema = zod_1.z.object({
|
|
227
|
+
total: zod_1.z.number().optional(),
|
|
228
|
+
isLast: zod_1.z.boolean().optional(),
|
|
229
|
+
values: zod_1.z.array(accountSchema),
|
|
230
|
+
});
|
|
215
231
|
const createdCommentSchema = zod_1.z.object({ id: zod_1.z.string() });
|
|
216
232
|
const myselfSchema = zod_1.z.object({ accountId: zod_1.z.string() });
|
|
217
233
|
/** Jira's error body (`errorMessages` + per-field `errors`), names and texts only. */
|
|
@@ -259,6 +275,14 @@ function getFailureDetail(error) {
|
|
|
259
275
|
const reason = cause.message.includes(code) ? cause.message : [code, cause.message].filter((part) => part !== '').join(': ');
|
|
260
276
|
return reason ? `${error.message} (${reason})` : error.message;
|
|
261
277
|
}
|
|
278
|
+
/** An empty page always ends a `startAt` read; else `isLast` does when Jira sends it, else `total`, else a page shorter than asked. */
|
|
279
|
+
function checkIsLastOffsetPage(page) {
|
|
280
|
+
if (page.pageItemCount === 0)
|
|
281
|
+
return true;
|
|
282
|
+
if (page.isLast !== undefined)
|
|
283
|
+
return page.isLast;
|
|
284
|
+
return page.total === undefined ? page.pageItemCount < page.pageSize : page.readItemCount >= page.total;
|
|
285
|
+
}
|
|
262
286
|
function getParsedResponse(text, schema) {
|
|
263
287
|
let json;
|
|
264
288
|
try {
|
|
@@ -387,11 +411,9 @@ function createJiraClient(options) {
|
|
|
387
411
|
isIdempotent: true,
|
|
388
412
|
}, commentPageSchema);
|
|
389
413
|
comments.push(...page.comments);
|
|
390
|
-
|
|
391
|
-
const isLastPage = page.comments.length === 0
|
|
392
|
-
|| (page.total === undefined ? page.comments.length < exports.jiraCommentPageSize : comments.length >= page.total);
|
|
393
|
-
if (isLastPage)
|
|
414
|
+
if (checkIsLastOffsetPage({ total: page.total, pageItemCount: page.comments.length, readItemCount: comments.length, pageSize: exports.jiraCommentPageSize })) {
|
|
394
415
|
return comments;
|
|
416
|
+
}
|
|
395
417
|
}
|
|
396
418
|
},
|
|
397
419
|
getRemoteLinks: async (issueKey) => {
|
|
@@ -437,6 +459,7 @@ function createJiraClient(options) {
|
|
|
437
459
|
const page = await sendForJson({ method: 'GET', path: `/rest/api/3/issue/${encode(issueKey)}/comment?orderBy=-created&maxResults=${maxResults}`, isIdempotent: true }, commentPageSchema);
|
|
438
460
|
return page.comments;
|
|
439
461
|
},
|
|
462
|
+
getComment: (issueKey, commentId) => sendForJson({ method: 'GET', path: `/rest/api/3/issue/${encode(issueKey)}/comment/${encode(commentId)}`, isIdempotent: true }, commentSchema),
|
|
440
463
|
assignIssue: async (issueKey, accountId) => {
|
|
441
464
|
await send({ method: 'PUT', path: `/rest/api/3/issue/${encode(issueKey)}/assignee`, isIdempotent: true, body: { accountId } });
|
|
442
465
|
},
|
|
@@ -448,6 +471,24 @@ function createJiraClient(options) {
|
|
|
448
471
|
byId.set(status.id, status);
|
|
449
472
|
return [...byId.values()];
|
|
450
473
|
},
|
|
474
|
+
getGroupByName: async (groupName) => {
|
|
475
|
+
const page = await sendForJson({ method: 'GET', path: `/rest/api/3/group/bulk?groupName=${encode(groupName)}`, isIdempotent: true }, groupPageSchema);
|
|
476
|
+
return page.values.find((group) => group.name === groupName) ?? null;
|
|
477
|
+
},
|
|
478
|
+
getGroupMembers: async (groupId) => {
|
|
479
|
+
const members = [];
|
|
480
|
+
for (;;) {
|
|
481
|
+
const page = await sendForJson({
|
|
482
|
+
method: 'GET',
|
|
483
|
+
path: `/rest/api/3/group/member?groupId=${encode(groupId)}&includeInactiveUsers=false&startAt=${members.length}&maxResults=${exports.jiraGroupMemberPageSize}`,
|
|
484
|
+
isIdempotent: true,
|
|
485
|
+
}, groupMemberPageSchema);
|
|
486
|
+
members.push(...page.values);
|
|
487
|
+
if (checkIsLastOffsetPage({ isLast: page.isLast, total: page.total, pageItemCount: page.values.length, readItemCount: members.length, pageSize: exports.jiraGroupMemberPageSize })) {
|
|
488
|
+
return members;
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
},
|
|
451
492
|
};
|
|
452
493
|
}
|
|
453
494
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/connectors/jira/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/connectors/jira/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,27 +4,23 @@ import type { JiraFieldDefinition, JiraProjectStatus } from './client';
|
|
|
4
4
|
import type { JiraExtraField } from './issueBlocks';
|
|
5
5
|
/**
|
|
6
6
|
* @description The Jira connector's configuration (Jira connector plan J4,
|
|
7
|
-
* D10/D11/D16, R4/R9; J4b
|
|
7
|
+
* D10/D11/D16, R4/R9; J4b R14/R15): `DATA_DIR/jira.json`, `${VAR}` placeholders expanded from
|
|
8
8
|
* the environment (the secrets stay in the instance's env file, never in the
|
|
9
9
|
* JSON). Validation names the field that is wrong and never echoes a value.
|
|
10
10
|
*/
|
|
11
11
|
/** Poll interval bounds and default, seconds (D13). */
|
|
12
12
|
export declare const jiraPollIntervalMinSeconds = 10;
|
|
13
13
|
export declare const jiraPollIntervalMaxSeconds = 600;
|
|
14
|
-
export declare const jiraPollIntervalDefaultSeconds =
|
|
14
|
+
export declare const jiraPollIntervalDefaultSeconds = 30;
|
|
15
15
|
/** Requests per issue per rolling 24 h (D12). */
|
|
16
16
|
export declare const jiraRunBudgetDefault = 5;
|
|
17
17
|
/** What a Jira session runs on when `jira.json` names neither (C14); either key still overrides its own default. */
|
|
18
18
|
export declare const jiraDefaultModel = "opus";
|
|
19
19
|
export declare const jiraDefaultEffort: ClaudeEffortLevel;
|
|
20
|
+
/** The refusal of `wakeOnMention: true` without a `trustedGroup`. */
|
|
21
|
+
export declare const wakeOnMentionNeedsGroupError = "jira.json wakeOnMention needs trustedGroup: without a group, anyone who can comment could start the AI";
|
|
20
22
|
/** The json-stream host, under either lifecycle — no TUI trust dialog (R14). */
|
|
21
23
|
export type JiraAdapterName = typeof claudeJsonStreamAdapterName | typeof claudePerTurnAdapterName;
|
|
22
|
-
/**
|
|
23
|
-
* What Claude Code loads as project memory from the working folder AND every
|
|
24
|
-
* folder above it (R12): any of these above a Jira folder brings someone's
|
|
25
|
-
* instructions into the session — under HOME that is the operator's own setup.
|
|
26
|
-
*/
|
|
27
|
-
export declare const claudeMemoryMarkerNames: readonly ["CLAUDE.md", "CLAUDE.local.md", "AGENTS.md", ".claude"];
|
|
28
24
|
/** @name JiraProjectConfig @description One allowlisted project. */
|
|
29
25
|
export interface JiraProjectConfig {
|
|
30
26
|
/** The working folder relative to `WORK_ROOT`, canonical (validated to exist), as a binding stores it. */
|
|
@@ -46,6 +42,15 @@ export interface JiraConfig {
|
|
|
46
42
|
projects: ReadonlyMap<string, JiraProjectConfig>;
|
|
47
43
|
pollIntervalMs: number;
|
|
48
44
|
runBudgetPer24h: number;
|
|
45
|
+
/** The trusted group's name as `jira.json` gives it; `null` → no filter, the text of everyone who can edit or comment reaches the agents. */
|
|
46
|
+
trustedGroupName: string | null;
|
|
47
|
+
/**
|
|
48
|
+
* Whether an @-mention of the AI account in a comment starts a request (it answers only, nothing is handed
|
|
49
|
+
* over). `wakeOnMention` from `jira.json`; absent → on exactly when `trustedGroup` is set.
|
|
50
|
+
*/
|
|
51
|
+
isMentionWakeOn: boolean;
|
|
52
|
+
/** `wakeOnMention` as `jira.json` gives it, `null` when absent: the boot line tells a deliberate "off" from "no group". */
|
|
53
|
+
wakeOnMentionSetting: boolean | null;
|
|
49
54
|
adapter: JiraAdapterName;
|
|
50
55
|
/** The sessions' model; absent from `jira.json` → {@link jiraDefaultModel}. */
|
|
51
56
|
model: string;
|
|
@@ -61,15 +66,6 @@ export type JiraConfigResult = {
|
|
|
61
66
|
ok: false;
|
|
62
67
|
errors: string[];
|
|
63
68
|
};
|
|
64
|
-
/**
|
|
65
|
-
* @description R12: the marker of Claude memory nearest a folder — in the folder
|
|
66
|
-
* itself or any folder above it, up to the filesystem root — with how many
|
|
67
|
-
* levels up it was found; `null` when the ancestry is clean.
|
|
68
|
-
*/
|
|
69
|
-
export declare function getClaudeMemoryAbove(folderPath: string): {
|
|
70
|
-
markerName: string;
|
|
71
|
-
levelsUp: number;
|
|
72
|
-
} | null;
|
|
73
69
|
/**
|
|
74
70
|
* @description R9: a Jira instance must not share the default OpenCode server —
|
|
75
71
|
* every other instance on the host (another bot's included) uses it by default,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/config.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAA4B,MAAM,6BAA6B,CAAC;AAC9H,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGhF,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD;;;;;GAKG;AAEH,uDAAuD;AACvD,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,8BAA8B,KAAK,CAAC;AACjD,iDAAiD;AACjD,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,oHAAoH;AACpH,eAAO,MAAM,gBAAgB,SAAS,CAAC;AACvC,eAAO,MAAM,iBAAiB,EAAE,iBAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,8 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.
|
|
37
|
-
exports.getClaudeMemoryAbove = getClaudeMemoryAbove;
|
|
36
|
+
exports.wakeOnMentionNeedsGroupError = exports.jiraDefaultEffort = exports.jiraDefaultModel = exports.jiraRunBudgetDefault = exports.jiraPollIntervalDefaultSeconds = exports.jiraPollIntervalMaxSeconds = exports.jiraPollIntervalMinSeconds = void 0;
|
|
38
37
|
exports.getOpenCodeIsolationError = getOpenCodeIsolationError;
|
|
39
38
|
exports.validateJiraConfig = validateJiraConfig;
|
|
40
39
|
exports.loadJiraConfig = loadJiraConfig;
|
|
@@ -52,19 +51,21 @@ const sessionKeyCodec_1 = require("./sessionKeyCodec");
|
|
|
52
51
|
const configFile_1 = require("./configFile");
|
|
53
52
|
/**
|
|
54
53
|
* @description The Jira connector's configuration (Jira connector plan J4,
|
|
55
|
-
* D10/D11/D16, R4/R9; J4b
|
|
54
|
+
* D10/D11/D16, R4/R9; J4b R14/R15): `DATA_DIR/jira.json`, `${VAR}` placeholders expanded from
|
|
56
55
|
* the environment (the secrets stay in the instance's env file, never in the
|
|
57
56
|
* JSON). Validation names the field that is wrong and never echoes a value.
|
|
58
57
|
*/
|
|
59
58
|
/** Poll interval bounds and default, seconds (D13). */
|
|
60
59
|
exports.jiraPollIntervalMinSeconds = 10;
|
|
61
60
|
exports.jiraPollIntervalMaxSeconds = 600;
|
|
62
|
-
exports.jiraPollIntervalDefaultSeconds =
|
|
61
|
+
exports.jiraPollIntervalDefaultSeconds = 30;
|
|
63
62
|
/** Requests per issue per rolling 24 h (D12). */
|
|
64
63
|
exports.jiraRunBudgetDefault = 5;
|
|
65
64
|
/** What a Jira session runs on when `jira.json` names neither (C14); either key still overrides its own default. */
|
|
66
65
|
exports.jiraDefaultModel = 'opus';
|
|
67
66
|
exports.jiraDefaultEffort = 'high';
|
|
67
|
+
/** The refusal of `wakeOnMention: true` without a `trustedGroup`. */
|
|
68
|
+
exports.wakeOnMentionNeedsGroupError = 'jira.json wakeOnMention needs trustedGroup: without a group, anyone who can comment could start the AI';
|
|
68
69
|
/** The backend a Jira session runs on by default (D16, R14); `claude-per-turn` is the other allowed one (L-D12). */
|
|
69
70
|
const jiraAdapterName = adapterNames_1.claudeJsonStreamAdapterName;
|
|
70
71
|
/** Backends refused for a Jira project, each with its reason. */
|
|
@@ -72,12 +73,6 @@ const refusedAdapterReasons = new Map([
|
|
|
72
73
|
['opencode', 'OpenCode is not available for a Jira project (it cannot be isolated yet)'],
|
|
73
74
|
['claude', 'the tmux Claude backend is not available for a Jira project (its folder-trust dialog would hold the session)'],
|
|
74
75
|
]);
|
|
75
|
-
/**
|
|
76
|
-
* What Claude Code loads as project memory from the working folder AND every
|
|
77
|
-
* folder above it (R12): any of these above a Jira folder brings someone's
|
|
78
|
-
* instructions into the session — under HOME that is the operator's own setup.
|
|
79
|
-
*/
|
|
80
|
-
exports.claudeMemoryMarkerNames = ['CLAUDE.md', 'CLAUDE.local.md', 'AGENTS.md', '.claude'];
|
|
81
76
|
/** A model name as `claude --model` takes it (`opus`, `claude-opus-5-5`, `opus[1m]`). */
|
|
82
77
|
const claudeModelRe = /^[A-Za-z0-9][A-Za-z0-9._:/[\]-]*$/;
|
|
83
78
|
const claudeModelMaxLength = 100;
|
|
@@ -111,6 +106,11 @@ const rawConfigSchema = zod_1.z.strictObject({
|
|
|
111
106
|
projects: zod_1.z.record(zod_1.z.string(), projectSchema),
|
|
112
107
|
pollIntervalSeconds: zod_1.z.number().int().min(exports.jiraPollIntervalMinSeconds).max(exports.jiraPollIntervalMaxSeconds).optional(),
|
|
113
108
|
runBudgetPer24h: zod_1.z.number().int().min(1).optional(),
|
|
109
|
+
// The NAME of one Jira group: only its members' text steers the agent (see `trustedGroup.ts`); absent → everyone's does.
|
|
110
|
+
trustedGroup: zod_1.z.string().min(1).optional(),
|
|
111
|
+
// An @-mention of the AI account in a comment wakes it (answer only). Absent → on with a `trustedGroup`, off without;
|
|
112
|
+
// `true` without a group is refused: anyone who can comment could start the agent.
|
|
113
|
+
wakeOnMention: zod_1.z.boolean().optional(),
|
|
114
114
|
adapter: zod_1.z.string().min(1).optional(),
|
|
115
115
|
// R15: user settings no longer apply in a Jira session, so its model and effort come from here.
|
|
116
116
|
model: zod_1.z.string().max(claudeModelMaxLength).regex(claudeModelRe, 'must be a model name like opus or claude-opus-5-5').optional(),
|
|
@@ -133,23 +133,6 @@ function getAgentBinaryError(binaryPath) {
|
|
|
133
133
|
}
|
|
134
134
|
return null;
|
|
135
135
|
}
|
|
136
|
-
/**
|
|
137
|
-
* @description R12: the marker of Claude memory nearest a folder — in the folder
|
|
138
|
-
* itself or any folder above it, up to the filesystem root — with how many
|
|
139
|
-
* levels up it was found; `null` when the ancestry is clean.
|
|
140
|
-
*/
|
|
141
|
-
function getClaudeMemoryAbove(folderPath) {
|
|
142
|
-
let current = path.resolve(folderPath);
|
|
143
|
-
for (let levelsUp = 0;; levelsUp += 1) {
|
|
144
|
-
const markerName = exports.claudeMemoryMarkerNames.find((name) => fs.existsSync(path.join(current, name)));
|
|
145
|
-
if (markerName)
|
|
146
|
-
return { markerName, levelsUp };
|
|
147
|
-
const parent = path.dirname(current);
|
|
148
|
-
if (parent === current)
|
|
149
|
-
return null;
|
|
150
|
-
current = parent;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
136
|
/** Names of the fields that still hold a `${VAR}` placeholder — a variable the env file does not set. */
|
|
154
137
|
function getUnexpandedFields(node, pathPrefix) {
|
|
155
138
|
const fields = [];
|
|
@@ -232,6 +215,8 @@ function validateJiraConfig(parsedJson, context) {
|
|
|
232
215
|
const openCodeError = getOpenCodeIsolationError(context.openCodeUrl);
|
|
233
216
|
if (openCodeError)
|
|
234
217
|
errors.push(openCodeError);
|
|
218
|
+
if (raw.wakeOnMention === true && raw.trustedGroup === undefined)
|
|
219
|
+
errors.push(exports.wakeOnMentionNeedsGroupError);
|
|
235
220
|
const agentBinaries = new Map();
|
|
236
221
|
for (const [name, binaryPath] of Object.entries(raw.agentBinaries ?? {})) {
|
|
237
222
|
const binaryError = getAgentBinaryError(binaryPath);
|
|
@@ -258,12 +243,6 @@ function validateJiraConfig(parsedJson, context) {
|
|
|
258
243
|
errors.push(`jira.json projects.${projectKey}.folder: ${reason}`);
|
|
259
244
|
continue;
|
|
260
245
|
}
|
|
261
|
-
const memory = getClaudeMemoryAbove(path.join(fs.realpathSync(context.workRoot), folder));
|
|
262
|
-
if (memory) {
|
|
263
|
-
const where = memory.levelsUp === 0 ? 'in it' : `${memory.levelsUp} folder(s) above it`;
|
|
264
|
-
errors.push(`jira.json projects.${projectKey}.folder: Claude would load ${memory.markerName} found ${where} — pick a folder outside HOME and any repository`);
|
|
265
|
-
continue;
|
|
266
|
-
}
|
|
267
246
|
projects.set(projectKey, { folder, triggerStatusNames: project.triggerStatuses, extraFieldIds: [...new Set(project.extraFields ?? [])] });
|
|
268
247
|
}
|
|
269
248
|
if (errors.length > 0)
|
|
@@ -279,6 +258,9 @@ function validateJiraConfig(parsedJson, context) {
|
|
|
279
258
|
projects,
|
|
280
259
|
pollIntervalMs: (raw.pollIntervalSeconds ?? exports.jiraPollIntervalDefaultSeconds) * 1000,
|
|
281
260
|
runBudgetPer24h: raw.runBudgetPer24h ?? exports.jiraRunBudgetDefault,
|
|
261
|
+
trustedGroupName: raw.trustedGroup ?? null,
|
|
262
|
+
isMentionWakeOn: raw.trustedGroup !== undefined && (raw.wakeOnMention ?? true),
|
|
263
|
+
wakeOnMentionSetting: raw.wakeOnMention ?? null,
|
|
282
264
|
adapter: adapterName === adapterNames_1.claudePerTurnAdapterName ? adapterNames_1.claudePerTurnAdapterName : jiraAdapterName,
|
|
283
265
|
model: raw.model ?? exports.jiraDefaultModel,
|
|
284
266
|
effort: raw.effort ?? exports.jiraDefaultEffort,
|