@integrity-labs/agt-cli 0.15.38 → 0.16.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/dist/bin/agt.js +50 -50
- package/dist/bin/agt.js.map +1 -1
- package/dist/{chunk-XJSQKRFV.js → chunk-LU6L2J32.js} +97 -9
- package/dist/chunk-LU6L2J32.js.map +1 -0
- package/dist/{claude-pair-runtime-GLO2D7WP.js → claude-pair-runtime-GS6AOYHS.js} +2 -2
- package/dist/claude-pair-runtime-GS6AOYHS.js.map +1 -0
- package/dist/lib/manager-worker.js +131 -107
- package/dist/lib/manager-worker.js.map +1 -1
- package/mcp/slack-channel.js +99 -22
- package/package.json +1 -1
- package/dist/chunk-XJSQKRFV.js.map +0 -1
- package/dist/claude-pair-runtime-GLO2D7WP.js.map +0 -1
|
@@ -4057,7 +4057,7 @@ ${sections}`
|
|
|
4057
4057
|
* like Ultimate Coder is installed for an agent.
|
|
4058
4058
|
*
|
|
4059
4059
|
* @param codeName Agent code_name
|
|
4060
|
-
* @param plugin
|
|
4060
|
+
* @param plugin Integration definition from the integration_definitions table
|
|
4061
4061
|
* @param contextValues Resolved context values from plugin_context
|
|
4062
4062
|
* @param options.scriptSource How to install scripts: 'git-clone' (path) or 'npm' (package name)
|
|
4063
4063
|
*/
|
|
@@ -4888,6 +4888,13 @@ var SLACK_SCOPE_REGISTRY = [
|
|
|
4888
4888
|
category: "users",
|
|
4889
4889
|
risk: "medium"
|
|
4890
4890
|
},
|
|
4891
|
+
{
|
|
4892
|
+
scope: "users.profile:write",
|
|
4893
|
+
name: "Write Bot Profile",
|
|
4894
|
+
description: "Update the bot's own profile (status emoji + status text). Used to surface live/offline state to operators without polling.",
|
|
4895
|
+
category: "users",
|
|
4896
|
+
risk: "low"
|
|
4897
|
+
},
|
|
4891
4898
|
// ── Channel Management ───────────────────────────────────────────────────
|
|
4892
4899
|
{
|
|
4893
4900
|
scope: "channels:join",
|
|
@@ -5012,7 +5019,8 @@ var DEFAULT_SCOPES = [
|
|
|
5012
5019
|
"mpim:read",
|
|
5013
5020
|
"reactions:read",
|
|
5014
5021
|
"reactions:write",
|
|
5015
|
-
"users:read"
|
|
5022
|
+
"users:read",
|
|
5023
|
+
"users.profile:write"
|
|
5016
5024
|
];
|
|
5017
5025
|
function getDefaultSlackScopes() {
|
|
5018
5026
|
return [...DEFAULT_SCOPES];
|
|
@@ -5054,7 +5062,7 @@ var SCOPE_TO_EVENTS = {
|
|
|
5054
5062
|
"metadata.message:read": ["message_metadata_posted"]
|
|
5055
5063
|
};
|
|
5056
5064
|
function generateSlackAppManifest(input) {
|
|
5057
|
-
const { agent_name, description, long_description, scopes, socket_mode = true, redirect_urls, interactivity_request_url } = input;
|
|
5065
|
+
const { agent_name, description, long_description, scopes, socket_mode = true, redirect_urls, interactivity_request_url, slash_command_url } = input;
|
|
5058
5066
|
const botDisplayName = agent_name.length > 35 ? agent_name.slice(0, 35) : agent_name;
|
|
5059
5067
|
const botEvents = /* @__PURE__ */ new Set();
|
|
5060
5068
|
for (const scope of scopes) {
|
|
@@ -5080,7 +5088,35 @@ function generateSlackAppManifest(input) {
|
|
|
5080
5088
|
bot_user: {
|
|
5081
5089
|
display_name: botDisplayName,
|
|
5082
5090
|
always_online: true
|
|
5083
|
-
}
|
|
5091
|
+
},
|
|
5092
|
+
// ENG-4596: register the /kill + /unkill slash commands when the
|
|
5093
|
+
// caller passed a URL AND the app requested the `commands` scope.
|
|
5094
|
+
// Slack rejects manifests where slash_commands is non-empty without
|
|
5095
|
+
// the matching scope, so the scope check is a guard.
|
|
5096
|
+
...slash_command_url && scopes.includes("commands") ? {
|
|
5097
|
+
slash_commands: [
|
|
5098
|
+
{
|
|
5099
|
+
command: "/kill",
|
|
5100
|
+
url: slash_command_url,
|
|
5101
|
+
description: "Silence all agents in this thread (6h soft TTL).",
|
|
5102
|
+
usage_hint: "invoke as a thread reply",
|
|
5103
|
+
should_escape: false
|
|
5104
|
+
},
|
|
5105
|
+
{
|
|
5106
|
+
command: "/unkill",
|
|
5107
|
+
url: slash_command_url,
|
|
5108
|
+
description: "Resume agents in this thread.",
|
|
5109
|
+
usage_hint: "invoke as a thread reply",
|
|
5110
|
+
should_escape: false
|
|
5111
|
+
},
|
|
5112
|
+
{
|
|
5113
|
+
command: "/agent-status",
|
|
5114
|
+
url: slash_command_url,
|
|
5115
|
+
description: "Check whether this agent is online + last activity.",
|
|
5116
|
+
should_escape: false
|
|
5117
|
+
}
|
|
5118
|
+
]
|
|
5119
|
+
} : {}
|
|
5084
5120
|
},
|
|
5085
5121
|
oauth_config: {
|
|
5086
5122
|
...redirect_urls && redirect_urls.length > 0 ? { redirect_urls } : {},
|
|
@@ -5542,6 +5578,29 @@ var charter_frontmatter_v1_default = {
|
|
|
5542
5578
|
},
|
|
5543
5579
|
additionalProperties: false
|
|
5544
5580
|
},
|
|
5581
|
+
tools: {
|
|
5582
|
+
type: "object",
|
|
5583
|
+
description: "ENG-4588: gates on agent-driven actions (currently the skill-management MCP tools).",
|
|
5584
|
+
properties: {
|
|
5585
|
+
skills: {
|
|
5586
|
+
type: "object",
|
|
5587
|
+
properties: {
|
|
5588
|
+
write_team: {
|
|
5589
|
+
type: "boolean",
|
|
5590
|
+
default: false,
|
|
5591
|
+
description: "Allow the agent's MCP tools to write skill_definitions rows at team scope. Default false \u2014 agents start untrusted."
|
|
5592
|
+
},
|
|
5593
|
+
publish: {
|
|
5594
|
+
type: "boolean",
|
|
5595
|
+
default: false,
|
|
5596
|
+
description: "Skip the pending-publication review for agent-authored skills. Default false \u2014 drafts go to operator review (ENG-4589)."
|
|
5597
|
+
}
|
|
5598
|
+
},
|
|
5599
|
+
additionalProperties: false
|
|
5600
|
+
}
|
|
5601
|
+
},
|
|
5602
|
+
additionalProperties: false
|
|
5603
|
+
},
|
|
5545
5604
|
created: {
|
|
5546
5605
|
type: "string",
|
|
5547
5606
|
format: "date"
|
|
@@ -5930,6 +5989,17 @@ ${desc}
|
|
|
5930
5989
|
|
|
5931
5990
|
## Change Log
|
|
5932
5991
|
- ${today} v0.1: Initial charter
|
|
5992
|
+
|
|
5993
|
+
## Optional permissions
|
|
5994
|
+
|
|
5995
|
+
These fields default to off. Add them to the YAML frontmatter above to enable.
|
|
5996
|
+
|
|
5997
|
+
\`\`\`yaml
|
|
5998
|
+
tools:
|
|
5999
|
+
skills:
|
|
6000
|
+
write_team: false # ENG-4588: allow agent MCP to write team-scoped skills
|
|
6001
|
+
publish: false # ENG-4588: skip operator review for agent-authored skills
|
|
6002
|
+
\`\`\`
|
|
5933
6003
|
`;
|
|
5934
6004
|
}
|
|
5935
6005
|
|
|
@@ -6047,6 +6117,24 @@ function runSemanticRules(file, charter) {
|
|
|
6047
6117
|
}
|
|
6048
6118
|
}
|
|
6049
6119
|
}
|
|
6120
|
+
if (charter.risk_tier === "High" && charter.tools?.skills?.publish === true) {
|
|
6121
|
+
diagnostics.push({
|
|
6122
|
+
file,
|
|
6123
|
+
code: "CHARTER.SEMANTIC.HIGH_RISK_SKILL_PUBLISH",
|
|
6124
|
+
path: "tools.skills.publish",
|
|
6125
|
+
severity: "warning",
|
|
6126
|
+
message: "High-risk agents should not have tools.skills.publish enabled \u2014 keep operator review on agent-authored skills"
|
|
6127
|
+
});
|
|
6128
|
+
}
|
|
6129
|
+
if (charter.risk_tier === "High" && charter.tools?.skills?.write_team === true) {
|
|
6130
|
+
diagnostics.push({
|
|
6131
|
+
file,
|
|
6132
|
+
code: "CHARTER.SEMANTIC.HIGH_RISK_SKILL_WRITE_TEAM",
|
|
6133
|
+
path: "tools.skills.write_team",
|
|
6134
|
+
severity: "warning",
|
|
6135
|
+
message: "High-risk agents should not be granted tools.skills.write_team \u2014 they can pollute the shared team catalog"
|
|
6136
|
+
});
|
|
6137
|
+
}
|
|
6050
6138
|
return diagnostics;
|
|
6051
6139
|
}
|
|
6052
6140
|
|
|
@@ -6490,15 +6578,15 @@ function getTemplate(id) {
|
|
|
6490
6578
|
return DEPLOYMENT_TEMPLATES.find((t) => t.id === id);
|
|
6491
6579
|
}
|
|
6492
6580
|
|
|
6493
|
-
// ../../packages/core/dist/
|
|
6581
|
+
// ../../packages/core/dist/integrations/context-validator.js
|
|
6494
6582
|
import Ajv20202 from "ajv/dist/2020.js";
|
|
6495
6583
|
import addFormats2 from "ajv-formats";
|
|
6496
6584
|
|
|
6497
|
-
// ../../packages/core/dist/
|
|
6585
|
+
// ../../packages/core/dist/integrations/context-meta-schema.json
|
|
6498
6586
|
var context_meta_schema_default = {
|
|
6499
6587
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
6500
6588
|
$id: "https://augmented.dev/schemas/plugin-context.meta.schema.json",
|
|
6501
|
-
title: "
|
|
6589
|
+
title: "Integration Context Schema (meta)",
|
|
6502
6590
|
description: "Meta-schema for the constrained subset of JSON Schema that plugin authors may declare for their plugin context. Anything outside this subset is rejected at PUT time. See ENG-4341 / docs/plugins/plugin-context-rfc.md.",
|
|
6503
6591
|
type: "object",
|
|
6504
6592
|
required: ["type", "properties"],
|
|
@@ -6608,7 +6696,7 @@ var context_meta_schema_default = {
|
|
|
6608
6696
|
}
|
|
6609
6697
|
};
|
|
6610
6698
|
|
|
6611
|
-
// ../../packages/core/dist/
|
|
6699
|
+
// ../../packages/core/dist/integrations/context-validator.js
|
|
6612
6700
|
var ajv2 = new Ajv20202({ allErrors: true, strict: false });
|
|
6613
6701
|
addFormats2(ajv2);
|
|
6614
6702
|
var compiledMetaSchema = ajv2.compile(context_meta_schema_default);
|
|
@@ -7366,4 +7454,4 @@ export {
|
|
|
7366
7454
|
managerInstallCommand,
|
|
7367
7455
|
managerUninstallCommand
|
|
7368
7456
|
};
|
|
7369
|
-
//# sourceMappingURL=chunk-
|
|
7457
|
+
//# sourceMappingURL=chunk-LU6L2J32.js.map
|