@syncended/dsh-automations 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -59,8 +59,8 @@ dsh plugin --profile web remove @syncended/dsh-automations
59
59
  | Time zone | Search by city or region in the picker, or enter `UTC` / an IANA name such as `Europe/Berlin`. Current UTC offsets are shown; DST is handled by `cron-parser`. |
60
60
  | Project | Existing absolute directory. Its canonical filesystem identity becomes the Session cwd and `workspace-write` root. |
61
61
  | Prompt | The user message sent to a fresh Harness Agent. |
62
- | Provider / model | Leave both blank to resolve the current Harness default at dispatch time. Set both to pin a route. |
63
- | Reasoning effort | Optional adapter-owned value. |
62
+ | Provider / model | Choose a configured provider in the searchable picker or enter an unlisted adapter route, then choose or enter its model. Leave both blank to resolve the current Harness default at dispatch time. |
63
+ | Reasoning effort | Choose `Default` or an exact-model effort advertised by the adapter. Custom adapter-owned effort IDs remain editable and are validated when the run starts. |
64
64
  | Agent preset | Leave blank for the current Harness default, or select a specific composition. |
65
65
  | Permission preset | Bundles DSH sandbox and approval policies. Default: `workspace-write`. |
66
66
  | Timeout | Wall-clock run limit. Cancellation is cooperative through the Agent loop. |
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAEhE,OAAO,KAAK,EAAiB,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAIrE,UAAU,UAAU;IAClB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;CAChD;AA6FD,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,GACjB,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAsGvE"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAEhE,OAAO,KAAK,EAAiB,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAIrE,UAAU,UAAU;IAClB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;CAChD;AAqGD,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,GACjB,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CA4GvE"}
package/dist/http.js CHANGED
@@ -81,6 +81,13 @@ function segment(value, label) {
81
81
  throw new AutomationInputError(`${label} path segment is invalid`, 'INVALID_PATH', 400, { cause });
82
82
  }
83
83
  }
84
+ function requiredQueryString(url, name) {
85
+ const value = url.searchParams.get(name)?.trim();
86
+ if (value === undefined || value === '' || value.length > 512) {
87
+ throw new AutomationInputError(`${name} must be a non-empty string of at most 512 characters`);
88
+ }
89
+ return value;
90
+ }
84
91
  function parseLimit(url) {
85
92
  const raw = url.searchParams.get('limit');
86
93
  if (raw === null)
@@ -113,6 +120,13 @@ export function createAutomationHttpHandler(service, prefix, logger) {
113
120
  return methodNotAllowed(response, ['GET']);
114
121
  return sendJson(response, 200, await service.metadata());
115
122
  }
123
+ if (parts.length === 2 && parts[0] === 'meta' && parts[1] === 'model') {
124
+ if (method !== 'GET')
125
+ return methodNotAllowed(response, ['GET']);
126
+ const provider = requiredQueryString(url, 'provider');
127
+ const model = requiredQueryString(url, 'model');
128
+ return sendJson(response, 200, await service.modelMetadata(provider, model));
129
+ }
116
130
  if (parts.length === 1 && parts[0] === 'jobs') {
117
131
  if (method !== 'POST')
118
132
  return methodNotAllowed(response, ['POST']);
package/dist/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAG/G,MAAM,cAAc,GAAG,SAAS,CAAA;AAMhC,SAAS,QAAQ,CAAC,QAAwB,EAAE,MAAc,EAAE,KAAc;IACxE,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAA;IACzC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE;QACzB,cAAc,EAAE,iCAAiC;QACjD,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;QACzC,eAAe,EAAE,UAAU;QAC3B,wBAAwB,EAAE,SAAS;KACpC,CAAC,CAAA;IACF,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC;AAED,SAAS,SAAS,CAAC,GAAkB;IACnC,MAAM,OAAO,GAA4B,EAAE,GAAG,GAAG,EAAE,CAAA;IACnD,OAAO,OAAO,CAAC,QAAQ,CAAA;IACvB,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAwB,EAAE,OAAiB;IACnE,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACpD;KACF,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAAwB;IAC7C,IAAI,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,KAAK,GAAG,EAAE,CAAC;QACvD,MAAM,IAAI,oBAAoB,CAAC,oCAAoC,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAA;IAC7F,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;IACzD,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,oBAAoB,CAAC,oCAAoC,EAAE,wBAAwB,EAAE,GAAG,CAAC,CAAA;IACrG,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACnD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;QAC3D,MAAM,IAAI,oBAAoB,CAAC,0CAA0C,EAAE,cAAc,EAAE,GAAG,CAAC,CAAA;IACjG,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAA;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA;IACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,UAAU,CAAA;QACd,IAAI,CAAC;YACH,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAA;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,oBAAoB,CAAC,uBAAuB,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QACzF,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1E,MAAM,IAAI,oBAAoB,CAAC,wCAAwC,EAAE,cAAc,EAAE,GAAG,CAAC,CAAA;QAC/F,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,OAAwB;IAC9C,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClE,IAAI,IAAI,MAAM,CAAC,MAAM,CAAA;QACrB,IAAI,IAAI,GAAG,cAAc;YAAE,MAAM,IAAI,oBAAoB,CAAC,2BAA2B,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAA;QAC7G,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrB,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAClC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,oBAAoB,CAAC,gCAAgC,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAClG,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,KAAa;IAC3C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;QACzC,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACpF,OAAO,OAAO,CAAA;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,oBAAoB,CAAC,GAAG,KAAK,0BAA0B,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IACpG,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,GAAQ;IAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACzC,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,GAAG,CAAA;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IACzB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;QAC/D,MAAM,IAAI,oBAAoB,CAAC,6CAA6C,CAAC,CAAA;IAC/E,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAA6B,EAC7B,MAAc,EACd,MAAkB;IAElB,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAA;YAC3D,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;YAC5E,MAAM,KAAK,GAAG,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACxD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAA;YAEtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,MAAM,KAAK,KAAK;oBAAE,OAAO,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;gBAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;gBAClD,OAAO,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;oBAC7B,GAAG,QAAQ;oBACX,iGAAiG;oBACjG,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;iBACnC,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;gBAC9C,IAAI,MAAM,KAAK,KAAK;oBAAE,OAAO,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;gBAChE,OAAO,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC1D,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;gBAC9C,IAAI,MAAM,KAAK,MAAM;oBAAE,OAAO,gBAAgB,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;gBAClE,aAAa,CAAC,OAAO,CAAC,CAAA;gBACtB,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;gBACtD,cAAc,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;gBACpC,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;oBACzD,MAAM,IAAI,oBAAoB,CAAC,qBAAqB,CAAC,CAAA;gBACvD,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;oBAC/B,IAAI,EAAE,IAAI,CAAC,IAAa;oBACxB,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;iBAClD,CAAC,CAAA;gBACF,OAAO,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;YACrC,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;gBAC7C,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,QAAQ,CAAC,CAAA;gBACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBAC3C,aAAa,CAAC,OAAO,CAAC,CAAA;oBACtB,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;oBACtD,cAAc,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;oBACjD,MAAM,eAAe,GAAG,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;oBACnE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE;wBACnC,IAAI,EAAE,IAAI,CAAC,IAAa;wBACxB,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;qBAC9D,CAAC,CAAA;oBACF,OAAO,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACrC,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC9C,aAAa,CAAC,OAAO,CAAC,CAAA;oBACtB,6FAA6F;oBAC7F,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;oBACtD,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;oBACxB,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBACxB,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAA;oBACxD,QAAQ,CAAC,GAAG,EAAE,CAAA;oBACd,OAAM;gBACR,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;oBAC7C,IAAI,MAAM,KAAK,MAAM;wBAAE,OAAO,gBAAgB,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;oBAClE,aAAa,CAAC,OAAO,CAAC,CAAA;oBACtB,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;oBACtD,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;oBACxB,OAAO,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBACtE,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;oBACjD,IAAI,MAAM,KAAK,MAAM;wBAAE,OAAO,gBAAgB,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;oBAClE,aAAa,CAAC,OAAO,CAAC,CAAA;oBACtB,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;oBACtD,cAAc,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAA;oBACpD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS;wBAAE,MAAM,IAAI,oBAAoB,CAAC,2BAA2B,CAAC,CAAA;oBAClG,MAAM,eAAe,GAAG,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;oBACnE,OAAO,QAAQ,CACb,QAAQ,EACR,GAAG,EACH,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAC5D,CAAA;gBACH,CAAC;gBACD,OAAO,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,iCAAiC,EAAE,EAAE,CAAC,CAAA;YAC9G,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACvE,IAAI,MAAM,KAAK,MAAM;oBAAE,OAAO,gBAAgB,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;gBAClE,aAAa,CAAC,OAAO,CAAC,CAAA;gBACtB,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;gBACtD,cAAc,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;gBAChC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACjE,MAAM,IAAI,oBAAoB,CAAC,yBAAyB,CAAC,CAAA;gBAC3D,CAAC;gBACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,QAAQ,CAAC,CAAA;gBAC1C,OAAO,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACrF,CAAC;YACD,OAAO,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,iCAAiC,EAAE,EAAE,CAAC,CAAA;QAC9G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,KAAK,YAAY,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAA;YACzE,MAAM,IAAI,GAAG,KAAK,YAAY,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAA;YAClF,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,IAAI,MAAM,IAAI,GAAG;gBAAE,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE,OAAO,CAAC,CAAA;YAC/E,MAAM,aAAa,GAAG,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,OAAO,CAAA;YAC5E,IAAI,CAAC,QAAQ,CAAC,WAAW;gBAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;;gBAC7F,QAAQ,CAAC,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;QAC5E,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Context, Service } from '@deepseek-ai/cordis';
2
2
  import z from '@deepseek-ai/schemastery';
3
- import { type AutomationExecutor, type AutomationJob, type AutomationMeta, type AutomationRun, type AutomationServiceApi, type AutomationServiceConfig, type AutomationSnapshot, type CreateAutomationJobRequest, type UpdateAutomationJobRequest } from './types.js';
3
+ import { type AutomationExecutor, type AutomationJob, type AutomationMeta, type AutomationModelMeta, type AutomationRun, type AutomationServiceApi, type AutomationServiceConfig, type AutomationSnapshot, type CreateAutomationJobRequest, type UpdateAutomationJobRequest } from './types.js';
4
4
  export * from './cron.js';
5
5
  export * from './project-policy.js';
6
6
  export * from './scheduler.js';
@@ -62,6 +62,7 @@ export declare class AutomationService extends Service implements AutomationServ
62
62
  cancel(runId: string, reason?: string): Promise<AutomationRun>;
63
63
  registerExecutor(executor: AutomationExecutor): () => void;
64
64
  metadata(): Promise<AutomationMeta>;
65
+ modelMetadata(provider: string, model: string): Promise<AutomationModelMeta>;
65
66
  private prepareSpec;
66
67
  }
