@innspel/core 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/dist/index.cjs +28 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +22 -4
- package/dist/index.d.ts +22 -4
- package/dist/index.js +28 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -353,11 +353,17 @@ interface InnspelOptions {
|
|
|
353
353
|
/** Tidsavbrudd per kall i millisekunder. Standard 10 000 (wireframe 2i). */
|
|
354
354
|
timeoutMs?: number;
|
|
355
355
|
}
|
|
356
|
-
/**
|
|
356
|
+
/**
|
|
357
|
+
* Leietakerens innstillinger slik klienten kjenner dem. Starter som opsjonene fra
|
|
358
|
+
* `init()` (strammest mulig uten dem), og oppdateres av `loadSettings()` fra
|
|
359
|
+
* `GET /v1/ingest/config` (M2.5) — samme objekt, så en holdt referanse følger med.
|
|
360
|
+
*/
|
|
357
361
|
interface ResolvedSettings {
|
|
358
362
|
textMaxLength: TextMaxLength;
|
|
359
363
|
minTextLength: number;
|
|
360
364
|
screenshotsEnabled: boolean;
|
|
365
|
+
/** Leietakerens personvernerklæring — «hva samles inn». Finnes først etter `loadSettings()`. */
|
|
366
|
+
privacyUrl?: string;
|
|
361
367
|
}
|
|
362
368
|
/**
|
|
363
369
|
* Bildet slik verten gir det fra seg — Blob (React Native og nettleser),
|
|
@@ -400,7 +406,11 @@ interface CaptureBase {
|
|
|
400
406
|
* og kan feile alene (DD-42) — se `CaptureResult.attachment`.
|
|
401
407
|
*/
|
|
402
408
|
attachment?: AttachmentInput;
|
|
403
|
-
/**
|
|
409
|
+
/**
|
|
410
|
+
* Legges på konteksten fra `init` — typisk `screen`. Et felt satt til
|
|
411
|
+
* `undefined` FJERNES fra innsendingen (DD-05, «Fjern» i kontekstlinja); et
|
|
412
|
+
* felt som ikke nevnes, beholdes fra `init`.
|
|
413
|
+
*/
|
|
404
414
|
context?: Partial<ContextInput>;
|
|
405
415
|
/**
|
|
406
416
|
* Idempotensnøkkel for offline-køen. Settes av kjernen hvis den utelates:
|
|
@@ -496,12 +506,20 @@ interface InnspelClient {
|
|
|
496
506
|
readonly version: string;
|
|
497
507
|
/** `true` når `identityProvider` er `null` — innsendinger kan ikke følges opp. */
|
|
498
508
|
readonly isAnonymous: boolean;
|
|
499
|
-
/** Leietakerens grenser slik klienten kjenner dem. */
|
|
509
|
+
/** Leietakerens grenser slik klienten kjenner dem. Oppdateres på plass av {@link loadSettings}. */
|
|
500
510
|
readonly settings: ResolvedSettings;
|
|
501
511
|
/** Konteksten som følger hver innsending, med `sdkVersion` satt av kjernen. */
|
|
502
512
|
readonly context: ContextInput & {
|
|
503
513
|
sdkVersion: string;
|
|
504
514
|
};
|
|
515
|
+
/**
|
|
516
|
+
* Henter leietakerens klientkonfigurasjon (`GET /v1/ingest/config`, M2.5): tegngrense,
|
|
517
|
+
* minste antall tegn, skjermbilde og personvernlenke — det verten ellers måtte
|
|
518
|
+
* duplisere i `init()`. Kalles av widgeten ved åpning, aldri ved oppstart (DD-41).
|
|
519
|
+
* Svarer ikke kallet, beholdes det klienten alt har: konfigurasjonen er et tilbud,
|
|
520
|
+
* aldri en sperre. Returnerer `settings` — samme objekt, oppdatert.
|
|
521
|
+
*/
|
|
522
|
+
loadSettings(): Promise<ResolvedSettings>;
|
|
505
523
|
capture(input: CaptureInput): Promise<CaptureResult>;
|
|
506
524
|
readonly knownIssues: {
|
|
507
525
|
/** Kortene som vises FØR feltet i feilsporet (DD-03). Feiler oppslaget, er lista tom. */
|
|
@@ -724,6 +742,6 @@ declare function dekkerAlt(rekter: readonly MaskRect[], bilde: {
|
|
|
724
742
|
* ikke kan lese JSON, og `test/versjon.test.ts` holder den i takt med
|
|
725
743
|
* `package.json`.
|
|
726
744
|
*/
|
|
727
|
-
declare const VERSJON = "0.
|
|
745
|
+
declare const VERSJON = "0.3.0";
|
|
728
746
|
|
|
729
747
|
export { type AttachmentBody, type AttachmentInput, type SubmissionsAttachmentMime as AttachmentMime, type AttachmentOutcome, type SubmissionsAttachmentView as AttachmentView, type CaptureFeil, type CaptureInput, type CaptureOnske, type CaptureResult, type ContextInput, type CommonCorrelation as Correlation, type CommonErrorCode as ErrorCode, type FlushResult, type IdentityProvider, InnspelApiError, type InnspelClient, InnspelConfigError, type InnspelOptions, InnspelQueueFullError, type InnspelStorage, KONTEKST_FELTER, KO_TAK, type KnownIssuesKnownIssueCard as KnownIssueCard, type KnownIssueQuery, type SubmissionsKnownIssueRef as KnownIssueRef, type KnownIssuesKnownIssueStatus as KnownIssueStatus, type MaskPoint, type MaskRect, type ProgramsMyPrograms as MyPrograms, type MySubmission, type OpenFeedbackOptions, type PatternFinding, type PatternKind, type CommonPlatform as Platform, type Presenter, type QueuedSubmission, type SubmissionsReasonCode as ReasonCode, type SubmissionsReplyView as ReplyView, type ResolvedSettings, type SubmissionsStatusType as StatusType, type SubmissionsSubmissionStatus as SubmissionStatus, type SubmissionsSubmissionStatusView as SubmissionStatusView, type SubmissionsSubmissionType as SubmissionType, TILLATTE_MIME, type Telemetry, type TelemetryEvent, type TextMaxLength, VEDLEGG_GRENSER, VERSJON, dekkerAlt, init, klipp, scanText, skaler, strokTilRekter, treffer, trykkTilRekt };
|
package/dist/index.d.ts
CHANGED
|
@@ -353,11 +353,17 @@ interface InnspelOptions {
|
|
|
353
353
|
/** Tidsavbrudd per kall i millisekunder. Standard 10 000 (wireframe 2i). */
|
|
354
354
|
timeoutMs?: number;
|
|
355
355
|
}
|
|
356
|
-
/**
|
|
356
|
+
/**
|
|
357
|
+
* Leietakerens innstillinger slik klienten kjenner dem. Starter som opsjonene fra
|
|
358
|
+
* `init()` (strammest mulig uten dem), og oppdateres av `loadSettings()` fra
|
|
359
|
+
* `GET /v1/ingest/config` (M2.5) — samme objekt, så en holdt referanse følger med.
|
|
360
|
+
*/
|
|
357
361
|
interface ResolvedSettings {
|
|
358
362
|
textMaxLength: TextMaxLength;
|
|
359
363
|
minTextLength: number;
|
|
360
364
|
screenshotsEnabled: boolean;
|
|
365
|
+
/** Leietakerens personvernerklæring — «hva samles inn». Finnes først etter `loadSettings()`. */
|
|
366
|
+
privacyUrl?: string;
|
|
361
367
|
}
|
|
362
368
|
/**
|
|
363
369
|
* Bildet slik verten gir det fra seg — Blob (React Native og nettleser),
|
|
@@ -400,7 +406,11 @@ interface CaptureBase {
|
|
|
400
406
|
* og kan feile alene (DD-42) — se `CaptureResult.attachment`.
|
|
401
407
|
*/
|
|
402
408
|
attachment?: AttachmentInput;
|
|
403
|
-
/**
|
|
409
|
+
/**
|
|
410
|
+
* Legges på konteksten fra `init` — typisk `screen`. Et felt satt til
|
|
411
|
+
* `undefined` FJERNES fra innsendingen (DD-05, «Fjern» i kontekstlinja); et
|
|
412
|
+
* felt som ikke nevnes, beholdes fra `init`.
|
|
413
|
+
*/
|
|
404
414
|
context?: Partial<ContextInput>;
|
|
405
415
|
/**
|
|
406
416
|
* Idempotensnøkkel for offline-køen. Settes av kjernen hvis den utelates:
|
|
@@ -496,12 +506,20 @@ interface InnspelClient {
|
|
|
496
506
|
readonly version: string;
|
|
497
507
|
/** `true` når `identityProvider` er `null` — innsendinger kan ikke følges opp. */
|
|
498
508
|
readonly isAnonymous: boolean;
|
|
499
|
-
/** Leietakerens grenser slik klienten kjenner dem. */
|
|
509
|
+
/** Leietakerens grenser slik klienten kjenner dem. Oppdateres på plass av {@link loadSettings}. */
|
|
500
510
|
readonly settings: ResolvedSettings;
|
|
501
511
|
/** Konteksten som følger hver innsending, med `sdkVersion` satt av kjernen. */
|
|
502
512
|
readonly context: ContextInput & {
|
|
503
513
|
sdkVersion: string;
|
|
504
514
|
};
|
|
515
|
+
/**
|
|
516
|
+
* Henter leietakerens klientkonfigurasjon (`GET /v1/ingest/config`, M2.5): tegngrense,
|
|
517
|
+
* minste antall tegn, skjermbilde og personvernlenke — det verten ellers måtte
|
|
518
|
+
* duplisere i `init()`. Kalles av widgeten ved åpning, aldri ved oppstart (DD-41).
|
|
519
|
+
* Svarer ikke kallet, beholdes det klienten alt har: konfigurasjonen er et tilbud,
|
|
520
|
+
* aldri en sperre. Returnerer `settings` — samme objekt, oppdatert.
|
|
521
|
+
*/
|
|
522
|
+
loadSettings(): Promise<ResolvedSettings>;
|
|
505
523
|
capture(input: CaptureInput): Promise<CaptureResult>;
|
|
506
524
|
readonly knownIssues: {
|
|
507
525
|
/** Kortene som vises FØR feltet i feilsporet (DD-03). Feiler oppslaget, er lista tom. */
|
|
@@ -724,6 +742,6 @@ declare function dekkerAlt(rekter: readonly MaskRect[], bilde: {
|
|
|
724
742
|
* ikke kan lese JSON, og `test/versjon.test.ts` holder den i takt med
|
|
725
743
|
* `package.json`.
|
|
726
744
|
*/
|
|
727
|
-
declare const VERSJON = "0.
|
|
745
|
+
declare const VERSJON = "0.3.0";
|
|
728
746
|
|
|
729
747
|
export { type AttachmentBody, type AttachmentInput, type SubmissionsAttachmentMime as AttachmentMime, type AttachmentOutcome, type SubmissionsAttachmentView as AttachmentView, type CaptureFeil, type CaptureInput, type CaptureOnske, type CaptureResult, type ContextInput, type CommonCorrelation as Correlation, type CommonErrorCode as ErrorCode, type FlushResult, type IdentityProvider, InnspelApiError, type InnspelClient, InnspelConfigError, type InnspelOptions, InnspelQueueFullError, type InnspelStorage, KONTEKST_FELTER, KO_TAK, type KnownIssuesKnownIssueCard as KnownIssueCard, type KnownIssueQuery, type SubmissionsKnownIssueRef as KnownIssueRef, type KnownIssuesKnownIssueStatus as KnownIssueStatus, type MaskPoint, type MaskRect, type ProgramsMyPrograms as MyPrograms, type MySubmission, type OpenFeedbackOptions, type PatternFinding, type PatternKind, type CommonPlatform as Platform, type Presenter, type QueuedSubmission, type SubmissionsReasonCode as ReasonCode, type SubmissionsReplyView as ReplyView, type ResolvedSettings, type SubmissionsStatusType as StatusType, type SubmissionsSubmissionStatus as SubmissionStatus, type SubmissionsSubmissionStatusView as SubmissionStatusView, type SubmissionsSubmissionType as SubmissionType, TILLATTE_MIME, type Telemetry, type TelemetryEvent, type TextMaxLength, VEDLEGG_GRENSER, VERSJON, dekkerAlt, init, klipp, scanText, skaler, strokTilRekter, treffer, trykkTilRekt };
|
package/dist/index.js
CHANGED
|
@@ -800,6 +800,15 @@ var attachmentsComplete = (options) => (options.client ?? client).post({
|
|
|
800
800
|
url: "/v1/ingest/attachments/{id}/complete",
|
|
801
801
|
...options
|
|
802
802
|
});
|
|
803
|
+
var configGet = (options) => (options?.client ?? client).get({
|
|
804
|
+
security: [{ name: "X-Innspel-Tenant-Key", type: "apiKey" }, {
|
|
805
|
+
key: "FeedbackTokenAuth",
|
|
806
|
+
scheme: "bearer",
|
|
807
|
+
type: "http"
|
|
808
|
+
}],
|
|
809
|
+
url: "/v1/ingest/config",
|
|
810
|
+
...options
|
|
811
|
+
});
|
|
803
812
|
var knownIssuesList2 = (options) => (options?.client ?? client).get({
|
|
804
813
|
security: [{ name: "X-Innspel-Tenant-Key", type: "apiKey" }, {
|
|
805
814
|
key: "FeedbackTokenAuth",
|
|
@@ -1041,8 +1050,8 @@ function validerKontekst(kontekst, sti, krevPlatform) {
|
|
|
1041
1050
|
function sl\u00E5SammenKontekst(base, p\u00E5Lagt, sdkVersion) {
|
|
1042
1051
|
const ut = {};
|
|
1043
1052
|
for (const felt of KONTEKST_FELTER) {
|
|
1044
|
-
const verdi = p\u00E5Lagt
|
|
1045
|
-
if (verdi !== void 0) ut[felt] = verdi;
|
|
1053
|
+
const verdi = p\u00E5Lagt && felt in p\u00E5Lagt ? p\u00E5Lagt[felt] : base[felt];
|
|
1054
|
+
if (verdi !== void 0 && verdi !== null) ut[felt] = verdi;
|
|
1046
1055
|
}
|
|
1047
1056
|
ut["sdkVersion"] = sdkVersion;
|
|
1048
1057
|
return ut;
|
|
@@ -1208,7 +1217,7 @@ async function lastOppTilLagring(fetchImpl, presign, body, signal) {
|
|
|
1208
1217
|
}
|
|
1209
1218
|
|
|
1210
1219
|
// src/versjon.ts
|
|
1211
|
-
var VERSJON = "0.
|
|
1220
|
+
var VERSJON = "0.3.0";
|
|
1212
1221
|
|
|
1213
1222
|
// src/klient.ts
|
|
1214
1223
|
var STANDARD_TIMEOUT_MS = 1e4;
|
|
@@ -1280,8 +1289,9 @@ function tilApiFeil(status, kropp, response) {
|
|
|
1280
1289
|
function init(options) {
|
|
1281
1290
|
validerOpsjoner(options);
|
|
1282
1291
|
const settings = {
|
|
1283
|
-
// Strammest mulig
|
|
1284
|
-
//
|
|
1292
|
+
// Strammest mulig til loadSettings() har svart: 140 / 10 / skjermbilde av er
|
|
1293
|
+
// verdiene ved minorsPresent (K18). Verten kan overstyre startverdiene, men
|
|
1294
|
+
// det leietakeren har satt i panelet vinner når konfigurasjonen er hentet.
|
|
1285
1295
|
textMaxLength: options.textMaxLength ?? 140,
|
|
1286
1296
|
minTextLength: options.minTextLength ?? 10,
|
|
1287
1297
|
screenshotsEnabled: options.screenshotsEnabled ?? false
|
|
@@ -1385,6 +1395,19 @@ function init(options) {
|
|
|
1385
1395
|
isAnonymous: anonym,
|
|
1386
1396
|
settings,
|
|
1387
1397
|
context: kontekst,
|
|
1398
|
+
async loadSettings() {
|
|
1399
|
+
try {
|
|
1400
|
+
const cfg = await medToken(
|
|
1401
|
+
(h) => configGet({ client: klient, headers: h, signal: signal() })
|
|
1402
|
+
);
|
|
1403
|
+
if (cfg?.textMaxLength === 140 || cfg?.textMaxLength === 280) settings.textMaxLength = cfg.textMaxLength;
|
|
1404
|
+
if (typeof cfg?.minTextLength === "number" && cfg.minTextLength >= 1) settings.minTextLength = cfg.minTextLength;
|
|
1405
|
+
if (typeof cfg?.screenshotsEnabled === "boolean") settings.screenshotsEnabled = cfg.screenshotsEnabled;
|
|
1406
|
+
if (typeof cfg?.privacyUrl === "string" && cfg.privacyUrl) settings.privacyUrl = cfg.privacyUrl;
|
|
1407
|
+
} catch {
|
|
1408
|
+
}
|
|
1409
|
+
return settings;
|
|
1410
|
+
},
|
|
1388
1411
|
async capture(input) {
|
|
1389
1412
|
const tekst = input.text ?? "";
|
|
1390
1413
|
if (tekst.length < settings.minTextLength) {
|