@desplega.ai/agent-swarm 2.3.0 → 2.4.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 +1 -0
- package/dist/{acp-adapter-v85a2bqy.js → acp-adapter-kedstxx6.js} +6 -6
- package/dist/{actions-zgcxfspj.js → actions-vget6r1k.js} +18 -16
- package/dist/{amp-adapter-jw9xfz42.js → amp-adapter-xeb5mktv.js} +2 -2
- package/dist/{app-4e1s4675.js → app-mqap8t8m.js} +3 -3
- package/dist/{assistant-v238n9dk.js → assistant-h0gv97mv.js} +20 -18
- package/dist/{boot-reembed-p666cw5n.js → boot-reembed-qr8a894z.js} +1 -1
- package/dist/{boot-reembed-w6pm64j4.js → boot-reembed-rj85jjhw.js} +1 -1
- package/dist/{boot-scrub-sweep-jcyjagn3.js → boot-scrub-sweep-eyfvn6v9.js} +3 -3
- package/dist/{boot-seeds-gbedmamp.js → boot-seeds-xs9a8dx1.js} +4 -4
- package/dist/{claude-adapter-q7wspzt8.js → claude-adapter-bm23cye7.js} +5 -5
- package/dist/{claude-managed-adapter-n7ahjyx6.js → claude-managed-adapter-1mwrsm9d.js} +2 -2
- package/dist/{claude-managed-setup-wza784fb.js → claude-managed-setup-gkfgks4j.js} +1 -1
- package/dist/{claude-sdk-session-yf400ptr.js → claude-sdk-session-apb4ypz3.js} +5 -5
- package/dist/cli-02vhhssk.js +848 -0
- package/dist/{cli-4ync7m60.js → cli-0ebey9hg.js} +1 -1
- package/dist/{cli-665j3feb.js → cli-0xk505e8.js} +1 -1
- package/dist/{cli-30m5q8mc.js → cli-1cevz46c.js} +5 -5
- package/dist/{cli-gzvb3d4a.js → cli-1jx0srjt.js} +3 -3
- package/dist/{cli-zj4d6afs.js → cli-1pa3rz69.js} +21 -6
- package/dist/{cli-fhvqt2fp.js → cli-2rwet3r7.js} +1 -1
- package/dist/{cli-azs9bhc5.js → cli-3wjs22x3.js} +2 -2
- package/dist/{cli-dxwh4j32.js → cli-4fhyq711.js} +45 -36
- package/dist/{cli-yv3n83x8.js → cli-5ff2sjyt.js} +1 -1
- package/dist/{cli-6vcyw6v7.js → cli-5s5hx57y.js} +5 -3
- package/dist/{cli-hz64bcnj.js → cli-6ftrrwm1.js} +9 -371
- package/dist/{cli-zes4tsbb.js → cli-8b9wvjps.js} +1 -1
- package/dist/cli-8cxkw1f5.js +382 -0
- package/dist/{cli-4s1kqrqg.js → cli-8rwvksbc.js} +2 -2
- package/dist/{cli-e09hj50q.js → cli-8wkb09q5.js} +11 -11
- package/dist/{cli-yv0vgscc.js → cli-a1esmmee.js} +13 -2
- package/dist/{cli-4hmaheb6.js → cli-avmqhatn.js} +7 -7
- package/dist/{cli-g6p7c2my.js → cli-b80a1100.js} +1 -1
- package/dist/{cli-tr24eeny.js → cli-bfc3k1x5.js} +3 -3
- package/dist/{cli-ka01m5rb.js → cli-bhwa8rzc.js} +13 -11
- package/dist/{cli-8cvvytad.js → cli-bn26xbcs.js} +2 -2
- package/dist/{cli-k28p6xh7.js → cli-c8fwpgqb.js} +1 -1
- package/dist/{cli-rc3r0bnh.js → cli-ccn0eybf.js} +1 -1
- package/dist/{cli-9td5ss65.js → cli-dsgj3e7a.js} +2 -2
- package/dist/{cli-a17tzmn0.js → cli-ecshf504.js} +2 -2
- package/dist/{cli-d43xqzbe.js → cli-eqgfs202.js} +1 -1
- package/dist/{cli-ppapy34w.js → cli-f3nx1h8z.js} +2 -2
- package/dist/{cli-ea7chd26.js → cli-ffbrkh1r.js} +74 -35
- package/dist/{cli-xgn4rwyv.js → cli-kk2r80n5.js} +4 -4
- package/dist/{cli-hn3pftj2.js → cli-kz116kvw.js} +3 -3
- package/dist/{cli-1v8w782f.js → cli-mvg2hf8p.js} +4 -4
- package/dist/{cli-5d1m1qca.js → cli-mz1ezzzh.js} +1 -1
- package/dist/{cli-jhmjwqcg.js → cli-nme7wery.js} +6 -6
- package/dist/{cli-65q70v2v.js → cli-nrrg0fvy.js} +18 -4
- package/dist/{cli-8jtrekpy.js → cli-p1m2b6gc.js} +7 -7
- package/dist/{cli-re4wkbzx.js → cli-rg7ntypm.js} +328 -47
- package/dist/{cli-fp4xbw07.js → cli-rsd7ga7v.js} +10 -8
- package/dist/{cli-etvn5ej2.js → cli-sppc0cmw.js} +1 -1
- package/dist/{cli-qrwp40st.js → cli-tg9ksbn8.js} +1 -1
- package/dist/{cli-6p7ddg72.js → cli-tgvpmnwz.js} +2 -2
- package/dist/{cli-q1812jbw.js → cli-tj4j2ts4.js} +6 -6
- package/dist/{cli-kqypty34.js → cli-ttaz6c7m.js} +2 -2
- package/dist/{cli-w7z94e6c.js → cli-tx00c0h6.js} +4 -2
- package/dist/{cli-4g629sgr.js → cli-wrv09v7q.js} +20 -1
- package/dist/{cli-cby329ny.js → cli-wyrr38xm.js} +2 -2
- package/dist/{cli-y3dvz6ge.js → cli-x1p5dhq2.js} +3 -3
- package/dist/{cli-8qsx817b.js → cli-x719j3vs.js} +219 -629
- package/dist/{cli-9e9kjqsj.js → cli-xfe63zx3.js} +1 -1
- package/dist/{cli-wtg6edvd.js → cli-ywyrffff.js} +1 -1
- package/dist/{cli-0rh20bp3.js → cli-zvze9rbm.js} +1 -1
- package/dist/cli.js +14 -14
- package/dist/{codex-adapter-nhjj2veb.js → codex-adapter-pp2gq8gr.js} +3 -3
- package/dist/{codex-hook-x6tm6y5m.js → codex-hook-qwzccd64.js} +1 -1
- package/dist/{codex-session-runner-6hggrjbx.js → codex-session-runner-0vzn09t8.js} +3 -3
- package/dist/{commands-mrw1ph2w.js → commands-psqhkttb.js} +2 -2
- package/dist/{controller-pt1zam5w.js → controller-t20vz2k8.js} +2 -2
- package/dist/{controllers-connect-ymw5541d.js → controllers-connect-gkxmqw9d.js} +24 -20
- package/dist/{cursor-adapter-cf4zh5x0.js → cursor-adapter-3v542qe5.js} +1 -1
- package/dist/{db-hy80219q.js → db-2xbyenjr.js} +2 -2
- package/dist/{db-hhpy6m4x.js → db-nc1rd869.js} +3 -2
- package/dist/{dispatcher-6pdjtkr1.js → dispatcher-ewceb8ts.js} +17 -15
- package/dist/{dsh-adapter-fbx06re2.js → dsh-adapter-75xwh78t.js} +1 -1
- package/dist/{easter-egg-3d-6hg2r942.js → easter-egg-3d-xsc47jwf.js} +1 -1
- package/dist/{execute-bcqc69a5.js → execute-gzmw1mnw.js} +1 -1
- package/dist/{external-channel-j6vb6ya1.js → external-channel-a5dsmxn4.js} +2 -2
- package/dist/{google-generative-ai-phpmwxvg.js → google-generative-ai-bmq8gkf3.js} +1 -1
- package/dist/{google-vertex-es9ybgdy.js → google-vertex-b1rvp52s.js} +1 -1
- package/dist/{grok-adapter-1193sprp.js → grok-adapter-vj88xr23.js} +7 -7
- package/dist/handlers-zbs90bny.js +39 -0
- package/dist/{heartbeat-h1w1ktce.js → heartbeat-t2m9r3wa.js} +20 -18
- package/dist/{hook-skrbja18.js → hook-8femx1bg.js} +4 -4
- package/dist/{hook-ejja4bpe.js → hook-xa677f8r.js} +5 -5
- package/dist/{http-mzh41mfj.js → http-xpmmq028.js} +868 -253
- package/dist/{index-vjn3wbzf.js → index-8pwc1jc8.js} +17 -15
- package/dist/{index-epr2gnbw.js → index-cdzyfrsp.js} +1 -1
- package/dist/{index-xmmkyx82.js → index-dg2tmj99.js} +17 -15
- package/dist/index-nxa6me0q.js +41 -0
- package/dist/{index-6rmnn89d.js → index-s7ckdajq.js} +9 -9
- package/dist/{index-wgsw9xcz.js → index-syztqdt6.js} +1 -1
- package/dist/{index-x0q2a4f9.js → index-ysd45kgc.js} +1 -1
- package/dist/{index-g909y089.js → index-zgvqzjsw.js} +8 -8
- package/dist/{keepalive-4djvbm2j.js → keepalive-3nr4st3r.js} +3 -3
- package/dist/{lead-61kqp604.js → lead-td8h2sfn.js} +33 -31
- package/dist/{maintenance-f3xhnjsm.js → maintenance-verwpe2c.js} +1 -1
- package/dist/{oauth-refresh-sweep-fpd6x6rw.js → oauth-refresh-sweep-9q2t0y3q.js} +2 -2
- package/dist/{onboard-196tjgyn.js → onboard-aytqedmq.js} +2 -2
- package/dist/{opencode-adapter-eeesgfqk.js → opencode-adapter-f4hryjny.js} +4 -4
- package/dist/{otel-impl-g8fh4c21.js → otel-impl-hckw4wt1.js} +1 -1
- package/dist/{pi-mono-adapter-zasp3ze3.js → pi-mono-adapter-hxby0ce1.js} +6 -6
- package/dist/{pricing-refresh-sdcf5yaz.js → pricing-refresh-5nvme3sm.js} +3 -3
- package/dist/{rbac-roles-bsp5657v.js → rbac-roles-pd8c26m1.js} +5 -3
- package/dist/{rbac-roles-2x4g1wb5.js → rbac-roles-vbpy21mg.js} +2 -2
- package/dist/{render-v2-0pyb39bb.js → render-v2-7nqgvk2q.js} +3 -3
- package/dist/{resume-a86tkj6r.js → resume-b6djcj3c.js} +6 -6
- package/dist/{runtime-ar8310ba.js → runtime-txrxc9za.js} +1 -1
- package/dist/session-access-fc3f9y12.js +25 -0
- package/dist/{setup-ypbzcapd.js → setup-n39szm6b.js} +1 -1
- package/dist/{virtual-modules-wzk6jf3a.js → virtual-modules-wyp2k6z3.js} +2 -2
- package/dist/{work-objects-yjp8de12.js → work-objects-jem2fre0.js} +20 -18
- package/dist/{worker-4ptnn1ge.js → worker-wr6xgfr2.js} +33 -31
- package/openapi.json +844 -110
- package/package.json +1 -1
- package/src/apps/action-caller.ts +6 -0
- package/src/apps/script-types.ts +16 -3
- package/src/be/db/active-sessions.ts +5 -0
- package/src/be/db/session-visibility.ts +29 -0
- package/src/be/db/tasks/read.ts +61 -3
- package/src/be/db/tasks/write.ts +15 -6
- package/src/be/db.ts +92 -33
- package/src/be/events.ts +11 -0
- package/src/be/migrations/230_session_shares.sql +23 -0
- package/src/be/rbac-roles.ts +2 -0
- package/src/be/session-shares.ts +244 -0
- package/src/be/swarm-config-guard.ts +23 -2
- package/src/commands/runner.ts +11 -0
- package/src/http/active-sessions.ts +13 -2
- package/src/http/agents.ts +10 -3
- package/src/http/all-routes.ts +1 -0
- package/src/http/api-keys.ts +3 -1
- package/src/http/approval-requests.ts +2 -1
- package/src/http/apps.ts +36 -11
- package/src/http/config.ts +3 -0
- package/src/http/context.ts +2 -0
- package/src/http/core.ts +39 -2
- package/src/http/events.ts +6 -2
- package/src/http/favorite-owner.ts +1 -1
- package/src/http/fs.ts +38 -3
- package/src/http/index.ts +3 -1
- package/src/http/memory.ts +3 -1
- package/src/http/ranking.ts +367 -0
- package/src/http/realtime.ts +26 -21
- package/src/http/route-def.ts +77 -11
- package/src/http/script-runs.ts +2 -1
- package/src/http/scripts.ts +8 -0
- package/src/http/session-access.ts +179 -0
- package/src/http/session-data.ts +10 -2
- package/src/http/sessions.ts +212 -12
- package/src/http/stats.ts +7 -3
- package/src/http/tasks.ts +83 -7
- package/src/http/used-by.ts +11 -3
- package/src/prompts/session-templates.ts +3 -1
- package/src/providers/amp-adapter.ts +1 -1
- package/src/ranking/telemetry-ranking.ts +147 -0
- package/src/ranking/usage.ts +57 -0
- package/src/rbac/admission.ts +22 -7
- package/src/rbac/legacy-policy.ts +2 -0
- package/src/rbac/permissions.ts +9 -0
- package/src/realtime/auth.ts +69 -0
- package/src/realtime/tickets.ts +4 -1
- package/src/realtime/transport.ts +77 -9
- package/src/slack/blocks.ts +18 -0
- package/src/slack/dm.ts +29 -0
- package/src/telemetry-contract/EVENTS.md +3 -0
- package/src/telemetry-contract/SOURCE.json +37 -4
- package/src/telemetry-contract/catalog.json +69 -0
- package/src/telemetry-contract/ranking/fixtures/expected.json +30 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/bad-category.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/bad-claim.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/blank-description.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/blank-name.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/description-too-long.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/domain-uppercase.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/domain-with-scheme.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/domain-with-www.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/http-source-url.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/missing-description.json +10 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/missing-version.json +10 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/name-not-string.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/name-too-long.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/not-object.json +1 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/null.json +1 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/other-with-subcategory.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/oversize.json +1 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/short-claim.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/subcategory-other-category.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/trailing-data.json +1 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/unknown-field.json +12 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/unsupported-version.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/updated-at-not-date.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/updated-at-offset.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/wrong-case-field.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/valid/category-without-subcategory.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/valid/full.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/valid/minimal.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/valid/padded-text.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/valid/unicode-name.json +11 -0
- package/src/telemetry-contract/ranking/listing.v1.schema.json +61 -0
- package/src/telemetry-contract/ranking/taxonomy.json +8 -0
- package/src/telemetry-contract/ranking-taxonomy.gen.ts +11 -0
- package/src/telemetry-contract/types.gen.ts +708 -1
- package/src/telemetry.ts +26 -2
- package/src/tests/apps-rbac.test.ts +189 -2
- package/src/tests/apps-script-types.test.ts +16 -3
- package/src/tests/check-pr-body.test.ts +23 -0
- package/src/tests/check-ranking-entry.test.ts +146 -0
- package/src/tests/db-extraction-contract.test.ts +1 -0
- package/src/tests/db-task-read-contract.test.ts +1 -0
- package/src/tests/docs-index-footprint.test.js +2 -2
- package/src/tests/org-identity.test.ts +44 -0
- package/src/tests/ranking-listing.test.ts +112 -0
- package/src/tests/ranking-route.test.ts +319 -0
- package/src/tests/ranking-usage.test.ts +50 -0
- package/src/tests/rbac-admission-e2e.test.ts +8 -0
- package/src/tests/rbac-admission.test.ts +38 -0
- package/src/tests/rbac-charact-http.test.ts +4 -3
- package/src/tests/rbac-engine.test.ts +2 -0
- package/src/tests/rbac-roles.test.ts +2 -0
- package/src/tests/realtime-room-surfaces.test.ts +3 -1
- package/src/tests/realtime-session-join-race.test.ts +142 -0
- package/src/tests/realtime-tickets.test.ts +24 -17
- package/src/tests/realtime-transport.test.ts +91 -0
- package/src/tests/session-route-posture.test.ts +639 -0
- package/src/tests/session-sharing-routes.test.ts +282 -0
- package/src/tests/session-sharing.test.ts +526 -0
- package/src/tests/sessions-detail-batch.test.ts +7 -1
- package/src/tests/slack-tool-blocks.test.ts +101 -0
- package/src/tests/slack-update.test.ts +55 -0
- package/src/tests/slack-user-dm.test.ts +177 -0
- package/src/tests/used-by-route.test.ts +10 -0
- package/src/tools/slack-post.ts +18 -12
- package/src/tools/slack-read.ts +13 -1
- package/src/tools/slack-reply.ts +7 -10
- package/src/tools/slack-start-thread.ts +18 -11
- package/src/tools/slack-update.ts +2 -9
- package/src/types.ts +35 -0
- package/src/utils/org-identity.ts +33 -0
- package/templates/skills/apps/SKILL.md +17 -0
- package/templates/skills/apps/content.md +17 -0
- package/dist/handlers-tb3xgjnm.js +0 -37
- package/dist/index-nyfcdpky.js +0 -39
- package/dist/{cli-n5mrsg0f.js → cli-60cgh1rv.js} +3 -3
- /package/dist/{cli-j0v75y13.js → cli-y83zk5sb.js} +0 -0
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
init_steering,
|
|
11
11
|
createLogEntry2,
|
|
12
12
|
init_db3
|
|
13
|
-
} from "./cli-
|
|
13
|
+
} from "./cli-rg7ntypm.js";
|
|
14
14
|
import {
|
|
15
15
|
ackSlackMessage,
|
|
16
16
|
buildBufferFlushBlocks,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
ensureSlackThreadTree2,
|
|
21
21
|
registerTreeMessage,
|
|
22
22
|
getSlackApp2
|
|
23
|
-
} from "./cli-
|
|
23
|
+
} from "./cli-4fhyq711.js";
|
|
24
24
|
import {
|
|
25
25
|
createAdditiveBuffer,
|
|
26
26
|
TaskCreationBlockedError,
|
|
@@ -30,15 +30,15 @@ import {
|
|
|
30
30
|
createSlackTaskWithFiles,
|
|
31
31
|
notifySlackFileFailures,
|
|
32
32
|
extractSlackMessageText
|
|
33
|
-
} from "./cli-
|
|
33
|
+
} from "./cli-x719j3vs.js";
|
|
34
34
|
import {
|
|
35
35
|
resolveSlackUserId,
|
|
36
36
|
rewriteSlackMentions
|
|
37
|
-
} from "./cli-
|
|
37
|
+
} from "./cli-x1p5dhq2.js";
|
|
38
38
|
import {
|
|
39
39
|
findUserByExternalId,
|
|
40
40
|
init_users
|
|
41
|
-
} from "./cli-
|
|
41
|
+
} from "./cli-8cxkw1f5.js";
|
|
42
42
|
import {
|
|
43
43
|
isSteeringEnabled2,
|
|
44
44
|
init_steering_enabled
|
|
@@ -1037,7 +1037,7 @@ var require_jsonwebtoken = __commonJS(function(exports, module) {
|
|
|
1037
1037
|
});
|
|
1038
1038
|
|
|
1039
1039
|
// node_modules/path-to-regexp/dist/index.js
|
|
1040
|
-
var
|
|
1040
|
+
var require_dist9 = __commonJS(function(exports) {
|
|
1041
1041
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1042
1042
|
exports.PathError = exports.TokenData = undefined;
|
|
1043
1043
|
exports.parse = parse;
|
|
@@ -19820,7 +19820,7 @@ var require_layer = __commonJS(function(exports, module) {
|
|
|
19820
19820
|
* MIT Licensed
|
|
19821
19821
|
*/
|
|
19822
19822
|
var isPromise = require_is_promise();
|
|
19823
|
-
var pathRegexp =
|
|
19823
|
+
var pathRegexp = require_dist9();
|
|
19824
19824
|
var debug = require_src3()("router:layer");
|
|
19825
19825
|
var deprecate = require_depd()("router");
|
|
19826
19826
|
var TRAILING_SLASH_REGEXP = /\/+$/;
|
|
@@ -23251,4 +23251,4 @@ var require_express = __commonJS(function(exports, module) {
|
|
|
23251
23251
|
exports.urlencoded = bodyParser.urlencoded;
|
|
23252
23252
|
});
|
|
23253
23253
|
|
|
23254
|
-
export { require_jsonwebtoken,
|
|
23254
|
+
export { require_jsonwebtoken, require_dist9, require_raw_body, require_content_type, require_lib, require_vary, require_express };
|
|
@@ -13,6 +13,9 @@ import {
|
|
|
13
13
|
} from "./cli-242037k3.js";
|
|
14
14
|
|
|
15
15
|
// src/rbac/admission.ts
|
|
16
|
+
function grantedVerb(rbac, grant) {
|
|
17
|
+
return [rbac.permission, ...rbac.alsoAdmits ?? []].find((verb) => grant.verbs.has(verb));
|
|
18
|
+
}
|
|
16
19
|
function isRbacEnabled() {
|
|
17
20
|
return isEnvFlagEnabled("RBAC_ENABLED", true);
|
|
18
21
|
}
|
|
@@ -21,10 +24,11 @@ function decideAdmission(input) {
|
|
|
21
24
|
return { allow: true };
|
|
22
25
|
}
|
|
23
26
|
if (input.rbac && "permission" in input.rbac) {
|
|
24
|
-
const
|
|
25
|
-
if (
|
|
26
|
-
return { allow: true, verb };
|
|
27
|
+
const granted = grantedVerb(input.rbac, input.grant);
|
|
28
|
+
if (granted) {
|
|
29
|
+
return { allow: true, verb: granted };
|
|
27
30
|
}
|
|
31
|
+
const verb = input.rbac.permission;
|
|
28
32
|
return { allow: false, reason: `admission: missing permission '${verb}'`, verb };
|
|
29
33
|
}
|
|
30
34
|
const method = input.method.toUpperCase();
|
|
@@ -38,10 +42,11 @@ function decideToolAdmission(input) {
|
|
|
38
42
|
return { allow: true };
|
|
39
43
|
}
|
|
40
44
|
if (input.rbac && "permission" in input.rbac) {
|
|
41
|
-
const
|
|
42
|
-
if (
|
|
43
|
-
return { allow: true, verb };
|
|
45
|
+
const granted = grantedVerb(input.rbac, input.grant);
|
|
46
|
+
if (granted) {
|
|
47
|
+
return { allow: true, verb: granted };
|
|
44
48
|
}
|
|
49
|
+
const verb = input.rbac.permission;
|
|
45
50
|
return { allow: false, reason: `admission: missing permission '${verb}'`, verb };
|
|
46
51
|
}
|
|
47
52
|
if (input.readOnly) {
|
|
@@ -248,6 +253,8 @@ var init_legacy_policy = __esm(() => {
|
|
|
248
253
|
"task.action.own": requesterOwnsTask,
|
|
249
254
|
"task.fs.mutate": taskFsMutate,
|
|
250
255
|
"task.parent.attach": taskFsMutate,
|
|
256
|
+
"session.share": operatorOrUser,
|
|
257
|
+
"session.presence": operatorOrUser,
|
|
251
258
|
"task.progress.write": taskProgressWrite,
|
|
252
259
|
"favorite.write.own": anyAuthenticated,
|
|
253
260
|
"memory.learning.inject": leadOnly,
|
|
@@ -414,6 +421,14 @@ var init_permissions = __esm(() => {
|
|
|
414
421
|
description: "Write a task's progress, status, or output (its assignee, a lead, a human, or anyone while unassigned).",
|
|
415
422
|
namespace: "task"
|
|
416
423
|
},
|
|
424
|
+
"session.share": {
|
|
425
|
+
description: "Change who can view or edit a session the principal owns (the owner check runs in the handler).",
|
|
426
|
+
namespace: "task"
|
|
427
|
+
},
|
|
428
|
+
"session.presence": {
|
|
429
|
+
description: "Join the presence room of a session the principal can view.",
|
|
430
|
+
namespace: "task"
|
|
431
|
+
},
|
|
417
432
|
"favorite.write.own": {
|
|
418
433
|
description: "Set a favorite the caller owns.",
|
|
419
434
|
namespace: "favorite"
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
loadMcpConfig,
|
|
10
10
|
addMcpServerConfig,
|
|
11
11
|
removeMcpServerConfig
|
|
12
|
-
} from "./cli-
|
|
12
|
+
} from "./cli-p1m2b6gc.js";
|
|
13
13
|
import {
|
|
14
14
|
McpOAuthCredentialStore2,
|
|
15
15
|
McpSignInCancelledError2,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
McpServerLog2,
|
|
18
18
|
createDefaultTransport2,
|
|
19
19
|
McpServerConnection2
|
|
20
|
-
} from "./cli-
|
|
20
|
+
} from "./cli-f3nx1h8z.js";
|
|
21
21
|
|
|
22
22
|
// node_modules/@earendil-works/pi-coding-agent/dist/extensions/mcp/cli.js
|
|
23
23
|
import { existsSync } from "node:fs";
|
|
@@ -47,31 +47,31 @@ import {
|
|
|
47
47
|
checkDependencies2,
|
|
48
48
|
emitBuiltInIntegrationConnectedOnce2,
|
|
49
49
|
init_db3
|
|
50
|
-
} from "./cli-
|
|
50
|
+
} from "./cli-rg7ntypm.js";
|
|
51
51
|
import {
|
|
52
52
|
getChannelBlockReason2
|
|
53
|
-
} from "./cli-
|
|
53
|
+
} from "./cli-xfe63zx3.js";
|
|
54
54
|
import {
|
|
55
|
-
require_jsonwebtoken,
|
|
56
55
|
require_dist5,
|
|
57
|
-
require_raw_body,
|
|
58
|
-
require_express
|
|
59
|
-
} from "./cli-gzvb3d4a.js";
|
|
60
|
-
import {
|
|
61
|
-
require_dist6,
|
|
62
56
|
require_axios,
|
|
57
|
+
require_dist7,
|
|
63
58
|
require_dist8,
|
|
64
|
-
require_dist9,
|
|
65
59
|
require_src2
|
|
66
|
-
} from "./cli-
|
|
60
|
+
} from "./cli-8wkb09q5.js";
|
|
61
|
+
import {
|
|
62
|
+
require_jsonwebtoken,
|
|
63
|
+
require_dist9,
|
|
64
|
+
require_raw_body,
|
|
65
|
+
require_express
|
|
66
|
+
} from "./cli-1jx0srjt.js";
|
|
67
67
|
import {
|
|
68
68
|
isTerminalTaskStatus,
|
|
69
69
|
init_types
|
|
70
|
-
} from "./cli-
|
|
70
|
+
} from "./cli-a1esmmee.js";
|
|
71
71
|
import {
|
|
72
72
|
taskAttachmentDisplayUrl,
|
|
73
73
|
init_task_attachment_links
|
|
74
|
-
} from "./cli-
|
|
74
|
+
} from "./cli-wyrr38xm.js";
|
|
75
75
|
import {
|
|
76
76
|
getSlackConfiguration,
|
|
77
77
|
init_config
|
|
@@ -1465,8 +1465,8 @@ var require_logger = __commonJS(function(exports) {
|
|
|
1465
1465
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1466
1466
|
exports.LogLevel = undefined;
|
|
1467
1467
|
exports.getLogger = getLogger;
|
|
1468
|
-
var logger_1 =
|
|
1469
|
-
var logger_2 =
|
|
1468
|
+
var logger_1 = require_dist5();
|
|
1469
|
+
var logger_2 = require_dist5();
|
|
1470
1470
|
Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function() {
|
|
1471
1471
|
return logger_2.LogLevel;
|
|
1472
1472
|
} });
|
|
@@ -1754,7 +1754,7 @@ var require_file_state_store = __commonJS(function(exports) {
|
|
|
1754
1754
|
var node_fs_1 = __importDefault(__require("node:fs"));
|
|
1755
1755
|
var node_os_1 = __require("node:os");
|
|
1756
1756
|
var node_path_1 = __importDefault(__require("node:path"));
|
|
1757
|
-
var logger_1 =
|
|
1757
|
+
var logger_1 = require_dist5();
|
|
1758
1758
|
var errors_1 = require_errors2();
|
|
1759
1759
|
var FileStateStore = function() {
|
|
1760
1760
|
function FileStateStore(args) {
|
|
@@ -1988,7 +1988,7 @@ var require_install_provider = __commonJS(function(exports) {
|
|
|
1988
1988
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1989
1989
|
exports.InstallProvider = undefined;
|
|
1990
1990
|
var node_url_1 = __require("node:url");
|
|
1991
|
-
var web_api_1 =
|
|
1991
|
+
var web_api_1 = require_dist8();
|
|
1992
1992
|
var callback_options_1 = require_callback_options();
|
|
1993
1993
|
var default_render_html_for_install_path_1 = __importDefault(require_default_render_html_for_install_path());
|
|
1994
1994
|
var errors_1 = require_errors2();
|
|
@@ -3154,9 +3154,9 @@ var require_HTTPReceiver = __commonJS(function(exports) {
|
|
|
3154
3154
|
var node_http_1 = __require("node:http");
|
|
3155
3155
|
var node_https_1 = __require("node:https");
|
|
3156
3156
|
var node_url_1 = __require("node:url");
|
|
3157
|
-
var logger_1 =
|
|
3157
|
+
var logger_1 = require_dist5();
|
|
3158
3158
|
var oauth_1 = require_dist();
|
|
3159
|
-
var path_to_regexp_1 =
|
|
3159
|
+
var path_to_regexp_1 = require_dist9();
|
|
3160
3160
|
var errors_1 = require_errors();
|
|
3161
3161
|
var httpFunc = __importStar(require_HTTPModuleFunctions());
|
|
3162
3162
|
var HTTPResponseAck_1 = require_HTTPResponseAck();
|
|
@@ -3521,10 +3521,10 @@ var require_SocketModeReceiver = __commonJS(function(exports) {
|
|
|
3521
3521
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3522
3522
|
var node_http_1 = __require("node:http");
|
|
3523
3523
|
var node_url_1 = __require("node:url");
|
|
3524
|
-
var logger_1 =
|
|
3524
|
+
var logger_1 = require_dist5();
|
|
3525
3525
|
var oauth_1 = require_dist();
|
|
3526
3526
|
var socket_mode_1 = require_src2();
|
|
3527
|
-
var path_to_regexp_1 =
|
|
3527
|
+
var path_to_regexp_1 = require_dist9();
|
|
3528
3528
|
var SocketModeFunctions_1 = require_SocketModeFunctions();
|
|
3529
3529
|
var SocketModeResponseAck_1 = require_SocketModeResponseAck();
|
|
3530
3530
|
var custom_routes_1 = require_custom_routes();
|
|
@@ -3944,8 +3944,8 @@ var require_App = __commonJS(function(exports) {
|
|
|
3944
3944
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3945
3945
|
exports.LogLevel = undefined;
|
|
3946
3946
|
var node_util_1 = __importDefault(__require("node:util"));
|
|
3947
|
-
var logger_1 =
|
|
3948
|
-
var web_api_1 =
|
|
3947
|
+
var logger_1 = require_dist5();
|
|
3948
|
+
var web_api_1 = require_dist8();
|
|
3949
3949
|
var axios_1 = __importDefault(require_axios());
|
|
3950
3950
|
var CustomFunction_1 = require_CustomFunction();
|
|
3951
3951
|
var conversation_store_1 = require_conversation_store();
|
|
@@ -3960,7 +3960,7 @@ var require_App = __commonJS(function(exports) {
|
|
|
3960
3960
|
var packageJson = require_package();
|
|
3961
3961
|
var validViewTypes = ["view_closed", "view_submission"];
|
|
3962
3962
|
var tokenUsage = "Apps used in a single workspace can be initialized with a token. Apps used in many workspaces " + "should be initialized with oauth installer options or authorize.";
|
|
3963
|
-
var logger_2 =
|
|
3963
|
+
var logger_2 = require_dist5();
|
|
3964
3964
|
Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function() {
|
|
3965
3965
|
return logger_2.LogLevel;
|
|
3966
3966
|
} });
|
|
@@ -4754,7 +4754,7 @@ var require_ExpressReceiver = __commonJS(function(exports) {
|
|
|
4754
4754
|
var node_http_1 = __require("node:http");
|
|
4755
4755
|
var node_https_1 = __require("node:https");
|
|
4756
4756
|
var node_querystring_1 = __importDefault(__require("node:querystring"));
|
|
4757
|
-
var logger_1 =
|
|
4757
|
+
var logger_1 = require_dist5();
|
|
4758
4758
|
var oauth_1 = require_dist();
|
|
4759
4759
|
var express_1 = __importStar(require_express());
|
|
4760
4760
|
var raw_body_1 = __importDefault(require_raw_body());
|
|
@@ -5105,7 +5105,7 @@ var require_AwsLambdaReceiver = __commonJS(function(exports) {
|
|
|
5105
5105
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5106
5106
|
var node_crypto_1 = __importDefault(__require("node:crypto"));
|
|
5107
5107
|
var node_querystring_1 = __importDefault(__require("node:querystring"));
|
|
5108
|
-
var logger_1 =
|
|
5108
|
+
var logger_1 = require_dist5();
|
|
5109
5109
|
var tsscmp_1 = __importDefault(require_lib());
|
|
5110
5110
|
var errors_1 = require_errors();
|
|
5111
5111
|
|
|
@@ -5857,8 +5857,8 @@ var require_dist4 = __commonJS(function(exports) {
|
|
|
5857
5857
|
Object.defineProperty(exports, "FileInstallationStore", { enumerable: true, get: function() {
|
|
5858
5858
|
return oauth_1.FileInstallationStore;
|
|
5859
5859
|
} });
|
|
5860
|
-
exports.types = __importStar(
|
|
5861
|
-
exports.webApi = __importStar(
|
|
5860
|
+
exports.types = __importStar(require_dist7());
|
|
5861
|
+
exports.webApi = __importStar(require_dist8());
|
|
5862
5862
|
});
|
|
5863
5863
|
|
|
5864
5864
|
// src/slack/app.ts
|
|
@@ -6235,7 +6235,7 @@ async function initOtel(serviceRole = process.env.AGENT_ROLE || "api") {
|
|
|
6235
6235
|
return;
|
|
6236
6236
|
initialized = true;
|
|
6237
6237
|
try {
|
|
6238
|
-
const impl = await import("./otel-impl-
|
|
6238
|
+
const impl = await import("./otel-impl-hckw4wt1.js");
|
|
6239
6239
|
await impl.boot(serviceRole, {
|
|
6240
6240
|
exportConsoleLogs: serviceRole === "api" && isApiLogExportEnabled()
|
|
6241
6241
|
});
|
|
@@ -6496,12 +6496,21 @@ function splitSlackSectionText(text) {
|
|
|
6496
6496
|
}
|
|
6497
6497
|
if (splitIdx < MAX_SECTION_LENGTH / 2) {
|
|
6498
6498
|
splitIdx = MAX_SECTION_LENGTH;
|
|
6499
|
+
const prev = remaining.charCodeAt(splitIdx - 1);
|
|
6500
|
+
if (prev >= 55296 && prev <= 56319)
|
|
6501
|
+
splitIdx -= 1;
|
|
6499
6502
|
}
|
|
6500
6503
|
chunks.push(remaining.slice(0, splitIdx));
|
|
6501
6504
|
remaining = remaining.slice(splitIdx).trimStart();
|
|
6502
6505
|
}
|
|
6503
6506
|
return chunks;
|
|
6504
6507
|
}
|
|
6508
|
+
var SLACK_SECTION_TEXT_LIMIT = 3000;
|
|
6509
|
+
function buildMrkdwnSectionBlocks(text) {
|
|
6510
|
+
if (text.length <= SLACK_SECTION_TEXT_LIMIT)
|
|
6511
|
+
return [sectionBlock(text)];
|
|
6512
|
+
return splitSlackSectionText(text).map((chunk) => sectionBlock(chunk));
|
|
6513
|
+
}
|
|
6505
6514
|
function contextBlock(...elements) {
|
|
6506
6515
|
return {
|
|
6507
6516
|
type: "context",
|
|
@@ -10071,17 +10080,17 @@ async function initSlackApp2() {
|
|
|
10071
10080
|
});
|
|
10072
10081
|
initialized2 = true;
|
|
10073
10082
|
app.use(slackInboundOutcomeMiddleware());
|
|
10074
|
-
const { registerMessageHandler } = await import("./handlers-
|
|
10075
|
-
const { registerCommandHandler } = await import("./commands-
|
|
10076
|
-
const { registerActionHandlers } = await import("./actions-
|
|
10077
|
-
const { registerWorkObjectHandlers } = await import("./work-objects-
|
|
10083
|
+
const { registerMessageHandler } = await import("./handlers-zbs90bny.js");
|
|
10084
|
+
const { registerCommandHandler } = await import("./commands-psqhkttb.js");
|
|
10085
|
+
const { registerActionHandlers } = await import("./actions-vget6r1k.js");
|
|
10086
|
+
const { registerWorkObjectHandlers } = await import("./work-objects-jem2fre0.js");
|
|
10078
10087
|
registerMessageHandler(app);
|
|
10079
10088
|
registerCommandHandler(app);
|
|
10080
10089
|
registerActionHandlers(app);
|
|
10081
10090
|
registerWorkObjectHandlers(app);
|
|
10082
|
-
const { createAssistant } = await import("./assistant-
|
|
10091
|
+
const { createAssistant } = await import("./assistant-h0gv97mv.js");
|
|
10083
10092
|
app.assistant(createAssistant());
|
|
10084
|
-
const { isBlockExternalEnabled, scanExternalChannelsOnBoot } = await import("./external-channel-
|
|
10093
|
+
const { isBlockExternalEnabled, scanExternalChannelsOnBoot } = await import("./external-channel-a5dsmxn4.js");
|
|
10085
10094
|
if (isBlockExternalEnabled()) {
|
|
10086
10095
|
scanExternalChannelsOnBoot(app.client).catch((error) => {
|
|
10087
10096
|
console.error("[Slack] External channel boot scan failed:", error);
|
|
@@ -10094,7 +10103,7 @@ async function startSlackApp2() {
|
|
|
10094
10103
|
await initSlackApp2();
|
|
10095
10104
|
}
|
|
10096
10105
|
if (app) {
|
|
10097
|
-
const { isSlackRenderV2Enabled } = await import("./render-v2-
|
|
10106
|
+
const { isSlackRenderV2Enabled } = await import("./render-v2-7nqgvk2q.js");
|
|
10098
10107
|
if (isSlackRenderV2Enabled())
|
|
10099
10108
|
await ensureSlackRenderV2Activation2();
|
|
10100
10109
|
await app.start();
|
|
@@ -10117,4 +10126,4 @@ async function stopSlackApp2() {
|
|
|
10117
10126
|
initialized2 = false;
|
|
10118
10127
|
}
|
|
10119
10128
|
|
|
10120
|
-
export { require_dist4, getSlackConnectionState, noteSlackInboundSideEffect, ignoreSlackInbound, reportSlackInboundFailure, isAdmittedSlackDelivery, getSlackInboundDiagnostics, isPollTracingEnabled, initOtel, withSpan2, startSpan2, withSpanContext2, withRemoteContext2, injectTraceContext2, recordSessionCost2, recordDbRetentionSweep2, recordDbRetentionStatement2, slackTaskOutput, ackSlackMessage, getTaskLink, getTaskUrl, markdownToSlack, buildCaptionBlock, buildCancelledBlocks, buildBufferFlushBlocks, buildTreeBlocks, taskCitationIssues, stripInvalidTaskCitations, taskCitationSourceGroups, renderTaskCitations, taskCitationWarnings, MAX_TASK_CITATIONS, CitationInputSchema, TaskCitationSchema, upsertTaskCitations, getTaskCitations, getTaskCitationsForTasks, hasTaskCitationCheckRefusal, initialize, ensure, getAgentDisplayName, getAgentEmoji, markSlackSessionProcessing, isSlackRenderV2Enabled2, ensureSlackThreadTree2, processSlackRenderV22, registerTreeMessage, getSlackApp2, initSlackApp2, startSlackApp2, stopSlackApp2 };
|
|
10129
|
+
export { require_dist4, getSlackConnectionState, noteSlackInboundSideEffect, ignoreSlackInbound, reportSlackInboundFailure, isAdmittedSlackDelivery, getSlackInboundDiagnostics, isPollTracingEnabled, initOtel, withSpan2, startSpan2, withSpanContext2, withRemoteContext2, injectTraceContext2, recordSessionCost2, recordDbRetentionSweep2, recordDbRetentionStatement2, slackTaskOutput, ackSlackMessage, getTaskLink, getTaskUrl, markdownToSlack, buildMrkdwnSectionBlocks, buildCaptionBlock, buildCancelledBlocks, buildBufferFlushBlocks, buildTreeBlocks, taskCitationIssues, stripInvalidTaskCitations, taskCitationSourceGroups, renderTaskCitations, taskCitationWarnings, MAX_TASK_CITATIONS, CitationInputSchema, TaskCitationSchema, upsertTaskCitations, getTaskCitations, getTaskCitationsForTasks, hasTaskCitationCheckRefusal, initialize, ensure, getAgentDisplayName, getAgentEmoji, markSlackSessionProcessing, isSlackRenderV2Enabled2, ensureSlackThreadTree2, processSlackRenderV22, registerTreeMessage, getSlackApp2, initSlackApp2, startSlackApp2, stopSlackApp2 };
|
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
getDb2,
|
|
3
3
|
getDbClient2,
|
|
4
4
|
init_db3
|
|
5
|
-
} from "./cli-
|
|
5
|
+
} from "./cli-rg7ntypm.js";
|
|
6
6
|
import {
|
|
7
7
|
PermissionVerbSchema,
|
|
8
8
|
init_rbac
|
|
9
|
-
} from "./cli-
|
|
9
|
+
} from "./cli-1pa3rz69.js";
|
|
10
10
|
import {
|
|
11
11
|
init_env_flag
|
|
12
12
|
} from "./cli-0hyhdkdk.js";
|
|
@@ -179,7 +179,9 @@ var init_rbac_roles = __esm(() => {
|
|
|
179
179
|
"task.cancel.own",
|
|
180
180
|
"task.action.own",
|
|
181
181
|
"task.fs.mutate",
|
|
182
|
-
"favorite.write.own"
|
|
182
|
+
"favorite.write.own",
|
|
183
|
+
"session.share",
|
|
184
|
+
"session.presence"
|
|
183
185
|
]
|
|
184
186
|
}
|
|
185
187
|
];
|