67
68
  export default AutomationService;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAcxC,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAElB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAChC,MAAM,YAAY,CAAA;AAMnB,cAAc,WAAW,CAAA;AACzB,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAE/B,eAAO,MAAM,IAAI,gBAAgB,CAAA;AAejC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;GAQjB,CAAA;AAEF,6DAA6D;AAC7D,qBAAa,iBAAkB,SAAQ,OAAQ,YAAW,oBAAoB;IAC5E,MAAM,CAAC,MAAM;;;;;;;;;;;;;;;;QAAS;IACtB,MAAM,CAAC,MAAM,WAQZ;IAED,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,OAAO,CAAC,aAAa,CAA2B;gBAEpC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,uBAAuB;IAclD,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;IA+B3E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,kBAAkB;IAItC,MAAM,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAKjE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAKnF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1F,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI3C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI9D,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,IAAI;IAIpD,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;YAiC3B,WAAW;CAkD1B;AAED,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAcxC,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAElB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAChC,MAAM,YAAY,CAAA;AAMnB,cAAc,WAAW,CAAA;AACzB,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAE/B,eAAO,MAAM,IAAI,gBAAgB,CAAA;AAejC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;GAQjB,CAAA;AAEF,6DAA6D;AAC7D,qBAAa,iBAAkB,SAAQ,OAAQ,YAAW,oBAAoB;IAC5E,MAAM,CAAC,MAAM;;;;;;;;;;;;;;;;QAAS;IACtB,MAAM,CAAC,MAAM,WAQZ;IAED,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,OAAO,CAAC,aAAa,CAA2B;gBAEpC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,uBAAuB;IAclD,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;IA+B3E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,kBAAkB;IAItC,MAAM,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAKjE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAKnF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1F,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI3C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI9D,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,IAAI;IAIpD,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAsCnC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;YAuBpE,WAAW;CAkD1B;AAED,eAAe,iBAAiB,CAAA"}
