@sift-wiki/conductor 0.0.0 → 0.2.0-beta.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/README.md +105 -1
- package/THIRD_PARTY_NOTICES.md +38 -0
- package/dist/adapters/claudeAgent.d.ts +23 -0
- package/dist/adapters/claudeAgent.js +164 -0
- package/dist/adapters/claudeAgent.js.map +1 -0
- package/dist/adapters/claudeParser.d.ts +5 -0
- package/dist/adapters/claudeParser.js +120 -0
- package/dist/adapters/claudeParser.js.map +1 -0
- package/dist/adapters/codexAgent.d.ts +28 -0
- package/dist/adapters/codexAgent.js +152 -0
- package/dist/adapters/codexAgent.js.map +1 -0
- package/dist/adapters/codexParser.d.ts +5 -0
- package/dist/adapters/codexParser.js +106 -0
- package/dist/adapters/codexParser.js.map +1 -0
- package/dist/adapters/config.d.ts +29 -0
- package/dist/adapters/config.js +286 -0
- package/dist/adapters/config.js.map +1 -0
- package/dist/adapters/doctor.d.ts +12 -0
- package/dist/adapters/doctor.js +20 -0
- package/dist/adapters/doctor.js.map +1 -0
- package/dist/adapters/errors.d.ts +7 -0
- package/dist/adapters/errors.js +19 -0
- package/dist/adapters/errors.js.map +1 -0
- package/dist/adapters/fakeAgent.d.ts +11 -0
- package/dist/adapters/fakeAgent.js +149 -0
- package/dist/adapters/fakeAgent.js.map +1 -0
- package/dist/adapters/httpAgent.d.ts +19 -0
- package/dist/adapters/httpAgent.js +164 -0
- package/dist/adapters/httpAgent.js.map +1 -0
- package/dist/adapters/output.d.ts +16 -0
- package/dist/adapters/output.js +48 -0
- package/dist/adapters/output.js.map +1 -0
- package/dist/adapters/processAgent.d.ts +21 -0
- package/dist/adapters/processAgent.js +166 -0
- package/dist/adapters/processAgent.js.map +1 -0
- package/dist/adapters/provider/discovery.d.ts +31 -0
- package/dist/adapters/provider/discovery.js +102 -0
- package/dist/adapters/provider/discovery.js.map +1 -0
- package/dist/adapters/provider/json.d.ts +4 -0
- package/dist/adapters/provider/json.js +21 -0
- package/dist/adapters/provider/json.js.map +1 -0
- package/dist/adapters/provider/lineStream.d.ts +8 -0
- package/dist/adapters/provider/lineStream.js +28 -0
- package/dist/adapters/provider/lineStream.js.map +1 -0
- package/dist/adapters/provider/outputSchemaFile.d.ts +5 -0
- package/dist/adapters/provider/outputSchemaFile.js +16 -0
- package/dist/adapters/provider/outputSchemaFile.js.map +1 -0
- package/dist/adapters/provider/prompt.d.ts +2 -0
- package/dist/adapters/provider/prompt.js +52 -0
- package/dist/adapters/provider/prompt.js.map +1 -0
- package/dist/adapters/provider/result.d.ts +23 -0
- package/dist/adapters/provider/result.js +116 -0
- package/dist/adapters/provider/result.js.map +1 -0
- package/dist/adapters/provider/runProvider.d.ts +16 -0
- package/dist/adapters/provider/runProvider.js +110 -0
- package/dist/adapters/provider/runProvider.js.map +1 -0
- package/dist/adapters/provider/setup.d.ts +50 -0
- package/dist/adapters/provider/setup.js +180 -0
- package/dist/adapters/provider/setup.js.map +1 -0
- package/dist/adapters/provider/store.d.ts +19 -0
- package/dist/adapters/provider/store.js +92 -0
- package/dist/adapters/provider/store.js.map +1 -0
- package/dist/adapters/provider/types.d.ts +58 -0
- package/dist/adapters/provider/types.js +2 -0
- package/dist/adapters/provider/types.js.map +1 -0
- package/dist/adapters/provider/version.d.ts +2 -0
- package/dist/adapters/provider/version.js +25 -0
- package/dist/adapters/provider/version.js.map +1 -0
- package/dist/adapters/types.d.ts +40 -0
- package/dist/adapters/types.js +2 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/bridge/handler.d.ts +15 -0
- package/dist/bridge/handler.js +125 -0
- package/dist/bridge/handler.js.map +1 -0
- package/dist/bridge/localBridge.d.ts +49 -0
- package/dist/bridge/localBridge.js +157 -0
- package/dist/bridge/localBridge.js.map +1 -0
- package/dist/bridge/server.d.ts +11 -0
- package/dist/bridge/server.js +86 -0
- package/dist/bridge/server.js.map +1 -0
- package/dist/bridge/sessionRegistry.d.ts +23 -0
- package/dist/bridge/sessionRegistry.js +65 -0
- package/dist/bridge/sessionRegistry.js.map +1 -0
- package/dist/cli.d.ts +23 -0
- package/dist/cli.js +245 -0
- package/dist/cli.js.map +1 -0
- package/dist/conductorClient.d.ts +443 -0
- package/dist/conductorClient.js +281 -0
- package/dist/conductorClient.js.map +1 -0
- package/dist/config.d.ts +9 -0
- package/dist/config.js +54 -0
- package/dist/config.js.map +1 -0
- package/dist/daemon.d.ts +52 -0
- package/dist/daemon.js +324 -0
- package/dist/daemon.js.map +1 -0
- package/dist/desktop/adapterSetupView.d.ts +16 -0
- package/dist/desktop/adapterSetupView.js +13 -0
- package/dist/desktop/adapterSetupView.js.map +1 -0
- package/dist/desktop/app/contracts.d.ts +71 -0
- package/dist/desktop/app/contracts.js +19 -0
- package/dist/desktop/app/contracts.js.map +1 -0
- package/dist/desktop/app/controller.d.ts +58 -0
- package/dist/desktop/app/controller.js +161 -0
- package/dist/desktop/app/controller.js.map +1 -0
- package/dist/desktop/app/runtimeController.d.ts +22 -0
- package/dist/desktop/app/runtimeController.js +44 -0
- package/dist/desktop/app/runtimeController.js.map +1 -0
- package/dist/desktop/manifest.d.ts +17 -0
- package/dist/desktop/manifest.js +24 -0
- package/dist/desktop/manifest.js.map +1 -0
- package/dist/desktop/pairing.d.ts +13 -0
- package/dist/desktop/pairing.js +20 -0
- package/dist/desktop/pairing.js.map +1 -0
- package/dist/desktop/recovery.d.ts +33 -0
- package/dist/desktop/recovery.js +71 -0
- package/dist/desktop/recovery.js.map +1 -0
- package/dist/desktop/workBoardView.d.ts +41 -0
- package/dist/desktop/workBoardView.js +133 -0
- package/dist/desktop/workBoardView.js.map +1 -0
- package/dist/desktop/workGovernanceView.d.ts +70 -0
- package/dist/desktop/workGovernanceView.js +159 -0
- package/dist/desktop/workGovernanceView.js.map +1 -0
- package/dist/localApi/authorizedPairing.d.ts +12 -0
- package/dist/localApi/authorizedPairing.js +18 -0
- package/dist/localApi/authorizedPairing.js.map +1 -0
- package/dist/localApi/contracts.d.ts +253 -0
- package/dist/localApi/contracts.js +173 -0
- package/dist/localApi/contracts.js.map +1 -0
- package/dist/localApi/server.d.ts +20 -0
- package/dist/localApi/server.js +412 -0
- package/dist/localApi/server.js.map +1 -0
- package/dist/localApi/workConsole.d.ts +74 -0
- package/dist/localApi/workConsole.js +342 -0
- package/dist/localApi/workConsole.js.map +1 -0
- package/dist/localApi/workContracts.d.ts +213 -0
- package/dist/localApi/workContracts.js +130 -0
- package/dist/localApi/workContracts.js.map +1 -0
- package/dist/localApp/platform.d.ts +2 -0
- package/dist/localApp/platform.js +57 -0
- package/dist/localApp/platform.js.map +1 -0
- package/dist/localApp/service.d.ts +25 -0
- package/dist/localApp/service.js +114 -0
- package/dist/localApp/service.js.map +1 -0
- package/dist/pairing.d.ts +27 -0
- package/dist/pairing.js +45 -0
- package/dist/pairing.js.map +1 -0
- package/dist/redaction.d.ts +2 -0
- package/dist/redaction.js +34 -0
- package/dist/redaction.js.map +1 -0
- package/dist/release/validateDistribution.d.ts +51 -0
- package/dist/release/validateDistribution.js +54 -0
- package/dist/release/validateDistribution.js.map +1 -0
- package/dist/runtime/localLogSpool.d.ts +47 -0
- package/dist/runtime/localLogSpool.js +105 -0
- package/dist/runtime/localLogSpool.js.map +1 -0
- package/dist/runtime/localRunQueue.d.ts +31 -0
- package/dist/runtime/localRunQueue.js +76 -0
- package/dist/runtime/localRunQueue.js.map +1 -0
- package/dist/runtime/localSessionCache.d.ts +26 -0
- package/dist/runtime/localSessionCache.js +35 -0
- package/dist/runtime/localSessionCache.js.map +1 -0
- package/dist/runtime/process.d.ts +27 -0
- package/dist/runtime/process.js +128 -0
- package/dist/runtime/process.js.map +1 -0
- package/dist/runtime/runEnvironment.d.ts +12 -0
- package/dist/runtime/runEnvironment.js +59 -0
- package/dist/runtime/runEnvironment.js.map +1 -0
- package/dist/runtime/runEventRetryBuffer.d.ts +42 -0
- package/dist/runtime/runEventRetryBuffer.js +118 -0
- package/dist/runtime/runEventRetryBuffer.js.map +1 -0
- package/dist/runtime/runtimeService.d.ts +27 -0
- package/dist/runtime/runtimeService.js +112 -0
- package/dist/runtime/runtimeService.js.map +1 -0
- package/dist/runtime/sleep.d.ts +2 -0
- package/dist/runtime/sleep.js +21 -0
- package/dist/runtime/sleep.js.map +1 -0
- package/dist/runtime/taskExecution.d.ts +16 -0
- package/dist/runtime/taskExecution.js +74 -0
- package/dist/runtime/taskExecution.js.map +1 -0
- package/dist/runtime/wakeEnvelope.d.ts +76 -0
- package/dist/runtime/wakeEnvelope.js +60 -0
- package/dist/runtime/wakeEnvelope.js.map +1 -0
- package/dist/types.d.ts +121 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/userAuth/service.d.ts +26 -0
- package/dist/userAuth/service.js +170 -0
- package/dist/userAuth/service.js.map +1 -0
- package/dist/userAuth/store.d.ts +42 -0
- package/dist/userAuth/store.js +160 -0
- package/dist/userAuth/store.js.map +1 -0
- package/dist/userAuth/types.d.ts +63 -0
- package/dist/userAuth/types.js +29 -0
- package/dist/userAuth/types.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/dist/workTypes.d.ts +313 -0
- package/dist/workTypes.js +106 -0
- package/dist/workTypes.js.map +1 -0
- package/dist-web/assets/index-CWfnzdLn.css +1 -0
- package/dist-web/assets/index-D5X9InfE.js +72 -0
- package/dist-web/index.html +15 -0
- package/docs/provider-setup.md +81 -0
- package/docs/quickstart.md +62 -0
- package/docs/troubleshooting.md +63 -0
- package/package.json +75 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/userAuth/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC;IACzC,cAAc;IACd,eAAe;IACf,aAAa;IACb,cAAc;IACd,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;CAChB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;CAC5C,CAAC,CAAC,MAAM,EAAE,CAAC;AAiCZ,MAAM,CAAC,MAAM,6BAA6B,GAAuC,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;IAC7G,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5K,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACtN,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;CACrW,CAAC,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const workTaskStatusSchema: z.ZodEnum<{
|
|
3
|
+
backlog: "backlog";
|
|
4
|
+
todo: "todo";
|
|
5
|
+
in_progress: "in_progress";
|
|
6
|
+
in_review: "in_review";
|
|
7
|
+
blocked: "blocked";
|
|
8
|
+
done: "done";
|
|
9
|
+
cancelled: "cancelled";
|
|
10
|
+
}>;
|
|
11
|
+
export declare const workTaskSchema: z.ZodObject<{
|
|
12
|
+
id: z.ZodString;
|
|
13
|
+
workspaceId: z.ZodString;
|
|
14
|
+
brainId: z.ZodString;
|
|
15
|
+
projectId: z.ZodOptional<z.ZodString>;
|
|
16
|
+
parentTaskId: z.ZodOptional<z.ZodString>;
|
|
17
|
+
title: z.ZodString;
|
|
18
|
+
bodyMarkdown: z.ZodString;
|
|
19
|
+
versionNumber: z.ZodNumber;
|
|
20
|
+
status: z.ZodEnum<{
|
|
21
|
+
backlog: "backlog";
|
|
22
|
+
todo: "todo";
|
|
23
|
+
in_progress: "in_progress";
|
|
24
|
+
in_review: "in_review";
|
|
25
|
+
blocked: "blocked";
|
|
26
|
+
done: "done";
|
|
27
|
+
cancelled: "cancelled";
|
|
28
|
+
}>;
|
|
29
|
+
priority: z.ZodEnum<{
|
|
30
|
+
critical: "critical";
|
|
31
|
+
high: "high";
|
|
32
|
+
medium: "medium";
|
|
33
|
+
low: "low";
|
|
34
|
+
}>;
|
|
35
|
+
assigneePrincipalId: z.ZodOptional<z.ZodString>;
|
|
36
|
+
checkoutRunId: z.ZodOptional<z.ZodString>;
|
|
37
|
+
contextRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
38
|
+
createdAt: z.ZodString;
|
|
39
|
+
updatedAt: z.ZodString;
|
|
40
|
+
}, z.core.$loose>;
|
|
41
|
+
export declare const workTaskCommentSchema: z.ZodObject<{
|
|
42
|
+
id: z.ZodString;
|
|
43
|
+
taskId: z.ZodString;
|
|
44
|
+
authorPrincipalId: z.ZodString;
|
|
45
|
+
runId: z.ZodOptional<z.ZodString>;
|
|
46
|
+
bodyMarkdown: z.ZodString;
|
|
47
|
+
createdAt: z.ZodString;
|
|
48
|
+
}, z.core.$loose>;
|
|
49
|
+
export declare const workArtifactSchema: z.ZodObject<{
|
|
50
|
+
id: z.ZodString;
|
|
51
|
+
taskId: z.ZodString;
|
|
52
|
+
runId: z.ZodOptional<z.ZodString>;
|
|
53
|
+
type: z.ZodString;
|
|
54
|
+
provider: z.ZodString;
|
|
55
|
+
title: z.ZodString;
|
|
56
|
+
url: z.ZodOptional<z.ZodString>;
|
|
57
|
+
brainRecordId: z.ZodOptional<z.ZodString>;
|
|
58
|
+
status: z.ZodEnum<{
|
|
59
|
+
pending: "pending";
|
|
60
|
+
ready: "ready";
|
|
61
|
+
failed: "failed";
|
|
62
|
+
superseded: "superseded";
|
|
63
|
+
}>;
|
|
64
|
+
reviewState: z.ZodEnum<{
|
|
65
|
+
pending: "pending";
|
|
66
|
+
none: "none";
|
|
67
|
+
approved: "approved";
|
|
68
|
+
rejected: "rejected";
|
|
69
|
+
revision_requested: "revision_requested";
|
|
70
|
+
}>;
|
|
71
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
72
|
+
metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
73
|
+
}, z.core.$loose>;
|
|
74
|
+
export declare const workApprovalSchema: z.ZodObject<{
|
|
75
|
+
id: z.ZodString;
|
|
76
|
+
taskId: z.ZodString;
|
|
77
|
+
type: z.ZodString;
|
|
78
|
+
status: z.ZodEnum<{
|
|
79
|
+
pending: "pending";
|
|
80
|
+
approved: "approved";
|
|
81
|
+
rejected: "rejected";
|
|
82
|
+
revision_requested: "revision_requested";
|
|
83
|
+
}>;
|
|
84
|
+
payload: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
85
|
+
decisionNote: z.ZodOptional<z.ZodString>;
|
|
86
|
+
}, z.core.$loose>;
|
|
87
|
+
export declare const workUsageDecisionSchema: z.ZodObject<{
|
|
88
|
+
usageEvent: z.ZodObject<{
|
|
89
|
+
id: z.ZodString;
|
|
90
|
+
runId: z.ZodString;
|
|
91
|
+
taskId: z.ZodString;
|
|
92
|
+
eventKey: z.ZodString;
|
|
93
|
+
costMicros: z.ZodNumber;
|
|
94
|
+
durationMs: z.ZodNumber;
|
|
95
|
+
}, z.core.$loose>;
|
|
96
|
+
effectiveLimits: z.ZodObject<{
|
|
97
|
+
maxRunMinutes: z.ZodOptional<z.ZodNumber>;
|
|
98
|
+
remainingCostMicros: z.ZodOptional<z.ZodNumber>;
|
|
99
|
+
hardStop: z.ZodBoolean;
|
|
100
|
+
}, z.core.$strip>;
|
|
101
|
+
hardStop: z.ZodBoolean;
|
|
102
|
+
}, z.core.$strip>;
|
|
103
|
+
export declare const workProjectSchema: z.ZodObject<{
|
|
104
|
+
id: z.ZodString;
|
|
105
|
+
name: z.ZodString;
|
|
106
|
+
description: z.ZodOptional<z.ZodString>;
|
|
107
|
+
status: z.ZodEnum<{
|
|
108
|
+
cancelled: "cancelled";
|
|
109
|
+
planned: "planned";
|
|
110
|
+
active: "active";
|
|
111
|
+
completed: "completed";
|
|
112
|
+
}>;
|
|
113
|
+
leadPrincipalId: z.ZodOptional<z.ZodString>;
|
|
114
|
+
contextRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
115
|
+
members: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
116
|
+
principalId: z.ZodString;
|
|
117
|
+
role: z.ZodEnum<{
|
|
118
|
+
lead: "lead";
|
|
119
|
+
member: "member";
|
|
120
|
+
reviewer: "reviewer";
|
|
121
|
+
}>;
|
|
122
|
+
}, z.core.$loose>>>;
|
|
123
|
+
updatedAt: z.ZodString;
|
|
124
|
+
}, z.core.$loose>;
|
|
125
|
+
export declare const workActivitySchema: z.ZodObject<{
|
|
126
|
+
id: z.ZodString;
|
|
127
|
+
action: z.ZodString;
|
|
128
|
+
entityType: z.ZodString;
|
|
129
|
+
entityId: z.ZodString;
|
|
130
|
+
taskId: z.ZodOptional<z.ZodString>;
|
|
131
|
+
runId: z.ZodOptional<z.ZodString>;
|
|
132
|
+
occurredAt: z.ZodString;
|
|
133
|
+
metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
134
|
+
}, z.core.$loose>;
|
|
135
|
+
export declare const workTaskDetailSchema: z.ZodObject<{
|
|
136
|
+
task: z.ZodObject<{
|
|
137
|
+
id: z.ZodString;
|
|
138
|
+
workspaceId: z.ZodString;
|
|
139
|
+
brainId: z.ZodString;
|
|
140
|
+
projectId: z.ZodOptional<z.ZodString>;
|
|
141
|
+
parentTaskId: z.ZodOptional<z.ZodString>;
|
|
142
|
+
title: z.ZodString;
|
|
143
|
+
bodyMarkdown: z.ZodString;
|
|
144
|
+
versionNumber: z.ZodNumber;
|
|
145
|
+
status: z.ZodEnum<{
|
|
146
|
+
backlog: "backlog";
|
|
147
|
+
todo: "todo";
|
|
148
|
+
in_progress: "in_progress";
|
|
149
|
+
in_review: "in_review";
|
|
150
|
+
blocked: "blocked";
|
|
151
|
+
done: "done";
|
|
152
|
+
cancelled: "cancelled";
|
|
153
|
+
}>;
|
|
154
|
+
priority: z.ZodEnum<{
|
|
155
|
+
critical: "critical";
|
|
156
|
+
high: "high";
|
|
157
|
+
medium: "medium";
|
|
158
|
+
low: "low";
|
|
159
|
+
}>;
|
|
160
|
+
assigneePrincipalId: z.ZodOptional<z.ZodString>;
|
|
161
|
+
checkoutRunId: z.ZodOptional<z.ZodString>;
|
|
162
|
+
contextRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
163
|
+
createdAt: z.ZodString;
|
|
164
|
+
updatedAt: z.ZodString;
|
|
165
|
+
}, z.core.$loose>;
|
|
166
|
+
comments: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
167
|
+
id: z.ZodString;
|
|
168
|
+
taskId: z.ZodString;
|
|
169
|
+
authorPrincipalId: z.ZodString;
|
|
170
|
+
runId: z.ZodOptional<z.ZodString>;
|
|
171
|
+
bodyMarkdown: z.ZodString;
|
|
172
|
+
createdAt: z.ZodString;
|
|
173
|
+
}, z.core.$loose>>>;
|
|
174
|
+
artifacts: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
175
|
+
id: z.ZodString;
|
|
176
|
+
taskId: z.ZodString;
|
|
177
|
+
runId: z.ZodOptional<z.ZodString>;
|
|
178
|
+
type: z.ZodString;
|
|
179
|
+
provider: z.ZodString;
|
|
180
|
+
title: z.ZodString;
|
|
181
|
+
url: z.ZodOptional<z.ZodString>;
|
|
182
|
+
brainRecordId: z.ZodOptional<z.ZodString>;
|
|
183
|
+
status: z.ZodEnum<{
|
|
184
|
+
pending: "pending";
|
|
185
|
+
ready: "ready";
|
|
186
|
+
failed: "failed";
|
|
187
|
+
superseded: "superseded";
|
|
188
|
+
}>;
|
|
189
|
+
reviewState: z.ZodEnum<{
|
|
190
|
+
pending: "pending";
|
|
191
|
+
none: "none";
|
|
192
|
+
approved: "approved";
|
|
193
|
+
rejected: "rejected";
|
|
194
|
+
revision_requested: "revision_requested";
|
|
195
|
+
}>;
|
|
196
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
197
|
+
metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
198
|
+
}, z.core.$loose>>>;
|
|
199
|
+
approvals: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
200
|
+
id: z.ZodString;
|
|
201
|
+
taskId: z.ZodString;
|
|
202
|
+
type: z.ZodString;
|
|
203
|
+
status: z.ZodEnum<{
|
|
204
|
+
pending: "pending";
|
|
205
|
+
approved: "approved";
|
|
206
|
+
rejected: "rejected";
|
|
207
|
+
revision_requested: "revision_requested";
|
|
208
|
+
}>;
|
|
209
|
+
payload: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
210
|
+
decisionNote: z.ZodOptional<z.ZodString>;
|
|
211
|
+
}, z.core.$loose>>>;
|
|
212
|
+
blockers: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
213
|
+
id: z.ZodString;
|
|
214
|
+
workspaceId: z.ZodString;
|
|
215
|
+
brainId: z.ZodString;
|
|
216
|
+
projectId: z.ZodOptional<z.ZodString>;
|
|
217
|
+
parentTaskId: z.ZodOptional<z.ZodString>;
|
|
218
|
+
title: z.ZodString;
|
|
219
|
+
bodyMarkdown: z.ZodString;
|
|
220
|
+
versionNumber: z.ZodNumber;
|
|
221
|
+
status: z.ZodEnum<{
|
|
222
|
+
backlog: "backlog";
|
|
223
|
+
todo: "todo";
|
|
224
|
+
in_progress: "in_progress";
|
|
225
|
+
in_review: "in_review";
|
|
226
|
+
blocked: "blocked";
|
|
227
|
+
done: "done";
|
|
228
|
+
cancelled: "cancelled";
|
|
229
|
+
}>;
|
|
230
|
+
priority: z.ZodEnum<{
|
|
231
|
+
critical: "critical";
|
|
232
|
+
high: "high";
|
|
233
|
+
medium: "medium";
|
|
234
|
+
low: "low";
|
|
235
|
+
}>;
|
|
236
|
+
assigneePrincipalId: z.ZodOptional<z.ZodString>;
|
|
237
|
+
checkoutRunId: z.ZodOptional<z.ZodString>;
|
|
238
|
+
contextRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
239
|
+
createdAt: z.ZodString;
|
|
240
|
+
updatedAt: z.ZodString;
|
|
241
|
+
}, z.core.$loose>>>;
|
|
242
|
+
projectContextRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
243
|
+
}, z.core.$loose>;
|
|
244
|
+
export type WorkTask = z.infer<typeof workTaskSchema>;
|
|
245
|
+
export type WorkTaskStatus = z.infer<typeof workTaskStatusSchema>;
|
|
246
|
+
export type WorkTaskComment = z.infer<typeof workTaskCommentSchema>;
|
|
247
|
+
export type WorkArtifact = z.infer<typeof workArtifactSchema>;
|
|
248
|
+
export type WorkApproval = z.infer<typeof workApprovalSchema>;
|
|
249
|
+
export type WorkUsageDecision = z.infer<typeof workUsageDecisionSchema>;
|
|
250
|
+
export type WorkDisposition = "done" | "in_review" | "blocked" | "cancelled";
|
|
251
|
+
export type WorkDispositionResponse = {
|
|
252
|
+
task: WorkTask;
|
|
253
|
+
job: Record<string, unknown>;
|
|
254
|
+
wake: Record<string, unknown>;
|
|
255
|
+
};
|
|
256
|
+
export type WorkChildTaskInput = {
|
|
257
|
+
title: string;
|
|
258
|
+
bodyMarkdown?: string | undefined;
|
|
259
|
+
priority?: "critical" | "high" | "medium" | "low" | undefined;
|
|
260
|
+
assigneePrincipalId: string;
|
|
261
|
+
contextRefs?: string[] | undefined;
|
|
262
|
+
};
|
|
263
|
+
export type WorkArtifactInput = {
|
|
264
|
+
type: string;
|
|
265
|
+
provider: string;
|
|
266
|
+
title: string;
|
|
267
|
+
url?: string | undefined;
|
|
268
|
+
brainRecordId?: string | undefined;
|
|
269
|
+
summary?: string | undefined;
|
|
270
|
+
metadata?: Record<string, unknown> | undefined;
|
|
271
|
+
idempotencyKey?: string | undefined;
|
|
272
|
+
};
|
|
273
|
+
export type WorkProject = z.infer<typeof workProjectSchema>;
|
|
274
|
+
export type WorkRoutine = {
|
|
275
|
+
id: string;
|
|
276
|
+
projectId?: string | undefined;
|
|
277
|
+
title: string;
|
|
278
|
+
assigneePrincipalId: string;
|
|
279
|
+
conductorAgentId: string;
|
|
280
|
+
intervalMinutes: number;
|
|
281
|
+
nextRunAt: string;
|
|
282
|
+
status: "active" | "paused" | "archived";
|
|
283
|
+
concurrencyPolicy: "coalesce_if_active" | "skip_if_active" | "always_enqueue";
|
|
284
|
+
};
|
|
285
|
+
export type WorkPolicy = {
|
|
286
|
+
id: string;
|
|
287
|
+
scopeType: "agent" | "project" | "task";
|
|
288
|
+
scopeId: string;
|
|
289
|
+
limitAmount: number;
|
|
290
|
+
maxRunMinutes?: number | undefined;
|
|
291
|
+
hardStopEnabled: boolean;
|
|
292
|
+
isActive: boolean;
|
|
293
|
+
};
|
|
294
|
+
export type WorkActivity = z.infer<typeof workActivitySchema>;
|
|
295
|
+
export type WorkTaskDetail = z.infer<typeof workTaskDetailSchema>;
|
|
296
|
+
export type CreateWorkTaskRequest = {
|
|
297
|
+
projectId?: string | undefined;
|
|
298
|
+
parentTaskId?: string | undefined;
|
|
299
|
+
title: string;
|
|
300
|
+
bodyMarkdown?: string | undefined;
|
|
301
|
+
status?: WorkTaskStatus | undefined;
|
|
302
|
+
priority?: WorkTask["priority"] | undefined;
|
|
303
|
+
assigneePrincipalId?: string | undefined;
|
|
304
|
+
contextRefs?: string[] | undefined;
|
|
305
|
+
};
|
|
306
|
+
export type UpdateWorkTaskRequest = {
|
|
307
|
+
taskId: string;
|
|
308
|
+
title?: string | undefined;
|
|
309
|
+
bodyMarkdown?: string | undefined;
|
|
310
|
+
status?: WorkTaskStatus | undefined;
|
|
311
|
+
priority?: WorkTask["priority"] | undefined;
|
|
312
|
+
assigneePrincipalId?: string | undefined;
|
|
313
|
+
};
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const jsonObjectSchema = z.record(z.string(), z.unknown());
|
|
3
|
+
export const workTaskStatusSchema = z.enum([
|
|
4
|
+
"backlog",
|
|
5
|
+
"todo",
|
|
6
|
+
"in_progress",
|
|
7
|
+
"in_review",
|
|
8
|
+
"blocked",
|
|
9
|
+
"done",
|
|
10
|
+
"cancelled",
|
|
11
|
+
]);
|
|
12
|
+
export const workTaskSchema = z.looseObject({
|
|
13
|
+
id: z.string(),
|
|
14
|
+
workspaceId: z.string(),
|
|
15
|
+
brainId: z.string(),
|
|
16
|
+
projectId: z.string().optional(),
|
|
17
|
+
parentTaskId: z.string().optional(),
|
|
18
|
+
title: z.string(),
|
|
19
|
+
bodyMarkdown: z.string(),
|
|
20
|
+
versionNumber: z.number(),
|
|
21
|
+
status: workTaskStatusSchema,
|
|
22
|
+
priority: z.enum(["critical", "high", "medium", "low"]),
|
|
23
|
+
assigneePrincipalId: z.string().optional(),
|
|
24
|
+
checkoutRunId: z.string().optional(),
|
|
25
|
+
contextRefs: z.array(z.string()).default([]),
|
|
26
|
+
createdAt: z.string(),
|
|
27
|
+
updatedAt: z.string(),
|
|
28
|
+
});
|
|
29
|
+
export const workTaskCommentSchema = z.looseObject({
|
|
30
|
+
id: z.string(),
|
|
31
|
+
taskId: z.string(),
|
|
32
|
+
authorPrincipalId: z.string(),
|
|
33
|
+
runId: z.string().optional(),
|
|
34
|
+
bodyMarkdown: z.string(),
|
|
35
|
+
createdAt: z.string(),
|
|
36
|
+
});
|
|
37
|
+
export const workArtifactSchema = z.looseObject({
|
|
38
|
+
id: z.string(),
|
|
39
|
+
taskId: z.string(),
|
|
40
|
+
runId: z.string().optional(),
|
|
41
|
+
type: z.string(),
|
|
42
|
+
provider: z.string(),
|
|
43
|
+
title: z.string(),
|
|
44
|
+
url: z.string().optional(),
|
|
45
|
+
brainRecordId: z.string().optional(),
|
|
46
|
+
status: z.enum(["pending", "ready", "failed", "superseded"]),
|
|
47
|
+
reviewState: z.enum(["none", "pending", "approved", "rejected", "revision_requested"]),
|
|
48
|
+
summary: z.string().optional(),
|
|
49
|
+
metadata: jsonObjectSchema.default({}),
|
|
50
|
+
});
|
|
51
|
+
export const workApprovalSchema = z.looseObject({
|
|
52
|
+
id: z.string(),
|
|
53
|
+
taskId: z.string(),
|
|
54
|
+
type: z.string(),
|
|
55
|
+
status: z.enum(["pending", "approved", "rejected", "revision_requested"]),
|
|
56
|
+
payload: jsonObjectSchema.default({}),
|
|
57
|
+
decisionNote: z.string().optional(),
|
|
58
|
+
});
|
|
59
|
+
export const workUsageDecisionSchema = z.object({
|
|
60
|
+
usageEvent: z.looseObject({
|
|
61
|
+
id: z.string(),
|
|
62
|
+
runId: z.string(),
|
|
63
|
+
taskId: z.string(),
|
|
64
|
+
eventKey: z.string(),
|
|
65
|
+
costMicros: z.number(),
|
|
66
|
+
durationMs: z.number(),
|
|
67
|
+
}),
|
|
68
|
+
effectiveLimits: z.object({
|
|
69
|
+
maxRunMinutes: z.number().optional(),
|
|
70
|
+
remainingCostMicros: z.number().optional(),
|
|
71
|
+
hardStop: z.boolean(),
|
|
72
|
+
}),
|
|
73
|
+
hardStop: z.boolean(),
|
|
74
|
+
});
|
|
75
|
+
export const workProjectSchema = z.looseObject({
|
|
76
|
+
id: z.string(),
|
|
77
|
+
name: z.string(),
|
|
78
|
+
description: z.string().optional(),
|
|
79
|
+
status: z.enum(["planned", "active", "completed", "cancelled"]),
|
|
80
|
+
leadPrincipalId: z.string().optional(),
|
|
81
|
+
contextRefs: z.array(z.string()).default([]),
|
|
82
|
+
members: z.array(z.looseObject({
|
|
83
|
+
principalId: z.string(),
|
|
84
|
+
role: z.enum(["lead", "member", "reviewer"]),
|
|
85
|
+
})).default([]),
|
|
86
|
+
updatedAt: z.string(),
|
|
87
|
+
});
|
|
88
|
+
export const workActivitySchema = z.looseObject({
|
|
89
|
+
id: z.string(),
|
|
90
|
+
action: z.string(),
|
|
91
|
+
entityType: z.string(),
|
|
92
|
+
entityId: z.string(),
|
|
93
|
+
taskId: z.string().optional(),
|
|
94
|
+
runId: z.string().optional(),
|
|
95
|
+
occurredAt: z.string(),
|
|
96
|
+
metadata: jsonObjectSchema.default({}),
|
|
97
|
+
});
|
|
98
|
+
export const workTaskDetailSchema = z.object({
|
|
99
|
+
task: workTaskSchema,
|
|
100
|
+
comments: z.array(workTaskCommentSchema).default([]),
|
|
101
|
+
artifacts: z.array(workArtifactSchema).default([]),
|
|
102
|
+
approvals: z.array(workApprovalSchema).default([]),
|
|
103
|
+
blockers: z.array(workTaskSchema).default([]),
|
|
104
|
+
projectContextRefs: z.array(z.string()).default([]),
|
|
105
|
+
}).loose();
|
|
106
|
+
//# sourceMappingURL=workTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workTypes.js","sourceRoot":"","sources":["../src/workTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{color:#191a1c;font-synthesis:none;text-rendering:optimizelegibility;letter-spacing:0;--surface:#fff;--background:#f7f7f5;--muted:#6f7378;--border:#dedfdb;--border-strong:#c9cbc6;--ink:#191a1c;--accent:#2958d3;--accent-hover:#2149b1;--green:#25805c;--amber:#a86b18;--red:#b4433d;--sidebar:#202225;background:#f7f7f5;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--background);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}h1,h2,h3,p{margin:0}.app-shell{grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#e8e9e7;background:var(--sidebar);flex-direction:column;height:100vh;padding:18px 12px 14px;display:flex;position:sticky;top:0}.sidebar-brand{width:100%;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 9px 20px;font-size:14px;display:flex}.sidebar-brand>span{color:#fff;border:1px solid #4b4e52;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.sidebar nav{gap:3px;display:grid}.nav-item{color:#b7babd;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:10px;width:100%;height:36px;padding:0 10px;font-size:13px;display:flex}.nav-item:hover{color:#fff;background:#2b2e32}.nav-item.active{color:#fff;background:#34373b}.sidebar-bottom{gap:3px;margin-top:auto;display:grid}.machine-row{border-top:1px solid #393b3e;align-items:center;gap:9px;min-width:0;margin-top:10px;padding:11px 10px 2px;display:flex}.machine-row>span:last-child{min-width:0;display:grid}.machine-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.machine-row small{color:#8f9397;margin-top:2px;font-size:11px}.machine-dot{background:#6f7378;border-radius:50%;flex:none;width:7px;height:7px}.machine-dot.online{background:#47b483;box-shadow:0 0 0 3px #47b4831f}.main-content{min-width:0;padding:34px clamp(28px,5vw,68px)}.content-header{justify-content:space-between;align-items:flex-start;gap:24px;max-width:1080px;margin:0 auto;display:flex}.content-header h1{font-size:25px;font-weight:650;line-height:1.2}.content-header p{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.5}.header-actions{align-items:center;gap:8px;display:flex}.primary-button,.secondary-button,.text-button{border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 13px;font-size:12px;font-weight:600;display:inline-flex}.primary-button{border:1px solid var(--accent);color:#fff;background:var(--accent)}.primary-button:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}.secondary-button{border:1px solid var(--border-strong);color:#3f4246;background:#fff}.secondary-button:hover:not(:disabled){background:#f2f3f0}.text-button{min-height:28px;color:var(--accent);background:0 0;border:0;padding:0}.full-width{width:100%}.icon-button{color:#676b70;background:0 0;border:1px solid #0000;border-radius:5px;place-items:center;width:30px;height:30px;padding:0;display:inline-grid}.icon-button:hover:not(:disabled){border-color:var(--border);color:var(--ink);background:#f2f3f0}.summary-strip{border:1px solid var(--border);background:var(--surface);border-radius:6px;max-width:1080px;margin:26px auto 16px;display:flex}.summary-strip>div{border-right:1px solid var(--border);align-items:center;gap:10px;min-width:135px;padding:13px 16px;display:flex}.summary-strip>div:last-child{border-right:0}.summary-strip>div>span:last-child{align-items:baseline;gap:6px;display:flex}.summary-strip strong{font-size:14px}.summary-strip small{color:var(--muted);font-size:11px}.summary-dot{border-radius:50%;width:7px;height:7px}.summary-dot.green{background:var(--green)}.summary-dot.amber{background:var(--amber)}.summary-dot.red{background:var(--red)}.agent-list{border:1px solid var(--border);background:var(--surface);border-radius:6px;max-width:1080px;margin:0 auto;overflow:visible}.agent-list-header,.agent-row{grid-template-columns:minmax(230px,1.6fr) minmax(120px,1fr) 100px 126px 104px;align-items:center;column-gap:16px;display:grid}.agent-list-header{border-bottom:1px solid var(--border);color:#85898e;text-transform:uppercase;background:#fafaf8;min-height:36px;padding:0 14px;font-size:10px;font-weight:650}.agent-row{border-bottom:1px solid #e8e9e5;min-height:68px;padding:8px 14px}.agent-row:last-child{border-bottom:0}.agent-row:hover{background:#fbfbf9}.agent-identity{align-items:center;gap:11px;min-width:0;display:flex}.agent-identity>span:last-child{min-width:0;display:grid}.agent-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.agent-identity small{color:var(--muted);margin-top:3px;font-size:11px}.agent-avatar{border-radius:6px;flex:none;place-items:center;width:34px;height:34px;font-size:10px;font-weight:750;display:grid}.agent-avatar.codex{color:#1e5c43;background:#e0f1e9}.agent-avatar.claude{color:#7d4e15;background:#f4e8d7}.row-value{color:#4e5256;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.status{border-radius:4px;align-items:center;gap:6px;width:fit-content;min-height:24px;padding:0 8px;font-size:10.5px;font-weight:600;display:inline-flex}.status i{border-radius:50%;width:6px;height:6px}.status.ready{color:#1e684a;background:#e6f2ec}.status.ready i{background:#2a8a62}.status.paused{color:#6c7074;background:#edeeeb}.status.paused i{background:#85898d}.status.error{color:#963d37;background:#f7e8e6}.status.error i{background:#bd4e47}.row-actions{justify-content:flex-end;align-items:center;gap:2px;display:flex}.action-menu{position:relative}.action-menu summary{color:#676b70;cursor:pointer;border-radius:5px;place-items:center;width:30px;height:30px;list-style:none;display:grid}.action-menu summary::-webkit-details-marker{display:none}.action-menu[open] summary{color:var(--ink);background:#f2f3f0}.action-menu>div{z-index:5;border:1px solid var(--border);background:#fff;border-radius:5px;width:150px;padding:4px;position:absolute;top:34px;right:0;box-shadow:0 8px 20px #2223251f}.action-menu button{color:#3f4246;background:#fff;border:0;border-radius:4px;align-items:center;gap:7px;width:100%;min-height:32px;padding:0 8px;font-size:11px;display:flex}.action-menu button:hover{background:#f3f4f1}.action-menu button.danger{color:var(--red)}.empty-state{border:1px solid var(--border);max-width:1080px;color:var(--muted);background:var(--surface);text-align:center;border-radius:6px;justify-items:center;margin:0 auto;padding:72px 24px;display:grid}.empty-state h3{color:var(--ink);margin-top:14px;font-size:14px}.empty-state p{max-width:340px;margin-top:6px;font-size:12px;line-height:1.5}.page-error,.inline-error{color:var(--red);font-size:12px;line-height:1.45}.page-error{background:#fff0ee;border:1px solid #e5b7b2;border-radius:5px;max-width:1080px;margin:0 auto 12px;padding:9px 11px}.modal-backdrop{z-index:20;background:#18191b6b;place-items:center;padding:30px;display:grid;position:fixed;inset:0}.wizard{background:#fff;border:1px solid #cfd0cc;border-radius:7px;grid-template-rows:auto auto minmax(330px,1fr) auto;width:min(680px,100%);max-height:calc(100vh - 60px);display:grid;overflow:hidden;box-shadow:0 24px 70px #191a1c3b}.wizard-header{justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 22px 16px;display:flex}.wizard-header h2{font-size:18px;font-weight:650}.wizard-header p{color:var(--muted);margin-top:4px;font-size:12px}.step-rail{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fafaf8;grid-template-columns:repeat(3,1fr);display:grid}.step{border-right:1px solid var(--border);color:#83878b;justify-content:center;align-items:center;gap:7px;height:42px;font-size:11px;font-weight:600;display:flex}.step:last-child{border-right:0}.step span{border:1px solid #c9cbc6;border-radius:50%;place-items:center;width:18px;height:18px;font-size:9px;display:grid}.step.active{color:var(--accent);background:#f3f6ff}.step.active span{border-color:var(--accent);color:#fff;background:var(--accent)}.wizard-body{padding:26px 28px;overflow:auto}.wizard-section{gap:22px;display:grid}.wizard-section h3{font-size:15px;font-weight:650}.wizard-section>div:first-child>p{max-width:520px;color:var(--muted);margin-top:5px;font-size:12px;line-height:1.5}.provider-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.provider-option{border:1px solid var(--border);min-height:72px;color:var(--ink);text-align:left;background:#fff;border-radius:6px;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:12px;display:grid}.provider-option:hover{background:#fafbff;border-color:#aeb7ce}.provider-option.selected{background:#f6f8ff;border-color:#7e99df;box-shadow:inset 0 0 0 1px #7e99df}.provider-option>span:nth-child(2){display:grid}.provider-option strong{font-size:12px}.provider-option small{color:var(--muted);margin-top:3px;font-size:11px}.provider-option>svg{color:var(--accent)}.provider-icon{color:#3c465b;background:#eceef2;border-radius:6px;place-items:center;width:36px;height:36px;display:grid}.selection-row{border:1px solid var(--border);min-height:58px;color:var(--ink);text-align:left;background:#fff;border-radius:6px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.selection-row:hover{border-color:var(--border-strong);background:#fafaf8}.selection-row>span{display:grid}.selection-row strong{font-size:12px}.selection-row small{color:var(--muted);margin-top:3px;font-size:11px}.selection-row>svg:first-child{color:var(--accent)}.access-fieldset{border:0;gap:8px;margin:0;padding:0;display:grid}.access-fieldset legend{color:#4a4e52;margin-bottom:8px;font-size:11px;font-weight:650}.access-option{border:1px solid var(--border);cursor:pointer;border-radius:6px;grid-template-columns:16px 22px 1fr;align-items:start;gap:8px;padding:11px 12px;display:grid}.access-option.selected{background:#f7f9ff;border-color:#96a8d9}.access-option input{margin:3px 0 0}.access-option>svg{color:#69707b;margin-top:1px}.access-option>span{display:grid}.access-option strong{font-size:12px}.access-option small{color:var(--muted);margin-top:3px;font-size:11px;line-height:1.4}.diagnostic{border:1px solid var(--border);border-radius:5px;gap:4px;padding:11px 12px;font-size:11px;display:grid}.diagnostic.error{color:#843934;background:#fff2f0;border-color:#e1b1ac}.field-label{color:#4a4e52;gap:7px;font-size:11px;font-weight:650;display:grid}.field-label input,.form-stack input{border:1px solid var(--border-strong);width:100%;height:38px;color:var(--ink);background:#fff;border-radius:5px;outline:none;padding:0 10px}.field-label input:focus,.form-stack input:focus{border-color:#7e99df;box-shadow:0 0 0 3px #4367c41a}.verification-summary{color:#225c44;background:#f0f8f4;border:1px solid #b8d7c8;border-radius:6px;align-items:center;gap:11px;padding:13px;display:flex}.verification-summary>span{display:grid}.verification-summary strong{font-size:12px}.verification-summary small{color:#4d7563;margin-top:3px;font-size:11px}.wizard-footer{border-top:1px solid var(--border);background:#fafaf8;justify-content:space-between;align-items:center;gap:10px;padding:13px 18px;display:flex}.editor-dialog{background:#fff;border:1px solid #cfd0cc;border-radius:7px;width:min(520px,100%);overflow:hidden;box-shadow:0 24px 70px #191a1c3b}.editor-body{border-top:1px solid var(--border);gap:18px;padding:22px;display:grid}.quota-note{color:var(--muted);font-size:11px;line-height:1.45}.pairing-shell{background:#f3f4f1;place-items:center;min-height:100vh;padding:30px;display:grid}.pairing-panel{border:1px solid var(--border);background:#fff;border-radius:7px;width:min(430px,100%);padding:30px;box-shadow:0 16px 45px #20222517}.pairing-divider{color:var(--muted);text-transform:uppercase;align-items:center;gap:10px;margin:16px 0;font-size:10px;display:flex}.pairing-divider:before,.pairing-divider:after{content:"";background:var(--border);flex:1;height:1px}.brand-mark{color:#fff;background:#272a2e;border-radius:7px;place-items:center;width:38px;height:38px;margin-bottom:18px;display:grid}.pairing-panel h1{font-size:21px}.pairing-panel>p{color:var(--muted);margin-top:7px;font-size:12px;line-height:1.55}.form-stack{gap:14px;margin:24px 0 18px;display:grid}.form-stack label{color:#4a4e52;gap:6px;font-size:11px;font-weight:650;display:grid}.loading-screen{min-height:100vh;color:var(--muted);place-items:center;font-size:13px;display:grid}.page-loading{min-height:50vh;color:var(--muted);place-items:center;font-size:13px;display:grid}.danger-text{color:var(--red)}.state-notice{border-top:1px solid var(--border);border-bottom:1px solid var(--border);max-width:720px;color:var(--muted);text-align:center;justify-items:center;margin:48px auto 0;padding:54px 24px;display:grid}.state-notice svg{color:#777c83}.state-notice h2{color:var(--ink);margin-top:14px;font-size:16px}.state-notice p{max-width:460px;margin:7px 0 18px;font-size:12px;line-height:1.6}.work-header{max-width:1280px}.work-console{border:1px solid var(--border);background:var(--surface);border-radius:6px;grid-template-columns:minmax(290px,360px) minmax(0,1fr);max-width:1280px;min-height:650px;margin:24px auto 0;display:grid;overflow:hidden}.work-queue-pane{border-right:1px solid var(--border);background:#fafaf8;min-width:0}.work-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:end;gap:12px;min-height:60px;padding:10px 12px;display:flex}.work-toolbar label{color:var(--muted);text-transform:uppercase;gap:4px;font-size:10px;font-weight:650;display:grid}.work-toolbar select{border:1px solid var(--border-strong);width:min(220px,100%);height:30px;color:var(--ink);background:#fff;border-radius:4px;padding:0 28px 0 8px;font-size:12px}.work-toolbar>span{color:var(--muted);white-space:nowrap;font-size:10px}.work-queue{max-height:calc(100vh - 180px);overflow:auto}.work-row{width:100%;min-height:74px;color:var(--ink);text-align:left;background:0 0;border:0;border-bottom:1px solid #e7e8e4;grid-template-columns:8px minmax(0,1fr) auto 15px;align-items:center;gap:9px;padding:10px 10px 10px 12px;display:grid}.work-row:hover{background:#f3f4f0}.work-row.selected{box-shadow:inset 3px 0 0 var(--accent);background:#eef2fb}.work-row>svg{color:#9a9ea2}.work-state-dot{background:#8a8f94;border-radius:50%;width:7px;height:7px}.work-state-dot.needs_review{background:#9b651d}.work-state-dot.blocked,.work-state-dot.needs_attention{background:var(--red)}.work-state-dot.running{background:var(--green);box-shadow:0 0 0 3px #25805c1f}.work-state-dot.finished{background:#7d8287}.work-row-copy{min-width:0;display:grid}.work-row-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.work-row-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:10.5px;overflow:hidden}.state-chip{color:#5e6267;white-space:nowrap;background:#e9eae7;border-radius:4px;align-items:center;min-height:22px;padding:0 7px;font-size:9.5px;font-weight:700;display:inline-flex}.state-chip.needs_review{color:#845317;background:#f4e9d7}.state-chip.blocked,.state-chip.needs_attention{color:#903c37;background:#f5e5e3}.state-chip.running{color:#1f684a;background:#e2f0e8}.state-chip.ready{color:#35518f;background:#e8edf8}.queue-empty{color:var(--muted);text-align:center;justify-items:center;padding:54px 18px;display:grid}.queue-empty strong{color:var(--ink);margin-top:10px;font-size:12px}.queue-empty span{max-width:220px;margin-top:5px;font-size:10.5px;line-height:1.5}.work-detail-pane{background:#fff;min-width:0}.mobile-work-back{display:none}.work-detail{min-width:0}.detail-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 28px 20px;display:flex}.detail-header>div{justify-items:start;gap:10px;min-width:0;display:grid}.detail-header h2{overflow-wrap:anywhere;font-size:19px;font-weight:650}.detail-header small{color:var(--muted);font-size:10px}.detail-header>.detail-heading-actions{align-items:center;justify-items:initial;flex:none;gap:8px;display:flex}.priority-label{color:var(--muted);text-transform:capitalize;border-left:2px solid #9ca0a5;padding-left:7px;font-size:10px;font-weight:650}.priority-label.critical{border-color:var(--red);color:var(--red)}.priority-label.high{border-color:var(--amber)}.task-body{border-bottom:1px solid var(--border);color:#45494e;white-space:pre-wrap;overflow-wrap:anywhere;padding:20px 28px;font-size:12.5px;line-height:1.65}.run-panel{border-bottom:1px solid var(--border);background:#fbfcfa;padding:20px 28px}.run-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.run-heading>span{align-items:center;gap:8px;display:flex}.run-heading strong{font-size:12px}.run-heading small{color:var(--muted);font-size:10px}.pulse-dot{background:var(--green);border-radius:50%;width:7px;height:7px}.run-panel>p{color:#3f4448;margin-top:10px;font-size:13px;line-height:1.5}.progress-list{gap:9px;margin:16px 0 0;padding:0;list-style:none;display:grid}.progress-list li{grid-template-columns:8px 1fr;align-items:start;gap:9px;display:grid}.progress-list li>span{background:#fff;border:1px solid #8f969c;border-radius:50%;width:6px;height:6px;margin-top:4px}.progress-list li>div{display:grid}.progress-list strong{color:#565a5f;font-size:10.5px;font-weight:550}.progress-list small{color:#979b9f;margin-top:2px;font-size:9.5px}.trace{border-top:1px solid var(--border);margin-top:14px;padding-top:10px}.trace summary{color:#70757a;cursor:pointer;font-size:10.5px;font-weight:650}.trace p,.trace pre{color:#777c81;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;font:10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.detail-band{border-bottom:1px solid var(--border);padding:20px 28px}.detail-band h3,.review-panel h3{color:#4e5358;text-transform:uppercase;margin-bottom:11px;font-size:10px;font-weight:750}.detail-band.warning{color:#7d3b36;background:#fff8f6}.detail-band.warning p{font-size:12px}.detail-band.warning span{color:var(--muted);margin-left:6px;font-size:10px}.artifact-list{gap:7px;display:grid}.artifact-row{border:1px solid var(--border);min-height:50px;color:var(--ink);border-radius:5px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px;text-decoration:none;display:grid}.artifact-row:hover{border-color:var(--border-strong);background:#fafaf8}.artifact-row>svg{color:#5f6d86}.artifact-row>span{display:grid}.artifact-row strong{font-size:11.5px}.artifact-row small{color:var(--muted);margin-top:3px;font-size:10px}.artifact-row em{color:var(--amber);text-transform:uppercase;font-size:9px;font-style:normal;font-weight:650}.review-panel{background:#fffaf1;border-bottom:1px solid #e2cda9;gap:12px;padding:20px 28px;display:grid}.review-panel h3{color:#765021;margin:0}.review-panel p{color:#8a6c45;margin-top:4px;font-size:11px}.review-panel textarea,.comment-composer textarea,.task-dialog textarea{resize:vertical;border:1px solid var(--border-strong);width:100%;min-height:72px;color:var(--ink);background:#fff;border-radius:5px;padding:9px 10px;font-size:12px;line-height:1.5}.review-actions,.detail-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.comment-list{gap:10px;display:grid}.comment-list>div{color:#666b70;grid-template-columns:18px 1fr;gap:8px;display:grid}.comment-list p{color:#454a4f;font-size:11.5px;line-height:1.5}.comment-list small{color:#969a9e;margin-top:3px;font-size:9.5px;display:block}.comment-composer{grid-template-columns:1fr auto;align-items:end;gap:8px;margin-top:14px;display:grid}.comment-composer textarea{min-height:58px}.detail-actions{min-height:62px;padding:12px 28px}.detail-actions select{border:1px solid var(--border-strong);background:#fff;border-radius:5px;min-width:170px;height:34px;padding:0 8px;font-size:11px}.task-dialog{border:1px solid var(--border-strong);background:#fff;border-radius:7px;gap:16px;width:min(520px,100%);padding:20px;display:grid;box-shadow:0 24px 70px #191a1c3b}.task-dialog header,.task-dialog footer{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.task-dialog header p{color:var(--muted);margin-top:4px;font-size:11px}.task-dialog label{color:#555a5f;gap:6px;font-size:11px;font-weight:650;display:grid}.task-dialog input,.task-dialog select{border:1px solid var(--border-strong);background:#fff;border-radius:5px;width:100%;height:36px;padding:0 9px}.task-dialog footer{justify-content:flex-end;padding-top:4px}.activity-filters{border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;max-width:900px;margin:24px auto 0;padding:10px 12px;display:flex}.activity-filters>label:first-child{min-width:240px;color:var(--muted);flex:1;align-items:center;gap:8px;display:flex}.activity-filters input[type=text],.activity-filters input:not([type]){background:0 0;border:0;outline:0;width:100%;height:32px;font-size:12px}.check-label{color:#555a5f;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:flex}.activity-feed{max-width:900px;margin:0 auto}.activity-entry{border-bottom:1px solid var(--border);grid-template-columns:10px 1fr auto;align-items:center;gap:10px;min-height:60px;display:grid}.timeline-dot{background:#fff;border:1px solid #8b9095;border-radius:50%;width:7px;height:7px}.activity-entry>div{display:grid}.activity-entry strong{font-size:12px;font-weight:600}.activity-entry small{color:var(--muted);margin-top:4px;font-size:10px}.activity-entry button{color:var(--accent);background:0 0;border:0;font-size:10.5px}.empty-copy{color:var(--muted);text-align:center;padding:46px 0;font-size:12px}.settings-sections{max-width:900px;margin:24px auto 0}.settings-section{border-top:1px solid var(--border);grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr);gap:28px;padding:24px 0;display:grid}.settings-section:last-child{border-bottom:1px solid var(--border)}.settings-section h2,.help-section h2{font-size:14px}.settings-section>div:first-child p,.help-section>div p{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.5}.definition-rows{margin:0}.definition-rows>div{border-bottom:1px solid #ecece9;grid-template-columns:110px 1fr;gap:12px;min-height:34px;padding:8px 0;display:grid}.definition-rows dt{color:var(--muted);font-size:10px}.definition-rows dd{color:#44494e;overflow-wrap:anywhere;min-width:0;margin:0;font-size:11px}.settings-actions{grid-column:2;justify-content:flex-end;display:flex}.help-grid{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;max-width:1040px;margin:26px auto 0;display:grid}.help-section{border-right:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:14px;min-height:300px;padding:26px 22px;display:flex}.help-section:last-child{border-right:0}.help-section>svg{color:#606a77}.help-section>a{color:#3e4d6b;border-bottom:1px solid #ecece9;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:34px;font-size:11px;text-decoration:none;display:flex}.help-section>p{color:#555b60;font-size:11px;line-height:1.6}.help-section code{color:#3f4a5a;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.help-section>small{color:var(--muted);margin-top:auto;font-size:9.5px}@media (width<=960px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.main-content{padding-inline:24px}.agent-list-header,.agent-row{grid-template-columns:minmax(210px,1.5fr) minmax(100px,1fr) 110px 94px}.agent-list-header span:nth-child(3),.agent-row>.row-value:nth-child(3){display:none}.work-console{grid-template-columns:minmax(270px,320px) minmax(0,1fr)}.help-grid{grid-template-columns:1fr}.help-section{border-right:0;border-bottom:1px solid var(--border);min-height:auto}}@media (width<=720px){.app-shell{display:block}.sidebar{grid-template-columns:auto 1fr;gap:8px;width:100%;height:auto;padding:9px 10px;display:grid;position:static}.sidebar-brand{width:auto;padding:0}.sidebar-brand strong{display:none}.sidebar nav{justify-content:flex-end;display:flex;overflow-x:auto}.sidebar nav .nav-item{flex:none;width:auto}.sidebar-bottom{border-top:1px solid #393b3e;grid-column:1/-1;padding-top:6px;display:flex}.sidebar-bottom .nav-item{width:auto}.machine-row{display:none}.main-content{padding:24px 16px}.content-header{display:grid}.header-actions{flex-wrap:wrap}.summary-strip{overflow-x:auto}.agent-list-header{display:none}.agent-row{grid-template-columns:1fr auto;gap:8px;padding:13px}.agent-row>.row-value,.agent-row>.status{display:none}.modal-backdrop{padding:0}.wizard{border:0;border-radius:0;width:100%;height:100vh;max-height:none}.provider-options{grid-template-columns:1fr}.work-console{min-height:0;display:block}.work-queue-pane{border-right:0;border-bottom:1px solid var(--border)}.work-queue{max-height:360px}.work-console:not(.mobile-detail-open) .work-detail-pane,.work-console.mobile-detail-open .work-queue-pane{display:none}.mobile-work-back{border:0;border-bottom:1px solid var(--border);color:#4c5662;background:#f8f8f6;align-items:center;gap:7px;width:100%;min-height:42px;padding:0 18px;font-size:11px;font-weight:650;display:flex}.detail-header,.task-body,.run-panel,.detail-band,.review-panel,.detail-actions{padding-inline:18px}.comment-composer{grid-template-columns:1fr}.settings-section{grid-template-columns:1fr;gap:14px}.settings-actions{grid-column:1}.activity-filters{flex-direction:column;align-items:stretch}.task-dialog{border:0;border-radius:0;align-content:start;width:100%;height:100vh}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
|