aiex-cli 0.0.2-beta.5 → 0.0.2-beta.6
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 +4 -20
- package/dist/cli.mjs +50 -12
- package/dist/{doctor-collector-Bepn5bEl.mjs → doctor-collector-DV4s3Xx0.mjs} +1 -1
- package/dist/index.mjs +1 -1
- package/dist/web/assets/AISettings-DaT-2xRB.js +346 -0
- package/dist/web/assets/{index-DAwZkxFj.js → index-B8rPityE.js} +2 -2
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
- package/dist/web/assets/AISettings-CZUmAov6.js +0 -346
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ npm install -g aiex-cli
|
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
-
aiex web # configure schemas
|
|
24
|
+
aiex web # configure schemas, AI, integrations, and inspect data
|
|
25
25
|
aiex schema # generate SQLite from JSON Schema files
|
|
26
26
|
aiex extract -s invoice -f invoice.pdf # extract data with AI and insert into database
|
|
27
27
|
```
|
|
@@ -31,11 +31,11 @@ aiex extract -s invoice -f invoice.pdf # extract data with AI and insert into d
|
|
|
31
31
|
## ✨ Features
|
|
32
32
|
|
|
33
33
|
- **JSON Schema → SQLite** — Define tables as JSON Schema files, generate Drizzle ORM schema, and migrate to SQLite
|
|
34
|
-
- **Web Configuration & Viewer** — Browser-based UI for designing schemas, configuring
|
|
34
|
+
- **Web Configuration & Viewer** — Browser-based UI for designing schemas, configuring integrations, previewing prompts, and browsing extracted data
|
|
35
35
|
- **AI Extraction** — Extract structured data from text, images, and PDFs using any OpenAI-compatible provider (OpenAI, Anthropic, Ollama, DeepSeek, local models, etc.)
|
|
36
36
|
- **Interactive Mode** — Run `aiex extract` without arguments for a guided extraction workflow
|
|
37
37
|
- **Batch Mode** — `aiex extract -d <dir>` processes entire directories with optional glob filtering
|
|
38
|
-
- **Notion Sync** —
|
|
38
|
+
- **Notion Sync** — Optionally sync CLI extraction results to configured Notion data sources
|
|
39
39
|
- **Extraction Audit Trail** — Every extraction is recorded with status, input source, output path, token usage, database inserts, Notion pages, and errors
|
|
40
40
|
- **Built-in Model Registry** — Knows capabilities of 2000+ models (vision, structured output) so you don't have to guess
|
|
41
41
|
|
|
@@ -49,7 +49,7 @@ aiex extract -s invoice -f invoice.pdf # extract data with AI and insert into d
|
|
|
49
49
|
aiex web
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
Opens a browser UI where you can visually design and manage your schemas, configure AI and
|
|
52
|
+
Opens a browser UI where you can visually design and manage your schemas, configure AI and integrations, preview extraction prompts, browse inserted SQLite data, inspect extracted JSON files, and apply schema changes to the database. Extraction itself runs from the CLI.
|
|
53
53
|
|
|
54
54
|
### 2. Generate Database
|
|
55
55
|
|
|
@@ -146,22 +146,6 @@ aiex works with any OpenAI-compatible API provider. Configure in the Web UI (AI
|
|
|
146
146
|
|
|
147
147
|
The built-in model registry automatically suggests capabilities for 2000+ models from providers including OpenAI, Anthropic, Google, Meta, Mistral, DeepSeek, Alibaba Cloud, and more.
|
|
148
148
|
|
|
149
|
-
### Notion Sync
|
|
150
|
-
|
|
151
|
-
aiex can sync extracted CLI results to Notion after extraction succeeds. When SQLite insertion is enabled, Notion sync runs after the database insert succeeds.
|
|
152
|
-
|
|
153
|
-
Configure it in Web UI → AI Settings → Notion Export:
|
|
154
|
-
|
|
155
|
-
- **Enabled** — Turn on Notion export and enter a Notion integration token
|
|
156
|
-
- **Schema Binding** — Select a JSON Schema and bind it to one Notion data source
|
|
157
|
-
- **Database/Data Source URL or ID** — Paste a Notion database or data source URL/ID; aiex resolves database links to their first data source
|
|
158
|
-
- **Test & Auto Map** — Optional but recommended for first-time setup; verifies access, resolves the data source ID, reads Notion properties, and fills matching field mappings
|
|
159
|
-
- **Field Map JSON** — Maps extracted top-level JSON fields to Notion property names, for example `{ "reportNumber": "reportNumber" }`
|
|
160
|
-
|
|
161
|
-
Once enabled and saved, `aiex extract` automatically syncs results for schemas that have a Notion binding. No extra CLI flag is required. Notion sync uses the current Notion data source API and writes pages with `parent.data_source_id`.
|
|
162
|
-
|
|
163
|
-
Nested schema fields are not flattened for Notion yet. The current mapping behavior is top-level fields only.
|
|
164
|
-
|
|
165
149
|
### Langfuse Tracing
|
|
166
150
|
|
|
167
151
|
aiex can send AI model interaction traces to [Langfuse](https://langfuse.com) for monitoring and debugging.
|
package/dist/cli.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { S as version, T as formatDoctorDiagnosticsJson, _ as createConfig, a as parseJsonSchema, b as name, c as getDefaultAIConfig, d as DEFAULT_MARKITDOWN_CONFIG, f as DEFAULT_MINERU_CONFIG, g as AIConfigSchema, h as PLACEHOLDER_TEXT, i as JsonSchemaDefinitionSchema, l as readAIConfig, m as PLACEHOLDER_SCHEMA, n as createMigrationConfig, o as toSnakeCase, p as DEFAULT_PROMPT_CONFIG, s as generateDrizzleSchema, t as collectDoctorDiagnostics, u as writeAIConfig, v as seedConfig, w as doctorDiagnosticsTableRows, x as package_default, y as description } from "./doctor-collector-
|
|
1
|
+
import { S as version, T as formatDoctorDiagnosticsJson, _ as createConfig, a as parseJsonSchema, b as name, c as getDefaultAIConfig, d as DEFAULT_MARKITDOWN_CONFIG, f as DEFAULT_MINERU_CONFIG, g as AIConfigSchema, h as PLACEHOLDER_TEXT, i as JsonSchemaDefinitionSchema, l as readAIConfig, m as PLACEHOLDER_SCHEMA, n as createMigrationConfig, o as toSnakeCase, p as DEFAULT_PROMPT_CONFIG, s as generateDrizzleSchema, t as collectDoctorDiagnostics, u as writeAIConfig, v as seedConfig, w as doctorDiagnosticsTableRows, x as package_default, y as description } from "./doctor-collector-DV4s3Xx0.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import fs from "node:fs/promises";
|
|
4
4
|
import os from "node:os";
|
|
@@ -13541,6 +13541,32 @@ function asStringArray(value) {
|
|
|
13541
13541
|
const text$1 = stringifyValue(value).trim();
|
|
13542
13542
|
return text$1 ? [text$1] : [];
|
|
13543
13543
|
}
|
|
13544
|
+
function getValueAtPath(data, path$1) {
|
|
13545
|
+
if (!path$1.includes(".")) return Object.hasOwn(data, path$1) ? {
|
|
13546
|
+
found: true,
|
|
13547
|
+
value: data[path$1]
|
|
13548
|
+
} : {
|
|
13549
|
+
found: false,
|
|
13550
|
+
value: void 0
|
|
13551
|
+
};
|
|
13552
|
+
let current = data;
|
|
13553
|
+
for (const part of path$1.split(".")) {
|
|
13554
|
+
if (!current || typeof current !== "object" || Array.isArray(current)) return {
|
|
13555
|
+
found: false,
|
|
13556
|
+
value: void 0
|
|
13557
|
+
};
|
|
13558
|
+
const record = current;
|
|
13559
|
+
if (!Object.hasOwn(record, part)) return {
|
|
13560
|
+
found: false,
|
|
13561
|
+
value: void 0
|
|
13562
|
+
};
|
|
13563
|
+
current = record[part];
|
|
13564
|
+
}
|
|
13565
|
+
return {
|
|
13566
|
+
found: true,
|
|
13567
|
+
value: current
|
|
13568
|
+
};
|
|
13569
|
+
}
|
|
13544
13570
|
function buildPropertyValue(type, value) {
|
|
13545
13571
|
const text$1 = truncateText(stringifyValue(value));
|
|
13546
13572
|
switch (type) {
|
|
@@ -13669,11 +13695,14 @@ async function writeNotionPage(config, schemaName, data) {
|
|
|
13669
13695
|
const databaseProperties = resolved.properties;
|
|
13670
13696
|
const fieldMap = schemaConfig.fieldMap ?? {};
|
|
13671
13697
|
const properties = {};
|
|
13672
|
-
|
|
13698
|
+
const sourceFields = new Set([...Object.keys(data), ...Object.keys(fieldMap)]);
|
|
13699
|
+
for (const sourceField of sourceFields) {
|
|
13700
|
+
const source = getValueAtPath(data, sourceField);
|
|
13701
|
+
if (!source.found) continue;
|
|
13673
13702
|
const notionPropertyName = fieldMap[sourceField] ?? sourceField;
|
|
13674
13703
|
const notionProperty = databaseProperties[notionPropertyName];
|
|
13675
13704
|
if (!notionProperty) continue;
|
|
13676
|
-
const propertyValue = buildPropertyValue(notionProperty.type,
|
|
13705
|
+
const propertyValue = buildPropertyValue(notionProperty.type, source.value);
|
|
13677
13706
|
if (propertyValue) properties[notionPropertyName] = propertyValue;
|
|
13678
13707
|
}
|
|
13679
13708
|
const titleProperty = findTitleProperty(databaseProperties, schemaConfig.titleProperty);
|
|
@@ -14812,15 +14841,24 @@ const schemaCommand = defineCommand({
|
|
|
14812
14841
|
const JSON_EXT_RE = /\.json$/i;
|
|
14813
14842
|
function extractSchemaFields(schema) {
|
|
14814
14843
|
if (!schema?.properties || typeof schema.properties !== "object") return [];
|
|
14815
|
-
|
|
14816
|
-
|
|
14817
|
-
|
|
14818
|
-
|
|
14819
|
-
|
|
14820
|
-
|
|
14821
|
-
|
|
14822
|
-
|
|
14823
|
-
|
|
14844
|
+
const fields = [];
|
|
14845
|
+
function visitProperties(properties, prefix = "") {
|
|
14846
|
+
for (const [name$1, property] of Object.entries(properties)) {
|
|
14847
|
+
const fieldName = prefix ? `${prefix}.${name$1}` : name$1;
|
|
14848
|
+
if (property?.type === "object" && property?.properties && typeof property.properties === "object") {
|
|
14849
|
+
visitProperties(property.properties, fieldName);
|
|
14850
|
+
continue;
|
|
14851
|
+
}
|
|
14852
|
+
if (property?.type === "array" && property?.items?.type === "object") continue;
|
|
14853
|
+
fields.push({
|
|
14854
|
+
name: fieldName,
|
|
14855
|
+
title: typeof property?.title === "string" ? property.title : void 0,
|
|
14856
|
+
description: typeof property?.description === "string" ? property.description : void 0
|
|
14857
|
+
});
|
|
14858
|
+
}
|
|
14859
|
+
}
|
|
14860
|
+
visitProperties(schema.properties);
|
|
14861
|
+
return fields;
|
|
14824
14862
|
}
|
|
14825
14863
|
async function loadSchemaFields(config, schemaName) {
|
|
14826
14864
|
const safeName = path.basename(schemaName).replace(JSON_EXT_RE, "");
|
|
@@ -65,7 +65,7 @@ function doctorDiagnosticsTableRows(d) {
|
|
|
65
65
|
//#endregion
|
|
66
66
|
//#region package.json
|
|
67
67
|
var name = "aiex-cli";
|
|
68
|
-
var version = "0.0.2-beta.
|
|
68
|
+
var version = "0.0.2-beta.6";
|
|
69
69
|
var description = "JSON Schema → SQLite with AI-powered data extraction";
|
|
70
70
|
var package_default = {
|
|
71
71
|
name,
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { C as buildDoctorDiagnostics, T as formatDoctorDiagnosticsJson, a as parseJsonSchema, i as JsonSchemaDefinitionSchema, n as createMigrationConfig, r as generateDrizzleConfig, s as generateDrizzleSchema, t as collectDoctorDiagnostics, w as doctorDiagnosticsTableRows } from "./doctor-collector-
|
|
1
|
+
import { C as buildDoctorDiagnostics, T as formatDoctorDiagnosticsJson, a as parseJsonSchema, i as JsonSchemaDefinitionSchema, n as createMigrationConfig, r as generateDrizzleConfig, s as generateDrizzleSchema, t as collectDoctorDiagnostics, w as doctorDiagnosticsTableRows } from "./doctor-collector-DV4s3Xx0.mjs";
|
|
2
2
|
|
|
3
3
|
export { JsonSchemaDefinitionSchema, buildDoctorDiagnostics, collectDoctorDiagnostics, createMigrationConfig, doctorDiagnosticsTableRows, formatDoctorDiagnosticsJson, generateDrizzleConfig, generateDrizzleSchema, parseJsonSchema };
|
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
import{B as e,H as t,Jt as n,K as r,L as ee,Lt as i,M as a,Pn as o,Pt as s,Q as c,R as te,S as l,Sn as u,Tn as d,U as f,W as p,Yt as m,_ as h,c as g,d as ne,et as re,g as _,h as v,ht as y,i as b,in as x,j as S,jn as ie,lt as C,m as w,nt as ae,t as T,un as oe,v as E,w as D,x as O}from"./button-Cdgr9Igy.js";import{i as k,n as A,r as se,s as j,t as ce}from"./dialog-CUkPLPNP.js";import{s as le,t as ue}from"./runtime-dom.esm-bundler-ei_N7Xjw.js";import{a as de,f as fe,g as M,n as pe,p as me,s as he}from"./api-client-BF3HG2Vn.js";import{i as N,n as P,o as F,r as I,t as ge}from"./select-BGex2SPs.js";var L={name:`MinusIcon`,extends:b};function _e(e){return B(e)||z(e)||R(e)||ve()}function ve(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function R(e,t){if(e){if(typeof e==`string`)return V(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?V(e,t):void 0}}function z(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function B(e){if(Array.isArray(e))return V(e)}function V(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function H(t,n,r,ee,i,o){return e(),E(`svg`,a({width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},t.pti()),_e(n[0]||=[v(`path`,{d:`M13.2222 7.77778H0.777778C0.571498 7.77778 0.373667 7.69584 0.227806 7.54998C0.0819442 7.40412 0 7.20629 0 7.00001C0 6.79373 0.0819442 6.5959 0.227806 6.45003C0.373667 6.30417 0.571498 6.22223 0.777778 6.22223H13.2222C13.4285 6.22223 13.6263 6.30417 13.7722 6.45003C13.9181 6.5959 14 6.79373 14 7.00001C14 7.20629 13.9181 7.40412 13.7722 7.54998C13.6263 7.69584 13.4285 7.77778 13.2222 7.77778Z`,fill:`currentColor`},null,-1)]),16)}L.render=H;var U=g.extend({name:`checkbox`,style:`
|
|
3
|
+
.p-checkbox {
|
|
4
|
+
position: relative;
|
|
5
|
+
display: inline-flex;
|
|
6
|
+
user-select: none;
|
|
7
|
+
vertical-align: bottom;
|
|
8
|
+
width: dt('checkbox.width');
|
|
9
|
+
height: dt('checkbox.height');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.p-checkbox-input {
|
|
13
|
+
cursor: pointer;
|
|
14
|
+
appearance: none;
|
|
15
|
+
position: absolute;
|
|
16
|
+
inset-block-start: 0;
|
|
17
|
+
inset-inline-start: 0;
|
|
18
|
+
width: 100%;
|
|
19
|
+
height: 100%;
|
|
20
|
+
padding: 0;
|
|
21
|
+
margin: 0;
|
|
22
|
+
opacity: 0;
|
|
23
|
+
z-index: 1;
|
|
24
|
+
outline: 0 none;
|
|
25
|
+
border: 1px solid transparent;
|
|
26
|
+
border-radius: dt('checkbox.border.radius');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.p-checkbox-box {
|
|
30
|
+
display: flex;
|
|
31
|
+
justify-content: center;
|
|
32
|
+
align-items: center;
|
|
33
|
+
border-radius: dt('checkbox.border.radius');
|
|
34
|
+
border: 1px solid dt('checkbox.border.color');
|
|
35
|
+
background: dt('checkbox.background');
|
|
36
|
+
width: dt('checkbox.width');
|
|
37
|
+
height: dt('checkbox.height');
|
|
38
|
+
transition:
|
|
39
|
+
background dt('checkbox.transition.duration'),
|
|
40
|
+
color dt('checkbox.transition.duration'),
|
|
41
|
+
border-color dt('checkbox.transition.duration'),
|
|
42
|
+
box-shadow dt('checkbox.transition.duration'),
|
|
43
|
+
outline-color dt('checkbox.transition.duration');
|
|
44
|
+
outline-color: transparent;
|
|
45
|
+
box-shadow: dt('checkbox.shadow');
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.p-checkbox-icon {
|
|
49
|
+
transition-duration: dt('checkbox.transition.duration');
|
|
50
|
+
color: dt('checkbox.icon.color');
|
|
51
|
+
font-size: dt('checkbox.icon.size');
|
|
52
|
+
width: dt('checkbox.icon.size');
|
|
53
|
+
height: dt('checkbox.icon.size');
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {
|
|
57
|
+
border-color: dt('checkbox.hover.border.color');
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.p-checkbox-checked .p-checkbox-box {
|
|
61
|
+
border-color: dt('checkbox.checked.border.color');
|
|
62
|
+
background: dt('checkbox.checked.background');
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.p-checkbox-checked .p-checkbox-icon {
|
|
66
|
+
color: dt('checkbox.icon.checked.color');
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {
|
|
70
|
+
background: dt('checkbox.checked.hover.background');
|
|
71
|
+
border-color: dt('checkbox.checked.hover.border.color');
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-icon {
|
|
75
|
+
color: dt('checkbox.icon.checked.hover.color');
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.p-checkbox:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box {
|
|
79
|
+
border-color: dt('checkbox.focus.border.color');
|
|
80
|
+
box-shadow: dt('checkbox.focus.ring.shadow');
|
|
81
|
+
outline: dt('checkbox.focus.ring.width') dt('checkbox.focus.ring.style') dt('checkbox.focus.ring.color');
|
|
82
|
+
outline-offset: dt('checkbox.focus.ring.offset');
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box {
|
|
86
|
+
border-color: dt('checkbox.checked.focus.border.color');
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.p-checkbox.p-invalid > .p-checkbox-box {
|
|
90
|
+
border-color: dt('checkbox.invalid.border.color');
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.p-checkbox.p-variant-filled .p-checkbox-box {
|
|
94
|
+
background: dt('checkbox.filled.background');
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.p-checkbox-checked.p-variant-filled .p-checkbox-box {
|
|
98
|
+
background: dt('checkbox.checked.background');
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.p-checkbox-checked.p-variant-filled:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {
|
|
102
|
+
background: dt('checkbox.checked.hover.background');
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.p-checkbox.p-disabled {
|
|
106
|
+
opacity: 1;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.p-checkbox.p-disabled .p-checkbox-box {
|
|
110
|
+
background: dt('checkbox.disabled.background');
|
|
111
|
+
border-color: dt('checkbox.checked.disabled.border.color');
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.p-checkbox.p-disabled .p-checkbox-box .p-checkbox-icon {
|
|
115
|
+
color: dt('checkbox.icon.disabled.color');
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.p-checkbox-sm,
|
|
119
|
+
.p-checkbox-sm .p-checkbox-box {
|
|
120
|
+
width: dt('checkbox.sm.width');
|
|
121
|
+
height: dt('checkbox.sm.height');
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.p-checkbox-sm .p-checkbox-icon {
|
|
125
|
+
font-size: dt('checkbox.icon.sm.size');
|
|
126
|
+
width: dt('checkbox.icon.sm.size');
|
|
127
|
+
height: dt('checkbox.icon.sm.size');
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.p-checkbox-lg,
|
|
131
|
+
.p-checkbox-lg .p-checkbox-box {
|
|
132
|
+
width: dt('checkbox.lg.width');
|
|
133
|
+
height: dt('checkbox.lg.height');
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.p-checkbox-lg .p-checkbox-icon {
|
|
137
|
+
font-size: dt('checkbox.icon.lg.size');
|
|
138
|
+
width: dt('checkbox.icon.lg.size');
|
|
139
|
+
height: dt('checkbox.icon.lg.size');
|
|
140
|
+
}
|
|
141
|
+
`,classes:{root:function(e){var t=e.instance,n=e.props;return[`p-checkbox p-component`,{"p-checkbox-checked":t.checked,"p-disabled":n.disabled,"p-invalid":t.$pcCheckboxGroup?t.$pcCheckboxGroup.$invalid:t.$invalid,"p-variant-filled":t.$variant===`filled`,"p-checkbox-sm p-inputfield-sm":n.size===`small`,"p-checkbox-lg p-inputfield-lg":n.size===`large`}]},box:`p-checkbox-box`,input:`p-checkbox-input`,icon:`p-checkbox-icon`}}),W={name:`BaseCheckbox`,extends:N,props:{value:null,binary:Boolean,indeterminate:{type:Boolean,default:!1},trueValue:{type:null,default:!0},falseValue:{type:null,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},tabindex:{type:Number,default:null},inputId:{type:String,default:null},inputClass:{type:[String,Object],default:null},inputStyle:{type:Object,default:null},ariaLabelledby:{type:String,default:null},ariaLabel:{type:String,default:null}},style:U,provide:function(){return{$pcCheckbox:this,$parentInstance:this}}};function G(e){"@babel/helpers - typeof";return G=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},G(e)}function K(e,t,n){return(t=q(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function q(e){var t=ye(e,`string`);return G(t)==`symbol`?t:t+``}function ye(e,t){if(G(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(G(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function J(e){return Se(e)||xe(e)||be(e)||Y()}function Y(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
142
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function be(e,t){if(e){if(typeof e==`string`)return Ce(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ce(e,t):void 0}}function xe(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function Se(e){if(Array.isArray(e))return Ce(e)}function Ce(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var X={name:`Checkbox`,extends:W,inheritAttrs:!1,emits:[`change`,`focus`,`blur`,`update:indeterminate`],inject:{$pcCheckboxGroup:{default:void 0}},data:function(){return{d_indeterminate:this.indeterminate}},watch:{indeterminate:function(e){this.d_indeterminate=e,this.updateIndeterminate()}},mounted:function(){this.updateIndeterminate()},updated:function(){this.updateIndeterminate()},methods:{getPTOptions:function(e){return(e===`root`?this.ptmi:this.ptm)(e,{context:{checked:this.checked,indeterminate:this.d_indeterminate,disabled:this.disabled}})},onChange:function(e){var t=this;if(!this.disabled&&!this.readonly){var n=this.$pcCheckboxGroup?this.$pcCheckboxGroup.d_value:this.d_value,r=this.binary?this.d_indeterminate?this.trueValue:this.checked?this.falseValue:this.trueValue:this.checked||this.d_indeterminate?n.filter(function(e){return!ie(e,t.value)}):n?[].concat(J(n),[this.value]):[this.value];this.d_indeterminate&&(this.d_indeterminate=!1,this.$emit(`update:indeterminate`,this.d_indeterminate)),this.$pcCheckboxGroup?this.$pcCheckboxGroup.writeValue(r,e):this.writeValue(r,e),this.$emit(`change`,e)}},onFocus:function(e){this.$emit(`focus`,e)},onBlur:function(e){var t,n;this.$emit(`blur`,e),(t=(n=this.formField).onBlur)==null||t.call(n,e)},updateIndeterminate:function(){this.$refs.input&&(this.$refs.input.indeterminate=this.d_indeterminate)}},computed:{groupName:function(){return this.$pcCheckboxGroup?this.$pcCheckboxGroup.groupName:this.$formName},checked:function(){var e=this.$pcCheckboxGroup?this.$pcCheckboxGroup.d_value:this.d_value;return this.d_indeterminate?!1:this.binary?e===this.trueValue:o(this.value,e)},dataP:function(){return d(K({invalid:this.$invalid,checked:this.checked,disabled:this.disabled,filled:this.$variant===`filled`},this.size,this.size))}},components:{CheckIcon:F,MinusIcon:L}},we=[`data-p-checked`,`data-p-indeterminate`,`data-p-disabled`,`data-p`],Te=[`id`,`value`,`name`,`checked`,`tabindex`,`disabled`,`readonly`,`required`,`aria-labelledby`,`aria-label`,`aria-invalid`],Ee=[`data-p`];function De(t,n,r,ee,i,o){var c=p(`CheckIcon`),te=p(`MinusIcon`);return e(),E(`div`,a({class:t.cx(`root`)},o.getPTOptions(`root`),{"data-p-checked":o.checked,"data-p-indeterminate":i.d_indeterminate||void 0,"data-p-disabled":t.disabled,"data-p":o.dataP}),[v(`input`,a({ref:`input`,id:t.inputId,type:`checkbox`,class:[t.cx(`input`),t.inputClass],style:t.inputStyle,value:t.value,name:o.groupName,checked:o.checked,tabindex:t.tabindex,disabled:t.disabled,readonly:t.readonly,required:t.required,"aria-labelledby":t.ariaLabelledby,"aria-label":t.ariaLabel,"aria-invalid":t.invalid||void 0,onFocus:n[0]||=function(){return o.onFocus&&o.onFocus.apply(o,arguments)},onBlur:n[1]||=function(){return o.onBlur&&o.onBlur.apply(o,arguments)},onChange:n[2]||=function(){return o.onChange&&o.onChange.apply(o,arguments)}},o.getPTOptions(`input`)),null,16,Te),v(`div`,a({class:t.cx(`box`)},o.getPTOptions(`box`),{"data-p":o.dataP}),[f(t.$slots,`icon`,{checked:o.checked,indeterminate:i.d_indeterminate,class:s(t.cx(`icon`)),dataP:o.dataP},function(){return[o.checked?(e(),_(c,a({key:0,class:t.cx(`icon`)},o.getPTOptions(`icon`),{"data-p":o.dataP}),null,16,[`class`,`data-p`])):i.d_indeterminate?(e(),_(te,a({key:1,class:t.cx(`icon`)},o.getPTOptions(`icon`),{"data-p":o.dataP}),null,16,[`class`,`data-p`])):h(``,!0)]})],16,Ee)],16,we)}X.render=De;var Z={name:`EyeIcon`,extends:b};function Q(e){return je(e)||Ae(e)||ke(e)||Oe()}function Oe(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
143
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ke(e,t){if(e){if(typeof e==`string`)return Me(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Me(e,t):void 0}}function Ae(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function je(e){if(Array.isArray(e))return Me(e)}function Me(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Ne(t,n,r,ee,i,o){return e(),E(`svg`,a({width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},t.pti()),Q(n[0]||=[v(`path`,{"fill-rule":`evenodd`,"clip-rule":`evenodd`,d:`M0.0535499 7.25213C0.208567 7.59162 2.40413 12.4 7 12.4C11.5959 12.4 13.7914 7.59162 13.9465 7.25213C13.9487 7.2471 13.9506 7.24304 13.952 7.24001C13.9837 7.16396 14 7.08239 14 7.00001C14 6.91762 13.9837 6.83605 13.952 6.76001C13.9506 6.75697 13.9487 6.75292 13.9465 6.74788C13.7914 6.4084 11.5959 1.60001 7 1.60001C2.40413 1.60001 0.208567 6.40839 0.0535499 6.74788C0.0512519 6.75292 0.0494023 6.75697 0.048 6.76001C0.0163137 6.83605 0 6.91762 0 7.00001C0 7.08239 0.0163137 7.16396 0.048 7.24001C0.0494023 7.24304 0.0512519 7.2471 0.0535499 7.25213ZM7 11.2C3.664 11.2 1.736 7.92001 1.264 7.00001C1.736 6.08001 3.664 2.80001 7 2.80001C10.336 2.80001 12.264 6.08001 12.736 7.00001C12.264 7.92001 10.336 11.2 7 11.2ZM5.55551 9.16182C5.98308 9.44751 6.48576 9.6 7 9.6C7.68891 9.59789 8.349 9.32328 8.83614 8.83614C9.32328 8.349 9.59789 7.68891 9.59999 7C9.59999 6.48576 9.44751 5.98308 9.16182 5.55551C8.87612 5.12794 8.47006 4.7947 7.99497 4.59791C7.51988 4.40112 6.99711 4.34963 6.49276 4.44995C5.98841 4.55027 5.52513 4.7979 5.16152 5.16152C4.7979 5.52513 4.55027 5.98841 4.44995 6.49276C4.34963 6.99711 4.40112 7.51988 4.59791 7.99497C4.7947 8.47006 5.12794 8.87612 5.55551 9.16182ZM6.2222 5.83594C6.45243 5.6821 6.7231 5.6 7 5.6C7.37065 5.6021 7.72553 5.75027 7.98762 6.01237C8.24972 6.27446 8.39789 6.62934 8.4 7C8.4 7.27689 8.31789 7.54756 8.16405 7.77779C8.01022 8.00802 7.79157 8.18746 7.53575 8.29343C7.27994 8.39939 6.99844 8.42711 6.72687 8.37309C6.4553 8.31908 6.20584 8.18574 6.01005 7.98994C5.81425 7.79415 5.68091 7.54469 5.6269 7.27312C5.57288 7.00155 5.6006 6.72006 5.70656 6.46424C5.81253 6.20842 5.99197 5.98977 6.2222 5.83594Z`,fill:`currentColor`},null,-1)]),16)}Z.render=Ne;var Pe={name:`EyeSlashIcon`,extends:b};function Fe(e){return ze(e)||Re(e)||Le(e)||Ie()}function Ie(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
144
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Le(e,t){if(e){if(typeof e==`string`)return Be(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Be(e,t):void 0}}function Re(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function ze(e){if(Array.isArray(e))return Be(e)}function Be(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Ve(t,n,r,ee,i,o){return e(),E(`svg`,a({width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},t.pti()),Fe(n[0]||=[v(`path`,{"fill-rule":`evenodd`,"clip-rule":`evenodd`,d:`M13.9414 6.74792C13.9437 6.75295 13.9455 6.757 13.9469 6.76003C13.982 6.8394 14.0001 6.9252 14.0001 7.01195C14.0001 7.0987 13.982 7.1845 13.9469 7.26386C13.6004 8.00059 13.1711 8.69549 12.6674 9.33515C12.6115 9.4071 12.54 9.46538 12.4582 9.50556C12.3765 9.54574 12.2866 9.56678 12.1955 9.56707C12.0834 9.56671 11.9737 9.53496 11.8788 9.47541C11.7838 9.41586 11.7074 9.3309 11.6583 9.23015C11.6092 9.12941 11.5893 9.01691 11.6008 8.90543C11.6124 8.79394 11.6549 8.68793 11.7237 8.5994C12.1065 8.09726 12.4437 7.56199 12.7313 6.99995C12.2595 6.08027 10.3402 2.8014 6.99732 2.8014C6.63723 2.80218 6.27816 2.83969 5.92569 2.91336C5.77666 2.93304 5.62568 2.89606 5.50263 2.80972C5.37958 2.72337 5.29344 2.59398 5.26125 2.44714C5.22907 2.30031 5.2532 2.14674 5.32885 2.01685C5.40451 1.88696 5.52618 1.79021 5.66978 1.74576C6.10574 1.64961 6.55089 1.60134 6.99732 1.60181C11.5916 1.60181 13.7864 6.40856 13.9414 6.74792ZM2.20333 1.61685C2.35871 1.61411 2.5091 1.67179 2.6228 1.77774L12.2195 11.3744C12.3318 11.4869 12.3949 11.6393 12.3949 11.7983C12.3949 11.9572 12.3318 12.1097 12.2195 12.2221C12.107 12.3345 11.9546 12.3976 11.7956 12.3976C11.6367 12.3976 11.4842 12.3345 11.3718 12.2221L10.5081 11.3584C9.46549 12.0426 8.24432 12.4042 6.99729 12.3981C2.403 12.3981 0.208197 7.59135 0.0532336 7.25198C0.0509364 7.24694 0.0490875 7.2429 0.0476856 7.23986C0.0162332 7.16518 3.05176e-05 7.08497 3.05176e-05 7.00394C3.05176e-05 6.92291 0.0162332 6.8427 0.0476856 6.76802C0.631261 5.47831 1.46902 4.31959 2.51084 3.36119L1.77509 2.62545C1.66914 2.51175 1.61146 2.36136 1.61421 2.20597C1.61695 2.05059 1.6799 1.90233 1.78979 1.79244C1.89968 1.68254 2.04794 1.6196 2.20333 1.61685ZM7.45314 8.35147L5.68574 6.57609V6.5361C5.5872 6.78938 5.56498 7.06597 5.62183 7.33173C5.67868 7.59749 5.8121 7.84078 6.00563 8.03158C6.19567 8.21043 6.43052 8.33458 6.68533 8.39089C6.94014 8.44721 7.20543 8.43359 7.45314 8.35147ZM1.26327 6.99994C1.7351 7.91163 3.64645 11.1985 6.99729 11.1985C7.9267 11.2048 8.8408 10.9618 9.64438 10.4947L8.35682 9.20718C7.86027 9.51441 7.27449 9.64491 6.69448 9.57752C6.11446 9.51014 5.57421 9.24881 5.16131 8.83592C4.74842 8.42303 4.4871 7.88277 4.41971 7.30276C4.35232 6.72274 4.48282 6.13697 4.79005 5.64041L3.35855 4.2089C2.4954 5.00336 1.78523 5.94935 1.26327 6.99994Z`,fill:`currentColor`},null,-1)]),16)}Pe.render=Ve;var He=g.extend({name:`password`,style:`
|
|
145
|
+
.p-password {
|
|
146
|
+
display: inline-flex;
|
|
147
|
+
position: relative;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.p-password .p-password-overlay {
|
|
151
|
+
min-width: 100%;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.p-password-meter {
|
|
155
|
+
height: dt('password.meter.height');
|
|
156
|
+
background: dt('password.meter.background');
|
|
157
|
+
border-radius: dt('password.meter.border.radius');
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.p-password-meter-label {
|
|
161
|
+
height: 100%;
|
|
162
|
+
width: 0;
|
|
163
|
+
transition: width 1s ease-in-out;
|
|
164
|
+
border-radius: dt('password.meter.border.radius');
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.p-password-meter-weak {
|
|
168
|
+
background: dt('password.strength.weak.background');
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.p-password-meter-medium {
|
|
172
|
+
background: dt('password.strength.medium.background');
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.p-password-meter-strong {
|
|
176
|
+
background: dt('password.strength.strong.background');
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.p-password-fluid {
|
|
180
|
+
display: flex;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.p-password-fluid .p-password-input {
|
|
184
|
+
width: 100%;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.p-password-input::-ms-reveal,
|
|
188
|
+
.p-password-input::-ms-clear {
|
|
189
|
+
display: none;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.p-password-overlay {
|
|
193
|
+
padding: dt('password.overlay.padding');
|
|
194
|
+
background: dt('password.overlay.background');
|
|
195
|
+
color: dt('password.overlay.color');
|
|
196
|
+
border: 1px solid dt('password.overlay.border.color');
|
|
197
|
+
box-shadow: dt('password.overlay.shadow');
|
|
198
|
+
border-radius: dt('password.overlay.border.radius');
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
.p-password-content {
|
|
202
|
+
display: flex;
|
|
203
|
+
flex-direction: column;
|
|
204
|
+
gap: dt('password.content.gap');
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.p-password-toggle-mask-icon {
|
|
208
|
+
inset-inline-end: dt('form.field.padding.x');
|
|
209
|
+
color: dt('password.icon.color');
|
|
210
|
+
position: absolute;
|
|
211
|
+
top: 50%;
|
|
212
|
+
margin-top: calc(-1 * calc(dt('icon.size') / 2));
|
|
213
|
+
width: dt('icon.size');
|
|
214
|
+
height: dt('icon.size');
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.p-password-clear-icon {
|
|
218
|
+
position: absolute;
|
|
219
|
+
top: 50%;
|
|
220
|
+
margin-top: -0.5rem;
|
|
221
|
+
cursor: pointer;
|
|
222
|
+
inset-inline-end: dt('form.field.padding.x');
|
|
223
|
+
color: dt('form.field.icon.color');
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.p-password:has(.p-password-toggle-mask-icon) .p-password-input {
|
|
227
|
+
padding-inline-end: calc((dt('form.field.padding.x') * 2) + dt('icon.size'));
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.p-password:has(.p-password-toggle-mask-icon) .p-password-clear-icon {
|
|
231
|
+
inset-inline-end: calc((dt('form.field.padding.x') * 2) + dt('icon.size'));
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.p-password:has(.p-password-clear-icon) .p-password-input {
|
|
235
|
+
padding-inline-end: calc((dt('form.field.padding.x') * 2) + dt('icon.size'));
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
.p-password:has(.p-password-clear-icon):has(.p-password-toggle-mask-icon) .p-password-input {
|
|
239
|
+
padding-inline-end: calc((dt('form.field.padding.x') * 3) + calc(dt('icon.size') * 2));
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
`,classes:{root:function(e){var t=e.instance;return[`p-password p-component p-inputwrapper`,{"p-inputwrapper-filled":t.$filled,"p-inputwrapper-focus":t.focused,"p-password-fluid":t.$fluid}]},pcInputText:`p-password-input`,maskIcon:`p-password-toggle-mask-icon p-password-mask-icon`,unmaskIcon:`p-password-toggle-mask-icon p-password-unmask-icon`,clearIcon:`p-password-clear-icon`,overlay:`p-password-overlay p-component`,content:`p-password-content`,meter:`p-password-meter`,meterLabel:function(e){var t=e.instance;return`p-password-meter-label ${t.meter?`p-password-meter-`+t.meter.strength:``}`},meterText:`p-password-meter-text`},inlineStyles:{root:function(e){return{position:e.props.appendTo===`self`?`relative`:void 0}}}}),Ue={name:`BasePassword`,extends:N,props:{promptLabel:{type:String,default:null},mediumRegex:{type:[String,RegExp],default:`^(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})`},strongRegex:{type:[String,RegExp],default:`^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.{8,})`},weakLabel:{type:String,default:null},mediumLabel:{type:String,default:null},strongLabel:{type:String,default:null},feedback:{type:Boolean,default:!0},appendTo:{type:[String,Object],default:`body`},toggleMask:{type:Boolean,default:!1},hideIcon:{type:String,default:void 0},maskIcon:{type:String,default:void 0},showIcon:{type:String,default:void 0},unmaskIcon:{type:String,default:void 0},showClear:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:null},required:{type:Boolean,default:!1},inputId:{type:String,default:null},inputClass:{type:[String,Object],default:null},inputStyle:{type:Object,default:null},inputProps:{type:null,default:null},panelId:{type:String,default:null},panelClass:{type:[String,Object],default:null},panelStyle:{type:Object,default:null},panelProps:{type:null,default:null},overlayId:{type:String,default:null},overlayClass:{type:[String,Object],default:null},overlayStyle:{type:Object,default:null},overlayProps:{type:null,default:null},ariaLabelledby:{type:String,default:null},ariaLabel:{type:String,default:null},autofocus:{type:Boolean,default:null}},style:He,provide:function(){return{$pcPassword:this,$parentInstance:this}}};function We(e){"@babel/helpers - typeof";return We=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},We(e)}function Ge(e,t,n){return(t=Ke(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ke(e){var t=qe(e,`string`);return We(t)==`symbol`?t:t+``}function qe(e,t){if(We(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(We(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Je={name:`Password`,extends:Ue,inheritAttrs:!1,emits:[`change`,`focus`,`blur`,`invalid`],inject:{$pcFluid:{default:null}},data:function(){return{overlayVisible:!1,meter:null,infoText:null,focused:!1,unmasked:!1}},mediumCheckRegExp:null,strongCheckRegExp:null,resizeListener:null,scrollHandler:null,overlay:null,mounted:function(){this.infoText=this.promptText,this.mediumCheckRegExp=new RegExp(this.mediumRegex),this.strongCheckRegExp=new RegExp(this.strongRegex)},beforeUnmount:function(){this.unbindResizeListener(),this.scrollHandler&&=(this.scrollHandler.destroy(),null),this.overlay&&=(j.clear(this.overlay),null)},methods:{onOverlayEnter:function(e){j.set(`overlay`,e,this.$primevue.config.zIndex.overlay),x(e,{position:`absolute`,top:`0`}),this.alignOverlay(),this.bindScrollListener(),this.bindResizeListener(),this.$attrSelector&&e.setAttribute(this.$attrSelector,``)},onOverlayLeave:function(){this.unbindScrollListener(),this.unbindResizeListener(),this.overlay=null},onOverlayAfterLeave:function(e){j.clear(e)},alignOverlay:function(){this.appendTo===`self`?m(this.overlay,this.$refs.input.$el):(this.overlay.style.minWidth=u(this.$refs.input.$el)+`px`,n(this.overlay,this.$refs.input.$el))},testStrength:function(e){var t=0;return this.strongCheckRegExp.test(e)?t=3:this.mediumCheckRegExp.test(e)?t=2:e.length&&(t=1),t},onInput:function(e){this.writeValue(e.target.value,e),this.$emit(`change`,e)},onFocus:function(e){this.focused=!0,this.feedback&&(this.setPasswordMeter(this.d_value),this.overlayVisible=!0),this.$emit(`focus`,e)},onBlur:function(e){this.focused=!1,this.feedback&&(this.overlayVisible=!1),this.$emit(`blur`,e)},onKeyUp:function(e){if(this.feedback){var t=e.target.value,n=this.checkPasswordStrength(t),r=n.meter,ee=n.label;if(this.meter=r,this.infoText=ee,e.code===`Escape`){this.overlayVisible&&=!1;return}this.overlayVisible||=!0}},setPasswordMeter:function(){if(!this.d_value){this.meter=null,this.infoText=this.promptText;return}var e=this.checkPasswordStrength(this.d_value),t=e.meter,n=e.label;this.meter=t,this.infoText=n,this.overlayVisible||=!0},checkPasswordStrength:function(e){var t=null,n=null;switch(this.testStrength(e)){case 1:t=this.weakText,n={strength:`weak`,width:`33.33%`};break;case 2:t=this.mediumText,n={strength:`medium`,width:`66.66%`};break;case 3:t=this.strongText,n={strength:`strong`,width:`100%`};break;default:t=this.promptText,n=null;break}return{label:t,meter:n}},onInvalid:function(e){this.$emit(`invalid`,e)},bindScrollListener:function(){var e=this;this.scrollHandler||=new k(this.$refs.input.$el,function(){e.overlayVisible&&=!1}),this.scrollHandler.bindScrollListener()},unbindScrollListener:function(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.overlayVisible&&!oe()&&(e.overlayVisible=!1)},window.addEventListener(`resize`,this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&=(window.removeEventListener(`resize`,this.resizeListener),null)},overlayRef:function(e){this.overlay=e},onMaskToggle:function(){this.unmasked=!this.unmasked},onClearClick:function(e){this.writeValue(null,{})},onOverlayClick:function(e){P.emit(`overlay-click`,{originalEvent:e,target:this.$el})}},computed:{inputType:function(){return this.unmasked?`text`:`password`},weakText:function(){return this.weakLabel||this.$primevue.config.locale.weak},mediumText:function(){return this.mediumLabel||this.$primevue.config.locale.medium},strongText:function(){return this.strongLabel||this.$primevue.config.locale.strong},promptText:function(){return this.promptLabel||this.$primevue.config.locale.passwordPrompt},isClearIconVisible:function(){return this.showClear&&this.$filled&&!this.disabled},overlayUniqueId:function(){return this.$id+`_overlay`},containerDataP:function(){return d({fluid:this.$fluid})},meterDataP:function(){return d(Ge({},this.meter?.strength,this.meter?.strength))},overlayDataP:function(){return d(Ge({},`portal-`+this.appendTo,`portal-`+this.appendTo))}},components:{InputText:I,Portal:A,EyeSlashIcon:Pe,EyeIcon:Z,TimesIcon:se}};function Ye(e){"@babel/helpers - typeof";return Ye=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Ye(e)}function Xe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ze(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Xe(Object(n),!0).forEach(function(t){Qe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Xe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Qe(e,t,n){return(t=$e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $e(e){var t=et(e,`string`);return Ye(t)==`symbol`?t:t+``}function et(e,t){if(Ye(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Ye(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var tt=[`data-p`],nt=[`id`,`data-p`],rt=[`data-p`];function it(t,n,ee,o,s,c){var te=p(`InputText`),u=p(`TimesIcon`),d=p(`Portal`);return e(),E(`div`,a({class:t.cx(`root`),style:t.sx(`root`),"data-p":c.containerDataP},t.ptmi(`root`)),[l(te,a({ref:`input`,id:t.inputId,type:c.inputType,class:[t.cx(`pcInputText`),t.inputClass],style:t.inputStyle,defaultValue:t.d_value,name:t.$formName,"aria-labelledby":t.ariaLabelledby,"aria-label":t.ariaLabel,"aria-expanded":s.overlayVisible,"aria-controls":s.overlayVisible?t.overlayProps&&t.overlayProps.id||t.overlayId||t.panelProps&&t.panelProps.id||t.panelId||c.overlayUniqueId:void 0,"aria-haspopup":t.feedback,placeholder:t.placeholder,required:t.required,fluid:t.fluid,disabled:t.disabled,variant:t.variant,invalid:t.invalid,size:t.size,autofocus:t.autofocus,onInput:c.onInput,onFocus:c.onFocus,onBlur:c.onBlur,onKeyup:c.onKeyUp,onInvalid:c.onInvalid},t.inputProps,{"data-p-has-e-icon":t.toggleMask,pt:t.ptm(`pcInputText`),unstyled:t.unstyled}),null,16,`id.type.class.style.defaultValue.name.aria-labelledby.aria-label.aria-expanded.aria-controls.aria-haspopup.placeholder.required.fluid.disabled.variant.invalid.size.autofocus.onInput.onFocus.onBlur.onKeyup.onInvalid.data-p-has-e-icon.pt.unstyled`.split(`.`)),t.toggleMask&&s.unmasked?f(t.$slots,t.$slots.maskicon?`maskicon`:`hideicon`,a({key:0,toggleCallback:c.onMaskToggle,class:[t.cx(`maskIcon`),t.maskIcon]},t.ptm(`maskIcon`)),function(){return[(e(),_(r(t.maskIcon?`i`:`EyeSlashIcon`),a({class:[t.cx(`maskIcon`),t.maskIcon],onClick:c.onMaskToggle},t.ptm(`maskIcon`)),null,16,[`class`,`onClick`]))]}):h(``,!0),t.toggleMask&&!s.unmasked?f(t.$slots,t.$slots.unmaskicon?`unmaskicon`:`showicon`,a({key:1,toggleCallback:c.onMaskToggle,class:[t.cx(`unmaskIcon`)]},t.ptm(`unmaskIcon`)),function(){return[(e(),_(r(t.unmaskIcon?`i`:`EyeIcon`),a({class:[t.cx(`unmaskIcon`),t.unmaskIcon],onClick:c.onMaskToggle},t.ptm(`unmaskIcon`)),null,16,[`class`,`onClick`]))]}):h(``,!0),c.isClearIconVisible?f(t.$slots,`clearicon`,a({key:2,class:t.cx(`clearIcon`),clearCallback:c.onClearClick},t.ptm(`clearIcon`)),function(){return[l(u,a({class:[t.cx(`clearIcon`)],onClick:c.onClearClick},t.ptm(`clearIcon`)),null,16,[`class`,`onClick`])]}):h(``,!0),v(`span`,a({class:`p-hidden-accessible`,"aria-live":`polite`},t.ptm(`hiddenAccesible`),{"data-p-hidden-accessible":!0}),i(s.infoText),17),l(d,{appendTo:t.appendTo},{default:ae(function(){return[l(ue,a({name:`p-anchored-overlay`,onEnter:c.onOverlayEnter,onLeave:c.onOverlayLeave,onAfterLeave:c.onOverlayAfterLeave},t.ptm(`transition`)),{default:ae(function(){return[s.overlayVisible?(e(),E(`div`,a({key:0,ref:c.overlayRef,id:t.overlayId||t.panelId||c.overlayUniqueId,class:[t.cx(`overlay`),t.panelClass,t.overlayClass],style:[t.overlayStyle,t.panelStyle],onClick:n[0]||=function(){return c.onOverlayClick&&c.onOverlayClick.apply(c,arguments)},"data-p":c.overlayDataP,role:`dialog`,"aria-live":`polite`},Ze(Ze(Ze({},t.panelProps),t.overlayProps),t.ptm(`overlay`))),[f(t.$slots,`header`),f(t.$slots,`content`,{},function(){return[v(`div`,a({class:t.cx(`content`)},t.ptm(`content`)),[v(`div`,a({class:t.cx(`meter`)},t.ptm(`meter`)),[v(`div`,a({class:t.cx(`meterLabel`),style:{width:s.meter?s.meter.width:``},"data-p":c.meterDataP},t.ptm(`meterLabel`)),null,16,rt)],16),v(`div`,a({class:t.cx(`meterText`)},t.ptm(`meterText`)),i(s.infoText),17)],16)]}),f(t.$slots,`footer`)],16,nt)):h(``,!0)]}),_:3},16,[`onEnter`,`onLeave`,`onAfterLeave`])]}),_:3},8,[`appendTo`])],16,tt)}Je.render=it;var at=g.extend({name:`textarea`,style:`
|
|
243
|
+
.p-textarea {
|
|
244
|
+
font-family: inherit;
|
|
245
|
+
font-feature-settings: inherit;
|
|
246
|
+
font-size: 1rem;
|
|
247
|
+
color: dt('textarea.color');
|
|
248
|
+
background: dt('textarea.background');
|
|
249
|
+
padding-block: dt('textarea.padding.y');
|
|
250
|
+
padding-inline: dt('textarea.padding.x');
|
|
251
|
+
border: 1px solid dt('textarea.border.color');
|
|
252
|
+
transition:
|
|
253
|
+
background dt('textarea.transition.duration'),
|
|
254
|
+
color dt('textarea.transition.duration'),
|
|
255
|
+
border-color dt('textarea.transition.duration'),
|
|
256
|
+
outline-color dt('textarea.transition.duration'),
|
|
257
|
+
box-shadow dt('textarea.transition.duration');
|
|
258
|
+
appearance: none;
|
|
259
|
+
border-radius: dt('textarea.border.radius');
|
|
260
|
+
outline-color: transparent;
|
|
261
|
+
box-shadow: dt('textarea.shadow');
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
.p-textarea:enabled:hover {
|
|
265
|
+
border-color: dt('textarea.hover.border.color');
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.p-textarea:enabled:focus {
|
|
269
|
+
border-color: dt('textarea.focus.border.color');
|
|
270
|
+
box-shadow: dt('textarea.focus.ring.shadow');
|
|
271
|
+
outline: dt('textarea.focus.ring.width') dt('textarea.focus.ring.style') dt('textarea.focus.ring.color');
|
|
272
|
+
outline-offset: dt('textarea.focus.ring.offset');
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
.p-textarea.p-invalid {
|
|
276
|
+
border-color: dt('textarea.invalid.border.color');
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.p-textarea.p-variant-filled {
|
|
280
|
+
background: dt('textarea.filled.background');
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
.p-textarea.p-variant-filled:enabled:hover {
|
|
284
|
+
background: dt('textarea.filled.hover.background');
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
.p-textarea.p-variant-filled:enabled:focus {
|
|
288
|
+
background: dt('textarea.filled.focus.background');
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
.p-textarea:disabled {
|
|
292
|
+
opacity: 1;
|
|
293
|
+
background: dt('textarea.disabled.background');
|
|
294
|
+
color: dt('textarea.disabled.color');
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
.p-textarea::placeholder {
|
|
298
|
+
color: dt('textarea.placeholder.color');
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.p-textarea.p-invalid::placeholder {
|
|
302
|
+
color: dt('textarea.invalid.placeholder.color');
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
.p-textarea-fluid {
|
|
306
|
+
width: 100%;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
.p-textarea-resizable {
|
|
310
|
+
overflow: hidden;
|
|
311
|
+
resize: none;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
.p-textarea-sm {
|
|
315
|
+
font-size: dt('textarea.sm.font.size');
|
|
316
|
+
padding-block: dt('textarea.sm.padding.y');
|
|
317
|
+
padding-inline: dt('textarea.sm.padding.x');
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
.p-textarea-lg {
|
|
321
|
+
font-size: dt('textarea.lg.font.size');
|
|
322
|
+
padding-block: dt('textarea.lg.padding.y');
|
|
323
|
+
padding-inline: dt('textarea.lg.padding.x');
|
|
324
|
+
}
|
|
325
|
+
`,classes:{root:function(e){var t=e.instance,n=e.props;return[`p-textarea p-component`,{"p-filled":t.$filled,"p-textarea-resizable ":n.autoResize,"p-textarea-sm p-inputfield-sm":n.size===`small`,"p-textarea-lg p-inputfield-lg":n.size===`large`,"p-invalid":t.$invalid,"p-variant-filled":t.$variant===`filled`,"p-textarea-fluid":t.$fluid}]}}}),ot={name:`BaseTextarea`,extends:N,props:{autoResize:Boolean},style:at,provide:function(){return{$pcTextarea:this,$parentInstance:this}}};function st(e){"@babel/helpers - typeof";return st=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},st(e)}function ct(e,t,n){return(t=lt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function lt(e){var t=ut(e,`string`);return st(t)==`symbol`?t:t+``}function ut(e,t){if(st(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(st(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var $={name:`Textarea`,extends:ot,inheritAttrs:!1,observer:null,mounted:function(){var e=this;this.autoResize&&(this.observer=new ResizeObserver(function(){requestAnimationFrame(function(){e.resize()})}),this.observer.observe(this.$el))},updated:function(){this.autoResize&&this.resize()},beforeUnmount:function(){this.observer&&this.observer.disconnect()},methods:{resize:function(){if(this.$el.offsetParent){var e=this.$el.style.height,t=parseInt(e)||0,n=this.$el.scrollHeight;t&&n<t?(this.$el.style.height=`auto`,this.$el.style.height=`${this.$el.scrollHeight}px`):(!t||n>t)&&(this.$el.style.height=`${n}px`)}},onInput:function(e){this.autoResize&&this.resize(),this.writeValue(e.target.value,e)}},computed:{attrs:function(){return a(this.ptmi(`root`,{context:{filled:this.$filled,disabled:this.disabled}}),this.formField)},dataP:function(){return d(ct({invalid:this.$invalid,fluid:this.$fluid,filled:this.$variant===`filled`},this.size,this.size))}}},dt=[`value`,`name`,`disabled`,`aria-invalid`,`data-p`];function ft(t,n,r,ee,i,o){return e(),E(`textarea`,a({class:t.cx(`root`),value:t.d_value,name:t.name,disabled:t.disabled,"aria-invalid":t.invalid||void 0,"data-p":o.dataP,onInput:n[0]||=function(){return o.onInput&&o.onInput.apply(o,arguments)}},o.attrs),null,16,dt)}$.render=ft;var pt={key:0,class:`flex items-center justify-center py-8`},mt={key:1,class:`space-y-6`},ht={class:`space-y-3`},gt={class:`flex flex-col gap-1`},_t={class:`flex flex-col gap-1`},vt={class:`flex flex-col gap-1`},yt={class:`space-y-2`},bt={class:`text-sm font-mono flex-1`},xt={key:0,class:`flex flex-col gap-2 px-3 py-2 rounded border border-border bg-card`},St={class:`flex items-center gap-2`},Ct={class:`flex items-center gap-4 text-xs`},wt={class:`flex items-center gap-1.5 cursor-pointer`},Tt={class:`flex items-center gap-1.5 cursor-pointer`},Et={key:0,class:`text-muted-foreground ml-auto`},Dt={class:`space-y-3`},Ot={class:`flex flex-col gap-1`},kt={key:0,class:`space-y-3 pl-6 border-l-2 border-border`},At={class:`flex flex-col gap-1`},jt={class:`flex flex-col gap-1`},Mt={class:`flex flex-col gap-1`},Nt={class:`flex items-center gap-2`},Pt={class:`flex items-center gap-2`},Ft={key:1,class:`space-y-3 pl-6 border-l-2 border-border`},It={class:`flex flex-col gap-1`},Lt={class:`flex flex-col gap-1`},Rt={class:`flex flex-col gap-1`},zt={class:`flex flex-col gap-1`},Bt={class:`flex items-center gap-2`},Vt={class:`flex items-center gap-2`},Ht={class:`space-y-3`},Ut={class:`flex items-center gap-2`},Wt={key:0,class:`space-y-3 pl-6 border-l-2 border-border`},Gt={class:`flex flex-col gap-1`},Kt={class:`flex flex-col gap-1`},qt={class:`flex flex-col gap-1`},Jt={class:`space-y-3`},Yt={class:`flex items-center gap-2`},Xt={class:`space-y-3 pl-6 border-l-2 border-border`},Zt={class:`flex flex-col gap-1`},Qt={class:`flex flex-col gap-1`},$t={class:`flex flex-col gap-1`},en={class:`flex flex-col gap-1`},tn={class:`flex items-center gap-2`},nn={key:0,class:`text-xs text-muted-foreground`},rn={class:`flex flex-col gap-1`},an={class:`flex items-center justify-between gap-2`},on={key:0,class:`text-xs text-muted-foreground`},sn={key:0,class:`text-xs text-red-500 mt-1`},cn={class:`space-y-3`},ln={class:`flex flex-col gap-1`},un={key:0,class:`text-xs text-red-500 mt-1`},dn={class:`flex flex-col gap-1`},fn={key:0,class:`text-xs text-red-500 mt-1`},pn={class:`flex justify-end gap-2`},mn=`You are a professional data extraction assistant. Your task is to extract structured data from text and return a JSON object based on the data structure definition provided below.
|
|
326
|
+
|
|
327
|
+
{schema}
|
|
328
|
+
|
|
329
|
+
Extraction requirements:
|
|
330
|
+
1. Extract data strictly according to the field names and types defined in the structure
|
|
331
|
+
2. If a field's information is missing from the text, set that field to null
|
|
332
|
+
3. Do not add fields that are not in the structure definition
|
|
333
|
+
4. Maintain data accuracy and completeness`,hn=`Please extract data from the following text:
|
|
334
|
+
{text}`,gn=D({__name:`AISettings`,props:S({schemas:{}},{visible:{type:Boolean,default:!1},visibleModifiers:{}}),emits:[`update:visible`],setup(n){let r=n,a=c(n,`visible`),o=C(!1),u=C(!1),d=C(`https://dashscope.aliyuncs.com/compatible-mode/v1`),f=C(``),p=C(300),m=C([]),g=C(``),b=C(``),x=C(`unpdf`),S=C(`mineru`),ie=C(`-p
|
|
335
|
+
{input}
|
|
336
|
+
-o
|
|
337
|
+
{outputDir}`),oe=C(600),D=C(!0),k=C(!0),A=C(`markitdown`),se=C(`{input}
|
|
338
|
+
-o
|
|
339
|
+
{outputDir}/{basename}.md`),j=C(`{outputDir}/{basename}.md`),ue=C(600),N=C(!0),P=C(!0),F=C(!1),L=C(``),_e=C(``),ve=C(``),R=C(!1),z=C(``),B=C({}),V=C(``),H=C(``),U=C(``),W=C(``),G=C(!1),K=C([]),q=C([]),ye=C(!1),J=C(``),Y=C({vision:!1,structuredOutput:!1}),be=C(`manual`);function xe(){be.value=`manual`,Y.value={vision:!1,structuredOutput:!1},J.value&&fe(J.value).then(e=>{e&&(Y.value={...e},be.value=`registry`)})}function Se(){J.value&&(m.value.push({name:J.value,capabilities:{...Y.value}}),we())}function Ce(){we()}function we(){J.value=``,Y.value={vision:!1,structuredOutput:!1},be.value=`manual`,ye.value=!1}function Te(e){m.value.splice(e,1)}let Ee=w(()=>g.value.includes(`{schema}`)?``:`System prompt must contain the {schema} placeholder`),De=w(()=>b.value.includes(`{text}`)?``:`User prompt must contain the {text} placeholder`),Z=w(()=>r.schemas.map(e=>e.replace(`.json`,``))),Q=w(()=>{let e=W.value.trim();if(!e)return``;try{let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))return`Field map must be a JSON object`;for(let[e,n]of Object.entries(t))if(typeof n!=`string`)return`Field map value for "${e}" must be a string`;return``}catch{return`Field map must be valid JSON`}}),Oe=w(()=>{try{return Object.keys(Ae()??{}).length}catch{return 0}}),ke=w(()=>!Ee.value&&!De.value&&!Q.value&&!o.value&&m.value.length>0&&(!R.value||!!z.value.trim())&&(x.value!==`mineru`||!!S.value.trim())&&(x.value!==`markitdown`||!!A.value.trim()));function Ae(){if(!W.value.trim())return;let e=JSON.parse(W.value),t=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,typeof t==`string`?t.trim():``]).filter(([e,t])=>!!e&&!!t));return Object.keys(t).length>0?t:void 0}function je(e){if(!e?.properties||typeof e.properties!=`object`)return[];let t=[];function n(e,r=``){for(let[ee,i]of Object.entries(e)){let e=r?`${r}.${ee}`:ee;if(i?.type===`object`&&i?.properties&&typeof i.properties==`object`){n(i.properties,e);continue}i?.type===`array`&&i?.items?.type===`object`||t.push(e)}}return n(e.properties),t}function Me(e){let t={};for(let n of q.value)t[n]=e?.[n]??``;for(let[n,r]of Object.entries(e??{}))n in t||(t[n]=r);return Object.keys(t).length>0?JSON.stringify(t,null,2):``}function Ne(e=V.value){if(!e||Q.value)return;let t=H.value.trim(),n=U.value.trim(),r=Ae();if(!t){let t={...B.value};delete t[e],B.value=t;return}B.value={...B.value,[e]:{databaseId:t,titleProperty:n||void 0,fieldMap:r}}}function Pe(){let e=V.value?B.value[V.value]:void 0;H.value=e?.databaseId??``,U.value=e?.titleProperty??``,W.value=Me(e?.fieldMap),K.value=[]}re(Z,e=>{!V.value&&e.length>0&&(V.value=e[0])},{immediate:!0}),re(V,(e,t)=>{t&&Ne(t),Fe()});async function Fe(){let e=V.value;if(q.value=[],!e){Pe();return}try{q.value=je(await de(`${e}.json`))}catch{q.value=[]}Pe()}let Ie=[{label:`Built-in text extraction`,value:`unpdf`},{label:`MinerU command`,value:`mineru`},{label:`MarkItDown command`,value:`markitdown`}];async function Le(){o.value=!0;try{let e=await pe();d.value=e.provider.baseURL,f.value=e.provider.apiKey,p.value=e.provider.timeout??300,m.value=e.provider.models??[],g.value=e.prompt.systemTemplate,b.value=e.prompt.userTemplate,x.value=e.pdf?.converter??`unpdf`,S.value=e.pdf?.mineru?.command??`mineru`,ie.value=(e.pdf?.mineru?.args??[`-p`,`{input}`,`-o`,`{outputDir}`]).join(`
|
|
340
|
+
`),oe.value=e.pdf?.mineru?.timeout??600,D.value=e.pdf?.mineru?.fallbackToUnpdf??!0,k.value=e.pdf?.mineru?.keepOutput??!0,A.value=e.pdf?.markitdown?.command??`markitdown`,se.value=(e.pdf?.markitdown?.args??[`{input}`,`-o`,`{outputDir}/{basename}.md`]).join(`
|
|
341
|
+
`),j.value=e.pdf?.markitdown?.outputFile??`{outputDir}/{basename}.md`,ue.value=e.pdf?.markitdown?.timeout??600,N.value=e.pdf?.markitdown?.fallbackToUnpdf??!0,P.value=e.pdf?.markitdown?.keepOutput??!0,F.value=!!e.langfuse,L.value=e.langfuse?.publicKey??``,_e.value=e.langfuse?.secretKey??``,ve.value=e.langfuse?.host??``,R.value=!!e.notion?.enabled,z.value=e.notion?.token??``,B.value=e.notion?.schemas??{},await Fe()}catch{f.value=``,m.value=[],g.value=mn,b.value=hn}finally{o.value=!1}}async function Re(){if(ke.value){u.value=!0;try{Ne(),await me({provider:{baseURL:d.value,apiKey:f.value,timeout:p.value,models:m.value},prompt:{systemTemplate:g.value,userTemplate:b.value},extraction:{outputDir:`.aiex/extracted`},pdf:{converter:x.value,mineru:{command:S.value,args:ie.value.split(`
|
|
342
|
+
`).map(e=>e.trim()).filter(Boolean),timeout:oe.value,fallbackToUnpdf:D.value,keepOutput:k.value||void 0},markitdown:{command:A.value,args:se.value.split(`
|
|
343
|
+
`).map(e=>e.trim()).filter(Boolean),outputFile:j.value.trim()||void 0,timeout:ue.value,fallbackToUnpdf:N.value,keepOutput:P.value||void 0}},langfuse:F.value?{publicKey:L.value,secretKey:_e.value,host:ve.value||void 0}:void 0,notion:{enabled:R.value,token:z.value,schemas:B.value}}),a.value=!1}catch(e){M.error(e.message||`Failed to save`)}finally{u.value=!1}}}async function ze(){if(!V.value){M.error(`Select a schema first`);return}if(!z.value.trim()){M.error(`Enter a Notion integration token`);return}if(!H.value.trim()){M.error(`Enter a Notion database or data source URL/ID`);return}if(Q.value){M.error(Q.value);return}G.value=!0;try{let e=await he({token:z.value,databaseId:H.value,schemaName:V.value});(e.dataSourceId||e.databaseId)&&(H.value=e.dataSourceId??e.databaseId??``),!U.value&&e.titleProperty&&(U.value=e.titleProperty);let t=Ae()??{},n={...e.suggestedFieldMap??{},...t};W.value=Object.keys(n).length>0?JSON.stringify(n,null,2):``,K.value=e.properties??[],Ne(),M.success(`Connected to Notion (${K.value.length} properties)`)}catch(e){M.error(e instanceof Error?e.message:`Notion connection failed`)}finally{G.value=!1}}return ee(()=>{Le()}),te(()=>{}),(n,r)=>(e(),_(y(ce),{visible:a.value,"onUpdate:visible":r[32]||=e=>a.value=e,modal:``,header:`AI Settings`,style:{width:`680px`},draggable:!1},{footer:ae(()=>[v(`div`,pn,[l(y(T),{label:`Cancel`,severity:`secondary`,text:``,onClick:r[31]||=e=>a.value=!1}),l(y(T),{label:`Save`,icon:`pi pi-check`,loading:u.value,disabled:!ke.value,onClick:Re},null,8,[`loading`,`disabled`])])]),default:ae(()=>[o.value?(e(),E(`div`,pt,[...r[33]||=[v(`i`,{class:`pi pi-spin pi-spinner text-xl`},null,-1)]])):(e(),E(`div`,mt,[v(`section`,null,[r[37]||=v(`h3`,{class:`text-sm font-semibold mb-3 text-foreground`},` Provider `,-1),v(`div`,ht,[v(`div`,gt,[r[34]||=v(`label`,{class:`text-xs text-muted-foreground`},`Base URL`,-1),l(y(I),{modelValue:d.value,"onUpdate:modelValue":r[0]||=e=>d.value=e,size:`small`,placeholder:`https://dashscope.aliyuncs.com/compatible-mode/v1`},null,8,[`modelValue`])]),v(`div`,_t,[r[35]||=v(`label`,{class:`text-xs text-muted-foreground`},`API Key`,-1),l(y(Je),{modelValue:f.value,"onUpdate:modelValue":r[1]||=e=>f.value=e,feedback:!1,"toggle-mask":``,size:`small`,placeholder:`sk-xxx`,"input-class":`w-full`},null,8,[`modelValue`])]),v(`div`,vt,[r[36]||=v(`label`,{class:`text-xs text-muted-foreground`},`Timeout (seconds)`,-1),l(y(I),{value:String(p.value),type:`number`,size:`small`,placeholder:`300`,min:1,onInput:r[2]||=e=>p.value=Number(e.target.value)||300},null,8,[`value`])])])]),v(`section`,null,[r[39]||=v(`h3`,{class:`text-sm font-semibold mb-3 text-foreground`},` Models `,-1),v(`div`,yt,[(e(!0),E(ne,null,t(m.value,(t,n)=>(e(),E(`div`,{key:n,class:`flex items-center gap-2 px-3 py-2 rounded border border-border bg-card`},[v(`code`,bt,i(t.name),1),v(`span`,{class:s([`inline-flex items-center gap-1 text-xs px-1.5 py-0.5 rounded`,t.capabilities.structuredOutput?`bg-green-500/10 text-green-600`:`bg-yellow-500/10 text-yellow-600`])},[v(`i`,{class:s([t.capabilities.structuredOutput?`pi pi-check-circle`:`pi pi-exclamation-triangle`,`text-[10px]`])},null,2),O(` `+i(t.capabilities.structuredOutput?`Structured Output`:`Text-only Output`),1)],2),v(`span`,{class:s([`inline-flex items-center gap-1 text-xs px-1.5 py-0.5 rounded`,t.capabilities.vision?`bg-green-500/10 text-green-600`:`bg-red-500/10 text-red-600`])},[v(`i`,{class:s([t.capabilities.vision?`pi pi-check-circle`:`pi pi-times-circle`,`text-[10px]`])},null,2),O(` `+i(t.capabilities.vision?`Vision Supported`:`Vision Unsupported`),1)],2),l(y(T),{icon:`pi pi-times`,severity:`danger`,text:``,size:`small`,onClick:e=>Te(n)},null,8,[`onClick`])]))),128)),ye.value?(e(),E(`div`,xt,[v(`div`,St,[l(y(I),{modelValue:J.value,"onUpdate:modelValue":r[3]||=e=>J.value=e,size:`small`,placeholder:`Model name (e.g. gpt-4o)`,class:`flex-1 font-mono`,onInput:xe,onKeyup:le(Se,[`enter`])},null,8,[`modelValue`]),l(y(T),{icon:`pi pi-check`,severity:`success`,text:``,size:`small`,disabled:!J.value,onClick:Se},null,8,[`disabled`]),l(y(T),{icon:`pi pi-times`,severity:`secondary`,text:``,size:`small`,onClick:Ce})]),v(`div`,Ct,[v(`label`,wt,[l(y(X),{modelValue:Y.value.structuredOutput,"onUpdate:modelValue":r[4]||=e=>Y.value.structuredOutput=e,binary:!0,"input-id":`add-so`},null,8,[`modelValue`]),v(`span`,{class:s(Y.value.structuredOutput?`text-green-600`:`text-muted-foreground`)},` Structured Output `,2)]),v(`label`,Tt,[l(y(X),{modelValue:Y.value.vision,"onUpdate:modelValue":r[5]||=e=>Y.value.vision=e,binary:!0,"input-id":`add-vision`},null,8,[`modelValue`]),v(`span`,{class:s(Y.value.vision?`text-green-600`:`text-muted-foreground`)},` Vision `,2)]),be.value===`registry`?(e(),E(`span`,Et,[...r[38]||=[v(`i`,{class:`pi pi-database mr-0.5`},null,-1),O(`Registry `,-1)]])):h(``,!0)])])):(e(),_(y(T),{key:1,label:`Add Model`,icon:`pi pi-plus`,severity:`secondary`,text:``,size:`small`,onClick:r[6]||=e=>ye.value=!0}))])]),v(`section`,null,[r[54]||=v(`h3`,{class:`text-sm font-semibold mb-3 text-foreground`},` PDF Conversion `,-1),v(`div`,Dt,[v(`div`,Ot,[r[40]||=v(`label`,{class:`text-xs text-muted-foreground`},`Converter`,-1),l(y(ge),{modelValue:x.value,"onUpdate:modelValue":r[7]||=e=>x.value=e,options:Ie,"option-label":`label`,"option-value":`value`,size:`small`},null,8,[`modelValue`])]),x.value===`mineru`?(e(),E(`div`,kt,[v(`div`,At,[r[41]||=v(`label`,{class:`text-xs text-muted-foreground`},`Command`,-1),l(y(I),{modelValue:S.value,"onUpdate:modelValue":r[8]||=e=>S.value=e,size:`small`,placeholder:`mineru`},null,8,[`modelValue`])]),v(`div`,jt,[r[42]||=v(`label`,{class:`text-xs text-muted-foreground`},`Arguments`,-1),l(y($),{modelValue:ie.value,"onUpdate:modelValue":r[9]||=e=>ie.value=e,rows:`4`,"auto-resize":``,class:`text-xs font-mono`},null,8,[`modelValue`])]),v(`div`,Mt,[r[43]||=v(`label`,{class:`text-xs text-muted-foreground`},`Timeout (seconds)`,-1),l(y(I),{value:String(oe.value),type:`number`,size:`small`,placeholder:`600`,min:1,onInput:r[10]||=e=>oe.value=Number(e.target.value)||600},null,8,[`value`])]),v(`div`,Nt,[l(y(X),{modelValue:D.value,"onUpdate:modelValue":r[11]||=e=>D.value=e,binary:!0,"input-id":`mineru-fallback`},null,8,[`modelValue`]),r[44]||=v(`label`,{for:`mineru-fallback`,class:`text-sm cursor-pointer`},`Fallback to built-in converter`,-1)]),v(`div`,Pt,[l(y(X),{modelValue:k.value,"onUpdate:modelValue":r[12]||=e=>k.value=e,binary:!0,"input-id":`mineru-keep-output`},null,8,[`modelValue`]),r[45]||=v(`label`,{for:`mineru-keep-output`,class:`text-sm cursor-pointer`},`Keep converted files on disk`,-1)]),r[46]||=v(`div`,{class:`text-xs text-muted-foreground p-2 rounded border border-border`},[O(` Placeholders: `),v(`code`,{class:`bg-secondary px-1 rounded`},`{input}`),O(`, `),v(`code`,{class:`bg-secondary px-1 rounded`},`{outputDir}`),O(`, `),v(`code`,{class:`bg-secondary px-1 rounded`},`{basename}`)],-1)])):h(``,!0),x.value===`markitdown`?(e(),E(`div`,Ft,[v(`div`,It,[r[47]||=v(`label`,{class:`text-xs text-muted-foreground`},`Command`,-1),l(y(I),{modelValue:A.value,"onUpdate:modelValue":r[13]||=e=>A.value=e,size:`small`,placeholder:`markitdown`},null,8,[`modelValue`])]),v(`div`,Lt,[r[48]||=v(`label`,{class:`text-xs text-muted-foreground`},`Arguments`,-1),l(y($),{modelValue:se.value,"onUpdate:modelValue":r[14]||=e=>se.value=e,rows:`4`,"auto-resize":``,class:`text-xs font-mono`},null,8,[`modelValue`])]),v(`div`,Rt,[r[49]||=v(`label`,{class:`text-xs text-muted-foreground`},`Output File`,-1),l(y(I),{modelValue:j.value,"onUpdate:modelValue":r[15]||=e=>j.value=e,size:`small`,class:`text-xs font-mono`,placeholder:`{outputDir}/{basename}.md`},null,8,[`modelValue`])]),v(`div`,zt,[r[50]||=v(`label`,{class:`text-xs text-muted-foreground`},`Timeout (seconds)`,-1),l(y(I),{value:String(ue.value),type:`number`,size:`small`,placeholder:`600`,min:1,onInput:r[16]||=e=>ue.value=Number(e.target.value)||600},null,8,[`value`])]),v(`div`,Bt,[l(y(X),{modelValue:N.value,"onUpdate:modelValue":r[17]||=e=>N.value=e,binary:!0,"input-id":`markitdown-fallback`},null,8,[`modelValue`]),r[51]||=v(`label`,{for:`markitdown-fallback`,class:`text-sm cursor-pointer`},`Fallback to built-in converter`,-1)]),v(`div`,Vt,[l(y(X),{modelValue:P.value,"onUpdate:modelValue":r[18]||=e=>P.value=e,binary:!0,"input-id":`markitdown-keep-output`},null,8,[`modelValue`]),r[52]||=v(`label`,{for:`markitdown-keep-output`,class:`text-sm cursor-pointer`},`Keep converted files on disk`,-1)]),r[53]||=v(`div`,{class:`text-xs text-muted-foreground p-2 rounded border border-border`},[O(` Placeholders: `),v(`code`,{class:`bg-secondary px-1 rounded`},`{input}`),O(`, `),v(`code`,{class:`bg-secondary px-1 rounded`},`{outputDir}`),O(`, `),v(`code`,{class:`bg-secondary px-1 rounded`},`{basename}`)],-1)])):h(``,!0)])]),v(`section`,null,[r[59]||=v(`h3`,{class:`text-sm font-semibold mb-3 text-foreground`},` Langfuse Tracing `,-1),v(`div`,Ht,[v(`div`,Ut,[l(y(X),{modelValue:F.value,"onUpdate:modelValue":r[19]||=e=>F.value=e,binary:!0,"input-id":`lf-enabled`},null,8,[`modelValue`]),r[55]||=v(`label`,{for:`lf-enabled`,class:`text-sm cursor-pointer`},`Enabled`,-1)]),F.value?(e(),E(`div`,Wt,[v(`div`,Gt,[r[56]||=v(`label`,{class:`text-xs text-muted-foreground`},`Secret Key`,-1),l(y(Je),{modelValue:_e.value,"onUpdate:modelValue":r[20]||=e=>_e.value=e,feedback:!1,"toggle-mask":``,size:`small`,placeholder:`sk-lf-...`,"input-class":`w-full`},null,8,[`modelValue`])]),v(`div`,Kt,[r[57]||=v(`label`,{class:`text-xs text-muted-foreground`},`Public Key`,-1),l(y(I),{modelValue:L.value,"onUpdate:modelValue":r[21]||=e=>L.value=e,size:`small`,placeholder:`pk-lf-...`},null,8,[`modelValue`])]),v(`div`,qt,[r[58]||=v(`label`,{class:`text-xs text-muted-foreground`},`Host (optional)`,-1),l(y(I),{modelValue:ve.value,"onUpdate:modelValue":r[22]||=e=>ve.value=e,size:`small`,placeholder:`https://us.cloud.langfuse.com`},null,8,[`modelValue`])])])):h(``,!0)])]),v(`section`,null,[r[67]||=v(`h3`,{class:`text-sm font-semibold mb-3 text-foreground`},` Notion Export `,-1),v(`div`,Jt,[v(`div`,Yt,[l(y(X),{modelValue:R.value,"onUpdate:modelValue":r[23]||=e=>R.value=e,binary:!0,"input-id":`notion-enabled`},null,8,[`modelValue`]),r[60]||=v(`label`,{for:`notion-enabled`,class:`text-sm cursor-pointer`},`Enabled`,-1)]),v(`div`,Xt,[v(`div`,Zt,[r[61]||=v(`label`,{class:`text-xs text-muted-foreground`},`Integration Token`,-1),l(y(Je),{modelValue:z.value,"onUpdate:modelValue":r[24]||=e=>z.value=e,feedback:!1,"toggle-mask":``,size:`small`,placeholder:`secret_...`,"input-class":`w-full`},null,8,[`modelValue`])]),v(`div`,Qt,[r[62]||=v(`label`,{class:`text-xs text-muted-foreground`},`Schema Binding`,-1),l(y(ge),{modelValue:V.value,"onUpdate:modelValue":r[25]||=e=>V.value=e,options:Z.value,size:`small`,placeholder:`Select a schema`,disabled:Z.value.length===0},null,8,[`modelValue`,`options`,`disabled`])]),v(`div`,$t,[r[63]||=v(`label`,{class:`text-xs text-muted-foreground`},`Database/Data Source URL or ID`,-1),l(y(I),{modelValue:H.value,"onUpdate:modelValue":r[26]||=e=>H.value=e,size:`small`,placeholder:`https://www.notion.so/... or xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`},null,8,[`modelValue`])]),v(`div`,en,[r[64]||=v(`label`,{class:`text-xs text-muted-foreground`},`Title Property (optional)`,-1),l(y(I),{modelValue:U.value,"onUpdate:modelValue":r[27]||=e=>U.value=e,size:`small`,placeholder:`Name`},null,8,[`modelValue`])]),v(`div`,tn,[l(y(T),{label:`Test & Auto Map`,icon:`pi pi-bolt`,severity:`secondary`,size:`small`,loading:G.value,disabled:!V.value||!z.value.trim()||!H.value.trim()||!!Q.value,onClick:ze},null,8,[`loading`,`disabled`]),K.value.length>0?(e(),E(`span`,nn,i(K.value.length)+` properties loaded `,1)):h(``,!0)]),v(`div`,rn,[v(`div`,an,[r[65]||=v(`label`,{class:`text-xs text-muted-foreground`},`Field Map JSON (optional)`,-1),q.value.length>0?(e(),E(`span`,on,i(Oe.value)+` / `+i(q.value.length)+` mapped `,1)):h(``,!0)]),l(y($),{modelValue:W.value,"onUpdate:modelValue":r[28]||=e=>W.value=e,rows:`5`,"auto-resize":``,class:`text-xs font-mono`,placeholder:`{
|
|
344
|
+
"invoiceNo": "Invoice No",
|
|
345
|
+
"issuedAt": "Issued At"
|
|
346
|
+
}`},null,8,[`modelValue`]),Q.value?(e(),E(`p`,sn,i(Q.value),1)):h(``,!0)]),r[66]||=v(`div`,{class:`text-xs text-muted-foreground p-2 rounded border border-border`},[O(` Selecting a schema fills the left-side keys. Nested objects use dot paths such as `),v(`code`,{class:`bg-secondary px-1 rounded`},`student.name`),O(`. Object arrays are skipped; model them as separate Notion data sources later if needed. `)],-1)])])]),v(`section`,null,[r[71]||=v(`h3`,{class:`text-sm font-semibold mb-3 text-foreground`},` Prompt Templates `,-1),v(`div`,cn,[v(`div`,ln,[r[68]||=v(`label`,{class:`text-xs text-muted-foreground`},`System Prompt`,-1),l(y($),{modelValue:g.value,"onUpdate:modelValue":r[29]||=e=>g.value=e,rows:`6`,"auto-resize":``,class:`text-xs font-mono`},null,8,[`modelValue`]),Ee.value?(e(),E(`p`,un,i(Ee.value),1)):h(``,!0)]),v(`div`,dn,[r[69]||=v(`label`,{class:`text-xs text-muted-foreground`},`User Prompt`,-1),l(y($),{modelValue:b.value,"onUpdate:modelValue":r[30]||=e=>b.value=e,rows:`6`,"auto-resize":``,class:`text-xs font-mono`},null,8,[`modelValue`]),De.value?(e(),E(`p`,fn,i(De.value),1)):h(``,!0)]),r[70]||=v(`div`,{class:`text-xs text-muted-foreground p-2 rounded border border-border`},[O(` Placeholders: `),v(`code`,{class:`bg-secondary px-1 rounded`},`{schema}`),O(` JSON Schema structure description, `),v(`code`,{class:`bg-secondary px-1 rounded`},`{text}`),O(` text to extract from `)],-1)])])]))]),_:1},8,[`visible`]))}});export{gn as default};
|