package/dist/index.js CHANGED
@@ -127,13 +127,18 @@ export class AutomationService extends Service {
127
127
  const selection = this.ctx.agentDefaultModel.currentSelection();
128
128
  const providers = await Promise.all(this.ctx.llm.listProviders().map(async (provider) => {
129
129
  try {
130
- const models = await this.ctx.llm.listModels(provider.id);
131
- return { id: provider.id, models: models.map((model) => model.id) };
130
+ const listedModels = await this.ctx.llm.listModels(provider.id);
131
+ const models = listedModels.map((model) => ({
132
+ id: model.id,
133
+ name: model.name,
134
+ ...(model.description === undefined ? {} : { description: model.description }),
135
+ }));
136
+ return { id: provider.id, name: provider.name, models };
132
137
  }
133
138
  catch (error) {
134
139
  this.ctx.logger.warn('automations: could not list models for provider %s', provider.id);
135
140
  this.ctx.logger.warn(error instanceof Error ? error.stack ?? error.message : String(error));
136
- return { id: provider.id, models: [] };
141
+ return { id: provider.id, name: provider.name, models: [] };
137
142
  }
138
143
  }));
139
144
  const agentPresets = (await this.ctx.agentPresets.list()).map((preset) => ({
@@ -154,6 +159,28 @@ export class AutomationService extends Service {
154
159
  agentPresets,
155
160
  };
156
161
  }
162
+ async modelMetadata(provider, model) {
163
+ const resolved = await this.ctx.llm.resolveModelInfo(provider, model);
164
+ const reasoning = resolved.reasoning === undefined
165
+ ? undefined
166
+ : {
167
+ efforts: resolved.reasoning.efforts.map((effort) => ({
168
+ id: String(effort.id),
169
+ name: effort.name,
170
+ ...(effort.description === undefined ? {} : { description: effort.description }),
171
+ })),
172
+ ...(resolved.reasoning.defaultEffort === undefined
173
+ ? {}
174
+ : { defaultEffort: String(resolved.reasoning.defaultEffort) }),
175
+ };
176
+ return {
177
+ provider: resolved.provider,
178
+ id: resolved.id,
179
+ name: resolved.name,
180
+ ...(resolved.description === undefined ? {} : { description: resolved.description }),
181
+ ...(reasoning === undefined ? {} : { reasoning }),
182
+ };
183
+ }
157
184
  async prepareSpec(input) {
158
185
  let spec;
159
186
  try {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -129,6 +129,20 @@ export interface AutomationServiceConfig {
129
129
  maxOutputChars?: number;
130
130
  allowedProjectRoots?: string[];
131
131
  }
132
+ export interface AutomationModelMeta {
133
+ provider: string;
134
+ id: string;
135
+ name: string;
136
+ description?: string;
137
+ reasoning?: {
138
+ efforts: Array<{
139
+ id: string;
140
+ name: string;
141
+ description?: string;
142
+ }>;
143
+ defaultEffort?: string;
144
+ };
145
+ }
132
146
  export interface AutomationMeta {
133
147
  defaultModel: {
134
148
  provider: string;
@@ -137,7 +151,12 @@ export interface AutomationMeta {
137
151
  };
138
152
  providers: Array<{
139
153
  id: string;
140
- models: string[];
154
+ name: string;
155
+ models: Array<{
156
+ id: string;
157
+ name: string;
158
+ description?: string;
159
+ }>;
141
160
  }>;
142
161
  permissionPresets: string[];
143
162
  agentPresets: Array<{
@@ -155,6 +174,7 @@ export interface AutomationServiceApi {
155
174
  trigger(id: string): Promise<AutomationRun>;
156
175
  cancel(runId: string, reason?: string): Promise<AutomationRun>;
157
176
  metadata(): Promise<AutomationMeta>;
177
+ modelMetadata(provider: string, model: string): Promise<AutomationModelMeta>;
158
178
  registerExecutor(executor: AutomationExecutor): () => void;
159
179
  }
160
180
  declare module '@deepseek-ai/cordis' {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/client.js CHANGED
@@ -28,8 +28,8 @@ window.__ModuleLoader__.load({
28
28
  IconPlayOutline16,
29
29
  IconPlusOutline16,
30
30
  IconRefreshOutline16,
31
- IconSearchOutline16,
32
31
  IconSettingsOutline16,
32
+ IconThinkOutline14,
33
33
  IconTrashOutline16,
34
34
  IconWarningOutline16,
35
35
  } = require("@deepseek-ai/dsh-client-ui-primitives");
@@ -123,7 +123,7 @@ window.__ModuleLoader__.load({
123
123
  };
124
124
  });
125
125
 
126
- const REASONING_EFFORTS = ["low", "medium", "high"];
126
+ const MODEL_METADATA_CACHE = new Map();
127
127
  const OVERLAP_OPTIONS = [
128
128
  { value: "skip", label: "skip", hint: "Skip the run if a previous run is still active." },
129
129
  { value: "queue", label: "queue", hint: "Defer the run until the previous run finishes." },
@@ -278,6 +278,34 @@ window.__ModuleLoader__.load({
278
278
  .map((entry) => entry.zone);
279
279
  }
280
280
 
281
+ function comboboxSearchResults(options, query, limit = 30) {
282
+ const rawQuery = String(query || "").trim().toLowerCase();
283
+ if (rawQuery === "") return options.slice(0, limit);
284
+ const normalizedQuery = timezoneSearchKey(rawQuery);
285
+ if (normalizedQuery === "") return [];
286
+ const terms = normalizedQuery.split(" ").filter(Boolean);
287
+ return options
288
+ .map((option, order) => {
289
+ const identifier = String(option.value ?? option.id).toLowerCase();
290
+ const label = timezoneSearchKey(option.label || "");
291
+ const search = timezoneSearchKey(
292
+ [option.label, option.detail, option.value, ...(option.aliases || [])].filter(Boolean).join(" "),
293
+ );
294
+ if (!terms.every((term) => search.includes(term))) return null;
295
+ let score = option.custom ? 6 : 5;
296
+ if (!option.custom && identifier === rawQuery) score = 0;
297
+ else if (!option.custom && label === normalizedQuery) score = 1;
298
+ else if (!option.custom && label.startsWith(normalizedQuery)) score = 2;
299
+ else if (!option.custom && identifier.split(/[\/:._-]+/).some((segment) => segment.startsWith(rawQuery))) score = 3;
300
+ else if (!option.custom && search.startsWith(normalizedQuery)) score = 4;
301
+ return { option, order, score };
302
+ })
303
+ .filter(Boolean)
304
+ .sort((left, right) => left.score - right.score || left.order - right.order)
305
+ .slice(0, limit)
306
+ .map((entry) => entry.option);
307
+ }
308
+
281
309
  function timezoneNavigationIndex(key, current, resultCount, reopening) {
282
310
  if (resultCount === 0) return -1;
283
311
  if (reopening) return key === "ArrowDown" ? 0 : resultCount - 1;
@@ -361,6 +389,7 @@ window.__ModuleLoader__.load({
361
389
  try {
362
390
  response = await fetch(API_PREFIX + path, Object.assign({}, options, { headers }));
363
391
  } catch (error) {
392
+ if (error && error.name === "AbortError") throw error;
364
393
  throw new Error("Network error: " + errMessage(error));
365
394
  }
366
395
  const text = await response.text();
@@ -604,7 +633,7 @@ window.__ModuleLoader__.load({
604
633
  );
605
634
  }
606
635
 
607
- function useTimeZonePopoverLayout(open, anchorRef, panelRef) {
636
+ function useComboboxPopoverLayout(open, anchorRef, panelRef) {
608
637
  const [layout, setLayout] = useState(null);
609
638
  useEffect(() => {
610
639
  if (!open) {
@@ -658,7 +687,29 @@ window.__ModuleLoader__.load({
658
687
  return layout;
659
688
  }
660
689
 
661
- function TimeZonePicker({ id, value, onChange }) {
690
+ function EditableCombobox(props) {
691
+ const {
692
+ id,
693
+ value,
694
+ onChange,
695
+ optionsForQuery,
696
+ selectedId,
697
+ commitExactValue,
698
+ placeholder,
699
+ Icon,
700
+ listboxLabel,
701
+ initialTitle,
702
+ searchTitle,
703
+ emptyText,
704
+ hintText,
705
+ resultNoun,
706
+ invalidMessage,
707
+ invalid = false,
708
+ disabled = false,
709
+ resumeSearch: resumeSearchProp,
710
+ panelNotice = null,
711
+ onOpen,
712
+ } = props;
662
713
  const [open, setOpen] = useState(false);
663
714
  const [searching, setSearching] = useState(false);
664
715
  const [activeIndex, setActiveIndex] = useState(-1);
@@ -666,14 +717,14 @@ window.__ModuleLoader__.load({
666
717
  const anchorRef = useRef(null);
667
718
  const inputRef = useRef(null);
668
719
  const panelRef = useRef(null);
669
- const offsetCacheRef = useRef(new Map());
670
720
  const listboxId = id + "-options";
671
721
  const query = searching ? value : "";
672
- const results = timezoneSearchResults(query, value);
722
+ const results = optionsForQuery(query);
673
723
  const active = activeIndex >= 0 && activeIndex < results.length ? activeIndex : -1;
674
- const selected = canonicalTimezone(value);
675
- const resumeSearch = value.trim() !== "" && selected === null;
676
- const popoverLayout = useTimeZonePopoverLayout(open, anchorRef, panelRef);
724
+ const resumeSearch = resumeSearchProp === undefined
725
+ ? value.trim() !== "" && selectedId === null
726
+ : resumeSearchProp;
727
+ const popoverLayout = useComboboxPopoverLayout(open, anchorRef, panelRef);
677
728
  const close = () => {
678
729
  setOpen(false);
679
730
  setSearching(false);
@@ -681,12 +732,13 @@ window.__ModuleLoader__.load({
681
732
  setAnnouncement("");
682
733
  };
683
734
  const show = () => {
684
- offsetCacheRef.current.clear();
685
735
  setAnnouncement("");
686
736
  setOpen(true);
737
+ onOpen?.();
687
738
  };
688
- const choose = (zone) => {
689
- onChange(timezonePreferredValue(zone));
739
+ const choose = (option) => {
740
+ if (option.disabled) return;
741
+ if (option.value !== value) onChange(option.value);
690
742
  close();
691
743
  requestAnimationFrame(() => inputRef.current?.focus());
692
744
  };
@@ -708,8 +760,8 @@ window.__ModuleLoader__.load({
708
760
  const timer = window.setTimeout(() => {
709
761
  setAnnouncement(
710
762
  results.length === 0
711
- ? "No matching time zones."
712
- : results.length + (results.length === 1 ? " time zone suggestion available." : " time zone suggestions available."),
763
+ ? "No matching " + resultNoun + "s."
764
+ : results.length + " " + resultNoun + (results.length === 1 ? " suggestion available." : " suggestions available."),
713
765
  );
714
766
  }, 250);
715
767
  return () => window.clearTimeout(timer);
@@ -724,7 +776,7 @@ window.__ModuleLoader__.load({
724
776
  if (event.key === "ArrowDown" || event.key === "ArrowUp") {
725
777
  event.preventDefault();
726
778
  const navigationResults = !open && resumeSearch
727
- ? timezoneSearchResults(value, value)
779
+ ? optionsForQuery(value)
728
780
  : results;
729
781
  if (!open) {
730
782
  setSearching(resumeSearch);
@@ -745,9 +797,9 @@ window.__ModuleLoader__.load({
745
797
  choose(results[active]);
746
798
  return;
747
799
  }
748
- const canonical = canonicalTimezone(value);
749
- if (canonical) choose(canonical);
750
- else setAnnouncement("Enter a valid IANA time zone, such as Europe/Berlin.");
800
+ const exact = commitExactValue(value);
801
+ if (exact !== null) choose({ id: exact, value: exact });
802
+ else setAnnouncement(invalidMessage);
751
803
  return;
752
804
  }
753
805
  if (event.key === "Escape" && open) {
@@ -765,7 +817,7 @@ window.__ModuleLoader__.load({
765
817
  "div",
766
818
  {
767
819
  ref: panelRef,
768
- className: "dsh-auto-timezone-popover",
820
+ className: "dsh-auto-combobox-popover",
769
821
  style: popoverLayout
770
822
  ? {
771
823
  left: popoverLayout.left,
@@ -775,62 +827,74 @@ window.__ModuleLoader__.load({
775
827
  }
776
828
  : { left: 12, top: 12, width: 320, visibility: "hidden" },
777
829
  "data-side": popoverLayout?.side,
778
- "data-dsh-auto-timezone-popover": "true",
830
+ "data-dsh-auto-combobox-popover": "true",
779
831
  },
780
832
  h(
781
833
  "div",
782
- { className: "dsh-auto-timezone-popover-title" },
783
- searching && query.trim() !== "" ? "Matching time zones" : "Suggested time zones",
834
+ { className: "dsh-auto-combobox-popover-title" },
835
+ searching && query.trim() !== "" ? searchTitle : initialTitle,
784
836
  ),
837
+ panelNotice
838
+ ? h("div", { className: "dsh-auto-combobox-notice", role: "status" }, panelNotice)
839
+ : null,
785
840
  h(
786
841
  "div",
787
842
  {
788
843
  id: listboxId,
789
- className: "dsh-auto-timezone-list",
844
+ className: "dsh-auto-combobox-list",
790
845
  role: "listbox",
791
- "aria-label": "Time zones",
846
+ "aria-label": listboxLabel,
792
847
  },
793
848
  results.length > 0
794
- ? results.map((zone, index) => {
795
- const copy = timezoneOptionPresentation(zone, offsetCacheRef.current);
849
+ ? results.map((option, index) => {
796
850
  const optionId = listboxId + "-option-" + index;
851
+ const OptionIcon = option.Icon || Icon;
852
+ const isSelected = selectedId === option.id;
797
853
  return h(
798
854
  "div",
799
855
  {
800
- key: zone,
856
+ key: option.id,
801
857
  id: optionId,
802
- className: "dsh-auto-timezone-option",
858
+ className: "dsh-auto-combobox-option",
803
859
  role: "option",
804
- "aria-selected": selected === zone,
860
+ "aria-selected": isSelected,
861
+ "aria-disabled": option.disabled ? "true" : undefined,
805
862
  "data-active": active === index ? "true" : undefined,
806
- onPointerMove: () => setActiveIndex(index),
863
+ "data-disabled": option.disabled ? "true" : undefined,
864
+ onPointerMove: () => {
865
+ if (!option.disabled) setActiveIndex(index);
866
+ },
807
867
  onPointerDown: (event) => event.preventDefault(),
808
- onClick: () => choose(zone),
868
+ onClick: () => choose(option),
809
869
  },
810
- h("span", { className: "dsh-auto-timezone-option-icon", "aria-hidden": "true" }, h(IconGlobeOutline14)),
870
+ OptionIcon
871
+ ? h("span", { className: "dsh-auto-combobox-option-icon", "aria-hidden": "true" }, h(OptionIcon))
872
+ : null,
811
873
  h(
812
874
  "span",
813
875
  { className: "dsh-auto-picker-item-copy" },
814
- h("span", { className: "dsh-auto-picker-item-label" }, copy.label),
815
- h("span", { className: "dsh-auto-picker-item-detail" }, copy.detail),
876
+ h("span", { className: "dsh-auto-picker-item-label" }, option.label),
877
+ option.detail
878
+ ? h("span", { className: "dsh-auto-picker-item-detail" }, option.detail)
879
+ : null,
816
880
  ),
817
- selected === zone
818
- ? h("span", { className: "dsh-auto-timezone-option-check", "aria-hidden": "true" }, h(IconCheckOutline16))
881
+ isSelected
882
+ ? h("span", { className: "dsh-auto-combobox-option-check", "aria-hidden": "true" }, h(IconCheckOutline16))
819
883
  : null,
820
884
  );
821
885
  })
822
886
  : h(
823
887
  "div",
824
888
  {
825
- className: "dsh-auto-timezone-empty",
889
+ className: "dsh-auto-combobox-empty",
826
890
  role: "option",
827
891
  "aria-disabled": "true",
828
892
  "aria-selected": false,
829
893
  },
830
- "No matching time zones. You can still enter a recognized IANA time zone, such as Europe/Berlin.",
894
+ emptyText,
831
895
  ),
832
896
  ),
833
- h("p", { className: "dsh-auto-timezone-popover-hint" }, "Type a city, region, or IANA time zone."),
897
+ hintText ? h("p", { className: "dsh-auto-combobox-popover-hint" }, hintText) : null,
834
898
  )
835
899
  : null;
836
900
 
@@ -841,9 +905,10 @@ window.__ModuleLoader__.load({
841
905
  "span",
842
906
  {
843
907
  ref: anchorRef,
844
- className: "dsh-auto-timezone-control",
908
+ className: "dsh-auto-combobox-control" + (Icon ? "" : " dsh-auto-combobox-control-no-icon"),
845
909
  "data-open": open ? "true" : undefined,
846
910
  onPointerDown: (event) => {
911
+ if (disabled) return;
847
912
  if (event.target === inputRef.current) return;
848
913
  event.preventDefault();
849
914
  if (open) close();
@@ -857,15 +922,18 @@ window.__ModuleLoader__.load({
857
922
  }
858
923
  },
859
924
  },
860
- h("span", { className: "dsh-auto-timezone-control-icon", "aria-hidden": "true" }, h(IconGlobeOutline14)),
925
+ Icon
926
+ ? h("span", { className: "dsh-auto-combobox-control-icon", "aria-hidden": "true" }, h(Icon))
927
+ : null,
861
928
  h("input", {
862
929
  ref: inputRef,
863
930
  id,
864
- className: "dsh-auto-timezone-input",
931
+ className: "dsh-auto-combobox-input",
865
932
  type: "text",
866
933
  role: "combobox",
867
934
  value,
868
- placeholder: "Search city or time zone",
935
+ placeholder,
936
+ disabled,
869
937
  autoComplete: "off",
870
938
  spellCheck: false,
871
939
  "aria-autocomplete": "list",
@@ -873,7 +941,7 @@ window.__ModuleLoader__.load({
873
941
  "aria-expanded": open,
874
942
  "aria-controls": open ? listboxId : undefined,
875
943
  "aria-activedescendant": open && active >= 0 ? listboxId + "-option-" + active : undefined,
876
- "aria-invalid": !open && value.trim() !== "" && selected === null ? "true" : undefined,
944
+ "aria-invalid": !open && invalid ? "true" : undefined,
877
945
  onFocus: (event) => {
878
946
  setSearching(resumeSearch);
879
947
  setActiveIndex(-1);
@@ -886,6 +954,11 @@ window.__ModuleLoader__.load({
886
954
  setActiveIndex(-1);
887
955
  show();
888
956
  },
957
+ onBlur: (event) => {
958
+ const next = event.relatedTarget;
959
+ if (next instanceof Node && (anchorRef.current?.contains(next) || panelRef.current?.contains(next))) return;
960
+ close();
961
+ },
889
962
  onChange: (event) => {
890
963
  setSearching(true);
891
964
  setActiveIndex(0);
@@ -897,7 +970,7 @@ window.__ModuleLoader__.load({
897
970
  h(
898
971
  "span",
899
972
  {
900
- className: "dsh-auto-timezone-chevron" + (open ? " dsh-auto-timezone-chevron-open" : ""),
973
+ className: "dsh-auto-combobox-chevron" + (open ? " dsh-auto-combobox-chevron-open" : ""),
901
974
  "aria-hidden": "true",
902
975
  },
903
976
  h(IconChevronDownOutline14),
@@ -908,6 +981,240 @@ window.__ModuleLoader__.load({
908
981
  );
909
982
  }
910
983
 
984
+ function TimeZonePicker({ id, value, onChange }) {
985
+ const offsetCacheRef = useRef(new Map());
986
+ const selected = canonicalTimezone(value);
987
+ const optionsForQuery = (query) => timezoneSearchResults(query, value).map((zone) => {
988
+ const copy = timezoneOptionPresentation(zone, offsetCacheRef.current);
989
+ return {
990
+ id: zone,
991
+ value: timezonePreferredValue(zone),
992
+ label: copy.label,
993
+ detail: copy.detail,
994
+ };
995
+ });
996
+ return h(EditableCombobox, {
997
+ id,
998
+ value,
999
+ onChange,
1000
+ optionsForQuery,
1001
+ selectedId: selected,
1002
+ commitExactValue: (raw) => {
1003
+ const canonical = canonicalTimezone(raw);
1004
+ return canonical ? timezonePreferredValue(canonical) : null;
1005
+ },
1006
+ placeholder: "Search city or time zone",
1007
+ Icon: IconGlobeOutline14,
1008
+ listboxLabel: "Time zones",
1009
+ initialTitle: "Suggested time zones",
1010
+ searchTitle: "Matching time zones",
1011
+ emptyText: "No matching time zones. You can still enter a recognized IANA time zone, such as Europe/Berlin.",
1012
+ hintText: "Type a city, region, or IANA time zone.",
1013
+ resultNoun: "time zone",
1014
+ invalidMessage: "Enter a valid IANA time zone, such as Europe/Berlin.",
1015
+ invalid: value.trim() !== "" && selected === null,
1016
+ resumeSearch: value.trim() !== "" && selected === null,
1017
+ onOpen: () => offsetCacheRef.current.clear(),
1018
+ });
1019
+ }
1020
+
1021
+ function normalizedProviders(providers) {
1022
+ return (Array.isArray(providers) ? providers : [])
1023
+ .filter((provider) => provider && typeof provider.id === "string" && provider.id !== "")
1024
+ .map((provider) => ({
1025
+ id: provider.id,
1026
+ name: typeof provider.name === "string" && provider.name !== "" ? provider.name : provider.id,
1027
+ models: (Array.isArray(provider.models) ? provider.models : [])
1028
+ .map((model) => typeof model === "string"
1029
+ ? { id: model, name: model }
1030
+ : model && typeof model.id === "string"
1031
+ ? {
1032
+ id: model.id,
1033
+ name: typeof model.name === "string" && model.name !== "" ? model.name : model.id,
1034
+ ...(typeof model.description === "string" ? { description: model.description } : {}),
1035
+ }
1036
+ : null)
1037
+ .filter(Boolean),
1038
+ }));
1039
+ }
1040
+
1041
+ function ProviderPicker({ id, value, providers, defaultModel, onChange }) {
1042
+ const catalog = normalizedProviders(providers);
1043
+ const known = value === "" || catalog.some((provider) => provider.id === value);
1044
+ const options = [
1045
+ {
1046
+ id: "",
1047
+ value: "",
1048
+ label: "Harness default",
1049
+ detail: defaultModel && defaultModel.provider && defaultModel.model
1050
+ ? "Use " + defaultModel.provider + " / " + defaultModel.model + "."
1051
+ : "Resolve the current Harness provider at run time.",
1052
+ Icon: IconSettingsOutline16,
1053
+ },
1054
+ ...catalog.map((provider) => ({
1055
+ id: provider.id,
1056
+ value: provider.id,
1057
+ label: provider.name,
1058
+ detail: (provider.name === provider.id ? "Provider route" : provider.id)
1059
+ + " · " + provider.models.length + (provider.models.length === 1 ? " model" : " models"),
1060
+ aliases: [provider.id],
1061
+ Icon: IconSettingsOutline16,
1062
+ })),
1063
+ ...(value.trim() !== "" && !known
1064
+ ? [{
1065
+ id: "custom-provider:" + value,
1066
+ value,
1067
+ label: value,
1068
+ detail: "Custom provider route · Press Enter to keep this value.",
1069
+ custom: true,
1070
+ Icon: IconSettingsOutline16,
1071
+ }]
1072
+ : []),
1073
+ ];
1074
+ return h(EditableCombobox, {
1075
+ id,
1076
+ value,
1077
+ onChange,
1078
+ optionsForQuery: (query) => comboboxSearchResults(options, query),
1079
+ selectedId: value === "" ? "" : known ? value : "custom-provider:" + value,
1080
+ commitExactValue: (raw) => raw.trim(),
1081
+ placeholder: "Harness default",
1082
+ Icon: IconSettingsOutline16,
1083
+ listboxLabel: "Providers",
1084
+ initialTitle: "Available providers",
1085
+ searchTitle: "Matching providers",
1086
+ emptyText: "No matching providers. Press Enter to keep this custom provider route.",
1087
+ hintText: "Choose a configured provider or enter an adapter-supported route.",
1088
+ resultNoun: "provider",
1089
+ invalidMessage: "Enter a provider route.",
1090
+ resumeSearch: value.trim() !== "" && !known,
1091
+ });
1092
+ }
1093
+
1094
+ function useExactModelMetadata(provider, model) {
1095
+ const cacheKey = provider && model ? provider + "\u0000" + model : "";
1096
+ const [state, setState] = useState(() => {
1097
+ const cached = cacheKey ? MODEL_METADATA_CACHE.get(cacheKey) : null;
1098
+ return cached
1099
+ ? { key: cacheKey, status: "ready", data: cached, error: null }
1100
+ : { key: cacheKey, status: cacheKey ? "loading" : "idle", data: null, error: null };
1101
+ });
1102
+ useEffect(() => {
1103
+ if (!cacheKey) {
1104
+ setState({ key: "", status: "idle", data: null, error: null });
1105
+ return undefined;
1106
+ }
1107
+ const cached = MODEL_METADATA_CACHE.get(cacheKey);
1108
+ if (cached) {
1109
+ setState({ key: cacheKey, status: "ready", data: cached, error: null });
1110
+ return undefined;
1111
+ }
1112
+ const controller = new AbortController();
1113
+ let active = true;
1114
+ setState({ key: cacheKey, status: "loading", data: null, error: null });
1115
+ const timer = window.setTimeout(() => {
1116
+ apiFetch(
1117
+ "/meta/model?provider=" + encodeURIComponent(provider) + "&model=" + encodeURIComponent(model),
1118
+ { signal: controller.signal },
1119
+ ).then((data) => {
1120
+ MODEL_METADATA_CACHE.set(cacheKey, data);
1121
+ if (active) setState({ key: cacheKey, status: "ready", data, error: null });
1122
+ }).catch((error) => {
1123
+ if (!active || (error && error.name === "AbortError")) return;
1124
+ setState({ key: cacheKey, status: "error", data: null, error: errMessage(error) });
1125
+ });
1126
+ }, 180);
1127
+ return () => {
1128
+ active = false;
1129
+ window.clearTimeout(timer);
1130
+ controller.abort();
1131
+ };
1132
+ }, [cacheKey, provider, model]);
1133
+ if (state.key === cacheKey) return state;
1134
+ const cached = cacheKey ? MODEL_METADATA_CACHE.get(cacheKey) : null;
1135
+ return cached
1136
+ ? { key: cacheKey, status: "ready", data: cached, error: null }
1137
+ : { key: cacheKey, status: cacheKey ? "loading" : "idle", data: null, error: null };
1138
+ }
1139
+
1140
+ function ReasoningEffortPicker({ id, value, provider, model, defaultModel, onChange }) {
1141
+ const inherited = provider.trim() === "" && model.trim() === "";
1142
+ const exactProvider = inherited ? String(defaultModel?.provider || "") : provider.trim();
1143
+ const exactModel = inherited ? String(defaultModel?.model || "") : model.trim();
1144
+ const modelState = useExactModelMetadata(exactProvider, exactModel);
1145
+ const reasoning = modelState.status === "ready" && modelState.data
1146
+ ? modelState.data.reasoning
1147
+ : undefined;
1148
+ const efforts = reasoning && Array.isArray(reasoning.efforts) ? reasoning.efforts : [];
1149
+ const known = value === "" || efforts.some((effort) => effort.id === value);
1150
+ const advertisedDefault = inherited
1151
+ ? defaultModel?.reasoningEffort
1152
+ : reasoning?.defaultEffort;
1153
+ const defaultEffort = efforts.find((effort) => effort.id === advertisedDefault);
1154
+ const defaultDetail = advertisedDefault
1155
+ ? "Use " + (defaultEffort?.name || advertisedDefault) + (inherited ? " from the current Harness selection." : " as this model's default.")
1156
+ : inherited
1157
+ ? "Use the current Harness reasoning setting at run time."
1158
+ : "Let the selected model or provider choose.";
1159
+ const options = [
1160
+ {
1161
+ id: "",
1162
+ value: "",
1163
+ label: "Default",
1164
+ detail: defaultDetail,
1165
+ Icon: IconThinkOutline14,
1166
+ },
1167
+ ...efforts.map((effort) => ({
1168
+ id: effort.id,
1169
+ value: effort.id,
1170
+ label: effort.name || effort.id,
1171
+ detail: effort.description || (effort.name === effort.id ? "Adapter-owned effort level." : effort.id),
1172
+ aliases: [effort.id],
1173
+ Icon: IconThinkOutline14,
1174
+ })),
1175
+ ...(value.trim() !== "" && !known
1176
+ ? [{
1177
+ id: "custom-effort:" + value,
1178
+ value,
1179
+ label: value,
1180
+ detail: "Custom effort ID · Availability is checked when the automation runs.",
1181
+ custom: true,
1182
+ Icon: IconThinkOutline14,
1183
+ }]
1184
+ : []),
1185
+ ];
1186
+ let panelNotice = null;
1187
+ if (!exactProvider || !exactModel) {
1188
+ panelNotice = "Choose a model to load its effort levels.";
1189
+ } else if (modelState.status === "loading") {
1190
+ panelNotice = "Loading effort levels for " + exactProvider + " / " + exactModel + "…";
1191
+ } else if (modelState.status === "error") {
1192
+ panelNotice = "Effort metadata is unavailable. You can still enter an adapter-supported ID.";
1193
+ } else if (modelState.status === "ready" && !reasoning) {
1194
+ panelNotice = "This model does not advertise selectable effort levels. Custom IDs remain available.";
1195
+ }
1196
+ return h(EditableCombobox, {
1197
+ id,
1198
+ value,
1199
+ onChange,
1200
+ optionsForQuery: (query) => comboboxSearchResults(options, query),
1201
+ selectedId: value === "" ? "" : known ? value : "custom-effort:" + value,
1202
+ commitExactValue: (raw) => raw.trim(),
1203
+ placeholder: "Default",
1204
+ Icon: IconThinkOutline14,
1205
+ listboxLabel: "Reasoning effort levels",
1206
+ initialTitle: "Reasoning effort",
1207
+ searchTitle: "Matching effort levels",
1208
+ emptyText: "No matching effort levels. Press Enter to keep this custom effort ID.",
1209
+ hintText: "Options come from the exact model; custom adapter-owned IDs remain accepted.",
1210
+ resultNoun: "effort level",
1211
+ invalidMessage: "Enter an effort ID or choose Default.",
1212
+ resumeSearch: value.trim() !== "" && !known,
1213
+ panelNotice,
1214
+ disabled: provider.trim() !== "" && model.trim() === "" && value.trim() === "",
1215
+ });
1216
+ }
1217
+
911
1218
  function AgentPresetPicker({ id, value, presets, onChange }) {
912
1219
  const [open, setOpen] = useState(false);
913
1220
  const ownerId = useId();
@@ -1070,7 +1377,7 @@ window.__ModuleLoader__.load({
1070
1377
 
1071
1378
  function JobForm(props) {
1072
1379
  const { meta, draft, editing, saving, error, onChange, onIdTouched, onSubmit, onCancel } = props;
1073
- const providers = meta && Array.isArray(meta.providers) ? meta.providers : [];
1380
+ const providers = normalizedProviders(meta && Array.isArray(meta.providers) ? meta.providers : []);
1074
1381
  const providerModels = providers.find((provider) => provider.id === draft.provider);
1075
1382
  const models = providerModels ? providerModels.models : [];
1076
1383
  const permissionPresets =
@@ -1198,21 +1505,13 @@ window.__ModuleLoader__.load({
1198
1505
  h(
1199
1506
  Field,
1200
1507
  { label: "Provider", htmlFor: fieldId("provider"), hint: "Blank uses the current Harness default. You may type an unlisted provider route." },
1201
- h("input", {
1508
+ h(ProviderPicker, {
1202
1509
  id: fieldId("provider"),
1203
- className: "dsh-auto-input",
1204
- type: "text",
1205
- list: fieldId("provider-list"),
1206
1510
  value: draft.provider,
1207
- spellCheck: false,
1208
- placeholder: "Harness default",
1209
- onChange: (event) => onChange("provider", event.target.value),
1511
+ providers,
1512
+ defaultModel: meta?.defaultModel,
1513
+ onChange: (value) => onChange("provider", value),
1210
1514
  }),
1211
- h(
1212
- "datalist",
1213
- { id: fieldId("provider-list") },
1214
- providers.map((provider) => h("option", { key: provider.id, value: provider.id })),
1215
- ),
1216
1515
  ),
1217
1516
  h(
1218
1517
  Field,
@@ -1238,27 +1537,24 @@ window.__ModuleLoader__.load({
1238
1537
  h(
1239
1538
  "datalist",
1240
1539
  { id: fieldId("model-list") },
1241
- models.map((model) => h("option", { key: model, value: model })),
1540
+ models.map((model) => h("option", {
1541
+ key: model.id,
1542
+ value: model.id,
1543
+ label: model.name === model.id ? undefined : model.name,
1544
+ })),
1242
1545
  ),
1243
1546
  ),
1244
1547
  h(
1245
1548
  Field,
1246
- { label: "Reasoning effort", htmlFor: fieldId("effort"), hint: "Blank uses the provider default." },
1247
- h("input", {
1549
+ { label: "Reasoning effort", htmlFor: fieldId("effort"), hint: "Default follows the selected model. Custom adapter-owned IDs remain supported." },
1550
+ h(ReasoningEffortPicker, {
1248
1551
  id: fieldId("effort"),
1249
- className: "dsh-auto-input",
1250
- type: "text",
1251
- list: fieldId("effort-list"),
1252
1552
  value: draft.reasoningEffort,
1253
- spellCheck: false,
1254
- placeholder: "e.g. medium",
1255
- onChange: (event) => onChange("reasoningEffort", event.target.value),
1553
+ provider: draft.provider,
1554
+ model: draft.model,
1555
+ defaultModel: meta?.defaultModel,
1556
+ onChange: (value) => onChange("reasoningEffort", value),
1256
1557
  }),
1257
- h(
1258
- "datalist",
1259
- { id: fieldId("effort-list") },
1260
- REASONING_EFFORTS.map((effort) => h("option", { key: effort, value: effort })),
1261
- ),
1262
1558
  ),
1263
1559
  h(
1264
1560
  Field,
@@ -1806,7 +2102,9 @@ window.__ModuleLoader__.load({
1806
2102
  next = Object.assign({}, next, { id: slugifyJobId(value) });
1807
2103
  }
1808
2104
  if (key === "provider") {
1809
- next = Object.assign({}, next, { model: "" });
2105
+ next = Object.assign({}, next, { model: "", reasoningEffort: "" });
2106
+ } else if (key === "model") {
2107
+ next = Object.assign({}, next, { reasoningEffort: "" });
1810
2108
  }
1811
2109
  return next;
1812
2110
  });
@@ -2115,7 +2413,7 @@ window.__ModuleLoader__.load({
2115
2413
  const onKeyDown = (event) => {
2116
2414
  if (event.key !== "Escape" || event.defaultPrevented || event.__dshAutomationsNested) return;
2117
2415
  if (event.target?.closest?.('[role="dialog"],[role="menu"]')) return;
2118
- if (document.querySelector('.dsh-auto-picker-trigger[aria-expanded="true"],.dsh-auto-timezone-input[aria-expanded="true"]')) return;
2416
+ if (document.querySelector('.dsh-auto-picker-trigger[aria-expanded="true"],.dsh-auto-combobox-input[aria-expanded="true"]')) return;
2119
2417
  event.preventDefault();
2120
2418
  disclosure.close();
2121
2419
  };
@@ -2204,28 +2502,33 @@ window.__ModuleLoader__.load({
2204
2502
  ".dsh-auto-picker-item-copy{min-width:0;display:flex;flex-direction:column;white-space:normal;}",
2205
2503
  ".dsh-auto-picker-item-label{color:inherit;font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}",
2206
2504
  ".dsh-auto-picker-item-detail{color:var(--dsh-auto-muted,var(--dsw-alias-label-tertiary,#81858c));font-size:12px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}",
2207
- ".dsh-auto-timezone-control{width:100%;height:34px;padding:0 8px;display:flex;align-items:center;gap:7px;border:1px solid var(--dsh-auto-border);border-radius:8px;background:var(--dsh-auto-input-bg);color:var(--dsh-auto-text);cursor:text;}",
2208
- ".dsh-auto-timezone-control:hover{background:var(--dsw-alias-interactive-bg-hover,var(--dsh-auto-input-bg));}",
2209
- ".dsh-auto-timezone-control:focus-within,.dsh-auto-timezone-control[data-open=\"true\"]{border-color:var(--dsh-auto-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--dsh-auto-accent) 18%,transparent);}",
2210
- ".dsh-auto-timezone-control:has(.dsh-auto-timezone-input[aria-invalid=\"true\"]){border-color:var(--dsh-auto-danger);}",
2211
- ".dsh-auto-timezone-control-icon,.dsh-auto-timezone-chevron{width:16px;height:16px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--dsh-auto-muted);pointer-events:none;}",
2212
- ".dsh-auto-timezone-input{appearance:none;min-width:0;height:100%;flex:1;padding:0;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:13px;line-height:20px;}",
2213
- ".dsh-auto-timezone-input::placeholder{color:var(--dsh-auto-caption);}",
2214
- ".dsh-auto-timezone-chevron{transition:transform .12s ease;}",
2215
- ".dsh-auto-timezone-chevron-open{transform:rotate(180deg);}",
2216
- ".dsh-auto-timezone-popover{box-sizing:border-box;position:fixed;z-index:1100;max-height:min(360px,calc(100vh - 24px));padding:4px;display:flex;flex-direction:column;border:1px solid var(--dsw-alias-border-inverted,var(--dsw-alias-border-l2,rgba(15,17,21,.16)));border-radius:12px;background:var(--dsw-specific-menu,var(--dsw-alias-bg-layer-2,#fff));box-shadow:var(--dsw-shadow-lv3,0 12px 32px rgba(15,17,21,.16));color:var(--dsw-alias-label-primary,#0f1115);font-family:inherit;}",
2217
- ".dsh-auto-timezone-popover *,.dsh-auto-timezone-popover *::before,.dsh-auto-timezone-popover *::after{box-sizing:border-box;}",
2218
- ".dsh-auto-timezone-popover-title{flex:none;padding:7px 10px 5px;color:var(--dsw-alias-label-tertiary,#81858c);font-size:11px;font-weight:600;line-height:16px;text-transform:uppercase;letter-spacing:.04em;}",
2219
- ".dsh-auto-timezone-list{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);}",
2220
- ".dsh-auto-timezone-option{width:100%;min-height:48px;padding:6px 9px;display:flex;align-items:center;gap:8px;border-radius:9px;cursor:pointer;user-select:none;}",
2221
- ".dsh-auto-timezone-option:hover,.dsh-auto-timezone-option[data-active=\"true\"]{background:var(--dsw-alias-interactive-bg-hover,rgba(38,49,72,.06));}",
2222
- ".dsh-auto-timezone-option[aria-selected=\"true\"]{color:var(--dsw-alias-state-business-primary,#4176e6);}",
2223
- ".dsh-auto-timezone-option-icon,.dsh-auto-timezone-option-check{width:16px;height:16px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--dsw-alias-label-tertiary,#81858c);}",
2224
- ".dsh-auto-timezone-option>.dsh-auto-picker-item-copy{min-width:0;flex:1;}",
2225
- ".dsh-auto-timezone-option .dsh-auto-picker-item-detail{color:var(--dsw-alias-label-tertiary,#81858c);}",
2226
- ".dsh-auto-timezone-option-check{color:var(--dsw-alias-state-business-primary,#4176e6);}",
2227
- ".dsh-auto-timezone-empty{margin:0;padding:16px 12px;color:var(--dsw-alias-label-secondary,#4f5661);font-size:12px;line-height:18px;text-align:center;}",
2228
- ".dsh-auto-timezone-popover-hint{flex:none;margin:4px 0 0;padding:7px 10px 5px;border-top:1px solid var(--dsw-alias-border-l2,rgba(15,17,21,.12));color:var(--dsw-alias-label-tertiary,#81858c);font-size:11px;line-height:16px;}",
2505
+ ".dsh-auto-combobox-control{width:100%;height:34px;padding:0 8px;display:flex;align-items:center;gap:7px;border:1px solid var(--dsh-auto-border);border-radius:8px;background:var(--dsh-auto-input-bg);color:var(--dsh-auto-text);cursor:text;}",
2506
+ ".dsh-auto-combobox-control:hover{background:var(--dsw-alias-interactive-bg-hover,var(--dsh-auto-input-bg));}",
2507
+ ".dsh-auto-combobox-control:focus-within,.dsh-auto-combobox-control[data-open=\"true\"]{border-color:var(--dsh-auto-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--dsh-auto-accent) 18%,transparent);}",
2508
+ ".dsh-auto-combobox-control:has(.dsh-auto-combobox-input[aria-invalid=\"true\"]){border-color:var(--dsh-auto-danger);}",
2509
+ ".dsh-auto-combobox-control:has(.dsh-auto-combobox-input:disabled){background:var(--dsh-auto-surface-active);color:var(--dsh-auto-muted);cursor:default;}",
2510
+ ".dsh-auto-combobox-control-icon,.dsh-auto-combobox-chevron{width:16px;height:16px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--dsh-auto-muted);pointer-events:none;}",
2511
+ ".dsh-auto-combobox-input{appearance:none;min-width:0;height:100%;flex:1;padding:0;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:13px;line-height:20px;}",
2512
+ ".dsh-auto-combobox-input::placeholder{color:var(--dsh-auto-caption);}",
2513
+ ".dsh-auto-combobox-input:disabled{cursor:default;}",
2514
+ ".dsh-auto-combobox-chevron{transition:transform .12s ease;}",
2515
+ ".dsh-auto-combobox-chevron-open{transform:rotate(180deg);}",
2516
+ ".dsh-auto-combobox-popover{box-sizing:border-box;position:fixed;z-index:1100;max-height:min(360px,calc(100vh - 24px));padding:4px;display:flex;flex-direction:column;border:1px solid var(--dsw-alias-border-inverted,var(--dsw-alias-border-l2,rgba(15,17,21,.16)));border-radius:12px;background:var(--dsw-specific-menu,var(--dsw-alias-bg-layer-2,#fff));box-shadow:var(--dsw-shadow-lv3,0 12px 32px rgba(15,17,21,.16));color:var(--dsw-alias-label-primary,#0f1115);font-family:inherit;}",
2517
+ ".dsh-auto-combobox-popover *,.dsh-auto-combobox-popover *::before,.dsh-auto-combobox-popover *::after{box-sizing:border-box;}",
2518
+ ".dsh-auto-combobox-popover-title{flex:none;padding:7px 10px 5px;color:var(--dsw-alias-label-tertiary,#81858c);font-size:11px;font-weight:600;line-height:16px;text-transform:uppercase;letter-spacing:.04em;}",
2519
+ ".dsh-auto-combobox-notice{flex:none;margin:2px 4px 4px;padding:7px 9px;border-radius:8px;background:var(--dsw-alias-bg-module-platform,var(--dsw-alias-interactive-bg-hover,rgba(38,49,72,.06)));color:var(--dsw-alias-label-secondary,#4f5661);font-size:12px;line-height:18px;}",
2520
+ ".dsh-auto-combobox-list{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);}",
2521
+ ".dsh-auto-combobox-option{width:100%;min-height:48px;padding:6px 9px;display:flex;align-items:center;gap:8px;border-radius:9px;cursor:pointer;user-select:none;}",
2522
+ ".dsh-auto-combobox-option:hover,.dsh-auto-combobox-option[data-active=\"true\"]{background:var(--dsw-alias-interactive-bg-hover,rgba(38,49,72,.06));}",
2523
+ ".dsh-auto-combobox-option[data-disabled=\"true\"]{cursor:default;color:var(--dsw-alias-label-dimmed,var(--dsh-auto-caption));}",
2524
+ ".dsh-auto-combobox-option[data-disabled=\"true\"]:hover{background:transparent;}",
2525
+ ".dsh-auto-combobox-option[aria-selected=\"true\"]{color:var(--dsw-alias-state-business-primary,#4176e6);}",
2526
+ ".dsh-auto-combobox-option-icon,.dsh-auto-combobox-option-check{width:16px;height:16px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--dsw-alias-label-tertiary,#81858c);}",
2527
+ ".dsh-auto-combobox-option>.dsh-auto-picker-item-copy{min-width:0;flex:1;}",
2528
+ ".dsh-auto-combobox-option .dsh-auto-picker-item-detail{color:var(--dsw-alias-label-tertiary,#81858c);}",
2529
+ ".dsh-auto-combobox-option-check{color:var(--dsw-alias-state-business-primary,#4176e6);}",
2530
+ ".dsh-auto-combobox-empty{margin:0;padding:16px 12px;color:var(--dsw-alias-label-secondary,#4f5661);font-size:12px;line-height:18px;text-align:center;}",
2531
+ ".dsh-auto-combobox-popover-hint{flex:none;margin:4px 0 0;padding:7px 10px 5px;border-top:1px solid var(--dsw-alias-border-l2,rgba(15,17,21,.12));color:var(--dsw-alias-label-tertiary,#81858c);font-size:11px;line-height:16px;}",
2229
2532
  ".dsh-auto-permission-glyph{flex:none;}",
2230
2533
  ".dsh-auto-permission-glyph-read{color:var(--dsh-auto-muted);}",
2231
2534
  ".dsh-auto-permission-glyph-write{color:var(--dsh-auto-accent);}",
@@ -2368,10 +2671,15 @@ window.__ModuleLoader__.load({
2368
2671
  exports.agentPresetDisplayLabel = agentPresetDisplayLabel;
2369
2672
  exports.permissionPresetPresentation = permissionPresetPresentation;
2370
2673
  exports.PermissionPresetPicker = PermissionPresetPicker;
2674
+ exports.EditableCombobox = EditableCombobox;
2675
+ exports.ProviderPicker = ProviderPicker;
2676
+ exports.ReasoningEffortPicker = ReasoningEffortPicker;
2371
2677
  exports.TimeZonePicker = TimeZonePicker;
2372
2678
  exports.__testing = Object.freeze({
2373
2679
  nextFormInstancePrefix,
2374
2680
  canonicalTimezone,
2681
+ comboboxSearchResults,
2682
+ normalizedProviders,
2375
2683
  timezoneOffsetLabel,
2376
2684
  timezoneNavigationIndex,
2377
2685
  timezoneOptionPresentation,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syncended/dsh-automations",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Durable cron automations for DeepSeek Harness",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",