@drdoc-com/pi-drdoc 1.0.4 → 1.0.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.
Files changed (3) hide show
  1. package/README.md +16 -10
  2. package/package.json +1 -1
  3. package/src/tools.ts +19 -17
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
- # Pi Plugin for Dr.DOC DMS
1
+ # Pi Package for Dr.DOC® ECM/DMS
2
2
 
3
- An integration plugin Package for the **Pi Agent** (`pi.dev`) ecosystem to interact seamlessly with the [**Dr.DOC Document Management System** \(DMS/ECM\)](https://drdoc.com/node/de/products/web).
3
+ An integration package/plugin/extension for the **Pi Agent** (`pi.dev`) ecosystem to interact seamlessly with the [**Dr.DOC® Document Management System** \(ECM/DMS\)](https://drdoc.com/node/de/products/web).
4
4
 
5
- This plugin allows the Pi Agent to query Dr.DOC archives, fetch document blobs, store files locally, generate direct web links, and display inline document previews.
5
+ This extension package allows the Pi Agent to query Dr.DOC archives, fetch document blobs, store files locally, generate direct web links, and display inline document previews.
6
6
 
7
7
  ---
8
8
 
@@ -11,14 +11,18 @@ This plugin allows the Pi Agent to query Dr.DOC archives, fetch document blobs,
11
11
  The integration between Pi Agent and Dr.DOC is split into two primary operational directions:
12
12
 
13
13
  ### 1. Pi → Dr.DOC (This Plugin)
14
- This plugin enables the **Pi Agent** to make outgoing API calls to **Dr.DOC**. The agent uses these tool functions to search archives, retrieve documents, save them locally, and process binary/image data.
14
+ *This* plugin enables the **Pi Agent** to make outgoing API calls to **Dr.DOC**. The agent uses these tool functions to search archives, retrieve documents, save them locally, and process binary/image data.
15
+
16
+ * **GitHub Repository:** [github.com/drdoc-com/pi-drdoc](https://github.com/drdoc-com/pi-drdoc)
17
+ * **npm Package:** [npmjs.com/package/@drdoc-com/pi-drdoc](https://www.npmjs.com/package/@drdoc-com/pi-drdoc)
18
+ * **Pi Package Registry:** [pi.dev/packages/@drdoc-com/pi-drdoc](https://pi.dev/packages/@drdoc-com/pi-drdoc)
15
19
 
16
20
  ### 2. Dr.DOC → Pi (OpenAI API Wrapper)
17
21
  To allow **Dr.DOC** (or external tools) to send requests to Pi using the standard OpenAI API format, the `@drdoc-com/pi-openai-api-wrapper` package can be used.
18
22
 
19
23
  * **GitHub Repository:** [github.com/drdoc-com/pi-openai-api-wrapper](https://github.com/drdoc-com/pi-openai-api-wrapper)
20
- * **Pi Package Registry:** [pi.dev/packages/@drdoc-com/pi-openai-api-wrapper](https://pi.dev/packages/@drdoc-com/pi-openai-api-wrapper)
21
24
  * **npm Package:** [npmjs.com/package/@drdoc-com/pi-openai-api-wrapper](https://www.npmjs.com/package/@drdoc-com/pi-openai-api-wrapper)
25
+ * **Pi Package Registry:** [pi.dev/packages/@drdoc-com/pi-openai-api-wrapper](https://pi.dev/packages/@drdoc-com/pi-openai-api-wrapper)
22
26
 
23
27
  ---
24
28
 
@@ -57,7 +61,7 @@ Format:
57
61
  ```
58
62
  Example:
59
63
  ```bash
60
- /drdoc_login https://drdoc.com demo password "" 1
64
+ /drdoc_login https://drdoc.com demo password 123456 1
61
65
  ```
62
66
 
63
67
  And signout/logout:
@@ -74,7 +78,7 @@ Suche im Dr.DOC Archiv "rec" alle Rechnungen von Firma Amazon aus diesem Jahr.
74
78
 
75
79
  ## Configuration
76
80
 
77
- The plugin utilizes configuration options supplied by the Dr.DOC client or environment variables.
81
+ The extension package utilizes configuration options supplied by the Dr.DOC client or environment variables.
78
82
 
79
83
  ### Environment Variables
80
84
 
@@ -83,9 +87,10 @@ The plugin utilizes configuration options supplied by the Dr.DOC client or envir
83
87
  | `DRDOC_BASE_URL` | Base URL of the Dr.DOC instance | `https://drdoc.com` |
84
88
  | `DRDOC_CONFIG_DIR` (alt. `PI_CONFIG_DIR`) | Custom directory for config files | `~/.pi/agent` |
85
89
  | `DRDOC_DOWNLOAD_DIR` | Custom directory for downloaded files | `~/.drdoc/downloads` |
86
- | `DRDOC_IGNORE_SSL` | Ignore TLS/SSL Errors (Set `NODE_TLS_REJECT_UNAUTHORIZED=0`) | `` |
90
+ | `DRDOC_IGNORE_SSL` | Ignore TLS/SSL Errors (Set `NODE_TLS_REJECT_UNAUTHORIZED=0`) | |
91
+ | `DRDOC_AI_FS_<ArchiveName>` | Dr.DOC *Archive specific* (upper-case) IMPORT_ASCII FieldSelection Name for Field Descriptions. | `DRDOC_AI_FS` |
87
92
  | `DRDOC_AI_FS` | Dr.DOC IMPORT_ASCII FieldSelection Name for Field Descriptions. | `STD_AI_INVOICE_IN`, `DD_FIELD_DESC`, `STD_FIELD_DESC` |
88
- | `DRDOC_DEBUG` | Enable Debugging | `` |
93
+ | `DRDOC_DEBUG` | Enable Debugging | |
89
94
 
90
95
  ---
91
96
 
@@ -100,7 +105,8 @@ The plugin utilizes configuration options supplied by the Dr.DOC client or envir
100
105
  ## License
101
106
 
102
107
  This project is licensed under the Apache License 2.0.
103
- Dr.DOC DMS is licensed is under proprietary License.
108
+
109
+ Dr.DOC® ECM/DMS is licensed is under proprietary License.
104
110
 
105
111
  ---
106
112
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drdoc-com/pi-drdoc",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "Dr.DOC DMS Integration Package for PI Agent",
5
5
  "type": "module",
6
6
  "license": "Apache License 2.0",
package/src/tools.ts CHANGED
@@ -16,7 +16,7 @@ export async function getClient(config: DrDocConfig = {} as DrDocConfig, force:
16
16
  clientInstance = new DrDocClient(config);
17
17
 
18
18
  // Verbindung testen
19
- if (await clientInstance.state()) {
19
+ if (!force && (await clientInstance.state())) {
20
20
  msgInfo('Bereits in Dr.DOC angemeldet. Die Session ist aktiv.');
21
21
  }
22
22
  else {
@@ -152,7 +152,7 @@ export const drdocTools = [
152
152
  if (process.env.DRDOC_DEBUG)
153
153
  msgLog('drdoc_properties_fields:', args);
154
154
  return safeExecuteClient(["archive"], args, async (client, safeArgs) => {
155
- const defNameArray = [process.env.DRDOC_AI_FS, 'STD_AI_INVOICE_IN', 'DD_FIELD_DESC', 'STD_FIELD_DESC'];
155
+ const defNameArray = [process.env['DRDOC_AI_FS_' + safeArgs.archive.toUpperCase()], process.env.DRDOC_AI_FS, 'STD_AI_INVOICE_IN', 'DD_FIELD_DESC', 'STD_FIELD_DESC'];
156
156
  for (let defName of defNameArray) {
157
157
  if (!defName)
158
158
  continue;
@@ -186,29 +186,31 @@ Suchoperatoren:
186
186
  - ! als logischer NOT Operator als Prefix, muss dem Suchbegriff vorangestellt werden.
187
187
  - !* für leere Felder
188
188
  - <-> für Datumsbereich, Zeitraum, Bereichssuche, Zahlenbereich; A<->B von A bis einschließlich B; Format für Datumsbereich: DD.MM.YYYY<->DD.MM.YYYY z.B. 01.07.2024<->31.07.2024.
189
- Beispiele für Suchoperatoren:
190
- - *TEXT* für trunkierte/Substring Suche nach TEXT (Feldwert enthält TEXT), MUSS zwingend bei unklaren/ungenauen/unspezifischen Eingaben verwendet werden!
191
- - !*TEXT* für Feldwert enthält TEXT nicht
192
- - !* für leeren, nicht gefüllte Feldwerte
193
- - !TEXT für alle Feldwerte, abgesehen von TEXT bzw. alles bis auf TEXT.
194
- - !A&B für exakte Suche nach B jedoch ohne A
195
- - "A|B" (Pippe) für exakte Suche nach A oder B
196
- - !*A*&*B* für Suche nach enthält (Substring) B aber enthält kein A
197
- - 01.01.2020<->31.12.2020 für Datumssuchbereichs-Suche (Bereichssuche) vom 01.01.2020 bis einschließlich 31.12.2020 (1 Jahr)
198
- - 01.07.2024<->31.07.2024 für Datumssuchbereichs-Suche (Bereichssuche) vom 01.07.2024 bis einschließlich 31.07.2024 für den Monat Juli 2024 (1 Monat)
199
189
  Datumsformat: DD.MM.YYYY
200
190
  Zahlenformat: 0.00
201
191
  Variablen:
202
- - %DY% Variable für Datumsbereich im aktuellen/diesen Jahr (wird z.B. zu: *.2021)
203
- - %DMY% Variable für Datumsbereich im aktuellen/diesen Monat (wird z.B. zu: *.01.2021)
204
- - %DWY% Variable für Datumsbereich in der aktuellen/diesen Woche (7 Tage)
192
+ - %DY% Variable für Datumsbereich im *aktuellen Jahr*
193
+ - %DMY% Variable für Datumsbereich im *aktuellen Monat*
194
+ - %DWY% Variable für Datumsbereich in der *aktuellen Woche* (7 Tage)
205
195
  - %B% Variable für angemeldeten Benutzer
206
196
  - %D% Variable für aktuelles Datum (heutiger Tag)
207
197
  - %D-1% Variable für gestriges Datum bzw. gestern
208
198
  - %D-2% Variable für vorgestern
209
199
  - %D+1% Variable für morgiges Datum bzw. morgen
210
200
  - %D+2% Variable für übermorgen
211
- Beispiel: Filter für alle Eingangsrechnungen im Zeitraum Juli 2024 (01.07.2024 bis einschließlich 31.07.2024) von Firma Amazon:
201
+ Beispiele:
202
+ - *TEXT* für trunkierte/Substring Suche nach TEXT (Feldwert enthält TEXT), MUSS zwingend bei unklaren/ungenauen/unspezifischen Eingaben verwendet werden!
203
+ - !*TEXT* für Feldwert enthält TEXT nicht
204
+ - !* für leeren, nicht gefüllte Feldwerte
205
+ - !TEXT für alle Feldwerte, abgesehen von TEXT bzw. alles bis auf TEXT.
206
+ - !A&B für exakte Suche nach B jedoch ohne A
207
+ - "A|B" (Pippe) für exakte Suche nach A oder B
208
+ - !*A*&*B* für Suche nach enthält (Substring) B aber enthält kein A
209
+ - 01.01.2020<->31.12.2020 für Datumssuchbereichs-Suche (Bereichssuche) vom 01.01.2020 bis einschließlich 31.12.2020 (1 Jahr)
210
+ - 01.07.2024<->31.07.2024 für Datumssuchbereichs-Suche (Bereichssuche) vom 01.07.2024 bis einschließlich 31.07.2024 für den Monat Juli 2024 (1 Monat)
211
+ - %DY% für Datumssuchbereichs-Suche (Bereichssuche) im aktuellen Jahr, z.B. vom 01.01.2020 bis einschließlich 31.12.2020 (1 Jahr)
212
+ - %DMY% für Datumssuchbereichs-Suche (Bereichssuche) im aktuellen Monat, z.B. vom 01.01.2020 bis einschließlich 31.01.2020 (1 Monat)
213
+ Text-Beispiel: Filter für alle Eingangsrechnungen im Zeitraum Juli 2024 (01.07.2024 bis einschließlich 31.07.2024) von Firma Amazon:
212
214
  { date: "01.07.2024<->31.07.2024", c_company: "*Amazon*", inout: "0", type: "Rechnung" }
213
215
  `,
214
216
  parameters: {
@@ -420,4 +422,4 @@ Datumsformat: DD.MM.YYYY
420
422
  });
421
423
  },
422
424
  },
423
- ];
425
+ ];