agent-web-interface 4.4.0 → 4.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/dist/src/browser/browser-session-config.d.ts +33 -0
- package/dist/src/browser/browser-session-config.d.ts.map +1 -0
- package/dist/src/browser/browser-session-config.js +24 -0
- package/dist/src/browser/browser-session-config.js.map +1 -0
- package/dist/src/browser/ensure-browser.d.ts +12 -27
- package/dist/src/browser/ensure-browser.d.ts.map +1 -1
- package/dist/src/browser/ensure-browser.js +104 -37
- package/dist/src/browser/ensure-browser.js.map +1 -1
- package/dist/src/browser/index.d.ts +2 -1
- package/dist/src/browser/index.d.ts.map +1 -1
- package/dist/src/browser/index.js +1 -0
- package/dist/src/browser/index.js.map +1 -1
- package/dist/src/browser/session-manager.d.ts +20 -0
- package/dist/src/browser/session-manager.d.ts.map +1 -1
- package/dist/src/browser/session-manager.js +122 -17
- package/dist/src/browser/session-manager.js.map +1 -1
- package/dist/src/browser/session-manager.types.d.ts +14 -2
- package/dist/src/browser/session-manager.types.d.ts.map +1 -1
- package/dist/src/browser/session-manager.types.js +5 -1
- package/dist/src/browser/session-manager.types.js.map +1 -1
- package/dist/src/cli/args.d.ts +12 -18
- package/dist/src/cli/args.d.ts.map +1 -1
- package/dist/src/cli/args.js +35 -40
- package/dist/src/cli/args.js.map +1 -1
- package/dist/src/form/constraint-extraction.d.ts +5 -0
- package/dist/src/form/constraint-extraction.d.ts.map +1 -1
- package/dist/src/form/constraint-extraction.js +13 -6
- package/dist/src/form/constraint-extraction.js.map +1 -1
- package/dist/src/form/field-extractor.d.ts.map +1 -1
- package/dist/src/form/field-extractor.js +14 -7
- package/dist/src/form/field-extractor.js.map +1 -1
- package/dist/src/form/form-state.d.ts.map +1 -1
- package/dist/src/form/form-state.js +16 -4
- package/dist/src/form/form-state.js.map +1 -1
- package/dist/src/gateway/http-gateway.d.ts +56 -0
- package/dist/src/gateway/http-gateway.d.ts.map +1 -0
- package/dist/src/gateway/http-gateway.js +229 -0
- package/dist/src/gateway/http-gateway.js.map +1 -0
- package/dist/src/gateway/json-rpc-errors.d.ts +6 -0
- package/dist/src/gateway/json-rpc-errors.d.ts.map +1 -0
- package/dist/src/gateway/json-rpc-errors.js +11 -0
- package/dist/src/gateway/json-rpc-errors.js.map +1 -0
- package/dist/src/gateway/session-router.d.ts +80 -0
- package/dist/src/gateway/session-router.d.ts.map +1 -0
- package/dist/src/gateway/session-router.js +177 -0
- package/dist/src/gateway/session-router.js.map +1 -0
- package/dist/src/http-entry.d.ts +20 -0
- package/dist/src/http-entry.d.ts.map +1 -0
- package/dist/src/http-entry.js +112 -0
- package/dist/src/http-entry.js.map +1 -0
- package/dist/src/index.d.ts +1 -10
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +25 -232
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/text-utils.d.ts +0 -24
- package/dist/src/lib/text-utils.d.ts.map +1 -1
- package/dist/src/lib/text-utils.js +2 -38
- package/dist/src/lib/text-utils.js.map +1 -1
- package/dist/src/observation/eid-linker.d.ts.map +1 -1
- package/dist/src/observation/eid-linker.js +1 -21
- package/dist/src/observation/eid-linker.js.map +1 -1
- package/dist/src/server/index.d.ts +0 -1
- package/dist/src/server/index.d.ts.map +1 -1
- package/dist/src/server/index.js +0 -1
- package/dist/src/server/index.js.map +1 -1
- package/dist/src/server/mcp-server.d.ts +6 -2
- package/dist/src/server/mcp-server.d.ts.map +1 -1
- package/dist/src/server/mcp-server.js +3 -91
- package/dist/src/server/mcp-server.js.map +1 -1
- package/dist/src/server/server-config.d.ts +4 -20
- package/dist/src/server/server-config.d.ts.map +1 -1
- package/dist/src/server/server-config.js +6 -50
- package/dist/src/server/server-config.js.map +1 -1
- package/dist/src/server/tool-registrar.types.d.ts +25 -0
- package/dist/src/server/tool-registrar.types.d.ts.map +1 -0
- package/dist/src/server/tool-registrar.types.js +10 -0
- package/dist/src/server/tool-registrar.types.js.map +1 -0
- package/dist/src/server/tool-result-handler.d.ts +61 -0
- package/dist/src/server/tool-result-handler.d.ts.map +1 -0
- package/dist/src/server/tool-result-handler.js +137 -0
- package/dist/src/server/tool-result-handler.js.map +1 -0
- package/dist/src/session/session-controller.d.ts +123 -0
- package/dist/src/session/session-controller.d.ts.map +1 -0
- package/dist/src/session/session-controller.js +273 -0
- package/dist/src/session/session-controller.js.map +1 -0
- package/dist/src/shared/services/index.d.ts +0 -2
- package/dist/src/shared/services/index.d.ts.map +1 -1
- package/dist/src/shared/services/index.js +0 -2
- package/dist/src/shared/services/index.js.map +1 -1
- package/dist/src/shared/version.d.ts +10 -0
- package/dist/src/shared/version.d.ts.map +1 -0
- package/dist/src/shared/version.js +32 -0
- package/dist/src/shared/version.js.map +1 -0
- package/dist/src/snapshot/element-resolver.d.ts +3 -2
- package/dist/src/snapshot/element-resolver.d.ts.map +1 -1
- package/dist/src/snapshot/element-resolver.js +83 -8
- package/dist/src/snapshot/element-resolver.js.map +1 -1
- package/dist/src/snapshot/extractors/attribute-extractor.d.ts.map +1 -1
- package/dist/src/snapshot/extractors/attribute-extractor.js +4 -0
- package/dist/src/snapshot/extractors/attribute-extractor.js.map +1 -1
- package/dist/src/snapshot/extractors/layout-extractor.d.ts +9 -7
- package/dist/src/snapshot/extractors/layout-extractor.d.ts.map +1 -1
- package/dist/src/snapshot/extractors/layout-extractor.js +34 -19
- package/dist/src/snapshot/extractors/layout-extractor.js.map +1 -1
- package/dist/src/snapshot/extractors/state-extractor.d.ts +2 -2
- package/dist/src/snapshot/extractors/state-extractor.d.ts.map +1 -1
- package/dist/src/snapshot/extractors/state-extractor.js +22 -2
- package/dist/src/snapshot/extractors/state-extractor.js.map +1 -1
- package/dist/src/snapshot/extractors/types.d.ts +6 -0
- package/dist/src/snapshot/extractors/types.d.ts.map +1 -1
- package/dist/src/snapshot/extractors/types.js.map +1 -1
- package/dist/src/snapshot/snapshot-compiler.d.ts.map +1 -1
- package/dist/src/snapshot/snapshot-compiler.js +15 -2
- package/dist/src/snapshot/snapshot-compiler.js.map +1 -1
- package/dist/src/snapshot/snapshot.types.d.ts +10 -1
- package/dist/src/snapshot/snapshot.types.d.ts.map +1 -1
- package/dist/src/snapshot/snapshot.types.js.map +1 -1
- package/dist/src/state/actionables-filter.d.ts.map +1 -1
- package/dist/src/state/actionables-filter.js +7 -3
- package/dist/src/state/actionables-filter.js.map +1 -1
- package/dist/src/state/atoms-extractor.d.ts.map +1 -1
- package/dist/src/state/atoms-extractor.js +3 -23
- package/dist/src/state/atoms-extractor.js.map +1 -1
- package/dist/src/state/diff-engine.d.ts.map +1 -1
- package/dist/src/state/diff-engine.js +6 -33
- package/dist/src/state/diff-engine.js.map +1 -1
- package/dist/src/state/element-identity.d.ts +3 -6
- package/dist/src/state/element-identity.d.ts.map +1 -1
- package/dist/src/state/element-identity.js +10 -7
- package/dist/src/state/element-identity.js.map +1 -1
- package/dist/src/state/element-ref.types.d.ts +5 -27
- package/dist/src/state/element-ref.types.d.ts.map +1 -1
- package/dist/src/state/state-manager.d.ts.map +1 -1
- package/dist/src/state/state-manager.js +3 -1
- package/dist/src/state/state-manager.js.map +1 -1
- package/dist/src/state/state-renderer.d.ts.map +1 -1
- package/dist/src/state/state-renderer.js +3 -1
- package/dist/src/state/state-renderer.js.map +1 -1
- package/dist/src/state/types.d.ts +2 -1
- package/dist/src/state/types.d.ts.map +1 -1
- package/dist/src/state/url-sanitization.d.ts +1 -1
- package/dist/src/state/url-sanitization.d.ts.map +1 -1
- package/dist/src/state/url-sanitization.js +29 -13
- package/dist/src/state/url-sanitization.js.map +1 -1
- package/dist/src/tools/action-context.d.ts +6 -11
- package/dist/src/tools/action-context.d.ts.map +1 -1
- package/dist/src/tools/action-context.js +10 -19
- package/dist/src/tools/action-context.js.map +1 -1
- package/dist/src/tools/action-stabilization.d.ts.map +1 -1
- package/dist/src/tools/action-stabilization.js +6 -0
- package/dist/src/tools/action-stabilization.js.map +1 -1
- package/dist/src/tools/browser-tools.d.ts +3 -2
- package/dist/src/tools/browser-tools.d.ts.map +1 -1
- package/dist/src/tools/browser-tools.js +5 -3
- package/dist/src/tools/browser-tools.js.map +1 -1
- package/dist/src/tools/canvas-tools.d.ts +2 -1
- package/dist/src/tools/canvas-tools.d.ts.map +1 -1
- package/dist/src/tools/canvas-tools.js +5 -7
- package/dist/src/tools/canvas-tools.js.map +1 -1
- package/dist/src/tools/errors.d.ts +2 -34
- package/dist/src/tools/errors.d.ts.map +1 -1
- package/dist/src/tools/errors.js +1 -44
- package/dist/src/tools/errors.js.map +1 -1
- package/dist/src/tools/execute-action.d.ts +4 -3
- package/dist/src/tools/execute-action.d.ts.map +1 -1
- package/dist/src/tools/execute-action.js +32 -23
- package/dist/src/tools/execute-action.js.map +1 -1
- package/dist/src/tools/form-tools.d.ts +3 -8
- package/dist/src/tools/form-tools.d.ts.map +1 -1
- package/dist/src/tools/form-tools.js +38 -18
- package/dist/src/tools/form-tools.js.map +1 -1
- package/dist/src/tools/index.d.ts +6 -6
- package/dist/src/tools/index.d.ts.map +1 -1
- package/dist/src/tools/index.js +7 -10
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/interaction-tools.d.ts +6 -5
- package/dist/src/tools/interaction-tools.d.ts.map +1 -1
- package/dist/src/tools/interaction-tools.js +29 -32
- package/dist/src/tools/interaction-tools.js.map +1 -1
- package/dist/src/tools/navigation-tools.d.ts +7 -13
- package/dist/src/tools/navigation-tools.d.ts.map +1 -1
- package/dist/src/tools/navigation-tools.js +52 -59
- package/dist/src/tools/navigation-tools.js.map +1 -1
- package/dist/src/tools/observation-tools.d.ts +6 -5
- package/dist/src/tools/observation-tools.d.ts.map +1 -1
- package/dist/src/tools/observation-tools.js +30 -34
- package/dist/src/tools/observation-tools.js.map +1 -1
- package/dist/src/tools/readability-tools.d.ts +16 -0
- package/dist/src/tools/readability-tools.d.ts.map +1 -0
- package/dist/src/tools/readability-tools.js +45 -0
- package/dist/src/tools/readability-tools.js.map +1 -0
- package/dist/src/tools/response-builder.d.ts +20 -32
- package/dist/src/tools/response-builder.d.ts.map +1 -1
- package/dist/src/tools/response-builder.js +31 -47
- package/dist/src/tools/response-builder.js.map +1 -1
- package/dist/src/tools/stale-element-retry.d.ts.map +1 -1
- package/dist/src/tools/stale-element-retry.js +37 -2
- package/dist/src/tools/stale-element-retry.js.map +1 -1
- package/dist/src/tools/tool-context.d.ts +4 -36
- package/dist/src/tools/tool-context.d.ts.map +1 -1
- package/dist/src/tools/tool-context.js +6 -75
- package/dist/src/tools/tool-context.js.map +1 -1
- package/dist/src/tools/tool-context.types.d.ts +141 -0
- package/dist/src/tools/tool-context.types.d.ts.map +1 -0
- package/dist/src/tools/tool-context.types.js +11 -0
- package/dist/src/tools/tool-context.types.js.map +1 -0
- package/dist/src/tools/tool-registration.d.ts +25 -0
- package/dist/src/tools/tool-registration.d.ts.map +1 -0
- package/dist/src/tools/tool-registration.js +180 -0
- package/dist/src/tools/tool-registration.js.map +1 -0
- package/dist/src/tools/tool-schemas.d.ts +88 -1947
- package/dist/src/tools/tool-schemas.d.ts.map +1 -1
- package/dist/src/tools/tool-schemas.js +21 -302
- package/dist/src/tools/tool-schemas.js.map +1 -1
- package/dist/src/tools/viewport-tools.d.ts +4 -3
- package/dist/src/tools/viewport-tools.d.ts.map +1 -1
- package/dist/src/tools/viewport-tools.js +17 -21
- package/dist/src/tools/viewport-tools.js.map +1 -1
- package/dist/src/worker/chrome-worker-process.d.ts +4 -0
- package/dist/src/worker/chrome-worker-process.d.ts.map +1 -1
- package/dist/src/worker/chrome-worker-process.js +1 -1
- package/dist/src/worker/chrome-worker-process.js.map +1 -1
- package/package.json +7 -3
- package/dist/src/factpack/action-selector.d.ts +0 -36
- package/dist/src/factpack/action-selector.d.ts.map +0 -1
- package/dist/src/factpack/action-selector.js +0 -367
- package/dist/src/factpack/action-selector.js.map +0 -1
- package/dist/src/factpack/dialog-detector.d.ts +0 -19
- package/dist/src/factpack/dialog-detector.d.ts.map +0 -1
- package/dist/src/factpack/dialog-detector.js +0 -354
- package/dist/src/factpack/dialog-detector.js.map +0 -1
- package/dist/src/factpack/form-detector.d.ts +0 -28
- package/dist/src/factpack/form-detector.d.ts.map +0 -1
- package/dist/src/factpack/form-detector.js +0 -555
- package/dist/src/factpack/form-detector.js.map +0 -1
- package/dist/src/factpack/index.d.ts +0 -32
- package/dist/src/factpack/index.d.ts.map +0 -1
- package/dist/src/factpack/index.js +0 -73
- package/dist/src/factpack/index.js.map +0 -1
- package/dist/src/factpack/page-classifier.d.ts +0 -22
- package/dist/src/factpack/page-classifier.d.ts.map +0 -1
- package/dist/src/factpack/page-classifier.js +0 -526
- package/dist/src/factpack/page-classifier.js.map +0 -1
- package/dist/src/factpack/types.d.ts +0 -307
- package/dist/src/factpack/types.d.ts.map +0 -1
- package/dist/src/factpack/types.js +0 -12
- package/dist/src/factpack/types.js.map +0 -1
- package/dist/src/lib/constants.d.ts +0 -27
- package/dist/src/lib/constants.d.ts.map +0 -1
- package/dist/src/lib/constants.js +0 -63
- package/dist/src/lib/constants.js.map +0 -1
- package/dist/src/lib/index.d.ts +0 -12
- package/dist/src/lib/index.d.ts.map +0 -1
- package/dist/src/lib/index.js +0 -17
- package/dist/src/lib/index.js.map +0 -1
- package/dist/src/lib/regions.d.ts +0 -29
- package/dist/src/lib/regions.d.ts.map +0 -1
- package/dist/src/lib/regions.js +0 -93
- package/dist/src/lib/regions.js.map +0 -1
- package/dist/src/lib/scoring.d.ts +0 -47
- package/dist/src/lib/scoring.d.ts.map +0 -1
- package/dist/src/lib/scoring.js +0 -79
- package/dist/src/lib/scoring.js.map +0 -1
- package/dist/src/lib/selectors.d.ts +0 -42
- package/dist/src/lib/selectors.d.ts.map +0 -1
- package/dist/src/lib/selectors.js +0 -138
- package/dist/src/lib/selectors.js.map +0 -1
- package/dist/src/renderer/budget-manager.d.ts +0 -46
- package/dist/src/renderer/budget-manager.d.ts.map +0 -1
- package/dist/src/renderer/budget-manager.js +0 -133
- package/dist/src/renderer/budget-manager.js.map +0 -1
- package/dist/src/renderer/constants.d.ts +0 -38
- package/dist/src/renderer/constants.d.ts.map +0 -1
- package/dist/src/renderer/constants.js +0 -29
- package/dist/src/renderer/constants.js.map +0 -1
- package/dist/src/renderer/index.d.ts +0 -12
- package/dist/src/renderer/index.d.ts.map +0 -1
- package/dist/src/renderer/index.js +0 -16
- package/dist/src/renderer/index.js.map +0 -1
- package/dist/src/renderer/section-renderers.d.ts +0 -42
- package/dist/src/renderer/section-renderers.d.ts.map +0 -1
- package/dist/src/renderer/section-renderers.js +0 -252
- package/dist/src/renderer/section-renderers.js.map +0 -1
- package/dist/src/renderer/token-counter.d.ts +0 -45
- package/dist/src/renderer/token-counter.d.ts.map +0 -1
- package/dist/src/renderer/token-counter.js +0 -65
- package/dist/src/renderer/token-counter.js.map +0 -1
- package/dist/src/renderer/types.d.ts +0 -71
- package/dist/src/renderer/types.d.ts.map +0 -1
- package/dist/src/renderer/types.js +0 -7
- package/dist/src/renderer/types.js.map +0 -1
- package/dist/src/renderer/xml-renderer.d.ts +0 -42
- package/dist/src/renderer/xml-renderer.d.ts.map +0 -1
- package/dist/src/renderer/xml-renderer.js +0 -103
- package/dist/src/renderer/xml-renderer.js.map +0 -1
- package/dist/src/server/session-store.d.ts +0 -163
- package/dist/src/server/session-store.d.ts.map +0 -1
- package/dist/src/server/session-store.js +0 -248
- package/dist/src/server/session-store.js.map +0 -1
- package/dist/src/session/session-worker-binding.d.ts +0 -57
- package/dist/src/session/session-worker-binding.d.ts.map +0 -1
- package/dist/src/session/session-worker-binding.js +0 -109
- package/dist/src/session/session-worker-binding.js.map +0 -1
- package/dist/src/shared/services/dom-transformer.service.d.ts +0 -71
- package/dist/src/shared/services/dom-transformer.service.d.ts.map +0 -1
- package/dist/src/shared/services/dom-transformer.service.js +0 -190
- package/dist/src/shared/services/dom-transformer.service.js.map +0 -1
- package/dist/src/shared/services/selector-builder.service.d.ts +0 -53
- package/dist/src/shared/services/selector-builder.service.d.ts.map +0 -1
- package/dist/src/shared/services/selector-builder.service.js +0 -240
- package/dist/src/shared/services/selector-builder.service.js.map +0 -1
- package/dist/src/state/constants.d.ts +0 -125
- package/dist/src/state/constants.d.ts.map +0 -1
- package/dist/src/state/constants.js +0 -131
- package/dist/src/state/constants.js.map +0 -1
- package/dist/src/tools/state-manager-registry.d.ts +0 -26
- package/dist/src/tools/state-manager-registry.d.ts.map +0 -1
- package/dist/src/tools/state-manager-registry.js +0 -39
- package/dist/src/tools/state-manager-registry.js.map +0 -1
package/dist/src/lib/scoring.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Element Scoring and Ranking Engine
|
|
3
|
-
*
|
|
4
|
-
* Multi-signal scoring system for ranking discovered elements
|
|
5
|
-
* by relevance to user intent.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Score an element based on multiple signals
|
|
9
|
-
*/
|
|
10
|
-
export function scoreElement(item, getRole, getName, getLabel, getSelectors, getBbox, options = {}) {
|
|
11
|
-
const normalizedRoles = (options.roles ?? []).map((role) => role.toLowerCase());
|
|
12
|
-
const rankingMode = options.rankingMode ?? 'balanced';
|
|
13
|
-
let relevance = 0;
|
|
14
|
-
const role = getRole(item)?.toLowerCase();
|
|
15
|
-
// Role matching
|
|
16
|
-
if (normalizedRoles.length === 0 && role) {
|
|
17
|
-
relevance += 0.5; // Any role is a positive signal
|
|
18
|
-
}
|
|
19
|
-
if (role && normalizedRoles.includes(role)) {
|
|
20
|
-
relevance += 2; // Exact role match is strong
|
|
21
|
-
}
|
|
22
|
-
// Name/label presence and length
|
|
23
|
-
const name = getName(item);
|
|
24
|
-
const label = getLabel(item);
|
|
25
|
-
const nameLen = name?.trim().length ?? 0;
|
|
26
|
-
const labelLen = label?.trim().length ?? 0;
|
|
27
|
-
if (nameLen > 0)
|
|
28
|
-
relevance += Math.min(1.5, nameLen / 20);
|
|
29
|
-
if (labelLen > 0)
|
|
30
|
-
relevance += Math.min(1, labelLen / 30);
|
|
31
|
-
// Selector availability
|
|
32
|
-
const selectors = getSelectors(item);
|
|
33
|
-
if (selectors.css)
|
|
34
|
-
relevance += 0.3;
|
|
35
|
-
if (selectors.xpath)
|
|
36
|
-
relevance += 0.2;
|
|
37
|
-
if (selectors.ax)
|
|
38
|
-
relevance += 0.1;
|
|
39
|
-
// Ranking mode boosts
|
|
40
|
-
if (rankingMode === 'semantic-first' && role)
|
|
41
|
-
relevance += 0.5;
|
|
42
|
-
const bbox = getBbox(item);
|
|
43
|
-
if (rankingMode === 'visual-first' && bbox)
|
|
44
|
-
relevance += 0.5;
|
|
45
|
-
return {
|
|
46
|
-
item,
|
|
47
|
-
relevance,
|
|
48
|
-
signals: {
|
|
49
|
-
role: role ?? 'unknown',
|
|
50
|
-
hasName: nameLen > 0,
|
|
51
|
-
hasLabel: labelLen > 0,
|
|
52
|
-
hasCssSelector: Boolean(selectors.css),
|
|
53
|
-
hasXpathSelector: Boolean(selectors.xpath),
|
|
54
|
-
hasAxSelector: Boolean(selectors.ax),
|
|
55
|
-
bboxArea: bbox ? bbox.w * bbox.h : 0,
|
|
56
|
-
},
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Deduplicate scored candidates by a key function
|
|
61
|
-
*/
|
|
62
|
-
export function dedupeByKey(candidates, getKey) {
|
|
63
|
-
const seen = new Map();
|
|
64
|
-
for (const candidate of candidates) {
|
|
65
|
-
const key = getKey(candidate.item);
|
|
66
|
-
const existing = seen.get(key);
|
|
67
|
-
if (!existing || candidate.relevance > existing.relevance) {
|
|
68
|
-
seen.set(key, candidate);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return Array.from(seen.values());
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Rank candidates by relevance (descending)
|
|
75
|
-
*/
|
|
76
|
-
export function rankByRelevance(candidates) {
|
|
77
|
-
return [...candidates].sort((a, b) => b.relevance - a.relevance);
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=scoring.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scoring.js","sourceRoot":"","sources":["../../../src/lib/scoring.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Selector Building Utilities
|
|
3
|
-
*
|
|
4
|
-
* Functions for building CSS and XPath selectors
|
|
5
|
-
* from semantic element information.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Build CSS selector for a given ARIA role
|
|
9
|
-
* Maps roles to both native HTML elements and ARIA attributes
|
|
10
|
-
*/
|
|
11
|
-
export declare function buildRoleSelector(role?: string): string | undefined;
|
|
12
|
-
/**
|
|
13
|
-
* Build CSS attribute selector for aria-label
|
|
14
|
-
*/
|
|
15
|
-
export declare function buildAriaLabelSelector(label: string): string;
|
|
16
|
-
/**
|
|
17
|
-
* Build CSS attribute selector for name attribute
|
|
18
|
-
*/
|
|
19
|
-
export declare function buildNameSelector(name: string): string;
|
|
20
|
-
/**
|
|
21
|
-
* Build XPath selector for text content matching
|
|
22
|
-
* Used when accessible name comes from text content (not HTML attribute)
|
|
23
|
-
*/
|
|
24
|
-
export declare function buildTextContentXPath(text: string, role?: string): string | undefined;
|
|
25
|
-
/**
|
|
26
|
-
* Build AX selector format: role=button[name*="..."]
|
|
27
|
-
*/
|
|
28
|
-
export declare function buildAxSelector(role?: string, name?: string, label?: string): string | undefined;
|
|
29
|
-
/**
|
|
30
|
-
* Combine role selector with attribute clause
|
|
31
|
-
*/
|
|
32
|
-
export declare function combineRoleAndAttribute(roleSelector?: string, attrClause?: string): string | undefined;
|
|
33
|
-
/**
|
|
34
|
-
* Determine if element.name likely represents an HTML name attribute
|
|
35
|
-
* vs an accessible name computed from text content
|
|
36
|
-
*
|
|
37
|
-
* HTML name attribute is only valid on specific elements:
|
|
38
|
-
* - Form elements: input, button, select, textarea, fieldset
|
|
39
|
-
* - Embedded content: iframe, object
|
|
40
|
-
*/
|
|
41
|
-
export declare function isLikelyHtmlNameAttribute(role?: string): boolean;
|
|
42
|
-
//# sourceMappingURL=selectors.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../../src/lib/selectors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAiCnE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAkBrF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoBhG;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,CAAC,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAcpB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAahE"}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Selector Building Utilities
|
|
3
|
-
*
|
|
4
|
-
* Functions for building CSS and XPath selectors
|
|
5
|
-
* from semantic element information.
|
|
6
|
-
*/
|
|
7
|
-
import { escapeAttributeValue, escapeXPathValue, tokenizeForMatching } from './text-utils.js';
|
|
8
|
-
/**
|
|
9
|
-
* Build CSS selector for a given ARIA role
|
|
10
|
-
* Maps roles to both native HTML elements and ARIA attributes
|
|
11
|
-
*/
|
|
12
|
-
export function buildRoleSelector(role) {
|
|
13
|
-
if (!role)
|
|
14
|
-
return undefined;
|
|
15
|
-
const normalized = role.trim().toLowerCase();
|
|
16
|
-
switch (normalized) {
|
|
17
|
-
case 'link':
|
|
18
|
-
return 'a,[role="link"]';
|
|
19
|
-
case 'button':
|
|
20
|
-
return 'button,[role="button"],input[type="button"],input[type="submit"],input[type="reset"]';
|
|
21
|
-
case 'textbox':
|
|
22
|
-
case 'searchbox':
|
|
23
|
-
return 'input[type="text"],input[type="search"],textarea,[role="textbox"]';
|
|
24
|
-
case 'checkbox':
|
|
25
|
-
return 'input[type="checkbox"],[role="checkbox"]';
|
|
26
|
-
case 'radio':
|
|
27
|
-
return 'input[type="radio"],[role="radio"]';
|
|
28
|
-
case 'combobox':
|
|
29
|
-
return 'select,[role="combobox"],input[list]';
|
|
30
|
-
case 'listbox':
|
|
31
|
-
return 'select[multiple],[role="listbox"]';
|
|
32
|
-
case 'option':
|
|
33
|
-
return 'option,[role="option"]';
|
|
34
|
-
case 'tab':
|
|
35
|
-
return '[role="tab"],.tab';
|
|
36
|
-
case 'menuitem':
|
|
37
|
-
return '[role="menuitem"],[role="menuitemcheckbox"],[role="menuitemradio"]';
|
|
38
|
-
case 'switch':
|
|
39
|
-
return '[role="switch"]';
|
|
40
|
-
case 'slider':
|
|
41
|
-
return 'input[type="range"],[role="slider"]';
|
|
42
|
-
default:
|
|
43
|
-
return undefined;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Build CSS attribute selector for aria-label
|
|
48
|
-
*/
|
|
49
|
-
export function buildAriaLabelSelector(label) {
|
|
50
|
-
const escaped = escapeAttributeValue(label);
|
|
51
|
-
return `[aria-label*="${escaped}"]`;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Build CSS attribute selector for name attribute
|
|
55
|
-
*/
|
|
56
|
-
export function buildNameSelector(name) {
|
|
57
|
-
const escaped = escapeAttributeValue(name);
|
|
58
|
-
return `[name*="${escaped}"]`;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Build XPath selector for text content matching
|
|
62
|
-
* Used when accessible name comes from text content (not HTML attribute)
|
|
63
|
-
*/
|
|
64
|
-
export function buildTextContentXPath(text, role) {
|
|
65
|
-
const tokens = tokenizeForMatching(text);
|
|
66
|
-
if (tokens.length === 0)
|
|
67
|
-
return undefined;
|
|
68
|
-
const parts = [];
|
|
69
|
-
// Add role constraint if available
|
|
70
|
-
if (role) {
|
|
71
|
-
parts.push(`@role='${escapeXPathValue(role)}'`);
|
|
72
|
-
}
|
|
73
|
-
// Add text matching for each significant token
|
|
74
|
-
const textMatches = tokens
|
|
75
|
-
.map((token) => `contains(., '${escapeXPathValue(token)}')`)
|
|
76
|
-
.join(' and ');
|
|
77
|
-
parts.push(textMatches);
|
|
78
|
-
return `//*[${parts.join(' and ')}]`;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Build AX selector format: role=button[name*="..."]
|
|
82
|
-
*/
|
|
83
|
-
export function buildAxSelector(role, name, label) {
|
|
84
|
-
const qualifierSource = name ?? label;
|
|
85
|
-
const snippet = qualifierSource?.trim();
|
|
86
|
-
if (!role && !snippet) {
|
|
87
|
-
return undefined;
|
|
88
|
-
}
|
|
89
|
-
if (!snippet && role) {
|
|
90
|
-
return `role=${role}`;
|
|
91
|
-
}
|
|
92
|
-
if (!snippet) {
|
|
93
|
-
return undefined;
|
|
94
|
-
}
|
|
95
|
-
const qualifierKey = name ? 'name' : 'label';
|
|
96
|
-
const qualifier = escapeAttributeValue(snippet, 160);
|
|
97
|
-
const prefix = role ? `role=${role}` : '';
|
|
98
|
-
return `${prefix}[${qualifierKey}*="${qualifier}"]`.trim();
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Combine role selector with attribute clause
|
|
102
|
-
*/
|
|
103
|
-
export function combineRoleAndAttribute(roleSelector, attrClause) {
|
|
104
|
-
if (roleSelector && attrClause) {
|
|
105
|
-
return roleSelector
|
|
106
|
-
.split(',')
|
|
107
|
-
.map((segment) => `${segment.trim()}${attrClause}`)
|
|
108
|
-
.join(',');
|
|
109
|
-
}
|
|
110
|
-
if (roleSelector) {
|
|
111
|
-
return roleSelector;
|
|
112
|
-
}
|
|
113
|
-
if (attrClause) {
|
|
114
|
-
return `*${attrClause}`;
|
|
115
|
-
}
|
|
116
|
-
return undefined;
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Determine if element.name likely represents an HTML name attribute
|
|
120
|
-
* vs an accessible name computed from text content
|
|
121
|
-
*
|
|
122
|
-
* HTML name attribute is only valid on specific elements:
|
|
123
|
-
* - Form elements: input, button, select, textarea, fieldset
|
|
124
|
-
* - Embedded content: iframe, object
|
|
125
|
-
*/
|
|
126
|
-
export function isLikelyHtmlNameAttribute(role) {
|
|
127
|
-
if (!role)
|
|
128
|
-
return true; // No role info, assume it could be HTML name attribute
|
|
129
|
-
const normalized = role.toLowerCase();
|
|
130
|
-
// Native HTML elements that have actual name attributes
|
|
131
|
-
const NATIVE_HTML_ROLES = new Set([
|
|
132
|
-
'textbox', // Could be <input> or <textarea> with name attribute
|
|
133
|
-
'searchbox', // Could be <input type="search"> with name attribute
|
|
134
|
-
'combobox', // Could be <select> with name attribute
|
|
135
|
-
]);
|
|
136
|
-
return NATIVE_HTML_ROLES.has(normalized);
|
|
137
|
-
}
|
|
138
|
-
//# sourceMappingURL=selectors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../src/lib/selectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Budget Manager
|
|
3
|
-
*
|
|
4
|
-
* Manages token budget and applies truncation when needed.
|
|
5
|
-
*/
|
|
6
|
-
import type { TokenBudget, RenderedSection } from './types.js';
|
|
7
|
-
/**
|
|
8
|
-
* Result of budget application.
|
|
9
|
-
*/
|
|
10
|
-
export interface BudgetResult {
|
|
11
|
-
/** Final content after budget application */
|
|
12
|
-
content: string;
|
|
13
|
-
/** Estimated token count */
|
|
14
|
-
tokens: number;
|
|
15
|
-
/** Was truncation applied? */
|
|
16
|
-
was_truncated: boolean;
|
|
17
|
-
/** Original token count before truncation */
|
|
18
|
-
original_tokens: number;
|
|
19
|
-
/** Which sections were truncated */
|
|
20
|
-
truncated_sections: string[];
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Apply token budget to rendered sections.
|
|
24
|
-
*
|
|
25
|
-
* Strategy:
|
|
26
|
-
* 1. If under target, return as-is
|
|
27
|
-
* 2. If over target but under cap, progressively truncate by priority
|
|
28
|
-
* 3. If still over cap, hard truncate with marker
|
|
29
|
-
*
|
|
30
|
-
* @param sections - Rendered sections sorted by document order
|
|
31
|
-
* @param budget - Token budget tier
|
|
32
|
-
* @returns Budget result with final content
|
|
33
|
-
*/
|
|
34
|
-
export declare function applyBudget(sections: RenderedSection[], budget: TokenBudget): BudgetResult;
|
|
35
|
-
/**
|
|
36
|
-
* Check if content is within budget.
|
|
37
|
-
*/
|
|
38
|
-
export declare function isWithinBudget(content: string, budget: TokenBudget): boolean;
|
|
39
|
-
/**
|
|
40
|
-
* Get budget limits for a tier.
|
|
41
|
-
*/
|
|
42
|
-
export declare function getBudgetLimits(budget: TokenBudget): {
|
|
43
|
-
target: number;
|
|
44
|
-
cap: number;
|
|
45
|
-
};
|
|
46
|
-
//# sourceMappingURL=budget-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"budget-manager.d.ts","sourceRoot":"","sources":["../../../src/renderer/budget-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAEhB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IAEf,8BAA8B;IAC9B,aAAa,EAAE,OAAO,CAAC;IAEvB,6CAA6C;IAC7C,eAAe,EAAE,MAAM,CAAC;IAExB,oCAAoC;IACpC,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,YAAY,CAiF1F;AA0CD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAG5E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAEpF"}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Budget Manager
|
|
3
|
-
*
|
|
4
|
-
* Manages token budget and applies truncation when needed.
|
|
5
|
-
*/
|
|
6
|
-
import { TOKEN_BUDGETS } from './constants.js';
|
|
7
|
-
import { estimateTokens } from './token-counter.js';
|
|
8
|
-
/**
|
|
9
|
-
* Apply token budget to rendered sections.
|
|
10
|
-
*
|
|
11
|
-
* Strategy:
|
|
12
|
-
* 1. If under target, return as-is
|
|
13
|
-
* 2. If over target but under cap, progressively truncate by priority
|
|
14
|
-
* 3. If still over cap, hard truncate with marker
|
|
15
|
-
*
|
|
16
|
-
* @param sections - Rendered sections sorted by document order
|
|
17
|
-
* @param budget - Token budget tier
|
|
18
|
-
* @returns Budget result with final content
|
|
19
|
-
*/
|
|
20
|
-
export function applyBudget(sections, budget) {
|
|
21
|
-
const limits = TOKEN_BUDGETS[budget];
|
|
22
|
-
// Join sections with newlines
|
|
23
|
-
let content = joinSections(sections);
|
|
24
|
-
const originalTokens = estimateTokens(content);
|
|
25
|
-
// Under target? Return as-is
|
|
26
|
-
if (originalTokens <= limits.target) {
|
|
27
|
-
return {
|
|
28
|
-
content: wrapInPageContext(content),
|
|
29
|
-
tokens: estimateTokens(wrapInPageContext(content)),
|
|
30
|
-
was_truncated: false,
|
|
31
|
-
original_tokens: originalTokens,
|
|
32
|
-
truncated_sections: [],
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
// Over target - need to truncate
|
|
36
|
-
const truncatedSections = [];
|
|
37
|
-
// Sort sections by truncation priority (lower = truncate first)
|
|
38
|
-
const sortedSections = [...sections].sort((a, b) => a.truncation_priority - b.truncation_priority);
|
|
39
|
-
// Progressive truncation
|
|
40
|
-
const workingSections = [...sections];
|
|
41
|
-
for (const section of sortedSections) {
|
|
42
|
-
// Check if we're under cap now
|
|
43
|
-
content = joinSections(workingSections);
|
|
44
|
-
const currentTokens = estimateTokens(content);
|
|
45
|
-
if (currentTokens <= limits.cap) {
|
|
46
|
-
break;
|
|
47
|
-
}
|
|
48
|
-
// Try to truncate this section
|
|
49
|
-
if (section.can_truncate) {
|
|
50
|
-
const sectionIndex = workingSections.findIndex((s) => s.name === section.name);
|
|
51
|
-
if (sectionIndex !== -1) {
|
|
52
|
-
const truncatedSection = {
|
|
53
|
-
...workingSections[sectionIndex],
|
|
54
|
-
content: workingSections[sectionIndex].truncated_content ??
|
|
55
|
-
workingSections[sectionIndex].content,
|
|
56
|
-
};
|
|
57
|
-
// If truncated_content is empty, remove the section entirely
|
|
58
|
-
if (truncatedSection.content === '') {
|
|
59
|
-
workingSections.splice(sectionIndex, 1);
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
workingSections[sectionIndex] = truncatedSection;
|
|
63
|
-
}
|
|
64
|
-
truncatedSections.push(section.name);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
// Final content
|
|
69
|
-
content = joinSections(workingSections);
|
|
70
|
-
let tokens = estimateTokens(content);
|
|
71
|
-
// If still over cap, hard truncate
|
|
72
|
-
if (tokens > limits.cap) {
|
|
73
|
-
content = hardTruncate(content, limits.cap);
|
|
74
|
-
tokens = estimateTokens(content);
|
|
75
|
-
if (!truncatedSections.includes('hard-truncate')) {
|
|
76
|
-
truncatedSections.push('hard-truncate');
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return {
|
|
80
|
-
content: wrapInPageContext(content),
|
|
81
|
-
tokens: estimateTokens(wrapInPageContext(content)),
|
|
82
|
-
was_truncated: true,
|
|
83
|
-
original_tokens: originalTokens,
|
|
84
|
-
truncated_sections: truncatedSections,
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Join sections with double newlines.
|
|
89
|
-
*/
|
|
90
|
-
function joinSections(sections) {
|
|
91
|
-
return sections.map((s) => s.content).join('\n\n');
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Wrap content in <page_context> root element.
|
|
95
|
-
*/
|
|
96
|
-
function wrapInPageContext(content) {
|
|
97
|
-
return `<page_context>\n${content}\n</page_context>`;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Hard truncate content to fit within token limit.
|
|
101
|
-
* Adds a truncation marker.
|
|
102
|
-
*/
|
|
103
|
-
function hardTruncate(content, maxTokens) {
|
|
104
|
-
const marker = '\n[...truncated]';
|
|
105
|
-
const markerTokens = estimateTokens(marker);
|
|
106
|
-
const targetContentTokens = maxTokens - markerTokens - 10; // Buffer for wrapper
|
|
107
|
-
// Estimate characters for target tokens
|
|
108
|
-
const targetChars = targetContentTokens * 4;
|
|
109
|
-
if (content.length <= targetChars) {
|
|
110
|
-
return content;
|
|
111
|
-
}
|
|
112
|
-
// Find a good break point (end of line)
|
|
113
|
-
let breakPoint = content.lastIndexOf('\n', targetChars);
|
|
114
|
-
if (breakPoint === -1 || breakPoint < targetChars * 0.7) {
|
|
115
|
-
// No good line break, just truncate
|
|
116
|
-
breakPoint = targetChars;
|
|
117
|
-
}
|
|
118
|
-
return content.slice(0, breakPoint) + marker;
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Check if content is within budget.
|
|
122
|
-
*/
|
|
123
|
-
export function isWithinBudget(content, budget) {
|
|
124
|
-
const limits = TOKEN_BUDGETS[budget];
|
|
125
|
-
return estimateTokens(content) <= limits.cap;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Get budget limits for a tier.
|
|
129
|
-
*/
|
|
130
|
-
export function getBudgetLimits(budget) {
|
|
131
|
-
return TOKEN_BUDGETS[budget];
|
|
132
|
-
}
|
|
133
|
-
//# sourceMappingURL=budget-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"budget-manager.js","sourceRoot":"","sources":["../../../src/renderer/budget-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAuBpD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CAAC,QAA2B,EAAE,MAAmB;IAC1E,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAErC,8BAA8B;IAC9B,IAAI,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAE/C,6BAA6B;IAC7B,IAAI,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACpC,OAAO;YACL,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;YACnC,MAAM,EAAE,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClD,aAAa,EAAE,KAAK;YACpB,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,EAAE;SACvB,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,MAAM,iBAAiB,GAAa,EAAE,CAAC;IAEvC,gEAAgE;IAChE,MAAM,cAAc,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,mBAAmB,CACxD,CAAC;IAEF,yBAAyB;IACzB,MAAM,eAAe,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAEtC,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,+BAA+B;QAC/B,OAAO,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;QACxC,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAE9C,IAAI,aAAa,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM;QACR,CAAC;QAED,+BAA+B;QAC/B,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/E,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;gBACxB,MAAM,gBAAgB,GAAG;oBACvB,GAAG,eAAe,CAAC,YAAY,CAAC;oBAChC,OAAO,EACL,eAAe,CAAC,YAAY,CAAC,CAAC,iBAAiB;wBAC/C,eAAe,CAAC,YAAY,CAAC,CAAC,OAAO;iBACxC,CAAC;gBAEF,6DAA6D;gBAC7D,IAAI,gBAAgB,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;oBACpC,eAAe,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,eAAe,CAAC,YAAY,CAAC,GAAG,gBAAgB,CAAC;gBACnD,CAAC;gBAED,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,OAAO,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;IACxC,IAAI,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAErC,mCAAmC;IACnC,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;QACxB,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACjD,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;QACnC,MAAM,EAAE,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,aAAa,EAAE,IAAI;QACnB,eAAe,EAAE,cAAc;QAC/B,kBAAkB,EAAE,iBAAiB;KACtC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,QAA2B;IAC/C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO,mBAAmB,OAAO,mBAAmB,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,OAAe,EAAE,SAAiB;IACtD,MAAM,MAAM,GAAG,kBAAkB,CAAC;IAClC,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,mBAAmB,GAAG,SAAS,GAAG,YAAY,GAAG,EAAE,CAAC,CAAC,qBAAqB;IAEhF,wCAAwC;IACxC,MAAM,WAAW,GAAG,mBAAmB,GAAG,CAAC,CAAC;IAE5C,IAAI,OAAO,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,wCAAwC;IACxC,IAAI,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACxD,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,UAAU,GAAG,WAAW,GAAG,GAAG,EAAE,CAAC;QACxD,oCAAoC;QACpC,UAAU,GAAG,WAAW,CAAC;IAC3B,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,MAAmB;IACjE,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,OAAO,cAAc,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Renderer Constants
|
|
3
|
-
*
|
|
4
|
-
* Token budget configuration for page_brief rendering.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Token budget tiers for different use cases.
|
|
8
|
-
* - target: Ideal token count to stay under
|
|
9
|
-
* - cap: Hard limit, will truncate to meet this
|
|
10
|
-
*/
|
|
11
|
-
export declare const TOKEN_BUDGETS: {
|
|
12
|
-
/** Compact: For embedding in large prompts */
|
|
13
|
-
readonly compact: {
|
|
14
|
-
readonly target: 400;
|
|
15
|
-
readonly cap: 800;
|
|
16
|
-
};
|
|
17
|
-
/** Standard: Default for all page loads */
|
|
18
|
-
readonly standard: {
|
|
19
|
-
readonly target: 1000;
|
|
20
|
-
readonly cap: 2000;
|
|
21
|
-
};
|
|
22
|
-
/** Detailed: Full context when explicitly requested */
|
|
23
|
-
readonly detailed: {
|
|
24
|
-
readonly target: 2500;
|
|
25
|
-
readonly cap: 5000;
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
/** Default budget tier */
|
|
29
|
-
export declare const DEFAULT_BUDGET: "standard";
|
|
30
|
-
/** Maximum token cap across all tiers */
|
|
31
|
-
export declare const MAX_TOKEN_CAP = 5000;
|
|
32
|
-
/** Default number of actions to include */
|
|
33
|
-
export declare const DEFAULT_MAX_ACTIONS = 12;
|
|
34
|
-
/** Minimum actions to keep during truncation */
|
|
35
|
-
export declare const MIN_ACTIONS_ON_TRUNCATE = 5;
|
|
36
|
-
/** Characters per token (rough estimate for truncation) */
|
|
37
|
-
export declare const CHARS_PER_TOKEN = 4;
|
|
38
|
-
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/renderer/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,eAAO,MAAM,aAAa;IACxB,8CAA8C;;;;;IAG9C,2CAA2C;;;;;IAG3C,uDAAuD;;;;;CAE/C,CAAC;AAEX,0BAA0B;AAC1B,eAAO,MAAM,cAAc,EAAG,UAAmB,CAAC;AAElD,yCAAyC;AACzC,eAAO,MAAM,aAAa,OAAO,CAAC;AAElC,2CAA2C;AAC3C,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,gDAAgD;AAChD,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,2DAA2D;AAC3D,eAAO,MAAM,eAAe,IAAI,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Renderer Constants
|
|
3
|
-
*
|
|
4
|
-
* Token budget configuration for page_brief rendering.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Token budget tiers for different use cases.
|
|
8
|
-
* - target: Ideal token count to stay under
|
|
9
|
-
* - cap: Hard limit, will truncate to meet this
|
|
10
|
-
*/
|
|
11
|
-
export const TOKEN_BUDGETS = {
|
|
12
|
-
/** Compact: For embedding in large prompts */
|
|
13
|
-
compact: { target: 400, cap: 800 },
|
|
14
|
-
/** Standard: Default for all page loads */
|
|
15
|
-
standard: { target: 1000, cap: 2000 },
|
|
16
|
-
/** Detailed: Full context when explicitly requested */
|
|
17
|
-
detailed: { target: 2500, cap: 5000 },
|
|
18
|
-
};
|
|
19
|
-
/** Default budget tier */
|
|
20
|
-
export const DEFAULT_BUDGET = 'standard';
|
|
21
|
-
/** Maximum token cap across all tiers */
|
|
22
|
-
export const MAX_TOKEN_CAP = 5000;
|
|
23
|
-
/** Default number of actions to include */
|
|
24
|
-
export const DEFAULT_MAX_ACTIONS = 12;
|
|
25
|
-
/** Minimum actions to keep during truncation */
|
|
26
|
-
export const MIN_ACTIONS_ON_TRUNCATE = 5;
|
|
27
|
-
/** Characters per token (rough estimate for truncation) */
|
|
28
|
-
export const CHARS_PER_TOKEN = 4;
|
|
29
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/renderer/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,8CAA8C;IAC9C,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IAElC,2CAA2C;IAC3C,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;IAErC,uDAAuD;IACvD,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;CAC7B,CAAC;AAEX,0BAA0B;AAC1B,MAAM,CAAC,MAAM,cAAc,GAAG,UAAmB,CAAC;AAElD,yCAAyC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAElC,2CAA2C;AAC3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC,gDAAgD;AAChD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC,2DAA2D;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Renderer Module
|
|
3
|
-
*
|
|
4
|
-
* Exports for FactPack rendering to XML format.
|
|
5
|
-
*/
|
|
6
|
-
export { renderFactPackXml, renderFactPackXmlRaw, generatePageBrief, estimateFactPackTokens, } from './xml-renderer.js';
|
|
7
|
-
export { applyBudget, isWithinBudget, getBudgetLimits } from './budget-manager.js';
|
|
8
|
-
export { estimateTokens, tokensOverBudget, isWithinBudget as isWithinTokenBudget, estimateTokenSavings, } from './token-counter.js';
|
|
9
|
-
export { TOKEN_BUDGETS, DEFAULT_BUDGET, MAX_TOKEN_CAP, DEFAULT_MAX_ACTIONS, MIN_ACTIONS_ON_TRUNCATE, CHARS_PER_TOKEN, } from './constants.js';
|
|
10
|
-
export type { TokenBudget, OutputFormat, RenderOptions, PageBriefResult, RenderedSection, TruncationContext, } from './types.js';
|
|
11
|
-
export { renderPageSection, renderDialogsSection, renderFormsSection, renderActionsSection, renderStateSection, TRUNCATION_PRIORITY, } from './section-renderers.js';
|
|
12
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderer/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGnF,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,IAAI,mBAAmB,EACrC,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,eAAe,EACf,eAAe,EACf,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Renderer Module
|
|
3
|
-
*
|
|
4
|
-
* Exports for FactPack rendering to XML format.
|
|
5
|
-
*/
|
|
6
|
-
// XML renderer
|
|
7
|
-
export { renderFactPackXml, renderFactPackXmlRaw, generatePageBrief, estimateFactPackTokens, } from './xml-renderer.js';
|
|
8
|
-
// Budget management
|
|
9
|
-
export { applyBudget, isWithinBudget, getBudgetLimits } from './budget-manager.js';
|
|
10
|
-
// Token counting
|
|
11
|
-
export { estimateTokens, tokensOverBudget, isWithinBudget as isWithinTokenBudget, estimateTokenSavings, } from './token-counter.js';
|
|
12
|
-
// Constants
|
|
13
|
-
export { TOKEN_BUDGETS, DEFAULT_BUDGET, MAX_TOKEN_CAP, DEFAULT_MAX_ACTIONS, MIN_ACTIONS_ON_TRUNCATE, CHARS_PER_TOKEN, } from './constants.js';
|
|
14
|
-
// Section renderers (for testing/customization)
|
|
15
|
-
export { renderPageSection, renderDialogsSection, renderFormsSection, renderActionsSection, renderStateSection, TRUNCATION_PRIORITY, } from './section-renderers.js';
|
|
16
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renderer/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAe;AACf,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,oBAAoB;AACpB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEnF,iBAAiB;AACjB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,IAAI,mBAAmB,EACrC,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,YAAY;AACZ,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAYxB,gDAAgD;AAChD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Section Renderers
|
|
3
|
-
*
|
|
4
|
-
* Individual renderers for each FactPack section.
|
|
5
|
-
* Each renderer produces XML-compact output.
|
|
6
|
-
*/
|
|
7
|
-
import type { PageClassificationResult, DialogDetectionResult, FormDetectionResult, ActionSelectionResult, FactPack } from '../factpack/types.js';
|
|
8
|
-
import type { RenderOptions, RenderedSection } from './types.js';
|
|
9
|
-
/**
|
|
10
|
-
* Truncation priority constants (lower = cut first).
|
|
11
|
-
*/
|
|
12
|
-
export declare const TRUNCATION_PRIORITY: {
|
|
13
|
-
readonly STATE: 1;
|
|
14
|
-
readonly ACTIONS_EXTRA: 2;
|
|
15
|
-
readonly FORM_DETAILS: 3;
|
|
16
|
-
readonly DIALOG_SECONDARY: 4;
|
|
17
|
-
readonly FORMS: 5;
|
|
18
|
-
readonly DIALOGS: 6;
|
|
19
|
-
readonly ACTIONS_CORE: 7;
|
|
20
|
-
readonly PAGE: 8;
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Render the <page> section.
|
|
24
|
-
*/
|
|
25
|
-
export declare function renderPageSection(pageResult: PageClassificationResult): RenderedSection;
|
|
26
|
-
/**
|
|
27
|
-
* Render the <dialogs> section.
|
|
28
|
-
*/
|
|
29
|
-
export declare function renderDialogsSection(dialogResult: DialogDetectionResult): RenderedSection;
|
|
30
|
-
/**
|
|
31
|
-
* Render the <forms> section.
|
|
32
|
-
*/
|
|
33
|
-
export declare function renderFormsSection(formResult: FormDetectionResult, _options: RenderOptions): RenderedSection;
|
|
34
|
-
/**
|
|
35
|
-
* Render the <actions> section.
|
|
36
|
-
*/
|
|
37
|
-
export declare function renderActionsSection(actionResult: ActionSelectionResult, options: RenderOptions): RenderedSection;
|
|
38
|
-
/**
|
|
39
|
-
* Render the <state> section.
|
|
40
|
-
*/
|
|
41
|
-
export declare function renderStateSection(factpack: FactPack, options: RenderOptions): RenderedSection;
|
|
42
|
-
//# sourceMappingURL=section-renderers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"section-renderers.d.ts","sourceRoot":"","sources":["../../../src/renderer/section-renderers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EAKrB,QAAQ,EACT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGjE;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;CAStB,CAAC;AAEX;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,wBAAwB,GAAG,eAAe,CAuBvF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,qBAAqB,GAAG,eAAe,CAmCzF;AAmBD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,mBAAmB,EAC/B,QAAQ,EAAE,aAAa,GACtB,eAAe,CA0CjB;AAyDD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,qBAAqB,EACnC,OAAO,EAAE,aAAa,GACrB,eAAe,CAsCjB;AASD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,GAAG,eAAe,CAyB9F"}
|