@tickernelz/paperclip-pro-server 2026.1016.2 → 2026.1017.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build-info.json +1 -1
- package/dist/middleware/auth.d.ts.map +1 -1
- package/dist/middleware/auth.js +2 -0
- package/dist/middleware/auth.js.map +1 -1
- package/dist/routes/access.d.ts.map +1 -1
- package/dist/routes/access.js +24 -10
- package/dist/routes/access.js.map +1 -1
- package/dist/routes/agents.d.ts.map +1 -1
- package/dist/routes/agents.js +60 -10
- package/dist/routes/agents.js.map +1 -1
- package/dist/routes/approvals.d.ts.map +1 -1
- package/dist/routes/approvals.js +14 -10
- package/dist/routes/approvals.js.map +1 -1
- package/dist/routes/authz.d.ts +1 -0
- package/dist/routes/authz.d.ts.map +1 -1
- package/dist/routes/authz.js +26 -5
- package/dist/routes/authz.js.map +1 -1
- package/dist/routes/companies.d.ts.map +1 -1
- package/dist/routes/companies.js +18 -21
- package/dist/routes/companies.js.map +1 -1
- package/dist/routes/issues.d.ts.map +1 -1
- package/dist/routes/issues.js +80 -21
- package/dist/routes/issues.js.map +1 -1
- package/dist/routes/paperclip-mcp.d.ts.map +1 -1
- package/dist/routes/paperclip-mcp.js +13 -3
- package/dist/routes/paperclip-mcp.js.map +1 -1
- package/dist/routes/workspace-command-authz.d.ts.map +1 -1
- package/dist/routes/workspace-command-authz.js +2 -1
- package/dist/routes/workspace-command-authz.js.map +1 -1
- package/dist/routes/workspace-runtime-service-authz.d.ts.map +1 -1
- package/dist/routes/workspace-runtime-service-authz.js +5 -2
- package/dist/routes/workspace-runtime-service-authz.js.map +1 -1
- package/dist/services/agent-authority-escalation.js +2 -2
- package/dist/services/agent-authority-escalation.js.map +1 -1
- package/dist/services/attention.d.ts.map +1 -1
- package/dist/services/attention.js +4 -0
- package/dist/services/attention.js.map +1 -1
- package/dist/services/authorization.d.ts +1 -0
- package/dist/services/authorization.d.ts.map +1 -1
- package/dist/services/authorization.js +39 -3
- package/dist/services/authorization.js.map +1 -1
- package/dist/services/heartbeat/retries.d.ts +1 -0
- package/dist/services/heartbeat/retries.d.ts.map +1 -1
- package/dist/services/heartbeat/retries.js +8 -2
- package/dist/services/heartbeat/retries.js.map +1 -1
- package/dist/services/heartbeat/scheduling.d.ts.map +1 -1
- package/dist/services/heartbeat/scheduling.js +83 -2
- package/dist/services/heartbeat/scheduling.js.map +1 -1
- package/dist/services/heartbeat/workspaces.d.ts +4 -0
- package/dist/services/heartbeat/workspaces.d.ts.map +1 -1
- package/dist/services/heartbeat/workspaces.js +46 -9
- package/dist/services/heartbeat/workspaces.js.map +1 -1
- package/dist/services/heartbeat.d.ts.map +1 -1
- package/dist/services/heartbeat.js +3 -3
- package/dist/services/heartbeat.js.map +1 -1
- package/dist/services/native-runtime/status-decision-committer.d.ts +12 -0
- package/dist/services/native-runtime/status-decision-committer.d.ts.map +1 -1
- package/dist/services/native-runtime/status-decision-committer.js +67 -9
- package/dist/services/native-runtime/status-decision-committer.js.map +1 -1
- package/dist/services/native-runtime/task-reassignment.test.js +8 -1
- package/dist/services/native-runtime/task-reassignment.test.js.map +1 -1
- package/dist/services/recovery/service.d.ts +3 -2
- package/dist/services/recovery/service.d.ts.map +1 -1
- package/dist/services/recovery/service.js +12 -1
- package/dist/services/recovery/service.js.map +1 -1
- package/node_modules/@microsoft/teams.api/package.json +4 -4
- package/node_modules/@microsoft/teams.apps/dist/middleware/auth/inbound-activity-token-validator.d.ts +10 -0
- package/node_modules/@microsoft/teams.apps/dist/middleware/auth/inbound-activity-token-validator.js +22 -3
- package/node_modules/@microsoft/teams.apps/package.json +5 -5
- package/node_modules/@microsoft/teams.cards/package.json +2 -2
- package/node_modules/@microsoft/teams.common/package.json +2 -2
- package/node_modules/@microsoft/teams.graph/package.json +3 -3
- package/node_modules/@microsoft/teams.graph-endpoints/package.json +2 -2
- package/package.json +21 -21
- package/ui-dist/assets/{AgentAvatar-DZh8tNnK.js → AgentAvatar-Cy7DadMK.js} +1 -1
- package/ui-dist/assets/{Agents.production-CVULb5cR.js → Agents.production-BJyEbiQk.js} +2 -2
- package/ui-dist/assets/{BreadcrumbContext-Bxr1TyKN.js → BreadcrumbContext-CIC8QOSJ.js} +2 -2
- package/ui-dist/assets/{CompanyActivity.production-Wked11oO.js → CompanyActivity.production-Dp4ldx4P.js} +1 -1
- package/ui-dist/assets/{CompanyExport-CsJNakda.js → CompanyExport-BBAKbfHg.js} +2 -2
- package/ui-dist/assets/{CompanySkills.production-CXPBOlb3.js → CompanySkills.production-XuOHqAg6.js} +3 -3
- package/ui-dist/assets/{EmptyState-DliXLd04.js → EmptyState-Dvu_j1Dk.js} +1 -1
- package/ui-dist/assets/{MarkdownBody-B5ygzgk6.js → MarkdownBody-Dh6kczcO.js} +3 -3
- package/ui-dist/assets/{MarkdownEditor-D7suACD6.js → MarkdownEditor-nPcj3w4g.js} +4 -4
- package/ui-dist/assets/{OrgChart.production-BjDW9Rac.js → OrgChart.production-B-U1K3BO.js} +1 -1
- package/ui-dist/assets/{PageSkeleton-BZF4K6Hf.js → PageSkeleton-B858kNMV.js} +1 -1
- package/ui-dist/assets/{RoutineDetail.production-C03tDWie.js → RoutineDetail.production-DR37hdFP.js} +1 -1
- package/ui-dist/assets/{RoutineRunVariablesDialog-DE5hp-_u.js → RoutineRunVariablesDialog-TmqPj_PL.js} +2 -2
- package/ui-dist/assets/{Routines.production-CDaXZ2Kc.js → Routines.production-D4Jwvus7.js} +1 -1
- package/ui-dist/assets/{StatusIcon-YdJnE47W.js → StatusIcon-PIDWeOS3.js} +1 -1
- package/ui-dist/assets/{ToastContext-Dh8dPdr5.js → ToastContext-B6w8XXdu.js} +1 -1
- package/ui-dist/assets/{agent-avatar-url-BnmqahQ7.js → agent-avatar-url-Dp-4-Emx.js} +1 -1
- package/ui-dist/assets/{alert-dialog-BxpRolrb.js → alert-dialog-Cgn1_GT7.js} +1 -1
- package/ui-dist/assets/{arrow-right-bnOoaiPg.js → arrow-right-Dblp-MTW.js} +1 -1
- package/ui-dist/assets/{badge-D5aOL1Ll.js → badge-B6lcLGFG.js} +1 -1
- package/ui-dist/assets/{bot-DpNd1tv2.js → bot-BIsZWSPn.js} +1 -1
- package/ui-dist/assets/{card-PCL2aF_L.js → card-Byu34cBe.js} +1 -1
- package/ui-dist/assets/{check-BiXfODpl.js → check-AN9f-5s7.js} +1 -1
- package/ui-dist/assets/{checkbox-5wFlZdZn.js → checkbox-DVrU8RYw.js} +1 -1
- package/ui-dist/assets/{clipboard-CTmezHYG.js → clipboard-Bj1LrAus.js} +1 -1
- package/ui-dist/assets/{company-members-Dd6xBf6K.js → company-members-B3Kl56Wi.js} +1 -1
- package/ui-dist/assets/{definition-CjvFnh6k.js → definition-DSY4nExe.js} +1 -1
- package/ui-dist/assets/{dist-BrRwU9U9.js → dist-BoN0lntx.js} +1 -1
- package/ui-dist/assets/{dist-CvM0_U_m.js → dist-DNeg6Olm.js} +1 -1
- package/ui-dist/assets/{dist-CMegW-DS.js → dist-qobNlkwf.js} +1 -1
- package/ui-dist/assets/{environments-Bj-4l7Ol.js → environments-CnsaRGwX.js} +1 -1
- package/ui-dist/assets/{external-link-LnxJtUIq.js → external-link-DJ5KXpF5.js} +1 -1
- package/ui-dist/assets/{file-text-Ba5Wddur.js → file-text-BqJfYVg5.js} +1 -1
- package/ui-dist/assets/{health-D8T5Zr74.js → health-DXJ-aWLi.js} +1 -1
- package/ui-dist/assets/{heartbeats-Dae6h2SU.js → heartbeats-BoD7FLml.js} +1 -1
- package/ui-dist/assets/{index-D4MfEOIw.js → index-BVwUuuxT.js} +168 -168
- package/ui-dist/assets/{input-CtLHwxEw.js → input-BGjNwUvf.js} +1 -1
- package/ui-dist/assets/{label-YjU0jMtG.js → label-CKJXPwWx.js} +2 -2
- package/ui-dist/assets/{mention-chips-ClRmijVb.js → mention-chips-BovBgzq0.js} +1 -1
- package/ui-dist/assets/{rotate-ccw-2WnWy1fs.js → rotate-ccw-B7ntLtp4.js} +1 -1
- package/ui-dist/assets/{select-DRgGQ-iP.js → select-DIma4_VX.js} +1 -1
- package/ui-dist/assets/{sheet-CACWxbsc.js → sheet-C9tsiOQC.js} +1 -1
- package/ui-dist/assets/skeleton-CyS6Uq5n.js +1 -0
- package/ui-dist/assets/{tabs-BfOtoFWj.js → tabs-nc-7quf8.js} +1 -1
- package/ui-dist/assets/{use-adapter-capabilities-JhD0-FlQ.js → use-adapter-capabilities-DiUfxjZz.js} +1 -1
- package/ui-dist/assets/{use-copy-action-qHyHFl14.js → use-copy-action-RWCAx8p8.js} +1 -1
- package/ui-dist/assets/{useHiddenSettings-Dz7GWNDr.js → useHiddenSettings-Be7MTSIM.js} +1 -1
- package/ui-dist/index.html +39 -39
- package/ui-dist/sw.js +1 -1
- package/ui-dist/assets/skeleton-DCrngTtF.js +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/teams.api",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -35,14 +35,14 @@
|
|
|
35
35
|
"test": "npx jest"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@microsoft/teams.cards": "2.1.
|
|
39
|
-
"@microsoft/teams.common": "2.1.
|
|
38
|
+
"@microsoft/teams.cards": "2.1.1",
|
|
39
|
+
"@microsoft/teams.common": "2.1.1",
|
|
40
40
|
"@opentelemetry/api": "^1.9.1",
|
|
41
41
|
"jwt-decode": "^4.0.0",
|
|
42
42
|
"qs": "^6.16.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@microsoft/teams.config": "2.1.
|
|
45
|
+
"@microsoft/teams.config": "2.1.1",
|
|
46
46
|
"@types/jest": "^30.0.0",
|
|
47
47
|
"@types/jsonwebtoken": "^9.0.7",
|
|
48
48
|
"@types/qs": "^6.15.1",
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { CloudEnvironment, IToken } from '@microsoft/teams.api';
|
|
2
2
|
import { ILogger } from '@microsoft/teams.common';
|
|
3
|
+
/**
|
|
4
|
+
* App ID of the Agent 365 platform.
|
|
5
|
+
*/
|
|
6
|
+
export declare const AGENT_365_PLATFORM_APP_ID = "5a807f24-c9de-44ee-a3a7-329e88a00ffc";
|
|
3
7
|
/**
|
|
4
8
|
* Validator for inbound Teams activities.
|
|
5
9
|
*
|
|
@@ -18,5 +22,11 @@ export declare class InboundActivityTokenValidator {
|
|
|
18
22
|
private decodePayload;
|
|
19
23
|
private isEntraIssuer;
|
|
20
24
|
private validateEntraToken;
|
|
25
|
+
/**
|
|
26
|
+
* Requires the client app that requested the token to be the Agent 365 platform.
|
|
27
|
+
* Entra v2 tokens carry the caller in `azp` and v1 tokens carry it in `appid`.
|
|
28
|
+
* `appid` is only consulted when `azp` is absent, so a present but invalid `azp` is rejected.
|
|
29
|
+
*/
|
|
30
|
+
private validateEntraCallerApp;
|
|
21
31
|
private getEntraValidator;
|
|
22
32
|
}
|
package/node_modules/@microsoft/teams.apps/dist/middleware/auth/inbound-activity-token-validator.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InboundActivityTokenValidator = void 0;
|
|
3
|
+
exports.InboundActivityTokenValidator = exports.AGENT_365_PLATFORM_APP_ID = void 0;
|
|
4
4
|
const teams_api_1 = require("@microsoft/teams.api");
|
|
5
5
|
const jwt_validator_1 = require("./jwt-validator");
|
|
6
6
|
const MAX_ENTRA_VALIDATOR_CACHE_SIZE = 100;
|
|
7
7
|
const ENTRA_V1_ISSUER_PREFIX = 'https://sts.windows.net/';
|
|
8
|
+
/**
|
|
9
|
+
* App ID of the Agent 365 platform.
|
|
10
|
+
*/
|
|
11
|
+
exports.AGENT_365_PLATFORM_APP_ID = '5a807f24-c9de-44ee-a3a7-329e88a00ffc';
|
|
8
12
|
/**
|
|
9
13
|
* Derives the JWKS keys URI from an OpenID metadata URL.
|
|
10
14
|
* e.g. "https://login.botframework.com/v1/.well-known/openidconfiguration"
|
|
@@ -86,7 +90,22 @@ class InboundActivityTokenValidator {
|
|
|
86
90
|
const validator = this.getEntraValidator(tenantId);
|
|
87
91
|
// AgenticIdentity inbound Entra tokens currently do not include serviceurl.
|
|
88
92
|
// Revisit service URL validation when the platform defines a signed claim.
|
|
89
|
-
|
|
93
|
+
const payload = await validator.validateAccessToken(rawToken);
|
|
94
|
+
if (payload) {
|
|
95
|
+
this.validateEntraCallerApp(payload);
|
|
96
|
+
}
|
|
97
|
+
return payload;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Requires the client app that requested the token to be the Agent 365 platform.
|
|
101
|
+
* Entra v2 tokens carry the caller in `azp` and v1 tokens carry it in `appid`.
|
|
102
|
+
* `appid` is only consulted when `azp` is absent, so a present but invalid `azp` is rejected.
|
|
103
|
+
*/
|
|
104
|
+
validateEntraCallerApp(payload) {
|
|
105
|
+
const callerAppId = 'azp' in payload ? payload.azp : payload.appid;
|
|
106
|
+
if (typeof callerAppId !== 'string' || callerAppId.toLowerCase() !== exports.AGENT_365_PLATFORM_APP_ID) {
|
|
107
|
+
throw new Error('Entra inbound token caller app is not allowed');
|
|
108
|
+
}
|
|
90
109
|
}
|
|
91
110
|
getEntraValidator(tenantId) {
|
|
92
111
|
const cachedValidator = this.entraValidatorsByTenantId.get(tenantId);
|
|
@@ -111,4 +130,4 @@ class InboundActivityTokenValidator {
|
|
|
111
130
|
}
|
|
112
131
|
}
|
|
113
132
|
exports.InboundActivityTokenValidator = InboundActivityTokenValidator;
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ib3VuZC1hY3Rpdml0eS10b2tlbi12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWlkZGxld2FyZS9hdXRoL2luYm91bmQtYWN0aXZpdHktdG9rZW4tdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLG9EQUFxRjtBQUdyRixtREFBaUU7QUFFakUsTUFBTSw4QkFBOEIsR0FBRyxHQUFHLENBQUM7QUFDM0MsTUFBTSxzQkFBc0IsR0FBRywwQkFBMEIsQ0FBQztBQUUxRDs7R0FFRztBQUNVLFFBQUEseUJBQXlCLEdBQUcsc0NBQXNDLENBQUM7QUFFaEY7Ozs7R0FJRztBQUNILFNBQVMsdUJBQXVCLENBQUMsaUJBQXlCO0lBQ3hELE9BQU8saUJBQWlCLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3RFLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQWEsNkJBQTZCO0lBQ2hDLFlBQVksQ0FBZTtJQUMzQix5QkFBeUIsR0FBRyxJQUFJLEdBQUcsRUFBd0IsQ0FBQztJQUM1RCxXQUFXLENBQWU7SUFDMUIsS0FBSyxDQUFTO0lBQ2QsS0FBSyxDQUFtQjtJQUN4QixNQUFNLENBQVc7SUFFekIsWUFDRSxLQUFhLEVBQ2IsUUFBaUIsRUFDakIsVUFBbUIsRUFDbkIsTUFBZ0IsRUFDaEIsS0FBd0I7UUFFeEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxJQUFJLGtCQUFNLENBQUM7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLDRCQUFZLENBQUM7WUFDbkMsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRO1lBQ1IsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUFhO1lBQ2hDLGNBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxHQUFHLENBQUMsV0FBVyxFQUFFO1lBQ2xELGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUMvRSxjQUFjLEVBQUU7Z0JBQ2QsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsR0FBRyxFQUFFLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQzthQUNwRDtTQUNGLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFWCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFrQixFQUFFLElBQVM7UUFDdkMsNkNBQTZDO1FBQzdDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1lBQzVDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUN6QixDQUFDLENBQUMsVUFBVSxDQUFDO1FBRWYsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFFRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNoRSxNQUFNLE9BQU8sR0FBRyxZQUFZO1lBQzFCLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUM7WUFDekQsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUU7Z0JBQ25ELGtCQUFrQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQzFGLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkMsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLFVBQW9CLElBQUksRUFBRSxDQUFDO1FBRXpFLGdDQUFnQztRQUNoQyxPQUFPO1lBQ0wsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFlLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLElBQUksRUFBRTtZQUNsRSxJQUFJLEVBQUUsT0FBTztZQUNiLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBYSxJQUFJLEVBQUU7WUFDbkMsVUFBVTtZQUNWLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUscUNBQXFDO1NBQzlELENBQUM7SUFDSixDQUFDO0lBRU8sYUFBYSxDQUFDLFFBQWdCO1FBQ3BDLE9BQU8sSUFBQSxnQ0FBZ0IsRUFBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQWU7UUFDbkMsT0FBTyxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksQ0FDbkMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsQ0FDekYsQ0FBQztJQUNKLENBQUM7SUFFTyxLQUFLLENBQUMsa0JBQWtCLENBQUMsUUFBZ0IsRUFBRSxpQkFBb0M7UUFDckYsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLEVBQUUsR0FBRyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkQsNEVBQTRFO1FBQzVFLDJFQUEyRTtRQUMzRSxNQUFNLE9BQU8sR0FBRyxNQUFNLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5RCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLHNCQUFzQixDQUFDLE9BQW1CO1FBQ2hELE1BQU0sV0FBVyxHQUFHLEtBQUssSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDbkUsSUFBSSxPQUFPLFdBQVcsS0FBSyxRQUFRLElBQUksV0FBVyxDQUFDLFdBQVcsRUFBRSxLQUFLLGlDQUF5QixFQUFFLENBQUM7WUFDL0YsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1FBQ25FLENBQUM7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsUUFBZ0I7UUFDeEMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRSxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sZUFBZSxDQUFDO1FBQ3pCLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLDRCQUFZLENBQUM7WUFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ3BCLFFBQVE7WUFDUixhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhO1lBQ3ZDLGNBQWMsRUFBRSxFQUFFLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDaEQsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtTQUNyQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RCxJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEdBQUcsOEJBQThCLEVBQUUsQ0FBQztZQUN6RSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzFFLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDeEQsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUFoSUQsc0VBZ0lDIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/teams.apps",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@azure/msal-node": "^5.6.0",
|
|
41
|
-
"@microsoft/teams.api": "2.1.
|
|
42
|
-
"@microsoft/teams.common": "2.1.
|
|
43
|
-
"@microsoft/teams.graph": "2.1.
|
|
41
|
+
"@microsoft/teams.api": "2.1.1",
|
|
42
|
+
"@microsoft/teams.common": "2.1.1",
|
|
43
|
+
"@microsoft/teams.graph": "2.1.1",
|
|
44
44
|
"@opentelemetry/api": "^1.9.1",
|
|
45
45
|
"axios": "^1.18.1",
|
|
46
46
|
"cors": "^2.8.5",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"reflect-metadata": "^0.2.2"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@microsoft/teams.config": "2.1.
|
|
53
|
+
"@microsoft/teams.config": "2.1.1",
|
|
54
54
|
"@types/cors": "^2.8.17",
|
|
55
55
|
"@types/express": "^5.0.0",
|
|
56
56
|
"@types/jest": "^30.0.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/teams.cards",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"test": "npx jest"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@microsoft/teams.config": "2.1.
|
|
38
|
+
"@microsoft/teams.config": "2.1.1",
|
|
39
39
|
"@types/jest": "^30.0.0",
|
|
40
40
|
"jest": "^30.5.1",
|
|
41
41
|
"rimraf": "^6.0.1",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/teams.common",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"axios": "^1.18.1"
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
|
-
"@microsoft/teams.config": "2.1.
|
|
83
|
+
"@microsoft/teams.config": "2.1.1",
|
|
84
84
|
"@types/jest": "^30.0.0",
|
|
85
85
|
"jest": "^30.5.1",
|
|
86
86
|
"rimraf": "^6.0.1",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/teams.graph",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -34,11 +34,11 @@
|
|
|
34
34
|
"test": "npx jest"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@microsoft/teams.common": "2.1.
|
|
37
|
+
"@microsoft/teams.common": "2.1.1",
|
|
38
38
|
"qs": "^6.16.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@microsoft/teams.config": "2.1.
|
|
41
|
+
"@microsoft/teams.config": "2.1.1",
|
|
42
42
|
"@types/jest": "^30.0.0",
|
|
43
43
|
"@types/node": "^22.0.2",
|
|
44
44
|
"@types/qs": "^6.15.1",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/teams.graph-endpoints",
|
|
3
3
|
"sideEffects": false,
|
|
4
|
-
"version": "2.1.
|
|
4
|
+
"version": "2.1.1",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"module": "./dist/index.mjs",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"gen:endpoints": "npx cross-env NODE_OPTIONS='--max-old-space-size=16384' npx @microsoft/teams.graph-tools generate-endpoints ../graph/openapi.yaml ./src v1.0"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@microsoft/teams.graph-tools": "2.1.
|
|
54
|
+
"@microsoft/teams.graph-tools": "2.1.1",
|
|
55
55
|
"rimraf": "^6.0.1",
|
|
56
56
|
"tsup": "^8.4.0",
|
|
57
57
|
"typescript": "^5.4.5"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tickernelz/paperclip-pro-server",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.1017.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"homepage": "https://github.com/tickernelz/paperclip-pro",
|
|
6
6
|
"bugs": {
|
|
@@ -54,25 +54,25 @@
|
|
|
54
54
|
"@openrouter/ai-sdk-provider": "3.1.0",
|
|
55
55
|
"@opentelemetry/api": "^1.9.0",
|
|
56
56
|
"@photon-ai/advanced-imessage": "2.1.0",
|
|
57
|
-
"@tickernelz/paperclip-pro-adapter-claude-local": "2026.
|
|
58
|
-
"@tickernelz/paperclip-pro-adapter-codex-local": "2026.
|
|
59
|
-
"@tickernelz/paperclip-pro-adapter-cursor-cloud": "2026.
|
|
60
|
-
"@tickernelz/paperclip-pro-adapter-cursor-local": "2026.
|
|
61
|
-
"@tickernelz/paperclip-pro-adapter-gemini-local": "2026.
|
|
62
|
-
"@tickernelz/paperclip-pro-adapter-grok-local": "2026.
|
|
63
|
-
"@tickernelz/paperclip-pro-adapter-kimi-local": "2026.
|
|
64
|
-
"@tickernelz/paperclip-pro-adapter-omp-local": "2026.
|
|
65
|
-
"@tickernelz/paperclip-pro-adapter-openclaw-gateway": "2026.
|
|
66
|
-
"@tickernelz/paperclip-pro-adapter-opencode-local": "2026.
|
|
67
|
-
"@tickernelz/paperclip-pro-adapter-pi-local": "2026.
|
|
68
|
-
"@tickernelz/paperclip-pro-adapter-utils": "2026.
|
|
69
|
-
"@tickernelz/paperclip-pro-db": "2026.
|
|
70
|
-
"@tickernelz/paperclip-pro-hermes-paperclip-adapter": "2026.
|
|
71
|
-
"@tickernelz/paperclip-pro-mcp-server": "2026.
|
|
72
|
-
"@tickernelz/paperclip-pro-plugin-sdk": "2026.
|
|
73
|
-
"@tickernelz/paperclip-pro-shared": "2026.
|
|
74
|
-
"@tickernelz/paperclip-pro-skills-catalog": "2026.
|
|
75
|
-
"@tickernelz/paperclip-pro-teams-catalog": "2026.
|
|
57
|
+
"@tickernelz/paperclip-pro-adapter-claude-local": "2026.1017.1",
|
|
58
|
+
"@tickernelz/paperclip-pro-adapter-codex-local": "2026.1017.1",
|
|
59
|
+
"@tickernelz/paperclip-pro-adapter-cursor-cloud": "2026.1017.1",
|
|
60
|
+
"@tickernelz/paperclip-pro-adapter-cursor-local": "2026.1017.1",
|
|
61
|
+
"@tickernelz/paperclip-pro-adapter-gemini-local": "2026.1017.1",
|
|
62
|
+
"@tickernelz/paperclip-pro-adapter-grok-local": "2026.1017.1",
|
|
63
|
+
"@tickernelz/paperclip-pro-adapter-kimi-local": "2026.1017.1",
|
|
64
|
+
"@tickernelz/paperclip-pro-adapter-omp-local": "2026.1017.1",
|
|
65
|
+
"@tickernelz/paperclip-pro-adapter-openclaw-gateway": "2026.1017.1",
|
|
66
|
+
"@tickernelz/paperclip-pro-adapter-opencode-local": "2026.1017.1",
|
|
67
|
+
"@tickernelz/paperclip-pro-adapter-pi-local": "2026.1017.1",
|
|
68
|
+
"@tickernelz/paperclip-pro-adapter-utils": "2026.1017.1",
|
|
69
|
+
"@tickernelz/paperclip-pro-db": "2026.1017.1",
|
|
70
|
+
"@tickernelz/paperclip-pro-hermes-paperclip-adapter": "2026.1017.1",
|
|
71
|
+
"@tickernelz/paperclip-pro-mcp-server": "2026.1017.1",
|
|
72
|
+
"@tickernelz/paperclip-pro-plugin-sdk": "2026.1017.1",
|
|
73
|
+
"@tickernelz/paperclip-pro-shared": "2026.1017.1",
|
|
74
|
+
"@tickernelz/paperclip-pro-skills-catalog": "2026.1017.1",
|
|
75
|
+
"@tickernelz/paperclip-pro-teams-catalog": "2026.1017.1",
|
|
76
76
|
"@vercel/connect": "2.3.3",
|
|
77
77
|
"acorn": "8.18.0",
|
|
78
78
|
"acpx": "0.13.1",
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
"acpx"
|
|
129
129
|
],
|
|
130
130
|
"devDependencies": {
|
|
131
|
-
"@tickernelz/paperclip-pro-paperclip-runner": "2026.
|
|
131
|
+
"@tickernelz/paperclip-pro-paperclip-runner": "2026.1017.1",
|
|
132
132
|
"@types/compression": "^1.8.1",
|
|
133
133
|
"@types/express": "^5.0.0",
|
|
134
134
|
"@types/express-serve-static-core": "^5.1.3",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var E=Object.defineProperty;var o=(a,e)=>E(a,"name",{value:e,configurable:!0});import{i as C}from"./rolldown-runtime-ZpX3ckPj.js";import{G as v,
|
|
1
|
+
var E=Object.defineProperty;var o=(a,e)=>E(a,"name",{value:e,configurable:!0});import{i as C}from"./rolldown-runtime-ZpX3ckPj.js";import{Ba as L,G as v,Ha as w,M as A,T as k,hn as h,j as y,k as I,yn as N}from"./agent-avatar-url-Dp-4-Emx.js";var m=C(w(),1),i=C(L(),1),R=Object.defineProperty,g=o((a,e)=>R(a,"name",{value:e,configurable:!0}),"__name"),z="Avatar",[T,X]=y(z),M=[0,()=>{}],[P,_]=T(z),F=m.forwardRef(g(o(function(e,t){const{__scopeAvatar:s,...n}=e,[r,l]=m.useState("idle"),[d,u]=S();return(0,i.jsx)(P,{scope:s,imageLoadingStatus:r,setImageLoadingStatus:l,imageCount:d,setImageCount:u,children:(0,i.jsx)(A.span,{...n,ref:t})})},"Avatar2"),"Avatar")),U="AvatarImage",q=m.forwardRef(g(o(function(e,t){const{__scopeAvatar:s,src:n,onLoadingStatusChange:r,...l}=e,d=_(U,s);d.setImageCount;const u=j(n,{referrerPolicy:l.referrerPolicy,crossOrigin:l.crossOrigin,loadingStatus:d.imageLoadingStatus,setLoadingStatus:d.setImageLoadingStatus}),c=k(f=>{r?.(f)}),p=m.useRef(u);return I(()=>{const f=p.current;p.current=u,u!==f&&c(u)},[u,c]),u==="loaded"?(0,i.jsx)(A.img,{...l,ref:t,src:n}):null},"AvatarImage2"),"AvatarImage")),G="AvatarFallback",O=m.forwardRef(g(o(function(e,t){const{__scopeAvatar:s,delayMs:n,...r}=e,l=_(G,s),[d,u]=m.useState(n===void 0);return m.useEffect(()=>{if(n!==void 0){const c=window.setTimeout(()=>u(!0),n);return()=>window.clearTimeout(c)}},[n]),d&&l.imageLoadingStatus!=="loaded"?(0,i.jsx)(A.span,{...r,ref:t}):null},"AvatarFallback2"),"AvatarFallback"));function j(a,{loadingStatus:e,setLoadingStatus:t,referrerPolicy:s,crossOrigin:n}){return I(()=>{if(!a){t("error");return}const r=new window.Image,l=g(u=>{const c=u.currentTarget;t(x(c))},"handleLoad"),d=g(()=>t("error"),"handleError");return r.addEventListener("load",l),r.addEventListener("error",d),s&&(r.referrerPolicy=s),r.crossOrigin=n??null,r.src=a,t(x(r)),()=>{r.removeEventListener("load",l),r.removeEventListener("error",d),t("idle")}},[a,n,s,t]),e}o(j,"useImageLoadingStatus");g(j,"useImageLoadingStatus");function x(a){return a.complete?a.naturalWidth>0?"loaded":"error":"loading"}o(x,"getImageLoadingStatus");g(x,"getImageLoadingStatus");function S(){return M}o(S,"useImageCount");g(S,"useImageCount");function W(a){}o(W,"useUpdateImageCount");g(W,"useUpdateImageCount");function $({className:a,size:e="default",shape:t="circle",...s}){return(0,i.jsx)(F,{"data-slot":"avatar","data-size":e,"data-shape":t,className:v("group/avatar relative flex size-8 shrink-0 overflow-hidden select-none data-[size=lg]:size-10 data-[size=sm]:size-6 data-[size=xs]:size-5",t==="square"?"rounded-md":"rounded-full",a),...s})}o($,"Avatar");function B({className:a,...e}){return(0,i.jsx)(q,{"data-slot":"avatar-image",className:v("aspect-square size-full object-cover",a),...e})}o(B,"AvatarImage");function H({className:a,...e}){return(0,i.jsx)(O,{"data-slot":"avatar-fallback",className:v("bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[shape=square]/avatar:rounded-md group-data-[size=sm]/avatar:text-xs group-data-[size=xs]/avatar:text-(length:--text-nano)",a),...e})}o(H,"AvatarFallback");function Y({className:a,...e}){return(0,i.jsx)("div",{"data-slot":"avatar-group",className:v("*:data-[slot=avatar]:ring-background group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2",a),...e})}o(Y,"AvatarGroup");function Z({className:a,...e}){return(0,i.jsx)("div",{"data-slot":"avatar-group-count",className:v("bg-muted text-muted-foreground ring-background relative flex size-8 shrink-0 items-center justify-center rounded-full text-sm ring-2 group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3",a),...e})}o(Z,"AvatarGroupCount");function b(a){const e=a.trim().split(/\s+/);return e.length>=2?(e[0][0]+e[e.length-1][0]).toUpperCase():a.slice(0,2).toUpperCase()}o(b,"deriveInitials");var K={xs:"text-sm",sm:"text-xs",default:"text-sm",lg:"text-sm"};function aa({name:a,avatarUrl:e,initials:t,size:s="default",shape:n="circle",className:r}){const l=t??b(a);return(0,i.jsxs)("span",{className:v("inline-flex min-w-0 gap-1.5 items-center",s==="xs"&&"gap-1",s==="lg"&&"gap-2",r),title:a,children:[(0,i.jsxs)($,{size:s,shape:n,"aria-hidden":"true",children:[e&&(0,i.jsx)(B,{src:e,alt:""}),(0,i.jsx)(H,{children:l})]}),(0,i.jsx)("span",{className:v("truncate",K[s]),children:a})]})}o(aa,"Identity");var V={16:"size-4",20:"size-5",24:"size-6",32:"size-8",40:"size-10",48:"size-12",64:"size-16",96:"size-24",128:"size-32",256:"size-64",512:"size-128"};function ea({agent:a,appearance:e,size:t=24,name:s,label:n,pose:r="rest",muted:l=!1,className:d}){const u=N(e??a?.appearance,a?.id),c=h(u,t,1,r,l),[p,f]=(0,m.useState)(null);return(0,i.jsx)("span",{"data-slot":"agent-avatar",className:v("relative inline-flex shrink-0 items-center justify-center align-middle",V[t],d),role:n?"img":void 0,"aria-label":n,"aria-hidden":n?void 0:!0,children:p===c?(0,i.jsx)("span",{className:"text-xs text-muted-foreground",children:b(s??a?.name??"Agent")}):(0,i.jsx)("img",{src:c,srcSet:u.customAvatarAssetId?void 0:`${h(u,t,2,r,l)} 2x`,alt:"",width:t,height:t,decoding:"async",loading:"lazy",className:"size-full object-contain",onError:o(()=>f(c),"onError")})})}o(ea,"AgentAvatar");export{$ as a,Z as c,b as i,B as l,V as n,H as o,aa as r,Y as s,ea as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-
|
|
2
|
-
var Ie=Object.defineProperty;var a=(e,n)=>Ie(e,"name",{value:n,configurable:!0});import{i as ae}from"./rolldown-runtime-ZpX3ckPj.js";import{B as re,G as T,St as b,Va as Ae,_i as Ce,aa as j,ht as Se,ut as _e,z as $,za as Ee}from"./agent-avatar-url-BnmqahQ7.js";import{t as Le}from"./preload-helper-CceJXRIF.js";import{Ln as Me,ct as Te,f as ke,i as K,n as qe,r as ee,s as ie,yt as Pe}from"./BreadcrumbContext-Bxr1TyKN.js";import{m as le}from"./alert-dialog-BxpRolrb.js";import{t as oe}from"./AgentAvatar-DZh8tNnK.js";import{t as Be}from"./tabs-BfOtoFWj.js";import{t as te}from"./bot-DpNd1tv2.js";import{i as Fe,o as Re,t as $e}from"./heartbeats-Dae6h2SU.js";import{i as Ke,n as De,t as se}from"./environments-Bj-4l7Ol.js";import{t as ne}from"./EmptyState-DliXLd04.js";import{t as Oe}from"./PageSkeleton-BZF4K6Hf.js";import{Dt as ze,Ft as D,Gt as Ve,Kt as ce,Lt as Ge,Rt as Ue,Vt as He,Wt as Qe,Xt as We,Yt as ue,Zt as Xe,qt as Ye}from"./index-D4MfEOIw.js";var d=ae(Ae(),1),t=ae(Ee(),1),de=Ce,Ze=(0,d.lazy)(()=>Le(()=>import("./index-D4MfEOIw.js").then(e=>e.gt).then(e=>({default:e.ConfigureBuiltInAgentModal})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42]))),Je=["all","active","paused","error","builtin"],et=[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"paused",label:"Paused"},{value:"error",label:"Error"},{value:"builtin",label:"Built-in"}];function tt(e){return Je.includes(e)}a(tt,"isFilterTab");var z={label:"Local",detail:"Paperclip host",title:"Local - Paperclip host"},me={label:"—",detail:"Loading environment",title:"Loading environment"},pe=new Set(["terminated","pending_approval"]);function ge(e,n){return n==="all"?!0:n==="active"?e==="active"||e==="running"||e==="idle":n==="paused"?e==="paused":n==="error"?e==="error":!0}a(ge,"matchesFilter");function st(e,n,i){return e.filter(r=>pe.has(r.status)?!1:n==="builtin"?i.has(r.id):ge(r.status,n)).sort((r,o)=>r.name.localeCompare(o.name))}a(st,"filterAgents");function nt(e){const n=e.adapterConfig?.model;if(typeof n!="string")return null;const i=n.trim();return i.length>0?i:null}a(nt,"getConfiguredModel");function at(e){return e==="ssh"?"SSH":e.charAt(0).toUpperCase()+e.slice(1)}a(at,"formatEnvironmentDriver");function rt(e,n){const i=typeof e.config.provider=="string"?e.config.provider.trim():"";return i?n?.sandboxProviders?.[i]?.displayName??i:"Sandbox"}a(rt,"getSandboxProviderLabel");function it(e,n){const i=Ge(e)?"Managed by Paperclip":e.driver==="sandbox"?`${rt(e,n)} sandbox provider`:e.driver==="local"?"Paperclip host":at(e.driver);return{label:e.name,detail:i,title:`${e.name} - ${i}`}}a(it,"describeEnvironment");function lt(e){return{label:"Unknown environment",detail:e.slice(0,8),title:`Unknown environment - ${e}`}}a(lt,"describeMissingEnvironment");function ot(e,n,i,r){const o=e.defaultEnvironmentId??i;if(!o)return z;const m=n.get(o);return m?it(m,r):lt(o)}a(ot,"resolveAgentEnvironment");function xe(e,n,i){return e.reduce((r,o)=>{const m=xe(o.reports,n,i);return pe.has(o.status)?(r.push(...m),r):(((n==="builtin"?i.has(o.id):ge(o.status,n))||m.length>0)&&r.push({...o,reports:m}),r)},[]).sort((r,o)=>r.name.localeCompare(o.name))}a(xe,"filterOrgTree");function wt(){const{selectedCompanyId:e}=Se(),{openNewAgent:n}=Fe(),{setBreadcrumbs:i}=qe(),r=ke(),o=Me(),{isMobile:m}=Ke(),N=o.pathname.split("/").pop()??"all",v=tt(N)?N:"all",[S,w]=(0,d.useState)("org"),I=m,l=I?"list":S,{data:u}=j({queryKey:b.instance.settings,queryFn:a(()=>De.get(),"queryFn"),enabled:!!e}),p=u?.experimental.enableBuiltInAgents===!0,f=v==="builtin"&&!p?"all":v,k=(0,d.useMemo)(()=>et.filter(s=>s.value!=="builtin"||p),[p]),{data:h}=j({queryKey:b.builtInAgents.list(e),queryFn:a(()=>We.list(e),"queryFn"),enabled:!!e&&p}),_=(0,d.useMemo)(()=>{const s=new Map;if(!p)return s;for(const c of h??[])c.agentId&&s.set(c.agentId,c);return s},[h,p]),V=(0,d.useMemo)(()=>new Set(_.keys()),[_]),[q,P]=(0,d.useState)(null),{data:g,isLoading:ve,error:G}=j({queryKey:b.agents.list(e),queryFn:a(()=>ee.list(e),"queryFn"),enabled:!!e}),{data:A}=j({queryKey:b.org(e),queryFn:a(()=>ee.org(e),"queryFn"),enabled:!!e&&l==="org"}),E=u?.experimental.enableEnvironments===!0,{data:C}=j({queryKey:b.environments.list(e),queryFn:a(()=>se.list(e),"queryFn"),enabled:!!e&&E}),{data:U}=j({queryKey:b.environments.capabilities(e),queryFn:a(()=>se.capabilities(e),"queryFn"),enabled:!!e&&E}),H=[...b.liveRuns(e),"agents-page"],B=Ve({companyId:e,resourceKey:"live-runs:agents-page",queryKey:H,enabled:!!e,refetchInterval:15e3,leaderOnly:!0}),{data:F,dataUpdatedAt:be}=j({queryKey:H,queryFn:a(()=>$e.liveRunsForCompany(e),"queryFn"),enabled:B.enabled,refetchInterval:B.refetchInterval});Qe(B,F,be);const Q=Ye(e),L=(0,d.useMemo)(()=>{const s=new Map;for(const c of F??[]){if(c.status!=="running"&&c.status!=="queued")continue;const x=s.get(c.agentId);if(x){x.liveCount+=1;continue}s.set(c.agentId,{runId:c.id,liveCount:1})}return s},[F]),je=(0,d.useMemo)(()=>{const s=new Map;for(const c of g??[])s.set(c.id,c);return s},[g]),W=(0,d.useMemo)(()=>{const s=new Map;for(const c of C??[])s.set(c.id,c);return s},[C]),X=(0,d.useMemo)(()=>{const s=new Map;for(const c of g??[])s.set(c.id,ot(c,W,u?.defaultEnvironmentId??null,U));return s},[g,W,U,u?.defaultEnvironmentId]);if((0,d.useEffect)(()=>{i([{label:"Agents"}])},[i]),(0,d.useEffect)(()=>{e&&v==="builtin"&&u&&!p&&r("/agents/all",{replace:!0})},[p,u,r,v,e]),!e)return(0,t.jsx)(ne,{icon:te,message:"Select a company to view agents."});if(ve)return(0,t.jsx)(Oe,{variant:"list"});const y=st(g??[],f,V),R=xe(A??[],f,V),Y=E&&C===void 0,Z=E&&(C===void 0||C.length>1),ye=a(s=>Y?me:X.get(s)??z,"resolveRenderedEnvironment"),Ne=a(s=>{const c=s.orgChainHealth?.status==="invalid_org_chain",x=_.get(s.id),we=x?.status==="needs_setup"||x?.status==="pending_approval",M=x&&we?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ue,{status:x.status}),x.status==="needs_setup"&&(0,t.jsx)("span",{onClick:a(J=>{J.preventDefault(),J.stopPropagation()},"onClick"),children:(0,t.jsx)(K,{size:"xs",variant:"outline",onClick:a(()=>P(x),"onClick"),children:"Set up"})})]}):null;return(0,t.jsx)(ze,{title:s.name,titleAccessory:(0,t.jsx)(Xe,{agentId:s.id,companyId:s.companyId}),titleClassName:"flex-1 xl:flex-none xl:w-56",titleTextClassName:"whitespace-normal break-words xl:truncate xl:whitespace-nowrap",subtitleClassName:"whitespace-normal break-words xl:truncate xl:whitespace-nowrap",subtitle:`${de[s.role]??s.role}${s.title?` - ${s.title}`:""}`,to:re(s),className:T("group",s.pausedAt&&f!=="paused"?"opacity-50":"",ce(Q.data,"agent",s.id)==="left"?"sm:text-foreground/55":""),leading:c?(0,t.jsx)(le,{className:"h-3.5 w-3.5 text-amber-500","aria-label":"Invalid reporting chain"}):(0,t.jsx)(oe,{agent:s,size:32}),secondaryRow:M?(0,t.jsx)("div",{className:"xl:hidden flex flex-wrap items-center gap-1.5",children:M}):void 0,meta:(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[M&&(0,t.jsx)("div",{className:"hidden xl:flex items-center gap-1.5",children:M}),(0,t.jsx)("div",{className:"hidden xl:flex items-center gap-3",children:(0,t.jsx)(he,{agent:s,environment:ye(s.id),showEnvironment:Z})})]}),metaSpacerClassName:"hidden xl:block",trailing:(0,t.jsx)("div",{className:"flex items-center gap-3",children:(0,t.jsxs)("div",{className:"hidden sm:flex items-center gap-3",children:[L.has(s.id)&&(0,t.jsx)(O,{agentRef:$(s),runId:L.get(s.id).runId,liveCount:L.get(s.id).liveCount}),(0,t.jsx)("span",{className:"w-20 flex justify-end",children:(0,t.jsx)(D,{status:s.status})})]})})},s.id)},"renderAgentRow");return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,t.jsx)(Be,{value:f,onValueChange:a(s=>r(`/agents/${s}`),"onValueChange"),children:(0,t.jsx)(He,{items:k,value:f,onValueChange:a(s=>r(`/agents/${s}`),"onValueChange")})}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[!I&&(0,t.jsxs)("div",{className:"flex items-center border border-border",role:"group","aria-label":"View mode",children:[(0,t.jsx)("button",{className:T("p-1.5 transition-colors",l==="list"?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50"),onClick:a(()=>w("list"),"onClick"),title:"List view","aria-label":"List view","aria-pressed":l==="list",children:(0,t.jsx)(Re,{className:"h-3.5 w-3.5"})}),(0,t.jsx)("button",{className:T("p-1.5 transition-colors",l==="org"?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50"),onClick:a(()=>w("org"),"onClick"),title:"Org chart view","aria-label":"Org chart view","aria-pressed":l==="org",children:(0,t.jsx)(Pe,{className:"h-3.5 w-3.5"})})]}),(0,t.jsxs)(K,{size:"sm",variant:"outline",onClick:n,children:[(0,t.jsx)(Te,{className:"h-3.5 w-3.5 mr-1.5"}),"New Agent"]})]})]}),y.length>0&&(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:[y.length," agent",y.length!==1?"s":""]}),G&&(0,t.jsx)("p",{className:"text-sm text-destructive",children:G.message}),g&&g.length===0&&(0,t.jsx)(ne,{icon:te,message:"Create your first agent to get started.",action:"New Agent",onAction:n}),l==="list"&&y.length>0&&(0,t.jsx)("div",{children:y.map(Ne)}),l==="list"&&g&&g.length>0&&y.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:"No agents match the selected status."}),l==="org"&&R.length>0&&(0,t.jsx)("div",{className:"py-1",children:R.map(s=>(0,t.jsx)(fe,{node:s,depth:0,agentMap:je,liveRunByAgent:L,environmentByAgentId:X,environmentDataLoading:Y,showEnvironment:Z,tab:f,memberships:Q.data,builtInByAgentId:_,onConfigureBuiltIn:P},s.id))}),l==="org"&&A&&A.length>0&&R.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:"No agents match the selected status."}),l==="org"&&A&&A.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:"No organizational hierarchy defined."}),q&&e&&(0,t.jsx)(d.Suspense,{fallback:null,children:(0,t.jsx)(Ze,{companyId:e,state:q,open:q!==null,onOpenChange:a(s=>{s||P(null)},"onOpenChange")})})]})}a(wt,"Agents");function fe({node:e,depth:n,agentMap:i,liveRunByAgent:r,environmentByAgentId:o,environmentDataLoading:m,showEnvironment:N,tab:v,memberships:S,builtInByAgentId:w,onConfigureBuiltIn:I}){const l=i.get(e.id),u=w.get(e.id),p=u?.status==="needs_setup"||u?.status==="pending_approval",f=!!(l&&l.orgChainHealth?.status==="invalid_org_chain"),k=ce(S,"agent",e.id);return(0,t.jsxs)("div",{style:{paddingLeft:n*24},children:[(0,t.jsxs)(ie,{to:l?re(l):`/agents/${e.id}`,className:T("group flex items-center gap-3 rounded-lg px-3 py-2 hover:bg-accent/50 transition-colors w-full text-left no-underline text-inherit",l?.pausedAt&&v!=="paused"&&"opacity-50",k==="left"&&"sm:text-foreground/55"),children:[f?(0,t.jsx)(le,{className:"h-3.5 w-3.5 shrink-0 text-amber-500","aria-label":"Invalid reporting chain"}):(0,t.jsx)(oe,{agent:l??e,size:24}),(0,t.jsxs)("div",{className:"flex-1 min-w-0 flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("div",{className:"min-w-(--sz-7rem) truncate",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:e.name}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground ml-2",children:[de[e.role]??e.role,l?.title?` - ${l.title}`:""]})]}),u&&p&&(0,t.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:[(0,t.jsx)(ue,{status:u.status}),u.status==="needs_setup"&&(0,t.jsx)("span",{onClick:a(h=>{h.preventDefault(),h.stopPropagation()},"onClick"),children:(0,t.jsx)(K,{size:"xs",variant:"outline",onClick:a(()=>I(u),"onClick"),children:"Set up"})})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3 shrink-0",children:[(0,t.jsx)("span",{className:"sm:hidden",children:r.has(e.id)?(0,t.jsx)(O,{agentRef:l?$(l):e.id,runId:r.get(e.id).runId,liveCount:r.get(e.id).liveCount}):(0,t.jsx)(D,{status:e.status})}),(0,t.jsxs)("div",{className:"hidden sm:flex items-center gap-3",children:[r.has(e.id)&&(0,t.jsx)(O,{agentRef:l?$(l):e.id,runId:r.get(e.id).runId,liveCount:r.get(e.id).liveCount}),l&&(0,t.jsx)("div",{className:"hidden xl:flex items-center gap-3",children:(0,t.jsx)(he,{agent:l,environment:m?me:o.get(l.id)??z,showEnvironment:N})}),(0,t.jsx)("span",{className:"w-20 flex justify-end",children:(0,t.jsx)(D,{status:e.status})})]})]})]}),e.reports&&e.reports.length>0&&(0,t.jsx)("div",{className:"border-l border-border ml-4",children:e.reports.map(h=>(0,t.jsx)(fe,{node:h,depth:n+1,agentMap:i,liveRunByAgent:r,environmentByAgentId:o,environmentDataLoading:m,showEnvironment:N,tab:v,memberships:S,builtInByAgentId:w,onConfigureBuiltIn:I},h.id))})]})}a(fe,"OrgTreeNode");function he({agent:e,environment:n,showEnvironment:i}){const r=nt(e),o=Ue(e.adapterType);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"w-44 min-w-0 leading-tight",children:[(0,t.jsx)("div",{className:"truncate font-mono text-xs text-muted-foreground",title:r??void 0,children:r??"—"}),(0,t.jsx)("div",{className:"truncate font-mono text-(length:--text-micro) text-muted-foreground/70",title:o,children:o})]}),i&&(0,t.jsxs)("div",{className:"w-44 min-w-0 leading-tight",children:[(0,t.jsx)("div",{className:"truncate text-xs text-muted-foreground",title:n.title,children:n.label}),(0,t.jsx)("div",{className:"truncate text-(length:--text-micro) text-muted-foreground/70",children:n.detail})]}),(0,t.jsx)("span",{className:"w-24 whitespace-nowrap text-right text-xs text-muted-foreground",children:e.lastHeartbeatAt?_e(e.lastHeartbeatAt):"—"})]})}a(he,"AgentMetaColumns");function O({agentRef:e,runId:n,liveCount:i}){return(0,t.jsxs)(ie,{to:`/agents/${e}/runs/${n}`,className:"flex items-center gap-1.5 px-2 py-0.5 rounded-full bg-blue-500/10 hover:bg-blue-500/20 transition-colors no-underline",onClick:a(r=>r.stopPropagation(),"onClick"),children:[(0,t.jsxs)("span",{className:"relative flex h-2 w-2",children:[(0,t.jsx)("span",{className:"animate-pulse absolute inline-flex h-full w-full rounded-full bg-blue-400 opacity-75"}),(0,t.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-blue-500"})]}),(0,t.jsxs)("span",{className:"text-(length:--text-micro) font-medium text-blue-600 dark:text-blue-400",children:["Live",i>1?` (${i})`:""]})]})}a(O,"LiveRunIndicator");export{wt as Agents};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BVwUuuxT.js","assets/rolldown-runtime-ZpX3ckPj.js","assets/agent-avatar-url-Dp-4-Emx.js","assets/preload-helper-CceJXRIF.js","assets/BreadcrumbContext-CIC8QOSJ.js","assets/label-CKJXPwWx.js","assets/mention-chips-BovBgzq0.js","assets/dist-DNeg6Olm.js","assets/dist-BoN0lntx.js","assets/checkbox-DVrU8RYw.js","assets/check-AN9f-5s7.js","assets/clipboard-Bj1LrAus.js","assets/RoutineRunVariablesDialog-TmqPj_PL.js","assets/alert-dialog-Cgn1_GT7.js","assets/AgentAvatar-Cy7DadMK.js","assets/MarkdownEditor-nPcj3w4g.js","assets/dist-qobNlkwf.js","assets/dist-BhxPxuMy.js","assets/StatusIcon-PIDWeOS3.js","assets/badge-B6lcLGFG.js","assets/bot-BIsZWSPn.js","assets/select-DIma4_VX.js","assets/ToastContext-B6w8XXdu.js","assets/sheet-C9tsiOQC.js","assets/heartbeats-BoD7FLml.js","assets/useHiddenSettings-Be7MTSIM.js","assets/health-DXJ-aWLi.js","assets/rotate-ccw-B7ntLtp4.js","assets/environments-CnsaRGwX.js","assets/input-BGjNwUvf.js","assets/company-members-B3Kl56Wi.js","assets/card-Byu34cBe.js","assets/EmptyState-Dvu_j1Dk.js","assets/PageSkeleton-B858kNMV.js","assets/skeleton-CyS6Uq5n.js","assets/tabs-nc-7quf8.js","assets/use-adapter-capabilities-DiUfxjZz.js","assets/use-copy-action-RWCAx8p8.js","assets/arrow-right-Dblp-MTW.js","assets/external-link-DJ5KXpF5.js","assets/MarkdownBody-Dh6kczcO.js","assets/file-text-BqJfYVg5.js","assets/index-C8wuDMl2.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
var Ie=Object.defineProperty;var a=(e,n)=>Ie(e,"name",{value:n,configurable:!0});import{i as ae}from"./rolldown-runtime-ZpX3ckPj.js";import{B as re,Ba as Ae,G as T,Ha as Ce,St as b,ht as Se,oa as j,ut as Ee,vi as _e,z as $}from"./agent-avatar-url-Dp-4-Emx.js";import{t as Le}from"./preload-helper-CceJXRIF.js";import{Ln as Me,ct as Te,f as ke,i as K,n as qe,r as ee,s as ie,yt as Pe}from"./BreadcrumbContext-CIC8QOSJ.js";import{m as le}from"./alert-dialog-Cgn1_GT7.js";import{t as oe}from"./AgentAvatar-Cy7DadMK.js";import{t as Be}from"./tabs-nc-7quf8.js";import{t as te}from"./bot-BIsZWSPn.js";import{i as Fe,o as Re,t as $e}from"./heartbeats-BoD7FLml.js";import{i as Ke,n as De,t as se}from"./environments-CnsaRGwX.js";import{t as ne}from"./EmptyState-Dvu_j1Dk.js";import{t as Oe}from"./PageSkeleton-B858kNMV.js";import{Dt as ze,Ft as D,Gt as Ve,Kt as ce,Lt as Ge,Rt as He,Vt as Ue,Wt as Qe,Xt as We,Yt as ue,Zt as Xe,qt as Ye}from"./index-BVwUuuxT.js";var d=ae(Ce(),1),t=ae(Ae(),1),de=_e,Ze=(0,d.lazy)(()=>Le(()=>import("./index-BVwUuuxT.js").then(e=>e.gt).then(e=>({default:e.ConfigureBuiltInAgentModal})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42]))),Je=["all","active","paused","error","builtin"],et=[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"paused",label:"Paused"},{value:"error",label:"Error"},{value:"builtin",label:"Built-in"}];function tt(e){return Je.includes(e)}a(tt,"isFilterTab");var z={label:"Local",detail:"Paperclip host",title:"Local - Paperclip host"},me={label:"—",detail:"Loading environment",title:"Loading environment"},pe=new Set(["terminated","pending_approval"]);function ge(e,n){return n==="all"?!0:n==="active"?e==="active"||e==="running"||e==="idle":n==="paused"?e==="paused":n==="error"?e==="error":!0}a(ge,"matchesFilter");function st(e,n,i){return e.filter(r=>pe.has(r.status)?!1:n==="builtin"?i.has(r.id):ge(r.status,n)).sort((r,o)=>r.name.localeCompare(o.name))}a(st,"filterAgents");function nt(e){const n=e.adapterConfig?.model;if(typeof n!="string")return null;const i=n.trim();return i.length>0?i:null}a(nt,"getConfiguredModel");function at(e){return e==="ssh"?"SSH":e.charAt(0).toUpperCase()+e.slice(1)}a(at,"formatEnvironmentDriver");function rt(e,n){const i=typeof e.config.provider=="string"?e.config.provider.trim():"";return i?n?.sandboxProviders?.[i]?.displayName??i:"Sandbox"}a(rt,"getSandboxProviderLabel");function it(e,n){const i=Ge(e)?"Managed by Paperclip":e.driver==="sandbox"?`${rt(e,n)} sandbox provider`:e.driver==="local"?"Paperclip host":at(e.driver);return{label:e.name,detail:i,title:`${e.name} - ${i}`}}a(it,"describeEnvironment");function lt(e){return{label:"Unknown environment",detail:e.slice(0,8),title:`Unknown environment - ${e}`}}a(lt,"describeMissingEnvironment");function ot(e,n,i,r){const o=e.defaultEnvironmentId??i;if(!o)return z;const m=n.get(o);return m?it(m,r):lt(o)}a(ot,"resolveAgentEnvironment");function xe(e,n,i){return e.reduce((r,o)=>{const m=xe(o.reports,n,i);return pe.has(o.status)?(r.push(...m),r):(((n==="builtin"?i.has(o.id):ge(o.status,n))||m.length>0)&&r.push({...o,reports:m}),r)},[]).sort((r,o)=>r.name.localeCompare(o.name))}a(xe,"filterOrgTree");function wt(){const{selectedCompanyId:e}=Se(),{openNewAgent:n}=Fe(),{setBreadcrumbs:i}=qe(),r=ke(),o=Me(),{isMobile:m}=Ke(),N=o.pathname.split("/").pop()??"all",v=tt(N)?N:"all",[S,w]=(0,d.useState)("org"),I=m,l=I?"list":S,{data:u}=j({queryKey:b.instance.settings,queryFn:a(()=>De.get(),"queryFn"),enabled:!!e}),p=u?.experimental.enableBuiltInAgents===!0,f=v==="builtin"&&!p?"all":v,k=(0,d.useMemo)(()=>et.filter(s=>s.value!=="builtin"||p),[p]),{data:h}=j({queryKey:b.builtInAgents.list(e),queryFn:a(()=>We.list(e),"queryFn"),enabled:!!e&&p}),E=(0,d.useMemo)(()=>{const s=new Map;if(!p)return s;for(const c of h??[])c.agentId&&s.set(c.agentId,c);return s},[h,p]),V=(0,d.useMemo)(()=>new Set(E.keys()),[E]),[q,P]=(0,d.useState)(null),{data:g,isLoading:ve,error:G}=j({queryKey:b.agents.list(e),queryFn:a(()=>ee.list(e),"queryFn"),enabled:!!e}),{data:A}=j({queryKey:b.org(e),queryFn:a(()=>ee.org(e),"queryFn"),enabled:!!e&&l==="org"}),_=u?.experimental.enableEnvironments===!0,{data:C}=j({queryKey:b.environments.list(e),queryFn:a(()=>se.list(e),"queryFn"),enabled:!!e&&_}),{data:H}=j({queryKey:b.environments.capabilities(e),queryFn:a(()=>se.capabilities(e),"queryFn"),enabled:!!e&&_}),U=[...b.liveRuns(e),"agents-page"],B=Ve({companyId:e,resourceKey:"live-runs:agents-page",queryKey:U,enabled:!!e,refetchInterval:15e3,leaderOnly:!0}),{data:F,dataUpdatedAt:be}=j({queryKey:U,queryFn:a(()=>$e.liveRunsForCompany(e),"queryFn"),enabled:B.enabled,refetchInterval:B.refetchInterval});Qe(B,F,be);const Q=Ye(e),L=(0,d.useMemo)(()=>{const s=new Map;for(const c of F??[]){if(c.status!=="running"&&c.status!=="queued")continue;const x=s.get(c.agentId);if(x){x.liveCount+=1;continue}s.set(c.agentId,{runId:c.id,liveCount:1})}return s},[F]),je=(0,d.useMemo)(()=>{const s=new Map;for(const c of g??[])s.set(c.id,c);return s},[g]),W=(0,d.useMemo)(()=>{const s=new Map;for(const c of C??[])s.set(c.id,c);return s},[C]),X=(0,d.useMemo)(()=>{const s=new Map;for(const c of g??[])s.set(c.id,ot(c,W,u?.defaultEnvironmentId??null,H));return s},[g,W,H,u?.defaultEnvironmentId]);if((0,d.useEffect)(()=>{i([{label:"Agents"}])},[i]),(0,d.useEffect)(()=>{e&&v==="builtin"&&u&&!p&&r("/agents/all",{replace:!0})},[p,u,r,v,e]),!e)return(0,t.jsx)(ne,{icon:te,message:"Select a company to view agents."});if(ve)return(0,t.jsx)(Oe,{variant:"list"});const y=st(g??[],f,V),R=xe(A??[],f,V),Y=_&&C===void 0,Z=_&&(C===void 0||C.length>1),ye=a(s=>Y?me:X.get(s)??z,"resolveRenderedEnvironment"),Ne=a(s=>{const c=s.orgChainHealth?.status==="invalid_org_chain",x=E.get(s.id),we=x?.status==="needs_setup"||x?.status==="pending_approval",M=x&&we?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ue,{status:x.status}),x.status==="needs_setup"&&(0,t.jsx)("span",{onClick:a(J=>{J.preventDefault(),J.stopPropagation()},"onClick"),children:(0,t.jsx)(K,{size:"xs",variant:"outline",onClick:a(()=>P(x),"onClick"),children:"Set up"})})]}):null;return(0,t.jsx)(ze,{title:s.name,titleAccessory:(0,t.jsx)(Xe,{agentId:s.id,companyId:s.companyId}),titleClassName:"flex-1 xl:flex-none xl:w-56",titleTextClassName:"whitespace-normal break-words xl:truncate xl:whitespace-nowrap",subtitleClassName:"whitespace-normal break-words xl:truncate xl:whitespace-nowrap",subtitle:`${de[s.role]??s.role}${s.title?` - ${s.title}`:""}`,to:re(s),className:T("group",s.pausedAt&&f!=="paused"?"opacity-50":"",ce(Q.data,"agent",s.id)==="left"?"sm:text-foreground/55":""),leading:c?(0,t.jsx)(le,{className:"h-3.5 w-3.5 text-amber-500","aria-label":"Invalid reporting chain"}):(0,t.jsx)(oe,{agent:s,size:32}),secondaryRow:M?(0,t.jsx)("div",{className:"xl:hidden flex flex-wrap items-center gap-1.5",children:M}):void 0,meta:(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[M&&(0,t.jsx)("div",{className:"hidden xl:flex items-center gap-1.5",children:M}),(0,t.jsx)("div",{className:"hidden xl:flex items-center gap-3",children:(0,t.jsx)(he,{agent:s,environment:ye(s.id),showEnvironment:Z})})]}),metaSpacerClassName:"hidden xl:block",trailing:(0,t.jsx)("div",{className:"flex items-center gap-3",children:(0,t.jsxs)("div",{className:"hidden sm:flex items-center gap-3",children:[L.has(s.id)&&(0,t.jsx)(O,{agentRef:$(s),runId:L.get(s.id).runId,liveCount:L.get(s.id).liveCount}),(0,t.jsx)("span",{className:"w-20 flex justify-end",children:(0,t.jsx)(D,{status:s.status})})]})})},s.id)},"renderAgentRow");return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,t.jsx)(Be,{value:f,onValueChange:a(s=>r(`/agents/${s}`),"onValueChange"),children:(0,t.jsx)(Ue,{items:k,value:f,onValueChange:a(s=>r(`/agents/${s}`),"onValueChange")})}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[!I&&(0,t.jsxs)("div",{className:"flex items-center border border-border",role:"group","aria-label":"View mode",children:[(0,t.jsx)("button",{className:T("p-1.5 transition-colors",l==="list"?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50"),onClick:a(()=>w("list"),"onClick"),title:"List view","aria-label":"List view","aria-pressed":l==="list",children:(0,t.jsx)(Re,{className:"h-3.5 w-3.5"})}),(0,t.jsx)("button",{className:T("p-1.5 transition-colors",l==="org"?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50"),onClick:a(()=>w("org"),"onClick"),title:"Org chart view","aria-label":"Org chart view","aria-pressed":l==="org",children:(0,t.jsx)(Pe,{className:"h-3.5 w-3.5"})})]}),(0,t.jsxs)(K,{size:"sm",variant:"outline",onClick:n,children:[(0,t.jsx)(Te,{className:"h-3.5 w-3.5 mr-1.5"}),"New Agent"]})]})]}),y.length>0&&(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:[y.length," agent",y.length!==1?"s":""]}),G&&(0,t.jsx)("p",{className:"text-sm text-destructive",children:G.message}),g&&g.length===0&&(0,t.jsx)(ne,{icon:te,message:"Create your first agent to get started.",action:"New Agent",onAction:n}),l==="list"&&y.length>0&&(0,t.jsx)("div",{children:y.map(Ne)}),l==="list"&&g&&g.length>0&&y.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:"No agents match the selected status."}),l==="org"&&R.length>0&&(0,t.jsx)("div",{className:"py-1",children:R.map(s=>(0,t.jsx)(fe,{node:s,depth:0,agentMap:je,liveRunByAgent:L,environmentByAgentId:X,environmentDataLoading:Y,showEnvironment:Z,tab:f,memberships:Q.data,builtInByAgentId:E,onConfigureBuiltIn:P},s.id))}),l==="org"&&A&&A.length>0&&R.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:"No agents match the selected status."}),l==="org"&&A&&A.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:"No organizational hierarchy defined."}),q&&e&&(0,t.jsx)(d.Suspense,{fallback:null,children:(0,t.jsx)(Ze,{companyId:e,state:q,open:q!==null,onOpenChange:a(s=>{s||P(null)},"onOpenChange")})})]})}a(wt,"Agents");function fe({node:e,depth:n,agentMap:i,liveRunByAgent:r,environmentByAgentId:o,environmentDataLoading:m,showEnvironment:N,tab:v,memberships:S,builtInByAgentId:w,onConfigureBuiltIn:I}){const l=i.get(e.id),u=w.get(e.id),p=u?.status==="needs_setup"||u?.status==="pending_approval",f=!!(l&&l.orgChainHealth?.status==="invalid_org_chain"),k=ce(S,"agent",e.id);return(0,t.jsxs)("div",{style:{paddingLeft:n*24},children:[(0,t.jsxs)(ie,{to:l?re(l):`/agents/${e.id}`,className:T("group flex items-center gap-3 rounded-lg px-3 py-2 hover:bg-accent/50 transition-colors w-full text-left no-underline text-inherit",l?.pausedAt&&v!=="paused"&&"opacity-50",k==="left"&&"sm:text-foreground/55"),children:[f?(0,t.jsx)(le,{className:"h-3.5 w-3.5 shrink-0 text-amber-500","aria-label":"Invalid reporting chain"}):(0,t.jsx)(oe,{agent:l??e,size:24}),(0,t.jsxs)("div",{className:"flex-1 min-w-0 flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("div",{className:"min-w-(--sz-7rem) truncate",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:e.name}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground ml-2",children:[de[e.role]??e.role,l?.title?` - ${l.title}`:""]})]}),u&&p&&(0,t.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:[(0,t.jsx)(ue,{status:u.status}),u.status==="needs_setup"&&(0,t.jsx)("span",{onClick:a(h=>{h.preventDefault(),h.stopPropagation()},"onClick"),children:(0,t.jsx)(K,{size:"xs",variant:"outline",onClick:a(()=>I(u),"onClick"),children:"Set up"})})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3 shrink-0",children:[(0,t.jsx)("span",{className:"sm:hidden",children:r.has(e.id)?(0,t.jsx)(O,{agentRef:l?$(l):e.id,runId:r.get(e.id).runId,liveCount:r.get(e.id).liveCount}):(0,t.jsx)(D,{status:e.status})}),(0,t.jsxs)("div",{className:"hidden sm:flex items-center gap-3",children:[r.has(e.id)&&(0,t.jsx)(O,{agentRef:l?$(l):e.id,runId:r.get(e.id).runId,liveCount:r.get(e.id).liveCount}),l&&(0,t.jsx)("div",{className:"hidden xl:flex items-center gap-3",children:(0,t.jsx)(he,{agent:l,environment:m?me:o.get(l.id)??z,showEnvironment:N})}),(0,t.jsx)("span",{className:"w-20 flex justify-end",children:(0,t.jsx)(D,{status:e.status})})]})]})]}),e.reports&&e.reports.length>0&&(0,t.jsx)("div",{className:"border-l border-border ml-4",children:e.reports.map(h=>(0,t.jsx)(fe,{node:h,depth:n+1,agentMap:i,liveRunByAgent:r,environmentByAgentId:o,environmentDataLoading:m,showEnvironment:N,tab:v,memberships:S,builtInByAgentId:w,onConfigureBuiltIn:I},h.id))})]})}a(fe,"OrgTreeNode");function he({agent:e,environment:n,showEnvironment:i}){const r=nt(e),o=He(e.adapterType);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"w-44 min-w-0 leading-tight",children:[(0,t.jsx)("div",{className:"truncate font-mono text-xs text-muted-foreground",title:r??void 0,children:r??"—"}),(0,t.jsx)("div",{className:"truncate font-mono text-(length:--text-micro) text-muted-foreground/70",title:o,children:o})]}),i&&(0,t.jsxs)("div",{className:"w-44 min-w-0 leading-tight",children:[(0,t.jsx)("div",{className:"truncate text-xs text-muted-foreground",title:n.title,children:n.label}),(0,t.jsx)("div",{className:"truncate text-(length:--text-micro) text-muted-foreground/70",children:n.detail})]}),(0,t.jsx)("span",{className:"w-24 whitespace-nowrap text-right text-xs text-muted-foreground",children:e.lastHeartbeatAt?Ee(e.lastHeartbeatAt):"—"})]})}a(he,"AgentMetaColumns");function O({agentRef:e,runId:n,liveCount:i}){return(0,t.jsxs)(ie,{to:`/agents/${e}/runs/${n}`,className:"flex items-center gap-1.5 px-2 py-0.5 rounded-full bg-blue-500/10 hover:bg-blue-500/20 transition-colors no-underline",onClick:a(r=>r.stopPropagation(),"onClick"),children:[(0,t.jsxs)("span",{className:"relative flex h-2 w-2",children:[(0,t.jsx)("span",{className:"animate-pulse absolute inline-flex h-full w-full rounded-full bg-blue-400 opacity-75"}),(0,t.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-blue-500"})]}),(0,t.jsxs)("span",{className:"text-(length:--text-micro) font-medium text-blue-600 dark:text-blue-400",children:["Live",i>1?` (${i})`:""]})]})}a(O,"LiveRunIndicator");export{wt as Agents};
|