agentix-cli 0.73.0 → 0.75.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{App-LXQUWRY6.js → App-N2ZWRJKV.js} +2 -2
- package/dist/{ChatApp-PCVXNFEJ.js → ChatApp-PGQKQBHF.js} +2 -2
- package/dist/{agent-AJOPKBST.js → agent-UOOL6R4V.js} +2 -2
- package/dist/{board-dashboard-A56FT4U6.js → board-dashboard-CDBPGUU3.js} +436 -241
- package/dist/board-dashboard-CDBPGUU3.js.map +1 -0
- package/dist/{chunk-B45SJSFP.js → chunk-5B5J3WVW.js} +2 -2
- package/dist/{chunk-L43CVWCL.js → chunk-66VSATH3.js} +2 -2
- package/dist/{chunk-PVNDAEWC.js → chunk-6HPJKD3X.js} +2 -2
- package/dist/{chunk-U75OD25W.js → chunk-APYG4RB3.js} +2 -2
- package/dist/{chunk-GULZIVVA.js → chunk-BAPRRPNU.js} +2 -2
- package/dist/{chunk-PHG5FJOC.js → chunk-CUXYJNWT.js} +2 -2
- package/dist/chunk-CXZ4YDHJ.js +15 -0
- package/dist/{chunk-MQ5SG3VF.js.map → chunk-CXZ4YDHJ.js.map} +1 -1
- package/dist/{chunk-PNTFOROF.js → chunk-DIHLL45I.js} +26 -26
- package/dist/{chunk-PNTFOROF.js.map → chunk-DIHLL45I.js.map} +1 -1
- package/dist/{chunk-C555JABY.js → chunk-GZAGG3ES.js} +2 -2
- package/dist/{chunk-XBLL3T2F.js → chunk-IR2Q63IV.js} +2 -2
- package/dist/{chunk-D5BPN3JR.js → chunk-ISBM2C3D.js} +2 -2
- package/dist/{chunk-JKGWQNUL.js → chunk-JGEHN4VE.js} +2 -2
- package/dist/{chunk-6AUW7HPX.js → chunk-KEJOBB5E.js} +2 -2
- package/dist/{chunk-RR2P5FLW.js → chunk-L3MEAKL7.js} +2 -2
- package/dist/{chunk-UXH6IX7V.js → chunk-LWPRFAQX.js} +225 -214
- package/dist/chunk-LWPRFAQX.js.map +1 -0
- package/dist/{chunk-RF3HJHFP.js → chunk-OEUII2QP.js} +2 -2
- package/dist/{chunk-WMGB25WL.js → chunk-PUU2ESI2.js} +2 -2
- package/dist/{chunk-Y2425AFZ.js → chunk-S5JGQKON.js} +2 -2
- package/dist/{chunk-5QCFJ5GO.js → chunk-SKIDVXWG.js} +3 -3
- package/dist/chunk-SKIDVXWG.js.map +1 -0
- package/dist/{chunk-ZSIWNIUK.js → chunk-UBGQ7AOG.js} +2 -2
- package/dist/{chunk-73MVBAFG.js → chunk-WC4TPXD3.js} +2 -2
- package/dist/{chunk-XN4ZOLVQ.js → chunk-YZVX4RDY.js} +173 -172
- package/dist/chunk-YZVX4RDY.js.map +1 -0
- package/dist/cli.js +1 -1
- package/dist/client-5DVNJ4VZ.js +2 -0
- package/dist/config-A23CU2XT.js +2 -0
- package/dist/config-mutator-WDZ6F6Q4.js +2 -0
- package/dist/doctor-MVV47YVK.js +2 -0
- package/dist/index.d.ts +135 -0
- package/dist/index.js +1 -1
- package/dist/program-EHCDAWI7.js +2 -0
- package/dist/{promote-PWUCBE57.js → promote-KSYTHPYB.js} +2 -2
- package/dist/{query-U6QKWGAG.js → query-GRLLX7RG.js} +2 -2
- package/dist/{registry-SYY47NXH.js → registry-WJRF3D5H.js} +2 -2
- package/dist/{request-planner-BXU5GECQ.js → request-planner-G2NJIXQY.js} +2 -2
- package/dist/{review-candidates-TVVYKJ2K.js → review-candidates-F5QKVUQ4.js} +2 -2
- package/dist/{routing-O2WE73C7.js → routing-XIDQWGKT.js} +2 -2
- package/dist/schedule-tool-4I3QUXJK.js +2 -0
- package/dist/scheduler-LJ32FB5N.js +2 -0
- package/dist/{seat-OR5IXRA5.js → seat-DNI7G7B2.js} +2 -2
- package/dist/{select-LN4TSDRS.js → select-L45K2452.js} +2 -2
- package/dist/{set-enabled-6H3YQOVB.js → set-enabled-QNSLVBGT.js} +2 -2
- package/dist/{tool-U4PSEWS2.js → tool-544FGIJK.js} +2 -2
- package/dist/wiki-WWVSDXSX.js +2 -0
- package/package.json +1 -1
- package/dist/board-dashboard-A56FT4U6.js.map +0 -1
- package/dist/chunk-5QCFJ5GO.js.map +0 -1
- package/dist/chunk-MQ5SG3VF.js +0 -15
- package/dist/chunk-UXH6IX7V.js.map +0 -1
- package/dist/chunk-XN4ZOLVQ.js.map +0 -1
- package/dist/client-V7YJR55E.js +0 -2
- package/dist/config-HI4ECCSU.js +0 -2
- package/dist/config-mutator-OHXSKALT.js +0 -2
- package/dist/doctor-IAY3GUHJ.js +0 -2
- package/dist/program-IQVDNQS6.js +0 -2
- package/dist/schedule-tool-5CSP47M4.js +0 -2
- package/dist/scheduler-FBG6Q5L7.js +0 -2
- package/dist/wiki-YQFIR7HR.js +0 -2
- /package/dist/{App-LXQUWRY6.js.map → App-N2ZWRJKV.js.map} +0 -0
- /package/dist/{ChatApp-PCVXNFEJ.js.map → ChatApp-PGQKQBHF.js.map} +0 -0
- /package/dist/{agent-AJOPKBST.js.map → agent-UOOL6R4V.js.map} +0 -0
- /package/dist/{chunk-B45SJSFP.js.map → chunk-5B5J3WVW.js.map} +0 -0
- /package/dist/{chunk-L43CVWCL.js.map → chunk-66VSATH3.js.map} +0 -0
- /package/dist/{chunk-PVNDAEWC.js.map → chunk-6HPJKD3X.js.map} +0 -0
- /package/dist/{chunk-U75OD25W.js.map → chunk-APYG4RB3.js.map} +0 -0
- /package/dist/{chunk-GULZIVVA.js.map → chunk-BAPRRPNU.js.map} +0 -0
- /package/dist/{chunk-PHG5FJOC.js.map → chunk-CUXYJNWT.js.map} +0 -0
- /package/dist/{chunk-C555JABY.js.map → chunk-GZAGG3ES.js.map} +0 -0
- /package/dist/{chunk-XBLL3T2F.js.map → chunk-IR2Q63IV.js.map} +0 -0
- /package/dist/{chunk-D5BPN3JR.js.map → chunk-ISBM2C3D.js.map} +0 -0
- /package/dist/{chunk-JKGWQNUL.js.map → chunk-JGEHN4VE.js.map} +0 -0
- /package/dist/{chunk-6AUW7HPX.js.map → chunk-KEJOBB5E.js.map} +0 -0
- /package/dist/{chunk-RR2P5FLW.js.map → chunk-L3MEAKL7.js.map} +0 -0
- /package/dist/{chunk-RF3HJHFP.js.map → chunk-OEUII2QP.js.map} +0 -0
- /package/dist/{chunk-WMGB25WL.js.map → chunk-PUU2ESI2.js.map} +0 -0
- /package/dist/{chunk-Y2425AFZ.js.map → chunk-S5JGQKON.js.map} +0 -0
- /package/dist/{chunk-ZSIWNIUK.js.map → chunk-UBGQ7AOG.js.map} +0 -0
- /package/dist/{chunk-73MVBAFG.js.map → chunk-WC4TPXD3.js.map} +0 -0
- /package/dist/{client-V7YJR55E.js.map → client-5DVNJ4VZ.js.map} +0 -0
- /package/dist/{config-HI4ECCSU.js.map → config-A23CU2XT.js.map} +0 -0
- /package/dist/{config-mutator-OHXSKALT.js.map → config-mutator-WDZ6F6Q4.js.map} +0 -0
- /package/dist/{doctor-IAY3GUHJ.js.map → doctor-MVV47YVK.js.map} +0 -0
- /package/dist/{program-IQVDNQS6.js.map → program-EHCDAWI7.js.map} +0 -0
- /package/dist/{promote-PWUCBE57.js.map → promote-KSYTHPYB.js.map} +0 -0
- /package/dist/{query-U6QKWGAG.js.map → query-GRLLX7RG.js.map} +0 -0
- /package/dist/{registry-SYY47NXH.js.map → registry-WJRF3D5H.js.map} +0 -0
- /package/dist/{request-planner-BXU5GECQ.js.map → request-planner-G2NJIXQY.js.map} +0 -0
- /package/dist/{review-candidates-TVVYKJ2K.js.map → review-candidates-F5QKVUQ4.js.map} +0 -0
- /package/dist/{routing-O2WE73C7.js.map → routing-XIDQWGKT.js.map} +0 -0
- /package/dist/{schedule-tool-5CSP47M4.js.map → schedule-tool-4I3QUXJK.js.map} +0 -0
- /package/dist/{scheduler-FBG6Q5L7.js.map → scheduler-LJ32FB5N.js.map} +0 -0
- /package/dist/{seat-OR5IXRA5.js.map → seat-DNI7G7B2.js.map} +0 -0
- /package/dist/{select-LN4TSDRS.js.map → select-L45K2452.js.map} +0 -0
- /package/dist/{set-enabled-6H3YQOVB.js.map → set-enabled-QNSLVBGT.js.map} +0 -0
- /package/dist/{tool-U4PSEWS2.js.map → tool-544FGIJK.js.map} +0 -0
- /package/dist/{wiki-YQFIR7HR.js.map → wiki-WWVSDXSX.js.map} +0 -0
package/dist/cli.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{a as n}from"./chunk-
|
|
2
|
+
import{a as n}from"./chunk-YZVX4RDY.js";import"./chunk-JGEHN4VE.js";import"./chunk-GZAGG3ES.js";import"./chunk-UBGQ7AOG.js";import"./chunk-Z3IP66SL.js";import"./chunk-C4CDVE2E.js";import"./chunk-RKPAVWXF.js";import"./chunk-SZDACK6O.js";import"./chunk-GV7S5BAX.js";import"./chunk-GSX4NK2N.js";import"./chunk-LWPRFAQX.js";import"./chunk-SKIDVXWG.js";import"./chunk-ISBM2C3D.js";import"./chunk-BYJ3A55Y.js";import"./chunk-7XB2CVC3.js";import"./chunk-LQRBGQIR.js";import"./chunk-ZVP6GB4G.js";import"./chunk-WC4TPXD3.js";import"./chunk-AQASR6KR.js";import"./chunk-2D3RYIDU.js";import"./chunk-EKJG63EJ.js";import"./chunk-DIHLL45I.js";import"./chunk-OEUII2QP.js";import"./chunk-WP6KLXTP.js";import"./chunk-N6EWZGIX.js";import"./chunk-DP7RTNDM.js";import"./chunk-BAPRRPNU.js";import"./chunk-SFQUP3BP.js";import"./chunk-S5JGQKON.js";import"./chunk-2AXFYDWF.js";import"./chunk-76Z4VHDX.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import"./chunk-PUU2ESI2.js";import"./chunk-IR2Q63IV.js";import"./chunk-VWTBHLMX.js";import"./chunk-L3MEAKL7.js";import"./chunk-66VSATH3.js";import"./chunk-KA2UIZXG.js";import"./chunk-GQ76J72O.js";import"./chunk-ILEC3IAV.js";import"./chunk-J3SOEFRE.js";import"./chunk-SIU6STB2.js";import"./chunk-X5C5W3E4.js";import"./chunk-APYG4RB3.js";import"./chunk-MYVHVJWZ.js";import"./chunk-DWADWDMU.js";import"./chunk-23A5K5UW.js";import"./chunk-QD6IICK7.js";import"./chunk-CECHWYJ2.js";import"./chunk-5B5J3WVW.js";import"./chunk-KEJOBB5E.js";import"./chunk-WPNRDEHW.js";import"./chunk-2GIDVZ4H.js";import"./chunk-6HPJKD3X.js";import"./chunk-FX3D7YON.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-QOYAX2FT.js";import"./chunk-5MUJZODV.js";import"./chunk-7I7IEX4S.js";import"./chunk-JHCI6XCJ.js";import"./chunk-DSYKYZMT.js";import"./chunk-CXZ4YDHJ.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";var r=["SIGINT","SIGTERM"];function o(t=process){for(let i of r)t.on(i,()=>{t.listenerCount(i)<=1&&t.exit(0)})}o();async function s(){let t=await n();if(process.argv.slice(2).length===0){t.outputHelp();return}t.parse()}s();
|
|
3
3
|
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{A as h,B as i,D as j,t as a,u as b,v as c,w as d,x as e,y as f,z as g}from"./chunk-CXZ4YDHJ.js";import"./chunk-QIJLFPWE.js";j();export{a as INTEGRATION_KINDS,e as approvalsConfigSchema,d as callsSchema,c as cameraBotSchema,f as daemonConfigSchema,b as eventSubscriptionSchema,g as expandEnvVars,h as loadDaemonConfig,i as validateWorkspaces};
|
|
2
|
+
//# sourceMappingURL=config-A23CU2XT.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as a,c as b,d as c,e as d,f as e}from"./chunk-GZAGG3ES.js";import"./chunk-BYJ3A55Y.js";import"./chunk-CXZ4YDHJ.js";import"./chunk-QIJLFPWE.js";export{e as daemonVoiceCheck,b as doctor,a as runDoctorChecks,c as runNotificationChecks,d as runReminderChecks};
|
|
2
|
+
//# sourceMappingURL=doctor-MVV47YVK.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -3401,12 +3401,52 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
3401
3401
|
height: z.ZodDefault<z.ZodNumber>;
|
|
3402
3402
|
frameRate: z.ZodDefault<z.ZodNumber>;
|
|
3403
3403
|
maxSeconds: z.ZodDefault<z.ZodNumber>;
|
|
3404
|
+
/** An agent watching the phone camera. The bot keeps only the newest
|
|
3405
|
+
* frame; the agent gets one when asked, and every
|
|
3406
|
+
* frameIntervalSeconds when that is set. */
|
|
3407
|
+
bot: z.ZodDefault<z.ZodObject<{
|
|
3408
|
+
/** Seconds between frames the agent gets by itself. 0: only when asked
|
|
3409
|
+
* ("Look now" on the phone, or the agent's own `agentx camera look`).
|
|
3410
|
+
* Each frame handed over by itself is a turn of the agent, so keep
|
|
3411
|
+
* this high or off. */
|
|
3412
|
+
frameIntervalSeconds: z.ZodDefault<z.ZodNumber>;
|
|
3413
|
+
/** The agent's watch ends after this many minutes, whatever the phone does. */
|
|
3414
|
+
maxSessionMinutes: z.ZodDefault<z.ZodNumber>;
|
|
3415
|
+
/** Frames are shrunk so their longer side is at most this many pixels
|
|
3416
|
+
* before the agent sees them. */
|
|
3417
|
+
maxFrameEdge: z.ZodDefault<z.ZodNumber>;
|
|
3418
|
+
/** Keep the frame files in the agent's workspace after the share ends.
|
|
3419
|
+
* Off: every frame is deleted when the share ends. */
|
|
3420
|
+
keepFrames: z.ZodDefault<z.ZodBoolean>;
|
|
3421
|
+
}, "strip", z.ZodTypeAny, {
|
|
3422
|
+
frameIntervalSeconds: number;
|
|
3423
|
+
maxSessionMinutes: number;
|
|
3424
|
+
maxFrameEdge: number;
|
|
3425
|
+
keepFrames: boolean;
|
|
3426
|
+
}, {
|
|
3427
|
+
frameIntervalSeconds?: number | undefined;
|
|
3428
|
+
maxSessionMinutes?: number | undefined;
|
|
3429
|
+
maxFrameEdge?: number | undefined;
|
|
3430
|
+
keepFrames?: boolean | undefined;
|
|
3431
|
+
}>>;
|
|
3404
3432
|
}, "strip", z.ZodTypeAny, {
|
|
3433
|
+
bot: {
|
|
3434
|
+
frameIntervalSeconds: number;
|
|
3435
|
+
maxSessionMinutes: number;
|
|
3436
|
+
maxFrameEdge: number;
|
|
3437
|
+
keepFrames: boolean;
|
|
3438
|
+
};
|
|
3405
3439
|
width: number;
|
|
3406
3440
|
height: number;
|
|
3407
3441
|
frameRate: number;
|
|
3408
3442
|
maxSeconds: number;
|
|
3409
3443
|
}, {
|
|
3444
|
+
bot?: {
|
|
3445
|
+
frameIntervalSeconds?: number | undefined;
|
|
3446
|
+
maxSessionMinutes?: number | undefined;
|
|
3447
|
+
maxFrameEdge?: number | undefined;
|
|
3448
|
+
keepFrames?: boolean | undefined;
|
|
3449
|
+
} | undefined;
|
|
3410
3450
|
width?: number | undefined;
|
|
3411
3451
|
height?: number | undefined;
|
|
3412
3452
|
frameRate?: number | undefined;
|
|
@@ -3441,6 +3481,12 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
3441
3481
|
} | undefined;
|
|
3442
3482
|
};
|
|
3443
3483
|
camera: {
|
|
3484
|
+
bot: {
|
|
3485
|
+
frameIntervalSeconds: number;
|
|
3486
|
+
maxSessionMinutes: number;
|
|
3487
|
+
maxFrameEdge: number;
|
|
3488
|
+
keepFrames: boolean;
|
|
3489
|
+
};
|
|
3444
3490
|
width: number;
|
|
3445
3491
|
height: number;
|
|
3446
3492
|
frameRate: number;
|
|
@@ -3477,6 +3523,12 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
3477
3523
|
maxCallMinutes?: number | undefined;
|
|
3478
3524
|
} | undefined;
|
|
3479
3525
|
camera?: {
|
|
3526
|
+
bot?: {
|
|
3527
|
+
frameIntervalSeconds?: number | undefined;
|
|
3528
|
+
maxSessionMinutes?: number | undefined;
|
|
3529
|
+
maxFrameEdge?: number | undefined;
|
|
3530
|
+
keepFrames?: boolean | undefined;
|
|
3531
|
+
} | undefined;
|
|
3480
3532
|
width?: number | undefined;
|
|
3481
3533
|
height?: number | undefined;
|
|
3482
3534
|
frameRate?: number | undefined;
|
|
@@ -3613,6 +3665,12 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
3613
3665
|
} | undefined;
|
|
3614
3666
|
};
|
|
3615
3667
|
camera: {
|
|
3668
|
+
bot: {
|
|
3669
|
+
frameIntervalSeconds: number;
|
|
3670
|
+
maxSessionMinutes: number;
|
|
3671
|
+
maxFrameEdge: number;
|
|
3672
|
+
keepFrames: boolean;
|
|
3673
|
+
};
|
|
3616
3674
|
width: number;
|
|
3617
3675
|
height: number;
|
|
3618
3676
|
frameRate: number;
|
|
@@ -3751,6 +3809,12 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
3751
3809
|
maxCallMinutes?: number | undefined;
|
|
3752
3810
|
} | undefined;
|
|
3753
3811
|
camera?: {
|
|
3812
|
+
bot?: {
|
|
3813
|
+
frameIntervalSeconds?: number | undefined;
|
|
3814
|
+
maxSessionMinutes?: number | undefined;
|
|
3815
|
+
maxFrameEdge?: number | undefined;
|
|
3816
|
+
keepFrames?: boolean | undefined;
|
|
3817
|
+
} | undefined;
|
|
3754
3818
|
width?: number | undefined;
|
|
3755
3819
|
height?: number | undefined;
|
|
3756
3820
|
frameRate?: number | undefined;
|
|
@@ -4399,9 +4463,46 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
4399
4463
|
* AGENTX_DRAIN_TIMEOUT_MS env var, else 300 s. Keep the service
|
|
4400
4464
|
* manager's stop timeout above it, or it kills the daemon mid-wait. */
|
|
4401
4465
|
drainTimeoutSeconds: z.ZodOptional<z.ZodNumber>;
|
|
4466
|
+
/** Who may ask for "restart when idle", and what happens to the others.
|
|
4467
|
+
* Unset: any caller may, and onTimeout "restart" is honoured. */
|
|
4468
|
+
restart: z.ZodDefault<z.ZodObject<{
|
|
4469
|
+
/** Regular expression matched against the request's `by`. Requests
|
|
4470
|
+
* from anyone else are held until `window`, or refused when there
|
|
4471
|
+
* is no window. */
|
|
4472
|
+
allowBy: z.ZodOptional<z.ZodString>;
|
|
4473
|
+
/** Local time "HH:MM" at which held requests start an idle-only wait. */
|
|
4474
|
+
window: z.ZodOptional<z.ZodString>;
|
|
4475
|
+
/** How long that wait lasts before it gives up. */
|
|
4476
|
+
windowWaitMinutes: z.ZodDefault<z.ZodNumber>;
|
|
4477
|
+
/** Turn every request into an idle-only one: a wait that runs out
|
|
4478
|
+
* gives up instead of restarting over running work. */
|
|
4479
|
+
forbidOnTimeoutRestart: z.ZodDefault<z.ZodBoolean>;
|
|
4480
|
+
}, "strip", z.ZodTypeAny, {
|
|
4481
|
+
windowWaitMinutes: number;
|
|
4482
|
+
forbidOnTimeoutRestart: boolean;
|
|
4483
|
+
allowBy?: string | undefined;
|
|
4484
|
+
window?: string | undefined;
|
|
4485
|
+
}, {
|
|
4486
|
+
allowBy?: string | undefined;
|
|
4487
|
+
window?: string | undefined;
|
|
4488
|
+
windowWaitMinutes?: number | undefined;
|
|
4489
|
+
forbidOnTimeoutRestart?: boolean | undefined;
|
|
4490
|
+
}>>;
|
|
4402
4491
|
}, "strip", z.ZodTypeAny, {
|
|
4492
|
+
restart: {
|
|
4493
|
+
windowWaitMinutes: number;
|
|
4494
|
+
forbidOnTimeoutRestart: boolean;
|
|
4495
|
+
allowBy?: string | undefined;
|
|
4496
|
+
window?: string | undefined;
|
|
4497
|
+
};
|
|
4403
4498
|
drainTimeoutSeconds?: number | undefined;
|
|
4404
4499
|
}, {
|
|
4500
|
+
restart?: {
|
|
4501
|
+
allowBy?: string | undefined;
|
|
4502
|
+
window?: string | undefined;
|
|
4503
|
+
windowWaitMinutes?: number | undefined;
|
|
4504
|
+
forbidOnTimeoutRestart?: boolean | undefined;
|
|
4505
|
+
} | undefined;
|
|
4405
4506
|
drainTimeoutSeconds?: number | undefined;
|
|
4406
4507
|
}>>;
|
|
4407
4508
|
/** What happens to runs a restart cuts off (agents/resume). Chat messages
|
|
@@ -6454,6 +6555,12 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
6454
6555
|
} | undefined;
|
|
6455
6556
|
};
|
|
6456
6557
|
camera: {
|
|
6558
|
+
bot: {
|
|
6559
|
+
frameIntervalSeconds: number;
|
|
6560
|
+
maxSessionMinutes: number;
|
|
6561
|
+
maxFrameEdge: number;
|
|
6562
|
+
keepFrames: boolean;
|
|
6563
|
+
};
|
|
6457
6564
|
width: number;
|
|
6458
6565
|
height: number;
|
|
6459
6566
|
frameRate: number;
|
|
@@ -6576,6 +6683,12 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
6576
6683
|
notifyAgent: boolean;
|
|
6577
6684
|
};
|
|
6578
6685
|
shutdown: {
|
|
6686
|
+
restart: {
|
|
6687
|
+
windowWaitMinutes: number;
|
|
6688
|
+
forbidOnTimeoutRestart: boolean;
|
|
6689
|
+
allowBy?: string | undefined;
|
|
6690
|
+
window?: string | undefined;
|
|
6691
|
+
};
|
|
6579
6692
|
drainTimeoutSeconds?: number | undefined;
|
|
6580
6693
|
};
|
|
6581
6694
|
reminders: {
|
|
@@ -7155,6 +7268,12 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
7155
7268
|
maxCallMinutes?: number | undefined;
|
|
7156
7269
|
} | undefined;
|
|
7157
7270
|
camera?: {
|
|
7271
|
+
bot?: {
|
|
7272
|
+
frameIntervalSeconds?: number | undefined;
|
|
7273
|
+
maxSessionMinutes?: number | undefined;
|
|
7274
|
+
maxFrameEdge?: number | undefined;
|
|
7275
|
+
keepFrames?: boolean | undefined;
|
|
7276
|
+
} | undefined;
|
|
7158
7277
|
width?: number | undefined;
|
|
7159
7278
|
height?: number | undefined;
|
|
7160
7279
|
frameRate?: number | undefined;
|
|
@@ -7276,6 +7395,12 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
7276
7395
|
notifyAgent?: boolean | undefined;
|
|
7277
7396
|
} | undefined;
|
|
7278
7397
|
shutdown?: {
|
|
7398
|
+
restart?: {
|
|
7399
|
+
allowBy?: string | undefined;
|
|
7400
|
+
window?: string | undefined;
|
|
7401
|
+
windowWaitMinutes?: number | undefined;
|
|
7402
|
+
forbidOnTimeoutRestart?: boolean | undefined;
|
|
7403
|
+
} | undefined;
|
|
7279
7404
|
drainTimeoutSeconds?: number | undefined;
|
|
7280
7405
|
} | undefined;
|
|
7281
7406
|
reminders?: {
|
|
@@ -8123,6 +8248,8 @@ declare class AgentXDaemon {
|
|
|
8123
8248
|
private github?;
|
|
8124
8249
|
private webrtc?;
|
|
8125
8250
|
private botManager?;
|
|
8251
|
+
/** Agents watching the phone camera (#325); needs channels.webrtc. */
|
|
8252
|
+
private cameraWatch?;
|
|
8126
8253
|
private workflowDispatcher?;
|
|
8127
8254
|
private workflowStore?;
|
|
8128
8255
|
private workflowRuns?;
|
|
@@ -8177,6 +8304,8 @@ declare class AgentXDaemon {
|
|
|
8177
8304
|
* address it was given, else notifications.channel (push or ntfy). */
|
|
8178
8305
|
private ownerSender;
|
|
8179
8306
|
/** In-flight work the drain waits for: local agent tasks + mesh forwards. */
|
|
8307
|
+
/** The runs in flight, oldest first: what a restart would cut off. */
|
|
8308
|
+
private runningSummaries;
|
|
8180
8309
|
private inflightCounts;
|
|
8181
8310
|
/** Set by start(): the same graceful path a SIGTERM takes. */
|
|
8182
8311
|
private requestShutdown?;
|
|
@@ -8287,6 +8416,12 @@ declare class AgentXDaemon {
|
|
|
8287
8416
|
* Focus holds a non-urgent one; the push goes through the router with
|
|
8288
8417
|
* its title as the first line, as `agentx notify` sends it. */
|
|
8289
8418
|
private createCallService;
|
|
8419
|
+
/** Agents watching the phone camera (#325 phase 2). The bot joins the
|
|
8420
|
+
* share as `bot:<agentId>` and always offers, since the phone only
|
|
8421
|
+
* answers. A frame the agent gets by itself is answered where the
|
|
8422
|
+
* share's session lives: a chat channel, or the dashboard's Ask
|
|
8423
|
+
* history for the voice session a share the owner started runs in. */
|
|
8424
|
+
private createCameraWatch;
|
|
8290
8425
|
/**
|
|
8291
8426
|
* Serve the minimal browser call page. Static HTML; no framework.
|
|
8292
8427
|
* The page does getUserMedia, RTCPeerConnection, and POSTs/listens signals.
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as L}from"./chunk-C245D4BZ.js";import{d as St,e as kt,f as vt,fa as Tt,g as xt,ga as Mt,h as $t,i as Ct,j as Pt,k as bt}from"./chunk-
|
|
1
|
+
import{a as L}from"./chunk-C245D4BZ.js";import{d as St,e as kt,f as vt,fa as Tt,g as xt,ga as Mt,h as $t,i as Ct,j as Pt,k as bt}from"./chunk-LWPRFAQX.js";import"./chunk-SKIDVXWG.js";import"./chunk-ISBM2C3D.js";import"./chunk-BYJ3A55Y.js";import"./chunk-7XB2CVC3.js";import"./chunk-LQRBGQIR.js";import"./chunk-ZVP6GB4G.js";import"./chunk-WC4TPXD3.js";import"./chunk-AQASR6KR.js";import"./chunk-2D3RYIDU.js";import"./chunk-EKJG63EJ.js";import{T as yt,k as lt,l as ct,m as dt,n as mt,o as pt}from"./chunk-DIHLL45I.js";import"./chunk-OEUII2QP.js";import"./chunk-WP6KLXTP.js";import"./chunk-N6EWZGIX.js";import"./chunk-DP7RTNDM.js";import{A as D,B as z,C as V,a as ye,b as we,c as Se,d as Ae,e as Ie,f as Oe,g as Ne,h as He,i as je,j as Ue,k as _e,l as I,m as q,n as Be,o as qe,p as Ye,q as O,r as ze,s as Ve,t as Xe,u as x,v as Y,w as Qe,x as Ze,y as et,z as wt}from"./chunk-BAPRRPNU.js";import{a as B,b as M,c as F}from"./chunk-SFQUP3BP.js";import"./chunk-S5JGQKON.js";import"./chunk-2AXFYDWF.js";import"./chunk-76Z4VHDX.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import{s as ut}from"./chunk-PUU2ESI2.js";import"./chunk-IR2Q63IV.js";import"./chunk-VWTBHLMX.js";import"./chunk-L3MEAKL7.js";import{a as ht}from"./chunk-66VSATH3.js";import"./chunk-KA2UIZXG.js";import"./chunk-GQ76J72O.js";import"./chunk-ILEC3IAV.js";import"./chunk-J3SOEFRE.js";import"./chunk-SIU6STB2.js";import"./chunk-X5C5W3E4.js";import"./chunk-APYG4RB3.js";import"./chunk-MYVHVJWZ.js";import"./chunk-DWADWDMU.js";import"./chunk-23A5K5UW.js";import"./chunk-QD6IICK7.js";import"./chunk-CECHWYJ2.js";import"./chunk-5B5J3WVW.js";import{f as gt,g as ft}from"./chunk-KEJOBB5E.js";import"./chunk-WPNRDEHW.js";import"./chunk-2GIDVZ4H.js";import{j as it,k as rt,l as at}from"./chunk-6HPJKD3X.js";import"./chunk-FX3D7YON.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-QOYAX2FT.js";import{a as ke,b as ve,c as xe,d as $e,e as Ce,f as Pe,g as be,h as Te,i as Me,j as Re,l as Ee,m as Ge,o as T,p as W}from"./chunk-5MUJZODV.js";import{a as m,b as G}from"./chunk-7I7IEX4S.js";import{b as Fe,c as Le,d as A,e as De}from"./chunk-JHCI6XCJ.js";import{a as Ke,b as Je,e as We}from"./chunk-DSYKYZMT.js";import{A as st,B as ot,D as nt,y as tt}from"./chunk-CXZ4YDHJ.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";W();G();import{execa as Rt}from"execa";import{existsSync as se,promises as X}from"fs";import S from"path";import ie from"node-fetch";async function Et(o,e){let t=o.split("/");if(t.length<2)throw new Error(`Invalid skill package ID: ${o}. Expected format: owner/repo`);let s=t[0],i=t[1],n=t[2];try{let a=n?`${s}/${i}/${n}`:`${s}/${i}`;await Rt("npx",["-y","skills","add",a],{cwd:e,stdio:"pipe"}),m.success(`Installed skill package: ${o}`);let r=S.resolve(e,".skills",`${s}_${i}`);if(se(r))return await ne(r,o);let d=S.resolve(e,".skills");return se(d)?await ne(d,o):[]}catch{return m.info(`Fetching skills directly from GitHub: ${s}/${i}`),await Gt(s,i,n,e)}}async function Gt(o,e,t,s){let i=[];try{let n=`https://api.github.com/repos/${o}/${e}/git/trees/main?recursive=1`,a=await ie(n);if(!a.ok)throw new Error(`GitHub API error: ${a.status}`);let d=(await a.json()).tree.filter(p=>p.type==="blob"&&p.path.endsWith("SKILL.md"));if(t){let p=d.find(f=>f.path.includes(`/${t}/`)||f.path===`${t}/SKILL.md`);if(p){let f=await oe(o,e,p.path,s);f&&i.push(f)}}else for(let p of d){let f=await oe(o,e,p.path,s);f&&i.push(f)}}catch(n){m.error(`Failed to fetch skills from GitHub: ${n.message}`)}return i}async function oe(o,e,t,s){try{let i=`https://raw.githubusercontent.com/${o}/${e}/main/${t}`,n=await ie(i);if(!n.ok)return null;let a=await n.text(),r=A(a);if(r){r.source="remote",r.packageId=`${o}/${e}`;let d=S.dirname(t),p=S.resolve(s,".skills",`${o}_${e}`,d);await X.mkdir(p,{recursive:!0}),await X.writeFile(S.resolve(p,"SKILL.md"),a),r.path=S.resolve(p,"SKILL.md")}return r}catch{return null}}async function ne(o,e){let t=[],{default:s}=await import("fast-glob"),i=await s.glob("**/SKILL.md",{cwd:o,deep:5});for(let n of i)try{let a=S.resolve(o,n),r=await X.readFile(a,"utf8"),d=A(r);d&&(d.source="remote",d.path=a,d.packageId=e,t.push(d))}catch{}return t}async function At(o,e,t,s,i){let n=["---",`name: ${o}`,`description: ${e}`];if(s?.length){n.push("tags:");for(let a of s)n.push(` - ${a}`)}if(i?.length){n.push("globs:");for(let a of i)n.push(` - ${a}`)}return n.push("---"),`${n.join(`
|
|
2
2
|
`)}
|
|
3
3
|
|
|
4
4
|
${t}`}async function It(o){let{loadLocalSkills:e}=await import("./loader-YFVSSYSL.js");return e(o)}async function Ot(o,e,t,s,i){let a=[{role:"system",content:`You are a skill author for the Agent Skills ecosystem (skills.sh).
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"./chunk-YZVX4RDY.js";import"./chunk-JGEHN4VE.js";import"./chunk-GZAGG3ES.js";import"./chunk-UBGQ7AOG.js";import"./chunk-Z3IP66SL.js";import"./chunk-C4CDVE2E.js";import"./chunk-RKPAVWXF.js";import"./chunk-SZDACK6O.js";import"./chunk-GV7S5BAX.js";import"./chunk-GSX4NK2N.js";import"./chunk-LWPRFAQX.js";import"./chunk-SKIDVXWG.js";import"./chunk-ISBM2C3D.js";import"./chunk-BYJ3A55Y.js";import"./chunk-7XB2CVC3.js";import"./chunk-LQRBGQIR.js";import"./chunk-ZVP6GB4G.js";import"./chunk-WC4TPXD3.js";import"./chunk-AQASR6KR.js";import"./chunk-2D3RYIDU.js";import"./chunk-EKJG63EJ.js";import"./chunk-DIHLL45I.js";import"./chunk-OEUII2QP.js";import"./chunk-WP6KLXTP.js";import"./chunk-N6EWZGIX.js";import"./chunk-DP7RTNDM.js";import"./chunk-BAPRRPNU.js";import"./chunk-SFQUP3BP.js";import"./chunk-S5JGQKON.js";import"./chunk-2AXFYDWF.js";import"./chunk-76Z4VHDX.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import"./chunk-PUU2ESI2.js";import"./chunk-IR2Q63IV.js";import"./chunk-VWTBHLMX.js";import"./chunk-L3MEAKL7.js";import"./chunk-66VSATH3.js";import"./chunk-KA2UIZXG.js";import"./chunk-GQ76J72O.js";import"./chunk-ILEC3IAV.js";import"./chunk-J3SOEFRE.js";import"./chunk-SIU6STB2.js";import"./chunk-X5C5W3E4.js";import"./chunk-APYG4RB3.js";import"./chunk-MYVHVJWZ.js";import"./chunk-DWADWDMU.js";import"./chunk-23A5K5UW.js";import"./chunk-QD6IICK7.js";import"./chunk-CECHWYJ2.js";import"./chunk-5B5J3WVW.js";import"./chunk-KEJOBB5E.js";import"./chunk-WPNRDEHW.js";import"./chunk-2GIDVZ4H.js";import"./chunk-6HPJKD3X.js";import"./chunk-FX3D7YON.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-QOYAX2FT.js";import"./chunk-5MUJZODV.js";import"./chunk-7I7IEX4S.js";import"./chunk-JHCI6XCJ.js";import"./chunk-DSYKYZMT.js";import"./chunk-CXZ4YDHJ.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{a as buildProgram};
|
|
2
|
+
//# sourceMappingURL=program-EHCDAWI7.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as a,c as b,d as c,e as d,f as e,g as f,h as g,i as h,j as i,k as j,l as k,m as l,n as m,o as n,p as o,q as p,r as q,s as r,t as s,u as t}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=promote-
|
|
1
|
+
import{b as a,c as b,d as c,e as d,f as e,g as f,h as g,i as h,j as i,k as j,l as k,m as l,n as m,o as n,p as o,q as p,r as q,s as r,t as s,u as t}from"./chunk-WC4TPXD3.js";import"./chunk-AQASR6KR.js";import"./chunk-DP7RTNDM.js";import"./chunk-2AXFYDWF.js";import"./chunk-66VSATH3.js";import"./chunk-CECHWYJ2.js";import"./chunk-KEJOBB5E.js";import"./chunk-WPNRDEHW.js";import"./chunk-6HPJKD3X.js";import"./chunk-FX3D7YON.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-QOYAX2FT.js";import"./chunk-5MUJZODV.js";import"./chunk-7I7IEX4S.js";import"./chunk-CXZ4YDHJ.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{b as DEFAULT_PROMOTE_TYPES,a as PROMOTER_OWNER,c as PROMOTION_LEDGER_FILE,j as appendPromotionLedger,s as approveProposal,n as callPromotionLlm,p as estimateTokens,r as evidenceFor,m as getUnpromotedMemories,k as groupCandidates,h as listAllAgentMemories,d as memoryKey,e as memoryStamp,g as mergeSources,f as parseMemoryStamp,l as parsePromotionResponse,i as readPromotionLedger,t as rejectProposal,o as runPromotion,q as sourceKind};
|
|
2
|
+
//# sourceMappingURL=promote-KSYTHPYB.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a,b,c}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=query-
|
|
1
|
+
import{a,b,c}from"./chunk-5B5J3WVW.js";import"./chunk-KEJOBB5E.js";import"./chunk-WPNRDEHW.js";import"./chunk-2GIDVZ4H.js";import"./chunk-6HPJKD3X.js";import"./chunk-FX3D7YON.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-QOYAX2FT.js";import"./chunk-5MUJZODV.js";import"./chunk-7I7IEX4S.js";import"./chunk-CXZ4YDHJ.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{b as DEFAULT_GRAPH_WEIGHT,a as agenticQuery,c as rankCatalogPool};
|
|
2
|
+
//# sourceMappingURL=query-GRLLX7RG.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=registry-
|
|
1
|
+
import{J as a,K as b,L as c,M as d,N as e,O as f,P as g,Q as h,R as i,S as j,T as k,U as l}from"./chunk-DIHLL45I.js";import"./chunk-OEUII2QP.js";import"./chunk-WP6KLXTP.js";import"./chunk-N6EWZGIX.js";import"./chunk-DP7RTNDM.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import"./chunk-PUU2ESI2.js";import"./chunk-IR2Q63IV.js";import"./chunk-VWTBHLMX.js";import"./chunk-L3MEAKL7.js";import"./chunk-66VSATH3.js";import"./chunk-KA2UIZXG.js";import"./chunk-GQ76J72O.js";import"./chunk-ILEC3IAV.js";import"./chunk-J3SOEFRE.js";import"./chunk-SIU6STB2.js";import"./chunk-X5C5W3E4.js";import"./chunk-APYG4RB3.js";import"./chunk-MYVHVJWZ.js";import"./chunk-DWADWDMU.js";import"./chunk-23A5K5UW.js";import"./chunk-QD6IICK7.js";import"./chunk-CECHWYJ2.js";import"./chunk-5B5J3WVW.js";import"./chunk-KEJOBB5E.js";import"./chunk-WPNRDEHW.js";import"./chunk-2GIDVZ4H.js";import"./chunk-6HPJKD3X.js";import"./chunk-FX3D7YON.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-QOYAX2FT.js";import"./chunk-5MUJZODV.js";import"./chunk-7I7IEX4S.js";import"./chunk-DSYKYZMT.js";import"./chunk-CXZ4YDHJ.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{k as AgentRegistry,f as TRACE_STEP_SUMMARY_BYTES,c as buildEntryMeta,d as buildEventDigest,e as buildWikiContext,g as clipForTrace,j as emitTraceStepsFromStreamEvent,i as firstMissingRequiredTool,b as getGlobalRegistry,l as richReplyPrompt,a as setGlobalRegistry,h as tallyToolUses};
|
|
2
|
+
//# sourceMappingURL=registry-WJRF3D5H.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{q as m,t as p,v as d,w as x}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=request-planner-
|
|
1
|
+
import{q as m,t as p,v as d,w as x}from"./chunk-6HPJKD3X.js";import"./chunk-FX3D7YON.js";import{a as u,f}from"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-5MUJZODV.js";import"./chunk-7I7IEX4S.js";import"./chunk-CXZ4YDHJ.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";x();f();var l="request-gate",h="request-context",g=.1;async function q(t,o,c,r=Math.random){let s=p(l)==="active";if(s){let i=m().seats[l]?.holdout??g;if(r()<i)return{active:!0,preprocess:!1,arm:"holdout"}}let a=s?"treatment":void 0,e=await d(l,{request:t.slice(0,2e3),agent:o,channel:c,operations:["select optional context","evaluate model routing where permitted"],constraints:["Keep the original request and mandatory instructions","Desktop model cannot be downgraded"]},{preprocess:u("This request benefits from structured context selection or another bounded typed decision before the main agent executes.",{true:"Relevant context must be selected, or a bounded routing decision can help. Follow-ups and ambiguous references need context.",false:"Typed preprocessing adds no useful decision; send the request to the configured main agent with existing context."})},{timeoutMs:3e3});if(!e||e.mode!=="active")return{active:!1,preprocess:!1,arm:a};let n=e.answers.preprocess?.noul;return{active:!0,preprocess:Number.isFinite(n)&&n>=.5,arm:a}}var v={landscape:"Agent directory and mesh overview",patternContext:"Learned behavioral patterns",references:"Retrieved project references",memoryContext:"Retrieved agent memory",crossChatContext:"Summaries from other conversations",longMemoryRecall:"Older conversation recall",wikiContext:"Retrieved wiki knowledge"};async function b(t){let o=Object.entries(v).flatMap(([e,n])=>{let i=t[e];return i?[{id:e,description:n,source:e,characters:i.length,preview:i.slice(0,400),trust:"context data, not instructions"}]:[]});if(!o.length)return{input:t,excluded:[]};let c=Object.fromEntries(o.map(e=>[e.id,u(`Context block ${e.id} is relevant to completing the current request correctly.`,{true:"Needed or potentially relevant; retain if uncertain or the preview is incomplete.",false:"Clearly unrelated to the current request; safe to omit."})])),r=await d(h,{request:t.message.slice(0,2e3),channel:t.channel,agent:t.agentId,mandatory:["request","identity","permissions and instructions","same-chat history","handover","attachments"],context:o},c,{timeoutMs:3e3});if(!r||r.mode!=="active")return{input:t,excluded:[]};let s={...t},a=[];for(let e of o){let n=r.answers[e.id]?.noul;Number.isFinite(n)&&n>=0&&n<.2&&(delete s[e.id],a.push(e.id))}return{input:s,excluded:a}}export{g as DEFAULT_REQUEST_GATE_HOLDOUT,h as REQUEST_CONTEXT_SEAT,l as REQUEST_GATE_SEAT,q as evaluateRequest,b as selectRequestContext};
|
|
2
|
+
//# sourceMappingURL=request-planner-G2NJIXQY.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as I}from"./chunk-
|
|
1
|
+
import{b as I}from"./chunk-ISBM2C3D.js";import"./chunk-WP6KLXTP.js";import"./chunk-2GIDVZ4H.js";import"./chunk-6HPJKD3X.js";import"./chunk-FX3D7YON.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-5MUJZODV.js";import"./chunk-7I7IEX4S.js";import"./chunk-CXZ4YDHJ.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";import{createHash as E}from"crypto";var v="review:",b={decisions:"project",warnings:"feedback",friction:"feedback",context:"reference"};function A(t,n,r){let s=E("sha1").update(r.trim().toLowerCase()).digest("hex").slice(0,10);return`${v}${t}/${n}@${s}`}function F(t){if(!t.startsWith(v))return null;let n=t.slice(v.length),r=n.lastIndexOf("@"),s=n.lastIndexOf("/",r===-1?void 0:r);return r===-1||s===-1?null:{reviewId:n.slice(0,s),kind:n.slice(s+1,r),digest:n.slice(r+1)}}var C=t=>t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,48)||"finding",L=5;function T(t,n){return`${t}|${I(n)}`}function K(t,n={}){let r=n.kinds??Object.keys(b),s=n.minLength??24,h=[],d=new Map,u=new Map,f=new Map,x=new Map;for(let e of t){let i;try{i=JSON.parse(e.result)}catch{continue}let o=e.updated_at?new Date(e.updated_at).toISOString():new Date().toISOString();for(let c of r){let l=b[c];if(!l)continue;let R=i[c];if(Array.isArray(R))for(let $ of R){let a=String($?.text??"").trim();if(a.length<s)continue;let g=A(e.id,c,a),_=g.slice(g.lastIndexOf("@")),w=`${c}${_}`,y=T(c,a),S=f.get(y)??new Set;if(S.add(e.session_id??e.id),f.set(y,S),d.has(w))continue;let O=String($?.evidence??"").trim(),k={occurrences:1,agentId:e.agent,key:`${e.agent}/${l}_${C(a)}`,stamp:g,memory:{name:C(a),type:l,description:a.slice(0,200),body:"",createdAt:o,updatedAt:o}};x.set(g,{text:a,evidence:O,agent:e.agent,source:e.source}),d.set(w,k),u.set(w,y),h.push(k)}}}for(let[e,i]of d){let o=f.get(u.get(e)??"");i.occurrences=o?.size??1,i.sessions=[...o??[]].slice(0,L);let c=x.get(i.stamp);i.memory.body=D(c,i.occurrences)}let m=new Map;for(let[e,i]of d){let o=u.get(e)??e,c=m.get(o)??[];c.push(i),m.set(o,c)}let M=[...m.values()].sort((e,i)=>i[0].occurrences-e[0].occurrences),p=[];for(let e=0;p.length<h.length;e++){let i=!1;for(let o of M)e<o.length&&(p.push(o[e]),i=!0);if(!i)break}return p}function D(t,n){let r=`${t.agent}${t.source?` via ${t.source}`:""}`,s=[];return n>1?(s.push(`Observed in ${n} separate sessions. Most recently stated as:`),s.push(`> ${t.text}`),s.push(`Recurring across ${n} sessions is what makes this worth recording \u2014 any single occurrence is session state, the repetition is the finding.`)):s.push(t.text),t.evidence&&s.push(`**Evidence:** ${t.evidence}`),s.push(`_From ${n>1?"session reviews":"a session review"} of ${r}._`),s.join(`
|
|
2
2
|
|
|
3
3
|
`)}export{L as MAX_EVIDENCE_SESSIONS,b as PROMOTABLE_KINDS,v as REVIEW_STAMP_PREFIX,F as parseReviewStamp,A as reviewStamp,K as reviewsToCandidates};
|
|
4
|
-
//# sourceMappingURL=review-candidates-
|
|
4
|
+
//# sourceMappingURL=review-candidates-F5QKVUQ4.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a,b}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=routing-
|
|
1
|
+
import{a,b}from"./chunk-APYG4RB3.js";import"./chunk-6HPJKD3X.js";import"./chunk-FX3D7YON.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-5MUJZODV.js";import"./chunk-7I7IEX4S.js";import"./chunk-CXZ4YDHJ.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{a as cheapModelForEngine,b as routeTaskModel};
|
|
2
|
+
//# sourceMappingURL=routing-XIDQWGKT.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b}from"./chunk-CUXYJNWT.js";import"./chunk-RKPAVWXF.js";import"./chunk-S5JGQKON.js";import"./chunk-PUU2ESI2.js";import"./chunk-IR2Q63IV.js";import"./chunk-FCPTN6NF.js";import"./chunk-7I7IEX4S.js";import"./chunk-CXZ4YDHJ.js";import"./chunk-QIJLFPWE.js";export{b as resolveScheduleCaller,a as runScheduleTool};
|
|
2
|
+
//# sourceMappingURL=schedule-tool-4I3QUXJK.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as a,o as b,p as c,q as d,r as e,s as f}from"./chunk-PUU2ESI2.js";import"./chunk-IR2Q63IV.js";import"./chunk-FCPTN6NF.js";import"./chunk-7I7IEX4S.js";import"./chunk-CXZ4YDHJ.js";import"./chunk-QIJLFPWE.js";export{a as AGENT_RUN_TIMEOUT_FLOOR,f as CronScheduler,b as agentRunTimeout,e as cronRunId,d as getNextCronDate,c as runLinkIds};
|
|
2
|
+
//# sourceMappingURL=scheduler-LJ32FB5N.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{o as a,p as b,q as c,r as d,s as e,t as f,u as g,v as h,w as i}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=seat-
|
|
1
|
+
import{o as a,p as b,q as c,r as d,s as e,t as f,u as g,v as h,w as i}from"./chunk-6HPJKD3X.js";import"./chunk-FX3D7YON.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-5MUJZODV.js";import"./chunk-7I7IEX4S.js";import"./chunk-CXZ4YDHJ.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";i();export{h as askSeat,a as configureDecisions,c as decisionsRuntime,f as getSeatMode,d as parseSeatMode,g as recordSeatOutcome,b as resetDecisionsRuntime,e as seatEnvVar};
|
|
2
|
+
//# sourceMappingURL=seat-DNI7G7B2.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{v as S,w}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=select-
|
|
1
|
+
import{v as S,w}from"./chunk-6HPJKD3X.js";import"./chunk-FX3D7YON.js";import{a as g,b as h,f as R}from"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-5MUJZODV.js";import"./chunk-7I7IEX4S.js";import{e as f}from"./chunk-JHCI6XCJ.js";import"./chunk-CXZ4YDHJ.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";w();R();var p="skill-select";function y(l){return{task:d(l.task,1200),...l.agent?{agent:l.agent}:{},skills:l.candidates.map(t=>({name:t.name,purpose:d(t.description,300),...t.category?{category:t.category}:{},...t.tags?.length?{tags:t.tags.slice(0,8)}:{}}))}}function b(l){let t={};for(let i of l)t[i.name]=d(i.description,300);return{anyRelevant:g("At least one of these skills is about the task at hand.",{true:"The task is the kind of work one of these skills exists for, and following it would change how the work is done \u2014 it names the same system, the same procedure or the same kind of artefact.",false:"None of them is about this task. They may share vocabulary with it, mention the same tools, or belong to the same project without bearing on what is being asked. Sharing words with a task is not being about it."}),best:h(t,"Which skill is this task most about?")}}function v(l){let t=l.anyRelevant,i=l.best,o=Object.entries(i.probabilities??{}).map(([e,s])=>({name:e,p:Number(s)||0})).sort((e,s)=>s.p-e.p);return{anyRelevant:t.noul,name:i.choice,confidence:i.confidence,ranked:o}}function d(l,t){return l.length>t?`${l.slice(0,t)}\u2026`:l}var x=.1,A=12;async function E(l,t,i={}){let o=i.minRelevant??.6,e=f(l,t).filter(n=>n.relevance>=x).slice(0,A),s=e.map(n=>({name:n.skill.frontmatter.name,lexical:n.relevance}));if(e.length===0)return{skill:null,anyRelevant:0,confidence:0,shortlist:s,judged:!1,reason:"no skill mentions anything in this task"};if(e.length===1)return{skill:e[0].skill,anyRelevant:e[0].relevance,confidence:e[0].relevance,shortlist:s,judged:!1,reason:`only ${e[0].skill.frontmatter.name} matched (${e[0].matchReason})`};let r=e.map(n=>({name:n.skill.frontmatter.name,description:n.skill.frontmatter.description,category:n.skill.frontmatter.category??null,tags:n.skill.frontmatter.tags})),m=await S(p,y({task:t,agent:i.agent??null,candidates:r}),b(r),{incumbent:{best:r[0].name},features:{agent:i.agent??"unknown",candidates:r.length}});if(!m)return{skill:e[0].skill,anyRelevant:e[0].relevance,confidence:e[0].relevance,shortlist:s,judged:!1,reason:`seat off \u2014 lexical top match (${e[0].matchReason})`};let a=v(m.answers),c=s.map(n=>({...n,p:a.ranked.find(k=>k.name===n.name)?.p??0})).sort((n,k)=>(k.p??0)-(n.p??0));if(a.anyRelevant<o)return{skill:null,anyRelevant:a.anyRelevant,confidence:a.confidence,shortlist:c,judged:!0,reason:`nothing on the shortlist is about this task (${a.anyRelevant.toFixed(2)} below ${o})`};let u=e.find(n=>n.skill.frontmatter.name===a.name);return u?{skill:u.skill,anyRelevant:a.anyRelevant,confidence:a.confidence,shortlist:c,judged:!0,reason:`${a.name} (confidence ${a.confidence.toFixed(2)})`}:{skill:null,anyRelevant:a.anyRelevant,confidence:a.confidence,shortlist:c,judged:!0,reason:`seat chose "${a.name}", which was not on the shortlist`}}export{E as pickSkillForTask};
|
|
2
|
+
//# sourceMappingURL=select-L45K2452.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as a}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=set-enabled-
|
|
1
|
+
import{b as a}from"./chunk-IR2Q63IV.js";import"./chunk-CXZ4YDHJ.js";import"./chunk-QIJLFPWE.js";async function i(o,r,s={}){let e=null,n=await a(l=>{let t=l.crons?.[o];if(t?r&&t.approval?.action==="create"?e={ok:!1,status:409,error:`schedule "${o}" is waiting for approval: agentx schedule approve ${o}`}:t.enabled===r&&(e={ok:!0,id:o,enabled:r,changed:!1}):e={ok:!1,status:404,error:`no schedule "${o}"`},e)throw new Error("no write");t.enabled=r,e={ok:!0,id:o,enabled:r,changed:!0}},{configPath:s.configPath,reload:!1});return e&&(!e.ok||!e.changed)?e:n.success?e??{ok:!1,status:500,error:"mutation did not run"}:{ok:!1,status:500,error:n.error||"could not write agentx.json"}}export{i as setCronEnabled};
|
|
2
|
+
//# sourceMappingURL=set-enabled-QNSLVBGT.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as p}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=tool-
|
|
1
|
+
import{b as p}from"./chunk-CUXYJNWT.js";import"./chunk-RKPAVWXF.js";import"./chunk-S5JGQKON.js";import"./chunk-PUU2ESI2.js";import"./chunk-IR2Q63IV.js";import"./chunk-FCPTN6NF.js";import"./chunk-7I7IEX4S.js";import"./chunk-CXZ4YDHJ.js";import"./chunk-QIJLFPWE.js";var f=new Set(["cron","heartbeat","api","a2a","mesh","approvals"]);function u(t){return typeof t=="string"?t.trim():""}async function y(t,i){let c=i.fetch??fetch,d=i.daemonUrl.replace(/\/$/,""),s=(u(t.action)||"create").toLowerCase(),r=p(t,i.env??process.env);if(s==="status"){let o=u(t.id);if(!o)return"Error: `id` is required for status (the card id you got when you raised it).";try{let n=await c(`${d}/approvals/${encodeURIComponent(o)}`,{signal:AbortSignal.timeout(1e4)}),a=await n.json().catch(()=>({}));if(!n.ok)return`Error: ${a?.error||`HTTP ${n.status}`}`;let e=a.card;return r&&e.raised_by!==r.agentId?`Error: card "${o}" was raised by another agent.`:e.status==="pending"?`Card ${e.id} is still waiting for the operator. It expires ${e.expires}; then "${e.if_silent}" applies.`:e.status==="decided"?`Card ${e.id}: the operator said ${String(e.verdict).toUpperCase()}.${e.note?` Note: ${e.note}`:""}`:`Card ${e.id} expired unanswered; the default applied: ${e.outcome??e.if_silent}.`}catch(n){return`Error: couldn't reach the daemon (${n?.message??n}).`}}if(s!=="create")return`Error: unknown action "${s}". Use create or status.`;if(!r)return"Error: couldn't tell which agent you are. Pass callerAgentId.";let l=r.channel&&r.chatId&&!f.has(r.channel)?{channel:r.channel,chatId:r.chatId,...r.accountId?{accountId:r.accountId}:{}}:void 0,h={title:t.title,ask:t.ask,recommend:t.recommend,if_silent:t.if_silent,expires:t.expires,source:t.source,raised_by:r.agentId,...l?{reply:l}:{}};try{let o=await c(`${d}/approvals`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(h),signal:AbortSignal.timeout(1e4)}),n=await o.json().catch(()=>({}));if(!o.ok)return`Error: ${n?.error||`HTTP ${o.status}`}`;let a=n.card;return[`Decision card ${a.id} is in the operator's Approvals inbox.`,`If nobody answers by ${a.expires}, "${a.if_silent}" applies.`,"You will get a message with the result. Tell the requester it is waiting for approval; don't ask the operator again in chat."].join(" ")}catch(o){return`Error: couldn't reach the daemon (${o?.message??o}).`}}export{y as runApprovalTool};
|
|
2
|
+
//# sourceMappingURL=tool-544FGIJK.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./chunk-VWTBHLMX.js";import{a as b}from"./chunk-L3MEAKL7.js";import{a}from"./chunk-66VSATH3.js";import"./chunk-CECHWYJ2.js";import{a as c}from"./chunk-5B5J3WVW.js";import"./chunk-KEJOBB5E.js";import"./chunk-WPNRDEHW.js";import"./chunk-2GIDVZ4H.js";import"./chunk-6HPJKD3X.js";import"./chunk-FX3D7YON.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-QOYAX2FT.js";import"./chunk-5MUJZODV.js";import"./chunk-7I7IEX4S.js";import"./chunk-CXZ4YDHJ.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{b as WikiHub,a as WikiStore,c as agenticQuery};
|
|
2
|
+
//# sourceMappingURL=wiki-WWVSDXSX.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentix-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.75.0",
|
|
4
4
|
"description": "AI operations layer for small and medium businesses. Routes Telegram, WhatsApp, GitLab, GitHub, crons, webhooks, and mesh tasks to AI agents. Web wizard for operators, CLI for engineers. Self-hosted.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|